UNPKG

@geoapify/geocoder-autocomplete

Version:

A JavaScript address autocomplete input, compatible with Leaflet, MapLibre, OpenLayers, and other map libraries for efficient location search and geocoding.

3 lines (2 loc) โ€ข 50.2 kB
"use strict";const e="countrycode",o="rect",i="circle",a="proximity",t="place";class n{static isLatitude(e){return""!==e&&null!==e&&isFinite(e)&&Math.abs(e)<=90}static isLongitude(e){return""!==e&&null!==e&&isFinite(e)&&Math.abs(e)<=180}static isNotOpenStreetMapData(e){return"openstreetmap"!==e.properties.datasource?.sourcename||!e.properties.place_id}static extendByNonVerifiedValues(e,o,i){o.forEach((o=>{i.housenumber&&e.allowNonVerifiedHouseNumber&&"match_by_street"===o.properties.rank.match_type?(this.addHouseNumberToFormatted(o.properties,null,i.housenumber),o.properties.nonVerifiedParts=["housenumber"]):i.street&&i.housenumber&&e.allowNonVerifiedStreet&&("match_by_city_or_disrict"===o.properties.rank.match_type||"match_by_postcode"===o.properties.rank.match_type)?(this.addHouseNumberToFormatted(o.properties,i.street,i.housenumber),o.properties.nonVerifiedParts=["housenumber","street"]):i.street&&e.allowNonVerifiedStreet&&("match_by_city_or_disrict"===o.properties.rank.match_type||"match_by_postcode"===o.properties.rank.match_type)&&(o.properties.street=i.street.replace(/(^\w|\s\w|[-]\w)/g,(e=>e.toUpperCase())),o.properties.address_line1=o.properties.street,o.properties.address_line2=o.properties.formatted,o.properties.formatted=o.properties.street+", "+o.properties.formatted,o.properties.nonVerifiedParts=["street"])}))}static addHouseNumberToFormatted(e,o,i){const a={"{{{road}}} {{{house_number}}}":["af","ai","al","ao","ar","at","aw","ax","ba","be","bg","bi","bo","bq","br","bs","bt","bv","bw","cf","ch","cl","cm","co","cr","cu","cv","cw","cy","cz","de","dk","do","ec","ee","eh","er","et","fi","fo","gd","ge","gl","gq","gr","gt","gw","hn","hr","ht","hu","id","il","ir","is","jo","ki","km","kp","kw","lc","li","lr","lt","lv","ly","me","mk","ml","mn","mo","mx","ni","nl","no","np","pa","pe","pl","ps","pt","pw","py","qa","ro","rs","ru","sb","sd","se","si","sj","sk","so","sr","ss","st","sv","sx","sz","td","tj","tl","tr","um","uz","uy","vc","ve","vu","ws"],"{{{house_number}}} {{{road}}}":["ad","ae","ag","am","as","au","az","bb","bd","bf","bh","bl","bm","bz","ca","cc","ci","ck","cn","cx","dj","dm","dz","eg","fj","fk","fm","fr","ga","gb","gf","gg","gh","gi","gm","gn","gp","gs","gu","gy","hk","hm","ie","im","io","iq","je","jm","jp","ke","kh","kn","kr","ky","lb","lk","ls","lu","ma","mc","mf","mh","mg","mm","mp","ms","mt","mq","mv","mw","my","na","nc","ne","nf","ng","nr","nu","nz","om","pf","pg","ph","pk","pm","pr","re","rw","sa","sc","sg","sh","sl","sn","tc","tf","th","tk","tn","to","tt","tv","tw","tz","ug","us","vg","vi","wf","yt","za","zm","zw"],"{{{road}}}, {{{house_number}}}":["by","es","it","kg","kz","md","mz","sm","sy","ua","va"],"{{{house_number}}}, {{{road}}}":["bj","bn","cd","cg","in","la","mr","mu","tg","tm","vn","ye"]},t=Object.keys(a).find((o=>a[o].indexOf(e.country_code)>=0))||"{{{road}}} {{{house_number}}}";if(o){e.street=o.replace(/(^\w|\s\w|[-]\w)/g,(e=>e.toUpperCase())),e.housenumber=i;const a=t.replace("{{{road}}}",e.street).replace("{{{house_number}}}",i);e.address_line1=a,e.address_line2=e.formatted,e.formatted=a+", "+e.formatted}else{e.housenumber=i;const o=t.replace("{{{road}}}",e.street).replace("{{{house_number}}}",i);e.address_line1=e.address_line1.replace(e.street,o),e.formatted=e.formatted.replace(e.street,o)}}static generatePlacesUrl(e,o,i,a){let t=`${e}?id=${o}&apiKey=${i}`;return a.lang&&(t+=`&lang=${a.lang}`),t}static needToFilterDataBySuggestionsFilter(e,o){return e&&e.length&&o&&"function"==typeof o}static needToCalculateExtendByNonVerifiedValues(e,o){return e.features&&e.features.length&&e?.query?.parsed&&(o.allowNonVerifiedHouseNumber||o.allowNonVerifiedStreet)}static generateUrl(d,l,s,r){let c=`${l}?text=${encodeURIComponent(d)}&apiKey=${s}`;r.type&&(c+=`&type=${r.type}`),r.limit&&(c+=`&limit=${r.limit}`),r.lang&&(c+=`&lang=${r.lang}`);const F=[],u=r.filter[e],m=r.filter[i],f=r.filter[o],U=r.filter[t];u&&u.length&&F.push(`countrycode:${u.join(",").toLowerCase()}`),m&&n.isLatitude(m.lat)&&n.isLongitude(m.lon)&&m.radiusMeters>0&&F.push(`circle:${m.lon},${m.lat},${m.radiusMeters}`),f&&n.isLatitude(f.lat1)&&n.isLongitude(f.lon1)&&n.isLatitude(f.lat2)&&n.isLongitude(f.lon2)&&F.push(`rect:${f.lon1},${f.lat1},${f.lon2},${f.lat2}`),U&&F.push(`place:${U}`),c+=F.length?`&filter=${F.join("|")}`:"";const g=[],h=r.bias[e],C=r.bias[i],p=r.bias[o],E=r.bias[a];return h&&h.length&&g.push(`countrycode:${h.join(",").toLowerCase()}`),C&&n.isLatitude(C.lat)&&n.isLongitude(C.lon)&&C.radiusMeters>0&&g.push(`circle:${C.lon},${C.lat},${C.radiusMeters}`),p&&n.isLatitude(p.lat1)&&n.isLongitude(p.lon1)&&n.isLatitude(p.lat2)&&n.isLongitude(p.lon2)&&g.push(`rect:${p.lon1},${p.lat1},${p.lon2},${p.lat2}`),E&&n.isLatitude(E.lat)&&n.isLongitude(E.lon)&&g.push(`proximity:${E.lon},${E.lat}`),c+=g.length?`&bias=${g.join("|")}`:"",c}static returnIfFunction(e){return e&&"function"==typeof e?e:null}}var d=[{code:"AD",emoji:"๐Ÿ‡ฆ๐Ÿ‡ฉ",unicode:"U+1F1E6 U+1F1E9",name:"Andorra",title:"flag for Andorra",dialCode:"+376"},{code:"AE",emoji:"๐Ÿ‡ฆ๐Ÿ‡ช",unicode:"U+1F1E6 U+1F1EA",name:"United Arab Emirates",title:"flag for United Arab Emirates",dialCode:"+971"},{code:"AF",emoji:"๐Ÿ‡ฆ๐Ÿ‡ซ",unicode:"U+1F1E6 U+1F1EB",name:"Afghanistan",title:"flag for Afghanistan",dialCode:"+93"},{code:"AG",emoji:"๐Ÿ‡ฆ๐Ÿ‡ฌ",unicode:"U+1F1E6 U+1F1EC",name:"Antigua and Barbuda",title:"flag for Antigua and Barbuda",dialCode:"+1268"},{code:"AI",emoji:"๐Ÿ‡ฆ๐Ÿ‡ฎ",unicode:"U+1F1E6 U+1F1EE",name:"Anguilla",title:"flag for Anguilla",dialCode:"+1 264"},{code:"AL",emoji:"๐Ÿ‡ฆ๐Ÿ‡ฑ",unicode:"U+1F1E6 U+1F1F1",name:"Albania",title:"flag for Albania",dialCode:"+355"},{code:"AM",emoji:"๐Ÿ‡ฆ๐Ÿ‡ฒ",unicode:"U+1F1E6 U+1F1F2",name:"Armenia",title:"flag for Armenia",dialCode:"+374"},{code:"AO",emoji:"๐Ÿ‡ฆ๐Ÿ‡ด",unicode:"U+1F1E6 U+1F1F4",name:"Angola",title:"flag for Angola",dialCode:"+244"},{code:"AQ",emoji:"๐Ÿ‡ฆ๐Ÿ‡ถ",unicode:"U+1F1E6 U+1F1F6",name:"Antarctica",title:"flag for Antarctica",dialCode:null},{code:"AR",emoji:"๐Ÿ‡ฆ๐Ÿ‡ท",unicode:"U+1F1E6 U+1F1F7",name:"Argentina",title:"flag for Argentina",dialCode:"+54"},{code:"AS",emoji:"๐Ÿ‡ฆ๐Ÿ‡ธ",unicode:"U+1F1E6 U+1F1F8",name:"American Samoa",title:"flag for American Samoa",dialCode:"+1 684"},{code:"AT",emoji:"๐Ÿ‡ฆ๐Ÿ‡น",unicode:"U+1F1E6 U+1F1F9",name:"Austria",title:"flag for Austria",dialCode:"+43"},{code:"AU",emoji:"๐Ÿ‡ฆ๐Ÿ‡บ",unicode:"U+1F1E6 U+1F1FA",name:"Australia",title:"flag for Australia",dialCode:"+61"},{code:"AW",emoji:"๐Ÿ‡ฆ๐Ÿ‡ผ",unicode:"U+1F1E6 U+1F1FC",name:"Aruba",title:"flag for Aruba",dialCode:"+297"},{code:"AX",emoji:"๐Ÿ‡ฆ๐Ÿ‡ฝ",unicode:"U+1F1E6 U+1F1FD",name:"ร…land Islands",title:"flag for ร…land Islands",dialCode:""},{code:"AZ",emoji:"๐Ÿ‡ฆ๐Ÿ‡ฟ",unicode:"U+1F1E6 U+1F1FF",name:"Azerbaijan",title:"flag for Azerbaijan",dialCode:"+994"},{code:"BA",emoji:"๐Ÿ‡ง๐Ÿ‡ฆ",unicode:"U+1F1E7 U+1F1E6",name:"Bosnia and Herzegovina",title:"flag for Bosnia and Herzegovina",dialCode:"+387"},{code:"BB",emoji:"๐Ÿ‡ง๐Ÿ‡ง",unicode:"U+1F1E7 U+1F1E7",name:"Barbados",title:"flag for Barbados",dialCode:"+1 246"},{code:"BD",emoji:"๐Ÿ‡ง๐Ÿ‡ฉ",unicode:"U+1F1E7 U+1F1E9",name:"Bangladesh",title:"flag for Bangladesh",dialCode:"+880"},{code:"BE",emoji:"๐Ÿ‡ง๐Ÿ‡ช",unicode:"U+1F1E7 U+1F1EA",name:"Belgium",title:"flag for Belgium",dialCode:"+32"},{code:"BF",emoji:"๐Ÿ‡ง๐Ÿ‡ซ",unicode:"U+1F1E7 U+1F1EB",name:"Burkina Faso",title:"flag for Burkina Faso",dialCode:"+226"},{code:"BG",emoji:"๐Ÿ‡ง๐Ÿ‡ฌ",unicode:"U+1F1E7 U+1F1EC",name:"Bulgaria",title:"flag for Bulgaria",dialCode:"+359"},{code:"BH",emoji:"๐Ÿ‡ง๐Ÿ‡ญ",unicode:"U+1F1E7 U+1F1ED",name:"Bahrain",title:"flag for Bahrain",dialCode:"+973"},{code:"BI",emoji:"๐Ÿ‡ง๐Ÿ‡ฎ",unicode:"U+1F1E7 U+1F1EE",name:"Burundi",title:"flag for Burundi",dialCode:"+257"},{code:"BJ",emoji:"๐Ÿ‡ง๐Ÿ‡ฏ",unicode:"U+1F1E7 U+1F1EF",name:"Benin",title:"flag for Benin",dialCode:"+229"},{code:"BL",emoji:"๐Ÿ‡ง๐Ÿ‡ฑ",unicode:"U+1F1E7 U+1F1F1",name:"Saint Barthรฉlemy",title:"flag for Saint Barthรฉlemy",dialCode:"+590"},{code:"BM",emoji:"๐Ÿ‡ง๐Ÿ‡ฒ",unicode:"U+1F1E7 U+1F1F2",name:"Bermuda",title:"flag for Bermuda",dialCode:"+1 441"},{code:"BN",emoji:"๐Ÿ‡ง๐Ÿ‡ณ",unicode:"U+1F1E7 U+1F1F3",name:"Brunei Darussalam",title:"flag for Brunei Darussalam",dialCode:"+673"},{code:"BO",emoji:"๐Ÿ‡ง๐Ÿ‡ด",unicode:"U+1F1E7 U+1F1F4",name:"Bolivia",title:"flag for Bolivia",dialCode:"+591"},{code:"BQ",emoji:"๐Ÿ‡ง๐Ÿ‡ถ",unicode:"U+1F1E7 U+1F1F6",name:"Bonaire, Sint Eustatius and Saba",title:"flag for Bonaire, Sint Eustatius and Saba"},{code:"BR",emoji:"๐Ÿ‡ง๐Ÿ‡ท",unicode:"U+1F1E7 U+1F1F7",name:"Brazil",title:"flag for Brazil",dialCode:"+55"},{code:"BS",emoji:"๐Ÿ‡ง๐Ÿ‡ธ",unicode:"U+1F1E7 U+1F1F8",name:"Bahamas",title:"flag for Bahamas",dialCode:"+1 242"},{code:"BT",emoji:"๐Ÿ‡ง๐Ÿ‡น",unicode:"U+1F1E7 U+1F1F9",name:"Bhutan",title:"flag for Bhutan",dialCode:"+975"},{code:"BV",emoji:"๐Ÿ‡ง๐Ÿ‡ป",unicode:"U+1F1E7 U+1F1FB",name:"Bouvet Island",title:"flag for Bouvet Island"},{code:"BW",emoji:"๐Ÿ‡ง๐Ÿ‡ผ",unicode:"U+1F1E7 U+1F1FC",name:"Botswana",title:"flag for Botswana",dialCode:"+267"},{code:"BY",emoji:"๐Ÿ‡ง๐Ÿ‡พ",unicode:"U+1F1E7 U+1F1FE",name:"Belarus",title:"flag for Belarus",dialCode:"+375"},{code:"BZ",emoji:"๐Ÿ‡ง๐Ÿ‡ฟ",unicode:"U+1F1E7 U+1F1FF",name:"Belize",title:"flag for Belize",dialCode:"+501"},{code:"CA",emoji:"๐Ÿ‡จ๐Ÿ‡ฆ",unicode:"U+1F1E8 U+1F1E6",name:"Canada",title:"flag for Canada",dialCode:"+1"},{code:"CC",emoji:"๐Ÿ‡จ๐Ÿ‡จ",unicode:"U+1F1E8 U+1F1E8",name:"Cocos (Keeling) Islands",title:"flag for Cocos (Keeling) Islands",dialCode:"+61"},{code:"CD",emoji:"๐Ÿ‡จ๐Ÿ‡ฉ",unicode:"U+1F1E8 U+1F1E9",name:"Congo",title:"flag for Congo",dialCode:"+243"},{code:"CF",emoji:"๐Ÿ‡จ๐Ÿ‡ซ",unicode:"U+1F1E8 U+1F1EB",name:"Central African Republic",title:"flag for Central African Republic",dialCode:"+236"},{code:"CG",emoji:"๐Ÿ‡จ๐Ÿ‡ฌ",unicode:"U+1F1E8 U+1F1EC",name:"Congo",title:"flag for Congo",dialCode:"+242"},{code:"CH",emoji:"๐Ÿ‡จ๐Ÿ‡ญ",unicode:"U+1F1E8 U+1F1ED",name:"Switzerland",title:"flag for Switzerland",dialCode:"+41"},{code:"CI",emoji:"๐Ÿ‡จ๐Ÿ‡ฎ",unicode:"U+1F1E8 U+1F1EE",name:"Cรดte D'Ivoire",title:"flag for Cรดte D'Ivoire",dialCode:"+225"},{code:"CK",emoji:"๐Ÿ‡จ๐Ÿ‡ฐ",unicode:"U+1F1E8 U+1F1F0",name:"Cook Islands",title:"flag for Cook Islands",dialCode:"+682"},{code:"CL",emoji:"๐Ÿ‡จ๐Ÿ‡ฑ",unicode:"U+1F1E8 U+1F1F1",name:"Chile",title:"flag for Chile",dialCode:"+56"},{code:"CM",emoji:"๐Ÿ‡จ๐Ÿ‡ฒ",unicode:"U+1F1E8 U+1F1F2",name:"Cameroon",title:"flag for Cameroon",dialCode:"+237"},{code:"CN",emoji:"๐Ÿ‡จ๐Ÿ‡ณ",unicode:"U+1F1E8 U+1F1F3",name:"China",title:"flag for China",dialCode:"+86"},{code:"CO",emoji:"๐Ÿ‡จ๐Ÿ‡ด",unicode:"U+1F1E8 U+1F1F4",name:"Colombia",title:"flag for Colombia",dialCode:"+57"},{code:"CR",emoji:"๐Ÿ‡จ๐Ÿ‡ท",unicode:"U+1F1E8 U+1F1F7",name:"Costa Rica",title:"flag for Costa Rica",dialCode:"+506"},{code:"CU",emoji:"๐Ÿ‡จ๐Ÿ‡บ",unicode:"U+1F1E8 U+1F1FA",name:"Cuba",title:"flag for Cuba",dialCode:"+53"},{code:"CV",emoji:"๐Ÿ‡จ๐Ÿ‡ป",unicode:"U+1F1E8 U+1F1FB",name:"Cape Verde",title:"flag for Cape Verde",dialCode:"+238"},{code:"CW",emoji:"๐Ÿ‡จ๐Ÿ‡ผ",unicode:"U+1F1E8 U+1F1FC",name:"Curaรงao",title:"flag for Curaรงao"},{code:"CX",emoji:"๐Ÿ‡จ๐Ÿ‡ฝ",unicode:"U+1F1E8 U+1F1FD",name:"Christmas Island",title:"flag for Christmas Island",dialCode:"+61"},{code:"CY",emoji:"๐Ÿ‡จ๐Ÿ‡พ",unicode:"U+1F1E8 U+1F1FE",name:"Cyprus",title:"flag for Cyprus",dialCode:"+537"},{code:"CZ",emoji:"๐Ÿ‡จ๐Ÿ‡ฟ",unicode:"U+1F1E8 U+1F1FF",name:"Czech Republic",title:"flag for Czech Republic",dialCode:"+420"},{code:"DE",emoji:"๐Ÿ‡ฉ๐Ÿ‡ช",unicode:"U+1F1E9 U+1F1EA",name:"Germany",title:"flag for Germany",dialCode:"+49"},{code:"DJ",emoji:"๐Ÿ‡ฉ๐Ÿ‡ฏ",unicode:"U+1F1E9 U+1F1EF",name:"Djibouti",title:"flag for Djibouti",dialCode:"+253"},{code:"DK",emoji:"๐Ÿ‡ฉ๐Ÿ‡ฐ",unicode:"U+1F1E9 U+1F1F0",name:"Denmark",title:"flag for Denmark",dialCode:"+45"},{code:"DM",emoji:"๐Ÿ‡ฉ๐Ÿ‡ฒ",unicode:"U+1F1E9 U+1F1F2",name:"Dominica",title:"flag for Dominica",dialCode:"+1 767"},{code:"DO",emoji:"๐Ÿ‡ฉ๐Ÿ‡ด",unicode:"U+1F1E9 U+1F1F4",name:"Dominican Republic",title:"flag for Dominican Republic",dialCode:"+1 849"},{code:"DZ",emoji:"๐Ÿ‡ฉ๐Ÿ‡ฟ",unicode:"U+1F1E9 U+1F1FF",name:"Algeria",title:"flag for Algeria",dialCode:"+213"},{code:"EC",emoji:"๐Ÿ‡ช๐Ÿ‡จ",unicode:"U+1F1EA U+1F1E8",name:"Ecuador",title:"flag for Ecuador",dialCode:"+593"},{code:"EE",emoji:"๐Ÿ‡ช๐Ÿ‡ช",unicode:"U+1F1EA U+1F1EA",name:"Estonia",title:"flag for Estonia",dialCode:"+372"},{code:"EG",emoji:"๐Ÿ‡ช๐Ÿ‡ฌ",unicode:"U+1F1EA U+1F1EC",name:"Egypt",title:"flag for Egypt",dialCode:"+20"},{code:"EH",emoji:"๐Ÿ‡ช๐Ÿ‡ญ",unicode:"U+1F1EA U+1F1ED",name:"Western Sahara",title:"flag for Western Sahara"},{code:"ER",emoji:"๐Ÿ‡ช๐Ÿ‡ท",unicode:"U+1F1EA U+1F1F7",name:"Eritrea",title:"flag for Eritrea",dialCode:"+291"},{code:"ES",emoji:"๐Ÿ‡ช๐Ÿ‡ธ",unicode:"U+1F1EA U+1F1F8",name:"Spain",title:"flag for Spain",dialCode:"+34"},{code:"ET",emoji:"๐Ÿ‡ช๐Ÿ‡น",unicode:"U+1F1EA U+1F1F9",name:"Ethiopia",title:"flag for Ethiopia",dialCode:"+251"},{code:"EU",emoji:"๐Ÿ‡ช๐Ÿ‡บ",unicode:"U+1F1EA U+1F1FA",name:"European Union",title:"flag for European Union"},{code:"FI",emoji:"๐Ÿ‡ซ๐Ÿ‡ฎ",unicode:"U+1F1EB U+1F1EE",name:"Finland",title:"flag for Finland",dialCode:"+358"},{code:"FJ",emoji:"๐Ÿ‡ซ๐Ÿ‡ฏ",unicode:"U+1F1EB U+1F1EF",name:"Fiji",title:"flag for Fiji",dialCode:"+679"},{code:"FK",emoji:"๐Ÿ‡ซ๐Ÿ‡ฐ",unicode:"U+1F1EB U+1F1F0",name:"Falkland Islands (Malvinas)",title:"flag for Falkland Islands (Malvinas)",dialCode:"+500"},{code:"FM",emoji:"๐Ÿ‡ซ๐Ÿ‡ฒ",unicode:"U+1F1EB U+1F1F2",name:"Micronesia",title:"flag for Micronesia",dialCode:"+691"},{code:"FO",emoji:"๐Ÿ‡ซ๐Ÿ‡ด",unicode:"U+1F1EB U+1F1F4",name:"Faroe Islands",title:"flag for Faroe Islands",dialCode:"+298"},{code:"FR",emoji:"๐Ÿ‡ซ๐Ÿ‡ท",unicode:"U+1F1EB U+1F1F7",name:"France",title:"flag for France",dialCode:"+33"},{code:"GA",emoji:"๐Ÿ‡ฌ๐Ÿ‡ฆ",unicode:"U+1F1EC U+1F1E6",name:"Gabon",title:"flag for Gabon",dialCode:"+241"},{code:"GB",emoji:"๐Ÿ‡ฌ๐Ÿ‡ง",unicode:"U+1F1EC U+1F1E7",name:"United Kingdom",title:"flag for United Kingdom",dialCode:"+44"},{code:"GD",emoji:"๐Ÿ‡ฌ๐Ÿ‡ฉ",unicode:"U+1F1EC U+1F1E9",name:"Grenada",title:"flag for Grenada",dialCode:"+1 473"},{code:"GE",emoji:"๐Ÿ‡ฌ๐Ÿ‡ช",unicode:"U+1F1EC U+1F1EA",name:"Georgia",title:"flag for Georgia",dialCode:"+995"},{code:"GF",emoji:"๐Ÿ‡ฌ๐Ÿ‡ซ",unicode:"U+1F1EC U+1F1EB",name:"French Guiana",title:"flag for French Guiana",dialCode:"+594"},{code:"GG",emoji:"๐Ÿ‡ฌ๐Ÿ‡ฌ",unicode:"U+1F1EC U+1F1EC",name:"Guernsey",title:"flag for Guernsey",dialCode:"+44"},{code:"GH",emoji:"๐Ÿ‡ฌ๐Ÿ‡ญ",unicode:"U+1F1EC U+1F1ED",name:"Ghana",title:"flag for Ghana",dialCode:"+233"},{code:"GI",emoji:"๐Ÿ‡ฌ๐Ÿ‡ฎ",unicode:"U+1F1EC U+1F1EE",name:"Gibraltar",title:"flag for Gibraltar",dialCode:"+350"},{code:"GL",emoji:"๐Ÿ‡ฌ๐Ÿ‡ฑ",unicode:"U+1F1EC U+1F1F1",name:"Greenland",title:"flag for Greenland",dialCode:"+299"},{code:"GM",emoji:"๐Ÿ‡ฌ๐Ÿ‡ฒ",unicode:"U+1F1EC U+1F1F2",name:"Gambia",title:"flag for Gambia",dialCode:"+220"},{code:"GN",emoji:"๐Ÿ‡ฌ๐Ÿ‡ณ",unicode:"U+1F1EC U+1F1F3",name:"Guinea",title:"flag for Guinea",dialCode:"+224"},{code:"GP",emoji:"๐Ÿ‡ฌ๐Ÿ‡ต",unicode:"U+1F1EC U+1F1F5",name:"Guadeloupe",title:"flag for Guadeloupe",dialCode:"+590"},{code:"GQ",emoji:"๐Ÿ‡ฌ๐Ÿ‡ถ",unicode:"U+1F1EC U+1F1F6",name:"Equatorial Guinea",title:"flag for Equatorial Guinea",dialCode:"+240"},{code:"GR",emoji:"๐Ÿ‡ฌ๐Ÿ‡ท",unicode:"U+1F1EC U+1F1F7",name:"Greece",title:"flag for Greece",dialCode:"+30"},{code:"GS",emoji:"๐Ÿ‡ฌ๐Ÿ‡ธ",unicode:"U+1F1EC U+1F1F8",name:"South Georgia",title:"flag for South Georgia",dialCode:"+500"},{code:"GT",emoji:"๐Ÿ‡ฌ๐Ÿ‡น",unicode:"U+1F1EC U+1F1F9",name:"Guatemala",title:"flag for Guatemala",dialCode:"+502"},{code:"GU",emoji:"๐Ÿ‡ฌ๐Ÿ‡บ",unicode:"U+1F1EC U+1F1FA",name:"Guam",title:"flag for Guam",dialCode:"+1 671"},{code:"GW",emoji:"๐Ÿ‡ฌ๐Ÿ‡ผ",unicode:"U+1F1EC U+1F1FC",name:"Guinea-Bissau",title:"flag for Guinea-Bissau",dialCode:"+245"},{code:"GY",emoji:"๐Ÿ‡ฌ๐Ÿ‡พ",unicode:"U+1F1EC U+1F1FE",name:"Guyana",title:"flag for Guyana",dialCode:"+595"},{code:"HK",emoji:"๐Ÿ‡ญ๐Ÿ‡ฐ",unicode:"U+1F1ED U+1F1F0",name:"Hong Kong",title:"flag for Hong Kong",dialCode:"+852"},{code:"HM",emoji:"๐Ÿ‡ญ๐Ÿ‡ฒ",unicode:"U+1F1ED U+1F1F2",name:"Heard Island and Mcdonald Islands",title:"flag for Heard Island and Mcdonald Islands"},{code:"HN",emoji:"๐Ÿ‡ญ๐Ÿ‡ณ",unicode:"U+1F1ED U+1F1F3",name:"Honduras",title:"flag for Honduras",dialCode:"+504"},{code:"HR",emoji:"๐Ÿ‡ญ๐Ÿ‡ท",unicode:"U+1F1ED U+1F1F7",name:"Croatia",title:"flag for Croatia",dialCode:"+385"},{code:"HT",emoji:"๐Ÿ‡ญ๐Ÿ‡น",unicode:"U+1F1ED U+1F1F9",name:"Haiti",title:"flag for Haiti",dialCode:"+509"},{code:"HU",emoji:"๐Ÿ‡ญ๐Ÿ‡บ",unicode:"U+1F1ED U+1F1FA",name:"Hungary",title:"flag for Hungary",dialCode:"+36"},{code:"ID",emoji:"๐Ÿ‡ฎ๐Ÿ‡ฉ",unicode:"U+1F1EE U+1F1E9",name:"Indonesia",title:"flag for Indonesia",dialCode:"+62"},{code:"IE",emoji:"๐Ÿ‡ฎ๐Ÿ‡ช",unicode:"U+1F1EE U+1F1EA",name:"Ireland",title:"flag for Ireland",dialCode:"+353"},{code:"IL",emoji:"๐Ÿ‡ฎ๐Ÿ‡ฑ",unicode:"U+1F1EE U+1F1F1",name:"Israel",title:"flag for Israel",dialCode:"+972"},{code:"IM",emoji:"๐Ÿ‡ฎ๐Ÿ‡ฒ",unicode:"U+1F1EE U+1F1F2",name:"Isle of Man",title:"flag for Isle of Man",dialCode:"+44"},{code:"IN",emoji:"๐Ÿ‡ฎ๐Ÿ‡ณ",unicode:"U+1F1EE U+1F1F3",name:"India",title:"flag for India",dialCode:"+91"},{code:"IO",emoji:"๐Ÿ‡ฎ๐Ÿ‡ด",unicode:"U+1F1EE U+1F1F4",name:"British Indian Ocean Territory",title:"flag for British Indian Ocean Territory",dialCode:"+246"},{code:"IQ",emoji:"๐Ÿ‡ฎ๐Ÿ‡ถ",unicode:"U+1F1EE U+1F1F6",name:"Iraq",title:"flag for Iraq",dialCode:"+964"},{code:"IR",emoji:"๐Ÿ‡ฎ๐Ÿ‡ท",unicode:"U+1F1EE U+1F1F7",name:"Iran",title:"flag for Iran",dialCode:"+98"},{code:"IS",emoji:"๐Ÿ‡ฎ๐Ÿ‡ธ",unicode:"U+1F1EE U+1F1F8",name:"Iceland",title:"flag for Iceland",dialCode:"+354"},{code:"IT",emoji:"๐Ÿ‡ฎ๐Ÿ‡น",unicode:"U+1F1EE U+1F1F9",name:"Italy",title:"flag for Italy",dialCode:"+39"},{code:"JE",emoji:"๐Ÿ‡ฏ๐Ÿ‡ช",unicode:"U+1F1EF U+1F1EA",name:"Jersey",title:"flag for Jersey",dialCode:"+44"},{code:"JM",emoji:"๐Ÿ‡ฏ๐Ÿ‡ฒ",unicode:"U+1F1EF U+1F1F2",name:"Jamaica",title:"flag for Jamaica",dialCode:"+1 876"},{code:"JO",emoji:"๐Ÿ‡ฏ๐Ÿ‡ด",unicode:"U+1F1EF U+1F1F4",name:"Jordan",title:"flag for Jordan",dialCode:"+962"},{code:"JP",emoji:"๐Ÿ‡ฏ๐Ÿ‡ต",unicode:"U+1F1EF U+1F1F5",name:"Japan",title:"flag for Japan",dialCode:"+81"},{code:"KE",emoji:"๐Ÿ‡ฐ๐Ÿ‡ช",unicode:"U+1F1F0 U+1F1EA",name:"Kenya",title:"flag for Kenya",dialCode:"+254"},{code:"KG",emoji:"๐Ÿ‡ฐ๐Ÿ‡ฌ",unicode:"U+1F1F0 U+1F1EC",name:"Kyrgyzstan",title:"flag for Kyrgyzstan",dialCode:"+996"},{code:"KH",emoji:"๐Ÿ‡ฐ๐Ÿ‡ญ",unicode:"U+1F1F0 U+1F1ED",name:"Cambodia",title:"flag for Cambodia",dialCode:"+855"},{code:"KI",emoji:"๐Ÿ‡ฐ๐Ÿ‡ฎ",unicode:"U+1F1F0 U+1F1EE",name:"Kiribati",title:"flag for Kiribati",dialCode:"+686"},{code:"KM",emoji:"๐Ÿ‡ฐ๐Ÿ‡ฒ",unicode:"U+1F1F0 U+1F1F2",name:"Comoros",title:"flag for Comoros",dialCode:"+269"},{code:"KN",emoji:"๐Ÿ‡ฐ๐Ÿ‡ณ",unicode:"U+1F1F0 U+1F1F3",name:"Saint Kitts and Nevis",title:"flag for Saint Kitts and Nevis",dialCode:"+1 869"},{code:"KP",emoji:"๐Ÿ‡ฐ๐Ÿ‡ต",unicode:"U+1F1F0 U+1F1F5",name:"North Korea",title:"flag for North Korea",dialCode:"+850"},{code:"KR",emoji:"๐Ÿ‡ฐ๐Ÿ‡ท",unicode:"U+1F1F0 U+1F1F7",name:"South Korea",title:"flag for South Korea",dialCode:"+82"},{code:"KW",emoji:"๐Ÿ‡ฐ๐Ÿ‡ผ",unicode:"U+1F1F0 U+1F1FC",name:"Kuwait",title:"flag for Kuwait",dialCode:"+965"},{code:"KY",emoji:"๐Ÿ‡ฐ๐Ÿ‡พ",unicode:"U+1F1F0 U+1F1FE",name:"Cayman Islands",title:"flag for Cayman Islands",dialCode:"+ 345"},{code:"KZ",emoji:"๐Ÿ‡ฐ๐Ÿ‡ฟ",unicode:"U+1F1F0 U+1F1FF",name:"Kazakhstan",title:"flag for Kazakhstan",dialCode:"+7 7"},{code:"LA",emoji:"๐Ÿ‡ฑ๐Ÿ‡ฆ",unicode:"U+1F1F1 U+1F1E6",name:"Lao People's Democratic Republic",title:"flag for Lao People's Democratic Republic",dialCode:"+856"},{code:"LB",emoji:"๐Ÿ‡ฑ๐Ÿ‡ง",unicode:"U+1F1F1 U+1F1E7",name:"Lebanon",title:"flag for Lebanon",dialCode:"+961"},{code:"LC",emoji:"๐Ÿ‡ฑ๐Ÿ‡จ",unicode:"U+1F1F1 U+1F1E8",name:"Saint Lucia",title:"flag for Saint Lucia",dialCode:"+1 758"},{code:"LI",emoji:"๐Ÿ‡ฑ๐Ÿ‡ฎ",unicode:"U+1F1F1 U+1F1EE",name:"Liechtenstein",title:"flag for Liechtenstein",dialCode:"+423"},{code:"LK",emoji:"๐Ÿ‡ฑ๐Ÿ‡ฐ",unicode:"U+1F1F1 U+1F1F0",name:"Sri Lanka",title:"flag for Sri Lanka",dialCode:"+94"},{code:"LR",emoji:"๐Ÿ‡ฑ๐Ÿ‡ท",unicode:"U+1F1F1 U+1F1F7",name:"Liberia",title:"flag for Liberia",dialCode:"+231"},{code:"LS",emoji:"๐Ÿ‡ฑ๐Ÿ‡ธ",unicode:"U+1F1F1 U+1F1F8",name:"Lesotho",title:"flag for Lesotho",dialCode:"+266"},{code:"LT",emoji:"๐Ÿ‡ฑ๐Ÿ‡น",unicode:"U+1F1F1 U+1F1F9",name:"Lithuania",title:"flag for Lithuania",dialCode:"+370"},{code:"LU",emoji:"๐Ÿ‡ฑ๐Ÿ‡บ",unicode:"U+1F1F1 U+1F1FA",name:"Luxembourg",title:"flag for Luxembourg",dialCode:"+352"},{code:"LV",emoji:"๐Ÿ‡ฑ๐Ÿ‡ป",unicode:"U+1F1F1 U+1F1FB",name:"Latvia",title:"flag for Latvia",dialCode:"+371"},{code:"LY",emoji:"๐Ÿ‡ฑ๐Ÿ‡พ",unicode:"U+1F1F1 U+1F1FE",name:"Libya",title:"flag for Libya",dialCode:"+218"},{code:"MA",emoji:"๐Ÿ‡ฒ๐Ÿ‡ฆ",unicode:"U+1F1F2 U+1F1E6",name:"Morocco",title:"flag for Morocco",dialCode:"+212"},{code:"MC",emoji:"๐Ÿ‡ฒ๐Ÿ‡จ",unicode:"U+1F1F2 U+1F1E8",name:"Monaco",title:"flag for Monaco",dialCode:"+377"},{code:"MD",emoji:"๐Ÿ‡ฒ๐Ÿ‡ฉ",unicode:"U+1F1F2 U+1F1E9",name:"Moldova",title:"flag for Moldova",dialCode:"+373"},{code:"ME",emoji:"๐Ÿ‡ฒ๐Ÿ‡ช",unicode:"U+1F1F2 U+1F1EA",name:"Montenegro",title:"flag for Montenegro",dialCode:"+382"},{code:"MF",emoji:"๐Ÿ‡ฒ๐Ÿ‡ซ",unicode:"U+1F1F2 U+1F1EB",name:"Saint Martin (French Part)",title:"flag for Saint Martin (French Part)",dialCode:"+590"},{code:"MG",emoji:"๐Ÿ‡ฒ๐Ÿ‡ฌ",unicode:"U+1F1F2 U+1F1EC",name:"Madagascar",title:"flag for Madagascar",dialCode:"+261"},{code:"MH",emoji:"๐Ÿ‡ฒ๐Ÿ‡ญ",unicode:"U+1F1F2 U+1F1ED",name:"Marshall Islands",title:"flag for Marshall Islands",dialCode:"+692"},{code:"MK",emoji:"๐Ÿ‡ฒ๐Ÿ‡ฐ",unicode:"U+1F1F2 U+1F1F0",name:"Macedonia",title:"flag for Macedonia",dialCode:"+389"},{code:"ML",emoji:"๐Ÿ‡ฒ๐Ÿ‡ฑ",unicode:"U+1F1F2 U+1F1F1",name:"Mali",title:"flag for Mali",dialCode:"+223"},{code:"MM",emoji:"๐Ÿ‡ฒ๐Ÿ‡ฒ",unicode:"U+1F1F2 U+1F1F2",name:"Myanmar",title:"flag for Myanmar",dialCode:"+95"},{code:"MN",emoji:"๐Ÿ‡ฒ๐Ÿ‡ณ",unicode:"U+1F1F2 U+1F1F3",name:"Mongolia",title:"flag for Mongolia",dialCode:"+976"},{code:"MO",emoji:"๐Ÿ‡ฒ๐Ÿ‡ด",unicode:"U+1F1F2 U+1F1F4",name:"Macao",title:"flag for Macao",dialCode:"+853"},{code:"MP",emoji:"๐Ÿ‡ฒ๐Ÿ‡ต",unicode:"U+1F1F2 U+1F1F5",name:"Northern Mariana Islands",title:"flag for Northern Mariana Islands",dialCode:"+1 670"},{code:"MQ",emoji:"๐Ÿ‡ฒ๐Ÿ‡ถ",unicode:"U+1F1F2 U+1F1F6",name:"Martinique",title:"flag for Martinique",dialCode:"+596"},{code:"MR",emoji:"๐Ÿ‡ฒ๐Ÿ‡ท",unicode:"U+1F1F2 U+1F1F7",name:"Mauritania",title:"flag for Mauritania",dialCode:"+222"},{code:"MS",emoji:"๐Ÿ‡ฒ๐Ÿ‡ธ",unicode:"U+1F1F2 U+1F1F8",name:"Montserrat",title:"flag for Montserrat",dialCode:"+1664"},{code:"MT",emoji:"๐Ÿ‡ฒ๐Ÿ‡น",unicode:"U+1F1F2 U+1F1F9",name:"Malta",title:"flag for Malta",dialCode:"+356"},{code:"MU",emoji:"๐Ÿ‡ฒ๐Ÿ‡บ",unicode:"U+1F1F2 U+1F1FA",name:"Mauritius",title:"flag for Mauritius",dialCode:"+230"},{code:"MV",emoji:"๐Ÿ‡ฒ๐Ÿ‡ป",unicode:"U+1F1F2 U+1F1FB",name:"Maldives",title:"flag for Maldives",dialCode:"+960"},{code:"MW",emoji:"๐Ÿ‡ฒ๐Ÿ‡ผ",unicode:"U+1F1F2 U+1F1FC",name:"Malawi",title:"flag for Malawi",dialCode:"+265"},{code:"MX",emoji:"๐Ÿ‡ฒ๐Ÿ‡ฝ",unicode:"U+1F1F2 U+1F1FD",name:"Mexico",title:"flag for Mexico",dialCode:"+52"},{code:"MY",emoji:"๐Ÿ‡ฒ๐Ÿ‡พ",unicode:"U+1F1F2 U+1F1FE",name:"Malaysia",title:"flag for Malaysia",dialCode:"+60"},{code:"MZ",emoji:"๐Ÿ‡ฒ๐Ÿ‡ฟ",unicode:"U+1F1F2 U+1F1FF",name:"Mozambique",title:"flag for Mozambique",dialCode:"+258"},{code:"NA",emoji:"๐Ÿ‡ณ๐Ÿ‡ฆ",unicode:"U+1F1F3 U+1F1E6",name:"Namibia",title:"flag for Namibia",dialCode:"+264"},{code:"NC",emoji:"๐Ÿ‡ณ๐Ÿ‡จ",unicode:"U+1F1F3 U+1F1E8",name:"New Caledonia",title:"flag for New Caledonia",dialCode:"+687"},{code:"NE",emoji:"๐Ÿ‡ณ๐Ÿ‡ช",unicode:"U+1F1F3 U+1F1EA",name:"Niger",title:"flag for Niger",dialCode:"+227"},{code:"NF",emoji:"๐Ÿ‡ณ๐Ÿ‡ซ",unicode:"U+1F1F3 U+1F1EB",name:"Norfolk Island",title:"flag for Norfolk Island",dialCode:"+672"},{code:"NG",emoji:"๐Ÿ‡ณ๐Ÿ‡ฌ",unicode:"U+1F1F3 U+1F1EC",name:"Nigeria",title:"flag for Nigeria",dialCode:"+234"},{code:"NI",emoji:"๐Ÿ‡ณ๐Ÿ‡ฎ",unicode:"U+1F1F3 U+1F1EE",name:"Nicaragua",title:"flag for Nicaragua",dialCode:"+505"},{code:"NL",emoji:"๐Ÿ‡ณ๐Ÿ‡ฑ",unicode:"U+1F1F3 U+1F1F1",name:"Netherlands",title:"flag for Netherlands",dialCode:"+31"},{code:"NO",emoji:"๐Ÿ‡ณ๐Ÿ‡ด",unicode:"U+1F1F3 U+1F1F4",name:"Norway",title:"flag for Norway",dialCode:"+47"},{code:"NP",emoji:"๐Ÿ‡ณ๐Ÿ‡ต",unicode:"U+1F1F3 U+1F1F5",name:"Nepal",title:"flag for Nepal",dialCode:"+977"},{code:"NR",emoji:"๐Ÿ‡ณ๐Ÿ‡ท",unicode:"U+1F1F3 U+1F1F7",name:"Nauru",title:"flag for Nauru",dialCode:"+674"},{code:"NU",emoji:"๐Ÿ‡ณ๐Ÿ‡บ",unicode:"U+1F1F3 U+1F1FA",name:"Niue",title:"flag for Niue",dialCode:"+683"},{code:"NZ",emoji:"๐Ÿ‡ณ๐Ÿ‡ฟ",unicode:"U+1F1F3 U+1F1FF",name:"New Zealand",title:"flag for New Zealand",dialCode:"+64"},{code:"OM",emoji:"๐Ÿ‡ด๐Ÿ‡ฒ",unicode:"U+1F1F4 U+1F1F2",name:"Oman",title:"flag for Oman",dialCode:"+968"},{code:"PA",emoji:"๐Ÿ‡ต๐Ÿ‡ฆ",unicode:"U+1F1F5 U+1F1E6",name:"Panama",title:"flag for Panama",dialCode:"+507"},{code:"PE",emoji:"๐Ÿ‡ต๐Ÿ‡ช",unicode:"U+1F1F5 U+1F1EA",name:"Peru",title:"flag for Peru",dialCode:"+51"},{code:"PF",emoji:"๐Ÿ‡ต๐Ÿ‡ซ",unicode:"U+1F1F5 U+1F1EB",name:"French Polynesia",title:"flag for French Polynesia",dialCode:"+689"},{code:"PG",emoji:"๐Ÿ‡ต๐Ÿ‡ฌ",unicode:"U+1F1F5 U+1F1EC",name:"Papua New Guinea",title:"flag for Papua New Guinea",dialCode:"+675"},{code:"PH",emoji:"๐Ÿ‡ต๐Ÿ‡ญ",unicode:"U+1F1F5 U+1F1ED",name:"Philippines",title:"flag for Philippines",dialCode:"+63"},{code:"PK",emoji:"๐Ÿ‡ต๐Ÿ‡ฐ",unicode:"U+1F1F5 U+1F1F0",name:"Pakistan",title:"flag for Pakistan",dialCode:"+92"},{code:"PL",emoji:"๐Ÿ‡ต๐Ÿ‡ฑ",unicode:"U+1F1F5 U+1F1F1",name:"Poland",title:"flag for Poland",dialCode:"+48"},{code:"PM",emoji:"๐Ÿ‡ต๐Ÿ‡ฒ",unicode:"U+1F1F5 U+1F1F2",name:"Saint Pierre and Miquelon",title:"flag for Saint Pierre and Miquelon",dialCode:"+508"},{code:"PN",emoji:"๐Ÿ‡ต๐Ÿ‡ณ",unicode:"U+1F1F5 U+1F1F3",name:"Pitcairn",title:"flag for Pitcairn",dialCode:"+872"},{code:"PR",emoji:"๐Ÿ‡ต๐Ÿ‡ท",unicode:"U+1F1F5 U+1F1F7",name:"Puerto Rico",title:"flag for Puerto Rico",dialCode:"+1 939"},{code:"PS",emoji:"๐Ÿ‡ต๐Ÿ‡ธ",unicode:"U+1F1F5 U+1F1F8",name:"Palestinian Territory",title:"flag for Palestinian Territory",dialCode:"+970"},{code:"PT",emoji:"๐Ÿ‡ต๐Ÿ‡น",unicode:"U+1F1F5 U+1F1F9",name:"Portugal",title:"flag for Portugal",dialCode:"+351"},{code:"PW",emoji:"๐Ÿ‡ต๐Ÿ‡ผ",unicode:"U+1F1F5 U+1F1FC",name:"Palau",title:"flag for Palau",dialCode:"+680"},{code:"PY",emoji:"๐Ÿ‡ต๐Ÿ‡พ",unicode:"U+1F1F5 U+1F1FE",name:"Paraguay",title:"flag for Paraguay",dialCode:"+595"},{code:"QA",emoji:"๐Ÿ‡ถ๐Ÿ‡ฆ",unicode:"U+1F1F6 U+1F1E6",name:"Qatar",title:"flag for Qatar",dialCode:"+974"},{code:"RE",emoji:"๐Ÿ‡ท๐Ÿ‡ช",unicode:"U+1F1F7 U+1F1EA",name:"Rรฉunion",title:"flag for Rรฉunion",dialCode:"+262"},{code:"RO",emoji:"๐Ÿ‡ท๐Ÿ‡ด",unicode:"U+1F1F7 U+1F1F4",name:"Romania",title:"flag for Romania",dialCode:"+40"},{code:"RS",emoji:"๐Ÿ‡ท๐Ÿ‡ธ",unicode:"U+1F1F7 U+1F1F8",name:"Serbia",title:"flag for Serbia",dialCode:"+381"},{code:"RU",emoji:"๐Ÿ‡ท๐Ÿ‡บ",unicode:"U+1F1F7 U+1F1FA",name:"Russia",title:"flag for Russia",dialCode:"+7"},{code:"RW",emoji:"๐Ÿ‡ท๐Ÿ‡ผ",unicode:"U+1F1F7 U+1F1FC",name:"Rwanda",title:"flag for Rwanda",dialCode:"+250"},{code:"SA",emoji:"๐Ÿ‡ธ๐Ÿ‡ฆ",unicode:"U+1F1F8 U+1F1E6",name:"Saudi Arabia",title:"flag for Saudi Arabia",dialCode:"+966"},{code:"SB",emoji:"๐Ÿ‡ธ๐Ÿ‡ง",unicode:"U+1F1F8 U+1F1E7",name:"Solomon Islands",title:"flag for Solomon Islands",dialCode:"+677"},{code:"SC",emoji:"๐Ÿ‡ธ๐Ÿ‡จ",unicode:"U+1F1F8 U+1F1E8",name:"Seychelles",title:"flag for Seychelles",dialCode:"+248"},{code:"SD",emoji:"๐Ÿ‡ธ๐Ÿ‡ฉ",unicode:"U+1F1F8 U+1F1E9",name:"Sudan",title:"flag for Sudan",dialCode:"+249"},{code:"SE",emoji:"๐Ÿ‡ธ๐Ÿ‡ช",unicode:"U+1F1F8 U+1F1EA",name:"Sweden",title:"flag for Sweden",dialCode:"+46"},{code:"SG",emoji:"๐Ÿ‡ธ๐Ÿ‡ฌ",unicode:"U+1F1F8 U+1F1EC",name:"Singapore",title:"flag for Singapore",dialCode:"+65"},{code:"SH",emoji:"๐Ÿ‡ธ๐Ÿ‡ญ",unicode:"U+1F1F8 U+1F1ED",name:"Saint Helena, Ascension and Tristan Da Cunha",title:"flag for Saint Helena, Ascension and Tristan Da Cunha",dialCode:"+290"},{code:"SI",emoji:"๐Ÿ‡ธ๐Ÿ‡ฎ",unicode:"U+1F1F8 U+1F1EE",name:"Slovenia",title:"flag for Slovenia",dialCode:"+386"},{code:"SJ",emoji:"๐Ÿ‡ธ๐Ÿ‡ฏ",unicode:"U+1F1F8 U+1F1EF",name:"Svalbard and Jan Mayen",title:"flag for Svalbard and Jan Mayen",dialCode:"+47"},{code:"SK",emoji:"๐Ÿ‡ธ๐Ÿ‡ฐ",unicode:"U+1F1F8 U+1F1F0",name:"Slovakia",title:"flag for Slovakia",dialCode:"+421"},{code:"SL",emoji:"๐Ÿ‡ธ๐Ÿ‡ฑ",unicode:"U+1F1F8 U+1F1F1",name:"Sierra Leone",title:"flag for Sierra Leone",dialCode:"+232"},{code:"SM",emoji:"๐Ÿ‡ธ๐Ÿ‡ฒ",unicode:"U+1F1F8 U+1F1F2",name:"San Marino",title:"flag for San Marino",dialCode:"+378"},{code:"SN",emoji:"๐Ÿ‡ธ๐Ÿ‡ณ",unicode:"U+1F1F8 U+1F1F3",name:"Senegal",title:"flag for Senegal",dialCode:"+221"},{code:"SO",emoji:"๐Ÿ‡ธ๐Ÿ‡ด",unicode:"U+1F1F8 U+1F1F4",name:"Somalia",title:"flag for Somalia",dialCode:"+252"},{code:"SR",emoji:"๐Ÿ‡ธ๐Ÿ‡ท",unicode:"U+1F1F8 U+1F1F7",name:"Suriname",title:"flag for Suriname",dialCode:"+597"},{code:"SS",emoji:"๐Ÿ‡ธ๐Ÿ‡ธ",unicode:"U+1F1F8 U+1F1F8",name:"South Sudan",title:"flag for South Sudan"},{code:"ST",emoji:"๐Ÿ‡ธ๐Ÿ‡น",unicode:"U+1F1F8 U+1F1F9",name:"Sao Tome and Principe",title:"flag for Sao Tome and Principe",dialCode:"+239"},{code:"SV",emoji:"๐Ÿ‡ธ๐Ÿ‡ป",unicode:"U+1F1F8 U+1F1FB",name:"El Salvador",title:"flag for El Salvador",dialCode:"+503"},{code:"SX",emoji:"๐Ÿ‡ธ๐Ÿ‡ฝ",unicode:"U+1F1F8 U+1F1FD",name:"Sint Maarten (Dutch Part)",title:"flag for Sint Maarten (Dutch Part)"},{code:"SY",emoji:"๐Ÿ‡ธ๐Ÿ‡พ",unicode:"U+1F1F8 U+1F1FE",name:"Syrian Arab Republic",title:"flag for Syrian Arab Republic",dialCode:"+963"},{code:"SZ",emoji:"๐Ÿ‡ธ๐Ÿ‡ฟ",unicode:"U+1F1F8 U+1F1FF",name:"Swaziland",title:"flag for Swaziland",dialCode:"+268"},{code:"TC",emoji:"๐Ÿ‡น๐Ÿ‡จ",unicode:"U+1F1F9 U+1F1E8",name:"Turks and Caicos Islands",title:"flag for Turks and Caicos Islands",dialCode:"+1 649"},{code:"TD",emoji:"๐Ÿ‡น๐Ÿ‡ฉ",unicode:"U+1F1F9 U+1F1E9",name:"Chad",title:"flag for Chad",dialCode:"+235"},{code:"TF",emoji:"๐Ÿ‡น๐Ÿ‡ซ",unicode:"U+1F1F9 U+1F1EB",name:"French Southern Territories",title:"flag for French Southern Territories"},{code:"TG",emoji:"๐Ÿ‡น๐Ÿ‡ฌ",unicode:"U+1F1F9 U+1F1EC",name:"Togo",title:"flag for Togo",dialCode:"+228"},{code:"TH",emoji:"๐Ÿ‡น๐Ÿ‡ญ",unicode:"U+1F1F9 U+1F1ED",name:"Thailand",title:"flag for Thailand",dialCode:"+66"},{code:"TJ",emoji:"๐Ÿ‡น๐Ÿ‡ฏ",unicode:"U+1F1F9 U+1F1EF",name:"Tajikistan",title:"flag for Tajikistan",dialCode:"+992"},{code:"TK",emoji:"๐Ÿ‡น๐Ÿ‡ฐ",unicode:"U+1F1F9 U+1F1F0",name:"Tokelau",title:"flag for Tokelau",dialCode:"+690"},{code:"TL",emoji:"๐Ÿ‡น๐Ÿ‡ฑ",unicode:"U+1F1F9 U+1F1F1",name:"Timor-Leste",title:"flag for Timor-Leste",dialCode:"+670"},{code:"TM",emoji:"๐Ÿ‡น๐Ÿ‡ฒ",unicode:"U+1F1F9 U+1F1F2",name:"Turkmenistan",title:"flag for Turkmenistan",dialCode:"+993"},{code:"TN",emoji:"๐Ÿ‡น๐Ÿ‡ณ",unicode:"U+1F1F9 U+1F1F3",name:"Tunisia",title:"flag for Tunisia",dialCode:"+216"},{code:"TO",emoji:"๐Ÿ‡น๐Ÿ‡ด",unicode:"U+1F1F9 U+1F1F4",name:"Tonga",title:"flag for Tonga",dialCode:"+676"},{code:"TR",emoji:"๐Ÿ‡น๐Ÿ‡ท",unicode:"U+1F1F9 U+1F1F7",name:"Turkey",title:"flag for Turkey",dialCode:"+90"},{code:"TT",emoji:"๐Ÿ‡น๐Ÿ‡น",unicode:"U+1F1F9 U+1F1F9",name:"Trinidad and Tobago",title:"flag for Trinidad and Tobago",dialCode:"+1 868"},{code:"TV",emoji:"๐Ÿ‡น๐Ÿ‡ป",unicode:"U+1F1F9 U+1F1FB",name:"Tuvalu",title:"flag for Tuvalu",dialCode:"+688"},{code:"TW",emoji:"๐Ÿ‡น๐Ÿ‡ผ",unicode:"U+1F1F9 U+1F1FC",name:"Taiwan",title:"flag for Taiwan",dialCode:"+886"},{code:"TZ",emoji:"๐Ÿ‡น๐Ÿ‡ฟ",unicode:"U+1F1F9 U+1F1FF",name:"Tanzania",title:"flag for Tanzania",dialCode:"+255"},{code:"UA",emoji:"๐Ÿ‡บ๐Ÿ‡ฆ",unicode:"U+1F1FA U+1F1E6",name:"Ukraine",title:"flag for Ukraine",dialCode:"+380"},{code:"UG",emoji:"๐Ÿ‡บ๐Ÿ‡ฌ",unicode:"U+1F1FA U+1F1EC",name:"Uganda",title:"flag for Uganda",dialCode:"+256"},{code:"UM",emoji:"๐Ÿ‡บ๐Ÿ‡ฒ",unicode:"U+1F1FA U+1F1F2",name:"United States Minor Outlying Islands",title:"flag for United States Minor Outlying Islands"},{code:"US",emoji:"๐Ÿ‡บ๐Ÿ‡ธ",unicode:"U+1F1FA U+1F1F8",name:"United States",title:"flag for United States",dialCode:"+1"},{code:"UY",emoji:"๐Ÿ‡บ๐Ÿ‡พ",unicode:"U+1F1FA U+1F1FE",name:"Uruguay",title:"flag for Uruguay",dialCode:"+598"},{code:"UZ",emoji:"๐Ÿ‡บ๐Ÿ‡ฟ",unicode:"U+1F1FA U+1F1FF",name:"Uzbekistan",title:"flag for Uzbekistan",dialCode:"+998"},{code:"VA",emoji:"๐Ÿ‡ป๐Ÿ‡ฆ",unicode:"U+1F1FB U+1F1E6",name:"Vatican City",title:"flag for Vatican City",dialCode:"+379"},{code:"VC",emoji:"๐Ÿ‡ป๐Ÿ‡จ",unicode:"U+1F1FB U+1F1E8",name:"Saint Vincent and The Grenadines",title:"flag for Saint Vincent and The Grenadines",dialCode:"+1 784"},{code:"VE",emoji:"๐Ÿ‡ป๐Ÿ‡ช",unicode:"U+1F1FB U+1F1EA",name:"Venezuela",title:"flag for Venezuela",dialCode:"+58"},{code:"VG",emoji:"๐Ÿ‡ป๐Ÿ‡ฌ",unicode:"U+1F1FB U+1F1EC",name:"Virgin Islands, British",title:"flag for Virgin Islands, British",dialCode:"+1 284"},{code:"VI",emoji:"๐Ÿ‡ป๐Ÿ‡ฎ",unicode:"U+1F1FB U+1F1EE",name:"Virgin Islands, U.S.",title:"flag for Virgin Islands, U.S.",dialCode:"+1 340"},{code:"VN",emoji:"๐Ÿ‡ป๐Ÿ‡ณ",unicode:"U+1F1FB U+1F1F3",name:"Viet Nam",title:"flag for Viet Nam",dialCode:"+84"},{code:"VU",emoji:"๐Ÿ‡ป๐Ÿ‡บ",unicode:"U+1F1FB U+1F1FA",name:"Vanuatu",title:"flag for Vanuatu",dialCode:"+678"},{code:"WF",emoji:"๐Ÿ‡ผ๐Ÿ‡ซ",unicode:"U+1F1FC U+1F1EB",name:"Wallis and Futuna",title:"flag for Wallis and Futuna",dialCode:"+681"},{code:"WS",emoji:"๐Ÿ‡ผ๐Ÿ‡ธ",unicode:"U+1F1FC U+1F1F8",name:"Samoa",title:"flag for Samoa",dialCode:"+685"},{code:"XK",emoji:"๐Ÿ‡ฝ๐Ÿ‡ฐ",unicode:"U+1F1FD U+1F1F0",name:"Kosovo",title:"flag for Kosovo",dialCode:"+383"},{code:"YE",emoji:"๐Ÿ‡พ๐Ÿ‡ช",unicode:"U+1F1FE U+1F1EA",name:"Yemen",title:"flag for Yemen",dialCode:"+967"},{code:"YT",emoji:"๐Ÿ‡พ๐Ÿ‡น",unicode:"U+1F1FE U+1F1F9",name:"Mayotte",title:"flag for Mayotte",dialCode:"+262"},{code:"ZA",emoji:"๐Ÿ‡ฟ๐Ÿ‡ฆ",unicode:"U+1F1FF U+1F1E6",name:"South Africa",title:"flag for South Africa",dialCode:"+27"},{code:"ZM",emoji:"๐Ÿ‡ฟ๐Ÿ‡ฒ",unicode:"U+1F1FF U+1F1F2",name:"Zambia",title:"flag for Zambia",dialCode:"+260"},{code:"ZW",emoji:"๐Ÿ‡ฟ๐Ÿ‡ผ",unicode:"U+1F1FF U+1F1FC",name:"Zimbabwe",title:"flag for Zimbabwe",dialCode:"+263"}];class l{static createInputElement(e,o,i){e.classList.add("geoapify-autocomplete-input"),e.setAttribute("type","text"),e.setAttribute("placeholder",o.placeholder||"Enter an address here"),i.appendChild(e)}static addFeatureIcon(e,o,i){const a={unknown:"map-marker",amenity:"map-marker",building:"map-marker",street:"road",suburb:"city",district:"city",postcode:"city",city:"city",county:"city",state:"city"},t=d.find((e=>i&&e.code.toLowerCase()===i.toLowerCase()));if("country"===o&&t){e.classList.add("emoji");const o=document.createElement("span");o.innerText=t.emoji,e.appendChild(o)}else this.addIcon(e,a[o]?a[o]:"map-marker")}static addIcon(e,o){const i={close:{path:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z",viewbox:"0 0 24 24"},"map-marker":{path:"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z",viewbox:"0 0 384 512"},road:{path:"M573.19 402.67l-139.79-320C428.43 71.29 417.6 64 405.68 64h-97.59l2.45 23.16c.5 4.72-3.21 8.84-7.96 8.84h-29.16c-4.75 0-8.46-4.12-7.96-8.84L267.91 64h-97.59c-11.93 0-22.76 7.29-27.73 18.67L2.8 402.67C-6.45 423.86 8.31 448 30.54 448h196.84l10.31-97.68c.86-8.14 7.72-14.32 15.91-14.32h68.8c8.19 0 15.05 6.18 15.91 14.32L348.62 448h196.84c22.23 0 36.99-24.14 27.73-45.33zM260.4 135.16a8 8 0 0 1 7.96-7.16h39.29c4.09 0 7.53 3.09 7.96 7.16l4.6 43.58c.75 7.09-4.81 13.26-11.93 13.26h-40.54c-7.13 0-12.68-6.17-11.93-13.26l4.59-43.58zM315.64 304h-55.29c-9.5 0-16.91-8.23-15.91-17.68l5.07-48c.86-8.14 7.72-14.32 15.91-14.32h45.15c8.19 0 15.05 6.18 15.91 14.32l5.07 48c1 9.45-6.41 17.68-15.91 17.68z",viewbox:"0 0 576 512"},city:{path:"M616 192H480V24c0-13.26-10.74-24-24-24H312c-13.26 0-24 10.74-24 24v72h-64V16c0-8.84-7.16-16-16-16h-16c-8.84 0-16 7.16-16 16v80h-64V16c0-8.84-7.16-16-16-16H80c-8.84 0-16 7.16-16 16v80H24c-13.26 0-24 10.74-24 24v360c0 17.67 14.33 32 32 32h576c17.67 0 32-14.33 32-32V216c0-13.26-10.75-24-24-24zM128 404c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12H76c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm128 192c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12V76c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm160 288c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40zm0-96c0 6.63-5.37 12-12 12h-40c-6.63 0-12-5.37-12-12v-40c0-6.63 5.37-12 12-12h40c6.63 0 12 5.37 12 12v40z",viewbox:"0 0 640 512"}};var a=document.createElementNS("http://www.w3.org/2000/svg","svg");a.setAttribute("viewBox",i[o].viewbox),a.setAttribute("height","24");var t=document.createElementNS("http://www.w3.org/2000/svg","path");t.setAttribute("d",i[o].path),t.setAttribute("fill","currentColor"),a.appendChild(t),e.appendChild(a)}static getStyledAddressSingleValue(e,o){let i=e;const a=(i||"").toLowerCase().indexOf(o.toLowerCase());return a>=0&&(i=i.substring(0,a)+`<strong>${i.substring(a,a+o.length)}</strong>`+i.substring(a+o.length)),`<span class="main-part">${i}</span>`}static getStyledAddress(e,o){let i,a;const t=e.formatted.split(",").map((e=>e.trim()));if(e.name)i=t[0],a=t.slice(1).join(", ");else{const e=Math.min(2,Math.max(t.length-2,1));i=t.slice(0,e).join(", "),a=t.slice(e).join(", ")}if(e.nonVerifiedParts&&e.nonVerifiedParts.length)e.nonVerifiedParts.forEach((o=>{i=i.replace(e[o],`<span class="non-verified">${e[o]}</span>`)}));else{const e=i.toLowerCase().indexOf(o.toLowerCase());e>=0&&(i=i.substring(0,e)+`<strong>${i.substring(e,e+o.length)}</strong>`+i.substring(e+o.length))}return`<span class="main-part">${i}</span><span class="secondary-part">${a}</span>`}static addDropdownIcon(e,o){const i=document.createElement("span");i.classList.add("icon"),l.addFeatureIcon(i,e.properties.result_type,e.properties.country_code),o.appendChild(i)}static addActiveClassToDropdownItem(e,o){for(var i=0;i<e.length;i++)e[i].classList.remove("active");e[o].classList.add("active")}static createDropdownItemText(){const e=document.createElement("span");return e.classList.add("address"),e}static createDropdownItem(){const e=document.createElement("div");return e.classList.add("geoapify-autocomplete-item"),e}}class s{changeCallbacks=[];suggestionsChangeCallbacks=[];inputCallbacks=[];openCallbacks=[];closeCallbacks=[];requestStartCallbacks=[];requestEndCallbacks=[];addCallback(e,o){let i=this.getCallbacksByOperation(e);i&&i.indexOf(o)<0&&i.push(o)}removeCallback(e,o){let i=this.getCallbacksByOperation(e);i&&(i.indexOf(o)>=0?(i.splice(i.indexOf(o),1),this.setCallbacksByOperation(e,i)):o||this.setCallbacksByOperation(e,[]))}notifyInputChange(e){this.inputCallbacks.forEach((o=>o(e)))}notifyChange(e){this.changeCallbacks.forEach((o=>o(e)))}notifySuggestions(e){this.suggestionsChangeCallbacks.forEach((o=>o(e)))}notifyOpened(){this.openCallbacks.forEach((e=>e(!0)))}notifyClosed(){this.closeCallbacks.forEach((e=>e(!1)))}notifyRequestStart(e){this.requestStartCallbacks.forEach((o=>o(e)))}notifyRequestEnd(e,o,i){this.requestEndCallbacks.forEach((a=>a(e,o,i)))}getCallbacksByOperation(e){let o=null;switch(e){case"select":o=this.changeCallbacks;break;case"suggestions":o=this.suggestionsChangeCallbacks;break;case"input":o=this.inputCallbacks;break;case"close":o=this.closeCallbacks;break;case"open":o=this.openCallbacks;break;case"request_start":o=this.requestStartCallbacks;break;case"request_end":o=this.requestEndCallbacks}return o}setCallbacksByOperation(e,o){switch(e){case"select":this.changeCallbacks=o;break;case"suggestions":this.suggestionsChangeCallbacks=o;break;case"input":this.inputCallbacks=o;break;case"close":this.closeCallbacks=o;break;case"open":this.openCallbacks=o;break;case"request_start":this.requestStartCallbacks=o;break;case"request_end":this.requestEndCallbacks=o}}}exports.GeocoderAutocomplete=class{container;apiKey;inputElement;inputClearButton;autocompleteItemsElement=null;focusedItemIndex;currentItems;currentPromiseReject;currentPlaceDetailsPromiseReject;currentTimeout;callbacks=new s;preprocessHook;postprocessHook;suggestionsFilter;sendGeocoderRequestAlt;sendPlaceDetailsRequestAlt;geocoderUrl="https://api.geoapify.com/v1/geocode/autocomplete";placeDetailsUrl="https://api.geoapify.com/v2/place-details";options={limit:5,debounceDelay:100};constructor(e,o,i){this.container=e,this.apiKey=o,this.constructOptions(i),this.inputElement=document.createElement("input"),l.createInputElement(this.inputElement,this.options,this.container),this.addClearButton(),this.addEventListeners()}setGeocoderUrl(e){this.geocoderUrl=e}setPlaceDetailsUrl(e){this.placeDetailsUrl=e}setType(e){this.options.type=e}setLang(e){this.options.lang=e}setAddDetails(e){this.options.addDetails=e}setSkipIcons(e){this.options.skipIcons=e}setAllowNonVerifiedHouseNumber(e){this.options.allowNonVerifiedHouseNumber=e}setAllowNonVerifiedStreet(e){this.options.allowNonVerifiedStreet=e}setCountryCodes(e){console.warn("WARNING! Obsolete function called. Function setCountryCodes() has been deprecated, please use the new addFilterByCountry() function instead!"),this.options.countryCodes=e}setPosition(e){console.warn("WARNING! Obsolete function called. Function setPosition() has been deprecated, please use the new addBiasByProximity() function instead!"),this.options.position=e}setLimit(e){this.options.limit=e}setValue(e){e?this.inputClearButton.classList.add("visible"):this.inputClearButton.classList.remove("visible"),this.inputElement.value=e}getValue(){return this.inputElement.value}addFilterByCountry(o){this.options.filter[e]=o}addFilterByCircle(e){this.options.filter[i]=e}addFilterByRect(e){this.options.filter[o]=e}addFilterByPlace(e){this.options.filter[t]=e}clearFilters(){this.options.filter={}}addBiasByCountry(o){this.options.bias[e]=o}addBiasByCircle(e){this.options.bias[i]=e}addBiasByRect(e){this.options.bias[o]=e}addBiasByProximity(e){this.options.bias[a]=e}clearBias(){this.options.bias={}}on(e,o){this.callbacks.addCallback(e,o)}off(e,o){this.callbacks.removeCallback(e,o)}once(e,o){this.on(e,o);const i=this,a=()=>{i.off(e,o),i.off(e,a)};this.on(e,a)}setSuggestionsFilter(e){this.suggestionsFilter=n.returnIfFunction(e)}setPreprocessHook(e){this.preprocessHook=n.returnIfFunction(e)}setPostprocessHook(e){this.postprocessHook=n.returnIfFunction(e)}setSendGeocoderRequestFunc(e){this.sendGeocoderRequestAlt=n.returnIfFunction(e)}setSendPlaceDetailsRequestFunc(e){this.sendPlaceDetailsRequestAlt=n.returnIfFunction(e)}isOpen(){return!!this.autocompleteItemsElement}close(){this.closeDropDownList()}open(){this.isOpen()||this.openDropdownAgain()}sendGeocoderRequestOrAlt(e){return this.sendGeocoderRequestAlt?this.sendGeocoderRequestAlt(e,this):this.sendGeocoderRequest(e)}sendGeocoderRequest(e){return new Promise(((o,i)=>{this.currentPromiseReject=i;let a=n.generateUrl(e,this.geocoderUrl,this.apiKey,this.options);fetch(a).then((e=>{e.ok?e.json().then((e=>o(e))):e.json().then((e=>i(e)))}))}))}sendPlaceDetailsRequest(e){return new Promise(((o,i)=>{if(n.isNotOpenStreetMapData(e))return void o(e);this.currentPlaceDetailsPromiseReject=i;let a=n.generatePlacesUrl(this.placeDetailsUrl,e.properties.place_id,this.apiKey,this.options);fetch(a).then((a=>{a.ok?a.json().then((i=>{i.features.length||o(e),o(i.features[0])})):a.json().then((e=>i(e)))}))}))}onUserInput(e){let o=this.inputElement.value,i=this.inputElement.value;if(this.callbacks.notifyInputChange(o),this.closeDropDownList(),this.focusedItemIndex=-1,this.cancelPreviousRequest(),this.cancelPreviousTimeout(),!o)return this.removeClearButton(),!1;this.showClearButton(),this.currentTimeout=window.setTimeout((()=>{n.returnIfFunction(this.preprocessHook)&&(o=this.preprocessHook(o)),this.callbacks.notifyRequestStart(o),this.sendGeocoderRequestOrAlt(o).then((o=>{this.callbacks.notifyRequestEnd(!0,o),this.onDropdownDataLoad(o,i,e)}),(e=>{this.callbacks.notifyRequestEnd(!1,null,e),e.canceled||console.log(e)}))}),this.options.debounceDelay)}onDropdownDataLoad(e,o,i){n.needToCalculateExtendByNonVerifiedValues(e,this.options)&&n.extendByNonVerifiedValues(this.options,e.features,e?.query?.parsed),this.currentItems=e.features,n.needToFilterDataBySuggestionsFilter(this.currentItems,this.suggestionsFilter)&&(this.currentItems=this.suggestionsFilter(this.currentItems)),this.callbacks.notifySuggestions(this.currentItems),this.currentItems.length&&(this.createDropdown(),this.currentItems.forEach(((e,a)=>{this.populateDropdownItem(e,o,i,a)})))}populateDropdownItem(e,o,i,a){const t=l.createDropdownItem();this.options.skipIcons||l.addDropdownIcon(e,t);const d=l.createDropdownItemText();if(n.returnIfFunction(this.postprocessHook)){const i=this.postprocessHook(e);d.innerHTML=l.getStyledAddressSingleValue(i,o)}else d.innerHTML=l.getStyledAddress(e.properties,o);t.appendChild(d),this.addEventListenerOnDropdownClick(t,i,a),this.autocompleteItemsElement.appendChild(t)}addEventListenerOnDropdownClick(e,o,i){e.addEventListener("click",(e=>{o.stopPropagation(),this.setValueAndNotify(this.currentItems[i])}))}createDropdown(){this.autocompleteItemsElement=document.createElement("div"),this.autocompleteItemsElement.setAttribute("class","geoapify-autocomplete-items"),this.callbacks.notifyOpened(),this.container.appendChild(this.autocompleteItemsElement)}cancelPreviousTimeout(){this.currentTimeout&&(window.clearTimeout(this.currentTimeout),this.currentTimeout=null)}cancelPreviousRequest(){this.currentPromiseReject&&(this.currentPromiseReject({canceled:!0}),this.currentPromiseReject=null)}addEventListeners(){this.inputElement.addEventListener("input",this.onUserInput.bind(this),!1),this.inputElement.addEventListener("keydown",this.onUserKeyPress.bind(this),!1),document.addEventListener("click",(e=>{e.target!==this.inputElement?this.closeDropDownList():this.autocompleteItemsElement||this.openDropdownAgain()}))}showClearButton(){this.inputClearButton.classList.add("visible")}removeClearButton(){this.inputClearButton.classList.remove("visible")}onUserKeyPress(e){if(this.autocompleteItemsElement){const o=this.autocompleteItemsElement.getElementsByTagName("div");"ArrowDown"===e.code?this.handleArrowDownEvent(e,o):"ArrowUp"===e.code?this.handleArrowUpEvent(e,o):"Enter"===e.code?this.handleEnterEvent(e):"Escape"===e.code&&this.closeDropDownList()}else"ArrowDown"==e.code&&this.openDropdownAgain()}handleEnterEvent(e){e.preventDefault(),this.focusedItemIndex>-1&&(this.options.skipSelectionOnArrowKey?this.setValueAndNotify(this.currentItems[this.focusedItemIndex]):this.closeDropDownList())}handleArrowUpEvent(e,o){e.preventDefault(),this.focusedItemIndex--,this.focusedItemIndex<0&&(this.focusedItemIndex=o.length-1),this.setActive(o,this.focusedItemIndex)}handleArrowDownEvent(e,o){e.preventDefault(),this.focusedItemIndex++,this.focusedItemIndex>=o.length&&(this.focusedItemIndex=0),this.setActive(o,this.focusedItemIndex)}setActive(e,o){if(!e||!e.length)return!1;l.addActiveClassToDropdownItem(e,o),this.options.skipSelectionOnArrowKey||(this.inputElement.value=n.returnIfFunction(this.postprocessHook)?this.postprocessHook(this.currentItems[o]):this.currentItems[o].properties.formatted,this.notifyValueSelected(this.currentItems[o]))}setValueAndNotify(e){this.inputElement.value=n.returnIfFunction(this.postprocessHook)?this.postprocessHook(e):e.properties.formatted,this.notifyValueSelected(e),this.closeDropDownList()}clearFieldAndNotify(e){e.stopPropagation(),this.inputElement.value="",this.removeClearButton(),this.cancelPreviousRequest(),this.cancelPreviousTimeout(),this.closeDropDownList(),this.notifyValueSelected(null)}closeDropDownList(){this.autocompleteItemsElement&&(this.container.removeChild(this.autocompleteItemsElement),this.autocompleteItemsElement=null,this.callbacks.notifyClosed())}notifyValueSelected(e){this.cancelPreviousPlaceDetailsRequest(),this.noNeedToRequestPlaceDetails(e)?this.callbacks.notifyChange(e):this.sendPlaceDetailsRequestOrAlt(e).then((e=>{this.callbacks.notifyChange(e),this.currentPlaceDetailsPromiseReject=null}),(o=>{o.canceled||(console.log(o),this.callbacks.notifyChange(e),this.currentPlaceDetailsPromiseReject=null)}))}sendPlaceDetailsRequestOrAlt(e){return this.sendPlaceDetailsRequestAlt?this.sendPlaceDetailsRequestAlt(e,this):this.sendPlaceDetailsRequest(e)}noNeedToRequestPlaceDetails(e){return!this.options.addDetails||!e||e.properties.nonVerifiedParts?.length}cancelPreviousPlaceDetailsRequest(){this.currentPlaceDetailsPromiseReject&&(this.currentPlaceDetailsPromiseReject({canceled:!0}),this.currentPlaceDetailsPromiseReject=null)}openDropdownAgain(){const e=document.createEvent("Event");e.initEvent("input",!0,!0),this.inputElement.dispatchEvent(e)}constructOptions(e){this.options=e?{...this.options,...e}:this.options,this.options.filter=this.options.filter||{},this.options.bias=this.options.bias||{},this.options.countryCodes&&this.addFilterByCountry(this.options.countryCodes),this.options.position&&this.addBiasByProximity(this.options.position)}addClearButton(){this.inputClearButton=document.createElement("div"),this.inputClearButton.classList.add("geoapify-close-button"),l.addIcon(this.inputClearButton,"close"),this.inputClearButton.addEventListener("click",this.clearFieldAndNotify.bind(this),!1),this.container.appendChild(this.inputClearButton)}}; //# sourceMappingURL=index.cjs.js.map