{"version":3,"file":"withFormFlow.DA2AxEBx.mjs","names":["p","useRef","useCallback","state","useFormSubmissionSessionId","parsePhoneNumberFromString","getCountryCodeFromUrl","fetchWithTimeout","p","useState","useMemo","_Fragment","cookie","p","useState","isEmpty","useState","useMemo","useRef","useCallback","parsePhoneNumberFromString","p","useState","useId","useRef","_Fragment","useRef","useCallback","useState"],"sources":["https:/framerusercontent.com/modules/Twkty2a79qUXeRPCL4lt/EFWwZVgiWwrd0Zb4NKKa/styles.js","https:/framerusercontent.com/modules/RDYaMaU8Z1SINAywkfbF/iiZ5JA4iMIH3VCHZ0WxQ/CanvasStepSwitcher.js","https:/framerusercontent.com/modules/12B8AB9Bv4kDOJuEbSRh/42ogUs7iocL733CUJPRd/progressStore.js","https:/framerusercontent.com/modules/wQBml2GodGeHrJdfRXV0/m5AiqWIBJGUwkIyrWQYT/StepConfig.js","https:/framerusercontent.com/modules/2nm11oCJ9YbIAtty0hAj/yWPmlHEIysfpBb7BPDqb/resolveButtonStyles.js","https:/framerusercontent.com/modules/KHQRbo1PS40kxEtlsBHj/eAgZx6F6skeVRSwyjPMA/analytics.js","https:/framerusercontent.com/modules/sAA5n8Id669OAtJXWmI3/ZiOBFvdqP1eH41aHqBKT/scrollToTop.js","https:/framerusercontent.com/modules/wm78KsU1IYJJVRPxnalG/7zJiE09qHzT3tvBf6zOQ/stepStores.js","https:/framerusercontent.com/modules/9i2Alm7tGoDSsKzk9kk3/9Y1RthbcC9dcPnTigB3t/buttonStyleGroup.js","https:/framerusercontent.com/modules/Ax3pgpFugmVtkLyjK0aB/gjk6sN8WNzrAQFqhH8LV/formStores.js","https:/framerusercontent.com/modules/LboE7wz8pMkdY0seInTM/3k6PYVUKnk3XV9erML39/validationRegistry.js","https:/framerusercontent.com/modules/81qN9mU4rhdIFssbfi05/mhYGo4iauAEF6YrsxRcn/validateField.js","https:/framerusercontent.com/modules/OyEfIKv9n5xUcgJ6ibLb/qWdGzh1zHLkDcT2uFdXP/validateForm.js","https:/framerusercontent.com/modules/jsQEdCu29ceye0UOu35m/BPGbCPBY0YM25AuGTE4v/required.js","https:/framerusercontent.com/modules/LDXisB7uYJA6597I5HTt/zXhixOoL5Digm6OgZVcN/values.js","https:/framerusercontent.com/modules/hlmkZ27Zs3s3u796dQpb/RNTPAOQqhiBTvYGtWaZW/hiddenProviders.js","https:/framerusercontent.com/modules/bZBNT2fclwv54S30Lzih/81NaXLwXCmfqAz19fte8/applySubmitHidden.js","https:/framerusercontent.com/modules/1GPiVUthJvFQtoo6eYCc/BkVVPXovoLX05kwl8wtB/toBodyAndHeaders.js","https:/framerusercontent.com/modules/BtOlVJ9vkZR6Klo9gGEm/oM1jpUXr3vwrpCZvxVlw/seznam.js","https:/framerusercontent.com/modules/tlik5QvfpXSJTkUQGnKJ/xyOJqCiUbVcuFqhrmrR1/hubspot.js","https:/framerusercontent.com/modules/Lsh3huQSAkVJaA6aeV2m/pPY4Xg6qVkDAMPDGdEiC/merchantLead.js","https:/framerusercontent.com/modules/bOV2W00iXSLTkOKnEJ7q/eZuGwrdhproIU6Qwbm3z/transport.js","https:/framerusercontent.com/modules/1LS7KO2XMmcvZhvxclni/wcBCbLN9FOdkGsxDQi4J/controls.js","https:/framerusercontent.com/modules/WvT4EZIte8hCAj2HfiDV/79jRevkAG29xLAHa4u98/botDetection.js","https:/framerusercontent.com/modules/CBiBHkyRCJTfM5XBhLCE/R4OvJEYHTZNCCnb7p5vi/SubmitButton.js","https:/framerusercontent.com/modules/GWvHDLdg8sZ3VTGmNON6/2bnNww1yG73PcyBnHG3l/constants.js","https:/framerusercontent.com/modules/DfcVcTAIUH2ZvbBug3DT/jfmSVIxTG0VCqqrJGYgP/controls.js","https:/framerusercontent.com/modules/nyrHD5w9XItiC6b523WY/wynnJbOGDUdETQNP6CXP/HiddenField.js","https:/framerusercontent.com/modules/Y7BsCDAZ62PW8UCuAxAR/eYfP4PWTX5NJfei4V1k9/FieldShell.js","https:/framerusercontent.com/modules/8x5jN08BzJwYi0tO9WEC/IMmjxyQ1bx5bweU7YIib/PlaceholderStyle.js","https:/framerusercontent.com/modules/SuWmgiqEfziwld4tZjk0/vb8Ppfe3v4uGW3SEUjKK/resolveBorderColor.js","https:/framerusercontent.com/modules/TTk3k6z1DBNnw11HPDoi/UW2qJn2g2OkOcIXT204S/resolveInputStyles.js","https:/framerusercontent.com/modules/ZAzAf2l3YtTE023XEAPY/6IKs8kEebel4WFLLKexC/buildValidationConfig.js","https:/framerusercontent.com/modules/e3bwJJzcbGbYL2t6KZy3/kO1TIg95YTyfRIpPfLWl/requiredWhenVisible.js","https:/framerusercontent.com/modules/mBxkqxfMgYfW1BUfOuZF/Khh2onX8K6ggiv39xImA/visibility.js","https:/framerusercontent.com/modules/5IlqeeO3n62z9NWl3yls/S2K0cPwrrOzEhVcV3Iet/getErrorMessage.js","https:/framerusercontent.com/modules/6xkWJnMFm9wfZbbMEKzK/qsbxft1ajeQR4fd9dJqn/errorMessagesFromProps.js","https:/framerusercontent.com/modules/cXIgiHckZ8F9bVdmvH1f/7mlryS5r7Kh9VN3qIhrJ/validateAndSetError.js","https:/framerusercontent.com/modules/itQzy1G0FZDrDt5Wxiha/82GYPRkeb30R1TYEziTw/remoteRuleHelpers.js","https:/framerusercontent.com/modules/oK6hiaqvffYsCKu7M3Y6/qV56aOLtFgZyaNfcxzRF/remoteRegistry.js","https:/framerusercontent.com/modules/sFA1LNvGhtYRbWY0gAct/q3QZqo5LAUjPFwiQy7Ds/validateRemoteAndSetError.js","https:/framerusercontent.com/modules/8abRSVwH7gyHruNCJ1JS/Po2VaUcjSgfd4N4isf8i/validatePhoneHLR.js","https:/framerusercontent.com/modules/De6fH1u2sz6OPdwkg379/GUyb3dBKtEUrFyBIDEDz/useFieldController.js","https:/framerusercontent.com/modules/C8tNKt5QFlvgRghgBcI7/QSBiltfheNvniAd76oGI/groups.js","https:/framerusercontent.com/modules/CfRLkChrAsm6HluV3Y7o/utOXG7fQFetAMzNQHX4j/controls.js","https:/framerusercontent.com/modules/qS6oROCUmXOVw6baz36Z/X0Z5gLFjxeTBjFYajhXo/InputField.js","https:/framerusercontent.com/modules/cYr5os99vUDixgHpgoDm/ICH6u7rrBMcIgTuuYrdP/withFormFlow.js"],"sourcesContent":["// -------- --------        -------- -------- //\n// -------- -------- STYLES -------- -------- //\n// -------- --------        -------- -------- //\nexport const canvasPlaceholderStyles={display:\"flex\",flexDirection:\"column\",gap:\"1rem\",padding:\"1rem\",backgroundColor:\"#f5f5f5\",border:\"1px solid #e6e6e6\",borderRadius:\"0.75rem\",color:\"#878787\",fontFamily:\"Figtree\",fontSize:\"0.875rem\",textAlign:\"center\"};export const labelWrapperStyles={display:\"flex\",flexDirection:\"column\",gap:\"4px\",width:\"100%\"};export const labelTextStyles={fontFamily:\"Figtree\",fontSize:\"14px\",color:\"#080800A1\"};export const progressBarStyles={width:\"100%\",margin:0,padding:0};export const continueButtonStyle={width:\"100%\",minHeight:\"44px\",maxHeight:\"44px\",cursor:\"pointer\",borderRadius:\"12px\",background:\"linear-gradient(98.08deg, #D6F25A 0%, rgba(214, 242, 90, 0) 100%), #E1E51A\",border:\"none\",fontFamily:\"Figtree\",fontSize:\"14px\",color:\"#151515\",fontWeight:\"600\",transition:\"transform .1s\",boxShadow:\"0px 4px 16px -8px rgba(17, 34, 20, 0.16), 0px 1px 1px 0px rgba(17, 34, 20, 0.06)\"};export const radioButtonStyle={cursor:\"pointer\",color:\"#151515\"};export const optionButtonStyle={width:\"100%\",minHeight:\"44px\",maxHeight:\"44px\",cursor:\"pointer\",borderRadius:\"12px\",background:\"#f5f5f5\",border:\"none\",fontFamily:\"Figtree\",fontSize:\"14px\",color:\"#151515\",fontWeight:\"600\",transition:\"transform .1s\",boxShadow:\"0px 4px 16px -8px rgba(17, 34, 20, 0.16), 0px 1px 1px 0px rgba(17, 34, 20, 0.06)\"};export const inputFieldStyles={fontFamily:\"Figtree\",fontSize:\"16px\",lineHeight:\"24px\",color:\"#060500E3\",width:\"100%\",minHeight:\"48px\",maxHeight:\"48px\",outline:\"none\",padding:\"0px 16px\",backgroundColor:\"#ffffff\",borderRadius:\"12px\",borderWidth:1,borderStyle:\"solid\",borderColor:\"#e6e6e6\",transition:\"outline 100ms cubic-bezier(0.4, 0, 0.2, 1)\"};export const formContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:\"24px\",padding:\"24px\",overflow:\"hidden\",borderRadius:\"12px\",minWidth:500,minHeight:300,background:\"#fff\",boxShadow:`\n        0px 4px 16px -4px rgba(0, 0, 0, 0.08),\n        0px 18px 32px -16px rgba(0, 0, 0, 0.08)\n    `};export const inputErrorStyles={borderColor:\"#A91E00\",borderWidth:2,borderStyle:\"solid\",backgroundColor:\"#FBECEC\",color:\"#0F0F00\",paddingRight:\"40px\"};export const wrap={position:\"fixed\",left:\"50%\",top:16,transform:\"translateX(-50%)\",zIndex:999999,maxWidth:\"min(92vw, 560px)\",pointerEvents:\"auto\"};export const box={background:\"#FFF5F5\",color:\"#6B1717\",border:\"1px solid #F2C7C7\",borderRadius:8,padding:\"10px 14px\",boxShadow:\"0 8px 24px rgba(0,0,0,0.08)\",fontSize:14,display:\"flex\",alignItems:\"center\",gap:8};export const btn={marginLeft:\"auto\",background:\"transparent\",border:\"none\",color:\"inherit\",textDecoration:\"none\",cursor:\"pointer\",fontSize:12};\nexport const __FramerMetadata__ = {\"exports\":{\"canvasPlaceholderStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"inputFieldStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"box\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"btn\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"progressBarStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"continueButtonStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"labelWrapperStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"wrap\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"optionButtonStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"formContainerStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"radioButtonStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"inputErrorStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"labelTextStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./styles.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{canvasPlaceholderStyles}from\"https://framerusercontent.com/modules/Twkty2a79qUXeRPCL4lt/EFWwZVgiWwrd0Zb4NKKa/styles.js\";export function CanvasStepSwitcher({mode=\"all\",stepId=\"\",variantKey=\"\",branchKey=\"\"}){useEffect(()=>{if(RenderTarget.current()!==RenderTarget.canvas)return;const payload={mode,stepId:(stepId??\"\").trim(),variantKey:(variantKey??\"\").trim(),branchKey:(branchKey??\"\").trim()};window.__teyaCanvasStepLast=payload;// fire immediately and again on next frame for late listeners\nconst ev=new CustomEvent(\"teya:canvasStepChange\",{detail:payload});window.dispatchEvent(ev);const raf=requestAnimationFrame(()=>window.dispatchEvent(new CustomEvent(\"teya:canvasStepChange\",{detail:payload})));return()=>cancelAnimationFrame(raf);},[mode,stepId,variantKey,branchKey]);if(RenderTarget.current()===RenderTarget.canvas){return /*#__PURE__*/_jsx(\"div\",{style:canvasPlaceholderStyles,children:\"Canvas Step Switcher\"});}return null;}addPropertyControls(CanvasStepSwitcher,{mode:{type:ControlType.Enum,title:\"Mode\",options:[\"all\",\"single\"],optionTitles:[\"Show All\",\"Single Step\"],defaultValue:\"all\"},stepId:{type:ControlType.String,title:\"Step ID\",hidden:p=>p.mode!==\"single\",defaultValue:\"\"},variantKey:{type:ControlType.Enum,title:\"Variant\",hidden:p=>p.mode!==\"single\",options:[\"\",\"A\",\"B\"],optionTitles:[\"(all variants)\",\"A only\",\"B only\"],defaultValue:\"\"},branchKey:{type:ControlType.String,title:\"Branch Key\",hidden:p=>p.mode!==\"single\",defaultValue:\"\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"CanvasStepSwitcher\":{\"type\":\"reactComponent\",\"name\":\"CanvasStepSwitcher\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CanvasStepSwitcher.map","const state={stepsById:new Map,currentId:undefined,listeners:new Set};// ---------- Snapshot + helpers ----------\nfunction orderedSteps(){return Array.from(state.stepsById.values());}function snapshot(){const steps=orderedSteps();const currentIndex=state.currentId?steps.findIndex(s=>s.id===state.currentId):-1;const currentStep=currentIndex>=0?steps[currentIndex]:undefined;const percent=typeof currentStep?.absolutePercent===\"number\"?Math.max(0,Math.min(100,currentStep.absolutePercent)):0;return{steps,currentId:state.currentId,currentIndex,percent};}function emit(){const snap=snapshot();state.listeners.forEach(fn=>fn(snap));}// ---------- API ----------\nexport function registerStep(meta){const existing=state.stepsById.get(meta.id);state.stepsById.set(meta.id,{...existing,...meta,id:meta.id,variantKey:meta.variantKey,absolutePercent:typeof meta.absolutePercent===\"number\"?Math.max(0,Math.min(100,meta.absolutePercent)):existing?.absolutePercent});emit();}export function unregisterStep(id){if(state.stepsById.delete(id)){if(state.currentId===id)state.currentId=undefined;emit();}}export function setCurrentStep(id){state.currentId=id;emit();// handy debug\n// console.log(\"Progress snapshot\", snapshot())\n}export function getProgressSnapshot(){return snapshot();}export function subscribeProgress(listener){state.listeners.add(listener);listener(snapshot())// emit immediately on subscribe\n;return()=>state.listeners.delete(listener);}\nexport const __FramerMetadata__ = {\"exports\":{\"unregisterStep\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StepMeta\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"registerStep\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getProgressSnapshot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ProgressSnapshot\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StepId\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCurrentStep\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"subscribeProgress\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./progressStore.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useCallback}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{registerStep,unregisterStep}from\"https://framerusercontent.com/modules/12B8AB9Bv4kDOJuEbSRh/42ogUs7iocL733CUJPRd/progressStore.js\";import{canvasPlaceholderStyles}from\"https://framerusercontent.com/modules/Twkty2a79qUXeRPCL4lt/EFWwZVgiWwrd0Zb4NKKa/styles.js\";export function StepConfig({stepId,initial=false,gateMode=\"allValid\",progressAbsolute,variantKey,branchKey}){const markerRef=useRef(null);const stepRootRef=useRef(null);const originalDisplayRef=useRef(\"\");const findStepRoot=useCallback(()=>{const marker=markerRef.current;if(!marker)return null;let cur=marker.parentElement;while(cur){if(cur.getAttribute(\"data-framer-component-type\")===\"Frame\"){return cur;}cur=cur.parentElement;}return null;},[]);useEffect(()=>{if(!stepId)return;registerStep({id:stepId,variantKey,absolutePercent:typeof progressAbsolute===\"number\"?Math.max(0,Math.min(100,progressAbsolute)):undefined});return()=>unregisterStep(stepId);},[stepId,progressAbsolute,variantKey]);useEffect(()=>{if(RenderTarget.current()!==RenderTarget.canvas)return;stepRootRef.current=findStepRoot();const handler=e=>{const detail=e.detail;const root=stepRootRef.current??findStepRoot();if(!root)return;if(!originalDisplayRef.current){const inline=root.style.display;originalDisplayRef.current=inline||getComputedStyle(root).display||\"block\";}const myId=(markerRef.current?.dataset.stepId??\"\").trim();const myVariant=(markerRef.current?.dataset.variantKey??\"\").trim();const myBranch=(markerRef.current?.dataset.branchKey??\"\").trim();let chosen=false;if(detail.mode===\"all\"){// Show all steps\nchosen=true;}else if(detail.stepId?.trim()){// Highest priority: show only this specific step ID\nchosen=detail.stepId===myId;}else if(detail.branchKey?.trim()){// Second priority: show all steps matching this branch key\nchosen=detail.branchKey===myBranch;}else if(detail.variantKey?.trim()){// Third priority: show step matching variant key\nchosen=detail.variantKey===myVariant;}root.style.display=chosen?originalDisplayRef.current:\"none\";};const last=window.__teyaCanvasStepLast;if(last)handler(new CustomEvent(\"teya:canvasStepChange\",{detail:last}));window.addEventListener(\"teya:canvasStepChange\",handler);return()=>window.removeEventListener(\"teya:canvasStepChange\",handler);},[findStepRoot,stepId,branchKey,variantKey]);const dataAttrs={\"data-step-config\":\"\",\"data-step-id\":stepId??\"\",\"data-initial\":initial?\"true\":\"false\",\"data-gate-mode\":gateMode,\"data-variant-key\":variantKey??\"\",\"data-branch-key\":branchKey??\"\"};if(RenderTarget.current()===RenderTarget.canvas){const idText=stepId?.trim()||\"(unset)\";const vText=(variantKey?.trim()||\"(all users)\").toUpperCase();const gText=gateMode===\"anyValid\"?\"Any valid\":\"All valid\";const pText=typeof progressAbsolute===\"number\"?`${Math.max(0,Math.min(100,progressAbsolute))}%`:\"—\";const bText=branchKey?.trim()?`Branch: ${branchKey.trim()}`:null;return /*#__PURE__*/_jsxs(\"div\",{ref:markerRef,style:canvasPlaceholderStyles,...dataAttrs,children:[/*#__PURE__*/_jsxs(\"div\",{children:[\"Step Config: \",idText]}),bText&&/*#__PURE__*/_jsx(\"div\",{style:{fontSize:10,opacity:.6},children:bText})]});}return /*#__PURE__*/_jsx(\"div\",{ref:markerRef,...dataAttrs,style:{display:\"none\"}});}addPropertyControls(StepConfig,{stepId:{type:ControlType.String,title:\"Step ID\"},initial:{type:ControlType.Boolean,title:\"Initial\",defaultValue:false},gateMode:{type:ControlType.Enum,title:\"Gate Mode\",options:[\"allValid\",\"anyValid\"],optionTitles:[\"All valid\",\"Any valid\"],defaultValue:\"allValid\"},progressAbsolute:{type:ControlType.Number,title:\"Progress Bar %\",min:0,max:100,step:1,displayStepper:true,placeholder:\"optional\"},variantKey:{type:ControlType.Enum,title:\"Variant\",options:[\"\",\"A\",\"B\"],optionTitles:[\"(all users)\",\"A only\",\"B only\"],defaultValue:\"\"},branchKey:{type:ControlType.String,title:\"Branch Key\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"StepConfig\":{\"type\":\"reactComponent\",\"name\":\"StepConfig\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StepConfig.map","/** Resolve with sensible defaults, and build final CSS from interaction state */export function resolveButtonStyles(styles={}){const fontSize=styles.typography?.fontSize??14;const fontWeight=styles.typography?.fontWeight??600;const text=styles.colors?.text??\"#151515\";const bg=styles.colors?.bg??\"#F2F2F2\";const hoverBg=styles.colors?.hoverBg??bg;const pressBg=styles.colors?.pressBg??bg;const disabledBg=styles.colors?.disabledBg??bg;const border=styles.colors?.border??\"transparent\";const borderWidth=styles.border?.width??0;const radius=styles.border?.radius??12;const paddingV=styles.spacing?.paddingV??12;const paddingH=styles.spacing?.paddingH??16;const height=styles.spacing?.height??44;const shadow=styles.effects?.shadow??\"0 1px 2px rgba(0,0,0,0.06)\";const disabledOpacity=styles.effects?.disabledOpacity??.6;const ringColor=styles.focus?.ringColor??\"transparent\";const ringWidth=styles.focus?.ringWidth??0;const resolveBg=state=>{if(state.disabled)return disabledBg;if(state.press)return pressBg;if(state.hover)return hoverBg;return bg;};/** Final inline CSS for <button> */const buildStyle=state=>({background:resolveBg(state),color:text,borderColor:border,borderWidth,borderStyle:borderWidth?\"solid\":\"none\",borderRadius:radius,minHeight:height,maxHeight:height,padding:`${paddingV}px ${paddingH}px`,fontSize,fontWeight,boxShadow:shadow,outline:state.focus&&ringWidth>0?`${ringWidth}px solid ${ringColor}`:\"none\",transform:state.press?\"scale(0.98)\":state.hover?\"scale(1.02)\":\"none\",opacity:state.disabled?disabledOpacity:1,cursor:state.disabled?\"not-allowed\":\"pointer\",// Always fill the component’s frame width; you can resize the frame in Framer.\n    width:\"100%\",display:\"inline-flex\",alignItems:\"center\",justifyContent:\"center\",userSelect:\"none\",transition:\"transform 80ms ease, background 120ms ease, box-shadow 120ms ease, outline-color 120ms ease\"});return{tokens:{fontSize,fontWeight,colors:{text,bg,hoverBg,pressBg,disabledBg,border},border:{borderWidth,radius},spacing:{paddingV,paddingH,height},effects:{shadow,disabledOpacity},focus:{ringColor,ringWidth}},buildStyle};}\nexport const __FramerMetadata__ = {\"exports\":{\"ButtonVisualStyles\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"resolveButtonStyles\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./resolveButtonStyles.map","function getAmp(){const amp=typeof window!==\"undefined\"?window.amplitude:null;if(!amp||typeof amp.track!==\"function\")return null;return amp;}function getBaseContext(){const base={};// experiment context from ExperimentConfig (set on window)\ntry{const ctx=window.__teyaExp;if(ctx?.experiment)base.experiment=ctx.experiment;if(ctx?.variant)base.variant=ctx.variant;if(typeof ctx?.forced===\"boolean\")base.experiment_forced=ctx.forced;}catch{}// device id from amplitude (if available)\ntry{const amp=getAmp();const id=amp?.getDeviceId?.();if(id)base.deviceId=id;}catch{}// useful default for funnel analysis\ntry{if(typeof window!==\"undefined\")base.page_path=window.location?.pathname??\"/\";}catch{}return base;}export function track(eventName,props){try{const amp=getAmp();if(!amp)return;const payload={...getBaseContext(),...props??{}};amp.track(eventName,payload);}catch{}}// High-level helpers unchanged…\nexport function trackStepChange(fromStepId,toStepId){track(\"step_change\",{fromStepId,toStepId});}export function trackContinueClick(props){track(\"continue_click\",props);}export function trackContinueBlocked(reason,extra){track(\"continue_blocked\",{reason,...extra??{}});}export function trackValidationError(field,message){track(\"validation_error\",{field,message});}export function trackSubmitStart(extra){track(\"submit_start\",extra);}export function trackSubmitSuccess(extra){track(\"submit_success\",extra);}export function trackSubmitFailure(errorMessage,extra){track(\"submit_failure\",{error:errorMessage,...extra??{}});}export function trackFieldChange(name,value){track(\"field_change\",{field:name,value});}export function trackFieldFocus(name){track(\"field_focus\",{field:name});}export function trackFieldBlur(name){track(\"field_blur\",{field:name});}\nexport const __FramerMetadata__ = {\"exports\":{\"track\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackFieldBlur\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackSubmitStart\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackSubmitFailure\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackFieldChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"AnalyticsProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackStepChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackValidationError\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackContinueBlocked\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackSubmitSuccess\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackContinueClick\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"trackFieldFocus\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./analytics.map","/**\n * Utility function to smoothly scroll to top of the main scrollable container\n */export const scrollToTop=(behavior=\"smooth\")=>{if(typeof window===\"undefined\")return;// Helper function to check if an element is scrollable\nconst isScrollable=element=>{const style=window.getComputedStyle(element);const hasVerticalScroll=element.scrollHeight>element.clientHeight;const hasHorizontalScroll=element.scrollWidth>element.clientWidth;const canScroll=hasVerticalScroll||hasHorizontalScroll;const overflowY=style.overflowY;const overflowX=style.overflowX;const hasScrollableOverflow=overflowY===\"auto\"||overflowY===\"scroll\"||overflowX===\"auto\"||overflowX===\"scroll\";return canScroll&&(hasScrollableOverflow||overflowY!==\"visible\");};// Helper function to attempt scroll on an element\nconst tryScrollElement=element=>{if(element&&\"scrollTo\"in element&&typeof element.scrollTo===\"function\"){element.scrollTo({top:0,behavior});return true;}return false;};// 1. Try to find the main scrollable Framer container (any data-framer-name)\nconst framerContainers=document.querySelectorAll(\"[data-framer-name]\");for(const container of framerContainers){if(isScrollable(container)&&tryScrollElement(container)){return;}}// 2. Try common container selectors that might be scrollable\nconst containerSelectors=[\".framer-viewport\",\".framer-container\",\"[data-framer-page]\",\"main\",\"#root\",\"#main-content\",\".main-content\",\"body > div:first-child\",\"body\"];for(const selector of containerSelectors){const container=document.querySelector(selector);if(container&&isScrollable(container)&&tryScrollElement(container)){return;}}// 3. Find any scrollable parent element by walking up from current focus/active element\nlet activeElement=document.activeElement??document.body;while(activeElement&&activeElement!==document.documentElement){if(isScrollable(activeElement)&&tryScrollElement(activeElement)){return;}activeElement=activeElement.parentElement;}// 4. Try document.documentElement (html element)\nif(isScrollable(document.documentElement)&&tryScrollElement(document.documentElement)){return;}// 5. Final fallback to window scroll\nwindow.scrollTo({top:0,left:0,behavior});};\nexport const __FramerMetadata__ = {\"exports\":{\"scrollToTop\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./scrollToTop.map","import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{trackStepChange}from\"https://framerusercontent.com/modules/KHQRbo1PS40kxEtlsBHj/eAgZx6F6skeVRSwyjPMA/analytics.js\";import{setCurrentStep}from\"https://framerusercontent.com/modules/12B8AB9Bv4kDOJuEbSRh/42ogUs7iocL733CUJPRd/progressStore.js\";import{scrollToTop}from\"https://framerusercontent.com/modules/sAA5n8Id669OAtJXWmI3/ZiOBFvdqP1eH41aHqBKT/scrollToTop.js\";const useFormSteps=createStore({currentStep:\"\",history:[],initialStep:undefined});// Helper if you want to read initialStep safely elsewhere\nexport function useInitialStepId(){const[formSteps]=useFormSteps();return formSteps.initialStep??null;}export function useCurrentStepId(){const[formSteps]=useFormSteps();return formSteps.currentStep||null;}export function useStepHistory(){const[formSteps,setFormSteps]=useFormSteps();return{currentStep:formSteps.currentStep,currentHistory:formSteps.history,goToStep:nextStepId=>{if(!nextStepId)return;const from=formSteps.currentStep||null;if(from===nextStepId){setCurrentStep(nextStepId);trackStepChange(from,nextStepId);scrollToTop();return;}setFormSteps(prev=>{const updated={currentStep:nextStepId,history:prev.currentStep?[...prev.history,prev.currentStep]:prev.history,initialStep:prev.initialStep??nextStepId};return updated;});setCurrentStep(nextStepId);trackStepChange(from,nextStepId);scrollToTop();},goToPreviousStep:()=>{setFormSteps(prev=>{const list=[...prev.history];const prevStep=list.pop();const from=prev.currentStep||null;const to=prevStep??\"\";setCurrentStep(to||undefined);trackStepChange(from,to);scrollToTop();return{...prev,currentStep:to,history:list};});},resetHistory:()=>{setFormSteps(prev=>({...prev,history:[]}));}};}\nexport const __FramerMetadata__ = {\"exports\":{\"useStepHistory\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCurrentStepId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useInitialStepId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{ControlType}from\"framer\";export const BUTTON_STYLE_GROUP={styles:{type:ControlType.Object,title:\"Styles\",controls:{typography:{type:ControlType.Object,title:\"Typography\",controls:{fontSize:{type:ControlType.Number,title:\"Size\",defaultValue:14,min:8,max:48},fontWeight:{type:ControlType.Number,title:\"Weight\",defaultValue:600,min:100,max:900,step:50}}},colors:{type:ControlType.Object,title:\"Colors\",controls:{text:{type:ControlType.Color,title:\"Text\",defaultValue:\"#151515\"},bg:{type:ControlType.Color,title:\"Bg\",defaultValue:\"#F2F2F2\"},hoverBg:{type:ControlType.Color,title:\"Hover Bg\",defaultValue:\"#EAEAEA\"},pressBg:{type:ControlType.Color,title:\"Press Bg\",defaultValue:\"#E2E2E2\"},disabledBg:{type:ControlType.Color,title:\"Disabled Bg\",defaultValue:\"#F2F2F2\"},border:{type:ControlType.Color,title:\"Border\",defaultValue:\"transparent\"}}},border:{type:ControlType.Object,title:\"Border\",controls:{width:{type:ControlType.Number,title:\"Width\",defaultValue:0,min:0,max:8},radius:{type:ControlType.Number,title:\"Radius\",defaultValue:12,min:0,max:64}}},spacing:{type:ControlType.Object,title:\"Spacing\",controls:{paddingV:{type:ControlType.Number,title:\"Pad V\",defaultValue:12,min:0,max:40},paddingH:{type:ControlType.Number,title:\"Pad H\",defaultValue:16,min:0,max:40},height:{type:ControlType.Number,title:\"Height\",defaultValue:44,min:28,max:120}}},focus:{type:ControlType.Object,title:\"Focus\",controls:{ringColor:{type:ControlType.Color,title:\"Ring\",defaultValue:\"transparent\"},ringWidth:{type:ControlType.Number,title:\"Ring W\",defaultValue:0,min:0,max:6}}},effects:{type:ControlType.Object,title:\"Effects\",controls:{shadow:{type:ControlType.String,title:\"Shadow\",defaultValue:\"0 1px 2px rgba(0,0,0,0.06)\"},disabledOpacity:{type:ControlType.Number,title:\"Disabled Opacity\",defaultValue:.6,min:0,max:1,step:.05}}},layout:{type:ControlType.Object,title:\"Layout\",controls:{fullWidth:{type:ControlType.Boolean,title:\"Full width\",defaultValue:false}}}}}};\nexport const __FramerMetadata__ = {\"exports\":{\"BUTTON_STYLE_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./buttonStyleGroup.map","import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";export const useFields=createStore({});export const useFieldErrors=createStore({});export const useTouched=createStore({});export const useFormError=createStore(\"\");export const useIsSubmitting=createStore(false);export const useHasSubmitted=createStore(false);export const useSubmissionStatus=createStore(\"idle\");export const useRegisteredFields=createStore({});export const useVisibleRequired=createStore([]);export const useSubmitTimeHidden=createStore({});export const useFormSubmissionSessionId=createStore(null);export const useFormRenderTimestamp=createStore(0);const useFormRenderKey=createStore(0);export const useRenderKey=()=>useFormRenderKey();// Optional config\nexport const useUrl=createStore(\"\");export const useMethod=createStore(\"POST\");export const useContentType=createStore(\"application/json\");\nexport const __FramerMetadata__ = {\"exports\":{\"useFormError\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFormRenderTimestamp\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useTouched\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useContentType\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsSubmitting\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFieldErrors\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useVisibleRequired\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUrl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFields\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSubmissionStatus\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderKey\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRegisteredFields\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RegisteredFieldInfo\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSubmitTimeHidden\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMethod\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useHasSubmitted\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFormSubmissionSessionId\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./formStores.map","import{getCountryCodeFromUrl}from\"https://framerusercontent.com/modules/RRKeJWRObO6zvJYvvGR6/zKEzNyBZRUbMhkuSdoOC/Helpers.js\";import{parsePhoneNumberFromString}from\"libphonenumber-js\";const EMAIL_RE=/^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/;const PHONE_RE=/^\\+?[0-9\\s\\-]{7,15}$/;const URL_RE=/^(https?:\\/\\/)?([\\w-]+\\.)+[\\w-]+(\\/[\\w\\-._~:/?#[\\]@!$&'()*+,;=]*)?$/i;// Very light \"YYYY-MM-DD\" check (improve as needed)\nconst DATE_RE=/^\\d{4}-\\d{2}-\\d{2}$/;const POSTCODE_PATTERNS={GB:/^([A-Za-z][A-Ha-hJ-Yj-y]?[0-9][A-Za-z0-9]? ?[0-9][A-Za-z]{2}|GIR ?0AA)$/,IS:/^\\d{3}$/,IT:/^\\d{5}$/,ES:/^\\d{5}$/,PT:/^\\d{4}-\\d{3}$/,HR:/^\\d{5}$/,HU:/^\\d{4}$/,SK:/^\\d{3}\\s?\\d{2}$/,CZ:/^\\d{3}\\s?\\d{2}$/};const LOCAL_PHONE_PATTERNS={GB:/^0\\d{9,10}$/,IT:/^0\\d{9,10}$/,ES:/^6\\d{8}$/,PT:/^9\\d{8}$/,HR:/^0\\d{8,9}$/,HU:/^06\\d{8}$/,IS:/^\\d{7}$/,SK:/^0\\d{8,9}$/,CZ:/^(\\+420)?\\d{9}$/};/**\n * Rule registry: each rule returns:\n * - null (valid) OR\n * - a short error code string (\"invalid\", \"too_short\", etc.)\n *\n * IMPORTANT: rules DO NOT check for emptiness. If the value is empty,\n * they return null so optional fields can be left blank.\n * \"required\" gating is handled elsewhere.\n */export const ruleValidators={none:()=>null,email:val=>{const s=String(val??\"\").trim();if(s===\"\")return null;return EMAIL_RE.test(s)?null:\"invalid\";},phone:val=>{const raw=String(val??\"\").trim();if(raw===\"\")return null;const country=getCountryCodeFromUrl().toUpperCase();// 1) Try parsing using libphonenumber-js\nlet parsed;try{parsed=parsePhoneNumberFromString(raw,country);}catch{return\"invalid\";}// 2) If international number (+…), allow it anywhere but must be valid\nif(raw.startsWith(\"+\")){return parsed?.isValid()?null:\"invalid\";}// 3) Local format: must match its own region\n// libphonenumber will automatically apply national rules\nif(parsed?.isValid()&&parsed?.country===country){return null;}return\"invalid\";},postcode:(val,opts)=>{const s=String(val??\"\").trim();if(s===\"\")return null;const locale=opts?.localeCode??\"GB\";const regex=POSTCODE_PATTERNS[locale]??POSTCODE_PATTERNS[\"GB\"];return regex.test(s)?null:\"invalid\";},number:val=>{const s=String(val??\"\").trim();if(s===\"\")return null;return isFinite(Number(s))?null:\"not_number\";},integer:val=>{const s=String(val??\"\").trim();if(s===\"\")return null;return/^-?\\d+$/.test(s)?null:\"not_integer\";},minLength:(val,opts)=>{const s=String(val??\"\");if(s.trim()===\"\")return null;// optional\nconst min=opts?.minLength??0;return s.length>=min?null:\"too_short\";},maxLength:(val,opts)=>{const s=String(val??\"\");if(s.trim()===\"\")return null;// optional\nconst max=opts?.maxLength??Infinity;return s.length<=max?null:\"too_long\";},regex:(val,opts)=>{const s=String(val??\"\").trim();if(s===\"\")return null;try{const pattern=opts?.regex??\"\";const flags=opts?.regexFlags??\"\";const re=new RegExp(pattern,flags);return re.test(s)?null:\"invalid\";}catch{// Bad pattern—treat as invalid config; don't block user\nreturn null;}},url:val=>{const s=String(val??\"\").trim();if(s===\"\")return null;return URL_RE.test(s)?null:\"invalid\";},date:val=>{const s=String(val??\"\").trim();if(s===\"\")return null;return DATE_RE.test(s)?null:\"invalid\";},// Remote-only placeholders — real check happens in remote layer (blur)\nremote_postcode:()=>null,remote_phone:()=>null};\nexport const __FramerMetadata__ = {\"exports\":{\"ruleValidators\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Validator\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ValidationOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ValidationRuleName\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./validationRegistry.map","import{ruleValidators}from\"https://framerusercontent.com/modules/LboE7wz8pMkdY0seInTM/3k6PYVUKnk3XV9erML39/validationRegistry.js\";/**\n * Runs a specific rule (if provided) against a value.\n * If ruleName is \"none\" or undefined, returns null (no format validation).\n *\n * IMPORTANT: \"required\" is NOT checked here.\n */export function validateField(value,ruleName,opts){const name=ruleName??\"none\";const fn=ruleValidators[name];if(!fn)return null;return fn(value,opts);}\nexport const __FramerMetadata__ = {\"exports\":{\"validateField\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{validateField}from\"https://framerusercontent.com/modules/81qN9mU4rhdIFssbfi05/mhYGo4iauAEF6YrsxRcn/validateField.js\";export function validateForm(fields,requiredFields,rulesByField){const errors={};const touched={};const values=fields??{};const required=Array.isArray(requiredFields)?requiredFields:[];// Required: non-empty\nfor(const name of required){touched[name]=true;const v=values[name];const empty=v===undefined||v===null||typeof v===\"string\"&&v.trim()===\"\";if(empty){errors[name]=\"required\";}}// Format rules: only when there is a value\nif(rulesByField){for(const[name,meta]of Object.entries(rulesByField)){if(!meta||meta.rule===\"none\")continue;// Skip if already failing required (no value)\nif(errors[name]===\"required\")continue;const raw=values[name];const hasValue=raw!==undefined&&raw!==null&&!(typeof raw===\"string\"&&raw.trim()===\"\");if(hasValue){const formatErr=validateField(raw,meta.rule,meta.opts);if(formatErr){touched[name]=true;errors[name]=formatErr;}}}}return{isValid:Object.keys(errors).length===0,errors,touched};}\nexport const __FramerMetadata__ = {\"exports\":{\"validateForm\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FieldErrors\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RulesByField\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormFields\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FieldTouched\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Normalizes whatever the current step publishes into a tidy string[]\nexport function normalizeVisibleRequired(input){if(!input)return[];if(Array.isArray(input))return input.filter(Boolean);if(input instanceof Set)return Array.from(input).filter(Boolean);const obj=input;const maybeItems=obj.items;if(Array.isArray(maybeItems))return maybeItems.filter(Boolean);return Object.values(obj).filter(x=>typeof x===\"string\"&&!!x);}\nexport const __FramerMetadata__ = {\"exports\":{\"normalizeVisibleRequired\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./required.map","// Small, shared value helpers (keeps components lean)\nexport function hasValue(v){if(v==null)return false;if(typeof v===\"string\")return v.trim()!==\"\";if(Array.isArray(v))return v.length>0;return true;}\nexport const __FramerMetadata__ = {\"exports\":{\"hasValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./values.map","// --- Helpers --------------------------------------------------\nconst getQuery=(url=typeof window!==\"undefined\"?window.location.href:\"\")=>{try{return new URL(url||\"http://localhost\");}catch{return new URL(\"http://localhost\");}};const q=(key,url)=>{try{const val=getQuery(url).searchParams.get(key);return val?.trim()||undefined;}catch{return undefined;}};const cookie=(name,getCookie)=>{const val=getCookie?.(name)??(typeof document!==\"undefined\"?document.cookie.split(\"; \").find(c=>c.startsWith(name+\"=\"))?.split(\"=\")[1]:undefined);return val?.trim()?decodeURIComponent(val):undefined;};// --- Country from URL -----------------------------------------\nconst COUNTRY_CODES=[\"cz\",\"hr\",\"hu\",\"is\",\"pt\",\"sk\",\"it\",\"es\"];const COUNTRY_CODE_TO_ISO={cz:\"CZ\",hr:\"HR\",hu:\"HU\",is:\"IS\",pt:\"PT\",sk:\"SK\",it:\"IT\",es:\"ES\"};function getCountryCodeFromUrl(){if(typeof window===\"undefined\")return\"GB\";const pathname=window.location.pathname.toLowerCase();const match=COUNTRY_CODES.find(code=>pathname.startsWith(`/${code}`));return match?COUNTRY_CODE_TO_ISO[match]:\"GB\";}// --- Country name / currency mapping --------------------------\nconst countryMap={GB:\"United Kingdom\",CZ:\"Czechia\",HR:\"Croatia\",HU:\"Hungary\",IS:\"Iceland\",PT:\"Portugal\",SK:\"Slovakia\",IT:\"Italy\",ES:\"Spain\"};const currencyMap={GB:\"GBP\",CZ:\"CZK\",HR:\"EUR\",HU:\"HUF\",IS:\"ISK\",PT:\"EUR\",SK:\"EUR\",IT:\"EUR\",ES:\"EUR\"};// --- Providers ------------------------------------------------\nexport const HIDDEN_PROVIDERS={// Google Ads & UTM\ngclid:({url})=>q(\"gclid\",url),utm_source:({url})=>q(\"utm_source\",url),utm_medium:({url})=>q(\"utm_medium\",url),utm_campaign:({url})=>q(\"utm_campaign\",url),utm_term:({url})=>q(\"utm_term\",url),utm_content:({url})=>q(\"utm_content\",url),utm_id:({url})=>q(\"utm_id\",url),// Meta / Facebook\nfbclid:({url})=>q(\"fbclid\",url),fbc:({getCookie})=>cookie(\"_fbc\",getCookie),fbp:({getCookie})=>cookie(\"_fbp\",getCookie),// TikTok\nttclid:({url})=>q(\"ttclid\",url),ttp:({getCookie})=>cookie(\"_ttp\",getCookie),// Page Info\npathname:()=>typeof window!==\"undefined\"?window.location.pathname:undefined,hostname:()=>typeof window!==\"undefined\"?window.location.hostname:undefined,referrer:({referrer})=>referrer??(typeof document!==\"undefined\"?document.referrer:undefined),user_agent:()=>typeof navigator!==\"undefined\"?navigator.userAgent:undefined,// Session-based\nplan_id:()=>typeof window!==\"undefined\"?sessionStorage.getItem(\"plan_id\")||undefined:undefined,form_submission_session_id:()=>{if(typeof crypto!==\"undefined\"&&crypto.randomUUID)return crypto.randomUUID();return Math.random().toString(36).substring(2);},// Time\ntimestamp_iso:({now})=>(now??new Date).toISOString(),// Locale-derived from URL\ncountry:()=>{const code=getCountryCodeFromUrl();return countryMap[code]||undefined;},store_country_code:()=>getCountryCodeFromUrl(),currency:()=>{const code=getCountryCodeFromUrl();return currencyMap[code]||undefined;},// Manual override\ncustom:()=>undefined};// --- Resolver -------------------------------------------------\nexport function resolveHidden(kind,ctx={}){const fn=HIDDEN_PROVIDERS[kind];return fn?fn(ctx):undefined;}\nexport const __FramerMetadata__ = {\"exports\":{\"resolveHidden\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenKind\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ProviderCtx\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HIDDEN_PROVIDERS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./hiddenProviders.map","import{resolveHidden}from\"https://framerusercontent.com/modules/hlmkZ27Zs3s3u796dQpb/RNTPAOQqhiBTvYGtWaZW/hiddenProviders.js\";export function applySubmitHidden(fields,submitHidden,ctx={}){const output={...fields};for(const[apiName,{kind,value}]of Object.entries(submitHidden)){output[apiName]=kind===\"custom\"?value:resolveHidden(kind,ctx)??\"\";}return output;}\nexport const __FramerMetadata__ = {\"exports\":{\"applySubmitHidden\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./applySubmitHidden.map","export function toBodyAndHeaders(data,enc){if(enc===\"json\"){return{body:JSON.stringify(data),headers:{\"Content-Type\":\"application/json\"}};}if(enc===\"urlencoded\"){const params=new URLSearchParams;Object.entries(data).forEach(([k,v])=>params.set(k,v==null?\"\":String(v)));return{body:params.toString(),headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"}};}// Default to multipart\nconst fd=new FormData;Object.entries(data).forEach(([k,v])=>{if(v instanceof File)fd.append(k,v);else fd.append(k,v==null?\"\":String(v));});return{body:fd,headers:{}};}\nexport const __FramerMetadata__ = {\"exports\":{\"toBodyAndHeaders\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./toBodyAndHeaders.map","import{getCountryCodeFromUrl}from\"https://framerusercontent.com/modules/RRKeJWRObO6zvJYvvGR6/zKEzNyBZRUbMhkuSdoOC/Helpers.js\";// Conversion ID mapping\nconst SEZNAM_CONVERSIONS={\"/ppc/quiz-funnel\":{id:100265573,name:\"Quiz Funnel\"},\"/ppc/quiz\":{id:100265573,name:\"Quiz\"},\"/contact-sales\":{id:100257658,name:\"Contact Sales\"}};/**\n * Triggers Seznam conversion based on current page\n * Fires for CZ/SK users with marketing consent\n */export async function triggerSeznamConversion(){try{if(typeof window===\"undefined\")return;const countryCode=getCountryCodeFromUrl();const path=window.location.pathname.toLowerCase();// Only fire for CZ or SK\nif(countryCode!==\"cz\"&&countryCode!==\"sk\"){return;}// Determine which conversion ID to use based on path\nlet conversionConfig=null;for(const[pathMatch,config]of Object.entries(SEZNAM_CONVERSIONS)){if(path.includes(pathMatch)){conversionConfig=config;break;}}if(!conversionConfig)return;// GDPR marketing consent check\nconst hasMarketingConsent=(window.OnetrustActiveGroups??\"\").includes(\"C0004\");if(!hasMarketingConsent){console.log(`[Seznam] ${conversionConfig.name}: Skipping — no marketing consent`);return;}// Load rc.js if not already present\nif(!window.rc?.conversionHit){await new Promise(resolve=>{const script=document.createElement(\"script\");script.src=\"https://c.seznam.cz/js/rc.js\";script.async=true;script.integrity=\"sha384-GvhkEBZtj3Et3olhMDYZBeEYEGkIksl2I8mx25fyqZHM1f2dCHxYVNEykyKf6cK6\";script.crossOrigin=\"anonymous\";script.onload=()=>resolve();document.head.appendChild(script);});}if(window.rc?.conversionHit){// Update identities\nwindow.sznIVA?.IS?.updateIdentities?.({eid:null});// Fire conversion\nwindow.rc.conversionHit({id:conversionConfig.id,value:null,consent:1});console.log(`[Seznam] ${conversionConfig.name} conversion fired (ID: ${conversionConfig.id})`);}else{console.warn(\"[Seznam] conversionHit not available after script load\");}}catch(err){console.warn(\"[Seznam] Conversion failed\",err);}}\nexport const __FramerMetadata__ = {\"exports\":{\"triggerSeznamConversion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./seznam.map","import{triggerSeznamConversion}from\"https://framerusercontent.com/modules/BtOlVJ9vkZR6Klo9gGEm/oM1jpUXr3vwrpCZvxVlw/seznam.js\";export function buildHubspotRequest(payload,portalId,formId){if(!portalId||!formId)return null;const url=`https://api.hsforms.com/submissions/v3/integration/submit/${portalId}/${formId}`;const body={fields:Object.entries(payload).map(([name,value])=>({name,value}))};return{url,init:{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(body)},postSubmit:async()=>{await triggerSeznamConversion();}};}\nexport const __FramerMetadata__ = {\"exports\":{\"buildHubspotRequest\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{sendLeadEventToAdPlatforms}from\"https://framerusercontent.com/modules/Hm2WcqGoQhIKhvkPKs1Z/eAqLSDQCB7gF1AQP3drE/AdPlatformEvents.js\";import{useFbc,useFbp,useGclid,useTtclid,useTtp,useFormSubmissionSessionId}from\"https://framerusercontent.com/modules/CuVXhryFic55vNF7kLiY/GsJyEIQ24FAS9G4i6JzI/Stores.js\";import{BACKEND_BASE_URL}from\"https://framerusercontent.com/modules/o1aeipZQQXsUUIIJuQBL/TNu6AfidtYiipt5EacaR/Constants.js\";export function buildMerchantLeadRequest(payload,env,locale){const url=`${BACKEND_BASE_URL[env]}/forms`;const formData=new FormData;Object.entries(payload).forEach(([key,value])=>{if(value!==undefined&&value!==null){formData.append(key,String(value));}});const formSubmissionSessionId=crypto.randomUUID();const formName=\"merchant-lead-form\";const formHostname=typeof window!==\"undefined\"?window.location.hostname:\"\";const formPathname=typeof window!==\"undefined\"?window.location.pathname:\"\";formData.append(\"formSubmissionSessionId\",formSubmissionSessionId);formData.append(\"formName\",formName);formData.append(\"formHostname\",formHostname);formData.append(\"formPathname\",formPathname);formData.append(\"formCountry\",locale);return{url,init:{method:\"POST\",body:formData},postSubmit:async()=>{const fbc=useFbc.getValue();const fbp=useFbp.getValue();const gclid=useGclid.getValue();const ttclid=useTtclid.getValue();const ttp=useTtp.getValue();const uuid=useFormSubmissionSessionId.getValue();const firstName=payload.contactFirstName;const lastName=payload.contactLastName;const email=payload.contactEmail;const phone=payload.contactPhone;const monthlyTpvString=payload.businessExpectedMonthlyTpv;await sendLeadEventToAdPlatforms(env,uuid,firstName,lastName,email,phone,locale,fbc,fbp,gclid,ttclid,ttp,monthlyTpvString);useFormSubmissionSessionId.setValue(crypto.randomUUID());}};}\nexport const __FramerMetadata__ = {\"exports\":{\"buildMerchantLeadRequest\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Request transport and integration orchestration for SubmitButton\nimport{toBodyAndHeaders}from\"https://framerusercontent.com/modules/1GPiVUthJvFQtoo6eYCc/BkVVPXovoLX05kwl8wtB/toBodyAndHeaders.js\";import{getEnv}from\"https://framerusercontent.com/modules/RRKeJWRObO6zvJYvvGR6/zKEzNyBZRUbMhkuSdoOC/Helpers.js\";import{buildHubspotRequest}from\"https://framerusercontent.com/modules/tlik5QvfpXSJTkUQGnKJ/xyOJqCiUbVcuFqhrmrR1/hubspot.js\";import{buildMerchantLeadRequest}from\"https://framerusercontent.com/modules/Lsh3huQSAkVJaA6aeV2m/pPY4Xg6qVkDAMPDGdEiC/merchantLead.js\";export function buildCustomRequest(opts){const{environment,endpointProd=\"\",endpointStaging=\"\",method,encoding,payload}=opts;const envResolved=environment===\"prod\"||environment===\"staging\"||environment===\"dev\"?environment:getEnv();const endpoint=envResolved===\"prod\"?endpointProd.trim():endpointStaging.trim();if(!endpoint)return null;const{body,headers}=toBodyAndHeaders(payload,encoding);const isGet=method===\"GET\";const finalUrl=isGet&&body&&typeof body===\"string\"?`${endpoint}${endpoint.includes(\"?\")?\"&\":\"?\"}${body}`:endpoint;return{url:finalUrl,init:{method,headers,body:isGet?null:body}};}export function buildPredefinedRequest(opts){const{integration,environment,payload,hubspot,locale=\"GB\"}=opts;const envResolved=environment===\"prod\"||environment===\"staging\"||environment===\"dev\"?environment:getEnv();switch(integration){case\"hubspot\":return buildHubspotRequest(payload,hubspot?.portalId,hubspot?.formId);case\"merchant-lead\":return buildMerchantLeadRequest(payload,envResolved,locale);default:return null;}}export async function fetchWithTimeout(url,init,ms){const controller=new AbortController;const id=setTimeout(()=>controller.abort(),ms);try{return await fetch(url,{...init,signal:controller.signal});}finally{clearTimeout(id);}}export async function submitWithRetry(url,init,timeoutMs,retries){let attempt=0;let lastError=null;while(attempt<=retries){try{const res=await fetchWithTimeout(url,init,timeoutMs);if(!res.ok){const txt=await res.text().catch(()=>\"\");throw new Error(`HTTP ${res.status} ${res.statusText}${txt?` — ${txt}`:\"\"}`);}return res;}catch(err){lastError=err;attempt+=1;if(attempt>retries)throw lastError;}}if(lastError instanceof Error)throw lastError;throw new Error(String(lastError));}\nexport const __FramerMetadata__ = {\"exports\":{\"buildPredefinedRequest\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fetchWithTimeout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildCustomRequest\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"submitWithRetry\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{ControlType}from\"framer\";import{BUTTON_STYLE_GROUP}from\"https://framerusercontent.com/modules/9i2Alm7tGoDSsKzk9kk3/9Y1RthbcC9dcPnTigB3t/buttonStyleGroup.js\";export const SUBMIT_BUTTON_CONTROLS={// Labels\nlabel:{type:ControlType.String,title:\"Label\",defaultValue:\"Submit\"},loadingLabel:{type:ControlType.String,title:\"Loading Label\",defaultValue:\"Submitting...\"},submittedLabel:{type:ControlType.String,title:\"Submitted Label\",defaultValue:\"Submitted\"},// Mode\nintegrationMode:{type:ControlType.Enum,title:\"Mode\",options:[\"predefined\",\"custom\"],optionTitles:[\"Predefined\",\"Custom Endpoint\"],defaultValue:\"predefined\"},// Predefined\nintegration:{type:ControlType.Enum,title:\"Integration\",options:[\"hubspot\",\"merchant-lead\"],optionTitles:[\"HubSpot\",\"Merchant Lead\"],defaultValue:\"hubspot\",hidden:p=>p.integrationMode!==\"predefined\"},// HubSpot config (only when Mode = predefined & Integration = hubspot)\nhubspotPortalId:{type:ControlType.String,title:\"HubSpot Portal ID\",placeholder:\"123456\",hidden:p=>p.integrationMode!==\"predefined\"||p.integration!==\"hubspot\"},hubspotFormId:{type:ControlType.String,title:\"HubSpot Form ID\",placeholder:\"abc123\",hidden:p=>p.integrationMode!==\"predefined\"||p.integration!==\"hubspot\"},// Custom endpoint\nenvironment:{type:ControlType.Enum,title:\"Environment\",options:[\"auto\",\"production\",\"staging\",\"dev\"],optionTitles:[\"Auto\",\"Production\",\"Staging\",\"Development\"],defaultValue:\"auto\",hidden:p=>p.integrationMode!==\"custom\"},endpointProd:{type:ControlType.String,title:\"Prod Endpoint\",placeholder:\"https://api.example.com/submit\",hidden:p=>p.integrationMode!==\"custom\"},endpointStaging:{type:ControlType.String,title:\"Staging Endpoint\",placeholder:\"https://staging.api.example.com/submit\",hidden:p=>p.integrationMode!==\"custom\"},method:{type:ControlType.Enum,title:\"Method\",options:[\"POST\",\"PATCH\",\"GET\",\"PUT\"],defaultValue:\"POST\",hidden:p=>p.integrationMode!==\"custom\"},encoding:{type:ControlType.Enum,title:\"Encoding\",options:[\"json\",\"urlencoded\",\"multipart\"],optionTitles:[\"JSON\",\"URL-encoded\",\"Multipart\"],defaultValue:\"json\",hidden:p=>p.integrationMode!==\"custom\"},timeoutMs:{type:ControlType.Number,title:\"Timeout (ms)\",defaultValue:15e3,min:1e3,step:500,displayStepper:true,hidden:p=>p.integrationMode!==\"custom\"},retries:{type:ControlType.Number,title:\"Retries\",defaultValue:0,min:0,step:1,displayStepper:true,hidden:p=>p.integrationMode!==\"custom\"},// Success UX\nsuccessStepId:{type:ControlType.String,title:\"Success Step ID\",placeholder:\"(optional) step-success\"},redirectOnSuccess:{type:ControlType.String,title:\"Redirect on Success\",placeholder:\"/thank-you\"},// Bot Protection\nbotMinFilledRatio:{type:ControlType.Number,title:\"Min Filled Ratio\",defaultValue:.3,min:0,max:1,step:.1,displayStepper:true,description:\"Minimum fraction of form fields that must be filled (0-1). Submissions below this are silently blocked.\"},botMinTimeSeconds:{type:ControlType.Number,title:\"Min Time (s)\",defaultValue:1,min:0,max:30,step:1,displayStepper:true,description:\"Minimum seconds after form render before submission is allowed. Set 0 to disable.\"},// Styles (aligned with ContinueButton)\n...BUTTON_STYLE_GROUP};\nexport const __FramerMetadata__ = {\"exports\":{\"SUBMIT_BUTTON_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./controls.map","/**\n * Client-side bot detection for form submissions.\n *\n * Three layers:\n *  1. Honeypot — hidden field that only bots fill\n *  2. Filled-fields ratio — minimum % of fields must have values\n *  3. Time gate — submission must not happen too fast after render\n */import{hasValue}from\"https://framerusercontent.com/modules/LDXisB7uYJA6597I5HTt/zXhixOoL5Digm6OgZVcN/values.js\";/* ------------------------------- Checks ----------------------------------- *//** Returns `true` (blocked) if the honeypot field contains any value. */export function checkHoneypot(value){return value.trim().length>0;}/**\n * Returns `true` (blocked) if the ratio of non-empty fields to total fields\n * is below `minRatio`.\n *\n * Only counts string values — empty strings and whitespace-only are not\n * considered filled. If there are zero fields the check passes (not blocked).\n */export function checkFilledRatio(fields,minRatio){const entries=Object.values(fields);if(entries.length===0)return false;const filledCount=entries.filter(v=>hasValue(v)).length;return filledCount/entries.length<minRatio;}/**\n * Returns `true` (blocked) if the form was submitted faster than\n * `minSeconds` after first render.\n *\n * If `formRenderTimestamp` is 0 (not yet set) the check passes (not blocked).\n */export function checkSubmitTooFast(formRenderTimestamp,minSeconds){if(formRenderTimestamp===0||minSeconds<=0)return false;return Date.now()-formRenderTimestamp<minSeconds*1e3;}/* ----------------------------- Combined ----------------------------------- *//**\n * Runs all three bot checks in order (cheapest first).\n * Returns on first match.\n */export function runBotChecks(ctx){if(checkHoneypot(ctx.honeypotValue)){return{blocked:true,reason:\"honeypot\"};}if(checkFilledRatio(ctx.fields,ctx.minFilledRatio)){return{blocked:true,reason:\"insufficient_fields\"};}if(checkSubmitTooFast(ctx.formRenderTimestamp,ctx.minTimeSeconds)){return{blocked:true,reason:\"too_fast\"};}return{blocked:false,reason:null};}\nexport const __FramerMetadata__ = {\"exports\":{\"checkSubmitTooFast\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkFilledRatio\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BotCheckResult\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkHoneypot\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"runBotChecks\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BotCheckContext\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./botDetection.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useMemo,useState}from\"react\";import{addPropertyControls}from\"framer\";import{resolveButtonStyles}from\"https://framerusercontent.com/modules/2nm11oCJ9YbIAtty0hAj/yWPmlHEIysfpBb7BPDqb/resolveButtonStyles.js\";import{useFields,useFieldErrors,useFormError,useTouched,useVisibleRequired,useSubmitTimeHidden,useHasSubmitted,useFormRenderTimestamp}from\"https://framerusercontent.com/modules/Ax3pgpFugmVtkLyjK0aB/gjk6sN8WNzrAQFqhH8LV/formStores.js\";import{validateForm}from\"https://framerusercontent.com/modules/OyEfIKv9n5xUcgJ6ibLb/qWdGzh1zHLkDcT2uFdXP/validateForm.js\";import{applySubmitHidden}from\"https://framerusercontent.com/modules/bZBNT2fclwv54S30Lzih/81NaXLwXCmfqAz19fte8/applySubmitHidden.js\";import{useStepHistory}from\"https://framerusercontent.com/modules/wm78KsU1IYJJVRPxnalG/7zJiE09qHzT3tvBf6zOQ/stepStores.js\";import{track}from\"https://framerusercontent.com/modules/KHQRbo1PS40kxEtlsBHj/eAgZx6F6skeVRSwyjPMA/analytics.js\";import{buildCustomRequest,buildPredefinedRequest,submitWithRetry}from\"https://framerusercontent.com/modules/bOV2W00iXSLTkOKnEJ7q/eZuGwrdhproIU6Qwbm3z/transport.js\";import{normalizeVisibleRequired}from\"https://framerusercontent.com/modules/jsQEdCu29ceye0UOu35m/BPGbCPBY0YM25AuGTE4v/required.js\";import{hasValue}from\"https://framerusercontent.com/modules/LDXisB7uYJA6597I5HTt/zXhixOoL5Digm6OgZVcN/values.js\";import{SUBMIT_BUTTON_CONTROLS}from\"https://framerusercontent.com/modules/1LS7KO2XMmcvZhvxclni/wcBCbLN9FOdkGsxDQi4J/controls.js\";import{useLocale}from\"https://framerusercontent.com/modules/RRKeJWRObO6zvJYvvGR6/zKEzNyBZRUbMhkuSdoOC/Helpers.js\";import{trackFormSubmitted}from\"https://framerusercontent.com/modules/igq7p8GOBOI4S40OZnwj/PfprGB1zkrvDvbVaczmi/tracking.js\";import{runBotChecks}from\"https://framerusercontent.com/modules/WvT4EZIte8hCAj2HfiDV/79jRevkAG29xLAHa4u98/botDetection.js\";function resolveRedirectUrl(template,fields){return template.replace(/\\{(.*?)\\}/g,(_,key)=>{const fromFields=fields?.[key];if(typeof fromFields===\"string\"&&fromFields.trim()!==\"\"){return encodeURIComponent(fromFields.trim());}if(typeof localStorage!==\"undefined\"){const fromStorage=localStorage.getItem(key);if(fromStorage&&fromStorage.trim()!==\"\"){return encodeURIComponent(fromStorage.trim());}}return\"\";});}function buildTrackingContext(mode,integration,pagePath){const base={mode,page_path:pagePath};return mode===\"predefined\"?{...base,integration}:base;}const getCookieValue=name=>{if(typeof document===\"undefined\")return undefined;const cookies=document.cookie.split(\"; \");for(const cookie of cookies){const[key,...rest]=cookie.split(\"=\");if(key===name&&rest.length>0){return decodeURIComponent(rest.join(\"=\"));}}return undefined;};export function SubmitButton(props){const{label=\"Submit\",loadingLabel=\"Submitting...\",submittedLabel=\"Submitted\",incompleteMessage=\"Please complete the required fields before continuing.\",integrationMode=\"custom\",environment=\"auto\",endpointProd=\"\",endpointStaging=\"\",method=\"POST\",encoding=\"json\",timeoutMs=15e3,retries=0,integration=\"hubspot\",hubspotPortalId=\"\",hubspotFormId=\"\",successStepId,redirectOnSuccess,styles={},botMinFilledRatio=.3,botMinTimeSeconds=1}=props;const locale=useLocale();const submitHiddenRef=useSubmitTimeHidden();const[formRenderTimestamp]=useFormRenderTimestamp();const[honeypotValue,setHoneypotValue]=useState(\"\");const[isPressed,setPressed]=useState(false);const[isFocused,setFocused]=useState(false);const[isHovered,setHovered]=useState(false);const[isSubmitting,setIsSubmitting]=useState(false);const[submitted,setSubmitted]=useHasSubmitted();const[isFormValid,setIsFormValid]=useState(false);const[fields]=useFields();const[errors,setErrors]=useFieldErrors();const[,setFormError]=useFormError();const[touched,setTouched]=useTouched();const[visibleRequired]=useVisibleRequired();const{goToStep}=useStepHistory();const required=useMemo(()=>normalizeVisibleRequired(visibleRequired),[visibleRequired]);useEffect(()=>{if(required.length===0){setIsFormValid(false);return;}const f=fields;const e=errors;const ok=required.every(name=>hasValue(f?.[name])&&!e?.[name]);setIsFormValid(ok);},[fields,errors,touched,required]);const handleSubmit=async e=>{e.preventDefault();if(submitted||isSubmitting)return;// Track form submit before validation\ntrackFormSubmitted(\"Contact Sales\");const pagePath=window?.location?.pathname??\"\";// Access hidden fields\nconst submitHidden=submitHiddenRef[0];const materialized=applySubmitHidden(fields,submitHidden,{getCookie:getCookieValue,url:window.location.href,referrer:document.referrer});// Bot detection: honeypot, filled-ratio, and time-gate checks\nconst userFields=fields;const botResult=runBotChecks({fields:userFields,formRenderTimestamp,honeypotValue,minFilledRatio:botMinFilledRatio,minTimeSeconds:botMinTimeSeconds});if(botResult.blocked){track(\"form_bot_blocked\",{reason:String(botResult.reason),page_path:pagePath});// Fake success — bot cannot tell it was blocked\nsetSubmitted(true);setFormError(\"\");if(redirectOnSuccess&&typeof window!==\"undefined\"){window.location.assign(resolveRedirectUrl(redirectOnSuccess,materialized));return;}if(successStepId)goToStep(successStepId);return;}const{isValid,errors:newErrors,touched:newTouched}=validateForm(materialized,required);setErrors(newErrors);setTouched(newTouched);if(!isValid){Object.entries(newErrors).forEach(([field,msg])=>{if(msg)track(\"form_validation_error\",{field,message:String(msg),page_path:pagePath});});setFormError(incompleteMessage);return;}const req=integrationMode===\"predefined\"?buildPredefinedRequest({integration:integration,payload:materialized,environment,hubspot:{portalId:hubspotPortalId,formId:hubspotFormId},locale}):buildCustomRequest({environment,endpointProd,endpointStaging,method,encoding,payload:materialized});if(!req){setFormError(\"Submission endpoint is not configured.\");track(\"form_submit_failure\",{reason:\"no_request_config\",...buildTrackingContext(integrationMode,integration,pagePath)});return;}try{setIsSubmitting(true);setFormError(\"\");track(\"form_submit_start\",buildTrackingContext(integrationMode,integrationMode===\"predefined\"?integration:undefined,pagePath));const res=await submitWithRetry(req.url,req.init,timeoutMs,retries);try{await res.clone().json();}catch{}if(\"postSubmit\"in req&&typeof req.postSubmit===\"function\"){await req.postSubmit();}setSubmitted(true);setIsSubmitting(false);setFormError(\"\");track(\"form_submit_success\",buildTrackingContext(integrationMode,integration,pagePath));if(redirectOnSuccess&&typeof window!==\"undefined\"){const resolved=resolveRedirectUrl(redirectOnSuccess,materialized);window.location.assign(resolved);return;}if(successStepId)goToStep(successStepId);}catch(err){setIsSubmitting(false);const msg=err instanceof Error?err.message:String(err);setFormError(msg);track(\"form_submit_failure\",{reason:msg,...buildTrackingContext(integrationMode,integration,pagePath)});}};const r=resolveButtonStyles(styles);const disabled=isSubmitting||submitted||!isFormValid;const style=r.buildStyle({disabled,hover:isHovered,press:isPressed,focus:isFocused});const handleHoneypotChange=e=>{setHoneypotValue(e.target.value);};return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:{position:\"absolute\",left:\"-9999px\",top:\"-9999px\",opacity:0,height:0,width:0,overflow:\"hidden\",pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"input\",{type:\"text\",tabIndex:-1,autoComplete:\"off\",name:\"company_website\",value:honeypotValue,onChange:handleHoneypotChange})}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:disabled,formNoValidate:true,style:{...style,fontFamily:\"Figtree, system-ui, sans-serif\",cursor:disabled?\"not-allowed\":\"pointer\",opacity:disabled?r.tokens.effects.disabledOpacity:1,transition:\"transform 120ms ease, opacity 120ms ease, background 120ms ease\"},onFocus:()=>setFocused(true),onBlur:()=>setFocused(false),onMouseEnter:()=>setHovered(true),onMouseLeave:()=>setHovered(false),onMouseDown:()=>setPressed(true),onMouseUp:()=>setPressed(false),onClick:handleSubmit,children:isSubmitting?loadingLabel:submitted?submittedLabel:label})]});}// Framer type limitation\naddPropertyControls(SubmitButton,SUBMIT_BUTTON_CONTROLS);\nexport const __FramerMetadata__ = {\"exports\":{\"SubmitButtonProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SubmitButton\":{\"type\":\"reactComponent\",\"name\":\"SubmitButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// -------- --------           -------- -------- //\n// -------- -------- Constants -------- -------- //\n// -------- --------           -------- -------- //\n// --- Regex patterns ---\nexport const REG_EXPS={email:/^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/};// --- Input type ---\nexport const INPUT_TYPE_OPTIONS=[\"checkbox\",\"color\",\"date\",\"datetime-local\",\"email\",\"file\",\"hidden\",\"image\",\"month\",\"number\",\"password\",\"radio\",\"range\",\"reset\",\"search\",\"tel\",\"text\",\"time\",\"url\",\"week\"];export const INPUT_TYPE_OPTION_TITLES=[\"Checkbox\",\"Color\",\"Date\",\"Datetime-local\",\"Email\",\"File\",\"Hidden\",\"Image\",\"Month\",\"Number\",\"Password\",\"Radio\",\"Range\",\"Reset\",\"Search\",\"Phone\",\"Text\",\"Time\",\"URL\",\"Week\"];// --- Input mode ---\nexport const INPUT_MODE_OPTIONS=[\"none\",\"text\",\"decimal\",\"numeric\",\"tel\",\"search\",\"email\",\"url\"];export const INPUT_MODE_OPTION_TITLES=[\"None\",\"Text\",\"Decimal\",\"Numeric\",\"Tel\",\"Search\",\"Email\",\"URL\"];// --- Autocomplete ---\nexport const INPUT_AUTOCOMPLETE_OPTIONS=[\"on\",\"off\",\"name\",\"honorific-prefix\",\"given-name\",\"additional-name\",\"family-name\",\"honorific-suffix\",\"nickname\",\"email\",\"username\",\"new-password\",\"current-password\",\"one-time-code\",\"organization-title\",\"organization\",\"street-address\",\"address-line1\",\"address-line2\",\"address-line3\",\"address-level1\",\"address-level2\",\"address-level3\",\"address-level4\",\"country\",\"country-name\",\"postal-code\",\"cc-name\",\"cc-number\",\"cc-exp\",\"cc-exp-month\",\"cc-exp-year\",\"cc-csc\",\"cc-type\",\"transaction-currency\",\"transaction-amount\",\"language\",\"bday\",\"bday-day\",\"bday-month\",\"bday-year\",\"sex\",\"tel\",\"tel-country-code\",\"tel-national\",\"tel-area-code\",\"tel-local\",\"tel-extension\",\"impp\",\"url\",\"photo\"];export const INPUT_AUTOCOMPLETE_OPTION_TITLES=[\"On\",\"Off\",\"Name\",\"Honorific prefix\",\"Given name\",\"Additional name\",\"Family name\",\"Honorific suffix\",\"Nickname\",\"Email\",\"Username\",\"New password\",\"Current password\",\"One-time code\",\"Job title\",\"Organization\",\"Street address\",\"Address line 1\",\"Address line 2\",\"Address line 3\",\"Address level 1\",\"Address level 2\",\"Address level 3\",\"Address level 4\",\"Country\",\"Country name\",\"Postal code\",\"Credit card name\",\"Credit card number\",\"Credit card expiry\",\"Credit card expiry month\",\"Credit card expiry year\",\"Credit card CSC\",\"Credit card type\",\"Transaction currency\",\"Transaction amount\",\"Language\",\"Birthday\",\"Birthday day\",\"Birthday month\",\"Birthday year\",\"Sex\",\"Phone\",\"Phone country code\",\"Phone national\",\"Phone area code\",\"Phone local\",\"Phone extension\",\"Instant messaging address\",\"URL\",\"Photo\"];// --- Hidden field kinds ---\nexport const HIDDEN_KIND_OPTIONS=[\"gclid\",\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_term\",\"utm_content\",\"utm_id\",\"fbclid\",\"fbc\",\"fbp\",\"ttclid\",\"ttp\",\"pathname\",\"hostname\",\"referrer\",\"user_agent\",\"timestamp_iso\",\"country\",\"store_country_code\",\"currency\",\"plan_id\",\"form_submission_session_id\",\"custom\"];export const HIDDEN_KIND_TITLES=[\"Google Click ID (gclid)\",\"UTM Source\",\"UTM Medium\",\"UTM Campaign\",\"UTM Term\",\"UTM Content\",\"UTM ID\",\"Facebook Click ID (fbclid)\",\"Meta FBC\",\"Meta FBP\",\"TikTok Click ID (ttclid)\",\"TikTok Pixel (ttp)\",\"Pathname\",\"Hostname\",\"Referrer\",\"User Agent\",\"Timestamp (ISO)\",\"Store Country (from locale)\",\"Store Country Code (from locale)\",\"Currency (from locale)\",\"Plan ID (session)\",\"Form Submission Session ID (UUID)\",\"Custom value\"];\nexport const __FramerMetadata__ = {\"exports\":{\"InputType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"INPUT_TYPE_OPTION_TITLES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"INPUT_AUTOCOMPLETE_OPTION_TITLES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputAutocomplete\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"INPUT_MODE_OPTION_TITLES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputMode\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"INPUT_TYPE_OPTIONS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"INPUT_MODE_OPTIONS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HIDDEN_KIND_TITLES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"REG_EXPS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"INPUT_AUTOCOMPLETE_OPTIONS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HIDDEN_KIND_OPTIONS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./constants.map","import{ControlType}from\"framer\";import{HIDDEN_KIND_OPTIONS,HIDDEN_KIND_TITLES}from\"https://framerusercontent.com/modules/GWvHDLdg8sZ3VTGmNON6/2bnNww1yG73PcyBnHG3l/constants.js\";export const HIDDEN_FIELD_CONTROLS={apiName:{type:ControlType.String,title:\"API Name\",defaultValue:\"gclid\"},kind:{type:ControlType.Enum,title:\"Kind\",options:HIDDEN_KIND_OPTIONS,optionTitles:HIDDEN_KIND_TITLES,defaultValue:\"gclid\"},populate:{type:ControlType.Enum,title:\"Populate\",options:[\"render\",\"submit\"],optionTitles:[\"On Render\",\"On Submit\"],defaultValue:\"render\"},value:{type:ControlType.String,title:\"Custom Value\",hidden:p=>p.kind!==\"custom\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"HIDDEN_FIELD_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,RenderTarget}from\"framer\";import{useEffect,useState}from\"react\";import{resolveHidden}from\"https://framerusercontent.com/modules/hlmkZ27Zs3s3u796dQpb/RNTPAOQqhiBTvYGtWaZW/hiddenProviders.js\";import{useFields,useSubmitTimeHidden}from\"https://framerusercontent.com/modules/Ax3pgpFugmVtkLyjK0aB/gjk6sN8WNzrAQFqhH8LV/formStores.js\";import{HIDDEN_FIELD_CONTROLS}from\"https://framerusercontent.com/modules/DfcVcTAIUH2ZvbBug3DT/jfmSVIxTG0VCqqrJGYgP/controls.js\";import{canvasPlaceholderStyles}from\"https://framerusercontent.com/modules/Twkty2a79qUXeRPCL4lt/EFWwZVgiWwrd0Zb4NKKa/styles.js\";export function HiddenField({apiName,kind,populate,value}){const[,setFields]=useFields();const[,setSubmitHidden]=useSubmitTimeHidden();const[uuid]=useState(()=>kind===\"form_submission_session_id\"?crypto.randomUUID():undefined);useEffect(()=>{if(kind===\"form_submission_session_id\"){if(uuid){setFields(prev=>({...prev,[apiName]:uuid}));}return;}if(populate===\"render\"){const resolved=kind===\"custom\"?value:resolveHidden(kind,{});if(resolved!==undefined){setFields(prev=>({...prev,[apiName]:resolved}));}}else{setSubmitHidden(prev=>({...prev,[apiName]:{kind,value}}));}},[apiName,kind,populate,value,uuid,setFields,setSubmitHidden]);if(RenderTarget.current()===RenderTarget.canvas){return /*#__PURE__*/_jsxs(\"div\",{style:canvasPlaceholderStyles,children:[\"Hidden Field: \",apiName,\" (\",kind,\")\"]});}return null;}addPropertyControls(HiddenField,HIDDEN_FIELD_CONTROLS);\nexport const __FramerMetadata__ = {\"exports\":{\"HiddenField\":{\"type\":\"reactComponent\",\"name\":\"HiddenField\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";export function FieldShell({visible,label,labelStyle,error,errorStyle,children,labelSpacing}){if(!visible)return null;const wrapperStyle={display:\"flex\",flexDirection:\"column\",gap:labelSpacing,width:\"100%\"};return /*#__PURE__*/_jsxs(\"label\",{style:wrapperStyle,children:[label&&/*#__PURE__*/_jsx(\"span\",{style:labelStyle,children:label}),children,error&&/*#__PURE__*/_jsx(\"span\",{style:errorStyle,children:error})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"FieldShell\":{\"type\":\"reactComponent\",\"name\":\"FieldShell\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FieldShell.map","import{jsx as _jsx}from\"react/jsx-runtime\";/**\n * Injects scoped placeholder color styling.\n * Example: <PlaceholderStyle selector='input[data-uid=\"abc\"]' color=\"#999\" />\n */export function PlaceholderStyle({selector,color}){return /*#__PURE__*/_jsx(\"style\",{children:`${selector}::placeholder { color: ${color}; }`});}\nexport const __FramerMetadata__ = {\"exports\":{\"PlaceholderStyle\":{\"type\":\"reactComponent\",\"name\":\"PlaceholderStyle\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PlaceholderStyle.map","/**\n * Chooses the correct border color based on error/focus/idle state.\n */export function resolveBorderColor({showError,error,isFocused,errorColor,focusColor,baseColor}){if(showError&&error)return errorColor;if(isFocused)return focusColor;return baseColor;}\nexport const __FramerMetadata__ = {\"exports\":{\"resolveBorderColor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./resolveBorderColor.map","import{labelTextStyles}from\"https://framerusercontent.com/modules/Twkty2a79qUXeRPCL4lt/EFWwZVgiWwrd0Zb4NKKa/styles.js\";export function resolveInputStyles(styles){// typography\nconst fontFamily=styles?.typography?.fontFamily??\"Figtree, system-ui, sans-serif\";const fontSize=styles?.typography?.fontSize??16;const fontWeight=styles?.typography?.fontWeight??400;const letterSpacing=styles?.typography?.letterSpacing??0;const lineHeight=styles?.typography?.lineHeight??20;const textAlign=styles?.typography?.textAlign??\"left\";// colors\nconst textColor=styles?.colors?.textColor??\"#0F0F00\";const placeholderColor=styles?.colors?.placeholderColor??\"rgba(15,15,0,0.47)\";const backgroundColor=styles?.colors?.backgroundColor??\"#FFFFFF\";// border\nconst borderColor=styles?.border?.borderColor??\"#E3E3E0\";const focusBorderColor=styles?.border?.focusBorderColor??\"#0A84FF\";const errorBorderColor=styles?.border?.errorBorderColor??\"#A91E00\";const borderRadius=styles?.border?.borderRadius??12;const borderWidth=styles?.border?.borderWidth??1;// spacing\nconst paddingV=styles?.spacing?.paddingV??12;const paddingH=styles?.spacing?.paddingH??12;const height=styles?.spacing?.height;const labelSpacing=styles?.spacing?.labelSpacing??8;// label + error\nconst labelColor=styles?.label?.color??\"#0F0F00\";const labelSize=styles?.label?.size??14;const labelWeight=styles?.label?.weight??400;const errorColor=styles?.error?.color??\"#A91E00\";const errorSize=styles?.error?.size??12;return{// expose for component inline style\nfontFamily,fontSize,fontWeight,letterSpacing,lineHeight,textAlign,textColor,placeholderColor,backgroundColor,borderColor,focusBorderColor,errorBorderColor,borderRadius,borderWidth,paddingV,paddingH,height,labelSpacing,// FieldShell label + error\nlabelStyle:{...labelTextStyles,color:labelColor,fontSize:labelSize,fontWeight:labelWeight,display:\"inline-block\"},errorStyle:{...labelTextStyles,color:errorColor,fontSize:errorSize,marginTop:4}};}\nexport const __FramerMetadata__ = {\"exports\":{\"resolveInputStyles\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./resolveInputStyles.map","/**\n * Normalize a component's validation-related props into a stable\n * config object with sensible defaults. Consumers of this helper\n * can rely on `validationRule` always being defined.\n */export function buildValidationConfig({required,errorRequired,errorInvalid,errorTooYoung,validationRule=\"none\",minLength,maxLength,regex,regexFlags,localeCode}){return{required,errorRequired,errorInvalid,errorTooYoung,validationRule,minLength,maxLength,regex,regexFlags,localeCode};}\nexport const __FramerMetadata__ = {\"exports\":{\"buildValidationConfig\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ValidationConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ValidationRule\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./buildValidationConfig.map","/**\n * Ensures `required` only applies if the field is visible.\n * Keeps step-level gating clean when conditional visibility is in play.\n */export function requiredWhenVisible(required,visible){return Boolean(required&&visible);}\nexport const __FramerMetadata__ = {\"exports\":{\"requiredWhenVisible\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./requiredWhenVisible.map","/**\n * Visibility rules decide whether a component is shown.\n *\n * Behavior:\n *  - \"show_when\": show if rule evaluates true\n *  - \"hide_when\": hide  if rule evaluates true (i.e. invert)\n *\n * Operators are intentionally simple for authors:\n *  - equals, notEquals\n *  - contains, notContains            (strings or arrays)\n *  - inList, notInList                (CSV string -> list)\n *  - matches                          (regex literal \"/re/i\" or plain \"re\")\n *  - isSet, isBlank                   (presence)\n *\n * Internally we normalize a few aliases for flexibility.\n *//* ----------------------- normalization helpers ----------------------- */function normKey(c){const k=(c.field??c.apiName??c.name??c.key??\"\").trim();return k||null;}/** Map user-facing ops to the compact internal set. */function normOp(op){const s=(op??\"\").toLowerCase().trim();// main set\nif(s===\"equals\"||s===\"is\"||s===\"=\"||s===\"==\")return\"equals\";if(s===\"notequals\"||s===\"isnot\"||s===\"!=\")return\"notEquals\";if(s===\"contains\"||s===\"includes\")return\"contains\";if(s===\"notcontains\"||s===\"excludes\")return\"notContains\";if(s===\"in\"||s===\"inlist\")return\"in\";if(s===\"notin\"||s===\"notinlist\")return\"notIn\";if(s===\"matches\"||s===\"regex\"||s===\"re\")return\"regex\";if(s===\"isset\"||s===\"present\"||s===\"truthy\")return\"truthy\";if(s===\"isblank\"||s===\"blank\"||s===\"empty\"||s===\"falsy\")return\"falsy\";// default to equals for unknowns (keeps authoring forgiving)\nreturn\"equals\";}function isCondObject(v){if(!v||typeof v!==\"object\")return false;const o=v;return typeof(o.field??o.apiName??o.name??o.key)===\"string\"||typeof(o.op??o.operator??o.is)===\"string\";}function pickArrayBag(bag){return Array.isArray(bag)?bag.filter(isCondObject):[];}function collectConditions(rule){if(!rule)return[];if(Array.isArray(rule))return rule.filter(isCondObject);if(isCondObject(rule))return[rule];const obj=rule;const candidates=[pickArrayBag(obj.conditions),pickArrayBag(obj.rules),pickArrayBag(obj.when),pickArrayBag(obj.all),pickArrayBag(obj.any)];for(const arr of candidates)if(arr.length>0)return arr;return[];}function normMode(rule){const obj=rule??{};const raw=obj.mode??obj.logic;if(raw){const s=raw.toLowerCase();return s===\"any\"||s===\"or\"?\"any\":\"all\";}const anyBag=pickArrayBag(obj.any);return anyBag.length>0?\"any\":\"all\";}function normBehavior(rule){const obj=rule??{};const raw=obj.behavior??obj.action;return raw===\"hide_when\"?\"hide_when\":\"show_when\";}function normalize(rule){const rawConds=collectConditions(rule);const conditions=[];for(const c of rawConds){const key=normKey(c);if(!key)continue;conditions.push({key,op:normOp(c.op??c.operator??c.is),value:c.value});}if(conditions.length===0)return null;return{behavior:normBehavior(rule),mode:normMode(rule),conditions};}/* ---------------------------- evaluation ---------------------------- */function isEmpty(v){return v===null||v===undefined||typeof v===\"string\"&&v.trim()===\"\"||Array.isArray(v)&&v.length===0;}function toRegExp(input){if(input instanceof RegExp)return input;if(typeof input!==\"string\")return null;// support \"/pattern/flags\" or plain \"pattern\"\nconst m=input.match(/^\\/(.+)\\/([a-z]*)$/i);if(m){try{return new RegExp(m[1],m[2]);}catch{return null;}}try{return new RegExp(input);}catch{return null;}}function asString(v){return typeof v===\"string\"?v:String(v);}function toCsvList(v){if(Array.isArray(v))return v.map(asString);const s=asString(v??\"\");if(!s)return[];return s.split(\",\").map(x=>x.trim()).filter(Boolean);}function evalOne(cond,fields){const left=fields[cond.key];const right=cond.value;switch(cond.op){case\"equals\":return asString(left)===asString(right);case\"notEquals\":return asString(left)!==asString(right);case\"contains\":if(typeof left===\"string\")return left.includes(asString(right??\"\"));if(Array.isArray(left))return left.includes(right);return false;case\"notContains\":if(typeof left===\"string\")return!left.includes(asString(right??\"\"));if(Array.isArray(left))return!left.includes(right);return true;case\"in\":{const list=toCsvList(right);return list.map(asString).includes(asString(left));}case\"notIn\":{const list=toCsvList(right);return!list.map(asString).includes(asString(left));}case\"regex\":{if(typeof left!==\"string\")return false;const re=toRegExp(right);return re?re.test(left):false;}case\"truthy\":return!isEmpty(left);case\"falsy\":return isEmpty(left);}}/**\n * Evaluate a rule against current field values.\n * - No usable conditions => visible (safe default).\n * - \"show_when\": result = eval(conditions)\n * - \"hide_when\": result = !eval(conditions)\n */export function evaluateVisibility(rule,fields){const norm=normalize(rule);if(!norm)return true;const base=norm.mode===\"all\"?norm.conditions.every(c=>evalOne(c,fields)):norm.conditions.some(c=>evalOne(c,fields));return norm.behavior===\"hide_when\"?!base:base;}\nexport const __FramerMetadata__ = {\"exports\":{\"RawRule\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RawCondition\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VisibilityRule\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"evaluateVisibility\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./visibility.map","export function getErrorMessage(rawError,messages){if(!rawError)return null;return messages[rawError]||\"Invalid\";}\nexport const __FramerMetadata__ = {\"exports\":{\"getErrorMessage\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./getErrorMessage.map","export function errorMessagesFromProps(props){return{required:props.errorRequired,invalid:props.errorInvalid,not_number:\"Enter a valid number\",too_young:props.errorTooYoung};}\nexport const __FramerMetadata__ = {\"exports\":{\"errorMessagesFromProps\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./errorMessagesFromProps.map","import{validateField}from\"https://framerusercontent.com/modules/81qN9mU4rhdIFssbfi05/mhYGo4iauAEF6YrsxRcn/validateField.js\";import{getErrorMessage}from\"https://framerusercontent.com/modules/5IlqeeO3n62z9NWl3yls/S2K0cPwrrOzEhVcV3Iet/getErrorMessage.js\";import{errorMessagesFromProps}from\"https://framerusercontent.com/modules/6xkWJnMFm9wfZbbMEKzK/qsbxft1ajeQR4fd9dJqn/errorMessagesFromProps.js\";export const validateAndSetError=(apiName,value,props,setFieldErrors)=>{const{required=false,validationRule=\"none\",...messageProps}=props??{};// Normalize / trim for emptiness check\nconst v=typeof value===\"string\"?value.trim():value;// 1) Required short-circuit\nlet rawError=null;const isEmpty=v===undefined||v===null||typeof v===\"string\"&&v===\"\";if(required&&isEmpty){rawError=\"required\";}else if(!isEmpty){// 2) Run chosen rule ONLY when there is a value\nrawError=validateField(v,validationRule,props);}else{// empty + not required => no error\nrawError=null;}// 3) Map validator key -> final message using your helpers\nconst messages=errorMessagesFromProps(messageProps);const finalMessage=getErrorMessage(rawError,messages);setFieldErrors(prev=>({...prev,[apiName]:finalMessage}));};\nexport const __FramerMetadata__ = {\"exports\":{\"validateAndSetError\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Map a canvas Validation rule to a remote validator.\n// Add more mappings here as workers added - make sure to update validationRegistry.ts and RemoteValidatorKind accordingly\nexport function toRemoteMapping(rule){if(rule===\"remote_postcode\"){return{kind:\"postcode\"};}if(rule===\"remote_phone\"){return{kind:\"phone\"};}return null;}\nexport const __FramerMetadata__ = {\"exports\":{\"toRemoteMapping\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./remoteRuleHelpers.map","// Remote validators are hard-wired to Cloudflare Workers.\n// Workers return JSON: { valid: boolean, message?: string, normalized?: string }\nfunction resolveEnv(){const host=typeof window!==\"undefined\"?window.location.hostname:\"\";return/localhost|127\\.0\\.0\\.1|staging|preview|dev/i.test(host)?\"staging\":\"production\";}// Point these at Workers when set up\n// postcode: UK/EU postcode validation + optional normalization (e.g. \"EC1A 1BB\").\n// phone: HLR/number validation + optional E.164 normalization (e.g. \"+4420…\").\nconst WORKERS={postcode:{production:\"https://postcode-validate.teya.workers.dev/validate\",staging:\"https://postcode-validate-staging.teya.workers.dev/validate\"},phone:{production:\"https://hlr-validate.teya.workers.dev/validate\",staging:\"https://hlr-validate-staging.teya.workers.dev/validate\"}};const cache=new Map;const CACHE_TTL_MS=3e4;function cacheKey(i){return`${i.kind}|${(i.value??\"\").trim()}|${JSON.stringify(i.params??{})}`;}function getCached(i){const hit=cache.get(cacheKey(i));if(!hit)return null;if(Date.now()-hit.ts>CACHE_TTL_MS){cache.delete(cacheKey(i));return null;}return hit.payload;}function setCached(i,payload){cache.set(cacheKey(i),{ts:Date.now(),payload});}async function fetchWithTimeout(url,init,ms){const ctrl=new AbortController;const id=setTimeout(()=>ctrl.abort(),ms);try{const res=await fetch(url,{...init,signal:ctrl.signal});return res;}finally{clearTimeout(id);}}export async function runRemoteValidator(input,timeoutMs=1e4){const cached=getCached(input);if(cached)return cached;const env=resolveEnv();const urls=WORKERS[input.kind];const url=urls?.[env];if(!url)return{valid:true};const res=await fetchWithTimeout(url,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({value:input.value,params:input.params??{}})},timeoutMs);if(!res.ok)return{valid:true};let json=null;try{json=await res.json();}catch{return{valid:true};}const parsed=json;const payload={valid:Boolean(parsed?.valid),message:typeof parsed?.message===\"string\"?parsed.message:undefined,normalized:typeof parsed?.normalized===\"string\"?parsed.normalized:undefined};setCached(input,payload);return payload;}\nexport const __FramerMetadata__ = {\"exports\":{\"RemoteValidatorKind\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RemoteInput\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"runRemoteValidator\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RemoteResult\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./remoteRegistry.map","import{toRemoteMapping}from\"https://framerusercontent.com/modules/itQzy1G0FZDrDt5Wxiha/82GYPRkeb30R1TYEziTw/remoteRuleHelpers.js\";import{runRemoteValidator}from\"https://framerusercontent.com/modules/oK6hiaqvffYsCKu7M3Y6/qV56aOLtFgZyaNfcxzRF/remoteRegistry.js\";import{getErrorMessage}from\"https://framerusercontent.com/modules/5IlqeeO3n62z9NWl3yls/S2K0cPwrrOzEhVcV3Iet/getErrorMessage.js\";import{errorMessagesFromProps}from\"https://framerusercontent.com/modules/6xkWJnMFm9wfZbbMEKzK/qsbxft1ajeQR4fd9dJqn/errorMessagesFromProps.js\";export async function validateRemoteAndSetError(apiName,value,validationRule,props,setFieldErrors,setFieldValue){const config=toRemoteMapping(validationRule);if(!config)return;const res=await runRemoteValidator({...config,value});const messages=errorMessagesFromProps(props);const finalMessage=res.valid?null:getErrorMessage(\"invalid\",messages);setFieldErrors(prev=>({...prev,[apiName]:finalMessage}));// If a normalized value was returned, update it in form state\nif(res.valid&&res.normalized&&setFieldValue){setFieldValue(()=>res.normalized);}return res;}\nexport const __FramerMetadata__ = {\"exports\":{\"validateRemoteAndSetError\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{AsYouType}from\"libphonenumber-js\";const HLR_DISALLOWED_STATUSES=[\"DEAD\",\"NOT_APPLICABLE\"];const SKIP_HLR_COUNTRIES=[\"HU\"];export async function validatePhoneHLR(apiName,raw,props,setFieldErrors,setValue,locale){const typer=new AsYouType(locale);typer.input(raw);const number=typer.getNumber();const formatted=typer.getChars()??\"\";const e164=number?.number??\"\";const isLibValid=number?.isValid()??false;// Always update the field with nice formatting (even if invalid)\nsetValue(()=>formatted);let isValid=isLibValid;// HLR validation for applicable countries\nif(isLibValid&&!SKIP_HLR_COUNTRIES.includes(locale)){try{const res=await fetch(\"https://testing.hlrlookup.com/apiv2/hlr\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({api_key:\"speedtest\",api_secret:\"speedtest\",requests:[{telephone_number:e164}]})});const json=await res.json();const status=json?.results?.[0]?.live_status;isValid=!HLR_DISALLOWED_STATUSES.includes(status);}catch(err){console.warn(\"HLR lookup failed\",err);isValid=true// fallback to allow submission\n;}}// If still invalid, set an error message\nconst errorMsg=isValid?null:props?.errorInvalid??\"Phone number is invalid\";setFieldErrors(prev=>({...prev,[apiName]:errorMsg}));return{isValid,e164};}\nexport const __FramerMetadata__ = {\"exports\":{\"validatePhoneHLR\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./validatePhoneHLR.map","import{useState,useEffect,useMemo,useRef,useCallback}from\"react\";import{RenderTarget}from\"framer\";import{AsYouType,parsePhoneNumberFromString}from\"libphonenumber-js\";import{useFields,useFieldErrors,useTouched}from\"https://framerusercontent.com/modules/Ax3pgpFugmVtkLyjK0aB/gjk6sN8WNzrAQFqhH8LV/formStores.js\";import{evaluateVisibility}from\"https://framerusercontent.com/modules/mBxkqxfMgYfW1BUfOuZF/Khh2onX8K6ggiv39xImA/visibility.js\";import{validateAndSetError}from\"https://framerusercontent.com/modules/cXIgiHckZ8F9bVdmvH1f/7mlryS5r7Kh9VN3qIhrJ/validateAndSetError.js\";import{validateRemoteAndSetError}from\"https://framerusercontent.com/modules/sFA1LNvGhtYRbWY0gAct/q3QZqo5LAUjPFwiQy7Ds/validateRemoteAndSetError.js\";import{track}from\"https://framerusercontent.com/modules/KHQRbo1PS40kxEtlsBHj/eAgZx6F6skeVRSwyjPMA/analytics.js\";import{validatePhoneHLR}from\"https://framerusercontent.com/modules/8abRSVwH7gyHruNCJ1JS/Po2VaUcjSgfd4N4isf8i/validatePhoneHLR.js\";import{useLocale}from\"https://framerusercontent.com/modules/RRKeJWRObO6zvJYvvGR6/zKEzNyBZRUbMhkuSdoOC/Helpers.js\";import{trackFormStarted,formStartedRef}from\"https://framerusercontent.com/modules/igq7p8GOBOI4S40OZnwj/PfprGB1zkrvDvbVaczmi/tracking.js\";export function useFieldController({apiName,initialValue,visibility,validation}){const locale=useLocale();const isCanvas=RenderTarget.current?.()===RenderTarget.canvas;const[fields,setFields]=useFields();const[errors,setErrors]=useFieldErrors();const[touched,setTouched]=useTouched();const storeVal=fields[apiName];const[value,setValue]=useState(storeVal??initialValue);const error=errors[apiName]??\"\";const isTouched=touched[apiName]??false;const visible=useMemo(()=>isCanvas?true:evaluateVisibility(visibility,fields),[isCanvas,visibility,fields]);useEffect(()=>{setFields(prev=>({...prev,[apiName]:value}));},[apiName,value,setFields]);useEffect(()=>{if(!visible&&!isCanvas){setErrors(prev=>({...prev,[apiName]:null}));setTouched(prev=>({...prev,[apiName]:false}));}},[visible,isCanvas,apiName,setErrors,setTouched]);const validationCfg=useMemo(()=>validation??{},[validation]);const rafRef=useRef(null);const validateNow=useCallback(next=>{validateAndSetError(apiName,next,validationCfg,setErrors);const rule=validationCfg?.validationRule;if(rule===\"remote_postcode\"){void validateRemoteAndSetError(apiName,typeof next===\"string\"?next:next.join(\",\"),rule,validationCfg,setErrors,setValue);}if(rule===\"remote_phone\"&&typeof next===\"string\"){void(async()=>{const result=await validatePhoneHLR(apiName,next,validationCfg,setErrors,setValue,locale);if(result?.isValid&&result?.e164){setFields(prev=>({...prev,[apiName]:result.e164}));}})();}},[apiName,validationCfg,setErrors,setValue,setFields,locale]);const validateSoon=useCallback(next=>{if(rafRef.current)cancelAnimationFrame(rafRef.current);rafRef.current=requestAnimationFrame(()=>{validateNow(next);});},[validateNow]);useEffect(()=>{return()=>{if(rafRef.current)cancelAnimationFrame(rafRef.current);};},[]);const markTouched=useCallback(()=>{setTouched(prev=>prev[apiName]?prev:{...prev,[apiName]:true});},[apiName,setTouched]);const handleFocus=useCallback(()=>{track(\"field_focus\",{field:apiName});},[apiName]);const handleBlur=useCallback(()=>{markTouched();const rule=validationCfg?.validationRule;if(rule===\"remote_postcode\"){void validateRemoteAndSetError(apiName,typeof value===\"string\"?value:value.join(\",\"),rule,validationCfg,setErrors,setValue);}else if(rule===\"remote_phone\"&&typeof value===\"string\"){const typer=new AsYouType(locale);typer.input(value);const formatted=typer.getChars()??value;setValue(()=>formatted);void(async()=>{const result=await validatePhoneHLR(apiName,value,validationCfg,setErrors,setValue,locale);if(result?.isValid&&result?.e164){setFields(prev=>({...prev,[apiName]:result.e164}));}})();}else if(rule===\"phone\"&&typeof value===\"string\"){validateNow(value);// Write international format to store for submission (display stays as-is)\nconst parsed=parsePhoneNumberFromString(value,locale.toUpperCase());if(parsed?.isValid()){setFields(prev=>({...prev,[apiName]:parsed.formatInternational()}));}}else{validateNow(value);}track(\"field_blur\",{field:apiName});},[apiName,value,validationCfg,validateNow,setErrors,markTouched,setFields,locale]);const handleChange=useCallback(next=>{// Fire \"Form Started\" once\nif(typeof next===\"string\"&&next!==\"\"&&!formStartedRef.started){trackFormStarted(\"Contact Sales\");}setValue(next);const valueLength=typeof next===\"string\"?next.length:next.join(\",\").length;track(\"field_change\",{field:apiName,value_length:valueLength});},[apiName]);const handleDropdownOpen=useCallback(()=>{track(\"dropdown_open\",{field:apiName});},[apiName]);return{value,setValue,error,isTouched,visible,validateNow,validateSoon,markTouched,handleFocus,handleBlur,handleChange,handleDropdownOpen};}\nexport const __FramerMetadata__ = {\"exports\":{\"useFieldController\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ValidationCfg\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{ControlType}from\"framer\";/** Typography for input/select/textarea text (or option text) */export const TYPOGRAPHY_GROUP={typography:{type:ControlType.Object,title:\"Typography\",controls:{fontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:16,min:8,max:64},fontWeight:{type:ControlType.Number,title:\"Weight\",defaultValue:400,min:100,max:900,step:50},letterSpacing:{type:ControlType.Number,title:\"Letter Spacing\",defaultValue:0,min:-2,max:10,step:.1},lineHeight:{type:ControlType.Number,title:\"Line Height\",defaultValue:20,min:8,max:72},textAlign:{type:ControlType.Enum,title:\"Align\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],defaultValue:\"left\"}}}};/** Colors common to inputs/selects/textarea (background, text, placeholder) */export const COLORS_GROUP={colors:{type:ControlType.Object,title:\"Colors\",controls:{textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#0F0F00\"},placeholderColor:{type:ControlType.Color,title:\"Placeholder\",defaultValue:\"rgba(15,15,0,0.47)\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#FFFFFF\"}}}};/** Border config for input-like fields */export const BORDER_GROUP={border:{type:ControlType.Object,title:\"Border\",controls:{borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"#E3E3E0\"},focusBorderColor:{type:ControlType.Color,title:\"Focus\",defaultValue:\"#E1E51A\"},errorBorderColor:{type:ControlType.Color,title:\"Error\",defaultValue:\"#A91E00\"},borderRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:12,min:0,max:64},borderWidth:{type:ControlType.Number,title:\"Width\",defaultValue:1,min:0,max:8}}}};/** Spacing for input/select/textarea boxes */export const SPACING_GROUP={spacing:{type:ControlType.Object,title:\"Spacing\",controls:{paddingV:{type:ControlType.Number,title:\"Padding V\",defaultValue:12,min:0,max:40},paddingH:{type:ControlType.Number,title:\"Padding H\",defaultValue:12,min:0,max:40},height:{type:ControlType.Number,title:\"Height\",defaultValue:0,min:0,max:200},labelSpacing:{type:ControlType.Number,title:\"Label Gap\",defaultValue:8,min:0,max:40}}}};/** Label styling (component group title above the control) */export const LABEL_GROUP={label:{type:ControlType.Object,title:\"Label\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#0F0F00\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:14,min:8,max:48},weight:{type:ControlType.Number,title:\"Weight\",defaultValue:400,min:100,max:900,step:50}}}};/** Error text styling */export const ERROR_GROUP={error:{type:ControlType.Object,title:\"Error\",controls:{color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#A91E00\"},size:{type:ControlType.Number,title:\"Size\",defaultValue:12,min:8,max:32}}}};/** Radio visual config (inner dot size, etc.) */export const RADIO_PARTS_GROUP={radio:{type:ControlType.Object,title:\"Radio\",controls:{size:{type:ControlType.Number,title:\"Size\",defaultValue:20,min:12,max:40,step:1},borderWidth:{type:ControlType.Number,title:\"Border W\",defaultValue:2,min:0,max:6,step:1}}}};/** Radio/checkbox option text color and control colors */export const OPTION_COLORS_GROUP={colors:{type:ControlType.Object,title:\"Colors\",controls:{optionColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000000\"},radioColor:{type:ControlType.Color,title:\"Checked Fill\",defaultValue:\"#E1E51A\"},radioBorderColor:{type:ControlType.Color,title:\"Ring/Border\",defaultValue:\"#E1E51A\"},focusRingColor:{type:ControlType.Color,title:\"Focus Ring\",defaultValue:\"#E1E51A\"}}}};/** Group layout for Radios/Checkboxes */export const GROUP_LAYOUT={group:{type:ControlType.Object,title:\"Group Layout\",controls:{direction:{type:ControlType.Enum,title:\"Direction\",options:[\"horizontal\",\"vertical\"],optionTitles:[\"Horizontal\",\"Vertical\"],defaultValue:\"horizontal\",displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:20,min:0,max:64,step:1}}}};/** Visibility configuration (same shape across components) */export const VISIBILITY_GROUP={visibility:{type:ControlType.Object,title:\"Visibility\",controls:{behavior:{type:ControlType.Enum,title:\"Behavior\",options:[\"show_when\",\"hide_when\"],optionTitles:[\"Show when\",\"Hide when\"],defaultValue:\"show_when\"},logic:{type:ControlType.Enum,title:\"Logic\",options:[\"all\",\"any\"],optionTitles:[\"All match\",\"Any match\"],defaultValue:\"all\"},when:{type:ControlType.Array,title:\"Conditions\",propertyControl:{type:ControlType.Object,controls:{field:{type:ControlType.String,title:\"Field (apiName)\",placeholder:\"e.g. business_type\"},op:{type:ControlType.Enum,title:\"Operator\",options:[\"equals\",\"notEquals\",\"contains\",\"notContains\",\"inList\",\"notInList\",\"matches\",\"isSet\",\"isBlank\"],optionTitles:[\"Equals\",\"Not equals\",\"Contains\",\"Does not contain\",\"In list (CSV)\",\"Not in list (CSV)\",\"Matches (regex)\",\"Is set\",\"Is blank\"],defaultValue:\"equals\"},value:{type:ControlType.String,title:\"Value / CSV / /re/\",placeholder:\"value or A,B,C or /^re$/i\",hidden:p=>{// hide value for unary operators\nreturn[\"isSet\",\"isBlank\"].includes(p.op??\"\");}}}},defaultValue:[]}}}};/** base field bits shared across input/select/textarea */export const FIELD_BASE_GROUP={label:{type:ControlType.String,title:\"Label\",defaultValue:\"Label\"},apiName:{type:ControlType.String,title:\"API Name\",defaultValue:\"field_key\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false}};/** validation + error copy shared across fields */export const BASE_VALIDATION_GROUP={validationRule:{type:ControlType.Enum,title:\"Validation\",options:[\"none\",\"email\",\"phone\",\"postcode\",\"number\",\"integer\",\"minLength\",\"maxLength\",\"regex\",\"url\",\"date\",// remote (server-side) checks – results come back via remote layer\n\"remote_postcode\",\"remote_phone\"],optionTitles:[\"None\",\"Email\",\"Phone\",\"Postcode\",\"Number\",\"Integer\",\"Min length\",\"Max length\",\"Regex\",\"URL\",\"Date\",\"Postcode (Remote)\",\"Phone (Remote)\"],defaultValue:\"none\"},// params shown only when the selected rule needs them\nminLength:{type:ControlType.Number,title:\"Min Length\",min:0,max:200,hidden:p=>p.validationRule!==\"minLength\"},maxLength:{type:ControlType.Number,title:\"Max Length\",min:0,max:200,hidden:p=>p.validationRule!==\"maxLength\"},regex:{type:ControlType.String,title:\"Regex\",placeholder:\"e.g. ^[A-Z]+$\",hidden:p=>p.validationRule!==\"regex\"},regexFlags:{type:ControlType.String,title:\"Regex Flags\",defaultValue:\"\",placeholder:\"e.g. i\",hidden:p=>p.validationRule!==\"regex\"},// error copy\nerrorRequired:{type:ControlType.String,title:\"Required Error\",defaultValue:\"This field is required\",hidden:p=>!p.required},errorInvalid:{type:ControlType.String,title:\"Invalid Error\",defaultValue:\"Please enter a valid value\"},errorTooYoung:{type:ControlType.String,title:\"Too Young Error\",defaultValue:\"You must meet the minimum age\",hidden:p=>p.type!==\"date\"}};/** one-stop styles group for input/select/textarea */export const INPUT_LIKE_STYLES_GROUP={...TYPOGRAPHY_GROUP,...COLORS_GROUP,...BORDER_GROUP,...SPACING_GROUP,...LABEL_GROUP,...ERROR_GROUP};\nexport const __FramerMetadata__ = {\"exports\":{\"GROUP_LAYOUT\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"OPTION_COLORS_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RADIO_PARTS_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"INPUT_LIKE_STYLES_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TYPOGRAPHY_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FIELD_BASE_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SPACING_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LABEL_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BASE_VALIDATION_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BORDER_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"COLORS_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VISIBILITY_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ERROR_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./groups.map","import{ControlType}from\"framer\";import{FIELD_BASE_GROUP,BASE_VALIDATION_GROUP,INPUT_LIKE_STYLES_GROUP,VISIBILITY_GROUP}from\"https://framerusercontent.com/modules/C8tNKt5QFlvgRghgBcI7/QSBiltfheNvniAd76oGI/groups.js\";import{INPUT_TYPE_OPTIONS,INPUT_MODE_OPTIONS,INPUT_AUTOCOMPLETE_OPTIONS}from\"https://framerusercontent.com/modules/GWvHDLdg8sZ3VTGmNON6/2bnNww1yG73PcyBnHG3l/constants.js\";/** Behavior/validation panel for InputField */export const INPUT_BEHAVIOR_CONTROLS={...FIELD_BASE_GROUP,type:{type:ControlType.Enum,title:\"Type\",options:INPUT_TYPE_OPTIONS,defaultValue:\"text\"},inputMode:{type:ControlType.Enum,title:\"Input Mode\",options:INPUT_MODE_OPTIONS,defaultValue:\"text\"},autoComplete:{type:ControlType.Enum,title:\"Autocomplete\",options:INPUT_AUTOCOMPLETE_OPTIONS,defaultValue:\"on\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"\"},...BASE_VALIDATION_GROUP};/** Single “Styles” object using shared input-like style sections */export const STYLES_GROUP={styles:{type:ControlType.Object,title:\"Styles\",controls:{...INPUT_LIKE_STYLES_GROUP}}};export{VISIBILITY_GROUP};\nexport const __FramerMetadata__ = {\"exports\":{\"INPUT_BEHAVIOR_CONTROLS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"STYLES_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VISIBILITY_GROUP\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useId,useRef,useEffect}from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{FieldShell}from\"https://framerusercontent.com/modules/Y7BsCDAZ62PW8UCuAxAR/eYfP4PWTX5NJfei4V1k9/FieldShell.js\";import{PlaceholderStyle}from\"https://framerusercontent.com/modules/8x5jN08BzJwYi0tO9WEC/IMmjxyQ1bx5bweU7YIib/PlaceholderStyle.js\";import{resolveBorderColor}from\"https://framerusercontent.com/modules/SuWmgiqEfziwld4tZjk0/vb8Ppfe3v4uGW3SEUjKK/resolveBorderColor.js\";import{resolveInputStyles}from\"https://framerusercontent.com/modules/TTk3k6z1DBNnw11HPDoi/UW2qJn2g2OkOcIXT204S/resolveInputStyles.js\";import{buildValidationConfig}from\"https://framerusercontent.com/modules/ZAzAf2l3YtTE023XEAPY/6IKs8kEebel4WFLLKexC/buildValidationConfig.js\";import{requiredWhenVisible}from\"https://framerusercontent.com/modules/e3bwJJzcbGbYL2t6KZy3/kO1TIg95YTyfRIpPfLWl/requiredWhenVisible.js\";import{useFieldController}from\"https://framerusercontent.com/modules/De6fH1u2sz6OPdwkg379/GUyb3dBKtEUrFyBIDEDz/useFieldController.js\";import{validatePhoneHLR}from\"https://framerusercontent.com/modules/8abRSVwH7gyHruNCJ1JS/Po2VaUcjSgfd4N4isf8i/validatePhoneHLR.js\";import{useFieldErrors,useRenderKey,useTouched}from\"https://framerusercontent.com/modules/Ax3pgpFugmVtkLyjK0aB/gjk6sN8WNzrAQFqhH8LV/formStores.js\";import{INPUT_BEHAVIOR_CONTROLS,STYLES_GROUP,VISIBILITY_GROUP}from\"https://framerusercontent.com/modules/CfRLkChrAsm6HluV3Y7o/utOXG7fQFetAMzNQHX4j/controls.js\";import{AsYouType}from\"libphonenumber-js\";import{useLocale}from\"https://framerusercontent.com/modules/RRKeJWRObO6zvJYvvGR6/zKEzNyBZRUbMhkuSdoOC/Helpers.js\";export function InputField(props){const{label,apiName,required=false,errorRequired,errorInvalid,errorTooYoung,validationRule=\"none\",minLength,maxLength,regex,regexFlags,localeCode,visibility,styles={},type,inputMode,autoComplete,placeholder,icon}=props;const locale=useLocale();const[,setFieldErrors]=useFieldErrors();const[,setTouched]=useTouched();const[renderKey]=useRenderKey();const{value,setValue,error,isTouched,visible,validateNow,validateSoon,markTouched,handleFocus,handleBlur,handleChange}=useFieldController({apiName,initialValue:\"\",visibility,validation:buildValidationConfig({required,errorRequired,errorInvalid,errorTooYoung,validationRule,minLength,maxLength,regex,regexFlags,localeCode:locale})});const[isFocused,setIsFocused]=useState(false);const uid=useId();const inputRef=useRef(null);const lastRenderKeyRef=useRef(renderKey);const lastEffectRenderKeyRef=useRef(renderKey);// Reset field controller state when render key changes (synchronous)\nif(lastRenderKeyRef.current!==renderKey){lastRenderKeyRef.current=renderKey;setValue(\"\")// Reset field controller state immediately\n;setTouched(prev=>({...prev,[apiName]:false}))// Clear touched state\n;}// Reset DOM input value when render key changes\nuseEffect(()=>{if(lastEffectRenderKeyRef.current!==renderKey){lastEffectRenderKeyRef.current=renderKey;if(inputRef.current){inputRef.current.value=\"\";}}},[renderKey]);const iconRef=useRef(null);const[iconWidth,setIconWidth]=useState(0);useEffect(()=>{if(!iconRef.current)return;const observer=new ResizeObserver(entries=>{for(const entry of entries){setIconWidth(entry.contentRect.width);}});observer.observe(iconRef.current);return()=>observer.disconnect();},[iconRef.current]);const onChange=e=>{const raw=e.target.value;// Format phone input for *both* phone and remote_phone\nif(validationRule===\"phone\"||validationRule===\"remote_phone\"){const asYouType=new AsYouType(locale);const formatted=asYouType.input(raw);e.target.value=formatted;// Cursor fix after reformat\nconst offset=formatted.length-raw.length;const cursor=(e.target.selectionStart??0)+offset;e.target.setSelectionRange(cursor,cursor);handleChange(formatted);validateSoon(formatted);}else{const next=type===\"file\"?e.target.files?.[0]?.name??\"\":raw;handleChange(next);validateSoon(next);}};const onBlur=()=>{markTouched();validateNow(inputRef.current?.value??\"\");handleBlur();// Only run HLR if validationRule is remote_phone\nif(validationRule===\"remote_phone\"){void validatePhoneHLR(apiName,inputRef.current?.value??\"\",props,setFieldErrors,setValue,locale);}setIsFocused(false);};const onFocus=()=>{handleFocus();setIsFocused(true);};const{fontSize,fontWeight,letterSpacing,lineHeight,textAlign,textColor,placeholderColor,backgroundColor,borderColor,focusBorderColor,errorBorderColor,borderRadius,borderWidth,paddingV,paddingH,height,labelSpacing,labelStyle,errorStyle}=resolveInputStyles(styles);const border=resolveBorderColor({showError:isTouched,error,isFocused,errorColor:errorBorderColor,focusColor:focusBorderColor,baseColor:borderColor});const ICON_GAP=8;const hasIcon=Boolean(icon);const leftPad=hasIcon&&iconWidth>0?paddingH+iconWidth+ICON_GAP:paddingH;const wrapperStyle={position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\"};const inputStyle={width:\"100%\",display:\"block\",boxSizing:\"border-box\",color:textColor,backgroundColor,borderColor:border,borderWidth,borderStyle:\"solid\",borderRadius,paddingTop:paddingV,paddingBottom:paddingV,paddingRight:paddingH,paddingLeft:leftPad,height:height?`${height}px`:\"100%\",outline:\"none\",fontSize,fontWeight,fontFamily:\"Figtree, sans-serif\",letterSpacing,lineHeight:`${lineHeight}px`,textAlign,transition:\"border-color 120ms ease\"};const iconStyle={position:\"absolute\",left:paddingH,top:\"50%\",transform:\"translateY(-50%)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",pointerEvents:\"none\"};return /*#__PURE__*/_jsxs(FieldShell,{visible:visible,label:label,labelStyle:labelStyle,error:isTouched&&error?error:null,errorStyle:errorStyle,labelSpacing:labelSpacing,children:[/*#__PURE__*/_jsx(PlaceholderStyle,{selector:`input[data-uid=\"${uid}\"]`,color:placeholderColor}),/*#__PURE__*/_jsxs(\"div\",{style:wrapperStyle,children:[icon?/*#__PURE__*/_jsx(\"div\",{ref:iconRef,style:iconStyle,children:icon}):null,/*#__PURE__*/_jsx(\"input\",{ref:inputRef,\"data-uid\":uid,style:inputStyle,type:type,inputMode:inputMode,autoComplete:autoComplete,name:apiName,placeholder:placeholder,required:requiredWhenVisible(required,visible),defaultValue:value??\"\",onChange:onChange,onBlur:onBlur,onFocus:onFocus})]})]});}addPropertyControls(InputField,{...INPUT_BEHAVIOR_CONTROLS,...STYLES_GROUP,...VISIBILITY_GROUP,icon:{type:ControlType.ComponentInstance,title:\"Icon\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"InputField\":{\"type\":\"reactComponent\",\"name\":\"InputField\",\"slots\":[\"icon\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputMode\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InputType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Autocomplete\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{forwardRef,useCallback,useEffect,useLayoutEffect,useRef,useState}from\"react\";import{RenderTarget}from\"framer\";import{useVisibleRequired,useFormError,useFormRenderTimestamp}from\"https://framerusercontent.com/modules/Ax3pgpFugmVtkLyjK0aB/gjk6sN8WNzrAQFqhH8LV/formStores.js\";import{useStepHistory}from\"https://framerusercontent.com/modules/wm78KsU1IYJJVRPxnalG/7zJiE09qHzT3tvBf6zOQ/stepStores.js\";import{box,btn,wrap}from\"https://framerusercontent.com/modules/Twkty2a79qUXeRPCL4lt/EFWwZVgiWwrd0Zb4NKKa/styles.js\";/* --------------------------- Error overlay (shared) --------------------------- */export function ErrorOverlay(){const[formError,setFormError]=useFormError();const isCanvas=RenderTarget.current()===RenderTarget.canvas;// On canvas show a placeholder; at runtime only render when there's an error\nif(!isCanvas&&!formError)return null;return /*#__PURE__*/_jsx(\"div\",{role:\"alert\",\"aria-live\":\"polite\",style:wrap,children:/*#__PURE__*/_jsx(\"div\",{style:box,children:/*#__PURE__*/_jsxs(\"span\",{children:[isCanvas?\"(preview on canvas)\":formError,!isCanvas&&/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:btn,onClick:()=>setFormError(\"\"),\"aria-label\":\"Dismiss error\",children:\"🅧\"})]})})});}/* ------------------------------ Form root wrapper ----------------------------- */export const withFormRoot=Component=>/*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Component,{ref:ref,...props}),/*#__PURE__*/_jsx(ErrorOverlay,{})]});});/* --------------------------------- Step wrapper -------------------------------- */export const withStep=Component=>/*#__PURE__*/forwardRef((props,ref)=>{const{currentStep,goToStep,resetHistory}=useStepHistory();const[,setVisibleRequired]=useVisibleRequired();const[renderTs,setRenderTs]=useFormRenderTimestamp();// Host (the step frame DOM node)\n    const hostRef=useRef(null);const setRefs=node=>{hostRef.current=node;if(typeof ref===\"function\")ref(node);else if(ref&&typeof ref===\"object\")ref.current=node;};// Small helper: get assigned variant from ExperimentConfig (if present)\n    const getAssignedVariant=()=>{try{const v=window.__teyaExp?.variant??window.__teyaExp?.variantKey??\"\";return typeof v===\"string\"?v.toUpperCase():\"\";}catch{return\"\";}};// Read the first descendant that marks itself as a StepConfig “presence marker”\n    const readConfig=useCallback(()=>{const root=hostRef.current;if(!root)return null;const el=root.querySelector(\"[data-step-config]\");if(!el)return null;const stepId=(el.dataset.stepId??\"\").trim();if(!stepId)return null// step frames without a stepId remain hidden/ignored\n    ;return{stepId,initial:el.dataset.initial===\"true\",gateMode:el.dataset.gateMode===\"anyValid\"?\"anyValid\":\"allValid\",variantKey:(el.dataset.variantKey??\"\").trim()||undefined,branchKey:(el.dataset.branchKey??\"\").trim()||undefined};},[]);// Keep cfg in state — simple and explicit\n    const[cfg,setCfg]=useState(null);// Capture config after first paint (and whenever subtree changes later via MO)\n    useLayoutEffect(()=>{setCfg(readConfig());},[readConfig]);// Bootstrap the initial step (respect variant gating if a variantKey is present)\n    useEffect(()=>{if(!cfg)return;if(!currentStep&&cfg.initial&&cfg.stepId){const assigned=getAssignedVariant();const key=(cfg.variantKey??\"\").toUpperCase();// No variantKey on the step => allowed for all variants\n    const allowed=!key||!assigned||key===assigned;if(allowed){goToStep(cfg.stepId);resetHistory?.();}}},[cfg,currentStep,goToStep,resetHistory]);const isActive=!!cfg?.stepId&&currentStep===cfg.stepId;// Re-compute the list of required field names for this step and publish\n    const recomputeRequired=useCallback(()=>{if(!isActive||!cfg)return;const root=hostRef.current;if(!root)return;const nodes=root.querySelectorAll(\"input[required][name], textarea[required][name], select[required][name]\");const items=Array.from(nodes).map(n=>(n.getAttribute(\"name\")??\"\").trim()).filter(Boolean);setVisibleRequired({items,gateMode:cfg.gateMode,// publish metadata in case any consumer wants it later\n    variantKey:cfg.variantKey,branchKey:cfg.branchKey});},[isActive,cfg,setVisibleRequired]);// Publish when activated; clear when deactivated so the next step can republish\n    useEffect(()=>{if(isActive){recomputeRequired();// Record when the user first sees the form (set once, never reset)\n    if(renderTs===0)setRenderTs(Date.now());}else{setVisibleRequired([]);}// eslint-disable-next-line react-hooks/exhaustive-deps\n    },[isActive]);// Watch for DOM mutations inside the step: field changes and StepConfig edits\n    useEffect(()=>{const root=hostRef.current;if(!root)return;const handleMutations=()=>{// StepConfig values might have changed on canvas; re-read them\n    const next=readConfig();setCfg(next);// If this step is currently visible, re-collect required fields\n    requestAnimationFrame(recomputeRequired);};const mo=new MutationObserver(handleMutations);mo.observe(root,{subtree:true,childList:true,attributes:true,attributeFilter:[// native fields we care about for gating:\n    \"required\",\"name\",// our StepConfig data-attrs:\n    \"data-step-config\",\"data-step-id\",\"data-initial\",\"data-gate-mode\",\"data-variant-key\",\"data-branch-key\"]});// One pass after first paint\n    const raf=requestAnimationFrame(handleMutations);return()=>{mo.disconnect();cancelAnimationFrame(raf);};},[readConfig,recomputeRequired]);// Hide when not active (keep layout/style props intact)\n    const style=isActive?props?.style:{...props?.style,display:\"none\"};return /*#__PURE__*/_jsx(Component,{ref:setRefs,...props,style:style});});\nexport const __FramerMetadata__ = {\"exports\":{\"ErrorOverlay\":{\"type\":\"reactComponent\",\"name\":\"ErrorOverlay\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"withStep\":{\"type\":\"reactHoc\",\"name\":\"withStep\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withFormRoot\":{\"type\":\"reactHoc\",\"name\":\"withFormRoot\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./withFormFlow.map"],"mappings":"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"}