@undp/data-viz 1.2.8 → 1.3.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 (496) hide show
  1. package/dist/AreaChart.d.ts +224 -0
  2. package/dist/AreaChart.js +2 -0
  3. package/dist/AreaChart.js.map +1 -0
  4. package/dist/Axis-BlyBRMNw.cjs +2 -0
  5. package/dist/Axis-BlyBRMNw.cjs.map +1 -0
  6. package/dist/Axis-CvK-w3E2.js +44 -0
  7. package/dist/Axis-CvK-w3E2.js.map +1 -0
  8. package/dist/AxisTitle-BY8MI9jC.cjs +2 -0
  9. package/dist/AxisTitle-BY8MI9jC.cjs.map +1 -0
  10. package/dist/AxisTitle-BeMxcw5I.js +21 -0
  11. package/dist/AxisTitle-BeMxcw5I.js.map +1 -0
  12. package/dist/BarGraph.d.ts +460 -0
  13. package/dist/BarGraph.js +2 -0
  14. package/dist/BarGraph.js.map +1 -0
  15. package/dist/BasicStatCard.d.ts +106 -0
  16. package/dist/BasicStatCard.js +2 -0
  17. package/dist/BasicStatCard.js.map +1 -0
  18. package/dist/BeeSwarmChart.d.ts +189 -0
  19. package/dist/BeeSwarmChart.js +2 -0
  20. package/dist/BeeSwarmChart.js.map +1 -0
  21. package/dist/BiVariateChoroplethMap.d.ts +189 -0
  22. package/dist/BiVariateChoroplethMap.js +2 -0
  23. package/dist/BiVariateChoroplethMap.js.map +1 -0
  24. package/dist/BulletChart.d.ts +219 -0
  25. package/dist/BulletChart.js +2 -0
  26. package/dist/BulletChart.js.map +1 -0
  27. package/dist/ButterflyChart.d.ts +201 -0
  28. package/dist/ButterflyChart.js +2 -0
  29. package/dist/ButterflyChart.js.map +1 -0
  30. package/dist/ChoroplethMap.d.ts +190 -0
  31. package/dist/ChoroplethMap.js +2 -0
  32. package/dist/ChoroplethMap.js.map +1 -0
  33. package/dist/CirclePackingGraph.d.ts +161 -0
  34. package/dist/CirclePackingGraph.js +2 -0
  35. package/dist/CirclePackingGraph.js.map +1 -0
  36. package/dist/ColorLegend.d.ts +17 -0
  37. package/dist/ColorLegend.js +2 -0
  38. package/dist/ColorLegend.js.map +1 -0
  39. package/dist/ColorLegendWithMouseOver.d.ts +16 -0
  40. package/dist/ColorLegendWithMouseOver.js +2 -0
  41. package/dist/ColorLegendWithMouseOver.js.map +1 -0
  42. package/dist/Colors.d.ts +174 -0
  43. package/dist/Colors.js +2 -0
  44. package/dist/Colors.js.map +1 -0
  45. package/dist/CopyTextButton.d.ts +13 -0
  46. package/dist/CopyTextButton.js +17 -0
  47. package/dist/CopyTextButton.js.map +1 -0
  48. package/dist/CsvDownloadButton.d.ts +22 -0
  49. package/dist/CsvDownloadButton.js +23 -0
  50. package/dist/CsvDownloadButton.js.map +1 -0
  51. package/dist/DataCards.d.ts +131 -0
  52. package/dist/DataCards.js +2 -0
  53. package/dist/DataCards.js.map +1 -0
  54. package/dist/DataTable.d.ts +122 -0
  55. package/dist/DataTable.js +2 -0
  56. package/dist/DataTable.js.map +1 -0
  57. package/dist/DifferenceLineChart.d.ts +237 -0
  58. package/dist/DifferenceLineChart.js +2 -0
  59. package/dist/DifferenceLineChart.js.map +1 -0
  60. package/dist/DonutChart.d.ts +148 -0
  61. package/dist/DonutChart.js +2 -0
  62. package/dist/DonutChart.js.map +1 -0
  63. package/dist/DotDensityMap.d.ts +191 -0
  64. package/dist/DotDensityMap.js +2 -0
  65. package/dist/DotDensityMap.js.map +1 -0
  66. package/dist/DropdownSelect-CuzV7gdj.cjs +29 -0
  67. package/dist/DropdownSelect-CuzV7gdj.cjs.map +1 -0
  68. package/dist/DropdownSelect-DmZsXrhY.js +2698 -0
  69. package/dist/DropdownSelect-DmZsXrhY.js.map +1 -0
  70. package/dist/DualAxisLineChart.d.ts +180 -0
  71. package/dist/DualAxisLineChart.js +2 -0
  72. package/dist/DualAxisLineChart.js.map +1 -0
  73. package/dist/DumbbellChart.d.ts +224 -0
  74. package/dist/DumbbellChart.js +2 -0
  75. package/dist/DumbbellChart.js.map +1 -0
  76. package/dist/EmptyState-BQguKAp5.cjs +2 -0
  77. package/dist/EmptyState-BQguKAp5.cjs.map +1 -0
  78. package/dist/EmptyState-b2Ln487i.js +22 -0
  79. package/dist/EmptyState-b2Ln487i.js.map +1 -0
  80. package/dist/ExcelDownloadButton.d.ts +22 -0
  81. package/dist/ExcelDownloadButton.js +2 -0
  82. package/dist/ExcelDownloadButton.js.map +1 -0
  83. package/dist/FootNote.d.ts +12 -0
  84. package/dist/FootNote.js +2 -0
  85. package/dist/FootNote.js.map +1 -0
  86. package/dist/GeoHubCompareMaps.d.ts +103 -0
  87. package/dist/GeoHubCompareMaps.js +2 -0
  88. package/dist/GeoHubCompareMaps.js.map +1 -0
  89. package/dist/GeoHubMap.d.ts +118 -0
  90. package/dist/GeoHubMap.js +2 -0
  91. package/dist/GeoHubMap.js.map +1 -0
  92. package/dist/GeoHubMapWithLayerSelection.d.ts +117 -0
  93. package/dist/GeoHubMapWithLayerSelection.js +2 -0
  94. package/dist/GeoHubMapWithLayerSelection.js.map +1 -0
  95. package/dist/GraphDescription.d.ts +12 -0
  96. package/dist/GraphDescription.js +2 -0
  97. package/dist/GraphDescription.js.map +1 -0
  98. package/dist/GraphFooter.d.ts +24 -0
  99. package/dist/GraphFooter.js +2 -0
  100. package/dist/GraphFooter.js.map +1 -0
  101. package/dist/GraphHeader.d.ts +22 -0
  102. package/dist/GraphHeader.js +2 -0
  103. package/dist/GraphHeader.js.map +1 -0
  104. package/dist/GraphTitle.d.ts +13 -0
  105. package/dist/GraphTitle.js +2 -0
  106. package/dist/GraphTitle.js.map +1 -0
  107. package/dist/GriddedGraphs.d.ts +540 -0
  108. package/dist/GriddedGraphs.js +2 -0
  109. package/dist/GriddedGraphs.js.map +1 -0
  110. package/dist/GriddedGraphsFromConfig.d.ts +543 -0
  111. package/dist/GriddedGraphsFromConfig.js +2 -0
  112. package/dist/GriddedGraphsFromConfig.js.map +1 -0
  113. package/dist/HeatMap.d.ts +166 -0
  114. package/dist/HeatMap.js +2 -0
  115. package/dist/HeatMap.js.map +1 -0
  116. package/dist/Histogram.d.ts +165 -0
  117. package/dist/Histogram.js +2 -0
  118. package/dist/Histogram.js.map +1 -0
  119. package/dist/ImageDownloadButton.d.ts +15 -0
  120. package/dist/ImageDownloadButton.js +2 -0
  121. package/dist/ImageDownloadButton.js.map +1 -0
  122. package/dist/LineChartWithConfidenceInterval.d.ts +250 -0
  123. package/dist/LineChartWithConfidenceInterval.js +2 -0
  124. package/dist/LineChartWithConfidenceInterval.js.map +1 -0
  125. package/dist/LinearColorLegend.d.ts +13 -0
  126. package/dist/LinearColorLegend.js +2 -0
  127. package/dist/LinearColorLegend.js.map +1 -0
  128. package/dist/Modal-C9txyGOk.js +723 -0
  129. package/dist/Modal-C9txyGOk.js.map +1 -0
  130. package/dist/Modal-cQF2UQIa.cjs +46 -0
  131. package/dist/Modal-cQF2UQIa.cjs.map +1 -0
  132. package/dist/MultiGraphDashboard.d.ts +558 -0
  133. package/dist/MultiGraphDashboard.js +2 -0
  134. package/dist/MultiGraphDashboard.js.map +1 -0
  135. package/dist/MultiGraphDashboardFromConfig.d.ts +562 -0
  136. package/dist/MultiGraphDashboardFromConfig.js +2 -0
  137. package/dist/MultiGraphDashboardFromConfig.js.map +1 -0
  138. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +128 -0
  139. package/dist/MultiGraphDashboardWideToLongFormat.js +2 -0
  140. package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -0
  141. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +133 -0
  142. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +2 -0
  143. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -0
  144. package/dist/MultiLineAltChart.d.ts +244 -0
  145. package/dist/MultiLineAltChart.js +2 -0
  146. package/dist/MultiLineAltChart.js.map +1 -0
  147. package/dist/MultiLineChart.d.ts +246 -0
  148. package/dist/MultiLineChart.js +2 -0
  149. package/dist/MultiLineChart.js.map +1 -0
  150. package/dist/ParetoChart.d.ts +178 -0
  151. package/dist/ParetoChart.js +2 -0
  152. package/dist/ParetoChart.js.map +1 -0
  153. package/dist/RadarChart.d.ts +176 -0
  154. package/dist/RadarChart.js +2 -0
  155. package/dist/RadarChart.js.map +1 -0
  156. package/dist/ReferenceLine-BgDdQbDI.js +129 -0
  157. package/dist/ReferenceLine-BgDdQbDI.js.map +1 -0
  158. package/dist/ReferenceLine-Bsb5jeE4.cjs +2 -0
  159. package/dist/ReferenceLine-Bsb5jeE4.cjs.map +1 -0
  160. package/dist/RegressionLine-BfpCuD7B.cjs +2 -0
  161. package/dist/RegressionLine-BfpCuD7B.cjs.map +1 -0
  162. package/dist/RegressionLine-cSljpHaE.js +49 -0
  163. package/dist/RegressionLine-cSljpHaE.js.map +1 -0
  164. package/dist/SVGDownloadButton.d.ts +15 -0
  165. package/dist/SVGDownloadButton.js +2 -0
  166. package/dist/SVGDownloadButton.js.map +1 -0
  167. package/dist/SankeyChart.d.ts +178 -0
  168. package/dist/SankeyChart.js +2 -0
  169. package/dist/SankeyChart.js.map +1 -0
  170. package/dist/ScatterPlot.d.ts +266 -0
  171. package/dist/ScatterPlot.js +2 -0
  172. package/dist/ScatterPlot.js.map +1 -0
  173. package/dist/ScrollStory.d.ts +491 -0
  174. package/dist/ScrollStory.js +2 -0
  175. package/dist/ScrollStory.js.map +1 -0
  176. package/dist/SimpleLineChart.d.ts +230 -0
  177. package/dist/SimpleLineChart.js +2 -0
  178. package/dist/SimpleLineChart.js.map +1 -0
  179. package/dist/SingleGraphDashboard.d.ts +545 -0
  180. package/dist/SingleGraphDashboard.js +2 -0
  181. package/dist/SingleGraphDashboard.js.map +1 -0
  182. package/dist/SingleGraphDashboardFromConfig.d.ts +547 -0
  183. package/dist/SingleGraphDashboardFromConfig.js +2 -0
  184. package/dist/SingleGraphDashboardFromConfig.js.map +1 -0
  185. package/dist/SlopeChart.d.ts +167 -0
  186. package/dist/SlopeChart.js +2 -0
  187. package/dist/SlopeChart.js.map +1 -0
  188. package/dist/Source.d.ts +16 -0
  189. package/dist/Source.js +2 -0
  190. package/dist/Source.js.map +1 -0
  191. package/dist/SparkLine.d.ts +139 -0
  192. package/dist/SparkLine.js +2 -0
  193. package/dist/SparkLine.js.map +1 -0
  194. package/dist/Spinner-DN3s4S0H.js +17 -0
  195. package/dist/Spinner-DN3s4S0H.js.map +1 -0
  196. package/dist/Spinner-UmN-KPe9.cjs +2 -0
  197. package/dist/Spinner-UmN-KPe9.cjs.map +1 -0
  198. package/dist/StatCardFromData.d.ts +115 -0
  199. package/dist/StatCardFromData.js +2 -0
  200. package/dist/StatCardFromData.js.map +1 -0
  201. package/dist/StripChart.d.ts +178 -0
  202. package/dist/StripChart.js +2 -0
  203. package/dist/StripChart.js.map +1 -0
  204. package/dist/ThreeDGlobe.d.ts +158 -0
  205. package/dist/ThreeDGlobe.js +2 -0
  206. package/dist/ThreeDGlobe.js.map +1 -0
  207. package/dist/ThresholdColorLegendWithMouseOver.d.ts +16 -0
  208. package/dist/ThresholdColorLegendWithMouseOver.js +2 -0
  209. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -0
  210. package/dist/Tooltip-BM18N_3l.cjs +2 -0
  211. package/dist/Tooltip-BM18N_3l.cjs.map +1 -0
  212. package/dist/Tooltip-CzZ1wFyF.js +47 -0
  213. package/dist/Tooltip-CzZ1wFyF.js.map +1 -0
  214. package/dist/TreeMapGraph.d.ts +158 -0
  215. package/dist/TreeMapGraph.js +2 -0
  216. package/dist/TreeMapGraph.js.map +1 -0
  217. package/dist/Types.d.ts +883 -0
  218. package/dist/Types.js +2 -0
  219. package/dist/Types.js.map +1 -0
  220. package/dist/Typography-CDR-DAHH.cjs +2 -0
  221. package/dist/Typography-CDR-DAHH.cjs.map +1 -0
  222. package/dist/Typography-XJoSE-By.js +58 -0
  223. package/dist/Typography-XJoSE-By.js.map +1 -0
  224. package/dist/UnitChart.d.ts +132 -0
  225. package/dist/UnitChart.js +2 -0
  226. package/dist/UnitChart.js.map +1 -0
  227. package/dist/XAxesLabels-C9REbQQs.cjs +2 -0
  228. package/dist/XAxesLabels-C9REbQQs.cjs.map +1 -0
  229. package/dist/XAxesLabels-DVw7Lvuz.js +58 -0
  230. package/dist/XAxesLabels-DVw7Lvuz.js.map +1 -0
  231. package/dist/XTicksAndGridLines-CUefTINd.js +57 -0
  232. package/dist/XTicksAndGridLines-CUefTINd.js.map +1 -0
  233. package/dist/XTicksAndGridLines-DuK35ROS.cjs +2 -0
  234. package/dist/XTicksAndGridLines-DuK35ROS.cjs.map +1 -0
  235. package/dist/YAxesLabels-CYVY053X.js +53 -0
  236. package/dist/YAxesLabels-CYVY053X.js.map +1 -0
  237. package/dist/YAxesLabels-DhBdLk3Z.cjs +2 -0
  238. package/dist/YAxesLabels-DhBdLk3Z.cjs.map +1 -0
  239. package/dist/YTicksAndGridLines-BJRXuBdC.js +57 -0
  240. package/dist/YTicksAndGridLines-BJRXuBdC.js.map +1 -0
  241. package/dist/YTicksAndGridLines-CtLvzExe.cjs +2 -0
  242. package/dist/YTicksAndGridLines-CtLvzExe.cjs.map +1 -0
  243. package/dist/_commonjsHelpers-DKOUU3wS.cjs +2 -0
  244. package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
  245. package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
  246. package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
  247. package/dist/area-BE2wo7fv.js +53 -0
  248. package/dist/area-BE2wo7fv.js.map +1 -0
  249. package/dist/area-D3Qx7k7K.cjs +2 -0
  250. package/dist/area-D3Qx7k7K.cjs.map +1 -0
  251. package/dist/array-B7TkkRH0.js +89 -0
  252. package/dist/array-B7TkkRH0.js.map +1 -0
  253. package/dist/array-DKbXV8lR.cjs +2 -0
  254. package/dist/array-DKbXV8lR.cjs.map +1 -0
  255. package/dist/band-BEjh2CHI.js +47 -0
  256. package/dist/band-BEjh2CHI.js.map +1 -0
  257. package/dist/band-CAApY4Pd.cjs +2 -0
  258. package/dist/band-CAApY4Pd.cjs.map +1 -0
  259. package/dist/checkIfMultiple-CaefP4X2.js +2264 -0
  260. package/dist/checkIfMultiple-CaefP4X2.js.map +1 -0
  261. package/dist/checkIfMultiple-D3h8to1T.cjs +12 -0
  262. package/dist/checkIfMultiple-D3h8to1T.cjs.map +1 -0
  263. package/dist/checkIfNullOrUndefined.d.ts +15 -0
  264. package/dist/checkIfNullOrUndefined.js +2 -0
  265. package/dist/checkIfNullOrUndefined.js.map +1 -0
  266. package/dist/customArea-B47Ew5cT.cjs +2 -0
  267. package/dist/customArea-B47Ew5cT.cjs.map +1 -0
  268. package/dist/customArea-I3MsoqIl.js +176 -0
  269. package/dist/customArea-I3MsoqIl.js.map +1 -0
  270. package/dist/defaultLocale-BEa-49Qz.js +172 -0
  271. package/dist/defaultLocale-BEa-49Qz.js.map +1 -0
  272. package/dist/defaultLocale-DIVzfLaQ.cjs +2 -0
  273. package/dist/defaultLocale-DIVzfLaQ.cjs.map +1 -0
  274. package/dist/delaunay-C1uAf38t.js +684 -0
  275. package/dist/delaunay-C1uAf38t.js.map +1 -0
  276. package/dist/delaunay-rcy0HhZi.cjs +2 -0
  277. package/dist/delaunay-rcy0HhZi.cjs.map +1 -0
  278. package/dist/ensureCompleteData-BBDZbDCE.js +102 -0
  279. package/dist/ensureCompleteData-BBDZbDCE.js.map +1 -0
  280. package/dist/ensureCompleteData-DqWQ2Zbi.cjs +2 -0
  281. package/dist/ensureCompleteData-DqWQ2Zbi.cjs.map +1 -0
  282. package/dist/excelDownload.d.ts +31 -0
  283. package/dist/excelDownload.js +2 -0
  284. package/dist/excelDownload.js.map +1 -0
  285. package/dist/fetchAndParseData.d.ts +84 -0
  286. package/dist/fetchAndParseData.js +16 -0
  287. package/dist/fetchAndParseData.js.map +1 -0
  288. package/dist/filterData-B8ocT57s.js +14 -0
  289. package/dist/filterData-B8ocT57s.js.map +1 -0
  290. package/dist/filterData-DN6py7y_.cjs +2 -0
  291. package/dist/filterData-DN6py7y_.cjs.map +1 -0
  292. package/dist/generateCodes.d.ts +25 -0
  293. package/dist/generateCodes.js +2 -0
  294. package/dist/generateCodes.js.map +1 -0
  295. package/dist/generateRandomString-B5zBiJzS.cjs +2 -0
  296. package/dist/generateRandomString-B5zBiJzS.cjs.map +1 -0
  297. package/dist/generateRandomString-za3IQGfQ.js +11 -0
  298. package/dist/generateRandomString-za3IQGfQ.js.map +1 -0
  299. package/dist/getJenks.d.ts +17 -0
  300. package/dist/getJenks.js +2 -0
  301. package/dist/getJenks.js.map +1 -0
  302. package/dist/getPercentileValue.d.ts +13 -0
  303. package/dist/getPercentileValue.js +2 -0
  304. package/dist/getPercentileValue.js.map +1 -0
  305. package/dist/getQueryParamsFromLink.d.ts +18 -0
  306. package/dist/getQueryParamsFromLink.js +2 -0
  307. package/dist/getQueryParamsFromLink.js.map +1 -0
  308. package/dist/getSchema.d.ts +3256 -0
  309. package/dist/getSchema.js +2 -0
  310. package/dist/getSchema.js.map +1 -0
  311. package/dist/getSliderMarks-CWajGCGq.js +719 -0
  312. package/dist/getSliderMarks-CWajGCGq.js.map +1 -0
  313. package/dist/getSliderMarks-DDJ1CdhL.cjs +6 -0
  314. package/dist/getSliderMarks-DDJ1CdhL.cjs.map +1 -0
  315. package/dist/getTextColorBasedOnBgColor.d.ts +13 -0
  316. package/dist/getTextColorBasedOnBgColor.js +2 -0
  317. package/dist/getTextColorBasedOnBgColor.js.map +1 -0
  318. package/dist/getUniqValue.d.ts +18 -0
  319. package/dist/getUniqValue.js +2 -0
  320. package/dist/getUniqValue.js.map +1 -0
  321. package/dist/graphList.d.ts +9 -0
  322. package/dist/graphList.js +2 -0
  323. package/dist/graphList.js.map +1 -0
  324. package/dist/imageDownload.d.ts +16 -0
  325. package/dist/imageDownload.js +3 -0
  326. package/dist/imageDownload.js.map +1 -0
  327. package/dist/index-01r5X3Gr-9jE0ObrK.cjs +2 -0
  328. package/dist/index-01r5X3Gr-9jE0ObrK.cjs.map +1 -0
  329. package/dist/index-01r5X3Gr-kH7FxQ7P.js +451 -0
  330. package/dist/index-01r5X3Gr-kH7FxQ7P.js.map +1 -0
  331. package/dist/index-27yTRcko.js +35 -0
  332. package/dist/index-27yTRcko.js.map +1 -0
  333. package/dist/index-B0rbzOoC.cjs +2 -0
  334. package/dist/index-B0rbzOoC.cjs.map +1 -0
  335. package/dist/index-BGMGC-HN.cjs +22 -0
  336. package/dist/index-BGMGC-HN.cjs.map +1 -0
  337. package/dist/index-BHm2KTjD-2e-Fu8L-.js +702 -0
  338. package/dist/index-BHm2KTjD-2e-Fu8L-.js.map +1 -0
  339. package/dist/index-BHm2KTjD-D8FylaKc.cjs +44 -0
  340. package/dist/index-BHm2KTjD-D8FylaKc.cjs.map +1 -0
  341. package/dist/index-BIPNFFja.js +506 -0
  342. package/dist/index-BIPNFFja.js.map +1 -0
  343. package/dist/index-BLizQDlg.js +658 -0
  344. package/dist/index-BLizQDlg.js.map +1 -0
  345. package/dist/index-BXns0-ng.cjs +2 -0
  346. package/dist/index-BXns0-ng.cjs.map +1 -0
  347. package/dist/index-BYroABPm.cjs +2 -0
  348. package/dist/index-BYroABPm.cjs.map +1 -0
  349. package/dist/index-BczVvEBZ.cjs +2 -0
  350. package/dist/index-BczVvEBZ.cjs.map +1 -0
  351. package/dist/index-BzeLQvXk.cjs +2 -0
  352. package/dist/index-BzeLQvXk.cjs.map +1 -0
  353. package/dist/index-C1rRk_50.js +273 -0
  354. package/dist/index-C1rRk_50.js.map +1 -0
  355. package/dist/index-C21TvELx.cjs +2 -0
  356. package/dist/index-C21TvELx.cjs.map +1 -0
  357. package/dist/index-CEc_9zWy.cjs +2 -0
  358. package/dist/index-CEc_9zWy.cjs.map +1 -0
  359. package/dist/index-CZbIGs8q.cjs +2 -0
  360. package/dist/index-CZbIGs8q.cjs.map +1 -0
  361. package/dist/index-CaAIPGZo.js +631 -0
  362. package/dist/index-CaAIPGZo.js.map +1 -0
  363. package/dist/index-CbVeVrla.cjs +2 -0
  364. package/dist/index-CbVeVrla.cjs.map +1 -0
  365. package/dist/index-CqzhBPuO-CfQywbdq.js +41 -0
  366. package/dist/index-CqzhBPuO-CfQywbdq.js.map +1 -0
  367. package/dist/index-CqzhBPuO-raKZqS7l.cjs +2 -0
  368. package/dist/index-CqzhBPuO-raKZqS7l.cjs.map +1 -0
  369. package/dist/index-D7ltPi18.js +26 -0
  370. package/dist/index-D7ltPi18.js.map +1 -0
  371. package/dist/index-DSnvdkHZ.js +495 -0
  372. package/dist/index-DSnvdkHZ.js.map +1 -0
  373. package/dist/index-DXmF_0ez.js +308 -0
  374. package/dist/index-DXmF_0ez.js.map +1 -0
  375. package/dist/index-Db-Yg_Ud.js +120 -0
  376. package/dist/index-Db-Yg_Ud.js.map +1 -0
  377. package/dist/index-Ds0uHjK9.cjs +2 -0
  378. package/dist/index-Ds0uHjK9.cjs.map +1 -0
  379. package/dist/index-DxagiOHo.js +707 -0
  380. package/dist/index-DxagiOHo.js.map +1 -0
  381. package/dist/index-DzdwZ2OA.js +77 -0
  382. package/dist/index-DzdwZ2OA.js.map +1 -0
  383. package/dist/index-UV9hjG_S.js +53 -0
  384. package/dist/index-UV9hjG_S.js.map +1 -0
  385. package/dist/index-a2C2Bqn2.cjs +10 -0
  386. package/dist/index-a2C2Bqn2.cjs.map +1 -0
  387. package/dist/index.js +1 -52488
  388. package/dist/index.js.map +1 -1
  389. package/dist/init-BhZylTFx.js +63 -0
  390. package/dist/init-BhZylTFx.js.map +1 -0
  391. package/dist/init-DU0ybBc_.cjs +2 -0
  392. package/dist/init-DU0ybBc_.cjs.map +1 -0
  393. package/dist/line-CPfhohvF.js +68 -0
  394. package/dist/line-CPfhohvF.js.map +1 -0
  395. package/dist/line-DHV4JwCR.cjs +2 -0
  396. package/dist/line-DHV4JwCR.cjs.map +1 -0
  397. package/dist/linear-BVckp9RD.cjs +2 -0
  398. package/dist/linear-BVckp9RD.cjs.map +1 -0
  399. package/dist/linear-DUdu7l2G.js +221 -0
  400. package/dist/linear-DUdu7l2G.js.map +1 -0
  401. package/dist/numberFormattingFunction.d.ts +22 -0
  402. package/dist/numberFormattingFunction.js +2 -0
  403. package/dist/numberFormattingFunction.js.map +1 -0
  404. package/dist/ordinal-BOeNbyae.cjs +2 -0
  405. package/dist/ordinal-BOeNbyae.cjs.map +1 -0
  406. package/dist/ordinal-w9Lu4Stb.js +62 -0
  407. package/dist/ordinal-w9Lu4Stb.js.map +1 -0
  408. package/dist/parse-DlCRUFh_.js +2768 -0
  409. package/dist/parse-DlCRUFh_.js.map +1 -0
  410. package/dist/parse-hMnG_lRV.cjs +2 -0
  411. package/dist/parse-hMnG_lRV.cjs.map +1 -0
  412. package/dist/pointer-CWRWOsrb.js +23 -0
  413. package/dist/pointer-CWRWOsrb.js.map +1 -0
  414. package/dist/pointer-Dkq5NV1q.cjs +2 -0
  415. package/dist/pointer-Dkq5NV1q.cjs.map +1 -0
  416. package/dist/pow-B5-jkdHU.cjs +2 -0
  417. package/dist/pow-B5-jkdHU.cjs.map +1 -0
  418. package/dist/pow-e8zx3AQJ.js +35 -0
  419. package/dist/pow-e8zx3AQJ.js.map +1 -0
  420. package/dist/removeOutliers.d.ts +16 -0
  421. package/dist/removeOutliers.js +2 -0
  422. package/dist/removeOutliers.js.map +1 -0
  423. package/dist/select-Bnfk0lJx.cjs +2 -0
  424. package/dist/select-Bnfk0lJx.cjs.map +1 -0
  425. package/dist/select-DKy99ogv.js +584 -0
  426. package/dist/select-DKy99ogv.js.map +1 -0
  427. package/dist/simple-statistics-flVzqVtt.js +65 -0
  428. package/dist/simple-statistics-flVzqVtt.js.map +1 -0
  429. package/dist/simple-statistics-xm8c0LQQ.cjs +2 -0
  430. package/dist/simple-statistics-xm8c0LQQ.cjs.map +1 -0
  431. package/dist/step-BZ3C8QFW.cjs +2 -0
  432. package/dist/step-BZ3C8QFW.cjs.map +1 -0
  433. package/dist/step-BrDul-H4.js +119 -0
  434. package/dist/step-BrDul-H4.js.map +1 -0
  435. package/dist/string-B8KlVSPX.js +364 -0
  436. package/dist/string-B8KlVSPX.js.map +1 -0
  437. package/dist/string-CRoCZCYa.cjs +2 -0
  438. package/dist/string-CRoCZCYa.cjs.map +1 -0
  439. package/dist/string2HTML-BX0oNw83.js +758 -0
  440. package/dist/string2HTML-BX0oNw83.js.map +1 -0
  441. package/dist/string2HTML-X4ZYX5jI.cjs +3 -0
  442. package/dist/string2HTML-X4ZYX5jI.cjs.map +1 -0
  443. package/dist/style.css +1 -1
  444. package/dist/svgDownload.d.ts +16 -0
  445. package/dist/svgDownload.js +2 -0
  446. package/dist/svgDownload.js.map +1 -0
  447. package/dist/threshold-DFfqcDMa.js +23 -0
  448. package/dist/threshold-DFfqcDMa.js.map +1 -0
  449. package/dist/threshold-DNsSUf8Q.cjs +2 -0
  450. package/dist/threshold-DNsSUf8Q.cjs.map +1 -0
  451. package/dist/time-Byw_jYQ7.cjs +2 -0
  452. package/dist/time-Byw_jYQ7.cjs.map +1 -0
  453. package/dist/time-BzJP5SPC.js +715 -0
  454. package/dist/time-BzJP5SPC.js.map +1 -0
  455. package/dist/timer-B39XOBYL.js +124 -0
  456. package/dist/timer-B39XOBYL.js.map +1 -0
  457. package/dist/timer-CKyBCVzT.cjs +2 -0
  458. package/dist/timer-CKyBCVzT.cjs.map +1 -0
  459. package/dist/toConsumableArray-BSMMWi3w-Cu4vcE-m.js +139 -0
  460. package/dist/toConsumableArray-BSMMWi3w-Cu4vcE-m.js.map +1 -0
  461. package/dist/toConsumableArray-BSMMWi3w-DJL7-zAp.cjs +4 -0
  462. package/dist/toConsumableArray-BSMMWi3w-DJL7-zAp.cjs.map +1 -0
  463. package/dist/transformColumnsToArray.d.ts +38 -0
  464. package/dist/transformColumnsToArray.js +2 -0
  465. package/dist/transformColumnsToArray.js.map +1 -0
  466. package/dist/transformDataForAggregation.d.ts +38 -0
  467. package/dist/transformDataForAggregation.js +2 -0
  468. package/dist/transformDataForAggregation.js.map +1 -0
  469. package/dist/transformDataForGraph.d.ts +47 -0
  470. package/dist/transformDataForGraph.js +2 -0
  471. package/dist/transformDataForGraph.js.map +1 -0
  472. package/dist/transformDataForGraphFromFile.d.ts +66 -0
  473. package/dist/transformDataForGraphFromFile.js +2 -0
  474. package/dist/transformDataForGraphFromFile.js.map +1 -0
  475. package/dist/use-in-view-CZPXmTZM.js +4645 -0
  476. package/dist/use-in-view-CZPXmTZM.js.map +1 -0
  477. package/dist/use-in-view-Dl1CsAIo.cjs +2 -0
  478. package/dist/use-in-view-Dl1CsAIo.cjs.map +1 -0
  479. package/dist/validateSchema.d.ts +68 -0
  480. package/dist/validateSchema.js +2 -0
  481. package/dist/validateSchema.js.map +1 -0
  482. package/dist/x-Dft9NVe_-DcB7wtv5.js +61 -0
  483. package/dist/x-Dft9NVe_-DcB7wtv5.js.map +1 -0
  484. package/dist/x-Dft9NVe_-LeyJu02C.cjs +27 -0
  485. package/dist/x-Dft9NVe_-LeyJu02C.cjs.map +1 -0
  486. package/dist/y-D0sAaVii.js +421 -0
  487. package/dist/y-D0sAaVii.js.map +1 -0
  488. package/dist/y-QcCbqrzx.cjs +2 -0
  489. package/dist/y-QcCbqrzx.cjs.map +1 -0
  490. package/dist/zoom-Lo7IAUfC.cjs +2 -0
  491. package/dist/zoom-Lo7IAUfC.cjs.map +1 -0
  492. package/dist/zoom-_lqdiGoI.js +1983 -0
  493. package/dist/zoom-_lqdiGoI.js.map +1 -0
  494. package/package.json +415 -4
  495. package/dist/index.cjs +0 -68
  496. package/dist/index.cjs.map +0 -1
@@ -0,0 +1,506 @@
1
+ import { r as J, b as U, a as fe, j as l } from "./index-BHm2KTjD-2e-Fu8L-.js";
2
+ import K, { useState as P, useMemo as ae, useEffect as T } from "react";
3
+ import { i as he } from "./index-C1rRk_50.js";
4
+ import { f as O } from "./index-UV9hjG_S.js";
5
+ import { s as ge } from "./index-DxagiOHo.js";
6
+ import { D as $ } from "./DropdownSelect-DmZsXrhY.js";
7
+ import { c as ye, T as te } from "./Typography-XJoSE-By.js";
8
+ import { r as B } from "./x-Dft9NVe_-DcB7wtv5.js";
9
+ import { r as ve, d as je } from "./index-DXmF_0ez.js";
10
+ import { M as be } from "./Modal-C9txyGOk.js";
11
+ import { CsvDownloadButton as we } from "./CsvDownloadButton.js";
12
+ import { s as ie } from "./string2HTML-BX0oNw83.js";
13
+ import { GraphFooter as Ne } from "./GraphFooter.js";
14
+ import { GraphHeader as ke } from "./GraphHeader.js";
15
+ import { getUniqValue as Se } from "./getUniqValue.js";
16
+ var F = {}, Y = {}, se;
17
+ function Ce() {
18
+ if (se) return Y;
19
+ se = 1;
20
+ const i = /* @__PURE__ */ B();
21
+ /**
22
+ * @license lucide-react v0.488.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */
27
+ const r = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]], n = i.createLucideIcon("chevron-left", r);
28
+ return Y.ChevronLeft = n, Y;
29
+ }
30
+ var _ = {}, ne;
31
+ function Re() {
32
+ if (ne) return _;
33
+ ne = 1;
34
+ const i = /* @__PURE__ */ B();
35
+ /**
36
+ * @license lucide-react v0.488.0 - ISC
37
+ *
38
+ * This source code is licensed under the ISC license.
39
+ * See the LICENSE file in the root directory of this source tree.
40
+ */
41
+ const r = [["circle", { cx: "12", cy: "12", r: "1", key: "41hilf" }], ["circle", { cx: "19", cy: "12", r: "1", key: "1wjl8i" }], ["circle", { cx: "5", cy: "12", r: "1", key: "1pcz8c" }]], n = i.createLucideIcon("ellipsis", r);
42
+ return _.Ellipsis = n, _;
43
+ }
44
+ var G = {}, le;
45
+ function Ee() {
46
+ if (le) return G;
47
+ le = 1;
48
+ const i = /* @__PURE__ */ B();
49
+ /**
50
+ * @license lucide-react v0.488.0 - ISC
51
+ *
52
+ * This source code is licensed under the ISC license.
53
+ * See the LICENSE file in the root directory of this source tree.
54
+ */
55
+ const r = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]], n = i.createLucideIcon("chevron-right", r);
56
+ return G.ChevronRight = n, G;
57
+ }
58
+ var oe;
59
+ function De() {
60
+ return oe || (oe = 1, function(i) {
61
+ Object.defineProperty(i, Symbol.toStringTag, { value: "Module" });
62
+ const r = /* @__PURE__ */ J(), n = K, s = /* @__PURE__ */ U(), f = /* @__PURE__ */ Ce(), d = /* @__PURE__ */ Re(), h = /* @__PURE__ */ Ee();
63
+ function b({ className: e, ...t }) {
64
+ return r.jsxRuntimeExports.jsx("nav", { ...t, role: "navigation", "aria-label": "pagination", className: s.cn("mx-auto flex w-full justify-center", e) });
65
+ }
66
+ b.displayName = "PaginationUnit";
67
+ const o = n.forwardRef(({ className: e, ...t }, p) => r.jsxRuntimeExports.jsx("ul", { ...t, ref: p, className: s.cn("flex flex-row items-center gap-1 list-none", e) }));
68
+ o.displayName = "PaginationContent";
69
+ const m = n.forwardRef(({ className: e, ...t }, p) => r.jsxRuntimeExports.jsx("li", { ...t, ref: p, className: s.cn("mr-2 last:mr-0", e) }));
70
+ m.displayName = "PaginationItem";
71
+ function u({ className: e, children: t, ...p }) {
72
+ return r.jsxRuntimeExports.jsx("button", { ...p, type: "button", className: s.cn("p-4 text-base text-primary-black dark:text-primary-gray-100 dark:hover:bg-primary-gray-600", e), children: t });
73
+ }
74
+ u.displayName = "PaginationLink";
75
+ function w({ className: e, ...t }) {
76
+ return r.jsxRuntimeExports.jsx(u, { ...t, "aria-label": "Go to previous page", className: s.cn("p-2 bg-primary-gray-300 dark:bg-primary-gray-600 rtl:scale-x-[-1] rounded-full hover:bg-primary-gray-400 dark:hover:bg-primary-gray-550", e), children: r.jsxRuntimeExports.jsx(f.ChevronLeft, { className: "h-6 w-6 stroke-primary-gray-700 dark:stroke-primary-gray-100" }) });
77
+ }
78
+ w.displayName = "PaginationPrevious";
79
+ function C({ className: e, ...t }) {
80
+ return r.jsxRuntimeExports.jsx(u, { ...t, "aria-label": "Go to next page", className: s.cn("p-2 bg-primary-gray-300 dark:bg-primary-gray-600 rtl:scale-x-[-1] rounded-full hover:bg-primary-gray-400 dark:hover:bg-primary-gray-550", e), children: r.jsxRuntimeExports.jsx(h.ChevronRight, { className: "h-6 w-6 stroke-primary-gray-700 dark:stroke-primary-gray-100" }) });
81
+ }
82
+ C.displayName = "PaginationNext";
83
+ function g({ className: e, ...t }) {
84
+ return r.jsxRuntimeExports.jsxs("span", { ...t, "aria-hidden": !0, className: s.cn("flex h-9 w-9 items-center justify-center", e), children: [r.jsxRuntimeExports.jsx(d.Ellipsis, { className: "h-4 w-4 text-primary-gray-700 dark:text-primary-gray-100" }), r.jsxRuntimeExports.jsx("span", { className: "sr-only", children: "More pages" })] });
85
+ }
86
+ g.displayName = "PaginationEllipsis";
87
+ const y = (e, t) => {
88
+ const p = [];
89
+ return t <= 7 ? Array.from({ length: t }, (v, k) => k + 1) : (p.push(1), e <= 3 ? p.push(2, 3, 4, "ellipsis") : e >= t - 2 ? p.push("ellipsis", t - 3, t - 2, t - 1) : p.push("ellipsis", e - 1, e, e + 1, "ellipsis"), p.push(t), p);
90
+ };
91
+ function N(e) {
92
+ const { defaultPage: t = 1, total: p, pageSize: v, onChange: k, className: q } = e, R = Math.ceil(p / v), [c, E] = n.useState(t), [S, j] = n.useState(y(t, R));
93
+ return n.useEffect(() => {
94
+ j(y(c, R));
95
+ }, [c, R]), r.jsxRuntimeExports.jsx(b, { className: s.cn("select-none", q), children: r.jsxRuntimeExports.jsxs(o, { children: [r.jsxRuntimeExports.jsx(m, { children: r.jsxRuntimeExports.jsx(w, { onClick: () => {
96
+ c > 1 && (k(c - 1), E(c - 1));
97
+ }, className: s.cn("cursor-pointer", c <= 1 && "cursor-not-allowed pointer-events-none opacity-35") }) }), S.map((x, V) => r.jsxRuntimeExports.jsx(m, { children: x === "ellipsis" ? r.jsxRuntimeExports.jsx(g, {}) : r.jsxRuntimeExports.jsx(u, { onClick: () => {
98
+ E(x), k(x);
99
+ }, className: s.cn("cursor-pointer w-[32px] h-[32px] flex items-center justify-center rounded-full hover:bg-primary-gray-300", x === c && "bg-primary-blue-600 hover:bg-primary-blue-700 dark:bg-primary-blue-500 dark:hover:bg-primary-blue-400 hover:text-primary-wite text-primary-white"), children: x }) }, V)), r.jsxRuntimeExports.jsx(m, { children: r.jsxRuntimeExports.jsx(C, { onClick: () => {
100
+ c < R && (k(c + 1), E(c + 1));
101
+ }, className: s.cn("cursor-pointer", c >= R && "cursor-not-allowed pointer-events-none opacity-35") }) })] }) });
102
+ }
103
+ i.Pagination = N;
104
+ }(F)), F;
105
+ }
106
+ var Ie = /* @__PURE__ */ De(), A = {}, H = {}, ce;
107
+ function Pe() {
108
+ return ce || (ce = 1, function(i) {
109
+ Object.defineProperty(i, Symbol.toStringTag, { value: "Module" });
110
+ const r = /* @__PURE__ */ J(), n = K, s = /* @__PURE__ */ fe(), f = /* @__PURE__ */ U(), d = s.cva("w-full h-auto bg-primary-white dark:bg-primary-gray-650 text-primary-black dark:text-primary-white text-base transition-colors file:border-0 file:bg-transparent file:font-medium file:text-primary-gray-700 dark:file:text-primary-white focus-visible:outline-hidden focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50 placeholder:text-primary-gray-550 dark:placeholder:text-primary-gray-400", { variants: { variant: { light: "border border-primary-gray-400 dark:border-primary-gray-500", normal: "border-2 border-primary-black dark:border-primary-gray-300" }, inputSize: { sm: "px-2.5 py-1", base: "p-2.5" } }, defaultVariants: { inputSize: "base", variant: "normal" } }), h = n.forwardRef(({ className: b, inputSize: o, variant: m, ...u }, w) => r.jsxRuntimeExports.jsx("input", { ...u, ref: w, className: f.cn(d({ inputSize: o, variant: m }), b) }));
111
+ h.displayName = "Input", i.Input = h;
112
+ }(H)), H;
113
+ }
114
+ var ue;
115
+ function qe() {
116
+ return ue || (ue = 1, function(i) {
117
+ Object.defineProperty(i, Symbol.toStringTag, { value: "Module" });
118
+ const r = /* @__PURE__ */ J(), n = K, s = /* @__PURE__ */ ve(), f = /* @__PURE__ */ Pe(), d = /* @__PURE__ */ U(), h = /* @__PURE__ */ B();
119
+ /**
120
+ * @license lucide-react v0.488.0 - ISC
121
+ *
122
+ * This source code is licensed under the ISC license.
123
+ * See the LICENSE file in the root directory of this source tree.
124
+ */
125
+ const b = [["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }], ["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }]], o = h.createLucideIcon("search", b), m = n.forwardRef(({ className: u, inputClassName: w, buttonClassName: C, onSearch: g, searchOnlyOnClick: y, buttonVariant: N, buttonChildren: e, showSearchButton: t, inputVariant: p, inputSize: v, placeholder: k, ...q }, R) => {
126
+ const [c, E] = n.useState(void 0), [S, j] = n.useState(!1);
127
+ return r.jsxRuntimeExports.jsxs("div", { className: d.cn("flex gap-0", u), ref: R, children: [r.jsxRuntimeExports.jsxs("div", { className: "relative w-full", children: [r.jsxRuntimeExports.jsx(f.Input, { ...q, variant: p, type: "text", className: w, onChange: (x) => {
128
+ E(x.target.value), y || g?.(x.target.value);
129
+ }, inputSize: v, onKeyDown: (x) => {
130
+ x.key === "Enter" && g?.(c);
131
+ }, onFocus: () => j(!0), onBlur: () => j(!1) }), !S && (c === "" || !c) && r.jsxRuntimeExports.jsxs("div", { className: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none", children: [e ? null : r.jsxRuntimeExports.jsx(o, { className: "h-4 w-4 text-primary-gray-500 dark:text-primary-gray-400 mr-2" }), r.jsxRuntimeExports.jsx("span", { className: "text-primary-gray-500 dark:text-primary-gray-400", children: k || "Search..." })] })] }), t === !1 ? null : r.jsxRuntimeExports.jsx(s.Button, { variant: N || "icon", className: C, padding: v, onClick: () => {
132
+ g?.(c);
133
+ }, children: e || r.jsxRuntimeExports.jsx(o, { className: "stroke-2" }) })] });
134
+ });
135
+ m.displayName = "Search", i.Search = m;
136
+ }(A)), A;
137
+ }
138
+ var Ve = /* @__PURE__ */ qe();
139
+ const Me = (i) => i ? Object.entries(i).map(([n, s]) => Array.isArray(s) ? {
140
+ " ": n,
141
+ value: `"${s.join("; ")}"`
142
+ } : {
143
+ " ": n,
144
+ value: `"${s}"`
145
+ }) : {};
146
+ function $e(i) {
147
+ const {
148
+ width: r,
149
+ height: n,
150
+ data: s,
151
+ onSeriesMouseClick: f,
152
+ cardTemplate: d,
153
+ cardBackgroundColor: h,
154
+ cardMinWidth: b = 320,
155
+ detailsOnClick: o,
156
+ noOfItemsInAPage: m,
157
+ styles: u,
158
+ classNames: w,
159
+ page: C,
160
+ allowDataDownloadOnDetail: g
161
+ } = i, [y, N] = P(void 0);
162
+ return /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
163
+ /* @__PURE__ */ l.jsx(
164
+ "div",
165
+ {
166
+ className: "undp-scrollbar w-full my-0 mx-auto grid gap-4 undp-viz-data-cards-container",
167
+ style: {
168
+ width: r ? `${r}px` : "100%",
169
+ height: n ? `${n}px` : "auto",
170
+ gridTemplateColumns: `repeat(auto-fill, minmax(${b}px, 1fr))`
171
+ },
172
+ children: s.filter(
173
+ (e, t) => m ? t < C * m && t >= (C - 1) * m : !0
174
+ ).map((e, t) => /* @__PURE__ */ l.jsx(
175
+ "div",
176
+ {
177
+ style: {
178
+ ...u?.dataCards || {},
179
+ ...h && { backgroundColor: h }
180
+ },
181
+ className: `w-full flex flex-col ${f || o ? "cursor-pointer" : "cursor-auto"}${h ? "" : "bg-primary-gray-200 dark:bg-primary-gray-600"} ${w?.dataCards || ""}`,
182
+ onClick: () => {
183
+ f?.(e), N(e);
184
+ },
185
+ dangerouslySetInnerHTML: typeof d == "string" ? { __html: ie(d, e) } : void 0,
186
+ children: typeof d == "function" ? d(e) : null
187
+ },
188
+ t
189
+ ))
190
+ }
191
+ ),
192
+ o && y !== void 0 ? /* @__PURE__ */ l.jsxs(
193
+ be.Modal,
194
+ {
195
+ open: y !== void 0,
196
+ onClose: () => {
197
+ N(void 0);
198
+ },
199
+ children: [
200
+ /* @__PURE__ */ l.jsx(
201
+ "div",
202
+ {
203
+ className: "graph-modal-content m-0",
204
+ dangerouslySetInnerHTML: typeof o == "string" ? { __html: ie(o, y) } : void 0,
205
+ children: typeof o == "function" ? o(y) : null
206
+ }
207
+ ),
208
+ g ? /* @__PURE__ */ l.jsx("div", { className: "flex", children: /* @__PURE__ */ l.jsx(
209
+ we,
210
+ {
211
+ csvData: Me(y),
212
+ headers: [
213
+ {
214
+ label: " ",
215
+ key: " "
216
+ },
217
+ {
218
+ label: "value",
219
+ key: "value"
220
+ }
221
+ ],
222
+ buttonContent: /* @__PURE__ */ l.jsxs("div", { className: "flex items-center gap-4", children: [
223
+ typeof g == "string" ? g : null,
224
+ /* @__PURE__ */ l.jsx(je, {})
225
+ ] })
226
+ }
227
+ ) }) : null
228
+ ]
229
+ }
230
+ ) : null
231
+ ] });
232
+ }
233
+ function pe(i) {
234
+ if (i !== void 0)
235
+ return Array.isArray(i) ? i.map((r) => ({
236
+ value: r,
237
+ label: r
238
+ })) : {
239
+ value: i,
240
+ label: i
241
+ };
242
+ }
243
+ const Be = (i, r, n) => r.length === 0 ? i : i.filter(
244
+ (s) => r.some((f) => s[f]?.toLowerCase().includes(n.toLowerCase()))
245
+ );
246
+ function We(i) {
247
+ const {
248
+ width: r,
249
+ height: n,
250
+ graphTitle: s,
251
+ sources: f,
252
+ graphDescription: d,
253
+ footNote: h,
254
+ graphID: b,
255
+ data: o,
256
+ onSeriesMouseClick: m,
257
+ language: u = "en",
258
+ theme: w = "light",
259
+ ariaLabel: C,
260
+ cardTemplate: g,
261
+ cardBackgroundColor: y,
262
+ cardFilters: N,
263
+ cardSortingOptions: e,
264
+ cardSearchColumns: t,
265
+ cardMinWidth: p = 320,
266
+ backgroundColor: v = !1,
267
+ padding: k,
268
+ detailsOnClick: q,
269
+ allowDataDownloadOnDetail: R = !1,
270
+ noOfItemsInAPage: c,
271
+ uiMode: E = "normal",
272
+ styles: S,
273
+ classNames: j
274
+ } = i, [x, V] = P(o), [de, Q] = P(1), [Z, me] = P(""), W = ae(
275
+ () => (N || []).map((a) => ({
276
+ filter: a.column,
277
+ label: a.label || `Filter by ${a.column}`,
278
+ singleSelect: !0,
279
+ clearable: !0,
280
+ defaultValue: pe(a.defaultValue),
281
+ availableValues: Se(o, a.column).filter((D) => !a.excludeValues?.includes(`${D}`)).map((D) => ({ value: D, label: D })),
282
+ width: a.width
283
+ })),
284
+ [N, o]
285
+ ), [X, xe] = P(
286
+ (N || []).map((a) => ({
287
+ filter: a.column,
288
+ value: pe(a.defaultValue)
289
+ }))
290
+ ), [M, ee] = P(
291
+ e ? !e.defaultValue || e.options.findIndex((a) => a.label === e.defaultValue) === -1 ? e.options[0] : e.options[e.options.findIndex((a) => a.label === e.defaultValue)] : void 0
292
+ ), re = ae(
293
+ () => ({
294
+ ignoreCase: !0,
295
+ ignoreAccents: !0,
296
+ trim: !0
297
+ }),
298
+ []
299
+ );
300
+ return T(() => {
301
+ ee(
302
+ e ? !e.defaultValue || e.options.findIndex(
303
+ (a) => a.label === e.defaultValue
304
+ ) === -1 ? e.options[0] : e.options[e.options.findIndex(
305
+ (a) => a.label === e.defaultValue
306
+ )] : void 0
307
+ );
308
+ }, [e]), T(() => {
309
+ const a = Be(o, t || [], Z).filter(
310
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
311
+ (D) => X.every(
312
+ (I) => I.value && O([I.value]).length > 0 ? he(
313
+ O([D[I.filter]]),
314
+ O([I.value]).map((z) => z.value)
315
+ ).length > 0 : !0
316
+ )
317
+ );
318
+ V(M ? ge(a, M?.value, M?.type) : a);
319
+ }, [o, t, Z, X, M]), T(() => {
320
+ Q(1);
321
+ }, [x]), /* @__PURE__ */ l.jsx(
322
+ "div",
323
+ {
324
+ className: `${w || "light"} flex ${r ? "w-fit grow-0" : "w-full grow"}`,
325
+ dir: u === "he" || u === "ar" ? "rtl" : void 0,
326
+ children: /* @__PURE__ */ l.jsx(
327
+ "div",
328
+ {
329
+ className: ye.cn(
330
+ `${v ? v === !0 ? "bg-primary-gray-200 dark:bg-primary-gray-650 " : "" : "bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${u || "en"}`,
331
+ j?.graphContainer
332
+ ),
333
+ style: {
334
+ ...S?.graphContainer || {},
335
+ ...v && v !== !0 ? { backgroundColor: v } : {}
336
+ },
337
+ id: b,
338
+ "aria-label": C || `${s ? `The graph shows ${s}. ` : ""}This is an list of cards. ${d ? ` ${d}` : ""}`,
339
+ children: /* @__PURE__ */ l.jsx(
340
+ "div",
341
+ {
342
+ className: "flex grow",
343
+ style: { padding: v ? k || "1rem" : k || 0 },
344
+ children: /* @__PURE__ */ l.jsxs("div", { className: "flex flex-col grow gap-3 w-full justify-between", children: [
345
+ s || d ? /* @__PURE__ */ l.jsx(
346
+ ke,
347
+ {
348
+ styles: {
349
+ title: S?.title,
350
+ description: S?.description
351
+ },
352
+ classNames: {
353
+ title: j?.title,
354
+ description: j?.description
355
+ },
356
+ graphTitle: s,
357
+ graphDescription: d,
358
+ width: r
359
+ }
360
+ ) : null,
361
+ e || W.length > 0 ? /* @__PURE__ */ l.jsxs("div", { className: "flex gap-4 flex-wrap items-start w-full", children: [
362
+ e ? /* @__PURE__ */ l.jsxs(
363
+ "div",
364
+ {
365
+ className: "grow shrink-0 min-w-[240px]",
366
+ style: { width: e.width || "calc(25% - 0.75rem)" },
367
+ children: [
368
+ /* @__PURE__ */ l.jsx(
369
+ te.P,
370
+ {
371
+ marginBottom: "xs",
372
+ size: "sm",
373
+ className: "text-primary-gray-700 dark:text-primary-gray-100",
374
+ children: "Sort by"
375
+ }
376
+ ),
377
+ /* @__PURE__ */ l.jsx(
378
+ $.DropdownSelect,
379
+ {
380
+ options: e.options,
381
+ isRtl: u === "he" || u === "ar",
382
+ isSearchable: !0,
383
+ filterOption: $.createFilter(re),
384
+ onChange: (a) => {
385
+ ee(a || void 0);
386
+ },
387
+ variant: E,
388
+ size: "sm",
389
+ defaultValue: !e.defaultValue || e.options.findIndex(
390
+ (a) => a.label === e.defaultValue
391
+ ) === -1 ? e.options[0] : e.options[e.options.findIndex(
392
+ (a) => a.label === e.defaultValue
393
+ )]
394
+ }
395
+ )
396
+ ]
397
+ }
398
+ ) : null,
399
+ W?.map((a, D) => /* @__PURE__ */ l.jsxs(
400
+ "div",
401
+ {
402
+ className: "grow shrink-0 min-w-[240px]",
403
+ style: { width: a.width || "calc(25% - 0.75rem)" },
404
+ children: [
405
+ /* @__PURE__ */ l.jsx(
406
+ te.P,
407
+ {
408
+ marginBottom: "xs",
409
+ size: "sm",
410
+ className: "text-primary-gray-700 dark:text-primary-gray-100",
411
+ children: a.label
412
+ }
413
+ ),
414
+ /* @__PURE__ */ l.jsx(
415
+ $.DropdownSelect,
416
+ {
417
+ options: a.availableValues,
418
+ isClearable: a.clearable === void 0 ? !0 : a.clearable,
419
+ isRtl: u === "he" || u === "ar",
420
+ isSearchable: !0,
421
+ variant: E,
422
+ size: "sm",
423
+ controlShouldRenderValue: !0,
424
+ filterOption: $.createFilter(re),
425
+ onChange: (I) => {
426
+ xe(
427
+ (z) => (
428
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
429
+ z.map((L) => L.filter === a.filter ? { ...L, value: I } : L)
430
+ )
431
+ );
432
+ },
433
+ defaultValue: a.defaultValue
434
+ }
435
+ )
436
+ ]
437
+ },
438
+ D
439
+ ))
440
+ ] }) : null,
441
+ (t || []).length > 0 ? /* @__PURE__ */ l.jsx("div", { style: { paddingTop: "1px" }, children: /* @__PURE__ */ l.jsx(
442
+ Ve.Search,
443
+ {
444
+ placeholder: "Search...",
445
+ onSearch: (a) => {
446
+ me(a || "");
447
+ },
448
+ buttonVariant: "icon",
449
+ inputVariant: E,
450
+ showSearchButton: !1,
451
+ inputSize: "sm"
452
+ }
453
+ ) }) : null,
454
+ /* @__PURE__ */ l.jsx(
455
+ $e,
456
+ {
457
+ data: x,
458
+ width: r,
459
+ height: n,
460
+ cardTemplate: g,
461
+ cardMinWidth: p,
462
+ page: de,
463
+ cardBackgroundColor: y,
464
+ styles: S,
465
+ classNames: j,
466
+ noOfItemsInAPage: c,
467
+ detailsOnClick: q,
468
+ onSeriesMouseClick: m,
469
+ allowDataDownloadOnDetail: R
470
+ }
471
+ ),
472
+ c ? /* @__PURE__ */ l.jsx(
473
+ Ie.Pagination,
474
+ {
475
+ total: x.length,
476
+ defaultPage: 0,
477
+ pageSize: c,
478
+ onChange: Q
479
+ }
480
+ ) : null,
481
+ f || h ? /* @__PURE__ */ l.jsx(
482
+ Ne,
483
+ {
484
+ styles: { footnote: S?.footnote, source: S?.source },
485
+ classNames: {
486
+ footnote: j?.footnote,
487
+ source: j?.source
488
+ },
489
+ sources: f,
490
+ footNote: h,
491
+ width: r
492
+ }
493
+ ) : null
494
+ ] })
495
+ }
496
+ )
497
+ }
498
+ )
499
+ }
500
+ );
501
+ }
502
+ export {
503
+ We as D,
504
+ pe as t
505
+ };
506
+ //# sourceMappingURL=index-BIPNFFja.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-BIPNFFja.js","sources":["../node_modules/@undp/design-system-react/dist/chevron-left-BYkZnGJE.cjs","../node_modules/@undp/design-system-react/dist/ellipsis-D-YyfMoY.cjs","../node_modules/@undp/design-system-react/dist/chevron-right-C69Yd7-_.cjs","../node_modules/@undp/design-system-react/dist/Pagination.js","../node_modules/@undp/design-system-react/dist/Input.js","../node_modules/@undp/design-system-react/dist/Search.js","../src/Components/Graphs/DataCards/Graph.tsx","../src/Utils/transformDataForSelect.ts","../src/Components/Graphs/DataCards/index.tsx"],"sourcesContent":["\"use strict\";const e=require(\"./createLucideIcon-DpotSgUx.cjs\");/**\n * @license lucide-react v0.488.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const c=[[\"path\",{d:\"m15 18-6-6 6-6\",key:\"1wnfg3\"}]],t=e.createLucideIcon(\"chevron-left\",c);exports.ChevronLeft=t;\n//# sourceMappingURL=chevron-left-BYkZnGJE.cjs.map\n","\"use strict\";const c=require(\"./createLucideIcon-DpotSgUx.cjs\");/**\n * @license lucide-react v0.488.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const e=[[\"circle\",{cx:\"12\",cy:\"12\",r:\"1\",key:\"41hilf\"}],[\"circle\",{cx:\"19\",cy:\"12\",r:\"1\",key:\"1wjl8i\"}],[\"circle\",{cx:\"5\",cy:\"12\",r:\"1\",key:\"1pcz8c\"}]],i=c.createLucideIcon(\"ellipsis\",e);exports.Ellipsis=i;\n//# sourceMappingURL=ellipsis-D-YyfMoY.cjs.map\n","\"use strict\";const e=require(\"./createLucideIcon-DpotSgUx.cjs\");/**\n * @license lucide-react v0.488.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const c=[[\"path\",{d:\"m9 18 6-6-6-6\",key:\"mthhwq\"}]],t=e.createLucideIcon(\"chevron-right\",c);exports.ChevronRight=t;\n//# sourceMappingURL=chevron-right-C69Yd7-_.cjs.map\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const s=require(\"./jsx-runtime-Dszzpdy0.cjs\"),p=require(\"react\"),a=require(\"./utils-D9-qIS7T.cjs\"),k=require(\"./chevron-left-BYkZnGJE.cjs\"),v=require(\"./ellipsis-D-YyfMoY.cjs\"),P=require(\"./chevron-right-C69Yd7-_.cjs\");function g({className:e,...r}){return s.jsxRuntimeExports.jsx(\"nav\",{...r,role:\"navigation\",\"aria-label\":\"pagination\",className:a.cn(\"mx-auto flex w-full justify-center\",e)})}g.displayName=\"PaginationUnit\";const j=p.forwardRef(({className:e,...r},i)=>s.jsxRuntimeExports.jsx(\"ul\",{...r,ref:i,className:a.cn(\"flex flex-row items-center gap-1 list-none\",e)}));j.displayName=\"PaginationContent\";const c=p.forwardRef(({className:e,...r},i)=>s.jsxRuntimeExports.jsx(\"li\",{...r,ref:i,className:a.cn(\"mr-2 last:mr-0\",e)}));c.displayName=\"PaginationItem\";function m({className:e,children:r,...i}){return s.jsxRuntimeExports.jsx(\"button\",{...i,type:\"button\",className:a.cn(\"p-4 text-base text-primary-black dark:text-primary-gray-100 dark:hover:bg-primary-gray-600\",e),children:r})}m.displayName=\"PaginationLink\";function d({className:e,...r}){return s.jsxRuntimeExports.jsx(m,{...r,\"aria-label\":\"Go to previous page\",className:a.cn(\"p-2 bg-primary-gray-300 dark:bg-primary-gray-600 rtl:scale-x-[-1] rounded-full hover:bg-primary-gray-400 dark:hover:bg-primary-gray-550\",e),children:s.jsxRuntimeExports.jsx(k.ChevronLeft,{className:\"h-6 w-6 stroke-primary-gray-700 dark:stroke-primary-gray-100\"})})}d.displayName=\"PaginationPrevious\";function h({className:e,...r}){return s.jsxRuntimeExports.jsx(m,{...r,\"aria-label\":\"Go to next page\",className:a.cn(\"p-2 bg-primary-gray-300 dark:bg-primary-gray-600 rtl:scale-x-[-1] rounded-full hover:bg-primary-gray-400 dark:hover:bg-primary-gray-550\",e),children:s.jsxRuntimeExports.jsx(P.ChevronRight,{className:\"h-6 w-6 stroke-primary-gray-700 dark:stroke-primary-gray-100\"})})}h.displayName=\"PaginationNext\";function f({className:e,...r}){return s.jsxRuntimeExports.jsxs(\"span\",{...r,\"aria-hidden\":!0,className:a.cn(\"flex h-9 w-9 items-center justify-center\",e),children:[s.jsxRuntimeExports.jsx(v.Ellipsis,{className:\"h-4 w-4 text-primary-gray-700 dark:text-primary-gray-100\"}),s.jsxRuntimeExports.jsx(\"span\",{className:\"sr-only\",children:\"More pages\"})]})}f.displayName=\"PaginationEllipsis\";const y=(e,r)=>{const i=[];return r<=7?Array.from({length:r},(x,n)=>n+1):(i.push(1),e<=3?i.push(2,3,4,\"ellipsis\"):e>=r-2?i.push(\"ellipsis\",r-3,r-2,r-1):i.push(\"ellipsis\",e-1,e,e+1,\"ellipsis\"),i.push(r),i)};function w(e){const{defaultPage:r=1,total:i,pageSize:x,onChange:n,className:b}=e,o=Math.ceil(i/x),[t,u]=p.useState(r),[R,E]=p.useState(y(r,o));return p.useEffect(()=>{E(y(t,o))},[t,o]),s.jsxRuntimeExports.jsx(g,{className:a.cn(\"select-none\",b),children:s.jsxRuntimeExports.jsxs(j,{children:[s.jsxRuntimeExports.jsx(c,{children:s.jsxRuntimeExports.jsx(d,{onClick:()=>{t>1&&(n(t-1),u(t-1))},className:a.cn(\"cursor-pointer\",t<=1&&\"cursor-not-allowed pointer-events-none opacity-35\")})}),R.map((l,N)=>s.jsxRuntimeExports.jsx(c,{children:l===\"ellipsis\"?s.jsxRuntimeExports.jsx(f,{}):s.jsxRuntimeExports.jsx(m,{onClick:()=>{u(l),n(l)},className:a.cn(\"cursor-pointer w-[32px] h-[32px] flex items-center justify-center rounded-full hover:bg-primary-gray-300\",l===t&&\"bg-primary-blue-600 hover:bg-primary-blue-700 dark:bg-primary-blue-500 dark:hover:bg-primary-blue-400 hover:text-primary-wite text-primary-white\"),children:l})},N)),s.jsxRuntimeExports.jsx(c,{children:s.jsxRuntimeExports.jsx(h,{onClick:()=>{t<o&&(n(t+1),u(t+1))},className:a.cn(\"cursor-pointer\",t>=o&&\"cursor-not-allowed pointer-events-none opacity-35\")})})]})})}exports.Pagination=w;\n//# sourceMappingURL=Pagination.js.map\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const o=require(\"./jsx-runtime-Dszzpdy0.cjs\"),s=require(\"react\"),l=require(\"./index-BHm2KTjD.cjs\"),d=require(\"./utils-D9-qIS7T.cjs\"),p=l.cva(\"w-full h-auto bg-primary-white dark:bg-primary-gray-650 text-primary-black dark:text-primary-white text-base transition-colors file:border-0 file:bg-transparent file:font-medium file:text-primary-gray-700 dark:file:text-primary-white focus-visible:outline-hidden focus-visible:ring-1 disabled:cursor-not-allowed disabled:opacity-50 placeholder:text-primary-gray-550 dark:placeholder:text-primary-gray-400\",{variants:{variant:{light:\"border border-primary-gray-400 dark:border-primary-gray-500\",normal:\"border-2 border-primary-black dark:border-primary-gray-300\"},inputSize:{sm:\"px-2.5 py-1\",base:\"p-2.5\"}},defaultVariants:{inputSize:\"base\",variant:\"normal\"}}),r=s.forwardRef(({className:e,inputSize:a,variant:t,...i},n)=>o.jsxRuntimeExports.jsx(\"input\",{...i,ref:n,className:d.cn(p({inputSize:a,variant:t}),e)}));r.displayName=\"Input\";exports.Input=r;\n//# sourceMappingURL=Input.js.map\n","\"use strict\";Object.defineProperty(exports,Symbol.toStringTag,{value:\"Module\"});const e=require(\"./jsx-runtime-Dszzpdy0.cjs\"),a=require(\"react\"),N=require(\"./Button.js\"),q=require(\"./Input.js\"),E=require(\"./utils-D9-qIS7T.cjs\"),k=require(\"./createLucideIcon-DpotSgUx.cjs\");/**\n * @license lucide-react v0.488.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const S=[[\"circle\",{cx:\"11\",cy:\"11\",r:\"8\",key:\"4ej97u\"}],[\"path\",{d:\"m21 21-4.3-4.3\",key:\"1qie3q\"}]],o=k.createLucideIcon(\"search\",S),u=a.forwardRef(({className:l,inputClassName:x,buttonClassName:m,onSearch:r,searchOnlyOnClick:p,buttonVariant:d,buttonChildren:n,showSearchButton:y,inputVariant:j,inputSize:c,placeholder:f,...g},h)=>{const[s,v]=a.useState(void 0),[R,i]=a.useState(!1);return e.jsxRuntimeExports.jsxs(\"div\",{className:E.cn(\"flex gap-0\",l),ref:h,children:[e.jsxRuntimeExports.jsxs(\"div\",{className:\"relative w-full\",children:[e.jsxRuntimeExports.jsx(q.Input,{...g,variant:j,type:\"text\",className:x,onChange:t=>{v(t.target.value),p||r?.(t.target.value)},inputSize:c,onKeyDown:t=>{t.key===\"Enter\"&&r?.(s)},onFocus:()=>i(!0),onBlur:()=>i(!1)}),!R&&(s===\"\"||!s)&&e.jsxRuntimeExports.jsxs(\"div\",{className:\"absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none\",children:[n?null:e.jsxRuntimeExports.jsx(o,{className:\"h-4 w-4 text-primary-gray-500 dark:text-primary-gray-400 mr-2\"}),e.jsxRuntimeExports.jsx(\"span\",{className:\"text-primary-gray-500 dark:text-primary-gray-400\",children:f||\"Search...\"})]})]}),y===!1?null:e.jsxRuntimeExports.jsx(N.Button,{variant:d||\"icon\",className:m,padding:c,onClick:()=>{r?.(s)},children:n||e.jsxRuntimeExports.jsx(o,{className:\"stroke-2\"})})]})});u.displayName=\"Search\";exports.Search=u;\n//# sourceMappingURL=Search.js.map\n","import { Modal } from '@undp/design-system-react/Modal';\r\nimport { useState } from 'react';\r\n\r\nimport { CsvDownloadButton } from '@/Components/Actions/CsvDownloadButton';\r\nimport { FileDown } from '@/Components/Icons';\r\nimport { StyleObject, ClassNameObject } from '@/Types';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\nexport type FilterDataType = {\r\n column: string;\r\n label?: string;\r\n defaultValue?: string;\r\n excludeValues?: string[];\r\n width?: string;\r\n};\r\n\r\ninterface Props {\r\n data: object[];\r\n cardBackgroundColor?: string;\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n width?: number;\r\n height?: number;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cardTemplate: string | ((_d: any) => React.ReactNode);\r\n cardMinWidth: number;\r\n noOfItemsInAPage?: number;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n allowDataDownloadOnDetail: boolean | string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n page: number;\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst csvData = (data: any) => {\r\n if (!data) return {};\r\n const dataForCsv = Object.entries(data).map(([key, value]) => {\r\n if (Array.isArray(value)) {\r\n return {\r\n ' ': key,\r\n value: `\"${value.join('; ')}\"`,\r\n };\r\n }\r\n return {\r\n ' ': key,\r\n value: `\"${value}\"`,\r\n };\r\n });\r\n return dataForCsv;\r\n};\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n width,\r\n height,\r\n data,\r\n onSeriesMouseClick,\r\n cardTemplate,\r\n cardBackgroundColor,\r\n cardMinWidth = 320,\r\n detailsOnClick,\r\n noOfItemsInAPage,\r\n styles,\r\n classNames,\r\n page,\r\n allowDataDownloadOnDetail,\r\n } = props;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [selectedData, setSelectedData] = useState<any>(undefined);\r\n return (\r\n <>\r\n <div\r\n className='undp-scrollbar w-full my-0 mx-auto grid gap-4 undp-viz-data-cards-container'\r\n style={{\r\n width: width ? `${width}px` : '100%',\r\n height: height ? `${height}px` : 'auto',\r\n gridTemplateColumns: `repeat(auto-fill, minmax(${cardMinWidth}px, 1fr))`,\r\n }}\r\n >\r\n {data\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .filter((_d: any, i: number) =>\r\n noOfItemsInAPage\r\n ? i < page * noOfItemsInAPage && i >= (page - 1) * noOfItemsInAPage\r\n : true,\r\n )\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map((d: any, i: number) => (\r\n <div\r\n key={i}\r\n style={{\r\n ...(styles?.dataCards || {}),\r\n ...(cardBackgroundColor && { backgroundColor: cardBackgroundColor }),\r\n }}\r\n className={`w-full flex flex-col ${\r\n onSeriesMouseClick || detailsOnClick ? 'cursor-pointer' : 'cursor-auto'\r\n }${\r\n !cardBackgroundColor ? 'bg-primary-gray-200 dark:bg-primary-gray-600' : ''\r\n } ${classNames?.dataCards || ''}`}\r\n onClick={() => {\r\n onSeriesMouseClick?.(d);\r\n setSelectedData(d);\r\n }}\r\n dangerouslySetInnerHTML={\r\n typeof cardTemplate === 'string'\r\n ? { __html: string2HTML(cardTemplate, d) }\r\n : undefined\r\n }\r\n >\r\n {typeof cardTemplate === 'function' ? cardTemplate(d) : null}\r\n </div>\r\n ))}\r\n </div>\r\n {detailsOnClick && selectedData !== undefined ? (\r\n <Modal\r\n open={selectedData !== undefined}\r\n onClose={() => {\r\n setSelectedData(undefined);\r\n }}\r\n >\r\n <div\r\n className='graph-modal-content m-0'\r\n dangerouslySetInnerHTML={\r\n typeof detailsOnClick === 'string'\r\n ? { __html: string2HTML(detailsOnClick, selectedData) }\r\n : undefined\r\n }\r\n >\r\n {typeof detailsOnClick === 'function' ? detailsOnClick(selectedData) : null}\r\n </div>\r\n {allowDataDownloadOnDetail ? (\r\n <div className='flex'>\r\n <CsvDownloadButton\r\n csvData={csvData(selectedData)}\r\n headers={[\r\n {\r\n label: ' ',\r\n key: ' ',\r\n },\r\n {\r\n label: 'value',\r\n key: 'value',\r\n },\r\n ]}\r\n buttonContent={\r\n <div className='flex items-center gap-4'>\r\n {typeof allowDataDownloadOnDetail === 'string'\r\n ? allowDataDownloadOnDetail\r\n : null}\r\n <FileDown />\r\n </div>\r\n }\r\n />\r\n </div>\r\n ) : null}\r\n </Modal>\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","export function transformDefaultValue(\r\n defaultValue?: string | string[] | number | number[],\r\n):\r\n | { value: string | number; label: string | number }\r\n | { value: string | number; label: string | number }[]\r\n | undefined {\r\n if (defaultValue === undefined) return undefined;\r\n\r\n if (Array.isArray(defaultValue)) {\r\n return defaultValue.map(el => ({\r\n value: el,\r\n label: el,\r\n }));\r\n }\r\n\r\n return {\r\n value: defaultValue,\r\n label: defaultValue,\r\n };\r\n}\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport intersection from 'lodash.intersection';\r\nimport flattenDeep from 'lodash.flattendeep';\r\nimport sortBy from 'lodash.sortby';\r\nimport { createFilter, DropdownSelect } from '@undp/design-system-react/DropdownSelect';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { P } from '@undp/design-system-react/Typography';\r\nimport { Pagination } from '@undp/design-system-react/Pagination';\r\nimport { Search } from '@undp/design-system-react/Search';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport { Languages, SourcesDataType, StyleObject, ClassNameObject } from '@/Types';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { getUniqValue } from '@/Utils/getUniqValue';\r\nimport { transformDefaultValue } from '@/Utils/transformDataForSelect';\r\n\r\nexport type FilterDataType = {\r\n column: string;\r\n label?: string;\r\n defaultValue?: string;\r\n excludeValues?: string[];\r\n width?: string;\r\n};\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: object[];\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Background color of each of the card */\r\n cardBackgroundColor?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n\r\n // Graph Parameters\r\n /** Html for each card. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data. */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n cardTemplate: string | ((_d: any) => React.ReactNode);\r\n /** Allows users to add a dropdown menus, that can be used as filters in the graph. Each filter is an object that specifies the column to filter by, and the default value. All the filters are single select only. */\r\n cardFilters?: FilterDataType[];\r\n /** Allows users to add a dropdown menus, that can be used to sort the cards based on different columns. */\r\n cardSortingOptions?: {\r\n defaultValue?: string;\r\n options: {\r\n value: string;\r\n label: string;\r\n type: 'asc' | 'desc';\r\n }[];\r\n width?: string;\r\n };\r\n /** Adds a search bar to search the cards list. The array defines all the columns from the data where text is used to search from. */\r\n cardSearchColumns?: string[];\r\n /** Min width of the cards for responsiveness. */\r\n cardMinWidth?: number;\r\n /** Add a button to download data object when viewing details. If true, data can be downloaded; if a string is provided, it specifies the button label. */\r\n allowDataDownloadOnDetail?: string | boolean;\r\n /** Defines the number of items displayed per page. */\r\n noOfItemsInAPage?: number;\r\n\r\n // Interactions and Callbacks\r\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Theme for the UI elements */\r\n uiMode?: 'light' | 'normal';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst filterByKeys = (jsonArray: any, keys: string[], substring: string) => {\r\n if (keys.length === 0) return jsonArray;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return jsonArray.filter((item: any) =>\r\n keys.some(key => item[key]?.toLowerCase().includes(substring.toLowerCase())),\r\n );\r\n};\r\n\r\nexport function DataCards(props: Props) {\r\n const {\r\n width,\r\n height,\r\n graphTitle,\r\n sources,\r\n graphDescription,\r\n footNote,\r\n graphID,\r\n data,\r\n onSeriesMouseClick,\r\n language = 'en',\r\n theme = 'light',\r\n ariaLabel,\r\n cardTemplate,\r\n cardBackgroundColor,\r\n cardFilters,\r\n cardSortingOptions,\r\n cardSearchColumns,\r\n cardMinWidth = 320,\r\n backgroundColor = false,\r\n padding,\r\n detailsOnClick,\r\n allowDataDownloadOnDetail = false,\r\n noOfItemsInAPage,\r\n uiMode = 'normal',\r\n styles,\r\n classNames,\r\n } = props;\r\n\r\n const [cardData, setCardData] = useState(data);\r\n\r\n const [page, setPage] = useState(1);\r\n\r\n const [searchQuery, setSearchQuery] = useState('');\r\n const filterSettings = useMemo(\r\n () =>\r\n (cardFilters || []).map(el => ({\r\n filter: el.column,\r\n label: el.label || `Filter by ${el.column}`,\r\n singleSelect: true,\r\n clearable: true,\r\n defaultValue: transformDefaultValue(el.defaultValue),\r\n availableValues: getUniqValue(data, el.column)\r\n .filter(v => !el.excludeValues?.includes(`${v}`))\r\n .map(v => ({ value: v, label: v })),\r\n width: el.width,\r\n })),\r\n [cardFilters, data],\r\n );\r\n\r\n const [selectedFilters, setSelectedFilters] = useState(\r\n (cardFilters || []).map(el => ({\r\n filter: el.column,\r\n value: transformDefaultValue(el.defaultValue),\r\n })),\r\n );\r\n const [sortedBy, setSortedBy] = useState<\r\n | {\r\n value: string;\r\n label: string;\r\n type: 'asc' | 'desc';\r\n }\r\n | undefined\r\n >(\r\n cardSortingOptions\r\n ? !cardSortingOptions.defaultValue ||\r\n cardSortingOptions.options.findIndex(el => el.label === cardSortingOptions.defaultValue) ===\r\n -1\r\n ? cardSortingOptions.options[0]\r\n : cardSortingOptions.options[\r\n cardSortingOptions.options.findIndex(el => el.label === cardSortingOptions.defaultValue)\r\n ]\r\n : undefined,\r\n );\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 useEffect(() => {\r\n setSortedBy(\r\n cardSortingOptions\r\n ? !cardSortingOptions.defaultValue ||\r\n cardSortingOptions.options.findIndex(\r\n el => el.label === cardSortingOptions.defaultValue,\r\n ) === -1\r\n ? cardSortingOptions.options[0]\r\n : cardSortingOptions.options[\r\n cardSortingOptions.options.findIndex(\r\n el => el.label === cardSortingOptions.defaultValue,\r\n )\r\n ]\r\n : undefined,\r\n );\r\n }, [cardSortingOptions]);\r\n\r\n useEffect(() => {\r\n const filteredData = filterByKeys(data, cardSearchColumns || [], searchQuery).filter(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n (item: any) =>\r\n selectedFilters.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 if (sortedBy) {\r\n setCardData(sortBy(filteredData, sortedBy?.value, sortedBy?.type));\r\n } else {\r\n setCardData(filteredData);\r\n }\r\n }, [data, cardSearchColumns, searchQuery, selectedFilters, sortedBy]);\r\n\r\n useEffect(() => {\r\n setPage(1);\r\n }, [cardData]);\r\n\r\n return (\r\n <div\r\n className={`${theme || 'light'} flex ${width ? 'w-fit grow-0' : 'w-full grow'}`}\r\n dir={language === 'he' || language === 'ar' ? 'rtl' : undefined}\r\n >\r\n <div\r\n className={cn(\r\n `${\r\n !backgroundColor\r\n ? 'bg-transparent '\r\n : backgroundColor === true\r\n ? 'bg-primary-gray-200 dark:bg-primary-gray-650 '\r\n : ''\r\n }ml-auto mr-auto flex flex-col grow h-inherit ${language || 'en'}`,\r\n classNames?.graphContainer,\r\n )}\r\n style={{\r\n ...(styles?.graphContainer || {}),\r\n ...(backgroundColor && backgroundColor !== true ? { backgroundColor } : {}),\r\n }}\r\n id={graphID}\r\n aria-label={\r\n ariaLabel ||\r\n `${graphTitle ? `The graph shows ${graphTitle}. ` : ''}This is an list of cards. ${\r\n graphDescription ? ` ${graphDescription}` : ''\r\n }`\r\n }\r\n >\r\n <div\r\n className='flex grow'\r\n style={{ padding: backgroundColor ? padding || '1rem' : padding || 0 }}\r\n >\r\n <div className='flex flex-col grow gap-3 w-full justify-between'>\r\n {graphTitle || graphDescription ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n />\r\n ) : null}\r\n {cardSortingOptions || filterSettings.length > 0 ? (\r\n <div className='flex gap-4 flex-wrap items-start w-full'>\r\n {cardSortingOptions ? (\r\n <div\r\n className='grow shrink-0 min-w-[240px]'\r\n style={{ width: cardSortingOptions.width || 'calc(25% - 0.75rem)' }}\r\n >\r\n <P\r\n marginBottom='xs'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n Sort by\r\n </P>\r\n <DropdownSelect\r\n options={cardSortingOptions.options}\r\n isRtl={language === 'he' || language === 'ar'}\r\n isSearchable\r\n filterOption={createFilter(filterConfig)}\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onChange={(el: any) => {\r\n setSortedBy(el || undefined);\r\n }}\r\n variant={uiMode}\r\n size='sm'\r\n defaultValue={\r\n !cardSortingOptions.defaultValue ||\r\n cardSortingOptions.options.findIndex(\r\n el => el.label === cardSortingOptions.defaultValue,\r\n ) === -1\r\n ? cardSortingOptions.options[0]\r\n : cardSortingOptions.options[\r\n cardSortingOptions.options.findIndex(\r\n el => el.label === cardSortingOptions.defaultValue,\r\n )\r\n ]\r\n }\r\n />\r\n </div>\r\n ) : null}\r\n {filterSettings?.map((d, i) => (\r\n <div\r\n className='grow shrink-0 min-w-[240px]'\r\n style={{ width: d.width || 'calc(25% - 0.75rem)' }}\r\n key={i}\r\n >\r\n <P\r\n marginBottom='xs'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n {d.label}\r\n </P>\r\n <DropdownSelect\r\n options={d.availableValues}\r\n isClearable={d.clearable === undefined ? true : d.clearable}\r\n isRtl={language === 'he' || language === 'ar'}\r\n isSearchable\r\n variant={uiMode}\r\n size='sm'\r\n controlShouldRenderValue\r\n filterOption={createFilter(filterConfig)}\r\n onChange={el => {\r\n setSelectedFilters(prev =>\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n prev.map(f => (f.filter === d.filter ? { ...f, value: el as any } : f)),\r\n );\r\n }}\r\n defaultValue={d.defaultValue}\r\n />\r\n </div>\r\n ))}\r\n </div>\r\n ) : null}\r\n {(cardSearchColumns || []).length > 0 ? (\r\n <div style={{ paddingTop: '1px' }}>\r\n <Search\r\n placeholder='Search...'\r\n onSearch={e => {\r\n setSearchQuery(e || '');\r\n }}\r\n buttonVariant='icon'\r\n inputVariant={uiMode}\r\n showSearchButton={false}\r\n inputSize='sm'\r\n />\r\n </div>\r\n ) : null}\r\n <Graph\r\n data={cardData}\r\n width={width}\r\n height={height}\r\n cardTemplate={cardTemplate}\r\n cardMinWidth={cardMinWidth}\r\n page={page}\r\n cardBackgroundColor={cardBackgroundColor}\r\n styles={styles}\r\n classNames={classNames}\r\n noOfItemsInAPage={noOfItemsInAPage}\r\n detailsOnClick={detailsOnClick}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n allowDataDownloadOnDetail={allowDataDownloadOnDetail}\r\n />\r\n {noOfItemsInAPage ? (\r\n <Pagination\r\n total={cardData.length}\r\n defaultPage={0}\r\n pageSize={noOfItemsInAPage}\r\n onChange={setPage}\r\n />\r\n ) : null}\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["e","c","t","chevronLeftBYkZnGJE","i","ellipsisDYyfMoY","chevronRightC69Yd7_","exports","s","require$$0","p","require$$1","a","require$$2","k","require$$3","v","require$$4","P","require$$5","g","r","j","m","d","h","f","x","n","w","b","o","u","R","E","l","N","q","S","y","csvData","data","key","value","Graph","props","width","height","onSeriesMouseClick","cardTemplate","cardBackgroundColor","cardMinWidth","detailsOnClick","noOfItemsInAPage","styles","classNames","page","allowDataDownloadOnDetail","selectedData","setSelectedData","useState","jsxs","Fragment","jsx","_d","string2HTML","Modal","CsvDownloadButton","FileDown","transformDefaultValue","defaultValue","el","filterByKeys","jsonArray","keys","substring","item","DataCards","graphTitle","sources","graphDescription","footNote","graphID","language","theme","ariaLabel","cardFilters","cardSortingOptions","cardSearchColumns","backgroundColor","padding","uiMode","cardData","setCardData","setPage","searchQuery","setSearchQuery","filterSettings","useMemo","getUniqValue","selectedFilters","setSelectedFilters","sortedBy","setSortedBy","filterConfig","useEffect","filteredData","filter","flattenDeep","intersection","sortBy","cn","GraphHeader","DropdownSelect","createFilter","prev","Search","Pagination","GraphFooter"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5]}