{"version":3,"file":"CalendlyAuto.Do030g28.mjs","names":["useState","useRef","useState","__esmMin","init_npm_react_18_3_1","init_ssg_sandbox_shims","window","_e","p","ce","de","init_framer_BWFVvmND","ControlType","addPropertyControls","agendas","el","BarreReservation","props","on","setOn","attente","maj","y","vh","bas","agendaVu","r","demander","theme","CSS","lien","versAgenda","proche","a","b","i","chemin","cible","texte","init_BarreReservation_1","init_jsx_runtime","preconnecter","href","link","pageApresReservation","redirection","compterReservation","w","CalendlyAuto","frameRef","height","setHeight","minHeight","src","setSrc","pret","setPret","boxRef","setProche","charger","ANCRE","onHash","gestes","timer","onGeste","g","io","entries","params","hideDetails","current","key","UTM_KEYS","value","calendar","onMessage","event","data","next","prev","remonter","SK_CSS","init_CalendlyAuto"],"sources":["https:/framerusercontent.com/modules/cGNCEPYNVKkBUHSxDTaJ/FZ7en9owbhz6qrAEL30j/BarreReservation_1.js","https:/framerusercontent.com/modules/5FZm1GyvOeoLHC8FDQoz/ZDSMJcGN9OuCiCX3lpwQ/CalendlyAuto.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Barre « Je réserve un audit gratuit » collée en bas de l'écran sur téléphone (refonte du 19 octobre 2026).\n// Cachée en haut de page (le bouton du haut est déjà là), quand un agenda est à l'écran et tout en bas.\n// Composant autonome (pas un override) : le rendu serveur et le rendu navigateur sont identiques,\n// donc aucun avertissement « server/client mismatch ».\n// 20 octobre 2026 : version claire (pages /audit) et option « agenda le plus proche » pour les pages\n// qui ont 2 agendas : le bouton descend (ou remonte) vers celui qui demande le moins de chemin.\nconst CSS=`\n.brz{position:relative;width:100%;box-sizing:border-box;padding:10px 14px 16px 14px;background:#172B12;box-shadow:0 -12px 30px rgba(0,0,0,.45),inset 0 1px 0 #355E2A;transform:translateY(150%);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),opacity .3s ease}\n.brz.clair{background:#FFFFFF;box-shadow:0 -10px 28px rgba(15,29,12,.10),inset 0 1px 0 rgba(15,29,12,.12)}\n.brz.on{transform:none;opacity:1;pointer-events:auto}\n.brz a{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;padding:14px 16px;border-radius:11px;background:#2EE203;color:#0F1D0C;font-family:'Hanken Grotesk',system-ui,sans-serif;font-weight:700;font-size:17px;line-height:1.2;letter-spacing:-0.02em;text-decoration:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.35);-webkit-tap-highlight-color:transparent}\n.brz a:active{opacity:.86}\n@media (prefers-reduced-motion:reduce){.brz{transition:none}}\n`;// Les agendas de la page : le composant CalendlyAuto porte data-agenda, et la section #prendre-rendez-vous de l'accueil.\n// On ne garde que ceux affichés sur l'écran en cours (Framer garde dans la page les calques des autres écrans).\nfunction agendas(){if(typeof document===\"undefined\")return[];const els=Array.from(document.querySelectorAll(\"[data-agenda], #prendre-rendez-vous\"));return els.filter(el=>el.isConnected&&el.getClientRects().length>0);}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export default function BarreReservation(props){const{lien=\"#prendre-rendez-vous\",texte=\"Je r\\xe9serve un audit gratuit\",theme=\"sombre\",versAgenda=false}=props;const[on,setOn]=useState(false);useEffect(()=>{if(typeof window===\"undefined\")return;let attente=0;const maj=()=>{attente=0;const y=window.scrollY;const vh=window.innerHeight;const bas=y+vh>document.documentElement.scrollHeight-380;const agendaVu=agendas().some(el=>{const r=el.getBoundingClientRect();return r.bottom>0&&r.top<vh;});setOn(y>560&&!agendaVu&&!bas);};const demander=()=>{if(!attente)attente=requestAnimationFrame(maj);};window.addEventListener(\"scroll\",demander,{passive:true});window.addEventListener(\"resize\",demander,{passive:true});maj();return()=>{window.removeEventListener(\"scroll\",demander);window.removeEventListener(\"resize\",demander);if(attente)cancelAnimationFrame(attente);};},[]);const clic=e=>{if(typeof window===\"undefined\")return;if(versAgenda){// L'agenda qui demande le moins de chemin, avec un peu de marge pour voir le titre au-dessus\nconst marge=100;const proche=agendas().map(el=>({el,d:el.getBoundingClientRect().top-marge})).sort((a,b)=>Math.abs(a.d)-Math.abs(b.d))[0];if(proche){e.preventDefault();window.scrollTo({top:window.scrollY+proche.d,behavior:\"smooth\"});return;}}const i=lien.indexOf(\"#\");if(i<0)return;const chemin=lien.slice(0,i);if(chemin&&chemin!==window.location.pathname)return;const cible=document.getElementById(decodeURIComponent(lien.slice(i+1)));if(!cible)return;e.preventDefault();cible.scrollIntoView({behavior:\"smooth\",block:\"start\"});history.replaceState(null,\"\",lien.slice(i));};return /*#__PURE__*/_jsxs(\"div\",{className:\"brz\"+(theme===\"clair\"?\" clair\":\"\")+(on?\" on\":\"\"),style:props.style,children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}}),/*#__PURE__*/_jsx(\"a\",{href:lien,onClick:clic,children:texte})]});}addPropertyControls(BarreReservation,{lien:{type:ControlType.String,title:\"Lien\",defaultValue:\"#prendre-rendez-vous\"},texte:{type:ControlType.String,title:\"Texte\",defaultValue:\"Je r\\xe9serve un audit gratuit\"},theme:{type:ControlType.Enum,title:\"Th\\xe8me\",options:[\"sombre\",\"clair\"],optionTitles:[\"Sombre\",\"Clair\"],defaultValue:\"sombre\"},versAgenda:{type:ControlType.Boolean,title:\"Agenda le plus proche\",defaultValue:false}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"BarreReservation\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./BarreReservation_1.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useState}from\"react\";const UTM_KEYS=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\"];const ANCRE=\"prendre-rendez-vous\";// Ouvre la connexion vers Calendly en avance (DNS + TLS), sans rien charger d'autre\nfunction preconnecter(){if(typeof document===\"undefined\")return;for(const href of[\"https://calendly.com\",\"https://assets.calendly.com\"]){if(document.head.querySelector(`link[rel=\"preconnect\"][href=\"${href}\"]`))continue;const link=document.createElement(\"link\");link.rel=\"preconnect\";link.href=href;link.crossOrigin=\"anonymous\";document.head.appendChild(link);}}// Silhouette de l'agenda pendant son chargement (refonte du 19 octobre 2026) : même forme que la carte\n// Calendly, qui respire doucement. L'attente paraît plus courte au moment de réserver.\nconst SK_CSS=`\n.ca-sk{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-start;padding:8px 0;font-family:inherit}\n.ca-card{width:100%;max-width:820px;min-height:560px;background:#fff;border:1px solid #E4E8E1;border-radius:10px;display:grid;grid-template-columns:40% 60%;overflow:hidden;box-shadow:0 1px 8px rgba(0,0,0,.08)}\n.ca-gauche{padding:28px 26px;border-right:1px solid #EDF0EA;display:flex;flex-direction:column;gap:10px}\n.ca-droite{padding:28px 30px;display:flex;flex-direction:column;align-items:stretch}\n.ca-b{display:block;border-radius:6px;background:#EDF1EA;animation:ca-respire 1.5s ease-in-out infinite alternate}\n.ca-rond{width:64px;height:64px;border-radius:50%;margin-bottom:6px}\n.ca-grille{display:grid;grid-template-columns:repeat(7,1fr);gap:12px 10px;justify-items:center}\n.ca-j{display:block;width:34px;height:34px;border-radius:50%;background:#F2F4F0;animation:ca-respire 1.5s ease-in-out infinite alternate}\n.ca-j.ca-dispo{background:#E3F7DC}\n.ca-txt{margin-top:26px;text-align:center;font-size:13px;color:#7A8574}\n@keyframes ca-respire{from{opacity:.55}to{opacity:1}}\n@media (max-width:700px){.ca-card{grid-template-columns:1fr;min-height:0}.ca-gauche{border-right:0;border-bottom:1px solid #EDF0EA;padding:20px}.ca-droite{padding:20px 14px}.ca-j{width:30px;height:30px}}\n@media (prefers-reduced-motion:reduce){.ca-b,.ca-j{animation:none}}\n`;// Page où part le visiteur après sa réservation (24 octobre 2026). Calendly ne sait renvoyer que vers une seule\n// page pour tout le site, alors c'est l'agenda qui choisit : les pages Black Friday vont vers /black-friday-confirme,\n// toutes les autres (accueil, /audit, études de cas) vers /audit-confirme. Le champ « Page après réservation »\n// d'un agenda passe avant cette règle s'il est rempli.\nfunction pageApresReservation(redirection){if(redirection&&redirection.trim())return redirection.trim();const chemin=window.location.pathname||\"/\";if(chemin.startsWith(\"/black-friday\"))return\"/black-friday-confirme\";return\"/audit-confirme\";}// Réservation faite dans cet agenda : on la compte chez Meta (événement Schedule), une seule fois par visite\n// (20 octobre 2026). Rien du prospect n'est envoyé, ni nom ni email. Même verrou que le script de la page /audit,\n// donc une réservation n'est jamais comptée 2 fois, quel que soit celui des deux qui la voit en premier.\nfunction compterReservation(){const w=window;if(w.__trScheduleSent)return;w.__trScheduleSent=true;if(typeof w.fbq===\"function\")w.fbq(\"track\",\"Schedule\");}/**\n * Agenda Calendly qui prend toujours sa vraie hauteur : ni scroll interne, ni blanc en dessous.\n * Chargement : tout de suite si l'adresse contient #prendre-rendez-vous, sinon au premier geste\n * du visiteur (scroll, toucher, souris, clavier) ou quand il approche de l'agenda.\n * Rien ne se charge sans geste : la vitesse mesurée par PageSpeed ne bouge pas.\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function CalendlyAuto(props){const{calendar=\"baptisteh/appel-decouverte\",minHeight=700,hideDetails=true,redirection=\"\",remonter=0}=props;const frameRef=useRef(null);const[height,setHeight]=useState(minHeight);const[src,setSrc]=useState(\"\");const[pret,setPret]=useState(false);const boxRef=useRef(null);const[proche,setProche]=useState(false);// 1) Arrivée directe par le lien /#prendre-rendez-vous : on charge sans attendre\n// 2) Premier geste du visiteur : on charge en arrière-plan, l'agenda est prêt quand il arrive en bas\n// 3) Secours : le visiteur approche de l'agenda\nuseEffect(()=>{if(typeof window===\"undefined\"||proche)return;const charger=()=>setProche(true);if(window.location.hash===`#${ANCRE}`){charger();return;}const onHash=()=>{if(window.location.hash===`#${ANCRE}`)charger();};const gestes=[\"scroll\",\"pointerdown\",\"pointermove\",\"touchstart\",\"keydown\",\"wheel\"];let timer;const onGeste=()=>{preconnecter();if(timer)return;timer=setTimeout(charger,400);};gestes.forEach(g=>window.addEventListener(g,onGeste,{passive:true,once:true}));window.addEventListener(\"hashchange\",onHash);let io;const el=boxRef.current;if(el&&\"IntersectionObserver\"in window){io=new IntersectionObserver(entries=>{if(entries.some(e=>e.isIntersecting))charger();},{rootMargin:\"1200px 0px 1200px 0px\"});io.observe(el);}else{charger();}return()=>{gestes.forEach(g=>window.removeEventListener(g,onGeste));window.removeEventListener(\"hashchange\",onHash);if(timer)clearTimeout(timer);io?.disconnect();};},[proche]);useEffect(()=>{if(typeof window===\"undefined\"||!proche)return;preconnecter();const params=new URLSearchParams;params.set(\"embed_domain\",window.location.hostname||\"the-retention.io\");params.set(\"embed_type\",\"Inline\");params.set(\"hide_gdpr_banner\",\"1\");if(hideDetails)params.set(\"hide_landing_page_details\",\"1\");const current=new URLSearchParams(window.location.search);for(const key of UTM_KEYS){const value=current.get(key);if(value)params.set(key,value);}setSrc(`https://calendly.com/${calendar}?${params.toString()}`);function onMessage(event){if(!String(event.origin).includes(\"calendly.com\"))return;if(frameRef.current&&event.source!==frameRef.current.contentWindow)return;const data=event.data;if(data&&data.event===\"calendly.event_scheduled\"){compterReservation();// 0,8 s pour laisser partir l'envoi à Meta, puis la page de confirmation qui correspond à cette page\nconst cible=pageApresReservation(redirection);if(cible!==window.location.pathname)setTimeout(()=>window.location.assign(cible),800);return;}if(!data||data.event!==\"calendly.page_height\"||!data.payload)return;const next=parseInt(String(data.payload.height),10);if(!Number.isFinite(next)||next<300)return;setPret(true);setHeight(prev=>prev===next?prev:next);}window.addEventListener(\"message\",onMessage);return()=>window.removeEventListener(\"message\",onMessage);},[calendar,hideDetails,proche,redirection]);return /*#__PURE__*/_jsxs(\"div\",{ref:boxRef,\"data-agenda\":\"\",style:{...props.style,position:\"relative\",width:\"100%\",height:Math.max(300,height-remonter),overflow:remonter?\"hidden\":undefined},children:[!pret?/*#__PURE__*/_jsxs(\"div\",{className:\"ca-sk\",role:\"status\",\"aria-label\":\"Chargement de l’agenda\",children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:SK_CSS}}),/*#__PURE__*/_jsxs(\"div\",{className:\"ca-card\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"ca-gauche\",children:[/*#__PURE__*/_jsx(\"i\",{className:\"ca-b ca-rond\"}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"38%\",height:10}}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"78%\",height:22}}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"62%\",height:22}}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"30%\",height:10,marginTop:10}}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"70%\",height:10}}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"86%\",height:10,marginTop:14}}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"74%\",height:10}}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"80%\",height:10}})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"ca-droite\",children:[/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"52%\",height:18}}),/*#__PURE__*/_jsx(\"i\",{className:\"ca-b\",style:{width:\"36%\",height:12,margin:\"18px auto 22px\"}}),/*#__PURE__*/_jsx(\"div\",{className:\"ca-grille\",children:Array.from({length:35}).map((_,i)=>/*#__PURE__*/_jsx(\"i\",{className:\"ca-j\"+([8,10,11,15,16,17,18,19,22,24].includes(i)?\" ca-dispo\":\"\"),style:{animationDelay:`${i%7*.06}s`}},i))}),/*#__PURE__*/_jsx(\"span\",{className:\"ca-txt\",children:\"Chargement de l’agenda…\"})]})]})]}):null,src?/*#__PURE__*/_jsx(\"iframe\",{ref:frameRef,src:src,title:\"R\\xe9server un cr\\xe9neau\",onLoad:()=>setTimeout(()=>setPret(true),600),style:{position:\"relative\",width:\"100%\",height:remonter?height:\"100%\",marginTop:remonter?-remonter:0,border:0,display:\"block\",opacity:pret?1:0,transition:\"opacity 0.25s ease\"}}):null]});}addPropertyControls(CalendlyAuto,{calendar:{type:ControlType.String,title:\"Calendrier\",defaultValue:\"baptisteh/appel-decouverte\"},minHeight:{type:ControlType.Number,title:\"Hauteur de d\\xe9part\",defaultValue:700,min:300,max:1600,step:10,unit:\"px\"},hideDetails:{type:ControlType.Boolean,title:\"Cacher les d\\xe9tails\",defaultValue:true},redirection:{type:ControlType.String,title:\"Page apr\\xe8s r\\xe9servation\",defaultValue:\"\",placeholder:\"Vide : automatique\"},remonter:{type:ControlType.Number,title:\"Remonter l'agenda\",description:\"Coupe le vide du haut de Calendly (vue ordi). 0 = rien.\",defaultValue:0,min:0,max:120,step:2,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CalendlyAuto\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CalendlyAuto.map"],"mappings":"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"}