@coretech/ngx-international-phone-number
Version:
A simple international telephone number input. Allows you to create a phone number field with country dropdown.
1,912 lines (1,910 loc) • 80.6 kB
JavaScript
import { Component, Directive, ElementRef, EventEmitter, HostListener, Injectable, Input, NgModule, Output, Pipe, ViewChild, forwardRef } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
import { parsePhoneNumber } from 'libphonenumber-js';
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
var LOCALES = {
en: {
ax: 'AALAND ISLANDS',
af: 'AFGHANISTAN',
al: 'ALBANIA',
dz: 'ALGERIA',
as: 'AMERICAN SAMOA',
ad: 'ANDORRA',
ao: 'ANGOLA',
ai: 'ANGUILLA',
aq: 'ANTARCTICA',
ag: 'ANTIGUA AND BARBUDA',
ar: 'ARGENTINA',
am: 'ARMENIA',
aw: 'ARUBA',
au: 'AUSTRALIA',
at: 'AUSTRIA',
az: 'AZERBAIJAN',
bs: 'BAHAMAS',
bh: 'BAHRAIN',
bd: 'BANGLADESH',
bb: 'BARBADOS',
by: 'BELARUS',
be: 'BELGIUM',
bz: 'BELIZE',
bj: 'BENIN',
bm: 'BERMUDA',
bt: 'BHUTAN',
bo: 'BOLIVIA',
ba: 'BOSNIA AND HERZEGOWINA',
bw: 'BOTSWANA',
bv: 'BOUVET ISLAND',
br: 'BRAZIL',
io: 'BRITISH INDIAN OCEAN TERRITORY',
bn: 'BRUNEI DARUSSALAM',
bg: 'BULGARIA',
bf: 'BURKINA FASO',
bi: 'BURUNDI',
bq: 'CARIBBEAN NETHERLANDS',
kh: 'CAMBODIA',
cm: 'CAMEROON',
ca: 'CANADA',
cv: 'CAPE VERDE',
ky: 'CAYMAN ISLANDS',
cf: 'CENTRAL AFRICAN REPUBLIC',
td: 'CHAD',
cl: 'CHILE',
cn: 'CHINA',
cc: 'COCOS ISLANDS',
co: 'COLOMBIA',
km: 'COMOROS',
cd: 'CONGO',
cg: 'CONGO REPUBLIC',
ck: 'COOK ISLANDS',
cr: 'COSTA RICA',
ci: 'COTE DIVOIRE',
hr: 'CROATIA ',
cu: 'CUBA',
cw: 'CURACAO',
cy: 'CYPRUS',
cz: 'CZECH REPUBLIC',
dk: 'DENMARK',
dj: 'DJIBOUTI',
dm: 'DOMINICA',
do: 'DOMINICAN REPUBLIC',
ec: 'ECUADOR',
eg: 'EGYPT',
sv: 'EL SALVADOR',
gq: 'EQUATORIAL GUINEA',
er: 'ERITREA',
ee: 'ESTONIA',
et: 'ETHIOPIA',
fk: 'FALKLAND ISLANDS (MALVINAS)',
fo: 'FAROE ISLANDS',
fj: 'FIJI',
fi: 'FINLAND',
fr: 'FRANCE',
gf: 'FRENCH GUIANA',
pf: 'FRENCH POLYNESIA',
tf: 'FRENCH SOUTHERN TERRITORIES',
ga: 'GABON',
gm: 'GAMBIA',
ge: 'GEORGIA',
de: 'GERMANY',
gh: 'GHANA',
gi: 'GIBRALTAR',
gr: 'GREECE',
gl: 'GREENLAND',
gd: 'GRENADA',
gp: 'GUADELOUPE',
gu: 'GUAM',
gt: 'GUATEMALA',
gg: 'GUERNSEY',
gn: 'GUINEA',
gw: 'GUINEA-BISSAU',
gy: 'GUYANA',
ht: 'HAITI',
hm: 'HEARD AND MC DONALD ISLANDS',
hn: 'HONDURAS',
hk: 'HONG KONG',
hu: 'HUNGARY',
is: 'ICELAND',
in: 'INDIA',
id: 'INDONESIA',
ir: 'IRAN ',
iq: 'IRAQ',
ie: 'IRELAND',
im: 'ISLA DE MAN',
il: 'ISRAEL',
it: 'ITALY',
jm: 'JAMAICA',
jp: 'JAPAN',
je: 'JERSEY',
jo: 'JORDAN',
kz: 'KAZAKHSTAN',
ke: 'KENYA',
ki: 'KIRIBATI',
kp: 'KOREA NORTH ',
kr: 'KOREA SOUTH',
xk: 'KOSOVO',
kw: 'KUWAIT',
kg: 'KYRGYZSTAN',
la: 'LAO',
lv: 'LATVIA',
lb: 'LEBANON',
ls: 'LESOTHO',
lr: 'LIBERIA',
ly: 'LIBYAN ARAB JAMAHIRIYA',
li: 'LIECHTENSTEIN',
lt: 'LITHUANIA',
lu: 'LUXEMBOURG',
mo: 'MACAU',
mk: 'MACEDONIA',
mg: 'MADAGASCAR',
mw: 'MALAWI',
my: 'MALAYSIA',
mv: 'MALDIVES',
ml: 'MALI',
mt: 'MALTA',
mh: 'MARSHALL ISLANDS',
mq: 'MARTINIQUE',
mr: 'MAURITANIA',
mu: 'MAURITIUS',
yt: 'MAYOTTE',
mx: 'MEXICO',
fm: 'MICRONESIA',
md: 'MOLDOVA',
mc: 'MONACO',
mn: 'MONGOLIA',
me: 'MONTENEGRO',
ms: 'MONTSERRAT',
ma: 'MOROCCO',
mz: 'MOZAMBIQUE',
mm: 'MYANMAR',
na: 'NAMIBIA',
nr: 'NAURU',
np: 'NEPAL',
nl: 'NETHERLANDS',
an: 'NETHERLANDS ANTILLES',
nc: 'NEW CALEDONIA',
nz: 'NEW ZEALAND',
ni: 'NICARAGUA',
ne: 'NIGER',
ng: 'NIGERIA',
nu: 'NIUE',
nf: 'NORFOLK ISLAND',
mp: 'NORTHERN MARIANA ISLANDS',
no: 'NORWAY',
om: 'OMAN',
pk: 'PAKISTAN',
pw: 'PALAU',
ps: 'PALESTINA',
pa: 'PANAMA',
pg: 'PAPUA NEW GUINEA',
py: 'PARAGUAY',
pe: 'PERU',
ph: 'PHILIPPINES',
pn: 'PITCAIRN',
pl: 'POLAND',
pt: 'PORTUGAL',
pr: 'PUERTO RICO',
qa: 'QATAR',
re: 'REUNION',
ro: 'ROMANIA',
ru: 'RUSSIAN FEDERATION',
rw: 'RWANDA',
sh: 'SAINT HELENA',
kn: 'SAINT KITTS AND NEVIS',
lc: 'SAINT LUCIA',
pm: 'SAINT PIERRE AND MIQUELON',
vc: 'SAINT VINCENT AND THE GRENADINES',
ws: 'SAMOA',
bl: 'SAN BARTOLOMÉ',
sm: 'SAN MARINO',
st: 'SAO TOME AND PRINCIPE',
sa: 'SAUDI ARABIA',
sn: 'SENEGAL',
cs: 'SERBIA AND MONTENEGRO',
rs: 'SERBIA',
sc: 'SEYCHELLES',
sl: 'SIERRA LEONE',
sg: 'SINGAPORE',
sx: 'SINT MAARTEN',
sk: 'SLOVAKIA',
si: 'SLOVENIA',
sb: 'SOLOMON ISLANDS',
so: 'SOMALIA',
za: 'SOUTH AFRICA',
gs: 'SOUTH GEORGIA ISLANDS',
es: 'SPAIN',
lk: 'SRI LANKA',
sd: 'SUDAN',
ss: 'SOUTH SUDAN',
sr: 'SURINAME',
sj: 'SVALBARD AND JAN MAYEN ISLANDS',
sz: 'SWAZILAND',
se: 'SWEDEN',
ch: 'SWITZERLAND',
sy: 'SYRIAN ARAB REPUBLIC',
tw: 'TAIWAN',
tj: 'TAJIKISTAN',
tz: 'TANZANIA',
th: 'THAILAND',
tl: 'TIMOR-LESTE',
tg: 'TOGO',
tk: 'TOKELAU',
to: 'TONGA',
tt: 'TRINIDAD AND TOBAGO',
tn: 'TUNISIA',
tr: 'TURKEY',
tm: 'TURKMENISTAN',
tc: 'TURKS AND CAICOS ISLANDS',
tv: 'TUVALU',
ug: 'UGANDA',
ua: 'UKRAINE',
ae: 'UNITED ARAB EMIRATES',
gb: 'UNITED KINGDOM',
us: 'UNITED STATES',
um: 'UNITED STATES MINOR OUTLYING ISLANDS',
uy: 'URUGUAY',
uz: 'UZBEKISTAN',
vu: 'VANUATU',
va: 'VATICAN CITY STATE',
ve: 'VENEZUELA',
vn: 'VIET NAM',
vg: 'VIRGIN ISLANDS (BRITISH)',
vi: 'VIRGIN ISLANDS (U.S.)',
wf: 'WALLIS AND FUTUNA ISLANDS',
eh: 'WESTERN SAHARA',
ye: 'YEMEN',
zm: 'ZAMBIA',
zw: 'ZIMBABWE '
},
es: {
ax: 'ISLAS ÁLAND',
af: 'AFGHANISTÁN',
al: 'ALBANIA',
dz: 'ARGEL',
as: 'SAMOA AMERICANA',
ad: 'ANDORRA',
ao: 'ANGOLA',
ai: 'ANGUILA',
aq: 'ANTÁRTIDA',
ag: 'ANTIGUA Y BARBUDA',
ar: 'ARGENTINA',
am: 'ARMENIA',
aw: 'ARUBA',
au: 'AUSTRALIA',
at: 'AUSTRIA',
az: 'AZERBAIYÁN',
bs: 'BAHAMAS',
bh: 'BAHRÉIN',
bd: 'BANGLADESH',
bb: 'BARBADOS',
by: 'BELARÚS',
be: 'BÉLGICA',
bz: 'BELICE',
bj: 'BENIN',
bm: 'BERMUDAAS',
bt: 'BHUTÁN',
bo: 'BOLIVIA',
ba: 'BOSNIA Y HERZEGOVINA',
bw: 'BOTSUANA',
bv: 'ISLA BOUVET',
br: 'BRASIL',
io: 'TERRITORIO BRITÁNICO DEL OCÉANO ÍNDICO',
bn: 'BRUNÉI',
bg: 'BULGARIA',
bf: 'BURKINA FASO',
bi: 'BURUNDI',
bq: 'CARIBE PAÍSES BAJOS',
kh: 'CAMBOYA',
cm: 'CAMERÚN',
ca: 'CANADÁ',
cv: 'CABO VERDE',
ky: 'ISLAS CAIMÁN',
cf: 'REPÚBLICA CENTRO-AFRICANA',
td: 'CHAD',
cl: 'CHILE',
cn: 'CHINA',
cc: 'ISLAS COCOS',
co: 'COLOMBIA',
km: 'COMOROS',
cd: 'CONGO (ZAIRE)',
cg: 'CONGO',
ck: 'ISLAS COOK',
cr: 'COSTA RICA',
ci: 'COSTA DE MARFIL',
hr: 'CROACIA ',
cu: 'CUBA',
cw: 'CURAÇAO',
cy: 'CHIPRE',
cz: 'REPÚBLICA CHECA',
dk: 'DINAMARCA',
dj: 'YIBUTI',
dm: 'DOMÍNICA',
do: 'REPÚBLICA DOMINICANA',
ec: 'ECUADOR',
eg: 'EGIPTO',
sv: 'EL SALVADOR',
gq: 'GUINEA ECUATORIAL',
er: 'ERITREA',
ee: 'ESTONIA',
et: 'ETIOPÍA',
fk: 'ISLAS MALVINAS',
fo: 'ISLAS FAROE',
fj: 'FIJI',
fi: 'FINLANDIA',
fr: 'FRANCIA',
gf: 'GUIANA FRANCESA',
pf: 'POLYNESIA FRANCESA',
tf: 'TERRITORIOS AUSTRALES FRANCESES',
ga: 'GABÓN',
gm: 'GAMBIA',
ge: 'GEORGIA',
de: 'ALEMANIA',
gh: 'GHANA',
gi: 'GIBRALTAR',
gr: 'GREECE',
gl: 'GROENLANDIA',
gd: 'GRANADA',
gp: 'GUADALUPE',
gu: 'GUAM',
gt: 'GUATEMALA',
gg: 'GUERNSEY',
gn: 'GUINEA',
gw: 'GUINEA-BISSAU',
gy: 'GUYANA',
ht: 'HAITI',
hm: 'ISLAS HEARD Y MC DONALD',
hn: 'HONDURAS',
hk: 'HONG KONG',
hu: 'HUNGRÍA',
is: 'ISLANDIA',
in: 'INDIA',
id: 'INDONESIA',
ir: 'IRÁN',
iq: 'IRAK',
ie: 'IRLANDA',
im: 'ISLA DE MAN',
il: 'ISRAEL',
it: 'ITALIA',
jm: 'JAMAICA',
jp: 'JAPÓN',
je: 'JERSEY',
jo: 'JORDANIA',
kz: 'KAZAJSTÁN',
ke: 'KENIA',
ki: 'KIRIBATI',
kp: 'KOREA DEL NORTE',
kr: 'KOREA DEL SUR',
xk: 'KOSOVO',
kw: 'KUWAIT',
kg: 'KIRGUISTÁN',
la: 'LAOS',
lv: 'LETONIA',
lb: 'LÍBANO',
ls: 'LESOTHO',
lr: 'LIBERIA',
ly: 'LIBIA',
li: 'LIECHTENSTEIN',
lt: 'LITUANIA',
lu: 'LUXEMBURGO',
mo: 'MACAO',
mk: 'MACEDONIA',
mg: 'MADAGASCAR',
mw: 'MALAWI',
my: 'MALASIA',
mv: 'MALDIVAS',
ml: 'MALI',
mt: 'MALTA',
mh: 'ISLAS MARSHALL',
mq: 'MATINICA',
mr: 'MAURITANIA',
mu: 'MAURICIO',
yt: 'MAYOTTE',
mx: 'MÉXICO',
fm: 'MICRONESIA',
md: 'MOLDOVA',
mc: 'MÓNACO',
mn: 'MONGOLIA',
me: 'MONTENEGRO',
ms: 'MONTSERRAT',
ma: 'MARRUECOS',
mz: 'MOZAMBIQUE',
mm: 'MYANMAR',
na: 'NAMIBIA',
nr: 'NAURU',
np: 'NEPAL',
nl: 'PAÍSES BAJOS',
an: 'ANTILLAS NEERLANDESAS',
nc: 'NUEVA CALEDONIA',
nz: 'NUEVA ZELANDA',
ni: 'NICARAGUA',
ne: 'NÍGER',
ng: 'NIGERIA',
nu: 'NIUE',
nf: 'ISLAS NORKFOLK',
mp: 'ISLAS MARIANAS DEL NORTE',
no: 'NORUEGA',
om: 'OMÁN',
pk: 'PAKISTÁN',
pw: 'ISLAS PALAOS',
ps: 'PALESTINA',
pa: 'PANAMÁ',
pg: 'PAPÚA NUEVA GUINEA',
py: 'PARAGUAY',
pe: 'PERÚ',
ph: 'FILIPINAS',
pn: 'ISLAS PITCAIRN',
pl: 'POLONIA',
pt: 'PORTUGAL',
pr: 'PUERTO RICO',
qa: 'QATAR',
re: 'REUNIÓN',
ro: 'RUMANÍA',
ru: 'RUSIA',
rw: 'RUANDA',
sh: 'SANTA ELENA',
kn: 'SAN CRISTÓBAL Y NIEVES',
lc: 'SANTA LUCÍA',
pm: 'SAN PEDRO Y MIQUELÓN',
vc: 'SAN VICENTE Y LAS GRANADINAS',
ws: 'SAMOA',
bl: 'SAN BARTOLOMÉ',
sm: 'SAN MARINO',
st: 'SANTO TOMÉ Y PRÍNCIPE',
sa: 'ARABIA SAUDITA',
sn: 'SENEGAL',
cs: 'SERBIA Y MONTENEGRO',
rs: 'SERBIA',
sc: 'SEYCHELLES',
sl: 'SIERRA LEONA',
sg: 'SINGAPUR',
sx: 'SINT MAARTEN',
sk: 'ESLOVAQUIA',
si: 'ESLOVENIA',
sb: 'ISLAS SOLOMÓN',
so: 'SOMALIA',
za: 'SUDÁFRICA',
gs: 'GEORGIA DEL SUR E ISLAS SANDWICH DEL SUR',
es: 'ESPAÑA',
lk: 'SRI LANKA',
sd: 'SUDÁN',
ss: 'SUDÁN DEL SUR',
sr: 'SURINAM',
sj: 'ISLAS SVALBARD Y JAN MAYEN',
sz: 'SUAZILANDIA',
se: 'SUECIA',
ch: 'SUIZA',
sy: 'SIRIA',
tw: 'TAIWÁN',
tj: 'TAYIKISTÁN',
tz: 'TANZANIA',
th: 'TAILANDIA',
tl: 'TIMOR-LESTE',
tg: 'TOGO',
tk: 'TOKELAU',
to: 'TONGA',
tt: 'TRINIDAD Y TOBAGO',
tn: 'TÚNEZ',
tr: 'TURQUÍA',
tm: 'TURKMENISTÁN',
tc: 'ISLAS TURCAS Y CAICOS',
tv: 'TUVALU',
ug: 'UGANDA',
ua: 'UCRANIA',
ae: 'EMIRATOS ÁRABES UNIDOS',
gb: 'REINO UNIDO',
us: 'ESTADOS UNIDOS DE AMÉRICA',
um: 'ESTADOS UNIDOS ISLAS MINOR OUTLYING',
uy: 'URUGUAY',
uz: 'UZBEKISTÁN',
vu: 'VANUATU',
va: 'CIUDAD DEL VATICANO',
ve: 'VENEZUELA',
vn: 'VIETNAM',
vg: 'ISLAS VÍRGENES (INGLESAS)',
vi: 'ISLAS VÍRGENES (U.S.)',
wf: 'WALLIS Y FUTUNA',
eh: 'SAHARA OCCIDENTAL',
ye: 'YEMEN',
zm: 'ZAMBIA',
zw: 'ZIMBABUE '
}
};
var CountryService = /** @class */ (function () {
function CountryService() {
}
/**
* Returns the countries
*/
/**
* Returns the countries
* @return {?}
*/
CountryService.prototype.getCountries = /**
* Returns the countries
* @return {?}
*/
function () {
if (!this.countries || this.countries.length === 0) {
this.countries = this.loadCountries();
}
return this.countries;
};
/**
* Returns the countries by iso code
*/
/**
* Returns the countries by iso code
* @param {?} listOfIso
* @return {?}
*/
CountryService.prototype.getCountriesByISO = /**
* Returns the countries by iso code
* @param {?} listOfIso
* @return {?}
*/
function (listOfIso) {
if (!this.countries || this.countries.length === 0) {
this.countries = this.loadCountries();
}
if (listOfIso) {
/** @type {?} */
var countries = [];
var _loop_1 = function (iso) {
/** @type {?} */
var countryObj = this_1.countries.find((/**
* @param {?} o
* @return {?}
*/
function (o) { return o.countryCode.toLowerCase() === iso.toLowerCase(); }));
if (countryObj) {
countries.push(countryObj);
}
};
var this_1 = this;
for (var _i = 0, listOfIso_1 = listOfIso; _i < listOfIso_1.length; _i++) {
var iso = listOfIso_1[_i];
_loop_1(iso);
}
return countries;
}
else {
return this.countries;
}
};
/**
* Load and returns the countries
*/
/**
* Load and returns the countries
* @private
* @param {?=} locale
* @return {?}
*/
CountryService.prototype.loadCountries = /**
* Load and returns the countries
* @private
* @param {?=} locale
* @return {?}
*/
function (locale) {
if (locale === void 0) { locale = 'en'; }
/** @type {?} */
var countries = [
{
name: '',
dialCode: '61',
countryCode: 'au'
},
{
name: '',
dialCode: '994',
countryCode: 'az'
},
{
name: '',
dialCode: '1242',
countryCode: 'bs'
},
{
name: '',
dialCode: '973',
countryCode: 'bh'
},
{
name: '',
dialCode: '880',
countryCode: 'bd'
},
{
name: '',
dialCode: '1246',
countryCode: 'bb'
},
{
name: '',
dialCode: '375',
countryCode: 'by'
},
{
name: '',
dialCode: '32',
countryCode: 'be'
},
{
name: '',
dialCode: '501',
countryCode: 'bz'
},
{
name: '',
dialCode: '229',
countryCode: 'bj'
},
{
name: '',
dialCode: '1441',
countryCode: 'bm'
},
{
name: '',
dialCode: '975',
countryCode: 'bt'
},
{
name: '',
dialCode: '591',
countryCode: 'bo'
},
{
name: '',
dialCode: '387',
countryCode: 'ba'
},
{
name: '',
dialCode: '267',
countryCode: 'bw'
},
{
name: '',
dialCode: '55',
countryCode: 'br'
},
{
name: '',
dialCode: '246',
countryCode: 'io'
},
{
name: '',
dialCode: '1284',
countryCode: 'vg'
},
{
name: '',
dialCode: '673',
countryCode: 'bn'
},
{
name: '',
dialCode: '359',
countryCode: 'bg'
},
{
name: '',
dialCode: '226',
countryCode: 'bf'
},
{
name: '',
dialCode: '257',
countryCode: 'bi'
},
{
name: '',
dialCode: '855',
countryCode: 'kh'
},
{
name: '',
dialCode: '237',
countryCode: 'cm'
},
{
name: '',
dialCode: '1',
countryCode: 'ca'
},
{
name: '',
dialCode: '238',
countryCode: 'cv'
},
{
name: '',
dialCode: '599',
countryCode: 'bq'
},
{
name: '',
dialCode: '1345',
countryCode: 'ky'
},
{
name: '',
dialCode: '236',
countryCode: 'cf'
},
{
name: '',
dialCode: '235',
countryCode: 'td'
},
{
name: '',
dialCode: '56',
countryCode: 'cl'
},
{
name: '',
dialCode: '86',
countryCode: 'cn'
},
{
name: '',
dialCode: '57',
countryCode: 'co'
},
{
name: '',
dialCode: '269',
countryCode: 'km'
},
{
name: '',
dialCode: '243',
countryCode: 'cd'
},
{
name: '',
dialCode: '242',
countryCode: 'cg'
},
{
name: '',
dialCode: '682',
countryCode: 'ck'
},
{
name: '',
dialCode: '506',
countryCode: 'cr'
},
{
name: '',
dialCode: '225',
countryCode: 'ci'
},
{
name: '',
dialCode: '385',
countryCode: 'hr'
},
{
name: '',
dialCode: '53',
countryCode: 'cu'
},
{
name: '',
dialCode: '599',
countryCode: 'cw'
},
{
name: '',
dialCode: '357',
countryCode: 'cy'
},
{
name: '',
dialCode: '420',
countryCode: 'cz'
},
{
name: '',
dialCode: '45',
countryCode: 'dk'
},
{
name: '',
dialCode: '253',
countryCode: 'dj'
},
{
name: '',
dialCode: '1767',
countryCode: 'dm'
},
{
name: '',
dialCode: '1',
countryCode: 'do'
},
{
name: '',
dialCode: '593',
countryCode: 'ec'
},
{
name: '',
dialCode: '20',
countryCode: 'eg'
},
{
name: '',
dialCode: '503',
countryCode: 'sv'
},
{
name: '',
dialCode: '240',
countryCode: 'gq'
},
{
name: '',
dialCode: '291',
countryCode: 'er'
},
{
name: '',
dialCode: '372',
countryCode: 'ee'
},
{
name: '',
dialCode: '251',
countryCode: 'et'
},
{
name: '',
dialCode: '500',
countryCode: 'fk'
},
{
name: '',
dialCode: '298',
countryCode: 'fo'
},
{
name: '',
dialCode: '679',
countryCode: 'fj'
},
{
name: '',
dialCode: '358',
countryCode: 'fi'
},
{
name: '',
dialCode: '33',
countryCode: 'fr'
},
{
name: '',
dialCode: '594',
countryCode: 'gf'
},
{
name: '',
dialCode: '689',
countryCode: 'pf'
},
{
name: '',
dialCode: '241',
countryCode: 'ga'
},
{
name: '',
dialCode: '220',
countryCode: 'gm'
},
{
name: '',
dialCode: '995',
countryCode: 'ge'
},
{
name: '',
dialCode: '49',
countryCode: 'de'
},
{
name: '',
dialCode: '233',
countryCode: 'gh'
},
{
name: '',
dialCode: '350',
countryCode: 'gi'
},
{
name: '',
dialCode: '30',
countryCode: 'gr'
},
{
name: '',
dialCode: '299',
countryCode: 'gl'
},
{
name: '',
dialCode: '1473',
countryCode: 'gd'
},
{
name: '',
dialCode: '590',
countryCode: 'gp'
},
{
name: '',
dialCode: '1671',
countryCode: 'gu'
},
{
name: '',
dialCode: '502',
countryCode: 'gt'
},
{
name: '',
dialCode: '44',
countryCode: 'gg'
},
{
name: '',
dialCode: '224',
countryCode: 'gn'
},
{
name: '',
dialCode: '245',
countryCode: 'gw'
},
{
name: '',
dialCode: '592',
countryCode: 'gy'
},
{
name: '',
dialCode: '509',
countryCode: 'ht'
},
{
name: '',
dialCode: '504',
countryCode: 'hn'
},
{
name: '',
dialCode: '852',
countryCode: 'hk'
},
{
name: '',
dialCode: '36',
countryCode: 'hu'
},
{
name: '',
dialCode: '354',
countryCode: 'is'
},
{
name: '',
dialCode: '91',
countryCode: 'in'
},
{
name: '',
dialCode: '62',
countryCode: 'id'
},
{
name: '',
dialCode: '98',
countryCode: 'ir'
},
{
name: '',
dialCode: '964',
countryCode: 'iq'
},
{
name: '',
dialCode: '353',
countryCode: 'ie'
},
{
name: '',
dialCode: '44',
countryCode: 'im'
},
{
name: '',
dialCode: '972',
countryCode: 'il'
},
{
name: '',
dialCode: '39',
countryCode: 'it'
},
{
name: '',
dialCode: '1876',
countryCode: 'jm'
},
{
name: '',
dialCode: '81',
countryCode: 'jp'
},
{
name: '',
dialCode: '44',
countryCode: 'je'
},
{
name: '',
dialCode: '962',
countryCode: 'jo'
},
{
name: '',
dialCode: '7',
countryCode: 'kz'
},
{
name: '',
dialCode: '254',
countryCode: 'ke'
},
{
name: '',
dialCode: '686',
countryCode: 'ki'
},
{
name: '',
dialCode: '383',
countryCode: 'xk'
},
{
name: '',
dialCode: '965',
countryCode: 'kw'
},
{
name: '',
dialCode: '996',
countryCode: 'kg'
},
{
name: '',
dialCode: '856',
countryCode: 'la'
},
{
name: '',
dialCode: '371',
countryCode: 'lv'
},
{
name: '',
dialCode: '961',
countryCode: 'lb'
},
{
name: '',
dialCode: '266',
countryCode: 'ls'
},
{
name: '',
dialCode: '231',
countryCode: 'lr'
},
{
name: '',
dialCode: '218',
countryCode: 'ly'
},
{
name: '',
dialCode: '423',
countryCode: 'li'
},
{
name: '',
dialCode: '370',
countryCode: 'lt'
},
{
name: '',
dialCode: '352',
countryCode: 'lu'
},
{
name: '',
dialCode: '853',
countryCode: 'mo'
},
{
name: '',
dialCode: '389',
countryCode: 'mk'
},
{
name: '',
dialCode: '261',
countryCode: 'mg'
},
{
name: '',
dialCode: '265',
countryCode: 'mw'
},
{
name: '',
dialCode: '60',
countryCode: 'my'
},
{
name: '',
dialCode: '960',
countryCode: 'mv'
},
{
name: '',
dialCode: '223',
countryCode: 'ml'
},
{
name: '',
dialCode: '356',
countryCode: 'mt'
},
{
name: '',
dialCode: '692',
countryCode: 'mh'
},
{
name: '',
dialCode: '596',
countryCode: 'mq'
},
{
name: '',
dialCode: '222',
countryCode: 'mr'
},
{
name: '',
dialCode: '230',
countryCode: 'mu'
},
{
name: '',
dialCode: '262',
countryCode: 'yt'
},
{
name: '',
dialCode: '52',
countryCode: 'mx'
},
{
name: '',
dialCode: '691',
countryCode: 'fm'
},
{
name: '',
dialCode: '373',
countryCode: 'md'
},
{
name: '',
dialCode: '377',
countryCode: 'mc'
},
{
name: '',
dialCode: '976',
countryCode: 'mn'
},
{
name: '',
dialCode: '382',
countryCode: 'me'
},
{
name: '',
dialCode: '1664',
countryCode: 'ms'
},
{
name: '',
dialCode: '212',
countryCode: 'ma'
},
{
name: '',
dialCode: '258',
countryCode: 'mz'
},
{
name: '',
dialCode: '95',
countryCode: 'mm'
},
{
name: '',
dialCode: '264',
countryCode: 'na'
},
{
name: '',
dialCode: '674',
countryCode: 'nr'
},
{
name: '',
dialCode: '977',
countryCode: 'np'
},
{
name: '',
dialCode: '31',
countryCode: 'nl'
},
{
name: '',
dialCode: '687',
countryCode: 'nc'
},
{
name: '',
dialCode: '64',
countryCode: 'nz'
},
{
name: '',
dialCode: '505',
countryCode: 'ni'
},
{
name: '',
dialCode: '227',
countryCode: 'ne'
},
{
name: '',
dialCode: '234',
countryCode: 'ng'
},
{
name: '',
dialCode: '683',
countryCode: 'nu'
},
{
name: '',
dialCode: '672',
countryCode: 'nf'
},
{
name: '',
dialCode: '850',
countryCode: 'kp'
},
{
name: '',
dialCode: '1670',
countryCode: 'mp'
},
{
name: '',
dialCode: '47',
countryCode: 'no'
},
{
name: '',
dialCode: '968',
countryCode: 'om'
},
{
name: '',
dialCode: '92',
countryCode: 'pk'
},
{
name: '',
dialCode: '680',
countryCode: 'pw'
},
{
name: '',
dialCode: '970',
countryCode: 'ps'
},
{
name: '',
dialCode: '507',
countryCode: 'pa'
},
{
name: '',
dialCode: '675',
countryCode: 'pg'
},
{
name: '',
dialCode: '595',
countryCode: 'py'
},
{
name: '',
dialCode: '51',
countryCode: 'pe'
},
{
name: '',
dialCode: '63',
countryCode: 'ph'
},
{
name: '',
dialCode: '48',
countryCode: 'pl'
},
{
name: '',
dialCode: '351',
countryCode: 'pt'
},
{
name: '',
dialCode: '1',
countryCode: 'pr'
},
{
name: '',
dialCode: '974',
countryCode: 'qa'
},
{
name: '',
dialCode: '262',
countryCode: 're'
},
{
name: '',
dialCode: '40',
countryCode: 'ro'
},
{
name: '',
dialCode: '7',
countryCode: 'ru'
},
{
name: '',
dialCode: '250',
countryCode: 'rw'
},
{
name: '',
dialCode: '590',
countryCode: 'bl'
},
{
name: '',
dialCode: '290',
countryCode: 'sh'
},
{
name: '',
dialCode: '1869',
countryCode: 'kn'
},
{
name: '',
dialCode: '1758',
countryCode: 'lc'
},
{
name: '',
dialCode: '508',
countryCode: 'pm'
},
{
name: '',
dialCode: '1784',
countryCode: 'vc'
},
{
name: '',
dialCode: '685',
countryCode: 'ws'
},
{
name: '',
dialCode: '378',
countryCode: 'sm'
},
{
name: '',
dialCode: '239',
countryCode: 'st'
},
{
name: '',
dialCode: '966',
countryCode: 'sa'
},
{
name: '',
dialCode: '221',
countryCode: 'sn'
},
{
name: '',
dialCode: '381',
countryCode: 'rs'
},
{
name: '',
dialCode: '248',
countryCode: 'sc'
},
{
name: '',
dialCode: '232',
countryCode: 'sl'
},
{
name: '',
dialCode: '65',
countryCode: 'sg'
},
{
name: '',
dialCode: '1721',
countryCode: 'sx'
},
{
name: '',
dialCode: '421',
countryCode: 'sk'
},
{
name: '',
dialCode: '386',
countryCode: 'si'
},
{
name: '',
dialCode: '677',
countryCode: 'sb'
},
{
name: '',
dialCode: '252',
countryCode: 'so'
},
{
name: '',
dialCode: '27',
countryCode: 'za'
},
{
name: '',
dialCode: '82',
countryCode: 'kr'
},
{
name: '',
dialCode: '211',
countryCode: 'ss'
},
{
name: '',
dialCode: '34',
countryCode: 'es'
},
{
name: '',
dialCode: '94',
countryCode: 'lk'
},
{
name: '',
dialCode: '249',
countryCode: 'sd'
},
{
name: '',
dialCode: '597',
countryCode: 'sr'
},
{
name: '',
dialCode: '47',
countryCode: 'sj'
},
{
name: '',
dialCode: '268',
countryCode: 'sz'
},
{
name: '',
dialCode: '46',
countryCode: 'se'
},
{
name: '',
dialCode: '41',
countryCode: 'ch'
},
{
name: '',
dialCode: '963',
countryCode: 'sy'
},
{
name: '',
dialCode: '886',
countryCode: 'tw'
},
{
name: '',
dialCode: '992',
countryCode: 'tj'
},
{
name: '',
dialCode: '255',
countryCode: 'tz'
},
{
name: '',
dialCode: '66',
countryCode: 'th'
},
{
name: '',
dialCode: '670',
countryCode: 'tl'
},
{
name: '',
dialCode: '228',
countryCode: 'tg'
},
{
name: '',
dialCode: '690',
countryCode: 'tk'
},
{
name: '',
dialCode: '676',
countryCode: 'to'
},
{
name: '',
dialCode: '1868',
countryCode: 'tt'
},
{
name: '',
dialCode: '216',
countryCode: 'tn'
},
{
name: '',
dialCode: '90',
countryCode: 'tr'
},
{
name: '',
dialCode: '993',
countryCode: 'tm'
},
{
name: '',
dialCode: '1649',
countryCode: 'tc'
},
{
name: '',
dialCode: '688',
countryCode: 'tv'
},
{
name: '',
dialCode: '1340',
countryCode: 'vi'
},
{
name: '',
dialCode: '256',
countryCode: 'ug'
},
{
name: '',
dialCode: '380',
countryCode: 'ua'
},
{
name: '',
dialCode: '971',
countryCode: 'ae'
},
{
name: '',
dialCode: '44',
countryCode: 'gb'
},
{
name: '',
dialCode: '1',
countryCode: 'us'
},
{
name: '',
dialCode: '598',
countryCode: 'uy'
},
{
name: '',
dialCode: '998',
countryCode: 'uz'
},
{
name: '',
dialCode: '678',
countryCode: 'vu'
},
{
name: '',
dialCode: '39',
countryCode: 'va'
},
{
name: '',
dialCode: '58',
countryCode: 've'
},
{
name: '',
dialCode: '84',
countryCode: 'vn'
},
{
name: '',
dialCode: '681',
countryCode: 'wf'
},
{
name: '',
dialCode: '212',
countryCode: 'eh'
},
{
name: '',
dialCode: '967',
countryCode: 'ye'
},
{
name: '',
dialCode: '260',
countryCode: 'zm'
},
{
name: '',
dialCode: '263',
countryCode: 'zw'
},
{
name: '',
dialCode: '358',
countryCode: 'ax'
},
{
name: '',
dialCode: '93',
countryCode: 'af'
},
{
name: '',
dialCode: '355',
countryCode: 'al'
},
{
name: '',
dialCode: '213',
countryCode: 'dz'
},
{
name: '',
dialCode: '1684',
countryCode: 'as'
},
{
name: '',
dialCode: '376',
countryCode: 'ad'
},
{
name: '',
dialCode: '244',
countryCode: 'ao'
},
{
name: '',
dialCode: '1264',
countryCode: 'ai'
},
{
name: '',
dialCode: '1268',
countryCode: 'ag'
},
{
name: '',
dialCode: '54',
countryCode: 'ar'
},
{
name: '',
dialCode: '374',
countryCode: 'am'
},
{
name: '',
dialCode: '297',
countryCode: 'aw'
},
{
name: '',
dialCode: '43',
countryCode: 'at'
}
];
// let get the locale based country names
countries.forEach((/**
* @param {?} country
* @return {?}
*/
function (country) {
country.name = LOCALES[locale][country.countryCode]
.toLowerCase()
.replace(/\b(\w)/g, (/**
* @param {?} s
* @return {?}
*/
function (s) { return s.toUpperCase(); }));
}));
return countries;
};
CountryService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
CountryService.ctorParameters = function () { return []; };
return CountryService;
}());
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/** @type {?} */
var PLUS = '+';
/** @type {?} */
var COUNTER_CONTROL_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef((/**
* @return {?}
*/
function () { return PhoneNumberComponent; })),
multi: true
};
/** @type {?} */
var VALIDATOR = {
provide: NG_VALIDATORS,
useExisting: forwardRef((/**
* @return {?}
*/
function () { return PhoneNumberComponent; })),
multi: true
};
var PhoneNumberComponent = /** @class */ (function () {
function PhoneNumberComponent(countryService, phoneComponent) {
this.countryService = countryService;
// input
this.placeholder = 'Enter phone number'; // default
// default
this.maxlength = 15; // default
this.allowDropdown = true;
this.type = 'text';
this.onCountryCodeChanged = new EventEmitter();
this.showDropdown = false;
this.phoneNumber = '';
this.value = '';
this.phoneComponent = phoneComponent;
}
/**
* Util function to check if given text starts with plus sign
* @param text
*/
/**
* Util function to check if given text starts with plus sign
* @private
* @param {?} text
* @return {?}
*/
PhoneNumberComponent.startsWithPlus = /**
* Util function to check if given text starts with plus sign
* @private
* @param {?} text
* @return {?}
*/
function (text) {
return text.startsWith(PLUS);
};
/**
* Reduced the prefixes
* @param foundPrefixes
*/
/**
* Reduced the prefixes
* @private
* @param {?} foundPrefixes
* @return {?}
*/
PhoneNumberComponent.reducePrefixes = /**
* Reduced the prefixes
* @private
* @param {?} foundPrefixes
* @return {?}
*/
function (foundPrefixes) {
/** @type {?} */
var reducedPrefixes = foundPrefixes.reduce((/**
* @param {?} first
* @param {?} second
* @return {?}
*/
function (first, second) {
return first.dialCode.length > second.dialCode.length ? first : second;
}));
return reducedPrefixes;
};
/**
* @return {?}
*/
PhoneNumberComponent.protot