@exyconn/common 2.0.0 → 2.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/README.md +864 -261
  2. package/dist/{index-BLltj-zN.d.ts → client/hooks/index.d.mts} +1 -195
  3. package/dist/{index-CIUdLBjA.d.mts → client/hooks/index.d.ts} +1 -195
  4. package/dist/client/hooks/index.js +2276 -0
  5. package/dist/client/hooks/index.js.map +1 -0
  6. package/dist/client/hooks/index.mjs +2217 -0
  7. package/dist/client/hooks/index.mjs.map +1 -0
  8. package/dist/client/index.d.mts +4 -1
  9. package/dist/client/index.d.ts +4 -1
  10. package/dist/client/index.js +2693 -19
  11. package/dist/client/index.js.map +1 -1
  12. package/dist/client/index.mjs +2634 -21
  13. package/dist/client/index.mjs.map +1 -1
  14. package/dist/client/web/index.d.mts +1461 -0
  15. package/dist/client/web/index.d.ts +1461 -0
  16. package/dist/client/web/index.js +2681 -0
  17. package/dist/client/web/index.js.map +1 -0
  18. package/dist/client/web/index.mjs +2618 -0
  19. package/dist/client/web/index.mjs.map +1 -0
  20. package/dist/data/brand-identity.d.mts +149 -0
  21. package/dist/data/brand-identity.d.ts +149 -0
  22. package/dist/data/brand-identity.js +235 -0
  23. package/dist/data/brand-identity.js.map +1 -0
  24. package/dist/data/brand-identity.mjs +220 -0
  25. package/dist/data/brand-identity.mjs.map +1 -0
  26. package/dist/data/countries.d.mts +61 -0
  27. package/dist/data/countries.d.ts +61 -0
  28. package/dist/data/countries.js +987 -0
  29. package/dist/data/countries.js.map +1 -0
  30. package/dist/data/countries.mjs +971 -0
  31. package/dist/data/countries.mjs.map +1 -0
  32. package/dist/data/currencies.d.mts +19 -0
  33. package/dist/data/currencies.d.ts +19 -0
  34. package/dist/data/currencies.js +162 -0
  35. package/dist/data/currencies.js.map +1 -0
  36. package/dist/data/currencies.mjs +153 -0
  37. package/dist/data/currencies.mjs.map +1 -0
  38. package/dist/data/index.d.mts +7 -0
  39. package/dist/data/index.d.ts +7 -0
  40. package/dist/data/index.js +2087 -0
  41. package/dist/data/index.js.map +1 -0
  42. package/dist/data/index.mjs +1948 -0
  43. package/dist/data/index.mjs.map +1 -0
  44. package/dist/data/phone-codes.d.mts +15 -0
  45. package/dist/data/phone-codes.d.ts +15 -0
  46. package/dist/data/phone-codes.js +219 -0
  47. package/dist/data/phone-codes.js.map +1 -0
  48. package/dist/data/phone-codes.mjs +211 -0
  49. package/dist/data/phone-codes.mjs.map +1 -0
  50. package/dist/data/regex.d.mts +287 -0
  51. package/dist/data/regex.d.ts +287 -0
  52. package/dist/data/regex.js +306 -0
  53. package/dist/data/regex.js.map +1 -0
  54. package/dist/data/regex.mjs +208 -0
  55. package/dist/data/regex.mjs.map +1 -0
  56. package/dist/data/timezones.d.mts +16 -0
  57. package/dist/data/timezones.d.ts +16 -0
  58. package/dist/data/timezones.js +98 -0
  59. package/dist/data/timezones.js.map +1 -0
  60. package/dist/data/timezones.mjs +89 -0
  61. package/dist/data/timezones.mjs.map +1 -0
  62. package/dist/index-01hoqibP.d.ts +119 -0
  63. package/dist/index-D3yCCjBZ.d.mts +119 -0
  64. package/dist/index-D9a9oxQy.d.ts +305 -0
  65. package/dist/index-DKn4raO7.d.ts +222 -0
  66. package/dist/index-DuxL84IW.d.mts +305 -0
  67. package/dist/index-NS8dS0p9.d.mts +222 -0
  68. package/dist/index-Nqm5_lwT.d.ts +188 -0
  69. package/dist/index-jBi3V6e5.d.mts +188 -0
  70. package/dist/index.d.mts +21 -729
  71. package/dist/index.d.ts +21 -729
  72. package/dist/index.js +3470 -97
  73. package/dist/index.js.map +1 -1
  74. package/dist/index.mjs +3457 -104
  75. package/dist/index.mjs.map +1 -1
  76. package/dist/server/configs/index.d.mts +602 -0
  77. package/dist/server/configs/index.d.ts +602 -0
  78. package/dist/server/configs/index.js +707 -0
  79. package/dist/server/configs/index.js.map +1 -0
  80. package/dist/server/configs/index.mjs +665 -0
  81. package/dist/server/configs/index.mjs.map +1 -0
  82. package/dist/server/index.d.mts +3 -0
  83. package/dist/server/index.d.ts +3 -0
  84. package/dist/server/index.js +699 -0
  85. package/dist/server/index.js.map +1 -1
  86. package/dist/server/index.mjs +662 -1
  87. package/dist/server/index.mjs.map +1 -1
  88. package/dist/shared/config/index.d.mts +40 -0
  89. package/dist/shared/config/index.d.ts +40 -0
  90. package/dist/shared/config/index.js +58 -0
  91. package/dist/shared/config/index.js.map +1 -0
  92. package/dist/shared/config/index.mjs +51 -0
  93. package/dist/shared/config/index.mjs.map +1 -0
  94. package/dist/shared/constants/index.d.mts +593 -0
  95. package/dist/shared/constants/index.d.ts +593 -0
  96. package/dist/shared/constants/index.js +391 -0
  97. package/dist/shared/constants/index.js.map +1 -0
  98. package/dist/shared/constants/index.mjs +360 -0
  99. package/dist/shared/constants/index.mjs.map +1 -0
  100. package/dist/shared/index.d.mts +5 -1
  101. package/dist/shared/index.d.ts +5 -1
  102. package/dist/shared/types/index.d.mts +140 -0
  103. package/dist/shared/types/index.d.ts +140 -0
  104. package/dist/shared/types/index.js +4 -0
  105. package/dist/shared/types/index.js.map +1 -0
  106. package/dist/shared/types/index.mjs +3 -0
  107. package/dist/shared/types/index.mjs.map +1 -0
  108. package/dist/shared/utils/index.d.mts +255 -0
  109. package/dist/shared/utils/index.d.ts +255 -0
  110. package/dist/shared/utils/index.js +623 -0
  111. package/dist/shared/utils/index.js.map +1 -0
  112. package/dist/shared/utils/index.mjs +324 -0
  113. package/dist/shared/utils/index.mjs.map +1 -0
  114. package/dist/shared/validation/index.d.mts +258 -0
  115. package/dist/shared/validation/index.d.ts +258 -0
  116. package/dist/shared/validation/index.js +185 -0
  117. package/dist/shared/validation/index.js.map +1 -0
  118. package/dist/shared/validation/index.mjs +172 -0
  119. package/dist/shared/validation/index.mjs.map +1 -0
  120. package/package.json +151 -56
  121. package/dist/index-DEzgM15j.d.ts +0 -67
  122. package/dist/index-DNFVgQx8.d.ts +0 -1375
  123. package/dist/index-DbV04Dx8.d.mts +0 -67
  124. package/dist/index-DfqEP6Oe.d.mts +0 -1375
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/data/countries.ts"],"names":[],"mappings":"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","file":"countries.mjs","sourcesContent":["/**\r\n * Country with nested cities data\r\n */\r\nexport interface City {\r\n name: string;\r\n stateCode?: string;\r\n}\r\n\r\nexport interface State {\r\n name: string;\r\n code: string;\r\n cities: City[];\r\n}\r\n\r\nexport interface Country {\r\n name: string;\r\n code: string; // ISO 3166-1 alpha-2\r\n code3: string; // ISO 3166-1 alpha-3\r\n flag?: string; // Emoji flag (auto-generated if not provided)\r\n phoneCode: string;\r\n currency: string;\r\n currencySymbol: string;\r\n continent: string;\r\n capital: string;\r\n timezone: string;\r\n states: State[];\r\n}\r\n\r\n/**\r\n * Convert country code to emoji flag\r\n * @param countryCode - ISO 3166-1 alpha-2 country code\r\n * @returns Emoji flag string\r\n */\r\nexport const codeToFlag = (countryCode: string): string => {\r\n const codePoints = countryCode\r\n .toUpperCase()\r\n .split('')\r\n .map((char) => 127397 + char.charCodeAt(0));\r\n return String.fromCodePoint(...codePoints);\r\n};\r\n\r\nexport const countries: Country[] = [\r\n {\r\n name: 'Afghanistan',\r\n code: 'AF',\r\n code3: 'AFG',\r\n flag: '🇦🇫',\r\n phoneCode: '+93',\r\n currency: 'AFN',\r\n currencySymbol: '؋',\r\n continent: 'Asia',\r\n capital: 'Kabul',\r\n timezone: 'Asia/Kabul',\r\n states: [\r\n { name: 'Kabul', code: 'KBL', cities: [{ name: 'Kabul' }] },\r\n { name: 'Kandahar', code: 'KDH', cities: [{ name: 'Kandahar' }] },\r\n { name: 'Herat', code: 'HER', cities: [{ name: 'Herat' }] },\r\n ],\r\n },\r\n {\r\n name: 'Albania',\r\n code: 'AL',\r\n code3: 'ALB',\r\n flag: '🇦🇱',\r\n phoneCode: '+355',\r\n currency: 'ALL',\r\n currencySymbol: 'L',\r\n continent: 'Europe',\r\n capital: 'Tirana',\r\n timezone: 'Europe/Tirane',\r\n states: [\r\n { name: 'Tirana', code: 'TR', cities: [{ name: 'Tirana' }] },\r\n { name: 'Durrës', code: 'DR', cities: [{ name: 'Durrës' }] },\r\n ],\r\n },\r\n {\r\n name: 'Algeria',\r\n code: 'DZ',\r\n code3: 'DZA',\r\n flag: '🇩🇿',\r\n phoneCode: '+213',\r\n currency: 'DZD',\r\n currencySymbol: 'د.ج',\r\n continent: 'Africa',\r\n capital: 'Algiers',\r\n timezone: 'Africa/Algiers',\r\n states: [\r\n { name: 'Algiers', code: 'ALG', cities: [{ name: 'Algiers' }] },\r\n { name: 'Oran', code: 'ORA', cities: [{ name: 'Oran' }] },\r\n ],\r\n },\r\n {\r\n name: 'Argentina',\r\n code: 'AR',\r\n code3: 'ARG',\r\n flag: '🇦🇷',\r\n phoneCode: '+54',\r\n currency: 'ARS',\r\n currencySymbol: '$',\r\n continent: 'South America',\r\n capital: 'Buenos Aires',\r\n timezone: 'America/Argentina/Buenos_Aires',\r\n states: [\r\n { name: 'Buenos Aires', code: 'BA', cities: [{ name: 'Buenos Aires' }, { name: 'La Plata' }] },\r\n { name: 'Córdoba', code: 'CO', cities: [{ name: 'Córdoba' }] },\r\n { name: 'Santa Fe', code: 'SF', cities: [{ name: 'Rosario' }, { name: 'Santa Fe' }] },\r\n ],\r\n },\r\n {\r\n name: 'Australia',\r\n code: 'AU',\r\n code3: 'AUS',\r\n flag: '🇦🇺',\r\n phoneCode: '+61',\r\n currency: 'AUD',\r\n currencySymbol: '$',\r\n continent: 'Oceania',\r\n capital: 'Canberra',\r\n timezone: 'Australia/Sydney',\r\n states: [\r\n { name: 'New South Wales', code: 'NSW', cities: [{ name: 'Sydney' }, { name: 'Newcastle' }, { name: 'Wollongong' }] },\r\n { name: 'Victoria', code: 'VIC', cities: [{ name: 'Melbourne' }, { name: 'Geelong' }] },\r\n { name: 'Queensland', code: 'QLD', cities: [{ name: 'Brisbane' }, { name: 'Gold Coast' }, { name: 'Cairns' }] },\r\n { name: 'Western Australia', code: 'WA', cities: [{ name: 'Perth' }, { name: 'Fremantle' }] },\r\n { name: 'South Australia', code: 'SA', cities: [{ name: 'Adelaide' }] },\r\n { name: 'Tasmania', code: 'TAS', cities: [{ name: 'Hobart' }, { name: 'Launceston' }] },\r\n { name: 'Australian Capital Territory', code: 'ACT', cities: [{ name: 'Canberra' }] },\r\n { name: 'Northern Territory', code: 'NT', cities: [{ name: 'Darwin' }] },\r\n ],\r\n },\r\n {\r\n name: 'Austria',\r\n code: 'AT',\r\n code3: 'AUT',\r\n flag: '🇦🇹',\r\n phoneCode: '+43',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Vienna',\r\n timezone: 'Europe/Vienna',\r\n states: [\r\n { name: 'Vienna', code: 'VIE', cities: [{ name: 'Vienna' }] },\r\n { name: 'Salzburg', code: 'SBG', cities: [{ name: 'Salzburg' }] },\r\n { name: 'Tyrol', code: 'TYR', cities: [{ name: 'Innsbruck' }] },\r\n ],\r\n },\r\n {\r\n name: 'Bangladesh',\r\n code: 'BD',\r\n code3: 'BGD',\r\n flag: '🇧🇩',\r\n phoneCode: '+880',\r\n currency: 'BDT',\r\n currencySymbol: '৳',\r\n continent: 'Asia',\r\n capital: 'Dhaka',\r\n timezone: 'Asia/Dhaka',\r\n states: [\r\n { name: 'Dhaka', code: 'DHA', cities: [{ name: 'Dhaka' }, { name: 'Gazipur' }, { name: 'Narayanganj' }] },\r\n { name: 'Chittagong', code: 'CTG', cities: [{ name: 'Chittagong' }, { name: \"Cox's Bazar\" }] },\r\n { name: 'Khulna', code: 'KHL', cities: [{ name: 'Khulna' }] },\r\n { name: 'Rajshahi', code: 'RAJ', cities: [{ name: 'Rajshahi' }] },\r\n { name: 'Sylhet', code: 'SYL', cities: [{ name: 'Sylhet' }] },\r\n ],\r\n },\r\n {\r\n name: 'Belgium',\r\n code: 'BE',\r\n code3: 'BEL',\r\n flag: '🇧🇪',\r\n phoneCode: '+32',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Brussels',\r\n timezone: 'Europe/Brussels',\r\n states: [\r\n { name: 'Brussels', code: 'BRU', cities: [{ name: 'Brussels' }] },\r\n { name: 'Flanders', code: 'FLA', cities: [{ name: 'Antwerp' }, { name: 'Ghent' }, { name: 'Bruges' }] },\r\n { name: 'Wallonia', code: 'WAL', cities: [{ name: 'Liège' }, { name: 'Charleroi' }] },\r\n ],\r\n },\r\n {\r\n name: 'Brazil',\r\n code: 'BR',\r\n code3: 'BRA',\r\n flag: '🇧🇷',\r\n phoneCode: '+55',\r\n currency: 'BRL',\r\n currencySymbol: 'R$',\r\n continent: 'South America',\r\n capital: 'Brasília',\r\n timezone: 'America/Sao_Paulo',\r\n states: [\r\n { name: 'São Paulo', code: 'SP', cities: [{ name: 'São Paulo' }, { name: 'Campinas' }, { name: 'Santos' }] },\r\n { name: 'Rio de Janeiro', code: 'RJ', cities: [{ name: 'Rio de Janeiro' }, { name: 'Niterói' }] },\r\n { name: 'Minas Gerais', code: 'MG', cities: [{ name: 'Belo Horizonte' }, { name: 'Uberlândia' }] },\r\n { name: 'Bahia', code: 'BA', cities: [{ name: 'Salvador' }] },\r\n { name: 'Paraná', code: 'PR', cities: [{ name: 'Curitiba' }] },\r\n { name: 'Rio Grande do Sul', code: 'RS', cities: [{ name: 'Porto Alegre' }] },\r\n { name: 'Federal District', code: 'DF', cities: [{ name: 'Brasília' }] },\r\n ],\r\n },\r\n {\r\n name: 'Canada',\r\n code: 'CA',\r\n code3: 'CAN',\r\n flag: '🇨🇦',\r\n phoneCode: '+1',\r\n currency: 'CAD',\r\n currencySymbol: '$',\r\n continent: 'North America',\r\n capital: 'Ottawa',\r\n timezone: 'America/Toronto',\r\n states: [\r\n { name: 'Ontario', code: 'ON', cities: [{ name: 'Toronto' }, { name: 'Ottawa' }, { name: 'Mississauga' }, { name: 'Hamilton' }] },\r\n { name: 'Quebec', code: 'QC', cities: [{ name: 'Montreal' }, { name: 'Quebec City' }, { name: 'Laval' }] },\r\n { name: 'British Columbia', code: 'BC', cities: [{ name: 'Vancouver' }, { name: 'Victoria' }, { name: 'Surrey' }] },\r\n { name: 'Alberta', code: 'AB', cities: [{ name: 'Calgary' }, { name: 'Edmonton' }] },\r\n { name: 'Manitoba', code: 'MB', cities: [{ name: 'Winnipeg' }] },\r\n { name: 'Saskatchewan', code: 'SK', cities: [{ name: 'Saskatoon' }, { name: 'Regina' }] },\r\n { name: 'Nova Scotia', code: 'NS', cities: [{ name: 'Halifax' }] },\r\n { name: 'New Brunswick', code: 'NB', cities: [{ name: 'Moncton' }, { name: 'Saint John' }] },\r\n ],\r\n },\r\n {\r\n name: 'China',\r\n code: 'CN',\r\n code3: 'CHN',\r\n phoneCode: '+86',\r\n currency: 'CNY',\r\n currencySymbol: '¥',\r\n continent: 'Asia',\r\n capital: 'Beijing',\r\n timezone: 'Asia/Shanghai',\r\n states: [\r\n { name: 'Beijing', code: 'BJ', cities: [{ name: 'Beijing' }] },\r\n { name: 'Shanghai', code: 'SH', cities: [{ name: 'Shanghai' }] },\r\n { name: 'Guangdong', code: 'GD', cities: [{ name: 'Guangzhou' }, { name: 'Shenzhen' }, { name: 'Dongguan' }] },\r\n { name: 'Jiangsu', code: 'JS', cities: [{ name: 'Nanjing' }, { name: 'Suzhou' }, { name: 'Wuxi' }] },\r\n { name: 'Zhejiang', code: 'ZJ', cities: [{ name: 'Hangzhou' }, { name: 'Ningbo' }] },\r\n { name: 'Sichuan', code: 'SC', cities: [{ name: 'Chengdu' }, { name: 'Chongqing' }] },\r\n { name: 'Hubei', code: 'HB', cities: [{ name: 'Wuhan' }] },\r\n ],\r\n },\r\n {\r\n name: 'Denmark',\r\n code: 'DK',\r\n code3: 'DNK',\r\n phoneCode: '+45',\r\n currency: 'DKK',\r\n currencySymbol: 'kr',\r\n continent: 'Europe',\r\n capital: 'Copenhagen',\r\n timezone: 'Europe/Copenhagen',\r\n states: [\r\n { name: 'Capital Region', code: 'HO', cities: [{ name: 'Copenhagen' }] },\r\n { name: 'Central Denmark', code: 'MJ', cities: [{ name: 'Aarhus' }] },\r\n { name: 'Southern Denmark', code: 'SD', cities: [{ name: 'Odense' }] },\r\n ],\r\n },\r\n {\r\n name: 'Egypt',\r\n code: 'EG',\r\n code3: 'EGY',\r\n phoneCode: '+20',\r\n currency: 'EGP',\r\n currencySymbol: '£',\r\n continent: 'Africa',\r\n capital: 'Cairo',\r\n timezone: 'Africa/Cairo',\r\n states: [\r\n { name: 'Cairo', code: 'CAI', cities: [{ name: 'Cairo' }, { name: 'Giza' }] },\r\n { name: 'Alexandria', code: 'ALX', cities: [{ name: 'Alexandria' }] },\r\n { name: 'Luxor', code: 'LXR', cities: [{ name: 'Luxor' }] },\r\n ],\r\n },\r\n {\r\n name: 'Finland',\r\n code: 'FI',\r\n code3: 'FIN',\r\n phoneCode: '+358',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Helsinki',\r\n timezone: 'Europe/Helsinki',\r\n states: [\r\n { name: 'Uusimaa', code: 'UUS', cities: [{ name: 'Helsinki' }, { name: 'Espoo' }, { name: 'Vantaa' }] },\r\n { name: 'Pirkanmaa', code: 'PIR', cities: [{ name: 'Tampere' }] },\r\n { name: 'Southwest Finland', code: 'VAR', cities: [{ name: 'Turku' }] },\r\n ],\r\n },\r\n {\r\n name: 'France',\r\n code: 'FR',\r\n code3: 'FRA',\r\n phoneCode: '+33',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Paris',\r\n timezone: 'Europe/Paris',\r\n states: [\r\n { name: 'Île-de-France', code: 'IDF', cities: [{ name: 'Paris' }, { name: 'Versailles' }, { name: 'Boulogne-Billancourt' }] },\r\n { name: 'Provence-Alpes-Côte d\\'Azur', code: 'PAC', cities: [{ name: 'Marseille' }, { name: 'Nice' }, { name: 'Cannes' }] },\r\n { name: 'Auvergne-Rhône-Alpes', code: 'ARA', cities: [{ name: 'Lyon' }, { name: 'Grenoble' }] },\r\n { name: 'Nouvelle-Aquitaine', code: 'NAQ', cities: [{ name: 'Bordeaux' }] },\r\n { name: 'Occitanie', code: 'OCC', cities: [{ name: 'Toulouse' }, { name: 'Montpellier' }] },\r\n ],\r\n },\r\n {\r\n name: 'Germany',\r\n code: 'DE',\r\n code3: 'DEU',\r\n phoneCode: '+49',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Berlin',\r\n timezone: 'Europe/Berlin',\r\n states: [\r\n { name: 'Berlin', code: 'BE', cities: [{ name: 'Berlin' }] },\r\n { name: 'Bavaria', code: 'BY', cities: [{ name: 'Munich' }, { name: 'Nuremberg' }, { name: 'Augsburg' }] },\r\n { name: 'North Rhine-Westphalia', code: 'NW', cities: [{ name: 'Cologne' }, { name: 'Düsseldorf' }, { name: 'Dortmund' }, { name: 'Essen' }] },\r\n { name: 'Baden-Württemberg', code: 'BW', cities: [{ name: 'Stuttgart' }, { name: 'Mannheim' }, { name: 'Karlsruhe' }] },\r\n { name: 'Hesse', code: 'HE', cities: [{ name: 'Frankfurt' }, { name: 'Wiesbaden' }] },\r\n { name: 'Hamburg', code: 'HH', cities: [{ name: 'Hamburg' }] },\r\n { name: 'Saxony', code: 'SN', cities: [{ name: 'Dresden' }, { name: 'Leipzig' }] },\r\n ],\r\n },\r\n {\r\n name: 'Greece',\r\n code: 'GR',\r\n code3: 'GRC',\r\n phoneCode: '+30',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Athens',\r\n timezone: 'Europe/Athens',\r\n states: [\r\n { name: 'Attica', code: 'AT', cities: [{ name: 'Athens' }, { name: 'Piraeus' }] },\r\n { name: 'Central Macedonia', code: 'CM', cities: [{ name: 'Thessaloniki' }] },\r\n { name: 'Crete', code: 'CR', cities: [{ name: 'Heraklion' }, { name: 'Chania' }] },\r\n ],\r\n },\r\n {\r\n name: 'Hong Kong',\r\n code: 'HK',\r\n code3: 'HKG',\r\n phoneCode: '+852',\r\n currency: 'HKD',\r\n currencySymbol: '$',\r\n continent: 'Asia',\r\n capital: 'Hong Kong',\r\n timezone: 'Asia/Hong_Kong',\r\n states: [\r\n { name: 'Hong Kong Island', code: 'HKI', cities: [{ name: 'Central' }, { name: 'Wan Chai' }] },\r\n { name: 'Kowloon', code: 'KLN', cities: [{ name: 'Tsim Sha Tsui' }, { name: 'Mong Kok' }] },\r\n { name: 'New Territories', code: 'NT', cities: [{ name: 'Sha Tin' }, { name: 'Tsuen Wan' }] },\r\n ],\r\n },\r\n {\r\n name: 'India',\r\n code: 'IN',\r\n code3: 'IND',\r\n phoneCode: '+91',\r\n currency: 'INR',\r\n currencySymbol: '₹',\r\n continent: 'Asia',\r\n capital: 'New Delhi',\r\n timezone: 'Asia/Kolkata',\r\n states: [\r\n { name: 'Delhi', code: 'DL', cities: [{ name: 'New Delhi' }, { name: 'Delhi' }] },\r\n { name: 'Maharashtra', code: 'MH', cities: [{ name: 'Mumbai' }, { name: 'Pune' }, { name: 'Nagpur' }, { name: 'Nashik' }] },\r\n { name: 'Karnataka', code: 'KA', cities: [{ name: 'Bangalore' }, { name: 'Mysore' }, { name: 'Mangalore' }] },\r\n { name: 'Tamil Nadu', code: 'TN', cities: [{ name: 'Chennai' }, { name: 'Coimbatore' }, { name: 'Madurai' }] },\r\n { name: 'Telangana', code: 'TG', cities: [{ name: 'Hyderabad' }, { name: 'Warangal' }] },\r\n { name: 'West Bengal', code: 'WB', cities: [{ name: 'Kolkata' }, { name: 'Howrah' }] },\r\n { name: 'Gujarat', code: 'GJ', cities: [{ name: 'Ahmedabad' }, { name: 'Surat' }, { name: 'Vadodara' }] },\r\n { name: 'Rajasthan', code: 'RJ', cities: [{ name: 'Jaipur' }, { name: 'Jodhpur' }, { name: 'Udaipur' }] },\r\n { name: 'Uttar Pradesh', code: 'UP', cities: [{ name: 'Lucknow' }, { name: 'Kanpur' }, { name: 'Varanasi' }, { name: 'Agra' }, { name: 'Noida' }] },\r\n { name: 'Kerala', code: 'KL', cities: [{ name: 'Thiruvananthapuram' }, { name: 'Kochi' }, { name: 'Kozhikode' }] },\r\n { name: 'Punjab', code: 'PB', cities: [{ name: 'Chandigarh' }, { name: 'Ludhiana' }, { name: 'Amritsar' }] },\r\n { name: 'Haryana', code: 'HR', cities: [{ name: 'Gurugram' }, { name: 'Faridabad' }] },\r\n { name: 'Madhya Pradesh', code: 'MP', cities: [{ name: 'Bhopal' }, { name: 'Indore' }] },\r\n { name: 'Bihar', code: 'BR', cities: [{ name: 'Patna' }] },\r\n { name: 'Odisha', code: 'OR', cities: [{ name: 'Bhubaneswar' }] },\r\n { name: 'Goa', code: 'GA', cities: [{ name: 'Panaji' }, { name: 'Margao' }] },\r\n ],\r\n },\r\n {\r\n name: 'Indonesia',\r\n code: 'ID',\r\n code3: 'IDN',\r\n phoneCode: '+62',\r\n currency: 'IDR',\r\n currencySymbol: 'Rp',\r\n continent: 'Asia',\r\n capital: 'Jakarta',\r\n timezone: 'Asia/Jakarta',\r\n states: [\r\n { name: 'Jakarta', code: 'JK', cities: [{ name: 'Jakarta' }] },\r\n { name: 'West Java', code: 'JB', cities: [{ name: 'Bandung' }, { name: 'Bekasi' }] },\r\n { name: 'East Java', code: 'JI', cities: [{ name: 'Surabaya' }, { name: 'Malang' }] },\r\n { name: 'Bali', code: 'BA', cities: [{ name: 'Denpasar' }, { name: 'Ubud' }] },\r\n ],\r\n },\r\n {\r\n name: 'Ireland',\r\n code: 'IE',\r\n code3: 'IRL',\r\n phoneCode: '+353',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Dublin',\r\n timezone: 'Europe/Dublin',\r\n states: [\r\n { name: 'Leinster', code: 'L', cities: [{ name: 'Dublin' }] },\r\n { name: 'Munster', code: 'M', cities: [{ name: 'Cork' }, { name: 'Limerick' }] },\r\n { name: 'Connacht', code: 'C', cities: [{ name: 'Galway' }] },\r\n ],\r\n },\r\n {\r\n name: 'Israel',\r\n code: 'IL',\r\n code3: 'ISR',\r\n phoneCode: '+972',\r\n currency: 'ILS',\r\n currencySymbol: '₪',\r\n continent: 'Asia',\r\n capital: 'Jerusalem',\r\n timezone: 'Asia/Jerusalem',\r\n states: [\r\n { name: 'Tel Aviv', code: 'TA', cities: [{ name: 'Tel Aviv' }] },\r\n { name: 'Jerusalem', code: 'JM', cities: [{ name: 'Jerusalem' }] },\r\n { name: 'Haifa', code: 'HA', cities: [{ name: 'Haifa' }] },\r\n ],\r\n },\r\n {\r\n name: 'Italy',\r\n code: 'IT',\r\n code3: 'ITA',\r\n phoneCode: '+39',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Rome',\r\n timezone: 'Europe/Rome',\r\n states: [\r\n { name: 'Lazio', code: 'LAZ', cities: [{ name: 'Rome' }] },\r\n { name: 'Lombardy', code: 'LOM', cities: [{ name: 'Milan' }, { name: 'Bergamo' }] },\r\n { name: 'Veneto', code: 'VEN', cities: [{ name: 'Venice' }, { name: 'Verona' }, { name: 'Padua' }] },\r\n { name: 'Tuscany', code: 'TOS', cities: [{ name: 'Florence' }, { name: 'Pisa' }, { name: 'Siena' }] },\r\n { name: 'Campania', code: 'CAM', cities: [{ name: 'Naples' }] },\r\n { name: 'Sicily', code: 'SIC', cities: [{ name: 'Palermo' }, { name: 'Catania' }] },\r\n ],\r\n },\r\n {\r\n name: 'Japan',\r\n code: 'JP',\r\n code3: 'JPN',\r\n phoneCode: '+81',\r\n currency: 'JPY',\r\n currencySymbol: '¥',\r\n continent: 'Asia',\r\n capital: 'Tokyo',\r\n timezone: 'Asia/Tokyo',\r\n states: [\r\n { name: 'Tokyo', code: 'TK', cities: [{ name: 'Tokyo' }, { name: 'Shibuya' }, { name: 'Shinjuku' }] },\r\n { name: 'Osaka', code: 'OS', cities: [{ name: 'Osaka' }] },\r\n { name: 'Kyoto', code: 'KY', cities: [{ name: 'Kyoto' }] },\r\n { name: 'Kanagawa', code: 'KN', cities: [{ name: 'Yokohama' }, { name: 'Kawasaki' }] },\r\n { name: 'Aichi', code: 'AI', cities: [{ name: 'Nagoya' }] },\r\n { name: 'Hokkaido', code: 'HK', cities: [{ name: 'Sapporo' }] },\r\n { name: 'Fukuoka', code: 'FK', cities: [{ name: 'Fukuoka' }] },\r\n { name: 'Hiroshima', code: 'HS', cities: [{ name: 'Hiroshima' }] },\r\n ],\r\n },\r\n {\r\n name: 'Malaysia',\r\n code: 'MY',\r\n code3: 'MYS',\r\n phoneCode: '+60',\r\n currency: 'MYR',\r\n currencySymbol: 'RM',\r\n continent: 'Asia',\r\n capital: 'Kuala Lumpur',\r\n timezone: 'Asia/Kuala_Lumpur',\r\n states: [\r\n { name: 'Kuala Lumpur', code: 'KL', cities: [{ name: 'Kuala Lumpur' }] },\r\n { name: 'Selangor', code: 'SL', cities: [{ name: 'Shah Alam' }, { name: 'Petaling Jaya' }] },\r\n { name: 'Penang', code: 'PG', cities: [{ name: 'George Town' }] },\r\n { name: 'Johor', code: 'JH', cities: [{ name: 'Johor Bahru' }] },\r\n ],\r\n },\r\n {\r\n name: 'Mexico',\r\n code: 'MX',\r\n code3: 'MEX',\r\n phoneCode: '+52',\r\n currency: 'MXN',\r\n currencySymbol: '$',\r\n continent: 'North America',\r\n capital: 'Mexico City',\r\n timezone: 'America/Mexico_City',\r\n states: [\r\n { name: 'Mexico City', code: 'CMX', cities: [{ name: 'Mexico City' }] },\r\n { name: 'Jalisco', code: 'JAL', cities: [{ name: 'Guadalajara' }] },\r\n { name: 'Nuevo León', code: 'NLE', cities: [{ name: 'Monterrey' }] },\r\n { name: 'Quintana Roo', code: 'ROO', cities: [{ name: 'Cancún' }, { name: 'Playa del Carmen' }] },\r\n ],\r\n },\r\n {\r\n name: 'Netherlands',\r\n code: 'NL',\r\n code3: 'NLD',\r\n phoneCode: '+31',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Amsterdam',\r\n timezone: 'Europe/Amsterdam',\r\n states: [\r\n { name: 'North Holland', code: 'NH', cities: [{ name: 'Amsterdam' }, { name: 'Haarlem' }] },\r\n { name: 'South Holland', code: 'ZH', cities: [{ name: 'Rotterdam' }, { name: 'The Hague' }, { name: 'Leiden' }] },\r\n { name: 'Utrecht', code: 'UT', cities: [{ name: 'Utrecht' }] },\r\n { name: 'North Brabant', code: 'NB', cities: [{ name: 'Eindhoven' }, { name: 'Tilburg' }] },\r\n ],\r\n },\r\n {\r\n name: 'New Zealand',\r\n code: 'NZ',\r\n code3: 'NZL',\r\n phoneCode: '+64',\r\n currency: 'NZD',\r\n currencySymbol: '$',\r\n continent: 'Oceania',\r\n capital: 'Wellington',\r\n timezone: 'Pacific/Auckland',\r\n states: [\r\n { name: 'Auckland', code: 'AUK', cities: [{ name: 'Auckland' }] },\r\n { name: 'Wellington', code: 'WGN', cities: [{ name: 'Wellington' }] },\r\n { name: 'Canterbury', code: 'CAN', cities: [{ name: 'Christchurch' }] },\r\n { name: 'Otago', code: 'OTA', cities: [{ name: 'Dunedin' }, { name: 'Queenstown' }] },\r\n ],\r\n },\r\n {\r\n name: 'Nigeria',\r\n code: 'NG',\r\n code3: 'NGA',\r\n phoneCode: '+234',\r\n currency: 'NGN',\r\n currencySymbol: '₦',\r\n continent: 'Africa',\r\n capital: 'Abuja',\r\n timezone: 'Africa/Lagos',\r\n states: [\r\n { name: 'Lagos', code: 'LA', cities: [{ name: 'Lagos' }, { name: 'Ikeja' }] },\r\n { name: 'FCT', code: 'FC', cities: [{ name: 'Abuja' }] },\r\n { name: 'Kano', code: 'KN', cities: [{ name: 'Kano' }] },\r\n { name: 'Rivers', code: 'RI', cities: [{ name: 'Port Harcourt' }] },\r\n ],\r\n },\r\n {\r\n name: 'Norway',\r\n code: 'NO',\r\n code3: 'NOR',\r\n phoneCode: '+47',\r\n currency: 'NOK',\r\n currencySymbol: 'kr',\r\n continent: 'Europe',\r\n capital: 'Oslo',\r\n timezone: 'Europe/Oslo',\r\n states: [\r\n { name: 'Oslo', code: 'OSL', cities: [{ name: 'Oslo' }] },\r\n { name: 'Vestland', code: 'VES', cities: [{ name: 'Bergen' }] },\r\n { name: 'Trøndelag', code: 'TRO', cities: [{ name: 'Trondheim' }] },\r\n ],\r\n },\r\n {\r\n name: 'Pakistan',\r\n code: 'PK',\r\n code3: 'PAK',\r\n phoneCode: '+92',\r\n currency: 'PKR',\r\n currencySymbol: '₨',\r\n continent: 'Asia',\r\n capital: 'Islamabad',\r\n timezone: 'Asia/Karachi',\r\n states: [\r\n { name: 'Punjab', code: 'PB', cities: [{ name: 'Lahore' }, { name: 'Faisalabad' }, { name: 'Rawalpindi' }] },\r\n { name: 'Sindh', code: 'SD', cities: [{ name: 'Karachi' }, { name: 'Hyderabad' }] },\r\n { name: 'Islamabad', code: 'IS', cities: [{ name: 'Islamabad' }] },\r\n { name: 'Khyber Pakhtunkhwa', code: 'KP', cities: [{ name: 'Peshawar' }] },\r\n ],\r\n },\r\n {\r\n name: 'Philippines',\r\n code: 'PH',\r\n code3: 'PHL',\r\n phoneCode: '+63',\r\n currency: 'PHP',\r\n currencySymbol: '₱',\r\n continent: 'Asia',\r\n capital: 'Manila',\r\n timezone: 'Asia/Manila',\r\n states: [\r\n { name: 'Metro Manila', code: 'NCR', cities: [{ name: 'Manila' }, { name: 'Quezon City' }, { name: 'Makati' }] },\r\n { name: 'Cebu', code: 'CEB', cities: [{ name: 'Cebu City' }] },\r\n { name: 'Davao', code: 'DAV', cities: [{ name: 'Davao City' }] },\r\n ],\r\n },\r\n {\r\n name: 'Poland',\r\n code: 'PL',\r\n code3: 'POL',\r\n phoneCode: '+48',\r\n currency: 'PLN',\r\n currencySymbol: 'zł',\r\n continent: 'Europe',\r\n capital: 'Warsaw',\r\n timezone: 'Europe/Warsaw',\r\n states: [\r\n { name: 'Masovian', code: 'MZ', cities: [{ name: 'Warsaw' }] },\r\n { name: 'Lesser Poland', code: 'MA', cities: [{ name: 'Krakow' }] },\r\n { name: 'Greater Poland', code: 'WP', cities: [{ name: 'Poznań' }] },\r\n { name: 'Lower Silesian', code: 'DS', cities: [{ name: 'Wrocław' }] },\r\n ],\r\n },\r\n {\r\n name: 'Portugal',\r\n code: 'PT',\r\n code3: 'PRT',\r\n phoneCode: '+351',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Lisbon',\r\n timezone: 'Europe/Lisbon',\r\n states: [\r\n { name: 'Lisbon', code: 'LIS', cities: [{ name: 'Lisbon' }] },\r\n { name: 'Porto', code: 'POR', cities: [{ name: 'Porto' }] },\r\n { name: 'Faro', code: 'FAR', cities: [{ name: 'Faro' }] },\r\n ],\r\n },\r\n {\r\n name: 'Qatar',\r\n code: 'QA',\r\n code3: 'QAT',\r\n phoneCode: '+974',\r\n currency: 'QAR',\r\n currencySymbol: 'ر.ق',\r\n continent: 'Asia',\r\n capital: 'Doha',\r\n timezone: 'Asia/Qatar',\r\n states: [\r\n { name: 'Doha', code: 'DA', cities: [{ name: 'Doha' }] },\r\n { name: 'Al Wakrah', code: 'WA', cities: [{ name: 'Al Wakrah' }] },\r\n ],\r\n },\r\n {\r\n name: 'Russia',\r\n code: 'RU',\r\n code3: 'RUS',\r\n phoneCode: '+7',\r\n currency: 'RUB',\r\n currencySymbol: '₽',\r\n continent: 'Europe',\r\n capital: 'Moscow',\r\n timezone: 'Europe/Moscow',\r\n states: [\r\n { name: 'Moscow', code: 'MOW', cities: [{ name: 'Moscow' }] },\r\n { name: 'Saint Petersburg', code: 'SPE', cities: [{ name: 'Saint Petersburg' }] },\r\n { name: 'Novosibirsk Oblast', code: 'NVS', cities: [{ name: 'Novosibirsk' }] },\r\n { name: 'Sverdlovsk Oblast', code: 'SVE', cities: [{ name: 'Yekaterinburg' }] },\r\n ],\r\n },\r\n {\r\n name: 'Saudi Arabia',\r\n code: 'SA',\r\n code3: 'SAU',\r\n phoneCode: '+966',\r\n currency: 'SAR',\r\n currencySymbol: 'ر.س',\r\n continent: 'Asia',\r\n capital: 'Riyadh',\r\n timezone: 'Asia/Riyadh',\r\n states: [\r\n { name: 'Riyadh', code: 'RIY', cities: [{ name: 'Riyadh' }] },\r\n { name: 'Makkah', code: 'MKK', cities: [{ name: 'Jeddah' }, { name: 'Mecca' }] },\r\n { name: 'Eastern Province', code: 'ASH', cities: [{ name: 'Dammam' }, { name: 'Dhahran' }] },\r\n ],\r\n },\r\n {\r\n name: 'Singapore',\r\n code: 'SG',\r\n code3: 'SGP',\r\n phoneCode: '+65',\r\n currency: 'SGD',\r\n currencySymbol: '$',\r\n continent: 'Asia',\r\n capital: 'Singapore',\r\n timezone: 'Asia/Singapore',\r\n states: [\r\n { name: 'Central Region', code: 'CEN', cities: [{ name: 'Singapore' }] },\r\n ],\r\n },\r\n {\r\n name: 'South Africa',\r\n code: 'ZA',\r\n code3: 'ZAF',\r\n phoneCode: '+27',\r\n currency: 'ZAR',\r\n currencySymbol: 'R',\r\n continent: 'Africa',\r\n capital: 'Pretoria',\r\n timezone: 'Africa/Johannesburg',\r\n states: [\r\n { name: 'Gauteng', code: 'GP', cities: [{ name: 'Johannesburg' }, { name: 'Pretoria' }] },\r\n { name: 'Western Cape', code: 'WC', cities: [{ name: 'Cape Town' }] },\r\n { name: 'KwaZulu-Natal', code: 'KZN', cities: [{ name: 'Durban' }] },\r\n ],\r\n },\r\n {\r\n name: 'South Korea',\r\n code: 'KR',\r\n code3: 'KOR',\r\n phoneCode: '+82',\r\n currency: 'KRW',\r\n currencySymbol: '₩',\r\n continent: 'Asia',\r\n capital: 'Seoul',\r\n timezone: 'Asia/Seoul',\r\n states: [\r\n { name: 'Seoul', code: 'SEO', cities: [{ name: 'Seoul' }] },\r\n { name: 'Busan', code: 'BUS', cities: [{ name: 'Busan' }] },\r\n { name: 'Incheon', code: 'INC', cities: [{ name: 'Incheon' }] },\r\n { name: 'Gyeonggi', code: 'GGI', cities: [{ name: 'Suwon' }, { name: 'Seongnam' }] },\r\n ],\r\n },\r\n {\r\n name: 'Spain',\r\n code: 'ES',\r\n code3: 'ESP',\r\n phoneCode: '+34',\r\n currency: 'EUR',\r\n currencySymbol: '€',\r\n continent: 'Europe',\r\n capital: 'Madrid',\r\n timezone: 'Europe/Madrid',\r\n states: [\r\n { name: 'Madrid', code: 'MD', cities: [{ name: 'Madrid' }] },\r\n { name: 'Catalonia', code: 'CT', cities: [{ name: 'Barcelona' }] },\r\n { name: 'Andalusia', code: 'AN', cities: [{ name: 'Seville' }, { name: 'Malaga' }, { name: 'Granada' }] },\r\n { name: 'Valencia', code: 'VC', cities: [{ name: 'Valencia' }] },\r\n { name: 'Basque Country', code: 'PV', cities: [{ name: 'Bilbao' }, { name: 'San Sebastián' }] },\r\n ],\r\n },\r\n {\r\n name: 'Sri Lanka',\r\n code: 'LK',\r\n code3: 'LKA',\r\n phoneCode: '+94',\r\n currency: 'LKR',\r\n currencySymbol: '₨',\r\n continent: 'Asia',\r\n capital: 'Colombo',\r\n timezone: 'Asia/Colombo',\r\n states: [\r\n { name: 'Western', code: 'WP', cities: [{ name: 'Colombo' }] },\r\n { name: 'Central', code: 'CP', cities: [{ name: 'Kandy' }] },\r\n { name: 'Southern', code: 'SP', cities: [{ name: 'Galle' }] },\r\n ],\r\n },\r\n {\r\n name: 'Sweden',\r\n code: 'SE',\r\n code3: 'SWE',\r\n phoneCode: '+46',\r\n currency: 'SEK',\r\n currencySymbol: 'kr',\r\n continent: 'Europe',\r\n capital: 'Stockholm',\r\n timezone: 'Europe/Stockholm',\r\n states: [\r\n { name: 'Stockholm', code: 'AB', cities: [{ name: 'Stockholm' }] },\r\n { name: 'Västra Götaland', code: 'VG', cities: [{ name: 'Gothenburg' }] },\r\n { name: 'Skåne', code: 'SK', cities: [{ name: 'Malmö' }] },\r\n ],\r\n },\r\n {\r\n name: 'Switzerland',\r\n code: 'CH',\r\n code3: 'CHE',\r\n phoneCode: '+41',\r\n currency: 'CHF',\r\n currencySymbol: 'CHF',\r\n continent: 'Europe',\r\n capital: 'Bern',\r\n timezone: 'Europe/Zurich',\r\n states: [\r\n { name: 'Zürich', code: 'ZH', cities: [{ name: 'Zürich' }] },\r\n { name: 'Geneva', code: 'GE', cities: [{ name: 'Geneva' }] },\r\n { name: 'Bern', code: 'BE', cities: [{ name: 'Bern' }] },\r\n { name: 'Basel-Stadt', code: 'BS', cities: [{ name: 'Basel' }] },\r\n ],\r\n },\r\n {\r\n name: 'Taiwan',\r\n code: 'TW',\r\n code3: 'TWN',\r\n phoneCode: '+886',\r\n currency: 'TWD',\r\n currencySymbol: 'NT$',\r\n continent: 'Asia',\r\n capital: 'Taipei',\r\n timezone: 'Asia/Taipei',\r\n states: [\r\n { name: 'Taipei', code: 'TPE', cities: [{ name: 'Taipei' }, { name: 'New Taipei' }] },\r\n { name: 'Taichung', code: 'TXG', cities: [{ name: 'Taichung' }] },\r\n { name: 'Kaohsiung', code: 'KHH', cities: [{ name: 'Kaohsiung' }] },\r\n ],\r\n },\r\n {\r\n name: 'Thailand',\r\n code: 'TH',\r\n code3: 'THA',\r\n phoneCode: '+66',\r\n currency: 'THB',\r\n currencySymbol: '฿',\r\n continent: 'Asia',\r\n capital: 'Bangkok',\r\n timezone: 'Asia/Bangkok',\r\n states: [\r\n { name: 'Bangkok', code: 'BKK', cities: [{ name: 'Bangkok' }] },\r\n { name: 'Chiang Mai', code: 'CNX', cities: [{ name: 'Chiang Mai' }] },\r\n { name: 'Phuket', code: 'PKT', cities: [{ name: 'Phuket' }] },\r\n { name: 'Chonburi', code: 'CBI', cities: [{ name: 'Pattaya' }] },\r\n ],\r\n },\r\n {\r\n name: 'Turkey',\r\n code: 'TR',\r\n code3: 'TUR',\r\n phoneCode: '+90',\r\n currency: 'TRY',\r\n currencySymbol: '₺',\r\n continent: 'Asia',\r\n capital: 'Ankara',\r\n timezone: 'Europe/Istanbul',\r\n states: [\r\n { name: 'Istanbul', code: 'IST', cities: [{ name: 'Istanbul' }] },\r\n { name: 'Ankara', code: 'ANK', cities: [{ name: 'Ankara' }] },\r\n { name: 'Izmir', code: 'IZM', cities: [{ name: 'Izmir' }] },\r\n { name: 'Antalya', code: 'ANT', cities: [{ name: 'Antalya' }] },\r\n ],\r\n },\r\n {\r\n name: 'Ukraine',\r\n code: 'UA',\r\n code3: 'UKR',\r\n phoneCode: '+380',\r\n currency: 'UAH',\r\n currencySymbol: '₴',\r\n continent: 'Europe',\r\n capital: 'Kyiv',\r\n timezone: 'Europe/Kyiv',\r\n states: [\r\n { name: 'Kyiv', code: 'KY', cities: [{ name: 'Kyiv' }] },\r\n { name: 'Kharkiv', code: 'KH', cities: [{ name: 'Kharkiv' }] },\r\n { name: 'Odessa', code: 'OD', cities: [{ name: 'Odessa' }] },\r\n { name: 'Lviv', code: 'LV', cities: [{ name: 'Lviv' }] },\r\n ],\r\n },\r\n {\r\n name: 'United Arab Emirates',\r\n code: 'AE',\r\n code3: 'ARE',\r\n phoneCode: '+971',\r\n currency: 'AED',\r\n currencySymbol: 'د.إ',\r\n continent: 'Asia',\r\n capital: 'Abu Dhabi',\r\n timezone: 'Asia/Dubai',\r\n states: [\r\n { name: 'Dubai', code: 'DU', cities: [{ name: 'Dubai' }] },\r\n { name: 'Abu Dhabi', code: 'AZ', cities: [{ name: 'Abu Dhabi' }] },\r\n { name: 'Sharjah', code: 'SH', cities: [{ name: 'Sharjah' }] },\r\n { name: 'Ajman', code: 'AJ', cities: [{ name: 'Ajman' }] },\r\n ],\r\n },\r\n {\r\n name: 'United Kingdom',\r\n code: 'GB',\r\n code3: 'GBR',\r\n phoneCode: '+44',\r\n currency: 'GBP',\r\n currencySymbol: '£',\r\n continent: 'Europe',\r\n capital: 'London',\r\n timezone: 'Europe/London',\r\n states: [\r\n { name: 'England', code: 'ENG', cities: [{ name: 'London' }, { name: 'Manchester' }, { name: 'Birmingham' }, { name: 'Liverpool' }, { name: 'Leeds' }, { name: 'Bristol' }] },\r\n { name: 'Scotland', code: 'SCT', cities: [{ name: 'Edinburgh' }, { name: 'Glasgow' }] },\r\n { name: 'Wales', code: 'WLS', cities: [{ name: 'Cardiff' }, { name: 'Swansea' }] },\r\n { name: 'Northern Ireland', code: 'NIR', cities: [{ name: 'Belfast' }] },\r\n ],\r\n },\r\n {\r\n name: 'United States',\r\n code: 'US',\r\n code3: 'USA',\r\n phoneCode: '+1',\r\n currency: 'USD',\r\n currencySymbol: '$',\r\n continent: 'North America',\r\n capital: 'Washington, D.C.',\r\n timezone: 'America/New_York',\r\n states: [\r\n { name: 'California', code: 'CA', cities: [{ name: 'Los Angeles' }, { name: 'San Francisco' }, { name: 'San Diego' }, { name: 'San Jose' }, { name: 'Sacramento' }] },\r\n { name: 'New York', code: 'NY', cities: [{ name: 'New York City' }, { name: 'Buffalo' }, { name: 'Albany' }] },\r\n { name: 'Texas', code: 'TX', cities: [{ name: 'Houston' }, { name: 'Dallas' }, { name: 'Austin' }, { name: 'San Antonio' }] },\r\n { name: 'Florida', code: 'FL', cities: [{ name: 'Miami' }, { name: 'Orlando' }, { name: 'Tampa' }, { name: 'Jacksonville' }] },\r\n { name: 'Illinois', code: 'IL', cities: [{ name: 'Chicago' }] },\r\n { name: 'Pennsylvania', code: 'PA', cities: [{ name: 'Philadelphia' }, { name: 'Pittsburgh' }] },\r\n { name: 'Ohio', code: 'OH', cities: [{ name: 'Columbus' }, { name: 'Cleveland' }, { name: 'Cincinnati' }] },\r\n { name: 'Georgia', code: 'GA', cities: [{ name: 'Atlanta' }] },\r\n { name: 'North Carolina', code: 'NC', cities: [{ name: 'Charlotte' }, { name: 'Raleigh' }] },\r\n { name: 'Michigan', code: 'MI', cities: [{ name: 'Detroit' }] },\r\n { name: 'Washington', code: 'WA', cities: [{ name: 'Seattle' }] },\r\n { name: 'Arizona', code: 'AZ', cities: [{ name: 'Phoenix' }, { name: 'Tucson' }] },\r\n { name: 'Massachusetts', code: 'MA', cities: [{ name: 'Boston' }, { name: 'Cambridge' }] },\r\n { name: 'Colorado', code: 'CO', cities: [{ name: 'Denver' }, { name: 'Colorado Springs' }] },\r\n { name: 'Nevada', code: 'NV', cities: [{ name: 'Las Vegas' }, { name: 'Reno' }] },\r\n { name: 'Oregon', code: 'OR', cities: [{ name: 'Portland' }] },\r\n { name: 'District of Columbia', code: 'DC', cities: [{ name: 'Washington' }] },\r\n ],\r\n },\r\n {\r\n name: 'Vietnam',\r\n code: 'VN',\r\n code3: 'VNM',\r\n phoneCode: '+84',\r\n currency: 'VND',\r\n currencySymbol: '₫',\r\n continent: 'Asia',\r\n capital: 'Hanoi',\r\n timezone: 'Asia/Ho_Chi_Minh',\r\n states: [\r\n { name: 'Ho Chi Minh City', code: 'HCM', cities: [{ name: 'Ho Chi Minh City' }] },\r\n { name: 'Hanoi', code: 'HAN', cities: [{ name: 'Hanoi' }] },\r\n { name: 'Da Nang', code: 'DAN', cities: [{ name: 'Da Nang' }] },\r\n ],\r\n },\r\n];\r\n\r\n/**\r\n * Country with flag guaranteed (auto-generated from code if not set)\r\n */\r\nexport interface CountryWithFlag extends Omit<Country, 'flag'> {\r\n flag: string;\r\n}\r\n\r\n// Helper functions\r\nexport const getCountryByCode = (code: string): Country | undefined => {\r\n return countries.find((c) => c.code === code || c.code3 === code);\r\n};\r\n\r\nexport const getCountryByName = (name: string): Country | undefined => {\r\n return countries.find((c) => c.name.toLowerCase() === name.toLowerCase());\r\n};\r\n\r\nexport const getStatesByCountry = (countryCode: string): State[] => {\r\n const country = getCountryByCode(countryCode);\r\n return country?.states || [];\r\n};\r\n\r\nexport const getCitiesByState = (countryCode: string, stateCode: string): City[] => {\r\n const states = getStatesByCountry(countryCode);\r\n const state = states.find((s) => s.code === stateCode);\r\n return state?.cities || [];\r\n};\r\n\r\nexport const getAllCities = (countryCode: string): City[] => {\r\n const states = getStatesByCountry(countryCode);\r\n return states.flatMap((s) => s.cities);\r\n};\r\n\r\nexport const getCountriesByContinent = (continent: string): Country[] => {\r\n return countries.filter((c) => c.continent.toLowerCase() === continent.toLowerCase());\r\n};\r\n\r\nexport const searchCountries = (query: string): Country[] => {\r\n const lowerQuery = query.toLowerCase();\r\n return countries.filter(\r\n (c) =>\r\n c.name.toLowerCase().includes(lowerQuery) ||\r\n c.code.toLowerCase() === lowerQuery ||\r\n c.code3.toLowerCase() === lowerQuery\r\n );\r\n};\r\n\r\n/**\r\n * Get flag emoji for a country code\r\n * @param countryCode - ISO 3166-1 alpha-2 country code\r\n * @returns Emoji flag or the flag from country data\r\n */\r\nexport const getFlag = (countryCode: string): string => {\r\n const country = getCountryByCode(countryCode);\r\n return country?.flag || codeToFlag(countryCode);\r\n};\r\n\r\n/**\r\n * Get country with auto-generated flag if not set\r\n */\r\nexport const getCountryWithFlag = (code: string): CountryWithFlag | undefined => {\r\n const country = getCountryByCode(code);\r\n if (!country) return undefined;\r\n return { ...country, flag: country.flag || codeToFlag(country.code) };\r\n};\r\n\r\n/**\r\n * Get all countries with flags (auto-generate if missing)\r\n */\r\nexport const getAllCountriesWithFlags = (): CountryWithFlag[] => {\r\n return countries.map((c) => ({\r\n ...c,\r\n flag: c.flag || codeToFlag(c.code),\r\n }));\r\n};\r\n\r\nexport default countries;\r\n"]}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Currency data with symbols and formatting
3
+ */
4
+ interface Currency {
5
+ code: string;
6
+ name: string;
7
+ symbol: string;
8
+ symbolNative: string;
9
+ decimalDigits: number;
10
+ rounding: number;
11
+ namePlural: string;
12
+ }
13
+ declare const currencies: Currency[];
14
+ declare const getCurrencyByCode: (code: string) => Currency | undefined;
15
+ declare const searchCurrencies: (query: string) => Currency[];
16
+ declare const formatCurrency: (amount: number, currencyCode: string, locale?: string) => string;
17
+ declare const formatCurrencyNative: (amount: number, currencyCode: string) => string;
18
+
19
+ export { type Currency, currencies, currencies as default, formatCurrency, formatCurrencyNative, getCurrencyByCode, searchCurrencies };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Currency data with symbols and formatting
3
+ */
4
+ interface Currency {
5
+ code: string;
6
+ name: string;
7
+ symbol: string;
8
+ symbolNative: string;
9
+ decimalDigits: number;
10
+ rounding: number;
11
+ namePlural: string;
12
+ }
13
+ declare const currencies: Currency[];
14
+ declare const getCurrencyByCode: (code: string) => Currency | undefined;
15
+ declare const searchCurrencies: (query: string) => Currency[];
16
+ declare const formatCurrency: (amount: number, currencyCode: string, locale?: string) => string;
17
+ declare const formatCurrencyNative: (amount: number, currencyCode: string) => string;
18
+
19
+ export { type Currency, currencies, currencies as default, formatCurrency, formatCurrencyNative, getCurrencyByCode, searchCurrencies };
@@ -0,0 +1,162 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ // src/data/currencies.ts
6
+ var currencies = [
7
+ { code: "AED", name: "UAE Dirham", symbol: "AED", symbolNative: "\u062F.\u0625", decimalDigits: 2, rounding: 0, namePlural: "UAE dirhams" },
8
+ { code: "AFN", name: "Afghan Afghani", symbol: "Af", symbolNative: "\u060B", decimalDigits: 0, rounding: 0, namePlural: "Afghan Afghanis" },
9
+ { code: "ALL", name: "Albanian Lek", symbol: "ALL", symbolNative: "Lek", decimalDigits: 0, rounding: 0, namePlural: "Albanian lek\xEB" },
10
+ { code: "AMD", name: "Armenian Dram", symbol: "AMD", symbolNative: "\u0564\u0580.", decimalDigits: 0, rounding: 0, namePlural: "Armenian drams" },
11
+ { code: "ARS", name: "Argentine Peso", symbol: "AR$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Argentine pesos" },
12
+ { code: "AUD", name: "Australian Dollar", symbol: "AU$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Australian dollars" },
13
+ { code: "AZN", name: "Azerbaijani Manat", symbol: "man.", symbolNative: "\u043C\u0430\u043D.", decimalDigits: 2, rounding: 0, namePlural: "Azerbaijani manats" },
14
+ { code: "BAM", name: "Bosnia-Herzegovina Convertible Mark", symbol: "KM", symbolNative: "KM", decimalDigits: 2, rounding: 0, namePlural: "Bosnia-Herzegovina convertible marks" },
15
+ { code: "BDT", name: "Bangladeshi Taka", symbol: "Tk", symbolNative: "\u09F3", decimalDigits: 2, rounding: 0, namePlural: "Bangladeshi takas" },
16
+ { code: "BGN", name: "Bulgarian Lev", symbol: "BGN", symbolNative: "\u043B\u0432.", decimalDigits: 2, rounding: 0, namePlural: "Bulgarian leva" },
17
+ { code: "BHD", name: "Bahraini Dinar", symbol: "BD", symbolNative: "\u062F.\u0628.", decimalDigits: 3, rounding: 0, namePlural: "Bahraini dinars" },
18
+ { code: "BIF", name: "Burundian Franc", symbol: "FBu", symbolNative: "FBu", decimalDigits: 0, rounding: 0, namePlural: "Burundian francs" },
19
+ { code: "BND", name: "Brunei Dollar", symbol: "BN$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Brunei dollars" },
20
+ { code: "BOB", name: "Bolivian Boliviano", symbol: "Bs", symbolNative: "Bs", decimalDigits: 2, rounding: 0, namePlural: "Bolivian bolivianos" },
21
+ { code: "BRL", name: "Brazilian Real", symbol: "R$", symbolNative: "R$", decimalDigits: 2, rounding: 0, namePlural: "Brazilian reals" },
22
+ { code: "BWP", name: "Botswanan Pula", symbol: "BWP", symbolNative: "P", decimalDigits: 2, rounding: 0, namePlural: "Botswanan pulas" },
23
+ { code: "BYN", name: "Belarusian Ruble", symbol: "Br", symbolNative: "\u0440\u0443\u0431.", decimalDigits: 2, rounding: 0, namePlural: "Belarusian rubles" },
24
+ { code: "BZD", name: "Belize Dollar", symbol: "BZ$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Belize dollars" },
25
+ { code: "CAD", name: "Canadian Dollar", symbol: "CA$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Canadian dollars" },
26
+ { code: "CDF", name: "Congolese Franc", symbol: "CDF", symbolNative: "FrCD", decimalDigits: 2, rounding: 0, namePlural: "Congolese francs" },
27
+ { code: "CHF", name: "Swiss Franc", symbol: "CHF", symbolNative: "CHF", decimalDigits: 2, rounding: 0.05, namePlural: "Swiss francs" },
28
+ { code: "CLP", name: "Chilean Peso", symbol: "CL$", symbolNative: "$", decimalDigits: 0, rounding: 0, namePlural: "Chilean pesos" },
29
+ { code: "CNY", name: "Chinese Yuan", symbol: "CN\xA5", symbolNative: "\xA5", decimalDigits: 2, rounding: 0, namePlural: "Chinese yuan" },
30
+ { code: "COP", name: "Colombian Peso", symbol: "CO$", symbolNative: "$", decimalDigits: 0, rounding: 0, namePlural: "Colombian pesos" },
31
+ { code: "CRC", name: "Costa Rican Col\xF3n", symbol: "\u20A1", symbolNative: "\u20A1", decimalDigits: 0, rounding: 0, namePlural: "Costa Rican col\xF3ns" },
32
+ { code: "CZK", name: "Czech Koruna", symbol: "K\u010D", symbolNative: "K\u010D", decimalDigits: 2, rounding: 0, namePlural: "Czech korunas" },
33
+ { code: "DKK", name: "Danish Krone", symbol: "Dkr", symbolNative: "kr", decimalDigits: 2, rounding: 0, namePlural: "Danish kroner" },
34
+ { code: "DOP", name: "Dominican Peso", symbol: "RD$", symbolNative: "RD$", decimalDigits: 2, rounding: 0, namePlural: "Dominican pesos" },
35
+ { code: "DZD", name: "Algerian Dinar", symbol: "DA", symbolNative: "\u062F.\u062C.", decimalDigits: 2, rounding: 0, namePlural: "Algerian dinars" },
36
+ { code: "EGP", name: "Egyptian Pound", symbol: "EGP", symbolNative: "\u062C.\u0645.", decimalDigits: 2, rounding: 0, namePlural: "Egyptian pounds" },
37
+ { code: "ETB", name: "Ethiopian Birr", symbol: "Br", symbolNative: "Br", decimalDigits: 2, rounding: 0, namePlural: "Ethiopian birrs" },
38
+ { code: "EUR", name: "Euro", symbol: "\u20AC", symbolNative: "\u20AC", decimalDigits: 2, rounding: 0, namePlural: "euros" },
39
+ { code: "GBP", name: "British Pound", symbol: "\xA3", symbolNative: "\xA3", decimalDigits: 2, rounding: 0, namePlural: "British pounds" },
40
+ { code: "GEL", name: "Georgian Lari", symbol: "GEL", symbolNative: "GEL", decimalDigits: 2, rounding: 0, namePlural: "Georgian laris" },
41
+ { code: "GHS", name: "Ghanaian Cedi", symbol: "GH\u20B5", symbolNative: "GH\u20B5", decimalDigits: 2, rounding: 0, namePlural: "Ghanaian cedis" },
42
+ { code: "GNF", name: "Guinean Franc", symbol: "FG", symbolNative: "FG", decimalDigits: 0, rounding: 0, namePlural: "Guinean francs" },
43
+ { code: "GTQ", name: "Guatemalan Quetzal", symbol: "GTQ", symbolNative: "Q", decimalDigits: 2, rounding: 0, namePlural: "Guatemalan quetzals" },
44
+ { code: "HKD", name: "Hong Kong Dollar", symbol: "HK$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Hong Kong dollars" },
45
+ { code: "HNL", name: "Honduran Lempira", symbol: "HNL", symbolNative: "L", decimalDigits: 2, rounding: 0, namePlural: "Honduran lempiras" },
46
+ { code: "HRK", name: "Croatian Kuna", symbol: "kn", symbolNative: "kn", decimalDigits: 2, rounding: 0, namePlural: "Croatian kunas" },
47
+ { code: "HUF", name: "Hungarian Forint", symbol: "Ft", symbolNative: "Ft", decimalDigits: 0, rounding: 0, namePlural: "Hungarian forints" },
48
+ { code: "IDR", name: "Indonesian Rupiah", symbol: "Rp", symbolNative: "Rp", decimalDigits: 0, rounding: 0, namePlural: "Indonesian rupiahs" },
49
+ { code: "ILS", name: "Israeli New Shekel", symbol: "\u20AA", symbolNative: "\u20AA", decimalDigits: 2, rounding: 0, namePlural: "Israeli new shekels" },
50
+ { code: "INR", name: "Indian Rupee", symbol: "\u20B9", symbolNative: "\u20B9", decimalDigits: 2, rounding: 0, namePlural: "Indian rupees" },
51
+ { code: "IQD", name: "Iraqi Dinar", symbol: "IQD", symbolNative: "\u062F.\u0639.", decimalDigits: 0, rounding: 0, namePlural: "Iraqi dinars" },
52
+ { code: "IRR", name: "Iranian Rial", symbol: "IRR", symbolNative: "\uFDFC", decimalDigits: 0, rounding: 0, namePlural: "Iranian rials" },
53
+ { code: "ISK", name: "Icelandic Kr\xF3na", symbol: "Ikr", symbolNative: "kr", decimalDigits: 0, rounding: 0, namePlural: "Icelandic kr\xF3nur" },
54
+ { code: "JMD", name: "Jamaican Dollar", symbol: "J$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Jamaican dollars" },
55
+ { code: "JOD", name: "Jordanian Dinar", symbol: "JD", symbolNative: "\u062F.\u0623.", decimalDigits: 3, rounding: 0, namePlural: "Jordanian dinars" },
56
+ { code: "JPY", name: "Japanese Yen", symbol: "\xA5", symbolNative: "\uFFE5", decimalDigits: 0, rounding: 0, namePlural: "Japanese yen" },
57
+ { code: "KES", name: "Kenyan Shilling", symbol: "Ksh", symbolNative: "Ksh", decimalDigits: 2, rounding: 0, namePlural: "Kenyan shillings" },
58
+ { code: "KHR", name: "Cambodian Riel", symbol: "KHR", symbolNative: "\u17DB", decimalDigits: 2, rounding: 0, namePlural: "Cambodian riels" },
59
+ { code: "KRW", name: "South Korean Won", symbol: "\u20A9", symbolNative: "\u20A9", decimalDigits: 0, rounding: 0, namePlural: "South Korean won" },
60
+ { code: "KWD", name: "Kuwaiti Dinar", symbol: "KD", symbolNative: "\u062F.\u0643.", decimalDigits: 3, rounding: 0, namePlural: "Kuwaiti dinars" },
61
+ { code: "KZT", name: "Kazakhstani Tenge", symbol: "KZT", symbolNative: "\u0442\u04A3\u0433.", decimalDigits: 2, rounding: 0, namePlural: "Kazakhstani tenges" },
62
+ { code: "LAK", name: "Lao Kip", symbol: "\u20AD", symbolNative: "\u20AD", decimalDigits: 0, rounding: 0, namePlural: "Lao kip" },
63
+ { code: "LBP", name: "Lebanese Pound", symbol: "LB\xA3", symbolNative: "\u0644.\u0644.", decimalDigits: 0, rounding: 0, namePlural: "Lebanese pounds" },
64
+ { code: "LKR", name: "Sri Lankan Rupee", symbol: "SLRs", symbolNative: "\u0DBB\u0DD4", decimalDigits: 2, rounding: 0, namePlural: "Sri Lankan rupees" },
65
+ { code: "LYD", name: "Libyan Dinar", symbol: "LD", symbolNative: "\u062F.\u0644.", decimalDigits: 3, rounding: 0, namePlural: "Libyan dinars" },
66
+ { code: "MAD", name: "Moroccan Dirham", symbol: "MAD", symbolNative: "\u062F.\u0645.", decimalDigits: 2, rounding: 0, namePlural: "Moroccan dirhams" },
67
+ { code: "MDL", name: "Moldovan Leu", symbol: "MDL", symbolNative: "MDL", decimalDigits: 2, rounding: 0, namePlural: "Moldovan lei" },
68
+ { code: "MGA", name: "Malagasy Ariary", symbol: "MGA", symbolNative: "MGA", decimalDigits: 0, rounding: 0, namePlural: "Malagasy ariaries" },
69
+ { code: "MKD", name: "Macedonian Denar", symbol: "MKD", symbolNative: "MKD", decimalDigits: 2, rounding: 0, namePlural: "Macedonian denari" },
70
+ { code: "MMK", name: "Myanmar Kyat", symbol: "MMK", symbolNative: "K", decimalDigits: 0, rounding: 0, namePlural: "Myanmar kyats" },
71
+ { code: "MNT", name: "Mongolian Tugrik", symbol: "\u20AE", symbolNative: "\u20AE", decimalDigits: 0, rounding: 0, namePlural: "Mongolian tugriks" },
72
+ { code: "MOP", name: "Macanese Pataca", symbol: "MOP$", symbolNative: "MOP$", decimalDigits: 2, rounding: 0, namePlural: "Macanese patacas" },
73
+ { code: "MUR", name: "Mauritian Rupee", symbol: "MURs", symbolNative: "MURs", decimalDigits: 0, rounding: 0, namePlural: "Mauritian rupees" },
74
+ { code: "MXN", name: "Mexican Peso", symbol: "MX$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Mexican pesos" },
75
+ { code: "MYR", name: "Malaysian Ringgit", symbol: "RM", symbolNative: "RM", decimalDigits: 2, rounding: 0, namePlural: "Malaysian ringgits" },
76
+ { code: "MZN", name: "Mozambican Metical", symbol: "MTn", symbolNative: "MTn", decimalDigits: 2, rounding: 0, namePlural: "Mozambican meticals" },
77
+ { code: "NAD", name: "Namibian Dollar", symbol: "N$", symbolNative: "N$", decimalDigits: 2, rounding: 0, namePlural: "Namibian dollars" },
78
+ { code: "NGN", name: "Nigerian Naira", symbol: "\u20A6", symbolNative: "\u20A6", decimalDigits: 2, rounding: 0, namePlural: "Nigerian nairas" },
79
+ { code: "NIO", name: "Nicaraguan C\xF3rdoba", symbol: "C$", symbolNative: "C$", decimalDigits: 2, rounding: 0, namePlural: "Nicaraguan c\xF3rdobas" },
80
+ { code: "NOK", name: "Norwegian Krone", symbol: "Nkr", symbolNative: "kr", decimalDigits: 2, rounding: 0, namePlural: "Norwegian kroner" },
81
+ { code: "NPR", name: "Nepalese Rupee", symbol: "NPRs", symbolNative: "\u0928\u0947\u0930\u0942", decimalDigits: 2, rounding: 0, namePlural: "Nepalese rupees" },
82
+ { code: "NZD", name: "New Zealand Dollar", symbol: "NZ$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "New Zealand dollars" },
83
+ { code: "OMR", name: "Omani Rial", symbol: "OMR", symbolNative: "\u0631.\u0639.", decimalDigits: 3, rounding: 0, namePlural: "Omani rials" },
84
+ { code: "PAB", name: "Panamanian Balboa", symbol: "B/.", symbolNative: "B/.", decimalDigits: 2, rounding: 0, namePlural: "Panamanian balboas" },
85
+ { code: "PEN", name: "Peruvian Sol", symbol: "S/", symbolNative: "S/", decimalDigits: 2, rounding: 0, namePlural: "Peruvian soles" },
86
+ { code: "PHP", name: "Philippine Peso", symbol: "\u20B1", symbolNative: "\u20B1", decimalDigits: 2, rounding: 0, namePlural: "Philippine pesos" },
87
+ { code: "PKR", name: "Pakistani Rupee", symbol: "PKRs", symbolNative: "\u20A8", decimalDigits: 0, rounding: 0, namePlural: "Pakistani rupees" },
88
+ { code: "PLN", name: "Polish Zloty", symbol: "z\u0142", symbolNative: "z\u0142", decimalDigits: 2, rounding: 0, namePlural: "Polish zlotys" },
89
+ { code: "PYG", name: "Paraguayan Guarani", symbol: "\u20B2", symbolNative: "\u20B2", decimalDigits: 0, rounding: 0, namePlural: "Paraguayan guaranis" },
90
+ { code: "QAR", name: "Qatari Rial", symbol: "QR", symbolNative: "\u0631.\u0642.", decimalDigits: 2, rounding: 0, namePlural: "Qatari rials" },
91
+ { code: "RON", name: "Romanian Leu", symbol: "RON", symbolNative: "RON", decimalDigits: 2, rounding: 0, namePlural: "Romanian lei" },
92
+ { code: "RSD", name: "Serbian Dinar", symbol: "din.", symbolNative: "\u0434\u0438\u043D.", decimalDigits: 0, rounding: 0, namePlural: "Serbian dinars" },
93
+ { code: "RUB", name: "Russian Ruble", symbol: "RUB", symbolNative: "\u20BD", decimalDigits: 2, rounding: 0, namePlural: "Russian rubles" },
94
+ { code: "RWF", name: "Rwandan Franc", symbol: "RWF", symbolNative: "FR", decimalDigits: 0, rounding: 0, namePlural: "Rwandan francs" },
95
+ { code: "SAR", name: "Saudi Riyal", symbol: "SR", symbolNative: "\u0631.\u0633.", decimalDigits: 2, rounding: 0, namePlural: "Saudi riyals" },
96
+ { code: "SEK", name: "Swedish Krona", symbol: "Skr", symbolNative: "kr", decimalDigits: 2, rounding: 0, namePlural: "Swedish kronor" },
97
+ { code: "SGD", name: "Singapore Dollar", symbol: "S$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Singapore dollars" },
98
+ { code: "SOS", name: "Somali Shilling", symbol: "Ssh", symbolNative: "Ssh", decimalDigits: 0, rounding: 0, namePlural: "Somali shillings" },
99
+ { code: "SYP", name: "Syrian Pound", symbol: "SY\xA3", symbolNative: "\u0644.\u0633.", decimalDigits: 0, rounding: 0, namePlural: "Syrian pounds" },
100
+ { code: "THB", name: "Thai Baht", symbol: "\u0E3F", symbolNative: "\u0E3F", decimalDigits: 2, rounding: 0, namePlural: "Thai baht" },
101
+ { code: "TND", name: "Tunisian Dinar", symbol: "DT", symbolNative: "\u062F.\u062A.", decimalDigits: 3, rounding: 0, namePlural: "Tunisian dinars" },
102
+ { code: "TOP", name: "Tongan Pa'anga", symbol: "T$", symbolNative: "T$", decimalDigits: 2, rounding: 0, namePlural: "Tongan pa'anga" },
103
+ { code: "TRY", name: "Turkish Lira", symbol: "TL", symbolNative: "\u20BA", decimalDigits: 2, rounding: 0, namePlural: "Turkish liras" },
104
+ { code: "TTD", name: "Trinidad & Tobago Dollar", symbol: "TT$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Trinidad & Tobago dollars" },
105
+ { code: "TWD", name: "New Taiwan Dollar", symbol: "NT$", symbolNative: "NT$", decimalDigits: 2, rounding: 0, namePlural: "New Taiwan dollars" },
106
+ { code: "TZS", name: "Tanzanian Shilling", symbol: "TSh", symbolNative: "TSh", decimalDigits: 0, rounding: 0, namePlural: "Tanzanian shillings" },
107
+ { code: "UAH", name: "Ukrainian Hryvnia", symbol: "\u20B4", symbolNative: "\u20B4", decimalDigits: 2, rounding: 0, namePlural: "Ukrainian hryvnias" },
108
+ { code: "UGX", name: "Ugandan Shilling", symbol: "USh", symbolNative: "USh", decimalDigits: 0, rounding: 0, namePlural: "Ugandan shillings" },
109
+ { code: "USD", name: "US Dollar", symbol: "$", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "US dollars" },
110
+ { code: "UYU", name: "Uruguayan Peso", symbol: "$U", symbolNative: "$", decimalDigits: 2, rounding: 0, namePlural: "Uruguayan pesos" },
111
+ { code: "UZS", name: "Uzbekistani Som", symbol: "UZS", symbolNative: "UZS", decimalDigits: 0, rounding: 0, namePlural: "Uzbekistani som" },
112
+ { code: "VES", name: "Venezuelan Bol\xEDvar", symbol: "Bs", symbolNative: "Bs", decimalDigits: 2, rounding: 0, namePlural: "Venezuelan bol\xEDvars" },
113
+ { code: "VND", name: "Vietnamese Dong", symbol: "\u20AB", symbolNative: "\u20AB", decimalDigits: 0, rounding: 0, namePlural: "Vietnamese dong" },
114
+ { code: "XAF", name: "Central African CFA Franc", symbol: "FCFA", symbolNative: "FCFA", decimalDigits: 0, rounding: 0, namePlural: "Central African CFA francs" },
115
+ { code: "XOF", name: "West African CFA Franc", symbol: "CFA", symbolNative: "CFA", decimalDigits: 0, rounding: 0, namePlural: "West African CFA francs" },
116
+ { code: "YER", name: "Yemeni Rial", symbol: "YR", symbolNative: "\u0631.\u064A.", decimalDigits: 0, rounding: 0, namePlural: "Yemeni rials" },
117
+ { code: "ZAR", name: "South African Rand", symbol: "R", symbolNative: "R", decimalDigits: 2, rounding: 0, namePlural: "South African rand" },
118
+ { code: "ZMW", name: "Zambian Kwacha", symbol: "ZK", symbolNative: "ZK", decimalDigits: 0, rounding: 0, namePlural: "Zambian kwachas" },
119
+ { code: "ZWL", name: "Zimbabwean Dollar", symbol: "ZWL$", symbolNative: "ZWL$", decimalDigits: 0, rounding: 0, namePlural: "Zimbabwean dollars" }
120
+ ];
121
+ var getCurrencyByCode = (code) => {
122
+ return currencies.find((c) => c.code === code.toUpperCase());
123
+ };
124
+ var searchCurrencies = (query) => {
125
+ const lowerQuery = query.toLowerCase();
126
+ return currencies.filter(
127
+ (c) => c.code.toLowerCase().includes(lowerQuery) || c.name.toLowerCase().includes(lowerQuery)
128
+ );
129
+ };
130
+ var formatCurrency = (amount, currencyCode, locale = "en-US") => {
131
+ const currency = getCurrencyByCode(currencyCode);
132
+ if (!currency) {
133
+ return amount.toFixed(2);
134
+ }
135
+ try {
136
+ return new Intl.NumberFormat(locale, {
137
+ style: "currency",
138
+ currency: currency.code,
139
+ minimumFractionDigits: currency.decimalDigits,
140
+ maximumFractionDigits: currency.decimalDigits
141
+ }).format(amount);
142
+ } catch {
143
+ return `${currency.symbol}${amount.toFixed(currency.decimalDigits)}`;
144
+ }
145
+ };
146
+ var formatCurrencyNative = (amount, currencyCode) => {
147
+ const currency = getCurrencyByCode(currencyCode);
148
+ if (!currency) {
149
+ return amount.toFixed(2);
150
+ }
151
+ return `${currency.symbolNative}${amount.toFixed(currency.decimalDigits)}`;
152
+ };
153
+ var currencies_default = currencies;
154
+
155
+ exports.currencies = currencies;
156
+ exports.default = currencies_default;
157
+ exports.formatCurrency = formatCurrency;
158
+ exports.formatCurrencyNative = formatCurrencyNative;
159
+ exports.getCurrencyByCode = getCurrencyByCode;
160
+ exports.searchCurrencies = searchCurrencies;
161
+ //# sourceMappingURL=currencies.js.map
162
+ //# sourceMappingURL=currencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/data/currencies.ts"],"names":[],"mappings":"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","file":"currencies.js","sourcesContent":["/**\r\n * Currency data with symbols and formatting\r\n */\r\nexport interface Currency {\r\n code: string; // ISO 4217 currency code\r\n name: string;\r\n symbol: string;\r\n symbolNative: string;\r\n decimalDigits: number;\r\n rounding: number;\r\n namePlural: string;\r\n}\r\n\r\nexport const currencies: Currency[] = [\r\n { code: 'AED', name: 'UAE Dirham', symbol: 'AED', symbolNative: 'د.إ', decimalDigits: 2, rounding: 0, namePlural: 'UAE dirhams' },\r\n { code: 'AFN', name: 'Afghan Afghani', symbol: 'Af', symbolNative: '؋', decimalDigits: 0, rounding: 0, namePlural: 'Afghan Afghanis' },\r\n { code: 'ALL', name: 'Albanian Lek', symbol: 'ALL', symbolNative: 'Lek', decimalDigits: 0, rounding: 0, namePlural: 'Albanian lekë' },\r\n { code: 'AMD', name: 'Armenian Dram', symbol: 'AMD', symbolNative: 'դր.', decimalDigits: 0, rounding: 0, namePlural: 'Armenian drams' },\r\n { code: 'ARS', name: 'Argentine Peso', symbol: 'AR$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Argentine pesos' },\r\n { code: 'AUD', name: 'Australian Dollar', symbol: 'AU$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Australian dollars' },\r\n { code: 'AZN', name: 'Azerbaijani Manat', symbol: 'man.', symbolNative: 'ман.', decimalDigits: 2, rounding: 0, namePlural: 'Azerbaijani manats' },\r\n { code: 'BAM', name: 'Bosnia-Herzegovina Convertible Mark', symbol: 'KM', symbolNative: 'KM', decimalDigits: 2, rounding: 0, namePlural: 'Bosnia-Herzegovina convertible marks' },\r\n { code: 'BDT', name: 'Bangladeshi Taka', symbol: 'Tk', symbolNative: '৳', decimalDigits: 2, rounding: 0, namePlural: 'Bangladeshi takas' },\r\n { code: 'BGN', name: 'Bulgarian Lev', symbol: 'BGN', symbolNative: 'лв.', decimalDigits: 2, rounding: 0, namePlural: 'Bulgarian leva' },\r\n { code: 'BHD', name: 'Bahraini Dinar', symbol: 'BD', symbolNative: 'د.ب.', decimalDigits: 3, rounding: 0, namePlural: 'Bahraini dinars' },\r\n { code: 'BIF', name: 'Burundian Franc', symbol: 'FBu', symbolNative: 'FBu', decimalDigits: 0, rounding: 0, namePlural: 'Burundian francs' },\r\n { code: 'BND', name: 'Brunei Dollar', symbol: 'BN$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Brunei dollars' },\r\n { code: 'BOB', name: 'Bolivian Boliviano', symbol: 'Bs', symbolNative: 'Bs', decimalDigits: 2, rounding: 0, namePlural: 'Bolivian bolivianos' },\r\n { code: 'BRL', name: 'Brazilian Real', symbol: 'R$', symbolNative: 'R$', decimalDigits: 2, rounding: 0, namePlural: 'Brazilian reals' },\r\n { code: 'BWP', name: 'Botswanan Pula', symbol: 'BWP', symbolNative: 'P', decimalDigits: 2, rounding: 0, namePlural: 'Botswanan pulas' },\r\n { code: 'BYN', name: 'Belarusian Ruble', symbol: 'Br', symbolNative: 'руб.', decimalDigits: 2, rounding: 0, namePlural: 'Belarusian rubles' },\r\n { code: 'BZD', name: 'Belize Dollar', symbol: 'BZ$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Belize dollars' },\r\n { code: 'CAD', name: 'Canadian Dollar', symbol: 'CA$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Canadian dollars' },\r\n { code: 'CDF', name: 'Congolese Franc', symbol: 'CDF', symbolNative: 'FrCD', decimalDigits: 2, rounding: 0, namePlural: 'Congolese francs' },\r\n { code: 'CHF', name: 'Swiss Franc', symbol: 'CHF', symbolNative: 'CHF', decimalDigits: 2, rounding: 0.05, namePlural: 'Swiss francs' },\r\n { code: 'CLP', name: 'Chilean Peso', symbol: 'CL$', symbolNative: '$', decimalDigits: 0, rounding: 0, namePlural: 'Chilean pesos' },\r\n { code: 'CNY', name: 'Chinese Yuan', symbol: 'CN¥', symbolNative: '¥', decimalDigits: 2, rounding: 0, namePlural: 'Chinese yuan' },\r\n { code: 'COP', name: 'Colombian Peso', symbol: 'CO$', symbolNative: '$', decimalDigits: 0, rounding: 0, namePlural: 'Colombian pesos' },\r\n { code: 'CRC', name: 'Costa Rican Colón', symbol: '₡', symbolNative: '₡', decimalDigits: 0, rounding: 0, namePlural: 'Costa Rican colóns' },\r\n { code: 'CZK', name: 'Czech Koruna', symbol: 'Kč', symbolNative: 'Kč', decimalDigits: 2, rounding: 0, namePlural: 'Czech korunas' },\r\n { code: 'DKK', name: 'Danish Krone', symbol: 'Dkr', symbolNative: 'kr', decimalDigits: 2, rounding: 0, namePlural: 'Danish kroner' },\r\n { code: 'DOP', name: 'Dominican Peso', symbol: 'RD$', symbolNative: 'RD$', decimalDigits: 2, rounding: 0, namePlural: 'Dominican pesos' },\r\n { code: 'DZD', name: 'Algerian Dinar', symbol: 'DA', symbolNative: 'د.ج.', decimalDigits: 2, rounding: 0, namePlural: 'Algerian dinars' },\r\n { code: 'EGP', name: 'Egyptian Pound', symbol: 'EGP', symbolNative: 'ج.م.', decimalDigits: 2, rounding: 0, namePlural: 'Egyptian pounds' },\r\n { code: 'ETB', name: 'Ethiopian Birr', symbol: 'Br', symbolNative: 'Br', decimalDigits: 2, rounding: 0, namePlural: 'Ethiopian birrs' },\r\n { code: 'EUR', name: 'Euro', symbol: '€', symbolNative: '€', decimalDigits: 2, rounding: 0, namePlural: 'euros' },\r\n { code: 'GBP', name: 'British Pound', symbol: '£', symbolNative: '£', decimalDigits: 2, rounding: 0, namePlural: 'British pounds' },\r\n { code: 'GEL', name: 'Georgian Lari', symbol: 'GEL', symbolNative: 'GEL', decimalDigits: 2, rounding: 0, namePlural: 'Georgian laris' },\r\n { code: 'GHS', name: 'Ghanaian Cedi', symbol: 'GH₵', symbolNative: 'GH₵', decimalDigits: 2, rounding: 0, namePlural: 'Ghanaian cedis' },\r\n { code: 'GNF', name: 'Guinean Franc', symbol: 'FG', symbolNative: 'FG', decimalDigits: 0, rounding: 0, namePlural: 'Guinean francs' },\r\n { code: 'GTQ', name: 'Guatemalan Quetzal', symbol: 'GTQ', symbolNative: 'Q', decimalDigits: 2, rounding: 0, namePlural: 'Guatemalan quetzals' },\r\n { code: 'HKD', name: 'Hong Kong Dollar', symbol: 'HK$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Hong Kong dollars' },\r\n { code: 'HNL', name: 'Honduran Lempira', symbol: 'HNL', symbolNative: 'L', decimalDigits: 2, rounding: 0, namePlural: 'Honduran lempiras' },\r\n { code: 'HRK', name: 'Croatian Kuna', symbol: 'kn', symbolNative: 'kn', decimalDigits: 2, rounding: 0, namePlural: 'Croatian kunas' },\r\n { code: 'HUF', name: 'Hungarian Forint', symbol: 'Ft', symbolNative: 'Ft', decimalDigits: 0, rounding: 0, namePlural: 'Hungarian forints' },\r\n { code: 'IDR', name: 'Indonesian Rupiah', symbol: 'Rp', symbolNative: 'Rp', decimalDigits: 0, rounding: 0, namePlural: 'Indonesian rupiahs' },\r\n { code: 'ILS', name: 'Israeli New Shekel', symbol: '₪', symbolNative: '₪', decimalDigits: 2, rounding: 0, namePlural: 'Israeli new shekels' },\r\n { code: 'INR', name: 'Indian Rupee', symbol: '₹', symbolNative: '₹', decimalDigits: 2, rounding: 0, namePlural: 'Indian rupees' },\r\n { code: 'IQD', name: 'Iraqi Dinar', symbol: 'IQD', symbolNative: 'د.ع.', decimalDigits: 0, rounding: 0, namePlural: 'Iraqi dinars' },\r\n { code: 'IRR', name: 'Iranian Rial', symbol: 'IRR', symbolNative: '﷼', decimalDigits: 0, rounding: 0, namePlural: 'Iranian rials' },\r\n { code: 'ISK', name: 'Icelandic Króna', symbol: 'Ikr', symbolNative: 'kr', decimalDigits: 0, rounding: 0, namePlural: 'Icelandic krónur' },\r\n { code: 'JMD', name: 'Jamaican Dollar', symbol: 'J$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Jamaican dollars' },\r\n { code: 'JOD', name: 'Jordanian Dinar', symbol: 'JD', symbolNative: 'د.أ.', decimalDigits: 3, rounding: 0, namePlural: 'Jordanian dinars' },\r\n { code: 'JPY', name: 'Japanese Yen', symbol: '¥', symbolNative: '¥', decimalDigits: 0, rounding: 0, namePlural: 'Japanese yen' },\r\n { code: 'KES', name: 'Kenyan Shilling', symbol: 'Ksh', symbolNative: 'Ksh', decimalDigits: 2, rounding: 0, namePlural: 'Kenyan shillings' },\r\n { code: 'KHR', name: 'Cambodian Riel', symbol: 'KHR', symbolNative: '៛', decimalDigits: 2, rounding: 0, namePlural: 'Cambodian riels' },\r\n { code: 'KRW', name: 'South Korean Won', symbol: '₩', symbolNative: '₩', decimalDigits: 0, rounding: 0, namePlural: 'South Korean won' },\r\n { code: 'KWD', name: 'Kuwaiti Dinar', symbol: 'KD', symbolNative: 'د.ك.', decimalDigits: 3, rounding: 0, namePlural: 'Kuwaiti dinars' },\r\n { code: 'KZT', name: 'Kazakhstani Tenge', symbol: 'KZT', symbolNative: 'тңг.', decimalDigits: 2, rounding: 0, namePlural: 'Kazakhstani tenges' },\r\n { code: 'LAK', name: 'Lao Kip', symbol: '₭', symbolNative: '₭', decimalDigits: 0, rounding: 0, namePlural: 'Lao kip' },\r\n { code: 'LBP', name: 'Lebanese Pound', symbol: 'LB£', symbolNative: 'ل.ل.', decimalDigits: 0, rounding: 0, namePlural: 'Lebanese pounds' },\r\n { code: 'LKR', name: 'Sri Lankan Rupee', symbol: 'SLRs', symbolNative: 'රු', decimalDigits: 2, rounding: 0, namePlural: 'Sri Lankan rupees' },\r\n { code: 'LYD', name: 'Libyan Dinar', symbol: 'LD', symbolNative: 'د.ل.', decimalDigits: 3, rounding: 0, namePlural: 'Libyan dinars' },\r\n { code: 'MAD', name: 'Moroccan Dirham', symbol: 'MAD', symbolNative: 'د.م.', decimalDigits: 2, rounding: 0, namePlural: 'Moroccan dirhams' },\r\n { code: 'MDL', name: 'Moldovan Leu', symbol: 'MDL', symbolNative: 'MDL', decimalDigits: 2, rounding: 0, namePlural: 'Moldovan lei' },\r\n { code: 'MGA', name: 'Malagasy Ariary', symbol: 'MGA', symbolNative: 'MGA', decimalDigits: 0, rounding: 0, namePlural: 'Malagasy ariaries' },\r\n { code: 'MKD', name: 'Macedonian Denar', symbol: 'MKD', symbolNative: 'MKD', decimalDigits: 2, rounding: 0, namePlural: 'Macedonian denari' },\r\n { code: 'MMK', name: 'Myanmar Kyat', symbol: 'MMK', symbolNative: 'K', decimalDigits: 0, rounding: 0, namePlural: 'Myanmar kyats' },\r\n { code: 'MNT', name: 'Mongolian Tugrik', symbol: '₮', symbolNative: '₮', decimalDigits: 0, rounding: 0, namePlural: 'Mongolian tugriks' },\r\n { code: 'MOP', name: 'Macanese Pataca', symbol: 'MOP$', symbolNative: 'MOP$', decimalDigits: 2, rounding: 0, namePlural: 'Macanese patacas' },\r\n { code: 'MUR', name: 'Mauritian Rupee', symbol: 'MURs', symbolNative: 'MURs', decimalDigits: 0, rounding: 0, namePlural: 'Mauritian rupees' },\r\n { code: 'MXN', name: 'Mexican Peso', symbol: 'MX$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Mexican pesos' },\r\n { code: 'MYR', name: 'Malaysian Ringgit', symbol: 'RM', symbolNative: 'RM', decimalDigits: 2, rounding: 0, namePlural: 'Malaysian ringgits' },\r\n { code: 'MZN', name: 'Mozambican Metical', symbol: 'MTn', symbolNative: 'MTn', decimalDigits: 2, rounding: 0, namePlural: 'Mozambican meticals' },\r\n { code: 'NAD', name: 'Namibian Dollar', symbol: 'N$', symbolNative: 'N$', decimalDigits: 2, rounding: 0, namePlural: 'Namibian dollars' },\r\n { code: 'NGN', name: 'Nigerian Naira', symbol: '₦', symbolNative: '₦', decimalDigits: 2, rounding: 0, namePlural: 'Nigerian nairas' },\r\n { code: 'NIO', name: 'Nicaraguan Córdoba', symbol: 'C$', symbolNative: 'C$', decimalDigits: 2, rounding: 0, namePlural: 'Nicaraguan córdobas' },\r\n { code: 'NOK', name: 'Norwegian Krone', symbol: 'Nkr', symbolNative: 'kr', decimalDigits: 2, rounding: 0, namePlural: 'Norwegian kroner' },\r\n { code: 'NPR', name: 'Nepalese Rupee', symbol: 'NPRs', symbolNative: 'नेरू', decimalDigits: 2, rounding: 0, namePlural: 'Nepalese rupees' },\r\n { code: 'NZD', name: 'New Zealand Dollar', symbol: 'NZ$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'New Zealand dollars' },\r\n { code: 'OMR', name: 'Omani Rial', symbol: 'OMR', symbolNative: 'ر.ع.', decimalDigits: 3, rounding: 0, namePlural: 'Omani rials' },\r\n { code: 'PAB', name: 'Panamanian Balboa', symbol: 'B/.', symbolNative: 'B/.', decimalDigits: 2, rounding: 0, namePlural: 'Panamanian balboas' },\r\n { code: 'PEN', name: 'Peruvian Sol', symbol: 'S/', symbolNative: 'S/', decimalDigits: 2, rounding: 0, namePlural: 'Peruvian soles' },\r\n { code: 'PHP', name: 'Philippine Peso', symbol: '₱', symbolNative: '₱', decimalDigits: 2, rounding: 0, namePlural: 'Philippine pesos' },\r\n { code: 'PKR', name: 'Pakistani Rupee', symbol: 'PKRs', symbolNative: '₨', decimalDigits: 0, rounding: 0, namePlural: 'Pakistani rupees' },\r\n { code: 'PLN', name: 'Polish Zloty', symbol: 'zł', symbolNative: 'zł', decimalDigits: 2, rounding: 0, namePlural: 'Polish zlotys' },\r\n { code: 'PYG', name: 'Paraguayan Guarani', symbol: '₲', symbolNative: '₲', decimalDigits: 0, rounding: 0, namePlural: 'Paraguayan guaranis' },\r\n { code: 'QAR', name: 'Qatari Rial', symbol: 'QR', symbolNative: 'ر.ق.', decimalDigits: 2, rounding: 0, namePlural: 'Qatari rials' },\r\n { code: 'RON', name: 'Romanian Leu', symbol: 'RON', symbolNative: 'RON', decimalDigits: 2, rounding: 0, namePlural: 'Romanian lei' },\r\n { code: 'RSD', name: 'Serbian Dinar', symbol: 'din.', symbolNative: 'дин.', decimalDigits: 0, rounding: 0, namePlural: 'Serbian dinars' },\r\n { code: 'RUB', name: 'Russian Ruble', symbol: 'RUB', symbolNative: '₽', decimalDigits: 2, rounding: 0, namePlural: 'Russian rubles' },\r\n { code: 'RWF', name: 'Rwandan Franc', symbol: 'RWF', symbolNative: 'FR', decimalDigits: 0, rounding: 0, namePlural: 'Rwandan francs' },\r\n { code: 'SAR', name: 'Saudi Riyal', symbol: 'SR', symbolNative: 'ر.س.', decimalDigits: 2, rounding: 0, namePlural: 'Saudi riyals' },\r\n { code: 'SEK', name: 'Swedish Krona', symbol: 'Skr', symbolNative: 'kr', decimalDigits: 2, rounding: 0, namePlural: 'Swedish kronor' },\r\n { code: 'SGD', name: 'Singapore Dollar', symbol: 'S$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Singapore dollars' },\r\n { code: 'SOS', name: 'Somali Shilling', symbol: 'Ssh', symbolNative: 'Ssh', decimalDigits: 0, rounding: 0, namePlural: 'Somali shillings' },\r\n { code: 'SYP', name: 'Syrian Pound', symbol: 'SY£', symbolNative: 'ل.س.', decimalDigits: 0, rounding: 0, namePlural: 'Syrian pounds' },\r\n { code: 'THB', name: 'Thai Baht', symbol: '฿', symbolNative: '฿', decimalDigits: 2, rounding: 0, namePlural: 'Thai baht' },\r\n { code: 'TND', name: 'Tunisian Dinar', symbol: 'DT', symbolNative: 'د.ت.', decimalDigits: 3, rounding: 0, namePlural: 'Tunisian dinars' },\r\n { code: 'TOP', name: 'Tongan Pa\\'anga', symbol: 'T$', symbolNative: 'T$', decimalDigits: 2, rounding: 0, namePlural: 'Tongan pa\\'anga' },\r\n { code: 'TRY', name: 'Turkish Lira', symbol: 'TL', symbolNative: '₺', decimalDigits: 2, rounding: 0, namePlural: 'Turkish liras' },\r\n { code: 'TTD', name: 'Trinidad & Tobago Dollar', symbol: 'TT$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Trinidad & Tobago dollars' },\r\n { code: 'TWD', name: 'New Taiwan Dollar', symbol: 'NT$', symbolNative: 'NT$', decimalDigits: 2, rounding: 0, namePlural: 'New Taiwan dollars' },\r\n { code: 'TZS', name: 'Tanzanian Shilling', symbol: 'TSh', symbolNative: 'TSh', decimalDigits: 0, rounding: 0, namePlural: 'Tanzanian shillings' },\r\n { code: 'UAH', name: 'Ukrainian Hryvnia', symbol: '₴', symbolNative: '₴', decimalDigits: 2, rounding: 0, namePlural: 'Ukrainian hryvnias' },\r\n { code: 'UGX', name: 'Ugandan Shilling', symbol: 'USh', symbolNative: 'USh', decimalDigits: 0, rounding: 0, namePlural: 'Ugandan shillings' },\r\n { code: 'USD', name: 'US Dollar', symbol: '$', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'US dollars' },\r\n { code: 'UYU', name: 'Uruguayan Peso', symbol: '$U', symbolNative: '$', decimalDigits: 2, rounding: 0, namePlural: 'Uruguayan pesos' },\r\n { code: 'UZS', name: 'Uzbekistani Som', symbol: 'UZS', symbolNative: 'UZS', decimalDigits: 0, rounding: 0, namePlural: 'Uzbekistani som' },\r\n { code: 'VES', name: 'Venezuelan Bolívar', symbol: 'Bs', symbolNative: 'Bs', decimalDigits: 2, rounding: 0, namePlural: 'Venezuelan bolívars' },\r\n { code: 'VND', name: 'Vietnamese Dong', symbol: '₫', symbolNative: '₫', decimalDigits: 0, rounding: 0, namePlural: 'Vietnamese dong' },\r\n { code: 'XAF', name: 'Central African CFA Franc', symbol: 'FCFA', symbolNative: 'FCFA', decimalDigits: 0, rounding: 0, namePlural: 'Central African CFA francs' },\r\n { code: 'XOF', name: 'West African CFA Franc', symbol: 'CFA', symbolNative: 'CFA', decimalDigits: 0, rounding: 0, namePlural: 'West African CFA francs' },\r\n { code: 'YER', name: 'Yemeni Rial', symbol: 'YR', symbolNative: 'ر.ي.', decimalDigits: 0, rounding: 0, namePlural: 'Yemeni rials' },\r\n { code: 'ZAR', name: 'South African Rand', symbol: 'R', symbolNative: 'R', decimalDigits: 2, rounding: 0, namePlural: 'South African rand' },\r\n { code: 'ZMW', name: 'Zambian Kwacha', symbol: 'ZK', symbolNative: 'ZK', decimalDigits: 0, rounding: 0, namePlural: 'Zambian kwachas' },\r\n { code: 'ZWL', name: 'Zimbabwean Dollar', symbol: 'ZWL$', symbolNative: 'ZWL$', decimalDigits: 0, rounding: 0, namePlural: 'Zimbabwean dollars' },\r\n];\r\n\r\n// Helper functions\r\nexport const getCurrencyByCode = (code: string): Currency | undefined => {\r\n return currencies.find((c) => c.code === code.toUpperCase());\r\n};\r\n\r\nexport const searchCurrencies = (query: string): Currency[] => {\r\n const lowerQuery = query.toLowerCase();\r\n return currencies.filter(\r\n (c) =>\r\n c.code.toLowerCase().includes(lowerQuery) ||\r\n c.name.toLowerCase().includes(lowerQuery)\r\n );\r\n};\r\n\r\nexport const formatCurrency = (\r\n amount: number,\r\n currencyCode: string,\r\n locale: string = 'en-US'\r\n): string => {\r\n const currency = getCurrencyByCode(currencyCode);\r\n if (!currency) {\r\n return amount.toFixed(2);\r\n }\r\n\r\n try {\r\n return new Intl.NumberFormat(locale, {\r\n style: 'currency',\r\n currency: currency.code,\r\n minimumFractionDigits: currency.decimalDigits,\r\n maximumFractionDigits: currency.decimalDigits,\r\n }).format(amount);\r\n } catch {\r\n return `${currency.symbol}${amount.toFixed(currency.decimalDigits)}`;\r\n }\r\n};\r\n\r\nexport const formatCurrencyNative = (amount: number, currencyCode: string): string => {\r\n const currency = getCurrencyByCode(currencyCode);\r\n if (!currency) {\r\n return amount.toFixed(2);\r\n }\r\n return `${currency.symbolNative}${amount.toFixed(currency.decimalDigits)}`;\r\n};\r\n\r\nexport default currencies;\r\n"]}