ngx-mat-input-tel 20.2.0 → 20.3.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/README.md +33 -30
- package/fesm2022/ngx-mat-input-tel.mjs +32 -21
- package/fesm2022/ngx-mat-input-tel.mjs.map +1 -1
- package/index.d.ts +7 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
# International Telephone Input for Angular Material (ngxMatInputTel)
|
|
2
|
+
|
|
2
3
|
An Angular Material package for entering and validating international telephone numbers. It adds a flag dropdown to any input, detects the user's country, displays a relevant placeholder and provides formatting/validation methods.
|
|
3
4
|
|
|
4
5
|
[](https://www.npmjs.com/package/ngx-mat-input-tel)
|
|
@@ -7,18 +8,20 @@ An Angular Material package for entering and validating international telephone
|
|
|
7
8
|

|
|
8
9
|
|
|
9
10
|
## Demo
|
|
11
|
+
|
|
10
12
|
- https://stackblitz.com/~/github.com/rbalet/ngx-mat-input-tel
|
|
11
13
|
|
|
12
14
|
## Caution
|
|
15
|
+
|
|
13
16
|
This is a fork from the [ngx-mat-intl-tel-input](https://github.com/tanansatpal/ngx-mat-intl-tel-input) library whish does not seems to be maintained anymore. _Last commit is over a year_
|
|
14
17
|
|
|
15
18
|
**Supports:**
|
|
16
19
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
| Angular | ngx-mat-input-tel |
|
|
21
|
+
| ------- | ----------------- |
|
|
22
|
+
| >= 18 | >= 19.2.0 |
|
|
23
|
+
| >= 15 | < 19.2.0 |
|
|
24
|
+
|
|
22
25
|
- Validation with [libphonenumber-js](https://github.com/catamphetamine/libphonenumber-js)
|
|
23
26
|
|
|
24
27
|
## Installation
|
|
@@ -38,7 +41,7 @@ This is a fork from the [ngx-mat-intl-tel-input](https://github.com/tanansatpal/
|
|
|
38
41
|
Add `NgxMatInputTelComponent` to your component file:
|
|
39
42
|
|
|
40
43
|
```ts
|
|
41
|
-
imports: [NgxMatInputTelComponent]
|
|
44
|
+
imports: [NgxMatInputTelComponent]
|
|
42
45
|
```
|
|
43
46
|
|
|
44
47
|
## Example
|
|
@@ -87,9 +90,7 @@ If you want to show the sample number for the country selected or errors , use m
|
|
|
87
90
|
#phone
|
|
88
91
|
></ngx-mat-input-tel>
|
|
89
92
|
<mat-hint>e.g. {{phone.selectedCountry.placeHolder}}</mat-hint>
|
|
90
|
-
<mat-error *ngIf="f.form.controls['phone']?.errors?.required"
|
|
91
|
-
>Required Field</mat-error
|
|
92
|
-
>
|
|
93
|
+
<mat-error *ngIf="f.form.controls['phone']?.errors?.required">Required Field</mat-error>
|
|
93
94
|
<mat-error *ngIf="f.form.controls['phone']?.errors?.validatePhoneNumber"
|
|
94
95
|
>Invalid Number</mat-error
|
|
95
96
|
>
|
|
@@ -98,29 +99,31 @@ If you want to show the sample number for the country selected or errors , use m
|
|
|
98
99
|
|
|
99
100
|
## Inputs
|
|
100
101
|
|
|
101
|
-
| Options | Type
|
|
102
|
-
| ------------------ |
|
|
103
|
-
| autocomplete | `off`
|
|
104
|
-
|
|
|
105
|
-
|
|
|
106
|
-
|
|
|
107
|
-
|
|
|
108
|
-
|
|
|
109
|
-
|
|
|
110
|
-
|
|
|
111
|
-
|
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
|
|
|
116
|
-
|
|
102
|
+
| Options | Type | Default | Description |
|
|
103
|
+
| ------------------ | ------------------------- | ---------------- | ----------------------------------------------------------------------------------- |
|
|
104
|
+
| autocomplete | `off` \| `tel` | `off` | For input autocompletion |
|
|
105
|
+
| ariaLabel | `string` | `Select country` | Aria label for the country selector button |
|
|
106
|
+
| cssClass | `string` | `undefined` | If input custom class are needed |
|
|
107
|
+
| defaultCountry | `CountryCode` | `undefined` | Default country code |
|
|
108
|
+
| enablePlaceholder | `boolean` | `false` | Input placeholder text, which adapts to the country selected. |
|
|
109
|
+
| enableSearch | `boolean` | `false` | Whether to display a search bar to help filter down the list of countries |
|
|
110
|
+
| format | `string` \*\*\*\* | `default` | Format of "as you type" input. Possible values: national, international, default |
|
|
111
|
+
| placeholder | `string` | `undefined` | Placeholder for the input component. |
|
|
112
|
+
| maxLength | `number` | `15` | max length of the input. |
|
|
113
|
+
| onlyCountries | `string[]` | `[]` | List of manually selected country abbreviations, which will appear in the dropdown. |
|
|
114
|
+
| preferredCountries | `string[]` | `[]` | List of country abbreviations, which will appear at the top. |
|
|
115
|
+
| resetOnChange | `boolean` | `false` | Reset input on country change |
|
|
116
|
+
| searchPlaceholder | `string` | `Search ...` | Placeholder for the search input |
|
|
117
|
+
| validation | `isPossible` \| `isValid` | `isValid` | Change the validation type |
|
|
117
118
|
|
|
118
119
|
## Outputs
|
|
120
|
+
|
|
119
121
|
| Options | Type | Default | Description |
|
|
120
122
|
| -------------- | ----------------------- | ----------- | ----------------- |
|
|
121
123
|
| countryChanged | `EventEmitter<Country>` | `undefined` | On country change |
|
|
122
124
|
|
|
123
125
|
## Css variable
|
|
126
|
+
|
|
124
127
|
| Name | Default | Explanation |
|
|
125
128
|
| -------------------------------------- | -------------- | ----------------------------------------------------------------------------- |
|
|
126
129
|
| `--ngxMatInputTel-opacity` | `0` | If you wish both, the country flag and the placeholder to be shown by default |
|
|
@@ -130,14 +133,13 @@ If you want to show the sample number for the country selected or errors , use m
|
|
|
130
133
|
| `--ngxMatInputTel-menu-flag-display` | `inline-block` | If you wish to hide the country flag inside the menu only |
|
|
131
134
|
|
|
132
135
|
## Validator
|
|
136
|
+
|
|
133
137
|
In case you had to manually remove the validator, the library exported it so you could add it back again.
|
|
134
138
|
|
|
135
139
|
| Name | Description | Example |
|
|
136
140
|
| ------------------------- | ----------------------------------------------- | ------------------------------------------------------ |
|
|
137
141
|
| `ngxMatInputTelValidator` | The actual phone validator used for the control | `phoneControl.addValidators([ngxMatInputTlValidator])` |
|
|
138
142
|
|
|
139
|
-
|
|
140
|
-
|
|
141
143
|
## Library Contributions
|
|
142
144
|
|
|
143
145
|
- Fork repo.
|
|
@@ -162,14 +164,15 @@ In your project run:
|
|
|
162
164
|
`$ npm install --save {{path to your local '*.tgz' package file}}`
|
|
163
165
|
|
|
164
166
|
## Authors and acknowledgment
|
|
165
|
-
|
|
166
|
-
|
|
167
|
+
|
|
168
|
+
- maintainer [Raphaël Balet](https://github.com/rbalet)
|
|
169
|
+
- Forked from [ngx-mat-intl-tel-input](https://github.com/tanansatpal/ngx-mat-intl-tel-input)
|
|
167
170
|
|
|
168
171
|
### Contributors
|
|
172
|
+
|
|
169
173
|
Contributions are welcome! See our [contribution notes](CONTRIBUTING.md).
|
|
170
174
|
|
|
171
175
|
[<img alt="Contributor rbalet" src="https://avatars.githubusercontent.com/u/44493964?v=4&size=128" width=64>](https://github.com/rbalet)
|
|
172
176
|
[<img alt="Contributor ChristianLoosliVGT" src="https://avatars.githubusercontent.com/u/126682673?v=4&size=128" width=64>](https://github.com/ChristianLoosliVGT)
|
|
173
177
|
|
|
174
|
-
|
|
175
178
|
[](https://www.buymeacoffee.com/widness)
|
|
@@ -564,8 +564,8 @@ const EXAMPLES = {
|
|
|
564
564
|
|
|
565
565
|
class NgxMatInputTelFlagComponent {
|
|
566
566
|
country;
|
|
567
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0
|
|
568
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0
|
|
567
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NgxMatInputTelFlagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
568
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: NgxMatInputTelFlagComponent, isStandalone: true, selector: "ngx-mat-input-tel-flag", inputs: { country: "country" }, ngImport: i0, template: `<div class="flag" [ngClass]="country.flagClass"></div>
|
|
569
569
|
|
|
570
570
|
@if (country.name) {
|
|
571
571
|
<span class="country-selector-name">{{ country.name }}</span>
|
|
@@ -581,7 +581,7 @@ class NgxMatInputTelFlagComponent {
|
|
|
581
581
|
</span>
|
|
582
582
|
}`, isInline: true, styles: [":host{display:flex;align-items:center;justify-content:space-between;gap:4px}:host .menu-flag{display:var(--ngxMatInputTel-menu-flag-display)}@media print{:host{--ngxMatInputTel-flag-display: none}}:host .flag{display:var(--ngxMatInputTel-flag-display, inline-block);margin-right:.5ex;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAABw4CAMAAAAs8X1iAAADAFBMVEUAAAD////OESYAJH0AAAAAK3/80RbtKTn/ywDRETPQFCvYJx7/AAAAejkAI5UANpV0rt0AZTTvKy3BAQPCJy1Bid3eKg8AnUkAlETgGx3VAQD93QXtHCQAeF8AN6YBhU0AakLeChcAAIzKLzwAKWb91AActTr94wAAo17209YAbcsCrsnHDR/kABLoES0AcsEiRY1LktoAak4DJ4s6ecn38/ABHqERSK8DaacBod3GDDDYFDsAgAASrSsDlsAHiTBpuuYCKKYAmzpKrdYAP4j9zyT1s7YAZgAAV6VmzP8ormbeFh4EUZkkSaX630X0rgG6CC6eLzoPPHytHSX33xYZigABPppKl88BPxw6gj3WZHTe5/DZECNbl7H6uBEAlWcBS6joKDoAAGYaRJHlAjb1xsrZJBEAXbsCf/3gUmEjnkLNDCwANrKdqsrVJyftHSjjPDIvmzAMBwTnbnKMGj3mqK/B0eT8OjKyIjQhXDNAWInzlpX950kNXq8ei0M+bU3////c29r/cgDsho3idQnsAAD9TRQ+XrivDgv2gwFLqFZeteMWFpbgACXuxQmakKswVpmnp6X+xh3PSFB/rY8AUbrgTwf+mjIjXEI7eCgAmQDasjM/mQEiG1ASiAeozbbGvcOLJyqNqdbPf4ejyuxRfMB/msPelZ0NrS00sjBtg7hLaaPxK0IZIG0/PnEwkAngUCWwigqxxNpTSgfCHhp/teHG0rzk7uYOdCjy3roAUPBNL2rSuhy1uAglMXTHujMxLRHFpV59CRBvjTp4YmiUsjy1oyHqkBdguI3CdyFtaZFHlHNUWlWLgyqOh4ZyhnMpd2XseCNnXDOmUzh7awhLiKQzDw2yNFDvQ02RqGZagyxpoKt6tB5PaIWRxZrFQBxDTEB5flJsOE9SCxp6MBimuIf24p3sf0nltl5Ds5PYw4DPrJzAfVf22XudPyMSOTn///8CNwPAGTilUGUCi0b////MECjvKiwAMoze8+gABhCSwecEfcgAOJTnESwetTri0eK2AAABAHRSTlMA/////////////////////////////////////////////////////////////////v////3///7///////////7//f/////+///////////+//////7//////////f/////////////9/vz//////////v3//f///////////vz///7////////////////+//7/////////////////+////v/9/v7///////////7//v///v////7//////f///////v///////v////7//////v/+///+//v//////////v/////+//3//v/////U/9f7pY6kfJrKwsC2SaOqKyxZfwAAjiFJREFUeJzsvQ1cVNe97z0bBgRiG6MkPY3JPecTYsy0NiGtu/Ym57WN0z5pDBGbkyvTcNpL6DnkdIgZyphAm2QufKIxdhyETxIfkjIRHW+GlPLmTPhkVEDlRWEIiESivImgAtLTa3uf89zzfO591tovM/tlrb3XShyc0P1Thz17/7/r//uvtfaW2TOzt8kUcxXkM/bMRChLWpqFW8jck1OQn4iRCW7kEQHI5NdggcQ8EeEAITwPFw+ARBGBADo8SQpYIipOSyuOPotG14Xn9niiQBpGkYjMudkrs35yIOn06a1bR0owlqwIS+dvA+qXFZ1pZ/ILcvbAovmlTGnBdadPv316NCkKCOF5fLfmKZCk2pz5+fnrBbURQAyPDJyAiEBOz/x8T09PjpjCJIZLpgaHRIAz85U9GZW1ESBRW0kuS9AC/rpIgUT/5Etnz740GRkI3QxNI/uczn0jTYRAUu11T93x43We62IR2kB9uL3dxe77lHW1t4frCYCS+dnZPb66Ot+e2dn5EhJL4enp2VnuX0WYqAagURA/PRp5qg8oFI/AUtAX9NgqA3SPrUpA99iamHjvvZTA229jLamOrUl1nqTstyeOJkWyaB9bk0r8Z79ZMnqqxPf2X5UkCYD2sTXz42zPKPhXEjmQ6RxbR0vqTo2+fVtJnfg/hM6x9eipUX/JaP3vR0f7j0ZrwOvomVMlTU32Jqf91IkzRwmAE/MnRnfUeTx1nlMnLl/UB949c+ZEid3+d39n31PfP7/5t7rAxfcmj2b/4O8ef/xL/5h9dHL+I13goxOj9W9/s9vpOv3NV97uPXNRFzh66tSpV9721NVt+viU/9RovS6QXT9aUn80Me/WxLrRU/X12boASksCWApaLtGXCGQAsQcYfb1qANTAqwSSAWYCGUBsgEWRPOcqmf5vmQzg8wHrWuiAlkqgjBZiID0DEC3p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);background-size:100% auto;filter:drop-shadow(1px 1px 1px rgba(0,0,0,.54));height:14px;width:24px;min-width:24px}:host .flag.KY{background-position:0 0}:host .flag.AC{background-position:0 -14px}:host .flag.AE{background-position:0 -28px}:host .flag.AF{background-position:0 -42px}:host .flag.AG{background-position:0 -56px}:host .flag.AI{background-position:0 -70px}:host .flag.AL{background-position:0 -84px}:host .flag.AM{background-position:0 -98px}:host .flag.AO{background-position:0 -112px}:host .flag.AQ{background-position:0 -126px}:host .flag.AR{background-position:0 -140px}:host .flag.AS{background-position:0 -154px}:host .flag.AT{background-position:0 -168px}:host .flag.AU{background-position:0 -182px}:host .flag.AW{background-position:0 -196px}:host .flag.AX{background-position:0 -210px}:host .flag.AZ{background-position:0 -224px}:host .flag.BA{background-position:0 -238px}:host .flag.BB{background-position:0 -252px}:host .flag.BD{background-position:0 -266px}:host .flag.BE{background-position:0 -280px}:host .flag.BF{background-position:0 -294px}:host .flag.BG{background-position:0 -308px}:host .flag.BH{background-position:0 -322px}:host .flag.BI{background-position:0 -336px}:host .flag.BJ{background-position:0 -350px}:host .flag.BL{background-position:0 -364px}:host .flag.BM{background-position:0 -378px}:host .flag.BN{background-position:0 -392px}:host .flag.BO{background-position:0 -406px}:host .flag.BQ{background-position:0 -420px}:host .flag.BR{background-position:0 -434px}:host .flag.BS{background-position:0 -448px}:host .flag.BT{background-position:0 -462px}:host .flag.BV{background-position:0 -476px}:host .flag.BW{background-position:0 -490px}:host .flag.BY{background-position:0 -504px}:host .flag.BZ{background-position:0 -518px}:host .flag.CA{background-position:0 -532px}:host .flag.CC{background-position:0 -546px}:host .flag.CD{background-position:0 -560px}:host .flag.CF{background-position:0 -574px}:host .flag.CG{background-position:0 -588px}:host .flag.CH{background-position:0 -602px}:host .flag.CI{background-position:0 -616px}:host .flag.CK{background-position:0 -630px}:host .flag.CL{background-position:0 -644px}:host .flag.CM{background-position:0 -658px}:host .flag.CN{background-position:0 -672px}:host .flag.CO{background-position:0 -686px}:host .flag.CP{background-position:0 -700px}:host .flag.CR{background-position:0 -714px}:host .flag.CU{background-position:0 -728px}:host .flag.CV{background-position:0 -742px}:host .flag.CW{background-position:0 -756px}:host .flag.CX{background-position:0 -770px}:host .flag.CY{background-position:0 -784px}:host .flag.CZ{background-position:0 -798px}:host .flag.DE{background-position:0 -812px}:host .flag.DG{background-position:0 -826px}:host .flag.DJ{background-position:0 -840px}:host .flag.DK{background-position:0 -854px}:host .flag.DM{background-position:0 -868px}:host .flag.DO{background-position:0 -882px}:host .flag.DZ{background-position:0 -896px}:host .flag.EA{background-position:0 -910px}:host .flag.EC{background-position:0 -924px}:host .flag.EE{background-position:0 -938px}:host .flag.EG{background-position:0 -952px}:host .flag.EH{background-position:0 -966px}:host .flag.ER{background-position:0 -980px}:host .flag.ES{background-position:0 -994px}:host .flag.ET{background-position:0 -1008px}:host .flag.EU{background-position:0 -1022px}:host .flag.FI{background-position:0 -1036px}:host .flag.FJ{background-position:0 -1050px}:host .flag.FK{background-position:0 -1064px}:host .flag.FM{background-position:0 -1078px}:host .flag.FO{background-position:0 -1092px}:host .flag.FR{background-position:0 -1106px}:host .flag.GA{background-position:0 -1120px}:host .flag.GB{background-position:0 -1134px}:host .flag.GD{background-position:0 -1148px}:host .flag.GE{background-position:0 -1162px}:host .flag.GF{background-position:0 -1176px}:host .flag.GG{background-position:0 -1190px}:host .flag.GH{background-position:0 -1204px}:host .flag.GI{background-position:0 -1218px}:host .flag.GL{background-position:0 -1232px}:host .flag.GM{background-position:0 -1246px}:host .flag.GN{background-position:0 -1260px}:host .flag.GP{background-position:0 -1274px}:host .flag.GQ{background-position:0 -1288px}:host .flag.GR{background-position:0 -1302px}:host .flag.GS{background-position:0 -1316px}:host .flag.GT{background-position:0 -1330px}:host .flag.GU{background-position:0 -1344px}:host .flag.GW{background-position:0 -1358px}:host .flag.GY{background-position:0 -1372px}:host .flag.HK{background-position:0 -1386px}:host .flag.HM{background-position:0 -1400px}:host .flag.HN{background-position:0 -1414px}:host .flag.HR{background-position:0 -1428px}:host .flag.HT{background-position:0 -1442px}:host .flag.HU{background-position:0 -1456px}:host .flag.IC{background-position:0 -1470px}:host .flag.ID{background-position:0 -1484px}:host .flag.IE{background-position:0 -1498px}:host .flag.IL{background-position:0 -1512px}:host .flag.IM{background-position:0 -1526px}:host .flag.IN{background-position:0 -1540px}:host .flag.IO{background-position:0 -1554px}:host .flag.IQ{background-position:0 -1568px}:host .flag.IR{background-position:0 -1582px}:host .flag.IS{background-position:0 -1596px}:host .flag.IT{background-position:0 -1610px}:host .flag.JE{background-position:0 -1624px}:host .flag.JM{background-position:0 -1638px}:host .flag.JO{background-position:0 -1652px}:host .flag.JP{background-position:0 -1666px}:host .flag.KE{background-position:0 -1680px}:host .flag.KG{background-position:0 -1694px}:host .flag.KH{background-position:0 -1708px}:host .flag.KI{background-position:0 -1722px}:host .flag.KM{background-position:0 -1736px}:host .flag.KN{background-position:0 -1750px}:host .flag.KP{background-position:0 -1764px}:host .flag.KR{background-position:0 -1778px}:host .flag.KW{background-position:0 -1792px}:host .flag.AD{background-position:0 -1806px}:host .flag.KZ{background-position:0 -1820px}:host .flag.LA{background-position:0 -1834px}:host .flag.LB{background-position:0 -1848px}:host .flag.LC{background-position:0 -1862px}:host .flag.LI{background-position:0 -1876px}:host .flag.LK{background-position:0 -1890px}:host .flag.LR{background-position:0 -1904px}:host .flag.LS{background-position:0 -1918px}:host .flag.LT{background-position:0 -1932px}:host .flag.LU{background-position:0 -1946px}:host .flag.LV{background-position:0 -1960px}:host .flag.LY{background-position:0 -1974px}:host .flag.MA{background-position:0 -1988px}:host .flag.MC{background-position:0 -2002px}:host .flag.MD{background-position:0 -2016px}:host .flag.ME{background-position:0 -2030px}:host .flag.MF{background-position:0 -2044px}:host .flag.MG{background-position:0 -2058px}:host .flag.MH{background-position:0 -2072px}:host .flag.MK{background-position:0 -2086px}:host .flag.ML{background-position:0 -2100px}:host .flag.MM{background-position:0 -2114px}:host .flag.MN{background-position:0 -2128px}:host .flag.MO{background-position:0 -2142px}:host .flag.MP{background-position:0 -2156px}:host .flag.MQ{background-position:0 -2170px}:host .flag.MR{background-position:0 -2184px}:host .flag.MS{background-position:0 -2198px}:host .flag.MT{background-position:0 -2212px}:host .flag.MU{background-position:0 -2226px}:host .flag.MV{background-position:0 -2240px}:host .flag.MW{background-position:0 -2254px}:host .flag.MX{background-position:0 -2268px}:host .flag.MY{background-position:0 -2282px}:host .flag.MZ{background-position:0 -2296px}:host .flag.NA{background-position:0 -2310px}:host .flag.NC{background-position:0 -2324px}:host .flag.NE{background-position:0 -2338px}:host .flag.NF{background-position:0 -2352px}:host .flag.NG{background-position:0 -2366px}:host .flag.NI{background-position:0 -2380px}:host .flag.NL{background-position:0 -2394px}:host .flag.NO{background-position:0 -2408px}:host .flag.NP{background-position:0 -2422px}:host .flag.NR{background-position:0 -2436px}:host .flag.NU{background-position:0 -2450px}:host .flag.NZ{background-position:0 -2464px}:host .flag.OM{background-position:0 -2478px}:host .flag.PA{background-position:0 -2492px}:host .flag.PE{background-position:0 -2506px}:host .flag.PF{background-position:0 -2520px}:host .flag.PG{background-position:0 -2534px}:host .flag.PH{background-position:0 -2548px}:host .flag.PK{background-position:0 -2562px}:host .flag.PL{background-position:0 -2576px}:host .flag.PM{background-position:0 -2590px}:host .flag.PN{background-position:0 -2604px}:host .flag.PR{background-position:0 -2618px}:host .flag.PS{background-position:0 -2632px}:host .flag.PT{background-position:0 -2646px}:host .flag.PW{background-position:0 -2660px}:host .flag.PY{background-position:0 -2674px}:host .flag.QA{background-position:0 -2688px}:host .flag.RE{background-position:0 -2702px}:host .flag.RO{background-position:0 -2716px}:host .flag.RS{background-position:0 -2730px}:host .flag.RU{background-position:0 -2744px}:host .flag.RW{background-position:0 -2758px}:host .flag.SA{background-position:0 -2772px}:host .flag.SB{background-position:0 -2786px}:host .flag.SC{background-position:0 -2800px}:host .flag.SD{background-position:0 -2814px}:host .flag.SE{background-position:0 -2828px}:host .flag.SG{background-position:0 -2842px}:host .flag.SH{background-position:0 -2856px}:host .flag.SI{background-position:0 -2870px}:host .flag.SJ{background-position:0 -2884px}:host .flag.SK{background-position:0 -2898px}:host .flag.SL{background-position:0 -2912px}:host .flag.SM{background-position:0 -2926px}:host .flag.SN{background-position:0 -2940px}:host .flag.SO{background-position:0 -2954px}:host .flag.SR{background-position:0 -2968px}:host .flag.SS{background-position:0 -2982px}:host .flag.ST{background-position:0 -2996px}:host .flag.SV{background-position:0 -3010px}:host .flag.SX{background-position:0 -3024px}:host .flag.SY{background-position:0 -3038px}:host .flag.SZ{background-position:0 -3052px}:host .flag.TA{background-position:0 -3066px}:host .flag.TC{background-position:0 -3080px}:host .flag.TD{background-position:0 -3094px}:host .flag.TF{background-position:0 -3108px}:host .flag.TG{background-position:0 -3122px}:host .flag.TH{background-position:0 -3136px}:host .flag.TJ{background-position:0 -3150px}:host .flag.TK{background-position:0 -3164px}:host .flag.TL{background-position:0 -3178px}:host .flag.TM{background-position:0 -3192px}:host .flag.TN{background-position:0 -3206px}:host .flag.TO{background-position:0 -3220px}:host .flag.TR{background-position:0 -3234px}:host .flag.TT{background-position:0 -3248px}:host .flag.TV{background-position:0 -3262px}:host .flag.TW{background-position:0 -3276px}:host .flag.TZ{background-position:0 -3290px}:host .flag.UA{background-position:0 -3304px}:host .flag.UG{background-position:0 -3318px}:host .flag.UM{background-position:0 -3332px}:host .flag.UN{background-position:0 -3346px}:host .flag.US{background-position:0 -3360px}:host .flag.UY{background-position:0 -3374px}:host .flag.UZ{background-position:0 -3388px}:host .flag.VA{background-position:0 -3402px}:host .flag.VC{background-position:0 -3416px}:host .flag.VE{background-position:0 -3430px}:host .flag.VG{background-position:0 -3444px}:host .flag.VI{background-position:0 -3458px}:host .flag.VN{background-position:0 -3472px}:host .flag.VU{background-position:0 -3486px}:host .flag.WF{background-position:0 -3500px}:host .flag.WS{background-position:0 -3514px}:host .flag.XK{background-position:0 -3528px}:host .flag.YE{background-position:0 -3542px}:host .flag.YT{background-position:0 -3556px}:host .flag.ZA{background-position:0 -3570px}:host .flag.ZM{background-position:0 -3584px}:host .flag.ZW{background-position:0 -3598px}:host .country-selector-name{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
583
583
|
}
|
|
584
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0
|
|
584
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NgxMatInputTelFlagComponent, decorators: [{
|
|
585
585
|
type: Component,
|
|
586
586
|
args: [{ selector: 'ngx-mat-input-tel-flag', imports: [NgClass], template: `<div class="flag" [ngClass]="country.flagClass"></div>
|
|
587
587
|
|
|
@@ -611,6 +611,7 @@ const ngxMatInputTelValidator = (control) => {
|
|
|
611
611
|
numberInstance = parsePhoneNumber(control.value);
|
|
612
612
|
}
|
|
613
613
|
catch (e) {
|
|
614
|
+
console.error(e);
|
|
614
615
|
return error;
|
|
615
616
|
}
|
|
616
617
|
if (numberInstance && !numberInstance.isValid()) {
|
|
@@ -634,10 +635,10 @@ class SearchPipe {
|
|
|
634
635
|
.includes(searchCriteria.toLowerCase());
|
|
635
636
|
});
|
|
636
637
|
}
|
|
637
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0
|
|
638
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0
|
|
638
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
639
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.0", ngImport: i0, type: SearchPipe, isStandalone: true, name: "search" });
|
|
639
640
|
}
|
|
640
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0
|
|
641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: SearchPipe, decorators: [{
|
|
641
642
|
type: Pipe,
|
|
642
643
|
args: [{
|
|
643
644
|
name: 'search',
|
|
@@ -670,6 +671,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
670
671
|
return this.focused || !this.empty;
|
|
671
672
|
}
|
|
672
673
|
autocomplete = 'off';
|
|
674
|
+
ariaLabel = 'Select country';
|
|
673
675
|
cssClass;
|
|
674
676
|
defaultCountry;
|
|
675
677
|
errorStateMatcher = this._defaultErrorStateMatcher;
|
|
@@ -722,8 +724,8 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
722
724
|
describedBy = '';
|
|
723
725
|
phoneNumber = '';
|
|
724
726
|
_allCountries = [];
|
|
725
|
-
$availableCountries = signal(this._initAllCountries());
|
|
726
|
-
$preferredCountriesInDropDown = signal([]);
|
|
727
|
+
$availableCountries = signal(this._initAllCountries(), ...(ngDevMode ? [{ debugName: "$availableCountries" }] : []));
|
|
728
|
+
$preferredCountriesInDropDown = signal([], ...(ngDevMode ? [{ debugName: "$preferredCountriesInDropDown" }] : []));
|
|
727
729
|
$selectedCountry;
|
|
728
730
|
numberInstance;
|
|
729
731
|
value;
|
|
@@ -772,8 +774,8 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
772
774
|
}
|
|
773
775
|
}
|
|
774
776
|
}
|
|
775
|
-
|
|
776
|
-
this.menuSearchInput?.nativeElement
|
|
777
|
+
onMenuOpened() {
|
|
778
|
+
this.menuSearchInput?.nativeElement?.focus();
|
|
777
779
|
}
|
|
778
780
|
updateErrorState() {
|
|
779
781
|
if (this.ngControl &&
|
|
@@ -804,7 +806,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
804
806
|
else {
|
|
805
807
|
country = this._allCountries[0];
|
|
806
808
|
}
|
|
807
|
-
this.$selectedCountry = signal(country);
|
|
809
|
+
this.$selectedCountry = signal(country, ...(ngDevMode ? [{ debugName: "$selectedCountry" }] : []));
|
|
808
810
|
this.countryChanged.emit(country);
|
|
809
811
|
}
|
|
810
812
|
_getFilteredCountries(countryCodes) {
|
|
@@ -815,7 +817,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
815
817
|
try {
|
|
816
818
|
this._setCountry();
|
|
817
819
|
}
|
|
818
|
-
catch
|
|
820
|
+
catch {
|
|
819
821
|
// Pass a value to trigger the validator error
|
|
820
822
|
this.value = this.formattedPhoneNumber().toString();
|
|
821
823
|
}
|
|
@@ -849,7 +851,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
849
851
|
}
|
|
850
852
|
}
|
|
851
853
|
}
|
|
852
|
-
onCountrySelect(country
|
|
854
|
+
onCountrySelect(country) {
|
|
853
855
|
if (this.phoneNumber) {
|
|
854
856
|
this.phoneNumber = this.numberInstance?.nationalNumber;
|
|
855
857
|
}
|
|
@@ -859,7 +861,9 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
859
861
|
this.$selectedCountry.set(country);
|
|
860
862
|
this.countryChanged.emit(this.$selectedCountry());
|
|
861
863
|
this.onPhoneNumberChange();
|
|
862
|
-
|
|
864
|
+
setTimeout(() => {
|
|
865
|
+
this.focusable.nativeElement.focus();
|
|
866
|
+
}, 0);
|
|
863
867
|
}
|
|
864
868
|
getCountry(code) {
|
|
865
869
|
return (this._allCountries.find((c) => c.iso2 === code.toLowerCase()) || {
|
|
@@ -925,7 +929,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
925
929
|
return;
|
|
926
930
|
if (!this.$selectedCountry) {
|
|
927
931
|
// Init value was given
|
|
928
|
-
this.$selectedCountry = signal(this.getCountry(countryCode));
|
|
932
|
+
this.$selectedCountry = signal(this.getCountry(countryCode), ...(ngDevMode ? [{ debugName: "$selectedCountry" }] : []));
|
|
929
933
|
}
|
|
930
934
|
else {
|
|
931
935
|
this.$selectedCountry.set(this.getCountry(countryCode));
|
|
@@ -989,15 +993,20 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
989
993
|
}
|
|
990
994
|
this._previousFormattedNumber = this.phoneNumber.toString();
|
|
991
995
|
}
|
|
992
|
-
|
|
993
|
-
|
|
996
|
+
onSearchInputChange() {
|
|
997
|
+
setTimeout(() => {
|
|
998
|
+
this.menuSearchInput?.nativeElement.focus();
|
|
999
|
+
}, 200);
|
|
1000
|
+
}
|
|
1001
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NgxMatInputTelComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }, { token: i2.NgForm, optional: true }, { token: i2.FormGroupDirective, optional: true }, { token: i3.ErrorStateMatcher }], target: i0.ɵɵFactoryTarget.Component });
|
|
1002
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.0", type: NgxMatInputTelComponent, isStandalone: true, selector: "ngx-mat-input-tel", inputs: { autocomplete: "autocomplete", ariaLabel: "ariaLabel", cssClass: "cssClass", defaultCountry: "defaultCountry", errorStateMatcher: "errorStateMatcher", maxLength: "maxLength", name: "name", placeholder: "placeholder", preferredCountries: "preferredCountries", onlyCountries: "onlyCountries", searchPlaceholder: "searchPlaceholder", validation: "validation", enablePlaceholder: ["enablePlaceholder", "enablePlaceholder", booleanAttribute], enableSearch: ["enableSearch", "enableSearch", booleanAttribute], resetOnChange: ["resetOnChange", "resetOnChange", booleanAttribute], format: "format", required: ["required", "required", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { countryChanged: "countryChanged" }, host: { properties: { "id": "this.id", "class.ngx-floating": "this.shouldLabelFloat" } }, providers: [
|
|
994
1003
|
{ provide: MatFormFieldControl, useExisting: NgxMatInputTelComponent },
|
|
995
1004
|
{
|
|
996
1005
|
provide: NG_VALIDATORS,
|
|
997
1006
|
useValue: ngxMatInputTelValidator,
|
|
998
1007
|
multi: true,
|
|
999
1008
|
},
|
|
1000
|
-
], 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)=\"
|
|
1009
|
+
], 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 flagClass: $selectedCountry().flagClass,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu\n #menu=\"matMenu\"\n class=\"ngx-mat-input-tel-overlay-pane\"\n [backdropClass]=\"'ngx-mat-input-tel-overlay-backdrop'\"\n >\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"searchCriteria\"\n type=\"text\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$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 (country of $preferredCountriesInDropDown(); track $index) {\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 class=\"menu-flag\" [country]=\"country\"></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($preferredCountriesInDropDown().length) {\n <mat-divider></mat-divider>\n }\n @for (country of $availableCountries() | search: searchCriteria; track $index) {\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 class=\"menu-flag\" [country]=\"country\"></ngx-mat-input-tel-flag>\n </button>\n }\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"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", 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;padding-right:6px;padding-left:4px;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:
|
|
1001
1010
|
// Forms
|
|
1002
1011
|
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:
|
|
1003
1012
|
// Mat
|
|
@@ -1007,7 +1016,7 @@ class NgxMatInputTelComponent extends ngxMatInputTelBase {
|
|
|
1007
1016
|
// Pipes
|
|
1008
1017
|
SearchPipe, name: "search" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1009
1018
|
}
|
|
1010
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0
|
|
1019
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: NgxMatInputTelComponent, decorators: [{
|
|
1011
1020
|
type: Component,
|
|
1012
1021
|
args: [{ selector: 'ngx-mat-input-tel', providers: [
|
|
1013
1022
|
{ provide: MatFormFieldControl, useExisting: NgxMatInputTelComponent },
|
|
@@ -1030,7 +1039,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.1", ngImpor
|
|
|
1030
1039
|
NgxMatInputTelFlagComponent,
|
|
1031
1040
|
// Pipes
|
|
1032
1041
|
SearchPipe,
|
|
1033
|
-
], 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)=\"
|
|
1042
|
+
], 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 flagClass: $selectedCountry().flagClass,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu\n #menu=\"matMenu\"\n class=\"ngx-mat-input-tel-overlay-pane\"\n [backdropClass]=\"'ngx-mat-input-tel-overlay-backdrop'\"\n >\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"searchCriteria\"\n type=\"text\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$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 (country of $preferredCountriesInDropDown(); track $index) {\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 class=\"menu-flag\" [country]=\"country\"></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($preferredCountriesInDropDown().length) {\n <mat-divider></mat-divider>\n }\n @for (country of $availableCountries() | search: searchCriteria; track $index) {\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 class=\"menu-flag\" [country]=\"country\"></ngx-mat-input-tel-flag>\n </button>\n }\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"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", 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;padding-right:6px;padding-left:4px;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"] }]
|
|
1034
1043
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i0.ElementRef }, { type: i2.NgControl, decorators: [{
|
|
1035
1044
|
type: Optional
|
|
1036
1045
|
}, {
|
|
@@ -1055,6 +1064,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.1", ngImpor
|
|
|
1055
1064
|
args: ['class.ngx-floating']
|
|
1056
1065
|
}], autocomplete: [{
|
|
1057
1066
|
type: Input
|
|
1067
|
+
}], ariaLabel: [{
|
|
1068
|
+
type: Input
|
|
1058
1069
|
}], cssClass: [{
|
|
1059
1070
|
type: Input
|
|
1060
1071
|
}], defaultCountry: [{
|
|
@@ -1091,7 +1102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.1", ngImpor
|
|
|
1091
1102
|
args: [{ transform: booleanAttribute }]
|
|
1092
1103
|
}], disabled: [{
|
|
1093
1104
|
type: Input,
|
|
1094
|
-
args: [{
|
|
1105
|
+
args: [{ transform: booleanAttribute }]
|
|
1095
1106
|
}], countryChanged: [{
|
|
1096
1107
|
type: Output
|
|
1097
1108
|
}] } });
|
|
@@ -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/search.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 ALL_COUNTRIES = [\n // 'name', 'iso2', 'dialCode', 'priority', 'areaCodes'\n ['Afghanistan (افغانستان)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (الجزائر)', 'dz', '213'],\n ['American Samoa', 'as', '1', 4, ['684']],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1', 4, ['264']],\n ['Antigua and Barbuda', 'ag', '1', 4, ['268']],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1', 4, ['242']],\n ['Bahrain (البحرين)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1', 4, ['246']],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1', 4, ['441']],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1', 4, ['284']],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\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 ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1],\n ['Cayman Islands', 'ky', '1', 4, ['345']],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2],\n ['Cocos (Keeling) Islands', 'cc', '61', 1],\n ['Colombia', 'co', '57'],\n ['Comoros (جزر القمر)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1', 4, ['767']],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (مصر)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1', 4, ['473']],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1', 4, ['671']],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (ایران)', 'ir', '98'],\n ['Iraq (العراق)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2],\n ['Israel (ישראל)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3],\n ['Jordan (الأردن)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (الكويت)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (لبنان)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (ليبيا)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (موريتانيا)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1664'],\n ['Morocco (المغرب)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1670'],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (عُمان)', 'om', '968'],\n ['Pakistan (پاکستان)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (فلسطين)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (قطر)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1', 4, ['869']],\n ['Saint Lucia', 'lc', '1', 4, ['758']],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1784'],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (المملكة العربية السعودية)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1', 4, ['721']],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (جنوب السودان)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්රී ලංකාව)', 'lk', '94'],\n ['Sudan (السودان)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1],\n ['Swaziland', 'sz', '268'],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (سوريا)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1', 4, ['868']],\n ['Tunisia (تونس)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1', 4, ['649']],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1', 4, ['340']],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (الإمارات العربية المتحدة)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (الصحراء الغربية)', 'eh', '212', 1],\n ['Yemen (اليمن)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', '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: `<div class=\"flag\" [ngClass]=\"country.flagClass\"></div>\n\n @if (country.name) {\n <span class=\"country-selector-name\">{{ country.name }}</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 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 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'\n\nimport { Country } from '../lib/model/country.model'\n\n@Pipe({\n name: 'search',\n standalone: true,\n})\nexport class SearchPipe implements PipeTransform {\n transform(countries: Country[], searchCriteria?: string): Country[] {\n if (!searchCriteria || searchCriteria === '') {\n return countries\n }\n\n return countries.filter((country) => {\n return `${country.name}+${country.dialCode}${\n country.areaCodes ? country.areaCodes.join(',') : ''\n }`\n .toLowerCase()\n .includes(searchCriteria.toLowerCase())\n })\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { NgClass } from '@angular/common'\nimport {\n AfterViewChecked,\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 WritableSignal,\n booleanAttribute,\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 { ALL_COUNTRIES, 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 { SearchPipe } from './search.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 // Components\n NgxMatInputTelFlagComponent,\n\n // Pipes\n SearchPipe,\n ],\n})\nexport class NgxMatInputTelComponent\n extends ngxMatInputTelBase\n implements OnInit, DoCheck, OnDestroy, AfterViewChecked\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() 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: string = ''\n @Input() preferredCountries: string[] = []\n\n @Input() set onlyCountries(countryCodes: string[]) {\n if (countryCodes.length) {\n this.$availableCountries.set(this._getFilteredCountries(countryCodes))\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 @Input()\n 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({ alias: 'disabled', 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: Country[] = []\n $availableCountries = signal<Country[]>(this._initAllCountries())\n $preferredCountriesInDropDown = signal<Country[]>([])\n $selectedCountry!: WritableSignal<Country>\n numberInstance?: PhoneNumber\n value?: any\n searchCriteria?: string\n\n private _previousFormattedNumber?: string\n private _format: PhoneNumberFormat = 'default'\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._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 ngAfterViewChecked() {\n this.menuSearchInput?.nativeElement.focus();\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 country = this._allCountries[0]\n }\n this.$selectedCountry = signal<Country>(country)\n this.countryChanged.emit(country)\n }\n\n private _getFilteredCountries(countryCodes: string[]) {\n const filteredCountries = this._allCountries.filter((c) => countryCodes.includes(c.iso2))\n\n return filteredCountries.sort(\n (a, b) => countryCodes.indexOf(a.iso2) - countryCodes.indexOf(b.iso2),\n )\n }\n\n public onPhoneNumberChange(): void {\n try {\n this._setCountry()\n } catch (e) {\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: Country, el: HTMLInputElement): void {\n if (this.phoneNumber) {\n this.phoneNumber = this.numberInstance?.nationalNumber\n }\n if (this.resetOnChange && this.$selectedCountry() !== country) {\n this.reset()\n }\n\n this.$selectedCountry.set(country)\n this.countryChanged.emit(this.$selectedCountry())\n\n this.onPhoneNumberChange()\n el.focus()\n }\n\n public getCountry(code: CC): Country {\n return (this._allCountries.find((c) => c.iso2 === code.toLowerCase()) || {\n name: 'UN',\n iso2: 'UN',\n dialCode: undefined,\n priority: 0,\n areaCodes: undefined,\n flagClass: 'UN',\n placeHolder: '',\n }) as Country\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(): Country[] {\n this._allCountries = ALL_COUNTRIES.map((c) => {\n const country: Country = {\n name: c[0].toString(),\n iso2: c[1].toString(),\n dialCode: c[2].toString(),\n priority: +c[3] || 0,\n areaCodes: (c[4] as string[]) || undefined,\n flagClass: c[1].toString().toUpperCase(),\n placeHolder: '',\n }\n\n if (this.enablePlaceholder) {\n country.placeHolder = this._getPhoneNumberPlaceHolder(country.iso2.toUpperCase())\n }\n\n return country\n })\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 if (!this.$selectedCountry) {\n // Init value was given\n this.$selectedCountry = signal<Country>(this.getCountry(countryCode))\n } else {\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()]\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)=\"menuSearchInput?.nativeElement?.focus()\"\n >\n <ngx-mat-input-tel-flag\n class=\"main-flag\"\n [country]=\"{\n flagClass: $selectedCountry().flagClass,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu\n #menu=\"matMenu\"\n class=\"ngx-mat-input-tel-overlay-pane\"\n [backdropClass]=\"'ngx-mat-input-tel-overlay-backdrop'\"\n >\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"searchCriteria\"\n type=\"text\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$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 (country of $preferredCountriesInDropDown(); track $index) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country, focusable)\"\n >\n <ngx-mat-input-tel-flag class=\"menu-flag\" [country]=\"country\"></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($preferredCountriesInDropDown().length) {\n <mat-divider></mat-divider>\n }\n @for (country of $availableCountries() | search: searchCriteria; track $index) {\n <button\n type=\"button\"\n mat-menu-item\n class=\"country-list-button\"\n (click)=\"onCountrySelect(country, focusable)\"\n >\n <ngx-mat-input-tel-flag class=\"menu-flag\" [country]=\"country\"></ngx-mat-input-tel-flag>\n </button>\n }\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"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/search.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 ALL_COUNTRIES = [\n // 'name', 'iso2', 'dialCode', 'priority', 'areaCodes'\n ['Afghanistan (افغانستان)', 'af', '93'],\n ['Albania (Shqipëri)', 'al', '355'],\n ['Algeria (الجزائر)', 'dz', '213'],\n ['American Samoa', 'as', '1', 4, ['684']],\n ['Andorra', 'ad', '376'],\n ['Angola', 'ao', '244'],\n ['Anguilla', 'ai', '1', 4, ['264']],\n ['Antigua and Barbuda', 'ag', '1', 4, ['268']],\n ['Argentina', 'ar', '54'],\n ['Armenia (Հայաստան)', 'am', '374'],\n ['Aruba', 'aw', '297'],\n ['Australia', 'au', '61', 0],\n ['Austria (Österreich)', 'at', '43'],\n ['Azerbaijan (Azərbaycan)', 'az', '994'],\n ['Bahamas', 'bs', '1', 4, ['242']],\n ['Bahrain (البحرين)', 'bh', '973'],\n ['Bangladesh (বাংলাদেশ)', 'bd', '880'],\n ['Barbados', 'bb', '1', 4, ['246']],\n ['Belarus (Беларусь)', 'by', '375'],\n ['Belgium (België)', 'be', '32'],\n ['Belize', 'bz', '501'],\n ['Benin (Bénin)', 'bj', '229'],\n ['Bermuda', 'bm', '1', 4, ['441']],\n ['Bhutan (འབྲུག)', 'bt', '975'],\n ['Bolivia', 'bo', '591'],\n ['Bosnia and Herzegovina (Босна и Херцеговина)', 'ba', '387'],\n ['Botswana', 'bw', '267'],\n ['Brazil (Brasil)', 'br', '55'],\n ['British Indian Ocean Territory', 'io', '246'],\n ['British Virgin Islands', 'vg', '1', 4, ['284']],\n ['Brunei', 'bn', '673'],\n ['Bulgaria (България)', 'bg', '359'],\n ['Burkina Faso', 'bf', '226'],\n ['Burundi (Uburundi)', 'bi', '257'],\n ['Cambodia (កម្ពុជា)', 'kh', '855'],\n ['Cameroon (Cameroun)', 'cm', '237'],\n [\n 'Canada',\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 ['Cape Verde (Kabu Verdi)', 'cv', '238'],\n ['Caribbean Netherlands', 'bq', '599', 1],\n ['Cayman Islands', 'ky', '1', 4, ['345']],\n ['Central African Republic (République centrafricaine)', 'cf', '236'],\n ['Chad (Tchad)', 'td', '235'],\n ['Chile', 'cl', '56'],\n ['China (中国)', 'cn', '86'],\n ['Christmas Island', 'cx', '61', 2],\n ['Cocos (Keeling) Islands', 'cc', '61', 1],\n ['Colombia', 'co', '57'],\n ['Comoros (جزر القمر)', 'km', '269'],\n ['Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)', 'cd', '243'],\n ['Congo (Republic) (Congo-Brazzaville)', 'cg', '242'],\n ['Cook Islands', 'ck', '682'],\n ['Costa Rica', 'cr', '506'],\n ['Côte d’Ivoire', 'ci', '225'],\n ['Croatia (Hrvatska)', 'hr', '385'],\n ['Cuba', 'cu', '53'],\n ['Curaçao', 'cw', '599', 0],\n ['Cyprus (Κύπρος)', 'cy', '357'],\n ['Czech Republic (Česká republika)', 'cz', '420'],\n ['Denmark (Danmark)', 'dk', '45'],\n ['Djibouti', 'dj', '253'],\n ['Dominica', 'dm', '1', 4, ['767']],\n ['Dominican Republic (República Dominicana)', 'do', '1', 2, ['809', '829', '849']],\n ['Ecuador', 'ec', '593'],\n ['Egypt (مصر)', 'eg', '20'],\n ['El Salvador', 'sv', '503'],\n ['Equatorial Guinea (Guinea Ecuatorial)', 'gq', '240'],\n ['Eritrea', 'er', '291'],\n ['Estonia (Eesti)', 'ee', '372'],\n ['Ethiopia', 'et', '251'],\n ['Falkland Islands (Islas Malvinas)', 'fk', '500'],\n ['Faroe Islands (Føroyar)', 'fo', '298'],\n ['Fiji', 'fj', '679'],\n ['Finland (Suomi)', 'fi', '358', 0],\n ['France', 'fr', '33'],\n ['French Guiana (Guyane française)', 'gf', '594'],\n ['French Polynesia (Polynésie française)', 'pf', '689'],\n ['Gabon', 'ga', '241'],\n ['Gambia', 'gm', '220'],\n ['Georgia (საქართველო)', 'ge', '995'],\n ['Germany (Deutschland)', 'de', '49'],\n ['Ghana (Gaana)', 'gh', '233'],\n ['Gibraltar', 'gi', '350'],\n ['Greece (Ελλάδα)', 'gr', '30'],\n ['Greenland (Kalaallit Nunaat)', 'gl', '299'],\n ['Grenada', 'gd', '1', 4, ['473']],\n ['Guadeloupe', 'gp', '590', 0],\n ['Guam', 'gu', '1', 4, ['671']],\n ['Guatemala', 'gt', '502'],\n ['Guernsey', 'gg', '44', 1],\n ['Guinea (Guinée)', 'gn', '224'],\n ['Guinea-Bissau (Guiné Bissau)', 'gw', '245'],\n ['Guyana', 'gy', '592'],\n ['Haiti', 'ht', '509'],\n ['Honduras', 'hn', '504'],\n ['Hong Kong (香港)', 'hk', '852'],\n ['Hungary (Magyarország)', 'hu', '36'],\n ['Iceland (Ísland)', 'is', '354'],\n ['India (भारत)', 'in', '91'],\n ['Indonesia', 'id', '62'],\n ['Iran (ایران)', 'ir', '98'],\n ['Iraq (العراق)', 'iq', '964'],\n ['Ireland', 'ie', '353'],\n ['Isle of Man', 'im', '44', 2],\n ['Israel (ישראל)', 'il', '972'],\n ['Italy (Italia)', 'it', '39', 0],\n ['Jamaica', 'jm', '1', 4, ['876', '658']],\n ['Japan (日本)', 'jp', '81'],\n ['Jersey', 'je', '44', 3],\n ['Jordan (الأردن)', 'jo', '962'],\n ['Kazakhstan (Казахстан)', 'kz', '7', 1],\n ['Kenya', 'ke', '254'],\n ['Kiribati', 'ki', '686'],\n ['Kosovo', 'xk', '383'],\n ['Kuwait (الكويت)', 'kw', '965'],\n ['Kyrgyzstan (Кыргызстан)', 'kg', '996'],\n ['Laos (ລາວ)', 'la', '856'],\n ['Latvia (Latvija)', 'lv', '371'],\n ['Lebanon (لبنان)', 'lb', '961'],\n ['Lesotho', 'ls', '266'],\n ['Liberia', 'lr', '231'],\n ['Libya (ليبيا)', 'ly', '218'],\n ['Liechtenstein', 'li', '423'],\n ['Lithuania (Lietuva)', 'lt', '370'],\n ['Luxembourg', 'lu', '352'],\n ['Macau (澳門)', 'mo', '853'],\n ['Macedonia (FYROM) (Македонија)', 'mk', '389'],\n ['Madagascar (Madagasikara)', 'mg', '261'],\n ['Malawi', 'mw', '265'],\n ['Malaysia', 'my', '60'],\n ['Maldives', 'mv', '960'],\n ['Mali', 'ml', '223'],\n ['Malta', 'mt', '356'],\n ['Marshall Islands', 'mh', '692'],\n ['Martinique', 'mq', '596'],\n ['Mauritania (موريتانيا)', 'mr', '222'],\n ['Mauritius (Moris)', 'mu', '230'],\n ['Mayotte', 'yt', '262', 1],\n ['Mexico (México)', 'mx', '52'],\n ['Micronesia', 'fm', '691'],\n ['Moldova (Republica Moldova)', 'md', '373'],\n ['Monaco', 'mc', '377'],\n ['Mongolia (Монгол)', 'mn', '976'],\n ['Montenegro (Crna Gora)', 'me', '382'],\n ['Montserrat', 'ms', '1664'],\n ['Morocco (المغرب)', 'ma', '212', 0],\n ['Mozambique (Moçambique)', 'mz', '258'],\n ['Myanmar (Burma) (မြန်မာ)', 'mm', '95'],\n ['Namibia (Namibië)', 'na', '264'],\n ['Nauru', 'nr', '674'],\n ['Nepal (नेपाल)', 'np', '977'],\n ['Netherlands (Nederland)', 'nl', '31'],\n ['New Caledonia (Nouvelle-Calédonie)', 'nc', '687'],\n ['New Zealand', 'nz', '64'],\n ['Nicaragua', 'ni', '505'],\n ['Niger (Nijar)', 'ne', '227'],\n ['Nigeria', 'ng', '234'],\n ['Niue', 'nu', '683'],\n ['Norfolk Island', 'nf', '672'],\n ['North Korea (조선 민주주의 인민 공화국)', 'kp', '850'],\n ['Northern Mariana Islands', 'mp', '1670'],\n ['Norway (Norge)', 'no', '47', 0],\n ['Oman (عُمان)', 'om', '968'],\n ['Pakistan (پاکستان)', 'pk', '92'],\n ['Palau', 'pw', '680'],\n ['Palestine (فلسطين)', 'ps', '970'],\n ['Panama (Panamá)', 'pa', '507'],\n ['Papua New Guinea', 'pg', '675'],\n ['Paraguay', 'py', '595'],\n ['Peru (Perú)', 'pe', '51'],\n ['Philippines', 'ph', '63'],\n ['Poland (Polska)', 'pl', '48'],\n ['Portugal', 'pt', '351'],\n ['Puerto Rico', 'pr', '1', 3, ['787', '939']],\n ['Qatar (قطر)', 'qa', '974'],\n ['Réunion (La Réunion)', 're', '262', 0],\n ['Romania (România)', 'ro', '40'],\n ['Russia (Россия)', 'ru', '7', 0],\n ['Rwanda', 'rw', '250'],\n ['Saint Barthélemy', 'bl', '590', 1],\n ['Saint Helena', 'sh', '290'],\n ['Saint Kitts and Nevis', 'kn', '1', 4, ['869']],\n ['Saint Lucia', 'lc', '1', 4, ['758']],\n ['Saint Martin (Saint-Martin (partie française))', 'mf', '590', 2],\n ['Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)', 'pm', '508'],\n ['Saint Vincent and the Grenadines', 'vc', '1784'],\n ['Samoa', 'ws', '685'],\n ['San Marino', 'sm', '378'],\n ['São Tomé and Príncipe (São Tomé e Príncipe)', 'st', '239'],\n ['Saudi Arabia (المملكة العربية السعودية)', 'sa', '966'],\n ['Senegal (Sénégal)', 'sn', '221'],\n ['Serbia (Србија)', 'rs', '381'],\n ['Seychelles', 'sc', '248'],\n ['Sierra Leone', 'sl', '232'],\n ['Singapore', 'sg', '65'],\n ['Sint Maarten', 'sx', '1', 4, ['721']],\n ['Slovakia (Slovensko)', 'sk', '421'],\n ['Slovenia (Slovenija)', 'si', '386'],\n ['Solomon Islands', 'sb', '677'],\n ['Somalia (Soomaaliya)', 'so', '252'],\n ['South Africa', 'za', '27'],\n ['South Korea (대한민국)', 'kr', '82'],\n ['South Sudan (جنوب السودان)', 'ss', '211'],\n ['Spain (España)', 'es', '34'],\n ['Sri Lanka (ශ්රී ලංකාව)', 'lk', '94'],\n ['Sudan (السودان)', 'sd', '249'],\n ['Suriname', 'sr', '597'],\n ['Svalbard and Jan Mayen', 'sj', '47', 1],\n ['Swaziland', 'sz', '268'],\n ['Sweden (Sverige)', 'se', '46'],\n ['Switzerland (Schweiz)', 'ch', '41'],\n ['Syria (سوريا)', 'sy', '963'],\n ['Taiwan (台灣)', 'tw', '886'],\n ['Tajikistan', 'tj', '992'],\n ['Tanzania', 'tz', '255'],\n ['Thailand (ไทย)', 'th', '66'],\n ['Timor-Leste', 'tl', '670'],\n ['Togo', 'tg', '228'],\n ['Tokelau', 'tk', '690'],\n ['Tonga', 'to', '676'],\n ['Trinidad and Tobago', 'tt', '1', 4, ['868']],\n ['Tunisia (تونس)', 'tn', '216'],\n ['Turkey (Türkiye)', 'tr', '90'],\n ['Turkmenistan', 'tm', '993'],\n ['Turks and Caicos Islands', 'tc', '1', 4, ['649']],\n ['Tuvalu', 'tv', '688'],\n ['U.S. Virgin Islands', 'vi', '1', 4, ['340']],\n ['Uganda', 'ug', '256'],\n ['Ukraine (Україна)', 'ua', '380'],\n ['United Arab Emirates (الإمارات العربية المتحدة)', 'ae', '971'],\n ['United Kingdom', 'gb', '44', 0],\n ['United States', 'us', '1', 0],\n ['Uruguay', 'uy', '598'],\n ['Uzbekistan (Oʻzbekiston)', 'uz', '998'],\n ['Vanuatu', 'vu', '678'],\n ['Vatican City (Città del Vaticano)', 'va', '39', 1],\n ['Venezuela', 've', '58'],\n ['Vietnam (Việt Nam)', 'vn', '84'],\n ['Wallis and Futuna (Wallis-et-Futuna)', 'wf', '681'],\n ['Western Sahara (الصحراء الغربية)', 'eh', '212', 1],\n ['Yemen (اليمن)', 'ye', '967'],\n ['Zambia', 'zm', '260'],\n ['Zimbabwe', 'zw', '263'],\n ['Åland Islands', '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: `<div class=\"flag\" [ngClass]=\"country.flagClass\"></div>\n\n @if (country.name) {\n <span class=\"country-selector-name\">{{ country.name }}</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 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'\n\nimport { Country } from '../lib/model/country.model'\n\n@Pipe({\n name: 'search',\n standalone: true,\n})\nexport class SearchPipe implements PipeTransform {\n transform(countries: Country[], searchCriteria?: string): Country[] {\n if (!searchCriteria || searchCriteria === '') {\n return countries\n }\n\n return countries.filter((country) => {\n return `${country.name}+${country.dialCode}${country.areaCodes ? country.areaCodes.join(',') : ''}`\n .toLowerCase()\n .includes(searchCriteria.toLowerCase())\n })\n }\n}\n","import { FocusMonitor } from '@angular/cdk/a11y'\nimport { coerceBooleanProperty } from '@angular/cdk/coercion'\nimport { 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 WritableSignal,\n booleanAttribute,\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 { ALL_COUNTRIES, 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 { SearchPipe } from './search.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 // Components\n NgxMatInputTelFlagComponent,\n\n // Pipes\n SearchPipe,\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 @Input() preferredCountries: string[] = []\n\n @Input() set onlyCountries(countryCodes: string[]) {\n if (countryCodes.length) {\n this.$availableCountries.set(this._getFilteredCountries(countryCodes))\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 @Input()\n 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: Country[] = []\n $availableCountries = signal<Country[]>(this._initAllCountries())\n $preferredCountriesInDropDown = signal<Country[]>([])\n $selectedCountry!: WritableSignal<Country>\n numberInstance?: PhoneNumber\n value?: any\n searchCriteria?: string\n\n private _previousFormattedNumber?: string\n private _format: PhoneNumberFormat = 'default'\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._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 this.menuSearchInput?.nativeElement?.focus()\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 country = this._allCountries[0]\n }\n this.$selectedCountry = signal<Country>(country)\n this.countryChanged.emit(country)\n }\n\n private _getFilteredCountries(countryCodes: string[]) {\n const filteredCountries = this._allCountries.filter((c) => countryCodes.includes(c.iso2))\n\n return filteredCountries.sort(\n (a, b) => countryCodes.indexOf(a.iso2) - countryCodes.indexOf(b.iso2),\n )\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: Country): void {\n if (this.phoneNumber) {\n this.phoneNumber = this.numberInstance?.nationalNumber\n }\n if (this.resetOnChange && this.$selectedCountry() !== country) {\n this.reset()\n }\n\n this.$selectedCountry.set(country)\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 return (this._allCountries.find((c) => c.iso2 === code.toLowerCase()) || {\n name: 'UN',\n iso2: 'UN',\n dialCode: undefined,\n priority: 0,\n areaCodes: undefined,\n flagClass: 'UN',\n placeHolder: '',\n }) as Country\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(): Country[] {\n this._allCountries = ALL_COUNTRIES.map((c) => {\n const country: Country = {\n name: c[0].toString(),\n iso2: c[1].toString(),\n dialCode: c[2].toString(),\n priority: +c[3] || 0,\n areaCodes: (c[4] as string[]) || undefined,\n flagClass: c[1].toString().toUpperCase(),\n placeHolder: '',\n }\n\n if (this.enablePlaceholder) {\n country.placeHolder = this._getPhoneNumberPlaceHolder(country.iso2.toUpperCase())\n }\n\n return country\n })\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 if (!this.$selectedCountry) {\n // Init value was given\n this.$selectedCountry = signal<Country>(this.getCountry(countryCode))\n } else {\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()]\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 onSearchInputChange(): void {\n setTimeout(() => {\n this.menuSearchInput?.nativeElement.focus()\n }, 200)\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 flagClass: $selectedCountry().flagClass,\n dialCode: $selectedCountry().dialCode,\n }\"\n ></ngx-mat-input-tel-flag>\n </button>\n\n <mat-menu\n #menu=\"matMenu\"\n class=\"ngx-mat-input-tel-overlay-pane\"\n [backdropClass]=\"'ngx-mat-input-tel-overlay-backdrop'\"\n >\n @if (enableSearch) {\n <input\n #menuSearchInput\n class=\"country-search\"\n [(ngModel)]=\"searchCriteria\"\n type=\"text\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"$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 (country of $preferredCountriesInDropDown(); track $index) {\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 class=\"menu-flag\" [country]=\"country\"></ngx-mat-input-tel-flag>\n </button>\n }\n @if ($preferredCountriesInDropDown().length) {\n <mat-divider></mat-divider>\n }\n @for (country of $availableCountries() | search: searchCriteria; track $index) {\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 class=\"menu-flag\" [country]=\"country\"></ngx-mat-input-tel-flag>\n </button>\n }\n </mat-menu>\n\n <input\n class=\"ngx-mat-input-tel-input\"\n matInput\n type=\"tel\"\n inputmode=\"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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"}
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { OnInit, DoCheck, OnDestroy,
|
|
3
|
+
import { OnInit, DoCheck, OnDestroy, ElementRef, EventEmitter, WritableSignal, ChangeDetectorRef } from '@angular/core';
|
|
4
4
|
import { NgForm, FormGroupDirective, NgControl, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
5
5
|
import { ErrorStateMatcher } from '@angular/material/core';
|
|
6
6
|
import { MatMenu } from '@angular/material/menu';
|
|
@@ -29,7 +29,7 @@ declare class ngxMatInputTelBase {
|
|
|
29
29
|
ngControl: NgControl;
|
|
30
30
|
constructor(_defaultErrorStateMatcher: ErrorStateMatcher, _parentForm: NgForm, _parentFormGroup: FormGroupDirective, ngControl: NgControl);
|
|
31
31
|
}
|
|
32
|
-
declare class NgxMatInputTelComponent extends ngxMatInputTelBase implements OnInit, DoCheck, OnDestroy
|
|
32
|
+
declare class NgxMatInputTelComponent extends ngxMatInputTelBase implements OnInit, DoCheck, OnDestroy {
|
|
33
33
|
private _changeDetectorRef;
|
|
34
34
|
private _focusMonitor;
|
|
35
35
|
private _elementRef;
|
|
@@ -40,6 +40,7 @@ declare class NgxMatInputTelComponent extends ngxMatInputTelBase implements OnIn
|
|
|
40
40
|
id: string;
|
|
41
41
|
get shouldLabelFloat(): boolean;
|
|
42
42
|
autocomplete: 'off' | 'tel';
|
|
43
|
+
ariaLabel: string;
|
|
43
44
|
cssClass?: string;
|
|
44
45
|
defaultCountry?: CountryCode;
|
|
45
46
|
errorStateMatcher: ErrorStateMatcher;
|
|
@@ -83,14 +84,14 @@ declare class NgxMatInputTelComponent extends ngxMatInputTelBase implements OnIn
|
|
|
83
84
|
ngOnInit(): void;
|
|
84
85
|
ngOnDestroy(): void;
|
|
85
86
|
ngDoCheck(): void;
|
|
86
|
-
|
|
87
|
+
onMenuOpened(): void;
|
|
87
88
|
updateErrorState(): void;
|
|
88
89
|
private _setPreferredCountriesInDropDown;
|
|
89
90
|
private _setDefaultCountry;
|
|
90
91
|
private _getFilteredCountries;
|
|
91
92
|
onPhoneNumberChange(): void;
|
|
92
93
|
private _setCountry;
|
|
93
|
-
onCountrySelect(country: Country
|
|
94
|
+
onCountrySelect(country: Country): void;
|
|
94
95
|
getCountry(code: CountryCode): Country;
|
|
95
96
|
onInputKeyPress(event: any): void;
|
|
96
97
|
protected _initAllCountries(): Country[];
|
|
@@ -104,8 +105,9 @@ declare class NgxMatInputTelComponent extends ngxMatInputTelBase implements OnIn
|
|
|
104
105
|
reset(): void;
|
|
105
106
|
private formattedPhoneNumber;
|
|
106
107
|
private formatAsYouTypeIfEnabled;
|
|
108
|
+
onSearchInputChange(): void;
|
|
107
109
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatInputTelComponent, [null, null, null, { optional: true; self: true; }, { optional: true; }, { optional: true; }, null]>;
|
|
108
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatInputTelComponent, "ngx-mat-input-tel", never, { "autocomplete": { "alias": "autocomplete"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "defaultCountry": { "alias": "defaultCountry"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "preferredCountries": { "alias": "preferredCountries"; "required": false; }; "onlyCountries": { "alias": "onlyCountries"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "validation": { "alias": "validation"; "required": false; }; "enablePlaceholder": { "alias": "enablePlaceholder"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "resetOnChange": { "alias": "resetOnChange"; "required": false; }; "format": { "alias": "format"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "countryChanged": "countryChanged"; }, never, never, true, never>;
|
|
110
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatInputTelComponent, "ngx-mat-input-tel", never, { "autocomplete": { "alias": "autocomplete"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "cssClass": { "alias": "cssClass"; "required": false; }; "defaultCountry": { "alias": "defaultCountry"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "name": { "alias": "name"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "preferredCountries": { "alias": "preferredCountries"; "required": false; }; "onlyCountries": { "alias": "onlyCountries"; "required": false; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; }; "validation": { "alias": "validation"; "required": false; }; "enablePlaceholder": { "alias": "enablePlaceholder"; "required": false; }; "enableSearch": { "alias": "enableSearch"; "required": false; }; "resetOnChange": { "alias": "resetOnChange"; "required": false; }; "format": { "alias": "format"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "countryChanged": "countryChanged"; }, never, never, true, never>;
|
|
109
111
|
static ngAcceptInputType_enablePlaceholder: unknown;
|
|
110
112
|
static ngAcceptInputType_enableSearch: unknown;
|
|
111
113
|
static ngAcceptInputType_resetOnChange: unknown;
|