UNPKG

@jmt-code/phone-selector

Version:

Beautiful React component for country selection with flag images, phone input validation, and elegant glassmorphism design. Features dynamic mask templates and 150+ countries support.

3 lines 20.7 kB
'use strict';var react=require('react'),jsxRuntime=require('react/jsx-runtime');function U(i,e){let a=[],d=0;for(let m=0;m<e.length;m++){let t=e[m];t==="9"?d<i.length?(a.push(i[d]),d++):a.push("\xB7"):a.push(t);}return a.join("")}function r(i){return [...i].filter(e=>e==="9").length}function g(i){return (i||"").replace(/\D/g,"")}function M(i,e){let a=U(e,i.mask),d=i.minDigits??r(i.mask),m=i.maxDigits??r(i.mask),t=e.length,u=t>=d&&t<=m;return {formatted:a,isValid:u}}function x(i){return !i||i.length!==2?"https://flagcdn.com/w20/xx.png":`https://flagcdn.com/w20/${i.toLowerCase()}.png`}function y(i){if(!i||i.length!==2)return "\uFFFD";let e={AD:"\u{1F1E6}\u{1F1E9}",AE:"\u{1F1E6}\u{1F1EA}",AF:"\u{1F1E6}\u{1F1EB}",AG:"\u{1F1E6}\u{1F1EC}",AL:"\u{1F1E6}\u{1F1F1}",AM:"\u{1F1E6}\u{1F1F2}",AO:"\u{1F1E6}\u{1F1F4}",AR:"\u{1F1E6}\u{1F1F7}",AT:"\u{1F1E6}\u{1F1F9}",AU:"\u{1F1E6}\u{1F1FA}",AZ:"\u{1F1E6}\u{1F1FF}",BA:"\u{1F1E7}\u{1F1E6}",BB:"\u{1F1E7}\u{1F1E7}",BD:"\u{1F1E7}\u{1F1E9}",BE:"\u{1F1E7}\u{1F1EA}",BF:"\u{1F1E7}\u{1F1EB}",BG:"\u{1F1E7}\u{1F1EC}",BH:"\u{1F1E7}\u{1F1ED}",BI:"\u{1F1E7}\u{1F1EE}",BJ:"\u{1F1E7}\u{1F1EF}",BN:"\u{1F1E7}\u{1F1F3}",BO:"\u{1F1E7}\u{1F1F4}",BR:"\u{1F1E7}\u{1F1F7}",BS:"\u{1F1E7}\u{1F1F8}",BT:"\u{1F1E7}\u{1F1F9}",BW:"\u{1F1E7}\u{1F1FC}",BY:"\u{1F1E7}\u{1F1FE}",BZ:"\u{1F1E7}\u{1F1FF}",CA:"\u{1F1E8}\u{1F1E6}",CD:"\u{1F1E8}\u{1F1E9}",CF:"\u{1F1E8}\u{1F1EB}",CG:"\u{1F1E8}\u{1F1EC}",CH:"\u{1F1E8}\u{1F1ED}",CI:"\u{1F1E8}\u{1F1EE}",CK:"\u{1F1E8}\u{1F1F0}",CL:"\u{1F1E8}\u{1F1F1}",CM:"\u{1F1E8}\u{1F1F2}",CN:"\u{1F1E8}\u{1F1F3}",CO:"\u{1F1E8}\u{1F1F4}",CR:"\u{1F1E8}\u{1F1F7}",CU:"\u{1F1E8}\u{1F1FA}",CV:"\u{1F1E8}\u{1F1FB}",CY:"\u{1F1E8}\u{1F1FE}",CZ:"\u{1F1E8}\u{1F1FF}",DE:"\u{1F1E9}\u{1F1EA}",DJ:"\u{1F1E9}\u{1F1EF}",DK:"\u{1F1E9}\u{1F1F0}",DM:"\u{1F1E9}\u{1F1F2}",DO:"\u{1F1E9}\u{1F1F4}",DZ:"\u{1F1E9}\u{1F1FF}",EC:"\u{1F1EA}\u{1F1E8}",EE:"\u{1F1EA}\u{1F1EA}",EG:"\u{1F1EA}\u{1F1EC}",EH:"\u{1F1EA}\u{1F1ED}",ER:"\u{1F1EA}\u{1F1F7}",ES:"\u{1F1EA}\u{1F1F8}",ET:"\u{1F1EA}\u{1F1F9}",FI:"\u{1F1EB}\u{1F1EE}",FJ:"\u{1F1EB}\u{1F1EF}",FM:"\u{1F1EB}\u{1F1F2}",FO:"\u{1F1EB}\u{1F1F4}",FR:"\u{1F1EB}\u{1F1F7}",GA:"\u{1F1EC}\u{1F1E6}",GB:"\u{1F1EC}\u{1F1E7}",GD:"\u{1F1EC}\u{1F1E9}",GE:"\u{1F1EC}\u{1F1EA}",GG:"\u{1F1EC}\u{1F1EC}",GH:"\u{1F1EC}\u{1F1ED}",GI:"\u{1F1EC}\u{1F1EE}",GL:"\u{1F1EC}\u{1F1F1}",GM:"\u{1F1EC}\u{1F1F2}",GN:"\u{1F1EC}\u{1F1F3}",GQ:"\u{1F1EC}\u{1F1F6}",GR:"\u{1F1EC}\u{1F1F7}",GT:"\u{1F1EC}\u{1F1F9}",GU:"\u{1F1EC}\u{1F1FA}",GW:"\u{1F1EC}\u{1F1FC}",GY:"\u{1F1EC}\u{1F1FE}",HK:"\u{1F1ED}\u{1F1F0}",HN:"\u{1F1ED}\u{1F1F3}",HR:"\u{1F1ED}\u{1F1F7}",HT:"\u{1F1ED}\u{1F1F9}",HU:"\u{1F1ED}\u{1F1FA}",ID:"\u{1F1EE}\u{1F1E9}",IE:"\u{1F1EE}\u{1F1EA}",IL:"\u{1F1EE}\u{1F1F1}",IM:"\u{1F1EE}\u{1F1F2}",IN:"\u{1F1EE}\u{1F1F3}",IQ:"\u{1F1EE}\u{1F1F6}",IR:"\u{1F1EE}\u{1F1F7}",IS:"\u{1F1EE}\u{1F1F8}",IT:"\u{1F1EE}\u{1F1F9}",JE:"\u{1F1EF}\u{1F1EA}",JM:"\u{1F1EF}\u{1F1F2}",JO:"\u{1F1EF}\u{1F1F4}",JP:"\u{1F1EF}\u{1F1F5}",KE:"\u{1F1F0}\u{1F1EA}",KG:"\u{1F1F0}\u{1F1EC}",KH:"\u{1F1F0}\u{1F1ED}",KI:"\u{1F1F0}\u{1F1EE}",KM:"\u{1F1F0}\u{1F1F2}",KN:"\u{1F1F0}\u{1F1F3}",KP:"\u{1F1F0}\u{1F1F5}",KR:"\u{1F1F0}\u{1F1F7}",KW:"\u{1F1F0}\u{1F1FC}",KY:"\u{1F1F0}\u{1F1FE}",KZ:"\u{1F1F0}\u{1F1FF}",LA:"\u{1F1F1}\u{1F1E6}",LB:"\u{1F1F1}\u{1F1E7}",LC:"\u{1F1F1}\u{1F1E8}",LI:"\u{1F1F1}\u{1F1EE}",LK:"\u{1F1F1}\u{1F1F0}",LR:"\u{1F1F1}\u{1F1F7}",LS:"\u{1F1F1}\u{1F1F8}",LT:"\u{1F1F1}\u{1F1F9}",LU:"\u{1F1F1}\u{1F1FA}",LV:"\u{1F1F1}\u{1F1FB}",LY:"\u{1F1F1}\u{1F1FE}",MA:"\u{1F1F2}\u{1F1E6}",MC:"\u{1F1F2}\u{1F1E8}",MD:"\u{1F1F2}\u{1F1E9}",ME:"\u{1F1F2}\u{1F1EA}",MG:"\u{1F1F2}\u{1F1EC}",MH:"\u{1F1F2}\u{1F1ED}",MK:"\u{1F1F2}\u{1F1F0}",ML:"\u{1F1F2}\u{1F1F1}",MM:"\u{1F1F2}\u{1F1F2}",MN:"\u{1F1F2}\u{1F1F3}",MO:"\u{1F1F2}\u{1F1F4}",MP:"\u{1F1F2}\u{1F1F5}",MR:"\u{1F1F2}\u{1F1F7}",MT:"\u{1F1F2}\u{1F1F9}",MU:"\u{1F1F2}\u{1F1FA}",MV:"\u{1F1F2}\u{1F1FB}",MW:"\u{1F1F2}\u{1F1FC}",MX:"\u{1F1F2}\u{1F1FD}",MY:"\u{1F1F2}\u{1F1FE}",MZ:"\u{1F1F2}\u{1F1FF}",NA:"\u{1F1F3}\u{1F1E6}",NC:"\u{1F1F3}\u{1F1E8}",NE:"\u{1F1F3}\u{1F1EA}",NG:"\u{1F1F3}\u{1F1EC}",NI:"\u{1F1F3}\u{1F1EE}",NL:"\u{1F1F3}\u{1F1F1}",NO:"\u{1F1F3}\u{1F1F4}",NP:"\u{1F1F3}\u{1F1F5}",NR:"\u{1F1F3}\u{1F1F7}",NU:"\u{1F1F3}\u{1F1FA}",NZ:"\u{1F1F3}\u{1F1FF}",OM:"\u{1F1F4}\u{1F1F2}",PA:"\u{1F1F5}\u{1F1E6}",PE:"\u{1F1F5}\u{1F1EA}",PF:"\u{1F1F5}\u{1F1EB}",PG:"\u{1F1F5}\u{1F1EC}",PH:"\u{1F1F5}\u{1F1ED}",PK:"\u{1F1F5}\u{1F1F0}",PL:"\u{1F1F5}\u{1F1F1}",PR:"\u{1F1F5}\u{1F1F7}",PS:"\u{1F1F5}\u{1F1F8}",PT:"\u{1F1F5}\u{1F1F9}",PW:"\u{1F1F5}\u{1F1FC}",PY:"\u{1F1F5}\u{1F1FE}",QA:"\u{1F1F6}\u{1F1E6}",RE:"\u{1F1F7}\u{1F1EA}",RO:"\u{1F1F7}\u{1F1F4}",RS:"\u{1F1F7}\u{1F1F8}",RU:"\u{1F1F7}\u{1F1FA}",RW:"\u{1F1F7}\u{1F1FC}",SA:"\u{1F1F8}\u{1F1E6}",SB:"\u{1F1F8}\u{1F1E7}",SC:"\u{1F1F8}\u{1F1E8}",SD:"\u{1F1F8}\u{1F1E9}",SE:"\u{1F1F8}\u{1F1EA}",SG:"\u{1F1F8}\u{1F1EC}",SI:"\u{1F1F8}\u{1F1EE}",SK:"\u{1F1F8}\u{1F1F0}",SL:"\u{1F1F8}\u{1F1F1}",SM:"\u{1F1F8}\u{1F1F2}",SN:"\u{1F1F8}\u{1F1F3}",SO:"\u{1F1F8}\u{1F1F4}",SR:"\u{1F1F8}\u{1F1F7}",SS:"\u{1F1F8}\u{1F1F8}",ST:"\u{1F1F8}\u{1F1F9}",SV:"\u{1F1F8}\u{1F1FB}",SX:"\u{1F1F8}\u{1F1FD}",SY:"\u{1F1F8}\u{1F1FE}",SZ:"\u{1F1F8}\u{1F1FF}",TC:"\u{1F1F9}\u{1F1E8}",TD:"\u{1F1F9}\u{1F1E9}",TG:"\u{1F1F9}\u{1F1EC}",TH:"\u{1F1F9}\u{1F1ED}",TJ:"\u{1F1F9}\u{1F1EF}",TK:"\u{1F1F9}\u{1F1F0}",TL:"\u{1F1F9}\u{1F1F1}",TM:"\u{1F1F9}\u{1F1F2}",TN:"\u{1F1F9}\u{1F1F3}",TO:"\u{1F1F9}\u{1F1F4}",TR:"\u{1F1F9}\u{1F1F7}",TT:"\u{1F1F9}\u{1F1F9}",TV:"\u{1F1F9}\u{1F1FB}",TW:"\u{1F1F9}\u{1F1FC}",TZ:"\u{1F1F9}\u{1F1FF}",UA:"\u{1F1FA}\u{1F1E6}",UG:"\u{1F1FA}\u{1F1EC}",US:"\u{1F1FA}\u{1F1F8}",UY:"\u{1F1FA}\u{1F1FE}",UZ:"\u{1F1FA}\u{1F1FF}",VA:"\u{1F1FB}\u{1F1E6}",VC:"\u{1F1FB}\u{1F1E8}",VE:"\u{1F1FB}\u{1F1EA}",VG:"\u{1F1FB}\u{1F1EC}",VI:"\u{1F1FB}\u{1F1EE}",VN:"\u{1F1FB}\u{1F1F3}",VU:"\u{1F1FB}\u{1F1FA}",WF:"\u{1F1FC}\u{1F1EB}",WS:"\u{1F1FC}\u{1F1F8}",XK:"\u{1F1FD}\u{1F1F0}",YE:"\u{1F1FE}\u{1F1EA}",YT:"\u{1F1FE}\u{1F1F9}",ZA:"\u{1F1FF}\u{1F1E6}",ZM:"\u{1F1FF}\u{1F1F2}",ZW:"\u{1F1FF}\u{1F1FC}"},a=i.toUpperCase();return e[a]||"\u{1F30D}"}var H=[{name:"United States",iso2:"US",dialCode:"+1",mask:"(999) 999-9999"},{name:"Canada",iso2:"CA",dialCode:"+1",mask:"(999) 999-9999"},{name:"Dominican Republic",iso2:"DO",dialCode:"+1",mask:"(999) 999-9999"},{name:"Puerto Rico",iso2:"PR",dialCode:"+1",mask:"(999) 999-9999"},{name:"Jamaica",iso2:"JM",dialCode:"+1",mask:"(999) 999-9999"},{name:"Trinidad and Tobago",iso2:"TT",dialCode:"+1",mask:"(999) 999-9999"},{name:"Barbados",iso2:"BB",dialCode:"+1",mask:"(999) 999-9999"},{name:"Bahamas",iso2:"BS",dialCode:"+1",mask:"(999) 999-9999"},{name:"Saint Lucia",iso2:"LC",dialCode:"+1",mask:"(999) 999-9999"},{name:"Saint Kitts and Nevis",iso2:"KN",dialCode:"+1",mask:"(999) 999-9999"},{name:"Saint Vincent and the Grenadines",iso2:"VC",dialCode:"+1",mask:"(999) 999-9999"},{name:"Grenada",iso2:"GD",dialCode:"+1",mask:"(999) 999-9999"},{name:"Antigua and Barbuda",iso2:"AG",dialCode:"+1",mask:"(999) 999-9999"},{name:"Dominica",iso2:"DM",dialCode:"+1",mask:"(999) 999-9999"},{name:"Cayman Islands",iso2:"KY",dialCode:"+1",mask:"(999) 999-9999"},{name:"Bermuda",iso2:"BM",dialCode:"+1",mask:"(999) 999-9999"},{name:"Turks and Caicos Islands",iso2:"TC",dialCode:"+1",mask:"(999) 999-9999"},{name:"British Virgin Islands",iso2:"VG",dialCode:"+1",mask:"(999) 999-9999"},{name:"U.S. Virgin Islands",iso2:"VI",dialCode:"+1",mask:"(999) 999-9999"},{name:"Guam",iso2:"GU",dialCode:"+1",mask:"(999) 999-9999"},{name:"Northern Mariana Islands",iso2:"MP",dialCode:"+1",mask:"(999) 999-9999"},{name:"Sint Maarten",iso2:"SX",dialCode:"+1",mask:"(999) 999-9999"},{name:"Mexico",iso2:"MX",dialCode:"+52",mask:"99 9999 9999",minDigits:10,maxDigits:10},{name:"Guatemala",iso2:"GT",dialCode:"+502",mask:"9999 9999",minDigits:8,maxDigits:8},{name:"El Salvador",iso2:"SV",dialCode:"+503",mask:"9999 9999",minDigits:8,maxDigits:8},{name:"Honduras",iso2:"HN",dialCode:"+504",mask:"9999 9999",minDigits:8,maxDigits:8},{name:"Nicaragua",iso2:"NI",dialCode:"+505",mask:"9999 9999",minDigits:8,maxDigits:8},{name:"Costa Rica",iso2:"CR",dialCode:"+506",mask:"9999 9999",minDigits:8,maxDigits:8},{name:"Panama",iso2:"PA",dialCode:"+507",mask:"9999 9999",minDigits:8,maxDigits:8},{name:"Belize",iso2:"BZ",dialCode:"+501",mask:"999 9999",minDigits:7,maxDigits:7},{name:"Cuba",iso2:"CU",dialCode:"+53",mask:"9 999 9999",minDigits:8,maxDigits:8},{name:"Haiti",iso2:"HT",dialCode:"+509",mask:"99 99 9999",minDigits:8,maxDigits:8},{name:"Dominican Republic",iso2:"DO",dialCode:"+1",mask:"(999) 999-9999",minDigits:10,maxDigits:10},{name:"Colombia",iso2:"CO",dialCode:"+57",mask:"999 999 9999",minDigits:10,maxDigits:10},{name:"Venezuela",iso2:"VE",dialCode:"+58",mask:"999 999 9999",minDigits:10,maxDigits:10},{name:"Ecuador",iso2:"EC",dialCode:"+593",mask:"99 999 9999",minDigits:8,maxDigits:9},{name:"Peru",iso2:"PE",dialCode:"+51",mask:"999 999 999",minDigits:9,maxDigits:9},{name:"Bolivia",iso2:"BO",dialCode:"+591",mask:"9999 9999",minDigits:8,maxDigits:8},{name:"Paraguay",iso2:"PY",dialCode:"+595",mask:"999 999999",minDigits:9,maxDigits:9},{name:"Uruguay",iso2:"UY",dialCode:"+598",mask:"9999 9999",minDigits:8,maxDigits:8},{name:"Argentina",iso2:"AR",dialCode:"+54",mask:"99 9999 9999",minDigits:10,maxDigits:11},{name:"Chile",iso2:"CL",dialCode:"+56",mask:"9 9999 9999",minDigits:9,maxDigits:9},{name:"Brazil",iso2:"BR",dialCode:"+55",mask:"99 99999 9999",minDigits:10,maxDigits:11},{name:"Guyana",iso2:"GY",dialCode:"+592",mask:"999 9999",minDigits:7,maxDigits:7},{name:"Suriname",iso2:"SR",dialCode:"+597",mask:"999 9999",minDigits:7,maxDigits:7},{name:"Spain",iso2:"ES",dialCode:"+34",mask:"999 999 999",minDigits:9,maxDigits:9},{name:"Portugal",iso2:"PT",dialCode:"+351",mask:"999 999 999",minDigits:9,maxDigits:9},{name:"France",iso2:"FR",dialCode:"+33",mask:"99 99 99 99 99",minDigits:10,maxDigits:10},{name:"Andorra",iso2:"AD",dialCode:"+376",mask:"999 999",minDigits:6,maxDigits:6},{name:"Monaco",iso2:"MC",dialCode:"+377",mask:"99 99 99 99",minDigits:8,maxDigits:8},{name:"Italy",iso2:"IT",dialCode:"+39",mask:"999 999 9999",minDigits:8,maxDigits:11},{name:"San Marino",iso2:"SM",dialCode:"+378",mask:"9999 999999",minDigits:10,maxDigits:10},{name:"Vatican City",iso2:"VA",dialCode:"+39",mask:"99 9999 9999",minDigits:10,maxDigits:10},{name:"United Kingdom",iso2:"GB",dialCode:"+44",mask:"99999 999999",minDigits:10,maxDigits:11},{name:"Ireland",iso2:"IE",dialCode:"+353",mask:"99 999 9999",minDigits:8,maxDigits:9},{name:"Iceland",iso2:"IS",dialCode:"+354",mask:"999 9999",minDigits:7,maxDigits:7},{name:"Norway",iso2:"NO",dialCode:"+47",mask:"999 99 999",minDigits:8,maxDigits:8},{name:"Sweden",iso2:"SE",dialCode:"+46",mask:"99 999 99 99",minDigits:9,maxDigits:9},{name:"Finland",iso2:"FI",dialCode:"+358",mask:"99 999 9999",minDigits:9,maxDigits:10},{name:"Denmark",iso2:"DK",dialCode:"+45",mask:"99 99 99 99",minDigits:8,maxDigits:8},{name:"Netherlands",iso2:"NL",dialCode:"+31",mask:"9 9999 9999",minDigits:9,maxDigits:9},{name:"Belgium",iso2:"BE",dialCode:"+32",mask:"999 99 99 99",minDigits:8,maxDigits:9},{name:"Germany",iso2:"DE",dialCode:"+49",mask:"9999 9999999",minDigits:10,maxDigits:12},{name:"Poland",iso2:"PL",dialCode:"+48",mask:"999 999 999",minDigits:9,maxDigits:9},{name:"Czechia",iso2:"CZ",dialCode:"+420",mask:"999 999 999",minDigits:9,maxDigits:9},{name:"Slovakia",iso2:"SK",dialCode:"+421",mask:"999 999 999",minDigits:9,maxDigits:9},{name:"Austria",iso2:"AT",dialCode:"+43",mask:"999 9999999",minDigits:10,maxDigits:11},{name:"Switzerland",iso2:"CH",dialCode:"+41",mask:"99 999 99 99",minDigits:9,maxDigits:9},{name:"Hungary",iso2:"HU",dialCode:"+36",mask:"99 999 9999",minDigits:8,maxDigits:9},{name:"Slovenia",iso2:"SI",dialCode:"+386",mask:"99 999 999",minDigits:8,maxDigits:8},{name:"Croatia",iso2:"HR",dialCode:"+385"},{name:"Bosnia and Herzegovina",iso2:"BA",dialCode:"+387"},{name:"Serbia",iso2:"RS",dialCode:"+381"},{name:"Montenegro",iso2:"ME",dialCode:"+382"},{name:"Kosovo",iso2:"XK",dialCode:"+383"},{name:"North Macedonia",iso2:"MK",dialCode:"+389"},{name:"Albania",iso2:"AL",dialCode:"+355"},{name:"Greece",iso2:"GR",dialCode:"+30"},{name:"Romania",iso2:"RO",dialCode:"+40"},{name:"Bulgaria",iso2:"BG",dialCode:"+359"},{name:"Moldova",iso2:"MD",dialCode:"+373"},{name:"Ukraine",iso2:"UA",dialCode:"+380"},{name:"Belarus",iso2:"BY",dialCode:"+375"},{name:"Lithuania",iso2:"LT",dialCode:"+370"},{name:"Latvia",iso2:"LV",dialCode:"+371"},{name:"Estonia",iso2:"EE",dialCode:"+372"},{name:"Morocco",iso2:"MA",dialCode:"+212"},{name:"Algeria",iso2:"DZ",dialCode:"+213"},{name:"Tunisia",iso2:"TN",dialCode:"+216"},{name:"Libya",iso2:"LY",dialCode:"+218"},{name:"Egypt",iso2:"EG",dialCode:"+20"},{name:"Western Sahara",iso2:"EH",dialCode:"+212"},{name:"Mauritania",iso2:"MR",dialCode:"+222"},{name:"Mali",iso2:"ML",dialCode:"+223"},{name:"Senegal",iso2:"SN",dialCode:"+221"},{name:"Gambia",iso2:"GM",dialCode:"+220"},{name:"Guinea-Bissau",iso2:"GW",dialCode:"+245"},{name:"Guinea",iso2:"GN",dialCode:"+224"},{name:"Sierra Leone",iso2:"SL",dialCode:"+232"},{name:"Liberia",iso2:"LR",dialCode:"+231"},{name:"Ivory Coast",iso2:"CI",dialCode:"+225"},{name:"Ghana",iso2:"GH",dialCode:"+233"},{name:"Burkina Faso",iso2:"BF",dialCode:"+226"},{name:"Togo",iso2:"TG",dialCode:"+228"},{name:"Benin",iso2:"BJ",dialCode:"+229"},{name:"Niger",iso2:"NE",dialCode:"+227"},{name:"Nigeria",iso2:"NG",dialCode:"+234"},{name:"Cameroon",iso2:"CM",dialCode:"+237"},{name:"Chad",iso2:"TD",dialCode:"+235"},{name:"Central African Republic",iso2:"CF",dialCode:"+236"},{name:"Equatorial Guinea",iso2:"GQ",dialCode:"+240"},{name:"Gabon",iso2:"GA",dialCode:"+241"},{name:"Republic of the Congo",iso2:"CG",dialCode:"+242"},{name:"DR Congo",iso2:"CD",dialCode:"+243"},{name:"Sao Tome and Principe",iso2:"ST",dialCode:"+239"},{name:"Angola",iso2:"AO",dialCode:"+244"},{name:"Cape Verde",iso2:"CV",dialCode:"+238"},{name:"South Sudan",iso2:"SS",dialCode:"+211"},{name:"Sudan",iso2:"SD",dialCode:"+249"},{name:"Ethiopia",iso2:"ET",dialCode:"+251"},{name:"Eritrea",iso2:"ER",dialCode:"+291"},{name:"Djibouti",iso2:"DJ",dialCode:"+253"},{name:"Somalia",iso2:"SO",dialCode:"+252"},{name:"Kenya",iso2:"KE",dialCode:"+254"},{name:"Uganda",iso2:"UG",dialCode:"+256"},{name:"Tanzania",iso2:"TZ",dialCode:"+255"},{name:"Rwanda",iso2:"RW",dialCode:"+250"},{name:"Burundi",iso2:"BI",dialCode:"+257"},{name:"Seychelles",iso2:"SC",dialCode:"+248"},{name:"Comoros",iso2:"KM",dialCode:"+269"},{name:"Mauritius",iso2:"MU",dialCode:"+230"},{name:"Madagascar",iso2:"MG",dialCode:"+261"},{name:"Reunion",iso2:"RE",dialCode:"+262"},{name:"Mayotte",iso2:"YT",dialCode:"+262"},{name:"Mozambique",iso2:"MZ",dialCode:"+258"},{name:"Zambia",iso2:"ZM",dialCode:"+260"},{name:"Zimbabwe",iso2:"ZW",dialCode:"+263"},{name:"Namibia",iso2:"NA",dialCode:"+264"},{name:"Botswana",iso2:"BW",dialCode:"+267"},{name:"Eswatini",iso2:"SZ",dialCode:"+268"},{name:"Lesotho",iso2:"LS",dialCode:"+266"},{name:"South Africa",iso2:"ZA",dialCode:"+27"},{name:"Malawi",iso2:"MW",dialCode:"+265"},{name:"Turkey",iso2:"TR",dialCode:"+90"},{name:"Cyprus",iso2:"CY",dialCode:"+357"},{name:"Israel",iso2:"IL",dialCode:"+972"},{name:"Palestine",iso2:"PS",dialCode:"+970"},{name:"Lebanon",iso2:"LB",dialCode:"+961"},{name:"Jordan",iso2:"JO",dialCode:"+962"},{name:"Syria",iso2:"SY",dialCode:"+963"},{name:"Iraq",iso2:"IQ",dialCode:"+964"},{name:"Kuwait",iso2:"KW",dialCode:"+965"},{name:"Saudi Arabia",iso2:"SA",dialCode:"+966"},{name:"Yemen",iso2:"YE",dialCode:"+967"},{name:"Oman",iso2:"OM",dialCode:"+968"},{name:"United Arab Emirates",iso2:"AE",dialCode:"+971"},{name:"Qatar",iso2:"QA",dialCode:"+974"},{name:"Bahrain",iso2:"BH",dialCode:"+973"},{name:"Iran",iso2:"IR",dialCode:"+98"},{name:"Afghanistan",iso2:"AF",dialCode:"+93"},{name:"Pakistan",iso2:"PK",dialCode:"+92"},{name:"India",iso2:"IN",dialCode:"+91"},{name:"Bangladesh",iso2:"BD",dialCode:"+880"},{name:"Sri Lanka",iso2:"LK",dialCode:"+94"},{name:"Nepal",iso2:"NP",dialCode:"+977"},{name:"Bhutan",iso2:"BT",dialCode:"+975"},{name:"Maldives",iso2:"MV",dialCode:"+960"},{name:"Kazakhstan",iso2:"KZ",dialCode:"+7"},{name:"Kyrgyzstan",iso2:"KG",dialCode:"+996"},{name:"Tajikistan",iso2:"TJ",dialCode:"+992"},{name:"Turkmenistan",iso2:"TM",dialCode:"+993"},{name:"Uzbekistan",iso2:"UZ",dialCode:"+998"},{name:"China",iso2:"CN",dialCode:"+86"},{name:"Hong Kong",iso2:"HK",dialCode:"+852"},{name:"Macau",iso2:"MO",dialCode:"+853"},{name:"Taiwan",iso2:"TW",dialCode:"+886"},{name:"Mongolia",iso2:"MN",dialCode:"+976"},{name:"North Korea",iso2:"KP",dialCode:"+850"},{name:"South Korea",iso2:"KR",dialCode:"+82"},{name:"Japan",iso2:"JP",dialCode:"+81"},{name:"Myanmar",iso2:"MM",dialCode:"+95"},{name:"Thailand",iso2:"TH",dialCode:"+66"},{name:"Laos",iso2:"LA",dialCode:"+856"},{name:"Cambodia",iso2:"KH",dialCode:"+855"},{name:"Vietnam",iso2:"VN",dialCode:"+84"},{name:"Malaysia",iso2:"MY",dialCode:"+60"},{name:"Singapore",iso2:"SG",dialCode:"+65"},{name:"Brunei",iso2:"BN",dialCode:"+673"},{name:"Philippines",iso2:"PH",dialCode:"+63"},{name:"Indonesia",iso2:"ID",dialCode:"+62"},{name:"East Timor",iso2:"TL",dialCode:"+670"},{name:"Australia",iso2:"AU",dialCode:"+61"},{name:"New Zealand",iso2:"NZ",dialCode:"+64"},{name:"Fiji",iso2:"FJ",dialCode:"+679"},{name:"Papua New Guinea",iso2:"PG",dialCode:"+675"},{name:"Solomon Islands",iso2:"SB",dialCode:"+677"},{name:"Vanuatu",iso2:"VU",dialCode:"+678"},{name:"Samoa",iso2:"WS",dialCode:"+685"},{name:"Tonga",iso2:"TO",dialCode:"+676"},{name:"Kiribati",iso2:"KI",dialCode:"+686"},{name:"Tuvalu",iso2:"TV",dialCode:"+688"},{name:"Nauru",iso2:"NR",dialCode:"+674"},{name:"Palau",iso2:"PW",dialCode:"+680"},{name:"Marshall Islands",iso2:"MH",dialCode:"+692"},{name:"Micronesia",iso2:"FM",dialCode:"+691"},{name:"French Polynesia",iso2:"PF",dialCode:"+689"},{name:"New Caledonia",iso2:"NC",dialCode:"+687"},{name:"Cook Islands",iso2:"CK",dialCode:"+682"},{name:"Niue",iso2:"NU",dialCode:"+683"},{name:"Wallis and Futuna",iso2:"WF",dialCode:"+681"},{name:"Tokelau",iso2:"TK",dialCode:"+690"},{name:"Russia",iso2:"RU",dialCode:"+7"},{name:"Azerbaijan",iso2:"AZ",dialCode:"+994"},{name:"Armenia",iso2:"AM",dialCode:"+374"},{name:"Georgia",iso2:"GE",dialCode:"+995"},{name:"Greenland",iso2:"GL",dialCode:"+299"},{name:"Faroe Islands",iso2:"FO",dialCode:"+298"},{name:"Gibraltar",iso2:"GI",dialCode:"+350"},{name:"Guernsey",iso2:"GG",dialCode:"+44"},{name:"Jersey",iso2:"JE",dialCode:"+44"},{name:"Isle of Man",iso2:"IM",dialCode:"+44"},{name:"Hong Kong",iso2:"HK",dialCode:"+852"},{name:"Macau",iso2:"MO",dialCode:"+853"},{name:"Taiwan",iso2:"TW",dialCode:"+886"}],F=H.map(i=>({name:i.name,iso2:i.iso2,dialCode:i.dialCode,mask:i.mask??(i.dialCode==="+1"?"(999) 999-9999":"999 999 9999"),flag:x(i.iso2)})),k=Array.from(new Map(F.map(i=>[i.iso2,i])).values());function S(i,e){let a=i[0];return e&&i.find(d=>d.iso2.toLowerCase()===e.toLowerCase())||a}var O=({value:i,onChange:e,countries:a=k,initialCountry:d,className:m,placeholder:t,size:u="md",disabled:T=false})=>{let[G,A]=react.useState(d||a[0]?.iso2||"US"),n=react.useMemo(()=>S(a,G),[a,G]),[D,I]=react.useState(g(i||""));react.useEffect(()=>{I(g(i||""));},[i]);let{formatted:E,isValid:p}=react.useMemo(()=>M(n,D),[n,D]);function f(o,s=n){let{formatted:l,isValid:c}=M(s,o),V={country:s,raw:o,formatted:`${s.dialCode} ${l}`.trim(),isValid:c};e?.(V);}function R(o){let s=o.target.value;A(s);let l=S(a,s);f(D,l);}function P(o){let s=o.target.value,l=g(s),c=n.maxDigits??r(n.mask);l.length<=c&&(I(l),f(l));}let L=E,K=t||"",b=`cpi-${u}`;return jsxRuntime.jsxs("div",{className:`cpi-root ${b} ${m||""}`.trim(),children:[jsxRuntime.jsxs("div",{className:"cpi-select",children:[jsxRuntime.jsx("img",{src:n.flag,alt:`${n.name} flag`,className:"cpi-flag",title:`${n.name} ${n.dialCode}`,width:"20",height:"15"}),jsxRuntime.jsx("span",{className:"cpi-dial-code",children:n.dialCode}),jsxRuntime.jsx("select",{"aria-label":"Country",value:n.iso2,onChange:R,disabled:T,className:"cpi-country-select",children:a.slice().sort((o,s)=>o.name.localeCompare(s.name)).map(o=>jsxRuntime.jsxs("option",{value:o.iso2,children:[y(o.iso2)," ",o.name," (",o.dialCode,")"]},o.iso2))}),jsxRuntime.jsx("svg",{className:"cpi-chevron",width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:jsxRuntime.jsx("path",{d:"M7 10l5 5 5-5z"})})]}),jsxRuntime.jsx("input",{className:`cpi-input ${p?"cpi-valid":"cpi-invalid"}`,type:"tel",inputMode:"tel",value:L,onChange:P,placeholder:K,disabled:T,"aria-invalid":!p,"aria-describedby":"phone-input-hint"}),jsxRuntime.jsx("div",{id:"phone-input-hint",className:"cpi-hint",children:p?"\u2713 Valid":""})]})}; exports.CountryPhoneInput=O;exports.defaultCountries=k;//# sourceMappingURL=index.cjs.map //# sourceMappingURL=index.cjs.map