forked from
jollywhoppers.com/witchsky.app
Bluesky app fork with some witchin' additions 馃挮
1import {type CountryCode as LibPhoneNumberJsCountryCode} from 'libphonenumber-js'
2
3// Exclude Ascension Island and Tristan da Cunha - merged into `SH` in 2009
4export type CountryCode = Exclude<LibPhoneNumberJsCountryCode, 'AC' | 'TA'>
5
6/**
7 * Note: data is from Wikipedia, but some have been removed to match `libphonenumber-js`
8 * Mostly tiny British overseas territories + Antarctica, all of which
9 * share codes with a larger country. If you've one of the 10 people from these
10 * places, you probably know what to do.
11 */
12export const INTERNATIONAL_TELEPHONE_CODES = {
13 AD: {
14 code: '+376',
15 unicodeFlag: '馃嚘馃嚛',
16 svgFlag: require('../../assets/icons/flags/AD.svg'),
17 },
18 AF: {
19 code: '+93',
20 unicodeFlag: '馃嚘馃嚝',
21 svgFlag: require('../../assets/icons/flags/AF.svg'),
22 },
23 AG: {
24 code: '+1268',
25 unicodeFlag: '馃嚘馃嚞',
26 svgFlag: require('../../assets/icons/flags/AG.svg'),
27 },
28 AI: {
29 code: '+1264',
30 unicodeFlag: '馃嚘馃嚠',
31 svgFlag: require('../../assets/icons/flags/AI.svg'),
32 },
33 AL: {
34 code: '+355',
35 unicodeFlag: '馃嚘馃嚤',
36 svgFlag: require('../../assets/icons/flags/AL.svg'),
37 },
38 AM: {
39 code: '+374',
40 unicodeFlag: '馃嚘馃嚥',
41 svgFlag: require('../../assets/icons/flags/AM.svg'),
42 },
43 AO: {
44 code: '+244',
45 unicodeFlag: '馃嚘馃嚧',
46 svgFlag: require('../../assets/icons/flags/AO.svg'),
47 },
48 // sorry penguins :(
49 // same as Norfolk Island
50 // AQ: {
51 // code: '+672',
52 // unicodeFlag: '馃嚘馃嚩',
53 // svgFlag: require('../../assets/icons/flags/AQ.svg'),
54 // },
55 AR: {
56 code: '+54',
57 unicodeFlag: '馃嚘馃嚪',
58 svgFlag: require('../../assets/icons/flags/AR.svg'),
59 },
60 AS: {
61 code: '+1684',
62 unicodeFlag: '馃嚘馃嚫',
63 svgFlag: require('../../assets/icons/flags/AS.svg'),
64 },
65 AT: {
66 code: '+43',
67 unicodeFlag: '馃嚘馃嚬',
68 svgFlag: require('../../assets/icons/flags/AT.svg'),
69 },
70 AU: {
71 code: '+61',
72 unicodeFlag: '馃嚘馃嚭',
73 svgFlag: require('../../assets/icons/flags/AU.svg'),
74 },
75 AW: {
76 code: '+297',
77 unicodeFlag: '馃嚘馃嚰',
78 svgFlag: require('../../assets/icons/flags/AW.svg'),
79 },
80 AX: {
81 code: '+358',
82 unicodeFlag: '馃嚘馃嚱',
83 svgFlag: require('../../assets/icons/flags/AX.svg'),
84 },
85 AZ: {
86 code: '+994',
87 unicodeFlag: '馃嚘馃嚳',
88 svgFlag: require('../../assets/icons/flags/AZ.svg'),
89 },
90 BA: {
91 code: '+387',
92 unicodeFlag: '馃嚙馃嚘',
93 svgFlag: require('../../assets/icons/flags/BA.svg'),
94 },
95 BB: {
96 code: '+1246',
97 unicodeFlag: '馃嚙馃嚙',
98 svgFlag: require('../../assets/icons/flags/BB.svg'),
99 },
100 BD: {
101 code: '+880',
102 unicodeFlag: '馃嚙馃嚛',
103 svgFlag: require('../../assets/icons/flags/BD.svg'),
104 },
105 BE: {
106 code: '+32',
107 unicodeFlag: '馃嚙馃嚜',
108 svgFlag: require('../../assets/icons/flags/BE.svg'),
109 },
110 BF: {
111 code: '+226',
112 unicodeFlag: '馃嚙馃嚝',
113 svgFlag: require('../../assets/icons/flags/BF.svg'),
114 },
115 BG: {
116 code: '+359',
117 unicodeFlag: '馃嚙馃嚞',
118 svgFlag: require('../../assets/icons/flags/BG.svg'),
119 },
120 BH: {
121 code: '+973',
122 unicodeFlag: '馃嚙馃嚟',
123 svgFlag: require('../../assets/icons/flags/BH.svg'),
124 },
125 BI: {
126 code: '+257',
127 unicodeFlag: '馃嚙馃嚠',
128 svgFlag: require('../../assets/icons/flags/BI.svg'),
129 },
130 BJ: {
131 code: '+229',
132 unicodeFlag: '馃嚙馃嚡',
133 svgFlag: require('../../assets/icons/flags/BJ.svg'),
134 },
135 BL: {
136 code: '+590',
137 unicodeFlag: '馃嚙馃嚤',
138 svgFlag: require('../../assets/icons/flags/BL.svg'),
139 },
140 BM: {
141 code: '+1441',
142 unicodeFlag: '馃嚙馃嚥',
143 svgFlag: require('../../assets/icons/flags/BM.svg'),
144 },
145 BN: {
146 code: '+673',
147 unicodeFlag: '馃嚙馃嚦',
148 svgFlag: require('../../assets/icons/flags/BN.svg'),
149 },
150 BO: {
151 code: '+591',
152 unicodeFlag: '馃嚙馃嚧',
153 svgFlag: require('../../assets/icons/flags/BO.svg'),
154 },
155 BQ: {
156 code: '+5997',
157 unicodeFlag: '馃嚙馃嚩',
158 svgFlag: require('../../assets/icons/flags/BQ.svg'),
159 },
160 BR: {
161 code: '+55',
162 unicodeFlag: '馃嚙馃嚪',
163 svgFlag: require('../../assets/icons/flags/BR.svg'),
164 },
165 BT: {
166 code: '+975',
167 unicodeFlag: '馃嚙馃嚬',
168 svgFlag: require('../../assets/icons/flags/BT.svg'),
169 },
170 // same as Norway
171 // BV: {
172 // code: '+47',
173 // unicodeFlag: '馃嚙馃嚮',
174 // svgFlag: require('../../assets/icons/flags/BV.svg'),
175 // },
176 BW: {
177 code: '+267',
178 unicodeFlag: '馃嚙馃嚰',
179 svgFlag: require('../../assets/icons/flags/BW.svg'),
180 },
181 BY: {
182 code: '+375',
183 unicodeFlag: '馃嚙馃嚲',
184 svgFlag: require('../../assets/icons/flags/BY.svg'),
185 },
186 BZ: {
187 code: '+501',
188 unicodeFlag: '馃嚙馃嚳',
189 svgFlag: require('../../assets/icons/flags/BZ.svg'),
190 },
191 CA: {
192 code: '+1',
193 unicodeFlag: '馃嚚馃嚘',
194 svgFlag: require('../../assets/icons/flags/CA.svg'),
195 },
196 CH: {
197 code: '+41',
198 unicodeFlag: '馃嚚馃嚟',
199 svgFlag: require('../../assets/icons/flags/CH.svg'),
200 },
201 CI: {
202 code: '+225',
203 unicodeFlag: '馃嚚馃嚠',
204 svgFlag: require('../../assets/icons/flags/CI.svg'),
205 },
206 CL: {
207 code: '+56',
208 unicodeFlag: '馃嚚馃嚤',
209 svgFlag: require('../../assets/icons/flags/CL.svg'),
210 },
211 CM: {
212 code: '+237',
213 unicodeFlag: '馃嚚馃嚥',
214 svgFlag: require('../../assets/icons/flags/CM.svg'),
215 },
216 CN: {
217 code: '+86',
218 unicodeFlag: '馃嚚馃嚦',
219 svgFlag: require('../../assets/icons/flags/CN.svg'),
220 },
221 CO: {
222 code: '+57',
223 unicodeFlag: '馃嚚馃嚧',
224 svgFlag: require('../../assets/icons/flags/CO.svg'),
225 },
226 CR: {
227 code: '+506',
228 unicodeFlag: '馃嚚馃嚪',
229 svgFlag: require('../../assets/icons/flags/CR.svg'),
230 },
231 CU: {
232 code: '+53',
233 unicodeFlag: '馃嚚馃嚭',
234 svgFlag: require('../../assets/icons/flags/CU.svg'),
235 },
236 CV: {
237 code: '+238',
238 unicodeFlag: '馃嚚馃嚮',
239 svgFlag: require('../../assets/icons/flags/CV.svg'),
240 },
241 CW: {
242 code: '+599',
243 unicodeFlag: '馃嚚馃嚰',
244 svgFlag: require('../../assets/icons/flags/CW.svg'),
245 },
246 CX: {
247 code: '+61',
248 unicodeFlag: '馃嚚馃嚱',
249 svgFlag: require('../../assets/icons/flags/CX.svg'),
250 },
251 CY: {
252 code: '+357',
253 unicodeFlag: '馃嚚馃嚲',
254 svgFlag: require('../../assets/icons/flags/CY.svg'),
255 },
256 DE: {
257 code: '+49',
258 unicodeFlag: '馃嚛馃嚜',
259 svgFlag: require('../../assets/icons/flags/DE.svg'),
260 },
261 DJ: {
262 code: '+253',
263 unicodeFlag: '馃嚛馃嚡',
264 svgFlag: require('../../assets/icons/flags/DJ.svg'),
265 },
266 DK: {
267 code: '+45',
268 unicodeFlag: '馃嚛馃嚢',
269 svgFlag: require('../../assets/icons/flags/DK.svg'),
270 },
271 DM: {
272 code: '+767',
273 unicodeFlag: '馃嚛馃嚥',
274 svgFlag: require('../../assets/icons/flags/DM.svg'),
275 },
276 DZ: {
277 code: '+213',
278 unicodeFlag: '馃嚛馃嚳',
279 svgFlag: require('../../assets/icons/flags/DZ.svg'),
280 },
281 EC: {
282 code: '+593',
283 unicodeFlag: '馃嚜馃嚚',
284 svgFlag: require('../../assets/icons/flags/EC.svg'),
285 },
286 EE: {
287 code: '+372',
288 unicodeFlag: '馃嚜馃嚜',
289 svgFlag: require('../../assets/icons/flags/EE.svg'),
290 },
291 EG: {
292 code: '+20',
293 unicodeFlag: '馃嚜馃嚞',
294 svgFlag: require('../../assets/icons/flags/EG.svg'),
295 },
296 EH: {
297 code: '+212',
298 unicodeFlag: '馃嚜馃嚟',
299 svgFlag: require('../../assets/icons/flags/EH.svg'),
300 },
301 ER: {
302 code: '+291',
303 unicodeFlag: '馃嚜馃嚪',
304 svgFlag: require('../../assets/icons/flags/ER.svg'),
305 },
306 ES: {
307 code: '+34',
308 unicodeFlag: '馃嚜馃嚫',
309 svgFlag: require('../../assets/icons/flags/ES.svg'),
310 },
311 ET: {
312 code: '+251',
313 unicodeFlag: '馃嚜馃嚬',
314 svgFlag: require('../../assets/icons/flags/ET.svg'),
315 },
316 FI: {
317 code: '+358',
318 unicodeFlag: '馃嚝馃嚠',
319 svgFlag: require('../../assets/icons/flags/FI.svg'),
320 },
321 FJ: {
322 code: '+679',
323 unicodeFlag: '馃嚝馃嚡',
324 svgFlag: require('../../assets/icons/flags/FJ.svg'),
325 },
326 FM: {
327 code: '+691',
328 unicodeFlag: '馃嚝馃嚥',
329 svgFlag: require('../../assets/icons/flags/FM.svg'),
330 },
331 FR: {
332 code: '+33',
333 unicodeFlag: '馃嚝馃嚪',
334 svgFlag: require('../../assets/icons/flags/FR.svg'),
335 },
336 GA: {
337 code: '+241',
338 unicodeFlag: '馃嚞馃嚘',
339 svgFlag: require('../../assets/icons/flags/GA.svg'),
340 },
341 GD: {
342 code: '+1473',
343 unicodeFlag: '馃嚞馃嚛',
344 svgFlag: require('../../assets/icons/flags/GD.svg'),
345 },
346 GE: {
347 code: '+995',
348 unicodeFlag: '馃嚞馃嚜',
349 svgFlag: require('../../assets/icons/flags/GE.svg'),
350 },
351 GF: {
352 code: '+594',
353 unicodeFlag: '馃嚞馃嚝',
354 svgFlag: require('../../assets/icons/flags/GF.svg'),
355 },
356 GG: {
357 code: '+44',
358 unicodeFlag: '馃嚞馃嚞',
359 svgFlag: require('../../assets/icons/flags/GG.svg'),
360 },
361 GH: {
362 code: '+233',
363 unicodeFlag: '馃嚞馃嚟',
364 svgFlag: require('../../assets/icons/flags/GH.svg'),
365 },
366 GI: {
367 code: '+350',
368 unicodeFlag: '馃嚞馃嚠',
369 svgFlag: require('../../assets/icons/flags/GI.svg'),
370 },
371 GL: {
372 code: '+299',
373 unicodeFlag: '馃嚞馃嚤',
374 svgFlag: require('../../assets/icons/flags/GL.svg'),
375 },
376 GN: {
377 code: '+224',
378 unicodeFlag: '馃嚞馃嚦',
379 svgFlag: require('../../assets/icons/flags/GN.svg'),
380 },
381 GP: {
382 code: '+590',
383 unicodeFlag: '馃嚞馃嚨',
384 svgFlag: require('../../assets/icons/flags/GP.svg'),
385 },
386 GQ: {
387 code: '+240',
388 unicodeFlag: '馃嚞馃嚩',
389 svgFlag: require('../../assets/icons/flags/GQ.svg'),
390 },
391 GR: {
392 code: '+30',
393 unicodeFlag: '馃嚞馃嚪',
394 svgFlag: require('../../assets/icons/flags/GR.svg'),
395 },
396 // same as Falkland Islands
397 // GS: {
398 // code: '+500',
399 // unicodeFlag: '馃嚞馃嚫',
400 // svgFlag: require('../../assets/icons/flags/GS.svg'),
401 // },
402 GT: {
403 code: '+502',
404 unicodeFlag: '馃嚞馃嚬',
405 svgFlag: require('../../assets/icons/flags/GT.svg'),
406 },
407 GU: {
408 code: '+1',
409 unicodeFlag: '馃嚞馃嚭',
410 svgFlag: require('../../assets/icons/flags/GU.svg'),
411 },
412 GW: {
413 code: '+245',
414 unicodeFlag: '馃嚞馃嚰',
415 svgFlag: require('../../assets/icons/flags/GW.svg'),
416 },
417 GY: {
418 code: '+592',
419 unicodeFlag: '馃嚞馃嚲',
420 svgFlag: require('../../assets/icons/flags/GY.svg'),
421 },
422 HK: {
423 code: '+852',
424 unicodeFlag: '馃嚟馃嚢',
425 svgFlag: require('../../assets/icons/flags/HK.svg'),
426 },
427 HN: {
428 code: '+504',
429 unicodeFlag: '馃嚟馃嚦',
430 svgFlag: require('../../assets/icons/flags/HN.svg'),
431 },
432 HR: {
433 code: '+385',
434 unicodeFlag: '馃嚟馃嚪',
435 svgFlag: require('../../assets/icons/flags/HR.svg'),
436 },
437 HT: {
438 code: '+509',
439 unicodeFlag: '馃嚟馃嚬',
440 svgFlag: require('../../assets/icons/flags/HT.svg'),
441 },
442 HU: {
443 code: '+36',
444 unicodeFlag: '馃嚟馃嚭',
445 svgFlag: require('../../assets/icons/flags/HU.svg'),
446 },
447 ID: {
448 code: '+62',
449 unicodeFlag: '馃嚠馃嚛',
450 svgFlag: require('../../assets/icons/flags/ID.svg'),
451 },
452 IE: {
453 code: '+353',
454 unicodeFlag: '馃嚠馃嚜',
455 svgFlag: require('../../assets/icons/flags/IE.svg'),
456 },
457 IL: {
458 code: '+972',
459 unicodeFlag: '馃嚠馃嚤',
460 svgFlag: require('../../assets/icons/flags/IL.svg'),
461 },
462 IM: {
463 code: '+44',
464 unicodeFlag: '馃嚠馃嚥',
465 svgFlag: require('../../assets/icons/flags/IM.svg'),
466 },
467 IN: {
468 code: '+91',
469 unicodeFlag: '馃嚠馃嚦',
470 svgFlag: require('../../assets/icons/flags/IN.svg'),
471 },
472 IO: {
473 code: '+246',
474 unicodeFlag: '馃嚠馃嚧',
475 svgFlag: require('../../assets/icons/flags/IO.svg'),
476 },
477 IQ: {
478 code: '+964',
479 unicodeFlag: '馃嚠馃嚩',
480 svgFlag: require('../../assets/icons/flags/IQ.svg'),
481 },
482 IR: {
483 code: '+98',
484 unicodeFlag: '馃嚠馃嚪',
485 svgFlag: require('../../assets/icons/flags/IR.svg'),
486 },
487 IS: {
488 code: '+354',
489 unicodeFlag: '馃嚠馃嚫',
490 svgFlag: require('../../assets/icons/flags/IS.svg'),
491 },
492 IT: {
493 code: '+39',
494 unicodeFlag: '馃嚠馃嚬',
495 svgFlag: require('../../assets/icons/flags/IT.svg'),
496 },
497 JE: {
498 code: '+44',
499 unicodeFlag: '馃嚡馃嚜',
500 svgFlag: require('../../assets/icons/flags/JE.svg'),
501 },
502 JM: {
503 code: '+876',
504 unicodeFlag: '馃嚡馃嚥',
505 svgFlag: require('../../assets/icons/flags/JM.svg'),
506 },
507 JO: {
508 code: '+962',
509 unicodeFlag: '馃嚡馃嚧',
510 svgFlag: require('../../assets/icons/flags/JO.svg'),
511 },
512 JP: {
513 code: '+81',
514 unicodeFlag: '馃嚡馃嚨',
515 svgFlag: require('../../assets/icons/flags/JP.svg'),
516 },
517 KE: {
518 code: '+254',
519 unicodeFlag: '馃嚢馃嚜',
520 svgFlag: require('../../assets/icons/flags/KE.svg'),
521 },
522 KG: {
523 code: '+996',
524 unicodeFlag: '馃嚢馃嚞',
525 svgFlag: require('../../assets/icons/flags/KG.svg'),
526 },
527 KH: {
528 code: '+855',
529 unicodeFlag: '馃嚢馃嚟',
530 svgFlag: require('../../assets/icons/flags/KH.svg'),
531 },
532 KP: {
533 code: '+850',
534 unicodeFlag: '馃嚢馃嚨',
535 svgFlag: require('../../assets/icons/flags/KP.svg'),
536 },
537 KR: {
538 code: '+82',
539 unicodeFlag: '馃嚢馃嚪',
540 svgFlag: require('../../assets/icons/flags/KR.svg'),
541 },
542 KI: {
543 code: '+686',
544 unicodeFlag: '馃嚢馃嚠',
545 svgFlag: require('../../assets/icons/flags/KI.svg'),
546 },
547 KN: {
548 code: '+1869',
549 unicodeFlag: '馃嚢馃嚦',
550 svgFlag: require('../../assets/icons/flags/KN.svg'),
551 },
552 KW: {
553 code: '+965',
554 unicodeFlag: '馃嚢馃嚰',
555 svgFlag: require('../../assets/icons/flags/KW.svg'),
556 },
557 KZ: {
558 code: '+7',
559 unicodeFlag: '馃嚢馃嚳',
560 svgFlag: require('../../assets/icons/flags/KZ.svg'),
561 },
562 LB: {
563 code: '+961',
564 unicodeFlag: '馃嚤馃嚙',
565 svgFlag: require('../../assets/icons/flags/LB.svg'),
566 },
567 LC: {
568 code: '+1758',
569 unicodeFlag: '馃嚤馃嚚',
570 svgFlag: require('../../assets/icons/flags/LC.svg'),
571 },
572 LI: {
573 code: '+423',
574 unicodeFlag: '馃嚤馃嚠',
575 svgFlag: require('../../assets/icons/flags/LI.svg'),
576 },
577 LK: {
578 code: '+94',
579 unicodeFlag: '馃嚤馃嚢',
580 svgFlag: require('../../assets/icons/flags/LK.svg'),
581 },
582 LR: {
583 code: '+231',
584 unicodeFlag: '馃嚤馃嚪',
585 svgFlag: require('../../assets/icons/flags/LR.svg'),
586 },
587 LS: {
588 code: '+266',
589 unicodeFlag: '馃嚤馃嚫',
590 svgFlag: require('../../assets/icons/flags/LS.svg'),
591 },
592 LT: {
593 code: '+370',
594 unicodeFlag: '馃嚤馃嚬',
595 svgFlag: require('../../assets/icons/flags/LT.svg'),
596 },
597 LU: {
598 code: '+352',
599 unicodeFlag: '馃嚤馃嚭',
600 svgFlag: require('../../assets/icons/flags/LU.svg'),
601 },
602 LV: {
603 code: '+371',
604 unicodeFlag: '馃嚤馃嚮',
605 svgFlag: require('../../assets/icons/flags/LV.svg'),
606 },
607 LY: {
608 code: '+218',
609 unicodeFlag: '馃嚤馃嚲',
610 svgFlag: require('../../assets/icons/flags/LY.svg'),
611 },
612 MA: {
613 code: '+212',
614 unicodeFlag: '馃嚥馃嚘',
615 svgFlag: require('../../assets/icons/flags/MA.svg'),
616 },
617 MC: {
618 code: '+377',
619 unicodeFlag: '馃嚥馃嚚',
620 svgFlag: require('../../assets/icons/flags/MC.svg'),
621 },
622 ME: {
623 code: '+382',
624 unicodeFlag: '馃嚥馃嚜',
625 svgFlag: require('../../assets/icons/flags/ME.svg'),
626 },
627 MF: {
628 code: '+590',
629 unicodeFlag: '馃嚥馃嚝',
630 svgFlag: require('../../assets/icons/flags/MF.svg'),
631 },
632 MG: {
633 code: '+261',
634 unicodeFlag: '馃嚥馃嚞',
635 svgFlag: require('../../assets/icons/flags/MG.svg'),
636 },
637 ML: {
638 code: '+223',
639 unicodeFlag: '馃嚥馃嚤',
640 svgFlag: require('../../assets/icons/flags/ML.svg'),
641 },
642 MM: {
643 code: '+95',
644 unicodeFlag: '馃嚥馃嚥',
645 svgFlag: require('../../assets/icons/flags/MM.svg'),
646 },
647 MN: {
648 code: '+976',
649 unicodeFlag: '馃嚥馃嚦',
650 svgFlag: require('../../assets/icons/flags/MN.svg'),
651 },
652 MO: {
653 code: '+853',
654 unicodeFlag: '馃嚥馃嚧',
655 svgFlag: require('../../assets/icons/flags/MO.svg'),
656 },
657 MQ: {
658 code: '+596',
659 unicodeFlag: '馃嚥馃嚩',
660 svgFlag: require('../../assets/icons/flags/MQ.svg'),
661 },
662 MR: {
663 code: '+222',
664 unicodeFlag: '馃嚥馃嚪',
665 svgFlag: require('../../assets/icons/flags/MR.svg'),
666 },
667 MS: {
668 code: '+1664',
669 unicodeFlag: '馃嚥馃嚫',
670 svgFlag: require('../../assets/icons/flags/MS.svg'),
671 },
672 MT: {
673 code: '+356',
674 unicodeFlag: '馃嚥馃嚬',
675 svgFlag: require('../../assets/icons/flags/MT.svg'),
676 },
677 MU: {
678 code: '+230',
679 unicodeFlag: '馃嚥馃嚭',
680 svgFlag: require('../../assets/icons/flags/MU.svg'),
681 },
682 MV: {
683 code: '+960',
684 unicodeFlag: '馃嚥馃嚮',
685 svgFlag: require('../../assets/icons/flags/MV.svg'),
686 },
687 MW: {
688 code: '+265',
689 unicodeFlag: '馃嚥馃嚰',
690 svgFlag: require('../../assets/icons/flags/MW.svg'),
691 },
692 MX: {
693 code: '+52',
694 unicodeFlag: '馃嚥馃嚱',
695 svgFlag: require('../../assets/icons/flags/MX.svg'),
696 },
697 MY: {
698 code: '+60',
699 unicodeFlag: '馃嚥馃嚲',
700 svgFlag: require('../../assets/icons/flags/MY.svg'),
701 },
702 MZ: {
703 code: '+258',
704 unicodeFlag: '馃嚥馃嚳',
705 svgFlag: require('../../assets/icons/flags/MZ.svg'),
706 },
707 NA: {
708 code: '+264',
709 unicodeFlag: '馃嚦馃嚘',
710 svgFlag: require('../../assets/icons/flags/NA.svg'),
711 },
712 NC: {
713 code: '+687',
714 unicodeFlag: '馃嚦馃嚚',
715 svgFlag: require('../../assets/icons/flags/NC.svg'),
716 },
717 NF: {
718 code: '+672',
719 unicodeFlag: '馃嚦馃嚝',
720 svgFlag: require('../../assets/icons/flags/NF.svg'),
721 },
722 NG: {
723 code: '+234',
724 unicodeFlag: '馃嚦馃嚞',
725 svgFlag: require('../../assets/icons/flags/NG.svg'),
726 },
727 NI: {
728 code: '+505',
729 unicodeFlag: '馃嚦馃嚠',
730 svgFlag: require('../../assets/icons/flags/NI.svg'),
731 },
732 NO: {
733 code: '+47',
734 unicodeFlag: '馃嚦馃嚧',
735 svgFlag: require('../../assets/icons/flags/NO.svg'),
736 },
737 NP: {
738 code: '+977',
739 unicodeFlag: '馃嚦馃嚨',
740 svgFlag: require('../../assets/icons/flags/NP.svg'),
741 },
742 NR: {
743 code: '+674',
744 unicodeFlag: '馃嚦馃嚪',
745 svgFlag: require('../../assets/icons/flags/NR.svg'),
746 },
747 NU: {
748 code: '+683',
749 unicodeFlag: '馃嚦馃嚭',
750 svgFlag: require('../../assets/icons/flags/NU.svg'),
751 },
752 NZ: {
753 code: '+64',
754 unicodeFlag: '馃嚦馃嚳',
755 svgFlag: require('../../assets/icons/flags/NZ.svg'),
756 },
757 OM: {
758 code: '+968',
759 unicodeFlag: '馃嚧馃嚥',
760 svgFlag: require('../../assets/icons/flags/OM.svg'),
761 },
762 PA: {
763 code: '+507',
764 unicodeFlag: '馃嚨馃嚘',
765 svgFlag: require('../../assets/icons/flags/PA.svg'),
766 },
767 PE: {
768 code: '+51',
769 unicodeFlag: '馃嚨馃嚜',
770 svgFlag: require('../../assets/icons/flags/PE.svg'),
771 },
772 PF: {
773 code: '+689',
774 unicodeFlag: '馃嚨馃嚝',
775 svgFlag: require('../../assets/icons/flags/PF.svg'),
776 },
777 PG: {
778 code: '+675',
779 unicodeFlag: '馃嚨馃嚞',
780 svgFlag: require('../../assets/icons/flags/PG.svg'),
781 },
782 PK: {
783 code: '+92',
784 unicodeFlag: '馃嚨馃嚢',
785 svgFlag: require('../../assets/icons/flags/PK.svg'),
786 },
787 PL: {
788 code: '+48',
789 unicodeFlag: '馃嚨馃嚤',
790 svgFlag: require('../../assets/icons/flags/PL.svg'),
791 },
792 PM: {
793 code: '+508',
794 unicodeFlag: '馃嚨馃嚥',
795 svgFlag: require('../../assets/icons/flags/PM.svg'),
796 },
797 // same as New Zealand
798 // PN: {
799 // code: '+64',
800 // unicodeFlag: '馃嚨馃嚦',
801 // svgFlag: require('../../assets/icons/flags/PN.svg'),
802 // },
803 PR: {
804 code: '+1',
805 unicodeFlag: '馃嚨馃嚪',
806 svgFlag: require('../../assets/icons/flags/PR.svg'),
807 },
808 PS: {
809 code: '+970',
810 unicodeFlag: '馃嚨馃嚫',
811 svgFlag: require('../../assets/icons/flags/PS.svg'),
812 },
813 PT: {
814 code: '+351',
815 unicodeFlag: '馃嚨馃嚬',
816 svgFlag: require('../../assets/icons/flags/PT.svg'),
817 },
818 PW: {
819 code: '+680',
820 unicodeFlag: '馃嚨馃嚰',
821 svgFlag: require('../../assets/icons/flags/PW.svg'),
822 },
823 PY: {
824 code: '+595',
825 unicodeFlag: '馃嚨馃嚲',
826 svgFlag: require('../../assets/icons/flags/PY.svg'),
827 },
828 QA: {
829 code: '+974',
830 unicodeFlag: '馃嚩馃嚘',
831 svgFlag: require('../../assets/icons/flags/QA.svg'),
832 },
833 RE: {
834 code: '+262',
835 unicodeFlag: '馃嚪馃嚜',
836 svgFlag: require('../../assets/icons/flags/RE.svg'),
837 },
838 RO: {
839 code: '+40',
840 unicodeFlag: '馃嚪馃嚧',
841 svgFlag: require('../../assets/icons/flags/RO.svg'),
842 },
843 RS: {
844 code: '+381',
845 unicodeFlag: '馃嚪馃嚫',
846 svgFlag: require('../../assets/icons/flags/RS.svg'),
847 },
848 RU: {
849 code: '+7',
850 unicodeFlag: '馃嚪馃嚭',
851 svgFlag: require('../../assets/icons/flags/RU.svg'),
852 },
853 RW: {
854 code: '+250',
855 unicodeFlag: '馃嚪馃嚰',
856 svgFlag: require('../../assets/icons/flags/RW.svg'),
857 },
858 SA: {
859 code: '+966',
860 unicodeFlag: '馃嚫馃嚘',
861 svgFlag: require('../../assets/icons/flags/SA.svg'),
862 },
863 SB: {
864 code: '+677',
865 unicodeFlag: '馃嚫馃嚙',
866 svgFlag: require('../../assets/icons/flags/SB.svg'),
867 },
868 SC: {
869 code: '+248',
870 unicodeFlag: '馃嚫馃嚚',
871 svgFlag: require('../../assets/icons/flags/SC.svg'),
872 },
873 SE: {
874 code: '+46',
875 unicodeFlag: '馃嚫馃嚜',
876 svgFlag: require('../../assets/icons/flags/SE.svg'),
877 },
878 SG: {
879 code: '+65',
880 unicodeFlag: '馃嚫馃嚞',
881 svgFlag: require('../../assets/icons/flags/SG.svg'),
882 },
883 SH: {
884 code: '+290',
885 unicodeFlag: '馃嚫馃嚟',
886 svgFlag: require('../../assets/icons/flags/SH.svg'),
887 },
888 SI: {
889 code: '+386',
890 unicodeFlag: '馃嚫馃嚠',
891 svgFlag: require('../../assets/icons/flags/SI.svg'),
892 },
893 SJ: {
894 code: '+4779',
895 unicodeFlag: '馃嚫馃嚡',
896 svgFlag: require('../../assets/icons/flags/SJ.svg'),
897 },
898 SK: {
899 code: '+421',
900 unicodeFlag: '馃嚫馃嚢',
901 svgFlag: require('../../assets/icons/flags/SK.svg'),
902 },
903 SL: {
904 code: '+232',
905 unicodeFlag: '馃嚫馃嚤',
906 svgFlag: require('../../assets/icons/flags/SL.svg'),
907 },
908 SM: {
909 code: '+378',
910 unicodeFlag: '馃嚫馃嚥',
911 svgFlag: require('../../assets/icons/flags/SM.svg'),
912 },
913 SN: {
914 code: '+221',
915 unicodeFlag: '馃嚫馃嚦',
916 svgFlag: require('../../assets/icons/flags/SN.svg'),
917 },
918 SO: {
919 code: '+252',
920 unicodeFlag: '馃嚫馃嚧',
921 svgFlag: require('../../assets/icons/flags/SO.svg'),
922 },
923 SR: {
924 code: '+597',
925 unicodeFlag: '馃嚫馃嚪',
926 svgFlag: require('../../assets/icons/flags/SR.svg'),
927 },
928 SS: {
929 code: '+211',
930 unicodeFlag: '馃嚫馃嚫',
931 svgFlag: require('../../assets/icons/flags/SS.svg'),
932 },
933 ST: {
934 code: '+239',
935 unicodeFlag: '馃嚫馃嚬',
936 svgFlag: require('../../assets/icons/flags/ST.svg'),
937 },
938 SV: {
939 code: '+503',
940 unicodeFlag: '馃嚫馃嚮',
941 svgFlag: require('../../assets/icons/flags/SV.svg'),
942 },
943 SX: {
944 code: '+1721',
945 unicodeFlag: '馃嚫馃嚱',
946 svgFlag: require('../../assets/icons/flags/SX.svg'),
947 },
948 SY: {
949 code: '+963',
950 unicodeFlag: '馃嚫馃嚲',
951 svgFlag: require('../../assets/icons/flags/SY.svg'),
952 },
953 TD: {
954 code: '+235',
955 unicodeFlag: '馃嚬馃嚛',
956 svgFlag: require('../../assets/icons/flags/TD.svg'),
957 },
958 TG: {
959 code: '+228',
960 unicodeFlag: '馃嚬馃嚞',
961 svgFlag: require('../../assets/icons/flags/TG.svg'),
962 },
963 TH: {
964 code: '+66',
965 unicodeFlag: '馃嚬馃嚟',
966 svgFlag: require('../../assets/icons/flags/TH.svg'),
967 },
968 TJ: {
969 code: '+992',
970 unicodeFlag: '馃嚬馃嚡',
971 svgFlag: require('../../assets/icons/flags/TJ.svg'),
972 },
973 TK: {
974 code: '+690',
975 unicodeFlag: '馃嚬馃嚢',
976 svgFlag: require('../../assets/icons/flags/TK.svg'),
977 },
978 TL: {
979 code: '+670',
980 unicodeFlag: '馃嚬馃嚤',
981 svgFlag: require('../../assets/icons/flags/TL.svg'),
982 },
983 TM: {
984 code: '+993',
985 unicodeFlag: '馃嚬馃嚥',
986 svgFlag: require('../../assets/icons/flags/TM.svg'),
987 },
988 TN: {
989 code: '+216',
990 unicodeFlag: '馃嚬馃嚦',
991 svgFlag: require('../../assets/icons/flags/TN.svg'),
992 },
993 TO: {
994 code: '+676',
995 unicodeFlag: '馃嚬馃嚧',
996 svgFlag: require('../../assets/icons/flags/TO.svg'),
997 },
998 TR: {
999 code: '+90',
1000 unicodeFlag: '馃嚬馃嚪',
1001 svgFlag: require('../../assets/icons/flags/TR.svg'),
1002 },
1003 TT: {
1004 code: '+868',
1005 unicodeFlag: '馃嚬馃嚬',
1006 svgFlag: require('../../assets/icons/flags/TT.svg'),
1007 },
1008 TV: {
1009 code: '+688',
1010 unicodeFlag: '馃嚬馃嚮',
1011 svgFlag: require('../../assets/icons/flags/TV.svg'),
1012 },
1013 TZ: {
1014 code: '+255',
1015 unicodeFlag: '馃嚬馃嚳',
1016 svgFlag: require('../../assets/icons/flags/TZ.svg'),
1017 },
1018 UA: {
1019 code: '+380',
1020 unicodeFlag: '馃嚭馃嚘',
1021 svgFlag: require('../../assets/icons/flags/UA.svg'),
1022 },
1023 UG: {
1024 code: '+256',
1025 unicodeFlag: '馃嚭馃嚞',
1026 svgFlag: require('../../assets/icons/flags/UG.svg'),
1027 },
1028 US: {
1029 code: '+1',
1030 unicodeFlag: '馃嚭馃嚫',
1031 svgFlag: require('../../assets/icons/flags/US.svg'),
1032 },
1033 UY: {
1034 code: '+598',
1035 unicodeFlag: '馃嚭馃嚲',
1036 svgFlag: require('../../assets/icons/flags/UY.svg'),
1037 },
1038 UZ: {
1039 code: '+998',
1040 unicodeFlag: '馃嚭馃嚳',
1041 svgFlag: require('../../assets/icons/flags/UZ.svg'),
1042 },
1043 VC: {
1044 code: '+1784',
1045 unicodeFlag: '馃嚮馃嚚',
1046 svgFlag: require('../../assets/icons/flags/VC.svg'),
1047 },
1048 VE: {
1049 code: '+58',
1050 unicodeFlag: '馃嚮馃嚜',
1051 svgFlag: require('../../assets/icons/flags/VE.svg'),
1052 },
1053 VG: {
1054 code: '+1284',
1055 unicodeFlag: '馃嚮馃嚞',
1056 svgFlag: require('../../assets/icons/flags/VG.svg'),
1057 },
1058 VI: {
1059 code: '+1340',
1060 unicodeFlag: '馃嚮馃嚠',
1061 svgFlag: require('../../assets/icons/flags/VI.svg'),
1062 },
1063 VN: {
1064 code: '+84',
1065 unicodeFlag: '馃嚮馃嚦',
1066 svgFlag: require('../../assets/icons/flags/VN.svg'),
1067 },
1068 VU: {
1069 code: '+678',
1070 unicodeFlag: '馃嚮馃嚭',
1071 svgFlag: require('../../assets/icons/flags/VU.svg'),
1072 },
1073 WF: {
1074 code: '+681',
1075 unicodeFlag: '馃嚰馃嚝',
1076 svgFlag: require('../../assets/icons/flags/WF.svg'),
1077 },
1078 WS: {
1079 code: '+685',
1080 unicodeFlag: '馃嚰馃嚫',
1081 svgFlag: require('../../assets/icons/flags/WS.svg'),
1082 },
1083 YE: {
1084 code: '+967',
1085 unicodeFlag: '馃嚲馃嚜',
1086 svgFlag: require('../../assets/icons/flags/YE.svg'),
1087 },
1088 YT: {
1089 code: '+262',
1090 unicodeFlag: '馃嚲馃嚬',
1091 svgFlag: require('../../assets/icons/flags/YT.svg'),
1092 },
1093 ZA: {
1094 code: '+27',
1095 unicodeFlag: '馃嚳馃嚘',
1096 svgFlag: require('../../assets/icons/flags/ZA.svg'),
1097 },
1098 ZM: {
1099 code: '+260',
1100 unicodeFlag: '馃嚳馃嚥',
1101 svgFlag: require('../../assets/icons/flags/ZM.svg'),
1102 },
1103 ZW: {
1104 code: '+263',
1105 unicodeFlag: '馃嚳馃嚰',
1106 svgFlag: require('../../assets/icons/flags/ZW.svg'),
1107 },
1108 SZ: {
1109 code: '+268',
1110 unicodeFlag: '馃嚫馃嚳',
1111 svgFlag: require('../../assets/icons/flags/SZ.svg'),
1112 },
1113 MK: {
1114 code: '+389',
1115 unicodeFlag: '馃嚥馃嚢',
1116 svgFlag: require('../../assets/icons/flags/MK.svg'),
1117 },
1118 PH: {
1119 code: '+63',
1120 unicodeFlag: '馃嚨馃嚟',
1121 svgFlag: require('../../assets/icons/flags/PH.svg'),
1122 },
1123 NL: {
1124 code: '+31',
1125 unicodeFlag: '馃嚦馃嚤',
1126 svgFlag: require('../../assets/icons/flags/NL.svg'),
1127 },
1128 AE: {
1129 code: '+971',
1130 unicodeFlag: '馃嚘馃嚜',
1131 svgFlag: require('../../assets/icons/flags/AE.svg'),
1132 },
1133 MD: {
1134 code: '+373',
1135 unicodeFlag: '馃嚥馃嚛',
1136 svgFlag: require('../../assets/icons/flags/MD.svg'),
1137 },
1138 GM: {
1139 code: '+220',
1140 unicodeFlag: '馃嚞馃嚥',
1141 svgFlag: require('../../assets/icons/flags/GM.svg'),
1142 },
1143 DO: {
1144 code: '+1',
1145 unicodeFlag: '馃嚛馃嚧',
1146 svgFlag: require('../../assets/icons/flags/DO.svg'),
1147 },
1148 SD: {
1149 code: '+249',
1150 unicodeFlag: '馃嚫馃嚛',
1151 svgFlag: require('../../assets/icons/flags/SD.svg'),
1152 },
1153 LA: {
1154 code: '+856',
1155 unicodeFlag: '馃嚤馃嚘',
1156 svgFlag: require('../../assets/icons/flags/LA.svg'),
1157 },
1158 TW: {
1159 code: '+886',
1160 unicodeFlag: '馃嚬馃嚰',
1161 svgFlag: require('../../assets/icons/flags/TW.svg'),
1162 },
1163 CG: {
1164 code: '+242',
1165 unicodeFlag: '馃嚚馃嚞',
1166 svgFlag: require('../../assets/icons/flags/CG.svg'),
1167 },
1168 CZ: {
1169 code: '+420',
1170 unicodeFlag: '馃嚚馃嚳',
1171 svgFlag: require('../../assets/icons/flags/CZ.svg'),
1172 },
1173 GB: {
1174 code: '+44',
1175 unicodeFlag: '馃嚞馃嚙',
1176 svgFlag: require('../../assets/icons/flags/GB.svg'),
1177 },
1178 NE: {
1179 code: '+227',
1180 unicodeFlag: '馃嚦馃嚜',
1181 svgFlag: require('../../assets/icons/flags/NE.svg'),
1182 },
1183 CD: {
1184 code: '+243',
1185 unicodeFlag: '馃嚚馃嚛',
1186 svgFlag: require('../../assets/icons/flags/CD.svg'),
1187 },
1188 BS: {
1189 code: '+1 242',
1190 unicodeFlag: '馃嚙馃嚫',
1191 svgFlag: require('../../assets/icons/flags/BS.svg'),
1192 },
1193 CC: {
1194 code: '+61 891',
1195 unicodeFlag: '馃嚚馃嚚',
1196 svgFlag: require('../../assets/icons/flags/CC.svg'),
1197 },
1198 CF: {
1199 code: '+236',
1200 unicodeFlag: '馃嚚馃嚝',
1201 svgFlag: require('../../assets/icons/flags/CF.svg'),
1202 },
1203 CK: {
1204 code: '+682',
1205 unicodeFlag: '馃嚚馃嚢',
1206 svgFlag: require('../../assets/icons/flags/CK.svg'),
1207 },
1208 FK: {
1209 code: '+500',
1210 unicodeFlag: '馃嚝馃嚢',
1211 svgFlag: require('../../assets/icons/flags/FK.svg'),
1212 },
1213 FO: {
1214 code: '+298',
1215 unicodeFlag: '馃嚝馃嚧',
1216 svgFlag: require('../../assets/icons/flags/FO.svg'),
1217 },
1218 // same as Norfolk Island
1219 // HM: {
1220 // code: '+672',
1221 // unicodeFlag: '馃嚟馃嚥',
1222 // svgFlag: require('../../assets/icons/flags/HM.svg'),
1223 // },
1224 KM: {
1225 code: '+269',
1226 unicodeFlag: '馃嚢馃嚥',
1227 svgFlag: require('../../assets/icons/flags/KM.svg'),
1228 },
1229 KY: {
1230 code: '+1 345',
1231 unicodeFlag: '馃嚢馃嚲',
1232 svgFlag: require('../../assets/icons/flags/KY.svg'),
1233 },
1234 MH: {
1235 code: '+692',
1236 unicodeFlag: '馃嚥馃嚟',
1237 svgFlag: require('../../assets/icons/flags/MH.svg'),
1238 },
1239 MP: {
1240 code: '+1 670',
1241 unicodeFlag: '馃嚥馃嚨',
1242 svgFlag: require('../../assets/icons/flags/MP.svg'),
1243 },
1244 TC: {
1245 code: '+1 649',
1246 unicodeFlag: '馃嚬馃嚚',
1247 svgFlag: require('../../assets/icons/flags/TC.svg'),
1248 },
1249 // same as Norfolk Island
1250 // TF: {
1251 // code: '+672',
1252 // unicodeFlag: '馃嚬馃嚝',
1253 // svgFlag: require('../../assets/icons/flags/TF.svg'),
1254 // },
1255 // same as US mainland
1256 // UM: {
1257 // code: '+1',
1258 // unicodeFlag: '馃嚭馃嚥',
1259 // svgFlag: require('../../assets/icons/flags/UM.svg'),
1260 // },
1261 VA: {
1262 code: '+39',
1263 unicodeFlag: '馃嚮馃嚘',
1264 svgFlag: require('../../assets/icons/flags/VA.svg'),
1265 },
1266 XK: {
1267 code: '+383',
1268 unicodeFlag: '馃嚱馃嚢',
1269 svgFlag: require('../../assets/icons/flags/XK.svg'),
1270 },
1271} satisfies Record<
1272 CountryCode,
1273 {
1274 code: string
1275 unicodeFlag: string
1276 svgFlag: any
1277 }
1278>
1279
1280const DEFAULT_PHONE_COUNTRY = 'US' as const
1281
1282export function getDefaultCountry(location?: {
1283 countryCode?: string
1284}): CountryCode {
1285 const locationCountryCode = location?.countryCode?.toUpperCase()
1286 if (
1287 locationCountryCode &&
1288 locationCountryCode in INTERNATIONAL_TELEPHONE_CODES
1289 ) {
1290 return locationCountryCode as CountryCode
1291 }
1292 return DEFAULT_PHONE_COUNTRY
1293}