{"version":3,"file":"embed.js","mappings":"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","sources":["webpack://my-country-talks/webpack/runtime/create fake namespace object","webpack://my-country-talks/webpack/runtime/load script","webpack://my-country-talks/./node_modules/idx/lib/idx.js","webpack://my-country-talks/./node_modules/intl-tel-input/build/js/intlTelInput.js","webpack://my-country-talks/./node_modules/intl-tel-input/index.js","webpack://my-country-talks/./node_modules/isomorphic-unfetch/browser.js","webpack://my-country-talks/./node_modules/unfetch/dist/unfetch.module.js","webpack://my-country-talks/webpack/bootstrap","webpack://my-country-talks/webpack/runtime/compat get default export","webpack://my-country-talks/webpack/runtime/define property getters","webpack://my-country-talks/webpack/runtime/ensure chunk","webpack://my-country-talks/webpack/runtime/get javascript chunk filename","webpack://my-country-talks/webpack/runtime/get mini-css chunk filename","webpack://my-country-talks/webpack/runtime/global","webpack://my-country-talks/webpack/runtime/hasOwnProperty shorthand","webpack://my-country-talks/webpack/runtime/make namespace object","webpack://my-country-talks/webpack/runtime/publicPath","webpack://my-country-talks/webpack/runtime/jsonp chunk loading","webpack://my-country-talks/./app/javascript/src/embed/utils/sendHeight.js","webpack://my-country-talks/./app/javascript/src/embed/components/Geocoder/index.js","webpack://my-country-talks/./app/javascript/src/shared/components/PhoneInput/PhoneInput.js","webpack://my-country-talks/./app/javascript/src/shared/components/PhoneInput/index.js","webpack://my-country-talks/./node_modules/friendly-challenge/compat/index.js","webpack://my-country-talks/./node_modules/tslib/tslib.es6.js","webpack://my-country-talks/./node_modules/@appsignal/core/dist/esm/utils/functional.js","webpack://my-country-talks/./node_modules/@appsignal/core/dist/esm/utils/hashmap.js","webpack://my-country-talks/./node_modules/@appsignal/core/dist/esm/utils/error.js","webpack://my-country-talks/./node_modules/@appsignal/core/dist/esm/utils/environment.js","webpack://my-country-talks/./node_modules/@appsignal/core/dist/esm/serializable.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/environment.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/transports/xdomain.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/transports/xhr.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/transports/fetch.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/transports/node.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/api.js","webpack://my-country-talks/./node_modules/@appsignal/core/dist/esm/utils/url.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/span.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/queue.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/dispatcher.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/index.js","webpack://my-country-talks/./app/javascript/src/shared/utils/appsignal.js","webpack://my-country-talks/./node_modules/@appsignal/javascript/dist/esm/version.js","webpack://my-country-talks/./app/javascript/src/shared/components/Captcha/friendly-captcha.js","webpack://my-country-talks/./app/javascript/src/shared/components/Captcha/Captcha.js","webpack://my-country-talks/./app/javascript/src/embed/components/Form/Form.js","webpack://my-country-talks/./app/javascript/src/embed/components/Form/index.js","webpack://my-country-talks/./app/javascript/src/shared/utils/trimValue.js","webpack://my-country-talks/./app/javascript/src/shared/components/LimitedTextarea/characterLimit.js","webpack://my-country-talks/./app/javascript/src/embed/index.js","webpack://my-country-talks/./app/javascript/src/shared/components/LimitedTextarea/index.js","webpack://my-country-talks/./app/javascript/src/embed/components/TrimInputs/index.js"],"sourcesContent":["var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\nvar dataWebpackPrefix = \"my-country-talks:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t};\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * strict\n * @format\n */\n\n'use strict'; // eslint-disable-line strict\n\n/**\n * Traverses properties on objects and arrays. If an intermediate property is\n * either null or undefined, it is instead returned. The purpose of this method\n * is to simplify extracting properties from a chain of maybe-typed properties.\n *\n * === EXAMPLE ===\n *\n * Consider the following type:\n *\n * const props: {\n * user: ?{\n * name: string,\n * friends: ?Array,\n * }\n * };\n *\n * Getting to the friends of my first friend would resemble:\n *\n * props.user &&\n * props.user.friends &&\n * props.user.friends[0] &&\n * props.user.friends[0].friends\n *\n * Instead, `idx` allows us to safely write:\n *\n * idx(props, _ => _.user.friends[0].friends)\n *\n * The second argument must be a function that returns one or more nested member\n * expressions. Any other expression has undefined behavior.\n *\n * === NOTE ===\n *\n * The code below exists for the purpose of illustrating expected behavior and\n * is not meant to be executed. The `idx` function is used in conjunction with a\n * Babel transform that replaces it with better performing code:\n *\n * props.user == null ? props.user :\n * props.user.friends == null ? props.user.friends :\n * props.user.friends[0] == null ? props.user.friends[0] :\n * props.user.friends[0].friends\n *\n * All this machinery exists due to the fact that an existential operator does\n * not currently exist in JavaScript.\n */\n\nfunction idx(input, accessor) {\n try {\n return accessor(input);\n } catch (error) {\n if (error instanceof TypeError) {\n if (nullPattern.test(error)) {\n return null;\n } else if (undefinedPattern.test(error)) {\n return undefined;\n }\n }\n throw error;\n }\n}\n\n/**\n * Some actual error messages for null:\n *\n * TypeError: Cannot read property 'bar' of null\n * TypeError: Cannot convert null value to object\n * TypeError: foo is null\n * TypeError: null has no properties\n * TypeError: null is not an object (evaluating 'foo.bar')\n * TypeError: null is not an object (evaluating '(\" undefined \", null).bar')\n */\nvar nullPattern = /^null | null$|^[^(]* null /i;\nvar undefinedPattern = /^undefined | undefined$|^[^(]* undefined /i;\n\nidx.default = idx;\nmodule.exports = idx;\n","/*\n * International Telephone Input v17.0.19\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\", \"289\", \"306\", \"343\", \"365\", \"387\", \"403\", \"416\", \"418\", \"431\", \"437\", \"438\", \"450\", \"506\", \"514\", \"519\", \"548\", \"579\", \"581\", \"587\", \"604\", \"613\", \"639\", \"647\", \"672\", \"705\", \"709\", \"742\", \"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\" ], [ \"North Macedonia (Македонија)\", \"mk\", \"389\" ], [ \"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\" ], [ \"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 _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, 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 return Constructor;\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\") window.intlTelInputGlobals = intlTelInputGlobals;\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 // if there is just a dial code in the input: remove it on blur\n autoHideDialCode: true,\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 // don't insert international dial codes\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 so it's not part of the typed number\n separateDialCode: false,\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__*/\n 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, disable options relating to dial codes\n if (this.options.nationalMode) this.options.autoHideDialCode = false;\n // if separateDialCode then doesn't make sense to A) insert dial code into input\n // (autoHideDialCode), and B) display national numbers (because we're displaying the country\n // dial code next to them)\n if (this.options.separateDialCode) {\n this.options.autoHideDialCode = this.options.nationalMode = false;\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) this.options.dropdownContainer = document.body;\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: autoHideDialCode, 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) this._translateCountriesByLocale();\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) return;\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 return a.name.localeCompare(b.name);\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]) this.dialCodes[c.dialCode] = true;\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) this.preferredCountries.push(countryData);\n }\n }\n }, {\n key: \"_createEl\",\n value: function _createEl(name, attrs, container) {\n var el = document.createElement(name);\n if (attrs) forEachProp(attrs, function(key, value) {\n return el.setAttribute(key, value);\n });\n if (container) container.appendChild(el);\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 (esp in nationalMode)\n if (!this.telInput.hasAttribute(\"autocomplete\") && !(this.telInput.form && this.telInput.form.hasAttribute(\"autocomplete\"))) {\n this.telInput.setAttribute(\"autocomplete\", \"off\");\n }\n // containers (mostly for positioning)\n var parentClass = \"iti\";\n if (this.options.allowDropdown) parentClass += \" iti--allow-dropdown\";\n if (this.options.separateDialCode) parentClass += \" iti--separate-dial-code\";\n if (this.options.customContainer) {\n parentClass += \" \";\n parentClass += this.options.customContainer;\n }\n var wrapper = this._createEl(\"div\", {\n \"class\": parentClass\n });\n this.telInput.parentNode.insertBefore(wrapper, this.telInput);\n this.flagsContainer = this._createEl(\"div\", {\n \"class\": \"iti__flag-container\"\n }, wrapper);\n wrapper.appendChild(this.telInput);\n // selected flag (displayed to left of input)\n this.selectedFlag = this._createEl(\"div\", {\n \"class\": \"iti__selected-flag\",\n role: \"combobox\",\n \"aria-controls\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-owns\": \"iti-\".concat(this.id, \"__country-listbox\"),\n \"aria-expanded\": \"false\"\n }, this.flagsContainer);\n this.selectedFlagInner = this._createEl(\"div\", {\n \"class\": \"iti__flag\"\n }, this.selectedFlag);\n if (this.options.separateDialCode) {\n this.selectedDialCode = this._createEl(\"div\", {\n \"class\": \"iti__selected-dial-code\"\n }, this.selectedFlag);\n }\n if (this.options.allowDropdown) {\n // make element focusable and tab navigable\n this.selectedFlag.setAttribute(\"tabindex\", \"0\");\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 (this.options.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 (this.options.hiddenInput) {\n var hiddenInputName = this.options.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) hiddenInputName = \"\".concat(name.substr(0, i), \"[\").concat(hiddenInputName, \"]\");\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 tmp += \"
    \");\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$options = this.options, initialCountry = _this$options.initialCountry, nationalMode = _this$options.nationalMode, autoHideDialCode = _this$options.autoHideDialCode, separateDialCode = _this$options.separateDialCode;\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 no nationalMode and no autoHideDialCode then insert the default dial code\n if (!val && !nationalMode && !autoHideDialCode && !separateDialCode) {\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) this._updateValFromNumber(val);\n }\n }, {\n key: \"_initListeners\",\n value: function _initListeners() {\n this._initKeyListeners();\n if (this.options.autoHideDialCode) this._initBlurListeners();\n if (this.options.allowDropdown) this._initDropdownListeners();\n if (this.hiddenInput) this._initHiddenInputListener();\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) this.telInput.form.addEventListener(\"submit\", this._handleHiddenInputSubmit);\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\")) _this4.telInput.focus(); else e.preventDefault();\n };\n var label = this._getClosestLabel();\n if (label) label.addEventListener(\"click\", this._handleLabelClick);\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\") _this4._closeDropdown();\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 this.resolveUtilsScriptPromise();\n if (this.options.initialCountry === \"auto\") this._loadAutoCountry(); else this.resolveAutoCountryPromise();\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) this.telInput.form.addEventListener(\"submit\", this._handleSubmitOrBlurEvent);\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)) el.classList.add(className); else if (!shouldHaveClass && el.classList.contains(className)) el.classList.remove(className);\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) _this9._highlightListItem(listItem, false);\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) _this9._selectListItem(listItem);\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) _this9._closeDropdown();\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\") _this9._handleUpDownKey(e.key); else if (e.key === \"Enter\") _this9._handleEnterKey(); else if (e.key === \"Escape\") _this9._closeDropdown(); else if (/^[a-zA-ZÀ-ÿа-яА-Я ]$/.test(e.key)) {\n // jump to countries that start with the query string\n if (queryTimer) clearTimeout(queryTimer);\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) this._selectListItem(this.highlightedItem);\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.separateDialCode && (this.options.nationalMode || number.charAt(0) !== \"+\");\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're in nationalMode and 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 && this.options.nationalMode && isNanp && number.charAt(0) !== \"+\") {\n if (number.charAt(0) !== \"1\") number = \"1\".concat(number);\n number = \"+\".concat(number);\n }\n // update flag if user types area code for another country\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) prevItem.classList.remove(\"iti__highlight\");\n this.highlightedItem = listItem;\n this.highlightedItem.classList.add(\"iti__highlight\");\n if (shouldFocus) this.highlightedItem.focus();\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 this.selectedFlagInner.setAttribute(\"class\", \"iti__flag iti__\".concat(countryCode));\n // update the selected country's title attribute\n var title = countryCode ? \"\".concat(this.selectedCountryData.name, \": +\").concat(this.selectedCountryData.dialCode) : \"Unknown\";\n this.selectedFlag.setAttribute(\"title\", title);\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 this.selectedFlag.setAttribute(\"aria-activedescendant\", nextItem.getAttribute(\"id\"));\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\"), true);\n // focus the input\n this.telInput.focus();\n // put cursor at end - this fix is required for FF and IE11 (with nationalMode=false i.e. auto\n // inserting dial code), 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 // 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) window.removeEventListener(\"scroll\", this._handleWindowScroll);\n if (this.dropdown.parentNode) this.dropdown.parentNode.removeChild(this.dropdown);\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) newScrollTop -= middleOffset;\n container.scrollTop = newScrollTop;\n } else if (elementBottom > containerBottom) {\n // scroll down\n if (middle) newScrollTop += middleOffset;\n var heightDifference = containerHeight - elementHeight;\n container.scrollTop = newScrollTop - heightDifference;\n }\n }\n }, {\n key: \"_updateDialCode\",\n value: function _updateDialCode(newDialCodeBare, hasSelectedListItem) {\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 (doesn't matter if nationalMode or not)\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 } else if (this.options.nationalMode || this.options.separateDialCode) {\n // don't do anything\n return;\n } else {\n // nationalMode is disabled\n if (inputVal) {\n // there is an existing value with no dial code: prefix the new dial code\n newNumber = newDialCode + inputVal;\n } else if (hasSelectedListItem || !this.options.autoHideDialCode) {\n // no existing value and either they've just selected a list item, or autoHideDialCode is\n // disabled: insert new dial code\n newNumber = newDialCode;\n } else {\n return;\n }\n }\n this.telInput.value = newNumber;\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) label.removeEventListener(\"click\", this._handleLabelClick);\n }\n // unbind hiddenInput listeners\n if (this.hiddenInput && form) form.removeEventListener(\"submit\", this._handleHiddenInputSubmit);\n // unbind autoHideDialCode listeners\n if (this.options.autoHideDialCode) {\n if (form) form.removeEventListener(\"submit\", this._handleSubmitOrBlurEvent);\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 var countryCode = this.options.nationalMode ? this.selectedCountryData.iso2 : \"\";\n return window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(val, countryCode) : null;\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(originalCountryCode) {\n var countryCode = originalCountryCode.toLowerCase();\n // check if already selected\n if (!this.selectedFlagInner.classList.contains(\"iti__\".concat(countryCode))) {\n this._setFlag(countryCode);\n this._updateDialCode(this.selectedCountryData.dialCode, false);\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