{"version":3,"file":"MultiStepForm.DURLRjBW.mjs","names":["p","useState","CANVAS_HIDDEN_CLASS_NAME","useId","HiddenInput","useRef","useCallback","HiddenComponentLabel","useState","useRef","_Fragment","_Fragment","useState","useRef","useRef","useState","p","useState","useRef","formInfo","state","pageElement","pageHistory"],"sources":["https:/framerusercontent.com/modules/itVumdSpaLTGejsnG4cS/6LKYMWPrWe4DJ5B7wYmL/QuizScoringShared.js","https:/framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js","https:/framerusercontent.com/modules/fPSKMdnAZGIeyDfLV8KP/k4rjB4zRG0DK3vktcBkT/MultiStepFormButton.js","https:/framerusercontent.com/modules/1LECUrurTpenvfDn1ShM/nL9gmnXABjh04Nl8aaL8/Countries.js","https:/framerusercontent.com/modules/PwJ4k4IqmEWPlM2ZI4Eu/Wof3uC3VdIgYyyDoK0vM/DropdownUtilities.js","https:/framerusercontent.com/modules/SRHLnHriy9CtZfYf0KJF/6tUGIogjIAN5qEnujlm9/CountryDropdown.js","https:/framerusercontent.com/modules/txadBxzyc8xVP8tgxh1j/Znaa5nX8qPNlJeeX1hkP/CountryInput.js","https:/framerusercontent.com/modules/v1b335RPU7KtR6IJZaOk/Q5uMfiqlEU4PHmsvRYxm/FormProgressBar.js","https:/framerusercontent.com/modules/wV9SghwspjN8vk1MgoSi/5hwqI63C3dZ8dPHZQwJ0/MultiStepForm.js"],"sourcesContent":["import{ControlType}from\"framer\";export const QUIZ_MULTI_SELECT_AGGREGATES=[\"sum\",\"average\",\"max\",\"min\"];export function normalizeQuizMultiSelectAggregate(raw){if(raw===\"average\"||raw===\"max\"||raw===\"min\"){return raw;}return\"sum\";}export function normalizeOptionPointRows(raw){if(!raw?.length)return[];return raw.map(r=>({optionValue:(r.optionValue??\"\").trim(),points:r.points!==undefined&&Number.isFinite(r.points)?Number(r.points):0})).filter(r=>r.optionValue.length>0);}export function parseOptionPointsAttr(attr){if(!attr)return null;try{const v=JSON.parse(attr);const rows=normalizeOptionPointRows(v.rows);if(!rows.length)return null;const defaultPoints=v.defaultPoints!==undefined&&Number.isFinite(v.defaultPoints)?Number(v.defaultPoints):0;return{defaultPoints,rows};}catch{return null;}}function resolvePartToPoints(part,rows,defaultPoints){const row=rows.find(r=>r.optionValue===part);if(row&&Number.isFinite(row.points))return row.points;return defaultPoints;}function splitMultiSelectValue(value,valueSeparator){return value.split(valueSeparator).map(s=>s.trim()).filter(Boolean);}function aggregateMultiSelectPoints(partPoints,aggregate){if(!partPoints.length)return 0;switch(aggregate){case\"sum\":return partPoints.reduce((sum,p)=>sum+p,0);case\"average\":return partPoints.reduce((sum,p)=>sum+p,0)/partPoints.length;case\"max\":return Math.max(...partPoints);case\"min\":return Math.min(...partPoints);default:return partPoints.reduce((sum,p)=>sum+p,0);}}/** Maximum achievable points for one weighted question. */export function maxWeightedQuestionPoints(parsed,multiSelect,aggregate=\"sum\"){const{rows,defaultPoints}=parsed;if(!rows.length)return 0;if(!multiSelect){const rowMax=Math.max(...rows.map(r=>r.points),defaultPoints);return Number.isFinite(rowMax)?rowMax:defaultPoints;}const positiveSum=rows.filter(r=>r.points>0).reduce((sum,r)=>sum+r.points,0);const maxPoint=Math.max(...rows.map(r=>r.points),defaultPoints);switch(aggregate){case\"sum\":return positiveSum;case\"average\":case\"max\":case\"min\":return Number.isFinite(maxPoint)?maxPoint:defaultPoints;default:return positiveSum;}}export function scoreWeightedFieldValue(value,parsed,opts){const multiSelect=opts.matchMode===\"set\";const aggregate=normalizeQuizMultiSelectAggregate(opts.multiSelectAggregate);const maxPoints=maxWeightedQuestionPoints(parsed,multiSelect,aggregate);const trimmed=value.trim();if(!trimmed){return{earned:0,maxPoints};}if(multiSelect){const sep=opts.valueSeparator??\", \";const parts=splitMultiSelectValue(trimmed,sep);const partPoints=parts.map(part=>resolvePartToPoints(part,parsed.rows,parsed.defaultPoints));const earned=aggregateMultiSelectPoints(partPoints,aggregate);return{earned,maxPoints};}const earned=resolvePartToPoints(trimmed,parsed.rows,parsed.defaultPoints);return{earned,maxPoints};}export function isQuizWeightedConfig(quiz){return!!quiz?.isQuizInput&&quiz.scoringMethod===\"weighted\"&&normalizeOptionPointRows(quiz.optionPoints).length>0;}export const QUIZ_DATA_ATTRIBUTE_KEYS=[\"data-framerforms-quiz\",\"data-framerforms-quiz-scoring\",\"data-framerforms-correct-answer\",\"data-framerforms-quiz-points\",\"data-framerforms-quiz-wrong-points\",\"data-framerforms-quiz-options\",\"data-framerforms-quiz-option-points\",\"data-framerforms-quiz-multiselect-aggregate\"];export function clearQuizDataAttributes(el){for(const key of QUIZ_DATA_ATTRIBUTE_KEYS){el.removeAttribute(key);}}export function applyQuizDataAttributes(el,attrs){clearQuizDataAttributes(el);for(const[key,value]of Object.entries(attrs)){el.setAttribute(key,value);}}export function buildQuizInputDataAttributes(quiz,options){if(!quiz?.isQuizInput)return{};if(isQuizWeightedConfig(quiz)){const rows=normalizeOptionPointRows(quiz.optionPoints);const defaultPoints=quiz.defaultOptionPoints!==undefined&&Number.isFinite(quiz.defaultOptionPoints)?Number(quiz.defaultOptionPoints):0;const attrs={\"data-framerforms-quiz\":\"true\",\"data-framerforms-quiz-scoring\":\"weighted\",\"data-framerforms-quiz-option-points\":JSON.stringify({defaultPoints,rows})};if(quiz.multiSelect){attrs[\"data-framerforms-quiz-multiselect-aggregate\"]=normalizeQuizMultiSelectAggregate(quiz.multiSelectAggregate);}if(options.quizOptionsJson&&Object.keys(options.quizOptionsJson).length){attrs[\"data-framerforms-quiz-options\"]=JSON.stringify(options.quizOptionsJson);}return attrs;}const ca=options.correctAnswer;const hasCorrect=ca!=null&&ca!==\"\"&&!(Array.isArray(ca)&&ca.length===0);if(!hasCorrect)return{};const correctStr=Array.isArray(ca)?JSON.stringify(ca):String(ca);const attrs={\"data-framerforms-quiz\":\"true\",\"data-framerforms-quiz-scoring\":\"correctIncorrect\",\"data-framerforms-correct-answer\":correctStr,\"data-framerforms-quiz-points\":String(quiz.points??1),\"data-framerforms-quiz-wrong-points\":String(quiz.wrongPoints??0)};if(options.quizOptionsJson&&Object.keys(options.quizOptionsJson).length){attrs[\"data-framerforms-quiz-options\"]=JSON.stringify(options.quizOptionsJson);}return attrs;}export function createQuizNestedControls(correctControls,options){const hideUnlessQuiz=inner=>!inner.isQuizInput;const hideUnlessWeighted=inner=>!inner.isQuizInput||inner.scoringMethod!==\"weighted\";const hideQuizMultiSelect=inner=>hideUnlessWeighted(inner)||!options?.supportsMultiSelect;const hideMultiSelectAggregate=inner=>hideQuizMultiSelect(inner)||!inner.multiSelect;const hideUnlessCorrect=inner=>!inner.isQuizInput||(inner.scoringMethod??\"correctIncorrect\")===\"weighted\";const wrappedCorrect={};for(const[key,ctrl]of Object.entries(correctControls)){const c=ctrl;const prevHidden=c.hidden;wrappedCorrect[key]={...c,hidden:inner=>hideUnlessCorrect(inner)||typeof prevHidden===\"function\"&&prevHidden(inner)};}return{isQuizInput:{type:ControlType.Boolean,title:\"Quiz\",defaultValue:false,enabledTitle:\"On\",disabledTitle:\"Off\"},scoringMethod:{type:ControlType.Enum,title:\"Scoring\",options:[\"correctIncorrect\",\"weighted\"],optionTitles:[\"Correct / wrong\",\"Weighted options\"],defaultValue:\"correctIncorrect\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",hidden:hideUnlessQuiz},...wrappedCorrect,points:{type:ControlType.Number,title:\"Correct\",defaultValue:1,min:-100,max:100,step:1,displayStepper:true,hidden:hideUnlessCorrect},wrongPoints:{type:ControlType.Number,title:\"Wrong\",defaultValue:0,min:-100,max:100,step:1,displayStepper:true,hidden:hideUnlessCorrect},defaultOptionPoints:{type:ControlType.Number,title:\"If no match\",defaultValue:0,min:-1e9,max:1e9,step:.01,displayStepper:true,hidden:hideUnlessWeighted},optionPoints:{type:ControlType.Array,title:\"Points\",defaultValue:[{optionValue:\"\",points:1}],description:\"Points per answer value.\",hidden:hideUnlessWeighted,control:{type:ControlType.Object,controls:{optionValue:{type:ControlType.String,title:\"Value\",defaultValue:\"\",placeholder:\"e.g. 'Option1'\"},points:{type:ControlType.Number,title:\"Points\",defaultValue:1,min:-1e9,max:1e9,step:.01,displayStepper:true}}}},...options?.supportsMultiSelect?{multiSelect:{type:ControlType.Boolean,title:\"Multi-select\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:hideQuizMultiSelect},multiSelectAggregate:{type:ControlType.Enum,title:\"Calculate\",options:QUIZ_MULTI_SELECT_AGGREGATES,optionTitles:[\"Sum\",\"Average\",\"Highest\",\"Lowest\"],defaultValue:\"sum\",displaySegmentedControl:true,segmentedControlDirection:\"vertical\",description:\"How to combine points when multiple options are selected.\",hidden:hideMultiSelectAggregate}}:{}};}\nexport const __FramerMetadata__ = {\"exports\":{\"clearQuizDataAttributes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"normalizeOptionPointRows\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"applyQuizDataAttributes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"maxWeightedQuestionPoints\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CreateQuizNestedControlsOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NormalizedOptionPoints\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuizInputConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuizScoringMethod\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createQuizNestedControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QUIZ_MULTI_SELECT_AGGREGATES\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QUIZ_DATA_ATTRIBUTE_KEYS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isQuizWeightedConfig\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuizMultiSelectAggregate\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuizOptionPointRow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"normalizeQuizMultiSelectAggregate\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"scoreWeightedFieldValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"buildQuizInputDataAttributes\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parseOptionPointsAttr\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./QuizScoringShared.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType,RenderTarget,withCSS}from\"framer\";import{forwardRef,useEffect,useState,useRef,useId,useCallback}from\"react\";import{motion}from\"framer-motion\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{parseOptionPointsAttr,scoreWeightedFieldValue,normalizeQuizMultiSelectAggregate}from\"https://framerusercontent.com/modules/itVumdSpaLTGejsnG4cS/6LKYMWPrWe4DJ5B7wYmL/QuizScoringShared.js\";// ---------------------------------------------------------------------------\n// Shared property controls (Insert Frame docs / support)\n// ---------------------------------------------------------------------------\nconst INSERT_FRAME_FRAMER_FORMS_DOCS=\"https://insertframe.io/docs/framerforms\";/** Spread into `addPropertyControls`: “Need help?” → Get support (Framer Forms docs). */export const insertFrameSupportPropertyControl={needHelp:{type:ControlType.Object,title:\"Need help?\",buttonTitle:\"Get support\",icon:\"interaction\",controls:{info:{type:ControlType.Enum,defaultValue:\"info\",options:[\"info\"],optionTitles:[\"Get support 🛟\"],displaySegmentedControl:true,title:\"Get support\",description:`Documentation and live chat: [FramerForms docs](${INSERT_FRAME_FRAMER_FORMS_DOCS}).`}}}};export const useMultiStepFormStore=createStore({});export const useQuizStore=createStore({});/** Typed tuple for consumers (avoids `as` at every call site). */export function useQuizStoreApi(){return useQuizStore();}export function createEmptyQuizScore(){return{correct:0,total:0,points:0,maxPoints:0,answers:{}};}export const useFormSubmittedStore=createStore({});export function useFormSubmittedStoreApi(){return useFormSubmittedStore();}export const HIDDEN_CLASS_NAME=\"framerforms-hidden\";const CANVAS_HIDDEN_CLASS_NAME=\"framerforms-canvas-hidden\";export const useInstanceId=()=>{const id=useId();const cleanId=id.replace(/:/g,\"\");const instanceId=`superfields-${cleanId}`;return instanceId;};export const HiddenInput=/*#__PURE__*/forwardRef(function HiddenInput({name,required,value,setInvalid,onSetValueEvent,noPrefill=false,disabled=false,style:styleProp,...rest},parentRef){const internalRef=useRef(null);const setRefs=useCallback(el=>{internalRef.current=el;if(typeof parentRef===\"function\"){parentRef(el);}else if(parentRef){parentRef.current=el;}},[parentRef]);const prevValueRef=useRef(value);// Store callback in ref to avoid listener churn\nconst onSetValueEventRef=useRef(onSetValueEvent);onSetValueEventRef.current=onSetValueEvent;useEffect(()=>{const element=internalRef.current;if(!element||!onSetValueEventRef.current)return;// Use a wrapper that always calls the latest callback\nconst handler=event=>{onSetValueEventRef.current?.(event);};element.addEventListener(\"framerFormsSetValue\",handler);// Mark as ready AFTER listener is attached - FormPersistence checks for this\nelement.dataset.framerformsSetValueReady=\"true\";return()=>{element.removeEventListener(\"framerFormsSetValue\",handler);delete element.dataset.framerformsSetValueReady;};},[])// Empty deps - only attach once\n;// Dispatch change event when value changes so FormPersistence can track updates\nuseEffect(()=>{const element=internalRef.current;if(!element)return;// Only dispatch if value actually changed (not on initial mount)\nif(prevValueRef.current!==value){prevValueRef.current=value;// Dispatch both input and change events for compatibility\nelement.dispatchEvent(new Event(\"input\",{bubbles:true}));element.dispatchEvent(new Event(\"change\",{bubbles:true}));}},[value]);return /*#__PURE__*/_jsx(\"input\",{ref:setRefs,type:\"text\",\"data-framerforms-set-value-event\":!!onSetValueEvent,\"data-framerforms-no-prefill\":noPrefill,...rest,style:{position:\"absolute\",opacity:0,pointerEvents:\"none\",inset:0,...styleProp},tabIndex:-1,name:name,required:required,value:value,disabled:disabled,onChange:()=>{},onInvalid:event=>{event.preventDefault();setInvalid(true);}});});const HideElementComponent=/*#__PURE__*/forwardRef(({},ref)=>{return /*#__PURE__*/_jsx(\"div\",{ref:ref,className:HIDDEN_CLASS_NAME});});export const HideElement=withCSS(HideElementComponent,[`div:has(> .${HIDDEN_CLASS_NAME}) { display: none; }`,`.${HIDDEN_CLASS_NAME} { display: none; }`],HIDDEN_CLASS_NAME);HideElement.displayName=\"FramerForms/Hide Element\";export const HiddenComponentLabel=/*#__PURE__*/forwardRef(function HiddenComponentLabel({text,subtext=\"\",children=null,...otherProps},ref){const isCanvas=RenderTarget.current()===RenderTarget.canvas;return isCanvas?/*#__PURE__*/_jsxs(\"div\",{\"data-framerforms\":true,...otherProps,ref:ref,className:CANVAS_HIDDEN_CLASS_NAME,style:{backgroundColor:\"rgba(187, 187, 187, 0.15)\",borderRadius:10,padding:\"12px 16px\",fontFamily:\"Inter\",fontWeight:500,fontSize:12,color:\"#999\",display:\"flex\",flexDirection:\"column\",gap:4,alignItems:\"center\",textAlign:\"center\",width:\"100%\",height:\"100%\",textWrap:\"nowrap\"},children:[children,text,subtext&&/*#__PURE__*/_jsx(\"span\",{style:{opacity:.7,whiteSpace:\"pre\",lineHeight:1.4},children:subtext}),/*#__PURE__*/_jsx(Border,{width:\"1px\",style:\"solid\",borderColor:\"rgba(136, 136, 136, 0.1)\"}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n                        [data-framer-component-container=\"true\"] div:has(> .${CANVAS_HIDDEN_CLASS_NAME}) {\n                            display: none !important;\n                        }`}})]}):/*#__PURE__*/_jsxs(\"div\",{...otherProps,ref:ref,className:HIDDEN_CLASS_NAME,children:[/*#__PURE__*/_jsx(HideElement,{}),children]});});HiddenComponentLabel.displayName=\"FramerForms/Hidden Component Label\";export function iconProp({size=16,buttonTitle=\"Icon\",controls={}}={}){return{type:ControlType.Object,buttonTitle,optional:true,defaultValue:{color:\"#999\",size},controls:{image:{type:ControlType.Image},color:{type:ControlType.Color,optional:true,defaultValue:\"#999\"},size:{type:ControlType.Number,defaultValue:size,min:1,step:1,displayStepper:true},...controls}};}export function Icon({image,color,size,style={},defaultImage}){return /*#__PURE__*/_jsx(\"div\",{style:{width:size,height:size,minWidth:size,minHeight:size,pointerEvents:\"none\",backgroundColor:color,backgroundImage:color?\"none\":image?`url('${image}')`:defaultImage,maskImage:image?`url('${image}')`:defaultImage,backgroundSize:\"contain\",backgroundPosition:\"center\",maskSize:\"contain\",maskPosition:\"center\",...style}});}Icon.displayName=\"FramerForms/Icon\";export function Border({width,style,transition=null,borderColor=\"inherit\",opacity=1}){return /*#__PURE__*/_jsx(motion.div,{animate:{borderColor,opacity},style:{position:\"absolute\",inset:0,borderWidth:width,borderStyle:style,borderRadius:\"inherit\",pointerEvents:\"none\"},initial:false,transition:transition});}Border.displayName=\"FramerForms/Border Staging\";export function createBackground(fill,on=null,focused=null,invalid=null){if(fill){const onOff=typeof on==\"boolean\";if(fill.type==\"color\"){let color=invalid&&fill.colorInvalid||focused&&fill.colorFocus||(onOff?on?fill.colorOn:fill.colorOff:fill.color);return{backgroundColor:color,backgroundImage:\"none\"};}else{const colorA=invalid&&fill.colorAInvalid||focused&&fill.colorAFocus||(onOff?on?fill.colorAOn:fill.colorAOff:fill.colorA);const colorB=invalid&&fill.colorBInvalid||focused&&fill.colorBFocus||(onOff?on?fill.colorBOn:fill.colorBOff:fill.colorB);return{backgroundColor:\"none\",backgroundImage:`linear-gradient(${fill.gradientAngle}deg, ${colorB}, ${colorA})`};}}return{};}export function parsePadding(padding){if(typeof padding!==\"string\"){return[0,0,0,0];}const values=padding.split(\" \");const parsedValues=values.map(value=>parseInt(value.replace(\"px\",\"\"),10));switch(parsedValues.length){case 1:const p=parsedValues[0];return[p,p,p,p];case 4:return parsedValues;}return[0,0,0,0];}export function fillProp({onOff=false,focus=true,invalid=true,optional=false,hidden=null,color=\"rgba(187, 187, 187, 0.15)\",colorA=\"#BBB\",colorB=\"#676767\",colorOn=\"rgba(70, 160, 219, 0.2)\",colorAOn=\"#66C2FF\",colorBOn=\"#0099FF\",colorOff=\"rgba(187, 187, 187, 0.15)\",colorAOff=\"#BBB\",colorBOff=\"#676767\"}={}){return{type:ControlType.Object,optional,hidden,icon:\"color\",defaultValue:{type:\"color\",...onOff?{colorOn,colorOff}:{color,colorA,colorB}},controls:{type:{type:ControlType.Enum,defaultValue:\"color\",options:[\"color\",\"linearGradient\"],optionTitles:[\"Color\",\"Gradient\"],displaySegmentedControl:true},...onOff?{colorOn:{type:ControlType.Color,defaultValue:colorOn,hidden:props=>props.type!==\"color\"},colorOff:{type:ControlType.Color,defaultValue:colorOff,hidden:props=>props.type!==\"color\"}}:{color:{type:ControlType.Color,defaultValue:color,hidden:props=>props.type!==\"color\"}},...focus?{colorFocus:{type:ControlType.Color,optional:true,title:\"Focus\",hidden:props=>props.type!==\"color\"}}:{},...invalid?{colorInvalid:{type:ControlType.Color,optional:true,title:\"Invalid\",hidden:props=>props.type!==\"color\"}}:{},...onOff?{colorAOn:{type:ControlType.Color,defaultValue:colorAOn,title:\"Colors On\",hidden:props=>props.type!==\"linearGradient\"},colorBOn:{type:ControlType.Color,defaultValue:colorBOn,title:\" \",hidden:props=>props.type!==\"linearGradient\"},colorAOff:{type:ControlType.Color,defaultValue:colorAOff,title:\"Colors Off\",hidden:props=>props.type!==\"linearGradient\"},colorBOff:{type:ControlType.Color,defaultValue:colorBOff,title:\" \",hidden:props=>props.type!==\"linearGradient\"}}:{colorA:{type:ControlType.Color,defaultValue:colorA,title:\"Colors\",hidden:props=>props.type!==\"linearGradient\"},colorB:{type:ControlType.Color,defaultValue:colorB,title:\" \",hidden:props=>props.type!==\"linearGradient\"}},...focus?{colorAFocus:{type:ControlType.Color,optional:true,title:\"Focus\",hidden:props=>props.type!==\"linearGradient\"},colorBFocus:{type:ControlType.Color,optional:true,title:\" \",hidden:props=>props.type!==\"linearGradient\"}}:{},...invalid?{colorAInvalid:{type:ControlType.Color,optional:true,title:\"Invalid\",hidden:props=>props.type!==\"linearGradient\"},colorBInvalid:{type:ControlType.Color,optional:true,title:\" \",hidden:props=>props.type!==\"linearGradient\"}}:{},gradientAngle:{type:ControlType.Number,defaultValue:0,title:\"Angle\",step:1,min:0,max:360,unit:\"\\xb0\",hidden:props=>props.type!=\"linearGradient\"}}};}export function borderProp({onOff=false,focus=true,invalid=true,defaultValue=true,color=\"rgba(136, 136, 136, 0.1)\",colorOn=\"#0099FF\",colorOff=\"rgba(136, 136, 136, 0.1)\",colorFocus=\"#0099FF\",colorInvalid=\"#FF5A6F\",hidden=null}={}){return{type:ControlType.Object,optional:true,hidden,defaultValue:defaultValue?{color,colorOn,colorOff,colorFocus,colorInvalid,width:\"1px\"}:undefined,controls:{...onOff?{colorOn:{type:ControlType.Color,defaultValue:colorOn},colorOff:{type:ControlType.Color,defaultValue:colorOff}}:{color:{type:ControlType.Color,defaultValue:color}},...focus?{colorFocus:{type:ControlType.Color,defaultValue:colorFocus,optional:true,title:\"Focus\"}}:{},...invalid?{colorInvalid:{type:ControlType.Color,defaultValue:colorInvalid,optional:true,title:\"Invalid\"}}:{},width:{type:ControlType.Padding,defaultValue:\"1px\"},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}}};}export function shadowsProp({invalid=true,onOff=false}={}){return{type:ControlType.Object,buttonTitle:\"Shadows\",optional:true,controls:{...onOff?{on:{type:ControlType.BoxShadow,defaultValue:\"rgba(0, 153, 255, 0.5) 0px 2px 4px 0px\"},off:{type:ControlType.BoxShadow,defaultValue:\"rgba(0, 0, 0, 0.25) 0px 2px 4px 0px\"}}:{default:{type:ControlType.BoxShadow,defaultValue:\"rgba(0, 0, 0, 0.25) 0px 2px 4px 0px\"}},focus:{type:ControlType.BoxShadow},invalid:invalid?{type:ControlType.BoxShadow}:null}};}export function useCanvasState(ref){const[totalPages,setTotalPages]=useState(1);useEffect(()=>{const element=ref.current;let pages=null;function updateState(){setTotalPages(pages?pages.children.length:1);}if(element){const multiStepForms=document.querySelectorAll(\"div[data-framerforms-multi-step-form]\");for(const multiStepForm of multiStepForms){const form=multiStepForm.closest(\"form\")||multiStepForm.parentElement.parentElement.parentElement;if(form&&isAncestor(form,element)){pages=form.querySelector(':scope > [data-framer-name=\"Pages\" i]');}}}updateState();if(pages){const observer=new MutationObserver((mutationsList,observer)=>{for(let mutation of mutationsList){if(mutation.type===\"childList\"){updateState();}}});observer.observe(pages,{childList:true});return()=>observer.disconnect();}},[]);return{page:0,totalPages};}export function isAncestor(ancestorElement,descendantElement){if(!ancestorElement||!descendantElement){return false;}let currentElement=descendantElement;while(currentElement!==null){if(currentElement===ancestorElement){return true;}currentElement=currentElement.parentElement;}return false;}export function getFormInfo(element){const form=element?.closest(\"form\")??null;let formId=null;let pages=null;if(form){formId=form.getAttribute(\"framerforms-id\");pages=form.querySelector(':scope > [data-framer-name=\"Pages\" i]');if(!formId){formId=uuid();form.setAttribute(\"framerforms-id\",formId);}}return{form,formId,pages};}function uuid(){let d=new Date().getTime()// Timestamp\n;let d2=performance&&performance.now&&performance.now()*1e3||0// Time in microseconds since page-load or 0 if unsupported\n;return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(c){let r=Math.random()*16// random number between 0 and 16\n;if(d>0){// Use timestamp until depleted\nr=(d+r)%16|0;d=Math.floor(d/16);}else{// Use microseconds since page-load if supported\nr=(d2+r)%16|0;d2=Math.floor(d2/16);}return(c===\"x\"?r:r&3|8).toString(16);});}function parseQuizOptions(attr){if(!attr)return{};try{const v=JSON.parse(attr);return{caseSensitive:Boolean(v.caseSensitive),ignoreSpaces:Boolean(v.ignoreSpaces),useRegex:Boolean(v.useRegex),matchMode:v.matchMode===\"set\"?\"set\":\"exact\",valueSeparator:typeof v.valueSeparator===\"string\"?v.valueSeparator:\", \",multiSelectAggregate:normalizeQuizMultiSelectAggregate(v.multiSelectAggregate)};}catch{return{};}}function readQuizMultiSelectAggregate(el,opts){const fromAttr=el.getAttribute(\"data-framerforms-quiz-multiselect-aggregate\");if(fromAttr){return normalizeQuizMultiSelectAggregate(fromAttr);}return normalizeQuizMultiSelectAggregate(opts.multiSelectAggregate);}function parseExpectedAnswer(raw){if(raw==null||raw===\"\")return\"\";const trimmed=raw.trim();if(trimmed.startsWith(\"[\")&&trimmed.endsWith(\"]\")){try{const v=JSON.parse(trimmed);if(Array.isArray(v)){return v.map(x=>String(x));}}catch{return raw;}}return raw;}function normalizeCompare(s,ignoreSpaces,caseSensitive){let out=s;if(ignoreSpaces)out=out.replace(/\\s/g,\"\");if(!caseSensitive)out=out.toLowerCase();return out;}function isQuizAnswerCorrect(value,expected,opts){const matchMode=opts.matchMode??\"exact\";if(matchMode===\"set\"&&Array.isArray(expected)&&expected.length>0){const sep=opts.valueSeparator??\", \";const userParts=value.split(sep).map(s=>s.trim()).filter(Boolean);const expParts=expected.map(e=>String(e).trim()).filter(Boolean);if(userParts.length!==expParts.length)return false;const normOne=s=>normalizeCompare(s,!!opts.ignoreSpaces,!!opts.caseSensitive);const sortedUser=[...userParts].map(normOne).sort();const sortedExp=[...expParts].map(normOne).sort();return sortedUser.every((x,i)=>x===sortedExp[i]);}const caseSensitive=!!opts.caseSensitive;const ignoreSpaces=!!opts.ignoreSpaces;const useRegex=!!opts.useRegex;if(Array.isArray(expected)){return expected.some(e=>{const exp=String(e);if(useRegex){try{return new RegExp(exp).test(value);}catch{return false;}}return normalizeCompare(value,ignoreSpaces,caseSensitive)===normalizeCompare(exp,ignoreSpaces,caseSensitive);});}const exp=String(expected);if(useRegex){try{return new RegExp(exp).test(value);}catch{return false;}}return normalizeCompare(value,ignoreSpaces,caseSensitive)===normalizeCompare(exp,ignoreSpaces,caseSensitive);}function readQuizQuestionPoints(el){const pCorrect=Number(el.getAttribute(\"data-framerforms-quiz-points\")??\"1\");const pWrong=Number(el.getAttribute(\"data-framerforms-quiz-wrong-points\")??\"0\");return{maxPointsIfCorrect:Number.isFinite(pCorrect)?pCorrect:1,pointsIfWrong:Number.isFinite(pWrong)?pWrong:0};}/**\n * Read one quiz field’s live answer, expected answer text, and correctness.\n * Use the field’s `name` (same as in the Layers / form). For radio groups,\n * pass the shared `name` attribute.\n */export function getQuestionData(form,inputName){const empty={userValue:\"\",correctAnswer:\"\",isCorrect:null,isQuizField:false,maxPointsIfCorrect:0,pointsIfWrong:0};if(!form||!inputName?.trim())return empty;const esc=typeof CSS!==\"undefined\"&&typeof CSS.escape===\"function\"?CSS.escape(inputName):inputName.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"');const sel=`input[name=\"${esc}\"], select[name=\"${esc}\"], textarea[name=\"${esc}\"]`;const all=form.querySelectorAll(sel);if(all.length===0)return empty;let el=all[0];if(all.length>1&&el instanceof HTMLInputElement&&el.type===\"radio\"){let checked=null;for(const n of all){if(n instanceof HTMLInputElement&&n.type===\"radio\"&&n.checked){checked=n;break;}}el=checked??el;}const userValue=getQuizFieldValue(el);if(el.getAttribute(\"data-framerforms-quiz\")!==\"true\"){return{userValue,correctAnswer:\"\",isCorrect:null,isQuizField:false,maxPointsIfCorrect:0,pointsIfWrong:0};}if(el.getAttribute(\"data-framerforms-quiz-scoring\")===\"weighted\"){const parsed=parseOptionPointsAttr(el.getAttribute(\"data-framerforms-quiz-option-points\"));if(!parsed){return{userValue,correctAnswer:\"\",isCorrect:null,isQuizField:true,maxPointsIfCorrect:0,pointsIfWrong:0,earnedPoints:0};}const opts=parseQuizOptions(el.getAttribute(\"data-framerforms-quiz-options\"));const{earned,maxPoints}=scoreWeightedFieldValue(userValue,parsed,{...opts,multiSelectAggregate:readQuizMultiSelectAggregate(el,opts)});return{userValue,correctAnswer:\"\",isCorrect:null,isQuizField:true,maxPointsIfCorrect:maxPoints,pointsIfWrong:0,earnedPoints:earned};}const expectedRaw=el.getAttribute(\"data-framerforms-correct-answer\")??\"\";const expected=parseExpectedAnswer(expectedRaw);const opts=parseQuizOptions(el.getAttribute(\"data-framerforms-quiz-options\"));const{maxPointsIfCorrect,pointsIfWrong}=readQuizQuestionPoints(el);const correctAnswer=Array.isArray(expected)?expected.map(String).join(\", \"):String(expected??\"\");if(expected===\"\"||Array.isArray(expected)&&expected.length===0){return{userValue,correctAnswer:\"\",isCorrect:null,isQuizField:true,maxPointsIfCorrect,pointsIfWrong};}const isOk=isQuizAnswerCorrect(userValue,expected,opts);return{userValue,correctAnswer,isCorrect:isOk,isQuizField:true,maxPointsIfCorrect,pointsIfWrong};}function getQuizFieldValue(el){if(el instanceof HTMLSelectElement){return el.value??\"\";}const inp=el;if(inp.type===\"checkbox\"||inp.type===\"radio\"){return inp.checked?inp.value||\"on\":\"\";}return inp.value??\"\";}/**\n * Computes quiz score from the form DOM.\n * Correct/incorrect fields need `data-framerforms-correct-answer`.\n * Weighted fields use `data-framerforms-quiz-option-points` (no correct answer).\n * Skips inputs disabled for multi-step unvisited pages (`disabled=\"FramerForms\"`).\n */export function calculateQuizScoreFromForm(form,_scoringMode){const nodes=form.querySelectorAll('input[data-framerforms-quiz=\"true\"], select[data-framerforms-quiz=\"true\"], textarea[data-framerforms-quiz=\"true\"]');let correct=0;let total=0;let points=0;let maxPoints=0;const answers={};const countedNames=new Set;let fieldIndex=0;const fieldKey=el=>{fieldIndex+=1;return el.name?.trim()?el.name:`quiz-field-${fieldIndex}`;};nodes.forEach(el=>{if(el.getAttribute(\"disabled\")===\"FramerForms\")return;const nameKey=el.name?.trim();if(nameKey&&countedNames.has(nameKey))return;const scoringMethod=el.getAttribute(\"data-framerforms-quiz-scoring\")??\"correctIncorrect\";if(scoringMethod===\"weighted\"){const parsed=parseOptionPointsAttr(el.getAttribute(\"data-framerforms-quiz-option-points\"));if(!parsed)return;const opts=parseQuizOptions(el.getAttribute(\"data-framerforms-quiz-options\"));const value=getQuizFieldValue(el);const{earned,maxPoints:fieldMax}=scoreWeightedFieldValue(value,parsed,{...opts,multiSelectAggregate:readQuizMultiSelectAggregate(el,opts)});const key=fieldKey(el);if(nameKey)countedNames.add(nameKey);total+=1;maxPoints+=fieldMax;points+=earned;answers[key]={isCorrect:null,earnedPoints:earned};return;}if(!el.hasAttribute(\"data-framerforms-correct-answer\"))return;const expectedRaw=el.getAttribute(\"data-framerforms-correct-answer\")??\"\";const expected=parseExpectedAnswer(expectedRaw);if(expected===\"\"||Array.isArray(expected)&&expected.length===0)return;const opts=parseQuizOptions(el.getAttribute(\"data-framerforms-quiz-options\"));const pCorrect=Number(el.getAttribute(\"data-framerforms-quiz-points\")??\"1\");const pWrong=Number(el.getAttribute(\"data-framerforms-quiz-wrong-points\")??\"0\");const pc=Number.isFinite(pCorrect)?pCorrect:1;const pw=Number.isFinite(pWrong)?pWrong:0;const key=fieldKey(el);if(nameKey)countedNames.add(nameKey);total+=1;maxPoints+=pc;const value=getQuizFieldValue(el);const isOk=isQuizAnswerCorrect(value,expected,opts);if(isOk){correct+=1;points+=pc;answers[key]={isCorrect:true,earnedPoints:pc};}else{points+=pw;answers[key]={isCorrect:false,earnedPoints:pw};}});return{correct,total,points,maxPoints,answers};}// ============================================================================\n// FORM UTILITIES\n// ============================================================================\n/**\n * Clears all form input values and dispatches events to notify React components.\n * Handles regular inputs, checkboxes, radios, and custom FramerForms inputs\n * (RatingInput, PhoneNumberInput, etc.).\n *\n * @param form - The form element to clear\n */export function clearFormInputs(form){if(!form)return;// Reset the form (clears most inputs)\nform.reset();// Manually clear inputs that might not be reset by form.reset()\nconst inputs=form.querySelectorAll(\"input, select, textarea\");inputs.forEach(input=>{if(input.type===\"checkbox\"||input.type===\"radio\"){input.checked=false;}else{input.value=\"\";}// Dispatch events to notify React components\ninput.dispatchEvent(new Event(\"input\",{bubbles:true}));input.dispatchEvent(new Event(\"change\",{bubbles:true}));});// Clear custom FramerForms inputs (RatingInput, PhoneNumberInput, etc.)\n// These use HiddenInput with data-framerforms-set-value-event=\"true\"\nconst customInputs=form.querySelectorAll('input[data-framerforms-set-value-event=\"true\"]');customInputs.forEach(input=>{const inputName=input.name?.toLowerCase()||\"\";// Identify component type by checking parent structure\nconst parent=input.closest(\"[data-framerforms]\");const buttonCount=parent?.querySelectorAll('button[type=\"button\"]').length||0;// RatingInput typically has 2-10 star buttons\nconst isLikelyRating=buttonCount>=2&&buttonCount<=10;// RatingInput needs 0 to clear, others need empty string\nconst clearValue=isLikelyRating||inputName.includes(\"rating\")?0:\"\";input.dispatchEvent(new CustomEvent(\"framerFormsSetValue\",{detail:clearValue,bubbles:true}));});}// ============================================================================\n// AUTOFILL STYLING OVERRIDE\n// ============================================================================\n/**\n * Sets up global CSS to override browser autofill styling.\n * This prevents browsers from applying their default yellow/blue backgrounds\n * to autofilled form inputs, which can break custom designs.\n *\n * Runs once when the module loads and applies to all inputs on the page,\n * including native Framer components.\n */function setupAutofillOverride(){// Check if we're in a browser environment\nif(typeof document===\"undefined\")return;// Check if the style tag already exists to avoid duplicates\nconst existingStyle=document.getElementById(\"framerforms-autofill-override\");if(existingStyle)return;// Create and inject the style tag\nconst style=document.createElement(\"style\");style.id=\"framerforms-autofill-override\";style.textContent=`\n        /* Override browser autofill styling for all inputs */\n        input:-webkit-autofill,\n        input:-webkit-autofill:hover,\n        input:-webkit-autofill:focus,\n        input:-webkit-autofill:active,\n        select:-webkit-autofill,\n        select:-webkit-autofill:hover,\n        select:-webkit-autofill:focus,\n        select:-webkit-autofill:active,\n        textarea:-webkit-autofill,\n        textarea:-webkit-autofill:hover,\n        textarea:-webkit-autofill:focus,\n        textarea:-webkit-autofill:active {\n            /* Use box-shadow to override background color */\n            /* The large spread radius ensures it covers the entire input */\n            -webkit-box-shadow: 0 0 0 1000px transparent inset !important;\n            box-shadow: 0 0 0 1000px transparent inset !important;\n            \n            /* Override text color */\n            -webkit-text-fill-color: inherit !important;\n            color: inherit !important;\n            \n            /* Use transition trick to prevent background color changes */\n            /* The extremely long duration (5000s) effectively prevents the change */\n            transition: background-color 5000s ease-in-out 0s, \n                        color 5000s ease-in-out 0s !important;\n        }\n        \n        /* Ensure autofilled inputs maintain their original styling */\n        input:-webkit-autofill::first-line,\n        select:-webkit-autofill::first-line,\n        textarea:-webkit-autofill::first-line {\n            -webkit-text-fill-color: inherit !important;\n            color: inherit !important;\n        }\n    `;// Append to document head\ndocument.head.appendChild(style);}// Run the setup immediately when the module loads\n// This ensures it applies globally before any components render\nif(typeof document!==\"undefined\"){// Use requestAnimationFrame to ensure DOM is ready\nif(document.readyState===\"loading\"){document.addEventListener(\"DOMContentLoaded\",setupAutofillOverride);}else{// DOM is already loaded, run immediately\nsetupAutofillOverride();}}\nexport const __FramerMetadata__ = {\"exports\":{\"getFormInfo\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"iconProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HIDDEN_CLASS_NAME\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"parsePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createBackground\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"InsertFrameNeedHelpProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ScoringMode\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useQuizStoreApi\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormSubmittedSetter\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useInstanceId\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"calculateQuizScoreFromForm\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenComponentLabel\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useQuizStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFormSubmittedStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormInfo\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenInputProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FormSubmittedStoreState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFormSubmittedStoreApi\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HideElement\":{\"type\":\"reactComponent\",\"name\":\"HideElement\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"createEmptyQuizScore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuizRuntimeState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"shadowsProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isAncestor\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MultiStepFormState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuizScore\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenComponentLabelProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useCanvasState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Border\":{\"type\":\"reactComponent\",\"name\":\"Border\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"clearFormInputs\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuizStoreState\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenInput\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"getQuestionData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fillProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MultiStepFormStore\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiStepFormStore\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"insertFrameSupportPropertyControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"QuizStoreSetter\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PageHistory\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"LogicConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HiddenInputOwnProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FramerFormsShared.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState,useRef,cloneElement}from\"react\";import{motion}from\"framer-motion\";import{borderProp,fillProp,createBackground,Border,HideElement,useMultiStepFormStore,getFormInfo}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";const CANVAS_HIDDEN_CLASS_NAME=\"framerforms-canvas-hidden\";/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export default function MultiStepFormButton(props){const prev=props.page==\"previous\";const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const[formId,setFormId]=useState(null);const ref=useRef(null);const state=multiStepFormState[formId];useEffect(()=>{const newFormId=getFormInfo(ref.current).formId;if(!multiStepFormState[newFormId]){setMultiStepFormState({});}setFormId(newFormId);},[]);let hidden=false;if(isOptimizing||!state){hidden=prev;}else if(state?.pageHistory){const page=state.pageHistory[state.pageHistory.length-1];if(prev){hidden=page===0;}else{hidden=state.isEndPage;}}if(hidden&&!isCanvas){return /*#__PURE__*/_jsx(HideElement,{ref:ref});}function onClick(){if(state){if(prev){state.previousPage();}else{state.nextPage();}}props.click?.();}if(props.appearance==\"custom\"){let layer=props.customLayer?.[0];const width=props.style?.width;const height=props.style?.height;if(layer&&props.style&&(width||height)){layer=/*#__PURE__*/cloneElement(layer,{style:{...layer.props.style,...width&&{width:width},...height&&{height:height}}});}return /*#__PURE__*/_jsx(\"button\",{ref:ref,type:\"button\",style:{display:\"contents\"},onClick:onClick,onMouseEnter:props.hover,children:layer});}return /*#__PURE__*/_jsxs(motion.button,{\"data-framerforms\":true,ref:ref,type:\"button\",onClick:onClick,onMouseEnter:props.hover,className:hidden&&isCanvas?CANVAS_HIDDEN_CLASS_NAME:\"\",whileFocus:{...createBackground(props.fill,null,true),borderColor:props.border?.colorFocus??props.border?.color},style:{position:\"relative\",display:\"flex\",justifyContent:props.font?.textAlign||\"center\",alignItems:\"center\",...createBackground(props.fill),border:\"none\",color:props.color,padding:props.padding,borderRadius:props.radius,userSelect:\"none\",cursor:\"pointer\",textWrap:props.style?.width==\"100%\"?undefined:\"nowrap\",boxShadow:props.shadows,borderColor:props.border?.color,backdropFilter:props.bgBlur?`blur(${props.bgBlur}px)`:undefined,...props.font,...props.style},transition:props.transition,children:[props.text,/*#__PURE__*/_jsx(Border,{...props.border}),hidden&&isCanvas&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n                        [data-framer-component-container=\"true\"] div:has(> .${CANVAS_HIDDEN_CLASS_NAME}) {\n                            display: none !important;\n                        }`}})]});}MultiStepFormButton.displayName=\"Multi-Step Form Button\";addPropertyControls(MultiStepFormButton,{page:{type:ControlType.Enum,defaultValue:\"next\",options:[\"previous\",\"next\"],optionTitles:[\"Previous\",\"Next\"],displaySegmentedControl:true},autoHide:{type:ControlType.Boolean,defaultValue:true,title:\"Auto-Hide\",description:\"Hide on first/last page\"},appearance:{type:ControlType.Enum,defaultValue:\"default\",options:[\"default\",\"custom\"],optionTitles:[\"Default\",\"Custom\"],displaySegmentedControl:true},customLayer:{type:ControlType.ComponentInstance,title:\"Layer\",description:\"Connect a custom layer outside the breakpoint\",hidden:props=>props.appearance!==\"custom\"},text:{type:ControlType.String,defaultValue:\"Next\",hidden:props=>props.appearance!==\"default\"},fill:fillProp({focus:true,invalid:false,color:\"#333\",colorA:\"#8C8C8C\",colorB:\"#000\",hidden:props=>props.appearance!==\"default\"}),color:{type:ControlType.Color,defaultValue:\"#FFF\",hidden:props=>props.appearance!==\"default\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:1.2},hidden:props=>props.appearance!==\"default\"},padding:{type:ControlType.Padding,defaultValue:\"10px 16px 10px 16px\",hidden:props=>props.appearance!==\"default\"},radius:{type:ControlType.BorderRadius,defaultValue:\"10px\",hidden:props=>props.appearance!==\"default\"},border:borderProp({focus:true,color:\"#0099FF00\",hidden:props=>props.appearance!==\"default\"}),shadows:{type:ControlType.BoxShadow,hidden:props=>props.appearance!==\"default\"},bgBlur:{type:ControlType.Number,min:0,max:100,step:1,displayStepper:true,title:\"BG Blur\",hidden:props=>props.appearance!==\"default\"},transition:{type:ControlType.Transition,defaultValue:{type:false},hidden:props=>props.appearance!==\"default\"},click:{type:ControlType.EventHandler},hover:{type:ControlType.EventHandler}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MultiStepFormButton\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export const countries=[\"Afghanistan\",\"\\xc5land Islands\",\"Albania\",\"Algeria\",\"American Samoa\",\"Andorra\",\"Angola\",\"Anguilla\",\"Antarctica\",\"Antigua & Barbuda\",\"Argentina\",\"Armenia\",\"Aruba\",\"Ascension Island\",\"Australia\",\"Austria\",\"Azerbaijan\",\"Bahamas\",\"Bahrain\",\"Bangladesh\",\"Barbados\",\"Belarus\",\"Belgium\",\"Belize\",\"Benin\",\"Bermuda\",\"Bhutan\",\"Bolivia\",\"Bosnia & Herzegovina\",\"Botswana\",\"Bouvet Island\",\"Brazil\",\"British Indian Ocean Territory\",\"British Virgin Islands\",\"Brunei\",\"Bulgaria\",\"Burkina Faso\",\"Burundi\",\"Cambodia\",\"Cameroon\",\"Canada\",\"Canary Islands\",\"Cape Verde\",\"Caribbean Netherlands\",\"Cayman Islands\",\"Central African Republic\",\"Ceuta & Melilla\",\"Chad\",\"Chile\",\"China\",\"Christmas Island\",\"Clipperton Island\",\"Cocos (Keeling) Islands\",\"Colombia\",\"Comoros\",\"Congo - Brazzaville\",\"Congo - Kinshasa\",\"Cook Islands\",\"Costa Rica\",\"C\\xf4te D’Ivoire\",\"Croatia\",\"Cuba\",\"Cura\\xe7ao\",\"Cyprus\",\"Czechia\",\"Denmark\",\"Diego Garcia\",\"Djibouti\",\"Dominica\",\"Dominican Republic\",\"Ecuador\",\"Egypt\",\"El Salvador\",\"England\",\"Equatorial Guinea\",\"Eritrea\",\"Estonia\",\"Ethiopia\",\"European Union\",\"Falkland Islands\",\"Faroe Islands\",\"Fiji\",\"Finland\",\"France\",\"French Guiana\",\"French Polynesia\",\"French Southern Territories\",\"Gabon\",\"Gambia\",\"Georgia\",\"Germany\",\"Ghana\",\"Gibraltar\",\"Greece\",\"Greenland\",\"Grenada\",\"Guadeloupe\",\"Guam\",\"Guatemala\",\"Guernsey\",\"Guinea\",\"Guinea-Bissau\",\"Guyana\",\"Haiti\",\"Heard & McDonald Islands\",\"Honduras\",\"Hong Kong SAR China\",\"Hungary\",\"Iceland\",\"India\",\"Indonesia\",\"Iran\",\"Iraq\",\"Ireland\",\"Isle of Man\",\"Israel\",\"Italy\",\"Jamaica\",\"Japan\",\"Jersey\",\"Jordan\",\"Kazakhstan\",\"Kenya\",\"Kiribati\",\"Kosovo\",\"Kuwait\",\"Kyrgyzstan\",\"Laos\",\"Latvia\",\"Lebanon\",\"Lesotho\",\"Liberia\",\"Libya\",\"Liechtenstein\",\"Lithuania\",\"Luxembourg\",\"Macau SAR China\",\"Macedonia\",\"Madagascar\",\"Malawi\",\"Malaysia\",\"Maldives\",\"Mali\",\"Malta\",\"Marshall Islands\",\"Martinique\",\"Mauritania\",\"Mauritius\",\"Mayotte\",\"Mexico\",\"Micronesia\",\"Moldova\",\"Monaco\",\"Mongolia\",\"Montenegro\",\"Montserrat\",\"Morocco\",\"Mozambique\",\"Myanmar (Burma)\",\"Namibia\",\"Nauru\",\"Nepal\",\"Netherlands\",\"New Caledonia\",\"New Zealand\",\"Nicaragua\",\"Niger\",\"Nigeria\",\"Niue\",\"Norfolk Island\",\"North Korea\",\"Northern Mariana Islands\",\"Norway\",\"Oman\",\"Pakistan\",\"Palau\",\"Palestinian Territories\",\"Panama\",\"Papua New Guinea\",\"Paraguay\",\"Peru\",\"Philippines\",\"Pitcairn Islands\",\"Poland\",\"Portugal\",\"Puerto Rico\",\"Qatar\",\"R\\xe9union\",\"Romania\",\"Russia\",\"Rwanda\",\"Samoa\",\"San Marino\",\"S\\xe3o Tom\\xe9 & Pr\\xedncipe\",\"Saudi Arabia\",\"Scotland\",\"Senegal\",\"Serbia\",\"Seychelles\",\"Sierra Leone\",\"Singapore\",\"Sint Maarten\",\"Slovakia\",\"Slovenia\",\"Solomon Islands\",\"Somalia\",\"South Africa\",\"South Georgia & South Sandwich Islands\",\"South Korea\",\"South Sudan\",\"Spain\",\"Sri Lanka\",\"St. Barth\\xe9lemy\",\"St. Helena\",\"St. Kitts & Nevis\",\"St. Lucia\",\"St. Martin\",\"St. Pierre & Miquelon\",\"St. Vincent & Grenadines\",\"Sudan\",\"Suriname\",\"Svalbard & Jan Mayen\",\"Swaziland\",\"Sweden\",\"Switzerland\",\"Syria\",\"Taiwan\",\"Tajikistan\",\"Tanzania\",\"Thailand\",\"Timor-Leste\",\"Togo\",\"Tokelau\",\"Tonga\",\"Trinidad & Tobago\",\"Tristan Da Cunha\",\"Tunisia\",\"Turkey\",\"Turkmenistan\",\"Turks & Caicos Islands\",\"Tuvalu\",\"U.S. Outlying Islands\",\"U.S. Virgin Islands\",\"Uganda\",\"Ukraine\",\"United Arab Emirates\",\"United Kingdom\",\"United Nations\",\"United States\",\"Uruguay\",\"Uzbekistan\",\"Vanuatu\",\"Vatican City\",\"Venezuela\",\"Vietnam\",\"Wales\",\"Wallis & Futuna\",\"Western Sahara\",\"Yemen\",\"Zambia\",\"Zimbabwe\"];export const countryEmojis=[\"🇦🇫\",\"🇦🇽\",\"🇦🇱\",\"🇩🇿\",\"🇦🇸\",\"🇦🇩\",\"🇦🇴\",\"🇦🇮\",\"🇦🇶\",\"🇦🇬\",\"🇦🇷\",\"🇦🇲\",\"🇦🇼\",\"🇦🇨\",\"🇦🇺\",\"🇦🇹\",\"🇦🇿\",\"🇧🇸\",\"🇧🇭\",\"🇧🇩\",\"🇧🇧\",\"🇧🇾\",\"🇧🇪\",\"🇧🇿\",\"🇧🇯\",\"🇧🇲\",\"🇧🇹\",\"🇧🇴\",\"🇧🇦\",\"🇧🇼\",\"🇧🇻\",\"🇧🇷\",\"🇮🇴\",\"🇻🇬\",\"🇧🇳\",\"🇧🇬\",\"🇧🇫\",\"🇧🇮\",\"🇰🇭\",\"🇨🇲\",\"🇨🇦\",\"🇮🇨\",\"🇨🇻\",\"🇧🇶\",\"🇰🇾\",\"🇨🇫\",\"🇪🇦\",\"🇹🇩\",\"🇨🇱\",\"🇨🇳\",\"🇨🇽\",\"🇨🇵\",\"🇨🇨\",\"🇨🇴\",\"🇰🇲\",\"🇨🇬\",\"🇨🇩\",\"🇨🇰\",\"🇨🇷\",\"🇨🇮\",\"🇭🇷\",\"🇨🇺\",\"🇨🇼\",\"🇨🇾\",\"🇨🇿\",\"🇩🇰\",\"🇩🇬\",\"🇩🇯\",\"🇩🇲\",\"🇩🇴\",\"🇪🇨\",\"🇪🇬\",\"🇸🇻\",\"🏴󠁧󠁢󠁥󠁮󠁧󠁿\",\"🇬🇶\",\"🇪🇷\",\"🇪🇪\",\"🇪🇹\",\"🇪🇺\",\"🇫🇰\",\"🇫🇴\",\"🇫🇯\",\"🇫🇮\",\"🇫🇷\",\"🇬🇫\",\"🇵🇫\",\"🇹🇫\",\"🇬🇦\",\"🇬🇲\",\"🇬🇪\",\"🇩🇪\",\"🇬🇭\",\"🇬🇮\",\"🇬🇷\",\"🇬🇱\",\"🇬🇩\",\"🇬🇵\",\"🇬🇺\",\"🇬🇹\",\"🇬🇬\",\"🇬🇳\",\"🇬🇼\",\"🇬🇾\",\"🇭🇹\",\"🇭🇲\",\"🇭🇳\",\"🇭🇰\",\"🇭🇺\",\"🇮🇸\",\"🇮🇳\",\"🇮🇩\",\"🇮🇷\",\"🇮🇶\",\"🇮🇪\",\"🇮🇲\",\"🇮🇱\",\"🇮🇹\",\"🇯🇲\",\"🇯🇵\",\"🇯🇪\",\"🇯🇴\",\"🇰🇿\",\"🇰🇪\",\"🇰🇮\",\"🇽🇰\",\"🇰🇼\",\"🇰🇬\",\"🇱🇦\",\"🇱🇻\",\"🇱🇧\",\"🇱🇸\",\"🇱🇷\",\"🇱🇾\",\"🇱🇮\",\"🇱🇹\",\"🇱🇺\",\"🇲🇴\",\"🇲🇰\",\"🇲🇬\",\"🇲🇼\",\"🇲🇾\",\"🇲🇻\",\"🇲🇱\",\"🇲🇹\",\"🇲🇭\",\"🇲🇶\",\"🇲🇷\",\"🇲🇺\",\"🇾🇹\",\"🇲🇽\",\"🇫🇲\",\"🇲🇩\",\"🇲🇨\",\"🇲🇳\",\"🇲🇪\",\"🇲🇸\",\"🇲🇦\",\"🇲🇿\",\"🇲🇲\",\"🇳🇦\",\"🇳🇷\",\"🇳🇵\",\"🇳🇱\",\"🇳🇨\",\"🇳🇿\",\"🇳🇮\",\"🇳🇪\",\"🇳🇬\",\"🇳🇺\",\"🇳🇫\",\"🇰🇵\",\"🇲🇵\",\"🇳🇴\",\"🇴🇲\",\"🇵🇰\",\"🇵🇼\",\"🇵🇸\",\"🇵🇦\",\"🇵🇬\",\"🇵🇾\",\"🇵🇪\",\"🇵🇭\",\"🇵🇳\",\"🇵🇱\",\"🇵🇹\",\"🇵🇷\",\"🇶🇦\",\"🇷🇪\",\"🇷🇴\",\"🇷🇺\",\"🇷🇼\",\"🇼🇸\",\"🇸🇲\",\"🇸🇹\",\"🇸🇦\",\"🏴󠁧󠁢󠁳󠁣󠁴󠁿\",\"🇸🇳\",\"🇷🇸\",\"🇸🇨\",\"🇸🇱\",\"🇸🇬\",\"🇸🇽\",\"🇸🇰\",\"🇸🇮\",\"🇸🇧\",\"🇸🇴\",\"🇿🇦\",\"🇬🇸\",\"🇰🇷\",\"🇸🇸\",\"🇪🇸\",\"🇱🇰\",\"🇧🇱\",\"🇸🇭\",\"🇰🇳\",\"🇱🇨\",\"🇲🇫\",\"🇵🇲\",\"🇻🇨\",\"🇸🇩\",\"🇸🇷\",\"🇸🇯\",\"🇸🇿\",\"🇸🇪\",\"🇨🇭\",\"🇸🇾\",\"🇹🇼\",\"🇹🇯\",\"🇹🇿\",\"🇹🇭\",\"🇹🇱\",\"🇹🇬\",\"🇹🇰\",\"🇹🇴\",\"🇹🇹\",\"🇹🇦\",\"🇹🇳\",\"🇹🇷\",\"🇹🇲\",\"🇹🇨\",\"🇹🇻\",\"🇺🇲\",\"🇻🇮\",\"🇺🇬\",\"🇺🇦\",\"🇦🇪\",\"🇬🇧\",\"🇺🇳\",\"🇺🇸\",\"🇺🇾\",\"🇺🇿\",\"🇻🇺\",\"🇻🇦\",\"🇻🇪\",\"🇻🇳\",\"🏴󠁧󠁢󠁷󠁬󠁳󠁿\",\"🇼🇫\",\"🇪🇭\",\"🇾🇪\",\"🇿🇲\",\"🇿🇼\"];// Country dial codes (international calling codes)\nexport const countryDialCodes=[\"93\",\"358\",\"355\",\"213\",\"1684\",\"376\",\"244\",\"1264\",\"672\",\"1268\",\"54\",\"374\",\"297\",\"247\",\"61\",\"43\",\"994\",\"1242\",\"973\",\"880\",\"1246\",\"375\",\"32\",\"501\",\"229\",\"1441\",\"975\",\"591\",\"387\",\"267\",\"47\",\"55\",\"246\",\"1284\",\"673\",\"359\",\"226\",\"257\",\"855\",\"237\",\"1\",\"34\",\"238\",\"599\",\"1345\",\"236\",\"34\",\"235\",\"56\",\"86\",\"61\",\"33\",\"61\",\"57\",\"269\",\"242\",\"243\",\"682\",\"506\",\"225\",\"385\",\"53\",\"599\",\"357\",\"420\",\"45\",\"246\",\"253\",\"1767\",\"1809\",\"593\",\"20\",\"503\",\"44\",\"240\",\"291\",\"372\",\"251\",\"\",\"500\",\"298\",\"679\",\"358\",\"33\",\"594\",\"689\",\"262\",\"241\",\"220\",\"995\",\"49\",\"233\",\"350\",\"30\",\"299\",\"1473\",\"590\",\"1671\",\"502\",\"44\",\"224\",\"245\",\"592\",\"509\",\"672\",\"504\",\"852\",\"36\",\"354\",\"91\",\"62\",\"98\",\"964\",\"353\",\"44\",\"972\",\"39\",\"1876\",\"81\",\"44\",\"962\",\"7\",\"254\",\"686\",\"383\",\"965\",\"996\",\"856\",\"371\",\"961\",\"266\",\"231\",\"218\",\"423\",\"370\",\"352\",\"853\",\"389\",\"261\",\"265\",\"60\",\"960\",\"223\",\"356\",\"692\",\"596\",\"222\",\"230\",\"262\",\"52\",\"691\",\"373\",\"377\",\"976\",\"382\",\"1664\",\"212\",\"258\",\"95\",\"264\",\"674\",\"977\",\"31\",\"687\",\"64\",\"505\",\"227\",\"234\",\"683\",\"672\",\"850\",\"1670\",\"47\",\"968\",\"92\",\"680\",\"970\",\"507\",\"675\",\"595\",\"51\",\"63\",\"870\",\"48\",\"351\",\"1787\",\"974\",\"262\",\"40\",\"7\",\"250\",\"685\",\"378\",\"239\",\"966\",\"44\",\"221\",\"381\",\"248\",\"232\",\"65\",\"1721\",\"421\",\"386\",\"677\",\"252\",\"27\",\"500\",\"82\",\"211\",\"34\",\"94\",\"590\",\"290\",\"1869\",\"1758\",\"590\",\"508\",\"1784\",\"249\",\"597\",\"47\",\"268\",\"46\",\"41\",\"963\",\"886\",\"992\",\"255\",\"66\",\"670\",\"228\",\"690\",\"676\",\"1868\",\"290\",\"216\",\"90\",\"993\",\"1649\",\"688\",\"1\",\"1340\",\"256\",\"380\",\"971\",\"44\",\"\",\"1\",\"598\",\"998\",\"678\",\"39\",\"58\",\"84\",\"44\",\"681\",\"212\",\"967\",\"260\",\"263\"];// Country-specific phone formats (using X for digits)\n// Default format for countries without specific format: \"XXXXXXXXXX\"\nexport const countryPhoneFormats=[\"XX XXX XXXX\",\"XXX XXX XXXX\",\"XXX XXX XXX\",\"XXXX XX XX XX\",\"(XXX) XXX-XXXX\",\"XXX XXX\",\"XXX XXX XXX\",\"(XXX) XXX-XXXX\",\"XXXX XXXX\",\"(XXX) XXX-XXXX\",\"XX XXXX-XXXX\",\"XX XXX XXX\",\"XXX XXXX\",\"XXXX\",\"XXXX XXX XXX\",\"XXXX XXXXXXXXX\",\"XX XXX XX XX\",\"(XXX) XXX-XXXX\",\"XXXX XXXX\",\"XXXX-XXXXXX\",\"(XXX) XXX-XXXX\",\"XX XXX-XX-XX\",\"XXXX XX XX XX\",\"XXX-XXXX\",\"XX XX XX XX\",\"(XXX) XXX-XXXX\",\"X XXXX XXXX\",\"X XXX XXXX\",\"XX XXX XXX\",\"XX XXX XXX\",\"XXX XX XXX\",\"(XX) XXXX-XXXX\",\"XXXX\",\"(XXX) XXX-XXXX\",\"XXX XXXX\",\"XXX XXX XXX\",\"XX XX XX XX\",\"XX XX XX XX\",\"XXX XXX XXX\",\"X XX XX XX XX\",\"(XXX) XXX-XXXX\",\"XXX XXX XXX\",\"XXX XX XX\",\"XXX XXXX\",\"(XXX) XXX-XXXX\",\"XX XX XX XX\",\"XXX XXX XXX\",\"XX XX XX XX\",\"X XXXX XXXX\",\"XXX XXXX XXXX\",\"XXXX XXX XXX\",\"X XX XX XX XX\",\"XXXX XXX XXX\",\"X XXX XXXX\",\"XXX XX XX\",\"XX XXX XXXX\",\"XXX XXX XXXX\",\"XX XXX\",\"XXXX XXXX\",\"XX XX XX XX XX\",\"XX XXX XXXX\",\"X XXX XXXX\",\"X XXX XXXX\",\"XX XXX XXX\",\"XXX XXX XXX\",\"XX XX XX XX\",\"XXXX\",\"XX XX XX XX\",\"(XXX) XXX-XXXX\",\"(XXX) XXX-XXXX\",\"XX XXX XXXX\",\"XXX XXX XXXX\",\"XXXX XXXX\",\"XXXX XXXX XXX\",\"XXX XXX XXX\",\"X XXX XXX\",\"XXXX XXXX\",\"XXX XXX XXXX\",\"XXXXXXXXXX\",\"XXXXX\",\"XXX XXX\",\"XXX XXXX\",\"XX XXX XXXX\",\"X XX XX XX XX XX\",\"XXXX XX XX XX\",\"XX XX XX XX\",\"XXX XX XX XX\",\"X XX XX XX XX\",\"XXX XXXX\",\"XXX XX XX XX\",\"XXXX XXXXXXXXX\",\"XXX XXX XXXX\",\"XXXX XXXXX\",\"XXX XXX XXXX\",\"XX XX XX\",\"(XXX) XXX-XXXX\",\"XXXX XX XX XX\",\"(XXX) XXX-XXXX\",\"XXXX XXXX\",\"XXXX XXXX XXX\",\"XXX XX XX XX\",\"XXX XXXX\",\"XXX XXXX\",\"XX XX-XXXX\",\"XXXX XXXX\",\"XXXX-XXXX\",\"XXXX XXXX\",\"XX XXX XXXX\",\"XXX XXXX\",\"XXXXX XXXXX\",\"XXX-XXXX-XXXX\",\"XXX XXX XXXX\",\"XXX XXX XXXX\",\"XX XXX XXXX\",\"XXXX XXXX XXX\",\"XX-XXX-XXXX\",\"XXX XXX XXXX\",\"(XXX) XXX-XXXX\",\"XX-XXXX-XXXX\",\"XXXX XXXX XXX\",\"X XXXX XXXX\",\"X XXX XXX-XX-XX\",\"XXX XXXXXXX\",\"XXXXX\",\"XXX XXX XXX\",\"XXXX XXXX\",\"XXX XX-XX-XX\",\"XX XX XXX XXX\",\"XX XXX XXX\",\"X XXX XXX\",\"X XXX XXXX\",\"XXX XXX XXXX\",\"XX-XXXX-XXXX\",\"XXX XX XX\",\"(X-XX) XXXXX\",\"XXX XXX XXX\",\"XXXX XXXX\",\"XX XXX XXX\",\"XX XX XXX XX\",\"X XXXX XXXX\",\"XX-XXX XXXX\",\"XXX-XXXX\",\"XX XX XX XX\",\"XXXX XXXX\",\"XXX-XXXX\",\"XXXX XX XX XX\",\"XX XX XX XX\",\"XXXX XXXX\",\"XXX XX XX XX\",\"XX XXXX XXXX\",\"XXX-XXXX\",\"XXXX XXXX\",\"X XX XX XX XX\",\"XXXX XXXX\",\"XX XXX XXX\",\"(XXX) XXX-XXXX\",\"XXXX-XXXXXX\",\"XX XXX XXXX\",\"X XXXX XXXX\",\"XX XXX XXXX\",\"XXX XXXX\",\"XXX-XXX-XXXX\",\"X XXXX XXXX\",\"XX.XX.XX\",\"XXX XXX XXXX\",\"XXXX XXXX\",\"XX XX XX XX\",\"XXX XXX XXXX\",\"XXXX\",\"XXXX XXX\",\"XXX-XXXX-XXXX\",\"(XXX) XXX-XXXX\",\"XXX XX XXX\",\"XXXX XXXX\",\"XXX-XXXXXXX\",\"XXX-XXXX\",\"XX XXX XXXX\",\"XXXX-XXXX\",\"XXX XXXX\",\"XXXX XXX XXX\",\"XXX XXX XXX\",\"XXXX XXX XXXX\",\"XXXXX\",\"XXX XXX XXX\",\"XXX XXX XXX\",\"(XXX) XXX-XXXX\",\"XXXX XXXX\",\"XXX XX XX XX\",\"XXX XXX XXX\",\"XXX XXX-XX-XX\",\"XXX XXX XXX\",\"XXXX\",\"XXXX XXXXXXX\",\"XXX XXXX\",\"XX XXX XXXX\",\"XXXX XXXX XXX\",\"XX XXX XX XX\",\"XX XXX XXXX\",\"X XXX XXX\",\"XX XXX XXX\",\"XXXX XXXX\",\"(XXX) XXX-XXXX\",\"XXX XXX XXX\",\"XX XXX XXX\",\"XXXX\",\"XX XXXX XXX\",\"XX XXX XXXX\",\"XXXXX\",\"XX-XXXX-XXXX\",\"XXXX XXX XXX\",\"XXX XXX XXX\",\"XX X XXX XXXX\",\"XXXX XX XX XX\",\"XXXX\",\"(XXX) XXX-XXXX\",\"(XXX) XXX-XXXX\",\"XXXX XX XX XX\",\"XX XX XX XX\",\"(XXX) XXX-XXXX\",\"XXX XXX XXXX\",\"XXX-XXXX\",\"XXX XX XXX\",\"XXXX XXXX\",\"XX-XXX XX XX\",\"XX XXX XX XX\",\"XXX XXX XXXX\",\"XXXX XXX XXX\",\"XXX XX-XX-XX\",\"XXX XXX XXXX\",\"XX-XXX-XXXX\",\"XXXX XXXX\",\"XX XX XX XX\",\"XXXX\",\"XXXXX\",\"(XXX) XXX-XXXX\",\"XXXX\",\"XX XXX XXX\",\"XXX XXX XX XX\",\"XX XX-XX-XX\",\"(XXX) XXX-XXXX\",\"XXXXX\",\"(XXX) XXX-XXXX\",\"(XXX) XXX-XXXX\",\"XXX XXX XXX\",\"XXX XXX XX XX\",\"XX XXX XXXX\",\"XXXX XXXX XXX\",\"XXXXXXXXXX\",\"(XXX) XXX-XXXX\",\"XXXX XXXX\",\"XX XXX XX XX\",\"XXXXX\",\"XX XXXX XXXX\",\"XXXX-XXXXXXX\",\"XXX XXXX XXX\",\"XXXX XXXX XXX\",\"XX XX XX\",\"XXXX-XXXXXX\",\"X XXX XXX\",\"XX XXXX XXXX\",\"X XXXX XXXX\"];// Helper function to get dial code by country name\nexport function getDialCodeByCountry(countryName){const index=countries.indexOf(countryName);return index>=0?countryDialCodes[index]:\"1\";}// Helper function to get phone format by country name\nexport function getPhoneFormatByCountry(countryName){const index=countries.indexOf(countryName);return index>=0?countryPhoneFormats[index]:\"(XXX) XXX-XXXX\";}// Helper function to get country by dial code\nexport function getCountryByDialCode(dialCode){const index=countryDialCodes.indexOf(dialCode);return index>=0?countries[index]:null;}\nexport const __FramerMetadata__ = {\"exports\":{\"getPhoneFormatByCountry\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"countryDialCodes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDialCodeByCountry\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCountryByDialCode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"countryEmojis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"countries\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"countryPhoneFormats\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Countries.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{ControlType}from\"framer\";import{motion,AnimatePresence}from\"framer-motion\";import{parsePadding,fillProp,borderProp,shadowsProp,iconProp,createBackground}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nconst COLORS={selectedBg:\"rgba(0, 153, 255, 0.1)\",transparent:\"transparent\"};// ============================================================================\n// UTILITY FUNCTIONS\n// ============================================================================\nconst hoverHandlers=(isSelected,hoverBg)=>({onMouseEnter:e=>{if(!isSelected)e.currentTarget.style.backgroundColor=hoverBg;},onMouseLeave:e=>{if(!isSelected)e.currentTarget.style.backgroundColor=COLORS.transparent;}});// ============================================================================\n// REUSABLE DROPDOWN COMPONENTS\n// ============================================================================\n/**\n * Standard dropdown option item component.\n */export function DropdownItem({option,isSelected,onSelect,color,font,padding,hoverBg=\"rgba(255, 255, 255, 0.1)\",showBorder=false}){if(option.type===\"line\"){return /*#__PURE__*/_jsx(\"div\",{style:{height:1,backgroundColor:\"rgba(0, 0, 0, 0.1)\",margin:`4px 0`}});}return /*#__PURE__*/_jsx(\"div\",{onClick:()=>onSelect(option.value||\"\"),style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",padding,cursor:\"pointer\",backgroundColor:isSelected?COLORS.selectedBg:COLORS.transparent,...font,fontSize:font.fontSize||14,borderBottom:showBorder?\"1px solid rgba(0, 0, 0, 0.1)\":\"none\"},...hoverHandlers(isSelected,hoverBg),children:/*#__PURE__*/_jsx(\"span\",{style:{width:\"fitContent\",color},children:option.title||option.value})});}/**\n * Dropdown search input component.\n */export function DropdownSearch({searchInputRef,searchQuery,onSearchChange,placeholder,color,font,padding,placeholderColor,containerId,showBorder,borderColor}){const searchInputId=`search-${containerId}`;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{style:{padding,borderBottom:showBorder?`1px solid ${borderColor}`:\"none\"},children:/*#__PURE__*/_jsx(\"input\",{ref:searchInputRef,id:searchInputId,type:\"text\",placeholder:placeholder,value:searchQuery,onChange:e=>onSearchChange(e.target.value),style:{width:\"100%\",border:\"none\",outline:\"none\",background:\"transparent\",color,...font,fontSize:font.fontSize||14}})}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`#${searchInputId}::placeholder { color: ${placeholderColor||color+\"80\"}; }`}})]});}/**\n * Scrollable dropdown content area with customizable scrollbar.\n */export function DropdownScrollArea({children,containerId,isCanvas,showDropdown,scrollbar}){const scrollableId=`scrollable-${containerId}`;const showScrollbar=scrollbar?.show!==false;const scrollbarWidth=scrollbar?.width||8;const scrollbarBgColor=scrollbar?.bgColor||\"rgba(0, 0, 0, 0.2)\";const forceScrollbar=isCanvas&&showDropdown&&showScrollbar;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:showScrollbar?`\n                        #${scrollableId}::-webkit-scrollbar {\n                            width: ${scrollbarWidth}px;\n                        }\n                        #${scrollableId}::-webkit-scrollbar-track {\n                            background: transparent;\n                        }\n                        #${scrollableId}::-webkit-scrollbar-thumb {\n                            background: ${scrollbarBgColor};\n                            border-radius: ${scrollbarWidth/2}px;\n                        }\n                        #${scrollableId}::-webkit-scrollbar-thumb:hover {\n                            opacity: 0.8;\n                        }\n                        #${scrollableId} {\n                            scrollbar-width: thin;\n                            scrollbar-color: ${scrollbarBgColor} transparent;\n                            ${forceScrollbar?`overflow-y: scroll !important;`:\"\"}\n                        }\n                    `:`\n                        #${scrollableId}::-webkit-scrollbar {\n                            display: none;\n                        }\n                        #${scrollableId} {\n                            scrollbar-width: none;\n                            -ms-overflow-style: none;\n                        }\n                    `}}),/*#__PURE__*/_jsx(\"div\",{id:scrollableId,style:{overflowY:forceScrollbar?\"scroll\":\"auto\",flex:1},children:children})]});}/**\n * Generic dropdown content component.\n * Renders search (optional), header (optional), and options list.\n */export function GenericDropdownContent({options,selectedValue,onOptionSelect,color,font,padding,placeholderColor,dropdownStyle,containerId,isCanvas,showDropdown,showSearch=false,searchPlaceholder=\"Search...\",searchQuery=\"\",onSearchChange,searchInputRef,renderItem,renderHeader}){const hoverBg=dropdownStyle?.hoverBg||\"rgba(255, 255, 255, 0.1)\";const searchBorderColor=dropdownStyle?.searchBorderColor||\"rgba(0, 0, 0, 0.1)\";const hasResults=options.length>0;// Filter options based on search query if search is enabled\nconst filteredOptions=showSearch&&searchQuery?options.filter(opt=>{if(opt.type===\"line\")return false;const searchLower=searchQuery.toLowerCase();return(opt.title||\"\").toLowerCase().includes(searchLower)||(opt.value||\"\").toLowerCase().includes(searchLower);}):options;return /*#__PURE__*/_jsxs(_Fragment,{children:[showSearch&&onSearchChange&&/*#__PURE__*/_jsx(DropdownSearch,{searchInputRef:searchInputRef,searchQuery:searchQuery,onSearchChange:onSearchChange,placeholder:searchPlaceholder,color:color,font:font,padding:padding,placeholderColor:placeholderColor,containerId:containerId,showBorder:hasResults,borderColor:searchBorderColor}),/*#__PURE__*/_jsxs(DropdownScrollArea,{containerId:containerId,isCanvas:isCanvas,showDropdown:showDropdown,scrollbar:dropdownStyle?.scrollbar,children:[renderHeader?.(),filteredOptions.map((option,index)=>{const isSelected=option.value===selectedValue;const isLastBeforeLine=index<filteredOptions.length-1&&filteredOptions[index+1]?.type===\"line\";if(renderItem){return renderItem({option,isSelected,onSelect:onOptionSelect,color,font,padding,hoverBg,showBorder:isLastBeforeLine});}return /*#__PURE__*/_jsx(DropdownItem,{option:option,isSelected:isSelected,onSelect:onOptionSelect,color:color,font:font,padding:padding,hoverBg:hoverBg,showBorder:isLastBeforeLine},option.value||`line-${index}`);})]})]});}/**\n * Generic dropdown container component with animation support.\n * This is the core dropdown that can be customized for different use cases.\n */export function GenericDropdown(props){const{isOpen,dropdownRef,containerId,fill,isCanvas,showDropdown=false,right,left,width,dropdownStyle,borderRadius,bgBlur}=props;const shouldShow=isOpen||isCanvas&&showDropdown;if(!shouldShow)return null;// Parse border configuration\nconst borderWidth=dropdownStyle?.border?.width?parsePadding(dropdownStyle.border.width):[0,0,0,0];const borderColor=dropdownStyle?.border?.color||\"rgba(136, 136, 136, 0.1)\";const borderStyle=borderWidth.some(w=>w>0)?\"solid\":\"none\";// Use dropdownFill from dropdownStyle if provided, otherwise fall back to fill, otherwise use default\nconst fillToUse=dropdownStyle?.dropdownFill||fill;const backgroundStyle=createBackground(fillToUse);const defaultBgColor=\"#BBBBBB\"// Default dropdown background color (full opacity)\n;const dropdownStyleCSS={position:\"absolute\",top:\"100%\",left:left??0,right:right??undefined,width:width??document.querySelector(\"#\"+containerId)?.clientWidth??\"100%\",marginTop:dropdownStyle?.marginTop??4,backgroundColor:backgroundStyle.backgroundColor||defaultBgColor,backgroundImage:backgroundStyle.backgroundImage,borderRadius:borderRadius||\"8px\",boxShadow:dropdownStyle?.shadows?.default||\"0 4px 12px rgba(0, 0, 0, 0.15)\",zIndex:1e3,maxHeight:dropdownStyle?.height?`${dropdownStyle.height}px`:\"300px\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",borderWidth:`${borderWidth[0]}px ${borderWidth[1]}px ${borderWidth[2]}px ${borderWidth[3]}px`,borderStyle,borderColor,backdropFilter:dropdownStyle?.bgBlur!==undefined&&dropdownStyle.bgBlur!==0?`blur(${dropdownStyle.bgBlur}px)`:bgBlur!==0?`blur(${bgBlur}px)`:undefined};const initialY=dropdownStyle?.initialY??-10;const animationConfig={initial:{opacity:0,y:initialY},animate:{opacity:1,y:0},exit:{opacity:0,y:initialY},transition:dropdownStyle?.animation?.type!==false?dropdownStyle?.animation:{duration:.2}};// Canvas preview mode: render without animation\nif(isCanvas&&showDropdown&&!isOpen){return /*#__PURE__*/_jsx(\"div\",{ref:dropdownRef,style:dropdownStyleCSS,children:/*#__PURE__*/_jsx(GenericDropdownContent,{...props})});}return /*#__PURE__*/_jsx(AnimatePresence,{children:shouldShow&&/*#__PURE__*/_jsx(motion.div,{ref:dropdownRef,...animationConfig,style:dropdownStyleCSS,children:/*#__PURE__*/_jsx(GenericDropdownContent,{...props})})});}// ============================================================================\n// PROPERTY CONTROLS (Exported for reuse)\n// ============================================================================\n/**\n * Dropdown style property controls.\n * Import and spread these in other components that use dropdowns.\n */export function getDropdownStyleControls(){return{height:{type:ControlType.Number,defaultValue:300,min:100,max:800,step:10,displayStepper:true,unit:\"px\",title:\"Height\"},animation:{type:ControlType.Transition,defaultValue:{type:\"easing\"},title:\"Animation\"},initialY:{type:ControlType.Number,defaultValue:-10,min:-100,max:100,step:1,displayStepper:true,unit:\"px\",title:\"Initial Y\"},marginTop:{type:ControlType.Number,defaultValue:4,min:0,max:32,step:1,displayStepper:true,unit:\"px\",title:\"Margin\"},hoverBg:{type:ControlType.Color,defaultValue:\"rgba(255, 255, 255, 0.1)\",title:\"Hover BG\"},searchBorderColor:{type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.1)\",title:\"Divider\"},scrollbar:{type:ControlType.Object,optional:true,title:\"Scrollbar\",controls:{show:{type:ControlType.Boolean,defaultValue:true,title:\"Show\"},width:{type:ControlType.Number,defaultValue:8,min:4,max:20,step:1,displayStepper:true,unit:\"px\",title:\"Width\",hidden:props=>props.show===false},bgColor:{type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.6)\",title:\"Color\",hidden:props=>props.show===false}}},dropdownFill:{...getDropdownFillControl(),title:\"Fill\"},bgBlur:{type:ControlType.Number,defaultValue:16,min:0,max:100,step:1,displayStepper:true,title:\"BG Blur\"},border:borderProp({invalid:false,focus:false}),shadows:shadowsProp({invalid:false})};}/**\n * Creates a dropdown property control object.\n * Use this in components that need dropdown settings.\n */export function dropdownProp(options={}){return{type:ControlType.Object,optional:false,title:options.title||\"Dropdown\",controls:getDropdownStyleControls()};}/**\n * Option item property controls for the options array.\n */export function getOptionItemControls(){return{type:{type:ControlType.Enum,defaultValue:\"text\",options:[\"text\",\"line\"],optionTitles:[\"Text\",\"Line\"],displaySegmentedControl:true},value:{type:ControlType.String,hidden:props=>props.type===\"line\"},title:{type:ControlType.String,hidden:props=>props.type===\"line\"},enabled:{type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>props.type===\"line\"},default:{type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:props=>props.type===\"line\"}};}// ============================================================================\n// SHARED PROPERTY CONTROLS (Exported for reuse across components)\n// ============================================================================\n/**\n * Default values for shared controls.\n *\n * HOW TO USE:\n * - Change values here to cascade updates to ALL components (Dropdown, CountryInput, PhoneNumberInput)\n * - To override a default in a specific component, pass it as an option to getSharedStyleControls():\n *   Example: getSharedStyleControls({ color: \"#999999\" }) // Overrides default color\n *\n * AVAILABLE DEFAULTS:\n * - color: Default text color\n * - placeholderColor: Default placeholder text color\n * - fillColor: Default fill background color\n * - radius: Default border radius\n * - padding: Default padding\n * - fontSize: Default font size\n * - lineHeight: Default line height\n * - bgBlur: Background blur settings (min, max, step)\n */export const SHARED_DEFAULTS={color:\"#999999\",placeholderColor:\"#999999\",fillColor:\"rgba(187, 187, 187, 0.15)\",dropdownFillColor:\"rgba(187, 187, 187, 0.15)\",radius:\"10px\",padding:\"12px\",fontSize:14,lineHeight:1.2,bgBlur:{min:0,max:100,step:1}};/**\n * Factory function for color control.\n * @param defaultValue - Default color value (defaults to SHARED_DEFAULTS.color)\n */export function getColorControl(defaultValue=SHARED_DEFAULTS.color){return{type:ControlType.Color,defaultValue};}/**\n * Factory function for fill control.\n * @param options - Options for fillProp (invalid, color, etc.)\n */export function getFillControl(options={}){return fillProp({invalid:options.invalid!==false,color:options.color||SHARED_DEFAULTS.fillColor});}/**\n * Factory function for dropdown fill control.\n * @param defaultValue - Default dropdown fill color value (defaults to SHARED_DEFAULTS.dropdownFillColor)\n */export function getDropdownFillControl(defaultValue=SHARED_DEFAULTS.dropdownFillColor){return fillProp({invalid:false,focus:false,color:defaultValue});}/**\n * Factory function for font control.\n */export function getFontControl(){return{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:SHARED_DEFAULTS.fontSize,lineHeight:SHARED_DEFAULTS.lineHeight}};}/**\n * Factory function for radius control.\n * @param defaultValue - Default radius value (defaults to SHARED_DEFAULTS.radius)\n */export function getRadiusControl(defaultValue=SHARED_DEFAULTS.radius){return{type:ControlType.BorderRadius,defaultValue,title:\"Radius\"};}/**\n * Factory function for padding control.\n * @param defaultValue - Default padding value (defaults to SHARED_DEFAULTS.padding)\n */export function getPaddingControl(defaultValue=SHARED_DEFAULTS.padding){return{type:ControlType.Padding,defaultValue,title:\"Padding\"};}/**\n * Factory function for placeholder color control.\n * @param defaultValue - Default placeholder color value (defaults to SHARED_DEFAULTS.placeholderColor)\n * @param title - Title for the control (defaults to \"Placeholder Color\")\n * @param optional - Whether the control is optional (defaults to true)\n */export function getPlaceholderColorControl(defaultValue=SHARED_DEFAULTS.placeholderColor,title=\"Placeholder Color\",optional=true){return{type:ControlType.Color,defaultValue,title,...optional?{optional:true}:{}};}/**\n * Factory function for icon control.\n * @param buttonTitle - Title for the icon button (defaults to \"Caret\")\n */export function getIconControl(buttonTitle=\"Caret\"){return iconProp({buttonTitle});}/**\n * Factory function for border control.\n * @param options - Options for borderProp (invalid, focus, etc.)\n */export function getBorderControl(options={}){return borderProp({invalid:options.invalid!==false,focus:options.focus!==false});}/**\n * Factory function for shadows control.\n * @param options - Options for shadowsProp (invalid, etc.)\n */export function getShadowsControl(options={}){return shadowsProp({invalid:options.invalid!==false});}/**\n * Factory function for bgBlur control.\n */export function getBgBlurControl(){return{type:ControlType.Number,min:SHARED_DEFAULTS.bgBlur.min,max:SHARED_DEFAULTS.bgBlur.max,step:SHARED_DEFAULTS.bgBlur.step,displayStepper:true,title:\"BG Blur\"};}/**\n * Factory function for transition control.\n */export function getTransitionControl(){return{type:ControlType.Transition,defaultValue:{type:false}};}/**\n * Shared event handler controls.\n * These are identical across all components.\n */export const sharedEventControls={focusEvent:{type:ControlType.EventHandler,title:\"Focus\"},blurEvent:{type:ControlType.EventHandler,title:\"Blur\"},invalidEvent:{type:ControlType.EventHandler,title:\"Invalid\"}};/**\n * Shared style controls object.\n * Use this to get all common style controls at once.\n *\n * USAGE:\n *   ...getSharedStyleControls({ invalid: true })\n *\n * TO OVERRIDE DEFAULTS:\n *   ...getSharedStyleControls({\n *     color: \"#999999\",           // Override default color\n *     placeholderColor: \"#666\",   // Override default placeholder color\n *     fillColor: \"#353535\",       // Override default fill color\n *     radius: \"8px\",              // Override default radius\n *     padding: \"16px\",            // Override default padding\n *     invalid: true               // Enable invalid state styling\n *   })\n *\n * Individual controls can be overridden by passing options.\n * All defaults come from SHARED_DEFAULTS constant above.\n *\n * NOTE: Component-specific controls (like placeholder text) should be added separately,\n * as they differ per component (e.g., \"Select...\" vs \"Select a country...\" vs none).\n */export function getSharedStyleControls(options={}){return{font:getFontControl(),color:getColorControl(options.color),placeholderColor:getPlaceholderColorControl(options.placeholderColor,options.placeholderColorTitle,options.placeholderColorOptional),fill:getFillControl({invalid:options.invalid!==false,color:options.fillColor}),radius:getRadiusControl(options.radius),padding:getPaddingControl(options.padding),icon:getIconControl(options.iconTitle),border:getBorderControl({invalid:options.invalid!==false,focus:options.focus!==false}),shadows:getShadowsControl({invalid:options.invalid!==false}),bgBlur:getBgBlurControl(),transition:getTransitionControl(),...sharedEventControls};}\nexport const __FramerMetadata__ = {\"exports\":{\"getOptionItemControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDropdownStyleControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getTransitionControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownItemRenderProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getDropdownFillControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownOption\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SHARED_DEFAULTS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GenericDropdown\":{\"type\":\"reactComponent\",\"name\":\"GenericDropdown\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPaddingControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getRadiusControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getSharedStyleControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownItem\":{\"type\":\"reactComponent\",\"name\":\"DropdownItem\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"dropdownProp\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"sharedEventControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFillControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getColorControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownStyleConfig\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownSearch\":{\"type\":\"reactComponent\",\"name\":\"DropdownSearch\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"GenericDropdownContent\":{\"type\":\"reactComponent\",\"name\":\"GenericDropdownContent\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBorderControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBgBlurControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownScrollArea\":{\"type\":\"reactComponent\",\"name\":\"DropdownScrollArea\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPlaceholderColorControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DropdownItemProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BaseDropdownProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GenericDropdownProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getIconControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getShadowsControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontControl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DropdownUtilities.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";import{parsePadding,createBackground}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";import{countries,countryEmojis,countryDialCodes}from\"https://framerusercontent.com/modules/1LECUrurTpenvfDn1ShM/nL9gmnXABjh04Nl8aaL8/Countries.js\";import{DropdownScrollArea,DropdownSearch}from\"https://framerusercontent.com/modules/PwJ4k4IqmEWPlM2ZI4Eu/Wof3uC3VdIgYyyDoK0vM/DropdownUtilities.js\";// ============================================================================\n// CONSTANTS\n// ============================================================================\nconst COLORS={selectedBg:\"rgba(0, 153, 255, 0.1)\",transparent:\"transparent\"};// ============================================================================\n// UTILITY FUNCTIONS\n// ============================================================================\nconst hoverHandlers=(isSelected,hoverBg)=>({onMouseEnter:e=>{if(!isSelected)e.currentTarget.style.backgroundColor=hoverBg;},onMouseLeave:e=>{if(!isSelected)e.currentTarget.style.backgroundColor=COLORS.transparent;}});function CountryItem({country,isSelected,onSelect,color,font,padding,showFlags,showDialCodes,showBorder=false,hoverBg=\"rgba(255, 255, 255, 0.1)\"}){const countryIndex=countries.indexOf(country);const dialCode=countryDialCodes[countryIndex];const emoji=countryEmojis[countryIndex];return /*#__PURE__*/_jsxs(\"div\",{onClick:()=>onSelect(country),style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",padding,cursor:\"pointer\",backgroundColor:isSelected?COLORS.selectedBg:COLORS.transparent,...font,fontSize:font.fontSize||14,borderBottom:showBorder?\"1px solid rgba(0, 0, 0, 0.1)\":\"none\"},...hoverHandlers(isSelected,hoverBg),children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:4},children:[showFlags&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"18px\",lineHeight:1,width:\"fitContent\"},children:emoji}),/*#__PURE__*/_jsx(\"span\",{style:{width:\"fitContent\",color},children:country})]}),showDialCodes&&/*#__PURE__*/_jsxs(\"span\",{style:{width:\"fitContent\",color:color||\"#999\",opacity:.7},children:[\"+\",dialCode]})]});}function NoneOption({isSelected,onSelect,color,font,padding,text,showBorder,hoverBg=\"rgba(255, 255, 255, 0.1)\"}){return /*#__PURE__*/_jsx(\"div\",{onClick:onSelect,style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",padding,cursor:\"pointer\",backgroundColor:isSelected?COLORS.selectedBg:COLORS.transparent,...font,fontSize:font.fontSize||14,borderBottom:showBorder?\"1px solid rgba(0, 0, 0, 0.1)\":\"none\"},...hoverHandlers(isSelected,hoverBg),children:/*#__PURE__*/_jsx(\"span\",{style:{width:\"fitContent\",color},children:text})});}function CountryDropdownContent({searchInputRef,searchQuery,onSearchChange,filteredCountries,selectedCountry,onCountrySelect,color,font,showFlags=true,showDialCodes=false,pinnedCountries=[],showNoneOption=false,noneOptionText=\"Select a country...\",onNoneSelect,padding,placeholderColor,dropdownStyle,containerId,isCanvas,showDropdown}){const pinnedSet=new Set(pinnedCountries);const regularCountries=filteredCountries.filter(c=>!pinnedSet.has(c));const pinnedFiltered=pinnedCountries.filter(c=>filteredCountries.includes(c));const isNoneSelected=selectedCountry===\"\"||selectedCountry===\"none\";const hasMoreItems=pinnedFiltered.length>0||regularCountries.length>0;const hasResults=filteredCountries.length>0;const hoverBg=dropdownStyle?.hoverBg||\"rgba(255, 255, 255, 0.1)\";const searchBorderColor=dropdownStyle?.searchBorderColor||\"rgba(0, 0, 0, 0.1)\";return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(DropdownSearch,{searchInputRef:searchInputRef,searchQuery:searchQuery,onSearchChange:onSearchChange,placeholder:\"Search countries...\",color:color,font:font,padding:padding,placeholderColor:placeholderColor,containerId:containerId,showBorder:hasResults,borderColor:searchBorderColor}),/*#__PURE__*/_jsxs(DropdownScrollArea,{containerId:containerId,isCanvas:isCanvas,showDropdown:showDropdown,scrollbar:dropdownStyle?.scrollbar,children:[showNoneOption&&/*#__PURE__*/_jsx(NoneOption,{isSelected:isNoneSelected,onSelect:onNoneSelect,color:color,font:font,padding:padding,text:noneOptionText,showBorder:hasMoreItems,hoverBg:hoverBg}),pinnedFiltered.map(country=>/*#__PURE__*/_jsx(CountryItem,{country:country,isSelected:country===selectedCountry,onSelect:onCountrySelect,color:color,font:font,padding:padding,showFlags:showFlags,showDialCodes:showDialCodes,showBorder:regularCountries.length>0,hoverBg:hoverBg},`pinned-${country}`)),regularCountries.map(country=>/*#__PURE__*/_jsx(CountryItem,{country:country,isSelected:country===selectedCountry,onSelect:onCountrySelect,color:color,font:font,padding:padding,showFlags:showFlags,showDialCodes:showDialCodes,hoverBg:hoverBg},country))]})]});}/**\n * Reusable country dropdown component with search, flags, and dial codes support.\n * Used by both CountryInput and PhoneNumberInput components.\n */export function CountryDropdown(props){const{isOpen,dropdownRef,containerId,fill,isCanvas,showDropdown=false,right,left,width,dropdownStyle,borderRadius,bgBlur}=props;const shouldShow=isOpen||isCanvas&&showDropdown;if(!shouldShow)return null;// Parse border configuration\nconst borderWidth=dropdownStyle?.border?.width?parsePadding(dropdownStyle.border.width):[0,0,0,0];const borderColor=dropdownStyle?.border?.color||\"rgba(136, 136, 136, 0.1)\";const borderStyle=borderWidth.some(w=>w>0)?\"solid\":\"none\";// Use dropdownFill from dropdownStyle if provided, otherwise fall back to fill, otherwise use default\nconst fillToUse=dropdownStyle?.dropdownFill||fill;const backgroundStyle=createBackground(fillToUse);const defaultBgColor=\"#BBBBBB\"// Default dropdown background color (full opacity)\n;const dropdownStyleCSS={position:\"absolute\",top:\"100%\",left:left??0,right:right??undefined,width:width??document.querySelector(\"#\"+containerId)?.clientWidth??\"100%\",marginTop:dropdownStyle?.marginTop??4,backgroundColor:backgroundStyle.backgroundColor||defaultBgColor,backgroundImage:backgroundStyle.backgroundImage,borderRadius:borderRadius||\"8px\",boxShadow:dropdownStyle?.shadows?.default||\"0 4px 12px rgba(0, 0, 0, 0.15)\",zIndex:1e3,maxHeight:dropdownStyle?.height?`${dropdownStyle.height}px`:\"300px\",overflow:\"hidden\",display:\"flex\",flexDirection:\"column\",borderWidth:`${borderWidth[0]}px ${borderWidth[1]}px ${borderWidth[2]}px ${borderWidth[3]}px`,borderStyle,borderColor,backdropFilter:dropdownStyle?.bgBlur!==undefined&&dropdownStyle.bgBlur!==0?`blur(${dropdownStyle.bgBlur}px)`:bgBlur!==0?`blur(${bgBlur}px)`:undefined};const initialY=dropdownStyle?.initialY??-10;const animationConfig={initial:{opacity:0,y:initialY},animate:{opacity:1,y:0},exit:{opacity:0,y:initialY},transition:dropdownStyle?.animation?.type!==false?dropdownStyle?.animation:{duration:.2}};// Canvas preview mode: render without animation\nif(isCanvas&&showDropdown&&!isOpen){return /*#__PURE__*/_jsx(\"div\",{ref:dropdownRef,style:dropdownStyleCSS,children:/*#__PURE__*/_jsx(CountryDropdownContent,{...props})});}return /*#__PURE__*/_jsx(motion.div,{ref:dropdownRef,...animationConfig,style:dropdownStyleCSS,children:/*#__PURE__*/_jsx(CountryDropdownContent,{...props})});}\nexport const __FramerMetadata__ = {\"exports\":{\"CountryDropdownProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CountryDropdown\":{\"type\":\"reactComponent\",\"name\":\"CountryDropdown\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useState,useEffect,useRef}from\"react\";import{motion}from\"framer-motion\";import{createBackground,Border,parsePadding,useInstanceId,Icon,HiddenInput}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";import{countries,countryEmojis}from\"https://framerusercontent.com/modules/1LECUrurTpenvfDn1ShM/nL9gmnXABjh04Nl8aaL8/Countries.js\";import{CountryDropdown}from\"https://framerusercontent.com/modules/SRHLnHriy9CtZfYf0KJF/6tUGIogjIAN5qEnujlm9/CountryDropdown.js\";import{dropdownProp,getSharedStyleControls}from\"https://framerusercontent.com/modules/PwJ4k4IqmEWPlM2ZI4Eu/Wof3uC3VdIgYyyDoK0vM/DropdownUtilities.js\";// ============================================================================\n// MAIN COMPONENT\n// ============================================================================\n/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 400\n * @framerDisableUnlink\n */export default function CountryInput(props){const{shadows,border,icon}=props;const id=useInstanceId();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[focused,setFocused]=useState(false);const[invalid,setInvalid]=useState(false);const[dropdownOpen,setDropdownOpen]=useState(false);const[searchQuery,setSearchQuery]=useState(\"\");const[selectedCountry,setSelectedCountry]=useState(props.defaultValue&&props.defaultValue!==\"none\"?props.defaultValue:\"\");// Update selectedCountry when defaultValue prop changes\nuseEffect(()=>{if(props.defaultValue&&props.defaultValue!==\"none\"){setSelectedCountry(props.defaultValue);}else{setSelectedCountry(\"\");}},[props.defaultValue]);const dropdownRef=useRef(null);const searchInputRef=useRef(null);const inputRef=useRef(null);const[pt,pr,pb,pl]=parsePadding(props.padding);// Filter countries based on search query\nconst filteredCountries=searchQuery?countries.filter((country,index)=>{const searchLower=searchQuery.toLowerCase();return country.toLowerCase().includes(searchLower)||props.flagEmojis&&(countryEmojis[index]+\" \"+country).toLowerCase().includes(searchLower);}):countries;// Close dropdown when clicking outside\nuseEffect(()=>{const handleClickOutside=event=>{const target=event.target;const isOutsideDropdown=dropdownRef.current&&!dropdownRef.current.contains(target);const isOutsideInput=inputRef.current&&!inputRef.current.contains(target);if(isOutsideDropdown&&isOutsideInput){setDropdownOpen(false);setSearchQuery(\"\");setFocused(false);}};if(dropdownOpen||focused){document.addEventListener(\"mousedown\",handleClickOutside);return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};}},[dropdownOpen,focused]);// Focus search input when dropdown opens\nuseEffect(()=>{if(dropdownOpen&&searchInputRef.current){setTimeout(()=>{searchInputRef.current?.focus();},100);}},[dropdownOpen]);function onFocus(){setFocused(true);setDropdownOpen(true);props.focusEvent?.();if(invalid){setInvalid(false);}}function onBlur(event){// Don't blur if clicking on dropdown\nconst relatedTarget=event.relatedTarget;if(dropdownRef.current?.contains(relatedTarget)||searchInputRef.current===relatedTarget){return;}if(!dropdownOpen){setFocused(false);setSearchQuery(\"\");props.blurEvent?.();}}function onInputClick(){setDropdownOpen(true);setFocused(true);props.focusEvent?.();if(invalid){setInvalid(false);}}function onCountrySelect(country){setSelectedCountry(country);setDropdownOpen(false);setSearchQuery(\"\");setFocused(false);inputRef.current?.blur();}const onInvalid=event=>{event.preventDefault();setInvalid(true);props.invalidEvent?.();};// Handle value restoration from FormPersistence\nfunction onSetValueEvent(event){const value=event.detail;if(!value||value===\"none\"){setSelectedCountry(\"\");return;}if(countries.includes(value)){setSelectedCountry(value);}}// Get display text for selected country\nconst getDisplayText=()=>{if(!selectedCountry||selectedCountry===\"none\"){return props.noneSelectedText||\"Select a country...\";}const countryIndex=countries.indexOf(selectedCountry);if(props.flagEmojis&&countryIndex>=0){return`${countryEmojis[countryIndex]} ${selectedCountry}`;}return selectedCountry;};return /*#__PURE__*/_jsxs(motion.div,{\"data-framerforms\":true,id:id,style:{position:\"relative\",borderRadius:props.radius},initial:false,transition:props.transition,children:[/*#__PURE__*/_jsx(HiddenInput,{name:props.name,required:props.required&&!selectedCountry,value:selectedCountry,setInvalid:setInvalid,onSetValueEvent:onSetValueEvent}),/*#__PURE__*/_jsx(CountryDropdown,{isOpen:dropdownOpen,dropdownRef:dropdownRef,searchInputRef:searchInputRef,searchQuery:searchQuery,onSearchChange:setSearchQuery,filteredCountries:filteredCountries,selectedCountry:selectedCountry,onCountrySelect:onCountrySelect,containerId:id,fill:props.fill,color:props.color,font:props.font,isCanvas:isCanvas,showDropdown:props.showDropdown,showFlags:props.flagEmojis,showDialCodes:false,pinnedCountries:props.pinnedCountries,dropdownStyle:props.dropdown,borderRadius:props.radius,padding:props.padding,placeholderColor:props.placeholderColor||props.color+\"80\",bgBlur:props.bgBlur}),/*#__PURE__*/_jsxs(motion.div,{ref:inputRef,onClick:onInputClick,onFocus:onFocus,onBlur:onBlur,tabIndex:0,animate:{...createBackground(props.fill,null,focused,invalid),boxShadow:invalid&&shadows?.invalid||focused&&shadows?.focus||shadows?.default},style:{position:\"relative\",borderRadius:props.radius,cursor:\"pointer\",backdropFilter:props.bgBlur?`blur(${props.bgBlur}px)`:undefined,...props.style},initial:false,transition:props.transition,children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",padding:icon?`${pt}px ${pr+icon.size+8}px ${pb}px ${pl}px`:props.padding,color:selectedCountry?props.color:props.placeholderColor||props.color+\"80\",textOverflow:\"ellipsis\",overflow:\"hidden\",whiteSpace:\"nowrap\",...props.font},children:getDisplayText()}),icon&&/*#__PURE__*/_jsx(Icon,{...icon,style:{position:\"absolute\",right:pr,top:\"50%\",transform:\"translateY(-50%)\",pointerEvents:\"none\"},defaultImage:`url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\"><path d=\"M 3.5 6 L 8 10.5 L 12.5 6\" fill=\"transparent\" stroke-width=\"1.5\" stroke=\"rgb(153, 153, 153)\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>')`}),/*#__PURE__*/_jsx(Border,{...props.border,borderColor:invalid&&border?.colorInvalid||focused&&border?.colorFocus||border?.color,transition:props.transition})]}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`#${id} [tabindex]:focus { outline: none; }`}})]});}CountryInput.displayName=\"Country Input\";addPropertyControls(CountryInput,{name:{type:ControlType.String,defaultValue:\"Country\"},showDropdown:{type:ControlType.Boolean,defaultValue:false,enabledTitle:\"Show\",disabledTitle:\"Hide\",title:\"Dropdown\"},dropdown:dropdownProp(),required:{type:ControlType.Boolean,defaultValue:false},autoFocus:{type:ControlType.Boolean,defaultValue:false,title:\"Auto-Focus\"},pinnedCountries:{type:ControlType.Array,defaultValue:[],control:{type:ControlType.Enum,options:countries},title:\"Pinned\"},defaultValue:{type:ControlType.Enum,defaultValue:\"none\",options:[\"none\",...countries],optionTitles:[\"None\",...countries]},noneSelectedText:{title:\"Placeholder\",type:ControlType.String,defaultValue:\"Select a country...\",hidden:props=>props.defaultValue!==\"none\"},flagEmojis:{type:ControlType.Boolean,defaultValue:true},// Shared style controls - includes placeholderColor with default from SHARED_DEFAULTS\n// Component-specific controls (like noneSelectedText above) are defined separately\n// To override a default value, pass it as an option:\n// Example: color: \"#999999\" to override the default color\n// Example: placeholderColor: \"#666\" to override the default placeholder color\n// See DropdownUtilities.tsx SHARED_DEFAULTS for all available defaults\n...getSharedStyleControls({invalid:true})});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CountryInput\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useState,useRef}from\"react\";import{motion}from\"framer-motion\";import{useMultiStepFormStore,useCanvasState,getFormInfo}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 10\n * @framerDisableUnlink\n */export default function FormProgressBar(props){const{fill,align}=props;const isVertical=props.direction==\"vertical\";const isCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=useRef(null);const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const canvasState=useCanvasState(ref);const[formId,setFormId]=useState(null);const state=isCanvas?canvasState:multiStepFormState[formId];const[percent,setPercent]=useState(0);const prevPercentRef=useRef(0);useEffect(()=>{const newFormId=getFormInfo(ref.current).formId;setFormId(newFormId);if(!multiStepFormState[newFormId]){setMultiStepFormState({});}},[]);useEffect(()=>{if(state){const currentIndex=state.pageHistory?.[state.pageHistory.length-1]??0;const currentPageNumber=currentIndex+1;const totalPages=state.totalPages||1;setPercent(currentPageNumber/totalPages);}},[state]);useEffect(()=>{prevPercentRef.current=percent;},[percent]);const p=isCanvas?props.previewPercent/100:percent;return /*#__PURE__*/_jsx(\"div\",{\"data-framerforms\":true,ref:ref,style:{display:\"flex\",flexDirection:props.direction==\"horizontal\"?\"row\":\"column\",justifyContent:align,borderRadius:props.radius,backgroundColor:props.background,boxShadow:props.shadows,backdropFilter:props.bgBlur?`blur(${props.bgBlur}px)`:undefined,overflow:\"hidden\",...props.style},children:/*#__PURE__*/_jsx(motion.div,{initial:false,transition:prevPercentRef.current===0?{type:false,duration:0}:props.transition,animate:{width:isVertical?\"100%\":`${p*100}%`,height:isVertical?`${p*100}%`:\"100%\",background:fill.type==\"color\"?fill.color:`linear-gradient(to ${isVertical?\"bottom\":\"right\"}, ${fill.colorA} ${props.fill.gradientScaled?0:align==\"center\"?50+-50/p:align==\"flex-end\"?-100/p+100:0}%, ${fill.colorB} ${props.fill.gradientScaled?100:align==\"center\"?50+50/p:align==\"flex-start\"?100/p:100}%)`},style:{borderRadius:props.innerRadius?props.radius:0}})});}FormProgressBar.displayName=\"Form Progress Bar\";addPropertyControls(FormProgressBar,{fill:{type:ControlType.Object,// @ts-ignore - Framer \"icon\" typing differs from our TS definitions\nicon:\"color\",defaultValue:{type:\"color\",color:\"#0099FF\",colorA:\"#91C5FF\",colorB:\"#0099FF\"},controls:{type:{type:ControlType.Enum,options:[\"color\",\"linearGradient\"],optionTitles:[\"Color\",\"Gradient\"],displaySegmentedControl:true},color:{type:ControlType.Color,defaultValue:\"#0099FF\",hidden:props=>props.type!==\"color\"},colorA:{type:ControlType.Color,defaultValue:\"#91C5FF\",title:\"Colors\",hidden:props=>props.type!==\"linearGradient\"},colorB:{type:ControlType.Color,defaultValue:\"#0099FF\",title:\" \",hidden:props=>props.type!==\"linearGradient\"},gradientScaled:{type:ControlType.Boolean,defaultValue:false,title:\"Scaled\",hidden:props=>props.type!==\"linearGradient\"}}},background:{type:ControlType.Color,defaultValue:\"rgba(187, 187, 187, 0.15)\",optional:true},previewPercent:{type:ControlType.Number,defaultValue:75,min:0,max:100,step:1,unit:\"%\",title:\"Preview\"},direction:{type:ControlType.Enum,defaultValue:\"horizontal\",options:[\"horizontal\",\"vertical\"],displaySegmentedControl:true},align:{type:ControlType.Enum,defaultValue:\"flex-start\",options:[\"flex-start\",\"center\",\"flex-end\"],// @ts-ignore\noptionIcons:{direction:{horizontal:[\"align-left\",\"align-center\",\"align-right\"],vertical:[\"align-top\",\"align-middle\",\"align-bottom\"]}},displaySegmentedControl:true},radius:{// @ts-ignore - Framer supports BorderRadius control type (not in our TS typings)\ntype:ControlType.BorderRadius,defaultValue:\"5px\"},innerRadius:{type:ControlType.Boolean,defaultValue:true},shadows:{// @ts-ignore - Framer supports BoxShadow control type (not in our TS typings)\ntype:ControlType.BoxShadow},bgBlur:{type:ControlType.Number,min:0,max:100,step:1,displayStepper:true,title:\"BG Blur\"},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",damping:60,delay:0,duration:.3,mass:1,stiffness:800}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FormProgressBar\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"10\",\"framerDisableUnlink\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{useState,useEffect,useRef}from\"react\";import{useInstanceId,HiddenComponentLabel,useMultiStepFormStore,getFormInfo,isAncestor}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";const OPTIMIZATION_CLASS_NAME=\"framerforms-multi-step-form\";const SUBMIT_BUTTON_HIDDEN_ATTRIBUTE=\"framerforms-submit-button-hidden\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerDisableUnlink\n */function MultiStepFormComponent(props){const{scrollToTop}=props;const id=useInstanceId();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const[formInfo,setFormInfo]=useState(null);const stateRef=useRef(multiStepFormState[formInfo?.formId]);const ref=useRef(null);const pageVideosRef=useRef({});const isFirstRenderRef=useRef(true);const[initialized,setInitialized]=useState(false);const state=multiStepFormState[formInfo?.formId];const pageHistory=state?.pageHistory;useEffect(()=>{const formInfo=getFormInfo(ref.current);setFormInfo(formInfo);const{formId,form,pages}=formInfo;function previousPage(){const pageHistory=stateRef.current?.pageHistory;if(pageHistory?.length>1){setMultiStepFormState(prev=>({[formId]:{...prev[formId],pageHistory:prev[formId].pageHistory.slice(0,-1),isEndPage:false}}));}}function nextPage(){const state=stateRef.current;if(state){const page=state.pageHistory[state.pageHistory.length-1];const{logicConfigs}=state;let newPage=null;if(logicConfigs.length&&pages){const pageElement=pages.children?.[page];for(const logic of logicConfigs){if(isAncestor(pageElement,logic.ref.current)){const nextPageName=logic.getNextPage();if(nextPageName){const nextPageIndex=getChildIndexByDataFramerName(pages,nextPageName);if(nextPageIndex!==-1){newPage=nextPageIndex;}break;}}}}if(newPage===null&&page<state.totalPages-1){newPage=page+1;}const pageElement=pages.children[page];if(pageElement&&!isFormValid(pageElement)){newPage=null;}if(newPage){setMultiStepFormState(prev=>{const prevState=prev[formId];return{[formId]:{...prevState,pageHistory:[...prevState.pageHistory,newPage],isEndPage:isPageAnEndPage({pageIndex:newPage,state:prevState,pages,endPageMode:props.endPage,customEndPages:props.endPageCustom})}};});}}}function setPageHistoryLength(newLength){setMultiStepFormState(prev=>{const pageHistory=prev[formId]?.pageHistory??[];return{[formId]:{...prev[formId],pageHistory:newLength>=pageHistory.length?pageHistory:pageHistory.slice(0,newLength),isEndPage:isPageAnEndPage({pageIndex:pageHistory[newLength-1],state:prev[formId],pages,endPageMode:props.endPage,customEndPages:props.endPageCustom})}};});}if(formId&&pages){setMultiStepFormState({[formId]:{totalPages:pages.children.length,pageHistory:[0],logicConfigs:[],isEndPage:pages.children.length==1,previousPage,nextPage,setPageHistoryLength}});}if(pages){const pageElements=pages.children;for(let i=0;i<pageElements.length;i++){const videos=pageElements[i].querySelectorAll(\"video\");if(!pageVideosRef.current[i]){pageVideosRef.current[i]=[];}for(const video of videos){pageVideosRef.current[i].push(video);if(video.hasAttribute(\"autoplay\")&&i!==0){const pauseVideo=()=>{if(!video.paused){setTimeout(()=>{if(!video.paused){video.pause();}},100)// 100 milliseconds = 0.1 seconds\n;}};if(!video.paused){// Video is already playing, pause it immediately\npauseVideo();}else{// Wait for the video to start playing, then pause it\nvideo.addEventListener(\"play\",pauseVideo,{once:true});}}}}}let unmountFunction=null;if(form){function onEnterPress(event){if(event.key!==\"Enter\"||event.target.tagName===\"TEXTAREA\"){return;}const currentInput=event.target;let previousElement=currentInput;let foundPage=false;while(previousElement&&!foundPage){const newElement=previousElement.parentElement;if(newElement==pages){foundPage=true;break;}previousElement=newElement;}const currentPage=previousElement;let stopEvent=true;if(currentPage){const inputs=getInputsOnPage(currentPage);const currentIndex=inputs.indexOf(currentInput);if(currentIndex<inputs.length-1){// Focus the next input on the current page\ninputs[currentIndex+1].focus();}else{const pageElements=Array.from(pages.children);const pageIndex=pageElements.indexOf(currentPage);if(pageIndex<pageElements.length-1){nextPage();}else{// Let the form submit if it's the last page\nstopEvent=false;}}}if(stopEvent){event.preventDefault();event.stopPropagation();}}// Override Enter key press event\nform.addEventListener(\"keydown\",onEnterPress,true);unmountFunction=()=>{form.removeEventListener(\"keydown\",onEnterPress,true);};}if(unmountFunction){return unmountFunction;}},[]);useEffect(()=>{stateRef.current=state;},[state]);useEffect(()=>{if(state&&(!isCanvas||ref.current?.closest('[data-framer-component-container=\"true\"]'))){const submitButton=formInfo.form?.querySelector('button[type=\"submit\"]')?.parentElement;if(submitButton){submitButton.setAttribute(SUBMIT_BUTTON_HIDDEN_ATTRIBUTE,state.isEndPage?\"false\":\"true\");}}},[state?.isEndPage]);useEffect(()=>{const pages=formInfo?.pages;if(pages&&pageHistory){// Enable/disable form inputs on pages that have not been visited for submit validation\nif(state?.logicConfigs?.length||props.endPage==\"customPages\"){for(let i=0;i<pages.children.length;i++){if(pageHistory.includes(i)){const inputs=pages.children[i]?.querySelectorAll(`input[name][disabled=\"FramerForms\"], select[name][disabled=\"FramerForms\"], textarea[name][disabled=\"FramerForms\"]`);for(const input of inputs){input.removeAttribute(\"disabled\");}}else{const inputs=pages.children[i]?.querySelectorAll(\"input[name]:not([disabled]), select[name]:not([disabled]), textarea[name]:not([disabled])\");for(const input of inputs){input.setAttribute(\"disabled\",\"FramerForms\");}}}}// Play/pause videos on form pages\nconst currentPage=pageHistory[pageHistory.length-1];if(pageVideosRef.current){for(const pageIndex of Object.keys(pageVideosRef.current)){const pageVideos=pageVideosRef.current[pageIndex];for(const video of pageVideos){if(pageIndex==currentPage){if(video.hasAttribute(\"autoplay\")){video.play();}}else if(!video.paused){video.pause();}}}}// Scroll to top of form\nif(scrollToTop&&formInfo.form&&!isFirstRenderRef.current){const rect=formInfo.form.getBoundingClientRect();const top=rect.top-scrollToTop.offset;const topIsInView=top>=0&&top<=window.innerHeight;if(!topIsInView){const windowScrollTop=window.pageYOffset||document.documentElement.scrollTop;window.scrollTo({top:windowScrollTop+top,behavior:scrollToTop.scrollStyle});}}if(!isFirstRenderRef.current){autoFocusInputOnPage(pages.children[currentPage]);}isFirstRenderRef.current=false;}fireAnalyticsEvent(props.analytics,pageHistory,formInfo?.pages);},[pageHistory]);useEffect(()=>{setInitialized(true);},[]);return /*#__PURE__*/_jsxs(HiddenComponentLabel,{text:\"Multi-Step Form\",children:[/*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 452 60\",width:\"121\",height:\"16\",style:{marginBottom:5},children:[/*#__PURE__*/_jsx(\"path\",{d:\"M 58.178 27.448 L 58.178 0.912 L 33.172 0.912 C 14.852 0.912 0 15.76 0 34.08 L 0 59.086 L 58.178 59.086 L 58.178 27.46 C 58.172 44.93 44.008 59.09 26.538 59.09 L 26.538 27.45 L 58.178 27.45 Z\",fill:\"#473DFE\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M 452.004 36.088 C 452.004 43.208 446.328 47.872 437.336 47.872 C 428.342 47.872 422.57 43.112 421.946 35.464 L 431.132 35.464 C 431.228 38.734 433.392 40.802 437.142 40.802 C 440.268 40.802 442.336 39.6 442.336 37.436 C 442.336 35.944 440.846 34.838 438.826 34.454 L 432.526 33.252 C 426.996 32.192 423.34 28.972 423.34 23.392 C 423.34 16.948 429.016 12.426 436.758 12.426 C 444.982 12.426 450.898 17.14 451.426 24.594 L 442.24 24.594 C 442 21.468 439.884 19.448 436.854 19.448 C 434.162 19.448 432.526 20.892 432.526 22.768 C 432.526 24.306 434.064 25.22 435.892 25.556 L 442.578 26.856 C 448.734 28.056 452.004 31.086 452.004 36.088 Z M 395.384 47.39 L 387.978 27.48 L 387.978 47.39 L 379.754 47.39 L 379.754 12.86 L 390.478 12.86 L 399.184 36.28 L 407.84 12.86 L 418.566 12.86 L 418.566 47.39 L 410.342 47.39 L 410.342 27.24 L 402.886 47.39 Z M 355.758 47.39 L 346.668 47.39 L 346.668 12.86 L 360.808 12.86 C 370.138 12.86 375.476 17.044 375.476 24.402 C 375.476 28.826 372.83 32.482 368.166 34.454 L 376.63 47.39 L 365.81 47.39 L 358.74 35.896 L 355.758 35.896 Z M 355.758 20.362 L 355.758 28.394 L 360.422 28.394 C 364.462 28.394 366.338 27.144 366.338 24.402 C 366.338 21.662 364.462 20.362 360.422 20.362 Z M 325.08 48.112 C 315.124 48.112 307.286 40.562 307.286 30.076 C 307.286 19.592 315.124 12.138 325.08 12.138 C 335.084 12.138 342.922 19.592 342.922 30.078 C 342.922 40.562 335.084 48.112 325.08 48.112 Z M 325.08 39.984 C 330.514 39.984 333.544 35.512 333.544 30.076 C 333.544 24.642 330.514 20.266 325.08 20.266 C 319.646 20.266 316.616 24.642 316.616 30.078 C 316.616 35.512 319.646 39.984 325.08 39.984 Z M 291.034 47.39 L 281.946 47.39 L 281.946 12.86 L 305.462 12.86 L 305.462 20.748 L 291.034 20.748 L 291.034 27.144 L 303.106 27.144 L 303.106 35.032 L 291.034 35.032 L 291.034 47.392 Z M 257.946 47.39 L 248.856 47.39 L 248.856 12.86 L 262.994 12.86 C 272.326 12.86 277.664 17.044 277.664 24.402 C 277.664 28.826 275.018 32.482 270.354 34.454 L 278.818 47.39 L 267.996 47.39 L 260.926 35.896 L 257.946 35.896 Z M 257.946 20.362 L 257.946 28.394 L 262.61 28.394 C 266.65 28.394 268.526 27.144 268.526 24.402 C 268.526 21.662 266.65 20.362 262.61 20.362 Z M 244.616 39.504 L 244.616 47.392 L 220.184 47.392 L 220.184 12.86 L 244.278 12.86 L 244.278 20.748 L 229.274 20.748 L 229.274 25.7 L 242.884 25.7 L 242.884 33.588 L 229.274 33.588 L 229.274 39.504 Z M 191.216 47.39 L 183.81 27.48 L 183.81 47.39 L 175.586 47.39 L 175.586 12.86 L 186.31 12.86 L 195.016 36.28 L 203.672 12.86 L 214.398 12.86 L 214.398 47.39 L 206.174 47.39 L 206.174 27.24 L 198.718 47.39 L 191.218 47.39 Z M 163.08 47.39 L 160.966 40.994 L 148.846 40.994 L 146.682 47.39 L 137.496 47.39 L 150.288 12.86 L 160.244 12.86 L 172.892 47.39 L 163.082 47.39 Z M 155.002 22.864 L 151.298 33.828 L 158.61 33.828 L 155 22.864 Z M 116.574 47.39 L 107.484 47.39 L 107.484 12.86 L 121.624 12.86 C 130.954 12.86 136.292 17.044 136.292 24.402 C 136.292 28.826 133.648 32.482 128.982 34.454 L 137.446 47.39 L 126.626 47.39 L 119.556 35.896 L 116.574 35.896 Z M 116.574 20.362 L 116.574 28.394 L 121.24 28.394 C 125.28 28.394 127.154 27.144 127.154 24.402 C 127.154 21.662 125.278 20.362 121.24 20.362 Z M 89.214 47.39 L 80.126 47.39 L 80.126 12.86 L 103.64 12.86 L 103.64 20.748 L 89.212 20.748 L 89.212 27.144 L 101.284 27.144 L 101.284 35.032 L 89.212 35.032 L 89.212 47.392 Z\",fill:\"#999\"})]}),/*#__PURE__*/_jsxs(\"div\",{ref:ref,id:id,\"data-framerforms-multi-step-form\":true,className:!initialized&&!isCanvas?OPTIMIZATION_CLASS_NAME:\"\",style:{display:\"none\"},children:[initialized&&!isCanvas&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`form[framerforms-id=\"${formInfo?.formId}\"] > [data-framer-name=\"Pages\" i] > *:not(:nth-child(${pageHistory?pageHistory[pageHistory.length-1]+1:1})) { display: none; }`}}),isCanvas&&/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`[data-framer-component-container=\"true\"] form[framerforms-id=\"${formInfo?.formId}\"] > [data-framer-name=\"Pages\" i] > *:not(:first-child) { display: none; }`}})]})]});}/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n * @framerDisableUnlink\n */const MultiStepForm=withCSS(MultiStepFormComponent,[`form:has(.${OPTIMIZATION_CLASS_NAME}) > [data-framer-name=\"Pages\" i] > *:not(:first-child) { display: none; }`,`form:has(.${OPTIMIZATION_CLASS_NAME}) div:has(> button[type=\"submit\"]) { display: none; }`,`[${SUBMIT_BUTTON_HIDDEN_ATTRIBUTE}=\"true\"] { display: none; }`],OPTIMIZATION_CLASS_NAME);export default MultiStepForm;MultiStepForm.displayName=\"Multi-Step Form Staging\";addPropertyControls(MultiStepForm,{endPage:{type:ControlType.Enum,defaultValue:\"lastPage\",options:[\"lastPage\",\"customPages\"],optionTitles:[\"Last Page\",\"Custom Pages\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},endPageCustom:{type:ControlType.Array,control:{type:ControlType.String,defaultValue:\"\",placeholder:\"Page Layer Name\",preventLocalization:true},title:\"Pages\",description:\"List of page names where the submit button is shown\",hidden:props=>props.endPage!==\"customPages\"},analytics:{type:ControlType.Object,optional:true,icon:\"interaction\",controls:{platform:{type:ControlType.Enum,options:[\"googleAnalytics\"],optionTitles:[\"Google Analytics 4\"]},googleAnalyticsEventName:{type:ControlType.String,placeholder:\"Event Name\",title:\"Event Name\",preventLocalization:true,hidden:props=>props.platform!==\"googleAnalytics\"},googleAnalyticsEventCategory:{type:ControlType.String,placeholder:\"Optional\",title:\"Category\",description:\"Make sure the Google Analytics 4 script is installed\",preventLocalization:true,hidden:props=>props.platform!==\"googleAnalytics\"}}},scrollToTop:{type:ControlType.Object,optional:true,title:\"Scroll to Top\",controls:{scrollStyle:{type:ControlType.Enum,defaultValue:\"smooth\",options:[\"smooth\",\"instant\"],optionTitles:[\"Smooth\",\"Instant\"],displaySegmentedControl:true,title:\"Scroll\"},offset:{type:ControlType.Number,defaultValue:32,step:1,description:\"When previous or next button is pressed, scroll to the top of the form with an offset\"}}}});//////////////////////////////////////////////////////////////\n/**\n * Validates all inputs within an element. Uses reportValidity() which shows validation UI.\n * Only validates visible inputs (inputs on hidden pages are skipped).\n *\n * @param element The element whose inputs we have to validate\n * @returns `true` if all visible inputs are valid, `false` otherwise\n */export function isFormValid(element){const inputs=element.querySelectorAll(\"input, select, textarea\");let invalidInputs=[];for(const input of inputs){if(isVisible(input)&&!input.reportValidity()){invalidInputs.push(input);}}return invalidInputs.length===0;}/**\n * Checks if all required fields on a page have values.\n * Works on hidden pages (doesn't rely on visibility).\n * Does NOT trigger validation UI - use this for pre-checking pages before navigation.\n *\n * @param element The page element to check\n * @returns `true` if all required fields have values, `false` if any required field is empty\n */export function hasRequiredFieldsFilled(element){const inputs=element.querySelectorAll(\"input[required], select[required], textarea[required]\");for(const input of inputs){// Skip disabled inputs\nif(input.disabled)continue;// Skip hidden proxy inputs (tabindex=-1 with opacity 0)\n// BUT: Don't skip if it has data-framerforms-set-value-event (Dropdown's HiddenInput)\nconst isHiddenProxy=input.tabIndex===-1&&input.style.opacity===\"0\";const isDropdownHiddenInput=input.hasAttribute(\"data-framerforms-set-value-event\");if(isHiddenProxy&&!isDropdownHiddenInput)continue;// Check if input has a value\nconst value=input.value?.trim()??\"\";if(value===\"\"){return false;}}return true;}/**\n * Checks if the element is visible in the DOM.\n *\n * @param element The element we are checking the visibility of\n * @returns `true` if the element is visible, `false` otherwise\n */function isVisible(element){return element.offsetParent!==null||element instanceof HTMLInputElement&&element.type===\"hidden\";}/**\n *\n * @param parentElement The parent element to search for the child\n * @param name The name of the child to search for\n * @returns The index of the child if found, -1 otherwise\n */function getChildIndexByDataFramerName(parentElement,name){const children=Array.from(parentElement.children);for(let i=0;i<children.length;i++){if(children[i].getAttribute(\"data-framer-name\")===name){return i;}}return-1// Return -1 if no child with the specified attribute value is found\n;}/**\n * Determines if a given page index is an end page based on the form configuration.\n *\n * @param {IsPageAnEndPageParams} params - Configuration object\n * @param {number} params.pageIndex - Zero-based index of the page to check\n * @param {MultiStepFormState} params.state - Multi-step form state containing total page count\n * @param {HTMLElement | null} params.pages - Container element with all page elements, or null\n * @param {\"customPages\" | \"lastPage\"} params.endPageMode - Mode for identifying end pages\n * @param {string[]} params.customEndPages - Page names (data-framer-name) that are end pages (used when endPageMode is \"customPages\")\n * @returns {boolean} `true` if the page is an end page, `false` otherwise\n */function isPageAnEndPage({pageIndex,state,pages,endPageMode,customEndPages}){let isEndPage=false;if(endPageMode===\"customPages\"&&pages){const step=pages.children[pageIndex];if(customEndPages.includes(step.getAttribute(\"data-framer-name\"))){isEndPage=true;}}else{isEndPage=pageIndex==state.totalPages-1;}return isEndPage;}/**\n * Fires analytics events when the user navigates to a new page.\n *\n * @param analytics - Analytics configuration object, or null/undefined to skip\n * @param pageHistory - Array of visited page indices. Current page is the last element.\n * @param pages - Container element holding all page elements as children\n *\n * @example\n * // pageHistory = [0, 1, 2] means user is on page index 2 (third page)\n * fireAnalyticsEvent(analyticsConfig, [0, 1, 2], pagesElement)\n */function fireAnalyticsEvent(analytics,pageHistory,pages){if(!analytics||!pageHistory||!pages){return;}switch(analytics.platform){case\"googleAnalytics\":if(typeof window!==\"undefined\"){if(typeof window.gtag!==\"undefined\"){const pageIndex=pageHistory[pageHistory.length-1];const page=pages?.children[pageIndex];const params={page_name:page?.getAttribute(\"data-framer-name\")||page?.getAttribute(\"name\")||`Page ${pageIndex+1}`};if(analytics.googleAnalyticsEventCategory){params.event_category=analytics.googleAnalyticsEventCategory;}window.gtag(\"event\",analytics.googleAnalyticsEventName,params);}else{console.error(\"Google Analytics gtag.js script is not installed.\");}}break;}}function getInputsOnPage(page){return Array.from(page.querySelectorAll('input:not([type=\"hidden\"]):not([disabled]):not([name=\"\"]):not([tabindex=\"-1\"]):not([data-framerforms-set-value-event]), textarea:not([disabled]):not([name=\"\"]):not([tabindex=\"-1\"]), select:not([disabled]):not([name=\"\"]):not([tabindex=\"-1\"]), button:not([disabled]):not([tabindex=\"-1\"])')).filter(el=>window.getComputedStyle(el).display!==\"none\");}function autoFocusInputOnPage(pageElement){if(!pageElement){return;}// Get all potential autofocus elements\nconst autofocusElements=pageElement.querySelectorAll(\"input[autofocus], select[autofocus], textarea[autofocus]\");// Convert NodeList to Array for easier manipulation\nconst elements=Array.from(autofocusElements);// Filter out hidden elements\nconst visibleElements=elements.filter(el=>{const style=window.getComputedStyle(el);return style.display!==\"none\"&&style.visibility!==\"hidden\"&&!el.hidden&&!el.disabled&&el.offsetParent!==null// Check if the element is rendered\n;});// If there are visible autofocus elements, focus the first one\nif(visibleElements.length>0){visibleElements[0].focus();}}\nexport const __FramerMetadata__ = {\"exports\":{\"isFormValid\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hasRequiredFieldsFilled\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"MultiStepForm\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}