iss-ctrl 0.0.21 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/README.md +33 -0
  2. package/fesm2022/iss-ctrl-attachment.viewer-DVUL39xd.mjs +110 -0
  3. package/fesm2022/iss-ctrl-attachment.viewer-DVUL39xd.mjs.map +1 -0
  4. package/fesm2022/iss-ctrl-base.mjs +663 -0
  5. package/fesm2022/iss-ctrl-base.mjs.map +1 -0
  6. package/fesm2022/iss-ctrl-checkbox.field-Dj5EGLUr.mjs +92 -0
  7. package/fesm2022/iss-ctrl-checkbox.field-Dj5EGLUr.mjs.map +1 -0
  8. package/fesm2022/iss-ctrl-checkbox.mjs +143 -0
  9. package/fesm2022/iss-ctrl-checkbox.mjs.map +1 -0
  10. package/fesm2022/iss-ctrl-checkbox.viewer-C3SEUszR.mjs +31 -0
  11. package/fesm2022/iss-ctrl-checkbox.viewer-C3SEUszR.mjs.map +1 -0
  12. package/fesm2022/iss-ctrl-chips.field-BLLAjBbP.mjs +76 -0
  13. package/fesm2022/iss-ctrl-chips.field-BLLAjBbP.mjs.map +1 -0
  14. package/fesm2022/iss-ctrl-chips.mjs +168 -0
  15. package/fesm2022/iss-ctrl-chips.mjs.map +1 -0
  16. package/fesm2022/iss-ctrl-chips.viewer-BcKT2hcq.mjs +38 -0
  17. package/fesm2022/iss-ctrl-chips.viewer-BcKT2hcq.mjs.map +1 -0
  18. package/fesm2022/iss-ctrl-date-picker.field-BSpXukpO.mjs +98 -0
  19. package/fesm2022/iss-ctrl-date-picker.field-BSpXukpO.mjs.map +1 -0
  20. package/fesm2022/iss-ctrl-date-picker.mjs +200 -0
  21. package/fesm2022/iss-ctrl-date-picker.mjs.map +1 -0
  22. package/fesm2022/iss-ctrl-date-picker.viewer-Dsmsf91t.mjs +40 -0
  23. package/fesm2022/iss-ctrl-date-picker.viewer-Dsmsf91t.mjs.map +1 -0
  24. package/fesm2022/iss-ctrl-date-range-picker.field-CjNHU1RW.mjs +97 -0
  25. package/fesm2022/iss-ctrl-date-range-picker.field-CjNHU1RW.mjs.map +1 -0
  26. package/fesm2022/iss-ctrl-date-range-picker.mjs +307 -0
  27. package/fesm2022/iss-ctrl-date-range-picker.mjs.map +1 -0
  28. package/fesm2022/iss-ctrl-date-range-picker.viewer-tmTQGPFh.mjs +41 -0
  29. package/fesm2022/iss-ctrl-date-range-picker.viewer-tmTQGPFh.mjs.map +1 -0
  30. package/fesm2022/iss-ctrl-datetime-picker.field-DGMY9PaU.mjs +98 -0
  31. package/fesm2022/iss-ctrl-datetime-picker.field-DGMY9PaU.mjs.map +1 -0
  32. package/fesm2022/iss-ctrl-datetime-picker.mjs +226 -0
  33. package/fesm2022/iss-ctrl-datetime-picker.mjs.map +1 -0
  34. package/fesm2022/iss-ctrl-datetime-picker.viewer-BeUyEBKo.mjs +42 -0
  35. package/fesm2022/iss-ctrl-datetime-picker.viewer-BeUyEBKo.mjs.map +1 -0
  36. package/fesm2022/iss-ctrl-file-picker.field-CbepZaX6.mjs +210 -0
  37. package/fesm2022/iss-ctrl-file-picker.field-CbepZaX6.mjs.map +1 -0
  38. package/fesm2022/iss-ctrl-file-picker.mjs +272 -0
  39. package/fesm2022/iss-ctrl-file-picker.mjs.map +1 -0
  40. package/fesm2022/iss-ctrl-input.field-Ctlf3OCN.mjs +104 -0
  41. package/fesm2022/iss-ctrl-input.field-Ctlf3OCN.mjs.map +1 -0
  42. package/fesm2022/iss-ctrl-input.mjs +204 -0
  43. package/fesm2022/iss-ctrl-input.mjs.map +1 -0
  44. package/fesm2022/iss-ctrl-input.viewer-BOZnW0_e.mjs +22 -0
  45. package/fesm2022/iss-ctrl-input.viewer-BOZnW0_e.mjs.map +1 -0
  46. package/fesm2022/iss-ctrl-iss-ctrl-DvnkwSMG.mjs +1789 -0
  47. package/fesm2022/iss-ctrl-iss-ctrl-DvnkwSMG.mjs.map +1 -0
  48. package/fesm2022/{iss-ctrl-load-event-bOt6IlIo.mjs → iss-ctrl-load-event-CuZ7pMjk.mjs} +4 -3
  49. package/fesm2022/iss-ctrl-load-event-CuZ7pMjk.mjs.map +1 -0
  50. package/fesm2022/{iss-ctrl-load-options-event-CxyAyNMe.mjs → iss-ctrl-load-options-event-B10rhdqh.mjs} +3 -3
  51. package/fesm2022/{iss-ctrl-load-options-event-CxyAyNMe.mjs.map → iss-ctrl-load-options-event-B10rhdqh.mjs.map} +1 -1
  52. package/fesm2022/{iss-ctrl-load-value-event-DJKJ5S3h.mjs → iss-ctrl-load-value-event-C-aRgKLx.mjs} +3 -3
  53. package/fesm2022/{iss-ctrl-load-value-event-DJKJ5S3h.mjs.map → iss-ctrl-load-value-event-C-aRgKLx.mjs.map} +1 -1
  54. package/fesm2022/iss-ctrl-mobile.field-DXVYT3q-.mjs +77 -0
  55. package/fesm2022/iss-ctrl-mobile.field-DXVYT3q-.mjs.map +1 -0
  56. package/fesm2022/iss-ctrl-mobile.mjs +2465 -0
  57. package/fesm2022/iss-ctrl-mobile.mjs.map +1 -0
  58. package/fesm2022/iss-ctrl-mobile.viewer-DQgxAcR-.mjs +22 -0
  59. package/fesm2022/iss-ctrl-mobile.viewer-DQgxAcR-.mjs.map +1 -0
  60. package/fesm2022/{iss-ctrl-note.field-B_Lbp28X.mjs → iss-ctrl-note.field-C8X9-mgD.mjs} +2 -2
  61. package/fesm2022/{iss-ctrl-note.field-B_Lbp28X.mjs.map → iss-ctrl-note.field-C8X9-mgD.mjs.map} +1 -1
  62. package/fesm2022/iss-ctrl-plate.field-aI81tAOV.mjs +92 -0
  63. package/fesm2022/iss-ctrl-plate.field-aI81tAOV.mjs.map +1 -0
  64. package/fesm2022/iss-ctrl-plate.mjs +491 -0
  65. package/fesm2022/iss-ctrl-plate.mjs.map +1 -0
  66. package/fesm2022/iss-ctrl-plate.viewer-B8PUBLH8.mjs +179 -0
  67. package/fesm2022/iss-ctrl-plate.viewer-B8PUBLH8.mjs.map +1 -0
  68. package/fesm2022/iss-ctrl-radio.field-B_JjPIlb.mjs +96 -0
  69. package/fesm2022/iss-ctrl-radio.field-B_JjPIlb.mjs.map +1 -0
  70. package/fesm2022/iss-ctrl-radio.mjs +101 -0
  71. package/fesm2022/iss-ctrl-radio.mjs.map +1 -0
  72. package/fesm2022/iss-ctrl-radio.viewer-EiDliZro.mjs +30 -0
  73. package/fesm2022/iss-ctrl-radio.viewer-EiDliZro.mjs.map +1 -0
  74. package/fesm2022/{iss-ctrl-replace-api-keys-C0XYQW4i.mjs → iss-ctrl-replace-api-keys-DLnagkOr.mjs} +2 -2
  75. package/fesm2022/{iss-ctrl-replace-api-keys-C0XYQW4i.mjs.map → iss-ctrl-replace-api-keys-DLnagkOr.mjs.map} +1 -1
  76. package/fesm2022/iss-ctrl-select.field-DoU4G_8t.mjs +87 -0
  77. package/fesm2022/iss-ctrl-select.field-DoU4G_8t.mjs.map +1 -0
  78. package/fesm2022/iss-ctrl-select.mjs +387 -0
  79. package/fesm2022/iss-ctrl-select.mjs.map +1 -0
  80. package/fesm2022/iss-ctrl-select.viewer-Dv9M-lG-.mjs +30 -0
  81. package/fesm2022/iss-ctrl-select.viewer-Dv9M-lG-.mjs.map +1 -0
  82. package/fesm2022/{iss-ctrl-set-value-event-CgXhi0Bv.mjs → iss-ctrl-set-value-event-Dhw0Vj5J.mjs} +2 -2
  83. package/fesm2022/{iss-ctrl-set-value-event-CgXhi0Bv.mjs.map → iss-ctrl-set-value-event-Dhw0Vj5J.mjs.map} +1 -1
  84. package/fesm2022/iss-ctrl-slide-toggle.field-TVVbAr6p.mjs +85 -0
  85. package/fesm2022/iss-ctrl-slide-toggle.field-TVVbAr6p.mjs.map +1 -0
  86. package/fesm2022/iss-ctrl-slide-toggle.mjs +72 -0
  87. package/fesm2022/iss-ctrl-slide-toggle.mjs.map +1 -0
  88. package/fesm2022/iss-ctrl-slide-toggle.viewer-hsIHwDj3.mjs +34 -0
  89. package/fesm2022/iss-ctrl-slide-toggle.viewer-hsIHwDj3.mjs.map +1 -0
  90. package/fesm2022/{iss-ctrl-table.field-B5FxF6hn.mjs → iss-ctrl-table.field-E0r9w0os.mjs} +142 -140
  91. package/fesm2022/iss-ctrl-table.field-E0r9w0os.mjs.map +1 -0
  92. package/fesm2022/iss-ctrl-textarea.field-CmHPDpk-.mjs +82 -0
  93. package/fesm2022/iss-ctrl-textarea.field-CmHPDpk-.mjs.map +1 -0
  94. package/fesm2022/iss-ctrl-textarea.mjs +115 -0
  95. package/fesm2022/iss-ctrl-textarea.mjs.map +1 -0
  96. package/fesm2022/iss-ctrl-textarea.viewer-CpmLauik.mjs +22 -0
  97. package/fesm2022/iss-ctrl-textarea.viewer-CpmLauik.mjs.map +1 -0
  98. package/fesm2022/iss-ctrl-time-picker.field-Cb0I5Ut1.mjs +77 -0
  99. package/fesm2022/iss-ctrl-time-picker.field-Cb0I5Ut1.mjs.map +1 -0
  100. package/fesm2022/iss-ctrl-time-picker.mjs +170 -0
  101. package/fesm2022/iss-ctrl-time-picker.mjs.map +1 -0
  102. package/fesm2022/iss-ctrl-time-picker.viewer-CJeFLrdI.mjs +22 -0
  103. package/fesm2022/iss-ctrl-time-picker.viewer-CJeFLrdI.mjs.map +1 -0
  104. package/fesm2022/iss-ctrl-toggle-button.field-Bj8WrkB-.mjs +105 -0
  105. package/fesm2022/iss-ctrl-toggle-button.field-Bj8WrkB-.mjs.map +1 -0
  106. package/fesm2022/iss-ctrl-toggle-button.mjs +156 -0
  107. package/fesm2022/iss-ctrl-toggle-button.mjs.map +1 -0
  108. package/fesm2022/iss-ctrl-toggle-button.viewer-CC-8_Dy4.mjs +30 -0
  109. package/fesm2022/iss-ctrl-toggle-button.viewer-CC-8_Dy4.mjs.map +1 -0
  110. package/fesm2022/iss-ctrl-tokens.mjs +25 -0
  111. package/fesm2022/iss-ctrl-tokens.mjs.map +1 -0
  112. package/fesm2022/{iss-ctrl-trigger-based-on-json-value-2v1kLVHZ.mjs → iss-ctrl-trigger-based-on-json-value-D9rTXVD1.mjs} +2 -2
  113. package/fesm2022/{iss-ctrl-trigger-based-on-json-value-2v1kLVHZ.mjs.map → iss-ctrl-trigger-based-on-json-value-D9rTXVD1.mjs.map} +1 -1
  114. package/fesm2022/{iss-ctrl-user-picker.field-BH63sZ-X.mjs → iss-ctrl-user-picker.field-BIzB5ZX6.mjs} +151 -150
  115. package/fesm2022/iss-ctrl-user-picker.field-BIzB5ZX6.mjs.map +1 -0
  116. package/fesm2022/iss-ctrl.mjs +3 -1
  117. package/fesm2022/iss-ctrl.mjs.map +1 -1
  118. package/package.json +69 -1
  119. package/types/iss-ctrl-base.d.ts +306 -0
  120. package/types/iss-ctrl-checkbox.d.ts +45 -0
  121. package/types/iss-ctrl-chips.d.ts +41 -0
  122. package/types/iss-ctrl-date-picker.d.ts +75 -0
  123. package/types/iss-ctrl-date-range-picker.d.ts +95 -0
  124. package/types/iss-ctrl-datetime-picker.d.ts +77 -0
  125. package/types/iss-ctrl-file-picker.d.ts +95 -0
  126. package/types/iss-ctrl-input.d.ts +76 -0
  127. package/types/iss-ctrl-mobile.d.ts +91 -0
  128. package/types/iss-ctrl-plate.d.ts +54 -0
  129. package/types/iss-ctrl-radio.d.ts +34 -0
  130. package/types/iss-ctrl-select.d.ts +75 -0
  131. package/types/iss-ctrl-slide-toggle.d.ts +26 -0
  132. package/types/iss-ctrl-textarea.d.ts +30 -0
  133. package/types/iss-ctrl-time-picker.d.ts +48 -0
  134. package/types/iss-ctrl-toggle-button.d.ts +41 -0
  135. package/types/iss-ctrl-tokens.d.ts +21 -0
  136. package/types/iss-ctrl.d.ts +120 -1810
  137. package/fesm2022/iss-ctrl-iss-ctrl-BKu6a5HF.mjs +0 -9683
  138. package/fesm2022/iss-ctrl-iss-ctrl-BKu6a5HF.mjs.map +0 -1
  139. package/fesm2022/iss-ctrl-load-event-bOt6IlIo.mjs.map +0 -1
  140. package/fesm2022/iss-ctrl-table.field-B5FxF6hn.mjs.map +0 -1
  141. package/fesm2022/iss-ctrl-user-picker.field-BH63sZ-X.mjs.map +0 -1
@@ -0,0 +1,2465 @@
1
+ import { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';
2
+ import { NgOptimizedImage, NgClass } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Injectable, inject, signal, input, computed, effect, CUSTOM_ELEMENTS_SCHEMA, Component } from '@angular/core';
5
+ import { toSignal } from '@angular/core/rxjs-interop';
6
+ import * as i1 from '@angular/forms';
7
+ import { FormControl, ReactiveFormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
8
+ import { MatFormField, MatPrefix } from '@angular/material/form-field';
9
+ import * as i2 from '@angular/material/input';
10
+ import { MatInput, MatInputModule } from '@angular/material/input';
11
+ import { ControlBase } from 'iss-ctrl/base';
12
+ import { parsePhoneNumber, getExampleNumber } from 'libphonenumber-js/mobile';
13
+ import examples from 'libphonenumber-js/mobile/examples';
14
+
15
+ const DEFAULT_COUNTRY = {
16
+ name: "Saudi Arabia (المملكة العربية السعودية)",
17
+ code: "SA",
18
+ dailCode: "966",
19
+ priority: 0,
20
+ order: 1000,
21
+ placeholder: "501234567"
22
+ };
23
+ const COUNTRIES = [
24
+ {
25
+ name: "Afghanistan (افغانستان)",
26
+ code: "AF",
27
+ dailCode: "93",
28
+ priority: 0,
29
+ order: 0,
30
+ placeholder: "701234567"
31
+ },
32
+ {
33
+ name: "Albania (Shqipëri)",
34
+ code: "AL",
35
+ dailCode: "355",
36
+ priority: 0,
37
+ order: 0,
38
+ placeholder: "672123456"
39
+ },
40
+ {
41
+ name: "Algeria (الجزائر)",
42
+ code: "DZ",
43
+ dailCode: "213",
44
+ priority: 0,
45
+ order: 0,
46
+ placeholder: "551234567"
47
+ },
48
+ {
49
+ name: "American Samoa",
50
+ code: "AS",
51
+ dailCode: "1",
52
+ priority: 1,
53
+ order: 0,
54
+ areaCodes: [
55
+ "684"
56
+ ],
57
+ placeholder: "6847331234"
58
+ },
59
+ {
60
+ name: "Andorra",
61
+ code: "AD",
62
+ dailCode: "376",
63
+ priority: 0,
64
+ order: 0,
65
+ placeholder: "312345"
66
+ },
67
+ {
68
+ name: "Angola",
69
+ code: "AO",
70
+ dailCode: "244",
71
+ priority: 0,
72
+ order: 0,
73
+ placeholder: "923123456"
74
+ },
75
+ {
76
+ name: "Anguilla",
77
+ code: "AI",
78
+ dailCode: "1",
79
+ priority: 1,
80
+ order: 0,
81
+ areaCodes: [
82
+ "264"
83
+ ],
84
+ placeholder: "2642351234"
85
+ },
86
+ {
87
+ name: "Antigua and Barbuda",
88
+ code: "AG",
89
+ dailCode: "1",
90
+ priority: 1,
91
+ order: 0,
92
+ areaCodes: [
93
+ "268"
94
+ ],
95
+ placeholder: "2684641234"
96
+ },
97
+ {
98
+ name: "Argentina",
99
+ code: "AR",
100
+ dailCode: "54",
101
+ priority: 0,
102
+ order: 0,
103
+ placeholder: "91123456789"
104
+ },
105
+ {
106
+ name: "Armenia (Հայաստան)",
107
+ code: "AM",
108
+ dailCode: "374",
109
+ priority: 0,
110
+ order: 0,
111
+ placeholder: "77123456"
112
+ },
113
+ {
114
+ name: "Aruba",
115
+ code: "AW",
116
+ dailCode: "297",
117
+ priority: 0,
118
+ order: 0,
119
+ placeholder: "5601234"
120
+ },
121
+ {
122
+ name: "Australia",
123
+ code: "AU",
124
+ dailCode: "61",
125
+ priority: 0,
126
+ order: 0,
127
+ placeholder: "412345678"
128
+ },
129
+ {
130
+ name: "Austria (Österreich)",
131
+ code: "AT",
132
+ dailCode: "43",
133
+ priority: 0,
134
+ order: 0,
135
+ placeholder: "664123456"
136
+ },
137
+ {
138
+ name: "Azerbaijan (Azərbaycan)",
139
+ code: "AZ",
140
+ dailCode: "994",
141
+ priority: 0,
142
+ order: 0,
143
+ placeholder: "401234567"
144
+ },
145
+ {
146
+ name: "Bahamas",
147
+ code: "BS",
148
+ dailCode: "1",
149
+ priority: 1,
150
+ order: 0,
151
+ areaCodes: [
152
+ "242"
153
+ ],
154
+ placeholder: "2423591234"
155
+ },
156
+ {
157
+ name: "Bahrain (البحرين)",
158
+ code: "BH",
159
+ dailCode: "973",
160
+ priority: 0,
161
+ order: 0,
162
+ placeholder: "36001234"
163
+ },
164
+ {
165
+ name: "Bangladesh (বাংলাদেশ)",
166
+ code: "BD",
167
+ dailCode: "880",
168
+ priority: 0,
169
+ order: 0,
170
+ placeholder: "1812345678"
171
+ },
172
+ {
173
+ name: "Barbados",
174
+ code: "BB",
175
+ dailCode: "1",
176
+ priority: 1,
177
+ order: 0,
178
+ areaCodes: [
179
+ "246"
180
+ ],
181
+ placeholder: "2462501234"
182
+ },
183
+ {
184
+ name: "Belarus (Беларусь)",
185
+ code: "BY",
186
+ dailCode: "375",
187
+ priority: 0,
188
+ order: 0,
189
+ placeholder: "294911911"
190
+ },
191
+ {
192
+ name: "Belgium (België)",
193
+ code: "BE",
194
+ dailCode: "32",
195
+ priority: 0,
196
+ order: 0,
197
+ placeholder: "470123456"
198
+ },
199
+ {
200
+ name: "Belize",
201
+ code: "BZ",
202
+ dailCode: "501",
203
+ priority: 0,
204
+ order: 0,
205
+ placeholder: "6221234"
206
+ },
207
+ {
208
+ name: "Benin (Bénin)",
209
+ code: "BJ",
210
+ dailCode: "229",
211
+ priority: 0,
212
+ order: 0,
213
+ placeholder: "90011234"
214
+ },
215
+ {
216
+ name: "Bermuda",
217
+ code: "BM",
218
+ dailCode: "1",
219
+ priority: 1,
220
+ order: 0,
221
+ areaCodes: [
222
+ "441"
223
+ ],
224
+ placeholder: "4413701234"
225
+ },
226
+ {
227
+ name: "Bhutan (འབྲུག)",
228
+ code: "BT",
229
+ dailCode: "975",
230
+ priority: 0,
231
+ order: 0,
232
+ placeholder: "17123456"
233
+ },
234
+ {
235
+ name: "Bolivia",
236
+ code: "BO",
237
+ dailCode: "591",
238
+ priority: 0,
239
+ order: 0,
240
+ placeholder: "71234567"
241
+ },
242
+ {
243
+ name: "Bosnia and Herzegovina (Босна и Херцеговина)",
244
+ code: "BA",
245
+ dailCode: "387",
246
+ priority: 0,
247
+ order: 0,
248
+ placeholder: "61123456"
249
+ },
250
+ {
251
+ name: "Botswana",
252
+ code: "BW",
253
+ dailCode: "267",
254
+ priority: 0,
255
+ order: 0,
256
+ placeholder: "71123456"
257
+ },
258
+ {
259
+ name: "Brazil (Brasil)",
260
+ code: "BR",
261
+ dailCode: "55",
262
+ priority: 0,
263
+ order: 0,
264
+ placeholder: "11961234567"
265
+ },
266
+ {
267
+ name: "British Indian Ocean Territory",
268
+ code: "IO",
269
+ dailCode: "246",
270
+ priority: 0,
271
+ order: 0,
272
+ placeholder: "3801234"
273
+ },
274
+ {
275
+ name: "British Virgin Islands",
276
+ code: "VG",
277
+ dailCode: "1",
278
+ priority: 1,
279
+ order: 0,
280
+ areaCodes: [
281
+ "284"
282
+ ],
283
+ placeholder: "2843001234"
284
+ },
285
+ {
286
+ name: "Brunei",
287
+ code: "BN",
288
+ dailCode: "673",
289
+ priority: 0,
290
+ order: 0,
291
+ placeholder: "7123456"
292
+ },
293
+ {
294
+ name: "Bulgaria (България)",
295
+ code: "BG",
296
+ dailCode: "359",
297
+ priority: 0,
298
+ order: 0,
299
+ placeholder: "43012345"
300
+ },
301
+ {
302
+ name: "Burkina Faso",
303
+ code: "BF",
304
+ dailCode: "226",
305
+ priority: 0,
306
+ order: 0,
307
+ placeholder: "70123456"
308
+ },
309
+ {
310
+ name: "Burundi (Uburundi)",
311
+ code: "BI",
312
+ dailCode: "257",
313
+ priority: 0,
314
+ order: 0,
315
+ placeholder: "79561234"
316
+ },
317
+ {
318
+ name: "Cambodia (កម្ពុជា)",
319
+ code: "KH",
320
+ dailCode: "855",
321
+ priority: 0,
322
+ order: 0,
323
+ placeholder: "91234567"
324
+ },
325
+ {
326
+ name: "Cameroon (Cameroun)",
327
+ code: "CM",
328
+ dailCode: "237",
329
+ priority: 0,
330
+ order: 0,
331
+ placeholder: "671234567"
332
+ },
333
+ {
334
+ name: "Canada",
335
+ code: "CA",
336
+ dailCode: "1",
337
+ priority: 1,
338
+ order: 0,
339
+ areaCodes: [
340
+ "204",
341
+ "226",
342
+ "236",
343
+ "249",
344
+ "250",
345
+ "289",
346
+ "306",
347
+ "343",
348
+ "365",
349
+ "387",
350
+ "403",
351
+ "416",
352
+ "418",
353
+ "431",
354
+ "437",
355
+ "438",
356
+ "450",
357
+ "506",
358
+ "514",
359
+ "519",
360
+ "548",
361
+ "579",
362
+ "581",
363
+ "587",
364
+ "604",
365
+ "613",
366
+ "639",
367
+ "647",
368
+ "672",
369
+ "705",
370
+ "709",
371
+ "742",
372
+ "778",
373
+ "780",
374
+ "782",
375
+ "807",
376
+ "819",
377
+ "825",
378
+ "867",
379
+ "873",
380
+ "902",
381
+ "905"
382
+ ],
383
+ placeholder: "5062345678"
384
+ },
385
+ {
386
+ name: "Cape Verde (Kabu Verdi)",
387
+ code: "CV",
388
+ dailCode: "238",
389
+ priority: 0,
390
+ order: 0,
391
+ placeholder: "9911234"
392
+ },
393
+ {
394
+ name: "Caribbean Netherlands",
395
+ code: "BQ",
396
+ dailCode: "599",
397
+ priority: 1,
398
+ order: 0,
399
+ placeholder: "3181234"
400
+ },
401
+ {
402
+ name: "Cayman Islands",
403
+ code: "KY",
404
+ dailCode: "1",
405
+ priority: 1,
406
+ order: 0,
407
+ areaCodes: [
408
+ "345"
409
+ ],
410
+ placeholder: "3453231234"
411
+ },
412
+ {
413
+ name: "Central African Republic (République centrafricaine)",
414
+ code: "CF",
415
+ dailCode: "236",
416
+ priority: 0,
417
+ order: 0,
418
+ placeholder: "70012345"
419
+ },
420
+ {
421
+ name: "Chad (Tchad)",
422
+ code: "TD",
423
+ dailCode: "235",
424
+ priority: 0,
425
+ order: 0,
426
+ placeholder: "63012345"
427
+ },
428
+ {
429
+ name: "Chile",
430
+ code: "CL",
431
+ dailCode: "56",
432
+ priority: 0,
433
+ order: 0,
434
+ placeholder: "221234567"
435
+ },
436
+ {
437
+ name: "China (中国)",
438
+ code: "CN",
439
+ dailCode: "86",
440
+ priority: 0,
441
+ order: 0,
442
+ placeholder: "13123456789"
443
+ },
444
+ {
445
+ name: "Christmas Island",
446
+ code: "CX",
447
+ dailCode: "61",
448
+ priority: 2,
449
+ order: 0,
450
+ placeholder: "412345678"
451
+ },
452
+ {
453
+ name: "Cocos (Keeling) Islands",
454
+ code: "CC",
455
+ dailCode: "61",
456
+ priority: 1,
457
+ order: 0,
458
+ placeholder: "412345678"
459
+ },
460
+ {
461
+ name: "Colombia",
462
+ code: "CO",
463
+ dailCode: "57",
464
+ priority: 0,
465
+ order: 0,
466
+ placeholder: "3211234567"
467
+ },
468
+ {
469
+ name: "Comoros (جزر القمر)",
470
+ code: "KM",
471
+ dailCode: "269",
472
+ priority: 0,
473
+ order: 0,
474
+ placeholder: "3212345"
475
+ },
476
+ {
477
+ name: "Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)",
478
+ code: "CD",
479
+ dailCode: "243",
480
+ priority: 0,
481
+ order: 0,
482
+ placeholder: "991234567"
483
+ },
484
+ {
485
+ name: "Congo (Republic) (Congo-Brazzaville)",
486
+ code: "CG",
487
+ dailCode: "242",
488
+ priority: 0,
489
+ order: 0,
490
+ placeholder: "061234567"
491
+ },
492
+ {
493
+ name: "Cook Islands",
494
+ code: "CK",
495
+ dailCode: "682",
496
+ priority: 0,
497
+ order: 0,
498
+ placeholder: "71234"
499
+ },
500
+ {
501
+ name: "Costa Rica",
502
+ code: "CR",
503
+ dailCode: "506",
504
+ priority: 0,
505
+ order: 0,
506
+ placeholder: "83123456"
507
+ },
508
+ {
509
+ name: "Côte d’Ivoire",
510
+ code: "CI",
511
+ dailCode: "225",
512
+ priority: 0,
513
+ order: 0,
514
+ placeholder: "0123456789"
515
+ },
516
+ {
517
+ name: "Croatia (Hrvatska)",
518
+ code: "HR",
519
+ dailCode: "385",
520
+ priority: 0,
521
+ order: 0,
522
+ placeholder: "921234567"
523
+ },
524
+ {
525
+ name: "Cuba",
526
+ code: "CU",
527
+ dailCode: "53",
528
+ priority: 0,
529
+ order: 0,
530
+ placeholder: "51234567"
531
+ },
532
+ {
533
+ name: "Curaçao",
534
+ code: "CW",
535
+ dailCode: "599",
536
+ priority: 0,
537
+ order: 0,
538
+ placeholder: "95181234"
539
+ },
540
+ {
541
+ name: "Cyprus (Κύπρος)",
542
+ code: "CY",
543
+ dailCode: "357",
544
+ priority: 0,
545
+ order: 0,
546
+ placeholder: "96123456"
547
+ },
548
+ {
549
+ name: "Czech Republic (Česká republika)",
550
+ code: "CZ",
551
+ dailCode: "420",
552
+ priority: 0,
553
+ order: 0,
554
+ placeholder: "601123456"
555
+ },
556
+ {
557
+ name: "Denmark (Danmark)",
558
+ code: "DK",
559
+ dailCode: "45",
560
+ priority: 0,
561
+ order: 0,
562
+ placeholder: "34412345"
563
+ },
564
+ {
565
+ name: "Djibouti",
566
+ code: "DJ",
567
+ dailCode: "253",
568
+ priority: 0,
569
+ order: 0,
570
+ placeholder: "77831001"
571
+ },
572
+ {
573
+ name: "Dominica",
574
+ code: "DM",
575
+ dailCode: "1767",
576
+ priority: 0,
577
+ order: 0,
578
+ placeholder: "7672251234"
579
+ },
580
+ {
581
+ name: "Dominican Republic (República Dominicana)",
582
+ code: "DO",
583
+ dailCode: "1",
584
+ priority: 2,
585
+ order: 0,
586
+ areaCodes: [
587
+ "809",
588
+ "829",
589
+ "849"
590
+ ],
591
+ placeholder: "8092345678"
592
+ },
593
+ {
594
+ name: "Ecuador",
595
+ code: "EC",
596
+ dailCode: "593",
597
+ priority: 0,
598
+ order: 0,
599
+ placeholder: "991234567"
600
+ },
601
+ {
602
+ name: "Egypt (مصر)",
603
+ code: "EG",
604
+ dailCode: "20",
605
+ priority: 0,
606
+ order: 0,
607
+ placeholder: "1001234567"
608
+ },
609
+ {
610
+ name: "El Salvador",
611
+ code: "SV",
612
+ dailCode: "503",
613
+ priority: 0,
614
+ order: 0,
615
+ placeholder: "70123456"
616
+ },
617
+ {
618
+ name: "Equatorial Guinea (Guinea Ecuatorial)",
619
+ code: "GQ",
620
+ dailCode: "240",
621
+ priority: 0,
622
+ order: 0,
623
+ placeholder: "222123456"
624
+ },
625
+ {
626
+ name: "Eritrea",
627
+ code: "ER",
628
+ dailCode: "291",
629
+ priority: 0,
630
+ order: 0,
631
+ placeholder: "7123456"
632
+ },
633
+ {
634
+ name: "Estonia (Eesti)",
635
+ code: "EE",
636
+ dailCode: "372",
637
+ priority: 0,
638
+ order: 0,
639
+ placeholder: "51234567"
640
+ },
641
+ {
642
+ name: "Ethiopia",
643
+ code: "ET",
644
+ dailCode: "251",
645
+ priority: 0,
646
+ order: 0,
647
+ placeholder: "911234567"
648
+ },
649
+ {
650
+ name: "Falkland Islands (Islas Malvinas)",
651
+ code: "FK",
652
+ dailCode: "500",
653
+ priority: 0,
654
+ order: 0,
655
+ placeholder: "51234"
656
+ },
657
+ {
658
+ name: "Faroe Islands (Føroyar)",
659
+ code: "FO",
660
+ dailCode: "298",
661
+ priority: 0,
662
+ order: 0,
663
+ placeholder: "211234"
664
+ },
665
+ {
666
+ name: "Fiji",
667
+ code: "FJ",
668
+ dailCode: "679",
669
+ priority: 0,
670
+ order: 0,
671
+ placeholder: "7012345"
672
+ },
673
+ {
674
+ name: "Finland (Suomi)",
675
+ code: "FI",
676
+ dailCode: "358",
677
+ priority: 0,
678
+ order: 0,
679
+ placeholder: "412345678"
680
+ },
681
+ {
682
+ name: "France",
683
+ code: "FR",
684
+ dailCode: "33",
685
+ priority: 0,
686
+ order: 0,
687
+ placeholder: "612345678"
688
+ },
689
+ {
690
+ name: "French Guiana (Guyane française)",
691
+ code: "GF",
692
+ dailCode: "594",
693
+ priority: 0,
694
+ order: 0,
695
+ placeholder: "694201234"
696
+ },
697
+ {
698
+ name: "French Polynesia (Polynésie française)",
699
+ code: "PF",
700
+ dailCode: "689",
701
+ priority: 0,
702
+ order: 0,
703
+ placeholder: "87123456"
704
+ },
705
+ {
706
+ name: "Gabon",
707
+ code: "GA",
708
+ dailCode: "241",
709
+ priority: 0,
710
+ order: 0,
711
+ placeholder: "06031234"
712
+ },
713
+ {
714
+ name: "Gambia",
715
+ code: "GM",
716
+ dailCode: "220",
717
+ priority: 0,
718
+ order: 0,
719
+ placeholder: "3012345"
720
+ },
721
+ {
722
+ name: "Georgia (საქართველო)",
723
+ code: "GE",
724
+ dailCode: "995",
725
+ priority: 0,
726
+ order: 0,
727
+ placeholder: "555123456"
728
+ },
729
+ {
730
+ name: "Germany (Deutschland)",
731
+ code: "DE",
732
+ dailCode: "49",
733
+ priority: 0,
734
+ order: 0,
735
+ placeholder: "15123456789"
736
+ },
737
+ {
738
+ name: "Ghana (Gaana)",
739
+ code: "GH",
740
+ dailCode: "233",
741
+ priority: 0,
742
+ order: 0,
743
+ placeholder: "231234567"
744
+ },
745
+ {
746
+ name: "Gibraltar",
747
+ code: "GI",
748
+ dailCode: "350",
749
+ priority: 0,
750
+ order: 0,
751
+ placeholder: "57123456"
752
+ },
753
+ {
754
+ name: "Greece (Ελλάδα)",
755
+ code: "GR",
756
+ dailCode: "30",
757
+ priority: 0,
758
+ order: 0,
759
+ placeholder: "6912345678"
760
+ },
761
+ {
762
+ name: "Greenland (Kalaallit Nunaat)",
763
+ code: "GL",
764
+ dailCode: "299",
765
+ priority: 0,
766
+ order: 0,
767
+ placeholder: "221234"
768
+ },
769
+ {
770
+ name: "Grenada",
771
+ code: "GD",
772
+ dailCode: "1473",
773
+ priority: 0,
774
+ order: 0,
775
+ placeholder: "4734031234"
776
+ },
777
+ {
778
+ name: "Guadeloupe",
779
+ code: "GP",
780
+ dailCode: "590",
781
+ priority: 0,
782
+ order: 0,
783
+ placeholder: "690001234"
784
+ },
785
+ {
786
+ name: "Guam",
787
+ code: "GU",
788
+ dailCode: "1",
789
+ priority: 1,
790
+ order: 0,
791
+ areaCodes: [
792
+ "671"
793
+ ],
794
+ placeholder: "6713001234"
795
+ },
796
+ {
797
+ name: "Guatemala",
798
+ code: "GT",
799
+ dailCode: "502",
800
+ priority: 0,
801
+ order: 0,
802
+ placeholder: "51234567"
803
+ },
804
+ {
805
+ name: "Guernsey",
806
+ code: "GG",
807
+ dailCode: "44",
808
+ priority: 1,
809
+ order: 0,
810
+ areaCodes: [
811
+ "1481"
812
+ ],
813
+ placeholder: "7781123456"
814
+ },
815
+ {
816
+ name: "Guinea (Guinée)",
817
+ code: "GN",
818
+ dailCode: "224",
819
+ priority: 0,
820
+ order: 0,
821
+ placeholder: "601123456"
822
+ },
823
+ {
824
+ name: "Guinea-Bissau (Guiné Bissau)",
825
+ code: "GW",
826
+ dailCode: "245",
827
+ priority: 0,
828
+ order: 0,
829
+ placeholder: "955012345"
830
+ },
831
+ {
832
+ name: "Guyana",
833
+ code: "GY",
834
+ dailCode: "592",
835
+ priority: 0,
836
+ order: 0,
837
+ placeholder: "6091234"
838
+ },
839
+ {
840
+ name: "Haiti",
841
+ code: "HT",
842
+ dailCode: "509",
843
+ priority: 0,
844
+ order: 0,
845
+ placeholder: "34101234"
846
+ },
847
+ {
848
+ name: "Honduras",
849
+ code: "HN",
850
+ dailCode: "504",
851
+ priority: 0,
852
+ order: 0,
853
+ placeholder: "91234567"
854
+ },
855
+ {
856
+ name: "Hong Kong (香港)",
857
+ code: "HK",
858
+ dailCode: "852",
859
+ priority: 0,
860
+ order: 0,
861
+ placeholder: "51234567"
862
+ },
863
+ {
864
+ name: "Hungary (Magyarország)",
865
+ code: "HU",
866
+ dailCode: "36",
867
+ priority: 0,
868
+ order: 0,
869
+ placeholder: "201234567"
870
+ },
871
+ {
872
+ name: "Iceland (Ísland)",
873
+ code: "IS",
874
+ dailCode: "354",
875
+ priority: 0,
876
+ order: 0,
877
+ placeholder: "6111234"
878
+ },
879
+ {
880
+ name: "India (भारत)",
881
+ code: "IN",
882
+ dailCode: "91",
883
+ priority: 0,
884
+ order: 0,
885
+ placeholder: "8123456789"
886
+ },
887
+ {
888
+ name: "Indonesia",
889
+ code: "ID",
890
+ dailCode: "62",
891
+ priority: 0,
892
+ order: 0,
893
+ placeholder: "812345678"
894
+ },
895
+ {
896
+ name: "Iran (ايران)",
897
+ code: "IR",
898
+ dailCode: "98",
899
+ priority: 0,
900
+ order: 0,
901
+ placeholder: "9123456789"
902
+ },
903
+ {
904
+ name: "Iraq (العراق)",
905
+ code: "IQ",
906
+ dailCode: "964",
907
+ priority: 0,
908
+ order: 0,
909
+ placeholder: "7912345678"
910
+ },
911
+ {
912
+ name: "Ireland",
913
+ code: "IE",
914
+ dailCode: "353",
915
+ priority: 0,
916
+ order: 0,
917
+ placeholder: "850123456"
918
+ },
919
+ {
920
+ name: "Isle of Man",
921
+ code: "IM",
922
+ dailCode: "44",
923
+ priority: 2,
924
+ order: 0,
925
+ areaCodes: [
926
+ "1624"
927
+ ],
928
+ placeholder: "7924123456"
929
+ },
930
+ {
931
+ name: "Italy (Italia)",
932
+ code: "IT",
933
+ dailCode: "39",
934
+ priority: 0,
935
+ order: 0,
936
+ placeholder: "3123456789"
937
+ },
938
+ {
939
+ name: "Jamaica",
940
+ code: "JM",
941
+ dailCode: "1",
942
+ priority: 1,
943
+ order: 0,
944
+ areaCodes: [
945
+ "876"
946
+ ],
947
+ placeholder: "8762101234"
948
+ },
949
+ {
950
+ name: "Japan (日本)",
951
+ code: "JP",
952
+ dailCode: "81",
953
+ priority: 0,
954
+ order: 0,
955
+ placeholder: "9012345678"
956
+ },
957
+ {
958
+ name: "Jersey",
959
+ code: "JE",
960
+ dailCode: "44",
961
+ priority: 3,
962
+ order: 0,
963
+ areaCodes: [
964
+ "1534"
965
+ ],
966
+ placeholder: "7797712345"
967
+ },
968
+ {
969
+ name: "Jordan (الأردن)",
970
+ code: "JO",
971
+ dailCode: "962",
972
+ priority: 0,
973
+ order: 0,
974
+ placeholder: "790123456"
975
+ },
976
+ {
977
+ name: "Kazakhstan (Казахстан)",
978
+ code: "KZ",
979
+ dailCode: "7",
980
+ priority: 1,
981
+ order: 0,
982
+ placeholder: "7710009998"
983
+ },
984
+ {
985
+ name: "Kenya",
986
+ code: "KE",
987
+ dailCode: "254",
988
+ priority: 0,
989
+ order: 0,
990
+ placeholder: "712123456"
991
+ },
992
+ {
993
+ name: "Kiribati",
994
+ code: "KI",
995
+ dailCode: "686",
996
+ priority: 0,
997
+ order: 0,
998
+ placeholder: "72001234"
999
+ },
1000
+ {
1001
+ name: "Kosovo",
1002
+ code: "XK",
1003
+ dailCode: "383",
1004
+ priority: 0,
1005
+ order: 0,
1006
+ placeholder: "43201234"
1007
+ },
1008
+ {
1009
+ name: "Kuwait (الكويت)",
1010
+ code: "KW",
1011
+ dailCode: "965",
1012
+ priority: 0,
1013
+ order: 0,
1014
+ placeholder: "50012345"
1015
+ },
1016
+ {
1017
+ name: "Kyrgyzstan (Кыргызстан)",
1018
+ code: "KG",
1019
+ dailCode: "996",
1020
+ priority: 0,
1021
+ order: 0,
1022
+ placeholder: "700123456"
1023
+ },
1024
+ {
1025
+ name: "Laos (ລາວ)",
1026
+ code: "LA",
1027
+ dailCode: "856",
1028
+ priority: 0,
1029
+ order: 0,
1030
+ placeholder: "2023123456"
1031
+ },
1032
+ {
1033
+ name: "Latvia (Latvija)",
1034
+ code: "LV",
1035
+ dailCode: "371",
1036
+ priority: 0,
1037
+ order: 0,
1038
+ placeholder: "21234567"
1039
+ },
1040
+ {
1041
+ name: "Lebanon (لبنان)",
1042
+ code: "LB",
1043
+ dailCode: "961",
1044
+ priority: 0,
1045
+ order: 0,
1046
+ placeholder: "71123456"
1047
+ },
1048
+ {
1049
+ name: "Lesotho",
1050
+ code: "LS",
1051
+ dailCode: "266",
1052
+ priority: 0,
1053
+ order: 0,
1054
+ placeholder: "50123456"
1055
+ },
1056
+ {
1057
+ name: "Liberia",
1058
+ code: "LR",
1059
+ dailCode: "231",
1060
+ priority: 0,
1061
+ order: 0,
1062
+ placeholder: "770123456"
1063
+ },
1064
+ {
1065
+ name: "Libya (ليبيا)",
1066
+ code: "LY",
1067
+ dailCode: "218",
1068
+ priority: 0,
1069
+ order: 0,
1070
+ placeholder: "912345678"
1071
+ },
1072
+ {
1073
+ name: "Liechtenstein",
1074
+ code: "LI",
1075
+ dailCode: "423",
1076
+ priority: 0,
1077
+ order: 0,
1078
+ placeholder: "660234567"
1079
+ },
1080
+ {
1081
+ name: "Lithuania (Lietuva)",
1082
+ code: "LT",
1083
+ dailCode: "370",
1084
+ priority: 0,
1085
+ order: 0,
1086
+ placeholder: "61234567"
1087
+ },
1088
+ {
1089
+ name: "Luxembourg",
1090
+ code: "LU",
1091
+ dailCode: "352",
1092
+ priority: 0,
1093
+ order: 0,
1094
+ placeholder: "628123456"
1095
+ },
1096
+ {
1097
+ name: "Macau (澳門)",
1098
+ code: "MO",
1099
+ dailCode: "853",
1100
+ priority: 0,
1101
+ order: 0,
1102
+ placeholder: "66123456"
1103
+ },
1104
+ {
1105
+ name: "Macedonia (FYROM) (Македонија)",
1106
+ code: "MK",
1107
+ dailCode: "389",
1108
+ priority: 0,
1109
+ order: 0,
1110
+ placeholder: "72345678"
1111
+ },
1112
+ {
1113
+ name: "Madagascar (Madagasikara)",
1114
+ code: "MG",
1115
+ dailCode: "261",
1116
+ priority: 0,
1117
+ order: 0,
1118
+ placeholder: "321234567"
1119
+ },
1120
+ {
1121
+ name: "Malawi",
1122
+ code: "MW",
1123
+ dailCode: "265",
1124
+ priority: 0,
1125
+ order: 0,
1126
+ placeholder: "991234567"
1127
+ },
1128
+ {
1129
+ name: "Malaysia",
1130
+ code: "MY",
1131
+ dailCode: "60",
1132
+ priority: 0,
1133
+ order: 0,
1134
+ placeholder: "123456789"
1135
+ },
1136
+ {
1137
+ name: "Maldives",
1138
+ code: "MV",
1139
+ dailCode: "960",
1140
+ priority: 0,
1141
+ order: 0,
1142
+ placeholder: "7712345"
1143
+ },
1144
+ {
1145
+ name: "Mali",
1146
+ code: "ML",
1147
+ dailCode: "223",
1148
+ priority: 0,
1149
+ order: 0,
1150
+ placeholder: "65012345"
1151
+ },
1152
+ {
1153
+ name: "Malta",
1154
+ code: "MT",
1155
+ dailCode: "356",
1156
+ priority: 0,
1157
+ order: 0,
1158
+ placeholder: "96961234"
1159
+ },
1160
+ {
1161
+ name: "Marshall Islands",
1162
+ code: "MH",
1163
+ dailCode: "692",
1164
+ priority: 0,
1165
+ order: 0,
1166
+ placeholder: "2351234"
1167
+ },
1168
+ {
1169
+ name: "Martinique",
1170
+ code: "MQ",
1171
+ dailCode: "596",
1172
+ priority: 0,
1173
+ order: 0,
1174
+ placeholder: "696201234"
1175
+ },
1176
+ {
1177
+ name: "Mauritania (موريتانيا)",
1178
+ code: "MR",
1179
+ dailCode: "222",
1180
+ priority: 0,
1181
+ order: 0,
1182
+ placeholder: "22123456"
1183
+ },
1184
+ {
1185
+ name: "Mauritius (Moris)",
1186
+ code: "MU",
1187
+ dailCode: "230",
1188
+ priority: 0,
1189
+ order: 0,
1190
+ placeholder: "52512345"
1191
+ },
1192
+ {
1193
+ name: "Mayotte",
1194
+ code: "YT",
1195
+ dailCode: "262",
1196
+ priority: 1,
1197
+ order: 0,
1198
+ placeholder: "639012345"
1199
+ },
1200
+ {
1201
+ name: "Mexico (México)",
1202
+ code: "MX",
1203
+ dailCode: "52",
1204
+ priority: 0,
1205
+ order: 0,
1206
+ placeholder: "2221234567"
1207
+ },
1208
+ {
1209
+ name: "Micronesia",
1210
+ code: "FM",
1211
+ dailCode: "691",
1212
+ priority: 0,
1213
+ order: 0,
1214
+ placeholder: "3501234"
1215
+ },
1216
+ {
1217
+ name: "Moldova (Republica Moldova)",
1218
+ code: "MD",
1219
+ dailCode: "373",
1220
+ priority: 0,
1221
+ order: 0,
1222
+ placeholder: "62112345"
1223
+ },
1224
+ {
1225
+ name: "Monaco",
1226
+ code: "MC",
1227
+ dailCode: "377",
1228
+ priority: 0,
1229
+ order: 0,
1230
+ placeholder: "612345678"
1231
+ },
1232
+ {
1233
+ name: "Mongolia (Монгол)",
1234
+ code: "MN",
1235
+ dailCode: "976",
1236
+ priority: 0,
1237
+ order: 0,
1238
+ placeholder: "88123456"
1239
+ },
1240
+ {
1241
+ name: "Montenegro (Crna Gora)",
1242
+ code: "ME",
1243
+ dailCode: "382",
1244
+ priority: 0,
1245
+ order: 0,
1246
+ placeholder: "67622901"
1247
+ },
1248
+ {
1249
+ name: "Montserrat",
1250
+ code: "MS",
1251
+ dailCode: "1",
1252
+ priority: 1,
1253
+ order: 0,
1254
+ areaCodes: [
1255
+ "664"
1256
+ ],
1257
+ placeholder: "6644923456"
1258
+ },
1259
+ {
1260
+ name: "Morocco (المغرب)",
1261
+ code: "MA",
1262
+ dailCode: "212",
1263
+ priority: 0,
1264
+ order: 0,
1265
+ placeholder: "650123456"
1266
+ },
1267
+ {
1268
+ name: "Mozambique (Moçambique)",
1269
+ code: "MZ",
1270
+ dailCode: "258",
1271
+ priority: 0,
1272
+ order: 0,
1273
+ placeholder: "821234567"
1274
+ },
1275
+ {
1276
+ name: "Myanmar (Burma) (မြန်မာ)",
1277
+ code: "MM",
1278
+ dailCode: "95",
1279
+ priority: 0,
1280
+ order: 0,
1281
+ placeholder: "92123456"
1282
+ },
1283
+ {
1284
+ name: "Namibia (Namibië)",
1285
+ code: "NA",
1286
+ dailCode: "264",
1287
+ priority: 0,
1288
+ order: 0,
1289
+ placeholder: "811234567"
1290
+ },
1291
+ {
1292
+ name: "Nauru",
1293
+ code: "NR",
1294
+ dailCode: "674",
1295
+ priority: 0,
1296
+ order: 0,
1297
+ placeholder: "5551234"
1298
+ },
1299
+ {
1300
+ name: "Nepal (नेपाल)",
1301
+ code: "NP",
1302
+ dailCode: "977",
1303
+ priority: 0,
1304
+ order: 0,
1305
+ placeholder: "9841234567"
1306
+ },
1307
+ {
1308
+ name: "Netherlands (Nederland)",
1309
+ code: "NL",
1310
+ dailCode: "31",
1311
+ priority: 0,
1312
+ order: 0,
1313
+ placeholder: "612345678"
1314
+ },
1315
+ {
1316
+ name: "New Caledonia (Nouvelle-Calédonie)",
1317
+ code: "NC",
1318
+ dailCode: "687",
1319
+ priority: 0,
1320
+ order: 0,
1321
+ placeholder: "751234"
1322
+ },
1323
+ {
1324
+ name: "New Zealand",
1325
+ code: "NZ",
1326
+ dailCode: "64",
1327
+ priority: 0,
1328
+ order: 0,
1329
+ placeholder: "211234567"
1330
+ },
1331
+ {
1332
+ name: "Nicaragua",
1333
+ code: "NI",
1334
+ dailCode: "505",
1335
+ priority: 0,
1336
+ order: 0,
1337
+ placeholder: "81234567"
1338
+ },
1339
+ {
1340
+ name: "Niger (Nijar)",
1341
+ code: "NE",
1342
+ dailCode: "227",
1343
+ priority: 0,
1344
+ order: 0,
1345
+ placeholder: "93123456"
1346
+ },
1347
+ {
1348
+ name: "Nigeria",
1349
+ code: "NG",
1350
+ dailCode: "234",
1351
+ priority: 0,
1352
+ order: 0,
1353
+ placeholder: "8021234567"
1354
+ },
1355
+ {
1356
+ name: "Niue",
1357
+ code: "NU",
1358
+ dailCode: "683",
1359
+ priority: 0,
1360
+ order: 0,
1361
+ placeholder: "8884012"
1362
+ },
1363
+ {
1364
+ name: "Norfolk Island",
1365
+ code: "NF",
1366
+ dailCode: "672",
1367
+ priority: 0,
1368
+ order: 0,
1369
+ placeholder: "381234"
1370
+ },
1371
+ {
1372
+ name: "North Korea (조선 민주주의 인민 공화국)",
1373
+ code: "KP",
1374
+ dailCode: "850",
1375
+ priority: 0,
1376
+ order: 0,
1377
+ placeholder: "1921234567"
1378
+ },
1379
+ {
1380
+ name: "Northern Mariana Islands",
1381
+ code: "MP",
1382
+ dailCode: "1670",
1383
+ priority: 0,
1384
+ order: 0,
1385
+ placeholder: "6702345678"
1386
+ },
1387
+ {
1388
+ name: "Norway (Norge)",
1389
+ code: "NO",
1390
+ dailCode: "47",
1391
+ priority: 0,
1392
+ order: 0,
1393
+ placeholder: "40612345"
1394
+ },
1395
+ {
1396
+ name: "Oman (عُمان)",
1397
+ code: "OM",
1398
+ dailCode: "968",
1399
+ priority: 0,
1400
+ order: 0,
1401
+ placeholder: "92123456"
1402
+ },
1403
+ {
1404
+ name: "Pakistan (پاکستان)",
1405
+ code: "PK",
1406
+ dailCode: "92",
1407
+ priority: 0,
1408
+ order: 0,
1409
+ placeholder: "3012345678"
1410
+ },
1411
+ {
1412
+ name: "Palau",
1413
+ code: "PW",
1414
+ dailCode: "680",
1415
+ priority: 0,
1416
+ order: 0,
1417
+ placeholder: "6201234"
1418
+ },
1419
+ {
1420
+ name: "Palestine (فلسطين)",
1421
+ code: "PS",
1422
+ dailCode: "970",
1423
+ priority: 0,
1424
+ order: 0,
1425
+ placeholder: "599123456"
1426
+ },
1427
+ {
1428
+ name: "Panama (Panamá)",
1429
+ code: "PA",
1430
+ dailCode: "507",
1431
+ priority: 0,
1432
+ order: 0,
1433
+ placeholder: "61234567"
1434
+ },
1435
+ {
1436
+ name: "Papua New Guinea",
1437
+ code: "PG",
1438
+ dailCode: "675",
1439
+ priority: 0,
1440
+ order: 0,
1441
+ placeholder: "70123456"
1442
+ },
1443
+ {
1444
+ name: "Paraguay",
1445
+ code: "PY",
1446
+ dailCode: "595",
1447
+ priority: 0,
1448
+ order: 0,
1449
+ placeholder: "961456789"
1450
+ },
1451
+ {
1452
+ name: "Peru (Perú)",
1453
+ code: "PE",
1454
+ dailCode: "51",
1455
+ priority: 0,
1456
+ order: 0,
1457
+ placeholder: "912345678"
1458
+ },
1459
+ {
1460
+ name: "Philippines",
1461
+ code: "PH",
1462
+ dailCode: "63",
1463
+ priority: 0,
1464
+ order: 0,
1465
+ placeholder: "9051234567"
1466
+ },
1467
+ {
1468
+ name: "Poland (Polska)",
1469
+ code: "PL",
1470
+ dailCode: "48",
1471
+ priority: 0,
1472
+ order: 0,
1473
+ placeholder: "512345678"
1474
+ },
1475
+ {
1476
+ name: "Portugal",
1477
+ code: "PT",
1478
+ dailCode: "351",
1479
+ priority: 0,
1480
+ order: 0,
1481
+ placeholder: "912345678"
1482
+ },
1483
+ {
1484
+ name: "Puerto Rico",
1485
+ code: "PR",
1486
+ dailCode: "1",
1487
+ priority: 3,
1488
+ order: 0,
1489
+ areaCodes: [
1490
+ "787",
1491
+ "939"
1492
+ ],
1493
+ placeholder: "7872345678"
1494
+ },
1495
+ {
1496
+ name: "Qatar (قطر)",
1497
+ code: "QA",
1498
+ dailCode: "974",
1499
+ priority: 0,
1500
+ order: 0,
1501
+ placeholder: "33123456"
1502
+ },
1503
+ {
1504
+ name: "Réunion (La Réunion)",
1505
+ code: "RE",
1506
+ dailCode: "262",
1507
+ priority: 0,
1508
+ order: 0,
1509
+ placeholder: "692123456"
1510
+ },
1511
+ {
1512
+ name: "Romania (România)",
1513
+ code: "RO",
1514
+ dailCode: "40",
1515
+ priority: 0,
1516
+ order: 0,
1517
+ placeholder: "712034567"
1518
+ },
1519
+ {
1520
+ name: "Russia (Россия)",
1521
+ code: "RU",
1522
+ dailCode: "7",
1523
+ priority: 0,
1524
+ order: 0,
1525
+ placeholder: "9123456789"
1526
+ },
1527
+ {
1528
+ name: "Rwanda",
1529
+ code: "RW",
1530
+ dailCode: "250",
1531
+ priority: 0,
1532
+ order: 0,
1533
+ placeholder: "720123456"
1534
+ },
1535
+ {
1536
+ name: "Saint Barthélemy (Saint-Barthélemy)",
1537
+ code: "BL",
1538
+ dailCode: "590",
1539
+ priority: 1,
1540
+ order: 0,
1541
+ placeholder: "690001234"
1542
+ },
1543
+ {
1544
+ name: "Saint Helena",
1545
+ code: "SH",
1546
+ dailCode: "290",
1547
+ priority: 0,
1548
+ order: 0,
1549
+ placeholder: "51234"
1550
+ },
1551
+ {
1552
+ name: "Saint Kitts and Nevis",
1553
+ code: "KN",
1554
+ dailCode: "1869",
1555
+ priority: 0,
1556
+ order: 0,
1557
+ placeholder: "8697652917"
1558
+ },
1559
+ {
1560
+ name: "Saint Lucia",
1561
+ code: "LC",
1562
+ dailCode: "1",
1563
+ priority: 1,
1564
+ order: 0,
1565
+ areaCodes: [
1566
+ "758"
1567
+ ],
1568
+ placeholder: "7582845678"
1569
+ },
1570
+ {
1571
+ name: "Saint Martin (Saint-Martin (partie française))",
1572
+ code: "MF",
1573
+ dailCode: "590",
1574
+ priority: 2,
1575
+ order: 0,
1576
+ placeholder: "690001234"
1577
+ },
1578
+ {
1579
+ name: "Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)",
1580
+ code: "PM",
1581
+ dailCode: "508",
1582
+ priority: 0,
1583
+ order: 0,
1584
+ placeholder: "551234"
1585
+ },
1586
+ {
1587
+ name: "Saint Vincent and the Grenadines",
1588
+ code: "VC",
1589
+ dailCode: "1",
1590
+ priority: 1,
1591
+ order: 0,
1592
+ areaCodes: [
1593
+ "784"
1594
+ ],
1595
+ placeholder: "7844301234"
1596
+ },
1597
+ {
1598
+ name: "Samoa",
1599
+ code: "WS",
1600
+ dailCode: "685",
1601
+ priority: 0,
1602
+ order: 0,
1603
+ placeholder: "7212345"
1604
+ },
1605
+ {
1606
+ name: "San Marino",
1607
+ code: "SM",
1608
+ dailCode: "378",
1609
+ priority: 0,
1610
+ order: 0,
1611
+ placeholder: "66661212"
1612
+ },
1613
+ {
1614
+ name: "São Tomé and Príncipe (São Tomé e Príncipe)",
1615
+ code: "ST",
1616
+ dailCode: "239",
1617
+ priority: 0,
1618
+ order: 0,
1619
+ placeholder: "9812345"
1620
+ },
1621
+ {
1622
+ name: "Saudi Arabia (المملكة العربية السعودية)",
1623
+ code: "SA",
1624
+ dailCode: "966",
1625
+ priority: 0,
1626
+ order: 1,
1627
+ placeholder: "501234567"
1628
+ },
1629
+ {
1630
+ name: "Senegal (Sénégal)",
1631
+ code: "SN",
1632
+ dailCode: "221",
1633
+ priority: 0,
1634
+ order: 0,
1635
+ placeholder: "701234567"
1636
+ },
1637
+ {
1638
+ name: "Serbia (Србија)",
1639
+ code: "RS",
1640
+ dailCode: "381",
1641
+ priority: 0,
1642
+ order: 0,
1643
+ placeholder: "601234567"
1644
+ },
1645
+ {
1646
+ name: "Seychelles",
1647
+ code: "SC",
1648
+ dailCode: "248",
1649
+ priority: 0,
1650
+ order: 0,
1651
+ placeholder: "2510123"
1652
+ },
1653
+ {
1654
+ name: "Sierra Leone",
1655
+ code: "SL",
1656
+ dailCode: "232",
1657
+ priority: 0,
1658
+ order: 0,
1659
+ placeholder: "25123456"
1660
+ },
1661
+ {
1662
+ name: "Singapore",
1663
+ code: "SG",
1664
+ dailCode: "65",
1665
+ priority: 0,
1666
+ order: 0,
1667
+ placeholder: "81234567"
1668
+ },
1669
+ {
1670
+ name: "Sint Maarten",
1671
+ code: "SX",
1672
+ dailCode: "1",
1673
+ priority: 1,
1674
+ order: 0,
1675
+ areaCodes: [
1676
+ "721"
1677
+ ],
1678
+ placeholder: "7215205678"
1679
+ },
1680
+ {
1681
+ name: "Slovakia (Slovensko)",
1682
+ code: "SK",
1683
+ dailCode: "421",
1684
+ priority: 0,
1685
+ order: 0,
1686
+ placeholder: "912123456"
1687
+ },
1688
+ {
1689
+ name: "Slovenia (Slovenija)",
1690
+ code: "SI",
1691
+ dailCode: "386",
1692
+ priority: 0,
1693
+ order: 0,
1694
+ placeholder: "31234567"
1695
+ },
1696
+ {
1697
+ name: "Solomon Islands",
1698
+ code: "SB",
1699
+ dailCode: "677",
1700
+ priority: 0,
1701
+ order: 0,
1702
+ placeholder: "7421234"
1703
+ },
1704
+ {
1705
+ name: "Somalia (Soomaaliya)",
1706
+ code: "SO",
1707
+ dailCode: "252",
1708
+ priority: 0,
1709
+ order: 0,
1710
+ placeholder: "71123456"
1711
+ },
1712
+ {
1713
+ name: "South Africa",
1714
+ code: "ZA",
1715
+ dailCode: "27",
1716
+ priority: 0,
1717
+ order: 0,
1718
+ placeholder: "711234567"
1719
+ },
1720
+ {
1721
+ name: "South Korea (대한민국)",
1722
+ code: "KR",
1723
+ dailCode: "82",
1724
+ priority: 0,
1725
+ order: 0,
1726
+ placeholder: "1020000000"
1727
+ },
1728
+ {
1729
+ name: "South Sudan (جنوب السودان)",
1730
+ code: "SS",
1731
+ dailCode: "211",
1732
+ priority: 0,
1733
+ order: 0,
1734
+ placeholder: "977123456"
1735
+ },
1736
+ {
1737
+ name: "Spain (España)",
1738
+ code: "ES",
1739
+ dailCode: "34",
1740
+ priority: 0,
1741
+ order: 0,
1742
+ placeholder: "612345678"
1743
+ },
1744
+ {
1745
+ name: "Sri Lanka (ශ්‍රී ලංකාව)",
1746
+ code: "LK",
1747
+ dailCode: "94",
1748
+ priority: 0,
1749
+ order: 0,
1750
+ placeholder: "712345678"
1751
+ },
1752
+ {
1753
+ name: "Sudan (السودان)",
1754
+ code: "SD",
1755
+ dailCode: "249",
1756
+ priority: 0,
1757
+ order: 0,
1758
+ placeholder: "911231234"
1759
+ },
1760
+ {
1761
+ name: "Suriname",
1762
+ code: "SR",
1763
+ dailCode: "597",
1764
+ priority: 0,
1765
+ order: 0,
1766
+ placeholder: "7412345"
1767
+ },
1768
+ {
1769
+ name: "Svalbard and Jan Mayen",
1770
+ code: "SJ",
1771
+ dailCode: "47",
1772
+ priority: 1,
1773
+ order: 0,
1774
+ placeholder: "41234567"
1775
+ },
1776
+ {
1777
+ name: "Swaziland",
1778
+ code: "SZ",
1779
+ dailCode: "268",
1780
+ priority: 0,
1781
+ order: 0,
1782
+ placeholder: "76123456"
1783
+ },
1784
+ {
1785
+ name: "Sweden (Sverige)",
1786
+ code: "SE",
1787
+ dailCode: "46",
1788
+ priority: 0,
1789
+ order: 0,
1790
+ placeholder: "701234567"
1791
+ },
1792
+ {
1793
+ name: "Switzerland (Schweiz)",
1794
+ code: "CH",
1795
+ dailCode: "41",
1796
+ priority: 0,
1797
+ order: 0,
1798
+ placeholder: "781234567"
1799
+ },
1800
+ {
1801
+ name: "Syria (سوريا)",
1802
+ code: "SY",
1803
+ dailCode: "963",
1804
+ priority: 0,
1805
+ order: 0,
1806
+ placeholder: "944567890"
1807
+ },
1808
+ {
1809
+ name: "Taiwan (台灣)",
1810
+ code: "TW",
1811
+ dailCode: "886",
1812
+ priority: 0,
1813
+ order: 0,
1814
+ placeholder: "912345678"
1815
+ },
1816
+ {
1817
+ name: "Tajikistan",
1818
+ code: "TJ",
1819
+ dailCode: "992",
1820
+ priority: 0,
1821
+ order: 0,
1822
+ placeholder: "917123456"
1823
+ },
1824
+ {
1825
+ name: "Tanzania",
1826
+ code: "TZ",
1827
+ dailCode: "255",
1828
+ priority: 0,
1829
+ order: 0,
1830
+ placeholder: "621234567"
1831
+ },
1832
+ {
1833
+ name: "Thailand (ไทย)",
1834
+ code: "TH",
1835
+ dailCode: "66",
1836
+ priority: 0,
1837
+ order: 0,
1838
+ placeholder: "812345678"
1839
+ },
1840
+ {
1841
+ name: "Timor-Leste",
1842
+ code: "TL",
1843
+ dailCode: "670",
1844
+ priority: 0,
1845
+ order: 0,
1846
+ placeholder: "77212345"
1847
+ },
1848
+ {
1849
+ name: "Togo",
1850
+ code: "TG",
1851
+ dailCode: "228",
1852
+ priority: 0,
1853
+ order: 0,
1854
+ placeholder: "90112345"
1855
+ },
1856
+ {
1857
+ name: "Tokelau",
1858
+ code: "TK",
1859
+ dailCode: "690",
1860
+ priority: 0,
1861
+ order: 0,
1862
+ placeholder: "7290"
1863
+ },
1864
+ {
1865
+ name: "Tonga",
1866
+ code: "TO",
1867
+ dailCode: "676",
1868
+ priority: 0,
1869
+ order: 0,
1870
+ placeholder: "7715123"
1871
+ },
1872
+ {
1873
+ name: "Trinidad and Tobago",
1874
+ code: "TT",
1875
+ dailCode: "1",
1876
+ priority: 1,
1877
+ order: 0,
1878
+ areaCodes: [
1879
+ "868"
1880
+ ],
1881
+ placeholder: "8682911234"
1882
+ },
1883
+ {
1884
+ name: "Tunisia (تونس)",
1885
+ code: "TN",
1886
+ dailCode: "216",
1887
+ priority: 0,
1888
+ order: 0,
1889
+ placeholder: "20123456"
1890
+ },
1891
+ {
1892
+ name: "Turkey (Türkiye)",
1893
+ code: "TR",
1894
+ dailCode: "90",
1895
+ priority: 0,
1896
+ order: 0,
1897
+ placeholder: "5012345678"
1898
+ },
1899
+ {
1900
+ name: "Turkmenistan",
1901
+ code: "TM",
1902
+ dailCode: "993",
1903
+ priority: 0,
1904
+ order: 0,
1905
+ placeholder: "66123456"
1906
+ },
1907
+ {
1908
+ name: "Turks and Caicos Islands",
1909
+ code: "TC",
1910
+ dailCode: "1649",
1911
+ priority: 0,
1912
+ order: 0,
1913
+ placeholder: "6492311234"
1914
+ },
1915
+ {
1916
+ name: "Tuvalu",
1917
+ code: "TV",
1918
+ dailCode: "688",
1919
+ priority: 0,
1920
+ order: 0,
1921
+ placeholder: "901234"
1922
+ },
1923
+ {
1924
+ name: "U.S. Virgin Islands",
1925
+ code: "VI",
1926
+ dailCode: "1",
1927
+ priority: 1,
1928
+ order: 0,
1929
+ areaCodes: [
1930
+ "340"
1931
+ ],
1932
+ placeholder: "3406421234"
1933
+ },
1934
+ {
1935
+ name: "Uganda",
1936
+ code: "UG",
1937
+ dailCode: "256",
1938
+ priority: 0,
1939
+ order: 0,
1940
+ placeholder: "712345678"
1941
+ },
1942
+ {
1943
+ name: "Ukraine (Україна)",
1944
+ code: "UA",
1945
+ dailCode: "380",
1946
+ priority: 0,
1947
+ order: 0,
1948
+ placeholder: "501234567"
1949
+ },
1950
+ {
1951
+ name: "United Arab Emirates (الإمارات العربية المتحدة)",
1952
+ code: "AE",
1953
+ dailCode: "971",
1954
+ priority: 0,
1955
+ order: 0,
1956
+ placeholder: "501234567"
1957
+ },
1958
+ {
1959
+ name: "United Kingdom",
1960
+ code: "GB",
1961
+ dailCode: "44",
1962
+ priority: 0,
1963
+ order: 0,
1964
+ placeholder: "7400123456"
1965
+ },
1966
+ {
1967
+ name: "United States",
1968
+ code: "US",
1969
+ dailCode: "1",
1970
+ priority: 0,
1971
+ order: 0,
1972
+ placeholder: "2015550123"
1973
+ },
1974
+ {
1975
+ name: "Uruguay",
1976
+ code: "UY",
1977
+ dailCode: "598",
1978
+ priority: 0,
1979
+ order: 0,
1980
+ placeholder: "94231234"
1981
+ },
1982
+ {
1983
+ name: "Uzbekistan (Oʻzbekiston)",
1984
+ code: "UZ",
1985
+ dailCode: "998",
1986
+ priority: 0,
1987
+ order: 0,
1988
+ placeholder: "912345678"
1989
+ },
1990
+ {
1991
+ name: "Vanuatu",
1992
+ code: "VU",
1993
+ dailCode: "678",
1994
+ priority: 0,
1995
+ order: 0,
1996
+ placeholder: "5912345"
1997
+ },
1998
+ {
1999
+ name: "Vatican City (Città del Vaticano)",
2000
+ code: "VA",
2001
+ dailCode: "39",
2002
+ priority: 1,
2003
+ order: 0,
2004
+ placeholder: "3123456789"
2005
+ },
2006
+ {
2007
+ name: "Venezuela",
2008
+ code: "VE",
2009
+ dailCode: "58",
2010
+ priority: 0,
2011
+ order: 0,
2012
+ placeholder: "4121234567"
2013
+ },
2014
+ {
2015
+ name: "Vietnam (Việt Nam)",
2016
+ code: "VN",
2017
+ dailCode: "84",
2018
+ priority: 0,
2019
+ order: 0,
2020
+ placeholder: "912345678"
2021
+ },
2022
+ {
2023
+ name: "Wallis and Futuna",
2024
+ code: "WF",
2025
+ dailCode: "681",
2026
+ priority: 0,
2027
+ order: 0,
2028
+ placeholder: "821234"
2029
+ },
2030
+ {
2031
+ name: "Yemen (اليمن)",
2032
+ code: "YE",
2033
+ dailCode: "967",
2034
+ priority: 0,
2035
+ order: 0,
2036
+ placeholder: "712345678"
2037
+ },
2038
+ {
2039
+ name: "Zambia",
2040
+ code: "ZM",
2041
+ dailCode: "260",
2042
+ priority: 0,
2043
+ order: 0,
2044
+ placeholder: "955123456"
2045
+ },
2046
+ {
2047
+ name: "Zimbabwe",
2048
+ code: "ZW",
2049
+ dailCode: "263",
2050
+ priority: 0,
2051
+ order: 0,
2052
+ placeholder: "712345678"
2053
+ },
2054
+ {
2055
+ name: "Åland Islands",
2056
+ code: "AX",
2057
+ dailCode: "358",
2058
+ priority: 1,
2059
+ order: 0,
2060
+ placeholder: "412345678"
2061
+ }
2062
+ ];
2063
+
2064
+ class Phone {
2065
+ parse(phoneNumber, countryCode) {
2066
+ try {
2067
+ return parsePhoneNumber(phoneNumber, countryCode);
2068
+ }
2069
+ catch (e) {
2070
+ return undefined;
2071
+ }
2072
+ }
2073
+ getPhoneNumberObject(number) {
2074
+ const parsedNumber = this.parse(number);
2075
+ if (parsedNumber) {
2076
+ const dailCode = parsedNumber.countryCallingCode;
2077
+ const code = this.getCountryIsoCode(dailCode, parsedNumber);
2078
+ const nationalNumber = parsedNumber.nationalNumber;
2079
+ const internationalNumber = parsedNumber.format("E.164");
2080
+ const placeholder = this.getPlaceholder(code);
2081
+ const name = this.getCountryByDailCode(dailCode, parsedNumber)?.name ?? "";
2082
+ return { dailCode, code, nationalNumber, internationalNumber, placeholder, name, priority: 0, order: 0 };
2083
+ }
2084
+ return;
2085
+ }
2086
+ format(phoneNumber, countryCode, numberFormat) {
2087
+ const number = this.parse(phoneNumber, countryCode);
2088
+ if (number) {
2089
+ return number.format(numberFormat);
2090
+ }
2091
+ return "";
2092
+ }
2093
+ validate(number) {
2094
+ try {
2095
+ const parsedNumber = parsePhoneNumber(number);
2096
+ // Check if it's a mobile number type
2097
+ if (parsedNumber.getType() !== "MOBILE") {
2098
+ return false;
2099
+ }
2100
+ return parsedNumber.isValid();
2101
+ }
2102
+ catch (e) {
2103
+ return false;
2104
+ }
2105
+ }
2106
+ getPlaceholder(countryCode) {
2107
+ try {
2108
+ const exampleNumber = getExampleNumber(countryCode, examples);
2109
+ return exampleNumber ? (countryCode === "SA" ? "050 123 4567" : exampleNumber.formatNational()) : "";
2110
+ }
2111
+ catch (e) {
2112
+ return "";
2113
+ }
2114
+ }
2115
+ getCountryIsoCode(dailCode, number) {
2116
+ return this.getCountryByDailCode(dailCode, number)?.code ?? "";
2117
+ }
2118
+ getCountryByDailCode(dailCode, number) {
2119
+ // Will use this to match area code from the first numbers
2120
+ const rawNumber = number.nationalNumber;
2121
+ // List of all countries with dailCode (can be more than one. e.x. US, CA, DO, PR all have +1 dailCode)
2122
+ const countries = COUNTRIES.filter((c) => c.dailCode === dailCode?.toString());
2123
+ // Main country is the country, which has no areaCodes specified in country-code.ts file.
2124
+ const mainCountry = countries.find((c) => c.areaCodes === undefined);
2125
+ // Secondary countries are all countries, which have areaCodes specified in country-code.ts file.
2126
+ const secondaryCountries = countries.filter((c) => c.areaCodes !== undefined);
2127
+ let matchedCountry = mainCountry ? mainCountry : undefined;
2128
+ /*
2129
+ Iterate over each secondary country and check if nationalNumber starts with any of areaCodes available.
2130
+ If no matches found, fallback to the main country.
2131
+ */
2132
+ secondaryCountries.forEach((country) => {
2133
+ if (country && country.areaCodes) {
2134
+ country.areaCodes.forEach((areaCode) => {
2135
+ if (rawNumber.startsWith(areaCode)) {
2136
+ matchedCountry = country;
2137
+ }
2138
+ });
2139
+ }
2140
+ });
2141
+ return matchedCountry;
2142
+ }
2143
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: Phone, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2144
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: Phone, providedIn: "root" });
2145
+ }
2146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: Phone, decorators: [{
2147
+ type: Injectable,
2148
+ args: [{ providedIn: "root" }]
2149
+ }] });
2150
+
2151
+ /**
2152
+ * `<iss-ctrl-mobile>` — international phone number with a country selector.
2153
+ *
2154
+ * The number is validated against the selected country and stored in its international form.
2155
+ *
2156
+ * @example
2157
+ * ```html
2158
+ * <iss-ctrl-mobile formControlName="mobile" [preferredCountries]="['SA', 'AE']">
2159
+ * <label>Mobile</label>
2160
+ * </iss-ctrl-mobile>
2161
+ * ```
2162
+ *
2163
+ * ### Own inputs
2164
+ * | Property | Type | Default | Description |
2165
+ * | --- | --- | --- | --- |
2166
+ * | `preferredCountries` | `ISO2[]` | `["SA"]` | Countries pinned to the top of the country list. |
2167
+ *
2168
+ * ### Inherited from {@link ControlBase}
2169
+ * `formControlName` · `readonly` · `className` · `(onChange)`
2170
+ *
2171
+ * Projects `<label>` into the floating label; omit it to render the control without one.
2172
+ */
2173
+ class MobileControl extends ControlBase {
2174
+ phoneService = inject(Phone);
2175
+ isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
2176
+ selectedCountry = signal(DEFAULT_COUNTRY, ...(ngDevMode ? [{ debugName: "selectedCountry" }] : /* istanbul ignore next */ []));
2177
+ /**
2178
+ * ISO-2 country codes pinned to the top of the country list; the first one is preselected.
2179
+ */
2180
+ preferredCountries = input(["SA"], ...(ngDevMode ? [{ debugName: "preferredCountries" }] : /* istanbul ignore next */ []));
2181
+ searchInput = new FormControl("");
2182
+ filteredCountries = computed(() => this.#searchInCountries(), ...(ngDevMode ? [{ debugName: "filteredCountries" }] : /* istanbul ignore next */ []));
2183
+ #searchQuery = toSignal(this.searchInput.valueChanges);
2184
+ #disabledEffect = effect(() => {
2185
+ if (this.disabled()) {
2186
+ this.ctrl.disable();
2187
+ }
2188
+ else {
2189
+ this.ctrl.enable();
2190
+ }
2191
+ }, ...(ngDevMode ? [{ debugName: "#disabledEffect" }] : /* istanbul ignore next */ []));
2192
+ writeValue(value) {
2193
+ if (!value) {
2194
+ this.selectedCountry.set(DEFAULT_COUNTRY);
2195
+ this.ctrl.setValue(null, { emitEvent: false });
2196
+ return;
2197
+ }
2198
+ const mobileObject = this.phoneService.getPhoneNumberObject(value);
2199
+ if (mobileObject) {
2200
+ this.selectedCountry.set(mobileObject);
2201
+ }
2202
+ this.ctrl.setValue(mobileObject?.nationalNumber ?? value, { emitEvent: false });
2203
+ }
2204
+ emit() {
2205
+ const nationalNumber = this.ctrl.getRawValue();
2206
+ if (!nationalNumber) {
2207
+ this.propagateValue(null);
2208
+ this.emitOnChangeEvent(this.selectedCountry());
2209
+ return;
2210
+ }
2211
+ const mobileInput = `+${this.selectedCountry().dailCode}${nationalNumber}`;
2212
+ const numberObject = this.phoneService.getPhoneNumberObject(mobileInput);
2213
+ if (numberObject) {
2214
+ this.selectedCountry.set(numberObject);
2215
+ this.propagateValue(`+${numberObject.dailCode}${numberObject.nationalNumber}`);
2216
+ }
2217
+ else {
2218
+ this.propagateValue(mobileInput);
2219
+ }
2220
+ this.emitOnChangeEvent(this.selectedCountry());
2221
+ }
2222
+ validate(control) {
2223
+ if (!control.getRawValue()) {
2224
+ return null;
2225
+ }
2226
+ const error = { invalidPhoneNumber: { accepted: this.selectedCountry().placeholder, input: control.getRawValue() } };
2227
+ const isValid = this.phoneService.validate(control.getRawValue());
2228
+ if (isValid) {
2229
+ return null;
2230
+ }
2231
+ return error;
2232
+ }
2233
+ ngOnDestroy() {
2234
+ this.#disabledEffect.destroy();
2235
+ }
2236
+ onInput(event) {
2237
+ const allowedChars = /[0-9+\-()]/;
2238
+ const allowedCtrlChars = /[axcv]/; // Allows copy-pasting
2239
+ const allowedOtherKeys = [
2240
+ "ArrowLeft",
2241
+ "ArrowUp",
2242
+ "ArrowRight",
2243
+ "ArrowDown",
2244
+ "Home",
2245
+ "End",
2246
+ "Insert",
2247
+ "Delete",
2248
+ "Backspace",
2249
+ ];
2250
+ if (!allowedChars.test(event.key) && !(event.ctrlKey && allowedCtrlChars.test(event.key)) && !allowedOtherKeys.includes(event.key)) {
2251
+ event.preventDefault();
2252
+ }
2253
+ }
2254
+ onSelectCountry(country) {
2255
+ if (this.readonly()) {
2256
+ return;
2257
+ }
2258
+ this.selectedCountry.set(country);
2259
+ this.searchInput.setValue("");
2260
+ this.closeCountryCodeMenu();
2261
+ const nationalNumber = this.ctrl.getRawValue();
2262
+ if (!nationalNumber) {
2263
+ this.propagateValue(null);
2264
+ this.emitOnChangeEvent(this.selectedCountry());
2265
+ return;
2266
+ }
2267
+ const mobileInput = `+${country.dailCode}${nationalNumber}`;
2268
+ this.propagateValue(mobileInput);
2269
+ this.emitOnChangeEvent(this.selectedCountry());
2270
+ }
2271
+ closeCountryCodeMenu() {
2272
+ this.isOpen.set(false);
2273
+ }
2274
+ toggleCountryCodeMenu() {
2275
+ if (this.readonly()) {
2276
+ return;
2277
+ }
2278
+ this.isOpen.update((isOpen) => !isOpen);
2279
+ }
2280
+ #sortCountries() {
2281
+ // copies, never the shared COUNTRIES entries: order is per instance and must not leak globally
2282
+ return COUNTRIES.map((country) => {
2283
+ const preferredIndex = this.preferredCountries().indexOf(country.code);
2284
+ if (preferredIndex === -1) {
2285
+ return { ...country };
2286
+ }
2287
+ return {
2288
+ ...country,
2289
+ order: country.priority + (-1 * (preferredIndex - this.preferredCountries().length)) * 100,
2290
+ };
2291
+ }).sort((a, b) => b.order - a.order);
2292
+ }
2293
+ #searchInCountries() {
2294
+ const query = (this.#searchQuery() ?? "").toLowerCase();
2295
+ if (!query) {
2296
+ return this.#sortCountries();
2297
+ }
2298
+ return this.#sortCountries().filter((country) => {
2299
+ return (country.code.toLowerCase().includes(query)
2300
+ || country.name.toLowerCase().includes(query)
2301
+ || country.dailCode.toLowerCase().includes(query));
2302
+ });
2303
+ }
2304
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MobileControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
2305
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: MobileControl, isStandalone: true, selector: "iss-ctrl-mobile", inputs: { preferredCountries: { classPropertyName: "preferredCountries", publicName: "preferredCountries", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
2306
+ { provide: NG_VALUE_ACCESSOR, useExisting: MobileControl, multi: true },
2307
+ { provide: NG_VALIDATORS, useExisting: MobileControl, multi: true }
2308
+ ], usesInheritance: true, ngImport: i0, template: `
2309
+ <mat-form-field floatLabel="auto" cdkOverlayOrigin #trigger="cdkOverlayOrigin">
2310
+ <!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
2311
+ <mat-label class="fs-16 fc-dark-gray">
2312
+ <ng-content select="label"></ng-content>
2313
+ </mat-label>
2314
+ <div class="d-inline-flex align-items-center gap-1 country-flag" matPrefix (click)="toggleCountryCodeMenu()">
2315
+ <img
2316
+ ngSrc="./flags/{{selectedCountry().code.toLowerCase()}}.svg"
2317
+ width="20"
2318
+ height="20"
2319
+ [alt]="selectedCountry().code.toLowerCase()"
2320
+ class="country-flag--image"
2321
+ [priority]="true"
2322
+ >
2323
+ <ds-icon icon="arrow-down" class="fs-12 fc-dark-gray"></ds-icon>
2324
+ </div>
2325
+ <input
2326
+ matInput
2327
+ type="tel"
2328
+ autocomplete="off"
2329
+ (blur)="markAsTouched()"
2330
+ (keydown)="onInput($event)"
2331
+ (input)="emit()"
2332
+ [formControl]="ctrl"
2333
+ [readonly]="readonly()"
2334
+ [placeholder]="selectedCountry().placeholder"
2335
+ [errorStateMatcher]="errorStateMatcher"
2336
+ />
2337
+ </mat-form-field>
2338
+ <ng-template
2339
+ cdkConnectedOverlay
2340
+ [cdkConnectedOverlayHasBackdrop]="true"
2341
+ (backdropClick)="closeCountryCodeMenu()"
2342
+ [cdkConnectedOverlayGrowAfterOpen]="true"
2343
+ [cdkConnectedOverlayOrigin]="trigger"
2344
+ [cdkConnectedOverlayOpen]="isOpen()"
2345
+ >
2346
+ <div class="country-dropdown bc-white box-shadow p-2">
2347
+ <div class="search-container">
2348
+ <mat-form-field>
2349
+ <input matInput id="country-search-box" [formControl]="searchInput" (click)="$event.stopPropagation()"/>
2350
+ </mat-form-field>
2351
+ </div>
2352
+ <ul class="country-list">
2353
+ @for (country of filteredCountries(); track $index) {
2354
+ <li
2355
+ #countryEl
2356
+ [ngClass]="country.order > 1 ? 'preferredCounty' : ''"
2357
+ class="d-flex align-items-center gap-2 cursor-pointer p-2"
2358
+ (click)="onSelectCountry(country)"
2359
+ >
2360
+ @defer (on viewport(countryEl)) {
2361
+ <img ngSrc="./flags/{{country.code.toLowerCase()}}.svg" width="20" height="20" alt="" class="country-flag--image">
2362
+ }
2363
+ <span class="fs-12 fc-dark-gray">(+{{ country.dailCode }})</span>
2364
+ <span class="fs-12 fc-black">{{ country.name }}</span>
2365
+ </li>
2366
+ }
2367
+ </ul>
2368
+ </div>
2369
+ </ng-template>
2370
+ `, isInline: true, styles: [".country-flag{border-inline-end:var(--input-border);padding-inline-end:.5rem;margin-inline-end:.5rem;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: 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: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "decoding", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }], deferBlockDependencies: [() => [NgOptimizedImage]] });
2371
+ }
2372
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MobileControl, decorators: [{
2373
+ type: Component,
2374
+ args: [{ selector: "iss-ctrl-mobile", schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [
2375
+ ReactiveFormsModule,
2376
+ NgClass,
2377
+ CdkConnectedOverlay,
2378
+ CdkOverlayOrigin,
2379
+ MatFormField,
2380
+ MatInput,
2381
+ MatPrefix,
2382
+ NgOptimizedImage,
2383
+ MatInputModule,
2384
+ ], providers: [
2385
+ { provide: NG_VALUE_ACCESSOR, useExisting: MobileControl, multi: true },
2386
+ { provide: NG_VALIDATORS, useExisting: MobileControl, multi: true }
2387
+ ], template: `
2388
+ <mat-form-field floatLabel="auto" cdkOverlayOrigin #trigger="cdkOverlayOrigin">
2389
+ <!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
2390
+ <mat-label class="fs-16 fc-dark-gray">
2391
+ <ng-content select="label"></ng-content>
2392
+ </mat-label>
2393
+ <div class="d-inline-flex align-items-center gap-1 country-flag" matPrefix (click)="toggleCountryCodeMenu()">
2394
+ <img
2395
+ ngSrc="./flags/{{selectedCountry().code.toLowerCase()}}.svg"
2396
+ width="20"
2397
+ height="20"
2398
+ [alt]="selectedCountry().code.toLowerCase()"
2399
+ class="country-flag--image"
2400
+ [priority]="true"
2401
+ >
2402
+ <ds-icon icon="arrow-down" class="fs-12 fc-dark-gray"></ds-icon>
2403
+ </div>
2404
+ <input
2405
+ matInput
2406
+ type="tel"
2407
+ autocomplete="off"
2408
+ (blur)="markAsTouched()"
2409
+ (keydown)="onInput($event)"
2410
+ (input)="emit()"
2411
+ [formControl]="ctrl"
2412
+ [readonly]="readonly()"
2413
+ [placeholder]="selectedCountry().placeholder"
2414
+ [errorStateMatcher]="errorStateMatcher"
2415
+ />
2416
+ </mat-form-field>
2417
+ <ng-template
2418
+ cdkConnectedOverlay
2419
+ [cdkConnectedOverlayHasBackdrop]="true"
2420
+ (backdropClick)="closeCountryCodeMenu()"
2421
+ [cdkConnectedOverlayGrowAfterOpen]="true"
2422
+ [cdkConnectedOverlayOrigin]="trigger"
2423
+ [cdkConnectedOverlayOpen]="isOpen()"
2424
+ >
2425
+ <div class="country-dropdown bc-white box-shadow p-2">
2426
+ <div class="search-container">
2427
+ <mat-form-field>
2428
+ <input matInput id="country-search-box" [formControl]="searchInput" (click)="$event.stopPropagation()"/>
2429
+ </mat-form-field>
2430
+ </div>
2431
+ <ul class="country-list">
2432
+ @for (country of filteredCountries(); track $index) {
2433
+ <li
2434
+ #countryEl
2435
+ [ngClass]="country.order > 1 ? 'preferredCounty' : ''"
2436
+ class="d-flex align-items-center gap-2 cursor-pointer p-2"
2437
+ (click)="onSelectCountry(country)"
2438
+ >
2439
+ @defer (on viewport(countryEl)) {
2440
+ <img ngSrc="./flags/{{country.code.toLowerCase()}}.svg" width="20" height="20" alt="" class="country-flag--image">
2441
+ }
2442
+ <span class="fs-12 fc-dark-gray">(+{{ country.dailCode }})</span>
2443
+ <span class="fs-12 fc-black">{{ country.name }}</span>
2444
+ </li>
2445
+ }
2446
+ </ul>
2447
+ </div>
2448
+ </ng-template>
2449
+ `, styles: [".country-flag{border-inline-end:var(--input-border);padding-inline-end:.5rem;margin-inline-end:.5rem;cursor:pointer}\n"] }]
2450
+ }], propDecorators: { preferredCountries: [{ type: i0.Input, args: [{ isSignal: true, alias: "preferredCountries", required: false }] }] } });
2451
+
2452
+ // The international phone number control and its viewer.
2453
+ //
2454
+ // This is a secondary entry point because it is the only part of the library that needs
2455
+ // libphonenumber-js, whose metadata is larger than the rest of the package put together.
2456
+ // `MobileField` stays in the primary entry point and reaches these through a static import,
2457
+ // so it is the field's lazy chunk that carries them: an app that never renders a `mobile`
2458
+ // field, and never imports `MobileControl` itself, downloads none of it.
2459
+
2460
+ /**
2461
+ * Generated bundle index. Do not edit.
2462
+ */
2463
+
2464
+ export { COUNTRIES, DEFAULT_COUNTRY, MobileControl, Phone };
2465
+ //# sourceMappingURL=iss-ctrl-mobile.mjs.map