{"version":3,"file":"ngx-mat-input-tel.mjs","sources":["../../../projects/ngx-mat-input-tel/src/lib/data/country-code.const.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.validator.ts","../../../projects/ngx-mat-input-tel/src/lib/search.pipe.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.html","../../../projects/ngx-mat-input-tel/src/public-api.ts","../../../projects/ngx-mat-input-tel/src/ngx-mat-input-tel.ts"],"sourcesContent":["export const ALL_COUNTRIES = [\n  // 'name', 'iso2', 'dialCode', 'priority', 'areaCodes'\n  ['Afghanistan (‫افغانستان‬‎)', 'af', '93'],\n  ['Albania (Shqipëri)', 'al', '355'],\n  ['Algeria (‫الجزائر‬‎)', 'dz', '213'],\n  ['American Samoa', 'as', '1', 4, ['684']],\n  ['Andorra', 'ad', '376'],\n  ['Angola', 'ao', '244'],\n  ['Anguilla', 'ai', '1', 4, ['264']],\n  ['Antigua and Barbuda', 'ag', '1', 4, ['268']],\n  ['Argentina', 'ar', '54'],\n  ['Armenia (Հայաստան)', 'am', '374'],\n  ['Aruba', 'aw', '297'],\n  ['Australia', 'au', '61', 0],\n  ['Austria (Österreich)', 'at', '43'],\n  ['Azerbaijan (Azərbaycan)', 'az', '994'],\n  ['Bahamas', 'bs', '1', 4, ['242']],\n  ['Bahrain (‫البحرين‬‎)', 'bh', '973'],\n  ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n  ['Barbados', 'bb', '1', 4, ['246']],\n  ['Belarus (Беларусь)', 'by', '375'],\n  ['Belgium (België)', 'be', '32'],\n  ['Belize', 'bz', '501'],\n  ['Benin (Bénin)', 'bj', '229'],\n  ['Bermuda', 'bm', '1', 4, ['441']],\n  ['Bhutan (འབྲུག)', 'bt', '975'],\n  ['Bolivia', 'bo', '591'],\n  ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n  ['Botswana', 'bw', '267'],\n  ['Brazil (Brasil)', 'br', '55'],\n  ['British Indian Ocean Territory', 'io', '246'],\n  ['British Virgin Islands', 'vg', '1', 4, ['284']],\n  ['Brunei', 'bn', '673'],\n  ['Bulgaria (България)', 'bg', '359'],\n  ['Burkina Faso', 'bf', '226'],\n  ['Burundi (Uburundi)', 'bi', '257'],\n  ['Cambodia (កម្ពុជា)', 'kh', '855'],\n  ['Cameroon (Cameroun)', 'cm', '237'],\n  [\n    'Canada',\n    'ca',\n    '1',\n    1,\n    [\n      '204',\n      '226',\n      '236',\n      '249',\n      '250',\n      '289',\n      '306',\n      '343',\n      '365',\n      '387',\n      '403',\n      '416',\n      '418',\n      '431',\n      '437',\n      '438',\n      '450',\n      '506',\n      '514',\n      '519',\n      '548',\n      '579',\n      '581',\n      '587',\n      '604',\n      '613',\n      '639',\n      '647',\n      '672',\n      '705',\n      '709',\n      '742',\n      '778',\n      '780',\n      '782',\n      '807',\n      '819',\n      '825',\n      '867',\n      '873',\n      '902',\n      '905',\n    ],\n  ],\n  ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n  ['Caribbean Netherlands', 'bq', '599', 1],\n  ['Cayman Islands', 'ky', '1', 4, ['345']],\n  ['Central African Republic (République centrafricaine)', 'cf', '236'],\n  ['Chad (Tchad)', 'td', '235'],\n  ['Chile', 'cl', '56'],\n  ['China (中国)', 'cn', '86'],\n  ['Christmas Island', 'cx', '61', 2],\n  ['Cocos (Keeling) Islands', 'cc', '61', 1],\n  ['Colombia', 'co', '57'],\n  ['Comoros (‫جزر القمر‬‎)', 'km', '269'],\n  ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n  ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n  ['Cook Islands', 'ck', '682'],\n  ['Costa Rica', 'cr', '506'],\n  ['Côte d’Ivoire', 'ci', '225'],\n  ['Croatia (Hrvatska)', 'hr', '385'],\n  ['Cuba', 'cu', '53'],\n  ['Curaçao', 'cw', '599', 0],\n  ['Cyprus (Κύπρος)', 'cy', '357'],\n  ['Czech Republic (Česká republika)', 'cz', '420'],\n  ['Denmark (Danmark)', 'dk', '45'],\n  ['Djibouti', 'dj', '253'],\n  ['Dominica', 'dm', '1', 4, ['767']],\n  ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n  ['Ecuador', 'ec', '593'],\n  ['Egypt (‫مصر‬‎)', 'eg', '20'],\n  ['El Salvador', 'sv', '503'],\n  ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n  ['Eritrea', 'er', '291'],\n  ['Estonia (Eesti)', 'ee', '372'],\n  ['Ethiopia', 'et', '251'],\n  ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n  ['Faroe Islands (Føroyar)', 'fo', '298'],\n  ['Fiji', 'fj', '679'],\n  ['Finland (Suomi)', 'fi', '358', 0],\n  ['France', 'fr', '33'],\n  ['French Guiana (Guyane française)', 'gf', '594'],\n  ['French Polynesia (Polynésie française)', 'pf', '689'],\n  ['Gabon', 'ga', '241'],\n  ['Gambia', 'gm', '220'],\n  ['Georgia (საქართველო)', 'ge', '995'],\n  ['Germany (Deutschland)', 'de', '49'],\n  ['Ghana (Gaana)', 'gh', '233'],\n  ['Gibraltar', 'gi', '350'],\n  ['Greece (Ελλάδα)', 'gr', '30'],\n  ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n  ['Grenada', 'gd', '1', 4, ['473']],\n  ['Guadeloupe', 'gp', '590', 0],\n  ['Guam', 'gu', '1', 4, ['671']],\n  ['Guatemala', 'gt', '502'],\n  ['Guernsey', 'gg', '44', 1],\n  ['Guinea (Guinée)', 'gn', '224'],\n  ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n  ['Guyana', 'gy', '592'],\n  ['Haiti', 'ht', '509'],\n  ['Honduras', 'hn', '504'],\n  ['Hong Kong (香港)', 'hk', '852'],\n  ['Hungary (Magyarország)', 'hu', '36'],\n  ['Iceland (Ísland)', 'is', '354'],\n  ['India (भारत)', 'in', '91'],\n  ['Indonesia', 'id', '62'],\n  ['Iran (‫ایران‬‎)', 'ir', '98'],\n  ['Iraq (‫العراق‬‎)', 'iq', '964'],\n  ['Ireland', 'ie', '353'],\n  ['Isle of Man', 'im', '44', 2],\n  ['Israel (‫ישראל‬‎)', 'il', '972'],\n  ['Italy (Italia)', 'it', '39', 0],\n  ['Jamaica', 'jm', '1', 4, ['876', '658']],\n  ['Japan (日本)', 'jp', '81'],\n  ['Jersey', 'je', '44', 3],\n  ['Jordan (‫الأردن‬‎)', 'jo', '962'],\n  ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n  ['Kenya', 'ke', '254'],\n  ['Kiribati', 'ki', '686'],\n  ['Kosovo', 'xk', '383'],\n  ['Kuwait (‫الكويت‬‎)', 'kw', '965'],\n  ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n  ['Laos (ລາວ)', 'la', '856'],\n  ['Latvia (Latvija)', 'lv', '371'],\n  ['Lebanon (‫لبنان‬‎)', 'lb', '961'],\n  ['Lesotho', 'ls', '266'],\n  ['Liberia', 'lr', '231'],\n  ['Libya (‫ليبيا‬‎)', 'ly', '218'],\n  ['Liechtenstein', 'li', '423'],\n  ['Lithuania (Lietuva)', 'lt', '370'],\n  ['Luxembourg', 'lu', '352'],\n  ['Macau (澳門)', 'mo', '853'],\n  ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n  ['Madagascar (Madagasikara)', 'mg', '261'],\n  ['Malawi', 'mw', '265'],\n  ['Malaysia', 'my', '60'],\n  ['Maldives', 'mv', '960'],\n  ['Mali', 'ml', '223'],\n  ['Malta', 'mt', '356'],\n  ['Marshall Islands', 'mh', '692'],\n  ['Martinique', 'mq', '596'],\n  ['Mauritania (‫موريتانيا‬‎)', 'mr', '222'],\n  ['Mauritius (Moris)', 'mu', '230'],\n  ['Mayotte', 'yt', '262', 1],\n  ['Mexico (México)', 'mx', '52'],\n  ['Micronesia', 'fm', '691'],\n  ['Moldova (Republica Moldova)', 'md', '373'],\n  ['Monaco', 'mc', '377'],\n  ['Mongolia (Монгол)', 'mn', '976'],\n  ['Montenegro (Crna Gora)', 'me', '382'],\n  ['Montserrat', 'ms', '1664'],\n  ['Morocco (‫المغرب‬‎)', 'ma', '212', 0],\n  ['Mozambique (Moçambique)', 'mz', '258'],\n  ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n  ['Namibia (Namibië)', 'na', '264'],\n  ['Nauru', 'nr', '674'],\n  ['Nepal (नेपाल)', 'np', '977'],\n  ['Netherlands (Nederland)', 'nl', '31'],\n  ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n  ['New Zealand', 'nz', '64'],\n  ['Nicaragua', 'ni', '505'],\n  ['Niger (Nijar)', 'ne', '227'],\n  ['Nigeria', 'ng', '234'],\n  ['Niue', 'nu', '683'],\n  ['Norfolk Island', 'nf', '672'],\n  ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n  ['Northern Mariana Islands', 'mp', '1670'],\n  ['Norway (Norge)', 'no', '47', 0],\n  ['Oman (‫عُمان‬‎)', 'om', '968'],\n  ['Pakistan (‫پاکستان‬‎)', 'pk', '92'],\n  ['Palau', 'pw', '680'],\n  ['Palestine (‫فلسطين‬‎)', 'ps', '970'],\n  ['Panama (Panamá)', 'pa', '507'],\n  ['Papua New Guinea', 'pg', '675'],\n  ['Paraguay', 'py', '595'],\n  ['Peru (Perú)', 'pe', '51'],\n  ['Philippines', 'ph', '63'],\n  ['Poland (Polska)', 'pl', '48'],\n  ['Portugal', 'pt', '351'],\n  ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n  ['Qatar (‫قطر‬‎)', 'qa', '974'],\n  ['Réunion (La Réunion)', 're', '262', 0],\n  ['Romania (România)', 'ro', '40'],\n  ['Russia (Россия)', 'ru', '7', 0],\n  ['Rwanda', 'rw', '250'],\n  ['Saint Barthélemy', 'bl', '590', 1],\n  ['Saint Helena', 'sh', '290'],\n  ['Saint Kitts and Nevis', 'kn', '1', 4, ['869']],\n  ['Saint Lucia', 'lc', '1', 4, ['758']],\n  ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n  ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n  ['Saint Vincent and the Grenadines', 'vc', '1784'],\n  ['Samoa', 'ws', '685'],\n  ['San Marino', 'sm', '378'],\n  ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n  ['Saudi Arabia (‫المملكة العربية السعودية‬‎)', 'sa', '966'],\n  ['Senegal (Sénégal)', 'sn', '221'],\n  ['Serbia (Србија)', 'rs', '381'],\n  ['Seychelles', 'sc', '248'],\n  ['Sierra Leone', 'sl', '232'],\n  ['Singapore', 'sg', '65'],\n  ['Sint Maarten', 'sx', '1', 4, ['721']],\n  ['Slovakia (Slovensko)', 'sk', '421'],\n  ['Slovenia (Slovenija)', 'si', '386'],\n  ['Solomon Islands', 'sb', '677'],\n  ['Somalia (Soomaaliya)', 'so', '252'],\n  ['South Africa', 'za', '27'],\n  ['South Korea (대한민국)', 'kr', '82'],\n  ['South Sudan (‫جنوب السودان‬‎)', 'ss', '211'],\n  ['Spain (España)', 'es', '34'],\n  ['Sri Lanka (ශ්‍රී ලංකාව)', 'lk', '94'],\n  ['Sudan (‫السودان‬‎)', 'sd', '249'],\n  ['Suriname', 'sr', '597'],\n  ['Svalbard and Jan Mayen', 'sj', '47', 1],\n  ['Swaziland', 'sz', '268'],\n  ['Sweden (Sverige)', 'se', '46'],\n  ['Switzerland (Schweiz)', 'ch', '41'],\n  ['Syria (‫سوريا‬‎)', 'sy', '963'],\n  ['Taiwan (台灣)', 'tw', '886'],\n  ['Tajikistan', 'tj', '992'],\n  ['Tanzania', 'tz', '255'],\n  ['Thailand (ไทย)', 'th', '66'],\n  ['Timor-Leste', 'tl', '670'],\n  ['Togo', 'tg', '228'],\n  ['Tokelau', 'tk', '690'],\n  ['Tonga', 'to', '676'],\n  ['Trinidad and Tobago', 'tt', '1', 4, ['868']],\n  ['Tunisia (‫تونس‬‎)', 'tn', '216'],\n  ['Turkey (Türkiye)', 'tr', '90'],\n  ['Turkmenistan', 'tm', '993'],\n  ['Turks and Caicos Islands', 'tc', '1', 4, ['649']],\n  ['Tuvalu', 'tv', '688'],\n  ['U.S. Virgin Islands', 'vi', '1', 4, ['340']],\n  ['Uganda', 'ug', '256'],\n  ['Ukraine (Україна)', 'ua', '380'],\n  ['United Arab Emirates (‫الإمارات العربية المتحدة‬‎)', 'ae', '971'],\n  ['United Kingdom', 'gb', '44', 0],\n  ['United States', 'us', '1', 0],\n  ['Uruguay', 'uy', '598'],\n  ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n  ['Vanuatu', 'vu', '678'],\n  ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n  ['Venezuela', 've', '58'],\n  ['Vietnam (Việt Nam)', 'vn', '84'],\n  ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n  ['Western Sahara (‫الصحراء الغربية‬‎)', 'eh', '212', 1],\n  ['Yemen (‫اليمن‬‎)', 'ye', '967'],\n  ['Zambia', 'zm', '260'],\n  ['Zimbabwe', 'zw', '263'],\n  ['Åland Islands', 'ax', '358', 1],\n]\n\nexport const EXAMPLES: any = {\n  // Examples\n  '001': '001',\n  AC: '40123',\n  AD: '312345',\n  AE: '501234567',\n  AF: '701234567',\n  AG: '2684641234',\n  AI: '2642351234',\n  AL: '662123456',\n  AM: '77123456',\n  AO: '923123456',\n  AR: '91123456789',\n  AS: '6847331234',\n  AT: '664123456',\n  AU: '412345678',\n  AW: '5601234',\n  AX: '412345678',\n  AZ: '401234567',\n  BA: '61123456',\n  BB: '2462501234',\n  BD: '1812345678',\n  BE: '470123456',\n  BF: '70123456',\n  BG: '48123456',\n  BH: '36001234',\n  BI: '79561234',\n  BJ: '90011234',\n  BL: '690001234',\n  BM: '4413701234',\n  BN: '7123456',\n  BO: '71234567',\n  BQ: '3181234',\n  BR: '11961234567',\n  BS: '2423591234',\n  BT: '17123456',\n  BW: '71123456',\n  BY: '294911911',\n  BZ: '6221234',\n  CA: '5062345678',\n  CC: '412345678',\n  CD: '991234567',\n  CF: '70012345',\n  CG: '061234567',\n  CH: '781234567',\n  CI: '01234567',\n  CK: '71234',\n  CL: '221234567',\n  CM: '671234567',\n  CN: '13123456789',\n  CO: '3211234567',\n  CR: '83123456',\n  CU: '51234567',\n  CV: '9911234',\n  CW: '95181234',\n  CX: '412345678',\n  CY: '96123456',\n  CZ: '601123456',\n  DE: '15123456789',\n  DJ: '77831001',\n  DK: '32123456',\n  DM: '7672251234',\n  DO: '8092345678',\n  DZ: '551234567',\n  EC: '991234567',\n  EE: '51234567',\n  EG: '1001234567',\n  EH: '650123456',\n  ER: '7123456',\n  ES: '612345678',\n  ET: '911234567',\n  FI: '412345678',\n  FJ: '7012345',\n  FK: '51234',\n  FM: '3501234',\n  FO: '211234',\n  FR: '612345678',\n  GA: '06031234',\n  GB: '7400123456',\n  GD: '4734031234',\n  GE: '555123456',\n  GF: '694201234',\n  GG: '7781123456',\n  GH: '231234567',\n  GI: '57123456',\n  GL: '221234',\n  GM: '3012345',\n  GN: '601123456',\n  GP: '690001234',\n  GQ: '222123456',\n  GR: '6912345678',\n  GT: '51234567',\n  GU: '6713001234',\n  GW: '955012345',\n  GY: '6091234',\n  HK: '51234567',\n  HN: '91234567',\n  HR: '921234567',\n  HT: '34101234',\n  HU: '201234567',\n  ID: '812345678',\n  IE: '850123456',\n  IL: '502345678',\n  IM: '7924123456',\n  IN: '8123456789',\n  IO: '3801234',\n  IQ: '7912345678',\n  IR: '9123456789',\n  IS: '6111234',\n  IT: '3123456789',\n  JE: '7797712345',\n  JM: '8762101234',\n  JO: '790123456',\n  JP: '9012345678',\n  KE: '712123456',\n  KG: '700123456',\n  KH: '91234567',\n  KI: '72001234',\n  KM: '3212345',\n  KN: '8697652917',\n  KP: '1921234567',\n  KR: '1000000000',\n  KW: '50012345',\n  KY: '3453231234',\n  KZ: '7710009998',\n  LA: '2023123456',\n  LB: '71123456',\n  LC: '7582845678',\n  LI: '660234567',\n  LK: '712345678',\n  LR: '770123456',\n  LS: '50123456',\n  LT: '61234567',\n  LU: '628123456',\n  LV: '21234567',\n  LY: '912345678',\n  MA: '650123456',\n  MC: '612345678',\n  MD: '62112345',\n  ME: '67622901',\n  MF: '690001234',\n  MG: '321234567',\n  MH: '2351234',\n  MK: '72345678',\n  ML: '65012345',\n  MM: '92123456',\n  MN: '88123456',\n  MO: '66123456',\n  MP: '6702345678',\n  MQ: '696201234',\n  MR: '22123456',\n  MS: '6644923456',\n  MT: '96961234',\n  MU: '52512345',\n  MV: '7712345',\n  MW: '991234567',\n  MX: '12221234567',\n  MY: '123456789',\n  MZ: '821234567',\n  NA: '811234567',\n  NC: '751234',\n  NE: '93123456',\n  NF: '381234',\n  NG: '8021234567',\n  NI: '81234567',\n  NL: '612345678',\n  NO: '40612345',\n  NP: '9841234567',\n  NR: '5551234',\n  NU: '8884012',\n  NZ: '211234567',\n  OM: '92123456',\n  PA: '61234567',\n  PE: '912345678',\n  PF: '87123456',\n  PG: '70123456',\n  PH: '9051234567',\n  PK: '3012345678',\n  PL: '512345678',\n  PM: '551234',\n  PR: '7872345678',\n  PS: '599123456',\n  PT: '912345678',\n  PW: '6201234',\n  PY: '961456789',\n  QA: '33123456',\n  RE: '692123456',\n  RO: '712034567',\n  RS: '601234567',\n  RU: '9123456789',\n  RW: '720123456',\n  SA: '512345678',\n  SB: '7421234',\n  SC: '2510123',\n  SD: '911231234',\n  SE: '701234567',\n  SG: '81234567',\n  SH: '51234',\n  SI: '31234567',\n  SJ: '41234567',\n  SK: '912123456',\n  SL: '25123456',\n  SM: '66661212',\n  SN: '701234567',\n  SO: '71123456',\n  SR: '7412345',\n  SS: '977123456',\n  ST: '9812345',\n  SV: '70123456',\n  SX: '7215205678',\n  SY: '944567890',\n  SZ: '76123456',\n  TA: '8999',\n  TC: '6492311234',\n  TD: '63012345',\n  TG: '90112345',\n  TH: '812345678',\n  TJ: '917123456',\n  TK: '7290',\n  TL: '77212345',\n  TM: '66123456',\n  TN: '20123456',\n  TO: '7715123',\n  TR: '5012345678',\n  TT: '8682911234',\n  TV: '901234',\n  TW: '912345678',\n  TZ: '621234567',\n  UA: '501234567',\n  UG: '712345678',\n  US: '2015550123',\n  UY: '94231234',\n  UZ: '912345678',\n  VA: '3123456789',\n  VC: '7844301234',\n  VE: '4121234567',\n  VG: '2843001234',\n  VI: '3406421234',\n  VN: '912345678',\n  VU: '5912345',\n  WF: '501234',\n  WS: '7212345',\n  XK: '43201234',\n  YE: '712345678',\n  YT: '639012345',\n  ZA: '711234567',\n  ZM: '955123456',\n  ZW: '712345678',\n}\n","import { AbstractControl, ValidationErrors } from '@angular/forms'\nimport { parsePhoneNumber, PhoneNumber } from 'libphonenumber-js'\n\nexport const ngxMatInputTelValidator = (control: AbstractControl): ValidationErrors | null => {\n  const error = { validatePhoneNumber: true }\n  let numberInstance: PhoneNumber\n\n  if (control.value) {\n    try {\n      numberInstance = parsePhoneNumber(control.value)\n    } catch (e) {\n      return error\n    }\n\n    if (numberInstance && !numberInstance.isValid()) {\n      if (!control.touched) {\n        control.markAsTouched()\n      }\n      return error\n    }\n  }\n  return null\n}\n","import { Pipe, PipeTransform } from '@angular/core'\n\nimport { Country } from '../lib/model/country.model'\n\n@Pipe({\n  name: 'search',\n  standalone: true,\n})\nexport class SearchPipe implements PipeTransform {\n  transform(countries: Country[], searchCriteria?: string): Country[] {\n    if (!searchCriteria || searchCriteria === '') {\n      return countries\n    }\n\n    return countries.filter((country) => {\n      return `${country.name}+${country.dialCode}${\n        country.areaCodes ? country.areaCodes.join(',') : ''\n      }`\n        .toLowerCase()\n        .includes(searchCriteria.toLowerCase())\n    })\n  }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { NgClass } from '@angular/common'\nimport {\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  DoCheck,\n  ElementRef,\n  EventEmitter,\n  HostBinding,\n  Input,\n  OnDestroy,\n  OnInit,\n  Optional,\n  Output,\n  Self,\n  ViewChild,\n  WritableSignal,\n  booleanAttribute,\n  signal,\n} from '@angular/core'\nimport {\n  FormControl,\n  FormGroupDirective,\n  FormsModule,\n  NG_VALIDATORS,\n  NgControl,\n  NgForm,\n  ReactiveFormsModule,\n} from '@angular/forms'\nimport { ErrorStateMatcher, MatRippleModule } from '@angular/material/core'\nimport { MatDividerModule } from '@angular/material/divider'\nimport { MatFormFieldControl } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatMenu, MatMenuModule } from '@angular/material/menu'\nimport {\n  AsYouType,\n  CountryCode as CC,\n  CountryCode,\n  E164Number,\n  NationalNumber,\n  PhoneNumber,\n  getExampleNumber,\n  parsePhoneNumberFromString,\n} from 'libphonenumber-js'\nimport { Subject } from 'rxjs'\nimport { ALL_COUNTRIES, EXAMPLES } from './data/country-code.const'\nimport { Country } from './model/country.model'\nimport { PhoneNumberFormat } from './model/phone-number-format.model'\nimport { ngxMatInputTelValidator } from './ngx-mat-input-tel.validator'\nimport { SearchPipe } from './search.pipe'\n\nclass ngxMatInputTelBase {\n  constructor(\n    public _defaultErrorStateMatcher: ErrorStateMatcher,\n    public _parentForm: NgForm,\n    public _parentFormGroup: FormGroupDirective,\n    public ngControl: NgControl,\n  ) {}\n}\n\n@Component({\n  selector: 'ngx-mat-input-tel',\n  templateUrl: './ngx-mat-input-tel.component.html',\n  styleUrls: ['./ngx-mat-input-tel.component.scss'],\n  providers: [\n    { provide: MatFormFieldControl, useExisting: NgxMatInputTelComponent },\n    {\n      provide: NG_VALIDATORS,\n      useValue: ngxMatInputTelValidator,\n      multi: true,\n    },\n  ],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgClass,\n    // Forms\n    FormsModule,\n    ReactiveFormsModule,\n    MatInputModule,\n    // Mat\n    MatMenuModule,\n    MatRippleModule,\n    MatDividerModule,\n    // Pipes\n    SearchPipe,\n  ],\n})\nexport class NgxMatInputTelComponent\n  extends ngxMatInputTelBase\n  implements OnInit, DoCheck, OnDestroy\n{\n  static nextId = 0\n  @ViewChild(MatMenu) matMenu!: MatMenu\n  @ViewChild('menuSearchInput', { static: false }) menuSearchInput?: ElementRef<HTMLInputElement>\n  @ViewChild('focusable', { static: false }) focusable!: ElementRef\n\n  @HostBinding()\n  id = `ngx-mat-input-tel-${NgxMatInputTelComponent.nextId++}`\n  @HostBinding('class.ngx-floating')\n  get shouldLabelFloat(): boolean {\n    return this.focused || !this.empty\n  }\n\n  @Input() autocomplete: 'off' | 'tel' = 'off'\n  @Input() cssClass?: string\n  @Input() defaultCountry?: CountryCode\n  @Input() errorStateMatcher: ErrorStateMatcher = this._defaultErrorStateMatcher\n  @Input() maxLength: string | number = 15\n  @Input() name?: string\n  @Input() placeholder: string = ''\n  @Input() preferredCountries: string[] = []\n\n  @Input() set onlyCountries(countryCodes: string[]) {\n    if (countryCodes.length) {\n      this.$availableCountries.set(this._getFilteredCountries(countryCodes))\n    }\n\n    this._setPreferredCountriesInDropDown()\n    this._setDefaultCountry()\n  }\n\n  @Input() searchPlaceholder = 'Search ...'\n  @Input() validation: 'isValid' | 'isPossible' = 'isValid'\n  @Input({ transform: booleanAttribute }) enablePlaceholder = false\n  @Input({ transform: booleanAttribute }) enableSearch = false\n  @Input({ transform: booleanAttribute }) resetOnChange = false\n  @Input()\n  set format(value: PhoneNumberFormat) {\n    this._format = value\n    this.phoneNumber = this.formattedPhoneNumber()\n    this.stateChanges.next()\n  }\n  get format(): PhoneNumberFormat {\n    return this._format\n  }\n\n  private _required = false\n  @Input({ transform: booleanAttribute })\n  set required(value: boolean) {\n    this._required = coerceBooleanProperty(value)\n    this.stateChanges.next(undefined)\n  }\n  get required(): boolean {\n    return this._required\n  }\n\n  private _disabled = false\n  @Input({ alias: 'disabled', transform: booleanAttribute })\n  set disabled(value: boolean) {\n    this._disabled = coerceBooleanProperty(value)\n    this.stateChanges.next(undefined)\n  }\n  get disabled(): boolean {\n    return this._disabled\n  }\n\n  get empty(): boolean {\n    return !this.phoneNumber\n  }\n\n  @Output()\n  countryChanged: EventEmitter<Country> = new EventEmitter<Country>()\n\n  stateChanges = new Subject<void>()\n  focused = false\n  describedBy = ''\n  phoneNumber?: E164Number | NationalNumber = '' as E164Number | NationalNumber\n  private _allCountries: Country[] = []\n  $availableCountries = signal<Country[]>(this._initAllCountries())\n  $preferredCountriesInDropDown = signal<Country[]>([])\n  $selectedCountry!: WritableSignal<Country>\n  numberInstance?: PhoneNumber\n  value?: any\n  searchCriteria?: string\n\n  private _previousFormattedNumber?: string\n  private _format: PhoneNumberFormat = 'default'\n\n  onTouched = () => {}\n  propagateChange = (_: any) => {}\n\n  private errorState?: boolean\n\n  constructor(\n    private _changeDetectorRef: ChangeDetectorRef,\n    private _focusMonitor: FocusMonitor,\n    private _elementRef: ElementRef<HTMLElement>,\n    @Optional() @Self() _ngControl: NgControl,\n    @Optional() _parentForm: NgForm,\n    @Optional() _parentFormGroup: FormGroupDirective,\n    _defaultErrorStateMatcher: ErrorStateMatcher,\n  ) {\n    super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, _ngControl)\n\n    _focusMonitor.monitor(_elementRef, true).subscribe((origin: any) => {\n      if (this.focused && !origin) {\n        this.onTouched()\n      }\n      this.focused = !!origin\n      this.stateChanges.next()\n    })\n\n    if (this.ngControl != null) {\n      this.ngControl.valueAccessor = this\n    }\n  }\n\n  ngOnInit() {\n    this._setPreferredCountriesInDropDown()\n    this._setDefaultCountry()\n\n    this._changeDetectorRef.markForCheck()\n    this.stateChanges.next()\n  }\n\n  ngOnDestroy() {\n    this.stateChanges.complete()\n    this._focusMonitor.stopMonitoring(this._elementRef)\n  }\n\n  ngDoCheck(): void {\n    if (this.ngControl) {\n      const oldState = this.errorState\n      const newState = this.errorStateMatcher.isErrorState(this.ngControl.control, this._parentForm)\n\n      this.errorState =\n        (newState && (!this.ngControl.control?.value || this.ngControl.control?.touched)) ||\n        (!this.focused ? newState : false)\n\n      if (oldState !== newState) {\n        this.errorState = newState\n        this.stateChanges.next()\n      }\n    }\n  }\n\n  updateErrorState() {\n    if (\n      this.ngControl &&\n      this.ngControl.invalid &&\n      (this.ngControl.touched || (this._parentForm && this._parentForm.submitted))\n    ) {\n      const currentState = this.errorStateMatcher.isErrorState(\n        this.ngControl.control as FormControl,\n        this.ngControl?.value,\n      )\n      if (currentState !== this.errorState) {\n        this.errorState = currentState\n        this._changeDetectorRef.markForCheck()\n      }\n    }\n  }\n\n  private _setPreferredCountriesInDropDown(countries = this.preferredCountries) {\n    this.$preferredCountriesInDropDown.set(this._getFilteredCountries(countries))\n  }\n\n  private _setDefaultCountry() {\n    let country: Country\n\n    if (this.numberInstance?.country) {\n      // If an existing number is present, we use it to determine country\n      country = this.getCountry(this.numberInstance.country)\n    } else if (this.defaultCountry) {\n      country = this.getCountry(this.defaultCountry)\n    } else if (this.$preferredCountriesInDropDown().length) {\n      country = this.$preferredCountriesInDropDown()[0]\n    } else {\n      country = this._allCountries[0]\n    }\n    this.$selectedCountry = signal<Country>(country)\n    this.countryChanged.emit(country)\n  }\n\n  private _getFilteredCountries(countryCodes: string[]) {\n    const filteredCountries = this._allCountries.filter((c) => countryCodes.includes(c.iso2))\n\n    return filteredCountries.sort(\n      (a, b) => countryCodes.indexOf(a.iso2) - countryCodes.indexOf(b.iso2),\n    )\n  }\n\n  public onPhoneNumberChange(): void {\n    try {\n      this._setCountry()\n    } catch (e) {\n      // Pass a value to trigger the validator error\n      this.value = this.formattedPhoneNumber().toString()\n    }\n\n    this.propagateChange(this.value)\n    this._changeDetectorRef.markForCheck()\n  }\n\n  private _setCountry() {\n    if (!this.phoneNumber) {\n      this.value = null\n      return\n    }\n\n    const numberInstance = parsePhoneNumberFromString(\n      this.phoneNumber.toString(),\n      this.$selectedCountry().iso2.toUpperCase() as CC,\n    )\n    if (!numberInstance) return\n    this.numberInstance = numberInstance\n\n    this.formatAsYouTypeIfEnabled()\n    this.value = this.numberInstance?.number\n\n    if (!this.value) throw new Error('Incorrect phone number')\n\n    if (\n      this.numberInstance &&\n      (this.validation === 'isPossible'\n        ? this.numberInstance.isPossible()\n        : this.numberInstance.isValid())\n    ) {\n      if (this.phoneNumber !== this.formattedPhoneNumber()) {\n        this.phoneNumber = this.formattedPhoneNumber()\n      }\n      if (\n        this.$selectedCountry().iso2 !== this.numberInstance.country &&\n        this.numberInstance.country\n      ) {\n        this.$selectedCountry.set(this.getCountry(this.numberInstance.country))\n        this.countryChanged.emit(this.$selectedCountry())\n      }\n    }\n  }\n\n  public onCountrySelect(country: Country, el: HTMLInputElement): void {\n    if (this.phoneNumber) {\n      this.phoneNumber = this.numberInstance?.nationalNumber\n    }\n    if (this.resetOnChange && this.$selectedCountry() !== country) {\n      this.reset()\n    }\n\n    this.$selectedCountry.set(country)\n    this.countryChanged.emit(this.$selectedCountry())\n\n    this.onPhoneNumberChange()\n    el.focus()\n  }\n\n  public getCountry(code: CC): Country {\n    return (this._allCountries.find((c) => c.iso2 === code.toLowerCase()) || {\n      name: 'UN',\n      iso2: 'UN',\n      dialCode: undefined,\n      priority: 0,\n      areaCodes: undefined,\n      flagClass: 'UN',\n      placeHolder: '',\n    }) as Country\n  }\n\n  public onInputKeyPress(event: any): void {\n    const pattern = /[0-9+\\- ]/\n    if (!pattern.test(event.key)) {\n      event.preventDefault()\n    }\n  }\n\n  protected _initAllCountries(): Country[] {\n    this._allCountries = ALL_COUNTRIES.map((c) => {\n      const country: Country = {\n        name: c[0].toString(),\n        iso2: c[1].toString(),\n        dialCode: c[2].toString(),\n        priority: +c[3] || 0,\n        areaCodes: (c[4] as string[]) || undefined,\n        flagClass: c[1].toString().toUpperCase(),\n        placeHolder: '',\n      }\n\n      if (this.enablePlaceholder) {\n        country.placeHolder = this._getPhoneNumberPlaceHolder(country.iso2.toUpperCase())\n      }\n\n      return country\n    })\n\n    return this._allCountries\n  }\n\n  private _getPhoneNumberPlaceHolder(countryISOCode: any): string | undefined {\n    try {\n      return getExampleNumber(countryISOCode, EXAMPLES)?.number\n    } catch (e) {\n      return e as any\n    }\n  }\n\n  registerOnChange(fn: any): void {\n    this.propagateChange = fn\n  }\n\n  registerOnTouched(fn: any): void {\n    this.onTouched = fn\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled\n    this._changeDetectorRef.markForCheck()\n    this.stateChanges.next(undefined)\n  }\n\n  writeValue(value: any): void {\n    if (value) {\n      this.numberInstance = parsePhoneNumberFromString(value)\n      if (this.numberInstance) {\n        const countryCode = this.numberInstance.country\n        this.phoneNumber = this.formattedPhoneNumber()\n\n        if (!countryCode) return\n\n        if (!this.$selectedCountry) {\n          // Init value was given\n          this.$selectedCountry = signal<Country>(this.getCountry(countryCode))\n        } else {\n          this.$selectedCountry.set(this.getCountry(countryCode))\n        }\n        if (\n          this.$selectedCountry().dialCode &&\n          !this.preferredCountries.includes(this.$selectedCountry().iso2)\n        ) {\n          this.$preferredCountriesInDropDown.update((values) => {\n            return [...values, this.$selectedCountry()]\n          })\n        }\n        this.countryChanged.emit(this.$selectedCountry())\n\n        // Initial value is set\n        this.stateChanges.next()\n      } else {\n        this.phoneNumber = value\n        this.stateChanges.next(undefined)\n      }\n    }\n\n    // Value is set from outside using setValue()\n    this.onPhoneNumberChange()\n    this._changeDetectorRef.markForCheck()\n  }\n\n  setDescribedByIds(ids: string[]) {\n    this.describedBy = ids.join(' ')\n  }\n\n  onContainerClick(event: MouseEvent): void {\n    if ((event.target as Element).tagName.toLowerCase() !== 'input') {\n      this._elementRef.nativeElement.querySelector('input')!.focus()\n    }\n  }\n\n  reset() {\n    this.phoneNumber = '' as E164Number | NationalNumber\n    this.propagateChange(null)\n\n    this._changeDetectorRef.markForCheck()\n    this.stateChanges.next(undefined)\n  }\n\n  private formattedPhoneNumber(): E164Number | NationalNumber {\n    if (!this.numberInstance) {\n      return (this.phoneNumber?.toString() || '') as E164Number | NationalNumber\n    }\n    switch (this.format) {\n      case 'national':\n        return this.numberInstance.formatNational() as E164Number | NationalNumber\n      case 'international':\n        return this.numberInstance.formatInternational() as E164Number | NationalNumber\n      default:\n        return this.numberInstance.nationalNumber.toString() as E164Number | NationalNumber\n    }\n  }\n\n  private formatAsYouTypeIfEnabled(): void {\n    if (this.format === 'default') {\n      return\n    }\n    const asYouType: AsYouType = new AsYouType(this.$selectedCountry().iso2.toUpperCase() as CC)\n    // To avoid caret positioning we apply formatting only if the caret is at the end:\n    if (!this.phoneNumber) return\n\n    if (this.phoneNumber?.toString().startsWith(this._previousFormattedNumber || '')) {\n      this.phoneNumber = asYouType.input(this.phoneNumber.toString()) as E164Number | NationalNumber\n    }\n    this._previousFormattedNumber = this.phoneNumber.toString()\n  }\n}\n","<div class=\"ngx-mat-input-tel-container\">\n  <button\n    type=\"button\"\n    matRipple\n    [matMenuTriggerFor]=\"menu\"\n    class=\"country-selector\"\n    [disabled]=\"disabled\"\n    (menuOpened)=\"menuSearchInput?.nativeElement?.focus()\"\n  >\n    <span class=\"country-selector-flag flag\" [ngClass]=\"$selectedCountry().flagClass\"></span>\n\n    @if ($selectedCountry().dialCode) {\n      <span class=\"country-selector-code\">+{{ $selectedCountry().dialCode }}</span>\n    }\n  </button>\n\n  <mat-menu\n    #menu=\"matMenu\"\n    class=\"ngx-mat-input-tel-overlay-pane\"\n    [backdropClass]=\"'ngx-mat-input-tel-overlay-backdrop'\"\n  >\n    @if (enableSearch) {\n      <input\n        #menuSearchInput\n        class=\"country-search\"\n        [(ngModel)]=\"searchCriteria\"\n        type=\"text\"\n        [placeholder]=\"searchPlaceholder\"\n        (click)=\"$event.stopPropagation()\"\n        style=\"\n          width: calc(100% - 4px);\n          height: 34px;\n          border-top: none;\n          border-right: none;\n          border-left: none;\n          border-image: initial;\n          border-bottom: 1px solid rgb(221, 221, 221);\n          font-size: 14px;\n          padding: 20px 10px 24px;\n          box-sizing: border-box;\n          background: transparent;\n          margin: 2px;\n        \"\n      />\n    }\n    @for (country of $preferredCountriesInDropDown(); track $index) {\n      <button\n        type=\"button\"\n        mat-menu-item\n        class=\"country-list-button\"\n        (click)=\"onCountrySelect(country, focusable)\"\n      >\n        <div class=\"icon-wrapper\">\n          <div class=\"flag\" [ngClass]=\"country.flagClass\"></div>\n        </div>\n        <div class=\"label-wrapper\">\n          {{ country.name }}\n\n          @if (country?.dialCode) {\n            <span [style]=\"!searchCriteria ? 'white-space: nowrap' : ''\"\n              >+{{ country.dialCode }}\n\n              @if (country.areaCodes) {\n                {{ country.areaCodes.join(', ') }}\n              }\n            </span>\n          }\n        </div>\n      </button>\n    }\n    @if ($preferredCountriesInDropDown().length) {\n      <mat-divider></mat-divider>\n    }\n    @for (country of $availableCountries() | search: searchCriteria; track $index) {\n      <button\n        type=\"button\"\n        mat-menu-item\n        class=\"country-list-button\"\n        (click)=\"onCountrySelect(country, focusable)\"\n      >\n        <div class=\"icon-wrapper\">\n          <div class=\"flag\" [ngClass]=\"country.flagClass\"></div>\n        </div>\n        <div class=\"label-wrapper\">\n          {{ country.name }}\n\n          @if (country?.dialCode) {\n            <span [style]=\"!searchCriteria ? 'white-space: nowrap' : ''\"\n              >+{{ country.dialCode }}\n\n              @if (country.areaCodes) {\n                {{ country.areaCodes.join(', ') }}\n              }\n            </span>\n          }\n        </div>\n      </button>\n    }\n  </mat-menu>\n\n  <input\n    class=\"ngx-mat-input-tel-input\"\n    matInput\n    type=\"tel\"\n    inputmode=\"tel\"\n    [autocomplete]=\"autocomplete\"\n    [ngClass]=\"cssClass\"\n    (blur)=\"onTouched()\"\n    (keypress)=\"onInputKeyPress($event)\"\n    [(ngModel)]=\"phoneNumber\"\n    (ngModelChange)=\"onPhoneNumberChange()\"\n    [errorStateMatcher]=\"errorStateMatcher\"\n    [placeholder]=\"placeholder || $selectedCountry().placeHolder || ''\"\n    [disabled]=\"disabled\"\n    #focusable\n    [maxlength]=\"maxLength\"\n  />\n</div>\n","/*\n * Public API Surface of ngx-mat-input-tel\n */\n\nexport * from './lib/ngx-mat-input-tel.component'\nexport * from './lib/ngx-mat-input-tel.validator'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}