@undp/data-viz 2.6.0 → 2.6.1

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 (1559) hide show
  1. package/dist/AnimatePresence-CE6xBsMZ.js +175 -0
  2. package/dist/AnimatePresence-CE6xBsMZ.js.map +1 -0
  3. package/dist/AnimatePresence-CapU-Sxd.cjs +10 -0
  4. package/dist/AnimatePresence-CapU-Sxd.cjs.map +1 -0
  5. package/dist/AreaChart.cjs +1 -2
  6. package/dist/AreaChart.d.ts +2 -231
  7. package/dist/AreaChart.js +2 -441
  8. package/dist/Axis-B3ai1eeP.js +31 -0
  9. package/dist/Axis-B3ai1eeP.js.map +1 -0
  10. package/dist/Axis-BbfI4T5K.cjs +2 -0
  11. package/dist/Axis-BbfI4T5K.cjs.map +1 -0
  12. package/dist/AxisTitle-Co2DmqOy.cjs +2 -0
  13. package/dist/AxisTitle-Co2DmqOy.cjs.map +1 -0
  14. package/dist/AxisTitle-DqJw_G-f.js +20 -0
  15. package/dist/AxisTitle-DqJw_G-f.js.map +1 -0
  16. package/dist/BarGraph-DE7tJ52k.cjs +2 -0
  17. package/dist/BarGraph-DE7tJ52k.cjs.map +1 -0
  18. package/dist/BarGraph-DQogcvkF.js +2177 -0
  19. package/dist/BarGraph-DQogcvkF.js.map +1 -0
  20. package/dist/BarGraph.cjs +1 -2
  21. package/dist/BarGraph.d.ts +2 -473
  22. package/dist/BarGraph.js +2 -2457
  23. package/dist/BasicStatCard.cjs +2 -2
  24. package/dist/BasicStatCard.cjs.map +1 -1
  25. package/dist/BasicStatCard.d.ts +2 -115
  26. package/dist/BasicStatCard.js +136 -122
  27. package/dist/BasicStatCard.js.map +1 -1
  28. package/dist/BeeSwarmChart--7HARz1J.cjs +2 -0
  29. package/dist/BeeSwarmChart--7HARz1J.cjs.map +1 -0
  30. package/dist/BeeSwarmChart-skEHc8uH.js +468 -0
  31. package/dist/BeeSwarmChart-skEHc8uH.js.map +1 -0
  32. package/dist/BeeSwarmChart.cjs +1 -2
  33. package/dist/BeeSwarmChart.d.ts +2 -194
  34. package/dist/BeeSwarmChart.js +2 -537
  35. package/dist/BiVariateChoroplethMap.cjs +1 -2
  36. package/dist/BiVariateChoroplethMap.d.ts +2 -221
  37. package/dist/BiVariateChoroplethMap.js +2 -473
  38. package/dist/BiVariateMap-DXLWC3wL.cjs +2 -0
  39. package/dist/BiVariateMap-DXLWC3wL.cjs.map +1 -0
  40. package/dist/BiVariateMap-Dkppk8YD.js +505 -0
  41. package/dist/BiVariateMap-Dkppk8YD.js.map +1 -0
  42. package/dist/BulletChart-Du9F0JhJ.js +799 -0
  43. package/dist/BulletChart-Du9F0JhJ.js.map +1 -0
  44. package/dist/BulletChart-ElYRyO07.cjs +2 -0
  45. package/dist/BulletChart-ElYRyO07.cjs.map +1 -0
  46. package/dist/BulletChart.cjs +1 -2
  47. package/dist/BulletChart.d.ts +2 -245
  48. package/dist/BulletChart.js +2 -981
  49. package/dist/ButterflyChart-BBWBZXEc.cjs +2 -0
  50. package/dist/ButterflyChart-BBWBZXEc.cjs.map +1 -0
  51. package/dist/ButterflyChart-CHMH57WF.js +514 -0
  52. package/dist/ButterflyChart-CHMH57WF.js.map +1 -0
  53. package/dist/ButterflyChart.cjs +1 -2
  54. package/dist/ButterflyChart.d.ts +2 -210
  55. package/dist/ButterflyChart.js +2 -510
  56. package/dist/ChoroplethMap-BwKqlRYF.cjs +2 -0
  57. package/dist/ChoroplethMap-BwKqlRYF.cjs.map +1 -0
  58. package/dist/ChoroplethMap-CBnFBOj8.js +557 -0
  59. package/dist/ChoroplethMap-CBnFBOj8.js.map +1 -0
  60. package/dist/ChoroplethMap.cjs +1 -2
  61. package/dist/ChoroplethMap.d.ts +2 -218
  62. package/dist/ChoroplethMap.js +2 -500
  63. package/dist/CirclePackingGraph-Rl84B8C1.cjs +2 -0
  64. package/dist/CirclePackingGraph-Rl84B8C1.cjs.map +1 -0
  65. package/dist/CirclePackingGraph-uSZwfRvW.js +320 -0
  66. package/dist/CirclePackingGraph-uSZwfRvW.js.map +1 -0
  67. package/dist/CirclePackingGraph.cjs +1 -2
  68. package/dist/CirclePackingGraph.d.ts +2 -162
  69. package/dist/CirclePackingGraph.js +2 -14
  70. package/dist/ColorLegend.cjs +2 -2
  71. package/dist/ColorLegend.cjs.map +1 -1
  72. package/dist/ColorLegend.d.ts +2 -17
  73. package/dist/ColorLegend.js +45 -61
  74. package/dist/ColorLegend.js.map +1 -1
  75. package/dist/ColorLegendWithMouseOver.cjs +2 -2
  76. package/dist/ColorLegendWithMouseOver.cjs.map +1 -1
  77. package/dist/ColorLegendWithMouseOver.d.ts +2 -16
  78. package/dist/ColorLegendWithMouseOver.js +63 -66
  79. package/dist/ColorLegendWithMouseOver.js.map +1 -1
  80. package/dist/Colors.cjs +2 -2
  81. package/dist/Colors.cjs.map +1 -1
  82. package/dist/Colors.d.ts +2 -190
  83. package/dist/Colors.js +988 -191
  84. package/dist/Colors.js.map +1 -1
  85. package/dist/CompareMaps-BFz1TfXL.cjs +2 -0
  86. package/dist/CompareMaps-BFz1TfXL.cjs.map +1 -0
  87. package/dist/CompareMaps-DaZgF5Pf.js +265 -0
  88. package/dist/CompareMaps-DaZgF5Pf.js.map +1 -0
  89. package/dist/Components/Actions/CopyTextButton.d.ts +10 -0
  90. package/dist/Components/Actions/CopyTextButton.d.ts.map +1 -0
  91. package/dist/Components/Actions/CsvDownloadButton.d.ts +18 -0
  92. package/dist/Components/Actions/CsvDownloadButton.d.ts.map +1 -0
  93. package/dist/Components/Actions/ExcelDownloadButton.d.ts +18 -0
  94. package/dist/Components/Actions/ExcelDownloadButton.d.ts.map +1 -0
  95. package/dist/Components/Actions/ImageDownloadButton.d.ts +12 -0
  96. package/dist/Components/Actions/ImageDownloadButton.d.ts.map +1 -0
  97. package/dist/Components/Actions/SVGDownloadButton.d.ts +12 -0
  98. package/dist/Components/Actions/SVGDownloadButton.d.ts.map +1 -0
  99. package/dist/Components/ColorPalette/index.d.ts +189 -0
  100. package/dist/Components/ColorPalette/index.d.ts.map +1 -0
  101. package/dist/Components/Dashboard/GraphEl.d.ts +16 -0
  102. package/dist/Components/Dashboard/GraphEl.d.ts.map +1 -0
  103. package/dist/Components/Dashboard/GriddedGraphs.d.ts +31 -0
  104. package/dist/Components/Dashboard/GriddedGraphs.d.ts.map +1 -0
  105. package/dist/Components/Dashboard/GriddedGraphsFromConfig.d.ts +33 -0
  106. package/dist/Components/Dashboard/GriddedGraphsFromConfig.d.ts.map +1 -0
  107. package/dist/Components/Dashboard/MultiGraphDashboard.d.ts +22 -0
  108. package/dist/Components/Dashboard/MultiGraphDashboard.d.ts.map +1 -0
  109. package/dist/Components/Dashboard/MultiGraphDashboardFromConfig.d.ts +25 -0
  110. package/dist/Components/Dashboard/MultiGraphDashboardFromConfig.d.ts.map +1 -0
  111. package/dist/Components/Dashboard/MultiGraphDashboardWideToLongFormat.d.ts +19 -0
  112. package/dist/Components/Dashboard/MultiGraphDashboardWideToLongFormat.d.ts.map +1 -0
  113. package/dist/Components/Dashboard/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +23 -0
  114. package/dist/Components/Dashboard/MultiGraphDashboardWideToLongFormatFromConfig.d.ts.map +1 -0
  115. package/dist/Components/Dashboard/PerformanceIntensive/GeoHubMapsEl.d.ts +9 -0
  116. package/dist/Components/Dashboard/PerformanceIntensive/GeoHubMapsEl.d.ts.map +1 -0
  117. package/dist/Components/Dashboard/PerformanceIntensive/MultiGraphDashboard.d.ts +22 -0
  118. package/dist/Components/Dashboard/PerformanceIntensive/MultiGraphDashboard.d.ts.map +1 -0
  119. package/dist/Components/Dashboard/PerformanceIntensive/MultiGraphDashboardFromConfig.d.ts +25 -0
  120. package/dist/Components/Dashboard/PerformanceIntensive/MultiGraphDashboardFromConfig.d.ts.map +1 -0
  121. package/dist/Components/Dashboard/PerformanceIntensive/ScrollStory.d.ts +19 -0
  122. package/dist/Components/Dashboard/PerformanceIntensive/ScrollStory.d.ts.map +1 -0
  123. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardGeoHubMaps.d.ts +10 -0
  124. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardGeoHubMaps.d.ts.map +1 -0
  125. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +13 -0
  126. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardGeoHubMapsFromConfig.d.ts.map +1 -0
  127. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphs.d.ts +27 -0
  128. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphs.d.ts.map +1 -0
  129. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +29 -0
  130. package/dist/Components/Dashboard/PerformanceIntensive/SingleGraphDashboardThreeDGraphsFromConfig.d.ts.map +1 -0
  131. package/dist/Components/Dashboard/PerformanceIntensive/ThreeDGraphEl.d.ts +16 -0
  132. package/dist/Components/Dashboard/PerformanceIntensive/ThreeDGraphEl.d.ts.map +1 -0
  133. package/dist/Components/Dashboard/ScrollStory.d.ts +19 -0
  134. package/dist/Components/Dashboard/ScrollStory.d.ts.map +1 -0
  135. package/dist/Components/Dashboard/SingleGraphDashboard.d.ts +27 -0
  136. package/dist/Components/Dashboard/SingleGraphDashboard.d.ts.map +1 -0
  137. package/dist/Components/Dashboard/SingleGraphDashboardFromConfig.d.ts +29 -0
  138. package/dist/Components/Dashboard/SingleGraphDashboardFromConfig.d.ts.map +1 -0
  139. package/dist/Components/Elements/Annotations.d.ts +36 -0
  140. package/dist/Components/Elements/Annotations.d.ts.map +1 -0
  141. package/dist/Components/Elements/Axes/Axis.d.ts +25 -0
  142. package/dist/Components/Elements/Axes/Axis.d.ts.map +1 -0
  143. package/dist/Components/Elements/Axes/AxisTitle.d.ts +11 -0
  144. package/dist/Components/Elements/Axes/AxisTitle.d.ts.map +1 -0
  145. package/dist/Components/Elements/Axes/XAxesLabels.d.ts +16 -0
  146. package/dist/Components/Elements/Axes/XAxesLabels.d.ts.map +1 -0
  147. package/dist/Components/Elements/Axes/XTicksAndGridLines.d.ts +25 -0
  148. package/dist/Components/Elements/Axes/XTicksAndGridLines.d.ts.map +1 -0
  149. package/dist/Components/Elements/Axes/YAxesLabels.d.ts +16 -0
  150. package/dist/Components/Elements/Axes/YAxesLabels.d.ts.map +1 -0
  151. package/dist/Components/Elements/Axes/YTicksAndGridLines.d.ts +25 -0
  152. package/dist/Components/Elements/Axes/YTicksAndGridLines.d.ts.map +1 -0
  153. package/dist/Components/Elements/ColorLegend.d.ts +14 -0
  154. package/dist/Components/Elements/ColorLegend.d.ts.map +1 -0
  155. package/dist/Components/Elements/ColorLegendWithMouseOver.d.ts +13 -0
  156. package/dist/Components/Elements/ColorLegendWithMouseOver.d.ts.map +1 -0
  157. package/dist/Components/Elements/DetailsModal.d.ts +9 -0
  158. package/dist/Components/Elements/DetailsModal.d.ts.map +1 -0
  159. package/dist/Components/Elements/EmptyState.d.ts +2 -0
  160. package/dist/Components/Elements/EmptyState.d.ts.map +1 -0
  161. package/dist/Components/Elements/GraphContainer.d.ts +18 -0
  162. package/dist/Components/Elements/GraphContainer.d.ts.map +1 -0
  163. package/dist/Components/Elements/GraphFooter.d.ts +17 -0
  164. package/dist/Components/Elements/GraphFooter.d.ts.map +1 -0
  165. package/dist/Components/Elements/GraphHeader.d.ts +20 -0
  166. package/dist/Components/Elements/GraphHeader.d.ts.map +1 -0
  167. package/dist/Components/Elements/HighlightArea/customArea.d.ts +19 -0
  168. package/dist/Components/Elements/HighlightArea/customArea.d.ts.map +1 -0
  169. package/dist/Components/Elements/HighlightArea/index.d.ts +35 -0
  170. package/dist/Components/Elements/HighlightArea/index.d.ts.map +1 -0
  171. package/dist/Components/Elements/LinearColorLegend.d.ts +11 -0
  172. package/dist/Components/Elements/LinearColorLegend.d.ts.map +1 -0
  173. package/dist/Components/Elements/ReferenceLine.d.ts +40 -0
  174. package/dist/Components/Elements/ReferenceLine.d.ts.map +1 -0
  175. package/dist/Components/Elements/RegressionLine.d.ts +17 -0
  176. package/dist/Components/Elements/RegressionLine.d.ts.map +1 -0
  177. package/dist/Components/Elements/ThresholdColorLegendWithMouseOver.d.ts +15 -0
  178. package/dist/Components/Elements/ThresholdColorLegendWithMouseOver.d.ts.map +1 -0
  179. package/dist/Components/Elements/Tooltip.d.ts +12 -0
  180. package/dist/Components/Elements/Tooltip.d.ts.map +1 -0
  181. package/dist/Components/Graphs/BarGraph/GroupedBarGraph/Graph.d.ts +47 -0
  182. package/dist/Components/Graphs/BarGraph/GroupedBarGraph/Graph.d.ts.map +1 -0
  183. package/dist/Components/Graphs/BarGraph/GroupedBarGraph/index.d.ts +65 -0
  184. package/dist/Components/Graphs/BarGraph/GroupedBarGraph/index.d.ts.map +1 -0
  185. package/dist/Components/Graphs/BarGraph/SimpleBarGraph/Graph.d.ts +51 -0
  186. package/dist/Components/Graphs/BarGraph/SimpleBarGraph/Graph.d.ts.map +1 -0
  187. package/dist/Components/Graphs/BarGraph/SimpleBarGraph/index.d.ts +70 -0
  188. package/dist/Components/Graphs/BarGraph/SimpleBarGraph/index.d.ts.map +1 -0
  189. package/dist/Components/Graphs/BarGraph/StackedBarGraph/Graph.d.ts +47 -0
  190. package/dist/Components/Graphs/BarGraph/StackedBarGraph/Graph.d.ts.map +1 -0
  191. package/dist/Components/Graphs/BarGraph/StackedBarGraph/index.d.ts +66 -0
  192. package/dist/Components/Graphs/BarGraph/StackedBarGraph/index.d.ts.map +1 -0
  193. package/dist/Components/Graphs/BarGraph/index.d.ts +354 -0
  194. package/dist/Components/Graphs/BarGraph/index.d.ts.map +1 -0
  195. package/dist/Components/Graphs/BeeSwarmChart/Graph.d.ts +43 -0
  196. package/dist/Components/Graphs/BeeSwarmChart/Graph.d.ts.map +1 -0
  197. package/dist/Components/Graphs/BeeSwarmChart/index.d.ts +100 -0
  198. package/dist/Components/Graphs/BeeSwarmChart/index.d.ts.map +1 -0
  199. package/dist/Components/Graphs/BulletChart/Graph.d.ts +53 -0
  200. package/dist/Components/Graphs/BulletChart/Graph.d.ts.map +1 -0
  201. package/dist/Components/Graphs/BulletChart/index.d.ts +136 -0
  202. package/dist/Components/Graphs/BulletChart/index.d.ts.map +1 -0
  203. package/dist/Components/Graphs/ButterflyChart/Graph.d.ts +42 -0
  204. package/dist/Components/Graphs/ButterflyChart/Graph.d.ts.map +1 -0
  205. package/dist/Components/Graphs/ButterflyChart/index.d.ts +102 -0
  206. package/dist/Components/Graphs/ButterflyChart/index.d.ts.map +1 -0
  207. package/dist/Components/Graphs/CirclePackingGraph/Graph.d.ts +35 -0
  208. package/dist/Components/Graphs/CirclePackingGraph/Graph.d.ts.map +1 -0
  209. package/dist/Components/Graphs/CirclePackingGraph/getMaxCircleRadius.d.ts +2 -0
  210. package/dist/Components/Graphs/CirclePackingGraph/getMaxCircleRadius.d.ts.map +1 -0
  211. package/dist/Components/Graphs/CirclePackingGraph/index.d.ts +88 -0
  212. package/dist/Components/Graphs/CirclePackingGraph/index.d.ts.map +1 -0
  213. package/dist/Components/Graphs/DataCards/Graph.d.ts +26 -0
  214. package/dist/Components/Graphs/DataCards/Graph.d.ts.map +1 -0
  215. package/dist/Components/Graphs/DataCards/index.d.ts +74 -0
  216. package/dist/Components/Graphs/DataCards/index.d.ts.map +1 -0
  217. package/dist/Components/Graphs/DataTable/index.d.ts +46 -0
  218. package/dist/Components/Graphs/DataTable/index.d.ts.map +1 -0
  219. package/dist/Components/Graphs/DonutChart/Graph.d.ts +31 -0
  220. package/dist/Components/Graphs/DonutChart/Graph.d.ts.map +1 -0
  221. package/dist/Components/Graphs/DonutChart/index.d.ts +88 -0
  222. package/dist/Components/Graphs/DonutChart/index.d.ts.map +1 -0
  223. package/dist/Components/Graphs/DumbbellChart/Graph.d.ts +51 -0
  224. package/dist/Components/Graphs/DumbbellChart/Graph.d.ts.map +1 -0
  225. package/dist/Components/Graphs/DumbbellChart/index.d.ts +128 -0
  226. package/dist/Components/Graphs/DumbbellChart/index.d.ts.map +1 -0
  227. package/dist/Components/Graphs/HeatMap/Graph.d.ts +35 -0
  228. package/dist/Components/Graphs/HeatMap/Graph.d.ts.map +1 -0
  229. package/dist/Components/Graphs/HeatMap/index.d.ts +93 -0
  230. package/dist/Components/Graphs/HeatMap/index.d.ts.map +1 -0
  231. package/dist/Components/Graphs/Histogram/index.d.ts +92 -0
  232. package/dist/Components/Graphs/Histogram/index.d.ts.map +1 -0
  233. package/dist/Components/Graphs/LineCharts/DifferenceLineChart/Graph.d.ts +47 -0
  234. package/dist/Components/Graphs/LineCharts/DifferenceLineChart/Graph.d.ts.map +1 -0
  235. package/dist/Components/Graphs/LineCharts/DifferenceLineChart/index.d.ts +106 -0
  236. package/dist/Components/Graphs/LineCharts/DifferenceLineChart/index.d.ts.map +1 -0
  237. package/dist/Components/Graphs/LineCharts/DualAxisLineChart/Graph.d.ts +36 -0
  238. package/dist/Components/Graphs/LineCharts/DualAxisLineChart/Graph.d.ts.map +1 -0
  239. package/dist/Components/Graphs/LineCharts/DualAxisLineChart/index.d.ts +98 -0
  240. package/dist/Components/Graphs/LineCharts/DualAxisLineChart/index.d.ts.map +1 -0
  241. package/dist/Components/Graphs/LineCharts/LineChart/Graph.d.ts +43 -0
  242. package/dist/Components/Graphs/LineCharts/LineChart/Graph.d.ts.map +1 -0
  243. package/dist/Components/Graphs/LineCharts/LineChart/index.d.ts +98 -0
  244. package/dist/Components/Graphs/LineCharts/LineChart/index.d.ts.map +1 -0
  245. package/dist/Components/Graphs/LineCharts/LineChartWithConfidenceInterval/Graph.d.ts +49 -0
  246. package/dist/Components/Graphs/LineCharts/LineChartWithConfidenceInterval/Graph.d.ts.map +1 -0
  247. package/dist/Components/Graphs/LineCharts/LineChartWithConfidenceInterval/index.d.ts +116 -0
  248. package/dist/Components/Graphs/LineCharts/LineChartWithConfidenceInterval/index.d.ts.map +1 -0
  249. package/dist/Components/Graphs/LineCharts/MultiLineAltChart/Graph.d.ts +50 -0
  250. package/dist/Components/Graphs/LineCharts/MultiLineAltChart/Graph.d.ts.map +1 -0
  251. package/dist/Components/Graphs/LineCharts/MultiLineAltChart/index.d.ts +114 -0
  252. package/dist/Components/Graphs/LineCharts/MultiLineAltChart/index.d.ts.map +1 -0
  253. package/dist/Components/Graphs/LineCharts/MultiLineChart/Graph.d.ts +52 -0
  254. package/dist/Components/Graphs/LineCharts/MultiLineChart/Graph.d.ts.map +1 -0
  255. package/dist/Components/Graphs/LineCharts/MultiLineChart/index.d.ts +116 -0
  256. package/dist/Components/Graphs/LineCharts/MultiLineChart/index.d.ts.map +1 -0
  257. package/dist/Components/Graphs/LineCharts/SparkLine/Graph.d.ts +24 -0
  258. package/dist/Components/Graphs/LineCharts/SparkLine/Graph.d.ts.map +1 -0
  259. package/dist/Components/Graphs/LineCharts/SparkLine/index.d.ts +70 -0
  260. package/dist/Components/Graphs/LineCharts/SparkLine/index.d.ts.map +1 -0
  261. package/dist/Components/Graphs/Maps/BiVariateMap/Graph.d.ts +51 -0
  262. package/dist/Components/Graphs/Maps/BiVariateMap/Graph.d.ts.map +1 -0
  263. package/dist/Components/Graphs/Maps/BiVariateMap/index.d.ts +117 -0
  264. package/dist/Components/Graphs/Maps/BiVariateMap/index.d.ts.map +1 -0
  265. package/dist/Components/Graphs/Maps/ChoroplethMap/Graph.d.ts +49 -0
  266. package/dist/Components/Graphs/Maps/ChoroplethMap/Graph.d.ts.map +1 -0
  267. package/dist/Components/Graphs/Maps/ChoroplethMap/index.d.ts +113 -0
  268. package/dist/Components/Graphs/Maps/ChoroplethMap/index.d.ts.map +1 -0
  269. package/dist/Components/Graphs/Maps/DotDensityMap/Graph.d.ts +48 -0
  270. package/dist/Components/Graphs/Maps/DotDensityMap/Graph.d.ts.map +1 -0
  271. package/dist/Components/Graphs/Maps/DotDensityMap/index.d.ts +111 -0
  272. package/dist/Components/Graphs/Maps/DotDensityMap/index.d.ts.map +1 -0
  273. package/dist/Components/Graphs/Maps/GeoHubMaps/CompareMaps/Graph.d.ts +12 -0
  274. package/dist/Components/Graphs/Maps/GeoHubMaps/CompareMaps/Graph.d.ts.map +1 -0
  275. package/dist/Components/Graphs/Maps/GeoHubMaps/CompareMaps/index.d.ts +47 -0
  276. package/dist/Components/Graphs/Maps/GeoHubMaps/CompareMaps/index.d.ts.map +1 -0
  277. package/dist/Components/Graphs/Maps/GeoHubMaps/MapWithLayerSelection/MapEl.d.ts +13 -0
  278. package/dist/Components/Graphs/Maps/GeoHubMaps/MapWithLayerSelection/MapEl.d.ts.map +1 -0
  279. package/dist/Components/Graphs/Maps/GeoHubMaps/MapWithLayerSelection/index.d.ts +56 -0
  280. package/dist/Components/Graphs/Maps/GeoHubMaps/MapWithLayerSelection/index.d.ts.map +1 -0
  281. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubMultipleMap.d.ts +12 -0
  282. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubMultipleMap.d.ts.map +1 -0
  283. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubSingleMap.d.ts +12 -0
  284. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/GeoHubSingleMap.d.ts.map +1 -0
  285. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/index.d.ts +57 -0
  286. package/dist/Components/Graphs/Maps/GeoHubMaps/SimpleMap/index.d.ts.map +1 -0
  287. package/dist/Components/Graphs/Maps/HybridMap/Graph.d.ts +56 -0
  288. package/dist/Components/Graphs/Maps/HybridMap/Graph.d.ts.map +1 -0
  289. package/dist/Components/Graphs/Maps/HybridMap/index.d.ts +127 -0
  290. package/dist/Components/Graphs/Maps/HybridMap/index.d.ts.map +1 -0
  291. package/dist/Components/Graphs/Maps/ThreeDGlobe/Graph.d.ts +46 -0
  292. package/dist/Components/Graphs/Maps/ThreeDGlobe/Graph.d.ts.map +1 -0
  293. package/dist/Components/Graphs/Maps/ThreeDGlobe/index.d.ts +109 -0
  294. package/dist/Components/Graphs/Maps/ThreeDGlobe/index.d.ts.map +1 -0
  295. package/dist/Components/Graphs/ParetoChart/Graph.d.ts +36 -0
  296. package/dist/Components/Graphs/ParetoChart/Graph.d.ts.map +1 -0
  297. package/dist/Components/Graphs/ParetoChart/index.d.ts +100 -0
  298. package/dist/Components/Graphs/ParetoChart/index.d.ts.map +1 -0
  299. package/dist/Components/Graphs/RadarChart/Graph.d.ts +38 -0
  300. package/dist/Components/Graphs/RadarChart/Graph.d.ts.map +1 -0
  301. package/dist/Components/Graphs/RadarChart/index.d.ts +102 -0
  302. package/dist/Components/Graphs/RadarChart/index.d.ts.map +1 -0
  303. package/dist/Components/Graphs/SankeyChart/Graph.d.ts +39 -0
  304. package/dist/Components/Graphs/SankeyChart/Graph.d.ts.map +1 -0
  305. package/dist/Components/Graphs/SankeyChart/index.d.ts +100 -0
  306. package/dist/Components/Graphs/SankeyChart/index.d.ts.map +1 -0
  307. package/dist/Components/Graphs/ScatterPlot/Graph.d.ts +52 -0
  308. package/dist/Components/Graphs/ScatterPlot/Graph.d.ts.map +1 -0
  309. package/dist/Components/Graphs/ScatterPlot/index.d.ts +130 -0
  310. package/dist/Components/Graphs/ScatterPlot/index.d.ts.map +1 -0
  311. package/dist/Components/Graphs/SlopeChart/Graph.d.ts +32 -0
  312. package/dist/Components/Graphs/SlopeChart/Graph.d.ts.map +1 -0
  313. package/dist/Components/Graphs/SlopeChart/index.d.ts +92 -0
  314. package/dist/Components/Graphs/SlopeChart/index.d.ts.map +1 -0
  315. package/dist/Components/Graphs/StackedAreaChart/Graph.d.ts +37 -0
  316. package/dist/Components/Graphs/StackedAreaChart/Graph.d.ts.map +1 -0
  317. package/dist/Components/Graphs/StackedAreaChart/index.d.ts +92 -0
  318. package/dist/Components/Graphs/StackedAreaChart/index.d.ts.map +1 -0
  319. package/dist/Components/Graphs/StatCard/StatCardFromData.d.ts +50 -0
  320. package/dist/Components/Graphs/StatCard/StatCardFromData.d.ts.map +1 -0
  321. package/dist/Components/Graphs/StatCard/index.d.ts +46 -0
  322. package/dist/Components/Graphs/StatCard/index.d.ts.map +1 -0
  323. package/dist/Components/Graphs/StripChart/Graph.d.ts +42 -0
  324. package/dist/Components/Graphs/StripChart/Graph.d.ts.map +1 -0
  325. package/dist/Components/Graphs/StripChart/index.d.ts +102 -0
  326. package/dist/Components/Graphs/StripChart/index.d.ts.map +1 -0
  327. package/dist/Components/Graphs/TreeMapGraph/Graph.d.ts +34 -0
  328. package/dist/Components/Graphs/TreeMapGraph/Graph.d.ts.map +1 -0
  329. package/dist/Components/Graphs/TreeMapGraph/index.d.ts +85 -0
  330. package/dist/Components/Graphs/TreeMapGraph/index.d.ts.map +1 -0
  331. package/dist/Components/Graphs/UnitChart/index.d.ts +66 -0
  332. package/dist/Components/Graphs/UnitChart/index.d.ts.map +1 -0
  333. package/dist/Components/Graphs/WaterfallChart/Graph.d.ts +47 -0
  334. package/dist/Components/Graphs/WaterfallChart/Graph.d.ts.map +1 -0
  335. package/dist/Components/Graphs/WaterfallChart/index.d.ts +114 -0
  336. package/dist/Components/Graphs/WaterfallChart/index.d.ts.map +1 -0
  337. package/dist/Components/Icons/index.d.ts +19 -0
  338. package/dist/Components/Icons/index.d.ts.map +1 -0
  339. package/dist/Components/Typography/FootNote.d.ts +9 -0
  340. package/dist/Components/Typography/FootNote.d.ts.map +1 -0
  341. package/dist/Components/Typography/GraphDescription.d.ts +9 -0
  342. package/dist/Components/Typography/GraphDescription.d.ts.map +1 -0
  343. package/dist/Components/Typography/GraphTitle.d.ts +10 -0
  344. package/dist/Components/Typography/GraphTitle.d.ts.map +1 -0
  345. package/dist/Components/Typography/Source.d.ts +9 -0
  346. package/dist/Components/Typography/Source.d.ts.map +1 -0
  347. package/dist/CopyTextButton.cjs +2 -2
  348. package/dist/CopyTextButton.cjs.map +1 -1
  349. package/dist/CopyTextButton.d.ts +2 -13
  350. package/dist/CopyTextButton.js +27 -45
  351. package/dist/CopyTextButton.js.map +1 -1
  352. package/dist/CsvDownloadButton-BZ7Zr0Gz.js +664 -0
  353. package/dist/CsvDownloadButton-BZ7Zr0Gz.js.map +1 -0
  354. package/dist/CsvDownloadButton-web25aO3.cjs +5 -0
  355. package/dist/CsvDownloadButton-web25aO3.cjs.map +1 -0
  356. package/dist/CsvDownloadButton.cjs +1 -5
  357. package/dist/CsvDownloadButton.d.ts +2 -22
  358. package/dist/CsvDownloadButton.js +2 -846
  359. package/dist/DataCards-BOpanQhW.js +254 -0
  360. package/dist/DataCards-BOpanQhW.js.map +1 -0
  361. package/dist/DataCards-C4lwQNit.cjs +2 -0
  362. package/dist/DataCards-C4lwQNit.cjs.map +1 -0
  363. package/dist/DataCards.cjs +1 -2
  364. package/dist/DataCards.d.ts +2 -134
  365. package/dist/DataCards.js +2 -253
  366. package/dist/DataTable.cjs +2 -2
  367. package/dist/DataTable.cjs.map +1 -1
  368. package/dist/DataTable.d.ts +2 -126
  369. package/dist/DataTable.js +220 -186
  370. package/dist/DataTable.js.map +1 -1
  371. package/dist/DetailsModal-CtGqGcX9.cjs +2 -0
  372. package/dist/DetailsModal-CtGqGcX9.cjs.map +1 -0
  373. package/dist/DetailsModal-DxUowfkg.js +24 -0
  374. package/dist/DetailsModal-DxUowfkg.js.map +1 -0
  375. package/dist/DifferenceLineChart-BVSQviFB.js +653 -0
  376. package/dist/DifferenceLineChart-BVSQviFB.js.map +1 -0
  377. package/dist/DifferenceLineChart-D15cYo7N.cjs +2 -0
  378. package/dist/DifferenceLineChart-D15cYo7N.cjs.map +1 -0
  379. package/dist/DifferenceLineChart.cjs +1 -2
  380. package/dist/DifferenceLineChart.d.ts +2 -246
  381. package/dist/DifferenceLineChart.js +2 -756
  382. package/dist/DonutChart-BoMyev28.js +316 -0
  383. package/dist/DonutChart-BoMyev28.js.map +1 -0
  384. package/dist/DonutChart-CeJOD4Me.cjs +2 -0
  385. package/dist/DonutChart-CeJOD4Me.cjs.map +1 -0
  386. package/dist/DonutChart.cjs +1 -2
  387. package/dist/DonutChart.d.ts +2 -167
  388. package/dist/DonutChart.js +2 -260
  389. package/dist/DotDensityMap-Bx_8p5wJ.cjs +2 -0
  390. package/dist/DotDensityMap-Bx_8p5wJ.cjs.map +1 -0
  391. package/dist/DotDensityMap-F0i_P_SE.js +463 -0
  392. package/dist/DotDensityMap-F0i_P_SE.js.map +1 -0
  393. package/dist/DotDensityMap.cjs +1 -2
  394. package/dist/DotDensityMap.d.ts +2 -209
  395. package/dist/DotDensityMap.js +2 -449
  396. package/dist/DualAxisLineChart-CUD-jRfN.cjs +2 -0
  397. package/dist/DualAxisLineChart-CUD-jRfN.cjs.map +1 -0
  398. package/dist/DualAxisLineChart-DzVs-ftM.js +518 -0
  399. package/dist/DualAxisLineChart-DzVs-ftM.js.map +1 -0
  400. package/dist/DualAxisLineChart.cjs +1 -2
  401. package/dist/DualAxisLineChart.d.ts +2 -193
  402. package/dist/DualAxisLineChart.js +2 -633
  403. package/dist/DumbbellChart-7Dh8xtYv.cjs +2 -0
  404. package/dist/DumbbellChart-7Dh8xtYv.cjs.map +1 -0
  405. package/dist/DumbbellChart-bqOnq8ZF.js +784 -0
  406. package/dist/DumbbellChart-bqOnq8ZF.js.map +1 -0
  407. package/dist/DumbbellChart.cjs +1 -2
  408. package/dist/DumbbellChart.d.ts +2 -235
  409. package/dist/DumbbellChart.js +2 -861
  410. package/dist/EmptyState-Bq7ZJmZB.cjs +2 -0
  411. package/dist/EmptyState-Bq7ZJmZB.cjs.map +1 -0
  412. package/dist/EmptyState-DBmT1Adf.js +21 -0
  413. package/dist/EmptyState-DBmT1Adf.js.map +1 -0
  414. package/dist/ExcelDownloadButton.cjs +2 -2
  415. package/dist/ExcelDownloadButton.cjs.map +1 -1
  416. package/dist/ExcelDownloadButton.d.ts +2 -22
  417. package/dist/ExcelDownloadButton.js +20 -29
  418. package/dist/ExcelDownloadButton.js.map +1 -1
  419. package/dist/FootNote.cjs +2 -2
  420. package/dist/FootNote.cjs.map +1 -1
  421. package/dist/FootNote.d.ts +2 -12
  422. package/dist/FootNote.js +24 -30
  423. package/dist/FootNote.js.map +1 -1
  424. package/dist/GeoHubCompareMaps.cjs +1 -2
  425. package/dist/GeoHubCompareMaps.d.ts +2 -106
  426. package/dist/GeoHubCompareMaps.js +2 -282
  427. package/dist/GeoHubMap.cjs +1 -2
  428. package/dist/GeoHubMap.d.ts +2 -121
  429. package/dist/GeoHubMap.js +2 -236
  430. package/dist/GeoHubMapWithLayerSelection.cjs +1 -2
  431. package/dist/GeoHubMapWithLayerSelection.d.ts +2 -120
  432. package/dist/GeoHubMapWithLayerSelection.js +2 -208
  433. package/dist/GraphContainer-7xAPK4Tb.cjs +2 -0
  434. package/dist/GraphContainer-7xAPK4Tb.cjs.map +1 -0
  435. package/dist/GraphContainer-DgEB1AVN.js +33 -0
  436. package/dist/GraphContainer-DgEB1AVN.js.map +1 -0
  437. package/dist/GraphDescription.cjs +2 -2
  438. package/dist/GraphDescription.cjs.map +1 -1
  439. package/dist/GraphDescription.d.ts +2 -12
  440. package/dist/GraphDescription.js +24 -27
  441. package/dist/GraphDescription.js.map +1 -1
  442. package/dist/GraphEl-DKWanDSW.cjs +2 -0
  443. package/dist/GraphEl-DKWanDSW.cjs.map +1 -0
  444. package/dist/GraphEl-YjxZ25y6.js +1781 -0
  445. package/dist/GraphEl-YjxZ25y6.js.map +1 -0
  446. package/dist/GraphFooter.cjs +2 -2
  447. package/dist/GraphFooter.cjs.map +1 -1
  448. package/dist/GraphFooter.d.ts +2 -24
  449. package/dist/GraphFooter.js +24 -31
  450. package/dist/GraphFooter.js.map +1 -1
  451. package/dist/GraphHeader.cjs +2 -2
  452. package/dist/GraphHeader.cjs.map +1 -1
  453. package/dist/GraphHeader.d.ts +2 -23
  454. package/dist/GraphHeader.js +43 -49
  455. package/dist/GraphHeader.js.map +1 -1
  456. package/dist/GraphTitle.cjs +2 -2
  457. package/dist/GraphTitle.cjs.map +1 -1
  458. package/dist/GraphTitle.d.ts +2 -13
  459. package/dist/GraphTitle.js +29 -34
  460. package/dist/GraphTitle.js.map +1 -1
  461. package/dist/GriddedGraphs.cjs +2 -2
  462. package/dist/GriddedGraphs.cjs.map +1 -1
  463. package/dist/GriddedGraphs.d.ts +2 -641
  464. package/dist/GriddedGraphs.js +355 -264
  465. package/dist/GriddedGraphs.js.map +1 -1
  466. package/dist/GriddedGraphsFromConfig.cjs +2 -2
  467. package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
  468. package/dist/GriddedGraphsFromConfig.d.ts +2 -644
  469. package/dist/GriddedGraphsFromConfig.js +40 -28
  470. package/dist/GriddedGraphsFromConfig.js.map +1 -1
  471. package/dist/HeatMap-CpWBTEmB.cjs +2 -0
  472. package/dist/HeatMap-CpWBTEmB.cjs.map +1 -0
  473. package/dist/HeatMap-V6VFVvJv.js +338 -0
  474. package/dist/HeatMap-V6VFVvJv.js.map +1 -0
  475. package/dist/HeatMap.cjs +1 -2
  476. package/dist/HeatMap.d.ts +2 -175
  477. package/dist/HeatMap.js +2 -289
  478. package/dist/HighlightArea-BljOOgRP.js +76 -0
  479. package/dist/HighlightArea-BljOOgRP.js.map +1 -0
  480. package/dist/HighlightArea-CJ2XwY67.cjs +2 -0
  481. package/dist/HighlightArea-CJ2XwY67.cjs.map +1 -0
  482. package/dist/Histogram-B995-qQB.cjs +2 -0
  483. package/dist/Histogram-B995-qQB.cjs.map +1 -0
  484. package/dist/Histogram-B9crdM0i.js +250 -0
  485. package/dist/Histogram-B9crdM0i.js.map +1 -0
  486. package/dist/Histogram.cjs +1 -2
  487. package/dist/Histogram.d.ts +2 -178
  488. package/dist/Histogram.js +2 -179
  489. package/dist/HybridMap-B2wu6VbK.cjs +2 -0
  490. package/dist/HybridMap-B2wu6VbK.cjs.map +1 -0
  491. package/dist/HybridMap-D_faTI4N.js +664 -0
  492. package/dist/HybridMap-D_faTI4N.js.map +1 -0
  493. package/dist/HybridMap.cjs +1 -2
  494. package/dist/HybridMap.d.ts +2 -236
  495. package/dist/HybridMap.js +2 -593
  496. package/dist/Icons-BLXwPP3h.js +289 -0
  497. package/dist/Icons-BLXwPP3h.js.map +1 -0
  498. package/dist/Icons-DXw7FqJ_.cjs +2 -0
  499. package/dist/Icons-DXw7FqJ_.cjs.map +1 -0
  500. package/dist/ImageDownloadButton.cjs +2 -2
  501. package/dist/ImageDownloadButton.cjs.map +1 -1
  502. package/dist/ImageDownloadButton.d.ts +2 -16
  503. package/dist/ImageDownloadButton.js +22 -28
  504. package/dist/ImageDownloadButton.js.map +1 -1
  505. package/dist/LineChart-BEUT_K-o.js +458 -0
  506. package/dist/LineChart-BEUT_K-o.js.map +1 -0
  507. package/dist/LineChart-Do_hKdIv.cjs +2 -0
  508. package/dist/LineChart-Do_hKdIv.cjs.map +1 -0
  509. package/dist/LineChartWithConfidenceInterval-BiSJpLry.js +657 -0
  510. package/dist/LineChartWithConfidenceInterval-BiSJpLry.js.map +1 -0
  511. package/dist/LineChartWithConfidenceInterval-D4aZ2CEy.cjs +2 -0
  512. package/dist/LineChartWithConfidenceInterval-D4aZ2CEy.cjs.map +1 -0
  513. package/dist/LineChartWithConfidenceInterval.cjs +1 -2
  514. package/dist/LineChartWithConfidenceInterval.d.ts +2 -257
  515. package/dist/LineChartWithConfidenceInterval.js +2 -699
  516. package/dist/LinearColorLegend.cjs +2 -2
  517. package/dist/LinearColorLegend.cjs.map +1 -1
  518. package/dist/LinearColorLegend.d.ts +2 -14
  519. package/dist/LinearColorLegend.js +39 -54
  520. package/dist/LinearColorLegend.js.map +1 -1
  521. package/dist/MapWithLayerSelection-BVxg3gYq.cjs +2 -0
  522. package/dist/MapWithLayerSelection-BVxg3gYq.cjs.map +1 -0
  523. package/dist/MapWithLayerSelection-D67zxor8.js +210 -0
  524. package/dist/MapWithLayerSelection-D67zxor8.js.map +1 -0
  525. package/dist/MultiGraphDashboard.cjs +2 -2
  526. package/dist/MultiGraphDashboard.cjs.map +1 -1
  527. package/dist/MultiGraphDashboard.d.ts +2 -665
  528. package/dist/MultiGraphDashboard.js +209 -144
  529. package/dist/MultiGraphDashboard.js.map +1 -1
  530. package/dist/MultiGraphDashboardFromConfig.cjs +2 -2
  531. package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
  532. package/dist/MultiGraphDashboardFromConfig.d.ts +2 -669
  533. package/dist/MultiGraphDashboardFromConfig.js +35 -28
  534. package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
  535. package/dist/MultiGraphDashboardWideToLongFormat-BPwP5bx2.cjs +2 -0
  536. package/dist/MultiGraphDashboardWideToLongFormat-BPwP5bx2.cjs.map +1 -0
  537. package/dist/MultiGraphDashboardWideToLongFormat-Ds7V2gxg.js +168 -0
  538. package/dist/MultiGraphDashboardWideToLongFormat-Ds7V2gxg.js.map +1 -0
  539. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -2
  540. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +2 -131
  541. package/dist/MultiGraphDashboardWideToLongFormat.js +2 -160
  542. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +2 -2
  543. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
  544. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +2 -136
  545. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +32 -28
  546. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
  547. package/dist/MultiLineAltChart-BkEze7t7.cjs +2 -0
  548. package/dist/MultiLineAltChart-BkEze7t7.cjs.map +1 -0
  549. package/dist/MultiLineAltChart-CZGWeSsV.js +532 -0
  550. package/dist/MultiLineAltChart-CZGWeSsV.js.map +1 -0
  551. package/dist/MultiLineAltChart.cjs +1 -2
  552. package/dist/MultiLineAltChart.d.ts +2 -255
  553. package/dist/MultiLineAltChart.js +2 -647
  554. package/dist/MultiLineChart-BB13IJLX.js +531 -0
  555. package/dist/MultiLineChart-BB13IJLX.js.map +1 -0
  556. package/dist/MultiLineChart-CQK9Ovk8.cjs +2 -0
  557. package/dist/MultiLineChart-CQK9Ovk8.cjs.map +1 -0
  558. package/dist/MultiLineChart.cjs +1 -2
  559. package/dist/MultiLineChart.d.ts +2 -255
  560. package/dist/MultiLineChart.js +2 -636
  561. package/dist/ParetoChart-BB89ZG8n.js +467 -0
  562. package/dist/ParetoChart-BB89ZG8n.js.map +1 -0
  563. package/dist/ParetoChart-sZCTqhIt.cjs +2 -0
  564. package/dist/ParetoChart-sZCTqhIt.cjs.map +1 -0
  565. package/dist/ParetoChart.cjs +1 -2
  566. package/dist/ParetoChart.d.ts +2 -187
  567. package/dist/ParetoChart.js +2 -540
  568. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +2 -2
  569. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  570. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +2 -669
  571. package/dist/PerformanceIntensiveMultiGraphDashboard.js +253 -169
  572. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  573. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +2 -2
  574. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
  575. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +2 -673
  576. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +35 -28
  577. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -1
  578. package/dist/PerformanceIntensiveScrollStory.cjs +2 -2
  579. package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
  580. package/dist/PerformanceIntensiveScrollStory.d.ts +2 -595
  581. package/dist/PerformanceIntensiveScrollStory.js +88 -99
  582. package/dist/PerformanceIntensiveScrollStory.js.map +1 -1
  583. package/dist/RadarChart-5VC51Iv8.cjs +2 -0
  584. package/dist/RadarChart-5VC51Iv8.cjs.map +1 -0
  585. package/dist/RadarChart-DaID9Q1F.js +491 -0
  586. package/dist/RadarChart-DaID9Q1F.js.map +1 -0
  587. package/dist/RadarChart.cjs +1 -2
  588. package/dist/RadarChart.d.ts +2 -187
  589. package/dist/RadarChart.js +2 -535
  590. package/dist/ReferenceLine-C8owKJx1.js +90 -0
  591. package/dist/ReferenceLine-C8owKJx1.js.map +1 -0
  592. package/dist/ReferenceLine-Dltt-xtO.cjs +2 -0
  593. package/dist/ReferenceLine-Dltt-xtO.cjs.map +1 -0
  594. package/dist/RegressionLine-B-3HbVf4.js +53 -0
  595. package/dist/RegressionLine-B-3HbVf4.js.map +1 -0
  596. package/dist/RegressionLine-Cju7e0DE.cjs +2 -0
  597. package/dist/RegressionLine-Cju7e0DE.cjs.map +1 -0
  598. package/dist/SVGDownloadButton.cjs +2 -2
  599. package/dist/SVGDownloadButton.cjs.map +1 -1
  600. package/dist/SVGDownloadButton.d.ts +2 -15
  601. package/dist/SVGDownloadButton.js +22 -28
  602. package/dist/SVGDownloadButton.js.map +1 -1
  603. package/dist/SankeyChart-Cj7ihF_-.js +786 -0
  604. package/dist/SankeyChart-Cj7ihF_-.js.map +1 -0
  605. package/dist/SankeyChart-DbMoZmbh.cjs +2 -0
  606. package/dist/SankeyChart-DbMoZmbh.cjs.map +1 -0
  607. package/dist/SankeyChart.cjs +1 -2
  608. package/dist/SankeyChart.d.ts +2 -185
  609. package/dist/SankeyChart.js +2 -793
  610. package/dist/ScatterPlot-DGv-CLx8.js +588 -0
  611. package/dist/ScatterPlot-DGv-CLx8.js.map +1 -0
  612. package/dist/ScatterPlot-zfJrQptW.cjs +2 -0
  613. package/dist/ScatterPlot-zfJrQptW.cjs.map +1 -0
  614. package/dist/ScatterPlot.cjs +1 -2
  615. package/dist/ScatterPlot.d.ts +2 -279
  616. package/dist/ScatterPlot.js +2 -706
  617. package/dist/ScrollStory.cjs +2 -2
  618. package/dist/ScrollStory.cjs.map +1 -1
  619. package/dist/ScrollStory.d.ts +2 -591
  620. package/dist/ScrollStory.js +74 -92
  621. package/dist/ScrollStory.js.map +1 -1
  622. package/dist/SimpleLineChart.cjs +1 -2
  623. package/dist/SimpleLineChart.d.ts +2 -237
  624. package/dist/SimpleLineChart.js +2 -527
  625. package/dist/SimpleMap-DKkJMa4X.cjs +2 -0
  626. package/dist/SimpleMap-DKkJMa4X.cjs.map +1 -0
  627. package/dist/SimpleMap-Q5Ax5xNq.js +279 -0
  628. package/dist/SimpleMap-Q5Ax5xNq.js.map +1 -0
  629. package/dist/SingleGraphDashboard.cjs +2 -2
  630. package/dist/SingleGraphDashboard.cjs.map +1 -1
  631. package/dist/SingleGraphDashboard.d.ts +2 -645
  632. package/dist/SingleGraphDashboard.js +386 -303
  633. package/dist/SingleGraphDashboard.js.map +1 -1
  634. package/dist/SingleGraphDashboardFromConfig.cjs +2 -2
  635. package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
  636. package/dist/SingleGraphDashboardFromConfig.d.ts +2 -648
  637. package/dist/SingleGraphDashboardFromConfig.js +36 -28
  638. package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
  639. package/dist/SingleGraphDashboardGeoHubMaps-BNKMBM5-.js +158 -0
  640. package/dist/SingleGraphDashboardGeoHubMaps-BNKMBM5-.js.map +1 -0
  641. package/dist/SingleGraphDashboardGeoHubMaps-DGbbjY5J.cjs +2 -0
  642. package/dist/SingleGraphDashboardGeoHubMaps-DGbbjY5J.cjs.map +1 -0
  643. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -2
  644. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -530
  645. package/dist/SingleGraphDashboardGeoHubMaps.js +2 -167
  646. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +2 -2
  647. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
  648. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -534
  649. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +26 -28
  650. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -1
  651. package/dist/SingleGraphDashboardThreeDGraphs-BsCgN8DA.js +461 -0
  652. package/dist/SingleGraphDashboardThreeDGraphs-BsCgN8DA.js.map +1 -0
  653. package/dist/SingleGraphDashboardThreeDGraphs-qstwmomC.cjs +2 -0
  654. package/dist/SingleGraphDashboardThreeDGraphs-qstwmomC.cjs.map +1 -0
  655. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -2
  656. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +2 -643
  657. package/dist/SingleGraphDashboardThreeDGraphs.js +2 -387
  658. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +2 -2
  659. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
  660. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +2 -646
  661. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +36 -28
  662. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -1
  663. package/dist/SlopeChart-BgzrVFpf.js +431 -0
  664. package/dist/SlopeChart-BgzrVFpf.js.map +1 -0
  665. package/dist/SlopeChart-BwQY7GJl.cjs +2 -0
  666. package/dist/SlopeChart-BwQY7GJl.cjs.map +1 -0
  667. package/dist/SlopeChart.cjs +1 -2
  668. package/dist/SlopeChart.d.ts +2 -170
  669. package/dist/SlopeChart.js +2 -548
  670. package/dist/Source.cjs +2 -2
  671. package/dist/Source.cjs.map +1 -1
  672. package/dist/Source.d.ts +2 -16
  673. package/dist/Source.js +34 -40
  674. package/dist/Source.js.map +1 -1
  675. package/dist/SparkLine-DTNx2kjz.js +216 -0
  676. package/dist/SparkLine-DTNx2kjz.js.map +1 -0
  677. package/dist/SparkLine-cHaN4VYd.cjs +2 -0
  678. package/dist/SparkLine-cHaN4VYd.cjs.map +1 -0
  679. package/dist/SparkLine.cjs +1 -2
  680. package/dist/SparkLine.d.ts +2 -142
  681. package/dist/SparkLine.js +2 -296
  682. package/dist/StackedAreaChart-CtlLKKP4.js +381 -0
  683. package/dist/StackedAreaChart-CtlLKKP4.js.map +1 -0
  684. package/dist/StackedAreaChart-Du-YaLNf.cjs +2 -0
  685. package/dist/StackedAreaChart-Du-YaLNf.cjs.map +1 -0
  686. package/dist/StatCardFromData.cjs +2 -2
  687. package/dist/StatCardFromData.cjs.map +1 -1
  688. package/dist/StatCardFromData.d.ts +2 -124
  689. package/dist/StatCardFromData.js +138 -167
  690. package/dist/StatCardFromData.js.map +1 -1
  691. package/dist/StripChart-BG2FqiBD.js +564 -0
  692. package/dist/StripChart-BG2FqiBD.js.map +1 -0
  693. package/dist/StripChart-C2Px5GnZ.cjs +2 -0
  694. package/dist/StripChart-C2Px5GnZ.cjs.map +1 -0
  695. package/dist/StripChart.cjs +1 -2
  696. package/dist/StripChart.d.ts +2 -187
  697. package/dist/StripChart.js +2 -790
  698. package/dist/ThreeDGlobe-7eJdMW-R.cjs +2 -0
  699. package/dist/ThreeDGlobe-7eJdMW-R.cjs.map +1 -0
  700. package/dist/ThreeDGlobe-DXL9WkNi.js +441 -0
  701. package/dist/ThreeDGlobe-DXL9WkNi.js.map +1 -0
  702. package/dist/ThreeDGlobe.cjs +1 -2
  703. package/dist/ThreeDGlobe.d.ts +2 -247
  704. package/dist/ThreeDGlobe.js +2 -419
  705. package/dist/ThresholdColorLegendWithMouseOver.cjs +2 -2
  706. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
  707. package/dist/ThresholdColorLegendWithMouseOver.d.ts +2 -18
  708. package/dist/ThresholdColorLegendWithMouseOver.js +109 -103
  709. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  710. package/dist/Tooltip-CO_iOj_w.cjs +2 -0
  711. package/dist/Tooltip-CO_iOj_w.cjs.map +1 -0
  712. package/dist/Tooltip-Y6uTGwkF.js +33 -0
  713. package/dist/Tooltip-Y6uTGwkF.js.map +1 -0
  714. package/dist/TreeMapGraph-BL2-s-r1.cjs +2 -0
  715. package/dist/TreeMapGraph-BL2-s-r1.cjs.map +1 -0
  716. package/dist/TreeMapGraph-C9G05WWG.js +598 -0
  717. package/dist/TreeMapGraph-C9G05WWG.js.map +1 -0
  718. package/dist/TreeMapGraph.cjs +1 -2
  719. package/dist/TreeMapGraph.d.ts +2 -165
  720. package/dist/TreeMapGraph.js +2 -618
  721. package/dist/Types.cjs +1 -2
  722. package/dist/Types.d.ts +935 -1033
  723. package/dist/Types.d.ts.map +1 -0
  724. package/dist/Types.js +0 -2
  725. package/dist/UnitChart.cjs +2 -2
  726. package/dist/UnitChart.cjs.map +1 -1
  727. package/dist/UnitChart.d.ts +2 -145
  728. package/dist/UnitChart.js +148 -165
  729. package/dist/UnitChart.js.map +1 -1
  730. package/dist/Utils/checkDataValidity.d.ts +6 -0
  731. package/dist/Utils/checkDataValidity.d.ts.map +1 -0
  732. package/dist/Utils/checkIfMultiple.d.ts +3 -0
  733. package/dist/Utils/checkIfMultiple.d.ts.map +1 -0
  734. package/dist/Utils/checkIfNullOrUndefined.d.ts +14 -0
  735. package/dist/Utils/checkIfNullOrUndefined.d.ts.map +1 -0
  736. package/dist/Utils/ensureCompleteData.d.ts +8 -0
  737. package/dist/Utils/ensureCompleteData.d.ts.map +1 -0
  738. package/dist/Utils/excelDownload.d.ts +30 -0
  739. package/dist/Utils/excelDownload.d.ts.map +1 -0
  740. package/dist/Utils/fetchAndParseData.d.ts +65 -0
  741. package/dist/Utils/fetchAndParseData.d.ts.map +1 -0
  742. package/dist/Utils/generateCodes.d.ts +23 -0
  743. package/dist/Utils/generateCodes.d.ts.map +1 -0
  744. package/dist/Utils/generateRandomString.d.ts +2 -0
  745. package/dist/Utils/generateRandomString.d.ts.map +1 -0
  746. package/dist/Utils/getArc.d.ts +2 -0
  747. package/dist/Utils/getArc.d.ts.map +1 -0
  748. package/dist/Utils/getCentroidCoordinates.d.ts +3 -0
  749. package/dist/Utils/getCentroidCoordinates.d.ts.map +1 -0
  750. package/dist/Utils/getGraphList.d.ts +8 -0
  751. package/dist/Utils/getGraphList.d.ts.map +1 -0
  752. package/dist/Utils/getJenks.d.ts +16 -0
  753. package/dist/Utils/getJenks.d.ts.map +1 -0
  754. package/dist/Utils/getLineEndPoint.d.ts +10 -0
  755. package/dist/Utils/getLineEndPoint.d.ts.map +1 -0
  756. package/dist/Utils/getNoOfTicks.d.ts +2 -0
  757. package/dist/Utils/getNoOfTicks.d.ts.map +1 -0
  758. package/dist/Utils/getPathFromPoints.d.ts +2 -0
  759. package/dist/Utils/getPathFromPoints.d.ts.map +1 -0
  760. package/dist/Utils/getPercentileValue.d.ts +12 -0
  761. package/dist/Utils/getPercentileValue.d.ts.map +1 -0
  762. package/dist/Utils/getQueryParamsFromLink.d.ts +17 -0
  763. package/dist/Utils/getQueryParamsFromLink.d.ts.map +1 -0
  764. package/dist/Utils/getSliderMarks.d.ts +2 -0
  765. package/dist/Utils/getSliderMarks.d.ts.map +1 -0
  766. package/dist/Utils/getTextColorBasedOnBgColor.d.ts +12 -0
  767. package/dist/Utils/getTextColorBasedOnBgColor.d.ts.map +1 -0
  768. package/dist/Utils/getTickPosition.d.ts +2 -0
  769. package/dist/Utils/getTickPosition.d.ts.map +1 -0
  770. package/dist/Utils/getUniqValue.d.ts +17 -0
  771. package/dist/Utils/getUniqValue.d.ts.map +1 -0
  772. package/dist/Utils/getValues.d.ts +6 -0
  773. package/dist/Utils/getValues.d.ts.map +1 -0
  774. package/dist/Utils/imageDownload.d.ts +15 -0
  775. package/dist/Utils/imageDownload.d.ts.map +1 -0
  776. package/dist/Utils/index.d.ts +15 -0
  777. package/dist/Utils/index.d.ts.map +1 -0
  778. package/dist/Utils/numberFormattingFunction.d.ts +12 -0
  779. package/dist/Utils/numberFormattingFunction.d.ts.map +1 -0
  780. package/dist/Utils/padArray.d.ts +3 -0
  781. package/dist/Utils/padArray.d.ts.map +1 -0
  782. package/dist/Utils/removeOutliers.d.ts +15 -0
  783. package/dist/Utils/removeOutliers.d.ts.map +1 -0
  784. package/dist/Utils/string2HTML.d.ts +2 -0
  785. package/dist/Utils/string2HTML.d.ts.map +1 -0
  786. package/dist/Utils/svgDownload.d.ts +15 -0
  787. package/dist/Utils/svgDownload.d.ts.map +1 -0
  788. package/dist/Utils/transformData/filterData.d.ts +3 -0
  789. package/dist/Utils/transformData/filterData.d.ts.map +1 -0
  790. package/dist/Utils/transformData/graphConfig.d.ts +10 -0
  791. package/dist/Utils/transformData/graphConfig.d.ts.map +1 -0
  792. package/dist/Utils/transformData/index.d.ts +5 -0
  793. package/dist/Utils/transformData/index.d.ts.map +1 -0
  794. package/dist/Utils/transformData/mergeMultipleData.d.ts +5 -0
  795. package/dist/Utils/transformData/mergeMultipleData.d.ts.map +1 -0
  796. package/dist/Utils/transformData/transformColumnsToArray.d.ts +33 -0
  797. package/dist/Utils/transformData/transformColumnsToArray.d.ts.map +1 -0
  798. package/dist/Utils/transformData/transformDataForAggregation.d.ts +33 -0
  799. package/dist/Utils/transformData/transformDataForAggregation.d.ts.map +1 -0
  800. package/dist/Utils/transformData/transformDataForGraph.d.ts +36 -0
  801. package/dist/Utils/transformData/transformDataForGraph.d.ts.map +1 -0
  802. package/dist/Utils/transformData/transformDataForGraphFromFile.d.ts +40 -0
  803. package/dist/Utils/transformData/transformDataForGraphFromFile.d.ts.map +1 -0
  804. package/dist/Utils/transformDataForSelect.d.ts +8 -0
  805. package/dist/Utils/transformDataForSelect.d.ts.map +1 -0
  806. package/dist/Utils/uniqBy.d.ts +2 -0
  807. package/dist/Utils/uniqBy.d.ts.map +1 -0
  808. package/dist/Utils/wideToLongTranformation.d.ts +5 -0
  809. package/dist/Utils/wideToLongTranformation.d.ts.map +1 -0
  810. package/dist/Utils-C5kfxVL2.js +56 -0
  811. package/dist/Utils-C5kfxVL2.js.map +1 -0
  812. package/dist/Utils-HrtbRBIa.cjs +2 -0
  813. package/dist/Utils-HrtbRBIa.cjs.map +1 -0
  814. package/dist/WaterfallChart-BKpFUJdY.js +380 -0
  815. package/dist/WaterfallChart-BKpFUJdY.js.map +1 -0
  816. package/dist/WaterfallChart-cJ5pGsDu.cjs +2 -0
  817. package/dist/WaterfallChart-cJ5pGsDu.cjs.map +1 -0
  818. package/dist/WaterfallChart.cjs +1 -2
  819. package/dist/WaterfallChart.d.ts +2 -213
  820. package/dist/WaterfallChart.js +2 -427
  821. package/dist/XAxesLabels-BvzqZwll.cjs +2 -0
  822. package/dist/XAxesLabels-BvzqZwll.cjs.map +1 -0
  823. package/dist/XAxesLabels-DIs04SK7.js +45 -0
  824. package/dist/XAxesLabels-DIs04SK7.js.map +1 -0
  825. package/dist/XTicksAndGridLines-8v1W02Pd.cjs +2 -0
  826. package/dist/XTicksAndGridLines-8v1W02Pd.cjs.map +1 -0
  827. package/dist/XTicksAndGridLines-B2XZgwzW.js +31 -0
  828. package/dist/XTicksAndGridLines-B2XZgwzW.js.map +1 -0
  829. package/dist/YAxesLabels-DKRDxuHA.cjs +2 -0
  830. package/dist/YAxesLabels-DKRDxuHA.cjs.map +1 -0
  831. package/dist/YAxesLabels-voV_CThY.js +45 -0
  832. package/dist/YAxesLabels-voV_CThY.js.map +1 -0
  833. package/dist/YTicksAndGridLines-CRW_R845.cjs +2 -0
  834. package/dist/YTicksAndGridLines-CRW_R845.cjs.map +1 -0
  835. package/dist/YTicksAndGridLines-CVTzNJYP.js +31 -0
  836. package/dist/YTicksAndGridLines-CVTzNJYP.js.map +1 -0
  837. package/dist/area-BLagdTXz.js +51 -0
  838. package/dist/area-BLagdTXz.js.map +1 -0
  839. package/dist/area-Cwt2IPSp.cjs +2 -0
  840. package/dist/area-Cwt2IPSp.cjs.map +1 -0
  841. package/dist/array-BBVF08DC.cjs +2 -0
  842. package/dist/array-BBVF08DC.cjs.map +1 -0
  843. package/dist/array-ZS2WLXqD.js +14 -0
  844. package/dist/array-ZS2WLXqD.js.map +1 -0
  845. package/dist/band-BWpW41la.cjs +2 -0
  846. package/dist/band-BWpW41la.cjs.map +1 -0
  847. package/dist/band-XivI9IHG.js +49 -0
  848. package/dist/band-XivI9IHG.js.map +1 -0
  849. package/dist/checkIfNullOrUndefined-C5gqSAtF.js +8 -0
  850. package/dist/checkIfNullOrUndefined-C5gqSAtF.js.map +1 -0
  851. package/dist/checkIfNullOrUndefined-DYvc3fz_.cjs +2 -0
  852. package/dist/checkIfNullOrUndefined-DYvc3fz_.cjs.map +1 -0
  853. package/dist/chunk-foFoljWS.js +23 -0
  854. package/dist/chunk-gGpyby2o.cjs +1 -0
  855. package/dist/defaultLocale-DOietvnG.js +203 -0
  856. package/dist/defaultLocale-DOietvnG.js.map +1 -0
  857. package/dist/defaultLocale-DQoNc1A3.cjs +2 -0
  858. package/dist/defaultLocale-DQoNc1A3.cjs.map +1 -0
  859. package/dist/delaunay-M1ErmNzW.cjs +2 -0
  860. package/dist/delaunay-M1ErmNzW.cjs.map +1 -0
  861. package/dist/delaunay-ZuH6I4Fh.js +679 -0
  862. package/dist/delaunay-ZuH6I4Fh.js.map +1 -0
  863. package/dist/ensureCompleteData-CqLz7Btq.cjs +2 -0
  864. package/dist/ensureCompleteData-CqLz7Btq.cjs.map +1 -0
  865. package/dist/ensureCompleteData-VxAHq-s7.js +100 -0
  866. package/dist/ensureCompleteData-VxAHq-s7.js.map +1 -0
  867. package/dist/esm-BwfGJUcL.cjs +2 -0
  868. package/dist/esm-BwfGJUcL.cjs.map +1 -0
  869. package/dist/esm-D23XoYrV.js +653 -0
  870. package/dist/esm-D23XoYrV.js.map +1 -0
  871. package/dist/excelDownload-CVpK5TPY.cjs +2 -0
  872. package/dist/excelDownload-CVpK5TPY.cjs.map +1 -0
  873. package/dist/excelDownload-lQy9nEu2.js +26 -0
  874. package/dist/excelDownload-lQy9nEu2.js.map +1 -0
  875. package/dist/fast-deep-equal--80N92KJ.js +31 -0
  876. package/dist/fast-deep-equal--80N92KJ.js.map +1 -0
  877. package/dist/fast-deep-equal-DN3ilkVq.cjs +2 -0
  878. package/dist/fast-deep-equal-DN3ilkVq.cjs.map +1 -0
  879. package/dist/fetchAndParseData-C50SqMPu.js +633 -0
  880. package/dist/fetchAndParseData-C50SqMPu.js.map +1 -0
  881. package/dist/fetchAndParseData-Dlq4UzdG.cjs +11 -0
  882. package/dist/fetchAndParseData-Dlq4UzdG.cjs.map +1 -0
  883. package/dist/fetchAndParseData.cjs +1 -2
  884. package/dist/fetchAndParseData.d.ts +2 -84
  885. package/dist/fetchAndParseData.js +2 -10
  886. package/dist/filterData-B2pPOkwy.cjs +2 -0
  887. package/dist/filterData-B2pPOkwy.cjs.map +1 -0
  888. package/dist/filterData-Dp_HZ71j.js +12 -0
  889. package/dist/filterData-Dp_HZ71j.js.map +1 -0
  890. package/dist/generateRandomString-BaDYvqHT.js +10 -0
  891. package/dist/generateRandomString-BaDYvqHT.js.map +1 -0
  892. package/dist/generateRandomString-GzIwYnol.cjs +2 -0
  893. package/dist/generateRandomString-GzIwYnol.cjs.map +1 -0
  894. package/dist/getCentroidCoordinates-BxK8C2EL.js +64 -0
  895. package/dist/getCentroidCoordinates-BxK8C2EL.js.map +1 -0
  896. package/dist/getCentroidCoordinates-DWO-SCXv.cjs +2 -0
  897. package/dist/getCentroidCoordinates-DWO-SCXv.cjs.map +1 -0
  898. package/dist/getGraphList-BIaPQiZ0.js +280 -0
  899. package/dist/getGraphList-BIaPQiZ0.js.map +1 -0
  900. package/dist/getGraphList-DnwJeVCr.cjs +2 -0
  901. package/dist/getGraphList-DnwJeVCr.cjs.map +1 -0
  902. package/dist/getJenks-49NAtnQV.js +21 -0
  903. package/dist/getJenks-49NAtnQV.js.map +1 -0
  904. package/dist/getJenks-D0stlcvY.cjs +2 -0
  905. package/dist/getJenks-D0stlcvY.cjs.map +1 -0
  906. package/dist/getLineEndPoint-BkKmq-KI.js +130 -0
  907. package/dist/getLineEndPoint-BkKmq-KI.js.map +1 -0
  908. package/dist/getLineEndPoint-CahgY2dz.cjs +2 -0
  909. package/dist/getLineEndPoint-CahgY2dz.cjs.map +1 -0
  910. package/dist/getNoOfTicks-Bz_9Xmc6.js +8 -0
  911. package/dist/getNoOfTicks-Bz_9Xmc6.js.map +1 -0
  912. package/dist/getNoOfTicks-CwG9lMmQ.cjs +2 -0
  913. package/dist/getNoOfTicks-CwG9lMmQ.cjs.map +1 -0
  914. package/dist/getSliderMarks-CTKVxOEm.js +19 -0
  915. package/dist/getSliderMarks-CTKVxOEm.js.map +1 -0
  916. package/dist/getSliderMarks-DCEGtxIl.cjs +2 -0
  917. package/dist/getSliderMarks-DCEGtxIl.cjs.map +1 -0
  918. package/dist/getTextColorBasedOnBgColor-B0B-azeJ.cjs +2 -0
  919. package/dist/getTextColorBasedOnBgColor-B0B-azeJ.cjs.map +1 -0
  920. package/dist/getTextColorBasedOnBgColor-Ch7uw_Px.js +34 -0
  921. package/dist/getTextColorBasedOnBgColor-Ch7uw_Px.js.map +1 -0
  922. package/dist/getUniqValue-BItnnZEr.cjs +2 -0
  923. package/dist/getUniqValue-BItnnZEr.cjs.map +1 -0
  924. package/dist/getUniqValue-DZTOHgt8.js +11 -0
  925. package/dist/getUniqValue-DZTOHgt8.js.map +1 -0
  926. package/dist/getValues-Bt73vs_w.js +13 -0
  927. package/dist/getValues-Bt73vs_w.js.map +1 -0
  928. package/dist/getValues-CX_V1GcA.cjs +2 -0
  929. package/dist/getValues-CX_V1GcA.cjs.map +1 -0
  930. package/dist/imageDownload-B8Pd4gTs.cjs +15 -0
  931. package/dist/imageDownload-B8Pd4gTs.cjs.map +1 -0
  932. package/dist/imageDownload-DFFsgajo.js +804 -0
  933. package/dist/imageDownload-DFFsgajo.js.map +1 -0
  934. package/dist/index.cjs +1 -2
  935. package/dist/index.d.ts +91 -5918
  936. package/dist/index.d.ts.map +1 -0
  937. package/dist/index.js +85 -183
  938. package/dist/init-BTypmXMF.cjs +2 -0
  939. package/dist/init-BTypmXMF.cjs.map +1 -0
  940. package/dist/init-CT6uqW57.js +75 -0
  941. package/dist/init-CT6uqW57.js.map +1 -0
  942. package/dist/jsx-runtime-C76bEyh7.js +182 -0
  943. package/dist/jsx-runtime-C76bEyh7.js.map +1 -0
  944. package/dist/jsx-runtime-Cd1vCQjn.cjs +7 -0
  945. package/dist/jsx-runtime-Cd1vCQjn.cjs.map +1 -0
  946. package/dist/line-6wslDyQb.js +144 -0
  947. package/dist/line-6wslDyQb.js.map +1 -0
  948. package/dist/line-DoUnRqpS.cjs +2 -0
  949. package/dist/line-DoUnRqpS.cjs.map +1 -0
  950. package/dist/linear-B93YyHf_.cjs +2 -0
  951. package/dist/linear-B93YyHf_.cjs.map +1 -0
  952. package/dist/linear-BkosG4OK.js +234 -0
  953. package/dist/linear-BkosG4OK.js.map +1 -0
  954. package/dist/lodash.flattendeep-_PlS_1wX.cjs +2 -0
  955. package/dist/lodash.flattendeep-_PlS_1wX.cjs.map +1 -0
  956. package/dist/lodash.flattendeep-a__mQ60W.js +53 -0
  957. package/dist/lodash.flattendeep-a__mQ60W.js.map +1 -0
  958. package/dist/lodash.intersection-BDR4j58n.cjs +2 -0
  959. package/dist/lodash.intersection-BDR4j58n.cjs.map +1 -0
  960. package/dist/lodash.intersection-C9QFuAQj.js +248 -0
  961. package/dist/lodash.intersection-C9QFuAQj.js.map +1 -0
  962. package/dist/lodash.orderby-Dn2sr3tw.js +583 -0
  963. package/dist/lodash.orderby-Dn2sr3tw.js.map +1 -0
  964. package/dist/lodash.orderby-Us2PHq2D.cjs +2 -0
  965. package/dist/lodash.orderby-Us2PHq2D.cjs.map +1 -0
  966. package/dist/lodash.sum-CX6zs3_n.js +22 -0
  967. package/dist/lodash.sum-CX6zs3_n.js.map +1 -0
  968. package/dist/lodash.sum-bWhlZLUV.cjs +2 -0
  969. package/dist/lodash.sum-bWhlZLUV.cjs.map +1 -0
  970. package/dist/numberFormattingFunction-Caf5NyIo.cjs +2 -0
  971. package/dist/numberFormattingFunction-Caf5NyIo.cjs.map +1 -0
  972. package/dist/numberFormattingFunction-Cha8dhHc.js +29 -0
  973. package/dist/numberFormattingFunction-Cha8dhHc.js.map +1 -0
  974. package/dist/ordinal-Dq1sg8_s.js +67 -0
  975. package/dist/ordinal-Dq1sg8_s.js.map +1 -0
  976. package/dist/ordinal-FQwO0oQx.cjs +2 -0
  977. package/dist/ordinal-FQwO0oQx.cjs.map +1 -0
  978. package/dist/parse-5MWhaq6h.js +2508 -0
  979. package/dist/parse-5MWhaq6h.js.map +1 -0
  980. package/dist/parse-C718o4YM.cjs +2 -0
  981. package/dist/parse-C718o4YM.cjs.map +1 -0
  982. package/dist/pointer-CoEekBJE.js +26 -0
  983. package/dist/pointer-CoEekBJE.js.map +1 -0
  984. package/dist/pointer-nSSkgdlX.cjs +2 -0
  985. package/dist/pointer-nSSkgdlX.cjs.map +1 -0
  986. package/dist/pow-CISbw8TV.js +36 -0
  987. package/dist/pow-CISbw8TV.js.map +1 -0
  988. package/dist/pow-DXd5n928.cjs +2 -0
  989. package/dist/pow-DXd5n928.cjs.map +1 -0
  990. package/dist/proxy-BiRrIImK.js +4656 -0
  991. package/dist/proxy-BiRrIImK.js.map +1 -0
  992. package/dist/proxy-DaRMphjR.cjs +2 -0
  993. package/dist/proxy-DaRMphjR.cjs.map +1 -0
  994. package/dist/select-0Z0HV7nm.js +649 -0
  995. package/dist/select-0Z0HV7nm.js.map +1 -0
  996. package/dist/select-CZVfejpg.cjs +2 -0
  997. package/dist/select-CZVfejpg.cjs.map +1 -0
  998. package/dist/simple-statistics-B4XnKTMF.cjs +2 -0
  999. package/dist/simple-statistics-B4XnKTMF.cjs.map +1 -0
  1000. package/dist/simple-statistics-BlsBuRxU.js +97 -0
  1001. package/dist/simple-statistics-BlsBuRxU.js.map +1 -0
  1002. package/dist/src-2DIiCwTd.js +2377 -0
  1003. package/dist/src-2DIiCwTd.js.map +1 -0
  1004. package/dist/src-BstANsLK.cjs +2 -0
  1005. package/dist/src-BstANsLK.cjs.map +1 -0
  1006. package/dist/step-Bxl4gFpO.js +135 -0
  1007. package/dist/step-Bxl4gFpO.js.map +1 -0
  1008. package/dist/step-C_FLQezZ.cjs +2 -0
  1009. package/dist/step-C_FLQezZ.cjs.map +1 -0
  1010. package/dist/stories/Dashboards/Elements/ChartConfigDropdown.d.ts +6 -0
  1011. package/dist/stories/Dashboards/Elements/ChartConfigDropdown.d.ts.map +1 -0
  1012. package/dist/stories/Graph+Maps+Charts/BarGraph/BarGraph.stories.d.ts +9 -0
  1013. package/dist/stories/Graph+Maps+Charts/BarGraph/BarGraph.stories.d.ts.map +1 -0
  1014. package/dist/stories/Graph+Maps+Charts/BarGraph/BarGraphAnimated.stories.d.ts +9 -0
  1015. package/dist/stories/Graph+Maps+Charts/BarGraph/BarGraphAnimated.stories.d.ts.map +1 -0
  1016. package/dist/stories/Graph+Maps+Charts/BarGraph/GroupedBarGraph.stories.d.ts +9 -0
  1017. package/dist/stories/Graph+Maps+Charts/BarGraph/GroupedBarGraph.stories.d.ts.map +1 -0
  1018. package/dist/stories/Graph+Maps+Charts/BarGraph/GroupedBarGraphAnimated.stories.d.ts +9 -0
  1019. package/dist/stories/Graph+Maps+Charts/BarGraph/GroupedBarGraphAnimated.stories.d.ts.map +1 -0
  1020. package/dist/stories/Graph+Maps+Charts/BarGraph/StackedBarGraph.stories.d.ts +9 -0
  1021. package/dist/stories/Graph+Maps+Charts/BarGraph/StackedBarGraph.stories.d.ts.map +1 -0
  1022. package/dist/stories/Graph+Maps+Charts/BarGraph/StackedBarGraphAnimated.stories.d.ts +9 -0
  1023. package/dist/stories/Graph+Maps+Charts/BarGraph/StackedBarGraphAnimated.stories.d.ts.map +1 -0
  1024. package/dist/stories/Graph+Maps+Charts/BeeSwarmChart.stories.d.ts +9 -0
  1025. package/dist/stories/Graph+Maps+Charts/BeeSwarmChart.stories.d.ts.map +1 -0
  1026. package/dist/stories/Graph+Maps+Charts/BulletChart.stories.d.ts +9 -0
  1027. package/dist/stories/Graph+Maps+Charts/BulletChart.stories.d.ts.map +1 -0
  1028. package/dist/stories/Graph+Maps+Charts/BulletChartAnimated.stories.d.ts +9 -0
  1029. package/dist/stories/Graph+Maps+Charts/BulletChartAnimated.stories.d.ts.map +1 -0
  1030. package/dist/stories/Graph+Maps+Charts/ButterflyChart.stories.d.ts +9 -0
  1031. package/dist/stories/Graph+Maps+Charts/ButterflyChart.stories.d.ts.map +1 -0
  1032. package/dist/stories/Graph+Maps+Charts/ButterflyChartAnimated.stories.d.ts +9 -0
  1033. package/dist/stories/Graph+Maps+Charts/ButterflyChartAnimated.stories.d.ts.map +1 -0
  1034. package/dist/stories/Graph+Maps+Charts/CirclePacking.stories.d.ts +9 -0
  1035. package/dist/stories/Graph+Maps+Charts/CirclePacking.stories.d.ts.map +1 -0
  1036. package/dist/stories/Graph+Maps+Charts/DataCards.stories.d.ts +9 -0
  1037. package/dist/stories/Graph+Maps+Charts/DataCards.stories.d.ts.map +1 -0
  1038. package/dist/stories/Graph+Maps+Charts/DataTables.stories.d.ts +9 -0
  1039. package/dist/stories/Graph+Maps+Charts/DataTables.stories.d.ts.map +1 -0
  1040. package/dist/stories/Graph+Maps+Charts/DonutChart.stories.d.ts +9 -0
  1041. package/dist/stories/Graph+Maps+Charts/DonutChart.stories.d.ts.map +1 -0
  1042. package/dist/stories/Graph+Maps+Charts/DumbbellChart.stories.d.ts +9 -0
  1043. package/dist/stories/Graph+Maps+Charts/DumbbellChart.stories.d.ts.map +1 -0
  1044. package/dist/stories/Graph+Maps+Charts/DumbbellChartAnimated.stories.d.ts +9 -0
  1045. package/dist/stories/Graph+Maps+Charts/DumbbellChartAnimated.stories.d.ts.map +1 -0
  1046. package/dist/stories/Graph+Maps+Charts/HeatMap.stories.d.ts +9 -0
  1047. package/dist/stories/Graph+Maps+Charts/HeatMap.stories.d.ts.map +1 -0
  1048. package/dist/stories/Graph+Maps+Charts/Histogram.stories.d.ts +9 -0
  1049. package/dist/stories/Graph+Maps+Charts/Histogram.stories.d.ts.map +1 -0
  1050. package/dist/stories/Graph+Maps+Charts/LineCharts/DifferenceLineChart.stories.d.ts +9 -0
  1051. package/dist/stories/Graph+Maps+Charts/LineCharts/DifferenceLineChart.stories.d.ts.map +1 -0
  1052. package/dist/stories/Graph+Maps+Charts/LineCharts/DualAxesLineChart.stories.d.ts +9 -0
  1053. package/dist/stories/Graph+Maps+Charts/LineCharts/DualAxesLineChart.stories.d.ts.map +1 -0
  1054. package/dist/stories/Graph+Maps+Charts/LineCharts/LineChart.stories.d.ts +9 -0
  1055. package/dist/stories/Graph+Maps+Charts/LineCharts/LineChart.stories.d.ts.map +1 -0
  1056. package/dist/stories/Graph+Maps+Charts/LineCharts/LineChartWithInterval.stories.d.ts +9 -0
  1057. package/dist/stories/Graph+Maps+Charts/LineCharts/LineChartWithInterval.stories.d.ts.map +1 -0
  1058. package/dist/stories/Graph+Maps+Charts/LineCharts/MultiLineAltChart.stories.d.ts +9 -0
  1059. package/dist/stories/Graph+Maps+Charts/LineCharts/MultiLineAltChart.stories.d.ts.map +1 -0
  1060. package/dist/stories/Graph+Maps+Charts/LineCharts/MultiLineChart.stories.d.ts +9 -0
  1061. package/dist/stories/Graph+Maps+Charts/LineCharts/MultiLineChart.stories.d.ts.map +1 -0
  1062. package/dist/stories/Graph+Maps+Charts/LineCharts/Sparkline.stories.d.ts +9 -0
  1063. package/dist/stories/Graph+Maps+Charts/LineCharts/Sparkline.stories.d.ts.map +1 -0
  1064. package/dist/stories/Graph+Maps+Charts/Maps/BiVariateChroplethMap.stories.d.ts +9 -0
  1065. package/dist/stories/Graph+Maps+Charts/Maps/BiVariateChroplethMap.stories.d.ts.map +1 -0
  1066. package/dist/stories/Graph+Maps+Charts/Maps/BiVariateChroplethMapAnimated.stories.d.ts +9 -0
  1067. package/dist/stories/Graph+Maps+Charts/Maps/BiVariateChroplethMapAnimated.stories.d.ts.map +1 -0
  1068. package/dist/stories/Graph+Maps+Charts/Maps/ChroplethMap.stories.d.ts +9 -0
  1069. package/dist/stories/Graph+Maps+Charts/Maps/ChroplethMap.stories.d.ts.map +1 -0
  1070. package/dist/stories/Graph+Maps+Charts/Maps/ChroplethMapAnimated.stories.d.ts +9 -0
  1071. package/dist/stories/Graph+Maps+Charts/Maps/ChroplethMapAnimated.stories.d.ts.map +1 -0
  1072. package/dist/stories/Graph+Maps+Charts/Maps/DotDensityMap.stories.d.ts +9 -0
  1073. package/dist/stories/Graph+Maps+Charts/Maps/DotDensityMap.stories.d.ts.map +1 -0
  1074. package/dist/stories/Graph+Maps+Charts/Maps/DotDensityMapAnimated.stories.d.ts +9 -0
  1075. package/dist/stories/Graph+Maps+Charts/Maps/DotDensityMapAnimated.stories.d.ts.map +1 -0
  1076. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubCompareMaps.stories.d.ts +9 -0
  1077. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubCompareMaps.stories.d.ts.map +1 -0
  1078. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubMultiLayerSelectMap.stories.d.ts +9 -0
  1079. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubMultiLayerSelectMap.stories.d.ts.map +1 -0
  1080. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubSimpleMap.stories.d.ts +9 -0
  1081. package/dist/stories/Graph+Maps+Charts/Maps/GeoHubSimpleMap.stories.d.ts.map +1 -0
  1082. package/dist/stories/Graph+Maps+Charts/Maps/HybridMap.stories.d.ts +9 -0
  1083. package/dist/stories/Graph+Maps+Charts/Maps/HybridMap.stories.d.ts.map +1 -0
  1084. package/dist/stories/Graph+Maps+Charts/Maps/HybridMapAnimated.stories.d.ts +9 -0
  1085. package/dist/stories/Graph+Maps+Charts/Maps/HybridMapAnimated.stories.d.ts.map +1 -0
  1086. package/dist/stories/Graph+Maps+Charts/Maps/ThreeDGlobe.stories.d.ts +9 -0
  1087. package/dist/stories/Graph+Maps+Charts/Maps/ThreeDGlobe.stories.d.ts.map +1 -0
  1088. package/dist/stories/Graph+Maps+Charts/ParetoChart.stories.d.ts +9 -0
  1089. package/dist/stories/Graph+Maps+Charts/ParetoChart.stories.d.ts.map +1 -0
  1090. package/dist/stories/Graph+Maps+Charts/RadarChart.stories.d.ts +9 -0
  1091. package/dist/stories/Graph+Maps+Charts/RadarChart.stories.d.ts.map +1 -0
  1092. package/dist/stories/Graph+Maps+Charts/SankeyChart.stories.d.ts +9 -0
  1093. package/dist/stories/Graph+Maps+Charts/SankeyChart.stories.d.ts.map +1 -0
  1094. package/dist/stories/Graph+Maps+Charts/ScatterPlot.stories.d.ts +9 -0
  1095. package/dist/stories/Graph+Maps+Charts/ScatterPlot.stories.d.ts.map +1 -0
  1096. package/dist/stories/Graph+Maps+Charts/ScatterPlotAnimated.stories.d.ts +9 -0
  1097. package/dist/stories/Graph+Maps+Charts/ScatterPlotAnimated.stories.d.ts.map +1 -0
  1098. package/dist/stories/Graph+Maps+Charts/SlopeChart.stories.d.ts +9 -0
  1099. package/dist/stories/Graph+Maps+Charts/SlopeChart.stories.d.ts.map +1 -0
  1100. package/dist/stories/Graph+Maps+Charts/StackedAreaChart.stories.d.ts +9 -0
  1101. package/dist/stories/Graph+Maps+Charts/StackedAreaChart.stories.d.ts.map +1 -0
  1102. package/dist/stories/Graph+Maps+Charts/StatCards/BasicStatCard.stories.d.ts +9 -0
  1103. package/dist/stories/Graph+Maps+Charts/StatCards/BasicStatCard.stories.d.ts.map +1 -0
  1104. package/dist/stories/Graph+Maps+Charts/StatCards/StatCardFromData.stories.d.ts +9 -0
  1105. package/dist/stories/Graph+Maps+Charts/StatCards/StatCardFromData.stories.d.ts.map +1 -0
  1106. package/dist/stories/Graph+Maps+Charts/StripChart.stories.d.ts +9 -0
  1107. package/dist/stories/Graph+Maps+Charts/StripChart.stories.d.ts.map +1 -0
  1108. package/dist/stories/Graph+Maps+Charts/TreeMap.stories.d.ts +9 -0
  1109. package/dist/stories/Graph+Maps+Charts/TreeMap.stories.d.ts.map +1 -0
  1110. package/dist/stories/Graph+Maps+Charts/UnitChart.stories.d.ts +9 -0
  1111. package/dist/stories/Graph+Maps+Charts/UnitChart.stories.d.ts.map +1 -0
  1112. package/dist/stories/Graph+Maps+Charts/WaterfallChart.stories.d.ts +9 -0
  1113. package/dist/stories/Graph+Maps+Charts/WaterfallChart.stories.d.ts.map +1 -0
  1114. package/dist/stories/Utilities/Color Palette/DataVizDarkMode.stories.d.ts +5 -0
  1115. package/dist/stories/Utilities/Color Palette/DataVizDarkMode.stories.d.ts.map +1 -0
  1116. package/dist/stories/Utilities/Color Palette/DataVizLightMode.stories.d.ts +5 -0
  1117. package/dist/stories/Utilities/Color Palette/DataVizLightMode.stories.d.ts.map +1 -0
  1118. package/dist/stories/Utilities/Color Palette/Palette Component/index.d.ts +6 -0
  1119. package/dist/stories/Utilities/Color Palette/Palette Component/index.d.ts.map +1 -0
  1120. package/dist/stories/Utilities/Color Palette/Primary.stories.d.ts +5 -0
  1121. package/dist/stories/Utilities/Color Palette/Primary.stories.d.ts.map +1 -0
  1122. package/dist/stories/assets/constants.d.ts +14 -0
  1123. package/dist/stories/assets/constants.d.ts.map +1 -0
  1124. package/dist/stories/assets/graphDataConfigSelect.d.ts +2 -0
  1125. package/dist/stories/assets/graphDataConfigSelect.d.ts.map +1 -0
  1126. package/dist/stories/assets/graphSettingsSelect.d.ts +2 -0
  1127. package/dist/stories/assets/graphSettingsSelect.d.ts.map +1 -0
  1128. package/dist/stories/assets/parseValue.d.ts +2 -0
  1129. package/dist/stories/assets/parseValue.d.ts.map +1 -0
  1130. package/dist/string-C0cfWwsg.cjs +2 -0
  1131. package/dist/string-C0cfWwsg.cjs.map +1 -0
  1132. package/dist/string-ChkwXRLb.js +367 -0
  1133. package/dist/string-ChkwXRLb.js.map +1 -0
  1134. package/dist/string2HTML-CvbtZnul.js +893 -0
  1135. package/dist/string2HTML-CvbtZnul.js.map +1 -0
  1136. package/dist/string2HTML-CyL1MYMB.cjs +3 -0
  1137. package/dist/string2HTML-CyL1MYMB.cjs.map +1 -0
  1138. package/dist/style.css +2 -1
  1139. package/dist/svgDownload-B47CWa3n.js +10 -0
  1140. package/dist/svgDownload-B47CWa3n.js.map +1 -0
  1141. package/dist/svgDownload-BfClOPfh.cjs +2 -0
  1142. package/dist/svgDownload-BfClOPfh.cjs.map +1 -0
  1143. package/dist/threshold-BXJz-mv7.cjs +2 -0
  1144. package/dist/threshold-BXJz-mv7.cjs.map +1 -0
  1145. package/dist/threshold-j3AJep9l.js +24 -0
  1146. package/dist/threshold-j3AJep9l.js.map +1 -0
  1147. package/dist/time-B9tsaA4g.cjs +2 -0
  1148. package/dist/time-B9tsaA4g.cjs.map +1 -0
  1149. package/dist/time-BSWvT9ln.js +840 -0
  1150. package/dist/time-BSWvT9ln.js.map +1 -0
  1151. package/dist/timer-BSVEY28v.js +119 -0
  1152. package/dist/timer-BSVEY28v.js.map +1 -0
  1153. package/dist/timer-D4OWClu3.cjs +2 -0
  1154. package/dist/timer-D4OWClu3.cjs.map +1 -0
  1155. package/dist/transformData.cjs +1 -2
  1156. package/dist/transformData.d.ts +2 -170
  1157. package/dist/transformData.js +4 -10
  1158. package/dist/transformDataForGraph-CiaG24wJ.cjs +2 -0
  1159. package/dist/transformDataForGraph-CiaG24wJ.cjs.map +1 -0
  1160. package/dist/transformDataForGraph-DKYRsjv8.js +766 -0
  1161. package/dist/transformDataForGraph-DKYRsjv8.js.map +1 -0
  1162. package/dist/transformDataForGraphFromFile-BZGRv4KM.js +14 -0
  1163. package/dist/transformDataForGraphFromFile-BZGRv4KM.js.map +1 -0
  1164. package/dist/transformDataForGraphFromFile-kjckJjiV.cjs +2 -0
  1165. package/dist/transformDataForGraphFromFile-kjckJjiV.cjs.map +1 -0
  1166. package/dist/transformDataForSelect-Bmaowc2Z.cjs +2 -0
  1167. package/dist/transformDataForSelect-Bmaowc2Z.cjs.map +1 -0
  1168. package/dist/transformDataForSelect-DRC8qPt4.js +14 -0
  1169. package/dist/transformDataForSelect-DRC8qPt4.js.map +1 -0
  1170. package/dist/uniqBy-DTdieuuc.cjs +2 -0
  1171. package/dist/uniqBy-DTdieuuc.cjs.map +1 -0
  1172. package/dist/uniqBy-feeqYuys.js +9 -0
  1173. package/dist/uniqBy-feeqYuys.js.map +1 -0
  1174. package/dist/use-in-view-C4EPQfwM.cjs +2 -0
  1175. package/dist/use-in-view-C4EPQfwM.cjs.map +1 -0
  1176. package/dist/use-in-view-CjlKdln1.js +47 -0
  1177. package/dist/use-in-view-CjlKdln1.js.map +1 -0
  1178. package/dist/utils.cjs +1 -2
  1179. package/dist/utils.d.ts +2 -216
  1180. package/dist/utils.js +12 -29
  1181. package/dist/y-B6sP7d7V.cjs +2 -0
  1182. package/dist/y-B6sP7d7V.cjs.map +1 -0
  1183. package/dist/y-C3UBwapx.js +450 -0
  1184. package/dist/y-C3UBwapx.js.map +1 -0
  1185. package/package.json +605 -620
  1186. package/dist/AreaChart.cjs.map +0 -1
  1187. package/dist/AreaChart.js.map +0 -1
  1188. package/dist/Axis-DY7jsk1Y.cjs +0 -2
  1189. package/dist/Axis-DY7jsk1Y.cjs.map +0 -1
  1190. package/dist/Axis-RRx-0Rlw.js +0 -32
  1191. package/dist/Axis-RRx-0Rlw.js.map +0 -1
  1192. package/dist/AxisTitle-B9F80_Z0.js +0 -30
  1193. package/dist/AxisTitle-B9F80_Z0.js.map +0 -1
  1194. package/dist/AxisTitle-CyFFbdNU.cjs +0 -2
  1195. package/dist/AxisTitle-CyFFbdNU.cjs.map +0 -1
  1196. package/dist/BarGraph.cjs.map +0 -1
  1197. package/dist/BarGraph.js.map +0 -1
  1198. package/dist/BeeSwarmChart.cjs.map +0 -1
  1199. package/dist/BeeSwarmChart.js.map +0 -1
  1200. package/dist/BiVariateChoroplethMap.cjs.map +0 -1
  1201. package/dist/BiVariateChoroplethMap.js.map +0 -1
  1202. package/dist/BulletChart.cjs.map +0 -1
  1203. package/dist/BulletChart.js.map +0 -1
  1204. package/dist/ButterflyChart.cjs.map +0 -1
  1205. package/dist/ButterflyChart.js.map +0 -1
  1206. package/dist/ChoroplethMap.cjs.map +0 -1
  1207. package/dist/ChoroplethMap.js.map +0 -1
  1208. package/dist/CirclePackingGraph.cjs.map +0 -1
  1209. package/dist/CirclePackingGraph.js.map +0 -1
  1210. package/dist/CsvDownloadButton.cjs.map +0 -1
  1211. package/dist/CsvDownloadButton.js.map +0 -1
  1212. package/dist/DataCards.cjs.map +0 -1
  1213. package/dist/DataCards.js.map +0 -1
  1214. package/dist/DetailsModal-BmjtLqrZ.cjs +0 -2
  1215. package/dist/DetailsModal-BmjtLqrZ.cjs.map +0 -1
  1216. package/dist/DetailsModal-k-Me_U_T.js +0 -32
  1217. package/dist/DetailsModal-k-Me_U_T.js.map +0 -1
  1218. package/dist/DifferenceLineChart.cjs.map +0 -1
  1219. package/dist/DifferenceLineChart.js.map +0 -1
  1220. package/dist/DonutChart.cjs.map +0 -1
  1221. package/dist/DonutChart.js.map +0 -1
  1222. package/dist/DotDensityMap.cjs.map +0 -1
  1223. package/dist/DotDensityMap.js.map +0 -1
  1224. package/dist/DualAxisLineChart.cjs.map +0 -1
  1225. package/dist/DualAxisLineChart.js.map +0 -1
  1226. package/dist/DumbbellChart.cjs.map +0 -1
  1227. package/dist/DumbbellChart.js.map +0 -1
  1228. package/dist/EmptyState-BoaUUuo6.cjs +0 -2
  1229. package/dist/EmptyState-BoaUUuo6.cjs.map +0 -1
  1230. package/dist/EmptyState-prZ8OnEs.js +0 -15
  1231. package/dist/EmptyState-prZ8OnEs.js.map +0 -1
  1232. package/dist/GeoHubCompareMaps.cjs.map +0 -1
  1233. package/dist/GeoHubCompareMaps.js.map +0 -1
  1234. package/dist/GeoHubMap.cjs.map +0 -1
  1235. package/dist/GeoHubMap.js.map +0 -1
  1236. package/dist/GeoHubMapWithLayerSelection.cjs.map +0 -1
  1237. package/dist/GeoHubMapWithLayerSelection.js.map +0 -1
  1238. package/dist/GraphContainer-DcOM2CI6.js +0 -79
  1239. package/dist/GraphContainer-DcOM2CI6.js.map +0 -1
  1240. package/dist/GraphContainer-gaG9TSy4.cjs +0 -2
  1241. package/dist/GraphContainer-gaG9TSy4.cjs.map +0 -1
  1242. package/dist/GraphEl-C7KBBHvB.js +0 -1830
  1243. package/dist/GraphEl-C7KBBHvB.js.map +0 -1
  1244. package/dist/GraphEl-CGALp07K.cjs +0 -2
  1245. package/dist/GraphEl-CGALp07K.cjs.map +0 -1
  1246. package/dist/HeatMap.cjs.map +0 -1
  1247. package/dist/HeatMap.js.map +0 -1
  1248. package/dist/Histogram.cjs.map +0 -1
  1249. package/dist/Histogram.js.map +0 -1
  1250. package/dist/HybridMap.cjs.map +0 -1
  1251. package/dist/HybridMap.js.map +0 -1
  1252. package/dist/LineChartWithConfidenceInterval.cjs.map +0 -1
  1253. package/dist/LineChartWithConfidenceInterval.js.map +0 -1
  1254. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +0 -1
  1255. package/dist/MultiGraphDashboardWideToLongFormat.js.map +0 -1
  1256. package/dist/MultiLineAltChart.cjs.map +0 -1
  1257. package/dist/MultiLineAltChart.js.map +0 -1
  1258. package/dist/MultiLineChart.cjs.map +0 -1
  1259. package/dist/MultiLineChart.js.map +0 -1
  1260. package/dist/ParetoChart.cjs.map +0 -1
  1261. package/dist/ParetoChart.js.map +0 -1
  1262. package/dist/RadarChart.cjs.map +0 -1
  1263. package/dist/RadarChart.js.map +0 -1
  1264. package/dist/ReferenceLine-CxITVT1K.cjs +0 -2
  1265. package/dist/ReferenceLine-CxITVT1K.cjs.map +0 -1
  1266. package/dist/ReferenceLine-NF4g3Reh.js +0 -163
  1267. package/dist/ReferenceLine-NF4g3Reh.js.map +0 -1
  1268. package/dist/RegressionLine-BQ6h-NZP.js +0 -88
  1269. package/dist/RegressionLine-BQ6h-NZP.js.map +0 -1
  1270. package/dist/RegressionLine-BpcVBjL0.cjs +0 -2
  1271. package/dist/RegressionLine-BpcVBjL0.cjs.map +0 -1
  1272. package/dist/SankeyChart.cjs.map +0 -1
  1273. package/dist/SankeyChart.js.map +0 -1
  1274. package/dist/ScatterPlot.cjs.map +0 -1
  1275. package/dist/ScatterPlot.js.map +0 -1
  1276. package/dist/SimpleLineChart.cjs.map +0 -1
  1277. package/dist/SimpleLineChart.js.map +0 -1
  1278. package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +0 -1
  1279. package/dist/SingleGraphDashboardGeoHubMaps.js.map +0 -1
  1280. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +0 -1
  1281. package/dist/SingleGraphDashboardThreeDGraphs.js.map +0 -1
  1282. package/dist/SlopeChart.cjs.map +0 -1
  1283. package/dist/SlopeChart.js.map +0 -1
  1284. package/dist/SparkLine.cjs.map +0 -1
  1285. package/dist/SparkLine.js.map +0 -1
  1286. package/dist/StripChart.cjs.map +0 -1
  1287. package/dist/StripChart.js.map +0 -1
  1288. package/dist/ThreeDGlobe.cjs.map +0 -1
  1289. package/dist/ThreeDGlobe.js.map +0 -1
  1290. package/dist/Tooltip-DO56mY4b.js +0 -46
  1291. package/dist/Tooltip-DO56mY4b.js.map +0 -1
  1292. package/dist/Tooltip-DwUFLDrj.cjs +0 -2
  1293. package/dist/Tooltip-DwUFLDrj.cjs.map +0 -1
  1294. package/dist/TreeMapGraph.cjs.map +0 -1
  1295. package/dist/TreeMapGraph.js.map +0 -1
  1296. package/dist/Types.cjs.map +0 -1
  1297. package/dist/Types.js.map +0 -1
  1298. package/dist/WaterfallChart.cjs.map +0 -1
  1299. package/dist/WaterfallChart.js.map +0 -1
  1300. package/dist/XAxesLabels-0ROJnigy.cjs +0 -2
  1301. package/dist/XAxesLabels-0ROJnigy.cjs.map +0 -1
  1302. package/dist/XAxesLabels-CPZX3OJN.js +0 -64
  1303. package/dist/XAxesLabels-CPZX3OJN.js.map +0 -1
  1304. package/dist/XTicksAndGridLines-BO6KJc8d.cjs +0 -2
  1305. package/dist/XTicksAndGridLines-BO6KJc8d.cjs.map +0 -1
  1306. package/dist/XTicksAndGridLines-obTK2e7G.js +0 -41
  1307. package/dist/XTicksAndGridLines-obTK2e7G.js.map +0 -1
  1308. package/dist/YAxesLabels-CwVnFG2a.js +0 -62
  1309. package/dist/YAxesLabels-CwVnFG2a.js.map +0 -1
  1310. package/dist/YAxesLabels-DIa2cEXL.cjs +0 -2
  1311. package/dist/YAxesLabels-DIa2cEXL.cjs.map +0 -1
  1312. package/dist/YTicksAndGridLines-C7glLI5b.cjs +0 -2
  1313. package/dist/YTicksAndGridLines-C7glLI5b.cjs.map +0 -1
  1314. package/dist/YTicksAndGridLines-wtuAKNeT.js +0 -41
  1315. package/dist/YTicksAndGridLines-wtuAKNeT.js.map +0 -1
  1316. package/dist/_commonjsHelpers-BH3jXuIh.cjs +0 -2
  1317. package/dist/_commonjsHelpers-BH3jXuIh.cjs.map +0 -1
  1318. package/dist/_commonjsHelpers-ByX85dGu.js +0 -34
  1319. package/dist/_commonjsHelpers-ByX85dGu.js.map +0 -1
  1320. package/dist/area-B6r7cv2o.js +0 -53
  1321. package/dist/area-B6r7cv2o.js.map +0 -1
  1322. package/dist/area-C1gxfNGD.cjs +0 -2
  1323. package/dist/area-C1gxfNGD.cjs.map +0 -1
  1324. package/dist/array-DMyR1sql.cjs +0 -2
  1325. package/dist/array-DMyR1sql.cjs.map +0 -1
  1326. package/dist/array-USo-Szhp.js +0 -13
  1327. package/dist/array-USo-Szhp.js.map +0 -1
  1328. package/dist/band-DYty33LD.js +0 -47
  1329. package/dist/band-DYty33LD.js.map +0 -1
  1330. package/dist/band-VYfcZeJ2.cjs +0 -2
  1331. package/dist/band-VYfcZeJ2.cjs.map +0 -1
  1332. package/dist/checkIfMultiple-BIEQDuA3.cjs +0 -2
  1333. package/dist/checkIfMultiple-BIEQDuA3.cjs.map +0 -1
  1334. package/dist/checkIfMultiple-D2tgEnYM.js +0 -11
  1335. package/dist/checkIfMultiple-D2tgEnYM.js.map +0 -1
  1336. package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs +0 -2
  1337. package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs.map +0 -1
  1338. package/dist/checkIfNullOrUndefined-DmfiKkNw.js +0 -7
  1339. package/dist/checkIfNullOrUndefined-DmfiKkNw.js.map +0 -1
  1340. package/dist/compiler-runtime-oPPev21o.cjs +0 -11
  1341. package/dist/compiler-runtime-oPPev21o.cjs.map +0 -1
  1342. package/dist/compiler-runtime-qHgugrLy.js +0 -297
  1343. package/dist/compiler-runtime-qHgugrLy.js.map +0 -1
  1344. package/dist/customArea-BCGIYDQa.cjs +0 -2
  1345. package/dist/customArea-BCGIYDQa.cjs.map +0 -1
  1346. package/dist/customArea-Dixg0NtQ.js +0 -164
  1347. package/dist/customArea-Dixg0NtQ.js.map +0 -1
  1348. package/dist/defaultLocale-C4wbwF1n.cjs +0 -2
  1349. package/dist/defaultLocale-C4wbwF1n.cjs.map +0 -1
  1350. package/dist/defaultLocale-CPy_WVtp.js +0 -172
  1351. package/dist/defaultLocale-CPy_WVtp.js.map +0 -1
  1352. package/dist/delaunay-C1uAf38t.js +0 -684
  1353. package/dist/delaunay-C1uAf38t.js.map +0 -1
  1354. package/dist/delaunay-rcy0HhZi.cjs +0 -2
  1355. package/dist/delaunay-rcy0HhZi.cjs.map +0 -1
  1356. package/dist/ensureCompleteData-CDIukSG6.js +0 -122
  1357. package/dist/ensureCompleteData-CDIukSG6.js.map +0 -1
  1358. package/dist/ensureCompleteData-D9bQTiVS.cjs +0 -2
  1359. package/dist/ensureCompleteData-D9bQTiVS.cjs.map +0 -1
  1360. package/dist/excelDownload-BEC1AyQW.js +0 -29
  1361. package/dist/excelDownload-BEC1AyQW.js.map +0 -1
  1362. package/dist/excelDownload-BQpsCa62.cjs +0 -2
  1363. package/dist/excelDownload-BQpsCa62.cjs.map +0 -1
  1364. package/dist/fetchAndParseData-CDjQZ1fL.js +0 -564
  1365. package/dist/fetchAndParseData-CDjQZ1fL.js.map +0 -1
  1366. package/dist/fetchAndParseData-QTF6tjij.cjs +0 -11
  1367. package/dist/fetchAndParseData-QTF6tjij.cjs.map +0 -1
  1368. package/dist/fetchAndParseData.cjs.map +0 -1
  1369. package/dist/fetchAndParseData.js.map +0 -1
  1370. package/dist/filterData-DsAiFzKY.js +0 -12
  1371. package/dist/filterData-DsAiFzKY.js.map +0 -1
  1372. package/dist/filterData-T5DQBE9b.cjs +0 -2
  1373. package/dist/filterData-T5DQBE9b.cjs.map +0 -1
  1374. package/dist/generateRandomString-B5zBiJzS.cjs +0 -2
  1375. package/dist/generateRandomString-B5zBiJzS.cjs.map +0 -1
  1376. package/dist/generateRandomString-za3IQGfQ.js +0 -11
  1377. package/dist/generateRandomString-za3IQGfQ.js.map +0 -1
  1378. package/dist/getCentroidCoordinates-CtBGrNC8.cjs +0 -2
  1379. package/dist/getCentroidCoordinates-CtBGrNC8.cjs.map +0 -1
  1380. package/dist/getCentroidCoordinates-s0OOUjLF.js +0 -70
  1381. package/dist/getCentroidCoordinates-s0OOUjLF.js.map +0 -1
  1382. package/dist/getGraphList-Bpd3PVmF.js +0 -239
  1383. package/dist/getGraphList-Bpd3PVmF.js.map +0 -1
  1384. package/dist/getGraphList-DQ24IzAn.cjs +0 -2
  1385. package/dist/getGraphList-DQ24IzAn.cjs.map +0 -1
  1386. package/dist/getJenks-BzJvhy_H.cjs +0 -2
  1387. package/dist/getJenks-BzJvhy_H.cjs.map +0 -1
  1388. package/dist/getJenks-DTCcQSDi.js +0 -19
  1389. package/dist/getJenks-DTCcQSDi.js.map +0 -1
  1390. package/dist/getNoOfTicks-C_1CFXv_.cjs +0 -2
  1391. package/dist/getNoOfTicks-C_1CFXv_.cjs.map +0 -1
  1392. package/dist/getNoOfTicks-CpmRjcRF.js +0 -7
  1393. package/dist/getNoOfTicks-CpmRjcRF.js.map +0 -1
  1394. package/dist/getSliderMarks-Bj_JJTtX.cjs +0 -2
  1395. package/dist/getSliderMarks-Bj_JJTtX.cjs.map +0 -1
  1396. package/dist/getSliderMarks-DSxFGb1f.js +0 -21
  1397. package/dist/getSliderMarks-DSxFGb1f.js.map +0 -1
  1398. package/dist/getTextColorBasedOnBgColor-CDY808zi.js +0 -36
  1399. package/dist/getTextColorBasedOnBgColor-CDY808zi.js.map +0 -1
  1400. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs +0 -2
  1401. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs.map +0 -1
  1402. package/dist/getUniqValue-DsqSii6M.js +0 -11
  1403. package/dist/getUniqValue-DsqSii6M.js.map +0 -1
  1404. package/dist/getUniqValue-NX8DgwND.cjs +0 -2
  1405. package/dist/getUniqValue-NX8DgwND.cjs.map +0 -1
  1406. package/dist/imageDownload-BYsNEtMS.js +0 -990
  1407. package/dist/imageDownload-BYsNEtMS.js.map +0 -1
  1408. package/dist/imageDownload-CkMwA7Cw.cjs +0 -15
  1409. package/dist/imageDownload-CkMwA7Cw.cjs.map +0 -1
  1410. package/dist/index-5BQWR1Z8.cjs +0 -10
  1411. package/dist/index-5BQWR1Z8.cjs.map +0 -1
  1412. package/dist/index-BS2TADPj.cjs +0 -2
  1413. package/dist/index-BS2TADPj.cjs.map +0 -1
  1414. package/dist/index-BZQYSqar.js +0 -658
  1415. package/dist/index-BZQYSqar.js.map +0 -1
  1416. package/dist/index-BaXzoD4r.cjs +0 -2
  1417. package/dist/index-BaXzoD4r.cjs.map +0 -1
  1418. package/dist/index-BuwmuDFJ.js +0 -273
  1419. package/dist/index-BuwmuDFJ.js.map +0 -1
  1420. package/dist/index-Bwrro8-q.js +0 -35
  1421. package/dist/index-Bwrro8-q.js.map +0 -1
  1422. package/dist/index-C5K--w8d.cjs +0 -2
  1423. package/dist/index-C5K--w8d.cjs.map +0 -1
  1424. package/dist/index-CKpKc9DR.js +0 -2344
  1425. package/dist/index-CKpKc9DR.js.map +0 -1
  1426. package/dist/index-CNUlPiEL.js +0 -148
  1427. package/dist/index-CNUlPiEL.js.map +0 -1
  1428. package/dist/index-CSNtgibC.cjs +0 -2
  1429. package/dist/index-CSNtgibC.cjs.map +0 -1
  1430. package/dist/index-CeVNqhMO.js +0 -26
  1431. package/dist/index-CeVNqhMO.js.map +0 -1
  1432. package/dist/index-CmkqqFRG.js +0 -99
  1433. package/dist/index-CmkqqFRG.js.map +0 -1
  1434. package/dist/index-Cno4Q0YE.cjs +0 -2
  1435. package/dist/index-Cno4Q0YE.cjs.map +0 -1
  1436. package/dist/index-CyZ1lmi_.cjs +0 -2
  1437. package/dist/index-CyZ1lmi_.cjs.map +0 -1
  1438. package/dist/index-DCsFBfJ_.js +0 -808
  1439. package/dist/index-DCsFBfJ_.js.map +0 -1
  1440. package/dist/index-DLFt97gy.cjs +0 -2
  1441. package/dist/index-DLFt97gy.cjs.map +0 -1
  1442. package/dist/index-DQA8q5sC.cjs +0 -2
  1443. package/dist/index-DQA8q5sC.cjs.map +0 -1
  1444. package/dist/index-D_ls5oK8.js +0 -142
  1445. package/dist/index-D_ls5oK8.js.map +0 -1
  1446. package/dist/index-DbSnila_.cjs +0 -2
  1447. package/dist/index-DbSnila_.cjs.map +0 -1
  1448. package/dist/index-EArKRVKg.js +0 -53
  1449. package/dist/index-EArKRVKg.js.map +0 -1
  1450. package/dist/index-_w-CQAbR.js +0 -376
  1451. package/dist/index-_w-CQAbR.js.map +0 -1
  1452. package/dist/index-dN3wiQgD.cjs +0 -2
  1453. package/dist/index-dN3wiQgD.cjs.map +0 -1
  1454. package/dist/index.cjs.map +0 -1
  1455. package/dist/index.js.map +0 -1
  1456. package/dist/init-BhZylTFx.js +0 -63
  1457. package/dist/init-BhZylTFx.js.map +0 -1
  1458. package/dist/init-DU0ybBc_.cjs +0 -2
  1459. package/dist/init-DU0ybBc_.cjs.map +0 -1
  1460. package/dist/line-DFlZsxI1.js +0 -144
  1461. package/dist/line-DFlZsxI1.js.map +0 -1
  1462. package/dist/line-DaEMhXmx.cjs +0 -2
  1463. package/dist/line-DaEMhXmx.cjs.map +0 -1
  1464. package/dist/linear-CgUCbw9F.cjs +0 -2
  1465. package/dist/linear-CgUCbw9F.cjs.map +0 -1
  1466. package/dist/linear-DNXM5Pdl.js +0 -221
  1467. package/dist/linear-DNXM5Pdl.js.map +0 -1
  1468. package/dist/numberFormattingFunction-BUUV_luR.js +0 -28
  1469. package/dist/numberFormattingFunction-BUUV_luR.js.map +0 -1
  1470. package/dist/numberFormattingFunction-u2iNHL_c.cjs +0 -2
  1471. package/dist/numberFormattingFunction-u2iNHL_c.cjs.map +0 -1
  1472. package/dist/ordinal-CHaxGJ_l.js +0 -62
  1473. package/dist/ordinal-CHaxGJ_l.js.map +0 -1
  1474. package/dist/ordinal-CrsysVE-.cjs +0 -2
  1475. package/dist/ordinal-CrsysVE-.cjs.map +0 -1
  1476. package/dist/parse-Dv4of-PN.js +0 -2703
  1477. package/dist/parse-Dv4of-PN.js.map +0 -1
  1478. package/dist/parse-xYI9yrvL.cjs +0 -2
  1479. package/dist/parse-xYI9yrvL.cjs.map +0 -1
  1480. package/dist/pointer-CWRWOsrb.js +0 -23
  1481. package/dist/pointer-CWRWOsrb.js.map +0 -1
  1482. package/dist/pointer-Dkq5NV1q.cjs +0 -2
  1483. package/dist/pointer-Dkq5NV1q.cjs.map +0 -1
  1484. package/dist/pow-BXYLJHCq.js +0 -35
  1485. package/dist/pow-BXYLJHCq.js.map +0 -1
  1486. package/dist/pow-BnyPO-NX.cjs +0 -2
  1487. package/dist/pow-BnyPO-NX.cjs.map +0 -1
  1488. package/dist/proxy-D31SA_aE.js +0 -4781
  1489. package/dist/proxy-D31SA_aE.js.map +0 -1
  1490. package/dist/proxy-QMeVVqam.cjs +0 -2
  1491. package/dist/proxy-QMeVVqam.cjs.map +0 -1
  1492. package/dist/removeOutliers-BqW0sPqj.js +0 -54
  1493. package/dist/removeOutliers-BqW0sPqj.js.map +0 -1
  1494. package/dist/removeOutliers-WELHHqiI.cjs +0 -2
  1495. package/dist/removeOutliers-WELHHqiI.cjs.map +0 -1
  1496. package/dist/select-Bnfk0lJx.cjs +0 -2
  1497. package/dist/select-Bnfk0lJx.cjs.map +0 -1
  1498. package/dist/select-DKy99ogv.js +0 -584
  1499. package/dist/select-DKy99ogv.js.map +0 -1
  1500. package/dist/simple-statistics-flVzqVtt.js +0 -65
  1501. package/dist/simple-statistics-flVzqVtt.js.map +0 -1
  1502. package/dist/simple-statistics-xm8c0LQQ.cjs +0 -2
  1503. package/dist/simple-statistics-xm8c0LQQ.cjs.map +0 -1
  1504. package/dist/step-BZ3C8QFW.cjs +0 -2
  1505. package/dist/step-BZ3C8QFW.cjs.map +0 -1
  1506. package/dist/step-BrDul-H4.js +0 -119
  1507. package/dist/step-BrDul-H4.js.map +0 -1
  1508. package/dist/string-C-kRh1bQ.cjs +0 -2
  1509. package/dist/string-C-kRh1bQ.cjs.map +0 -1
  1510. package/dist/string-CbaFIsiV.js +0 -364
  1511. package/dist/string-CbaFIsiV.js.map +0 -1
  1512. package/dist/string2HTML-30nfIm8R.cjs +0 -3
  1513. package/dist/string2HTML-30nfIm8R.cjs.map +0 -1
  1514. package/dist/string2HTML-DL-pInUB.js +0 -764
  1515. package/dist/string2HTML-DL-pInUB.js.map +0 -1
  1516. package/dist/svgDownload-BAoarWNt.js +0 -11
  1517. package/dist/svgDownload-BAoarWNt.js.map +0 -1
  1518. package/dist/svgDownload-D9zEGjTF.cjs +0 -2
  1519. package/dist/svgDownload-D9zEGjTF.cjs.map +0 -1
  1520. package/dist/threshold-DFfqcDMa.js +0 -23
  1521. package/dist/threshold-DFfqcDMa.js.map +0 -1
  1522. package/dist/threshold-DNsSUf8Q.cjs +0 -2
  1523. package/dist/threshold-DNsSUf8Q.cjs.map +0 -1
  1524. package/dist/time-CkcKbhwe.cjs +0 -2
  1525. package/dist/time-CkcKbhwe.cjs.map +0 -1
  1526. package/dist/time-vyz6Y89P.js +0 -715
  1527. package/dist/time-vyz6Y89P.js.map +0 -1
  1528. package/dist/timer-B39XOBYL.js +0 -124
  1529. package/dist/timer-B39XOBYL.js.map +0 -1
  1530. package/dist/timer-CKyBCVzT.cjs +0 -2
  1531. package/dist/timer-CKyBCVzT.cjs.map +0 -1
  1532. package/dist/transformData.cjs.map +0 -1
  1533. package/dist/transformData.js.map +0 -1
  1534. package/dist/transformDataForAggregation-BFdha9Dx.cjs +0 -2
  1535. package/dist/transformDataForAggregation-BFdha9Dx.cjs.map +0 -1
  1536. package/dist/transformDataForAggregation-wdPf8bNt.js +0 -635
  1537. package/dist/transformDataForAggregation-wdPf8bNt.js.map +0 -1
  1538. package/dist/transformDataForGraphFromFile-COZC6A0_.js +0 -14
  1539. package/dist/transformDataForGraphFromFile-COZC6A0_.js.map +0 -1
  1540. package/dist/transformDataForGraphFromFile-DOhp1qrp.cjs +0 -2
  1541. package/dist/transformDataForGraphFromFile-DOhp1qrp.cjs.map +0 -1
  1542. package/dist/transformDataForSelect-D8AuvYdf.js +0 -14
  1543. package/dist/transformDataForSelect-D8AuvYdf.js.map +0 -1
  1544. package/dist/transformDataForSelect-YmStusCI.cjs +0 -2
  1545. package/dist/transformDataForSelect-YmStusCI.cjs.map +0 -1
  1546. package/dist/uniqBy-BHy4I8PK.js +0 -8
  1547. package/dist/uniqBy-BHy4I8PK.js.map +0 -1
  1548. package/dist/uniqBy-O05lp2S5.cjs +0 -2
  1549. package/dist/uniqBy-O05lp2S5.cjs.map +0 -1
  1550. package/dist/use-in-view-Co5SmzfT.js +0 -40
  1551. package/dist/use-in-view-Co5SmzfT.js.map +0 -1
  1552. package/dist/use-in-view-DjR_gqJP.cjs +0 -2
  1553. package/dist/use-in-view-DjR_gqJP.cjs.map +0 -1
  1554. package/dist/utils.cjs.map +0 -1
  1555. package/dist/utils.js.map +0 -1
  1556. package/dist/y-BqfogMAB.js +0 -421
  1557. package/dist/y-BqfogMAB.js.map +0 -1
  1558. package/dist/y-QcCbqrzx.cjs +0 -2
  1559. package/dist/y-QcCbqrzx.cjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarGraph-DE7tJ52k.cjs","names":[],"sources":["../src/Components/Graphs/BarGraph/GroupedBarGraph/Graph.tsx","../src/Components/Graphs/BarGraph/GroupedBarGraph/index.tsx","../src/Components/Graphs/BarGraph/SimpleBarGraph/Graph.tsx","../src/Components/Graphs/BarGraph/SimpleBarGraph/index.tsx","../src/Components/Graphs/BarGraph/StackedBarGraph/Graph.tsx","../src/Components/Graphs/BarGraph/StackedBarGraph/index.tsx","../src/Components/Graphs/BarGraph/index.tsx"],"sourcesContent":["import { cn } from '@undp/design-system-react/cn';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport isEqual from 'fast-deep-equal';\nimport { AnimatePresence, motion, useInView } from 'motion/react';\nimport { useMemo, useRef, useState } from 'react';\nimport { Axis } from '@/Components/Elements/Axes/Axis';\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\nimport { XAxesLabels } from '@/Components/Elements/Axes/XAxesLabels';\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\nimport { YAxesLabels } from '@/Components/Elements/Axes/YAxesLabels';\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\nimport { RefLineX, RefLineY } from '@/Components/Elements/ReferenceLine';\nimport { Tooltip } from '@/Components/Elements/Tooltip';\nimport type {\n AnimateDataType,\n ClassNameObject,\n CustomLayerDataType,\n GroupedBarGraphDataType,\n ReferenceDataType,\n StyleObject,\n} from '@/Types';\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\n\ninterface Props {\n data: GroupedBarGraphDataType[];\n barColors: string[];\n barPadding: number;\n showTicks: boolean;\n leftMargin?: number;\n rightMargin?: number;\n topMargin?: number;\n bottomMargin?: number;\n truncateBy: number;\n showLabels: boolean;\n width: number;\n suffix: string;\n prefix: string;\n showValues: boolean;\n height: number;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n refValues?: ReferenceDataType[];\n maxValue: number;\n minValue: number;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n selectedColor?: string;\n rtl: boolean;\n labelOrder?: string[];\n maxBarThickness?: number;\n resetSelectionOnDoubleClick: boolean;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n barAxisTitle?: string;\n noOfTicks: number;\n valueColor?: string;\n styles?: StyleObject;\n classNames?: ClassNameObject;\n animate: AnimateDataType;\n colorDomain: string[];\n precision: number;\n customLayers: CustomLayerDataType[];\n naLabel: string;\n hideAxisLine: boolean;\n locale: string;\n padZeros: boolean;\n}\n\nexport function HorizontalGraph(props: Props) {\n const {\n data,\n leftMargin = 100,\n rightMargin = 40,\n topMargin = 25,\n bottomMargin = 10,\n barColors,\n barPadding,\n showTicks,\n truncateBy,\n width,\n height,\n suffix,\n prefix,\n showValues,\n showLabels,\n tooltip,\n onSeriesMouseOver,\n refValues,\n maxValue,\n minValue,\n onSeriesMouseClick,\n selectedColor,\n rtl,\n labelOrder,\n maxBarThickness,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n valueColor,\n noOfTicks,\n styles,\n classNames,\n animate,\n colorDomain,\n precision,\n customLayers,\n naLabel,\n hideAxisLine,\n locale,\n padZeros,\n } = props;\n const svgRef = useRef(null);\n const isInView = useInView(svgRef, {\n once: animate.once,\n amount: animate.amount,\n });\n const margin = {\n top: barAxisTitle ? topMargin + 25 : topMargin,\n bottom: bottomMargin,\n left: leftMargin,\n right: rightMargin,\n };\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\n const [eventX, setEventX] = useState<number | undefined>(undefined);\n const [eventY, setEventY] = useState<number | undefined>(undefined);\n const graphWidth = width - margin.left - margin.right;\n const graphHeight = height - margin.top - margin.bottom;\n\n const dataWithId = useMemo(() => {\n const idSet = new Set<string>();\n\n const dataWithIdWithoutMissingIds = data.map((d, i) => {\n const id = labelOrder ? `${d.label}` : `${i}`;\n idSet.add(id);\n return { ...d, id };\n });\n\n const missingIds = labelOrder ? labelOrder.filter((id) => !idSet.has(id)) : [];\n\n return [\n ...dataWithIdWithoutMissingIds,\n ...missingIds.map((id) => ({\n id,\n label: id,\n size: Array(data[0].size.length).fill(null),\n })),\n ];\n }, [data, labelOrder]);\n\n const barOrder = useMemo(() => {\n return labelOrder ?? dataWithId.map((d) => `${d.id}`);\n }, [labelOrder, dataWithId]);\n\n const x = scaleLinear().domain([minValue, maxValue]).range([0, graphWidth]).nice();\n const y = scaleBand()\n .domain(barOrder)\n .range([\n 0,\n maxBarThickness ? Math.min(graphHeight, maxBarThickness * barOrder.length) : graphHeight,\n ])\n .paddingInner(barPadding);\n const subBarScale = scaleBand()\n .domain(data[0].size.map((_d, i) => `${i}`))\n .range([0, y.bandwidth()])\n .paddingInner(0.1);\n const xTicks = x.ticks(noOfTicks);\n return (\n <>\n <motion.svg\n ref={svgRef}\n width={`${width}px`}\n height={`${height}px`}\n viewBox={`0 0 ${width} ${height}`}\n direction='ltr'\n >\n <g transform={`translate(${margin.left},${margin.top})`}>\n {showTicks ? (\n <XTicksAndGridLines\n values={xTicks.filter((d) => d !== 0)}\n x={xTicks.filter((d) => d !== 0).map((d) => x(d))}\n y1={0 - topMargin}\n y2={graphHeight + margin.bottom}\n styles={{\n gridLines: styles?.xAxis?.gridLines,\n labels: styles?.xAxis?.labels,\n }}\n classNames={{\n gridLines: classNames?.xAxis?.gridLines,\n labels: classNames?.xAxis?.labels,\n }}\n suffix={suffix}\n prefix={prefix}\n labelType='secondary'\n showGridLines\n precision={precision}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n <AxisTitle\n x={graphWidth / 2}\n y={0 - margin.top + 15}\n style={styles?.xAxis?.title}\n className={classNames?.xAxis?.title}\n text={barAxisTitle}\n />\n {customLayers.filter((d) => d.position === 'before').map((d) => d.layer)}\n <AnimatePresence>\n {dataWithId.map((d) =>\n !checkIfNullOrUndefined(y(d.id)) ? (\n <motion.g\n key={d.label}\n variants={{\n initial: {\n x: 0,\n y: y(`${d.id}`),\n },\n whileInView: {\n x: 0,\n y: y(`${d.id}`),\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n >\n {d.size.map((el, j) => (\n <motion.g\n className='undp-viz-g-with-hover'\n key={`${d.label}-${colorDomain[j] || j}`}\n opacity={selectedColor ? (barColors[j] === selectedColor ? 1 : 0.3) : 0.85}\n onMouseEnter={(event) => {\n setMouseOverData({ ...d, sizeIndex: j });\n setEventY(event.clientY);\n setEventX(event.clientX);\n onSeriesMouseOver?.({ ...d, sizeIndex: j });\n }}\n onMouseMove={(event) => {\n setMouseOverData({ ...d, sizeIndex: j });\n setEventY(event.clientY);\n setEventX(event.clientX);\n }}\n onMouseLeave={() => {\n setMouseOverData(undefined);\n setEventX(undefined);\n setEventY(undefined);\n onSeriesMouseOver?.(undefined);\n }}\n onClick={() => {\n if (onSeriesMouseClick || detailsOnClick) {\n if (\n isEqual(mouseClickData, { ...d, sizeIndex: j }) &&\n resetSelectionOnDoubleClick\n ) {\n setMouseClickData(undefined);\n onSeriesMouseClick?.(undefined);\n } else {\n setMouseClickData({ ...d, sizeIndex: j });\n if (onSeriesMouseClick) onSeriesMouseClick({ ...d, sizeIndex: j });\n }\n }\n }}\n >\n {!checkIfNullOrUndefined(el) ? (\n <motion.rect\n y={subBarScale(`${j}`)}\n variants={{\n initial: {\n width: 0,\n x: x(0),\n fill: barColors[j],\n },\n whileInView: {\n width: !checkIfNullOrUndefined(el)\n ? (el as number) >= 0\n ? x(el as number) - x(0)\n : x(0) - x(el as number)\n : 0,\n x: (el as number) >= 0 ? x(0) : x(el as number),\n fill: barColors[j],\n transition: { duration: animate.duration },\n },\n }}\n exit={{\n width: 0,\n x: x(0),\n transition: { duration: animate.duration },\n }}\n height={subBarScale.bandwidth()}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n />\n ) : null}\n {showValues ? (\n <motion.text\n y={(subBarScale(`${j}`) as number) + subBarScale.bandwidth() / 2}\n style={{\n textAnchor: el ? (el < 0 ? 'end' : 'start') : 'start',\n ...(styles?.graphObjectValues || {}),\n }}\n className={cn('graph-value text-sm', classNames?.graphObjectValues)}\n dx={el ? (el < 0 ? -5 : 5) : 5}\n dy='0.33em'\n variants={{\n initial: { x: x(0), opacity: 0, fill: valueColor || barColors[j] },\n whileInView: {\n x: x(el || 0),\n opacity: 1,\n fill: valueColor || barColors[j],\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{\n opacity: 0,\n transition: { duration: animate.duration },\n }}\n >\n {numberFormattingFunction(\n el,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )}\n </motion.text>\n ) : null}\n </motion.g>\n ))}\n {showLabels ? (\n <YAxesLabels\n value={\n `${d.label}`.length < truncateBy\n ? `${d.label}`\n : `${`${d.label}`.substring(0, truncateBy)}...`\n }\n y={0}\n x={0 - margin.left}\n width={x(minValue < 0 ? 0 : minValue) + margin.left}\n height={y.bandwidth()}\n style={styles?.yAxis?.labels}\n className={classNames?.yAxis?.labels}\n animate={animate}\n isInView={isInView}\n />\n ) : null}\n </motion.g>\n ) : null,\n )}\n <Axis\n x1={x(minValue < 0 ? 0 : minValue)}\n x2={x(minValue < 0 ? 0 : minValue)}\n y1={-2.5}\n y2={graphHeight + margin.bottom}\n classNames={{ axis: classNames?.yAxis?.axis }}\n styles={{ axis: styles?.yAxis?.axis }}\n hideAxisLine={hideAxisLine}\n />\n {refValues?.map((el) => (\n <RefLineX\n key={el.text}\n text={el.text}\n color={el.color}\n x={x(el.value as number)}\n y1={0 - margin.top}\n y2={graphHeight + margin.bottom}\n textSide={x(el.value as number) > graphWidth * 0.75 || rtl ? 'left' : 'right'}\n classNames={el.classNames}\n styles={el.styles}\n animate={animate}\n isInView={isInView}\n />\n ))}\n </AnimatePresence>\n {customLayers.filter((d) => d.position === 'after').map((d) => d.layer)}\n </g>\n </motion.svg>\n {mouseOverData && tooltip && eventX && eventY ? (\n <Tooltip\n data={mouseOverData}\n body={tooltip}\n xPos={eventX}\n yPos={eventY}\n backgroundStyle={styles?.tooltip}\n className={classNames?.tooltip}\n />\n ) : null}\n {detailsOnClick && mouseClickData !== undefined ? (\n <DetailsModal\n body={detailsOnClick}\n data={mouseClickData}\n setData={setMouseClickData}\n className={classNames?.modal}\n />\n ) : null}\n </>\n );\n}\n\nexport function VerticalGraph(props: Props) {\n const {\n data,\n leftMargin = 20,\n rightMargin = 20,\n topMargin = 20,\n bottomMargin = 25,\n width,\n height,\n barColors,\n suffix,\n prefix,\n barPadding,\n showLabels,\n showValues,\n showTicks,\n truncateBy,\n tooltip,\n onSeriesMouseOver,\n refValues,\n maxValue,\n minValue,\n onSeriesMouseClick,\n selectedColor,\n labelOrder,\n maxBarThickness,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n valueColor,\n noOfTicks,\n styles,\n classNames,\n animate,\n colorDomain,\n precision,\n customLayers,\n naLabel,\n hideAxisLine,\n locale,\n padZeros,\n } = props;\n const svgRef = useRef(null);\n const isInView = useInView(svgRef, {\n once: animate.once,\n amount: animate.amount,\n });\n const margin = {\n top: topMargin,\n bottom: bottomMargin,\n left: barAxisTitle ? leftMargin + 30 : leftMargin,\n right: rightMargin,\n };\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\n const [eventX, setEventX] = useState<number | undefined>(undefined);\n const [eventY, setEventY] = useState<number | undefined>(undefined);\n const graphWidth = width - margin.left - margin.right;\n const graphHeight = height - margin.top - margin.bottom;\n\n const dataWithId = useMemo(() => {\n const idSet = new Set<string>();\n\n const dataWithIdWithoutMissingIds = data.map((d, i) => {\n const id = labelOrder ? `${d.label}` : `${i}`;\n idSet.add(id);\n return { ...d, id };\n });\n\n const missingIds = labelOrder ? labelOrder.filter((id) => !idSet.has(id)) : [];\n\n return [\n ...dataWithIdWithoutMissingIds,\n ...missingIds.map((id) => ({\n id,\n label: id,\n size: Array(data[0].size.length).fill(null),\n })),\n ];\n }, [data, labelOrder]);\n\n const barOrder = useMemo(() => {\n return labelOrder ?? dataWithId.map((d) => `${d.id}`);\n }, [labelOrder, dataWithId]);\n\n const y = scaleLinear().domain([minValue, maxValue]).range([graphHeight, 0]).nice();\n\n const x = scaleBand()\n .domain(barOrder)\n .range([\n 0,\n maxBarThickness ? Math.min(graphWidth, maxBarThickness * barOrder.length) : graphWidth,\n ])\n .paddingInner(barPadding);\n const subBarScale = scaleBand()\n .domain(data[0].size.map((_d, i) => `${i}`))\n .range([0, x.bandwidth()])\n .paddingInner(0.1);\n const yTicks = y.ticks(noOfTicks);\n return (\n <>\n <motion.svg\n width={`${width}px`}\n height={`${height}px`}\n viewBox={`0 0 ${width} ${height}`}\n direction='ltr'\n ref={svgRef}\n >\n <g transform={`translate(${margin.left},${margin.top})`}>\n <Axis\n y1={y(minValue < 0 ? 0 : minValue)}\n y2={y(minValue < 0 ? 0 : minValue)}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n label={\n showTicks\n ? numberFormattingFunction(\n minValue < 0 ? 0 : minValue,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )\n : undefined\n }\n hideAxisLine={hideAxisLine}\n labelPos={{\n x: 0 - leftMargin,\n dx: 0,\n dy: maxValue < 0 ? '1em' : -5,\n y: y(minValue < 0 ? 0 : minValue),\n }}\n classNames={{\n axis: classNames?.xAxis?.axis,\n label: classNames?.yAxis?.labels,\n }}\n styles={{ axis: styles?.xAxis?.axis, label: styles?.yAxis?.labels }}\n />\n {showTicks ? (\n <YTicksAndGridLines\n values={yTicks.filter((d) => d !== 0)}\n y={yTicks.filter((d) => d !== 0).map((d) => y(d))}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n styles={{\n gridLines: styles?.yAxis?.gridLines,\n labels: styles?.yAxis?.labels,\n }}\n classNames={{\n gridLines: classNames?.yAxis?.gridLines,\n labels: classNames?.yAxis?.labels,\n }}\n suffix={suffix}\n prefix={prefix}\n labelType='secondary'\n showGridLines\n labelPos='vertical'\n precision={precision}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n <AxisTitle\n x={0 - leftMargin - 15}\n y={graphHeight / 2}\n style={styles?.yAxis?.title}\n className={classNames?.yAxis?.title}\n text={barAxisTitle}\n rotate90\n />\n {customLayers.filter((d) => d.position === 'before').map((d) => d.layer)}\n <AnimatePresence>\n {dataWithId.map((d) =>\n !checkIfNullOrUndefined(x(d.id)) ? (\n <motion.g\n key={d.label}\n variants={{\n initial: {\n x: x(`${d.id}`),\n y: 0,\n },\n whileInView: {\n x: x(`${d.id}`),\n y: 0,\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n >\n {d.size.map((el, j) => (\n <motion.g\n className='undp-viz-g-with-hover'\n key={`${d.label}-${colorDomain[j] || j}`}\n opacity={selectedColor ? (barColors[j] === selectedColor ? 1 : 0.3) : 0.85}\n onMouseEnter={(event) => {\n setMouseOverData({ ...d, sizeIndex: j });\n setEventY(event.clientY);\n setEventX(event.clientX);\n onSeriesMouseOver?.({ ...d, sizeIndex: j });\n }}\n onMouseMove={(event) => {\n setMouseOverData({ ...d, sizeIndex: j });\n setEventY(event.clientY);\n setEventX(event.clientX);\n }}\n onMouseLeave={() => {\n setMouseOverData(undefined);\n setEventX(undefined);\n setEventY(undefined);\n onSeriesMouseOver?.(undefined);\n }}\n onClick={() => {\n if (onSeriesMouseClick || detailsOnClick) {\n if (\n isEqual(mouseClickData, { ...d, sizeIndex: j }) &&\n resetSelectionOnDoubleClick\n ) {\n setMouseClickData(undefined);\n onSeriesMouseClick?.(undefined);\n } else {\n setMouseClickData({ ...d, sizeIndex: j });\n if (onSeriesMouseClick) onSeriesMouseClick({ ...d, sizeIndex: j });\n }\n }\n }}\n >\n <motion.rect\n x={subBarScale(`${j}`)}\n width={subBarScale.bandwidth()}\n variants={{\n initial: {\n height: 0,\n y: y(0),\n fill: barColors[j],\n },\n whileInView: {\n height: !checkIfNullOrUndefined(el)\n ? Math.abs(y(el as number) - y(0))\n : 0,\n y: !checkIfNullOrUndefined(el)\n ? (el as number) > 0\n ? y(el as number)\n : y(0)\n : y(0),\n fill: barColors[j],\n transition: { duration: animate.duration },\n },\n }}\n exit={{\n height: 0,\n y: y(0),\n transition: { duration: animate.duration },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n />\n {showValues ? (\n <motion.text\n x={(subBarScale(`${j}`) as number) + subBarScale.bandwidth() / 2}\n style={{\n textAnchor: 'middle',\n ...(styles?.graphObjectValues || {}),\n }}\n className={cn('graph-value text-sm', classNames?.graphObjectValues)}\n dy={el ? (el >= 0 ? '-5px' : '1em') : '-5px'}\n variants={{\n initial: { y: y(0), opacity: 0, fill: valueColor || barColors[j] },\n whileInView: {\n y: y(el || 0),\n opacity: 1,\n fill: valueColor || barColors[j],\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{\n opacity: 0,\n transition: { duration: animate.duration },\n }}\n >\n {numberFormattingFunction(\n el,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )}\n </motion.text>\n ) : null}\n </motion.g>\n ))}\n {showLabels ? (\n <XAxesLabels\n value={\n `${d.label}`.length < truncateBy\n ? `${d.label}`\n : `${`${d.label}`.substring(0, truncateBy)}...`\n }\n y={y(0) + 5}\n x={0}\n width={x.bandwidth()}\n height={margin.bottom}\n style={styles?.xAxis?.labels}\n className={classNames?.xAxis?.labels}\n alignment='top'\n animate={animate}\n isInView={isInView}\n />\n ) : null}\n </motion.g>\n ) : null,\n )}\n {refValues?.map((el) => (\n <RefLineY\n key={el.text}\n text={el.text}\n color={el.color}\n y={y(el.value as number)}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n classNames={el.classNames}\n styles={el.styles}\n animate={animate}\n isInView={isInView}\n />\n ))}\n </AnimatePresence>\n {customLayers.filter((d) => d.position === 'after').map((d) => d.layer)}\n </g>\n </motion.svg>\n {mouseOverData && tooltip && eventX && eventY ? (\n <Tooltip\n data={mouseOverData}\n body={tooltip}\n xPos={eventX}\n yPos={eventY}\n backgroundStyle={styles?.tooltip}\n className={classNames?.tooltip}\n />\n ) : null}\n {detailsOnClick && mouseClickData !== undefined ? (\n <DetailsModal\n body={detailsOnClick}\n data={mouseClickData}\n setData={setMouseClickData}\n className={classNames?.modal}\n />\n ) : null}\n </>\n );\n}\n","import { SliderUI } from '@undp/design-system-react/SliderUI';\nimport { format } from 'date-fns/format';\nimport { parse } from 'date-fns/parse';\nimport orderBy from 'lodash.orderby';\nimport sum from 'lodash.sum';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { Colors } from '@/Components/ColorPalette';\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\nimport { EmptyState } from '@/Components/Elements/EmptyState';\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\nimport { Pause, Play } from '@/Components/Icons';\nimport type {\n AnimateDataType,\n ClassNameObject,\n CustomLayerDataType,\n GroupedBarGraphDataType,\n Languages,\n ReferenceDataType,\n SourcesDataType,\n StyleObject,\n TimelineDataType,\n} from '@/Types';\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\nimport { ensureCompleteDataForStackedBarChart } from '@/Utils/ensureCompleteData';\nimport { getSliderMarks } from '@/Utils/getSliderMarks';\nimport { HorizontalGraph, VerticalGraph } from './Graph';\n\ninterface Props {\n data: GroupedBarGraphDataType[];\n colors?: string[];\n graphTitle?: string | React.ReactNode;\n graphDescription?: string | React.ReactNode;\n footNote?: string | React.ReactNode;\n width?: number;\n height?: number;\n sources?: SourcesDataType[];\n barPadding?: number;\n showTicks?: boolean;\n truncateBy?: number;\n colorDomain: string[];\n colorLegendTitle?: string;\n suffix?: string;\n prefix?: string;\n showValues?: boolean;\n backgroundColor?: string | boolean;\n padding?: string;\n leftMargin?: number;\n rightMargin?: number;\n topMargin?: number;\n showLabels?: boolean;\n bottomMargin?: number;\n relativeHeight?: number;\n sortParameter?: number | 'total';\n sortData?: 'asc' | 'desc';\n showColorScale?: boolean;\n minHeight?: number;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n refValues?: ReferenceDataType[];\n graphID?: string;\n maxValue?: number;\n minValue?: number;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n graphDownload?: boolean;\n dataDownload?: boolean;\n labelOrder?: string[];\n language?: Languages;\n theme?: 'light' | 'dark';\n maxBarThickness?: number;\n ariaLabel?: string;\n resetSelectionOnDoubleClick?: boolean;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n barAxisTitle?: string;\n noOfTicks?: number;\n valueColor?: string;\n styles?: StyleObject;\n classNames?: ClassNameObject;\n filterNA?: boolean;\n animate?: boolean | AnimateDataType;\n precision?: number;\n customLayers?: CustomLayerDataType[];\n timeline?: TimelineDataType;\n naLabel?: string;\n orientation?: 'horizontal' | 'vertical';\n hideAxisLine?: boolean;\n locale?: string;\n padZeros?: boolean;\n}\n\nexport function GroupedBarGraphEl(props: Props) {\n const {\n data,\n graphTitle,\n colors = Colors.light.categoricalColors.colors,\n sources,\n graphDescription,\n barPadding = 0.25,\n showTicks = true,\n truncateBy = 999,\n height,\n width,\n footNote,\n colorDomain,\n colorLegendTitle,\n suffix = '',\n prefix = '',\n showValues = true,\n showColorScale = true,\n padding,\n backgroundColor = false,\n leftMargin,\n rightMargin,\n topMargin,\n bottomMargin,\n showLabels = true,\n relativeHeight,\n tooltip,\n onSeriesMouseOver,\n refValues,\n graphID,\n maxValue,\n minValue,\n onSeriesMouseClick,\n graphDownload = false,\n dataDownload = false,\n language = 'en',\n labelOrder,\n minHeight = 0,\n theme = 'light',\n maxBarThickness,\n ariaLabel,\n resetSelectionOnDoubleClick = true,\n detailsOnClick,\n barAxisTitle,\n noOfTicks = 5,\n valueColor,\n styles,\n classNames,\n filterNA = true,\n animate = false,\n precision = 2,\n customLayers = [],\n timeline = { enabled: false, autoplay: false, showOnlyActiveDate: true },\n naLabel = 'NA',\n sortParameter,\n sortData,\n orientation = 'vertical',\n hideAxisLine = false,\n locale = 'en',\n padZeros = false,\n } = props;\n\n const Comp = orientation === 'horizontal' ? HorizontalGraph : VerticalGraph;\n const [svgWidth, setSvgWidth] = useState(0);\n const [svgHeight, setSvgHeight] = useState(0);\n const [play, setPlay] = useState(timeline.autoplay);\n const uniqDatesSorted = useMemo(() => {\n const dates = [\n ...new Set(\n data\n .filter((d) => d.date)\n .map((d) => parse(`${d.date}`, timeline.dateFormat || 'yyyy', new Date()).getTime()),\n ),\n ];\n dates.sort((a, b) => a - b);\n return dates;\n }, [data, timeline.dateFormat]);\n const [index, setIndex] = useState(timeline.autoplay ? 0 : uniqDatesSorted.length - 1);\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\n\n const graphDiv = useRef<HTMLDivElement>(null);\n const graphParentDiv = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver((entries) => {\n setSvgWidth(entries[0].target.clientWidth || 620);\n setSvgHeight(entries[0].target.clientHeight || 480);\n });\n if (graphDiv.current) {\n resizeObserver.observe(graphDiv.current);\n }\n return () => resizeObserver.disconnect();\n }, []);\n\n useEffect(() => {\n const interval = setInterval(\n () => {\n setIndex((i) => (i < uniqDatesSorted.length - 1 ? i + 1 : 0));\n },\n (timeline.speed || 2) * 1000,\n );\n if (!play) clearInterval(interval);\n return () => clearInterval(interval);\n }, [uniqDatesSorted, play, timeline.speed]);\n\n const markObj = getSliderMarks(\n uniqDatesSorted,\n index,\n timeline.showOnlyActiveDate,\n timeline.dateFormat || 'yyyy',\n );\n\n return (\n <GraphContainer\n className={classNames?.graphContainer}\n style={styles?.graphContainer}\n id={graphID}\n ref={graphParentDiv}\n aria-label={ariaLabel}\n backgroundColor={backgroundColor}\n theme={theme}\n language={language}\n minHeight={minHeight}\n width={width}\n height={height}\n relativeHeight={relativeHeight}\n padding={padding}\n >\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\n <GraphHeader\n styles={{\n title: styles?.title,\n description: styles?.description,\n }}\n classNames={{\n title: classNames?.title,\n description: classNames?.description,\n }}\n graphTitle={graphTitle}\n graphDescription={graphDescription}\n width={width}\n graphDownload={graphDownload ? graphParentDiv : undefined}\n dataDownload={\n dataDownload\n ? data.map((d) => d.data).filter((d) => d !== undefined).length > 0\n ? data.map((d) => d.data).filter((d) => d !== undefined)\n : data.filter((d) => d !== undefined)\n : null\n }\n />\n ) : null}\n {timeline.enabled && uniqDatesSorted.length > 0 && markObj ? (\n <div className='flex gap-6 items-center' dir='ltr'>\n <button\n type='button'\n onClick={() => {\n setPlay(!play);\n }}\n className='p-0 border-0 cursor-pointer bg-transparent'\n aria-label={play ? 'Click to pause animation' : 'Click to play animation'}\n >\n {play ? <Pause /> : <Play />}\n </button>\n <SliderUI\n min={uniqDatesSorted[0]}\n max={uniqDatesSorted[uniqDatesSorted.length - 1]}\n marks={markObj}\n step={null}\n defaultValue={uniqDatesSorted[uniqDatesSorted.length - 1]}\n value={uniqDatesSorted[index]}\n onChangeComplete={(nextValue) => {\n setIndex(uniqDatesSorted.indexOf(nextValue as number));\n }}\n onChange={(nextValue) => {\n setIndex(uniqDatesSorted.indexOf(nextValue as number));\n }}\n aria-label='Time slider. Use arrow keys to adjust selected time period.'\n />\n </div>\n ) : null}\n <div className='grow flex flex-col justify-center gap-3 w-full'>\n {showColorScale && data.length > 0 ? (\n <ColorLegendWithMouseOver\n width={width}\n colorDomain={colorDomain}\n colors={colors}\n colorLegendTitle={colorLegendTitle}\n setSelectedColor={setSelectedColor}\n showNAColor={false}\n className={classNames?.colorLegend}\n />\n ) : null}\n <GraphArea ref={graphDiv}>\n {data.length === 0 && <EmptyState />}\n {svgWidth && svgHeight && data.length > 0 ? (\n <Comp\n hideAxisLine={hideAxisLine}\n data={\n sortParameter !== undefined\n ? sortParameter === 'total'\n ? orderBy(\n ensureCompleteDataForStackedBarChart(data, timeline.dateFormat || 'yyyy')\n .filter((d) =>\n timeline.enabled\n ? `${d.date}` ===\n format(\n new Date(uniqDatesSorted[index]),\n timeline.dateFormat || 'yyyy',\n )\n : d,\n )\n .filter((d) => (filterNA ? !d.size.every((item) => item == null) : d)),\n (d) => sum(d.size.filter((el) => !checkIfNullOrUndefined(el))),\n [sortData || 'asc'],\n )\n : orderBy(\n ensureCompleteDataForStackedBarChart(data, timeline.dateFormat || 'yyyy')\n .filter((d) =>\n timeline.enabled\n ? `${d.date}` ===\n format(\n new Date(uniqDatesSorted[index]),\n timeline.dateFormat || 'yyyy',\n )\n : d,\n )\n .filter((d) => (filterNA ? !d.size.every((item) => item == null) : d)),\n (d) =>\n checkIfNullOrUndefined(d.size[sortParameter])\n ? -Infinity\n : d.size[sortParameter],\n [sortData || 'asc'],\n )\n : ensureCompleteDataForStackedBarChart(data, timeline.dateFormat || 'yyyy')\n .filter((d) =>\n timeline.enabled\n ? `${d.date}` ===\n format(new Date(uniqDatesSorted[index]), timeline.dateFormat || 'yyyy')\n : d,\n )\n .filter((d) => (filterNA ? !d.size.every((item) => item == null) : d))\n }\n barColors={colors}\n width={svgWidth}\n height={svgHeight}\n suffix={suffix}\n prefix={prefix}\n showValues={showValues}\n barPadding={barPadding}\n showTicks={showTicks}\n leftMargin={leftMargin}\n rightMargin={rightMargin}\n topMargin={topMargin}\n bottomMargin={bottomMargin}\n truncateBy={truncateBy}\n showLabels={showLabels}\n tooltip={tooltip}\n onSeriesMouseOver={onSeriesMouseOver}\n refValues={refValues}\n maxValue={\n !checkIfNullOrUndefined(maxValue)\n ? (maxValue as number)\n : Math.max(\n ...data.map((d) =>\n Math.max(\n ...(d.size.filter((l) => !checkIfNullOrUndefined(l)) as number[]),\n ),\n ),\n ) < 0\n ? 0\n : Math.max(\n ...data.map((d) =>\n Math.max(\n ...(d.size.filter((l) => !checkIfNullOrUndefined(l)) as number[]),\n ),\n ),\n )\n }\n minValue={\n !checkIfNullOrUndefined(minValue)\n ? (minValue as number)\n : Math.min(\n ...data.map((d) =>\n Math.min(\n ...(d.size.filter((l) => !checkIfNullOrUndefined(l)) as number[]),\n ),\n ),\n ) >= 0\n ? 0\n : Math.min(\n ...data.map((d) =>\n Math.min(\n ...(d.size.filter((l) => !checkIfNullOrUndefined(l)) as number[]),\n ),\n ),\n )\n }\n onSeriesMouseClick={onSeriesMouseClick}\n selectedColor={selectedColor}\n labelOrder={labelOrder}\n rtl={language === 'he' || language === 'ar'}\n maxBarThickness={maxBarThickness}\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\n detailsOnClick={detailsOnClick}\n barAxisTitle={barAxisTitle}\n noOfTicks={noOfTicks}\n valueColor={valueColor}\n styles={styles}\n classNames={classNames}\n colorDomain={colorDomain}\n animate={\n animate === true\n ? { duration: 0.5, once: true, amount: 0.5 }\n : animate || { duration: 0, once: true, amount: 0 }\n }\n precision={precision}\n customLayers={customLayers}\n naLabel={naLabel}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n </GraphArea>\n </div>\n {sources || footNote ? (\n <GraphFooter\n styles={{ footnote: styles?.footnote, source: styles?.source }}\n classNames={{\n footnote: classNames?.footnote,\n source: classNames?.source,\n }}\n sources={sources}\n footNote={footNote}\n width={width}\n />\n ) : null}\n </GraphContainer>\n );\n}\n","import { cn } from '@undp/design-system-react/cn';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport isEqual from 'fast-deep-equal';\nimport { AnimatePresence, motion, useInView } from 'motion/react';\nimport { useMemo, useRef, useState } from 'react';\nimport { Colors } from '@/Components/ColorPalette';\nimport { Axis } from '@/Components/Elements/Axes/Axis';\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\nimport { XAxesLabels } from '@/Components/Elements/Axes/XAxesLabels';\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\nimport { YAxesLabels } from '@/Components/Elements/Axes/YAxesLabels';\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\nimport { RefLineX, RefLineY } from '@/Components/Elements/ReferenceLine';\nimport { Tooltip } from '@/Components/Elements/Tooltip';\nimport type {\n AnimateDataType,\n BarGraphDataType,\n ClassNameObject,\n CustomLayerDataType,\n ReferenceDataType,\n StyleObject,\n} from '@/Types';\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\n\ninterface Props {\n data: BarGraphDataType[];\n barColor: string[];\n colorDomain: string[];\n suffix: string;\n prefix: string;\n barPadding: number;\n showValues: boolean;\n showTicks: boolean;\n leftMargin?: number;\n rightMargin?: number;\n topMargin?: number;\n bottomMargin?: number;\n showLabels: boolean;\n truncateBy: number;\n width: number;\n height: number;\n // biome-ignore lint/suspicious/noExplicitAny: event payload defined by user based on undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n // biome-ignore lint/suspicious/noExplicitAny: event payload defined by user based on undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n refValues?: ReferenceDataType[];\n selectedColor?: string;\n maxValue: number;\n minValue: number;\n highlightedDataPoints?: (string | number)[];\n // biome-ignore lint/suspicious/noExplicitAny: event payload defined by user based on undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n labelOrder?: string[];\n rtl: boolean;\n maxBarThickness?: number;\n minBarThickness?: number;\n resetSelectionOnDoubleClick: boolean;\n // biome-ignore lint/suspicious/noExplicitAny: event payload defined by user based on undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n barAxisTitle?: string;\n noOfTicks: number;\n valueColor?: string;\n styles?: StyleObject;\n classNames?: ClassNameObject;\n animate: AnimateDataType;\n dimmedOpacity: number;\n precision: number;\n customLayers: CustomLayerDataType[];\n naLabel: string;\n trackColor?: string;\n hideAxisLine: boolean;\n locale: string;\n padZeros: boolean;\n}\n\nexport function HorizontalGraph(props: Props) {\n const {\n data,\n barColor,\n suffix,\n prefix,\n barPadding,\n showValues,\n showTicks,\n truncateBy,\n width,\n height,\n colorDomain,\n topMargin = 25,\n bottomMargin = 10,\n leftMargin = 100,\n rightMargin = 40,\n showLabels,\n tooltip,\n onSeriesMouseOver,\n refValues,\n selectedColor,\n highlightedDataPoints,\n maxValue,\n minValue,\n onSeriesMouseClick,\n labelOrder,\n rtl,\n maxBarThickness,\n minBarThickness,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n valueColor,\n noOfTicks,\n styles,\n classNames,\n animate,\n dimmedOpacity,\n precision,\n customLayers,\n naLabel,\n trackColor,\n hideAxisLine,\n locale,\n padZeros,\n } = props;\n const svgRef = useRef(null);\n const isInView = useInView(svgRef, {\n once: animate.once,\n amount: animate.amount,\n });\n // biome-ignore lint/suspicious/noExplicitAny: event payload defined by user based on undefined data type\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\n // biome-ignore lint/suspicious/noExplicitAny: event payload defined by user based on undefined data type\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\n const [eventX, setEventX] = useState<number | undefined>(undefined);\n const [eventY, setEventY] = useState<number | undefined>(undefined);\n const margin = {\n top: barAxisTitle ? topMargin + 25 : topMargin,\n bottom: bottomMargin,\n left: leftMargin,\n right: rightMargin,\n };\n const graphWidth = width - margin.left - margin.right;\n const graphHeight = height - margin.top - margin.bottom;\n\n const dataWithId = useMemo(() => {\n const idSet = new Set<string>();\n\n const dataWithIdWithoutMissingIds = data.map((d, i) => {\n const id = labelOrder ? `${d.label}` : `${i}`;\n idSet.add(id);\n return { ...d, id };\n });\n\n const missingIds = labelOrder ? labelOrder.filter((id) => !idSet.has(id)) : [];\n\n return [\n ...dataWithIdWithoutMissingIds,\n ...missingIds.map((id) => ({\n id,\n label: id,\n color: null,\n size: null,\n })),\n ];\n }, [data, labelOrder]);\n\n const barOrder = useMemo(() => {\n return labelOrder ?? dataWithId.map((d) => `${d.id}`);\n }, [labelOrder, dataWithId]);\n\n const x = scaleLinear().domain([minValue, maxValue]).range([0, graphWidth]).nice();\n const y = scaleBand()\n .domain(barOrder)\n .range([\n 0,\n minBarThickness\n ? Math.max(graphHeight, minBarThickness * barOrder.length)\n : maxBarThickness\n ? Math.min(graphHeight, maxBarThickness * barOrder.length)\n : graphHeight,\n ])\n .paddingInner(barPadding);\n const xTicks = x.ticks(noOfTicks);\n\n return (\n <>\n <motion.svg\n ref={svgRef}\n width={`${width}px`}\n height={`${height}px`}\n viewBox={`0 0 ${width} ${height}`}\n direction='ltr'\n >\n <g transform={`translate(${margin.left},${margin.top})`}>\n {showTicks ? (\n <XTicksAndGridLines\n values={xTicks.filter((d) => d !== 0)}\n x={xTicks.filter((d) => d !== 0).map((d) => x(d))}\n y1={0 - topMargin}\n y2={graphHeight + margin.bottom}\n styles={{\n gridLines: styles?.xAxis?.gridLines,\n labels: styles?.xAxis?.labels,\n }}\n classNames={{\n gridLines: classNames?.xAxis?.gridLines,\n labels: classNames?.xAxis?.labels,\n }}\n suffix={suffix}\n prefix={prefix}\n labelType='secondary'\n showGridLines\n precision={precision}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n <AxisTitle\n x={graphWidth / 2}\n y={0 - margin.top + 15}\n style={styles?.xAxis?.title}\n className={classNames?.xAxis?.title}\n text={barAxisTitle}\n />\n {customLayers.filter((d) => d.position === 'before').map((d) => d.layer)}\n <AnimatePresence>\n {dataWithId.map((d) =>\n !checkIfNullOrUndefined(y(d.id)) ? (\n <motion.g\n className='undp-viz-g-with-hover'\n key={d.label}\n variants={{\n initial: {\n opacity: selectedColor\n ? d.color\n ? barColor[colorDomain.indexOf(d.color)] === selectedColor\n ? 1\n : dimmedOpacity\n : dimmedOpacity\n : highlightedDataPoints\n ? highlightedDataPoints.indexOf(d.label) !== -1\n ? 0.85\n : dimmedOpacity\n : 0.85,\n },\n whileInView: {\n opacity: selectedColor\n ? d.color\n ? barColor[colorDomain.indexOf(d.color)] === selectedColor\n ? 1\n : dimmedOpacity\n : dimmedOpacity\n : highlightedDataPoints\n ? highlightedDataPoints.indexOf(d.label) !== -1\n ? 0.85\n : dimmedOpacity\n : 0.85,\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n onMouseEnter={(event) => {\n setMouseOverData(d);\n setEventY(event.clientY);\n setEventX(event.clientX);\n onSeriesMouseOver?.(d);\n }}\n onClick={() => {\n if (onSeriesMouseClick || detailsOnClick) {\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\n setMouseClickData(undefined);\n onSeriesMouseClick?.(undefined);\n } else {\n setMouseClickData(d);\n onSeriesMouseClick?.(d);\n }\n }\n }}\n onMouseMove={(event) => {\n setMouseOverData(d);\n setEventY(event.clientY);\n setEventX(event.clientX);\n }}\n onMouseLeave={() => {\n setMouseOverData(undefined);\n setEventX(undefined);\n setEventY(undefined);\n onSeriesMouseOver?.(undefined);\n }}\n >\n {trackColor && (\n <motion.rect\n height={y.bandwidth()}\n variants={{\n initial: {\n width: graphWidth,\n x: 0,\n y: y(`${d.id}`),\n fill: trackColor,\n },\n whileInView: {\n width: graphWidth,\n x: 0,\n y: y(`${d.id}`),\n fill: trackColor,\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n />\n )}\n {d.size ? (\n <motion.rect\n variants={{\n initial: {\n width: 0,\n x: x(0),\n y: y(`${d.id}`),\n fill:\n data.filter((el) => el.color).length === 0\n ? barColor[0]\n : !d.color\n ? Colors.gray\n : barColor[colorDomain.indexOf(d.color)],\n },\n whileInView: {\n width: d.size >= 0 ? x(d.size) - x(0) : x(0) - x(d.size),\n x: d.size >= 0 ? x(0) : x(d.size),\n y: y(`${d.id}`),\n fill:\n data.filter((el) => el.color).length === 0\n ? barColor[0]\n : !d.color\n ? Colors.gray\n : barColor[colorDomain.indexOf(d.color)],\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{\n width: 0,\n x: x(0),\n transition: { duration: animate.duration },\n }}\n height={y.bandwidth()}\n />\n ) : null}\n {showLabels ? (\n <YAxesLabels\n value={\n `${d.label}`.length < truncateBy\n ? `${d.label}`\n : `${`${d.label}`.substring(0, truncateBy)}...`\n }\n y={y(d.id) || 0}\n x={(d.size || 0) < 0 ? x(0) : 0 - margin.left}\n width={(d.size || 0) < 0 ? width - x(0) : x(0) + margin.left}\n height={y.bandwidth()}\n alignment={d.size ? (d.size < 0 ? 'left' : 'right') : 'right'}\n style={styles?.yAxis?.labels}\n className={classNames?.yAxis?.labels}\n animate={animate}\n isInView={isInView}\n />\n ) : null}\n {showValues ? (\n <motion.text\n style={{\n textAnchor: d.size ? (d.size < 0 ? 'end' : 'start') : 'start',\n ...(styles?.graphObjectValues || {}),\n }}\n className={cn(\n 'graph-value text-sm',\n !valueColor && barColor.length > 1\n ? ' fill-primary-gray-600 dark:fill-primary-gray-300'\n : '',\n classNames?.graphObjectValues,\n )}\n dx={d.size ? (d.size < 0 ? -5 : 5) : 5}\n dy='0.33em'\n variants={{\n initial: {\n x: x(0),\n y: (y(`${d.id}`) as number) + y.bandwidth() / 2,\n opacity: 0,\n fill: valueColor\n ? valueColor\n : data.filter((el) => el.color).length === 0\n ? barColor[0]\n : !d.color\n ? Colors.gray\n : barColor[colorDomain.indexOf(d.color)],\n },\n whileInView: {\n x: d.size ? x(d.size) : x(0),\n opacity: 1,\n y: (y(`${d.id}`) as number) + y.bandwidth() / 2,\n fill: valueColor\n ? valueColor\n : data.filter((el) => el.color).length === 0\n ? barColor[0]\n : !d.color\n ? Colors.gray\n : barColor[colorDomain.indexOf(d.color)],\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{\n opacity: 0,\n transition: { duration: animate.duration },\n }}\n >\n {numberFormattingFunction(\n d.size,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )}\n </motion.text>\n ) : null}\n </motion.g>\n ) : null,\n )}\n <Axis\n hideAxisLine={hideAxisLine}\n x1={x(minValue < 0 ? 0 : minValue)}\n x2={x(minValue < 0 ? 0 : minValue)}\n y1={-2.5}\n y2={graphHeight + margin.bottom}\n classNames={{ axis: classNames?.yAxis?.axis }}\n styles={{ axis: styles?.yAxis?.axis }}\n />\n {refValues?.map((el) => (\n <RefLineX\n key={el.text}\n text={el.text}\n color={el.color}\n x={x(el.value as number)}\n y1={0 - margin.top}\n y2={graphHeight + margin.bottom}\n textSide={x(el.value as number) > graphWidth * 0.75 || rtl ? 'left' : 'right'}\n classNames={el.classNames}\n styles={el.styles}\n animate={animate}\n isInView={isInView}\n />\n ))}\n </AnimatePresence>\n {customLayers.filter((d) => d.position === 'after').map((d) => d.layer)}\n </g>\n </motion.svg>\n {mouseOverData && tooltip && eventX && eventY ? (\n <Tooltip\n data={mouseOverData}\n body={tooltip}\n xPos={eventX}\n yPos={eventY}\n backgroundStyle={styles?.tooltip}\n className={classNames?.tooltip}\n />\n ) : null}\n {detailsOnClick && mouseClickData !== undefined ? (\n <DetailsModal\n body={detailsOnClick}\n data={mouseClickData}\n setData={setMouseClickData}\n className={classNames?.modal}\n />\n ) : null}\n </>\n );\n}\n\nexport function VerticalGraph(props: Props) {\n const {\n leftMargin = 20,\n rightMargin = 20,\n topMargin = 20,\n bottomMargin = 25,\n data,\n width,\n height,\n barColor,\n suffix,\n prefix,\n barPadding,\n showLabels,\n showValues,\n showTicks,\n colorDomain,\n truncateBy,\n tooltip,\n onSeriesMouseOver,\n refValues,\n selectedColor,\n maxValue,\n minValue,\n highlightedDataPoints,\n onSeriesMouseClick,\n labelOrder,\n maxBarThickness,\n minBarThickness,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n valueColor,\n noOfTicks,\n styles,\n classNames,\n dimmedOpacity,\n animate,\n precision,\n customLayers,\n naLabel,\n trackColor,\n hideAxisLine,\n locale,\n padZeros,\n } = props;\n const svgRef = useRef(null);\n const isInView = useInView(svgRef, {\n once: animate.once,\n amount: animate.amount,\n });\n const margin = {\n top: topMargin,\n bottom: bottomMargin,\n left: barAxisTitle ? leftMargin + 30 : leftMargin,\n right: rightMargin,\n };\n // biome-ignore lint/suspicious/noExplicitAny: event payload defined by user based on undefined data type\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\n // biome-ignore lint/suspicious/noExplicitAny: event payload defined by user based on undefined data type\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\n const [eventX, setEventX] = useState<number | undefined>(undefined);\n const [eventY, setEventY] = useState<number | undefined>(undefined);\n const graphWidth = width - margin.left - margin.right;\n const graphHeight = height - margin.top - margin.bottom;\n\n const dataWithId = useMemo(() => {\n const idSet = new Set<string>();\n\n const dataWithIdWithoutMissingIds = data.map((d, i) => {\n const id = labelOrder ? `${d.label}` : `${i}`;\n idSet.add(id);\n return { ...d, id };\n });\n\n const missingIds = labelOrder ? labelOrder.filter((id) => !idSet.has(id)) : [];\n\n return [\n ...dataWithIdWithoutMissingIds,\n ...missingIds.map((id) => ({\n id,\n label: id,\n color: null,\n size: null,\n })),\n ];\n }, [data, labelOrder]);\n\n const barOrder = useMemo(() => {\n return labelOrder ?? dataWithId.map((d) => `${d.id}`);\n }, [labelOrder, dataWithId]);\n\n const y = scaleLinear().domain([minValue, maxValue]).range([graphHeight, 0]).nice();\n\n const x = scaleBand()\n .domain(barOrder)\n .range([\n 0,\n minBarThickness\n ? Math.max(graphWidth, minBarThickness * barOrder.length)\n : maxBarThickness\n ? Math.min(graphWidth, maxBarThickness * barOrder.length)\n : graphWidth,\n ])\n .paddingInner(barPadding);\n const yTicks = y.ticks(noOfTicks);\n return (\n <>\n <motion.svg\n ref={svgRef}\n width={`${width}px`}\n height={`${height}px`}\n viewBox={`0 0 ${width} ${height}`}\n direction='ltr'\n >\n <g transform={`translate(${margin.left},${margin.top})`}>\n <Axis\n hideAxisLine={hideAxisLine}\n y1={y(minValue < 0 ? 0 : minValue)}\n y2={y(minValue < 0 ? 0 : minValue)}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n label={\n showTicks\n ? numberFormattingFunction(\n minValue < 0 ? 0 : minValue,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )\n : undefined\n }\n labelPos={{\n x: 0 - leftMargin,\n dx: 0,\n dy: maxValue < 0 ? '1em' : -5,\n y: y(minValue < 0 ? 0 : minValue),\n }}\n classNames={{\n axis: classNames?.xAxis?.axis,\n label: classNames?.yAxis?.labels,\n }}\n styles={{ axis: styles?.xAxis?.axis, label: styles?.yAxis?.labels }}\n />\n {showTicks ? (\n <YTicksAndGridLines\n values={yTicks.filter((d) => d !== 0)}\n y={yTicks.filter((d) => d !== 0).map((d) => y(d))}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n styles={{\n gridLines: styles?.yAxis?.gridLines,\n labels: styles?.yAxis?.labels,\n }}\n classNames={{\n gridLines: classNames?.yAxis?.gridLines,\n labels: classNames?.yAxis?.labels,\n }}\n suffix={suffix}\n prefix={prefix}\n labelType='secondary'\n showGridLines\n labelPos='vertical'\n precision={precision}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n <AxisTitle\n x={0 - leftMargin - 15}\n y={graphHeight / 2}\n style={styles?.yAxis?.title}\n className={classNames?.yAxis?.title}\n text={barAxisTitle}\n rotate90\n />\n {customLayers.filter((d) => d.position === 'before').map((d) => d.layer)}\n <AnimatePresence>\n {dataWithId.map((d, _i) =>\n !checkIfNullOrUndefined(x(d.id)) ? (\n <motion.g\n className='undp-viz-g-with-hover'\n key={d.label}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n variants={{\n initial: {\n opacity: selectedColor\n ? d.color\n ? barColor[colorDomain.indexOf(d.color)] === selectedColor\n ? !highlightedDataPoints || highlightedDataPoints.indexOf(d.id) !== -1\n ? 1\n : dimmedOpacity\n : dimmedOpacity\n : dimmedOpacity\n : highlightedDataPoints\n ? highlightedDataPoints.indexOf(d.label) !== -1\n ? 0.85\n : dimmedOpacity\n : 0.85,\n },\n whileInView: {\n opacity: selectedColor\n ? d.color\n ? barColor[colorDomain.indexOf(d.color)] === selectedColor\n ? !highlightedDataPoints || highlightedDataPoints.indexOf(d.id) !== -1\n ? 1\n : dimmedOpacity\n : dimmedOpacity\n : dimmedOpacity\n : highlightedDataPoints\n ? highlightedDataPoints.indexOf(d.label) !== -1\n ? 0.85\n : dimmedOpacity\n : 0.85,\n transition: { duration: animate.duration },\n },\n }}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n onMouseEnter={(event) => {\n setMouseOverData(d);\n setEventY(event.clientY);\n setEventX(event.clientX);\n onSeriesMouseOver?.(d);\n }}\n onClick={() => {\n if (onSeriesMouseClick || detailsOnClick) {\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\n setMouseClickData(undefined);\n onSeriesMouseClick?.(undefined);\n } else {\n setMouseClickData(d);\n onSeriesMouseClick?.(d);\n }\n }\n }}\n onMouseMove={(event) => {\n setMouseOverData(d);\n setEventY(event.clientY);\n setEventX(event.clientX);\n }}\n onMouseLeave={() => {\n setMouseOverData(undefined);\n setEventX(undefined);\n setEventY(undefined);\n onSeriesMouseOver?.(undefined);\n }}\n >\n {trackColor && (\n <motion.rect\n width={x.bandwidth()}\n variants={{\n initial: {\n height: graphHeight,\n y: 0,\n x: x(`${d.id}`),\n fill: trackColor,\n },\n whileInView: {\n height: graphHeight,\n y: 0,\n x: x(`${d.id}`),\n fill: trackColor,\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n />\n )}\n {d.size ? (\n <motion.rect\n width={x.bandwidth()}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n variants={{\n initial: {\n height: 0,\n x: x(`${d.id}`),\n y: y(0),\n fill:\n data.filter((el) => el.color).length === 0\n ? barColor[0]\n : !d.color\n ? Colors.gray\n : barColor[colorDomain.indexOf(d.color)],\n },\n whileInView: {\n height: d.size ? Math.abs(y(d.size) - y(0)) : 0,\n y: d.size ? (d.size > 0 ? y(d.size) : y(0)) : y(0),\n x: x(`${d.id}`),\n fill:\n data.filter((el) => el.color).length === 0\n ? barColor[0]\n : !d.color\n ? Colors.gray\n : barColor[colorDomain.indexOf(d.color)],\n transition: { duration: animate.duration },\n },\n }}\n exit={{\n height: 0,\n y: y(0),\n transition: { duration: animate.duration },\n }}\n />\n ) : null}\n {showLabels ? (\n <XAxesLabels\n value={\n `${d.label}`.length < truncateBy\n ? `${d.label}`\n : `${`${d.label}`.substring(0, truncateBy)}...`\n }\n y={(d.size || 0) < 0 ? 0 : y(0) + 5}\n x={x(`${d.id}`) as number}\n width={x.bandwidth()}\n height={(d.size || 0) < 0 ? y(0) - 5 : margin.bottom}\n style={styles?.xAxis?.labels}\n className={classNames?.xAxis?.labels}\n alignment={(d.size || 0) < 0 ? 'bottom' : 'top'}\n animate={animate}\n isInView={isInView}\n />\n ) : null}\n {showValues ? (\n <motion.text\n style={{\n textAnchor: 'middle',\n ...(styles?.graphObjectValues || {}),\n }}\n className={cn(\n 'graph-value text-sm',\n !valueColor && barColor.length > 1\n ? 'fill-primary-gray-600 dark:fill-primary-gray-300'\n : '',\n classNames?.graphObjectValues,\n )}\n dy={d.size ? (d.size >= 0 ? '-5px' : '1em') : '-5px'}\n variants={{\n initial: {\n x: (x(`${d.id}`) as number) + x.bandwidth() / 2,\n y: y(0),\n opacity: 0,\n fill: valueColor\n ? valueColor\n : data.filter((el) => el.color).length === 0\n ? barColor[0]\n : !d.color\n ? Colors.gray\n : barColor[colorDomain.indexOf(d.color)],\n },\n whileInView: {\n x: (x(`${d.id}`) as number) + x.bandwidth() / 2,\n y: y(d.size || 0),\n fill: valueColor\n ? valueColor\n : data.filter((el) => el.color).length === 0\n ? barColor[0]\n : !d.color\n ? Colors.gray\n : barColor[colorDomain.indexOf(d.color)],\n opacity: 1,\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{\n opacity: 0,\n transition: { duration: animate.duration },\n }}\n >\n {numberFormattingFunction(\n d.size,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )}\n </motion.text>\n ) : null}\n </motion.g>\n ) : null,\n )}\n {refValues?.map((el) => (\n <RefLineY\n key={el.text}\n text={el.text}\n color={el.color}\n y={y(el.value as number)}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n classNames={el.classNames}\n styles={el.styles}\n animate={animate}\n isInView={isInView}\n />\n ))}\n </AnimatePresence>\n {customLayers.filter((d) => d.position === 'after').map((d) => d.layer)}\n </g>\n </motion.svg>\n {mouseOverData && tooltip && eventX && eventY ? (\n <Tooltip\n data={mouseOverData}\n body={tooltip}\n xPos={eventX}\n yPos={eventY}\n backgroundStyle={styles?.tooltip}\n className={classNames?.tooltip}\n />\n ) : null}\n {detailsOnClick && mouseClickData !== undefined ? (\n <DetailsModal\n body={detailsOnClick}\n data={mouseClickData}\n setData={setMouseClickData}\n className={classNames?.modal}\n />\n ) : null}\n </>\n );\n}\n","import { SliderUI } from '@undp/design-system-react/SliderUI';\nimport { format } from 'date-fns/format';\nimport { parse } from 'date-fns/parse';\nimport orderBy from 'lodash.orderby';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { Colors } from '@/Components/ColorPalette';\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\nimport { EmptyState } from '@/Components/Elements/EmptyState';\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\nimport { Pause, Play } from '@/Components/Icons';\nimport type {\n AnimateDataType,\n BarGraphDataType,\n ClassNameObject,\n CustomLayerDataType,\n Languages,\n ReferenceDataType,\n SourcesDataType,\n StyleObject,\n TimelineDataType,\n} from '@/Types';\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\nimport { ensureCompleteDataForBarChart } from '@/Utils/ensureCompleteData';\nimport { getSliderMarks } from '@/Utils/getSliderMarks';\nimport { uniqBy } from '@/Utils/uniqBy';\nimport { HorizontalGraph, VerticalGraph } from './Graph';\n\ninterface Props {\n data: BarGraphDataType[];\n colors?: string | string[];\n labelOrder?: string[];\n graphTitle?: string | React.ReactNode;\n graphDescription?: string | React.ReactNode;\n footNote?: string | React.ReactNode;\n width?: number;\n height?: number;\n minHeight?: number;\n suffix?: string;\n prefix?: string;\n sources?: SourcesDataType[];\n barPadding?: number;\n showValues?: boolean;\n showTicks?: boolean;\n leftMargin?: number;\n rightMargin?: number;\n truncateBy?: number;\n colorDomain?: string[];\n colorLegendTitle?: string;\n backgroundColor?: string | boolean;\n padding?: string;\n topMargin?: number;\n bottomMargin?: number;\n relativeHeight?: number;\n showLabels?: boolean;\n showColorScale?: boolean;\n maxValue?: number;\n minValue?: number;\n trackColor?: string;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n refValues?: ReferenceDataType[];\n graphID?: string;\n highlightedDataPoints?: (string | number)[];\n dimmedOpacity?: number;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n graphDownload?: boolean;\n dataDownload?: boolean;\n sortData?: 'asc' | 'desc';\n language?: Languages;\n showNAColor?: boolean;\n theme?: 'light' | 'dark';\n maxBarThickness?: number;\n maxNumberOfBars?: number;\n minBarThickness?: number;\n ariaLabel?: string;\n resetSelectionOnDoubleClick?: boolean;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n barAxisTitle?: string;\n noOfTicks?: number;\n valueColor?: string;\n styles?: StyleObject;\n classNames?: ClassNameObject;\n filterNA?: boolean;\n animate?: boolean | AnimateDataType;\n precision?: number;\n customLayers?: CustomLayerDataType[];\n timeline?: TimelineDataType;\n naLabel?: string;\n orientation?: 'horizontal' | 'vertical';\n hideAxisLine?: boolean;\n locale?: string;\n padZeros?: boolean;\n}\n\nexport function SimpleBarGraphEl(props: Props) {\n const {\n data,\n graphTitle,\n colors,\n suffix = '',\n sources,\n prefix = '',\n graphDescription,\n barPadding = 0.25,\n showValues = true,\n showTicks = true,\n truncateBy = 999,\n height,\n width,\n footNote,\n colorDomain,\n colorLegendTitle,\n highlightedDataPoints,\n padding,\n backgroundColor = false,\n topMargin,\n bottomMargin,\n leftMargin,\n rightMargin,\n showLabels = true,\n relativeHeight,\n tooltip,\n onSeriesMouseOver,\n refValues,\n showColorScale = true,\n graphID,\n maxValue,\n minValue,\n onSeriesMouseClick,\n graphDownload = false,\n dataDownload = false,\n sortData,\n labelOrder,\n language = 'en',\n showNAColor = true,\n minHeight = 0,\n theme = 'light',\n maxBarThickness,\n maxNumberOfBars,\n minBarThickness,\n ariaLabel,\n resetSelectionOnDoubleClick = true,\n detailsOnClick,\n barAxisTitle,\n noOfTicks = 5,\n valueColor,\n styles,\n classNames,\n filterNA = true,\n animate = false,\n dimmedOpacity = 0.3,\n precision = 2,\n customLayers = [],\n timeline = { enabled: false, autoplay: false, showOnlyActiveDate: true },\n naLabel = 'NA',\n orientation = 'vertical',\n trackColor,\n hideAxisLine = false,\n locale = 'en',\n padZeros = false,\n } = props;\n const Comp = orientation === 'horizontal' ? HorizontalGraph : VerticalGraph;\n const [svgWidth, setSvgWidth] = useState(0);\n const [svgHeight, setSvgHeight] = useState(0);\n const [play, setPlay] = useState(timeline.autoplay);\n const uniqDatesSorted = useMemo(() => {\n const dates = [\n ...new Set(\n data\n .filter((d) => d.date)\n .map((d) => parse(`${d.date}`, timeline.dateFormat || 'yyyy', new Date()).getTime()),\n ),\n ];\n dates.sort((a, b) => a - b);\n return dates;\n }, [data, timeline.dateFormat]);\n const [index, setIndex] = useState(timeline.autoplay ? 0 : uniqDatesSorted.length - 1);\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\n\n const graphDiv = useRef<HTMLDivElement>(null);\n const graphParentDiv = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver((entries) => {\n setSvgWidth(entries[0].target.clientWidth || 620);\n setSvgHeight(entries[0].target.clientHeight || 480);\n });\n if (graphDiv.current) {\n resizeObserver.observe(graphDiv.current);\n }\n return () => resizeObserver.disconnect();\n }, []);\n\n useEffect(() => {\n const interval = setInterval(\n () => {\n setIndex((i) => (i < uniqDatesSorted.length - 1 ? i + 1 : 0));\n },\n (timeline.speed || 2) * 1000,\n );\n if (!play) clearInterval(interval);\n return () => clearInterval(interval);\n }, [uniqDatesSorted, play, timeline.speed]);\n\n const markObj = getSliderMarks(\n uniqDatesSorted,\n index,\n timeline.showOnlyActiveDate,\n timeline.dateFormat || 'yyyy',\n );\n return (\n <GraphContainer\n className={classNames?.graphContainer}\n style={styles?.graphContainer}\n id={graphID}\n ref={graphParentDiv}\n aria-label={ariaLabel}\n backgroundColor={backgroundColor}\n theme={theme}\n language={language}\n minHeight={minHeight}\n width={width}\n height={height}\n relativeHeight={relativeHeight}\n padding={padding}\n >\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\n <GraphHeader\n styles={{\n title: styles?.title,\n description: styles?.description,\n }}\n classNames={{\n title: classNames?.title,\n description: classNames?.description,\n }}\n graphTitle={graphTitle}\n graphDescription={graphDescription}\n width={width}\n graphDownload={graphDownload ? graphParentDiv : undefined}\n dataDownload={\n dataDownload\n ? data.map((d) => d.data).filter((d) => d !== undefined).length > 0\n ? data.map((d) => d.data).filter((d) => d !== undefined)\n : data.filter((d) => d !== undefined)\n : null\n }\n />\n ) : null}\n {timeline.enabled && uniqDatesSorted.length > 0 && markObj ? (\n <div className='flex gap-6 items-center pb-4' dir='ltr'>\n <button\n type='button'\n onClick={() => {\n setPlay(!play);\n }}\n className='p-0 border-0 cursor-pointer bg-transparent'\n aria-label={play ? 'Click to pause animation' : 'Click to play animation'}\n >\n {play ? <Pause /> : <Play />}\n </button>\n <SliderUI\n min={uniqDatesSorted[0]}\n max={uniqDatesSorted[uniqDatesSorted.length - 1]}\n marks={markObj}\n step={null}\n defaultValue={uniqDatesSorted[uniqDatesSorted.length - 1]}\n value={uniqDatesSorted[index]}\n onChangeComplete={(nextValue) => {\n setIndex(uniqDatesSorted.indexOf(nextValue as number));\n }}\n onChange={(nextValue) => {\n setIndex(uniqDatesSorted.indexOf(nextValue as number));\n }}\n aria-label='Time slider. Use arrow keys to adjust selected time period.'\n />\n </div>\n ) : null}\n {showColorScale && data.filter((el) => el.color).length !== 0 && data.length > 0 ? (\n <ColorLegendWithMouseOver\n width={width}\n colorLegendTitle={colorLegendTitle}\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as (string | number)[])}\n setSelectedColor={setSelectedColor}\n showNAColor={showNAColor}\n className={classNames?.colorLegend}\n />\n ) : null}\n <GraphArea ref={graphDiv}>\n {data.length === 0 && <EmptyState />}\n {svgWidth && svgHeight && data.length > 0 ? (\n <Comp\n hideAxisLine={hideAxisLine}\n data={\n sortData\n ? orderBy(\n ensureCompleteDataForBarChart(data, timeline.dateFormat || 'yyyy')\n .filter((d) =>\n timeline.enabled\n ? `${d.date}` ===\n format(new Date(uniqDatesSorted[index]), timeline.dateFormat || 'yyyy')\n : d,\n )\n .filter((d) => (filterNA ? !checkIfNullOrUndefined(d.size) : d)),\n [\n (d) =>\n d.size === undefined\n ? sortData === 'asc'\n ? (orientation === 'horizontal' ? 1 : -1) * Infinity\n : (orientation === 'horizontal' ? -1 : 1) * Infinity\n : d.size,\n ],\n [sortData],\n ).filter((_d, i) => (maxNumberOfBars ? i < maxNumberOfBars : true))\n : ensureCompleteDataForBarChart(data, timeline.dateFormat || 'yyyy')\n .filter((d) =>\n timeline.enabled\n ? `${d.date}` ===\n format(new Date(uniqDatesSorted[index]), timeline.dateFormat || 'yyyy')\n : d,\n )\n .filter((d) => (filterNA ? !checkIfNullOrUndefined(d.size) : d))\n .filter((_d, i) => (maxNumberOfBars ? i < maxNumberOfBars : true))\n }\n barColor={\n data.filter((el) => el.color).length === 0\n ? colors\n ? [colors as string]\n : [Colors.primaryColors['blue-600']]\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\n }\n colorDomain={\n data.filter((el) => el.color).length === 0\n ? []\n : colorDomain || (uniqBy(data, 'color', true) as string[])\n }\n selectedColor={selectedColor}\n trackColor={trackColor}\n width={svgWidth}\n height={svgHeight}\n suffix={suffix}\n prefix={prefix}\n barPadding={barPadding}\n showValues={showValues}\n showTicks={showTicks}\n leftMargin={leftMargin}\n rightMargin={rightMargin}\n topMargin={topMargin}\n bottomMargin={bottomMargin}\n truncateBy={truncateBy}\n showLabels={showLabels}\n tooltip={tooltip}\n onSeriesMouseOver={onSeriesMouseOver}\n refValues={refValues}\n maxValue={\n !checkIfNullOrUndefined(maxValue)\n ? (maxValue as number)\n : Math.max(\n ...data\n .filter((d) => !checkIfNullOrUndefined(d.size))\n .map((d) => d.size as number),\n ) < 0\n ? 0\n : Math.max(\n ...data\n .filter((d) => !checkIfNullOrUndefined(d.size))\n .map((d) => d.size as number),\n )\n }\n minValue={\n !checkIfNullOrUndefined(minValue)\n ? (minValue as number)\n : Math.min(\n ...data\n .filter((d) => !checkIfNullOrUndefined(d.size))\n .map((d) => d.size as number),\n ) >= 0\n ? 0\n : Math.min(\n ...data\n .filter((d) => !checkIfNullOrUndefined(d.size))\n .map((d) => d.size as number),\n )\n }\n highlightedDataPoints={highlightedDataPoints}\n onSeriesMouseClick={onSeriesMouseClick}\n labelOrder={labelOrder}\n rtl={language === 'he' || language === 'ar'}\n maxBarThickness={maxBarThickness}\n minBarThickness={minBarThickness}\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\n detailsOnClick={detailsOnClick}\n barAxisTitle={barAxisTitle}\n noOfTicks={noOfTicks}\n valueColor={valueColor}\n classNames={classNames}\n styles={styles}\n animate={\n animate === true\n ? { duration: 0.5, once: true, amount: 0.5 }\n : animate || { duration: 0, once: true, amount: 0 }\n }\n dimmedOpacity={dimmedOpacity}\n precision={precision}\n customLayers={customLayers}\n naLabel={naLabel}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n </GraphArea>\n {sources || footNote ? (\n <GraphFooter\n sources={sources}\n footNote={footNote}\n width={width}\n styles={{ footnote: styles?.footnote, source: styles?.source }}\n classNames={{\n footnote: classNames?.footnote,\n source: classNames?.source,\n }}\n />\n ) : null}\n </GraphContainer>\n );\n}\n","import { cn } from '@undp/design-system-react/cn';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport isEqual from 'fast-deep-equal';\nimport sum from 'lodash.sum';\nimport { AnimatePresence, motion, useInView } from 'motion/react';\nimport { useMemo, useRef, useState } from 'react';\nimport { Axis } from '@/Components/Elements/Axes/Axis';\nimport { AxisTitle } from '@/Components/Elements/Axes/AxisTitle';\nimport { XAxesLabels } from '@/Components/Elements/Axes/XAxesLabels';\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\nimport { YAxesLabels } from '@/Components/Elements/Axes/YAxesLabels';\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\nimport { RefLineX, RefLineY } from '@/Components/Elements/ReferenceLine';\nimport { Tooltip } from '@/Components/Elements/Tooltip';\nimport type {\n AnimateDataType,\n ClassNameObject,\n CustomLayerDataType,\n GroupedBarGraphDataType,\n ReferenceDataType,\n StyleObject,\n} from '@/Types';\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\n\ninterface Props {\n data: GroupedBarGraphDataType[];\n barColors: string[];\n barPadding: number;\n showTicks: boolean;\n leftMargin?: number;\n truncateBy: number;\n width: number;\n height: number;\n rightMargin?: number;\n topMargin?: number;\n showLabels: boolean;\n bottomMargin?: number;\n suffix: string;\n prefix: string;\n showValues: boolean;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n refValues?: ReferenceDataType[];\n maxValue: number;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n selectedColor?: string;\n rtl: boolean;\n labelOrder?: string[];\n maxBarThickness?: number;\n minBarThickness?: number;\n resetSelectionOnDoubleClick: boolean;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n barAxisTitle?: string;\n noOfTicks: number;\n valueColor?: string;\n styles?: StyleObject;\n classNames?: ClassNameObject;\n animate: AnimateDataType;\n colorDomain: string[];\n precision: number;\n customLayers: CustomLayerDataType[];\n naLabel: string;\n hideAxisLine: boolean;\n locale: string;\n padZeros: boolean;\n}\n\nexport function HorizontalGraph(props: Props) {\n const {\n data,\n barColors,\n barPadding,\n showTicks,\n topMargin = 25,\n bottomMargin = 10,\n leftMargin = 100,\n rightMargin = 40,\n truncateBy,\n width,\n height,\n tooltip,\n onSeriesMouseOver,\n showLabels,\n suffix,\n prefix,\n showValues,\n refValues,\n maxValue,\n onSeriesMouseClick,\n selectedColor,\n rtl,\n labelOrder,\n maxBarThickness,\n minBarThickness,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n valueColor,\n noOfTicks,\n styles,\n classNames,\n animate,\n colorDomain,\n precision,\n customLayers,\n naLabel,\n hideAxisLine,\n locale,\n padZeros,\n } = props;\n const svgRef = useRef(null);\n const isInView = useInView(svgRef, {\n once: animate.once,\n amount: animate.amount,\n });\n const margin = {\n top: barAxisTitle ? topMargin + 25 : topMargin,\n bottom: bottomMargin,\n left: leftMargin,\n right: rightMargin,\n };\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\n const [eventX, setEventX] = useState<number | undefined>(undefined);\n const [eventY, setEventY] = useState<number | undefined>(undefined);\n const graphWidth = width - margin.left - margin.right;\n const graphHeight = height - margin.top - margin.bottom;\n\n const dataWithId = useMemo(() => {\n const idSet = new Set<string>();\n\n const dataWithIdWithoutMissingIds = data.map((d, i) => {\n const id = labelOrder ? `${d.label}` : `${i}`;\n idSet.add(id);\n return { ...d, id };\n });\n\n const missingIds = labelOrder ? labelOrder.filter((id) => !idSet.has(id)) : [];\n\n return [\n ...dataWithIdWithoutMissingIds,\n ...missingIds.map((id) => ({\n id,\n label: id,\n size: Array(data[0].size.length).fill(null),\n })),\n ];\n }, [data, labelOrder]);\n\n const barOrder = useMemo(() => {\n return labelOrder ?? dataWithId.map((d) => `${d.id}`);\n }, [labelOrder, dataWithId]);\n\n const x = scaleLinear().domain([0, maxValue]).range([0, graphWidth]).nice();\n const y = scaleBand()\n .domain(barOrder)\n .range([\n 0,\n minBarThickness\n ? Math.max(graphHeight, minBarThickness * barOrder.length)\n : maxBarThickness\n ? Math.min(graphHeight, maxBarThickness * barOrder.length)\n : graphHeight,\n ])\n .paddingInner(barPadding);\n const xTicks = x.ticks(noOfTicks);\n\n return (\n <>\n <motion.svg\n ref={svgRef}\n width={`${width}px`}\n height={`${height}px`}\n viewBox={`0 0 ${width} ${height}`}\n direction='ltr'\n >\n <g transform={`translate(${margin.left},${margin.top})`}>\n {showTicks ? (\n <XTicksAndGridLines\n values={xTicks.filter((d) => d !== 0)}\n x={xTicks.filter((d) => d !== 0).map((d) => x(d))}\n y1={0 - topMargin}\n y2={graphHeight + margin.bottom}\n styles={{\n gridLines: styles?.xAxis?.gridLines,\n labels: styles?.xAxis?.labels,\n }}\n classNames={{\n gridLines: classNames?.xAxis?.gridLines,\n labels: classNames?.xAxis?.labels,\n }}\n suffix={suffix}\n prefix={prefix}\n labelType='secondary'\n showGridLines\n precision={precision}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n <AxisTitle\n x={graphWidth / 2}\n y={0 - margin.top + 15}\n style={styles?.xAxis?.title}\n className={classNames?.xAxis?.title}\n text={barAxisTitle}\n />\n {customLayers.filter((d) => d.position === 'before').map((d) => d.layer)}\n <AnimatePresence>\n {dataWithId.map((d) =>\n !checkIfNullOrUndefined(y(d.id)) ? (\n <motion.g\n className='undp-viz-low-opacity undp-viz-g-with-hover'\n key={d.label}\n variants={{\n initial: { x: 0, y: y(`${d.id}`) },\n whileInView: {\n x: 0,\n y: y(`${d.id}`),\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n >\n {d.size.map((el, j) => (\n <motion.g\n key={`${d.label}-${colorDomain[j] || j}`}\n opacity={selectedColor ? (barColors[j] === selectedColor ? 1 : 0.3) : 1}\n onMouseEnter={(event) => {\n setMouseOverData({ ...d, sizeIndex: j });\n setEventY(event.clientY);\n setEventX(event.clientX);\n onSeriesMouseOver?.({ ...d, sizeIndex: j });\n }}\n onMouseMove={(event) => {\n setMouseOverData({ ...d, sizeIndex: j });\n setEventY(event.clientY);\n setEventX(event.clientX);\n }}\n onMouseLeave={() => {\n setMouseOverData(undefined);\n setEventX(undefined);\n setEventY(undefined);\n onSeriesMouseOver?.(undefined);\n }}\n onClick={() => {\n if (onSeriesMouseClick || detailsOnClick) {\n if (\n isEqual(mouseClickData, { ...d, sizeIndex: j }) &&\n resetSelectionOnDoubleClick\n ) {\n setMouseClickData(undefined);\n onSeriesMouseClick?.(undefined);\n } else {\n setMouseClickData({ ...d, sizeIndex: j });\n if (onSeriesMouseClick) onSeriesMouseClick({ ...d, sizeIndex: j });\n }\n }\n }}\n >\n {el ? (\n <motion.rect\n // biome-ignore lint/suspicious/noArrayIndexKey: index is the identifier here\n key={j}\n y={0}\n style={{ fill: barColors[j] }}\n height={y.bandwidth()}\n exit={{\n width: 0,\n x: x(0),\n transition: { duration: animate.duration },\n }}\n variants={{\n initial: {\n width: 0,\n x: x(0),\n fill: barColors[j],\n },\n whileInView: {\n width: x(el || 0),\n x: x(\n j === 0 ? 0 : sum(d.size.filter((element, k) => k < j && element)),\n ),\n fill: barColors[j],\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n />\n ) : null}\n {showValues ? (\n <motion.text\n y={y.bandwidth() / 2}\n style={{\n textAnchor: 'middle',\n ...(styles?.graphObjectValues || {}),\n }}\n dy='0.33em'\n className={cn('graph-value text-sm', classNames?.graphObjectValues)}\n exit={{\n opacity: 0,\n transition: { duration: animate.duration },\n }}\n variants={{\n initial: {\n x: x(0),\n opacity: 0,\n fill: getTextColorBasedOnBgColor(barColors[j]),\n },\n whileInView: {\n x:\n x(\n j === 0\n ? 0\n : sum(d.size.filter((element, k) => k < j && element)),\n ) +\n x(el || 0) / 2,\n opacity:\n el &&\n x(el) /\n numberFormattingFunction(\n el,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n ).length >\n 12\n ? 1\n : 0,\n fill: getTextColorBasedOnBgColor(barColors[j]),\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n >\n {numberFormattingFunction(\n el,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )}\n </motion.text>\n ) : null}\n </motion.g>\n ))}\n {showLabels ? (\n <YAxesLabels\n value={\n `${d.label}`.length < truncateBy\n ? `${d.label}`\n : `${`${d.label}`.substring(0, truncateBy)}...`\n }\n y={0}\n x={0 - margin.left}\n width={0 + margin.left}\n height={y.bandwidth()}\n style={styles?.yAxis?.labels}\n className={classNames?.yAxis?.labels}\n animate={animate}\n isInView={isInView}\n />\n ) : null}\n {showValues ? (\n <motion.text\n className={cn(\n 'graph-value graph-value-total text-sm',\n !valueColor ? ' fill-primary-gray-700 dark:fill-primary-gray-300' : '',\n classNames?.graphObjectValues,\n )}\n style={{\n ...(valueColor ? { fill: valueColor } : {}),\n textAnchor: 'start',\n ...(styles?.graphObjectValues || {}),\n }}\n y={y.bandwidth() / 2}\n dx={5}\n dy='0.33em'\n variants={{\n initial: {\n x: x(0),\n opacity: 0,\n ...(valueColor ? { fill: valueColor } : {}),\n },\n whileInView: {\n x: x(sum(d.size.map((el) => el || 0))),\n opacity: 1,\n ...(valueColor ? { fill: valueColor } : {}),\n transition: { duration: animate.duration },\n },\n }}\n exit={{\n opacity: 0,\n transition: { duration: animate.duration },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n >\n {numberFormattingFunction(\n sum(d.size.filter((element) => element)),\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )}\n </motion.text>\n ) : null}\n </motion.g>\n ) : null,\n )}\n <Axis\n hideAxisLine={hideAxisLine}\n x1={x(0)}\n x2={x(0)}\n y1={-2.5}\n y2={graphHeight + margin.bottom}\n classNames={{ axis: classNames?.yAxis?.axis }}\n styles={{ axis: styles?.yAxis?.axis }}\n />\n {refValues?.map((el) => (\n <RefLineX\n key={el.text}\n text={el.text}\n color={el.color}\n x={x(el.value as number)}\n y1={0 - margin.top}\n y2={graphHeight + margin.bottom}\n textSide={x(el.value as number) > graphWidth * 0.75 || rtl ? 'left' : 'right'}\n classNames={el.classNames}\n styles={el.styles}\n animate={animate}\n isInView={isInView}\n />\n ))}\n </AnimatePresence>\n {customLayers.filter((d) => d.position === 'after').map((d) => d.layer)}\n </g>\n </motion.svg>\n {mouseOverData && tooltip && eventX && eventY ? (\n <Tooltip\n data={mouseOverData}\n body={tooltip}\n xPos={eventX}\n yPos={eventY}\n backgroundStyle={styles?.tooltip}\n className={classNames?.tooltip}\n />\n ) : null}\n {detailsOnClick && mouseClickData !== undefined ? (\n <DetailsModal\n body={detailsOnClick}\n data={mouseClickData}\n setData={setMouseClickData}\n className={classNames?.modal}\n />\n ) : null}\n </>\n );\n}\n\nexport function VerticalGraph(props: Props) {\n const {\n data,\n leftMargin = 20,\n rightMargin = 20,\n topMargin = 20,\n bottomMargin = 25,\n width,\n height,\n barColors,\n barPadding,\n showLabels,\n showTicks,\n truncateBy,\n tooltip,\n onSeriesMouseOver,\n suffix,\n prefix,\n showValues,\n refValues,\n maxValue,\n onSeriesMouseClick,\n selectedColor,\n labelOrder,\n maxBarThickness,\n minBarThickness,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n valueColor,\n noOfTicks,\n styles,\n classNames,\n animate,\n colorDomain,\n precision,\n customLayers,\n naLabel,\n hideAxisLine,\n locale,\n padZeros,\n } = props;\n const svgRef = useRef(null);\n const isInView = useInView(svgRef, {\n once: animate.once,\n amount: animate.amount,\n });\n const margin = {\n top: topMargin,\n bottom: bottomMargin,\n left: barAxisTitle ? leftMargin + 30 : leftMargin,\n right: rightMargin,\n };\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\n const [eventX, setEventX] = useState<number | undefined>(undefined);\n const [eventY, setEventY] = useState<number | undefined>(undefined);\n const graphWidth = width - margin.left - margin.right;\n const graphHeight = height - margin.top - margin.bottom;\n\n const dataWithId = useMemo(() => {\n const idSet = new Set<string>();\n\n const dataWithIdWithoutMissingIds = data.map((d, i) => {\n const id = labelOrder ? `${d.label}` : `${i}`;\n idSet.add(id);\n return { ...d, id };\n });\n\n const missingIds = labelOrder ? labelOrder.filter((id) => !idSet.has(id)) : [];\n\n return [\n ...dataWithIdWithoutMissingIds,\n ...missingIds.map((id) => ({\n id,\n label: id,\n size: Array(data[0].size.length).fill(null),\n })),\n ];\n }, [data, labelOrder]);\n\n const barOrder = useMemo(() => {\n return labelOrder ?? dataWithId.map((d) => `${d.id}`);\n }, [labelOrder, dataWithId]);\n\n const y = scaleLinear().domain([0, maxValue]).range([graphHeight, 0]).nice();\n\n const x = scaleBand()\n .domain(barOrder)\n .range([\n 0,\n minBarThickness\n ? Math.max(graphWidth, minBarThickness * barOrder.length)\n : maxBarThickness\n ? Math.min(graphWidth, maxBarThickness * barOrder.length)\n : graphWidth,\n ])\n .paddingInner(barPadding);\n const yTicks = y.ticks(noOfTicks);\n return (\n <>\n <motion.svg\n width={`${width}px`}\n height={`${height}px`}\n viewBox={`0 0 ${width} ${height}`}\n direction='ltr'\n ref={svgRef}\n >\n <g transform={`translate(${margin.left},${margin.top})`}>\n <Axis\n hideAxisLine={hideAxisLine}\n y1={y(0)}\n y2={y(0)}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n label={\n showTicks\n ? numberFormattingFunction(0, naLabel, precision, prefix, suffix, locale, padZeros)\n : undefined\n }\n labelPos={{\n x: 0 - leftMargin,\n y: y(0),\n dx: 0,\n dy: -5,\n }}\n classNames={{\n axis: classNames?.xAxis?.axis,\n label: classNames?.yAxis?.labels,\n }}\n styles={{ axis: styles?.xAxis?.axis, label: styles?.yAxis?.labels }}\n />\n {showTicks ? (\n <YTicksAndGridLines\n values={yTicks.filter((d) => d !== 0)}\n y={yTicks.filter((d) => d !== 0).map((d) => y(d))}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n styles={{\n gridLines: styles?.yAxis?.gridLines,\n labels: styles?.yAxis?.labels,\n }}\n classNames={{\n gridLines: classNames?.yAxis?.gridLines,\n labels: classNames?.yAxis?.labels,\n }}\n suffix={suffix}\n prefix={prefix}\n labelType='secondary'\n showGridLines\n labelPos='vertical'\n precision={precision}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n <AxisTitle\n x={0 - leftMargin - 15}\n y={graphHeight / 2}\n style={styles?.yAxis?.title}\n className={classNames?.yAxis?.title}\n text={barAxisTitle}\n rotate90\n />\n {customLayers.filter((d) => d.position === 'before').map((d) => d.layer)}\n <AnimatePresence>\n {dataWithId.map((d) =>\n !checkIfNullOrUndefined(x(d.id)) ? (\n <motion.g\n className='undp-viz-low-opacity undp-viz-g-with-hover'\n key={d.label}\n variants={{\n initial: { x: x(`${d.id}`), y: 0 },\n whileInView: {\n x: x(`${d.id}`),\n y: 0,\n transition: { duration: animate.duration },\n },\n }}\n transition={{ duration: animate.duration }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n >\n {d.size.map((el, j) => (\n <motion.g\n key={`${d.label}-${colorDomain[j] || j}`}\n opacity={selectedColor ? (barColors[j] === selectedColor ? 1 : 0.3) : 1}\n onMouseEnter={(event) => {\n setMouseOverData({ ...d, sizeIndex: j });\n setEventY(event.clientY);\n setEventX(event.clientX);\n onSeriesMouseOver?.({ ...d, sizeIndex: j });\n }}\n onMouseMove={(event) => {\n setMouseOverData({ ...d, sizeIndex: j });\n setEventY(event.clientY);\n setEventX(event.clientX);\n }}\n onMouseLeave={() => {\n setMouseOverData(undefined);\n setEventX(undefined);\n setEventY(undefined);\n onSeriesMouseOver?.(undefined);\n }}\n onClick={() => {\n if (onSeriesMouseClick || detailsOnClick) {\n if (\n isEqual(mouseClickData, { ...d, sizeIndex: j }) &&\n resetSelectionOnDoubleClick\n ) {\n setMouseClickData(undefined);\n onSeriesMouseClick?.(undefined);\n } else {\n setMouseClickData({ ...d, sizeIndex: j });\n if (onSeriesMouseClick) onSeriesMouseClick({ ...d, sizeIndex: j });\n }\n }\n }}\n >\n <motion.rect\n x={0}\n width={x.bandwidth()}\n variants={{\n initial: {\n height: 0,\n fill: barColors[j],\n y: y(0),\n },\n whileInView: {\n height: Math.abs(\n y(sum(d.size.filter((element, k) => k <= j && element))) -\n y(sum(d.size.filter((element, k) => k < j && element))),\n ),\n y: y(sum(d.size.filter((element, k) => k <= j && element))),\n fill: barColors[j],\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{\n height: 0,\n y: y(0),\n transition: { duration: animate.duration },\n }}\n />\n {showValues ? (\n <motion.text\n x={x.bandwidth() / 2}\n style={{\n textAnchor: 'middle',\n ...(styles?.graphObjectValues || {}),\n }}\n className={cn('graph-value text-sm', classNames?.graphObjectValues)}\n dy='0.33em'\n variants={{\n initial: {\n y: y(0),\n opacity: 0,\n fill: getTextColorBasedOnBgColor(barColors[j]),\n },\n whileInView: {\n y:\n y(sum(d.size.filter((element, k) => k <= j && element))) +\n Math.abs(\n y(sum(d.size.filter((element, k) => k <= j && element))) -\n y(sum(d.size.filter((element, k) => k < j && element))),\n ) /\n 2,\n opacity:\n el &&\n Math.abs(\n y(sum(d.size.filter((element, k) => k <= j && element))) -\n y(sum(d.size.filter((element, k) => k < j && element))),\n ) > 20\n ? 1\n : 0,\n fill: getTextColorBasedOnBgColor(barColors[j]),\n transition: { duration: animate.duration },\n },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n exit={{ opacity: 0, transition: { duration: animate.duration } }}\n >\n {numberFormattingFunction(\n el,\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )}\n </motion.text>\n ) : null}\n </motion.g>\n ))}\n {showLabels ? (\n <XAxesLabels\n value={\n `${d.label}`.length < truncateBy\n ? `${d.label}`\n : `${`${d.label}`.substring(0, truncateBy)}...`\n }\n y={y(0) + 5}\n x={0}\n width={x.bandwidth()}\n height={margin.bottom}\n style={styles?.xAxis?.labels}\n className={classNames?.xAxis?.labels}\n alignment='top'\n animate={animate}\n isInView={isInView}\n />\n ) : null}\n {showValues ? (\n <motion.text\n style={{\n textAnchor: 'middle',\n ...(styles?.graphObjectValues || {}),\n }}\n x={x.bandwidth() / 2}\n dy={-10}\n className={cn(\n 'graph-value graph-value-total',\n !valueColor\n ? 'fill-primary-gray-700 dark:fill-primary-gray-300 text-sm'\n : 'text-sm',\n classNames?.graphObjectValues,\n )}\n variants={{\n initial: {\n y: y(0),\n opacity: 0,\n ...(valueColor && { fill: valueColor }),\n },\n whileInView: {\n y: y(sum(d.size.map((el) => el || 0))),\n opacity: 1,\n ...(valueColor && { fill: valueColor }),\n transition: { duration: animate.duration },\n },\n }}\n exit={{\n opacity: 0,\n transition: { duration: animate.duration },\n }}\n initial='initial'\n animate={isInView ? 'whileInView' : 'initial'}\n >\n {numberFormattingFunction(\n sum(d.size.filter((element) => element)),\n naLabel,\n precision,\n prefix,\n suffix,\n locale,\n padZeros,\n )}\n </motion.text>\n ) : null}\n </motion.g>\n ) : null,\n )}\n {refValues?.map((el) => (\n <RefLineY\n key={el.text}\n text={el.text}\n color={el.color}\n y={y(el.value as number)}\n x1={0 - leftMargin}\n x2={graphWidth + margin.right}\n classNames={el.classNames}\n styles={el.styles}\n animate={animate}\n isInView={isInView}\n />\n ))}\n </AnimatePresence>\n {customLayers.filter((d) => d.position === 'after').map((d) => d.layer)}\n </g>\n </motion.svg>\n {mouseOverData && tooltip && eventX && eventY ? (\n <Tooltip\n data={mouseOverData}\n body={tooltip}\n xPos={eventX}\n yPos={eventY}\n backgroundStyle={styles?.tooltip}\n className={classNames?.tooltip}\n />\n ) : null}\n {detailsOnClick && mouseClickData !== undefined ? (\n <DetailsModal\n body={detailsOnClick}\n data={mouseClickData}\n setData={setMouseClickData}\n className={classNames?.modal}\n />\n ) : null}\n </>\n );\n}\n","import { SliderUI } from '@undp/design-system-react/SliderUI';\nimport { format } from 'date-fns/format';\nimport { parse } from 'date-fns/parse';\nimport orderBy from 'lodash.orderby';\nimport sum from 'lodash.sum';\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { Colors } from '@/Components/ColorPalette';\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\nimport { EmptyState } from '@/Components/Elements/EmptyState';\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\nimport { Pause, Play } from '@/Components/Icons';\nimport type {\n AnimateDataType,\n ClassNameObject,\n CustomLayerDataType,\n GroupedBarGraphDataType,\n Languages,\n ReferenceDataType,\n SourcesDataType,\n StyleObject,\n TimelineDataType,\n} from '@/Types';\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\nimport { ensureCompleteDataForStackedBarChart } from '@/Utils/ensureCompleteData';\nimport { getSliderMarks } from '@/Utils/getSliderMarks';\nimport { HorizontalGraph, VerticalGraph } from './Graph';\n\ninterface Props {\n data: GroupedBarGraphDataType[];\n colors?: string[];\n labelOrder?: string[];\n graphTitle?: string | React.ReactNode;\n graphDescription?: string | React.ReactNode;\n footNote?: string | React.ReactNode;\n width?: number;\n height?: number;\n sources?: SourcesDataType[];\n barPadding?: number;\n showTicks?: boolean;\n leftMargin?: number;\n rightMargin?: number;\n truncateBy?: number;\n colorDomain: string[];\n colorLegendTitle?: string;\n backgroundColor?: string | boolean;\n padding?: string;\n topMargin?: number;\n bottomMargin?: number;\n suffix?: string;\n prefix?: string;\n showValues?: boolean;\n showLabels?: boolean;\n relativeHeight?: number;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n refValues?: ReferenceDataType[];\n graphID?: string;\n maxValue?: number;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n graphDownload?: boolean;\n dataDownload?: boolean;\n language?: Languages;\n minHeight?: number;\n theme?: 'light' | 'dark';\n maxBarThickness?: number;\n sortParameter?: number | 'total';\n sortData?: 'asc' | 'desc';\n maxNumberOfBars?: number;\n minBarThickness?: number;\n ariaLabel?: string;\n resetSelectionOnDoubleClick?: boolean;\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n barAxisTitle?: string;\n noOfTicks?: number;\n valueColor?: string;\n styles?: StyleObject;\n classNames?: ClassNameObject;\n filterNA?: boolean;\n animate?: boolean | AnimateDataType;\n precision?: number;\n locale?: string;\n showColorScale?: boolean;\n customLayers?: CustomLayerDataType[];\n timeline?: TimelineDataType;\n naLabel?: string;\n orientation?: 'horizontal' | 'vertical';\n hideAxisLine?: boolean;\n padZeros?: boolean;\n}\n\nexport function StackedBarGraphEl(props: Props) {\n const {\n data,\n graphTitle,\n colors = Colors.light.categoricalColors.colors,\n sources,\n graphDescription,\n barPadding = 0.25,\n showTicks = true,\n truncateBy = 999,\n height,\n width,\n footNote,\n colorDomain,\n colorLegendTitle,\n padding,\n backgroundColor = false,\n topMargin,\n bottomMargin,\n leftMargin,\n rightMargin,\n tooltip,\n onSeriesMouseOver,\n suffix = '',\n prefix = '',\n showLabels = true,\n relativeHeight,\n showValues = true,\n refValues,\n graphID,\n maxValue,\n onSeriesMouseClick,\n graphDownload = false,\n dataDownload = false,\n language = 'en',\n labelOrder,\n minHeight = 0,\n theme = 'light',\n maxBarThickness,\n sortParameter,\n maxNumberOfBars,\n minBarThickness,\n showColorScale = true,\n ariaLabel,\n resetSelectionOnDoubleClick = true,\n detailsOnClick,\n barAxisTitle,\n noOfTicks = 5,\n valueColor,\n styles,\n classNames,\n filterNA = true,\n animate = false,\n precision = 2,\n locale = 'en',\n customLayers = [],\n timeline = { enabled: false, autoplay: false, showOnlyActiveDate: true },\n naLabel = 'NA',\n sortData,\n orientation = 'vertical',\n hideAxisLine = false,\n padZeros = false,\n } = props;\n\n const Comp = orientation === 'horizontal' ? HorizontalGraph : VerticalGraph;\n const [svgWidth, setSvgWidth] = useState(0);\n const [svgHeight, setSvgHeight] = useState(0);\n const [play, setPlay] = useState(timeline.autoplay);\n const uniqDatesSorted = useMemo(() => {\n const dates = [\n ...new Set(\n data\n .filter((d) => d.date)\n .map((d) => parse(`${d.date}`, timeline.dateFormat || 'yyyy', new Date()).getTime()),\n ),\n ];\n dates.sort((a, b) => a - b);\n return dates;\n }, [data, timeline.dateFormat]);\n const [index, setIndex] = useState(timeline.autoplay ? 0 : uniqDatesSorted.length - 1);\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\n\n const graphDiv = useRef<HTMLDivElement>(null);\n const graphParentDiv = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver((entries) => {\n setSvgWidth(entries[0].target.clientWidth || 620);\n setSvgHeight(entries[0].target.clientHeight || 480);\n });\n if (graphDiv.current) {\n resizeObserver.observe(graphDiv.current);\n }\n return () => resizeObserver.disconnect();\n }, []);\n\n useEffect(() => {\n const interval = setInterval(\n () => {\n setIndex((i) => (i < uniqDatesSorted.length - 1 ? i + 1 : 0));\n },\n (timeline.speed || 2) * 1000,\n );\n if (!play) clearInterval(interval);\n return () => clearInterval(interval);\n }, [uniqDatesSorted, play, timeline.speed]);\n\n const markObj = getSliderMarks(\n uniqDatesSorted,\n index,\n timeline.showOnlyActiveDate,\n timeline.dateFormat || 'yyyy',\n );\n\n return (\n <GraphContainer\n className={classNames?.graphContainer}\n style={styles?.graphContainer}\n id={graphID}\n ref={graphParentDiv}\n aria-label={ariaLabel}\n backgroundColor={backgroundColor}\n theme={theme}\n language={language}\n minHeight={minHeight}\n width={width}\n height={height}\n relativeHeight={relativeHeight}\n padding={padding}\n >\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\n <GraphHeader\n styles={{\n title: styles?.title,\n description: styles?.description,\n }}\n classNames={{\n title: classNames?.title,\n description: classNames?.description,\n }}\n graphTitle={graphTitle}\n graphDescription={graphDescription}\n width={width}\n graphDownload={graphDownload ? graphParentDiv : undefined}\n dataDownload={\n dataDownload\n ? data.map((d) => d.data).filter((d) => d !== undefined).length > 0\n ? data.map((d) => d.data).filter((d) => d !== undefined)\n : data.filter((d) => d !== undefined)\n : null\n }\n />\n ) : null}\n {timeline.enabled && uniqDatesSorted.length > 0 && markObj ? (\n <div className='flex gap-6 items-center' dir='ltr'>\n <button\n type='button'\n onClick={() => {\n setPlay(!play);\n }}\n className='p-0 border-0 cursor-pointer bg-transparent'\n aria-label={play ? 'Click to pause animation' : 'Click to play animation'}\n >\n {play ? <Pause /> : <Play />}\n </button>\n <SliderUI\n min={uniqDatesSorted[0]}\n max={uniqDatesSorted[uniqDatesSorted.length - 1]}\n marks={markObj}\n step={null}\n defaultValue={uniqDatesSorted[uniqDatesSorted.length - 1]}\n value={uniqDatesSorted[index]}\n onChangeComplete={(nextValue) => {\n setIndex(uniqDatesSorted.indexOf(nextValue as number));\n }}\n onChange={(nextValue) => {\n setIndex(uniqDatesSorted.indexOf(nextValue as number));\n }}\n aria-label='Time slider. Use arrow keys to adjust selected time period.'\n />\n </div>\n ) : null}\n <div className='grow flex flex-col justify-center gap-3 w-full'>\n {showColorScale && data.length > 0 ? (\n <ColorLegendWithMouseOver\n width={width}\n colorDomain={colorDomain}\n colors={colors}\n colorLegendTitle={colorLegendTitle}\n setSelectedColor={setSelectedColor}\n showNAColor={false}\n className={classNames?.colorLegend}\n />\n ) : null}\n <GraphArea ref={graphDiv}>\n {data.length === 0 && <EmptyState />}\n {svgWidth && svgHeight && data.length > 0 ? (\n <Comp\n hideAxisLine={hideAxisLine}\n data={\n sortParameter !== undefined\n ? sortParameter === 'total'\n ? orderBy(\n ensureCompleteDataForStackedBarChart(data, timeline.dateFormat || 'yyyy')\n .filter((d) =>\n timeline.enabled\n ? `${d.date}` ===\n format(\n new Date(uniqDatesSorted[index]),\n timeline.dateFormat || 'yyyy',\n )\n : d,\n )\n .filter((d) => (filterNA ? !d.size.every((item) => item == null) : d)),\n (d) => sum(d.size.filter((el) => !checkIfNullOrUndefined(el))),\n [sortData || 'asc'],\n ).filter((_d, i) => (maxNumberOfBars ? i < maxNumberOfBars : true))\n : orderBy(\n ensureCompleteDataForStackedBarChart(data, timeline.dateFormat || 'yyyy')\n .filter((d) =>\n timeline.enabled\n ? `${d.date}` ===\n format(\n new Date(uniqDatesSorted[index]),\n timeline.dateFormat || 'yyyy',\n )\n : d,\n )\n .filter((d) => (filterNA ? !d.size.every((item) => item == null) : d)),\n (d) =>\n checkIfNullOrUndefined(d.size[sortParameter])\n ? -Infinity\n : d.size[sortParameter],\n [sortData || 'asc'],\n ).filter((_d, i) => (maxNumberOfBars ? i < maxNumberOfBars : true))\n : ensureCompleteDataForStackedBarChart(data, timeline.dateFormat || 'yyyy')\n .filter((d) =>\n timeline.enabled\n ? `${d.date}` ===\n format(new Date(uniqDatesSorted[index]), timeline.dateFormat || 'yyyy')\n : d,\n )\n .filter((d) => (filterNA ? !d.size.every((item) => item == null) : d))\n .filter((_d, i) => (maxNumberOfBars ? i < maxNumberOfBars : true))\n }\n barColors={colors}\n width={svgWidth}\n height={svgHeight}\n barPadding={barPadding}\n showTicks={showTicks}\n leftMargin={leftMargin}\n rightMargin={rightMargin}\n topMargin={topMargin}\n bottomMargin={bottomMargin}\n truncateBy={truncateBy}\n showLabels={showLabels}\n tooltip={tooltip}\n onSeriesMouseOver={onSeriesMouseOver}\n showValues={showValues}\n suffix={suffix}\n prefix={prefix}\n refValues={refValues}\n maxValue={\n !checkIfNullOrUndefined(maxValue)\n ? (maxValue as number)\n : Math.max(\n ...data.map(\n (d) => sum(d.size.filter((l) => !checkIfNullOrUndefined(l))) || 0,\n ),\n )\n }\n onSeriesMouseClick={onSeriesMouseClick}\n selectedColor={selectedColor}\n rtl={language === 'he' || language === 'ar'}\n labelOrder={labelOrder}\n maxBarThickness={maxBarThickness}\n minBarThickness={minBarThickness}\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\n detailsOnClick={detailsOnClick}\n barAxisTitle={barAxisTitle}\n noOfTicks={noOfTicks}\n valueColor={valueColor}\n classNames={classNames}\n styles={styles}\n animate={\n animate === true\n ? { duration: 0.5, once: true, amount: 0.5 }\n : animate || { duration: 0, once: true, amount: 0 }\n }\n colorDomain={colorDomain}\n precision={precision}\n customLayers={customLayers}\n naLabel={naLabel}\n locale={locale}\n padZeros={padZeros}\n />\n ) : null}\n </GraphArea>\n </div>\n {sources || footNote ? (\n <GraphFooter\n styles={{ footnote: styles?.footnote, source: styles?.source }}\n classNames={{\n footnote: classNames?.footnote,\n source: classNames?.source,\n }}\n sources={sources}\n footNote={footNote}\n width={width}\n />\n ) : null}\n </GraphContainer>\n );\n}\n","import type {\n AnimateDataType,\n BarGraphDataType,\n ClassNameObject,\n CustomLayerDataType,\n GroupedBarGraphDataType,\n Languages,\n NumberFormatOptions,\n ReferenceDataType,\n SourcesDataType,\n StyleObject,\n TimelineDataType,\n} from '@/Types';\nimport { GroupedBarGraphEl } from './GroupedBarGraph';\nimport { SimpleBarGraphEl } from './SimpleBarGraph';\nimport { StackedBarGraphEl } from './StackedBarGraph';\n\ninterface Props {\n // Data\n /** Array of data objects */\n data: BarGraphDataType[];\n\n /** Orientation of the graph */\n orientation?: 'vertical' | 'horizontal';\n\n // Titles, Labels, and Sources\n /** Title of the graph */\n graphTitle?: string | React.ReactNode;\n /** Description of the graph */\n graphDescription?: string | React.ReactNode;\n /** Footnote for the graph */\n footNote?: string | React.ReactNode;\n /** Source data for the graph */\n sources?: SourcesDataType[];\n /** Accessibility label */\n ariaLabel?: string;\n\n // Colors and Styling\n /** Color or array of colors for bars */\n colors?: string | string[];\n /** Domain of colors for the graph */\n colorDomain?: string[];\n /** Title for the color legend */\n colorLegendTitle?: string;\n /** Color of value labels */\n valueColor?: string;\n /** Background color of the graph */\n backgroundColor?: string | boolean;\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\n styles?: StyleObject;\n /** Custom class names */\n classNames?: ClassNameObject;\n\n // Size and Spacing\n /** Width of the graph */\n width?: number;\n /** Height of the graph */\n height?: number;\n /** Minimum height of the graph */\n minHeight?: number;\n /** Relative height scaling factor. This overwrites the height props */\n relativeHeight?: number;\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\n padding?: string;\n /** Left margin of the graph */\n leftMargin?: number;\n /** Right margin of the graph */\n rightMargin?: number;\n /** Top margin of the graph */\n topMargin?: number;\n /** Bottom margin of the graph */\n bottomMargin?: number;\n /** Padding between bars */\n barPadding?: number;\n /** Maximum thickness of bars */\n maxBarThickness?: number;\n /** Minimum thickness of bars */\n minBarThickness?: number;\n /** Maximum number of bars shown in the graph */\n maxNumberOfBars?: number;\n\n // Values and Ticks\n /** Maximum value for the chart */\n maxValue?: number;\n /** Minimum value for the chart */\n minValue?: number;\n /** Truncate labels by specified length */\n truncateBy?: number;\n /** Reference values for comparison */\n refValues?: ReferenceDataType[];\n /** Number of ticks on the axis */\n noOfTicks?: number;\n\n // Graph Parameters\n /** Toggle visibility of labels */\n showLabels?: boolean;\n /** Toggle visibility of values */\n showValues?: boolean;\n /** Custom order for labels */\n labelOrder?: string[];\n /** Defines how “NA” values should be displayed/labelled in the graph */\n naLabel?: string;\n /** Toggle visibility of axis ticks */\n showTicks?: boolean;\n /** Toggle visibility of axis line for the main axis */\n hideAxisLine?: boolean;\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\n showColorScale?: boolean;\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\n showNAColor?: boolean;\n /** Data points to highlight. Use the label value from data to highlight the data point */\n highlightedDataPoints?: (string | number)[];\n /** Defines the opacity of the non-highlighted data */\n dimmedOpacity?: number;\n /** Title for the bar axis */\n barAxisTitle?: string;\n /** Sorting order for data. This is overwritten by labelOrder prop. */\n sortData?: 'asc' | 'desc';\n /** Track color (i.e. the color of the bars background) of the bar chart */\n trackColor?: string;\n /** Toggles if data point which are undefined or has value null are filtered out. */\n filterNA?: boolean;\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\n numberDisplayOptions?: NumberFormatOptions;\n /** Toggles if the graph animates in when loaded. */\n animate?: boolean | AnimateDataType;\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\n customLayers?: CustomLayerDataType[];\n /** Configures playback and slider controls for animating the chart over time. The data must have a key date for it to work properly. */\n timeline?: TimelineDataType;\n /** Enable graph download option as png */\n graphDownload?: boolean;\n /** Enable data download option as a csv */\n dataDownload?: boolean;\n /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\n resetSelectionOnDoubleClick?: boolean;\n\n // Interactions and Callbacks\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n /** Callback for mouse over event */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n /** Callback for mouse click event */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n\n // Configuration and Options\n /** Language setting */\n language?: Languages;\n /** Color theme */\n theme?: 'light' | 'dark';\n /** Unique ID for the graph */\n graphID?: string;\n}\n\nexport function SimpleBarGraph(props: Props) {\n const {\n data,\n graphTitle,\n colors,\n barPadding,\n showTicks,\n leftMargin,\n rightMargin,\n topMargin,\n bottomMargin,\n truncateBy,\n showLabels,\n showValues,\n backgroundColor,\n sources,\n graphDescription,\n height,\n width,\n footNote,\n colorDomain,\n colorLegendTitle,\n padding,\n relativeHeight,\n tooltip,\n onSeriesMouseOver,\n refValues,\n showColorScale,\n graphID,\n maxValue,\n minValue,\n highlightedDataPoints,\n onSeriesMouseClick,\n graphDownload,\n dataDownload,\n language,\n theme,\n sortData,\n labelOrder,\n showNAColor,\n minHeight,\n maxBarThickness,\n maxNumberOfBars,\n minBarThickness,\n ariaLabel,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n noOfTicks,\n valueColor,\n orientation = 'vertical',\n styles,\n classNames,\n filterNA,\n animate,\n dimmedOpacity,\n customLayers,\n timeline,\n naLabel,\n trackColor,\n hideAxisLine = false,\n numberDisplayOptions,\n } = props;\n return (\n <SimpleBarGraphEl\n data={data}\n graphTitle={graphTitle}\n colors={colors}\n barPadding={barPadding}\n showTicks={showTicks}\n leftMargin={leftMargin}\n rightMargin={rightMargin}\n topMargin={topMargin}\n bottomMargin={bottomMargin}\n truncateBy={truncateBy}\n showLabels={showLabels}\n showValues={showValues}\n backgroundColor={backgroundColor}\n suffix={numberDisplayOptions?.suffix}\n prefix={numberDisplayOptions?.prefix}\n sources={sources}\n graphDescription={graphDescription}\n height={height}\n width={width}\n footNote={footNote}\n colorDomain={colorDomain}\n colorLegendTitle={colorLegendTitle}\n padding={padding}\n relativeHeight={relativeHeight}\n tooltip={tooltip}\n onSeriesMouseOver={onSeriesMouseOver}\n refValues={refValues}\n showColorScale={showColorScale}\n graphID={graphID}\n maxValue={maxValue}\n minValue={minValue}\n highlightedDataPoints={highlightedDataPoints}\n onSeriesMouseClick={onSeriesMouseClick}\n graphDownload={graphDownload}\n dataDownload={dataDownload}\n language={language}\n theme={theme}\n sortData={sortData}\n labelOrder={labelOrder}\n showNAColor={showNAColor}\n minHeight={minHeight}\n maxBarThickness={maxBarThickness}\n maxNumberOfBars={maxNumberOfBars}\n minBarThickness={minBarThickness}\n ariaLabel={ariaLabel}\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\n styles={styles}\n detailsOnClick={detailsOnClick}\n barAxisTitle={barAxisTitle}\n noOfTicks={noOfTicks}\n valueColor={valueColor}\n classNames={classNames}\n filterNA={filterNA}\n animate={animate}\n dimmedOpacity={dimmedOpacity}\n precision={numberDisplayOptions?.precision}\n customLayers={customLayers}\n timeline={timeline}\n naLabel={naLabel}\n orientation={orientation}\n trackColor={trackColor}\n hideAxisLine={hideAxisLine}\n locale={numberDisplayOptions?.locale}\n padZeros={numberDisplayOptions?.padZeros}\n />\n );\n}\n\ninterface GroupedBarChartProps {\n // Data\n /** Array of data objects */\n data: GroupedBarGraphDataType[];\n\n /** Orientation of the graph */\n orientation?: 'vertical' | 'horizontal';\n\n // Titles, Labels, and Sources\n /** Title of the graph */\n graphTitle?: string | React.ReactNode;\n /** Description of the graph */\n graphDescription?: string | React.ReactNode;\n /** Footnote for the graph */\n footNote?: string | React.ReactNode;\n /** Source data for the graph */\n sources?: SourcesDataType[];\n /** Accessibility label */\n ariaLabel?: string;\n\n // Colors and Styling\n /** Array of colors for different bars in the group */\n colors?: string[];\n /** Domain of colors for the graph */\n colorDomain: string[];\n /** Title for the color legend */\n colorLegendTitle?: string;\n /** Color of value labels */\n valueColor?: string;\n /** Background color of the graph */\n backgroundColor?: string | boolean;\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\n styles?: StyleObject;\n /** Custom class names */\n classNames?: ClassNameObject;\n\n // Size and Spacing\n /** Width of the graph */\n width?: number;\n /** Height of the graph */\n height?: number;\n /** Minimum height of the graph */\n minHeight?: number;\n /** Relative height scaling factor. This overwrites the height props */\n relativeHeight?: number;\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\n padding?: string;\n /** Left margin of the graph */\n leftMargin?: number;\n /** Right margin of the graph */\n rightMargin?: number;\n /** Top margin of the graph */\n topMargin?: number;\n /** Bottom margin of the graph */\n bottomMargin?: number;\n /** Padding between bars */\n barPadding?: number;\n /** Maximum thickness of bars */\n maxBarThickness?: number;\n\n // Values and Tick\n /** Maximum value for the chart */\n maxValue?: number;\n /** Minimum value for the chart */\n minValue?: number;\n /** Truncate labels by specified length */\n truncateBy?: number;\n /** Toggles if data points which have all the values as undefined or null are filtered out. */\n filterNA?: boolean;\n /** Parameter to sort the data. If a number is provided, it refers to the index of the size array to determine which value to sort by. If set to total, it sorts by the sum of all the values. */\n sortParameter?: number | 'total';\n /** Sorting order for data. This is overwritten by labelOrder prop. */\n sortData?: 'asc' | 'desc';\n /** Toggles if the graph animates in when loaded. */\n animate?: boolean | AnimateDataType;\n /** Reference values for comparison */\n refValues?: ReferenceDataType[];\n /** Number of ticks on the axis */\n noOfTicks?: number;\n\n // Graph Parameters\n /** Toggle visibility of labels */\n showLabels?: boolean;\n /** Toggle visibility of values */\n showValues?: boolean;\n /** Custom order for labels */\n labelOrder?: string[];\n /** Toggle visibility of axis ticks */\n showTicks?: boolean;\n /** Toggle visibility of axis line for the main axis */\n hideAxisLine?: boolean;\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\n showColorScale?: boolean;\n /** Title for the bar axis */\n barAxisTitle?: string;\n /** Defines how “NA” values should be displayed/labelled in the graph */\n naLabel?: string;\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\n numberDisplayOptions?: NumberFormatOptions;\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\n customLayers?: CustomLayerDataType[];\n /** Configures playback and slider controls for animating the chart over time. The data must have a key date for it to work properly. */\n timeline?: TimelineDataType;\n /** Enable graph download option as png */\n graphDownload?: boolean;\n /** Enable data download option as a csv */\n dataDownload?: boolean;\n /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\n resetSelectionOnDoubleClick?: boolean;\n\n // Interactions and Callbacks\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n /** Callback for mouse over event */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n /** Callback for mouse click event */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n\n // Configuration and Options\n /** Language setting */\n language?: Languages;\n /** Color theme */\n theme?: 'light' | 'dark';\n /** Unique ID for the graph */\n graphID?: string;\n}\n\nexport function GroupedBarGraph(props: GroupedBarChartProps) {\n const {\n data,\n graphTitle,\n colors,\n sources,\n graphDescription,\n barPadding,\n showTicks,\n truncateBy,\n height,\n width,\n footNote,\n colorDomain,\n colorLegendTitle,\n showValues,\n padding,\n backgroundColor,\n leftMargin,\n rightMargin,\n topMargin,\n bottomMargin,\n showLabels,\n relativeHeight,\n tooltip,\n onSeriesMouseOver,\n refValues,\n graphID,\n maxValue,\n minValue,\n onSeriesMouseClick,\n graphDownload,\n dataDownload,\n language,\n labelOrder,\n minHeight,\n theme,\n sortParameter,\n sortData,\n maxBarThickness,\n ariaLabel,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n noOfTicks,\n valueColor,\n orientation = 'vertical',\n styles,\n classNames,\n filterNA,\n animate,\n customLayers,\n showColorScale,\n timeline,\n naLabel,\n hideAxisLine = false,\n numberDisplayOptions,\n } = props;\n\n return (\n <GroupedBarGraphEl\n orientation={orientation}\n data={data}\n graphTitle={graphTitle}\n colors={colors}\n sources={sources}\n graphDescription={graphDescription}\n barPadding={barPadding}\n showTicks={showTicks}\n truncateBy={truncateBy}\n height={height}\n width={width}\n footNote={footNote}\n colorDomain={colorDomain}\n colorLegendTitle={colorLegendTitle}\n suffix={numberDisplayOptions?.suffix}\n prefix={numberDisplayOptions?.prefix}\n showValues={showValues}\n padding={padding}\n backgroundColor={backgroundColor}\n leftMargin={leftMargin}\n rightMargin={rightMargin}\n sortParameter={sortParameter}\n sortData={sortData}\n topMargin={topMargin}\n bottomMargin={bottomMargin}\n showLabels={showLabels}\n relativeHeight={relativeHeight}\n tooltip={tooltip}\n onSeriesMouseOver={onSeriesMouseOver}\n refValues={refValues}\n graphID={graphID}\n maxValue={maxValue}\n minValue={minValue}\n onSeriesMouseClick={onSeriesMouseClick}\n graphDownload={graphDownload}\n dataDownload={dataDownload}\n language={language}\n labelOrder={labelOrder}\n minHeight={minHeight}\n theme={theme}\n maxBarThickness={maxBarThickness}\n ariaLabel={ariaLabel}\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\n styles={styles}\n detailsOnClick={detailsOnClick}\n barAxisTitle={barAxisTitle}\n noOfTicks={noOfTicks}\n valueColor={valueColor}\n classNames={classNames}\n filterNA={filterNA}\n animate={animate}\n precision={numberDisplayOptions?.precision}\n customLayers={customLayers}\n showColorScale={showColorScale}\n timeline={timeline}\n naLabel={naLabel}\n hideAxisLine={hideAxisLine}\n locale={numberDisplayOptions?.locale}\n padZeros={numberDisplayOptions?.padZeros}\n />\n );\n}\n\ninterface StackedBarChartProps {\n // Data\n /** Array of data objects */\n data: GroupedBarGraphDataType[];\n\n /** Orientation of the graph */\n orientation?: 'vertical' | 'horizontal';\n\n // Titles, Labels, and Sources\n /** Title of the graph */\n graphTitle?: string | React.ReactNode;\n /** Description of the graph */\n graphDescription?: string | React.ReactNode;\n /** Footnote for the graph */\n footNote?: string | React.ReactNode;\n /** Source data for the graph */\n sources?: SourcesDataType[];\n /** Accessibility label */\n ariaLabel?: string;\n\n // Colors and Styling\n /** Array of colors for different bars in the group */\n colors?: string[];\n /** Domain of colors for the graph */\n colorDomain: string[];\n /** Title for the color legend */\n colorLegendTitle?: string;\n /** Color of value labels */\n valueColor?: string;\n /** Background color of the graph */\n backgroundColor?: string | boolean;\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\n styles?: StyleObject;\n /** Custom class names */\n classNames?: ClassNameObject;\n\n // Size and Spacing\n /** Width of the graph */\n width?: number;\n /** Height of the graph */\n height?: number;\n /** Minimum height of the graph */\n minHeight?: number;\n /** Relative height scaling factor. This overwrites the height props */\n relativeHeight?: number;\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\n padding?: string;\n /** Left margin of the graph */\n leftMargin?: number;\n /** Right margin of the graph */\n rightMargin?: number;\n /** Top margin of the graph */\n topMargin?: number;\n /** Bottom margin of the graph */\n bottomMargin?: number;\n /** Padding between bars */\n barPadding?: number;\n /** Maximum thickness of bars */\n maxBarThickness?: number;\n /** Minimum thickness of bars */\n minBarThickness?: number;\n /** Maximum number of bars shown in the graph */\n maxNumberOfBars?: number;\n\n // Values and Ticks\n /** Maximum value for the chart */\n maxValue?: number;\n /** Minimum value for the chart */\n truncateBy?: number;\n /** Reference values for comparison */\n refValues?: ReferenceDataType[];\n /** Number of ticks on the axis */\n noOfTicks?: number;\n\n // Graph Parameters\n /** Toggle visibility of labels */\n showLabels?: boolean;\n /** Toggle visibility of values */\n showValues?: boolean;\n /** Custom order for labels */\n labelOrder?: string[];\n /** Toggle visibility of axis ticks */\n showTicks?: boolean;\n /** Toggle visibility of axis line for the main axis */\n hideAxisLine?: boolean;\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\n showColorScale?: boolean;\n /** Title for the bar axis */\n barAxisTitle?: string;\n /** Defines how “NA” values should be displayed/labelled in the graph */\n naLabel?: string;\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\n numberDisplayOptions?: NumberFormatOptions;\n /** Parameter to sort the data. If a number is provided, it refers to the index of the size array to determine which value to sort by. If set to total, it sorts by the sum of all the values. */\n sortParameter?: number | 'total';\n /** Sorting order for data. This is overwritten by labelOrder prop. */\n sortData?: 'asc' | 'desc';\n /** Toggles if data points which have all the values as undefined or null are filtered out. */\n filterNA?: boolean;\n /** Toggles if the graph animates in when loaded. */\n animate?: boolean | AnimateDataType;\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\n customLayers?: CustomLayerDataType[];\n /** Configures playback and slider controls for animating the chart over time. The data must have a key date for it to work properly. */\n timeline?: TimelineDataType;\n /** Enable graph download option as png */\n graphDownload?: boolean;\n /** Enable data download option as a csv */\n dataDownload?: boolean;\n /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\n resetSelectionOnDoubleClick?: boolean;\n\n // Interactions and Callbacks\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n tooltip?: string | ((_d: any) => React.ReactNode);\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\n /** Callback for mouse over event */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseOver?: (_d: any) => void;\n /** Callback for mouse click event */\n // biome-ignore lint/suspicious/noExplicitAny: undefined data type\n onSeriesMouseClick?: (_d: any) => void;\n\n // Configuration and Options\n /** Language setting */\n language?: Languages;\n /** Color theme */\n theme?: 'light' | 'dark';\n /** Unique ID for the graph */\n graphID?: string;\n}\n\nexport function StackedBarGraph(props: StackedBarChartProps) {\n const {\n data,\n graphTitle,\n colors,\n sources,\n graphDescription,\n barPadding,\n showTicks,\n leftMargin,\n rightMargin,\n topMargin,\n bottomMargin,\n truncateBy,\n showLabels,\n showValues,\n backgroundColor,\n height,\n width,\n footNote,\n colorDomain,\n colorLegendTitle,\n padding,\n tooltip,\n onSeriesMouseOver,\n relativeHeight,\n refValues,\n graphID,\n maxValue,\n onSeriesMouseClick,\n graphDownload,\n dataDownload,\n language,\n theme,\n labelOrder,\n minHeight,\n maxBarThickness,\n sortParameter,\n sortData,\n maxNumberOfBars,\n minBarThickness,\n ariaLabel,\n resetSelectionOnDoubleClick,\n detailsOnClick,\n barAxisTitle,\n noOfTicks,\n valueColor,\n orientation = 'vertical',\n styles,\n classNames,\n filterNA,\n animate,\n customLayers,\n showColorScale,\n timeline,\n naLabel,\n hideAxisLine = false,\n numberDisplayOptions,\n } = props;\n\n return (\n <StackedBarGraphEl\n data={data}\n graphTitle={graphTitle}\n colors={colors}\n sources={sources}\n graphDescription={graphDescription}\n barPadding={barPadding}\n showTicks={showTicks}\n leftMargin={leftMargin}\n rightMargin={rightMargin}\n topMargin={topMargin}\n bottomMargin={bottomMargin}\n truncateBy={truncateBy}\n showLabels={showLabels}\n showValues={showValues}\n backgroundColor={backgroundColor}\n suffix={numberDisplayOptions?.suffix}\n prefix={numberDisplayOptions?.prefix}\n height={height}\n width={width}\n footNote={footNote}\n colorDomain={colorDomain}\n colorLegendTitle={colorLegendTitle}\n padding={padding}\n tooltip={tooltip}\n onSeriesMouseOver={onSeriesMouseOver}\n relativeHeight={relativeHeight}\n refValues={refValues}\n graphID={graphID}\n maxValue={maxValue}\n onSeriesMouseClick={onSeriesMouseClick}\n graphDownload={graphDownload}\n dataDownload={dataDownload}\n language={language}\n theme={theme}\n labelOrder={labelOrder}\n minHeight={minHeight}\n maxBarThickness={maxBarThickness}\n sortParameter={sortParameter}\n sortData={sortData}\n maxNumberOfBars={maxNumberOfBars}\n minBarThickness={minBarThickness}\n ariaLabel={ariaLabel}\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\n styles={styles}\n detailsOnClick={detailsOnClick}\n barAxisTitle={barAxisTitle}\n noOfTicks={noOfTicks}\n valueColor={valueColor}\n classNames={classNames}\n filterNA={filterNA}\n animate={animate}\n precision={numberDisplayOptions?.precision}\n customLayers={customLayers}\n showColorScale={showColorScale}\n timeline={timeline}\n naLabel={naLabel}\n orientation={orientation}\n hideAxisLine={hideAxisLine}\n locale={numberDisplayOptions?.locale}\n padZeros={numberDisplayOptions?.padZeros}\n />\n );\n}\n"],"mappings":"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AAK,KAAM,GAAM,OAAQ,EAAI,EACzC,GAAW,CAAE,SAAU,EAAG,KAAM,GAAM,OAAQ,CAAE,EAEzC,eACF,YACG,eACL,UACD,SACE,UACX,CAAA,EACC,IACK,GACR,IACJ,GAAW,IACV,EAAA,EAAA,KAAC,GAAA,YAAD,CACE,OAAQ,CAAE,SAAU,GAAQ,SAAU,OAAQ,GAAQ,MAAO,EAC7D,WAAY,CACV,SAAU,GAAY,SACtB,OAAQ,GAAY,MACtB,EACS,UACC,YACH,QACR,CAAA,EACC,IACU,GAEpB,CCzPA,SAAgB,EAAe,EAAc,CAC3C,GAAM,CACJ,OACA,aACA,SACA,cACA,aACA,aACA,cACA,aACA,eACA,aACA,aACA,cACA,mBACA,UACA,oBACA,UACA,SACA,YACA,cACA,oBACA,WACA,kBACA,WACA,qBACA,YACA,iBACA,WACA,YACA,YACA,yBACA,sBACA,iBACA,gBACA,WACA,SACA,WACA,aACA,eACA,YACA,kBACA,kBACA,kBACA,YACA,+BACA,kBACA,eACA,YACA,aACA,cAAc,WACd,SACA,aACA,WACA,UACA,gBACA,eACA,WACA,UACA,aACA,eAAe,GACf,wBACE,EACJ,OACE,EAAA,EAAA,KAAC,GAAD,CACQ,OACM,aACJ,SACI,cACD,aACC,aACC,cACF,aACG,eACF,aACA,aACA,cACK,mBACjB,OAAQ,GAAsB,OAC9B,OAAQ,GAAsB,OACrB,UACS,oBACV,UACD,SACG,YACG,cACK,oBACT,WACO,kBACP,WACU,qBACR,YACK,iBACP,WACC,YACA,YACa,yBACH,sBACL,iBACD,gBACJ,WACH,SACG,WACE,aACC,eACF,YACM,kBACA,kBACA,kBACN,YACkB,+BACrB,SACQ,kBACF,eACH,YACC,aACA,aACF,WACD,UACM,gBACf,UAAW,GAAsB,UACnB,eACJ,WACD,UACI,cACD,aACE,eACd,OAAQ,GAAsB,OAC9B,SAAU,GAAsB,QACjC,CAAA,CAEL,CAuIA,SAAgB,EAAgB,EAA6B,CAC3D,GAAM,CACJ,OACA,aACA,SACA,WACA,oBACA,aACA,YACA,cACA,SACA,QACA,WACA,eACA,oBACA,aACA,WACA,mBACA,cACA,eACA,YACA,gBACA,cACA,kBACA,WACA,qBACA,YACA,UACA,YACA,YACA,sBACA,iBACA,gBACA,YACA,cACA,YACA,SACA,gBACA,WACA,mBACA,YACA,8BACA,iBACA,eACA,aACA,cACA,eAAc,WACd,SACA,aACA,WACA,UACA,eACA,iBACA,WACA,UACA,eAAe,GACf,wBACE,EAEJ,OACE,EAAA,EAAA,KAAC,EAAD,CACe,eACP,OACM,aACJ,SACC,WACS,oBACN,aACD,YACC,cACJ,SACD,QACG,WACG,eACK,oBAClB,OAAQ,GAAsB,OAC9B,OAAQ,GAAsB,OAClB,aACH,WACQ,mBACL,cACC,eACE,gBACL,WACC,YACG,gBACF,cACI,kBACP,WACU,qBACR,YACF,UACC,YACA,YACU,sBACL,iBACD,gBACJ,YACE,cACD,YACJ,SACU,mBACN,YACkB,8BACrB,SACQ,iBACF,eACH,aACC,cACA,aACF,WACD,UACT,UAAW,GAAsB,UACnB,eACE,iBACN,WACD,UACK,eACd,OAAQ,GAAsB,OAC9B,SAAU,GAAsB,QACjC,CAAA,CAEL,CAyIA,SAAgB,EAAgB,EAA6B,CAC3D,GAAM,CACJ,OACA,aACA,SACA,WACA,oBACA,aACA,YACA,cACA,cACA,YACA,eACA,cACA,cACA,aACA,mBACA,UACA,SACA,YACA,cACA,oBACA,WACA,WACA,qBACA,kBACA,YACA,UACA,YACA,sBACA,iBACA,gBACA,YACA,SACA,cACA,YACA,mBACA,gBACA,WACA,mBACA,kBACA,YACA,8BACA,iBACA,eACA,aACA,cACA,eAAc,WACd,SACA,aACA,WACA,UACA,eACA,iBACA,WACA,UACA,eAAe,GACf,wBACE,EAEJ,OACE,EAAA,EAAA,KAAC,EAAD,CACQ,OACM,aACJ,SACC,WACS,oBACN,aACD,YACC,cACC,cACF,YACG,eACF,cACA,cACA,aACK,mBACjB,OAAQ,GAAsB,OAC9B,OAAQ,GAAsB,OACtB,UACD,SACG,YACG,cACK,oBACT,WACA,WACU,qBACH,kBACL,YACF,UACC,YACU,sBACL,iBACD,gBACJ,YACH,SACK,cACD,YACM,mBACF,gBACL,WACO,mBACA,kBACN,YACkB,8BACrB,SACQ,iBACF,eACH,aACC,cACA,aACF,WACD,UACT,UAAW,GAAsB,UACnB,eACE,iBACN,WACD,UACI,eACC,eACd,OAAQ,GAAsB,OAC9B,SAAU,GAAsB,QACjC,CAAA,CAEL"}