{"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-flag/ngx-mat-input-tel-flag.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel-dialog/ngx-mat-input-tel.dialog.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel-dialog/ngx-mat-input-tel.dialog.html","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.validator.ts","../../../projects/ngx-mat-input-tel/src/lib/remove-iso.pipe.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.html","../../../projects/ngx-mat-input-tel/src/public-api.ts","../../../projects/ngx-mat-input-tel/src/ngx-mat-input-tel.ts"],"sourcesContent":["export const COUNTRIES_NAME: Record<string, string> = {\n  AF: \"Afghanistan (‫افغانستان‬‎)\",\n  AL: \"Albania (Shqipëri)\",\n  DZ: \"Algeria (‫الجزائر‬‎)\",\n  AS: \"American Samoa\",\n  AD: \"Andorra\",\n  AO: \"Angola\",\n  AI: \"Anguilla\",\n  AG: \"Antigua and Barbuda\",\n  AR: \"Argentina\",\n  AM: \"Armenia (Հայաստան)\",\n  AW: \"Aruba\",\n  AU: \"Australia\",\n  AT: \"Austria (Österreich)\",\n  AZ: \"Azerbaijan (Azərbaycan)\",\n  BS: \"Bahamas\",\n  BH: \"Bahrain (‫البحرين‬‎)\",\n  BD: \"Bangladesh (বাংলাদেশ)\",\n  BB: \"Barbados\",\n  BY: \"Belarus (Беларусь)\",\n  BE: \"Belgium (België)\",\n  BZ: \"Belize\",\n  BJ: \"Benin (Bénin)\",\n  BM: \"Bermuda\",\n  BT: \"Bhutan (འབྲུག)\",\n  BO: \"Bolivia\",\n  BA: \"Bosnia and Herzegovina (Босна и Херцеговина)\",\n  BW: \"Botswana\",\n  BR: \"Brazil (Brasil)\",\n  IO: \"British Indian Ocean Territory\",\n  VG: \"British Virgin Islands\",\n  BN: \"Brunei\",\n  BG: \"Bulgaria (България)\",\n  BF: \"Burkina Faso\",\n  BI: \"Burundi (Uburundi)\",\n  KH: \"Cambodia (កម្ពុជា)\",\n  CM: \"Cameroon (Cameroun)\",\n  CA: \"Canada\",\n  CV: \"Cape Verde (Kabu Verdi)\",\n  BQ: \"Caribbean Netherlands\",\n  KY: \"Cayman Islands\",\n  CF: \"Central African Republic (République centrafricaine)\",\n  TD: \"Chad (Tchad)\",\n  CL: \"Chile\",\n  CN: \"China (中国)\",\n  CX: \"Christmas Island\",\n  CC: \"Cocos (Keeling) Islands\",\n  CO: \"Colombia\",\n  KM: \"Comoros (‫جزر القمر‬‎)\",\n  CD: \"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\",\n  CG: \"Congo (Republic) (Congo-Brazzaville)\",\n  CK: \"Cook Islands\",\n  CR: \"Costa Rica\",\n  CI: \"Côte d’Ivoire\",\n  HR: \"Croatia (Hrvatska)\",\n  CU: \"Cuba\",\n  CW: \"Curaçao\",\n  CY: \"Cyprus (Κύπρος)\",\n  CZ: \"Czech Republic (Česká republika)\",\n  DK: \"Denmark (Danmark)\",\n  DJ: \"Djibouti\",\n  DM: \"Dominica\",\n  DO: \"Dominican Republic (República Dominicana)\",\n  EC: \"Ecuador\",\n  EG: \"Egypt (‫مصر‬‎)\",\n  SV: \"El Salvador\",\n  GQ: \"Equatorial Guinea (Guinea Ecuatorial)\",\n  ER: \"Eritrea\",\n  EE: \"Estonia (Eesti)\",\n  ET: \"Ethiopia\",\n  FK: \"Falkland Islands (Islas Malvinas)\",\n  FO: \"Faroe Islands (Føroyar)\",\n  FJ: \"Fiji\",\n  FI: \"Finland (Suomi)\",\n  FR: \"France\",\n  GF: \"French Guiana (Guyane française)\",\n  PF: \"French Polynesia (Polynésie française)\",\n  GA: \"Gabon\",\n  GM: \"Gambia\",\n  GE: \"Georgia (საქართველო)\",\n  DE: \"Germany (Deutschland)\",\n  GH: \"Ghana (Gaana)\",\n  GI: \"Gibraltar\",\n  GR: \"Greece (Ελλάδα)\",\n  GL: \"Greenland (Kalaallit Nunaat)\",\n  GD: \"Grenada\",\n  GP: \"Guadeloupe\",\n  GU: \"Guam\",\n  GT: \"Guatemala\",\n  GG: \"Guernsey\",\n  GN: \"Guinea (Guinée)\",\n  GW: \"Guinea-Bissau (Guiné Bissau)\",\n  GY: \"Guyana\",\n  HT: \"Haiti\",\n  HN: \"Honduras\",\n  HK: \"Hong Kong (香港)\",\n  HU: \"Hungary (Magyarország)\",\n  IS: \"Iceland (Ísland)\",\n  IN: \"India (भारत)\",\n  ID: \"Indonesia\",\n  IR: \"Iran (‫ایران‬‎)\",\n  IQ: \"Iraq (‫العراق‬‎)\",\n  IE: \"Ireland\",\n  IM: \"Isle of Man\",\n  IL: \"Israel (‫ישראל‬‎)\",\n  IT: \"Italy (Italia)\",\n  JM: \"Jamaica\",\n  JP: \"Japan (日本)\",\n  JE: \"Jersey\",\n  JO: \"Jordan (‫الأردن‬‎)\",\n  KZ: \"Kazakhstan (Казахстан)\",\n  KE: \"Kenya\",\n  KI: \"Kiribati\",\n  XK: \"Kosovo\",\n  KW: \"Kuwait (‫الكويت‬‎)\",\n  KG: \"Kyrgyzstan (Кыргызстан)\",\n  LA: \"Laos (ລາວ)\",\n  LV: \"Latvia (Latvija)\",\n  LB: \"Lebanon (‫لبنان‬‎)\",\n  LS: \"Lesotho\",\n  LR: \"Liberia\",\n  LY: \"Libya (‫ليبيا‬‎)\",\n  LI: \"Liechtenstein\",\n  LT: \"Lithuania (Lietuva)\",\n  LU: \"Luxembourg\",\n  MO: \"Macau (澳門)\",\n  MK: \"Macedonia (FYROM) (Македонија)\",\n  MG: \"Madagascar (Madagasikara)\",\n  MW: \"Malawi\",\n  MY: \"Malaysia\",\n  MV: \"Maldives\",\n  ML: \"Mali\",\n  MT: \"Malta\",\n  MH: \"Marshall Islands\",\n  MQ: \"Martinique\",\n  MR: \"Mauritania (‫موريتانيا‬‎)\",\n  MU: \"Mauritius (Moris)\",\n  YT: \"Mayotte\",\n  MX: \"Mexico (México)\",\n  FM: \"Micronesia\",\n  MD: \"Moldova (Republica Moldova)\",\n  MC: \"Monaco\",\n  MN: \"Mongolia (Монгол)\",\n  ME: \"Montenegro (Crna Gora)\",\n  MS: \"Montserrat\",\n  MA: \"Morocco (‫المغرب‬‎)\",\n  MZ: \"Mozambique (Moçambique)\",\n  MM: \"Myanmar (Burma) (မြန်မာ)\",\n  NA: \"Namibia (Namibië)\",\n  NR: \"Nauru\",\n  NP: \"Nepal (नेपाल)\",\n  NL: \"Netherlands (Nederland)\",\n  NC: \"New Caledonia (Nouvelle-Calédonie)\",\n  NZ: \"New Zealand\",\n  NI: \"Nicaragua\",\n  NE: \"Niger (Nijar)\",\n  NG: \"Nigeria\",\n  NU: \"Niue\",\n  NF: \"Norfolk Island\",\n  KP: \"North Korea (조선 민주주의 인민 공화국)\",\n  MP: \"Northern Mariana Islands\",\n  NO: \"Norway (Norge)\",\n  OM: \"Oman (‫عُمان‬‎)\",\n  PK: \"Pakistan (‫پاکستان‬‎)\",\n  PW: \"Palau\",\n  PS: \"Palestine (‫فلسطين‬‎)\",\n  PA: \"Panama (Panamá)\",\n  PG: \"Papua New Guinea\",\n  PY: \"Paraguay\",\n  PE: \"Peru (Perú)\",\n  PH: \"Philippines\",\n  PL: \"Poland (Polska)\",\n  PT: \"Portugal\",\n  PR: \"Puerto Rico\",\n  QA: \"Qatar (‫قطر‬‎)\",\n  RE: \"Réunion (La Réunion)\",\n  RO: \"Romania (România)\",\n  RU: \"Russia (Россия)\",\n  RW: \"Rwanda\",\n  BL: \"Saint Barthélemy\",\n  SH: \"Saint Helena\",\n  KN: \"Saint Kitts and Nevis\",\n  LC: \"Saint Lucia\",\n  MF: \"Saint Martin (Saint-Martin (partie française))\",\n  PM: \"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\",\n  VC: \"Saint Vincent and the Grenadines\",\n  WS: \"Samoa\",\n  SM: \"San Marino\",\n  ST: \"São Tomé and Príncipe (São Tomé e Príncipe)\",\n  SA: \"Saudi Arabia (‫المملكة العربية السعودية‬‎)\",\n  SN: \"Senegal (Sénégal)\",\n  RS: \"Serbia (Србија)\",\n  SC: \"Seychelles\",\n  SL: \"Sierra Leone\",\n  SG: \"Singapore\",\n  SX: \"Sint Maarten\",\n  SK: \"Slovakia (Slovensko)\",\n  SI: \"Slovenia (Slovenija)\",\n  SB: \"Solomon Islands\",\n  SO: \"Somalia (Soomaaliya)\",\n  ZA: \"South Africa\",\n  KR: \"South Korea (대한민국)\",\n  SS: \"South Sudan (‫جنوب السودان‬‎)\",\n  ES: \"Spain (España)\",\n  LK: \"Sri Lanka (ශ්‍රී ලංකාව)\",\n  SD: \"Sudan (‫السودان‬‎)\",\n  SR: \"Suriname\",\n  SJ: \"Svalbard and Jan Mayen\",\n  SZ: \"Swaziland\",\n  SE: \"Sweden (Sverige)\",\n  CH: \"Switzerland (Schweiz)\",\n  SY: \"Syria (‫سوريا‬‎)\",\n  TW: \"Taiwan (台灣)\",\n  TJ: \"Tajikistan\",\n  TZ: \"Tanzania\",\n  TH: \"Thailand (ไทย)\",\n  TL: \"Timor-Leste\",\n  TG: \"Togo\",\n  TK: \"Tokelau\",\n  TO: \"Tonga\",\n  TT: \"Trinidad and Tobago\",\n  TN: \"Tunisia (‫تونس‬‎)\",\n  TR: \"Turkey (Türkiye)\",\n  TM: \"Turkmenistan\",\n  TC: \"Turks and Caicos Islands\",\n  TV: \"Tuvalu\",\n  VI: \"U.S. Virgin Islands\",\n  UG: \"Uganda\",\n  UA: \"Ukraine (Україна)\",\n  AE: \"United Arab Emirates (‫الإمارات العربية المتحدة‬‎)\",\n  GB: \"United Kingdom\",\n  US: \"United States\",\n  UY: \"Uruguay\",\n  UZ: \"Uzbekistan (Oʻzbekiston)\",\n  VU: \"Vanuatu\",\n  VA: \"Vatican City (Città del Vaticano)\",\n  VE: \"Venezuela\",\n  VN: \"Vietnam (Việt Nam)\",\n  WF: \"Wallis and Futuna (Wallis-et-Futuna)\",\n  EH: \"Western Sahara (‫الصحراء الغربية‬‎)\",\n  YE: \"Yemen (‫اليمن‬‎)\",\n  ZM: \"Zambia\",\n  ZW: \"Zimbabwe\",\n  AX: \"Åland Islands\",\n};\n\nexport const COUNTRIES_CODE: Record<\n  string,\n  [string] | [string, number] | [string, number, string[]]\n> = {\n  // 'iso2': 'dialCode', 'priority', 'areaCodes'\n  AF: [\"93\"],\n  AL: [\"355\"],\n  DZ: [\"213\"],\n  AS: [\"1\", 4, [\"684\"]],\n  AD: [\"376\"],\n  AO: [\"244\"],\n  AI: [\"1\", 4, [\"264\"]],\n  AG: [\"1\", 4, [\"268\"]],\n  AR: [\"54\"],\n  AM: [\"374\"],\n  AW: [\"297\"],\n  AU: [\"61\", 0],\n  AT: [\"43\"],\n  AZ: [\"994\"],\n  BS: [\"1\", 4, [\"242\"]],\n  BH: [\"973\"],\n  BD: [\"880\"],\n  BB: [\"1\", 4, [\"246\"]],\n  BY: [\"375\"],\n  BE: [\"32\"],\n  BZ: [\"501\"],\n  BJ: [\"229\"],\n  BM: [\"1\", 4, [\"441\"]],\n  BT: [\"975\"],\n  BO: [\"591\"],\n  BA: [\"387\"],\n  BW: [\"267\"],\n  BR: [\"55\"],\n  IO: [\"246\"],\n  VG: [\"1\", 4, [\"284\"]],\n  BN: [\"673\"],\n  BG: [\"359\"],\n  BF: [\"226\"],\n  BI: [\"257\"],\n  KH: [\"855\"],\n  CM: [\"237\"],\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  CV: [\"238\"],\n  BQ: [\"599\", 1],\n  KY: [\"1\", 4, [\"345\"]],\n  CF: [\"236\"],\n  TD: [\"235\"],\n  CL: [\"56\"],\n  CN: [\"86\"],\n  CX: [\"61\", 2],\n  CC: [\"61\", 1],\n  CO: [\"57\"],\n  KM: [\"269\"],\n  CD: [\"243\"],\n  CG: [\"242\"],\n  CK: [\"682\"],\n  CR: [\"506\"],\n  CI: [\"225\"],\n  HR: [\"385\"],\n  CU: [\"53\"],\n  CW: [\"599\", 0],\n  CY: [\"357\"],\n  CZ: [\"420\"],\n  DK: [\"45\"],\n  DJ: [\"253\"],\n  DM: [\"1\", 4, [\"767\"]],\n  DO: [\"1\", 2, [\"809\", \"829\", \"849\"]],\n  EC: [\"593\"],\n  EG: [\"20\"],\n  SV: [\"503\"],\n  GQ: [\"240\"],\n  ER: [\"291\"],\n  EE: [\"372\"],\n  ET: [\"251\"],\n  FK: [\"500\"],\n  FO: [\"298\"],\n  FJ: [\"679\"],\n  FI: [\"358\", 0],\n  FR: [\"33\"],\n  GF: [\"594\"],\n  PF: [\"689\"],\n  GA: [\"241\"],\n  GM: [\"220\"],\n  GE: [\"995\"],\n  DE: [\"49\"],\n  GH: [\"233\"],\n  GI: [\"350\"],\n  GR: [\"30\"],\n  GL: [\"299\"],\n  GD: [\"1\", 4, [\"473\"]],\n  GP: [\"590\", 0],\n  GU: [\"1\", 4, [\"671\"]],\n  GT: [\"502\"],\n  GG: [\"44\", 1],\n  GN: [\"224\"],\n  GW: [\"245\"],\n  GY: [\"592\"],\n  HT: [\"509\"],\n  HN: [\"504\"],\n  HK: [\"852\"],\n  HU: [\"36\"],\n  IS: [\"354\"],\n  IN: [\"91\"],\n  ID: [\"62\"],\n  IR: [\"98\"],\n  IQ: [\"964\"],\n  IE: [\"353\"],\n  IM: [\"44\", 2],\n  IL: [\"972\"],\n  IT: [\"39\", 0],\n  JM: [\"1\", 4, [\"876\", \"658\"]],\n  JP: [\"81\"],\n  JE: [\"44\", 3],\n  JO: [\"962\"],\n  KZ: [\"7\", 1],\n  KE: [\"254\"],\n  KI: [\"686\"],\n  XK: [\"383\"],\n  KW: [\"965\"],\n  KG: [\"996\"],\n  LA: [\"856\"],\n  LV: [\"371\"],\n  LB: [\"961\"],\n  LS: [\"266\"],\n  LR: [\"231\"],\n  LY: [\"218\"],\n  LI: [\"423\"],\n  LT: [\"370\"],\n  LU: [\"352\"],\n  MO: [\"853\"],\n  MK: [\"389\"],\n  MG: [\"261\"],\n  MW: [\"265\"],\n  MY: [\"60\"],\n  MV: [\"960\"],\n  ML: [\"223\"],\n  MT: [\"356\"],\n  MH: [\"692\"],\n  MQ: [\"596\"],\n  MR: [\"222\"],\n  MU: [\"230\"],\n  YT: [\"262\", 1],\n  MX: [\"52\"],\n  FM: [\"691\"],\n  MD: [\"373\"],\n  MC: [\"377\"],\n  MN: [\"976\"],\n  ME: [\"382\"],\n  MS: [\"1664\"],\n  MA: [\"212\", 0],\n  MZ: [\"258\"],\n  MM: [\"95\"],\n  NA: [\"264\"],\n  NR: [\"674\"],\n  NP: [\"977\"],\n  NL: [\"31\"],\n  NC: [\"687\"],\n  NZ: [\"64\"],\n  NI: [\"505\"],\n  NE: [\"227\"],\n  NG: [\"234\"],\n  NU: [\"683\"],\n  NF: [\"672\"],\n  KP: [\"850\"],\n  MP: [\"1670\"],\n  NO: [\"47\", 0],\n  OM: [\"968\"],\n  PK: [\"92\"],\n  PW: [\"680\"],\n  PS: [\"970\"],\n  PA: [\"507\"],\n  PG: [\"675\"],\n  PY: [\"595\"],\n  PE: [\"51\"],\n  PH: [\"63\"],\n  PL: [\"48\"],\n  PT: [\"351\"],\n  PR: [\"1\", 3, [\"787\", \"939\"]],\n  QA: [\"974\"],\n  RE: [\"262\", 0],\n  RO: [\"40\"],\n  RU: [\"7\", 0],\n  RW: [\"250\"],\n  BL: [\"590\", 1],\n  SH: [\"290\"],\n  KN: [\"1\", 4, [\"869\"]],\n  LC: [\"1\", 4, [\"758\"]],\n  MF: [\"590\", 2],\n  PM: [\"508\"],\n  VC: [\"1784\"],\n  WS: [\"685\"],\n  SM: [\"378\"],\n  ST: [\"239\"],\n  SA: [\"966\"],\n  SN: [\"221\"],\n  RS: [\"381\"],\n  SC: [\"248\"],\n  SL: [\"232\"],\n  SG: [\"65\"],\n  SX: [\"1\", 4, [\"721\"]],\n  SK: [\"421\"],\n  SI: [\"386\"],\n  SB: [\"677\"],\n  SO: [\"252\"],\n  ZA: [\"27\"],\n  KR: [\"82\"],\n  SS: [\"211\"],\n  ES: [\"34\"],\n  LK: [\"94\"],\n  SD: [\"249\"],\n  SR: [\"597\"],\n  SJ: [\"47\", 1],\n  SZ: [\"268\"],\n  SE: [\"46\"],\n  CH: [\"41\"],\n  SY: [\"963\"],\n  TW: [\"886\"],\n  TJ: [\"992\"],\n  TZ: [\"255\"],\n  TH: [\"66\"],\n  TL: [\"670\"],\n  TG: [\"228\"],\n  TK: [\"690\"],\n  TO: [\"676\"],\n  TT: [\"1\", 4, [\"868\"]],\n  TN: [\"216\"],\n  TR: [\"90\"],\n  TM: [\"993\"],\n  TC: [\"1\", 4, [\"649\"]],\n  TV: [\"688\"],\n  VI: [\"1\", 4, [\"340\"]],\n  UG: [\"256\"],\n  UA: [\"380\"],\n  AE: [\"971\"],\n  GB: [\"44\", 0],\n  US: [\"1\", 0],\n  UY: [\"598\"],\n  UZ: [\"998\"],\n  VU: [\"678\"],\n  VA: [\"39\", 1],\n  VE: [\"58\"],\n  VN: [\"84\"],\n  WF: [\"681\"],\n  EH: [\"212\", 1],\n  YE: [\"967\"],\n  ZM: [\"260\"],\n  ZW: [\"263\"],\n  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 { NgClass } from \"@angular/common\";\nimport { ChangeDetectionStrategy, Component, Input } from \"@angular/core\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\nimport { CountryFlag } from \"../model/country.model\";\n\n@Component({\n  selector: \"ngx-mat-input-tel-flag\",\n  imports: [NgClass, MatTooltipModule],\n  template: `\n    <div class=\"flag\" [ngClass]=\"country.iso2\"></div>\n\n    @if (country.name) {\n      <span class=\"country-selector-name\">\n        {{ country.name }}\n      </span>\n    }\n\n    @if (country.dialCode) {\n      <span class=\"country-selector-code\"> +{{ country.dialCode }} </span>\n    }\n\n    @if (country.areaCodes && country.areaCodes.length > 0) {\n      <span\n        class=\"area-codes-badge\"\n        [matTooltip]=\"getAreaCodesFullList()\"\n        matTooltipPosition=\"above\"\n        [attr.aria-label]=\"'Area codes: ' + country.areaCodes.join(', ')\"\n      >\n        {{ getAreaCodesDisplay() }}\n      </span>\n    }\n  `,\n  styleUrl: \"./ngx-mat-input-tel-flag.scss\",\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxMatInputTelFlagComponent {\n  @Input({ required: true }) country!: CountryFlag;\n\n  /**\n   * Returns a compact display string for area codes\n   * Examples:\n   * - \"Area: 201, 202 +4\" (shows first 2 codes and count of remaining)\n   * - \"Area: 684\" (shows single code)\n   * - \"Area: 201, 202\" (shows 2 codes when there are only 2)\n   */\n  getAreaCodesDisplay(): string {\n    if (!this.country.areaCodes || this.country.areaCodes.length === 0) {\n      return \"\";\n    }\n\n    const codes = this.country.areaCodes;\n    const displayLimit = 2;\n\n    if (codes.length <= displayLimit) {\n      return `Area: ${codes.join(\", \")}`;\n    }\n\n    const displayCodes = codes.slice(0, displayLimit).join(\", \");\n    const remainingCount = codes.length - displayLimit;\n    return `Area: ${displayCodes} +${remainingCount}`;\n  }\n\n  /**\n   * Returns the full list of area codes for tooltip display\n   */\n  getAreaCodesFullList(): string {\n    if (!this.country.areaCodes || this.country.areaCodes.length === 0) {\n      return \"\";\n    }\n    return `Area codes: ${this.country.areaCodes.join(\", \")}`;\n  }\n}\n","import { KeyValuePipe } from \"@angular/common\";\nimport {\n  Component,\n  ElementRef,\n  Inject,\n  OnInit,\n  ViewChild,\n  computed,\n  signal\n} from \"@angular/core\";\nimport { FormsModule } from \"@angular/forms\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from \"@angular/material/dialog\";\nimport { MatDividerModule } from \"@angular/material/divider\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { Country } from \"../model/country.model\";\nimport { NgxMatInputTelFlagComponent } from \"../ngx-mat-input-tel-flag/ngx-mat-input-tel-flag\";\n\nexport interface NgxMatInputTelDialogData {\n  selectedCountry: Country;\n  availableCountries: Record<string, Country>;\n  preferredCountriesInDropDown: Record<string, Country>;\n  enableSearch: boolean;\n  searchPlaceholder: string;\n  ariaLabel: string;\n}\n\n@Component({\n  selector: \"ngx-mat-input-tel-dialog\",\n  templateUrl: \"./ngx-mat-input-tel.dialog.html\",\n  styleUrls: [\"./ngx-mat-input-tel.dialog.scss\"],\n  imports: [\n    // Forms\n    FormsModule,\n    MatFormFieldModule,\n    MatInputModule,\n\n    // Mat\n    MatDialogModule,\n    MatButtonModule,\n    MatIconModule,\n    MatListModule,\n    MatDividerModule,\n    KeyValuePipe,\n\n    // Components\n    NgxMatInputTelFlagComponent,\n  ],\n})\nexport class NgxMatInputTelDialog implements OnInit {\n  @ViewChild(\"searchInput\", { static: false }) searchInput?: ElementRef<HTMLInputElement>;\n\n  $searchCriteria = signal<string>(\"\");\n\n  $selectableCountries = computed(() => {\n    let countries: Record<string, Country> = {};\n    if (!this.$searchCriteria() || this.$searchCriteria() === \"\") {\n      countries = this.data.availableCountries;\n    } else {\n      countries = this._getOnSearchCountries(\n        this.$searchCriteria().toLowerCase(),\n        this.data.availableCountries,\n      );\n    }\n\n    // Remove preferred countries from the main list by creating a new object\n    const preferredKeys = Object.keys(this.data.preferredCountriesInDropDown);\n    const result: Record<string, Country> = {};\n    for (const [iso2, country] of Object.entries(countries)) {\n      if (!preferredKeys.includes(iso2)) {\n        result[iso2] = country;\n      }\n    }\n\n    return result;\n  });\n\n  $selectablePreferredCountriesInDropDown = computed(() => {\n    if (!this.$searchCriteria() || this.$searchCriteria() === \"\") {\n      return this.data.preferredCountriesInDropDown;\n    }\n\n    return this._getOnSearchCountries(\n      this.$searchCriteria().toLowerCase(),\n      this.data.preferredCountriesInDropDown,\n    );\n  });\n\n  $showDivider = computed(() => {\n    return (\n      Object.entries(this.data.preferredCountriesInDropDown).length > 0 &&\n      Object.entries(this.$selectableCountries()).length > 0\n    );\n  });\n\n  constructor(\n    public dialogRef: MatDialogRef<NgxMatInputTelDialog>,\n    @Inject(MAT_DIALOG_DATA) public data: NgxMatInputTelDialogData,\n  ) {}\n\n  ngOnInit(): void {\n    // Focus search input after view init\n    if (this.data.enableSearch) {\n      setTimeout(() => {\n        this.searchInput?.nativeElement?.focus();\n      }, 0);\n    }\n  }\n\n  onCountrySelect(country: { key: string; value: Country }): void {\n    this.dialogRef.close({\n      ...country.value,\n      iso2: country.key,\n    });\n  }\n\n  private _getOnSearchCountries(\n    searchTerm: string,\n    countries: Record<string, Country>,\n  ): Record<string, Country> {\n    const result: Record<string, Country> = {};\n    for (const country of Object.values(countries)) {\n      if (\n        country.name.toLowerCase().includes(searchTerm) ||\n        country.dialCode.includes(searchTerm) ||\n        (country.areaCodes && country.areaCodes.join(\",\").includes(searchTerm))\n      ) {\n        result[country.iso2] = country;\n      }\n    }\n    return result;\n  }\n}\n","<div class=\"country-select-dialog\">\n  <div class=\"dialog-header\">\n    <h2 mat-dialog-title>{{ data.ariaLabel }}</h2>\n    <button\n      matIconButton\n      type=\"button\"\n      class=\"close-button\"\n      [mat-dialog-close]\n      aria-label=\"Close dialog\"\n    >\n      <mat-icon>close</mat-icon>\n    </button>\n  </div>\n\n  <mat-dialog-content>\n    @if (data.enableSearch) {\n      <mat-form-field class=\"search-field\" appearance=\"outline\" subscriptSizing=\"dynamic\">\n        <mat-label>{{ data.searchPlaceholder }}</mat-label>\n        <input\n          #searchInput\n          matInput\n          type=\"text\"\n          [(ngModel)]=\"$searchCriteria\"\n          [placeholder]=\"data.searchPlaceholder\"\n          autocomplete=\"off\"\n        />\n        @if ($searchCriteria()) {\n          <button\n            matSuffix\n            matIconButton\n            type=\"button\"\n            aria-label=\"Clear search\"\n            (click)=\"$searchCriteria.set('')\"\n          >\n            <mat-icon>close</mat-icon>\n          </button>\n        }\n      </mat-form-field>\n    }\n\n    <div class=\"country-list-container\">\n      <mat-list>\n        @for (\n          country of $selectablePreferredCountriesInDropDown() | keyvalue: null;\n          track country.key\n        ) {\n          <mat-list-item\n            class=\"country-list-item\"\n            (click)=\"onCountrySelect(country)\"\n            role=\"button\"\n            tabindex=\"0\"\n            (keydown.enter)=\"onCountrySelect(country)\"\n            (keydown.space)=\"onCountrySelect(country); $event.preventDefault()\"\n          >\n            <ngx-mat-input-tel-flag\n              class=\"country-flag\"\n              [country]=\"country.value\"\n            ></ngx-mat-input-tel-flag>\n          </mat-list-item>\n        }\n        @if ($showDivider()) {\n          <mat-divider></mat-divider>\n        }\n        @for (country of $selectableCountries() | keyvalue: null; track country.key) {\n          <mat-list-item\n            class=\"country-list-item\"\n            (click)=\"onCountrySelect(country)\"\n            role=\"button\"\n            tabindex=\"0\"\n            (keydown.enter)=\"onCountrySelect(country)\"\n            (keydown.space)=\"onCountrySelect(country); $event.preventDefault()\"\n          >\n            <ngx-mat-input-tel-flag\n              class=\"country-flag\"\n              [country]=\"country.value\"\n            ></ngx-mat-input-tel-flag>\n          </mat-list-item>\n        }\n      </mat-list>\n    </div>\n  </mat-dialog-content>\n</div>\n","import { AbstractControl, ValidationErrors } from \"@angular/forms\";\nimport { parsePhoneNumberFromString, PhoneNumber } from \"libphonenumber-js\";\n\nexport function ngxMatInputTelValidatorFactory(onlyCountries: string[] = []) {\n  return (control: AbstractControl): ValidationErrors | null => {\n    const error = { validatePhoneNumber: true };\n    let numberInstance: PhoneNumber | undefined;\n\n    if (control.value) {\n      try {\n        numberInstance = parsePhoneNumberFromString(control.value);\n      } catch (e) {\n        console.error(e);\n        return error;\n      }\n\n      if (control.value?.length <= 1 || (numberInstance && !numberInstance?.isValid())) {\n        if (!control.touched) {\n          control.markAsTouched();\n        }\n        return error;\n      }\n\n      // Country validation\n      if (\n        onlyCountries.length &&\n        numberInstance?.country &&\n        !onlyCountries.includes(numberInstance.country)\n      ) {\n        return { invalidCountry: true };\n      }\n    }\n    return null;\n  };\n}\n","import { Pipe, PipeTransform } from \"@angular/core\";\nimport { Country } from \"./model/country.model\";\n\n@Pipe({\n  name: \"removeIso\",\n})\nexport class RemoveIsoPipe implements PipeTransform {\n  transform(country: Country): string {\n    if (!country?.placeholder || !country?.dialCode) return country?.placeholder || \"\";\n\n    return country.placeholder.replace(`+${country.dialCode}`, \"\");\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  booleanAttribute,\n  signal,\n} from \"@angular/core\";\nimport {\n  FormControl,\n  FormGroupDirective,\n  FormsModule,\n  NgControl,\n  NgForm,\n  ReactiveFormsModule,\n} from \"@angular/forms\";\nimport { ErrorStateMatcher, MatRippleModule } from \"@angular/material/core\";\nimport { MatDialog, MatDialogModule } from \"@angular/material/dialog\";\nimport { MatDividerModule } from \"@angular/material/divider\";\nimport { MatFormFieldControl } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\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 { COUNTRIES_CODE, COUNTRIES_NAME, EXAMPLES } from \"./data/country-code.const\";\nimport { Country } from \"./model/country.model\";\nimport { PhoneNumberFormat } from \"./model/phone-number-format.model\";\nimport {\n  NgxMatInputTelDialog,\n  NgxMatInputTelDialogData,\n} from \"./ngx-mat-input-tel-dialog/ngx-mat-input-tel.dialog\";\nimport { NgxMatInputTelFlagComponent } from \"./ngx-mat-input-tel-flag/ngx-mat-input-tel-flag\";\nimport { ngxMatInputTelValidatorFactory } from \"./ngx-mat-input-tel.validator\";\nimport { RemoveIsoPipe } from \"./remove-iso.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.html\",\n  styleUrl: \"./ngx-mat-input-tel.scss\",\n  providers: [{ provide: MatFormFieldControl, useExisting: NgxMatInputTelComponent }],\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  imports: [\n    NgClass,\n\n    // Forms\n    FormsModule,\n    ReactiveFormsModule,\n    MatInputModule,\n\n    // Mat\n    MatDialogModule,\n    MatRippleModule,\n    MatDividerModule,\n\n    // Pipes\n    RemoveIsoPipe,\n\n    // Components\n    NgxMatInputTelFlagComponent,\n  ],\n})\nexport class NgxMatInputTelComponent\n  extends ngxMatInputTelBase\n  implements OnInit, DoCheck, OnDestroy\n{\n  static nextId = 0;\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() ariaLabel = \"Select country\";\n  @Input() cssClass?: string;\n  @Input() defaultCountry?: CountryCode;\n  @Input() errorStateMatcher: ErrorStateMatcher = this._defaultErrorStateMatcher;\n  @Input() maxLength: string | number | undefined = 15;\n  @Input() name = \"tel\";\n  @Input() placeholder = \"\";\n\n  @Input() countriesName = COUNTRIES_NAME;\n\n  private _preferredCountries: string[] = [];\n  @Input() set preferredCountries(value: string[]) {\n    this._preferredCountries = value.map((v) => v.toUpperCase());\n  }\n\n  private _onlyCountries: string[] = [];\n  @Input() set onlyCountries(countryCodes: string[]) {\n    if (countryCodes.length) {\n      const codes = countryCodes.map((c) => c.toUpperCase());\n      this.$availableCountries.set(this._getFilteredCountries(codes));\n      this._onlyCountries = codes;\n    } else {\n      this._onlyCountries = [];\n    }\n\n    this._setPreferredCountriesInDropDown();\n    this._setDefaultCountry();\n\n    // Update validator when onlyCountries changes\n    if (this.ngControl && this.ngControl.control) {\n      this.ngControl.control.setValidators(ngxMatInputTelValidatorFactory(this._onlyCountries));\n      this.ngControl.control.updateValueAndValidity();\n    }\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({ transform: booleanAttribute }) separateDialCode = false;\n  @Input({ transform: booleanAttribute }) hideAreaCodes = false;\n\n  private _format: PhoneNumberFormat = \"default\";\n  @Input() 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({ 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  isDialCodeFocused = false;\n  isPhoneInputFocused = false;\n  describedBy = \"\";\n  phoneNumber?: E164Number | NationalNumber = \"\" as E164Number | NationalNumber;\n  private _allCountries: Record<string, Country> = {};\n  $availableCountries = signal<Record<string, Country>>(this._initAllCountries());\n  $preferredCountriesInDropDown = signal<Record<string, Country>>({});\n  $selectedCountry = signal<Country>({} as Country);\n  numberInstance?: PhoneNumber;\n  value?: string | null = null;\n\n  private _previousFormattedNumber?: string;\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    private _dialog: MatDialog,\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._initAllCountries();\n\n    if (this._onlyCountries.length) {\n      this.$availableCountries.set(this._getFilteredCountries(this._onlyCountries));\n    } else {\n      this.$availableCountries.set(this._allCountries);\n    }\n\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(\n        this.ngControl.control,\n        this._parentForm,\n      );\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  openCountrySelector(): void {\n    if (this.disabled) {\n      return;\n    }\n\n    const dialogRef = this._dialog.open<NgxMatInputTelDialog, NgxMatInputTelDialogData, Country>(\n      NgxMatInputTelDialog,\n      {\n        width: \"420px\",\n        maxWidth: \"90vw\",\n        maxHeight: \"80vh\",\n        data: {\n          selectedCountry: this.$selectedCountry(),\n          availableCountries: this.$availableCountries(),\n          preferredCountriesInDropDown: this.$preferredCountriesInDropDown(),\n          enableSearch: this.enableSearch,\n          searchPlaceholder: this.searchPlaceholder,\n          ariaLabel: this.ariaLabel,\n        },\n        autoFocus: this.enableSearch ? \"dialog\" : \"first-tabbable\",\n        restoreFocus: true,\n      },\n    );\n\n    dialogRef.afterClosed().subscribe((selectedCountry) => {\n      if (selectedCountry) {\n        // Create KeyValue-compatible structure expected by onCountrySelect\n        this.onCountrySelect({\n          key: selectedCountry.iso2,\n          value: selectedCountry,\n        });\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  onPhoneNumberChange(): void {\n    try {\n      this._setCountry();\n    } catch {\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 _setPreferredCountriesInDropDown(countries = this._preferredCountries) {\n    this.$preferredCountriesInDropDown.set(this._getFilteredCountries(countries));\n  }\n\n  private _setDefaultCountry() {\n    let country: Country;\n\n    const preferredCountries = this.$preferredCountriesInDropDown();\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 (Object.keys(preferredCountries).length) {\n      country = Object.values(preferredCountries)[0];\n    } else {\n      const firstKeyValue = Object.entries(this._allCountries)[0];\n      country = { ...firstKeyValue[1], iso2: firstKeyValue[0] };\n    }\n\n    this.$selectedCountry.set(country);\n    this.countryChanged.emit(country);\n  }\n\n  private _getFilteredCountries(countryCodes: string[]): Record<string, Country> {\n    return Object.values(this._allCountries)\n      .filter((c) => countryCodes.includes(c.iso2))\n      .sort((a, b) => countryCodes.indexOf(a.iso2) - countryCodes.indexOf(b.iso2))\n      .reduce<Record<string, Country>>((acc, country) => {\n        acc[country.iso2] = country;\n        return acc;\n      }, {});\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) {\n      // Single digit or invalid number\n      this.value = this.phoneNumber.toString();\n      return;\n    }\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: { key: string; value: Country }): void {\n    if (this.phoneNumber) {\n      this.phoneNumber = this.numberInstance?.nationalNumber;\n    }\n    if (this.resetOnChange && this.$selectedCountry().iso2 !== country.key) {\n      this.reset();\n    }\n\n    this.$selectedCountry.set({\n      ...country.value,\n      iso2: country.key,\n    });\n    this.countryChanged.emit(this.$selectedCountry());\n\n    this.onPhoneNumberChange();\n\n    setTimeout(() => {\n      this.focusable.nativeElement.focus();\n    }, 0);\n  }\n\n  public getCountry(code: CC): Country {\n    const targetCountry = this._allCountries[code];\n    if (targetCountry) {\n      return { ...targetCountry, iso2: code };\n    }\n    return {\n      name: \"UN\",\n      iso2: \"UN\",\n      dialCode: \"\",\n      priority: 0,\n      areaCodes: undefined,\n      placeholder: \"\",\n    };\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  public onDialCodeFocus(): void {\n    this.isDialCodeFocused = true;\n    // In separated mode, button focus shouldn't make mat-form-field appear focused\n    // Only clear focused state if phone input is not focused\n    if (this.separateDialCode && !this.isPhoneInputFocused) {\n      this.focused = false;\n      this.stateChanges.next();\n    }\n  }\n\n  public onDialCodeBlur(): void {\n    this.isDialCodeFocused = false;\n    // In separated mode, keep mat-form-field focused if phone input is focused\n    if (this.separateDialCode) {\n      if (!this.isPhoneInputFocused) {\n        this.focused = false;\n      }\n      this.stateChanges.next();\n    }\n  }\n\n  public onPhoneInputFocus(): void {\n    this.isPhoneInputFocused = true;\n    // In separated mode, ensure mat-form-field shows as focused\n    if (this.separateDialCode) {\n      this.focused = true;\n      this.stateChanges.next();\n    }\n  }\n\n  public onPhoneInputBlur(): void {\n    this.isPhoneInputFocused = false;\n    // In separated mode, clear mat-form-field focus state\n    // Only clear if dial code button is not focused\n    if (this.separateDialCode) {\n      if (!this.isDialCodeFocused) {\n        this.focused = false;\n      }\n      this.stateChanges.next();\n    }\n  }\n\n  public onPhoneInputBlurAndTouch(): void {\n    this.onTouched();\n    this.onPhoneInputBlur();\n  }\n\n  protected _initAllCountries(): Record<string, Country> {\n    this._allCountries = {};\n    Object.entries(COUNTRIES_CODE).forEach(([iso2, codes]) => {\n      const country: Country = {\n        name: this.countriesName[iso2] || iso2,\n        iso2: iso2,\n        dialCode: codes[0].toString(),\n        priority: +codes || 0,\n        areaCodes:\n          !this.hideAreaCodes && codes.length > 2 && Array.isArray(codes[2]) ? codes[2] : undefined,\n        placeholder: \"\",\n      };\n      if (this.enablePlaceholder) {\n        country.placeholder = this._getPhoneNumberPlaceHolder(iso2);\n      }\n      this._allCountries[iso2] = country;\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        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().iso2]: 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\n        | E164Number\n        | 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    (click)=\"openCountrySelector()\"\n    (focus)=\"onDialCodeFocus()\"\n    (blur)=\"onDialCodeBlur()\"\n    class=\"country-selector\"\n    [class.separate]=\"separateDialCode\"\n    [class.focused]=\"separateDialCode && isDialCodeFocused\"\n    [disabled]=\"disabled\"\n    [attr.aria-label]=\"ariaLabel\"\n  >\n    <ngx-mat-input-tel-flag\n      class=\"main-flag\"\n      [country]=\"{\n        iso2: $selectedCountry().iso2,\n        dialCode: $selectedCountry().dialCode,\n      }\"\n    ></ngx-mat-input-tel-flag>\n  </button>\n\n  <input\n    class=\"ngx-mat-input-tel-input\"\n    matInput\n    type=\"tel\"\n    inputmode=\"tel\"\n    [name]=\"name || 'tel'\"\n    [autocomplete]=\"autocomplete\"\n    [ngClass]=\"cssClass\"\n    (blur)=\"onPhoneInputBlurAndTouch()\"\n    (focus)=\"onPhoneInputFocus()\"\n    (keypress)=\"onInputKeyPress($event)\"\n    [(ngModel)]=\"phoneNumber\"\n    (ngModelChange)=\"onPhoneNumberChange()\"\n    [errorStateMatcher]=\"errorStateMatcher\"\n    [placeholder]=\"placeholder || ($selectedCountry() | removeIso) || ''\"\n    [disabled]=\"disabled\"\n    #focusable\n    [maxlength]=\"maxLength ?? null\"\n  />\n</div>\n","/*\n * Public API Surface of ngx-mat-input-tel\n */\n\nexport * from \"./lib/ngx-mat-input-tel\";\nexport * from \"./lib/ngx-mat-input-tel-dialog/ngx-mat-input-tel.dialog\";\nexport * from \"./lib/ngx-mat-input-tel.validator\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i3","i1","i4","i5"],"mappings":"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"}