Bluesky app fork with some witchin' additions 馃挮
at main 1293 lines 31 kB view raw
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}