@undp/data-viz 2.5.3 → 2.6.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 (444) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.cjs.map +1 -1
  3. package/dist/AreaChart.js +17 -16
  4. package/dist/AreaChart.js.map +1 -1
  5. package/dist/Axis-DY7jsk1Y.cjs +2 -0
  6. package/dist/{Axis-BTaS9oPQ.cjs.map → Axis-DY7jsk1Y.cjs.map} +1 -1
  7. package/dist/{Axis-CNZYWzH0.js → Axis-RRx-0Rlw.js} +9 -8
  8. package/dist/{Axis-CNZYWzH0.js.map → Axis-RRx-0Rlw.js.map} +1 -1
  9. package/dist/AxisTitle-B9F80_Z0.js +30 -0
  10. package/dist/AxisTitle-B9F80_Z0.js.map +1 -0
  11. package/dist/AxisTitle-CyFFbdNU.cjs +2 -0
  12. package/dist/{AxisTitle-DP_evhbe.cjs.map → AxisTitle-CyFFbdNU.cjs.map} +1 -1
  13. package/dist/BarGraph.cjs +1 -1
  14. package/dist/BarGraph.cjs.map +1 -1
  15. package/dist/BarGraph.js +203 -201
  16. package/dist/BarGraph.js.map +1 -1
  17. package/dist/BasicStatCard.cjs +1 -1
  18. package/dist/BasicStatCard.cjs.map +1 -1
  19. package/dist/BasicStatCard.js +15 -14
  20. package/dist/BasicStatCard.js.map +1 -1
  21. package/dist/BeeSwarmChart.cjs +1 -1
  22. package/dist/BeeSwarmChart.cjs.map +1 -1
  23. package/dist/BeeSwarmChart.js +60 -59
  24. package/dist/BeeSwarmChart.js.map +1 -1
  25. package/dist/BiVariateChoroplethMap.cjs +1 -1
  26. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  27. package/dist/BiVariateChoroplethMap.js +88 -86
  28. package/dist/BiVariateChoroplethMap.js.map +1 -1
  29. package/dist/BulletChart.cjs +1 -1
  30. package/dist/BulletChart.cjs.map +1 -1
  31. package/dist/BulletChart.js +88 -86
  32. package/dist/BulletChart.js.map +1 -1
  33. package/dist/ButterflyChart.cjs +1 -1
  34. package/dist/ButterflyChart.cjs.map +1 -1
  35. package/dist/ButterflyChart.js +100 -98
  36. package/dist/ButterflyChart.js.map +1 -1
  37. package/dist/ChoroplethMap.cjs +1 -1
  38. package/dist/ChoroplethMap.cjs.map +1 -1
  39. package/dist/ChoroplethMap.js +266 -243
  40. package/dist/ChoroplethMap.js.map +1 -1
  41. package/dist/CirclePackingGraph.cjs +1 -1
  42. package/dist/CirclePackingGraph.js +4 -4
  43. package/dist/ColorLegend.cjs +1 -1
  44. package/dist/ColorLegend.cjs.map +1 -1
  45. package/dist/ColorLegend.js +17 -16
  46. package/dist/ColorLegend.js.map +1 -1
  47. package/dist/ColorLegendWithMouseOver.cjs +1 -1
  48. package/dist/ColorLegendWithMouseOver.cjs.map +1 -1
  49. package/dist/ColorLegendWithMouseOver.js +13 -12
  50. package/dist/ColorLegendWithMouseOver.js.map +1 -1
  51. package/dist/Colors.cjs +1 -1
  52. package/dist/Colors.cjs.map +1 -1
  53. package/dist/Colors.d.ts +16 -0
  54. package/dist/Colors.js +16 -0
  55. package/dist/Colors.js.map +1 -1
  56. package/dist/CopyTextButton.cjs +1 -1
  57. package/dist/CopyTextButton.cjs.map +1 -1
  58. package/dist/CopyTextButton.js +37 -754
  59. package/dist/CopyTextButton.js.map +1 -1
  60. package/dist/CsvDownloadButton.cjs +4 -4
  61. package/dist/CsvDownloadButton.cjs.map +1 -1
  62. package/dist/CsvDownloadButton.js +47 -45
  63. package/dist/CsvDownloadButton.js.map +1 -1
  64. package/dist/DataCards.cjs +1 -1
  65. package/dist/DataCards.cjs.map +1 -1
  66. package/dist/DataCards.js +213 -467
  67. package/dist/DataCards.js.map +1 -1
  68. package/dist/DataTable.cjs +1 -1
  69. package/dist/DataTable.cjs.map +1 -1
  70. package/dist/DataTable.js +19 -19
  71. package/dist/DetailsModal-BmjtLqrZ.cjs +2 -0
  72. package/dist/{DetailsModal-Du8Fr1QD.cjs.map → DetailsModal-BmjtLqrZ.cjs.map} +1 -1
  73. package/dist/{DetailsModal-GqEbGHY2.js → DetailsModal-k-Me_U_T.js} +3 -3
  74. package/dist/{DetailsModal-GqEbGHY2.js.map → DetailsModal-k-Me_U_T.js.map} +1 -1
  75. package/dist/DifferenceLineChart.cjs +1 -1
  76. package/dist/DifferenceLineChart.cjs.map +1 -1
  77. package/dist/DifferenceLineChart.js +61 -60
  78. package/dist/DifferenceLineChart.js.map +1 -1
  79. package/dist/DonutChart.cjs +1 -1
  80. package/dist/DonutChart.cjs.map +1 -1
  81. package/dist/DonutChart.js +47 -46
  82. package/dist/DonutChart.js.map +1 -1
  83. package/dist/DotDensityMap.cjs +1 -1
  84. package/dist/DotDensityMap.cjs.map +1 -1
  85. package/dist/DotDensityMap.js +112 -110
  86. package/dist/DotDensityMap.js.map +1 -1
  87. package/dist/DualAxisLineChart.cjs +1 -1
  88. package/dist/DualAxisLineChart.cjs.map +1 -1
  89. package/dist/DualAxisLineChart.js +13 -12
  90. package/dist/DualAxisLineChart.js.map +1 -1
  91. package/dist/DumbbellChart.cjs +1 -1
  92. package/dist/DumbbellChart.cjs.map +1 -1
  93. package/dist/DumbbellChart.js +104 -102
  94. package/dist/DumbbellChart.js.map +1 -1
  95. package/dist/EmptyState-BoaUUuo6.cjs +2 -0
  96. package/dist/{EmptyState-CFmiFPHz.cjs.map → EmptyState-BoaUUuo6.cjs.map} +1 -1
  97. package/dist/{EmptyState-CaxXCkiN.js → EmptyState-prZ8OnEs.js} +4 -4
  98. package/dist/{EmptyState-CaxXCkiN.js.map → EmptyState-prZ8OnEs.js.map} +1 -1
  99. package/dist/ExcelDownloadButton.cjs +1 -1
  100. package/dist/ExcelDownloadButton.cjs.map +1 -1
  101. package/dist/ExcelDownloadButton.js +15 -13
  102. package/dist/ExcelDownloadButton.js.map +1 -1
  103. package/dist/FootNote.cjs +1 -1
  104. package/dist/FootNote.cjs.map +1 -1
  105. package/dist/FootNote.js +10 -9
  106. package/dist/FootNote.js.map +1 -1
  107. package/dist/GeoHubCompareMaps.cjs +1 -1
  108. package/dist/GeoHubCompareMaps.cjs.map +1 -1
  109. package/dist/GeoHubCompareMaps.js +14 -14
  110. package/dist/GeoHubMap.cjs +1 -1
  111. package/dist/GeoHubMap.cjs.map +1 -1
  112. package/dist/GeoHubMap.js +59 -59
  113. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  114. package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
  115. package/dist/GeoHubMapWithLayerSelection.js +50 -50
  116. package/dist/{GraphContainer-B8ZqOzKI.js → GraphContainer-DcOM2CI6.js} +28 -27
  117. package/dist/GraphContainer-DcOM2CI6.js.map +1 -0
  118. package/dist/GraphContainer-gaG9TSy4.cjs +2 -0
  119. package/dist/{GraphContainer-Cul9b74X.cjs.map → GraphContainer-gaG9TSy4.cjs.map} +1 -1
  120. package/dist/GraphDescription.cjs +1 -1
  121. package/dist/GraphDescription.cjs.map +1 -1
  122. package/dist/GraphDescription.js +14 -13
  123. package/dist/GraphDescription.js.map +1 -1
  124. package/dist/{GraphEl-Ch0uAeZw.js → GraphEl-C7KBBHvB.js} +9 -9
  125. package/dist/{GraphEl-Ch0uAeZw.js.map → GraphEl-C7KBBHvB.js.map} +1 -1
  126. package/dist/GraphEl-CGALp07K.cjs +2 -0
  127. package/dist/{GraphEl-BgkDbq50.cjs.map → GraphEl-CGALp07K.cjs.map} +1 -1
  128. package/dist/GraphFooter.cjs +1 -1
  129. package/dist/GraphFooter.cjs.map +1 -1
  130. package/dist/GraphFooter.js +2 -2
  131. package/dist/GraphHeader.cjs +1 -1
  132. package/dist/GraphHeader.cjs.map +1 -1
  133. package/dist/GraphHeader.js +1 -1
  134. package/dist/GraphTitle.cjs +1 -1
  135. package/dist/GraphTitle.cjs.map +1 -1
  136. package/dist/GraphTitle.js +14 -13
  137. package/dist/GraphTitle.js.map +1 -1
  138. package/dist/GriddedGraphs.cjs +1 -1
  139. package/dist/GriddedGraphs.cjs.map +1 -1
  140. package/dist/GriddedGraphs.js +58 -55
  141. package/dist/GriddedGraphs.js.map +1 -1
  142. package/dist/GriddedGraphsFromConfig.cjs +1 -1
  143. package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
  144. package/dist/GriddedGraphsFromConfig.js +15 -15
  145. package/dist/HeatMap.cjs +1 -1
  146. package/dist/HeatMap.cjs.map +1 -1
  147. package/dist/HeatMap.js +17 -16
  148. package/dist/HeatMap.js.map +1 -1
  149. package/dist/Histogram.cjs +1 -1
  150. package/dist/Histogram.cjs.map +1 -1
  151. package/dist/Histogram.js +3 -3
  152. package/dist/HybridMap.cjs +1 -1
  153. package/dist/HybridMap.cjs.map +1 -1
  154. package/dist/HybridMap.js +409 -420
  155. package/dist/HybridMap.js.map +1 -1
  156. package/dist/ImageDownloadButton.cjs +1 -1
  157. package/dist/ImageDownloadButton.cjs.map +1 -1
  158. package/dist/ImageDownloadButton.js +16 -14
  159. package/dist/ImageDownloadButton.js.map +1 -1
  160. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  161. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  162. package/dist/LineChartWithConfidenceInterval.js +16 -15
  163. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  164. package/dist/LinearColorLegend.cjs +1 -1
  165. package/dist/LinearColorLegend.cjs.map +1 -1
  166. package/dist/LinearColorLegend.js +5 -4
  167. package/dist/LinearColorLegend.js.map +1 -1
  168. package/dist/MultiGraphDashboard.cjs +1 -1
  169. package/dist/MultiGraphDashboard.cjs.map +1 -1
  170. package/dist/MultiGraphDashboard.js +62 -60
  171. package/dist/MultiGraphDashboard.js.map +1 -1
  172. package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
  173. package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
  174. package/dist/MultiGraphDashboardFromConfig.js +7 -7
  175. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  176. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -1
  177. package/dist/MultiGraphDashboardWideToLongFormat.js +21 -21
  178. package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
  179. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
  180. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
  181. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +3 -3
  182. package/dist/MultiLineAltChart.cjs +1 -1
  183. package/dist/MultiLineAltChart.cjs.map +1 -1
  184. package/dist/MultiLineAltChart.js +16 -15
  185. package/dist/MultiLineAltChart.js.map +1 -1
  186. package/dist/MultiLineChart.cjs +1 -1
  187. package/dist/MultiLineChart.cjs.map +1 -1
  188. package/dist/MultiLineChart.js +16 -15
  189. package/dist/MultiLineChart.js.map +1 -1
  190. package/dist/ParetoChart.cjs +1 -1
  191. package/dist/ParetoChart.cjs.map +1 -1
  192. package/dist/ParetoChart.js +14 -13
  193. package/dist/ParetoChart.js.map +1 -1
  194. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  195. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  196. package/dist/PerformanceIntensiveMultiGraphDashboard.js +67 -65
  197. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  198. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
  199. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
  200. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +8 -8
  201. package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
  202. package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
  203. package/dist/PerformanceIntensiveScrollStory.js +3 -3
  204. package/dist/RadarChart.cjs +1 -1
  205. package/dist/RadarChart.cjs.map +1 -1
  206. package/dist/RadarChart.js +11 -10
  207. package/dist/RadarChart.js.map +1 -1
  208. package/dist/ReferenceLine-CxITVT1K.cjs +2 -0
  209. package/dist/{ReferenceLine-CpU4G01Y.cjs.map → ReferenceLine-CxITVT1K.cjs.map} +1 -1
  210. package/dist/{ReferenceLine-D41VuUhE.js → ReferenceLine-NF4g3Reh.js} +26 -25
  211. package/dist/ReferenceLine-NF4g3Reh.js.map +1 -0
  212. package/dist/RegressionLine-BQ6h-NZP.js +88 -0
  213. package/dist/RegressionLine-BQ6h-NZP.js.map +1 -0
  214. package/dist/RegressionLine-BpcVBjL0.cjs +2 -0
  215. package/dist/{RegressionLine-BFoBiVJk.cjs.map → RegressionLine-BpcVBjL0.cjs.map} +1 -1
  216. package/dist/SVGDownloadButton.cjs +1 -1
  217. package/dist/SVGDownloadButton.cjs.map +1 -1
  218. package/dist/SVGDownloadButton.js +11 -9
  219. package/dist/SVGDownloadButton.js.map +1 -1
  220. package/dist/SankeyChart.cjs +1 -1
  221. package/dist/SankeyChart.cjs.map +1 -1
  222. package/dist/SankeyChart.js +63 -62
  223. package/dist/SankeyChart.js.map +1 -1
  224. package/dist/ScatterPlot.cjs +1 -1
  225. package/dist/ScatterPlot.cjs.map +1 -1
  226. package/dist/ScatterPlot.js +109 -107
  227. package/dist/ScatterPlot.js.map +1 -1
  228. package/dist/ScrollStory.cjs +1 -1
  229. package/dist/ScrollStory.cjs.map +1 -1
  230. package/dist/ScrollStory.js +3 -3
  231. package/dist/SimpleLineChart.cjs +1 -1
  232. package/dist/SimpleLineChart.cjs.map +1 -1
  233. package/dist/SimpleLineChart.js +17 -16
  234. package/dist/SimpleLineChart.js.map +1 -1
  235. package/dist/SingleGraphDashboard.cjs +1 -1
  236. package/dist/SingleGraphDashboard.cjs.map +1 -1
  237. package/dist/SingleGraphDashboard.js +59 -56
  238. package/dist/SingleGraphDashboard.js.map +1 -1
  239. package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
  240. package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
  241. package/dist/SingleGraphDashboardFromConfig.js +6 -6
  242. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
  243. package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -1
  244. package/dist/SingleGraphDashboardGeoHubMaps.js +12 -12
  245. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
  246. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
  247. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +8 -8
  248. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  249. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  250. package/dist/SingleGraphDashboardThreeDGraphs.js +59 -56
  251. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  252. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
  253. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
  254. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +7 -7
  255. package/dist/SlopeChart.cjs +1 -1
  256. package/dist/SlopeChart.cjs.map +1 -1
  257. package/dist/SlopeChart.js +60 -59
  258. package/dist/SlopeChart.js.map +1 -1
  259. package/dist/Source.cjs +1 -1
  260. package/dist/Source.cjs.map +1 -1
  261. package/dist/Source.js +38 -4
  262. package/dist/Source.js.map +1 -1
  263. package/dist/SparkLine.cjs +1 -1
  264. package/dist/SparkLine.cjs.map +1 -1
  265. package/dist/SparkLine.js +11 -10
  266. package/dist/SparkLine.js.map +1 -1
  267. package/dist/StatCardFromData.cjs +1 -1
  268. package/dist/StatCardFromData.cjs.map +1 -1
  269. package/dist/StatCardFromData.js +15 -14
  270. package/dist/StatCardFromData.js.map +1 -1
  271. package/dist/StripChart.cjs +1 -1
  272. package/dist/StripChart.cjs.map +1 -1
  273. package/dist/StripChart.js +11 -10
  274. package/dist/StripChart.js.map +1 -1
  275. package/dist/ThreeDGlobe.cjs +1 -1
  276. package/dist/ThreeDGlobe.cjs.map +1 -1
  277. package/dist/ThreeDGlobe.js +52 -51
  278. package/dist/ThreeDGlobe.js.map +1 -1
  279. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  280. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
  281. package/dist/ThresholdColorLegendWithMouseOver.js +17 -16
  282. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  283. package/dist/{Tooltip-3EYDVa3w.js → Tooltip-DO56mY4b.js} +11 -10
  284. package/dist/{Tooltip-3EYDVa3w.js.map → Tooltip-DO56mY4b.js.map} +1 -1
  285. package/dist/Tooltip-DwUFLDrj.cjs +2 -0
  286. package/dist/{Tooltip-C9F3uYG0.cjs.map → Tooltip-DwUFLDrj.cjs.map} +1 -1
  287. package/dist/TreeMapGraph.cjs +1 -1
  288. package/dist/TreeMapGraph.cjs.map +1 -1
  289. package/dist/TreeMapGraph.js +34 -33
  290. package/dist/TreeMapGraph.js.map +1 -1
  291. package/dist/UnitChart.cjs +1 -1
  292. package/dist/UnitChart.cjs.map +1 -1
  293. package/dist/UnitChart.js +27 -27
  294. package/dist/WaterfallChart.cjs +1 -1
  295. package/dist/WaterfallChart.cjs.map +1 -1
  296. package/dist/WaterfallChart.js +21 -20
  297. package/dist/WaterfallChart.js.map +1 -1
  298. package/dist/XAxesLabels-0ROJnigy.cjs +2 -0
  299. package/dist/{XAxesLabels-C03jHniq.cjs.map → XAxesLabels-0ROJnigy.cjs.map} +1 -1
  300. package/dist/{XAxesLabels-B9gkjUiC.js → XAxesLabels-CPZX3OJN.js} +12 -11
  301. package/dist/XAxesLabels-CPZX3OJN.js.map +1 -0
  302. package/dist/XTicksAndGridLines-BO6KJc8d.cjs +2 -0
  303. package/dist/{XTicksAndGridLines-B4UhDVyU.cjs.map → XTicksAndGridLines-BO6KJc8d.cjs.map} +1 -1
  304. package/dist/{XTicksAndGridLines-CkYwVshF.js → XTicksAndGridLines-obTK2e7G.js} +10 -9
  305. package/dist/{XTicksAndGridLines-CkYwVshF.js.map → XTicksAndGridLines-obTK2e7G.js.map} +1 -1
  306. package/dist/{YAxesLabels-hWEUCTvs.js → YAxesLabels-CwVnFG2a.js} +13 -12
  307. package/dist/YAxesLabels-CwVnFG2a.js.map +1 -0
  308. package/dist/YAxesLabels-DIa2cEXL.cjs +2 -0
  309. package/dist/{YAxesLabels-DeENFC2M.cjs.map → YAxesLabels-DIa2cEXL.cjs.map} +1 -1
  310. package/dist/YTicksAndGridLines-C7glLI5b.cjs +2 -0
  311. package/dist/{YTicksAndGridLines-sT3zdCs6.cjs.map → YTicksAndGridLines-C7glLI5b.cjs.map} +1 -1
  312. package/dist/{YTicksAndGridLines-BbujwxOB.js → YTicksAndGridLines-wtuAKNeT.js} +10 -9
  313. package/dist/{YTicksAndGridLines-BbujwxOB.js.map → YTicksAndGridLines-wtuAKNeT.js.map} +1 -1
  314. package/dist/checkIfMultiple-BIEQDuA3.cjs +2 -0
  315. package/dist/checkIfMultiple-BIEQDuA3.cjs.map +1 -0
  316. package/dist/checkIfMultiple-D2tgEnYM.js +11 -0
  317. package/dist/checkIfMultiple-D2tgEnYM.js.map +1 -0
  318. package/dist/compiler-runtime-oPPev21o.cjs +11 -0
  319. package/dist/compiler-runtime-oPPev21o.cjs.map +1 -0
  320. package/dist/compiler-runtime-qHgugrLy.js +297 -0
  321. package/dist/compiler-runtime-qHgugrLy.js.map +1 -0
  322. package/dist/customArea-BCGIYDQa.cjs +2 -0
  323. package/dist/{customArea-BAcQ3pBM.cjs.map → customArea-BCGIYDQa.cjs.map} +1 -1
  324. package/dist/{customArea-D89lETG0.js → customArea-Dixg0NtQ.js} +10 -9
  325. package/dist/{customArea-D89lETG0.js.map → customArea-Dixg0NtQ.js.map} +1 -1
  326. package/dist/{fetchAndParseData-BAXhgTDM.js → fetchAndParseData-CDjQZ1fL.js} +5 -5
  327. package/dist/{fetchAndParseData-BAXhgTDM.js.map → fetchAndParseData-CDjQZ1fL.js.map} +1 -1
  328. package/dist/fetchAndParseData.js +1 -1
  329. package/dist/getSliderMarks-Bj_JJTtX.cjs +2 -0
  330. package/dist/getSliderMarks-Bj_JJTtX.cjs.map +1 -0
  331. package/dist/getSliderMarks-DSxFGb1f.js +21 -0
  332. package/dist/getSliderMarks-DSxFGb1f.js.map +1 -0
  333. package/dist/index-5BQWR1Z8.cjs +10 -0
  334. package/dist/{index-FXfr51ZM.cjs.map → index-5BQWR1Z8.cjs.map} +1 -1
  335. package/dist/index-BaXzoD4r.cjs +2 -0
  336. package/dist/{index-BuhBhuCq.cjs.map → index-BaXzoD4r.cjs.map} +1 -1
  337. package/dist/{index-Cv_5q6Rb.js → index-CNUlPiEL.js} +3 -3
  338. package/dist/{index-Cv_5q6Rb.js.map → index-CNUlPiEL.js.map} +1 -1
  339. package/dist/{index-DHVGV8Df.js → index-CmkqqFRG.js} +3 -3
  340. package/dist/{index-DHVGV8Df.js.map → index-CmkqqFRG.js.map} +1 -1
  341. package/dist/index-D_ls5oK8.js +142 -0
  342. package/dist/index-D_ls5oK8.js.map +1 -0
  343. package/dist/index-DbSnila_.cjs +2 -0
  344. package/dist/index-DbSnila_.cjs.map +1 -0
  345. package/dist/{index-BPyj_6hG.js → index-_w-CQAbR.js} +113 -112
  346. package/dist/{index-BPyj_6hG.js.map → index-_w-CQAbR.js.map} +1 -1
  347. package/dist/index-dN3wiQgD.cjs +2 -0
  348. package/dist/{index-DuLvdHo2.cjs.map → index-dN3wiQgD.cjs.map} +1 -1
  349. package/dist/index.cjs +1 -1
  350. package/dist/index.d.ts +16 -0
  351. package/dist/index.js +181 -180
  352. package/dist/index.js.map +1 -1
  353. package/dist/{proxy-BsxtcZKa.js → proxy-D31SA_aE.js} +2 -2
  354. package/dist/{proxy-BsxtcZKa.js.map → proxy-D31SA_aE.js.map} +1 -1
  355. package/dist/proxy-QMeVVqam.cjs +2 -0
  356. package/dist/{proxy-CqH8m8IQ.cjs.map → proxy-QMeVVqam.cjs.map} +1 -1
  357. package/dist/style.css +1 -1
  358. package/dist/transformData.js +2 -2
  359. package/dist/{transformDataForGraphFromFile-dt9sHTVy.js → transformDataForGraphFromFile-COZC6A0_.js} +4 -4
  360. package/dist/{transformDataForGraphFromFile-dt9sHTVy.js.map → transformDataForGraphFromFile-COZC6A0_.js.map} +1 -1
  361. package/dist/{use-in-view-KOXq5Kmc.js → use-in-view-Co5SmzfT.js} +2 -2
  362. package/dist/{use-in-view-KOXq5Kmc.js.map → use-in-view-Co5SmzfT.js.map} +1 -1
  363. package/dist/use-in-view-DjR_gqJP.cjs +2 -0
  364. package/dist/{use-in-view-dnRv_qqF.cjs.map → use-in-view-DjR_gqJP.cjs.map} +1 -1
  365. package/package.json +1 -1
  366. package/dist/Axis-BTaS9oPQ.cjs +0 -2
  367. package/dist/AxisTitle-CyLCqpW6.js +0 -29
  368. package/dist/AxisTitle-CyLCqpW6.js.map +0 -1
  369. package/dist/AxisTitle-DP_evhbe.cjs +0 -2
  370. package/dist/DetailsModal-Du8Fr1QD.cjs +0 -2
  371. package/dist/DropdownSelect-CX1yMemd.cjs +0 -5
  372. package/dist/DropdownSelect-CX1yMemd.cjs.map +0 -1
  373. package/dist/DropdownSelect-Dz7imdTB.js +0 -4191
  374. package/dist/DropdownSelect-Dz7imdTB.js.map +0 -1
  375. package/dist/EmptyState-CFmiFPHz.cjs +0 -2
  376. package/dist/GraphContainer-B8ZqOzKI.js.map +0 -1
  377. package/dist/GraphContainer-Cul9b74X.cjs +0 -2
  378. package/dist/GraphEl-BgkDbq50.cjs +0 -2
  379. package/dist/Modal-BIErPPKT.cjs +0 -46
  380. package/dist/Modal-BIErPPKT.cjs.map +0 -1
  381. package/dist/Modal-CrUYln5V.js +0 -1047
  382. package/dist/Modal-CrUYln5V.js.map +0 -1
  383. package/dist/ReferenceLine-CpU4G01Y.cjs +0 -2
  384. package/dist/ReferenceLine-D41VuUhE.js.map +0 -1
  385. package/dist/RegressionLine-BFoBiVJk.cjs +0 -2
  386. package/dist/RegressionLine-CuwB42I6.js +0 -87
  387. package/dist/RegressionLine-CuwB42I6.js.map +0 -1
  388. package/dist/Source-PKuwZOn3.cjs +0 -2
  389. package/dist/Source-PKuwZOn3.cjs.map +0 -1
  390. package/dist/Source-QGk8vhkS.js +0 -78
  391. package/dist/Source-QGk8vhkS.js.map +0 -1
  392. package/dist/Spinner-B2IIKg9r.js +0 -47
  393. package/dist/Spinner-B2IIKg9r.js.map +0 -1
  394. package/dist/Spinner-WHzzloYQ.cjs +0 -2
  395. package/dist/Spinner-WHzzloYQ.cjs.map +0 -1
  396. package/dist/Tooltip-C9F3uYG0.cjs +0 -2
  397. package/dist/Typography-BO0gQDIT.js +0 -270
  398. package/dist/Typography-BO0gQDIT.js.map +0 -1
  399. package/dist/Typography-BqmyF1gP.cjs +0 -2
  400. package/dist/Typography-BqmyF1gP.cjs.map +0 -1
  401. package/dist/XAxesLabels-B9gkjUiC.js.map +0 -1
  402. package/dist/XAxesLabels-C03jHniq.cjs +0 -2
  403. package/dist/XTicksAndGridLines-B4UhDVyU.cjs +0 -2
  404. package/dist/YAxesLabels-DeENFC2M.cjs +0 -2
  405. package/dist/YAxesLabels-hWEUCTvs.js.map +0 -1
  406. package/dist/YTicksAndGridLines-sT3zdCs6.cjs +0 -2
  407. package/dist/checkIfMultiple-CH5tqj4q.cjs +0 -2
  408. package/dist/checkIfMultiple-CH5tqj4q.cjs.map +0 -1
  409. package/dist/checkIfMultiple-Dpyy6BUP.js +0 -938
  410. package/dist/checkIfMultiple-Dpyy6BUP.js.map +0 -1
  411. package/dist/customArea-BAcQ3pBM.cjs +0 -2
  412. package/dist/getSliderMarks-BzrpHrHS.cjs +0 -2
  413. package/dist/getSliderMarks-BzrpHrHS.cjs.map +0 -1
  414. package/dist/getSliderMarks-X-_goqH9.js +0 -1027
  415. package/dist/getSliderMarks-X-_goqH9.js.map +0 -1
  416. package/dist/index-ApTBN0kp.js +0 -196
  417. package/dist/index-ApTBN0kp.js.map +0 -1
  418. package/dist/index-BhI7mBJx.cjs +0 -2
  419. package/dist/index-BhI7mBJx.cjs.map +0 -1
  420. package/dist/index-BuhBhuCq.cjs +0 -2
  421. package/dist/index-CHPV5EwG-BzibaIRc.js +0 -3360
  422. package/dist/index-CHPV5EwG-BzibaIRc.js.map +0 -1
  423. package/dist/index-CHPV5EwG-D4pAp7u0.cjs +0 -20
  424. package/dist/index-CHPV5EwG-D4pAp7u0.cjs.map +0 -1
  425. package/dist/index-DuLvdHo2.cjs +0 -2
  426. package/dist/index-FXfr51ZM.cjs +0 -10
  427. package/dist/index-Scxs_wcm-BAjU0Cob.js +0 -49
  428. package/dist/index-Scxs_wcm-BAjU0Cob.js.map +0 -1
  429. package/dist/index-Scxs_wcm-DUDU-Gll.cjs +0 -2
  430. package/dist/index-Scxs_wcm-DUDU-Gll.cjs.map +0 -1
  431. package/dist/index-w64Zl8io-DrMm5QSb.cjs +0 -2
  432. package/dist/index-w64Zl8io-DrMm5QSb.cjs.map +0 -1
  433. package/dist/index-w64Zl8io-ihagHOdP.js +0 -459
  434. package/dist/index-w64Zl8io-ihagHOdP.js.map +0 -1
  435. package/dist/proxy-CqH8m8IQ.cjs +0 -2
  436. package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs +0 -4
  437. package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs.map +0 -1
  438. package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js +0 -145
  439. package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js.map +0 -1
  440. package/dist/use-in-view-dnRv_qqF.cjs +0 -2
  441. package/dist/x-BXShoIAM-BC2sxios.cjs +0 -2
  442. package/dist/x-BXShoIAM-BC2sxios.cjs.map +0 -1
  443. package/dist/x-BXShoIAM-D6VWO6z5.js +0 -74
  444. package/dist/x-BXShoIAM-D6VWO6z5.js.map +0 -1
@@ -1,27 +1,30 @@
1
- import { j as o } from "./index-CHPV5EwG-BzibaIRc.js";
1
+ import { j as o } from "./compiler-runtime-qHgugrLy.js";
2
2
  import { useState as C, useRef as na, useMemo as B, useEffect as I, useEffectEvent as J, useCallback as sa } from "react";
3
3
  import { i as ua } from "./index-BuwmuDFJ.js";
4
4
  import { f as T } from "./index-EArKRVKg.js";
5
- import { b as $, y as A, h as F, c as ca, $ as K, P as Q } from "./checkIfMultiple-Dpyy6BUP.js";
6
- import { w as da } from "./Spinner-B2IIKg9r.js";
7
- import { j as V, D as O } from "./DropdownSelect-Dz7imdTB.js";
8
- import { G as ha } from "./GraphContainer-B8ZqOzKI.js";
9
- import { G as fa } from "./GraphEl-Ch0uAeZw.js";
10
- import { f as pa, a as ga, b as ma, c as Ca, t as va } from "./fetchAndParseData-BAXhgTDM.js";
11
- import { Colors as wa } from "./Colors.js";
12
- import { a as ba, t as xa } from "./transformDataForAggregation-wdPf8bNt.js";
5
+ import { CheckboxGroup as K, CheckboxGroupItem as Q } from "@undp/design-system-react/CheckboxGroup";
6
+ import { Spinner as ca } from "@undp/design-system-react/Spinner";
7
+ import { RadioGroup as $, RadioGroupItem as A } from "@undp/design-system-react/RadioGroup";
8
+ import { DropdownSelect as V, createFilter as F } from "@undp/design-system-react/DropdownSelect";
9
+ import { Label as R } from "@undp/design-system-react/Label";
10
+ import { G as da } from "./GraphContainer-DcOM2CI6.js";
11
+ import { G as ha } from "./GraphEl-C7KBBHvB.js";
12
+ import { b as fa, d as pa, f as ma, c as ga, t as Ca } from "./fetchAndParseData-CDjQZ1fL.js";
13
+ import { Colors as va } from "./Colors.js";
14
+ import { a as ba, t as wa } from "./transformDataForAggregation-wdPf8bNt.js";
13
15
  import { g as X } from "./getUniqValue-DsqSii6M.js";
14
- import { GraphHeader as Ia } from "./GraphHeader.js";
15
- import { GraphFooter as Va } from "./GraphFooter.js";
16
+ import { GraphHeader as xa } from "./GraphHeader.js";
17
+ import { GraphFooter as Ia } from "./GraphFooter.js";
16
18
  import { f as Y } from "./filterData-DsAiFzKY.js";
17
- import { ColorLegend as Sa } from "./ColorLegend.js";
18
- import { c as ja } from "./checkIfNullOrUndefined-DmfiKkNw.js";
19
+ import { ColorLegend as Va } from "./ColorLegend.js";
20
+ import { c as Sa } from "./checkIfNullOrUndefined-DmfiKkNw.js";
21
+ import { c as ja } from "./checkIfMultiple-D2tgEnYM.js";
19
22
  import { t as Z } from "./transformDataForSelect-D8AuvYdf.js";
20
- function qa(_) {
23
+ function Ka(_) {
21
24
  const {
22
25
  graphSettings: l,
23
26
  dataSettings: i,
24
- filters: R,
27
+ filters: O,
25
28
  graphType: k,
26
29
  dataTransform: D,
27
30
  graphDataConfiguration: n,
@@ -38,16 +41,16 @@ function qa(_) {
38
41
  noOfFiltersPerRow: h = 4,
39
42
  uiMode: u = "normal",
40
43
  theme: la = "light"
41
- } = _, [m, ta] = C(void 0), [f, oa] = C(void 0), [w, ra] = C([]), P = na(null), [p, g] = C(n), [b, W] = C([]), [c, j] = C({}), G = B(() => ({
44
+ } = _, [g, ta] = C(void 0), [f, oa] = C(void 0), [b, ra] = C([]), P = na(null), [p, m] = C(n), [w, W] = C([]), [c, j] = C({}), G = B(() => ({
42
45
  ignoreCase: !0,
43
46
  ignoreAccents: !0,
44
47
  trim: !0
45
- }), []), z = B(() => !f || b.length === 0 ? f : f.filter((r) => b.every((e) => e.value && T([e.value]).length > 0 ? ua(T([r[e.filter]]), T([e.value]).map((t) => t.value)).length > 0 : !0)), [b, f]);
48
+ }), []), z = B(() => !f || w.length === 0 ? f : f.filter((r) => w.every((e) => e.value && T([e.value]).length > 0 ? ua(T([r[e.filter]]), T([e.value]).map((t) => t.value)).length > 0 : !0)), [w, f]);
46
49
  I(() => {
47
50
  ta(z);
48
51
  }, [z]);
49
52
  const q = J(() => {
50
- const a = (R || []).map((r) => ({
53
+ const a = (O || []).map((r) => ({
51
54
  filter: r.column,
52
55
  label: r.label || `Filter by ${r.column}`,
53
56
  singleSelect: r.singleSelect,
@@ -67,7 +70,7 @@ function qa(_) {
67
70
  I(() => {
68
71
  (async () => {
69
72
  try {
70
- const r = i.dataURL ? typeof i.dataURL == "string" ? i.fileType === "json" ? await pa(i.dataURL, i.columnsToArray, i.dataTransformation, v) : i.fileType === "api" ? await ga(i.dataURL, i.apiHeaders, i.columnsToArray, i.dataTransformation, v) : await ma(i.dataURL, i.dataTransformation, i.columnsToArray, v, i.delimiter, !0) : await Ca(i.dataURL, i.idColumnTitle) : await va(i.data, i.columnsToArray);
73
+ const r = i.dataURL ? typeof i.dataURL == "string" ? i.fileType === "json" ? await fa(i.dataURL, i.columnsToArray, i.dataTransformation, v) : i.fileType === "api" ? await pa(i.dataURL, i.apiHeaders, i.columnsToArray, i.dataTransformation, v) : await ma(i.dataURL, i.dataTransformation, i.columnsToArray, v, i.delimiter, !0) : await ga(i.dataURL, i.idColumnTitle) : await Ca(i.data, i.columnsToArray);
71
74
  oa(r);
72
75
  } catch (r) {
73
76
  console.error("Data fetching error:", r);
@@ -75,7 +78,7 @@ function qa(_) {
75
78
  })(), q();
76
79
  }, [i, v]), I(() => {
77
80
  q();
78
- }, [R, f]);
81
+ }, [O, f]);
79
82
  const ia = J(() => {
80
83
  const a = X(f, S);
81
84
  ra(a);
@@ -83,7 +86,7 @@ function qa(_) {
83
86
  I(() => {
84
87
  ia();
85
88
  }, [S, f]), I(() => {
86
- g(n);
89
+ m(n);
87
90
  }, [n]);
88
91
  const x = sa((a, r) => {
89
92
  W((e) => e.map((t) => t.filter === a ? {
@@ -91,23 +94,23 @@ function qa(_) {
91
94
  value: r
92
95
  } : t));
93
96
  }, []);
94
- return /* @__PURE__ */ o.jsxs(ha, { className: l?.classNames?.graphContainer, style: l?.styles?.graphContainer, id: l?.graphID, ref: P, "aria-label": l?.ariaLabel || "This is a gridded graph", backgroundColor: l?.backgroundColor ?? !1, theme: l?.theme || "light", language: l?.language || "en", width: l?.width, height: l?.height, padding: l?.padding, children: [
95
- c?.graphTitle || c?.graphDescription || l?.graphTitle || l?.graphDescription || l?.graphDownload || l?.dataDownload ? /* @__PURE__ */ o.jsx(Ia, { styles: {
97
+ return /* @__PURE__ */ o.jsxs(da, { className: l?.classNames?.graphContainer, style: l?.styles?.graphContainer, id: l?.graphID, ref: P, "aria-label": l?.ariaLabel || "This is a gridded graph", backgroundColor: l?.backgroundColor ?? !1, theme: l?.theme || "light", language: l?.language || "en", width: l?.width, height: l?.height, padding: l?.padding, children: [
98
+ c?.graphTitle || c?.graphDescription || l?.graphTitle || l?.graphDescription || l?.graphDownload || l?.dataDownload ? /* @__PURE__ */ o.jsx(xa, { styles: {
96
99
  title: c?.styles?.title || l?.styles?.title,
97
100
  description: c?.styles?.description || l?.styles?.description
98
101
  }, classNames: {
99
102
  title: c?.classNames?.title || l?.classNames?.title,
100
103
  description: c?.classNames?.description || l?.classNames?.description
101
- }, graphTitle: c?.graphTitle || l?.graphTitle, graphDescription: c?.graphDescription || l?.graphDescription, width: c?.width || l?.width, graphDownload: l?.graphDownload ? P : void 0, dataDownload: l?.dataDownload && m && m.length > 0 ? m : null }) : null,
102
- m && w.length > 0 ? /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
103
- b.length !== 0 || (U || []).length !== 0 || (E || []).length !== 0 ? /* @__PURE__ */ o.jsxs("div", { className: "flex flex-wrap items-start gap-x-4 gap-y-0 w-full", children: [
104
+ }, graphTitle: c?.graphTitle || l?.graphTitle, graphDescription: c?.graphDescription || l?.graphDescription, width: c?.width || l?.width, graphDownload: l?.graphDownload ? P : void 0, dataDownload: l?.dataDownload && g && g.length > 0 ? g : null }) : null,
105
+ g && b.length > 0 ? /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
106
+ w.length !== 0 || (U || []).length !== 0 || (E || []).length !== 0 ? /* @__PURE__ */ o.jsxs("div", { className: "flex flex-wrap items-start gap-x-4 gap-y-0 w-full", children: [
104
107
  E?.map((a, r) => /* @__PURE__ */ o.jsxs("div", { style: {
105
108
  width: a.width || `calc(${100 / h}% - ${(h - 1) / h}rem)`,
106
109
  flexGrow: a.width ? 0 : 1,
107
110
  flexShrink: a.ui !== "radio" || a.width ? 0 : 1,
108
111
  minWidth: "240px"
109
112
  }, className: "pb-4", children: [
110
- /* @__PURE__ */ o.jsx($, { className: "mb-2", children: a.label || "Graph by" }),
113
+ /* @__PURE__ */ o.jsx(R, { className: "mb-2", children: a.label || "Graph by" }),
111
114
  a.ui !== "radio" ? /* @__PURE__ */ o.jsx(
112
115
  V,
113
116
  {
@@ -127,13 +130,13 @@ function qa(_) {
127
130
  value: a.options[0].label
128
131
  },
129
132
  onChange: (e) => {
130
- j(e?.graphSettings || {}), g(e?.dataConfiguration);
133
+ j(e?.graphSettings || {}), m(e?.dataConfiguration);
131
134
  }
132
135
  }
133
- ) : /* @__PURE__ */ o.jsx(A, { defaultValue: a.defaultValue?.label || a.options[0].label, variant: u, onValueChange: (e) => {
136
+ ) : /* @__PURE__ */ o.jsx($, { defaultValue: a.defaultValue?.label || a.options[0].label, variant: u, onValueChange: (e) => {
134
137
  const t = a.options[a.options.findIndex((d) => d.label === e)];
135
- j(t.graphSettings || {}), g(t.dataConfiguration);
136
- }, children: a.options.map((e, t) => /* @__PURE__ */ o.jsx(F, { label: e.label, value: e.label }, t)) })
138
+ j(t.graphSettings || {}), m(t.dataConfiguration);
139
+ }, children: a.options.map((e, t) => /* @__PURE__ */ o.jsx(A, { label: e.label, value: e.label }, t)) })
137
140
  ] }, r)),
138
141
  U?.map((a, r) => /* @__PURE__ */ o.jsxs("div", { style: {
139
142
  width: a.width || `calc(${100 / h}% - ${(h - 1) / h}rem)`,
@@ -141,8 +144,8 @@ function qa(_) {
141
144
  flexShrink: a.ui !== "radio" || a.width ? 0 : 1,
142
145
  minWidth: "240px"
143
146
  }, className: "pb-4", children: [
144
- /* @__PURE__ */ o.jsx($, { className: "mb-2", children: a.label || `Visualize ${a.chartConfigId} by` }),
145
- ca(a.chartConfigId, p || []) ? a.ui !== "radio" ? /* @__PURE__ */ o.jsx(
147
+ /* @__PURE__ */ o.jsx(R, { className: "mb-2", children: a.label || `Visualize ${a.chartConfigId} by` }),
148
+ ja(a.chartConfigId, p || []) ? a.ui !== "radio" ? /* @__PURE__ */ o.jsx(
146
149
  V,
147
150
  {
148
151
  options: a.allowedColumnIds,
@@ -151,7 +154,7 @@ function qa(_) {
151
154
  isSearchable: !0,
152
155
  controlShouldRenderValue: !0,
153
156
  defaultValue: n ? n[n.findIndex((e) => e.chartConfigId === a.chartConfigId)].columnId.map((e) => a.allowedColumnIds[a.allowedColumnIds.findIndex((t) => t.value === e)]) : void 0,
154
- filterOption: O(G),
157
+ filterOption: F(G),
155
158
  onChange: (e) => {
156
159
  const t = {
157
160
  columnId: e.map(
@@ -160,7 +163,7 @@ function qa(_) {
160
163
  ),
161
164
  chartConfigId: a.chartConfigId
162
165
  }, d = p?.map((s) => s.chartConfigId === t.chartConfigId ? t : s);
163
- g(d);
166
+ m(d);
164
167
  },
165
168
  isRtl: l?.language === "ar" || l?.language === "he"
166
169
  }
@@ -169,7 +172,7 @@ function qa(_) {
169
172
  columnId: e || [],
170
173
  chartConfigId: a.chartConfigId
171
174
  }, d = p?.map((s) => s.chartConfigId === t.chartConfigId ? t : s);
172
- g(d);
175
+ m(d);
173
176
  }, children: a.allowedColumnIds.map((e, t) => /* @__PURE__ */ o.jsx(Q, { label: e.label, value: e.label }, t)) }) : a.ui !== "radio" ? /* @__PURE__ */ o.jsx(
174
177
  V,
175
178
  {
@@ -184,30 +187,30 @@ function qa(_) {
184
187
  columnId: e?.value,
185
188
  chartConfigId: a.chartConfigId
186
189
  }, d = p?.map((s) => s.chartConfigId === t.chartConfigId ? t : s);
187
- j(e?.graphSettings || {}), g(d);
190
+ j(e?.graphSettings || {}), m(d);
188
191
  }
189
192
  }
190
- ) : /* @__PURE__ */ o.jsx(A, { variant: u, defaultValue: n ? a.allowedColumnIds[a.allowedColumnIds.findIndex((e) => e.value === n[n.findIndex((t) => t.chartConfigId === a.chartConfigId)].columnId)].label : "", onValueChange: (e) => {
193
+ ) : /* @__PURE__ */ o.jsx($, { variant: u, defaultValue: n ? a.allowedColumnIds[a.allowedColumnIds.findIndex((e) => e.value === n[n.findIndex((t) => t.chartConfigId === a.chartConfigId)].columnId)].label : "", onValueChange: (e) => {
191
194
  const t = a.allowedColumnIds[a.allowedColumnIds.findIndex((y) => y.label === e)], d = {
192
195
  columnId: t.value,
193
196
  chartConfigId: a.chartConfigId
194
197
  }, s = p?.map((y) => y.chartConfigId === d.chartConfigId ? d : y);
195
- j(t.graphSettings || {}), g(s);
196
- }, children: a.allowedColumnIds.map((e, t) => /* @__PURE__ */ o.jsx(F, { label: e.label, value: e.label }, t)) })
198
+ j(t.graphSettings || {}), m(s);
199
+ }, children: a.allowedColumnIds.map((e, t) => /* @__PURE__ */ o.jsx(A, { label: e.label, value: e.label }, t)) })
197
200
  ] }, r)),
198
- b?.map((a, r) => /* @__PURE__ */ o.jsxs("div", { style: {
201
+ w?.map((a, r) => /* @__PURE__ */ o.jsxs("div", { style: {
199
202
  width: a.width || `calc(${100 / h}% - ${(h - 1) / h}rem)`,
200
203
  flexGrow: a.width ? 0 : 1,
201
204
  flexShrink: a.ui !== "radio" || a.width ? 0 : 1,
202
205
  flexWrap: "wrap"
203
206
  }, className: "pb-4", children: [
204
- /* @__PURE__ */ o.jsx($, { className: "mb-2", children: a.label }),
205
- a.singleSelect ? a.ui !== "radio" ? /* @__PURE__ */ o.jsx(V, { options: a.availableValues, variant: u, isClearable: a.clearable === void 0 ? !0 : a.clearable, isSearchable: !0, controlShouldRenderValue: !0, filterOption: O(G), onChange: (e) => {
207
+ /* @__PURE__ */ o.jsx(R, { className: "mb-2", children: a.label }),
208
+ a.singleSelect ? a.ui !== "radio" ? /* @__PURE__ */ o.jsx(V, { options: a.availableValues, variant: u, isClearable: a.clearable === void 0 ? !0 : a.clearable, isSearchable: !0, controlShouldRenderValue: !0, filterOption: F(G), onChange: (e) => {
206
209
  x(a.filter, e);
207
- }, value: a.value, defaultValue: a.defaultValue }) : /* @__PURE__ */ o.jsx(A, { variant: u, defaultValue: a.defaultValue.value, onValueChange: (e) => {
210
+ }, value: a.value, defaultValue: a.defaultValue }) : /* @__PURE__ */ o.jsx($, { variant: u, defaultValue: a.defaultValue.value, onValueChange: (e) => {
208
211
  x(a.filter, a.availableValues.filter((t) => t.value === e));
209
- }, children: a.availableValues.map((e, t) => /* @__PURE__ */ o.jsx(F, { label: `${e.label}`, value: `${e.value}` }, t)) }) : /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
210
- a.ui !== "radio" ? /* @__PURE__ */ o.jsx(V, { options: a.availableValues, variant: u, size: "sm", isMulti: !0, isClearable: a.clearable === void 0 ? !0 : a.clearable, isSearchable: !0, controlShouldRenderValue: !0, filterOption: O(G), onChange: (e) => {
212
+ }, children: a.availableValues.map((e, t) => /* @__PURE__ */ o.jsx(A, { label: `${e.label}`, value: `${e.value}` }, t)) }) : /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
213
+ a.ui !== "radio" ? /* @__PURE__ */ o.jsx(V, { options: a.availableValues, variant: u, size: "sm", isMulti: !0, isClearable: a.clearable === void 0 ? !0 : a.clearable, isSearchable: !0, controlShouldRenderValue: !0, filterOption: F(G), onChange: (e) => {
211
214
  x(a.filter, e);
212
215
  }, value: a.value, defaultValue: a.defaultValue }) : /* @__PURE__ */ o.jsx(K, { variant: u, defaultValue: a.defaultValue ? a.defaultValue.map((e) => `${e.value}`) : [], value: a.value ? a.value.map((e) => `${e.value}`) : void 0, onValueChange: (e) => {
213
216
  x(a.filter, a.availableValues.filter((t) => e.indexOf(`${t.value}`) !== -1));
@@ -218,14 +221,14 @@ function qa(_) {
218
221
  ] })
219
222
  ] }, r))
220
223
  ] }) : null,
221
- M !== !1 && l?.showColorScale !== !1 ? /* @__PURE__ */ o.jsx(Sa, { width: l?.width, colorLegendTitle: l?.colorLegendTitle, colors: l?.colors || l?.lineColors || wa[l?.theme || "light"].categoricalColors.colors, colorDomain: l?.colorDomain || l?.labels || [], showNAColor: l?.showNAColor === void 0 || l?.showNAColor === null ? !0 : l?.showNAColor }) : null,
222
- /* @__PURE__ */ o.jsx("div", { className: `flex flex-wrap gap-4 justify-center ${l?.language === "ar" || l?.language === "he" ? "flex-row-reverse" : "flex-row"}`, children: w.map((a, r) => /* @__PURE__ */ o.jsx("div", { style: {
223
- width: `calc(${100 / (N || Math.min(4, w.length || 0))}% - ${((N || Math.min(4, w.length || 0)) - 1) / (N || Math.min(4, w.length || 0))}rem)`,
224
- minWidth: ja(H) ? "280px" : `${H}px`
225
- }, children: /* @__PURE__ */ o.jsx(fa, { graph: k, graphDataConfiguration: p, graphData: ba(D ? xa(Y(m, L || []).filter(
224
+ M !== !1 && l?.showColorScale !== !1 ? /* @__PURE__ */ o.jsx(Va, { width: l?.width, colorLegendTitle: l?.colorLegendTitle, colors: l?.colors || l?.lineColors || va[l?.theme || "light"].categoricalColors.colors, colorDomain: l?.colorDomain || l?.labels || [], showNAColor: l?.showNAColor === void 0 || l?.showNAColor === null ? !0 : l?.showNAColor }) : null,
225
+ /* @__PURE__ */ o.jsx("div", { className: `flex flex-wrap gap-4 justify-center ${l?.language === "ar" || l?.language === "he" ? "flex-row-reverse" : "flex-row"}`, children: b.map((a, r) => /* @__PURE__ */ o.jsx("div", { style: {
226
+ width: `calc(${100 / (N || Math.min(4, b.length || 0))}% - ${((N || Math.min(4, b.length || 0)) - 1) / (N || Math.min(4, b.length || 0))}rem)`,
227
+ minWidth: Sa(H) ? "280px" : `${H}px`
228
+ }, children: /* @__PURE__ */ o.jsx(ha, { graph: k, graphDataConfiguration: p, graphData: ba(D ? wa(Y(g, L || []).filter(
226
229
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
227
230
  (e) => e[S] === a
228
- ), D.keyColumn, D.aggregationColumnsSetting) : Y(m, L || []).filter(
231
+ ), D.keyColumn, D.aggregationColumnsSetting) : Y(g, L || []).filter(
229
232
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
230
233
  (e) => e[S] === a
231
234
  ), k, p) || [], debugMode: v, settings: {
@@ -246,8 +249,8 @@ function qa(_) {
246
249
  sources: void 0,
247
250
  showColorScale: l?.showColorScale === !1 ? !1 : M === !1
248
251
  }, readableHeader: ea || [] }) }, r)) })
249
- ] }) : /* @__PURE__ */ o.jsx("div", { className: "w-full flex justify-center p-4", children: /* @__PURE__ */ o.jsx(da, {}) }),
250
- l?.sources || l?.footNote ? /* @__PURE__ */ o.jsx(Va, { styles: {
252
+ ] }) : /* @__PURE__ */ o.jsx("div", { className: "w-full flex justify-center p-4", children: /* @__PURE__ */ o.jsx(ca, {}) }),
253
+ l?.sources || l?.footNote ? /* @__PURE__ */ o.jsx(Ia, { styles: {
251
254
  footnote: l?.styles?.footnote,
252
255
  source: l?.styles?.source
253
256
  }, classNames: {
@@ -257,6 +260,6 @@ function qa(_) {
257
260
  ] });
258
261
  }
259
262
  export {
260
- qa as GriddedGraphs
263
+ Ka as GriddedGraphs
261
264
  };
262
265
  //# sourceMappingURL=GriddedGraphs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GriddedGraphs.js","sources":["../src/Components/Dashboard/GriddedGraphs.tsx"],"sourcesContent":["import { useCallback, useEffect, useEffectEvent, useMemo, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport { CheckboxGroup, CheckboxGroupItem } from '@undp/design-system-react/CheckboxGroup';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { RadioGroup, RadioGroupItem } from '@undp/design-system-react/RadioGroup';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport { GraphContainer } from '../Elements/GraphContainer';\r\n\r\nimport GraphEl from './GraphEl';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n GraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { transformDataForGraph } from '@/Utils/transformData/transformDataForGraph';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDataForAggregation } from '@/Utils/transformData/transformDataForAggregation';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { checkIfMultiple } from '@/Utils/checkIfMultiple';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\n\r\ninterface Props {\r\n noOfColumns?: number;\r\n columnGridBy: string;\r\n graphSettings?: GraphSettingsDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n graphType: Exclude<GraphType, 'geoHubMap' | 'geoHubCompareMap' | 'geoHubMapWithLayerSelection'>;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n showCommonColorScale?: boolean;\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n minGraphHeight?: number;\r\n minGraphWidth?: number;\r\n debugMode?: boolean;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n theme?: 'dark' | 'light';\r\n}\r\n\r\nexport function GriddedGraphs(props: Props) {\r\n const {\r\n graphSettings,\r\n dataSettings,\r\n filters,\r\n graphType,\r\n dataTransform,\r\n graphDataConfiguration,\r\n noOfColumns,\r\n columnGridBy,\r\n dataFilters,\r\n showCommonColorScale,\r\n minGraphHeight,\r\n minGraphWidth,\r\n debugMode,\r\n dataSelectionOptions,\r\n advancedDataSelectionOptions,\r\n readableHeader,\r\n noOfFiltersPerRow = 4,\r\n uiMode = 'normal',\r\n theme = 'light',\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [dataFromFile, setDataFromFile] = useState<any>(undefined);\r\n const [gridOption, setGridOption] = useState<(string | number)[]>([]);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const [graphConfig, setGraphConfig] = useState<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n const [advancedGraphSettings, setAdvancedGraphSettings] = useState<GraphSettingsDataType>({});\r\n\r\n const filterConfig = useMemo(\r\n () => ({\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n }),\r\n [],\r\n );\r\n\r\n const filteredData = useMemo(() => {\r\n if (!dataFromFile || filterSettings.length === 0) return dataFromFile;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = dataFromFile.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n return result;\r\n }, [filterSettings, dataFromFile]);\r\n useEffect(() => {\r\n setData(filteredData);\r\n }, [filteredData]);\r\n\r\n const updateFiltersEvent = useEffectEvent(() => {\r\n const filterSettingsTemp = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n ui: el.ui,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(dataFromFile, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n setFilterSettings(filterSettingsTemp);\r\n });\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const fetchDataFromFile = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? await fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? await fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : await fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : await fetchAndParseMultipleDataSources(\r\n dataSettings.dataURL,\r\n dataSettings.idColumnTitle,\r\n )\r\n : await transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n setDataFromFile(fetchDataFromFile);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n };\r\n fetchData();\r\n updateFiltersEvent();\r\n }, [dataSettings, debugMode]);\r\n useEffect(() => {\r\n updateFiltersEvent();\r\n }, [filters, dataFromFile]);\r\n\r\n const updateGridOptionEvent = useEffectEvent(() => {\r\n const gridValue = getUniqValue(dataFromFile, columnGridBy) as (string | number)[];\r\n setGridOption(gridValue);\r\n });\r\n useEffect(() => {\r\n updateGridOptionEvent();\r\n }, [columnGridBy, dataFromFile]);\r\n useEffect(() => {\r\n setGraphConfig(graphDataConfiguration);\r\n }, [graphDataConfiguration]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = useCallback((filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={graphSettings?.classNames?.graphContainer}\r\n style={graphSettings?.styles?.graphContainer}\r\n id={graphSettings?.graphID}\r\n ref={graphParentDiv}\r\n aria-label={graphSettings?.ariaLabel || 'This is a gridded graph'}\r\n backgroundColor={graphSettings?.backgroundColor ?? false}\r\n theme={graphSettings?.theme || 'light'}\r\n language={graphSettings?.language || 'en'}\r\n width={graphSettings?.width}\r\n height={graphSettings?.height}\r\n padding={graphSettings?.padding}\r\n >\r\n {advancedGraphSettings?.graphTitle ||\r\n advancedGraphSettings?.graphDescription ||\r\n graphSettings?.graphTitle ||\r\n graphSettings?.graphDescription ||\r\n graphSettings?.graphDownload ||\r\n graphSettings?.dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: advancedGraphSettings?.styles?.title || graphSettings?.styles?.title,\r\n description:\r\n advancedGraphSettings?.styles?.description || graphSettings?.styles?.description,\r\n }}\r\n classNames={{\r\n title: advancedGraphSettings?.classNames?.title || graphSettings?.classNames?.title,\r\n description:\r\n advancedGraphSettings?.classNames?.description ||\r\n graphSettings?.classNames?.description,\r\n }}\r\n graphTitle={advancedGraphSettings?.graphTitle || graphSettings?.graphTitle}\r\n graphDescription={\r\n advancedGraphSettings?.graphDescription || graphSettings?.graphDescription\r\n }\r\n width={advancedGraphSettings?.width || graphSettings?.width}\r\n graphDownload={graphSettings?.graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n graphSettings?.dataDownload && data ? (data.length > 0 ? data : null) : null\r\n }\r\n />\r\n ) : null}\r\n {data && gridOption.length > 0 ? (\r\n <>\r\n {filterSettings.length !== 0 ||\r\n (dataSelectionOptions || []).length !== 0 ||\r\n (advancedDataSelectionOptions || []).length !== 0 ? (\r\n <div className='flex flex-wrap items-start gap-x-4 gap-y-0 w-full'>\r\n {advancedDataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label || 'Graph by'}</Label>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.options.map(opt => ({\r\n ...opt,\r\n value: opt.label,\r\n }))}\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n d.defaultValue\r\n ? {\r\n ...d.defaultValue,\r\n value: d.defaultValue?.label,\r\n }\r\n : {\r\n ...d.options[0],\r\n value: d.options[0].label,\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(el?.dataConfiguration);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n defaultValue={d.defaultValue?.label || d.options[0].label}\r\n variant={uiMode}\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.options[d.options.findIndex(opt => opt.label === el)];\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(selectedOption.dataConfiguration);\r\n }}\r\n >\r\n {d.options.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )}\r\n </div>\r\n ))}\r\n {dataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label || `Visualize ${d.chartConfigId} by`}</Label>\r\n {!checkIfMultiple(d.chartConfigId, graphConfig || []) ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ]\r\n : undefined\r\n }\r\n controlShouldRenderValue\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el?.value as string,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ].label\r\n : ''\r\n }\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(opt => opt.label === el)\r\n ];\r\n const newGraphConfig = {\r\n columnId: selectedOption.value,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n isMulti\r\n variant={uiMode}\r\n isSearchable\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n ).map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n : undefined\r\n }\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el.map(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) => item.value,\r\n ) as string[],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n isRtl={graphSettings?.language === 'ar' || graphSettings?.language === 'he'}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n )\r\n .map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n .map(el => el.value)\r\n : []\r\n }\r\n onValueChange={el => {\r\n const newGraphConfig = {\r\n columnId: el || [],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <CheckboxGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n </div>\r\n ))}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n flexWrap: 'wrap',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={(d.defaultValue as { value: string; label: string }).value}\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => v.value === el),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <RadioGroupItem label={`${el.label}`} value={`${el.value}`} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : (\r\n <>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n d.defaultValue\r\n ? (\r\n d.defaultValue as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : []\r\n }\r\n value={\r\n d.value\r\n ? (\r\n d.value as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : undefined\r\n }\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => el.indexOf(`${v.value}`) !== -1),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <CheckboxGroupItem\r\n label={`${el.label}`}\r\n value={`${el.value}`}\r\n key={j}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n ) : null}\r\n {showCommonColorScale !== false && graphSettings?.showColorScale !== false ? (\r\n <ColorLegend\r\n width={graphSettings?.width}\r\n colorLegendTitle={graphSettings?.colorLegendTitle}\r\n colors={\r\n (graphSettings?.colors as string[] | undefined) ||\r\n (graphSettings?.lineColors as string[] | undefined) ||\r\n Colors[(graphSettings?.theme as 'light' | 'dark' | undefined) || 'light']\r\n .categoricalColors.colors\r\n }\r\n colorDomain={graphSettings?.colorDomain || graphSettings?.labels || []}\r\n showNAColor={\r\n graphSettings?.showNAColor === undefined || graphSettings?.showNAColor === null\r\n ? true\r\n : graphSettings?.showNAColor\r\n }\r\n />\r\n ) : null}\r\n <div\r\n className={`flex flex-wrap gap-4 justify-center ${graphSettings?.language === 'ar' || graphSettings?.language === 'he' ? 'flex-row-reverse' : 'flex-row'}`}\r\n >\r\n {gridOption.map((el, i) => (\r\n <div\r\n key={i}\r\n style={{\r\n width: `calc(${\r\n 100 / (noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number))\r\n }% - ${\r\n ((noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number)) - 1) /\r\n (noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number))\r\n }rem)`,\r\n minWidth: checkIfNullOrUndefined(minGraphWidth) ? '280px' : `${minGraphWidth}px`,\r\n }}\r\n >\r\n <GraphEl\r\n graph={graphType}\r\n graphDataConfiguration={graphConfig}\r\n graphData={\r\n transformDataForGraph(\r\n dataTransform\r\n ? transformDataForAggregation(\r\n filterData(data, dataFilters || []).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d: any) => d[columnGridBy] === el,\r\n ),\r\n dataTransform.keyColumn,\r\n dataTransform.aggregationColumnsSetting,\r\n )\r\n : filterData(data, dataFilters || []).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d: any) => d[columnGridBy] === el,\r\n ),\r\n graphType,\r\n graphConfig,\r\n ) || []\r\n }\r\n debugMode={debugMode}\r\n settings={{\r\n ...(graphSettings || {}),\r\n ...advancedGraphSettings,\r\n theme: graphSettings?.theme || theme,\r\n width: undefined,\r\n height: undefined,\r\n relativeHeight: graphSettings?.relativeHeight || 0.67,\r\n minHeight: minGraphHeight,\r\n graphTitle: `${el}`,\r\n graphDescription: undefined,\r\n graphDownload: false,\r\n dataDownload: false,\r\n backgroundColor: undefined,\r\n padding: '0',\r\n footNote: undefined,\r\n sources: undefined,\r\n showColorScale:\r\n graphSettings?.showColorScale === false\r\n ? false\r\n : showCommonColorScale === false,\r\n }}\r\n readableHeader={readableHeader || []}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n ) : (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n )}\r\n {graphSettings?.sources || graphSettings?.footNote ? (\r\n <GraphFooter\r\n styles={{\r\n footnote: graphSettings?.styles?.footnote,\r\n source: graphSettings?.styles?.source,\r\n }}\r\n classNames={{\r\n footnote: graphSettings?.classNames?.footnote,\r\n source: graphSettings?.classNames?.source,\r\n }}\r\n sources={graphSettings?.sources}\r\n footNote={graphSettings?.footNote}\r\n width={graphSettings?.width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["GriddedGraphs","props","graphSettings","dataSettings","filters","graphType","dataTransform","graphDataConfiguration","noOfColumns","columnGridBy","dataFilters","showCommonColorScale","minGraphHeight","minGraphWidth","debugMode","dataSelectionOptions","advancedDataSelectionOptions","readableHeader","noOfFiltersPerRow","uiMode","theme","data","setData","useState","undefined","dataFromFile","setDataFromFile","gridOption","setGridOption","graphParentDiv","useRef","graphConfig","setGraphConfig","filterSettings","setFilterSettings","advancedGraphSettings","setAdvancedGraphSettings","filterConfig","useMemo","ignoreCase","ignoreAccents","trim","filteredData","length","filter","item","every","value","flattenDeep","intersection","map","el","useEffect","updateFiltersEvent","useEffectEvent","filterSettingsTemp","column","label","singleSelect","clearable","ui","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","width","fetchData","fetchDataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","console","updateGridOptionEvent","gridValue","handleFilterChange","useCallback","values","prev","f","GraphContainer","classNames","graphContainer","styles","graphID","ariaLabel","backgroundColor","language","height","padding","graphTitle","graphDescription","graphDownload","dataDownload","jsx","GraphHeader","title","description","jsxs","Fragment","d","i","flexGrow","flexShrink","minWidth","Label","DropdownSelect","options","opt","dataConfiguration","RadioGroup","selectedOption","findIndex","j","RadioGroupItem","chartConfigId","checkIfMultiple","allowedColumnIds","columnId","createFilter","newGraphConfig","updatedConfig","CheckboxGroup","CheckboxGroupItem","flexWrap","indexOf","showColorScale","ColorLegend","colorLegendTitle","colors","lineColors","Colors","categoricalColors","colorDomain","labels","showNAColor","Math","min","checkIfNullOrUndefined","GraphEl","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","relativeHeight","minHeight","footNote","sources","Spinner","GraphFooter","footnote","source"],"mappings":"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"}
1
+ {"version":3,"file":"GriddedGraphs.js","sources":["../src/Components/Dashboard/GriddedGraphs.tsx"],"sourcesContent":["import { useCallback, useEffect, useEffectEvent, useMemo, useRef, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport { CheckboxGroup, CheckboxGroupItem } from '@undp/design-system-react/CheckboxGroup';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { RadioGroup, RadioGroupItem } from '@undp/design-system-react/RadioGroup';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { Label } from '@undp/design-system-react/Label';\r\n\r\nimport { GraphContainer } from '../Elements/GraphContainer';\r\n\r\nimport GraphEl from './GraphEl';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n GraphType,\r\n} from '@/Types';\r\nimport {\r\n fetchAndParseCSV,\r\n fetchAndParseJSON,\r\n fetchAndParseMultipleDataSources,\r\n fetchAndTransformDataFromAPI,\r\n} from '@/Utils/fetchAndParseData';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { transformColumnsToArray } from '@/Utils/transformData/transformColumnsToArray';\r\nimport { transformDataForGraph } from '@/Utils/transformData/transformDataForGraph';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDataForAggregation } from '@/Utils/transformData/transformDataForAggregation';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { filterData } from '@/Utils/transformData/filterData';\r\nimport { ColorLegend } from '@/Components/Elements/ColorLegend';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { checkIfMultiple } from '@/Utils/checkIfMultiple';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\n\r\ninterface Props {\r\n noOfColumns?: number;\r\n columnGridBy: string;\r\n graphSettings?: GraphSettingsDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n graphType: Exclude<GraphType, 'geoHubMap' | 'geoHubCompareMap' | 'geoHubMapWithLayerSelection'>;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n showCommonColorScale?: boolean;\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n minGraphHeight?: number;\r\n minGraphWidth?: number;\r\n debugMode?: boolean;\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n uiMode?: 'light' | 'normal';\r\n theme?: 'dark' | 'light';\r\n}\r\n\r\nexport function GriddedGraphs(props: Props) {\r\n const {\r\n graphSettings,\r\n dataSettings,\r\n filters,\r\n graphType,\r\n dataTransform,\r\n graphDataConfiguration,\r\n noOfColumns,\r\n columnGridBy,\r\n dataFilters,\r\n showCommonColorScale,\r\n minGraphHeight,\r\n minGraphWidth,\r\n debugMode,\r\n dataSelectionOptions,\r\n advancedDataSelectionOptions,\r\n readableHeader,\r\n noOfFiltersPerRow = 4,\r\n uiMode = 'normal',\r\n theme = 'light',\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [data, setData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [dataFromFile, setDataFromFile] = useState<any>(undefined);\r\n const [gridOption, setGridOption] = useState<(string | number)[]>([]);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const [graphConfig, setGraphConfig] = useState<GraphConfigurationDataType[] | undefined>(\r\n graphDataConfiguration,\r\n );\r\n const [filterSettings, setFilterSettings] = useState<FilterSettingsDataType[]>([]);\r\n const [advancedGraphSettings, setAdvancedGraphSettings] = useState<GraphSettingsDataType>({});\r\n\r\n const filterConfig = useMemo(\r\n () => ({\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n trim: true,\r\n }),\r\n [],\r\n );\r\n\r\n const filteredData = useMemo(() => {\r\n if (!dataFromFile || filterSettings.length === 0) return dataFromFile;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const result = dataFromFile.filter((item: any) =>\r\n filterSettings.every(filter =>\r\n filter.value && flattenDeep([filter.value]).length > 0\r\n ? intersection(\r\n flattenDeep([item[filter.filter]]),\r\n flattenDeep([filter.value]).map(el => el.value),\r\n ).length > 0\r\n : true,\r\n ),\r\n );\r\n return result;\r\n }, [filterSettings, dataFromFile]);\r\n useEffect(() => {\r\n setData(filteredData);\r\n }, [filteredData]);\r\n\r\n const updateFiltersEvent = useEffectEvent(() => {\r\n const filterSettingsTemp = (filters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: el.singleSelect,\r\n clearable: el.clearable,\r\n ui: el.ui,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n value: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(dataFromFile, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n allowSelectAll: el.allowSelectAll,\r\n width: el.width,\r\n }));\r\n setFilterSettings(filterSettingsTemp);\r\n });\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n try {\r\n const fetchDataFromFile = dataSettings.dataURL\r\n ? typeof dataSettings.dataURL === 'string'\r\n ? dataSettings.fileType === 'json'\r\n ? await fetchAndParseJSON(\r\n dataSettings.dataURL,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : dataSettings.fileType === 'api'\r\n ? await fetchAndTransformDataFromAPI(\r\n dataSettings.dataURL,\r\n dataSettings.apiHeaders,\r\n dataSettings.columnsToArray,\r\n dataSettings.dataTransformation,\r\n debugMode,\r\n )\r\n : await fetchAndParseCSV(\r\n dataSettings.dataURL,\r\n dataSettings.dataTransformation,\r\n dataSettings.columnsToArray,\r\n debugMode,\r\n dataSettings.delimiter,\r\n true,\r\n )\r\n : await fetchAndParseMultipleDataSources(\r\n dataSettings.dataURL,\r\n dataSettings.idColumnTitle,\r\n )\r\n : await transformColumnsToArray(dataSettings.data, dataSettings.columnsToArray);\r\n setDataFromFile(fetchDataFromFile);\r\n } catch (error) {\r\n console.error('Data fetching error:', error);\r\n }\r\n };\r\n fetchData();\r\n updateFiltersEvent();\r\n }, [dataSettings, debugMode]);\r\n useEffect(() => {\r\n updateFiltersEvent();\r\n }, [filters, dataFromFile]);\r\n\r\n const updateGridOptionEvent = useEffectEvent(() => {\r\n const gridValue = getUniqValue(dataFromFile, columnGridBy) as (string | number)[];\r\n setGridOption(gridValue);\r\n });\r\n useEffect(() => {\r\n updateGridOptionEvent();\r\n }, [columnGridBy, dataFromFile]);\r\n useEffect(() => {\r\n setGraphConfig(graphDataConfiguration);\r\n }, [graphDataConfiguration]);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleFilterChange = useCallback((filter: string, values: any) => {\r\n setFilterSettings(prev => prev.map(f => (f.filter === filter ? { ...f, value: values } : f)));\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={graphSettings?.classNames?.graphContainer}\r\n style={graphSettings?.styles?.graphContainer}\r\n id={graphSettings?.graphID}\r\n ref={graphParentDiv}\r\n aria-label={graphSettings?.ariaLabel || 'This is a gridded graph'}\r\n backgroundColor={graphSettings?.backgroundColor ?? false}\r\n theme={graphSettings?.theme || 'light'}\r\n language={graphSettings?.language || 'en'}\r\n width={graphSettings?.width}\r\n height={graphSettings?.height}\r\n padding={graphSettings?.padding}\r\n >\r\n {advancedGraphSettings?.graphTitle ||\r\n advancedGraphSettings?.graphDescription ||\r\n graphSettings?.graphTitle ||\r\n graphSettings?.graphDescription ||\r\n graphSettings?.graphDownload ||\r\n graphSettings?.dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: advancedGraphSettings?.styles?.title || graphSettings?.styles?.title,\r\n description:\r\n advancedGraphSettings?.styles?.description || graphSettings?.styles?.description,\r\n }}\r\n classNames={{\r\n title: advancedGraphSettings?.classNames?.title || graphSettings?.classNames?.title,\r\n description:\r\n advancedGraphSettings?.classNames?.description ||\r\n graphSettings?.classNames?.description,\r\n }}\r\n graphTitle={advancedGraphSettings?.graphTitle || graphSettings?.graphTitle}\r\n graphDescription={\r\n advancedGraphSettings?.graphDescription || graphSettings?.graphDescription\r\n }\r\n width={advancedGraphSettings?.width || graphSettings?.width}\r\n graphDownload={graphSettings?.graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n graphSettings?.dataDownload && data ? (data.length > 0 ? data : null) : null\r\n }\r\n />\r\n ) : null}\r\n {data && gridOption.length > 0 ? (\r\n <>\r\n {filterSettings.length !== 0 ||\r\n (dataSelectionOptions || []).length !== 0 ||\r\n (advancedDataSelectionOptions || []).length !== 0 ? (\r\n <div className='flex flex-wrap items-start gap-x-4 gap-y-0 w-full'>\r\n {advancedDataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label || 'Graph by'}</Label>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.options.map(opt => ({\r\n ...opt,\r\n value: opt.label,\r\n }))}\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n controlShouldRenderValue\r\n defaultValue={\r\n d.defaultValue\r\n ? {\r\n ...d.defaultValue,\r\n value: d.defaultValue?.label,\r\n }\r\n : {\r\n ...d.options[0],\r\n value: d.options[0].label,\r\n }\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(el?.dataConfiguration);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n defaultValue={d.defaultValue?.label || d.options[0].label}\r\n variant={uiMode}\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.options[d.options.findIndex(opt => opt.label === el)];\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(selectedOption.dataConfiguration);\r\n }}\r\n >\r\n {d.options.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )}\r\n </div>\r\n ))}\r\n {dataSelectionOptions?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n minWidth: '240px',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label || `Visualize ${d.chartConfigId} by`}</Label>\r\n {!checkIfMultiple(d.chartConfigId, graphConfig || []) ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n isClearable={false}\r\n isSearchable\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ]\r\n : undefined\r\n }\r\n controlShouldRenderValue\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el?.value as string,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(el?.graphSettings || {});\r\n setGraphConfig(updatedConfig);\r\n }}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(\r\n j =>\r\n j.value ===\r\n (graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string),\r\n )\r\n ].label\r\n : ''\r\n }\r\n onValueChange={el => {\r\n const selectedOption =\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(opt => opt.label === el)\r\n ];\r\n const newGraphConfig = {\r\n columnId: selectedOption.value,\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setAdvancedGraphSettings(selectedOption.graphSettings || {});\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <RadioGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.allowedColumnIds}\r\n isMulti\r\n variant={uiMode}\r\n isSearchable\r\n controlShouldRenderValue\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n ).map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n : undefined\r\n }\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n const newGraphConfig = {\r\n columnId: el.map(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) => item.value,\r\n ) as string[],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n isRtl={graphSettings?.language === 'ar' || graphSettings?.language === 'he'}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n graphDataConfiguration\r\n ? (\r\n graphDataConfiguration[\r\n graphDataConfiguration.findIndex(\r\n el => el.chartConfigId === d.chartConfigId,\r\n )\r\n ].columnId as string[]\r\n )\r\n .map(\r\n el =>\r\n d.allowedColumnIds[\r\n d.allowedColumnIds.findIndex(j => j.value === el)\r\n ],\r\n )\r\n .map(el => el.value)\r\n : []\r\n }\r\n onValueChange={el => {\r\n const newGraphConfig = {\r\n columnId: el || [],\r\n chartConfigId: d.chartConfigId,\r\n };\r\n const updatedConfig = graphConfig?.map(item =>\r\n item.chartConfigId === newGraphConfig.chartConfigId\r\n ? newGraphConfig\r\n : item,\r\n );\r\n setGraphConfig(updatedConfig);\r\n }}\r\n >\r\n {d.allowedColumnIds.map((el, j) => (\r\n <CheckboxGroupItem label={el.label} value={el.label} key={j} />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n </div>\r\n ))}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n style={{\r\n width:\r\n d.width ||\r\n `calc(${100 / noOfFiltersPerRow}% - ${\r\n (noOfFiltersPerRow - 1) / noOfFiltersPerRow\r\n }rem)`,\r\n flexGrow: d.width ? 0 : 1,\r\n flexShrink: d.ui !== 'radio' || d.width ? 0 : 1,\r\n flexWrap: 'wrap',\r\n }}\r\n className='pb-4'\r\n key={i}\r\n >\r\n <Label className='mb-2'>{d.label}</Label>\r\n {d.singleSelect ? (\r\n d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <RadioGroup\r\n variant={uiMode}\r\n defaultValue={(d.defaultValue as { value: string; label: string }).value}\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => v.value === el),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <RadioGroupItem label={`${el.label}`} value={`${el.value}`} key={j} />\r\n ))}\r\n </RadioGroup>\r\n )\r\n ) : (\r\n <>\r\n {d.ui !== 'radio' ? (\r\n <DropdownSelect\r\n options={d.availableValues}\r\n variant={uiMode}\r\n size='sm'\r\n isMulti\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isSearchable\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n handleFilterChange(d.filter, el);\r\n }}\r\n value={d.value}\r\n defaultValue={d.defaultValue}\r\n />\r\n ) : (\r\n <CheckboxGroup\r\n variant={uiMode}\r\n defaultValue={\r\n d.defaultValue\r\n ? (\r\n d.defaultValue as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : []\r\n }\r\n value={\r\n d.value\r\n ? (\r\n d.value as {\r\n value: string | number;\r\n label: string | number;\r\n }[]\r\n ).map(el => `${el.value}`)\r\n : undefined\r\n }\r\n onValueChange={el => {\r\n handleFilterChange(\r\n d.filter,\r\n d.availableValues.filter(v => el.indexOf(`${v.value}`) !== -1),\r\n );\r\n }}\r\n >\r\n {d.availableValues.map((el, j) => (\r\n <CheckboxGroupItem\r\n label={`${el.label}`}\r\n value={`${el.value}`}\r\n key={j}\r\n />\r\n ))}\r\n </CheckboxGroup>\r\n )}\r\n {d.allowSelectAll ? (\r\n <button\r\n type='button'\r\n className='bg-transparent border-0 p-0 mt-2 cursor-pointer text-primary-blue-600 dark:text-primary-blue-400'\r\n onClick={() => {\r\n handleFilterChange(d.filter, d.availableValues);\r\n }}\r\n >\r\n Select all options\r\n </button>\r\n ) : null}\r\n </>\r\n )}\r\n </div>\r\n ))}\r\n </div>\r\n ) : null}\r\n {showCommonColorScale !== false && graphSettings?.showColorScale !== false ? (\r\n <ColorLegend\r\n width={graphSettings?.width}\r\n colorLegendTitle={graphSettings?.colorLegendTitle}\r\n colors={\r\n (graphSettings?.colors as string[] | undefined) ||\r\n (graphSettings?.lineColors as string[] | undefined) ||\r\n Colors[(graphSettings?.theme as 'light' | 'dark' | undefined) || 'light']\r\n .categoricalColors.colors\r\n }\r\n colorDomain={graphSettings?.colorDomain || graphSettings?.labels || []}\r\n showNAColor={\r\n graphSettings?.showNAColor === undefined || graphSettings?.showNAColor === null\r\n ? true\r\n : graphSettings?.showNAColor\r\n }\r\n />\r\n ) : null}\r\n <div\r\n className={`flex flex-wrap gap-4 justify-center ${graphSettings?.language === 'ar' || graphSettings?.language === 'he' ? 'flex-row-reverse' : 'flex-row'}`}\r\n >\r\n {gridOption.map((el, i) => (\r\n <div\r\n key={i}\r\n style={{\r\n width: `calc(${\r\n 100 / (noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number))\r\n }% - ${\r\n ((noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number)) - 1) /\r\n (noOfColumns || (Math.min(...[4, gridOption.length || 0]) as number))\r\n }rem)`,\r\n minWidth: checkIfNullOrUndefined(minGraphWidth) ? '280px' : `${minGraphWidth}px`,\r\n }}\r\n >\r\n <GraphEl\r\n graph={graphType}\r\n graphDataConfiguration={graphConfig}\r\n graphData={\r\n transformDataForGraph(\r\n dataTransform\r\n ? transformDataForAggregation(\r\n filterData(data, dataFilters || []).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d: any) => d[columnGridBy] === el,\r\n ),\r\n dataTransform.keyColumn,\r\n dataTransform.aggregationColumnsSetting,\r\n )\r\n : filterData(data, dataFilters || []).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (d: any) => d[columnGridBy] === el,\r\n ),\r\n graphType,\r\n graphConfig,\r\n ) || []\r\n }\r\n debugMode={debugMode}\r\n settings={{\r\n ...(graphSettings || {}),\r\n ...advancedGraphSettings,\r\n theme: graphSettings?.theme || theme,\r\n width: undefined,\r\n height: undefined,\r\n relativeHeight: graphSettings?.relativeHeight || 0.67,\r\n minHeight: minGraphHeight,\r\n graphTitle: `${el}`,\r\n graphDescription: undefined,\r\n graphDownload: false,\r\n dataDownload: false,\r\n backgroundColor: undefined,\r\n padding: '0',\r\n footNote: undefined,\r\n sources: undefined,\r\n showColorScale:\r\n graphSettings?.showColorScale === false\r\n ? false\r\n : showCommonColorScale === false,\r\n }}\r\n readableHeader={readableHeader || []}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n </>\r\n ) : (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n )}\r\n {graphSettings?.sources || graphSettings?.footNote ? (\r\n <GraphFooter\r\n styles={{\r\n footnote: graphSettings?.styles?.footnote,\r\n source: graphSettings?.styles?.source,\r\n }}\r\n classNames={{\r\n footnote: graphSettings?.classNames?.footnote,\r\n source: graphSettings?.classNames?.source,\r\n }}\r\n sources={graphSettings?.sources}\r\n footNote={graphSettings?.footNote}\r\n width={graphSettings?.width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["GriddedGraphs","props","graphSettings","dataSettings","filters","graphType","dataTransform","graphDataConfiguration","noOfColumns","columnGridBy","dataFilters","showCommonColorScale","minGraphHeight","minGraphWidth","debugMode","dataSelectionOptions","advancedDataSelectionOptions","readableHeader","noOfFiltersPerRow","uiMode","theme","data","setData","useState","undefined","dataFromFile","setDataFromFile","gridOption","setGridOption","graphParentDiv","useRef","graphConfig","setGraphConfig","filterSettings","setFilterSettings","advancedGraphSettings","setAdvancedGraphSettings","filterConfig","useMemo","ignoreCase","ignoreAccents","trim","filteredData","length","filter","item","every","value","flattenDeep","intersection","map","el","useEffect","updateFiltersEvent","useEffectEvent","filterSettingsTemp","column","label","singleSelect","clearable","ui","defaultValue","transformDefaultValue","availableValues","getUniqValue","v","excludeValues","includes","allowSelectAll","width","fetchData","fetchDataFromFile","dataURL","fileType","fetchAndParseJSON","columnsToArray","dataTransformation","fetchAndTransformDataFromAPI","apiHeaders","fetchAndParseCSV","delimiter","fetchAndParseMultipleDataSources","idColumnTitle","transformColumnsToArray","error","console","updateGridOptionEvent","gridValue","handleFilterChange","useCallback","values","prev","f","GraphContainer","classNames","graphContainer","styles","graphID","ariaLabel","backgroundColor","language","height","padding","graphTitle","graphDescription","graphDownload","dataDownload","jsx","GraphHeader","title","description","jsxs","Fragment","d","i","flexGrow","flexShrink","minWidth","Label","DropdownSelect","options","opt","dataConfiguration","RadioGroup","selectedOption","findIndex","j","RadioGroupItem","chartConfigId","checkIfMultiple","allowedColumnIds","columnId","createFilter","newGraphConfig","updatedConfig","CheckboxGroup","CheckboxGroupItem","flexWrap","indexOf","showColorScale","ColorLegend","colorLegendTitle","colors","lineColors","Colors","categoricalColors","colorDomain","labels","showNAColor","Math","min","checkIfNullOrUndefined","GraphEl","transformDataForGraph","transformDataForAggregation","filterData","keyColumn","aggregationColumnsSetting","relativeHeight","minHeight","footNote","sources","Spinner","GraphFooter","footnote","source"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwEO,SAASA,GAAcC,GAAc;AAC1C,QAAM;AAAA,IACJC,eAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,wBAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,sBAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,sBAAAA;AAAAA,IACAC,8BAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,mBAAAA,IAAoB;AAAA,IACpBC,QAAAA,IAAS;AAAA,IACTC,OAAAA,KAAQ;AAAA,EAAA,IACNnB,GAEE,CAACoB,GAAMC,EAAO,IAAIC,EAAcC,MAAS,GAEzC,CAACC,GAAcC,EAAe,IAAIH,EAAcC,MAAS,GACzD,CAACG,GAAYC,EAAa,IAAIL,EAA8B,CAAA,CAAE,GAC9DM,IAAiBC,GAAuB,IAAI,GAC5C,CAACC,GAAaC,CAAc,IAAIT,EACpChB,CACF,GACM,CAAC0B,GAAgBC,CAAiB,IAAIX,EAAmC,CAAA,CAAE,GAC3E,CAACY,GAAuBC,CAAwB,IAAIb,EAAgC,CAAA,CAAE,GAEtFc,IAAeC,EACnB,OAAO;AAAA,IACLC,YAAY;AAAA,IACZC,eAAe;AAAA,IACfC,MAAM;AAAA,EAAA,IAER,CAAA,CACF,GAEMC,IAAeJ,EAAQ,MACvB,CAACb,KAAgBQ,EAAeU,WAAW,IAAUlB,IAE1CA,EAAamB,OAAO,CAACC,MAClCZ,EAAea,MAAMF,CAAAA,MACnBA,EAAOG,SAASC,EAAY,CAACJ,EAAOG,KAAK,CAAC,EAAEJ,SAAS,IACjDM,GACED,EAAY,CAACH,EAAKD,EAAOA,MAAM,CAAC,CAAC,GACjCI,EAAY,CAACJ,EAAOG,KAAK,CAAC,EAAEG,IAAIC,CAAAA,MAAMA,EAAGJ,KAAK,CAChD,EAAEJ,SAAS,IACX,EACN,CACF,GAEC,CAACV,GAAgBR,CAAY,CAAC;AACjC2B,EAAAA,EAAU,MAAM;AACd9B,IAAAA,GAAQoB,CAAY;AAAA,EACtB,GAAG,CAACA,CAAY,CAAC;AAEjB,QAAMW,IAAqBC,EAAe,MAAM;AAC9C,UAAMC,KAAsBnD,KAAW,CAAA,GAAI8C,IAAIC,CAAAA,OAAO;AAAA,MACpDP,QAAQO,EAAGK;AAAAA,MACXC,OAAON,EAAGM,SAAS,aAAaN,EAAGK,MAAM;AAAA,MACzCE,cAAcP,EAAGO;AAAAA,MACjBC,WAAWR,EAAGQ;AAAAA,MACdC,IAAIT,EAAGS;AAAAA,MACPC,cAAcC,EAAsBX,EAAGU,YAAY;AAAA,MACnDd,OAAOe,EAAsBX,EAAGU,YAAY;AAAA,MAC5CE,iBAAiBC,EAAavC,GAAc0B,EAAGK,MAAM,EAClDZ,OAAOqB,CAAAA,MAAK,CAACd,EAAGe,eAAeC,SAAS,GAAGF,CAAC,EAAE,CAAC,EAC/Cf,IAAIe,CAAAA,OAAM;AAAA,QAAElB,OAAOkB;AAAAA,QAAGR,OAAOQ;AAAAA,MAAAA,EAAI;AAAA,MACpCG,gBAAgBjB,EAAGiB;AAAAA,MACnBC,OAAOlB,EAAGkB;AAAAA,IAAAA,EACV;AACFnC,IAAAA,EAAkBqB,CAAkB;AAAA,EACtC,CAAC;AACDH,EAAAA,EAAU,MAAM;AAsCdkB,KArCkB,YAAY;AAC5B,UAAI;AACF,cAAMC,IAAoBpE,EAAaqE,UACnC,OAAOrE,EAAaqE,WAAY,WAC9BrE,EAAasE,aAAa,SACxB,MAAMC,GACJvE,EAAaqE,SACbrE,EAAawE,gBACbxE,EAAayE,oBACb9D,CACF,IACAX,EAAasE,aAAa,QACxB,MAAMI,GACJ1E,EAAaqE,SACbrE,EAAa2E,YACb3E,EAAawE,gBACbxE,EAAayE,oBACb9D,CACF,IACA,MAAMiE,GACJ5E,EAAaqE,SACbrE,EAAayE,oBACbzE,EAAawE,gBACb7D,GACAX,EAAa6E,WACb,EACF,IACJ,MAAMC,GACJ9E,EAAaqE,SACbrE,EAAa+E,aACf,IACF,MAAMC,GAAwBhF,EAAakB,MAAMlB,EAAawE,cAAc;AAChFjD,QAAAA,GAAgB6C,CAAiB;AAAA,MACnC,SAASa,GAAO;AACdC,gBAAQD,MAAM,wBAAwBA,CAAK;AAAA,MAC7C;AAAA,IACF,GACAd,GACAjB,EAAAA;AAAAA,EACF,GAAG,CAAClD,GAAcW,CAAS,CAAC,GAC5BsC,EAAU,MAAM;AACdC,IAAAA,EAAAA;AAAAA,EACF,GAAG,CAACjD,GAASqB,CAAY,CAAC;AAE1B,QAAM6D,KAAwBhC,EAAe,MAAM;AACjD,UAAMiC,IAAYvB,EAAavC,GAAchB,CAAY;AACzDmB,IAAAA,GAAc2D,CAAS;AAAA,EACzB,CAAC;AACDnC,EAAAA,EAAU,MAAM;AACdkC,IAAAA,GAAAA;AAAAA,EACF,GAAG,CAAC7E,GAAcgB,CAAY,CAAC,GAC/B2B,EAAU,MAAM;AACdpB,IAAAA,EAAezB,CAAsB;AAAA,EACvC,GAAG,CAACA,CAAsB,CAAC;AAE3B,QAAMiF,IAAqBC,GAAY,CAAC7C,GAAgB8C,MAAgB;AACtExD,IAAAA,EAAkByD,OAAQA,EAAKzC,IAAI0C,CAAAA,MAAMA,EAAEhD,WAAWA,IAAS;AAAA,MAAE,GAAGgD;AAAAA,MAAG7C,OAAO2C;AAAAA,IAAAA,IAAWE,CAAE,CAAC;AAAA,EAC9F,GAAG,CAAA,CAAE;AACL,gCACGC,IAAA,EACC,WAAW3F,GAAe4F,YAAYC,gBACtC,OAAO7F,GAAe8F,QAAQD,gBAC9B,IAAI7F,GAAe+F,SACnB,KAAKpE,GACL,cAAY3B,GAAegG,aAAa,2BACxC,iBAAiBhG,GAAeiG,mBAAmB,IACnD,OAAOjG,GAAekB,SAAS,SAC/B,UAAUlB,GAAekG,YAAY,MACrC,OAAOlG,GAAemE,OACtB,QAAQnE,GAAemG,QACvB,SAASnG,GAAeoG,SAEvBnE,UAAAA;AAAAA,IAAAA,GAAuBoE,cACxBpE,GAAuBqE,oBACvBtG,GAAeqG,cACfrG,GAAesG,oBACftG,GAAeuG,iBACfvG,GAAewG,eACbC,gBAAAA,EAAAA,IAACC,MACC,QAAQ;AAAA,MACNC,OAAO1E,GAAuB6D,QAAQa,SAAS3G,GAAe8F,QAAQa;AAAAA,MACtEC,aACE3E,GAAuB6D,QAAQc,eAAe5G,GAAe8F,QAAQc;AAAAA,IAAAA,GAEzE,YAAY;AAAA,MACVD,OAAO1E,GAAuB2D,YAAYe,SAAS3G,GAAe4F,YAAYe;AAAAA,MAC9EC,aACE3E,GAAuB2D,YAAYgB,eACnC5G,GAAe4F,YAAYgB;AAAAA,IAAAA,GAE/B,YAAY3E,GAAuBoE,cAAcrG,GAAeqG,YAChE,kBACEpE,GAAuBqE,oBAAoBtG,GAAesG,kBAE5D,OAAOrE,GAAuBkC,SAASnE,GAAemE,OACtD,eAAenE,GAAeuG,gBAAgB5E,IAAiBL,QAC/D,cACEtB,GAAewG,gBAAgBrF,KAAQA,EAAKsB,SAAS,IAAItB,IAAe,MACzE,IAED;AAAA,IACHA,KAAQM,EAAWgB,SAAS,IAC3BoE,gBAAAA,EAAAA,KAAAC,EAAAA,UAAA,EACG/E,UAAAA;AAAAA,MAAAA,EAAeU,WAAW,MAC1B5B,KAAwB,IAAI4B,WAAW,MACvC3B,KAAgC,CAAA,GAAI2B,WAAW,IAC9CoE,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,qDACZ/F,UAAAA;AAAAA,QAAAA,GAA8BkC,IAAI,CAAC+D,GAAGC,MACrCH,gBAAAA,OAAC,SACC,OAAO;AAAA,UACL1C,OACE4C,EAAE5C,SACF,QAAQ,MAAMnD,CAAiB,QAC5BA,IAAoB,KAAKA,CAAiB;AAAA,UAE/CiG,UAAUF,EAAE5C,QAAQ,IAAI;AAAA,UACxB+C,YAAYH,EAAErD,OAAO,WAAWqD,EAAE5C,QAAQ,IAAI;AAAA,UAC9CgD,UAAU;AAAA,QAAA,GAEZ,WAAU,QAGV,UAAA;AAAA,UAAAV,gBAAAA,MAACW,GAAA,EAAM,WAAU,QAAQL,UAAAA,EAAExD,SAAS,YAAW;AAAA,UAC9CwD,EAAErD,OAAO,UACR+C,gBAAAA,EAAAA;AAAAA,YAACY;AAAA,YAAA;AAAA,cACC,SAASN,EAAEO,QAAQtE,IAAIuE,CAAAA,OAAQ;AAAA,gBAC7B,GAAGA;AAAAA,gBACH1E,OAAO0E,EAAIhE;AAAAA,cAAAA,EACX;AAAA,cACF,aAAa;AAAA,cACb,cAAY;AAAA,cACZ,SAAStC;AAAAA,cACT,0BAAwB;AAAA,cACxB,cACE8F,EAAEpD,eACE;AAAA,gBACE,GAAGoD,EAAEpD;AAAAA,gBACLd,OAAOkE,EAAEpD,cAAcJ;AAAAA,cAAAA,IAEzB;AAAA,gBACE,GAAGwD,EAAEO,QAAQ,CAAC;AAAA,gBACdzE,OAAOkE,EAAEO,QAAQ,CAAC,EAAE/D;AAAAA,cAAAA;AAAAA,cAI5B,UAAU,CAACN,MAAY;AACrBf,gBAAAA,EAAyBe,GAAIjD,iBAAiB,EAAE,GAChD8B,EAAemB,GAAIuE,iBAAiB;AAAA,cACtC;AAAA,YAAA;AAAA,UAAA,IAGFf,gBAAAA,EAAAA,IAACgB,GAAA,EACC,cAAcV,EAAEpD,cAAcJ,SAASwD,EAAEO,QAAQ,CAAC,EAAE/D,OACpD,SAAStC,GACT,eAAegC,CAAAA,MAAM;AACnB,kBAAMyE,IACJX,EAAEO,QAAQP,EAAEO,QAAQK,UAAUJ,CAAAA,MAAOA,EAAIhE,UAAUN,CAAE,CAAC;AACxDf,YAAAA,EAAyBwF,EAAe1H,iBAAiB,EAAE,GAC3D8B,EAAe4F,EAAeF,iBAAiB;AAAA,UACjD,GAECT,UAAAA,EAAEO,QAAQtE,IAAI,CAACC,GAAI2E,MAClBnB,gBAAAA,MAACoB,GAAA,EAAe,OAAO5E,EAAGM,OAAO,OAAON,EAAGM,MAAAA,GAAYqE,CAAE,CAC1D,EAAA,CACH;AAAA,QAAA,EAAA,GA5CGZ,CA8CP,CACD;AAAA,QACAnG,GAAsBmC,IAAI,CAAC+D,GAAGC,MAC7BH,gBAAAA,OAAC,SACC,OAAO;AAAA,UACL1C,OACE4C,EAAE5C,SACF,QAAQ,MAAMnD,CAAiB,QAC5BA,IAAoB,KAAKA,CAAiB;AAAA,UAE/CiG,UAAUF,EAAE5C,QAAQ,IAAI;AAAA,UACxB+C,YAAYH,EAAErD,OAAO,WAAWqD,EAAE5C,QAAQ,IAAI;AAAA,UAC9CgD,UAAU;AAAA,QAAA,GAEZ,WAAU,QAGV,UAAA;AAAA,UAAAV,gBAAAA,EAAAA,IAACW,GAAA,EAAM,WAAU,QAAQL,UAAAA,EAAExD,SAAS,aAAawD,EAAEe,aAAa,MAAA,CAAM;AAAA,UACpEC,GAAgBhB,EAAEe,eAAejG,KAAe,CAAA,CAAE,IA+EhDkF,EAAErD,OAAO,UACX+C,gBAAAA,EAAAA;AAAAA,YAACY;AAAA,YAAA;AAAA,cACC,SAASN,EAAEiB;AAAAA,cACX,SAAO;AAAA,cACP,SAAS/G;AAAAA,cACT,cAAY;AAAA,cACZ,0BAAwB;AAAA,cACxB,cACEZ,IAEMA,EACEA,EAAuBsH,UACrB1E,CAAAA,MAAMA,EAAG6E,kBAAkBf,EAAEe,aAC/B,CAAC,EACDG,SACFjF,IACAC,CAAAA,MACE8D,EAAEiB,iBACAjB,EAAEiB,iBAAiBL,UAAUC,CAAAA,MAAKA,EAAE/E,UAAUI,CAAE,CAAC,CAEvD,IACA3B;AAAAA,cAEN,cAAc4G,EAAa/F,CAAY;AAAA,cAEvC,UAAU,CAACc,MAAY;AACrB,sBAAMkF,IAAiB;AAAA,kBACrBF,UAAUhF,EAAGD;AAAAA;AAAAA,oBAEX,CAACL,MAAcA,EAAKE;AAAAA,kBAAAA;AAAAA,kBAEtBiF,eAAef,EAAEe;AAAAA,gBAAAA,GAEbM,IAAgBvG,GAAamB,IAAIL,CAAAA,MACrCA,EAAKmF,kBAAkBK,EAAeL,gBAClCK,IACAxF,CACN;AACAb,gBAAAA,EAAesG,CAAa;AAAA,cAC9B;AAAA,cACA,OAAOpI,GAAekG,aAAa,QAAQlG,GAAekG,aAAa;AAAA,YAAA;AAAA,UAAA,IAGzEO,gBAAAA,EAAAA,IAAC4B,GAAA,EACC,SAASpH,GACT,cACEZ,IAEMA,EACEA,EAAuBsH,UACrB1E,CAAAA,MAAMA,EAAG6E,kBAAkBf,EAAEe,aAC/B,CAAC,EACDG,SAEDjF,IACCC,CAAAA,MACE8D,EAAEiB,iBACAjB,EAAEiB,iBAAiBL,UAAUC,OAAKA,EAAE/E,UAAUI,CAAE,CAAC,CAEvD,EACCD,IAAIC,OAAMA,EAAGJ,KAAK,IACrB,CAAA,GAEN,eAAeI,CAAAA,MAAM;AACnB,kBAAMkF,IAAiB;AAAA,cACrBF,UAAUhF,KAAM,CAAA;AAAA,cAChB6E,eAAef,EAAEe;AAAAA,YAAAA,GAEbM,IAAgBvG,GAAamB,IAAIL,CAAAA,MACrCA,EAAKmF,kBAAkBK,EAAeL,gBAClCK,IACAxF,CACN;AACAb,YAAAA,EAAesG,CAAa;AAAA,UAC9B,GAECrB,UAAAA,EAAEiB,iBAAiBhF,IAAI,CAACC,GAAI2E,MAC3BnB,gBAAAA,MAAC6B,GAAA,EAAkB,OAAOrF,EAAGM,OAAO,OAAON,EAAGM,MAAAA,GAAYqE,CAAE,CAC7D,EAAA,CACH,IA7JAb,EAAErD,OAAO,UACP+C,gBAAAA,EAAAA;AAAAA,YAACY;AAAA,YAAA;AAAA,cACC,SAASN,EAAEiB;AAAAA,cACX,aAAa;AAAA,cACb,cAAY;AAAA,cACZ,SAAS/G;AAAAA,cACT,cACEZ,IACI0G,EAAEiB,iBACAjB,EAAEiB,iBAAiBL,UACjBC,CAAAA,MACEA,EAAE/E,UACDxC,EACCA,EAAuBsH,UACrB1E,CAAAA,MAAMA,EAAG6E,kBAAkBf,EAAEe,aAC/B,CAAC,EACDG,QACN,CAAC,IAEH3G;AAAAA,cAEN,0BAAA;AAAA,cAEA,UAAU,CAAC2B,MAAY;AACrB,sBAAMkF,IAAiB;AAAA,kBACrBF,UAAUhF,GAAIJ;AAAAA,kBACdiF,eAAef,EAAEe;AAAAA,gBAAAA,GAEbM,IAAgBvG,GAAamB,IAAIL,CAAAA,MACrCA,EAAKmF,kBAAkBK,EAAeL,gBAClCK,IACAxF,CACN;AACAT,gBAAAA,EAAyBe,GAAIjD,iBAAiB,EAAE,GAChD8B,EAAesG,CAAa;AAAA,cAC9B;AAAA,YAAA;AAAA,UAAA,IAGF3B,gBAAAA,EAAAA,IAACgB,GAAA,EACC,SAASxG,GACT,cACEZ,IACI0G,EAAEiB,iBACAjB,EAAEiB,iBAAiBL,UACjBC,OACEA,EAAE/E,UACDxC,EACCA,EAAuBsH,UACrB1E,CAAAA,MAAMA,EAAG6E,kBAAkBf,EAAEe,aAC/B,CAAC,EACDG,QACN,CAAC,EACD1E,QACF,IAEN,eAAeN,CAAAA,MAAM;AACnB,kBAAMyE,IACJX,EAAEiB,iBACAjB,EAAEiB,iBAAiBL,UAAUJ,CAAAA,MAAOA,EAAIhE,UAAUN,CAAE,CAAC,GAEnDkF,IAAiB;AAAA,cACrBF,UAAUP,EAAe7E;AAAAA,cACzBiF,eAAef,EAAEe;AAAAA,YAAAA,GAEbM,IAAgBvG,GAAamB,IAAIL,CAAAA,MACrCA,EAAKmF,kBAAkBK,EAAeL,gBAClCK,IACAxF,CACN;AACAT,YAAAA,EAAyBwF,EAAe1H,iBAAiB,EAAE,GAC3D8B,EAAesG,CAAa;AAAA,UAC9B,GAECrB,YAAEiB,iBAAiBhF,IAAI,CAACC,GAAI2E,4BAC1BC,GAAA,EAAe,OAAO5E,EAAGM,OAAO,OAAON,EAAGM,SAAYqE,CAAE,CAC1D,EAAA,CACH;AAAA,QAiFF,EAAA,GAjKGZ,CAmKP,CACD;AAAA,QACAjF,GAAgBiB,IAAI,CAAC+D,GAAGC,MACvBH,gBAAAA,OAAC,SACC,OAAO;AAAA,UACL1C,OACE4C,EAAE5C,SACF,QAAQ,MAAMnD,CAAiB,QAC5BA,IAAoB,KAAKA,CAAiB;AAAA,UAE/CiG,UAAUF,EAAE5C,QAAQ,IAAI;AAAA,UACxB+C,YAAYH,EAAErD,OAAO,WAAWqD,EAAE5C,QAAQ,IAAI;AAAA,UAC9CoE,UAAU;AAAA,QAAA,GAEZ,WAAU,QAGV,UAAA;AAAA,UAAA9B,gBAAAA,EAAAA,IAACW,GAAA,EAAM,WAAU,QAAQL,UAAAA,EAAExD,OAAM;AAAA,UAChCwD,EAAEvD,eACDuD,EAAErD,OAAO,UACP+C,gBAAAA,EAAAA,IAACY,GAAA,EACC,SAASN,EAAElD,iBACX,SAAS5C,GACT,aAAa8F,EAAEtD,cAAcnC,SAAY,KAAOyF,EAAEtD,WAClD,cAAY,IACZ,0BAAwB,IACxB,cAAcyE,EAAa/F,CAAY,GACvC,UAAUc,CAAAA,MAAM;AACdqC,YAAAA,EAAmByB,EAAErE,QAAQO,CAAE;AAAA,UACjC,GACA,OAAO8D,EAAElE,OACT,cAAckE,EAAEpD,aAAAA,CAAa,IAG/B8C,gBAAAA,EAAAA,IAACgB,GAAA,EACC,SAASxG,GACT,cAAe8F,EAAEpD,aAAkDd,OACnE,eAAeI,CAAAA,MAAM;AACnBqC,YAAAA,EACEyB,EAAErE,QACFqE,EAAElD,gBAAgBnB,OAAOqB,CAAAA,MAAKA,EAAElB,UAAUI,CAAE,CAC9C;AAAA,UACF,GAEC8D,YAAElD,gBAAgBb,IAAI,CAACC,GAAI2E,MAC1BnB,gBAAAA,EAAAA,IAACoB,GAAA,EAAe,OAAO,GAAG5E,EAAGM,KAAK,IAAI,OAAO,GAAGN,EAAGJ,KAAK,MAAS+E,CAAE,CACpE,EAAA,CACH,IAGFf,gBAAAA,EAAAA,KAAAC,EAAAA,UAAA,EACGC,UAAAA;AAAAA,YAAAA,EAAErD,OAAO,UACR+C,gBAAAA,EAAAA,IAACY,GAAA,EACC,SAASN,EAAElD,iBACX,SAAS5C,GACT,MAAK,MACL,SAAO,IACP,aAAa8F,EAAEtD,cAAcnC,SAAY,KAAOyF,EAAEtD,WAClD,cAAY,IACZ,0BAAwB,IACxB,cAAcyE,EAAa/F,CAAY,GACvC,UAAUc,CAAAA,MAAM;AACdqC,cAAAA,EAAmByB,EAAErE,QAAQO,CAAE;AAAA,YACjC,GACA,OAAO8D,EAAElE,OACT,cAAckE,EAAEpD,cAAa,IAG/B8C,gBAAAA,MAAC4B,GAAA,EACC,SAASpH,GACT,cACE8F,EAAEpD,eAEIoD,EAAEpD,aAIFX,IAAIC,CAAAA,MAAM,GAAGA,EAAGJ,KAAK,EAAE,IACzB,CAAA,GAEN,OACEkE,EAAElE,QAEIkE,EAAElE,MAIFG,IAAIC,CAAAA,MAAM,GAAGA,EAAGJ,KAAK,EAAE,IACzBvB,QAEN,eAAe2B,CAAAA,MAAM;AACnBqC,cAAAA,EACEyB,EAAErE,QACFqE,EAAElD,gBAAgBnB,OAAOqB,CAAAA,MAAKd,EAAGuF,QAAQ,GAAGzE,EAAElB,KAAK,EAAE,MAAM,EAAE,CAC/D;AAAA,YACF,GAECkE,YAAElD,gBAAgBb,IAAI,CAACC,GAAI2E,4BACzBU,GAAA,EACC,OAAO,GAAGrF,EAAGM,KAAK,IAClB,OAAO,GAAGN,EAAGJ,KAAK,GAAA,GACb+E,CAAE,CAEV,EAAA,CACH;AAAA,YAEDb,EAAE7C,iBACDuC,gBAAAA,EAAAA,IAAC,UAAA,EACC,MAAK,UACL,WAAU,oGACV,SAAS,MAAM;AACbnB,cAAAA,EAAmByB,EAAErE,QAAQqE,EAAElD,eAAe;AAAA,YAChD,GACD,gCAED,IACE;AAAA,UAAA,EAAA,CACN;AAAA,QAAA,EAAA,GAtGGmD,CAwGP,CACD;AAAA,MAAA,EAAA,CACH,IACE;AAAA,MACHvG,MAAyB,MAAST,GAAeyI,mBAAmB,KACnEhC,gBAAAA,EAAAA,IAACiC,MACC,OAAO1I,GAAemE,OACtB,kBAAkBnE,GAAe2I,kBACjC,QACG3I,GAAe4I,UACf5I,GAAe6I,cAChBC,GAAQ9I,GAAekB,SAA0C,OAAO,EACrE6H,kBAAkBH,QAEvB,aAAa5I,GAAegJ,eAAehJ,GAAeiJ,UAAU,CAAA,GACpE,aACEjJ,GAAekJ,gBAAgB5H,UAAatB,GAAekJ,gBAAgB,OACvE,KACAlJ,GAAekJ,aACpB,IAED;AAAA,MACJzC,gBAAAA,EAAAA,IAAC,SACC,WAAW,uCAAuCzG,GAAekG,aAAa,QAAQlG,GAAekG,aAAa,OAAO,qBAAqB,UAAU,IAEvJzE,YAAWuB,IAAI,CAACC,GAAI+D,MACnBP,gBAAAA,EAAAA,IAAC,SAEC,OAAO;AAAA,QACLtC,OAAO,QACL,OAAO7D,KAAgB6I,KAAKC,IAAQ,GAAG3H,EAAWgB,UAAU,CAAE,EAAa,SAEzEnC,KAAgB6I,KAAKC,IAAQ,GAAG3H,EAAWgB,UAAU,CAAE,KAAgB,MACxEnC,KAAgB6I,KAAKC,IAAQ,GAAG3H,EAAWgB,UAAU,CAAE,EAAa;AAAA,QAEvE0E,UAAUkC,GAAuB1I,CAAa,IAAI,UAAU,GAAGA,CAAa;AAAA,MAAA,GAG9E,UAAA8F,gBAAAA,EAAAA,IAAC6C,IAAA,EACC,OAAOnJ,GACP,wBAAwB0B,GACxB,WACE0H,GACEnJ,IACIoJ,GACEC,EAAWtI,GAAMX,KAAe,CAAA,CAAE,EAAEkC;AAAAA;AAAAA,QAElC,CAACqE,MAAWA,EAAExG,CAAY,MAAM0C;AAAAA,MAAAA,GAElC7C,EAAcsJ,WACdtJ,EAAcuJ,yBAChB,IACAF,EAAWtI,GAAMX,KAAe,CAAA,CAAE,EAAEkC;AAAAA;AAAAA,QAElC,CAACqE,MAAWA,EAAExG,CAAY,MAAM0C;AAAAA,MAAAA,GAEtC9C,GACA0B,CACF,KAAK,CAAA,GAEP,WAAAjB,GACA,UAAU;AAAA,QACR,GAAIZ,KAAiB,CAAA;AAAA,QACrB,GAAGiC;AAAAA,QACHf,OAAOlB,GAAekB,SAASA;AAAAA,QAC/BiD,OAAO7C;AAAAA,QACP6E,QAAQ7E;AAAAA,QACRsI,gBAAgB5J,GAAe4J,kBAAkB;AAAA,QACjDC,WAAWnJ;AAAAA,QACX2F,YAAY,GAAGpD,CAAE;AAAA,QACjBqD,kBAAkBhF;AAAAA,QAClBiF,eAAe;AAAA,QACfC,cAAc;AAAA,QACdP,iBAAiB3E;AAAAA,QACjB8E,SAAS;AAAA,QACT0D,UAAUxI;AAAAA,QACVyI,SAASzI;AAAAA,QACTmH,gBACEzI,GAAeyI,mBAAmB,KAC9B,KACAhI,MAAyB;AAAA,MAAA,GAEjC,gBAAgBM,MAAkB,CAAA,GAAG,EAAA,GAvDlCiG,CAyDP,CACD,EAAA,CACH;AAAA,IAAA,EAAA,CACF,IAEAP,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,kCACb,UAAAA,gBAAAA,EAAAA,IAACuD,MAAO,EAAA,CACV;AAAA,IAEDhK,GAAe+J,WAAW/J,GAAe8J,WACxCrD,gBAAAA,EAAAA,IAACwD,MACC,QAAQ;AAAA,MACNC,UAAUlK,GAAe8F,QAAQoE;AAAAA,MACjCC,QAAQnK,GAAe8F,QAAQqE;AAAAA,IAAAA,GAEjC,YAAY;AAAA,MACVD,UAAUlK,GAAe4F,YAAYsE;AAAAA,MACrCC,QAAQnK,GAAe4F,YAAYuE;AAAAA,IAAAA,GAErC,SAASnK,GAAe+J,SACxB,UAAU/J,GAAe8J,UACzB,OAAO9J,GAAemE,MAAAA,CAAM,IAE5B;AAAA,EAAA,GACN;AAEJ;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-CHPV5EwG-D4pAp7u0.cjs"),l=require("react"),p=require("./Spinner-WHzzloYQ.cjs"),m=require("./GriddedGraphs.cjs"),f=require("./fetchAndParseData-QTF6tjij.cjs");function g(c){const t=s.compilerRuntimeExports.c(23),{config:a}=c,[e,d]=l.useState(void 0);let r,o;if(t[0]!==a?(r=()=>{(async()=>{if(typeof a=="string"){const h=await f.fetchAndParseJSON(a);d(h)}else d(a)})()},o=[a],t[0]=a,t[1]=r,t[2]=o):(r=t[1],o=t[2]),l.useEffect(r,o),!e){let n;return t[3]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsxRuntimeExports.jsx("div",{className:"w-full flex justify-center p-4",children:s.jsxRuntimeExports.jsx(p.w,{})}),t[3]=n):n=t[3],n}let i;return t[4]!==e.advancedDataSelectionOptions||t[5]!==e.columnGridBy||t[6]!==e.dataFilters||t[7]!==e.dataSelectionOptions||t[8]!==e.dataSettings||t[9]!==e.dataTransform||t[10]!==e.debugMode||t[11]!==e.filters||t[12]!==e.graphDataConfiguration||t[13]!==e.graphSettings||t[14]!==e.graphType||t[15]!==e.minGraphHeight||t[16]!==e.minGraphWidth||t[17]!==e.noOfColumns||t[18]!==e.noOfFiltersPerRow||t[19]!==e.readableHeader||t[20]!==e.showCommonColorScale||t[21]!==e.theme?(i=s.jsxRuntimeExports.jsx(m.GriddedGraphs,{noOfColumns:e.noOfColumns,columnGridBy:e.columnGridBy,graphSettings:e.graphSettings,dataSettings:e.dataSettings,filters:e.filters,graphType:e.graphType,minGraphHeight:e.minGraphHeight,minGraphWidth:e.minGraphWidth,dataTransform:e.dataTransform,graphDataConfiguration:e.graphDataConfiguration,dataFilters:e.dataFilters,showCommonColorScale:e.showCommonColorScale,debugMode:e.debugMode,dataSelectionOptions:e.dataSelectionOptions,advancedDataSelectionOptions:e.advancedDataSelectionOptions,readableHeader:e.readableHeader,noOfFiltersPerRow:e.noOfFiltersPerRow,theme:e.theme}),t[4]=e.advancedDataSelectionOptions,t[5]=e.columnGridBy,t[6]=e.dataFilters,t[7]=e.dataSelectionOptions,t[8]=e.dataSettings,t[9]=e.dataTransform,t[10]=e.debugMode,t[11]=e.filters,t[12]=e.graphDataConfiguration,t[13]=e.graphSettings,t[14]=e.graphType,t[15]=e.minGraphHeight,t[16]=e.minGraphWidth,t[17]=e.noOfColumns,t[18]=e.noOfFiltersPerRow,t[19]=e.readableHeader,t[20]=e.showCommonColorScale,t[21]=e.theme,t[22]=i):i=t[22],i}exports.GriddedGraphsFromConfig=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./compiler-runtime-oPPev21o.cjs"),l=require("react"),h=require("@undp/design-system-react/Spinner"),m=require("./GriddedGraphs.cjs"),f=require("./fetchAndParseData-QTF6tjij.cjs");function g(c){const t=s.compilerRuntimeExports.c(23),{config:a}=c,[e,d]=l.useState(void 0);let r,i;if(t[0]!==a?(r=()=>{(async()=>{if(typeof a=="string"){const p=await f.fetchAndParseJSON(a);d(p)}else d(a)})()},i=[a],t[0]=a,t[1]=r,t[2]=i):(r=t[1],i=t[2]),l.useEffect(r,i),!e){let n;return t[3]===Symbol.for("react.memo_cache_sentinel")?(n=s.jsxRuntimeExports.jsx("div",{className:"w-full flex justify-center p-4",children:s.jsxRuntimeExports.jsx(h.Spinner,{})}),t[3]=n):n=t[3],n}let o;return t[4]!==e.advancedDataSelectionOptions||t[5]!==e.columnGridBy||t[6]!==e.dataFilters||t[7]!==e.dataSelectionOptions||t[8]!==e.dataSettings||t[9]!==e.dataTransform||t[10]!==e.debugMode||t[11]!==e.filters||t[12]!==e.graphDataConfiguration||t[13]!==e.graphSettings||t[14]!==e.graphType||t[15]!==e.minGraphHeight||t[16]!==e.minGraphWidth||t[17]!==e.noOfColumns||t[18]!==e.noOfFiltersPerRow||t[19]!==e.readableHeader||t[20]!==e.showCommonColorScale||t[21]!==e.theme?(o=s.jsxRuntimeExports.jsx(m.GriddedGraphs,{noOfColumns:e.noOfColumns,columnGridBy:e.columnGridBy,graphSettings:e.graphSettings,dataSettings:e.dataSettings,filters:e.filters,graphType:e.graphType,minGraphHeight:e.minGraphHeight,minGraphWidth:e.minGraphWidth,dataTransform:e.dataTransform,graphDataConfiguration:e.graphDataConfiguration,dataFilters:e.dataFilters,showCommonColorScale:e.showCommonColorScale,debugMode:e.debugMode,dataSelectionOptions:e.dataSelectionOptions,advancedDataSelectionOptions:e.advancedDataSelectionOptions,readableHeader:e.readableHeader,noOfFiltersPerRow:e.noOfFiltersPerRow,theme:e.theme}),t[4]=e.advancedDataSelectionOptions,t[5]=e.columnGridBy,t[6]=e.dataFilters,t[7]=e.dataSelectionOptions,t[8]=e.dataSettings,t[9]=e.dataTransform,t[10]=e.debugMode,t[11]=e.filters,t[12]=e.graphDataConfiguration,t[13]=e.graphSettings,t[14]=e.graphType,t[15]=e.minGraphHeight,t[16]=e.minGraphWidth,t[17]=e.noOfColumns,t[18]=e.noOfFiltersPerRow,t[19]=e.readableHeader,t[20]=e.showCommonColorScale,t[21]=e.theme,t[22]=o):o=t[22],o}exports.GriddedGraphsFromConfig=g;
2
2
  //# sourceMappingURL=GriddedGraphsFromConfig.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"GriddedGraphsFromConfig.cjs","sources":["../src/Components/Dashboard/GriddedGraphsFromConfig.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\n\r\nimport { GriddedGraphs } from './GriddedGraphs';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n GraphType,\r\n} from '@/Types';\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\n\r\ninterface ConfigObject {\r\n noOfColumns?: number;\r\n columnGridBy: string;\r\n graphSettings?: GraphSettingsDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n graphType: Exclude<GraphType, 'geoHubMap' | 'geoHubCompareMap' | 'geoHubMapWithLayerSelection'>;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n showCommonColorScale?: boolean;\r\n minGraphWidth?: number;\r\n minGraphHeight?: number;\r\n debugMode?: boolean;\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n theme?: 'dark' | 'light';\r\n}\r\n\r\ninterface Props {\r\n config: string | ConfigObject;\r\n}\r\n\r\nexport function GriddedGraphsFromConfig(props: Props) {\r\n const { config } = props;\r\n const [configSettings, setConfigSettings] = useState<ConfigObject | undefined>(undefined);\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (typeof config === 'string') {\r\n const data = await fetchAndParseJSON(config);\r\n setConfigSettings(data);\r\n } else {\r\n setConfigSettings(config);\r\n }\r\n };\r\n fetchData();\r\n }, [config]);\r\n\r\n if (!configSettings)\r\n return (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n );\r\n return (\r\n <GriddedGraphs\r\n noOfColumns={configSettings.noOfColumns}\r\n columnGridBy={configSettings.columnGridBy}\r\n graphSettings={configSettings.graphSettings}\r\n dataSettings={configSettings.dataSettings}\r\n filters={configSettings.filters}\r\n graphType={configSettings.graphType}\r\n minGraphHeight={configSettings.minGraphHeight}\r\n minGraphWidth={configSettings.minGraphWidth}\r\n dataTransform={configSettings.dataTransform}\r\n graphDataConfiguration={configSettings.graphDataConfiguration}\r\n dataFilters={configSettings.dataFilters}\r\n showCommonColorScale={configSettings.showCommonColorScale}\r\n debugMode={configSettings.debugMode}\r\n dataSelectionOptions={configSettings.dataSelectionOptions}\r\n advancedDataSelectionOptions={configSettings.advancedDataSelectionOptions}\r\n readableHeader={configSettings.readableHeader}\r\n noOfFiltersPerRow={configSettings.noOfFiltersPerRow}\r\n theme={configSettings.theme}\r\n />\r\n );\r\n}\r\n"],"names":["GriddedGraphsFromConfig","props","$","_c","config","configSettings","setConfigSettings","useState","undefined","t0","t1","data","fetchAndParseJSON","fetchData","useEffect","t2","Symbol","for","jsx","Spinner","advancedDataSelectionOptions","columnGridBy","dataFilters","dataSelectionOptions","dataSettings","dataTransform","debugMode","filters","graphDataConfiguration","graphSettings","graphType","minGraphHeight","minGraphWidth","noOfColumns","noOfFiltersPerRow","readableHeader","showCommonColorScale","theme","GriddedGraphs"],"mappings":"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"}
1
+ {"version":3,"file":"GriddedGraphsFromConfig.cjs","sources":["../src/Components/Dashboard/GriddedGraphsFromConfig.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\n\r\nimport { GriddedGraphs } from './GriddedGraphs';\r\n\r\nimport {\r\n AdvancedDataSelectionDataType,\r\n AggregationSettingsDataType,\r\n DataFilterDataType,\r\n DataSelectionDataType,\r\n DataSettingsDataType,\r\n FilterUiSettingsDataType,\r\n GraphConfigurationDataType,\r\n GraphSettingsDataType,\r\n GraphType,\r\n} from '@/Types';\r\nimport { fetchAndParseJSON } from '@/Utils/fetchAndParseData';\r\n\r\ninterface ConfigObject {\r\n noOfColumns?: number;\r\n columnGridBy: string;\r\n graphSettings?: GraphSettingsDataType;\r\n dataSettings: DataSettingsDataType;\r\n filters?: FilterUiSettingsDataType[];\r\n noOfFiltersPerRow?: number;\r\n graphType: Exclude<GraphType, 'geoHubMap' | 'geoHubCompareMap' | 'geoHubMapWithLayerSelection'>;\r\n dataTransform?: {\r\n keyColumn: string;\r\n aggregationColumnsSetting?: AggregationSettingsDataType[];\r\n };\r\n dataFilters?: DataFilterDataType[];\r\n graphDataConfiguration?: GraphConfigurationDataType[];\r\n showCommonColorScale?: boolean;\r\n minGraphWidth?: number;\r\n minGraphHeight?: number;\r\n debugMode?: boolean;\r\n dataSelectionOptions?: DataSelectionDataType[];\r\n advancedDataSelectionOptions?: AdvancedDataSelectionDataType[];\r\n readableHeader?: {\r\n value: string;\r\n label: string;\r\n }[];\r\n theme?: 'dark' | 'light';\r\n}\r\n\r\ninterface Props {\r\n config: string | ConfigObject;\r\n}\r\n\r\nexport function GriddedGraphsFromConfig(props: Props) {\r\n const { config } = props;\r\n const [configSettings, setConfigSettings] = useState<ConfigObject | undefined>(undefined);\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (typeof config === 'string') {\r\n const data = await fetchAndParseJSON(config);\r\n setConfigSettings(data);\r\n } else {\r\n setConfigSettings(config);\r\n }\r\n };\r\n fetchData();\r\n }, [config]);\r\n\r\n if (!configSettings)\r\n return (\r\n <div className='w-full flex justify-center p-4'>\r\n <Spinner />\r\n </div>\r\n );\r\n return (\r\n <GriddedGraphs\r\n noOfColumns={configSettings.noOfColumns}\r\n columnGridBy={configSettings.columnGridBy}\r\n graphSettings={configSettings.graphSettings}\r\n dataSettings={configSettings.dataSettings}\r\n filters={configSettings.filters}\r\n graphType={configSettings.graphType}\r\n minGraphHeight={configSettings.minGraphHeight}\r\n minGraphWidth={configSettings.minGraphWidth}\r\n dataTransform={configSettings.dataTransform}\r\n graphDataConfiguration={configSettings.graphDataConfiguration}\r\n dataFilters={configSettings.dataFilters}\r\n showCommonColorScale={configSettings.showCommonColorScale}\r\n debugMode={configSettings.debugMode}\r\n dataSelectionOptions={configSettings.dataSelectionOptions}\r\n advancedDataSelectionOptions={configSettings.advancedDataSelectionOptions}\r\n readableHeader={configSettings.readableHeader}\r\n noOfFiltersPerRow={configSettings.noOfFiltersPerRow}\r\n theme={configSettings.theme}\r\n />\r\n );\r\n}\r\n"],"names":["GriddedGraphsFromConfig","props","$","_c","config","configSettings","setConfigSettings","useState","undefined","t0","t1","data","fetchAndParseJSON","fetchData","useEffect","t2","Symbol","for","jsx","Spinner","advancedDataSelectionOptions","columnGridBy","dataFilters","dataSelectionOptions","dataSettings","dataTransform","debugMode","filters","graphDataConfiguration","graphSettings","graphType","minGraphHeight","minGraphWidth","noOfColumns","noOfFiltersPerRow","readableHeader","showCommonColorScale","theme","GriddedGraphs"],"mappings":"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"}