{"version":3,"file":"vendors/vendors-main-AsYouType.js.bundle.js","mappings":"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","sources":["webpack://typescript/./node_modules/libphonenumber-js/es6/AsYouType.js"],"sourcesContent":["function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\nimport Metadata from './metadata.js';\nimport PhoneNumber from './PhoneNumber.js';\nimport AsYouTypeState from './AsYouTypeState.js';\nimport AsYouTypeFormatter, { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.js';\nimport AsYouTypeParser, { extractFormattedDigitsAndPlus } from './AsYouTypeParser.js';\nimport getCountryByCallingCode from './helpers/getCountryByCallingCode.js';\nimport getCountryByNationalNumber from './helpers/getCountryByNationalNumber.js';\nimport isObject from './helpers/isObject.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar AsYouType = /*#__PURE__*/function () {\n /**\r\n * @param {(string|object)?} [optionsOrDefaultCountry] - The default country used for parsing non-international phone numbers. Can also be an `options` object.\r\n * @param {Object} metadata\r\n */\n function AsYouType(optionsOrDefaultCountry, metadata) {\n _classCallCheck(this, AsYouType);\n\n this.metadata = new Metadata(metadata);\n\n var _this$getCountryAndCa = this.getCountryAndCallingCode(optionsOrDefaultCountry),\n _this$getCountryAndCa2 = _slicedToArray(_this$getCountryAndCa, 2),\n defaultCountry = _this$getCountryAndCa2[0],\n defaultCallingCode = _this$getCountryAndCa2[1]; // `this.defaultCountry` and `this.defaultCallingCode` aren't required to be in sync.\n // For example, `this.defaultCountry` could be `\"AR\"` and `this.defaultCallingCode` could be `undefined`.\n // So `this.defaultCountry` and `this.defaultCallingCode` are totally independent.\n\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.reset();\n }\n\n _createClass(AsYouType, [{\n key: \"getCountryAndCallingCode\",\n value: function getCountryAndCallingCode(optionsOrDefaultCountry) {\n // Set `defaultCountry` and `defaultCallingCode` options.\n var defaultCountry;\n var defaultCallingCode; // Turns out `null` also has type \"object\". Weird.\n\n if (optionsOrDefaultCountry) {\n if (isObject(optionsOrDefaultCountry)) {\n defaultCountry = optionsOrDefaultCountry.defaultCountry;\n defaultCallingCode = optionsOrDefaultCountry.defaultCallingCode;\n } else {\n defaultCountry = optionsOrDefaultCountry;\n }\n }\n\n if (defaultCountry && !this.metadata.hasCountry(defaultCountry)) {\n defaultCountry = undefined;\n }\n\n if (defaultCallingCode) {\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (this.metadata.isNonGeographicCallingCode(defaultCallingCode)) {\n defaultCountry = '001';\n }\n }\n }\n\n return [defaultCountry, defaultCallingCode];\n }\n /**\r\n * Inputs \"next\" phone number characters.\r\n * @param {string} text\r\n * @return {string} Formatted phone number characters that have been input so far.\r\n */\n\n }, {\n key: \"input\",\n value: function input(text) {\n var _this$parser$input = this.parser.input(text, this.state),\n digits = _this$parser$input.digits,\n justLeadingPlus = _this$parser$input.justLeadingPlus;\n\n if (justLeadingPlus) {\n this.formattedOutput = '+';\n } else if (digits) {\n this.determineTheCountryIfNeeded(); // Match the available formats by the currently available leading digits.\n\n if (this.state.nationalSignificantNumber) {\n this.formatter.narrowDownMatchingFormats(this.state);\n }\n\n var formattedNationalNumber;\n\n if (this.metadata.hasSelectedNumberingPlan()) {\n formattedNationalNumber = this.formatter.format(digits, this.state);\n }\n\n if (formattedNationalNumber === undefined) {\n // See if another national (significant) number could be re-extracted.\n if (this.parser.reExtractNationalSignificantNumber(this.state)) {\n this.determineTheCountryIfNeeded(); // If it could, then re-try formatting the new national (significant) number.\n\n var nationalDigits = this.state.getNationalDigits();\n\n if (nationalDigits) {\n formattedNationalNumber = this.formatter.format(nationalDigits, this.state);\n }\n }\n }\n\n this.formattedOutput = formattedNationalNumber ? this.getFullNumber(formattedNationalNumber) : this.getNonFormattedNumber();\n }\n\n return this.formattedOutput;\n }\n }, {\n key: \"reset\",\n value: function reset() {\n var _this = this;\n\n this.state = new AsYouTypeState({\n onCountryChange: function onCountryChange(country) {\n // Before version `1.6.0`, the official `AsYouType` formatter API\n // included the `.country` property of an `AsYouType` instance.\n // Since that property (along with the others) have been moved to\n // `this.state`, `this.country` property is emulated for compatibility\n // with the old versions.\n _this.country = country;\n },\n onCallingCodeChange: function onCallingCodeChange(callingCode, country) {\n _this.metadata.selectNumberingPlan(country, callingCode);\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n\n _this.parser.reset(_this.metadata.numberingPlan);\n }\n });\n this.formatter = new AsYouTypeFormatter({\n state: this.state,\n metadata: this.metadata\n });\n this.parser = new AsYouTypeParser({\n defaultCountry: this.defaultCountry,\n defaultCallingCode: this.defaultCallingCode,\n metadata: this.metadata,\n state: this.state,\n onNationalSignificantNumberChange: function onNationalSignificantNumberChange() {\n _this.determineTheCountryIfNeeded();\n\n _this.formatter.reset(_this.metadata.numberingPlan, _this.state);\n }\n });\n this.state.reset({\n country: this.defaultCountry,\n callingCode: this.defaultCallingCode\n });\n this.formattedOutput = '';\n return this;\n }\n /**\r\n * Returns `true` if the phone number is being input in international format.\r\n * In other words, returns `true` if and only if the parsed phone number starts with a `\"+\"`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isInternational\",\n value: function isInternational() {\n return this.state.international;\n }\n /**\r\n * Returns the \"calling code\" part of the phone number when it's being input\r\n * in an international format.\r\n * If no valid calling code has been entered so far, returns `undefined`.\r\n * @return {string} [callingCode]\r\n */\n\n }, {\n key: \"getCallingCode\",\n value: function getCallingCode() {\n // If the number is being input in national format and some \"default calling code\"\n // has been passed to `AsYouType` constructor, then `this.state.callingCode`\n // is equal to that \"default calling code\".\n //\n // If the number is being input in national format and no \"default calling code\"\n // has been passed to `AsYouType` constructor, then returns `undefined`,\n // even if a \"default country\" has been passed to `AsYouType` constructor.\n //\n if (this.isInternational()) {\n return this.state.callingCode;\n }\n } // A legacy alias.\n\n }, {\n key: \"getCountryCallingCode\",\n value: function getCountryCallingCode() {\n return this.getCallingCode();\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * Returns `undefined` if no phone number has been input yet.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"getCountry\",\n value: function getCountry() {\n var digits = this.state.digits; // Return `undefined` if no digits have been input yet.\n\n if (digits) {\n return this._getCountry();\n }\n }\n /**\r\n * Returns a two-letter country code of the phone number.\r\n * Returns `undefined` for \"non-geographic\" phone numbering plans.\r\n * @return {string} [country]\r\n */\n\n }, {\n key: \"_getCountry\",\n value: function _getCountry() {\n var country = this.state.country;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n // `AsYouType.getCountry()` returns `undefined`\n // for \"non-geographic\" phone numbering plans.\n if (country === '001') {\n return;\n }\n }\n\n return country;\n }\n }, {\n key: \"determineTheCountryIfNeeded\",\n value: function determineTheCountryIfNeeded() {\n // Suppose a user enters a phone number in international format,\n // and there're several countries corresponding to that country calling code,\n // and a country has been derived from the number, and then\n // a user enters one more digit and the number is no longer\n // valid for the derived country, so the country should be re-derived\n // on every new digit in those cases.\n //\n // If the phone number is being input in national format,\n // then it could be a case when `defaultCountry` wasn't specified\n // when creating `AsYouType` instance, and just `defaultCallingCode` was specified,\n // and that \"calling code\" could correspond to a \"non-geographic entity\",\n // or there could be several countries corresponding to that country calling code.\n // In those cases, `this.country` is `undefined` and should be derived\n // from the number. Again, if country calling code is ambiguous, then\n // `this.country` should be re-derived with each new digit.\n //\n if (!this.state.country || this.isCountryCallingCodeAmbiguous()) {\n this.determineTheCountry();\n }\n } // Prepends `+CountryCode ` in case of an international phone number\n\n }, {\n key: \"getFullNumber\",\n value: function getFullNumber(formattedNationalNumber) {\n var _this2 = this;\n\n if (this.isInternational()) {\n var prefix = function prefix(text) {\n return _this2.formatter.getInternationalPrefixBeforeCountryCallingCode(_this2.state, {\n spacing: text ? true : false\n }) + text;\n };\n\n var callingCode = this.state.callingCode;\n\n if (!callingCode) {\n return prefix(\"\".concat(this.state.getDigitsWithoutInternationalPrefix()));\n }\n\n if (!formattedNationalNumber) {\n return prefix(callingCode);\n }\n\n return prefix(\"\".concat(callingCode, \" \").concat(formattedNationalNumber));\n }\n\n return formattedNationalNumber;\n }\n }, {\n key: \"getNonFormattedNationalNumberWithPrefix\",\n value: function getNonFormattedNationalNumberWithPrefix() {\n var _this$state = this.state,\n nationalSignificantNumber = _this$state.nationalSignificantNumber,\n complexPrefixBeforeNationalSignificantNumber = _this$state.complexPrefixBeforeNationalSignificantNumber,\n nationalPrefix = _this$state.nationalPrefix;\n var number = nationalSignificantNumber;\n var prefix = complexPrefixBeforeNationalSignificantNumber || nationalPrefix;\n\n if (prefix) {\n number = prefix + number;\n }\n\n return number;\n }\n }, {\n key: \"getNonFormattedNumber\",\n value: function getNonFormattedNumber() {\n var nationalSignificantNumberMatchesInput = this.state.nationalSignificantNumberMatchesInput;\n return this.getFullNumber(nationalSignificantNumberMatchesInput ? this.getNonFormattedNationalNumberWithPrefix() : this.state.getNationalDigits());\n }\n }, {\n key: \"getNonFormattedTemplate\",\n value: function getNonFormattedTemplate() {\n var number = this.getNonFormattedNumber();\n\n if (number) {\n return number.replace(/[\\+\\d]/g, DIGIT_PLACEHOLDER);\n }\n }\n }, {\n key: \"isCountryCallingCodeAmbiguous\",\n value: function isCountryCallingCodeAmbiguous() {\n var callingCode = this.state.callingCode;\n var countryCodes = this.metadata.getCountryCodesForCallingCode(callingCode);\n return countryCodes && countryCodes.length > 1;\n } // Determines the country of the phone number\n // entered so far based on the country phone code\n // and the national phone number.\n\n }, {\n key: \"determineTheCountry\",\n value: function determineTheCountry() {\n this.state.setCountry(getCountryByCallingCode(this.isInternational() ? this.state.callingCode : this.defaultCallingCode, {\n nationalNumber: this.state.nationalSignificantNumber,\n defaultCountry: this.defaultCountry,\n metadata: this.metadata\n }));\n }\n /**\r\n * Returns a E.164 phone number value for the user's input.\r\n *\r\n * For example, for country `\"US\"` and input `\"(222) 333-4444\"`\r\n * it will return `\"+12223334444\"`.\r\n *\r\n * For international phone number input, it will also auto-correct\r\n * some minor errors such as using a national prefix when writing\r\n * an international phone number. For example, if the user inputs\r\n * `\"+44 0 7400 000000\"` then it will return an auto-corrected\r\n * `\"+447400000000\"` phone number value.\r\n *\r\n * Will return `undefined` if no digits have been input,\r\n * or when inputting a phone number in national format and no\r\n * default country or default \"country calling code\" have been set.\r\n *\r\n * @return {string} [value]\r\n */\n\n }, {\n key: \"getNumberValue\",\n value: function getNumberValue() {\n var _this$state2 = this.state,\n digits = _this$state2.digits,\n callingCode = _this$state2.callingCode,\n country = _this$state2.country,\n nationalSignificantNumber = _this$state2.nationalSignificantNumber; // Will return `undefined` if no digits have been input.\n\n if (!digits) {\n return;\n }\n\n if (this.isInternational()) {\n if (callingCode) {\n return '+' + callingCode + nationalSignificantNumber;\n } else {\n return '+' + digits;\n }\n } else {\n if (country || callingCode) {\n var callingCode_ = country ? this.metadata.countryCallingCode() : callingCode;\n return '+' + callingCode_ + nationalSignificantNumber;\n }\n }\n }\n /**\r\n * Returns an instance of `PhoneNumber` class.\r\n * Will return `undefined` if no national (significant) number\r\n * digits have been entered so far, or if no `defaultCountry` has been\r\n * set and the user enters a phone number not in international format.\r\n */\n\n }, {\n key: \"getNumber\",\n value: function getNumber() {\n var _this$state3 = this.state,\n nationalSignificantNumber = _this$state3.nationalSignificantNumber,\n carrierCode = _this$state3.carrierCode,\n callingCode = _this$state3.callingCode; // `this._getCountry()` is basically same as `this.state.country`\n // with the only change that it return `undefined` in case of a\n // \"non-geographic\" numbering plan instead of `\"001\"` \"internal use\" value.\n\n var country = this._getCountry();\n\n if (!nationalSignificantNumber) {\n return;\n } // `state.country` and `state.callingCode` aren't required to be in sync.\n // For example, `country` could be `\"AR\"` and `callingCode` could be `undefined`.\n // So `country` and `callingCode` are totally independent.\n\n\n if (!country && !callingCode) {\n return;\n } // By default, if `defaultCountry` parameter was passed when\n // creating `AsYouType` instance, `state.country` is gonna be\n // that `defaultCountry`, which doesn't entirely conform with\n // `parsePhoneNumber()`'s behavior where it attempts to determine\n // the country more precisely in cases when multiple countries\n // could correspond to the same `countryCallingCode`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/103#note_1417192969\n //\n // Because `AsYouType.getNumber()` method is supposed to be a 1:1\n // equivalent for `parsePhoneNumber(AsYouType.getNumberValue())`,\n // then it should also behave accordingly in cases of `country` ambiguity.\n // That's how users of this library would expect it to behave anyway.\n //\n\n\n if (country) {\n if (country === this.defaultCountry) {\n // `state.country` and `state.callingCode` aren't required to be in sync.\n // For example, `state.country` could be `\"AR\"` and `state.callingCode` could be `undefined`.\n // So `state.country` and `state.callingCode` are totally independent.\n var metadata = new Metadata(this.metadata.metadata);\n metadata.selectNumberingPlan(country);\n\n var _callingCode = metadata.numberingPlan.callingCode();\n\n var ambiguousCountries = this.metadata.getCountryCodesForCallingCode(_callingCode);\n\n if (ambiguousCountries.length > 1) {\n var exactCountry = getCountryByNationalNumber(nationalSignificantNumber, {\n countries: ambiguousCountries,\n defaultCountry: this.defaultCountry,\n metadata: this.metadata.metadata\n });\n\n if (exactCountry) {\n country = exactCountry;\n }\n }\n }\n }\n\n var phoneNumber = new PhoneNumber(country || callingCode, nationalSignificantNumber, this.metadata.metadata);\n\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n } // Phone number extensions are not supported by \"As You Type\" formatter.\n\n\n return phoneNumber;\n }\n /**\r\n * Returns `true` if the phone number is \"possible\".\r\n * Is just a shortcut for `PhoneNumber.isPossible()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isPossible();\n }\n /**\r\n * Returns `true` if the phone number is \"valid\".\r\n * Is just a shortcut for `PhoneNumber.isValid()`.\r\n * @return {boolean}\r\n */\n\n }, {\n key: \"isValid\",\n value: function isValid() {\n var phoneNumber = this.getNumber();\n\n if (!phoneNumber) {\n return false;\n }\n\n return phoneNumber.isValid();\n }\n /**\r\n * @deprecated\r\n * This method is used in `react-phone-number-input/source/input-control.js`\r\n * in versions before `3.0.16`.\r\n */\n\n }, {\n key: \"getNationalNumber\",\n value: function getNationalNumber() {\n return this.state.nationalSignificantNumber;\n }\n /**\r\n * Returns the phone number characters entered by the user.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getChars\",\n value: function getChars() {\n return (this.state.international ? '+' : '') + this.state.digits;\n }\n /**\r\n * Returns the template for the formatted phone number.\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplate\",\n value: function getTemplate() {\n return this.formatter.getTemplate(this.state) || this.getNonFormattedTemplate() || '';\n }\n }]);\n\n return AsYouType;\n}();\n\nexport { AsYouType as default };\n//# sourceMappingURL=AsYouType.js.map"],"names":["_arrayLikeToArray","arr","len","length","i","arr2","Array","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","AsYouType","optionsOrDefaultCountry","metadata","instance","Constructor","TypeError","_classCallCheck","this","_this$getCountryAndCa2","getCountryAndCallingCode","isArray","_arrayWithHoles","_i","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","push","value","err","_iterableToArrayLimit","o","minLen","n","prototype","toString","slice","constructor","name","from","test","_unsupportedIterableToArray","_nonIterableRest","defaultCountry","defaultCallingCode","reset","protoProps","hasCountry","undefined","text","_this$parser$input","parser","input","state","digits","justLeadingPlus","formattedOutput","formattedNationalNumber","determineTheCountryIfNeeded","nationalSignificantNumber","formatter","narrowDownMatchingFormats","hasSelectedNumberingPlan","format","reExtractNationalSignificantNumber","nationalDigits","getNationalDigits","getFullNumber","getNonFormattedNumber","_this","A","onCountryChange","country","onCallingCodeChange","callingCode","selectNumberingPlan","numberingPlan","onNationalSignificantNumberChange","international","isInternational","getCallingCode","_getCountry","isCountryCallingCodeAmbiguous","determineTheCountry","_this2","concat","getDigitsWithoutInternationalPrefix","getInternationalPrefixBeforeCountryCallingCode","spacing","_this$state","complexPrefixBeforeNationalSignificantNumber","nationalPrefix","number","prefix","nationalSignificantNumberMatchesInput","getNonFormattedNationalNumberWithPrefix","replace","countryCodes","getCountryCodesForCallingCode","setCountry","nationalNumber","_this$state2","countryCallingCode","_this$state3","carrierCode","_callingCode","ambiguousCountries","exactCountry","countries","phoneNumber","getNumber","isPossible","isValid","getTemplate","getNonFormattedTemplate"],"sourceRoot":""}