@taiga-ui/kit
Version:
Taiga UI Angular main components kit
590 lines (583 loc) • 34.1 kB
JavaScript
import { __decorate, __param } from 'tslib';
import { Optional, Self, Inject, ChangeDetectorRef, Input, ViewChild, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
import { NgControl, ReactiveFormsModule } from '@angular/forms';
import { AbstractTuiControl, setNativeFocused, tuiDefaultProp, tuiPure, TUI_FOCUSABLE_ITEM_ACCESSOR } from '@taiga-ui/cdk';
import { TUI_DIGIT_REGEXP, TUI_ICONS_PATH, TuiPrimitiveTextfieldComponent, TuiSvgModule, TuiGroupModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiHintControllerModule, TuiHostedDropdownModule, TuiDataListModule } from '@taiga-ui/core';
import { TUI_ARROW, TuiArrowModule } from '@taiga-ui/kit/components/arrow';
import { TuiInputPhoneComponent, TuiInputPhoneModule } from '@taiga-ui/kit/components/input-phone';
import { FIXED_DROPDOWN_CONTROLLER_PROVIDER } from '@taiga-ui/kit/providers';
import { CommonModule } from '@angular/common';
import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
var TuiCountryIsoCode;
(function (TuiCountryIsoCode) {
TuiCountryIsoCode["AD"] = "AD";
TuiCountryIsoCode["AE"] = "AE";
TuiCountryIsoCode["AF"] = "AF";
TuiCountryIsoCode["AG"] = "AG";
TuiCountryIsoCode["AI"] = "AI";
TuiCountryIsoCode["AL"] = "AL";
TuiCountryIsoCode["AM"] = "AM";
TuiCountryIsoCode["AN"] = "AN";
TuiCountryIsoCode["AO"] = "AO";
TuiCountryIsoCode["AR"] = "AR";
TuiCountryIsoCode["AT"] = "AT";
TuiCountryIsoCode["AU"] = "AU";
TuiCountryIsoCode["AW"] = "AW";
TuiCountryIsoCode["AZ"] = "AZ";
TuiCountryIsoCode["BA"] = "BA";
TuiCountryIsoCode["BB"] = "BB";
TuiCountryIsoCode["BD"] = "BD";
TuiCountryIsoCode["BE"] = "BE";
TuiCountryIsoCode["BF"] = "BF";
TuiCountryIsoCode["BG"] = "BG";
TuiCountryIsoCode["BH"] = "BH";
TuiCountryIsoCode["BI"] = "BI";
TuiCountryIsoCode["BJ"] = "BJ";
TuiCountryIsoCode["BM"] = "BM";
TuiCountryIsoCode["BN"] = "BN";
TuiCountryIsoCode["BO"] = "BO";
TuiCountryIsoCode["BR"] = "BR";
TuiCountryIsoCode["BS"] = "BS";
TuiCountryIsoCode["BT"] = "BT";
TuiCountryIsoCode["BW"] = "BW";
TuiCountryIsoCode["BY"] = "BY";
TuiCountryIsoCode["BZ"] = "BZ";
TuiCountryIsoCode["CD"] = "CD";
TuiCountryIsoCode["CF"] = "CF";
TuiCountryIsoCode["CG"] = "CG";
TuiCountryIsoCode["CH"] = "CH";
TuiCountryIsoCode["CI"] = "CI";
TuiCountryIsoCode["CL"] = "CL";
TuiCountryIsoCode["CM"] = "CM";
TuiCountryIsoCode["CN"] = "CN";
TuiCountryIsoCode["CO"] = "CO";
TuiCountryIsoCode["CR"] = "CR";
TuiCountryIsoCode["CU"] = "CU";
TuiCountryIsoCode["CV"] = "CV";
TuiCountryIsoCode["CY"] = "CY";
TuiCountryIsoCode["CZ"] = "CZ";
TuiCountryIsoCode["DE"] = "DE";
TuiCountryIsoCode["DJ"] = "DJ";
TuiCountryIsoCode["DK"] = "DK";
TuiCountryIsoCode["DM"] = "DM";
TuiCountryIsoCode["DO"] = "DO";
TuiCountryIsoCode["DZ"] = "DZ";
TuiCountryIsoCode["EC"] = "EC";
TuiCountryIsoCode["EE"] = "EE";
TuiCountryIsoCode["EG"] = "EG";
TuiCountryIsoCode["ER"] = "ER";
TuiCountryIsoCode["ES"] = "ES";
TuiCountryIsoCode["ET"] = "ET";
TuiCountryIsoCode["FI"] = "FI";
TuiCountryIsoCode["FJ"] = "FJ";
TuiCountryIsoCode["FK"] = "FK";
TuiCountryIsoCode["FM"] = "FM";
TuiCountryIsoCode["FR"] = "FR";
TuiCountryIsoCode["GA"] = "GA";
TuiCountryIsoCode["GD"] = "GD";
TuiCountryIsoCode["GE"] = "GE";
TuiCountryIsoCode["GH"] = "GH";
TuiCountryIsoCode["GI"] = "GI";
TuiCountryIsoCode["GL"] = "GL";
TuiCountryIsoCode["GM"] = "GM";
TuiCountryIsoCode["GN"] = "GN";
TuiCountryIsoCode["GQ"] = "GQ";
TuiCountryIsoCode["GR"] = "GR";
TuiCountryIsoCode["GT"] = "GT";
TuiCountryIsoCode["GW"] = "GW";
TuiCountryIsoCode["GY"] = "GY";
TuiCountryIsoCode["HK"] = "HK";
TuiCountryIsoCode["HN"] = "HN";
TuiCountryIsoCode["HR"] = "HR";
TuiCountryIsoCode["HT"] = "HT";
TuiCountryIsoCode["HU"] = "HU";
TuiCountryIsoCode["ID"] = "ID";
TuiCountryIsoCode["IE"] = "IE";
TuiCountryIsoCode["IL"] = "IL";
TuiCountryIsoCode["IN"] = "IN";
TuiCountryIsoCode["IQ"] = "IQ";
TuiCountryIsoCode["IR"] = "IR";
TuiCountryIsoCode["IS"] = "IS";
TuiCountryIsoCode["IT"] = "IT";
TuiCountryIsoCode["JM"] = "JM";
TuiCountryIsoCode["JO"] = "JO";
TuiCountryIsoCode["JP"] = "JP";
TuiCountryIsoCode["KE"] = "KE";
TuiCountryIsoCode["KG"] = "KG";
TuiCountryIsoCode["KH"] = "KH";
TuiCountryIsoCode["KM"] = "KM";
TuiCountryIsoCode["KN"] = "KN";
TuiCountryIsoCode["KP"] = "KP";
TuiCountryIsoCode["KR"] = "KR";
TuiCountryIsoCode["KW"] = "KW";
TuiCountryIsoCode["KY"] = "KY";
TuiCountryIsoCode["KZ"] = "KZ";
TuiCountryIsoCode["LA"] = "LA";
TuiCountryIsoCode["LB"] = "LB";
TuiCountryIsoCode["LC"] = "LC";
TuiCountryIsoCode["LI"] = "LI";
TuiCountryIsoCode["LK"] = "LK";
TuiCountryIsoCode["LR"] = "LR";
TuiCountryIsoCode["LS"] = "LS";
TuiCountryIsoCode["LT"] = "LT";
TuiCountryIsoCode["LU"] = "LU";
TuiCountryIsoCode["LV"] = "LV";
TuiCountryIsoCode["LY"] = "LY";
TuiCountryIsoCode["MA"] = "MA";
TuiCountryIsoCode["MC"] = "MC";
TuiCountryIsoCode["MD"] = "MD";
TuiCountryIsoCode["ME"] = "ME";
TuiCountryIsoCode["MG"] = "MG";
TuiCountryIsoCode["MK"] = "MK";
TuiCountryIsoCode["ML"] = "ML";
TuiCountryIsoCode["MM"] = "MM";
TuiCountryIsoCode["MN"] = "MN";
TuiCountryIsoCode["MO"] = "MO";
TuiCountryIsoCode["MR"] = "MR";
TuiCountryIsoCode["MS"] = "MS";
TuiCountryIsoCode["MT"] = "MT";
TuiCountryIsoCode["MU"] = "MU";
TuiCountryIsoCode["MV"] = "MV";
TuiCountryIsoCode["MW"] = "MW";
TuiCountryIsoCode["MX"] = "MX";
TuiCountryIsoCode["MY"] = "MY";
TuiCountryIsoCode["MZ"] = "MZ";
TuiCountryIsoCode["NA"] = "NA";
TuiCountryIsoCode["NE"] = "NE";
TuiCountryIsoCode["NG"] = "NG";
TuiCountryIsoCode["NI"] = "NI";
TuiCountryIsoCode["NL"] = "NL";
TuiCountryIsoCode["NO"] = "NO";
TuiCountryIsoCode["NP"] = "NP";
TuiCountryIsoCode["NZ"] = "NZ";
TuiCountryIsoCode["OM"] = "OM";
TuiCountryIsoCode["PA"] = "PA";
TuiCountryIsoCode["PE"] = "PE";
TuiCountryIsoCode["PF"] = "PF";
TuiCountryIsoCode["PG"] = "PG";
TuiCountryIsoCode["PH"] = "PH";
TuiCountryIsoCode["PK"] = "PK";
TuiCountryIsoCode["PL"] = "PL";
TuiCountryIsoCode["PT"] = "PT";
TuiCountryIsoCode["PW"] = "PW";
TuiCountryIsoCode["PY"] = "PY";
TuiCountryIsoCode["QA"] = "QA";
TuiCountryIsoCode["RO"] = "RO";
TuiCountryIsoCode["RS"] = "RS";
TuiCountryIsoCode["RU"] = "RU";
TuiCountryIsoCode["RW"] = "RW";
TuiCountryIsoCode["SA"] = "SA";
TuiCountryIsoCode["SB"] = "SB";
TuiCountryIsoCode["SC"] = "SC";
TuiCountryIsoCode["SD"] = "SD";
TuiCountryIsoCode["SE"] = "SE";
TuiCountryIsoCode["SG"] = "SG";
TuiCountryIsoCode["SH"] = "SH";
TuiCountryIsoCode["SI"] = "SI";
TuiCountryIsoCode["SK"] = "SK";
TuiCountryIsoCode["SL"] = "SL";
TuiCountryIsoCode["SM"] = "SM";
TuiCountryIsoCode["SN"] = "SN";
TuiCountryIsoCode["SO"] = "SO";
TuiCountryIsoCode["SR"] = "SR";
TuiCountryIsoCode["ST"] = "ST";
TuiCountryIsoCode["SV"] = "SV";
TuiCountryIsoCode["SY"] = "SY";
TuiCountryIsoCode["SZ"] = "SZ";
TuiCountryIsoCode["TC"] = "TC";
TuiCountryIsoCode["TD"] = "TD";
TuiCountryIsoCode["TG"] = "TG";
TuiCountryIsoCode["TH"] = "TH";
TuiCountryIsoCode["TJ"] = "TJ";
TuiCountryIsoCode["TL"] = "TL";
TuiCountryIsoCode["TM"] = "TM";
TuiCountryIsoCode["TN"] = "TN";
TuiCountryIsoCode["TO"] = "TO";
TuiCountryIsoCode["TR"] = "TR";
TuiCountryIsoCode["TT"] = "TT";
TuiCountryIsoCode["TW"] = "TW";
TuiCountryIsoCode["TZ"] = "TZ";
TuiCountryIsoCode["UA"] = "UA";
TuiCountryIsoCode["UG"] = "UG";
TuiCountryIsoCode["UK"] = "UK";
TuiCountryIsoCode["UY"] = "UY";
TuiCountryIsoCode["UZ"] = "UZ";
TuiCountryIsoCode["VC"] = "VC";
TuiCountryIsoCode["VE"] = "VE";
TuiCountryIsoCode["VG"] = "VG";
TuiCountryIsoCode["VN"] = "VN";
TuiCountryIsoCode["VU"] = "VU";
TuiCountryIsoCode["WS"] = "WS";
TuiCountryIsoCode["YE"] = "YE";
TuiCountryIsoCode["ZA"] = "ZA";
TuiCountryIsoCode["ZM"] = "ZM";
TuiCountryIsoCode["ZW"] = "ZW";
TuiCountryIsoCode["US"] = "US";
TuiCountryIsoCode["CA"] = "CA";
})(TuiCountryIsoCode || (TuiCountryIsoCode = {}));
// TODO: i18n
const COUNTRIES = {
[]: { mask: '+376###-###', name: 'Андорра' },
[]: {
mask: '+971-#-###-####',
name: 'Объединенные Арабские Эмираты',
},
[]: { mask: '+93##-###-####', name: 'Афганистан' },
[]: { mask: '+1(268) ###-####', name: 'Антигуа и Барбуда' },
[]: { mask: '+1(264) ###-####', name: 'Ангилья' },
[]: { mask: '+355(###) ###-###', name: 'Албания' },
[]: { mask: '+374##-###-###', name: 'Армения' },
[]: {
mask: '+599-###-####',
name: 'Нидерландские Антильские острова',
},
[]: { mask: '+244(###) ###-###', name: 'Ангола' },
[]: { mask: '+54(###) ###-####', name: 'Аргентина' },
[]: { mask: '+43(###) ###-####', name: 'Австрия' },
[]: { mask: '+61#-####-####', name: 'Австралия' },
[]: { mask: '+297###-####', name: 'Аруба' },
[]: { mask: '+994##-###-##-##', name: 'Азербайджан' },
[]: { mask: '+387##-#####', name: 'Босния и Герцеговина' },
[]: { mask: '+1(246) ###-####', name: 'Барбадос' },
[]: { mask: '+880##-###-###', name: 'Бангладеш' },
[]: { mask: '+32(###) ###-###', name: 'Бельгия' },
[]: { mask: '+226##-##-####', name: 'Буркина Фасо' },
[]: { mask: '+359(###) ###-###', name: 'Болгария' },
[]: { mask: '+973####-####', name: 'Бахрейн' },
[]: { mask: '+257##-##-####', name: 'Бурунди' },
[]: { mask: '+229##-##-####', name: 'Бенин' },
[]: { mask: '+1(441) ###-####', name: 'Бермудские острова' },
[]: { mask: '+673###-####', name: 'Бруней-Даруссалам' },
[]: { mask: '+591#-###-####', name: 'Боливия' },
[]: { mask: '+55(##) ####-####', name: 'Бразилия' },
[]: { mask: '+1(242) ###-####', name: 'Багамские Острова' },
[]: { mask: '+975#-###-###', name: 'Бутан' },
[]: { mask: '+267##-###-###', name: 'Ботсвана' },
[]: { mask: '+375(##) ###-##-##', name: 'Беларусь (Белоруссия)' },
[]: { mask: '+501###-####', name: 'Белиз' },
[]: { mask: '+1(###) ###-####', name: 'Канада' },
[]: {
mask: '+243(###) ###-###',
name: 'Дем. Респ. Конго (Киншаса)',
},
[]: {
mask: '+236-##-##-####',
name: 'Центральноафриканская Республика',
},
[]: { mask: '+242##-###-####', name: 'Конго (Браззавиль)' },
[]: { mask: '+41##-###-####', name: 'Швейцария' },
[]: { mask: '+225##-###-###', name: 'Кот-д’Ивуар' },
[]: { mask: '+56#-####-####', name: 'Чили' },
[]: { mask: '+237####-####', name: 'Камерун' },
[]: { mask: '+86(###) ####-####', name: 'Китайская Н.Р.' },
[]: { mask: '+57(###) ###-####', name: 'Колумбия' },
[]: { mask: '+506####-####', name: 'Коста-Рика' },
[]: { mask: '+53#-###-####', name: 'Куба' },
[]: { mask: '+238(###) ##-##', name: 'Кабо-Верде' },
[]: { mask: '+357##-###-###', name: 'Кипр' },
[]: { mask: '+420(###) ###-###', name: 'Чехия' },
[]: { mask: '+49(###) ###-###-##', name: 'Германия' },
[]: { mask: '+253##-##-##-##', name: 'Джибути' },
[]: { mask: '+45##-##-##-##', name: 'Дания' },
[]: { mask: '+1(767) ###-####', name: 'Доминика' },
[]: { mask: '+1(###) ###-####', name: 'Доминиканская Республика' },
[]: { mask: '+213##-###-####', name: 'Алжир' },
[]: { mask: '+593##-###-####', name: 'Эквадор ' },
[]: { mask: '+372####-####', name: 'Эстония ' },
[]: { mask: '+20(###) ###-####', name: 'Египет' },
[]: { mask: '+291#-###-###', name: 'Эритрея' },
[]: { mask: '+34(###) ###-###', name: 'Испания' },
[]: { mask: '+251##-###-####', name: 'Эфиопия' },
[]: { mask: '+358(###) ###-##-##', name: 'Финляндия' },
[]: { mask: '+679##-#####', name: 'Фиджи' },
[]: { mask: '+500#####', name: 'Фолклендские острова' },
[]: { mask: '+691###-####', name: 'Ф.Ш. Микронезии' },
[]: { mask: '+33(###) ###-###', name: 'Франция' },
[]: { mask: '+241#-##-##-##', name: 'Габон' },
[]: { mask: '+1(473) ###-####', name: 'Гренада' },
[]: { mask: '+995(###) ###-###', name: 'Грузия' },
[]: { mask: '+233(###) ###-###', name: 'Гана' },
[]: { mask: '+350###-#####', name: 'Гибралтар' },
[]: { mask: '+299##-##-##', name: 'Гренландия' },
[]: { mask: '+220(###) ##-##', name: 'Гамбия' },
[]: { mask: '+224##-###-###', name: 'Гвинея' },
[]: { mask: '+240##-###-####', name: 'Экваториальная Гвинея' },
[]: { mask: '+30(###) ###-####', name: 'Греция' },
[]: { mask: '+502#-###-####', name: 'Гватемала' },
[]: { mask: '+245#-######', name: 'Гвинея-Бисау' },
[]: { mask: '+592###-####', name: 'Гайана' },
[]: { mask: '+852####-####', name: 'Гонконг' },
[]: { mask: '+504####-####', name: 'Гондурас' },
[]: { mask: '+385##-###-###', name: 'Хорватия' },
[]: { mask: '+509##-##-####', name: 'Гаити' },
[]: { mask: '+36(###) ###-###', name: 'Венгрия' },
[]: { mask: '+62(###) ###-##-###', name: 'Индонезия ' },
[]: { mask: '+353(###) ###-###', name: 'Ирландия' },
[]: { mask: '+972##-###-####', name: 'Израиль' },
[]: { mask: '+91(####) ###-###', name: 'Индия' },
[]: { mask: '+964(###) ###-####', name: 'Ирак' },
[]: { mask: '+98(###) ###-####', name: 'Иран' },
[]: { mask: '+354###-####', name: 'Исландия' },
[]: { mask: '+39(###) ####-###', name: 'Италия' },
[]: { mask: '+1(876) ###-####', name: 'Ямайка' },
[]: { mask: '+962#-####-####', name: 'Иордания' },
[]: { mask: '+81-##-####-####', name: 'Япония ' },
[]: { mask: '+254###-######', name: 'Кения' },
[]: { mask: '+996(###) ###-###', name: 'Киргизия' },
[]: { mask: '+855##-###-###', name: 'Камбоджа' },
[]: { mask: '+269##-#####', name: 'Коморы' },
[]: { mask: '+1(869) ###-####', name: 'Сент-Китс и Невис' },
[]: { mask: '+850####-#############', name: 'Корейская НДР' },
[]: { mask: '+82##-###-####', name: 'Респ. Корея' },
[]: { mask: '+965####-####', name: 'Кувейт' },
[]: { mask: '+1(345) ###-####', name: 'Каймановы острова' },
[]: { mask: '+7(###) ###-##-##', name: 'Казахстан' },
[]: { mask: '+856##-##-###-###', name: 'Лаос' },
[]: { mask: '+961##-###-###', name: 'Ливан ' },
[]: { mask: '+1(758) ###-####', name: 'Сент-Люсия' },
[]: { mask: '+423(###) ###-####', name: 'Лихтенштейн' },
[]: { mask: '+94##-###-####', name: 'Шри-Ланка' },
[]: { mask: '+231##-###-###', name: 'Либерия' },
[]: { mask: '+266#-###-####', name: 'Лесото' },
[]: { mask: '+370(###) ##-###', name: 'Литва' },
[]: { mask: '+352(###) ###-###', name: 'Люксембург' },
[]: { mask: '+371##-###-###', name: 'Латвия' },
[]: { mask: '+218##-###-####', name: 'Ливия' },
[]: { mask: '+212##-####-###', name: 'Марокко' },
[]: { mask: '+377###-###-###', name: 'Монако' },
[]: { mask: '+373####-####', name: 'Молдова' },
[]: { mask: '+382##-###-###', name: 'Черногория' },
[]: { mask: '+261##-##-#####', name: 'Мадагаскар' },
[]: { mask: '+389##-###-###', name: 'Респ. Македония' },
[]: { mask: '+223##-##-####', name: 'Мали' },
[]: { mask: '+95##-###-###', name: 'Бирма (Мьянма)' },
[]: { mask: '+976##-##-####', name: 'Монголия' },
[]: { mask: '+853####-####', name: 'Макао' },
[]: { mask: '+222##-##-####', name: 'Мавритания' },
[]: { mask: '+1(664) ###-####', name: 'Монтсеррат' },
[]: { mask: '+356####-####', name: 'Мальта' },
[]: { mask: '+230###-####', name: 'Маврикий' },
[]: { mask: '+960###-####', name: 'Мальдивские острова' },
[]: { mask: '+265#-####-####', name: 'Малави' },
[]: { mask: '+52(###) ###-####', name: 'Мексика' },
[]: { mask: '+60(###) ###-###', name: 'Малайзия' },
[]: { mask: '+258##-###-###', name: 'Мозамбик' },
[]: { mask: '+264##-###-####', name: 'Намибия' },
[]: { mask: '+227##-##-####', name: 'Нигер' },
[]: { mask: '+234(###) ###-####', name: 'Нигерия' },
[]: { mask: '+505####-####', name: 'Никарагуа' },
[]: { mask: '+31##-###-####', name: 'Нидерланды' },
[]: { mask: '+47(###) ##-###', name: 'Норвегия' },
[]: { mask: '+977##-###-###', name: 'Непал' },
[]: { mask: '+64(###) ###-####', name: 'Новая Зеландия' },
[]: { mask: '+968##-###-###', name: 'Оман' },
[]: { mask: '+507###-####', name: 'Панама' },
[]: { mask: '+51(###) ###-###', name: 'Перу' },
[]: {
mask: '+689##-##-##',
name: 'Французская Полинезия (Таити)',
},
[]: { mask: '+675(###) ##-###', name: 'Папуа-Новая Гвинея' },
[]: { mask: '+63(###) ###-####', name: 'Филиппины' },
[]: { mask: '+92(###) ###-####', name: 'Пакистан' },
[]: { mask: '+48(###) ###-###', name: 'Польша' },
[]: { mask: '+351##-###-####', name: 'Португалия' },
[]: { mask: '+680###-####', name: 'Палау' },
[]: { mask: '+595(###) ###-###', name: 'Парагвай' },
[]: { mask: '+974####-####', name: 'Катар' },
[]: { mask: '+40##-###-####', name: 'Румыния' },
[]: { mask: '+381##-###-####', name: 'Сербия' },
[]: { mask: '+7(###) ###-##-##', name: 'Россия' },
[]: { mask: '+250(###) ###-###', name: 'Руанда' },
[]: { mask: '+966#-####-####', name: 'Саудовская Аравия ' },
[]: { mask: '+677###-####', name: 'Соломоновы Острова ' },
[]: { mask: '+248#-###-###', name: 'Сейшелы' },
[]: { mask: '+249##-###-####', name: 'Судан' },
[]: { mask: '+46##-###-####', name: 'Швеция' },
[]: { mask: '+65####-####', name: 'Сингапур' },
[]: { mask: '+290####', name: 'Остров Святой Елены' },
[]: { mask: '+386##-###-###', name: 'Словения' },
[]: { mask: '+421(###) ###-###', name: 'Словакия' },
[]: { mask: '+232##-######', name: 'Сьерра-Леоне' },
[]: { mask: '+378####-######', name: 'Сан-Марино' },
[]: { mask: '+221##-###-####', name: 'Сенегал' },
[]: { mask: '+252##-###-###', name: 'Сомали' },
[]: { mask: '+597###-####', name: 'Суринам ' },
[]: { mask: '+239##-#####', name: 'Сан-Томе и Принсипи' },
[]: { mask: '+503##-##-####', name: 'Сальвадор' },
[]: {
mask: '+963##-####-###',
name: 'Сирийская арабская республика',
},
[]: { mask: '+268##-##-####', name: 'Свазиленд' },
[]: { mask: '+1(649) ###-####', name: 'Тёркс и Кайкос' },
[]: { mask: '+235##-##-##-##', name: 'Чад' },
[]: { mask: '+228##-###-###', name: 'Того' },
[]: { mask: '+66##-###-####', name: 'Таиланд ' },
[]: { mask: '+992##-###-####', name: 'Таджикистан' },
[]: { mask: '+670###-#####', name: 'Восточный Тимор' },
[]: { mask: '+993#-###-####', name: 'Туркменистан' },
[]: { mask: '+216##-###-###', name: 'Тунис' },
[]: { mask: '+676#####', name: 'Тонга' },
[]: { mask: '+90(###) ###-####', name: 'Турция' },
[]: { mask: '+1(868) ###-####', name: 'Тринидад и Тобаго' },
[]: { mask: '+886#-####-####', name: 'Тайвань' },
[]: { mask: '+255##-###-####', name: 'Танзания' },
[]: { mask: '+380(##) ###-##-##', name: 'Украина' },
[]: { mask: '+256(###) ###-###', name: 'Уганда' },
[]: { mask: '+44##-####-####', name: 'Великобритания' },
[]: { mask: '+1(###) ###-####', name: 'США' },
[]: { mask: '+598#-###-##-##', name: 'Уругвай' },
[]: { mask: '+998##-###-####', name: 'Узбекистан' },
[]: { mask: '+1(784) ###-####', name: 'Сент-Винсент и Гренадины' },
[]: { mask: '+58(###) ###-####', name: 'Венесуэла' },
[]: {
mask: '+1(284)###-####',
name: 'Британские Виргинские острова',
},
[]: { mask: '+84(###) ####-###', name: 'Вьетнам' },
[]: { mask: '+678##-#####', name: 'Вануату ' },
[]: { mask: '+685##-####', name: 'Самоа' },
[]: { mask: '+967###-###-###', name: 'Йемен ' },
[]: { mask: '+27##-###-####', name: 'Южно-Африканская Респ.' },
[]: { mask: '+260##-###-####', name: 'Замбия' },
[]: { mask: '+263#-######', name: 'Зимбабве' },
};
var TuiInputPhoneInternationalComponent_1;
// @dynamic
let TuiInputPhoneInternationalComponent = TuiInputPhoneInternationalComponent_1 = class TuiInputPhoneInternationalComponent extends AbstractTuiControl {
constructor(control, changeDetectorRef, iconsPath) {
super(control, changeDetectorRef);
this.countryIsoCode = TuiCountryIsoCode.RU;
this.countries = [];
this.open = false;
this.arrow = TUI_ARROW;
this.staticPath = null;
this.staticPath = iconsPath('tuiIcon').replace('tuiIcon.svg#tuiIcon', '');
}
get nativeFocusableElement() {
return this.inputPhoneComponent && !this.computedDisabled
? this.inputPhoneComponent.nativeFocusableElement
: null;
}
get focused() {
return ((!!this.primitiveTextfield && this.primitiveTextfield.focused) ||
(!!this.inputPhoneComponent && this.inputPhoneComponent.focused));
}
get inputPhoneCountryCode() {
return this.isoToCountryCode(this.countryIsoCode);
}
get phoneMaskAfterCountryCode() {
const countryCode = this.isoToCountryCode(this.countryIsoCode);
return this.calculateMaskAfterCountryCode(COUNTRIES[this.countryIsoCode].mask, countryCode);
}
get countryFlagPath() {
return this.getFlagPath(this.countryIsoCode);
}
getFlagPath(code) {
return `${this.staticPath}${code}.png`;
}
getCountryName(isoCode) {
return COUNTRIES[isoCode].name;
}
onItemClick(isoCode) {
this.open = false;
this.countryIsoCode = isoCode;
// recalculates mask inside inputPhone to prevent isoCode conflict
this.changeDetectorRef.detectChanges();
if (this.nativeFocusableElement) {
setNativeFocused(this.nativeFocusableElement);
}
}
setDisabledState() {
super.setDisabledState();
this.close();
}
isoToCountryCode(isoCode) {
return ('+' +
COUNTRIES[isoCode].mask
.split('')
.filter(symbol => TUI_DIGIT_REGEXP.test(symbol))
.join(''));
}
getFallbackValue() {
return '';
}
close() {
this.open = false;
}
calculateMaskAfterCountryCode(mask, countryCode) {
return mask.replace(countryCode, '');
}
};
TuiInputPhoneInternationalComponent.ctorParameters = () => [
{ type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
{ type: undefined, decorators: [{ type: Inject, args: [TUI_ICONS_PATH,] }] }
];
__decorate([
Input(),
tuiDefaultProp()
], TuiInputPhoneInternationalComponent.prototype, "countryIsoCode", void 0);
__decorate([
Input()
], TuiInputPhoneInternationalComponent.prototype, "countries", void 0);
__decorate([
ViewChild(TuiInputPhoneComponent)
], TuiInputPhoneInternationalComponent.prototype, "inputPhoneComponent", void 0);
__decorate([
ViewChild(TuiPrimitiveTextfieldComponent)
], TuiInputPhoneInternationalComponent.prototype, "primitiveTextfield", void 0);
__decorate([
tuiPure
], TuiInputPhoneInternationalComponent.prototype, "isoToCountryCode", null);
__decorate([
tuiPure
], TuiInputPhoneInternationalComponent.prototype, "calculateMaskAfterCountryCode", null);
TuiInputPhoneInternationalComponent = TuiInputPhoneInternationalComponent_1 = __decorate([
Component({
selector: 'tui-input-phone-international',
template: "<tui-hosted-dropdown\n class=\"hosted-dropdown\"\n [content]=\"dropdown\"\n [canOpen]=\"!readOnly\"\n [(open)]=\"open\"\n>\n <div tuiGroup>\n <tui-primitive-textfield\n tuiHostedDropdownHost\n class=\"country-select tui-group__auto-width-item\"\n [tuiTextfieldCustomContent]=\"countryValueContent\"\n [tuiTextfieldLabelOutside]=\"true\"\n [disabled]=\"disabled\"\n [focusable]=\"focusable\"\n [editable]=\"false\"\n [iconContent]=\"arrow\"\n [pseudoFocused]=\"open || null\"\n [readOnly]=\"readOnly\"\n [tuiHintContent]=\"null\"\n ></tui-primitive-textfield>\n <tui-input-phone\n class=\"input-phone tui-group__auto-width-item\"\n tuiTextfieldAutocomplete=\"off\"\n [tuiTextfieldLabelOutside]=\"true\"\n [formControl]=\"control\"\n [focusable]=\"focusable\"\n [countryCode]=\"inputPhoneCountryCode\"\n [phoneMaskAfterCountryCode]=\"phoneMaskAfterCountryCode\"\n [readOnly]=\"readOnly\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [pseudoFocused]=\"pseudoFocused\"\n [pseudoHovered]=\"pseudoHovered\"\n >\n {{inputPhoneCountryCode}}\n </tui-input-phone>\n </div>\n</tui-hosted-dropdown>\n\n<ng-template #dropdown>\n <tui-data-list>\n <button\n *ngFor=\"let item of countries\"\n tuiOption\n (click)=\"onItemClick(item)\"\n >\n <img class=\"country-item-flag\" alt=\"\" [src]=\"getFlagPath(item)\" />\n <span class=\"country-item-name\">{{getCountryName(item)}}</span>\n <span class=\"country-item-code\">{{isoToCountryCode(item)}}</span>\n </button>\n </tui-data-list>\n</ng-template>\n\n<ng-template #countryValueContent>\n <img\n class=\"flag\"\n [alt]=\"getCountryName(countryIsoCode)\"\n [src]=\"countryFlagPath\"\n />\n</ng-template>\n",
changeDetection: ChangeDetectionStrategy.OnPush,
providers: [
{
provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
useExisting: forwardRef(() => TuiInputPhoneInternationalComponent_1),
},
FIXED_DROPDOWN_CONTROLLER_PROVIDER,
],
styles: [":host{display:block}:host._disabled{pointer-events:none}.hosted-dropdown{display:block}.country-select{width:90px}.arrow-icon{transition-duration:.3s;transition-timing-function:ease-in-out;display:flex;width:24px;height:24px;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.arrow-icon:hover{color:var(--tui-text-02)}:host._disabled .arrow-icon,:host._readonly .arrow-icon{pointer-events:none}:host[data-mode=onDark] .arrow-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .arrow-icon:hover{color:var(--tui-text-01-night)}.arrow-icon_open{transform:rotate(180deg)}.input-phone{flex:1}.flag{width:28px;height:20px;margin-left:-8px}.country-item-flag{width:28px;height:20px}.country-item-name{margin-left:12px;margin-right:auto}.country-item-code{color:var(--tui-text-02);margin-right:4px}"]
}),
__param(0, Optional()),
__param(0, Self()),
__param(0, Inject(NgControl)),
__param(1, Inject(ChangeDetectorRef)),
__param(2, Inject(TUI_ICONS_PATH))
], TuiInputPhoneInternationalComponent);
let TuiInputPhoneInternationalModule = class TuiInputPhoneInternationalModule {
};
TuiInputPhoneInternationalModule = __decorate([
NgModule({
imports: [
CommonModule,
ReactiveFormsModule,
PolymorpheusModule,
TuiSvgModule,
TuiInputPhoneModule,
TuiGroupModule,
TuiPrimitiveTextfieldModule,
TuiTextfieldControllerModule,
TuiHintControllerModule,
TuiHostedDropdownModule,
TuiDataListModule,
TuiArrowModule,
],
declarations: [TuiInputPhoneInternationalComponent],
exports: [TuiInputPhoneInternationalComponent],
})
], TuiInputPhoneInternationalModule);
/**
* Generated bundle index. Do not edit.
*/
export { COUNTRIES, TuiCountryIsoCode, TuiInputPhoneInternationalComponent, TuiInputPhoneInternationalModule };
//# sourceMappingURL=taiga-ui-kit-components-input-phone-international.js.map