From a96fa77e6ae8b3a0382e3151fa9a006a695b091c Mon Sep 17 00:00:00 2001 From: Jack OConnor Date: Fri, 7 Jun 2024 15:23:40 +0100 Subject: [PATCH] Fix: auto country ignored in some cases. Closes #1646 --- build/js/intlTelInput.js | 18 +++++++++++------- build/js/intlTelInput.min.js | 2 +- build/js/intlTelInputWithUtils.js | 18 +++++++++++------- build/js/intlTelInputWithUtils.min.js | 2 +- grunt/replace.js | 2 +- react/build/IntlTelInput.cjs | 18 +++++++++++------- react/build/IntlTelInput.js | 18 +++++++++++------- react/build/IntlTelInputWithUtils.cjs | 18 +++++++++++------- react/build/IntlTelInputWithUtils.js | 18 +++++++++++------- react/demo/set-number-bundle.js | 18 +++++++++++------- react/demo/simple-bundle.js | 18 +++++++++++------- react/demo/validation-bundle.js | 18 +++++++++++------- src/js/intl-tel-input.ts | 20 ++++++++++++-------- 13 files changed, 114 insertions(+), 74 deletions(-) diff --git a/build/js/intlTelInput.js b/build/js/intlTelInput.js index 908f7213f..7a3549aff 100644 --- a/build/js/intlTelInput.js +++ b/build/js/intlTelInput.js @@ -1894,10 +1894,11 @@ var factoryOutput = (() => { const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -1976,18 +1977,20 @@ var factoryOutput = (() => { } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -2607,7 +2610,8 @@ var factoryOutput = (() => { handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/build/js/intlTelInput.min.js b/build/js/intlTelInput.min.js index 8dc3204f2..cd160ef4a 100644 --- a/build/js/intlTelInput.min.js +++ b/build/js/intlTelInput.min.js @@ -13,7 +13,7 @@ } }(() => { -var factoryOutput=(()=>{var _=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var P=(a,t)=>{for(var e in t)_(a,e,{get:t[e],enumerable:!0})},H=(a,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of M(t))!x.call(a,n)&&n!==e&&_(a,n,{get:()=>t[n],enumerable:!(i=S(t,n))||i.enumerable});return a};var O=a=>H(_({},"__esModule",{value:!0}),a);var K={};P(K,{Iti:()=>v,default:()=>B});var L=[["af","93"],["al","355"],["dz","213"],["as","1",5,["684"]],["ad","376"],["ao","244"],["ai","1",6,["264"]],["ag","1",7,["268"]],["ar","54"],["am","374"],["aw","297"],["ac","247"],["au","61",0],["at","43"],["az","994"],["bs","1",8,["242"]],["bh","973"],["bd","880"],["bb","1",9,["246"]],["by","375"],["be","32"],["bz","501"],["bj","229"],["bm","1",10,["441"]],["bt","975"],["bo","591"],["ba","387"],["bw","267"],["br","55"],["io","246"],["vg","1",11,["284"]],["bn","673"],["bg","359"],["bf","226"],["bi","257"],["kh","855"],["cm","237"],["ca","1",1,["204","226","236","249","250","263","289","306","343","354","365","367","368","382","387","403","416","418","428","431","437","438","450","584","468","474","506","514","519","548","579","581","584","587","604","613","639","647","672","683","705","709","742","753","778","780","782","807","819","825","867","873","879","902","905"]],["cv","238"],["bq","599",1,["3","4","7"]],["ky","1",12,["345"]],["cf","236"],["td","235"],["cl","56"],["cn","86"],["cx","61",2,["89164"]],["cc","61",1,["89162"]],["co","57"],["km","269"],["cg","242"],["cd","243"],["ck","682"],["cr","506"],["ci","225"],["hr","385"],["cu","53"],["cw","599",0],["cy","357"],["cz","420"],["dk","45"],["dj","253"],["dm","1",13,["767"]],["do","1",2,["809","829","849"]],["ec","593"],["eg","20"],["sv","503"],["gq","240"],["er","291"],["ee","372"],["sz","268"],["et","251"],["fk","500"],["fo","298"],["fj","679"],["fi","358",0],["fr","33"],["gf","594"],["pf","689"],["ga","241"],["gm","220"],["ge","995"],["de","49"],["gh","233"],["gi","350"],["gr","30"],["gl","299"],["gd","1",14,["473"]],["gp","590",0],["gu","1",15,["671"]],["gt","502"],["gg","44",1,["1481","7781","7839","7911"]],["gn","224"],["gw","245"],["gy","592"],["ht","509"],["hn","504"],["hk","852"],["hu","36"],["is","354"],["in","91"],["id","62"],["ir","98"],["iq","964"],["ie","353"],["im","44",2,["1624","74576","7524","7924","7624"]],["il","972"],["it","39",0],["jm","1",4,["876","658"]],["jp","81"],["je","44",3,["1534","7509","7700","7797","7829","7937"]],["jo","962"],["kz","7",1,["33","7"]],["ke","254"],["ki","686"],["xk","383"],["kw","965"],["kg","996"],["la","856"],["lv","371"],["lb","961"],["ls","266"],["lr","231"],["ly","218"],["li","423"],["lt","370"],["lu","352"],["mo","853"],["mg","261"],["mw","265"],["my","60"],["mv","960"],["ml","223"],["mt","356"],["mh","692"],["mq","596"],["mr","222"],["mu","230"],["yt","262",1,["269","639"]],["mx","52"],["fm","691"],["md","373"],["mc","377"],["mn","976"],["me","382"],["ms","1",16,["664"]],["ma","212",0],["mz","258"],["mm","95"],["na","264"],["nr","674"],["np","977"],["nl","31"],["nc","687"],["nz","64"],["ni","505"],["ne","227"],["ng","234"],["nu","683"],["nf","672"],["kp","850"],["mk","389"],["mp","1",17,["670"]],["no","47",0],["om","968"],["pk","92"],["pw","680"],["ps","970"],["pa","507"],["pg","675"],["py","595"],["pe","51"],["ph","63"],["pl","48"],["pt","351"],["pr","1",3,["787","939"]],["qa","974"],["re","262",0],["ro","40"],["ru","7",0],["rw","250"],["ws","685"],["sm","378"],["st","239"],["sa","966"],["sn","221"],["rs","381"],["sc","248"],["sl","232"],["sg","65"],["sx","1",21,["721"]],["sk","421"],["si","386"],["sb","677"],["so","252"],["za","27"],["kr","82"],["ss","211"],["es","34"],["lk","94"],["bl","590",1],["sh","290"],["kn","1",18,["869"]],["lc","1",19,["758"]],["mf","590",2],["pm","508"],["vc","1",20,["784"]],["sd","249"],["sr","597"],["sj","47",1,["79"]],["se","46"],["ch","41"],["sy","963"],["tw","886"],["tj","992"],["tz","255"],["th","66"],["tl","670"],["tg","228"],["tk","690"],["to","676"],["tt","1",22,["868"]],["tn","216"],["tr","90"],["tm","993"],["tc","1",23,["649"]],["tv","688"],["ug","256"],["ua","380"],["ae","971"],["gb","44",0],["us","1",0],["uy","598"],["vi","1",24,["340"]],["uz","998"],["vu","678"],["va","39",1,["06698"]],["ve","58"],["vn","84"],["wf","681"],["eh","212",1,["5288","5289"]],["ye","967"],["zm","260"],["zw","263"],["ax","358",1,["18"]]],T=[];for(let a=0;aa.replace(/\D/g,""),N=(a="")=>a.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase(),k=a=>{let t=b(a);if(t.charAt(0)==="1"){let e=t.substr(1,3);return z.indexOf(e)!==-1}return!1},j=(a,t,e,i)=>{if(e===0&&!i)return 0;let n=0;for(let s=0;s{let i=document.createElement(a);return t&&Object.entries(t).forEach(([n,s])=>i.setAttribute(n,s)),e&&e.appendChild(i),i},f=a=>{let{instances:t}=o;Object.values(t).forEach(e=>e[a]())},v=class{id;promise;telInput;highlightedItem;options;hadInitialPlaceholder;isRTL;selectedCountryData;countries;dialCodeMaxLen;dialCodeToIso2Map;dialCodes;countryContainer;selectedCountry;selectedCountryInner;selectedCountryA11yText;selectedDialCode;dropdownArrow;dropdownContent;searchInput;searchResultsA11yText;countryList;dropdown;hiddenInput;hiddenInputCountry;maxCoreNumberLength;defaultCountry;_a14;_a9;_a10;_a11;_a12;_handleKeydownEvent;_a4;_a0;_a1;_a2;_a3;_a7;resolveAutoCountryPromise;rejectAutoCountryPromise;resolveUtilsScriptPromise;rejectUtilsScriptPromise;constructor(t,e={}){this.id=R++,this.a=t,this.c=null,this.d=Object.assign({},A,e),this.e=!!t.getAttribute("placeholder")}_init(){this.d.useFullscreenPopup&&(this.d.fixDropdownWidth=!1),this.d.separateDialCode&&(this.d.allowDropdown=!0,this.d.nationalMode=!1),!this.d.showFlags&&!this.d.separateDialCode&&(this.d.nationalMode=!1),this.d.useFullscreenPopup&&!this.d.dropdownContainer&&(this.d.dropdownContainer=document.body),this.isRTL=!!this.a.closest("[dir=rtl]"),this.d.i18n={...I,...this.d.i18n};let t=new Promise((i,n)=>{this.h=i,this.i=n}),e=new Promise((i,n)=>{this.i0=i,this.i1=n});this.promise=Promise.all([t,e]),this.s={},this._b(),this._f(),this._h(),this._i(),this._i3()}_b(){this._d(),this._d2(),this._d0(),this.d.countryOrder&&(this.d.countryOrder=this.d.countryOrder.map(t=>t.toLowerCase())),this._sortCountries()}_sortCountries(){this.p.sort((t,e)=>{let{countryOrder:i}=this.d;if(i){let n=i.indexOf(t.iso2),s=i.indexOf(e.iso2),r=n>-1,l=s>-1;if(r||l)return r&&l?n-s:r?-1:1}return t.namee.name?1:0})}_c(t,e,i){e.length>this.dialCodeMaxLen&&(this.dialCodeMaxLen=e.length),this.q.hasOwnProperty(e)||(this.q[e]=[]);for(let s=0;sn.toLowerCase());this.p=y.filter(n=>i.indexOf(n.iso2)>-1)}else if(e.length){let i=e.map(n=>n.toLowerCase());this.p=y.filter(n=>i.indexOf(n.iso2)===-1)}else this.p=y}_d0(){for(let t=0;t
`),r+=`${n.name}`,r+=`+${n.dialCode}`,s.insertAdjacentHTML("beforeend",r)}}_h(t=!1){let e=this.a.getAttribute("value"),i=this.a.value,s=e&&e.charAt(0)==="+"&&(!i||i.charAt(0)!=="+")?e:i,r=this._5(s),l=k(s),{initialCountry:u}=this.d;if(r&&!l)this._v(s);else if(u!=="auto"||t){let d=u?u.toLowerCase():"";d&&this._y(d,!0)?this._z(d):r&&l?this._z("us"):this._z()}s&&this._u(s)}_i(){this._j(),this.d.allowDropdown&&this._i2(),(this.hiddenInput||this.hiddenInputCountry)&&this.a.form&&this._i0()}_i0(){this._a14=()=>{this.hiddenInput&&(this.hiddenInput.value=this.getNumber()),this.hiddenInputCountry&&(this.hiddenInputCountry.value=this.getSelectedCountryData().iso2||"")},this.a.form?.addEventListener("submit",this._a14)}_i2(){this._a9=e=>{this.dropdownContent.classList.contains("iti__hide")?this.a.focus():e.preventDefault()};let t=this.a.closest("label");t&&t.addEventListener("click",this._a9),this._a10=()=>{this.dropdownContent.classList.contains("iti__hide")&&!this.a.disabled&&!this.a.readOnly&&this._n()},this.selectedCountry.addEventListener("click",this._a10),this._a11=e=>{this.dropdownContent.classList.contains("iti__hide")&&["ArrowUp","ArrowDown"," ","Enter"].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),this._n()),e.key==="Tab"&&this._2()},this.k.addEventListener("keydown",this._a11)}_i3(){this.d.utilsScript&&!o.utils?o.documentReady()?o.loadUtils(this.d.utilsScript):window.addEventListener("load",()=>{o.loadUtils(this.d.utilsScript)}):this.i0(),this.d.initialCountry==="auto"&&!this.s.iso2?this._i4():this.h()}_i4(){o.autoCountry?this.handleAutoCountry():o.startedLoadingAutoCountry||(o.startedLoadingAutoCountry=!0,typeof this.d.geoIpLookup=="function"&&this.d.geoIpLookup((t="")=>{let e=t.toLowerCase();e&&this._y(e,!0)?(o.autoCountry=e,setTimeout(()=>f("handleAutoCountry"))):(this._h(!0),f("rejectAutoCountryPromise"))},()=>{this._h(!0),f("rejectAutoCountryPromise")}))}_j(){let{strictMode:t,formatAsYouType:e,separateDialCode:i,formatOnDisplay:n}=this.d,s=!1;this._a12=r=>{this._v(this.a.value)&&this._8();let l=r?.data&&/[^+0-9]/.test(r.data),u=r?.inputType==="insertFromPaste"&&this.a.value;l||u&&!t?s=!0:/[^+0-9]/.test(this.a.value)||(s=!1);let d=r?.detail&&r.detail.isSetNumber&&!n;if(e&&!s&&!d){let h=this.a.selectionStart||0,p=this.a.value.substring(0,h).replace(/[^+0-9]/g,"").length,m=r?.inputType==="deleteContentForward",C=this._9(),w=j(p,C,h,m);this.a.value=C,this.a.setSelectionRange(w,w)}},this.a.addEventListener("input",this._a12),(t||i)&&(this._handleKeydownEvent=r=>{if(r.key&&r.key.length===1&&!r.altKey&&!r.ctrlKey&&!r.metaKey){if(i&&r.key==="+"){r.preventDefault(),this._n(),this.searchInput.value="+",this._p3("",!0);return}if(t){let l=this.a.selectionStart===0&&r.key==="+",u=/^[0-9]$/.test(r.key),d=l||u,h=this._6(),g=o.utils.getCoreNumber(h,this.s.iso2),p=this.maxCoreNumberLength&&g.length>=this.maxCoreNumberLength,m=this.a.value.substring(this.a.selectionStart,this.a.selectionEnd),C=/\d/.test(m);(!d||p&&!C)&&r.preventDefault()}}},this.a.addEventListener("keydown",this._handleKeydownEvent))}_j2(t){let e=parseInt(this.a.getAttribute("maxlength")||"",10);return e&&t.length>e?t.substr(0,e):t}_trigger(t,e={}){let i=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:e});this.a.dispatchEvent(i)}_n(){let{fixDropdownWidth:t}=this.d;t&&(this.dropdownContent.style.width=`${this.a.offsetWidth}px`),this.dropdownContent.classList.remove("iti__hide"),this.selectedCountry.setAttribute("aria-expanded","true"),this._o();let e=this.countryList.firstElementChild;e&&(this._x(e,!1),this.countryList.scrollTop=0),this.searchInput.focus(),this._p(),this.u.classList.add("iti__arrow--up"),this._trigger("open:countrydropdown")}_o(){if(this.d.dropdownContainer&&this.d.dropdownContainer.appendChild(this.dropdown),!this.d.useFullscreenPopup){let t=this.a.getBoundingClientRect(),e=this.a.offsetHeight;this.d.dropdownContainer&&(this.dropdown.style.top=`${t.top+e}px`,this.dropdown.style.left=`${t.left}px`,this._a4=()=>this._2(),window.addEventListener("scroll",this._a4))}}_p(){this._a0=n=>{let s=n.target?.closest(".iti__country");s&&this._x(s,!1)},this.countryList.addEventListener("mouseover",this._a0),this._a1=n=>{let s=n.target?.closest(".iti__country");s&&this._1(s)},this.countryList.addEventListener("click",this._a1);let t=!0;this._a2=()=>{t||this._2(),t=!1},document.documentElement.addEventListener("click",this._a2),this._a3=n=>{["ArrowUp","ArrowDown","Enter","Escape"].includes(n.key)&&(n.preventDefault(),n.stopPropagation(),n.key==="ArrowUp"||n.key==="ArrowDown"?this._q(n.key):n.key==="Enter"?this._r():n.key==="Escape"&&this._2())},document.addEventListener("keydown",this._a3);let e=()=>{let n=this.searchInput.value.trim();n?this._p3(n):this._p3("",!0)},i=null;this._a7=()=>{i&&clearTimeout(i),i=setTimeout(()=>{e(),i=null},100)},this.searchInput.addEventListener("input",this._a7),this.searchInput.addEventListener("click",n=>n.stopPropagation())}_p3(t,e=!1){let i=!0;this.countryList.innerHTML="";let n=N(t);for(let s=0;s1&&(e=t==="ArrowUp"?this.countryList.lastElementChild:this.countryList.firstElementChild),e&&(this._3(e),this._x(e,!1))}_r(){this.c&&this._1(this.c)}_u(t){let e=t;if(this.d.formatOnDisplay&&o.utils&&this.s){let i=this.d.nationalMode||e.charAt(0)!=="+"&&!this.d.separateDialCode,{NATIONAL:n,INTERNATIONAL:s}=o.utils.numberFormat,r=i?n:s;e=o.utils.formatNumber(e,this.s.iso2,r)}e=this._7(e),this.a.value=e}_v(t){let e=t.indexOf("+"),i=e?t.substring(e):t,n=this.s.dialCode;i&&n==="1"&&i.charAt(0)!=="+"&&(i.charAt(0)!=="1"&&(i=`1${i}`),i=`+${i}`),this.d.separateDialCode&&n&&i.charAt(0)!=="+"&&(i=`+${n}${i}`);let r=this._5(i,!0),l=b(i),u=null;if(r){let d=this.q[b(r)],h=d.indexOf(this.s.iso2)!==-1&&l.length<=r.length-1;if(!(n==="1"&&k(l))&&!h){for(let p=0;pr){let g=n-l;e.scrollTop=h-g}}_4(t){let e=this.a.value,i=`+${t}`,n;if(e.charAt(0)==="+"){let s=this._5(e);s?n=e.replace(s,i):n=i,this.a.value=n}}_5(t,e){let i="";if(t.charAt(0)==="+"){let n="";for(let s=0;s!o.utils&&!o.startedLoadingUtilsScript?(o.startedLoadingUtilsScript=!0,new Promise((t,e)=>{import(/* webpackIgnore: true */ a).then(({default:i})=>{o.utils=i,f("handleUtils"),t(!0)}).catch(()=>{f("rejectUtilsScriptPromise"),e()})})):null,o=Object.assign((a,t)=>{let e=new v(a,t);return e._init(),a.setAttribute("data-intl-tel-input-id",e.id.toString()),o.instances[e.id]=e,e},{defaults:A,documentReady:()=>document.readyState==="complete",getCountryData:()=>y,getInstance:a=>{let t=a.getAttribute("data-intl-tel-input-id");return t?o.instances[t]:null},instances:{},loadUtils:F,version:"23.0.10"}),B=o;return O(K);})(); +var factoryOutput=(()=>{var _=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var P=(a,t)=>{for(var e in t)_(a,e,{get:t[e],enumerable:!0})},H=(a,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of M(t))!x.call(a,n)&&n!==e&&_(a,n,{get:()=>t[n],enumerable:!(i=S(t,n))||i.enumerable});return a};var O=a=>H(_({},"__esModule",{value:!0}),a);var K={};P(K,{Iti:()=>v,default:()=>B});var L=[["af","93"],["al","355"],["dz","213"],["as","1",5,["684"]],["ad","376"],["ao","244"],["ai","1",6,["264"]],["ag","1",7,["268"]],["ar","54"],["am","374"],["aw","297"],["ac","247"],["au","61",0],["at","43"],["az","994"],["bs","1",8,["242"]],["bh","973"],["bd","880"],["bb","1",9,["246"]],["by","375"],["be","32"],["bz","501"],["bj","229"],["bm","1",10,["441"]],["bt","975"],["bo","591"],["ba","387"],["bw","267"],["br","55"],["io","246"],["vg","1",11,["284"]],["bn","673"],["bg","359"],["bf","226"],["bi","257"],["kh","855"],["cm","237"],["ca","1",1,["204","226","236","249","250","263","289","306","343","354","365","367","368","382","387","403","416","418","428","431","437","438","450","584","468","474","506","514","519","548","579","581","584","587","604","613","639","647","672","683","705","709","742","753","778","780","782","807","819","825","867","873","879","902","905"]],["cv","238"],["bq","599",1,["3","4","7"]],["ky","1",12,["345"]],["cf","236"],["td","235"],["cl","56"],["cn","86"],["cx","61",2,["89164"]],["cc","61",1,["89162"]],["co","57"],["km","269"],["cg","242"],["cd","243"],["ck","682"],["cr","506"],["ci","225"],["hr","385"],["cu","53"],["cw","599",0],["cy","357"],["cz","420"],["dk","45"],["dj","253"],["dm","1",13,["767"]],["do","1",2,["809","829","849"]],["ec","593"],["eg","20"],["sv","503"],["gq","240"],["er","291"],["ee","372"],["sz","268"],["et","251"],["fk","500"],["fo","298"],["fj","679"],["fi","358",0],["fr","33"],["gf","594"],["pf","689"],["ga","241"],["gm","220"],["ge","995"],["de","49"],["gh","233"],["gi","350"],["gr","30"],["gl","299"],["gd","1",14,["473"]],["gp","590",0],["gu","1",15,["671"]],["gt","502"],["gg","44",1,["1481","7781","7839","7911"]],["gn","224"],["gw","245"],["gy","592"],["ht","509"],["hn","504"],["hk","852"],["hu","36"],["is","354"],["in","91"],["id","62"],["ir","98"],["iq","964"],["ie","353"],["im","44",2,["1624","74576","7524","7924","7624"]],["il","972"],["it","39",0],["jm","1",4,["876","658"]],["jp","81"],["je","44",3,["1534","7509","7700","7797","7829","7937"]],["jo","962"],["kz","7",1,["33","7"]],["ke","254"],["ki","686"],["xk","383"],["kw","965"],["kg","996"],["la","856"],["lv","371"],["lb","961"],["ls","266"],["lr","231"],["ly","218"],["li","423"],["lt","370"],["lu","352"],["mo","853"],["mg","261"],["mw","265"],["my","60"],["mv","960"],["ml","223"],["mt","356"],["mh","692"],["mq","596"],["mr","222"],["mu","230"],["yt","262",1,["269","639"]],["mx","52"],["fm","691"],["md","373"],["mc","377"],["mn","976"],["me","382"],["ms","1",16,["664"]],["ma","212",0],["mz","258"],["mm","95"],["na","264"],["nr","674"],["np","977"],["nl","31"],["nc","687"],["nz","64"],["ni","505"],["ne","227"],["ng","234"],["nu","683"],["nf","672"],["kp","850"],["mk","389"],["mp","1",17,["670"]],["no","47",0],["om","968"],["pk","92"],["pw","680"],["ps","970"],["pa","507"],["pg","675"],["py","595"],["pe","51"],["ph","63"],["pl","48"],["pt","351"],["pr","1",3,["787","939"]],["qa","974"],["re","262",0],["ro","40"],["ru","7",0],["rw","250"],["ws","685"],["sm","378"],["st","239"],["sa","966"],["sn","221"],["rs","381"],["sc","248"],["sl","232"],["sg","65"],["sx","1",21,["721"]],["sk","421"],["si","386"],["sb","677"],["so","252"],["za","27"],["kr","82"],["ss","211"],["es","34"],["lk","94"],["bl","590",1],["sh","290"],["kn","1",18,["869"]],["lc","1",19,["758"]],["mf","590",2],["pm","508"],["vc","1",20,["784"]],["sd","249"],["sr","597"],["sj","47",1,["79"]],["se","46"],["ch","41"],["sy","963"],["tw","886"],["tj","992"],["tz","255"],["th","66"],["tl","670"],["tg","228"],["tk","690"],["to","676"],["tt","1",22,["868"]],["tn","216"],["tr","90"],["tm","993"],["tc","1",23,["649"]],["tv","688"],["ug","256"],["ua","380"],["ae","971"],["gb","44",0],["us","1",0],["uy","598"],["vi","1",24,["340"]],["uz","998"],["vu","678"],["va","39",1,["06698"]],["ve","58"],["vn","84"],["wf","681"],["eh","212",1,["5288","5289"]],["ye","967"],["zm","260"],["zw","263"],["ax","358",1,["18"]]],T=[];for(let a=0;aa.replace(/\D/g,""),N=(a="")=>a.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase(),k=a=>{let t=b(a);if(t.charAt(0)==="1"){let e=t.substr(1,3);return z.indexOf(e)!==-1}return!1},j=(a,t,e,i)=>{if(e===0&&!i)return 0;let n=0;for(let s=0;s{let i=document.createElement(a);return t&&Object.entries(t).forEach(([n,s])=>i.setAttribute(n,s)),e&&e.appendChild(i),i},f=a=>{let{instances:t}=o;Object.values(t).forEach(e=>e[a]())},v=class{id;promise;telInput;highlightedItem;options;hadInitialPlaceholder;isRTL;selectedCountryData;countries;dialCodeMaxLen;dialCodeToIso2Map;dialCodes;countryContainer;selectedCountry;selectedCountryInner;selectedCountryA11yText;selectedDialCode;dropdownArrow;dropdownContent;searchInput;searchResultsA11yText;countryList;dropdown;hiddenInput;hiddenInputCountry;maxCoreNumberLength;defaultCountry;_a14;_a9;_a10;_a11;_a12;_handleKeydownEvent;_a4;_a0;_a1;_a2;_a3;_a7;resolveAutoCountryPromise;rejectAutoCountryPromise;resolveUtilsScriptPromise;rejectUtilsScriptPromise;constructor(t,e={}){this.id=R++,this.a=t,this.c=null,this.d=Object.assign({},A,e),this.e=!!t.getAttribute("placeholder")}_init(){this.d.useFullscreenPopup&&(this.d.fixDropdownWidth=!1),this.d.separateDialCode&&(this.d.allowDropdown=!0,this.d.nationalMode=!1),!this.d.showFlags&&!this.d.separateDialCode&&(this.d.nationalMode=!1),this.d.useFullscreenPopup&&!this.d.dropdownContainer&&(this.d.dropdownContainer=document.body),this.isRTL=!!this.a.closest("[dir=rtl]"),this.d.i18n={...I,...this.d.i18n};let t=new Promise((i,n)=>{this.h=i,this.i=n}),e=new Promise((i,n)=>{this.i0=i,this.i1=n});this.promise=Promise.all([t,e]),this.s={},this._b(),this._f(),this._h(),this._i(),this._i3()}_b(){this._d(),this._d2(),this._d0(),this.d.countryOrder&&(this.d.countryOrder=this.d.countryOrder.map(t=>t.toLowerCase())),this._sortCountries()}_sortCountries(){this.p.sort((t,e)=>{let{countryOrder:i}=this.d;if(i){let n=i.indexOf(t.iso2),s=i.indexOf(e.iso2),r=n>-1,l=s>-1;if(r||l)return r&&l?n-s:r?-1:1}return t.namee.name?1:0})}_c(t,e,i){e.length>this.dialCodeMaxLen&&(this.dialCodeMaxLen=e.length),this.q.hasOwnProperty(e)||(this.q[e]=[]);for(let s=0;sn.toLowerCase());this.p=y.filter(n=>i.indexOf(n.iso2)>-1)}else if(e.length){let i=e.map(n=>n.toLowerCase());this.p=y.filter(n=>i.indexOf(n.iso2)===-1)}else this.p=y}_d0(){for(let t=0;t
`),r+=`${n.name}`,r+=`+${n.dialCode}`,s.insertAdjacentHTML("beforeend",r)}}_h(t=!1){let e=this.a.getAttribute("value"),i=this.a.value,s=e&&e.charAt(0)==="+"&&(!i||i.charAt(0)!=="+")?e:i,r=this._5(s),l=k(s),{initialCountry:u,geoIpLookup:d}=this.d,h=u==="auto"&&d;if(r&&!l)this._v(s);else if(!h||t){let p=u?u.toLowerCase():"";p&&this._y(p,!0)?this._z(p):r&&l?this._z("us"):this._z()}s&&this._u(s)}_i(){this._j(),this.d.allowDropdown&&this._i2(),(this.hiddenInput||this.hiddenInputCountry)&&this.a.form&&this._i0()}_i0(){this._a14=()=>{this.hiddenInput&&(this.hiddenInput.value=this.getNumber()),this.hiddenInputCountry&&(this.hiddenInputCountry.value=this.getSelectedCountryData().iso2||"")},this.a.form?.addEventListener("submit",this._a14)}_i2(){this._a9=e=>{this.dropdownContent.classList.contains("iti__hide")?this.a.focus():e.preventDefault()};let t=this.a.closest("label");t&&t.addEventListener("click",this._a9),this._a10=()=>{this.dropdownContent.classList.contains("iti__hide")&&!this.a.disabled&&!this.a.readOnly&&this._n()},this.selectedCountry.addEventListener("click",this._a10),this._a11=e=>{this.dropdownContent.classList.contains("iti__hide")&&["ArrowUp","ArrowDown"," ","Enter"].includes(e.key)&&(e.preventDefault(),e.stopPropagation(),this._n()),e.key==="Tab"&&this._2()},this.k.addEventListener("keydown",this._a11)}_i3(){let{utilsScript:t,initialCountry:e,geoIpLookup:i}=this.d;t&&!o.utils?o.documentReady()?o.loadUtils(t):window.addEventListener("load",()=>{o.loadUtils(t)}):this.i0(),e==="auto"&&i&&!this.s.iso2?this._i4():this.h()}_i4(){o.autoCountry?this.handleAutoCountry():o.startedLoadingAutoCountry||(o.startedLoadingAutoCountry=!0,typeof this.d.geoIpLookup=="function"&&this.d.geoIpLookup((t="")=>{let e=t.toLowerCase();e&&this._y(e,!0)?(o.autoCountry=e,setTimeout(()=>f("handleAutoCountry"))):(this._h(!0),f("rejectAutoCountryPromise"))},()=>{this._h(!0),f("rejectAutoCountryPromise")}))}_j(){let{strictMode:t,formatAsYouType:e,separateDialCode:i,formatOnDisplay:n}=this.d,s=!1;this._a12=r=>{this._v(this.a.value)&&this._8();let l=r?.data&&/[^+0-9]/.test(r.data),u=r?.inputType==="insertFromPaste"&&this.a.value;l||u&&!t?s=!0:/[^+0-9]/.test(this.a.value)||(s=!1);let d=r?.detail&&r.detail.isSetNumber&&!n;if(e&&!s&&!d){let h=this.a.selectionStart||0,g=this.a.value.substring(0,h).replace(/[^+0-9]/g,"").length,m=r?.inputType==="deleteContentForward",C=this._9(),w=j(g,C,h,m);this.a.value=C,this.a.setSelectionRange(w,w)}},this.a.addEventListener("input",this._a12),(t||i)&&(this._handleKeydownEvent=r=>{if(r.key&&r.key.length===1&&!r.altKey&&!r.ctrlKey&&!r.metaKey){if(i&&r.key==="+"){r.preventDefault(),this._n(),this.searchInput.value="+",this._p3("",!0);return}if(t){let l=this.a.selectionStart===0&&r.key==="+",u=/^[0-9]$/.test(r.key),d=l||u,h=this._6(),p=o.utils.getCoreNumber(h,this.s.iso2),g=this.maxCoreNumberLength&&p.length>=this.maxCoreNumberLength,m=this.a.value.substring(this.a.selectionStart,this.a.selectionEnd),C=/\d/.test(m);(!d||g&&!C)&&r.preventDefault()}}},this.a.addEventListener("keydown",this._handleKeydownEvent))}_j2(t){let e=parseInt(this.a.getAttribute("maxlength")||"",10);return e&&t.length>e?t.substr(0,e):t}_trigger(t,e={}){let i=new CustomEvent(t,{bubbles:!0,cancelable:!0,detail:e});this.a.dispatchEvent(i)}_n(){let{fixDropdownWidth:t}=this.d;t&&(this.dropdownContent.style.width=`${this.a.offsetWidth}px`),this.dropdownContent.classList.remove("iti__hide"),this.selectedCountry.setAttribute("aria-expanded","true"),this._o();let e=this.countryList.firstElementChild;e&&(this._x(e,!1),this.countryList.scrollTop=0),this.searchInput.focus(),this._p(),this.u.classList.add("iti__arrow--up"),this._trigger("open:countrydropdown")}_o(){if(this.d.dropdownContainer&&this.d.dropdownContainer.appendChild(this.dropdown),!this.d.useFullscreenPopup){let t=this.a.getBoundingClientRect(),e=this.a.offsetHeight;this.d.dropdownContainer&&(this.dropdown.style.top=`${t.top+e}px`,this.dropdown.style.left=`${t.left}px`,this._a4=()=>this._2(),window.addEventListener("scroll",this._a4))}}_p(){this._a0=n=>{let s=n.target?.closest(".iti__country");s&&this._x(s,!1)},this.countryList.addEventListener("mouseover",this._a0),this._a1=n=>{let s=n.target?.closest(".iti__country");s&&this._1(s)},this.countryList.addEventListener("click",this._a1);let t=!0;this._a2=()=>{t||this._2(),t=!1},document.documentElement.addEventListener("click",this._a2),this._a3=n=>{["ArrowUp","ArrowDown","Enter","Escape"].includes(n.key)&&(n.preventDefault(),n.stopPropagation(),n.key==="ArrowUp"||n.key==="ArrowDown"?this._q(n.key):n.key==="Enter"?this._r():n.key==="Escape"&&this._2())},document.addEventListener("keydown",this._a3);let e=()=>{let n=this.searchInput.value.trim();n?this._p3(n):this._p3("",!0)},i=null;this._a7=()=>{i&&clearTimeout(i),i=setTimeout(()=>{e(),i=null},100)},this.searchInput.addEventListener("input",this._a7),this.searchInput.addEventListener("click",n=>n.stopPropagation())}_p3(t,e=!1){let i=!0;this.countryList.innerHTML="";let n=N(t);for(let s=0;s1&&(e=t==="ArrowUp"?this.countryList.lastElementChild:this.countryList.firstElementChild),e&&(this._3(e),this._x(e,!1))}_r(){this.c&&this._1(this.c)}_u(t){let e=t;if(this.d.formatOnDisplay&&o.utils&&this.s){let i=this.d.nationalMode||e.charAt(0)!=="+"&&!this.d.separateDialCode,{NATIONAL:n,INTERNATIONAL:s}=o.utils.numberFormat,r=i?n:s;e=o.utils.formatNumber(e,this.s.iso2,r)}e=this._7(e),this.a.value=e}_v(t){let e=t.indexOf("+"),i=e?t.substring(e):t,n=this.s.dialCode;i&&n==="1"&&i.charAt(0)!=="+"&&(i.charAt(0)!=="1"&&(i=`1${i}`),i=`+${i}`),this.d.separateDialCode&&n&&i.charAt(0)!=="+"&&(i=`+${n}${i}`);let r=this._5(i,!0),l=b(i),u=null;if(r){let d=this.q[b(r)],h=d.indexOf(this.s.iso2)!==-1&&l.length<=r.length-1;if(!(n==="1"&&k(l))&&!h){for(let g=0;gr){let p=n-l;e.scrollTop=h-p}}_4(t){let e=this.a.value,i=`+${t}`,n;if(e.charAt(0)==="+"){let s=this._5(e);s?n=e.replace(s,i):n=i,this.a.value=n}}_5(t,e){let i="";if(t.charAt(0)==="+"){let n="";for(let s=0;s!o.utils&&!o.startedLoadingUtilsScript?(o.startedLoadingUtilsScript=!0,new Promise((t,e)=>{import(/* webpackIgnore: true */ a).then(({default:i})=>{o.utils=i,f("handleUtils"),t(!0)}).catch(()=>{f("rejectUtilsScriptPromise"),e()})})):null,o=Object.assign((a,t)=>{let e=new v(a,t);return e._init(),a.setAttribute("data-intl-tel-input-id",e.id.toString()),o.instances[e.id]=e,e},{defaults:A,documentReady:()=>document.readyState==="complete",getCountryData:()=>y,getInstance:a=>{let t=a.getAttribute("data-intl-tel-input-id");return t?o.instances[t]:null},instances:{},loadUtils:F,version:"23.0.10"}),B=o;return O(K);})(); // UMD return factoryOutput.default; diff --git a/build/js/intlTelInputWithUtils.js b/build/js/intlTelInputWithUtils.js index 1483b62ce..38600c738 100644 --- a/build/js/intlTelInputWithUtils.js +++ b/build/js/intlTelInputWithUtils.js @@ -1893,10 +1893,11 @@ var factoryOutput = (() => { const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -1975,18 +1976,20 @@ var factoryOutput = (() => { } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -2606,7 +2609,8 @@ var factoryOutput = (() => { handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/build/js/intlTelInputWithUtils.min.js b/build/js/intlTelInputWithUtils.min.js index a07490589..4faa0d6a2 100644 --- a/build/js/intlTelInputWithUtils.min.js +++ b/build/js/intlTelInputWithUtils.min.js @@ -13,7 +13,7 @@ } }(() => { -var factoryOutput=(()=>{var f1=Object.defineProperty;var D2=Object.getOwnPropertyDescriptor;var x2=Object.getOwnPropertyNames;var P2=Object.prototype.hasOwnProperty;var R2=(m,$)=>{for(var n in $)f1(m,n,{get:$[n],enumerable:!0})},k2=(m,$,n,s)=>{if($&&typeof $=="object"||typeof $=="function")for(let a of x2($))!P2.call(m,a)&&a!==n&&f1(m,a,{get:()=>$[a],enumerable:!(s=D2($,a))||s.enumerable});return m};var O2=m=>k2(f1({},"__esModule",{value:!0}),m);var j2={};R2(j2,{default:()=>F2});var e2=[["af","93"],["al","355"],["dz","213"],["as","1",5,["684"]],["ad","376"],["ao","244"],["ai","1",6,["264"]],["ag","1",7,["268"]],["ar","54"],["am","374"],["aw","297"],["ac","247"],["au","61",0],["at","43"],["az","994"],["bs","1",8,["242"]],["bh","973"],["bd","880"],["bb","1",9,["246"]],["by","375"],["be","32"],["bz","501"],["bj","229"],["bm","1",10,["441"]],["bt","975"],["bo","591"],["ba","387"],["bw","267"],["br","55"],["io","246"],["vg","1",11,["284"]],["bn","673"],["bg","359"],["bf","226"],["bi","257"],["kh","855"],["cm","237"],["ca","1",1,["204","226","236","249","250","263","289","306","343","354","365","367","368","382","387","403","416","418","428","431","437","438","450","584","468","474","506","514","519","548","579","581","584","587","604","613","639","647","672","683","705","709","742","753","778","780","782","807","819","825","867","873","879","902","905"]],["cv","238"],["bq","599",1,["3","4","7"]],["ky","1",12,["345"]],["cf","236"],["td","235"],["cl","56"],["cn","86"],["cx","61",2,["89164"]],["cc","61",1,["89162"]],["co","57"],["km","269"],["cg","242"],["cd","243"],["ck","682"],["cr","506"],["ci","225"],["hr","385"],["cu","53"],["cw","599",0],["cy","357"],["cz","420"],["dk","45"],["dj","253"],["dm","1",13,["767"]],["do","1",2,["809","829","849"]],["ec","593"],["eg","20"],["sv","503"],["gq","240"],["er","291"],["ee","372"],["sz","268"],["et","251"],["fk","500"],["fo","298"],["fj","679"],["fi","358",0],["fr","33"],["gf","594"],["pf","689"],["ga","241"],["gm","220"],["ge","995"],["de","49"],["gh","233"],["gi","350"],["gr","30"],["gl","299"],["gd","1",14,["473"]],["gp","590",0],["gu","1",15,["671"]],["gt","502"],["gg","44",1,["1481","7781","7839","7911"]],["gn","224"],["gw","245"],["gy","592"],["ht","509"],["hn","504"],["hk","852"],["hu","36"],["is","354"],["in","91"],["id","62"],["ir","98"],["iq","964"],["ie","353"],["im","44",2,["1624","74576","7524","7924","7624"]],["il","972"],["it","39",0],["jm","1",4,["876","658"]],["jp","81"],["je","44",3,["1534","7509","7700","7797","7829","7937"]],["jo","962"],["kz","7",1,["33","7"]],["ke","254"],["ki","686"],["xk","383"],["kw","965"],["kg","996"],["la","856"],["lv","371"],["lb","961"],["ls","266"],["lr","231"],["ly","218"],["li","423"],["lt","370"],["lu","352"],["mo","853"],["mg","261"],["mw","265"],["my","60"],["mv","960"],["ml","223"],["mt","356"],["mh","692"],["mq","596"],["mr","222"],["mu","230"],["yt","262",1,["269","639"]],["mx","52"],["fm","691"],["md","373"],["mc","377"],["mn","976"],["me","382"],["ms","1",16,["664"]],["ma","212",0],["mz","258"],["mm","95"],["na","264"],["nr","674"],["np","977"],["nl","31"],["nc","687"],["nz","64"],["ni","505"],["ne","227"],["ng","234"],["nu","683"],["nf","672"],["kp","850"],["mk","389"],["mp","1",17,["670"]],["no","47",0],["om","968"],["pk","92"],["pw","680"],["ps","970"],["pa","507"],["pg","675"],["py","595"],["pe","51"],["ph","63"],["pl","48"],["pt","351"],["pr","1",3,["787","939"]],["qa","974"],["re","262",0],["ro","40"],["ru","7",0],["rw","250"],["ws","685"],["sm","378"],["st","239"],["sa","966"],["sn","221"],["rs","381"],["sc","248"],["sl","232"],["sg","65"],["sx","1",21,["721"]],["sk","421"],["si","386"],["sb","677"],["so","252"],["za","27"],["kr","82"],["ss","211"],["es","34"],["lk","94"],["bl","590",1],["sh","290"],["kn","1",18,["869"]],["lc","1",19,["758"]],["mf","590",2],["pm","508"],["vc","1",20,["784"]],["sd","249"],["sr","597"],["sj","47",1,["79"]],["se","46"],["ch","41"],["sy","963"],["tw","886"],["tj","992"],["tz","255"],["th","66"],["tl","670"],["tg","228"],["tk","690"],["to","676"],["tt","1",22,["868"]],["tn","216"],["tr","90"],["tm","993"],["tc","1",23,["649"]],["tv","688"],["ug","256"],["ua","380"],["ae","971"],["gb","44",0],["us","1",0],["uy","598"],["vi","1",24,["340"]],["uz","998"],["vu","678"],["va","39",1,["06698"]],["ve","58"],["vn","84"],["wf","681"],["eh","212",1,["5288","5289"]],["ye","967"],["zm","260"],["zw","263"],["ax","358",1,["18"]]],$2=[];for(let m=0;mm.replace(/\D/g,""),r2=(m="")=>m.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase(),s2=m=>{let $=a1(m);if($.charAt(0)==="1"){let n=$.substr(1,3);return G2.indexOf(n)!==-1}return!1},H2=(m,$,n,s)=>{if(n===0&&!s)return 0;let a=0;for(let h=0;h<$.length;h++){if(/[+0-9]/.test($[h])&&a++,a===m&&!s)return h+1;if(s&&a===m+1)return h}return $.length},E=(m,$,n)=>{let s=document.createElement(m);return $&&Object.entries($).forEach(([a,h])=>s.setAttribute(a,h)),n&&n.appendChild(s),s},Q=m=>{let{instances:$}=f;Object.values($).forEach(n=>n[m]())},C1=class{id;promise;telInput;highlightedItem;options;hadInitialPlaceholder;isRTL;selectedCountryData;countries;dialCodeMaxLen;dialCodeToIso2Map;dialCodes;countryContainer;selectedCountry;selectedCountryInner;selectedCountryA11yText;selectedDialCode;dropdownArrow;dropdownContent;searchInput;searchResultsA11yText;countryList;dropdown;hiddenInput;hiddenInputCountry;maxCoreNumberLength;defaultCountry;_handleHiddenInputSubmit;_handleLabelClick;_handleClickSelectedCountry;_handleCountryContainerKeydown;_handleInputEvent;_handleKeydownEvent;_handleWindowScroll;_handleMouseoverCountryList;_handleClickCountryList;_handleClickOffToClose;_handleKeydownOnDropdown;_handleSearchChange;resolveAutoCountryPromise;rejectAutoCountryPromise;resolveUtilsScriptPromise;rejectUtilsScriptPromise;constructor($,n={}){this.id=B2++,this.telInput=$,this.highlightedItem=null,this.options=Object.assign({},o2,n),this.hadInitialPlaceholder=!!$.getAttribute("placeholder")}_init(){this.options.useFullscreenPopup&&(this.options.fixDropdownWidth=!1),this.options.separateDialCode&&(this.options.allowDropdown=!0,this.options.nationalMode=!1),!this.options.showFlags&&!this.options.separateDialCode&&(this.options.nationalMode=!1),this.options.useFullscreenPopup&&!this.options.dropdownContainer&&(this.options.dropdownContainer=document.body),this.isRTL=!!this.telInput.closest("[dir=rtl]"),this.options.i18n={...m1,...this.options.i18n};let $=new Promise((s,a)=>{this.resolveAutoCountryPromise=s,this.rejectAutoCountryPromise=a}),n=new Promise((s,a)=>{this.resolveUtilsScriptPromise=s,this.rejectUtilsScriptPromise=a});this.promise=Promise.all([$,n]),this.selectedCountryData={},this._processCountryData(),this._generateMarkup(),this._setInitialState(),this._initListeners(),this._initRequests()}_processCountryData(){this._processAllCountries(),this._processDialCodes(),this._translateCountryNames(),this.options.countryOrder&&(this.options.countryOrder=this.options.countryOrder.map($=>$.toLowerCase())),this._sortCountries()}_sortCountries(){this.countries.sort(($,n)=>{let{countryOrder:s}=this.options;if(s){let a=s.indexOf($.iso2),h=s.indexOf(n.iso2),c=a>-1,C=h>-1;if(c||C)return c&&C?a-h:c?-1:1}return $.namen.name?1:0})}_addToDialCodeMap($,n,s){n.length>this.dialCodeMaxLen&&(this.dialCodeMaxLen=n.length),this.dialCodeToIso2Map.hasOwnProperty(n)||(this.dialCodeToIso2Map[n]=[]);for(let h=0;ha.toLowerCase());this.countries=K.filter(a=>s.indexOf(a.iso2)>-1)}else if(n.length){let s=n.map(a=>a.toLowerCase());this.countries=K.filter(a=>s.indexOf(a.iso2)===-1)}else this.countries=K}_translateCountryNames(){for(let $=0;$
`),c+=`${a.name}`,c+=`+${a.dialCode}`,h.insertAdjacentHTML("beforeend",c)}}_setInitialState($=!1){let n=this.telInput.getAttribute("value"),s=this.telInput.value,h=n&&n.charAt(0)==="+"&&(!s||s.charAt(0)!=="+")?n:s,c=this._getDialCode(h),C=s2(h),{initialCountry:y}=this.options;if(c&&!C)this._updateCountryFromNumber(h);else if(y!=="auto"||$){let I=y?y.toLowerCase():"";I&&this._getCountryData(I,!0)?this._setCountry(I):c&&C?this._setCountry("us"):this._setCountry()}h&&this._updateValFromNumber(h)}_initListeners(){this._initTelInputListeners(),this.options.allowDropdown&&this._initDropdownListeners(),(this.hiddenInput||this.hiddenInputCountry)&&this.telInput.form&&this._initHiddenInputListener()}_initHiddenInputListener(){this._handleHiddenInputSubmit=()=>{this.hiddenInput&&(this.hiddenInput.value=this.getNumber()),this.hiddenInputCountry&&(this.hiddenInputCountry.value=this.getSelectedCountryData().iso2||"")},this.telInput.form?.addEventListener("submit",this._handleHiddenInputSubmit)}_initDropdownListeners(){this._handleLabelClick=n=>{this.dropdownContent.classList.contains("iti__hide")?this.telInput.focus():n.preventDefault()};let $=this.telInput.closest("label");$&&$.addEventListener("click",this._handleLabelClick),this._handleClickSelectedCountry=()=>{this.dropdownContent.classList.contains("iti__hide")&&!this.telInput.disabled&&!this.telInput.readOnly&&this._openDropdown()},this.selectedCountry.addEventListener("click",this._handleClickSelectedCountry),this._handleCountryContainerKeydown=n=>{this.dropdownContent.classList.contains("iti__hide")&&["ArrowUp","ArrowDown"," ","Enter"].includes(n.key)&&(n.preventDefault(),n.stopPropagation(),this._openDropdown()),n.key==="Tab"&&this._closeDropdown()},this.countryContainer.addEventListener("keydown",this._handleCountryContainerKeydown)}_initRequests(){this.options.utilsScript&&!f.utils?f.documentReady()?f.loadUtils(this.options.utilsScript):window.addEventListener("load",()=>{f.loadUtils(this.options.utilsScript)}):this.resolveUtilsScriptPromise(),this.options.initialCountry==="auto"&&!this.selectedCountryData.iso2?this._loadAutoCountry():this.resolveAutoCountryPromise()}_loadAutoCountry(){f.autoCountry?this.handleAutoCountry():f.startedLoadingAutoCountry||(f.startedLoadingAutoCountry=!0,typeof this.options.geoIpLookup=="function"&&this.options.geoIpLookup(($="")=>{let n=$.toLowerCase();n&&this._getCountryData(n,!0)?(f.autoCountry=n,setTimeout(()=>Q("handleAutoCountry"))):(this._setInitialState(!0),Q("rejectAutoCountryPromise"))},()=>{this._setInitialState(!0),Q("rejectAutoCountryPromise")}))}_initTelInputListeners(){let{strictMode:$,formatAsYouType:n,separateDialCode:s,formatOnDisplay:a}=this.options,h=!1;this._handleInputEvent=c=>{this._updateCountryFromNumber(this.telInput.value)&&this._triggerCountryChange();let C=c?.data&&/[^+0-9]/.test(c.data),y=c?.inputType==="insertFromPaste"&&this.telInput.value;C||y&&!$?h=!0:/[^+0-9]/.test(this.telInput.value)||(h=!1);let I=c?.detail&&c.detail.isSetNumber&&!a;if(n&&!h&&!I){let _=this.telInput.selectionStart||0,L=this.telInput.value.substring(0,_).replace(/[^+0-9]/g,"").length,P=c?.inputType==="deleteContentForward",k=this._formatNumberAsYouType(),d1=H2(L,k,_,P);this.telInput.value=k,this.telInput.setSelectionRange(d1,d1)}},this.telInput.addEventListener("input",this._handleInputEvent),($||s)&&(this._handleKeydownEvent=c=>{if(c.key&&c.key.length===1&&!c.altKey&&!c.ctrlKey&&!c.metaKey){if(s&&c.key==="+"){c.preventDefault(),this._openDropdown(),this.searchInput.value="+",this._filterCountries("",!0);return}if($){let C=this.telInput.selectionStart===0&&c.key==="+",y=/^[0-9]$/.test(c.key),I=C||y,_=this._getFullNumber(),x=f.utils.getCoreNumber(_,this.selectedCountryData.iso2),L=this.maxCoreNumberLength&&x.length>=this.maxCoreNumberLength,P=this.telInput.value.substring(this.telInput.selectionStart,this.telInput.selectionEnd),k=/\d/.test(P);(!I||L&&!k)&&c.preventDefault()}}},this.telInput.addEventListener("keydown",this._handleKeydownEvent))}_cap($){let n=parseInt(this.telInput.getAttribute("maxlength")||"",10);return n&&$.length>n?$.substr(0,n):$}_trigger($,n={}){let s=new CustomEvent($,{bubbles:!0,cancelable:!0,detail:n});this.telInput.dispatchEvent(s)}_openDropdown(){let{fixDropdownWidth:$}=this.options;$&&(this.dropdownContent.style.width=`${this.telInput.offsetWidth}px`),this.dropdownContent.classList.remove("iti__hide"),this.selectedCountry.setAttribute("aria-expanded","true"),this._setDropdownPosition();let n=this.countryList.firstElementChild;n&&(this._highlightListItem(n,!1),this.countryList.scrollTop=0),this.searchInput.focus(),this._bindDropdownListeners(),this.dropdownArrow.classList.add("iti__arrow--up"),this._trigger("open:countrydropdown")}_setDropdownPosition(){if(this.options.dropdownContainer&&this.options.dropdownContainer.appendChild(this.dropdown),!this.options.useFullscreenPopup){let $=this.telInput.getBoundingClientRect(),n=this.telInput.offsetHeight;this.options.dropdownContainer&&(this.dropdown.style.top=`${$.top+n}px`,this.dropdown.style.left=`${$.left}px`,this._handleWindowScroll=()=>this._closeDropdown(),window.addEventListener("scroll",this._handleWindowScroll))}}_bindDropdownListeners(){this._handleMouseoverCountryList=a=>{let h=a.target?.closest(".iti__country");h&&this._highlightListItem(h,!1)},this.countryList.addEventListener("mouseover",this._handleMouseoverCountryList),this._handleClickCountryList=a=>{let h=a.target?.closest(".iti__country");h&&this._selectListItem(h)},this.countryList.addEventListener("click",this._handleClickCountryList);let $=!0;this._handleClickOffToClose=()=>{$||this._closeDropdown(),$=!1},document.documentElement.addEventListener("click",this._handleClickOffToClose),this._handleKeydownOnDropdown=a=>{["ArrowUp","ArrowDown","Enter","Escape"].includes(a.key)&&(a.preventDefault(),a.stopPropagation(),a.key==="ArrowUp"||a.key==="ArrowDown"?this._handleUpDownKey(a.key):a.key==="Enter"?this._handleEnterKey():a.key==="Escape"&&this._closeDropdown())},document.addEventListener("keydown",this._handleKeydownOnDropdown);let n=()=>{let a=this.searchInput.value.trim();a?this._filterCountries(a):this._filterCountries("",!0)},s=null;this._handleSearchChange=()=>{s&&clearTimeout(s),s=setTimeout(()=>{n(),s=null},100)},this.searchInput.addEventListener("input",this._handleSearchChange),this.searchInput.addEventListener("click",a=>a.stopPropagation())}_filterCountries($,n=!1){let s=!0;this.countryList.innerHTML="";let a=r2($);for(let h=0;h1&&(n=$==="ArrowUp"?this.countryList.lastElementChild:this.countryList.firstElementChild),n&&(this._scrollTo(n),this._highlightListItem(n,!1))}_handleEnterKey(){this.highlightedItem&&this._selectListItem(this.highlightedItem)}_updateValFromNumber($){let n=$;if(this.options.formatOnDisplay&&f.utils&&this.selectedCountryData){let s=this.options.nationalMode||n.charAt(0)!=="+"&&!this.options.separateDialCode,{NATIONAL:a,INTERNATIONAL:h}=f.utils.numberFormat,c=s?a:h;n=f.utils.formatNumber(n,this.selectedCountryData.iso2,c)}n=this._beforeSetNumber(n),this.telInput.value=n}_updateCountryFromNumber($){let n=$.indexOf("+"),s=n?$.substring(n):$,a=this.selectedCountryData.dialCode;s&&a==="1"&&s.charAt(0)!=="+"&&(s.charAt(0)!=="1"&&(s=`1${s}`),s=`+${s}`),this.options.separateDialCode&&a&&s.charAt(0)!=="+"&&(s=`+${a}${s}`);let c=this._getDialCode(s,!0),C=a1(s),y=null;if(c){let I=this.dialCodeToIso2Map[a1(c)],_=I.indexOf(this.selectedCountryData.iso2)!==-1&&C.length<=c.length-1;if(!(a==="1"&&s2(C))&&!_){for(let L=0;Lc){let x=a-C;n.scrollTop=_-x}}_updateDialCode($){let n=this.telInput.value,s=`+${$}`,a;if(n.charAt(0)==="+"){let h=this._getDialCode(n);h?a=n.replace(h,s):a=s,this.telInput.value=a}}_getDialCode($,n){let s="";if($.charAt(0)==="+"){let a="";for(let h=0;h<$.length;h++){let c=$.charAt(h);if(!isNaN(parseInt(c,10))){if(a+=c,n)this.dialCodeToIso2Map[a]&&(s=$.substr(0,h+1));else if(this.dialCodes[a]){s=$.substr(0,h+1);break}if(a.length===this.dialCodeMaxLen)break}}}return s}_getFullNumber(){let $=this.telInput.value.trim(),{dialCode:n}=this.selectedCountryData,s,a=a1($);return this.options.separateDialCode&&$.charAt(0)!=="+"&&n&&a?s=`+${n}`:s="",s+$}_beforeSetNumber($){let n=$;if(this.options.separateDialCode){let s=this._getDialCode(n);if(s){s=`+${this.selectedCountryData.dialCode}`;let a=n[s.length]===" "||n[s.length]==="-"?s.length+1:s.length;n=n.substr(a)}}return this._cap(n)}_triggerCountryChange(){this._trigger("countrychange")}_formatNumberAsYouType(){let $=this._getFullNumber(),n=f.utils?f.utils.formatNumberAsYouType($,this.selectedCountryData.iso2):$,{dialCode:s}=this.selectedCountryData;return this.options.separateDialCode&&this.telInput.value.charAt(0)!=="+"&&n.includes(`+${s}`)?(n.split(`+${s}`)[1]||"").trim():n}handleAutoCountry(){this.options.initialCountry==="auto"&&f.autoCountry&&(this.defaultCountry=f.autoCountry,this.telInput.value||this.setCountry(this.defaultCountry),this.resolveAutoCountryPromise())}handleUtils(){f.utils&&(this.telInput.value&&this._updateValFromNumber(this.telInput.value),this.selectedCountryData.iso2&&(this._updatePlaceholder(),this._updateMaxLength())),this.resolveUtilsScriptPromise()}destroy(){if(this.options.allowDropdown){this._closeDropdown(),this.selectedCountry.removeEventListener("click",this._handleClickSelectedCountry),this.countryContainer.removeEventListener("keydown",this._handleCountryContainerKeydown);let s=this.telInput.closest("label");s&&s.removeEventListener("click",this._handleLabelClick)}let{form:$}=this.telInput;this._handleHiddenInputSubmit&&$&&$.removeEventListener("submit",this._handleHiddenInputSubmit),this.telInput.removeEventListener("input",this._handleInputEvent),this._handleKeydownEvent&&this.telInput.removeEventListener("keydown",this._handleKeydownEvent),this.telInput.removeAttribute("data-intl-tel-input-id");let n=this.telInput.parentNode;n?.parentNode?.insertBefore(this.telInput,n),n?.parentNode?.removeChild(n),delete f.instances[this.id]}getExtension(){return f.utils?f.utils.getExtension(this._getFullNumber(),this.selectedCountryData.iso2):""}getNumber($){if(f.utils){let{iso2:n}=this.selectedCountryData;return f.utils.formatNumber(this._getFullNumber(),n,$)}return""}getNumberType(){return f.utils?f.utils.getNumberType(this._getFullNumber(),this.selectedCountryData.iso2):-99}getSelectedCountryData(){return this.selectedCountryData}getValidationError(){if(f.utils){let{iso2:$}=this.selectedCountryData;return f.utils.getValidationError(this._getFullNumber(),$)}return-99}isValidNumber(){let $=this._getFullNumber();return/\p{L}/u.test($)?!1:f.utils?f.utils.isPossibleNumber($,this.selectedCountryData.iso2,this.options.validationNumberType):null}isValidNumberPrecise(){let $=this._getFullNumber();return/\p{L}/u.test($)?!1:f.utils?f.utils.isValidNumber($,this.selectedCountryData.iso2):null}setCountry($){let n=$.toLowerCase();this.selectedCountryData.iso2!==n&&(this._setCountry(n),this._updateDialCode(this.selectedCountryData.dialCode),this._triggerCountryChange())}setNumber($){let n=this._updateCountryFromNumber($);this._updateValFromNumber($),n&&this._triggerCountryChange(),this._trigger("input",{isSetNumber:!0})}setPlaceholderNumberType($){this.options.placeholderNumberType=$,this._updatePlaceholder()}},U2=m=>!f.utils&&!f.startedLoadingUtilsScript?(f.startedLoadingUtilsScript=!0,new Promise(($,n)=>{import(/* webpackIgnore: true */ m).then(({default:s})=>{f.utils=s,Q("handleUtils"),$(!0)}).catch(()=>{Q("rejectUtilsScriptPromise"),n()})})):null,f=Object.assign((m,$)=>{let n=new C1(m,$);return n._init(),m.setAttribute("data-intl-tel-input-id",n.id.toString()),f.instances[n.id]=n,n},{defaults:o2,documentReady:()=>document.readyState==="complete",getCountryData:()=>K,getInstance:m=>{let $=m.getAttribute("data-intl-tel-input-id");return $?f.instances[$]:null},instances:{},loadUtils:U2,version:"23.0.10"}),y1=f;(function(){var m=this||self;function $(d,t){d=d.split(".");var e=m;d[0]in e||typeof e.execScript>"u"||e.execScript("var "+d[0]);for(var i;d.length&&(i=d.shift());)d.length||t===void 0?e[i]&&e[i]!==Object.prototype[i]?e=e[i]:e=e[i]={}:e[i]=t}function n(d,t){function e(){}e.prototype=t.prototype,d.ma=t.prototype,d.prototype=new e,d.prototype.constructor=d,d.sa=function(i,r,o){for(var u=Array(arguments.length-2),l=2;ld.length?!1:O(T2,d)}function D1(d){return O(_2,d)?n1(d,C2):n1(d,h1)}function x1(d){var t=D1(d.toString());D(d),d.g(t)}function P1(d){return d!=null&&(G(d,9)!=1||N(d,9)[0]!=-1)}function n1(d,t){for(var e=new S,i,r=d.length,o=0;ot?2:o[o.length-1]=r&&r<=i;++r)if(e=parseInt(d.substring(0,r),10),e in Z)return t.g(d.substring(r)),e;return 0}function H1(d,t,e,i,r,o){if(t.length==0)return 0;t=new S(t);var u;e!=null&&(u=p(e,11)),u==null&&(u="NonMatch");var l=t.toString();if(l.length==0)u=20;else if(Y.test(l))l=l.replace(Y,""),D(t),t.g(D1(l)),u=1;else{if(l=new RegExp(u),x1(t),u=t.toString(),u.search(l)==0){l=u.match(l)[0].length;var g=u.substring(l).match(L1);g&&g[1]!=null&&0=t.h.length)throw Error("Phone number too short after IDD");if(d=G1(t,i),d!=0)return w(o,1,d),d;throw Error("Invalid country calling code")}return e!=null&&(u=v(e,10),l=""+u,g=t.toString(),g.lastIndexOf(l,0)==0&&(l=new S(g.substring(l.length)),g=p(e,1),g=new RegExp(v(g,2)),U1(l,e,null),l=l.toString(),!O(g,t.toString())&&O(g,l)||s1(d,t.toString(),e,-1)==3))?(i.g(l),r&&w(o,6,10),w(o,1,u),u):(w(o,1,0),0)}function U1(d,t,e){var i=d.toString(),r=i.length,o=p(t,15);if(r!=0&&o!=null&&o.length!=0){var u=new RegExp("^(?:"+o+")");if(r=u.exec(i)){o=new RegExp(v(p(t,1),2));var l=O(o,i),g=r.length-1;t=p(t,16),t==null||t.length==0||r[g]==null||r[g].length==0?(!l||O(o,i.substring(r[0].length)))&&(e!=null&&0=t.length)o="";else{var u=t.indexOf(";",o);o=u!==-1?t.substring(o,u):t.substring(o)}var l=o;if(l==null?u=!0:l.length===0?u=!1:(u=S2.exec(l),l=w2.exec(l),u=u!==null||l!==null),!u||(o!=null?(o.charAt(0)==="+"&&r.g(o),o=t.indexOf("tel:"),r.g(t.substring(0<=o?o+4:0,t.indexOf(";phone-context=")))):(o=r.g,u=t??"",l=u.search(v2),0<=l?(u=u.substring(l),u=u.replace(b2,""),l=u.search(I2),0<=l&&(u=u.substring(0,l))):u="",o.call(r,u)),o=r.toString(),u=o.indexOf(";isub="),0t.h.length||(u!=null&&(e=new S,r=new S(t.toString()),U1(r,u,e),d=s1(d,r.toString(),u,-1),d!=2&&d!=4&&d!=5&&(t=r,i&&0d))throw Error("The string supplied is too short to be a phone number");if(17{try{let e=d.replace(/[^+0-9]/g,""),i=new N2(t);t="";for(let r=0;r{try{let r=T.g(),o=V(r,d,t);var i=o1(r,o,-1);return i==0||i==4?r.format(o,typeof e>"u"?0:e):d}catch{return d}}),$("intlTelInputUtilsTemp.getExampleNumber",(d,t,e,i)=>{try{let g=T.g();d:{var r=g;if(i1(d)){var o=r1(U(r,d),e);try{if(M(o,6)){var u=p(o,6),l=K1(r,u,d,!1);break d}}catch{}}l=null}return g.format(l,i?0:t?2:1)}catch{return""}}),$("intlTelInputUtilsTemp.getExtension",(d,t)=>{try{return p(V(T.g(),d,t),3)}catch{return""}}),$("intlTelInputUtilsTemp.getNumberType",(d,t)=>{try{let u=T.g(),l=V(u,d,t);var e=O1(u,l),i=J(u,v(l,1),e);if(i==null)var r=-1;else{var o=q(l);r=c1(o,i)}return r}catch{return-99}}),$("intlTelInputUtilsTemp.getValidationError",(d,t)=>{try{let e=T.g(),i=V(e,d,t);return o1(e,i,-1)}catch(e){return e.message==="Invalid country calling code"?1:3>=d.length||e.message==="Phone number too short after IDD"||e.message==="The string supplied is too short to be a phone number"?2:e.message==="The string supplied is too long to be a phone number"?3:-99}}),$("intlTelInputUtilsTemp.isValidNumber",(d,t)=>{try{let g=T.g();var e=V(g,d,t),i=O1(g,e);d=g;var r=v(e,1),o=J(d,r,i);if(o==null||i!="001"&&r!=B1(d,i))var u=!1;else{var l=q(e);u=c1(l,o)!=-1}return u}catch{return!1}}),$("intlTelInputUtilsTemp.isPossibleNumber",(d,t,e)=>{try{let i=T.g(),r=V(i,d,t);return e?o1(i,r,t2[e])===0:o1(i,r,-1)===0}catch{return!1}}),$("intlTelInputUtilsTemp.getCoreNumber",(d,t)=>{try{return p(V(T.g(),d,t),2).toString()}catch{return""}}),$("intlTelInputUtilsTemp.numberFormat",{E164:0,INTERNATIONAL:1,NATIONAL:2,RFC3966:3}),$("intlTelInputUtilsTemp.numberType",t2),$("intlTelInputUtilsTemp.validationError",{IS_POSSIBLE:0,INVALID_COUNTRY_CODE:1,TOO_SHORT:2,TOO_LONG:3,IS_POSSIBLE_LOCAL_ONLY:4,INVALID_LENGTH:5})})();var K2=window.intlTelInputUtilsTemp;delete window.intlTelInputUtilsTemp;var u2=K2;y1.utils=u2;var F2=y1;return O2(j2);})(); +var factoryOutput=(()=>{var f1=Object.defineProperty;var D2=Object.getOwnPropertyDescriptor;var x2=Object.getOwnPropertyNames;var P2=Object.prototype.hasOwnProperty;var k2=(m,$)=>{for(var n in $)f1(m,n,{get:$[n],enumerable:!0})},R2=(m,$,n,s)=>{if($&&typeof $=="object"||typeof $=="function")for(let a of x2($))!P2.call(m,a)&&a!==n&&f1(m,a,{get:()=>$[a],enumerable:!(s=D2($,a))||s.enumerable});return m};var O2=m=>R2(f1({},"__esModule",{value:!0}),m);var j2={};k2(j2,{default:()=>F2});var e2=[["af","93"],["al","355"],["dz","213"],["as","1",5,["684"]],["ad","376"],["ao","244"],["ai","1",6,["264"]],["ag","1",7,["268"]],["ar","54"],["am","374"],["aw","297"],["ac","247"],["au","61",0],["at","43"],["az","994"],["bs","1",8,["242"]],["bh","973"],["bd","880"],["bb","1",9,["246"]],["by","375"],["be","32"],["bz","501"],["bj","229"],["bm","1",10,["441"]],["bt","975"],["bo","591"],["ba","387"],["bw","267"],["br","55"],["io","246"],["vg","1",11,["284"]],["bn","673"],["bg","359"],["bf","226"],["bi","257"],["kh","855"],["cm","237"],["ca","1",1,["204","226","236","249","250","263","289","306","343","354","365","367","368","382","387","403","416","418","428","431","437","438","450","584","468","474","506","514","519","548","579","581","584","587","604","613","639","647","672","683","705","709","742","753","778","780","782","807","819","825","867","873","879","902","905"]],["cv","238"],["bq","599",1,["3","4","7"]],["ky","1",12,["345"]],["cf","236"],["td","235"],["cl","56"],["cn","86"],["cx","61",2,["89164"]],["cc","61",1,["89162"]],["co","57"],["km","269"],["cg","242"],["cd","243"],["ck","682"],["cr","506"],["ci","225"],["hr","385"],["cu","53"],["cw","599",0],["cy","357"],["cz","420"],["dk","45"],["dj","253"],["dm","1",13,["767"]],["do","1",2,["809","829","849"]],["ec","593"],["eg","20"],["sv","503"],["gq","240"],["er","291"],["ee","372"],["sz","268"],["et","251"],["fk","500"],["fo","298"],["fj","679"],["fi","358",0],["fr","33"],["gf","594"],["pf","689"],["ga","241"],["gm","220"],["ge","995"],["de","49"],["gh","233"],["gi","350"],["gr","30"],["gl","299"],["gd","1",14,["473"]],["gp","590",0],["gu","1",15,["671"]],["gt","502"],["gg","44",1,["1481","7781","7839","7911"]],["gn","224"],["gw","245"],["gy","592"],["ht","509"],["hn","504"],["hk","852"],["hu","36"],["is","354"],["in","91"],["id","62"],["ir","98"],["iq","964"],["ie","353"],["im","44",2,["1624","74576","7524","7924","7624"]],["il","972"],["it","39",0],["jm","1",4,["876","658"]],["jp","81"],["je","44",3,["1534","7509","7700","7797","7829","7937"]],["jo","962"],["kz","7",1,["33","7"]],["ke","254"],["ki","686"],["xk","383"],["kw","965"],["kg","996"],["la","856"],["lv","371"],["lb","961"],["ls","266"],["lr","231"],["ly","218"],["li","423"],["lt","370"],["lu","352"],["mo","853"],["mg","261"],["mw","265"],["my","60"],["mv","960"],["ml","223"],["mt","356"],["mh","692"],["mq","596"],["mr","222"],["mu","230"],["yt","262",1,["269","639"]],["mx","52"],["fm","691"],["md","373"],["mc","377"],["mn","976"],["me","382"],["ms","1",16,["664"]],["ma","212",0],["mz","258"],["mm","95"],["na","264"],["nr","674"],["np","977"],["nl","31"],["nc","687"],["nz","64"],["ni","505"],["ne","227"],["ng","234"],["nu","683"],["nf","672"],["kp","850"],["mk","389"],["mp","1",17,["670"]],["no","47",0],["om","968"],["pk","92"],["pw","680"],["ps","970"],["pa","507"],["pg","675"],["py","595"],["pe","51"],["ph","63"],["pl","48"],["pt","351"],["pr","1",3,["787","939"]],["qa","974"],["re","262",0],["ro","40"],["ru","7",0],["rw","250"],["ws","685"],["sm","378"],["st","239"],["sa","966"],["sn","221"],["rs","381"],["sc","248"],["sl","232"],["sg","65"],["sx","1",21,["721"]],["sk","421"],["si","386"],["sb","677"],["so","252"],["za","27"],["kr","82"],["ss","211"],["es","34"],["lk","94"],["bl","590",1],["sh","290"],["kn","1",18,["869"]],["lc","1",19,["758"]],["mf","590",2],["pm","508"],["vc","1",20,["784"]],["sd","249"],["sr","597"],["sj","47",1,["79"]],["se","46"],["ch","41"],["sy","963"],["tw","886"],["tj","992"],["tz","255"],["th","66"],["tl","670"],["tg","228"],["tk","690"],["to","676"],["tt","1",22,["868"]],["tn","216"],["tr","90"],["tm","993"],["tc","1",23,["649"]],["tv","688"],["ug","256"],["ua","380"],["ae","971"],["gb","44",0],["us","1",0],["uy","598"],["vi","1",24,["340"]],["uz","998"],["vu","678"],["va","39",1,["06698"]],["ve","58"],["vn","84"],["wf","681"],["eh","212",1,["5288","5289"]],["ye","967"],["zm","260"],["zw","263"],["ax","358",1,["18"]]],$2=[];for(let m=0;mm.replace(/\D/g,""),r2=(m="")=>m.normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase(),s2=m=>{let $=a1(m);if($.charAt(0)==="1"){let n=$.substr(1,3);return G2.indexOf(n)!==-1}return!1},H2=(m,$,n,s)=>{if(n===0&&!s)return 0;let a=0;for(let h=0;h<$.length;h++){if(/[+0-9]/.test($[h])&&a++,a===m&&!s)return h+1;if(s&&a===m+1)return h}return $.length},A=(m,$,n)=>{let s=document.createElement(m);return $&&Object.entries($).forEach(([a,h])=>s.setAttribute(a,h)),n&&n.appendChild(s),s},Q=m=>{let{instances:$}=f;Object.values($).forEach(n=>n[m]())},C1=class{id;promise;telInput;highlightedItem;options;hadInitialPlaceholder;isRTL;selectedCountryData;countries;dialCodeMaxLen;dialCodeToIso2Map;dialCodes;countryContainer;selectedCountry;selectedCountryInner;selectedCountryA11yText;selectedDialCode;dropdownArrow;dropdownContent;searchInput;searchResultsA11yText;countryList;dropdown;hiddenInput;hiddenInputCountry;maxCoreNumberLength;defaultCountry;_handleHiddenInputSubmit;_handleLabelClick;_handleClickSelectedCountry;_handleCountryContainerKeydown;_handleInputEvent;_handleKeydownEvent;_handleWindowScroll;_handleMouseoverCountryList;_handleClickCountryList;_handleClickOffToClose;_handleKeydownOnDropdown;_handleSearchChange;resolveAutoCountryPromise;rejectAutoCountryPromise;resolveUtilsScriptPromise;rejectUtilsScriptPromise;constructor($,n={}){this.id=B2++,this.telInput=$,this.highlightedItem=null,this.options=Object.assign({},o2,n),this.hadInitialPlaceholder=!!$.getAttribute("placeholder")}_init(){this.options.useFullscreenPopup&&(this.options.fixDropdownWidth=!1),this.options.separateDialCode&&(this.options.allowDropdown=!0,this.options.nationalMode=!1),!this.options.showFlags&&!this.options.separateDialCode&&(this.options.nationalMode=!1),this.options.useFullscreenPopup&&!this.options.dropdownContainer&&(this.options.dropdownContainer=document.body),this.isRTL=!!this.telInput.closest("[dir=rtl]"),this.options.i18n={...m1,...this.options.i18n};let $=new Promise((s,a)=>{this.resolveAutoCountryPromise=s,this.rejectAutoCountryPromise=a}),n=new Promise((s,a)=>{this.resolveUtilsScriptPromise=s,this.rejectUtilsScriptPromise=a});this.promise=Promise.all([$,n]),this.selectedCountryData={},this._processCountryData(),this._generateMarkup(),this._setInitialState(),this._initListeners(),this._initRequests()}_processCountryData(){this._processAllCountries(),this._processDialCodes(),this._translateCountryNames(),this.options.countryOrder&&(this.options.countryOrder=this.options.countryOrder.map($=>$.toLowerCase())),this._sortCountries()}_sortCountries(){this.countries.sort(($,n)=>{let{countryOrder:s}=this.options;if(s){let a=s.indexOf($.iso2),h=s.indexOf(n.iso2),c=a>-1,C=h>-1;if(c||C)return c&&C?a-h:c?-1:1}return $.namen.name?1:0})}_addToDialCodeMap($,n,s){n.length>this.dialCodeMaxLen&&(this.dialCodeMaxLen=n.length),this.dialCodeToIso2Map.hasOwnProperty(n)||(this.dialCodeToIso2Map[n]=[]);for(let h=0;ha.toLowerCase());this.countries=K.filter(a=>s.indexOf(a.iso2)>-1)}else if(n.length){let s=n.map(a=>a.toLowerCase());this.countries=K.filter(a=>s.indexOf(a.iso2)===-1)}else this.countries=K}_translateCountryNames(){for(let $=0;$
`),c+=`${a.name}`,c+=`+${a.dialCode}`,h.insertAdjacentHTML("beforeend",c)}}_setInitialState($=!1){let n=this.telInput.getAttribute("value"),s=this.telInput.value,h=n&&n.charAt(0)==="+"&&(!s||s.charAt(0)!=="+")?n:s,c=this._getDialCode(h),C=s2(h),{initialCountry:y,geoIpLookup:I}=this.options,_=y==="auto"&&I;if(c&&!C)this._updateCountryFromNumber(h);else if(!_||$){let S=y?y.toLowerCase():"";S&&this._getCountryData(S,!0)?this._setCountry(S):c&&C?this._setCountry("us"):this._setCountry()}h&&this._updateValFromNumber(h)}_initListeners(){this._initTelInputListeners(),this.options.allowDropdown&&this._initDropdownListeners(),(this.hiddenInput||this.hiddenInputCountry)&&this.telInput.form&&this._initHiddenInputListener()}_initHiddenInputListener(){this._handleHiddenInputSubmit=()=>{this.hiddenInput&&(this.hiddenInput.value=this.getNumber()),this.hiddenInputCountry&&(this.hiddenInputCountry.value=this.getSelectedCountryData().iso2||"")},this.telInput.form?.addEventListener("submit",this._handleHiddenInputSubmit)}_initDropdownListeners(){this._handleLabelClick=n=>{this.dropdownContent.classList.contains("iti__hide")?this.telInput.focus():n.preventDefault()};let $=this.telInput.closest("label");$&&$.addEventListener("click",this._handleLabelClick),this._handleClickSelectedCountry=()=>{this.dropdownContent.classList.contains("iti__hide")&&!this.telInput.disabled&&!this.telInput.readOnly&&this._openDropdown()},this.selectedCountry.addEventListener("click",this._handleClickSelectedCountry),this._handleCountryContainerKeydown=n=>{this.dropdownContent.classList.contains("iti__hide")&&["ArrowUp","ArrowDown"," ","Enter"].includes(n.key)&&(n.preventDefault(),n.stopPropagation(),this._openDropdown()),n.key==="Tab"&&this._closeDropdown()},this.countryContainer.addEventListener("keydown",this._handleCountryContainerKeydown)}_initRequests(){let{utilsScript:$,initialCountry:n,geoIpLookup:s}=this.options;$&&!f.utils?f.documentReady()?f.loadUtils($):window.addEventListener("load",()=>{f.loadUtils($)}):this.resolveUtilsScriptPromise(),n==="auto"&&s&&!this.selectedCountryData.iso2?this._loadAutoCountry():this.resolveAutoCountryPromise()}_loadAutoCountry(){f.autoCountry?this.handleAutoCountry():f.startedLoadingAutoCountry||(f.startedLoadingAutoCountry=!0,typeof this.options.geoIpLookup=="function"&&this.options.geoIpLookup(($="")=>{let n=$.toLowerCase();n&&this._getCountryData(n,!0)?(f.autoCountry=n,setTimeout(()=>Q("handleAutoCountry"))):(this._setInitialState(!0),Q("rejectAutoCountryPromise"))},()=>{this._setInitialState(!0),Q("rejectAutoCountryPromise")}))}_initTelInputListeners(){let{strictMode:$,formatAsYouType:n,separateDialCode:s,formatOnDisplay:a}=this.options,h=!1;this._handleInputEvent=c=>{this._updateCountryFromNumber(this.telInput.value)&&this._triggerCountryChange();let C=c?.data&&/[^+0-9]/.test(c.data),y=c?.inputType==="insertFromPaste"&&this.telInput.value;C||y&&!$?h=!0:/[^+0-9]/.test(this.telInput.value)||(h=!1);let I=c?.detail&&c.detail.isSetNumber&&!a;if(n&&!h&&!I){let _=this.telInput.selectionStart||0,T=this.telInput.value.substring(0,_).replace(/[^+0-9]/g,"").length,P=c?.inputType==="deleteContentForward",R=this._formatNumberAsYouType(),d1=H2(T,R,_,P);this.telInput.value=R,this.telInput.setSelectionRange(d1,d1)}},this.telInput.addEventListener("input",this._handleInputEvent),($||s)&&(this._handleKeydownEvent=c=>{if(c.key&&c.key.length===1&&!c.altKey&&!c.ctrlKey&&!c.metaKey){if(s&&c.key==="+"){c.preventDefault(),this._openDropdown(),this.searchInput.value="+",this._filterCountries("",!0);return}if($){let C=this.telInput.selectionStart===0&&c.key==="+",y=/^[0-9]$/.test(c.key),I=C||y,_=this._getFullNumber(),S=f.utils.getCoreNumber(_,this.selectedCountryData.iso2),T=this.maxCoreNumberLength&&S.length>=this.maxCoreNumberLength,P=this.telInput.value.substring(this.telInput.selectionStart,this.telInput.selectionEnd),R=/\d/.test(P);(!I||T&&!R)&&c.preventDefault()}}},this.telInput.addEventListener("keydown",this._handleKeydownEvent))}_cap($){let n=parseInt(this.telInput.getAttribute("maxlength")||"",10);return n&&$.length>n?$.substr(0,n):$}_trigger($,n={}){let s=new CustomEvent($,{bubbles:!0,cancelable:!0,detail:n});this.telInput.dispatchEvent(s)}_openDropdown(){let{fixDropdownWidth:$}=this.options;$&&(this.dropdownContent.style.width=`${this.telInput.offsetWidth}px`),this.dropdownContent.classList.remove("iti__hide"),this.selectedCountry.setAttribute("aria-expanded","true"),this._setDropdownPosition();let n=this.countryList.firstElementChild;n&&(this._highlightListItem(n,!1),this.countryList.scrollTop=0),this.searchInput.focus(),this._bindDropdownListeners(),this.dropdownArrow.classList.add("iti__arrow--up"),this._trigger("open:countrydropdown")}_setDropdownPosition(){if(this.options.dropdownContainer&&this.options.dropdownContainer.appendChild(this.dropdown),!this.options.useFullscreenPopup){let $=this.telInput.getBoundingClientRect(),n=this.telInput.offsetHeight;this.options.dropdownContainer&&(this.dropdown.style.top=`${$.top+n}px`,this.dropdown.style.left=`${$.left}px`,this._handleWindowScroll=()=>this._closeDropdown(),window.addEventListener("scroll",this._handleWindowScroll))}}_bindDropdownListeners(){this._handleMouseoverCountryList=a=>{let h=a.target?.closest(".iti__country");h&&this._highlightListItem(h,!1)},this.countryList.addEventListener("mouseover",this._handleMouseoverCountryList),this._handleClickCountryList=a=>{let h=a.target?.closest(".iti__country");h&&this._selectListItem(h)},this.countryList.addEventListener("click",this._handleClickCountryList);let $=!0;this._handleClickOffToClose=()=>{$||this._closeDropdown(),$=!1},document.documentElement.addEventListener("click",this._handleClickOffToClose),this._handleKeydownOnDropdown=a=>{["ArrowUp","ArrowDown","Enter","Escape"].includes(a.key)&&(a.preventDefault(),a.stopPropagation(),a.key==="ArrowUp"||a.key==="ArrowDown"?this._handleUpDownKey(a.key):a.key==="Enter"?this._handleEnterKey():a.key==="Escape"&&this._closeDropdown())},document.addEventListener("keydown",this._handleKeydownOnDropdown);let n=()=>{let a=this.searchInput.value.trim();a?this._filterCountries(a):this._filterCountries("",!0)},s=null;this._handleSearchChange=()=>{s&&clearTimeout(s),s=setTimeout(()=>{n(),s=null},100)},this.searchInput.addEventListener("input",this._handleSearchChange),this.searchInput.addEventListener("click",a=>a.stopPropagation())}_filterCountries($,n=!1){let s=!0;this.countryList.innerHTML="";let a=r2($);for(let h=0;h1&&(n=$==="ArrowUp"?this.countryList.lastElementChild:this.countryList.firstElementChild),n&&(this._scrollTo(n),this._highlightListItem(n,!1))}_handleEnterKey(){this.highlightedItem&&this._selectListItem(this.highlightedItem)}_updateValFromNumber($){let n=$;if(this.options.formatOnDisplay&&f.utils&&this.selectedCountryData){let s=this.options.nationalMode||n.charAt(0)!=="+"&&!this.options.separateDialCode,{NATIONAL:a,INTERNATIONAL:h}=f.utils.numberFormat,c=s?a:h;n=f.utils.formatNumber(n,this.selectedCountryData.iso2,c)}n=this._beforeSetNumber(n),this.telInput.value=n}_updateCountryFromNumber($){let n=$.indexOf("+"),s=n?$.substring(n):$,a=this.selectedCountryData.dialCode;s&&a==="1"&&s.charAt(0)!=="+"&&(s.charAt(0)!=="1"&&(s=`1${s}`),s=`+${s}`),this.options.separateDialCode&&a&&s.charAt(0)!=="+"&&(s=`+${a}${s}`);let c=this._getDialCode(s,!0),C=a1(s),y=null;if(c){let I=this.dialCodeToIso2Map[a1(c)],_=I.indexOf(this.selectedCountryData.iso2)!==-1&&C.length<=c.length-1;if(!(a==="1"&&s2(C))&&!_){for(let T=0;Tc){let S=a-C;n.scrollTop=_-S}}_updateDialCode($){let n=this.telInput.value,s=`+${$}`,a;if(n.charAt(0)==="+"){let h=this._getDialCode(n);h?a=n.replace(h,s):a=s,this.telInput.value=a}}_getDialCode($,n){let s="";if($.charAt(0)==="+"){let a="";for(let h=0;h<$.length;h++){let c=$.charAt(h);if(!isNaN(parseInt(c,10))){if(a+=c,n)this.dialCodeToIso2Map[a]&&(s=$.substr(0,h+1));else if(this.dialCodes[a]){s=$.substr(0,h+1);break}if(a.length===this.dialCodeMaxLen)break}}}return s}_getFullNumber(){let $=this.telInput.value.trim(),{dialCode:n}=this.selectedCountryData,s,a=a1($);return this.options.separateDialCode&&$.charAt(0)!=="+"&&n&&a?s=`+${n}`:s="",s+$}_beforeSetNumber($){let n=$;if(this.options.separateDialCode){let s=this._getDialCode(n);if(s){s=`+${this.selectedCountryData.dialCode}`;let a=n[s.length]===" "||n[s.length]==="-"?s.length+1:s.length;n=n.substr(a)}}return this._cap(n)}_triggerCountryChange(){this._trigger("countrychange")}_formatNumberAsYouType(){let $=this._getFullNumber(),n=f.utils?f.utils.formatNumberAsYouType($,this.selectedCountryData.iso2):$,{dialCode:s}=this.selectedCountryData;return this.options.separateDialCode&&this.telInput.value.charAt(0)!=="+"&&n.includes(`+${s}`)?(n.split(`+${s}`)[1]||"").trim():n}handleAutoCountry(){this.options.initialCountry==="auto"&&f.autoCountry&&(this.defaultCountry=f.autoCountry,this.selectedCountryData.iso2||this.selectedCountryInner.classList.contains("iti__globe")||this.setCountry(this.defaultCountry),this.resolveAutoCountryPromise())}handleUtils(){f.utils&&(this.telInput.value&&this._updateValFromNumber(this.telInput.value),this.selectedCountryData.iso2&&(this._updatePlaceholder(),this._updateMaxLength())),this.resolveUtilsScriptPromise()}destroy(){if(this.options.allowDropdown){this._closeDropdown(),this.selectedCountry.removeEventListener("click",this._handleClickSelectedCountry),this.countryContainer.removeEventListener("keydown",this._handleCountryContainerKeydown);let s=this.telInput.closest("label");s&&s.removeEventListener("click",this._handleLabelClick)}let{form:$}=this.telInput;this._handleHiddenInputSubmit&&$&&$.removeEventListener("submit",this._handleHiddenInputSubmit),this.telInput.removeEventListener("input",this._handleInputEvent),this._handleKeydownEvent&&this.telInput.removeEventListener("keydown",this._handleKeydownEvent),this.telInput.removeAttribute("data-intl-tel-input-id");let n=this.telInput.parentNode;n?.parentNode?.insertBefore(this.telInput,n),n?.parentNode?.removeChild(n),delete f.instances[this.id]}getExtension(){return f.utils?f.utils.getExtension(this._getFullNumber(),this.selectedCountryData.iso2):""}getNumber($){if(f.utils){let{iso2:n}=this.selectedCountryData;return f.utils.formatNumber(this._getFullNumber(),n,$)}return""}getNumberType(){return f.utils?f.utils.getNumberType(this._getFullNumber(),this.selectedCountryData.iso2):-99}getSelectedCountryData(){return this.selectedCountryData}getValidationError(){if(f.utils){let{iso2:$}=this.selectedCountryData;return f.utils.getValidationError(this._getFullNumber(),$)}return-99}isValidNumber(){let $=this._getFullNumber();return/\p{L}/u.test($)?!1:f.utils?f.utils.isPossibleNumber($,this.selectedCountryData.iso2,this.options.validationNumberType):null}isValidNumberPrecise(){let $=this._getFullNumber();return/\p{L}/u.test($)?!1:f.utils?f.utils.isValidNumber($,this.selectedCountryData.iso2):null}setCountry($){let n=$.toLowerCase();this.selectedCountryData.iso2!==n&&(this._setCountry(n),this._updateDialCode(this.selectedCountryData.dialCode),this._triggerCountryChange())}setNumber($){let n=this._updateCountryFromNumber($);this._updateValFromNumber($),n&&this._triggerCountryChange(),this._trigger("input",{isSetNumber:!0})}setPlaceholderNumberType($){this.options.placeholderNumberType=$,this._updatePlaceholder()}},U2=m=>!f.utils&&!f.startedLoadingUtilsScript?(f.startedLoadingUtilsScript=!0,new Promise(($,n)=>{import(/* webpackIgnore: true */ m).then(({default:s})=>{f.utils=s,Q("handleUtils"),$(!0)}).catch(()=>{Q("rejectUtilsScriptPromise"),n()})})):null,f=Object.assign((m,$)=>{let n=new C1(m,$);return n._init(),m.setAttribute("data-intl-tel-input-id",n.id.toString()),f.instances[n.id]=n,n},{defaults:o2,documentReady:()=>document.readyState==="complete",getCountryData:()=>K,getInstance:m=>{let $=m.getAttribute("data-intl-tel-input-id");return $?f.instances[$]:null},instances:{},loadUtils:U2,version:"23.0.10"}),y1=f;(function(){var m=this||self;function $(d,t){d=d.split(".");var e=m;d[0]in e||typeof e.execScript>"u"||e.execScript("var "+d[0]);for(var i;d.length&&(i=d.shift());)d.length||t===void 0?e[i]&&e[i]!==Object.prototype[i]?e=e[i]:e=e[i]={}:e[i]=t}function n(d,t){function e(){}e.prototype=t.prototype,d.ma=t.prototype,d.prototype=new e,d.prototype.constructor=d,d.sa=function(i,r,o){for(var u=Array(arguments.length-2),l=2;ld.length?!1:O(T2,d)}function D1(d){return O(_2,d)?n1(d,C2):n1(d,h1)}function x1(d){var t=D1(d.toString());x(d),d.g(t)}function P1(d){return d!=null&&(G(d,9)!=1||N(d,9)[0]!=-1)}function n1(d,t){for(var e=new w,i,r=d.length,o=0;ot?2:o[o.length-1]=r&&r<=i;++r)if(e=parseInt(d.substring(0,r),10),e in Z)return t.g(d.substring(r)),e;return 0}function H1(d,t,e,i,r,o){if(t.length==0)return 0;t=new w(t);var u;e!=null&&(u=p(e,11)),u==null&&(u="NonMatch");var l=t.toString();if(l.length==0)u=20;else if(Y.test(l))l=l.replace(Y,""),x(t),t.g(D1(l)),u=1;else{if(l=new RegExp(u),x1(t),u=t.toString(),u.search(l)==0){l=u.match(l)[0].length;var g=u.substring(l).match(E1);g&&g[1]!=null&&0=t.h.length)throw Error("Phone number too short after IDD");if(d=G1(t,i),d!=0)return L(o,1,d),d;throw Error("Invalid country calling code")}return e!=null&&(u=v(e,10),l=""+u,g=t.toString(),g.lastIndexOf(l,0)==0&&(l=new w(g.substring(l.length)),g=p(e,1),g=new RegExp(v(g,2)),U1(l,e,null),l=l.toString(),!O(g,t.toString())&&O(g,l)||s1(d,t.toString(),e,-1)==3))?(i.g(l),r&&L(o,6,10),L(o,1,u),u):(L(o,1,0),0)}function U1(d,t,e){var i=d.toString(),r=i.length,o=p(t,15);if(r!=0&&o!=null&&o.length!=0){var u=new RegExp("^(?:"+o+")");if(r=u.exec(i)){o=new RegExp(v(p(t,1),2));var l=O(o,i),g=r.length-1;t=p(t,16),t==null||t.length==0||r[g]==null||r[g].length==0?(!l||O(o,i.substring(r[0].length)))&&(e!=null&&0=t.length)o="";else{var u=t.indexOf(";",o);o=u!==-1?t.substring(o,u):t.substring(o)}var l=o;if(l==null?u=!0:l.length===0?u=!1:(u=S2.exec(l),l=w2.exec(l),u=u!==null||l!==null),!u||(o!=null?(o.charAt(0)==="+"&&r.g(o),o=t.indexOf("tel:"),r.g(t.substring(0<=o?o+4:0,t.indexOf(";phone-context=")))):(o=r.g,u=t??"",l=u.search(v2),0<=l?(u=u.substring(l),u=u.replace(b2,""),l=u.search(I2),0<=l&&(u=u.substring(0,l))):u="",o.call(r,u)),o=r.toString(),u=o.indexOf(";isub="),0t.h.length||(u!=null&&(e=new w,r=new w(t.toString()),U1(r,u,e),d=s1(d,r.toString(),u,-1),d!=2&&d!=4&&d!=5&&(t=r,i&&0d))throw Error("The string supplied is too short to be a phone number");if(17{try{let e=d.replace(/[^+0-9]/g,""),i=new A2(t);t="";for(let r=0;r{try{let r=E.g(),o=V(r,d,t);var i=o1(r,o,-1);return i==0||i==4?r.format(o,typeof e>"u"?0:e):d}catch{return d}}),$("intlTelInputUtilsTemp.getExampleNumber",(d,t,e,i)=>{try{let g=E.g();d:{var r=g;if(i1(d)){var o=r1(U(r,d),e);try{if(D(o,6)){var u=p(o,6),l=K1(r,u,d,!1);break d}}catch{}}l=null}return g.format(l,i?0:t?2:1)}catch{return""}}),$("intlTelInputUtilsTemp.getExtension",(d,t)=>{try{return p(V(E.g(),d,t),3)}catch{return""}}),$("intlTelInputUtilsTemp.getNumberType",(d,t)=>{try{let u=E.g(),l=V(u,d,t);var e=O1(u,l),i=J(u,v(l,1),e);if(i==null)var r=-1;else{var o=q(l);r=c1(o,i)}return r}catch{return-99}}),$("intlTelInputUtilsTemp.getValidationError",(d,t)=>{try{let e=E.g(),i=V(e,d,t);return o1(e,i,-1)}catch(e){return e.message==="Invalid country calling code"?1:3>=d.length||e.message==="Phone number too short after IDD"||e.message==="The string supplied is too short to be a phone number"?2:e.message==="The string supplied is too long to be a phone number"?3:-99}}),$("intlTelInputUtilsTemp.isValidNumber",(d,t)=>{try{let g=E.g();var e=V(g,d,t),i=O1(g,e);d=g;var r=v(e,1),o=J(d,r,i);if(o==null||i!="001"&&r!=B1(d,i))var u=!1;else{var l=q(e);u=c1(l,o)!=-1}return u}catch{return!1}}),$("intlTelInputUtilsTemp.isPossibleNumber",(d,t,e)=>{try{let i=E.g(),r=V(i,d,t);return e?o1(i,r,t2[e])===0:o1(i,r,-1)===0}catch{return!1}}),$("intlTelInputUtilsTemp.getCoreNumber",(d,t)=>{try{return p(V(E.g(),d,t),2).toString()}catch{return""}}),$("intlTelInputUtilsTemp.numberFormat",{E164:0,INTERNATIONAL:1,NATIONAL:2,RFC3966:3}),$("intlTelInputUtilsTemp.numberType",t2),$("intlTelInputUtilsTemp.validationError",{IS_POSSIBLE:0,INVALID_COUNTRY_CODE:1,TOO_SHORT:2,TOO_LONG:3,IS_POSSIBLE_LOCAL_ONLY:4,INVALID_LENGTH:5})})();var K2=window.intlTelInputUtilsTemp;delete window.intlTelInputUtilsTemp;var u2=K2;y1.utils=u2;var F2=y1;return O2(j2);})(); // UMD return factoryOutput.default; diff --git a/grunt/replace.js b/grunt/replace.js index b4fadeb45..99944cd71 100644 --- a/grunt/replace.js +++ b/grunt/replace.js @@ -290,7 +290,7 @@ module.exports = function(grunt) { options: { patterns: [ { - match: /e\.g\. v[0-9]+\.[0-9]+\.[0-9] \(please try latest version\)/, + match: /e\.g\. v[0-9]+\.[0-9]+\.[0-9]+ \(please try latest version\)/, replacement: 'e.g. v<%= package.version %> (please try latest version)' } ] diff --git a/react/build/IntlTelInput.cjs b/react/build/IntlTelInput.cjs index a826319cb..37efb36dd 100644 --- a/react/build/IntlTelInput.cjs +++ b/react/build/IntlTelInput.cjs @@ -1889,10 +1889,11 @@ var Iti = class { const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -1971,18 +1972,20 @@ var Iti = class { } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -2602,7 +2605,8 @@ var Iti = class { handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/react/build/IntlTelInput.js b/react/build/IntlTelInput.js index c09180981..4e4f5fe90 100644 --- a/react/build/IntlTelInput.js +++ b/react/build/IntlTelInput.js @@ -1853,10 +1853,11 @@ var Iti = class { const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -1935,18 +1936,20 @@ var Iti = class { } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -2566,7 +2569,8 @@ var Iti = class { handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/react/build/IntlTelInputWithUtils.cjs b/react/build/IntlTelInputWithUtils.cjs index 762154083..83d954616 100644 --- a/react/build/IntlTelInputWithUtils.cjs +++ b/react/build/IntlTelInputWithUtils.cjs @@ -1889,10 +1889,11 @@ var Iti = class { const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -1971,18 +1972,20 @@ var Iti = class { } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -2602,7 +2605,8 @@ var Iti = class { handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/react/build/IntlTelInputWithUtils.js b/react/build/IntlTelInputWithUtils.js index c3ad2efb2..ce5311fe8 100644 --- a/react/build/IntlTelInputWithUtils.js +++ b/react/build/IntlTelInputWithUtils.js @@ -1853,10 +1853,11 @@ var Iti = class { const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -1935,18 +1936,20 @@ var Iti = class { } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -2566,7 +2569,8 @@ var Iti = class { handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/react/demo/set-number-bundle.js b/react/demo/set-number-bundle.js index 565c21244..4ff2f5952 100644 --- a/react/demo/set-number-bundle.js +++ b/react/demo/set-number-bundle.js @@ -25382,10 +25382,11 @@ const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -25464,18 +25465,20 @@ } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -26095,7 +26098,8 @@ handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/react/demo/simple-bundle.js b/react/demo/simple-bundle.js index a0021fe0c..09f947b60 100644 --- a/react/demo/simple-bundle.js +++ b/react/demo/simple-bundle.js @@ -25382,10 +25382,11 @@ const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -25464,18 +25465,20 @@ } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -26095,7 +26098,8 @@ handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/react/demo/validation-bundle.js b/react/demo/validation-bundle.js index 811a97af3..53244d253 100644 --- a/react/demo/validation-bundle.js +++ b/react/demo/validation-bundle.js @@ -25382,10 +25382,11 @@ const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); if (isValidInitialCountry) { @@ -25464,18 +25465,20 @@ } //* Init many requests: utils script / geo ip lookup. _initRequests() { - if (this.options.utilsScript && !intlTelInput.utils) { + const { utilsScript, initialCountry, geoIpLookup } = this.options; + if (utilsScript && !intlTelInput.utils) { if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { this.resolveUtilsScriptPromise(); } - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -26095,7 +26098,8 @@ handleAutoCountry() { if (this.options.initialCountry === "auto" && intlTelInput.autoCountry) { this.defaultCountry = intlTelInput.autoCountry; - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise(); diff --git a/src/js/intl-tel-input.ts b/src/js/intl-tel-input.ts index 263110480..3b5651aa9 100644 --- a/src/js/intl-tel-input.ts +++ b/src/js/intl-tel-input.ts @@ -992,13 +992,14 @@ export class Iti { const val = useAttribute ? attributeValue : inputValue; const dialCode = this._getDialCode(val); const isRegionlessNanpNumber = isRegionlessNanp(val); - const { initialCountry } = this.options; + const { initialCountry, geoIpLookup } = this.options; + const isAutoCountry = initialCountry === "auto" && geoIpLookup; //* If we already have a dial code, and it's not a regionlessNanp, we can go ahead and set the //* country, else fall back to the default country. if (dialCode && !isRegionlessNanpNumber) { this._updateCountryFromNumber(val); - } else if (initialCountry !== "auto" || overrideAutoCountry) { + } else if (!isAutoCountry || overrideAutoCountry) { const lowerInitialCountry = initialCountry ? initialCountry.toLowerCase() : ""; const isValidInitialCountry = lowerInitialCountry && this._getCountryData(lowerInitialCountry, true); //* See if we should select a country. @@ -1111,15 +1112,16 @@ export class Iti { //* Init many requests: utils script / geo ip lookup. private _initRequests(): void { + const { utilsScript, initialCountry, geoIpLookup } = this.options; //* If the user has specified the path to the utils script, fetch it on window.load, else resolve. - if (this.options.utilsScript && !intlTelInput.utils) { + if (utilsScript && !intlTelInput.utils) { //* If the plugin is being initialised after the window.load event has already been fired. if (intlTelInput.documentReady()) { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); } else { //* Wait until the load event so we don't block any other requests e.g. the flags image. window.addEventListener("load", () => { - intlTelInput.loadUtils(this.options.utilsScript); + intlTelInput.loadUtils(utilsScript); }); } } else { @@ -1127,7 +1129,8 @@ export class Iti { } //* Don't bother with IP lookup if we already have a selected country. - if (this.options.initialCountry === "auto" && !this.selectedCountryData.iso2) { + const isAutoCountry = initialCountry === "auto" && geoIpLookup; + if (isAutoCountry && !this.selectedCountryData.iso2) { this._loadAutoCountry(); } else { this.resolveAutoCountryPromise(); @@ -2009,8 +2012,9 @@ export class Iti { //* We must set this even if there is an initial val in the input: in case the initial val is //* invalid and they delete it - they should see their auto country. this.defaultCountry = intlTelInput.autoCountry; - //* If there's no initial value in the input, then update the country. - if (!this.telInput.value) { + const hasSelectedCountryOrGlobe = this.selectedCountryData.iso2 || this.selectedCountryInner.classList.contains("iti__globe"); + //* If no country/globe currently selected, then update the country. + if (!hasSelectedCountryOrGlobe) { this.setCountry(this.defaultCountry); } this.resolveAutoCountryPromise();