@undp/data-viz 2.5.4 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.cjs.map +1 -1
  3. package/dist/AreaChart.js +17 -16
  4. package/dist/AreaChart.js.map +1 -1
  5. package/dist/Axis-DY7jsk1Y.cjs +2 -0
  6. package/dist/{Axis-BTaS9oPQ.cjs.map → Axis-DY7jsk1Y.cjs.map} +1 -1
  7. package/dist/{Axis-CNZYWzH0.js → Axis-RRx-0Rlw.js} +9 -8
  8. package/dist/{Axis-CNZYWzH0.js.map → Axis-RRx-0Rlw.js.map} +1 -1
  9. package/dist/AxisTitle-B9F80_Z0.js +30 -0
  10. package/dist/AxisTitle-B9F80_Z0.js.map +1 -0
  11. package/dist/AxisTitle-CyFFbdNU.cjs +2 -0
  12. package/dist/{AxisTitle-DP_evhbe.cjs.map → AxisTitle-CyFFbdNU.cjs.map} +1 -1
  13. package/dist/BarGraph.cjs +1 -1
  14. package/dist/BarGraph.cjs.map +1 -1
  15. package/dist/BarGraph.js +203 -201
  16. package/dist/BarGraph.js.map +1 -1
  17. package/dist/BasicStatCard.cjs +1 -1
  18. package/dist/BasicStatCard.cjs.map +1 -1
  19. package/dist/BasicStatCard.js +15 -14
  20. package/dist/BasicStatCard.js.map +1 -1
  21. package/dist/BeeSwarmChart.cjs +1 -1
  22. package/dist/BeeSwarmChart.cjs.map +1 -1
  23. package/dist/BeeSwarmChart.js +60 -59
  24. package/dist/BeeSwarmChart.js.map +1 -1
  25. package/dist/BiVariateChoroplethMap.cjs +1 -1
  26. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  27. package/dist/BiVariateChoroplethMap.js +88 -86
  28. package/dist/BiVariateChoroplethMap.js.map +1 -1
  29. package/dist/BulletChart.cjs +1 -1
  30. package/dist/BulletChart.cjs.map +1 -1
  31. package/dist/BulletChart.js +88 -86
  32. package/dist/BulletChart.js.map +1 -1
  33. package/dist/ButterflyChart.cjs +1 -1
  34. package/dist/ButterflyChart.cjs.map +1 -1
  35. package/dist/ButterflyChart.js +100 -98
  36. package/dist/ButterflyChart.js.map +1 -1
  37. package/dist/ChoroplethMap.cjs +1 -1
  38. package/dist/ChoroplethMap.cjs.map +1 -1
  39. package/dist/ChoroplethMap.js +83 -81
  40. package/dist/ChoroplethMap.js.map +1 -1
  41. package/dist/CirclePackingGraph.cjs +1 -1
  42. package/dist/CirclePackingGraph.js +4 -4
  43. package/dist/ColorLegend.cjs +1 -1
  44. package/dist/ColorLegend.cjs.map +1 -1
  45. package/dist/ColorLegend.js +17 -16
  46. package/dist/ColorLegend.js.map +1 -1
  47. package/dist/ColorLegendWithMouseOver.cjs +1 -1
  48. package/dist/ColorLegendWithMouseOver.cjs.map +1 -1
  49. package/dist/ColorLegendWithMouseOver.js +13 -12
  50. package/dist/ColorLegendWithMouseOver.js.map +1 -1
  51. package/dist/CopyTextButton.cjs +1 -1
  52. package/dist/CopyTextButton.cjs.map +1 -1
  53. package/dist/CopyTextButton.js +37 -754
  54. package/dist/CopyTextButton.js.map +1 -1
  55. package/dist/CsvDownloadButton.cjs +4 -4
  56. package/dist/CsvDownloadButton.cjs.map +1 -1
  57. package/dist/CsvDownloadButton.js +47 -45
  58. package/dist/CsvDownloadButton.js.map +1 -1
  59. package/dist/DataCards.cjs +1 -1
  60. package/dist/DataCards.cjs.map +1 -1
  61. package/dist/DataCards.js +213 -467
  62. package/dist/DataCards.js.map +1 -1
  63. package/dist/DataTable.cjs +1 -1
  64. package/dist/DataTable.cjs.map +1 -1
  65. package/dist/DataTable.js +19 -19
  66. package/dist/DetailsModal-BmjtLqrZ.cjs +2 -0
  67. package/dist/{DetailsModal-Du8Fr1QD.cjs.map → DetailsModal-BmjtLqrZ.cjs.map} +1 -1
  68. package/dist/{DetailsModal-GqEbGHY2.js → DetailsModal-k-Me_U_T.js} +3 -3
  69. package/dist/{DetailsModal-GqEbGHY2.js.map → DetailsModal-k-Me_U_T.js.map} +1 -1
  70. package/dist/DifferenceLineChart.cjs +1 -1
  71. package/dist/DifferenceLineChart.cjs.map +1 -1
  72. package/dist/DifferenceLineChart.js +61 -60
  73. package/dist/DifferenceLineChart.js.map +1 -1
  74. package/dist/DonutChart.cjs +1 -1
  75. package/dist/DonutChart.cjs.map +1 -1
  76. package/dist/DonutChart.js +47 -46
  77. package/dist/DonutChart.js.map +1 -1
  78. package/dist/DotDensityMap.cjs +1 -1
  79. package/dist/DotDensityMap.cjs.map +1 -1
  80. package/dist/DotDensityMap.js +112 -110
  81. package/dist/DotDensityMap.js.map +1 -1
  82. package/dist/DualAxisLineChart.cjs +1 -1
  83. package/dist/DualAxisLineChart.cjs.map +1 -1
  84. package/dist/DualAxisLineChart.js +13 -12
  85. package/dist/DualAxisLineChart.js.map +1 -1
  86. package/dist/DumbbellChart.cjs +1 -1
  87. package/dist/DumbbellChart.cjs.map +1 -1
  88. package/dist/DumbbellChart.js +104 -102
  89. package/dist/DumbbellChart.js.map +1 -1
  90. package/dist/EmptyState-BoaUUuo6.cjs +2 -0
  91. package/dist/{EmptyState-CFmiFPHz.cjs.map → EmptyState-BoaUUuo6.cjs.map} +1 -1
  92. package/dist/{EmptyState-CaxXCkiN.js → EmptyState-prZ8OnEs.js} +4 -4
  93. package/dist/{EmptyState-CaxXCkiN.js.map → EmptyState-prZ8OnEs.js.map} +1 -1
  94. package/dist/ExcelDownloadButton.cjs +1 -1
  95. package/dist/ExcelDownloadButton.cjs.map +1 -1
  96. package/dist/ExcelDownloadButton.js +15 -13
  97. package/dist/ExcelDownloadButton.js.map +1 -1
  98. package/dist/FootNote.cjs +1 -1
  99. package/dist/FootNote.cjs.map +1 -1
  100. package/dist/FootNote.js +10 -9
  101. package/dist/FootNote.js.map +1 -1
  102. package/dist/GeoHubCompareMaps.cjs +1 -1
  103. package/dist/GeoHubCompareMaps.cjs.map +1 -1
  104. package/dist/GeoHubCompareMaps.js +14 -14
  105. package/dist/GeoHubMap.cjs +1 -1
  106. package/dist/GeoHubMap.cjs.map +1 -1
  107. package/dist/GeoHubMap.js +59 -59
  108. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  109. package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
  110. package/dist/GeoHubMapWithLayerSelection.js +50 -50
  111. package/dist/{GraphContainer-B8ZqOzKI.js → GraphContainer-DcOM2CI6.js} +28 -27
  112. package/dist/GraphContainer-DcOM2CI6.js.map +1 -0
  113. package/dist/GraphContainer-gaG9TSy4.cjs +2 -0
  114. package/dist/{GraphContainer-Cul9b74X.cjs.map → GraphContainer-gaG9TSy4.cjs.map} +1 -1
  115. package/dist/GraphDescription.cjs +1 -1
  116. package/dist/GraphDescription.cjs.map +1 -1
  117. package/dist/GraphDescription.js +14 -13
  118. package/dist/GraphDescription.js.map +1 -1
  119. package/dist/{GraphEl-Ch0uAeZw.js → GraphEl-C7KBBHvB.js} +9 -9
  120. package/dist/{GraphEl-Ch0uAeZw.js.map → GraphEl-C7KBBHvB.js.map} +1 -1
  121. package/dist/GraphEl-CGALp07K.cjs +2 -0
  122. package/dist/{GraphEl-BgkDbq50.cjs.map → GraphEl-CGALp07K.cjs.map} +1 -1
  123. package/dist/GraphFooter.cjs +1 -1
  124. package/dist/GraphFooter.cjs.map +1 -1
  125. package/dist/GraphFooter.js +2 -2
  126. package/dist/GraphHeader.cjs +1 -1
  127. package/dist/GraphHeader.cjs.map +1 -1
  128. package/dist/GraphHeader.js +1 -1
  129. package/dist/GraphTitle.cjs +1 -1
  130. package/dist/GraphTitle.cjs.map +1 -1
  131. package/dist/GraphTitle.js +14 -13
  132. package/dist/GraphTitle.js.map +1 -1
  133. package/dist/GriddedGraphs.cjs +1 -1
  134. package/dist/GriddedGraphs.cjs.map +1 -1
  135. package/dist/GriddedGraphs.js +58 -55
  136. package/dist/GriddedGraphs.js.map +1 -1
  137. package/dist/GriddedGraphsFromConfig.cjs +1 -1
  138. package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
  139. package/dist/GriddedGraphsFromConfig.js +15 -15
  140. package/dist/HeatMap.cjs +1 -1
  141. package/dist/HeatMap.cjs.map +1 -1
  142. package/dist/HeatMap.js +17 -16
  143. package/dist/HeatMap.js.map +1 -1
  144. package/dist/Histogram.cjs +1 -1
  145. package/dist/Histogram.cjs.map +1 -1
  146. package/dist/Histogram.js +3 -3
  147. package/dist/HybridMap.cjs +1 -1
  148. package/dist/HybridMap.cjs.map +1 -1
  149. package/dist/HybridMap.js +392 -424
  150. package/dist/HybridMap.js.map +1 -1
  151. package/dist/ImageDownloadButton.cjs +1 -1
  152. package/dist/ImageDownloadButton.cjs.map +1 -1
  153. package/dist/ImageDownloadButton.js +16 -14
  154. package/dist/ImageDownloadButton.js.map +1 -1
  155. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  156. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  157. package/dist/LineChartWithConfidenceInterval.js +16 -15
  158. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  159. package/dist/LinearColorLegend.cjs +1 -1
  160. package/dist/LinearColorLegend.cjs.map +1 -1
  161. package/dist/LinearColorLegend.js +5 -4
  162. package/dist/LinearColorLegend.js.map +1 -1
  163. package/dist/MultiGraphDashboard.cjs +1 -1
  164. package/dist/MultiGraphDashboard.cjs.map +1 -1
  165. package/dist/MultiGraphDashboard.js +62 -60
  166. package/dist/MultiGraphDashboard.js.map +1 -1
  167. package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
  168. package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
  169. package/dist/MultiGraphDashboardFromConfig.js +7 -7
  170. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  171. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -1
  172. package/dist/MultiGraphDashboardWideToLongFormat.js +21 -21
  173. package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
  174. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
  175. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
  176. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +3 -3
  177. package/dist/MultiLineAltChart.cjs +1 -1
  178. package/dist/MultiLineAltChart.cjs.map +1 -1
  179. package/dist/MultiLineAltChart.js +16 -15
  180. package/dist/MultiLineAltChart.js.map +1 -1
  181. package/dist/MultiLineChart.cjs +1 -1
  182. package/dist/MultiLineChart.cjs.map +1 -1
  183. package/dist/MultiLineChart.js +16 -15
  184. package/dist/MultiLineChart.js.map +1 -1
  185. package/dist/ParetoChart.cjs +1 -1
  186. package/dist/ParetoChart.cjs.map +1 -1
  187. package/dist/ParetoChart.js +14 -13
  188. package/dist/ParetoChart.js.map +1 -1
  189. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  190. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  191. package/dist/PerformanceIntensiveMultiGraphDashboard.js +67 -65
  192. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  193. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
  194. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
  195. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +8 -8
  196. package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
  197. package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
  198. package/dist/PerformanceIntensiveScrollStory.js +3 -3
  199. package/dist/RadarChart.cjs +1 -1
  200. package/dist/RadarChart.cjs.map +1 -1
  201. package/dist/RadarChart.js +11 -10
  202. package/dist/RadarChart.js.map +1 -1
  203. package/dist/ReferenceLine-CxITVT1K.cjs +2 -0
  204. package/dist/{ReferenceLine-CpU4G01Y.cjs.map → ReferenceLine-CxITVT1K.cjs.map} +1 -1
  205. package/dist/{ReferenceLine-D41VuUhE.js → ReferenceLine-NF4g3Reh.js} +26 -25
  206. package/dist/ReferenceLine-NF4g3Reh.js.map +1 -0
  207. package/dist/RegressionLine-BQ6h-NZP.js +88 -0
  208. package/dist/RegressionLine-BQ6h-NZP.js.map +1 -0
  209. package/dist/RegressionLine-BpcVBjL0.cjs +2 -0
  210. package/dist/{RegressionLine-BFoBiVJk.cjs.map → RegressionLine-BpcVBjL0.cjs.map} +1 -1
  211. package/dist/SVGDownloadButton.cjs +1 -1
  212. package/dist/SVGDownloadButton.cjs.map +1 -1
  213. package/dist/SVGDownloadButton.js +11 -9
  214. package/dist/SVGDownloadButton.js.map +1 -1
  215. package/dist/SankeyChart.cjs +1 -1
  216. package/dist/SankeyChart.cjs.map +1 -1
  217. package/dist/SankeyChart.js +63 -62
  218. package/dist/SankeyChart.js.map +1 -1
  219. package/dist/ScatterPlot.cjs +1 -1
  220. package/dist/ScatterPlot.cjs.map +1 -1
  221. package/dist/ScatterPlot.js +109 -107
  222. package/dist/ScatterPlot.js.map +1 -1
  223. package/dist/ScrollStory.cjs +1 -1
  224. package/dist/ScrollStory.cjs.map +1 -1
  225. package/dist/ScrollStory.js +3 -3
  226. package/dist/SimpleLineChart.cjs +1 -1
  227. package/dist/SimpleLineChart.cjs.map +1 -1
  228. package/dist/SimpleLineChart.js +17 -16
  229. package/dist/SimpleLineChart.js.map +1 -1
  230. package/dist/SingleGraphDashboard.cjs +1 -1
  231. package/dist/SingleGraphDashboard.cjs.map +1 -1
  232. package/dist/SingleGraphDashboard.js +59 -56
  233. package/dist/SingleGraphDashboard.js.map +1 -1
  234. package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
  235. package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
  236. package/dist/SingleGraphDashboardFromConfig.js +6 -6
  237. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
  238. package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -1
  239. package/dist/SingleGraphDashboardGeoHubMaps.js +12 -12
  240. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
  241. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
  242. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +8 -8
  243. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  244. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  245. package/dist/SingleGraphDashboardThreeDGraphs.js +59 -56
  246. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  247. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
  248. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
  249. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +7 -7
  250. package/dist/SlopeChart.cjs +1 -1
  251. package/dist/SlopeChart.cjs.map +1 -1
  252. package/dist/SlopeChart.js +60 -59
  253. package/dist/SlopeChart.js.map +1 -1
  254. package/dist/Source.cjs +1 -1
  255. package/dist/Source.cjs.map +1 -1
  256. package/dist/Source.js +38 -4
  257. package/dist/Source.js.map +1 -1
  258. package/dist/SparkLine.cjs +1 -1
  259. package/dist/SparkLine.cjs.map +1 -1
  260. package/dist/SparkLine.js +11 -10
  261. package/dist/SparkLine.js.map +1 -1
  262. package/dist/StatCardFromData.cjs +1 -1
  263. package/dist/StatCardFromData.cjs.map +1 -1
  264. package/dist/StatCardFromData.js +15 -14
  265. package/dist/StatCardFromData.js.map +1 -1
  266. package/dist/StripChart.cjs +1 -1
  267. package/dist/StripChart.cjs.map +1 -1
  268. package/dist/StripChart.js +11 -10
  269. package/dist/StripChart.js.map +1 -1
  270. package/dist/ThreeDGlobe.cjs +1 -1
  271. package/dist/ThreeDGlobe.cjs.map +1 -1
  272. package/dist/ThreeDGlobe.js +52 -51
  273. package/dist/ThreeDGlobe.js.map +1 -1
  274. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  275. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
  276. package/dist/ThresholdColorLegendWithMouseOver.js +17 -16
  277. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  278. package/dist/{Tooltip-3EYDVa3w.js → Tooltip-DO56mY4b.js} +11 -10
  279. package/dist/{Tooltip-3EYDVa3w.js.map → Tooltip-DO56mY4b.js.map} +1 -1
  280. package/dist/Tooltip-DwUFLDrj.cjs +2 -0
  281. package/dist/{Tooltip-C9F3uYG0.cjs.map → Tooltip-DwUFLDrj.cjs.map} +1 -1
  282. package/dist/TreeMapGraph.cjs +1 -1
  283. package/dist/TreeMapGraph.cjs.map +1 -1
  284. package/dist/TreeMapGraph.js +34 -33
  285. package/dist/TreeMapGraph.js.map +1 -1
  286. package/dist/UnitChart.cjs +1 -1
  287. package/dist/UnitChart.cjs.map +1 -1
  288. package/dist/UnitChart.js +27 -27
  289. package/dist/WaterfallChart.cjs +1 -1
  290. package/dist/WaterfallChart.cjs.map +1 -1
  291. package/dist/WaterfallChart.js +21 -20
  292. package/dist/WaterfallChart.js.map +1 -1
  293. package/dist/XAxesLabels-0ROJnigy.cjs +2 -0
  294. package/dist/{XAxesLabels-C03jHniq.cjs.map → XAxesLabels-0ROJnigy.cjs.map} +1 -1
  295. package/dist/{XAxesLabels-B9gkjUiC.js → XAxesLabels-CPZX3OJN.js} +12 -11
  296. package/dist/XAxesLabels-CPZX3OJN.js.map +1 -0
  297. package/dist/XTicksAndGridLines-BO6KJc8d.cjs +2 -0
  298. package/dist/{XTicksAndGridLines-B4UhDVyU.cjs.map → XTicksAndGridLines-BO6KJc8d.cjs.map} +1 -1
  299. package/dist/{XTicksAndGridLines-CkYwVshF.js → XTicksAndGridLines-obTK2e7G.js} +10 -9
  300. package/dist/{XTicksAndGridLines-CkYwVshF.js.map → XTicksAndGridLines-obTK2e7G.js.map} +1 -1
  301. package/dist/{YAxesLabels-hWEUCTvs.js → YAxesLabels-CwVnFG2a.js} +13 -12
  302. package/dist/YAxesLabels-CwVnFG2a.js.map +1 -0
  303. package/dist/YAxesLabels-DIa2cEXL.cjs +2 -0
  304. package/dist/{YAxesLabels-DeENFC2M.cjs.map → YAxesLabels-DIa2cEXL.cjs.map} +1 -1
  305. package/dist/YTicksAndGridLines-C7glLI5b.cjs +2 -0
  306. package/dist/{YTicksAndGridLines-sT3zdCs6.cjs.map → YTicksAndGridLines-C7glLI5b.cjs.map} +1 -1
  307. package/dist/{YTicksAndGridLines-BbujwxOB.js → YTicksAndGridLines-wtuAKNeT.js} +10 -9
  308. package/dist/{YTicksAndGridLines-BbujwxOB.js.map → YTicksAndGridLines-wtuAKNeT.js.map} +1 -1
  309. package/dist/checkIfMultiple-BIEQDuA3.cjs +2 -0
  310. package/dist/checkIfMultiple-BIEQDuA3.cjs.map +1 -0
  311. package/dist/checkIfMultiple-D2tgEnYM.js +11 -0
  312. package/dist/checkIfMultiple-D2tgEnYM.js.map +1 -0
  313. package/dist/compiler-runtime-oPPev21o.cjs +11 -0
  314. package/dist/compiler-runtime-oPPev21o.cjs.map +1 -0
  315. package/dist/compiler-runtime-qHgugrLy.js +297 -0
  316. package/dist/compiler-runtime-qHgugrLy.js.map +1 -0
  317. package/dist/customArea-BCGIYDQa.cjs +2 -0
  318. package/dist/{customArea-BAcQ3pBM.cjs.map → customArea-BCGIYDQa.cjs.map} +1 -1
  319. package/dist/{customArea-D89lETG0.js → customArea-Dixg0NtQ.js} +10 -9
  320. package/dist/{customArea-D89lETG0.js.map → customArea-Dixg0NtQ.js.map} +1 -1
  321. package/dist/{fetchAndParseData-BAXhgTDM.js → fetchAndParseData-CDjQZ1fL.js} +5 -5
  322. package/dist/{fetchAndParseData-BAXhgTDM.js.map → fetchAndParseData-CDjQZ1fL.js.map} +1 -1
  323. package/dist/fetchAndParseData.js +1 -1
  324. package/dist/getSliderMarks-Bj_JJTtX.cjs +2 -0
  325. package/dist/getSliderMarks-Bj_JJTtX.cjs.map +1 -0
  326. package/dist/getSliderMarks-DSxFGb1f.js +21 -0
  327. package/dist/getSliderMarks-DSxFGb1f.js.map +1 -0
  328. package/dist/index-5BQWR1Z8.cjs +10 -0
  329. package/dist/{index-FXfr51ZM.cjs.map → index-5BQWR1Z8.cjs.map} +1 -1
  330. package/dist/index-BaXzoD4r.cjs +2 -0
  331. package/dist/{index-BuhBhuCq.cjs.map → index-BaXzoD4r.cjs.map} +1 -1
  332. package/dist/{index-Cv_5q6Rb.js → index-CNUlPiEL.js} +3 -3
  333. package/dist/{index-Cv_5q6Rb.js.map → index-CNUlPiEL.js.map} +1 -1
  334. package/dist/{index-DHVGV8Df.js → index-CmkqqFRG.js} +3 -3
  335. package/dist/{index-DHVGV8Df.js.map → index-CmkqqFRG.js.map} +1 -1
  336. package/dist/index-D_ls5oK8.js +142 -0
  337. package/dist/index-D_ls5oK8.js.map +1 -0
  338. package/dist/index-DbSnila_.cjs +2 -0
  339. package/dist/index-DbSnila_.cjs.map +1 -0
  340. package/dist/{index-BPyj_6hG.js → index-_w-CQAbR.js} +113 -112
  341. package/dist/{index-BPyj_6hG.js.map → index-_w-CQAbR.js.map} +1 -1
  342. package/dist/index-dN3wiQgD.cjs +2 -0
  343. package/dist/{index-DuLvdHo2.cjs.map → index-dN3wiQgD.cjs.map} +1 -1
  344. package/dist/index.cjs +1 -1
  345. package/dist/index.js +181 -180
  346. package/dist/index.js.map +1 -1
  347. package/dist/{proxy-BsxtcZKa.js → proxy-D31SA_aE.js} +2 -2
  348. package/dist/{proxy-BsxtcZKa.js.map → proxy-D31SA_aE.js.map} +1 -1
  349. package/dist/proxy-QMeVVqam.cjs +2 -0
  350. package/dist/{proxy-CqH8m8IQ.cjs.map → proxy-QMeVVqam.cjs.map} +1 -1
  351. package/dist/style.css +1 -1
  352. package/dist/transformData.js +2 -2
  353. package/dist/{transformDataForGraphFromFile-dt9sHTVy.js → transformDataForGraphFromFile-COZC6A0_.js} +4 -4
  354. package/dist/{transformDataForGraphFromFile-dt9sHTVy.js.map → transformDataForGraphFromFile-COZC6A0_.js.map} +1 -1
  355. package/dist/{use-in-view-KOXq5Kmc.js → use-in-view-Co5SmzfT.js} +2 -2
  356. package/dist/{use-in-view-KOXq5Kmc.js.map → use-in-view-Co5SmzfT.js.map} +1 -1
  357. package/dist/use-in-view-DjR_gqJP.cjs +2 -0
  358. package/dist/{use-in-view-dnRv_qqF.cjs.map → use-in-view-DjR_gqJP.cjs.map} +1 -1
  359. package/package.json +1 -1
  360. package/dist/Axis-BTaS9oPQ.cjs +0 -2
  361. package/dist/AxisTitle-CyLCqpW6.js +0 -29
  362. package/dist/AxisTitle-CyLCqpW6.js.map +0 -1
  363. package/dist/AxisTitle-DP_evhbe.cjs +0 -2
  364. package/dist/DetailsModal-Du8Fr1QD.cjs +0 -2
  365. package/dist/DropdownSelect-CX1yMemd.cjs +0 -5
  366. package/dist/DropdownSelect-CX1yMemd.cjs.map +0 -1
  367. package/dist/DropdownSelect-Dz7imdTB.js +0 -4191
  368. package/dist/DropdownSelect-Dz7imdTB.js.map +0 -1
  369. package/dist/EmptyState-CFmiFPHz.cjs +0 -2
  370. package/dist/GraphContainer-B8ZqOzKI.js.map +0 -1
  371. package/dist/GraphContainer-Cul9b74X.cjs +0 -2
  372. package/dist/GraphEl-BgkDbq50.cjs +0 -2
  373. package/dist/Modal-BIErPPKT.cjs +0 -46
  374. package/dist/Modal-BIErPPKT.cjs.map +0 -1
  375. package/dist/Modal-CrUYln5V.js +0 -1047
  376. package/dist/Modal-CrUYln5V.js.map +0 -1
  377. package/dist/ReferenceLine-CpU4G01Y.cjs +0 -2
  378. package/dist/ReferenceLine-D41VuUhE.js.map +0 -1
  379. package/dist/RegressionLine-BFoBiVJk.cjs +0 -2
  380. package/dist/RegressionLine-CuwB42I6.js +0 -87
  381. package/dist/RegressionLine-CuwB42I6.js.map +0 -1
  382. package/dist/Source-PKuwZOn3.cjs +0 -2
  383. package/dist/Source-PKuwZOn3.cjs.map +0 -1
  384. package/dist/Source-QGk8vhkS.js +0 -78
  385. package/dist/Source-QGk8vhkS.js.map +0 -1
  386. package/dist/Spinner-B2IIKg9r.js +0 -47
  387. package/dist/Spinner-B2IIKg9r.js.map +0 -1
  388. package/dist/Spinner-WHzzloYQ.cjs +0 -2
  389. package/dist/Spinner-WHzzloYQ.cjs.map +0 -1
  390. package/dist/Tooltip-C9F3uYG0.cjs +0 -2
  391. package/dist/Typography-BO0gQDIT.js +0 -270
  392. package/dist/Typography-BO0gQDIT.js.map +0 -1
  393. package/dist/Typography-BqmyF1gP.cjs +0 -2
  394. package/dist/Typography-BqmyF1gP.cjs.map +0 -1
  395. package/dist/XAxesLabels-B9gkjUiC.js.map +0 -1
  396. package/dist/XAxesLabels-C03jHniq.cjs +0 -2
  397. package/dist/XTicksAndGridLines-B4UhDVyU.cjs +0 -2
  398. package/dist/YAxesLabels-DeENFC2M.cjs +0 -2
  399. package/dist/YAxesLabels-hWEUCTvs.js.map +0 -1
  400. package/dist/YTicksAndGridLines-sT3zdCs6.cjs +0 -2
  401. package/dist/checkIfMultiple-CH5tqj4q.cjs +0 -2
  402. package/dist/checkIfMultiple-CH5tqj4q.cjs.map +0 -1
  403. package/dist/checkIfMultiple-Dpyy6BUP.js +0 -938
  404. package/dist/checkIfMultiple-Dpyy6BUP.js.map +0 -1
  405. package/dist/customArea-BAcQ3pBM.cjs +0 -2
  406. package/dist/getSliderMarks-BzrpHrHS.cjs +0 -2
  407. package/dist/getSliderMarks-BzrpHrHS.cjs.map +0 -1
  408. package/dist/getSliderMarks-X-_goqH9.js +0 -1027
  409. package/dist/getSliderMarks-X-_goqH9.js.map +0 -1
  410. package/dist/index-ApTBN0kp.js +0 -196
  411. package/dist/index-ApTBN0kp.js.map +0 -1
  412. package/dist/index-BhI7mBJx.cjs +0 -2
  413. package/dist/index-BhI7mBJx.cjs.map +0 -1
  414. package/dist/index-BuhBhuCq.cjs +0 -2
  415. package/dist/index-CHPV5EwG-BzibaIRc.js +0 -3360
  416. package/dist/index-CHPV5EwG-BzibaIRc.js.map +0 -1
  417. package/dist/index-CHPV5EwG-D4pAp7u0.cjs +0 -20
  418. package/dist/index-CHPV5EwG-D4pAp7u0.cjs.map +0 -1
  419. package/dist/index-DuLvdHo2.cjs +0 -2
  420. package/dist/index-FXfr51ZM.cjs +0 -10
  421. package/dist/index-Scxs_wcm-BAjU0Cob.js +0 -49
  422. package/dist/index-Scxs_wcm-BAjU0Cob.js.map +0 -1
  423. package/dist/index-Scxs_wcm-DUDU-Gll.cjs +0 -2
  424. package/dist/index-Scxs_wcm-DUDU-Gll.cjs.map +0 -1
  425. package/dist/index-w64Zl8io-DrMm5QSb.cjs +0 -2
  426. package/dist/index-w64Zl8io-DrMm5QSb.cjs.map +0 -1
  427. package/dist/index-w64Zl8io-ihagHOdP.js +0 -459
  428. package/dist/index-w64Zl8io-ihagHOdP.js.map +0 -1
  429. package/dist/proxy-CqH8m8IQ.cjs +0 -2
  430. package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs +0 -4
  431. package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs.map +0 -1
  432. package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js +0 -145
  433. package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js.map +0 -1
  434. package/dist/use-in-view-dnRv_qqF.cjs +0 -2
  435. package/dist/x-BXShoIAM-BC2sxios.cjs +0 -2
  436. package/dist/x-BXShoIAM-BC2sxios.cjs.map +0 -1
  437. package/dist/x-BXShoIAM-D6VWO6z5.js +0 -74
  438. package/dist/x-BXShoIAM-D6VWO6z5.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BeeSwarmChart.cjs","sources":["../src/Components/Graphs/BeeSwarmChart/Graph.tsx","../src/Components/Graphs/BeeSwarmChart/index.tsx"],"sourcesContent":["import isEqual from 'fast-deep-equal';\r\nimport { scaleLinear, scaleSqrt } from 'd3-scale';\r\nimport { forceCollide, forceManyBody, forceSimulation, forceX, forceY } from 'd3-force';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport orderBy from 'lodash.orderby';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { P } from '@undp/design-system-react/Typography';\r\n\r\nimport {\r\n BeeSwarmChartDataType,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { RefLineX, RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\n\r\ninterface BeeSwarmChartDataTypeForBubbleChart extends BeeSwarmChartDataType {\r\n x: number;\r\n y: number;\r\n vx: number;\r\n vy: number;\r\n}\r\n\r\ninterface Props {\r\n data: BeeSwarmChartDataType[];\r\n circleColors: string[];\r\n colorDomain: string[];\r\n showTicks: boolean;\r\n leftMargin?: number;\r\n rightMargin?: number;\r\n topMargin?: number;\r\n bottomMargin?: number;\r\n showLabels: boolean;\r\n width: number;\r\n height: number;\r\n suffix: string;\r\n prefix: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n refValues?: ReferenceDataType[];\r\n selectedColor?: string;\r\n startFromZero: boolean;\r\n radius: number;\r\n maxRadiusValue?: number;\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedDataPoints?: (string | number)[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n resetSelectionOnDoubleClick: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n noOfTicks: number;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n rtl?: boolean;\r\n hideAxisLine: boolean;\r\n locale: string;\r\n padZeros: boolean;\r\n}\r\n\r\nexport function VerticalGraph(props: Props) {\r\n const {\r\n data,\r\n circleColors,\r\n showTicks,\r\n width,\r\n height,\r\n colorDomain,\r\n topMargin = 25,\r\n bottomMargin = 10,\r\n leftMargin = 100,\r\n rightMargin = 40,\r\n suffix,\r\n prefix,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n startFromZero,\r\n radius,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n noOfTicks,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n hideAxisLine,\r\n locale,\r\n padZeros,\r\n } = props;\r\n const svgRef = useRef(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [finalData, setFinalData] = useState<BeeSwarmChartDataTypeForBubbleChart[] | null>(null);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataOrdered =\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)).length === 0\r\n ? data\r\n : orderBy(\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)),\r\n 'radius',\r\n 'desc',\r\n );\r\n const yMaxValue = !checkIfNullOrUndefined(maxValue)\r\n ? (maxValue as number)\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) < 0 &&\r\n !startFromZero\r\n ? 0\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n const yMinValue = !checkIfNullOrUndefined(minValue)\r\n ? (minValue as number)\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) >=\r\n 0 && !startFromZero\r\n ? 0\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n\r\n const radiusScale =\r\n data.filter(d => d.radius === undefined || d.radius === null).length !== data.length\r\n ? scaleSqrt()\r\n .domain([\r\n 0,\r\n checkIfNullOrUndefined(maxRadiusValue)\r\n ? Math.max(...data.map(d => d.radius).filter(d => d !== undefined && d !== null))\r\n : (maxRadiusValue as number),\r\n ])\r\n .range([0.25, radius])\r\n .nice()\r\n : undefined;\r\n const y = scaleLinear().domain([yMinValue, yMaxValue]).range([graphHeight, 0]).nice();\r\n const yTicks = y.ticks(noOfTicks);\r\n\r\n useEffect(() => {\r\n const dataTemp = (\r\n dataOrdered.map(d => ({\r\n ...d,\r\n ...(d.data && { data: { ...d.data } }),\r\n })) as BeeSwarmChartDataType[]\r\n ).filter(d => d.position);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceSimulation(dataTemp as any)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .force('y', forceY((d: any) => y(d.position as number)).strength(5))\r\n .force('x', forceX(_d => graphWidth / 2).strength(1))\r\n .force(\r\n 'collide',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceCollide((d: any) => (radiusScale ? radiusScale(d.radius || 0) + 1 : radius + 1)),\r\n )\r\n .force('charge', forceManyBody().strength(-15))\r\n .alphaDecay(0.05)\r\n .tick(10000)\r\n .on('tick', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n })\r\n .on('end', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n });\r\n }, [data, radius, graphHeight, graphWidth, yMinValue, yMaxValue, dataOrdered, y, radiusScale]);\r\n\r\n return (\r\n <>\r\n {finalData ? (\r\n <svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n {showTicks ? (\r\n <>\r\n <Axis\r\n hideAxisLine={hideAxisLine}\r\n y1={y(yMinValue < 0 ? 0 : yMinValue)}\r\n y2={y(yMinValue < 0 ? 0 : yMinValue)}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n label={\r\n showTicks\r\n ? numberFormattingFunction(\r\n yMinValue < 0 ? 0 : yMinValue,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n padZeros,\r\n )\r\n : undefined\r\n }\r\n labelPos={{\r\n x: 0 - margin.left,\r\n y: y(yMinValue < 0 ? 0 : yMinValue),\r\n dx: 0,\r\n dy: yMaxValue < 0 ? '1em' : -5,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n locale={locale}\r\n padZeros={padZeros}\r\n />\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n {finalData.map(d => (\r\n <g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n transform={`translate(${d.x},${d.y})`}\r\n opacity={\r\n selectedColor\r\n ? d.color\r\n ? circleColors[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85\r\n }\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <circle\r\n cx={0}\r\n cy={0}\r\n r={radiusScale ? radiusScale(d.radius || 0) : radius}\r\n fill={\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)]\r\n }\r\n />\r\n {(radiusScale ? radiusScale(d.radius || 0) : radius) > 10 && showLabels ? (\r\n <g>\r\n <foreignObject\r\n y={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n x={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n width={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n height={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n >\r\n <div className='flex flex-col justify-center items-center h-inherit py-0 px-1.5'>\r\n {showLabels ? (\r\n <p\r\n className={cn(\r\n 'text-center leading-none m-0',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n fontSize: `${Math.min(\r\n Math.max(\r\n Math.round(\r\n (radiusScale ? radiusScale(d.radius || 0) : radius) / 4,\r\n ),\r\n 10,\r\n ),\r\n Math.max(\r\n Math.round(\r\n ((radiusScale ? radiusScale(d.radius || 0) : radius) * 12) /\r\n `${d.label}`.length,\r\n ),\r\n 10,\r\n ),\r\n 20,\r\n )}px`,\r\n hyphens: 'auto',\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)],\r\n ),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {d.label}\r\n </p>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </g>\r\n ) : null}\r\n </g>\r\n ))}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n isInView={true}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </svg>\r\n ) : (\r\n <div style={{ width: `${width}px`, height: `${height}px` }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n )}\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n\r\nexport function HorizontalGraph(props: Props) {\r\n const {\r\n data,\r\n circleColors,\r\n showTicks,\r\n width,\r\n height,\r\n colorDomain,\r\n topMargin = 25,\r\n bottomMargin = 10,\r\n leftMargin = 10,\r\n rightMargin = 10,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n startFromZero,\r\n radius,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n rtl,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n suffix,\r\n prefix,\r\n styles,\r\n classNames,\r\n noOfTicks,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n hideAxisLine,\r\n locale,\r\n padZeros,\r\n } = props;\r\n const svgRef = useRef(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [finalData, setFinalData] = useState<BeeSwarmChartDataTypeForBubbleChart[] | null>(null);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataOrdered =\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)).length === 0\r\n ? data\r\n : orderBy(\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)),\r\n 'radius',\r\n 'desc',\r\n );\r\n const xMaxValue = !checkIfNullOrUndefined(maxValue)\r\n ? (maxValue as number)\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) < 0 &&\r\n !startFromZero\r\n ? 0\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n const xMinValue = !checkIfNullOrUndefined(minValue)\r\n ? (minValue as number)\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) >=\r\n 0 && !startFromZero\r\n ? 0\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n\r\n const radiusScale =\r\n data.filter(d => d.radius === undefined || d.radius === null).length !== data.length\r\n ? scaleSqrt()\r\n .domain([\r\n 0,\r\n checkIfNullOrUndefined(maxRadiusValue)\r\n ? Math.max(...data.map(d => d.radius).filter(d => d !== undefined && d !== null))\r\n : (maxRadiusValue as number),\r\n ])\r\n .range([0.25, radius])\r\n .nice()\r\n : undefined;\r\n const x = scaleLinear().domain([xMinValue, xMaxValue]).range([0, graphWidth]).nice();\r\n const xTicks = x.ticks(noOfTicks);\r\n\r\n useEffect(() => {\r\n const dataTemp = (\r\n dataOrdered.map(d => ({\r\n ...d,\r\n ...(d.data && { data: { ...d.data } }),\r\n })) as BeeSwarmChartDataType[]\r\n ).filter(d => d.position);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceSimulation(dataTemp as any)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .force('x', forceX((d: any) => x(d.position as number)).strength(5))\r\n .force('y', forceY(_d => graphHeight / 2).strength(1))\r\n .force(\r\n 'collide',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceCollide((d: any) => (radiusScale ? radiusScale(d.radius || 0) + 1 : radius + 1)),\r\n )\r\n .force('charge', forceManyBody().strength(-15))\r\n .alphaDecay(0.05)\r\n .tick(10000)\r\n .on('tick', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n })\r\n .on('end', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n });\r\n }, [data, radius, graphHeight, graphWidth, xMinValue, xMaxValue, dataOrdered, x, radiusScale]);\r\n\r\n return (\r\n <>\r\n {finalData ? (\r\n <svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n {showTicks ? (\r\n <>\r\n <Axis\r\n hideAxisLine={hideAxisLine}\r\n x1={x(xMinValue < 0 ? 0 : xMinValue)}\r\n x2={x(xMinValue < 0 ? 0 : xMinValue)}\r\n y1={0 - margin.top}\r\n y2={graphHeight + margin.bottom}\r\n label={\r\n showTicks\r\n ? numberFormattingFunction(\r\n xMinValue < 0 ? 0 : xMinValue,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n padZeros,\r\n )\r\n : undefined\r\n }\r\n labelPos={{\r\n x: x(xMinValue < 0 ? 0 : xMinValue),\r\n y: 0 - topMargin,\r\n dy: '0.75em',\r\n dx: 3,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <XTicksAndGridLines\r\n values={xTicks.filter(d => d !== 0)}\r\n x={xTicks.filter(d => d !== 0).map(d => x(d))}\r\n y1={0 - topMargin}\r\n y2={graphHeight + margin.bottom}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.xAxis?.gridLines,\r\n labels: classNames?.xAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n precision={precision}\r\n locale={locale}\r\n padZeros={padZeros}\r\n />\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n {finalData.map(d => (\r\n <g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n transform={`translate(${d.x},${d.y})`}\r\n opacity={\r\n selectedColor\r\n ? d.color\r\n ? circleColors[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85\r\n }\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <circle\r\n cx={0}\r\n cy={0}\r\n fill={\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)]\r\n }\r\n radius={radiusScale ? radiusScale(d.radius || 0) : radius}\r\n />\r\n {(radiusScale ? radiusScale(d.radius || 0) : radius) > 10 && showLabels ? (\r\n <g>\r\n <foreignObject\r\n y={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n x={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n width={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n height={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n >\r\n <div className='flex flex-col gap-0.5 justify-center items-center h-inherit py-0 px-1.5'>\r\n {showLabels ? (\r\n <P\r\n className={cn(\r\n 'text-center leading-none m-0',\r\n classNames?.graphObjectValues,\r\n )}\r\n marginBottom='none'\r\n style={{\r\n fontSize: `${Math.min(\r\n Math.max(\r\n Math.round(\r\n (radiusScale ? radiusScale(d.radius || 0) : radius) / 4,\r\n ),\r\n 10,\r\n ),\r\n Math.max(\r\n Math.round(\r\n ((radiusScale ? radiusScale(d.radius || 0) : radius) * 12) /\r\n `${d.label}`.length,\r\n ),\r\n 10,\r\n ),\r\n 20,\r\n )}px`,\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)],\r\n ),\r\n hyphens: 'auto',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {d.label}\r\n </P>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </g>\r\n ) : null}\r\n </g>\r\n ))}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineX\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n x={x(el.value as number)}\r\n y1={0 - margin.top}\r\n y2={graphHeight + margin.bottom}\r\n textSide={x(el.value as number) > graphWidth * 0.75 || rtl ? 'left' : 'right'}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n isInView={true}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </svg>\r\n ) : (\r\n <div style={{ width: `${width}px`, height: `${height}px` }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n )}\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\nimport { HorizontalGraph, VerticalGraph } from './Graph';\r\n\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport {\r\n ReferenceDataType,\r\n SourcesDataType,\r\n Languages,\r\n BeeSwarmChartDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: BeeSwarmChartDataType[];\r\n\r\n /** Orientation of the graph */\r\n orientation?: 'vertical' | 'horizontal';\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for circle */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: string[];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Maximum value for the radius of the circle */\r\n maxRadiusValue?: number;\r\n /** Minimum value for position of the circle */\r\n minValue?: number;\r\n /** Maximum value for position of the circle */\r\n maxValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Number of ticks on the axis */\r\n noOfTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels */\r\n showLabels?: boolean;\r\n /** Toggle visibility of values */\r\n showTicks?: boolean;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Toggle visibility of axis line for the main axis */\r\n hideAxisLine?: boolean;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedDataPoints?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Maximum radius of the circles */\r\n radius?: number;\r\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\r\n resetSelectionOnDoubleClick?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function BeeSwarmChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n topMargin,\r\n bottomMargin,\r\n leftMargin,\r\n rightMargin,\r\n colors,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n colorDomain,\r\n colorLegendTitle,\r\n padding,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n showColorScale,\r\n graphID,\r\n radius = 5,\r\n showLabels = true,\r\n showTicks = true,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n ariaLabel,\r\n backgroundColor = false,\r\n graphDownload = false,\r\n dataDownload = false,\r\n language = 'en',\r\n showNAColor = true,\r\n minHeight = 0,\r\n theme = 'light',\r\n resetSelectionOnDoubleClick = true,\r\n detailsOnClick,\r\n orientation = 'vertical',\r\n numberDisplayOptions,\r\n styles,\r\n classNames,\r\n noOfTicks = 5,\r\n dimmedOpacity = 0.3,\r\n customLayers = [],\r\n hideAxisLine = false,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const Comp = orientation === 'horizontal' ? HorizontalGraph : VerticalGraph;\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale !== false && data.filter(el => el.color).length !== 0 && data.length > 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Comp\r\n hideAxisLine={hideAxisLine}\r\n data={data}\r\n circleColors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n width={svgWidth}\r\n selectedColor={selectedColor}\r\n height={svgHeight}\r\n showTicks={showTicks}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n refValues={refValues}\r\n startFromZero={false}\r\n radius={radius}\r\n maxRadiusValue={maxRadiusValue}\r\n maxValue={maxValue}\r\n minValue={minValue}\r\n highlightedDataPoints={highlightedDataPoints}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n noOfTicks={noOfTicks || 5}\r\n dimmedOpacity={dimmedOpacity}\r\n customLayers={customLayers}\r\n locale={numberDisplayOptions?.locale || 'en'}\r\n padZeros={numberDisplayOptions?.padZeros || false}\r\n suffix={numberDisplayOptions?.suffix || ''}\r\n prefix={numberDisplayOptions?.prefix || ''}\r\n precision={numberDisplayOptions?.precision ?? 2}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["VerticalGraph","props","$","_c","data","circleColors","showTicks","width","height","colorDomain","topMargin","t0","bottomMargin","t1","leftMargin","t2","rightMargin","t3","suffix","prefix","showLabels","tooltip","onSeriesMouseOver","refValues","selectedColor","startFromZero","radius","maxRadiusValue","maxValue","minValue","highlightedDataPoints","onSeriesMouseClick","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","noOfTicks","dimmedOpacity","precision","customLayers","hideAxisLine","locale","padZeros","undefined","svgRef","useRef","mouseOverData","setMouseOverData","useState","mouseClickData","setMouseClickData","finalData","setFinalData","eventX","setEventX","eventY","setEventY","t4","top","bottom","left","right","margin","graphWidth","graphHeight","dataOrdered","filter","_temp","length","orderBy","_temp2","t5","checkIfNullOrUndefined","Math","max","_temp3","map","_temp4","_temp5","_temp6","yMaxValue","t6","min","_temp7","_temp8","_temp9","_temp0","yMinValue","radiusScale","_temp1","scaleSqrt","domain","_temp10","_temp11","range","nice","y","scaleLinear","yTicks","ticks","useEffect","dataTemp","_temp12","_temp13","forceSimulation","force","forceY","d_14","d","position","strength","forceX","_d","forceCollide","d_15","forceManyBody","alphaDecay","tick","on","t7","jsx","jsxs","Fragment","Axis","numberFormattingFunction","x","dx","dy","axis","xAxis","label","yAxis","labels","YTicksAndGridLines","_temp14","_temp15","gridLines","_temp16","_temp17","d_21","color","indexOf","event","clientY","clientX","event_0","isEqual","_temp18","Colors","gray","cn","graphObjectValues","fontSize","round","hyphens","getTextColorBasedOnBgColor","_temp19","el_1","i","RefLineY","el","text","value","_temp20","_temp21","Spinner","t8","Tooltip","t9","modal","DetailsModal","t10","d_23","layer","d_22","el_0","d_20","d_19","d_17","d_16","d_13","d_12","d_10","d_9","d_11","d_6","d_5","d_8","d_7","d_2","d_1","d_4","d_3","d_0","HorizontalGraph","rtl","_temp22","_temp23","_temp24","_temp25","_temp26","_temp27","xMaxValue","_temp28","_temp29","_temp30","_temp31","xMinValue","_temp32","_temp33","_temp34","xTicks","_temp35","_temp36","XTicksAndGridLines","_temp37","_temp38","d_18","_temp39","_temp40","_temp41","P","_temp42","RefLineX","_temp43","_temp44","BeeSwarmChart","graphTitle","colors","sources","graphDescription","footNote","colorLegendTitle","padding","relativeHeight","showColorScale","graphID","ariaLabel","backgroundColor","graphDownload","dataDownload","language","showNAColor","minHeight","theme","orientation","t11","numberDisplayOptions","t12","t13","t14","t15","t16","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Comp","t17","t18","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","t19","graphContainer","t20","t21","description","title","GraphHeader","t22","colorLegend","ColorLegendWithMouseOver","categoricalColors","uniqBy","t23","EmptyState","t24","primaryColors","t25","GraphArea","t26","footnote","source","GraphFooter","t27","GraphContainer"],"mappings":"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"}
1
+ {"version":3,"file":"BeeSwarmChart.cjs","sources":["../src/Components/Graphs/BeeSwarmChart/Graph.tsx","../src/Components/Graphs/BeeSwarmChart/index.tsx"],"sourcesContent":["import isEqual from 'fast-deep-equal';\r\nimport { scaleLinear, scaleSqrt } from 'd3-scale';\r\nimport { forceCollide, forceManyBody, forceSimulation, forceX, forceY } from 'd3-force';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport orderBy from 'lodash.orderby';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { Spinner } from '@undp/design-system-react/Spinner';\r\nimport { P } from '@undp/design-system-react/Typography';\r\n\r\nimport {\r\n BeeSwarmChartDataType,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n ReferenceDataType,\r\n StyleObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { checkIfNullOrUndefined } from '@/Utils/checkIfNullOrUndefined';\r\nimport { getTextColorBasedOnBgColor } from '@/Utils/getTextColorBasedOnBgColor';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { Axis } from '@/Components/Elements/Axes/Axis';\r\nimport { RefLineX, RefLineY } from '@/Components/Elements/ReferenceLine';\r\nimport { YTicksAndGridLines } from '@/Components/Elements/Axes/YTicksAndGridLines';\r\nimport { XTicksAndGridLines } from '@/Components/Elements/Axes/XTicksAndGridLines';\r\nimport { DetailsModal } from '@/Components/Elements/DetailsModal';\r\n\r\ninterface BeeSwarmChartDataTypeForBubbleChart extends BeeSwarmChartDataType {\r\n x: number;\r\n y: number;\r\n vx: number;\r\n vy: number;\r\n}\r\n\r\ninterface Props {\r\n data: BeeSwarmChartDataType[];\r\n circleColors: string[];\r\n colorDomain: string[];\r\n showTicks: boolean;\r\n leftMargin?: number;\r\n rightMargin?: number;\r\n topMargin?: number;\r\n bottomMargin?: number;\r\n showLabels: boolean;\r\n width: number;\r\n height: number;\r\n suffix: string;\r\n prefix: string;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n refValues?: ReferenceDataType[];\r\n selectedColor?: string;\r\n startFromZero: boolean;\r\n radius: number;\r\n maxRadiusValue?: number;\r\n maxValue?: number;\r\n minValue?: number;\r\n highlightedDataPoints?: (string | number)[];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n resetSelectionOnDoubleClick: boolean;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n noOfTicks: number;\r\n dimmedOpacity: number;\r\n precision: number;\r\n customLayers: CustomLayerDataType[];\r\n rtl?: boolean;\r\n hideAxisLine: boolean;\r\n locale: string;\r\n padZeros: boolean;\r\n}\r\n\r\nexport function VerticalGraph(props: Props) {\r\n const {\r\n data,\r\n circleColors,\r\n showTicks,\r\n width,\r\n height,\r\n colorDomain,\r\n topMargin = 25,\r\n bottomMargin = 10,\r\n leftMargin = 100,\r\n rightMargin = 40,\r\n suffix,\r\n prefix,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n startFromZero,\r\n radius,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n noOfTicks,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n hideAxisLine,\r\n locale,\r\n padZeros,\r\n } = props;\r\n const svgRef = useRef(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [finalData, setFinalData] = useState<BeeSwarmChartDataTypeForBubbleChart[] | null>(null);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataOrdered =\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)).length === 0\r\n ? data\r\n : orderBy(\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)),\r\n 'radius',\r\n 'desc',\r\n );\r\n const yMaxValue = !checkIfNullOrUndefined(maxValue)\r\n ? (maxValue as number)\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) < 0 &&\r\n !startFromZero\r\n ? 0\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n const yMinValue = !checkIfNullOrUndefined(minValue)\r\n ? (minValue as number)\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) >=\r\n 0 && !startFromZero\r\n ? 0\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n\r\n const radiusScale =\r\n data.filter(d => d.radius === undefined || d.radius === null).length !== data.length\r\n ? scaleSqrt()\r\n .domain([\r\n 0,\r\n checkIfNullOrUndefined(maxRadiusValue)\r\n ? Math.max(...data.map(d => d.radius).filter(d => d !== undefined && d !== null))\r\n : (maxRadiusValue as number),\r\n ])\r\n .range([0.25, radius])\r\n .nice()\r\n : undefined;\r\n const y = scaleLinear().domain([yMinValue, yMaxValue]).range([graphHeight, 0]).nice();\r\n const yTicks = y.ticks(noOfTicks);\r\n\r\n useEffect(() => {\r\n const dataTemp = (\r\n dataOrdered.map(d => ({\r\n ...d,\r\n ...(d.data && { data: { ...d.data } }),\r\n })) as BeeSwarmChartDataType[]\r\n ).filter(d => d.position);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceSimulation(dataTemp as any)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .force('y', forceY((d: any) => y(d.position as number)).strength(5))\r\n .force('x', forceX(_d => graphWidth / 2).strength(1))\r\n .force(\r\n 'collide',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceCollide((d: any) => (radiusScale ? radiusScale(d.radius || 0) + 1 : radius + 1)),\r\n )\r\n .force('charge', forceManyBody().strength(-15))\r\n .alphaDecay(0.05)\r\n .tick(10000)\r\n .on('tick', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n })\r\n .on('end', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n });\r\n }, [data, radius, graphHeight, graphWidth, yMinValue, yMaxValue, dataOrdered, y, radiusScale]);\r\n\r\n return (\r\n <>\r\n {finalData ? (\r\n <svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n {showTicks ? (\r\n <>\r\n <Axis\r\n hideAxisLine={hideAxisLine}\r\n y1={y(yMinValue < 0 ? 0 : yMinValue)}\r\n y2={y(yMinValue < 0 ? 0 : yMinValue)}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n label={\r\n showTicks\r\n ? numberFormattingFunction(\r\n yMinValue < 0 ? 0 : yMinValue,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n padZeros,\r\n )\r\n : undefined\r\n }\r\n labelPos={{\r\n x: 0 - margin.left,\r\n y: y(yMinValue < 0 ? 0 : yMinValue),\r\n dx: 0,\r\n dy: yMaxValue < 0 ? '1em' : -5,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <YTicksAndGridLines\r\n values={yTicks.filter(d => d !== 0)}\r\n y={yTicks.filter(d => d !== 0).map(d => y(d))}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n styles={{\r\n gridLines: styles?.yAxis?.gridLines,\r\n labels: styles?.yAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.yAxis?.gridLines,\r\n labels: classNames?.yAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n labelPos='vertical'\r\n precision={precision}\r\n locale={locale}\r\n padZeros={padZeros}\r\n />\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n {finalData.map(d => (\r\n <g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n transform={`translate(${d.x},${d.y})`}\r\n opacity={\r\n selectedColor\r\n ? d.color\r\n ? circleColors[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85\r\n }\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <circle\r\n cx={0}\r\n cy={0}\r\n r={radiusScale ? radiusScale(d.radius || 0) : radius}\r\n fill={\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)]\r\n }\r\n />\r\n {(radiusScale ? radiusScale(d.radius || 0) : radius) > 10 && showLabels ? (\r\n <g>\r\n <foreignObject\r\n y={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n x={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n width={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n height={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n >\r\n <div className='flex flex-col justify-center items-center h-inherit py-0 px-1.5'>\r\n {showLabels ? (\r\n <p\r\n className={cn(\r\n 'text-center leading-none m-0',\r\n classNames?.graphObjectValues,\r\n )}\r\n style={{\r\n fontSize: `${Math.min(\r\n Math.max(\r\n Math.round(\r\n (radiusScale ? radiusScale(d.radius || 0) : radius) / 4,\r\n ),\r\n 10,\r\n ),\r\n Math.max(\r\n Math.round(\r\n ((radiusScale ? radiusScale(d.radius || 0) : radius) * 12) /\r\n `${d.label}`.length,\r\n ),\r\n 10,\r\n ),\r\n 20,\r\n )}px`,\r\n hyphens: 'auto',\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)],\r\n ),\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {d.label}\r\n </p>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </g>\r\n ) : null}\r\n </g>\r\n ))}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineY\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n y={y(el.value as number)}\r\n x1={0 - margin.left}\r\n x2={graphWidth + margin.right}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n isInView={true}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </svg>\r\n ) : (\r\n <div style={{ width: `${width}px`, height: `${height}px` }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n )}\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n\r\nexport function HorizontalGraph(props: Props) {\r\n const {\r\n data,\r\n circleColors,\r\n showTicks,\r\n width,\r\n height,\r\n colorDomain,\r\n topMargin = 25,\r\n bottomMargin = 10,\r\n leftMargin = 10,\r\n rightMargin = 10,\r\n showLabels,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n selectedColor,\r\n startFromZero,\r\n radius,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n rtl,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n suffix,\r\n prefix,\r\n styles,\r\n classNames,\r\n noOfTicks,\r\n dimmedOpacity,\r\n precision,\r\n customLayers,\r\n hideAxisLine,\r\n locale,\r\n padZeros,\r\n } = props;\r\n const svgRef = useRef(null);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [finalData, setFinalData] = useState<BeeSwarmChartDataTypeForBubbleChart[] | null>(null);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n const margin = {\r\n top: topMargin,\r\n bottom: bottomMargin,\r\n left: leftMargin,\r\n right: rightMargin,\r\n };\r\n const graphWidth = width - margin.left - margin.right;\r\n const graphHeight = height - margin.top - margin.bottom;\r\n\r\n const dataOrdered =\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)).length === 0\r\n ? data\r\n : orderBy(\r\n data.filter(d => !checkIfNullOrUndefined(d.radius)),\r\n 'radius',\r\n 'desc',\r\n );\r\n const xMaxValue = !checkIfNullOrUndefined(maxValue)\r\n ? (maxValue as number)\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) < 0 &&\r\n !startFromZero\r\n ? 0\r\n : Math.max(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n const xMinValue = !checkIfNullOrUndefined(minValue)\r\n ? (minValue as number)\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position)) >=\r\n 0 && !startFromZero\r\n ? 0\r\n : Math.min(...data.filter(d => !checkIfNullOrUndefined(d.position)).map(d => d.position));\r\n\r\n const radiusScale =\r\n data.filter(d => d.radius === undefined || d.radius === null).length !== data.length\r\n ? scaleSqrt()\r\n .domain([\r\n 0,\r\n checkIfNullOrUndefined(maxRadiusValue)\r\n ? Math.max(...data.map(d => d.radius).filter(d => d !== undefined && d !== null))\r\n : (maxRadiusValue as number),\r\n ])\r\n .range([0.25, radius])\r\n .nice()\r\n : undefined;\r\n const x = scaleLinear().domain([xMinValue, xMaxValue]).range([0, graphWidth]).nice();\r\n const xTicks = x.ticks(noOfTicks);\r\n\r\n useEffect(() => {\r\n const dataTemp = (\r\n dataOrdered.map(d => ({\r\n ...d,\r\n ...(d.data && { data: { ...d.data } }),\r\n })) as BeeSwarmChartDataType[]\r\n ).filter(d => d.position);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceSimulation(dataTemp as any)\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .force('x', forceX((d: any) => x(d.position as number)).strength(5))\r\n .force('y', forceY(_d => graphHeight / 2).strength(1))\r\n .force(\r\n 'collide',\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n forceCollide((d: any) => (radiusScale ? radiusScale(d.radius || 0) + 1 : radius + 1)),\r\n )\r\n .force('charge', forceManyBody().strength(-15))\r\n .alphaDecay(0.05)\r\n .tick(10000)\r\n .on('tick', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n })\r\n .on('end', () => {\r\n setFinalData(dataTemp as BeeSwarmChartDataTypeForBubbleChart[]);\r\n });\r\n }, [data, radius, graphHeight, graphWidth, xMinValue, xMaxValue, dataOrdered, x, radiusScale]);\r\n\r\n return (\r\n <>\r\n {finalData ? (\r\n <svg\r\n width={`${width}px`}\r\n height={`${height}px`}\r\n viewBox={`0 0 ${width} ${height}`}\r\n direction='ltr'\r\n ref={svgRef}\r\n >\r\n <g transform={`translate(${margin.left},${margin.top})`}>\r\n {showTicks ? (\r\n <>\r\n <Axis\r\n hideAxisLine={hideAxisLine}\r\n x1={x(xMinValue < 0 ? 0 : xMinValue)}\r\n x2={x(xMinValue < 0 ? 0 : xMinValue)}\r\n y1={0 - margin.top}\r\n y2={graphHeight + margin.bottom}\r\n label={\r\n showTicks\r\n ? numberFormattingFunction(\r\n xMinValue < 0 ? 0 : xMinValue,\r\n undefined,\r\n precision,\r\n prefix,\r\n suffix,\r\n locale,\r\n padZeros,\r\n )\r\n : undefined\r\n }\r\n labelPos={{\r\n x: x(xMinValue < 0 ? 0 : xMinValue),\r\n y: 0 - topMargin,\r\n dy: '0.75em',\r\n dx: 3,\r\n }}\r\n classNames={{\r\n axis: classNames?.xAxis?.axis,\r\n label: classNames?.yAxis?.labels,\r\n }}\r\n styles={{\r\n axis: styles?.xAxis?.axis,\r\n label: styles?.yAxis?.labels,\r\n }}\r\n />\r\n <XTicksAndGridLines\r\n values={xTicks.filter(d => d !== 0)}\r\n x={xTicks.filter(d => d !== 0).map(d => x(d))}\r\n y1={0 - topMargin}\r\n y2={graphHeight + margin.bottom}\r\n styles={{\r\n gridLines: styles?.xAxis?.gridLines,\r\n labels: styles?.xAxis?.labels,\r\n }}\r\n classNames={{\r\n gridLines: classNames?.xAxis?.gridLines,\r\n labels: classNames?.xAxis?.labels,\r\n }}\r\n suffix={suffix}\r\n prefix={prefix}\r\n labelType='secondary'\r\n showGridLines\r\n precision={precision}\r\n locale={locale}\r\n padZeros={padZeros}\r\n />\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'before').map(d => d.layer)}\r\n {finalData.map(d => (\r\n <g\r\n className='undp-viz-g-with-hover'\r\n key={d.label}\r\n transform={`translate(${d.x},${d.y})`}\r\n opacity={\r\n selectedColor\r\n ? d.color\r\n ? circleColors[colorDomain.indexOf(d.color)] === selectedColor\r\n ? 1\r\n : dimmedOpacity\r\n : dimmedOpacity\r\n : highlightedDataPoints\r\n ? highlightedDataPoints.indexOf(d.label) !== -1\r\n ? 0.85\r\n : dimmedOpacity\r\n : 0.85\r\n }\r\n onMouseEnter={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d);\r\n onSeriesMouseClick?.(d);\r\n }\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n setMouseOverData(undefined);\r\n setEventX(undefined);\r\n setEventY(undefined);\r\n onSeriesMouseOver?.(undefined);\r\n }}\r\n >\r\n <circle\r\n cx={0}\r\n cy={0}\r\n fill={\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)]\r\n }\r\n radius={radiusScale ? radiusScale(d.radius || 0) : radius}\r\n />\r\n {(radiusScale ? radiusScale(d.radius || 0) : radius) > 10 && showLabels ? (\r\n <g>\r\n <foreignObject\r\n y={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n x={0 - (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n width={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n height={2 * (radiusScale ? radiusScale(d.radius || 0) : radius)}\r\n >\r\n <div className='flex flex-col gap-0.5 justify-center items-center h-inherit py-0 px-1.5'>\r\n {showLabels ? (\r\n <P\r\n className={cn(\r\n 'text-center leading-none m-0',\r\n classNames?.graphObjectValues,\r\n )}\r\n marginBottom='none'\r\n style={{\r\n fontSize: `${Math.min(\r\n Math.max(\r\n Math.round(\r\n (radiusScale ? radiusScale(d.radius || 0) : radius) / 4,\r\n ),\r\n 10,\r\n ),\r\n Math.max(\r\n Math.round(\r\n ((radiusScale ? radiusScale(d.radius || 0) : radius) * 12) /\r\n `${d.label}`.length,\r\n ),\r\n 10,\r\n ),\r\n 20,\r\n )}px`,\r\n color: getTextColorBasedOnBgColor(\r\n data.filter(el => el.color).length === 0\r\n ? circleColors[0]\r\n : !d.color\r\n ? Colors.gray\r\n : circleColors[colorDomain.indexOf(d.color)],\r\n ),\r\n hyphens: 'auto',\r\n ...(styles?.graphObjectValues || {}),\r\n }}\r\n >\r\n {d.label}\r\n </P>\r\n ) : null}\r\n </div>\r\n </foreignObject>\r\n </g>\r\n ) : null}\r\n </g>\r\n ))}\r\n {refValues ? (\r\n <>\r\n {refValues.map((el, i) => (\r\n <RefLineX\r\n key={i}\r\n text={el.text}\r\n color={el.color}\r\n x={x(el.value as number)}\r\n y1={0 - margin.top}\r\n y2={graphHeight + margin.bottom}\r\n textSide={x(el.value as number) > graphWidth * 0.75 || rtl ? 'left' : 'right'}\r\n classNames={el.classNames}\r\n styles={el.styles}\r\n isInView={true}\r\n />\r\n ))}\r\n </>\r\n ) : null}\r\n {customLayers.filter(d => d.position === 'after').map(d => d.layer)}\r\n </g>\r\n </svg>\r\n ) : (\r\n <div style={{ width: `${width}px`, height: `${height}px` }}>\r\n <div className='flex m-auto items-center justify-center p-0 leading-none text-base h-40'>\r\n <Spinner />\r\n </div>\r\n </div>\r\n )}\r\n {mouseOverData && tooltip && eventX && eventY ? (\r\n <Tooltip\r\n data={mouseOverData}\r\n body={tooltip}\r\n xPos={eventX}\r\n yPos={eventY}\r\n backgroundStyle={styles?.tooltip}\r\n className={classNames?.tooltip}\r\n />\r\n ) : null}\r\n {detailsOnClick && mouseClickData !== undefined ? (\r\n <DetailsModal\r\n body={detailsOnClick}\r\n data={mouseClickData}\r\n setData={setMouseClickData}\r\n className={classNames?.modal}\r\n />\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\nimport { HorizontalGraph, VerticalGraph } from './Graph';\r\n\r\nimport { uniqBy } from '@/Utils/uniqBy';\r\nimport {\r\n ReferenceDataType,\r\n SourcesDataType,\r\n Languages,\r\n BeeSwarmChartDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n CustomLayerDataType,\r\n NumberFormatOptions,\r\n} from '@/Types';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { GraphArea, GraphContainer } from '@/Components/Elements/GraphContainer';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\nimport { ColorLegendWithMouseOver } from '@/Components/Elements/ColorLegendWithMouseOver';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: BeeSwarmChartDataType[];\r\n\r\n /** Orientation of the graph */\r\n orientation?: 'vertical' | 'horizontal';\r\n\r\n // Titles, Labels, and Sources\r\n /** Title of the graph */\r\n graphTitle?: string | React.ReactNode;\r\n /** Description of the graph */\r\n graphDescription?: string | React.ReactNode;\r\n /** Footnote for the graph */\r\n footNote?: string | React.ReactNode;\r\n /** Source data for the graph */\r\n sources?: SourcesDataType[];\r\n /** Accessibility label */\r\n ariaLabel?: string;\r\n\r\n // Colors and Styling\r\n /** Color or array of colors for circle */\r\n colors?: string | string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: string[];\r\n /** Title for the color legend */\r\n colorLegendTitle?: string;\r\n /** Background color of the graph */\r\n backgroundColor?: string | boolean;\r\n /** Custom styles for the graph. Each object should be a valid React CSS style object. */\r\n styles?: StyleObject;\r\n /** Custom class names */\r\n classNames?: ClassNameObject;\r\n\r\n // Size and Spacing\r\n /** Width of the graph */\r\n width?: number;\r\n /** Height of the graph */\r\n height?: number;\r\n /** Minimum height of the graph */\r\n minHeight?: number;\r\n /** Relative height scaling factor. This overwrites the height props */\r\n relativeHeight?: number;\r\n /** Padding around the graph. Defaults to 0 if no backgroundColor is mentioned else defaults to 1rem */\r\n padding?: string;\r\n /** Left margin of the graph */\r\n leftMargin?: number;\r\n /** Right margin of the graph */\r\n rightMargin?: number;\r\n /** Top margin of the graph */\r\n topMargin?: number;\r\n /** Bottom margin of the graph */\r\n bottomMargin?: number;\r\n\r\n // Values and Ticks\r\n /** Maximum value for the radius of the circle */\r\n maxRadiusValue?: number;\r\n /** Minimum value for position of the circle */\r\n minValue?: number;\r\n /** Maximum value for position of the circle */\r\n maxValue?: number;\r\n /** Reference values for comparison */\r\n refValues?: ReferenceDataType[];\r\n /** Number of ticks on the axis */\r\n noOfTicks?: number;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of labels */\r\n showLabels?: boolean;\r\n /** Toggle visibility of values */\r\n showTicks?: boolean;\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Toggle visibility of NA color in the color scale. This is only applicable if the data props hae color parameter and showColorScale prop is true */\r\n showNAColor?: boolean;\r\n /** Toggle visibility of axis line for the main axis */\r\n hideAxisLine?: boolean;\r\n /** Data points to highlight. Use the label value from data to highlight the data point */\r\n highlightedDataPoints?: (string | number)[];\r\n /** Defines the opacity of the non-highlighted data */\r\n dimmedOpacity?: number;\r\n /** Maximum radius of the circles */\r\n radius?: number;\r\n /** Configuration options for controlling number formatting, localization, prefixes/suffixes, precision, and zero padding. */\r\n numberDisplayOptions?: NumberFormatOptions;\r\n /** Optional SVG <g> element or function that renders custom content behind or in front of the graph. */\r\n customLayers?: CustomLayerDataType[];\r\n /** Enable graph download option as png */\r\n graphDownload?: boolean;\r\n /** Enable data download option as a csv */\r\n dataDownload?: boolean;\r\n /** Reset selection on double-click. Only applicable when used in a dashboard context with filters. */\r\n resetSelectionOnDoubleClick?: boolean;\r\n\r\n // Interactions and Callbacks\r\n /** Tooltip content. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n /** Details displayed on the modal when user clicks of a data point. If the type is string then this uses the [handlebar](../?path=/docs/misc-handlebars-templates-and-custom-helpers--docs) template to display the data */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n /** Callback for mouse over event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseOver?: (_d: any) => void;\r\n /** Callback for mouse click event */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n onSeriesMouseClick?: (_d: any) => void;\r\n\r\n // Configuration and Options\r\n /** Language setting */\r\n language?: Languages;\r\n /** Color theme */\r\n theme?: 'light' | 'dark';\r\n /** Unique ID for the graph */\r\n graphID?: string;\r\n}\r\n\r\nexport function BeeSwarmChart(props: Props) {\r\n const {\r\n data,\r\n graphTitle,\r\n topMargin,\r\n bottomMargin,\r\n leftMargin,\r\n rightMargin,\r\n colors,\r\n sources,\r\n graphDescription,\r\n height,\r\n width,\r\n footNote,\r\n colorDomain,\r\n colorLegendTitle,\r\n padding,\r\n relativeHeight,\r\n tooltip,\r\n onSeriesMouseOver,\r\n refValues,\r\n showColorScale,\r\n graphID,\r\n radius = 5,\r\n showLabels = true,\r\n showTicks = true,\r\n maxRadiusValue,\r\n maxValue,\r\n minValue,\r\n highlightedDataPoints,\r\n onSeriesMouseClick,\r\n ariaLabel,\r\n backgroundColor = false,\r\n graphDownload = false,\r\n dataDownload = false,\r\n language = 'en',\r\n showNAColor = true,\r\n minHeight = 0,\r\n theme = 'light',\r\n resetSelectionOnDoubleClick = true,\r\n detailsOnClick,\r\n orientation = 'vertical',\r\n numberDisplayOptions,\r\n styles,\r\n classNames,\r\n noOfTicks = 5,\r\n dimmedOpacity = 0.3,\r\n customLayers = [],\r\n hideAxisLine = false,\r\n } = props;\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n const [selectedColor, setSelectedColor] = useState<string | undefined>(undefined);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n const Comp = orientation === 'horizontal' ? HorizontalGraph : VerticalGraph;\r\n\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(entries[0].target.clientWidth || 620);\r\n setSvgHeight(entries[0].target.clientHeight || 480);\r\n });\r\n if (graphDiv.current) {\r\n resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, []);\r\n return (\r\n <GraphContainer\r\n className={classNames?.graphContainer}\r\n style={styles?.graphContainer}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={ariaLabel}\r\n backgroundColor={backgroundColor}\r\n theme={theme}\r\n language={language}\r\n minHeight={minHeight}\r\n width={width}\r\n height={height}\r\n relativeHeight={relativeHeight}\r\n padding={padding}\r\n >\r\n {graphTitle || graphDescription || graphDownload || dataDownload ? (\r\n <GraphHeader\r\n styles={{\r\n title: styles?.title,\r\n description: styles?.description,\r\n }}\r\n classNames={{\r\n title: classNames?.title,\r\n description: classNames?.description,\r\n }}\r\n graphTitle={graphTitle}\r\n graphDescription={graphDescription}\r\n width={width}\r\n graphDownload={graphDownload ? graphParentDiv : undefined}\r\n dataDownload={\r\n dataDownload\r\n ? data.map(d => d.data).filter(d => d !== undefined).length > 0\r\n ? data.map(d => d.data).filter(d => d !== undefined)\r\n : data.filter(d => d !== undefined)\r\n : null\r\n }\r\n />\r\n ) : null}\r\n {showColorScale !== false && data.filter(el => el.color).length !== 0 && data.length > 0 ? (\r\n <ColorLegendWithMouseOver\r\n width={width}\r\n colorLegendTitle={colorLegendTitle}\r\n colors={(colors as string[] | undefined) || Colors[theme].categoricalColors.colors}\r\n colorDomain={colorDomain || (uniqBy(data, 'color', true) as string[])}\r\n setSelectedColor={setSelectedColor}\r\n showNAColor={showNAColor}\r\n className={classNames?.colorLegend}\r\n />\r\n ) : null}\r\n <GraphArea ref={graphDiv}>\r\n {data.length === 0 && <EmptyState />}\r\n {svgWidth && svgHeight && data.length > 0 ? (\r\n <Comp\r\n hideAxisLine={hideAxisLine}\r\n data={data}\r\n circleColors={\r\n data.filter(el => el.color).length === 0\r\n ? colors\r\n ? [colors as string]\r\n : [Colors.primaryColors['blue-600']]\r\n : (colors as string[] | undefined) || Colors[theme].categoricalColors.colors\r\n }\r\n colorDomain={\r\n data.filter(el => el.color).length === 0\r\n ? []\r\n : colorDomain || (uniqBy(data, 'color', true) as string[])\r\n }\r\n width={svgWidth}\r\n selectedColor={selectedColor}\r\n height={svgHeight}\r\n showTicks={showTicks}\r\n leftMargin={leftMargin}\r\n rightMargin={rightMargin}\r\n topMargin={topMargin}\r\n bottomMargin={bottomMargin}\r\n showLabels={showLabels}\r\n tooltip={tooltip}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n refValues={refValues}\r\n startFromZero={false}\r\n radius={radius}\r\n maxRadiusValue={maxRadiusValue}\r\n maxValue={maxValue}\r\n minValue={minValue}\r\n highlightedDataPoints={highlightedDataPoints}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n detailsOnClick={detailsOnClick}\r\n styles={styles}\r\n classNames={classNames}\r\n noOfTicks={noOfTicks || 5}\r\n dimmedOpacity={dimmedOpacity}\r\n customLayers={customLayers}\r\n locale={numberDisplayOptions?.locale || 'en'}\r\n padZeros={numberDisplayOptions?.padZeros || false}\r\n suffix={numberDisplayOptions?.suffix || ''}\r\n prefix={numberDisplayOptions?.prefix || ''}\r\n precision={numberDisplayOptions?.precision ?? 2}\r\n />\r\n ) : null}\r\n </GraphArea>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : null}\r\n </GraphContainer>\r\n );\r\n}\r\n"],"names":["VerticalGraph","props","$","_c","data","circleColors","showTicks","width","height","colorDomain","topMargin","t0","bottomMargin","t1","leftMargin","t2","rightMargin","t3","suffix","prefix","showLabels","tooltip","onSeriesMouseOver","refValues","selectedColor","startFromZero","radius","maxRadiusValue","maxValue","minValue","highlightedDataPoints","onSeriesMouseClick","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","noOfTicks","dimmedOpacity","precision","customLayers","hideAxisLine","locale","padZeros","undefined","svgRef","useRef","mouseOverData","setMouseOverData","useState","mouseClickData","setMouseClickData","finalData","setFinalData","eventX","setEventX","eventY","setEventY","t4","top","bottom","left","right","margin","graphWidth","graphHeight","dataOrdered","filter","_temp","length","orderBy","_temp2","t5","checkIfNullOrUndefined","Math","max","_temp3","map","_temp4","_temp5","_temp6","yMaxValue","t6","min","_temp7","_temp8","_temp9","_temp0","yMinValue","radiusScale","_temp1","scaleSqrt","domain","_temp10","_temp11","range","nice","y","scaleLinear","yTicks","ticks","useEffect","dataTemp","_temp12","_temp13","forceSimulation","force","forceY","d_14","d","position","strength","forceX","_d","forceCollide","d_15","forceManyBody","alphaDecay","tick","on","t7","jsx","jsxs","Fragment","Axis","numberFormattingFunction","x","dx","dy","axis","xAxis","label","yAxis","labels","YTicksAndGridLines","_temp14","_temp15","gridLines","_temp16","_temp17","d_21","color","indexOf","event","clientY","clientX","event_0","isEqual","_temp18","Colors","gray","cn","graphObjectValues","fontSize","round","hyphens","getTextColorBasedOnBgColor","_temp19","el_1","i","RefLineY","el","text","value","_temp20","_temp21","Spinner","t8","Tooltip","t9","modal","DetailsModal","t10","d_23","layer","d_22","el_0","d_20","d_19","d_17","d_16","d_13","d_12","d_10","d_9","d_11","d_6","d_5","d_8","d_7","d_2","d_1","d_4","d_3","d_0","HorizontalGraph","rtl","_temp22","_temp23","_temp24","_temp25","_temp26","_temp27","xMaxValue","_temp28","_temp29","_temp30","_temp31","xMinValue","_temp32","_temp33","_temp34","xTicks","_temp35","_temp36","XTicksAndGridLines","_temp37","_temp38","d_18","_temp39","_temp40","_temp41","P","_temp42","RefLineX","_temp43","_temp44","BeeSwarmChart","graphTitle","colors","sources","graphDescription","footNote","colorLegendTitle","padding","relativeHeight","showColorScale","graphID","ariaLabel","backgroundColor","graphDownload","dataDownload","language","showNAColor","minHeight","theme","orientation","t11","numberDisplayOptions","t12","t13","t14","t15","t16","svgWidth","setSvgWidth","svgHeight","setSvgHeight","setSelectedColor","graphDiv","graphParentDiv","Comp","t17","t18","Symbol","for","resizeObserver","ResizeObserver","entries","target","clientWidth","clientHeight","current","observe","disconnect","t19","graphContainer","t20","t21","description","title","GraphHeader","t22","colorLegend","ColorLegendWithMouseOver","categoricalColors","uniqBy","t23","EmptyState","t24","primaryColors","t25","GraphArea","t26","footnote","source","GraphFooter","t27","GraphContainer"],"mappings":"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"}