{"version":3,"file":"FormRedirect.Ds91aLff.mjs","names":[],"sources":["https:/framerusercontent.com/modules/dmPLkmWCfqGkvw9Xx2e1/wyfNS7eR4HV3zZUo35yi/FormRedirect.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";// Gate + redirect for hand-built application forms:\n// 1) blocks the submit click (capture phase) until form.checkValidity() passes,\n//    with a visible message + scroll to the first invalid field\n// 2) redirects to /application-received when Framer's form API accepts the POST\nexport function withRedirectOnSuccess(Component){return props=>{React.useEffect(()=>{const onClick=e=>{try{const el=e.target instanceof Element?e.target:null;if(!el)return;const btn=el.closest(\"[data-framer-name],button,a\");if(!btn)return;const label=(btn.textContent||\"\").trim();if(!/submit/i.test(label)||label.length>40)return;const form=btn.closest(\"form\")||[...document.querySelectorAll(\"form\")].find(f=>f.contains(btn));if(!form||!form.querySelector('[name=\"Adult Occupants 18+\"]'))return;if(form.checkValidity()){const m=form.querySelector(\".v-msg\");if(m)m.remove();return;}e.preventDefault();e.stopPropagation();const inv=[...form.querySelectorAll(\":invalid\")];const names=[...new Set(inv.map(i=>i.name||\"field\"))].slice(0,6);let msg=form.querySelector(\".v-msg\");if(!msg){msg=document.createElement(\"div\");msg.className=\"v-msg\";msg.style.cssText=\"color:#B3261E;font-family:Arial,sans-serif;font-size:14px;line-height:1.5;padding:10px 14px;background:#FDECEA;border-radius:8px;margin:8px 0;\";(btn.parentElement||form).insertBefore(msg,btn);}msg.textContent=\"Please complete before submitting: \"+names.join(\", \");const first=inv[0];const tgt=first&&first.offsetParent?first:first&&first.closest(\"label\")||msg;if(tgt&&tgt.scrollIntoView)tgt.scrollIntoView({behavior:\"smooth\",block:\"center\"});}catch(err){}};document.addEventListener(\"click\",onClick,true);const orig=window.fetch;let done=false;window.fetch=async(...args)=>{const res=await orig(...args);try{const url=String(args[0]&&(args[0].url||args[0]));if(!done&&/api\\.framer\\.com\\/forms\\/.+\\/submit/.test(url)&&res.ok){done=true;setTimeout(()=>window.location.assign(\"/application-received\"),200);}}catch(e2){}return res;};return()=>{document.removeEventListener(\"click\",onClick,true);window.fetch=orig;};},[]);return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withRedirectOnSuccess\":{\"type\":\"reactHoc\",\"name\":\"withRedirectOnSuccess\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FormRedirect.map"],"mappings":"gIAIA,SAAgB,EAAsB,EAAU,CAAC,MAAO,KAAQ,MAAoB,CAAC,IAAM,EAAQ,GAAG,CAAC,GAAG,CAAC,IAAM,EAAG,EAAE,kBAAkB,QAAQ,EAAE,OAAO,KAAK,GAAG,CAAC,EAAG,OAAO,IAAM,EAAI,EAAG,QAAQ,6BAA6B,EAAE,GAAG,CAAC,EAAI,OAAO,IAAM,GAAO,EAAI,aAAa,GAAA,CAAI,KAAK,EAAE,GAAG,CAAC,UAAU,KAAK,CAAK,GAAG,EAAM,OAAO,GAAG,OAAO,IAAM,EAAK,EAAI,QAAQ,MAAM,GAAG,CAAC,GAAG,SAAS,iBAAiB,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,SAAS,CAAG,CAAC,EAAE,GAAG,CAAC,GAAM,CAAC,EAAK,cAAc,8BAA8B,EAAE,OAAO,GAAG,EAAK,cAAc,EAAE,CAAC,IAAM,EAAE,EAAK,cAAc,QAAQ,EAAK,GAAE,EAAE,OAAO,EAAE,MAAO,CAAC,EAAE,eAAe,EAAE,EAAE,gBAAgB,EAAE,IAAM,EAAI,CAAC,GAAG,EAAK,iBAAiB,UAAU,CAAC,EAAQ,EAAM,CAAC,GAAG,IAAI,IAAI,EAAI,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAM,EAAI,EAAK,cAAc,QAAQ,EAAM,IAAK,EAAI,SAAS,cAAc,KAAK,EAAE,EAAI,UAAU,QAAQ,EAAI,MAAM,QAAQ,kJAAkJ,EAAI,eAAe,EAAA,CAAM,aAAa,EAAI,CAAG,GAAG,EAAI,YAAY,sCAAsC,EAAM,KAAK,IAAI,EAAE,IAAM,EAAM,EAAI,GAAS,EAAI,GAAO,EAAM,aAAa,EAAM,GAAO,EAAM,QAAQ,OAAO,GAAG,EAAO,GAAK,EAAI,gBAAe,EAAI,eAAe,CAAC,SAAS,SAAS,MAAM,QAAQ,CAAC,CAAE,MAAW,CAAC,CAAC,EAAE,SAAS,iBAAiB,QAAQ,EAAQ,EAAI,EAAE,IAAM,EAAK,EAAO,MAAU,EAAK,GAAmS,MAA7R,GAAO,MAAM,MAAM,GAAG,IAAO,CAAC,IAAM,EAAI,MAAM,EAAK,GAAG,CAAI,EAAE,GAAG,CAAC,IAAM,EAAI,OAAO,EAAK,KAAK,EAAK,EAAE,CAAC,KAAK,EAAK,GAAG,EAAK,CAAC,GAAM,sCAAsC,KAAK,CAAG,GAAG,EAAI,KAAI,EAAK,GAAK,eAAe,EAAO,SAAS,OAAO,uBAAuB,EAAE,GAAG,EAAG,MAAU,CAAC,CAAC,OAAO,CAAI,MAAY,CAAC,SAAS,oBAAoB,QAAQ,EAAQ,EAAI,EAAE,EAAO,MAAM,CAAK,CAAE,EAAE,CAAC,CAAC,EAAsB,EAAK,EAAU,CAAC,GAAG,CAAK,CAAC,EAAI,qBAJnvD,IAA4B"}