@quillsql/react 2.13.39 → 2.13.41

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 (255) hide show
  1. package/dist/cjs/Chart.d.ts +5 -1
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +51 -28
  4. package/dist/cjs/ChartBuilder.d.ts +13 -1
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +347 -147
  7. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  8. package/dist/cjs/ChartEditor.js +11 -1
  9. package/dist/cjs/Context.d.ts +16 -4
  10. package/dist/cjs/Context.d.ts.map +1 -1
  11. package/dist/cjs/Context.js +57 -38
  12. package/dist/cjs/Dashboard.d.ts +6 -3
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +70 -28
  15. package/dist/cjs/QuillProvider.d.ts +4 -8
  16. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  17. package/dist/cjs/ReportBuilder.d.ts +1 -1
  18. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  19. package/dist/cjs/ReportBuilder.js +117 -45
  20. package/dist/cjs/SQLEditor.d.ts +7 -1
  21. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  22. package/dist/cjs/SQLEditor.js +53 -9
  23. package/dist/cjs/Table.d.ts +21 -1
  24. package/dist/cjs/Table.d.ts.map +1 -1
  25. package/dist/cjs/Table.js +30 -192
  26. package/dist/cjs/components/Chart/BarChart.d.ts +5 -1
  27. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  28. package/dist/cjs/components/Chart/BarChart.js +4 -3
  29. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +2 -0
  30. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  31. package/dist/cjs/components/Chart/CustomReferenceLine.js +26 -0
  32. package/dist/cjs/components/Chart/GaugeChart.d.ts +11 -0
  33. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -0
  34. package/dist/cjs/components/Chart/GaugeChart.js +198 -0
  35. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  36. package/dist/cjs/components/Chart/InternalChart.js +14 -11
  37. package/dist/cjs/components/Chart/LineChart.d.ts +5 -1
  38. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/LineChart.js +4 -3
  40. package/dist/cjs/components/Chart/MapChart.d.ts +36 -0
  41. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -0
  42. package/dist/cjs/components/Chart/MapChart.js +548 -0
  43. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  44. package/dist/cjs/components/Dashboard/DataLoader.js +114 -42
  45. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  46. package/dist/cjs/components/Dashboard/MetricComponent.js +57 -54
  47. package/dist/cjs/components/Dashboard/TableComponent.d.ts.map +1 -1
  48. package/dist/cjs/components/Dashboard/TableComponent.js +5 -1
  49. package/dist/cjs/components/QuillMultiSelectSectionList.js +5 -5
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelectWithCombo.js +5 -4
  52. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  53. package/dist/cjs/components/QuillSelectWithCombo.js +12 -11
  54. package/dist/cjs/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  55. package/dist/cjs/components/ReportBuilder/AddColumnModal.js +2 -1
  56. package/dist/cjs/components/ReportBuilder/FilterModal.js +13 -13
  57. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  58. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  59. package/dist/cjs/components/ReportBuilder/FilterStack.js +4 -4
  60. package/dist/cjs/components/ReportBuilder/convert.d.ts +2 -0
  61. package/dist/cjs/components/ReportBuilder/convert.d.ts.map +1 -1
  62. package/dist/cjs/components/ReportBuilder/convert.js +28 -7
  63. package/dist/cjs/components/ReportBuilder/util.d.ts +1 -1
  64. package/dist/cjs/components/ReportBuilder/util.d.ts.map +1 -1
  65. package/dist/cjs/components/ReportBuilder/util.js +15 -2
  66. package/dist/cjs/components/UiComponents.d.ts +4 -1
  67. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  68. package/dist/cjs/components/UiComponents.js +31 -5
  69. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  70. package/dist/cjs/hooks/useDashboard.js +11 -9
  71. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  72. package/dist/cjs/hooks/useExport.js +18 -4
  73. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  74. package/dist/cjs/hooks/useQuill.js +16 -3
  75. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  76. package/dist/cjs/hooks/useReport.js +1 -7
  77. package/dist/cjs/hooks/useVirtualTables.d.ts +6 -2
  78. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  79. package/dist/cjs/hooks/useVirtualTables.js +5 -2
  80. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  81. package/dist/cjs/internals/ReportBuilder/PivotModal.js +6 -7
  82. package/dist/cjs/models/Filter.d.ts +20 -13
  83. package/dist/cjs/models/Filter.d.ts.map +1 -1
  84. package/dist/cjs/models/Filter.js +161 -87
  85. package/dist/cjs/models/Report.d.ts +12 -1
  86. package/dist/cjs/models/Report.d.ts.map +1 -1
  87. package/dist/cjs/models/Schema.d.ts +12 -1
  88. package/dist/cjs/models/Schema.d.ts.map +1 -1
  89. package/dist/cjs/utils/astFilterProcessing.js +22 -22
  90. package/dist/cjs/utils/astProcessing.d.ts +2 -2
  91. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  92. package/dist/cjs/utils/astProcessing.js +25 -6
  93. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -1
  94. package/dist/cjs/utils/axisFormatter.js +25 -0
  95. package/dist/cjs/utils/color.d.ts +159 -0
  96. package/dist/cjs/utils/color.d.ts.map +1 -1
  97. package/dist/cjs/utils/color.js +14 -5
  98. package/dist/cjs/utils/columnProcessing.js +3 -3
  99. package/dist/cjs/utils/constants.d.ts +1 -0
  100. package/dist/cjs/utils/constants.d.ts.map +1 -1
  101. package/dist/cjs/utils/constants.js +2 -1
  102. package/dist/cjs/utils/dashboard.d.ts +13 -3
  103. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  104. package/dist/cjs/utils/dashboard.js +73 -16
  105. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  106. package/dist/cjs/utils/dataFetcher.js +3 -1
  107. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  108. package/dist/cjs/utils/filterProcessing.js +9 -9
  109. package/dist/cjs/utils/getDomain.d.ts +4 -1
  110. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  111. package/dist/cjs/utils/getDomain.js +11 -1
  112. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  113. package/dist/cjs/utils/pivotConstructor.js +7 -6
  114. package/dist/cjs/utils/queryConstructor.d.ts +1 -1
  115. package/dist/cjs/utils/queryConstructor.d.ts.map +1 -1
  116. package/dist/cjs/utils/queryConstructor.js +71 -43
  117. package/dist/cjs/utils/report.d.ts +23 -5
  118. package/dist/cjs/utils/report.d.ts.map +1 -1
  119. package/dist/cjs/utils/report.js +28 -8
  120. package/dist/cjs/utils/schema.d.ts +26 -3
  121. package/dist/cjs/utils/schema.d.ts.map +1 -1
  122. package/dist/cjs/utils/schema.js +75 -43
  123. package/dist/cjs/utils/tableProcessing.d.ts +10 -3
  124. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  125. package/dist/cjs/utils/tableProcessing.js +4 -6
  126. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  127. package/dist/cjs/utils/textProcessing.js +0 -1
  128. package/dist/esm/Chart.d.ts +5 -1
  129. package/dist/esm/Chart.d.ts.map +1 -1
  130. package/dist/esm/Chart.js +52 -29
  131. package/dist/esm/ChartBuilder.d.ts +13 -1
  132. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  133. package/dist/esm/ChartBuilder.js +352 -152
  134. package/dist/esm/ChartEditor.d.ts.map +1 -1
  135. package/dist/esm/ChartEditor.js +11 -1
  136. package/dist/esm/Context.d.ts +16 -4
  137. package/dist/esm/Context.d.ts.map +1 -1
  138. package/dist/esm/Context.js +59 -40
  139. package/dist/esm/Dashboard.d.ts +6 -3
  140. package/dist/esm/Dashboard.d.ts.map +1 -1
  141. package/dist/esm/Dashboard.js +71 -29
  142. package/dist/esm/QuillProvider.d.ts +4 -8
  143. package/dist/esm/QuillProvider.d.ts.map +1 -1
  144. package/dist/esm/ReportBuilder.d.ts +1 -1
  145. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  146. package/dist/esm/ReportBuilder.js +119 -47
  147. package/dist/esm/SQLEditor.d.ts +7 -1
  148. package/dist/esm/SQLEditor.d.ts.map +1 -1
  149. package/dist/esm/SQLEditor.js +54 -10
  150. package/dist/esm/Table.d.ts +21 -1
  151. package/dist/esm/Table.d.ts.map +1 -1
  152. package/dist/esm/Table.js +34 -196
  153. package/dist/esm/components/Chart/BarChart.d.ts +5 -1
  154. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  155. package/dist/esm/components/Chart/BarChart.js +5 -4
  156. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +2 -0
  157. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -0
  158. package/dist/esm/components/Chart/CustomReferenceLine.js +23 -0
  159. package/dist/esm/components/Chart/GaugeChart.d.ts +11 -0
  160. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -0
  161. package/dist/esm/components/Chart/GaugeChart.js +195 -0
  162. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  163. package/dist/esm/components/Chart/InternalChart.js +14 -11
  164. package/dist/esm/components/Chart/LineChart.d.ts +5 -1
  165. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  166. package/dist/esm/components/Chart/LineChart.js +5 -4
  167. package/dist/esm/components/Chart/MapChart.d.ts +36 -0
  168. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -0
  169. package/dist/esm/components/Chart/MapChart.js +541 -0
  170. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  171. package/dist/esm/components/Dashboard/DataLoader.js +114 -42
  172. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  173. package/dist/esm/components/Dashboard/MetricComponent.js +57 -54
  174. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -1
  175. package/dist/esm/components/Dashboard/TableComponent.js +5 -1
  176. package/dist/esm/components/QuillMultiSelectSectionList.js +5 -5
  177. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  178. package/dist/esm/components/QuillMultiSelectWithCombo.js +5 -4
  179. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  180. package/dist/esm/components/QuillSelectWithCombo.js +12 -11
  181. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -1
  182. package/dist/esm/components/ReportBuilder/AddColumnModal.js +2 -1
  183. package/dist/esm/components/ReportBuilder/FilterModal.js +14 -14
  184. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  185. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  186. package/dist/esm/components/ReportBuilder/FilterStack.js +4 -4
  187. package/dist/esm/components/ReportBuilder/convert.d.ts +2 -0
  188. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -1
  189. package/dist/esm/components/ReportBuilder/convert.js +26 -7
  190. package/dist/esm/components/ReportBuilder/util.d.ts +1 -1
  191. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -1
  192. package/dist/esm/components/ReportBuilder/util.js +15 -2
  193. package/dist/esm/components/UiComponents.d.ts +4 -1
  194. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  195. package/dist/esm/components/UiComponents.js +29 -4
  196. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  197. package/dist/esm/hooks/useDashboard.js +11 -9
  198. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  199. package/dist/esm/hooks/useExport.js +19 -5
  200. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  201. package/dist/esm/hooks/useQuill.js +16 -3
  202. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  203. package/dist/esm/hooks/useReport.js +1 -7
  204. package/dist/esm/hooks/useVirtualTables.d.ts +6 -2
  205. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  206. package/dist/esm/hooks/useVirtualTables.js +6 -3
  207. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  208. package/dist/esm/internals/ReportBuilder/PivotModal.js +6 -7
  209. package/dist/esm/models/Filter.d.ts +20 -13
  210. package/dist/esm/models/Filter.d.ts.map +1 -1
  211. package/dist/esm/models/Filter.js +160 -86
  212. package/dist/esm/models/Report.d.ts +12 -1
  213. package/dist/esm/models/Report.d.ts.map +1 -1
  214. package/dist/esm/models/Schema.d.ts +12 -1
  215. package/dist/esm/models/Schema.d.ts.map +1 -1
  216. package/dist/esm/utils/astFilterProcessing.js +23 -23
  217. package/dist/esm/utils/astProcessing.d.ts +2 -2
  218. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  219. package/dist/esm/utils/astProcessing.js +25 -6
  220. package/dist/esm/utils/axisFormatter.d.ts.map +1 -1
  221. package/dist/esm/utils/axisFormatter.js +25 -0
  222. package/dist/esm/utils/color.d.ts +159 -0
  223. package/dist/esm/utils/color.d.ts.map +1 -1
  224. package/dist/esm/utils/color.js +8 -2
  225. package/dist/esm/utils/columnProcessing.js +3 -3
  226. package/dist/esm/utils/constants.d.ts +1 -0
  227. package/dist/esm/utils/constants.d.ts.map +1 -1
  228. package/dist/esm/utils/constants.js +1 -0
  229. package/dist/esm/utils/dashboard.d.ts +13 -3
  230. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  231. package/dist/esm/utils/dashboard.js +73 -16
  232. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  233. package/dist/esm/utils/dataFetcher.js +3 -1
  234. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  235. package/dist/esm/utils/filterProcessing.js +10 -10
  236. package/dist/esm/utils/getDomain.d.ts +4 -1
  237. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  238. package/dist/esm/utils/getDomain.js +11 -1
  239. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  240. package/dist/esm/utils/pivotConstructor.js +7 -6
  241. package/dist/esm/utils/queryConstructor.d.ts +1 -1
  242. package/dist/esm/utils/queryConstructor.d.ts.map +1 -1
  243. package/dist/esm/utils/queryConstructor.js +71 -43
  244. package/dist/esm/utils/report.d.ts +23 -5
  245. package/dist/esm/utils/report.d.ts.map +1 -1
  246. package/dist/esm/utils/report.js +29 -9
  247. package/dist/esm/utils/schema.d.ts +26 -3
  248. package/dist/esm/utils/schema.d.ts.map +1 -1
  249. package/dist/esm/utils/schema.js +74 -43
  250. package/dist/esm/utils/tableProcessing.d.ts +10 -3
  251. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  252. package/dist/esm/utils/tableProcessing.js +4 -6
  253. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  254. package/dist/esm/utils/textProcessing.js +0 -1
  255. package/package.json +8 -3
@@ -0,0 +1,548 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.USMap = USMap;
7
+ exports.WorldMap = WorldMap;
8
+ const jsx_runtime_1 = require("react/jsx-runtime");
9
+ const react_simple_maps_1 = require("react-simple-maps");
10
+ const d3_geo_1 = require("d3-geo");
11
+ const d3_scale_1 = require("d3-scale");
12
+ const react_1 = require("react");
13
+ const ChartTooltipFrame_1 = __importDefault(require("./ChartTooltipFrame"));
14
+ const ChartTooltipRow_1 = __importDefault(require("./ChartTooltipRow"));
15
+ const valueFormatter_1 = require("../../utils/valueFormatter");
16
+ const statesUrl = "https://cdn.jsdelivr.net/npm/us-atlas@3/states-10m.json";
17
+ const countriesUrl = "https://cdn.jsdelivr.net/npm/world-atlas@2/countries-50m.json";
18
+ const fipsToNames = {
19
+ '01': { name: 'Alabama', abbreviation: 'AL' },
20
+ '02': { name: 'Alaska', abbreviation: 'AK' },
21
+ '04': { name: 'Arizona', abbreviation: 'AZ' },
22
+ '05': { name: 'Arkansas', abbreviation: 'AR' },
23
+ '06': { name: 'California', abbreviation: 'CA' },
24
+ '08': { name: 'Colorado', abbreviation: 'CO' },
25
+ '09': { name: 'Connecticut', abbreviation: 'CT' },
26
+ '10': { name: 'Delaware', abbreviation: 'DE' },
27
+ '12': { name: 'Florida', abbreviation: 'FL' },
28
+ '13': { name: 'Georgia', abbreviation: 'GA' },
29
+ '15': { name: 'Hawaii', abbreviation: 'HI' },
30
+ '16': { name: 'Idaho', abbreviation: 'ID' },
31
+ '17': { name: 'Illinois', abbreviation: 'IL' },
32
+ '18': { name: 'Indiana', abbreviation: 'IN' },
33
+ '19': { name: 'Iowa', abbreviation: 'IA' },
34
+ '20': { name: 'Kansas', abbreviation: 'KS' },
35
+ '21': { name: 'Kentucky', abbreviation: 'KY' },
36
+ '22': { name: 'Louisiana', abbreviation: 'LA' },
37
+ '23': { name: 'Maine', abbreviation: 'ME' },
38
+ '24': { name: 'Maryland', abbreviation: 'MD' },
39
+ '25': { name: 'Massachusetts', abbreviation: 'MA' },
40
+ '26': { name: 'Michigan', abbreviation: 'MI' },
41
+ '27': { name: 'Minnesota', abbreviation: 'MN' },
42
+ '28': { name: 'Mississippi', abbreviation: 'MS' },
43
+ '29': { name: 'Missouri', abbreviation: 'MO' },
44
+ '30': { name: 'Montana', abbreviation: 'MT' },
45
+ '31': { name: 'Nebraska', abbreviation: 'NE' },
46
+ '32': { name: 'Nevada', abbreviation: 'NV' },
47
+ '33': { name: 'New Hampshire', abbreviation: 'NH' },
48
+ '34': { name: 'New Jersey', abbreviation: 'NJ' },
49
+ '35': { name: 'New Mexico', abbreviation: 'NM' },
50
+ '36': { name: 'New York', abbreviation: 'NY' },
51
+ '37': { name: 'North Carolina', abbreviation: 'NC' },
52
+ '38': { name: 'North Dakota', abbreviation: 'ND' },
53
+ '39': { name: 'Ohio', abbreviation: 'OH' },
54
+ '40': { name: 'Oklahoma', abbreviation: 'OK' },
55
+ '41': { name: 'Oregon', abbreviation: 'OR' },
56
+ '42': { name: 'Pennsylvania', abbreviation: 'PA' },
57
+ '44': { name: 'Rhode Island', abbreviation: 'RI' },
58
+ '45': { name: 'South Carolina', abbreviation: 'SC' },
59
+ '46': { name: 'South Dakota', abbreviation: 'SD' },
60
+ '47': { name: 'Tennessee', abbreviation: 'TN' },
61
+ '48': { name: 'Texas', abbreviation: 'TX' },
62
+ '49': { name: 'Utah', abbreviation: 'UT' },
63
+ '50': { name: 'Vermont', abbreviation: 'VT' },
64
+ '51': { name: 'Virginia', abbreviation: 'VA' },
65
+ '53': { name: 'Washington', abbreviation: 'WA' },
66
+ '54': { name: 'West Virginia', abbreviation: 'WV' },
67
+ '55': { name: 'Wisconsin', abbreviation: 'WI' },
68
+ '56': { name: 'Wyoming', abbreviation: 'WY' },
69
+ '72': { name: 'Puerto Rico', abbreviation: 'PR' },
70
+ };
71
+ const isoToNames = {
72
+ '004': { name: 'Afghanistan', abbreviation: 'AF' },
73
+ '008': { name: 'Albania', abbreviation: 'AL' },
74
+ '010': { name: 'Antarctica', abbreviation: 'AQ' },
75
+ '012': { name: 'Algeria', abbreviation: 'DZ' },
76
+ '016': { name: 'American Samoa', abbreviation: 'AS' },
77
+ '020': { name: 'Andorra', abbreviation: 'AD' },
78
+ '024': { name: 'Angola', abbreviation: 'AO' },
79
+ '028': { name: 'Antigua and Barbuda', abbreviation: 'AG' },
80
+ '031': { name: 'Azerbaijan', abbreviation: 'AZ' },
81
+ '032': { name: 'Argentina', abbreviation: 'AR' },
82
+ '036': { name: 'Australia', abbreviation: 'AU' },
83
+ '040': { name: 'Austria', abbreviation: 'AT' },
84
+ '044': { name: 'Bahamas', abbreviation: 'BS' },
85
+ '048': { name: 'Bahrain', abbreviation: 'BH' },
86
+ '050': { name: 'Bangladesh', abbreviation: 'BD' },
87
+ '051': { name: 'Armenia', abbreviation: 'AM' },
88
+ '052': { name: 'Barbados', abbreviation: 'BB' },
89
+ '056': { name: 'Belgium', abbreviation: 'BE' },
90
+ '060': { name: 'Bermuda', abbreviation: 'BM' },
91
+ '064': { name: 'Bhutan', abbreviation: 'BT' },
92
+ '068': { name: 'Bolivia', abbreviation: 'BO' },
93
+ '070': { name: 'Bosnia and Herzegovina', abbreviation: 'BA' },
94
+ '072': { name: 'Botswana', abbreviation: 'BW' },
95
+ '074': { name: 'Bouvet Island', abbreviation: 'BV' },
96
+ '076': { name: 'Brazil', abbreviation: 'BR' },
97
+ '084': { name: 'Belize', abbreviation: 'BZ' },
98
+ '086': { name: 'British Indian Ocean Territory', abbreviation: 'IO' },
99
+ '090': { name: 'Solomon Islands', abbreviation: 'SB' },
100
+ '092': { name: 'British Virgin Islands', abbreviation: 'VG' },
101
+ '096': { name: 'Brunei', abbreviation: 'BN' },
102
+ '100': { name: 'Bulgaria', abbreviation: 'BG' },
103
+ '104': { name: 'Myanmar', abbreviation: 'MM' },
104
+ '108': { name: 'Burundi', abbreviation: 'BI' },
105
+ '112': { name: 'Belarus', abbreviation: 'BY' },
106
+ '116': { name: 'Cambodia', abbreviation: 'KH' },
107
+ '120': { name: 'Cameroon', abbreviation: 'CM' },
108
+ '124': { name: 'Canada', abbreviation: 'CA' },
109
+ '132': { name: 'Cape Verde', abbreviation: 'CV' },
110
+ '136': { name: 'Cayman Islands', abbreviation: 'KY' },
111
+ '140': { name: 'Central African Republic', abbreviation: 'CF' },
112
+ '144': { name: 'Sri Lanka', abbreviation: 'LK' },
113
+ '148': { name: 'Chad', abbreviation: 'TD' },
114
+ '152': { name: 'Chile', abbreviation: 'CL' },
115
+ '156': { name: 'China', abbreviation: 'CN' },
116
+ '158': { name: 'Taiwan', abbreviation: 'TW' },
117
+ '162': { name: 'Christmas Island', abbreviation: 'CX' },
118
+ '166': { name: 'Cocos (Keeling) Islands', abbreviation: 'CC' },
119
+ '170': { name: 'Colombia', abbreviation: 'CO' },
120
+ '174': { name: 'Comoros', abbreviation: 'KM' },
121
+ '175': { name: 'Mayotte', abbreviation: 'YT' },
122
+ '178': { name: 'Republic of the Congo', abbreviation: 'CG' },
123
+ '180': { name: 'Democratic Republic of the Congo', abbreviation: 'CD' },
124
+ '184': { name: 'Cook Islands', abbreviation: 'CK' },
125
+ '188': { name: 'Costa Rica', abbreviation: 'CR' },
126
+ '191': { name: 'Croatia', abbreviation: 'HR' },
127
+ '192': { name: 'Cuba', abbreviation: 'CU' },
128
+ '196': { name: 'Cyprus', abbreviation: 'CY' },
129
+ '203': { name: 'Czech Republic', abbreviation: 'CZ' },
130
+ '204': { name: 'Benin', abbreviation: 'BJ' },
131
+ '208': { name: 'Denmark', abbreviation: 'DK' },
132
+ '212': { name: 'Dominica', abbreviation: 'DM' },
133
+ '214': { name: 'Dominican Republic', abbreviation: 'DO' },
134
+ '218': { name: 'Ecuador', abbreviation: 'EC' },
135
+ '222': { name: 'El Salvador', abbreviation: 'SV' },
136
+ '226': { name: 'Equatorial Guinea', abbreviation: 'GQ' },
137
+ '231': { name: 'Ethiopia', abbreviation: 'ET' },
138
+ '232': { name: 'Eritrea', abbreviation: 'ER' },
139
+ '233': { name: 'Estonia', abbreviation: 'EE' },
140
+ '234': { name: 'Faroe Islands', abbreviation: 'FO' },
141
+ '238': { name: 'Falkland Islands', abbreviation: 'FK' },
142
+ '239': { name: 'South Georgia and the South Sandwich Islands', abbreviation: 'GS' },
143
+ '242': { name: 'Fiji', abbreviation: 'FJ' },
144
+ '246': { name: 'Finland', abbreviation: 'FI' },
145
+ '248': { name: 'Åland Islands', abbreviation: 'AX' },
146
+ '250': { name: 'France', abbreviation: 'FR' },
147
+ '254': { name: 'French Guiana', abbreviation: 'GF' },
148
+ '258': { name: 'French Polynesia', abbreviation: 'PF' },
149
+ '260': { name: 'French Southern and Antarctic Lands', abbreviation: 'TF' },
150
+ '262': { name: 'Djibouti', abbreviation: 'DJ' },
151
+ '266': { name: 'Gabon', abbreviation: 'GA' },
152
+ '268': { name: 'Georgia', abbreviation: 'GE' },
153
+ '270': { name: 'Gambia', abbreviation: 'GM' },
154
+ '275': { name: 'Palestine', abbreviation: 'PS' },
155
+ '276': { name: 'Germany', abbreviation: 'DE' },
156
+ '288': { name: 'Ghana', abbreviation: 'GH' },
157
+ '292': { name: 'Gibraltar', abbreviation: 'GI' },
158
+ '296': { name: 'Kiribati', abbreviation: 'KI' },
159
+ '300': { name: 'Greece', abbreviation: 'GR' },
160
+ '304': { name: 'Greenland', abbreviation: 'GL' },
161
+ '308': { name: 'Grenada', abbreviation: 'GD' },
162
+ '312': { name: 'Guadeloupe', abbreviation: 'GP' },
163
+ '316': { name: 'Guam', abbreviation: 'GU' },
164
+ '320': { name: 'Guatemala', abbreviation: 'GT' },
165
+ '324': { name: 'Guinea', abbreviation: 'GN' },
166
+ '328': { name: 'Guyana', abbreviation: 'GY' },
167
+ '332': { name: 'Haiti', abbreviation: 'HT' },
168
+ '334': { name: 'Heard Island and McDonald Islands', abbreviation: 'HM' },
169
+ '336': { name: 'Vatican City', abbreviation: 'VA' },
170
+ '340': { name: 'Honduras', abbreviation: 'HN' },
171
+ '344': { name: 'Hong Kong', abbreviation: 'HK' },
172
+ '348': { name: 'Hungary', abbreviation: 'HU' },
173
+ '352': { name: 'Iceland', abbreviation: 'IS' },
174
+ '356': { name: 'India', abbreviation: 'IN' },
175
+ '360': { name: 'Indonesia', abbreviation: 'ID' },
176
+ '364': { name: 'Iran', abbreviation: 'IR' },
177
+ '368': { name: 'Iraq', abbreviation: 'IQ' },
178
+ '372': { name: 'Ireland', abbreviation: 'IE' },
179
+ '376': { name: 'Israel', abbreviation: 'IL' },
180
+ '380': { name: 'Italy', abbreviation: 'IT' },
181
+ '384': { name: 'Ivory Coast', abbreviation: 'CI' },
182
+ '388': { name: 'Jamaica', abbreviation: 'JM' },
183
+ '392': { name: 'Japan', abbreviation: 'JP' },
184
+ '398': { name: 'Kazakhstan', abbreviation: 'KZ' },
185
+ '400': { name: 'Jordan', abbreviation: 'JO' },
186
+ '404': { name: 'Kenya', abbreviation: 'KE' },
187
+ '408': { name: 'North Korea', abbreviation: 'KP' },
188
+ '410': { name: 'South Korea', abbreviation: 'KR' },
189
+ '414': { name: 'Kuwait', abbreviation: 'KW' },
190
+ '417': { name: 'Kyrgyzstan', abbreviation: 'KG' },
191
+ '418': { name: 'Laos', abbreviation: 'LA' },
192
+ '422': { name: 'Lebanon', abbreviation: 'LB' },
193
+ '426': { name: 'Lesotho', abbreviation: 'LS' },
194
+ '428': { name: 'Latvia', abbreviation: 'LV' },
195
+ '430': { name: 'Liberia', abbreviation: 'LR' },
196
+ '434': { name: 'Libya', abbreviation: 'LY' },
197
+ '438': { name: 'Liechtenstein', abbreviation: 'LI' },
198
+ '440': { name: 'Lithuania', abbreviation: 'LT' },
199
+ '442': { name: 'Luxembourg', abbreviation: 'LU' },
200
+ '446': { name: 'Macau', abbreviation: 'MO' },
201
+ '450': { name: 'Madagascar', abbreviation: 'MG' },
202
+ '454': { name: 'Malawi', abbreviation: 'MW' },
203
+ '458': { name: 'Malaysia', abbreviation: 'MY' },
204
+ '462': { name: 'Maldives', abbreviation: 'MV' },
205
+ '466': { name: 'Mali', abbreviation: 'ML' },
206
+ '470': { name: 'Malta', abbreviation: 'MT' },
207
+ '474': { name: 'Martinique', abbreviation: 'MQ' },
208
+ '478': { name: 'Mauritania', abbreviation: 'MR' },
209
+ '480': { name: 'Mauritius', abbreviation: 'MU' },
210
+ '484': { name: 'Mexico', abbreviation: 'MX' },
211
+ '492': { name: 'Monaco', abbreviation: 'MC' },
212
+ '496': { name: 'Mongolia', abbreviation: 'MN' },
213
+ '498': { name: 'Moldova', abbreviation: 'MD' },
214
+ '499': { name: 'Montenegro', abbreviation: 'ME' },
215
+ '500': { name: 'Montserrat', abbreviation: 'MS' },
216
+ '504': { name: 'Morocco', abbreviation: 'MA' },
217
+ '508': { name: 'Mozambique', abbreviation: 'MZ' },
218
+ '512': { name: 'Oman', abbreviation: 'OM' },
219
+ '516': { name: 'Namibia', abbreviation: 'NA' },
220
+ '520': { name: 'Nauru', abbreviation: 'NR' },
221
+ '524': { name: 'Nepal', abbreviation: 'NP' },
222
+ '528': { name: 'Netherlands', abbreviation: 'NL' },
223
+ '531': { name: 'Curaçao', abbreviation: 'CW' },
224
+ '533': { name: 'Aruba', abbreviation: 'AW' },
225
+ '534': { name: 'Sint Maarten', abbreviation: 'SX' },
226
+ '535': { name: 'Bonaire, Sint Eustatius and Saba', abbreviation: 'BQ' },
227
+ '540': { name: 'New Caledonia', abbreviation: 'NC' },
228
+ '548': { name: 'Vanuatu', abbreviation: 'VU' },
229
+ '554': { name: 'New Zealand', abbreviation: 'NZ' },
230
+ '558': { name: 'Nicaragua', abbreviation: 'NI' },
231
+ '562': { name: 'Niger', abbreviation: 'NE' },
232
+ '566': { name: 'Nigeria', abbreviation: 'NG' },
233
+ '570': { name: 'Niue', abbreviation: 'NU' },
234
+ '574': { name: 'Norfolk Island', abbreviation: 'NF' },
235
+ '578': { name: 'Norway', abbreviation: 'NO' },
236
+ '580': { name: 'Northern Mariana Islands', abbreviation: 'MP' },
237
+ '581': { name: 'United States Minor Outlying Islands', abbreviation: 'UM' },
238
+ '583': { name: 'Federated States of Micronesia', abbreviation: 'FM' },
239
+ '584': { name: 'Marshall Islands', abbreviation: 'MH' },
240
+ '585': { name: 'Palau', abbreviation: 'PW' },
241
+ '586': { name: 'Pakistan', abbreviation: 'PK' },
242
+ '591': { name: 'Panama', abbreviation: 'PA' },
243
+ '598': { name: 'Papua New Guinea', abbreviation: 'PG' },
244
+ '600': { name: 'Paraguay', abbreviation: 'PY' },
245
+ '604': { name: 'Peru', abbreviation: 'PE' },
246
+ '608': { name: 'Philippines', abbreviation: 'PH' },
247
+ '612': { name: 'Pitcairn Islands', abbreviation: 'PN' },
248
+ '616': { name: 'Poland', abbreviation: 'PL' },
249
+ '620': { name: 'Portugal', abbreviation: 'PT' },
250
+ '624': { name: 'Guinea-Bissau', abbreviation: 'GW' },
251
+ '626': { name: 'Timor-Leste', abbreviation: 'TL' },
252
+ '630': { name: 'Puerto Rico', abbreviation: 'PR' },
253
+ '634': { name: 'Qatar', abbreviation: 'QA' },
254
+ '638': { name: 'Réunion', abbreviation: 'RE' },
255
+ '642': { name: 'Romania', abbreviation: 'RO' },
256
+ '643': { name: 'Russia', abbreviation: 'RU' },
257
+ '646': { name: 'Rwanda', abbreviation: 'RW' },
258
+ '652': { name: 'Saint Barthélemy', abbreviation: 'BL' },
259
+ '654': { name: 'Saint Helena, Ascension and Tristan da Cunha', abbreviation: 'SH' },
260
+ '659': { name: 'Saint Kitts and Nevis', abbreviation: 'KN' },
261
+ '660': { name: 'Anguilla', abbreviation: 'AI' },
262
+ '662': { name: 'Saint Lucia', abbreviation: 'LC' },
263
+ '663': { name: 'Saint Martin', abbreviation: 'MF' },
264
+ '666': { name: 'Saint Pierre and Miquelon', abbreviation: 'PM' },
265
+ '670': { name: 'Saint Vincent and the Grenadines', abbreviation: 'VC' },
266
+ '674': { name: 'San Marino', abbreviation: 'SM' },
267
+ '678': { name: 'São Tomé and Príncipe', abbreviation: 'ST' },
268
+ '682': { name: 'Saudi Arabia', abbreviation: 'SA' },
269
+ '686': { name: 'Senegal', abbreviation: 'SN' },
270
+ '688': { name: 'Serbia', abbreviation: 'RS' },
271
+ '690': { name: 'Seychelles', abbreviation: 'SC' },
272
+ '694': { name: 'Sierra Leone', abbreviation: 'SL' },
273
+ '702': { name: 'Singapore', abbreviation: 'SG' },
274
+ '703': { name: 'Slovakia', abbreviation: 'SK' },
275
+ '704': { name: 'Vietnam', abbreviation: 'VN' },
276
+ '705': { name: 'Slovenia', abbreviation: 'SI' },
277
+ '706': { name: 'Somalia', abbreviation: 'SO' },
278
+ '710': { name: 'South Africa', abbreviation: 'ZA' },
279
+ '716': { name: 'Zimbabwe', abbreviation: 'ZW' },
280
+ '724': { name: 'Spain', abbreviation: 'ES' },
281
+ '728': { name: 'South Sudan', abbreviation: 'SS' },
282
+ '729': { name: 'Sudan', abbreviation: 'SD' },
283
+ '732': { name: 'Western Sahara', abbreviation: 'EH' },
284
+ '740': { name: 'Suriname', abbreviation: 'SR' },
285
+ '744': { name: 'Svalbard and Jan Mayen', abbreviation: 'SJ' },
286
+ '748': { name: 'Eswatini', abbreviation: 'SZ' },
287
+ '752': { name: 'Sweden', abbreviation: 'SE' },
288
+ '756': { name: 'Switzerland', abbreviation: 'CH' },
289
+ '760': { name: 'Syria', abbreviation: 'SY' },
290
+ '762': { name: 'Tajikistan', abbreviation: 'TJ' },
291
+ '764': { name: 'Thailand', abbreviation: 'TH' },
292
+ '768': { name: 'Togo', abbreviation: 'TG' },
293
+ '772': { name: 'Tokelau', abbreviation: 'TK' },
294
+ '776': { name: 'Tonga', abbreviation: 'TO' },
295
+ '780': { name: 'Trinidad and Tobago', abbreviation: 'TT' },
296
+ '784': { name: 'United Arab Emirates', abbreviation: 'AE' },
297
+ '788': { name: 'Tunisia', abbreviation: 'TN' },
298
+ '792': { name: 'Turkey', abbreviation: 'TR' },
299
+ '795': { name: 'Turkmenistan', abbreviation: 'TM' },
300
+ '796': { name: 'Turks and Caicos Islands', abbreviation: 'TC' },
301
+ '798': { name: 'Tuvalu', abbreviation: 'TV' },
302
+ '800': { name: 'Uganda', abbreviation: 'UG' },
303
+ '804': { name: 'Ukraine', abbreviation: 'UA' },
304
+ '807': { name: 'North Macedonia', abbreviation: 'MK' },
305
+ '818': { name: 'Egypt', abbreviation: 'EG' },
306
+ '826': { name: 'United Kingdom', abbreviation: 'GB' },
307
+ '831': { name: 'Guernsey', abbreviation: 'GG' },
308
+ '832': { name: 'Jersey', abbreviation: 'JE' },
309
+ '833': { name: 'Isle of Man', abbreviation: 'IM' },
310
+ '834': { name: 'Tanzania', abbreviation: 'TZ' },
311
+ '840': { name: 'United States', abbreviation: 'US' },
312
+ '850': { name: 'U.S. Virgin Islands', abbreviation: 'VI' },
313
+ '854': { name: 'Burkina Faso', abbreviation: 'BF' },
314
+ '858': { name: 'Uruguay', abbreviation: 'UY' },
315
+ '860': { name: 'Uzbekistan', abbreviation: 'UZ' },
316
+ '862': { name: 'Venezuela', abbreviation: 'VE' },
317
+ '876': { name: 'Wallis and Futuna', abbreviation: 'WF' },
318
+ '882': { name: 'Samoa', abbreviation: 'WS' },
319
+ '887': { name: 'Yemen', abbreviation: 'YE' },
320
+ '894': { name: 'Zambia', abbreviation: 'ZM' },
321
+ };
322
+ function USMap({ theme, data, xAxisField, xAxisFormat, yAxisFields, onClickChartElement, colors, colorMap, className, containerStyle, }) {
323
+ const containerRef = (0, react_1.useRef)(null);
324
+ const [hoveredState, setHoveredState] = (0, react_1.useState)(undefined);
325
+ const [hoveredCoords, setHoveredCoords] = (0, react_1.useState)(undefined);
326
+ const mappedData = data.reduce((acc, curr) => {
327
+ acc[curr[xAxisField]?.toString()] = curr;
328
+ return acc;
329
+ }, {});
330
+ const measureField = yAxisFields[0].field;
331
+ const colorScale = (0, react_1.useMemo)(() => {
332
+ const values = Object.values(mappedData)
333
+ .map((d) => parseFloat(d[measureField]))
334
+ .filter((v) => !isNaN(v));
335
+ const minValue = Math.min(...values);
336
+ const maxValue = Math.max(...values);
337
+ // Allows the users to override the color scheme on a per-chart basis.
338
+ const getCustomColor = (field, gradient) => {
339
+ let key = 'primary';
340
+ if (colorMap && colorMap[field]) {
341
+ if (gradient === 'start')
342
+ key = 'primaryGradientStart';
343
+ if (gradient === 'stop')
344
+ key = 'primaryGradientStop';
345
+ // @ts-ignore
346
+ return colorMap[field][key];
347
+ }
348
+ return undefined; // use the default colors from the theme
349
+ };
350
+ const gradientStart = getCustomColor(yAxisFields[0]?.field ?? xAxisField, 'start') ??
351
+ getCustomColor(yAxisFields[0]?.field ?? xAxisField) ??
352
+ '#FFFFFF';
353
+ const gradientStop = getCustomColor(yAxisFields[0]?.field ?? xAxisField, 'stop') ??
354
+ getCustomColor(yAxisFields[0]?.field ?? xAxisField) ??
355
+ colors[0];
356
+ return (0, d3_scale_1.scaleLog)()
357
+ .domain([minValue, maxValue])
358
+ .range([gradientStart ?? "#f7fbff", gradientStop ?? "#08306b"]);
359
+ }, [mappedData, measureField, colorMap, yAxisFields, xAxisField, colors]);
360
+ const hoveredValue = (0, react_1.useMemo)(() => {
361
+ return !hoveredState ? undefined : mappedData[fipsToNames[hoveredState]?.abbreviation ?? '']?.[measureField] ??
362
+ mappedData[fipsToNames[hoveredState]?.name ?? '']?.[measureField] ??
363
+ mappedData[fipsToNames[hoveredState]?.abbreviation?.toLowerCase() ?? '']?.[measureField] ??
364
+ mappedData[fipsToNames[hoveredState]?.name?.toLowerCase() ?? '']?.[measureField];
365
+ }, [hoveredState, mappedData, measureField]);
366
+ return ((0, jsx_runtime_1.jsxs)("div", { ref: containerRef, className: className, style: {
367
+ width: "100%",
368
+ height: "auto",
369
+ marginTop: '-5%',
370
+ zIndex: 0,
371
+ ...containerStyle,
372
+ position: "relative",
373
+ }, children: [(0, jsx_runtime_1.jsx)(react_simple_maps_1.ComposableMap, { projection: "geoAlbersUsa", children: (0, jsx_runtime_1.jsx)(MapLayout, { hoveredRegion: hoveredState, setHoveredRegion: setHoveredState, setHoveredCoords: setHoveredCoords, containerRef: containerRef, mappedData: mappedData, measureField: measureField, colorScale: colorScale, onClickChartElement: onClickChartElement, regionNames: fipsToNames, geographyUrl: statesUrl }) }), hoveredCoords && hoveredState && ((0, jsx_runtime_1.jsx)("div", { style: {
374
+ position: "absolute",
375
+ pointerEvents: "none",
376
+ left: hoveredCoords[0],
377
+ top: hoveredCoords[1],
378
+ }, children: (0, jsx_runtime_1.jsxs)(ChartTooltipFrame_1.default, { theme: theme, children: [(0, jsx_runtime_1.jsx)("div", { style: {
379
+ borderStyle: 'solid',
380
+ borderBottomColor: '#E5E7EB',
381
+ background: 'white',
382
+ borderTop: 'none',
383
+ borderLeft: 'none',
384
+ borderRight: 'none',
385
+ borderBottomWidth: 1,
386
+ display: 'flex',
387
+ flexDirection: 'column',
388
+ paddingLeft: '16px',
389
+ paddingRight: '16px',
390
+ paddingTop: '8px',
391
+ paddingBottom: '8px',
392
+ }, children: (0, jsx_runtime_1.jsx)("p", { style: {
393
+ textAlign: 'left',
394
+ marginTop: 0,
395
+ marginBottom: 0,
396
+ fontFamily: theme?.fontFamily,
397
+ color: theme?.primaryTextColor,
398
+ fontSize: theme?.fontSizeSmall || '14px',
399
+ fontWeight: theme?.fontWeightBold || '500',
400
+ paddingTop: 2,
401
+ paddingBottom: 2,
402
+ }, children: fipsToNames[hoveredState]?.name }) }), (0, jsx_runtime_1.jsx)("div", { style: {
403
+ paddingRight: '16px',
404
+ paddingLeft: '16px',
405
+ paddingTop: '8px',
406
+ paddingBottom: '8px',
407
+ }, children: yAxisFields.map((field) => ((0, jsx_runtime_1.jsx)(ChartTooltipRow_1.default, { value: (0, valueFormatter_1.valueFormatter)({
408
+ fields: [
409
+ ...yAxisFields,
410
+ { field: xAxisField, format: xAxisFormat },
411
+ ],
412
+ field: field.field,
413
+ value: hoveredValue || 0,
414
+ }), name: mappedData[hoveredState]?.name, color: colorScale(parseFloat(hoveredValue)) || 'black', theme: theme }, `id-${field}`))) })] }) }))] }));
415
+ }
416
+ function WorldMap({ theme, data, xAxisField, xAxisFormat, yAxisFields, onClickChartElement, colors, colorMap, className, containerStyle, }) {
417
+ const containerRef = (0, react_1.useRef)(null);
418
+ const [hoveredCountry, setHoveredCountry] = (0, react_1.useState)(undefined);
419
+ const [hoveredCoords, setHoveredCoords] = (0, react_1.useState)(undefined);
420
+ const mappedData = data.reduce((acc, curr) => {
421
+ acc[curr[xAxisField]?.toString()] = curr;
422
+ return acc;
423
+ }, {});
424
+ const measureField = yAxisFields[0].field;
425
+ const colorScale = (0, react_1.useMemo)(() => {
426
+ const values = Object.values(mappedData)
427
+ .map((d) => parseFloat(d[measureField]))
428
+ .filter((v) => !isNaN(v));
429
+ const minValue = Math.min(...values);
430
+ const maxValue = Math.max(...values);
431
+ // Allows the users to override the color scheme on a per-chart basis.
432
+ const getCustomColor = (field, gradient) => {
433
+ let key = 'primary';
434
+ if (colorMap && colorMap[field]) {
435
+ if (gradient === 'start')
436
+ key = 'primaryGradientStart';
437
+ if (gradient === 'stop')
438
+ key = 'primaryGradientStop';
439
+ // @ts-ignore
440
+ return colorMap[field][key];
441
+ }
442
+ return undefined; // use the default colors from the theme
443
+ };
444
+ const gradientStart = getCustomColor(yAxisFields[0]?.field ?? xAxisField, 'start') ??
445
+ getCustomColor(yAxisFields[0]?.field ?? xAxisField) ??
446
+ '#FFFFFF';
447
+ const gradientStop = getCustomColor(yAxisFields[0]?.field ?? xAxisField, 'stop') ??
448
+ getCustomColor(yAxisFields[0]?.field ?? xAxisField) ??
449
+ colors[0];
450
+ return (0, d3_scale_1.scaleLog)()
451
+ .domain([minValue, maxValue])
452
+ .range([gradientStart ?? "#f7fbff", gradientStop ?? "#08306b"]);
453
+ }, [mappedData, measureField, colorMap, yAxisFields, xAxisField, colors]);
454
+ const hoveredValue = (0, react_1.useMemo)(() => {
455
+ return !hoveredCountry ? undefined : mappedData[isoToNames[hoveredCountry]?.abbreviation ?? '']?.[measureField] ??
456
+ mappedData[isoToNames[hoveredCountry]?.name ?? '']?.[measureField] ??
457
+ mappedData[isoToNames[hoveredCountry]?.abbreviation?.toLowerCase() ?? '']?.[measureField] ??
458
+ mappedData[isoToNames[hoveredCountry]?.name?.toLowerCase() ?? '']?.[measureField];
459
+ }, [hoveredCountry, mappedData, measureField]);
460
+ return ((0, jsx_runtime_1.jsxs)("div", { ref: containerRef, className: className, style: {
461
+ width: "100%",
462
+ height: "auto",
463
+ marginTop: '-5%',
464
+ marginBottom: '-6.5%',
465
+ zIndex: 0,
466
+ ...containerStyle,
467
+ position: "relative",
468
+ }, children: [(0, jsx_runtime_1.jsx)(react_simple_maps_1.ComposableMap, { projection: "geoEqualEarth", children: (0, jsx_runtime_1.jsx)(MapLayout, { hoveredRegion: hoveredCountry, setHoveredRegion: setHoveredCountry, setHoveredCoords: setHoveredCoords, containerRef: containerRef, mappedData: mappedData, measureField: measureField, colorScale: colorScale, onClickChartElement: onClickChartElement, geographyUrl: countriesUrl, regionNames: isoToNames }) }), hoveredCoords && hoveredCountry && ((0, jsx_runtime_1.jsx)("div", { style: {
469
+ position: "absolute",
470
+ pointerEvents: "none",
471
+ left: hoveredCoords[0],
472
+ top: hoveredCoords[1],
473
+ }, children: (0, jsx_runtime_1.jsxs)(ChartTooltipFrame_1.default, { theme: theme, children: [(0, jsx_runtime_1.jsx)("div", { style: {
474
+ borderStyle: 'solid',
475
+ borderBottomColor: '#E5E7EB',
476
+ background: 'white',
477
+ borderTop: 'none',
478
+ borderLeft: 'none',
479
+ borderRight: 'none',
480
+ borderBottomWidth: 1,
481
+ display: 'flex',
482
+ flexDirection: 'column',
483
+ paddingLeft: '16px',
484
+ paddingRight: '16px',
485
+ paddingTop: '8px',
486
+ paddingBottom: '8px',
487
+ }, children: (0, jsx_runtime_1.jsx)("p", { style: {
488
+ textAlign: 'left',
489
+ marginTop: 0,
490
+ marginBottom: 0,
491
+ fontFamily: theme?.fontFamily,
492
+ color: theme?.primaryTextColor,
493
+ fontSize: theme?.fontSizeSmall || '14px',
494
+ fontWeight: theme?.fontWeightBold || '500',
495
+ paddingTop: 2,
496
+ paddingBottom: 2,
497
+ }, children: isoToNames[hoveredCountry]?.name }) }), (0, jsx_runtime_1.jsx)("div", { style: {
498
+ paddingRight: '16px',
499
+ paddingLeft: '16px',
500
+ paddingTop: '8px',
501
+ paddingBottom: '8px',
502
+ }, children: yAxisFields.map((field) => ((0, jsx_runtime_1.jsx)(ChartTooltipRow_1.default, { value: (0, valueFormatter_1.valueFormatter)({
503
+ fields: [
504
+ ...yAxisFields,
505
+ { field: xAxisField, format: xAxisFormat },
506
+ ],
507
+ field: field.field,
508
+ value: hoveredValue || 0,
509
+ }), name: field.label, color: colorScale(parseFloat(hoveredValue)) || 'black', theme: theme }, `id-${field}`))) })] }) }))] }));
510
+ }
511
+ function MapLayout({ geographyUrl, hoveredRegion, setHoveredRegion, setHoveredCoords, containerRef, mappedData, measureField, colorScale, onClickChartElement, regionNames, }) {
512
+ const { projection } = (0, react_simple_maps_1.useMapContext)();
513
+ return ((0, jsx_runtime_1.jsx)(react_simple_maps_1.Geographies, { geography: geographyUrl, children: ({ geographies }) => geographies.map((geo, index) => {
514
+ const regionData = mappedData[geo.id] ??
515
+ mappedData[regionNames[geo.id]?.abbreviation ?? ''] ??
516
+ mappedData[regionNames[geo.id]?.name ?? ''] ??
517
+ mappedData[regionNames[geo.id]?.abbreviation?.toLowerCase() ?? ''] ??
518
+ mappedData[regionNames[geo.id]?.name?.toLowerCase() ?? ''];
519
+ const value = regionData ? parseFloat(regionData[measureField]) : null;
520
+ const fill = value != null ? colorScale(value) : "#D6D6DA";
521
+ return (0, jsx_runtime_1.jsx)(react_simple_maps_1.Geography, { geography: geo, fill: fill, stroke: "#FFFFFF", strokeWidth: 0.5, onMouseEnter: () => {
522
+ const centroid = (0, d3_geo_1.geoCentroid)(geo);
523
+ const projected = projection(centroid);
524
+ if (projected && containerRef.current) {
525
+ const [x, y] = projected;
526
+ const svg = containerRef.current.querySelector("svg");
527
+ if (svg) {
528
+ const svgRect = svg.getBoundingClientRect();
529
+ const viewBoxWidth = 800, viewBoxHeight = 600;
530
+ const scaleX = svgRect.width / viewBoxWidth;
531
+ const scaleY = svgRect.height / viewBoxHeight;
532
+ const finalX = x * scaleX;
533
+ const finalY = y * scaleY;
534
+ setHoveredRegion(geo.id);
535
+ setHoveredCoords([finalX, finalY]);
536
+ }
537
+ }
538
+ }, onMouseLeave: () => {
539
+ if (hoveredRegion === geo.id) {
540
+ setHoveredRegion(undefined);
541
+ }
542
+ }, onClick: () => {
543
+ if (regionData) {
544
+ onClickChartElement?.(regionData);
545
+ }
546
+ } }, geo.id + index.toString());
547
+ }) }));
548
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA0BtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAsJF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,oBAAoB,EAAE,2BAA2B,EACjD,UAAkB,GACnB,EAAE;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CA8Wd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe,4FAQzB;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,KACf,YAAY,CAAC;IAClB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,iBAAiB,GAClB,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;CAC9C,KAAG,GAAG,CAAC,OAmKP,CAAC"}
1
+ {"version":3,"file":"DataLoader.d.ts","sourceRoot":"","sources":["../../../../src/components/Dashboard/DataLoader.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAajD,OAAO,EACL,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AA2BtE,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACnE,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAyKF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,WAAW,EACX,oBAAoB,EAAE,2BAA2B,EACjD,UAAkB,GACnB,EAAE;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CACzC,GAAG,GAAG,CAAC,OAAO,CA6Xd;AAED,KAAK,YAAY,GAAG;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAIF,eAAO,MAAM,eAAe,4FAQzB;IACD,IAAI,EAAE,mBAAmB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAClB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU,KACf,YAAY,CAAC;IAClB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,EACT,SAAS,EACT,KAAK,EACL,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,iBAAiB,GAClB,EAAE,yBAAyB,KAAK,GAAG,CAAC,OAAO,CAAC;CAC9C,KAAG,GAAG,CAAC,OAoLP,CAAC"}