@undp/data-viz 2.3.17 → 2.4.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 (440) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.cjs.map +1 -1
  3. package/dist/AreaChart.d.ts +2 -0
  4. package/dist/AreaChart.js +356 -354
  5. package/dist/AreaChart.js.map +1 -1
  6. package/dist/{Axis-Jt_tmhxS.cjs → Axis-BTaS9oPQ.cjs} +2 -2
  7. package/dist/{Axis-Jt_tmhxS.cjs.map → Axis-BTaS9oPQ.cjs.map} +1 -1
  8. package/dist/{Axis-RyGdzLrG.js → Axis-CNZYWzH0.js} +2 -2
  9. package/dist/{Axis-RyGdzLrG.js.map → Axis-CNZYWzH0.js.map} +1 -1
  10. package/dist/{AxisTitle-DGjX1_2v.js → AxisTitle-CyLCqpW6.js} +2 -2
  11. package/dist/{AxisTitle-DGjX1_2v.js.map → AxisTitle-CyLCqpW6.js.map} +1 -1
  12. package/dist/{AxisTitle-DV4n0RxE.cjs → AxisTitle-DP_evhbe.cjs} +2 -2
  13. package/dist/{AxisTitle-DV4n0RxE.cjs.map → AxisTitle-DP_evhbe.cjs.map} +1 -1
  14. package/dist/BarGraph.cjs +1 -1
  15. package/dist/BarGraph.cjs.map +1 -1
  16. package/dist/BarGraph.d.ts +6 -0
  17. package/dist/BarGraph.js +1735 -1726
  18. package/dist/BarGraph.js.map +1 -1
  19. package/dist/BasicStatCard.cjs +1 -1
  20. package/dist/BasicStatCard.cjs.map +1 -1
  21. package/dist/BasicStatCard.d.ts +2 -0
  22. package/dist/BasicStatCard.js +46 -45
  23. package/dist/BasicStatCard.js.map +1 -1
  24. package/dist/BeeSwarmChart.cjs +1 -1
  25. package/dist/BeeSwarmChart.cjs.map +1 -1
  26. package/dist/BeeSwarmChart.d.ts +2 -0
  27. package/dist/BeeSwarmChart.js +266 -266
  28. package/dist/BeeSwarmChart.js.map +1 -1
  29. package/dist/BiVariateChoroplethMap.cjs +1 -1
  30. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  31. package/dist/BiVariateChoroplethMap.d.ts +2 -0
  32. package/dist/BiVariateChoroplethMap.js +300 -298
  33. package/dist/BiVariateChoroplethMap.js.map +1 -1
  34. package/dist/BulletChart.cjs +1 -1
  35. package/dist/BulletChart.cjs.map +1 -1
  36. package/dist/BulletChart.d.ts +2 -0
  37. package/dist/BulletChart.js +469 -469
  38. package/dist/BulletChart.js.map +1 -1
  39. package/dist/ButterflyChart.cjs +1 -1
  40. package/dist/ButterflyChart.cjs.map +1 -1
  41. package/dist/ButterflyChart.d.ts +2 -0
  42. package/dist/ButterflyChart.js +330 -328
  43. package/dist/ButterflyChart.js.map +1 -1
  44. package/dist/ChoroplethMap.cjs +1 -1
  45. package/dist/ChoroplethMap.cjs.map +1 -1
  46. package/dist/ChoroplethMap.d.ts +2 -0
  47. package/dist/ChoroplethMap.js +303 -301
  48. package/dist/ChoroplethMap.js.map +1 -1
  49. package/dist/CirclePackingGraph.cjs +1 -1
  50. package/dist/CirclePackingGraph.d.ts +2 -0
  51. package/dist/CirclePackingGraph.js +4 -4
  52. package/dist/ColorLegend.cjs +1 -1
  53. package/dist/ColorLegend.js +2 -2
  54. package/dist/ColorLegendWithMouseOver.cjs +1 -1
  55. package/dist/ColorLegendWithMouseOver.js +2 -2
  56. package/dist/CopyTextButton.cjs +1 -1
  57. package/dist/CopyTextButton.cjs.map +1 -1
  58. package/dist/CopyTextButton.js +7 -9
  59. package/dist/CopyTextButton.js.map +1 -1
  60. package/dist/CsvDownloadButton.cjs +1 -1
  61. package/dist/CsvDownloadButton.js +2 -2
  62. package/dist/DataCards.cjs +1 -1
  63. package/dist/DataCards.cjs.map +1 -1
  64. package/dist/DataCards.js +10 -12
  65. package/dist/DataCards.js.map +1 -1
  66. package/dist/DataTable.cjs +1 -1
  67. package/dist/DataTable.cjs.map +1 -1
  68. package/dist/DataTable.d.ts +2 -0
  69. package/dist/DataTable.js +103 -102
  70. package/dist/DataTable.js.map +1 -1
  71. package/dist/{DetailsModal-C3qlUyFK.js → DetailsModal-B2XBWR7w.js} +4 -4
  72. package/dist/{DetailsModal-C3qlUyFK.js.map → DetailsModal-B2XBWR7w.js.map} +1 -1
  73. package/dist/{DetailsModal-DIRTulvr.cjs → DetailsModal-jmmKRMRM.cjs} +2 -2
  74. package/dist/{DetailsModal-DIRTulvr.cjs.map → DetailsModal-jmmKRMRM.cjs.map} +1 -1
  75. package/dist/DifferenceLineChart.cjs +1 -1
  76. package/dist/DifferenceLineChart.cjs.map +1 -1
  77. package/dist/DifferenceLineChart.d.ts +4 -0
  78. package/dist/DifferenceLineChart.js +441 -437
  79. package/dist/DifferenceLineChart.js.map +1 -1
  80. package/dist/DonutChart.cjs +1 -1
  81. package/dist/DonutChart.cjs.map +1 -1
  82. package/dist/DonutChart.d.ts +4 -0
  83. package/dist/DonutChart.js +146 -142
  84. package/dist/DonutChart.js.map +1 -1
  85. package/dist/DotDensityMap.cjs +1 -1
  86. package/dist/DotDensityMap.cjs.map +1 -1
  87. package/dist/DotDensityMap.js +265 -268
  88. package/dist/DotDensityMap.js.map +1 -1
  89. package/dist/{DropdownSelect-NNpOs7DX.cjs → DropdownSelect-CX1yMemd.cjs} +2 -2
  90. package/dist/DropdownSelect-CX1yMemd.cjs.map +1 -0
  91. package/dist/{DropdownSelect-B2WTeedJ.js → DropdownSelect-Dz7imdTB.js} +6 -9
  92. package/dist/DropdownSelect-Dz7imdTB.js.map +1 -0
  93. package/dist/DualAxisLineChart.cjs +1 -1
  94. package/dist/DualAxisLineChart.cjs.map +1 -1
  95. package/dist/DualAxisLineChart.d.ts +4 -0
  96. package/dist/DualAxisLineChart.js +336 -332
  97. package/dist/DualAxisLineChart.js.map +1 -1
  98. package/dist/DumbbellChart.cjs +1 -1
  99. package/dist/DumbbellChart.cjs.map +1 -1
  100. package/dist/DumbbellChart.d.ts +2 -0
  101. package/dist/DumbbellChart.js +484 -484
  102. package/dist/DumbbellChart.js.map +1 -1
  103. package/dist/{EmptyState-B4c-CrXs.cjs → EmptyState-CFmiFPHz.cjs} +2 -2
  104. package/dist/{EmptyState-B4c-CrXs.cjs.map → EmptyState-CFmiFPHz.cjs.map} +1 -1
  105. package/dist/{EmptyState-B3fPoH6L.js → EmptyState-CaxXCkiN.js} +4 -4
  106. package/dist/{EmptyState-B3fPoH6L.js.map → EmptyState-CaxXCkiN.js.map} +1 -1
  107. package/dist/ExcelDownloadButton.cjs +1 -1
  108. package/dist/ExcelDownloadButton.js +2 -2
  109. package/dist/FootNote.cjs +1 -1
  110. package/dist/FootNote.js +2 -2
  111. package/dist/GeoHubCompareMaps.cjs +1 -1
  112. package/dist/GeoHubCompareMaps.cjs.map +1 -1
  113. package/dist/GeoHubCompareMaps.js +111 -111
  114. package/dist/GeoHubCompareMaps.js.map +1 -1
  115. package/dist/GeoHubMap.cjs +1 -1
  116. package/dist/GeoHubMap.cjs.map +1 -1
  117. package/dist/GeoHubMap.js +71 -71
  118. package/dist/GeoHubMap.js.map +1 -1
  119. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  120. package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
  121. package/dist/GeoHubMapWithLayerSelection.js +83 -83
  122. package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
  123. package/dist/{GraphContainer-DwMxWRCi.js → GraphContainer-B8ZqOzKI.js} +2 -2
  124. package/dist/{GraphContainer-DwMxWRCi.js.map → GraphContainer-B8ZqOzKI.js.map} +1 -1
  125. package/dist/{GraphContainer-B1EDxJ0S.cjs → GraphContainer-Cul9b74X.cjs} +2 -2
  126. package/dist/{GraphContainer-B1EDxJ0S.cjs.map → GraphContainer-Cul9b74X.cjs.map} +1 -1
  127. package/dist/GraphDescription.cjs +1 -1
  128. package/dist/GraphDescription.js +2 -2
  129. package/dist/{GraphEl-CnJf8b50.js → GraphEl-B73N4RIA.js} +48 -10
  130. package/dist/GraphEl-B73N4RIA.js.map +1 -0
  131. package/dist/GraphEl-Lt1og0C-.cjs +2 -0
  132. package/dist/GraphEl-Lt1og0C-.cjs.map +1 -0
  133. package/dist/GraphFooter.cjs +1 -1
  134. package/dist/GraphFooter.js +2 -2
  135. package/dist/GraphHeader.cjs +1 -1
  136. package/dist/GraphHeader.js +1 -1
  137. package/dist/GraphTitle.cjs +1 -1
  138. package/dist/GraphTitle.js +2 -2
  139. package/dist/GriddedGraphs.cjs +1 -1
  140. package/dist/GriddedGraphs.d.ts +1 -0
  141. package/dist/GriddedGraphs.js +6 -6
  142. package/dist/GriddedGraphsFromConfig.cjs +1 -1
  143. package/dist/GriddedGraphsFromConfig.d.ts +1 -0
  144. package/dist/GriddedGraphsFromConfig.js +2 -2
  145. package/dist/HeatMap.cjs +1 -1
  146. package/dist/HeatMap.cjs.map +1 -1
  147. package/dist/HeatMap.d.ts +4 -0
  148. package/dist/HeatMap.js +158 -155
  149. package/dist/HeatMap.js.map +1 -1
  150. package/dist/Histogram.cjs +1 -1
  151. package/dist/Histogram.cjs.map +1 -1
  152. package/dist/Histogram.d.ts +2 -0
  153. package/dist/Histogram.js +81 -80
  154. package/dist/Histogram.js.map +1 -1
  155. package/dist/HybridMap.cjs +1 -1
  156. package/dist/HybridMap.cjs.map +1 -1
  157. package/dist/HybridMap.d.ts +2 -0
  158. package/dist/HybridMap.js +314 -315
  159. package/dist/HybridMap.js.map +1 -1
  160. package/dist/ImageDownloadButton.cjs +1 -1
  161. package/dist/ImageDownloadButton.js +2 -2
  162. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  163. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  164. package/dist/LineChartWithConfidenceInterval.d.ts +2 -0
  165. package/dist/LineChartWithConfidenceInterval.js +367 -365
  166. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  167. package/dist/LinearColorLegend.cjs +1 -1
  168. package/dist/LinearColorLegend.cjs.map +1 -1
  169. package/dist/LinearColorLegend.d.ts +1 -0
  170. package/dist/LinearColorLegend.js +38 -37
  171. package/dist/LinearColorLegend.js.map +1 -1
  172. package/dist/{Modal-ZX55hLH-.cjs → Modal-BIErPPKT.cjs} +5 -5
  173. package/dist/{Modal-ZX55hLH-.cjs.map → Modal-BIErPPKT.cjs.map} +1 -1
  174. package/dist/{Modal-BV4rkoLM.js → Modal-CrUYln5V.js} +4 -4
  175. package/dist/{Modal-BV4rkoLM.js.map → Modal-CrUYln5V.js.map} +1 -1
  176. package/dist/MultiGraphDashboard.cjs +1 -1
  177. package/dist/MultiGraphDashboard.d.ts +1 -0
  178. package/dist/MultiGraphDashboard.js +4 -4
  179. package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
  180. package/dist/MultiGraphDashboardFromConfig.d.ts +1 -0
  181. package/dist/MultiGraphDashboardFromConfig.js +2 -2
  182. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  183. package/dist/MultiGraphDashboardWideToLongFormat.js +4 -4
  184. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
  185. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +2 -2
  186. package/dist/MultiLineAltChart.cjs +1 -1
  187. package/dist/MultiLineAltChart.cjs.map +1 -1
  188. package/dist/MultiLineAltChart.d.ts +2 -0
  189. package/dist/MultiLineAltChart.js +419 -420
  190. package/dist/MultiLineAltChart.js.map +1 -1
  191. package/dist/MultiLineChart.cjs +1 -1
  192. package/dist/MultiLineChart.cjs.map +1 -1
  193. package/dist/MultiLineChart.d.ts +4 -0
  194. package/dist/MultiLineChart.js +410 -409
  195. package/dist/MultiLineChart.js.map +1 -1
  196. package/dist/ParetoChart.cjs +1 -1
  197. package/dist/ParetoChart.cjs.map +1 -1
  198. package/dist/ParetoChart.d.ts +2 -0
  199. package/dist/ParetoChart.js +273 -271
  200. package/dist/ParetoChart.js.map +1 -1
  201. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  202. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -0
  203. package/dist/PerformanceIntensiveMultiGraphDashboard.js +4 -4
  204. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
  205. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -0
  206. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +2 -2
  207. package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
  208. package/dist/PerformanceIntensiveScrollStory.d.ts +1 -0
  209. package/dist/PerformanceIntensiveScrollStory.js +3 -3
  210. package/dist/RadarChart.cjs +1 -1
  211. package/dist/RadarChart.cjs.map +1 -1
  212. package/dist/RadarChart.d.ts +2 -0
  213. package/dist/RadarChart.js +221 -219
  214. package/dist/RadarChart.js.map +1 -1
  215. package/dist/{ReferenceLine-M9aP3dj-.cjs → ReferenceLine-CpU4G01Y.cjs} +2 -2
  216. package/dist/{ReferenceLine-M9aP3dj-.cjs.map → ReferenceLine-CpU4G01Y.cjs.map} +1 -1
  217. package/dist/{ReferenceLine-CNEjAYvv.js → ReferenceLine-D41VuUhE.js} +3 -3
  218. package/dist/{ReferenceLine-CNEjAYvv.js.map → ReferenceLine-D41VuUhE.js.map} +1 -1
  219. package/dist/{RegressionLine-Ci-Dh0w0.cjs → RegressionLine-BFoBiVJk.cjs} +2 -2
  220. package/dist/{RegressionLine-Ci-Dh0w0.cjs.map → RegressionLine-BFoBiVJk.cjs.map} +1 -1
  221. package/dist/{RegressionLine-BDrndQxo.js → RegressionLine-CuwB42I6.js} +4 -4
  222. package/dist/{RegressionLine-BDrndQxo.js.map → RegressionLine-CuwB42I6.js.map} +1 -1
  223. package/dist/SVGDownloadButton.cjs +1 -1
  224. package/dist/SVGDownloadButton.js +2 -2
  225. package/dist/SankeyChart.cjs +1 -1
  226. package/dist/SankeyChart.cjs.map +1 -1
  227. package/dist/SankeyChart.d.ts +2 -0
  228. package/dist/SankeyChart.js +404 -408
  229. package/dist/SankeyChart.js.map +1 -1
  230. package/dist/ScatterPlot.cjs +1 -1
  231. package/dist/ScatterPlot.cjs.map +1 -1
  232. package/dist/ScatterPlot.d.ts +2 -0
  233. package/dist/ScatterPlot.js +444 -445
  234. package/dist/ScatterPlot.js.map +1 -1
  235. package/dist/ScrollStory.cjs +1 -1
  236. package/dist/ScrollStory.d.ts +1 -0
  237. package/dist/ScrollStory.js +3 -3
  238. package/dist/SimpleLineChart.cjs +1 -1
  239. package/dist/SimpleLineChart.cjs.map +1 -1
  240. package/dist/SimpleLineChart.d.ts +2 -0
  241. package/dist/SimpleLineChart.js +360 -358
  242. package/dist/SimpleLineChart.js.map +1 -1
  243. package/dist/SingleGraphDashboard.cjs +1 -1
  244. package/dist/SingleGraphDashboard.d.ts +1 -0
  245. package/dist/SingleGraphDashboard.js +6 -6
  246. package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
  247. package/dist/SingleGraphDashboardFromConfig.d.ts +1 -0
  248. package/dist/SingleGraphDashboardFromConfig.js +2 -2
  249. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
  250. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +1 -0
  251. package/dist/SingleGraphDashboardGeoHubMaps.js +3 -3
  252. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
  253. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +1 -0
  254. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +2 -2
  255. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  256. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +1 -0
  257. package/dist/SingleGraphDashboardThreeDGraphs.js +6 -6
  258. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
  259. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +1 -0
  260. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +2 -2
  261. package/dist/SlopeChart.cjs +1 -1
  262. package/dist/SlopeChart.cjs.map +1 -1
  263. package/dist/SlopeChart.js +259 -262
  264. package/dist/SlopeChart.js.map +1 -1
  265. package/dist/{Source-BOSAl3UX.cjs → Source-PKuwZOn3.cjs} +2 -2
  266. package/dist/{Source-BOSAl3UX.cjs.map → Source-PKuwZOn3.cjs.map} +1 -1
  267. package/dist/{Source-Djkz-7jX.js → Source-QGk8vhkS.js} +3 -3
  268. package/dist/{Source-Djkz-7jX.js.map → Source-QGk8vhkS.js.map} +1 -1
  269. package/dist/Source.cjs +1 -1
  270. package/dist/Source.js +3 -3
  271. package/dist/SparkLine.cjs +1 -1
  272. package/dist/SparkLine.js +3 -3
  273. package/dist/{Spinner-CtJETd5V.js → Spinner-B2IIKg9r.js} +2 -2
  274. package/dist/{Spinner-CtJETd5V.js.map → Spinner-B2IIKg9r.js.map} +1 -1
  275. package/dist/{Spinner-jTMOLuw_.cjs → Spinner-WHzzloYQ.cjs} +2 -2
  276. package/dist/{Spinner-jTMOLuw_.cjs.map → Spinner-WHzzloYQ.cjs.map} +1 -1
  277. package/dist/StatCardFromData.cjs +1 -1
  278. package/dist/StatCardFromData.cjs.map +1 -1
  279. package/dist/StatCardFromData.d.ts +4 -0
  280. package/dist/StatCardFromData.js +97 -95
  281. package/dist/StatCardFromData.js.map +1 -1
  282. package/dist/StripChart.cjs +1 -1
  283. package/dist/StripChart.cjs.map +1 -1
  284. package/dist/StripChart.d.ts +2 -0
  285. package/dist/StripChart.js +343 -343
  286. package/dist/StripChart.js.map +1 -1
  287. package/dist/ThreeDGlobe.cjs +1 -1
  288. package/dist/ThreeDGlobe.cjs.map +1 -1
  289. package/dist/ThreeDGlobe.d.ts +2 -0
  290. package/dist/ThreeDGlobe.js +198 -196
  291. package/dist/ThreeDGlobe.js.map +1 -1
  292. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  293. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
  294. package/dist/ThresholdColorLegendWithMouseOver.d.ts +2 -0
  295. package/dist/ThresholdColorLegendWithMouseOver.js +50 -48
  296. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  297. package/dist/{Tooltip-CohiIbLZ.js → Tooltip-Bj-s__cI.js} +3 -3
  298. package/dist/{Tooltip-CohiIbLZ.js.map → Tooltip-Bj-s__cI.js.map} +1 -1
  299. package/dist/{Tooltip-BLa2EfMs.cjs → Tooltip-Hr46paWP.cjs} +2 -2
  300. package/dist/{Tooltip-BLa2EfMs.cjs.map → Tooltip-Hr46paWP.cjs.map} +1 -1
  301. package/dist/TreeMapGraph.cjs +1 -1
  302. package/dist/TreeMapGraph.cjs.map +1 -1
  303. package/dist/TreeMapGraph.d.ts +2 -0
  304. package/dist/TreeMapGraph.js +139 -140
  305. package/dist/TreeMapGraph.js.map +1 -1
  306. package/dist/Types.d.ts +1 -0
  307. package/dist/{Typography-DMVW6JnV.js → Typography-BO0gQDIT.js} +2 -2
  308. package/dist/{Typography-DMVW6JnV.js.map → Typography-BO0gQDIT.js.map} +1 -1
  309. package/dist/{Typography-CZZxlj1W.cjs → Typography-BqmyF1gP.cjs} +2 -2
  310. package/dist/{Typography-CZZxlj1W.cjs.map → Typography-BqmyF1gP.cjs.map} +1 -1
  311. package/dist/UnitChart.cjs +1 -1
  312. package/dist/UnitChart.cjs.map +1 -1
  313. package/dist/UnitChart.d.ts +4 -0
  314. package/dist/UnitChart.js +88 -86
  315. package/dist/UnitChart.js.map +1 -1
  316. package/dist/WaterfallChart.cjs +1 -1
  317. package/dist/WaterfallChart.cjs.map +1 -1
  318. package/dist/WaterfallChart.d.ts +2 -0
  319. package/dist/WaterfallChart.js +257 -258
  320. package/dist/WaterfallChart.js.map +1 -1
  321. package/dist/{XAxesLabels-IwjMJkYS.js → XAxesLabels-B9gkjUiC.js} +3 -3
  322. package/dist/{XAxesLabels-IwjMJkYS.js.map → XAxesLabels-B9gkjUiC.js.map} +1 -1
  323. package/dist/{XAxesLabels-C6o9jJal.cjs → XAxesLabels-C03jHniq.cjs} +2 -2
  324. package/dist/{XAxesLabels-C6o9jJal.cjs.map → XAxesLabels-C03jHniq.cjs.map} +1 -1
  325. package/dist/XTicksAndGridLines-C5DuC5oY.cjs +2 -0
  326. package/dist/XTicksAndGridLines-C5DuC5oY.cjs.map +1 -0
  327. package/dist/XTicksAndGridLines-gdbGX2rm.js +39 -0
  328. package/dist/XTicksAndGridLines-gdbGX2rm.js.map +1 -0
  329. package/dist/{YAxesLabels-BQ2aCazV.cjs → YAxesLabels-DeENFC2M.cjs} +2 -2
  330. package/dist/{YAxesLabels-BQ2aCazV.cjs.map → YAxesLabels-DeENFC2M.cjs.map} +1 -1
  331. package/dist/{YAxesLabels-DoGvgHdw.js → YAxesLabels-hWEUCTvs.js} +3 -3
  332. package/dist/{YAxesLabels-DoGvgHdw.js.map → YAxesLabels-hWEUCTvs.js.map} +1 -1
  333. package/dist/YTicksAndGridLines-CsNSq9W9.js +39 -0
  334. package/dist/YTicksAndGridLines-CsNSq9W9.js.map +1 -0
  335. package/dist/YTicksAndGridLines-DFjm8RCc.cjs +2 -0
  336. package/dist/YTicksAndGridLines-DFjm8RCc.cjs.map +1 -0
  337. package/dist/{checkIfMultiple-TOaaUwS7.cjs → checkIfMultiple-CH5tqj4q.cjs} +2 -2
  338. package/dist/checkIfMultiple-CH5tqj4q.cjs.map +1 -0
  339. package/dist/{checkIfMultiple-B97uOUVq.js → checkIfMultiple-Dpyy6BUP.js} +6 -6
  340. package/dist/checkIfMultiple-Dpyy6BUP.js.map +1 -0
  341. package/dist/{customArea-B1LWQBmM.cjs → customArea-BAcQ3pBM.cjs} +2 -2
  342. package/dist/{customArea-B1LWQBmM.cjs.map → customArea-BAcQ3pBM.cjs.map} +1 -1
  343. package/dist/{customArea-Cc2whe6P.js → customArea-D89lETG0.js} +3 -3
  344. package/dist/{customArea-Cc2whe6P.js.map → customArea-D89lETG0.js.map} +1 -1
  345. package/dist/getSliderMarks-BzrpHrHS.cjs +2 -0
  346. package/dist/getSliderMarks-BzrpHrHS.cjs.map +1 -0
  347. package/dist/{getSliderMarks-vXsR8RrR.js → getSliderMarks-X-_goqH9.js} +3 -4
  348. package/dist/getSliderMarks-X-_goqH9.js.map +1 -0
  349. package/dist/{index-CZ0elhKR.js → index-ApTBN0kp.js} +20 -10
  350. package/dist/{index-CZ0elhKR.js.map → index-ApTBN0kp.js.map} +1 -1
  351. package/dist/index-B0Awa_de.js +377 -0
  352. package/dist/index-B0Awa_de.js.map +1 -0
  353. package/dist/{index-sbKVyHS2.cjs → index-BhI7mBJx.cjs} +2 -2
  354. package/dist/{index-sbKVyHS2.cjs.map → index-BhI7mBJx.cjs.map} +1 -1
  355. package/dist/{index-D69M6klB.cjs → index-BuhBhuCq.cjs} +2 -2
  356. package/dist/{index-D69M6klB.cjs.map → index-BuhBhuCq.cjs.map} +1 -1
  357. package/dist/{index-CHPV5EwG-BCLAYDCV.js → index-CHPV5EwG-BzibaIRc.js} +5 -9
  358. package/dist/index-CHPV5EwG-BzibaIRc.js.map +1 -0
  359. package/dist/{index-CHPV5EwG-6v2a2njQ.cjs → index-CHPV5EwG-D4pAp7u0.cjs} +3 -3
  360. package/dist/index-CHPV5EwG-D4pAp7u0.cjs.map +1 -0
  361. package/dist/index-CP8cmNzt.cjs +2 -0
  362. package/dist/index-CP8cmNzt.cjs.map +1 -0
  363. package/dist/{index-Co3YGYe1.js → index-Cv_5q6Rb.js} +3 -3
  364. package/dist/{index-Co3YGYe1.js.map → index-Cv_5q6Rb.js.map} +1 -1
  365. package/dist/{index-D_dtv_T9.js → index-DHVGV8Df.js} +3 -3
  366. package/dist/{index-D_dtv_T9.js.map → index-DHVGV8Df.js.map} +1 -1
  367. package/dist/{index-CoobIWNj.cjs → index-FXfr51ZM.cjs} +2 -2
  368. package/dist/{index-CoobIWNj.cjs.map → index-FXfr51ZM.cjs.map} +1 -1
  369. package/dist/{index-D6CYcVc7-BOa7Dpvf.js → index-Scxs_wcm-BAjU0Cob.js} +16 -16
  370. package/dist/index-Scxs_wcm-BAjU0Cob.js.map +1 -0
  371. package/dist/index-Scxs_wcm-DUDU-Gll.cjs +2 -0
  372. package/dist/index-Scxs_wcm-DUDU-Gll.cjs.map +1 -0
  373. package/dist/{index-DoS4bGNa-C3DbPpy3.cjs → index-w64Zl8io-DrMm5QSb.cjs} +2 -2
  374. package/dist/index-w64Zl8io-DrMm5QSb.cjs.map +1 -0
  375. package/dist/{index-DoS4bGNa-Bgab95kx.js → index-w64Zl8io-ihagHOdP.js} +2 -2
  376. package/dist/index-w64Zl8io-ihagHOdP.js.map +1 -0
  377. package/dist/index.cjs +1 -1
  378. package/dist/index.d.ts +92 -17
  379. package/dist/index.js +3 -3
  380. package/dist/numberFormattingFunction-Cn9R7CM9.cjs +2 -0
  381. package/dist/numberFormattingFunction-Cn9R7CM9.cjs.map +1 -0
  382. package/dist/numberFormattingFunction-DqMf_v1m.js +28 -0
  383. package/dist/numberFormattingFunction-DqMf_v1m.js.map +1 -0
  384. package/dist/{proxy--_f6k3NR.js → proxy-BsxtcZKa.js} +2 -2
  385. package/dist/{proxy--_f6k3NR.js.map → proxy-BsxtcZKa.js.map} +1 -1
  386. package/dist/{proxy-C4-uo6nS.cjs → proxy-CqH8m8IQ.cjs} +2 -2
  387. package/dist/{proxy-C4-uo6nS.cjs.map → proxy-CqH8m8IQ.cjs.map} +1 -1
  388. package/dist/{string2HTML-DUYZT1L9.js → string2HTML-BrFperRM.js} +2 -2
  389. package/dist/{string2HTML-DUYZT1L9.js.map → string2HTML-BrFperRM.js.map} +1 -1
  390. package/dist/{string2HTML-xx9MzTtY.cjs → string2HTML-ZoGd08P_.cjs} +2 -2
  391. package/dist/{string2HTML-xx9MzTtY.cjs.map → string2HTML-ZoGd08P_.cjs.map} +1 -1
  392. package/dist/style.css +1 -1
  393. package/dist/{use-in-view-DqvKAveg.js → use-in-view-KOXq5Kmc.js} +2 -2
  394. package/dist/{use-in-view-DqvKAveg.js.map → use-in-view-KOXq5Kmc.js.map} +1 -1
  395. package/dist/{use-in-view-C3o_ntMv.cjs → use-in-view-dnRv_qqF.cjs} +2 -2
  396. package/dist/{use-in-view-C3o_ntMv.cjs.map → use-in-view-dnRv_qqF.cjs.map} +1 -1
  397. package/dist/utils.cjs +1 -1
  398. package/dist/utils.d.ts +9 -18
  399. package/dist/utils.js +1 -1
  400. package/dist/x-BXShoIAM-BC2sxios.cjs +2 -0
  401. package/dist/x-BXShoIAM-BC2sxios.cjs.map +1 -0
  402. package/dist/{x-BBpi7a_7-BsvWCzYM.js → x-BXShoIAM-D6VWO6z5.js} +3 -5
  403. package/dist/x-BXShoIAM-D6VWO6z5.js.map +1 -0
  404. package/package.json +2 -2
  405. package/dist/DropdownSelect-B2WTeedJ.js.map +0 -1
  406. package/dist/DropdownSelect-NNpOs7DX.cjs.map +0 -1
  407. package/dist/GraphEl-CnJf8b50.js.map +0 -1
  408. package/dist/GraphEl-D_w0Qak4.cjs +0 -2
  409. package/dist/GraphEl-D_w0Qak4.cjs.map +0 -1
  410. package/dist/XTicksAndGridLines-BDmF9etl.js +0 -38
  411. package/dist/XTicksAndGridLines-BDmF9etl.js.map +0 -1
  412. package/dist/XTicksAndGridLines-CekrPykD.cjs +0 -2
  413. package/dist/XTicksAndGridLines-CekrPykD.cjs.map +0 -1
  414. package/dist/YTicksAndGridLines-C3GW1xFG.js +0 -38
  415. package/dist/YTicksAndGridLines-C3GW1xFG.js.map +0 -1
  416. package/dist/YTicksAndGridLines-UzVC5eBM.cjs +0 -2
  417. package/dist/YTicksAndGridLines-UzVC5eBM.cjs.map +0 -1
  418. package/dist/checkIfMultiple-B97uOUVq.js.map +0 -1
  419. package/dist/checkIfMultiple-TOaaUwS7.cjs.map +0 -1
  420. package/dist/getSliderMarks-CIuSoedo.cjs +0 -2
  421. package/dist/getSliderMarks-CIuSoedo.cjs.map +0 -1
  422. package/dist/getSliderMarks-vXsR8RrR.js.map +0 -1
  423. package/dist/index-C6VwVS8W.js +0 -378
  424. package/dist/index-C6VwVS8W.js.map +0 -1
  425. package/dist/index-CHPV5EwG-6v2a2njQ.cjs.map +0 -1
  426. package/dist/index-CHPV5EwG-BCLAYDCV.js.map +0 -1
  427. package/dist/index-D6CYcVc7-BOa7Dpvf.js.map +0 -1
  428. package/dist/index-D6CYcVc7-CTEcAtiQ.cjs +0 -2
  429. package/dist/index-D6CYcVc7-CTEcAtiQ.cjs.map +0 -1
  430. package/dist/index-DoS4bGNa-Bgab95kx.js.map +0 -1
  431. package/dist/index-DoS4bGNa-C3DbPpy3.cjs.map +0 -1
  432. package/dist/index-_TlgeI_i.cjs +0 -2
  433. package/dist/index-_TlgeI_i.cjs.map +0 -1
  434. package/dist/numberFormattingFunction-02t-wJta.cjs +0 -2
  435. package/dist/numberFormattingFunction-02t-wJta.cjs.map +0 -1
  436. package/dist/numberFormattingFunction-14YCbkN2.js +0 -13
  437. package/dist/numberFormattingFunction-14YCbkN2.js.map +0 -1
  438. package/dist/x-BBpi7a_7-BsvWCzYM.js.map +0 -1
  439. package/dist/x-BBpi7a_7-DXYIEFwN.cjs +0 -2
  440. package/dist/x-BBpi7a_7-DXYIEFwN.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.cjs","sources":["../src/Components/Graphs/DataTable/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport isEqual from 'fast-deep-equal';\r\nimport { useEffect, useEffectEvent, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport { P } from '@undp/design-system-react/Typography';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n DataTableColumnDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport {\r\n FilterIcon,\r\n FilterIconApplied,\r\n SortingIcon,\r\n SortingIconAscending,\r\n SortingIconDescending,\r\n} from '@/Components/Icons';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects. If the data have a object for ket `rowStyle` then that is use to style the row of the table. */\r\n data: object[];\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 /** 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 /** 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 /** Minimum width of the table as string in px */\r\n minWidth?: string;\r\n /** Height of the graph */\r\n height?: 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 /** Column settings for each column shown in the table. */\r\n columnData: DataTableColumnDataType[];\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 /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\r\n resetSelectionOnDoubleClick?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Callback for mouse click event */\r\n onSeriesMouseClick?: (_d: any) => void;\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\nconst TotalWidth = (columns: (number | undefined)[]) => {\r\n const columnWidth = columns.map(d => d || 1);\r\n const sum = columnWidth.reduce((acc, cur) => acc + cur, 0);\r\n return sum;\r\n};\r\n\r\nexport function DataTable(props: Props) {\r\n const {\r\n width,\r\n height,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n footNote,\r\n graphID,\r\n data,\r\n columnData,\r\n onSeriesMouseClick,\r\n language = 'en',\r\n theme = 'light',\r\n ariaLabel,\r\n backgroundColor = false,\r\n padding,\r\n resetSelectionOnDoubleClick = true,\r\n styles,\r\n classNames,\r\n minWidth,\r\n naLabel = 'NA',\r\n precision = 2,\r\n } = props;\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const [columnSortBy, setColumnSortBy] = useState<string | undefined>(undefined);\r\n\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('asc');\r\n const [popupVisible, setPopupVisible] = useState<string | undefined>(undefined);\r\n const [popupStyle, setPopupStyle] = useState({});\r\n const [filterOption, setFilterOption] = useState(\r\n columnData\r\n .filter(d => d.filterOptions && d.filterOptions.length > 0)\r\n .map(d => ({ id: d.columnId, option: d.filterOptions as string[] })),\r\n );\r\n const [sortedData, setSortedData] = useState(data);\r\n\r\n const sortDataEvent = useEffectEvent((data: object[]) => {\r\n setSortedData(data);\r\n });\r\n\r\n useEffect(() => {\r\n const dataFiltered: any = [];\r\n\r\n data.forEach((d: any) => {\r\n let filter = true;\r\n filterOption.forEach(el => {\r\n if (\r\n typeof d[el.id] !== 'object' &&\r\n typeof d[el.id] !== 'function' &&\r\n typeof d[el.id] !== 'symbol'\r\n ) {\r\n if (columnData[columnData.findIndex(cd => cd.columnId === el.id)].separator) {\r\n const arr = d[el.id].split(\r\n columnData[columnData.findIndex(cd => cd.columnId === el.id)].separator,\r\n );\r\n if (intersection(arr, el.option).length === 0) filter = false;\r\n } else if (el.option.indexOf(d[el.id]) === -1) filter = false;\r\n }\r\n });\r\n if (filter) dataFiltered.push(d);\r\n });\r\n if (columnSortBy && data) {\r\n sortDataEvent(orderBy(dataFiltered, [columnSortBy], [sortDirection]));\r\n } else {\r\n sortDataEvent(dataFiltered);\r\n }\r\n }, [columnSortBy, sortDirection, data, filterOption, columnData]);\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 width={width}\r\n height={height}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription ? (\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 />\r\n ) : null}\r\n <div className='grow flex flex-col justify-center'>\r\n <div\r\n className='undp-scrollbar'\r\n style={{\r\n width: width ? `${width}px` : '100%',\r\n height: height ? `${height}px` : 'auto',\r\n }}\r\n >\r\n <div style={minWidth ? { minWidth } : undefined}>\r\n {data ? (\r\n <table className='w-full' style={{ borderCollapse: 'collapse' }}>\r\n <thead className='text-left bg-primary-gray-300 dark:bg-primary-gray-550'>\r\n <tr>\r\n {columnData?.map((d, i) => (\r\n <th\r\n className='text-primary-gray-700 dark:text-primary-gray-100 text-sm'\r\n style={{\r\n width: `calc(${\r\n (100 * (d.columnWidth || 1)) /\r\n TotalWidth(columnData.map(cd => cd.columnWidth || 1))\r\n }%`,\r\n }}\r\n key={i}\r\n >\r\n <div className='flex gap-2 justify-between items-center p-4'>\r\n <P\r\n size='sm'\r\n marginBottom='none'\r\n className={`w-fit grow text-${d.align || 'left'} font-bold`}\r\n >\r\n {d.columnTitle || d.columnId}\r\n </P>\r\n {d.sortable ? (\r\n <button\r\n type='button'\r\n className='bg-transparent cursor-pointer p-0 m-0 border-0'\r\n onClick={() => {\r\n if (columnSortBy === d.columnId) {\r\n if (sortDirection === 'asc') {\r\n setSortDirection('desc');\r\n }\r\n if (sortDirection === 'desc') {\r\n setColumnSortBy(undefined);\r\n }\r\n } else {\r\n setColumnSortBy(d.columnId);\r\n setSortDirection('asc');\r\n }\r\n }}\r\n >\r\n {columnSortBy === d.columnId ? (\r\n sortDirection === 'asc' ? (\r\n <SortingIconAscending />\r\n ) : (\r\n <SortingIconDescending />\r\n )\r\n ) : (\r\n <SortingIcon />\r\n )}\r\n </button>\r\n ) : null}\r\n {d.filterOptions && d.filterOptions.length ? (\r\n <button\r\n type='button'\r\n className='bg-transparent cursor-pointer m-0 p-0 border-0'\r\n onClick={event => {\r\n if (popupVisible === d.columnId) {\r\n setPopupVisible(undefined);\r\n } else if (event.currentTarget) {\r\n setPopupVisible(d.columnId);\r\n const rect = event.currentTarget.getBoundingClientRect();\r\n setPopupStyle({\r\n top: rect.bottom + window.scrollY,\r\n left:\r\n rect.left + window.scrollX - 160 < 0\r\n ? rect.left + window.scrollX\r\n : rect.left + window.scrollX - 160,\r\n width: '10rem',\r\n });\r\n }\r\n }}\r\n >\r\n {filterOption[filterOption.findIndex(el => el.id === d.columnId)]\r\n .option.length === d.filterOptions?.length ? (\r\n <FilterIcon />\r\n ) : (\r\n <FilterIconApplied />\r\n )}\r\n </button>\r\n ) : null}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {sortedData?.map((d: any, i: number) => (\r\n <tr\r\n key={i}\r\n className={`cursor-${\r\n onSeriesMouseClick ? 'pointer' : 'auto'\r\n } border-b border-b-primary-gray-400 dark:border-b-primary-gray-500 ${\r\n isEqual(mouseClickData, d)\r\n ? 'bg-primary-gray-200 dark:bg-primary-gray-600'\r\n : 'bg-transparent'\r\n }`}\r\n style={d.rowStyle}\r\n onClick={() => {\r\n if (onSeriesMouseClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick(d);\r\n }\r\n }\r\n }}\r\n >\r\n {columnData.map((el, j) => (\r\n <td\r\n key={j}\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 text-sm text-${\r\n el.align || 'left'\r\n }`}\r\n style={{\r\n width: `calc(${\r\n (100 * (d.columnWidth || 1)) /\r\n TotalWidth(columnData.map(cd => cd.columnWidth || 1))\r\n }%`,\r\n }}\r\n >\r\n <div\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 flex p-4 ${\r\n el.align === 'right'\r\n ? 'justify-end'\r\n : el.align === 'center'\r\n ? 'justify-center'\r\n : 'justify-start'\r\n }`}\r\n >\r\n {typeof d[el.columnId] === 'number' ? (\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 w-fit ${\r\n el.chip ? 'grow-0 rounded-sm p-2' : 'grow rounded-none p-0'\r\n } text-${el.align || 'left'} ${\r\n el.chip\r\n ? !el.chipColors\r\n ? 'bg-primary-gray-300 dark:bg-primary-gray-500'\r\n : ''\r\n : 'bg-transparent'\r\n }`}\r\n style={{\r\n ...(el.chip && el.chipColors\r\n ? {\r\n backgroundColor:\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c => c.value === d[el.chipColumnId || el.columnId],\r\n )\r\n ].color,\r\n color: getTextColorBasedOnBgColor(\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c => c.value === d[el.chipColumnId || el.columnId],\r\n )\r\n ].color,\r\n ),\r\n }\r\n : {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d[el.columnId],\r\n naLabel,\r\n precision,\r\n el.prefix,\r\n el.suffix,\r\n )}\r\n </P>\r\n ) : typeof d[el.columnId] === 'string' ? (\r\n el.separator ? (\r\n <div className='text-primary-gray-700 dark:text-primary-gray-100 flex flex-wrap gap-2'>\r\n {d[el.columnId]\r\n .split(el.separator)\r\n .map((element: string, indx: number) => (\r\n <P\r\n key={indx}\r\n marginBottom='none'\r\n size='sm'\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 w-fit ${\r\n el.chip\r\n ? 'grow-0 rounded-sm p-2'\r\n : 'grow rounded-none p-0'\r\n } text-${el.align || 'left'} ${\r\n el.chip\r\n ? !el.chipColors\r\n ? 'bg-primary-gray-300 dark:bg-primary-gray-500'\r\n : ''\r\n : 'bg-transparent'\r\n }`}\r\n style={{\r\n ...(el.chip && el.chipColors\r\n ? {\r\n backgroundColor:\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c =>\r\n c.value ===\r\n (el.chipColumnId\r\n ? d[el.chipColumnId]\r\n : element),\r\n )\r\n ].color,\r\n color: getTextColorBasedOnBgColor(\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c =>\r\n c.value ===\r\n (el.chipColumnId\r\n ? d[el.chipColumnId]\r\n : element),\r\n )\r\n ].color,\r\n ),\r\n }\r\n : {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n element,\r\n naLabel,\r\n precision,\r\n el.prefix,\r\n el.suffix,\r\n )}\r\n </P>\r\n ))}\r\n </div>\r\n ) : (\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 w-fit ${\r\n el.chip ? 'grow-0 rounded-sm p-2' : 'grow rounded-none p-0'\r\n } text-${el.align || 'left'} ${\r\n el.chip\r\n ? !el.chipColors\r\n ? 'bg-primary-gray-300 dark:bg-primary-gray-500'\r\n : ''\r\n : 'bg-transparent'\r\n }`}\r\n style={{\r\n ...(el.chip && el.chipColors\r\n ? {\r\n backgroundColor:\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c => c.value === d[el.chipColumnId || el.columnId],\r\n )\r\n ].color,\r\n color: getTextColorBasedOnBgColor(\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c => c.value === d[el.chipColumnId || el.columnId],\r\n )\r\n ].color,\r\n ),\r\n }\r\n : {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d[el.columnId],\r\n naLabel,\r\n precision,\r\n el.prefix,\r\n el.suffix,\r\n )}\r\n </P>\r\n )\r\n ) : (\r\n <div>\r\n {numberFormattingFunction(\r\n d[el.columnId],\r\n naLabel,\r\n precision,\r\n el.prefix,\r\n el.suffix,\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </td>\r\n ))}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n ) : null}\r\n </div>\r\n </div>\r\n </div>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n {popupVisible && (\r\n <div\r\n style={popupStyle}\r\n className='absolute p-3 border z-[1000] rounded-sm bg-primary-white dark:bg-primary-gray-700 border-primary-gray-300 dark:border-primary-gray-550'\r\n >\r\n <div className='max-w-60'>\r\n <P size='sm' marginBottom='2xs' className='font-bold'>\r\n Filter data by\r\n </P>\r\n <div className='flex flex-col gap-2'>\r\n {columnData[\r\n columnData.findIndex(d => d.columnId === popupVisible)\r\n ].filterOptions?.map((el, i) => (\r\n <div key={i}>\r\n <label key={i} className='undp-viz-label'>\r\n <input\r\n type='checkbox'\r\n className='undp-viz-checkbox'\r\n checked={\r\n filterOption[\r\n filterOption.findIndex(d => d.id === popupVisible)\r\n ].option.indexOf(el) !== -1\r\n }\r\n onChange={() => {\r\n const indx = filterOption.findIndex(d => d.id === popupVisible);\r\n const opt = [...filterOption[indx].option];\r\n if (opt.indexOf(el) !== -1) {\r\n opt.splice(opt.indexOf(el), 1);\r\n const filterOptionDuplicate = [...filterOption];\r\n filterOptionDuplicate[indx].option = opt;\r\n setFilterOption(filterOptionDuplicate);\r\n } else {\r\n opt.push(el);\r\n const filterOptionDuplicate = [...filterOption];\r\n filterOptionDuplicate[indx].option = opt;\r\n setFilterOption(filterOptionDuplicate);\r\n }\r\n }}\r\n />\r\n {el}\r\n </label>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["TotalWidth","columns","map","d","reduce","acc","cur","DataTable","props","$","_c","width","height","graphTitle","sources","graphDescription","footNote","graphID","data","columnData","onSeriesMouseClick","language","t0","theme","t1","ariaLabel","backgroundColor","t2","padding","resetSelectionOnDoubleClick","t3","styles","classNames","minWidth","naLabel","t4","precision","t5","undefined","graphParentDiv","useRef","columnSortBy","setColumnSortBy","useState","mouseClickData","setMouseClickData","sortDirection","setSortDirection","popupVisible","setPopupVisible","t6","Symbol","for","popupStyle","setPopupStyle","t7","filter","_temp","_temp2","filterOption","setFilterOption","sortedData","setSortedData","t8","data_0","sortDataEvent","useEffectEvent","t9","dataFiltered","forEach","d_1","el","id","findIndex","cd_0","cd","columnId","separator","arr","split","intersection","option","length","indexOf","push","orderBy","t10","useEffect","t11","graphContainer","t12","t13","description","title","jsx","GraphHeader","t14","t15","t16","t17","t18","jsxs","borderCollapse","d_2","i","columnWidth","_temp3","P","align","columnTitle","sortable","SortingIconAscending","SortingIconDescending","SortingIcon","filterOptions","event","currentTarget","rect","getBoundingClientRect","top","bottom","window","scrollY","left","scrollX","FilterIcon","FilterIconApplied","d_3","i_0","isEqual","rowStyle","el_1","j","_temp4","chip","chipColors","c","value","chipColumnId","color","getTextColorBasedOnBgColor","c_0","numberFormattingFunction","prefix","suffix","element","indx","c_1","c_2","c_3","c_4","t19","t20","t21","footnote","source","GraphFooter","t22","d_4","el_2","i_1","d_5","indx_0","d_6","opt","splice","filterOptionDuplicate","filterOptionDuplicate_0","t23","GraphContainer","cd_2","cd_1","d_0"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.cjs","sources":["../src/Components/Graphs/DataTable/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport isEqual from 'fast-deep-equal';\r\nimport { useEffect, useEffectEvent, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport { P } from '@undp/design-system-react/Typography';\r\nimport orderBy from 'lodash.orderby';\r\n\r\nimport {\r\n DataTableColumnDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport {\r\n FilterIcon,\r\n FilterIconApplied,\r\n SortingIcon,\r\n SortingIconAscending,\r\n SortingIconDescending,\r\n} from '@/Components/Icons';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { GraphContainer } from '@/Components/Elements/GraphContainer';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects. If the data have a object for ket `rowStyle` then that is use to style the row of the table. */\r\n data: object[];\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 /** 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 /** 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 /** Minimum width of the table as string in px */\r\n minWidth?: string;\r\n /** Height of the graph */\r\n height?: 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 /** Column settings for each column shown in the table. */\r\n columnData: DataTableColumnDataType[];\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 /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\r\n resetSelectionOnDoubleClick?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Callback for mouse click event */\r\n onSeriesMouseClick?: (_d: any) => void;\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 /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */\r\n locale?: string;\r\n}\r\n\r\nconst TotalWidth = (columns: (number | undefined)[]) => {\r\n const columnWidth = columns.map(d => d || 1);\r\n const sum = columnWidth.reduce((acc, cur) => acc + cur, 0);\r\n return sum;\r\n};\r\n\r\nexport function DataTable(props: Props) {\r\n const {\r\n width,\r\n height,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n footNote,\r\n graphID,\r\n data,\r\n columnData,\r\n onSeriesMouseClick,\r\n language = 'en',\r\n theme = 'light',\r\n ariaLabel,\r\n backgroundColor = false,\r\n padding,\r\n resetSelectionOnDoubleClick = true,\r\n styles,\r\n classNames,\r\n minWidth,\r\n naLabel = 'NA',\r\n precision = 2,\r\n locale = 'en',\r\n } = props;\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const [columnSortBy, setColumnSortBy] = useState<string | undefined>(undefined);\r\n\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [sortDirection, setSortDirection] = useState<'asc' | 'desc'>('asc');\r\n const [popupVisible, setPopupVisible] = useState<string | undefined>(undefined);\r\n const [popupStyle, setPopupStyle] = useState({});\r\n const [filterOption, setFilterOption] = useState(\r\n columnData\r\n .filter(d => d.filterOptions && d.filterOptions.length > 0)\r\n .map(d => ({ id: d.columnId, option: d.filterOptions as string[] })),\r\n );\r\n const [sortedData, setSortedData] = useState(data);\r\n\r\n const sortDataEvent = useEffectEvent((data: object[]) => {\r\n setSortedData(data);\r\n });\r\n\r\n useEffect(() => {\r\n const dataFiltered: any = [];\r\n\r\n data.forEach((d: any) => {\r\n let filter = true;\r\n filterOption.forEach(el => {\r\n if (\r\n typeof d[el.id] !== 'object' &&\r\n typeof d[el.id] !== 'function' &&\r\n typeof d[el.id] !== 'symbol'\r\n ) {\r\n if (columnData[columnData.findIndex(cd => cd.columnId === el.id)].separator) {\r\n const arr = d[el.id].split(\r\n columnData[columnData.findIndex(cd => cd.columnId === el.id)].separator,\r\n );\r\n if (intersection(arr, el.option).length === 0) filter = false;\r\n } else if (el.option.indexOf(d[el.id]) === -1) filter = false;\r\n }\r\n });\r\n if (filter) dataFiltered.push(d);\r\n });\r\n if (columnSortBy && data) {\r\n sortDataEvent(orderBy(dataFiltered, [columnSortBy], [sortDirection]));\r\n } else {\r\n sortDataEvent(dataFiltered);\r\n }\r\n }, [columnSortBy, sortDirection, data, filterOption, columnData]);\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 width={width}\r\n height={height}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription ? (\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 />\r\n ) : null}\r\n <div className='grow flex flex-col justify-center'>\r\n <div\r\n className='undp-scrollbar'\r\n style={{\r\n width: width ? `${width}px` : '100%',\r\n height: height ? `${height}px` : 'auto',\r\n }}\r\n >\r\n <div style={minWidth ? { minWidth } : undefined}>\r\n {data ? (\r\n <table className='w-full' style={{ borderCollapse: 'collapse' }}>\r\n <thead className='text-left bg-primary-gray-300 dark:bg-primary-gray-550'>\r\n <tr>\r\n {columnData?.map((d, i) => (\r\n <th\r\n className='text-primary-gray-700 dark:text-primary-gray-100 text-sm'\r\n style={{\r\n width: `calc(${\r\n (100 * (d.columnWidth || 1)) /\r\n TotalWidth(columnData.map(cd => cd.columnWidth || 1))\r\n }%`,\r\n }}\r\n key={i}\r\n >\r\n <div className='flex gap-2 justify-between items-center p-4'>\r\n <P\r\n size='sm'\r\n marginBottom='none'\r\n className={`w-fit grow text-${d.align || 'left'} font-bold`}\r\n >\r\n {d.columnTitle || d.columnId}\r\n </P>\r\n {d.sortable ? (\r\n <button\r\n type='button'\r\n className='bg-transparent cursor-pointer p-0 m-0 border-0'\r\n onClick={() => {\r\n if (columnSortBy === d.columnId) {\r\n if (sortDirection === 'asc') {\r\n setSortDirection('desc');\r\n }\r\n if (sortDirection === 'desc') {\r\n setColumnSortBy(undefined);\r\n }\r\n } else {\r\n setColumnSortBy(d.columnId);\r\n setSortDirection('asc');\r\n }\r\n }}\r\n >\r\n {columnSortBy === d.columnId ? (\r\n sortDirection === 'asc' ? (\r\n <SortingIconAscending />\r\n ) : (\r\n <SortingIconDescending />\r\n )\r\n ) : (\r\n <SortingIcon />\r\n )}\r\n </button>\r\n ) : null}\r\n {d.filterOptions && d.filterOptions.length ? (\r\n <button\r\n type='button'\r\n className='bg-transparent cursor-pointer m-0 p-0 border-0'\r\n onClick={event => {\r\n if (popupVisible === d.columnId) {\r\n setPopupVisible(undefined);\r\n } else if (event.currentTarget) {\r\n setPopupVisible(d.columnId);\r\n const rect = event.currentTarget.getBoundingClientRect();\r\n setPopupStyle({\r\n top: rect.bottom + window.scrollY,\r\n left:\r\n rect.left + window.scrollX - 160 < 0\r\n ? rect.left + window.scrollX\r\n : rect.left + window.scrollX - 160,\r\n width: '10rem',\r\n });\r\n }\r\n }}\r\n >\r\n {filterOption[filterOption.findIndex(el => el.id === d.columnId)]\r\n .option.length === d.filterOptions?.length ? (\r\n <FilterIcon />\r\n ) : (\r\n <FilterIconApplied />\r\n )}\r\n </button>\r\n ) : null}\r\n </div>\r\n </th>\r\n ))}\r\n </tr>\r\n </thead>\r\n <tbody>\r\n {sortedData?.map((d: any, i: number) => (\r\n <tr\r\n key={i}\r\n className={`cursor-${\r\n onSeriesMouseClick ? 'pointer' : 'auto'\r\n } border-b border-b-primary-gray-400 dark:border-b-primary-gray-500 ${\r\n isEqual(mouseClickData, d)\r\n ? 'bg-primary-gray-200 dark:bg-primary-gray-600'\r\n : 'bg-transparent'\r\n }`}\r\n style={d.rowStyle}\r\n onClick={() => {\r\n if (onSeriesMouseClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick(d);\r\n }\r\n }\r\n }}\r\n >\r\n {columnData.map((el, j) => (\r\n <td\r\n key={j}\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 text-sm text-${\r\n el.align || 'left'\r\n }`}\r\n style={{\r\n width: `calc(${\r\n (100 * (d.columnWidth || 1)) /\r\n TotalWidth(columnData.map(cd => cd.columnWidth || 1))\r\n }%`,\r\n }}\r\n >\r\n <div\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 flex p-4 ${\r\n el.align === 'right'\r\n ? 'justify-end'\r\n : el.align === 'center'\r\n ? 'justify-center'\r\n : 'justify-start'\r\n }`}\r\n >\r\n {typeof d[el.columnId] === 'number' ? (\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 w-fit ${\r\n el.chip ? 'grow-0 rounded-sm p-2' : 'grow rounded-none p-0'\r\n } text-${el.align || 'left'} ${\r\n el.chip\r\n ? !el.chipColors\r\n ? 'bg-primary-gray-300 dark:bg-primary-gray-500'\r\n : ''\r\n : 'bg-transparent'\r\n }`}\r\n style={{\r\n ...(el.chip && el.chipColors\r\n ? {\r\n backgroundColor:\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c => c.value === d[el.chipColumnId || el.columnId],\r\n )\r\n ].color,\r\n color: getTextColorBasedOnBgColor(\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c => c.value === d[el.chipColumnId || el.columnId],\r\n )\r\n ].color,\r\n ),\r\n }\r\n : {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d[el.columnId],\r\n naLabel,\r\n precision,\r\n el.prefix,\r\n el.suffix,\r\n locale,\r\n )}\r\n </P>\r\n ) : typeof d[el.columnId] === 'string' ? (\r\n el.separator ? (\r\n <div className='text-primary-gray-700 dark:text-primary-gray-100 flex flex-wrap gap-2'>\r\n {d[el.columnId]\r\n .split(el.separator)\r\n .map((element: string, indx: number) => (\r\n <P\r\n key={indx}\r\n marginBottom='none'\r\n size='sm'\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 w-fit ${\r\n el.chip\r\n ? 'grow-0 rounded-sm p-2'\r\n : 'grow rounded-none p-0'\r\n } text-${el.align || 'left'} ${\r\n el.chip\r\n ? !el.chipColors\r\n ? 'bg-primary-gray-300 dark:bg-primary-gray-500'\r\n : ''\r\n : 'bg-transparent'\r\n }`}\r\n style={{\r\n ...(el.chip && el.chipColors\r\n ? {\r\n backgroundColor:\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c =>\r\n c.value ===\r\n (el.chipColumnId\r\n ? d[el.chipColumnId]\r\n : element),\r\n )\r\n ].color,\r\n color: getTextColorBasedOnBgColor(\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c =>\r\n c.value ===\r\n (el.chipColumnId\r\n ? d[el.chipColumnId]\r\n : element),\r\n )\r\n ].color,\r\n ),\r\n }\r\n : {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n element,\r\n naLabel,\r\n precision,\r\n el.prefix,\r\n el.suffix,\r\n locale,\r\n )}\r\n </P>\r\n ))}\r\n </div>\r\n ) : (\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className={`text-primary-gray-700 dark:text-primary-gray-100 w-fit ${\r\n el.chip ? 'grow-0 rounded-sm p-2' : 'grow rounded-none p-0'\r\n } text-${el.align || 'left'} ${\r\n el.chip\r\n ? !el.chipColors\r\n ? 'bg-primary-gray-300 dark:bg-primary-gray-500'\r\n : ''\r\n : 'bg-transparent'\r\n }`}\r\n style={{\r\n ...(el.chip && el.chipColors\r\n ? {\r\n backgroundColor:\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c => c.value === d[el.chipColumnId || el.columnId],\r\n )\r\n ].color,\r\n color: getTextColorBasedOnBgColor(\r\n el.chipColors[\r\n el.chipColors.findIndex(\r\n c => c.value === d[el.chipColumnId || el.columnId],\r\n )\r\n ].color,\r\n ),\r\n }\r\n : {}),\r\n }}\r\n >\r\n {numberFormattingFunction(\r\n d[el.columnId],\r\n naLabel,\r\n precision,\r\n el.prefix,\r\n el.suffix,\r\n locale,\r\n )}\r\n </P>\r\n )\r\n ) : (\r\n <div>\r\n {numberFormattingFunction(\r\n d[el.columnId],\r\n naLabel,\r\n precision,\r\n el.prefix,\r\n el.suffix,\r\n locale,\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </td>\r\n ))}\r\n </tr>\r\n ))}\r\n </tbody>\r\n </table>\r\n ) : null}\r\n </div>\r\n </div>\r\n </div>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n {popupVisible && (\r\n <div\r\n style={popupStyle}\r\n className='absolute p-3 border z-[1000] rounded-sm bg-primary-white dark:bg-primary-gray-700 border-primary-gray-300 dark:border-primary-gray-550'\r\n >\r\n <div className='max-w-60'>\r\n <P size='sm' marginBottom='2xs' className='font-bold'>\r\n Filter data by\r\n </P>\r\n <div className='flex flex-col gap-2'>\r\n {columnData[\r\n columnData.findIndex(d => d.columnId === popupVisible)\r\n ].filterOptions?.map((el, i) => (\r\n <div key={i}>\r\n <label key={i} className='undp-viz-label'>\r\n <input\r\n type='checkbox'\r\n className='undp-viz-checkbox'\r\n checked={\r\n filterOption[\r\n filterOption.findIndex(d => d.id === popupVisible)\r\n ].option.indexOf(el) !== -1\r\n }\r\n onChange={() => {\r\n const indx = filterOption.findIndex(d => d.id === popupVisible);\r\n const opt = [...filterOption[indx].option];\r\n if (opt.indexOf(el) !== -1) {\r\n opt.splice(opt.indexOf(el), 1);\r\n const filterOptionDuplicate = [...filterOption];\r\n filterOptionDuplicate[indx].option = opt;\r\n setFilterOption(filterOptionDuplicate);\r\n } else {\r\n opt.push(el);\r\n const filterOptionDuplicate = [...filterOption];\r\n filterOptionDuplicate[indx].option = opt;\r\n setFilterOption(filterOptionDuplicate);\r\n }\r\n }}\r\n />\r\n {el}\r\n </label>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n )}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["TotalWidth","columns","map","d","reduce","acc","cur","DataTable","props","$","_c","width","height","graphTitle","sources","graphDescription","footNote","graphID","data","columnData","onSeriesMouseClick","language","t0","theme","t1","ariaLabel","backgroundColor","t2","padding","resetSelectionOnDoubleClick","t3","styles","classNames","minWidth","naLabel","t4","precision","t5","locale","t6","undefined","graphParentDiv","useRef","columnSortBy","setColumnSortBy","useState","mouseClickData","setMouseClickData","sortDirection","setSortDirection","popupVisible","setPopupVisible","t7","Symbol","for","popupStyle","setPopupStyle","t8","filter","_temp","_temp2","filterOption","setFilterOption","sortedData","setSortedData","t9","data_0","sortDataEvent","useEffectEvent","t10","dataFiltered","forEach","d_1","el","id","findIndex","cd_0","cd","columnId","separator","arr","split","intersection","option","length","indexOf","push","orderBy","t11","useEffect","t12","graphContainer","t13","t14","description","title","jsx","GraphHeader","t15","t16","t17","t18","t19","jsxs","borderCollapse","d_2","i","columnWidth","_temp3","P","align","columnTitle","sortable","SortingIconAscending","SortingIconDescending","SortingIcon","filterOptions","event","currentTarget","rect","getBoundingClientRect","top","bottom","window","scrollY","left","scrollX","FilterIcon","FilterIconApplied","d_3","i_0","isEqual","rowStyle","el_1","j","_temp4","chip","chipColors","c","value","chipColumnId","color","getTextColorBasedOnBgColor","c_0","numberFormattingFunction","prefix","suffix","element","indx","c_1","c_2","c_3","c_4","t20","t21","t22","footnote","source","GraphFooter","t23","d_4","el_2","i_1","d_5","indx_0","d_6","opt","splice","filterOptionDuplicate","filterOptionDuplicate_0","t24","GraphContainer","cd_2","cd_1","d_0"],"mappings":"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"}
@@ -98,6 +98,8 @@ declare interface Props {
98
98
  theme?: 'light' | 'dark';
99
99
  /** Unique ID for the graph */
100
100
  graphID?: string;
101
+ /** Locale for number formatting. Must matches what `Intl.NumberFormat` expects. */
102
+ locale?: string;
101
103
  }
102
104
 
103
105
  declare interface SourcesDataType {
package/dist/DataTable.js CHANGED
@@ -1,188 +1,189 @@
1
- import { c as vt, j as i } from "./index-CHPV5EwG-BCLAYDCV.js";
2
- import { i as yt } from "./index-Bwrro8-q.js";
3
- import { useRef as kt, useState as y, useEffectEvent as wt, useEffect as Nt } from "react";
4
- import { i as $t } from "./index-BuwmuDFJ.js";
5
- import { _ as B } from "./Typography-DMVW6JnV.js";
6
- import { o as Ot } from "./index-BZQYSqar.js";
7
- import { n as V } from "./numberFormattingFunction-14YCbkN2.js";
8
- import { GraphFooter as Dt } from "./GraphFooter.js";
9
- import { GraphHeader as St } from "./GraphHeader.js";
10
- import { S as Bt, a as Et, b as Ft, F as zt, c as Wt } from "./index-CZ0elhKR.js";
11
- import { g as st } from "./getTextColorBasedOnBgColor-CDY808zi.js";
12
- import { G as Tt } from "./GraphContainer-DwMxWRCi.js";
13
- const bt = (c) => c.map((h) => h || 1).reduce((h, b) => h + b, 0);
14
- function _t(c) {
15
- const t = vt.c(77), {
1
+ import { c as wt, j as i } from "./index-CHPV5EwG-BzibaIRc.js";
2
+ import { i as Ct } from "./index-Bwrro8-q.js";
3
+ import { useRef as Nt, useState as y, useEffectEvent as $t, useEffect as Ot } from "react";
4
+ import { i as Dt } from "./index-BuwmuDFJ.js";
5
+ import { _ as E } from "./Typography-BO0gQDIT.js";
6
+ import { o as St } from "./index-BZQYSqar.js";
7
+ import { n as q } from "./numberFormattingFunction-DqMf_v1m.js";
8
+ import { GraphFooter as Bt } from "./GraphFooter.js";
9
+ import { GraphHeader as Et } from "./GraphHeader.js";
10
+ import { S as Ft, a as zt, b as Wt, F as Tt, c as Gt } from "./index-ApTBN0kp.js";
11
+ import { g as at } from "./getTextColorBasedOnBgColor-CDY808zi.js";
12
+ import { G as Rt } from "./GraphContainer-B8ZqOzKI.js";
13
+ const It = (c) => c.map((h) => h || 1).reduce((h, b) => h + b, 0);
14
+ function oo(c) {
15
+ const t = wt.c(78), {
16
16
  width: m,
17
17
  height: h,
18
18
  graphTitle: b,
19
- sources: E,
20
- graphDescription: F,
21
- footNote: z,
22
- graphID: q,
19
+ sources: F,
20
+ graphDescription: z,
21
+ footNote: W,
22
+ graphID: H,
23
23
  data: f,
24
24
  columnData: s,
25
25
  onSeriesMouseClick: C,
26
- language: at,
27
- theme: ct,
28
- ariaLabel: H,
29
- backgroundColor: lt,
30
- padding: Y,
31
- resetSelectionOnDoubleClick: pt,
26
+ language: ct,
27
+ theme: lt,
28
+ ariaLabel: Y,
29
+ backgroundColor: pt,
30
+ padding: J,
31
+ resetSelectionOnDoubleClick: dt,
32
32
  styles: l,
33
33
  classNames: p,
34
- minWidth: W,
35
- naLabel: dt,
36
- precision: mt
37
- } = c, J = at === void 0 ? "en" : at, K = ct === void 0 ? "light" : ct, Q = lt === void 0 ? !1 : lt, U = pt === void 0 ? !0 : pt, I = dt === void 0 ? "NA" : dt, j = mt === void 0 ? 2 : mt, Ct = kt(null), [u, ft] = y(void 0), [T, ut] = y(void 0), [g, gt] = y("asc"), [x, ht] = y(void 0);
38
- let G;
39
- t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (G = {}, t[0] = G) : G = t[0];
40
- const [Z, It] = y(G);
34
+ minWidth: T,
35
+ naLabel: mt,
36
+ precision: ft,
37
+ locale: ut
38
+ } = c, K = ct === void 0 ? "en" : ct, Q = lt === void 0 ? "light" : lt, U = pt === void 0 ? !1 : pt, Z = dt === void 0 ? !0 : dt, I = mt === void 0 ? "NA" : mt, j = ft === void 0 ? 2 : ft, v = ut === void 0 ? "en" : ut, jt = Nt(null), [u, gt] = y(void 0), [G, ht] = y(void 0), [g, xt] = y("asc"), [x, yt] = y(void 0);
41
39
  let R;
42
- t[1] !== s ? (R = s.filter(Lt).map(At), t[1] = s, t[2] = R) : R = t[2];
43
- const [a, xt] = y(R), [_, jt] = y(f);
40
+ t[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (R = {}, t[0] = R) : R = t[0];
41
+ const [_, vt] = y(R);
44
42
  let A;
45
- t[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (A = (r) => {
46
- jt(r);
47
- }, t[3] = A) : A = t[3];
48
- const L = wt(A);
49
- let P;
50
- t[4] !== s || t[5] !== u || t[6] !== f || t[7] !== a || t[8] !== L || t[9] !== g ? (P = () => {
43
+ t[1] !== s ? (A = s.filter(Xt).map(Pt), t[1] = s, t[2] = A) : A = t[2];
44
+ const [a, bt] = y(A), [tt, kt] = y(f);
45
+ let L;
46
+ t[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (L = (r) => {
47
+ kt(r);
48
+ }, t[3] = L) : L = t[3];
49
+ const P = $t(L);
50
+ let X;
51
+ t[4] !== s || t[5] !== u || t[6] !== f || t[7] !== a || t[8] !== P || t[9] !== g ? (X = () => {
51
52
  const r = [];
52
53
  f.forEach((d) => {
53
54
  let o = !0;
54
55
  a.forEach((e) => {
55
56
  if (typeof d[e.id] != "object" && typeof d[e.id] != "function" && typeof d[e.id] != "symbol")
56
57
  if (s[s.findIndex((n) => n.columnId === e.id)].separator) {
57
- const n = d[e.id].split(s[s.findIndex((et) => et.columnId === e.id)].separator);
58
- $t(n, e.option).length === 0 && (o = !1);
58
+ const n = d[e.id].split(s[s.findIndex((nt) => nt.columnId === e.id)].separator);
59
+ Dt(n, e.option).length === 0 && (o = !1);
59
60
  } else
60
61
  e.option.indexOf(d[e.id]) === -1 && (o = !1);
61
62
  }), o && r.push(d);
62
- }), L(u && f ? Ot(r, [u], [g]) : r);
63
- }, t[4] = s, t[5] = u, t[6] = f, t[7] = a, t[8] = L, t[9] = g, t[10] = P) : P = t[10];
64
- let X;
65
- t[11] !== s || t[12] !== u || t[13] !== f || t[14] !== a || t[15] !== g ? (X = [u, g, f, a, s], t[11] = s, t[12] = u, t[13] = f, t[14] = a, t[15] = g, t[16] = X) : X = t[16], Nt(P, X);
66
- const tt = p?.graphContainer, ot = l?.graphContainer;
67
- let v;
68
- t[17] !== p?.description || t[18] !== p?.title || t[19] !== F || t[20] !== b || t[21] !== l?.description || t[22] !== l?.title || t[23] !== m ? (v = b || F ? /* @__PURE__ */ i.jsx(St, { styles: {
63
+ }), P(u && f ? St(r, [u], [g]) : r);
64
+ }, t[4] = s, t[5] = u, t[6] = f, t[7] = a, t[8] = P, t[9] = g, t[10] = X) : X = t[10];
65
+ let M;
66
+ t[11] !== s || t[12] !== u || t[13] !== f || t[14] !== a || t[15] !== g ? (M = [u, g, f, a, s], t[11] = s, t[12] = u, t[13] = f, t[14] = a, t[15] = g, t[16] = M) : M = t[16], Ot(X, M);
67
+ const ot = p?.graphContainer, rt = l?.graphContainer;
68
+ let k;
69
+ t[17] !== p?.description || t[18] !== p?.title || t[19] !== z || t[20] !== b || t[21] !== l?.description || t[22] !== l?.title || t[23] !== m ? (k = b || z ? /* @__PURE__ */ i.jsx(Et, { styles: {
69
70
  title: l?.title,
70
71
  description: l?.description
71
72
  }, classNames: {
72
73
  title: p?.title,
73
74
  description: p?.description
74
- }, graphTitle: b, graphDescription: F, width: m }) : null, t[17] = p?.description, t[18] = p?.title, t[19] = F, t[20] = b, t[21] = l?.description, t[22] = l?.title, t[23] = m, t[24] = v) : v = t[24];
75
- const rt = m ? `${m}px` : "100%", it = h ? `${h}px` : "auto";
76
- let k;
77
- t[25] !== rt || t[26] !== it ? (k = {
78
- width: rt,
79
- height: it
80
- }, t[25] = rt, t[26] = it, t[27] = k) : k = t[27];
75
+ }, graphTitle: b, graphDescription: z, width: m }) : null, t[17] = p?.description, t[18] = p?.title, t[19] = z, t[20] = b, t[21] = l?.description, t[22] = l?.title, t[23] = m, t[24] = k) : k = t[24];
76
+ const it = m ? `${m}px` : "100%", et = h ? `${h}px` : "auto";
81
77
  let w;
82
- t[28] !== W ? (w = W ? {
83
- minWidth: W
84
- } : void 0, t[28] = W, t[29] = w) : w = t[29];
78
+ t[25] !== it || t[26] !== et ? (w = {
79
+ width: it,
80
+ height: et
81
+ }, t[25] = it, t[26] = et, t[27] = w) : w = t[27];
85
82
  let N;
86
- t[30] !== s || t[31] !== u || t[32] !== f || t[33] !== a || t[34] !== T || t[35] !== I || t[36] !== C || t[37] !== x || t[38] !== j || t[39] !== U || t[40] !== g || t[41] !== _ ? (N = f ? /* @__PURE__ */ i.jsxs("table", { className: "w-full", style: {
83
+ t[28] !== T ? (N = T ? {
84
+ minWidth: T
85
+ } : void 0, t[28] = T, t[29] = N) : N = t[29];
86
+ let $;
87
+ t[30] !== s || t[31] !== u || t[32] !== f || t[33] !== a || t[34] !== v || t[35] !== G || t[36] !== I || t[37] !== C || t[38] !== x || t[39] !== j || t[40] !== Z || t[41] !== g || t[42] !== tt ? ($ = f ? /* @__PURE__ */ i.jsxs("table", { className: "w-full", style: {
87
88
  borderCollapse: "collapse"
88
89
  }, children: [
89
90
  /* @__PURE__ */ i.jsx("thead", { className: "text-left bg-primary-gray-300 dark:bg-primary-gray-550", children: /* @__PURE__ */ i.jsx("tr", { children: s?.map((r, d) => /* @__PURE__ */ i.jsx("th", { className: "text-primary-gray-700 dark:text-primary-gray-100 text-sm", style: {
90
- width: `calc(${100 * (r.columnWidth || 1) / bt(s.map(Rt))}%`
91
+ width: `calc(${100 * (r.columnWidth || 1) / It(s.map(Lt))}%`
91
92
  }, children: /* @__PURE__ */ i.jsxs("div", { className: "flex gap-2 justify-between items-center p-4", children: [
92
- /* @__PURE__ */ i.jsx(B, { size: "sm", marginBottom: "none", className: `w-fit grow text-${r.align || "left"} font-bold`, children: r.columnTitle || r.columnId }),
93
+ /* @__PURE__ */ i.jsx(E, { size: "sm", marginBottom: "none", className: `w-fit grow text-${r.align || "left"} font-bold`, children: r.columnTitle || r.columnId }),
93
94
  r.sortable ? /* @__PURE__ */ i.jsx("button", { type: "button", className: "bg-transparent cursor-pointer p-0 m-0 border-0", onClick: () => {
94
- u === r.columnId ? (g === "asc" && gt("desc"), g === "desc" && ft(void 0)) : (ft(r.columnId), gt("asc"));
95
- }, children: u === r.columnId ? g === "asc" ? /* @__PURE__ */ i.jsx(Bt, {}) : /* @__PURE__ */ i.jsx(Et, {}) : /* @__PURE__ */ i.jsx(Ft, {}) }) : null,
95
+ u === r.columnId ? (g === "asc" && xt("desc"), g === "desc" && gt(void 0)) : (gt(r.columnId), xt("asc"));
96
+ }, children: u === r.columnId ? g === "asc" ? /* @__PURE__ */ i.jsx(Ft, {}) : /* @__PURE__ */ i.jsx(zt, {}) : /* @__PURE__ */ i.jsx(Wt, {}) }) : null,
96
97
  r.filterOptions && r.filterOptions.length ? /* @__PURE__ */ i.jsx("button", { type: "button", className: "bg-transparent cursor-pointer m-0 p-0 border-0", onClick: (o) => {
97
98
  if (x === r.columnId)
98
- ht(void 0);
99
+ yt(void 0);
99
100
  else if (o.currentTarget) {
100
- ht(r.columnId);
101
+ yt(r.columnId);
101
102
  const e = o.currentTarget.getBoundingClientRect();
102
- It({
103
+ vt({
103
104
  top: e.bottom + window.scrollY,
104
105
  left: e.left + window.scrollX - 160 < 0 ? e.left + window.scrollX : e.left + window.scrollX - 160,
105
106
  width: "10rem"
106
107
  });
107
108
  }
108
- }, children: a[a.findIndex((o) => o.id === r.columnId)].option.length === r.filterOptions?.length ? /* @__PURE__ */ i.jsx(zt, {}) : /* @__PURE__ */ i.jsx(Wt, {}) }) : null
109
+ }, children: a[a.findIndex((o) => o.id === r.columnId)].option.length === r.filterOptions?.length ? /* @__PURE__ */ i.jsx(Tt, {}) : /* @__PURE__ */ i.jsx(Gt, {}) }) : null
109
110
  ] }) }, d)) }) }),
110
- /* @__PURE__ */ i.jsx("tbody", { children: _?.map((r, d) => /* @__PURE__ */ i.jsx("tr", { className: `cursor-${C ? "pointer" : "auto"} border-b border-b-primary-gray-400 dark:border-b-primary-gray-500 ${yt(T, r) ? "bg-primary-gray-200 dark:bg-primary-gray-600" : "bg-transparent"}`, style: r.rowStyle, onClick: () => {
111
- C && (yt(T, r) && U ? (ut(void 0), C(void 0)) : (ut(r), C(r)));
111
+ /* @__PURE__ */ i.jsx("tbody", { children: tt?.map((r, d) => /* @__PURE__ */ i.jsx("tr", { className: `cursor-${C ? "pointer" : "auto"} border-b border-b-primary-gray-400 dark:border-b-primary-gray-500 ${Ct(G, r) ? "bg-primary-gray-200 dark:bg-primary-gray-600" : "bg-transparent"}`, style: r.rowStyle, onClick: () => {
112
+ C && (Ct(G, r) && Z ? (ht(void 0), C(void 0)) : (ht(r), C(r)));
112
113
  }, children: s.map((o, e) => /* @__PURE__ */ i.jsx("td", { className: `text-primary-gray-700 dark:text-primary-gray-100 text-sm text-${o.align || "left"}`, style: {
113
- width: `calc(${100 * (r.columnWidth || 1) / bt(s.map(Gt))}%`
114
- }, children: /* @__PURE__ */ i.jsx("div", { className: `text-primary-gray-700 dark:text-primary-gray-100 flex p-4 ${o.align === "right" ? "justify-end" : o.align === "center" ? "justify-center" : "justify-start"}`, children: typeof r[o.columnId] == "number" ? /* @__PURE__ */ i.jsx(B, { marginBottom: "none", size: "sm", className: `text-primary-gray-700 dark:text-primary-gray-100 w-fit ${o.chip ? "grow-0 rounded-sm p-2" : "grow rounded-none p-0"} text-${o.align || "left"} ${o.chip ? o.chipColors ? "" : "bg-primary-gray-300 dark:bg-primary-gray-500" : "bg-transparent"}`, style: {
114
+ width: `calc(${100 * (r.columnWidth || 1) / It(s.map(At))}%`
115
+ }, children: /* @__PURE__ */ i.jsx("div", { className: `text-primary-gray-700 dark:text-primary-gray-100 flex p-4 ${o.align === "right" ? "justify-end" : o.align === "center" ? "justify-center" : "justify-start"}`, children: typeof r[o.columnId] == "number" ? /* @__PURE__ */ i.jsx(E, { marginBottom: "none", size: "sm", className: `text-primary-gray-700 dark:text-primary-gray-100 w-fit ${o.chip ? "grow-0 rounded-sm p-2" : "grow rounded-none p-0"} text-${o.align || "left"} ${o.chip ? o.chipColors ? "" : "bg-primary-gray-300 dark:bg-primary-gray-500" : "bg-transparent"}`, style: {
115
116
  ...o.chip && o.chipColors ? {
116
117
  backgroundColor: o.chipColors[o.chipColors.findIndex((n) => n.value === r[o.chipColumnId || o.columnId])].color,
117
- color: st(o.chipColors[o.chipColors.findIndex((n) => n.value === r[o.chipColumnId || o.columnId])].color)
118
+ color: at(o.chipColors[o.chipColors.findIndex((n) => n.value === r[o.chipColumnId || o.columnId])].color)
118
119
  } : {}
119
- }, children: V(r[o.columnId], I, j, o.prefix, o.suffix) }) : typeof r[o.columnId] == "string" ? o.separator ? /* @__PURE__ */ i.jsx("div", { className: "text-primary-gray-700 dark:text-primary-gray-100 flex flex-wrap gap-2", children: r[o.columnId].split(o.separator).map((n, et) => /* @__PURE__ */ i.jsx(B, { marginBottom: "none", size: "sm", className: `text-primary-gray-700 dark:text-primary-gray-100 w-fit ${o.chip ? "grow-0 rounded-sm p-2" : "grow rounded-none p-0"} text-${o.align || "left"} ${o.chip ? o.chipColors ? "" : "bg-primary-gray-300 dark:bg-primary-gray-500" : "bg-transparent"}`, style: {
120
+ }, children: q(r[o.columnId], I, j, o.prefix, o.suffix, v) }) : typeof r[o.columnId] == "string" ? o.separator ? /* @__PURE__ */ i.jsx("div", { className: "text-primary-gray-700 dark:text-primary-gray-100 flex flex-wrap gap-2", children: r[o.columnId].split(o.separator).map((n, nt) => /* @__PURE__ */ i.jsx(E, { marginBottom: "none", size: "sm", className: `text-primary-gray-700 dark:text-primary-gray-100 w-fit ${o.chip ? "grow-0 rounded-sm p-2" : "grow rounded-none p-0"} text-${o.align || "left"} ${o.chip ? o.chipColors ? "" : "bg-primary-gray-300 dark:bg-primary-gray-500" : "bg-transparent"}`, style: {
120
121
  ...o.chip && o.chipColors ? {
121
- backgroundColor: o.chipColors[o.chipColors.findIndex((nt) => nt.value === (o.chipColumnId ? r[o.chipColumnId] : n))].color,
122
- color: st(o.chipColors[o.chipColors.findIndex((nt) => nt.value === (o.chipColumnId ? r[o.chipColumnId] : n))].color)
122
+ backgroundColor: o.chipColors[o.chipColors.findIndex((st) => st.value === (o.chipColumnId ? r[o.chipColumnId] : n))].color,
123
+ color: at(o.chipColors[o.chipColors.findIndex((st) => st.value === (o.chipColumnId ? r[o.chipColumnId] : n))].color)
123
124
  } : {}
124
- }, children: V(n, I, j, o.prefix, o.suffix) }, et)) }) : /* @__PURE__ */ i.jsx(B, { marginBottom: "none", size: "sm", className: `text-primary-gray-700 dark:text-primary-gray-100 w-fit ${o.chip ? "grow-0 rounded-sm p-2" : "grow rounded-none p-0"} text-${o.align || "left"} ${o.chip ? o.chipColors ? "" : "bg-primary-gray-300 dark:bg-primary-gray-500" : "bg-transparent"}`, style: {
125
+ }, children: q(n, I, j, o.prefix, o.suffix, v) }, nt)) }) : /* @__PURE__ */ i.jsx(E, { marginBottom: "none", size: "sm", className: `text-primary-gray-700 dark:text-primary-gray-100 w-fit ${o.chip ? "grow-0 rounded-sm p-2" : "grow rounded-none p-0"} text-${o.align || "left"} ${o.chip ? o.chipColors ? "" : "bg-primary-gray-300 dark:bg-primary-gray-500" : "bg-transparent"}`, style: {
125
126
  ...o.chip && o.chipColors ? {
126
127
  backgroundColor: o.chipColors[o.chipColors.findIndex((n) => n.value === r[o.chipColumnId || o.columnId])].color,
127
- color: st(o.chipColors[o.chipColors.findIndex((n) => n.value === r[o.chipColumnId || o.columnId])].color)
128
+ color: at(o.chipColors[o.chipColors.findIndex((n) => n.value === r[o.chipColumnId || o.columnId])].color)
128
129
  } : {}
129
- }, children: V(r[o.columnId], I, j, o.prefix, o.suffix) }) : /* @__PURE__ */ i.jsx("div", { children: V(r[o.columnId], I, j, o.prefix, o.suffix) }) }) }, e)) }, d)) })
130
- ] }) : null, t[30] = s, t[31] = u, t[32] = f, t[33] = a, t[34] = T, t[35] = I, t[36] = C, t[37] = x, t[38] = j, t[39] = U, t[40] = g, t[41] = _, t[42] = N) : N = t[42];
131
- let $;
132
- t[43] !== w || t[44] !== N ? ($ = /* @__PURE__ */ i.jsx("div", { style: w, children: N }), t[43] = w, t[44] = N, t[45] = $) : $ = t[45];
130
+ }, children: q(r[o.columnId], I, j, o.prefix, o.suffix, v) }) : /* @__PURE__ */ i.jsx("div", { children: q(r[o.columnId], I, j, o.prefix, o.suffix, v) }) }) }, e)) }, d)) })
131
+ ] }) : null, t[30] = s, t[31] = u, t[32] = f, t[33] = a, t[34] = v, t[35] = G, t[36] = I, t[37] = C, t[38] = x, t[39] = j, t[40] = Z, t[41] = g, t[42] = tt, t[43] = $) : $ = t[43];
133
132
  let O;
134
- t[46] !== k || t[47] !== $ ? (O = /* @__PURE__ */ i.jsx("div", { className: "grow flex flex-col justify-center", children: /* @__PURE__ */ i.jsx("div", { className: "undp-scrollbar", style: k, children: $ }) }), t[46] = k, t[47] = $, t[48] = O) : O = t[48];
133
+ t[44] !== N || t[45] !== $ ? (O = /* @__PURE__ */ i.jsx("div", { style: N, children: $ }), t[44] = N, t[45] = $, t[46] = O) : O = t[46];
135
134
  let D;
136
- t[49] !== p?.footnote || t[50] !== p?.source || t[51] !== z || t[52] !== E || t[53] !== l?.footnote || t[54] !== l?.source || t[55] !== m ? (D = E || z ? /* @__PURE__ */ i.jsx(Dt, { styles: {
135
+ t[47] !== w || t[48] !== O ? (D = /* @__PURE__ */ i.jsx("div", { className: "grow flex flex-col justify-center", children: /* @__PURE__ */ i.jsx("div", { className: "undp-scrollbar", style: w, children: O }) }), t[47] = w, t[48] = O, t[49] = D) : D = t[49];
136
+ let S;
137
+ t[50] !== p?.footnote || t[51] !== p?.source || t[52] !== W || t[53] !== F || t[54] !== l?.footnote || t[55] !== l?.source || t[56] !== m ? (S = F || W ? /* @__PURE__ */ i.jsx(Bt, { styles: {
137
138
  footnote: l?.footnote,
138
139
  source: l?.source
139
140
  }, classNames: {
140
141
  footnote: p?.footnote,
141
142
  source: p?.source
142
- }, sources: E, footNote: z, width: m }) : null, t[49] = p?.footnote, t[50] = p?.source, t[51] = z, t[52] = E, t[53] = l?.footnote, t[54] = l?.source, t[55] = m, t[56] = D) : D = t[56];
143
- let S;
144
- t[57] !== s || t[58] !== a || t[59] !== Z || t[60] !== x ? (S = x && /* @__PURE__ */ i.jsx("div", { style: Z, className: "absolute p-3 border z-[1000] rounded-sm bg-primary-white dark:bg-primary-gray-700 border-primary-gray-300 dark:border-primary-gray-550", children: /* @__PURE__ */ i.jsxs("div", { className: "max-w-60", children: [
145
- /* @__PURE__ */ i.jsx(B, { size: "sm", marginBottom: "2xs", className: "font-bold", children: "Filter data by" }),
143
+ }, sources: F, footNote: W, width: m }) : null, t[50] = p?.footnote, t[51] = p?.source, t[52] = W, t[53] = F, t[54] = l?.footnote, t[55] = l?.source, t[56] = m, t[57] = S) : S = t[57];
144
+ let B;
145
+ t[58] !== s || t[59] !== a || t[60] !== _ || t[61] !== x ? (B = x && /* @__PURE__ */ i.jsx("div", { style: _, className: "absolute p-3 border z-[1000] rounded-sm bg-primary-white dark:bg-primary-gray-700 border-primary-gray-300 dark:border-primary-gray-550", children: /* @__PURE__ */ i.jsxs("div", { className: "max-w-60", children: [
146
+ /* @__PURE__ */ i.jsx(E, { size: "sm", marginBottom: "2xs", className: "font-bold", children: "Filter data by" }),
146
147
  /* @__PURE__ */ i.jsx("div", { className: "flex flex-col gap-2", children: s[s.findIndex((r) => r.columnId === x)].filterOptions?.map((r, d) => /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsxs("label", { className: "undp-viz-label", children: [
147
148
  /* @__PURE__ */ i.jsx("input", { type: "checkbox", className: "undp-viz-checkbox", checked: a[a.findIndex((o) => o.id === x)].option.indexOf(r) !== -1, onChange: () => {
148
149
  const o = a.findIndex((n) => n.id === x), e = [...a[o].option];
149
150
  if (e.indexOf(r) !== -1) {
150
151
  e.splice(e.indexOf(r), 1);
151
152
  const n = [...a];
152
- n[o].option = e, xt(n);
153
+ n[o].option = e, bt(n);
153
154
  } else {
154
155
  e.push(r);
155
156
  const n = [...a];
156
- n[o].option = e, xt(n);
157
+ n[o].option = e, bt(n);
157
158
  }
158
159
  } }),
159
160
  r
160
161
  ] }, d) }, d)) })
161
- ] }) }), t[57] = s, t[58] = a, t[59] = Z, t[60] = x, t[61] = S) : S = t[61];
162
- let M;
163
- return t[62] !== H || t[63] !== Q || t[64] !== q || t[65] !== h || t[66] !== J || t[67] !== Y || t[68] !== tt || t[69] !== ot || t[70] !== v || t[71] !== O || t[72] !== D || t[73] !== S || t[74] !== K || t[75] !== m ? (M = /* @__PURE__ */ i.jsxs(Tt, { className: tt, style: ot, id: q, ref: Ct, "aria-label": H, backgroundColor: Q, theme: K, language: J, width: m, height: h, padding: Y, children: [
164
- v,
165
- O,
162
+ ] }) }), t[58] = s, t[59] = a, t[60] = _, t[61] = x, t[62] = B) : B = t[62];
163
+ let V;
164
+ return t[63] !== Y || t[64] !== U || t[65] !== H || t[66] !== h || t[67] !== K || t[68] !== J || t[69] !== ot || t[70] !== rt || t[71] !== k || t[72] !== D || t[73] !== S || t[74] !== B || t[75] !== Q || t[76] !== m ? (V = /* @__PURE__ */ i.jsxs(Rt, { className: ot, style: rt, id: H, ref: jt, "aria-label": Y, backgroundColor: U, theme: Q, language: K, width: m, height: h, padding: J, children: [
165
+ k,
166
166
  D,
167
- S
168
- ] }), t[62] = H, t[63] = Q, t[64] = q, t[65] = h, t[66] = J, t[67] = Y, t[68] = tt, t[69] = ot, t[70] = v, t[71] = O, t[72] = D, t[73] = S, t[74] = K, t[75] = m, t[76] = M) : M = t[76], M;
167
+ S,
168
+ B
169
+ ] }), t[63] = Y, t[64] = U, t[65] = H, t[66] = h, t[67] = K, t[68] = J, t[69] = ot, t[70] = rt, t[71] = k, t[72] = D, t[73] = S, t[74] = B, t[75] = Q, t[76] = m, t[77] = V) : V = t[77], V;
169
170
  }
170
- function Gt(c) {
171
+ function At(c) {
171
172
  return c.columnWidth || 1;
172
173
  }
173
- function Rt(c) {
174
+ function Lt(c) {
174
175
  return c.columnWidth || 1;
175
176
  }
176
- function At(c) {
177
+ function Pt(c) {
177
178
  return {
178
179
  id: c.columnId,
179
180
  option: c.filterOptions
180
181
  };
181
182
  }
182
- function Lt(c) {
183
+ function Xt(c) {
183
184
  return c.filterOptions && c.filterOptions.length > 0;
184
185
  }
185
186
  export {
186
- _t as DataTable
187
+ oo as DataTable
187
188
  };
188
189
  //# sourceMappingURL=DataTable.js.map