{"version":3,"file":"static/js/d6f1366baa10eced258d.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./node_modules/hyphenate-style-name/index.js?7e8b","webpack://Msdyn365.Commerce.Online/./node_modules/intl-format-cache/src/index.ts?14d4","webpack://Msdyn365.Commerce.Online/./node_modules/intl-locales-supported/src/index.ts?ddf4","webpack://Msdyn365.Commerce.Online/./node_modules/intl-tel-input/build/js/intlTelInput.js?d865","webpack://Msdyn365.Commerce.Online/./node_modules/intl-tel-input/index.js?b394"],"sourcesContent":["/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\n\n// -----------------------------------------------------------------------------\n\n// TODO: Remove this once Intl.RelativeTimeFormat is no longer a draft\ninterface RelativeTimeFormat {\n format(value: number, unit: string): string;\n formatToParts(value: number, unit: string): { value: string }[];\n resolvedOptions(): ResolvedRelativeTimeFormatOptions;\n}\ninterface ResolvedRelativeTimeFormatOptions\n extends Pick {\n locale: string;\n}\ninterface RelativeTimeFormatOptions {\n localeMatcher: 'best fit' | 'lookup';\n numeric: 'always' | 'auto';\n style: 'long' | 'short' | 'narrow';\n}\nlet RelativeTimeFormat: {\n new (\n locales?: string | string[],\n opts?: RelativeTimeFormatOptions\n ): RelativeTimeFormat;\n (\n locales?: string | string[],\n opts?: RelativeTimeFormatOptions\n ): RelativeTimeFormat;\n supportedLocalesOf(\n locales: string | string[],\n opts?: Pick\n ): string[];\n};\n\n// -- Utilities ----------------------------------------------------------------\n\nfunction getCacheId(inputs: any[]) {\n return JSON.stringify(\n inputs.map(input =>\n input && typeof input === 'object' ? orderedProps(input) : input\n )\n );\n}\n\nfunction orderedProps(obj: Record) {\n return Object.keys(obj)\n .sort()\n .map(k => ({ [k]: obj[k] }));\n}\n\ninterface MemoizeFormatConstructorFn {\n (constructor: typeof Intl.NumberFormat): (\n ...args: ConstructorParameters\n ) => Intl.NumberFormat;\n (constructor: typeof Intl.DateTimeFormat): (\n ...args: ConstructorParameters\n ) => Intl.DateTimeFormat;\n (constructor: typeof RelativeTimeFormat): (\n ...args: ConstructorParameters\n ) => RelativeTimeFormat;\n (constructor: any): (...args: any[]) => any;\n}\n\nconst memoizeFormatConstructor: MemoizeFormatConstructorFn = (\n FormatConstructor: any,\n cache: Record = {}\n) => (...args: any[]) => {\n const cacheId = getCacheId(args);\n let format = cacheId && cache[cacheId];\n if (!format) {\n format = new (FormatConstructor as any)(...args);\n if (cacheId) {\n cache[cacheId] = format;\n }\n }\n\n return format;\n};\n\nexport default memoizeFormatConstructor;\n","/*\n * Copyright 2015, Yahoo Inc.\n * Copyrights licensed under the New BSD License.\n * See the accompanying LICENSE file for terms.\n */\n\ntype IntlConstructor = {\n supportedLocalesOf(locales: string | string[], options?: any): string[];\n};\n\nexport default function areIntlLocalesSupported(\n locales: string | string[],\n constructorsToCheck?: Array\n): boolean {\n if (typeof Intl === 'undefined') {\n return false;\n }\n\n if (!locales) {\n throw new Error('locales must be supplied.');\n }\n\n if (!Array.isArray(locales)) {\n locales = [locales];\n }\n\n let intlConstructors = constructorsToCheck || [\n Intl.DateTimeFormat,\n Intl.NumberFormat,\n Intl.PluralRules,\n ];\n\n intlConstructors = intlConstructors.filter(Boolean);\n\n if (\n intlConstructors.length === 0 ||\n (constructorsToCheck &&\n intlConstructors.length !== constructorsToCheck.length)\n ) {\n return false;\n }\n\n return intlConstructors.every(\n intlConstructor =>\n intlConstructor.supportedLocalesOf(locales).length === locales.length\n );\n}\n","/*\n * International Telephone Input v18.1.5\n * https://github.com/jackocnr/intl-tel-input.git\n * Licensed under the MIT license\n */\n\n// wrap in UMD\n(function(factory) {\n if (typeof module === \"object\" && module.exports) module.exports = factory(); else window.intlTelInput = factory();\n})(function(undefined) {\n \"use strict\";\n return function() {\n // Array of country objects for the flag dropdown.\n // Here is the criteria for the plugin to support a given country/territory\n // - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n // - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n // - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n // - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n // Each country array has the following information:\n // [\n // Country name,\n // iso2 code,\n // International dial code,\n // Order (if >1 country with same dial code),\n // Area codes\n // ]\n var allCountries = [ [ \"Afghanistan (‫افغانستان‬‎)\", \"af\", \"93\" ], [ \"Albania (Shqipëri)\", \"al\", \"355\" ], [ \"Algeria (‫الجزائر‬‎)\", \"dz\", \"213\" ], [ \"American Samoa\", \"as\", \"1\", 5, [ \"684\" ] ], [ \"Andorra\", \"ad\", \"376\" ], [ \"Angola\", \"ao\", \"244\" ], [ \"Anguilla\", \"ai\", \"1\", 6, [ \"264\" ] ], [ \"Antigua and Barbuda\", \"ag\", \"1\", 7, [ \"268\" ] ], [ \"Argentina\", \"ar\", \"54\" ], [ \"Armenia (Հայաստան)\", \"am\", \"374\" ], [ \"Aruba\", \"aw\", \"297\" ], [ \"Ascension Island\", \"ac\", \"247\" ], [ \"Australia\", \"au\", \"61\", 0 ], [ \"Austria (Österreich)\", \"at\", \"43\" ], [ \"Azerbaijan (Azərbaycan)\", \"az\", \"994\" ], [ \"Bahamas\", \"bs\", \"1\", 8, [ \"242\" ] ], [ \"Bahrain (‫البحرين‬‎)\", \"bh\", \"973\" ], [ \"Bangladesh (বাংলাদেশ)\", \"bd\", \"880\" ], [ \"Barbados\", \"bb\", \"1\", 9, [ \"246\" ] ], [ \"Belarus (Беларусь)\", \"by\", \"375\" ], [ \"Belgium (België)\", \"be\", \"32\" ], [ \"Belize\", \"bz\", \"501\" ], [ \"Benin (Bénin)\", \"bj\", \"229\" ], [ \"Bermuda\", \"bm\", \"1\", 10, [ \"441\" ] ], [ \"Bhutan (འབྲུག)\", \"bt\", \"975\" ], [ \"Bolivia\", \"bo\", \"591\" ], [ \"Bosnia and Herzegovina (Босна и Херцеговина)\", \"ba\", \"387\" ], [ \"Botswana\", \"bw\", \"267\" ], [ \"Brazil (Brasil)\", \"br\", \"55\" ], [ \"British Indian Ocean Territory\", \"io\", \"246\" ], [ \"British Virgin Islands\", \"vg\", \"1\", 11, [ \"284\" ] ], [ \"Brunei\", \"bn\", \"673\" ], [ \"Bulgaria (България)\", \"bg\", \"359\" ], [ \"Burkina Faso\", \"bf\", \"226\" ], [ \"Burundi (Uburundi)\", \"bi\", \"257\" ], [ \"Cambodia (កម្ពុជា)\", \"kh\", \"855\" ], [ \"Cameroon (Cameroun)\", \"cm\", \"237\" ], [ \"Canada\", \"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\", \"902\", \"905\" ] ], [ \"Cape Verde (Kabu Verdi)\", \"cv\", \"238\" ], [ \"Caribbean Netherlands\", \"bq\", \"599\", 1, [ \"3\", \"4\", \"7\" ] ], [ \"Cayman Islands\", \"ky\", \"1\", 12, [ \"345\" ] ], [ \"Central African Republic (République centrafricaine)\", \"cf\", \"236\" ], [ \"Chad (Tchad)\", \"td\", \"235\" ], [ \"Chile\", \"cl\", \"56\" ], [ \"China (中国)\", \"cn\", \"86\" ], [ \"Christmas Island\", \"cx\", \"61\", 2, [ \"89164\" ] ], [ \"Cocos (Keeling) Islands\", \"cc\", \"61\", 1, [ \"89162\" ] ], [ \"Colombia\", \"co\", \"57\" ], [ \"Comoros (‫جزر القمر‬‎)\", \"km\", \"269\" ], [ \"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\", \"cd\", \"243\" ], [ \"Congo (Republic) (Congo-Brazzaville)\", \"cg\", \"242\" ], [ \"Cook Islands\", \"ck\", \"682\" ], [ \"Costa Rica\", \"cr\", \"506\" ], [ \"Côte d’Ivoire\", \"ci\", \"225\" ], [ \"Croatia (Hrvatska)\", \"hr\", \"385\" ], [ \"Cuba\", \"cu\", \"53\" ], [ \"Curaçao\", \"cw\", \"599\", 0 ], [ \"Cyprus (Κύπρος)\", \"cy\", \"357\" ], [ \"Czech Republic (Česká republika)\", \"cz\", \"420\" ], [ \"Denmark (Danmark)\", \"dk\", \"45\" ], [ \"Djibouti\", \"dj\", \"253\" ], [ \"Dominica\", \"dm\", \"1\", 13, [ \"767\" ] ], [ \"Dominican Republic (República Dominicana)\", \"do\", \"1\", 2, [ \"809\", \"829\", \"849\" ] ], [ \"Ecuador\", \"ec\", \"593\" ], [ \"Egypt (‫مصر‬‎)\", \"eg\", \"20\" ], [ \"El Salvador\", \"sv\", \"503\" ], [ \"Equatorial Guinea (Guinea Ecuatorial)\", \"gq\", \"240\" ], [ \"Eritrea\", \"er\", \"291\" ], [ \"Estonia (Eesti)\", \"ee\", \"372\" ], [ \"Eswatini\", \"sz\", \"268\" ], [ \"Ethiopia\", \"et\", \"251\" ], [ \"Falkland Islands (Islas Malvinas)\", \"fk\", \"500\" ], [ \"Faroe Islands (Føroyar)\", \"fo\", \"298\" ], [ \"Fiji\", \"fj\", \"679\" ], [ \"Finland (Suomi)\", \"fi\", \"358\", 0 ], [ \"France\", \"fr\", \"33\" ], [ \"French Guiana (Guyane française)\", \"gf\", \"594\" ], [ \"French Polynesia (Polynésie française)\", \"pf\", \"689\" ], [ \"Gabon\", \"ga\", \"241\" ], [ \"Gambia\", \"gm\", \"220\" ], [ \"Georgia (საქართველო)\", \"ge\", \"995\" ], [ \"Germany (Deutschland)\", \"de\", \"49\" ], [ \"Ghana (Gaana)\", \"gh\", \"233\" ], [ \"Gibraltar\", \"gi\", \"350\" ], [ \"Greece (Ελλάδα)\", \"gr\", \"30\" ], [ \"Greenland (Kalaallit Nunaat)\", \"gl\", \"299\" ], [ \"Grenada\", \"gd\", \"1\", 14, [ \"473\" ] ], [ \"Guadeloupe\", \"gp\", \"590\", 0 ], [ \"Guam\", \"gu\", \"1\", 15, [ \"671\" ] ], [ \"Guatemala\", \"gt\", \"502\" ], [ \"Guernsey\", \"gg\", \"44\", 1, [ \"1481\", \"7781\", \"7839\", \"7911\" ] ], [ \"Guinea (Guinée)\", \"gn\", \"224\" ], [ \"Guinea-Bissau (Guiné Bissau)\", \"gw\", \"245\" ], [ \"Guyana\", \"gy\", \"592\" ], [ \"Haiti\", \"ht\", \"509\" ], [ \"Honduras\", \"hn\", \"504\" ], [ \"Hong Kong (香港)\", \"hk\", \"852\" ], [ \"Hungary (Magyarország)\", \"hu\", \"36\" ], [ \"Iceland (Ísland)\", \"is\", \"354\" ], [ \"India (भारत)\", \"in\", \"91\" ], [ \"Indonesia\", \"id\", \"62\" ], [ \"Iran (‫ایران‬‎)\", \"ir\", \"98\" ], [ \"Iraq (‫العراق‬‎)\", \"iq\", \"964\" ], [ \"Ireland\", \"ie\", \"353\" ], [ \"Isle of Man\", \"im\", \"44\", 2, [ \"1624\", \"74576\", \"7524\", \"7924\", \"7624\" ] ], [ \"Israel (‫ישראל‬‎)\", \"il\", \"972\" ], [ \"Italy (Italia)\", \"it\", \"39\", 0 ], [ \"Jamaica\", \"jm\", \"1\", 4, [ \"876\", \"658\" ] ], [ \"Japan (日本)\", \"jp\", \"81\" ], [ \"Jersey\", \"je\", \"44\", 3, [ \"1534\", \"7509\", \"7700\", \"7797\", \"7829\", \"7937\" ] ], [ \"Jordan (‫الأردن‬‎)\", \"jo\", \"962\" ], [ \"Kazakhstan (Казахстан)\", \"kz\", \"7\", 1, [ \"33\", \"7\" ] ], [ \"Kenya\", \"ke\", \"254\" ], [ \"Kiribati\", \"ki\", \"686\" ], [ \"Kosovo\", \"xk\", \"383\" ], [ \"Kuwait (‫الكويت‬‎)\", \"kw\", \"965\" ], [ \"Kyrgyzstan (Кыргызстан)\", \"kg\", \"996\" ], [ \"Laos (ລາວ)\", \"la\", \"856\" ], [ \"Latvia (Latvija)\", \"lv\", \"371\" ], [ \"Lebanon (‫لبنان‬‎)\", \"lb\", \"961\" ], [ \"Lesotho\", \"ls\", \"266\" ], [ \"Liberia\", \"lr\", \"231\" ], [ \"Libya (‫ليبيا‬‎)\", \"ly\", \"218\" ], [ \"Liechtenstein\", \"li\", \"423\" ], [ \"Lithuania (Lietuva)\", \"lt\", \"370\" ], [ \"Luxembourg\", \"lu\", \"352\" ], [ \"Macau (澳門)\", \"mo\", \"853\" ], [ \"Madagascar (Madagasikara)\", \"mg\", \"261\" ], [ \"Malawi\", \"mw\", \"265\" ], [ \"Malaysia\", \"my\", \"60\" ], [ \"Maldives\", \"mv\", \"960\" ], [ \"Mali\", \"ml\", \"223\" ], [ \"Malta\", \"mt\", \"356\" ], [ \"Marshall Islands\", \"mh\", \"692\" ], [ \"Martinique\", \"mq\", \"596\" ], [ \"Mauritania (‫موريتانيا‬‎)\", \"mr\", \"222\" ], [ \"Mauritius (Moris)\", \"mu\", \"230\" ], [ \"Mayotte\", \"yt\", \"262\", 1, [ \"269\", \"639\" ] ], [ \"Mexico (México)\", \"mx\", \"52\" ], [ \"Micronesia\", \"fm\", \"691\" ], [ \"Moldova (Republica Moldova)\", \"md\", \"373\" ], [ \"Monaco\", \"mc\", \"377\" ], [ \"Mongolia (Монгол)\", \"mn\", \"976\" ], [ \"Montenegro (Crna Gora)\", \"me\", \"382\" ], [ \"Montserrat\", \"ms\", \"1\", 16, [ \"664\" ] ], [ \"Morocco (‫المغرب‬‎)\", \"ma\", \"212\", 0 ], [ \"Mozambique (Moçambique)\", \"mz\", \"258\" ], [ \"Myanmar (Burma) (မြန်မာ)\", \"mm\", \"95\" ], [ \"Namibia (Namibië)\", \"na\", \"264\" ], [ \"Nauru\", \"nr\", \"674\" ], [ \"Nepal (नेपाल)\", \"np\", \"977\" ], [ \"Netherlands (Nederland)\", \"nl\", \"31\" ], [ \"New Caledonia (Nouvelle-Calédonie)\", \"nc\", \"687\" ], [ \"New Zealand\", \"nz\", \"64\" ], [ \"Nicaragua\", \"ni\", \"505\" ], [ \"Niger (Nijar)\", \"ne\", \"227\" ], [ \"Nigeria\", \"ng\", \"234\" ], [ \"Niue\", \"nu\", \"683\" ], [ \"Norfolk Island\", \"nf\", \"672\" ], [ \"North Korea (조선 민주주의 인민 공화국)\", \"kp\", \"850\" ], [ \"North Macedonia (Северна Македонија)\", \"mk\", \"389\" ], [ \"Northern Mariana Islands\", \"mp\", \"1\", 17, [ \"670\" ] ], [ \"Norway (Norge)\", \"no\", \"47\", 0 ], [ \"Oman (‫عُمان‬‎)\", \"om\", \"968\" ], [ \"Pakistan (‫پاکستان‬‎)\", \"pk\", \"92\" ], [ \"Palau\", \"pw\", \"680\" ], [ \"Palestine (‫فلسطين‬‎)\", \"ps\", \"970\" ], [ \"Panama (Panamá)\", \"pa\", \"507\" ], [ \"Papua New Guinea\", \"pg\", \"675\" ], [ \"Paraguay\", \"py\", \"595\" ], [ \"Peru (Perú)\", \"pe\", \"51\" ], [ \"Philippines\", \"ph\", \"63\" ], [ \"Poland (Polska)\", \"pl\", \"48\" ], [ \"Portugal\", \"pt\", \"351\" ], [ \"Puerto Rico\", \"pr\", \"1\", 3, [ \"787\", \"939\" ] ], [ \"Qatar (‫قطر‬‎)\", \"qa\", \"974\" ], [ \"Réunion (La Réunion)\", \"re\", \"262\", 0 ], [ \"Romania (România)\", \"ro\", \"40\" ], [ \"Russia (Россия)\", \"ru\", \"7\", 0 ], [ \"Rwanda\", \"rw\", \"250\" ], [ \"Saint Barthélemy\", \"bl\", \"590\", 1 ], [ \"Saint Helena\", \"sh\", \"290\" ], [ \"Saint Kitts and Nevis\", \"kn\", \"1\", 18, [ \"869\" ] ], [ \"Saint Lucia\", \"lc\", \"1\", 19, [ \"758\" ] ], [ \"Saint Martin (Saint-Martin (partie française))\", \"mf\", \"590\", 2 ], [ \"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\", \"pm\", \"508\" ], [ \"Saint Vincent and the Grenadines\", \"vc\", \"1\", 20, [ \"784\" ] ], [ \"Samoa\", \"ws\", \"685\" ], [ \"San Marino\", \"sm\", \"378\" ], [ \"São Tomé and Príncipe (São Tomé e Príncipe)\", \"st\", \"239\" ], [ \"Saudi Arabia (‫المملكة العربية السعودية‬‎)\", \"sa\", \"966\" ], [ \"Senegal (Sénégal)\", \"sn\", \"221\" ], [ \"Serbia (Србија)\", \"rs\", \"381\" ], [ \"Seychelles\", \"sc\", \"248\" ], [ \"Sierra Leone\", \"sl\", \"232\" ], [ \"Singapore\", \"sg\", \"65\" ], [ \"Sint Maarten\", \"sx\", \"1\", 21, [ \"721\" ] ], [ \"Slovakia (Slovensko)\", \"sk\", \"421\" ], [ \"Slovenia (Slovenija)\", \"si\", \"386\" ], [ \"Solomon Islands\", \"sb\", \"677\" ], [ \"Somalia (Soomaaliya)\", \"so\", \"252\" ], [ \"South Africa\", \"za\", \"27\" ], [ \"South Korea (대한민국)\", \"kr\", \"82\" ], [ \"South Sudan (‫جنوب السودان‬‎)\", \"ss\", \"211\" ], [ \"Spain (España)\", \"es\", \"34\" ], [ \"Sri Lanka (ශ්‍රී ලංකාව)\", \"lk\", \"94\" ], [ \"Sudan (‫السودان‬‎)\", \"sd\", \"249\" ], [ \"Suriname\", \"sr\", \"597\" ], [ \"Svalbard and Jan Mayen\", \"sj\", \"47\", 1, [ \"79\" ] ], [ \"Sweden (Sverige)\", \"se\", \"46\" ], [ \"Switzerland (Schweiz)\", \"ch\", \"41\" ], [ \"Syria (‫سوريا‬‎)\", \"sy\", \"963\" ], [ \"Taiwan (台灣)\", \"tw\", \"886\" ], [ \"Tajikistan\", \"tj\", \"992\" ], [ \"Tanzania\", \"tz\", \"255\" ], [ \"Thailand (ไทย)\", \"th\", \"66\" ], [ \"Timor-Leste\", \"tl\", \"670\" ], [ \"Togo\", \"tg\", \"228\" ], [ \"Tokelau\", \"tk\", \"690\" ], [ \"Tonga\", \"to\", \"676\" ], [ \"Trinidad and Tobago\", \"tt\", \"1\", 22, [ \"868\" ] ], [ \"Tunisia (‫تونس‬‎)\", \"tn\", \"216\" ], [ \"Turkey (Türkiye)\", \"tr\", \"90\" ], [ \"Turkmenistan\", \"tm\", \"993\" ], [ \"Turks and Caicos Islands\", \"tc\", \"1\", 23, [ \"649\" ] ], [ \"Tuvalu\", \"tv\", \"688\" ], [ \"U.S. Virgin Islands\", \"vi\", \"1\", 24, [ \"340\" ] ], [ \"Uganda\", \"ug\", \"256\" ], [ \"Ukraine (Україна)\", \"ua\", \"380\" ], [ \"United Arab Emirates (‫الإمارات العربية المتحدة‬‎)\", \"ae\", \"971\" ], [ \"United Kingdom\", \"gb\", \"44\", 0 ], [ \"United States\", \"us\", \"1\", 0 ], [ \"Uruguay\", \"uy\", \"598\" ], [ \"Uzbekistan (Oʻzbekiston)\", \"uz\", \"998\" ], [ \"Vanuatu\", \"vu\", \"678\" ], [ \"Vatican City (Città del Vaticano)\", \"va\", \"39\", 1, [ \"06698\" ] ], [ \"Venezuela\", \"ve\", \"58\" ], [ \"Vietnam (Việt Nam)\", \"vn\", \"84\" ], [ \"Wallis and Futuna (Wallis-et-Futuna)\", \"wf\", \"681\" ], [ \"Western Sahara (‫الصحراء الغربية‬‎)\", \"eh\", \"212\", 1, [ \"5288\", \"5289\" ] ], [ \"Yemen (‫اليمن‬‎)\", \"ye\", \"967\" ], [ \"Zambia\", \"zm\", \"260\" ], [ \"Zimbabwe\", \"zw\", \"263\" ], [ \"Åland Islands\", \"ax\", \"358\", 1, [ \"18\" ] ] ];\n // loop over all of the countries above, restructuring the data to be objects with named keys\n for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n }\n \"use strict\";\n function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys.push.apply(ownKeys, Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n var intlTelInputGlobals = {\n getInstance: function getInstance(input) {\n var id = input.getAttribute(\"data-intl-tel-input-id\");\n return window.intlTelInputGlobals.instances[id];\n },\n instances: {},\n // using a global like this allows us to mock it in the tests\n documentReady: function documentReady() {\n return document.readyState === \"complete\";\n }\n };\n if (typeof window === \"object\") {\n window.intlTelInputGlobals = intlTelInputGlobals;\n }\n // these vars persist through all instances of the plugin\n var id = 0;\n var defaults = {\n // whether or not to allow the dropdown\n allowDropdown: true,\n // auto insert dial code (A) on init, (B) on user selecting a country, (C) on calling setCountry\n // also listen for blur/submit and auto remove dial code if that's all there is\n autoInsertDialCode: false,\n // add a placeholder in the input with an example number for the selected country\n autoPlaceholder: \"polite\",\n // modify the parentClass\n customContainer: \"\",\n // modify the auto placeholder\n customPlaceholder: null,\n // append menu to specified element\n dropdownContainer: null,\n // don't display these countries\n excludeCountries: [],\n // format the input value during initialisation and on setNumber\n formatOnDisplay: true,\n // geoIp lookup function\n geoIpLookup: null,\n // inject a hidden input with this name, and on submit, populate it with the result of getNumber\n hiddenInput: \"\",\n // initial country\n initialCountry: \"\",\n // localized country names e.g. { 'de': 'Deutschland' }\n localizedCountries: null,\n // national vs international formatting for numbers e.g. placeholders and displaying existing numbers\n nationalMode: true,\n // display only these countries\n onlyCountries: [],\n // number type to use for placeholders\n placeholderNumberType: \"MOBILE\",\n // the countries at the top of the list. defaults to united states and united kingdom\n preferredCountries: [ \"us\", \"gb\" ],\n // display the country dial code next to the selected flag\n separateDialCode: false,\n // option to hide the flags - must be used with separateDialCode, or allowDropdown=false\n showFlags: true,\n // specify the path to the libphonenumber script to enable validation/formatting\n utilsScript: \"\"\n };\n // https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes#Non-geographic_area_codes\n var regionlessNanpNumbers = [ \"800\", \"822\", \"833\", \"844\", \"855\", \"866\", \"877\", \"880\", \"881\", \"882\", \"883\", \"884\", \"885\", \"886\", \"887\", \"888\", \"889\" ];\n // utility function to iterate over an object. can't use Object.entries or native forEach because\n // of IE11\n var forEachProp = function forEachProp(obj, callback) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n callback(keys[i], obj[keys[i]]);\n }\n };\n // run a method on each instance of the plugin\n var forEachInstance = function forEachInstance(method) {\n forEachProp(window.intlTelInputGlobals.instances, function(key) {\n window.intlTelInputGlobals.instances[key][method]();\n });\n };\n // this is our plugin class that we will create an instance of\n // eslint-disable-next-line no-unused-vars\n var Iti = /*#__PURE__*/ function() {\n function Iti(input, options) {\n var _this = this;\n _classCallCheck(this, Iti);\n this.id = id++;\n this.telInput = input;\n this.activeItem = null;\n this.highlightedItem = null;\n // process specified options / defaults\n // alternative to Object.assign, which isn't supported by IE11\n var customOptions = options || {};\n this.options = {};\n forEachProp(defaults, function(key, value) {\n _this.options[key] = customOptions.hasOwnProperty(key) ? customOptions[key] : value;\n });\n this.hadInitialPlaceholder = Boolean(input.getAttribute(\"placeholder\"));\n }\n _createClass(Iti, [ {\n key: \"_init\",\n value: function _init() {\n var _this2 = this;\n // if in nationalMode, do not insert dial codes\n if (this.options.nationalMode) {\n this.options.autoInsertDialCode = false;\n }\n // if separateDialCode enabled, do not insert dial codes\n if (this.options.separateDialCode) {\n this.options.autoInsertDialCode = false;\n }\n // force showFlags=true if there's a dropdown and we're not displaying the dial code,\n // as otherwise you just have a down arrow on it's own which doesn't make sense\n var forceShowFlags = this.options.allowDropdown && !this.options.separateDialCode;\n if (!this.options.showFlags && forceShowFlags) {\n this.options.showFlags = true;\n }\n // we cannot just test screen size as some smartphones/website meta tags will report desktop\n // resolutions\n // Note: for some reason jasmine breaks if you put this in the main Plugin function with the\n // rest of these declarations\n // Note: to target Android Mobiles (and not Tablets), we must find 'Android' and 'Mobile'\n this.isMobile = /Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n if (this.isMobile) {\n // trigger the mobile dropdown css\n document.body.classList.add(\"iti-mobile\");\n // on mobile, we want a full screen dropdown, so we must append it to the body\n if (!this.options.dropdownContainer) {\n this.options.dropdownContainer = document.body;\n }\n }\n // these promises get resolved when their individual requests complete\n // this way the dev can do something like iti.promise.then(...) to know when all requests are\n // complete\n if (typeof Promise !== \"undefined\") {\n var autoCountryPromise = new Promise(function(resolve, reject) {\n _this2.resolveAutoCountryPromise = resolve;\n _this2.rejectAutoCountryPromise = reject;\n });\n var utilsScriptPromise = new Promise(function(resolve, reject) {\n _this2.resolveUtilsScriptPromise = resolve;\n _this2.rejectUtilsScriptPromise = reject;\n });\n this.promise = Promise.all([ autoCountryPromise, utilsScriptPromise ]);\n } else {\n // prevent errors when Promise doesn't exist\n this.resolveAutoCountryPromise = this.rejectAutoCountryPromise = function() {};\n this.resolveUtilsScriptPromise = this.rejectUtilsScriptPromise = function() {};\n }\n // in various situations there could be no country selected initially, but we need to be able\n // to assume this variable exists\n this.selectedCountryData = {};\n // process all the data: onlyCountries, excludeCountries, preferredCountries etc\n this._processCountryData();\n // generate the markup\n this._generateMarkup();\n // set the initial state of the input value and the selected flag\n this._setInitialState();\n // start all of the event listeners: autoInsertDialCode, input keydown, selectedFlag click\n this._initListeners();\n // utils script, and auto country\n this._initRequests();\n }\n }, {\n key: \"_processCountryData\",\n value: function _processCountryData() {\n // process onlyCountries or excludeCountries array if present\n this._processAllCountries();\n // process the countryCodes map\n this._processCountryCodes();\n // process the preferredCountries\n this._processPreferredCountries();\n // translate countries according to localizedCountries option\n if (this.options.localizedCountries) {\n this._translateCountriesByLocale();\n }\n // sort countries by name\n if (this.options.onlyCountries.length || this.options.localizedCountries) {\n this.countries.sort(this._countryNameSort);\n }\n }\n }, {\n key: \"_addCountryCode\",\n value: function _addCountryCode(iso2, countryCode, priority) {\n if (countryCode.length > this.countryCodeMaxLen) {\n this.countryCodeMaxLen = countryCode.length;\n }\n if (!this.countryCodes.hasOwnProperty(countryCode)) {\n this.countryCodes[countryCode] = [];\n }\n // bail if we already have this country for this countryCode\n for (var i = 0; i < this.countryCodes[countryCode].length; i++) {\n if (this.countryCodes[countryCode][i] === iso2) {\n return;\n }\n }\n // check for undefined as 0 is falsy\n var index = priority !== undefined ? priority : this.countryCodes[countryCode].length;\n this.countryCodes[countryCode][index] = iso2;\n }\n }, {\n key: \"_processAllCountries\",\n value: function _processAllCountries() {\n if (this.options.onlyCountries.length) {\n var lowerCaseOnlyCountries = this.options.onlyCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseOnlyCountries.indexOf(country.iso2) > -1;\n });\n } else if (this.options.excludeCountries.length) {\n var lowerCaseExcludeCountries = this.options.excludeCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseExcludeCountries.indexOf(country.iso2) === -1;\n });\n } else {\n this.countries = allCountries;\n }\n }\n }, {\n key: \"_translateCountriesByLocale\",\n value: function _translateCountriesByLocale() {\n for (var i = 0; i < this.countries.length; i++) {\n var iso = this.countries[i].iso2.toLowerCase();\n if (this.options.localizedCountries.hasOwnProperty(iso)) {\n this.countries[i].name = this.options.localizedCountries[iso];\n }\n }\n }\n }, {\n key: \"_countryNameSort\",\n value: function _countryNameSort(a, b) {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n return 0;\n }\n }, {\n key: \"_processCountryCodes\",\n value: function _processCountryCodes() {\n this.countryCodeMaxLen = 0;\n // here we store just dial codes\n this.dialCodes = {};\n // here we store \"country codes\" (both dial codes and their area codes)\n this.countryCodes = {};\n // first: add dial codes\n for (var i = 0; i < this.countries.length; i++) {\n var c = this.countries[i];\n if (!this.dialCodes[c.dialCode]) {\n this.dialCodes[c.dialCode] = true;\n }\n this._addCountryCode(c.iso2, c.dialCode, c.priority);\n }\n // next: add area codes\n // this is a second loop over countries, to make sure we have all of the \"root\" countries\n // already in the map, so that we can access them, as each time we add an area code substring\n // to the map, we also need to include the \"root\" country's code, as that also matches\n for (var _i = 0; _i < this.countries.length; _i++) {\n var _c = this.countries[_i];\n // area codes\n if (_c.areaCodes) {\n var rootCountryCode = this.countryCodes[_c.dialCode][0];\n // for each area code\n for (var j = 0; j < _c.areaCodes.length; j++) {\n var areaCode = _c.areaCodes[j];\n // for each digit in the area code to add all partial matches as well\n for (var k = 1; k < areaCode.length; k++) {\n var partialDialCode = _c.dialCode + areaCode.substr(0, k);\n // start with the root country, as that also matches this dial code\n this._addCountryCode(rootCountryCode, partialDialCode);\n this._addCountryCode(_c.iso2, partialDialCode);\n }\n // add the full area code\n this._addCountryCode(_c.iso2, _c.dialCode + areaCode);\n }\n }\n }\n }\n }, {\n key: \"_processPreferredCountries\",\n value: function _processPreferredCountries() {\n this.preferredCountries = [];\n for (var i = 0; i < this.options.preferredCountries.length; i++) {\n var countryCode = this.options.preferredCountries[i].toLowerCase();\n var countryData = this._getCountryData(countryCode, false, true);\n if (countryData) {\n this.preferredCountries.push(countryData);\n }\n }\n }\n }, {\n key: \"_createEl\",\n value: function _createEl(name, attrs, container) {\n var el = document.createElement(name);\n if (attrs) {\n forEachProp(attrs, function(key, value) {\n return el.setAttribute(key, value);\n });\n }\n if (container) {\n container.appendChild(el);\n }\n return el;\n }\n }, {\n key: \"_generateMarkup\",\n value: function _generateMarkup() {\n // if autocomplete does not exist on the element and its form, then\n // prevent autocomplete as there's no safe, cross-browser event we can react to, so it can\n // easily put the plugin in an inconsistent state e.g. the wrong flag selected for the\n // autocompleted number, which on submit could mean wrong number is saved\n if (!this.telInput.hasAttribute(\"autocomplete\") && !(this.telInput.form && this.telInput.form.hasAttribute(\"autocomplete\"))) {\n this.telInput.setAttribute(\"autocomplete\", \"off\");\n }\n var _this$options = this.options, allowDropdown = _this$options.allowDropdown, separateDialCode = _this$options.separateDialCode, showFlags = _this$options.showFlags, customContainer = _this$options.customContainer, hiddenInput = _this$options.hiddenInput, dropdownContainer = _this$options.dropdownContainer;\n // containers (mostly for positioning)\n var parentClass = \"iti\";\n if (allowDropdown) {\n parentClass += \" iti--allow-dropdown\";\n }\n if (separateDialCode) {\n parentClass += \" iti--separate-dial-code\";\n }\n if (showFlags) {\n parentClass += \" iti--show-flags\";\n }\n if (customContainer) {\n parentClass += \" \".concat(customContainer);\n }\n var wrapper = this._createEl(\"div\", {\n \"class\": parentClass\n });\n this.telInput.parentNode.insertBefore(wrapper, this.telInput);\n // only hide the flagsContainer if allowDropdown, showFlags and separateDialCode are all false\n var showFlagsContainer = allowDropdown || showFlags || separateDialCode;\n if (showFlagsContainer) {\n this.flagsContainer = this._createEl(\"div\", {\n \"class\": \"iti__flag-container\"\n }, wrapper);\n }\n wrapper.appendChild(this.telInput);\n // selected flag (displayed to left of input)\n // using Aria tags for \"Select-Only Combobox Example\"\n // https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/\n if (showFlagsContainer) {\n this.selectedFlag = this._createEl(\"div\", _objectSpread({\n \"class\": \"iti__selected-flag\"\n }, allowDropdown && {\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n \"aria-controls\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-owns\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-expanded\": \"false\",\n \"aria-label\": \"Telephone country code\"\n }), this.flagsContainer);\n }\n if (showFlags) {\n this.selectedFlagInner = this._createEl(\"div\", {\n \"class\": \"iti__flag\"\n }, this.selectedFlag);\n }\n if (this.selectedFlag && this.telInput.disabled) {\n this.selectedFlag.setAttribute(\"aria-disabled\", \"true\");\n }\n if (separateDialCode) {\n this.selectedDialCode = this._createEl(\"div\", {\n \"class\": \"iti__selected-dial-code\"\n }, this.selectedFlag);\n }\n if (allowDropdown) {\n if (!this.telInput.disabled) {\n // make element focusable and tab navigable\n this.selectedFlag.setAttribute(\"tabindex\", \"0\");\n }\n this.dropdownArrow = this._createEl(\"div\", {\n \"class\": \"iti__arrow\"\n }, this.selectedFlag);\n // country dropdown: preferred countries, then divider, then all countries\n this.countryList = this._createEl(\"ul\", {\n \"class\": \"iti__country-list iti__hide\",\n id: \"iti-\".concat(this.id, \"__country-listbox\"),\n role: \"listbox\",\n \"aria-label\": \"List of countries\"\n });\n if (this.preferredCountries.length) {\n this._appendListItems(this.preferredCountries, \"iti__preferred\", true);\n this._createEl(\"li\", {\n \"class\": \"iti__divider\",\n role: \"separator\",\n \"aria-disabled\": \"true\"\n }, this.countryList);\n }\n this._appendListItems(this.countries, \"iti__standard\");\n // create dropdownContainer markup\n if (dropdownContainer) {\n this.dropdown = this._createEl(\"div\", {\n \"class\": \"iti iti--container\"\n });\n this.dropdown.appendChild(this.countryList);\n } else {\n this.flagsContainer.appendChild(this.countryList);\n }\n }\n if (hiddenInput) {\n var hiddenInputName = hiddenInput;\n var name = this.telInput.getAttribute(\"name\");\n if (name) {\n var i = name.lastIndexOf(\"[\");\n // if input name contains square brackets, then give the hidden input the same name,\n // replacing the contents of the last set of brackets with the given hiddenInput name\n if (i !== -1) {\n hiddenInputName = \"\".concat(name.substr(0, i), \"[\").concat(hiddenInputName, \"]\");\n }\n }\n this.hiddenInput = this._createEl(\"input\", {\n type: \"hidden\",\n name: hiddenInputName\n });\n wrapper.appendChild(this.hiddenInput);\n }\n }\n }, {\n key: \"_appendListItems\",\n value: function _appendListItems(countries, className, preferred) {\n // we create so many DOM elements, it is faster to build a temp string\n // and then add everything to the DOM in one go at the end\n var tmp = \"\";\n // for each country\n for (var i = 0; i < countries.length; i++) {\n var c = countries[i];\n var idSuffix = preferred ? \"-preferred\" : \"\";\n // open the list item\n tmp += \"
  • \");\n // add the flag\n if (this.options.showFlags) {\n tmp += \"
    \");\n }\n // and the country name and dial code\n tmp += \"\".concat(c.name, \"\");\n tmp += \"+\".concat(c.dialCode, \"\");\n // close the list item\n tmp += \"
  • \";\n }\n this.countryList.insertAdjacentHTML(\"beforeend\", tmp);\n }\n }, {\n key: \"_setInitialState\",\n value: function _setInitialState() {\n // fix firefox bug: when first load page (with input with value set to number with intl dial\n // code) and initialising plugin removes the dial code from the input, then refresh page,\n // and we try to init plugin again but this time on number without dial code so get grey flag\n var attributeValue = this.telInput.getAttribute(\"value\");\n var inputValue = this.telInput.value;\n var useAttribute = attributeValue && attributeValue.charAt(0) === \"+\" && (!inputValue || inputValue.charAt(0) !== \"+\");\n var val = useAttribute ? attributeValue : inputValue;\n var dialCode = this._getDialCode(val);\n var isRegionlessNanp = this._isRegionlessNanp(val);\n var _this$options2 = this.options, initialCountry = _this$options2.initialCountry, autoInsertDialCode = _this$options2.autoInsertDialCode;\n // if we already have a dial code, and it's not a regionlessNanp, we can go ahead and set the\n // flag, else fall back to the default country\n if (dialCode && !isRegionlessNanp) {\n this._updateFlagFromNumber(val);\n } else if (initialCountry !== \"auto\") {\n // see if we should select a flag\n if (initialCountry) {\n this._setFlag(initialCountry.toLowerCase());\n } else {\n if (dialCode && isRegionlessNanp) {\n // has intl dial code, is regionless nanp, and no initialCountry, so default to US\n this._setFlag(\"us\");\n } else {\n // no dial code and no initialCountry, so default to first in list\n this.defaultCountry = this.preferredCountries.length ? this.preferredCountries[0].iso2 : this.countries[0].iso2;\n if (!val) {\n this._setFlag(this.defaultCountry);\n }\n }\n }\n // if empty and autoInsertDialCode then insert the dial code\n if (!val && autoInsertDialCode) {\n this.telInput.value = \"+\".concat(this.selectedCountryData.dialCode);\n }\n }\n // NOTE: if initialCountry is set to auto, that will be handled separately\n // format - note this wont be run after _updateDialCode as that's only called if no val\n if (val) {\n this._updateValFromNumber(val);\n }\n }\n }, {\n key: \"_initListeners\",\n value: function _initListeners() {\n this._initKeyListeners();\n if (this.options.autoInsertDialCode) {\n this._initBlurListeners();\n }\n if (this.options.allowDropdown) {\n this._initDropdownListeners();\n }\n if (this.hiddenInput) {\n this._initHiddenInputListener();\n }\n }\n }, {\n key: \"_initHiddenInputListener\",\n value: function _initHiddenInputListener() {\n var _this3 = this;\n this._handleHiddenInputSubmit = function() {\n _this3.hiddenInput.value = _this3.getNumber();\n };\n if (this.telInput.form) {\n this.telInput.form.addEventListener(\"submit\", this._handleHiddenInputSubmit);\n }\n }\n }, {\n key: \"_getClosestLabel\",\n value: function _getClosestLabel() {\n var el = this.telInput;\n while (el && el.tagName !== \"LABEL\") {\n el = el.parentNode;\n }\n return el;\n }\n }, {\n key: \"_initDropdownListeners\",\n value: function _initDropdownListeners() {\n var _this4 = this;\n // hack for input nested inside label (which is valid markup): clicking the selected-flag to\n // open the dropdown would then automatically trigger a 2nd click on the input which would\n // close it again\n this._handleLabelClick = function(e) {\n // if the dropdown is closed, then focus the input, else ignore the click\n if (_this4.countryList.classList.contains(\"iti__hide\")) {\n _this4.telInput.focus();\n } else {\n e.preventDefault();\n }\n };\n var label = this._getClosestLabel();\n if (label) {\n label.addEventListener(\"click\", this._handleLabelClick);\n }\n // toggle country dropdown on click\n this._handleClickSelectedFlag = function() {\n // only intercept this event if we're opening the dropdown\n // else let it bubble up to the top (\"click-off-to-close\" listener)\n // we cannot just stopPropagation as it may be needed to close another instance\n if (_this4.countryList.classList.contains(\"iti__hide\") && !_this4.telInput.disabled && !_this4.telInput.readOnly) {\n _this4._showDropdown();\n }\n };\n this.selectedFlag.addEventListener(\"click\", this._handleClickSelectedFlag);\n // open dropdown list if currently focused\n this._handleFlagsContainerKeydown = function(e) {\n var isDropdownHidden = _this4.countryList.classList.contains(\"iti__hide\");\n if (isDropdownHidden && [ \"ArrowUp\", \"Up\", \"ArrowDown\", \"Down\", \" \", \"Enter\" ].indexOf(e.key) !== -1) {\n // prevent form from being submitted if \"ENTER\" was pressed\n e.preventDefault();\n // prevent event from being handled again by document\n e.stopPropagation();\n _this4._showDropdown();\n }\n // allow navigation from dropdown to input on TAB\n if (e.key === \"Tab\") {\n _this4._closeDropdown();\n }\n };\n this.flagsContainer.addEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n }\n }, {\n key: \"_initRequests\",\n value: function _initRequests() {\n var _this5 = this;\n // if the user has specified the path to the utils script, fetch it on window.load, else resolve\n if (this.options.utilsScript && !window.intlTelInputUtils) {\n // if the plugin is being initialised after the window.load event has already been fired\n if (window.intlTelInputGlobals.documentReady()) {\n window.intlTelInputGlobals.loadUtils(this.options.utilsScript);\n } else {\n // wait until the load event so we don't block any other requests e.g. the flags image\n window.addEventListener(\"load\", function() {\n window.intlTelInputGlobals.loadUtils(_this5.options.utilsScript);\n });\n }\n } else {\n this.resolveUtilsScriptPromise();\n }\n if (this.options.initialCountry === \"auto\") {\n this._loadAutoCountry();\n } else {\n this.resolveAutoCountryPromise();\n }\n }\n }, {\n key: \"_loadAutoCountry\",\n value: function _loadAutoCountry() {\n // 3 options:\n // 1) already loaded (we're done)\n // 2) not already started loading (start)\n // 3) already started loading (do nothing - just wait for loading callback to fire)\n if (window.intlTelInputGlobals.autoCountry) {\n this.handleAutoCountry();\n } else if (!window.intlTelInputGlobals.startedLoadingAutoCountry) {\n // don't do this twice!\n window.intlTelInputGlobals.startedLoadingAutoCountry = true;\n if (typeof this.options.geoIpLookup === \"function\") {\n this.options.geoIpLookup(function(countryCode) {\n window.intlTelInputGlobals.autoCountry = countryCode.toLowerCase();\n // tell all instances the auto country is ready\n // TODO: this should just be the current instances\n // UPDATE: use setTimeout in case their geoIpLookup function calls this callback straight\n // away (e.g. if they have already done the geo ip lookup somewhere else). Using\n // setTimeout means that the current thread of execution will finish before executing\n // this, which allows the plugin to finish initialising.\n setTimeout(function() {\n return forEachInstance(\"handleAutoCountry\");\n });\n }, function() {\n return forEachInstance(\"rejectAutoCountryPromise\");\n });\n }\n }\n }\n }, {\n key: \"_initKeyListeners\",\n value: function _initKeyListeners() {\n var _this6 = this;\n // update flag on keyup\n this._handleKeyupEvent = function() {\n if (_this6._updateFlagFromNumber(_this6.telInput.value)) {\n _this6._triggerCountryChange();\n }\n };\n this.telInput.addEventListener(\"keyup\", this._handleKeyupEvent);\n // update flag on cut/paste events (now supported in all major browsers)\n this._handleClipboardEvent = function() {\n // hack because \"paste\" event is fired before input is updated\n setTimeout(_this6._handleKeyupEvent);\n };\n this.telInput.addEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.addEventListener(\"paste\", this._handleClipboardEvent);\n }\n }, {\n key: \"_cap\",\n value: function _cap(number) {\n var max = this.telInput.getAttribute(\"maxlength\");\n return max && number.length > max ? number.substr(0, max) : number;\n }\n }, {\n key: \"_initBlurListeners\",\n value: function _initBlurListeners() {\n var _this7 = this;\n // on blur or form submit: if just a dial code then remove it\n this._handleSubmitOrBlurEvent = function() {\n _this7._removeEmptyDialCode();\n };\n if (this.telInput.form) {\n this.telInput.form.addEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n }\n this.telInput.addEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n }, {\n key: \"_removeEmptyDialCode\",\n value: function _removeEmptyDialCode() {\n if (this.telInput.value.charAt(0) === \"+\") {\n var numeric = this._getNumeric(this.telInput.value);\n // if just a plus, or if just a dial code\n if (!numeric || this.selectedCountryData.dialCode === numeric) {\n this.telInput.value = \"\";\n }\n }\n }\n }, {\n key: \"_getNumeric\",\n value: function _getNumeric(s) {\n return s.replace(/\\D/g, \"\");\n }\n }, {\n key: \"_trigger\",\n value: function _trigger(name) {\n // have to use old school document.createEvent as IE11 doesn't support `new Event()` syntax\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n // can bubble, and is cancellable\n this.telInput.dispatchEvent(e);\n }\n }, {\n key: \"_showDropdown\",\n value: function _showDropdown() {\n this.countryList.classList.remove(\"iti__hide\");\n this.selectedFlag.setAttribute(\"aria-expanded\", \"true\");\n this._setDropdownPosition();\n // update highlighting and scroll to active list item\n if (this.activeItem) {\n this._highlightListItem(this.activeItem, false);\n this._scrollTo(this.activeItem, true);\n }\n // bind all the dropdown-related listeners: mouseover, click, click-off, keydown\n this._bindDropdownListeners();\n // update the arrow\n this.dropdownArrow.classList.add(\"iti__arrow--up\");\n this._trigger(\"open:countrydropdown\");\n }\n }, {\n key: \"_toggleClass\",\n value: function _toggleClass(el, className, shouldHaveClass) {\n if (shouldHaveClass && !el.classList.contains(className)) {\n el.classList.add(className);\n } else if (!shouldHaveClass && el.classList.contains(className)) {\n el.classList.remove(className);\n }\n }\n }, {\n key: \"_setDropdownPosition\",\n value: function _setDropdownPosition() {\n var _this8 = this;\n if (this.options.dropdownContainer) {\n this.options.dropdownContainer.appendChild(this.dropdown);\n }\n if (!this.isMobile) {\n var pos = this.telInput.getBoundingClientRect();\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var inputTop = pos.top + windowTop;\n var dropdownHeight = this.countryList.offsetHeight;\n // dropdownFitsBelow = (dropdownBottom < windowBottom)\n var dropdownFitsBelow = inputTop + this.telInput.offsetHeight + dropdownHeight < windowTop + window.innerHeight;\n var dropdownFitsAbove = inputTop - dropdownHeight > windowTop;\n // by default, the dropdown will be below the input. If we want to position it above the\n // input, we add the dropup class.\n this._toggleClass(this.countryList, \"iti__country-list--dropup\", !dropdownFitsBelow && dropdownFitsAbove);\n // if dropdownContainer is enabled, calculate postion\n if (this.options.dropdownContainer) {\n // by default the dropdown will be directly over the input because it's not in the flow.\n // If we want to position it below, we need to add some extra top value.\n var extraTop = !dropdownFitsBelow && dropdownFitsAbove ? 0 : this.telInput.offsetHeight;\n // calculate placement\n this.dropdown.style.top = \"\".concat(inputTop + extraTop, \"px\");\n this.dropdown.style.left = \"\".concat(pos.left + document.body.scrollLeft, \"px\");\n // close menu on window scroll\n this._handleWindowScroll = function() {\n return _this8._closeDropdown();\n };\n window.addEventListener(\"scroll\", this._handleWindowScroll);\n }\n }\n }\n }, {\n key: \"_getClosestListItem\",\n value: function _getClosestListItem(target) {\n var el = target;\n while (el && el !== this.countryList && !el.classList.contains(\"iti__country\")) {\n el = el.parentNode;\n }\n // if we reached the countryList element, then return null\n return el === this.countryList ? null : el;\n }\n }, {\n key: \"_bindDropdownListeners\",\n value: function _bindDropdownListeners() {\n var _this9 = this;\n // when mouse over a list item, just highlight that one\n // we add the class \"highlight\", so if they hit \"enter\" we know which one to select\n this._handleMouseoverCountryList = function(e) {\n // handle event delegation, as we're listening for this event on the countryList\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) {\n _this9._highlightListItem(listItem, false);\n }\n };\n this.countryList.addEventListener(\"mouseover\", this._handleMouseoverCountryList);\n // listen for country selection\n this._handleClickCountryList = function(e) {\n var listItem = _this9._getClosestListItem(e.target);\n if (listItem) {\n _this9._selectListItem(listItem);\n }\n };\n this.countryList.addEventListener(\"click\", this._handleClickCountryList);\n // click off to close\n // (except when this initial opening click is bubbling up)\n // we cannot just stopPropagation as it may be needed to close another instance\n var isOpening = true;\n this._handleClickOffToClose = function() {\n if (!isOpening) {\n _this9._closeDropdown();\n }\n isOpening = false;\n };\n document.documentElement.addEventListener(\"click\", this._handleClickOffToClose);\n // listen for up/down scrolling, enter to select, or letters to jump to country name.\n // use keydown as keypress doesn't fire for non-char keys and we want to catch if they\n // just hit down and hold it to scroll down (no keyup event).\n // listen on the document because that's where key events are triggered if no input has focus\n var query = \"\";\n var queryTimer = null;\n this._handleKeydownOnDropdown = function(e) {\n // prevent down key from scrolling the whole page,\n // and enter key from submitting a form etc\n e.preventDefault();\n // up and down to navigate\n if (e.key === \"ArrowUp\" || e.key === \"Up\" || e.key === \"ArrowDown\" || e.key === \"Down\") {\n _this9._handleUpDownKey(e.key);\n } else if (e.key === \"Enter\") {\n _this9._handleEnterKey();\n } else if (e.key === \"Escape\") {\n _this9._closeDropdown();\n } else if (/^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(e.key)) {\n // jump to countries that start with the query string\n if (queryTimer) {\n clearTimeout(queryTimer);\n }\n query += e.key.toLowerCase();\n _this9._searchForCountry(query);\n // if the timer hits 1 second, reset the query\n queryTimer = setTimeout(function() {\n query = \"\";\n }, 1e3);\n }\n };\n document.addEventListener(\"keydown\", this._handleKeydownOnDropdown);\n }\n }, {\n key: \"_handleUpDownKey\",\n value: function _handleUpDownKey(key) {\n var next = key === \"ArrowUp\" || key === \"Up\" ? this.highlightedItem.previousElementSibling : this.highlightedItem.nextElementSibling;\n if (next) {\n // skip the divider\n if (next.classList.contains(\"iti__divider\")) {\n next = key === \"ArrowUp\" || key === \"Up\" ? next.previousElementSibling : next.nextElementSibling;\n }\n this._highlightListItem(next, true);\n }\n }\n }, {\n key: \"_handleEnterKey\",\n value: function _handleEnterKey() {\n if (this.highlightedItem) {\n this._selectListItem(this.highlightedItem);\n }\n }\n }, {\n key: \"_searchForCountry\",\n value: function _searchForCountry(query) {\n for (var i = 0; i < this.countries.length; i++) {\n if (this._startsWith(this.countries[i].name, query)) {\n var listItem = this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(this.countries[i].iso2));\n // update highlighting and scroll\n this._highlightListItem(listItem, false);\n this._scrollTo(listItem, true);\n break;\n }\n }\n }\n }, {\n key: \"_startsWith\",\n value: function _startsWith(a, b) {\n return a.substr(0, b.length).toLowerCase() === b;\n }\n }, {\n key: \"_updateValFromNumber\",\n value: function _updateValFromNumber(originalNumber) {\n var number = originalNumber;\n if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) {\n var useNational = this.options.nationalMode || number.charAt(0) !== \"+\" && !this.options.separateDialCode;\n var _intlTelInputUtils$nu = intlTelInputUtils.numberFormat, NATIONAL = _intlTelInputUtils$nu.NATIONAL, INTERNATIONAL = _intlTelInputUtils$nu.INTERNATIONAL;\n var format = useNational ? NATIONAL : INTERNATIONAL;\n number = intlTelInputUtils.formatNumber(number, this.selectedCountryData.iso2, format);\n }\n number = this._beforeSetNumber(number);\n this.telInput.value = number;\n }\n }, {\n key: \"_updateFlagFromNumber\",\n value: function _updateFlagFromNumber(originalNumber) {\n // if we already have US/Canada selected, make sure the number starts\n // with a +1 so _getDialCode will be able to extract the area code\n // update: if we dont yet have selectedCountryData, but we're here (trying to update the flag\n // from the number), that means we're initialising the plugin with a number that already has a\n // dial code, so fine to ignore this bit\n var number = originalNumber;\n var selectedDialCode = this.selectedCountryData.dialCode;\n var isNanp = selectedDialCode === \"1\";\n if (number && isNanp && number.charAt(0) !== \"+\") {\n if (number.charAt(0) !== \"1\") {\n number = \"1\".concat(number);\n }\n number = \"+\".concat(number);\n }\n // if separateDialCode enabled, then consider the selected dial code to be part of the number\n if (this.options.separateDialCode && selectedDialCode && number.charAt(0) !== \"+\") {\n number = \"+\".concat(selectedDialCode).concat(number);\n }\n // try and extract valid dial code from input\n var dialCode = this._getDialCode(number, true);\n var numeric = this._getNumeric(number);\n var countryCode = null;\n if (dialCode) {\n var countryCodes = this.countryCodes[this._getNumeric(dialCode)];\n // check if the right country is already selected. this should be false if the number is\n // longer than the matched dial code because in this case we need to make sure that if\n // there are multiple country matches, that the first one is selected (note: we could\n // just check that here, but it requires the same loop that we already have later)\n var alreadySelected = countryCodes.indexOf(this.selectedCountryData.iso2) !== -1 && numeric.length <= dialCode.length - 1;\n var isRegionlessNanpNumber = selectedDialCode === \"1\" && this._isRegionlessNanp(numeric);\n // only update the flag if:\n // A) NOT (we currently have a NANP flag selected, and the number is a regionlessNanp)\n // AND\n // B) the right country is not already selected\n if (!isRegionlessNanpNumber && !alreadySelected) {\n // if using onlyCountries option, countryCodes[0] may be empty, so we must find the first\n // non-empty index\n for (var j = 0; j < countryCodes.length; j++) {\n if (countryCodes[j]) {\n countryCode = countryCodes[j];\n break;\n }\n }\n }\n } else if (number.charAt(0) === \"+\" && numeric.length) {\n // invalid dial code, so empty\n // Note: use getNumeric here because the number has not been formatted yet, so could contain\n // bad chars\n countryCode = \"\";\n } else if (!number || number === \"+\") {\n // empty, or just a plus, so default\n countryCode = this.defaultCountry;\n }\n if (countryCode !== null) {\n return this._setFlag(countryCode);\n }\n return false;\n }\n }, {\n key: \"_isRegionlessNanp\",\n value: function _isRegionlessNanp(number) {\n var numeric = this._getNumeric(number);\n if (numeric.charAt(0) === \"1\") {\n var areaCode = numeric.substr(1, 3);\n return regionlessNanpNumbers.indexOf(areaCode) !== -1;\n }\n return false;\n }\n }, {\n key: \"_highlightListItem\",\n value: function _highlightListItem(listItem, shouldFocus) {\n var prevItem = this.highlightedItem;\n if (prevItem) {\n prevItem.classList.remove(\"iti__highlight\");\n }\n this.highlightedItem = listItem;\n this.highlightedItem.classList.add(\"iti__highlight\");\n this.selectedFlag.setAttribute(\"aria-activedescendant\", listItem.getAttribute(\"id\"));\n if (shouldFocus) {\n this.highlightedItem.focus();\n }\n }\n }, {\n key: \"_getCountryData\",\n value: function _getCountryData(countryCode, ignoreOnlyCountriesOption, allowFail) {\n var countryList = ignoreOnlyCountriesOption ? allCountries : this.countries;\n for (var i = 0; i < countryList.length; i++) {\n if (countryList[i].iso2 === countryCode) {\n return countryList[i];\n }\n }\n if (allowFail) {\n return null;\n }\n throw new Error(\"No country data for '\".concat(countryCode, \"'\"));\n }\n }, {\n key: \"_setFlag\",\n value: function _setFlag(countryCode) {\n var prevCountry = this.selectedCountryData.iso2 ? this.selectedCountryData : {};\n // do this first as it will throw an error and stop if countryCode is invalid\n this.selectedCountryData = countryCode ? this._getCountryData(countryCode, false, false) : {};\n // update the defaultCountry - we only need the iso2 from now on, so just store that\n if (this.selectedCountryData.iso2) {\n this.defaultCountry = this.selectedCountryData.iso2;\n }\n if (this.options.showFlags) {\n this.selectedFlagInner.setAttribute(\"class\", \"iti__flag iti__\".concat(countryCode));\n }\n // update the selected country's title attribute\n if (this.selectedFlag) {\n var title = countryCode ? \"\".concat(this.selectedCountryData.name, \": +\").concat(this.selectedCountryData.dialCode) : \"Unknown\";\n this.selectedFlag.setAttribute(\"title\", title);\n }\n if (this.options.separateDialCode) {\n var dialCode = this.selectedCountryData.dialCode ? \"+\".concat(this.selectedCountryData.dialCode) : \"\";\n this.selectedDialCode.innerHTML = dialCode;\n // offsetWidth is zero if input is in a hidden container during initialisation\n var selectedFlagWidth = this.selectedFlag.offsetWidth || this._getHiddenSelectedFlagWidth();\n // add 6px of padding after the grey selected-dial-code box, as this is what we use in the css\n this.telInput.style.paddingLeft = \"\".concat(selectedFlagWidth + 6, \"px\");\n }\n // and the input's placeholder\n this._updatePlaceholder();\n // update the active list item\n if (this.options.allowDropdown) {\n var prevItem = this.activeItem;\n if (prevItem) {\n prevItem.classList.remove(\"iti__active\");\n prevItem.setAttribute(\"aria-selected\", \"false\");\n }\n if (countryCode) {\n // check if there is a preferred item first, else fall back to standard\n var nextItem = this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(countryCode, \"-preferred\")) || this.countryList.querySelector(\"#iti-\".concat(this.id, \"__item-\").concat(countryCode));\n nextItem.setAttribute(\"aria-selected\", \"true\");\n nextItem.classList.add(\"iti__active\");\n this.activeItem = nextItem;\n }\n }\n // return if the flag has changed or not\n return prevCountry.iso2 !== countryCode;\n }\n }, {\n key: \"_getHiddenSelectedFlagWidth\",\n value: function _getHiddenSelectedFlagWidth() {\n // to get the right styling to apply, all we need is a shallow clone of the container,\n // and then to inject a deep clone of the selectedFlag element\n var containerClone = this.telInput.parentNode.cloneNode();\n containerClone.style.visibility = \"hidden\";\n document.body.appendChild(containerClone);\n var flagsContainerClone = this.flagsContainer.cloneNode();\n containerClone.appendChild(flagsContainerClone);\n var selectedFlagClone = this.selectedFlag.cloneNode(true);\n flagsContainerClone.appendChild(selectedFlagClone);\n var width = selectedFlagClone.offsetWidth;\n containerClone.parentNode.removeChild(containerClone);\n return width;\n }\n }, {\n key: \"_updatePlaceholder\",\n value: function _updatePlaceholder() {\n var shouldSetPlaceholder = this.options.autoPlaceholder === \"aggressive\" || !this.hadInitialPlaceholder && this.options.autoPlaceholder === \"polite\";\n if (window.intlTelInputUtils && shouldSetPlaceholder) {\n var numberType = intlTelInputUtils.numberType[this.options.placeholderNumberType];\n var placeholder = this.selectedCountryData.iso2 ? intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, this.options.nationalMode, numberType) : \"\";\n placeholder = this._beforeSetNumber(placeholder);\n if (typeof this.options.customPlaceholder === \"function\") {\n placeholder = this.options.customPlaceholder(placeholder, this.selectedCountryData);\n }\n this.telInput.setAttribute(\"placeholder\", placeholder);\n }\n }\n }, {\n key: \"_selectListItem\",\n value: function _selectListItem(listItem) {\n // update selected flag and active list item\n var flagChanged = this._setFlag(listItem.getAttribute(\"data-country-code\"));\n this._closeDropdown();\n this._updateDialCode(listItem.getAttribute(\"data-dial-code\"));\n // focus the input\n this.telInput.focus();\n // put cursor at end - this fix is required for FF and IE11 (with auto inserting dial code),\n // who try to put the cursor at the beginning the first time\n var len = this.telInput.value.length;\n this.telInput.setSelectionRange(len, len);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"_closeDropdown\",\n value: function _closeDropdown() {\n this.countryList.classList.add(\"iti__hide\");\n this.selectedFlag.setAttribute(\"aria-expanded\", \"false\");\n this.selectedFlag.removeAttribute(\"aria-activedescendant\");\n // update the arrow\n this.dropdownArrow.classList.remove(\"iti__arrow--up\");\n // unbind key events\n document.removeEventListener(\"keydown\", this._handleKeydownOnDropdown);\n document.documentElement.removeEventListener(\"click\", this._handleClickOffToClose);\n this.countryList.removeEventListener(\"mouseover\", this._handleMouseoverCountryList);\n this.countryList.removeEventListener(\"click\", this._handleClickCountryList);\n // remove menu from container\n if (this.options.dropdownContainer) {\n if (!this.isMobile) {\n window.removeEventListener(\"scroll\", this._handleWindowScroll);\n }\n if (this.dropdown.parentNode) {\n this.dropdown.parentNode.removeChild(this.dropdown);\n }\n }\n this._trigger(\"close:countrydropdown\");\n }\n }, {\n key: \"_scrollTo\",\n value: function _scrollTo(element, middle) {\n var container = this.countryList;\n // windowTop from https://stackoverflow.com/a/14384091/217866\n var windowTop = window.pageYOffset || document.documentElement.scrollTop;\n var containerHeight = container.offsetHeight;\n var containerTop = container.getBoundingClientRect().top + windowTop;\n var containerBottom = containerTop + containerHeight;\n var elementHeight = element.offsetHeight;\n var elementTop = element.getBoundingClientRect().top + windowTop;\n var elementBottom = elementTop + elementHeight;\n var newScrollTop = elementTop - containerTop + container.scrollTop;\n var middleOffset = containerHeight / 2 - elementHeight / 2;\n if (elementTop < containerTop) {\n // scroll up\n if (middle) {\n newScrollTop -= middleOffset;\n }\n container.scrollTop = newScrollTop;\n } else if (elementBottom > containerBottom) {\n // scroll down\n if (middle) {\n newScrollTop += middleOffset;\n }\n var heightDifference = containerHeight - elementHeight;\n container.scrollTop = newScrollTop - heightDifference;\n }\n }\n }, {\n key: \"_updateDialCode\",\n value: function _updateDialCode(newDialCodeBare) {\n var inputVal = this.telInput.value;\n // save having to pass this every time\n var newDialCode = \"+\".concat(newDialCodeBare);\n var newNumber;\n if (inputVal.charAt(0) === \"+\") {\n // there's a plus so we're dealing with a replacement\n var prevDialCode = this._getDialCode(inputVal);\n if (prevDialCode) {\n // current number contains a valid dial code, so replace it\n newNumber = inputVal.replace(prevDialCode, newDialCode);\n } else {\n // current number contains an invalid dial code, so ditch it\n // (no way to determine where the invalid dial code ends and the rest of the number begins)\n newNumber = newDialCode;\n }\n this.telInput.value = newNumber;\n } else if (this.options.autoInsertDialCode) {\n if (inputVal) {\n // there is an existing value with no dial code: prefix the new dial code\n newNumber = newDialCode + inputVal;\n } else {\n newNumber = newDialCode;\n }\n this.telInput.value = newNumber;\n }\n }\n }, {\n key: \"_getDialCode\",\n value: function _getDialCode(number, includeAreaCode) {\n var dialCode = \"\";\n // only interested in international numbers (starting with a plus)\n if (number.charAt(0) === \"+\") {\n var numericChars = \"\";\n // iterate over chars\n for (var i = 0; i < number.length; i++) {\n var c = number.charAt(i);\n // if char is number (https://stackoverflow.com/a/8935649/217866)\n if (!isNaN(parseInt(c, 10))) {\n numericChars += c;\n // if current numericChars make a valid dial code\n if (includeAreaCode) {\n if (this.countryCodes[numericChars]) {\n // store the actual raw string (useful for matching later)\n dialCode = number.substr(0, i + 1);\n }\n } else {\n if (this.dialCodes[numericChars]) {\n dialCode = number.substr(0, i + 1);\n // if we're just looking for a dial code, we can break as soon as we find one\n break;\n }\n }\n // stop searching as soon as we can - in this case when we hit max len\n if (numericChars.length === this.countryCodeMaxLen) {\n break;\n }\n }\n }\n }\n return dialCode;\n }\n }, {\n key: \"_getFullNumber\",\n value: function _getFullNumber() {\n var val = this.telInput.value.trim();\n var dialCode = this.selectedCountryData.dialCode;\n var prefix;\n var numericVal = this._getNumeric(val);\n if (this.options.separateDialCode && val.charAt(0) !== \"+\" && dialCode && numericVal) {\n // when using separateDialCode, it is visible so is effectively part of the typed number\n prefix = \"+\".concat(dialCode);\n } else {\n prefix = \"\";\n }\n return prefix + val;\n }\n }, {\n key: \"_beforeSetNumber\",\n value: function _beforeSetNumber(originalNumber) {\n var number = originalNumber;\n if (this.options.separateDialCode) {\n var dialCode = this._getDialCode(number);\n // if there is a valid dial code\n if (dialCode) {\n // in case _getDialCode returned an area code as well\n dialCode = \"+\".concat(this.selectedCountryData.dialCode);\n // a lot of numbers will have a space separating the dial code and the main number, and\n // some NANP numbers will have a hyphen e.g. +1 684-733-1234 - in both cases we want to get\n // rid of it\n // NOTE: don't just trim all non-numerics as may want to preserve an open parenthesis etc\n var start = number[dialCode.length] === \" \" || number[dialCode.length] === \"-\" ? dialCode.length + 1 : dialCode.length;\n number = number.substr(start);\n }\n }\n return this._cap(number);\n }\n }, {\n key: \"_triggerCountryChange\",\n value: function _triggerCountryChange() {\n this._trigger(\"countrychange\");\n }\n }, {\n key: \"handleAutoCountry\",\n value: function handleAutoCountry() {\n if (this.options.initialCountry === \"auto\") {\n // we must set this even if there is an initial val in the input: in case the initial val is\n // invalid and they delete it - they should see their auto country\n this.defaultCountry = window.intlTelInputGlobals.autoCountry;\n // if there's no initial value in the input, then update the flag\n if (!this.telInput.value) {\n this.setCountry(this.defaultCountry);\n }\n this.resolveAutoCountryPromise();\n }\n }\n }, {\n key: \"handleUtils\",\n value: function handleUtils() {\n // if the request was successful\n if (window.intlTelInputUtils) {\n // if there's an initial value in the input, then format it\n if (this.telInput.value) {\n this._updateValFromNumber(this.telInput.value);\n }\n this._updatePlaceholder();\n }\n this.resolveUtilsScriptPromise();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var form = this.telInput.form;\n if (this.options.allowDropdown) {\n // make sure the dropdown is closed (and unbind listeners)\n this._closeDropdown();\n this.selectedFlag.removeEventListener(\"click\", this._handleClickSelectedFlag);\n this.flagsContainer.removeEventListener(\"keydown\", this._handleFlagsContainerKeydown);\n // label click hack\n var label = this._getClosestLabel();\n if (label) {\n label.removeEventListener(\"click\", this._handleLabelClick);\n }\n }\n // unbind hiddenInput listeners\n if (this.hiddenInput && form) {\n form.removeEventListener(\"submit\", this._handleHiddenInputSubmit);\n }\n // unbind autoInsertDialCode listeners\n if (this.options.autoInsertDialCode) {\n if (form) {\n form.removeEventListener(\"submit\", this._handleSubmitOrBlurEvent);\n }\n this.telInput.removeEventListener(\"blur\", this._handleSubmitOrBlurEvent);\n }\n // unbind key events, and cut/paste events\n this.telInput.removeEventListener(\"keyup\", this._handleKeyupEvent);\n this.telInput.removeEventListener(\"cut\", this._handleClipboardEvent);\n this.telInput.removeEventListener(\"paste\", this._handleClipboardEvent);\n // remove attribute of id instance: data-intl-tel-input-id\n this.telInput.removeAttribute(\"data-intl-tel-input-id\");\n // remove markup (but leave the original input)\n var wrapper = this.telInput.parentNode;\n wrapper.parentNode.insertBefore(this.telInput, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n delete window.intlTelInputGlobals.instances[this.id];\n }\n }, {\n key: \"getExtension\",\n value: function getExtension() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return \"\";\n }\n }, {\n key: \"getNumber\",\n value: function getNumber(format) {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.formatNumber(this._getFullNumber(), iso2, format);\n }\n return \"\";\n }\n }, {\n key: \"getNumberType\",\n value: function getNumberType() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return -99;\n }\n }, {\n key: \"getSelectedCountryData\",\n value: function getSelectedCountryData() {\n return this.selectedCountryData;\n }\n }, {\n key: \"getValidationError\",\n value: function getValidationError() {\n if (window.intlTelInputUtils) {\n var iso2 = this.selectedCountryData.iso2;\n return intlTelInputUtils.getValidationError(this._getFullNumber(), iso2);\n }\n return -99;\n }\n }, {\n key: \"isValidNumber\",\n value: function isValidNumber() {\n var val = this._getFullNumber().trim();\n return window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(val, this.selectedCountryData.iso2) : null;\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(originalCountryCode) {\n var countryCode = originalCountryCode.toLowerCase();\n // check if already selected\n if (this.selectedCountryData.iso2 !== countryCode) {\n this._setFlag(countryCode);\n this._updateDialCode(this.selectedCountryData.dialCode);\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setNumber\",\n value: function setNumber(number) {\n // we must update the flag first, which updates this.selectedCountryData, which is used for\n // formatting the number before displaying it\n var flagChanged = this._updateFlagFromNumber(number);\n this._updateValFromNumber(number);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n }\n }, {\n key: \"setPlaceholderNumberType\",\n value: function setPlaceholderNumberType(type) {\n this.options.placeholderNumberType = type;\n this._updatePlaceholder();\n }\n } ]);\n return Iti;\n }();\n /********************\n * STATIC METHODS\n ********************/\n // get the country data object\n intlTelInputGlobals.getCountryData = function() {\n return allCountries;\n };\n // inject a