@crodriguezdominguez/ion-intl-tel-input 2.1.1 → 2.2.0
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.
- package/crodriguezdominguez-ion-intl-tel-input-2.2.0.tgz +0 -0
- package/esm2022/lib/ion-intl-tel-input/ion-intl-tel-code.component.mjs +86 -0
- package/esm2022/lib/ion-intl-tel-input/ion-intl-tel-input.component.mjs +758 -0
- package/{esm2020 → esm2022}/lib/ion-intl-tel-input.directive.mjs +12 -11
- package/esm2022/lib/ion-intl-tel-input.module.mjs +56 -0
- package/esm2022/lib/ion-intl-tel-input.service.mjs +20 -0
- package/esm2022/lib/pipes/country-placeholder.mjs +39 -0
- package/{fesm2020 → fesm2022}/crodriguezdominguez-ion-intl-tel-input.mjs +372 -356
- package/{fesm2020 → fesm2022}/crodriguezdominguez-ion-intl-tel-input.mjs.map +1 -1
- package/lib/ion-intl-tel-input/ion-intl-tel-code.component.d.ts +1 -1
- package/lib/ion-intl-tel-input/ion-intl-tel-input.component.d.ts +1 -1
- package/package.json +5 -11
- package/crodriguezdominguez-ion-intl-tel-input-2.1.1.tgz +0 -0
- package/esm2020/lib/ion-intl-tel-input/ion-intl-tel-code.component.mjs +0 -73
- package/esm2020/lib/ion-intl-tel-input/ion-intl-tel-input.component.mjs +0 -752
- package/esm2020/lib/ion-intl-tel-input.module.mjs +0 -55
- package/esm2020/lib/ion-intl-tel-input.service.mjs +0 -20
- package/esm2020/lib/pipes/country-placeholder.mjs +0 -38
- package/fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs +0 -3264
- package/fesm2015/crodriguezdominguez-ion-intl-tel-input.mjs.map +0 -1
- /package/{esm2020 → esm2022}/crodriguezdominguez-ion-intl-tel-input.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/data/countries.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/country.model.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/util/util.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
|
@@ -51,16 +51,16 @@ class IonIntlTelInputValidatorDirective {
|
|
|
51
51
|
validate(control) {
|
|
52
52
|
return IonIntlTelInputValidators.phone(control);
|
|
53
53
|
}
|
|
54
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
55
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.9", type: IonIntlTelInputValidatorDirective, selector: "[ionIntlTelInputValid]", providers: [
|
|
56
|
+
{
|
|
57
|
+
provide: NG_VALIDATORS,
|
|
58
|
+
useExisting: IonIntlTelInputValidatorDirective,
|
|
59
|
+
multi: true,
|
|
60
|
+
},
|
|
61
|
+
], ngImport: i0 });
|
|
54
62
|
}
|
|
55
|
-
|
|
56
|
-
/** @nocollapse */ IonIntlTelInputValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: IonIntlTelInputValidatorDirective, selector: "[ionIntlTelInputValid]", providers: [
|
|
57
|
-
{
|
|
58
|
-
provide: NG_VALIDATORS,
|
|
59
|
-
useExisting: IonIntlTelInputValidatorDirective,
|
|
60
|
-
multi: true,
|
|
61
|
-
},
|
|
62
|
-
], ngImport: i0 });
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputValidatorDirective, decorators: [{
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputValidatorDirective, decorators: [{
|
|
64
64
|
type: Directive,
|
|
65
65
|
args: [{
|
|
66
66
|
// tslint:disable-next-line: directive-selector
|
|
@@ -2339,16 +2339,15 @@ const countries = [
|
|
|
2339
2339
|
];
|
|
2340
2340
|
|
|
2341
2341
|
class IonIntlTelInputService {
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
}
|
|
2342
|
+
countryList = countries;
|
|
2343
|
+
constructor() { }
|
|
2345
2344
|
getListOfCountries() {
|
|
2346
2345
|
return this.countryList;
|
|
2347
2346
|
}
|
|
2347
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2348
|
+
/** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputService, providedIn: 'root' });
|
|
2348
2349
|
}
|
|
2349
|
-
|
|
2350
|
-
/** @nocollapse */ IonIntlTelInputService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputService, providedIn: 'root' });
|
|
2351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputService, decorators: [{
|
|
2350
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputService, decorators: [{
|
|
2352
2351
|
type: Injectable,
|
|
2353
2352
|
args: [{
|
|
2354
2353
|
providedIn: 'root'
|
|
@@ -2366,10 +2365,22 @@ const raf = (h) => {
|
|
|
2366
2365
|
};
|
|
2367
2366
|
|
|
2368
2367
|
class IonIntTelCodeComponent {
|
|
2368
|
+
modalCtrl;
|
|
2369
|
+
country;
|
|
2370
|
+
canSearch;
|
|
2371
|
+
closeButtonText = 'Close';
|
|
2372
|
+
closeButtonSlot = 'end';
|
|
2373
|
+
countries;
|
|
2374
|
+
searchFailText;
|
|
2375
|
+
searchPlaceholder;
|
|
2376
|
+
shouldFocusSearchbar;
|
|
2377
|
+
title;
|
|
2378
|
+
dialCode;
|
|
2379
|
+
sbar;
|
|
2380
|
+
allCountries;
|
|
2381
|
+
notFound;
|
|
2369
2382
|
constructor(modalCtrl) {
|
|
2370
2383
|
this.modalCtrl = modalCtrl;
|
|
2371
|
-
this.closeButtonText = 'Close';
|
|
2372
|
-
this.closeButtonSlot = 'end';
|
|
2373
2384
|
}
|
|
2374
2385
|
ngOnInit() {
|
|
2375
2386
|
this.allCountries = this.countries;
|
|
@@ -2401,10 +2412,10 @@ class IonIntTelCodeComponent {
|
|
|
2401
2412
|
closeModal() {
|
|
2402
2413
|
this.modalCtrl.dismiss(null);
|
|
2403
2414
|
}
|
|
2415
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntTelCodeComponent, deps: [{ token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Component });
|
|
2416
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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> {{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: ["alignment", "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", "name", "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"] }] });
|
|
2404
2417
|
}
|
|
2405
|
-
|
|
2406
|
-
/** @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> {{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"] }] });
|
|
2407
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntTelCodeComponent, decorators: [{
|
|
2418
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntTelCodeComponent, decorators: [{
|
|
2408
2419
|
type: Component,
|
|
2409
2420
|
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> {{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" }]
|
|
2410
2421
|
}], ctorParameters: function () { return [{ type: i1.ModalController }]; }, propDecorators: { country: [{
|
|
@@ -2458,10 +2469,10 @@ class CountryPlaceholder {
|
|
|
2458
2469
|
return fallbackPlaceholder;
|
|
2459
2470
|
}
|
|
2460
2471
|
}
|
|
2472
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CountryPlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
2473
|
+
/** @nocollapse */ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.9", ngImport: i0, type: CountryPlaceholder, name: "countryPlaceholder" });
|
|
2461
2474
|
}
|
|
2462
|
-
|
|
2463
|
-
/** @nocollapse */ CountryPlaceholder.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CountryPlaceholder, name: "countryPlaceholder" });
|
|
2464
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CountryPlaceholder, decorators: [{
|
|
2475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: CountryPlaceholder, decorators: [{
|
|
2465
2476
|
type: Pipe,
|
|
2466
2477
|
args: [{ name: 'countryPlaceholder' }]
|
|
2467
2478
|
}] });
|
|
@@ -2469,324 +2480,279 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
2469
2480
|
/**
|
|
2470
2481
|
* @ignore
|
|
2471
2482
|
*/
|
|
2472
|
-
/**
|
|
2473
|
-
* @author Azzam Asghar <azzam.asghar@interstellus.com>
|
|
2474
|
-
* @author Steve Drew <sdrew@waitwell.ca>
|
|
2475
|
-
*/
|
|
2476
2483
|
class IonIntlTelInputComponent {
|
|
2484
|
+
el;
|
|
2485
|
+
platform;
|
|
2486
|
+
ionIntlTelInputService;
|
|
2487
|
+
modalCtrl;
|
|
2488
|
+
cssClass = true;
|
|
2489
|
+
isIos;
|
|
2490
|
+
isMD;
|
|
2491
|
+
hasFocus;
|
|
2477
2492
|
get hasValueCssClass() {
|
|
2478
2493
|
return this.hasValue();
|
|
2479
2494
|
}
|
|
2480
2495
|
get isEnabled() {
|
|
2481
2496
|
return !this.disabled;
|
|
2482
2497
|
}
|
|
2498
|
+
/**
|
|
2499
|
+
* autocomplete, set to 'tel' if needed
|
|
2500
|
+
*
|
|
2501
|
+
* @default 'off'
|
|
2502
|
+
* @memberof IonIntlTelInputComponent
|
|
2503
|
+
*/
|
|
2504
|
+
autocomplete = 'off';
|
|
2505
|
+
/**
|
|
2506
|
+
* required, passed onto ion-input so we can be accessiblity compliant
|
|
2507
|
+
*
|
|
2508
|
+
* @default false
|
|
2509
|
+
* @memberof IonIntlTelInputComponent
|
|
2510
|
+
*/
|
|
2511
|
+
required = false;
|
|
2512
|
+
/**
|
|
2513
|
+
* Iso Code of default selected Country.
|
|
2514
|
+
* See more on.
|
|
2515
|
+
*
|
|
2516
|
+
* @default ''
|
|
2517
|
+
* @memberof IonIntlTelInputComponent
|
|
2518
|
+
*/
|
|
2519
|
+
defaultCountryiso = '';
|
|
2520
|
+
/**
|
|
2521
|
+
* Determines whether to use `00` or `+` as dial code prefix.
|
|
2522
|
+
* Available attributes are '+' | '00'.
|
|
2523
|
+
* See more on.
|
|
2524
|
+
*
|
|
2525
|
+
* @default +
|
|
2526
|
+
* @memberof IonIntlTelInputComponent
|
|
2527
|
+
*/
|
|
2528
|
+
dialCodePrefix = '+';
|
|
2529
|
+
/**
|
|
2530
|
+
* Determines whether to select automatic country based on user input.
|
|
2531
|
+
* See more on.
|
|
2532
|
+
*
|
|
2533
|
+
* @default true
|
|
2534
|
+
* @memberof IonIntlTelInputComponent
|
|
2535
|
+
*/
|
|
2536
|
+
enableAutoCountrySelect = true;
|
|
2537
|
+
/**
|
|
2538
|
+
* Determines whether an example number will be shown as a placeholder in input.
|
|
2539
|
+
* See more on.
|
|
2540
|
+
*
|
|
2541
|
+
* @default true
|
|
2542
|
+
* @memberof IonIntlTelInputComponent
|
|
2543
|
+
*/
|
|
2544
|
+
enablePlaceholder = true;
|
|
2545
|
+
/**
|
|
2546
|
+
* A fallaback placeholder to be used if no example number is found for a country.
|
|
2547
|
+
* See more on.
|
|
2548
|
+
*
|
|
2549
|
+
* @default ''
|
|
2550
|
+
* @memberof IonIntlTelInputComponent
|
|
2551
|
+
*/
|
|
2552
|
+
fallbackPlaceholder = '';
|
|
2553
|
+
/**
|
|
2554
|
+
* If a custom placeholder is needed for input.
|
|
2555
|
+
* If this property is set it will override `enablePlaceholder` and only this placeholder will be shown.
|
|
2556
|
+
* See more on.
|
|
2557
|
+
*
|
|
2558
|
+
* @default ''
|
|
2559
|
+
* @memberof IonIntlTelInputComponent
|
|
2560
|
+
*/
|
|
2561
|
+
inputPlaceholder = '';
|
|
2562
|
+
inputLabel = '';
|
|
2563
|
+
inputLabelPlacement = '';
|
|
2564
|
+
/**
|
|
2565
|
+
* Instead of an example phone number, use a x pattern. Such as xxx-xxx-xxxx, this will be obtained
|
|
2566
|
+
* based on the example number from the google phone lib.
|
|
2567
|
+
*
|
|
2568
|
+
* @default true
|
|
2569
|
+
* @memberof IonIntlTelInputComponent
|
|
2570
|
+
*/
|
|
2571
|
+
usePatternPlaceholder = true;
|
|
2572
|
+
/**
|
|
2573
|
+
* Maximum Length for input.
|
|
2574
|
+
* See more on.
|
|
2575
|
+
*
|
|
2576
|
+
* @default '15'
|
|
2577
|
+
* @memberof IonIntlTelInputComponent
|
|
2578
|
+
*/
|
|
2579
|
+
maxLength = '15';
|
|
2580
|
+
/**
|
|
2581
|
+
* Title of modal opened to select country dial code.
|
|
2582
|
+
* See more on.
|
|
2583
|
+
*
|
|
2584
|
+
* @default 'Select Country'
|
|
2585
|
+
* @memberof IonIntlTelInputComponent
|
|
2586
|
+
*/
|
|
2587
|
+
modalTitle = 'Select Country';
|
|
2588
|
+
/**
|
|
2589
|
+
* CSS class to attach to dial code selectionmodal.
|
|
2590
|
+
* See more on.
|
|
2591
|
+
*
|
|
2592
|
+
* @default 'ion-intl-tel-modal'
|
|
2593
|
+
* @memberof IonIntlTelInputComponent
|
|
2594
|
+
*/
|
|
2595
|
+
modalCssClass = 'ion-intl-tel-modal';
|
|
2596
|
+
/**
|
|
2597
|
+
* Placeholder for input in dial code selection modal.
|
|
2598
|
+
* See more on.
|
|
2599
|
+
*
|
|
2600
|
+
* @default 'Enter country name'
|
|
2601
|
+
* @memberof IonIntlTelInputComponent
|
|
2602
|
+
*/
|
|
2603
|
+
modalSearchPlaceholder = 'Enter country name';
|
|
2604
|
+
/**
|
|
2605
|
+
* Text for close button in dial code selection modal.
|
|
2606
|
+
* See more on.
|
|
2607
|
+
*
|
|
2608
|
+
* @default 'Close'
|
|
2609
|
+
* @memberof IonIntlTelInputComponent
|
|
2610
|
+
*/
|
|
2611
|
+
modalCloseText = 'Close';
|
|
2612
|
+
/**
|
|
2613
|
+
* Slot for close button in dial code selection modal. [Ionic slots](https://ionicframework.com/docs/api/item) are supported
|
|
2614
|
+
* See more on.
|
|
2615
|
+
*
|
|
2616
|
+
* @default 'end'
|
|
2617
|
+
* @memberof IonIntlTelInputComponent
|
|
2618
|
+
*/
|
|
2619
|
+
modalCloseButtonSlot = 'end';
|
|
2620
|
+
/**
|
|
2621
|
+
* Determines whether dial code selection modal should be searchable or not.
|
|
2622
|
+
* See more on.
|
|
2623
|
+
*
|
|
2624
|
+
* @default 'true'
|
|
2625
|
+
* @memberof IonIntlTelInputComponent
|
|
2626
|
+
*/
|
|
2627
|
+
modalCanSearch = true;
|
|
2628
|
+
/**
|
|
2629
|
+
* Determines whether dial code selection modal is closed on backdrop click.
|
|
2630
|
+
* See more on.
|
|
2631
|
+
*
|
|
2632
|
+
* @default 'true'
|
|
2633
|
+
* @memberof IonIntlTelInputComponent
|
|
2634
|
+
*/
|
|
2635
|
+
modalShouldBackdropClose = true;
|
|
2636
|
+
/**
|
|
2637
|
+
* Determines whether input should be focused when dial code selection modal is opened.
|
|
2638
|
+
* See more on.
|
|
2639
|
+
*
|
|
2640
|
+
* @default 'true'
|
|
2641
|
+
* @memberof IonIntlTelInputComponent
|
|
2642
|
+
*/
|
|
2643
|
+
modalShouldFocusSearchbar = true;
|
|
2644
|
+
/**
|
|
2645
|
+
* Message to show when no countries are found for search in dial code selection modal.
|
|
2646
|
+
* See more on.
|
|
2647
|
+
*
|
|
2648
|
+
* @default 'true'
|
|
2649
|
+
* @memberof IonIntlTelInputComponent
|
|
2650
|
+
*/
|
|
2651
|
+
modalSearchFailText = 'No countries found';
|
|
2652
|
+
/**
|
|
2653
|
+
* List of iso codes of manually selected countries as string, which will appear in the dropdown.
|
|
2654
|
+
* **Note**: `onlyCountries` should be a string array of country iso codes.
|
|
2655
|
+
* See more on.
|
|
2656
|
+
*
|
|
2657
|
+
* @default null
|
|
2658
|
+
* @memberof IonIntlTelInputComponent
|
|
2659
|
+
*/
|
|
2660
|
+
onlyCountries = [];
|
|
2661
|
+
/**
|
|
2662
|
+
* List of iso codesn as string of countries, which will appear at the top in dial code selection modal.
|
|
2663
|
+
* **Note**: `preferredCountries` should be a string array of country iso codes.
|
|
2664
|
+
* See more on.
|
|
2665
|
+
*
|
|
2666
|
+
* @default null
|
|
2667
|
+
* @memberof IonIntlTelInputComponent
|
|
2668
|
+
*/
|
|
2669
|
+
preferredCountries = [];
|
|
2670
|
+
/**
|
|
2671
|
+
* Determines whether first country should be selected in dial code select or not.
|
|
2672
|
+
* See more on.
|
|
2673
|
+
*
|
|
2674
|
+
* @default true
|
|
2675
|
+
* @memberof IonIntlTelInputComponent
|
|
2676
|
+
*/
|
|
2677
|
+
selectFirstCountry = true;
|
|
2678
|
+
/**
|
|
2679
|
+
* Determines whether to visually separate dialcode into the drop down element.
|
|
2680
|
+
* See more on.
|
|
2681
|
+
*
|
|
2682
|
+
* @default true
|
|
2683
|
+
* @memberof IonIntlTelInputComponent
|
|
2684
|
+
*/
|
|
2685
|
+
separateDialCode = true;
|
|
2686
|
+
/**
|
|
2687
|
+
* Fires when the Phone number Input is changed.
|
|
2688
|
+
* See more on.
|
|
2689
|
+
*
|
|
2690
|
+
* @memberof IonIntlTelInputComponent
|
|
2691
|
+
*/
|
|
2692
|
+
numberChange = new EventEmitter();
|
|
2693
|
+
/**
|
|
2694
|
+
* Fires when the Phone number Input is blurred.
|
|
2695
|
+
* See more on.
|
|
2696
|
+
*
|
|
2697
|
+
* @memberof IonIntlTelInputComponent
|
|
2698
|
+
*/
|
|
2699
|
+
numberBlur = new EventEmitter();
|
|
2700
|
+
/**
|
|
2701
|
+
* Fires when the Phone number Input is focused.
|
|
2702
|
+
* See more on.
|
|
2703
|
+
*
|
|
2704
|
+
* @memberof IonIntlTelInputComponent
|
|
2705
|
+
*/
|
|
2706
|
+
numberFocus = new EventEmitter();
|
|
2707
|
+
/**
|
|
2708
|
+
* Fires when the user is typing in Phone number Input.
|
|
2709
|
+
* See more on.
|
|
2710
|
+
*
|
|
2711
|
+
* @memberof IonIntlTelInputComponent
|
|
2712
|
+
*/
|
|
2713
|
+
numberInput = new EventEmitter();
|
|
2714
|
+
/**
|
|
2715
|
+
* Fires when the dial code selection is changed.
|
|
2716
|
+
* See more on.
|
|
2717
|
+
*
|
|
2718
|
+
* @memberof IonIntlTelInputComponent
|
|
2719
|
+
*/
|
|
2720
|
+
codeChange = new EventEmitter();
|
|
2721
|
+
/**
|
|
2722
|
+
* Fires when the dial code selection modal is opened.
|
|
2723
|
+
* See more on.
|
|
2724
|
+
*
|
|
2725
|
+
* @memberof IonIntlTelInputComponent
|
|
2726
|
+
*/
|
|
2727
|
+
codeOpen = new EventEmitter();
|
|
2728
|
+
/**
|
|
2729
|
+
* Fires when the dial code selection modal is closed.
|
|
2730
|
+
* See more on.
|
|
2731
|
+
*
|
|
2732
|
+
* @memberof IonIntlTelInputComponent
|
|
2733
|
+
*/
|
|
2734
|
+
codeClose = new EventEmitter();
|
|
2735
|
+
/**
|
|
2736
|
+
* Fires when a dial code is selected in dial code selection modal.
|
|
2737
|
+
* See more on.
|
|
2738
|
+
*
|
|
2739
|
+
* @memberof IonIntlTelInputComponent
|
|
2740
|
+
*/
|
|
2741
|
+
codeSelect = new EventEmitter();
|
|
2742
|
+
numberInputEl;
|
|
2743
|
+
// tslint:disable-next-line: variable-name
|
|
2744
|
+
_value = null;
|
|
2745
|
+
country;
|
|
2746
|
+
phoneNumber = '';
|
|
2747
|
+
countries = [];
|
|
2748
|
+
disabled = false;
|
|
2749
|
+
onTouched = () => { };
|
|
2750
|
+
propagateChange = (_) => { };
|
|
2483
2751
|
constructor(el, platform, ionIntlTelInputService, modalCtrl) {
|
|
2484
2752
|
this.el = el;
|
|
2485
2753
|
this.platform = platform;
|
|
2486
2754
|
this.ionIntlTelInputService = ionIntlTelInputService;
|
|
2487
2755
|
this.modalCtrl = modalCtrl;
|
|
2488
|
-
this.cssClass = true;
|
|
2489
|
-
/**
|
|
2490
|
-
* autocomplete, set to 'tel' if needed
|
|
2491
|
-
*
|
|
2492
|
-
* @default 'off'
|
|
2493
|
-
* @memberof IonIntlTelInputComponent
|
|
2494
|
-
*/
|
|
2495
|
-
this.autocomplete = 'off';
|
|
2496
|
-
/**
|
|
2497
|
-
* required, passed onto ion-input so we can be accessiblity compliant
|
|
2498
|
-
*
|
|
2499
|
-
* @default false
|
|
2500
|
-
* @memberof IonIntlTelInputComponent
|
|
2501
|
-
*/
|
|
2502
|
-
this.required = false;
|
|
2503
|
-
/**
|
|
2504
|
-
* Iso Code of default selected Country.
|
|
2505
|
-
* See more on.
|
|
2506
|
-
*
|
|
2507
|
-
* @default ''
|
|
2508
|
-
* @memberof IonIntlTelInputComponent
|
|
2509
|
-
*/
|
|
2510
|
-
this.defaultCountryiso = '';
|
|
2511
|
-
/**
|
|
2512
|
-
* Determines whether to use `00` or `+` as dial code prefix.
|
|
2513
|
-
* Available attributes are '+' | '00'.
|
|
2514
|
-
* See more on.
|
|
2515
|
-
*
|
|
2516
|
-
* @default +
|
|
2517
|
-
* @memberof IonIntlTelInputComponent
|
|
2518
|
-
*/
|
|
2519
|
-
this.dialCodePrefix = '+';
|
|
2520
|
-
/**
|
|
2521
|
-
* Determines whether to select automatic country based on user input.
|
|
2522
|
-
* See more on.
|
|
2523
|
-
*
|
|
2524
|
-
* @default true
|
|
2525
|
-
* @memberof IonIntlTelInputComponent
|
|
2526
|
-
*/
|
|
2527
|
-
this.enableAutoCountrySelect = true;
|
|
2528
|
-
/**
|
|
2529
|
-
* Determines whether an example number will be shown as a placeholder in input.
|
|
2530
|
-
* See more on.
|
|
2531
|
-
*
|
|
2532
|
-
* @default true
|
|
2533
|
-
* @memberof IonIntlTelInputComponent
|
|
2534
|
-
*/
|
|
2535
|
-
this.enablePlaceholder = true;
|
|
2536
|
-
/**
|
|
2537
|
-
* A fallaback placeholder to be used if no example number is found for a country.
|
|
2538
|
-
* See more on.
|
|
2539
|
-
*
|
|
2540
|
-
* @default ''
|
|
2541
|
-
* @memberof IonIntlTelInputComponent
|
|
2542
|
-
*/
|
|
2543
|
-
this.fallbackPlaceholder = '';
|
|
2544
|
-
/**
|
|
2545
|
-
* If a custom placeholder is needed for input.
|
|
2546
|
-
* If this property is set it will override `enablePlaceholder` and only this placeholder will be shown.
|
|
2547
|
-
* See more on.
|
|
2548
|
-
*
|
|
2549
|
-
* @default ''
|
|
2550
|
-
* @memberof IonIntlTelInputComponent
|
|
2551
|
-
*/
|
|
2552
|
-
this.inputPlaceholder = '';
|
|
2553
|
-
this.inputLabel = '';
|
|
2554
|
-
this.inputLabelPlacement = '';
|
|
2555
|
-
/**
|
|
2556
|
-
* Instead of an example phone number, use a x pattern. Such as xxx-xxx-xxxx, this will be obtained
|
|
2557
|
-
* based on the example number from the google phone lib.
|
|
2558
|
-
*
|
|
2559
|
-
* @default true
|
|
2560
|
-
* @memberof IonIntlTelInputComponent
|
|
2561
|
-
*/
|
|
2562
|
-
this.usePatternPlaceholder = true;
|
|
2563
|
-
/**
|
|
2564
|
-
* Maximum Length for input.
|
|
2565
|
-
* See more on.
|
|
2566
|
-
*
|
|
2567
|
-
* @default '15'
|
|
2568
|
-
* @memberof IonIntlTelInputComponent
|
|
2569
|
-
*/
|
|
2570
|
-
this.maxLength = '15';
|
|
2571
|
-
/**
|
|
2572
|
-
* Title of modal opened to select country dial code.
|
|
2573
|
-
* See more on.
|
|
2574
|
-
*
|
|
2575
|
-
* @default 'Select Country'
|
|
2576
|
-
* @memberof IonIntlTelInputComponent
|
|
2577
|
-
*/
|
|
2578
|
-
this.modalTitle = 'Select Country';
|
|
2579
|
-
/**
|
|
2580
|
-
* CSS class to attach to dial code selectionmodal.
|
|
2581
|
-
* See more on.
|
|
2582
|
-
*
|
|
2583
|
-
* @default 'ion-intl-tel-modal'
|
|
2584
|
-
* @memberof IonIntlTelInputComponent
|
|
2585
|
-
*/
|
|
2586
|
-
this.modalCssClass = 'ion-intl-tel-modal';
|
|
2587
|
-
/**
|
|
2588
|
-
* Placeholder for input in dial code selection modal.
|
|
2589
|
-
* See more on.
|
|
2590
|
-
*
|
|
2591
|
-
* @default 'Enter country name'
|
|
2592
|
-
* @memberof IonIntlTelInputComponent
|
|
2593
|
-
*/
|
|
2594
|
-
this.modalSearchPlaceholder = 'Enter country name';
|
|
2595
|
-
/**
|
|
2596
|
-
* Text for close button in dial code selection modal.
|
|
2597
|
-
* See more on.
|
|
2598
|
-
*
|
|
2599
|
-
* @default 'Close'
|
|
2600
|
-
* @memberof IonIntlTelInputComponent
|
|
2601
|
-
*/
|
|
2602
|
-
this.modalCloseText = 'Close';
|
|
2603
|
-
/**
|
|
2604
|
-
* Slot for close button in dial code selection modal. [Ionic slots](https://ionicframework.com/docs/api/item) are supported
|
|
2605
|
-
* See more on.
|
|
2606
|
-
*
|
|
2607
|
-
* @default 'end'
|
|
2608
|
-
* @memberof IonIntlTelInputComponent
|
|
2609
|
-
*/
|
|
2610
|
-
this.modalCloseButtonSlot = 'end';
|
|
2611
|
-
/**
|
|
2612
|
-
* Determines whether dial code selection modal should be searchable or not.
|
|
2613
|
-
* See more on.
|
|
2614
|
-
*
|
|
2615
|
-
* @default 'true'
|
|
2616
|
-
* @memberof IonIntlTelInputComponent
|
|
2617
|
-
*/
|
|
2618
|
-
this.modalCanSearch = true;
|
|
2619
|
-
/**
|
|
2620
|
-
* Determines whether dial code selection modal is closed on backdrop click.
|
|
2621
|
-
* See more on.
|
|
2622
|
-
*
|
|
2623
|
-
* @default 'true'
|
|
2624
|
-
* @memberof IonIntlTelInputComponent
|
|
2625
|
-
*/
|
|
2626
|
-
this.modalShouldBackdropClose = true;
|
|
2627
|
-
/**
|
|
2628
|
-
* Determines whether input should be focused when dial code selection modal is opened.
|
|
2629
|
-
* See more on.
|
|
2630
|
-
*
|
|
2631
|
-
* @default 'true'
|
|
2632
|
-
* @memberof IonIntlTelInputComponent
|
|
2633
|
-
*/
|
|
2634
|
-
this.modalShouldFocusSearchbar = true;
|
|
2635
|
-
/**
|
|
2636
|
-
* Message to show when no countries are found for search in dial code selection modal.
|
|
2637
|
-
* See more on.
|
|
2638
|
-
*
|
|
2639
|
-
* @default 'true'
|
|
2640
|
-
* @memberof IonIntlTelInputComponent
|
|
2641
|
-
*/
|
|
2642
|
-
this.modalSearchFailText = 'No countries found';
|
|
2643
|
-
/**
|
|
2644
|
-
* List of iso codes of manually selected countries as string, which will appear in the dropdown.
|
|
2645
|
-
* **Note**: `onlyCountries` should be a string array of country iso codes.
|
|
2646
|
-
* See more on.
|
|
2647
|
-
*
|
|
2648
|
-
* @default null
|
|
2649
|
-
* @memberof IonIntlTelInputComponent
|
|
2650
|
-
*/
|
|
2651
|
-
this.onlyCountries = [];
|
|
2652
|
-
/**
|
|
2653
|
-
* List of iso codesn as string of countries, which will appear at the top in dial code selection modal.
|
|
2654
|
-
* **Note**: `preferredCountries` should be a string array of country iso codes.
|
|
2655
|
-
* See more on.
|
|
2656
|
-
*
|
|
2657
|
-
* @default null
|
|
2658
|
-
* @memberof IonIntlTelInputComponent
|
|
2659
|
-
*/
|
|
2660
|
-
this.preferredCountries = [];
|
|
2661
|
-
/**
|
|
2662
|
-
* Determines whether first country should be selected in dial code select or not.
|
|
2663
|
-
* See more on.
|
|
2664
|
-
*
|
|
2665
|
-
* @default true
|
|
2666
|
-
* @memberof IonIntlTelInputComponent
|
|
2667
|
-
*/
|
|
2668
|
-
this.selectFirstCountry = true;
|
|
2669
|
-
/**
|
|
2670
|
-
* Determines whether to visually separate dialcode into the drop down element.
|
|
2671
|
-
* See more on.
|
|
2672
|
-
*
|
|
2673
|
-
* @default true
|
|
2674
|
-
* @memberof IonIntlTelInputComponent
|
|
2675
|
-
*/
|
|
2676
|
-
this.separateDialCode = true;
|
|
2677
|
-
/**
|
|
2678
|
-
* Fires when the Phone number Input is changed.
|
|
2679
|
-
* See more on.
|
|
2680
|
-
*
|
|
2681
|
-
* @memberof IonIntlTelInputComponent
|
|
2682
|
-
*/
|
|
2683
|
-
this.numberChange = new EventEmitter();
|
|
2684
|
-
/**
|
|
2685
|
-
* Fires when the Phone number Input is blurred.
|
|
2686
|
-
* See more on.
|
|
2687
|
-
*
|
|
2688
|
-
* @memberof IonIntlTelInputComponent
|
|
2689
|
-
*/
|
|
2690
|
-
this.numberBlur = new EventEmitter();
|
|
2691
|
-
/**
|
|
2692
|
-
* Fires when the Phone number Input is focused.
|
|
2693
|
-
* See more on.
|
|
2694
|
-
*
|
|
2695
|
-
* @memberof IonIntlTelInputComponent
|
|
2696
|
-
*/
|
|
2697
|
-
this.numberFocus = new EventEmitter();
|
|
2698
|
-
/**
|
|
2699
|
-
* Fires when the user is typing in Phone number Input.
|
|
2700
|
-
* See more on.
|
|
2701
|
-
*
|
|
2702
|
-
* @memberof IonIntlTelInputComponent
|
|
2703
|
-
*/
|
|
2704
|
-
this.numberInput = new EventEmitter();
|
|
2705
|
-
/**
|
|
2706
|
-
* Fires when the dial code selection is changed.
|
|
2707
|
-
* See more on.
|
|
2708
|
-
*
|
|
2709
|
-
* @memberof IonIntlTelInputComponent
|
|
2710
|
-
*/
|
|
2711
|
-
this.codeChange = new EventEmitter();
|
|
2712
|
-
/**
|
|
2713
|
-
* Fires when the dial code selection modal is opened.
|
|
2714
|
-
* See more on.
|
|
2715
|
-
*
|
|
2716
|
-
* @memberof IonIntlTelInputComponent
|
|
2717
|
-
*/
|
|
2718
|
-
this.codeOpen = new EventEmitter();
|
|
2719
|
-
/**
|
|
2720
|
-
* Fires when the dial code selection modal is closed.
|
|
2721
|
-
* See more on.
|
|
2722
|
-
*
|
|
2723
|
-
* @memberof IonIntlTelInputComponent
|
|
2724
|
-
*/
|
|
2725
|
-
this.codeClose = new EventEmitter();
|
|
2726
|
-
/**
|
|
2727
|
-
* Fires when a dial code is selected in dial code selection modal.
|
|
2728
|
-
* See more on.
|
|
2729
|
-
*
|
|
2730
|
-
* @memberof IonIntlTelInputComponent
|
|
2731
|
-
*/
|
|
2732
|
-
this.codeSelect = new EventEmitter();
|
|
2733
|
-
// tslint:disable-next-line: variable-name
|
|
2734
|
-
this._value = null;
|
|
2735
|
-
this.phoneNumber = '';
|
|
2736
|
-
this.countries = [];
|
|
2737
|
-
this.disabled = false;
|
|
2738
|
-
this.onTouched = () => { };
|
|
2739
|
-
this.propagateChange = (_) => { };
|
|
2740
|
-
this.startsWith = (input, search) => {
|
|
2741
|
-
return input.substr(0, search.length) === search;
|
|
2742
|
-
};
|
|
2743
|
-
this.getClasses = (element) => {
|
|
2744
|
-
const classList = element.classList;
|
|
2745
|
-
const classes = [];
|
|
2746
|
-
for (let i = 0; i < classList.length; i++) {
|
|
2747
|
-
const item = classList.item(i);
|
|
2748
|
-
if (item !== null && this.startsWith(item, 'ng-')) {
|
|
2749
|
-
classes.push(`ion-${item.substr(3)}`);
|
|
2750
|
-
}
|
|
2751
|
-
}
|
|
2752
|
-
return classes;
|
|
2753
|
-
};
|
|
2754
|
-
this.setClasses = (element, classes) => {
|
|
2755
|
-
const classList = element.classList;
|
|
2756
|
-
[
|
|
2757
|
-
'ion-valid',
|
|
2758
|
-
'ion-invalid',
|
|
2759
|
-
'ion-touched',
|
|
2760
|
-
'ion-untouched',
|
|
2761
|
-
'ion-dirty',
|
|
2762
|
-
'ion-pristine',
|
|
2763
|
-
].forEach((c) => classList.remove(c));
|
|
2764
|
-
classes.forEach((c) => classList.add(c));
|
|
2765
|
-
};
|
|
2766
|
-
this.setIonicClasses = (element) => {
|
|
2767
|
-
raf(() => {
|
|
2768
|
-
const input = element.nativeElement;
|
|
2769
|
-
const classes = this.getClasses(input);
|
|
2770
|
-
this.setClasses(input, classes);
|
|
2771
|
-
const item = input.closest('ion-item');
|
|
2772
|
-
if (item) {
|
|
2773
|
-
this.setClasses(item, classes);
|
|
2774
|
-
}
|
|
2775
|
-
});
|
|
2776
|
-
};
|
|
2777
|
-
this.setItemClass = (element, className, addClass) => {
|
|
2778
|
-
const input = element.nativeElement;
|
|
2779
|
-
const item = input.closest('ion-item');
|
|
2780
|
-
if (item) {
|
|
2781
|
-
const classList = item.classList;
|
|
2782
|
-
if (addClass) {
|
|
2783
|
-
classList.add(className);
|
|
2784
|
-
}
|
|
2785
|
-
else {
|
|
2786
|
-
classList.remove(className);
|
|
2787
|
-
}
|
|
2788
|
-
}
|
|
2789
|
-
};
|
|
2790
2756
|
}
|
|
2791
2757
|
get value() {
|
|
2792
2758
|
return this._value;
|
|
@@ -3095,16 +3061,66 @@ class IonIntlTelInputComponent {
|
|
|
3095
3061
|
}
|
|
3096
3062
|
this.countries.sort((a, b) => a.priority > b.priority ? -1 : a.priority < b.priority ? 1 : 0);
|
|
3097
3063
|
}
|
|
3064
|
+
startsWith = (input, search) => {
|
|
3065
|
+
return input.substr(0, search.length) === search;
|
|
3066
|
+
};
|
|
3067
|
+
getClasses = (element) => {
|
|
3068
|
+
const classList = element.classList;
|
|
3069
|
+
const classes = [];
|
|
3070
|
+
for (let i = 0; i < classList.length; i++) {
|
|
3071
|
+
const item = classList.item(i);
|
|
3072
|
+
if (item !== null && this.startsWith(item, 'ng-')) {
|
|
3073
|
+
classes.push(`ion-${item.substr(3)}`);
|
|
3074
|
+
}
|
|
3075
|
+
}
|
|
3076
|
+
return classes;
|
|
3077
|
+
};
|
|
3078
|
+
setClasses = (element, classes) => {
|
|
3079
|
+
const classList = element.classList;
|
|
3080
|
+
[
|
|
3081
|
+
'ion-valid',
|
|
3082
|
+
'ion-invalid',
|
|
3083
|
+
'ion-touched',
|
|
3084
|
+
'ion-untouched',
|
|
3085
|
+
'ion-dirty',
|
|
3086
|
+
'ion-pristine',
|
|
3087
|
+
].forEach((c) => classList.remove(c));
|
|
3088
|
+
classes.forEach((c) => classList.add(c));
|
|
3089
|
+
};
|
|
3090
|
+
setIonicClasses = (element) => {
|
|
3091
|
+
raf(() => {
|
|
3092
|
+
const input = element.nativeElement;
|
|
3093
|
+
const classes = this.getClasses(input);
|
|
3094
|
+
this.setClasses(input, classes);
|
|
3095
|
+
const item = input.closest('ion-item');
|
|
3096
|
+
if (item) {
|
|
3097
|
+
this.setClasses(item, classes);
|
|
3098
|
+
}
|
|
3099
|
+
});
|
|
3100
|
+
};
|
|
3101
|
+
setItemClass = (element, className, addClass) => {
|
|
3102
|
+
const input = element.nativeElement;
|
|
3103
|
+
const item = input.closest('ion-item');
|
|
3104
|
+
if (item) {
|
|
3105
|
+
const classList = item.classList;
|
|
3106
|
+
if (addClass) {
|
|
3107
|
+
classList.add(className);
|
|
3108
|
+
}
|
|
3109
|
+
else {
|
|
3110
|
+
classList.remove(className);
|
|
3111
|
+
}
|
|
3112
|
+
}
|
|
3113
|
+
};
|
|
3114
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputComponent, deps: [{ token: i0.ElementRef }, { token: i1.Platform }, { token: IonIntlTelInputService }, { token: i1.ModalController }], target: i0.ɵɵFactoryTarget.Component });
|
|
3115
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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: [
|
|
3116
|
+
{
|
|
3117
|
+
provide: NG_VALUE_ACCESSOR,
|
|
3118
|
+
useExisting: forwardRef((() => IonIntlTelInputComponent)),
|
|
3119
|
+
multi: true,
|
|
3120
|
+
},
|
|
3121
|
+
], 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" }] });
|
|
3098
3122
|
}
|
|
3099
|
-
|
|
3100
|
-
/** @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: [
|
|
3101
|
-
{
|
|
3102
|
-
provide: NG_VALUE_ACCESSOR,
|
|
3103
|
-
useExisting: forwardRef((() => IonIntlTelInputComponent)),
|
|
3104
|
-
multi: true,
|
|
3105
|
-
},
|
|
3106
|
-
], viewQueries: [{ propertyName: "numberInputEl", first: true, predicate: ["numberInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<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 [labelPlacement]=\"inputLabelPlacement\"\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 <div slot=\"label\">\n {{inputLabel}}\n \n <ion-button (click)=\"openModal()\"\n fill=\"clear\"\n class=\"ion-intl-tel-input-btn\"\n [disabled] = \"disabled\"\n aria-label=\"country\">\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>\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" }] });
|
|
3107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputComponent, decorators: [{
|
|
3123
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputComponent, decorators: [{
|
|
3108
3124
|
type: Component,
|
|
3109
3125
|
args: [{ selector: 'ion-intl-tel-input', providers: [
|
|
3110
3126
|
{
|
|
@@ -3112,7 +3128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
3112
3128
|
useExisting: forwardRef((() => IonIntlTelInputComponent)),
|
|
3113
3129
|
multi: true,
|
|
3114
3130
|
},
|
|
3115
|
-
], template: "<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
|
|
3131
|
+
], 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"] }]
|
|
3116
3132
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Platform }, { type: IonIntlTelInputService }, { type: i1.ModalController }]; }, propDecorators: { cssClass: [{
|
|
3117
3133
|
type: HostBinding,
|
|
3118
3134
|
args: ['class.ion-intl-tel-input']
|
|
@@ -3206,24 +3222,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
3206
3222
|
}] } });
|
|
3207
3223
|
|
|
3208
3224
|
class IonIntlTelInputModule {
|
|
3225
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3226
|
+
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputModule, declarations: [CountryPlaceholder,
|
|
3227
|
+
IonIntlTelInputValidatorDirective,
|
|
3228
|
+
IonIntlTelInputComponent,
|
|
3229
|
+
IonIntTelCodeComponent], imports: [CommonModule,
|
|
3230
|
+
FormsModule,
|
|
3231
|
+
IonicModule,
|
|
3232
|
+
ScrollingModule], exports: [IonIntlTelInputComponent,
|
|
3233
|
+
IonIntlTelInputValidatorDirective,
|
|
3234
|
+
IonIntTelCodeComponent] });
|
|
3235
|
+
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputModule, providers: [
|
|
3236
|
+
IonIntlTelInputService
|
|
3237
|
+
], imports: [CommonModule,
|
|
3238
|
+
FormsModule,
|
|
3239
|
+
IonicModule,
|
|
3240
|
+
ScrollingModule] });
|
|
3209
3241
|
}
|
|
3210
|
-
|
|
3211
|
-
/** @nocollapse */ IonIntlTelInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputModule, declarations: [CountryPlaceholder,
|
|
3212
|
-
IonIntlTelInputValidatorDirective,
|
|
3213
|
-
IonIntlTelInputComponent,
|
|
3214
|
-
IonIntTelCodeComponent], imports: [CommonModule,
|
|
3215
|
-
FormsModule,
|
|
3216
|
-
IonicModule,
|
|
3217
|
-
ScrollingModule], exports: [IonIntlTelInputComponent,
|
|
3218
|
-
IonIntlTelInputValidatorDirective,
|
|
3219
|
-
IonIntTelCodeComponent] });
|
|
3220
|
-
/** @nocollapse */ IonIntlTelInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputModule, providers: [
|
|
3221
|
-
IonIntlTelInputService
|
|
3222
|
-
], imports: [CommonModule,
|
|
3223
|
-
FormsModule,
|
|
3224
|
-
IonicModule,
|
|
3225
|
-
ScrollingModule] });
|
|
3226
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: IonIntlTelInputModule, decorators: [{
|
|
3242
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: IonIntlTelInputModule, decorators: [{
|
|
3227
3243
|
type: NgModule,
|
|
3228
3244
|
args: [{
|
|
3229
3245
|
declarations: [
|