@crodriguezdominguez/ion-intl-tel-input 2.1.2 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/crodriguezdominguez-ion-intl-tel-input-2.2.1.tgz +0 -0
  2. package/esm2022/lib/ion-intl-tel-input/ion-intl-tel-code.component.mjs +86 -0
  3. package/esm2022/lib/ion-intl-tel-input/ion-intl-tel-input.component.mjs +758 -0
  4. package/{esm2020 → esm2022}/lib/ion-intl-tel-input.directive.mjs +12 -11
  5. package/esm2022/lib/ion-intl-tel-input.module.mjs +56 -0
  6. package/esm2022/lib/ion-intl-tel-input.service.mjs +20 -0
  7. package/esm2022/lib/pipes/country-placeholder.mjs +39 -0
  8. package/{fesm2020 → fesm2022}/crodriguezdominguez-ion-intl-tel-input.mjs +371 -355
  9. package/{fesm2020 → fesm2022}/crodriguezdominguez-ion-intl-tel-input.mjs.map +1 -1
  10. package/lib/ion-intl-tel-input/ion-intl-tel-code.component.d.ts +1 -1
  11. package/lib/ion-intl-tel-input/ion-intl-tel-input.component.d.ts +1 -1
  12. package/package.json +7 -13
  13. package/crodriguezdominguez-ion-intl-tel-input-2.1.2.tgz +0 -0
  14. package/esm2020/lib/ion-intl-tel-input/ion-intl-tel-code.component.mjs +0 -73
  15. package/esm2020/lib/ion-intl-tel-input/ion-intl-tel-input.component.mjs +0 -752
  16. package/esm2020/lib/ion-intl-tel-input.module.mjs +0 -55
  17. package/esm2020/lib/ion-intl-tel-input.service.mjs +0 -20
  18. package/esm2020/lib/pipes/country-placeholder.mjs +0 -38
  19. package/fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs +0 -3264
  20. package/fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs.map +0 -1
  21. /package/{esm2020 → esm2022}/crodriguezdominguez-ion-intl-tel-input.mjs +0 -0
  22. /package/{esm2020 → esm2022}/lib/data/countries.mjs +0 -0
  23. /package/{esm2020 → esm2022}/lib/models/country.model.mjs +0 -0
  24. /package/{esm2020 → esm2022}/lib/util/util.mjs +0 -0
  25. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -1,3264 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Directive, Component, Input, ViewChild, Injectable, Pipe, EventEmitter, forwardRef, HostBinding, Output, NgModule } from '@angular/core';
3
- import * as i4 from '@angular/forms';
4
- import { NG_VALIDATORS, NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
- import { parsePhoneNumber, getExampleNumber } from 'libphonenumber-js';
6
- import { __awaiter } from 'tslib';
7
- import * as i1 from '@ionic/angular';
8
- import { IonicModule } from '@ionic/angular';
9
- import * as i2 from '@angular/common';
10
- import { CommonModule } from '@angular/common';
11
- import * as i3 from '@angular/cdk/scrolling';
12
- import { ScrollingModule } from '@angular/cdk/scrolling';
13
- import examples from 'libphonenumber-js/mobile/examples';
14
-
15
- class IonIntlTelInputValidators {
16
- static phone(control) {
17
- const error = { phone: true };
18
- let phoneNumber;
19
- if (typeof control.value === 'string') {
20
- try {
21
- phoneNumber = parsePhoneNumber(control.value);
22
- if (phoneNumber.isValid()) {
23
- return null;
24
- }
25
- }
26
- catch (e) {
27
- phoneNumber = null;
28
- }
29
- if (!phoneNumber) {
30
- try {
31
- // If failed to parse, try adding a +1 and see if valid
32
- if (control.value.length >= 10 && control.value.indexOf('+') === -1) {
33
- const v = '+1' + control.value;
34
- phoneNumber = parsePhoneNumber(v);
35
- if (phoneNumber.isValid()) {
36
- return null;
37
- }
38
- }
39
- }
40
- catch (e) {
41
- return error;
42
- }
43
- }
44
- }
45
- if (!control.value) {
46
- return null; // allow empty to be valid as the required validator can be added if needed
47
- }
48
- return error;
49
- }
50
- }
51
- class IonIntlTelInputValidatorDirective {
52
- validate(control) {
53
- return IonIntlTelInputValidators.phone(control);
54
- }
55
- }
56
- /** @nocollapse */ IonIntlTelInputValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
57
- /** @nocollapse */ IonIntlTelInputValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: IonIntlTelInputValidatorDirective, selector: "[ionIntlTelInputValid]", providers: [
58
- {
59
- provide: NG_VALIDATORS,
60
- useExisting: IonIntlTelInputValidatorDirective,
61
- multi: true,
62
- },
63
- ], ngImport: i0 });
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputValidatorDirective, decorators: [{
65
- type: Directive,
66
- args: [{
67
- // tslint:disable-next-line: directive-selector
68
- selector: '[ionIntlTelInputValid]',
69
- providers: [
70
- {
71
- provide: NG_VALIDATORS,
72
- useExisting: IonIntlTelInputValidatorDirective,
73
- multi: true,
74
- },
75
- ],
76
- }]
77
- }] });
78
-
79
- const raf = (h) => {
80
- if (typeof __zone_symbol__requestAnimationFrame === 'function') {
81
- return __zone_symbol__requestAnimationFrame(h);
82
- }
83
- if (typeof requestAnimationFrame === 'function') {
84
- return requestAnimationFrame(h);
85
- }
86
- return setTimeout(h);
87
- };
88
-
89
- class IonIntTelCodeComponent {
90
- constructor(modalCtrl) {
91
- this.modalCtrl = modalCtrl;
92
- this.closeButtonText = 'Close';
93
- this.closeButtonSlot = 'end';
94
- }
95
- ngOnInit() {
96
- this.allCountries = this.countries;
97
- }
98
- ionViewDidEnter() {
99
- if (this.sbar && this.shouldFocusSearchbar) {
100
- setTimeout(() => { this.sbar.setFocus(); }, 400);
101
- }
102
- }
103
- search(ev) {
104
- let search = ev.detail.value;
105
- this.notFound = false;
106
- if (search === '' || search === null) {
107
- this.countries = this.allCountries;
108
- }
109
- else {
110
- search = search.toLocaleLowerCase();
111
- this.countries = this.allCountries.filter(r => {
112
- return (r.name && r.name.toLocaleLowerCase().indexOf(search) !== -1);
113
- });
114
- if (this.countries.length === 0) {
115
- this.notFound = true;
116
- }
117
- }
118
- }
119
- itemTapped(c) {
120
- this.modalCtrl.dismiss(c);
121
- }
122
- closeModal() {
123
- this.modalCtrl.dismiss(null);
124
- }
125
- }
126
- /** @nocollapse */ IonIntTelCodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntTelCodeComponent, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Component });
127
- /** @nocollapse */ IonIntTelCodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IonIntTelCodeComponent, selector: "ion-intl-tel-code", inputs: { country: "country", canSearch: "canSearch", closeButtonText: "closeButtonText", closeButtonSlot: "closeButtonSlot", countries: "countries", searchFailText: "searchFailText", searchPlaceholder: "searchPlaceholder", shouldFocusSearchbar: "shouldFocusSearchbar", title: "title", dialCode: "dialCode" }, viewQueries: [{ propertyName: "sbar", first: true, predicate: ["searchBar"], descendants: true }], ngImport: i0, template: "<ion-header>\n <ion-toolbar>\n <ion-title class=\"ion-text-center\">\n {{title}}\n </ion-title>\n\n <ion-buttons [slot]=\"closeButtonSlot\">\n <ion-button (click)=\"closeModal()\">{{closeButtonText}}</ion-button>\n </ion-buttons>\n\n </ion-toolbar>\n <ion-searchbar #searchBar *ngIf=\"canSearch\" placeholder=\"{{searchPlaceholder}}\" [debounce]=\"400\"\n (keyup.enter)=\"$event.target.blur()\" (ionChange)=\"search($event)\"></ion-searchbar>\n</ion-header>\n\n<ion-content>\n <cdk-virtual-scroll-viewport style=\"width: 100%; height: 100%;\" itemSize=\"56\" minBufferPx=\"900\" maxBufferPx=\"1350\">\n <ion-list>\n <ion-radio-group [value]=\"country.isoCode\">\n <ion-item style=\"white-space:normal\" *cdkVirtualFor=\"let c of countries\">\n <ion-radio labelPlacement=\"end\" [value]=\"c.isoCode\" slot=\"start\" color=\"primary\" (click)=\"itemTapped(c)\">\n <span class=\"fi fi-{{c.flagClass}}\"></span>&nbsp;&nbsp;{{c.name}} <span *ngIf=\"dialCode\">{{dialCode}}{{c.displayDialCode}}</span>\n </ion-radio>\n </ion-item>\n </ion-radio-group>\n <ion-item lines=\"none\" *ngIf=\"notFound\">\n <ion-text>{{searchFailText}}</ion-text>\n </ion-item>\n </ion-list>\n </cdk-virtual-scroll-viewport>\n</ion-content>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: i1.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i1.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i1.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { kind: "component", type: i1.IonRadio, selector: "ion-radio", inputs: ["color", "disabled", "justify", "labelPlacement", "legacy", "mode", "name", "value"] }, { kind: "component", type: i1.IonRadioGroup, selector: "ion-radio-group", inputs: ["allowEmptySelection", "name", "value"] }, { kind: "component", type: i1.IonSearchbar, selector: "ion-searchbar", inputs: ["animated", "autocomplete", "autocorrect", "cancelButtonIcon", "cancelButtonText", "clearIcon", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "mode", "placeholder", "searchIcon", "showCancelButton", "showClearButton", "spellcheck", "type", "value"] }, { kind: "component", type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { kind: "component", type: i1.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i1.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: i1.RadioValueAccessor, selector: "ion-radio" }, { kind: "directive", type: i1.SelectValueAccessor, selector: "ion-range, ion-select, ion-radio-group, ion-segment, ion-datetime" }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "directive", type: i3.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: i3.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: i3.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }] });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntTelCodeComponent, decorators: [{
129
- type: Component,
130
- args: [{ selector: 'ion-intl-tel-code', template: "<ion-header>\n <ion-toolbar>\n <ion-title class=\"ion-text-center\">\n {{title}}\n </ion-title>\n\n <ion-buttons [slot]=\"closeButtonSlot\">\n <ion-button (click)=\"closeModal()\">{{closeButtonText}}</ion-button>\n </ion-buttons>\n\n </ion-toolbar>\n <ion-searchbar #searchBar *ngIf=\"canSearch\" placeholder=\"{{searchPlaceholder}}\" [debounce]=\"400\"\n (keyup.enter)=\"$event.target.blur()\" (ionChange)=\"search($event)\"></ion-searchbar>\n</ion-header>\n\n<ion-content>\n <cdk-virtual-scroll-viewport style=\"width: 100%; height: 100%;\" itemSize=\"56\" minBufferPx=\"900\" maxBufferPx=\"1350\">\n <ion-list>\n <ion-radio-group [value]=\"country.isoCode\">\n <ion-item style=\"white-space:normal\" *cdkVirtualFor=\"let c of countries\">\n <ion-radio labelPlacement=\"end\" [value]=\"c.isoCode\" slot=\"start\" color=\"primary\" (click)=\"itemTapped(c)\">\n <span class=\"fi fi-{{c.flagClass}}\"></span>&nbsp;&nbsp;{{c.name}} <span *ngIf=\"dialCode\">{{dialCode}}{{c.displayDialCode}}</span>\n </ion-radio>\n </ion-item>\n </ion-radio-group>\n <ion-item lines=\"none\" *ngIf=\"notFound\">\n <ion-text>{{searchFailText}}</ion-text>\n </ion-item>\n </ion-list>\n </cdk-virtual-scroll-viewport>\n</ion-content>\n" }]
131
- }], ctorParameters: function () { return [{ type: i1.ModalController }]; }, propDecorators: { country: [{
132
- type: Input
133
- }], canSearch: [{
134
- type: Input
135
- }], closeButtonText: [{
136
- type: Input
137
- }], closeButtonSlot: [{
138
- type: Input
139
- }], countries: [{
140
- type: Input
141
- }], searchFailText: [{
142
- type: Input
143
- }], searchPlaceholder: [{
144
- type: Input
145
- }], shouldFocusSearchbar: [{
146
- type: Input
147
- }], title: [{
148
- type: Input
149
- }], dialCode: [{
150
- type: Input
151
- }], sbar: [{
152
- type: ViewChild,
153
- args: ['searchBar']
154
- }] } });
155
-
156
- const countries = [
157
- {
158
- name: 'Afghanistan',
159
- isoCode: 'af',
160
- dialCode: '93',
161
- displayDialCode: '93',
162
- flagClass: 'af',
163
- priority: 0,
164
- placeholder: ''
165
- },
166
- {
167
- name: 'Albania',
168
- isoCode: 'al',
169
- dialCode: '355',
170
- displayDialCode: '355',
171
- flagClass: 'al',
172
- priority: 0,
173
- placeholder: ''
174
- },
175
- {
176
- name: 'Algeria',
177
- isoCode: 'dz',
178
- dialCode: '213',
179
- displayDialCode: '213',
180
- flagClass: 'dz',
181
- priority: 0,
182
- placeholder: ''
183
- },
184
- {
185
- name: 'AmericanSamoa',
186
- isoCode: 'as',
187
- dialCode: '1',
188
- displayDialCode: '1 684',
189
- flagClass: 'as',
190
- priority: 0,
191
- areaCodes: [
192
- '684'
193
- ],
194
- placeholder: ''
195
- },
196
- {
197
- name: 'Andorra',
198
- isoCode: 'ad',
199
- dialCode: '376',
200
- displayDialCode: '376',
201
- flagClass: 'ad',
202
- priority: 0,
203
- placeholder: ''
204
- },
205
- {
206
- name: 'Angola',
207
- isoCode: 'ao',
208
- dialCode: '244',
209
- displayDialCode: '244',
210
- flagClass: 'ao',
211
- priority: 0,
212
- placeholder: ''
213
- },
214
- {
215
- name: 'Anguilla',
216
- isoCode: 'ai',
217
- dialCode: '1',
218
- displayDialCode: '1 264',
219
- flagClass: 'ai',
220
- priority: 0,
221
- areaCodes: [
222
- '264'
223
- ],
224
- placeholder: ''
225
- },
226
- {
227
- name: 'Antigua and Barbuda',
228
- isoCode: 'ag',
229
- dialCode: '1',
230
- displayDialCode: '1 268',
231
- flagClass: 'ag',
232
- priority: 0,
233
- areaCodes: [
234
- '268'
235
- ],
236
- placeholder: ''
237
- },
238
- {
239
- name: 'Argentina',
240
- isoCode: 'ar',
241
- dialCode: '54',
242
- displayDialCode: '54',
243
- flagClass: 'ar',
244
- priority: 0,
245
- placeholder: ''
246
- },
247
- {
248
- name: 'Armenia',
249
- isoCode: 'am',
250
- dialCode: '374',
251
- displayDialCode: '374',
252
- flagClass: 'am',
253
- priority: 0,
254
- placeholder: ''
255
- },
256
- {
257
- name: 'Aruba',
258
- isoCode: 'aw',
259
- dialCode: '297',
260
- displayDialCode: '297',
261
- flagClass: 'aw',
262
- priority: 0,
263
- placeholder: ''
264
- },
265
- {
266
- name: 'Australia',
267
- isoCode: 'au',
268
- dialCode: '61',
269
- displayDialCode: '61',
270
- flagClass: 'au',
271
- priority: 0,
272
- placeholder: ''
273
- },
274
- {
275
- name: 'Austria',
276
- isoCode: 'at',
277
- dialCode: '43',
278
- displayDialCode: '43',
279
- flagClass: 'at',
280
- priority: 0,
281
- placeholder: ''
282
- },
283
- {
284
- name: 'Azerbaijan',
285
- isoCode: 'az',
286
- dialCode: '994',
287
- displayDialCode: '994',
288
- flagClass: 'az',
289
- priority: 0,
290
- placeholder: ''
291
- },
292
- {
293
- name: 'Bahamas',
294
- isoCode: 'bs',
295
- dialCode: '1',
296
- displayDialCode: '1 242',
297
- flagClass: 'bs',
298
- priority: 0,
299
- areaCodes: [
300
- '242'
301
- ],
302
- placeholder: ''
303
- },
304
- {
305
- name: 'Bahrain',
306
- isoCode: 'bh',
307
- dialCode: '973',
308
- displayDialCode: '973',
309
- flagClass: 'bh',
310
- priority: 0,
311
- placeholder: ''
312
- },
313
- {
314
- name: 'Bangladesh',
315
- isoCode: 'bd',
316
- dialCode: '880',
317
- displayDialCode: '880',
318
- flagClass: 'bd',
319
- priority: 0,
320
- placeholder: ''
321
- },
322
- {
323
- name: 'Barbados',
324
- isoCode: 'bb',
325
- dialCode: '1',
326
- displayDialCode: '1 246',
327
- flagClass: 'bb',
328
- priority: 0,
329
- areaCodes: [
330
- '246'
331
- ],
332
- placeholder: ''
333
- },
334
- {
335
- name: 'Belarus',
336
- isoCode: 'by',
337
- dialCode: '375',
338
- displayDialCode: '375',
339
- flagClass: 'by',
340
- priority: 0,
341
- placeholder: ''
342
- },
343
- {
344
- name: 'Belgium',
345
- isoCode: 'be',
346
- dialCode: '32',
347
- displayDialCode: '32',
348
- flagClass: 'be',
349
- priority: 0,
350
- placeholder: ''
351
- },
352
- {
353
- name: 'Belize',
354
- isoCode: 'bz',
355
- dialCode: '501',
356
- displayDialCode: '501',
357
- flagClass: 'bz',
358
- priority: 0,
359
- placeholder: ''
360
- },
361
- {
362
- name: 'Benin',
363
- isoCode: 'bj',
364
- dialCode: '229',
365
- displayDialCode: '229',
366
- flagClass: 'bj',
367
- priority: 0,
368
- placeholder: ''
369
- },
370
- {
371
- name: 'Bermuda',
372
- isoCode: 'bm',
373
- dialCode: '1',
374
- displayDialCode: '1 441',
375
- flagClass: 'bm',
376
- priority: 0,
377
- areaCodes: [
378
- '441'
379
- ],
380
- placeholder: ''
381
- },
382
- {
383
- name: 'Bhutan',
384
- isoCode: 'bt',
385
- dialCode: '975',
386
- displayDialCode: '975',
387
- flagClass: 'bt',
388
- priority: 0,
389
- placeholder: ''
390
- },
391
- {
392
- name: 'Bolivia, Plurinational State of',
393
- isoCode: 'bo',
394
- dialCode: '591',
395
- displayDialCode: '591',
396
- flagClass: 'bo',
397
- priority: 0,
398
- placeholder: ''
399
- },
400
- {
401
- name: 'Bosnia and Herzegovina',
402
- isoCode: 'ba',
403
- dialCode: '387',
404
- displayDialCode: '387',
405
- flagClass: 'ba',
406
- priority: 0,
407
- placeholder: ''
408
- },
409
- {
410
- name: 'Botswana',
411
- isoCode: 'bw',
412
- dialCode: '267',
413
- displayDialCode: '267',
414
- flagClass: 'bw',
415
- priority: 0,
416
- placeholder: ''
417
- },
418
- {
419
- name: 'Brazil',
420
- isoCode: 'br',
421
- dialCode: '55',
422
- displayDialCode: '55',
423
- flagClass: 'br',
424
- priority: 0,
425
- placeholder: ''
426
- },
427
- {
428
- name: 'British Indian Ocean Territory',
429
- isoCode: 'io',
430
- dialCode: '246',
431
- displayDialCode: '246',
432
- flagClass: 'io',
433
- priority: 0,
434
- placeholder: ''
435
- },
436
- {
437
- name: 'Virgin Islands, British',
438
- isoCode: 'vg',
439
- dialCode: '1',
440
- displayDialCode: '1 284',
441
- flagClass: 'vg',
442
- priority: 0,
443
- areaCodes: [
444
- '284'
445
- ],
446
- placeholder: ''
447
- },
448
- {
449
- name: 'Brunei Darussalam',
450
- isoCode: 'bn',
451
- dialCode: '673',
452
- displayDialCode: '673',
453
- flagClass: 'bn',
454
- priority: 0,
455
- placeholder: ''
456
- },
457
- {
458
- name: 'Bulgaria',
459
- isoCode: 'bg',
460
- dialCode: '359',
461
- displayDialCode: '359',
462
- flagClass: 'bg',
463
- priority: 0,
464
- placeholder: ''
465
- },
466
- {
467
- name: 'Burkina Faso',
468
- isoCode: 'bf',
469
- dialCode: '226',
470
- displayDialCode: '226',
471
- flagClass: 'bf',
472
- priority: 0,
473
- placeholder: ''
474
- },
475
- {
476
- name: 'Burundi',
477
- isoCode: 'bi',
478
- dialCode: '257',
479
- displayDialCode: '257',
480
- flagClass: 'bi',
481
- priority: 0,
482
- placeholder: ''
483
- },
484
- {
485
- name: 'Cambodia',
486
- isoCode: 'kh',
487
- dialCode: '855',
488
- displayDialCode: '855',
489
- flagClass: 'kh',
490
- priority: 0,
491
- placeholder: ''
492
- },
493
- {
494
- name: 'Cameroon',
495
- isoCode: 'cm',
496
- dialCode: '237',
497
- displayDialCode: '237',
498
- flagClass: 'cm',
499
- priority: 0,
500
- placeholder: ''
501
- },
502
- {
503
- name: 'Canada',
504
- isoCode: 'ca',
505
- dialCode: '1',
506
- displayDialCode: '1',
507
- flagClass: 'ca',
508
- priority: 0,
509
- areaCodes: [
510
- '204',
511
- '226',
512
- '236',
513
- '249',
514
- '250',
515
- '289',
516
- '306',
517
- '343',
518
- '365',
519
- '368',
520
- '387',
521
- '403',
522
- '416',
523
- '418',
524
- '431',
525
- '437',
526
- '438',
527
- '450',
528
- '474',
529
- '506',
530
- '514',
531
- '519',
532
- '548',
533
- '579',
534
- '581',
535
- '587',
536
- '604',
537
- '613',
538
- '639',
539
- '647',
540
- '672',
541
- '705',
542
- '709',
543
- '742',
544
- '778',
545
- '780',
546
- '782',
547
- '807',
548
- '819',
549
- '825',
550
- '867',
551
- '873',
552
- '902',
553
- '905'
554
- ],
555
- placeholder: ''
556
- },
557
- {
558
- name: 'Cape Verde',
559
- isoCode: 'cv',
560
- dialCode: '238',
561
- displayDialCode: '238',
562
- flagClass: 'cv',
563
- priority: 0,
564
- placeholder: ''
565
- },
566
- {
567
- name: 'Cayman Islands',
568
- isoCode: 'ky',
569
- dialCode: ' 345',
570
- displayDialCode: '345',
571
- flagClass: 'ky',
572
- priority: 0,
573
- areaCodes: [
574
- '345'
575
- ],
576
- placeholder: ''
577
- },
578
- {
579
- name: 'Central African Republic',
580
- isoCode: 'cf',
581
- dialCode: '236',
582
- displayDialCode: '236',
583
- flagClass: 'cf',
584
- priority: 0,
585
- placeholder: ''
586
- },
587
- {
588
- name: 'Chad',
589
- isoCode: 'td',
590
- dialCode: '235',
591
- displayDialCode: '235',
592
- flagClass: 'td',
593
- priority: 0,
594
- placeholder: ''
595
- },
596
- {
597
- name: 'Chile',
598
- isoCode: 'cl',
599
- dialCode: '56',
600
- displayDialCode: '56',
601
- flagClass: 'cl',
602
- priority: 0,
603
- placeholder: ''
604
- },
605
- {
606
- name: 'China',
607
- isoCode: 'cn',
608
- dialCode: '86',
609
- displayDialCode: '86',
610
- flagClass: 'cn',
611
- priority: 0,
612
- placeholder: ''
613
- },
614
- {
615
- name: 'Christmas Island',
616
- isoCode: 'cx',
617
- dialCode: '61',
618
- displayDialCode: '61',
619
- flagClass: 'cx',
620
- priority: 0,
621
- placeholder: ''
622
- },
623
- {
624
- name: 'Cocos (Keeling) Islands',
625
- isoCode: 'cc',
626
- dialCode: '61',
627
- displayDialCode: '61',
628
- flagClass: 'cc',
629
- priority: 0,
630
- placeholder: ''
631
- },
632
- {
633
- name: 'Colombia',
634
- isoCode: 'co',
635
- dialCode: '57',
636
- displayDialCode: '57',
637
- flagClass: 'co',
638
- priority: 0,
639
- placeholder: ''
640
- },
641
- {
642
- name: 'Comoros',
643
- isoCode: 'km',
644
- dialCode: '269',
645
- displayDialCode: '269',
646
- flagClass: 'km',
647
- priority: 0,
648
- placeholder: ''
649
- },
650
- {
651
- name: 'Congo, The Democratic Republic of the Congo',
652
- isoCode: 'cd',
653
- dialCode: '243',
654
- displayDialCode: '243',
655
- flagClass: 'cd',
656
- priority: 0,
657
- placeholder: ''
658
- },
659
- {
660
- name: 'Congo',
661
- isoCode: 'cg',
662
- dialCode: '242',
663
- displayDialCode: '242',
664
- flagClass: 'cg',
665
- priority: 0,
666
- placeholder: ''
667
- },
668
- {
669
- name: 'Cook Islands',
670
- isoCode: 'ck',
671
- dialCode: '682',
672
- displayDialCode: '682',
673
- flagClass: 'ck',
674
- priority: 0,
675
- placeholder: ''
676
- },
677
- {
678
- name: 'Costa Rica',
679
- isoCode: 'cr',
680
- dialCode: '506',
681
- displayDialCode: '506',
682
- flagClass: 'cr',
683
- priority: 0,
684
- placeholder: ''
685
- },
686
- {
687
- name: 'Cote d\'Ivoire',
688
- isoCode: 'ci',
689
- dialCode: '225',
690
- displayDialCode: '225',
691
- flagClass: 'ci',
692
- priority: 0,
693
- placeholder: ''
694
- },
695
- {
696
- name: 'Croatia',
697
- isoCode: 'hr',
698
- dialCode: '385',
699
- displayDialCode: '385',
700
- flagClass: 'hr',
701
- priority: 0,
702
- placeholder: ''
703
- },
704
- {
705
- name: 'Cuba',
706
- isoCode: 'cu',
707
- dialCode: '53',
708
- displayDialCode: '53',
709
- flagClass: 'cu',
710
- priority: 0,
711
- placeholder: ''
712
- },
713
- {
714
- name: 'Cyprus',
715
- isoCode: 'cy',
716
- dialCode: '357',
717
- displayDialCode: '357',
718
- flagClass: 'cy',
719
- priority: 0,
720
- placeholder: ''
721
- },
722
- {
723
- name: 'Czech Republic',
724
- isoCode: 'cz',
725
- dialCode: '420',
726
- displayDialCode: '420',
727
- flagClass: 'cz',
728
- priority: 0,
729
- placeholder: ''
730
- },
731
- {
732
- name: 'Denmark',
733
- isoCode: 'dk',
734
- dialCode: '45',
735
- displayDialCode: '45',
736
- flagClass: 'dk',
737
- priority: 0,
738
- placeholder: ''
739
- },
740
- {
741
- name: 'Djibouti',
742
- isoCode: 'dj',
743
- dialCode: '253',
744
- displayDialCode: '253',
745
- flagClass: 'dj',
746
- priority: 0,
747
- placeholder: ''
748
- },
749
- {
750
- name: 'Dominica',
751
- isoCode: 'dm',
752
- dialCode: '1',
753
- displayDialCode: '1 767',
754
- flagClass: 'dm',
755
- priority: 0,
756
- areaCodes: [
757
- '767'
758
- ],
759
- placeholder: ''
760
- },
761
- {
762
- name: 'Dominican Republic',
763
- isoCode: 'do',
764
- dialCode: '1',
765
- displayDialCode: '1 849',
766
- flagClass: 'do',
767
- priority: 0,
768
- areaCodes: [
769
- '809',
770
- '829',
771
- '849'
772
- ],
773
- placeholder: ''
774
- },
775
- {
776
- name: 'Ecuador',
777
- isoCode: 'ec',
778
- dialCode: '593',
779
- displayDialCode: '593',
780
- flagClass: 'ec',
781
- priority: 0,
782
- placeholder: ''
783
- },
784
- {
785
- name: 'Egypt',
786
- isoCode: 'eg',
787
- dialCode: '20',
788
- displayDialCode: '20',
789
- flagClass: 'eg',
790
- priority: 0,
791
- placeholder: ''
792
- },
793
- {
794
- name: 'El Salvador',
795
- isoCode: 'sv',
796
- dialCode: '503',
797
- displayDialCode: '503',
798
- flagClass: 'sv',
799
- priority: 0,
800
- placeholder: ''
801
- },
802
- {
803
- name: 'Equatorial Guinea',
804
- isoCode: 'gq',
805
- dialCode: '240',
806
- displayDialCode: '240',
807
- flagClass: 'gq',
808
- priority: 0,
809
- placeholder: ''
810
- },
811
- {
812
- name: 'Eritrea',
813
- isoCode: 'er',
814
- dialCode: '291',
815
- displayDialCode: '291',
816
- flagClass: 'er',
817
- priority: 0,
818
- placeholder: ''
819
- },
820
- {
821
- name: 'Estonia',
822
- isoCode: 'ee',
823
- dialCode: '372',
824
- displayDialCode: '372',
825
- flagClass: 'ee',
826
- priority: 0,
827
- placeholder: ''
828
- },
829
- {
830
- name: 'Ethiopia',
831
- isoCode: 'et',
832
- dialCode: '251',
833
- displayDialCode: '251',
834
- flagClass: 'et',
835
- priority: 0,
836
- placeholder: ''
837
- },
838
- {
839
- name: 'Falkland Islands (Malvinas)',
840
- isoCode: 'fk',
841
- dialCode: '500',
842
- displayDialCode: '500',
843
- flagClass: 'fk',
844
- priority: 0,
845
- placeholder: ''
846
- },
847
- {
848
- name: 'Faroe Islands',
849
- isoCode: 'fo',
850
- dialCode: '298',
851
- displayDialCode: '298',
852
- flagClass: 'fo',
853
- priority: 0,
854
- placeholder: ''
855
- },
856
- {
857
- name: 'Fiji',
858
- isoCode: 'fj',
859
- dialCode: '679',
860
- displayDialCode: '679',
861
- flagClass: 'fj',
862
- priority: 0,
863
- placeholder: ''
864
- },
865
- {
866
- name: 'Finland',
867
- isoCode: 'fi',
868
- dialCode: '358',
869
- displayDialCode: '358',
870
- flagClass: 'fi',
871
- priority: 0,
872
- placeholder: ''
873
- },
874
- {
875
- name: 'France',
876
- isoCode: 'fr',
877
- dialCode: '33',
878
- displayDialCode: '33',
879
- flagClass: 'fr',
880
- priority: 0,
881
- placeholder: ''
882
- },
883
- {
884
- name: 'French Guiana',
885
- isoCode: 'gf',
886
- dialCode: '594',
887
- displayDialCode: '594',
888
- flagClass: 'gf',
889
- priority: 0,
890
- placeholder: ''
891
- },
892
- {
893
- name: 'French Polynesia',
894
- isoCode: 'pf',
895
- dialCode: '689',
896
- displayDialCode: '689',
897
- flagClass: 'pf',
898
- priority: 0,
899
- placeholder: ''
900
- },
901
- {
902
- name: 'Gabon',
903
- isoCode: 'ga',
904
- dialCode: '241',
905
- displayDialCode: '241',
906
- flagClass: 'ga',
907
- priority: 0,
908
- placeholder: ''
909
- },
910
- {
911
- name: 'Gambia',
912
- isoCode: 'gm',
913
- dialCode: '220',
914
- displayDialCode: '220',
915
- flagClass: 'gm',
916
- priority: 0,
917
- placeholder: ''
918
- },
919
- {
920
- name: 'Georgia',
921
- isoCode: 'ge',
922
- dialCode: '995',
923
- displayDialCode: '995',
924
- flagClass: 'ge',
925
- priority: 0,
926
- placeholder: ''
927
- },
928
- {
929
- name: 'Germany',
930
- isoCode: 'de',
931
- dialCode: '49',
932
- displayDialCode: '49',
933
- flagClass: 'de',
934
- priority: 0,
935
- placeholder: ''
936
- },
937
- {
938
- name: 'Ghana',
939
- isoCode: 'gh',
940
- dialCode: '233',
941
- displayDialCode: '233',
942
- flagClass: 'gh',
943
- priority: 0,
944
- placeholder: ''
945
- },
946
- {
947
- name: 'Gibraltar',
948
- isoCode: 'gi',
949
- dialCode: '350',
950
- displayDialCode: '350',
951
- flagClass: 'gi',
952
- priority: 0,
953
- placeholder: ''
954
- },
955
- {
956
- name: 'Greece',
957
- isoCode: 'gr',
958
- dialCode: '30',
959
- displayDialCode: '30',
960
- flagClass: 'gr',
961
- priority: 0,
962
- placeholder: ''
963
- },
964
- {
965
- name: 'Greenland',
966
- isoCode: 'gl',
967
- dialCode: '299',
968
- displayDialCode: '299',
969
- flagClass: 'gl',
970
- priority: 0,
971
- placeholder: ''
972
- },
973
- {
974
- name: 'Grenada',
975
- isoCode: 'gd',
976
- dialCode: '1',
977
- displayDialCode: '1 473',
978
- flagClass: 'gd',
979
- priority: 0,
980
- areaCodes: [
981
- '473'
982
- ],
983
- placeholder: ''
984
- },
985
- {
986
- name: 'Guadeloupe',
987
- isoCode: 'gp',
988
- dialCode: '590',
989
- displayDialCode: '590',
990
- flagClass: 'gp',
991
- priority: 0,
992
- placeholder: ''
993
- },
994
- {
995
- name: 'Guam',
996
- isoCode: 'gu',
997
- dialCode: '1',
998
- displayDialCode: '1 671',
999
- flagClass: 'gu',
1000
- priority: 0,
1001
- areaCodes: [
1002
- '671'
1003
- ],
1004
- placeholder: ''
1005
- },
1006
- {
1007
- name: 'Guatemala',
1008
- isoCode: 'gt',
1009
- dialCode: '502',
1010
- displayDialCode: '502',
1011
- flagClass: 'gt',
1012
- priority: 0,
1013
- placeholder: ''
1014
- },
1015
- {
1016
- name: 'Guernsey',
1017
- isoCode: 'gg',
1018
- dialCode: '44',
1019
- displayDialCode: '44',
1020
- flagClass: 'gg',
1021
- priority: 0,
1022
- areaCodes: [
1023
- '1481'
1024
- ],
1025
- placeholder: ''
1026
- },
1027
- {
1028
- name: 'Guinea',
1029
- isoCode: 'gn',
1030
- dialCode: '224',
1031
- displayDialCode: '224',
1032
- flagClass: 'gn',
1033
- priority: 0,
1034
- placeholder: ''
1035
- },
1036
- {
1037
- name: 'Guinea-Bissau',
1038
- isoCode: 'gw',
1039
- dialCode: '245',
1040
- displayDialCode: '245',
1041
- flagClass: 'gw',
1042
- priority: 0,
1043
- placeholder: ''
1044
- },
1045
- {
1046
- name: 'Guyana',
1047
- isoCode: 'gy',
1048
- dialCode: '595',
1049
- displayDialCode: '595',
1050
- flagClass: 'gy',
1051
- priority: 0,
1052
- placeholder: ''
1053
- },
1054
- {
1055
- name: 'Haiti',
1056
- isoCode: 'ht',
1057
- dialCode: '509',
1058
- displayDialCode: '509',
1059
- flagClass: 'ht',
1060
- priority: 0,
1061
- placeholder: ''
1062
- },
1063
- {
1064
- name: 'Honduras',
1065
- isoCode: 'hn',
1066
- dialCode: '504',
1067
- displayDialCode: '504',
1068
- flagClass: 'hn',
1069
- priority: 0,
1070
- placeholder: ''
1071
- },
1072
- {
1073
- name: 'Hong Kong',
1074
- isoCode: 'hk',
1075
- dialCode: '852',
1076
- displayDialCode: '852',
1077
- flagClass: 'hk',
1078
- priority: 0,
1079
- placeholder: ''
1080
- },
1081
- {
1082
- name: 'Hungary',
1083
- isoCode: 'hu',
1084
- dialCode: '36',
1085
- displayDialCode: '36',
1086
- flagClass: 'hu',
1087
- priority: 0,
1088
- placeholder: ''
1089
- },
1090
- {
1091
- name: 'Iceland',
1092
- isoCode: 'is',
1093
- dialCode: '354',
1094
- displayDialCode: '354',
1095
- flagClass: 'is',
1096
- priority: 0,
1097
- placeholder: ''
1098
- },
1099
- {
1100
- name: 'India',
1101
- isoCode: 'in',
1102
- dialCode: '91',
1103
- displayDialCode: '91',
1104
- flagClass: 'in',
1105
- priority: 0,
1106
- placeholder: ''
1107
- },
1108
- {
1109
- name: 'Indonesia',
1110
- isoCode: 'id',
1111
- dialCode: '62',
1112
- displayDialCode: '62',
1113
- flagClass: 'id',
1114
- priority: 0,
1115
- placeholder: ''
1116
- },
1117
- {
1118
- name: 'Iran, Islamic Republic of Persian Gulf',
1119
- isoCode: 'ir',
1120
- dialCode: '98',
1121
- displayDialCode: '98',
1122
- flagClass: 'ir',
1123
- priority: 0,
1124
- placeholder: ''
1125
- },
1126
- {
1127
- name: 'Iraq',
1128
- isoCode: 'iq',
1129
- dialCode: '964',
1130
- displayDialCode: '964',
1131
- flagClass: 'iq',
1132
- priority: 0,
1133
- placeholder: ''
1134
- },
1135
- {
1136
- name: 'Ireland',
1137
- isoCode: 'ie',
1138
- dialCode: '353',
1139
- displayDialCode: '353',
1140
- flagClass: 'ie',
1141
- priority: 0,
1142
- placeholder: ''
1143
- },
1144
- {
1145
- name: 'Isle of Man',
1146
- isoCode: 'im',
1147
- dialCode: '44',
1148
- displayDialCode: '44',
1149
- flagClass: 'im',
1150
- priority: 0,
1151
- areaCodes: [
1152
- '1624'
1153
- ],
1154
- placeholder: ''
1155
- },
1156
- {
1157
- name: 'Israel',
1158
- isoCode: 'il',
1159
- dialCode: '972',
1160
- displayDialCode: '972',
1161
- flagClass: 'il',
1162
- priority: 0,
1163
- placeholder: ''
1164
- },
1165
- {
1166
- name: 'Italy',
1167
- isoCode: 'it',
1168
- dialCode: '39',
1169
- displayDialCode: '39',
1170
- flagClass: 'it',
1171
- priority: 0,
1172
- placeholder: ''
1173
- },
1174
- {
1175
- name: 'Jamaica',
1176
- isoCode: 'jm',
1177
- dialCode: '1',
1178
- displayDialCode: '1 876',
1179
- flagClass: 'jm',
1180
- priority: 0,
1181
- areaCodes: [
1182
- '876'
1183
- ],
1184
- placeholder: ''
1185
- },
1186
- {
1187
- name: 'Japan',
1188
- isoCode: 'jp',
1189
- dialCode: '81',
1190
- displayDialCode: '81',
1191
- flagClass: 'jp',
1192
- priority: 0,
1193
- placeholder: ''
1194
- },
1195
- {
1196
- name: 'Jersey',
1197
- isoCode: 'je',
1198
- dialCode: '44',
1199
- displayDialCode: '44',
1200
- flagClass: 'je',
1201
- priority: 0,
1202
- areaCodes: [
1203
- '1534'
1204
- ],
1205
- placeholder: ''
1206
- },
1207
- {
1208
- name: 'Jordan',
1209
- isoCode: 'jo',
1210
- dialCode: '962',
1211
- displayDialCode: '962',
1212
- flagClass: 'jo',
1213
- priority: 0,
1214
- placeholder: ''
1215
- },
1216
- {
1217
- name: 'Kazakhstan',
1218
- isoCode: 'kz',
1219
- dialCode: '7',
1220
- displayDialCode: '7 7',
1221
- flagClass: 'kz',
1222
- priority: 0,
1223
- areaCodes: [
1224
- '7'
1225
- ],
1226
- placeholder: ''
1227
- },
1228
- {
1229
- name: 'Kenya',
1230
- isoCode: 'ke',
1231
- dialCode: '254',
1232
- displayDialCode: '254',
1233
- flagClass: 'ke',
1234
- priority: 0,
1235
- placeholder: ''
1236
- },
1237
- {
1238
- name: 'Kiribati',
1239
- isoCode: 'ki',
1240
- dialCode: '686',
1241
- displayDialCode: '686',
1242
- flagClass: 'ki',
1243
- priority: 0,
1244
- placeholder: ''
1245
- },
1246
- {
1247
- name: 'Kuwait',
1248
- isoCode: 'kw',
1249
- dialCode: '965',
1250
- displayDialCode: '965',
1251
- flagClass: 'kw',
1252
- priority: 0,
1253
- placeholder: ''
1254
- },
1255
- {
1256
- name: 'Kyrgyzstan',
1257
- isoCode: 'kg',
1258
- dialCode: '996',
1259
- displayDialCode: '996',
1260
- flagClass: 'kg',
1261
- priority: 0,
1262
- placeholder: ''
1263
- },
1264
- {
1265
- name: 'Laos',
1266
- isoCode: 'la',
1267
- dialCode: '856',
1268
- displayDialCode: '856',
1269
- flagClass: 'la',
1270
- priority: 0,
1271
- placeholder: ''
1272
- },
1273
- {
1274
- name: 'Latvia',
1275
- isoCode: 'lv',
1276
- dialCode: '371',
1277
- displayDialCode: '371',
1278
- flagClass: 'lv',
1279
- priority: 0,
1280
- placeholder: ''
1281
- },
1282
- {
1283
- name: 'Lebanon',
1284
- isoCode: 'lb',
1285
- dialCode: '961',
1286
- displayDialCode: '961',
1287
- flagClass: 'lb',
1288
- priority: 0,
1289
- placeholder: ''
1290
- },
1291
- {
1292
- name: 'Lesotho',
1293
- isoCode: 'ls',
1294
- dialCode: '266',
1295
- displayDialCode: '266',
1296
- flagClass: 'ls',
1297
- priority: 0,
1298
- placeholder: ''
1299
- },
1300
- {
1301
- name: 'Liberia',
1302
- isoCode: 'lr',
1303
- dialCode: '231',
1304
- displayDialCode: '231',
1305
- flagClass: 'lr',
1306
- priority: 0,
1307
- placeholder: ''
1308
- },
1309
- {
1310
- name: 'Libyan Arab Jamahiriya',
1311
- isoCode: 'ly',
1312
- dialCode: '218',
1313
- displayDialCode: '218',
1314
- flagClass: 'ly',
1315
- priority: 0,
1316
- placeholder: ''
1317
- },
1318
- {
1319
- name: 'Liechtenstein',
1320
- isoCode: 'li',
1321
- dialCode: '423',
1322
- displayDialCode: '423',
1323
- flagClass: 'li',
1324
- priority: 0,
1325
- placeholder: ''
1326
- },
1327
- {
1328
- name: 'Lithuania',
1329
- isoCode: 'lt',
1330
- dialCode: '370',
1331
- displayDialCode: '370',
1332
- flagClass: 'lt',
1333
- priority: 0,
1334
- placeholder: ''
1335
- },
1336
- {
1337
- name: 'Luxembourg',
1338
- isoCode: 'lu',
1339
- dialCode: '352',
1340
- displayDialCode: '352',
1341
- flagClass: 'lu',
1342
- priority: 0,
1343
- placeholder: ''
1344
- },
1345
- {
1346
- name: 'Macao',
1347
- isoCode: 'mo',
1348
- dialCode: '853',
1349
- displayDialCode: '853',
1350
- flagClass: 'mo',
1351
- priority: 0,
1352
- placeholder: ''
1353
- },
1354
- {
1355
- name: 'Macedonia',
1356
- isoCode: 'mk',
1357
- dialCode: '389',
1358
- displayDialCode: '389',
1359
- flagClass: 'mk',
1360
- priority: 0,
1361
- placeholder: ''
1362
- },
1363
- {
1364
- name: 'Madagascar',
1365
- isoCode: 'mg',
1366
- dialCode: '261',
1367
- displayDialCode: '261',
1368
- flagClass: 'mg',
1369
- priority: 0,
1370
- placeholder: ''
1371
- },
1372
- {
1373
- name: 'Malawi',
1374
- isoCode: 'mw',
1375
- dialCode: '265',
1376
- displayDialCode: '265',
1377
- flagClass: 'mw',
1378
- priority: 0,
1379
- placeholder: ''
1380
- },
1381
- {
1382
- name: 'Malaysia',
1383
- isoCode: 'my',
1384
- dialCode: '60',
1385
- displayDialCode: '60',
1386
- flagClass: 'my',
1387
- priority: 0,
1388
- placeholder: ''
1389
- },
1390
- {
1391
- name: 'Maldives',
1392
- isoCode: 'mv',
1393
- dialCode: '960',
1394
- displayDialCode: '960',
1395
- flagClass: 'mv',
1396
- priority: 0,
1397
- placeholder: ''
1398
- },
1399
- {
1400
- name: 'Mali',
1401
- isoCode: 'ml',
1402
- dialCode: '223',
1403
- displayDialCode: '223',
1404
- flagClass: 'ml',
1405
- priority: 0,
1406
- placeholder: ''
1407
- },
1408
- {
1409
- name: 'Malta',
1410
- isoCode: 'mt',
1411
- dialCode: '356',
1412
- displayDialCode: '356',
1413
- flagClass: 'mt',
1414
- priority: 0,
1415
- placeholder: ''
1416
- },
1417
- {
1418
- name: 'Marshall Islands',
1419
- isoCode: 'mh',
1420
- dialCode: '692',
1421
- displayDialCode: '692',
1422
- flagClass: 'mh',
1423
- priority: 0,
1424
- placeholder: ''
1425
- },
1426
- {
1427
- name: 'Martinique',
1428
- isoCode: 'mq',
1429
- dialCode: '596',
1430
- displayDialCode: '596',
1431
- flagClass: 'mq',
1432
- priority: 0,
1433
- placeholder: ''
1434
- },
1435
- {
1436
- name: 'Mauritania',
1437
- isoCode: 'mr',
1438
- dialCode: '222',
1439
- displayDialCode: '222',
1440
- flagClass: 'mr',
1441
- priority: 0,
1442
- placeholder: ''
1443
- },
1444
- {
1445
- name: 'Mauritius',
1446
- isoCode: 'mu',
1447
- dialCode: '230',
1448
- displayDialCode: '230',
1449
- flagClass: 'mu',
1450
- priority: 0,
1451
- placeholder: ''
1452
- },
1453
- {
1454
- name: 'Mayotte',
1455
- isoCode: 'yt',
1456
- dialCode: '262',
1457
- displayDialCode: '262',
1458
- flagClass: 'yt',
1459
- priority: 0,
1460
- placeholder: ''
1461
- },
1462
- {
1463
- name: 'Mexico',
1464
- isoCode: 'mx',
1465
- dialCode: '52',
1466
- displayDialCode: '52',
1467
- flagClass: 'mx',
1468
- priority: 0,
1469
- placeholder: ''
1470
- },
1471
- {
1472
- name: 'Micronesia, Federated States of Micronesia',
1473
- isoCode: 'fm',
1474
- dialCode: '691',
1475
- displayDialCode: '691',
1476
- flagClass: 'fm',
1477
- priority: 0,
1478
- placeholder: ''
1479
- },
1480
- {
1481
- name: 'Moldova',
1482
- isoCode: 'md',
1483
- dialCode: '373',
1484
- displayDialCode: '373',
1485
- flagClass: 'md',
1486
- priority: 0,
1487
- placeholder: ''
1488
- },
1489
- {
1490
- name: 'Monaco',
1491
- isoCode: 'mc',
1492
- dialCode: '377',
1493
- displayDialCode: '377',
1494
- flagClass: 'mc',
1495
- priority: 0,
1496
- placeholder: ''
1497
- },
1498
- {
1499
- name: 'Mongolia',
1500
- isoCode: 'mn',
1501
- dialCode: '976',
1502
- displayDialCode: '976',
1503
- flagClass: 'mn',
1504
- priority: 0,
1505
- placeholder: ''
1506
- },
1507
- {
1508
- name: 'Montenegro',
1509
- isoCode: 'me',
1510
- dialCode: '382',
1511
- displayDialCode: '382',
1512
- flagClass: 'me',
1513
- priority: 0,
1514
- placeholder: ''
1515
- },
1516
- {
1517
- name: 'Montserrat',
1518
- isoCode: 'ms',
1519
- dialCode: '1',
1520
- displayDialCode: '1664',
1521
- flagClass: 'ms',
1522
- priority: 0,
1523
- areaCodes: [
1524
- '664'
1525
- ],
1526
- placeholder: ''
1527
- },
1528
- {
1529
- name: 'Morocco',
1530
- isoCode: 'ma',
1531
- dialCode: '212',
1532
- displayDialCode: '212',
1533
- flagClass: 'ma',
1534
- priority: 0,
1535
- placeholder: ''
1536
- },
1537
- {
1538
- name: 'Mozambique',
1539
- isoCode: 'mz',
1540
- dialCode: '258',
1541
- displayDialCode: '258',
1542
- flagClass: 'mz',
1543
- priority: 0,
1544
- placeholder: ''
1545
- },
1546
- {
1547
- name: 'Myanmar',
1548
- isoCode: 'mm',
1549
- dialCode: '95',
1550
- displayDialCode: '95',
1551
- flagClass: 'mm',
1552
- priority: 0,
1553
- placeholder: ''
1554
- },
1555
- {
1556
- name: 'Namibia',
1557
- isoCode: 'na',
1558
- dialCode: '264',
1559
- displayDialCode: '264',
1560
- flagClass: 'na',
1561
- priority: 0,
1562
- placeholder: ''
1563
- },
1564
- {
1565
- name: 'Nauru',
1566
- isoCode: 'nr',
1567
- dialCode: '674',
1568
- displayDialCode: '674',
1569
- flagClass: 'nr',
1570
- priority: 0,
1571
- placeholder: ''
1572
- },
1573
- {
1574
- name: 'Nepal',
1575
- isoCode: 'np',
1576
- dialCode: '977',
1577
- displayDialCode: '977',
1578
- flagClass: 'np',
1579
- priority: 0,
1580
- placeholder: ''
1581
- },
1582
- {
1583
- name: 'Netherlands',
1584
- isoCode: 'nl',
1585
- dialCode: '31',
1586
- displayDialCode: '31',
1587
- flagClass: 'nl',
1588
- priority: 0,
1589
- placeholder: ''
1590
- },
1591
- {
1592
- name: 'New Caledonia',
1593
- isoCode: 'nc',
1594
- dialCode: '687',
1595
- displayDialCode: '687',
1596
- flagClass: 'nc',
1597
- priority: 0,
1598
- placeholder: ''
1599
- },
1600
- {
1601
- name: 'New Zealand',
1602
- isoCode: 'nz',
1603
- dialCode: '64',
1604
- displayDialCode: '64',
1605
- flagClass: 'nz',
1606
- priority: 0,
1607
- placeholder: ''
1608
- },
1609
- {
1610
- name: 'Nicaragua',
1611
- isoCode: 'ni',
1612
- dialCode: '505',
1613
- displayDialCode: '505',
1614
- flagClass: 'ni',
1615
- priority: 0,
1616
- placeholder: ''
1617
- },
1618
- {
1619
- name: 'Niger',
1620
- isoCode: 'ne',
1621
- dialCode: '227',
1622
- displayDialCode: '227',
1623
- flagClass: 'ne',
1624
- priority: 0,
1625
- placeholder: ''
1626
- },
1627
- {
1628
- name: 'Nigeria',
1629
- isoCode: 'ng',
1630
- dialCode: '234',
1631
- displayDialCode: '234',
1632
- flagClass: 'ng',
1633
- priority: 0,
1634
- placeholder: ''
1635
- },
1636
- {
1637
- name: 'Niue',
1638
- isoCode: 'nu',
1639
- dialCode: '683',
1640
- displayDialCode: '683',
1641
- flagClass: 'nu',
1642
- priority: 0,
1643
- placeholder: ''
1644
- },
1645
- {
1646
- name: 'Norfolk Island',
1647
- isoCode: 'nf',
1648
- dialCode: '672',
1649
- displayDialCode: '672',
1650
- flagClass: 'nf',
1651
- priority: 0,
1652
- placeholder: ''
1653
- },
1654
- {
1655
- name: 'Korea, Democratic People\'s Republic of Korea',
1656
- isoCode: 'kp',
1657
- dialCode: '850',
1658
- displayDialCode: '850',
1659
- flagClass: 'kp',
1660
- priority: 0,
1661
- placeholder: ''
1662
- },
1663
- {
1664
- name: 'Northern Mariana Islands',
1665
- isoCode: 'mp',
1666
- dialCode: '1',
1667
- displayDialCode: '1 670',
1668
- flagClass: 'mp',
1669
- priority: 0,
1670
- areaCodes: [
1671
- '670'
1672
- ],
1673
- placeholder: ''
1674
- },
1675
- {
1676
- name: 'Norway',
1677
- isoCode: 'no',
1678
- dialCode: '47',
1679
- displayDialCode: '47',
1680
- flagClass: 'no',
1681
- priority: 0,
1682
- placeholder: ''
1683
- },
1684
- {
1685
- name: 'Oman',
1686
- isoCode: 'om',
1687
- dialCode: '968',
1688
- displayDialCode: '968',
1689
- flagClass: 'om',
1690
- priority: 0,
1691
- placeholder: ''
1692
- },
1693
- {
1694
- name: 'Pakistan',
1695
- isoCode: 'pk',
1696
- dialCode: '92',
1697
- displayDialCode: '92',
1698
- flagClass: 'pk',
1699
- priority: 0,
1700
- placeholder: ''
1701
- },
1702
- {
1703
- name: 'Palau',
1704
- isoCode: 'pw',
1705
- dialCode: '680',
1706
- displayDialCode: '680',
1707
- flagClass: 'pw',
1708
- priority: 0,
1709
- placeholder: ''
1710
- },
1711
- {
1712
- name: 'Palestinian Territory, Occupied',
1713
- isoCode: 'ps',
1714
- dialCode: '970',
1715
- displayDialCode: '970',
1716
- flagClass: 'ps',
1717
- priority: 0,
1718
- placeholder: ''
1719
- },
1720
- {
1721
- name: 'Panama',
1722
- isoCode: 'pa',
1723
- dialCode: '507',
1724
- displayDialCode: '507',
1725
- flagClass: 'pa',
1726
- priority: 0,
1727
- placeholder: ''
1728
- },
1729
- {
1730
- name: 'Papua New Guinea',
1731
- isoCode: 'pg',
1732
- dialCode: '675',
1733
- displayDialCode: '657',
1734
- flagClass: 'pg',
1735
- priority: 0,
1736
- placeholder: ''
1737
- },
1738
- {
1739
- name: 'Paraguay',
1740
- isoCode: 'py',
1741
- dialCode: '595',
1742
- displayDialCode: '595',
1743
- flagClass: 'py',
1744
- priority: 0,
1745
- placeholder: ''
1746
- },
1747
- {
1748
- name: 'Peru',
1749
- isoCode: 'pe',
1750
- dialCode: '51',
1751
- displayDialCode: '51',
1752
- flagClass: 'pe',
1753
- priority: 0,
1754
- placeholder: ''
1755
- },
1756
- {
1757
- name: 'Philippines',
1758
- isoCode: 'ph',
1759
- dialCode: '63',
1760
- displayDialCode: '63',
1761
- flagClass: 'ph',
1762
- priority: 0,
1763
- placeholder: ''
1764
- },
1765
- {
1766
- name: 'Poland',
1767
- isoCode: 'pl',
1768
- dialCode: '48',
1769
- displayDialCode: '48',
1770
- flagClass: 'pl',
1771
- priority: 0,
1772
- placeholder: ''
1773
- },
1774
- {
1775
- name: 'Portugal',
1776
- isoCode: 'pt',
1777
- dialCode: '351',
1778
- displayDialCode: '351',
1779
- flagClass: 'pt',
1780
- priority: 0,
1781
- placeholder: ''
1782
- },
1783
- {
1784
- name: 'Puerto Rico',
1785
- isoCode: 'pr',
1786
- dialCode: '1',
1787
- displayDialCode: '1 939',
1788
- flagClass: 'pr',
1789
- priority: 0,
1790
- areaCodes: [
1791
- '787',
1792
- '939'
1793
- ],
1794
- placeholder: ''
1795
- },
1796
- {
1797
- name: 'Qatar',
1798
- isoCode: 'qa',
1799
- dialCode: '974',
1800
- displayDialCode: '974',
1801
- flagClass: 'qa',
1802
- priority: 0,
1803
- placeholder: ''
1804
- },
1805
- {
1806
- name: 'Reunion',
1807
- isoCode: 're',
1808
- dialCode: '262',
1809
- displayDialCode: '262',
1810
- flagClass: 're',
1811
- priority: 0,
1812
- placeholder: ''
1813
- },
1814
- {
1815
- name: 'Romania',
1816
- isoCode: 'ro',
1817
- dialCode: '40',
1818
- displayDialCode: '40',
1819
- flagClass: 'ro',
1820
- priority: 0,
1821
- placeholder: ''
1822
- },
1823
- {
1824
- name: 'Russia',
1825
- isoCode: 'ru',
1826
- dialCode: '7',
1827
- displayDialCode: '7',
1828
- flagClass: 'ru',
1829
- priority: 0,
1830
- placeholder: ''
1831
- },
1832
- {
1833
- name: 'Rwanda',
1834
- isoCode: 'rw',
1835
- dialCode: '250',
1836
- displayDialCode: '250',
1837
- flagClass: 'rw',
1838
- priority: 0,
1839
- placeholder: ''
1840
- },
1841
- {
1842
- name: 'Saint Barthelemy',
1843
- isoCode: 'bl',
1844
- dialCode: '590',
1845
- displayDialCode: '590',
1846
- flagClass: 'bl',
1847
- priority: 0,
1848
- placeholder: ''
1849
- },
1850
- {
1851
- name: 'Saint Helena, Ascension and Tristan Da Cunha',
1852
- isoCode: 'sh',
1853
- dialCode: '290',
1854
- displayDialCode: '290',
1855
- flagClass: 'sh',
1856
- priority: 0,
1857
- placeholder: ''
1858
- },
1859
- {
1860
- name: 'Saint Kitts and Nevis',
1861
- isoCode: 'kn',
1862
- dialCode: '1',
1863
- displayDialCode: '1 869',
1864
- flagClass: 'kn',
1865
- priority: 0,
1866
- areaCodes: [
1867
- '869'
1868
- ],
1869
- placeholder: ''
1870
- },
1871
- {
1872
- name: 'Saint Lucia',
1873
- isoCode: 'lc',
1874
- dialCode: '1',
1875
- displayDialCode: '1 758',
1876
- flagClass: 'lc',
1877
- priority: 0,
1878
- areaCodes: [
1879
- '758'
1880
- ],
1881
- placeholder: ''
1882
- },
1883
- {
1884
- name: 'Saint Martin',
1885
- isoCode: 'mf',
1886
- dialCode: '590',
1887
- displayDialCode: '590',
1888
- flagClass: 'mf',
1889
- priority: 0,
1890
- placeholder: ''
1891
- },
1892
- {
1893
- name: 'Saint Pierre and Miquelon',
1894
- isoCode: 'pm',
1895
- dialCode: '508',
1896
- displayDialCode: '508',
1897
- flagClass: 'pm',
1898
- priority: 0,
1899
- placeholder: ''
1900
- },
1901
- {
1902
- name: 'Saint Vincent and the Grenadines',
1903
- isoCode: 'vc',
1904
- dialCode: '1',
1905
- displayDialCode: '1 784',
1906
- flagClass: 'vc',
1907
- priority: 0,
1908
- areaCodes: [
1909
- '784'
1910
- ],
1911
- placeholder: ''
1912
- },
1913
- {
1914
- name: 'Samoa',
1915
- isoCode: 'ws',
1916
- dialCode: '685',
1917
- displayDialCode: '685',
1918
- flagClass: 'ws',
1919
- priority: 0,
1920
- placeholder: ''
1921
- },
1922
- {
1923
- name: 'San Marino',
1924
- isoCode: 'sm',
1925
- dialCode: '378',
1926
- displayDialCode: '378',
1927
- flagClass: 'sm',
1928
- priority: 0,
1929
- placeholder: ''
1930
- },
1931
- {
1932
- name: 'Sao Tome and Principe',
1933
- isoCode: 'st',
1934
- dialCode: '239',
1935
- displayDialCode: '239',
1936
- flagClass: 'st',
1937
- priority: 0,
1938
- placeholder: ''
1939
- },
1940
- {
1941
- name: 'Saudi Arabia',
1942
- isoCode: 'sa',
1943
- dialCode: '966',
1944
- displayDialCode: '966',
1945
- flagClass: 'sa',
1946
- priority: 0,
1947
- placeholder: ''
1948
- },
1949
- {
1950
- name: 'Senegal',
1951
- isoCode: 'sn',
1952
- dialCode: '221',
1953
- displayDialCode: '221',
1954
- flagClass: 'sn',
1955
- priority: 0,
1956
- placeholder: ''
1957
- },
1958
- {
1959
- name: 'Serbia',
1960
- isoCode: 'rs',
1961
- dialCode: '381',
1962
- displayDialCode: '381',
1963
- flagClass: 'rs',
1964
- priority: 0,
1965
- placeholder: ''
1966
- },
1967
- {
1968
- name: 'Seychelles',
1969
- isoCode: 'sc',
1970
- dialCode: '248',
1971
- displayDialCode: '248',
1972
- flagClass: 'sc',
1973
- priority: 0,
1974
- placeholder: ''
1975
- },
1976
- {
1977
- name: 'Sierra Leone',
1978
- isoCode: 'sl',
1979
- dialCode: '232',
1980
- displayDialCode: '232',
1981
- flagClass: 'sl',
1982
- priority: 0,
1983
- placeholder: ''
1984
- },
1985
- {
1986
- name: 'Singapore',
1987
- isoCode: 'sg',
1988
- dialCode: '65',
1989
- displayDialCode: '65',
1990
- flagClass: 'sg',
1991
- priority: 0,
1992
- placeholder: ''
1993
- },
1994
- {
1995
- name: 'Slovakia',
1996
- isoCode: 'sk',
1997
- dialCode: '421',
1998
- displayDialCode: '421',
1999
- flagClass: 'sk',
2000
- priority: 0,
2001
- placeholder: ''
2002
- },
2003
- {
2004
- name: 'Slovenia',
2005
- isoCode: 'si',
2006
- dialCode: '386',
2007
- displayDialCode: '386',
2008
- flagClass: 'si',
2009
- priority: 0,
2010
- placeholder: ''
2011
- },
2012
- {
2013
- name: 'Solomon Islands',
2014
- isoCode: 'sb',
2015
- dialCode: '677',
2016
- displayDialCode: '677',
2017
- flagClass: 'sb',
2018
- priority: 0,
2019
- placeholder: ''
2020
- },
2021
- {
2022
- name: 'Somalia',
2023
- isoCode: 'so',
2024
- dialCode: '252',
2025
- displayDialCode: '252',
2026
- flagClass: 'so',
2027
- priority: 0,
2028
- placeholder: ''
2029
- },
2030
- {
2031
- name: 'South Africa',
2032
- isoCode: 'za',
2033
- dialCode: '27',
2034
- displayDialCode: '27',
2035
- flagClass: 'za',
2036
- priority: 0,
2037
- placeholder: ''
2038
- },
2039
- {
2040
- name: 'Korea, Republic of South Korea',
2041
- isoCode: 'kr',
2042
- dialCode: '82',
2043
- displayDialCode: '82',
2044
- flagClass: 'kr',
2045
- priority: 0,
2046
- placeholder: ''
2047
- },
2048
- {
2049
- name: 'Spain',
2050
- isoCode: 'es',
2051
- dialCode: '34',
2052
- displayDialCode: '34',
2053
- flagClass: 'es',
2054
- priority: 0,
2055
- placeholder: ''
2056
- },
2057
- {
2058
- name: 'Sri Lanka',
2059
- isoCode: 'lk',
2060
- dialCode: '94',
2061
- displayDialCode: '94',
2062
- flagClass: 'lk',
2063
- priority: 0,
2064
- placeholder: ''
2065
- },
2066
- {
2067
- name: 'Sudan',
2068
- isoCode: 'sd',
2069
- dialCode: '249',
2070
- displayDialCode: '249',
2071
- flagClass: 'sd',
2072
- priority: 0,
2073
- placeholder: ''
2074
- },
2075
- {
2076
- name: 'Suriname',
2077
- isoCode: 'sr',
2078
- dialCode: '597',
2079
- displayDialCode: '597',
2080
- flagClass: 'sr',
2081
- priority: 0,
2082
- placeholder: ''
2083
- },
2084
- {
2085
- name: 'Svalbard and Jan Mayen',
2086
- isoCode: 'sj',
2087
- dialCode: '47',
2088
- displayDialCode: '47',
2089
- flagClass: 'sj',
2090
- priority: 0,
2091
- placeholder: ''
2092
- },
2093
- {
2094
- name: 'Swaziland',
2095
- isoCode: 'sz',
2096
- dialCode: '268',
2097
- displayDialCode: '268',
2098
- flagClass: 'sz',
2099
- priority: 0,
2100
- placeholder: ''
2101
- },
2102
- {
2103
- name: 'Sweden',
2104
- isoCode: 'se',
2105
- dialCode: '46',
2106
- displayDialCode: '46',
2107
- flagClass: 'se',
2108
- priority: 0,
2109
- placeholder: ''
2110
- },
2111
- {
2112
- name: 'Switzerland',
2113
- isoCode: 'ch',
2114
- dialCode: '41',
2115
- displayDialCode: '41',
2116
- flagClass: 'ch',
2117
- priority: 0,
2118
- placeholder: ''
2119
- },
2120
- {
2121
- name: 'Syrian Arab Republic',
2122
- isoCode: 'sy',
2123
- dialCode: '963',
2124
- displayDialCode: '963',
2125
- flagClass: 'sy',
2126
- priority: 0,
2127
- placeholder: ''
2128
- },
2129
- {
2130
- name: 'Taiwan',
2131
- isoCode: 'tw',
2132
- dialCode: '886',
2133
- displayDialCode: '886',
2134
- flagClass: 'tw',
2135
- priority: 0,
2136
- placeholder: ''
2137
- },
2138
- {
2139
- name: 'Tajikistan',
2140
- isoCode: 'tj',
2141
- dialCode: '992',
2142
- displayDialCode: '992',
2143
- flagClass: 'tj',
2144
- priority: 0,
2145
- placeholder: ''
2146
- },
2147
- {
2148
- name: 'Tanzania, United Republic of Tanzania',
2149
- isoCode: 'tz',
2150
- dialCode: '255',
2151
- displayDialCode: '255',
2152
- flagClass: 'tz',
2153
- priority: 0,
2154
- placeholder: ''
2155
- },
2156
- {
2157
- name: 'Thailand',
2158
- isoCode: 'th',
2159
- dialCode: '66',
2160
- displayDialCode: '66',
2161
- flagClass: 'th',
2162
- priority: 0,
2163
- placeholder: ''
2164
- },
2165
- {
2166
- name: 'Timor-Leste',
2167
- isoCode: 'tl',
2168
- dialCode: '670',
2169
- displayDialCode: '670',
2170
- flagClass: 'tl',
2171
- priority: 0,
2172
- placeholder: ''
2173
- },
2174
- {
2175
- name: 'Togo',
2176
- isoCode: 'tg',
2177
- dialCode: '228',
2178
- displayDialCode: '228',
2179
- flagClass: 'tg',
2180
- priority: 0,
2181
- placeholder: ''
2182
- },
2183
- {
2184
- name: 'Tokelau',
2185
- isoCode: 'tk',
2186
- dialCode: '690',
2187
- displayDialCode: '690',
2188
- flagClass: 'tk',
2189
- priority: 0,
2190
- placeholder: ''
2191
- },
2192
- {
2193
- name: 'Tonga',
2194
- isoCode: 'to',
2195
- dialCode: '676',
2196
- displayDialCode: '676',
2197
- flagClass: 'to',
2198
- priority: 0,
2199
- placeholder: ''
2200
- },
2201
- {
2202
- name: 'Trinidad and Tobago',
2203
- isoCode: 'tt',
2204
- dialCode: '1',
2205
- displayDialCode: '1 868',
2206
- flagClass: 'tt',
2207
- priority: 0,
2208
- areaCodes: [
2209
- '868'
2210
- ],
2211
- placeholder: ''
2212
- },
2213
- {
2214
- name: 'Tunisia',
2215
- isoCode: 'tn',
2216
- dialCode: '216',
2217
- displayDialCode: '216',
2218
- flagClass: 'tn',
2219
- priority: 0,
2220
- placeholder: ''
2221
- },
2222
- {
2223
- name: 'Turkey',
2224
- isoCode: 'tr',
2225
- dialCode: '90',
2226
- displayDialCode: '90',
2227
- flagClass: 'tr',
2228
- priority: 0,
2229
- placeholder: ''
2230
- },
2231
- {
2232
- name: 'Turkmenistan',
2233
- isoCode: 'tm',
2234
- dialCode: '993',
2235
- displayDialCode: '993',
2236
- flagClass: 'tm',
2237
- priority: 0,
2238
- placeholder: ''
2239
- },
2240
- {
2241
- name: 'Turks and Caicos Islands',
2242
- isoCode: 'tc',
2243
- dialCode: '1',
2244
- displayDialCode: '1 649',
2245
- flagClass: 'tc',
2246
- priority: 0,
2247
- areaCodes: [
2248
- '649'
2249
- ],
2250
- placeholder: ''
2251
- },
2252
- {
2253
- name: 'Tuvalu',
2254
- isoCode: 'tv',
2255
- dialCode: '688',
2256
- displayDialCode: '688',
2257
- flagClass: 'tv',
2258
- priority: 0,
2259
- placeholder: ''
2260
- },
2261
- {
2262
- name: 'Virgin Islands, U.S.',
2263
- isoCode: 'vi',
2264
- dialCode: '1',
2265
- displayDialCode: '1 340',
2266
- flagClass: 'vi',
2267
- priority: 0,
2268
- areaCodes: [
2269
- '340'
2270
- ],
2271
- placeholder: ''
2272
- },
2273
- {
2274
- name: 'Uganda',
2275
- isoCode: 'ug',
2276
- dialCode: '256',
2277
- displayDialCode: '256',
2278
- flagClass: 'ug',
2279
- priority: 0,
2280
- placeholder: ''
2281
- },
2282
- {
2283
- name: 'Ukraine',
2284
- isoCode: 'ua',
2285
- dialCode: '380',
2286
- displayDialCode: '380',
2287
- flagClass: 'ua',
2288
- priority: 0,
2289
- placeholder: ''
2290
- },
2291
- {
2292
- name: 'United Arab Emirates',
2293
- isoCode: 'ae',
2294
- dialCode: '971',
2295
- displayDialCode: '971',
2296
- flagClass: 'ae',
2297
- priority: 0,
2298
- placeholder: ''
2299
- },
2300
- {
2301
- name: 'United Kingdom',
2302
- isoCode: 'gb',
2303
- dialCode: '44',
2304
- displayDialCode: '44',
2305
- flagClass: 'gb',
2306
- priority: 0,
2307
- placeholder: ''
2308
- },
2309
- {
2310
- name: 'United States',
2311
- isoCode: 'us',
2312
- dialCode: '1',
2313
- displayDialCode: '1',
2314
- flagClass: 'us',
2315
- priority: 0,
2316
- placeholder: ''
2317
- },
2318
- {
2319
- name: 'Uruguay',
2320
- isoCode: 'uy',
2321
- dialCode: '598',
2322
- displayDialCode: '598',
2323
- flagClass: 'uy',
2324
- priority: 0,
2325
- placeholder: ''
2326
- },
2327
- {
2328
- name: 'Uzbekistan',
2329
- isoCode: 'uz',
2330
- dialCode: '998',
2331
- displayDialCode: '998',
2332
- flagClass: 'uz',
2333
- priority: 0,
2334
- placeholder: ''
2335
- },
2336
- {
2337
- name: 'Vanuatu',
2338
- isoCode: 'vu',
2339
- dialCode: '678',
2340
- displayDialCode: '678',
2341
- flagClass: 'vu',
2342
- priority: 0,
2343
- placeholder: ''
2344
- },
2345
- {
2346
- name: 'Holy See (Vatican City State)',
2347
- isoCode: 'va',
2348
- dialCode: '379',
2349
- displayDialCode: '379',
2350
- flagClass: 'va',
2351
- priority: 0,
2352
- placeholder: ''
2353
- },
2354
- {
2355
- name: 'Venezuela, Bolivarian Republic of Venezuela',
2356
- isoCode: 've',
2357
- dialCode: '58',
2358
- displayDialCode: '58',
2359
- flagClass: 've',
2360
- priority: 0,
2361
- placeholder: ''
2362
- },
2363
- {
2364
- name: 'Vietnam',
2365
- isoCode: 'vn',
2366
- dialCode: '84',
2367
- displayDialCode: '84',
2368
- flagClass: 'vn',
2369
- priority: 0,
2370
- placeholder: ''
2371
- },
2372
- {
2373
- name: 'Wallis and Futuna',
2374
- isoCode: 'wf',
2375
- dialCode: '681',
2376
- displayDialCode: '681',
2377
- flagClass: 'wf',
2378
- priority: 0,
2379
- placeholder: ''
2380
- },
2381
- {
2382
- name: 'Yemen',
2383
- isoCode: 'ye',
2384
- dialCode: '967',
2385
- displayDialCode: '967',
2386
- flagClass: 'ye',
2387
- priority: 0,
2388
- placeholder: ''
2389
- },
2390
- {
2391
- name: 'Zambia',
2392
- isoCode: 'zm',
2393
- dialCode: '260',
2394
- displayDialCode: '260',
2395
- flagClass: 'zm',
2396
- priority: 0,
2397
- placeholder: ''
2398
- },
2399
- {
2400
- name: 'Zimbabwe',
2401
- isoCode: 'zw',
2402
- dialCode: '263',
2403
- displayDialCode: '263',
2404
- flagClass: 'zw',
2405
- priority: 0,
2406
- placeholder: ''
2407
- },
2408
- {
2409
- name: 'Aland Islands',
2410
- isoCode: 'ax',
2411
- dialCode: '358',
2412
- displayDialCode: '358',
2413
- flagClass: 'ax',
2414
- priority: 0,
2415
- placeholder: ''
2416
- }
2417
- ];
2418
-
2419
- class IonIntlTelInputService {
2420
- constructor() {
2421
- this.countryList = countries;
2422
- }
2423
- getListOfCountries() {
2424
- return this.countryList;
2425
- }
2426
- }
2427
- /** @nocollapse */ IonIntlTelInputService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2428
- /** @nocollapse */ IonIntlTelInputService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputService, providedIn: 'root' });
2429
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputService, decorators: [{
2430
- type: Injectable,
2431
- args: [{
2432
- providedIn: 'root'
2433
- }]
2434
- }], ctorParameters: function () { return []; } });
2435
-
2436
- class CountryPlaceholder {
2437
- transform(country, inputPlaceholder, separateDialCode, fallbackPlaceholder, usePatternPlaceholder) {
2438
- if (inputPlaceholder && inputPlaceholder.length > 0) {
2439
- return inputPlaceholder;
2440
- }
2441
- try {
2442
- const example = getExampleNumber(country.isoCode, examples);
2443
- let placeholder = example.formatInternational();
2444
- if (usePatternPlaceholder) {
2445
- const dc = placeholder.substring(0, placeholder.indexOf(' '));
2446
- placeholder = placeholder.substring(placeholder.indexOf(' ') + 1);
2447
- placeholder = dc + ' ' + placeholder.replace(/\d/g, 'x');
2448
- }
2449
- if (placeholder) {
2450
- if (separateDialCode) {
2451
- return placeholder.substring(placeholder.indexOf(' ') + 1);
2452
- }
2453
- else {
2454
- return placeholder;
2455
- }
2456
- }
2457
- }
2458
- catch (e) {
2459
- return fallbackPlaceholder;
2460
- }
2461
- }
2462
- }
2463
- /** @nocollapse */ CountryPlaceholder.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CountryPlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
2464
- /** @nocollapse */ CountryPlaceholder.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CountryPlaceholder, name: "countryPlaceholder" });
2465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CountryPlaceholder, decorators: [{
2466
- type: Pipe,
2467
- args: [{ name: 'countryPlaceholder' }]
2468
- }] });
2469
-
2470
- /**
2471
- * @ignore
2472
- */
2473
- /**
2474
- * @author Azzam Asghar <azzam.asghar@interstellus.com>
2475
- * @author Steve Drew <sdrew@waitwell.ca>
2476
- */
2477
- class IonIntlTelInputComponent {
2478
- get hasValueCssClass() {
2479
- return this.hasValue();
2480
- }
2481
- get isEnabled() {
2482
- return !this.disabled;
2483
- }
2484
- constructor(el, platform, ionIntlTelInputService, modalCtrl) {
2485
- this.el = el;
2486
- this.platform = platform;
2487
- this.ionIntlTelInputService = ionIntlTelInputService;
2488
- this.modalCtrl = modalCtrl;
2489
- this.cssClass = true;
2490
- /**
2491
- * autocomplete, set to 'tel' if needed
2492
- *
2493
- * @default 'off'
2494
- * @memberof IonIntlTelInputComponent
2495
- */
2496
- this.autocomplete = 'off';
2497
- /**
2498
- * required, passed onto ion-input so we can be accessiblity compliant
2499
- *
2500
- * @default false
2501
- * @memberof IonIntlTelInputComponent
2502
- */
2503
- this.required = false;
2504
- /**
2505
- * Iso Code of default selected Country.
2506
- * See more on.
2507
- *
2508
- * @default ''
2509
- * @memberof IonIntlTelInputComponent
2510
- */
2511
- this.defaultCountryiso = '';
2512
- /**
2513
- * Determines whether to use `00` or `+` as dial code prefix.
2514
- * Available attributes are '+' | '00'.
2515
- * See more on.
2516
- *
2517
- * @default +
2518
- * @memberof IonIntlTelInputComponent
2519
- */
2520
- this.dialCodePrefix = '+';
2521
- /**
2522
- * Determines whether to select automatic country based on user input.
2523
- * See more on.
2524
- *
2525
- * @default true
2526
- * @memberof IonIntlTelInputComponent
2527
- */
2528
- this.enableAutoCountrySelect = true;
2529
- /**
2530
- * Determines whether an example number will be shown as a placeholder in input.
2531
- * See more on.
2532
- *
2533
- * @default true
2534
- * @memberof IonIntlTelInputComponent
2535
- */
2536
- this.enablePlaceholder = true;
2537
- /**
2538
- * A fallaback placeholder to be used if no example number is found for a country.
2539
- * See more on.
2540
- *
2541
- * @default ''
2542
- * @memberof IonIntlTelInputComponent
2543
- */
2544
- this.fallbackPlaceholder = '';
2545
- /**
2546
- * If a custom placeholder is needed for input.
2547
- * If this property is set it will override `enablePlaceholder` and only this placeholder will be shown.
2548
- * See more on.
2549
- *
2550
- * @default ''
2551
- * @memberof IonIntlTelInputComponent
2552
- */
2553
- this.inputPlaceholder = '';
2554
- this.inputLabel = '';
2555
- this.inputLabelPlacement = '';
2556
- /**
2557
- * Instead of an example phone number, use a x pattern. Such as xxx-xxx-xxxx, this will be obtained
2558
- * based on the example number from the google phone lib.
2559
- *
2560
- * @default true
2561
- * @memberof IonIntlTelInputComponent
2562
- */
2563
- this.usePatternPlaceholder = true;
2564
- /**
2565
- * Maximum Length for input.
2566
- * See more on.
2567
- *
2568
- * @default '15'
2569
- * @memberof IonIntlTelInputComponent
2570
- */
2571
- this.maxLength = '15';
2572
- /**
2573
- * Title of modal opened to select country dial code.
2574
- * See more on.
2575
- *
2576
- * @default 'Select Country'
2577
- * @memberof IonIntlTelInputComponent
2578
- */
2579
- this.modalTitle = 'Select Country';
2580
- /**
2581
- * CSS class to attach to dial code selectionmodal.
2582
- * See more on.
2583
- *
2584
- * @default 'ion-intl-tel-modal'
2585
- * @memberof IonIntlTelInputComponent
2586
- */
2587
- this.modalCssClass = 'ion-intl-tel-modal';
2588
- /**
2589
- * Placeholder for input in dial code selection modal.
2590
- * See more on.
2591
- *
2592
- * @default 'Enter country name'
2593
- * @memberof IonIntlTelInputComponent
2594
- */
2595
- this.modalSearchPlaceholder = 'Enter country name';
2596
- /**
2597
- * Text for close button in dial code selection modal.
2598
- * See more on.
2599
- *
2600
- * @default 'Close'
2601
- * @memberof IonIntlTelInputComponent
2602
- */
2603
- this.modalCloseText = 'Close';
2604
- /**
2605
- * Slot for close button in dial code selection modal. [Ionic slots](https://ionicframework.com/docs/api/item) are supported
2606
- * See more on.
2607
- *
2608
- * @default 'end'
2609
- * @memberof IonIntlTelInputComponent
2610
- */
2611
- this.modalCloseButtonSlot = 'end';
2612
- /**
2613
- * Determines whether dial code selection modal should be searchable or not.
2614
- * See more on.
2615
- *
2616
- * @default 'true'
2617
- * @memberof IonIntlTelInputComponent
2618
- */
2619
- this.modalCanSearch = true;
2620
- /**
2621
- * Determines whether dial code selection modal is closed on backdrop click.
2622
- * See more on.
2623
- *
2624
- * @default 'true'
2625
- * @memberof IonIntlTelInputComponent
2626
- */
2627
- this.modalShouldBackdropClose = true;
2628
- /**
2629
- * Determines whether input should be focused when dial code selection modal is opened.
2630
- * See more on.
2631
- *
2632
- * @default 'true'
2633
- * @memberof IonIntlTelInputComponent
2634
- */
2635
- this.modalShouldFocusSearchbar = true;
2636
- /**
2637
- * Message to show when no countries are found for search in dial code selection modal.
2638
- * See more on.
2639
- *
2640
- * @default 'true'
2641
- * @memberof IonIntlTelInputComponent
2642
- */
2643
- this.modalSearchFailText = 'No countries found';
2644
- /**
2645
- * List of iso codes of manually selected countries as string, which will appear in the dropdown.
2646
- * **Note**: `onlyCountries` should be a string array of country iso codes.
2647
- * See more on.
2648
- *
2649
- * @default null
2650
- * @memberof IonIntlTelInputComponent
2651
- */
2652
- this.onlyCountries = [];
2653
- /**
2654
- * List of iso codesn as string of countries, which will appear at the top in dial code selection modal.
2655
- * **Note**: `preferredCountries` should be a string array of country iso codes.
2656
- * See more on.
2657
- *
2658
- * @default null
2659
- * @memberof IonIntlTelInputComponent
2660
- */
2661
- this.preferredCountries = [];
2662
- /**
2663
- * Determines whether first country should be selected in dial code select or not.
2664
- * See more on.
2665
- *
2666
- * @default true
2667
- * @memberof IonIntlTelInputComponent
2668
- */
2669
- this.selectFirstCountry = true;
2670
- /**
2671
- * Determines whether to visually separate dialcode into the drop down element.
2672
- * See more on.
2673
- *
2674
- * @default true
2675
- * @memberof IonIntlTelInputComponent
2676
- */
2677
- this.separateDialCode = true;
2678
- /**
2679
- * Fires when the Phone number Input is changed.
2680
- * See more on.
2681
- *
2682
- * @memberof IonIntlTelInputComponent
2683
- */
2684
- this.numberChange = new EventEmitter();
2685
- /**
2686
- * Fires when the Phone number Input is blurred.
2687
- * See more on.
2688
- *
2689
- * @memberof IonIntlTelInputComponent
2690
- */
2691
- this.numberBlur = new EventEmitter();
2692
- /**
2693
- * Fires when the Phone number Input is focused.
2694
- * See more on.
2695
- *
2696
- * @memberof IonIntlTelInputComponent
2697
- */
2698
- this.numberFocus = new EventEmitter();
2699
- /**
2700
- * Fires when the user is typing in Phone number Input.
2701
- * See more on.
2702
- *
2703
- * @memberof IonIntlTelInputComponent
2704
- */
2705
- this.numberInput = new EventEmitter();
2706
- /**
2707
- * Fires when the dial code selection is changed.
2708
- * See more on.
2709
- *
2710
- * @memberof IonIntlTelInputComponent
2711
- */
2712
- this.codeChange = new EventEmitter();
2713
- /**
2714
- * Fires when the dial code selection modal is opened.
2715
- * See more on.
2716
- *
2717
- * @memberof IonIntlTelInputComponent
2718
- */
2719
- this.codeOpen = new EventEmitter();
2720
- /**
2721
- * Fires when the dial code selection modal is closed.
2722
- * See more on.
2723
- *
2724
- * @memberof IonIntlTelInputComponent
2725
- */
2726
- this.codeClose = new EventEmitter();
2727
- /**
2728
- * Fires when a dial code is selected in dial code selection modal.
2729
- * See more on.
2730
- *
2731
- * @memberof IonIntlTelInputComponent
2732
- */
2733
- this.codeSelect = new EventEmitter();
2734
- // tslint:disable-next-line: variable-name
2735
- this._value = null;
2736
- this.phoneNumber = '';
2737
- this.countries = [];
2738
- this.disabled = false;
2739
- this.onTouched = () => { };
2740
- this.propagateChange = (_) => { };
2741
- this.startsWith = (input, search) => {
2742
- return input.substr(0, search.length) === search;
2743
- };
2744
- this.getClasses = (element) => {
2745
- const classList = element.classList;
2746
- const classes = [];
2747
- for (let i = 0; i < classList.length; i++) {
2748
- const item = classList.item(i);
2749
- if (item !== null && this.startsWith(item, 'ng-')) {
2750
- classes.push(`ion-${item.substr(3)}`);
2751
- }
2752
- }
2753
- return classes;
2754
- };
2755
- this.setClasses = (element, classes) => {
2756
- const classList = element.classList;
2757
- [
2758
- 'ion-valid',
2759
- 'ion-invalid',
2760
- 'ion-touched',
2761
- 'ion-untouched',
2762
- 'ion-dirty',
2763
- 'ion-pristine',
2764
- ].forEach((c) => classList.remove(c));
2765
- classes.forEach((c) => classList.add(c));
2766
- };
2767
- this.setIonicClasses = (element) => {
2768
- raf(() => {
2769
- const input = element.nativeElement;
2770
- const classes = this.getClasses(input);
2771
- this.setClasses(input, classes);
2772
- const item = input.closest('ion-item');
2773
- if (item) {
2774
- this.setClasses(item, classes);
2775
- }
2776
- });
2777
- };
2778
- this.setItemClass = (element, className, addClass) => {
2779
- const input = element.nativeElement;
2780
- const item = input.closest('ion-item');
2781
- if (item) {
2782
- const classList = item.classList;
2783
- if (addClass) {
2784
- classList.add(className);
2785
- }
2786
- else {
2787
- classList.remove(className);
2788
- }
2789
- }
2790
- };
2791
- }
2792
- get value() {
2793
- return this._value;
2794
- }
2795
- set value(value) {
2796
- this._value = value;
2797
- this.setIonicClasses(this.el);
2798
- }
2799
- emitValueChange(change) {
2800
- this.propagateChange(change);
2801
- }
2802
- ngOnInit() {
2803
- this.isIos = this.platform.is('ios');
2804
- this.isMD = !this.isIos;
2805
- this.setItemClass(this.el, 'item-interactive', true);
2806
- this.fetchAllCountries();
2807
- this.setPreferredCountries();
2808
- if (this.onlyCountries.length) {
2809
- this.countries = this.countries.filter((country) => this.onlyCountries.includes(country.isoCode));
2810
- }
2811
- if (this.selectFirstCountry) {
2812
- if (this.defaultCountryiso) {
2813
- this.setCountry(this.getCountryByIsoCode(this.defaultCountryiso));
2814
- }
2815
- else {
2816
- if (this.preferredCountries.length &&
2817
- this.preferredCountries.includes(this.defaultCountryiso)) {
2818
- this.setCountry(this.getCountryByIsoCode(this.preferredCountries[0]));
2819
- }
2820
- else {
2821
- this.setCountry(this.countries[0]);
2822
- }
2823
- }
2824
- }
2825
- }
2826
- ngOnChanges(changes) {
2827
- if (this.countries &&
2828
- changes.defaulyCountryisoCode &&
2829
- changes.defaulyCountryisoCode.currentValue !==
2830
- changes.defaulyCountryisoCode.previousValue) {
2831
- this.setCountry(changes.defaulyCountryisoCode.currentValue);
2832
- }
2833
- }
2834
- registerOnChange(fn) {
2835
- this.propagateChange = fn;
2836
- }
2837
- registerOnTouched(fn) {
2838
- this.onTouched = fn;
2839
- }
2840
- writeValue(obj) {
2841
- this.fillValues(obj);
2842
- }
2843
- setDisabledState(isDisabled) {
2844
- this.disabled = isDisabled;
2845
- }
2846
- fillValues(value) {
2847
- if (value && typeof value === 'string') {
2848
- let googleNumber;
2849
- try {
2850
- googleNumber = parsePhoneNumber(value);
2851
- }
2852
- catch (e) {
2853
- }
2854
- if (!googleNumber) {
2855
- // If failed to parse, try adding a +1 and see if valid
2856
- if (value.length >= 10 && value.indexOf('+') === -1) {
2857
- const v = '+1' + value;
2858
- googleNumber = parsePhoneNumber(v);
2859
- }
2860
- }
2861
- if (!googleNumber) {
2862
- console.log('Warning: failed to parse number: ', value);
2863
- }
2864
- if (googleNumber) {
2865
- let isoCode = googleNumber && googleNumber.country
2866
- ? googleNumber.country
2867
- : this.country.isoCode;
2868
- if (isoCode && isoCode !== this.country.isoCode) {
2869
- const newCountry = this.countries.find((country) => country.isoCode === isoCode);
2870
- if (newCountry) {
2871
- this.country = newCountry;
2872
- }
2873
- }
2874
- isoCode = isoCode ? isoCode : this.country ? this.country.isoCode : null;
2875
- const internationallNo = googleNumber.formatInternational();
2876
- this.phoneNumber = this.removeDialCode(internationallNo);
2877
- this.value = internationallNo;
2878
- }
2879
- return;
2880
- }
2881
- }
2882
- hasValue() {
2883
- return !this.isNullOrWhiteSpace(this.value);
2884
- }
2885
- onCodeOpen() {
2886
- this.codeOpen.emit();
2887
- }
2888
- openModal() {
2889
- return __awaiter(this, void 0, void 0, function* () {
2890
- const modal = yield this.modalCtrl.create({
2891
- component: IonIntTelCodeComponent,
2892
- cssClass: this.modalCssClass,
2893
- backdropDismiss: this.modalShouldBackdropClose,
2894
- componentProps: {
2895
- country: this.country,
2896
- canSearch: this.modalCanSearch,
2897
- closeButtonText: this.modalCloseText,
2898
- closeButtonSlot: this.modalCloseButtonSlot,
2899
- countries: this.countries,
2900
- title: this.modalTitle,
2901
- searchFailText: this.modalSearchFailText,
2902
- searchPlaceholder: this.modalSearchPlaceholder,
2903
- shouldFocusSearchbar: this.modalShouldFocusSearchbar,
2904
- dialCode: this.separateDialCode ? this.dialCodePrefix : null
2905
- }
2906
- });
2907
- yield modal.present();
2908
- modal.onDidDismiss().then(data => {
2909
- if (data.data) {
2910
- this.country = data.data;
2911
- this.onCodeChange();
2912
- }
2913
- });
2914
- });
2915
- }
2916
- onCodeChange() {
2917
- if (this.isNullOrWhiteSpace(this.phoneNumber)) {
2918
- this.emitValueChange(null);
2919
- }
2920
- else {
2921
- let googleNumber;
2922
- try {
2923
- googleNumber = parsePhoneNumber(this.phoneNumber, this.country.isoCode.toUpperCase());
2924
- }
2925
- catch (e) { }
2926
- const internationallNo = googleNumber
2927
- ? googleNumber.formatInternational()
2928
- : '';
2929
- const nationalNo = googleNumber
2930
- ? googleNumber.formatNational()
2931
- : '';
2932
- if (this.separateDialCode && internationallNo) {
2933
- this.phoneNumber = this.removeDialCode(internationallNo);
2934
- }
2935
- this.emitValueChange(internationallNo);
2936
- this.codeChange.emit();
2937
- }
2938
- setTimeout(() => {
2939
- this.numberInputEl.setFocus();
2940
- }, 400);
2941
- }
2942
- onCodeClose() {
2943
- this.onTouched();
2944
- this.setIonicClasses(this.el);
2945
- this.hasFocus = false;
2946
- this.setItemClass(this.el, 'item-has-focus', false);
2947
- this.codeClose.emit();
2948
- }
2949
- onCodeSelect() {
2950
- this.codeSelect.emit();
2951
- }
2952
- onIonNumberChange(event) {
2953
- this.setIonicClasses(this.el);
2954
- this.numberChange.emit(event);
2955
- }
2956
- onIonNumberBlur() {
2957
- this.onTouched();
2958
- this.setIonicClasses(this.el);
2959
- this.hasFocus = false;
2960
- this.setItemClass(this.el, 'item-has-focus', false);
2961
- this.numberBlur.emit();
2962
- }
2963
- onIonNumberFocus() {
2964
- this.hasFocus = true;
2965
- this.setItemClass(this.el, 'item-has-focus', true);
2966
- this.numberFocus.emit();
2967
- }
2968
- onIonNumberInput(event) {
2969
- this.numberInput.emit(event);
2970
- }
2971
- // called via (ngModelChange)
2972
- onNumberChange() {
2973
- if (!this.phoneNumber) {
2974
- this.value = null;
2975
- this.emitValueChange(null);
2976
- return;
2977
- }
2978
- if (this.country) {
2979
- this.emitValueChange(this.dialCodePrefix + this.country.dialCode + ' ' + this.phoneNumber);
2980
- }
2981
- let googleNumber;
2982
- try {
2983
- googleNumber = parsePhoneNumber(this.phoneNumber, this.country.isoCode.toUpperCase());
2984
- }
2985
- catch (e) {
2986
- return;
2987
- }
2988
- let isoCode = this.country ? this.country.isoCode : null;
2989
- // auto select country based on the extension (and areaCode if needed) (e.g select Canada if number starts with +1 416)
2990
- if (this.enableAutoCountrySelect) {
2991
- isoCode =
2992
- googleNumber && googleNumber.country
2993
- ? googleNumber.country
2994
- : this.country.isoCode;
2995
- if (isoCode && isoCode !== this.country.isoCode) {
2996
- const newCountry = this.countries.find((country) => country.isoCode === isoCode);
2997
- if (newCountry) {
2998
- this.country = newCountry;
2999
- }
3000
- }
3001
- }
3002
- isoCode = isoCode ? isoCode : this.country ? this.country.isoCode : null;
3003
- if (!this.phoneNumber || !isoCode) {
3004
- this.emitValueChange(null);
3005
- }
3006
- else {
3007
- const internationallNo = googleNumber
3008
- ? googleNumber.formatInternational()
3009
- : '';
3010
- const nationalNo = googleNumber
3011
- ? googleNumber.formatNational()
3012
- : '';
3013
- if (this.separateDialCode && internationallNo) {
3014
- this.phoneNumber = this.removeDialCode(internationallNo);
3015
- }
3016
- this.emitValueChange(internationallNo);
3017
- }
3018
- }
3019
- onNumberKeyDown(event) {
3020
- const allowedChars = /^[0-9\+\-\ ]/;
3021
- const allowedCtrlChars = /[axcv]/;
3022
- const allowedOtherKeys = [
3023
- 'ArrowLeft',
3024
- 'ArrowUp',
3025
- 'ArrowRight',
3026
- 'ArrowDown',
3027
- 'Home',
3028
- 'End',
3029
- 'Insert',
3030
- 'Delete',
3031
- 'Backspace',
3032
- 'Tab',
3033
- ];
3034
- const isCtrlKey = event.ctrlKey || event.metaKey;
3035
- if (!allowedChars.test(event.key) &&
3036
- !(isCtrlKey && allowedCtrlChars.test(event.key)) &&
3037
- !allowedOtherKeys.includes(event.key)) {
3038
- event.preventDefault();
3039
- }
3040
- }
3041
- filterCountries(text) {
3042
- return this.countries.filter((country) => {
3043
- return (country.name.toLowerCase().indexOf(text) !== -1 ||
3044
- country.name.toLowerCase().indexOf(text) !== -1 ||
3045
- country.dialCode.toString().toLowerCase().indexOf(text) !== -1);
3046
- });
3047
- }
3048
- getCountryIsoCode(countryCode, googleNumber) {
3049
- const rawNumber = googleNumber.values_[2].toString();
3050
- const countries = this.countries.filter((country) => country.dialCode === countryCode.toString());
3051
- const mainCountry = countries.find((country) => country.areaCodes === undefined);
3052
- const secondaryCountries = countries.filter((country) => country.areaCodes !== undefined);
3053
- let matchedCountry = mainCountry ? mainCountry.isoCode : undefined;
3054
- secondaryCountries.forEach((country) => {
3055
- country.areaCodes.forEach((areaCode) => {
3056
- if (rawNumber.startsWith(areaCode)) {
3057
- matchedCountry = country.isoCode;
3058
- }
3059
- });
3060
- });
3061
- return matchedCountry;
3062
- }
3063
- fetchAllCountries() {
3064
- this.countries = this.ionIntlTelInputService.getListOfCountries();
3065
- }
3066
- getCountryByIsoCode(isoCode) {
3067
- for (const country of this.countries) {
3068
- if (country.isoCode === isoCode) {
3069
- return country;
3070
- }
3071
- }
3072
- console.error('tel: unknown country iso code: ', isoCode);
3073
- return;
3074
- }
3075
- isNullOrWhiteSpace(value) {
3076
- if (value === null || value === undefined) {
3077
- return true;
3078
- }
3079
- if (typeof value === 'string' && value === '') {
3080
- return true;
3081
- }
3082
- return typeof value === 'object' && Object.keys(value).length === 0;
3083
- }
3084
- removeDialCode(phoneNumber) {
3085
- if (this.separateDialCode && phoneNumber) {
3086
- phoneNumber = phoneNumber.substr(phoneNumber.indexOf(' ') + 1);
3087
- }
3088
- return phoneNumber;
3089
- }
3090
- setCountry(country) {
3091
- this.country = country;
3092
- this.codeChange.emit(this.country);
3093
- }
3094
- setPreferredCountries() {
3095
- for (const preferedCountryIsoCode of this.preferredCountries) {
3096
- const country = this.getCountryByIsoCode(preferedCountryIsoCode);
3097
- country.priority = country ? 1 : country.priority;
3098
- }
3099
- this.countries.sort((a, b) => a.priority > b.priority ? -1 : a.priority < b.priority ? 1 : 0);
3100
- }
3101
- }
3102
- /** @nocollapse */ IonIntlTelInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputComponent, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: IonIntlTelInputService }, { token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Component });
3103
- /** @nocollapse */ IonIntlTelInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: IonIntlTelInputComponent, selector: "ion-intl-tel-input", inputs: { isEnabled: "isEnabled", autocomplete: "autocomplete", required: "required", defaultCountryiso: "defaultCountryiso", dialCodePrefix: "dialCodePrefix", enableAutoCountrySelect: "enableAutoCountrySelect", enablePlaceholder: "enablePlaceholder", fallbackPlaceholder: "fallbackPlaceholder", inputPlaceholder: "inputPlaceholder", inputLabel: "inputLabel", inputLabelPlacement: "inputLabelPlacement", usePatternPlaceholder: "usePatternPlaceholder", maxLength: "maxLength", modalTitle: "modalTitle", modalCssClass: "modalCssClass", modalSearchPlaceholder: "modalSearchPlaceholder", modalCloseText: "modalCloseText", modalCloseButtonSlot: "modalCloseButtonSlot", modalCanSearch: "modalCanSearch", modalShouldBackdropClose: "modalShouldBackdropClose", modalShouldFocusSearchbar: "modalShouldFocusSearchbar", modalSearchFailText: "modalSearchFailText", onlyCountries: "onlyCountries", preferredCountries: "preferredCountries", selectFirstCountry: "selectFirstCountry", separateDialCode: "separateDialCode" }, outputs: { numberChange: "numberChange", numberBlur: "numberBlur", numberFocus: "numberFocus", numberInput: "numberInput", codeChange: "codeChange", codeOpen: "codeOpen", codeClose: "codeClose", codeSelect: "codeSelect" }, host: { properties: { "class.ion-intl-tel-input": "this.cssClass", "class.ion-intl-tel-input-ios": "this.isIos", "class.ion-intl-tel-input-md": "this.isMD", "class.has-focus": "this.hasFocus", "class.ion-intl-tel-input-has-value": "this.hasValueCssClass", "class.ion-intl-tel-input-is-enabled": "this.isEnabled" } }, providers: [
3104
- {
3105
- provide: NG_VALUE_ACCESSOR,
3106
- useExisting: forwardRef((() => IonIntlTelInputComponent)),
3107
- multi: true,
3108
- },
3109
- ], viewQueries: [{ propertyName: "numberInputEl", first: true, predicate: ["numberInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-button\n fill=\"clear\"\n class=\"ion-intl-tel-input-btn\"\n [disabled] = \"disabled\"\n aria-label=\"country\"\n (click)=\"openModal()\"\n>\n <span class=\"ion-intl-tel-input-flag fi fi-{{country.flagClass}}\"></span><span class=\"ion-intl-tel-input-code\" *ngIf=\"separateDialCode\">{{dialCodePrefix}}{{country.dialCode}}</span>\n <ion-icon style=\"font-size:14px;opacity:.5;\" name=\"caret-down\"></ion-icon>\n</ion-button>\n<div class=\"ion-intl-tel-input-number\">\n <ion-input\n #numberInput\n [(ngModel)]=\"phoneNumber\"\n [autocomplete]=\"autocomplete\"\n [required]=\"required\"\n [disabled] = \"disabled\"\n [attr.maxLength]=\"maxLength\"\n type=\"tel\"\n (ionBlur)=\"onIonNumberBlur()\"\n (ionChange)=\"onIonNumberChange($event)\"\n (ionFocus)=\"onIonNumberFocus()\"\n (ionInput)=\"onIonNumberInput($event)\"\n (keydown)=\"onNumberKeyDown($event)\"\n (ngModelChange)=\"onNumberChange()\"\n placeholder=\"{{country | countryPlaceholder: inputPlaceholder:separateDialCode:fallbackPlaceholder:usePatternPlaceholder}}\" >\n </ion-input>\n</div>\n", styles: [":host{width:100%;display:flex;align-items:center}:host ion-button{color:var(--ion-color);height:100%;margin:0}:host ion-button::part(native){padding-inline-start:0;padding-inline-end:2px;margin:0;font-size:16px;font-weight:400}:host .fi{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "counter", "counterFormatter", "debounce", "disabled", "enterkeyhint", "errorText", "fill", "helperText", "inputmode", "label", "labelPlacement", "legacy", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "shape", "size", "spellcheck", "step", "type", "value"] }, { kind: "directive", type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { kind: "pipe", type: CountryPlaceholder, name: "countryPlaceholder" }] });
3110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputComponent, decorators: [{
3111
- type: Component,
3112
- args: [{ selector: 'ion-intl-tel-input', providers: [
3113
- {
3114
- provide: NG_VALUE_ACCESSOR,
3115
- useExisting: forwardRef((() => IonIntlTelInputComponent)),
3116
- multi: true,
3117
- },
3118
- ], template: "<ion-button\n fill=\"clear\"\n class=\"ion-intl-tel-input-btn\"\n [disabled] = \"disabled\"\n aria-label=\"country\"\n (click)=\"openModal()\"\n>\n <span class=\"ion-intl-tel-input-flag fi fi-{{country.flagClass}}\"></span><span class=\"ion-intl-tel-input-code\" *ngIf=\"separateDialCode\">{{dialCodePrefix}}{{country.dialCode}}</span>\n <ion-icon style=\"font-size:14px;opacity:.5;\" name=\"caret-down\"></ion-icon>\n</ion-button>\n<div class=\"ion-intl-tel-input-number\">\n <ion-input\n #numberInput\n [(ngModel)]=\"phoneNumber\"\n [autocomplete]=\"autocomplete\"\n [required]=\"required\"\n [disabled] = \"disabled\"\n [attr.maxLength]=\"maxLength\"\n type=\"tel\"\n (ionBlur)=\"onIonNumberBlur()\"\n (ionChange)=\"onIonNumberChange($event)\"\n (ionFocus)=\"onIonNumberFocus()\"\n (ionInput)=\"onIonNumberInput($event)\"\n (keydown)=\"onNumberKeyDown($event)\"\n (ngModelChange)=\"onNumberChange()\"\n placeholder=\"{{country | countryPlaceholder: inputPlaceholder:separateDialCode:fallbackPlaceholder:usePatternPlaceholder}}\" >\n </ion-input>\n</div>\n", styles: [":host{width:100%;display:flex;align-items:center}:host ion-button{color:var(--ion-color);height:100%;margin:0}:host ion-button::part(native){padding-inline-start:0;padding-inline-end:2px;margin:0;font-size:16px;font-weight:400}:host .fi{margin-right:5px}\n"] }]
3119
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Platform }, { type: IonIntlTelInputService }, { type: i1.ModalController }]; }, propDecorators: { cssClass: [{
3120
- type: HostBinding,
3121
- args: ['class.ion-intl-tel-input']
3122
- }], isIos: [{
3123
- type: HostBinding,
3124
- args: ['class.ion-intl-tel-input-ios']
3125
- }], isMD: [{
3126
- type: HostBinding,
3127
- args: ['class.ion-intl-tel-input-md']
3128
- }], hasFocus: [{
3129
- type: HostBinding,
3130
- args: ['class.has-focus']
3131
- }], hasValueCssClass: [{
3132
- type: HostBinding,
3133
- args: ['class.ion-intl-tel-input-has-value']
3134
- }], isEnabled: [{
3135
- type: HostBinding,
3136
- args: ['class.ion-intl-tel-input-is-enabled']
3137
- }, {
3138
- type: Input,
3139
- args: ['isEnabled']
3140
- }], autocomplete: [{
3141
- type: Input
3142
- }], required: [{
3143
- type: Input
3144
- }], defaultCountryiso: [{
3145
- type: Input
3146
- }], dialCodePrefix: [{
3147
- type: Input
3148
- }], enableAutoCountrySelect: [{
3149
- type: Input
3150
- }], enablePlaceholder: [{
3151
- type: Input
3152
- }], fallbackPlaceholder: [{
3153
- type: Input
3154
- }], inputPlaceholder: [{
3155
- type: Input
3156
- }], inputLabel: [{
3157
- type: Input
3158
- }], inputLabelPlacement: [{
3159
- type: Input
3160
- }], usePatternPlaceholder: [{
3161
- type: Input
3162
- }], maxLength: [{
3163
- type: Input
3164
- }], modalTitle: [{
3165
- type: Input
3166
- }], modalCssClass: [{
3167
- type: Input
3168
- }], modalSearchPlaceholder: [{
3169
- type: Input
3170
- }], modalCloseText: [{
3171
- type: Input
3172
- }], modalCloseButtonSlot: [{
3173
- type: Input
3174
- }], modalCanSearch: [{
3175
- type: Input
3176
- }], modalShouldBackdropClose: [{
3177
- type: Input
3178
- }], modalShouldFocusSearchbar: [{
3179
- type: Input
3180
- }], modalSearchFailText: [{
3181
- type: Input
3182
- }], onlyCountries: [{
3183
- type: Input
3184
- }], preferredCountries: [{
3185
- type: Input
3186
- }], selectFirstCountry: [{
3187
- type: Input
3188
- }], separateDialCode: [{
3189
- type: Input
3190
- }], numberChange: [{
3191
- type: Output
3192
- }], numberBlur: [{
3193
- type: Output
3194
- }], numberFocus: [{
3195
- type: Output
3196
- }], numberInput: [{
3197
- type: Output
3198
- }], codeChange: [{
3199
- type: Output
3200
- }], codeOpen: [{
3201
- type: Output
3202
- }], codeClose: [{
3203
- type: Output
3204
- }], codeSelect: [{
3205
- type: Output
3206
- }], numberInputEl: [{
3207
- type: ViewChild,
3208
- args: ['numberInput', { static: false }]
3209
- }] } });
3210
-
3211
- class IonIntlTelInputModule {
3212
- }
3213
- /** @nocollapse */ IonIntlTelInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3214
- /** @nocollapse */ IonIntlTelInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputModule, declarations: [CountryPlaceholder,
3215
- IonIntlTelInputValidatorDirective,
3216
- IonIntlTelInputComponent,
3217
- IonIntTelCodeComponent], imports: [CommonModule,
3218
- FormsModule,
3219
- IonicModule,
3220
- ScrollingModule], exports: [IonIntlTelInputComponent,
3221
- IonIntlTelInputValidatorDirective,
3222
- IonIntTelCodeComponent] });
3223
- /** @nocollapse */ IonIntlTelInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputModule, providers: [
3224
- IonIntlTelInputService
3225
- ], imports: [CommonModule,
3226
- FormsModule,
3227
- IonicModule,
3228
- ScrollingModule] });
3229
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputModule, decorators: [{
3230
- type: NgModule,
3231
- args: [{
3232
- declarations: [
3233
- CountryPlaceholder,
3234
- IonIntlTelInputValidatorDirective,
3235
- IonIntlTelInputComponent,
3236
- IonIntTelCodeComponent
3237
- ],
3238
- imports: [
3239
- CommonModule,
3240
- FormsModule,
3241
- IonicModule,
3242
- ScrollingModule
3243
- ],
3244
- exports: [
3245
- IonIntlTelInputComponent,
3246
- IonIntlTelInputValidatorDirective,
3247
- IonIntTelCodeComponent
3248
- ],
3249
- providers: [
3250
- IonIntlTelInputService
3251
- ],
3252
- }]
3253
- }] });
3254
-
3255
- /*
3256
- * Public API Surface of ion-intl-tel-input
3257
- */
3258
-
3259
- /**
3260
- * Generated bundle index. Do not edit.
3261
- */
3262
-
3263
- export { IonIntTelCodeComponent, IonIntlTelInputComponent, IonIntlTelInputModule, IonIntlTelInputService, IonIntlTelInputValidatorDirective, IonIntlTelInputValidators };
3264
- //# sourceMappingURL=crodriguezdominguez-ion-intl-tel-input.mjs.map