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