@undp/data-viz 1.3.0 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (572) hide show
  1. package/dist/AreaChart.cjs +2 -0
  2. package/dist/AreaChart.cjs.map +1 -0
  3. package/dist/AreaChart.js +530 -1
  4. package/dist/AreaChart.js.map +1 -1
  5. package/dist/Axis-DE7dSn1_.cjs +2 -0
  6. package/dist/{Axis-BlyBRMNw.cjs.map → Axis-DE7dSn1_.cjs.map} +1 -1
  7. package/dist/{Axis-CvK-w3E2.js → Axis-Ddg-seDi.js} +10 -11
  8. package/dist/{Axis-CvK-w3E2.js.map → Axis-Ddg-seDi.js.map} +1 -1
  9. package/dist/AxisTitle-BmHLMRJZ.js +20 -0
  10. package/dist/{AxisTitle-BeMxcw5I.js.map → AxisTitle-BmHLMRJZ.js.map} +1 -1
  11. package/dist/AxisTitle-CK9YeovX.cjs +2 -0
  12. package/dist/{AxisTitle-BY8MI9jC.cjs.map → AxisTitle-CK9YeovX.cjs.map} +1 -1
  13. package/dist/BarGraph.cjs +2 -0
  14. package/dist/BarGraph.cjs.map +1 -0
  15. package/dist/BarGraph.js +4043 -1
  16. package/dist/BarGraph.js.map +1 -1
  17. package/dist/BasicStatCard.cjs +2 -0
  18. package/dist/BasicStatCard.cjs.map +1 -0
  19. package/dist/BasicStatCard.js +190 -1
  20. package/dist/BasicStatCard.js.map +1 -1
  21. package/dist/BeeSwarmChart.cjs +2 -0
  22. package/dist/BeeSwarmChart.cjs.map +1 -0
  23. package/dist/BeeSwarmChart.d.ts +0 -8
  24. package/dist/BeeSwarmChart.js +1042 -1
  25. package/dist/BeeSwarmChart.js.map +1 -1
  26. package/dist/BiVariateChoroplethMap.cjs +2 -0
  27. package/dist/BiVariateChoroplethMap.cjs.map +1 -0
  28. package/dist/BiVariateChoroplethMap.js +720 -1
  29. package/dist/BiVariateChoroplethMap.js.map +1 -1
  30. package/dist/BulletChart.cjs +2 -0
  31. package/dist/BulletChart.cjs.map +1 -0
  32. package/dist/BulletChart.js +1431 -1
  33. package/dist/BulletChart.js.map +1 -1
  34. package/dist/ButterflyChart.cjs +2 -0
  35. package/dist/ButterflyChart.cjs.map +1 -0
  36. package/dist/ButterflyChart.js +692 -1
  37. package/dist/ButterflyChart.js.map +1 -1
  38. package/dist/ChoroplethMap.cjs +2 -0
  39. package/dist/ChoroplethMap.cjs.map +1 -0
  40. package/dist/ChoroplethMap.js +745 -1
  41. package/dist/ChoroplethMap.js.map +1 -1
  42. package/dist/CirclePackingGraph.cjs +2 -0
  43. package/dist/CirclePackingGraph.cjs.map +1 -0
  44. package/dist/CirclePackingGraph.d.ts +0 -8
  45. package/dist/CirclePackingGraph.js +14 -1
  46. package/dist/CirclePackingGraph.js.map +1 -1
  47. package/dist/ColorLegend.cjs +2 -0
  48. package/dist/ColorLegend.cjs.map +1 -0
  49. package/dist/ColorLegend.js +47 -1
  50. package/dist/ColorLegend.js.map +1 -1
  51. package/dist/ColorLegendWithMouseOver.cjs +2 -0
  52. package/dist/ColorLegendWithMouseOver.cjs.map +1 -0
  53. package/dist/ColorLegendWithMouseOver.js +70 -1
  54. package/dist/ColorLegendWithMouseOver.js.map +1 -1
  55. package/dist/Colors.cjs +2 -0
  56. package/dist/Colors.cjs.map +1 -0
  57. package/dist/Colors.js +561 -1
  58. package/dist/Colors.js.map +1 -1
  59. package/dist/CopyTextButton.cjs +17 -0
  60. package/dist/CopyTextButton.cjs.map +1 -0
  61. package/dist/CopyTextButton.js +698 -16
  62. package/dist/CopyTextButton.js.map +1 -1
  63. package/dist/CsvDownloadButton.cjs +23 -0
  64. package/dist/CsvDownloadButton.cjs.map +1 -0
  65. package/dist/CsvDownloadButton.js +852 -7
  66. package/dist/CsvDownloadButton.js.map +1 -1
  67. package/dist/DataCards.cjs +2 -0
  68. package/dist/DataCards.cjs.map +1 -0
  69. package/dist/DataCards.js +14 -1
  70. package/dist/DataCards.js.map +1 -1
  71. package/dist/DataTable.cjs +2 -0
  72. package/dist/DataTable.cjs.map +1 -0
  73. package/dist/DataTable.js +331 -1
  74. package/dist/DataTable.js.map +1 -1
  75. package/dist/DifferenceLineChart.cjs +2 -0
  76. package/dist/DifferenceLineChart.cjs.map +1 -0
  77. package/dist/DifferenceLineChart.js +805 -1
  78. package/dist/DifferenceLineChart.js.map +1 -1
  79. package/dist/DonutChart.cjs +2 -0
  80. package/dist/DonutChart.cjs.map +1 -0
  81. package/dist/DonutChart.js +478 -1
  82. package/dist/DonutChart.js.map +1 -1
  83. package/dist/DotDensityMap.cjs +2 -0
  84. package/dist/DotDensityMap.cjs.map +1 -0
  85. package/dist/DotDensityMap.js +600 -1
  86. package/dist/DotDensityMap.js.map +1 -1
  87. package/dist/DropdownSelect-0I2QxaVy.cjs +29 -0
  88. package/dist/DropdownSelect-0I2QxaVy.cjs.map +1 -0
  89. package/dist/DropdownSelect-CDC9lEqU.js +4193 -0
  90. package/dist/DropdownSelect-CDC9lEqU.js.map +1 -0
  91. package/dist/DualAxisLineChart.cjs +2 -0
  92. package/dist/DualAxisLineChart.cjs.map +1 -0
  93. package/dist/DualAxisLineChart.js +699 -1
  94. package/dist/DualAxisLineChart.js.map +1 -1
  95. package/dist/DumbbellChart.cjs +2 -0
  96. package/dist/DumbbellChart.cjs.map +1 -0
  97. package/dist/DumbbellChart.js +1510 -1
  98. package/dist/DumbbellChart.js.map +1 -1
  99. package/dist/{EmptyState-b2Ln487i.js → EmptyState-DdTp-Mdn.js} +8 -8
  100. package/dist/{EmptyState-b2Ln487i.js.map → EmptyState-DdTp-Mdn.js.map} +1 -1
  101. package/dist/EmptyState-d8_8SxeW.cjs +2 -0
  102. package/dist/{EmptyState-BQguKAp5.cjs.map → EmptyState-d8_8SxeW.cjs.map} +1 -1
  103. package/dist/ExcelDownloadButton.cjs +2 -0
  104. package/dist/ExcelDownloadButton.cjs.map +1 -0
  105. package/dist/ExcelDownloadButton.js +29 -1
  106. package/dist/ExcelDownloadButton.js.map +1 -1
  107. package/dist/FootNote.cjs +2 -0
  108. package/dist/FootNote.cjs.map +1 -0
  109. package/dist/FootNote.js +20 -1
  110. package/dist/FootNote.js.map +1 -1
  111. package/dist/GeoHubCompareMaps.cjs +2 -0
  112. package/dist/GeoHubCompareMaps.cjs.map +1 -0
  113. package/dist/GeoHubCompareMaps.js +370 -1
  114. package/dist/GeoHubCompareMaps.js.map +1 -1
  115. package/dist/GeoHubMap.cjs +2 -0
  116. package/dist/GeoHubMap.cjs.map +1 -0
  117. package/dist/GeoHubMap.js +429 -1
  118. package/dist/GeoHubMap.js.map +1 -1
  119. package/dist/GeoHubMapWithLayerSelection.cjs +2 -0
  120. package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -0
  121. package/dist/GeoHubMapWithLayerSelection.js +307 -1
  122. package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
  123. package/dist/GraphDescription.cjs +2 -0
  124. package/dist/GraphDescription.cjs.map +1 -0
  125. package/dist/GraphDescription.js +20 -1
  126. package/dist/GraphDescription.js.map +1 -1
  127. package/dist/GraphFooter.cjs +2 -0
  128. package/dist/GraphFooter.cjs.map +1 -0
  129. package/dist/GraphFooter.js +21 -1
  130. package/dist/GraphFooter.js.map +1 -1
  131. package/dist/GraphHeader.cjs +2 -0
  132. package/dist/GraphHeader.cjs.map +1 -0
  133. package/dist/GraphHeader.js +63 -1
  134. package/dist/GraphHeader.js.map +1 -1
  135. package/dist/GraphTitle.cjs +2 -0
  136. package/dist/GraphTitle.cjs.map +1 -0
  137. package/dist/GraphTitle.js +28 -1
  138. package/dist/GraphTitle.js.map +1 -1
  139. package/dist/GriddedGraphs.cjs +2 -0
  140. package/dist/GriddedGraphs.cjs.map +1 -0
  141. package/dist/GriddedGraphs.js +482 -1
  142. package/dist/GriddedGraphs.js.map +1 -1
  143. package/dist/GriddedGraphsFromConfig.cjs +2 -0
  144. package/dist/GriddedGraphsFromConfig.cjs.map +1 -0
  145. package/dist/GriddedGraphsFromConfig.js +42 -1
  146. package/dist/GriddedGraphsFromConfig.js.map +1 -1
  147. package/dist/HeatMap.cjs +2 -0
  148. package/dist/HeatMap.cjs.map +1 -0
  149. package/dist/HeatMap.js +451 -1
  150. package/dist/HeatMap.js.map +1 -1
  151. package/dist/Histogram.cjs +2 -0
  152. package/dist/Histogram.cjs.map +1 -0
  153. package/dist/Histogram.js +287 -1
  154. package/dist/Histogram.js.map +1 -1
  155. package/dist/ImageDownloadButton.cjs +2 -0
  156. package/dist/ImageDownloadButton.cjs.map +1 -0
  157. package/dist/ImageDownloadButton.js +28 -1
  158. package/dist/ImageDownloadButton.js.map +1 -1
  159. package/dist/LineChartWithConfidenceInterval.cjs +2 -0
  160. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -0
  161. package/dist/LineChartWithConfidenceInterval.js +818 -1
  162. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  163. package/dist/LinearColorLegend.cjs +2 -0
  164. package/dist/LinearColorLegend.cjs.map +1 -0
  165. package/dist/LinearColorLegend.js +33 -1
  166. package/dist/LinearColorLegend.js.map +1 -1
  167. package/dist/Modal-CUU6ZK3U.js +1019 -0
  168. package/dist/Modal-CUU6ZK3U.js.map +1 -0
  169. package/dist/Modal-C_dl0EtQ.cjs +46 -0
  170. package/dist/Modal-C_dl0EtQ.cjs.map +1 -0
  171. package/dist/MultiGraphDashboard.cjs +2 -0
  172. package/dist/MultiGraphDashboard.cjs.map +1 -0
  173. package/dist/MultiGraphDashboard.js +303 -1
  174. package/dist/MultiGraphDashboard.js.map +1 -1
  175. package/dist/MultiGraphDashboardFromConfig.cjs +2 -0
  176. package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -0
  177. package/dist/MultiGraphDashboardFromConfig.js +37 -1
  178. package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
  179. package/dist/MultiGraphDashboardWideToLongFormat.cjs +2 -0
  180. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -0
  181. package/dist/MultiGraphDashboardWideToLongFormat.js +243 -1
  182. package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
  183. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +2 -0
  184. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -0
  185. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +30 -1
  186. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
  187. package/dist/MultiLineAltChart.cjs +2 -0
  188. package/dist/MultiLineAltChart.cjs.map +1 -0
  189. package/dist/MultiLineAltChart.js +689 -1
  190. package/dist/MultiLineAltChart.js.map +1 -1
  191. package/dist/MultiLineChart.cjs +2 -0
  192. package/dist/MultiLineChart.cjs.map +1 -0
  193. package/dist/MultiLineChart.js +722 -1
  194. package/dist/MultiLineChart.js.map +1 -1
  195. package/dist/ParetoChart.cjs +2 -0
  196. package/dist/ParetoChart.cjs.map +1 -0
  197. package/dist/ParetoChart.js +636 -1
  198. package/dist/ParetoChart.js.map +1 -1
  199. package/dist/RadarChart.cjs +2 -0
  200. package/dist/RadarChart.cjs.map +1 -0
  201. package/dist/RadarChart.js +677 -1
  202. package/dist/RadarChart.js.map +1 -1
  203. package/dist/{ReferenceLine-BgDdQbDI.js → ReferenceLine-C1GpoG9d.js} +33 -34
  204. package/dist/ReferenceLine-C1GpoG9d.js.map +1 -0
  205. package/dist/ReferenceLine-CuFMk0cI.cjs +2 -0
  206. package/dist/ReferenceLine-CuFMk0cI.cjs.map +1 -0
  207. package/dist/RegressionLine-7_rKTHN_.cjs +2 -0
  208. package/dist/{RegressionLine-BfpCuD7B.cjs.map → RegressionLine-7_rKTHN_.cjs.map} +1 -1
  209. package/dist/{RegressionLine-cSljpHaE.js → RegressionLine-BFwDCTUU.js} +17 -18
  210. package/dist/{RegressionLine-cSljpHaE.js.map → RegressionLine-BFwDCTUU.js.map} +1 -1
  211. package/dist/SVGDownloadButton.cjs +2 -0
  212. package/dist/SVGDownloadButton.cjs.map +1 -0
  213. package/dist/SVGDownloadButton.js +28 -1
  214. package/dist/SVGDownloadButton.js.map +1 -1
  215. package/dist/SankeyChart.cjs +2 -0
  216. package/dist/SankeyChart.cjs.map +1 -0
  217. package/dist/SankeyChart.js +989 -1
  218. package/dist/SankeyChart.js.map +1 -1
  219. package/dist/ScatterPlot.cjs +2 -0
  220. package/dist/ScatterPlot.cjs.map +1 -0
  221. package/dist/ScatterPlot.js +828 -1
  222. package/dist/ScatterPlot.js.map +1 -1
  223. package/dist/ScrollStory.cjs +2 -0
  224. package/dist/ScrollStory.cjs.map +1 -0
  225. package/dist/ScrollStory.js +105 -1
  226. package/dist/ScrollStory.js.map +1 -1
  227. package/dist/SimpleLineChart.cjs +2 -0
  228. package/dist/SimpleLineChart.cjs.map +1 -0
  229. package/dist/SimpleLineChart.js +619 -1
  230. package/dist/SimpleLineChart.js.map +1 -1
  231. package/dist/SingleGraphDashboard.cjs +2 -0
  232. package/dist/SingleGraphDashboard.cjs.map +1 -0
  233. package/dist/SingleGraphDashboard.js +522 -1
  234. package/dist/SingleGraphDashboard.js.map +1 -1
  235. package/dist/SingleGraphDashboardFromConfig.cjs +2 -0
  236. package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -0
  237. package/dist/SingleGraphDashboardFromConfig.js +34 -1
  238. package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
  239. package/dist/SlopeChart.cjs +2 -0
  240. package/dist/SlopeChart.cjs.map +1 -0
  241. package/dist/SlopeChart.js +582 -1
  242. package/dist/SlopeChart.js.map +1 -1
  243. package/dist/Source.cjs +2 -0
  244. package/dist/Source.cjs.map +1 -0
  245. package/dist/Source.js +40 -1
  246. package/dist/Source.js.map +1 -1
  247. package/dist/SparkLine.cjs +2 -0
  248. package/dist/SparkLine.cjs.map +1 -0
  249. package/dist/SparkLine.js +320 -1
  250. package/dist/SparkLine.js.map +1 -1
  251. package/dist/Spinner-C85UF28E.js +30 -0
  252. package/dist/Spinner-C85UF28E.js.map +1 -0
  253. package/dist/Spinner-DA6Z5E4n.cjs +2 -0
  254. package/dist/Spinner-DA6Z5E4n.cjs.map +1 -0
  255. package/dist/StatCardFromData.cjs +2 -0
  256. package/dist/StatCardFromData.cjs.map +1 -0
  257. package/dist/StatCardFromData.js +249 -1
  258. package/dist/StatCardFromData.js.map +1 -1
  259. package/dist/StripChart.cjs +2 -0
  260. package/dist/StripChart.cjs.map +1 -0
  261. package/dist/StripChart.js +988 -1
  262. package/dist/StripChart.js.map +1 -1
  263. package/dist/ThreeDGlobe.cjs +2 -0
  264. package/dist/ThreeDGlobe.cjs.map +1 -0
  265. package/dist/ThreeDGlobe.js +451 -1
  266. package/dist/ThreeDGlobe.js.map +1 -1
  267. package/dist/ThresholdColorLegendWithMouseOver.cjs +2 -0
  268. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -0
  269. package/dist/ThresholdColorLegendWithMouseOver.js +130 -1
  270. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  271. package/dist/{Tooltip-CzZ1wFyF.js → Tooltip-DyM5snqx.js} +15 -16
  272. package/dist/{Tooltip-CzZ1wFyF.js.map → Tooltip-DyM5snqx.js.map} +1 -1
  273. package/dist/Tooltip-n8z5bfav.cjs +2 -0
  274. package/dist/{Tooltip-BM18N_3l.cjs.map → Tooltip-n8z5bfav.cjs.map} +1 -1
  275. package/dist/TreeMapGraph.cjs +2 -0
  276. package/dist/TreeMapGraph.cjs.map +1 -0
  277. package/dist/TreeMapGraph.js +760 -1
  278. package/dist/TreeMapGraph.js.map +1 -1
  279. package/dist/Types.cjs +2 -0
  280. package/dist/Types.cjs.map +1 -0
  281. package/dist/Types.js +1 -1
  282. package/dist/Typography-Ctgfl1J5.js +140 -0
  283. package/dist/Typography-Ctgfl1J5.js.map +1 -0
  284. package/dist/Typography-k-kOjICQ.cjs +2 -0
  285. package/dist/Typography-k-kOjICQ.cjs.map +1 -0
  286. package/dist/UnitChart.cjs +2 -0
  287. package/dist/UnitChart.cjs.map +1 -0
  288. package/dist/UnitChart.js +216 -1
  289. package/dist/UnitChart.js.map +1 -1
  290. package/dist/XAxesLabels-CJMQbfVy.cjs +2 -0
  291. package/dist/{XAxesLabels-C9REbQQs.cjs.map → XAxesLabels-CJMQbfVy.cjs.map} +1 -1
  292. package/dist/{XAxesLabels-DVw7Lvuz.js → XAxesLabels-DQFo_z2R.js} +21 -22
  293. package/dist/{XAxesLabels-DVw7Lvuz.js.map → XAxesLabels-DQFo_z2R.js.map} +1 -1
  294. package/dist/{XTicksAndGridLines-CUefTINd.js → XTicksAndGridLines-Bn9u5gOM.js} +19 -20
  295. package/dist/{XTicksAndGridLines-CUefTINd.js.map → XTicksAndGridLines-Bn9u5gOM.js.map} +1 -1
  296. package/dist/XTicksAndGridLines-CCzXIV8d.cjs +2 -0
  297. package/dist/{XTicksAndGridLines-DuK35ROS.cjs.map → XTicksAndGridLines-CCzXIV8d.cjs.map} +1 -1
  298. package/dist/YAxesLabels-BXLTX7AI.cjs +2 -0
  299. package/dist/{YAxesLabels-DhBdLk3Z.cjs.map → YAxesLabels-BXLTX7AI.cjs.map} +1 -1
  300. package/dist/{YAxesLabels-CYVY053X.js → YAxesLabels-H5-002X5.js} +11 -12
  301. package/dist/{YAxesLabels-CYVY053X.js.map → YAxesLabels-H5-002X5.js.map} +1 -1
  302. package/dist/{YTicksAndGridLines-BJRXuBdC.js → YTicksAndGridLines-B6ah7CRf.js} +14 -15
  303. package/dist/{YTicksAndGridLines-BJRXuBdC.js.map → YTicksAndGridLines-B6ah7CRf.js.map} +1 -1
  304. package/dist/YTicksAndGridLines-DBDuz6vb.cjs +2 -0
  305. package/dist/{YTicksAndGridLines-CtLvzExe.cjs.map → YTicksAndGridLines-DBDuz6vb.cjs.map} +1 -1
  306. package/dist/{checkIfMultiple-CaefP4X2.js → checkIfMultiple-BB7PlCNh.js} +1013 -518
  307. package/dist/checkIfMultiple-BB7PlCNh.js.map +1 -0
  308. package/dist/checkIfMultiple-D5ysrI7G.cjs +12 -0
  309. package/dist/checkIfMultiple-D5ysrI7G.cjs.map +1 -0
  310. package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs +2 -0
  311. package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs.map +1 -0
  312. package/dist/checkIfNullOrUndefined-DmfiKkNw.js +7 -0
  313. package/dist/checkIfNullOrUndefined-DmfiKkNw.js.map +1 -0
  314. package/dist/customArea-BYNyxAkm.cjs +2 -0
  315. package/dist/{customArea-B47Ew5cT.cjs.map → customArea-BYNyxAkm.cjs.map} +1 -1
  316. package/dist/{customArea-I3MsoqIl.js → customArea-CaxScFmW.js} +29 -30
  317. package/dist/{customArea-I3MsoqIl.js.map → customArea-CaxScFmW.js.map} +1 -1
  318. package/dist/excelDownload-BOA-lskf.js +19 -0
  319. package/dist/excelDownload-BOA-lskf.js.map +1 -0
  320. package/dist/excelDownload-BQpsCa62.cjs +2 -0
  321. package/dist/excelDownload-BQpsCa62.cjs.map +1 -0
  322. package/dist/fetchAndParseData-Bcmr659B.js +1196 -0
  323. package/dist/fetchAndParseData-Bcmr659B.js.map +1 -0
  324. package/dist/fetchAndParseData-DmgQtB9n.cjs +16 -0
  325. package/dist/fetchAndParseData-DmgQtB9n.cjs.map +1 -0
  326. package/dist/fetchAndParseData.cjs +2 -0
  327. package/dist/fetchAndParseData.cjs.map +1 -0
  328. package/dist/fetchAndParseData.js +9 -15
  329. package/dist/fetchAndParseData.js.map +1 -1
  330. package/dist/getGraphList-DuColTJM.js +265 -0
  331. package/dist/getGraphList-DuColTJM.js.map +1 -0
  332. package/dist/getGraphList-gf02xgT2.cjs +2 -0
  333. package/dist/getGraphList-gf02xgT2.cjs.map +1 -0
  334. package/dist/getJenks-TWQvbuOz.cjs +2 -0
  335. package/dist/getJenks-TWQvbuOz.cjs.map +1 -0
  336. package/dist/getJenks-VhM3GIoC.js +23 -0
  337. package/dist/getJenks-VhM3GIoC.js.map +1 -0
  338. package/dist/getSchema.cjs +2 -0
  339. package/dist/getSchema.cjs.map +1 -0
  340. package/dist/getSchema.js +910 -1
  341. package/dist/getSchema.js.map +1 -1
  342. package/dist/getSliderMarks-C0jptXeP.js +1054 -0
  343. package/dist/getSliderMarks-C0jptXeP.js.map +1 -0
  344. package/dist/getSliderMarks-CtsEXiLV.cjs +6 -0
  345. package/dist/getSliderMarks-CtsEXiLV.cjs.map +1 -0
  346. package/dist/getTextColorBasedOnBgColor-B6Nk2WBf.js +28 -0
  347. package/dist/getTextColorBasedOnBgColor-B6Nk2WBf.js.map +1 -0
  348. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs +2 -0
  349. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs.map +1 -0
  350. package/dist/getUniqValue-BtUENB2H.js +20 -0
  351. package/dist/getUniqValue-BtUENB2H.js.map +1 -0
  352. package/dist/getUniqValue-CHqgSss5.cjs +2 -0
  353. package/dist/getUniqValue-CHqgSss5.cjs.map +1 -0
  354. package/dist/imageDownload-CgDcm1Sj.cjs +3 -0
  355. package/dist/imageDownload-CgDcm1Sj.cjs.map +1 -0
  356. package/dist/imageDownload-Dcci2LEy.js +495 -0
  357. package/dist/imageDownload-Dcci2LEy.js.map +1 -0
  358. package/dist/index-BVnYktl4.js +435 -0
  359. package/dist/index-BVnYktl4.js.map +1 -0
  360. package/dist/index-BW_-wD2k.cjs +2 -0
  361. package/dist/index-BW_-wD2k.cjs.map +1 -0
  362. package/dist/{index-DXmF_0ez.js → index-BmCqpO1B.js} +74 -40
  363. package/dist/index-BmCqpO1B.js.map +1 -0
  364. package/dist/{index-Db-Yg_Ud.js → index-BxAUvrua.js} +19 -19
  365. package/dist/{index-Db-Yg_Ud.js.map → index-BxAUvrua.js.map} +1 -1
  366. package/dist/index-CHPV5EwG-BPSP-7Jg.js +3341 -0
  367. package/dist/index-CHPV5EwG-BPSP-7Jg.js.map +1 -0
  368. package/dist/index-CHPV5EwG-DDoeWRVt.cjs +44 -0
  369. package/dist/index-CHPV5EwG-DDoeWRVt.cjs.map +1 -0
  370. package/dist/index-CylX-pWB.cjs +2 -0
  371. package/dist/{index-BYroABPm.cjs.map → index-CylX-pWB.cjs.map} +1 -1
  372. package/dist/index-D9h2WYDS.cjs +22 -0
  373. package/dist/index-D9h2WYDS.cjs.map +1 -0
  374. package/dist/index-DG3YrCr5-D3FrrXj8.js +459 -0
  375. package/dist/index-DG3YrCr5-D3FrrXj8.js.map +1 -0
  376. package/dist/index-DG3YrCr5-v7rayV3N.cjs +2 -0
  377. package/dist/index-DG3YrCr5-v7rayV3N.cjs.map +1 -0
  378. package/dist/index-DVOJ7vxH.cjs +10 -0
  379. package/dist/{index-a2C2Bqn2.cjs.map → index-DVOJ7vxH.cjs.map} +1 -1
  380. package/dist/index-D_n8aamX.cjs +2 -0
  381. package/dist/index-D_n8aamX.cjs.map +1 -0
  382. package/dist/index-OCoyy1wG.js +635 -0
  383. package/dist/index-OCoyy1wG.js.map +1 -0
  384. package/dist/{index-DzdwZ2OA.js → index-n_RI8T0n.js} +3 -3
  385. package/dist/{index-DzdwZ2OA.js.map → index-n_RI8T0n.js.map} +1 -1
  386. package/dist/index-tvAyXPPW-DBlMKnNB.js +47 -0
  387. package/dist/index-tvAyXPPW-DBlMKnNB.js.map +1 -0
  388. package/dist/index-tvAyXPPW-DPOG-C2i.cjs +2 -0
  389. package/dist/index-tvAyXPPW-DPOG-C2i.cjs.map +1 -0
  390. package/dist/index.cjs +2 -0
  391. package/dist/index.cjs.map +1 -0
  392. package/dist/index.d.ts +1 -5
  393. package/dist/index.js +180 -1
  394. package/dist/index.js.map +1 -1
  395. package/dist/numberFormattingFunction-02t-wJta.cjs +2 -0
  396. package/dist/numberFormattingFunction-02t-wJta.cjs.map +1 -0
  397. package/dist/numberFormattingFunction-14YCbkN2.js +13 -0
  398. package/dist/numberFormattingFunction-14YCbkN2.js.map +1 -0
  399. package/dist/{use-in-view-CZPXmTZM.js → proxy-DJxJg1kD.js} +699 -732
  400. package/dist/proxy-DJxJg1kD.js.map +1 -0
  401. package/dist/{use-in-view-Dl1CsAIo.cjs → proxy-PQd2AItT.cjs} +2 -2
  402. package/dist/proxy-PQd2AItT.cjs.map +1 -0
  403. package/dist/removeOutliers-DR48e-18.js +57 -0
  404. package/dist/removeOutliers-DR48e-18.js.map +1 -0
  405. package/dist/removeOutliers-WELHHqiI.cjs +2 -0
  406. package/dist/removeOutliers-WELHHqiI.cjs.map +1 -0
  407. package/dist/{string2HTML-BX0oNw83.js → string2HTML-CWHGfz_d.js} +2 -2
  408. package/dist/{string2HTML-BX0oNw83.js.map → string2HTML-CWHGfz_d.js.map} +1 -1
  409. package/dist/{string2HTML-X4ZYX5jI.cjs → string2HTML-D2Avudmb.cjs} +2 -2
  410. package/dist/{string2HTML-X4ZYX5jI.cjs.map → string2HTML-D2Avudmb.cjs.map} +1 -1
  411. package/dist/svgDownload-C2-E3yf2.js +9 -0
  412. package/dist/svgDownload-C2-E3yf2.js.map +1 -0
  413. package/dist/svgDownload-D9zEGjTF.cjs +2 -0
  414. package/dist/svgDownload-D9zEGjTF.cjs.map +1 -0
  415. package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs +4 -0
  416. package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs.map +1 -0
  417. package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js +145 -0
  418. package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js.map +1 -0
  419. package/dist/transformData.cjs +2 -0
  420. package/dist/transformData.cjs.map +1 -0
  421. package/dist/transformData.d.ts +170 -0
  422. package/dist/transformData.js +10 -0
  423. package/dist/transformData.js.map +1 -0
  424. package/dist/transformDataForAggregation-BUGJnson.cjs +2 -0
  425. package/dist/transformDataForAggregation-BUGJnson.cjs.map +1 -0
  426. package/dist/transformDataForAggregation-DAQJWGNL.js +759 -0
  427. package/dist/transformDataForAggregation-DAQJWGNL.js.map +1 -0
  428. package/dist/transformDataForGraphFromFile-CrntpaMU.cjs +2 -0
  429. package/dist/transformDataForGraphFromFile-CrntpaMU.cjs.map +1 -0
  430. package/dist/transformDataForGraphFromFile-DdNiOWeC.js +24 -0
  431. package/dist/transformDataForGraphFromFile-DdNiOWeC.js.map +1 -0
  432. package/dist/use-in-view-BAHrBy6b.js +40 -0
  433. package/dist/use-in-view-BAHrBy6b.js.map +1 -0
  434. package/dist/use-in-view-BCmzDU2O.cjs +2 -0
  435. package/dist/use-in-view-BCmzDU2O.cjs.map +1 -0
  436. package/dist/utils.cjs +2 -0
  437. package/dist/utils.cjs.map +1 -0
  438. package/dist/utils.d.ts +217 -0
  439. package/dist/utils.js +27 -0
  440. package/dist/utils.js.map +1 -0
  441. package/dist/validateSchema.cjs +2 -0
  442. package/dist/validateSchema.cjs.map +1 -0
  443. package/dist/validateSchema.js +104 -1
  444. package/dist/validateSchema.js.map +1 -1
  445. package/dist/x-CnsEH4Ox-CGGXQl4M.cjs +27 -0
  446. package/dist/x-CnsEH4Ox-CGGXQl4M.cjs.map +1 -0
  447. package/dist/x-CnsEH4Ox-DDvAJndW.js +101 -0
  448. package/dist/x-CnsEH4Ox-DDvAJndW.js.map +1 -0
  449. package/package.json +15 -90
  450. package/dist/Axis-BlyBRMNw.cjs +0 -2
  451. package/dist/AxisTitle-BY8MI9jC.cjs +0 -2
  452. package/dist/AxisTitle-BeMxcw5I.js +0 -21
  453. package/dist/DropdownSelect-CuzV7gdj.cjs +0 -29
  454. package/dist/DropdownSelect-CuzV7gdj.cjs.map +0 -1
  455. package/dist/DropdownSelect-DmZsXrhY.js +0 -2698
  456. package/dist/DropdownSelect-DmZsXrhY.js.map +0 -1
  457. package/dist/EmptyState-BQguKAp5.cjs +0 -2
  458. package/dist/Modal-C9txyGOk.js +0 -723
  459. package/dist/Modal-C9txyGOk.js.map +0 -1
  460. package/dist/Modal-cQF2UQIa.cjs +0 -46
  461. package/dist/Modal-cQF2UQIa.cjs.map +0 -1
  462. package/dist/ReferenceLine-BgDdQbDI.js.map +0 -1
  463. package/dist/ReferenceLine-Bsb5jeE4.cjs +0 -2
  464. package/dist/ReferenceLine-Bsb5jeE4.cjs.map +0 -1
  465. package/dist/RegressionLine-BfpCuD7B.cjs +0 -2
  466. package/dist/Spinner-DN3s4S0H.js +0 -17
  467. package/dist/Spinner-DN3s4S0H.js.map +0 -1
  468. package/dist/Spinner-UmN-KPe9.cjs +0 -2
  469. package/dist/Spinner-UmN-KPe9.cjs.map +0 -1
  470. package/dist/Tooltip-BM18N_3l.cjs +0 -2
  471. package/dist/Typography-CDR-DAHH.cjs +0 -2
  472. package/dist/Typography-CDR-DAHH.cjs.map +0 -1
  473. package/dist/Typography-XJoSE-By.js +0 -58
  474. package/dist/Typography-XJoSE-By.js.map +0 -1
  475. package/dist/XAxesLabels-C9REbQQs.cjs +0 -2
  476. package/dist/XTicksAndGridLines-DuK35ROS.cjs +0 -2
  477. package/dist/YAxesLabels-DhBdLk3Z.cjs +0 -2
  478. package/dist/YTicksAndGridLines-CtLvzExe.cjs +0 -2
  479. package/dist/checkIfMultiple-CaefP4X2.js.map +0 -1
  480. package/dist/checkIfMultiple-D3h8to1T.cjs +0 -12
  481. package/dist/checkIfMultiple-D3h8to1T.cjs.map +0 -1
  482. package/dist/checkIfNullOrUndefined.d.ts +0 -15
  483. package/dist/checkIfNullOrUndefined.js +0 -2
  484. package/dist/checkIfNullOrUndefined.js.map +0 -1
  485. package/dist/customArea-B47Ew5cT.cjs +0 -2
  486. package/dist/excelDownload.d.ts +0 -31
  487. package/dist/excelDownload.js +0 -2
  488. package/dist/excelDownload.js.map +0 -1
  489. package/dist/generateCodes.d.ts +0 -25
  490. package/dist/generateCodes.js +0 -2
  491. package/dist/generateCodes.js.map +0 -1
  492. package/dist/getJenks.d.ts +0 -17
  493. package/dist/getJenks.js +0 -2
  494. package/dist/getJenks.js.map +0 -1
  495. package/dist/getPercentileValue.d.ts +0 -13
  496. package/dist/getPercentileValue.js +0 -2
  497. package/dist/getPercentileValue.js.map +0 -1
  498. package/dist/getQueryParamsFromLink.d.ts +0 -18
  499. package/dist/getQueryParamsFromLink.js +0 -2
  500. package/dist/getQueryParamsFromLink.js.map +0 -1
  501. package/dist/getSliderMarks-CWajGCGq.js +0 -719
  502. package/dist/getSliderMarks-CWajGCGq.js.map +0 -1
  503. package/dist/getSliderMarks-DDJ1CdhL.cjs +0 -6
  504. package/dist/getSliderMarks-DDJ1CdhL.cjs.map +0 -1
  505. package/dist/getTextColorBasedOnBgColor.d.ts +0 -13
  506. package/dist/getTextColorBasedOnBgColor.js +0 -2
  507. package/dist/getTextColorBasedOnBgColor.js.map +0 -1
  508. package/dist/getUniqValue.d.ts +0 -18
  509. package/dist/getUniqValue.js +0 -2
  510. package/dist/getUniqValue.js.map +0 -1
  511. package/dist/graphList.d.ts +0 -9
  512. package/dist/graphList.js +0 -2
  513. package/dist/graphList.js.map +0 -1
  514. package/dist/imageDownload.d.ts +0 -16
  515. package/dist/imageDownload.js +0 -3
  516. package/dist/imageDownload.js.map +0 -1
  517. package/dist/index-01r5X3Gr-9jE0ObrK.cjs +0 -2
  518. package/dist/index-01r5X3Gr-9jE0ObrK.cjs.map +0 -1
  519. package/dist/index-01r5X3Gr-kH7FxQ7P.js +0 -451
  520. package/dist/index-01r5X3Gr-kH7FxQ7P.js.map +0 -1
  521. package/dist/index-BGMGC-HN.cjs +0 -22
  522. package/dist/index-BGMGC-HN.cjs.map +0 -1
  523. package/dist/index-BHm2KTjD-2e-Fu8L-.js +0 -702
  524. package/dist/index-BHm2KTjD-2e-Fu8L-.js.map +0 -1
  525. package/dist/index-BHm2KTjD-D8FylaKc.cjs +0 -44
  526. package/dist/index-BHm2KTjD-D8FylaKc.cjs.map +0 -1
  527. package/dist/index-BIPNFFja.js +0 -506
  528. package/dist/index-BIPNFFja.js.map +0 -1
  529. package/dist/index-BYroABPm.cjs +0 -2
  530. package/dist/index-CEc_9zWy.cjs +0 -2
  531. package/dist/index-CEc_9zWy.cjs.map +0 -1
  532. package/dist/index-CbVeVrla.cjs +0 -2
  533. package/dist/index-CbVeVrla.cjs.map +0 -1
  534. package/dist/index-CqzhBPuO-CfQywbdq.js +0 -41
  535. package/dist/index-CqzhBPuO-CfQywbdq.js.map +0 -1
  536. package/dist/index-CqzhBPuO-raKZqS7l.cjs +0 -2
  537. package/dist/index-CqzhBPuO-raKZqS7l.cjs.map +0 -1
  538. package/dist/index-DSnvdkHZ.js +0 -495
  539. package/dist/index-DSnvdkHZ.js.map +0 -1
  540. package/dist/index-DXmF_0ez.js.map +0 -1
  541. package/dist/index-a2C2Bqn2.cjs +0 -10
  542. package/dist/numberFormattingFunction.d.ts +0 -22
  543. package/dist/numberFormattingFunction.js +0 -2
  544. package/dist/numberFormattingFunction.js.map +0 -1
  545. package/dist/removeOutliers.d.ts +0 -16
  546. package/dist/removeOutliers.js +0 -2
  547. package/dist/removeOutliers.js.map +0 -1
  548. package/dist/svgDownload.d.ts +0 -16
  549. package/dist/svgDownload.js +0 -2
  550. package/dist/svgDownload.js.map +0 -1
  551. package/dist/toConsumableArray-BSMMWi3w-Cu4vcE-m.js +0 -139
  552. package/dist/toConsumableArray-BSMMWi3w-Cu4vcE-m.js.map +0 -1
  553. package/dist/toConsumableArray-BSMMWi3w-DJL7-zAp.cjs +0 -4
  554. package/dist/toConsumableArray-BSMMWi3w-DJL7-zAp.cjs.map +0 -1
  555. package/dist/transformColumnsToArray.d.ts +0 -38
  556. package/dist/transformColumnsToArray.js +0 -2
  557. package/dist/transformColumnsToArray.js.map +0 -1
  558. package/dist/transformDataForAggregation.d.ts +0 -38
  559. package/dist/transformDataForAggregation.js +0 -2
  560. package/dist/transformDataForAggregation.js.map +0 -1
  561. package/dist/transformDataForGraph.d.ts +0 -47
  562. package/dist/transformDataForGraph.js +0 -2
  563. package/dist/transformDataForGraph.js.map +0 -1
  564. package/dist/transformDataForGraphFromFile.d.ts +0 -66
  565. package/dist/transformDataForGraphFromFile.js +0 -2
  566. package/dist/transformDataForGraphFromFile.js.map +0 -1
  567. package/dist/use-in-view-CZPXmTZM.js.map +0 -1
  568. package/dist/use-in-view-Dl1CsAIo.cjs.map +0 -1
  569. package/dist/x-Dft9NVe_-DcB7wtv5.js +0 -61
  570. package/dist/x-Dft9NVe_-DcB7wtv5.js.map +0 -1
  571. package/dist/x-Dft9NVe_-LeyJu02C.cjs +0 -27
  572. package/dist/x-Dft9NVe_-LeyJu02C.cjs.map +0 -1
@@ -1,2 +1,1511 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./index-BHm2KTjD-D8FylaKc.cjs"),c=require("react"),Oe=require("./index-BzeLQvXk.cjs"),we=require("./parse-hMnG_lRV.cjs"),Ee=require("./Typography-CDR-DAHH.cjs"),je=require("./getSliderMarks-DDJ1CdhL.cjs"),Le=require("./index-CZbIGs8q.cjs"),Ve=require("./index-BXns0-ng.cjs"),$e=require("./Modal-cQF2UQIa.cjs"),Te=require("./numberFormattingFunction.js"),Ae=require("./Tooltip-BM18N_3l.cjs"),A=require("./checkIfNullOrUndefined.js"),qe=require("./string2HTML-X4ZYX5jI.cjs"),Je=require("./XTicksAndGridLines-DuK35ROS.cjs"),Fe=require("./AxisTitle-BY8MI9jC.cjs"),Qe=require("./YAxesLabels-DhBdLk3Z.cjs"),Pe=require("./YTicksAndGridLines-CtLvzExe.cjs"),Be=require("./ReferenceLine-Bsb5jeE4.cjs"),_=require("./use-in-view-Dl1CsAIo.cjs"),He=require("./linear-BVckp9RD.cjs"),We=require("./band-CAApY4Pd.cjs"),Ue=require("./index-a2C2Bqn2.cjs"),Ge=require("./GraphHeader.js"),Ye=require("./GraphFooter.js"),Xe=require("./ColorLegendWithMouseOver.js"),_e=require("./Colors.js"),ze=require("./EmptyState-BQguKAp5.cjs"),Ne=require("./index-CEc_9zWy.cjs"),ke=require("./ensureCompleteData-DqWQ2Zbi.cjs"),Ke=require("./init-DU0ybBc_.cjs"),Ze=require("./Axis-BlyBRMNw.cjs"),et=require("./XAxesLabels-C9REbQQs.cjs");function tt(ye){const{data:o,dotColors:p,suffix:z,prefix:K,barPadding:v,showValues:ue,showTicks:ee,leftMargin:te,truncateBy:ce,width:ie,height:ae,rightMargin:J,topMargin:N,bottomMargin:s,radius:q,showLabels:xe,tooltip:M,onSeriesMouseOver:F,maxValue:E,minValue:re,onSeriesMouseClick:B,selectedColor:I,arrowConnector:R,connectorStrokeWidth:pe,maxBarThickness:ne,minBarThickness:se,resetSelectionOnDoubleClick:ge,detailsOnClick:w,axisTitle:U,noOfTicks:fe,valueColor:oe,styles:x,classNames:m,labelOrder:D,refValues:le,rtl:y,animate:l,precision:O,customLayers:G,highlightedDataPoints:Y,dimmedOpacity:L}=ye,j=c.useRef(null),h=_.useInView(j,{once:l.once,amount:l.amount}),d={top:U?N+25:N,bottom:s,left:te,right:J},H=ie-d.left-d.right,W=ae-d.top-d.bottom,[Q,P]=c.useState(void 0),[C,b]=c.useState(void 0),[S,Z]=c.useState(void 0),[V,$]=c.useState(void 0),X=o.map((t,n)=>({...t,id:D?`${t.label}`:`${n}`})),k=D||X.map(t=>`${t.id}`),g=He.linear().domain([re,E]).range([0,H]).nice(),T=We.band().domain(k).range([0,se?Math.max(W,se*X.length):ne?Math.min(W,ne*X.length):W]).paddingInner(v),a=g.ticks(fe);return i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsxs(_.motion.svg,{width:`${ie}px`,height:`${ae}px`,viewBox:`0 0 ${ie} ${ae}`,direction:"ltr",ref:j,children:[R?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,i.jsxRuntimeExports.jsxs("g",{transform:`translate(${d.left},${d.top})`,children:[ee?i.jsxRuntimeExports.jsx(Je.XTicksAndGridLines,{values:a.filter((t,n)=>n!==0),x:a.filter((t,n)=>n!==0).map(t=>g(t)),y1:0-N,y2:W+d.bottom,styles:{gridLines:x?.xAxis?.gridLines,labels:x?.xAxis?.labels},classNames:{gridLines:m?.xAxis?.gridLines,labels:m?.xAxis?.labels},suffix:z,prefix:K,labelType:"secondary",showGridLines:!0,precision:O}):null,i.jsxRuntimeExports.jsx(Fe.AxisTitle,{x:H/2,y:0-d.top+15,style:x?.xAxis?.title,className:m?.xAxis?.title,text:U}),i.jsxRuntimeExports.jsx(Pe.YTicksAndGridLines,{y:X.map(t=>T(`${t.id}`)+T.bandwidth()/2),x1:0,x2:H,styles:{gridLines:x?.yAxis?.gridLines},classNames:{gridLines:m?.yAxis?.gridLines},labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:O}),G.filter(t=>t.position==="before").map(t=>t.layer),i.jsxRuntimeExports.jsxs(Ue.AnimatePresence,{children:[X.map(t=>i.jsxRuntimeExports.jsxs(_.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:0,y:T(`${t.id}`)+T.bandwidth()/2,opacity:Y.length!==0?Y.indexOf(t.label)!==-1?.85:L:.85},whileInView:{x:0,y:T(`${t.id}`)+T.bandwidth()/2,opacity:Y.length!==0?Y.indexOf(t.label)!==-1?.85:L:.85,transition:{duration:l.duration}}},initial:"initial",animate:h?"whileInView":"initial",exit:{opacity:0,transition:{duration:l.duration}},children:[xe?i.jsxRuntimeExports.jsx(Qe.YAxesLabels,{value:`${t.label}`.length<ce?`${t.label}`:`${`${t.label}`.substring(0,ce)}...`,y:0-T.bandwidth()/2,x:0-d.left,width:d.left,height:T.bandwidth(),alignment:"right",style:x?.yAxis?.labels,className:m?.yAxis?.labels,animate:l,isInView:h}):null,i.jsxRuntimeExports.jsx(_.motion.line,{y1:0,y2:0,style:{strokeWidth:pe,...x?.dataConnectors||{},opacity:I?.3:1},className:Ee.cnExports.cn("stroke-primary-gray-600 dark:stroke-primary-gray-300",m?.dataConnectors),markerEnd:R&&t.x.indexOf(Math.min(...t.x.filter(n=>n!==null)))===0?"url(#arrow)":"",markerStart:R&&t.x.indexOf(Math.min(...t.x.filter(n=>n!==null)))===t.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:l.duration}},variants:{initial:{x1:0,x2:0},whileInView:{x1:g(Math.min(...t.x.filter(n=>n!==null)))+q,x2:g(Math.max(...t.x.filter(n=>n!==null)))-q,transition:{duration:l.duration}}},initial:"initial",animate:h?"whileInView":"initial"}),t.x.map((n,f)=>i.jsxRuntimeExports.jsx(_.motion.g,{onMouseEnter:de=>{P({...t,xIndex:f}),$(de.clientY),Z(de.clientX),F?.({...t,xIndex:f})},onClick:()=>{(B||w)&&(Ve.isEqual(C,{...t,xIndex:f})&&ge?(b(void 0),B?.(void 0)):(b({...t,xIndex:f}),B&&B({...t,xIndex:f})))},onMouseMove:de=>{P({...t,xIndex:f}),$(de.clientY),Z(de.clientX)},onMouseLeave:()=>{P(void 0),Z(void 0),$(void 0),F?.(void 0)},exit:{opacity:0,transition:{duration:l.duration}},variants:{initial:{opacity:I?p[f]===I?1:.3:1},whileInView:{opacity:I?p[f]===I?1:.3:1,transition:{duration:l.duration}}},initial:"initial",animate:h?"whileInView":"initial",children:A.checkIfNullOrUndefined(n)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(_.motion.circle,{cy:0,r:q,style:{fill:p[f],fillOpacity:.85,stroke:p[f],strokeWidth:1,opacity:A.checkIfNullOrUndefined(n)?0:1},exit:{opacity:0,transition:{duration:l.duration}},variants:{initial:{cx:g(0),opacity:0},whileInView:{cx:g(n||0),opacity:A.checkIfNullOrUndefined(n)?0:1,transition:{duration:l.duration}}},initial:"initial",animate:h?"whileInView":"initial"}),ue?i.jsxRuntimeExports.jsx(_.motion.text,{y:0,style:{fill:oe||p[f],textAnchor:"middle",...x?.graphObjectValues||{}},dx:0,dy:0-q-3,className:Ee.cnExports.cn("graph-value text-sm font-bold",A.checkIfNullOrUndefined(n)?"0opacity-0":"opacity-100",m?.graphObjectValues),exit:{opacity:0,transition:{duration:l.duration}},variants:{initial:{x:g(0),opacity:0},whileInView:{x:g(n||0),opacity:1,transition:{duration:l.duration}}},initial:"initial",animate:h?"whileInView":"initial",children:Te.numberFormattingFunction(n,"NA",O,K,z)}):null]})},f))]},t.label)),le?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:le.map((t,n)=>i.jsxRuntimeExports.jsx(Be.RefLineX,{text:t.text,color:t.color,x:g(t.value),y1:0-d.top,y2:W+d.bottom,textSide:g(t.value)>H*.75||y?"left":"right",classNames:t.classNames,styles:t.styles,animate:l,isInView:h},n))}):null]}),G.filter(t=>t.position==="after").map(t=>t.layer)]})]}),Q&&M&&S&&V?i.jsxRuntimeExports.jsx(Ae.Tooltip,{data:Q,body:M,xPos:S,yPos:V,backgroundStyle:x?.tooltip,className:m?.tooltip}):null,w&&C!==void 0?i.jsxRuntimeExports.jsx($e.ModalExports.Modal,{open:C!==void 0,onClose:()=>{b(void 0)},children:i.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof w=="string"?{__html:qe.string2HTML(w,C)}:void 0,children:typeof w=="function"?w(C):null})}):null]})}function it(ye){const{data:o,graphTitle:p,colors:z=_e.Colors.light.categoricalColors.colors,sources:K,graphDescription:v,barPadding:ue=.25,showTicks:ee=!0,leftMargin:te=100,rightMargin:ce=40,topMargin:ie=20,bottomMargin:ae=10,truncateBy:J=999,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:M,padding:F,backgroundColor:E=!1,radius:re=3,showLabels:B=!0,tooltip:I,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se="",prefix:ge="",maxValue:w,minValue:U,onSeriesMouseClick:fe,graphDownload:oe=!1,dataDownload:x=!1,showValues:m=!0,sortParameter:D,arrowConnector:le=!1,connectorStrokeWidth:y=2,language:l="en",minHeight:O=0,theme:G="light",labelOrder:Y,maxBarThickness:L,maxNumberOfBars:j,minBarThickness:h,ariaLabel:d,resetSelectionOnDoubleClick:H=!0,detailsOnClick:W,axisTitle:Q,noOfTicks:P=5,valueColor:C,styles:b,classNames:S,refValues:Z,filterNA:V=!0,animate:$=!1,precision:X=2,customLayers:k=[],showColorScale:g=!0,highlightedDataPoints:T=[],dimmedOpacity:a=.3,timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0}}=ye,[n,f]=c.useState(0),[de,Re]=c.useState(0),[me,Ie]=c.useState(t.autoplay),u=je.sort(Le.uniqBy(o.filter(e=>e.date!==void 0&&e.date!==null),e=>e.date).map(e=>we.parse(`${e.date}`,t.dateFormat||"yyyy",new Date).getTime()),(e,r)=>Ke.ascending(e,r)),[be,ve]=c.useState(t.autoplay?0:u.length-1),[De,Se]=c.useState(void 0),he=c.useRef(null),Ce=c.useRef(null);c.useEffect(()=>{const e=new ResizeObserver(r=>{f(s||r[0].target.clientWidth||620),Re(N||r[0].target.clientHeight||480)});return he.current&&(Re(he.current.clientHeight||480),f(he.current.clientWidth||620),s||e.observe(he.current)),()=>e.disconnect()},[s,N]),c.useEffect(()=>{const e=setInterval(()=>{ve(r=>r<u.length-1?r+1:0)},(t.speed||2)*1e3);return me||clearInterval(e),()=>clearInterval(e)},[u,me,t.speed]);const Me=je.getSliderMarks(u,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return i.jsxRuntimeExports.jsx("div",{className:`${G||"light"} flex ${s?"w-fit grow-0":"w-full grow"}`,dir:l==="he"||l==="ar"?"rtl":void 0,children:i.jsxRuntimeExports.jsx("div",{className:Ee.cnExports.cn(`${E?E===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${l||"en"}`,S?.graphContainer),style:{...b?.graphContainer||{},...E&&E!==!0?{backgroundColor:E}:{}},id:ne,ref:Ce,"aria-label":d||`${p?`The graph shows ${p}. `:""}This is a dumbbell chart that shows comparisons between two or more data points across categories. ${v?` ${v}`:""}`,children:i.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:E?F||"1rem":F||0},children:i.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||v||oe||x?i.jsxRuntimeExports.jsx(Ge.GraphHeader,{styles:{title:b?.title,description:b?.description},classNames:{title:S?.title,description:S?.description},graphTitle:p,graphDescription:v,width:s,graphDownload:oe?Ce.current:void 0,dataDownload:x?o.map(e=>e.data).filter(e=>e!==void 0).length>0?o.map(e=>e.data).filter(e=>e!==void 0):o.filter(e=>e!==void 0):null}):null,t.enabled&&u.length>0&&Me?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Ie(!me)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":me?"Click to pause animation":"Click to play animation",children:me?i.jsxRuntimeExports.jsx(Ne.Pause,{}):i.jsxRuntimeExports.jsx(Ne.Play,{})}),i.jsxRuntimeExports.jsx(je.SliderUIExports.SliderUI,{min:u[0],max:u[u.length-1],marks:Me,step:null,defaultValue:u[u.length-1],value:u[be],onChangeComplete:e=>{ve(u.indexOf(e))},onChange:e=>{ve(u.indexOf(e))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,i.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?i.jsxRuntimeExports.jsx(ze.EmptyState,{}):i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[g?i.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:s,colorDomain:xe,colors:z,colorLegendTitle:M,setSelectedColor:Se,showNAColor:!1}):null,i.jsxRuntimeExports.jsx("div",{className:"flex grow w-full justify-center leading-0",ref:he,"aria-label":"Graph area",children:(s||n)&&(N||de)?i.jsxRuntimeExports.jsx(tt,{data:D!==void 0?D==="diff"?Oe.sortBy(ke.ensureCompleteDataForDumbbellChart(o,t.dateFormat||"yyyy").filter(e=>t.enabled?e.date===we.format(new Date(u[be]),t.dateFormat||"yyyy"):e).filter(e=>V?!e.x.every(r=>r==null):e),e=>A.checkIfNullOrUndefined(e.x[e.x.length-1])||A.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0]).reverse().filter((e,r)=>j?r<j:!0):Oe.sortBy(ke.ensureCompleteDataForDumbbellChart(o,t.dateFormat||"yyyy").filter(e=>t.enabled?e.date===we.format(new Date(u[be]),t.dateFormat||"yyyy"):e).filter(e=>V?!e.x.every(r=>r==null):e),e=>A.checkIfNullOrUndefined(e.x[D])?-1/0:e.x[D]).reverse().filter((e,r)=>j?r<j:!0):ke.ensureCompleteDataForDumbbellChart(o,t.dateFormat||"yyyy").filter(e=>V?!e.x.every(r=>r==null):e).filter((e,r)=>j?r<j:!0),dotColors:z,width:s||n,height:Math.max(O,N||(R?O?(s||n)*R>O?(s||n)*R:O:(s||n)*R:de)),suffix:se,prefix:ge,radius:re,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:J,showLabels:B,showValues:m,tooltip:I,onSeriesMouseOver:pe,maxValue:A.checkIfNullOrUndefined(w)?Math.max(...o.map(e=>Math.max(...e.x.filter(r=>r!==null))))<0?0:Math.max(...o.map(e=>Math.max(...e.x.filter(r=>r!==null)))):w,minValue:A.checkIfNullOrUndefined(U)?Math.min(...o.map(e=>Math.min(...e.x.filter(r=>r!==null))))>0?0:Math.min(...o.map(e=>Math.min(...e.x.filter(r=>r!==null)))):U,onSeriesMouseClick:fe,selectedColor:De,arrowConnector:le,connectorStrokeWidth:y,maxBarThickness:L,minBarThickness:h,resetSelectionOnDoubleClick:H,detailsOnClick:W,axisTitle:Q,noOfTicks:P,valueColor:C,styles:b,classNames:S,labelOrder:Y,refValues:Z,rtl:l==="he"||l==="ar",animate:$===!0?{duration:.5,once:!0,amount:.5}:$||{duration:0,once:!0,amount:0},precision:X,customLayers:k,highlightedDataPoints:T,dimmedOpacity:a}):null})]})}),K||q?i.jsxRuntimeExports.jsx(Ye.GraphFooter,{styles:{footnote:b?.footnote,source:b?.source},classNames:{footnote:S?.footnote,source:S?.source},sources:K,footNote:q,width:s}):null]})})})})}function at(ye){const{data:o,dotColors:p,barPadding:z,showTicks:K,leftMargin:v,truncateBy:ue,width:ee,height:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,radius:J,showLabels:N,tooltip:s,onSeriesMouseOver:q,maxValue:xe,minValue:M,onSeriesMouseClick:F,showValues:E,suffix:re,prefix:B,selectedColor:I,arrowConnector:R,connectorStrokeWidth:pe,maxBarThickness:ne,minBarThickness:se,resetSelectionOnDoubleClick:ge,detailsOnClick:w,axisTitle:U,noOfTicks:fe,valueColor:oe,styles:x,classNames:m,labelOrder:D,refValues:le,animate:y,precision:l,customLayers:O,highlightedDataPoints:G,dimmedOpacity:Y}=ye,L=c.useRef(null),j=_.useInView(L,{once:y.once,amount:y.amount}),h={top:ie,bottom:ae,left:U?v+30:v,right:ce},d=ee-h.left-h.right,H=te-h.top-h.bottom,[W,Q]=c.useState(void 0),[P,C]=c.useState(void 0),[b,S]=c.useState(void 0),[Z,V]=c.useState(void 0),$=o.map((a,t)=>({...a,id:D?`${a.label}`:`${t}`})),X=D||$.map(a=>`${a.id}`),k=He.linear().domain([M,xe]).range([H,0]).nice(),g=We.band().domain(X).range([0,se?Math.max(d,se*$.length):ne?Math.min(d,ne*$.length):d]).paddingInner(z),T=k.ticks(fe);return i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsxs(_.motion.svg,{width:`${ee}px`,height:`${te}px`,viewBox:`0 0 ${ee} ${te}`,direction:"ltr",ref:L,children:[R?i.jsxRuntimeExports.jsx("defs",{children:i.jsxRuntimeExports.jsx("marker",{id:"arrow",viewBox:"0 0 10 10",refX:"10",refY:"5",markerWidth:"6",markerHeight:"6",orient:"auto-start-reverse",children:i.jsxRuntimeExports.jsx("path",{d:"M 0 0 L 10 5 L 0 10 z",className:"fill-primary-gray-600 dark:fill-primary-gray-300"})})}):null,i.jsxRuntimeExports.jsxs("g",{transform:`translate(${h.left},${h.top})`,children:[i.jsxRuntimeExports.jsx(Ze.Axis,{y1:k(M<0?0:M),y2:k(M<0?0:M),x1:0-v,x2:d+h.right,label:Te.numberFormattingFunction(M<0?0:M,"NA",l,B,re),labelPos:{x:0-v,dx:0,dy:xe<0?"1em":-5,y:k(M<0?0:M)},classNames:{axis:m?.xAxis?.axis,label:m?.yAxis?.labels},styles:{axis:x?.xAxis?.axis,label:x?.yAxis?.labels}}),K?i.jsxRuntimeExports.jsx(Pe.YTicksAndGridLines,{values:T.filter(a=>a!==0),y:T.filter(a=>a!==0).map(a=>k(a)),x1:0-v,x2:d+h.right,styles:{gridLines:x?.yAxis?.gridLines,labels:x?.yAxis?.labels},classNames:{gridLines:m?.yAxis?.gridLines,labels:m?.yAxis?.labels},suffix:re,prefix:B,labelType:"secondary",showGridLines:!0,labelPos:"vertical",precision:l}):null,i.jsxRuntimeExports.jsx(Fe.AxisTitle,{x:0-v-15,y:H/2,style:x?.yAxis?.title,className:m?.yAxis?.title,text:U,rotate90:!0}),O.filter(a=>a.position==="before").map(a=>a.layer),i.jsxRuntimeExports.jsxs(Ue.AnimatePresence,{children:[$.map(a=>i.jsxRuntimeExports.jsxs(_.motion.g,{className:"undp-viz-g-with-hover",variants:{initial:{x:g(`${a.id}`)+g.bandwidth()/2,y:0,opacity:G.length!==0?G.indexOf(a.label)!==-1?.85:Y:.85},whileInView:{x:g(`${a.id}`)+g.bandwidth()/2,y:0,opacity:G.length!==0?G.indexOf(a.label)!==-1?.85:Y:.85,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial",exit:{opacity:0,transition:{duration:y.duration}},children:[N?i.jsxRuntimeExports.jsx(et.XAxesLabels,{value:`${a.label}`.length<ue?`${a.label}`:`${`${a.label}`.substring(0,ue)}...`,y:H+5,x:0-g.bandwidth()/2,width:g.bandwidth(),height:h.bottom,style:x?.xAxis?.labels,className:m?.xAxis?.labels,alignment:"top",animate:y,isInView:j}):null,i.jsxRuntimeExports.jsx(_.motion.line,{x1:0,x2:0,style:{strokeWidth:pe,...x?.dataConnectors||{},opacity:I?.3:1},className:Ee.cnExports.cn("stroke-primary-gray-600 dark:stroke-primary-gray-300",m?.dataConnectors),markerEnd:R&&a.x.indexOf(Math.min(...a.x.filter(t=>t!==null)))===0?"url(#arrow)":"",markerStart:R&&a.x.indexOf(Math.min(...a.x.filter(t=>t!==null)))===a.x.length-1?"url(#arrow)":"",exit:{opacity:0,transition:{duration:y.duration}},variants:{initial:{y1:0,y2:0},whileInView:{y1:k(Math.min(...a.x.filter(t=>t!==null)))+J,y2:k(Math.max(...a.x.filter(t=>t!==null)))-J,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial"}),a.x.map((t,n)=>i.jsxRuntimeExports.jsx(_.motion.g,{onMouseEnter:f=>{Q({...a,xIndex:n}),V(f.clientY),S(f.clientX),q?.({...a,xIndex:n})},onClick:()=>{(F||w)&&(Ve.isEqual(P,{...a,xIndex:n})&&ge?(C(void 0),F?.(void 0)):(C({...a,xIndex:n}),F&&F({...a,xIndex:n})))},onMouseMove:f=>{Q({...a,xIndex:n}),V(f.clientY),S(f.clientX)},onMouseLeave:()=>{Q(void 0),S(void 0),V(void 0),q?.(void 0)},exit:{opacity:0,transition:{duration:y.duration}},variants:{initial:{opacity:I?p[n]===I?1:.3:1},whileInView:{opacity:I?p[n]===I?1:.3:1,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial",children:A.checkIfNullOrUndefined(t)?null:i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[i.jsxRuntimeExports.jsx(_.motion.circle,{cx:0,r:J,style:{fill:p[n],fillOpacity:.85,stroke:p[n],strokeWidth:1},exit:{opacity:0,transition:{duration:y.duration}},variants:{initial:{cy:k(0),opacity:0},whileInView:{cy:k(t||0),opacity:A.checkIfNullOrUndefined(t)?0:1,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial"}),E?i.jsxRuntimeExports.jsx(_.motion.text,{x:0,style:{fill:oe||p[n],textAnchor:"start",...x?.graphObjectValues||{}},className:Ee.cnExports.cn("graph-value text-sm font-bold",A.checkIfNullOrUndefined(t)?"opacity-0":"opacity-100",m?.graphObjectValues),dx:J+3,dy:"0.33em",exit:{opacity:0,transition:{duration:y.duration}},variants:{initial:{y:k(0),opacity:0},whileInView:{y:k(t||0),opacity:1,transition:{duration:y.duration}}},initial:"initial",animate:j?"whileInView":"initial",children:Te.numberFormattingFunction(t,"NA",l,B,re)}):null]})},n))]},a.label)),le?i.jsxRuntimeExports.jsx(i.jsxRuntimeExports.Fragment,{children:le.map((a,t)=>i.jsxRuntimeExports.jsx(Be.RefLineY,{text:a.text,color:a.color,y:k(a.value),x1:0-v,x2:d+h.right,classNames:a.classNames,styles:a.styles,animate:y,isInView:j},t))}):null]}),O.filter(a=>a.position==="after").map(a=>a.layer)]})]}),W&&s&&b&&Z?i.jsxRuntimeExports.jsx(Ae.Tooltip,{data:W,body:s,xPos:b,yPos:Z,backgroundStyle:x?.tooltip,className:m?.tooltip}):null,w&&P!==void 0?i.jsxRuntimeExports.jsx($e.ModalExports.Modal,{open:P!==void 0,onClose:()=>{C(void 0)},children:i.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof w=="string"?{__html:qe.string2HTML(w,P)}:void 0,children:typeof w=="function"?w(P):null})}):null]})}function rt(ye){const{data:o,graphTitle:p,colors:z=_e.Colors.light.categoricalColors.colors,sources:K,graphDescription:v,barPadding:ue=.25,showTicks:ee=!0,leftMargin:te=20,rightMargin:ce=20,topMargin:ie=20,bottomMargin:ae=25,truncateBy:J=999,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:M,padding:F,backgroundColor:E=!1,radius:re=3,tooltip:B,showLabels:I=!0,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se="",prefix:ge="",maxValue:w,minValue:U,onSeriesMouseClick:fe,graphDownload:oe=!1,dataDownload:x=!1,showValues:m=!0,sortParameter:D,arrowConnector:le=!1,connectorStrokeWidth:y=2,language:l="en",minHeight:O=0,theme:G="light",maxBarThickness:Y,maxNumberOfBars:L,minBarThickness:j,ariaLabel:h,resetSelectionOnDoubleClick:d=!0,detailsOnClick:H,axisTitle:W,noOfTicks:Q=5,valueColor:P,styles:C,classNames:b,labelOrder:S,refValues:Z,filterNA:V=!0,animate:$=!1,precision:X=2,customLayers:k=[],showColorScale:g=!0,highlightedDataPoints:T=[],dimmedOpacity:a=.3,timeline:t={enabled:!1,autoplay:!1,showOnlyActiveDate:!0}}=ye,[n,f]=c.useState(0),[de,Re]=c.useState(0),[me,Ie]=c.useState(t.autoplay),u=je.sort(Le.uniqBy(o.filter(e=>e.date!==void 0&&e.date!==null),e=>e.date).map(e=>we.parse(`${e.date}`,t.dateFormat||"yyyy",new Date).getTime()),(e,r)=>Ke.ascending(e,r)),[be,ve]=c.useState(t.autoplay?0:u.length-1),[De,Se]=c.useState(void 0),he=c.useRef(null),Ce=c.useRef(null);c.useEffect(()=>{const e=new ResizeObserver(r=>{f(s||r[0].target.clientWidth||620),Re(N||r[0].target.clientHeight||480)});return he.current&&(Re(he.current.clientHeight||480),f(he.current.clientWidth||620),s||e.observe(he.current)),()=>e.disconnect()},[s,N]),c.useEffect(()=>{const e=setInterval(()=>{ve(r=>r<u.length-1?r+1:0)},(t.speed||2)*1e3);return me||clearInterval(e),()=>clearInterval(e)},[u,me,t.speed]);const Me=je.getSliderMarks(u,be,t.showOnlyActiveDate,t.dateFormat||"yyyy");return i.jsxRuntimeExports.jsx("div",{className:`${G||"light"} flex ${s?"w-fit grow-0":"w-full grow"}`,dir:l==="he"||l==="ar"?"rtl":void 0,children:i.jsxRuntimeExports.jsx("div",{className:Ee.cnExports.cn(`${E?E===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${l||"en"}`,b?.graphContainer),style:{...C?.graphContainer||{},...E&&E!==!0?{backgroundColor:E}:{}},id:ne,ref:Ce,"aria-label":h||`${p?`The graph shows ${p}. `:""}This is a dumbbell chart that shows comparisons between two or more data points across categories. ${v?` ${v}`:""}`,children:i.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:E?F||"1rem":F||0},children:i.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[p||v||oe||x?i.jsxRuntimeExports.jsx(Ge.GraphHeader,{styles:{title:C?.title,description:C?.description},classNames:{title:b?.title,description:b?.description},graphTitle:p,graphDescription:v,width:s,graphDownload:oe?Ce.current:void 0,dataDownload:x?o.map(e=>e.data).filter(e=>e!==void 0).length>0?o.map(e=>e.data).filter(e=>e!==void 0):o.filter(e=>e!==void 0):null}):null,t.enabled&&u.length>0&&Me?i.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[i.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{Ie(!me)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":me?"Click to pause animation":"Click to play animation",children:me?i.jsxRuntimeExports.jsx(Ne.Pause,{}):i.jsxRuntimeExports.jsx(Ne.Play,{})}),i.jsxRuntimeExports.jsx(je.SliderUIExports.SliderUI,{min:u[0],max:u[u.length-1],marks:Me,step:null,defaultValue:u[u.length-1],value:u[be],onChangeComplete:e=>{ve(u.indexOf(e))},onChange:e=>{ve(u.indexOf(e))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,i.jsxRuntimeExports.jsx("div",{className:"grow flex flex-col justify-center gap-3 w-full",children:o.length===0?i.jsxRuntimeExports.jsx(ze.EmptyState,{}):i.jsxRuntimeExports.jsxs(i.jsxRuntimeExports.Fragment,{children:[g?i.jsxRuntimeExports.jsx(Xe.ColorLegendWithMouseOver,{width:s,colorDomain:xe,colors:z,colorLegendTitle:M,setSelectedColor:Se,showNAColor:!1}):null,i.jsxRuntimeExports.jsx("div",{className:"flex grow w-full justify-center leading-0",ref:he,"aria-label":"Graph area",children:(s||n)&&(N||de)?i.jsxRuntimeExports.jsx(at,{data:D!==void 0?D==="diff"?Oe.sortBy(ke.ensureCompleteDataForDumbbellChart(o,t.dateFormat||"yyyy").filter(e=>t.enabled?e.date===we.format(new Date(u[be]),t.dateFormat||"yyyy"):e).filter(e=>V?!e.x.every(r=>r==null):e),e=>A.checkIfNullOrUndefined(e.x[e.x.length-1])||A.checkIfNullOrUndefined(e.x[0])?-1/0:e.x[e.x.length-1]-e.x[0]).filter((e,r)=>L?r<L:!0):Oe.sortBy(ke.ensureCompleteDataForDumbbellChart(o,t.dateFormat||"yyyy").filter(e=>t.enabled?e.date===we.format(new Date(u[be]),t.dateFormat||"yyyy"):e).filter(e=>V?!e.x.every(r=>r==null):e),e=>A.checkIfNullOrUndefined(e.x[D])?-1/0:e.x[D]).filter((e,r)=>L?r<L:!0):ke.ensureCompleteDataForDumbbellChart(o,t.dateFormat||"yyyy").filter(e=>V?!e.x.every(r=>r==null):e).filter((e,r)=>L?r<L:!0),dotColors:z,width:s||n,height:Math.max(O,N||(R?O?(s||n)*R>O?(s||n)*R:O:(s||n)*R:de)),radius:re,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:J,showLabels:I,showValues:m,tooltip:B,suffix:se,prefix:ge,onSeriesMouseOver:pe,maxValue:A.checkIfNullOrUndefined(w)?Math.max(...o.map(e=>Math.max(...e.x.filter(r=>r!==null))))<0?0:Math.max(...o.map(e=>Math.max(...e.x.filter(r=>r!==null)))):w,minValue:A.checkIfNullOrUndefined(U)?Math.min(...o.map(e=>Math.min(...e.x.filter(r=>r!==null))))>0?0:Math.min(...o.map(e=>Math.min(...e.x.filter(r=>r!==null)))):U,onSeriesMouseClick:fe,selectedColor:De,arrowConnector:le,connectorStrokeWidth:y,maxBarThickness:Y,minBarThickness:j,resetSelectionOnDoubleClick:d,detailsOnClick:H,axisTitle:W,noOfTicks:Q,valueColor:P,styles:C,classNames:b,labelOrder:S,refValues:Z,animate:$===!0?{duration:.5,once:!0,amount:.5}:$||{duration:0,once:!0,amount:0},precision:X,customLayers:k,highlightedDataPoints:T,dimmedOpacity:a}):null})]})}),K||q?i.jsxRuntimeExports.jsx(Ye.GraphFooter,{styles:{footnote:C?.footnote,source:C?.source},classNames:{footnote:b?.footnote,source:b?.source},sources:K,footNote:q,width:s}):null]})})})})}function nt(ye){const{data:o,graphTitle:p,colors:z,sources:K,graphDescription:v,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:J,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:M,padding:F,backgroundColor:E,radius:re,tooltip:B,showLabels:I,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se,prefix:ge,maxValue:w,minValue:U,onSeriesMouseClick:fe,graphDownload:oe,dataDownload:x,showValues:m,sortParameter:D,arrowConnector:le,connectorStrokeWidth:y,language:l,minHeight:O,theme:G,maxBarThickness:Y,maxNumberOfBars:L,minBarThickness:j,ariaLabel:h,resetSelectionOnDoubleClick:d,detailsOnClick:H,axisTitle:W,noOfTicks:Q,valueColor:P,orientation:C="vertical",styles:b,classNames:S,labelOrder:Z,refValues:V,filterNA:$,animate:X,precision:k,showColorScale:g,customLayers:T,highlightedDataPoints:a,dimmedOpacity:t,timeline:n}=ye;return C==="vertical"?i.jsxRuntimeExports.jsx(rt,{data:o,graphTitle:p,colors:z,sources:K,graphDescription:v,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:J,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:M,padding:F,backgroundColor:E,radius:re,tooltip:B,showLabels:I,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se,prefix:ge,maxValue:w,minValue:U,onSeriesMouseClick:fe,graphDownload:oe,dataDownload:x,showValues:m,sortParameter:D,arrowConnector:le,connectorStrokeWidth:y,language:l,minHeight:O,theme:G,maxBarThickness:Y,maxNumberOfBars:L,minBarThickness:j,ariaLabel:h,resetSelectionOnDoubleClick:d,styles:b,detailsOnClick:H,axisTitle:W,noOfTicks:Q,labelOrder:Z,valueColor:P,classNames:S,refValues:V,filterNA:$,animate:X,precision:k,showColorScale:g,customLayers:T,highlightedDataPoints:a,dimmedOpacity:t,timeline:n}):i.jsxRuntimeExports.jsx(it,{data:o,graphTitle:p,colors:z,sources:K,graphDescription:v,barPadding:ue,showTicks:ee,leftMargin:te,rightMargin:ce,topMargin:ie,bottomMargin:ae,truncateBy:J,height:N,width:s,footNote:q,colorDomain:xe,colorLegendTitle:M,padding:F,backgroundColor:E,radius:re,tooltip:B,showLabels:I,relativeHeight:R,onSeriesMouseOver:pe,graphID:ne,suffix:se,prefix:ge,maxValue:w,minValue:U,onSeriesMouseClick:fe,graphDownload:oe,dataDownload:x,showValues:m,sortParameter:D,arrowConnector:le,connectorStrokeWidth:y,language:l,minHeight:O,theme:G,maxBarThickness:Y,maxNumberOfBars:L,minBarThickness:j,ariaLabel:h,resetSelectionOnDoubleClick:d,styles:b,detailsOnClick:H,axisTitle:W,noOfTicks:Q,valueColor:P,classNames:S,labelOrder:Z,refValues:V,filterNA:$,animate:X,precision:k,showColorScale:g,customLayers:T,highlightedDataPoints:a,dimmedOpacity:t,timeline:n})}exports.DumbbellChart=nt;
1
+ import { j as i, m as ke } from "./index-CHPV5EwG-BPSP-7Jg.js";
2
+ import { useRef as Ce, useState as L, useEffect as Ne } from "react";
3
+ import { s as De } from "./index-DxagiOHo.js";
4
+ import { p as Ae, f as Ie } from "./parse-DlCRUFh_.js";
5
+ import { s as Se, g as Pe, x as Fe } from "./getSliderMarks-C0jptXeP.js";
6
+ import { u as Be } from "./index-CaAIPGZo.js";
7
+ import { i as We } from "./index-27yTRcko.js";
8
+ import { X as He } from "./Modal-CUU6ZK3U.js";
9
+ import { n as Le } from "./numberFormattingFunction-14YCbkN2.js";
10
+ import { T as Xe } from "./Tooltip-DyM5snqx.js";
11
+ import { c as F } from "./checkIfNullOrUndefined-DmfiKkNw.js";
12
+ import { s as Ye } from "./string2HTML-CWHGfz_d.js";
13
+ import { X as at } from "./XTicksAndGridLines-Bn9u5gOM.js";
14
+ import { A as Ee } from "./AxisTitle-BmHLMRJZ.js";
15
+ import { Y as rt } from "./YAxesLabels-H5-002X5.js";
16
+ import { Y as _e } from "./YTicksAndGridLines-B6ah7CRf.js";
17
+ import { a as lt, R as nt } from "./ReferenceLine-C1GpoG9d.js";
18
+ import { u as Ge } from "./use-in-view-BAHrBy6b.js";
19
+ import { a as ze } from "./linear-DUdu7l2G.js";
20
+ import { b as Re } from "./band-BEjh2CHI.js";
21
+ import { m as se } from "./proxy-DJxJg1kD.js";
22
+ import { A as qe } from "./index-BxAUvrua.js";
23
+ import { GraphHeader as Ue } from "./GraphHeader.js";
24
+ import { GraphFooter as Je } from "./GraphFooter.js";
25
+ import { ColorLegendWithMouseOver as Ke } from "./ColorLegendWithMouseOver.js";
26
+ import { Colors as Qe } from "./Colors.js";
27
+ import { E as Ze } from "./EmptyState-DdTp-Mdn.js";
28
+ import { P as et, f as tt } from "./index-BmCqpO1B.js";
29
+ import { b as we } from "./ensureCompleteData-BBDZbDCE.js";
30
+ import { c as it } from "./init-BhZylTFx.js";
31
+ import { A as ot } from "./Axis-Ddg-seDi.js";
32
+ import { X as st } from "./XAxesLabels-DQFo_z2R.js";
33
+ function ct(ye) {
34
+ const {
35
+ data: o,
36
+ dotColors: x,
37
+ suffix: q,
38
+ prefix: U,
39
+ barPadding: b,
40
+ showValues: ce,
41
+ showTicks: Z,
42
+ leftMargin: ee,
43
+ truncateBy: de,
44
+ width: te,
45
+ height: ie,
46
+ rightMargin: J,
47
+ topMargin: D,
48
+ bottomMargin: n,
49
+ radius: B,
50
+ showLabels: me,
51
+ tooltip: O,
52
+ onSeriesMouseOver: W,
53
+ maxValue: C,
54
+ minValue: ae,
55
+ onSeriesMouseClick: X,
56
+ selectedColor: I,
57
+ arrowConnector: M,
58
+ connectorStrokeWidth: ge,
59
+ maxBarThickness: re,
60
+ minBarThickness: le,
61
+ resetSelectionOnDoubleClick: pe,
62
+ detailsOnClick: v,
63
+ axisTitle: _,
64
+ noOfTicks: fe,
65
+ valueColor: ne,
66
+ styles: d,
67
+ classNames: h,
68
+ labelOrder: V,
69
+ refValues: oe,
70
+ rtl: f,
71
+ animate: s,
72
+ precision: N,
73
+ customLayers: G,
74
+ highlightedDataPoints: z,
75
+ dimmedOpacity: A
76
+ } = ye, w = Ce(null), u = Ge(w, {
77
+ once: s.once,
78
+ amount: s.amount
79
+ }), m = {
80
+ top: _ ? D + 25 : D,
81
+ bottom: n,
82
+ left: ee,
83
+ right: J
84
+ }, Y = te - m.left - m.right, E = ie - m.top - m.bottom, [K, H] = L(void 0), [j, y] = L(void 0), [T, Q] = L(void 0), [S, P] = L(void 0), R = o.map((t, l) => ({
85
+ ...t,
86
+ id: V ? `${t.label}` : `${l}`
87
+ })), k = V || R.map((t) => `${t.id}`), g = ze().domain([ae, C]).range([0, Y]).nice(), $ = Re().domain(k).range([
88
+ 0,
89
+ le ? Math.max(E, le * R.length) : re ? Math.min(E, re * R.length) : E
90
+ ]).paddingInner(b), a = g.ticks(fe);
91
+ return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
92
+ /* @__PURE__ */ i.jsxs(
93
+ se.svg,
94
+ {
95
+ width: `${te}px`,
96
+ height: `${ie}px`,
97
+ viewBox: `0 0 ${te} ${ie}`,
98
+ direction: "ltr",
99
+ ref: w,
100
+ children: [
101
+ M ? /* @__PURE__ */ i.jsx("defs", { children: /* @__PURE__ */ i.jsx(
102
+ "marker",
103
+ {
104
+ id: "arrow",
105
+ viewBox: "0 0 10 10",
106
+ refX: "10",
107
+ refY: "5",
108
+ markerWidth: "6",
109
+ markerHeight: "6",
110
+ orient: "auto-start-reverse",
111
+ children: /* @__PURE__ */ i.jsx(
112
+ "path",
113
+ {
114
+ d: "M 0 0 L 10 5 L 0 10 z",
115
+ className: "fill-primary-gray-600 dark:fill-primary-gray-300"
116
+ }
117
+ )
118
+ }
119
+ ) }) : null,
120
+ /* @__PURE__ */ i.jsxs("g", { transform: `translate(${m.left},${m.top})`, children: [
121
+ Z ? /* @__PURE__ */ i.jsx(
122
+ at,
123
+ {
124
+ values: a.filter((t, l) => l !== 0),
125
+ x: a.filter((t, l) => l !== 0).map((t) => g(t)),
126
+ y1: 0 - D,
127
+ y2: E + m.bottom,
128
+ styles: {
129
+ gridLines: d?.xAxis?.gridLines,
130
+ labels: d?.xAxis?.labels
131
+ },
132
+ classNames: {
133
+ gridLines: h?.xAxis?.gridLines,
134
+ labels: h?.xAxis?.labels
135
+ },
136
+ suffix: q,
137
+ prefix: U,
138
+ labelType: "secondary",
139
+ showGridLines: !0,
140
+ precision: N
141
+ }
142
+ ) : null,
143
+ /* @__PURE__ */ i.jsx(
144
+ Ee,
145
+ {
146
+ x: Y / 2,
147
+ y: 0 - m.top + 15,
148
+ style: d?.xAxis?.title,
149
+ className: h?.xAxis?.title,
150
+ text: _
151
+ }
152
+ ),
153
+ /* @__PURE__ */ i.jsx(
154
+ _e,
155
+ {
156
+ y: R.map((t) => $(`${t.id}`) + $.bandwidth() / 2),
157
+ x1: 0,
158
+ x2: Y,
159
+ styles: { gridLines: d?.yAxis?.gridLines },
160
+ classNames: { gridLines: h?.yAxis?.gridLines },
161
+ labelType: "secondary",
162
+ showGridLines: !0,
163
+ labelPos: "vertical",
164
+ precision: N
165
+ }
166
+ ),
167
+ G.filter((t) => t.position === "before").map((t) => t.layer),
168
+ /* @__PURE__ */ i.jsxs(qe, { children: [
169
+ R.map((t) => /* @__PURE__ */ i.jsxs(
170
+ se.g,
171
+ {
172
+ className: "undp-viz-g-with-hover",
173
+ variants: {
174
+ initial: {
175
+ x: 0,
176
+ y: $(`${t.id}`) + $.bandwidth() / 2,
177
+ opacity: z.length !== 0 ? z.indexOf(t.label) !== -1 ? 0.85 : A : 0.85
178
+ },
179
+ whileInView: {
180
+ x: 0,
181
+ y: $(`${t.id}`) + $.bandwidth() / 2,
182
+ opacity: z.length !== 0 ? z.indexOf(t.label) !== -1 ? 0.85 : A : 0.85,
183
+ transition: { duration: s.duration }
184
+ }
185
+ },
186
+ initial: "initial",
187
+ animate: u ? "whileInView" : "initial",
188
+ exit: { opacity: 0, transition: { duration: s.duration } },
189
+ children: [
190
+ me ? /* @__PURE__ */ i.jsx(
191
+ rt,
192
+ {
193
+ value: `${t.label}`.length < de ? `${t.label}` : `${`${t.label}`.substring(0, de)}...`,
194
+ y: 0 - $.bandwidth() / 2,
195
+ x: 0 - m.left,
196
+ width: m.left,
197
+ height: $.bandwidth(),
198
+ alignment: "right",
199
+ style: d?.yAxis?.labels,
200
+ className: h?.yAxis?.labels,
201
+ animate: s,
202
+ isInView: u
203
+ }
204
+ ) : null,
205
+ /* @__PURE__ */ i.jsx(
206
+ se.line,
207
+ {
208
+ y1: 0,
209
+ y2: 0,
210
+ style: {
211
+ strokeWidth: ge,
212
+ ...d?.dataConnectors || {},
213
+ opacity: I ? 0.3 : 1
214
+ },
215
+ className: ke(
216
+ "stroke-primary-gray-600 dark:stroke-primary-gray-300",
217
+ h?.dataConnectors
218
+ ),
219
+ markerEnd: M && t.x.indexOf(Math.min(...t.x.filter((l) => l !== null))) === 0 ? "url(#arrow)" : "",
220
+ markerStart: M && t.x.indexOf(Math.min(...t.x.filter((l) => l !== null))) === t.x.length - 1 ? "url(#arrow)" : "",
221
+ exit: { opacity: 0, transition: { duration: s.duration } },
222
+ variants: {
223
+ initial: {
224
+ x1: 0,
225
+ x2: 0
226
+ },
227
+ whileInView: {
228
+ x1: g(Math.min(...t.x.filter((l) => l !== null))) + B,
229
+ x2: g(Math.max(...t.x.filter((l) => l !== null))) - B,
230
+ transition: { duration: s.duration }
231
+ }
232
+ },
233
+ initial: "initial",
234
+ animate: u ? "whileInView" : "initial"
235
+ }
236
+ ),
237
+ t.x.map((l, p) => /* @__PURE__ */ i.jsx(
238
+ se.g,
239
+ {
240
+ onMouseEnter: (he) => {
241
+ H({ ...t, xIndex: p }), P(he.clientY), Q(he.clientX), W?.({ ...t, xIndex: p });
242
+ },
243
+ onClick: () => {
244
+ (X || v) && (We(j, { ...t, xIndex: p }) && pe ? (y(void 0), X?.(void 0)) : (y({ ...t, xIndex: p }), X && X({ ...t, xIndex: p })));
245
+ },
246
+ onMouseMove: (he) => {
247
+ H({ ...t, xIndex: p }), P(he.clientY), Q(he.clientX);
248
+ },
249
+ onMouseLeave: () => {
250
+ H(void 0), Q(void 0), P(void 0), W?.(void 0);
251
+ },
252
+ exit: { opacity: 0, transition: { duration: s.duration } },
253
+ variants: {
254
+ initial: {
255
+ opacity: I ? x[p] === I ? 1 : 0.3 : 1
256
+ },
257
+ whileInView: {
258
+ opacity: I ? x[p] === I ? 1 : 0.3 : 1,
259
+ transition: { duration: s.duration }
260
+ }
261
+ },
262
+ initial: "initial",
263
+ animate: u ? "whileInView" : "initial",
264
+ children: F(l) ? null : /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
265
+ /* @__PURE__ */ i.jsx(
266
+ se.circle,
267
+ {
268
+ cy: 0,
269
+ r: B,
270
+ style: {
271
+ fill: x[p],
272
+ fillOpacity: 0.85,
273
+ stroke: x[p],
274
+ strokeWidth: 1,
275
+ opacity: F(l) ? 0 : 1
276
+ },
277
+ exit: { opacity: 0, transition: { duration: s.duration } },
278
+ variants: {
279
+ initial: { cx: g(0), opacity: 0 },
280
+ whileInView: {
281
+ cx: g(l || 0),
282
+ opacity: F(l) ? 0 : 1,
283
+ transition: { duration: s.duration }
284
+ }
285
+ },
286
+ initial: "initial",
287
+ animate: u ? "whileInView" : "initial"
288
+ }
289
+ ),
290
+ ce ? /* @__PURE__ */ i.jsx(
291
+ se.text,
292
+ {
293
+ y: 0,
294
+ style: {
295
+ fill: ne || x[p],
296
+ textAnchor: "middle",
297
+ ...d?.graphObjectValues || {}
298
+ },
299
+ dx: 0,
300
+ dy: 0 - B - 3,
301
+ className: ke(
302
+ "graph-value text-sm font-bold",
303
+ F(l) ? "0opacity-0" : "opacity-100",
304
+ h?.graphObjectValues
305
+ ),
306
+ exit: { opacity: 0, transition: { duration: s.duration } },
307
+ variants: {
308
+ initial: { x: g(0), opacity: 0 },
309
+ whileInView: {
310
+ x: g(l || 0),
311
+ opacity: 1,
312
+ transition: { duration: s.duration }
313
+ }
314
+ },
315
+ initial: "initial",
316
+ animate: u ? "whileInView" : "initial",
317
+ children: Le(l, "NA", N, U, q)
318
+ }
319
+ ) : null
320
+ ] })
321
+ },
322
+ p
323
+ ))
324
+ ]
325
+ },
326
+ t.label
327
+ )),
328
+ oe ? /* @__PURE__ */ i.jsx(i.Fragment, { children: oe.map((t, l) => /* @__PURE__ */ i.jsx(
329
+ lt,
330
+ {
331
+ text: t.text,
332
+ color: t.color,
333
+ x: g(t.value),
334
+ y1: 0 - m.top,
335
+ y2: E + m.bottom,
336
+ textSide: g(t.value) > Y * 0.75 || f ? "left" : "right",
337
+ classNames: t.classNames,
338
+ styles: t.styles,
339
+ animate: s,
340
+ isInView: u
341
+ },
342
+ l
343
+ )) }) : null
344
+ ] }),
345
+ G.filter((t) => t.position === "after").map((t) => t.layer)
346
+ ] })
347
+ ]
348
+ }
349
+ ),
350
+ K && O && T && S ? /* @__PURE__ */ i.jsx(
351
+ Xe,
352
+ {
353
+ data: K,
354
+ body: O,
355
+ xPos: T,
356
+ yPos: S,
357
+ backgroundStyle: d?.tooltip,
358
+ className: h?.tooltip
359
+ }
360
+ ) : null,
361
+ v && j !== void 0 ? /* @__PURE__ */ i.jsx(
362
+ He,
363
+ {
364
+ open: j !== void 0,
365
+ onClose: () => {
366
+ y(void 0);
367
+ },
368
+ children: /* @__PURE__ */ i.jsx(
369
+ "div",
370
+ {
371
+ className: "graph-modal-content m-0",
372
+ dangerouslySetInnerHTML: typeof v == "string" ? { __html: Ye(v, j) } : void 0,
373
+ children: typeof v == "function" ? v(j) : null
374
+ }
375
+ )
376
+ }
377
+ ) : null
378
+ ] });
379
+ }
380
+ function dt(ye) {
381
+ const {
382
+ data: o,
383
+ graphTitle: x,
384
+ colors: q = Qe.light.categoricalColors.colors,
385
+ sources: U,
386
+ graphDescription: b,
387
+ barPadding: ce = 0.25,
388
+ showTicks: Z = !0,
389
+ leftMargin: ee = 100,
390
+ rightMargin: de = 40,
391
+ topMargin: te = 20,
392
+ bottomMargin: ie = 10,
393
+ truncateBy: J = 999,
394
+ height: D,
395
+ width: n,
396
+ footNote: B,
397
+ colorDomain: me,
398
+ colorLegendTitle: O,
399
+ padding: W,
400
+ backgroundColor: C = !1,
401
+ radius: ae = 3,
402
+ showLabels: X = !0,
403
+ tooltip: I,
404
+ relativeHeight: M,
405
+ onSeriesMouseOver: ge,
406
+ graphID: re,
407
+ suffix: le = "",
408
+ prefix: pe = "",
409
+ maxValue: v,
410
+ minValue: _,
411
+ onSeriesMouseClick: fe,
412
+ graphDownload: ne = !1,
413
+ dataDownload: d = !1,
414
+ showValues: h = !0,
415
+ sortParameter: V,
416
+ arrowConnector: oe = !1,
417
+ connectorStrokeWidth: f = 2,
418
+ language: s = "en",
419
+ minHeight: N = 0,
420
+ theme: G = "light",
421
+ labelOrder: z,
422
+ maxBarThickness: A,
423
+ maxNumberOfBars: w,
424
+ minBarThickness: u,
425
+ ariaLabel: m,
426
+ resetSelectionOnDoubleClick: Y = !0,
427
+ detailsOnClick: E,
428
+ axisTitle: K,
429
+ noOfTicks: H = 5,
430
+ valueColor: j,
431
+ styles: y,
432
+ classNames: T,
433
+ refValues: Q,
434
+ filterNA: S = !0,
435
+ animate: P = !1,
436
+ precision: R = 2,
437
+ customLayers: k = [],
438
+ showColorScale: g = !0,
439
+ highlightedDataPoints: $ = [],
440
+ dimmedOpacity: a = 0.3,
441
+ timeline: t = { enabled: !1, autoplay: !1, showOnlyActiveDate: !0 }
442
+ } = ye, [l, p] = L(0), [he, Me] = L(0), [ue, Ve] = L(t.autoplay), c = Se(
443
+ Be(
444
+ o.filter((e) => e.date !== void 0 && e.date !== null),
445
+ (e) => e.date
446
+ ).map((e) => Ae(`${e.date}`, t.dateFormat || "yyyy", /* @__PURE__ */ new Date()).getTime()),
447
+ (e, r) => it(e, r)
448
+ ), [be, ve] = L(t.autoplay ? 0 : c.length - 1), [Te, $e] = L(void 0), xe = Ce(null), je = Ce(null);
449
+ Ne(() => {
450
+ const e = new ResizeObserver((r) => {
451
+ p(n || r[0].target.clientWidth || 620), Me(D || r[0].target.clientHeight || 480);
452
+ });
453
+ return xe.current && (Me(xe.current.clientHeight || 480), p(xe.current.clientWidth || 620), n || e.observe(xe.current)), () => e.disconnect();
454
+ }, [n, D]), Ne(() => {
455
+ const e = setInterval(
456
+ () => {
457
+ ve((r) => r < c.length - 1 ? r + 1 : 0);
458
+ },
459
+ (t.speed || 2) * 1e3
460
+ );
461
+ return ue || clearInterval(e), () => clearInterval(e);
462
+ }, [c, ue, t.speed]);
463
+ const Oe = Pe(
464
+ c,
465
+ be,
466
+ t.showOnlyActiveDate,
467
+ t.dateFormat || "yyyy"
468
+ );
469
+ return /* @__PURE__ */ i.jsx(
470
+ "div",
471
+ {
472
+ className: `${G || "light"} flex ${n ? "w-fit grow-0" : "w-full grow"}`,
473
+ dir: s === "he" || s === "ar" ? "rtl" : void 0,
474
+ children: /* @__PURE__ */ i.jsx(
475
+ "div",
476
+ {
477
+ className: ke(
478
+ `${C ? C === !0 ? "bg-primary-gray-200 dark:bg-primary-gray-650 " : "" : "bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${s || "en"}`,
479
+ T?.graphContainer
480
+ ),
481
+ style: {
482
+ ...y?.graphContainer || {},
483
+ ...C && C !== !0 ? { backgroundColor: C } : {}
484
+ },
485
+ id: re,
486
+ ref: je,
487
+ "aria-label": m || `${x ? `The graph shows ${x}. ` : ""}This is a dumbbell chart that shows comparisons between two or more data points across categories. ${b ? ` ${b}` : ""}`,
488
+ children: /* @__PURE__ */ i.jsx(
489
+ "div",
490
+ {
491
+ className: "flex grow",
492
+ style: { padding: C ? W || "1rem" : W || 0 },
493
+ children: /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col w-full gap-4 grow justify-between", children: [
494
+ x || b || ne || d ? /* @__PURE__ */ i.jsx(
495
+ Ue,
496
+ {
497
+ styles: {
498
+ title: y?.title,
499
+ description: y?.description
500
+ },
501
+ classNames: {
502
+ title: T?.title,
503
+ description: T?.description
504
+ },
505
+ graphTitle: x,
506
+ graphDescription: b,
507
+ width: n,
508
+ graphDownload: ne ? je.current : void 0,
509
+ dataDownload: d ? o.map((e) => e.data).filter((e) => e !== void 0).length > 0 ? o.map((e) => e.data).filter((e) => e !== void 0) : o.filter((e) => e !== void 0) : null
510
+ }
511
+ ) : null,
512
+ t.enabled && c.length > 0 && Oe ? /* @__PURE__ */ i.jsxs("div", { className: "flex gap-6 items-center", dir: "ltr", children: [
513
+ /* @__PURE__ */ i.jsx(
514
+ "button",
515
+ {
516
+ type: "button",
517
+ onClick: () => {
518
+ Ve(!ue);
519
+ },
520
+ className: "p-0 border-0 cursor-pointer bg-transparent",
521
+ "aria-label": ue ? "Click to pause animation" : "Click to play animation",
522
+ children: ue ? /* @__PURE__ */ i.jsx(et, {}) : /* @__PURE__ */ i.jsx(tt, {})
523
+ }
524
+ ),
525
+ /* @__PURE__ */ i.jsx(
526
+ Fe,
527
+ {
528
+ min: c[0],
529
+ max: c[c.length - 1],
530
+ marks: Oe,
531
+ step: null,
532
+ defaultValue: c[c.length - 1],
533
+ value: c[be],
534
+ onChangeComplete: (e) => {
535
+ ve(c.indexOf(e));
536
+ },
537
+ onChange: (e) => {
538
+ ve(c.indexOf(e));
539
+ },
540
+ "aria-label": "Time slider. Use arrow keys to adjust selected time period."
541
+ }
542
+ )
543
+ ] }) : null,
544
+ /* @__PURE__ */ i.jsx("div", { className: "grow flex flex-col justify-center gap-3 w-full", children: o.length === 0 ? /* @__PURE__ */ i.jsx(Ze, {}) : /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
545
+ g ? /* @__PURE__ */ i.jsx(
546
+ Ke,
547
+ {
548
+ width: n,
549
+ colorDomain: me,
550
+ colors: q,
551
+ colorLegendTitle: O,
552
+ setSelectedColor: $e,
553
+ showNAColor: !1
554
+ }
555
+ ) : null,
556
+ /* @__PURE__ */ i.jsx(
557
+ "div",
558
+ {
559
+ className: "flex grow w-full justify-center leading-0",
560
+ ref: xe,
561
+ "aria-label": "Graph area",
562
+ children: (n || l) && (D || he) ? /* @__PURE__ */ i.jsx(
563
+ ct,
564
+ {
565
+ data: V !== void 0 ? V === "diff" ? De(
566
+ we(
567
+ o,
568
+ t.dateFormat || "yyyy"
569
+ ).filter(
570
+ (e) => t.enabled ? e.date === Ie(
571
+ new Date(c[be]),
572
+ t.dateFormat || "yyyy"
573
+ ) : e
574
+ ).filter((e) => S ? !e.x.every((r) => r == null) : e),
575
+ (e) => F(e.x[e.x.length - 1]) || F(e.x[0]) ? -1 / 0 : e.x[e.x.length - 1] - e.x[0]
576
+ ).reverse().filter((e, r) => w ? r < w : !0) : De(
577
+ we(
578
+ o,
579
+ t.dateFormat || "yyyy"
580
+ ).filter(
581
+ (e) => t.enabled ? e.date === Ie(
582
+ new Date(c[be]),
583
+ t.dateFormat || "yyyy"
584
+ ) : e
585
+ ).filter((e) => S ? !e.x.every((r) => r == null) : e),
586
+ (e) => F(e.x[V]) ? -1 / 0 : e.x[V]
587
+ ).reverse().filter((e, r) => w ? r < w : !0) : we(
588
+ o,
589
+ t.dateFormat || "yyyy"
590
+ ).filter((e) => S ? !e.x.every((r) => r == null) : e).filter((e, r) => w ? r < w : !0),
591
+ dotColors: q,
592
+ width: n || l,
593
+ height: Math.max(
594
+ N,
595
+ D || (M ? N ? (n || l) * M > N ? (n || l) * M : N : (n || l) * M : he)
596
+ ),
597
+ suffix: le,
598
+ prefix: pe,
599
+ radius: ae,
600
+ barPadding: ce,
601
+ showTicks: Z,
602
+ leftMargin: ee,
603
+ rightMargin: de,
604
+ topMargin: te,
605
+ bottomMargin: ie,
606
+ truncateBy: J,
607
+ showLabels: X,
608
+ showValues: h,
609
+ tooltip: I,
610
+ onSeriesMouseOver: ge,
611
+ maxValue: F(v) ? Math.max(
612
+ ...o.map((e) => Math.max(...e.x.filter((r) => r !== null)))
613
+ ) < 0 ? 0 : Math.max(
614
+ ...o.map((e) => Math.max(...e.x.filter((r) => r !== null)))
615
+ ) : v,
616
+ minValue: F(_) ? Math.min(
617
+ ...o.map((e) => Math.min(...e.x.filter((r) => r !== null)))
618
+ ) > 0 ? 0 : Math.min(
619
+ ...o.map((e) => Math.min(...e.x.filter((r) => r !== null)))
620
+ ) : _,
621
+ onSeriesMouseClick: fe,
622
+ selectedColor: Te,
623
+ arrowConnector: oe,
624
+ connectorStrokeWidth: f,
625
+ maxBarThickness: A,
626
+ minBarThickness: u,
627
+ resetSelectionOnDoubleClick: Y,
628
+ detailsOnClick: E,
629
+ axisTitle: K,
630
+ noOfTicks: H,
631
+ valueColor: j,
632
+ styles: y,
633
+ classNames: T,
634
+ labelOrder: z,
635
+ refValues: Q,
636
+ rtl: s === "he" || s === "ar",
637
+ animate: P === !0 ? { duration: 0.5, once: !0, amount: 0.5 } : P || { duration: 0, once: !0, amount: 0 },
638
+ precision: R,
639
+ customLayers: k,
640
+ highlightedDataPoints: $,
641
+ dimmedOpacity: a
642
+ }
643
+ ) : null
644
+ }
645
+ )
646
+ ] }) }),
647
+ U || B ? /* @__PURE__ */ i.jsx(
648
+ Je,
649
+ {
650
+ styles: { footnote: y?.footnote, source: y?.source },
651
+ classNames: {
652
+ footnote: T?.footnote,
653
+ source: T?.source
654
+ },
655
+ sources: U,
656
+ footNote: B,
657
+ width: n
658
+ }
659
+ ) : null
660
+ ] })
661
+ }
662
+ )
663
+ }
664
+ )
665
+ }
666
+ );
667
+ }
668
+ function mt(ye) {
669
+ const {
670
+ data: o,
671
+ dotColors: x,
672
+ barPadding: q,
673
+ showTicks: U,
674
+ leftMargin: b,
675
+ truncateBy: ce,
676
+ width: Z,
677
+ height: ee,
678
+ rightMargin: de,
679
+ topMargin: te,
680
+ bottomMargin: ie,
681
+ radius: J,
682
+ showLabels: D,
683
+ tooltip: n,
684
+ onSeriesMouseOver: B,
685
+ maxValue: me,
686
+ minValue: O,
687
+ onSeriesMouseClick: W,
688
+ showValues: C,
689
+ suffix: ae,
690
+ prefix: X,
691
+ selectedColor: I,
692
+ arrowConnector: M,
693
+ connectorStrokeWidth: ge,
694
+ maxBarThickness: re,
695
+ minBarThickness: le,
696
+ resetSelectionOnDoubleClick: pe,
697
+ detailsOnClick: v,
698
+ axisTitle: _,
699
+ noOfTicks: fe,
700
+ valueColor: ne,
701
+ styles: d,
702
+ classNames: h,
703
+ labelOrder: V,
704
+ refValues: oe,
705
+ animate: f,
706
+ precision: s,
707
+ customLayers: N,
708
+ highlightedDataPoints: G,
709
+ dimmedOpacity: z
710
+ } = ye, A = Ce(null), w = Ge(A, {
711
+ once: f.once,
712
+ amount: f.amount
713
+ }), u = {
714
+ top: te,
715
+ bottom: ie,
716
+ left: _ ? b + 30 : b,
717
+ right: de
718
+ }, m = Z - u.left - u.right, Y = ee - u.top - u.bottom, [E, K] = L(void 0), [H, j] = L(void 0), [y, T] = L(void 0), [Q, S] = L(void 0), P = o.map((a, t) => ({
719
+ ...a,
720
+ id: V ? `${a.label}` : `${t}`
721
+ })), R = V || P.map((a) => `${a.id}`), k = ze().domain([O, me]).range([Y, 0]).nice(), g = Re().domain(R).range([
722
+ 0,
723
+ le ? Math.max(m, le * P.length) : re ? Math.min(m, re * P.length) : m
724
+ ]).paddingInner(q), $ = k.ticks(fe);
725
+ return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
726
+ /* @__PURE__ */ i.jsxs(
727
+ se.svg,
728
+ {
729
+ width: `${Z}px`,
730
+ height: `${ee}px`,
731
+ viewBox: `0 0 ${Z} ${ee}`,
732
+ direction: "ltr",
733
+ ref: A,
734
+ children: [
735
+ M ? /* @__PURE__ */ i.jsx("defs", { children: /* @__PURE__ */ i.jsx(
736
+ "marker",
737
+ {
738
+ id: "arrow",
739
+ viewBox: "0 0 10 10",
740
+ refX: "10",
741
+ refY: "5",
742
+ markerWidth: "6",
743
+ markerHeight: "6",
744
+ orient: "auto-start-reverse",
745
+ children: /* @__PURE__ */ i.jsx(
746
+ "path",
747
+ {
748
+ d: "M 0 0 L 10 5 L 0 10 z",
749
+ className: "fill-primary-gray-600 dark:fill-primary-gray-300"
750
+ }
751
+ )
752
+ }
753
+ ) }) : null,
754
+ /* @__PURE__ */ i.jsxs("g", { transform: `translate(${u.left},${u.top})`, children: [
755
+ /* @__PURE__ */ i.jsx(
756
+ ot,
757
+ {
758
+ y1: k(O < 0 ? 0 : O),
759
+ y2: k(O < 0 ? 0 : O),
760
+ x1: 0 - b,
761
+ x2: m + u.right,
762
+ label: Le(
763
+ O < 0 ? 0 : O,
764
+ "NA",
765
+ s,
766
+ X,
767
+ ae
768
+ ),
769
+ labelPos: {
770
+ x: 0 - b,
771
+ dx: 0,
772
+ dy: me < 0 ? "1em" : -5,
773
+ y: k(O < 0 ? 0 : O)
774
+ },
775
+ classNames: {
776
+ axis: h?.xAxis?.axis,
777
+ label: h?.yAxis?.labels
778
+ },
779
+ styles: { axis: d?.xAxis?.axis, label: d?.yAxis?.labels }
780
+ }
781
+ ),
782
+ U ? /* @__PURE__ */ i.jsx(
783
+ _e,
784
+ {
785
+ values: $.filter((a) => a !== 0),
786
+ y: $.filter((a) => a !== 0).map((a) => k(a)),
787
+ x1: 0 - b,
788
+ x2: m + u.right,
789
+ styles: {
790
+ gridLines: d?.yAxis?.gridLines,
791
+ labels: d?.yAxis?.labels
792
+ },
793
+ classNames: {
794
+ gridLines: h?.yAxis?.gridLines,
795
+ labels: h?.yAxis?.labels
796
+ },
797
+ suffix: ae,
798
+ prefix: X,
799
+ labelType: "secondary",
800
+ showGridLines: !0,
801
+ labelPos: "vertical",
802
+ precision: s
803
+ }
804
+ ) : null,
805
+ /* @__PURE__ */ i.jsx(
806
+ Ee,
807
+ {
808
+ x: 0 - b - 15,
809
+ y: Y / 2,
810
+ style: d?.yAxis?.title,
811
+ className: h?.yAxis?.title,
812
+ text: _,
813
+ rotate90: !0
814
+ }
815
+ ),
816
+ N.filter((a) => a.position === "before").map((a) => a.layer),
817
+ /* @__PURE__ */ i.jsxs(qe, { children: [
818
+ P.map((a) => /* @__PURE__ */ i.jsxs(
819
+ se.g,
820
+ {
821
+ className: "undp-viz-g-with-hover",
822
+ variants: {
823
+ initial: {
824
+ x: g(`${a.id}`) + g.bandwidth() / 2,
825
+ y: 0,
826
+ opacity: G.length !== 0 ? G.indexOf(a.label) !== -1 ? 0.85 : z : 0.85
827
+ },
828
+ whileInView: {
829
+ x: g(`${a.id}`) + g.bandwidth() / 2,
830
+ y: 0,
831
+ opacity: G.length !== 0 ? G.indexOf(a.label) !== -1 ? 0.85 : z : 0.85,
832
+ transition: { duration: f.duration }
833
+ }
834
+ },
835
+ initial: "initial",
836
+ animate: w ? "whileInView" : "initial",
837
+ exit: { opacity: 0, transition: { duration: f.duration } },
838
+ children: [
839
+ D ? /* @__PURE__ */ i.jsx(
840
+ st,
841
+ {
842
+ value: `${a.label}`.length < ce ? `${a.label}` : `${`${a.label}`.substring(0, ce)}...`,
843
+ y: Y + 5,
844
+ x: 0 - g.bandwidth() / 2,
845
+ width: g.bandwidth(),
846
+ height: u.bottom,
847
+ style: d?.xAxis?.labels,
848
+ className: h?.xAxis?.labels,
849
+ alignment: "top",
850
+ animate: f,
851
+ isInView: w
852
+ }
853
+ ) : null,
854
+ /* @__PURE__ */ i.jsx(
855
+ se.line,
856
+ {
857
+ x1: 0,
858
+ x2: 0,
859
+ style: {
860
+ strokeWidth: ge,
861
+ ...d?.dataConnectors || {},
862
+ opacity: I ? 0.3 : 1
863
+ },
864
+ className: ke(
865
+ "stroke-primary-gray-600 dark:stroke-primary-gray-300",
866
+ h?.dataConnectors
867
+ ),
868
+ markerEnd: M && a.x.indexOf(Math.min(...a.x.filter((t) => t !== null))) === 0 ? "url(#arrow)" : "",
869
+ markerStart: M && a.x.indexOf(Math.min(...a.x.filter((t) => t !== null))) === a.x.length - 1 ? "url(#arrow)" : "",
870
+ exit: { opacity: 0, transition: { duration: f.duration } },
871
+ variants: {
872
+ initial: {
873
+ y1: 0,
874
+ y2: 0
875
+ },
876
+ whileInView: {
877
+ y1: k(Math.min(...a.x.filter((t) => t !== null))) + J,
878
+ y2: k(Math.max(...a.x.filter((t) => t !== null))) - J,
879
+ transition: { duration: f.duration }
880
+ }
881
+ },
882
+ initial: "initial",
883
+ animate: w ? "whileInView" : "initial"
884
+ }
885
+ ),
886
+ a.x.map((t, l) => /* @__PURE__ */ i.jsx(
887
+ se.g,
888
+ {
889
+ onMouseEnter: (p) => {
890
+ K({ ...a, xIndex: l }), S(p.clientY), T(p.clientX), B?.({ ...a, xIndex: l });
891
+ },
892
+ onClick: () => {
893
+ (W || v) && (We(H, { ...a, xIndex: l }) && pe ? (j(void 0), W?.(void 0)) : (j({ ...a, xIndex: l }), W && W({ ...a, xIndex: l })));
894
+ },
895
+ onMouseMove: (p) => {
896
+ K({ ...a, xIndex: l }), S(p.clientY), T(p.clientX);
897
+ },
898
+ onMouseLeave: () => {
899
+ K(void 0), T(void 0), S(void 0), B?.(void 0);
900
+ },
901
+ exit: { opacity: 0, transition: { duration: f.duration } },
902
+ variants: {
903
+ initial: {
904
+ opacity: I ? x[l] === I ? 1 : 0.3 : 1
905
+ },
906
+ whileInView: {
907
+ opacity: I ? x[l] === I ? 1 : 0.3 : 1,
908
+ transition: { duration: f.duration }
909
+ }
910
+ },
911
+ initial: "initial",
912
+ animate: w ? "whileInView" : "initial",
913
+ children: F(t) ? null : /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
914
+ /* @__PURE__ */ i.jsx(
915
+ se.circle,
916
+ {
917
+ cx: 0,
918
+ r: J,
919
+ style: {
920
+ fill: x[l],
921
+ fillOpacity: 0.85,
922
+ stroke: x[l],
923
+ strokeWidth: 1
924
+ },
925
+ exit: { opacity: 0, transition: { duration: f.duration } },
926
+ variants: {
927
+ initial: { cy: k(0), opacity: 0 },
928
+ whileInView: {
929
+ cy: k(t || 0),
930
+ opacity: F(t) ? 0 : 1,
931
+ transition: { duration: f.duration }
932
+ }
933
+ },
934
+ initial: "initial",
935
+ animate: w ? "whileInView" : "initial"
936
+ }
937
+ ),
938
+ C ? /* @__PURE__ */ i.jsx(
939
+ se.text,
940
+ {
941
+ x: 0,
942
+ style: {
943
+ fill: ne || x[l],
944
+ textAnchor: "start",
945
+ ...d?.graphObjectValues || {}
946
+ },
947
+ className: ke(
948
+ "graph-value text-sm font-bold",
949
+ F(t) ? "opacity-0" : "opacity-100",
950
+ h?.graphObjectValues
951
+ ),
952
+ dx: J + 3,
953
+ dy: "0.33em",
954
+ exit: { opacity: 0, transition: { duration: f.duration } },
955
+ variants: {
956
+ initial: { y: k(0), opacity: 0 },
957
+ whileInView: {
958
+ y: k(t || 0),
959
+ opacity: 1,
960
+ transition: { duration: f.duration }
961
+ }
962
+ },
963
+ initial: "initial",
964
+ animate: w ? "whileInView" : "initial",
965
+ children: Le(t, "NA", s, X, ae)
966
+ }
967
+ ) : null
968
+ ] })
969
+ },
970
+ l
971
+ ))
972
+ ]
973
+ },
974
+ a.label
975
+ )),
976
+ oe ? /* @__PURE__ */ i.jsx(i.Fragment, { children: oe.map((a, t) => /* @__PURE__ */ i.jsx(
977
+ nt,
978
+ {
979
+ text: a.text,
980
+ color: a.color,
981
+ y: k(a.value),
982
+ x1: 0 - b,
983
+ x2: m + u.right,
984
+ classNames: a.classNames,
985
+ styles: a.styles,
986
+ animate: f,
987
+ isInView: w
988
+ },
989
+ t
990
+ )) }) : null
991
+ ] }),
992
+ N.filter((a) => a.position === "after").map((a) => a.layer)
993
+ ] })
994
+ ]
995
+ }
996
+ ),
997
+ E && n && y && Q ? /* @__PURE__ */ i.jsx(
998
+ Xe,
999
+ {
1000
+ data: E,
1001
+ body: n,
1002
+ xPos: y,
1003
+ yPos: Q,
1004
+ backgroundStyle: d?.tooltip,
1005
+ className: h?.tooltip
1006
+ }
1007
+ ) : null,
1008
+ v && H !== void 0 ? /* @__PURE__ */ i.jsx(
1009
+ He,
1010
+ {
1011
+ open: H !== void 0,
1012
+ onClose: () => {
1013
+ j(void 0);
1014
+ },
1015
+ children: /* @__PURE__ */ i.jsx(
1016
+ "div",
1017
+ {
1018
+ className: "graph-modal-content m-0",
1019
+ dangerouslySetInnerHTML: typeof v == "string" ? { __html: Ye(v, H) } : void 0,
1020
+ children: typeof v == "function" ? v(H) : null
1021
+ }
1022
+ )
1023
+ }
1024
+ ) : null
1025
+ ] });
1026
+ }
1027
+ function ht(ye) {
1028
+ const {
1029
+ data: o,
1030
+ graphTitle: x,
1031
+ colors: q = Qe.light.categoricalColors.colors,
1032
+ sources: U,
1033
+ graphDescription: b,
1034
+ barPadding: ce = 0.25,
1035
+ showTicks: Z = !0,
1036
+ leftMargin: ee = 20,
1037
+ rightMargin: de = 20,
1038
+ topMargin: te = 20,
1039
+ bottomMargin: ie = 25,
1040
+ truncateBy: J = 999,
1041
+ height: D,
1042
+ width: n,
1043
+ footNote: B,
1044
+ colorDomain: me,
1045
+ colorLegendTitle: O,
1046
+ padding: W,
1047
+ backgroundColor: C = !1,
1048
+ radius: ae = 3,
1049
+ tooltip: X,
1050
+ showLabels: I = !0,
1051
+ relativeHeight: M,
1052
+ onSeriesMouseOver: ge,
1053
+ graphID: re,
1054
+ suffix: le = "",
1055
+ prefix: pe = "",
1056
+ maxValue: v,
1057
+ minValue: _,
1058
+ onSeriesMouseClick: fe,
1059
+ graphDownload: ne = !1,
1060
+ dataDownload: d = !1,
1061
+ showValues: h = !0,
1062
+ sortParameter: V,
1063
+ arrowConnector: oe = !1,
1064
+ connectorStrokeWidth: f = 2,
1065
+ language: s = "en",
1066
+ minHeight: N = 0,
1067
+ theme: G = "light",
1068
+ maxBarThickness: z,
1069
+ maxNumberOfBars: A,
1070
+ minBarThickness: w,
1071
+ ariaLabel: u,
1072
+ resetSelectionOnDoubleClick: m = !0,
1073
+ detailsOnClick: Y,
1074
+ axisTitle: E,
1075
+ noOfTicks: K = 5,
1076
+ valueColor: H,
1077
+ styles: j,
1078
+ classNames: y,
1079
+ labelOrder: T,
1080
+ refValues: Q,
1081
+ filterNA: S = !0,
1082
+ animate: P = !1,
1083
+ precision: R = 2,
1084
+ customLayers: k = [],
1085
+ showColorScale: g = !0,
1086
+ highlightedDataPoints: $ = [],
1087
+ dimmedOpacity: a = 0.3,
1088
+ timeline: t = { enabled: !1, autoplay: !1, showOnlyActiveDate: !0 }
1089
+ } = ye, [l, p] = L(0), [he, Me] = L(0), [ue, Ve] = L(t.autoplay), c = Se(
1090
+ Be(
1091
+ o.filter((e) => e.date !== void 0 && e.date !== null),
1092
+ (e) => e.date
1093
+ ).map((e) => Ae(`${e.date}`, t.dateFormat || "yyyy", /* @__PURE__ */ new Date()).getTime()),
1094
+ (e, r) => it(e, r)
1095
+ ), [be, ve] = L(t.autoplay ? 0 : c.length - 1), [Te, $e] = L(void 0), xe = Ce(null), je = Ce(null);
1096
+ Ne(() => {
1097
+ const e = new ResizeObserver((r) => {
1098
+ p(n || r[0].target.clientWidth || 620), Me(D || r[0].target.clientHeight || 480);
1099
+ });
1100
+ return xe.current && (Me(xe.current.clientHeight || 480), p(xe.current.clientWidth || 620), n || e.observe(xe.current)), () => e.disconnect();
1101
+ }, [n, D]), Ne(() => {
1102
+ const e = setInterval(
1103
+ () => {
1104
+ ve((r) => r < c.length - 1 ? r + 1 : 0);
1105
+ },
1106
+ (t.speed || 2) * 1e3
1107
+ );
1108
+ return ue || clearInterval(e), () => clearInterval(e);
1109
+ }, [c, ue, t.speed]);
1110
+ const Oe = Pe(
1111
+ c,
1112
+ be,
1113
+ t.showOnlyActiveDate,
1114
+ t.dateFormat || "yyyy"
1115
+ );
1116
+ return /* @__PURE__ */ i.jsx(
1117
+ "div",
1118
+ {
1119
+ className: `${G || "light"} flex ${n ? "w-fit grow-0" : "w-full grow"}`,
1120
+ dir: s === "he" || s === "ar" ? "rtl" : void 0,
1121
+ children: /* @__PURE__ */ i.jsx(
1122
+ "div",
1123
+ {
1124
+ className: ke(
1125
+ `${C ? C === !0 ? "bg-primary-gray-200 dark:bg-primary-gray-650 " : "" : "bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${s || "en"}`,
1126
+ y?.graphContainer
1127
+ ),
1128
+ style: {
1129
+ ...j?.graphContainer || {},
1130
+ ...C && C !== !0 ? { backgroundColor: C } : {}
1131
+ },
1132
+ id: re,
1133
+ ref: je,
1134
+ "aria-label": u || `${x ? `The graph shows ${x}. ` : ""}This is a dumbbell chart that shows comparisons between two or more data points across categories. ${b ? ` ${b}` : ""}`,
1135
+ children: /* @__PURE__ */ i.jsx(
1136
+ "div",
1137
+ {
1138
+ className: "flex grow",
1139
+ style: { padding: C ? W || "1rem" : W || 0 },
1140
+ children: /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col w-full gap-4 grow justify-between", children: [
1141
+ x || b || ne || d ? /* @__PURE__ */ i.jsx(
1142
+ Ue,
1143
+ {
1144
+ styles: {
1145
+ title: j?.title,
1146
+ description: j?.description
1147
+ },
1148
+ classNames: {
1149
+ title: y?.title,
1150
+ description: y?.description
1151
+ },
1152
+ graphTitle: x,
1153
+ graphDescription: b,
1154
+ width: n,
1155
+ graphDownload: ne ? je.current : void 0,
1156
+ dataDownload: d ? o.map((e) => e.data).filter((e) => e !== void 0).length > 0 ? o.map((e) => e.data).filter((e) => e !== void 0) : o.filter((e) => e !== void 0) : null
1157
+ }
1158
+ ) : null,
1159
+ t.enabled && c.length > 0 && Oe ? /* @__PURE__ */ i.jsxs("div", { className: "flex gap-6 items-center", dir: "ltr", children: [
1160
+ /* @__PURE__ */ i.jsx(
1161
+ "button",
1162
+ {
1163
+ type: "button",
1164
+ onClick: () => {
1165
+ Ve(!ue);
1166
+ },
1167
+ className: "p-0 border-0 cursor-pointer bg-transparent",
1168
+ "aria-label": ue ? "Click to pause animation" : "Click to play animation",
1169
+ children: ue ? /* @__PURE__ */ i.jsx(et, {}) : /* @__PURE__ */ i.jsx(tt, {})
1170
+ }
1171
+ ),
1172
+ /* @__PURE__ */ i.jsx(
1173
+ Fe,
1174
+ {
1175
+ min: c[0],
1176
+ max: c[c.length - 1],
1177
+ marks: Oe,
1178
+ step: null,
1179
+ defaultValue: c[c.length - 1],
1180
+ value: c[be],
1181
+ onChangeComplete: (e) => {
1182
+ ve(c.indexOf(e));
1183
+ },
1184
+ onChange: (e) => {
1185
+ ve(c.indexOf(e));
1186
+ },
1187
+ "aria-label": "Time slider. Use arrow keys to adjust selected time period."
1188
+ }
1189
+ )
1190
+ ] }) : null,
1191
+ /* @__PURE__ */ i.jsx("div", { className: "grow flex flex-col justify-center gap-3 w-full", children: o.length === 0 ? /* @__PURE__ */ i.jsx(Ze, {}) : /* @__PURE__ */ i.jsxs(i.Fragment, { children: [
1192
+ g ? /* @__PURE__ */ i.jsx(
1193
+ Ke,
1194
+ {
1195
+ width: n,
1196
+ colorDomain: me,
1197
+ colors: q,
1198
+ colorLegendTitle: O,
1199
+ setSelectedColor: $e,
1200
+ showNAColor: !1
1201
+ }
1202
+ ) : null,
1203
+ /* @__PURE__ */ i.jsx(
1204
+ "div",
1205
+ {
1206
+ className: "flex grow w-full justify-center leading-0",
1207
+ ref: xe,
1208
+ "aria-label": "Graph area",
1209
+ children: (n || l) && (D || he) ? /* @__PURE__ */ i.jsx(
1210
+ mt,
1211
+ {
1212
+ data: V !== void 0 ? V === "diff" ? De(
1213
+ we(
1214
+ o,
1215
+ t.dateFormat || "yyyy"
1216
+ ).filter(
1217
+ (e) => t.enabled ? e.date === Ie(
1218
+ new Date(c[be]),
1219
+ t.dateFormat || "yyyy"
1220
+ ) : e
1221
+ ).filter((e) => S ? !e.x.every((r) => r == null) : e),
1222
+ (e) => F(e.x[e.x.length - 1]) || F(e.x[0]) ? -1 / 0 : e.x[e.x.length - 1] - e.x[0]
1223
+ ).filter((e, r) => A ? r < A : !0) : De(
1224
+ we(
1225
+ o,
1226
+ t.dateFormat || "yyyy"
1227
+ ).filter(
1228
+ (e) => t.enabled ? e.date === Ie(
1229
+ new Date(c[be]),
1230
+ t.dateFormat || "yyyy"
1231
+ ) : e
1232
+ ).filter((e) => S ? !e.x.every((r) => r == null) : e),
1233
+ (e) => F(e.x[V]) ? -1 / 0 : e.x[V]
1234
+ ).filter((e, r) => A ? r < A : !0) : we(
1235
+ o,
1236
+ t.dateFormat || "yyyy"
1237
+ ).filter((e) => S ? !e.x.every((r) => r == null) : e).filter((e, r) => A ? r < A : !0),
1238
+ dotColors: q,
1239
+ width: n || l,
1240
+ height: Math.max(
1241
+ N,
1242
+ D || (M ? N ? (n || l) * M > N ? (n || l) * M : N : (n || l) * M : he)
1243
+ ),
1244
+ radius: ae,
1245
+ barPadding: ce,
1246
+ showTicks: Z,
1247
+ leftMargin: ee,
1248
+ rightMargin: de,
1249
+ topMargin: te,
1250
+ bottomMargin: ie,
1251
+ truncateBy: J,
1252
+ showLabels: I,
1253
+ showValues: h,
1254
+ tooltip: X,
1255
+ suffix: le,
1256
+ prefix: pe,
1257
+ onSeriesMouseOver: ge,
1258
+ maxValue: F(v) ? Math.max(
1259
+ ...o.map((e) => Math.max(...e.x.filter((r) => r !== null)))
1260
+ ) < 0 ? 0 : Math.max(
1261
+ ...o.map((e) => Math.max(...e.x.filter((r) => r !== null)))
1262
+ ) : v,
1263
+ minValue: F(_) ? Math.min(
1264
+ ...o.map((e) => Math.min(...e.x.filter((r) => r !== null)))
1265
+ ) > 0 ? 0 : Math.min(
1266
+ ...o.map((e) => Math.min(...e.x.filter((r) => r !== null)))
1267
+ ) : _,
1268
+ onSeriesMouseClick: fe,
1269
+ selectedColor: Te,
1270
+ arrowConnector: oe,
1271
+ connectorStrokeWidth: f,
1272
+ maxBarThickness: z,
1273
+ minBarThickness: w,
1274
+ resetSelectionOnDoubleClick: m,
1275
+ detailsOnClick: Y,
1276
+ axisTitle: E,
1277
+ noOfTicks: K,
1278
+ valueColor: H,
1279
+ styles: j,
1280
+ classNames: y,
1281
+ labelOrder: T,
1282
+ refValues: Q,
1283
+ animate: P === !0 ? { duration: 0.5, once: !0, amount: 0.5 } : P || { duration: 0, once: !0, amount: 0 },
1284
+ precision: R,
1285
+ customLayers: k,
1286
+ highlightedDataPoints: $,
1287
+ dimmedOpacity: a
1288
+ }
1289
+ ) : null
1290
+ }
1291
+ )
1292
+ ] }) }),
1293
+ U || B ? /* @__PURE__ */ i.jsx(
1294
+ Je,
1295
+ {
1296
+ styles: { footnote: j?.footnote, source: j?.source },
1297
+ classNames: {
1298
+ footnote: y?.footnote,
1299
+ source: y?.source
1300
+ },
1301
+ sources: U,
1302
+ footNote: B,
1303
+ width: n
1304
+ }
1305
+ ) : null
1306
+ ] })
1307
+ }
1308
+ )
1309
+ }
1310
+ )
1311
+ }
1312
+ );
1313
+ }
1314
+ function Gt(ye) {
1315
+ const {
1316
+ data: o,
1317
+ graphTitle: x,
1318
+ colors: q,
1319
+ sources: U,
1320
+ graphDescription: b,
1321
+ barPadding: ce,
1322
+ showTicks: Z,
1323
+ leftMargin: ee,
1324
+ rightMargin: de,
1325
+ topMargin: te,
1326
+ bottomMargin: ie,
1327
+ truncateBy: J,
1328
+ height: D,
1329
+ width: n,
1330
+ footNote: B,
1331
+ colorDomain: me,
1332
+ colorLegendTitle: O,
1333
+ padding: W,
1334
+ backgroundColor: C,
1335
+ radius: ae,
1336
+ tooltip: X,
1337
+ showLabels: I,
1338
+ relativeHeight: M,
1339
+ onSeriesMouseOver: ge,
1340
+ graphID: re,
1341
+ suffix: le,
1342
+ prefix: pe,
1343
+ maxValue: v,
1344
+ minValue: _,
1345
+ onSeriesMouseClick: fe,
1346
+ graphDownload: ne,
1347
+ dataDownload: d,
1348
+ showValues: h,
1349
+ sortParameter: V,
1350
+ arrowConnector: oe,
1351
+ connectorStrokeWidth: f,
1352
+ language: s,
1353
+ minHeight: N,
1354
+ theme: G,
1355
+ maxBarThickness: z,
1356
+ maxNumberOfBars: A,
1357
+ minBarThickness: w,
1358
+ ariaLabel: u,
1359
+ resetSelectionOnDoubleClick: m,
1360
+ detailsOnClick: Y,
1361
+ axisTitle: E,
1362
+ noOfTicks: K,
1363
+ valueColor: H,
1364
+ orientation: j = "vertical",
1365
+ styles: y,
1366
+ classNames: T,
1367
+ labelOrder: Q,
1368
+ refValues: S,
1369
+ filterNA: P,
1370
+ animate: R,
1371
+ precision: k,
1372
+ showColorScale: g,
1373
+ customLayers: $,
1374
+ highlightedDataPoints: a,
1375
+ dimmedOpacity: t,
1376
+ timeline: l
1377
+ } = ye;
1378
+ return j === "vertical" ? /* @__PURE__ */ i.jsx(
1379
+ ht,
1380
+ {
1381
+ data: o,
1382
+ graphTitle: x,
1383
+ colors: q,
1384
+ sources: U,
1385
+ graphDescription: b,
1386
+ barPadding: ce,
1387
+ showTicks: Z,
1388
+ leftMargin: ee,
1389
+ rightMargin: de,
1390
+ topMargin: te,
1391
+ bottomMargin: ie,
1392
+ truncateBy: J,
1393
+ height: D,
1394
+ width: n,
1395
+ footNote: B,
1396
+ colorDomain: me,
1397
+ colorLegendTitle: O,
1398
+ padding: W,
1399
+ backgroundColor: C,
1400
+ radius: ae,
1401
+ tooltip: X,
1402
+ showLabels: I,
1403
+ relativeHeight: M,
1404
+ onSeriesMouseOver: ge,
1405
+ graphID: re,
1406
+ suffix: le,
1407
+ prefix: pe,
1408
+ maxValue: v,
1409
+ minValue: _,
1410
+ onSeriesMouseClick: fe,
1411
+ graphDownload: ne,
1412
+ dataDownload: d,
1413
+ showValues: h,
1414
+ sortParameter: V,
1415
+ arrowConnector: oe,
1416
+ connectorStrokeWidth: f,
1417
+ language: s,
1418
+ minHeight: N,
1419
+ theme: G,
1420
+ maxBarThickness: z,
1421
+ maxNumberOfBars: A,
1422
+ minBarThickness: w,
1423
+ ariaLabel: u,
1424
+ resetSelectionOnDoubleClick: m,
1425
+ styles: y,
1426
+ detailsOnClick: Y,
1427
+ axisTitle: E,
1428
+ noOfTicks: K,
1429
+ labelOrder: Q,
1430
+ valueColor: H,
1431
+ classNames: T,
1432
+ refValues: S,
1433
+ filterNA: P,
1434
+ animate: R,
1435
+ precision: k,
1436
+ showColorScale: g,
1437
+ customLayers: $,
1438
+ highlightedDataPoints: a,
1439
+ dimmedOpacity: t,
1440
+ timeline: l
1441
+ }
1442
+ ) : /* @__PURE__ */ i.jsx(
1443
+ dt,
1444
+ {
1445
+ data: o,
1446
+ graphTitle: x,
1447
+ colors: q,
1448
+ sources: U,
1449
+ graphDescription: b,
1450
+ barPadding: ce,
1451
+ showTicks: Z,
1452
+ leftMargin: ee,
1453
+ rightMargin: de,
1454
+ topMargin: te,
1455
+ bottomMargin: ie,
1456
+ truncateBy: J,
1457
+ height: D,
1458
+ width: n,
1459
+ footNote: B,
1460
+ colorDomain: me,
1461
+ colorLegendTitle: O,
1462
+ padding: W,
1463
+ backgroundColor: C,
1464
+ radius: ae,
1465
+ tooltip: X,
1466
+ showLabels: I,
1467
+ relativeHeight: M,
1468
+ onSeriesMouseOver: ge,
1469
+ graphID: re,
1470
+ suffix: le,
1471
+ prefix: pe,
1472
+ maxValue: v,
1473
+ minValue: _,
1474
+ onSeriesMouseClick: fe,
1475
+ graphDownload: ne,
1476
+ dataDownload: d,
1477
+ showValues: h,
1478
+ sortParameter: V,
1479
+ arrowConnector: oe,
1480
+ connectorStrokeWidth: f,
1481
+ language: s,
1482
+ minHeight: N,
1483
+ theme: G,
1484
+ maxBarThickness: z,
1485
+ maxNumberOfBars: A,
1486
+ minBarThickness: w,
1487
+ ariaLabel: u,
1488
+ resetSelectionOnDoubleClick: m,
1489
+ styles: y,
1490
+ detailsOnClick: Y,
1491
+ axisTitle: E,
1492
+ noOfTicks: K,
1493
+ valueColor: H,
1494
+ classNames: T,
1495
+ labelOrder: Q,
1496
+ refValues: S,
1497
+ filterNA: P,
1498
+ animate: R,
1499
+ precision: k,
1500
+ showColorScale: g,
1501
+ customLayers: $,
1502
+ highlightedDataPoints: a,
1503
+ dimmedOpacity: t,
1504
+ timeline: l
1505
+ }
1506
+ );
1507
+ }
1508
+ export {
1509
+ Gt as DumbbellChart
1510
+ };
2
1511
  //# sourceMappingURL=DumbbellChart.js.map