{"version":3,"file":"contact-seller-button.8de64a26.js","mappings":"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ACN,GAAM,UACN,GAAM,YACN,GAAM,UACN,GAAM,SACN,GAAM,cACN,GAAM,QACN,GAAM,iCACN,GAAM,OACN,GAAM,OACN,GAAM,UACN,GAAM,QACN,GAAM,SACN,GAAM,UACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,aACN,GAAM,WACN,GAAM,WACN,GAAM,UACN,GAAM,wBACN,GAAM,cACN,GAAM,cACN,GAAM,SACN,GAAM,iBACN,GAAM,aACN,GAAM,OACN,GAAM,UACN,GAAM,cACN,GAAM,gBACN,GAAM,YACN,GAAM,UACN,GAAM,UACN,GAAM,YACN,GAAM,aACN,GAAM,SACN,GAAM,QACN,GAAM,UACN,GAAM,SACN,GAAM,UACN,GAAM,aACN,GAAM,6BACN,GAAM,aACN,GAAM,mBACN,GAAM,kBACN,GAAM,OACN,GAAM,UACN,GAAM,WACN,GAAM,QACN,GAAM,2BACN,GAAM,aACN,GAAM,aACN,GAAM,aACN,GAAM,QACN,GAAM,YACN,GAAM,WACN,GAAM,SACN,GAAM,SACN,GAAM,WACN,GAAM,aACN,GAAM,UACN,GAAM,gBACN,GAAM,QACN,GAAM,iBACN,GAAM,UACN,GAAM,YACN,GAAM,cACN,GAAM,SACN,GAAM,QACN,GAAM,QACN,GAAM,OACN,GAAM,cACN,GAAM,OACN,GAAM,gBACN,GAAM,SACN,GAAM,OACN,GAAM,mBACN,GAAM,mBACN,GAAM,cACN,GAAM,WACN,GAAM,SACN,GAAM,4BACN,GAAM,WACN,GAAM,cACN,GAAM,YACN,GAAM,WACN,GAAM,QACN,GAAM,WACN,GAAM,QACN,GAAM,UACN,GAAM,UACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,eACN,GAAM,kBACN,GAAM,aACN,GAAM,QACN,GAAM,SACN,GAAM,YACN,GAAM,eACN,GAAM,WACN,GAAM,yBACN,GAAM,WACN,GAAM,eACN,GAAM,aACN,GAAM,UACN,GAAM,UACN,GAAM,WACN,GAAM,cACN,GAAM,wBACN,GAAM,cACN,GAAM,eACN,GAAM,QACN,GAAM,YACN,GAAM,mBACN,GAAM,2BACN,GAAM,OA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AAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,M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","sources":["webpack://contact-seller-button/./src/app.module.scss","webpack://contact-seller-button/../../packages/ui/src/components/Inputs/Inputs.module.scss","webpack://contact-seller-button/../../node_modules/css-loader/dist/runtime/api.js","webpack://contact-seller-button/../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack://contact-seller-button/../../node_modules/prop-types/factoryWithThrowingShims.js","webpack://contact-seller-button/../../node_modules/prop-types/index.js","webpack://contact-seller-button/../../node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://contact-seller-button/../../node_modules/react-dom/client.js","webpack://contact-seller-button/../../node_modules/react/cjs/react-jsx-runtime.production.min.js","webpack://contact-seller-button/../../node_modules/react/jsx-runtime.js","webpack://contact-seller-button/../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://contact-seller-button/../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://contact-seller-button/../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://contact-seller-button/../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://contact-seller-button/../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://contact-seller-button/../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://contact-seller-button/../../node_modules/systemjs-webpack-interop/auto-public-path/auto-public-path.js","webpack://contact-seller-button/../../node_modules/systemjs-webpack-interop/public-path.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/style.css","webpack://contact-seller-button/../../node_modules/webpack-config-single-spa/node_modules/css-loader/dist/runtime/api.js","webpack://contact-seller-button/../../node_modules/webpack-config-single-spa/node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://contact-seller-button/../../node_modules/webpack-config-single-spa/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://contact-seller-button/../../node_modules/webpack-config-single-spa/node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://contact-seller-button/../../node_modules/webpack-config-single-spa/node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://contact-seller-button/../../node_modules/webpack-config-single-spa/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://contact-seller-button/../../node_modules/webpack-config-single-spa/node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://contact-seller-button/../../node_modules/webpack-config-single-spa/node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://contact-seller-button/external system \"react\"","webpack://contact-seller-button/external system \"react-dom\"","webpack://contact-seller-button/../../node_modules/classnames/index.js","webpack://contact-seller-button/webpack/bootstrap","webpack://contact-seller-button/webpack/runtime/__system_context__","webpack://contact-seller-button/webpack/runtime/compat get default export","webpack://contact-seller-button/webpack/runtime/define property getters","webpack://contact-seller-button/webpack/runtime/hasOwnProperty shorthand","webpack://contact-seller-button/webpack/runtime/make namespace object","webpack://contact-seller-button/webpack/runtime/publicPath","webpack://contact-seller-button/webpack/runtime/nonce","webpack://contact-seller-button/../../node_modules/systemjs-webpack-interop/auto-public-path/1.js","webpack://contact-seller-button/../../node_modules/single-spa-react/lib/esm/single-spa-react.js","webpack://contact-seller-button/./src/app.module.scss?b08e","webpack://contact-seller-button/../../packages/ui/src/utilities/popup.ts","webpack://contact-seller-button/../../packages/ui/src/hooks/useValidation.ts","webpack://contact-seller-button/../../packages/ui/src/hooks/useChange.ts","webpack://contact-seller-button/../../packages/ui/src/components/Inputs/Inputs.module.scss?c10d","webpack://contact-seller-button/../../packages/ui/src/components/Inputs/InputText.tsx","webpack://contact-seller-button/../../node_modules/react-phone-number-input/style.css?20f6","webpack://contact-seller-button/../../node_modules/react-phone-number-input/locale/en.json.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/PropTypes.js","webpack://contact-seller-button/../../node_modules/input-format/modules/helpers.js","webpack://contact-seller-button/../../node_modules/input-format/modules/templateFormatter.js","webpack://contact-seller-button/../../node_modules/input-format/modules/closeBraces.js","webpack://contact-seller-button/../../node_modules/input-format/modules/dom.js","webpack://contact-seller-button/../../node_modules/input-format/modules/inputControl.js","webpack://contact-seller-button/../../node_modules/input-format/modules/parse.js","webpack://contact-seller-button/../../node_modules/input-format/modules/edit.js","webpack://contact-seller-button/../../node_modules/input-format/modules/format.js","webpack://contact-seller-button/../../node_modules/input-format/modules/react/Input.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/tools/semver-compare.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/isObject.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/metadata.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/mergeArrays.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/checkNumberLength.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/isPossible.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/matchesEntirely.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/getNumberType.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/constants.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/applyInternationalSeparatorStyle.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/formatNationalNumberUsingFormat.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/getIddPrefix.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/format.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/PhoneNumber.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/getPossibleCountriesForNumber.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/isValid.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/RFC3966.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/AsYouTypeState.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.util.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/parseDigits.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.complete.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternParser.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.PatternMatcher.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/AsYouTypeFormatter.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/extractNationalNumber.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCode.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/AsYouTypeParser.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/getCountryByNationalNumber.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/getCountryByCallingCode.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/AsYouType.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/helpers/inputValuePrefix.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/parseIncompletePhoneNumber.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/helpers/parsePhoneNumberCharacter.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/useInputKeyDownHandler.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/InputSmart.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/InputBasic.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/formatIncompletePhoneNumber.js","webpack://contact-seller-button/../../node_modules/country-flag-icons/modules/unicode.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/CountrySelect.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/Flag.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/InternationalIcon.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/helpers/countries.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/getCountries.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/CountryIcon.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/useExternalRef.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/normalizeArguments.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/ParseError.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/extension/createExtensionPattern.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/isViablePhoneNumber.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/extension/extractExtension.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/extractPhoneContext.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/parse.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/parsePhoneNumberWithError_.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/parsePhoneNumber_.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/helpers/getInternationalPhoneNumberPrefix.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/helpers/phoneInputHelpers.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/es6/parsePhoneNumber.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/helpers/getPhoneInputWithCountryStateUpdateFromNewProps.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/PhoneInputWithCountry.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/modules/PhoneInputWithCountryDefault.js","webpack://contact-seller-button/../../node_modules/react-phone-number-input/min/index.js","webpack://contact-seller-button/../../node_modules/libphonenumber-js/metadata.min.json.js","webpack://contact-seller-button/../../packages/ui/src/components/Inputs/InputPhone.tsx","webpack://contact-seller-button/./src/app.tsx","webpack://contact-seller-button/./src/swecon-contact-seller-button.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `@media(max-width: 576.02px){.fbbTOeAPcRlq2JzApm9f{gap:20px;flex-direction:column}}.fbbTOeAPcRlq2JzApm9f .CODxAFxjfQrR4Hq9itJQ{display:flex;align-items:center;text-decoration:underline;width:fit-content;cursor:pointer}@media(max-width: 768.02px){.fbbTOeAPcRlq2JzApm9f .CODxAFxjfQrR4Hq9itJQ{margin-top:24px}}.fbbTOeAPcRlq2JzApm9f .CODxAFxjfQrR4Hq9itJQ:before{display:block;background-size:contain;width:24px;height:24px;margin-right:8px;margin-bottom:2px}.fbbTOeAPcRlq2JzApm9f .CODxAFxjfQrR4Hq9itJQ.fpulaYtNa9sOMyokUlRl:before{display:inline-block;background-repeat:no-repeat;content:\"\";background-image:url(\"../assets/icons/Circled-question-mark.svg\")}.fbbTOeAPcRlq2JzApm9f .CODxAFxjfQrR4Hq9itJQ.ZzLSKYNCoHEiNJDEEC7x{width:200px;flex:0 0 200px}.fbbTOeAPcRlq2JzApm9f .CODxAFxjfQrR4Hq9itJQ.ZzLSKYNCoHEiNJDEEC7x:before{display:inline-block;background-repeat:no-repeat;content:\"\";background-image:url(\"../assets/icons/Link.svg\")}.fbbTOeAPcRlq2JzApm9f .CODxAFxjfQrR4Hq9itJQ.f5Ei5hrr9RLFbUbwwV7Q{width:200px}.fbbTOeAPcRlq2JzApm9f .CODxAFxjfQrR4Hq9itJQ.f5Ei5hrr9RLFbUbwwV7Q:before{width:22px;height:22px;vertical-align:top;margin-top:2px;margin-left:-34px;display:inline-block;background-repeat:no-repeat;content:\"\";background-image:url(\"../assets/icons/Check.svg\")}.c8pnAuKvXO_i_DcSzS_O{display:flex;flex-direction:column;gap:40px}.c8pnAuKvXO_i_DcSzS_O .PhoneInputCountry{align-self:unset}.c8pnAuKvXO_i_DcSzS_O input{margin-top:0}.c8pnAuKvXO_i_DcSzS_O .lqGUK17dgB09e0C4Om8i{color:#c0453a;font-size:1.3rem;line-height:1.8rem}`, \"\"]);\n// Exports\nexport var buttonsWrapper = `fbbTOeAPcRlq2JzApm9f`;\nexport var iconButton = `CODxAFxjfQrR4Hq9itJQ`;\nexport var mailButton = `fpulaYtNa9sOMyokUlRl`;\nexport var linkButton = `ZzLSKYNCoHEiNJDEEC7x`;\nexport var copiedButton = `f5Ei5hrr9RLFbUbwwV7Q`;\nexport var contactSellerMailPopUp = `c8pnAuKvXO_i_DcSzS_O`;\nexport var textAreaError = `lqGUK17dgB09e0C4Om8i`;\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.h_9x2LOgrrrTsv4SROpO::-webkit-outer-spin-button,.h_9x2LOgrrrTsv4SROpO::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.h_9x2LOgrrrTsv4SROpO[type=number]{-moz-appearance:textfield}.aTmc02qDIZyKAjo1Y_FP{position:relative;height:64px}.aTmc02qDIZyKAjo1Y_FP .DQcVOCRgbqA3j5rtpiH7{height:4px;border-radius:2px;position:absolute;bottom:40px;left:0;right:0;background-color:#9ca3af}.aTmc02qDIZyKAjo1Y_FP .UNKytXl8GcKaloSmt0yA{height:4px;position:absolute;bottom:40px;background-color:#4b5563}.aTmc02qDIZyKAjo1Y_FP .wanuBjftr7kyt60mNCtQ{position:absolute;width:16px;height:16px;bottom:34px;transform:translateX(-50%);border-radius:8px;background-color:#4b5563}.aTmc02qDIZyKAjo1Y_FP .wanuBjftr7kyt60mNCtQ:hover{cursor:grab}.aTmc02qDIZyKAjo1Y_FP>input.bAPEtWjXpNjkrP26gZWt,.aTmc02qDIZyKAjo1Y_FP>input.hdHd7KVSMuLW3V8cCDtH{color:#434b4f;background-color:#fff;position:absolute;bottom:0;width:90px;padding:4px;margin:0;line-height:21px;border:1px solid #9ca3af;font-size:14px}.aTmc02qDIZyKAjo1Y_FP>input.hdHd7KVSMuLW3V8cCDtH{left:0;text-align:left}.aTmc02qDIZyKAjo1Y_FP>input.bAPEtWjXpNjkrP26gZWt{right:0;text-align:right}.grabbedBall,.grabbedBall *{cursor:grabbing !important;user-select:none !important}.MWSaI6Bp5mKdTqe7HhaB{position:absolute;top:12px;right:0;display:flex;gap:8px}.jNRc27KnE2NkhkC0DXiv{position:absolute;left:0;top:0}.P3KJ5a4dnhJP_ETvboOJ{pointer-events:none;opacity:.5}.ui1R9nxW3hep53O1_nPI{display:none}.VxZdeCqsLTiRomE2f2Cz{position:absolute;top:-24px}`, \"\"]);\n// Exports\nexport var numberInput = `h_9x2LOgrrrTsv4SROpO`;\nexport var sliderInput = `aTmc02qDIZyKAjo1Y_FP`;\nexport var sliderGray = `DQcVOCRgbqA3j5rtpiH7`;\nexport var sliderBlack = `UNKytXl8GcKaloSmt0yA`;\nexport var ball = `wanuBjftr7kyt60mNCtQ`;\nexport var highInput = `bAPEtWjXpNjkrP26gZWt`;\nexport var lowInput = `hdHd7KVSMuLW3V8cCDtH`;\nexport var suffix = `MWSaI6Bp5mKdTqe7HhaB`;\nexport var selectLabel = `jNRc27KnE2NkhkC0DXiv`;\nexport var disabled = `P3KJ5a4dnhJP_ETvboOJ`;\nexport var hidden = `ui1R9nxW3hep53O1_nPI`;\nexport var onTop = `VxZdeCqsLTiRomE2f2Cz`;\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\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\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\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\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n exports.createRoot = m.createRoot;\n exports.hydrateRoot = m.hydrateRoot;\n} else {\n var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n exports.createRoot = function(c, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.createRoot(c, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n exports.hydrateRoot = function(c, h, o) {\n i.usingClientEntryPoint = true;\n try {\n return m.hydrateRoot(c, h, o);\n } finally {\n i.usingClientEntryPoint = false;\n }\n };\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","const resolveDirectory = require(\"../public-path\").resolveDirectory;\n\nexports.autoPublicPath = function autoPublicPath(rootDirLevel) {\n if (!rootDirLevel) {\n rootDirLevel = 1;\n }\n\n if (typeof __webpack_public_path__ !== \"undefined\") {\n if (typeof __system_context__ === \"undefined\") {\n throw Error(\n \"systemjs-webpack-interop requires webpack@>=5.0.0-beta.15 and output.libraryTarget set to 'system'\"\n );\n }\n\n if (!__system_context__.meta || !__system_context__.meta.url) {\n console.error(\"__system_context__\", __system_context__);\n throw Error(\n \"systemjs-webpack-interop was provided an unknown SystemJS context. Expected context.meta.url, but none was provided\"\n );\n }\n\n __webpack_public_path__ = resolveDirectory(\n __system_context__.meta.url,\n rootDirLevel\n );\n }\n};\n","exports.setPublicPath = function setPublicPath(\n systemjsModuleName,\n rootDirectoryLevel\n) {\n if (!rootDirectoryLevel) {\n rootDirectoryLevel = 1;\n }\n if (\n typeof systemjsModuleName !== \"string\" ||\n systemjsModuleName.trim().length === 0\n ) {\n throw Error(\n \"systemjs-webpack-interop: setPublicPath(systemjsModuleName) must be called with a non-empty string 'systemjsModuleName'\"\n );\n }\n\n if (\n typeof rootDirectoryLevel !== \"number\" ||\n rootDirectoryLevel <= 0 ||\n isNaN(rootDirectoryLevel) ||\n !isInteger(rootDirectoryLevel)\n ) {\n throw Error(\n \"systemjs-webpack-interop: setPublicPath(systemjsModuleName, rootDirectoryLevel) must be called with a positive integer 'rootDirectoryLevel'\"\n );\n }\n\n var moduleUrl;\n try {\n moduleUrl = window.System.resolve(systemjsModuleName);\n if (!moduleUrl) {\n throw Error();\n }\n } catch (err) {\n throw Error(\n \"systemjs-webpack-interop: There is no such module '\" +\n systemjsModuleName +\n \"' in the SystemJS registry. Did you misspell the name of your module?\"\n );\n }\n\n __webpack_public_path__ = resolveDirectory(moduleUrl, rootDirectoryLevel);\n};\n\nfunction resolveDirectory(urlString, rootDirectoryLevel) {\n // Our friend IE11 doesn't support new URL()\n // https://github.com/single-spa/single-spa/issues/612\n // https://gist.github.com/jlong/2428561\n\n var a = document.createElement(\"a\");\n a.href = urlString;\n\n var pathname = a.pathname[0] === \"/\" ? a.pathname : \"/\" + a.pathname;\n var numDirsProcessed = 0,\n index = pathname.length;\n while (numDirsProcessed !== rootDirectoryLevel && index >= 0) {\n var char = pathname[--index];\n if (char === \"/\") {\n numDirsProcessed++;\n }\n }\n\n if (numDirsProcessed !== rootDirectoryLevel) {\n throw Error(\n \"systemjs-webpack-interop: rootDirectoryLevel (\" +\n rootDirectoryLevel +\n \") is greater than the number of directories (\" +\n numDirsProcessed +\n \") in the URL path \" +\n urlString\n );\n }\n\n var finalPath = pathname.slice(0, index + 1);\n\n return a.protocol + \"//\" + a.host + finalPath;\n}\n\nexports.resolveDirectory = resolveDirectory;\n\n// borrowed from https://github.com/parshap/js-is-integer/blob/master/index.js\nvar isInteger =\n Number.isInteger ||\n function isInteger(val) {\n return typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n };\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../webpack-config-single-spa/node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../webpack-config-single-spa/node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `/* CSS variables. */\r\n:root {\r\n\t--PhoneInput-color--focus: #03b2cb;\r\n\t--PhoneInputInternationalIconPhone-opacity: 0.8;\r\n\t--PhoneInputInternationalIconGlobe-opacity: 0.65;\r\n\t--PhoneInputCountrySelect-marginRight: 0.35em;\r\n\t--PhoneInputCountrySelectArrow-width: 0.3em;\r\n\t--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);\r\n\t--PhoneInputCountrySelectArrow-borderWidth: 1px;\r\n\t--PhoneInputCountrySelectArrow-opacity: 0.45;\r\n\t--PhoneInputCountrySelectArrow-color: currentColor;\r\n\t--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);\r\n\t--PhoneInputCountrySelectArrow-transform: rotate(45deg);\r\n\t--PhoneInputCountryFlag-aspectRatio: 1.5;\r\n\t--PhoneInputCountryFlag-height: 1em;\r\n\t--PhoneInputCountryFlag-borderWidth: 1px;\r\n\t--PhoneInputCountryFlag-borderColor: rgba(0,0,0,0.5);\r\n\t--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);\r\n\t--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,0.1);\r\n}\r\n\r\n.PhoneInput {\r\n\t/* This is done to stretch the contents of this component. */\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n}\r\n\r\n.PhoneInputInput {\r\n\t/* The phone number input stretches to fill all empty space */\r\n\tflex: 1;\r\n\t/* The phone number input should shrink\r\n\t to make room for the extension input */\r\n\tmin-width: 0;\r\n}\r\n\r\n.PhoneInputCountryIcon {\r\n\twidth: calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));\r\n\theight: var(--PhoneInputCountryFlag-height);\r\n}\r\n\r\n.PhoneInputCountryIcon--square {\r\n\twidth: var(--PhoneInputCountryFlag-height);\r\n}\r\n\r\n.PhoneInputCountryIcon--border {\r\n\t/* Removed \\`background-color\\` because when an \\`\\` was still loading\r\n\t it would show a dark gray rectangle. */\r\n\t/* For some reason the \\`\\` is not stretched to 100% width and height\r\n\t and sometime there can be seen white pixels of the background at top and bottom. */\r\n\tbackground-color: var(--PhoneInputCountryFlag-backgroundColor--loading);\r\n\t/* Border is added via \\`box-shadow\\` because \\`border\\` interferes with \\`width\\`/\\`height\\`. */\r\n\t/* For some reason the \\`\\` is not stretched to 100% width and height\r\n\t and sometime there can be seen white pixels of the background at top and bottom,\r\n\t so an additional \"inset\" border is added. */\r\n\tbox-shadow: 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),\r\n\t\tinset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor);\r\n}\r\n\r\n.PhoneInputCountryIconImg {\r\n\t/* Fixes weird vertical space above the flag icon. */\r\n\t/* https://gitlab.com/catamphetamine/react-phone-number-input/-/issues/7#note_348586559 */\r\n\tdisplay: block;\r\n\t/* 3rd party flag icons won't stretch if they have \\`width\\` and \\`height\\`.\r\n\t Also, if an icon's aspect ratio was different, it wouldn't fit too. */\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n\r\n.PhoneInputInternationalIconPhone {\r\n\topacity: var(--PhoneInputInternationalIconPhone-opacity);\r\n}\r\n\r\n.PhoneInputInternationalIconGlobe {\r\n\topacity: var(--PhoneInputInternationalIconGlobe-opacity);\r\n}\r\n\r\n/* Styling native country \\``. */\\r\\n\\r\\n.PhoneInputCountry {\\r\\n\\tposition: relative;\\r\\n\\talign-self: stretch;\\r\\n\\tdisplay: flex;\\r\\n\\talign-items: center;\\r\\n\\tmargin-right: var(--PhoneInputCountrySelect-marginRight);\\r\\n}\\r\\n\\r\\n.PhoneInputCountrySelect {\\r\\n\\tposition: absolute;\\r\\n\\ttop: 0;\\r\\n\\tleft: 0;\\r\\n\\theight: 100%;\\r\\n\\twidth: 100%;\\r\\n\\tz-index: 1;\\r\\n\\tborder: 0;\\r\\n\\topacity: 0;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n.PhoneInputCountrySelect[disabled],\\r\\n.PhoneInputCountrySelect[readonly] {\\r\\n\\tcursor: default;\\r\\n}\\r\\n\\r\\n.PhoneInputCountrySelectArrow {\\r\\n\\tdisplay: block;\\r\\n\\tcontent: '';\\r\\n\\twidth: var(--PhoneInputCountrySelectArrow-width);\\r\\n\\theight: var(--PhoneInputCountrySelectArrow-width);\\r\\n\\tmargin-left: var(--PhoneInputCountrySelectArrow-marginLeft);\\r\\n\\tborder-style: solid;\\r\\n\\tborder-color: var(--PhoneInputCountrySelectArrow-color);\\r\\n\\tborder-top-width: 0;\\r\\n\\tborder-bottom-width: var(--PhoneInputCountrySelectArrow-borderWidth);\\r\\n\\tborder-left-width: 0;\\r\\n\\tborder-right-width: var(--PhoneInputCountrySelectArrow-borderWidth);\\r\\n\\ttransform: var(--PhoneInputCountrySelectArrow-transform);\\r\\n\\topacity: var(--PhoneInputCountrySelectArrow-opacity);\\r\\n}\\r\\n\\r\\n.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon + .PhoneInputCountrySelectArrow {\\r\\n\\topacity: 1;\\r\\n\\tcolor: var(--PhoneInputCountrySelectArrow-color--focus);\\r\\n}\\r\\n\\r\\n.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon--border {\\r\\n\\tbox-shadow: 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),\\r\\n\\t\\tinset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus);\\r\\n}\\r\\n\\r\\n.PhoneInputCountrySelect:focus + .PhoneInputCountryIcon .PhoneInputInternationalIconGlobe {\\r\\n\\topacity: 1;\\r\\n\\tcolor: var(--PhoneInputCountrySelectArrow-color--focus);\\r\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","module.exports = __WEBPACK_EXTERNAL_MODULE__726__;","module.exports = __WEBPACK_EXTERNAL_MODULE__867__;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.y = __system_context__;","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","__webpack_require__.nc = undefined;","const autoPublicPath = require(\"./auto-public-path\").autoPublicPath;\n\nautoPublicPath(1);\n","function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function t(t){for(var n=1;n=0))return!1;var t=e.version.slice(0,e.version.indexOf(\".\"));try{return Number(t)>=16}catch(e){return!1}}(e.React)||e.errorBoundary||e.errorBoundaryClass||(e.rootComponent.prototype?e.rootComponent.prototype.componentDidCatch||console.warn(\"single-spa-react: \".concat(t.name||t.appName||t.childAppName,\"'s rootComponent should implement componentDidCatch to avoid accidentally unmounting the entire single-spa application.\")):console.warn(\"single-spa-react: \".concat(t.name||t.appName||t.childAppName,\"'s rootComponent does not implement an error boundary. If using a functional component, consider providing an opts.errorBoundary to singleSpaReact(opts).\")));var r=y(e,t,(function(){n(this)})),c=a(e,t)(),u=function(e){var t=e.reactDom,n=e.renderType,o=e.elementToRender,r=e.domElement,a=t[n];if(\"function\"!=typeof a)throw new Error('renderType \"'.concat(n,'\" did not return a function.'));switch(n){case\"createRoot\":case\"unstable_createRoot\":case\"createBlockingRoot\":case\"unstable_createBlockingRoot\":var c=a(r);return c.render(o),c;case\"hydrateRoot\":return a(r,o);case\"hydrate\":default:return a(o,r),null}}({elementToRender:r,domElement:c,reactDom:d(e),renderType:f(e)});e.domElements[t.name]=c,e.renderResults[t.name]=u}))}function l(e,t){return new Promise((function(n){e.unmountResolves[t.name]=n;var o=e.renderResults[t.name];o&&o.unmount?o.unmount():d(e).unmountComponentAtNode(e.domElements[t.name]),delete e.domElements[t.name],delete e.renderResults[t.name]}))}function m(e,t){return new Promise((function(n){e.updateResolves[t.name]||(e.updateResolves[t.name]=[]),e.updateResolves[t.name].push(n);var o=y(e,t,null),r=e.renderResults[t.name];if(r&&r.render)r.render(o);else{var c=a(e,t)();d(e).render(o,c)}}))}function d(e){return e.ReactDOMClient||e.ReactDOM}function f(e){return\"function\"==typeof e.renderType?e.renderType():e.renderType}function y(e,n,o){var r=e.React.createElement(e.rootComponent,n),a=c?e.React.createElement(c.Provider,{value:n},r):r;return(e.errorBoundary||n.errorBoundary||e.errorBoundaryClass||n.errorBoundaryClass)&&(e.errorBoundaryClass=e.errorBoundaryClass||n.errorBoundaryClass||function(e,t){function n(t){e.React.Component.apply(this,arguments),this.state={caughtError:null,caughtErrorInfo:null},n.displayName=\"SingleSpaReactErrorBoundary(\".concat(t.name,\")\")}return n.prototype=Object.create(e.React.Component.prototype),n.prototype.render=function(){return this.state.caughtError?(e.errorBoundary||t.errorBoundary)(this.state.caughtError,this.state.caughtErrorInfo,this.props):this.props.children},n.prototype.componentDidCatch=function(e,t){this.setState({caughtError:e,caughtErrorInfo:t})},n}(e,n),a=e.React.createElement(e.errorBoundaryClass,n,a)),a=e.React.createElement(e.SingleSpaRoot,t(t({},n),{},{mountFinished:o,updateFinished:function(){e.updateResolves[n.name]&&(e.updateResolves[n.name].forEach((function(e){return e()})),delete e.updateResolves[n.name])},unmountFinished:function(){e.unmountResolves[n.name]&&(e.unmountResolves[n.name](),delete e.unmountResolves[n.name])}}),a)}export{c as SingleSpaContext,i as default};\n//# sourceMappingURL=single-spa-react.js.map\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./app.module.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./app.module.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { ReactNode, useState, useSyncExternalStore } from \"react\";\r\n\r\nexport enum ButtonResult {\r\n Ok = \"Ok\",\r\n Yes = \"Yes\", \r\n No = \"No\",\r\n Cancel = \"Cancel\",\r\n}\r\n\r\nexport enum ButtonType {\r\n Primary = \"primary\", \r\n Outlined = \"outlined\",\r\n Link = \"linked\"\r\n}\r\n\r\nexport interface Button {\r\n label: string;\r\n result: T;\r\n type: ButtonType;\r\n enabled?: boolean;\r\n className?: string;\r\n visible?: boolean;\r\n}\r\n\r\nexport enum PopupSize {\r\n Small = 'small',\r\n Large = 'large',\r\n ExtraVertical = 'vertical-large',\r\n ExtraLarge = 'extra-large'\r\n}\r\n\r\nexport const popup = (title: string, content: ReactNode, buttons: Button[], size: PopupSize = PopupSize.Small, popUpClass?: string, footer?: { content?: ReactNode, reverse?: boolean }) => {\r\n return new Promise(resolve => {\r\n window.popupButtonPrechecks = new Map (boolean | Promise)>();\r\n window.popupCallback(title, content, buttons, size, popUpClass, { content: footer?.content, reverse: footer?.reverse }, resolve as (_: ButtonResult) => void);\r\n });\r\n}\r\n\r\ntype PopupState = {\r\n open: boolean,\r\n title: string,\r\n content: ReactNode,\r\n buttons: Button[],\r\n size: PopupSize,\r\n footerContent?: ReactNode,\r\n footerReverse?: boolean,\r\n resolve: (result: ButtonResult) => void,\r\n popUpClass?: string;\r\n};\r\n\r\nwindow.popupState = {\r\n open: false,\r\n title: \"\",\r\n content: \"\" as ReactNode,\r\n buttons: [] as Button[],\r\n size: PopupSize.Small,\r\n popUpClass: undefined,\r\n footerContent: undefined,\r\n footerReverse: undefined,\r\n resolve: (_: ButtonResult) => { }\r\n};\r\n\r\nwindow.popupStateCallback ??= [];\r\n\r\nconst setState = (newState: PopupState) => {\r\n window.popupState = newState;\r\n window.popupStateCallback.forEach(c => {\r\n try {\r\n c();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n });\r\n}\r\n\r\nwindow.popupCallback = (title, content, buttons, size, popUpClass, footer, resolve) => {\r\n setState({ open: true, title, content, buttons, size, popUpClass, footerContent: footer?.content, footerReverse: footer?.reverse, resolve });\r\n}\r\n\r\nwindow.popupButtonCallback = (index, enabled) => {\r\n setState({ ...window.popupState, buttons: window.popupState.buttons.map((b, i) => i === index ? ({ ...b, enabled }) : { ...b }) });\r\n}\r\n\r\nexport const usePopup = () => {\r\n\r\n const state = useSyncExternalStore(\r\n (change) => {\r\n window.popupStateCallback.push(change);\r\n return () => {\r\n window.popupStateCallback = window.popupStateCallback.filter(c => c !== change);\r\n }\r\n },\r\n () => window.popupState\r\n );\r\n\r\n return {\r\n ...state,\r\n close: async (result: ButtonResult) => {\r\n const checkFunction = window.popupButtonPrechecks.get(result);\r\n if (checkFunction) {\r\n const checkResult = await checkFunction();\r\n if (!checkResult) return;\r\n }\r\n state.resolve(result);\r\n setState({\r\n open: false,\r\n title: \"\",\r\n content: \"\",\r\n buttons: [] as Button[],\r\n size: PopupSize.Small,\r\n popUpClass: undefined,\r\n footerContent: undefined,\r\n footerReverse: undefined,\r\n resolve: (_: ButtonResult) => { }\r\n })\r\n }\r\n };\r\n}\r\n\r\nexport const setPopupButton = (buttonIndex: number, enabled: boolean) => {\r\n window.popupButtonCallback?.(buttonIndex, enabled);\r\n}\r\n\r\nexport const usePopupButtonPrecheck = (buttonType: ButtonResult, check: () => (boolean | Promise)) => {\r\n window.popupButtonPrechecks.set(buttonType, check);\r\n};\r\n\r\ndeclare global {\r\n interface Window {\r\n popupCallback: (title: string, content: ReactNode, buttons: Button[], size: PopupSize, popUpClass: string | undefined, footer: { content?: ReactNode, reverse?: boolean }, resolve: (_: ButtonResult) => void) => void\r\n popupButtonCallback: (buttonIndex: number, enabled: boolean) => void;\r\n popupButtonPrechecks: Map (boolean | Promise)>;\r\n popupStateCallback: (() => void)[];\r\n popupState: PopupState;\r\n }\r\n}","import { useRef, useState } from \"react\";\r\n\r\nexport const useValidation = (message: string, regex?: RegExp, regexMessage?: string) => {\r\n const errorMessagesRef = useRef>({});\r\n const [_, r] = useState(0);\r\n const refresh = () => setTimeout(() => r(x => x + 1), 0);\r\n const ids = useRef(new Set());\r\n\r\n const getErrorMessage = prepareGetErrorMessage(message, regex, regexMessage);\r\n\r\n const f = (id: string, props?: { value: string | undefined, onChange: (ev: React.ChangeEvent | string) => void }) => {\r\n ids.current.add(id);\r\n const newProps = {\r\n onBlur: (fe: React.FocusEvent | React.FocusEvent) => {\r\n errorMessagesRef.current = getErrorMessage((fe.target as HTMLInputElement).value, errorMessagesRef.current, id);\r\n refresh();\r\n if (fe.target.tagName == 'INPUT') {\r\n const ev: React.ChangeEvent = {\r\n nativeEvent: null!,\r\n target: fe.target as HTMLInputElement,\r\n currentTarget: fe.target as HTMLInputElement,\r\n bubbles: false,\r\n cancelable: false,\r\n defaultPrevented: false,\r\n eventPhase: 0,\r\n isTrusted: true,\r\n preventDefault: () => { },\r\n isDefaultPrevented: () => false,\r\n stopPropagation: () => { },\r\n isPropagationStopped: () => false,\r\n persist: () => { },\r\n timeStamp: Date.now(),\r\n type: 'custom'\r\n };\r\n props?.onChange?.(ev);\r\n } else {\r\n props?.onChange?.((fe.target as HTMLInputElement).value);\r\n }\r\n },\r\n error: errorMessagesRef.current[id]\r\n };\r\n if (props) {\r\n return {\r\n ...newProps,\r\n ...props\r\n }\r\n }\r\n return newProps;\r\n }\r\n\r\n return Object.assign(f, {\r\n hasAnyErrors: () => Object.values(errorMessagesRef.current).some(e => !!e),\r\n revalidate: (data: Partial>) => {\r\n ids.current.forEach((name) => {\r\n errorMessagesRef.current = getErrorMessage(data[name] as string, errorMessagesRef.current, name);\r\n });\r\n refresh();\r\n return !Object.values(errorMessagesRef.current).some(e => !!e);\r\n }\r\n });\r\n}\r\n\r\nconst prepareGetErrorMessage = (message: string, regex: RegExp | undefined, regexMessage: string | undefined) => (value: string | null | undefined, errorMessages: Record, id: string) => {\r\n if (!value) {\r\n return ({\r\n ...errorMessages,\r\n [id]: message\r\n });\r\n } else if ((!!regex && !regex.test(value))) {\r\n return ({\r\n ...errorMessages,\r\n [id]: regexMessage ?? message\r\n });\r\n } else {\r\n return ({\r\n ...errorMessages,\r\n [id]: undefined\r\n });\r\n }\r\n}","import { useEffect, useRef } from \"react\";\r\n\r\n/**\r\n * Runs the callback on every change of dependencies, but NOT on the first render.\r\n */\r\nexport const useChange = (func: () => (void | (() => void)), deps: unknown[]) => {\r\n const didMount = useRef(false);\r\n\r\n useEffect(() => {\r\n if (didMount.current) func();\r\n else didMount.current = true;\r\n }, [...deps]);\r\n}","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!../../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./Inputs.module.scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[7].use[1]!../../../../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[7].use[2]!./Inputs.module.scss\";\n export default content && content.locals ? content.locals : undefined;\n","import * as styles from './Inputs.module.scss';\r\n\r\ntype InputProps = {\r\n name: string,\r\n label: string,\r\n disabled?: boolean,\r\n readonly?: boolean,\r\n value?: string,\r\n className?: string,\r\n maxLength?: number,\r\n error?: string;\r\n children?: React.ReactNode;\r\n onChange?: React.ChangeEventHandler | undefined;\r\n onBlur?: React.FocusEventHandler | undefined;\r\n onKeyDown?: React.KeyboardEventHandler | undefined;\r\n type?: string;\r\n autocomplete?: string\r\n};\r\n\r\n\r\nexport const InputText = ({\r\n name, \r\n label, \r\n disabled=false, \r\n readonly=false,\r\n value,\r\n className,\r\n maxLength,\r\n error,\r\n children,\r\n autocomplete=\"on\",\r\n ...props\r\n}: InputProps) => {\r\n\r\n\r\n return (
\r\n \r\n \r\n {children &&
{children}
}\r\n {error && {error}}\r\n
)\r\n}","\n import API from \"!../webpack-config-single-spa/node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../webpack-config-single-spa/node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../webpack-config-single-spa/node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../webpack-config-single-spa/node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../webpack-config-single-spa/node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../webpack-config-single-spa/node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../webpack-config-single-spa/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../webpack-config-single-spa/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","export default {\n \"ext\": \"ext.\",\n \"country\": \"Phone number country\",\n \"phone\": \"Phone\",\n \"AB\": \"Abkhazia\",\n \"AC\": \"Ascension Island\",\n \"AD\": \"Andorra\",\n \"AE\": \"United Arab Emirates\",\n \"AF\": \"Afghanistan\",\n \"AG\": \"Antigua and Barbuda\",\n \"AI\": \"Anguilla\",\n \"AL\": \"Albania\",\n \"AM\": \"Armenia\",\n \"AO\": \"Angola\",\n \"AQ\": \"Antarctica\",\n \"AR\": \"Argentina\",\n \"AS\": \"American Samoa\",\n \"AT\": \"Austria\",\n \"AU\": \"Australia\",\n \"AW\": \"Aruba\",\n \"AX\": \"Åland Islands\",\n \"AZ\": \"Azerbaijan\",\n \"BA\": \"Bosnia and Herzegovina\",\n \"BB\": \"Barbados\",\n \"BD\": \"Bangladesh\",\n \"BE\": \"Belgium\",\n \"BF\": \"Burkina Faso\",\n \"BG\": \"Bulgaria\",\n \"BH\": \"Bahrain\",\n \"BI\": \"Burundi\",\n \"BJ\": \"Benin\",\n \"BL\": \"Saint Barthélemy\",\n \"BM\": \"Bermuda\",\n \"BN\": \"Brunei Darussalam\",\n \"BO\": \"Bolivia\",\n \"BQ\": \"Bonaire, Sint Eustatius and Saba\",\n \"BR\": \"Brazil\",\n \"BS\": \"Bahamas\",\n \"BT\": \"Bhutan\",\n \"BV\": \"Bouvet Island\",\n \"BW\": \"Botswana\",\n \"BY\": \"Belarus\",\n \"BZ\": \"Belize\",\n \"CA\": \"Canada\",\n \"CC\": \"Cocos (Keeling) Islands\",\n \"CD\": \"Congo, Democratic Republic of the\",\n \"CF\": \"Central African Republic\",\n \"CG\": \"Congo\",\n \"CH\": \"Switzerland\",\n \"CI\": \"Cote d'Ivoire\",\n \"CK\": \"Cook Islands\",\n \"CL\": \"Chile\",\n \"CM\": \"Cameroon\",\n \"CN\": \"China\",\n \"CO\": \"Colombia\",\n \"CR\": \"Costa Rica\",\n \"CU\": \"Cuba\",\n \"CV\": \"Cape Verde\",\n \"CW\": \"Curaçao\",\n \"CX\": \"Christmas Island\",\n \"CY\": \"Cyprus\",\n \"CZ\": \"Czech Republic\",\n \"DE\": \"Germany\",\n \"DJ\": \"Djibouti\",\n \"DK\": \"Denmark\",\n \"DM\": \"Dominica\",\n \"DO\": \"Dominican Republic\",\n \"DZ\": \"Algeria\",\n \"EC\": \"Ecuador\",\n \"EE\": \"Estonia\",\n \"EG\": \"Egypt\",\n \"EH\": \"Western Sahara\",\n \"ER\": \"Eritrea\",\n \"ES\": \"Spain\",\n \"ET\": \"Ethiopia\",\n \"FI\": \"Finland\",\n \"FJ\": \"Fiji\",\n \"FK\": \"Falkland Islands\",\n \"FM\": \"Federated States of Micronesia\",\n \"FO\": \"Faroe Islands\",\n \"FR\": \"France\",\n \"GA\": \"Gabon\",\n \"GB\": \"United Kingdom\",\n \"GD\": \"Grenada\",\n \"GE\": \"Georgia\",\n \"GF\": \"French Guiana\",\n \"GG\": \"Guernsey\",\n \"GH\": \"Ghana\",\n \"GI\": \"Gibraltar\",\n \"GL\": \"Greenland\",\n \"GM\": \"Gambia\",\n \"GN\": \"Guinea\",\n \"GP\": \"Guadeloupe\",\n \"GQ\": \"Equatorial Guinea\",\n \"GR\": \"Greece\",\n \"GS\": \"South Georgia and the South Sandwich Islands\",\n \"GT\": \"Guatemala\",\n \"GU\": \"Guam\",\n \"GW\": \"Guinea-Bissau\",\n \"GY\": \"Guyana\",\n \"HK\": \"Hong Kong\",\n \"HM\": \"Heard Island and McDonald Islands\",\n \"HN\": \"Honduras\",\n \"HR\": \"Croatia\",\n \"HT\": \"Haiti\",\n \"HU\": \"Hungary\",\n \"ID\": \"Indonesia\",\n \"IE\": \"Ireland\",\n \"IL\": \"Israel\",\n \"IM\": \"Isle of Man\",\n \"IN\": \"India\",\n \"IO\": \"British Indian Ocean Territory\",\n \"IQ\": \"Iraq\",\n \"IR\": \"Iran\",\n \"IS\": \"Iceland\",\n \"IT\": \"Italy\",\n \"JE\": \"Jersey\",\n \"JM\": \"Jamaica\",\n \"JO\": \"Jordan\",\n \"JP\": \"Japan\",\n \"KE\": \"Kenya\",\n \"KG\": \"Kyrgyzstan\",\n \"KH\": \"Cambodia\",\n \"KI\": \"Kiribati\",\n \"KM\": \"Comoros\",\n \"KN\": \"Saint Kitts and Nevis\",\n \"KP\": \"North Korea\",\n \"KR\": \"South Korea\",\n \"KW\": \"Kuwait\",\n \"KY\": \"Cayman Islands\",\n \"KZ\": \"Kazakhstan\",\n \"LA\": \"Laos\",\n \"LB\": \"Lebanon\",\n \"LC\": \"Saint Lucia\",\n \"LI\": \"Liechtenstein\",\n \"LK\": \"Sri Lanka\",\n \"LR\": \"Liberia\",\n \"LS\": \"Lesotho\",\n \"LT\": \"Lithuania\",\n \"LU\": \"Luxembourg\",\n \"LV\": \"Latvia\",\n \"LY\": \"Libya\",\n \"MA\": \"Morocco\",\n \"MC\": \"Monaco\",\n \"MD\": \"Moldova\",\n \"ME\": \"Montenegro\",\n \"MF\": \"Saint Martin (French Part)\",\n \"MG\": \"Madagascar\",\n \"MH\": \"Marshall Islands\",\n \"MK\": \"North Macedonia\",\n \"ML\": \"Mali\",\n \"MM\": \"Myanmar\",\n \"MN\": \"Mongolia\",\n \"MO\": \"Macao\",\n \"MP\": \"Northern Mariana Islands\",\n \"MQ\": \"Martinique\",\n \"MR\": \"Mauritania\",\n \"MS\": \"Montserrat\",\n \"MT\": \"Malta\",\n \"MU\": \"Mauritius\",\n \"MV\": \"Maldives\",\n \"MW\": \"Malawi\",\n \"MX\": \"Mexico\",\n \"MY\": \"Malaysia\",\n \"MZ\": \"Mozambique\",\n \"NA\": \"Namibia\",\n \"NC\": \"New Caledonia\",\n \"NE\": \"Niger\",\n \"NF\": \"Norfolk Island\",\n \"NG\": \"Nigeria\",\n \"NI\": \"Nicaragua\",\n \"NL\": \"Netherlands\",\n \"NO\": \"Norway\",\n \"NP\": \"Nepal\",\n \"NR\": \"Nauru\",\n \"NU\": \"Niue\",\n \"NZ\": \"New Zealand\",\n \"OM\": \"Oman\",\n \"OS\": \"South Ossetia\",\n \"PA\": \"Panama\",\n \"PE\": \"Peru\",\n \"PF\": \"French Polynesia\",\n \"PG\": \"Papua New Guinea\",\n \"PH\": \"Philippines\",\n \"PK\": \"Pakistan\",\n \"PL\": \"Poland\",\n \"PM\": \"Saint Pierre and Miquelon\",\n \"PN\": \"Pitcairn\",\n \"PR\": \"Puerto Rico\",\n \"PS\": \"Palestine\",\n \"PT\": \"Portugal\",\n \"PW\": \"Palau\",\n \"PY\": \"Paraguay\",\n \"QA\": \"Qatar\",\n \"RE\": \"Reunion\",\n \"RO\": \"Romania\",\n \"RS\": \"Serbia\",\n \"RU\": \"Russia\",\n \"RW\": \"Rwanda\",\n \"SA\": \"Saudi Arabia\",\n \"SB\": \"Solomon Islands\",\n \"SC\": \"Seychelles\",\n \"SD\": \"Sudan\",\n \"SE\": \"Sweden\",\n \"SG\": \"Singapore\",\n \"SH\": \"Saint Helena\",\n \"SI\": \"Slovenia\",\n \"SJ\": \"Svalbard and Jan Mayen\",\n \"SK\": \"Slovakia\",\n \"SL\": \"Sierra Leone\",\n \"SM\": \"San Marino\",\n \"SN\": \"Senegal\",\n \"SO\": \"Somalia\",\n \"SR\": \"Suriname\",\n \"SS\": \"South Sudan\",\n \"ST\": \"Sao Tome and Principe\",\n \"SV\": \"El Salvador\",\n \"SX\": \"Sint Maarten\",\n \"SY\": \"Syria\",\n \"SZ\": \"Swaziland\",\n \"TA\": \"Tristan da Cunha\",\n \"TC\": \"Turks and Caicos Islands\",\n \"TD\": \"Chad\",\n \"TF\": \"French Southern Territories\",\n \"TG\": \"Togo\",\n \"TH\": \"Thailand\",\n \"TJ\": \"Tajikistan\",\n \"TK\": \"Tokelau\",\n \"TL\": \"Timor-Leste\",\n \"TM\": \"Turkmenistan\",\n \"TN\": \"Tunisia\",\n \"TO\": \"Tonga\",\n \"TR\": \"Turkey\",\n \"TT\": \"Trinidad and Tobago\",\n \"TV\": \"Tuvalu\",\n \"TW\": \"Taiwan\",\n \"TZ\": \"Tanzania\",\n \"UA\": \"Ukraine\",\n \"UG\": \"Uganda\",\n \"UM\": \"United States Minor Outlying Islands\",\n \"US\": \"United States\",\n \"UY\": \"Uruguay\",\n \"UZ\": \"Uzbekistan\",\n \"VA\": \"Holy See (Vatican City State)\",\n \"VC\": \"Saint Vincent and the Grenadines\",\n \"VE\": \"Venezuela\",\n \"VG\": \"Virgin Islands, British\",\n \"VI\": \"Virgin Islands, U.S.\",\n \"VN\": \"Vietnam\",\n \"VU\": \"Vanuatu\",\n \"WF\": \"Wallis and Futuna\",\n \"WS\": \"Samoa\",\n \"XK\": \"Kosovo\",\n \"YE\": \"Yemen\",\n \"YT\": \"Mayotte\",\n \"ZA\": \"South Africa\",\n \"ZM\": \"Zambia\",\n \"ZW\": \"Zimbabwe\",\n \"ZZ\": \"International\"\n}","import PropTypes from 'prop-types';\nexport var metadata = PropTypes.shape({\n country_calling_codes: PropTypes.object.isRequired,\n countries: PropTypes.object.isRequired\n});\nexport var labels = PropTypes.objectOf(PropTypes.string);\n//# sourceMappingURL=PropTypes.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\n// Counts all occurences of a symbol in a string\nexport function count_occurences(symbol, string) {\n var count = 0; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes)\n // but template placeholder characters don't fall into that range\n // so skipping such miscellaneous \"exotic\" characters\n // won't matter here for just counting placeholder character occurrences.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n\n if (character === symbol) {\n count++;\n }\n }\n\n return count;\n}\n//# sourceMappingURL=helpers.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport { count_occurences } from './helpers.js';\nimport close_braces from './closeBraces.js'; // Takes a `template` where character placeholders\n// are denoted by 'x'es (e.g. 'x (xxx) xxx-xx-xx').\n//\n// Returns a function which takes `value` characters\n// and returns the `template` filled with those characters.\n// If the `template` can only be partially filled\n// then it is cut off.\n//\n// If `should_close_braces` is `true`,\n// then it will also make sure all dangling braces are closed,\n// e.g. \"8 (8\" -> \"8 (8 )\" (iPhone style phone number input).\n//\n\nexport default function (template) {\n var placeholder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'x';\n var should_close_braces = arguments.length > 2 ? arguments[2] : undefined;\n\n if (!template) {\n return function (value) {\n return {\n text: value\n };\n };\n }\n\n var characters_in_template = count_occurences(placeholder, template);\n return function (value) {\n if (!value) {\n return {\n text: '',\n template: template\n };\n }\n\n var value_character_index = 0;\n var filled_in_template = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes)\n // but template placeholder characters don't fall into that range\n // and appending UTF-8 characters to a string in parts still works.\n\n for (var _iterator = _createForOfIteratorHelperLoose(template.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n\n if (character !== placeholder) {\n filled_in_template += character;\n continue;\n }\n\n filled_in_template += value[value_character_index];\n value_character_index++; // If the last available value character has been filled in,\n // then return the filled in template\n // (either trim the right part or retain it,\n // if no more character placeholders in there)\n\n if (value_character_index === value.length) {\n // If there are more character placeholders\n // in the right part of the template\n // then simply trim it.\n if (value.length < characters_in_template) {\n break;\n }\n }\n }\n\n if (should_close_braces) {\n filled_in_template = close_braces(filled_in_template, template);\n }\n\n return {\n text: filled_in_template,\n template: template\n };\n };\n}\n//# sourceMappingURL=templateFormatter.js.map","import { count_occurences } from './helpers.js';\nexport default function closeBraces(retained_template, template) {\n var placeholder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'x';\n var empty_placeholder = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : ' ';\n var cut_before = retained_template.length;\n var opening_braces = count_occurences('(', retained_template);\n var closing_braces = count_occurences(')', retained_template);\n var dangling_braces = opening_braces - closing_braces;\n\n while (dangling_braces > 0 && cut_before < template.length) {\n retained_template += template[cut_before].replace(placeholder, empty_placeholder);\n\n if (template[cut_before] === ')') {\n dangling_braces--;\n }\n\n cut_before++;\n }\n\n return retained_template;\n}\n//# sourceMappingURL=closeBraces.js.map","export function isReadOnly(element) {\n return element.hasAttribute('readonly');\n} // Gets selection bounds\n\nexport function getSelection(element) {\n // If no selection, return nothing\n if (element.selectionStart === element.selectionEnd) {\n return;\n }\n\n return {\n start: element.selectionStart,\n end: element.selectionEnd\n };\n} // Key codes\n\nexport var Keys = {\n Backspace: 8,\n Delete: 46\n}; // Finds out the operation to be intercepted and performed\n// based on the key down event `keyCode`.\n\nexport function getOperation(event) {\n switch (event.keyCode) {\n case Keys.Backspace:\n return 'Backspace';\n\n case Keys.Delete:\n return 'Delete';\n }\n} // Gets caret position\n\nexport function getCaretPosition(element) {\n return element.selectionStart;\n} // Sets caret position\n\nexport function setCaretPosition(element, caret_position) {\n // Sanity check\n if (caret_position === undefined) {\n return;\n } // Set caret position.\n // There has been an issue with caret positioning on Android devices.\n // https://github.com/catamphetamine/input-format/issues/2\n // I was revisiting this issue and looked for similar issues in other libraries.\n // For example, there's [`text-mask`](https://github.com/text-mask/text-mask) library.\n // They've had exactly the same issue when the caret seemingly refused to be repositioned programmatically.\n // The symptoms were the same: whenever the caret passed through a non-digit character of a mask (a whitespace, a bracket, a dash, etc), it looked as if it placed itself one character before its correct position.\n // https://github.com/text-mask/text-mask/issues/300\n // They seem to have found a basic fix for it: calling `input.setSelectionRange()` in a timeout rather than instantly for Android devices.\n // https://github.com/text-mask/text-mask/pull/400/files\n // I've implemented the same workaround here.\n\n\n if (isAndroid()) {\n setTimeout(function () {\n return element.setSelectionRange(caret_position, caret_position);\n }, 0);\n } else {\n element.setSelectionRange(caret_position, caret_position);\n }\n}\n\nfunction isAndroid() {\n // `navigator` is not defined when running mocha tests.\n if (typeof navigator !== 'undefined') {\n return ANDROID_USER_AGENT_REG_EXP.test(navigator.userAgent);\n }\n}\n\nvar ANDROID_USER_AGENT_REG_EXP = /Android/i;\n//# sourceMappingURL=dom.js.map","import edit from './edit.js';\nimport parse from './parse.js';\nimport format from './format.js';\nimport { isReadOnly, getOperation, getSelection, getCaretPosition, setCaretPosition } from './dom.js'; // Deprecated.\n// I don't know why this function exists.\n\nexport function onCut(event, input, _parse, _format, on_change) {\n if (isReadOnly(input)) {\n return;\n } // The actual cut hasn't happened just yet hence the timeout.\n\n\n setTimeout(function () {\n return formatInputText(input, _parse, _format, undefined, on_change);\n }, 0);\n} // Deprecated.\n// I don't know why this function exists.\n\nexport function onPaste(event, input, _parse, _format, on_change) {\n if (isReadOnly(input)) {\n return;\n }\n\n var selection = getSelection(input); // If selection is made,\n // just erase the selected text\n // prior to pasting\n\n if (selection) {\n eraseSelection(input, selection);\n }\n\n formatInputText(input, _parse, _format, undefined, on_change);\n}\nexport function onChange(event, input, _parse, _format, on_change) {\n formatInputText(input, _parse, _format, undefined, on_change);\n} // \"Delete\" and \"Backspace\" keys are special\n// in a way that they're not handled by the regular `onChange()` handler\n// and instead are intercepted and re-applied manually.\n// The reason is that normally hitting \"Backspace\" or \"Delete\"\n// results in erasing a character, but that character might be any character,\n// while it would be a better \"user experience\" if it erased not just any character\n// but the closest \"meaningful\" character.\n// For example, if a template is `(xxx) xxx-xxxx`,\n// and the `` value is `(111) 222-3333`,\n// then, if a user begins erasing the `3333` part via \"Backspace\"\n// and reaches the \"-\" character, then it would just erase the \"-\" character.\n// Nothing wrong with that, but it would be a better \"user experience\"\n// if hitting \"Backspace\" at that position would erase the closest \"meaningful\"\n// character, which would be the rightmost `2`.\n// So, what this `onKeyDown()` handler does is it intercepts\n// \"Backspace\" and \"Delete\" keys and re-applies those operations manually\n// following the logic described above.\n\nexport function onKeyDown(event, input, _parse, _format, on_change) {\n if (isReadOnly(input)) {\n return;\n }\n\n var operation = getOperation(event);\n\n switch (operation) {\n case 'Delete':\n case 'Backspace':\n // Intercept this operation and perform it manually.\n event.preventDefault();\n var selection = getSelection(input); // If a selection is made, just erase the selected text.\n\n if (selection) {\n eraseSelection(input, selection);\n return formatInputText(input, _parse, _format, undefined, on_change);\n } // Else, perform the (character erasing) operation manually.\n\n\n return formatInputText(input, _parse, _format, operation, on_change);\n\n default: // Will be handled normally as part of the `onChange` handler.\n\n }\n}\n/**\r\n * Erases the selected text inside an ``.\r\n * @param {DOMElement} input\r\n * @param {Selection} selection\r\n */\n\nfunction eraseSelection(input, selection) {\n var text = input.value;\n text = text.slice(0, selection.start) + text.slice(selection.end);\n input.value = text;\n setCaretPosition(input, selection.start);\n}\n/**\r\n * Parses and re-formats `` textual value.\r\n * E.g. when a user enters something into the ``\r\n * that raw input must first be parsed and the re-formatted properly.\r\n * Is called either after some user input (e.g. entered a character, pasted something)\r\n * or after the user performed an `operation` (e.g. \"Backspace\", \"Delete\").\r\n * @param {DOMElement} input\r\n * @param {Function} parse\r\n * @param {Function} format\r\n * @param {string} [operation] - The operation that triggered `` textual value change. E.g. \"Backspace\", \"Delete\".\r\n * @param {Function} onChange\r\n */\n\n\nfunction formatInputText(input, _parse, _format, operation, on_change) {\n // Parse `` textual value.\n // Get the `value` and `caret` position.\n var _parse2 = parse(input.value, getCaretPosition(input), _parse),\n value = _parse2.value,\n caret = _parse2.caret; // If a user performed an operation (\"Backspace\", \"Delete\")\n // then apply that operation and get the new `value` and `caret` position.\n\n\n if (operation) {\n var newValueAndCaret = edit(value, caret, operation);\n value = newValueAndCaret.value;\n caret = newValueAndCaret.caret;\n } // Format the `value`.\n // (and reposition the caret accordingly)\n\n\n var formatted = format(value, caret, _format);\n var text = formatted.text;\n caret = formatted.caret; // Set `` textual value manually\n // to prevent React from resetting the caret position\n // later inside a subsequent `render()`.\n // Doesn't work for custom `inputComponent`s for some reason.\n\n input.value = text; // Position the caret properly.\n\n setCaretPosition(input, caret); // If the `` textual value did change,\n // then the parsed `value` may have changed too.\n\n on_change(value);\n}\n//# sourceMappingURL=inputControl.js.map","// Parses the `text`.\n//\n// Returns `{ value, caret }` where `caret` is\n// the caret position inside `value`\n// corresponding to the `caret_position` inside `text`.\n//\n// The `text` is parsed by feeding each character sequentially to\n// `parse_character(character, value, context)` function\n// and appending the result (if it's not `undefined`) to `value`.\n//\n// `context` argument is just a utility empty object that is shared within the bounds\n// of parsing a single input string. The `_parse()` function could use that object\n// to store any kind of \"flags\" in it in order to alter its behavior based when\n// parsing next characters within the same string. Or it could completely ignore it.\n//\n// Example:\n//\n// `text` is `8 (800) 555-35-35`,\n// `caret_position` is `4` (before the first `0`).\n// `parse_character` is `(character, value) =>\n// if (character >= '0' && character <= '9') { return character }`.\n//\n// then `parse()` outputs `{ value: '88005553535', caret: 2 }`.\n//\nexport default function parse(text, caret_position, parse_character) {\n var context = {};\n var value = '';\n var focused_input_character_index = 0;\n var index = 0;\n\n while (index < text.length) {\n var character = parse_character(text[index], value, context);\n\n if (character !== undefined) {\n value += character;\n\n if (caret_position !== undefined) {\n if (caret_position === index) {\n focused_input_character_index = value.length - 1;\n } else if (caret_position > index) {\n focused_input_character_index = value.length;\n }\n }\n }\n\n index++;\n } // If caret position wasn't specified\n\n\n if (caret_position === undefined) {\n // Then set caret position to \"after the last input character\"\n focused_input_character_index = value.length;\n }\n\n var result = {\n value: value,\n caret: focused_input_character_index\n };\n return result;\n}\n//# sourceMappingURL=parse.js.map","// Edits text `value` (if `operation` is passed) and repositions the `caret` if needed.\n//\n// Example:\n//\n// value - '88005553535'\n// caret - 2 // starting from 0; is positioned before the first zero\n// operation - 'Backspace'\n//\n// Returns\n// {\n// \tvalue: '8005553535'\n// \tcaret: 1\n// }\n//\n// Currently supports just 'Delete' and 'Backspace' operations\n//\nexport default function edit(value, caret, operation) {\n switch (operation) {\n case 'Backspace':\n // If there exists the previous character,\n // then erase it and reposition the caret.\n if (caret > 0) {\n // Remove the previous character\n value = value.slice(0, caret - 1) + value.slice(caret); // Position the caret where the previous (erased) character was\n\n caret--;\n }\n\n break;\n\n case 'Delete':\n // Remove current digit (if any)\n value = value.slice(0, caret) + value.slice(caret + 1);\n break;\n }\n\n return {\n value: value,\n caret: caret\n };\n}\n//# sourceMappingURL=edit.js.map","import template_formatter from './templateFormatter.js'; // Formats `value` value preserving `caret` at the same character.\n//\n// `{ value, caret }` attribute is the result of `parse()` function call.\n//\n// Returns `{ text, caret }` where the new `caret` is the caret position\n// inside `text` text corresponding to the original `caret` position inside `value`.\n//\n// `formatter(value)` is a function returning `{ text, template }`.\n//\n// `text` is the `value` value formatted using `template`.\n// It may either cut off the non-filled right part of the `template`\n// or it may fill the non-filled character placeholders\n// in the right part of the `template` with `spacer`\n// which is a space (' ') character by default.\n//\n// `template` is the template used to format the `value`.\n// It can be either a full-length template or a partial template.\n//\n// `formatter` can also be a string — a `template`\n// where character placeholders are denoted by 'x'es.\n// In this case `formatter` function is automatically created.\n//\n// Example:\n//\n// `value` is '880',\n// `caret` is `2` (before the first `0`)\n//\n// `formatter` is `'880' =>\n// { text: '8 (80 )', template: 'x (xxx) xxx-xx-xx' }`\n//\n// The result is `{ text: '8 (80 )', caret: 4 }`.\n//\n\nexport default function format(value, caret, formatter) {\n if (typeof formatter === 'string') {\n formatter = template_formatter(formatter);\n }\n\n var _ref = formatter(value) || {},\n text = _ref.text,\n template = _ref.template;\n\n if (text === undefined) {\n text = value;\n }\n\n if (template) {\n if (caret === undefined) {\n caret = text.length;\n } else {\n var index = 0;\n var found = false;\n var possibly_last_input_character_index = -1;\n\n while (index < text.length && index < template.length) {\n // Character placeholder found\n if (text[index] !== template[index]) {\n if (caret === 0) {\n found = true;\n caret = index;\n break;\n }\n\n possibly_last_input_character_index = index;\n caret--;\n }\n\n index++;\n } // If the caret was positioned after last input character,\n // then the text caret index is just after the last input character.\n\n\n if (!found) {\n caret = possibly_last_input_character_index + 1;\n }\n }\n }\n\n return {\n text: text,\n caret: caret\n };\n}\n//# sourceMappingURL=format.js.map","var _excluded = [\"value\", \"parse\", \"format\", \"inputComponent\", \"onChange\", \"onKeyDown\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n// This is just `./ReactInput.js` rewritten in Hooks.\nimport React, { useCallback, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { onChange as onInputChange, onKeyDown as onInputKeyDown } from '../inputControl.js'; // Usage:\n//\n// this.setState({ phone })}\n// \tparse={character => character}\n// \tformat={value => ({ text: value, template: 'xxxxxxxx' })}/>\n//\n\nfunction Input(_ref, ref) {\n var value = _ref.value,\n parse = _ref.parse,\n format = _ref.format,\n InputComponent = _ref.inputComponent,\n onChange = _ref.onChange,\n onKeyDown = _ref.onKeyDown,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n var internalRef = useRef();\n var setRef = useCallback(function (instance) {\n internalRef.current = instance;\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(instance);\n } else {\n ref.current = instance;\n }\n }\n }, [ref]);\n\n var _onChange = useCallback(function (event) {\n return onInputChange(event, internalRef.current, parse, format, onChange);\n }, [internalRef, parse, format, onChange]);\n\n var _onKeyDown = useCallback(function (event) {\n if (onKeyDown) {\n onKeyDown(event);\n } // If `onKeyDown()` handler above has called `event.preventDefault()`\n // then ignore this `keydown` event.\n\n\n if (event.defaultPrevented) {\n return;\n }\n\n return onInputKeyDown(event, internalRef.current, parse, format, onChange);\n }, [internalRef, parse, format, onChange, onKeyDown]);\n\n return /*#__PURE__*/React.createElement(InputComponent, _extends({}, rest, {\n ref: setRef,\n value: format(isEmptyValue(value) ? '' : value).text,\n onKeyDown: _onKeyDown,\n onChange: _onChange\n }));\n}\n\nInput = /*#__PURE__*/React.forwardRef(Input);\nInput.propTypes = {\n // Parses a single characher of `` text.\n parse: PropTypes.func.isRequired,\n // Formats `value` into `` text.\n format: PropTypes.func.isRequired,\n // Renders `` by default.\n inputComponent: PropTypes.elementType.isRequired,\n // `` `type` attribute.\n type: PropTypes.string.isRequired,\n // Is parsed from text.\n value: PropTypes.string,\n // This handler is called each time `` text is changed.\n onChange: PropTypes.func.isRequired,\n // Passthrough\n onKeyDown: PropTypes.func,\n onCut: PropTypes.func,\n onPaste: PropTypes.func\n};\nInput.defaultProps = {\n // Renders `` by default.\n inputComponent: 'input',\n // `` `type` attribute.\n type: 'text'\n};\nexport default Input;\n\nfunction isEmptyValue(value) {\n return value === undefined || value === null;\n}\n//# sourceMappingURL=Input.js.map","// Copy-pasted from:\n// https://github.com/substack/semver-compare/blob/master/index.js\n//\n// Inlining this function because some users reported issues with\n// importing from `semver-compare` in a browser with ES6 \"native\" modules.\n//\n// Fixes `semver-compare` not being able to compare versions with alpha/beta/etc \"tags\".\n// https://github.com/catamphetamine/libphonenumber-js/issues/381\nexport default function (a, b) {\n a = a.split('-');\n b = b.split('-');\n var pa = a[0].split('.');\n var pb = b[0].split('.');\n\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb) return 1;\n if (nb > na) return -1;\n if (!isNaN(na) && isNaN(nb)) return 1;\n if (isNaN(na) && !isNaN(nb)) return -1;\n }\n\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\n//# sourceMappingURL=semver-compare.js.map","var objectConstructor = {}.constructor;\nexport default function isObject(object) {\n return object !== undefined && object !== null && object.constructor === objectConstructor;\n}\n//# sourceMappingURL=isObject.js.map","function _typeof(obj) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }, _typeof(obj); }\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 compare from './tools/semver-compare.js';\nimport isObject from './helpers/isObject.js'; // Added \"possibleLengths\" and renamed\n// \"country_phone_code_to_countries\" to \"country_calling_codes\".\n\nvar V2 = '1.0.18'; // Added \"idd_prefix\" and \"default_idd_prefix\".\n\nvar V3 = '1.2.0'; // Moved `001` country code to \"nonGeographic\" section of metadata.\n\nvar V4 = '1.7.35';\nvar DEFAULT_EXT_PREFIX = ' ext. ';\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\n/**\r\n * See: https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md\r\n */\n\nvar Metadata = /*#__PURE__*/function () {\n function Metadata(metadata) {\n _classCallCheck(this, Metadata);\n\n validateMetadata(metadata);\n this.metadata = metadata;\n setVersion.call(this, metadata);\n }\n\n _createClass(Metadata, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function (_) {\n return _ !== '001';\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3) return; // `nonGeographical` was a typo.\n // It's present in metadata generated from `1.7.35` to `1.7.37`.\n // The test case could be found by searching for \"nonGeographical\".\n\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== undefined;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n } // Deprecated.\n\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n // Supports just passing `callingCode` as the first argument.\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n\n if (countryCode && countryCode !== '001') {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = undefined;\n }\n\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes) {\n // Metadata before V4 included \"non-geographic entity\" calling codes\n // inside `country_calling_codes` (for example, `\"881\":[\"001\"]`).\n // Now the semantics of `country_calling_codes` has changed:\n // it's specifically for \"countries\" now.\n // Older versions of custom metadata will simply skip parsing\n // \"non-geographic entity\" phone numbers with new versions\n // of this library: it's not considered a bug,\n // because such numbers are extremely rare,\n // and developers extremely rarely use custom metadata.\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n\n if (this.nonGeographic()) {\n var metadata = this.nonGeographic()[callingCode];\n\n if (metadata) {\n return metadata;\n }\n } else {\n // A hacky workaround for old custom metadata (generated before V4).\n // In that metadata, there was no concept of \"non-geographic\" metadata\n // so metadata for `001` country code was stored along with other countries.\n // The test case can be found by searching for:\n // \"should work around `nonGeographic` metadata not existing\".\n var countryCodes = this.countryCallingCodes()[callingCode];\n\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === '001') {\n return this.metadata.countries['001'];\n }\n }\n } // Deprecated.\n\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n } // Deprecated.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n } // Deprecated.\n\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n } // Deprecated.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n } // Deprecated.\n\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n } // Deprecated.\n\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n } // Deprecated.\n\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n } // Deprecated.\n\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n } // Deprecated.\n\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n } // Deprecated.\n\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1) return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n } // Deprecated.\n\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== undefined;\n }\n }]);\n\n return Metadata;\n}();\n\nexport { Metadata as default };\n\nvar NumberingPlan = /*#__PURE__*/function () {\n function NumberingPlan(metadata, globalMetadataObject) {\n _classCallCheck(this, NumberingPlan);\n\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n\n _createClass(NumberingPlan, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n } // Formatting information for regions which share\n // a country calling code is contained by only one region\n // for performance reasons. For example, for NANPA region\n // (\"North American Numbering Plan Administration\",\n // which includes USA, Canada, Cayman Islands, Bahamas, etc)\n // it will be contained in the metadata for `US`.\n\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n } // Is always present.\n\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[1];\n } // Is only present when a country supports multiple IDD prefixes.\n\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2) return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2) return this.metadata[1];\n return this.metadata[2];\n } // \"possible length\" data is always present in Google's metadata.\n\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1) return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata) {\n return metadata[this.v1 ? 2 : this.v2 ? 3 : 4];\n } // For countries of the same region (e.g. NANPA)\n // formats are all stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n\n var formats = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats.map(function (_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata) {\n return metadata[this.v1 ? 4 : this.v2 ? 5 : 6];\n } // For countries of the same region (e.g. NANPA)\n // national prefix formatting rule is stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n // If `national_prefix_for_parsing` is not set explicitly,\n // then infer it from `national_prefix` (if any)\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n } // For countries of the same region (e.g. NANPA)\n // \"national prefix is optional when formatting\" flag is\n // stored in the \"main\" country for that region.\n // E.g. \"RU\" and \"KZ\", \"US\" and \"CA\".\n\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n // Versions 1.2.0 - 1.2.4: can be `[]`.\n\n /* istanbul ignore next */\n if (this.types() && this.types().length === 0) {\n return false;\n } // Versions <= 1.2.4: can be `undefined`.\n // Version >= 1.2.5: can be `0`.\n\n\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2) return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n\n return NumberingPlan;\n}();\n\nvar Format = /*#__PURE__*/function () {\n function Format(format, metadata) {\n _classCallCheck(this, Format);\n\n this._format = format;\n this.metadata = metadata;\n }\n\n _createClass(Format, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n // National prefix is omitted if there's no national prefix formatting rule\n // set for this country, or when the national prefix formatting rule\n // contains no national prefix itself, or when this rule is set but\n // national prefix is optional for this phone number format\n // (and it is not enforced explicitly)\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n } // Checks whether national prefix formatting rule contains national prefix.\n\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && // Check that national prefix formatting rule is not a \"dummy\" one.\n !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) // In compressed metadata, `this.nationalPrefixFormattingRule()` is `0`\n // when `national_prefix_formatting_rule` is not present.\n // So, `true` or `false` are returned explicitly here, so that\n // `0` number isn't returned.\n ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n\n return Format;\n}();\n/**\r\n * A pattern that is used to determine if the national prefix formatting rule\r\n * has the first group only, i.e., does not start with the national prefix.\r\n * Note that the pattern explicitly allows for unbalanced parentheses.\r\n */\n\n\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\n\nvar Type = /*#__PURE__*/function () {\n function Type(type, metadata) {\n _classCallCheck(this, Type);\n\n this.type = type;\n this.metadata = metadata;\n }\n\n _createClass(Type, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1) return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1) return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n\n return Type;\n}();\n\nfunction getType(types, type) {\n switch (type) {\n case 'FIXED_LINE':\n return types[0];\n\n case 'MOBILE':\n return types[1];\n\n case 'TOLL_FREE':\n return types[2];\n\n case 'PREMIUM_RATE':\n return types[3];\n\n case 'PERSONAL_NUMBER':\n return types[4];\n\n case 'VOICEMAIL':\n return types[5];\n\n case 'UAN':\n return types[6];\n\n case 'PAGER':\n return types[7];\n\n case 'VOIP':\n return types[8];\n\n case 'SHARED_COST':\n return types[9];\n }\n}\n\nexport function validateMetadata(metadata) {\n if (!metadata) {\n throw new Error('[libphonenumber-js] `metadata` argument not passed. Check your arguments.');\n } // `country_phone_code_to_countries` was renamed to\n // `country_calling_codes` in `1.0.18`.\n\n\n if (!isObject(metadata) || !isObject(metadata.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(isObject(metadata) ? 'an object of shape: { ' + Object.keys(metadata).join(', ') + ' }' : 'a ' + typeOf(metadata) + ': ' + metadata, \".\"));\n }\n} // Babel transforms `typeof` into some \"branches\"\n// so istanbul will show this as \"branch not covered\".\n\n/* istanbul ignore next */\n\nvar typeOf = function typeOf(_) {\n return _typeof(_);\n};\n/**\r\n * Returns extension prefix for a country.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string?}\r\n * @example\r\n * // Returns \" ext. \"\r\n * getExtPrefix(\"US\")\r\n */\n\n\nexport function getExtPrefix(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).ext();\n }\n\n return DEFAULT_EXT_PREFIX;\n}\n/**\r\n * Returns \"country calling code\" for a country.\r\n * Throws an error if the country doesn't exist or isn't supported by this library.\r\n * @param {string} country\r\n * @param {object} metadata\r\n * @return {string}\r\n * @example\r\n * // Returns \"44\"\r\n * getCountryCallingCode(\"GB\")\r\n */\n\nexport function getCountryCallingCode(country, metadata) {\n metadata = new Metadata(metadata);\n\n if (metadata.hasCountry(country)) {\n return metadata.country(country).countryCallingCode();\n }\n\n throw new Error(\"Unknown country: \".concat(country));\n}\nexport function isSupportedCountry(country, metadata) {\n // metadata = new Metadata(metadata)\n // return metadata.hasCountry(country)\n return metadata.countries.hasOwnProperty(country);\n}\n\nfunction setVersion(metadata) {\n var version = metadata.version;\n\n if (typeof version === 'number') {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n} // const ISO_COUNTRY_CODE = /^[A-Z]{2}$/\n// function isCountryCode(countryCode) {\n// \treturn ISO_COUNTRY_CODE.test(countryCodeOrCountryCallingCode)\n// }\n//# sourceMappingURL=metadata.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\n/**\r\n * Merges two arrays.\r\n * @param {*} a\r\n * @param {*} b\r\n * @return {*}\r\n */\nexport default function mergeArrays(a, b) {\n var merged = a.slice();\n\n for (var _iterator = _createForOfIteratorHelperLoose(b), _step; !(_step = _iterator()).done;) {\n var element = _step.value;\n\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n\n return merged.sort(function (a, b) {\n return a - b;\n }); // ES6 version, requires Set polyfill.\n // let merged = new Set(a)\n // for (const element of b) {\n // \tmerged.add(i)\n // }\n // return Array.from(merged).sort((a, b) => a - b)\n}\n//# sourceMappingURL=mergeArrays.js.map","import mergeArrays from './mergeArrays.js';\nexport default function checkNumberLength(nationalNumber, metadata) {\n return checkNumberLengthForType(nationalNumber, undefined, metadata);\n} // Checks whether a number is possible for the country based on its length.\n// Should only be called for the \"new\" metadata which has \"possible lengths\".\n\nexport function checkNumberLengthForType(nationalNumber, type, metadata) {\n var type_info = metadata.type(type); // There should always be \"\" set for every type element.\n // This is declared in the XML schema.\n // For size efficiency, where a sub-description (e.g. fixed-line)\n // has the same \"\" as the \"general description\", this is missing,\n // so we fall back to the \"general description\". Where no numbers of the type\n // exist at all, there is one possible length (-1) which is guaranteed\n // not to match the length of any real phone number.\n\n var possible_lengths = type_info && type_info.possibleLengths() || metadata.possibleLengths(); // let local_lengths = type_info && type.possibleLengthsLocal() || metadata.possibleLengthsLocal()\n // Metadata before version `1.0.18` didn't contain `possible_lengths`.\n\n if (!possible_lengths) {\n return 'IS_POSSIBLE';\n }\n\n if (type === 'FIXED_LINE_OR_MOBILE') {\n // No such country in metadata.\n\n /* istanbul ignore next */\n if (!metadata.type('FIXED_LINE')) {\n // The rare case has been encountered where no fixedLine data is available\n // (true for some non-geographic entities), so we just check mobile.\n return checkNumberLengthForType(nationalNumber, 'MOBILE', metadata);\n }\n\n var mobile_type = metadata.type('MOBILE');\n\n if (mobile_type) {\n // Merge the mobile data in if there was any. \"Concat\" creates a new\n // array, it doesn't edit possible_lengths in place, so we don't need a copy.\n // Note that when adding the possible lengths from mobile, we have\n // to again check they aren't empty since if they are this indicates\n // they are the same as the general desc and should be obtained from there.\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths()); // The current list is sorted; we need to merge in the new list and\n // re-sort (duplicates are okay). Sorting isn't so expensive because\n // the lists are very small.\n // if (local_lengths) {\n // \tlocal_lengths = mergeArrays(local_lengths, mobile_type.possibleLengthsLocal())\n // } else {\n // \tlocal_lengths = mobile_type.possibleLengthsLocal()\n // }\n }\n } // If the type doesn't exist then return 'INVALID_LENGTH'.\n else if (type && !type_info) {\n return 'INVALID_LENGTH';\n }\n\n var actual_length = nationalNumber.length; // In `libphonenumber-js` all \"local-only\" formats are dropped for simplicity.\n // // This is safe because there is never an overlap beween the possible lengths\n // // and the local-only lengths; this is checked at build time.\n // if (local_lengths && local_lengths.indexOf(nationalNumber.length) >= 0)\n // {\n // \treturn 'IS_POSSIBLE_LOCAL_ONLY'\n // }\n\n var minimum_length = possible_lengths[0];\n\n if (minimum_length === actual_length) {\n return 'IS_POSSIBLE';\n }\n\n if (minimum_length > actual_length) {\n return 'TOO_SHORT';\n }\n\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return 'TOO_LONG';\n } // We skip the first element since we've already checked it.\n\n\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? 'IS_POSSIBLE' : 'INVALID_LENGTH';\n}\n//# sourceMappingURL=checkNumberLength.js.map","import Metadata from './metadata.js';\nimport checkNumberLength from './helpers/checkNumberLength.js';\n/**\r\n * Checks if a phone number is \"possible\" (basically just checks its length).\r\n *\r\n * isPossible(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function isPossiblePhoneNumber(input, options, metadata) {\n /* istanbul ignore if */\n if (options === undefined) {\n options = {};\n }\n\n metadata = new Metadata(metadata);\n\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n\n if (input.country) {\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error('Invalid phone number object passed');\n }\n\n metadata.selectNumberingPlan(input.countryCallingCode);\n }\n } // Old metadata (< 1.0.18) had no \"possible length\" data.\n\n\n if (metadata.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata);\n } else {\n // There was a bug between `1.7.35` and `1.7.37` where \"possible_lengths\"\n // were missing for \"non-geographical\" numbering plans.\n // Just assume the number is possible in such cases:\n // it's unlikely that anyone generated their custom metadata\n // in that short period of time (one day).\n // This code can be removed in some future major version update.\n if (input.countryCallingCode && metadata.isNonGeographicCallingCode(input.countryCallingCode)) {\n // \"Non-geographic entities\" did't have `possibleLengths`\n // due to a bug in metadata generation process.\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nexport function isPossibleNumber(nationalNumber, metadata) {\n //, isInternational) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'IS_POSSIBLE':\n return true;\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n // \treturn !isInternational\n\n default:\n return false;\n }\n}\n//# sourceMappingURL=isPossible.js.map","/**\r\n * Checks whether the entire input sequence can be matched\r\n * against the regular expression.\r\n * @return {boolean}\r\n */\nexport default function matchesEntirely(text, regular_expression) {\n // If assigning the `''` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n text = text || '';\n return new RegExp('^(?:' + regular_expression + ')$').test(text);\n}\n//# sourceMappingURL=matchesEntirely.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nvar NON_FIXED_LINE_PHONE_TYPES = ['MOBILE', 'PREMIUM_RATE', 'TOLL_FREE', 'SHARED_COST', 'VOIP', 'PERSONAL_NUMBER', 'PAGER', 'UAN', 'VOICEMAIL']; // Finds out national phone number type (fixed line, mobile, etc)\n\nexport default function getNumberType(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {}; // When `parse()` returns an empty object — `{}` —\n // that means that the phone number is malformed,\n // so it can't possibly be valid.\n\n if (!input.country && !input.countryCallingCode) {\n return;\n }\n\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // The following is copy-pasted from the original function:\n // https://github.com/googlei18n/libphonenumber/blob/3ea547d4fbaa2d0b67588904dfa5d3f2557c27ff/javascript/i18n/phonenumbers/phonenumberutil.js#L2835\n // Is this national number even valid for this country\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern())) {\n return;\n } // Is it fixed line number\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'FIXED_LINE', metadata)) {\n // Because duplicate regular expressions are removed\n // to reduce metadata size, if \"mobile\" pattern is \"\"\n // then it means it was removed due to being a duplicate of the fixed-line pattern.\n //\n if (metadata.type('MOBILE') && metadata.type('MOBILE').pattern() === '') {\n return 'FIXED_LINE_OR_MOBILE';\n } // `MOBILE` type pattern isn't included if it matched `FIXED_LINE` one.\n // For example, for \"US\" country.\n // Old metadata (< `1.0.18`) had a specific \"types\" data structure\n // that happened to be `undefined` for `MOBILE` in that case.\n // Newer metadata (>= `1.0.18`) has another data structure that is\n // not `undefined` for `MOBILE` in that case (it's just an empty array).\n // So this `if` is just for backwards compatibility with old metadata.\n\n\n if (!metadata.type('MOBILE')) {\n return 'FIXED_LINE_OR_MOBILE';\n } // Check if the number happens to qualify as both fixed line and mobile.\n // (no such country in the minimal metadata set)\n\n /* istanbul ignore if */\n\n\n if (isNumberTypeEqualTo(nationalNumber, 'MOBILE', metadata)) {\n return 'FIXED_LINE_OR_MOBILE';\n }\n\n return 'FIXED_LINE';\n }\n\n for (var _iterator = _createForOfIteratorHelperLoose(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done;) {\n var type = _step.value;\n\n if (isNumberTypeEqualTo(nationalNumber, type, metadata)) {\n return type;\n }\n }\n}\nexport function isNumberTypeEqualTo(nationalNumber, type, metadata) {\n type = metadata.type(type);\n\n if (!type || !type.pattern()) {\n return false;\n } // Check if any possible number lengths are present;\n // if so, we use them to avoid checking\n // the validation pattern if they don't match.\n // If they are absent, this means they match\n // the general description, which we have\n // already checked before a specific number type.\n\n\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n\n return matchesEntirely(nationalNumber, type.pattern());\n}\n//# sourceMappingURL=getNumberType.js.map","// The minimum length of the national significant number.\nexport var MIN_LENGTH_FOR_NSN = 2; // The ITU says the maximum length should be 15,\n// but one can find longer numbers in Germany.\n\nexport var MAX_LENGTH_FOR_NSN = 17; // The maximum length of the country calling code.\n\nexport var MAX_LENGTH_COUNTRY_CODE = 3; // Digits accepted in phone numbers\n// (ascii, fullwidth, arabic-indic, and eastern arabic digits).\n\nexport var VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\"; // `DASHES` will be right after the opening square bracket of the \"character class\"\n\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nexport var WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\"; // export const OPENING_BRACKETS = '(\\uFF08\\uFF3B\\\\\\['\n\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\"; // Regular expression of acceptable punctuation found in phone numbers. This\n// excludes punctuation found as a leading character only. This consists of dash\n// characters, white space characters, full stops, slashes, square brackets,\n// parentheses and tildes. Full-width variants are also present.\n\nexport var VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nexport var PLUS_CHARS = \"+\\uFF0B\"; // const LEADING_PLUS_CHARS_PATTERN = new RegExp('^[' + PLUS_CHARS + ']+')\n//# sourceMappingURL=constants.js.map","import { VALID_PUNCTUATION } from '../constants.js'; // Removes brackets and replaces dashes with spaces.\n//\n// E.g. \"(999) 111-22-33\" -> \"999 111 22 33\"\n//\n// For some reason Google's metadata contains ``s with brackets and dashes.\n// Meanwhile, there's no single opinion about using punctuation in international phone numbers.\n//\n// For example, Google's `` for USA is `+1 213-373-4253`.\n// And here's a quote from WikiPedia's \"North American Numbering Plan\" page:\n// https://en.wikipedia.org/wiki/North_American_Numbering_Plan\n//\n// \"The country calling code for all countries participating in the NANP is 1.\n// In international format, an NANP number should be listed as +1 301 555 01 00,\n// where 301 is an area code (Maryland).\"\n//\n// I personally prefer the international format without any punctuation.\n// For example, brackets are remnants of the old age, meaning that the\n// phone number part in brackets (so called \"area code\") can be omitted\n// if dialing within the same \"area\".\n// And hyphens were clearly introduced for splitting local numbers into memorizable groups.\n// For example, remembering \"5553535\" is difficult but \"555-35-35\" is much simpler.\n// Imagine a man taking a bus from home to work and seeing an ad with a phone number.\n// He has a couple of seconds to memorize that number until it passes by.\n// If it were spaces instead of hyphens the man wouldn't necessarily get it,\n// but with hyphens instead of spaces the grouping is more explicit.\n// I personally think that hyphens introduce visual clutter,\n// so I prefer replacing them with spaces in international numbers.\n// In the modern age all output is done on displays where spaces are clearly distinguishable\n// so hyphens can be safely replaced with spaces without losing any legibility.\n//\n\nexport default function applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), 'g'), ' ').trim();\n}\n//# sourceMappingURL=applyInternationalSeparatorStyle.js.map","import applyInternationalSeparatorStyle from './applyInternationalSeparatorStyle.js'; // This was originally set to $1 but there are some countries for which the\n// first group is not used in the national pattern (e.g. Argentina) so the $1\n// group does not match correctly. Therefore, we use `\\d`, so that the first\n// group actually used in the pattern will be matched.\n\nexport var FIRST_GROUP_PATTERN = /(\\$\\d)/;\nexport default function formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat,\n withNationalPrefix = _ref.withNationalPrefix,\n carrierCode = _ref.carrierCode,\n metadata = _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : // This library doesn't use `domestic_carrier_code_formatting_rule`,\n // because that one is only used when formatting phone numbers\n // for dialing from a mobile phone, and this is not a dialing library.\n // carrierCode && format.domesticCarrierCodeFormattingRule()\n // \t// First, replace the $CC in the formatting rule with the desired carrier code.\n // \t// Then, replace the $FG in the formatting rule with the first group\n // \t// and the carrier code combined in the appropriate way.\n // \t? format.format().replace(FIRST_GROUP_PATTERN, format.domesticCarrierCodeFormattingRule().replace('$CC', carrierCode))\n // \t: (\n // \t\twithNationalPrefix && format.nationalPrefixFormattingRule()\n // \t\t\t? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule())\n // \t\t\t: format.format()\n // \t)\n withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n\n return formattedNumber;\n}\n//# sourceMappingURL=formatNationalNumberUsingFormat.js.map","import Metadata from '../metadata.js';\n/**\r\n * Pattern that makes it easy to distinguish whether a region has a single\r\n * international dialing prefix or not. If a region has a single international\r\n * prefix (e.g. 011 in USA), it will be represented as a string that contains\r\n * a sequence of ASCII digits, and possibly a tilde, which signals waiting for\r\n * the tone. If there are multiple available international prefixes in a\r\n * region, they will be represented as a regex string that always contains one\r\n * or more characters that are not ASCII digits or a tilde.\r\n */\n\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/; // For regions that have multiple IDD prefixes\n// a preferred IDD prefix is returned.\n\nexport default function getIddPrefix(country, callingCode, metadata) {\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\n//# sourceMappingURL=getIddPrefix.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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 ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// This is a port of Google Android `libphonenumber`'s\n// `phonenumberutil.js` of December 31th, 2018.\n//\n// https://github.com/googlei18n/libphonenumber/commits/master/javascript/i18n/phonenumbers/phonenumberutil.js\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nimport Metadata, { getCountryCallingCode } from './metadata.js';\nimport getIddPrefix from './helpers/getIddPrefix.js';\nimport { formatRFC3966 } from './helpers/RFC3966.js';\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata) {\n return \"\".concat(formattedNumber).concat(metadata.ext()).concat(extension);\n }\n};\n/**\r\n * Formats a phone number.\r\n *\r\n * format(phoneNumberInstance, 'INTERNATIONAL', { ..., v2: true }, metadata)\r\n * format(phoneNumberInstance, 'NATIONAL', { ..., v2: true }, metadata)\r\n *\r\n * format({ phone: '8005553535', country: 'RU' }, 'INTERNATIONAL', { ... }, metadata)\r\n * format({ phone: '8005553535', country: 'RU' }, 'NATIONAL', undefined, metadata)\r\n *\r\n * @param {object|PhoneNumber} input — If `options.v2: true` flag is passed, the `input` should be a `PhoneNumber` instance. Otherwise, it should be an object of shape `{ phone: '...', country: '...' }`.\r\n * @param {string} format\r\n * @param {object} [options]\r\n * @param {object} metadata\r\n * @return {string}\r\n */\n\nexport default function formatNumber(input, format, options, metadata) {\n // Apply default options.\n if (options) {\n options = _objectSpread(_objectSpread({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n\n metadata = new Metadata(metadata);\n\n if (input.country && input.country !== '001') {\n // Validate `input.country`.\n if (!metadata.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n\n metadata.country(input.country);\n } else if (input.countryCallingCode) {\n metadata.selectNumberingPlan(input.countryCallingCode);\n } else return input.phone || '';\n\n var countryCallingCode = metadata.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone; // This variable should have been declared inside `case`s\n // but Babel has a bug and it says \"duplicate variable declaration\".\n\n var number;\n\n switch (format) {\n case 'NATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return '';\n }\n\n number = formatNationalNumber(nationalNumber, input.carrierCode, 'NATIONAL', metadata, options);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'INTERNATIONAL':\n // Legacy argument support.\n // (`{ country: ..., phone: '' }`)\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n\n number = formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata, options.formatExtension);\n\n case 'E.164':\n // `E.164` doesn't define \"phone number extensions\".\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n\n case 'RFC3966':\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n // For reference, here's Google's IDD formatter:\n // https://github.com/google/libphonenumber/blob/32719cf74e68796788d1ca45abc85dcdc63ba5b9/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L1546\n // Not saying that this IDD formatter replicates it 1:1, but it seems to work.\n // Who would even need to format phone numbers in IDD format anyway?\n\n case 'IDD':\n if (!options.fromCountry) {\n return; // throw new Error('`fromCountry` option not passed for IDD-prefixed formatting.')\n }\n\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata);\n return addExtension(formattedNumber, input.ext, metadata, options.formatExtension);\n\n default:\n throw new Error(\"Unknown \\\"format\\\" argument passed to \\\"formatNumber()\\\": \\\"\".concat(format, \"\\\"\"));\n }\n}\n\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata, options) {\n var format = chooseFormatForNumber(metadata.formats(), number);\n\n if (!format) {\n return number;\n }\n\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === 'INTERNATIONAL',\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode: carrierCode,\n metadata: metadata\n });\n}\n\nexport function chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose(availableFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n\n // Validate leading digits.\n // The test case for \"else path\" could be found by searching for\n // \"format.leadingDigitsPatterns().length === 0\".\n if (format.leadingDigitsPatterns().length > 0) {\n // The last leading_digits_pattern is used here, as it is the most detailed\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1]; // If leading digits don't match then move on to the next phone number format\n\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n } // Check that the national number matches the phone number format regular expression\n\n\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\n\nfunction addExtension(formattedNumber, ext, metadata, formatExtension) {\n return ext ? formatExtension(formattedNumber, ext, metadata) : formattedNumber;\n}\n\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata.metadata); // When calling within the same country calling code.\n\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, 'NATIONAL', metadata); // For NANPA regions, return the national format for these regions\n // but prefix it with the country calling code.\n\n if (countryCallingCode === '1') {\n return countryCallingCode + ' ' + formattedNumber;\n } // If regions share a country calling code, the country calling code need\n // not be dialled. This also applies when dialling within a region, so this\n // if clause covers both these cases. Technically this is the case for\n // dialling from La Reunion to other overseas departments of France (French\n // Guiana, Martinique, Guadeloupe), but not vice versa - so we don't cover\n // this edge case for now and for those cases return the version including\n // country calling code. Details here:\n // http://www.petitfute.com/voyage/225-info-pratiques-reunion\n //\n\n\n return formattedNumber;\n }\n\n var iddPrefix = getIddPrefix(fromCountry, undefined, metadata.metadata);\n\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, 'INTERNATIONAL', metadata));\n }\n}\n//# sourceMappingURL=format.js.map","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\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 isPossibleNumber from './isPossible.js';\nimport isValidNumber from './isValid.js'; // import checkNumberLength from './helpers/checkNumberLength.js'\n\nimport getNumberType from './helpers/getNumberType.js';\nimport getPossibleCountriesForNumber from './helpers/getPossibleCountriesForNumber.js';\nimport formatNumber from './format.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\n\nvar PhoneNumber = /*#__PURE__*/function () {\n /**\r\n * @param {string} countryOrCountryCallingCode\r\n * @param {string} nationalNumber\r\n * @param {object} metadata — Metadata JSON\r\n * @return {PhoneNumber}\r\n */\n function PhoneNumber(countryOrCountryCallingCode, nationalNumber, metadata) {\n _classCallCheck(this, PhoneNumber);\n\n if (!countryOrCountryCallingCode) {\n throw new TypeError('`country` or `countryCallingCode` not passed');\n }\n\n if (!nationalNumber) {\n throw new TypeError('`nationalNumber` not passed');\n }\n\n if (!metadata) {\n throw new TypeError('`metadata` not passed');\n }\n\n var _getCountryAndCountry = getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadata),\n country = _getCountryAndCountry.country,\n countryCallingCode = _getCountryAndCountry.countryCallingCode;\n\n this.country = country;\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = '+' + this.countryCallingCode + this.nationalNumber; // Exclude `metadata` property output from `PhoneNumber.toString()`\n // so that it doesn't clutter the console output of Node.js.\n // Previously, when Node.js did `console.log(new PhoneNumber(...))`,\n // it would output the whole internal structure of the `metadata` object.\n\n this.getMetadata = function () {\n return metadata;\n };\n }\n\n _createClass(PhoneNumber, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"getPossibleCountries\",\n value: function getPossibleCountries() {\n if (this.country) {\n return [this.country];\n }\n\n return getPossibleCountriesForNumber(this.countryCallingCode, this.nationalNumber, this.getMetadata());\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossibleNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata = new Metadata(this.getMetadata());\n return metadata.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n } // This function was originally meant to be an equivalent for `validatePhoneNumberLength()`,\n // but later it was found out that it doesn't include the possible `TOO_SHORT` result\n // returned from `parsePhoneNumberWithError()` in the original `validatePhoneNumberLength()`,\n // so eventually I simply commented out this method from the `PhoneNumber` class\n // and just left the `validatePhoneNumberLength()` function, even though that one would require\n // and additional step to also validate the actual country / calling code of the phone number.\n // validateLength() {\n // \tconst metadata = new Metadata(this.getMetadata())\n // \tmetadata.selectNumberingPlan(this.countryCallingCode)\n // \tconst result = checkNumberLength(this.nationalNumber, metadata)\n // \tif (result !== 'IS_POSSIBLE') {\n // \t\treturn result\n // \t}\n // }\n\n }, {\n key: \"getType\",\n value: function getType() {\n return getNumberType(this, {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread(_objectSpread({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.getMetadata());\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format('NATIONAL', options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format('INTERNATIONAL', options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format('RFC3966', options);\n }\n }]);\n\n return PhoneNumber;\n}();\n\nexport { PhoneNumber as default };\n\nvar isCountryCode = function isCountryCode(value) {\n return /^[A-Z]{2}$/.test(value);\n};\n\nfunction getCountryAndCountryCallingCode(countryOrCountryCallingCode, metadataJson) {\n var country;\n var countryCallingCode;\n var metadata = new Metadata(metadataJson); // If country code is passed then derive `countryCallingCode` from it.\n // Also store the country code as `.country`.\n\n if (isCountryCode(countryOrCountryCallingCode)) {\n country = countryOrCountryCallingCode;\n metadata.selectNumberingPlan(country);\n countryCallingCode = metadata.countryCallingCode();\n } else {\n countryCallingCode = countryOrCountryCallingCode;\n /* istanbul ignore if */\n\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(countryCallingCode)) {\n country = '001';\n }\n }\n }\n\n return {\n country: country,\n countryCallingCode: countryCallingCode\n };\n}\n//# sourceMappingURL=PhoneNumber.js.map","import Metadata from '../metadata.js';\n/**\r\n * Returns a list of countries that the phone number could potentially belong to.\r\n * @param {string} callingCode — Calling code.\r\n * @param {string} nationalNumber — National (significant) number.\r\n * @param {object} metadata — Metadata.\r\n * @return {string[]} A list of possible countries.\r\n */\n\nexport default function getPossibleCountriesForNumber(callingCode, nationalNumber, metadata) {\n var _metadata = new Metadata(metadata);\n\n var possibleCountries = _metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return [];\n }\n\n return possibleCountries.filter(function (country) {\n return couldNationalNumberBelongToCountry(nationalNumber, country, metadata);\n });\n}\n\nfunction couldNationalNumberBelongToCountry(nationalNumber, country, metadata) {\n var _metadata = new Metadata(metadata);\n\n _metadata.selectNumberingPlan(country);\n\n if (_metadata.numberingPlan.possibleLengths().indexOf(nationalNumber.length) >= 0) {\n return true;\n }\n\n return false;\n}\n//# sourceMappingURL=getPossibleCountriesForNumber.js.map","import Metadata from './metadata.js';\nimport matchesEntirely from './helpers/matchesEntirely.js';\nimport getNumberType from './helpers/getNumberType.js';\n/**\r\n * Checks if a given phone number is valid.\r\n *\r\n * isValid(phoneNumberInstance, { ..., v2: true }, metadata)\r\n *\r\n * isPossible({ phone: '8005553535', country: 'RU' }, { ... }, metadata)\r\n * isPossible({ phone: '8005553535', country: 'RU' }, undefined, metadata)\r\n *\r\n * If the `number` is a string, it will be parsed to an object,\r\n * but only if it contains only valid phone number characters (including punctuation).\r\n * If the `number` is an object, it is used as is.\r\n *\r\n * The optional `defaultCountry` argument is the default country.\r\n * I.e. it does not restrict to just that country,\r\n * e.g. in those cases where several countries share\r\n * the same phone numbering rules (NANPA, Britain, etc).\r\n * For example, even though the number `07624 369230`\r\n * belongs to the Isle of Man (\"IM\" country code)\r\n * calling `isValidNumber('07624369230', 'GB', metadata)`\r\n * still returns `true` because the country is not restricted to `GB`,\r\n * it's just that `GB` is the default one for the phone numbering rules.\r\n * For restricting the country see `isValidNumberForRegion()`\r\n * though restricting a country might not be a good idea.\r\n * https://github.com/googlei18n/libphonenumber/blob/master/FAQ.md#when-should-i-use-isvalidnumberforregion\r\n *\r\n * Examples:\r\n *\r\n * ```js\r\n * isValidNumber('+78005553535', metadata)\r\n * isValidNumber('8005553535', 'RU', metadata)\r\n * isValidNumber('88005553535', 'RU', metadata)\r\n * isValidNumber({ phone: '8005553535', country: 'RU' }, metadata)\r\n * ```\r\n */\n\nexport default function isValidNumber(input, options, metadata) {\n // If assigning the `{}` default value is moved to the arguments above,\n // code coverage would decrease for some weird reason.\n options = options || {};\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(input.country, input.countryCallingCode); // By default, countries only have type regexps when it's required for\n // distinguishing different countries having the same `countryCallingCode`.\n\n if (metadata.hasTypes()) {\n return getNumberType(input, options, metadata.metadata) !== undefined;\n } // If there are no type regexps for this country in metadata then use\n // `nationalNumberPattern` as a \"better than nothing\" replacement.\n\n\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(nationalNumber, metadata.nationalNumberPattern());\n}\n//# sourceMappingURL=isValid.js.map","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 _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 _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport isViablePhoneNumber from './isViablePhoneNumber.js'; // https://www.ietf.org/rfc/rfc3966.txt\n\n/**\r\n * @param {string} text - Phone URI (RFC 3966).\r\n * @return {object} `{ ?number, ?ext }`.\r\n */\n\nexport function parseRFC3966(text) {\n var number;\n var ext; // Replace \"tel:\" with \"tel=\" for parsing convenience.\n\n text = text.replace(/^tel:/, 'tel=');\n\n for (var _iterator = _createForOfIteratorHelperLoose(text.split(';')), _step; !(_step = _iterator()).done;) {\n var part = _step.value;\n\n var _part$split = part.split('='),\n _part$split2 = _slicedToArray(_part$split, 2),\n name = _part$split2[0],\n value = _part$split2[1];\n\n switch (name) {\n case 'tel':\n number = value;\n break;\n\n case 'ext':\n ext = value;\n break;\n\n case 'phone-context':\n // Only \"country contexts\" are supported.\n // \"Domain contexts\" are ignored.\n if (value[0] === '+') {\n number = value + number;\n }\n\n break;\n }\n } // If the phone number is not viable, then abort.\n\n\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n\n var result = {\n number: number\n };\n\n if (ext) {\n result.ext = ext;\n }\n\n return result;\n}\n/**\r\n * @param {object} - `{ ?number, ?extension }`.\r\n * @return {string} Phone URI (RFC 3966).\r\n */\n\nexport function formatRFC3966(_ref) {\n var number = _ref.number,\n ext = _ref.ext;\n\n if (!number) {\n return '';\n }\n\n if (number[0] !== '+') {\n throw new Error(\"\\\"formatRFC3966()\\\" expects \\\"number\\\" to be in E.164 format.\");\n }\n\n return \"tel:\".concat(number).concat(ext ? ';ext=' + ext : '');\n}\n//# sourceMappingURL=RFC3966.js.map","function _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\n// This \"state\" object simply holds the state of the \"AsYouType\" parser:\n//\n// * `country?: string`\n// * `callingCode?: string`\n// * `digits: string`\n// * `international: boolean`\n// * `missingPlus: boolean`\n// * `IDDPrefix?: string`\n// * `carrierCode?: string`\n// * `nationalPrefix?: string`\n// * `nationalSignificantNumber?: string`\n// * `nationalSignificantNumberMatchesInput: boolean`\n// * `complexPrefixBeforeNationalSignificantNumber?: string`\n//\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//\nvar AsYouTypeState = /*#__PURE__*/function () {\n function AsYouTypeState(_ref) {\n var onCountryChange = _ref.onCountryChange,\n onCallingCodeChange = _ref.onCallingCodeChange;\n\n _classCallCheck(this, AsYouTypeState);\n\n this.onCountryChange = onCountryChange;\n this.onCallingCodeChange = onCallingCodeChange;\n }\n\n _createClass(AsYouTypeState, [{\n key: \"reset\",\n value: function reset(_ref2) {\n var country = _ref2.country,\n callingCode = _ref2.callingCode;\n this.international = false;\n this.missingPlus = false;\n this.IDDPrefix = undefined;\n this.callingCode = undefined;\n this.digits = '';\n this.resetNationalSignificantNumber();\n this.initCountryAndCallingCode(country, callingCode);\n }\n }, {\n key: \"resetNationalSignificantNumber\",\n value: function resetNationalSignificantNumber() {\n this.nationalSignificantNumber = this.getNationalDigits();\n this.nationalSignificantNumberMatchesInput = true;\n this.nationalPrefix = undefined;\n this.carrierCode = undefined;\n this.complexPrefixBeforeNationalSignificantNumber = undefined;\n }\n }, {\n key: \"update\",\n value: function update(properties) {\n for (var _i = 0, _Object$keys = Object.keys(properties); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n this[key] = properties[key];\n }\n }\n }, {\n key: \"initCountryAndCallingCode\",\n value: function initCountryAndCallingCode(country, callingCode) {\n this.setCountry(country);\n this.setCallingCode(callingCode);\n }\n }, {\n key: \"setCountry\",\n value: function setCountry(country) {\n this.country = country;\n this.onCountryChange(country);\n }\n }, {\n key: \"setCallingCode\",\n value: function setCallingCode(callingCode) {\n this.callingCode = callingCode;\n this.onCallingCodeChange(callingCode, this.country);\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(country, callingCode) {\n // Prepend the `+` to parsed input.\n this.international = true; // If a default country was set then reset it\n // because an explicitly international phone\n // number is being entered.\n\n this.initCountryAndCallingCode(country, callingCode);\n }\n }, {\n key: \"appendDigits\",\n value: function appendDigits(nextDigits) {\n this.digits += nextDigits;\n }\n }, {\n key: \"appendNationalSignificantNumberDigits\",\n value: function appendNationalSignificantNumberDigits(nextDigits) {\n this.nationalSignificantNumber += nextDigits;\n }\n /**\r\n * Returns the part of `this.digits` that corresponds to the national number.\r\n * Basically, all digits that have been input by the user, except for the\r\n * international prefix and the country calling code part\r\n * (if the number is an international one).\r\n * @return {string}\r\n */\n\n }, {\n key: \"getNationalDigits\",\n value: function getNationalDigits() {\n if (this.international) {\n return this.digits.slice((this.IDDPrefix ? this.IDDPrefix.length : 0) + (this.callingCode ? this.callingCode.length : 0));\n }\n\n return this.digits;\n }\n }, {\n key: \"getDigitsWithoutInternationalPrefix\",\n value: function getDigitsWithoutInternationalPrefix() {\n if (this.international) {\n if (this.IDDPrefix) {\n return this.digits.slice(this.IDDPrefix.length);\n }\n }\n\n return this.digits;\n }\n }]);\n\n return AsYouTypeState;\n}();\n\nexport { AsYouTypeState as default };\n//# sourceMappingURL=AsYouTypeState.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\n// Should be the same as `DIGIT_PLACEHOLDER` in `libphonenumber-metadata-generator`.\nexport var DIGIT_PLACEHOLDER = 'x'; // '\\u2008' (punctuation space)\n\nvar DIGIT_PLACEHOLDER_MATCHER = new RegExp(DIGIT_PLACEHOLDER); // Counts all occurences of a symbol in a string.\n// Unicode-unsafe (because using `.split()`).\n\nexport function countOccurences(symbol, string) {\n var count = 0; // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for counting brackets it is safe.\n // for (const character of string)\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n\n if (character === symbol) {\n count++;\n }\n }\n\n return count;\n} // Repeats a string (or a symbol) N times.\n// http://stackoverflow.com/questions/202605/repeat-string-javascript\n\nexport function repeat(string, times) {\n if (times < 1) {\n return '';\n }\n\n var result = '';\n\n while (times > 1) {\n if (times & 1) {\n result += string;\n }\n\n times >>= 1;\n string += string;\n }\n\n return result + string;\n}\nexport function cutAndStripNonPairedParens(string, cutBeforeIndex) {\n if (string[cutBeforeIndex] === ')') {\n cutBeforeIndex++;\n }\n\n return stripNonPairedParens(string.slice(0, cutBeforeIndex));\n}\nexport function closeNonPairedParens(template, cut_before) {\n var retained_template = template.slice(0, cut_before);\n var opening_braces = countOccurences('(', retained_template);\n var closing_braces = countOccurences(')', retained_template);\n var dangling_braces = opening_braces - closing_braces;\n\n while (dangling_braces > 0 && cut_before < template.length) {\n if (template[cut_before] === ')') {\n dangling_braces--;\n }\n\n cut_before++;\n }\n\n return template.slice(0, cut_before);\n}\nexport function stripNonPairedParens(string) {\n var dangling_braces = [];\n var i = 0;\n\n while (i < string.length) {\n if (string[i] === '(') {\n dangling_braces.push(i);\n } else if (string[i] === ')') {\n dangling_braces.pop();\n }\n\n i++;\n }\n\n var start = 0;\n var cleared_string = '';\n dangling_braces.push(string.length);\n\n for (var _i = 0, _dangling_braces = dangling_braces; _i < _dangling_braces.length; _i++) {\n var index = _dangling_braces[_i];\n cleared_string += string.slice(start, index);\n start = index + 1;\n }\n\n return cleared_string;\n}\nexport function populateTemplateWithDigits(template, position, digits) {\n // Using `.split('')` to iterate through a string here\n // to avoid requiring `Symbol.iterator` polyfill.\n // `.split('')` is generally not safe for Unicode,\n // but in this particular case for `digits` it is safe.\n // for (const digit of digits)\n for (var _iterator2 = _createForOfIteratorHelperLoose(digits.split('')), _step2; !(_step2 = _iterator2()).done;) {\n var digit = _step2.value;\n\n // If there is room for more digits in current `template`,\n // then set the next digit in the `template`,\n // and return the formatted digits so far.\n // If more digits are entered than the current format could handle.\n if (template.slice(position + 1).search(DIGIT_PLACEHOLDER_MATCHER) < 0) {\n return;\n }\n\n position = template.search(DIGIT_PLACEHOLDER_MATCHER);\n template = template.replace(DIGIT_PLACEHOLDER_MATCHER, digit);\n }\n\n return [template, position];\n}\n//# sourceMappingURL=AsYouTypeFormatter.util.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\n// These mappings map a character (key) to a specific digit that should\n// replace it for normalization purposes. Non-European digits that\n// may be used in phone numbers are mapped to a European equivalent.\n//\n// E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\n//\nexport var DIGITS = {\n '0': '0',\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n \"\\uFF10\": '0',\n // Fullwidth digit 0\n \"\\uFF11\": '1',\n // Fullwidth digit 1\n \"\\uFF12\": '2',\n // Fullwidth digit 2\n \"\\uFF13\": '3',\n // Fullwidth digit 3\n \"\\uFF14\": '4',\n // Fullwidth digit 4\n \"\\uFF15\": '5',\n // Fullwidth digit 5\n \"\\uFF16\": '6',\n // Fullwidth digit 6\n \"\\uFF17\": '7',\n // Fullwidth digit 7\n \"\\uFF18\": '8',\n // Fullwidth digit 8\n \"\\uFF19\": '9',\n // Fullwidth digit 9\n \"\\u0660\": '0',\n // Arabic-indic digit 0\n \"\\u0661\": '1',\n // Arabic-indic digit 1\n \"\\u0662\": '2',\n // Arabic-indic digit 2\n \"\\u0663\": '3',\n // Arabic-indic digit 3\n \"\\u0664\": '4',\n // Arabic-indic digit 4\n \"\\u0665\": '5',\n // Arabic-indic digit 5\n \"\\u0666\": '6',\n // Arabic-indic digit 6\n \"\\u0667\": '7',\n // Arabic-indic digit 7\n \"\\u0668\": '8',\n // Arabic-indic digit 8\n \"\\u0669\": '9',\n // Arabic-indic digit 9\n \"\\u06F0\": '0',\n // Eastern-Arabic digit 0\n \"\\u06F1\": '1',\n // Eastern-Arabic digit 1\n \"\\u06F2\": '2',\n // Eastern-Arabic digit 2\n \"\\u06F3\": '3',\n // Eastern-Arabic digit 3\n \"\\u06F4\": '4',\n // Eastern-Arabic digit 4\n \"\\u06F5\": '5',\n // Eastern-Arabic digit 5\n \"\\u06F6\": '6',\n // Eastern-Arabic digit 6\n \"\\u06F7\": '7',\n // Eastern-Arabic digit 7\n \"\\u06F8\": '8',\n // Eastern-Arabic digit 8\n \"\\u06F9\": '9' // Eastern-Arabic digit 9\n\n};\nexport function parseDigit(character) {\n return DIGITS[character];\n}\n/**\r\n * Parses phone number digits from a string.\r\n * Drops all punctuation leaving only digits.\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * parseDigits('8 (800) 555')\r\n * // Outputs '8800555'.\r\n * ```\r\n */\n\nexport default function parseDigits(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n var digit = parseDigit(character);\n\n if (digit) {\n result += digit;\n }\n }\n\n return result;\n}\n//# sourceMappingURL=parseDigits.js.map","import checkNumberLength from './helpers/checkNumberLength.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport formatNationalNumberUsingFormat from './helpers/formatNationalNumberUsingFormat.js';\nexport default function formatCompleteNumber(state, format, _ref) {\n var metadata = _ref.metadata,\n shouldTryNationalPrefixFormattingRule = _ref.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref.getSeparatorAfterNationalPrefix;\n var matcher = new RegExp(\"^(?:\".concat(format.pattern(), \")$\"));\n\n if (matcher.test(state.nationalSignificantNumber)) {\n return formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, {\n metadata: metadata,\n shouldTryNationalPrefixFormattingRule: shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix\n });\n }\n}\nexport function canFormatCompleteNumber(nationalSignificantNumber, metadata) {\n return checkNumberLength(nationalSignificantNumber, metadata) === 'IS_POSSIBLE';\n}\n\nfunction formatNationalNumberWithAndWithoutNationalPrefixFormattingRule(state, format, _ref2) {\n var metadata = _ref2.metadata,\n shouldTryNationalPrefixFormattingRule = _ref2.shouldTryNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref2.getSeparatorAfterNationalPrefix;\n // `format` has already been checked for `nationalPrefix` requirement.\n var nationalSignificantNumber = state.nationalSignificantNumber,\n international = state.international,\n nationalPrefix = state.nationalPrefix,\n carrierCode = state.carrierCode; // Format the number with using `national_prefix_formatting_rule`.\n // If the resulting formatted number is a valid formatted number, then return it.\n //\n // Google's AsYouType formatter is different in a way that it doesn't try\n // to format using the \"national prefix formatting rule\", and instead it\n // simply prepends a national prefix followed by a \" \" character.\n // This code does that too, but as a fallback.\n // The reason is that \"national prefix formatting rule\" may use parentheses,\n // which wouldn't be included has it used the simpler Google's way.\n //\n\n if (shouldTryNationalPrefixFormattingRule(format)) {\n var formattedNumber = formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: true,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n\n if (formattedNumber) {\n return formattedNumber;\n }\n } // Format the number without using `national_prefix_formatting_rule`.\n\n\n return formatNationalNumber(state, format, {\n useNationalPrefixFormattingRule: false,\n getSeparatorAfterNationalPrefix: getSeparatorAfterNationalPrefix,\n metadata: metadata\n });\n}\n\nfunction formatNationalNumber(state, format, _ref3) {\n var metadata = _ref3.metadata,\n useNationalPrefixFormattingRule = _ref3.useNationalPrefixFormattingRule,\n getSeparatorAfterNationalPrefix = _ref3.getSeparatorAfterNationalPrefix;\n var formattedNationalNumber = formatNationalNumberUsingFormat(state.nationalSignificantNumber, format, {\n carrierCode: state.carrierCode,\n useInternationalFormat: state.international,\n withNationalPrefix: useNationalPrefixFormattingRule,\n metadata: metadata\n });\n\n if (!useNationalPrefixFormattingRule) {\n if (state.nationalPrefix) {\n // If a national prefix was extracted, then just prepend it,\n // followed by a \" \" character.\n formattedNationalNumber = state.nationalPrefix + getSeparatorAfterNationalPrefix(format) + formattedNationalNumber;\n } else if (state.complexPrefixBeforeNationalSignificantNumber) {\n formattedNationalNumber = state.complexPrefixBeforeNationalSignificantNumber + ' ' + formattedNationalNumber;\n }\n }\n\n if (isValidFormattedNationalNumber(formattedNationalNumber, state)) {\n return formattedNationalNumber;\n }\n} // Check that the formatted phone number contains exactly\n// the same digits that have been input by the user.\n// For example, when \"0111523456789\" is input for `AR` country,\n// the extracted `this.nationalSignificantNumber` is \"91123456789\",\n// which means that the national part of `this.digits` isn't simply equal to\n// `this.nationalPrefix` + `this.nationalSignificantNumber`.\n//\n// Also, a `format` can add extra digits to the `this.nationalSignificantNumber`\n// being formatted via `metadata[country].national_prefix_transform_rule`.\n// For example, for `VI` country, it prepends `340` to the national number,\n// and if this check hasn't been implemented, then there would be a bug\n// when `340` \"area coude\" is \"duplicated\" during input for `VI` country:\n// https://github.com/catamphetamine/libphonenumber-js/issues/318\n//\n// So, all these \"gotchas\" are filtered out.\n//\n// In the original Google's code, the comments say:\n// \"Check that we didn't remove nor add any extra digits when we matched\n// this formatting pattern. This usually happens after we entered the last\n// digit during AYTF. Eg: In case of MX, we swallow mobile token (1) when\n// formatted but AYTF should retain all the number entered and not change\n// in order to match a format (of same leading digits and length) display\n// in that way.\"\n// \"If it's the same (i.e entered number and format is same), then it's\n// safe to return this in formatted number as nothing is lost / added.\"\n// Otherwise, don't use this format.\n// https://github.com/google/libphonenumber/commit/3e7c1f04f5e7200f87fb131e6f85c6e99d60f510#diff-9149457fa9f5d608a11bb975c6ef4bc5\n// https://github.com/google/libphonenumber/commit/3ac88c7106e7dcb553bcc794b15f19185928a1c6#diff-2dcb77e833422ee304da348b905cde0b\n//\n\n\nfunction isValidFormattedNationalNumber(formattedNationalNumber, state) {\n return parseDigits(formattedNationalNumber) === state.getNationalDigits();\n}\n//# sourceMappingURL=AsYouTypeFormatter.complete.js.map","function _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\nvar PatternParser = /*#__PURE__*/function () {\n function PatternParser() {\n _classCallCheck(this, PatternParser);\n }\n\n _createClass(PatternParser, [{\n key: \"parse\",\n value: function parse(pattern) {\n this.context = [{\n or: true,\n instructions: []\n }];\n this.parsePattern(pattern);\n\n if (this.context.length !== 1) {\n throw new Error('Non-finalized contexts left when pattern parse ended');\n }\n\n var _this$context$ = this.context[0],\n branches = _this$context$.branches,\n instructions = _this$context$.instructions;\n\n if (branches) {\n return {\n op: '|',\n args: branches.concat([expandSingleElementArray(instructions)])\n };\n }\n /* istanbul ignore if */\n\n\n if (instructions.length === 0) {\n throw new Error('Pattern is required');\n }\n\n if (instructions.length === 1) {\n return instructions[0];\n }\n\n return instructions;\n }\n }, {\n key: \"startContext\",\n value: function startContext(context) {\n this.context.push(context);\n }\n }, {\n key: \"endContext\",\n value: function endContext() {\n this.context.pop();\n }\n }, {\n key: \"getContext\",\n value: function getContext() {\n return this.context[this.context.length - 1];\n }\n }, {\n key: \"parsePattern\",\n value: function parsePattern(pattern) {\n if (!pattern) {\n throw new Error('Pattern is required');\n }\n\n var match = pattern.match(OPERATOR);\n\n if (!match) {\n if (ILLEGAL_CHARACTER_REGEXP.test(pattern)) {\n throw new Error(\"Illegal characters found in a pattern: \".concat(pattern));\n }\n\n this.getContext().instructions = this.getContext().instructions.concat(pattern.split(''));\n return;\n }\n\n var operator = match[1];\n var before = pattern.slice(0, match.index);\n var rightPart = pattern.slice(match.index + operator.length);\n\n switch (operator) {\n case '(?:':\n if (before) {\n this.parsePattern(before);\n }\n\n this.startContext({\n or: true,\n instructions: [],\n branches: []\n });\n break;\n\n case ')':\n if (!this.getContext().or) {\n throw new Error('\")\" operator must be preceded by \"(?:\" operator');\n }\n\n if (before) {\n this.parsePattern(before);\n }\n\n if (this.getContext().instructions.length === 0) {\n throw new Error('No instructions found after \"|\" operator in an \"or\" group');\n }\n\n var _this$getContext = this.getContext(),\n branches = _this$getContext.branches;\n\n branches.push(expandSingleElementArray(this.getContext().instructions));\n this.endContext();\n this.getContext().instructions.push({\n op: '|',\n args: branches\n });\n break;\n\n case '|':\n if (!this.getContext().or) {\n throw new Error('\"|\" operator can only be used inside \"or\" groups');\n }\n\n if (before) {\n this.parsePattern(before);\n } // The top-level is an implicit \"or\" group, if required.\n\n\n if (!this.getContext().branches) {\n // `branches` are not defined only for the root implicit \"or\" operator.\n\n /* istanbul ignore else */\n if (this.context.length === 1) {\n this.getContext().branches = [];\n } else {\n throw new Error('\"branches\" not found in an \"or\" group context');\n }\n }\n\n this.getContext().branches.push(expandSingleElementArray(this.getContext().instructions));\n this.getContext().instructions = [];\n break;\n\n case '[':\n if (before) {\n this.parsePattern(before);\n }\n\n this.startContext({\n oneOfSet: true\n });\n break;\n\n case ']':\n if (!this.getContext().oneOfSet) {\n throw new Error('\"]\" operator must be preceded by \"[\" operator');\n }\n\n this.endContext();\n this.getContext().instructions.push({\n op: '[]',\n args: parseOneOfSet(before)\n });\n break;\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unknown operator: \".concat(operator));\n }\n\n if (rightPart) {\n this.parsePattern(rightPart);\n }\n }\n }]);\n\n return PatternParser;\n}();\n\nexport { PatternParser as default };\n\nfunction parseOneOfSet(pattern) {\n var values = [];\n var i = 0;\n\n while (i < pattern.length) {\n if (pattern[i] === '-') {\n if (i === 0 || i === pattern.length - 1) {\n throw new Error(\"Couldn't parse a one-of set pattern: \".concat(pattern));\n }\n\n var prevValue = pattern[i - 1].charCodeAt(0) + 1;\n var nextValue = pattern[i + 1].charCodeAt(0) - 1;\n var value = prevValue;\n\n while (value <= nextValue) {\n values.push(String.fromCharCode(value));\n value++;\n }\n } else {\n values.push(pattern[i]);\n }\n\n i++;\n }\n\n return values;\n}\n\nvar ILLEGAL_CHARACTER_REGEXP = /[\\(\\)\\[\\]\\?\\:\\|]/;\nvar OPERATOR = new RegExp( // any of:\n'(' + // or operator\n'\\\\|' + // or\n'|' + // or group start\n'\\\\(\\\\?\\\\:' + // or\n'|' + // or group end\n'\\\\)' + // or\n'|' + // one-of set start\n'\\\\[' + // or\n'|' + // one-of set end\n'\\\\]' + ')');\n\nfunction expandSingleElementArray(array) {\n if (array.length === 1) {\n return array[0];\n }\n\n return array;\n}\n//# sourceMappingURL=AsYouTypeFormatter.PatternParser.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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 _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 PatternParser from './AsYouTypeFormatter.PatternParser.js';\n\nvar PatternMatcher = /*#__PURE__*/function () {\n function PatternMatcher(pattern) {\n _classCallCheck(this, PatternMatcher);\n\n this.matchTree = new PatternParser().parse(pattern);\n }\n\n _createClass(PatternMatcher, [{\n key: \"match\",\n value: function match(string) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n allowOverflow = _ref.allowOverflow;\n\n if (!string) {\n throw new Error('String is required');\n }\n\n var result = _match(string.split(''), this.matchTree, true);\n\n if (result && result.match) {\n delete result.matchedChars;\n }\n\n if (result && result.overflow) {\n if (!allowOverflow) {\n return;\n }\n }\n\n return result;\n }\n }]);\n\n return PatternMatcher;\n}();\n/**\r\n * Matches `characters` against a pattern compiled into a `tree`.\r\n * @param {string[]} characters\r\n * @param {Tree} tree — A pattern compiled into a `tree`. See the `*.d.ts` file for the description of the `tree` structure.\r\n * @param {boolean} last — Whether it's the last (rightmost) subtree on its level of the match tree.\r\n * @return {object} See the `*.d.ts` file for the description of the result object.\r\n */\n\n\nexport { PatternMatcher as default };\n\nfunction _match(characters, tree, last) {\n // If `tree` is a string, then `tree` is a single character.\n // That's because when a pattern is parsed, multi-character-string parts\n // of a pattern are compiled into arrays of single characters.\n // I still wrote this piece of code for a \"general\" hypothetical case\n // when `tree` could be a string of several characters, even though\n // such case is not possible with the current implementation.\n if (typeof tree === 'string') {\n var characterString = characters.join('');\n\n if (tree.indexOf(characterString) === 0) {\n // `tree` is always a single character.\n // If `tree.indexOf(characterString) === 0`\n // then `characters.length === tree.length`.\n\n /* istanbul ignore else */\n if (characters.length === tree.length) {\n return {\n match: true,\n matchedChars: characters\n };\n } // `tree` is always a single character.\n // If `tree.indexOf(characterString) === 0`\n // then `characters.length === tree.length`.\n\n /* istanbul ignore next */\n\n\n return {\n partialMatch: true // matchedChars: characters\n\n };\n }\n\n if (characterString.indexOf(tree) === 0) {\n if (last) {\n // The `else` path is not possible because `tree` is always a single character.\n // The `else` case for `characters.length > tree.length` would be\n // `characters.length <= tree.length` which means `characters.length <= 1`.\n // `characters` array can't be empty, so that means `characters === [tree]`,\n // which would also mean `tree.indexOf(characterString) === 0` and that'd mean\n // that the `if (tree.indexOf(characterString) === 0)` condition before this\n // `if` condition would be entered, and returned from there, not reaching this code.\n\n /* istanbul ignore else */\n if (characters.length > tree.length) {\n return {\n overflow: true\n };\n }\n }\n\n return {\n match: true,\n matchedChars: characters.slice(0, tree.length)\n };\n }\n\n return;\n }\n\n if (Array.isArray(tree)) {\n var restCharacters = characters.slice();\n var i = 0;\n\n while (i < tree.length) {\n var subtree = tree[i];\n\n var result = _match(restCharacters, subtree, last && i === tree.length - 1);\n\n if (!result) {\n return;\n } else if (result.overflow) {\n return result;\n } else if (result.match) {\n // Continue with the next subtree with the rest of the characters.\n restCharacters = restCharacters.slice(result.matchedChars.length);\n\n if (restCharacters.length === 0) {\n if (i === tree.length - 1) {\n return {\n match: true,\n matchedChars: characters\n };\n } else {\n return {\n partialMatch: true // matchedChars: characters\n\n };\n }\n }\n } else {\n /* istanbul ignore else */\n if (result.partialMatch) {\n return {\n partialMatch: true // matchedChars: characters\n\n };\n } else {\n throw new Error(\"Unsupported match result:\\n\".concat(JSON.stringify(result, null, 2)));\n }\n }\n\n i++;\n } // If `last` then overflow has already been checked\n // by the last element of the `tree` array.\n\n /* istanbul ignore if */\n\n\n if (last) {\n return {\n overflow: true\n };\n }\n\n return {\n match: true,\n matchedChars: characters.slice(0, characters.length - restCharacters.length)\n };\n }\n\n switch (tree.op) {\n case '|':\n var partialMatch;\n\n for (var _iterator = _createForOfIteratorHelperLoose(tree.args), _step; !(_step = _iterator()).done;) {\n var branch = _step.value;\n\n var _result = _match(characters, branch, last);\n\n if (_result) {\n if (_result.overflow) {\n return _result;\n } else if (_result.match) {\n return {\n match: true,\n matchedChars: _result.matchedChars\n };\n } else {\n /* istanbul ignore else */\n if (_result.partialMatch) {\n partialMatch = true;\n } else {\n throw new Error(\"Unsupported match result:\\n\".concat(JSON.stringify(_result, null, 2)));\n }\n }\n }\n }\n\n if (partialMatch) {\n return {\n partialMatch: true // matchedChars: ...\n\n };\n } // Not even a partial match.\n\n\n return;\n\n case '[]':\n for (var _iterator2 = _createForOfIteratorHelperLoose(tree.args), _step2; !(_step2 = _iterator2()).done;) {\n var _char = _step2.value;\n\n if (characters[0] === _char) {\n if (characters.length === 1) {\n return {\n match: true,\n matchedChars: characters\n };\n }\n\n if (last) {\n return {\n overflow: true\n };\n }\n\n return {\n match: true,\n matchedChars: [_char]\n };\n }\n } // No character matches.\n\n\n return;\n\n /* istanbul ignore next */\n\n default:\n throw new Error(\"Unsupported instruction tree: \".concat(tree));\n }\n}\n//# sourceMappingURL=AsYouTypeFormatter.PatternMatcher.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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 _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 { DIGIT_PLACEHOLDER, countOccurences, repeat, cutAndStripNonPairedParens, closeNonPairedParens, stripNonPairedParens, populateTemplateWithDigits } from './AsYouTypeFormatter.util.js';\nimport formatCompleteNumber, { canFormatCompleteNumber } from './AsYouTypeFormatter.complete.js';\nimport PatternMatcher from './AsYouTypeFormatter.PatternMatcher.js';\nimport parseDigits from './helpers/parseDigits.js';\nexport { DIGIT_PLACEHOLDER } from './AsYouTypeFormatter.util.js';\nimport { FIRST_GROUP_PATTERN } from './helpers/formatNationalNumberUsingFormat.js';\nimport { VALID_PUNCTUATION } from './constants.js';\nimport applyInternationalSeparatorStyle from './helpers/applyInternationalSeparatorStyle.js'; // Used in phone number format template creation.\n// Could be any digit, I guess.\n\nvar DUMMY_DIGIT = '9'; // I don't know why is it exactly `15`\n\nvar LONGEST_NATIONAL_PHONE_NUMBER_LENGTH = 15; // Create a phone number consisting only of the digit 9 that matches the\n// `number_pattern` by applying the pattern to the \"longest phone number\" string.\n\nvar LONGEST_DUMMY_PHONE_NUMBER = repeat(DUMMY_DIGIT, LONGEST_NATIONAL_PHONE_NUMBER_LENGTH); // A set of characters that, if found in a national prefix formatting rules, are an indicator to\n// us that we should separate the national prefix from the number when formatting.\n\nvar NATIONAL_PREFIX_SEPARATORS_PATTERN = /[- ]/; // Deprecated: Google has removed some formatting pattern related code from their repo.\n// https://github.com/googlei18n/libphonenumber/commit/a395b4fef3caf57c4bc5f082e1152a4d2bd0ba4c\n// \"We no longer have numbers in formatting matching patterns, only \\d.\"\n// Because this library supports generating custom metadata\n// some users may still be using old metadata so the relevant\n// code seems to stay until some next major version update.\n\nvar SUPPORT_LEGACY_FORMATTING_PATTERNS = true; // A pattern that is used to match character classes in regular expressions.\n// An example of a character class is \"[1-4]\".\n\nvar CREATE_CHARACTER_CLASS_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\[([^\\[\\]])*\\]/g;\n}; // Any digit in a regular expression that actually denotes a digit. For\n// example, in the regular expression \"80[0-2]\\d{6,10}\", the first 2 digits\n// (8 and 0) are standalone digits, but the rest are not.\n// Two look-aheads are needed because the number following \\\\d could be a\n// two-digit number, since the phone number can be as long as 15 digits.\n\n\nvar CREATE_STANDALONE_DIGIT_PATTERN = SUPPORT_LEGACY_FORMATTING_PATTERNS && function () {\n return /\\d(?=[^,}][^,}])/g;\n}; // A regular expression that is used to determine if a `format` is\n// suitable to be used in the \"as you type formatter\".\n// A `format` is suitable when the resulting formatted number has\n// the same digits as the user has entered.\n//\n// In the simplest case, that would mean that the format\n// doesn't add any additional digits when formatting a number.\n// Google says that it also shouldn't add \"star\" (`*`) characters,\n// like it does in some Israeli formats.\n// Such basic format would only contain \"valid punctuation\"\n// and \"captured group\" identifiers ($1, $2, etc).\n//\n// An example of a format that adds additional digits:\n//\n// Country: `AR` (Argentina).\n// Format:\n// {\n// \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n// \"leading_digits_patterns\": [\"91\"],\n// \"national_prefix_formatting_rule\": \"0$1\",\n// \"format\": \"$2 15-$3-$4\",\n// \"international_format\": \"$1 $2 $3-$4\"\n// }\n//\n// In the format above, the `format` adds `15` to the digits when formatting a number.\n// A sidenote: this format actually is suitable because `national_prefix_for_parsing`\n// has previously removed `15` from a national number, so re-adding `15` in `format`\n// doesn't actually result in any extra digits added to user's input.\n// But verifying that would be a complex procedure, so the code chooses a simpler path:\n// it simply filters out all `format`s that contain anything but \"captured group\" ids.\n//\n// This regular expression is called `ELIGIBLE_FORMAT_PATTERN` in Google's\n// `libphonenumber` code.\n//\n\n\nvar NON_ALTERING_FORMAT_REG_EXP = new RegExp('[' + VALID_PUNCTUATION + ']*' + // Google developers say:\n// \"We require that the first matching group is present in the\n// output pattern to ensure no data is lost while formatting.\"\n'\\\\$1' + '[' + VALID_PUNCTUATION + ']*' + '(\\\\$\\\\d[' + VALID_PUNCTUATION + ']*)*' + '$'); // This is the minimum length of the leading digits of a phone number\n// to guarantee the first \"leading digits pattern\" for a phone number format\n// to be preemptive.\n\nvar MIN_LEADING_DIGITS_LENGTH = 3;\n\nvar AsYouTypeFormatter = /*#__PURE__*/function () {\n function AsYouTypeFormatter(_ref) {\n var state = _ref.state,\n metadata = _ref.metadata;\n\n _classCallCheck(this, AsYouTypeFormatter);\n\n this.metadata = metadata;\n this.resetFormat();\n }\n\n _createClass(AsYouTypeFormatter, [{\n key: \"resetFormat\",\n value: function resetFormat() {\n this.chosenFormat = undefined;\n this.template = undefined;\n this.nationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplate = undefined;\n this.populatedNationalNumberTemplatePosition = -1;\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan, state) {\n this.resetFormat();\n\n if (numberingPlan) {\n this.isNANP = numberingPlan.callingCode() === '1';\n this.matchingFormats = numberingPlan.formats();\n\n if (state.nationalSignificantNumber) {\n this.narrowDownMatchingFormats(state);\n }\n } else {\n this.isNANP = undefined;\n this.matchingFormats = [];\n }\n }\n /**\r\n * Formats an updated phone number.\r\n * @param {string} nextDigits — Additional phone number digits.\r\n * @param {object} state — `AsYouType` state.\r\n * @return {[string]} Returns undefined if the updated phone number can't be formatted using any of the available formats.\r\n */\n\n }, {\n key: \"format\",\n value: function format(nextDigits, state) {\n var _this = this;\n\n // See if the phone number digits can be formatted as a complete phone number.\n // If not, use the results from `formatNationalNumberWithNextDigits()`,\n // which formats based on the chosen formatting pattern.\n //\n // Attempting to format complete phone number first is how it's done\n // in Google's `libphonenumber`, so this library just follows it.\n // Google's `libphonenumber` code doesn't explain in detail why does it\n // attempt to format digits as a complete phone number\n // instead of just going with a previoulsy (or newly) chosen `format`:\n //\n // \"Checks to see if there is an exact pattern match for these digits.\n // If so, we should use this instead of any other formatting template\n // whose leadingDigitsPattern also matches the input.\"\n //\n if (canFormatCompleteNumber(state.nationalSignificantNumber, this.metadata)) {\n for (var _iterator = _createForOfIteratorHelperLoose(this.matchingFormats), _step; !(_step = _iterator()).done;) {\n var format = _step.value;\n var formattedCompleteNumber = formatCompleteNumber(state, format, {\n metadata: this.metadata,\n shouldTryNationalPrefixFormattingRule: function shouldTryNationalPrefixFormattingRule(format) {\n return _this.shouldTryNationalPrefixFormattingRule(format, {\n international: state.international,\n nationalPrefix: state.nationalPrefix\n });\n },\n getSeparatorAfterNationalPrefix: function getSeparatorAfterNationalPrefix(format) {\n return _this.getSeparatorAfterNationalPrefix(format);\n }\n });\n\n if (formattedCompleteNumber) {\n this.resetFormat();\n this.chosenFormat = format;\n this.setNationalNumberTemplate(formattedCompleteNumber.replace(/\\d/g, DIGIT_PLACEHOLDER), state);\n this.populatedNationalNumberTemplate = formattedCompleteNumber; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = this.template.lastIndexOf(DIGIT_PLACEHOLDER);\n return formattedCompleteNumber;\n }\n }\n } // Format the digits as a partial (incomplete) phone number\n // using the previously chosen formatting pattern (or a newly chosen one).\n\n\n return this.formatNationalNumberWithNextDigits(nextDigits, state);\n } // Formats the next phone number digits.\n\n }, {\n key: \"formatNationalNumberWithNextDigits\",\n value: function formatNationalNumberWithNextDigits(nextDigits, state) {\n var previouslyChosenFormat = this.chosenFormat; // Choose a format from the list of matching ones.\n\n var newlyChosenFormat = this.chooseFormat(state);\n\n if (newlyChosenFormat) {\n if (newlyChosenFormat === previouslyChosenFormat) {\n // If it can format the next (current) digits\n // using the previously chosen phone number format\n // then return the updated formatted number.\n return this.formatNextNationalNumberDigits(nextDigits);\n } else {\n // If a more appropriate phone number format\n // has been chosen for these \"leading digits\",\n // then re-format the national phone number part\n // using the newly selected format.\n return this.formatNextNationalNumberDigits(state.getNationalDigits());\n }\n }\n }\n }, {\n key: \"narrowDownMatchingFormats\",\n value: function narrowDownMatchingFormats(_ref2) {\n var _this2 = this;\n\n var nationalSignificantNumber = _ref2.nationalSignificantNumber,\n nationalPrefix = _ref2.nationalPrefix,\n international = _ref2.international;\n var leadingDigits = nationalSignificantNumber; // \"leading digits\" pattern list starts with a\n // \"leading digits\" pattern fitting a maximum of 3 leading digits.\n // So, after a user inputs 3 digits of a national (significant) phone number\n // this national (significant) number can already be formatted.\n // The next \"leading digits\" pattern is for 4 leading digits max,\n // and the \"leading digits\" pattern after it is for 5 leading digits max, etc.\n // This implementation is different from Google's\n // in that it searches for a fitting format\n // even if the user has entered less than\n // `MIN_LEADING_DIGITS_LENGTH` digits of a national number.\n // Because some leading digit patterns already match for a single first digit.\n\n var leadingDigitsPatternIndex = leadingDigits.length - MIN_LEADING_DIGITS_LENGTH;\n\n if (leadingDigitsPatternIndex < 0) {\n leadingDigitsPatternIndex = 0;\n }\n\n this.matchingFormats = this.matchingFormats.filter(function (format) {\n return _this2.formatSuits(format, international, nationalPrefix) && _this2.formatMatches(format, leadingDigits, leadingDigitsPatternIndex);\n }); // If there was a phone number format chosen\n // and it no longer holds given the new leading digits then reset it.\n // The test for this `if` condition is marked as:\n // \"Reset a chosen format when it no longer holds given the new leading digits\".\n // To construct a valid test case for this one can find a country\n // in `PhoneNumberMetadata.xml` yielding one format for 3 ``\n // and yielding another format for 4 `` (Australia in this case).\n\n if (this.chosenFormat && this.matchingFormats.indexOf(this.chosenFormat) === -1) {\n this.resetFormat();\n }\n }\n }, {\n key: \"formatSuits\",\n value: function formatSuits(format, international, nationalPrefix) {\n // When a prefix before a national (significant) number is\n // simply a national prefix, then it's parsed as `this.nationalPrefix`.\n // In more complex cases, a prefix before national (significant) number\n // could include a national prefix as well as some \"capturing groups\",\n // and in that case there's no info whether a national prefix has been parsed.\n // If national prefix is not used when formatting a phone number\n // using this format, but a national prefix has been entered by the user,\n // and was extracted, then discard such phone number format.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L175-L184\n if (nationalPrefix && !format.usesNationalPrefix() && // !format.domesticCarrierCodeFormattingRule() &&\n !format.nationalPrefixIsOptionalWhenFormattingInNationalFormat()) {\n return false;\n } // If national prefix is mandatory for this phone number format\n // and there're no guarantees that a national prefix is present in user input\n // then discard this phone number format as not suitable.\n // In Google's \"AsYouType\" formatter code, the equivalent would be this part:\n // https://github.com/google/libphonenumber/blob/0a45cfd96e71cad8edb0e162a70fcc8bd9728933/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L185-L193\n\n\n if (!international && !nationalPrefix && format.nationalPrefixIsMandatoryWhenFormattingInNationalFormat()) {\n return false;\n }\n\n return true;\n }\n }, {\n key: \"formatMatches\",\n value: function formatMatches(format, leadingDigits, leadingDigitsPatternIndex) {\n var leadingDigitsPatternsCount = format.leadingDigitsPatterns().length; // If this format is not restricted to a certain\n // leading digits pattern then it fits.\n // The test case could be found by searching for \"leadingDigitsPatternsCount === 0\".\n\n if (leadingDigitsPatternsCount === 0) {\n return true;\n } // Start narrowing down the list of possible formats based on the leading digits.\n // (only previously matched formats take part in the narrowing down process)\n // `leading_digits_patterns` start with 3 digits min\n // and then go up from there one digit at a time.\n\n\n leadingDigitsPatternIndex = Math.min(leadingDigitsPatternIndex, leadingDigitsPatternsCount - 1);\n var leadingDigitsPattern = format.leadingDigitsPatterns()[leadingDigitsPatternIndex]; // Google imposes a requirement on the leading digits\n // to be minimum 3 digits long in order to be eligible\n // for checking those with a leading digits pattern.\n //\n // Since `leading_digits_patterns` start with 3 digits min,\n // Google's original `libphonenumber` library only starts\n // excluding any non-matching formats only when the\n // national number entered so far is at least 3 digits long,\n // otherwise format matching would give false negatives.\n //\n // For example, when the digits entered so far are `2`\n // and the leading digits pattern is `21` –\n // it's quite obvious in this case that the format could be the one\n // but due to the absence of further digits it would give false negative.\n //\n // Also, `leading_digits_patterns` doesn't always correspond to a single\n // digits count. For example, `60|8` pattern would already match `8`\n // but the `60` part would require having at least two leading digits,\n // so the whole pattern would require inputting two digits first in order to\n // decide on whether it matches the input, even when the input is \"80\".\n //\n // This library — `libphonenumber-js` — allows filtering by `leading_digits_patterns`\n // even when there's only 1 or 2 digits of the national (significant) number.\n // To do that, it uses a non-strict pattern matcher written specifically for that.\n //\n\n if (leadingDigits.length < MIN_LEADING_DIGITS_LENGTH) {\n // Before leading digits < 3 matching was implemented:\n // return true\n //\n // After leading digits < 3 matching was implemented:\n try {\n return new PatternMatcher(leadingDigitsPattern).match(leadingDigits, {\n allowOverflow: true\n }) !== undefined;\n } catch (error)\n /* istanbul ignore next */\n {\n // There's a slight possibility that there could be some undiscovered bug\n // in the pattern matcher code. Since the \"leading digits < 3 matching\"\n // feature is not \"essential\" for operation, it can fall back to the old way\n // in case of any issues rather than halting the application's execution.\n console.error(error);\n return true;\n }\n } // If at least `MIN_LEADING_DIGITS_LENGTH` digits of a national number are\n // available then use the usual regular expression matching.\n //\n // The whole pattern is wrapped in round brackets (`()`) because\n // the pattern can use \"or\" operator (`|`) at the top level of the pattern.\n //\n\n\n return new RegExp(\"^(\".concat(leadingDigitsPattern, \")\")).test(leadingDigits);\n }\n }, {\n key: \"getFormatFormat\",\n value: function getFormatFormat(format, international) {\n return international ? format.internationalFormat() : format.format();\n }\n }, {\n key: \"chooseFormat\",\n value: function chooseFormat(state) {\n var _this3 = this;\n\n var _loop = function _loop() {\n var format = _step2.value;\n\n // If this format is currently being used\n // and is still suitable, then stick to it.\n if (_this3.chosenFormat === format) {\n return \"break\";\n } // Sometimes, a formatting rule inserts additional digits in a phone number,\n // and \"as you type\" formatter can't do that: it should only use the digits\n // that the user has input.\n //\n // For example, in Argentina, there's a format for mobile phone numbers:\n //\n // {\n // \"pattern\": \"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\",\n // \"leading_digits_patterns\": [\"91\"],\n // \"national_prefix_formatting_rule\": \"0$1\",\n // \"format\": \"$2 15-$3-$4\",\n // \"international_format\": \"$1 $2 $3-$4\"\n // }\n //\n // In that format, `international_format` is used instead of `format`\n // because `format` inserts `15` in the formatted number,\n // and `AsYouType` formatter should only use the digits\n // the user has actually input, without adding any extra digits.\n // In this case, it wouldn't make a difference, because the `15`\n // is first stripped when applying `national_prefix_for_parsing`\n // and then re-added when using `format`, so in reality it doesn't\n // add any new digits to the number, but to detect that, the code\n // would have to be more complex: it would have to try formatting\n // the digits using the format and then see if any digits have\n // actually been added or removed, and then, every time a new digit\n // is input, it should re-check whether the chosen format doesn't\n // alter the digits.\n //\n // Google's code doesn't go that far, and so does this library:\n // it simply requires that a `format` doesn't add any additonal\n // digits to user's input.\n //\n // Also, people in general should move from inputting phone numbers\n // in national format (possibly with national prefixes)\n // and use international phone number format instead:\n // it's a logical thing in the modern age of mobile phones,\n // globalization and the internet.\n //\n\n /* istanbul ignore if */\n\n\n if (!NON_ALTERING_FORMAT_REG_EXP.test(_this3.getFormatFormat(format, state.international))) {\n return \"continue\";\n }\n\n if (!_this3.createTemplateForFormat(format, state)) {\n // Remove the format if it can't generate a template.\n _this3.matchingFormats = _this3.matchingFormats.filter(function (_) {\n return _ !== format;\n });\n return \"continue\";\n }\n\n _this3.chosenFormat = format;\n return \"break\";\n };\n\n // When there are multiple available formats, the formatter uses the first\n // format where a formatting template could be created.\n //\n // For some weird reason, `istanbul` says \"else path not taken\"\n // for the `for of` line below. Supposedly that means that\n // the loop doesn't ever go over the last element in the list.\n // That's true because there always is `this.chosenFormat`\n // when `this.matchingFormats` is non-empty.\n // And, for some weird reason, it doesn't think that the case\n // with empty `this.matchingFormats` qualifies for a valid \"else\" path.\n // So simply muting this `istanbul` warning.\n // It doesn't skip the contents of the `for of` loop,\n // it just skips the `for of` line.\n //\n\n /* istanbul ignore next */\n for (var _iterator2 = _createForOfIteratorHelperLoose(this.matchingFormats.slice()), _step2; !(_step2 = _iterator2()).done;) {\n var _ret = _loop();\n\n if (_ret === \"break\") break;\n if (_ret === \"continue\") continue;\n }\n\n if (!this.chosenFormat) {\n // No format matches the national (significant) phone number.\n this.resetFormat();\n }\n\n return this.chosenFormat;\n }\n }, {\n key: \"createTemplateForFormat\",\n value: function createTemplateForFormat(format, state) {\n // The formatter doesn't format numbers when numberPattern contains '|', e.g.\n // (20|3)\\d{4}. In those cases we quickly return.\n // (Though there's no such format in current metadata)\n\n /* istanbul ignore if */\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS && format.pattern().indexOf('|') >= 0) {\n return;\n } // Get formatting template for this phone number format\n\n\n var template = this.getTemplateForFormat(format, state); // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (template) {\n this.setNationalNumberTemplate(template, state);\n return true;\n }\n }\n }, {\n key: \"getSeparatorAfterNationalPrefix\",\n value: function getSeparatorAfterNationalPrefix(format) {\n // `US` metadata doesn't have a `national_prefix_formatting_rule`,\n // so the `if` condition below doesn't apply to `US`,\n // but in reality there shoudl be a separator\n // between a national prefix and a national (significant) number.\n // So `US` national prefix separator is a \"special\" \"hardcoded\" case.\n if (this.isNANP) {\n return ' ';\n } // If a `format` has a `national_prefix_formatting_rule`\n // and that rule has a separator after a national prefix,\n // then it means that there should be a separator\n // between a national prefix and a national (significant) number.\n\n\n if (format && format.nationalPrefixFormattingRule() && NATIONAL_PREFIX_SEPARATORS_PATTERN.test(format.nationalPrefixFormattingRule())) {\n return ' ';\n } // At this point, there seems to be no clear evidence that\n // there should be a separator between a national prefix\n // and a national (significant) number. So don't insert one.\n\n\n return '';\n }\n }, {\n key: \"getInternationalPrefixBeforeCountryCallingCode\",\n value: function getInternationalPrefixBeforeCountryCallingCode(_ref3, options) {\n var IDDPrefix = _ref3.IDDPrefix,\n missingPlus = _ref3.missingPlus;\n\n if (IDDPrefix) {\n return options && options.spacing === false ? IDDPrefix : IDDPrefix + ' ';\n }\n\n if (missingPlus) {\n return '';\n }\n\n return '+';\n }\n }, {\n key: \"getTemplate\",\n value: function getTemplate(state) {\n if (!this.template) {\n return;\n } // `this.template` holds the template for a \"complete\" phone number.\n // The currently entered phone number is most likely not \"complete\",\n // so trim all non-populated digits.\n\n\n var index = -1;\n var i = 0;\n var internationalPrefix = state.international ? this.getInternationalPrefixBeforeCountryCallingCode(state, {\n spacing: false\n }) : '';\n\n while (i < internationalPrefix.length + state.getDigitsWithoutInternationalPrefix().length) {\n index = this.template.indexOf(DIGIT_PLACEHOLDER, index + 1);\n i++;\n }\n\n return cutAndStripNonPairedParens(this.template, index + 1);\n }\n }, {\n key: \"setNationalNumberTemplate\",\n value: function setNationalNumberTemplate(template, state) {\n this.nationalNumberTemplate = template;\n this.populatedNationalNumberTemplate = template; // With a new formatting template, the matched position\n // using the old template needs to be reset.\n\n this.populatedNationalNumberTemplatePosition = -1; // For convenience, the public `.template` property\n // contains the whole international number\n // if the phone number being input is international:\n // 'x' for the '+' sign, 'x'es for the country phone code,\n // a spacebar and then the template for the formatted national number.\n\n if (state.international) {\n this.template = this.getInternationalPrefixBeforeCountryCallingCode(state).replace(/[\\d\\+]/g, DIGIT_PLACEHOLDER) + repeat(DIGIT_PLACEHOLDER, state.callingCode.length) + ' ' + template;\n } else {\n this.template = template;\n }\n }\n /**\r\n * Generates formatting template for a national phone number,\r\n * optionally containing a national prefix, for a format.\r\n * @param {Format} format\r\n * @param {string} nationalPrefix\r\n * @return {string}\r\n */\n\n }, {\n key: \"getTemplateForFormat\",\n value: function getTemplateForFormat(format, _ref4) {\n var nationalSignificantNumber = _ref4.nationalSignificantNumber,\n international = _ref4.international,\n nationalPrefix = _ref4.nationalPrefix,\n complexPrefixBeforeNationalSignificantNumber = _ref4.complexPrefixBeforeNationalSignificantNumber;\n var pattern = format.pattern();\n /* istanbul ignore else */\n\n if (SUPPORT_LEGACY_FORMATTING_PATTERNS) {\n pattern = pattern // Replace anything in the form of [..] with \\d\n .replace(CREATE_CHARACTER_CLASS_PATTERN(), '\\\\d') // Replace any standalone digit (not the one in `{}`) with \\d\n .replace(CREATE_STANDALONE_DIGIT_PATTERN(), '\\\\d');\n } // Generate a dummy national number (consisting of `9`s)\n // that fits this format's `pattern`.\n //\n // This match will always succeed,\n // because the \"longest dummy phone number\"\n // has enough length to accomodate any possible\n // national phone number format pattern.\n //\n\n\n var digits = LONGEST_DUMMY_PHONE_NUMBER.match(pattern)[0]; // If the national number entered is too long\n // for any phone number format, then abort.\n\n if (nationalSignificantNumber.length > digits.length) {\n return;\n } // Get a formatting template which can be used to efficiently format\n // a partial number where digits are added one by one.\n // Below `strictPattern` is used for the\n // regular expression (with `^` and `$`).\n // This wasn't originally in Google's `libphonenumber`\n // and I guess they don't really need it\n // because they're not using \"templates\" to format phone numbers\n // but I added `strictPattern` after encountering\n // South Korean phone number formatting bug.\n //\n // Non-strict regular expression bug demonstration:\n //\n // this.nationalSignificantNumber : `111111111` (9 digits)\n //\n // pattern : (\\d{2})(\\d{3,4})(\\d{4})\n // format : `$1 $2 $3`\n // digits : `9999999999` (10 digits)\n //\n // '9999999999'.replace(new RegExp(/(\\d{2})(\\d{3,4})(\\d{4})/g), '$1 $2 $3') = \"99 9999 9999\"\n //\n // template : xx xxxx xxxx\n //\n // But the correct template in this case is `xx xxx xxxx`.\n // The template was generated incorrectly because of the\n // `{3,4}` variability in the `pattern`.\n //\n // The fix is, if `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then `this.nationalSignificantNumber`\n // is used instead of `digits`.\n\n\n var strictPattern = new RegExp('^' + pattern + '$');\n var nationalNumberDummyDigits = nationalSignificantNumber.replace(/\\d/g, DUMMY_DIGIT); // If `this.nationalSignificantNumber` has already sufficient length\n // to satisfy the `pattern` completely then use it\n // instead of `digits`.\n\n if (strictPattern.test(nationalNumberDummyDigits)) {\n digits = nationalNumberDummyDigits;\n }\n\n var numberFormat = this.getFormatFormat(format, international);\n var nationalPrefixIncludedInTemplate; // If a user did input a national prefix (and that's guaranteed),\n // and if a `format` does have a national prefix formatting rule,\n // then see if that national prefix formatting rule\n // prepends exactly the same national prefix the user has input.\n // If that's the case, then use the `format` with the national prefix formatting rule.\n // Otherwise, use the `format` without the national prefix formatting rule,\n // and prepend a national prefix manually to it.\n\n if (this.shouldTryNationalPrefixFormattingRule(format, {\n international: international,\n nationalPrefix: nationalPrefix\n })) {\n var numberFormatWithNationalPrefix = numberFormat.replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()); // If `national_prefix_formatting_rule` of a `format` simply prepends\n // national prefix at the start of a national (significant) number,\n // then such formatting can be used with `AsYouType` formatter.\n // There seems to be no `else` case: everywhere in metadata,\n // national prefix formatting rule is national prefix + $1,\n // or `($1)`, in which case such format isn't even considered\n // when the user has input a national prefix.\n\n /* istanbul ignore else */\n\n if (parseDigits(format.nationalPrefixFormattingRule()) === (nationalPrefix || '') + parseDigits('$1')) {\n numberFormat = numberFormatWithNationalPrefix;\n nationalPrefixIncludedInTemplate = true; // Replace all digits of the national prefix in the formatting template\n // with `DIGIT_PLACEHOLDER`s.\n\n if (nationalPrefix) {\n var i = nationalPrefix.length;\n\n while (i > 0) {\n numberFormat = numberFormat.replace(/\\d/, DIGIT_PLACEHOLDER);\n i--;\n }\n }\n }\n } // Generate formatting template for this phone number format.\n\n\n var template = digits // Format the dummy phone number according to the format.\n .replace(new RegExp(pattern), numberFormat) // Replace each dummy digit with a DIGIT_PLACEHOLDER.\n .replace(new RegExp(DUMMY_DIGIT, 'g'), DIGIT_PLACEHOLDER); // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then just prepend such prefix\n // before the national (significant) number, optionally spacing\n // the two with a whitespace.\n\n if (!nationalPrefixIncludedInTemplate) {\n if (complexPrefixBeforeNationalSignificantNumber) {\n // Prepend the prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, complexPrefixBeforeNationalSignificantNumber.length) + ' ' + template;\n } else if (nationalPrefix) {\n // Prepend national prefix to the template manually.\n template = repeat(DIGIT_PLACEHOLDER, nationalPrefix.length) + this.getSeparatorAfterNationalPrefix(format) + template;\n }\n }\n\n if (international) {\n template = applyInternationalSeparatorStyle(template);\n }\n\n return template;\n }\n }, {\n key: \"formatNextNationalNumberDigits\",\n value: function formatNextNationalNumberDigits(digits) {\n var result = populateTemplateWithDigits(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition, digits);\n\n if (!result) {\n // Reset the format.\n this.resetFormat();\n return;\n }\n\n this.populatedNationalNumberTemplate = result[0];\n this.populatedNationalNumberTemplatePosition = result[1]; // Return the formatted phone number so far.\n\n return cutAndStripNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1); // The old way which was good for `input-format` but is not so good\n // for `react-phone-number-input`'s default input (`InputBasic`).\n // return closeNonPairedParens(this.populatedNationalNumberTemplate, this.populatedNationalNumberTemplatePosition + 1)\n // \t.replace(new RegExp(DIGIT_PLACEHOLDER, 'g'), ' ')\n }\n }, {\n key: \"shouldTryNationalPrefixFormattingRule\",\n value: function shouldTryNationalPrefixFormattingRule(format, _ref5) {\n var international = _ref5.international,\n nationalPrefix = _ref5.nationalPrefix;\n\n if (format.nationalPrefixFormattingRule()) {\n // In some countries, `national_prefix_formatting_rule` is `($1)`,\n // so it applies even if the user hasn't input a national prefix.\n // `format.usesNationalPrefix()` detects such cases.\n var usesNationalPrefix = format.usesNationalPrefix();\n\n if (usesNationalPrefix && nationalPrefix || !usesNationalPrefix && !international) {\n return true;\n }\n }\n }\n }]);\n\n return AsYouTypeFormatter;\n}();\n\nexport { AsYouTypeFormatter as default };\n//# sourceMappingURL=AsYouTypeFormatter.js.map","import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n } // Check if the number is IDD-prefixed.\n\n\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n } // Strip IDD prefix.\n\n\n number = number.slice(number.match(IDDPrefixPattern)[0].length); // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n\n return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map","/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode; // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule()); // If there's more than one captured group,\n // then carrier code is the second one.\n\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length); // If there's at least one captured group,\n // then carrier code is the first one.\n\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n } // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n\n\n var nationalPrefix;\n\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup); // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map","import extractNationalNumberFromPossiblyIncompleteNumber from './extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport checkNumberLength from './checkNumberLength.js';\n/**\r\n * Strips national prefix and carrier code from a complete phone number.\r\n * The difference from the non-\"FromCompleteNumber\" function is that\r\n * it won't extract national prefix if the resultant number is too short\r\n * to be a complete number for the selected phone numbering plan.\r\n * @param {string} number — Complete phone number digits.\r\n * @param {Metadata} metadata — Metadata with a phone numbering plan selected.\r\n * @return {object} `{ nationalNumber: string, carrierCode: string? }`.\r\n */\n\nexport default function extractNationalNumber(number, metadata) {\n // Parsing national prefixes and carrier codes\n // is only required for local phone numbers\n // but some people don't understand that\n // and sometimes write international phone numbers\n // with national prefixes (or maybe even carrier codes).\n // http://ucken.blogspot.ru/2016/03/trunk-prefixes-in-skype4b.html\n // Google's original library forgives such mistakes\n // and so does this library, because it has been requested:\n // https://github.com/catamphetamine/libphonenumber-js/issues/127\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata),\n carrierCode = _extractNationalNumbe.carrierCode,\n nationalNumber = _extractNationalNumbe.nationalNumber;\n\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n } // Check the national (significant) number length after extracting national prefix and carrier code.\n // Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature.\n\n\n if (metadata.possibleLengths()) {\n // The number remaining after stripping the national prefix and carrier code\n // should be long enough to have a possible length for the country.\n // Otherwise, don't strip the national prefix and carrier code,\n // since the original number could be a valid number.\n // This check has been copy-pasted \"as is\" from Google's original library:\n // https://github.com/google/libphonenumber/blob/876268eb1ad6cdc1b7b5bef17fc5e43052702d57/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L3236-L3250\n // It doesn't check for the \"possibility\" of the original `number`.\n // I guess it's fine not checking that one. It works as is anyway.\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata)) {\n // Don't strip the national prefix.\n return {\n nationalNumber: number\n };\n }\n }\n }\n\n return {\n nationalNumber: nationalNumber,\n carrierCode: carrierCode\n };\n} // In some countries, the same digit could be a national prefix\n// or a leading digit of a valid phone number.\n// For example, in Russia, national prefix is `8`,\n// and also `800 555 35 35` is a valid number\n// in which `8` is not a national prefix, but the first digit\n// of a national (significant) number.\n// Same's with Belarus:\n// `82004910060` is a valid national (significant) number,\n// but `2004910060` is not.\n// To support such cases (to prevent the code from always stripping\n// national prefix), a condition is imposed: a national prefix\n// is not extracted when the original number is \"viable\" and the\n// resultant number is not, a \"viable\" national number being the one\n// that matches `national_number_pattern`.\n\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata) {\n // The equivalent in Google's code is:\n // https://github.com/google/libphonenumber/blob/e326fa1fc4283bb05eb35cb3c15c18f98a31af33/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java#L2969-L3004\n if (matchesEntirely(nationalNumberBefore, metadata.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata.nationalNumberPattern())) {\n return false;\n } // This \"is possible\" national number (length) check has been commented out\n // because it's superceded by the (effectively) same check done in the\n // `extractNationalNumber()` function after it calls `shouldHaveExtractedNationalPrefix()`.\n // In other words, why run the same check twice if it could only be run once.\n // // Check the national (significant) number length after extracting national prefix and carrier code.\n // // Fixes a minor \"weird behavior\" bug: https://gitlab.com/catamphetamine/libphonenumber-js/-/issues/57\n // // (Legacy generated metadata (before `1.0.18`) didn't support the \"possible lengths\" feature).\n // if (metadata.possibleLengths()) {\n // \tif (isPossibleIncompleteNationalNumber(nationalNumberBefore, metadata) &&\n // \t\t!isPossibleIncompleteNationalNumber(nationalNumberAfter, metadata)) {\n // \t\treturn false\n // \t}\n // }\n\n\n return true;\n}\n\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata) {\n switch (checkNumberLength(nationalNumber, metadata)) {\n case 'TOO_SHORT':\n case 'INVALID_LENGTH':\n // This library ignores \"local-only\" phone numbers (for simplicity).\n // See the readme for more info on what are \"local-only\" phone numbers.\n // case 'IS_POSSIBLE_LOCAL_ONLY':\n return false;\n\n default:\n return true;\n }\n}\n//# sourceMappingURL=extractNationalNumber.js.map","import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string?} country\r\n * @param {string?} callingCode\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\n\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata) : callingCode;\n\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber; // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n\n\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n\n return {\n number: number\n };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map","import stripIddPrefix from './stripIddPrefix.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport Metadata from '../metadata.js';\nimport { MAX_LENGTH_COUNTRY_CODE } from '../constants.js';\n/**\r\n * Converts a phone number digits (possibly with a `+`)\r\n * into a calling code and the rest phone number digits.\r\n * The \"rest phone number digits\" could include\r\n * a national prefix, carrier code, and national\r\n * (significant) number.\r\n * @param {string} number — Phone number digits (possibly with a `+`).\r\n * @param {string} [country] — Default country.\r\n * @param {string} [callingCode] — Default calling code (some phone numbering plans are non-geographic).\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCodeSource: string?, countryCallingCode: string?, number: string }`\r\n * @example\r\n * // Returns `{ countryCallingCode: \"1\", number: \"2133734253\" }`.\r\n * extractCountryCallingCode('2133734253', 'US', null, metadata)\r\n * extractCountryCallingCode('2133734253', null, '1', metadata)\r\n * extractCountryCallingCode('+12133734253', null, null, metadata)\r\n * extractCountryCallingCode('+12133734253', 'RU', null, metadata)\r\n */\n\nexport default function extractCountryCallingCode(number, country, callingCode, metadata) {\n if (!number) {\n return {};\n }\n\n var isNumberWithIddPrefix; // If this is not an international phone number,\n // then either extract an \"IDD\" prefix, or extract a\n // country calling code from a number by autocorrecting it\n // by prepending a leading `+` in cases when it starts\n // with the country calling code.\n // https://wikitravel.org/en/International_dialling_prefix\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n\n if (number[0] !== '+') {\n // Convert an \"out-of-country\" dialing phone number\n // to a proper international phone number.\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata); // If an IDD prefix was stripped then\n // convert the number to international one\n // for subsequent parsing.\n\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n isNumberWithIddPrefix = true;\n number = '+' + numberWithoutIDD;\n } else {\n // Check to see if the number starts with the country calling code\n // for the default country. If so, we remove the country calling code,\n // and do some checks on the validity of the number before and after.\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n shorterNumber = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n return {\n countryCallingCodeSource: 'FROM_NUMBER_WITHOUT_PLUS_SIGN',\n countryCallingCode: countryCallingCode,\n number: shorterNumber\n };\n }\n }\n\n return {\n // No need to set it to `UNSPECIFIED`. It can be just `undefined`.\n // countryCallingCodeSource: 'UNSPECIFIED',\n number: number\n };\n }\n } // Fast abortion: country codes do not begin with a '0'\n\n\n if (number[1] === '0') {\n return {};\n }\n\n metadata = new Metadata(metadata); // The thing with country phone codes\n // is that they are orthogonal to each other\n // i.e. there's no such country phone code A\n // for which country phone code B exists\n // where B starts with A.\n // Therefore, while scanning digits,\n // if a valid country code is found,\n // that means that it is the country code.\n //\n\n var i = 2;\n\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n\n if (metadata.hasCallingCode(_countryCallingCode)) {\n metadata.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCodeSource: isNumberWithIddPrefix ? 'FROM_NUMBER_WITH_IDD' : 'FROM_NUMBER_WITH_PLUS_SIGN',\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n\n i++;\n }\n\n return {};\n} // The possible values for the returned `countryCallingCodeSource` are:\n//\n// Copy-pasted from:\n// https://github.com/google/libphonenumber/blob/master/resources/phonenumber.proto\n//\n// // The source from which the country_code is derived. This is not set in the\n// // general parsing method, but in the method that parses and keeps raw_input.\n// // New fields could be added upon request.\n// enum CountryCodeSource {\n// // Default value returned if this is not set, because the phone number was\n// // created using parse, not parseAndKeepRawInput. hasCountryCodeSource will\n// // return false if this is the case.\n// UNSPECIFIED = 0;\n//\n// // The country_code is derived based on a phone number with a leading \"+\",\n// // e.g. the French number \"+33 1 42 68 53 00\".\n// FROM_NUMBER_WITH_PLUS_SIGN = 1;\n//\n// // The country_code is derived based on a phone number with a leading IDD,\n// // e.g. the French number \"011 33 1 42 68 53 00\", as it is dialled from US.\n// FROM_NUMBER_WITH_IDD = 5;\n//\n// // The country_code is derived based on a phone number without a leading\n// // \"+\", e.g. the French number \"33 1 42 68 53 00\" when defaultCountry is\n// // supplied as France.\n// FROM_NUMBER_WITHOUT_PLUS_SIGN = 10;\n//\n// // The country_code is derived NOT based on the phone number itself, but\n// // from the defaultCountry parameter provided in the parsing function by the\n// // clients. This happens mostly for numbers written in the national format\n// // (without country code). For example, this would be set when parsing the\n// // French number \"01 42 68 53 00\", when defaultCountry is supplied as\n// // France.\n// FROM_DEFAULT_COUNTRY = 20;\n// }\n//# sourceMappingURL=extractCountryCallingCode.js.map","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 _extractCountryCallingCode from './helpers/extractCountryCallingCode.js';\nimport extractCountryCallingCodeFromInternationalNumberWithoutPlusSign from './helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js';\nimport extractNationalNumberFromPossiblyIncompleteNumber from './helpers/extractNationalNumberFromPossiblyIncompleteNumber.js';\nimport stripIddPrefix from './helpers/stripIddPrefix.js';\nimport parseDigits from './helpers/parseDigits.js';\nimport { VALID_DIGITS, VALID_PUNCTUATION, PLUS_CHARS } from './constants.js';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART = '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+';\nvar VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN = new RegExp('^' + VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART + '$', 'i');\nvar VALID_FORMATTED_PHONE_NUMBER_PART = '(?:' + '[' + PLUS_CHARS + ']' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']*' + '|' + '[' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + ')';\nvar AFTER_PHONE_NUMBER_DIGITS_END_PATTERN = new RegExp('[^' + VALID_PUNCTUATION + VALID_DIGITS + ']+' + '.*' + '$'); // Tests whether `national_prefix_for_parsing` could match\n// different national prefixes.\n// Matches anything that's not a digit or a square bracket.\n\nvar COMPLEX_NATIONAL_PREFIX = /[^\\d\\[\\]]/;\n\nvar AsYouTypeParser = /*#__PURE__*/function () {\n function AsYouTypeParser(_ref) {\n var defaultCountry = _ref.defaultCountry,\n defaultCallingCode = _ref.defaultCallingCode,\n metadata = _ref.metadata,\n onNationalSignificantNumberChange = _ref.onNationalSignificantNumberChange;\n\n _classCallCheck(this, AsYouTypeParser);\n\n this.defaultCountry = defaultCountry;\n this.defaultCallingCode = defaultCallingCode;\n this.metadata = metadata;\n this.onNationalSignificantNumberChange = onNationalSignificantNumberChange;\n }\n\n _createClass(AsYouTypeParser, [{\n key: \"input\",\n value: function input(text, state) {\n var _extractFormattedDigi = extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi2 = _slicedToArray(_extractFormattedDigi, 2),\n formattedDigits = _extractFormattedDigi2[0],\n hasPlus = _extractFormattedDigi2[1];\n\n var digits = parseDigits(formattedDigits); // Checks for a special case: just a leading `+` has been entered.\n\n var justLeadingPlus;\n\n if (hasPlus) {\n if (!state.digits) {\n state.startInternationalNumber();\n\n if (!digits) {\n justLeadingPlus = true;\n }\n }\n }\n\n if (digits) {\n this.inputDigits(digits, state);\n }\n\n return {\n digits: digits,\n justLeadingPlus: justLeadingPlus\n };\n }\n /**\r\n * Inputs \"next\" phone number digits.\r\n * @param {string} digits\r\n * @return {string} [formattedNumber] Formatted national phone number (if it can be formatted at this stage). Returning `undefined` means \"don't format the national phone number at this stage\".\r\n */\n\n }, {\n key: \"inputDigits\",\n value: function inputDigits(nextDigits, state) {\n var digits = state.digits;\n var hasReceivedThreeLeadingDigits = digits.length < 3 && digits.length + nextDigits.length >= 3; // Append phone number digits.\n\n state.appendDigits(nextDigits); // Attempt to extract IDD prefix:\n // Some users input their phone number in international format,\n // but in an \"out-of-country\" dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers as soon as there're at least 3 digits.\n // Google's library attempts to extract IDD prefix at 3 digits,\n // so this library just copies that behavior.\n // I guess that's because the most commot IDD prefixes are\n // `00` (Europe) and `011` (US).\n // There exist really long IDD prefixes too:\n // for example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n // An IDD prefix is extracted here, and then every time when\n // there's a new digit and the number couldn't be formatted.\n\n if (hasReceivedThreeLeadingDigits) {\n this.extractIddPrefix(state);\n }\n\n if (this.isWaitingForCountryCallingCode(state)) {\n if (!this.extractCountryCallingCode(state)) {\n return;\n }\n } else {\n state.appendNationalSignificantNumberDigits(nextDigits);\n } // If a phone number is being input in international format,\n // then it's not valid for it to have a national prefix.\n // Still, some people incorrectly input such numbers with a national prefix.\n // In such cases, only attempt to strip a national prefix if the number becomes too long.\n // (but that is done later, not here)\n\n\n if (!state.international) {\n if (!this.hasExtractedNationalSignificantNumber) {\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }\n }, {\n key: \"isWaitingForCountryCallingCode\",\n value: function isWaitingForCountryCallingCode(_ref2) {\n var international = _ref2.international,\n callingCode = _ref2.callingCode;\n return international && !callingCode;\n } // Extracts a country calling code from a number\n // being entered in internatonal format.\n\n }, {\n key: \"extractCountryCallingCode\",\n value: function extractCountryCallingCode(state) {\n var _extractCountryCallin = _extractCountryCallingCode('+' + state.getDigitsWithoutInternationalPrefix(), this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n countryCallingCode = _extractCountryCallin.countryCallingCode,\n number = _extractCountryCallin.number;\n\n if (countryCallingCode) {\n state.setCallingCode(countryCallingCode);\n state.update({\n nationalSignificantNumber: number\n });\n return true;\n }\n }\n }, {\n key: \"reset\",\n value: function reset(numberingPlan) {\n if (numberingPlan) {\n this.hasSelectedNumberingPlan = true;\n\n var nationalPrefixForParsing = numberingPlan._nationalPrefixForParsing();\n\n this.couldPossiblyExtractAnotherNationalSignificantNumber = nationalPrefixForParsing && COMPLEX_NATIONAL_PREFIX.test(nationalPrefixForParsing);\n } else {\n this.hasSelectedNumberingPlan = undefined;\n this.couldPossiblyExtractAnotherNationalSignificantNumber = undefined;\n }\n }\n /**\r\n * Extracts a national (significant) number from user input.\r\n * Google's library is different in that it only applies `national_prefix_for_parsing`\r\n * and doesn't apply `national_prefix_transform_rule` after that.\r\n * https://github.com/google/libphonenumber/blob/a3d70b0487875475e6ad659af404943211d26456/java/libphonenumber/src/com/google/i18n/phonenumbers/AsYouTypeFormatter.java#L539\r\n * @return {boolean} [extracted]\r\n */\n\n }, {\n key: \"extractNationalSignificantNumber\",\n value: function extractNationalSignificantNumber(nationalDigits, setState) {\n if (!this.hasSelectedNumberingPlan) {\n return;\n }\n\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe.nationalPrefix,\n nationalNumber = _extractNationalNumbe.nationalNumber,\n carrierCode = _extractNationalNumbe.carrierCode;\n\n if (nationalNumber === nationalDigits) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n /**\r\n * In Google's code this function is called \"attempt to extract longer NDD\".\r\n * \"Some national prefixes are a substring of others\", they say.\r\n * @return {boolean} [result] — Returns `true` if extracting a national prefix produced different results from what they were.\r\n */\n\n }, {\n key: \"extractAnotherNationalSignificantNumber\",\n value: function extractAnotherNationalSignificantNumber(nationalDigits, prevNationalSignificantNumber, setState) {\n if (!this.hasExtractedNationalSignificantNumber) {\n return this.extractNationalSignificantNumber(nationalDigits, setState);\n }\n\n if (!this.couldPossiblyExtractAnotherNationalSignificantNumber) {\n return;\n }\n\n var _extractNationalNumbe2 = extractNationalNumberFromPossiblyIncompleteNumber(nationalDigits, this.metadata),\n nationalPrefix = _extractNationalNumbe2.nationalPrefix,\n nationalNumber = _extractNationalNumbe2.nationalNumber,\n carrierCode = _extractNationalNumbe2.carrierCode; // If a national prefix has been extracted previously,\n // then it's always extracted as additional digits are added.\n // That's assuming `extractNationalNumberFromPossiblyIncompleteNumber()`\n // doesn't do anything different from what it currently does.\n // So, just in case, here's this check, though it doesn't occur.\n\n /* istanbul ignore if */\n\n\n if (nationalNumber === prevNationalSignificantNumber) {\n return;\n }\n\n this.onExtractedNationalNumber(nationalPrefix, carrierCode, nationalNumber, nationalDigits, setState);\n return true;\n }\n }, {\n key: \"onExtractedNationalNumber\",\n value: function onExtractedNationalNumber(nationalPrefix, carrierCode, nationalSignificantNumber, nationalDigits, setState) {\n var complexPrefixBeforeNationalSignificantNumber;\n var nationalSignificantNumberMatchesInput; // This check also works with empty `this.nationalSignificantNumber`.\n\n var nationalSignificantNumberIndex = nationalDigits.lastIndexOf(nationalSignificantNumber); // If the extracted national (significant) number is the\n // last substring of the `digits`, then it means that it hasn't been altered:\n // no digits have been removed from the national (significant) number\n // while applying `national_prefix_transform_rule`.\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n\n if (nationalSignificantNumberIndex >= 0 && nationalSignificantNumberIndex === nationalDigits.length - nationalSignificantNumber.length) {\n nationalSignificantNumberMatchesInput = true; // If a prefix of a national (significant) number is not as simple\n // as just a basic national prefix, then such prefix is stored in\n // `this.complexPrefixBeforeNationalSignificantNumber` property and will be\n // prepended \"as is\" to the national (significant) number to produce\n // a formatted result.\n\n var prefixBeforeNationalNumber = nationalDigits.slice(0, nationalSignificantNumberIndex); // `prefixBeforeNationalNumber` is always non-empty,\n // because `onExtractedNationalNumber()` isn't called\n // when a national (significant) number hasn't been actually \"extracted\":\n // when a national (significant) number is equal to the national part of `digits`,\n // then `onExtractedNationalNumber()` doesn't get called.\n\n if (prefixBeforeNationalNumber !== nationalPrefix) {\n complexPrefixBeforeNationalSignificantNumber = prefixBeforeNationalNumber;\n }\n }\n\n setState({\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode,\n nationalSignificantNumber: nationalSignificantNumber,\n nationalSignificantNumberMatchesInput: nationalSignificantNumberMatchesInput,\n complexPrefixBeforeNationalSignificantNumber: complexPrefixBeforeNationalSignificantNumber\n }); // `onExtractedNationalNumber()` is only called when\n // the national (significant) number actually did change.\n\n this.hasExtractedNationalSignificantNumber = true;\n this.onNationalSignificantNumberChange();\n }\n }, {\n key: \"reExtractNationalSignificantNumber\",\n value: function reExtractNationalSignificantNumber(state) {\n // Attempt to extract a national prefix.\n //\n // Some people incorrectly input national prefix\n // in an international phone number.\n // For example, some people write British phone numbers as `+44(0)...`.\n //\n // Also, in some rare cases, it is valid for a national prefix\n // to be a part of an international phone number.\n // For example, mobile phone numbers in Mexico are supposed to be\n // dialled internationally using a `1` national prefix,\n // so the national prefix will be part of an international number.\n //\n // Quote from:\n // https://www.mexperience.com/dialing-cell-phones-in-mexico/\n //\n // \"Dialing a Mexican cell phone from abroad\n // When you are calling a cell phone number in Mexico from outside Mexico,\n // it’s necessary to dial an additional “1” after Mexico’s country code\n // (which is “52”) and before the area code.\n // You also ignore the 045, and simply dial the area code and the\n // cell phone’s number.\n //\n // If you don’t add the “1”, you’ll receive a recorded announcement\n // asking you to redial using it.\n //\n // For example, if you are calling from the USA to a cell phone\n // in Mexico City, you would dial +52 – 1 – 55 – 1234 5678.\n // (Note that this is different to calling a land line in Mexico City\n // from abroad, where the number dialed would be +52 – 55 – 1234 5678)\".\n //\n // Google's demo output:\n // https://libphonenumber.appspot.com/phonenumberparser?number=%2b5215512345678&country=MX\n //\n if (this.extractAnotherNationalSignificantNumber(state.getNationalDigits(), state.nationalSignificantNumber, function (stateUpdate) {\n return state.update(stateUpdate);\n })) {\n return true;\n } // If no format matches the phone number, then it could be\n // \"a really long IDD\" (quote from a comment in Google's library).\n // An IDD prefix is first extracted when the user has entered at least 3 digits,\n // and then here — every time when there's a new digit and the number\n // couldn't be formatted.\n // For example, in Australia the default IDD prefix is `0011`,\n // and it could even be as long as `14880011`.\n //\n // Could also check `!hasReceivedThreeLeadingDigits` here\n // to filter out the case when this check duplicates the one\n // already performed when there're 3 leading digits,\n // but it's not a big deal, and in most cases there\n // will be a suitable `format` when there're 3 leading digits.\n //\n\n\n if (this.extractIddPrefix(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n } // Google's AsYouType formatter supports sort of an \"autocorrection\" feature\n // when it \"autocorrects\" numbers that have been input for a country\n // with that country's calling code.\n // Such \"autocorrection\" feature looks weird, but different people have been requesting it:\n // https://github.com/catamphetamine/libphonenumber-js/issues/376\n // https://github.com/catamphetamine/libphonenumber-js/issues/375\n // https://github.com/catamphetamine/libphonenumber-js/issues/316\n\n\n if (this.fixMissingPlus(state)) {\n this.extractCallingCodeAndNationalSignificantNumber(state);\n return true;\n }\n }\n }, {\n key: \"extractIddPrefix\",\n value: function extractIddPrefix(state) {\n // An IDD prefix can't be present in a number written with a `+`.\n // Also, don't re-extract an IDD prefix if has already been extracted.\n var international = state.international,\n IDDPrefix = state.IDDPrefix,\n digits = state.digits,\n nationalSignificantNumber = state.nationalSignificantNumber;\n\n if (international || IDDPrefix) {\n return;\n } // Some users input their phone number in \"out-of-country\"\n // dialing format instead of using the leading `+`.\n // https://github.com/catamphetamine/libphonenumber-js/issues/185\n // Detect such numbers.\n\n\n var numberWithoutIDD = stripIddPrefix(digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata);\n\n if (numberWithoutIDD !== undefined && numberWithoutIDD !== digits) {\n // If an IDD prefix was stripped then convert the IDD-prefixed number\n // to international number for subsequent parsing.\n state.update({\n IDDPrefix: digits.slice(0, digits.length - numberWithoutIDD.length)\n });\n this.startInternationalNumber(state, {\n country: undefined,\n callingCode: undefined\n });\n return true;\n }\n }\n }, {\n key: \"fixMissingPlus\",\n value: function fixMissingPlus(state) {\n if (!state.international) {\n var _extractCountryCallin2 = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(state.digits, this.defaultCountry, this.defaultCallingCode, this.metadata.metadata),\n newCallingCode = _extractCountryCallin2.countryCallingCode,\n number = _extractCountryCallin2.number;\n\n if (newCallingCode) {\n state.update({\n missingPlus: true\n });\n this.startInternationalNumber(state, {\n country: state.country,\n callingCode: newCallingCode\n });\n return true;\n }\n }\n }\n }, {\n key: \"startInternationalNumber\",\n value: function startInternationalNumber(state, _ref3) {\n var country = _ref3.country,\n callingCode = _ref3.callingCode;\n state.startInternationalNumber(country, callingCode); // If a national (significant) number has been extracted before, reset it.\n\n if (state.nationalSignificantNumber) {\n state.resetNationalSignificantNumber();\n this.onNationalSignificantNumberChange();\n this.hasExtractedNationalSignificantNumber = undefined;\n }\n }\n }, {\n key: \"extractCallingCodeAndNationalSignificantNumber\",\n value: function extractCallingCodeAndNationalSignificantNumber(state) {\n if (this.extractCountryCallingCode(state)) {\n // `this.extractCallingCode()` is currently called when the number\n // couldn't be formatted during the standard procedure.\n // Normally, the national prefix would be re-extracted\n // for an international number if such number couldn't be formatted,\n // but since it's already not able to be formatted,\n // there won't be yet another retry, so also extract national prefix here.\n this.extractNationalSignificantNumber(state.getNationalDigits(), function (stateUpdate) {\n return state.update(stateUpdate);\n });\n }\n }\n }]);\n\n return AsYouTypeParser;\n}();\n/**\r\n * Extracts formatted phone number from text (if there's any).\r\n * @param {string} text\r\n * @return {string} [formattedPhoneNumber]\r\n */\n\n\nexport { AsYouTypeParser as default };\n\nfunction extractFormattedPhoneNumber(text) {\n // Attempt to extract a possible number from the string passed in.\n var startsAt = text.search(VALID_FORMATTED_PHONE_NUMBER_PART);\n\n if (startsAt < 0) {\n return;\n } // Trim everything to the left of the phone number.\n\n\n text = text.slice(startsAt); // Trim the `+`.\n\n var hasPlus;\n\n if (text[0] === '+') {\n hasPlus = true;\n text = text.slice('+'.length);\n } // Trim everything to the right of the phone number.\n\n\n text = text.replace(AFTER_PHONE_NUMBER_DIGITS_END_PATTERN, ''); // Re-add the previously trimmed `+`.\n\n if (hasPlus) {\n text = '+' + text;\n }\n\n return text;\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nfunction _extractFormattedDigitsAndPlus(text) {\n // Extract a formatted phone number part from text.\n var extractedNumber = extractFormattedPhoneNumber(text) || ''; // Trim a `+`.\n\n if (extractedNumber[0] === '+') {\n return [extractedNumber.slice('+'.length), true];\n }\n\n return [extractedNumber];\n}\n/**\r\n * Extracts formatted phone number digits (and a `+`) from text (if there're any).\r\n * @param {string} text\r\n * @return {any[]}\r\n */\n\n\nexport function extractFormattedDigitsAndPlus(text) {\n var _extractFormattedDigi3 = _extractFormattedDigitsAndPlus(text),\n _extractFormattedDigi4 = _slicedToArray(_extractFormattedDigi3, 2),\n formattedDigits = _extractFormattedDigi4[0],\n hasPlus = _extractFormattedDigi4[1]; // If the extracted phone number part\n // can possibly be a part of some valid phone number\n // then parse phone number characters from a formatted phone number.\n\n\n if (!VALID_FORMATTED_PHONE_NUMBER_DIGITS_PART_PATTERN.test(formattedDigits)) {\n formattedDigits = '';\n }\n\n return [formattedDigits, hasPlus];\n}\n//# sourceMappingURL=AsYouTypeParser.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport Metadata from '../metadata.js';\nimport getNumberType from './getNumberType.js';\nexport default function getCountryByNationalNumber(nationalPhoneNumber, _ref) {\n var countries = _ref.countries,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n // Re-create `metadata` because it will be selecting a `country`.\n metadata = new Metadata(metadata);\n var matchingCountries = [];\n\n for (var _iterator = _createForOfIteratorHelperLoose(countries), _step; !(_step = _iterator()).done;) {\n var country = _step.value;\n metadata.country(country); // \"Leading digits\" patterns are only defined for about 20% of all countries.\n // By definition, matching \"leading digits\" is a sufficient but not a necessary\n // condition for a phone number to belong to a country.\n // The point of \"leading digits\" check is that it's the fastest one to get a match.\n // https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/METADATA.md#leading_digits\n // I'd suppose that \"leading digits\" patterns are mutually exclusive for different countries\n // because of the intended use of that feature.\n\n if (metadata.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata.leadingDigits()) === 0) {\n return country;\n }\n } // Else perform full validation with all of those\n // fixed-line/mobile/etc regular expressions.\n else if (getNumberType({\n phone: nationalPhoneNumber,\n country: country\n }, undefined, metadata.metadata)) {\n // If the `defaultCountry` is among the `matchingCountries` then return it.\n if (defaultCountry) {\n if (country === defaultCountry) {\n return country;\n }\n\n matchingCountries.push(country);\n } else {\n return country;\n }\n }\n } // Return the first (\"main\") one of the `matchingCountries`.\n\n\n if (matchingCountries.length > 0) {\n return matchingCountries[0];\n }\n}\n//# sourceMappingURL=getCountryByNationalNumber.js.map","import getCountryByNationalNumber from './getCountryByNationalNumber.js';\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nexport default function getCountryByCallingCode(callingCode, _ref) {\n var nationalPhoneNumber = _ref.nationalNumber,\n defaultCountry = _ref.defaultCountry,\n metadata = _ref.metadata;\n\n /* istanbul ignore if */\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata.isNonGeographicCallingCode(callingCode)) {\n return '001';\n }\n }\n\n var possibleCountries = metadata.getCountryCodesForCallingCode(callingCode);\n\n if (!possibleCountries) {\n return;\n } // If there's just one country corresponding to the country code,\n // then just return it, without further phone number digits validation.\n\n\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n\n return getCountryByNationalNumber(nationalPhoneNumber, {\n countries: possibleCountries,\n defaultCountry: defaultCountry,\n metadata: metadata.metadata\n });\n}\n//# sourceMappingURL=getCountryByCallingCode.js.map","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","import { getCountryCallingCode } from 'libphonenumber-js/core';\nexport function getInputValuePrefix(_ref) {\n var country = _ref.country,\n international = _ref.international,\n withCountryCallingCode = _ref.withCountryCallingCode,\n metadata = _ref.metadata;\n return country && international && !withCountryCallingCode ? \"+\".concat(getCountryCallingCode(country, metadata)) : '';\n}\nexport function removeInputValuePrefix(value, prefix) {\n if (prefix) {\n value = value.slice(prefix.length);\n if (value[0] === ' ') {\n value = value.slice(1);\n }\n }\n return value;\n}\n//# sourceMappingURL=inputValuePrefix.js.map","function _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate 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\nimport { parseDigit } from './helpers/parseDigits.js';\n/**\r\n * Parses phone number characters from a string.\r\n * Drops all punctuation leaving only digits and the leading `+` sign (if any).\r\n * Also converts wide-ascii and arabic-indic numerals to conventional numerals.\r\n * E.g. in Iraq they don't write `+442323234` but rather `+٤٤٢٣٢٣٢٣٤`.\r\n * @param {string} string\r\n * @return {string}\r\n * @example\r\n * ```js\r\n * // Outputs '8800555'.\r\n * parseIncompletePhoneNumber('8 (800) 555')\r\n * // Outputs '+7800555'.\r\n * parseIncompletePhoneNumber('+7 800 555')\r\n * ```\r\n */\n\nexport default function parseIncompletePhoneNumber(string) {\n var result = ''; // Using `.split('')` here instead of normal `for ... of`\n // because the importing application doesn't neccessarily include an ES6 polyfill.\n // The `.split('')` approach discards \"exotic\" UTF-8 characters\n // (the ones consisting of four bytes) but digits\n // (including non-European ones) don't fall into that range\n // so such \"exotic\" characters would be discarded anyway.\n\n for (var _iterator = _createForOfIteratorHelperLoose(string.split('')), _step; !(_step = _iterator()).done;) {\n var character = _step.value;\n result += parsePhoneNumberCharacter(character, result) || '';\n }\n\n return result;\n}\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {function?} emitEvent - An optional \"emit event\" function.\r\n * @return {string?} The parsed character.\r\n */\n\nexport function parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent) {\n // Only allow a leading `+`.\n if (character === '+') {\n // If this `+` is not the first parsed character\n // then discard it.\n if (prevParsedCharacters) {\n // `emitEvent` argument was added to this `export`ed function on Dec 26th, 2023.\n // Any 3rd-party code that used to `import` and call this function before that\n // won't be passing any `emitEvent` argument.\n //\n // The addition of the `emitEvent` argument was to fix the slightly-weird behavior\n // of parsing an input string when the user inputs something like `\"2+7\"\n // https://github.com/catamphetamine/react-phone-number-input/issues/437\n //\n // If the parser encounters an unexpected `+` in a string being parsed\n // then it simply discards that out-of-place `+` and any following characters.\n //\n if (typeof emitEvent === 'function') {\n emitEvent('end');\n }\n\n return;\n }\n\n return '+';\n } // Allow digits.\n\n\n return parseDigit(character);\n}\n//# sourceMappingURL=parseIncompletePhoneNumber.js.map","import { parsePhoneNumberCharacter } from 'libphonenumber-js/core';\n\n/**\r\n * Parses next character while parsing phone number digits (including a `+`)\r\n * from text: discards everything except `+` and digits, and `+` is only allowed\r\n * at the start of a phone number.\r\n * For example, is used in `react-phone-number-input` where it uses\r\n * [`input-format`](https://gitlab.com/catamphetamine/input-format).\r\n * @param {string} character - Yet another character from raw input string.\r\n * @param {string?} prevParsedCharacters - Previous parsed characters.\r\n * @param {object?} context - An optional object that could be used by this function to set arbitrary \"flags\". The object should be shared within the parsing of the whole string.\r\n * @return {string?} The parsed character.\r\n */\nexport default function parsePhoneNumberCharacter_(character, prevParsedCharacters, context) {\n // `context` argument was added as a third argument of `parse()` function\n // in `input-format` package on Dec 26th, 2023. So it could potentially be\n // `undefined` here if a 3rd-party app somehow ends up with this newer version\n // of `react-phone-number-input` and an older version of `input-format`.\n // Dunno how, but just in case, it could be `undefined` here and it wouldn't break.\n // Maybe it's not required to handle `undefined` case here.\n //\n // The addition of the `context` argument was to fix the slightly-weird behavior\n // of parsing an input string when the user inputs something like `\"2+7\"\n // https://github.com/catamphetamine/react-phone-number-input/issues/437\n //\n // If the parser encounters an unexpected `+` in a string being parsed\n // then it simply discards that out-of-place `+` and any following characters.\n //\n if (context && context.ignoreRest) {\n return;\n }\n var emitEvent = function emitEvent(eventName) {\n if (context) {\n switch (eventName) {\n case 'end':\n context.ignoreRest = true;\n break;\n }\n }\n };\n return parsePhoneNumberCharacter(character, prevParsedCharacters, emitEvent);\n}\n//# sourceMappingURL=parsePhoneNumberCharacter.js.map","import { useCallback } from 'react';\n\n// Returns a custom `onKeyDown` handler that works around a Backspace keypress edge case:\n// * ``\n// * When placing the caret before the leading plus character and pressing Backspace,\n// it duplicates the country calling code in the ``.\n// https://github.com/catamphetamine/react-phone-number-input/issues/442\nexport default function useInputKeyDownHandler(_ref) {\n var onKeyDown = _ref.onKeyDown,\n international = _ref.international;\n return useCallback(function (event) {\n if (event.keyCode === BACKSPACE_KEY_CODE && international) {\n // It checks `event.target` here for being an `` element\n // because \"keydown\" events may bubble from arbitrary child elements\n // so there's no guarantee that `event.target` represents an `` element.\n // Also, since `inputComponent` is not neceesarily an ``, this check is required too.\n if (event.target instanceof HTMLInputElement) {\n if (getCaretPosition(event.target) === AFTER_LEADING_PLUS_CARET_POSITION) {\n event.preventDefault();\n return;\n }\n }\n }\n if (onKeyDown) {\n onKeyDown(event);\n }\n }, [onKeyDown, international]);\n}\nvar BACKSPACE_KEY_CODE = 8;\n\n// Gets the caret position in an `` field.\n// The caret position starts with `0` which means \"before the first character\".\nfunction getCaretPosition(element) {\n return element.selectionStart;\n}\nvar AFTER_LEADING_PLUS_CARET_POSITION = '+'.length;\n//# sourceMappingURL=useInputKeyDownHandler.js.map","var _excluded = [\"onKeyDown\", \"country\", \"international\", \"withCountryCallingCode\", \"metadata\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React, { useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport Input from 'input-format/react';\nimport { AsYouType } from 'libphonenumber-js/core';\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix.js';\nimport parsePhoneNumberCharacter from './helpers/parsePhoneNumberCharacter.js';\nimport useInputKeyDownHandler from './useInputKeyDownHandler.js';\nexport function createInput(defaultMetadata) {\n /**\r\n * `InputSmart` is a \"smarter\" implementation of a `Component`\r\n * that can be passed to ``. It parses and formats\r\n * the user's and maintains the caret's position in the process.\r\n * The caret positioning is maintained using `input-format` library.\r\n * Relies on being run in a DOM environment for calling caret positioning functions.\r\n */\n function InputSmart(_ref, ref) {\n var onKeyDown = _ref.onKeyDown,\n country = _ref.country,\n international = _ref.international,\n withCountryCallingCode = _ref.withCountryCallingCode,\n _ref$metadata = _ref.metadata,\n metadata = _ref$metadata === void 0 ? defaultMetadata : _ref$metadata,\n rest = _objectWithoutProperties(_ref, _excluded);\n var format = useCallback(function (value) {\n // \"As you type\" formatter.\n var formatter = new AsYouType(country, metadata);\n var prefix = getInputValuePrefix({\n country: country,\n international: international,\n withCountryCallingCode: withCountryCallingCode,\n metadata: metadata\n });\n // Format the number.\n var text = formatter.input(prefix + value);\n var template = formatter.getTemplate();\n if (prefix) {\n text = removeInputValuePrefix(text, prefix);\n // `AsYouType.getTemplate()` can be `undefined`.\n if (template) {\n template = removeInputValuePrefix(template, prefix);\n }\n }\n return {\n text: text,\n template: template\n };\n }, [country, metadata]);\n var _onKeyDown = useInputKeyDownHandler({\n onKeyDown: onKeyDown,\n international: international\n });\n return /*#__PURE__*/React.createElement(Input, _extends({}, rest, {\n ref: ref,\n parse: parsePhoneNumberCharacter,\n format: format,\n onKeyDown: _onKeyDown\n }));\n }\n InputSmart = /*#__PURE__*/React.forwardRef(InputSmart);\n InputSmart.propTypes = {\n /**\r\n * The parsed phone number.\r\n * \"Parsed\" not in a sense of \"E.164\"\r\n * but rather in a sense of \"having only\r\n * digits and possibly a leading plus character\".\r\n * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n */\n value: PropTypes.string.isRequired,\n /**\r\n * A function of `value: string`.\r\n * Updates the `value` property.\r\n */\n onChange: PropTypes.func.isRequired,\n /**\r\n * A function of `event: Event`.\r\n * Handles `keydown` events.\r\n */\n onKeyDown: PropTypes.func,\n /**\r\n * A two-letter country code for formatting `value`\r\n * as a national phone number (e.g. `(800) 555 35 35`).\r\n * E.g. \"US\", \"RU\", etc.\r\n * If no `country` is passed then `value`\r\n * is formatted as an international phone number.\r\n * (e.g. `+7 800 555 35 35`)\r\n * Perhaps the `country` property should have been called `defaultCountry`\r\n * because if `value` is an international number then `country` is ignored.\r\n */\n country: PropTypes.string,\n /**\r\n * If `country` property is passed along with `international={true}` property\r\n * then the phone number will be input in \"international\" format for that `country`\r\n * (without \"country calling code\").\r\n * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n * (without \"country calling code\" `+1`).\r\n */\n international: PropTypes.bool,\n /**\r\n * If `country` and `international` properties are set,\r\n * then by default it won't include \"country calling code\" in the input field.\r\n * To change that, pass `withCountryCallingCode` property,\r\n * and it will include \"country calling code\" in the input field.\r\n */\n withCountryCallingCode: PropTypes.bool,\n /**\r\n * `libphonenumber-js` metadata.\r\n */\n metadata: PropTypes.object\n };\n return InputSmart;\n}\nexport default createInput();\n//# sourceMappingURL=InputSmart.js.map","var _excluded = [\"value\", \"onChange\", \"onKeyDown\", \"country\", \"international\", \"withCountryCallingCode\", \"metadata\", \"inputComponent\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React, { useCallback } from 'react';\nimport PropTypes from 'prop-types';\nimport { parseIncompletePhoneNumber, formatIncompletePhoneNumber } from 'libphonenumber-js/core';\nimport { getInputValuePrefix, removeInputValuePrefix } from './helpers/inputValuePrefix.js';\nimport useInputKeyDownHandler from './useInputKeyDownHandler.js';\nexport function createInput(defaultMetadata) {\n /**\r\n * `InputBasic` is the most basic implementation of a `Component`\r\n * that can be passed to ``. It parses and formats\r\n * the user's input but doesn't control the caret in the process:\r\n * when erasing or inserting digits in the middle of a phone number\r\n * the caret usually jumps to the end (this is the expected behavior).\r\n * Why does `InputBasic` exist when there's `InputSmart`?\r\n * One reason is working around the [Samsung Galaxy smart caret positioning bug]\r\n * (https://github.com/catamphetamine/react-phone-number-input/issues/75).\r\n * Another reason is that, unlike `InputSmart`, it doesn't require DOM environment.\r\n */\n function InputBasic(_ref, ref) {\n var value = _ref.value,\n onChange = _ref.onChange,\n onKeyDown = _ref.onKeyDown,\n country = _ref.country,\n international = _ref.international,\n withCountryCallingCode = _ref.withCountryCallingCode,\n _ref$metadata = _ref.metadata,\n metadata = _ref$metadata === void 0 ? defaultMetadata : _ref$metadata,\n _ref$inputComponent = _ref.inputComponent,\n Input = _ref$inputComponent === void 0 ? 'input' : _ref$inputComponent,\n rest = _objectWithoutProperties(_ref, _excluded);\n var prefix = getInputValuePrefix({\n country: country,\n international: international,\n withCountryCallingCode: withCountryCallingCode,\n metadata: metadata\n });\n var _onChange = useCallback(function (event) {\n var newValue = parseIncompletePhoneNumber(event.target.value);\n // By default, if a value is something like `\"(123)\"`\n // then Backspace would only erase the rightmost brace\n // becoming something like `\"(123\"`\n // which would give the same `\"123\"` value\n // which would then be formatted back to `\"(123)\"`\n // and so a user wouldn't be able to erase the phone number.\n //\n // This issue is worked around with this simple hack:\n // when \"old\" and \"new\" parsed values are the same,\n // it checks if the \"new\" formatted value could be obtained\n // from the \"old\" formatted value by erasing some (or no) characters at the right side.\n // If it could then it's likely that the user has hit a Backspace key\n // and what they really intended was to erase a rightmost digit rather than\n // a rightmost punctuation character.\n //\n if (newValue === value) {\n var newValueFormatted = format(prefix, newValue, country, metadata);\n if (newValueFormatted.indexOf(event.target.value) === 0) {\n // Trim the last digit (or plus sign).\n newValue = newValue.slice(0, -1);\n }\n }\n onChange(newValue);\n }, [prefix, value, onChange, country, metadata]);\n var _onKeyDown = useInputKeyDownHandler({\n onKeyDown: onKeyDown,\n international: international\n });\n return /*#__PURE__*/React.createElement(Input, _extends({}, rest, {\n ref: ref,\n value: format(prefix, value, country, metadata),\n onChange: _onChange,\n onKeyDown: _onKeyDown\n }));\n }\n InputBasic = /*#__PURE__*/React.forwardRef(InputBasic);\n InputBasic.propTypes = {\n /**\r\n * The parsed phone number.\r\n * \"Parsed\" not in a sense of \"E.164\"\r\n * but rather in a sense of \"having only\r\n * digits and possibly a leading plus character\".\r\n * Examples: `\"\"`, `\"+\"`, `\"+123\"`, `\"123\"`.\r\n */\n value: PropTypes.string.isRequired,\n /**\r\n * A function of `value: string`.\r\n * Updates the `value` property.\r\n */\n onChange: PropTypes.func.isRequired,\n /**\r\n * A function of `event: Event`.\r\n * Handles `keydown` events.\r\n */\n onKeyDown: PropTypes.func,\n /**\r\n * A two-letter country code for formatting `value`\r\n * as a national phone number (e.g. `(800) 555 35 35`).\r\n * E.g. \"US\", \"RU\", etc.\r\n * If no `country` is passed then `value`\r\n * is formatted as an international phone number.\r\n * (e.g. `+7 800 555 35 35`)\r\n * Perhaps the `country` property should have been called `defaultCountry`\r\n * because if `value` is an international number then `country` is ignored.\r\n */\n country: PropTypes.string,\n /**\r\n * If `country` property is passed along with `international={true}` property\r\n * then the phone number will be input in \"international\" format for that `country`\r\n * (without \"country calling code\").\r\n * For example, if `country=\"US\"` property is passed to \"without country select\" input\r\n * then the phone number will be input in the \"national\" format for `US` (`(213) 373-4253`).\r\n * But if both `country=\"US\"` and `international={true}` properties are passed then\r\n * the phone number will be input in the \"international\" format for `US` (`213 373 4253`)\r\n * (without \"country calling code\" `+1`).\r\n */\n international: PropTypes.bool,\n /**\r\n * If `country` and `international` properties are set,\r\n * then by default it won't include \"country calling code\" in the input field.\r\n * To change that, pass `withCountryCallingCode` property,\r\n * and it will include \"country calling code\" in the input field.\r\n */\n withCountryCallingCode: PropTypes.bool,\n /**\r\n * `libphonenumber-js` metadata.\r\n */\n metadata: PropTypes.object,\n /**\r\n * The `` component.\r\n */\n inputComponent: PropTypes.elementType\n };\n return InputBasic;\n}\nexport default createInput();\nfunction format(prefix, value, country, metadata) {\n return removeInputValuePrefix(formatIncompletePhoneNumber(prefix + value, country, metadata), prefix);\n}\n//# sourceMappingURL=InputBasic.js.map","import AsYouType from './AsYouType.js';\n/**\r\n * Formats a (possibly incomplete) phone number.\r\n * The phone number can be either in E.164 format\r\n * or in a form of national number digits.\r\n * @param {string} value - A possibly incomplete phone number. Either in E.164 format or in a form of national number digits.\r\n * @param {string|object} [optionsOrDefaultCountry] - A two-letter (\"ISO 3166-1 alpha-2\") country code, or an object of shape `{ defaultCountry?: string, defaultCallingCode?: string }`.\r\n * @return {string} Formatted (possibly incomplete) phone number.\r\n */\n\nexport default function formatIncompletePhoneNumber(value, optionsOrDefaultCountry, metadata) {\n if (!metadata) {\n metadata = optionsOrDefaultCountry;\n optionsOrDefaultCountry = undefined;\n }\n\n return new AsYouType(optionsOrDefaultCountry, metadata).input(value);\n}\n//# sourceMappingURL=formatIncompletePhoneNumber.js.map","/**\r\n * Creates Unicode flag from a two-letter ISO country code.\r\n * https://stackoverflow.com/questions/24050671/how-to-put-japan-flag-character-in-a-string\r\n * @param {string} country — A two-letter ISO country code (case-insensitive).\r\n * @return {string}\r\n */\nexport default function getCountryFlag(country) {\n return getRegionalIndicatorSymbol(country[0]) + getRegionalIndicatorSymbol(country[1]);\n}\n/**\r\n * Converts a letter to a Regional Indicator Symbol.\r\n * @param {string} letter\r\n * @return {string}\r\n */\n\nfunction getRegionalIndicatorSymbol(letter) {\n return String.fromCodePoint(0x1F1E6 - 65 + letter.toUpperCase().charCodeAt(0));\n}\n//# sourceMappingURL=unicode.js.map","var _excluded = [\"value\", \"onChange\", \"options\", \"disabled\", \"readOnly\"],\n _excluded2 = [\"value\", \"options\", \"className\", \"iconComponent\", \"getIconAspectRatio\", \"arrowComponent\", \"unicodeFlags\"];\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\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); }\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; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nimport React, { useCallback, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport getUnicodeFlagIcon from 'country-flag-icons/unicode';\nexport default function CountrySelect(_ref) {\n var value = _ref.value,\n onChange = _ref.onChange,\n options = _ref.options,\n disabled = _ref.disabled,\n readOnly = _ref.readOnly,\n rest = _objectWithoutProperties(_ref, _excluded);\n var onChange_ = useCallback(function (event) {\n var value = event.target.value;\n onChange(value === 'ZZ' ? undefined : value);\n }, [onChange]);\n var selectedOption = useMemo(function () {\n return getSelectedOption(options, value);\n }, [options, value]);\n\n // \"ZZ\" means \"International\".\n // (HTML requires each `