@input-kit/phone 0.4.2 → 0.6.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/dist/index.cjs CHANGED
@@ -3,15 +3,1971 @@
3
3
  var react = require('react');
4
4
  var libphonenumberJs = require('libphonenumber-js');
5
5
  var examples = require('libphonenumber-js/mobile/examples');
6
- var worldCountries = require('world-countries');
7
6
  var jsxRuntime = require('react/jsx-runtime');
8
7
 
9
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
9
 
11
10
  var examples__default = /*#__PURE__*/_interopDefault(examples);
12
- var worldCountries__default = /*#__PURE__*/_interopDefault(worldCountries);
13
11
 
14
12
  // src/usePhoneInput.ts
13
+
14
+ // src/country-data.ts
15
+ var COUNTRY_DATA = {
16
+ "AC": {
17
+ "name": "Ascension Island",
18
+ "dialCodes": [
19
+ "+247"
20
+ ]
21
+ },
22
+ "AD": {
23
+ "name": "Andorra",
24
+ "dialCodes": [
25
+ "+376"
26
+ ]
27
+ },
28
+ "AE": {
29
+ "name": "United Arab Emirates",
30
+ "dialCodes": [
31
+ "+971"
32
+ ]
33
+ },
34
+ "AF": {
35
+ "name": "Afghanistan",
36
+ "dialCodes": [
37
+ "+93"
38
+ ]
39
+ },
40
+ "AG": {
41
+ "name": "Antigua and Barbuda",
42
+ "dialCodes": [
43
+ "+1",
44
+ "+1268"
45
+ ]
46
+ },
47
+ "AI": {
48
+ "name": "Anguilla",
49
+ "dialCodes": [
50
+ "+1",
51
+ "+1264"
52
+ ]
53
+ },
54
+ "AL": {
55
+ "name": "Albania",
56
+ "dialCodes": [
57
+ "+355"
58
+ ]
59
+ },
60
+ "AM": {
61
+ "name": "Armenia",
62
+ "dialCodes": [
63
+ "+374"
64
+ ]
65
+ },
66
+ "AO": {
67
+ "name": "Angola",
68
+ "dialCodes": [
69
+ "+244"
70
+ ]
71
+ },
72
+ "AR": {
73
+ "name": "Argentina",
74
+ "dialCodes": [
75
+ "+54"
76
+ ]
77
+ },
78
+ "AS": {
79
+ "name": "American Samoa",
80
+ "dialCodes": [
81
+ "+1",
82
+ "+1684"
83
+ ]
84
+ },
85
+ "AT": {
86
+ "name": "Austria",
87
+ "dialCodes": [
88
+ "+43"
89
+ ]
90
+ },
91
+ "AU": {
92
+ "name": "Australia",
93
+ "dialCodes": [
94
+ "+61"
95
+ ]
96
+ },
97
+ "AW": {
98
+ "name": "Aruba",
99
+ "dialCodes": [
100
+ "+297"
101
+ ]
102
+ },
103
+ "AX": {
104
+ "name": "\xC5land Islands",
105
+ "dialCodes": [
106
+ "+358",
107
+ "+35818"
108
+ ]
109
+ },
110
+ "AZ": {
111
+ "name": "Azerbaijan",
112
+ "dialCodes": [
113
+ "+994"
114
+ ]
115
+ },
116
+ "BA": {
117
+ "name": "Bosnia and Herzegovina",
118
+ "dialCodes": [
119
+ "+387"
120
+ ]
121
+ },
122
+ "BB": {
123
+ "name": "Barbados",
124
+ "dialCodes": [
125
+ "+1",
126
+ "+1246"
127
+ ]
128
+ },
129
+ "BD": {
130
+ "name": "Bangladesh",
131
+ "dialCodes": [
132
+ "+880"
133
+ ]
134
+ },
135
+ "BE": {
136
+ "name": "Belgium",
137
+ "dialCodes": [
138
+ "+32"
139
+ ]
140
+ },
141
+ "BF": {
142
+ "name": "Burkina Faso",
143
+ "dialCodes": [
144
+ "+226"
145
+ ]
146
+ },
147
+ "BG": {
148
+ "name": "Bulgaria",
149
+ "dialCodes": [
150
+ "+359"
151
+ ]
152
+ },
153
+ "BH": {
154
+ "name": "Bahrain",
155
+ "dialCodes": [
156
+ "+973"
157
+ ]
158
+ },
159
+ "BI": {
160
+ "name": "Burundi",
161
+ "dialCodes": [
162
+ "+257"
163
+ ]
164
+ },
165
+ "BJ": {
166
+ "name": "Benin",
167
+ "dialCodes": [
168
+ "+229"
169
+ ]
170
+ },
171
+ "BL": {
172
+ "name": "Saint Barth\xE9lemy",
173
+ "dialCodes": [
174
+ "+590"
175
+ ]
176
+ },
177
+ "BM": {
178
+ "name": "Bermuda",
179
+ "dialCodes": [
180
+ "+1",
181
+ "+1441"
182
+ ]
183
+ },
184
+ "BN": {
185
+ "name": "Brunei",
186
+ "dialCodes": [
187
+ "+673"
188
+ ]
189
+ },
190
+ "BO": {
191
+ "name": "Bolivia",
192
+ "dialCodes": [
193
+ "+591"
194
+ ]
195
+ },
196
+ "BQ": {
197
+ "name": "Caribbean Netherlands",
198
+ "dialCodes": [
199
+ "+599"
200
+ ]
201
+ },
202
+ "BR": {
203
+ "name": "Brazil",
204
+ "dialCodes": [
205
+ "+55"
206
+ ]
207
+ },
208
+ "BS": {
209
+ "name": "Bahamas",
210
+ "dialCodes": [
211
+ "+1",
212
+ "+1242"
213
+ ]
214
+ },
215
+ "BT": {
216
+ "name": "Bhutan",
217
+ "dialCodes": [
218
+ "+975"
219
+ ]
220
+ },
221
+ "BW": {
222
+ "name": "Botswana",
223
+ "dialCodes": [
224
+ "+267"
225
+ ]
226
+ },
227
+ "BY": {
228
+ "name": "Belarus",
229
+ "dialCodes": [
230
+ "+375"
231
+ ]
232
+ },
233
+ "BZ": {
234
+ "name": "Belize",
235
+ "dialCodes": [
236
+ "+501"
237
+ ]
238
+ },
239
+ "CA": {
240
+ "name": "Canada",
241
+ "dialCodes": [
242
+ "+1",
243
+ "+1204",
244
+ "+1226",
245
+ "+1236",
246
+ "+1249",
247
+ "+1250",
248
+ "+1263",
249
+ "+1289",
250
+ "+1306",
251
+ "+1343",
252
+ "+1354",
253
+ "+1365",
254
+ "+1367",
255
+ "+1368",
256
+ "+1382",
257
+ "+1387",
258
+ "+1403",
259
+ "+1416",
260
+ "+1418",
261
+ "+1428",
262
+ "+1431",
263
+ "+1437",
264
+ "+1438",
265
+ "+1450",
266
+ "+1468",
267
+ "+1474",
268
+ "+1506",
269
+ "+1514",
270
+ "+1519",
271
+ "+1548",
272
+ "+1579",
273
+ "+1581",
274
+ "+1584",
275
+ "+1587",
276
+ "+1600",
277
+ "+1604",
278
+ "+1613",
279
+ "+1622",
280
+ "+1633",
281
+ "+1639",
282
+ "+1644",
283
+ "+1647",
284
+ "+1655",
285
+ "+1672",
286
+ "+1677",
287
+ "+1683",
288
+ "+1688",
289
+ "+1705",
290
+ "+1709",
291
+ "+1742",
292
+ "+1753",
293
+ "+1778",
294
+ "+1780",
295
+ "+1782",
296
+ "+1807",
297
+ "+1819",
298
+ "+1825",
299
+ "+1867",
300
+ "+1873",
301
+ "+1879",
302
+ "+1902",
303
+ "+1905",
304
+ "+1942"
305
+ ]
306
+ },
307
+ "CC": {
308
+ "name": "Cocos (Keeling) Islands",
309
+ "dialCodes": [
310
+ "+61"
311
+ ]
312
+ },
313
+ "CD": {
314
+ "name": "DR Congo",
315
+ "dialCodes": [
316
+ "+243"
317
+ ]
318
+ },
319
+ "CF": {
320
+ "name": "Central African Republic",
321
+ "dialCodes": [
322
+ "+236"
323
+ ]
324
+ },
325
+ "CG": {
326
+ "name": "Republic of the Congo",
327
+ "dialCodes": [
328
+ "+242"
329
+ ]
330
+ },
331
+ "CH": {
332
+ "name": "Switzerland",
333
+ "dialCodes": [
334
+ "+41"
335
+ ]
336
+ },
337
+ "CI": {
338
+ "name": "Ivory Coast",
339
+ "dialCodes": [
340
+ "+225"
341
+ ]
342
+ },
343
+ "CK": {
344
+ "name": "Cook Islands",
345
+ "dialCodes": [
346
+ "+682"
347
+ ]
348
+ },
349
+ "CL": {
350
+ "name": "Chile",
351
+ "dialCodes": [
352
+ "+56"
353
+ ]
354
+ },
355
+ "CM": {
356
+ "name": "Cameroon",
357
+ "dialCodes": [
358
+ "+237"
359
+ ]
360
+ },
361
+ "CN": {
362
+ "name": "China",
363
+ "dialCodes": [
364
+ "+86"
365
+ ]
366
+ },
367
+ "CO": {
368
+ "name": "Colombia",
369
+ "dialCodes": [
370
+ "+57"
371
+ ]
372
+ },
373
+ "CR": {
374
+ "name": "Costa Rica",
375
+ "dialCodes": [
376
+ "+506"
377
+ ]
378
+ },
379
+ "CU": {
380
+ "name": "Cuba",
381
+ "dialCodes": [
382
+ "+53"
383
+ ]
384
+ },
385
+ "CV": {
386
+ "name": "Cape Verde",
387
+ "dialCodes": [
388
+ "+238"
389
+ ]
390
+ },
391
+ "CW": {
392
+ "name": "Cura\xE7ao",
393
+ "dialCodes": [
394
+ "+599"
395
+ ]
396
+ },
397
+ "CX": {
398
+ "name": "Christmas Island",
399
+ "dialCodes": [
400
+ "+61"
401
+ ]
402
+ },
403
+ "CY": {
404
+ "name": "Cyprus",
405
+ "dialCodes": [
406
+ "+357"
407
+ ]
408
+ },
409
+ "CZ": {
410
+ "name": "Czechia",
411
+ "dialCodes": [
412
+ "+420"
413
+ ]
414
+ },
415
+ "DE": {
416
+ "name": "Germany",
417
+ "dialCodes": [
418
+ "+49"
419
+ ]
420
+ },
421
+ "DJ": {
422
+ "name": "Djibouti",
423
+ "dialCodes": [
424
+ "+253"
425
+ ]
426
+ },
427
+ "DK": {
428
+ "name": "Denmark",
429
+ "dialCodes": [
430
+ "+45"
431
+ ]
432
+ },
433
+ "DM": {
434
+ "name": "Dominica",
435
+ "dialCodes": [
436
+ "+1",
437
+ "+1767"
438
+ ]
439
+ },
440
+ "DO": {
441
+ "name": "Dominican Republic",
442
+ "dialCodes": [
443
+ "+1",
444
+ "+1809",
445
+ "+1829",
446
+ "+1849"
447
+ ]
448
+ },
449
+ "DZ": {
450
+ "name": "Algeria",
451
+ "dialCodes": [
452
+ "+213"
453
+ ]
454
+ },
455
+ "EC": {
456
+ "name": "Ecuador",
457
+ "dialCodes": [
458
+ "+593"
459
+ ]
460
+ },
461
+ "EE": {
462
+ "name": "Estonia",
463
+ "dialCodes": [
464
+ "+372"
465
+ ]
466
+ },
467
+ "EG": {
468
+ "name": "Egypt",
469
+ "dialCodes": [
470
+ "+20"
471
+ ]
472
+ },
473
+ "EH": {
474
+ "name": "Western Sahara",
475
+ "dialCodes": [
476
+ "+212",
477
+ "+2125288",
478
+ "+2125289"
479
+ ]
480
+ },
481
+ "ER": {
482
+ "name": "Eritrea",
483
+ "dialCodes": [
484
+ "+291"
485
+ ]
486
+ },
487
+ "ES": {
488
+ "name": "Spain",
489
+ "dialCodes": [
490
+ "+34"
491
+ ]
492
+ },
493
+ "ET": {
494
+ "name": "Ethiopia",
495
+ "dialCodes": [
496
+ "+251"
497
+ ]
498
+ },
499
+ "FI": {
500
+ "name": "Finland",
501
+ "dialCodes": [
502
+ "+358"
503
+ ]
504
+ },
505
+ "FJ": {
506
+ "name": "Fiji",
507
+ "dialCodes": [
508
+ "+679"
509
+ ]
510
+ },
511
+ "FK": {
512
+ "name": "Falkland Islands",
513
+ "dialCodes": [
514
+ "+500"
515
+ ]
516
+ },
517
+ "FM": {
518
+ "name": "Micronesia",
519
+ "dialCodes": [
520
+ "+691"
521
+ ]
522
+ },
523
+ "FO": {
524
+ "name": "Faroe Islands",
525
+ "dialCodes": [
526
+ "+298"
527
+ ]
528
+ },
529
+ "FR": {
530
+ "name": "France",
531
+ "dialCodes": [
532
+ "+33"
533
+ ]
534
+ },
535
+ "GA": {
536
+ "name": "Gabon",
537
+ "dialCodes": [
538
+ "+241"
539
+ ]
540
+ },
541
+ "GB": {
542
+ "name": "United Kingdom",
543
+ "dialCodes": [
544
+ "+44"
545
+ ]
546
+ },
547
+ "GD": {
548
+ "name": "Grenada",
549
+ "dialCodes": [
550
+ "+1",
551
+ "+1473"
552
+ ]
553
+ },
554
+ "GE": {
555
+ "name": "Georgia",
556
+ "dialCodes": [
557
+ "+995"
558
+ ]
559
+ },
560
+ "GF": {
561
+ "name": "French Guiana",
562
+ "dialCodes": [
563
+ "+594"
564
+ ]
565
+ },
566
+ "GG": {
567
+ "name": "Guernsey",
568
+ "dialCodes": [
569
+ "+44"
570
+ ]
571
+ },
572
+ "GH": {
573
+ "name": "Ghana",
574
+ "dialCodes": [
575
+ "+233"
576
+ ]
577
+ },
578
+ "GI": {
579
+ "name": "Gibraltar",
580
+ "dialCodes": [
581
+ "+350"
582
+ ]
583
+ },
584
+ "GL": {
585
+ "name": "Greenland",
586
+ "dialCodes": [
587
+ "+299"
588
+ ]
589
+ },
590
+ "GM": {
591
+ "name": "Gambia",
592
+ "dialCodes": [
593
+ "+220"
594
+ ]
595
+ },
596
+ "GN": {
597
+ "name": "Guinea",
598
+ "dialCodes": [
599
+ "+224"
600
+ ]
601
+ },
602
+ "GP": {
603
+ "name": "Guadeloupe",
604
+ "dialCodes": [
605
+ "+590"
606
+ ]
607
+ },
608
+ "GQ": {
609
+ "name": "Equatorial Guinea",
610
+ "dialCodes": [
611
+ "+240"
612
+ ]
613
+ },
614
+ "GR": {
615
+ "name": "Greece",
616
+ "dialCodes": [
617
+ "+30"
618
+ ]
619
+ },
620
+ "GT": {
621
+ "name": "Guatemala",
622
+ "dialCodes": [
623
+ "+502"
624
+ ]
625
+ },
626
+ "GU": {
627
+ "name": "Guam",
628
+ "dialCodes": [
629
+ "+1",
630
+ "+1671"
631
+ ]
632
+ },
633
+ "GW": {
634
+ "name": "Guinea-Bissau",
635
+ "dialCodes": [
636
+ "+245"
637
+ ]
638
+ },
639
+ "GY": {
640
+ "name": "Guyana",
641
+ "dialCodes": [
642
+ "+592"
643
+ ]
644
+ },
645
+ "HK": {
646
+ "name": "Hong Kong",
647
+ "dialCodes": [
648
+ "+852"
649
+ ]
650
+ },
651
+ "HN": {
652
+ "name": "Honduras",
653
+ "dialCodes": [
654
+ "+504"
655
+ ]
656
+ },
657
+ "HR": {
658
+ "name": "Croatia",
659
+ "dialCodes": [
660
+ "+385"
661
+ ]
662
+ },
663
+ "HT": {
664
+ "name": "Haiti",
665
+ "dialCodes": [
666
+ "+509"
667
+ ]
668
+ },
669
+ "HU": {
670
+ "name": "Hungary",
671
+ "dialCodes": [
672
+ "+36"
673
+ ]
674
+ },
675
+ "ID": {
676
+ "name": "Indonesia",
677
+ "dialCodes": [
678
+ "+62"
679
+ ]
680
+ },
681
+ "IE": {
682
+ "name": "Ireland",
683
+ "dialCodes": [
684
+ "+353"
685
+ ]
686
+ },
687
+ "IL": {
688
+ "name": "Israel",
689
+ "dialCodes": [
690
+ "+972"
691
+ ]
692
+ },
693
+ "IM": {
694
+ "name": "Isle of Man",
695
+ "dialCodes": [
696
+ "+44"
697
+ ]
698
+ },
699
+ "IN": {
700
+ "name": "India",
701
+ "dialCodes": [
702
+ "+91"
703
+ ]
704
+ },
705
+ "IO": {
706
+ "name": "British Indian Ocean Territory",
707
+ "dialCodes": [
708
+ "+246"
709
+ ]
710
+ },
711
+ "IQ": {
712
+ "name": "Iraq",
713
+ "dialCodes": [
714
+ "+964"
715
+ ]
716
+ },
717
+ "IR": {
718
+ "name": "Iran",
719
+ "dialCodes": [
720
+ "+98"
721
+ ]
722
+ },
723
+ "IS": {
724
+ "name": "Iceland",
725
+ "dialCodes": [
726
+ "+354"
727
+ ]
728
+ },
729
+ "IT": {
730
+ "name": "Italy",
731
+ "dialCodes": [
732
+ "+39"
733
+ ]
734
+ },
735
+ "JE": {
736
+ "name": "Jersey",
737
+ "dialCodes": [
738
+ "+44"
739
+ ]
740
+ },
741
+ "JM": {
742
+ "name": "Jamaica",
743
+ "dialCodes": [
744
+ "+1",
745
+ "+1876"
746
+ ]
747
+ },
748
+ "JO": {
749
+ "name": "Jordan",
750
+ "dialCodes": [
751
+ "+962"
752
+ ]
753
+ },
754
+ "JP": {
755
+ "name": "Japan",
756
+ "dialCodes": [
757
+ "+81"
758
+ ]
759
+ },
760
+ "KE": {
761
+ "name": "Kenya",
762
+ "dialCodes": [
763
+ "+254"
764
+ ]
765
+ },
766
+ "KG": {
767
+ "name": "Kyrgyzstan",
768
+ "dialCodes": [
769
+ "+996"
770
+ ]
771
+ },
772
+ "KH": {
773
+ "name": "Cambodia",
774
+ "dialCodes": [
775
+ "+855"
776
+ ]
777
+ },
778
+ "KI": {
779
+ "name": "Kiribati",
780
+ "dialCodes": [
781
+ "+686"
782
+ ]
783
+ },
784
+ "KM": {
785
+ "name": "Comoros",
786
+ "dialCodes": [
787
+ "+269"
788
+ ]
789
+ },
790
+ "KN": {
791
+ "name": "Saint Kitts and Nevis",
792
+ "dialCodes": [
793
+ "+1",
794
+ "+1869"
795
+ ]
796
+ },
797
+ "KP": {
798
+ "name": "North Korea",
799
+ "dialCodes": [
800
+ "+850"
801
+ ]
802
+ },
803
+ "KR": {
804
+ "name": "South Korea",
805
+ "dialCodes": [
806
+ "+82"
807
+ ]
808
+ },
809
+ "KW": {
810
+ "name": "Kuwait",
811
+ "dialCodes": [
812
+ "+965"
813
+ ]
814
+ },
815
+ "KY": {
816
+ "name": "Cayman Islands",
817
+ "dialCodes": [
818
+ "+1",
819
+ "+1345"
820
+ ]
821
+ },
822
+ "KZ": {
823
+ "name": "Kazakhstan",
824
+ "dialCodes": [
825
+ "+7",
826
+ "+76",
827
+ "+77"
828
+ ]
829
+ },
830
+ "LA": {
831
+ "name": "Laos",
832
+ "dialCodes": [
833
+ "+856"
834
+ ]
835
+ },
836
+ "LB": {
837
+ "name": "Lebanon",
838
+ "dialCodes": [
839
+ "+961"
840
+ ]
841
+ },
842
+ "LC": {
843
+ "name": "Saint Lucia",
844
+ "dialCodes": [
845
+ "+1",
846
+ "+1758"
847
+ ]
848
+ },
849
+ "LI": {
850
+ "name": "Liechtenstein",
851
+ "dialCodes": [
852
+ "+423"
853
+ ]
854
+ },
855
+ "LK": {
856
+ "name": "Sri Lanka",
857
+ "dialCodes": [
858
+ "+94"
859
+ ]
860
+ },
861
+ "LR": {
862
+ "name": "Liberia",
863
+ "dialCodes": [
864
+ "+231"
865
+ ]
866
+ },
867
+ "LS": {
868
+ "name": "Lesotho",
869
+ "dialCodes": [
870
+ "+266"
871
+ ]
872
+ },
873
+ "LT": {
874
+ "name": "Lithuania",
875
+ "dialCodes": [
876
+ "+370"
877
+ ]
878
+ },
879
+ "LU": {
880
+ "name": "Luxembourg",
881
+ "dialCodes": [
882
+ "+352"
883
+ ]
884
+ },
885
+ "LV": {
886
+ "name": "Latvia",
887
+ "dialCodes": [
888
+ "+371"
889
+ ]
890
+ },
891
+ "LY": {
892
+ "name": "Libya",
893
+ "dialCodes": [
894
+ "+218"
895
+ ]
896
+ },
897
+ "MA": {
898
+ "name": "Morocco",
899
+ "dialCodes": [
900
+ "+212"
901
+ ]
902
+ },
903
+ "MC": {
904
+ "name": "Monaco",
905
+ "dialCodes": [
906
+ "+377"
907
+ ]
908
+ },
909
+ "MD": {
910
+ "name": "Moldova",
911
+ "dialCodes": [
912
+ "+373"
913
+ ]
914
+ },
915
+ "ME": {
916
+ "name": "Montenegro",
917
+ "dialCodes": [
918
+ "+382"
919
+ ]
920
+ },
921
+ "MF": {
922
+ "name": "Saint Martin",
923
+ "dialCodes": [
924
+ "+590"
925
+ ]
926
+ },
927
+ "MG": {
928
+ "name": "Madagascar",
929
+ "dialCodes": [
930
+ "+261"
931
+ ]
932
+ },
933
+ "MH": {
934
+ "name": "Marshall Islands",
935
+ "dialCodes": [
936
+ "+692"
937
+ ]
938
+ },
939
+ "MK": {
940
+ "name": "North Macedonia",
941
+ "dialCodes": [
942
+ "+389"
943
+ ]
944
+ },
945
+ "ML": {
946
+ "name": "Mali",
947
+ "dialCodes": [
948
+ "+223"
949
+ ]
950
+ },
951
+ "MM": {
952
+ "name": "Myanmar",
953
+ "dialCodes": [
954
+ "+95"
955
+ ]
956
+ },
957
+ "MN": {
958
+ "name": "Mongolia",
959
+ "dialCodes": [
960
+ "+976"
961
+ ]
962
+ },
963
+ "MO": {
964
+ "name": "Macau",
965
+ "dialCodes": [
966
+ "+853"
967
+ ]
968
+ },
969
+ "MP": {
970
+ "name": "Northern Mariana Islands",
971
+ "dialCodes": [
972
+ "+1",
973
+ "+1670"
974
+ ]
975
+ },
976
+ "MQ": {
977
+ "name": "Martinique",
978
+ "dialCodes": [
979
+ "+596"
980
+ ]
981
+ },
982
+ "MR": {
983
+ "name": "Mauritania",
984
+ "dialCodes": [
985
+ "+222"
986
+ ]
987
+ },
988
+ "MS": {
989
+ "name": "Montserrat",
990
+ "dialCodes": [
991
+ "+1",
992
+ "+1664"
993
+ ]
994
+ },
995
+ "MT": {
996
+ "name": "Malta",
997
+ "dialCodes": [
998
+ "+356"
999
+ ]
1000
+ },
1001
+ "MU": {
1002
+ "name": "Mauritius",
1003
+ "dialCodes": [
1004
+ "+230"
1005
+ ]
1006
+ },
1007
+ "MV": {
1008
+ "name": "Maldives",
1009
+ "dialCodes": [
1010
+ "+960"
1011
+ ]
1012
+ },
1013
+ "MW": {
1014
+ "name": "Malawi",
1015
+ "dialCodes": [
1016
+ "+265"
1017
+ ]
1018
+ },
1019
+ "MX": {
1020
+ "name": "Mexico",
1021
+ "dialCodes": [
1022
+ "+52"
1023
+ ]
1024
+ },
1025
+ "MY": {
1026
+ "name": "Malaysia",
1027
+ "dialCodes": [
1028
+ "+60"
1029
+ ]
1030
+ },
1031
+ "MZ": {
1032
+ "name": "Mozambique",
1033
+ "dialCodes": [
1034
+ "+258"
1035
+ ]
1036
+ },
1037
+ "NA": {
1038
+ "name": "Namibia",
1039
+ "dialCodes": [
1040
+ "+264"
1041
+ ]
1042
+ },
1043
+ "NC": {
1044
+ "name": "New Caledonia",
1045
+ "dialCodes": [
1046
+ "+687"
1047
+ ]
1048
+ },
1049
+ "NE": {
1050
+ "name": "Niger",
1051
+ "dialCodes": [
1052
+ "+227"
1053
+ ]
1054
+ },
1055
+ "NF": {
1056
+ "name": "Norfolk Island",
1057
+ "dialCodes": [
1058
+ "+672"
1059
+ ]
1060
+ },
1061
+ "NG": {
1062
+ "name": "Nigeria",
1063
+ "dialCodes": [
1064
+ "+234"
1065
+ ]
1066
+ },
1067
+ "NI": {
1068
+ "name": "Nicaragua",
1069
+ "dialCodes": [
1070
+ "+505"
1071
+ ]
1072
+ },
1073
+ "NL": {
1074
+ "name": "Netherlands",
1075
+ "dialCodes": [
1076
+ "+31"
1077
+ ]
1078
+ },
1079
+ "NO": {
1080
+ "name": "Norway",
1081
+ "dialCodes": [
1082
+ "+47"
1083
+ ]
1084
+ },
1085
+ "NP": {
1086
+ "name": "Nepal",
1087
+ "dialCodes": [
1088
+ "+977"
1089
+ ]
1090
+ },
1091
+ "NR": {
1092
+ "name": "Nauru",
1093
+ "dialCodes": [
1094
+ "+674"
1095
+ ]
1096
+ },
1097
+ "NU": {
1098
+ "name": "Niue",
1099
+ "dialCodes": [
1100
+ "+683"
1101
+ ]
1102
+ },
1103
+ "NZ": {
1104
+ "name": "New Zealand",
1105
+ "dialCodes": [
1106
+ "+64"
1107
+ ]
1108
+ },
1109
+ "OM": {
1110
+ "name": "Oman",
1111
+ "dialCodes": [
1112
+ "+968"
1113
+ ]
1114
+ },
1115
+ "PA": {
1116
+ "name": "Panama",
1117
+ "dialCodes": [
1118
+ "+507"
1119
+ ]
1120
+ },
1121
+ "PE": {
1122
+ "name": "Peru",
1123
+ "dialCodes": [
1124
+ "+51"
1125
+ ]
1126
+ },
1127
+ "PF": {
1128
+ "name": "French Polynesia",
1129
+ "dialCodes": [
1130
+ "+689"
1131
+ ]
1132
+ },
1133
+ "PG": {
1134
+ "name": "Papua New Guinea",
1135
+ "dialCodes": [
1136
+ "+675"
1137
+ ]
1138
+ },
1139
+ "PH": {
1140
+ "name": "Philippines",
1141
+ "dialCodes": [
1142
+ "+63"
1143
+ ]
1144
+ },
1145
+ "PK": {
1146
+ "name": "Pakistan",
1147
+ "dialCodes": [
1148
+ "+92"
1149
+ ]
1150
+ },
1151
+ "PL": {
1152
+ "name": "Poland",
1153
+ "dialCodes": [
1154
+ "+48"
1155
+ ]
1156
+ },
1157
+ "PM": {
1158
+ "name": "Saint Pierre and Miquelon",
1159
+ "dialCodes": [
1160
+ "+508"
1161
+ ]
1162
+ },
1163
+ "PR": {
1164
+ "name": "Puerto Rico",
1165
+ "dialCodes": [
1166
+ "+1",
1167
+ "+1787",
1168
+ "+1939"
1169
+ ]
1170
+ },
1171
+ "PS": {
1172
+ "name": "Palestine",
1173
+ "dialCodes": [
1174
+ "+970"
1175
+ ]
1176
+ },
1177
+ "PT": {
1178
+ "name": "Portugal",
1179
+ "dialCodes": [
1180
+ "+351"
1181
+ ]
1182
+ },
1183
+ "PW": {
1184
+ "name": "Palau",
1185
+ "dialCodes": [
1186
+ "+680"
1187
+ ]
1188
+ },
1189
+ "PY": {
1190
+ "name": "Paraguay",
1191
+ "dialCodes": [
1192
+ "+595"
1193
+ ]
1194
+ },
1195
+ "QA": {
1196
+ "name": "Qatar",
1197
+ "dialCodes": [
1198
+ "+974"
1199
+ ]
1200
+ },
1201
+ "RE": {
1202
+ "name": "R\xE9union",
1203
+ "dialCodes": [
1204
+ "+262"
1205
+ ]
1206
+ },
1207
+ "RO": {
1208
+ "name": "Romania",
1209
+ "dialCodes": [
1210
+ "+40"
1211
+ ]
1212
+ },
1213
+ "RS": {
1214
+ "name": "Serbia",
1215
+ "dialCodes": [
1216
+ "+381"
1217
+ ]
1218
+ },
1219
+ "RU": {
1220
+ "name": "Russia",
1221
+ "dialCodes": [
1222
+ "+7",
1223
+ "+73",
1224
+ "+74",
1225
+ "+75",
1226
+ "+78",
1227
+ "+79"
1228
+ ]
1229
+ },
1230
+ "RW": {
1231
+ "name": "Rwanda",
1232
+ "dialCodes": [
1233
+ "+250"
1234
+ ]
1235
+ },
1236
+ "SA": {
1237
+ "name": "Saudi Arabia",
1238
+ "dialCodes": [
1239
+ "+966"
1240
+ ]
1241
+ },
1242
+ "SB": {
1243
+ "name": "Solomon Islands",
1244
+ "dialCodes": [
1245
+ "+677"
1246
+ ]
1247
+ },
1248
+ "SC": {
1249
+ "name": "Seychelles",
1250
+ "dialCodes": [
1251
+ "+248"
1252
+ ]
1253
+ },
1254
+ "SD": {
1255
+ "name": "Sudan",
1256
+ "dialCodes": [
1257
+ "+249"
1258
+ ]
1259
+ },
1260
+ "SE": {
1261
+ "name": "Sweden",
1262
+ "dialCodes": [
1263
+ "+46"
1264
+ ]
1265
+ },
1266
+ "SG": {
1267
+ "name": "Singapore",
1268
+ "dialCodes": [
1269
+ "+65"
1270
+ ]
1271
+ },
1272
+ "SH": {
1273
+ "name": "Saint Helena, Ascension and Tristan da Cunha",
1274
+ "dialCodes": [
1275
+ "+290",
1276
+ "+247"
1277
+ ]
1278
+ },
1279
+ "SI": {
1280
+ "name": "Slovenia",
1281
+ "dialCodes": [
1282
+ "+386"
1283
+ ]
1284
+ },
1285
+ "SJ": {
1286
+ "name": "Svalbard and Jan Mayen",
1287
+ "dialCodes": [
1288
+ "+47",
1289
+ "+4779"
1290
+ ]
1291
+ },
1292
+ "SK": {
1293
+ "name": "Slovakia",
1294
+ "dialCodes": [
1295
+ "+421"
1296
+ ]
1297
+ },
1298
+ "SL": {
1299
+ "name": "Sierra Leone",
1300
+ "dialCodes": [
1301
+ "+232"
1302
+ ]
1303
+ },
1304
+ "SM": {
1305
+ "name": "San Marino",
1306
+ "dialCodes": [
1307
+ "+378"
1308
+ ]
1309
+ },
1310
+ "SN": {
1311
+ "name": "Senegal",
1312
+ "dialCodes": [
1313
+ "+221"
1314
+ ]
1315
+ },
1316
+ "SO": {
1317
+ "name": "Somalia",
1318
+ "dialCodes": [
1319
+ "+252"
1320
+ ]
1321
+ },
1322
+ "SR": {
1323
+ "name": "Suriname",
1324
+ "dialCodes": [
1325
+ "+597"
1326
+ ]
1327
+ },
1328
+ "SS": {
1329
+ "name": "South Sudan",
1330
+ "dialCodes": [
1331
+ "+211"
1332
+ ]
1333
+ },
1334
+ "ST": {
1335
+ "name": "S\xE3o Tom\xE9 and Pr\xEDncipe",
1336
+ "dialCodes": [
1337
+ "+239"
1338
+ ]
1339
+ },
1340
+ "SV": {
1341
+ "name": "El Salvador",
1342
+ "dialCodes": [
1343
+ "+503"
1344
+ ]
1345
+ },
1346
+ "SX": {
1347
+ "name": "Sint Maarten",
1348
+ "dialCodes": [
1349
+ "+1",
1350
+ "+1721"
1351
+ ]
1352
+ },
1353
+ "SY": {
1354
+ "name": "Syria",
1355
+ "dialCodes": [
1356
+ "+963"
1357
+ ]
1358
+ },
1359
+ "SZ": {
1360
+ "name": "Eswatini",
1361
+ "dialCodes": [
1362
+ "+268"
1363
+ ]
1364
+ },
1365
+ "TA": {
1366
+ "name": "Tristan da Cunha",
1367
+ "dialCodes": [
1368
+ "+290"
1369
+ ]
1370
+ },
1371
+ "TC": {
1372
+ "name": "Turks and Caicos Islands",
1373
+ "dialCodes": [
1374
+ "+1",
1375
+ "+1649"
1376
+ ]
1377
+ },
1378
+ "TD": {
1379
+ "name": "Chad",
1380
+ "dialCodes": [
1381
+ "+235"
1382
+ ]
1383
+ },
1384
+ "TG": {
1385
+ "name": "Togo",
1386
+ "dialCodes": [
1387
+ "+228"
1388
+ ]
1389
+ },
1390
+ "TH": {
1391
+ "name": "Thailand",
1392
+ "dialCodes": [
1393
+ "+66"
1394
+ ]
1395
+ },
1396
+ "TJ": {
1397
+ "name": "Tajikistan",
1398
+ "dialCodes": [
1399
+ "+992"
1400
+ ]
1401
+ },
1402
+ "TK": {
1403
+ "name": "Tokelau",
1404
+ "dialCodes": [
1405
+ "+690"
1406
+ ]
1407
+ },
1408
+ "TL": {
1409
+ "name": "Timor-Leste",
1410
+ "dialCodes": [
1411
+ "+670"
1412
+ ]
1413
+ },
1414
+ "TM": {
1415
+ "name": "Turkmenistan",
1416
+ "dialCodes": [
1417
+ "+993"
1418
+ ]
1419
+ },
1420
+ "TN": {
1421
+ "name": "Tunisia",
1422
+ "dialCodes": [
1423
+ "+216"
1424
+ ]
1425
+ },
1426
+ "TO": {
1427
+ "name": "Tonga",
1428
+ "dialCodes": [
1429
+ "+676"
1430
+ ]
1431
+ },
1432
+ "TR": {
1433
+ "name": "T\xFCrkiye",
1434
+ "dialCodes": [
1435
+ "+90"
1436
+ ]
1437
+ },
1438
+ "TT": {
1439
+ "name": "Trinidad and Tobago",
1440
+ "dialCodes": [
1441
+ "+1",
1442
+ "+1868"
1443
+ ]
1444
+ },
1445
+ "TV": {
1446
+ "name": "Tuvalu",
1447
+ "dialCodes": [
1448
+ "+688"
1449
+ ]
1450
+ },
1451
+ "TW": {
1452
+ "name": "Taiwan",
1453
+ "dialCodes": [
1454
+ "+886"
1455
+ ]
1456
+ },
1457
+ "TZ": {
1458
+ "name": "Tanzania",
1459
+ "dialCodes": [
1460
+ "+255"
1461
+ ]
1462
+ },
1463
+ "UA": {
1464
+ "name": "Ukraine",
1465
+ "dialCodes": [
1466
+ "+380"
1467
+ ]
1468
+ },
1469
+ "UG": {
1470
+ "name": "Uganda",
1471
+ "dialCodes": [
1472
+ "+256"
1473
+ ]
1474
+ },
1475
+ "US": {
1476
+ "name": "United States",
1477
+ "dialCodes": [
1478
+ "+1",
1479
+ "+1201",
1480
+ "+1202",
1481
+ "+1203",
1482
+ "+1205",
1483
+ "+1206",
1484
+ "+1207",
1485
+ "+1208",
1486
+ "+1209",
1487
+ "+1210",
1488
+ "+1212",
1489
+ "+1213",
1490
+ "+1214",
1491
+ "+1215",
1492
+ "+1216",
1493
+ "+1217",
1494
+ "+1218",
1495
+ "+1219",
1496
+ "+1220",
1497
+ "+1223",
1498
+ "+1224",
1499
+ "+1225",
1500
+ "+1227",
1501
+ "+1228",
1502
+ "+1229",
1503
+ "+1231",
1504
+ "+1234",
1505
+ "+1239",
1506
+ "+1240",
1507
+ "+1248",
1508
+ "+1251",
1509
+ "+1252",
1510
+ "+1253",
1511
+ "+1254",
1512
+ "+1256",
1513
+ "+1260",
1514
+ "+1262",
1515
+ "+1267",
1516
+ "+1269",
1517
+ "+1270",
1518
+ "+1272",
1519
+ "+1274",
1520
+ "+1276",
1521
+ "+1279",
1522
+ "+1281",
1523
+ "+1283",
1524
+ "+1301",
1525
+ "+1302",
1526
+ "+1303",
1527
+ "+1304",
1528
+ "+1305",
1529
+ "+1307",
1530
+ "+1308",
1531
+ "+1309",
1532
+ "+1310",
1533
+ "+1312",
1534
+ "+1313",
1535
+ "+1314",
1536
+ "+1315",
1537
+ "+1316",
1538
+ "+1317",
1539
+ "+1318",
1540
+ "+1319",
1541
+ "+1320",
1542
+ "+1321",
1543
+ "+1323",
1544
+ "+1325",
1545
+ "+1326",
1546
+ "+1327",
1547
+ "+1330",
1548
+ "+1331",
1549
+ "+1332",
1550
+ "+1334",
1551
+ "+1336",
1552
+ "+1337",
1553
+ "+1339",
1554
+ "+1341",
1555
+ "+1346",
1556
+ "+1347",
1557
+ "+1351",
1558
+ "+1352",
1559
+ "+1360",
1560
+ "+1361",
1561
+ "+1364",
1562
+ "+1380",
1563
+ "+1385",
1564
+ "+1386",
1565
+ "+1401",
1566
+ "+1402",
1567
+ "+1404",
1568
+ "+1405",
1569
+ "+1406",
1570
+ "+1407",
1571
+ "+1408",
1572
+ "+1409",
1573
+ "+1410",
1574
+ "+1412",
1575
+ "+1413",
1576
+ "+1414",
1577
+ "+1415",
1578
+ "+1417",
1579
+ "+1419",
1580
+ "+1423",
1581
+ "+1424",
1582
+ "+1425",
1583
+ "+1430",
1584
+ "+1432",
1585
+ "+1434",
1586
+ "+1435",
1587
+ "+1440",
1588
+ "+1442",
1589
+ "+1443",
1590
+ "+1445",
1591
+ "+1447",
1592
+ "+1448",
1593
+ "+1458",
1594
+ "+1463",
1595
+ "+1464",
1596
+ "+1469",
1597
+ "+1470",
1598
+ "+1475",
1599
+ "+1478",
1600
+ "+1479",
1601
+ "+1480",
1602
+ "+1484",
1603
+ "+1500",
1604
+ "+1501",
1605
+ "+1502",
1606
+ "+1503",
1607
+ "+1504",
1608
+ "+1505",
1609
+ "+1507",
1610
+ "+1508",
1611
+ "+1509",
1612
+ "+1510",
1613
+ "+1512",
1614
+ "+1513",
1615
+ "+1515",
1616
+ "+1516",
1617
+ "+1517",
1618
+ "+1518",
1619
+ "+1520",
1620
+ "+1521",
1621
+ "+1522",
1622
+ "+1523",
1623
+ "+1524",
1624
+ "+1525",
1625
+ "+1526",
1626
+ "+1527",
1627
+ "+1528",
1628
+ "+1529",
1629
+ "+1530",
1630
+ "+1531",
1631
+ "+1532",
1632
+ "+1533",
1633
+ "+1534",
1634
+ "+1535",
1635
+ "+1538",
1636
+ "+1539",
1637
+ "+1540",
1638
+ "+1541",
1639
+ "+1542",
1640
+ "+1543",
1641
+ "+1544",
1642
+ "+1545",
1643
+ "+1546",
1644
+ "+1547",
1645
+ "+1549",
1646
+ "+1550",
1647
+ "+1551",
1648
+ "+1552",
1649
+ "+1553",
1650
+ "+1554",
1651
+ "+1556",
1652
+ "+1557",
1653
+ "+1558",
1654
+ "+1559",
1655
+ "+1561",
1656
+ "+1562",
1657
+ "+1563",
1658
+ "+1564",
1659
+ "+1566",
1660
+ "+1567",
1661
+ "+1569",
1662
+ "+1570",
1663
+ "+1571",
1664
+ "+1572",
1665
+ "+1573",
1666
+ "+1574",
1667
+ "+1575",
1668
+ "+1577",
1669
+ "+1578",
1670
+ "+1580",
1671
+ "+1582",
1672
+ "+1585",
1673
+ "+1586",
1674
+ "+1588",
1675
+ "+1589",
1676
+ "+1601",
1677
+ "+1602",
1678
+ "+1603",
1679
+ "+1605",
1680
+ "+1606",
1681
+ "+1607",
1682
+ "+1608",
1683
+ "+1609",
1684
+ "+1610",
1685
+ "+1612",
1686
+ "+1614",
1687
+ "+1615",
1688
+ "+1616",
1689
+ "+1617",
1690
+ "+1618",
1691
+ "+1619",
1692
+ "+1620",
1693
+ "+1623",
1694
+ "+1626",
1695
+ "+1628",
1696
+ "+1629",
1697
+ "+1630",
1698
+ "+1631",
1699
+ "+1636",
1700
+ "+1640",
1701
+ "+1641",
1702
+ "+1646",
1703
+ "+1650",
1704
+ "+1651",
1705
+ "+1656",
1706
+ "+1657",
1707
+ "+1659",
1708
+ "+1660",
1709
+ "+1661",
1710
+ "+1662",
1711
+ "+1667",
1712
+ "+1669",
1713
+ "+1678",
1714
+ "+1679",
1715
+ "+1680",
1716
+ "+1681",
1717
+ "+1682",
1718
+ "+1689",
1719
+ "+1700",
1720
+ "+1701",
1721
+ "+1702",
1722
+ "+1703",
1723
+ "+1704",
1724
+ "+1706",
1725
+ "+1707",
1726
+ "+1708",
1727
+ "+1710",
1728
+ "+1712",
1729
+ "+1713",
1730
+ "+1714",
1731
+ "+1715",
1732
+ "+1716",
1733
+ "+1717",
1734
+ "+1718",
1735
+ "+1719",
1736
+ "+1720",
1737
+ "+1724",
1738
+ "+1725",
1739
+ "+1726",
1740
+ "+1727",
1741
+ "+1730",
1742
+ "+1731",
1743
+ "+1732",
1744
+ "+1734",
1745
+ "+1737",
1746
+ "+1740",
1747
+ "+1743",
1748
+ "+1747",
1749
+ "+1754",
1750
+ "+1757",
1751
+ "+1760",
1752
+ "+1762",
1753
+ "+1763",
1754
+ "+1765",
1755
+ "+1769",
1756
+ "+1770",
1757
+ "+1771",
1758
+ "+1772",
1759
+ "+1773",
1760
+ "+1774",
1761
+ "+1775",
1762
+ "+1779",
1763
+ "+1781",
1764
+ "+1785",
1765
+ "+1786",
1766
+ "+1801",
1767
+ "+1802",
1768
+ "+1803",
1769
+ "+1804",
1770
+ "+1805",
1771
+ "+1806",
1772
+ "+1808",
1773
+ "+1810",
1774
+ "+1812",
1775
+ "+1813",
1776
+ "+1814",
1777
+ "+1815",
1778
+ "+1816",
1779
+ "+1817",
1780
+ "+1818",
1781
+ "+1820",
1782
+ "+1826",
1783
+ "+1828",
1784
+ "+1830",
1785
+ "+1831",
1786
+ "+1832",
1787
+ "+1838",
1788
+ "+1839",
1789
+ "+1840",
1790
+ "+1843",
1791
+ "+1845",
1792
+ "+1847",
1793
+ "+1848",
1794
+ "+1850",
1795
+ "+1854",
1796
+ "+1856",
1797
+ "+1857",
1798
+ "+1858",
1799
+ "+1859",
1800
+ "+1860",
1801
+ "+1862",
1802
+ "+1863",
1803
+ "+1864",
1804
+ "+1865",
1805
+ "+1870",
1806
+ "+1872",
1807
+ "+1878",
1808
+ "+1901",
1809
+ "+1903",
1810
+ "+1904",
1811
+ "+1906",
1812
+ "+1907",
1813
+ "+1908",
1814
+ "+1909",
1815
+ "+1910",
1816
+ "+1912",
1817
+ "+1913",
1818
+ "+1914",
1819
+ "+1915",
1820
+ "+1916",
1821
+ "+1917",
1822
+ "+1918",
1823
+ "+1919",
1824
+ "+1920",
1825
+ "+1925",
1826
+ "+1928",
1827
+ "+1929",
1828
+ "+1930",
1829
+ "+1931",
1830
+ "+1934",
1831
+ "+1936",
1832
+ "+1937",
1833
+ "+1938",
1834
+ "+1940",
1835
+ "+1941",
1836
+ "+1943",
1837
+ "+1945",
1838
+ "+1947",
1839
+ "+1948",
1840
+ "+1949",
1841
+ "+1951",
1842
+ "+1952",
1843
+ "+1954",
1844
+ "+1956",
1845
+ "+1959",
1846
+ "+1970",
1847
+ "+1971",
1848
+ "+1972",
1849
+ "+1973",
1850
+ "+1975",
1851
+ "+1978",
1852
+ "+1979",
1853
+ "+1980",
1854
+ "+1983",
1855
+ "+1984",
1856
+ "+1985",
1857
+ "+1986",
1858
+ "+1989"
1859
+ ]
1860
+ },
1861
+ "UY": {
1862
+ "name": "Uruguay",
1863
+ "dialCodes": [
1864
+ "+598"
1865
+ ]
1866
+ },
1867
+ "UZ": {
1868
+ "name": "Uzbekistan",
1869
+ "dialCodes": [
1870
+ "+998"
1871
+ ]
1872
+ },
1873
+ "VA": {
1874
+ "name": "Vatican City",
1875
+ "dialCodes": [
1876
+ "+39",
1877
+ "+3906698",
1878
+ "+379"
1879
+ ]
1880
+ },
1881
+ "VC": {
1882
+ "name": "Saint Vincent and the Grenadines",
1883
+ "dialCodes": [
1884
+ "+1",
1885
+ "+1784"
1886
+ ]
1887
+ },
1888
+ "VE": {
1889
+ "name": "Venezuela",
1890
+ "dialCodes": [
1891
+ "+58"
1892
+ ]
1893
+ },
1894
+ "VG": {
1895
+ "name": "British Virgin Islands",
1896
+ "dialCodes": [
1897
+ "+1",
1898
+ "+1284"
1899
+ ]
1900
+ },
1901
+ "VI": {
1902
+ "name": "United States Virgin Islands",
1903
+ "dialCodes": [
1904
+ "+1",
1905
+ "+1340"
1906
+ ]
1907
+ },
1908
+ "VN": {
1909
+ "name": "Vietnam",
1910
+ "dialCodes": [
1911
+ "+84"
1912
+ ]
1913
+ },
1914
+ "VU": {
1915
+ "name": "Vanuatu",
1916
+ "dialCodes": [
1917
+ "+678"
1918
+ ]
1919
+ },
1920
+ "WF": {
1921
+ "name": "Wallis and Futuna",
1922
+ "dialCodes": [
1923
+ "+681"
1924
+ ]
1925
+ },
1926
+ "WS": {
1927
+ "name": "Samoa",
1928
+ "dialCodes": [
1929
+ "+685"
1930
+ ]
1931
+ },
1932
+ "XK": {
1933
+ "name": "Kosovo",
1934
+ "dialCodes": [
1935
+ "+383"
1936
+ ]
1937
+ },
1938
+ "YE": {
1939
+ "name": "Yemen",
1940
+ "dialCodes": [
1941
+ "+967"
1942
+ ]
1943
+ },
1944
+ "YT": {
1945
+ "name": "Mayotte",
1946
+ "dialCodes": [
1947
+ "+262"
1948
+ ]
1949
+ },
1950
+ "ZA": {
1951
+ "name": "South Africa",
1952
+ "dialCodes": [
1953
+ "+27"
1954
+ ]
1955
+ },
1956
+ "ZM": {
1957
+ "name": "Zambia",
1958
+ "dialCodes": [
1959
+ "+260"
1960
+ ]
1961
+ },
1962
+ "ZW": {
1963
+ "name": "Zimbabwe",
1964
+ "dialCodes": [
1965
+ "+263"
1966
+ ]
1967
+ }
1968
+ };
1969
+
1970
+ // src/countries.ts
15
1971
  var PRIORITY_COUNTRIES = [
16
1972
  "US",
17
1973
  "GB",
@@ -45,29 +2001,9 @@ var PRIORITY_COUNTRIES = [
45
2001
  "AR"
46
2002
  ];
47
2003
  var supportedCountries = new Set(libphonenumberJs.getCountries());
48
- var worldCountryMap = new Map(worldCountries__default.default.map((country) => [country.cca2, country]));
49
- var FALLBACK_COUNTRIES = {
50
- AC: { name: "Ascension Island", dialCode: "+247" },
51
- TA: { name: "Tristan da Cunha", dialCode: "+290" },
52
- BQ: { name: "Caribbean Netherlands", dialCode: "+599" }
53
- };
54
- function normalizeDialCode(root, suffix) {
55
- const normalizedRoot = root.startsWith("+") ? root : `+${root}`;
56
- const digitsOnlySuffix = suffix.replace(/\D/g, "");
57
- return `${normalizedRoot}${digitsOnlySuffix}`;
58
- }
59
2004
  function codeToFlag(code) {
60
2005
  return code.toUpperCase().replace(/./g, (char) => String.fromCodePoint(127397 + char.charCodeAt(0)));
61
2006
  }
62
- function buildDialCodes(country, fallbackDialCode) {
63
- const root = country?.idd?.root;
64
- if (!root) {
65
- return [fallbackDialCode];
66
- }
67
- const suffixes = country.idd?.suffixes?.length ? country.idd.suffixes : [""];
68
- const dialCodes = suffixes.map((suffix) => normalizeDialCode(root, suffix)).filter((dialCode) => /^\+\d+$/.test(dialCode));
69
- return Array.from(/* @__PURE__ */ new Set([fallbackDialCode, ...dialCodes.length ? dialCodes : []]));
70
- }
71
2007
  function getCountryFormat(code) {
72
2008
  const example = libphonenumberJs.getExampleNumber(code, examples__default.default);
73
2009
  return example ? example.formatNational().replace(/\d/g, "#") : void 0;
@@ -77,16 +2013,15 @@ function getCountryPriority(code) {
77
2013
  return index === -1 ? Number.MAX_SAFE_INTEGER : index;
78
2014
  }
79
2015
  var generatedCountries = Array.from(supportedCountries).map((code) => {
80
- const country = worldCountryMap.get(code);
81
- const fallback = FALLBACK_COUNTRIES[code];
82
- const dialCode = fallback?.dialCode ?? `+${libphonenumberJs.getCountryCallingCode(code)}`;
83
- const dialCodes = buildDialCodes(country, dialCode);
2016
+ const data = COUNTRY_DATA[code];
2017
+ const dialCode = data?.dialCodes[0] ?? `+${libphonenumberJs.getCountryCallingCode(code)}`;
2018
+ const dialCodes = data?.dialCodes ?? [dialCode];
84
2019
  return {
85
2020
  code,
86
- name: country?.name.common ?? fallback?.name ?? code,
2021
+ name: data?.name ?? code,
87
2022
  dialCode,
88
2023
  dialCodes,
89
- flag: country?.flag || fallback?.flag || codeToFlag(code),
2024
+ flag: codeToFlag(code),
90
2025
  format: getCountryFormat(code)
91
2026
  };
92
2027
  }).sort((left, right) => {
@@ -217,7 +2152,8 @@ var DEFAULT_PHONE_INPUT_LABELS = {
217
2152
  noCountriesFound: "No countries found",
218
2153
  searchCountriesAriaLabel: "Search countries",
219
2154
  countryOptionsAriaLabel: "Country options",
220
- countryButtonAriaLabel: "Open country selector"
2155
+ countryButtonAriaLabel: "Open country selector",
2156
+ countryResultsAnnouncement: "{count} countries"
221
2157
  };
222
2158
  var LABELS_BY_LANGUAGE = {
223
2159
  en: DEFAULT_PHONE_INPUT_LABELS,
@@ -227,7 +2163,8 @@ var LABELS_BY_LANGUAGE = {
227
2163
  noCountriesFound: "Aucun pays trouv\xE9",
228
2164
  searchCountriesAriaLabel: "Rechercher des pays",
229
2165
  countryOptionsAriaLabel: "Options de pays",
230
- countryButtonAriaLabel: "Ouvrir le s\xE9lecteur de pays"
2166
+ countryButtonAriaLabel: "Ouvrir le s\xE9lecteur de pays",
2167
+ countryResultsAnnouncement: "{count} pays"
231
2168
  },
232
2169
  de: {
233
2170
  selectCountry: "Land ausw\xE4hlen",
@@ -235,7 +2172,8 @@ var LABELS_BY_LANGUAGE = {
235
2172
  noCountriesFound: "Keine L\xE4nder gefunden",
236
2173
  searchCountriesAriaLabel: "L\xE4nder suchen",
237
2174
  countryOptionsAriaLabel: "L\xE4nderoptionen",
238
- countryButtonAriaLabel: "L\xE4nderauswahl \xF6ffnen"
2175
+ countryButtonAriaLabel: "L\xE4nderauswahl \xF6ffnen",
2176
+ countryResultsAnnouncement: "{count} L\xE4nder"
239
2177
  },
240
2178
  es: {
241
2179
  selectCountry: "Seleccionar pa\xEDs",
@@ -243,7 +2181,8 @@ var LABELS_BY_LANGUAGE = {
243
2181
  noCountriesFound: "No se encontraron pa\xEDses",
244
2182
  searchCountriesAriaLabel: "Buscar pa\xEDses",
245
2183
  countryOptionsAriaLabel: "Opciones de pa\xEDs",
246
- countryButtonAriaLabel: "Abrir selector de pa\xEDs"
2184
+ countryButtonAriaLabel: "Abrir selector de pa\xEDs",
2185
+ countryResultsAnnouncement: "{count} pa\xEDses"
247
2186
  },
248
2187
  pt: {
249
2188
  selectCountry: "Selecionar pa\xEDs",
@@ -251,7 +2190,8 @@ var LABELS_BY_LANGUAGE = {
251
2190
  noCountriesFound: "Nenhum pa\xEDs encontrado",
252
2191
  searchCountriesAriaLabel: "Pesquisar pa\xEDses",
253
2192
  countryOptionsAriaLabel: "Op\xE7\xF5es de pa\xEDs",
254
- countryButtonAriaLabel: "Abrir seletor de pa\xEDs"
2193
+ countryButtonAriaLabel: "Abrir seletor de pa\xEDs",
2194
+ countryResultsAnnouncement: "{count} pa\xEDses"
255
2195
  },
256
2196
  it: {
257
2197
  selectCountry: "Seleziona paese",
@@ -259,7 +2199,8 @@ var LABELS_BY_LANGUAGE = {
259
2199
  noCountriesFound: "Nessun paese trovato",
260
2200
  searchCountriesAriaLabel: "Cerca paesi",
261
2201
  countryOptionsAriaLabel: "Opzioni paese",
262
- countryButtonAriaLabel: "Apri selettore paese"
2202
+ countryButtonAriaLabel: "Apri selettore paese",
2203
+ countryResultsAnnouncement: "{count} paesi"
263
2204
  },
264
2205
  ja: {
265
2206
  selectCountry: "\u56FD\u3092\u9078\u629E",
@@ -267,7 +2208,8 @@ var LABELS_BY_LANGUAGE = {
267
2208
  noCountriesFound: "\u56FD\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",
268
2209
  searchCountriesAriaLabel: "\u56FD\u3092\u691C\u7D22",
269
2210
  countryOptionsAriaLabel: "\u56FD\u306E\u5019\u88DC",
270
- countryButtonAriaLabel: "\u56FD\u306E\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u958B\u304F"
2211
+ countryButtonAriaLabel: "\u56FD\u306E\u30BB\u30EC\u30AF\u30BF\u30FC\u3092\u958B\u304F",
2212
+ countryResultsAnnouncement: "{count} \u4EF6\u306E\u56FD"
271
2213
  },
272
2214
  ko: {
273
2215
  selectCountry: "\uAD6D\uAC00 \uC120\uD0DD",
@@ -275,7 +2217,8 @@ var LABELS_BY_LANGUAGE = {
275
2217
  noCountriesFound: "\uAD6D\uAC00\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",
276
2218
  searchCountriesAriaLabel: "\uAD6D\uAC00 \uAC80\uC0C9",
277
2219
  countryOptionsAriaLabel: "\uAD6D\uAC00 \uC635\uC158",
278
- countryButtonAriaLabel: "\uAD6D\uAC00 \uC120\uD0DD\uAE30 \uC5F4\uAE30"
2220
+ countryButtonAriaLabel: "\uAD6D\uAC00 \uC120\uD0DD\uAE30 \uC5F4\uAE30",
2221
+ countryResultsAnnouncement: "\uAD6D\uAC00 {count}\uAC1C"
279
2222
  },
280
2223
  zh: {
281
2224
  selectCountry: "\u9009\u62E9\u56FD\u5BB6",
@@ -283,7 +2226,8 @@ var LABELS_BY_LANGUAGE = {
283
2226
  noCountriesFound: "\u672A\u627E\u5230\u56FD\u5BB6",
284
2227
  searchCountriesAriaLabel: "\u641C\u7D22\u56FD\u5BB6",
285
2228
  countryOptionsAriaLabel: "\u56FD\u5BB6\u9009\u9879",
286
- countryButtonAriaLabel: "\u6253\u5F00\u56FD\u5BB6\u9009\u62E9\u5668"
2229
+ countryButtonAriaLabel: "\u6253\u5F00\u56FD\u5BB6\u9009\u62E9\u5668",
2230
+ countryResultsAnnouncement: "{count} \u4E2A\u56FD\u5BB6"
287
2231
  },
288
2232
  ar: {
289
2233
  selectCountry: "\u0627\u062E\u062A\u0631 \u0627\u0644\u062F\u0648\u0644\u0629",
@@ -291,7 +2235,8 @@ var LABELS_BY_LANGUAGE = {
291
2235
  noCountriesFound: "\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u062F\u0648\u0644",
292
2236
  searchCountriesAriaLabel: "\u0627\u0628\u062D\u062B \u0639\u0646 \u0627\u0644\u062F\u0648\u0644",
293
2237
  countryOptionsAriaLabel: "\u062E\u064A\u0627\u0631\u0627\u062A \u0627\u0644\u062F\u0648\u0644",
294
- countryButtonAriaLabel: "\u0627\u0641\u062A\u062D \u0645\u062D\u062F\u062F \u0627\u0644\u062F\u0648\u0644\u0629"
2238
+ countryButtonAriaLabel: "\u0627\u0641\u062A\u062D \u0645\u062D\u062F\u062F \u0627\u0644\u062F\u0648\u0644\u0629",
2239
+ countryResultsAnnouncement: "{count} \u062F\u0648\u0644\u0629"
295
2240
  },
296
2241
  hi: {
297
2242
  selectCountry: "\u0926\u0947\u0936 \u091A\u0941\u0928\u0947\u0902",
@@ -299,7 +2244,8 @@ var LABELS_BY_LANGUAGE = {
299
2244
  noCountriesFound: "\u0915\u094B\u0908 \u0926\u0947\u0936 \u0928\u0939\u0940\u0902 \u092E\u093F\u0932\u093E",
300
2245
  searchCountriesAriaLabel: "\u0926\u0947\u0936 \u0916\u094B\u091C\u0947\u0902",
301
2246
  countryOptionsAriaLabel: "\u0926\u0947\u0936 \u0935\u093F\u0915\u0932\u094D\u092A",
302
- countryButtonAriaLabel: "\u0926\u0947\u0936 \u091A\u092F\u0928 \u0916\u094B\u0932\u0947\u0902"
2247
+ countryButtonAriaLabel: "\u0926\u0947\u0936 \u091A\u092F\u0928 \u0916\u094B\u0932\u0947\u0902",
2248
+ countryResultsAnnouncement: "{count} \u0926\u0947\u0936"
303
2249
  }
304
2250
  };
305
2251
  function getPrimaryLanguage(locale) {
@@ -641,6 +2587,8 @@ function usePhoneInput(options = {}) {
641
2587
  const [country, setCountry] = react.useState(initialCountry);
642
2588
  const [isOpen, setIsOpen] = react.useState(false);
643
2589
  const [searchQuery, setSearchQuery] = react.useState("");
2590
+ const [highlightedIndex, setHighlightedIndex] = react.useState(0);
2591
+ const listboxId = react.useId();
644
2592
  const phone = isControlled ? controlledValue : internalPhone;
645
2593
  const getOutputCountry = react.useCallback(
646
2594
  (nextCountry) => localizeCountry(nextCountry, locale),
@@ -711,6 +2659,26 @@ function usePhoneInput(options = {}) {
711
2659
  () => filterCountries(localizedCountries, searchQuery, preferredCountries),
712
2660
  [localizedCountries, searchQuery, preferredCountries]
713
2661
  );
2662
+ react.useEffect(() => {
2663
+ setHighlightedIndex(0);
2664
+ }, [searchQuery]);
2665
+ react.useEffect(() => {
2666
+ setHighlightedIndex((current) => {
2667
+ if (filteredCountries.length === 0) {
2668
+ return 0;
2669
+ }
2670
+ return current >= filteredCountries.length ? filteredCountries.length - 1 : current;
2671
+ });
2672
+ }, [filteredCountries.length]);
2673
+ const wasOpenRef = react.useRef(false);
2674
+ react.useEffect(() => {
2675
+ if (isOpen && !wasOpenRef.current) {
2676
+ const selectedIndex = filteredCountries.findIndex((candidate) => candidate.code === country?.code);
2677
+ setHighlightedIndex(selectedIndex >= 0 ? selectedIndex : 0);
2678
+ }
2679
+ wasOpenRef.current = isOpen;
2680
+ }, [isOpen, filteredCountries, country?.code]);
2681
+ const activeCountry = filteredCountries[highlightedIndex];
714
2682
  useIsomorphicLayoutEffect(() => {
715
2683
  const nextDigitIndex = pendingCaretDigitIndexRef.current;
716
2684
  const input = inputRef.current;
@@ -823,11 +2791,22 @@ function usePhoneInput(options = {}) {
823
2791
  (code) => `phone-input-country-${code}`,
824
2792
  []
825
2793
  );
2794
+ const activeOptionId = activeCountry ? getCountryOptionId(activeCountry.code) : void 0;
2795
+ const countryResultsText = filteredCountries.length === 0 ? resolvedLabels.noCountriesFound : resolvedLabels.countryResultsAnnouncement.replace("{count}", String(filteredCountries.length));
2796
+ const moveHighlight = react.useCallback(
2797
+ (nextIndex) => {
2798
+ const lastIndex = filteredCountries.length - 1;
2799
+ setHighlightedIndex(lastIndex < 0 ? 0 : Math.min(Math.max(nextIndex, 0), lastIndex));
2800
+ },
2801
+ [filteredCountries.length]
2802
+ );
826
2803
  const getCountryOptionProps = react.useCallback(
827
2804
  (optionCountry, index) => ({
828
2805
  id: getCountryOptionId(optionCountry.code),
829
2806
  role: "option",
830
- "aria-selected": optionCountry.code === country?.code,
2807
+ // Selection follows the active option in a single-select listbox, so this
2808
+ // tracks the highlight rather than the committed country.
2809
+ "aria-selected": index === highlightedIndex,
831
2810
  onClick: () => selectCountry(optionCountry),
832
2811
  onKeyDown: (event) => {
833
2812
  if (event.key === "Enter" || event.key === " ") {
@@ -841,7 +2820,7 @@ function usePhoneInput(options = {}) {
841
2820
  },
842
2821
  tabIndex: index === 0 ? 0 : -1
843
2822
  }),
844
- [closeDropdown, country?.code, getCountryOptionId, selectCountry]
2823
+ [closeDropdown, highlightedIndex, getCountryOptionId, selectCountry]
845
2824
  );
846
2825
  return {
847
2826
  // State
@@ -856,6 +2835,9 @@ function usePhoneInput(options = {}) {
856
2835
  searchQuery,
857
2836
  labels: resolvedLabels,
858
2837
  formattedValue: formattedPhone,
2838
+ highlightedIndex,
2839
+ activeCountry,
2840
+ countryResultsText,
859
2841
  // Actions
860
2842
  setPhone,
861
2843
  setValue: setPhone,
@@ -867,6 +2849,8 @@ function usePhoneInput(options = {}) {
867
2849
  closeDropdown,
868
2850
  close: closeDropdown,
869
2851
  setSearchQuery,
2852
+ setHighlightedIndex,
2853
+ moveHighlight,
870
2854
  clear,
871
2855
  // Props
872
2856
  inputProps: {
@@ -885,7 +2869,21 @@ function usePhoneInput(options = {}) {
885
2869
  onClick: toggleDropdown,
886
2870
  "aria-expanded": isOpen,
887
2871
  "aria-haspopup": "listbox",
888
- "aria-label": countryButtonAriaLabel
2872
+ "aria-label": countryButtonAriaLabel,
2873
+ "aria-controls": listboxId
2874
+ },
2875
+ // The search field is the combobox: it keeps focus while the arrow keys
2876
+ // move `aria-activedescendant` through the listbox.
2877
+ countrySearchProps: {
2878
+ role: "combobox",
2879
+ value: searchQuery,
2880
+ onChange: (event) => setSearchQuery(event.target.value),
2881
+ "aria-expanded": isOpen,
2882
+ "aria-controls": listboxId,
2883
+ "aria-autocomplete": "list",
2884
+ "aria-activedescendant": activeOptionId,
2885
+ "aria-label": resolvedLabels.searchCountriesAriaLabel,
2886
+ placeholder: resolvedLabels.countrySearchPlaceholder
889
2887
  },
890
2888
  countrySelectorProps: {
891
2889
  onClick: toggleDropdown,
@@ -894,9 +2892,12 @@ function usePhoneInput(options = {}) {
894
2892
  "aria-label": countryButtonAriaLabel
895
2893
  },
896
2894
  dropdownProps: {
2895
+ id: listboxId,
897
2896
  role: "listbox",
898
2897
  "aria-label": resolvedLabels.countryOptionsAriaLabel
899
2898
  },
2899
+ listboxId,
2900
+ activeOptionId,
900
2901
  getCountryOptionId,
901
2902
  filteredCountries,
902
2903
  countries: filteredCountries,
@@ -931,24 +2932,25 @@ var PhoneInput = react.forwardRef(
931
2932
  const inputRef = react.useRef(null);
932
2933
  const optionRefs = react.useRef([]);
933
2934
  const countryButtonRef = react.useRef(null);
934
- const [highlightedIndex, setHighlightedIndex] = react.useState(0);
935
- const listboxId = react.useId();
936
2935
  const {
937
2936
  inputProps,
938
2937
  countryButtonProps,
2938
+ countrySearchProps,
939
2939
  dropdownProps,
940
2940
  country,
941
2941
  filteredCountries,
942
2942
  isOpen,
943
2943
  isValid,
944
- searchQuery,
945
- setSearchQuery,
946
2944
  setCountry,
947
2945
  selectCountry,
948
2946
  clear,
949
2947
  openDropdown,
950
2948
  closeDropdown,
951
2949
  getCountryOptionId,
2950
+ highlightedIndex,
2951
+ setHighlightedIndex,
2952
+ moveHighlight,
2953
+ countryResultsText,
952
2954
  labels
953
2955
  } = usePhoneInput({
954
2956
  value,
@@ -978,7 +2980,6 @@ var PhoneInput = react.forwardRef(
978
2980
  }, []);
979
2981
  const handleCountryClick = react.useCallback((c) => {
980
2982
  selectCountry(c);
981
- setHighlightedIndex(0);
982
2983
  returnFocusToButton();
983
2984
  }, [selectCountry, returnFocusToButton]);
984
2985
  const handleCountryKeyDown = react.useCallback((e, c, index) => {
@@ -987,7 +2988,6 @@ var PhoneInput = react.forwardRef(
987
2988
  case " ":
988
2989
  e.preventDefault();
989
2990
  selectCountry(c);
990
- setHighlightedIndex(0);
991
2991
  returnFocusToButton();
992
2992
  break;
993
2993
  case "ArrowDown":
@@ -1024,7 +3024,7 @@ var PhoneInput = react.forwardRef(
1024
3024
  returnFocusToButton();
1025
3025
  break;
1026
3026
  }
1027
- }, [selectCountry, filteredCountries.length, closeDropdown, returnFocusToButton]);
3027
+ }, [selectCountry, filteredCountries.length, closeDropdown, returnFocusToButton, setHighlightedIndex]);
1028
3028
  react.useEffect(() => {
1029
3029
  if (!isOpen) {
1030
3030
  return;
@@ -1049,16 +3049,14 @@ var PhoneInput = react.forwardRef(
1049
3049
  };
1050
3050
  }, [isOpen, closeDropdown]);
1051
3051
  react.useEffect(() => {
1052
- if (filteredCountries.length === 0) {
1053
- if (highlightedIndex !== 0) {
1054
- setHighlightedIndex(0);
1055
- }
3052
+ if (!isOpen || !searchable) {
1056
3053
  return;
1057
3054
  }
1058
- if (highlightedIndex >= filteredCountries.length) {
1059
- setHighlightedIndex(filteredCountries.length - 1);
3055
+ const activeOption = optionRefs.current[highlightedIndex];
3056
+ if (typeof activeOption?.scrollIntoView === "function") {
3057
+ activeOption.scrollIntoView({ block: "nearest" });
1060
3058
  }
1061
- }, [filteredCountries.length, highlightedIndex]);
3059
+ }, [isOpen, searchable, highlightedIndex]);
1062
3060
  react.useImperativeHandle(ref, () => ({
1063
3061
  focus,
1064
3062
  blur,
@@ -1069,16 +3067,39 @@ var PhoneInput = react.forwardRef(
1069
3067
  close: closeDropdown
1070
3068
  }));
1071
3069
  const handleSearchKeyDown = react.useCallback((e) => {
1072
- if (e.key === "ArrowDown") {
1073
- e.preventDefault();
1074
- setHighlightedIndex(0);
1075
- optionRefs.current[0]?.focus();
1076
- } else if (e.key === "Escape") {
1077
- e.preventDefault();
1078
- closeDropdown();
1079
- returnFocusToButton();
3070
+ switch (e.key) {
3071
+ case "ArrowDown":
3072
+ e.preventDefault();
3073
+ moveHighlight(highlightedIndex + 1);
3074
+ break;
3075
+ case "ArrowUp":
3076
+ e.preventDefault();
3077
+ moveHighlight(highlightedIndex - 1);
3078
+ break;
3079
+ case "Home":
3080
+ e.preventDefault();
3081
+ moveHighlight(0);
3082
+ break;
3083
+ case "End":
3084
+ e.preventDefault();
3085
+ moveHighlight(filteredCountries.length - 1);
3086
+ break;
3087
+ case "Enter": {
3088
+ const active = filteredCountries[highlightedIndex];
3089
+ if (active) {
3090
+ e.preventDefault();
3091
+ selectCountry(active);
3092
+ returnFocusToButton();
3093
+ }
3094
+ break;
3095
+ }
3096
+ case "Escape":
3097
+ e.preventDefault();
3098
+ closeDropdown();
3099
+ returnFocusToButton();
3100
+ break;
1080
3101
  }
1081
- }, [closeDropdown, returnFocusToButton]);
3102
+ }, [closeDropdown, returnFocusToButton, moveHighlight, highlightedIndex, filteredCountries, selectCountry]);
1082
3103
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: containerClassName, "data-valid": isValid, children: [
1083
3104
  /* @__PURE__ */ jsxRuntime.jsxs(
1084
3105
  "button",
@@ -1089,7 +3110,6 @@ var PhoneInput = react.forwardRef(
1089
3110
  className: selectorClassName,
1090
3111
  disabled,
1091
3112
  tabIndex: disabled ? -1 : 0,
1092
- "aria-controls": listboxId,
1093
3113
  children: [
1094
3114
  country ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1095
3115
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "phone-input-flag", children: country.flag }),
@@ -1118,22 +3138,26 @@ var PhoneInput = react.forwardRef(
1118
3138
  searchable && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "phone-input-search", children: /* @__PURE__ */ jsxRuntime.jsx(
1119
3139
  "input",
1120
3140
  {
3141
+ ...countrySearchProps,
1121
3142
  type: "text",
1122
- value: searchQuery,
1123
- onChange: (e) => setSearchQuery(e.target.value),
1124
3143
  onKeyDown: handleSearchKeyDown,
1125
- placeholder: labels.countrySearchPlaceholder,
1126
- autoFocus: true,
1127
- "aria-controls": listboxId,
1128
- "aria-label": labels.searchCountriesAriaLabel
3144
+ autoFocus: true
1129
3145
  }
1130
3146
  ) }),
3147
+ /* @__PURE__ */ jsxRuntime.jsx(
3148
+ "div",
3149
+ {
3150
+ role: "status",
3151
+ "aria-live": "polite",
3152
+ style: { position: "absolute", width: 1, height: 1, overflow: "hidden", clip: "rect(0 0 0 0)", whiteSpace: "nowrap" },
3153
+ children: countryResultsText
3154
+ }
3155
+ ),
1131
3156
  /* @__PURE__ */ jsxRuntime.jsxs(
1132
3157
  "ul",
1133
3158
  {
1134
3159
  ...dropdownProps,
1135
3160
  className: "phone-input-country-list",
1136
- id: listboxId,
1137
3161
  children: [
1138
3162
  filteredCountries.map((c, index) => /* @__PURE__ */ jsxRuntime.jsxs(
1139
3163
  "li",
@@ -1143,12 +3167,12 @@ var PhoneInput = react.forwardRef(
1143
3167
  optionRefs.current[index] = element;
1144
3168
  },
1145
3169
  role: "option",
1146
- "aria-selected": c.code === country?.code,
3170
+ "aria-selected": index === highlightedIndex,
1147
3171
  className: `phone-input-country-option ${c.code === country?.code ? "selected" : ""} ${index === highlightedIndex ? "highlighted" : ""}`,
1148
3172
  onClick: () => handleCountryClick(c),
1149
3173
  onKeyDown: (e) => handleCountryKeyDown(e, c, index),
1150
3174
  onMouseEnter: () => setHighlightedIndex(index),
1151
- tabIndex: index === highlightedIndex ? 0 : -1,
3175
+ tabIndex: searchable ? -1 : index === highlightedIndex ? 0 : -1,
1152
3176
  children: [
1153
3177
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "phone-input-flag", children: c.flag }),
1154
3178
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "phone-input-country-name", children: getCountryDisplayName(c) }),