@mirantes-micro/foundation-design-system 1.2.407 → 1.2.409

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ /*! For license information please see 310.bundle.js.LICENSE.txt */
2
+ "use strict";(self.webpackChunk_mirantes_micro_foundation_design_system=self.webpackChunk_mirantes_micro_foundation_design_system||[]).push([[310],{310:(e,n,o)=>{o.r(n),o.d(n,{DynamicContactInput:()=>f});var a=o(6440);const c=(0,o(6910).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);var t=o(6672),d=o(8412),g=o(8646),l=o(4637),m=o(3323);const p=[{code:"+93",countryCode:"AF",flag:"https://flagcdn.com/w20/af.png",name:"Afghanistan"},{code:"+355",countryCode:"AL",flag:"https://flagcdn.com/w20/al.png",name:"Albania"},{code:"+213",countryCode:"DZ",flag:"https://flagcdn.com/w20/dz.png",name:"Algeria"},{code:"+376",countryCode:"AD",flag:"https://flagcdn.com/w20/ad.png",name:"Andorra"},{code:"+244",countryCode:"AO",flag:"https://flagcdn.com/w20/ao.png",name:"Angola"},{code:"+54",countryCode:"AR",flag:"https://flagcdn.com/w20/ar.png",name:"Argentina"},{code:"+374",countryCode:"AM",flag:"https://flagcdn.com/w20/am.png",name:"Armenia"},{code:"+61",countryCode:"AU",flag:"https://flagcdn.com/w20/au.png",name:"Australia"},{code:"+43",countryCode:"AT",flag:"https://flagcdn.com/w20/at.png",name:"Austria"},{code:"+994",countryCode:"AZ",flag:"https://flagcdn.com/w20/az.png",name:"Azerbaijan"},{code:"+973",countryCode:"BH",flag:"https://flagcdn.com/w20/bh.png",name:"Bahrain"},{code:"+880",countryCode:"BD",flag:"https://flagcdn.com/w20/bd.png",name:"Bangladesh"},{code:"+375",countryCode:"BY",flag:"https://flagcdn.com/w20/by.png",name:"Belarus"},{code:"+32",countryCode:"BE",flag:"https://flagcdn.com/w20/be.png",name:"Belgium"},{code:"+501",countryCode:"BZ",flag:"https://flagcdn.com/w20/bz.png",name:"Belize"},{code:"+229",countryCode:"BJ",flag:"https://flagcdn.com/w20/bj.png",name:"Benin"},{code:"+975",countryCode:"BT",flag:"https://flagcdn.com/w20/bt.png",name:"Bhutan"},{code:"+591",countryCode:"BO",flag:"https://flagcdn.com/w20/bo.png",name:"Bolivia"},{code:"+387",countryCode:"BA",flag:"https://flagcdn.com/w20/ba.png",name:"Bosnia and Herzegovina"},{code:"+267",countryCode:"BW",flag:"https://flagcdn.com/w20/bw.png",name:"Botswana"},{code:"+55",countryCode:"BR",flag:"https://flagcdn.com/w20/br.png",name:"Brazil"},{code:"+673",countryCode:"BN",flag:"https://flagcdn.com/w20/bn.png",name:"Brunei"},{code:"+359",countryCode:"BG",flag:"https://flagcdn.com/w20/bg.png",name:"Bulgaria"},{code:"+226",countryCode:"BF",flag:"https://flagcdn.com/w20/bf.png",name:"Burkina Faso"},{code:"+257",countryCode:"BI",flag:"https://flagcdn.com/w20/bi.png",name:"Burundi"},{code:"+855",countryCode:"KH",flag:"https://flagcdn.com/w20/kh.png",name:"Cambodia"},{code:"+237",countryCode:"CM",flag:"https://flagcdn.com/w20/cm.png",name:"Cameroon"},{code:"+1",countryCode:"CA",flag:"https://flagcdn.com/w20/ca.png",name:"Canada"},{code:"+238",countryCode:"CV",flag:"https://flagcdn.com/w20/cv.png",name:"Cape Verde"},{code:"+236",countryCode:"CF",flag:"https://flagcdn.com/w20/cf.png",name:"Central African Republic"},{code:"+235",countryCode:"TD",flag:"https://flagcdn.com/w20/td.png",name:"Chad"},{code:"+56",countryCode:"CL",flag:"https://flagcdn.com/w20/cl.png",name:"Chile"},{code:"+86",countryCode:"CN",flag:"https://flagcdn.com/w20/cn.png",name:"China"},{code:"+57",countryCode:"CO",flag:"https://flagcdn.com/w20/co.png",name:"Colombia"},{code:"+269",countryCode:"KM",flag:"https://flagcdn.com/w20/km.png",name:"Comoros"},{code:"+243",countryCode:"CD",flag:"https://flagcdn.com/w20/cd.png",name:"Congo (DRC)"},{code:"+242",countryCode:"CG",flag:"https://flagcdn.com/w20/cg.png",name:"Congo (Republic)"},{code:"+506",countryCode:"CR",flag:"https://flagcdn.com/w20/cr.png",name:"Costa Rica"},{code:"+385",countryCode:"HR",flag:"https://flagcdn.com/w20/hr.png",name:"Croatia"},{code:"+53",countryCode:"CU",flag:"https://flagcdn.com/w20/cu.png",name:"Cuba"},{code:"+357",countryCode:"CY",flag:"https://flagcdn.com/w20/cy.png",name:"Cyprus"},{code:"+420",countryCode:"CZ",flag:"https://flagcdn.com/w20/cz.png",name:"Czech Republic"},{code:"+45",countryCode:"DK",flag:"https://flagcdn.com/w20/dk.png",name:"Denmark"},{code:"+253",countryCode:"DJ",flag:"https://flagcdn.com/w20/dj.png",name:"Djibouti"},{code:"+670",countryCode:"TL",flag:"https://flagcdn.com/w20/tl.png",name:"East Timor"},{code:"+593",countryCode:"EC",flag:"https://flagcdn.com/w20/ec.png",name:"Ecuador"},{code:"+20",countryCode:"EG",flag:"https://flagcdn.com/w20/eg.png",name:"Egypt"},{code:"+503",countryCode:"SV",flag:"https://flagcdn.com/w20/sv.png",name:"El Salvador"},{code:"+240",countryCode:"GQ",flag:"https://flagcdn.com/w20/gq.png",name:"Equ部分: Equitorial Guinea"},{code:"+291",countryCode:"ER",flag:"https://flagcdn.com/w20/er.png",name:"Eritrea"},{code:"+372",countryCode:"EE",flag:"https://flagcdn.com/w20/ee.png",name:"Estonia"},{code:"+251",countryCode:"ET",flag:"https://flagcdn.com/w20/et.png",name:"Ethiopia"},{code:"+679",countryCode:"FJ",flag:"https://flagcdn.com/w20/fj.png",name:"Fiji"},{code:"+358",countryCode:"FI",flag:"https://flagcdn.com/w20/fi.png",name:"Finland"},{code:"+33",countryCode:"FR",flag:"https://flagcdn.com/w20/fr.png",name:"France"},{code:"+241",countryCode:"GA",flag:"https://flagcdn.com/w20/ga.png",name:"Gabon"},{code:"+220",countryCode:"GM",flag:"https://flagcdn.com/w20/gm.png",name:"Gambia"},{code:"+995",countryCode:"GE",flag:"https://flagcdn.com/w20/ge.png",name:"Georgia"},{code:"+49",countryCode:"DE",flag:"https://flagcdn.com/w20/de.png",name:"Germany"},{code:"+233",countryCode:"GH",flag:"https://flagcdn.com/w20/gh.png",name:"Ghana"},{code:"+30",countryCode:"GR",flag:"https://flagcdn.com/w20/gr.png",name:"Greece"},{code:"+502",countryCode:"GT",flag:"https://flagcdn.com/w20/gt.png",name:"Guatemala"},{code:"+224",countryCode:"GN",flag:"https://flagcdn.com/w20/gn.png",name:"Guinea"},{code:"+245",countryCode:"GW",flag:"https://flagcdn.com/w20/gw.png",name:"Guinea-Bissau"},{code:"+592",countryCode:"GY",flag:"https://flagcdn.com/w20/gy.png",name:"Guyana"},{code:"+509",countryCode:"HT",flag:"https://flagcdn.com/w20/ht.png",name:"Haiti"},{code:"+504",countryCode:"HN",flag:"https://flagcdn.com/w20/hn.png",name:"Honduras"},{code:"+852",countryCode:"HK",flag:"https://flagcdn.com/w20/hk.png",name:"Hong Kong"},{code:"+36",countryCode:"HU",flag:"https://flagcdn.com/w20/hu.png",name:"Hungary"},{code:"+354",countryCode:"IS",flag:"https://flagcdn.com/w20/is.png",name:"Iceland"},{code:"+91",countryCode:"IN",flag:"https://flagcdn.com/w20/in.png",name:"India"},{code:"+62",countryCode:"ID",flag:"https://flagcdn.com/w20/id.png",name:"Indonesia"},{code:"+98",countryCode:"IR",flag:"https://flagcdn.com/w20/ir.png",name:"Iran"},{code:"+964",countryCode:"IQ",flag:"https://flagcdn.com/w20/iq.png",name:"Iraq"},{code:"+353",countryCode:"IE",flag:"https://flagcdn.com/w20/ie.png",name:"Ireland"},{code:"+972",countryCode:"IL",flag:"https://flagcdn.com/w20/il.png",name:"Israel"},{code:"+39",countryCode:"IT",flag:"https://flagcdn.com/w20/it.png",name:"Italy"},{code:"+225",countryCode:"CI",flag:"https://flagcdn.com/w20/ci.png",name:"Ivory Coast"},{code:"+876",countryCode:"JM",flag:"https://flagcdn.com/w20/jm.png",name:"Jamaica"},{code:"+81",countryCode:"JP",flag:"https://flagcdn.com/w20/jp.png",name:"Japan"},{code:"+962",countryCode:"JO",flag:"https://flagcdn.com/w20/jo.png",name:"Jordan"},{code:"+7",countryCode:"KZ",flag:"https://flagcdn.com/w20/kz.png",name:"Kazakhstan"},{code:"+254",countryCode:"KE",flag:"https://flagcdn.com/w20/ke.png",name:"Kenya"},{code:"+686",countryCode:"KI",flag:"https://flagcdn.com/w20/ki.png",name:"Kiribati"},{code:"+965",countryCode:"KW",flag:"https://flagcdn.com/w20/kw.png",name:"Kuwait"},{code:"+996",countryCode:"KG",flag:"https://flagcdn.com/w20/kg.png",name:"Kyrgyzstan"},{code:"+856",countryCode:"LA",flag:"https://flagcdn.com/w20/la.png",name:"Laos"},{code:"+371",countryCode:"LV",flag:"https://flagcdn.com/w20/lv.png",name:"Latvia"},{code:"+961",countryCode:"LB",flag:"https://flagcdn.com/w20/lb.png",name:"Lebanon"},{code:"+266",countryCode:"LS",flag:"https://flagcdn.com/w20/ls.png",name:"Lesotho"},{code:"+231",countryCode:"LR",flag:"https://flagcdn.com/w20/lr.png",name:"Liberia"},{code:"+218",countryCode:"LY",flag:"https://flagcdn.com/w20/ly.png",name:"Libya"},{code:"+423",countryCode:"LI",flag:"https://flagcdn.com/w20/li.png",name:"Liechtenstein"},{code:"+370",countryCode:"LT",flag:"https://flagcdn.com/w20/lt.png",name:"Lithuania"},{code:"+352",countryCode:"LU",flag:"https://flagcdn.com/w20/lu.png",name:"Luxembourg"},{code:"+853",countryCode:"MO",flag:"https://flagcdn.com/w20/mo.png",name:"Macau"},{code:"+389",countryCode:"MK",flag:"https://flagcdn.com/w20/mk.png",name:"Macedonia"},{code:"+261",countryCode:"MG",flag:"https://flagcdn.com/w20/mg.png",name:"Madagascar"},{code:"+265",countryCode:"MW",flag:"https://flagcdn.com/w20/mw.png",name:"Malawi"},{code:"+60",countryCode:"MY",flag:"https://flagcdn.com/w20/my.png",name:"Malaysia"},{code:"+960",countryCode:"MV",flag:"https://flagcdn.com/w20/mv.png",name:"Maldives"},{code:"+223",countryCode:"ML",flag:"https://flagcdn.com/w20/ml.png",name:"Mali"},{code:"+356",countryCode:"MT",flag:"https://flagcdn.com/w20/mt.png",name:"Malta"},{code:"+692",countryCode:"MH",flag:"https://flagcdn.com/w20/mh.png",name:"Marshall Islands"},{code:"+222",countryCode:"MR",flag:"https://flagcdn.com/w20/mr.png",name:"Mauritania"},{code:"+230",countryCode:"MU",flag:"https://flagcdn.com/w20/mu.png",name:"Mauritius"},{code:"+52",countryCode:"MX",flag:"https://flagcdn.com/w20/mx.png",name:"Mexico"},{code:"+691",countryCode:"FM",flag:"https://flagcdn.com/w20/fm.png",name:"Micronesia"},{code:"+373",countryCode:"MD",flag:"https://flagcdn.com/w20/md.png",name:"Moldova"},{code:"+377",countryCode:"MC",flag:"https://flagcdn.com/w20/mc.png",name:"Monaco"},{code:"+976",countryCode:"MN",flag:"https://flagcdn.com/w20/mn.png",name:"Mongolia"},{code:"+382",countryCode:"ME",flag:"https://flagcdn.com/w20/me.png",name:"Montenegro"},{code:"+212",countryCode:"MA",flag:"https://flagcdn.com/w20/ma.png",name:"Morocco"},{code:"+258",countryCode:"MZ",flag:"https://flagcdn.com/w20/mz.png",name:"Mozambique"},{code:"+95",countryCode:"MM",flag:"https://flagcdn.com/w20/mm.png",name:"Myanmar"},{code:"+264",countryCode:"NA",flag:"https://flagcdn.com/w20/na.png",name:"Namibia"},{code:"+674",countryCode:"NR",flag:"https://flagcdn.com/w20/nr.png",name:"Nauru"},{code:"+977",countryCode:"NP",flag:"https://flagcdn.com/w20/np.png",name:"Nepal"},{code:"+31",countryCode:"NL",flag:"https://flagcdn.com/w20/nl.png",name:"Netherlands"},{code:"+64",countryCode:"NZ",flag:"https://flagcdn.com/w20/nz.png",name:"New Zealand"},{code:"+505",countryCode:"NI",flag:"https://flagcdn.com/w20/ni.png",name:"Nicaragua"},{code:"+227",countryCode:"NE",flag:"https://flagcdn.com/w20/ne.png",name:"Niger"},{code:"+234",countryCode:"NG",flag:"https://flagcdn.com/w20/ng.png",name:"Nigeria"},{code:"+47",countryCode:"NO",flag:"https://flagcdn.com/w20/no.png",name:"Norway"},{code:"+968",countryCode:"OM",flag:"https://flagcdn.com/w20/om.png",name:"Oman"},{code:"+92",countryCode:"PK",flag:"https://flagcdn.com/w20/pk.png",name:"Pakistan"},{code:"+680",countryCode:"PW",flag:"https://flagcdn.com/w20/pw.png",name:"Palau"},{code:"+507",countryCode:"PA",flag:"https://flagcdn.com/w20/pa.png",name:"Panama"},{code:"+675",countryCode:"PG",flag:"https://flagcdn.com/w20/pg.png",name:"Papua New Guinea"},{code:"+595",countryCode:"PY",flag:"https://flagcdn.com/w20/py.png",name:"Paraguay"},{code:"+51",countryCode:"PE",flag:"https://flagcdn.com/w20/pe.png",name:"Peru"},{code:"+63",countryCode:"PH",flag:"https://flagcdn.com/w20/ph.png",name:"Philippines"},{code:"+48",countryCode:"PL",flag:"https://flagcdn.com/w20/pl.png",name:"Poland"},{code:"+351",countryCode:"PT",flag:"https://flagcdn.com/w20/pt.png",name:"Portugal"},{code:"+974",countryCode:"QA",flag:"https://flagcdn.com/w20/qa.png",name:"Qatar"},{code:"+40",countryCode:"RO",flag:"https://flagcdn.com/w20/ro.png",name:"Romania"},{code:"+7",countryCode:"RU",flag:"https://flagcdn.com/w20/ru.png",name:"Russia"},{code:"+250",countryCode:"RW",flag:"https://flagcdn.com/w20/rw.png",name:"Rwanda"},{code:"+966",countryCode:"SA",flag:"https://flagcdn.com/w20/sa.png",name:"Saudi Arabia"},{code:"+221",countryCode:"SN",flag:"https://flagcdn.com/w20/sn.png",name:"Senegal"},{code:"+381",countryCode:"RS",flag:"https://flagcdn.com/w20/rs.png",name:"Serbia"},{code:"+248",countryCode:"SC",flag:"https://flagcdn.com/w20/sc.png",name:"Seychelles"},{code:"+232",countryCode:"SL",flag:"https://flagcdn.com/w20/sl.png",name:"Sierra Leone"},{code:"+65",countryCode:"SG",flag:"https://flagcdn.com/w20/sg.png",name:"Singapore"},{code:"+421",countryCode:"SK",flag:"https://flagcdn.com/w20/sk.png",name:"Slovakia"},{code:"+386",countryCode:"SI",flag:"https://flagcdn.com/w20/si.png",name:"Slovenia"},{code:"+677",countryCode:"SB",flag:"https://flagcdn.com/w20/sb.png",name:"Solomon Islands"},{code:"+252",countryCode:"SO",flag:"https://flagcdn.com/w20/so.png",name:"Somalia"},{code:"+27",countryCode:"ZA",flag:"https://flagcdn.com/w20/za.png",name:"South Africa"},{code:"+82",countryCode:"KR",flag:"https://flagcdn.com/w20/kr.png",name:"South Korea"},{code:"+211",countryCode:"SS",flag:"https://flagcdn.com/w20/ss.png",name:"South Sudan"},{code:"+34",countryCode:"ES",flag:"https://flagcdn.com/w20/es.png",name:"Spain"},{code:"+94",countryCode:"LK",flag:"https://flagcdn.com/w20/lk.png",name:"Sri Lanka"},{code:"+249",countryCode:"SD",flag:"https://flagcdn.com/w20/sd.png",name:"Sudan"},{code:"+597",countryCode:"SR",flag:"https://flagcdn.com/w20/sr.png",name:"Suriname"},{code:"+268",countryCode:"SZ",flag:"https://flagcdn.com/w20/sz.png",name:"Eswatini"},{code:"+46",countryCode:"SE",flag:"https://flagcdn.com/w20/se.png",name:"Sweden"},{code:"+41",countryCode:"CH",flag:"https://flagcdn.com/w20/ch.png",name:"Switzerland"},{code:"+963",countryCode:"SY",flag:"https://flagcdn.com/w20/sy.png",name:"Syria"},{code:"+886",countryCode:"TW",flag:"https://flagcdn.com/w20/tw.png",name:"Taiwan"},{code:"+992",countryCode:"TJ",flag:"https://flagcdn.com/w20/tj.png",name:"Tajikistan"},{code:"+255",countryCode:"TZ",flag:"https://flagcdn.com/w20/tz.png",name:"Tanzania"},{code:"+66",countryCode:"TH",flag:"https://flagcdn.com/w20/th.png",name:"Thailand"},{code:"+228",countryCode:"TG",flag:"https://flagcdn.com/w20/tg.png",name:"Togo"},{code:"+676",countryCode:"TO",flag:"https://flagcdn.com/w20/to.png",name:"Tonga"},{code:"+216",countryCode:"TN",flag:"https://flagcdn.com/w20/tn.png",name:"Tunisia"},{code:"+90",countryCode:"TR",flag:"https://flagcdn.com/w20/tr.png",name:"Turkey"},{code:"+993",countryCode:"TM",flag:"https://flagcdn.com/w20/tm.png",name:"Turkmenistan"},{code:"+688",countryCode:"TV",flag:"https://flagcdn.com/w20/tv.png",name:"Tuvalu"},{code:"+256",countryCode:"UG",flag:"https://flagcdn.com/w20/ug.png",name:"Uganda"},{code:"+380",countryCode:"UA",flag:"https://flagcdn.com/w20/ua.png",name:"Ukraine"},{code:"+971",countryCode:"AE",flag:"https://flagcdn.com/w20/ae.png",name:"United Arab Emirates"},{code:"+44",countryCode:"GB",flag:"https://flagcdn.com/w20/gb.png",name:"United Kingdom"},{code:"+1",countryCode:"US",flag:"https://flagcdn.com/w20/us.png",name:"United States"},{code:"+598",countryCode:"UY",flag:"https://flagcdn.com/w20/uy.png",name:"Uruguay"},{code:"+998",countryCode:"UZ",flag:"https://flagcdn.com/w20/uz.png",name:"Uzbekistan"},{code:"+678",countryCode:"VU",flag:"https://flagcdn.com/w20/vu.png",name:"Vanuatu"},{code:"+58",countryCode:"VE",flag:"https://flagcdn.com/w20/ve.png",name:"Venezuela"},{code:"+84",countryCode:"VN",flag:"https://flagcdn.com/w20/vn.png",name:"Vietnam"},{code:"+967",countryCode:"YE",flag:"https://flagcdn.com/w20/ye.png",name:"Yemen"},{code:"+260",countryCode:"ZM",flag:"https://flagcdn.com/w20/zm.png",name:"Zambia"},{code:"+263",countryCode:"ZW",flag:"https://flagcdn.com/w20/zw.png",name:"Zimbabwe"}],r=p.find(e=>"Angola"===e.name)??{code:"+244",countryCode:"AO",flag:"https://flagcdn.com/w20/ao.png",name:"Angola"};function f({countries:e=p,defaultCountry:n="+244",phonePlaceholder:o="9487486537 *",searchPlaceholder:f="Angola",showIcons:s=!0,onChange:u,onCountryChange:h,handleChangeCountry:C,value:y,countryCode:i,className:w="",defaultPlaceholder:b,noCountriesMessage:E="No countries found",phoneError:S,error:M,disabled:N=!1,onKeyDown:v}){const{selectedCountry:A,searchQuery:B,dropdownOpen:k,filteredCountries:x,setDropdownOpen:T,handleCountryChange:G,handleSearchChange:I,inputRef:L,setSelectedCountry:R}=function({countries:e=p,defaultCountry:n="+244",defaultInputType:o="phone",onChange:a,onCountryChange:c,countryCode:d}={}){const g=(0,t.useRef)(null),l=n&&e.find(e=>e.code===n)||r,[m,f]=(0,t.useState)(l),[s,u]=(0,t.useState)(""),[h,C]=(0,t.useState)(""),[y,i]=(0,t.useState)(!1),w=h?e.filter(e=>e.name.toLowerCase().includes(h.toLowerCase())||e.code.includes(h)):e;return(0,t.useEffect)(()=>{y||C("")},[y]),(0,t.useEffect)(()=>{const e=g.current;if(e&&s){const n=s.replace(m.code,"");setTimeout(()=>{e.setSelectionRange(n.length,n.length)},0)}},[s,m]),(0,t.useEffect)(()=>{if(d){const n=e.find(e=>e.code===d);if(n&&n.code!==m.code){const e=s.replace(m.code,""),o=n.code+e;f(n),u(o),a&&a(o,"phone"),c&&c(n)}}},[d,e,c,a,m.code,s]),{selectedCountry:m,inputValue:s,searchQuery:h,dropdownOpen:y,filteredCountries:w,setDropdownOpen:i,handleInputChange:e=>{const n=e.replace(/[^0-9]/g,""),o=m.code+n;u(o),a&&a(o,"phone")},handleCountryChange:e=>{f(e),i(!1),C("");const n=s.replace(m.code,""),o=e.code+n;u(o),a&&a(o,"phone"),c&&c(e)},handleSearchChange:e=>{C(e.target.value)},inputRef:g,setSelectedCountry:f}}({countries:e,defaultCountry:n,defaultInputType:"phone",onChange:u,onCountryChange:h,countryCode:i}),[z,K]=(0,t.useState)(void 0),[P,D]=(0,t.useState)(""),O=(0,t.useRef)(null);return(0,t.useEffect)(()=>{if(y){let n=y;e.forEach(e=>{n.startsWith(e.code)&&(n=n.slice(e.code.length))}),D(n)}else D("")},[y,e]),(0,t.useEffect)(()=>{if(!A?.code){const n=e.find(e=>"+244"===e.code)||r;R(n),C?.(n.code),u&&!y&&u(n.code)}},[]),t.createElement("div",{className:"max-w-md w-full",ref:O},t.createElement("div",{className:(0,m.cn)("flex items-center w-full gap-2 relative","border border-input rounded-lg",M||S||z?"border-red-500 focus-within:!border-red-500 focus-within:!ring-red-500 focus-within:!ring-[1px]":"focus-within:border-[#0B89CE] focus-within:ring-[1px] focus-within:ring-[#0B89CE]",N&&"opacity-50 cursor-not-allowed pointer-events-none",w)},t.createElement(l.AM,{open:k,onOpenChange:T,modal:!0},t.createElement(l.Wv,{asChild:!0},t.createElement(d.$,{variant:"ghost",className:"cursor-pointer hover:bg-transparent px-3",disabled:N},t.createElement("img",{src:A.flag,alt:A.code,className:"w-5 h-5"}),t.createElement("span",{className:"mx-1"},A.code),t.createElement(a.A,{className:"w-4 h-4 text-gray-500"}))),t.createElement(l.hl,{side:"bottom",align:"start",sideOffset:5,className:"!bg-white min-w-[220px] max-h-[320px] overflow-hidden overscroll-contain p-0 z-[10000]",style:{zIndex:1e4,position:"fixed"},onOpenAutoFocus:e=>e.preventDefault()},t.createElement("div",{className:"p-2 sticky top-0 bg-white z-10 border-b"},t.createElement("div",{className:"relative"},t.createElement(c,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),t.createElement(g.p,{placeholder:f,value:B,onChange:I,className:"pl-8 h-9",disabled:N}))),t.createElement("div",{className:"max-h-[250px] overflow-y-auto py-1"},x.length>0?x.map(e=>t.createElement("div",{key:`${e.code}-${e.name}`,onClick:()=>(e=>{G(e),C?.(e.code);const n=e.code+P;u?.(n),T(!1)})(e),className:"flex items-center gap-2 cursor-pointer px-2 py-1.5 text-sm hover:bg-gray-100"},t.createElement("img",{src:e.flag,alt:e.name,className:"w-5 h-5"}),t.createElement("span",null,e.name),t.createElement("span",{className:"ml-auto text-gray-500"},e.code))):t.createElement("div",{className:"px-2 py-4 text-center text-sm text-gray-500"},E)))),t.createElement("div",{className:"relative flex-1"},t.createElement(g.p,{type:"tel",value:P,ref:L,onChange:e=>(e=>{const n=e.replace(/[^0-9\s()-]/g,"");K(e!==n?"Only numbers are allowed":void 0),D(n);const o=A.code+n;u?.(o)})(e.target.value),onKeyDown:v,placeholder:b?.length?b:o,className:(0,m.cn)("w-full px-3 text-sm placeholder:text-sm text-dark-1 placeholder:text-gray-shade7 bg-white","border-none shadow-none outline-none",w),disabled:N}))),(M||S||z)&&t.createElement("div",{className:"text-red-500 text-sm mt-1"},z||S||M))}}}]);
3
+ //# sourceMappingURL=310.bundle.js.map
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license lucide-react v0.510.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"310.bundle.js","mappings":";0NASA,MAIAA,GAAe,UAAAC,GAAgB,SAJ/B,CACA,SAAaC,EAAA,mBAAAC,IAAA,WACb,WAAeC,GAAA,KAAAC,GAAA,KAAAC,EAAA,IAAAH,IAAA,mECNR,MAAMI,EAAmC,CAC9C,CACEC,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,0BAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,gBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,KACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,4BAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,oBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,kBAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,4BAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,iBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,KACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,iBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,oBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,oBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,KACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,gBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,gBAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,mBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,gBAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,eAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,YAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,QAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,gBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,wBAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,kBAER,CACEH,KAAM,KACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,iBAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,cAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAER,CACEH,KAAM,MACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,WAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,SAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UAER,CACEH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,aAOGC,EAA+BL,EAAkBM,KAC3DC,GAA6B,WAAjBA,EAAQH,OAClB,CACHH,KAAM,OACNC,YAAa,KACbC,KAAM,iCACNC,KAAM,UCvkCD,SAASI,GAAoBC,UACnCA,EAAYT,EAAiBU,eAC7BA,EAAiB,OAAMC,iBACvBA,EAAmB,eAAcC,kBACjCA,EAAoB,SAAQC,UAC5BA,GAAY,EAAIC,SAChBA,EAAQC,gBACRA,EAAeC,oBACfA,EAAmBC,MACnBA,EAAKf,YACLA,EAAWgB,UACXA,EAAY,GAAEC,mBACdA,EAAkBC,mBAClBA,EAAqB,qBAAoBC,WACzCA,EAAUC,MACVA,EAAKC,SACLA,GAAW,EAAKC,UAChBA,IAWA,MAAMC,gBACLA,EAAeC,YACfA,EAAWC,aACXA,EAAYC,kBACZA,EAAiBC,gBACjBA,EAAeC,oBACfA,EAAmBC,mBACnBA,EAAkBC,SAClBA,EAAQC,mBACRA,GClCK,UAA2BxB,UAChCA,EAAYT,EAAiBU,eAC7BA,EAAiB,OAAMwB,iBACvBA,EAAmB,QAAOpB,SAC1BA,EAAQC,gBACRA,EAAeb,YACfA,GAC0B,IAC1B,MAAM8B,GAAW,EAAAG,EAAAC,QAAyB,MAEpCC,EAAiB3B,GACnBD,EAAUH,KAAMgC,GAAMA,EAAErC,OAASS,IACjCL,GAEGoB,EAAiBQ,IAAsB,EAAAE,EAAAI,UAAsBF,IAC7DG,EAAYC,IAAiB,EAAAN,EAAAI,UAAS,KACtCb,EAAagB,IAAkB,EAAAP,EAAAI,UAAS,KACxCZ,EAAcE,IAAmB,EAAAM,EAAAI,WAAS,GAG3CX,EAAoBF,EACtBjB,EAAUkC,OACTpC,GACCA,EAAQH,KAAKwC,cAAcC,SAASnB,EAAYkB,gBAChDrC,EAAQN,KAAK4C,SAASnB,IAExBjB,EAmFJ,OAxCA,EAAA0B,EAAAW,WAAU,KACHnB,GACHe,EAAe,KAEhB,CAACf,KAGJ,EAAAQ,EAAAW,WAAU,KACR,MAAMC,EAAQf,EAASgB,QACvB,GAAID,GAASP,EAAY,CACvB,MAAMS,EAAaT,EAAWU,QAAQzB,EAAgBxB,KAAM,IAC5DkD,WAAW,KACTJ,EAAMK,kBAAkBH,EAAWI,OAAQJ,EAAWI,SACrD,EACL,GACC,CAACb,EAAYf,KAGhB,EAAAU,EAAAW,WAAU,KACR,GAAI5C,EAAa,CACf,MAAMoD,EAAa7C,EAAUH,KAAMgC,GAAMA,EAAErC,OAASC,GACpD,GAAIoD,GAAcA,EAAWrD,OAASwB,EAAgBxB,KAAM,CAE1D,MAAMgD,EAAaT,EAAWU,QAAQzB,EAAgBxB,KAAM,IACtDsD,EAAYD,EAAWrD,KAAOgD,EAEpChB,EAAmBqB,GACnBb,EAAcc,GAEVzC,GACFA,EAASyC,EAAW,SAGlBxC,GACFA,EAAgBuC,EAEpB,CACF,GACC,CAACpD,EAAaO,EAAWM,EAAiBD,EAAUW,EAAgBxB,KAAMuC,IAEtE,CACLf,kBACAe,aACAd,cACAC,eACAC,oBACAC,kBACA2B,kBAvFyBvC,IAEzB,MAAMgC,EAAahC,EAAMiC,QAAQ,UAAW,IAGtCK,EAAY9B,EAAgBxB,KAAOgD,EAEzCR,EAAcc,GAEVzC,GACFA,EAASyC,EAAW,UA8EtBzB,oBAzE2BvB,IAC3B0B,EAAmB1B,GACnBsB,GAAgB,GAChBa,EAAe,IAGf,MAAMO,EAAaT,EAAWU,QAAQzB,EAAgBxB,KAAM,IACtDsD,EAAYhD,EAAQN,KAAOgD,EACjCR,EAAcc,GAEVzC,GACFA,EAASyC,EAAW,SAGlBxC,GACFA,EAAgBR,IA2DlBwB,mBAtD0B0B,IAC1Bf,EAAee,EAAEC,OAAOzC,QAsDxBe,WACAC,qBAEJ,CDvFK0B,CAAkB,CACrBlD,YACAC,iBACAwB,iBAAkB,QAClBpB,WACAC,kBACAb,iBAGM0D,EAAiBC,IAAsB,EAAA1B,EAAAI,eAC7CuB,IAEMC,EAAcC,IAAmB,EAAA7B,EAAAI,UAAiB,IACnD0B,GAAe,EAAA9B,EAAAC,QAAuB,MAuD5C,OApDA,EAAAD,EAAAW,WAAU,KACT,GAAI7B,EAAO,CACV,IAAIiD,EAAajD,EACjBR,EAAU0D,QAAS5D,IACd2D,EAAWE,WAAW7D,EAAQN,QACjCiE,EAAaA,EAAWG,MAAM9D,EAAQN,KAAKoD,WAG7CW,EAAgBE,EACjB,MACCF,EAAgB,KAEf,CAAC/C,EAAOR,KA2BX,EAAA0B,EAAAW,WAAU,KACT,IAAKrB,GAAiBxB,KAAM,CAC3B,MAAMqE,EACL7D,EAAUH,KAAMC,GAA6B,SAAjBA,EAAQN,OAAoBI,EACzD4B,EAAmBqC,GACnBtD,IAAsBsD,EAAkBrE,MAEpCa,IAAaG,GAChBH,EAASwD,EAAkBrE,KAE7B,GACE,IAGFkC,EAAAoC,cAAA,OAAKrD,UAAU,kBAAkBsD,IAAKP,GACrC9B,EAAAoC,cAAA,OACCrD,WAAW,EAAAuD,EAAAC,IACV,0CACA,iCACApD,GAASD,GAAcuC,EACpB,kGACA,oFACHrC,GAAY,oDACZL,IAGDiB,EAAAoC,cAACI,EAAAC,GAAO,CACPC,KAAMlD,EACNmD,aAAcjD,EACdkD,OAAO,GAEP5C,EAAAoC,cAACI,EAAAK,GAAc,CAACC,SAAO,GACtB9C,EAAAoC,cAACW,EAAAC,EAAM,CACNC,QAAQ,QACRlE,UAAU,2CACVK,SAAUA,GAEVY,EAAAoC,cAAA,OACCc,IAAK5D,EAAgBtB,KACrBmF,IAAK7D,EAAgBxB,KACrBiB,UAAU,YAEXiB,EAAAoC,cAAA,QAAMrD,UAAU,QAAQO,EAAgBxB,MACxCkC,EAAAoC,cAACgB,EAAA7F,EAAW,CAACwB,UAAU,4BAKzBiB,EAAAoC,cAACI,EAAAa,GAAc,CACdC,KAAK,SACLC,MAAM,QACNC,WAAY,EACZzE,UAAU,yFACV0E,MAAO,CACNC,OAAQ,IACRC,SAAU,SAEXC,gBAAkBtC,GAAMA,EAAEuC,kBAE1B7D,EAAAoC,cAAA,OAAKrD,UAAU,2CACdiB,EAAAoC,cAAA,OAAKrD,UAAU,YACdiB,EAAAoC,cAAC9E,EAAM,CAACyB,UAAU,0DAClBiB,EAAAoC,cAACxB,EAAAkD,EAAK,CACLC,YAAatF,EACbK,MAAOS,EACPZ,SAAUiB,EACVb,UAAU,WACVK,SAAUA,MAKbY,EAAAoC,cAAA,OAAKrD,UAAU,sCACbU,EAAkByB,OAAS,EAC3BzB,EAAkBuE,IAAK5F,GACtB4B,EAAAoC,cAAA,OACC3E,IAAK,GAAGW,EAAQN,QAAQM,EAAQH,OAChCgG,QAAS,IAvFU,CAAC7F,IAC5BuB,EAAoBvB,GACpBS,IAAsBT,EAAQN,MAE9B,MAAMsD,EAAYhD,EAAQN,KAAO8D,EACjCjD,IAAWyC,GAEX1B,GAAgB,IAgFOwE,CAAoB9F,GACnCW,UAAU,gFAEViB,EAAAoC,cAAA,OACCc,IAAK9E,EAAQJ,KACbmF,IAAK/E,EAAQH,KACbc,UAAU,YAEXiB,EAAAoC,cAAA,YAAOhE,EAAQH,MACf+B,EAAAoC,cAAA,QAAMrD,UAAU,yBACdX,EAAQN,QAKZkC,EAAAoC,cAAA,OAAKrD,UAAU,+CACbE,MAQNe,EAAAoC,cAAA,OAAKrD,UAAU,mBACdiB,EAAAoC,cAACxB,EAAAkD,EAAK,CACLK,KAAK,MACLrF,MAAO8C,EACPS,IAAKxC,EACLlB,SAAW2C,GAnIc,CAACV,IAC9B,MAAMwD,EAAexD,EAAMG,QAAQ,eAAgB,IAGlDW,EADGd,IAAUwD,EACM,gCAEAzC,GAGpBE,EAAgBuC,GAEhB,MAAMhD,EAAY9B,EAAgBxB,KAAOsG,EACzCzF,IAAWyC,IAuHUiD,CAAsB/C,EAAEC,OAAOzC,OAChDO,UAAWA,EACX0E,YACC/E,GAAoBkC,OAASlC,EAAqBR,EAEnDO,WAAW,EAAAuD,EAAAC,IACV,4FACA,uCACAxD,GAEDK,SAAUA,OAKXD,GAASD,GAAcuC,IACxBzB,EAAAoC,cAAA,OAAKrD,UAAU,6BACb0C,GAAmBvC,GAAcC,GAKvC","sources":["webpack://@mirantes-micro/foundation-design-system/./node_modules/.pnpm/lucide-react@0.510.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/search.js","webpack://@mirantes-micro/foundation-design-system/./src/components/fromMirantes/dynamic-input/countries.ts","webpack://@mirantes-micro/foundation-design-system/./src/components/fromMirantes/dynamic-input/dynamic-input.tsx","webpack://@mirantes-micro/foundation-design-system/./src/components/fromMirantes/dynamic-input/use-dynamic-contact.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.510.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n];\nconst Search = createLucideIcon(\"search\", __iconNode);\n\nexport { __iconNode, Search as default };\n//# sourceMappingURL=search.js.map\n","import type { CountryCode } from \"./types\";\r\n\r\n/**\r\n * Default list of country codes\r\n */\r\nexport const DEFAULT_COUNTRIES: CountryCode[] = [\r\n {\r\n code: \"+93\",\r\n countryCode: \"AF\",\r\n flag: \"https://flagcdn.com/w20/af.png\",\r\n name: \"Afghanistan\",\r\n },\r\n {\r\n code: \"+355\",\r\n countryCode: \"AL\",\r\n flag: \"https://flagcdn.com/w20/al.png\",\r\n name: \"Albania\",\r\n },\r\n {\r\n code: \"+213\",\r\n countryCode: \"DZ\",\r\n flag: \"https://flagcdn.com/w20/dz.png\",\r\n name: \"Algeria\",\r\n },\r\n {\r\n code: \"+376\",\r\n countryCode: \"AD\",\r\n flag: \"https://flagcdn.com/w20/ad.png\",\r\n name: \"Andorra\",\r\n },\r\n {\r\n code: \"+244\",\r\n countryCode: \"AO\",\r\n flag: \"https://flagcdn.com/w20/ao.png\",\r\n name: \"Angola\",\r\n },\r\n {\r\n code: \"+54\",\r\n countryCode: \"AR\",\r\n flag: \"https://flagcdn.com/w20/ar.png\",\r\n name: \"Argentina\",\r\n },\r\n {\r\n code: \"+374\",\r\n countryCode: \"AM\",\r\n flag: \"https://flagcdn.com/w20/am.png\",\r\n name: \"Armenia\",\r\n },\r\n {\r\n code: \"+61\",\r\n countryCode: \"AU\",\r\n flag: \"https://flagcdn.com/w20/au.png\",\r\n name: \"Australia\",\r\n },\r\n {\r\n code: \"+43\",\r\n countryCode: \"AT\",\r\n flag: \"https://flagcdn.com/w20/at.png\",\r\n name: \"Austria\",\r\n },\r\n {\r\n code: \"+994\",\r\n countryCode: \"AZ\",\r\n flag: \"https://flagcdn.com/w20/az.png\",\r\n name: \"Azerbaijan\",\r\n },\r\n {\r\n code: \"+973\",\r\n countryCode: \"BH\",\r\n flag: \"https://flagcdn.com/w20/bh.png\",\r\n name: \"Bahrain\",\r\n },\r\n {\r\n code: \"+880\",\r\n countryCode: \"BD\",\r\n flag: \"https://flagcdn.com/w20/bd.png\",\r\n name: \"Bangladesh\",\r\n },\r\n {\r\n code: \"+375\",\r\n countryCode: \"BY\",\r\n flag: \"https://flagcdn.com/w20/by.png\",\r\n name: \"Belarus\",\r\n },\r\n {\r\n code: \"+32\",\r\n countryCode: \"BE\",\r\n flag: \"https://flagcdn.com/w20/be.png\",\r\n name: \"Belgium\",\r\n },\r\n {\r\n code: \"+501\",\r\n countryCode: \"BZ\",\r\n flag: \"https://flagcdn.com/w20/bz.png\",\r\n name: \"Belize\",\r\n },\r\n {\r\n code: \"+229\",\r\n countryCode: \"BJ\",\r\n flag: \"https://flagcdn.com/w20/bj.png\",\r\n name: \"Benin\",\r\n },\r\n {\r\n code: \"+975\",\r\n countryCode: \"BT\",\r\n flag: \"https://flagcdn.com/w20/bt.png\",\r\n name: \"Bhutan\",\r\n },\r\n {\r\n code: \"+591\",\r\n countryCode: \"BO\",\r\n flag: \"https://flagcdn.com/w20/bo.png\",\r\n name: \"Bolivia\",\r\n },\r\n {\r\n code: \"+387\",\r\n countryCode: \"BA\",\r\n flag: \"https://flagcdn.com/w20/ba.png\",\r\n name: \"Bosnia and Herzegovina\",\r\n },\r\n {\r\n code: \"+267\",\r\n countryCode: \"BW\",\r\n flag: \"https://flagcdn.com/w20/bw.png\",\r\n name: \"Botswana\",\r\n },\r\n {\r\n code: \"+55\",\r\n countryCode: \"BR\",\r\n flag: \"https://flagcdn.com/w20/br.png\",\r\n name: \"Brazil\",\r\n },\r\n {\r\n code: \"+673\",\r\n countryCode: \"BN\",\r\n flag: \"https://flagcdn.com/w20/bn.png\",\r\n name: \"Brunei\",\r\n },\r\n {\r\n code: \"+359\",\r\n countryCode: \"BG\",\r\n flag: \"https://flagcdn.com/w20/bg.png\",\r\n name: \"Bulgaria\",\r\n },\r\n {\r\n code: \"+226\",\r\n countryCode: \"BF\",\r\n flag: \"https://flagcdn.com/w20/bf.png\",\r\n name: \"Burkina Faso\",\r\n },\r\n {\r\n code: \"+257\",\r\n countryCode: \"BI\",\r\n flag: \"https://flagcdn.com/w20/bi.png\",\r\n name: \"Burundi\",\r\n },\r\n {\r\n code: \"+855\",\r\n countryCode: \"KH\",\r\n flag: \"https://flagcdn.com/w20/kh.png\",\r\n name: \"Cambodia\",\r\n },\r\n {\r\n code: \"+237\",\r\n countryCode: \"CM\",\r\n flag: \"https://flagcdn.com/w20/cm.png\",\r\n name: \"Cameroon\",\r\n },\r\n {\r\n code: \"+1\",\r\n countryCode: \"CA\",\r\n flag: \"https://flagcdn.com/w20/ca.png\",\r\n name: \"Canada\",\r\n },\r\n {\r\n code: \"+238\",\r\n countryCode: \"CV\",\r\n flag: \"https://flagcdn.com/w20/cv.png\",\r\n name: \"Cape Verde\",\r\n },\r\n {\r\n code: \"+236\",\r\n countryCode: \"CF\",\r\n flag: \"https://flagcdn.com/w20/cf.png\",\r\n name: \"Central African Republic\",\r\n },\r\n {\r\n code: \"+235\",\r\n countryCode: \"TD\",\r\n flag: \"https://flagcdn.com/w20/td.png\",\r\n name: \"Chad\",\r\n },\r\n {\r\n code: \"+56\",\r\n countryCode: \"CL\",\r\n flag: \"https://flagcdn.com/w20/cl.png\",\r\n name: \"Chile\",\r\n },\r\n {\r\n code: \"+86\",\r\n countryCode: \"CN\",\r\n flag: \"https://flagcdn.com/w20/cn.png\",\r\n name: \"China\",\r\n },\r\n {\r\n code: \"+57\",\r\n countryCode: \"CO\",\r\n flag: \"https://flagcdn.com/w20/co.png\",\r\n name: \"Colombia\",\r\n },\r\n {\r\n code: \"+269\",\r\n countryCode: \"KM\",\r\n flag: \"https://flagcdn.com/w20/km.png\",\r\n name: \"Comoros\",\r\n },\r\n {\r\n code: \"+243\",\r\n countryCode: \"CD\",\r\n flag: \"https://flagcdn.com/w20/cd.png\",\r\n name: \"Congo (DRC)\",\r\n },\r\n {\r\n code: \"+242\",\r\n countryCode: \"CG\",\r\n flag: \"https://flagcdn.com/w20/cg.png\",\r\n name: \"Congo (Republic)\",\r\n },\r\n {\r\n code: \"+506\",\r\n countryCode: \"CR\",\r\n flag: \"https://flagcdn.com/w20/cr.png\",\r\n name: \"Costa Rica\",\r\n },\r\n {\r\n code: \"+385\",\r\n countryCode: \"HR\",\r\n flag: \"https://flagcdn.com/w20/hr.png\",\r\n name: \"Croatia\",\r\n },\r\n {\r\n code: \"+53\",\r\n countryCode: \"CU\",\r\n flag: \"https://flagcdn.com/w20/cu.png\",\r\n name: \"Cuba\",\r\n },\r\n {\r\n code: \"+357\",\r\n countryCode: \"CY\",\r\n flag: \"https://flagcdn.com/w20/cy.png\",\r\n name: \"Cyprus\",\r\n },\r\n {\r\n code: \"+420\",\r\n countryCode: \"CZ\",\r\n flag: \"https://flagcdn.com/w20/cz.png\",\r\n name: \"Czech Republic\",\r\n },\r\n {\r\n code: \"+45\",\r\n countryCode: \"DK\",\r\n flag: \"https://flagcdn.com/w20/dk.png\",\r\n name: \"Denmark\",\r\n },\r\n {\r\n code: \"+253\",\r\n countryCode: \"DJ\",\r\n flag: \"https://flagcdn.com/w20/dj.png\",\r\n name: \"Djibouti\",\r\n },\r\n {\r\n code: \"+670\",\r\n countryCode: \"TL\",\r\n flag: \"https://flagcdn.com/w20/tl.png\",\r\n name: \"East Timor\",\r\n },\r\n {\r\n code: \"+593\",\r\n countryCode: \"EC\",\r\n flag: \"https://flagcdn.com/w20/ec.png\",\r\n name: \"Ecuador\",\r\n },\r\n {\r\n code: \"+20\",\r\n countryCode: \"EG\",\r\n flag: \"https://flagcdn.com/w20/eg.png\",\r\n name: \"Egypt\",\r\n },\r\n {\r\n code: \"+503\",\r\n countryCode: \"SV\",\r\n flag: \"https://flagcdn.com/w20/sv.png\",\r\n name: \"El Salvador\",\r\n },\r\n {\r\n code: \"+240\",\r\n countryCode: \"GQ\",\r\n flag: \"https://flagcdn.com/w20/gq.png\",\r\n name: \"Equ部分: Equitorial Guinea\",\r\n },\r\n {\r\n code: \"+291\",\r\n countryCode: \"ER\",\r\n flag: \"https://flagcdn.com/w20/er.png\",\r\n name: \"Eritrea\",\r\n },\r\n {\r\n code: \"+372\",\r\n countryCode: \"EE\",\r\n flag: \"https://flagcdn.com/w20/ee.png\",\r\n name: \"Estonia\",\r\n },\r\n {\r\n code: \"+251\",\r\n countryCode: \"ET\",\r\n flag: \"https://flagcdn.com/w20/et.png\",\r\n name: \"Ethiopia\",\r\n },\r\n {\r\n code: \"+679\",\r\n countryCode: \"FJ\",\r\n flag: \"https://flagcdn.com/w20/fj.png\",\r\n name: \"Fiji\",\r\n },\r\n {\r\n code: \"+358\",\r\n countryCode: \"FI\",\r\n flag: \"https://flagcdn.com/w20/fi.png\",\r\n name: \"Finland\",\r\n },\r\n {\r\n code: \"+33\",\r\n countryCode: \"FR\",\r\n flag: \"https://flagcdn.com/w20/fr.png\",\r\n name: \"France\",\r\n },\r\n {\r\n code: \"+241\",\r\n countryCode: \"GA\",\r\n flag: \"https://flagcdn.com/w20/ga.png\",\r\n name: \"Gabon\",\r\n },\r\n {\r\n code: \"+220\",\r\n countryCode: \"GM\",\r\n flag: \"https://flagcdn.com/w20/gm.png\",\r\n name: \"Gambia\",\r\n },\r\n {\r\n code: \"+995\",\r\n countryCode: \"GE\",\r\n flag: \"https://flagcdn.com/w20/ge.png\",\r\n name: \"Georgia\",\r\n },\r\n {\r\n code: \"+49\",\r\n countryCode: \"DE\",\r\n flag: \"https://flagcdn.com/w20/de.png\",\r\n name: \"Germany\",\r\n },\r\n {\r\n code: \"+233\",\r\n countryCode: \"GH\",\r\n flag: \"https://flagcdn.com/w20/gh.png\",\r\n name: \"Ghana\",\r\n },\r\n {\r\n code: \"+30\",\r\n countryCode: \"GR\",\r\n flag: \"https://flagcdn.com/w20/gr.png\",\r\n name: \"Greece\",\r\n },\r\n {\r\n code: \"+502\",\r\n countryCode: \"GT\",\r\n flag: \"https://flagcdn.com/w20/gt.png\",\r\n name: \"Guatemala\",\r\n },\r\n {\r\n code: \"+224\",\r\n countryCode: \"GN\",\r\n flag: \"https://flagcdn.com/w20/gn.png\",\r\n name: \"Guinea\",\r\n },\r\n {\r\n code: \"+245\",\r\n countryCode: \"GW\",\r\n flag: \"https://flagcdn.com/w20/gw.png\",\r\n name: \"Guinea-Bissau\",\r\n },\r\n {\r\n code: \"+592\",\r\n countryCode: \"GY\",\r\n flag: \"https://flagcdn.com/w20/gy.png\",\r\n name: \"Guyana\",\r\n },\r\n {\r\n code: \"+509\",\r\n countryCode: \"HT\",\r\n flag: \"https://flagcdn.com/w20/ht.png\",\r\n name: \"Haiti\",\r\n },\r\n {\r\n code: \"+504\",\r\n countryCode: \"HN\",\r\n flag: \"https://flagcdn.com/w20/hn.png\",\r\n name: \"Honduras\",\r\n },\r\n {\r\n code: \"+852\",\r\n countryCode: \"HK\",\r\n flag: \"https://flagcdn.com/w20/hk.png\",\r\n name: \"Hong Kong\",\r\n },\r\n {\r\n code: \"+36\",\r\n countryCode: \"HU\",\r\n flag: \"https://flagcdn.com/w20/hu.png\",\r\n name: \"Hungary\",\r\n },\r\n {\r\n code: \"+354\",\r\n countryCode: \"IS\",\r\n flag: \"https://flagcdn.com/w20/is.png\",\r\n name: \"Iceland\",\r\n },\r\n {\r\n code: \"+91\",\r\n countryCode: \"IN\",\r\n flag: \"https://flagcdn.com/w20/in.png\",\r\n name: \"India\",\r\n },\r\n {\r\n code: \"+62\",\r\n countryCode: \"ID\",\r\n flag: \"https://flagcdn.com/w20/id.png\",\r\n name: \"Indonesia\",\r\n },\r\n {\r\n code: \"+98\",\r\n countryCode: \"IR\",\r\n flag: \"https://flagcdn.com/w20/ir.png\",\r\n name: \"Iran\",\r\n },\r\n {\r\n code: \"+964\",\r\n countryCode: \"IQ\",\r\n flag: \"https://flagcdn.com/w20/iq.png\",\r\n name: \"Iraq\",\r\n },\r\n {\r\n code: \"+353\",\r\n countryCode: \"IE\",\r\n flag: \"https://flagcdn.com/w20/ie.png\",\r\n name: \"Ireland\",\r\n },\r\n {\r\n code: \"+972\",\r\n countryCode: \"IL\",\r\n flag: \"https://flagcdn.com/w20/il.png\",\r\n name: \"Israel\",\r\n },\r\n {\r\n code: \"+39\",\r\n countryCode: \"IT\",\r\n flag: \"https://flagcdn.com/w20/it.png\",\r\n name: \"Italy\",\r\n },\r\n {\r\n code: \"+225\",\r\n countryCode: \"CI\",\r\n flag: \"https://flagcdn.com/w20/ci.png\",\r\n name: \"Ivory Coast\",\r\n },\r\n {\r\n code: \"+876\",\r\n countryCode: \"JM\",\r\n flag: \"https://flagcdn.com/w20/jm.png\",\r\n name: \"Jamaica\",\r\n },\r\n {\r\n code: \"+81\",\r\n countryCode: \"JP\",\r\n flag: \"https://flagcdn.com/w20/jp.png\",\r\n name: \"Japan\",\r\n },\r\n {\r\n code: \"+962\",\r\n countryCode: \"JO\",\r\n flag: \"https://flagcdn.com/w20/jo.png\",\r\n name: \"Jordan\",\r\n },\r\n {\r\n code: \"+7\",\r\n countryCode: \"KZ\",\r\n flag: \"https://flagcdn.com/w20/kz.png\",\r\n name: \"Kazakhstan\",\r\n },\r\n {\r\n code: \"+254\",\r\n countryCode: \"KE\",\r\n flag: \"https://flagcdn.com/w20/ke.png\",\r\n name: \"Kenya\",\r\n },\r\n {\r\n code: \"+686\",\r\n countryCode: \"KI\",\r\n flag: \"https://flagcdn.com/w20/ki.png\",\r\n name: \"Kiribati\",\r\n },\r\n {\r\n code: \"+965\",\r\n countryCode: \"KW\",\r\n flag: \"https://flagcdn.com/w20/kw.png\",\r\n name: \"Kuwait\",\r\n },\r\n {\r\n code: \"+996\",\r\n countryCode: \"KG\",\r\n flag: \"https://flagcdn.com/w20/kg.png\",\r\n name: \"Kyrgyzstan\",\r\n },\r\n {\r\n code: \"+856\",\r\n countryCode: \"LA\",\r\n flag: \"https://flagcdn.com/w20/la.png\",\r\n name: \"Laos\",\r\n },\r\n {\r\n code: \"+371\",\r\n countryCode: \"LV\",\r\n flag: \"https://flagcdn.com/w20/lv.png\",\r\n name: \"Latvia\",\r\n },\r\n {\r\n code: \"+961\",\r\n countryCode: \"LB\",\r\n flag: \"https://flagcdn.com/w20/lb.png\",\r\n name: \"Lebanon\",\r\n },\r\n {\r\n code: \"+266\",\r\n countryCode: \"LS\",\r\n flag: \"https://flagcdn.com/w20/ls.png\",\r\n name: \"Lesotho\",\r\n },\r\n {\r\n code: \"+231\",\r\n countryCode: \"LR\",\r\n flag: \"https://flagcdn.com/w20/lr.png\",\r\n name: \"Liberia\",\r\n },\r\n {\r\n code: \"+218\",\r\n countryCode: \"LY\",\r\n flag: \"https://flagcdn.com/w20/ly.png\",\r\n name: \"Libya\",\r\n },\r\n {\r\n code: \"+423\",\r\n countryCode: \"LI\",\r\n flag: \"https://flagcdn.com/w20/li.png\",\r\n name: \"Liechtenstein\",\r\n },\r\n {\r\n code: \"+370\",\r\n countryCode: \"LT\",\r\n flag: \"https://flagcdn.com/w20/lt.png\",\r\n name: \"Lithuania\",\r\n },\r\n {\r\n code: \"+352\",\r\n countryCode: \"LU\",\r\n flag: \"https://flagcdn.com/w20/lu.png\",\r\n name: \"Luxembourg\",\r\n },\r\n {\r\n code: \"+853\",\r\n countryCode: \"MO\",\r\n flag: \"https://flagcdn.com/w20/mo.png\",\r\n name: \"Macau\",\r\n },\r\n {\r\n code: \"+389\",\r\n countryCode: \"MK\",\r\n flag: \"https://flagcdn.com/w20/mk.png\",\r\n name: \"Macedonia\",\r\n },\r\n {\r\n code: \"+261\",\r\n countryCode: \"MG\",\r\n flag: \"https://flagcdn.com/w20/mg.png\",\r\n name: \"Madagascar\",\r\n },\r\n {\r\n code: \"+265\",\r\n countryCode: \"MW\",\r\n flag: \"https://flagcdn.com/w20/mw.png\",\r\n name: \"Malawi\",\r\n },\r\n {\r\n code: \"+60\",\r\n countryCode: \"MY\",\r\n flag: \"https://flagcdn.com/w20/my.png\",\r\n name: \"Malaysia\",\r\n },\r\n {\r\n code: \"+960\",\r\n countryCode: \"MV\",\r\n flag: \"https://flagcdn.com/w20/mv.png\",\r\n name: \"Maldives\",\r\n },\r\n {\r\n code: \"+223\",\r\n countryCode: \"ML\",\r\n flag: \"https://flagcdn.com/w20/ml.png\",\r\n name: \"Mali\",\r\n },\r\n {\r\n code: \"+356\",\r\n countryCode: \"MT\",\r\n flag: \"https://flagcdn.com/w20/mt.png\",\r\n name: \"Malta\",\r\n },\r\n {\r\n code: \"+692\",\r\n countryCode: \"MH\",\r\n flag: \"https://flagcdn.com/w20/mh.png\",\r\n name: \"Marshall Islands\",\r\n },\r\n {\r\n code: \"+222\",\r\n countryCode: \"MR\",\r\n flag: \"https://flagcdn.com/w20/mr.png\",\r\n name: \"Mauritania\",\r\n },\r\n {\r\n code: \"+230\",\r\n countryCode: \"MU\",\r\n flag: \"https://flagcdn.com/w20/mu.png\",\r\n name: \"Mauritius\",\r\n },\r\n {\r\n code: \"+52\",\r\n countryCode: \"MX\",\r\n flag: \"https://flagcdn.com/w20/mx.png\",\r\n name: \"Mexico\",\r\n },\r\n {\r\n code: \"+691\",\r\n countryCode: \"FM\",\r\n flag: \"https://flagcdn.com/w20/fm.png\",\r\n name: \"Micronesia\",\r\n },\r\n {\r\n code: \"+373\",\r\n countryCode: \"MD\",\r\n flag: \"https://flagcdn.com/w20/md.png\",\r\n name: \"Moldova\",\r\n },\r\n {\r\n code: \"+377\",\r\n countryCode: \"MC\",\r\n flag: \"https://flagcdn.com/w20/mc.png\",\r\n name: \"Monaco\",\r\n },\r\n {\r\n code: \"+976\",\r\n countryCode: \"MN\",\r\n flag: \"https://flagcdn.com/w20/mn.png\",\r\n name: \"Mongolia\",\r\n },\r\n {\r\n code: \"+382\",\r\n countryCode: \"ME\",\r\n flag: \"https://flagcdn.com/w20/me.png\",\r\n name: \"Montenegro\",\r\n },\r\n {\r\n code: \"+212\",\r\n countryCode: \"MA\",\r\n flag: \"https://flagcdn.com/w20/ma.png\",\r\n name: \"Morocco\",\r\n },\r\n {\r\n code: \"+258\",\r\n countryCode: \"MZ\",\r\n flag: \"https://flagcdn.com/w20/mz.png\",\r\n name: \"Mozambique\",\r\n },\r\n {\r\n code: \"+95\",\r\n countryCode: \"MM\",\r\n flag: \"https://flagcdn.com/w20/mm.png\",\r\n name: \"Myanmar\",\r\n },\r\n {\r\n code: \"+264\",\r\n countryCode: \"NA\",\r\n flag: \"https://flagcdn.com/w20/na.png\",\r\n name: \"Namibia\",\r\n },\r\n {\r\n code: \"+674\",\r\n countryCode: \"NR\",\r\n flag: \"https://flagcdn.com/w20/nr.png\",\r\n name: \"Nauru\",\r\n },\r\n {\r\n code: \"+977\",\r\n countryCode: \"NP\",\r\n flag: \"https://flagcdn.com/w20/np.png\",\r\n name: \"Nepal\",\r\n },\r\n {\r\n code: \"+31\",\r\n countryCode: \"NL\",\r\n flag: \"https://flagcdn.com/w20/nl.png\",\r\n name: \"Netherlands\",\r\n },\r\n {\r\n code: \"+64\",\r\n countryCode: \"NZ\",\r\n flag: \"https://flagcdn.com/w20/nz.png\",\r\n name: \"New Zealand\",\r\n },\r\n {\r\n code: \"+505\",\r\n countryCode: \"NI\",\r\n flag: \"https://flagcdn.com/w20/ni.png\",\r\n name: \"Nicaragua\",\r\n },\r\n {\r\n code: \"+227\",\r\n countryCode: \"NE\",\r\n flag: \"https://flagcdn.com/w20/ne.png\",\r\n name: \"Niger\",\r\n },\r\n {\r\n code: \"+234\",\r\n countryCode: \"NG\",\r\n flag: \"https://flagcdn.com/w20/ng.png\",\r\n name: \"Nigeria\",\r\n },\r\n {\r\n code: \"+47\",\r\n countryCode: \"NO\",\r\n flag: \"https://flagcdn.com/w20/no.png\",\r\n name: \"Norway\",\r\n },\r\n {\r\n code: \"+968\",\r\n countryCode: \"OM\",\r\n flag: \"https://flagcdn.com/w20/om.png\",\r\n name: \"Oman\",\r\n },\r\n {\r\n code: \"+92\",\r\n countryCode: \"PK\",\r\n flag: \"https://flagcdn.com/w20/pk.png\",\r\n name: \"Pakistan\",\r\n },\r\n {\r\n code: \"+680\",\r\n countryCode: \"PW\",\r\n flag: \"https://flagcdn.com/w20/pw.png\",\r\n name: \"Palau\",\r\n },\r\n {\r\n code: \"+507\",\r\n countryCode: \"PA\",\r\n flag: \"https://flagcdn.com/w20/pa.png\",\r\n name: \"Panama\",\r\n },\r\n {\r\n code: \"+675\",\r\n countryCode: \"PG\",\r\n flag: \"https://flagcdn.com/w20/pg.png\",\r\n name: \"Papua New Guinea\",\r\n },\r\n {\r\n code: \"+595\",\r\n countryCode: \"PY\",\r\n flag: \"https://flagcdn.com/w20/py.png\",\r\n name: \"Paraguay\",\r\n },\r\n {\r\n code: \"+51\",\r\n countryCode: \"PE\",\r\n flag: \"https://flagcdn.com/w20/pe.png\",\r\n name: \"Peru\",\r\n },\r\n {\r\n code: \"+63\",\r\n countryCode: \"PH\",\r\n flag: \"https://flagcdn.com/w20/ph.png\",\r\n name: \"Philippines\",\r\n },\r\n {\r\n code: \"+48\",\r\n countryCode: \"PL\",\r\n flag: \"https://flagcdn.com/w20/pl.png\",\r\n name: \"Poland\",\r\n },\r\n {\r\n code: \"+351\",\r\n countryCode: \"PT\",\r\n flag: \"https://flagcdn.com/w20/pt.png\",\r\n name: \"Portugal\",\r\n },\r\n {\r\n code: \"+974\",\r\n countryCode: \"QA\",\r\n flag: \"https://flagcdn.com/w20/qa.png\",\r\n name: \"Qatar\",\r\n },\r\n {\r\n code: \"+40\",\r\n countryCode: \"RO\",\r\n flag: \"https://flagcdn.com/w20/ro.png\",\r\n name: \"Romania\",\r\n },\r\n {\r\n code: \"+7\",\r\n countryCode: \"RU\",\r\n flag: \"https://flagcdn.com/w20/ru.png\",\r\n name: \"Russia\",\r\n },\r\n {\r\n code: \"+250\",\r\n countryCode: \"RW\",\r\n flag: \"https://flagcdn.com/w20/rw.png\",\r\n name: \"Rwanda\",\r\n },\r\n {\r\n code: \"+966\",\r\n countryCode: \"SA\",\r\n flag: \"https://flagcdn.com/w20/sa.png\",\r\n name: \"Saudi Arabia\",\r\n },\r\n {\r\n code: \"+221\",\r\n countryCode: \"SN\",\r\n flag: \"https://flagcdn.com/w20/sn.png\",\r\n name: \"Senegal\",\r\n },\r\n {\r\n code: \"+381\",\r\n countryCode: \"RS\",\r\n flag: \"https://flagcdn.com/w20/rs.png\",\r\n name: \"Serbia\",\r\n },\r\n {\r\n code: \"+248\",\r\n countryCode: \"SC\",\r\n flag: \"https://flagcdn.com/w20/sc.png\",\r\n name: \"Seychelles\",\r\n },\r\n {\r\n code: \"+232\",\r\n countryCode: \"SL\",\r\n flag: \"https://flagcdn.com/w20/sl.png\",\r\n name: \"Sierra Leone\",\r\n },\r\n {\r\n code: \"+65\",\r\n countryCode: \"SG\",\r\n flag: \"https://flagcdn.com/w20/sg.png\",\r\n name: \"Singapore\",\r\n },\r\n {\r\n code: \"+421\",\r\n countryCode: \"SK\",\r\n flag: \"https://flagcdn.com/w20/sk.png\",\r\n name: \"Slovakia\",\r\n },\r\n {\r\n code: \"+386\",\r\n countryCode: \"SI\",\r\n flag: \"https://flagcdn.com/w20/si.png\",\r\n name: \"Slovenia\",\r\n },\r\n {\r\n code: \"+677\",\r\n countryCode: \"SB\",\r\n flag: \"https://flagcdn.com/w20/sb.png\",\r\n name: \"Solomon Islands\",\r\n },\r\n {\r\n code: \"+252\",\r\n countryCode: \"SO\",\r\n flag: \"https://flagcdn.com/w20/so.png\",\r\n name: \"Somalia\",\r\n },\r\n {\r\n code: \"+27\",\r\n countryCode: \"ZA\",\r\n flag: \"https://flagcdn.com/w20/za.png\",\r\n name: \"South Africa\",\r\n },\r\n {\r\n code: \"+82\",\r\n countryCode: \"KR\",\r\n flag: \"https://flagcdn.com/w20/kr.png\",\r\n name: \"South Korea\",\r\n },\r\n {\r\n code: \"+211\",\r\n countryCode: \"SS\",\r\n flag: \"https://flagcdn.com/w20/ss.png\",\r\n name: \"South Sudan\",\r\n },\r\n {\r\n code: \"+34\",\r\n countryCode: \"ES\",\r\n flag: \"https://flagcdn.com/w20/es.png\",\r\n name: \"Spain\",\r\n },\r\n {\r\n code: \"+94\",\r\n countryCode: \"LK\",\r\n flag: \"https://flagcdn.com/w20/lk.png\",\r\n name: \"Sri Lanka\",\r\n },\r\n {\r\n code: \"+249\",\r\n countryCode: \"SD\",\r\n flag: \"https://flagcdn.com/w20/sd.png\",\r\n name: \"Sudan\",\r\n },\r\n {\r\n code: \"+597\",\r\n countryCode: \"SR\",\r\n flag: \"https://flagcdn.com/w20/sr.png\",\r\n name: \"Suriname\",\r\n },\r\n {\r\n code: \"+268\",\r\n countryCode: \"SZ\",\r\n flag: \"https://flagcdn.com/w20/sz.png\",\r\n name: \"Eswatini\",\r\n },\r\n {\r\n code: \"+46\",\r\n countryCode: \"SE\",\r\n flag: \"https://flagcdn.com/w20/se.png\",\r\n name: \"Sweden\",\r\n },\r\n {\r\n code: \"+41\",\r\n countryCode: \"CH\",\r\n flag: \"https://flagcdn.com/w20/ch.png\",\r\n name: \"Switzerland\",\r\n },\r\n {\r\n code: \"+963\",\r\n countryCode: \"SY\",\r\n flag: \"https://flagcdn.com/w20/sy.png\",\r\n name: \"Syria\",\r\n },\r\n {\r\n code: \"+886\",\r\n countryCode: \"TW\",\r\n flag: \"https://flagcdn.com/w20/tw.png\",\r\n name: \"Taiwan\",\r\n },\r\n {\r\n code: \"+992\",\r\n countryCode: \"TJ\",\r\n flag: \"https://flagcdn.com/w20/tj.png\",\r\n name: \"Tajikistan\",\r\n },\r\n {\r\n code: \"+255\",\r\n countryCode: \"TZ\",\r\n flag: \"https://flagcdn.com/w20/tz.png\",\r\n name: \"Tanzania\",\r\n },\r\n {\r\n code: \"+66\",\r\n countryCode: \"TH\",\r\n flag: \"https://flagcdn.com/w20/th.png\",\r\n name: \"Thailand\",\r\n },\r\n {\r\n code: \"+228\",\r\n countryCode: \"TG\",\r\n flag: \"https://flagcdn.com/w20/tg.png\",\r\n name: \"Togo\",\r\n },\r\n {\r\n code: \"+676\",\r\n countryCode: \"TO\",\r\n flag: \"https://flagcdn.com/w20/to.png\",\r\n name: \"Tonga\",\r\n },\r\n {\r\n code: \"+216\",\r\n countryCode: \"TN\",\r\n flag: \"https://flagcdn.com/w20/tn.png\",\r\n name: \"Tunisia\",\r\n },\r\n {\r\n code: \"+90\",\r\n countryCode: \"TR\",\r\n flag: \"https://flagcdn.com/w20/tr.png\",\r\n name: \"Turkey\",\r\n },\r\n {\r\n code: \"+993\",\r\n countryCode: \"TM\",\r\n flag: \"https://flagcdn.com/w20/tm.png\",\r\n name: \"Turkmenistan\",\r\n },\r\n {\r\n code: \"+688\",\r\n countryCode: \"TV\",\r\n flag: \"https://flagcdn.com/w20/tv.png\",\r\n name: \"Tuvalu\",\r\n },\r\n {\r\n code: \"+256\",\r\n countryCode: \"UG\",\r\n flag: \"https://flagcdn.com/w20/ug.png\",\r\n name: \"Uganda\",\r\n },\r\n {\r\n code: \"+380\",\r\n countryCode: \"UA\",\r\n flag: \"https://flagcdn.com/w20/ua.png\",\r\n name: \"Ukraine\",\r\n },\r\n {\r\n code: \"+971\",\r\n countryCode: \"AE\",\r\n flag: \"https://flagcdn.com/w20/ae.png\",\r\n name: \"United Arab Emirates\",\r\n },\r\n {\r\n code: \"+44\",\r\n countryCode: \"GB\",\r\n flag: \"https://flagcdn.com/w20/gb.png\",\r\n name: \"United Kingdom\",\r\n },\r\n {\r\n code: \"+1\",\r\n countryCode: \"US\",\r\n flag: \"https://flagcdn.com/w20/us.png\",\r\n name: \"United States\",\r\n },\r\n {\r\n code: \"+598\",\r\n countryCode: \"UY\",\r\n flag: \"https://flagcdn.com/w20/uy.png\",\r\n name: \"Uruguay\",\r\n },\r\n {\r\n code: \"+998\",\r\n countryCode: \"UZ\",\r\n flag: \"https://flagcdn.com/w20/uz.png\",\r\n name: \"Uzbekistan\",\r\n },\r\n {\r\n code: \"+678\",\r\n countryCode: \"VU\",\r\n flag: \"https://flagcdn.com/w20/vu.png\",\r\n name: \"Vanuatu\",\r\n },\r\n {\r\n code: \"+58\",\r\n countryCode: \"VE\",\r\n flag: \"https://flagcdn.com/w20/ve.png\",\r\n name: \"Venezuela\",\r\n },\r\n {\r\n code: \"+84\",\r\n countryCode: \"VN\",\r\n flag: \"https://flagcdn.com/w20/vn.png\",\r\n name: \"Vietnam\",\r\n },\r\n {\r\n code: \"+967\",\r\n countryCode: \"YE\",\r\n flag: \"https://flagcdn.com/w20/ye.png\",\r\n name: \"Yemen\",\r\n },\r\n {\r\n code: \"+260\",\r\n countryCode: \"ZM\",\r\n flag: \"https://flagcdn.com/w20/zm.png\",\r\n name: \"Zambia\",\r\n },\r\n {\r\n code: \"+263\",\r\n countryCode: \"ZW\",\r\n flag: \"https://flagcdn.com/w20/zw.png\",\r\n name: \"Zimbabwe\",\r\n },\r\n];\r\n\r\n/**\r\n * Default country code (Angola)\r\n */\r\nexport const DEFAULT_COUNTRY: CountryCode = DEFAULT_COUNTRIES.find(\r\n (country) => country.name === \"Angola\"\r\n) ?? {\r\n code: \"+244\",\r\n countryCode: \"AO\",\r\n flag: \"https://flagcdn.com/w20/ao.png\",\r\n name: \"Angola\",\r\n};\r\n","import { ChevronDown, Search } from \"lucide-react\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Button } from \"../../../components/ui/button\";\r\nimport { Input } from \"../../../components/ui/input\";\r\nimport {\r\n\tPopover,\r\n\tPopoverContent,\r\n\tPopoverTrigger,\r\n} from \"../../../components/ui/popover\";\r\nimport { cn } from \"../../../lib/utils\";\r\nimport { DEFAULT_COUNTRIES, DEFAULT_COUNTRY } from \"./countries\";\r\nimport type { CountryCode, DynamicContactInputProps } from \"./types\";\r\nimport { useDynamicContact } from \"./use-dynamic-contact\";\r\n\r\nexport function DynamicContactInput({\r\n\tcountries = DEFAULT_COUNTRIES,\r\n\tdefaultCountry = \"+244\",\r\n\tphonePlaceholder = \"9487486537 *\",\r\n\tsearchPlaceholder = \"Angola\",\r\n\tshowIcons = true,\r\n\tonChange,\r\n\tonCountryChange,\r\n\thandleChangeCountry,\r\n\tvalue,\r\n\tcountryCode,\r\n\tclassName = \"\",\r\n\tdefaultPlaceholder,\r\n\tnoCountriesMessage = \"No countries found\",\r\n\tphoneError,\r\n\terror,\r\n\tdisabled = false,\r\n\tonKeyDown, // ✅ NEW — forwarded Enter handler\r\n}: Omit<\r\n\tDynamicContactInputProps,\r\n\t\"defaultInputType\" | \"emailPlaceholder\" | \"emailIcon\"\r\n> & {\r\n\terror?: string;\r\n\tdisabled?: boolean;\r\n\thandleChangeCountry?: (countryCode: string) => void;\r\n\tcountryCode?: string;\r\n\tonKeyDown?: React.KeyboardEventHandler<HTMLInputElement>; // 🔥 Add proper typing\r\n}) {\r\n\tconst {\r\n\t\tselectedCountry,\r\n\t\tsearchQuery,\r\n\t\tdropdownOpen,\r\n\t\tfilteredCountries,\r\n\t\tsetDropdownOpen,\r\n\t\thandleCountryChange,\r\n\t\thandleSearchChange,\r\n\t\tinputRef,\r\n\t\tsetSelectedCountry,\r\n\t} = useDynamicContact({\r\n\t\tcountries,\r\n\t\tdefaultCountry,\r\n\t\tdefaultInputType: \"phone\",\r\n\t\tonChange,\r\n\t\tonCountryChange,\r\n\t\tcountryCode,\r\n\t});\r\n\r\n\tconst [localPhoneError, setLocalPhoneError] = useState<string | undefined>(\r\n\t\tundefined,\r\n\t);\r\n\tconst [displayValue, setDisplayValue] = useState<string>(\"\");\r\n\tconst containerRef = useRef<HTMLDivElement>(null);\r\n\r\n\t// Extract phone number without country code for display\r\n\tuseEffect(() => {\r\n\t\tif (value) {\r\n\t\t\tlet numberOnly = value;\r\n\t\t\tcountries.forEach((country) => {\r\n\t\t\t\tif (numberOnly.startsWith(country.code)) {\r\n\t\t\t\t\tnumberOnly = numberOnly.slice(country.code.length);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tsetDisplayValue(numberOnly);\r\n\t\t} else {\r\n\t\t\tsetDisplayValue(\"\");\r\n\t\t}\r\n\t}, [value, countries]);\r\n\r\n\tconst handleInputValidation = (input: string) => {\r\n\t\tconst cleanedInput = input.replace(/[^0-9\\s()-]/g, \"\");\r\n\r\n\t\tif (input !== cleanedInput) {\r\n\t\t\tsetLocalPhoneError(\"Only numbers are allowed\");\r\n\t\t} else {\r\n\t\t\tsetLocalPhoneError(undefined);\r\n\t\t}\r\n\r\n\t\tsetDisplayValue(cleanedInput);\r\n\r\n\t\tconst fullValue = selectedCountry.code + cleanedInput;\r\n\t\tonChange?.(fullValue);\r\n\t};\r\n\r\n\tconst handleCountrySelect = (country: CountryCode) => {\r\n\t\thandleCountryChange(country);\r\n\t\thandleChangeCountry?.(country.code);\r\n\r\n\t\tconst fullValue = country.code + displayValue;\r\n\t\tonChange?.(fullValue);\r\n\r\n\t\tsetDropdownOpen(false);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!selectedCountry?.code) {\r\n\t\t\tconst defaultCountryObj =\r\n\t\t\t\tcountries.find((country) => country.code === \"+244\") || DEFAULT_COUNTRY;\r\n\t\t\tsetSelectedCountry(defaultCountryObj);\r\n\t\t\thandleChangeCountry?.(defaultCountryObj.code);\r\n\r\n\t\t\tif (onChange && !value) {\r\n\t\t\t\tonChange(defaultCountryObj.code);\r\n\t\t\t}\r\n\t\t}\r\n\t}, []);\r\n\r\n\treturn (\r\n\t\t<div className=\"max-w-md w-full\" ref={containerRef}>\r\n\t\t\t<div\r\n\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\"flex items-center w-full gap-2 relative\",\r\n\t\t\t\t\t\"border border-input rounded-lg\",\r\n\t\t\t\t\terror || phoneError || localPhoneError\r\n\t\t\t\t\t\t? \"border-red-500 focus-within:!border-red-500 focus-within:!ring-red-500 focus-within:!ring-[1px]\"\r\n\t\t\t\t\t\t: \"focus-within:border-[#0B89CE] focus-within:ring-[1px] focus-within:ring-[#0B89CE]\",\r\n\t\t\t\t\tdisabled && \"opacity-50 cursor-not-allowed pointer-events-none\",\r\n\t\t\t\t\tclassName,\r\n\t\t\t\t)}\r\n\t\t\t>\r\n\t\t\t\t<Popover\r\n\t\t\t\t\topen={dropdownOpen}\r\n\t\t\t\t\tonOpenChange={setDropdownOpen}\r\n\t\t\t\t\tmodal={true}\r\n\t\t\t\t>\r\n\t\t\t\t\t<PopoverTrigger asChild>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tvariant=\"ghost\"\r\n\t\t\t\t\t\t\tclassName=\"cursor-pointer hover:bg-transparent px-3\"\r\n\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\tsrc={selectedCountry.flag}\r\n\t\t\t\t\t\t\t\talt={selectedCountry.code}\r\n\t\t\t\t\t\t\t\tclassName=\"w-5 h-5\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<span className=\"mx-1\">{selectedCountry.code}</span>\r\n\t\t\t\t\t\t\t<ChevronDown className=\"w-4 h-4 text-gray-500\" />\r\n\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t</PopoverTrigger>\r\n\r\n\t\t\t\t\t{/* Popup Countries List */}\r\n\t\t\t\t\t<PopoverContent\r\n\t\t\t\t\t\tside=\"bottom\"\r\n\t\t\t\t\t\talign=\"start\"\r\n\t\t\t\t\t\tsideOffset={5}\r\n\t\t\t\t\t\tclassName=\"!bg-white min-w-[220px] max-h-[320px] overflow-hidden overscroll-contain p-0 z-[10000]\"\r\n\t\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t\tzIndex: 10000,\r\n\t\t\t\t\t\t\tposition: \"fixed\",\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tonOpenAutoFocus={(e) => e.preventDefault()}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div className=\"p-2 sticky top-0 bg-white z-10 border-b\">\r\n\t\t\t\t\t\t\t<div className=\"relative\">\r\n\t\t\t\t\t\t\t\t<Search className=\"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground\" />\r\n\t\t\t\t\t\t\t\t<Input\r\n\t\t\t\t\t\t\t\t\tplaceholder={searchPlaceholder}\r\n\t\t\t\t\t\t\t\t\tvalue={searchQuery}\r\n\t\t\t\t\t\t\t\t\tonChange={handleSearchChange}\r\n\t\t\t\t\t\t\t\t\tclassName=\"pl-8 h-9\"\r\n\t\t\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div className=\"max-h-[250px] overflow-y-auto py-1\">\r\n\t\t\t\t\t\t\t{filteredCountries.length > 0 ? (\r\n\t\t\t\t\t\t\t\tfilteredCountries.map((country) => (\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\tkey={`${country.code}-${country.name}`}\r\n\t\t\t\t\t\t\t\t\t\tonClick={() => handleCountrySelect(country)}\r\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex items-center gap-2 cursor-pointer px-2 py-1.5 text-sm hover:bg-gray-100\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\tsrc={country.flag}\r\n\t\t\t\t\t\t\t\t\t\t\talt={country.name}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"w-5 h-5\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<span>{country.name}</span>\r\n\t\t\t\t\t\t\t\t\t\t<span className=\"ml-auto text-gray-500\">\r\n\t\t\t\t\t\t\t\t\t\t\t{country.code}\r\n\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t<div className=\"px-2 py-4 text-center text-sm text-gray-500\">\r\n\t\t\t\t\t\t\t\t\t{noCountriesMessage}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</PopoverContent>\r\n\t\t\t\t</Popover>\r\n\r\n\t\t\t\t{/* PHONE INPUT */}\r\n\t\t\t\t<div className=\"relative flex-1\">\r\n\t\t\t\t\t<Input\r\n\t\t\t\t\t\ttype=\"tel\"\r\n\t\t\t\t\t\tvalue={displayValue}\r\n\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\tonChange={(e) => handleInputValidation(e.target.value)}\r\n\t\t\t\t\t\tonKeyDown={onKeyDown}\r\n\t\t\t\t\t\tplaceholder={\r\n\t\t\t\t\t\t\tdefaultPlaceholder?.length ? defaultPlaceholder : phonePlaceholder\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tclassName={cn(\r\n\t\t\t\t\t\t\t\"w-full px-3 text-sm placeholder:text-sm text-dark-1 placeholder:text-gray-shade7 bg-white\",\r\n\t\t\t\t\t\t\t\"border-none shadow-none outline-none\",\r\n\t\t\t\t\t\t\tclassName,\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t{(error || phoneError || localPhoneError) && (\r\n\t\t\t\t<div className=\"text-red-500 text-sm mt-1\">\r\n\t\t\t\t\t{localPhoneError || phoneError || error}\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}\r\n","\"use client\";\r\n\r\nimport type React from \"react\";\r\nimport { useState, useEffect, useRef } from \"react\";\r\nimport type { CountryCode, } from \"./types\";\r\nimport { DEFAULT_COUNTRIES, DEFAULT_COUNTRY } from \"./countries\";\r\nimport { InputType } from \"zlib\";\r\n\r\nexport interface UseDynamicContactProps {\r\n countries?: CountryCode[];\r\n defaultCountry?: string;\r\n defaultInputType?: InputType;\r\n onChange?: (value: string, type: InputType) => void;\r\n onCountryChange?: (country: CountryCode) => void;\r\n countryCode?: string;\r\n}\r\n\r\nexport function useDynamicContact({\r\n countries = DEFAULT_COUNTRIES,\r\n defaultCountry = \"+244\", // Angola by default\r\n defaultInputType = \"phone\",\r\n onChange,\r\n onCountryChange,\r\n countryCode,\r\n}: UseDynamicContactProps = {}) {\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n const initialCountry = defaultCountry\r\n ? countries.find((c) => c.code === defaultCountry) || DEFAULT_COUNTRY\r\n : DEFAULT_COUNTRY;\r\n\r\n const [selectedCountry, setSelectedCountry] = useState<CountryCode>(initialCountry);\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [searchQuery, setSearchQuery] = useState(\"\");\r\n const [dropdownOpen, setDropdownOpen] = useState(false);\r\n\r\n // Filter countries based on search query\r\n const filteredCountries = searchQuery\r\n ? countries.filter(\r\n (country) =>\r\n country.name.toLowerCase().includes(searchQuery.toLowerCase()) ||\r\n country.code.includes(searchQuery)\r\n )\r\n : countries;\r\n\r\n // Handle input changes - always returns phone number with country code\r\n const handleInputChange = (value: string) => {\r\n // Extract just the number part (remove non-digits except + for country code)\r\n const numberPart = value.replace(/[^0-9]/g, '');\r\n\r\n // Combine country code with number part\r\n const fullValue = selectedCountry.code + numberPart;\r\n\r\n setInputValue(fullValue);\r\n\r\n if (onChange) {\r\n onChange(fullValue, \"phone\");\r\n }\r\n };\r\n\r\n // Handle country selection from dropdown\r\n const handleCountryChange = (country: CountryCode) => {\r\n setSelectedCountry(country);\r\n setDropdownOpen(false);\r\n setSearchQuery(\"\");\r\n\r\n // Update the input value with new country code\r\n const numberPart = inputValue.replace(selectedCountry.code, '');\r\n const fullValue = country.code + numberPart;\r\n setInputValue(fullValue);\r\n\r\n if (onChange) {\r\n onChange(fullValue, \"phone\");\r\n }\r\n\r\n if (onCountryChange) {\r\n onCountryChange(country);\r\n }\r\n };\r\n\r\n // Handle search input in the country dropdown\r\n const handleSearchChange = (e: React.ChangeEvent<HTMLInputElement>) => {\r\n setSearchQuery(e.target.value);\r\n };\r\n\r\n // Clear search when dropdown closes\r\n useEffect(() => {\r\n if (!dropdownOpen) {\r\n setSearchQuery(\"\");\r\n }\r\n }, [dropdownOpen]);\r\n\r\n // Keep cursor at the end of the input when typing\r\n useEffect(() => {\r\n const input = inputRef.current;\r\n if (input && inputValue) {\r\n const numberPart = inputValue.replace(selectedCountry.code, '');\r\n setTimeout(() => {\r\n input.setSelectionRange(numberPart.length, numberPart.length);\r\n }, 0);\r\n }\r\n }, [inputValue, selectedCountry]);\r\n\r\n // Sync selected country when external countryCode changes\r\n useEffect(() => {\r\n if (countryCode) {\r\n const countryObj = countries.find((c) => c.code === countryCode);\r\n if (countryObj && countryObj.code !== selectedCountry.code) {\r\n // Update country and preserve the number part\r\n const numberPart = inputValue.replace(selectedCountry.code, '');\r\n const fullValue = countryObj.code + numberPart;\r\n\r\n setSelectedCountry(countryObj);\r\n setInputValue(fullValue);\r\n\r\n if (onChange) {\r\n onChange(fullValue, \"phone\");\r\n }\r\n\r\n if (onCountryChange) {\r\n onCountryChange(countryObj);\r\n }\r\n }\r\n }\r\n }, [countryCode, countries, onCountryChange, onChange, selectedCountry.code, inputValue]);\r\n\r\n return {\r\n selectedCountry,\r\n inputValue,\r\n searchQuery,\r\n dropdownOpen,\r\n filteredCountries,\r\n setDropdownOpen,\r\n handleInputChange,\r\n handleCountryChange,\r\n handleSearchChange,\r\n inputRef,\r\n setSelectedCountry,\r\n };\r\n}"],"names":["Search","A","d","key","cx","cy","r","DEFAULT_COUNTRIES","code","countryCode","flag","name","DEFAULT_COUNTRY","find","country","DynamicContactInput","countries","defaultCountry","phonePlaceholder","searchPlaceholder","showIcons","onChange","onCountryChange","handleChangeCountry","value","className","defaultPlaceholder","noCountriesMessage","phoneError","error","disabled","onKeyDown","selectedCountry","searchQuery","dropdownOpen","filteredCountries","setDropdownOpen","handleCountryChange","handleSearchChange","inputRef","setSelectedCountry","defaultInputType","react","useRef","initialCountry","c","useState","inputValue","setInputValue","setSearchQuery","filter","toLowerCase","includes","useEffect","input","current","numberPart","replace","setTimeout","setSelectionRange","length","countryObj","fullValue","handleInputChange","e","target","useDynamicContact","localPhoneError","setLocalPhoneError","undefined","displayValue","setDisplayValue","containerRef","numberOnly","forEach","startsWith","slice","defaultCountryObj","createElement","ref","utils","cn","popover","AM","open","onOpenChange","modal","Wv","asChild","ui_button","$","variant","src","alt","chevron_down","hl","side","align","sideOffset","style","zIndex","position","onOpenAutoFocus","preventDefault","p","placeholder","map","onClick","handleCountrySelect","type","cleanedInput","handleInputValidation"],"sourceRoot":""}