{"version":3,"file":"ConsentRouting.BMshh3Vq.mjs","names":["useState"],"sources":["https:/framerusercontent.com/modules/OvJqfeiQ9BevCTpyoWnu/KAFKVdPWRNa3hv7SklLi/ConsentRouting.js"],"sourcesContent":["// ConsentRouting.tsx\n// SMS-consent-aware thank-you routing for the three Phone-or-Text style pages.\n//\n// ──────────────────────────────────────────────────────────────\n// WIRING GUIDE — apply each override to exactly the layer named.\n// ──────────────────────────────────────────────────────────────\n//\n// FORM PAGES — apply ONE form router to the FORM on each page:\n//   Expertly \"Phone or Text\" form ......  FormRouter_ExpertlyPage\n//   Studio Bloom salon form ............  FormRouter_SalonPage\n//   OneSource logistics form ...........  FormRouter_OneSourcePage\n//\n// THANK-YOU PAGE — apply ONE block override to each of the five blocks\n//   (name each block to match):\n//   Block \"Expertly — Subscribed\" ......  ThankYouBlock_Expertly_Subscribed\n//   Block \"Salon — Subscribed\" .........  ThankYouBlock_Salon_Subscribed\n//   Block \"Salon — No texts\" ...........  ThankYouBlock_Salon_NoTexts\n//   Block \"OneSource — Subscribed\" .....  ThankYouBlock_OneSource_Subscribed\n//   Block \"OneSource — No texts\" .......  ThankYouBlock_OneSource_NoTexts\n//\n// NOTE: each form must contain exactly one checkbox (the SMS consent box).\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useState}from\"react\";const THANK_YOU_PATH=\"/form-process/phone-or-text-thank-you\";const PARAM_SOURCE=\"source\";const PARAM_SMS=\"sms\";const CHECKBOX_SELECTOR='input[type=\"checkbox\"]';// ── shared submit logic (helper hook, not an override) ──\nfunction useConsentRouting(source){useEffect(()=>{if(typeof document===\"undefined\")return;let attachedForm=null;let observer=null;async function handleSubmit(e){const form=e.currentTarget;const checkbox=form.querySelector(CHECKBOX_SELECTOR);const consented=!!checkbox?.checked;e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();const action=form.action||form.getAttribute(\"action\")||\"\";if(action){try{await fetch(action,{method:\"POST\",body:new FormData(form)});}catch(err){// Framer may handle the save itself; a blocked or failed\n// fetch here should not stop the visitor continuing.\nconsole.error(\"[ConsentRouting] post failed, continuing:\",err);}}const sms=consented?\"true\":\"false\";window.location.href=`${THANK_YOU_PATH}?${PARAM_SOURCE}=${source}&${PARAM_SMS}=${sms}`;}function tryAttach(){const form=document.querySelector(\"form\");if(form&&form!==attachedForm){attachedForm=form;form.addEventListener(\"submit\",handleSubmit,{capture:true});return true;}return false;}if(!tryAttach()){observer=new MutationObserver(()=>{if(tryAttach()){observer?.disconnect();observer=null;}});observer.observe(document.body,{childList:true,subtree:true});}return()=>{if(attachedForm){attachedForm.removeEventListener(\"submit\",handleSubmit,{capture:true});}observer?.disconnect();};},[source]);}// ── FORM ROUTERS (apply to the form on each page) ──\nexport function FormRouter_ExpertlyPage(Component){return props=>{useConsentRouting(\"expertly\");return /*#__PURE__*/_jsx(Component,{...props});};}export function FormRouter_SalonPage(Component){return props=>{useConsentRouting(\"salon\");return /*#__PURE__*/_jsx(Component,{...props});};}export function FormRouter_OneSourcePage(Component){return props=>{useConsentRouting(\"onesource\");return /*#__PURE__*/_jsx(Component,{...props});};}// ── shared param reader (helper hook, not an override) ──\nfunction useRouteParams(){const[state,setState]=useState({source:null,sms:null,ready:false});useEffect(()=>{if(typeof window===\"undefined\")return;const params=new URLSearchParams(window.location.search);setState({source:params.get(PARAM_SOURCE),sms:params.get(PARAM_SMS),ready:true});},[]);return state;}// ── THANK-YOU BLOCK VISIBILITY (apply to each block) ──\nexport function ThankYouBlock_Expertly_Subscribed(Component){return props=>{const p=useRouteParams();if(!p.ready)return null;if(p.source!==\"expertly\"||p.sms!==\"true\")return null;return /*#__PURE__*/_jsx(Component,{...props});};}export function ThankYouBlock_Salon_Subscribed(Component){return props=>{const p=useRouteParams();if(!p.ready)return null;if(p.source!==\"salon\"||p.sms!==\"true\")return null;return /*#__PURE__*/_jsx(Component,{...props});};}export function ThankYouBlock_Salon_NoTexts(Component){return props=>{const p=useRouteParams();if(!p.ready)return null;if(p.source!==\"salon\"||p.sms!==\"false\")return null;return /*#__PURE__*/_jsx(Component,{...props});};}export function ThankYouBlock_OneSource_Subscribed(Component){return props=>{const p=useRouteParams();if(!p.ready)return null;if(p.source!==\"onesource\"||p.sms!==\"true\")return null;return /*#__PURE__*/_jsx(Component,{...props});};}export function ThankYouBlock_OneSource_NoTexts(Component){return props=>{const p=useRouteParams();if(!p.ready)return null;if(p.source!==\"onesource\"||p.sms!==\"false\")return null;return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"ThankYouBlock_OneSource_NoTexts\":{\"type\":\"reactHoc\",\"name\":\"ThankYouBlock_OneSource_NoTexts\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormRouter_ExpertlyPage\":{\"type\":\"reactHoc\",\"name\":\"FormRouter_ExpertlyPage\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ThankYouBlock_Salon_Subscribed\":{\"type\":\"reactHoc\",\"name\":\"ThankYouBlock_Salon_Subscribed\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ThankYouBlock_OneSource_Subscribed\":{\"type\":\"reactHoc\",\"name\":\"ThankYouBlock_OneSource_Subscribed\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormRouter_OneSourcePage\":{\"type\":\"reactHoc\",\"name\":\"FormRouter_OneSourcePage\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ThankYouBlock_Expertly_Subscribed\":{\"type\":\"reactHoc\",\"name\":\"ThankYouBlock_Expertly_Subscribed\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormRouter_SalonPage\":{\"type\":\"reactHoc\",\"name\":\"FormRouter_SalonPage\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ThankYouBlock_Salon_NoTexts\":{\"type\":\"reactHoc\",\"name\":\"ThankYouBlock_Salon_NoTexts\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ConsentRouting.map"],"mappings":"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"}