{"version":3,"file":"PhoneNumberInput.B2dVRilp.mjs","names":["useState","useRef","Image","_Fragment","_Fragment","_Fragment","useState","useRef"],"sources":["https:/framerusercontent.com/modules/asydHDts5g0SLLYx4UPp/0xwnXRD02IDwQtMu155t/ButtonsInput.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/IQzDFpniaD3AmKydBXP4/LHWQ8wbZlMg3l9LnhO0B/PhoneNumberInput.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,Image}from\"framer\";import{useState,useEffect,useRef}from\"react\";import{motion}from\"framer-motion\";import{Border,createBackground,fillProp,borderProp,shadowsProp,useInstanceId,HiddenInput,useMultiStepFormStore,getFormInfo}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";import{buildQuizInputDataAttributes,createQuizNestedControls}from\"https://framerusercontent.com/modules/itVumdSpaLTGejsnG4cS/6LKYMWPrWe4DJ5B7wYmL/QuizScoringShared.js\";/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 400\n * @framerDisableUnlink\n */export default function ButtonsInput(props){const{clickAction,options,textOptions,imageOptions,layout,border,shadows,valueSeparator,quiz}=props;const id=useInstanceId();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const multiSelect=clickAction===\"nextPage\"?false:props.multiSelect;const[multiStepFormState,setMultiStepFormState]=useMultiStepFormStore();const[value,setValue]=useState([]);const[invalid,setInvalid]=useState(false);const[nextPageQueued,setNextPageQueued]=useState(false);const[formId,setFormId]=useState(null);const ref=useRef(null);const state=multiStepFormState[formId];useEffect(()=>{const newFormId=getFormInfo(ref.current).formId;setFormId(newFormId);// State is initialized by MultiStepForm component - we only read from it\n},[]);useEffect(()=>{if(invalid){props.invalidEvent?.();}},[invalid]);useEffect(()=>{if(nextPageQueued){state?.nextPage?.();setNextPageQueued(false);}},[nextPageQueued]);function onSetValueEvent(event){setValue(multiSelect?event.detail.split(valueSeparator):[event.detail]);}const imageStyle={position:\"relative\",width:\"100%\",height:\"auto\",aspectRatio:imageOptions.aspectRatioMode==\"fixed\"?imageOptions.aspectRatio:undefined,borderRadius:imageOptions.radius,pointerEvents:\"none\",userSelect:\"none\",objectFit:\"cover\"};const rows=[];for(let i=0;i<options.length;i++){const option=options[i];const selected=multiSelect?value.includes(option.value):value.length===1&&value[0]===option.value;if(i%layout.columns==0){rows.push([]);}let layoutProps={};if(options.length%layout.columns==0||options.length-i>=layout.columns){layoutProps={flex:1};}else{layoutProps={flexBasis:`calc(${100/layout.columns}% - ${layout.gapH*(1-1/layout.columns)}px)`};}const color=invalid&&textOptions?.colorInvalid||(selected?textOptions?.colorOn:textOptions?.colorOff);const boxShadow=invalid&&shadows?.invalid||(selected?shadows?.on:shadows?.off);const borderColor=invalid&&border?.colorInvalid||(selected?border?.colorOn:border?.colorOff);const onClick=()=>{if(multiSelect){setValue(selected?value.filter(v=>v!==option.value):[...value,option.value]);}else{setValue(selected?[]:[option.value]);}setInvalid(false);if(clickAction==\"nextPage\"){setNextPageQueued(true);}};rows[rows.length-1].push(/*#__PURE__*/_jsxs(motion.button,{type:\"button\",onClick:onClick,onKeyDown:event=>{if(event.key===\"Enter\"){onClick();}},onFocus:()=>{props.focusEvent?.();if(invalid){setInvalid(false);}},onBlur:props.blurEvent,whileFocus:{...createBackground(props.fill,null,true,invalid),color:textOptions?.colorFocus||color,boxShadow:shadows?.focus||boxShadow,borderColor:border?.colorFocus||borderColor},animate:{...createBackground(props.fill,selected,false,invalid),color,boxShadow,borderColor},style:{position:\"relative\",display:\"flex\",flexDirection:textOptions?.location==\"bottom\"?\"column-reverse\":\"column\",gap:textOptions?.gap??0,padding:props.padding,borderRadius:props.radius,cursor:\"pointer\",overflow:\"hidden\",outline:\"none\",border:\"none\",backdropFilter:props.bgBlur?`blur(${props.bgBlur}px)`:undefined,...textOptions.font,...layoutProps},initial:false,transition:props.transition,children:[textOptions&&/*#__PURE__*/_jsx(\"span\",{style:{minHeight:\"1lh\",width:\"100%\"},children:option.title}),option.image&&/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flex:1,display:\"flex\",alignItems:imageOptions.alignV},children:isCanvas?/*#__PURE__*/_jsx(\"img\",{src:option.image.src,alt:option.image.alt||option.title||option.value,style:imageStyle}):/*#__PURE__*/_jsx(Image,{className:`${id}-image`,background:{fit:\"fill\",...option.image,alt:option.image.alt||option.title||option.value},style:imageStyle})}),border&&/*#__PURE__*/_jsx(Border,{...border,transition:props.transition})]},option.value));}const correctVals=quiz?.isQuizInput&&quiz.scoringMethod!==\"weighted\"?(quiz.correctOptionValues??[]).map(v=>String(v).trim()).filter(Boolean):[];const quizMultiSelect=!!quiz?.multiSelect;const quizInputProps=buildQuizInputDataAttributes(quiz,{correctAnswer:correctVals.length>0?multiSelect?correctVals:correctVals[0]:null,quizOptionsJson:{matchMode:quiz?.isQuizInput&&quiz.scoringMethod===\"weighted\"?quizMultiSelect?\"set\":\"exact\":multiSelect?\"set\":\"exact\",valueSeparator:valueSeparator??\", \"}});return /*#__PURE__*/_jsxs(\"div\",{\"data-framerforms\":true,\"data-framerforms-type\":\"buttons\",ref:ref,style:{display:\"flex\",flexDirection:\"column\",gap:layout.gapV,flex:1,userSelect:\"none\"},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",style:{display:\"none\"}}),/*#__PURE__*/_jsx(HiddenInput,{name:props.name,required:props.required,value:value.join(valueSeparator),setInvalid:setInvalid,onSetValueEvent:onSetValueEvent,...quizInputProps}),rows.map((items,index)=>/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"row\",gap:layout.gapH,width:\"100%\",alignItems:layout.height==\"fill\"?\"stretch\":layout.alignV,justifyContent:layout.alignH},children:items})),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`.${id}-image > div {\n                        position: relative !important;\n                        ${imageOptions.aspectRatioMode==\"fixed\"?\"height: 100%;\":\"\"}\n                    }`}})]});}ButtonsInput.displayName=\"Buttons Input\";addPropertyControls(ButtonsInput,{name:{type:ControlType.String,defaultValue:\"Buttons\",placeholder:\"Name\",preventLocalization:true},required:{type:ControlType.Boolean,defaultValue:false},clickAction:{type:ControlType.Enum,defaultValue:\"select\",options:[\"select\",\"nextPage\"],optionTitles:[\"Select\",\"Go To Next Page\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},multiSelect:{type:ControlType.Boolean,defaultValue:false,title:\"Multi-Select\",hidden:props=>props.clickAction!==\"select\"},valueSeparator:{type:ControlType.String,defaultValue:\", \",hidden:props=>!props.multiSelect||props.clickAction!==\"select\"},options:{type:ControlType.Array,defaultValue:[{value:\"Option1\",title:\"Option 1\"},{value:\"Option2\",title:\"Option 2\"},{value:\"Option3\",title:\"Option 3\"}],control:{type:ControlType.Object,controls:{value:{type:ControlType.String,defaultValue:\"\",preventLocalization:true},title:{type:ControlType.String,defaultValue:\"\"},image:{type:ControlType.ResponsiveImage}}}},layout:{type:ControlType.Object,controls:{columns:{type:ControlType.Number,defaultValue:3,min:1,step:1,displayStepper:true},height:{type:ControlType.Enum,defaultValue:\"fit\",options:[\"fit\",\"fill\"],optionTitles:[\"Fit\",\"Fill\"],displaySegmentedControl:true,hidden:props=>props.columns==1},alignH:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Align\",hidden:props=>props.columns==1},alignV:{type:ControlType.Enum,defaultValue:\"start\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],displaySegmentedControl:true,title:\" \",hidden:props=>props.columns==1||props.height==\"fill\"},gapH:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>props.columns==1},gapV:{type:ControlType.Number,defaultValue:10,min:0,step:1}}},textOptions:{type:ControlType.Object,optional:true,title:\"Text\",defaultValue:{location:\"top\",gap:10},controls:{location:{type:ControlType.Enum,defaultValue:\"top\",options:[\"top\",\"bottom\"],optionTitles:[\"Top\",\"Bottom\"],displaySegmentedControl:true},gap:{type:ControlType.Number,defaultValue:10,min:0,step:1},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:12,lineHeight:1,textAlign:\"center\"}},colorOn:{type:ControlType.Color,defaultValue:\"#0099FF\"},colorOff:{type:ControlType.Color,defaultValue:\"#999\"},colorFocus:{type:ControlType.Color,optional:true,title:\"Focus\"},colorInvalid:{type:ControlType.Color,optional:true,title:\"Invalid\"}}},imageOptions:{type:ControlType.Object,title:\"Images\",controls:{aspectRatioMode:{type:ControlType.Enum,defaultValue:\"auto\",options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"],displaySegmentedControl:true,title:\"Aspect Ratio\"},aspectRatio:{type:ControlType.String,defaultValue:\"1 / 1\",placeholder:\"Width / Height\",title:\" \",preventLocalization:true,hidden:props=>props.aspectRatioMode!=\"fixed\"},alignV:{type:ControlType.Enum,defaultValue:\"center\",options:[\"start\",\"center\",\"end\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"],displaySegmentedControl:true,title:\"Align\",hidden:props=>props.aspectRatioMode!=\"auto\"},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\"}}},fill:fillProp({onOff:true,invalid:true}),radius:{type:ControlType.BorderRadius,defaultValue:\"10px\"},padding:{type:ControlType.Padding,defaultValue:\"10px\"},border:borderProp({onOff:true,invalid:true}),shadows:shadowsProp(),bgBlur:{type:ControlType.Number,min:0,max:100,step:1,displayStepper:true,title:\"BG Blur\"},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:1500,damping:70}},quiz:{type:ControlType.Object,title:\"Quiz\",optional:true,controls:createQuizNestedControls({correctOptionValues:{type:ControlType.Array,title:\"Correct\",defaultValue:[],control:{type:ControlType.String,defaultValue:\"\",placeholder:\"Correct answer\"}}},{supportsMultiSelect:true})},focusEvent:{type:ControlType.EventHandler,title:\"Focus\"},blurEvent:{type:ControlType.EventHandler,title:\"Blur\"},invalidEvent:{type:ControlType.EventHandler,title:\"Invalid\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ButtonsInput\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any\"}},\"__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,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useState,useEffect,useRef}from\"react\";import{motion}from\"framer-motion\";import{Border,createBackground,parsePadding,useInstanceId,HiddenInput,Icon,iconProp}from\"https://framerusercontent.com/modules/DwWOdDzQZGCuvkNlbUjZ/Rj7Kdx4qq62ukVsnw7Hz/FramerFormsShared.js\";import{countries,countryEmojis,countryDialCodes,getDialCodeByCountry,getPhoneFormatByCountry,getCountryByDialCode}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// UTILITY FUNCTIONS\n// ============================================================================\nfunction formatPhoneNumber(phoneNumber,format){if(!phoneNumber)return\"\";let index=0;let cutOffIndex=null;const result=format.replace(/[Xx]/g,(match,offset)=>{if(index<phoneNumber.length){return phoneNumber[index++];}else{if(phoneNumber.length<10&&cutOffIndex===null){cutOffIndex=offset;}return\"\";}});return cutOffIndex!==null?result.slice(0,cutOffIndex):result;}function replaceXWithNumbers(input){let count=1;return input.replace(/[Xx]/g,()=>{const number=count%10;count++;return String(number);});}function unformatValue(value){return value.replace(/\\D/g,\"\");}function isLastCharacterANumber(str){if(str.length===0)return false;const lastChar=str[str.length-1];return!isNaN(Number(lastChar))&&!isNaN(parseFloat(lastChar));}function countXCharacters(str){const lowercaseStr=str.toLowerCase();const xRegex=/x/g;const matches=lowercaseStr.match(xRegex);return matches?matches.length:0;}const px=(a,b,c,d)=>`${a}px ${b}px ${c}px ${d}px`;function Divider({isVisible,width,color,inset,transition}){return /*#__PURE__*/_jsx(motion.div,{animate:{opacity:isVisible?0:1},style:{position:\"absolute\",opacity:1,width,right:-width/2,top:inset,bottom:inset,backgroundColor:color,zIndex:1e3},initial:false,transition:transition});}function CountryCodeSelector({countryCodeRef,selectedCountryEmoji,countryCode,isCanvas,showDropdown,countryCodeFocused,countryDropdownOpen,onCountryCodeClick,onCountryCodeFocus,onCountryCodeBlur,countryCodeOptions,ccConnected,padding,color,font,transition,border,invalid,phoneNumberFocused,radius,dropdownRef,searchInputRef,searchQuery,onSearchChange,filteredCountries,selectedCountry,onCountrySelect,containerId,fill,shadows,bgBlur,placeholderColor,dropdownStyle}){const[pt,pr,pb,pl]=parsePadding(padding);const[tl,tr,br,bl]=parsePadding(radius);const[bwt,bwr,bwb,bwl]=parsePadding(border?.width);return /*#__PURE__*/_jsxs(motion.div,{animate:{...createBackground(fill,null,countryCodeFocused,invalid),boxShadow:invalid&&shadows?.invalid||countryCodeFocused&&shadows?.focus||shadows?.default},style:{gap:8,position:\"relative\",borderRadius:ccConnected?px(tl,0,0,bl):radius},initial:false,transition:transition,children:[bgBlur!==0&&bgBlur!==undefined&&/*#__PURE__*/_jsx(\"div\",{style:{zIndex:-1,position:\"absolute\",inset:0,backdropFilter:`blur(${bgBlur}px)`}}),/*#__PURE__*/_jsx(CountryDropdown,{isOpen:countryDropdownOpen,dropdownRef:dropdownRef,searchInputRef:searchInputRef,searchQuery:searchQuery,onSearchChange:onSearchChange,filteredCountries:filteredCountries,selectedCountry:selectedCountry,onCountrySelect:onCountrySelect,containerId:containerId,fill:fill,color:color,font:font,isCanvas:isCanvas,showDropdown:showDropdown,showFlags:true,showDialCodes:true,right:ccConnected?0:undefined,padding:padding,borderRadius:radius,placeholderColor:placeholderColor,bgBlur:bgBlur,dropdownStyle:dropdownStyle}),/*#__PURE__*/_jsxs(\"div\",{ref:countryCodeRef,onClick:onCountryCodeClick,onFocus:onCountryCodeFocus,onBlur:onCountryCodeBlur,tabIndex:0,style:{display:\"flex\",alignItems:\"center\",gap:4,padding:px(pt,pr,pb,pl),cursor:\"pointer\",width:\"fitContent\",height:\"100%\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontSize:\"18px\",lineHeight:1},children:selectedCountryEmoji}),/*#__PURE__*/_jsxs(\"span\",{style:{color,...font,width:\"fitContent\",whiteSpace:\"nowrap\"},children:[\"+\",countryCode]}),countryCodeOptions.icon&&/*#__PURE__*/_jsx(Icon,{...countryCodeOptions.icon,style:{transform:countryDropdownOpen?\"rotate(180deg)\":\"rotate(0deg)\",transition:\"transform 0.2s\"},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>')`}),countryCodeOptions?.style===\"divider\"&&/*#__PURE__*/_jsx(Divider,{isVisible:!!(border?.colorFocus&&(countryCodeFocused||phoneNumberFocused)),width:countryCodeOptions.divider.width,color:countryCodeOptions.divider.color,inset:countryCodeOptions.divider.inset,transition:transition})]}),border&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Border,{...border,borderColor:invalid&&border?.colorInvalid||border.color,width:ccConnected?px(bwt,0,bwb,bwl):border.width,opacity:countryCodeFocused&&border?.colorFocus?0:1,transition:transition}),border?.colorFocus&&/*#__PURE__*/_jsx(Border,{...border,borderColor:border.colorFocus,width:border.width,opacity:countryCodeFocused?1:0,transition:transition})]})]});}function PhoneNumberInputField({phoneNumberInputRef,autoFocus,formattedValue,onPhoneNumberChange,onPhoneNumberFocus,onPhoneNumberBlur,onPhoneNumberKeyDown,placeholder,padding,color,font,ccConnected,phoneNumberFocused,invalid,border,transition,fill,shadows,bgBlur,radius}){const[tr,br]=parsePadding(radius);const[bwt,bwr,bwb]=parsePadding(border?.width);return /*#__PURE__*/_jsxs(motion.div,{animate:{...createBackground(fill,null,phoneNumberFocused,invalid),boxShadow:invalid&&shadows?.invalid||phoneNumberFocused&&shadows?.focus||shadows?.default},style:{position:\"relative\",borderRadius:ccConnected?px(0,tr,br,0):radius,flex:1,backdropFilter:bgBlur?`blur(${bgBlur}px)`:undefined},initial:false,transition:transition,children:[/*#__PURE__*/_jsx(\"input\",{ref:phoneNumberInputRef,autoFocus:autoFocus,value:formattedValue,onChange:onPhoneNumberChange,onFocus:onPhoneNumberFocus,onBlur:onPhoneNumberBlur,onKeyDown:onPhoneNumberKeyDown,placeholder:placeholder,style:{background:\"none\",border:\"none\",color,margin:0,display:\"block\",padding,width:\"100%\",height:\"100%\",textOverflow:\"ellipsis\",...font},\"data-framerforms-no-prefill\":true}),border&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Border,{...border,borderColor:invalid&&border?.colorInvalid||border.color,width:ccConnected?px(bwt,bwr,bwb,0):border.width,opacity:phoneNumberFocused&&border?.colorFocus?0:1,transition:transition}),border?.colorFocus&&/*#__PURE__*/_jsx(Border,{...border,borderColor:border.colorFocus,width:border.width,opacity:phoneNumberFocused?1:0,transition:transition})]})]});}// ============================================================================\n// MAIN COMPONENT\n// ============================================================================\n/**\n * @framerSupportedLayoutWidth fixed\n * @framerIntrinsicWidth 400\n * @framerDisableUnlink\n */export default function PhoneNumberInput(props){const{countryCodeOptions,border,shadows}=props;const id=useInstanceId();const isCanvas=RenderTarget.current()===RenderTarget.canvas;const hasCC=!!countryCodeOptions;const ccConnected=hasCC&&countryCodeOptions?.style!==\"split\";// Get default country\nconst getDefaultCountry=()=>{if(countryCodeOptions?.defaultCountry){const index=countries.indexOf(countryCodeOptions.defaultCountry);if(index>=0)return countries[index];}return\"United States\";};const defaultCountry=getDefaultCountry();const defaultCountryIndex=countries.indexOf(defaultCountry);const defaultDialCode=countryDialCodes[defaultCountryIndex>=0?defaultCountryIndex:countries.indexOf(\"United States\")];// State\nconst[selectedCountry,setSelectedCountry]=useState(defaultCountry);const[countryCode,setCountryCode]=useState(defaultDialCode);const[phoneNumber,setPhoneNumber]=useState(\"\");const[countryDropdownOpen,setCountryDropdownOpen]=useState(false);const[countryCodeFocused,setCountryCodeFocused]=useState(false);const[phoneNumberFocused,setPhoneNumberFocused]=useState(false);const[invalid,setInvalid]=useState(false);const[searchQuery,setSearchQuery]=useState(\"\");// Use refs for flags that need to be synchronous (not batched like state)\n// to avoid race conditions with event listeners\nconst dialCodeManuallySet=useRef(false);const persistenceInitialized=useRef(false);const isRestoringFromPersistence=useRef(false);// Refs\nconst countryCodeRef=useRef(null);const phoneNumberInputRef=useRef(null);const dropdownRef=useRef(null);const searchInputRef=useRef(null);// Get phone format\nconst phoneFormat=props.formatting===\"auto\"?getPhoneFormatByCountry(selectedCountry):props.format===\"custom\"?props.customFormat===\"\"?\"XXXXXXXXXX\":props.customFormat:props.format;const maxDigits=countXCharacters(phoneFormat);const formattedValue=formatPhoneNumber(phoneNumber,phoneFormat);const isComplete=phoneNumber.length===maxDigits;// Filter countries based on search query\nconst filteredCountries=searchQuery?countries.filter((country,index)=>{const searchLower=searchQuery.toLowerCase();return country.toLowerCase().includes(searchLower)||countryDialCodes[index].includes(searchQuery)||(countryEmojis[index]+\" \"+country).toLowerCase().includes(searchLower);}):countries;const selectedCountryIndex=countries.indexOf(selectedCountry);const selectedCountryEmoji=selectedCountryIndex>=0?countryEmojis[selectedCountryIndex]:\"🇺🇸\";// Auto-sync with Country field earlier in the form\n// Only pre-fills if dial code hasn't been manually set and phone number is empty\n// Delayed to allow form persistence to initialize first\nuseEffect(()=>{if(!hasCC)return;// Wait for form persistence to have a chance to restore values\n// before enabling auto-sync\nconst timeoutId=setTimeout(()=>{persistenceInitialized.current=true;},100);const formElement=countryCodeRef.current?.closest(\"form\");if(!formElement)return;// Listen for both select and input elements with country-related names\n// CountryInput uses a hidden input, not a select\nconst countryInputs=formElement.querySelectorAll('select[name*=\"Country\" i], select[name*=\"country\" i], input[name*=\"Country\" i], input[name*=\"country\" i]');const handleCountryChange=event=>{// Only auto-sync if:\n// 1. Persistence has initialized (avoid race with form restoration)\n// 2. We're not currently restoring from persistence\n// 3. Phone number is empty\n// 4. Dial code hasn't been manually set\nif(persistenceInitialized.current&&!isRestoringFromPersistence.current&&phoneNumber.length===0&&!dialCodeManuallySet.current){const target=event.target;const countryValue=target.value;if(countryValue&&countries.includes(countryValue)){setSelectedCountry(countryValue);const dialCode=getDialCodeByCountry(countryValue);setCountryCode(dialCode);}}};countryInputs.forEach(input=>{input.addEventListener(\"change\",handleCountryChange);});return()=>{clearTimeout(timeoutId);countryInputs.forEach(input=>{input.removeEventListener(\"change\",handleCountryChange);});};},[hasCC,phoneNumber]);// Close dropdown when clicking outside\nuseEffect(()=>{const handleClickOutside=event=>{const target=event.target;const isOutsideDropdown=dropdownRef.current&&!dropdownRef.current.contains(target);const isOutsideCountryCode=countryCodeRef.current&&!countryCodeRef.current.contains(target);const isPhoneInput=phoneNumberInputRef.current&&phoneNumberInputRef.current.contains(target);if(isOutsideDropdown&&isOutsideCountryCode||isPhoneInput){setCountryDropdownOpen(false);setSearchQuery(\"\");setCountryCodeFocused(false);countryCodeRef.current?.blur();}};if(countryDropdownOpen||countryCodeFocused){document.addEventListener(\"mousedown\",handleClickOutside);return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};}},[countryDropdownOpen,countryCodeFocused]);// Focus search input when dropdown opens\nuseEffect(()=>{if(countryDropdownOpen&&searchInputRef.current){setTimeout(()=>{searchInputRef.current?.focus();},100);}},[countryDropdownOpen]);useEffect(()=>{if(invalid){props.invalidEvent?.();}},[invalid]);// Event handlers\nfunction onPhoneNumberChange(event){const unformatted=unformatValue(event.target.value).substring(0,maxDigits);const currentFormatted=formatPhoneNumber(phoneNumber,phoneFormat);if(!isLastCharacterANumber(currentFormatted)&&event.target.value.length<currentFormatted.length){setPhoneNumber(unformatted.slice(0,-1));}else{setPhoneNumber(unformatted);}}function onCountrySelect(country){setSelectedCountry(country);const dialCode=getDialCodeByCountry(country);setCountryCode(dialCode);// Mark dial code as manually set when user selects from dropdown\ndialCodeManuallySet.current=true;setCountryDropdownOpen(false);setSearchQuery(\"\");setCountryCodeFocused(false);countryCodeRef.current?.blur();setTimeout(()=>{phoneNumberInputRef.current?.focus();},10);}function onCountryCodeClick(){if(!hasCC)return;const willBeOpen=!countryDropdownOpen;setCountryDropdownOpen(willBeOpen);setCountryCodeFocused(willBeOpen);if(invalid){setInvalid(false);}if(willBeOpen){props.focusEvent?.();}else{setTimeout(()=>{setCountryCodeFocused(false);countryCodeRef.current?.blur();},100);}}function onCountryCodeFocus(){setCountryCodeFocused(true);if(invalid){setInvalid(false);}props.focusEvent?.();}function onPhoneNumberKeyDown(event){if(hasCC&&phoneNumber===\"\"){if(event.key===\"Backspace\"){countryCodeRef.current?.focus();}if(event.key===\"ArrowLeft\"){countryCodeRef.current?.focus();event.preventDefault();}}}function onCountryCodeBlur(event){const relatedTarget=event.relatedTarget;if(dropdownRef.current?.contains(relatedTarget)||searchInputRef.current===relatedTarget){return;}if(!countryDropdownOpen){setCountryCodeFocused(false);setSearchQuery(\"\");props.blurEvent?.();}}function onPhoneNumberFocus(){setPhoneNumberFocused(true);setCountryCodeFocused(false);props.focusEvent?.();if(invalid){setInvalid(false);}}function onPhoneNumberBlur(){setPhoneNumberFocused(false);props.blurEvent?.();}// Handle value restoration from FormPersistence\nfunction onSetValueEvent(event){// Mark that we're restoring from persistence to prevent auto-sync from interfering\nisRestoringFromPersistence.current=true;// Mark persistence as initialized immediately\npersistenceInitialized.current=true;const value=event.detail;if(!value){setSelectedCountry(defaultCountry);setCountryCode(defaultDialCode);setPhoneNumber(\"\");dialCodeManuallySet.current=false// Reset when clearing\n;// Re-enable auto-sync after a short delay\nsetTimeout(()=>{isRestoringFromPersistence.current=false;},200);return;}const valueStr=String(value);if(valueStr.startsWith(\"+\")){const match=valueStr.match(/^\\+(\\d+)(?:\\s+(.*))?$/);if(match){const dialCode=match[1];const phonePart=match[2]||\"\";// If dial code matches default and there's no phone number, use default country\n// This prevents issues where dial code \"1\" could map to Canada instead of United States\nif(dialCode===defaultDialCode&&!phonePart){setSelectedCountry(defaultCountry);setCountryCode(defaultDialCode);setPhoneNumber(\"\");dialCodeManuallySet.current=false// Not manually set if using default\n;// Re-enable auto-sync after a short delay\nsetTimeout(()=>{isRestoringFromPersistence.current=false;},200);return;}// For dial code \"1\" with no phone number, prefer \"United States\" over \"Canada\"\n// (since dial code \"1\" is shared by multiple countries)\nlet country=getCountryByDialCode(dialCode);if(dialCode===\"1\"&&!phonePart&&country===\"Canada\"){country=\"United States\";}if(country){setSelectedCountry(country);setCountryCode(dialCode);// Mark as manually set since we're restoring a persisted value\ndialCodeManuallySet.current=true;const restoredFormat=props.formatting===\"auto\"?getPhoneFormatByCountry(country):props.format===\"custom\"?props.customFormat===\"\"?\"XXXXXXXXXX\":props.customFormat:props.format;const restoredMaxDigits=countXCharacters(restoredFormat);setPhoneNumber(unformatValue(phonePart).substring(0,restoredMaxDigits));}else{setCountryCode(dialCode);// Mark as manually set since we're restoring a persisted value\ndialCodeManuallySet.current=true;setPhoneNumber(unformatValue(phonePart).substring(0,maxDigits));}}}else{setPhoneNumber(unformatValue(valueStr).substring(0,maxDigits));}// Re-enable auto-sync after restoration is complete\n// Use a delay to ensure all form fields have been restored\nsetTimeout(()=>{isRestoringFromPersistence.current=false;},200);}return /*#__PURE__*/_jsxs(\"div\",{\"data-framerforms\":true,id:id,style:{display:\"flex\",flexDirection:\"row\",gap:countryCodeOptions?.style===\"split\"?countryCodeOptions.gap:0,...props.style},children:[/*#__PURE__*/_jsx(HiddenInput,{name:props.name,required:props.required,value:props.required&&!isComplete?\"\":hasCC?phoneNumber.length>0?`+${countryCode} ${phoneNumber}`:`+${countryCode}`:phoneNumber,setInvalid:setInvalid,onSetValueEvent:onSetValueEvent}),hasCC&&/*#__PURE__*/_jsx(CountryCodeSelector,{isCanvas:isCanvas,showDropdown:props.showDropdown,countryCodeRef:countryCodeRef,selectedCountryEmoji:selectedCountryEmoji,countryCode:countryCode,countryCodeFocused:countryCodeFocused,countryDropdownOpen:countryDropdownOpen,onCountryCodeClick:onCountryCodeClick,onCountryCodeFocus:onCountryCodeFocus,onCountryCodeBlur:onCountryCodeBlur,countryCodeOptions:countryCodeOptions,ccConnected:ccConnected,padding:props.padding,color:props.color,font:props.font,transition:props.transition,border:border,invalid:invalid,phoneNumberFocused:phoneNumberFocused,radius:props.radius,dropdownRef:dropdownRef,searchInputRef:searchInputRef,searchQuery:searchQuery,onSearchChange:setSearchQuery,filteredCountries:filteredCountries,selectedCountry:selectedCountry,onCountrySelect:onCountrySelect,containerId:id,fill:props.fill,shadows:shadows,bgBlur:props.bgBlur,placeholderColor:props.placeholderColor,dropdownStyle:props.dropdown}),/*#__PURE__*/_jsx(PhoneNumberInputField,{phoneNumberInputRef:phoneNumberInputRef,autoFocus:props.autoFocus,formattedValue:formattedValue,onPhoneNumberChange:onPhoneNumberChange,onPhoneNumberFocus:onPhoneNumberFocus,onPhoneNumberBlur:onPhoneNumberBlur,onPhoneNumberKeyDown:onPhoneNumberKeyDown,placeholder:props.placeholder||replaceXWithNumbers(phoneFormat),padding:props.padding,color:props.color,font:props.font,ccConnected:ccConnected,phoneNumberFocused:phoneNumberFocused,invalid:invalid,border:border,transition:props.transition,fill:props.fill,shadows:shadows,bgBlur:props.bgBlur,radius:props.radius}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:`\n                    #${id} input::placeholder {\n                        color: ${props.placeholderColor};\n                    }\n                    #${id} input:focus {\n                        outline: none;\n                    }`}})]});}PhoneNumberInput.displayName=\"Phone Number Input\";// ============================================================================\n// PROPERTY CONTROLS\n// ============================================================================\naddPropertyControls(PhoneNumberInput,{name:{type:ControlType.String,defaultValue:\"Phone Number\"},showDropdown:{type:ControlType.Boolean,defaultValue:false,title:\"Dropdown\",enabledTitle:\"Show\",disabledTitle:\"Hide\"},dropdown:dropdownProp(),required:{type:ControlType.Boolean,defaultValue:false},autoFocus:{type:ControlType.Boolean,defaultValue:false,title:\"Auto-Focus\"},countryCodeOptions:{type:ControlType.Object,optional:true,defaultValue:{defaultCountry:\"United States\",width:120},title:\"Country Code\",controls:{defaultCountry:{title:\"Default Country\",type:ControlType.Enum,defaultValue:\"United States\",options:countries,optionTitles:countries},width:{type:ControlType.Number,defaultValue:120,min:80,step:1,title:\"Width\"},style:{type:ControlType.Enum,defaultValue:\"divider\",options:[\"connected\",\"divider\",\"split\"],optionTitles:[\"Connected\",\"Divider\",\"Split\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},divider:{type:ControlType.Object,hidden:props=>props.style!==\"divider\",controls:{color:{type:ControlType.Color,defaultValue:\"rgba(136, 136, 136, 0.15)\"},width:{type:ControlType.Number,defaultValue:1,min:1,step:1,displayStepper:true},inset:{type:ControlType.Number,defaultValue:8,min:0,step:1,displayStepper:true}}},gap:{type:ControlType.Number,defaultValue:8,min:0,step:1,hidden:props=>props.style!==\"split\"},icon:iconProp({buttonTitle:\"Caret Icon\",size:16})}},formatting:{type:ControlType.Enum,defaultValue:\"auto\",options:[\"auto\",\"manual\"],optionTitles:[\"Auto (by Country)\",\"Manual\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\",title:\"Formatting\"},format:{type:ControlType.Enum,defaultValue:\"(XXX) XXX - XXXX\",options:[\"(XXX) XXX - XXXX\",\"(XXX) XXX-XXXX\",\"XXX-XXX-XXXX\",\"XXX.XXX.XXXX\",\"XXX XXX XXXX\",\"XXXXXXXXXXX\",\"XX XXXX XXXX\",\"custom\"],optionTitles:[\"(123) 456 - 7890\",\"(123) 456-7890\",\"123-456-7890\",\"123.456.7890\",\"123 456 7890\",\"1234567890\",\"12 3456 7890\",\"Custom Format\"],hidden:props=>props.formatting===\"auto\"},customFormat:{title:\"Custom ->\",type:ControlType.String,defaultValue:\"(XXX) XXX - XXXX\",description:\"*X* -> phone number\",hidden:props=>props.formatting===\"auto\"||props.format!==\"custom\"},placeholder:{type:ControlType.String,defaultValue:\"\",placeholder:\"Auto\"},// Shared style controls - includes placeholderColor with default from SHARED_DEFAULTS\n// Component-specific controls (like placeholder text 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 Dropdown.tsx SHARED_DEFAULTS for all available defaults\n...getSharedStyleControls({placeholderColorTitle:\"Placeholder\",placeholderColorOptional:false,invalid:true})});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PhoneNumberInput\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}