ngx-mat-input-tel 20.6.0 → 20.7.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.
|
@@ -2,7 +2,7 @@ import * as i1 from '@angular/cdk/a11y';
|
|
|
2
2
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
3
|
import { NgClass, KeyValuePipe } from '@angular/common';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { Input, ChangeDetectionStrategy, Component, EventEmitter, signal, computed, model, booleanAttribute, Output, HostBinding, ViewChild, Optional, Self } from '@angular/core';
|
|
5
|
+
import { Input, ChangeDetectionStrategy, Component, Pipe, EventEmitter, signal, computed, model, booleanAttribute, Output, HostBinding, ViewChild, Optional, Self } from '@angular/core';
|
|
6
6
|
import * as i2 from '@angular/forms';
|
|
7
7
|
import { FormsModule, ReactiveFormsModule, NG_VALIDATORS } from '@angular/forms';
|
|
8
8
|
import * as i3 from '@angular/material/core';
|
|
@@ -875,6 +875,22 @@ const ngxMatInputTelValidator = (control) => {
|
|
|
875
875
|
return null;
|
|
876
876
|
};
|
|
877
877
|
|
|
878
|
+
class RemoveIsoPipe {
|
|
879
|
+
transform(country) {
|
|
880
|
+
if (!country?.placeholder || !country?.dialCode)
|
|
881
|
+
return country?.placeholder || '';
|
|
882
|
+
return country.placeholder.replace(`+${country.dialCode}`, '');
|
|
883
|
+
}
|
|
884
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RemoveIsoPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
885
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.7", ngImport: i0, type: RemoveIsoPipe, isStandalone: true, name: "removeIso" });
|
|
886
|
+
}
|
|
887
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RemoveIsoPipe, decorators: [{
|
|
888
|
+
type: Pipe,
|
|
889
|
+
args: [{
|
|
890
|
+
name: 'removeIso',
|
|
891
|
+
}]
|
|
892
|
+
}] });
|
|
893
|
+
|
|
878
894
|
class ngxMatInputTelBase {
|
|
879
895
|
_defaultErrorStateMatcher;
|
|
880
896
|
_parentForm;
|
|
@@ -1203,7 +1219,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
1203
1219
|
return;
|
|
1204
1220
|
this.$selectedCountry.set(this.getCountry(countryCode));
|
|
1205
1221
|
if (this.$selectedCountry().dialCode &&
|
|
1206
|
-
!this.
|
|
1222
|
+
!this._preferredCountries.includes(this.$selectedCountry().iso2)) {
|
|
1207
1223
|
this.$preferredCountriesInDropDown.update((values) => {
|
|
1208
1224
|
return { ...values, ...{ [this.$selectedCountry().iso2]: this.$selectedCountry() } };
|
|
1209
1225
|
});
|
|
@@ -1269,7 +1285,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
1269
1285
|
useValue: ngxMatInputTelValidator,
|
|
1270
1286
|
multi: true,
|
|
1271
1287
|
},
|
|
1272
|
-
], viewQueries: [{ propertyName: "matMenu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "menuSearchInput", first: true, predicate: ["menuSearchInput"], descendants: true }, { propertyName: "focusable", first: true, predicate: ["focusable"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ngx-mat-input-tel-container\">\n <button\n type=\"button\"\n matRipple\n [matMenuTriggerFor]=\"menu\"\n class=\"country-selector\"\n [disabled]=\"disabled\"\n (menuOpened)=\"onMenuOpened()\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ngx-mat-input-tel-flag\n class=\"main-flag\"\n [country]=\"{\n iso2: $selectedCountry().iso2,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent>\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"$searchCriteria\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n style=\"\n width: calc(100% - 4px);\n height: 34px;\n border-top: none;\n border-right: none;\n border-left: none;\n border-image: initial;\n border-bottom: 1px solid rgb(221, 221, 221);\n font-size: 14px;\n padding: 20px 10px 24px;\n box-sizing: border-box;\n background: transparent;\n margin: 2px;\n \"\n />\n }\n @for (\n country of $selectablePreferredCountriesInDropDown() | keyvalue: null;\n track country.key\n ) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($showDivider()) {\n <mat-divider></mat-divider>\n }\n @for (country of $selectableCountries() | keyvalue: null; track country.key) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n </ng-template>\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"tel\"\n name=\"tel\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"cssClass\"\n (blur)=\"onTouched()\"\n (keypress)=\"onInputKeyPress($event)\"\n [(ngModel)]=\"phoneNumber\"\n (ngModelChange)=\"onPhoneNumberChange()\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [placeholder]=\"placeholder || $selectedCountry()
|
|
1288
|
+
], viewQueries: [{ propertyName: "matMenu", first: true, predicate: MatMenu, descendants: true }, { propertyName: "menuSearchInput", first: true, predicate: ["menuSearchInput"], descendants: true }, { propertyName: "focusable", first: true, predicate: ["focusable"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ngx-mat-input-tel-container\">\n <button\n type=\"button\"\n matRipple\n [matMenuTriggerFor]=\"menu\"\n class=\"country-selector\"\n [disabled]=\"disabled\"\n (menuOpened)=\"onMenuOpened()\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ngx-mat-input-tel-flag\n class=\"main-flag\"\n [country]=\"{\n iso2: $selectedCountry().iso2,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent>\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"$searchCriteria\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n style=\"\n width: calc(100% - 4px);\n height: 34px;\n border-top: none;\n border-right: none;\n border-left: none;\n border-image: initial;\n border-bottom: 1px solid rgb(221, 221, 221);\n font-size: 14px;\n padding: 20px 10px 24px;\n box-sizing: border-box;\n background: transparent;\n margin: 2px;\n \"\n />\n }\n @for (\n country of $selectablePreferredCountriesInDropDown() | keyvalue: null;\n track country.key\n ) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($showDivider()) {\n <mat-divider></mat-divider>\n }\n @for (country of $selectableCountries() | keyvalue: null; track country.key) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n </ng-template>\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"tel\"\n name=\"tel\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"cssClass\"\n (blur)=\"onTouched()\"\n (keypress)=\"onInputKeyPress($event)\"\n [(ngModel)]=\"phoneNumber\"\n (ngModelChange)=\"onPhoneNumberChange()\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [placeholder]=\"placeholder || ($selectedCountry() | removeIso) || ''\"\n [disabled]=\"disabled\"\n #focusable\n [maxlength]=\"maxLength\"\n />\n</div>\n", styles: [":host.ngx-floating .country-selector,:host.ngx-floating input.ngx-mat-input-tel-input::placeholder{opacity:1}:host .ngx-mat-input-tel-container{display:flex;height:var(--ngxMatInputTel-height, 24px)}:host input{border:none;background:none;outline:none;font:inherit;width:100%;box-sizing:border-box;position:relative;z-index:0}:host input.ngx-mat-input-tel-input::placeholder{opacity:var(--ngxMatInputTel-placeholder-opacity, var(--ngxMatInputTel-opacity, 0))}:host .mdc-button__label{margin-right:auto}:host .dialCode-text{white-space:nowrap}:host .country-selector{display:flex;align-items:center;border-radius:0;flex-shrink:0;height:initial;line-height:unset;padding:1px;opacity:var(--ngxMatInputTel-selector-opacity, var(--ngxMatInputTel-opacity, 0));transition:opacity .2s;border:unset;background-color:transparent;font-size:inherit;font-weight:inherit;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAQAAAD8x0bcAAAAIUlEQVQoz2NgGAUkgtKG0v9IsIGwsgbCpjUQtrRhZAUzAB5rGRmoZRO5AAAAAElFTkSuQmCC);background-position:right center;background-repeat:no-repeat;background-size:18px auto}:host .country-selector:disabled{color:#00000061}:host .country-selector-code{color:var(--mdc-outlined-text-field-input-text-color);padding-right:18px}:host .country-list-button{color:#000000de;direction:ltr;font-size:16px;font-weight:400;height:initial;line-height:normal;min-height:48px;padding:14px 24px;text-align:left;text-transform:none;width:100%}:host .main-flag{padding-right:20px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type:
|
|
1273
1289
|
// Forms
|
|
1274
1290
|
FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type:
|
|
1275
1291
|
// Mat
|
|
@@ -1277,7 +1293,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
1277
1293
|
// Components
|
|
1278
1294
|
NgxMatInputTelFlagComponent, selector: "ngx-mat-input-tel-flag", inputs: ["country"] }, { kind: "pipe", type:
|
|
1279
1295
|
// Pipes
|
|
1280
|
-
KeyValuePipe, name: "keyvalue" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1296
|
+
KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: RemoveIsoPipe, name: "removeIso" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1281
1297
|
}
|
|
1282
1298
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: NgxMatInputTelComponent, decorators: [{
|
|
1283
1299
|
type: Component,
|
|
@@ -1300,9 +1316,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
1300
1316
|
MatDividerModule,
|
|
1301
1317
|
// Pipes
|
|
1302
1318
|
KeyValuePipe,
|
|
1319
|
+
RemoveIsoPipe,
|
|
1303
1320
|
// Components
|
|
1304
1321
|
NgxMatInputTelFlagComponent,
|
|
1305
|
-
], template: "<div class=\"ngx-mat-input-tel-container\">\n <button\n type=\"button\"\n matRipple\n [matMenuTriggerFor]=\"menu\"\n class=\"country-selector\"\n [disabled]=\"disabled\"\n (menuOpened)=\"onMenuOpened()\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ngx-mat-input-tel-flag\n class=\"main-flag\"\n [country]=\"{\n iso2: $selectedCountry().iso2,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent>\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"$searchCriteria\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n style=\"\n width: calc(100% - 4px);\n height: 34px;\n border-top: none;\n border-right: none;\n border-left: none;\n border-image: initial;\n border-bottom: 1px solid rgb(221, 221, 221);\n font-size: 14px;\n padding: 20px 10px 24px;\n box-sizing: border-box;\n background: transparent;\n margin: 2px;\n \"\n />\n }\n @for (\n country of $selectablePreferredCountriesInDropDown() | keyvalue: null;\n track country.key\n ) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($showDivider()) {\n <mat-divider></mat-divider>\n }\n @for (country of $selectableCountries() | keyvalue: null; track country.key) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n </ng-template>\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"tel\"\n name=\"tel\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"cssClass\"\n (blur)=\"onTouched()\"\n (keypress)=\"onInputKeyPress($event)\"\n [(ngModel)]=\"phoneNumber\"\n (ngModelChange)=\"onPhoneNumberChange()\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [placeholder]=\"placeholder || $selectedCountry()
|
|
1322
|
+
], template: "<div class=\"ngx-mat-input-tel-container\">\n <button\n type=\"button\"\n matRipple\n [matMenuTriggerFor]=\"menu\"\n class=\"country-selector\"\n [disabled]=\"disabled\"\n (menuOpened)=\"onMenuOpened()\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ngx-mat-input-tel-flag\n class=\"main-flag\"\n [country]=\"{\n iso2: $selectedCountry().iso2,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent>\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"$searchCriteria\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n style=\"\n width: calc(100% - 4px);\n height: 34px;\n border-top: none;\n border-right: none;\n border-left: none;\n border-image: initial;\n border-bottom: 1px solid rgb(221, 221, 221);\n font-size: 14px;\n padding: 20px 10px 24px;\n box-sizing: border-box;\n background: transparent;\n margin: 2px;\n \"\n />\n }\n @for (\n country of $selectablePreferredCountriesInDropDown() | keyvalue: null;\n track country.key\n ) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($showDivider()) {\n <mat-divider></mat-divider>\n }\n @for (country of $selectableCountries() | keyvalue: null; track country.key) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n </ng-template>\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"tel\"\n name=\"tel\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"cssClass\"\n (blur)=\"onTouched()\"\n (keypress)=\"onInputKeyPress($event)\"\n [(ngModel)]=\"phoneNumber\"\n (ngModelChange)=\"onPhoneNumberChange()\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [placeholder]=\"placeholder || ($selectedCountry() | removeIso) || ''\"\n [disabled]=\"disabled\"\n #focusable\n [maxlength]=\"maxLength\"\n />\n</div>\n", styles: [":host.ngx-floating .country-selector,:host.ngx-floating input.ngx-mat-input-tel-input::placeholder{opacity:1}:host .ngx-mat-input-tel-container{display:flex;height:var(--ngxMatInputTel-height, 24px)}:host input{border:none;background:none;outline:none;font:inherit;width:100%;box-sizing:border-box;position:relative;z-index:0}:host input.ngx-mat-input-tel-input::placeholder{opacity:var(--ngxMatInputTel-placeholder-opacity, var(--ngxMatInputTel-opacity, 0))}:host .mdc-button__label{margin-right:auto}:host .dialCode-text{white-space:nowrap}:host .country-selector{display:flex;align-items:center;border-radius:0;flex-shrink:0;height:initial;line-height:unset;padding:1px;opacity:var(--ngxMatInputTel-selector-opacity, var(--ngxMatInputTel-opacity, 0));transition:opacity .2s;border:unset;background-color:transparent;font-size:inherit;font-weight:inherit;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAQAAAD8x0bcAAAAIUlEQVQoz2NgGAUkgtKG0v9IsIGwsgbCpjUQtrRhZAUzAB5rGRmoZRO5AAAAAElFTkSuQmCC);background-position:right center;background-repeat:no-repeat;background-size:18px auto}:host .country-selector:disabled{color:#00000061}:host .country-selector-code{color:var(--mdc-outlined-text-field-input-text-color);padding-right:18px}:host .country-list-button{color:#000000de;direction:ltr;font-size:16px;font-weight:400;height:initial;line-height:normal;min-height:48px;padding:14px 24px;text-align:left;text-transform:none;width:100%}:host .main-flag{padding-right:20px}\n"] }]
|
|
1306
1323
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
|
|
1307
1324
|
type: Optional
|
|
1308
1325
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-mat-input-tel.mjs","sources":["../../../projects/ngx-mat-input-tel/src/lib/data/country-code.const.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel-flag/ngx-mat-input-tel-flag.component.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.validator.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.html","../../../projects/ngx-mat-input-tel/src/public-api.ts","../../../projects/ngx-mat-input-tel/src/ngx-mat-input-tel.ts"],"sourcesContent":["export const COUNTRIES_NAME: Record<string, string> = {\n AF: 'Afghanistan (افغانستان)',\n AL: 'Albania (Shqipëri)',\n DZ: 'Algeria (الجزائر)',\n AS: 'American Samoa',\n AD: 'Andorra',\n AO: 'Angola',\n AI: 'Anguilla',\n AG: 'Antigua and Barbuda',\n AR: 'Argentina',\n AM: 'Armenia (Հայաստան)',\n AW: 'Aruba',\n AU: 'Australia',\n AT: 'Austria (Österreich)',\n AZ: 'Azerbaijan (Azərbaycan)',\n BS: 'Bahamas',\n BH: 'Bahrain (البحرين)',\n BD: 'Bangladesh (বাংলাদেশ)',\n BB: 'Barbados',\n BY: 'Belarus (Беларусь)',\n BE: 'Belgium (België)',\n BZ: 'Belize',\n BJ: 'Benin (Bénin)',\n BM: 'Bermuda',\n BT: 'Bhutan (འབྲུག)',\n BO: 'Bolivia',\n BA: 'Bosnia and Herzegovina (Босна и Херцеговина)',\n BW: 'Botswana',\n BR: 'Brazil (Brasil)',\n IO: 'British Indian Ocean Territory',\n VG: 'British Virgin Islands',\n BN: 'Brunei',\n BG: 'Bulgaria (България)',\n BF: 'Burkina Faso',\n BI: 'Burundi (Uburundi)',\n KH: 'Cambodia (កម្ពុជា)',\n CM: 'Cameroon (Cameroun)',\n CA: 'Canada',\n CV: 'Cape Verde (Kabu Verdi)',\n BQ: 'Caribbean Netherlands',\n KY: 'Cayman Islands',\n CF: 'Central African Republic (République centrafricaine)',\n TD: 'Chad (Tchad)',\n CL: 'Chile',\n CN: 'China (中国)',\n CX: 'Christmas Island',\n CC: 'Cocos (Keeling) Islands',\n CO: 'Colombia',\n KM: 'Comoros (جزر القمر)',\n CD: 'Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)',\n CG: 'Congo (Republic) (Congo-Brazzaville)',\n CK: 'Cook Islands',\n CR: 'Costa Rica',\n CI: 'Côte d’Ivoire',\n HR: 'Croatia (Hrvatska)',\n CU: 'Cuba',\n CW: 'Curaçao',\n CY: 'Cyprus (Κύπρος)',\n CZ: 'Czech Republic (Česká republika)',\n DK: 'Denmark (Danmark)',\n DJ: 'Djibouti',\n DM: 'Dominica',\n DO: 'Dominican Republic (República Dominicana)',\n EC: 'Ecuador',\n EG: 'Egypt (مصر)',\n SV: 'El Salvador',\n GQ: 'Equatorial Guinea (Guinea Ecuatorial)',\n ER: 'Eritrea',\n EE: 'Estonia (Eesti)',\n ET: 'Ethiopia',\n FK: 'Falkland Islands (Islas Malvinas)',\n FO: 'Faroe Islands (Føroyar)',\n FJ: 'Fiji',\n FI: 'Finland (Suomi)',\n FR: 'France',\n GF: 'French Guiana (Guyane française)',\n PF: 'French Polynesia (Polynésie française)',\n GA: 'Gabon',\n GM: 'Gambia',\n GE: 'Georgia (საქართველო)',\n DE: 'Germany (Deutschland)',\n GH: 'Ghana (Gaana)',\n GI: 'Gibraltar',\n GR: 'Greece (Ελλάδα)',\n GL: 'Greenland (Kalaallit Nunaat)',\n GD: 'Grenada',\n GP: 'Guadeloupe',\n GU: 'Guam',\n GT: 'Guatemala',\n GG: 'Guernsey',\n GN: 'Guinea (Guinée)',\n GW: 'Guinea-Bissau (Guiné Bissau)',\n GY: 'Guyana',\n HT: 'Haiti',\n HN: 'Honduras',\n HK: 'Hong Kong (香港)',\n HU: 'Hungary (Magyarország)',\n IS: 'Iceland (Ísland)',\n IN: 'India (भारत)',\n ID: 'Indonesia',\n IR: 'Iran (ایران)',\n IQ: 'Iraq (العراق)',\n IE: 'Ireland',\n IM: 'Isle of Man',\n IL: 'Israel (ישראל)',\n IT: 'Italy (Italia)',\n JM: 'Jamaica',\n JP: 'Japan (日本)',\n JE: 'Jersey',\n JO: 'Jordan (الأردن)',\n KZ: 'Kazakhstan (Казахстан)',\n KE: 'Kenya',\n KI: 'Kiribati',\n XK: 'Kosovo',\n KW: 'Kuwait (الكويت)',\n KG: 'Kyrgyzstan (Кыргызстан)',\n LA: 'Laos (ລາວ)',\n LV: 'Latvia (Latvija)',\n LB: 'Lebanon (لبنان)',\n LS: 'Lesotho',\n LR: 'Liberia',\n LY: 'Libya (ليبيا)',\n LI: 'Liechtenstein',\n LT: 'Lithuania (Lietuva)',\n LU: 'Luxembourg',\n MO: 'Macau (澳門)',\n MK: 'Macedonia (FYROM) (Македонија)',\n MG: 'Madagascar (Madagasikara)',\n MW: 'Malawi',\n MY: 'Malaysia',\n MV: 'Maldives',\n ML: 'Mali',\n MT: 'Malta',\n MH: 'Marshall Islands',\n MQ: 'Martinique',\n MR: 'Mauritania (موريتانيا)',\n MU: 'Mauritius (Moris)',\n YT: 'Mayotte',\n MX: 'Mexico (México)',\n FM: 'Micronesia',\n MD: 'Moldova (Republica Moldova)',\n MC: 'Monaco',\n MN: 'Mongolia (Монгол)',\n ME: 'Montenegro (Crna Gora)',\n MS: 'Montserrat',\n MA: 'Morocco (المغرب)',\n MZ: 'Mozambique (Moçambique)',\n MM: 'Myanmar (Burma) (မြန်မာ)',\n NA: 'Namibia (Namibië)',\n NR: 'Nauru',\n NP: 'Nepal (नेपाल)',\n NL: 'Netherlands (Nederland)',\n NC: 'New Caledonia (Nouvelle-Calédonie)',\n NZ: 'New Zealand',\n NI: 'Nicaragua',\n NE: 'Niger (Nijar)',\n NG: 'Nigeria',\n NU: 'Niue',\n NF: 'Norfolk Island',\n KP: 'North Korea (조선 민주주의 인민 공화국)',\n MP: 'Northern Mariana Islands',\n NO: 'Norway (Norge)',\n OM: 'Oman (عُمان)',\n PK: 'Pakistan (پاکستان)',\n PW: 'Palau',\n PS: 'Palestine (فلسطين)',\n PA: 'Panama (Panamá)',\n PG: 'Papua New Guinea',\n PY: 'Paraguay',\n PE: 'Peru (Perú)',\n PH: 'Philippines',\n PL: 'Poland (Polska)',\n PT: 'Portugal',\n PR: 'Puerto Rico',\n QA: 'Qatar (قطر)',\n RE: 'Réunion (La Réunion)',\n RO: 'Romania (România)',\n RU: 'Russia (Россия)',\n RW: 'Rwanda',\n BL: 'Saint Barthélemy',\n SH: 'Saint Helena',\n KN: 'Saint Kitts and Nevis',\n LC: 'Saint Lucia',\n MF: 'Saint Martin (Saint-Martin (partie française))',\n PM: 'Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)',\n VC: 'Saint Vincent and the Grenadines',\n WS: 'Samoa',\n SM: 'San Marino',\n ST: 'São Tomé and Príncipe (São Tomé e Príncipe)',\n SA: 'Saudi Arabia (المملكة العربية السعودية)',\n SN: 'Senegal (Sénégal)',\n RS: 'Serbia (Србија)',\n SC: 'Seychelles',\n SL: 'Sierra Leone',\n SG: 'Singapore',\n SX: 'Sint Maarten',\n SK: 'Slovakia (Slovensko)',\n SI: 'Slovenia (Slovenija)',\n SB: 'Solomon Islands',\n SO: 'Somalia (Soomaaliya)',\n ZA: 'South Africa',\n KR: 'South Korea (대한민국)',\n SS: 'South Sudan (جنوب السودان)',\n ES: 'Spain (España)',\n LK: 'Sri Lanka (ශ්රී ලංකාව)',\n SD: 'Sudan (السودان)',\n SR: 'Suriname',\n SJ: 'Svalbard and Jan Mayen',\n SZ: 'Swaziland',\n SE: 'Sweden (Sverige)',\n CH: 'Switzerland (Schweiz)',\n SY: 'Syria (سوريا)',\n TW: 'Taiwan (台灣)',\n TJ: 'Tajikistan',\n TZ: 'Tanzania',\n TH: 'Thailand (ไทย)',\n TL: 'Timor-Leste',\n TG: 'Togo',\n TK: 'Tokelau',\n TO: 'Tonga',\n TT: 'Trinidad and Tobago',\n TN: 'Tunisia (تونس)',\n TR: 'Turkey (Türkiye)',\n TM: 'Turkmenistan',\n TC: 'Turks and Caicos Islands',\n TV: 'Tuvalu',\n VI: 'U.S. Virgin Islands',\n UG: 'Uganda',\n UA: 'Ukraine (Україна)',\n AE: 'United Arab Emirates (الإمارات العربية المتحدة)',\n GB: 'United Kingdom',\n US: 'United States',\n UY: 'Uruguay',\n UZ: 'Uzbekistan (Oʻzbekiston)',\n VU: 'Vanuatu',\n VA: 'Vatican City (Città del Vaticano)',\n VE: 'Venezuela',\n VN: 'Vietnam (Việt Nam)',\n WF: 'Wallis and Futuna (Wallis-et-Futuna)',\n EH: 'Western Sahara (الصحراء الغربية)',\n YE: 'Yemen (اليمن)',\n ZM: 'Zambia',\n ZW: 'Zimbabwe',\n AX: 'Åland Islands',\n}\n\nexport const COUNTRIES_CODE: Record<\n string,\n [string] | [string, number] | [string, number, string[]]\n> = {\n // 'iso2': 'dialCode', 'priority', 'areaCodes'\n AF: ['93'],\n AL: ['355'],\n DZ: ['213'],\n AS: ['1', 4, ['684']],\n AD: ['376'],\n AO: ['244'],\n AI: ['1', 4, ['264']],\n AG: ['1', 4, ['268']],\n AR: ['54'],\n AM: ['374'],\n AW: ['297'],\n AU: ['61', 0],\n AT: ['43'],\n AZ: ['994'],\n BS: ['1', 4, ['242']],\n BH: ['973'],\n BD: ['880'],\n BB: ['1', 4, ['246']],\n BY: ['375'],\n BE: ['32'],\n BZ: ['501'],\n BJ: ['229'],\n BM: ['1', 4, ['441']],\n BT: ['975'],\n BO: ['591'],\n BA: ['387'],\n BW: ['267'],\n BR: ['55'],\n IO: ['246'],\n VG: ['1', 4, ['284']],\n BN: ['673'],\n BG: ['359'],\n BF: ['226'],\n BI: ['257'],\n KH: ['855'],\n CM: ['237'],\n CA: [\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905',\n ],\n ],\n CV: ['238'],\n BQ: ['599', 1],\n KY: ['1', 4, ['345']],\n CF: ['236'],\n TD: ['235'],\n CL: ['56'],\n CN: ['86'],\n CX: ['61', 2],\n CC: ['61', 1],\n CO: ['57'],\n KM: ['269'],\n CD: ['243'],\n CG: ['242'],\n CK: ['682'],\n CR: ['506'],\n CI: ['225'],\n HR: ['385'],\n CU: ['53'],\n CW: ['599', 0],\n CY: ['357'],\n CZ: ['420'],\n DK: ['45'],\n DJ: ['253'],\n DM: ['1', 4, ['767']],\n DO: ['1', 2, ['809', '829', '849']],\n EC: ['593'],\n EG: ['20'],\n SV: ['503'],\n GQ: ['240'],\n ER: ['291'],\n EE: ['372'],\n ET: ['251'],\n FK: ['500'],\n FO: ['298'],\n FJ: ['679'],\n FI: ['358', 0],\n FR: ['33'],\n GF: ['594'],\n PF: ['689'],\n GA: ['241'],\n GM: ['220'],\n GE: ['995'],\n DE: ['49'],\n GH: ['233'],\n GI: ['350'],\n GR: ['30'],\n GL: ['299'],\n GD: ['1', 4, ['473']],\n GP: ['590', 0],\n GU: ['1', 4, ['671']],\n GT: ['502'],\n GG: ['44', 1],\n GN: ['224'],\n GW: ['245'],\n GY: ['592'],\n HT: ['509'],\n HN: ['504'],\n HK: ['852'],\n HU: ['36'],\n IS: ['354'],\n IN: ['91'],\n ID: ['62'],\n IR: ['98'],\n IQ: ['964'],\n IE: ['353'],\n IM: ['44', 2],\n IL: ['972'],\n IT: ['39', 0],\n JM: ['1', 4, ['876', '658']],\n JP: ['81'],\n JE: ['44', 3],\n JO: ['962'],\n KZ: ['7', 1],\n KE: ['254'],\n KI: ['686'],\n XK: ['383'],\n KW: ['965'],\n KG: ['996'],\n LA: ['856'],\n LV: ['371'],\n LB: ['961'],\n LS: ['266'],\n LR: ['231'],\n LY: ['218'],\n LI: ['423'],\n LT: ['370'],\n LU: ['352'],\n MO: ['853'],\n MK: ['389'],\n MG: ['261'],\n MW: ['265'],\n MY: ['60'],\n MV: ['960'],\n ML: ['223'],\n MT: ['356'],\n MH: ['692'],\n MQ: ['596'],\n MR: ['222'],\n MU: ['230'],\n YT: ['262', 1],\n MX: ['52'],\n FM: ['691'],\n MD: ['373'],\n MC: ['377'],\n MN: ['976'],\n ME: ['382'],\n MS: ['1664'],\n MA: ['212', 0],\n MZ: ['258'],\n MM: ['95'],\n NA: ['264'],\n NR: ['674'],\n NP: ['977'],\n NL: ['31'],\n NC: ['687'],\n NZ: ['64'],\n NI: ['505'],\n NE: ['227'],\n NG: ['234'],\n NU: ['683'],\n NF: ['672'],\n KP: ['850'],\n MP: ['1670'],\n NO: ['47', 0],\n OM: ['968'],\n PK: ['92'],\n PW: ['680'],\n PS: ['970'],\n PA: ['507'],\n PG: ['675'],\n PY: ['595'],\n PE: ['51'],\n PH: ['63'],\n PL: ['48'],\n PT: ['351'],\n PR: ['1', 3, ['787', '939']],\n QA: ['974'],\n RE: ['262', 0],\n RO: ['40'],\n RU: ['7', 0],\n RW: ['250'],\n BL: ['590', 1],\n SH: ['290'],\n KN: ['1', 4, ['869']],\n LC: ['1', 4, ['758']],\n MF: ['590', 2],\n PM: ['508'],\n VC: ['1784'],\n WS: ['685'],\n SM: ['378'],\n ST: ['239'],\n SA: ['966'],\n SN: ['221'],\n RS: ['381'],\n SC: ['248'],\n SL: ['232'],\n SG: ['65'],\n SX: ['1', 4, ['721']],\n SK: ['421'],\n SI: ['386'],\n SB: ['677'],\n SO: ['252'],\n ZA: ['27'],\n KR: ['82'],\n SS: ['211'],\n ES: ['34'],\n LK: ['94'],\n SD: ['249'],\n SR: ['597'],\n SJ: ['47', 1],\n SZ: ['268'],\n SE: ['46'],\n CH: ['41'],\n SY: ['963'],\n TW: ['886'],\n TJ: ['992'],\n TZ: ['255'],\n TH: ['66'],\n TL: ['670'],\n TG: ['228'],\n TK: ['690'],\n TO: ['676'],\n TT: ['1', 4, ['868']],\n TN: ['216'],\n TR: ['90'],\n TM: ['993'],\n TC: ['1', 4, ['649']],\n TV: ['688'],\n VI: ['1', 4, ['340']],\n UG: ['256'],\n UA: ['380'],\n AE: ['971'],\n GB: ['44', 0],\n US: ['1', 0],\n UY: ['598'],\n UZ: ['998'],\n VU: ['678'],\n VA: ['39', 1],\n VE: ['58'],\n VN: ['84'],\n WF: ['681'],\n EH: ['212', 1],\n YE: ['967'],\n ZM: ['260'],\n ZW: ['263'],\n AX: ['358', 1],\n}\n\nexport const EXAMPLES: any = {\n // Examples\n '001': '001',\n AC: '40123',\n AD: '312345',\n AE: '501234567',\n AF: '701234567',\n AG: '2684641234',\n AI: '2642351234',\n AL: '662123456',\n AM: '77123456',\n AO: '923123456',\n AR: '91123456789',\n AS: '6847331234',\n AT: '664123456',\n AU: '412345678',\n AW: '5601234',\n AX: '412345678',\n AZ: '401234567',\n BA: '61123456',\n BB: '2462501234',\n BD: '1812345678',\n BE: '470123456',\n BF: '70123456',\n BG: '48123456',\n BH: '36001234',\n BI: '79561234',\n BJ: '90011234',\n BL: '690001234',\n BM: '4413701234',\n BN: '7123456',\n BO: '71234567',\n BQ: '3181234',\n BR: '11961234567',\n BS: '2423591234',\n BT: '17123456',\n BW: '71123456',\n BY: '294911911',\n BZ: '6221234',\n CA: '5062345678',\n CC: '412345678',\n CD: '991234567',\n CF: '70012345',\n CG: '061234567',\n CH: '781234567',\n CI: '01234567',\n CK: '71234',\n CL: '221234567',\n CM: '671234567',\n CN: '13123456789',\n CO: '3211234567',\n CR: '83123456',\n CU: '51234567',\n CV: '9911234',\n CW: '95181234',\n CX: '412345678',\n CY: '96123456',\n CZ: '601123456',\n DE: '15123456789',\n DJ: '77831001',\n DK: '32123456',\n DM: '7672251234',\n DO: '8092345678',\n DZ: '551234567',\n EC: '991234567',\n EE: '51234567',\n EG: '1001234567',\n EH: '650123456',\n ER: '7123456',\n ES: '612345678',\n ET: '911234567',\n FI: '412345678',\n FJ: '7012345',\n FK: '51234',\n FM: '3501234',\n FO: '211234',\n FR: '612345678',\n GA: '06031234',\n GB: '7400123456',\n GD: '4734031234',\n GE: '555123456',\n GF: '694201234',\n GG: '7781123456',\n GH: '231234567',\n GI: '57123456',\n GL: '221234',\n GM: '3012345',\n GN: '601123456',\n GP: '690001234',\n GQ: '222123456',\n GR: '6912345678',\n GT: '51234567',\n GU: '6713001234',\n GW: '955012345',\n GY: '6091234',\n HK: '51234567',\n HN: '91234567',\n HR: '921234567',\n HT: '34101234',\n HU: '201234567',\n ID: '812345678',\n IE: '850123456',\n IL: '502345678',\n IM: '7924123456',\n IN: '8123456789',\n IO: '3801234',\n IQ: '7912345678',\n IR: '9123456789',\n IS: '6111234',\n IT: '3123456789',\n JE: '7797712345',\n JM: '8762101234',\n JO: '790123456',\n JP: '9012345678',\n KE: '712123456',\n KG: '700123456',\n KH: '91234567',\n KI: '72001234',\n KM: '3212345',\n KN: '8697652917',\n KP: '1921234567',\n KR: '1000000000',\n KW: '50012345',\n KY: '3453231234',\n KZ: '7710009998',\n LA: '2023123456',\n LB: '71123456',\n LC: '7582845678',\n LI: '660234567',\n LK: '712345678',\n LR: '770123456',\n LS: '50123456',\n LT: '61234567',\n LU: '628123456',\n LV: '21234567',\n LY: '912345678',\n MA: '650123456',\n MC: '612345678',\n MD: '62112345',\n ME: '67622901',\n MF: '690001234',\n MG: '321234567',\n MH: '2351234',\n MK: '72345678',\n ML: '65012345',\n MM: '92123456',\n MN: '88123456',\n MO: '66123456',\n MP: '6702345678',\n MQ: '696201234',\n MR: '22123456',\n MS: '6644923456',\n MT: '96961234',\n MU: '52512345',\n MV: '7712345',\n MW: '991234567',\n MX: '12221234567',\n MY: '123456789',\n MZ: '821234567',\n NA: '811234567',\n NC: '751234',\n NE: '93123456',\n NF: '381234',\n NG: '8021234567',\n NI: '81234567',\n NL: '612345678',\n NO: '40612345',\n NP: '9841234567',\n NR: '5551234',\n NU: '8884012',\n NZ: '211234567',\n OM: '92123456',\n PA: '61234567',\n PE: '912345678',\n PF: '87123456',\n PG: '70123456',\n PH: '9051234567',\n PK: '3012345678',\n PL: '512345678',\n PM: '551234',\n PR: '7872345678',\n PS: '599123456',\n PT: '912345678',\n PW: '6201234',\n PY: '961456789',\n QA: '33123456',\n RE: '692123456',\n RO: '712034567',\n RS: '601234567',\n RU: '9123456789',\n RW: '720123456',\n SA: '512345678',\n SB: '7421234',\n SC: '2510123',\n SD: '911231234',\n SE: '701234567',\n SG: '81234567',\n SH: '51234',\n SI: '31234567',\n SJ: '41234567',\n SK: '912123456',\n SL: '25123456',\n SM: '66661212',\n SN: '701234567',\n SO: '71123456',\n SR: '7412345',\n SS: '977123456',\n ST: '9812345',\n SV: '70123456',\n SX: '7215205678',\n SY: '944567890',\n SZ: '76123456',\n TA: '8999',\n TC: '6492311234',\n TD: '63012345',\n TG: '90112345',\n TH: '812345678',\n TJ: '917123456',\n TK: '7290',\n TL: '77212345',\n TM: '66123456',\n TN: '20123456',\n TO: '7715123',\n TR: '5012345678',\n TT: '8682911234',\n TV: '901234',\n TW: '912345678',\n TZ: '621234567',\n UA: '501234567',\n UG: '712345678',\n US: '2015550123',\n UY: '94231234',\n UZ: '912345678',\n VA: '3123456789',\n VC: '7844301234',\n VE: '4121234567',\n VG: '2843001234',\n VI: '3406421234',\n VN: '912345678',\n VU: '5912345',\n WF: '501234',\n WS: '7212345',\n XK: '43201234',\n YE: '712345678',\n YT: '639012345',\n ZA: '711234567',\n ZM: '955123456',\n ZW: '712345678',\n}\n","import { NgClass } from '@angular/common'\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core'\nimport { CountryFlag } from '../model/country.model'\n\n@Component({\n selector: 'ngx-mat-input-tel-flag',\n imports: [NgClass],\n template: `\n <div class=\"flag\" [ngClass]=\"country.iso2\"></div>\n\n @if (country.name) {\n <span class=\"country-selector-name\">\n {{ country.name }}\n </span>\n }\n\n @if (country.dialCode) {\n <span class=\"country-selector-code\"\n >+{{ country.dialCode }}\n\n @if (country.areaCodes) {\n {{ country.areaCodes.join(', ') }}\n }\n </span>\n }\n `,\n styleUrl: './ngx-mat-input-tel-flag.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxMatInputTelFlagComponent {\n @Input({ required: true }) country!: CountryFlag\n}\n","import { AbstractControl, ValidationErrors } from '@angular/forms'\nimport { parsePhoneNumber, PhoneNumber } from 'libphonenumber-js'\n\nexport const ngxMatInputTelValidator = (control: AbstractControl): ValidationErrors | null => {\n const error = { validatePhoneNumber: true }\n let numberInstance: PhoneNumber\n\n if (control.value) {\n try {\n numberInstance = parsePhoneNumber(control.value)\n } catch (e) {\n console.error(e)\n return error\n }\n\n if (numberInstance && !numberInstance.isValid()) {\n if (!control.touched) {\n control.markAsTouched()\n }\n return error\n }\n }\n return null\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { KeyValuePipe, NgClass } from '@angular/common'\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n ViewChild,\n booleanAttribute,\n computed,\n model,\n signal,\n} from '@angular/core'\nimport {\n FormControl,\n FormGroupDirective,\n FormsModule,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n ReactiveFormsModule,\n} from '@angular/forms'\nimport { ErrorStateMatcher, MatRippleModule } from '@angular/material/core'\nimport { MatDividerModule } from '@angular/material/divider'\nimport { MatFormFieldControl } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatMenu, MatMenuModule } from '@angular/material/menu'\nimport {\n AsYouType,\n CountryCode as CC,\n CountryCode,\n E164Number,\n NationalNumber,\n PhoneNumber,\n getExampleNumber,\n parsePhoneNumberFromString,\n} from 'libphonenumber-js'\nimport { Subject } from 'rxjs'\nimport { COUNTRIES_CODE, COUNTRIES_NAME, EXAMPLES } from './data/country-code.const'\nimport { Country } from './model/country.model'\nimport { PhoneNumberFormat } from './model/phone-number-format.model'\nimport { NgxMatInputTelFlagComponent } from './ngx-mat-input-tel-flag/ngx-mat-input-tel-flag.component'\nimport { ngxMatInputTelValidator } from './ngx-mat-input-tel.validator'\n\nclass ngxMatInputTelBase {\n constructor(\n public _defaultErrorStateMatcher: ErrorStateMatcher,\n public _parentForm: NgForm,\n public _parentFormGroup: FormGroupDirective,\n public ngControl: NgControl,\n ) {}\n}\n\n@Component({\n selector: 'ngx-mat-input-tel',\n templateUrl: './ngx-mat-input-tel.component.html',\n styleUrls: ['./ngx-mat-input-tel.component.scss'],\n providers: [\n { provide: MatFormFieldControl, useExisting: NgxMatInputTelComponent },\n {\n provide: NG_VALIDATORS,\n useValue: ngxMatInputTelValidator,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgClass,\n\n // Forms\n FormsModule,\n ReactiveFormsModule,\n MatInputModule,\n\n // Mat\n MatMenuModule,\n MatRippleModule,\n MatDividerModule,\n\n // Pipes\n KeyValuePipe,\n\n // Components\n NgxMatInputTelFlagComponent,\n ],\n})\nexport class NgxMatInputTelComponent\n extends ngxMatInputTelBase\n implements OnInit, DoCheck, OnDestroy\n{\n static nextId = 0\n @ViewChild(MatMenu) matMenu!: MatMenu\n @ViewChild('menuSearchInput', { static: false }) menuSearchInput?: ElementRef<HTMLInputElement>\n @ViewChild('focusable', { static: false }) focusable!: ElementRef\n\n @HostBinding()\n id = `ngx-mat-input-tel-${NgxMatInputTelComponent.nextId++}`\n @HostBinding('class.ngx-floating')\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty\n }\n\n @Input() autocomplete: 'off' | 'tel' = 'off'\n @Input() ariaLabel = 'Select country'\n @Input() cssClass?: string\n @Input() defaultCountry?: CountryCode\n @Input() errorStateMatcher: ErrorStateMatcher = this._defaultErrorStateMatcher\n @Input() maxLength: string | number = 15\n @Input() name?: string\n @Input() placeholder = ''\n\n @Input() countriesName = COUNTRIES_NAME\n\n private _preferredCountries: string[] = []\n @Input() set preferredCountries(value: string[]) {\n this._preferredCountries = value.map((v) => v.toUpperCase())\n }\n\n @Input() set onlyCountries(countryCodes: string[]) {\n if (countryCodes.length) {\n const codes = countryCodes.map((c) => c.toUpperCase())\n this.$availableCountries.set(this._getFilteredCountries(codes))\n }\n\n this._setPreferredCountriesInDropDown()\n this._setDefaultCountry()\n }\n\n @Input() searchPlaceholder = 'Search ...'\n @Input() validation: 'isValid' | 'isPossible' = 'isValid'\n @Input({ transform: booleanAttribute }) enablePlaceholder = false\n @Input({ transform: booleanAttribute }) enableSearch = false\n @Input({ transform: booleanAttribute }) resetOnChange = false\n\n private _format: PhoneNumberFormat = 'default'\n @Input() set format(value: PhoneNumberFormat) {\n this._format = value\n this.phoneNumber = this.formattedPhoneNumber()\n this.stateChanges.next()\n }\n get format(): PhoneNumberFormat {\n return this._format\n }\n\n private _required = false\n @Input({ transform: booleanAttribute })\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value)\n this.stateChanges.next(undefined)\n }\n get required(): boolean {\n return this._required\n }\n\n private _disabled = false\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n this.stateChanges.next(undefined)\n }\n get disabled(): boolean {\n return this._disabled\n }\n\n get empty(): boolean {\n return !this.phoneNumber\n }\n\n @Output()\n countryChanged: EventEmitter<Country> = new EventEmitter<Country>()\n\n stateChanges = new Subject<void>()\n focused = false\n describedBy = ''\n phoneNumber?: E164Number | NationalNumber = '' as E164Number | NationalNumber\n private _allCountries: Record<string, Country> = {}\n $availableCountries = signal<Record<string, Country>>(this._initAllCountries())\n $selectableCountries = computed(() => {\n if (!this.$searchCriteria() || this.$searchCriteria() === '') return this.$availableCountries()\n\n return this._getOnSearchCountries(\n this.$searchCriteria().toLowerCase(),\n this.$availableCountries(),\n )\n })\n $preferredCountriesInDropDown = signal<Record<string, Country>>({})\n $selectablePreferredCountriesInDropDown = computed(() => {\n if (!this.$searchCriteria() || this.$searchCriteria() === '')\n return this.$preferredCountriesInDropDown()\n\n return this._getOnSearchCountries(\n this.$searchCriteria().toLowerCase(),\n this.$preferredCountriesInDropDown(),\n )\n })\n $showDivider = computed(() => {\n return (\n Object.entries(this.$preferredCountriesInDropDown()).length > 0 &&\n Object.entries(this.$selectableCountries()).length > 0\n )\n })\n $selectedCountry = signal<Country>({} as Country)\n numberInstance?: PhoneNumber\n value?: any\n $searchCriteria = model<string>('')\n\n private _previousFormattedNumber?: string\n\n onTouched = () => {}\n propagateChange = (_: any) => {}\n\n private errorState?: boolean\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>,\n @Optional() @Self() _ngControl: NgControl,\n @Optional() _parentForm: NgForm,\n @Optional() _parentFormGroup: FormGroupDirective,\n _defaultErrorStateMatcher: ErrorStateMatcher,\n ) {\n super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, _ngControl)\n\n _focusMonitor.monitor(_elementRef, true).subscribe((origin: any) => {\n if (this.focused && !origin) {\n this.onTouched()\n }\n this.focused = !!origin\n this.stateChanges.next()\n })\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this\n }\n }\n\n ngOnInit() {\n this.$availableCountries.set(this._initAllCountries())\n this._setPreferredCountriesInDropDown()\n this._setDefaultCountry()\n\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next()\n }\n\n ngOnDestroy() {\n this.stateChanges.complete()\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n const oldState = this.errorState\n const newState = this.errorStateMatcher.isErrorState(this.ngControl.control, this._parentForm)\n\n this.errorState =\n (newState && (!this.ngControl.control?.value || this.ngControl.control?.touched)) ||\n (!this.focused ? newState : false)\n\n if (oldState !== newState) {\n this.errorState = newState\n this.stateChanges.next()\n }\n }\n }\n\n onMenuOpened() {\n setTimeout(() => {\n this.menuSearchInput?.nativeElement?.focus()\n }, 0)\n }\n\n updateErrorState() {\n if (\n this.ngControl &&\n this.ngControl.invalid &&\n (this.ngControl.touched || (this._parentForm && this._parentForm.submitted))\n ) {\n const currentState = this.errorStateMatcher.isErrorState(\n this.ngControl.control as FormControl,\n this.ngControl?.value,\n )\n if (currentState !== this.errorState) {\n this.errorState = currentState\n this._changeDetectorRef.markForCheck()\n }\n }\n }\n\n private _setPreferredCountriesInDropDown(countries = this._preferredCountries) {\n this.$preferredCountriesInDropDown.set(this._getFilteredCountries(countries))\n }\n\n private _setDefaultCountry() {\n let country: Country\n\n if (this.numberInstance?.country) {\n // If an existing number is present, we use it to determine country\n country = this.getCountry(this.numberInstance.country)\n } else if (this.defaultCountry) {\n country = this.getCountry(this.defaultCountry)\n } else if (this.$preferredCountriesInDropDown().length) {\n country = this.$preferredCountriesInDropDown()[0]\n } else {\n const firstKeyValue = Object.entries(this._allCountries)[0]\n country = { ...firstKeyValue[1], iso2: firstKeyValue[0] }\n }\n\n this.$selectedCountry.set(country)\n this.countryChanged.emit(country)\n }\n\n private _getFilteredCountries(countryCodes: string[]): Record<string, Country> {\n return Object.values(this._allCountries)\n .filter((c) => countryCodes.includes(c.iso2))\n .sort((a, b) => countryCodes.indexOf(a.name) - countryCodes.indexOf(b.name))\n .reduce<Record<string, Country>>((acc, country) => {\n acc[country.iso2] = country\n return acc\n }, {})\n }\n\n private _getOnSearchCountries(\n searchTerm: string,\n countries: Record<string, Country>,\n ): Record<string, Country> {\n const result: Record<string, Country> = {}\n for (const country of Object.values(countries)) {\n if (\n country.name.toLowerCase().includes(searchTerm) ||\n country.dialCode.includes(searchTerm) ||\n (country.areaCodes && country.areaCodes.join(',').includes(searchTerm))\n ) {\n result[country.iso2] = country\n }\n }\n return result\n }\n\n public onPhoneNumberChange(): void {\n try {\n this._setCountry()\n } catch {\n // Pass a value to trigger the validator error\n this.value = this.formattedPhoneNumber().toString()\n }\n\n this.propagateChange(this.value)\n this._changeDetectorRef.markForCheck()\n }\n\n private _setCountry() {\n if (!this.phoneNumber) {\n this.value = null\n return\n }\n\n const numberInstance = parsePhoneNumberFromString(\n this.phoneNumber.toString(),\n this.$selectedCountry().iso2.toUpperCase() as CC,\n )\n if (!numberInstance) return\n this.numberInstance = numberInstance\n\n this.formatAsYouTypeIfEnabled()\n this.value = this.numberInstance?.number\n\n if (!this.value) throw new Error('Incorrect phone number')\n\n if (\n this.numberInstance &&\n (this.validation === 'isPossible'\n ? this.numberInstance.isPossible()\n : this.numberInstance.isValid())\n ) {\n if (this.phoneNumber !== this.formattedPhoneNumber()) {\n this.phoneNumber = this.formattedPhoneNumber()\n }\n if (\n this.$selectedCountry().iso2 !== this.numberInstance.country &&\n this.numberInstance.country\n ) {\n this.$selectedCountry.set(this.getCountry(this.numberInstance.country))\n this.countryChanged.emit(this.$selectedCountry())\n }\n }\n }\n\n public onCountrySelect(country: { key: string; value: Country }): void {\n if (this.phoneNumber) {\n this.phoneNumber = this.numberInstance?.nationalNumber\n }\n if (this.resetOnChange && this.$selectedCountry().iso2 !== country.key) {\n this.reset()\n }\n\n this.$selectedCountry.set({\n ...country.value,\n iso2: country.key,\n })\n this.countryChanged.emit(this.$selectedCountry())\n\n this.onPhoneNumberChange()\n\n setTimeout(() => {\n this.focusable.nativeElement.focus()\n }, 0)\n }\n\n public getCountry(code: CC): Country {\n const targetCountry = this._allCountries[code]\n if (targetCountry) {\n return { ...targetCountry, iso2: code }\n }\n return {\n name: 'UN',\n iso2: 'UN',\n dialCode: '',\n priority: 0,\n areaCodes: undefined,\n placeholder: '',\n }\n }\n\n public onInputKeyPress(event: any): void {\n const pattern = /[0-9+\\- ]/\n if (!pattern.test(event.key)) {\n event.preventDefault()\n }\n }\n\n protected _initAllCountries(): Record<string, Country> {\n this._allCountries = {}\n Object.entries(COUNTRIES_CODE).forEach(([iso2, codes]) => {\n const country: Country = {\n name: this.countriesName[iso2] || iso2,\n iso2: iso2,\n dialCode: codes[0].toString(),\n priority: +codes || 0,\n areaCodes: codes.length > 2 && Array.isArray(codes[2]) ? codes[2] : undefined,\n placeholder: '',\n }\n if (this.enablePlaceholder) {\n country.placeholder = this._getPhoneNumberPlaceHolder(iso2)\n }\n this._allCountries[iso2] = country\n })\n return this._allCountries\n }\n\n private _getPhoneNumberPlaceHolder(countryISOCode: any): string | undefined {\n try {\n return getExampleNumber(countryISOCode, EXAMPLES)?.number\n } catch (e) {\n return e as any\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n writeValue(value: any): void {\n if (value) {\n this.numberInstance = parsePhoneNumberFromString(value)\n if (this.numberInstance) {\n const countryCode = this.numberInstance.country\n this.phoneNumber = this.formattedPhoneNumber()\n\n if (!countryCode) return\n\n this.$selectedCountry.set(this.getCountry(countryCode))\n\n if (\n this.$selectedCountry().dialCode &&\n !this.preferredCountries.includes(this.$selectedCountry().iso2)\n ) {\n this.$preferredCountriesInDropDown.update((values) => {\n return { ...values, ...{ [this.$selectedCountry().iso2]: this.$selectedCountry() } }\n })\n }\n this.countryChanged.emit(this.$selectedCountry())\n\n // Initial value is set\n this.stateChanges.next()\n } else {\n this.phoneNumber = value\n this.stateChanges.next(undefined)\n }\n }\n\n // Value is set from outside using setValue()\n this.onPhoneNumberChange()\n this._changeDetectorRef.markForCheck()\n }\n\n setDescribedByIds(ids: string[]) {\n this.describedBy = ids.join(' ')\n }\n\n onContainerClick(event: MouseEvent): void {\n if ((event.target as Element).tagName.toLowerCase() !== 'input') {\n this._elementRef.nativeElement.querySelector('input')!.focus()\n }\n }\n\n reset() {\n this.phoneNumber = '' as E164Number | NationalNumber\n this.propagateChange(null)\n\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n private formattedPhoneNumber(): E164Number | NationalNumber {\n if (!this.numberInstance) {\n return (this.phoneNumber?.toString() || '') as E164Number | NationalNumber\n }\n switch (this.format) {\n case 'national':\n return this.numberInstance.formatNational() as E164Number | NationalNumber\n case 'international':\n return this.numberInstance.formatInternational() as E164Number | NationalNumber\n default:\n return this.numberInstance.nationalNumber.toString() as E164Number | NationalNumber\n }\n }\n\n private formatAsYouTypeIfEnabled(): void {\n if (this.format === 'default') {\n return\n }\n const asYouType: AsYouType = new AsYouType(this.$selectedCountry().iso2.toUpperCase() as CC)\n // To avoid caret positioning we apply formatting only if the caret is at the end:\n if (!this.phoneNumber) return\n\n if (this.phoneNumber?.toString().startsWith(this._previousFormattedNumber || '')) {\n this.phoneNumber = asYouType.input(this.phoneNumber.toString()) as E164Number | NationalNumber\n }\n this._previousFormattedNumber = this.phoneNumber.toString()\n }\n}\n","<div class=\"ngx-mat-input-tel-container\">\n <button\n type=\"button\"\n matRipple\n [matMenuTriggerFor]=\"menu\"\n class=\"country-selector\"\n [disabled]=\"disabled\"\n (menuOpened)=\"onMenuOpened()\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ngx-mat-input-tel-flag\n class=\"main-flag\"\n [country]=\"{\n iso2: $selectedCountry().iso2,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent>\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"$searchCriteria\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n style=\"\n width: calc(100% - 4px);\n height: 34px;\n border-top: none;\n border-right: none;\n border-left: none;\n border-image: initial;\n border-bottom: 1px solid rgb(221, 221, 221);\n font-size: 14px;\n padding: 20px 10px 24px;\n box-sizing: border-box;\n background: transparent;\n margin: 2px;\n \"\n />\n }\n @for (\n country of $selectablePreferredCountriesInDropDown() | keyvalue: null;\n track country.key\n ) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($showDivider()) {\n <mat-divider></mat-divider>\n }\n @for (country of $selectableCountries() | keyvalue: null; track country.key) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n </ng-template>\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"tel\"\n name=\"tel\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"cssClass\"\n (blur)=\"onTouched()\"\n (keypress)=\"onInputKeyPress($event)\"\n [(ngModel)]=\"phoneNumber\"\n (ngModelChange)=\"onPhoneNumberChange()\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [placeholder]=\"placeholder || $selectedCountry().placeholder || ''\"\n [disabled]=\"disabled\"\n #focusable\n [maxlength]=\"maxLength\"\n />\n</div>\n","/*\n * Public API Surface of ngx-mat-input-tel\n */\n\nexport * from './lib/ngx-mat-input-tel.component'\nexport * from './lib/ngx-mat-input-tel.validator'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngx-mat-input-tel.mjs","sources":["../../../projects/ngx-mat-input-tel/src/lib/data/country-code.const.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel-flag/ngx-mat-input-tel-flag.component.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.validator.ts","../../../projects/ngx-mat-input-tel/src/lib/remove-iso.pipe.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.ts","../../../projects/ngx-mat-input-tel/src/lib/ngx-mat-input-tel.component.html","../../../projects/ngx-mat-input-tel/src/public-api.ts","../../../projects/ngx-mat-input-tel/src/ngx-mat-input-tel.ts"],"sourcesContent":["export const COUNTRIES_NAME: Record<string, string> = {\n AF: 'Afghanistan (افغانستان)',\n AL: 'Albania (Shqipëri)',\n DZ: 'Algeria (الجزائر)',\n AS: 'American Samoa',\n AD: 'Andorra',\n AO: 'Angola',\n AI: 'Anguilla',\n AG: 'Antigua and Barbuda',\n AR: 'Argentina',\n AM: 'Armenia (Հայաստան)',\n AW: 'Aruba',\n AU: 'Australia',\n AT: 'Austria (Österreich)',\n AZ: 'Azerbaijan (Azərbaycan)',\n BS: 'Bahamas',\n BH: 'Bahrain (البحرين)',\n BD: 'Bangladesh (বাংলাদেশ)',\n BB: 'Barbados',\n BY: 'Belarus (Беларусь)',\n BE: 'Belgium (België)',\n BZ: 'Belize',\n BJ: 'Benin (Bénin)',\n BM: 'Bermuda',\n BT: 'Bhutan (འབྲུག)',\n BO: 'Bolivia',\n BA: 'Bosnia and Herzegovina (Босна и Херцеговина)',\n BW: 'Botswana',\n BR: 'Brazil (Brasil)',\n IO: 'British Indian Ocean Territory',\n VG: 'British Virgin Islands',\n BN: 'Brunei',\n BG: 'Bulgaria (България)',\n BF: 'Burkina Faso',\n BI: 'Burundi (Uburundi)',\n KH: 'Cambodia (កម្ពុជា)',\n CM: 'Cameroon (Cameroun)',\n CA: 'Canada',\n CV: 'Cape Verde (Kabu Verdi)',\n BQ: 'Caribbean Netherlands',\n KY: 'Cayman Islands',\n CF: 'Central African Republic (République centrafricaine)',\n TD: 'Chad (Tchad)',\n CL: 'Chile',\n CN: 'China (中国)',\n CX: 'Christmas Island',\n CC: 'Cocos (Keeling) Islands',\n CO: 'Colombia',\n KM: 'Comoros (جزر القمر)',\n CD: 'Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)',\n CG: 'Congo (Republic) (Congo-Brazzaville)',\n CK: 'Cook Islands',\n CR: 'Costa Rica',\n CI: 'Côte d’Ivoire',\n HR: 'Croatia (Hrvatska)',\n CU: 'Cuba',\n CW: 'Curaçao',\n CY: 'Cyprus (Κύπρος)',\n CZ: 'Czech Republic (Česká republika)',\n DK: 'Denmark (Danmark)',\n DJ: 'Djibouti',\n DM: 'Dominica',\n DO: 'Dominican Republic (República Dominicana)',\n EC: 'Ecuador',\n EG: 'Egypt (مصر)',\n SV: 'El Salvador',\n GQ: 'Equatorial Guinea (Guinea Ecuatorial)',\n ER: 'Eritrea',\n EE: 'Estonia (Eesti)',\n ET: 'Ethiopia',\n FK: 'Falkland Islands (Islas Malvinas)',\n FO: 'Faroe Islands (Føroyar)',\n FJ: 'Fiji',\n FI: 'Finland (Suomi)',\n FR: 'France',\n GF: 'French Guiana (Guyane française)',\n PF: 'French Polynesia (Polynésie française)',\n GA: 'Gabon',\n GM: 'Gambia',\n GE: 'Georgia (საქართველო)',\n DE: 'Germany (Deutschland)',\n GH: 'Ghana (Gaana)',\n GI: 'Gibraltar',\n GR: 'Greece (Ελλάδα)',\n GL: 'Greenland (Kalaallit Nunaat)',\n GD: 'Grenada',\n GP: 'Guadeloupe',\n GU: 'Guam',\n GT: 'Guatemala',\n GG: 'Guernsey',\n GN: 'Guinea (Guinée)',\n GW: 'Guinea-Bissau (Guiné Bissau)',\n GY: 'Guyana',\n HT: 'Haiti',\n HN: 'Honduras',\n HK: 'Hong Kong (香港)',\n HU: 'Hungary (Magyarország)',\n IS: 'Iceland (Ísland)',\n IN: 'India (भारत)',\n ID: 'Indonesia',\n IR: 'Iran (ایران)',\n IQ: 'Iraq (العراق)',\n IE: 'Ireland',\n IM: 'Isle of Man',\n IL: 'Israel (ישראל)',\n IT: 'Italy (Italia)',\n JM: 'Jamaica',\n JP: 'Japan (日本)',\n JE: 'Jersey',\n JO: 'Jordan (الأردن)',\n KZ: 'Kazakhstan (Казахстан)',\n KE: 'Kenya',\n KI: 'Kiribati',\n XK: 'Kosovo',\n KW: 'Kuwait (الكويت)',\n KG: 'Kyrgyzstan (Кыргызстан)',\n LA: 'Laos (ລາວ)',\n LV: 'Latvia (Latvija)',\n LB: 'Lebanon (لبنان)',\n LS: 'Lesotho',\n LR: 'Liberia',\n LY: 'Libya (ليبيا)',\n LI: 'Liechtenstein',\n LT: 'Lithuania (Lietuva)',\n LU: 'Luxembourg',\n MO: 'Macau (澳門)',\n MK: 'Macedonia (FYROM) (Македонија)',\n MG: 'Madagascar (Madagasikara)',\n MW: 'Malawi',\n MY: 'Malaysia',\n MV: 'Maldives',\n ML: 'Mali',\n MT: 'Malta',\n MH: 'Marshall Islands',\n MQ: 'Martinique',\n MR: 'Mauritania (موريتانيا)',\n MU: 'Mauritius (Moris)',\n YT: 'Mayotte',\n MX: 'Mexico (México)',\n FM: 'Micronesia',\n MD: 'Moldova (Republica Moldova)',\n MC: 'Monaco',\n MN: 'Mongolia (Монгол)',\n ME: 'Montenegro (Crna Gora)',\n MS: 'Montserrat',\n MA: 'Morocco (المغرب)',\n MZ: 'Mozambique (Moçambique)',\n MM: 'Myanmar (Burma) (မြန်မာ)',\n NA: 'Namibia (Namibië)',\n NR: 'Nauru',\n NP: 'Nepal (नेपाल)',\n NL: 'Netherlands (Nederland)',\n NC: 'New Caledonia (Nouvelle-Calédonie)',\n NZ: 'New Zealand',\n NI: 'Nicaragua',\n NE: 'Niger (Nijar)',\n NG: 'Nigeria',\n NU: 'Niue',\n NF: 'Norfolk Island',\n KP: 'North Korea (조선 민주주의 인민 공화국)',\n MP: 'Northern Mariana Islands',\n NO: 'Norway (Norge)',\n OM: 'Oman (عُمان)',\n PK: 'Pakistan (پاکستان)',\n PW: 'Palau',\n PS: 'Palestine (فلسطين)',\n PA: 'Panama (Panamá)',\n PG: 'Papua New Guinea',\n PY: 'Paraguay',\n PE: 'Peru (Perú)',\n PH: 'Philippines',\n PL: 'Poland (Polska)',\n PT: 'Portugal',\n PR: 'Puerto Rico',\n QA: 'Qatar (قطر)',\n RE: 'Réunion (La Réunion)',\n RO: 'Romania (România)',\n RU: 'Russia (Россия)',\n RW: 'Rwanda',\n BL: 'Saint Barthélemy',\n SH: 'Saint Helena',\n KN: 'Saint Kitts and Nevis',\n LC: 'Saint Lucia',\n MF: 'Saint Martin (Saint-Martin (partie française))',\n PM: 'Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)',\n VC: 'Saint Vincent and the Grenadines',\n WS: 'Samoa',\n SM: 'San Marino',\n ST: 'São Tomé and Príncipe (São Tomé e Príncipe)',\n SA: 'Saudi Arabia (المملكة العربية السعودية)',\n SN: 'Senegal (Sénégal)',\n RS: 'Serbia (Србија)',\n SC: 'Seychelles',\n SL: 'Sierra Leone',\n SG: 'Singapore',\n SX: 'Sint Maarten',\n SK: 'Slovakia (Slovensko)',\n SI: 'Slovenia (Slovenija)',\n SB: 'Solomon Islands',\n SO: 'Somalia (Soomaaliya)',\n ZA: 'South Africa',\n KR: 'South Korea (대한민국)',\n SS: 'South Sudan (جنوب السودان)',\n ES: 'Spain (España)',\n LK: 'Sri Lanka (ශ්රී ලංකාව)',\n SD: 'Sudan (السودان)',\n SR: 'Suriname',\n SJ: 'Svalbard and Jan Mayen',\n SZ: 'Swaziland',\n SE: 'Sweden (Sverige)',\n CH: 'Switzerland (Schweiz)',\n SY: 'Syria (سوريا)',\n TW: 'Taiwan (台灣)',\n TJ: 'Tajikistan',\n TZ: 'Tanzania',\n TH: 'Thailand (ไทย)',\n TL: 'Timor-Leste',\n TG: 'Togo',\n TK: 'Tokelau',\n TO: 'Tonga',\n TT: 'Trinidad and Tobago',\n TN: 'Tunisia (تونس)',\n TR: 'Turkey (Türkiye)',\n TM: 'Turkmenistan',\n TC: 'Turks and Caicos Islands',\n TV: 'Tuvalu',\n VI: 'U.S. Virgin Islands',\n UG: 'Uganda',\n UA: 'Ukraine (Україна)',\n AE: 'United Arab Emirates (الإمارات العربية المتحدة)',\n GB: 'United Kingdom',\n US: 'United States',\n UY: 'Uruguay',\n UZ: 'Uzbekistan (Oʻzbekiston)',\n VU: 'Vanuatu',\n VA: 'Vatican City (Città del Vaticano)',\n VE: 'Venezuela',\n VN: 'Vietnam (Việt Nam)',\n WF: 'Wallis and Futuna (Wallis-et-Futuna)',\n EH: 'Western Sahara (الصحراء الغربية)',\n YE: 'Yemen (اليمن)',\n ZM: 'Zambia',\n ZW: 'Zimbabwe',\n AX: 'Åland Islands',\n}\n\nexport const COUNTRIES_CODE: Record<\n string,\n [string] | [string, number] | [string, number, string[]]\n> = {\n // 'iso2': 'dialCode', 'priority', 'areaCodes'\n AF: ['93'],\n AL: ['355'],\n DZ: ['213'],\n AS: ['1', 4, ['684']],\n AD: ['376'],\n AO: ['244'],\n AI: ['1', 4, ['264']],\n AG: ['1', 4, ['268']],\n AR: ['54'],\n AM: ['374'],\n AW: ['297'],\n AU: ['61', 0],\n AT: ['43'],\n AZ: ['994'],\n BS: ['1', 4, ['242']],\n BH: ['973'],\n BD: ['880'],\n BB: ['1', 4, ['246']],\n BY: ['375'],\n BE: ['32'],\n BZ: ['501'],\n BJ: ['229'],\n BM: ['1', 4, ['441']],\n BT: ['975'],\n BO: ['591'],\n BA: ['387'],\n BW: ['267'],\n BR: ['55'],\n IO: ['246'],\n VG: ['1', 4, ['284']],\n BN: ['673'],\n BG: ['359'],\n BF: ['226'],\n BI: ['257'],\n KH: ['855'],\n CM: ['237'],\n CA: [\n '1',\n 1,\n [\n '204',\n '226',\n '236',\n '249',\n '250',\n '289',\n '306',\n '343',\n '365',\n '387',\n '403',\n '416',\n '418',\n '431',\n '437',\n '438',\n '450',\n '506',\n '514',\n '519',\n '548',\n '579',\n '581',\n '587',\n '604',\n '613',\n '639',\n '647',\n '672',\n '705',\n '709',\n '742',\n '778',\n '780',\n '782',\n '807',\n '819',\n '825',\n '867',\n '873',\n '902',\n '905',\n ],\n ],\n CV: ['238'],\n BQ: ['599', 1],\n KY: ['1', 4, ['345']],\n CF: ['236'],\n TD: ['235'],\n CL: ['56'],\n CN: ['86'],\n CX: ['61', 2],\n CC: ['61', 1],\n CO: ['57'],\n KM: ['269'],\n CD: ['243'],\n CG: ['242'],\n CK: ['682'],\n CR: ['506'],\n CI: ['225'],\n HR: ['385'],\n CU: ['53'],\n CW: ['599', 0],\n CY: ['357'],\n CZ: ['420'],\n DK: ['45'],\n DJ: ['253'],\n DM: ['1', 4, ['767']],\n DO: ['1', 2, ['809', '829', '849']],\n EC: ['593'],\n EG: ['20'],\n SV: ['503'],\n GQ: ['240'],\n ER: ['291'],\n EE: ['372'],\n ET: ['251'],\n FK: ['500'],\n FO: ['298'],\n FJ: ['679'],\n FI: ['358', 0],\n FR: ['33'],\n GF: ['594'],\n PF: ['689'],\n GA: ['241'],\n GM: ['220'],\n GE: ['995'],\n DE: ['49'],\n GH: ['233'],\n GI: ['350'],\n GR: ['30'],\n GL: ['299'],\n GD: ['1', 4, ['473']],\n GP: ['590', 0],\n GU: ['1', 4, ['671']],\n GT: ['502'],\n GG: ['44', 1],\n GN: ['224'],\n GW: ['245'],\n GY: ['592'],\n HT: ['509'],\n HN: ['504'],\n HK: ['852'],\n HU: ['36'],\n IS: ['354'],\n IN: ['91'],\n ID: ['62'],\n IR: ['98'],\n IQ: ['964'],\n IE: ['353'],\n IM: ['44', 2],\n IL: ['972'],\n IT: ['39', 0],\n JM: ['1', 4, ['876', '658']],\n JP: ['81'],\n JE: ['44', 3],\n JO: ['962'],\n KZ: ['7', 1],\n KE: ['254'],\n KI: ['686'],\n XK: ['383'],\n KW: ['965'],\n KG: ['996'],\n LA: ['856'],\n LV: ['371'],\n LB: ['961'],\n LS: ['266'],\n LR: ['231'],\n LY: ['218'],\n LI: ['423'],\n LT: ['370'],\n LU: ['352'],\n MO: ['853'],\n MK: ['389'],\n MG: ['261'],\n MW: ['265'],\n MY: ['60'],\n MV: ['960'],\n ML: ['223'],\n MT: ['356'],\n MH: ['692'],\n MQ: ['596'],\n MR: ['222'],\n MU: ['230'],\n YT: ['262', 1],\n MX: ['52'],\n FM: ['691'],\n MD: ['373'],\n MC: ['377'],\n MN: ['976'],\n ME: ['382'],\n MS: ['1664'],\n MA: ['212', 0],\n MZ: ['258'],\n MM: ['95'],\n NA: ['264'],\n NR: ['674'],\n NP: ['977'],\n NL: ['31'],\n NC: ['687'],\n NZ: ['64'],\n NI: ['505'],\n NE: ['227'],\n NG: ['234'],\n NU: ['683'],\n NF: ['672'],\n KP: ['850'],\n MP: ['1670'],\n NO: ['47', 0],\n OM: ['968'],\n PK: ['92'],\n PW: ['680'],\n PS: ['970'],\n PA: ['507'],\n PG: ['675'],\n PY: ['595'],\n PE: ['51'],\n PH: ['63'],\n PL: ['48'],\n PT: ['351'],\n PR: ['1', 3, ['787', '939']],\n QA: ['974'],\n RE: ['262', 0],\n RO: ['40'],\n RU: ['7', 0],\n RW: ['250'],\n BL: ['590', 1],\n SH: ['290'],\n KN: ['1', 4, ['869']],\n LC: ['1', 4, ['758']],\n MF: ['590', 2],\n PM: ['508'],\n VC: ['1784'],\n WS: ['685'],\n SM: ['378'],\n ST: ['239'],\n SA: ['966'],\n SN: ['221'],\n RS: ['381'],\n SC: ['248'],\n SL: ['232'],\n SG: ['65'],\n SX: ['1', 4, ['721']],\n SK: ['421'],\n SI: ['386'],\n SB: ['677'],\n SO: ['252'],\n ZA: ['27'],\n KR: ['82'],\n SS: ['211'],\n ES: ['34'],\n LK: ['94'],\n SD: ['249'],\n SR: ['597'],\n SJ: ['47', 1],\n SZ: ['268'],\n SE: ['46'],\n CH: ['41'],\n SY: ['963'],\n TW: ['886'],\n TJ: ['992'],\n TZ: ['255'],\n TH: ['66'],\n TL: ['670'],\n TG: ['228'],\n TK: ['690'],\n TO: ['676'],\n TT: ['1', 4, ['868']],\n TN: ['216'],\n TR: ['90'],\n TM: ['993'],\n TC: ['1', 4, ['649']],\n TV: ['688'],\n VI: ['1', 4, ['340']],\n UG: ['256'],\n UA: ['380'],\n AE: ['971'],\n GB: ['44', 0],\n US: ['1', 0],\n UY: ['598'],\n UZ: ['998'],\n VU: ['678'],\n VA: ['39', 1],\n VE: ['58'],\n VN: ['84'],\n WF: ['681'],\n EH: ['212', 1],\n YE: ['967'],\n ZM: ['260'],\n ZW: ['263'],\n AX: ['358', 1],\n}\n\nexport const EXAMPLES: any = {\n // Examples\n '001': '001',\n AC: '40123',\n AD: '312345',\n AE: '501234567',\n AF: '701234567',\n AG: '2684641234',\n AI: '2642351234',\n AL: '662123456',\n AM: '77123456',\n AO: '923123456',\n AR: '91123456789',\n AS: '6847331234',\n AT: '664123456',\n AU: '412345678',\n AW: '5601234',\n AX: '412345678',\n AZ: '401234567',\n BA: '61123456',\n BB: '2462501234',\n BD: '1812345678',\n BE: '470123456',\n BF: '70123456',\n BG: '48123456',\n BH: '36001234',\n BI: '79561234',\n BJ: '90011234',\n BL: '690001234',\n BM: '4413701234',\n BN: '7123456',\n BO: '71234567',\n BQ: '3181234',\n BR: '11961234567',\n BS: '2423591234',\n BT: '17123456',\n BW: '71123456',\n BY: '294911911',\n BZ: '6221234',\n CA: '5062345678',\n CC: '412345678',\n CD: '991234567',\n CF: '70012345',\n CG: '061234567',\n CH: '781234567',\n CI: '01234567',\n CK: '71234',\n CL: '221234567',\n CM: '671234567',\n CN: '13123456789',\n CO: '3211234567',\n CR: '83123456',\n CU: '51234567',\n CV: '9911234',\n CW: '95181234',\n CX: '412345678',\n CY: '96123456',\n CZ: '601123456',\n DE: '15123456789',\n DJ: '77831001',\n DK: '32123456',\n DM: '7672251234',\n DO: '8092345678',\n DZ: '551234567',\n EC: '991234567',\n EE: '51234567',\n EG: '1001234567',\n EH: '650123456',\n ER: '7123456',\n ES: '612345678',\n ET: '911234567',\n FI: '412345678',\n FJ: '7012345',\n FK: '51234',\n FM: '3501234',\n FO: '211234',\n FR: '612345678',\n GA: '06031234',\n GB: '7400123456',\n GD: '4734031234',\n GE: '555123456',\n GF: '694201234',\n GG: '7781123456',\n GH: '231234567',\n GI: '57123456',\n GL: '221234',\n GM: '3012345',\n GN: '601123456',\n GP: '690001234',\n GQ: '222123456',\n GR: '6912345678',\n GT: '51234567',\n GU: '6713001234',\n GW: '955012345',\n GY: '6091234',\n HK: '51234567',\n HN: '91234567',\n HR: '921234567',\n HT: '34101234',\n HU: '201234567',\n ID: '812345678',\n IE: '850123456',\n IL: '502345678',\n IM: '7924123456',\n IN: '8123456789',\n IO: '3801234',\n IQ: '7912345678',\n IR: '9123456789',\n IS: '6111234',\n IT: '3123456789',\n JE: '7797712345',\n JM: '8762101234',\n JO: '790123456',\n JP: '9012345678',\n KE: '712123456',\n KG: '700123456',\n KH: '91234567',\n KI: '72001234',\n KM: '3212345',\n KN: '8697652917',\n KP: '1921234567',\n KR: '1000000000',\n KW: '50012345',\n KY: '3453231234',\n KZ: '7710009998',\n LA: '2023123456',\n LB: '71123456',\n LC: '7582845678',\n LI: '660234567',\n LK: '712345678',\n LR: '770123456',\n LS: '50123456',\n LT: '61234567',\n LU: '628123456',\n LV: '21234567',\n LY: '912345678',\n MA: '650123456',\n MC: '612345678',\n MD: '62112345',\n ME: '67622901',\n MF: '690001234',\n MG: '321234567',\n MH: '2351234',\n MK: '72345678',\n ML: '65012345',\n MM: '92123456',\n MN: '88123456',\n MO: '66123456',\n MP: '6702345678',\n MQ: '696201234',\n MR: '22123456',\n MS: '6644923456',\n MT: '96961234',\n MU: '52512345',\n MV: '7712345',\n MW: '991234567',\n MX: '12221234567',\n MY: '123456789',\n MZ: '821234567',\n NA: '811234567',\n NC: '751234',\n NE: '93123456',\n NF: '381234',\n NG: '8021234567',\n NI: '81234567',\n NL: '612345678',\n NO: '40612345',\n NP: '9841234567',\n NR: '5551234',\n NU: '8884012',\n NZ: '211234567',\n OM: '92123456',\n PA: '61234567',\n PE: '912345678',\n PF: '87123456',\n PG: '70123456',\n PH: '9051234567',\n PK: '3012345678',\n PL: '512345678',\n PM: '551234',\n PR: '7872345678',\n PS: '599123456',\n PT: '912345678',\n PW: '6201234',\n PY: '961456789',\n QA: '33123456',\n RE: '692123456',\n RO: '712034567',\n RS: '601234567',\n RU: '9123456789',\n RW: '720123456',\n SA: '512345678',\n SB: '7421234',\n SC: '2510123',\n SD: '911231234',\n SE: '701234567',\n SG: '81234567',\n SH: '51234',\n SI: '31234567',\n SJ: '41234567',\n SK: '912123456',\n SL: '25123456',\n SM: '66661212',\n SN: '701234567',\n SO: '71123456',\n SR: '7412345',\n SS: '977123456',\n ST: '9812345',\n SV: '70123456',\n SX: '7215205678',\n SY: '944567890',\n SZ: '76123456',\n TA: '8999',\n TC: '6492311234',\n TD: '63012345',\n TG: '90112345',\n TH: '812345678',\n TJ: '917123456',\n TK: '7290',\n TL: '77212345',\n TM: '66123456',\n TN: '20123456',\n TO: '7715123',\n TR: '5012345678',\n TT: '8682911234',\n TV: '901234',\n TW: '912345678',\n TZ: '621234567',\n UA: '501234567',\n UG: '712345678',\n US: '2015550123',\n UY: '94231234',\n UZ: '912345678',\n VA: '3123456789',\n VC: '7844301234',\n VE: '4121234567',\n VG: '2843001234',\n VI: '3406421234',\n VN: '912345678',\n VU: '5912345',\n WF: '501234',\n WS: '7212345',\n XK: '43201234',\n YE: '712345678',\n YT: '639012345',\n ZA: '711234567',\n ZM: '955123456',\n ZW: '712345678',\n}\n","import { NgClass } from '@angular/common'\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core'\nimport { CountryFlag } from '../model/country.model'\n\n@Component({\n selector: 'ngx-mat-input-tel-flag',\n imports: [NgClass],\n template: `\n <div class=\"flag\" [ngClass]=\"country.iso2\"></div>\n\n @if (country.name) {\n <span class=\"country-selector-name\">\n {{ country.name }}\n </span>\n }\n\n @if (country.dialCode) {\n <span class=\"country-selector-code\"\n >+{{ country.dialCode }}\n\n @if (country.areaCodes) {\n {{ country.areaCodes.join(', ') }}\n }\n </span>\n }\n `,\n styleUrl: './ngx-mat-input-tel-flag.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NgxMatInputTelFlagComponent {\n @Input({ required: true }) country!: CountryFlag\n}\n","import { AbstractControl, ValidationErrors } from '@angular/forms'\nimport { parsePhoneNumber, PhoneNumber } from 'libphonenumber-js'\n\nexport const ngxMatInputTelValidator = (control: AbstractControl): ValidationErrors | null => {\n const error = { validatePhoneNumber: true }\n let numberInstance: PhoneNumber\n\n if (control.value) {\n try {\n numberInstance = parsePhoneNumber(control.value)\n } catch (e) {\n console.error(e)\n return error\n }\n\n if (numberInstance && !numberInstance.isValid()) {\n if (!control.touched) {\n control.markAsTouched()\n }\n return error\n }\n }\n return null\n}\n","import { Pipe, PipeTransform } from '@angular/core'\nimport { Country } from './model/country.model'\n\n@Pipe({\n name: 'removeIso',\n})\nexport class RemoveIsoPipe implements PipeTransform {\n transform(country: Country): string {\n if (!country?.placeholder || !country?.dialCode) return country?.placeholder || ''\n\n return country.placeholder.replace(`+${country.dialCode}`, '')\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { KeyValuePipe, NgClass } from '@angular/common'\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DoCheck,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Self,\n ViewChild,\n booleanAttribute,\n computed,\n model,\n signal,\n} from '@angular/core'\nimport {\n FormControl,\n FormGroupDirective,\n FormsModule,\n NG_VALIDATORS,\n NgControl,\n NgForm,\n ReactiveFormsModule,\n} from '@angular/forms'\nimport { ErrorStateMatcher, MatRippleModule } from '@angular/material/core'\nimport { MatDividerModule } from '@angular/material/divider'\nimport { MatFormFieldControl } from '@angular/material/form-field'\nimport { MatInputModule } from '@angular/material/input'\nimport { MatMenu, MatMenuModule } from '@angular/material/menu'\nimport {\n AsYouType,\n CountryCode as CC,\n CountryCode,\n E164Number,\n NationalNumber,\n PhoneNumber,\n getExampleNumber,\n parsePhoneNumberFromString,\n} from 'libphonenumber-js'\nimport { Subject } from 'rxjs'\nimport { COUNTRIES_CODE, COUNTRIES_NAME, EXAMPLES } from './data/country-code.const'\nimport { Country } from './model/country.model'\nimport { PhoneNumberFormat } from './model/phone-number-format.model'\nimport { NgxMatInputTelFlagComponent } from './ngx-mat-input-tel-flag/ngx-mat-input-tel-flag.component'\nimport { ngxMatInputTelValidator } from './ngx-mat-input-tel.validator'\nimport { RemoveIsoPipe } from './remove-iso.pipe'\n\nclass ngxMatInputTelBase {\n constructor(\n public _defaultErrorStateMatcher: ErrorStateMatcher,\n public _parentForm: NgForm,\n public _parentFormGroup: FormGroupDirective,\n public ngControl: NgControl,\n ) {}\n}\n\n@Component({\n selector: 'ngx-mat-input-tel',\n templateUrl: './ngx-mat-input-tel.component.html',\n styleUrls: ['./ngx-mat-input-tel.component.scss'],\n providers: [\n { provide: MatFormFieldControl, useExisting: NgxMatInputTelComponent },\n {\n provide: NG_VALIDATORS,\n useValue: ngxMatInputTelValidator,\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgClass,\n\n // Forms\n FormsModule,\n ReactiveFormsModule,\n MatInputModule,\n\n // Mat\n MatMenuModule,\n MatRippleModule,\n MatDividerModule,\n\n // Pipes\n KeyValuePipe,\n RemoveIsoPipe,\n\n // Components\n NgxMatInputTelFlagComponent,\n ],\n})\nexport class NgxMatInputTelComponent\n extends ngxMatInputTelBase\n implements OnInit, DoCheck, OnDestroy\n{\n static nextId = 0\n @ViewChild(MatMenu) matMenu!: MatMenu\n @ViewChild('menuSearchInput', { static: false }) menuSearchInput?: ElementRef<HTMLInputElement>\n @ViewChild('focusable', { static: false }) focusable!: ElementRef\n\n @HostBinding()\n id = `ngx-mat-input-tel-${NgxMatInputTelComponent.nextId++}`\n @HostBinding('class.ngx-floating')\n get shouldLabelFloat(): boolean {\n return this.focused || !this.empty\n }\n\n @Input() autocomplete: 'off' | 'tel' = 'off'\n @Input() ariaLabel = 'Select country'\n @Input() cssClass?: string\n @Input() defaultCountry?: CountryCode\n @Input() errorStateMatcher: ErrorStateMatcher = this._defaultErrorStateMatcher\n @Input() maxLength: string | number = 15\n @Input() name?: string\n @Input() placeholder = ''\n\n @Input() countriesName = COUNTRIES_NAME\n\n private _preferredCountries: string[] = []\n @Input() set preferredCountries(value: string[]) {\n this._preferredCountries = value.map((v) => v.toUpperCase())\n }\n\n @Input() set onlyCountries(countryCodes: string[]) {\n if (countryCodes.length) {\n const codes = countryCodes.map((c) => c.toUpperCase())\n this.$availableCountries.set(this._getFilteredCountries(codes))\n }\n\n this._setPreferredCountriesInDropDown()\n this._setDefaultCountry()\n }\n\n @Input() searchPlaceholder = 'Search ...'\n @Input() validation: 'isValid' | 'isPossible' = 'isValid'\n @Input({ transform: booleanAttribute }) enablePlaceholder = false\n @Input({ transform: booleanAttribute }) enableSearch = false\n @Input({ transform: booleanAttribute }) resetOnChange = false\n\n private _format: PhoneNumberFormat = 'default'\n @Input() set format(value: PhoneNumberFormat) {\n this._format = value\n this.phoneNumber = this.formattedPhoneNumber()\n this.stateChanges.next()\n }\n get format(): PhoneNumberFormat {\n return this._format\n }\n\n private _required = false\n @Input({ transform: booleanAttribute })\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value)\n this.stateChanges.next(undefined)\n }\n get required(): boolean {\n return this._required\n }\n\n private _disabled = false\n @Input({ transform: booleanAttribute })\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value)\n this.stateChanges.next(undefined)\n }\n get disabled(): boolean {\n return this._disabled\n }\n\n get empty(): boolean {\n return !this.phoneNumber\n }\n\n @Output()\n countryChanged: EventEmitter<Country> = new EventEmitter<Country>()\n\n stateChanges = new Subject<void>()\n focused = false\n describedBy = ''\n phoneNumber?: E164Number | NationalNumber = '' as E164Number | NationalNumber\n private _allCountries: Record<string, Country> = {}\n $availableCountries = signal<Record<string, Country>>(this._initAllCountries())\n $selectableCountries = computed(() => {\n if (!this.$searchCriteria() || this.$searchCriteria() === '') return this.$availableCountries()\n\n return this._getOnSearchCountries(\n this.$searchCriteria().toLowerCase(),\n this.$availableCountries(),\n )\n })\n $preferredCountriesInDropDown = signal<Record<string, Country>>({})\n $selectablePreferredCountriesInDropDown = computed(() => {\n if (!this.$searchCriteria() || this.$searchCriteria() === '')\n return this.$preferredCountriesInDropDown()\n\n return this._getOnSearchCountries(\n this.$searchCriteria().toLowerCase(),\n this.$preferredCountriesInDropDown(),\n )\n })\n $showDivider = computed(() => {\n return (\n Object.entries(this.$preferredCountriesInDropDown()).length > 0 &&\n Object.entries(this.$selectableCountries()).length > 0\n )\n })\n $selectedCountry = signal<Country>({} as Country)\n numberInstance?: PhoneNumber\n value?: any\n $searchCriteria = model<string>('')\n\n private _previousFormattedNumber?: string\n\n onTouched = () => {}\n propagateChange = (_: any) => {}\n\n private errorState?: boolean\n\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _focusMonitor: FocusMonitor,\n private _elementRef: ElementRef<HTMLElement>,\n @Optional() @Self() _ngControl: NgControl,\n @Optional() _parentForm: NgForm,\n @Optional() _parentFormGroup: FormGroupDirective,\n _defaultErrorStateMatcher: ErrorStateMatcher,\n ) {\n super(_defaultErrorStateMatcher, _parentForm, _parentFormGroup, _ngControl)\n\n _focusMonitor.monitor(_elementRef, true).subscribe((origin: any) => {\n if (this.focused && !origin) {\n this.onTouched()\n }\n this.focused = !!origin\n this.stateChanges.next()\n })\n\n if (this.ngControl != null) {\n this.ngControl.valueAccessor = this\n }\n }\n\n ngOnInit() {\n this.$availableCountries.set(this._initAllCountries())\n this._setPreferredCountriesInDropDown()\n this._setDefaultCountry()\n\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next()\n }\n\n ngOnDestroy() {\n this.stateChanges.complete()\n this._focusMonitor.stopMonitoring(this._elementRef)\n }\n\n ngDoCheck(): void {\n if (this.ngControl) {\n const oldState = this.errorState\n const newState = this.errorStateMatcher.isErrorState(this.ngControl.control, this._parentForm)\n\n this.errorState =\n (newState && (!this.ngControl.control?.value || this.ngControl.control?.touched)) ||\n (!this.focused ? newState : false)\n\n if (oldState !== newState) {\n this.errorState = newState\n this.stateChanges.next()\n }\n }\n }\n\n onMenuOpened() {\n setTimeout(() => {\n this.menuSearchInput?.nativeElement?.focus()\n }, 0)\n }\n\n updateErrorState() {\n if (\n this.ngControl &&\n this.ngControl.invalid &&\n (this.ngControl.touched || (this._parentForm && this._parentForm.submitted))\n ) {\n const currentState = this.errorStateMatcher.isErrorState(\n this.ngControl.control as FormControl,\n this.ngControl?.value,\n )\n if (currentState !== this.errorState) {\n this.errorState = currentState\n this._changeDetectorRef.markForCheck()\n }\n }\n }\n\n private _setPreferredCountriesInDropDown(countries = this._preferredCountries) {\n this.$preferredCountriesInDropDown.set(this._getFilteredCountries(countries))\n }\n\n private _setDefaultCountry() {\n let country: Country\n\n if (this.numberInstance?.country) {\n // If an existing number is present, we use it to determine country\n country = this.getCountry(this.numberInstance.country)\n } else if (this.defaultCountry) {\n country = this.getCountry(this.defaultCountry)\n } else if (this.$preferredCountriesInDropDown().length) {\n country = this.$preferredCountriesInDropDown()[0]\n } else {\n const firstKeyValue = Object.entries(this._allCountries)[0]\n country = { ...firstKeyValue[1], iso2: firstKeyValue[0] }\n }\n\n this.$selectedCountry.set(country)\n this.countryChanged.emit(country)\n }\n\n private _getFilteredCountries(countryCodes: string[]): Record<string, Country> {\n return Object.values(this._allCountries)\n .filter((c) => countryCodes.includes(c.iso2))\n .sort((a, b) => countryCodes.indexOf(a.name) - countryCodes.indexOf(b.name))\n .reduce<Record<string, Country>>((acc, country) => {\n acc[country.iso2] = country\n return acc\n }, {})\n }\n\n private _getOnSearchCountries(\n searchTerm: string,\n countries: Record<string, Country>,\n ): Record<string, Country> {\n const result: Record<string, Country> = {}\n for (const country of Object.values(countries)) {\n if (\n country.name.toLowerCase().includes(searchTerm) ||\n country.dialCode.includes(searchTerm) ||\n (country.areaCodes && country.areaCodes.join(',').includes(searchTerm))\n ) {\n result[country.iso2] = country\n }\n }\n return result\n }\n\n public onPhoneNumberChange(): void {\n try {\n this._setCountry()\n } catch {\n // Pass a value to trigger the validator error\n this.value = this.formattedPhoneNumber().toString()\n }\n\n this.propagateChange(this.value)\n this._changeDetectorRef.markForCheck()\n }\n\n private _setCountry() {\n if (!this.phoneNumber) {\n this.value = null\n return\n }\n\n const numberInstance = parsePhoneNumberFromString(\n this.phoneNumber.toString(),\n this.$selectedCountry().iso2.toUpperCase() as CC,\n )\n if (!numberInstance) return\n this.numberInstance = numberInstance\n\n this.formatAsYouTypeIfEnabled()\n this.value = this.numberInstance?.number\n\n if (!this.value) throw new Error('Incorrect phone number')\n\n if (\n this.numberInstance &&\n (this.validation === 'isPossible'\n ? this.numberInstance.isPossible()\n : this.numberInstance.isValid())\n ) {\n if (this.phoneNumber !== this.formattedPhoneNumber()) {\n this.phoneNumber = this.formattedPhoneNumber()\n }\n if (\n this.$selectedCountry().iso2 !== this.numberInstance.country &&\n this.numberInstance.country\n ) {\n this.$selectedCountry.set(this.getCountry(this.numberInstance.country))\n this.countryChanged.emit(this.$selectedCountry())\n }\n }\n }\n\n public onCountrySelect(country: { key: string; value: Country }): void {\n if (this.phoneNumber) {\n this.phoneNumber = this.numberInstance?.nationalNumber\n }\n if (this.resetOnChange && this.$selectedCountry().iso2 !== country.key) {\n this.reset()\n }\n\n this.$selectedCountry.set({\n ...country.value,\n iso2: country.key,\n })\n this.countryChanged.emit(this.$selectedCountry())\n\n this.onPhoneNumberChange()\n\n setTimeout(() => {\n this.focusable.nativeElement.focus()\n }, 0)\n }\n\n public getCountry(code: CC): Country {\n const targetCountry = this._allCountries[code]\n if (targetCountry) {\n return { ...targetCountry, iso2: code }\n }\n return {\n name: 'UN',\n iso2: 'UN',\n dialCode: '',\n priority: 0,\n areaCodes: undefined,\n placeholder: '',\n }\n }\n\n public onInputKeyPress(event: any): void {\n const pattern = /[0-9+\\- ]/\n if (!pattern.test(event.key)) {\n event.preventDefault()\n }\n }\n\n protected _initAllCountries(): Record<string, Country> {\n this._allCountries = {}\n Object.entries(COUNTRIES_CODE).forEach(([iso2, codes]) => {\n const country: Country = {\n name: this.countriesName[iso2] || iso2,\n iso2: iso2,\n dialCode: codes[0].toString(),\n priority: +codes || 0,\n areaCodes: codes.length > 2 && Array.isArray(codes[2]) ? codes[2] : undefined,\n placeholder: '',\n }\n if (this.enablePlaceholder) {\n country.placeholder = this._getPhoneNumberPlaceHolder(iso2)\n }\n this._allCountries[iso2] = country\n })\n return this._allCountries\n }\n\n private _getPhoneNumberPlaceHolder(countryISOCode: any): string | undefined {\n try {\n return getExampleNumber(countryISOCode, EXAMPLES)?.number\n } catch (e) {\n return e as any\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n writeValue(value: any): void {\n if (value) {\n this.numberInstance = parsePhoneNumberFromString(value)\n if (this.numberInstance) {\n const countryCode = this.numberInstance.country\n this.phoneNumber = this.formattedPhoneNumber()\n\n if (!countryCode) return\n\n this.$selectedCountry.set(this.getCountry(countryCode))\n\n if (\n this.$selectedCountry().dialCode &&\n !this._preferredCountries.includes(this.$selectedCountry().iso2)\n ) {\n this.$preferredCountriesInDropDown.update((values) => {\n return { ...values, ...{ [this.$selectedCountry().iso2]: this.$selectedCountry() } }\n })\n }\n this.countryChanged.emit(this.$selectedCountry())\n\n // Initial value is set\n this.stateChanges.next()\n } else {\n this.phoneNumber = value\n this.stateChanges.next(undefined)\n }\n }\n\n // Value is set from outside using setValue()\n this.onPhoneNumberChange()\n this._changeDetectorRef.markForCheck()\n }\n\n setDescribedByIds(ids: string[]) {\n this.describedBy = ids.join(' ')\n }\n\n onContainerClick(event: MouseEvent): void {\n if ((event.target as Element).tagName.toLowerCase() !== 'input') {\n this._elementRef.nativeElement.querySelector('input')!.focus()\n }\n }\n\n reset() {\n this.phoneNumber = '' as E164Number | NationalNumber\n this.propagateChange(null)\n\n this._changeDetectorRef.markForCheck()\n this.stateChanges.next(undefined)\n }\n\n private formattedPhoneNumber(): E164Number | NationalNumber {\n if (!this.numberInstance) {\n return (this.phoneNumber?.toString() || '') as E164Number | NationalNumber\n }\n switch (this.format) {\n case 'national':\n return this.numberInstance.formatNational() as E164Number | NationalNumber\n case 'international':\n return this.numberInstance.formatInternational() as E164Number | NationalNumber\n default:\n return this.numberInstance.nationalNumber.toString() as E164Number | NationalNumber\n }\n }\n\n private formatAsYouTypeIfEnabled(): void {\n if (this.format === 'default') {\n return\n }\n const asYouType: AsYouType = new AsYouType(this.$selectedCountry().iso2.toUpperCase() as CC)\n // To avoid caret positioning we apply formatting only if the caret is at the end:\n if (!this.phoneNumber) return\n\n if (this.phoneNumber?.toString().startsWith(this._previousFormattedNumber || '')) {\n this.phoneNumber = asYouType.input(this.phoneNumber.toString()) as E164Number | NationalNumber\n }\n this._previousFormattedNumber = this.phoneNumber.toString()\n }\n}\n","<div class=\"ngx-mat-input-tel-container\">\n <button\n type=\"button\"\n matRipple\n [matMenuTriggerFor]=\"menu\"\n class=\"country-selector\"\n [disabled]=\"disabled\"\n (menuOpened)=\"onMenuOpened()\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ngx-mat-input-tel-flag\n class=\"main-flag\"\n [country]=\"{\n iso2: $selectedCountry().iso2,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu #menu=\"matMenu\">\n <ng-template matMenuContent>\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"$searchCriteria\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$event.stopPropagation()\"\n (keydown)=\"$event.stopPropagation()\"\n style=\"\n width: calc(100% - 4px);\n height: 34px;\n border-top: none;\n border-right: none;\n border-left: none;\n border-image: initial;\n border-bottom: 1px solid rgb(221, 221, 221);\n font-size: 14px;\n padding: 20px 10px 24px;\n box-sizing: border-box;\n background: transparent;\n margin: 2px;\n \"\n />\n }\n @for (\n country of $selectablePreferredCountriesInDropDown() | keyvalue: null;\n track country.key\n ) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($showDivider()) {\n <mat-divider></mat-divider>\n }\n @for (country of $selectableCountries() | keyvalue: null; track country.key) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country)\"\n >\n <ngx-mat-input-tel-flag\n class=\"menu-flag\"\n [country]=\"country.value\"\n ></ngx-mat-input-tel-flag>\n </button>\n }\n </ng-template>\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"tel\"\n name=\"tel\"\n [autocomplete]=\"autocomplete\"\n [ngClass]=\"cssClass\"\n (blur)=\"onTouched()\"\n (keypress)=\"onInputKeyPress($event)\"\n [(ngModel)]=\"phoneNumber\"\n (ngModelChange)=\"onPhoneNumberChange()\"\n [errorStateMatcher]=\"errorStateMatcher\"\n [placeholder]=\"placeholder || ($selectedCountry() | removeIso) || ''\"\n [disabled]=\"disabled\"\n #focusable\n [maxlength]=\"maxLength\"\n />\n</div>\n","/*\n * Public API Surface of ngx-mat-input-tel\n */\n\nexport * from './lib/ngx-mat-input-tel.component'\nexport * from './lib/ngx-mat-input-tel.validator'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|