(function(e){"object"==typeof module&&module.exports?module.exports=e():window.intlTelInput=e()})(function(){"use strict";return function(){function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var a,n=0;nthis.dialCodeMaxLen&&(this.dialCodeMaxLen=t.length),this.countryCodes.hasOwnProperty(t)||(this.countryCodes[t]=[]);for(var n=0;n"),n+="
"),n+="".concat(l.name,""),n+="+".concat(l.dialCode,""),n+=""}this.countryList.insertAdjacentHTML("beforeend",n)}},{key:"_setInitialState",value:function(){var e=this.telInput.value,t=this._getDialCode(e),a=this._isRegionlessNanp(e),n=this.options,i=n.initialCountry,o=n.nationalMode,l=n.autoHideDialCode,r=n.separateDialCode;t&&!a?this._updateFlagFromNumber(e):"auto"!==i&&(i?this._setFlag(i.toLowerCase()):t&&a?this._setFlag("us"):(this.defaultCountry=this.preferredCountries.length?this.preferredCountries[0].iso2:this.countries[0].iso2,!e&&this._setFlag(this.defaultCountry)),!e&&!o&&!l&&!r&&(this.telInput.value="+".concat(this.selectedCountryData.dialCode))),e&&this._updateValFromNumber(e)}},{key:"_initListeners",value:function(){this._initKeyListeners(),this.options.autoHideDialCode&&this._initBlurListeners(),this.options.allowDropdown&&this._initDropdownListeners(),this.hiddenInput&&this._initHiddenInputListener()}},{key:"_initHiddenInputListener",value:function(){var e=this;this._handleHiddenInputSubmit=function(){e.hiddenInput.value=e.getNumber()},this.telInput.form&&this.telInput.form.addEventListener("submit",this._handleHiddenInputSubmit)}},{key:"_getClosestLabel",value:function(){for(var e=this.telInput;e&&"LABEL"!==e.tagName;)e=e.parentNode;return e}},{key:"_initDropdownListeners",value:function(){var t=this;this._handleLabelClick=function(a){t.countryList.classList.contains("iti__hide")?t.telInput.focus():a.preventDefault()};var a=this._getClosestLabel();a&&a.addEventListener("click",this._handleLabelClick),this._handleClickSelectedFlag=function(){!t.countryList.classList.contains("iti__hide")||t.telInput.disabled||t.telInput.readOnly||t._showDropdown()},this.selectedFlag.addEventListener("click",this._handleClickSelectedFlag),this._handleFlagsContainerKeydown=function(a){var e=t.countryList.classList.contains("iti__hide");e&&-1!==["ArrowUp","Up","ArrowDown","Down"," ","Enter"].indexOf(a.key)&&(a.preventDefault(),a.stopPropagation(),t._showDropdown()),"Tab"===a.key&&t._closeDropdown()},this.flagsContainer.addEventListener("keydown",this._handleFlagsContainerKeydown)}},{key:"_initRequests",value:function(){var e=this;this.options.utilsScript&&!window.intlTelInputUtils?window.intlTelInputGlobals.windowLoaded?window.intlTelInputGlobals.loadUtils(this.options.utilsScript):window.addEventListener("load",function(){window.intlTelInputGlobals.loadUtils(e.options.utilsScript)}):this.resolveUtilsScriptPromise(),"auto"===this.options.initialCountry?this._loadAutoCountry():this.resolveAutoCountryPromise()}},{key:"_loadAutoCountry",value:function(){window.intlTelInputGlobals.autoCountry?this.handleAutoCountry():!window.intlTelInputGlobals.startedLoadingAutoCountry&&(window.intlTelInputGlobals.startedLoadingAutoCountry=!0,"function"==typeof this.options.geoIpLookup&&this.options.geoIpLookup(function(e){window.intlTelInputGlobals.autoCountry=e.toLowerCase(),setTimeout(function(){return y("handleAutoCountry")})},function(){return y("rejectAutoCountryPromise")}))}},{key:"_initKeyListeners",value:function(){var e=this;this._handleKeyupEvent=function(){e._updateFlagFromNumber(e.telInput.value)&&e._triggerCountryChange()},this.telInput.addEventListener("keyup",this._handleKeyupEvent),this._handleClipboardEvent=function(){setTimeout(e._handleKeyupEvent)},this.telInput.addEventListener("cut",this._handleClipboardEvent),this.telInput.addEventListener("paste",this._handleClipboardEvent)}},{key:"_cap",value:function(e){var t=this.telInput.getAttribute("maxlength");return t&&e.length>t?e.substr(0,t):e}},{key:"_initBlurListeners",value:function(){var e=this;this._handleSubmitOrBlurEvent=function(){e._removeEmptyDialCode()},this.telInput.form&&this.telInput.form.addEventListener("submit",this._handleSubmitOrBlurEvent),this.telInput.addEventListener("blur",this._handleSubmitOrBlurEvent)}},{key:"_removeEmptyDialCode",value:function(){if("+"===this.telInput.value.charAt(0)){var e=this._getNumeric(this.telInput.value);e&&this.selectedCountryData.dialCode!==e||(this.telInput.value="")}}},{key:"_getNumeric",value:function(e){return e.replace(/\D/g,"")}},{key:"_trigger",value:function(t){var a=document.createEvent("Event");a.initEvent(t,!0,!0),this.telInput.dispatchEvent(a)}},{key:"_showDropdown",value:function(){this.countryList.classList.remove("iti__hide"),this.selectedFlag.setAttribute("aria-expanded","true"),this._setDropdownPosition(),this.activeItem&&(this._highlightListItem(this.activeItem,!1),this._scrollTo(this.activeItem,!0)),this._bindDropdownListeners(),this.dropdownArrow.classList.add("iti__arrow--up"),this._trigger("open:countrydropdown")}},{key:"_toggleClass",value:function(e,t,a){a&&!e.classList.contains(t)?e.classList.add(t):!a&&e.classList.contains(t)&&e.classList.remove(t)}},{key:"_setDropdownPosition",value:function(){var e=this;if(this.options.dropdownContainer&&this.options.dropdownContainer.appendChild(this.dropdown),!this.isMobile){var t=this.telInput.getBoundingClientRect(),a=window.pageYOffset||document.documentElement.scrollTop,n=t.top+a,i=this.countryList.offsetHeight,o=n+this.telInput.offsetHeight+ia;if(this._toggleClass(this.countryList,"iti__country-list--dropup",!o&&l),this.options.dropdownContainer){var r=!o&&l?0:this.telInput.offsetHeight;this.dropdown.style.top="".concat(n+r,"px"),this.dropdown.style.left="".concat(t.left+document.body.scrollLeft,"px"),this._handleWindowScroll=function(){return e._closeDropdown()},window.addEventListener("scroll",this._handleWindowScroll)}}}},{key:"_getClosestListItem",value:function(e){for(var t=e;t&&t!==this.countryList&&!t.classList.contains("iti__country");)t=t.parentNode;return t===this.countryList?null:t}},{key:"_bindDropdownListeners",value:function(){var t=this;this._handleMouseoverCountryList=function(a){var e=t._getClosestListItem(a.target);e&&t._highlightListItem(e,!1)},this.countryList.addEventListener("mouseover",this._handleMouseoverCountryList),this._handleClickCountryList=function(a){var e=t._getClosestListItem(a.target);e&&t._selectListItem(e)},this.countryList.addEventListener("click",this._handleClickCountryList);var a=!0;this._handleClickOffToClose=function(){a||t._closeDropdown(),a=!1},document.documentElement.addEventListener("click",this._handleClickOffToClose);var n="",i=null;this._handleKeydownOnDropdown=function(a){a.preventDefault(),"ArrowUp"===a.key||"Up"===a.key||"ArrowDown"===a.key||"Down"===a.key?t._handleUpDownKey(a.key):"Enter"===a.key?t._handleEnterKey():"Escape"===a.key?t._closeDropdown():/^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(a.key)&&(i&&clearTimeout(i),n+=a.key.toLowerCase(),t._searchForCountry(n),i=setTimeout(function(){n=""},1e3))},document.addEventListener("keydown",this._handleKeydownOnDropdown)}},{key:"_handleUpDownKey",value:function(e){var t="ArrowUp"===e||"Up"===e?this.highlightedItem.previousElementSibling:this.highlightedItem.nextElementSibling;t&&(t.classList.contains("iti__divider")&&(t="ArrowUp"===e||"Up"===e?t.previousElementSibling:t.nextElementSibling),this._highlightListItem(t,!0))}},{key:"_handleEnterKey",value:function(){this.highlightedItem&&this._selectListItem(this.highlightedItem)}},{key:"_searchForCountry",value:function(e){for(var t=0;to+i){t&&(s+=d);a.scrollTop=s-(i-l)}}},{key:"_updateDialCode",value:function(e,t){var a,n=this.telInput.value,i="+".concat(e);if("+"===n.charAt(0)){var o=this._getDialCode(n);a=o?n.replace(o,i):i}else{if(this.options.nationalMode||this.options.separateDialCode)return;if(n)a=i+n;else if(t||!this.options.autoHideDialCode)a=i;else return}this.telInput.value=a}},{key:"_getDialCode",value:function(e){var t="";if("+"===e.charAt(0))for(var a,n="",o=0;o