{"version":3,"file":"TransferBasicFormData.Deji4elR.mjs","names":["useRef"],"sources":["https:/framerusercontent.com/modules/0dP7f88tBrJThRC0yKtm/HIkSFepgXAmvx7qIP0ws/TransferBasicFormData.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";// Liest einen Cookie-Wert aus (z.B. hubspotutk)\nfunction getCookie(name){const m=document.cookie.match(new RegExp(\"(?:^|;\\\\s*)\"+name+\"=([^;]+)\"));return m?decodeURIComponent(m[1]):\"\";}// ============================================================\n// Override 1 — auf der /kontakt-Seite dem FORM-Layer zuweisen\n// Liest Vorname/Nachname/Email beim Absenden aus und merkt sie\n// in sessionStorage. Schreibt zusaetzlich den hubspotutk-Cookie\n// in ein verstecktes Feld \"hutk\", damit Framers Webhook-Submit\n// ihn mit an n8n / HubSpot schickt (fuer Attribution).\n// Framers Webhook-Submit bleibt ansonsten unangetastet.\n// ============================================================\nexport function withCaptureFields(Component){return props=>{const ref=useRef(null);useEffect(()=>{const root=ref.current;if(!root)return;const form=root.querySelector(\"form\");if(!form)return;// --- hutk: verstecktes Feld anlegen/befuellen ---------------\n// Framer nimmt alle <input name=\"...\"> automatisch in den\n// Webhook-Payload. Wir sorgen dafuer, dass ein Feld \"hutk\"\n// existiert und den aktuellen Cookie-Wert traegt.\nconst ensureHutkField=()=>{const hutk=getCookie(\"hubspotutk\");if(!hutk)return;// kein Consent / kein Cookie -> nichts tun\nlet field=form.querySelector('input[name=\"hutk\"]');if(!field){field=document.createElement(\"input\");field.type=\"hidden\";field.name=\"hutk\";form.appendChild(field);}field.value=hutk;};// einmal beim Laden setzen ...\nensureHutkField();const handleSubmit=()=>{// ... und direkt vor dem Absenden nochmal aktualisieren\nensureHutkField();const vorname=form.querySelector('input[name=\"Vorname\"]')?.value||\"\";const nachname=form.querySelector('input[name=\"Nachname\"]')?.value||\"\";const email=form.querySelector('input[name=\"Email\"]')?.value||\"\";sessionStorage.setItem(\"meetingPrefill\",JSON.stringify({firstName:vorname,lastName:nachname,email:email}));};form.addEventListener(\"submit\",handleSubmit,true);return()=>form.removeEventListener(\"submit\",handleSubmit,true);},[]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}// ============================================================\n// Override 2 — unveraendert.\n// Auf der /anfrage-erhalten-Seite einem oberen Layer zuweisen.\n// Findet den HubSpot-Meetings-iframe und haengt die gemerkten\n// Werte an dessen src, sodass der Scheduler First name /\n// Last name / Email vorausfuellt.\n// ============================================================\nexport function withApplyPrefill(Component){return props=>{useEffect(()=>{const raw=sessionStorage.getItem(\"meetingPrefill\");if(!raw)return;let data;try{data=JSON.parse(raw);}catch(_){return;}const applyToIframe=()=>{const iframe=Array.from(document.querySelectorAll(\"iframe\")).find(f=>(f.getAttribute(\"src\")||\"\").includes(\"meetings-eu1.hubspot.com\"));if(!iframe)return false;const currentSrc=iframe.getAttribute(\"src\")||\"\";if(currentSrc.includes(\"firstName=\")){sessionStorage.removeItem(\"meetingPrefill\");return true;}const url=new URL(currentSrc);if(data.firstName)url.searchParams.set(\"firstName\",data.firstName);if(data.lastName)url.searchParams.set(\"lastName\",data.lastName);if(data.email)url.searchParams.set(\"email\",data.email);iframe.setAttribute(\"src\",url.toString());sessionStorage.removeItem(\"meetingPrefill\");return true;};let tries=0;const interval=setInterval(()=>{tries++;if(applyToIframe()||tries>30){clearInterval(interval);}},300);return()=>clearInterval(interval);},[]);return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withApplyPrefill\":{\"type\":\"reactHoc\",\"name\":\"withApplyPrefill\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCaptureFields\":{\"type\":\"reactHoc\",\"name\":\"withCaptureFields\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TransferBasicFormData.map"],"mappings":"yHACA,SAAS,EAAU,EAAK,CAAC,IAAM,EAAE,SAAS,OAAO,MAAU,OAAO,cAAc,EAAK,UAAU,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAG,CAQvI,SAAgB,EAAkB,EAAU,CAAC,MAAO,IAAO,CAAC,IAAM,EAAIA,EAAO,IAAI,EAOkX,OAPhX,MAAc,CAAC,IAAM,EAAK,EAAI,QAAQ,GAAG,CAAC,EAAK,OAAO,IAAM,EAAK,EAAK,cAAc,MAAM,EAAE,GAAG,CAAC,EAAK,OAIxL,IAAM,MAAoB,CAAC,IAAM,EAAK,EAAU,YAAY,EAAE,GAAG,CAAC,EAAK,OACvE,IAAI,EAAM,EAAK,cAAc,oBAAoB,EAAM,IAAO,EAAM,SAAS,cAAc,OAAO,EAAE,EAAM,KAAK,SAAS,EAAM,KAAK,OAAO,EAAK,YAAY,CAAK,GAAG,EAAM,MAAM,CAAK,EACpL,EAAgB,EAAE,IAAM,MAAiB,CACzC,EAAgB,EAAE,IAAM,EAAQ,EAAK,cAAc,uBAAuB,CAAC,EAAE,OAAO,GAAS,EAAS,EAAK,cAAc,wBAAwB,CAAC,EAAE,OAAO,GAAS,EAAM,EAAK,cAAc,qBAAqB,CAAC,EAAE,OAAO,GAAG,eAAe,QAAQ,iBAAiB,KAAK,UAAU,CAAC,UAAU,EAAQ,SAAS,EAAe,OAAK,CAAC,CAAC,CAAE,EAAoD,OAAlD,EAAK,iBAAiB,SAAS,EAAa,EAAI,MAAY,EAAK,oBAAoB,SAAS,EAAa,EAAI,CAAE,EAAE,CAAC,CAAC,EAAsB,EAAK,MAAM,CAAK,MAAI,MAAM,CAAC,QAAQ,UAAU,EAAE,SAAsB,EAAK,EAAU,CAAC,GAAG,CAAK,CAAC,CAAC,CAAC,CAAE,CAAE,iBAhBjhB,IAAoC"}