{"version":3,"file":"p-intl-input-tel.mjs","sources":["../../../projects/p-intl-input-tel/src/model/search-country-field.ts","../../../projects/p-intl-input-tel/src/model/country.model.ts","../../../projects/p-intl-input-tel/src/model/change-data.ts","../../../projects/p-intl-input-tel/src/model/country-iso.enum.ts","../../../projects/p-intl-input-tel/src/data/country-code.ts","../../../projects/p-intl-input-tel/src/utils/local-phone-utils.ts","../../../projects/p-intl-input-tel/src/validator/p-intl-input-tel.validator.ts","../../../projects/p-intl-input-tel/src/pipe/dialCode.pipe.ts","../../../projects/p-intl-input-tel/src/directives/favorite-element-injector.directive.ts","../../../projects/p-intl-input-tel/src/component/p-intl-input-tel.component.ts","../../../projects/p-intl-input-tel/src/component/p-intl-input-tel.component.html","../../../projects/p-intl-input-tel/src/directives/native-element-injector.directive.ts","../../../projects/p-intl-input-tel/p-intl-input-tel.ts"],"sourcesContent":["export enum SearchCountryField {\r\n    DIALCODE = 'dialCode',\r\n    ISO2 = 'iso2',\r\n    NAME = 'name',\r\n};\r\n","export class Country {\r\n    name: string;\r\n    iso2: string;\r\n    dialCode: string;\r\n    priority: number;\r\n    areaCodes?: string[];\r\n    htmlId: string;\r\n    flagClass: string;\r\n    placeHolder: string;\r\n    isFavorite: boolean;\r\n\r\n    constructor() {\r\n        this.name = '';\r\n        this.iso2 = '';\r\n        this.dialCode = '';\r\n        this.priority = 0;\r\n        this.areaCodes = undefined;\r\n        this.htmlId = '';\r\n        this.flagClass = '';\r\n        this.placeHolder = '';\r\n    }\r\n}\r\n","import { PhoneNumber, PhoneNumberFormat, PhoneNumberUtil } from 'google-libphonenumber';\r\n\r\nexport class ChangeData {\r\n    number: string;\r\n    internationalNumber: string;\r\n    nationalNumber: string;\r\n    e164Number: string;\r\n    countryCode: string | undefined;\r\n    dialCode: string;\r\n\r\n    constructor(phoneNumber?: PhoneNumber) {\r\n        const utils = PhoneNumberUtil.getInstance();\r\n        this.countryCode = phoneNumber && utils.getRegionCodeForNumber(phoneNumber) ? utils.getRegionCodeForNumber(phoneNumber) : '';\r\n        this.dialCode = phoneNumber?.getCountryCode() ? `+${phoneNumber.getCountryCode()}` : '';\r\n        this.e164Number = phoneNumber && utils.format(phoneNumber, PhoneNumberFormat.E164) !== '+0' ? utils.format(phoneNumber, PhoneNumberFormat.E164) : '';\r\n        this.internationalNumber = phoneNumber ? utils.format(phoneNumber, PhoneNumberFormat.INTERNATIONAL) : '';\r\n        this.nationalNumber = phoneNumber ? utils.format(phoneNumber, PhoneNumberFormat.NATIONAL) : '';\r\n        this.number = phoneNumber ? utils.format(phoneNumber, PhoneNumberFormat.NATIONAL) : '';\r\n    }\r\n}\r\n","export enum CountryISO {\r\n\tAfghanistan = 'af',\r\n\tAlbania = 'al',\r\n\tAlgeria = 'dz',\r\n\tAmericanSamoa = 'as',\r\n\tAndorra = 'ad',\r\n\tAngola = 'ao',\r\n\tAnguilla = 'ai',\r\n\tAntiguaAndBarbuda = 'ag',\r\n\tArgentina = 'ar',\r\n\tArmenia = 'am',\r\n\tAruba = 'aw',\r\n\tAustralia = 'au',\r\n\tAustria = 'at',\r\n\tAzerbaijan = 'az',\r\n\tBahamas = 'bs',\r\n\tBahrain = 'bh',\r\n\tBangladesh = 'bd',\r\n\tBarbados = 'bb',\r\n\tBelarus = 'by',\r\n\tBelgium = 'be',\r\n\tBelize = 'bz',\r\n\tBenin = 'bj',\r\n\tBermuda = 'bm',\r\n\tBhutan = 'bt',\r\n\tBolivia = 'bo',\r\n\tBosniaAndHerzegovina = 'ba',\r\n\tBotswana = 'bw',\r\n\tBrazil = 'br',\r\n\tBritishIndianOceanTerritory = 'io',\r\n\tBritishVirginIslands = 'vg',\r\n\tBrunei = 'bn',\r\n\tBulgaria = 'bg',\r\n\tBurkinaFaso = 'bf',\r\n\tBurundi = 'bi',\r\n\tCambodia = 'kh',\r\n\tCameroon = 'cm',\r\n\tCanada = 'ca',\r\n\tCapeVerde = 'cv',\r\n\tCaribbeanNetherlands = 'bq',\r\n\tCaymanIslands = 'ky',\r\n\tCentralAfricanRepublic = 'cf',\r\n\tChad = 'td',\r\n\tChile = 'cl',\r\n\tChina = 'cn',\r\n\tChristmasIsland = 'cx',\r\n\tCocos = 'cc',\r\n\tColombia = 'co',\r\n\tComoros = 'km',\r\n\tCongoDRCJamhuriYaKidemokrasiaYaKongo = 'cd',\r\n\tCongoRepublicCongoBrazzaville = 'cg',\r\n\tCookIslands = 'ck',\r\n\tCostaRica = 'cr',\r\n\tCôteDIvoire = 'ci',\r\n\tCroatia = 'hr',\r\n\tCuba = 'cu',\r\n\tCuraçao = 'cw',\r\n\tCyprus = 'cy',\r\n\tCzechRepublic = 'cz',\r\n\tDenmark = 'dk',\r\n\tDjibouti = 'dj',\r\n\tDominica = 'dm',\r\n\tDominicanRepublic = 'do',\r\n\tEcuador = 'ec',\r\n\tEgypt = 'eg',\r\n\tElSalvador = 'sv',\r\n\tEquatorialGuinea = 'gq',\r\n\tEritrea = 'er',\r\n\tEstonia = 'ee',\r\n\tEthiopia = 'et',\r\n\tFalklandIslands = 'fk',\r\n\tFaroeIslands = 'fo',\r\n\tFiji = 'fj',\r\n\tFinland = 'fi',\r\n\tFrance = 'fr',\r\n\tFrenchGuiana = 'gf',\r\n\tFrenchPolynesia = 'pf',\r\n\tGabon = 'ga',\r\n\tGambia = 'gm',\r\n\tGeorgia = 'ge',\r\n\tGermany = 'de',\r\n\tGhana = 'gh',\r\n\tGibraltar = 'gi',\r\n\tGreece = 'gr',\r\n\tGreenland = 'gl',\r\n\tGrenada = 'gd',\r\n\tGuadeloupe = 'gp',\r\n\tGuam = 'gu',\r\n\tGuatemala = 'gt',\r\n\tGuernsey = 'gg',\r\n\tGuinea = 'gn',\r\n\tGuineaBissau = 'gw',\r\n\tGuyana = 'gy',\r\n\tHaiti = 'ht',\r\n\tHonduras = 'hn',\r\n\tHongKong = 'hk',\r\n\tHungary = 'hu',\r\n\tIceland = 'is',\r\n\tIndia = 'in',\r\n\tIndonesia = 'id',\r\n\tIran = 'ir',\r\n\tIraq = 'iq',\r\n\tIreland = 'ie',\r\n\tIsleOfMan = 'im',\r\n\tIsrael = 'il',\r\n\tItaly = 'it',\r\n\tJamaica = 'jm',\r\n\tJapan = 'jp',\r\n\tJersey = 'je',\r\n\tJordan = 'jo',\r\n\tKazakhstan = 'kz',\r\n\tKenya = 'ke',\r\n\tKiribati = 'ki',\r\n\tKosovo = 'xk',\r\n\tKuwait = 'kw',\r\n\tKyrgyzstan = 'kg',\r\n\tLaos = 'la',\r\n\tLatvia = 'lv',\r\n\tLebanon = 'lb',\r\n\tLesotho = 'ls',\r\n\tLiberia = 'lr',\r\n\tLibya = 'ly',\r\n\tLiechtenstein = 'li',\r\n\tLithuania = 'lt',\r\n\tLuxembourg = 'lu',\r\n\tMacau = 'mo',\r\n\tMacedonia = 'mk',\r\n\tMadagascar = 'mg',\r\n\tMalawi = 'mw',\r\n\tMalaysia = 'my',\r\n\tMaldives = 'mv',\r\n\tMali = 'ml',\r\n\tMalta = 'mt',\r\n\tMarshallIslands = 'mh',\r\n\tMartinique = 'mq',\r\n\tMauritania = 'mr',\r\n\tMauritius = 'mu',\r\n\tMayotte = 'yt',\r\n\tMexico = 'mx',\r\n\tMicronesia = 'fm',\r\n\tMoldova = 'md',\r\n\tMonaco = 'mc',\r\n\tMongolia = 'mn',\r\n\tMontenegro = 'me',\r\n\tMontserrat = 'ms',\r\n\tMorocco = 'ma',\r\n\tMozambique = 'mz',\r\n\tMyanmar = 'mm',\r\n\tNamibia = 'na',\r\n\tNauru = 'nr',\r\n\tNepal = 'np',\r\n\tNetherlands = 'nl',\r\n\tNewCaledonia = 'nc',\r\n\tNewZealand = 'nz',\r\n\tNicaragua = 'ni',\r\n\tNiger = 'ne',\r\n\tNigeria = 'ng',\r\n\tNiue = 'nu',\r\n\tNorfolkIsland = 'nf',\r\n\tNorthKorea = 'kp',\r\n\tNorthernMarianaIslands = 'mp',\r\n\tNorway = 'no',\r\n\tOman = 'om',\r\n\tPakistan = 'pk',\r\n\tPalau = 'pw',\r\n\tPalestine = 'ps',\r\n\tPanama = 'pa',\r\n\tPapuaNewGuinea = 'pg',\r\n\tParaguay = 'py',\r\n\tPeru = 'pe',\r\n\tPhilippines = 'ph',\r\n\tPoland = 'pl',\r\n\tPortugal = 'pt',\r\n\tPuertoRico = 'pr',\r\n\tQatar = 'qa',\r\n\tRéunion = 're',\r\n\tRomania = 'ro',\r\n\tRussia = 'ru',\r\n\tRwanda = 'rw',\r\n\tSaintBarthélemy = 'bl',\r\n\tSaintHelena = 'sh',\r\n\tSaintKittsAndNevis = 'kn',\r\n\tSaintLucia = 'lc',\r\n\tSaintMartin = 'mf',\r\n\tSaintPierreAndMiquelon = 'pm',\r\n\tSaintVincentAndTheGrenadines = 'vc',\r\n\tSamoa = 'ws',\r\n\tSanMarino = 'sm',\r\n\tSãoToméAndPríncipe = 'st',\r\n\tSaudiArabia = 'sa',\r\n\tSenegal = 'sn',\r\n\tSerbia = 'rs',\r\n\tSeychelles = 'sc',\r\n\tSierraLeone = 'sl',\r\n\tSingapore = 'sg',\r\n\tSintMaarten = 'sx',\r\n\tSlovakia = 'sk',\r\n\tSlovenia = 'si',\r\n\tSolomonIslands = 'sb',\r\n\tSomalia = 'so',\r\n\tSouthAfrica = 'za',\r\n\tSouthKorea = 'kr',\r\n\tSouthSudan = 'ss',\r\n\tSpain = 'es',\r\n\tSriLanka = 'lk',\r\n\tSudan = 'sd',\r\n\tSuriname = 'sr',\r\n\tSvalbardAndJanMayen = 'sj',\r\n\tSwaziland = 'sz',\r\n\tSweden = 'se',\r\n\tSwitzerland = 'ch',\r\n\tSyria = 'sy',\r\n\tTaiwan = 'tw',\r\n\tTajikistan = 'tj',\r\n\tTanzania = 'tz',\r\n\tThailand = 'th',\r\n\tTimorLeste = 'tl',\r\n\tTogo = 'tg',\r\n\tTokelau = 'tk',\r\n\tTonga = 'to',\r\n\tTrinidadAndTobago = 'tt',\r\n\tTunisia = 'tn',\r\n\tTurkey = 'tr',\r\n\tTurkmenistan = 'tm',\r\n\tTurksAndCaicosIslands = 'tc',\r\n\tTuvalu = 'tv',\r\n\tUSVirginIslands = 'vi',\r\n\tUganda = 'ug',\r\n\tUkraine = 'ua',\r\n\tUnitedArabEmirates = 'ae',\r\n\tUnitedKingdom = 'gb',\r\n\tUnitedStates = 'us',\r\n\tUruguay = 'uy',\r\n\tUzbekistan = 'uz',\r\n\tVanuatu = 'vu',\r\n\tVaticanCity = 'va',\r\n\tVenezuela = 've',\r\n\tVietnam = 'vn',\r\n\tWallisAndFutuna = 'wf',\r\n\tWesternSahara = 'eh',\r\n\tYemen = 'ye',\r\n\tZambia = 'zm',\r\n\tZimbabwe = 'zw',\r\n\tÅlandIslands = 'ax',\r\n}\r\n","import { CountryISO } from '../model/country-iso.enum';\r\n\r\nexport const ALL_COUNTRIES = [\r\n    [\r\n        'Afghanistan (‫افغانستان‬‎)',\r\n        CountryISO.Afghanistan,\r\n        '93'\r\n    ],\r\n    [\r\n        'Albania (Shqipëri)',\r\n        CountryISO.Albania,\r\n        '355'\r\n    ],\r\n    [\r\n        'Algeria (‫الجزائر‬‎)',\r\n        CountryISO.Algeria,\r\n        '213'\r\n    ],\r\n    [\r\n        'American Samoa',\r\n        'as',\r\n        '1',\r\n        1,\r\n        [\r\n            '684',\r\n        ]\r\n    ],\r\n    [\r\n        'Andorra',\r\n        CountryISO.Andorra,\r\n        '376'\r\n    ],\r\n    [\r\n        'Angola',\r\n        CountryISO.Angola,\r\n        '244'\r\n    ],\r\n    [\r\n        'Anguilla',\r\n        'ai',\r\n        '1',\r\n        1,\r\n        [\r\n            '264',\r\n        ]\r\n    ],\r\n    [\r\n        'Antigua and Barbuda',\r\n        'ag',\r\n        '1',\r\n        1,\r\n        [\r\n            '268',\r\n        ]\r\n    ],\r\n    [\r\n        'Argentina',\r\n        CountryISO.Argentina,\r\n        '54'\r\n    ],\r\n    [\r\n        'Armenia (Հայաստան)',\r\n        CountryISO.Armenia,\r\n        '374'\r\n    ],\r\n    [\r\n        'Aruba',\r\n        CountryISO.Aruba,\r\n        '297'\r\n    ],\r\n    [\r\n        'Australia',\r\n        CountryISO.Australia,\r\n        '61',\r\n        0\r\n    ],\r\n    [\r\n        'Austria (Österreich)',\r\n        CountryISO.Austria,\r\n        '43'\r\n    ],\r\n    [\r\n        'Azerbaijan (Azərbaycan)',\r\n        CountryISO.Azerbaijan,\r\n        '994'\r\n    ],\r\n    [\r\n        'Bahamas',\r\n        'bs',\r\n        '1',\r\n        1,\r\n        [\r\n            '242',\r\n        ]\r\n    ],\r\n    [\r\n        'Bahrain (‫البحرين‬‎)',\r\n        CountryISO.Bahrain,\r\n        '973'\r\n    ],\r\n    [\r\n        'Bangladesh (বাংলাদেশ)',\r\n        CountryISO.Bangladesh,\r\n        '880'\r\n    ],\r\n    [\r\n        'Barbados',\r\n        'bb',\r\n        '1',\r\n        1,\r\n        [\r\n            '246',\r\n        ]\r\n    ],\r\n    [\r\n        'Belarus (Беларусь)',\r\n        CountryISO.Belarus,\r\n        '375'\r\n    ],\r\n    [\r\n        'Belgium (België)',\r\n        CountryISO.Belgium,\r\n        '32'\r\n    ],\r\n    [\r\n        'Belize',\r\n        CountryISO.Belize,\r\n        '501'\r\n    ],\r\n    [\r\n        'Benin (Bénin)',\r\n        CountryISO.Benin,\r\n        '229'\r\n    ],\r\n    [\r\n        'Bermuda',\r\n        'bm',\r\n        '1',\r\n        1,\r\n        [\r\n            '441',\r\n        ]\r\n    ],\r\n    [\r\n        'Bhutan (འབྲུག)',\r\n        CountryISO.Bhutan,\r\n        '975'\r\n    ],\r\n    [\r\n        'Bolivia',\r\n        CountryISO.Bolivia,\r\n        '591'\r\n    ],\r\n    [\r\n        'Bosnia and Herzegovina (Босна и Херцеговина)',\r\n        CountryISO.BosniaAndHerzegovina,\r\n        '387'\r\n    ],\r\n    [\r\n        'Botswana',\r\n        CountryISO.Botswana,\r\n        '267'\r\n    ],\r\n    [\r\n        'Brazil (Brasil)',\r\n        CountryISO.Brazil,\r\n        '55'\r\n    ],\r\n    [\r\n        'British Indian Ocean Territory',\r\n        CountryISO.BritishIndianOceanTerritory,\r\n        '246'\r\n    ],\r\n    [\r\n        'British Virgin Islands',\r\n        'vg',\r\n        '1',\r\n        1,\r\n        [\r\n            '284',\r\n        ]\r\n    ],\r\n    [\r\n        'Brunei',\r\n        CountryISO.Brunei,\r\n        '673'\r\n    ],\r\n    [\r\n        'Bulgaria (България)',\r\n        CountryISO.Bulgaria,\r\n        '359'\r\n    ],\r\n    [\r\n        'Burkina Faso',\r\n        CountryISO.BurkinaFaso,\r\n        '226'\r\n    ],\r\n    [\r\n        'Burundi (Uburundi)',\r\n        CountryISO.Burundi,\r\n        '257'\r\n    ],\r\n    [\r\n        'Cambodia (កម្ពុជា)',\r\n        CountryISO.Cambodia,\r\n        '855'\r\n    ],\r\n    [\r\n        'Cameroon (Cameroun)',\r\n        CountryISO.Cameroon,\r\n        '237'\r\n    ],\r\n    [\r\n        'Canada',\r\n        CountryISO.Canada,\r\n        '1',\r\n        1,\r\n        [\r\n            '204', '226', '236', '249', '250', '289', '306', '343', '365', '387', '403', '416',\r\n            '418', '431', '437', '438', '450', '506', '514', '519', '548', '579', '581', '587',\r\n            '604', '613', '639', '647', '672', '705', '709', '742', '778', '780', '782', '807',\r\n            '819', '825', '867', '873', '902', '905'\r\n        ]\r\n    ],\r\n    [\r\n        'Cape Verde (Kabu Verdi)',\r\n        CountryISO.CapeVerde,\r\n        '238'\r\n    ],\r\n    [\r\n        'Caribbean Netherlands',\r\n        CountryISO.CaribbeanNetherlands,\r\n        '599',\r\n        1\r\n    ],\r\n    [\r\n        'Cayman Islands',\r\n        'ky',\r\n        '1',\r\n        1,\r\n        [\r\n            '345',\r\n        ]\r\n    ],\r\n    [\r\n        'Central African Republic (République centrafricaine)',\r\n        CountryISO.CentralAfricanRepublic,\r\n        '236'\r\n    ],\r\n    [\r\n        'Chad (Tchad)',\r\n        CountryISO.Chad,\r\n        '235'\r\n    ],\r\n    [\r\n        'Chile',\r\n        CountryISO.Chile,\r\n        '56'\r\n    ],\r\n    [\r\n        'China (中国)',\r\n        CountryISO.China,\r\n        '86'\r\n    ],\r\n    [\r\n        'Christmas Island',\r\n        CountryISO.ChristmasIsland,\r\n        '61',\r\n        2\r\n    ],\r\n    [\r\n        'Cocos (Keeling) Islands',\r\n        CountryISO.Cocos,\r\n        '61',\r\n        1\r\n    ],\r\n    [\r\n        'Colombia',\r\n        CountryISO.Colombia,\r\n        '57'\r\n    ],\r\n    [\r\n        'Comoros (‫جزر القمر‬‎)',\r\n        CountryISO.Comoros,\r\n        '269'\r\n    ],\r\n    [\r\n        'Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)',\r\n        CountryISO.CongoDRCJamhuriYaKidemokrasiaYaKongo,\r\n        '243'\r\n    ],\r\n    [\r\n        'Congo (Republic) (Congo-Brazzaville)',\r\n        CountryISO.CongoRepublicCongoBrazzaville,\r\n        '242'\r\n    ],\r\n    [\r\n        'Cook Islands',\r\n        CountryISO.CookIslands,\r\n        '682'\r\n    ],\r\n    [\r\n        'Costa Rica',\r\n        CountryISO.CostaRica,\r\n        '506'\r\n    ],\r\n    [\r\n        'Côte d’Ivoire',\r\n        CountryISO.CôteDIvoire,\r\n        '225'\r\n    ],\r\n    [\r\n        'Croatia (Hrvatska)',\r\n        CountryISO.Croatia,\r\n        '385'\r\n    ],\r\n    [\r\n        'Cuba',\r\n        CountryISO.Cuba,\r\n        '53'\r\n    ],\r\n    [\r\n        'Curaçao',\r\n        CountryISO.Curaçao,\r\n        '599',\r\n        0\r\n    ],\r\n    [\r\n        'Cyprus (Κύπρος)',\r\n        CountryISO.Cyprus,\r\n        '357'\r\n    ],\r\n    [\r\n        'Czech Republic (Česká republika)',\r\n        CountryISO.CzechRepublic,\r\n        '420'\r\n    ],\r\n    [\r\n        'Denmark (Danmark)',\r\n        CountryISO.Denmark,\r\n        '45'\r\n    ],\r\n    [\r\n        'Djibouti',\r\n        CountryISO.Djibouti,\r\n        '253'\r\n    ],\r\n    [\r\n        'Dominica',\r\n        CountryISO.Dominica,\r\n        '1767'\r\n    ],\r\n    [\r\n        'Dominican Republic (República Dominicana)',\r\n        CountryISO.DominicanRepublic,\r\n        '1',\r\n        2,\r\n        [ '809', '829', '849' ]\r\n    ],\r\n    [\r\n        'Ecuador',\r\n        CountryISO.Ecuador,\r\n        '593'\r\n    ],\r\n    [\r\n        'Egypt (‫مصر‬‎)',\r\n        CountryISO.Egypt,\r\n        '20'\r\n    ],\r\n    [\r\n        'El Salvador',\r\n        CountryISO.ElSalvador,\r\n        '503'\r\n    ],\r\n    [\r\n        'Equatorial Guinea (Guinea Ecuatorial)',\r\n        CountryISO.EquatorialGuinea,\r\n        '240'\r\n    ],\r\n    [\r\n        'Eritrea',\r\n        CountryISO.Eritrea,\r\n        '291'\r\n    ],\r\n    [\r\n        'Estonia (Eesti)',\r\n        CountryISO.Estonia,\r\n        '372'\r\n    ],\r\n    [\r\n        'Ethiopia',\r\n        CountryISO.Ethiopia,\r\n        '251'\r\n    ],\r\n    [\r\n        'Falkland Islands (Islas Malvinas)',\r\n        CountryISO.FalklandIslands,\r\n        '500'\r\n    ],\r\n    [\r\n        'Faroe Islands (Føroyar)',\r\n        CountryISO.FaroeIslands,\r\n        '298'\r\n    ],\r\n    [\r\n        'Fiji',\r\n        CountryISO.Fiji,\r\n        '679'\r\n    ],\r\n    [\r\n        'Finland (Suomi)',\r\n        CountryISO.Finland,\r\n        '358',\r\n        0\r\n    ],\r\n    [\r\n        'France',\r\n        CountryISO.France,\r\n        '33'\r\n    ],\r\n    [\r\n        'French Guiana (Guyane française)',\r\n        CountryISO.FrenchGuiana,\r\n        '594'\r\n    ],\r\n    [\r\n        'French Polynesia (Polynésie française)',\r\n        CountryISO.FrenchPolynesia,\r\n        '689'\r\n    ],\r\n    [\r\n        'Gabon',\r\n        CountryISO.Gabon,\r\n        '241'\r\n    ],\r\n    [\r\n        'Gambia',\r\n        CountryISO.Gambia,\r\n        '220'\r\n    ],\r\n    [\r\n        'Georgia (საქართველო)',\r\n        CountryISO.Georgia,\r\n        '995'\r\n    ],\r\n    [\r\n        'Germany (Deutschland)',\r\n        CountryISO.Germany,\r\n        '49'\r\n    ],\r\n    [\r\n        'Ghana (Gaana)',\r\n        CountryISO.Ghana,\r\n        '233'\r\n    ],\r\n    [\r\n        'Gibraltar',\r\n        CountryISO.Gibraltar,\r\n        '350'\r\n    ],\r\n    [\r\n        'Greece (Ελλάδα)',\r\n        CountryISO.Greece,\r\n        '30'\r\n    ],\r\n    [\r\n        'Greenland (Kalaallit Nunaat)',\r\n        CountryISO.Greenland,\r\n        '299'\r\n    ],\r\n    [\r\n        'Grenada',\r\n        CountryISO.Grenada,\r\n        '1473'\r\n    ],\r\n    [\r\n        'Guadeloupe',\r\n        CountryISO.Guadeloupe,\r\n        '590',\r\n        0\r\n    ],\r\n    [\r\n        'Guam',\r\n        'gu',\r\n        '1',\r\n        1,\r\n        [\r\n            '671',\r\n        ]\r\n    ],\r\n    [\r\n        'Guatemala',\r\n        CountryISO.Guatemala,\r\n        '502'\r\n    ],\r\n    [\r\n        'Guernsey',\r\n        CountryISO.Guernsey,\r\n        '44',\r\n        1,\r\n        [ 1481 ]\r\n    ],\r\n    [\r\n        'Guinea (Guinée)',\r\n        CountryISO.Guinea,\r\n        '224'\r\n    ],\r\n    [\r\n        'Guinea-Bissau (Guiné Bissau)',\r\n        CountryISO.GuineaBissau,\r\n        '245'\r\n    ],\r\n    [\r\n        'Guyana',\r\n        CountryISO.Guyana,\r\n        '592'\r\n    ],\r\n    [\r\n        'Haiti',\r\n        CountryISO.Haiti,\r\n        '509'\r\n    ],\r\n    [\r\n        'Honduras',\r\n        CountryISO.Honduras,\r\n        '504'\r\n    ],\r\n    [\r\n        'Hong Kong (香港)',\r\n        CountryISO.HongKong,\r\n        '852'\r\n    ],\r\n    [\r\n        'Hungary (Magyarország)',\r\n        CountryISO.Hungary,\r\n        '36'\r\n    ],\r\n    [\r\n        'Iceland (Ísland)',\r\n        CountryISO.Iceland,\r\n        '354'\r\n    ],\r\n    [\r\n        'India (भारत)',\r\n        CountryISO.India,\r\n        '91'\r\n    ],\r\n    [\r\n        'Indonesia',\r\n        CountryISO.Indonesia,\r\n        '62'\r\n    ],\r\n    [\r\n        'Iran (‫ایران‬‎)',\r\n        CountryISO.Iran,\r\n        '98'\r\n    ],\r\n    [\r\n        'Iraq (‫العراق‬‎)',\r\n        CountryISO.Iraq,\r\n        '964'\r\n    ],\r\n    [\r\n        'Ireland',\r\n        CountryISO.Ireland,\r\n        '353'\r\n    ],\r\n    [\r\n        'Isle of Man',\r\n        CountryISO.IsleOfMan,\r\n        '44',\r\n        2,\r\n        [ 1624 ]\r\n    ],\r\n    [\r\n        'Israel (‫ישראל‬‎)',\r\n        CountryISO.Israel,\r\n        '972'\r\n    ],\r\n    [\r\n        'Italy (Italia)',\r\n        CountryISO.Italy,\r\n        '39',\r\n        0\r\n    ],\r\n    [\r\n        'Jamaica',\r\n        'jm',\r\n        '1',\r\n        1,\r\n        [\r\n            '876',\r\n        ]\r\n    ],\r\n    [\r\n        'Japan (日本)',\r\n        CountryISO.Japan,\r\n        '81'\r\n    ],\r\n    [\r\n        'Jersey',\r\n        CountryISO.Jersey,\r\n        '44',\r\n        3,\r\n        [ 1534 ]\r\n    ],\r\n    [\r\n        'Jordan (‫الأردن‬‎)',\r\n        CountryISO.Jordan,\r\n        '962'\r\n    ],\r\n    [\r\n        'Kazakhstan (Казахстан)',\r\n        CountryISO.Kazakhstan,\r\n        '7',\r\n        1\r\n    ],\r\n    [\r\n        'Kenya',\r\n        CountryISO.Kenya,\r\n        '254'\r\n    ],\r\n    [\r\n        'Kiribati',\r\n        CountryISO.Kiribati,\r\n        '686'\r\n    ],\r\n    [\r\n        'Kosovo',\r\n        CountryISO.Kosovo,\r\n        '383'\r\n    ],\r\n    [\r\n        'Kuwait (‫الكويت‬‎)',\r\n        CountryISO.Kuwait,\r\n        '965'\r\n    ],\r\n    [\r\n        'Kyrgyzstan (Кыргызстан)',\r\n        CountryISO.Kyrgyzstan,\r\n        '996'\r\n    ],\r\n    [\r\n        'Laos (ລາວ)',\r\n        CountryISO.Laos,\r\n        '856'\r\n    ],\r\n    [\r\n        'Latvia (Latvija)',\r\n        CountryISO.Latvia,\r\n        '371'\r\n    ],\r\n    [\r\n        'Lebanon (‫لبنان‬‎)',\r\n        CountryISO.Lebanon,\r\n        '961'\r\n    ],\r\n    [\r\n        'Lesotho',\r\n        CountryISO.Lesotho,\r\n        '266'\r\n    ],\r\n    [\r\n        'Liberia',\r\n        CountryISO.Liberia,\r\n        '231'\r\n    ],\r\n    [\r\n        'Libya (‫ليبيا‬‎)',\r\n        CountryISO.Libya,\r\n        '218'\r\n    ],\r\n    [\r\n        'Liechtenstein',\r\n        CountryISO.Liechtenstein,\r\n        '423'\r\n    ],\r\n    [\r\n        'Lithuania (Lietuva)',\r\n        CountryISO.Lithuania,\r\n        '370'\r\n    ],\r\n    [\r\n        'Luxembourg',\r\n        CountryISO.Luxembourg,\r\n        '352'\r\n    ],\r\n    [\r\n        'Macau (澳門)',\r\n        CountryISO.Macau,\r\n        '853'\r\n    ],\r\n    [\r\n        'Macedonia (FYROM) (Македонија)',\r\n        CountryISO.Macedonia,\r\n        '389'\r\n    ],\r\n    [\r\n        'Madagascar (Madagasikara)',\r\n        CountryISO.Madagascar,\r\n        '261'\r\n    ],\r\n    [\r\n        'Malawi',\r\n        CountryISO.Malawi,\r\n        '265'\r\n    ],\r\n    [\r\n        'Malaysia',\r\n        CountryISO.Malaysia,\r\n        '60'\r\n    ],\r\n    [\r\n        'Maldives',\r\n        CountryISO.Maldives,\r\n        '960'\r\n    ],\r\n    [\r\n        'Mali',\r\n        CountryISO.Mali,\r\n        '223'\r\n    ],\r\n    [\r\n        'Malta',\r\n        CountryISO.Malta,\r\n        '356'\r\n    ],\r\n    [\r\n        'Marshall Islands',\r\n        CountryISO.MarshallIslands,\r\n        '692'\r\n    ],\r\n    [\r\n        'Martinique',\r\n        CountryISO.Martinique,\r\n        '596'\r\n    ],\r\n    [\r\n        'Mauritania (‫موريتانيا‬‎)',\r\n        CountryISO.Mauritania,\r\n        '222'\r\n    ],\r\n    [\r\n        'Mauritius (Moris)',\r\n        CountryISO.Mauritius,\r\n        '230'\r\n    ],\r\n    [\r\n        'Mayotte',\r\n        CountryISO.Mayotte,\r\n        '262',\r\n        1\r\n    ],\r\n    [\r\n        'Mexico (México)',\r\n        CountryISO.Mexico,\r\n        '52'\r\n    ],\r\n    [\r\n        'Micronesia',\r\n        CountryISO.Micronesia,\r\n        '691'\r\n    ],\r\n    [\r\n        'Moldova (Republica Moldova)',\r\n        CountryISO.Moldova,\r\n        '373'\r\n    ],\r\n    [\r\n        'Monaco',\r\n        CountryISO.Monaco,\r\n        '377'\r\n    ],\r\n    [\r\n        'Mongolia (Монгол)',\r\n        CountryISO.Mongolia,\r\n        '976'\r\n    ],\r\n    [\r\n        'Montenegro (Crna Gora)',\r\n        CountryISO.Montenegro,\r\n        '382'\r\n    ],\r\n    [\r\n        'Montserrat',\r\n        'ms',\r\n        '1',\r\n        1,\r\n        [\r\n            '664',\r\n        ]\r\n    ],\r\n    [\r\n        'Morocco (‫المغرب‬‎)',\r\n        CountryISO.Morocco,\r\n        '212',\r\n        0\r\n    ],\r\n    [\r\n        'Mozambique (Moçambique)',\r\n        CountryISO.Mozambique,\r\n        '258'\r\n    ],\r\n    [\r\n        'Myanmar (Burma) (မြန်မာ)',\r\n        CountryISO.Myanmar,\r\n        '95'\r\n    ],\r\n    [\r\n        'Namibia (Namibië)',\r\n        CountryISO.Namibia,\r\n        '264'\r\n    ],\r\n    [\r\n        'Nauru',\r\n        CountryISO.Nauru,\r\n        '674'\r\n    ],\r\n    [\r\n        'Nepal (नेपाल)',\r\n        CountryISO.Nepal,\r\n        '977'\r\n    ],\r\n    [\r\n        'Netherlands (Nederland)',\r\n        CountryISO.Netherlands,\r\n        '31'\r\n    ],\r\n    [\r\n        'New Caledonia (Nouvelle-Calédonie)',\r\n        CountryISO.NewCaledonia,\r\n        '687'\r\n    ],\r\n    [\r\n        'New Zealand',\r\n        CountryISO.NewZealand,\r\n        '64'\r\n    ],\r\n    [\r\n        'Nicaragua',\r\n        CountryISO.Nicaragua,\r\n        '505'\r\n    ],\r\n    [\r\n        'Niger (Nijar)',\r\n        CountryISO.Niger,\r\n        '227'\r\n    ],\r\n    [\r\n        'Nigeria',\r\n        CountryISO.Nigeria,\r\n        '234'\r\n    ],\r\n    [\r\n        'Niue',\r\n        CountryISO.Niue,\r\n        '683'\r\n    ],\r\n    [\r\n        'Norfolk Island',\r\n        CountryISO.NorfolkIsland,\r\n        '672'\r\n    ],\r\n    [\r\n        'North Korea (조선 민주주의 인민 공화국)',\r\n        CountryISO.NorthKorea,\r\n        '850'\r\n    ],\r\n    [\r\n        'Northern Mariana Islands',\r\n        CountryISO.NorthernMarianaIslands,\r\n        '1670'\r\n    ],\r\n    [\r\n        'Norway (Norge)',\r\n        CountryISO.Norway,\r\n        '47',\r\n        0\r\n    ],\r\n    [\r\n        'Oman (‫عُمان‬‎)',\r\n        CountryISO.Oman,\r\n        '968'\r\n    ],\r\n    [\r\n        'Pakistan (‫پاکستان‬‎)',\r\n        CountryISO.Pakistan,\r\n        '92'\r\n    ],\r\n    [\r\n        'Palau',\r\n        CountryISO.Palau,\r\n        '680'\r\n    ],\r\n    [\r\n        'Palestine (‫فلسطين‬‎)',\r\n        CountryISO.Palestine,\r\n        '970'\r\n    ],\r\n    [\r\n        'Panama (Panamá)',\r\n        CountryISO.Panama,\r\n        '507'\r\n    ],\r\n    [\r\n        'Papua New Guinea',\r\n        CountryISO.PapuaNewGuinea,\r\n        '675'\r\n    ],\r\n    [\r\n        'Paraguay',\r\n        CountryISO.Paraguay,\r\n        '595'\r\n    ],\r\n    [\r\n        'Peru (Perú)',\r\n        CountryISO.Peru,\r\n        '51'\r\n    ],\r\n    [\r\n        'Philippines',\r\n        CountryISO.Philippines,\r\n        '63'\r\n    ],\r\n    [\r\n        'Poland (Polska)',\r\n        CountryISO.Poland,\r\n        '48'\r\n    ],\r\n    [\r\n        'Portugal',\r\n        CountryISO.Portugal,\r\n        '351'\r\n    ],\r\n    [\r\n        'Puerto Rico',\r\n        CountryISO.PuertoRico,\r\n        '1',\r\n        3,\r\n        [ '787', '939' ]\r\n    ],\r\n    [\r\n        'Qatar (‫قطر‬‎)',\r\n        CountryISO.Qatar,\r\n        '974'\r\n    ],\r\n    [\r\n        'Réunion (La Réunion)',\r\n        CountryISO.Réunion,\r\n        '262',\r\n        0\r\n    ],\r\n    [\r\n        'Romania (România)',\r\n        CountryISO.Romania,\r\n        '40'\r\n    ],\r\n    [\r\n        'Russia (Россия)',\r\n        CountryISO.Russia,\r\n        '7',\r\n        0\r\n    ],\r\n    [\r\n        'Rwanda',\r\n        CountryISO.Rwanda,\r\n        '250'\r\n    ],\r\n    [\r\n        'Saint Barthélemy (Saint-Barthélemy)',\r\n        CountryISO.SaintBarthélemy,\r\n        '590',\r\n        1\r\n    ],\r\n    [\r\n        'Saint Helena',\r\n        CountryISO.SaintHelena,\r\n        '290'\r\n    ],\r\n    [\r\n        'Saint Kitts and Nevis',\r\n        CountryISO.SaintKittsAndNevis,\r\n        '1869'\r\n    ],\r\n    [\r\n        'Saint Lucia',\r\n        'lc',\r\n        '1',\r\n        1,\r\n        [\r\n            '758',\r\n        ]\r\n    ],\r\n    [\r\n        'Saint Martin (Saint-Martin (partie française))',\r\n        CountryISO.SaintMartin,\r\n        '590',\r\n        2\r\n    ],\r\n    [\r\n        'Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)',\r\n        CountryISO.SaintPierreAndMiquelon,\r\n        '508'\r\n    ],\r\n    [\r\n        'Saint Vincent and the Grenadines',\r\n        'vc',\r\n        '1',\r\n        1,\r\n        [\r\n            '784',\r\n        ]\r\n    ],\r\n    [\r\n        'Samoa',\r\n        CountryISO.Samoa,\r\n        '685'\r\n    ],\r\n    [\r\n        'San Marino',\r\n        CountryISO.SanMarino,\r\n        '378'\r\n    ],\r\n    [\r\n        'São Tomé and Príncipe (São Tomé e Príncipe)',\r\n        CountryISO.SãoToméAndPríncipe,\r\n        '239'\r\n    ],\r\n    [\r\n        'Saudi Arabia (‫المملكة العربية السعودية‬‎)',\r\n        CountryISO.SaudiArabia,\r\n        '966'\r\n    ],\r\n    [\r\n        'Senegal (Sénégal)',\r\n        CountryISO.Senegal,\r\n        '221'\r\n    ],\r\n    [\r\n        'Serbia (Србија)',\r\n        CountryISO.Serbia,\r\n        '381'\r\n    ],\r\n    [\r\n        'Seychelles',\r\n        CountryISO.Seychelles,\r\n        '248'\r\n    ],\r\n    [\r\n        'Sierra Leone',\r\n        CountryISO.SierraLeone,\r\n        '232'\r\n    ],\r\n    [\r\n        'Singapore',\r\n        CountryISO.Singapore,\r\n        '65'\r\n    ],\r\n    [\r\n        'Sint Maarten',\r\n        'sx',\r\n        '1',\r\n        1,\r\n        [\r\n            '721',\r\n        ]\r\n    ],\r\n    [\r\n        'Slovakia (Slovensko)',\r\n        CountryISO.Slovakia,\r\n        '421'\r\n    ],\r\n    [\r\n        'Slovenia (Slovenija)',\r\n        CountryISO.Slovenia,\r\n        '386'\r\n    ],\r\n    [\r\n        'Solomon Islands',\r\n        CountryISO.SolomonIslands,\r\n        '677'\r\n    ],\r\n    [\r\n        'Somalia (Soomaaliya)',\r\n        CountryISO.Somalia,\r\n        '252'\r\n    ],\r\n    [\r\n        'South Africa',\r\n        CountryISO.SouthAfrica,\r\n        '27'\r\n    ],\r\n    [\r\n        'South Korea (대한민국)',\r\n        CountryISO.SouthKorea,\r\n        '82'\r\n    ],\r\n    [\r\n        'South Sudan (‫جنوب السودان‬‎)',\r\n        CountryISO.SouthSudan,\r\n        '211'\r\n    ],\r\n    [\r\n        'Spain (España)',\r\n        CountryISO.Spain,\r\n        '34'\r\n    ],\r\n    [\r\n        'Sri Lanka (ශ්‍රී ලංකාව)',\r\n        CountryISO.SriLanka,\r\n        '94'\r\n    ],\r\n    [\r\n        'Sudan (‫السودان‬‎)',\r\n        CountryISO.Sudan,\r\n        '249'\r\n    ],\r\n    [\r\n        'Suriname',\r\n        CountryISO.Suriname,\r\n        '597'\r\n    ],\r\n    [\r\n        'Svalbard and Jan Mayen',\r\n        CountryISO.SvalbardAndJanMayen,\r\n        '47',\r\n        1\r\n    ],\r\n    [\r\n        'Swaziland',\r\n        CountryISO.Swaziland,\r\n        '268'\r\n    ],\r\n    [\r\n        'Sweden (Sverige)',\r\n        CountryISO.Sweden,\r\n        '46'\r\n    ],\r\n    [\r\n        'Switzerland (Schweiz)',\r\n        CountryISO.Switzerland,\r\n        '41'\r\n    ],\r\n    [\r\n        'Syria (‫سوريا‬‎)',\r\n        CountryISO.Syria,\r\n        '963'\r\n    ],\r\n    [\r\n        'Taiwan (台灣)',\r\n        CountryISO.Taiwan,\r\n        '886'\r\n    ],\r\n    [\r\n        'Tajikistan',\r\n        CountryISO.Tajikistan,\r\n        '992'\r\n    ],\r\n    [\r\n        'Tanzania',\r\n        CountryISO.Tanzania,\r\n        '255'\r\n    ],\r\n    [\r\n        'Thailand (ไทย)',\r\n        CountryISO.Thailand,\r\n        '66'\r\n    ],\r\n    [\r\n        'Timor-Leste',\r\n        CountryISO.TimorLeste,\r\n        '670'\r\n    ],\r\n    [\r\n        'Togo',\r\n        CountryISO.Togo,\r\n        '228'\r\n    ],\r\n    [\r\n        'Tokelau',\r\n        CountryISO.Tokelau,\r\n        '690'\r\n    ],\r\n    [\r\n        'Tonga',\r\n        CountryISO.Tonga,\r\n        '676'\r\n    ],\r\n    [\r\n        'Trinidad and Tobago',\r\n        'tt',\r\n        '1',\r\n        1,\r\n        [\r\n            '868',\r\n        ]\r\n    ],\r\n    [\r\n        'Tunisia (‫تونس‬‎)',\r\n        CountryISO.Tunisia,\r\n        '216'\r\n    ],\r\n    [\r\n        'Turkey (Türkiye)',\r\n        CountryISO.Turkey,\r\n        '90'\r\n    ],\r\n    [\r\n        'Turkmenistan',\r\n        CountryISO.Turkmenistan,\r\n        '993'\r\n    ],\r\n    [\r\n        'Turks and Caicos Islands',\r\n        CountryISO.TurksAndCaicosIslands,\r\n        '1649'\r\n    ],\r\n    [\r\n        'Tuvalu',\r\n        CountryISO.Tuvalu,\r\n        '688'\r\n    ],\r\n    [\r\n        'U.S. Virgin Islands',\r\n        'vi',\r\n        '1',\r\n        1,\r\n        [\r\n            '340',\r\n        ]\r\n    ],\r\n    [\r\n        'Uganda',\r\n        CountryISO.Uganda,\r\n        '256'\r\n    ],\r\n    [\r\n        'Ukraine (Україна)',\r\n        CountryISO.Ukraine,\r\n        '380'\r\n    ],\r\n    [\r\n        'United Arab Emirates (‫الإمارات العربية المتحدة‬‎)',\r\n        CountryISO.UnitedArabEmirates,\r\n        '971'\r\n    ],\r\n    [\r\n        'United Kingdom',\r\n        CountryISO.UnitedKingdom,\r\n        '44',\r\n        0\r\n    ],\r\n    [\r\n        'United States',\r\n        CountryISO.UnitedStates,\r\n        '1',\r\n        0\r\n    ],\r\n    [\r\n        'Uruguay',\r\n        CountryISO.Uruguay,\r\n        '598'\r\n    ],\r\n    [\r\n        'Uzbekistan (Oʻzbekiston)',\r\n        CountryISO.Uzbekistan,\r\n        '998'\r\n    ],\r\n    [\r\n        'Vanuatu',\r\n        CountryISO.Vanuatu,\r\n        '678'\r\n    ],\r\n    [\r\n        'Vatican City (Città del Vaticano)',\r\n        CountryISO.VaticanCity,\r\n        '39',\r\n        1\r\n    ],\r\n    [\r\n        'Venezuela',\r\n        CountryISO.Venezuela,\r\n        '58'\r\n    ],\r\n    [\r\n        'Vietnam (Việt Nam)',\r\n        CountryISO.Vietnam,\r\n        '84'\r\n    ],\r\n    [\r\n        'Wallis and Futuna',\r\n        CountryISO.WallisAndFutuna,\r\n        '681'\r\n    ],\r\n    [\r\n        'Western Sahara (‫الصحراء الغربية‬‎)',\r\n        CountryISO.WesternSahara,\r\n        '212',\r\n        1\r\n    ],\r\n    [\r\n        'Yemen (‫اليمن‬‎)',\r\n        CountryISO.Yemen,\r\n        '967'\r\n    ],\r\n    [\r\n        'Zambia',\r\n        CountryISO.Zambia,\r\n        '260'\r\n    ],\r\n    [\r\n        'Zimbabwe',\r\n        CountryISO.Zimbabwe,\r\n        '263'\r\n    ],\r\n    [\r\n        'Åland Islands',\r\n        CountryISO.ÅlandIslands,\r\n        '358',\r\n        1\r\n    ]\r\n];\r\n","import * as lpn from \"google-libphonenumber\";\r\nimport { PhoneNumber, PhoneNumberFormat, PhoneNumberUtil } from \"google-libphonenumber\";\r\nimport { ChangeData } from \"../model/change-data\";\r\nimport { ALL_COUNTRIES } from \"../data/country-code\";\r\n\r\nexport class LocalPhoneUtils {\r\n    /**\r\n     * Returns parse PhoneNumber object.\r\n     * @param phoneNumber string\r\n     * @param regionCode string\r\n     */\r\n    public static getParsedNumber(phoneNumber: string = '', regionCode: string = ''): PhoneNumber {\r\n        if( !phoneNumber || !regionCode ) return new PhoneNumber();\r\n        try {\r\n            return lpn.PhoneNumberUtil.getInstance().parse(phoneNumber, regionCode.toUpperCase());\r\n        } catch (e) {\r\n            return new PhoneNumber()\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Return a ChangeData object initialized with a phone number\r\n     * @param phoneNumber\r\n     */\r\n    public static getChangeData(phoneNumber?: string): ChangeData {\r\n        return new ChangeData(!phoneNumber ? new PhoneNumber() : lpn.PhoneNumberUtil.getInstance().parse(phoneNumber));\r\n    }\r\n\r\n\r\n    /**\r\n     * Gets formatted example phone number from phoneUtil.\r\n     * @param numberFormat\r\n     * @param countryCode\r\n     */\r\n    public static getPhoneNumberPlaceHolder(numberFormat: PhoneNumberFormat, countryCode: string): string {\r\n        const phoneUtil: PhoneNumberUtil = lpn.PhoneNumberUtil.getInstance();\r\n        return phoneUtil.format(phoneUtil.getExampleNumber(countryCode), numberFormat);\r\n    }\r\n\r\n    /**\r\n     * Sifts through all countries and returns iso code of the primary country\r\n     * based on the number provided.\r\n     * @param number PhoneNumber\r\n     * @param countryCode country code in number format\r\n     */\r\n    public static getCountryIsoCode(number: PhoneNumber, countryCode?: number): string | undefined {\r\n        if( !countryCode ) return;\r\n        // Will use this to match area code from the first numbers\r\n        // @ts-ignore\r\n        const rawNumber = number['values_']['2'].toString();\r\n        // List of all countries with countryCode (can be more than one. e.x. US, CA, DO, PR all have +1 countryCode)\r\n        const countriesFiltered = ALL_COUNTRIES.filter((c) => c[2].toString() === countryCode.toString());\r\n        // Main country is the country, which has no areaCodes specified in country-code.ts file.\r\n        const mainCountry = countriesFiltered.find((c) => c[4] === undefined);\r\n        // Secondary countries are all countries, which have areaCodes specified in country-code.ts file.\r\n        const secondaryCountries = countriesFiltered.filter((c) => c[4] !== undefined);\r\n        let matchedCountry = mainCountry ? mainCountry[1].toString() : undefined;\r\n\r\n        /*\r\n          Iterate over each secondary country and check if nationalNumber starts with any of areaCodes available.\r\n          If no matches found, fallback to the main country.\r\n        */\r\n        secondaryCountries.forEach((country) => {\r\n            // @ts-ignore\r\n            country[4].forEach((areaCode) => {\r\n                if( rawNumber.startsWith(areaCode) ) matchedCountry = country[1].toString();\r\n            });\r\n        });\r\n\r\n        return matchedCountry;\r\n    }\r\n}\r\n","import * as lpn from 'google-libphonenumber';\r\nimport { AbstractControl } from '@angular/forms';\r\n\r\n/**\r\n * Check if the phone number provide is in a valid format compare to the country selected\r\n * If not, an error is pushed to the FormControl: { invalidFormat: true }\r\n * It can be catched in the parent form to display a user error\r\n * @param control\r\n */\r\nexport const phoneNumberValidator = (control: AbstractControl) => {\r\n    const value = control.value;\r\n    if (!value) return null;\r\n\r\n    try {\r\n        const phoneUtil: lpn.PhoneNumberUtil = lpn.PhoneNumberUtil.getInstance();\r\n        const phoneNumber: lpn.PhoneNumber = phoneUtil.parse(value);\r\n        const regionCode = phoneUtil.getRegionCodeForNumber(phoneNumber);\r\n\r\n        if (!phoneUtil.isValidNumberForRegion(phoneNumber, regionCode)) {\r\n            return { invalidFormat: true };\r\n        }\r\n    } catch (error) {\r\n        return { invalidFormat: true };\r\n    }\r\n\r\n    return null;\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n    name: 'dialCode',\r\n    standalone: true\r\n})\r\nexport class DialCodePipe implements PipeTransform {\r\n  transform(dialoCode: string): string {\r\n    if (!dialoCode) return '';\r\n    return `+${ dialoCode }`;\r\n  }\r\n}\r\n","import { Directive, ElementRef, inject, input, OnInit, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n    selector: '[favorite]',\r\n    standalone: true\r\n})\r\nexport class FavoriteElementInjectorDirective implements OnInit {\r\n    private el = inject(ElementRef);\r\n    private renderer = inject(Renderer2);\r\n\r\n    favoriteItemsCounter = input<number>();\r\n\r\n    ngOnInit() {\r\n        const allFavorites = document.querySelectorAll('.favorite');\r\n        if (allFavorites[allFavorites.length - 1] === this.el.nativeElement && allFavorites.length === this.favoriteItemsCounter()) {\r\n            this.renderer.addClass(this.el.nativeElement, 'last-favorite-option');\r\n        }\r\n    }\r\n}\r\n","import * as lpn from 'google-libphonenumber';\r\nimport { PhoneNumber, PhoneNumberFormat, PhoneNumberUtil } from 'google-libphonenumber';\r\n\r\nimport {\r\n    Component,\r\n    computed,\r\n    forwardRef,\r\n    input,\r\n    InputSignal,\r\n    OnChanges,\r\n    output,\r\n    OutputEmitterRef,\r\n    Signal,\r\n    signal,\r\n    SimpleChange,\r\n    SimpleChanges,\r\n    WritableSignal,\r\n} from '@angular/core';\r\nimport { FormControl, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { CountryISO } from '../model/country-iso.enum';\r\nimport { SearchCountryField } from '../model/search-country-field';\r\nimport { Country } from '../model/country.model';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { LocalPhoneUtils } from \"../utils/local-phone-utils\";\r\nimport { ChangeData } from \"../model/change-data\";\r\nimport { ALL_COUNTRIES } from \"../data/country-code\";\r\nimport { phoneNumberValidator } from \"../validator/p-intl-input-tel.validator\";\r\nimport { DialCodePipe } from '../pipe/dialCode.pipe';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { FavoriteElementInjectorDirective } from '../directives/favorite-element-injector.directive';\r\nimport { InputGroupModule } from 'primeng/inputgroup';\r\nimport { InputGroupAddonModule } from 'primeng/inputgroupaddon';\r\nimport { Select } from 'primeng/select';\r\n\r\n@Component({\r\n    selector: 'p-intl-tel-input',\r\n    templateUrl: 'p-intl-input-tel.component.html',\r\n    providers: [\r\n        {\r\n            provide: NG_VALUE_ACCESSOR,\r\n            useExisting: forwardRef(() => IntlInputTelComponent),\r\n            multi: true,\r\n        },\r\n        {\r\n            provide: NG_VALIDATORS,\r\n            useValue: phoneNumberValidator,\r\n            multi: true,\r\n        },\r\n    ],\r\n    imports: [ InputTextModule, FormsModule, ReactiveFormsModule, DialCodePipe, FavoriteElementInjectorDirective,\r\n        InputGroupModule, InputGroupAddonModule, Select ]\r\n})\r\nexport class IntlInputTelComponent implements OnChanges {\r\n    // Custom css classes\r\n    cssClass: InputSignal<string> = input('');\r\n    favoriteCountries: InputSignal<string[] | undefined> = input();\r\n    // User option to display only some countries\r\n    onlyCountries: InputSignal<string[] | undefined> = input();\r\n    // If true, the country will be set automatically if the user fill the region code\r\n    enableAutoCountrySelect: InputSignal<boolean> = input(true);\r\n    displayPlaceholder: InputSignal<boolean> = input(true);\r\n    customPlaceholder: InputSignal<string | undefined> = input();\r\n    numberFormat: InputSignal<PhoneNumberFormat> = input(PhoneNumberFormat.INTERNATIONAL);\r\n    // Flag to display or not the input search for countries\r\n    displaySearchCountry: InputSignal<boolean> = input(true);\r\n    // Search country property\r\n    searchCountryField: InputSignal<SearchCountryField[]> = input<SearchCountryField[]>([ SearchCountryField.NAME ]);\r\n    searchCountryPlaceholder: InputSignal<string> = input('Search country');\r\n    maxLength: InputSignal<number | undefined> = input();\r\n    // User option to select by default the first item of the list, default true\r\n    selectFirstCountry: InputSignal<boolean> = input(true);\r\n    // Allow or not the phone validation form\r\n    phoneValidation: InputSignal<boolean> = input(true);\r\n    // Customize the input id\r\n    inputId: InputSignal<string> = input('phone');\r\n    selectedCountryISO: InputSignal<CountryISO | undefined> = input();\r\n    separateDialCode: InputSignal<boolean> = input(false);\r\n    // Set the language for search and display name country\r\n    lang: InputSignal<string> = input('fr');\r\n    // Target element to attach the overlay\r\n    appendTo: InputSignal<any | null> = input(null);\r\n    // Custom css classes for the select overlay panel\r\n    panelStyleClass: InputSignal<string> = input('');\r\n\r\n    protected readonly fullPanelStyleClass: Signal<string> = computed(() => `fixWidth ${this.panelStyleClass()}`.trim())\r\n\r\n\r\n    readonly countryChange: OutputEmitterRef<Country> = output<Country>();\r\n\r\n    public readonly SearchCountryField = SearchCountryField;\r\n    public phoneUtil: PhoneNumberUtil = lpn.PhoneNumberUtil.getInstance();\r\n\r\n    public selectedCountry: WritableSignal<Country> = signal<Country>(new Country());\r\n    public countries: Country[] = [];\r\n    public phoneNumber$ = new BehaviorSubject<PhoneNumber>(new PhoneNumber);\r\n    public phoneNumberControl = new FormControl('');\r\n\r\n    public onTouched = () => {\r\n    };\r\n\r\n    public propagateChange = (_: string) => {\r\n    };\r\n\r\n    private get favorites(): Country[] {\r\n        return this.countries.filter(c => c.isFavorite);\r\n    }\r\n\r\n    constructor() {\r\n        this.phoneNumberControl.valueChanges.subscribe(value => {\r\n            this.onPhoneNumberChange(value);\r\n        })\r\n        this.phoneNumber$.subscribe((phoneNumber: PhoneNumber) => {\r\n            this.propagateChange(this.phoneUtil.format(phoneNumber, this.numberFormat()));\r\n        });\r\n    }\r\n\r\n    ngOnChanges(changes: SimpleChanges) {\r\n        if (this.isSelectedCountryChanged(changes['selectedCountryISO']) && !changes['selectedCountryISO'].firstChange) this.updateSelectedCountry();\r\n        if( changes['favoriteCountries'] && !changes['favoriteCountries'].firstChange) this.onFavoriteCountriesChanged();\r\n    }\r\n\r\n    public init(): void {\r\n        this.fetchCountryData();\r\n        if (this.onlyCountries()?.length) this.countries = this.countries.filter((c) => this.onlyCountries()?.includes(c.iso2))\r\n        this.updateSelectedCountry();\r\n    }\r\n\r\n    /* --------------------------------- Events management -------------------------------- */\r\n\r\n    public onPhoneNumberChange(value?: any): void {\r\n        const currentCountryCode = this.selectedCountry().iso2;\r\n        const number = LocalPhoneUtils.getParsedNumber(value, currentCountryCode);\r\n\r\n        // Auto select country based on the extension (and areaCode if needed) (e.g select Canada if number starts with +1 416)\r\n        if (this.enableAutoCountrySelect()) {\r\n            const countryCode = LocalPhoneUtils.getCountryIsoCode(number, number?.getCountryCode()) || currentCountryCode;\r\n            if( countryCode && countryCode !== this.selectedCountry().iso2 ){\r\n                const newCountry = this.countries\r\n                    .sort((a, b) => a.priority - b.priority)\r\n                    .find((c) => c.iso2 === countryCode.toUpperCase());\r\n                if( newCountry ) this.setSelectedCountry(newCountry);\r\n            }\r\n        }\r\n\r\n        this.phoneNumber$.next(number);\r\n    }\r\n\r\n    public onCountrySelect(country: Country, el?: { focus: () => void; }): void {\r\n        let number: PhoneNumber = new PhoneNumber();\r\n        if( country !== this.selectedCountry() ) this.setSelectedCountry(country);\r\n\r\n        const currentValue = this.phoneNumberControl.value;\r\n        if( currentValue ) number = LocalPhoneUtils.getParsedNumber(currentValue, this.selectedCountry().iso2)\r\n\r\n        this.phoneNumber$.next(number)\r\n\r\n        setTimeout(() => el?.focus(), 100)\r\n    }\r\n\r\n    private onFavoriteCountriesChanged(): void {\r\n        this.fetchCountryData();\r\n        this.onCountrySelect(this.selectedCountry());\r\n    }\r\n\r\n    public onInputKeyPress(event: KeyboardEvent): void {\r\n        const allowedChars = /[0-9\\+\\-\\(\\)\\ ]/;\r\n        const allowedCtrlChars = /[axcv]/; // Allows copy-pasting\r\n        const allowedOtherKeys = [\r\n            'ArrowLeft',\r\n            'ArrowUp',\r\n            'ArrowRight',\r\n            'ArrowDown',\r\n            'Home',\r\n            'End',\r\n            'Insert',\r\n            'Delete',\r\n            'Backspace',\r\n            'Tab'\r\n        ];\r\n\r\n        if( !allowedChars.test(event.key)\r\n            && !(event.ctrlKey && allowedCtrlChars.test(event.key))\r\n            && !allowedOtherKeys.includes(event.key) ) event.preventDefault();\r\n    }\r\n\r\n    /* --------------------------------- Overwrite NG_VALUE_ACCESSOR -------------------------------- */\r\n\r\n    registerOnChange(fn: any): void {\r\n        this.propagateChange = fn;\r\n    }\r\n\r\n    registerOnTouched(fn: any) {\r\n        this.onTouched = fn;\r\n    }\r\n\r\n    setDisabledState(isDisabled: boolean): void {\r\n        isDisabled ? this.phoneNumberControl.disable() : this.phoneNumberControl.enable();\r\n    }\r\n\r\n    writeValue(obj: string): void {\r\n        this.init();\r\n        const phoneNumber: ChangeData = LocalPhoneUtils.getChangeData(obj);\r\n        this.setSelectedCountry(this.countries.find(c => c.iso2.toUpperCase() === phoneNumber.countryCode));\r\n        this.phoneNumberControl.setValue(phoneNumber.number || '')\r\n    }\r\n\r\n    /* --------------------------------- Helpers -------------------------------- */\r\n\r\n    protected fetchCountryData(): void {\r\n        const regionsNames = new Intl.DisplayNames([ this.lang() ], {\r\n            type: 'region',\r\n        });\r\n        const favorites = this.favoriteCountries()?.map(code => code.toUpperCase()) ?? [];\r\n\r\n        this.countries = ALL_COUNTRIES.map(country => {\r\n            const countryCode = country[1].toString().toUpperCase();\r\n            return {\r\n                name: regionsNames.of(countryCode) || '',\r\n                iso2: countryCode,\r\n                dialCode: country[2].toString(),\r\n                priority: +country[3] || 0,\r\n                areaCodes: country[4] as string[] | undefined,\r\n                htmlId: `item-${ countryCode }`,\r\n                flagClass: `iti__flag iti__${ countryCode.toLowerCase() }`,\r\n                placeHolder: this.getPlaceholder(countryCode),\r\n                isFavorite: this.favoriteCountries()?.includes(country[1].toString()) ?? false\r\n            };\r\n        }).sort((a, b) => {\r\n            const indexA = favorites.indexOf(a.iso2);\r\n            const indexB = favorites.indexOf(b.iso2);\r\n\r\n            if (a.isFavorite && b.isFavorite) {\r\n                return indexA - indexB;\r\n            }\r\n\r\n            if (a.isFavorite) return -1;\r\n            if (b.isFavorite) return 1;\r\n\r\n            return a.name.localeCompare(b.name);\r\n        });\r\n\r\n        if (this.selectFirstCountry()) {\r\n            const country = this.favoriteCountries()?.length ? this.favorites[0] : this.countries[0];\r\n            this.setSelectedCountry(country);\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Updates selectedCountry.\r\n     */\r\n    private updateSelectedCountry() {\r\n        if (!this.selectedCountryISO()) return;\r\n        const countrySelected = this.countries.find((c) => c.iso2.toLowerCase() === this.selectedCountryISO()?.toLowerCase())\r\n        this.setSelectedCountry(countrySelected);\r\n    }\r\n\r\n    private setSelectedCountry(country?: Country): void {\r\n        if( !country ) return;\r\n        this.selectedCountry.set(country);\r\n        this.countryChange.emit(country);\r\n    }\r\n\r\n    private isSelectedCountryChanged(selectedISO: SimpleChange): boolean {\r\n        return this.countries && selectedISO && selectedISO.currentValue !== selectedISO.previousValue;\r\n    }\r\n\r\n    private getPlaceholder(countryCode: string): string {\r\n        if (!this.displayPlaceholder()) return '';\r\n        if (this.customPlaceholder()) return this.customPlaceholder()!;\r\n        const placeholder = LocalPhoneUtils.getPhoneNumberPlaceHolder(this.numberFormat(), countryCode);\r\n        if (this.separateDialCode() && this.numberFormat() === PhoneNumberFormat.INTERNATIONAL) return LocalPhoneUtils.getChangeData(placeholder).number || '';\r\n        return placeholder\r\n    }\r\n}\r\n","<p-inputgroup>\r\n    <p-inputgroup-addon class=\"p-0 border-none\">\r\n        <p-select class=\"p-inputgroup-addon\" [appendTo]=\"appendTo()\" [options]=\"countries\" [filter]=\"displaySearchCountry()\" [filterFields]=\"searchCountryField()\"\r\n                  [resetFilterOnHide]=\"true\" [disabled]=\"phoneNumberControl.disabled\" [panelStyleClass]=\"fullPanelStyleClass()\" [class.withoutDialCode]=\"!separateDialCode()\"\r\n                    [filterPlaceholder]=\"searchCountryPlaceholder()\" [ngModel]=\"selectedCountry()\" (onChange)=\"onCountrySelect($event.value, input)\">\r\n            <ng-template pTemplate=\"selectedItem\">\r\n                <div class=\"flex align-items-center gap-2\">\r\n                    <div id=\"flag\" [class]=\"selectedCountry().flagClass\"></div>\r\n                    @if (separateDialCode()) {\r\n                        <span id=\"dialcode\" class=\"ms-2\">{{ selectedCountry().dialCode | dialCode }}</span>\r\n                    }\r\n                </div>\r\n            </ng-template>\r\n\r\n            <ng-template let-country pTemplate=\"item\">\r\n                <div class=\"flex align-items-center gap-2 w-full\" [class.favorite]=\"country.isFavorite\" favorite\r\n                     [favoriteItemsCounter]=\"favoriteCountries()?.length\">\r\n                    <div [class]=\"country.flagClass\"></div>\r\n                    <span>{{ country.name }}</span>\r\n                    <span>{{ country.dialCode | dialCode }}</span>\r\n                </div>\r\n            </ng-template>\r\n        </p-select>\r\n    </p-inputgroup-addon>\r\n\r\n    <input pInputText #input [class]=\"'form-control ' + cssClass() \" type=\"tel\" [id]=\"inputId()\" autocomplete=\"off\" (blur)=\"onTouched()\"\r\n           [placeholder]=\"this.selectedCountry().placeHolder\" [formControl]=\"phoneNumberControl\" (keydown)=\"onInputKeyPress($event)\"\r\n           [attr.maxLength]=\"maxLength()\" [attr.validation]=\"phoneValidation()\">\r\n</p-inputgroup>\r\n","import { Directive, ElementRef, OnInit } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n/*\r\n\"Property 'nativeElement' does not exist on type 'FormControl'\".\r\n'NativeElementInjectorDirective' injects nativeElement to each control,\r\nso we can access it from inside validator for example.\r\nMore about this approach and reasons for this:\r\nhttps://github.com/angular/angular/issues/18025\r\nhttps://stackoverflow.com/a/54075119/1617590\r\n*/\r\n@Directive({\r\n    selector: '[ngModel], [formControl], [formControlName]',\r\n    standalone: true\r\n})\r\nexport class NativeElementInjectorDirective implements OnInit {\r\n    constructor(private controlDir: NgControl, private host: ElementRef<HTMLFormElement>) {\r\n    }\r\n\r\n    ngOnInit() {\r\n        //@ts-ignore\r\n        if( this.controlDir.control ) this.controlDir.control['nativeElement'] = this.host.nativeElement\r\n    }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}