@undp/data-viz 2.4.1 → 2.5.0

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 (262) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.cjs.map +1 -1
  3. package/dist/AreaChart.d.ts +11 -9
  4. package/dist/AreaChart.js +320 -322
  5. package/dist/AreaChart.js.map +1 -1
  6. package/dist/BarGraph.cjs +1 -1
  7. package/dist/BarGraph.cjs.map +1 -1
  8. package/dist/BarGraph.d.ts +15 -25
  9. package/dist/BarGraph.js +1694 -1694
  10. package/dist/BarGraph.js.map +1 -1
  11. package/dist/BasicStatCard.cjs +1 -1
  12. package/dist/BasicStatCard.cjs.map +1 -1
  13. package/dist/BasicStatCard.d.ts +13 -9
  14. package/dist/BasicStatCard.js +79 -81
  15. package/dist/BasicStatCard.js.map +1 -1
  16. package/dist/BeeSwarmChart.cjs +1 -1
  17. package/dist/BeeSwarmChart.cjs.map +1 -1
  18. package/dist/BeeSwarmChart.d.ts +11 -9
  19. package/dist/BeeSwarmChart.js +335 -336
  20. package/dist/BeeSwarmChart.js.map +1 -1
  21. package/dist/BiVariateChoroplethMap.cjs +1 -1
  22. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  23. package/dist/BiVariateChoroplethMap.d.ts +13 -3
  24. package/dist/BiVariateChoroplethMap.js +247 -245
  25. package/dist/BiVariateChoroplethMap.js.map +1 -1
  26. package/dist/BulletChart.cjs +1 -1
  27. package/dist/BulletChart.cjs.map +1 -1
  28. package/dist/BulletChart.d.ts +11 -5
  29. package/dist/BulletChart.js +560 -559
  30. package/dist/BulletChart.js.map +1 -1
  31. package/dist/ButterflyChart.cjs +1 -1
  32. package/dist/ButterflyChart.cjs.map +1 -1
  33. package/dist/ButterflyChart.d.ts +11 -9
  34. package/dist/ButterflyChart.js +348 -350
  35. package/dist/ButterflyChart.js.map +1 -1
  36. package/dist/ChoroplethMap.cjs +1 -1
  37. package/dist/ChoroplethMap.cjs.map +1 -1
  38. package/dist/ChoroplethMap.d.ts +11 -3
  39. package/dist/ChoroplethMap.js +213 -213
  40. package/dist/ChoroplethMap.js.map +1 -1
  41. package/dist/CirclePackingGraph.cjs +1 -1
  42. package/dist/CirclePackingGraph.d.ts +11 -9
  43. package/dist/CirclePackingGraph.js +1 -1
  44. package/dist/DataCards.cjs +1 -1
  45. package/dist/DataCards.d.ts +1 -1
  46. package/dist/DataCards.js +1 -1
  47. package/dist/DataTable.cjs +1 -1
  48. package/dist/DataTable.cjs.map +1 -1
  49. package/dist/DataTable.d.ts +4 -5
  50. package/dist/DataTable.js +114 -116
  51. package/dist/DataTable.js.map +1 -1
  52. package/dist/{DetailsModal-jmmKRMRM.cjs → DetailsModal-Du8Fr1QD.cjs} +2 -2
  53. package/dist/{DetailsModal-jmmKRMRM.cjs.map → DetailsModal-Du8Fr1QD.cjs.map} +1 -1
  54. package/dist/{DetailsModal-B2XBWR7w.js → DetailsModal-GqEbGHY2.js} +2 -2
  55. package/dist/{DetailsModal-B2XBWR7w.js.map → DetailsModal-GqEbGHY2.js.map} +1 -1
  56. package/dist/DifferenceLineChart.cjs +1 -1
  57. package/dist/DifferenceLineChart.cjs.map +1 -1
  58. package/dist/DifferenceLineChart.d.ts +11 -9
  59. package/dist/DifferenceLineChart.js +502 -504
  60. package/dist/DifferenceLineChart.js.map +1 -1
  61. package/dist/DonutChart.cjs +1 -1
  62. package/dist/DonutChart.cjs.map +1 -1
  63. package/dist/DonutChart.d.ts +14 -9
  64. package/dist/DonutChart.js +174 -179
  65. package/dist/DonutChart.js.map +1 -1
  66. package/dist/DotDensityMap.cjs +1 -1
  67. package/dist/DotDensityMap.d.ts +1 -1
  68. package/dist/DotDensityMap.js +2 -2
  69. package/dist/DualAxisLineChart.cjs +1 -1
  70. package/dist/DualAxisLineChart.cjs.map +1 -1
  71. package/dist/DualAxisLineChart.d.ts +13 -9
  72. package/dist/DualAxisLineChart.js +341 -351
  73. package/dist/DualAxisLineChart.js.map +1 -1
  74. package/dist/DumbbellChart.cjs +1 -1
  75. package/dist/DumbbellChart.cjs.map +1 -1
  76. package/dist/DumbbellChart.d.ts +11 -9
  77. package/dist/DumbbellChart.js +592 -593
  78. package/dist/DumbbellChart.js.map +1 -1
  79. package/dist/GeoHubCompareMaps.cjs +1 -1
  80. package/dist/GeoHubCompareMaps.d.ts +1 -1
  81. package/dist/GeoHubCompareMaps.js +1 -1
  82. package/dist/GeoHubMap.cjs +1 -1
  83. package/dist/GeoHubMap.d.ts +1 -1
  84. package/dist/GeoHubMap.js +1 -1
  85. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  86. package/dist/GeoHubMapWithLayerSelection.d.ts +1 -1
  87. package/dist/GeoHubMapWithLayerSelection.js +1 -1
  88. package/dist/GraphEl-B7x5ku_y.cjs +2 -0
  89. package/dist/GraphEl-B7x5ku_y.cjs.map +1 -0
  90. package/dist/GraphEl-B8tGXqWk.js +1829 -0
  91. package/dist/GraphEl-B8tGXqWk.js.map +1 -0
  92. package/dist/GriddedGraphs.cjs +1 -1
  93. package/dist/GriddedGraphs.d.ts +28 -16
  94. package/dist/GriddedGraphs.js +1 -1
  95. package/dist/GriddedGraphsFromConfig.d.ts +28 -16
  96. package/dist/HeatMap.cjs +1 -1
  97. package/dist/HeatMap.cjs.map +1 -1
  98. package/dist/HeatMap.d.ts +11 -9
  99. package/dist/HeatMap.js +203 -205
  100. package/dist/HeatMap.js.map +1 -1
  101. package/dist/Histogram.cjs +1 -1
  102. package/dist/Histogram.cjs.map +1 -1
  103. package/dist/Histogram.d.ts +11 -5
  104. package/dist/Histogram.js +88 -89
  105. package/dist/Histogram.js.map +1 -1
  106. package/dist/HybridMap.cjs +1 -1
  107. package/dist/HybridMap.cjs.map +1 -1
  108. package/dist/HybridMap.d.ts +11 -3
  109. package/dist/HybridMap.js +279 -279
  110. package/dist/HybridMap.js.map +1 -1
  111. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  112. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  113. package/dist/LineChartWithConfidenceInterval.d.ts +11 -9
  114. package/dist/LineChartWithConfidenceInterval.js +393 -395
  115. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  116. package/dist/LinearColorLegend.cjs +1 -1
  117. package/dist/LinearColorLegend.js +1 -1
  118. package/dist/MultiGraphDashboard.d.ts +28 -16
  119. package/dist/MultiGraphDashboardFromConfig.d.ts +28 -16
  120. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +1 -1
  121. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +1 -1
  122. package/dist/MultiLineAltChart.cjs +1 -1
  123. package/dist/MultiLineAltChart.cjs.map +1 -1
  124. package/dist/MultiLineAltChart.d.ts +11 -9
  125. package/dist/MultiLineAltChart.js +411 -413
  126. package/dist/MultiLineAltChart.js.map +1 -1
  127. package/dist/MultiLineChart.cjs +1 -1
  128. package/dist/MultiLineChart.cjs.map +1 -1
  129. package/dist/MultiLineChart.d.ts +11 -9
  130. package/dist/MultiLineChart.js +438 -440
  131. package/dist/MultiLineChart.js.map +1 -1
  132. package/dist/ParetoChart.cjs +1 -1
  133. package/dist/ParetoChart.cjs.map +1 -1
  134. package/dist/ParetoChart.d.ts +13 -13
  135. package/dist/ParetoChart.js +347 -355
  136. package/dist/ParetoChart.js.map +1 -1
  137. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +28 -16
  138. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +28 -16
  139. package/dist/PerformanceIntensiveScrollStory.d.ts +28 -16
  140. package/dist/RadarChart.cjs +1 -1
  141. package/dist/RadarChart.cjs.map +1 -1
  142. package/dist/RadarChart.d.ts +11 -5
  143. package/dist/RadarChart.js +213 -213
  144. package/dist/RadarChart.js.map +1 -1
  145. package/dist/SankeyChart.cjs +1 -1
  146. package/dist/SankeyChart.cjs.map +1 -1
  147. package/dist/SankeyChart.d.ts +11 -9
  148. package/dist/SankeyChart.js +448 -450
  149. package/dist/SankeyChart.js.map +1 -1
  150. package/dist/ScatterPlot.cjs +1 -1
  151. package/dist/ScatterPlot.cjs.map +1 -1
  152. package/dist/ScatterPlot.d.ts +13 -13
  153. package/dist/ScatterPlot.js +490 -498
  154. package/dist/ScatterPlot.js.map +1 -1
  155. package/dist/ScrollStory.d.ts +28 -16
  156. package/dist/SimpleLineChart.cjs +1 -1
  157. package/dist/SimpleLineChart.cjs.map +1 -1
  158. package/dist/SimpleLineChart.d.ts +11 -9
  159. package/dist/SimpleLineChart.js +362 -364
  160. package/dist/SimpleLineChart.js.map +1 -1
  161. package/dist/SingleGraphDashboard.cjs +1 -1
  162. package/dist/SingleGraphDashboard.d.ts +28 -16
  163. package/dist/SingleGraphDashboard.js +1 -1
  164. package/dist/SingleGraphDashboardFromConfig.d.ts +28 -16
  165. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +28 -16
  166. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +28 -16
  167. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  168. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  169. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +28 -16
  170. package/dist/SingleGraphDashboardThreeDGraphs.js +40 -39
  171. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  172. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +28 -16
  173. package/dist/SlopeChart.cjs +1 -1
  174. package/dist/SlopeChart.d.ts +1 -1
  175. package/dist/SlopeChart.js +2 -2
  176. package/dist/SparkLine.cjs +1 -1
  177. package/dist/SparkLine.d.ts +1 -1
  178. package/dist/SparkLine.js +1 -1
  179. package/dist/StatCardFromData.cjs +1 -1
  180. package/dist/StatCardFromData.cjs.map +1 -1
  181. package/dist/StatCardFromData.d.ts +11 -9
  182. package/dist/StatCardFromData.js +113 -116
  183. package/dist/StatCardFromData.js.map +1 -1
  184. package/dist/StripChart.cjs +1 -1
  185. package/dist/StripChart.cjs.map +1 -1
  186. package/dist/StripChart.d.ts +11 -9
  187. package/dist/StripChart.js +434 -435
  188. package/dist/StripChart.js.map +1 -1
  189. package/dist/ThreeDGlobe.cjs +1 -1
  190. package/dist/ThreeDGlobe.cjs.map +1 -1
  191. package/dist/ThreeDGlobe.d.ts +11 -3
  192. package/dist/ThreeDGlobe.js +143 -143
  193. package/dist/ThreeDGlobe.js.map +1 -1
  194. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  195. package/dist/ThresholdColorLegendWithMouseOver.js +1 -1
  196. package/dist/{Tooltip-Bj-s__cI.js → Tooltip-3EYDVa3w.js} +2 -2
  197. package/dist/{Tooltip-Bj-s__cI.js.map → Tooltip-3EYDVa3w.js.map} +1 -1
  198. package/dist/{Tooltip-Hr46paWP.cjs → Tooltip-C9F3uYG0.cjs} +2 -2
  199. package/dist/{Tooltip-Hr46paWP.cjs.map → Tooltip-C9F3uYG0.cjs.map} +1 -1
  200. package/dist/TreeMapGraph.cjs +1 -1
  201. package/dist/TreeMapGraph.cjs.map +1 -1
  202. package/dist/TreeMapGraph.d.ts +11 -9
  203. package/dist/TreeMapGraph.js +369 -371
  204. package/dist/TreeMapGraph.js.map +1 -1
  205. package/dist/Types.d.ts +28 -16
  206. package/dist/UnitChart.cjs +1 -1
  207. package/dist/UnitChart.cjs.map +1 -1
  208. package/dist/UnitChart.d.ts +11 -5
  209. package/dist/UnitChart.js +118 -119
  210. package/dist/UnitChart.js.map +1 -1
  211. package/dist/WaterfallChart.cjs +1 -1
  212. package/dist/WaterfallChart.cjs.map +1 -1
  213. package/dist/WaterfallChart.d.ts +11 -9
  214. package/dist/WaterfallChart.js +306 -308
  215. package/dist/WaterfallChart.js.map +1 -1
  216. package/dist/XTicksAndGridLines-B4UhDVyU.cjs +2 -0
  217. package/dist/XTicksAndGridLines-B4UhDVyU.cjs.map +1 -0
  218. package/dist/XTicksAndGridLines-CkYwVshF.js +40 -0
  219. package/dist/XTicksAndGridLines-CkYwVshF.js.map +1 -0
  220. package/dist/YTicksAndGridLines-BbujwxOB.js +40 -0
  221. package/dist/YTicksAndGridLines-BbujwxOB.js.map +1 -0
  222. package/dist/YTicksAndGridLines-sT3zdCs6.cjs +2 -0
  223. package/dist/YTicksAndGridLines-sT3zdCs6.cjs.map +1 -0
  224. package/dist/index-BPyj_6hG.js +375 -0
  225. package/dist/index-BPyj_6hG.js.map +1 -0
  226. package/dist/index-DuLvdHo2.cjs +2 -0
  227. package/dist/index-DuLvdHo2.cjs.map +1 -0
  228. package/dist/index.cjs +1 -1
  229. package/dist/index.d.ts +105 -245
  230. package/dist/index.js +2 -2
  231. package/dist/numberFormattingFunction-BUUV_luR.js +28 -0
  232. package/dist/numberFormattingFunction-BUUV_luR.js.map +1 -0
  233. package/dist/numberFormattingFunction-u2iNHL_c.cjs +2 -0
  234. package/dist/numberFormattingFunction-u2iNHL_c.cjs.map +1 -0
  235. package/dist/{string2HTML-ZoGd08P_.cjs → string2HTML-30nfIm8R.cjs} +2 -2
  236. package/dist/{string2HTML-ZoGd08P_.cjs.map → string2HTML-30nfIm8R.cjs.map} +1 -1
  237. package/dist/{string2HTML-BrFperRM.js → string2HTML-DL-pInUB.js} +2 -2
  238. package/dist/{string2HTML-BrFperRM.js.map → string2HTML-DL-pInUB.js.map} +1 -1
  239. package/dist/utils.cjs +1 -1
  240. package/dist/utils.d.ts +1 -1
  241. package/dist/utils.js +1 -1
  242. package/package.json +2 -2
  243. package/dist/GraphEl-B73N4RIA.js +0 -1906
  244. package/dist/GraphEl-B73N4RIA.js.map +0 -1
  245. package/dist/GraphEl-Lt1og0C-.cjs +0 -2
  246. package/dist/GraphEl-Lt1og0C-.cjs.map +0 -1
  247. package/dist/XTicksAndGridLines-C5DuC5oY.cjs +0 -2
  248. package/dist/XTicksAndGridLines-C5DuC5oY.cjs.map +0 -1
  249. package/dist/XTicksAndGridLines-gdbGX2rm.js +0 -39
  250. package/dist/XTicksAndGridLines-gdbGX2rm.js.map +0 -1
  251. package/dist/YTicksAndGridLines-CsNSq9W9.js +0 -39
  252. package/dist/YTicksAndGridLines-CsNSq9W9.js.map +0 -1
  253. package/dist/YTicksAndGridLines-DFjm8RCc.cjs +0 -2
  254. package/dist/YTicksAndGridLines-DFjm8RCc.cjs.map +0 -1
  255. package/dist/index-B0Awa_de.js +0 -377
  256. package/dist/index-B0Awa_de.js.map +0 -1
  257. package/dist/index-CP8cmNzt.cjs +0 -2
  258. package/dist/index-CP8cmNzt.cjs.map +0 -1
  259. package/dist/numberFormattingFunction-Cn9R7CM9.cjs +0 -2
  260. package/dist/numberFormattingFunction-Cn9R7CM9.cjs.map +0 -1
  261. package/dist/numberFormattingFunction-DqMf_v1m.js +0 -28
  262. package/dist/numberFormattingFunction-DqMf_v1m.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"UnitChart.cjs","sources":["../src/Components/Graphs/UnitChart/index.tsx"],"sourcesContent":["import { useRef } from 'react';\r\nimport sum from 'lodash.sum';\r\nimport { H2, P } from '@undp/design-system-react/Typography';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport {\r\n UnitChartDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: UnitChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Note with h2 tag just above the graph. Can be used to highlight text */\r\n note?: string;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Colors of the highlighted circles */\r\n colors?: string[];\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n\r\n // Graph Parameters\r\n /** Size of the visualization */\r\n size?: number;\r\n /** No. of dots in a single row */\r\n gridSize?: number;\r\n /** Spacing between 2 dots */\r\n unitPadding?: number;\r\n /** Total no. of dot that are rendered in the chart */\r\n totalNoOfDots?: number;\r\n /** Toggle visibility of stroke for the unfilled dots */\r\n showStrokeForWhiteDots?: boolean;\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Toggle visibility of color scale */\r\n showColorScale?: boolean;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */\r\n locale?: string;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function UnitChart(props: Props) {\r\n const {\r\n data,\r\n size = 200,\r\n graphTitle,\r\n sources,\r\n colors = Colors.light.categoricalColors.colors,\r\n graphDescription,\r\n totalNoOfDots = 100,\r\n unitPadding = 3,\r\n gridSize = 10,\r\n footNote,\r\n padding,\r\n backgroundColor = false,\r\n graphID,\r\n graphDownload = false,\r\n language = 'en',\r\n showColorScale = true,\r\n showStrokeForWhiteDots = true,\r\n note,\r\n dataDownload = false,\r\n theme = 'light',\r\n width,\r\n height,\r\n minHeight = 0,\r\n relativeHeight,\r\n ariaLabel,\r\n styles,\r\n classNames,\r\n animate = false,\r\n precision = 2,\r\n locale,\r\n naLabel = 'NA',\r\n } = props;\r\n const svgRef = useRef(null);\r\n const animateValue =\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 };\r\n const isInView = useInView(svgRef, {\r\n once: animateValue.once,\r\n amount: animateValue.amount,\r\n });\r\n const totalValue = sum(data.map(d => d.value));\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const gridDimension = size / gridSize;\r\n const radius = (gridDimension - unitPadding * 2) / 2;\r\n if (radius <= 0) {\r\n console.error(\r\n 'The size of single unit is less than or equal to zero. Check values for ((dimension / gridSize) - (padding * 2)) / 2 is not less than or equal to 0.',\r\n );\r\n return null;\r\n }\r\n\r\n const cellsData: { color: string }[] = [];\r\n data.forEach((item, index) => {\r\n const count = Math.round((item.value / totalValue) * totalNoOfDots);\r\n for (let i = 0; i < count; i += 1) {\r\n cellsData.push({ color: colors[index] });\r\n }\r\n });\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {note ? (\r\n <H2\r\n marginBottom='2xs'\r\n className='text-primary-gray-700 dark:text-primary-gray-100 font-bold'\r\n style={{ width: width ? `${width}px` : '100%' }}\r\n >\r\n {note}\r\n </H2>\r\n ) : null}\r\n {showColorScale ? (\r\n <div\r\n className='mb-4 leading-0'\r\n style={{ width: width ? `${width}px` : '100%' }}\r\n aria-label='Color legend'\r\n >\r\n <div className='flex mb-0 flex-wrap gap-x-4 gap-y-1'>\r\n {data.map((d, i) => (\r\n <div className='flex gap-2 items-center' key={i}>\r\n <div className='w-3 h-3 rounded-full' style={{ backgroundColor: colors[i] }} />\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n {d.label}:{' '}\r\n <span className='font-bold'>\r\n {numberFormattingFunction(\r\n d.value,\r\n naLabel,\r\n precision,\r\n undefined,\r\n undefined,\r\n locale || language,\r\n )}\r\n </span>\r\n </P>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n <svg\r\n width={`${width || size}px`}\r\n height={`${Math.max(\r\n minHeight,\r\n height\r\n ? relativeHeight && width\r\n ? minHeight\r\n ? width * relativeHeight > minHeight\r\n ? width * relativeHeight\r\n : minHeight\r\n : width * relativeHeight\r\n : height\r\n : Math.floor((totalNoOfDots - 1) / gridSize) * gridDimension +\r\n gridDimension / 2 +\r\n radius +\r\n 5,\r\n )}px`}\r\n ref={svgRef}\r\n direction='ltr'\r\n viewBox={`0 0 ${width || size} ${Math.max(\r\n minHeight,\r\n height\r\n ? relativeHeight && width\r\n ? minHeight\r\n ? width * relativeHeight > minHeight\r\n ? width * relativeHeight\r\n : minHeight\r\n : width * relativeHeight\r\n : height\r\n : Math.floor((totalNoOfDots - 1) / gridSize) * gridDimension +\r\n gridDimension / 2 +\r\n radius +\r\n 5,\r\n )}`}\r\n >\r\n <AnimatePresence>\r\n <g>\r\n {cellsData.map((d, i) => (\r\n <motion.circle\r\n key={i}\r\n style={{\r\n strokeWidth: 1,\r\n }}\r\n variants={{\r\n initial: {\r\n fill: '#fff',\r\n opacity: 0,\r\n ...(!showStrokeForWhiteDots ? { stroke: d.color } : {}),\r\n strokeWidth: 1,\r\n },\r\n whileInView: {\r\n fill: d.color,\r\n opacity: 1,\r\n ...(!showStrokeForWhiteDots ? { stroke: d.color } : {}),\r\n strokeWidth: 1,\r\n cx: (i % gridSize) * gridDimension + gridDimension / 2,\r\n cy: Math.floor(i / gridSize) * gridDimension + gridDimension / 2,\r\n transition: {\r\n duration: 0,\r\n delay: (animateValue.duration / cellsData.length) * i,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n className={\r\n (d.color.toLowerCase() === '#fff' ||\r\n d.color.toLowerCase() === '#ffffff' ||\r\n d.color.toLowerCase() === 'white') &&\r\n showStrokeForWhiteDots\r\n ? 'stroke-primary-gray-400 dark:stroke-primary-gray-500'\r\n : ''\r\n }\r\n r={radius}\r\n />\r\n ))}\r\n </g>\r\n </AnimatePresence>\r\n </svg>\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{\r\n footnote: styles?.footnote,\r\n source: styles?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["UnitChart","props","$","_c","data","size","t0","graphTitle","sources","colors","t1","graphDescription","totalNoOfDots","t2","unitPadding","t3","gridSize","t4","footNote","padding","backgroundColor","t5","graphID","graphDownload","t6","language","t7","showColorScale","t8","showStrokeForWhiteDots","t9","note","dataDownload","t10","theme","t11","width","height","minHeight","t12","relativeHeight","ariaLabel","styles","classNames","animate","t13","precision","t14","locale","naLabel","t15","undefined","Colors","light","categoricalColors","svgRef","useRef","t16","duration","once","amount","animateValue","t17","isInView","useInView","t18","sum","map","_temp","totalValue","graphParentDiv","graphDiv","gridDimension","radius","console","error","T0","T1","T2","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","t33","t34","t35","t36","t37","t38","t39","t40","t41","description","graphContainer","title","cellsData","forEach","item","index","count","Math","round","value","i","push","color","GraphContainer","jsx","GraphHeader","_temp2","filter","_temp3","length","_temp4","_temp5","_temp6","H2","d_5","i_0","jsxs","P","d","label","numberFormattingFunction","GraphArea","max","floor","AnimatePresence","d_6","i_1","strokeWidth","initial","fill","opacity","stroke","whileInView","cx","cy","transition","delay","toLowerCase","t42","t43","t44","t45","footnote","source","GraphFooter","t46","d_2","d_1","d_0","d_4","d_3"],"mappings":"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"}
1
+ {"version":3,"file":"UnitChart.cjs","sources":["../src/Components/Graphs/UnitChart/index.tsx"],"sourcesContent":["import { useRef } from 'react';\r\nimport sum from 'lodash.sum';\r\nimport { H2, P } from '@undp/design-system-react/Typography';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport {\r\n UnitChartDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: UnitChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Note with h2 tag just above the graph. Can be used to highlight text */\r\n note?: string;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Colors of the highlighted circles */\r\n colors?: string[];\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n\r\n // Graph Parameters\r\n /** Size of the visualization */\r\n size?: number;\r\n /** No. of dots in a single row */\r\n gridSize?: number;\r\n /** Spacing between 2 dots */\r\n unitPadding?: number;\r\n /** Total no. of dot that are rendered in the chart */\r\n totalNoOfDots?: number;\r\n /** Toggle visibility of stroke for the unfilled dots */\r\n showStrokeForWhiteDots?: boolean;\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Toggle visibility of color scale */\r\n showColorScale?: boolean;\r\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function UnitChart(props: Props) {\r\n const {\r\n data,\r\n size = 200,\r\n graphTitle,\r\n sources,\r\n colors = Colors.light.categoricalColors.colors,\r\n graphDescription,\r\n totalNoOfDots = 100,\r\n unitPadding = 3,\r\n gridSize = 10,\r\n footNote,\r\n padding,\r\n backgroundColor = false,\r\n graphID,\r\n graphDownload = false,\r\n language = 'en',\r\n showColorScale = true,\r\n showStrokeForWhiteDots = true,\r\n note,\r\n dataDownload = false,\r\n theme = 'light',\r\n width,\r\n height,\r\n minHeight = 0,\r\n relativeHeight,\r\n ariaLabel,\r\n styles,\r\n classNames,\r\n animate = false,\r\n naLabel = 'NA',\r\n numberDisplayOptions,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const animateValue =\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 };\r\n const isInView = useInView(svgRef, {\r\n once: animateValue.once,\r\n amount: animateValue.amount,\r\n });\r\n const totalValue = sum(data.map(d => d.value));\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const gridDimension = size / gridSize;\r\n const radius = (gridDimension - unitPadding * 2) / 2;\r\n if (radius <= 0) {\r\n console.error(\r\n 'The size of single unit is less than or equal to zero. Check values for ((dimension / gridSize) - (padding * 2)) / 2 is not less than or equal to 0.',\r\n );\r\n return null;\r\n }\r\n\r\n const cellsData: { color: string }[] = [];\r\n data.forEach((item, index) => {\r\n const count = Math.round((item.value / totalValue) * totalNoOfDots);\r\n for (let i = 0; i < count; i += 1) {\r\n cellsData.push({ color: colors[index] });\r\n }\r\n });\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {note ? (\r\n <H2\r\n marginBottom='2xs'\r\n className='text-primary-gray-700 dark:text-primary-gray-100 font-bold'\r\n style={{ width: width ? `${width}px` : '100%' }}\r\n >\r\n {note}\r\n </H2>\r\n ) : null}\r\n {showColorScale ? (\r\n <div\r\n className='mb-4 leading-0'\r\n style={{ width: width ? `${width}px` : '100%' }}\r\n aria-label='Color legend'\r\n >\r\n <div className='flex mb-0 flex-wrap gap-x-4 gap-y-1'>\r\n {data.map((d, i) => (\r\n <div className='flex gap-2 items-center' key={i}>\r\n <div className='w-3 h-3 rounded-full' style={{ backgroundColor: colors[i] }} />\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n {d.label}:{' '}\r\n <span className='font-bold'>\r\n {numberFormattingFunction(\r\n d.value,\r\n naLabel,\r\n numberDisplayOptions?.precision ?? 2,\r\n numberDisplayOptions?.prefix,\r\n numberDisplayOptions?.suffix,\r\n numberDisplayOptions?.locale || 'en',\r\n numberDisplayOptions?.padZeros || false,\r\n )}\r\n </span>\r\n </P>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n <svg\r\n width={`${width || size}px`}\r\n height={`${Math.max(\r\n minHeight,\r\n height\r\n ? relativeHeight && width\r\n ? minHeight\r\n ? width * relativeHeight > minHeight\r\n ? width * relativeHeight\r\n : minHeight\r\n : width * relativeHeight\r\n : height\r\n : Math.floor((totalNoOfDots - 1) / gridSize) * gridDimension +\r\n gridDimension / 2 +\r\n radius +\r\n 5,\r\n )}px`}\r\n ref={svgRef}\r\n direction='ltr'\r\n viewBox={`0 0 ${width || size} ${Math.max(\r\n minHeight,\r\n height\r\n ? relativeHeight && width\r\n ? minHeight\r\n ? width * relativeHeight > minHeight\r\n ? width * relativeHeight\r\n : minHeight\r\n : width * relativeHeight\r\n : height\r\n : Math.floor((totalNoOfDots - 1) / gridSize) * gridDimension +\r\n gridDimension / 2 +\r\n radius +\r\n 5,\r\n )}`}\r\n >\r\n <AnimatePresence>\r\n <g>\r\n {cellsData.map((d, i) => (\r\n <motion.circle\r\n key={i}\r\n style={{\r\n strokeWidth: 1,\r\n }}\r\n variants={{\r\n initial: {\r\n fill: '#fff',\r\n opacity: 0,\r\n ...(!showStrokeForWhiteDots ? { stroke: d.color } : {}),\r\n strokeWidth: 1,\r\n },\r\n whileInView: {\r\n fill: d.color,\r\n opacity: 1,\r\n ...(!showStrokeForWhiteDots ? { stroke: d.color } : {}),\r\n strokeWidth: 1,\r\n cx: (i % gridSize) * gridDimension + gridDimension / 2,\r\n cy: Math.floor(i / gridSize) * gridDimension + gridDimension / 2,\r\n transition: {\r\n duration: 0,\r\n delay: (animateValue.duration / cellsData.length) * i,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n className={\r\n (d.color.toLowerCase() === '#fff' ||\r\n d.color.toLowerCase() === '#ffffff' ||\r\n d.color.toLowerCase() === 'white') &&\r\n showStrokeForWhiteDots\r\n ? 'stroke-primary-gray-400 dark:stroke-primary-gray-500'\r\n : ''\r\n }\r\n r={radius}\r\n />\r\n ))}\r\n </g>\r\n </AnimatePresence>\r\n </svg>\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{\r\n footnote: styles?.footnote,\r\n source: styles?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["UnitChart","props","$","_c","data","size","t0","graphTitle","sources","colors","t1","graphDescription","totalNoOfDots","t2","unitPadding","t3","gridSize","t4","footNote","padding","backgroundColor","t5","graphID","graphDownload","t6","language","t7","showColorScale","t8","showStrokeForWhiteDots","t9","note","dataDownload","t10","theme","t11","width","height","minHeight","t12","relativeHeight","ariaLabel","styles","classNames","animate","t13","naLabel","t14","numberDisplayOptions","undefined","Colors","light","categoricalColors","svgRef","useRef","t15","duration","once","amount","animateValue","t16","isInView","useInView","t17","sum","map","_temp","totalValue","graphParentDiv","graphDiv","gridDimension","radius","console","error","T0","T1","T2","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","t33","t34","t35","t36","t37","t38","t39","t40","description","graphContainer","title","locale","padZeros","precision","prefix","suffix","cellsData","forEach","item","index","count","Math","round","value","i","push","color","GraphContainer","jsx","GraphHeader","_temp2","filter","_temp3","length","_temp4","_temp5","_temp6","H2","d_5","i_0","jsxs","P","d","label","numberFormattingFunction","GraphArea","max","floor","AnimatePresence","d_6","i_1","strokeWidth","initial","fill","opacity","stroke","whileInView","cx","cy","transition","delay","toLowerCase","t41","t42","t43","t44","footnote","source","GraphFooter","t45","d_2","d_1","d_0","d_4","d_3"],"mappings":"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"}
@@ -39,7 +39,15 @@ declare interface ClassNameObject {
39
39
  modal?: string;
40
40
  }
41
41
 
42
- declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | 'jp' | 'ka' | 'km' | 'ko' | 'my' | 'ne' | 'zh' | 'custom';
42
+ declare type Languages = 'en' | 'ar' | 'az' | 'bn' | 'cy' | 'he' | 'hi' | 'ja' | 'ka' | 'km' | 'ko' | 'my' | 'ne' | 'zh' | 'custom';
43
+
44
+ declare interface NumberFormatOptions {
45
+ locale?: string;
46
+ precision?: number;
47
+ prefix?: string;
48
+ suffix?: string;
49
+ padZeros?: boolean;
50
+ }
43
51
 
44
52
  declare interface Props {
45
53
  /** Array of data objects */
@@ -88,16 +96,14 @@ declare interface Props {
88
96
  animate?: boolean | AnimateDataType;
89
97
  /** Toggle visibility of color scale */
90
98
  showColorScale?: boolean;
91
- /** Specifies the number of decimal places to display in the value. */
92
- precision?: number;
99
+ /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */
100
+ numberDisplayOptions?: NumberFormatOptions;
93
101
  /** Defines how “NA” values should be displayed/labelled in the graph */
94
102
  naLabel?: string;
95
103
  /** Enable graph download option as png */
96
104
  graphDownload?: boolean;
97
105
  /** Enable data download option as a csv */
98
106
  dataDownload?: boolean;
99
- /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */
100
- locale?: string;
101
107
  /** Language setting */
102
108
  language?: Languages;
103
109
  /** Color theme */
package/dist/UnitChart.js CHANGED
@@ -1,167 +1,166 @@
1
- import { c as qt, j as i } from "./index-CHPV5EwG-BzibaIRc.js";
2
- import { useRef as jt } from "react";
3
- import { s as Ot } from "./index-CeVNqhMO.js";
4
- import { _ as Ut, E as Jt } from "./Typography-BO0gQDIT.js";
5
- import { GraphFooter as Kt } from "./GraphFooter.js";
6
- import { GraphHeader as Qt } from "./GraphHeader.js";
7
- import { Colors as Xt } from "./Colors.js";
8
- import { n as Yt } from "./numberFormattingFunction-DqMf_v1m.js";
9
- import { G as Zt, a as _t } from "./GraphContainer-B8ZqOzKI.js";
10
- import { m as te } from "./proxy-BsxtcZKa.js";
11
- import { u as ee } from "./use-in-view-KOXq5Kmc.js";
12
- import { A as oe } from "./index-Cv_5q6Rb.js";
13
- function Ce(a) {
14
- const t = qt.c(132), {
15
- data: r,
16
- size: kt,
17
- graphTitle: x,
18
- sources: lt,
19
- colors: Dt,
20
- graphDescription: w,
21
- totalNoOfDots: bt,
22
- unitPadding: Nt,
23
- gridSize: zt,
24
- footNote: nt,
25
- padding: ht,
26
- backgroundColor: St,
27
- graphID: ut,
28
- graphDownload: $t,
29
- language: Ht,
30
- showColorScale: Lt,
31
- showStrokeForWhiteDots: Mt,
32
- note: y,
33
- dataDownload: Vt,
34
- theme: Ft,
1
+ import { c as Pt, j as r } from "./index-CHPV5EwG-BzibaIRc.js";
2
+ import { useRef as Ct } from "react";
3
+ import { s as Rt } from "./index-CeVNqhMO.js";
4
+ import { _ as Bt, E as Ot } from "./Typography-BO0gQDIT.js";
5
+ import { GraphFooter as qt } from "./GraphFooter.js";
6
+ import { GraphHeader as Ut } from "./GraphHeader.js";
7
+ import { Colors as Jt } from "./Colors.js";
8
+ import { n as Kt } from "./numberFormattingFunction-BUUV_luR.js";
9
+ import { G as Qt, a as Xt } from "./GraphContainer-B8ZqOzKI.js";
10
+ import { m as Yt } from "./proxy-BsxtcZKa.js";
11
+ import { u as _t } from "./use-in-view-KOXq5Kmc.js";
12
+ import { A as te } from "./index-Cv_5q6Rb.js";
13
+ function we(l) {
14
+ const t = Pt.c(137), {
15
+ data: a,
16
+ size: jt,
17
+ graphTitle: w,
18
+ sources: rt,
19
+ colors: kt,
20
+ graphDescription: y,
21
+ totalNoOfDots: Dt,
22
+ unitPadding: bt,
23
+ gridSize: Nt,
24
+ footNote: at,
25
+ padding: ft,
26
+ backgroundColor: zt,
27
+ graphID: mt,
28
+ graphDownload: St,
29
+ language: $t,
30
+ showColorScale: Ht,
31
+ showStrokeForWhiteDots: Lt,
32
+ note: C,
33
+ dataDownload: Mt,
34
+ theme: Vt,
35
35
  width: e,
36
- height: g,
37
- minHeight: Gt,
38
- relativeHeight: n,
39
- ariaLabel: gt,
40
- styles: o,
41
- classNames: l,
42
- animate: It,
43
- precision: Tt,
44
- locale: Z,
45
- naLabel: Wt
46
- } = a, _ = kt === void 0 ? 200 : kt, C = Dt === void 0 ? Xt.light.categoricalColors.colors : Dt, tt = bt === void 0 ? 100 : bt, Pt = Nt === void 0 ? 3 : Nt, v = zt === void 0 ? 10 : zt, vt = St === void 0 ? !1 : St, j = $t === void 0 ? !1 : $t, k = Ht === void 0 ? "en" : Ht, et = Lt === void 0 ? !0 : Lt, ot = Mt === void 0 ? !0 : Mt, it = Vt === void 0 ? !1 : Vt, xt = Ft === void 0 ? "light" : Ft, s = Gt === void 0 ? 0 : Gt, st = It === void 0 ? !1 : It, rt = Tt === void 0 ? 2 : Tt, at = Wt === void 0 ? "NA" : Wt, At = jt(null);
47
- let ct;
48
- t[0] !== st ? (ct = st === !0 ? {
36
+ height: x,
37
+ minHeight: Ft,
38
+ relativeHeight: s,
39
+ ariaLabel: ut,
40
+ styles: i,
41
+ classNames: n,
42
+ animate: Gt,
43
+ naLabel: It,
44
+ numberDisplayOptions: o
45
+ } = l, Y = jt === void 0 ? 200 : jt, j = kt === void 0 ? Jt.light.categoricalColors.colors : kt, _ = Dt === void 0 ? 100 : Dt, Zt = bt === void 0 ? 3 : bt, v = Nt === void 0 ? 10 : Nt, ht = zt === void 0 ? !1 : zt, k = St === void 0 ? !1 : St, gt = $t === void 0 ? "en" : $t, tt = Ht === void 0 ? !0 : Ht, et = Lt === void 0 ? !0 : Lt, ot = Mt === void 0 ? !1 : Mt, xt = Vt === void 0 ? "light" : Vt, c = Ft === void 0 ? 0 : Ft, lt = Gt === void 0 ? !1 : Gt, it = It === void 0 ? "NA" : It, Tt = Ct(null);
46
+ let nt;
47
+ t[0] !== lt ? (nt = lt === !0 ? {
49
48
  duration: 0.5,
50
49
  once: !0,
51
50
  amount: 0.5
52
- } : st || {
51
+ } : lt || {
53
52
  duration: 0,
54
53
  once: !0,
55
54
  amount: 0
56
- }, t[0] = st, t[1] = ct) : ct = t[1];
57
- const m = ct;
58
- let dt;
59
- t[2] !== m.amount || t[3] !== m.once ? (dt = {
60
- once: m.once,
61
- amount: m.amount
62
- }, t[2] = m.amount, t[3] = m.once, t[4] = dt) : dt = t[4];
63
- const wt = ee(At, dt);
64
- let mt;
65
- t[5] !== r ? (mt = Ot(r.map(se)), t[5] = r, t[6] = mt) : mt = t[6];
66
- const yt = mt, Et = jt(null), Rt = jt(null), c = _ / v, D = (c - Pt * 2) / 2;
55
+ }, t[0] = lt, t[1] = nt) : nt = t[1];
56
+ const f = nt;
57
+ let st;
58
+ t[2] !== f.amount || t[3] !== f.once ? (st = {
59
+ once: f.once,
60
+ amount: f.amount
61
+ }, t[2] = f.amount, t[3] = f.once, t[4] = st) : st = t[4];
62
+ const vt = _t(Tt, st);
63
+ let ct;
64
+ t[5] !== a ? (ct = Rt(a.map(le)), t[5] = a, t[6] = ct) : ct = t[6];
65
+ const wt = ct, Wt = Ct(null), At = Ct(null), d = Y / v, D = (d - Zt * 2) / 2;
67
66
  if (D <= 0)
68
67
  return console.error("The size of single unit is less than or equal to zero. Check values for ((dimension / gridSize) - (padding * 2)) / 2 is not less than or equal to 0."), null;
69
- let b, N, z, S, $, H, L, M, V, F, G, I, T, W, A, E, P, R, B, q, O, U, f, h, u, J;
70
- if (t[7] !== m.duration || t[8] !== gt || t[9] !== vt || t[10] !== l?.description || t[11] !== l?.graphContainer || t[12] !== l?.title || t[13] !== C || t[14] !== r || t[15] !== it || t[16] !== w || t[17] !== j || t[18] !== ut || t[19] !== x || t[20] !== c || t[21] !== v || t[22] !== g || t[23] !== wt || t[24] !== k || t[25] !== Z || t[26] !== s || t[27] !== at || t[28] !== y || t[29] !== ht || t[30] !== rt || t[31] !== D || t[32] !== n || t[33] !== et || t[34] !== ot || t[35] !== _ || t[36] !== o?.description || t[37] !== o?.graphContainer || t[38] !== o?.title || t[39] !== xt || t[40] !== tt || t[41] !== yt || t[42] !== e) {
71
- const Ct = [];
72
- r.forEach((d, p) => {
73
- const Bt = Math.round(d.value / yt * tt);
74
- for (let ft = 0; ft < Bt; ft = ft + 1, ft)
75
- Ct.push({
76
- color: C[p]
68
+ let b, N, z, S, $, H, L, M, V, F, G, I, T, W, Z, A, E, P, R, B, O, q, u, h, g, U;
69
+ if (t[7] !== f.duration || t[8] !== ut || t[9] !== ht || t[10] !== n?.description || t[11] !== n?.graphContainer || t[12] !== n?.title || t[13] !== j || t[14] !== a || t[15] !== ot || t[16] !== y || t[17] !== k || t[18] !== mt || t[19] !== w || t[20] !== d || t[21] !== v || t[22] !== x || t[23] !== vt || t[24] !== gt || t[25] !== c || t[26] !== it || t[27] !== C || t[28] !== o?.locale || t[29] !== o?.padZeros || t[30] !== o?.precision || t[31] !== o?.prefix || t[32] !== o?.suffix || t[33] !== ft || t[34] !== D || t[35] !== s || t[36] !== tt || t[37] !== et || t[38] !== Y || t[39] !== i?.description || t[40] !== i?.graphContainer || t[41] !== i?.title || t[42] !== xt || t[43] !== _ || t[44] !== wt || t[45] !== e) {
70
+ const yt = [];
71
+ a.forEach((p, m) => {
72
+ const Et = Math.round(p.value / wt * _);
73
+ for (let pt = 0; pt < Et; pt = pt + 1, pt)
74
+ yt.push({
75
+ color: j[m]
77
76
  });
78
- }), z = Zt, F = l?.graphContainer, G = o?.graphContainer, I = ut, T = Et, W = gt, A = vt, E = xt, P = k, R = s, B = e, q = g, O = n, U = ht, t[69] !== l?.description || t[70] !== l?.title || t[71] !== r || t[72] !== it || t[73] !== w || t[74] !== j || t[75] !== x || t[76] !== o?.description || t[77] !== o?.title || t[78] !== e ? (f = x || w || j ? /* @__PURE__ */ i.jsx(Qt, { styles: {
79
- title: o?.title,
80
- description: o?.description
77
+ }), z = Qt, F = n?.graphContainer, G = i?.graphContainer, I = mt, T = Wt, W = ut, Z = ht, A = xt, E = gt, P = c, R = e, B = x, O = s, q = ft, t[72] !== n?.description || t[73] !== n?.title || t[74] !== a || t[75] !== ot || t[76] !== y || t[77] !== k || t[78] !== w || t[79] !== i?.description || t[80] !== i?.title || t[81] !== e ? (u = w || y || k ? /* @__PURE__ */ r.jsx(Ut, { styles: {
78
+ title: i?.title,
79
+ description: i?.description
81
80
  }, classNames: {
82
- title: l?.title,
83
- description: l?.description
84
- }, graphTitle: x, graphDescription: w, width: e, graphDownload: j ? Et : void 0, dataDownload: it ? r.map(ne).filter(le).length > 0 ? r.map(ae).filter(re) : r.filter(ie) : null }) : null, t[69] = l?.description, t[70] = l?.title, t[71] = r, t[72] = it, t[73] = w, t[74] = j, t[75] = x, t[76] = o?.description, t[77] = o?.title, t[78] = e, t[79] = f) : f = t[79], t[80] !== y || t[81] !== e ? (h = y ? /* @__PURE__ */ i.jsx(Jt, { marginBottom: "2xs", className: "text-primary-gray-700 dark:text-primary-gray-100 font-bold", style: {
81
+ title: n?.title,
82
+ description: n?.description
83
+ }, graphTitle: w, graphDescription: y, width: e, graphDownload: k ? Wt : void 0, dataDownload: ot ? a.map(ae).filter(re).length > 0 ? a.map(ie).filter(oe) : a.filter(ee) : null }) : null, t[72] = n?.description, t[73] = n?.title, t[74] = a, t[75] = ot, t[76] = y, t[77] = k, t[78] = w, t[79] = i?.description, t[80] = i?.title, t[81] = e, t[82] = u) : u = t[82], t[83] !== C || t[84] !== e ? (h = C ? /* @__PURE__ */ r.jsx(Ot, { marginBottom: "2xs", className: "text-primary-gray-700 dark:text-primary-gray-100 font-bold", style: {
85
84
  width: e ? `${e}px` : "100%"
86
- }, children: y }) : null, t[80] = y, t[81] = e, t[82] = h) : h = t[82], t[83] !== C || t[84] !== r || t[85] !== k || t[86] !== Z || t[87] !== at || t[88] !== rt || t[89] !== et || t[90] !== e ? (u = et ? /* @__PURE__ */ i.jsx("div", { className: "mb-4 leading-0", style: {
85
+ }, children: C }) : null, t[83] = C, t[84] = e, t[85] = h) : h = t[85], t[86] !== j || t[87] !== a || t[88] !== it || t[89] !== o?.locale || t[90] !== o?.padZeros || t[91] !== o?.precision || t[92] !== o?.prefix || t[93] !== o?.suffix || t[94] !== tt || t[95] !== e ? (g = tt ? /* @__PURE__ */ r.jsx("div", { className: "mb-4 leading-0", style: {
87
86
  width: e ? `${e}px` : "100%"
88
- }, "aria-label": "Color legend", children: /* @__PURE__ */ i.jsx("div", { className: "flex mb-0 flex-wrap gap-x-4 gap-y-1", children: r.map((d, p) => /* @__PURE__ */ i.jsxs("div", { className: "flex gap-2 items-center", children: [
89
- /* @__PURE__ */ i.jsx("div", { className: "w-3 h-3 rounded-full", style: {
90
- backgroundColor: C[p]
87
+ }, "aria-label": "Color legend", children: /* @__PURE__ */ r.jsx("div", { className: "flex mb-0 flex-wrap gap-x-4 gap-y-1", children: a.map((p, m) => /* @__PURE__ */ r.jsxs("div", { className: "flex gap-2 items-center", children: [
88
+ /* @__PURE__ */ r.jsx("div", { className: "w-3 h-3 rounded-full", style: {
89
+ backgroundColor: j[m]
91
90
  } }),
92
- /* @__PURE__ */ i.jsxs(Ut, { marginBottom: "none", size: "sm", className: "text-primary-gray-700 dark:text-primary-gray-100", children: [
93
- d.label,
91
+ /* @__PURE__ */ r.jsxs(Bt, { marginBottom: "none", size: "sm", className: "text-primary-gray-700 dark:text-primary-gray-100", children: [
92
+ p.label,
94
93
  ":",
95
94
  " ",
96
- /* @__PURE__ */ i.jsx("span", { className: "font-bold", children: Yt(d.value, at, rt, void 0, void 0, Z || k) })
95
+ /* @__PURE__ */ r.jsx("span", { className: "font-bold", children: Kt(p.value, it, o?.precision ?? 2, o?.prefix, o?.suffix, o?.locale || "en", o?.padZeros || !1) })
97
96
  ] })
98
- ] }, p)) }) }) : null, t[83] = C, t[84] = r, t[85] = k, t[86] = Z, t[87] = at, t[88] = rt, t[89] = et, t[90] = e, t[91] = u) : u = t[91], N = _t, V = Rt, S = `${e || _}px`, $ = `${Math.max(s, g ? n && e ? s ? e * n > s ? e * n : s : e * n : g : Math.floor((tt - 1) / v) * c + c / 2 + D + 5)}px`, H = At, L = "ltr", M = `0 0 ${e || _} ${Math.max(s, g ? n && e ? s ? e * n > s ? e * n : s : e * n : g : Math.floor((tt - 1) / v) * c + c / 2 + D + 5)}`, b = oe, J = /* @__PURE__ */ i.jsx("g", { children: Ct.map((d, p) => /* @__PURE__ */ i.jsx(te.circle, { style: {
97
+ ] }, m)) }) }) : null, t[86] = j, t[87] = a, t[88] = it, t[89] = o?.locale, t[90] = o?.padZeros, t[91] = o?.precision, t[92] = o?.prefix, t[93] = o?.suffix, t[94] = tt, t[95] = e, t[96] = g) : g = t[96], N = Xt, V = At, S = `${e || Y}px`, $ = `${Math.max(c, x ? s && e ? c ? e * s > c ? e * s : c : e * s : x : Math.floor((_ - 1) / v) * d + d / 2 + D + 5)}px`, H = Tt, L = "ltr", M = `0 0 ${e || Y} ${Math.max(c, x ? s && e ? c ? e * s > c ? e * s : c : e * s : x : Math.floor((_ - 1) / v) * d + d / 2 + D + 5)}`, b = te, U = /* @__PURE__ */ r.jsx("g", { children: yt.map((p, m) => /* @__PURE__ */ r.jsx(Yt.circle, { style: {
99
98
  strokeWidth: 1
100
99
  }, variants: {
101
100
  initial: {
102
101
  fill: "#fff",
103
102
  opacity: 0,
104
- ...ot ? {} : {
105
- stroke: d.color
103
+ ...et ? {} : {
104
+ stroke: p.color
106
105
  },
107
106
  strokeWidth: 1
108
107
  },
109
108
  whileInView: {
110
- fill: d.color,
109
+ fill: p.color,
111
110
  opacity: 1,
112
- ...ot ? {} : {
113
- stroke: d.color
111
+ ...et ? {} : {
112
+ stroke: p.color
114
113
  },
115
114
  strokeWidth: 1,
116
- cx: p % v * c + c / 2,
117
- cy: Math.floor(p / v) * c + c / 2,
115
+ cx: m % v * d + d / 2,
116
+ cy: Math.floor(m / v) * d + d / 2,
118
117
  transition: {
119
118
  duration: 0,
120
- delay: m.duration / Ct.length * p
119
+ delay: f.duration / yt.length * m
121
120
  }
122
121
  }
123
- }, initial: "initial", animate: wt ? "whileInView" : "initial", className: (d.color.toLowerCase() === "#fff" || d.color.toLowerCase() === "#ffffff" || d.color.toLowerCase() === "white") && ot ? "stroke-primary-gray-400 dark:stroke-primary-gray-500" : "", r: D }, p)) }), t[7] = m.duration, t[8] = gt, t[9] = vt, t[10] = l?.description, t[11] = l?.graphContainer, t[12] = l?.title, t[13] = C, t[14] = r, t[15] = it, t[16] = w, t[17] = j, t[18] = ut, t[19] = x, t[20] = c, t[21] = v, t[22] = g, t[23] = wt, t[24] = k, t[25] = Z, t[26] = s, t[27] = at, t[28] = y, t[29] = ht, t[30] = rt, t[31] = D, t[32] = n, t[33] = et, t[34] = ot, t[35] = _, t[36] = o?.description, t[37] = o?.graphContainer, t[38] = o?.title, t[39] = xt, t[40] = tt, t[41] = yt, t[42] = e, t[43] = b, t[44] = N, t[45] = z, t[46] = S, t[47] = $, t[48] = H, t[49] = L, t[50] = M, t[51] = V, t[52] = F, t[53] = G, t[54] = I, t[55] = T, t[56] = W, t[57] = A, t[58] = E, t[59] = P, t[60] = R, t[61] = B, t[62] = q, t[63] = O, t[64] = U, t[65] = f, t[66] = h, t[67] = u, t[68] = J;
122
+ }, initial: "initial", animate: vt ? "whileInView" : "initial", className: (p.color.toLowerCase() === "#fff" || p.color.toLowerCase() === "#ffffff" || p.color.toLowerCase() === "white") && et ? "stroke-primary-gray-400 dark:stroke-primary-gray-500" : "", r: D }, m)) }), t[7] = f.duration, t[8] = ut, t[9] = ht, t[10] = n?.description, t[11] = n?.graphContainer, t[12] = n?.title, t[13] = j, t[14] = a, t[15] = ot, t[16] = y, t[17] = k, t[18] = mt, t[19] = w, t[20] = d, t[21] = v, t[22] = x, t[23] = vt, t[24] = gt, t[25] = c, t[26] = it, t[27] = C, t[28] = o?.locale, t[29] = o?.padZeros, t[30] = o?.precision, t[31] = o?.prefix, t[32] = o?.suffix, t[33] = ft, t[34] = D, t[35] = s, t[36] = tt, t[37] = et, t[38] = Y, t[39] = i?.description, t[40] = i?.graphContainer, t[41] = i?.title, t[42] = xt, t[43] = _, t[44] = wt, t[45] = e, t[46] = b, t[47] = N, t[48] = z, t[49] = S, t[50] = $, t[51] = H, t[52] = L, t[53] = M, t[54] = V, t[55] = F, t[56] = G, t[57] = I, t[58] = T, t[59] = W, t[60] = Z, t[61] = A, t[62] = E, t[63] = P, t[64] = R, t[65] = B, t[66] = O, t[67] = q, t[68] = u, t[69] = h, t[70] = g, t[71] = U;
124
123
  } else
125
- b = t[43], N = t[44], z = t[45], S = t[46], $ = t[47], H = t[48], L = t[49], M = t[50], V = t[51], F = t[52], G = t[53], I = t[54], T = t[55], W = t[56], A = t[57], E = t[58], P = t[59], R = t[60], B = t[61], q = t[62], O = t[63], U = t[64], f = t[65], h = t[66], u = t[67], J = t[68];
124
+ b = t[46], N = t[47], z = t[48], S = t[49], $ = t[50], H = t[51], L = t[52], M = t[53], V = t[54], F = t[55], G = t[56], I = t[57], T = t[58], W = t[59], Z = t[60], A = t[61], E = t[62], P = t[63], R = t[64], B = t[65], O = t[66], q = t[67], u = t[68], h = t[69], g = t[70], U = t[71];
125
+ let J;
126
+ t[97] !== b || t[98] !== U ? (J = /* @__PURE__ */ r.jsx(b, { children: U }), t[97] = b, t[98] = U, t[99] = J) : J = t[99];
126
127
  let K;
127
- t[92] !== b || t[93] !== J ? (K = /* @__PURE__ */ i.jsx(b, { children: J }), t[92] = b, t[93] = J, t[94] = K) : K = t[94];
128
+ t[100] !== S || t[101] !== $ || t[102] !== H || t[103] !== L || t[104] !== M || t[105] !== J ? (K = /* @__PURE__ */ r.jsx("svg", { width: S, height: $, ref: H, direction: L, viewBox: M, children: J }), t[100] = S, t[101] = $, t[102] = H, t[103] = L, t[104] = M, t[105] = J, t[106] = K) : K = t[106];
128
129
  let Q;
129
- t[95] !== S || t[96] !== $ || t[97] !== H || t[98] !== L || t[99] !== M || t[100] !== K ? (Q = /* @__PURE__ */ i.jsx("svg", { width: S, height: $, ref: H, direction: L, viewBox: M, children: K }), t[95] = S, t[96] = $, t[97] = H, t[98] = L, t[99] = M, t[100] = K, t[101] = Q) : Q = t[101];
130
+ t[107] !== N || t[108] !== V || t[109] !== K ? (Q = /* @__PURE__ */ r.jsx(N, { ref: V, children: K }), t[107] = N, t[108] = V, t[109] = K, t[110] = Q) : Q = t[110];
130
131
  let X;
131
- t[102] !== N || t[103] !== V || t[104] !== Q ? (X = /* @__PURE__ */ i.jsx(N, { ref: V, children: Q }), t[102] = N, t[103] = V, t[104] = Q, t[105] = X) : X = t[105];
132
- let Y;
133
- t[106] !== nt || t[107] !== lt || t[108] !== o?.footnote || t[109] !== o?.source || t[110] !== e ? (Y = lt || nt ? /* @__PURE__ */ i.jsx(Kt, { styles: {
134
- footnote: o?.footnote,
135
- source: o?.source
136
- }, sources: lt, footNote: nt, width: e }) : null, t[106] = nt, t[107] = lt, t[108] = o?.footnote, t[109] = o?.source, t[110] = e, t[111] = Y) : Y = t[111];
137
- let pt;
138
- return t[112] !== z || t[113] !== F || t[114] !== G || t[115] !== I || t[116] !== T || t[117] !== W || t[118] !== A || t[119] !== E || t[120] !== P || t[121] !== R || t[122] !== B || t[123] !== q || t[124] !== O || t[125] !== U || t[126] !== f || t[127] !== h || t[128] !== u || t[129] !== X || t[130] !== Y ? (pt = /* @__PURE__ */ i.jsxs(z, { className: F, style: G, id: I, ref: T, "aria-label": W, backgroundColor: A, theme: E, language: P, minHeight: R, width: B, height: q, relativeHeight: O, padding: U, children: [
139
- f,
140
- h,
132
+ t[111] !== at || t[112] !== rt || t[113] !== i?.footnote || t[114] !== i?.source || t[115] !== e ? (X = rt || at ? /* @__PURE__ */ r.jsx(qt, { styles: {
133
+ footnote: i?.footnote,
134
+ source: i?.source
135
+ }, sources: rt, footNote: at, width: e }) : null, t[111] = at, t[112] = rt, t[113] = i?.footnote, t[114] = i?.source, t[115] = e, t[116] = X) : X = t[116];
136
+ let dt;
137
+ return t[117] !== z || t[118] !== F || t[119] !== G || t[120] !== I || t[121] !== T || t[122] !== W || t[123] !== Z || t[124] !== A || t[125] !== E || t[126] !== P || t[127] !== R || t[128] !== B || t[129] !== O || t[130] !== q || t[131] !== u || t[132] !== h || t[133] !== g || t[134] !== Q || t[135] !== X ? (dt = /* @__PURE__ */ r.jsxs(z, { className: F, style: G, id: I, ref: T, "aria-label": W, backgroundColor: Z, theme: A, language: E, minHeight: P, width: R, height: B, relativeHeight: O, padding: q, children: [
141
138
  u,
142
- X,
143
- Y
144
- ] }), t[112] = z, t[113] = F, t[114] = G, t[115] = I, t[116] = T, t[117] = W, t[118] = A, t[119] = E, t[120] = P, t[121] = R, t[122] = B, t[123] = q, t[124] = O, t[125] = U, t[126] = f, t[127] = h, t[128] = u, t[129] = X, t[130] = Y, t[131] = pt) : pt = t[131], pt;
139
+ h,
140
+ g,
141
+ Q,
142
+ X
143
+ ] }), t[117] = z, t[118] = F, t[119] = G, t[120] = I, t[121] = T, t[122] = W, t[123] = Z, t[124] = A, t[125] = E, t[126] = P, t[127] = R, t[128] = B, t[129] = O, t[130] = q, t[131] = u, t[132] = h, t[133] = g, t[134] = Q, t[135] = X, t[136] = dt) : dt = t[136], dt;
145
144
  }
146
- function ie(a) {
147
- return a !== void 0;
145
+ function ee(l) {
146
+ return l !== void 0;
148
147
  }
149
- function re(a) {
150
- return a !== void 0;
148
+ function oe(l) {
149
+ return l !== void 0;
151
150
  }
152
- function ae(a) {
153
- return a.data;
151
+ function ie(l) {
152
+ return l.data;
154
153
  }
155
- function le(a) {
156
- return a !== void 0;
154
+ function re(l) {
155
+ return l !== void 0;
157
156
  }
158
- function ne(a) {
159
- return a.data;
157
+ function ae(l) {
158
+ return l.data;
160
159
  }
161
- function se(a) {
162
- return a.value;
160
+ function le(l) {
161
+ return l.value;
163
162
  }
164
163
  export {
165
- Ce as UnitChart
164
+ we as UnitChart
166
165
  };
167
166
  //# sourceMappingURL=UnitChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnitChart.js","sources":["../src/Components/Graphs/UnitChart/index.tsx"],"sourcesContent":["import { useRef } from 'react';\r\nimport sum from 'lodash.sum';\r\nimport { H2, P } from '@undp/design-system-react/Typography';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport {\r\n UnitChartDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: UnitChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Note with h2 tag just above the graph. Can be used to highlight text */\r\n note?: string;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Colors of the highlighted circles */\r\n colors?: string[];\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n\r\n // Graph Parameters\r\n /** Size of the visualization */\r\n size?: number;\r\n /** No. of dots in a single row */\r\n gridSize?: number;\r\n /** Spacing between 2 dots */\r\n unitPadding?: number;\r\n /** Total no. of dot that are rendered in the chart */\r\n totalNoOfDots?: number;\r\n /** Toggle visibility of stroke for the unfilled dots */\r\n showStrokeForWhiteDots?: boolean;\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Toggle visibility of color scale */\r\n showColorScale?: boolean;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */\r\n locale?: string;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function UnitChart(props: Props) {\r\n const {\r\n data,\r\n size = 200,\r\n graphTitle,\r\n sources,\r\n colors = Colors.light.categoricalColors.colors,\r\n graphDescription,\r\n totalNoOfDots = 100,\r\n unitPadding = 3,\r\n gridSize = 10,\r\n footNote,\r\n padding,\r\n backgroundColor = false,\r\n graphID,\r\n graphDownload = false,\r\n language = 'en',\r\n showColorScale = true,\r\n showStrokeForWhiteDots = true,\r\n note,\r\n dataDownload = false,\r\n theme = 'light',\r\n width,\r\n height,\r\n minHeight = 0,\r\n relativeHeight,\r\n ariaLabel,\r\n styles,\r\n classNames,\r\n animate = false,\r\n precision = 2,\r\n locale,\r\n naLabel = 'NA',\r\n } = props;\r\n const svgRef = useRef(null);\r\n const animateValue =\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 };\r\n const isInView = useInView(svgRef, {\r\n once: animateValue.once,\r\n amount: animateValue.amount,\r\n });\r\n const totalValue = sum(data.map(d => d.value));\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const gridDimension = size / gridSize;\r\n const radius = (gridDimension - unitPadding * 2) / 2;\r\n if (radius <= 0) {\r\n console.error(\r\n 'The size of single unit is less than or equal to zero. Check values for ((dimension / gridSize) - (padding * 2)) / 2 is not less than or equal to 0.',\r\n );\r\n return null;\r\n }\r\n\r\n const cellsData: { color: string }[] = [];\r\n data.forEach((item, index) => {\r\n const count = Math.round((item.value / totalValue) * totalNoOfDots);\r\n for (let i = 0; i < count; i += 1) {\r\n cellsData.push({ color: colors[index] });\r\n }\r\n });\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {note ? (\r\n <H2\r\n marginBottom='2xs'\r\n className='text-primary-gray-700 dark:text-primary-gray-100 font-bold'\r\n style={{ width: width ? `${width}px` : '100%' }}\r\n >\r\n {note}\r\n </H2>\r\n ) : null}\r\n {showColorScale ? (\r\n <div\r\n className='mb-4 leading-0'\r\n style={{ width: width ? `${width}px` : '100%' }}\r\n aria-label='Color legend'\r\n >\r\n <div className='flex mb-0 flex-wrap gap-x-4 gap-y-1'>\r\n {data.map((d, i) => (\r\n <div className='flex gap-2 items-center' key={i}>\r\n <div className='w-3 h-3 rounded-full' style={{ backgroundColor: colors[i] }} />\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n {d.label}:{' '}\r\n <span className='font-bold'>\r\n {numberFormattingFunction(\r\n d.value,\r\n naLabel,\r\n precision,\r\n undefined,\r\n undefined,\r\n locale || language,\r\n )}\r\n </span>\r\n </P>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n <svg\r\n width={`${width || size}px`}\r\n height={`${Math.max(\r\n minHeight,\r\n height\r\n ? relativeHeight && width\r\n ? minHeight\r\n ? width * relativeHeight > minHeight\r\n ? width * relativeHeight\r\n : minHeight\r\n : width * relativeHeight\r\n : height\r\n : Math.floor((totalNoOfDots - 1) / gridSize) * gridDimension +\r\n gridDimension / 2 +\r\n radius +\r\n 5,\r\n )}px`}\r\n ref={svgRef}\r\n direction='ltr'\r\n viewBox={`0 0 ${width || size} ${Math.max(\r\n minHeight,\r\n height\r\n ? relativeHeight && width\r\n ? minHeight\r\n ? width * relativeHeight > minHeight\r\n ? width * relativeHeight\r\n : minHeight\r\n : width * relativeHeight\r\n : height\r\n : Math.floor((totalNoOfDots - 1) / gridSize) * gridDimension +\r\n gridDimension / 2 +\r\n radius +\r\n 5,\r\n )}`}\r\n >\r\n <AnimatePresence>\r\n <g>\r\n {cellsData.map((d, i) => (\r\n <motion.circle\r\n key={i}\r\n style={{\r\n strokeWidth: 1,\r\n }}\r\n variants={{\r\n initial: {\r\n fill: '#fff',\r\n opacity: 0,\r\n ...(!showStrokeForWhiteDots ? { stroke: d.color } : {}),\r\n strokeWidth: 1,\r\n },\r\n whileInView: {\r\n fill: d.color,\r\n opacity: 1,\r\n ...(!showStrokeForWhiteDots ? { stroke: d.color } : {}),\r\n strokeWidth: 1,\r\n cx: (i % gridSize) * gridDimension + gridDimension / 2,\r\n cy: Math.floor(i / gridSize) * gridDimension + gridDimension / 2,\r\n transition: {\r\n duration: 0,\r\n delay: (animateValue.duration / cellsData.length) * i,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n className={\r\n (d.color.toLowerCase() === '#fff' ||\r\n d.color.toLowerCase() === '#ffffff' ||\r\n d.color.toLowerCase() === 'white') &&\r\n showStrokeForWhiteDots\r\n ? 'stroke-primary-gray-400 dark:stroke-primary-gray-500'\r\n : ''\r\n }\r\n r={radius}\r\n />\r\n ))}\r\n </g>\r\n </AnimatePresence>\r\n </svg>\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{\r\n footnote: styles?.footnote,\r\n source: styles?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["UnitChart","props","$","_c","data","size","t0","graphTitle","sources","colors","t1","graphDescription","totalNoOfDots","t2","unitPadding","t3","gridSize","t4","footNote","padding","backgroundColor","t5","graphID","graphDownload","t6","language","t7","showColorScale","t8","showStrokeForWhiteDots","t9","note","dataDownload","t10","theme","t11","width","height","minHeight","t12","relativeHeight","ariaLabel","styles","classNames","animate","t13","precision","t14","locale","naLabel","t15","undefined","Colors","light","categoricalColors","svgRef","useRef","t16","duration","once","amount","animateValue","t17","isInView","useInView","t18","sum","map","_temp","totalValue","graphParentDiv","graphDiv","gridDimension","radius","console","error","T0","T1","T2","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","t33","t34","t35","t36","t37","t38","t39","t40","t41","description","graphContainer","title","cellsData","forEach","item","index","count","Math","round","value","i","push","color","GraphContainer","jsx","GraphHeader","_temp2","filter","_temp3","length","_temp4","_temp5","_temp6","H2","d_5","i_0","jsxs","P","d","label","numberFormattingFunction","GraphArea","max","floor","AnimatePresence","d_6","i_1","strokeWidth","initial","fill","opacity","stroke","whileInView","cx","cy","transition","delay","toLowerCase","t42","t43","t44","t45","footnote","source","GraphFooter","t46","d_2","d_1","d_0","d_4","d_3"],"mappings":"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"}
1
+ {"version":3,"file":"UnitChart.js","sources":["../src/Components/Graphs/UnitChart/index.tsx"],"sourcesContent":["import { useRef } from 'react';\r\nimport sum from 'lodash.sum';\r\nimport { H2, P } from '@undp/design-system-react/Typography';\r\nimport { AnimatePresence, motion, useInView } from 'motion/react';\r\n\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport {\r\n UnitChartDataType,\r\n SourcesDataType,\r\n Languages,\r\n StyleObject,\r\n ClassNameObject,\r\n AnimateDataType,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: UnitChartDataType[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Note with h2 tag just above the graph. Can be used to highlight text */\r\n note?: string;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Colors of the highlighted circles */\r\n colors?: string[];\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n\r\n // Graph Parameters\r\n /** Size of the visualization */\r\n size?: number;\r\n /** No. of dots in a single row */\r\n gridSize?: number;\r\n /** Spacing between 2 dots */\r\n unitPadding?: number;\r\n /** Total no. of dot that are rendered in the chart */\r\n totalNoOfDots?: number;\r\n /** Toggle visibility of stroke for the unfilled dots */\r\n showStrokeForWhiteDots?: boolean;\r\n /** Toggles if the graph animates in when loaded. */\r\n animate?: boolean | AnimateDataType;\r\n /** Toggle visibility of color scale */\r\n showColorScale?: boolean;\r\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\r\n /** Defines how “NA” values should be displayed/labelled in the graph */\r\n naLabel?: string;\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function UnitChart(props: Props) {\r\n const {\r\n data,\r\n size = 200,\r\n graphTitle,\r\n sources,\r\n colors = Colors.light.categoricalColors.colors,\r\n graphDescription,\r\n totalNoOfDots = 100,\r\n unitPadding = 3,\r\n gridSize = 10,\r\n footNote,\r\n padding,\r\n backgroundColor = false,\r\n graphID,\r\n graphDownload = false,\r\n language = 'en',\r\n showColorScale = true,\r\n showStrokeForWhiteDots = true,\r\n note,\r\n dataDownload = false,\r\n theme = 'light',\r\n width,\r\n height,\r\n minHeight = 0,\r\n relativeHeight,\r\n ariaLabel,\r\n styles,\r\n classNames,\r\n animate = false,\r\n naLabel = 'NA',\r\n numberDisplayOptions,\r\n } = props;\r\n const svgRef = useRef(null);\r\n const animateValue =\r\n animate === true\r\n ? { duration: 0.5, once: true, amount: 0.5 }\r\n : animate || { duration: 0, once: true, amount: 0 };\r\n const isInView = useInView(svgRef, {\r\n once: animateValue.once,\r\n amount: animateValue.amount,\r\n });\r\n const totalValue = sum(data.map(d => d.value));\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const gridDimension = size / gridSize;\r\n const radius = (gridDimension - unitPadding * 2) / 2;\r\n if (radius <= 0) {\r\n console.error(\r\n 'The size of single unit is less than or equal to zero. Check values for ((dimension / gridSize) - (padding * 2)) / 2 is not less than or equal to 0.',\r\n );\r\n return null;\r\n }\r\n\r\n const cellsData: { color: string }[] = [];\r\n data.forEach((item, index) => {\r\n const count = Math.round((item.value / totalValue) * totalNoOfDots);\r\n for (let i = 0; i < count; i += 1) {\r\n cellsData.push({ color: colors[index] });\r\n }\r\n });\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {note ? (\r\n <H2\r\n marginBottom='2xs'\r\n className='text-primary-gray-700 dark:text-primary-gray-100 font-bold'\r\n style={{ width: width ? `${width}px` : '100%' }}\r\n >\r\n {note}\r\n </H2>\r\n ) : null}\r\n {showColorScale ? (\r\n <div\r\n className='mb-4 leading-0'\r\n style={{ width: width ? `${width}px` : '100%' }}\r\n aria-label='Color legend'\r\n >\r\n <div className='flex mb-0 flex-wrap gap-x-4 gap-y-1'>\r\n {data.map((d, i) => (\r\n <div className='flex gap-2 items-center' key={i}>\r\n <div className='w-3 h-3 rounded-full' style={{ backgroundColor: colors[i] }} />\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n {d.label}:{' '}\r\n <span className='font-bold'>\r\n {numberFormattingFunction(\r\n d.value,\r\n naLabel,\r\n numberDisplayOptions?.precision ?? 2,\r\n numberDisplayOptions?.prefix,\r\n numberDisplayOptions?.suffix,\r\n numberDisplayOptions?.locale || 'en',\r\n numberDisplayOptions?.padZeros || false,\r\n )}\r\n </span>\r\n </P>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n <svg\r\n width={`${width || size}px`}\r\n height={`${Math.max(\r\n minHeight,\r\n height\r\n ? relativeHeight && width\r\n ? minHeight\r\n ? width * relativeHeight > minHeight\r\n ? width * relativeHeight\r\n : minHeight\r\n : width * relativeHeight\r\n : height\r\n : Math.floor((totalNoOfDots - 1) / gridSize) * gridDimension +\r\n gridDimension / 2 +\r\n radius +\r\n 5,\r\n )}px`}\r\n ref={svgRef}\r\n direction='ltr'\r\n viewBox={`0 0 ${width || size} ${Math.max(\r\n minHeight,\r\n height\r\n ? relativeHeight && width\r\n ? minHeight\r\n ? width * relativeHeight > minHeight\r\n ? width * relativeHeight\r\n : minHeight\r\n : width * relativeHeight\r\n : height\r\n : Math.floor((totalNoOfDots - 1) / gridSize) * gridDimension +\r\n gridDimension / 2 +\r\n radius +\r\n 5,\r\n )}`}\r\n >\r\n <AnimatePresence>\r\n <g>\r\n {cellsData.map((d, i) => (\r\n <motion.circle\r\n key={i}\r\n style={{\r\n strokeWidth: 1,\r\n }}\r\n variants={{\r\n initial: {\r\n fill: '#fff',\r\n opacity: 0,\r\n ...(!showStrokeForWhiteDots ? { stroke: d.color } : {}),\r\n strokeWidth: 1,\r\n },\r\n whileInView: {\r\n fill: d.color,\r\n opacity: 1,\r\n ...(!showStrokeForWhiteDots ? { stroke: d.color } : {}),\r\n strokeWidth: 1,\r\n cx: (i % gridSize) * gridDimension + gridDimension / 2,\r\n cy: Math.floor(i / gridSize) * gridDimension + gridDimension / 2,\r\n transition: {\r\n duration: 0,\r\n delay: (animateValue.duration / cellsData.length) * i,\r\n },\r\n },\r\n }}\r\n initial='initial'\r\n animate={isInView ? 'whileInView' : 'initial'}\r\n className={\r\n (d.color.toLowerCase() === '#fff' ||\r\n d.color.toLowerCase() === '#ffffff' ||\r\n d.color.toLowerCase() === 'white') &&\r\n showStrokeForWhiteDots\r\n ? 'stroke-primary-gray-400 dark:stroke-primary-gray-500'\r\n : ''\r\n }\r\n r={radius}\r\n />\r\n ))}\r\n </g>\r\n </AnimatePresence>\r\n </svg>\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{\r\n footnote: styles?.footnote,\r\n source: styles?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["UnitChart","props","$","_c","data","size","t0","graphTitle","sources","colors","t1","graphDescription","totalNoOfDots","t2","unitPadding","t3","gridSize","t4","footNote","padding","backgroundColor","t5","graphID","graphDownload","t6","language","t7","showColorScale","t8","showStrokeForWhiteDots","t9","note","dataDownload","t10","theme","t11","width","height","minHeight","t12","relativeHeight","ariaLabel","styles","classNames","animate","t13","naLabel","t14","numberDisplayOptions","undefined","Colors","light","categoricalColors","svgRef","useRef","t15","duration","once","amount","animateValue","t16","isInView","useInView","t17","sum","map","_temp","totalValue","graphParentDiv","graphDiv","gridDimension","radius","console","error","T0","T1","T2","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","t33","t34","t35","t36","t37","t38","t39","t40","description","graphContainer","title","locale","padZeros","precision","prefix","suffix","cellsData","forEach","item","index","count","Math","round","value","i","push","color","GraphContainer","jsx","GraphHeader","_temp2","filter","_temp3","length","_temp4","_temp5","_temp6","H2","d_5","i_0","jsxs","P","d","label","numberFormattingFunction","GraphArea","max","floor","AnimatePresence","d_6","i_1","strokeWidth","initial","fill","opacity","stroke","whileInView","cx","cy","transition","delay","toLowerCase","t41","t42","t43","t44","footnote","source","GraphFooter","t45","d_2","d_1","d_0","d_4","d_3"],"mappings":"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"}