{"version":3,"file":"ConsentRouting.h6UrT2L6.mjs","names":["useState","__esmMin","init_ssg_sandbox_shims","window","_e","init_jsx_runtime","c","init_npm_react_18_3_1","ce","useConsentRouting","attachedForm","observer","handleSubmit","form","e","consented","CHECKBOX_SELECTOR","action","err","sms","THANK_YOU_PATH","PARAM_SOURCE","source","PARAM_SMS","tryAttach","FormRouter_ExpertlyPage","Component","props","FormRouter_SalonPage","FormRouter_OneSourcePage","useRouteParams","state","setState","params","ThankYouBlock_Expertly_Subscribed","p","ThankYouBlock_Salon_Subscribed","ThankYouBlock_Salon_NoTexts","ThankYouBlock_OneSource_Subscribed","ThankYouBlock_OneSource_NoTexts","init_ConsentRouting"],"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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"}