@undp/data-viz 1.2.8 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. package/dist/AreaChart.cjs +2 -0
  2. package/dist/AreaChart.cjs.map +1 -0
  3. package/dist/AreaChart.d.ts +224 -0
  4. package/dist/AreaChart.js +531 -0
  5. package/dist/AreaChart.js.map +1 -0
  6. package/dist/Axis-DE7dSn1_.cjs +2 -0
  7. package/dist/Axis-DE7dSn1_.cjs.map +1 -0
  8. package/dist/Axis-Ddg-seDi.js +43 -0
  9. package/dist/Axis-Ddg-seDi.js.map +1 -0
  10. package/dist/AxisTitle-BmHLMRJZ.js +20 -0
  11. package/dist/AxisTitle-BmHLMRJZ.js.map +1 -0
  12. package/dist/AxisTitle-CK9YeovX.cjs +2 -0
  13. package/dist/AxisTitle-CK9YeovX.cjs.map +1 -0
  14. package/dist/BarGraph.cjs +2 -0
  15. package/dist/BarGraph.cjs.map +1 -0
  16. package/dist/BarGraph.d.ts +460 -0
  17. package/dist/BarGraph.js +4044 -0
  18. package/dist/BarGraph.js.map +1 -0
  19. package/dist/BasicStatCard.cjs +2 -0
  20. package/dist/BasicStatCard.cjs.map +1 -0
  21. package/dist/BasicStatCard.d.ts +106 -0
  22. package/dist/BasicStatCard.js +191 -0
  23. package/dist/BasicStatCard.js.map +1 -0
  24. package/dist/BeeSwarmChart.cjs +2 -0
  25. package/dist/BeeSwarmChart.cjs.map +1 -0
  26. package/dist/BeeSwarmChart.d.ts +181 -0
  27. package/dist/BeeSwarmChart.js +1043 -0
  28. package/dist/BeeSwarmChart.js.map +1 -0
  29. package/dist/BiVariateChoroplethMap.cjs +2 -0
  30. package/dist/BiVariateChoroplethMap.cjs.map +1 -0
  31. package/dist/BiVariateChoroplethMap.d.ts +189 -0
  32. package/dist/BiVariateChoroplethMap.js +721 -0
  33. package/dist/BiVariateChoroplethMap.js.map +1 -0
  34. package/dist/BulletChart.cjs +2 -0
  35. package/dist/BulletChart.cjs.map +1 -0
  36. package/dist/BulletChart.d.ts +219 -0
  37. package/dist/BulletChart.js +1432 -0
  38. package/dist/BulletChart.js.map +1 -0
  39. package/dist/ButterflyChart.cjs +2 -0
  40. package/dist/ButterflyChart.cjs.map +1 -0
  41. package/dist/ButterflyChart.d.ts +201 -0
  42. package/dist/ButterflyChart.js +693 -0
  43. package/dist/ButterflyChart.js.map +1 -0
  44. package/dist/ChoroplethMap.cjs +2 -0
  45. package/dist/ChoroplethMap.cjs.map +1 -0
  46. package/dist/ChoroplethMap.d.ts +190 -0
  47. package/dist/ChoroplethMap.js +746 -0
  48. package/dist/ChoroplethMap.js.map +1 -0
  49. package/dist/CirclePackingGraph.cjs +2 -0
  50. package/dist/CirclePackingGraph.cjs.map +1 -0
  51. package/dist/CirclePackingGraph.d.ts +153 -0
  52. package/dist/CirclePackingGraph.js +15 -0
  53. package/dist/CirclePackingGraph.js.map +1 -0
  54. package/dist/ColorLegend.cjs +2 -0
  55. package/dist/ColorLegend.cjs.map +1 -0
  56. package/dist/ColorLegend.d.ts +17 -0
  57. package/dist/ColorLegend.js +48 -0
  58. package/dist/ColorLegend.js.map +1 -0
  59. package/dist/ColorLegendWithMouseOver.cjs +2 -0
  60. package/dist/ColorLegendWithMouseOver.cjs.map +1 -0
  61. package/dist/ColorLegendWithMouseOver.d.ts +16 -0
  62. package/dist/ColorLegendWithMouseOver.js +71 -0
  63. package/dist/ColorLegendWithMouseOver.js.map +1 -0
  64. package/dist/Colors.cjs +2 -0
  65. package/dist/Colors.cjs.map +1 -0
  66. package/dist/Colors.d.ts +174 -0
  67. package/dist/Colors.js +562 -0
  68. package/dist/Colors.js.map +1 -0
  69. package/dist/CopyTextButton.cjs +17 -0
  70. package/dist/CopyTextButton.cjs.map +1 -0
  71. package/dist/CopyTextButton.d.ts +13 -0
  72. package/dist/CopyTextButton.js +699 -0
  73. package/dist/CopyTextButton.js.map +1 -0
  74. package/dist/CsvDownloadButton.cjs +23 -0
  75. package/dist/CsvDownloadButton.cjs.map +1 -0
  76. package/dist/CsvDownloadButton.d.ts +22 -0
  77. package/dist/CsvDownloadButton.js +868 -0
  78. package/dist/CsvDownloadButton.js.map +1 -0
  79. package/dist/DataCards.cjs +2 -0
  80. package/dist/DataCards.cjs.map +1 -0
  81. package/dist/DataCards.d.ts +131 -0
  82. package/dist/DataCards.js +15 -0
  83. package/dist/DataCards.js.map +1 -0
  84. package/dist/DataTable.cjs +2 -0
  85. package/dist/DataTable.cjs.map +1 -0
  86. package/dist/DataTable.d.ts +122 -0
  87. package/dist/DataTable.js +332 -0
  88. package/dist/DataTable.js.map +1 -0
  89. package/dist/DifferenceLineChart.cjs +2 -0
  90. package/dist/DifferenceLineChart.cjs.map +1 -0
  91. package/dist/DifferenceLineChart.d.ts +237 -0
  92. package/dist/DifferenceLineChart.js +806 -0
  93. package/dist/DifferenceLineChart.js.map +1 -0
  94. package/dist/DonutChart.cjs +2 -0
  95. package/dist/DonutChart.cjs.map +1 -0
  96. package/dist/DonutChart.d.ts +148 -0
  97. package/dist/DonutChart.js +479 -0
  98. package/dist/DonutChart.js.map +1 -0
  99. package/dist/DotDensityMap.cjs +2 -0
  100. package/dist/DotDensityMap.cjs.map +1 -0
  101. package/dist/DotDensityMap.d.ts +191 -0
  102. package/dist/DotDensityMap.js +601 -0
  103. package/dist/DotDensityMap.js.map +1 -0
  104. package/dist/DropdownSelect-0I2QxaVy.cjs +29 -0
  105. package/dist/DropdownSelect-0I2QxaVy.cjs.map +1 -0
  106. package/dist/DropdownSelect-CDC9lEqU.js +4193 -0
  107. package/dist/DropdownSelect-CDC9lEqU.js.map +1 -0
  108. package/dist/DualAxisLineChart.cjs +2 -0
  109. package/dist/DualAxisLineChart.cjs.map +1 -0
  110. package/dist/DualAxisLineChart.d.ts +180 -0
  111. package/dist/DualAxisLineChart.js +700 -0
  112. package/dist/DualAxisLineChart.js.map +1 -0
  113. package/dist/DumbbellChart.cjs +2 -0
  114. package/dist/DumbbellChart.cjs.map +1 -0
  115. package/dist/DumbbellChart.d.ts +224 -0
  116. package/dist/DumbbellChart.js +1511 -0
  117. package/dist/DumbbellChart.js.map +1 -0
  118. package/dist/EmptyState-DdTp-Mdn.js +22 -0
  119. package/dist/EmptyState-DdTp-Mdn.js.map +1 -0
  120. package/dist/EmptyState-d8_8SxeW.cjs +2 -0
  121. package/dist/EmptyState-d8_8SxeW.cjs.map +1 -0
  122. package/dist/ExcelDownloadButton.cjs +2 -0
  123. package/dist/ExcelDownloadButton.cjs.map +1 -0
  124. package/dist/ExcelDownloadButton.d.ts +22 -0
  125. package/dist/ExcelDownloadButton.js +30 -0
  126. package/dist/ExcelDownloadButton.js.map +1 -0
  127. package/dist/FootNote.cjs +2 -0
  128. package/dist/FootNote.cjs.map +1 -0
  129. package/dist/FootNote.d.ts +12 -0
  130. package/dist/FootNote.js +21 -0
  131. package/dist/FootNote.js.map +1 -0
  132. package/dist/GeoHubCompareMaps.cjs +2 -0
  133. package/dist/GeoHubCompareMaps.cjs.map +1 -0
  134. package/dist/GeoHubCompareMaps.d.ts +103 -0
  135. package/dist/GeoHubCompareMaps.js +371 -0
  136. package/dist/GeoHubCompareMaps.js.map +1 -0
  137. package/dist/GeoHubMap.cjs +2 -0
  138. package/dist/GeoHubMap.cjs.map +1 -0
  139. package/dist/GeoHubMap.d.ts +118 -0
  140. package/dist/GeoHubMap.js +430 -0
  141. package/dist/GeoHubMap.js.map +1 -0
  142. package/dist/GeoHubMapWithLayerSelection.cjs +2 -0
  143. package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -0
  144. package/dist/GeoHubMapWithLayerSelection.d.ts +117 -0
  145. package/dist/GeoHubMapWithLayerSelection.js +308 -0
  146. package/dist/GeoHubMapWithLayerSelection.js.map +1 -0
  147. package/dist/GraphDescription.cjs +2 -0
  148. package/dist/GraphDescription.cjs.map +1 -0
  149. package/dist/GraphDescription.d.ts +12 -0
  150. package/dist/GraphDescription.js +21 -0
  151. package/dist/GraphDescription.js.map +1 -0
  152. package/dist/GraphFooter.cjs +2 -0
  153. package/dist/GraphFooter.cjs.map +1 -0
  154. package/dist/GraphFooter.d.ts +24 -0
  155. package/dist/GraphFooter.js +22 -0
  156. package/dist/GraphFooter.js.map +1 -0
  157. package/dist/GraphHeader.cjs +2 -0
  158. package/dist/GraphHeader.cjs.map +1 -0
  159. package/dist/GraphHeader.d.ts +22 -0
  160. package/dist/GraphHeader.js +64 -0
  161. package/dist/GraphHeader.js.map +1 -0
  162. package/dist/GraphTitle.cjs +2 -0
  163. package/dist/GraphTitle.cjs.map +1 -0
  164. package/dist/GraphTitle.d.ts +13 -0
  165. package/dist/GraphTitle.js +29 -0
  166. package/dist/GraphTitle.js.map +1 -0
  167. package/dist/GriddedGraphs.cjs +2 -0
  168. package/dist/GriddedGraphs.cjs.map +1 -0
  169. package/dist/GriddedGraphs.d.ts +540 -0
  170. package/dist/GriddedGraphs.js +483 -0
  171. package/dist/GriddedGraphs.js.map +1 -0
  172. package/dist/GriddedGraphsFromConfig.cjs +2 -0
  173. package/dist/GriddedGraphsFromConfig.cjs.map +1 -0
  174. package/dist/GriddedGraphsFromConfig.d.ts +543 -0
  175. package/dist/GriddedGraphsFromConfig.js +43 -0
  176. package/dist/GriddedGraphsFromConfig.js.map +1 -0
  177. package/dist/HeatMap.cjs +2 -0
  178. package/dist/HeatMap.cjs.map +1 -0
  179. package/dist/HeatMap.d.ts +166 -0
  180. package/dist/HeatMap.js +452 -0
  181. package/dist/HeatMap.js.map +1 -0
  182. package/dist/Histogram.cjs +2 -0
  183. package/dist/Histogram.cjs.map +1 -0
  184. package/dist/Histogram.d.ts +165 -0
  185. package/dist/Histogram.js +288 -0
  186. package/dist/Histogram.js.map +1 -0
  187. package/dist/ImageDownloadButton.cjs +2 -0
  188. package/dist/ImageDownloadButton.cjs.map +1 -0
  189. package/dist/ImageDownloadButton.d.ts +15 -0
  190. package/dist/ImageDownloadButton.js +29 -0
  191. package/dist/ImageDownloadButton.js.map +1 -0
  192. package/dist/LineChartWithConfidenceInterval.cjs +2 -0
  193. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -0
  194. package/dist/LineChartWithConfidenceInterval.d.ts +250 -0
  195. package/dist/LineChartWithConfidenceInterval.js +819 -0
  196. package/dist/LineChartWithConfidenceInterval.js.map +1 -0
  197. package/dist/LinearColorLegend.cjs +2 -0
  198. package/dist/LinearColorLegend.cjs.map +1 -0
  199. package/dist/LinearColorLegend.d.ts +13 -0
  200. package/dist/LinearColorLegend.js +34 -0
  201. package/dist/LinearColorLegend.js.map +1 -0
  202. package/dist/Modal-CUU6ZK3U.js +1019 -0
  203. package/dist/Modal-CUU6ZK3U.js.map +1 -0
  204. package/dist/Modal-C_dl0EtQ.cjs +46 -0
  205. package/dist/Modal-C_dl0EtQ.cjs.map +1 -0
  206. package/dist/MultiGraphDashboard.cjs +2 -0
  207. package/dist/MultiGraphDashboard.cjs.map +1 -0
  208. package/dist/MultiGraphDashboard.d.ts +558 -0
  209. package/dist/MultiGraphDashboard.js +304 -0
  210. package/dist/MultiGraphDashboard.js.map +1 -0
  211. package/dist/MultiGraphDashboardFromConfig.cjs +2 -0
  212. package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -0
  213. package/dist/MultiGraphDashboardFromConfig.d.ts +562 -0
  214. package/dist/MultiGraphDashboardFromConfig.js +38 -0
  215. package/dist/MultiGraphDashboardFromConfig.js.map +1 -0
  216. package/dist/MultiGraphDashboardWideToLongFormat.cjs +2 -0
  217. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -0
  218. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +128 -0
  219. package/dist/MultiGraphDashboardWideToLongFormat.js +244 -0
  220. package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -0
  221. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +2 -0
  222. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -0
  223. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +133 -0
  224. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +31 -0
  225. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -0
  226. package/dist/MultiLineAltChart.cjs +2 -0
  227. package/dist/MultiLineAltChart.cjs.map +1 -0
  228. package/dist/MultiLineAltChart.d.ts +244 -0
  229. package/dist/MultiLineAltChart.js +690 -0
  230. package/dist/MultiLineAltChart.js.map +1 -0
  231. package/dist/MultiLineChart.cjs +2 -0
  232. package/dist/MultiLineChart.cjs.map +1 -0
  233. package/dist/MultiLineChart.d.ts +246 -0
  234. package/dist/MultiLineChart.js +723 -0
  235. package/dist/MultiLineChart.js.map +1 -0
  236. package/dist/ParetoChart.cjs +2 -0
  237. package/dist/ParetoChart.cjs.map +1 -0
  238. package/dist/ParetoChart.d.ts +178 -0
  239. package/dist/ParetoChart.js +637 -0
  240. package/dist/ParetoChart.js.map +1 -0
  241. package/dist/RadarChart.cjs +2 -0
  242. package/dist/RadarChart.cjs.map +1 -0
  243. package/dist/RadarChart.d.ts +176 -0
  244. package/dist/RadarChart.js +678 -0
  245. package/dist/RadarChart.js.map +1 -0
  246. package/dist/ReferenceLine-C1GpoG9d.js +128 -0
  247. package/dist/ReferenceLine-C1GpoG9d.js.map +1 -0
  248. package/dist/ReferenceLine-CuFMk0cI.cjs +2 -0
  249. package/dist/ReferenceLine-CuFMk0cI.cjs.map +1 -0
  250. package/dist/RegressionLine-7_rKTHN_.cjs +2 -0
  251. package/dist/RegressionLine-7_rKTHN_.cjs.map +1 -0
  252. package/dist/RegressionLine-BFwDCTUU.js +48 -0
  253. package/dist/RegressionLine-BFwDCTUU.js.map +1 -0
  254. package/dist/SVGDownloadButton.cjs +2 -0
  255. package/dist/SVGDownloadButton.cjs.map +1 -0
  256. package/dist/SVGDownloadButton.d.ts +15 -0
  257. package/dist/SVGDownloadButton.js +29 -0
  258. package/dist/SVGDownloadButton.js.map +1 -0
  259. package/dist/SankeyChart.cjs +2 -0
  260. package/dist/SankeyChart.cjs.map +1 -0
  261. package/dist/SankeyChart.d.ts +178 -0
  262. package/dist/SankeyChart.js +990 -0
  263. package/dist/SankeyChart.js.map +1 -0
  264. package/dist/ScatterPlot.cjs +2 -0
  265. package/dist/ScatterPlot.cjs.map +1 -0
  266. package/dist/ScatterPlot.d.ts +266 -0
  267. package/dist/ScatterPlot.js +829 -0
  268. package/dist/ScatterPlot.js.map +1 -0
  269. package/dist/ScrollStory.cjs +2 -0
  270. package/dist/ScrollStory.cjs.map +1 -0
  271. package/dist/ScrollStory.d.ts +491 -0
  272. package/dist/ScrollStory.js +106 -0
  273. package/dist/ScrollStory.js.map +1 -0
  274. package/dist/SimpleLineChart.cjs +2 -0
  275. package/dist/SimpleLineChart.cjs.map +1 -0
  276. package/dist/SimpleLineChart.d.ts +230 -0
  277. package/dist/SimpleLineChart.js +620 -0
  278. package/dist/SimpleLineChart.js.map +1 -0
  279. package/dist/SingleGraphDashboard.cjs +2 -0
  280. package/dist/SingleGraphDashboard.cjs.map +1 -0
  281. package/dist/SingleGraphDashboard.d.ts +545 -0
  282. package/dist/SingleGraphDashboard.js +523 -0
  283. package/dist/SingleGraphDashboard.js.map +1 -0
  284. package/dist/SingleGraphDashboardFromConfig.cjs +2 -0
  285. package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -0
  286. package/dist/SingleGraphDashboardFromConfig.d.ts +547 -0
  287. package/dist/SingleGraphDashboardFromConfig.js +35 -0
  288. package/dist/SingleGraphDashboardFromConfig.js.map +1 -0
  289. package/dist/SlopeChart.cjs +2 -0
  290. package/dist/SlopeChart.cjs.map +1 -0
  291. package/dist/SlopeChart.d.ts +167 -0
  292. package/dist/SlopeChart.js +583 -0
  293. package/dist/SlopeChart.js.map +1 -0
  294. package/dist/Source.cjs +2 -0
  295. package/dist/Source.cjs.map +1 -0
  296. package/dist/Source.d.ts +16 -0
  297. package/dist/Source.js +41 -0
  298. package/dist/Source.js.map +1 -0
  299. package/dist/SparkLine.cjs +2 -0
  300. package/dist/SparkLine.cjs.map +1 -0
  301. package/dist/SparkLine.d.ts +139 -0
  302. package/dist/SparkLine.js +321 -0
  303. package/dist/SparkLine.js.map +1 -0
  304. package/dist/Spinner-C85UF28E.js +30 -0
  305. package/dist/Spinner-C85UF28E.js.map +1 -0
  306. package/dist/Spinner-DA6Z5E4n.cjs +2 -0
  307. package/dist/Spinner-DA6Z5E4n.cjs.map +1 -0
  308. package/dist/StatCardFromData.cjs +2 -0
  309. package/dist/StatCardFromData.cjs.map +1 -0
  310. package/dist/StatCardFromData.d.ts +115 -0
  311. package/dist/StatCardFromData.js +250 -0
  312. package/dist/StatCardFromData.js.map +1 -0
  313. package/dist/StripChart.cjs +2 -0
  314. package/dist/StripChart.cjs.map +1 -0
  315. package/dist/StripChart.d.ts +178 -0
  316. package/dist/StripChart.js +989 -0
  317. package/dist/StripChart.js.map +1 -0
  318. package/dist/ThreeDGlobe.cjs +2 -0
  319. package/dist/ThreeDGlobe.cjs.map +1 -0
  320. package/dist/ThreeDGlobe.d.ts +158 -0
  321. package/dist/ThreeDGlobe.js +452 -0
  322. package/dist/ThreeDGlobe.js.map +1 -0
  323. package/dist/ThresholdColorLegendWithMouseOver.cjs +2 -0
  324. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -0
  325. package/dist/ThresholdColorLegendWithMouseOver.d.ts +16 -0
  326. package/dist/ThresholdColorLegendWithMouseOver.js +131 -0
  327. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -0
  328. package/dist/Tooltip-DyM5snqx.js +46 -0
  329. package/dist/Tooltip-DyM5snqx.js.map +1 -0
  330. package/dist/Tooltip-n8z5bfav.cjs +2 -0
  331. package/dist/Tooltip-n8z5bfav.cjs.map +1 -0
  332. package/dist/TreeMapGraph.cjs +2 -0
  333. package/dist/TreeMapGraph.cjs.map +1 -0
  334. package/dist/TreeMapGraph.d.ts +158 -0
  335. package/dist/TreeMapGraph.js +761 -0
  336. package/dist/TreeMapGraph.js.map +1 -0
  337. package/dist/Types.cjs +2 -0
  338. package/dist/Types.cjs.map +1 -0
  339. package/dist/Types.d.ts +883 -0
  340. package/dist/Types.js +2 -0
  341. package/dist/Types.js.map +1 -0
  342. package/dist/Typography-Ctgfl1J5.js +140 -0
  343. package/dist/Typography-Ctgfl1J5.js.map +1 -0
  344. package/dist/Typography-k-kOjICQ.cjs +2 -0
  345. package/dist/Typography-k-kOjICQ.cjs.map +1 -0
  346. package/dist/UnitChart.cjs +2 -0
  347. package/dist/UnitChart.cjs.map +1 -0
  348. package/dist/UnitChart.d.ts +132 -0
  349. package/dist/UnitChart.js +217 -0
  350. package/dist/UnitChart.js.map +1 -0
  351. package/dist/XAxesLabels-CJMQbfVy.cjs +2 -0
  352. package/dist/XAxesLabels-CJMQbfVy.cjs.map +1 -0
  353. package/dist/XAxesLabels-DQFo_z2R.js +57 -0
  354. package/dist/XAxesLabels-DQFo_z2R.js.map +1 -0
  355. package/dist/XTicksAndGridLines-Bn9u5gOM.js +56 -0
  356. package/dist/XTicksAndGridLines-Bn9u5gOM.js.map +1 -0
  357. package/dist/XTicksAndGridLines-CCzXIV8d.cjs +2 -0
  358. package/dist/XTicksAndGridLines-CCzXIV8d.cjs.map +1 -0
  359. package/dist/YAxesLabels-BXLTX7AI.cjs +2 -0
  360. package/dist/YAxesLabels-BXLTX7AI.cjs.map +1 -0
  361. package/dist/YAxesLabels-H5-002X5.js +52 -0
  362. package/dist/YAxesLabels-H5-002X5.js.map +1 -0
  363. package/dist/YTicksAndGridLines-B6ah7CRf.js +56 -0
  364. package/dist/YTicksAndGridLines-B6ah7CRf.js.map +1 -0
  365. package/dist/YTicksAndGridLines-DBDuz6vb.cjs +2 -0
  366. package/dist/YTicksAndGridLines-DBDuz6vb.cjs.map +1 -0
  367. package/dist/_commonjsHelpers-DKOUU3wS.cjs +2 -0
  368. package/dist/_commonjsHelpers-DKOUU3wS.cjs.map +1 -0
  369. package/dist/_commonjsHelpers-DaMA6jEr.js +9 -0
  370. package/dist/_commonjsHelpers-DaMA6jEr.js.map +1 -0
  371. package/dist/area-BE2wo7fv.js +53 -0
  372. package/dist/area-BE2wo7fv.js.map +1 -0
  373. package/dist/area-D3Qx7k7K.cjs +2 -0
  374. package/dist/area-D3Qx7k7K.cjs.map +1 -0
  375. package/dist/array-B7TkkRH0.js +89 -0
  376. package/dist/array-B7TkkRH0.js.map +1 -0
  377. package/dist/array-DKbXV8lR.cjs +2 -0
  378. package/dist/array-DKbXV8lR.cjs.map +1 -0
  379. package/dist/band-BEjh2CHI.js +47 -0
  380. package/dist/band-BEjh2CHI.js.map +1 -0
  381. package/dist/band-CAApY4Pd.cjs +2 -0
  382. package/dist/band-CAApY4Pd.cjs.map +1 -0
  383. package/dist/checkIfMultiple-BB7PlCNh.js +2759 -0
  384. package/dist/checkIfMultiple-BB7PlCNh.js.map +1 -0
  385. package/dist/checkIfMultiple-D5ysrI7G.cjs +12 -0
  386. package/dist/checkIfMultiple-D5ysrI7G.cjs.map +1 -0
  387. package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs +2 -0
  388. package/dist/checkIfNullOrUndefined-BCW3Y1ML.cjs.map +1 -0
  389. package/dist/checkIfNullOrUndefined-DmfiKkNw.js +7 -0
  390. package/dist/checkIfNullOrUndefined-DmfiKkNw.js.map +1 -0
  391. package/dist/customArea-BYNyxAkm.cjs +2 -0
  392. package/dist/customArea-BYNyxAkm.cjs.map +1 -0
  393. package/dist/customArea-CaxScFmW.js +175 -0
  394. package/dist/customArea-CaxScFmW.js.map +1 -0
  395. package/dist/defaultLocale-BEa-49Qz.js +172 -0
  396. package/dist/defaultLocale-BEa-49Qz.js.map +1 -0
  397. package/dist/defaultLocale-DIVzfLaQ.cjs +2 -0
  398. package/dist/defaultLocale-DIVzfLaQ.cjs.map +1 -0
  399. package/dist/delaunay-C1uAf38t.js +684 -0
  400. package/dist/delaunay-C1uAf38t.js.map +1 -0
  401. package/dist/delaunay-rcy0HhZi.cjs +2 -0
  402. package/dist/delaunay-rcy0HhZi.cjs.map +1 -0
  403. package/dist/ensureCompleteData-BBDZbDCE.js +102 -0
  404. package/dist/ensureCompleteData-BBDZbDCE.js.map +1 -0
  405. package/dist/ensureCompleteData-DqWQ2Zbi.cjs +2 -0
  406. package/dist/ensureCompleteData-DqWQ2Zbi.cjs.map +1 -0
  407. package/dist/excelDownload-BOA-lskf.js +19 -0
  408. package/dist/excelDownload-BOA-lskf.js.map +1 -0
  409. package/dist/excelDownload-BQpsCa62.cjs +2 -0
  410. package/dist/excelDownload-BQpsCa62.cjs.map +1 -0
  411. package/dist/fetchAndParseData-Bcmr659B.js +1196 -0
  412. package/dist/fetchAndParseData-Bcmr659B.js.map +1 -0
  413. package/dist/fetchAndParseData-DmgQtB9n.cjs +16 -0
  414. package/dist/fetchAndParseData-DmgQtB9n.cjs.map +1 -0
  415. package/dist/fetchAndParseData.cjs +2 -0
  416. package/dist/fetchAndParseData.cjs.map +1 -0
  417. package/dist/fetchAndParseData.d.ts +84 -0
  418. package/dist/fetchAndParseData.js +10 -0
  419. package/dist/fetchAndParseData.js.map +1 -0
  420. package/dist/filterData-B8ocT57s.js +14 -0
  421. package/dist/filterData-B8ocT57s.js.map +1 -0
  422. package/dist/filterData-DN6py7y_.cjs +2 -0
  423. package/dist/filterData-DN6py7y_.cjs.map +1 -0
  424. package/dist/generateRandomString-B5zBiJzS.cjs +2 -0
  425. package/dist/generateRandomString-B5zBiJzS.cjs.map +1 -0
  426. package/dist/generateRandomString-za3IQGfQ.js +11 -0
  427. package/dist/generateRandomString-za3IQGfQ.js.map +1 -0
  428. package/dist/getGraphList-DuColTJM.js +265 -0
  429. package/dist/getGraphList-DuColTJM.js.map +1 -0
  430. package/dist/getGraphList-gf02xgT2.cjs +2 -0
  431. package/dist/getGraphList-gf02xgT2.cjs.map +1 -0
  432. package/dist/getJenks-TWQvbuOz.cjs +2 -0
  433. package/dist/getJenks-TWQvbuOz.cjs.map +1 -0
  434. package/dist/getJenks-VhM3GIoC.js +23 -0
  435. package/dist/getJenks-VhM3GIoC.js.map +1 -0
  436. package/dist/getSchema.cjs +2 -0
  437. package/dist/getSchema.cjs.map +1 -0
  438. package/dist/getSchema.d.ts +3256 -0
  439. package/dist/getSchema.js +911 -0
  440. package/dist/getSchema.js.map +1 -0
  441. package/dist/getSliderMarks-C0jptXeP.js +1054 -0
  442. package/dist/getSliderMarks-C0jptXeP.js.map +1 -0
  443. package/dist/getSliderMarks-CtsEXiLV.cjs +6 -0
  444. package/dist/getSliderMarks-CtsEXiLV.cjs.map +1 -0
  445. package/dist/getTextColorBasedOnBgColor-B6Nk2WBf.js +28 -0
  446. package/dist/getTextColorBasedOnBgColor-B6Nk2WBf.js.map +1 -0
  447. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs +2 -0
  448. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs.map +1 -0
  449. package/dist/getUniqValue-BtUENB2H.js +20 -0
  450. package/dist/getUniqValue-BtUENB2H.js.map +1 -0
  451. package/dist/getUniqValue-CHqgSss5.cjs +2 -0
  452. package/dist/getUniqValue-CHqgSss5.cjs.map +1 -0
  453. package/dist/imageDownload-CgDcm1Sj.cjs +3 -0
  454. package/dist/imageDownload-CgDcm1Sj.cjs.map +1 -0
  455. package/dist/imageDownload-Dcci2LEy.js +495 -0
  456. package/dist/imageDownload-Dcci2LEy.js.map +1 -0
  457. package/dist/index-27yTRcko.js +35 -0
  458. package/dist/index-27yTRcko.js.map +1 -0
  459. package/dist/index-B0rbzOoC.cjs +2 -0
  460. package/dist/index-B0rbzOoC.cjs.map +1 -0
  461. package/dist/index-BLizQDlg.js +658 -0
  462. package/dist/index-BLizQDlg.js.map +1 -0
  463. package/dist/index-BVnYktl4.js +435 -0
  464. package/dist/index-BVnYktl4.js.map +1 -0
  465. package/dist/index-BW_-wD2k.cjs +2 -0
  466. package/dist/index-BW_-wD2k.cjs.map +1 -0
  467. package/dist/index-BXns0-ng.cjs +2 -0
  468. package/dist/index-BXns0-ng.cjs.map +1 -0
  469. package/dist/index-BczVvEBZ.cjs +2 -0
  470. package/dist/index-BczVvEBZ.cjs.map +1 -0
  471. package/dist/index-BmCqpO1B.js +342 -0
  472. package/dist/index-BmCqpO1B.js.map +1 -0
  473. package/dist/index-BxAUvrua.js +120 -0
  474. package/dist/index-BxAUvrua.js.map +1 -0
  475. package/dist/index-BzeLQvXk.cjs +2 -0
  476. package/dist/index-BzeLQvXk.cjs.map +1 -0
  477. package/dist/index-C1rRk_50.js +273 -0
  478. package/dist/index-C1rRk_50.js.map +1 -0
  479. package/dist/index-C21TvELx.cjs +2 -0
  480. package/dist/index-C21TvELx.cjs.map +1 -0
  481. package/dist/index-CHPV5EwG-BPSP-7Jg.js +3341 -0
  482. package/dist/index-CHPV5EwG-BPSP-7Jg.js.map +1 -0
  483. package/dist/index-CHPV5EwG-DDoeWRVt.cjs +44 -0
  484. package/dist/index-CHPV5EwG-DDoeWRVt.cjs.map +1 -0
  485. package/dist/index-CZbIGs8q.cjs +2 -0
  486. package/dist/index-CZbIGs8q.cjs.map +1 -0
  487. package/dist/index-CaAIPGZo.js +631 -0
  488. package/dist/index-CaAIPGZo.js.map +1 -0
  489. package/dist/index-CylX-pWB.cjs +2 -0
  490. package/dist/index-CylX-pWB.cjs.map +1 -0
  491. package/dist/index-D7ltPi18.js +26 -0
  492. package/dist/index-D7ltPi18.js.map +1 -0
  493. package/dist/index-D9h2WYDS.cjs +22 -0
  494. package/dist/index-D9h2WYDS.cjs.map +1 -0
  495. package/dist/index-DG3YrCr5-D3FrrXj8.js +459 -0
  496. package/dist/index-DG3YrCr5-D3FrrXj8.js.map +1 -0
  497. package/dist/index-DG3YrCr5-v7rayV3N.cjs +2 -0
  498. package/dist/index-DG3YrCr5-v7rayV3N.cjs.map +1 -0
  499. package/dist/index-DVOJ7vxH.cjs +10 -0
  500. package/dist/index-DVOJ7vxH.cjs.map +1 -0
  501. package/dist/index-D_n8aamX.cjs +2 -0
  502. package/dist/index-D_n8aamX.cjs.map +1 -0
  503. package/dist/index-Ds0uHjK9.cjs +2 -0
  504. package/dist/index-Ds0uHjK9.cjs.map +1 -0
  505. package/dist/index-DxagiOHo.js +707 -0
  506. package/dist/index-DxagiOHo.js.map +1 -0
  507. package/dist/index-OCoyy1wG.js +635 -0
  508. package/dist/index-OCoyy1wG.js.map +1 -0
  509. package/dist/index-UV9hjG_S.js +53 -0
  510. package/dist/index-UV9hjG_S.js.map +1 -0
  511. package/dist/index-n_RI8T0n.js +77 -0
  512. package/dist/index-n_RI8T0n.js.map +1 -0
  513. package/dist/index-tvAyXPPW-DBlMKnNB.js +47 -0
  514. package/dist/index-tvAyXPPW-DBlMKnNB.js.map +1 -0
  515. package/dist/index-tvAyXPPW-DPOG-C2i.cjs +2 -0
  516. package/dist/index-tvAyXPPW-DPOG-C2i.cjs.map +1 -0
  517. package/dist/index.cjs +1 -67
  518. package/dist/index.cjs.map +1 -1
  519. package/dist/index.d.ts +1 -5
  520. package/dist/index.js +178 -52486
  521. package/dist/index.js.map +1 -1
  522. package/dist/init-BhZylTFx.js +63 -0
  523. package/dist/init-BhZylTFx.js.map +1 -0
  524. package/dist/init-DU0ybBc_.cjs +2 -0
  525. package/dist/init-DU0ybBc_.cjs.map +1 -0
  526. package/dist/line-CPfhohvF.js +68 -0
  527. package/dist/line-CPfhohvF.js.map +1 -0
  528. package/dist/line-DHV4JwCR.cjs +2 -0
  529. package/dist/line-DHV4JwCR.cjs.map +1 -0
  530. package/dist/linear-BVckp9RD.cjs +2 -0
  531. package/dist/linear-BVckp9RD.cjs.map +1 -0
  532. package/dist/linear-DUdu7l2G.js +221 -0
  533. package/dist/linear-DUdu7l2G.js.map +1 -0
  534. package/dist/numberFormattingFunction-02t-wJta.cjs +2 -0
  535. package/dist/numberFormattingFunction-02t-wJta.cjs.map +1 -0
  536. package/dist/numberFormattingFunction-14YCbkN2.js +13 -0
  537. package/dist/numberFormattingFunction-14YCbkN2.js.map +1 -0
  538. package/dist/ordinal-BOeNbyae.cjs +2 -0
  539. package/dist/ordinal-BOeNbyae.cjs.map +1 -0
  540. package/dist/ordinal-w9Lu4Stb.js +62 -0
  541. package/dist/ordinal-w9Lu4Stb.js.map +1 -0
  542. package/dist/parse-DlCRUFh_.js +2768 -0
  543. package/dist/parse-DlCRUFh_.js.map +1 -0
  544. package/dist/parse-hMnG_lRV.cjs +2 -0
  545. package/dist/parse-hMnG_lRV.cjs.map +1 -0
  546. package/dist/pointer-CWRWOsrb.js +23 -0
  547. package/dist/pointer-CWRWOsrb.js.map +1 -0
  548. package/dist/pointer-Dkq5NV1q.cjs +2 -0
  549. package/dist/pointer-Dkq5NV1q.cjs.map +1 -0
  550. package/dist/pow-B5-jkdHU.cjs +2 -0
  551. package/dist/pow-B5-jkdHU.cjs.map +1 -0
  552. package/dist/pow-e8zx3AQJ.js +35 -0
  553. package/dist/pow-e8zx3AQJ.js.map +1 -0
  554. package/dist/proxy-DJxJg1kD.js +4612 -0
  555. package/dist/proxy-DJxJg1kD.js.map +1 -0
  556. package/dist/proxy-PQd2AItT.cjs +2 -0
  557. package/dist/proxy-PQd2AItT.cjs.map +1 -0
  558. package/dist/removeOutliers-DR48e-18.js +57 -0
  559. package/dist/removeOutliers-DR48e-18.js.map +1 -0
  560. package/dist/removeOutliers-WELHHqiI.cjs +2 -0
  561. package/dist/removeOutliers-WELHHqiI.cjs.map +1 -0
  562. package/dist/select-Bnfk0lJx.cjs +2 -0
  563. package/dist/select-Bnfk0lJx.cjs.map +1 -0
  564. package/dist/select-DKy99ogv.js +584 -0
  565. package/dist/select-DKy99ogv.js.map +1 -0
  566. package/dist/simple-statistics-flVzqVtt.js +65 -0
  567. package/dist/simple-statistics-flVzqVtt.js.map +1 -0
  568. package/dist/simple-statistics-xm8c0LQQ.cjs +2 -0
  569. package/dist/simple-statistics-xm8c0LQQ.cjs.map +1 -0
  570. package/dist/step-BZ3C8QFW.cjs +2 -0
  571. package/dist/step-BZ3C8QFW.cjs.map +1 -0
  572. package/dist/step-BrDul-H4.js +119 -0
  573. package/dist/step-BrDul-H4.js.map +1 -0
  574. package/dist/string-B8KlVSPX.js +364 -0
  575. package/dist/string-B8KlVSPX.js.map +1 -0
  576. package/dist/string-CRoCZCYa.cjs +2 -0
  577. package/dist/string-CRoCZCYa.cjs.map +1 -0
  578. package/dist/string2HTML-CWHGfz_d.js +758 -0
  579. package/dist/string2HTML-CWHGfz_d.js.map +1 -0
  580. package/dist/string2HTML-D2Avudmb.cjs +3 -0
  581. package/dist/string2HTML-D2Avudmb.cjs.map +1 -0
  582. package/dist/style.css +1 -1
  583. package/dist/svgDownload-C2-E3yf2.js +9 -0
  584. package/dist/svgDownload-C2-E3yf2.js.map +1 -0
  585. package/dist/svgDownload-D9zEGjTF.cjs +2 -0
  586. package/dist/svgDownload-D9zEGjTF.cjs.map +1 -0
  587. package/dist/threshold-DFfqcDMa.js +23 -0
  588. package/dist/threshold-DFfqcDMa.js.map +1 -0
  589. package/dist/threshold-DNsSUf8Q.cjs +2 -0
  590. package/dist/threshold-DNsSUf8Q.cjs.map +1 -0
  591. package/dist/time-Byw_jYQ7.cjs +2 -0
  592. package/dist/time-Byw_jYQ7.cjs.map +1 -0
  593. package/dist/time-BzJP5SPC.js +715 -0
  594. package/dist/time-BzJP5SPC.js.map +1 -0
  595. package/dist/timer-B39XOBYL.js +124 -0
  596. package/dist/timer-B39XOBYL.js.map +1 -0
  597. package/dist/timer-CKyBCVzT.cjs +2 -0
  598. package/dist/timer-CKyBCVzT.cjs.map +1 -0
  599. package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs +4 -0
  600. package/dist/toConsumableArray-DiWOvh_d-DcLaZvDq.cjs.map +1 -0
  601. package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js +145 -0
  602. package/dist/toConsumableArray-DiWOvh_d-DlpOlgap.js.map +1 -0
  603. package/dist/transformData.cjs +2 -0
  604. package/dist/transformData.cjs.map +1 -0
  605. package/dist/transformData.d.ts +170 -0
  606. package/dist/transformData.js +10 -0
  607. package/dist/transformData.js.map +1 -0
  608. package/dist/transformDataForAggregation-BUGJnson.cjs +2 -0
  609. package/dist/transformDataForAggregation-BUGJnson.cjs.map +1 -0
  610. package/dist/transformDataForAggregation-DAQJWGNL.js +759 -0
  611. package/dist/transformDataForAggregation-DAQJWGNL.js.map +1 -0
  612. package/dist/transformDataForGraphFromFile-CrntpaMU.cjs +2 -0
  613. package/dist/transformDataForGraphFromFile-CrntpaMU.cjs.map +1 -0
  614. package/dist/transformDataForGraphFromFile-DdNiOWeC.js +24 -0
  615. package/dist/transformDataForGraphFromFile-DdNiOWeC.js.map +1 -0
  616. package/dist/use-in-view-BAHrBy6b.js +40 -0
  617. package/dist/use-in-view-BAHrBy6b.js.map +1 -0
  618. package/dist/use-in-view-BCmzDU2O.cjs +2 -0
  619. package/dist/use-in-view-BCmzDU2O.cjs.map +1 -0
  620. package/dist/utils.cjs +2 -0
  621. package/dist/utils.cjs.map +1 -0
  622. package/dist/utils.d.ts +217 -0
  623. package/dist/utils.js +27 -0
  624. package/dist/utils.js.map +1 -0
  625. package/dist/validateSchema.cjs +2 -0
  626. package/dist/validateSchema.cjs.map +1 -0
  627. package/dist/validateSchema.d.ts +68 -0
  628. package/dist/validateSchema.js +105 -0
  629. package/dist/validateSchema.js.map +1 -0
  630. package/dist/x-CnsEH4Ox-CGGXQl4M.cjs +27 -0
  631. package/dist/x-CnsEH4Ox-CGGXQl4M.cjs.map +1 -0
  632. package/dist/x-CnsEH4Ox-DDvAJndW.js +101 -0
  633. package/dist/x-CnsEH4Ox-DDvAJndW.js.map +1 -0
  634. package/dist/y-D0sAaVii.js +421 -0
  635. package/dist/y-D0sAaVii.js.map +1 -0
  636. package/dist/y-QcCbqrzx.cjs +2 -0
  637. package/dist/y-QcCbqrzx.cjs.map +1 -0
  638. package/dist/zoom-Lo7IAUfC.cjs +2 -0
  639. package/dist/zoom-Lo7IAUfC.cjs.map +1 -0
  640. package/dist/zoom-_lqdiGoI.js +1983 -0
  641. package/dist/zoom-_lqdiGoI.js.map +1 -0
  642. package/package.json +340 -4
@@ -0,0 +1,479 @@
1
+ import { j as c, m as xe } from "./index-CHPV5EwG-BPSP-7Jg.js";
2
+ import { useState as V, useRef as fe, useEffect as ye } from "react";
3
+ import { s as se } from "./index-DxagiOHo.js";
4
+ import { f as ve, u as ge } from "./Typography-Ctgfl1J5.js";
5
+ import { i as be } from "./index-27yTRcko.js";
6
+ import { X as je } from "./Modal-CUU6ZK3U.js";
7
+ import { T as we } from "./Tooltip-DyM5snqx.js";
8
+ import { Colors as ae } from "./Colors.js";
9
+ import { n as pe } from "./numberFormattingFunction-14YCbkN2.js";
10
+ import { s as Me } from "./string2HTML-CWHGfz_d.js";
11
+ import { w as Ae, c as S, a as Ne } from "./array-B7TkkRH0.js";
12
+ import { GraphFooter as De } from "./GraphFooter.js";
13
+ import { GraphHeader as Ce } from "./GraphHeader.js";
14
+ import { E as $e } from "./EmptyState-DdTp-Mdn.js";
15
+ const me = Math.abs, T = Math.atan2, q = Math.cos, ke = Math.max, de = Math.min, F = Math.sin, ne = Math.sqrt, H = 1e-12, ie = Math.PI, ce = ie / 2, le = 2 * ie;
16
+ function Re(a) {
17
+ return a > 1 ? 0 : a < -1 ? ie : Math.acos(a);
18
+ }
19
+ function he(a) {
20
+ return a >= 1 ? ce : a <= -1 ? -ce : Math.asin(a);
21
+ }
22
+ function Te(a) {
23
+ return a.innerRadius;
24
+ }
25
+ function Oe(a) {
26
+ return a.outerRadius;
27
+ }
28
+ function Se(a) {
29
+ return a.startAngle;
30
+ }
31
+ function ze(a) {
32
+ return a.endAngle;
33
+ }
34
+ function He(a) {
35
+ return a && a.padAngle;
36
+ }
37
+ function We(a, s, v, g, C, w, f, e) {
38
+ var m = v - a, i = g - s, n = f - C, M = e - w, t = M * m - n * i;
39
+ if (!(t * t < H))
40
+ return t = (n * (s - w) - M * (a - C)) / t, [a + t * m, s + t * i];
41
+ }
42
+ function oe(a, s, v, g, C, w, f) {
43
+ var e = a - v, m = s - g, i = (f ? w : -w) / ne(e * e + m * m), n = i * m, M = -i * e, t = a + n, l = s + M, y = v + n, h = g + M, O = (t + y) / 2, u = (l + h) / 2, N = y - t, b = h - l, j = N * N + b * b, $ = C - w, D = t * h - y * l, z = (b < 0 ? -1 : 1) * ne(ke(0, $ * $ * j - D * D)), k = (D * b - N * z) / j, d = (-D * N - b * z) / j, R = (D * b + N * z) / j, A = (-D * N + b * z) / j, p = k - O, r = d - u, o = R - O, E = A - u;
44
+ return p * p + r * r > o * o + E * E && (k = R, d = A), {
45
+ cx: k,
46
+ cy: d,
47
+ x01: -n,
48
+ y01: -M,
49
+ x11: k * (C / $ - 1),
50
+ y11: d * (C / $ - 1)
51
+ };
52
+ }
53
+ function Ee() {
54
+ var a = Te, s = Oe, v = S(0), g = null, C = Se, w = ze, f = He, e = null, m = Ae(i);
55
+ function i() {
56
+ var n, M, t = +a.apply(this, arguments), l = +s.apply(this, arguments), y = C.apply(this, arguments) - ce, h = w.apply(this, arguments) - ce, O = me(h - y), u = h > y;
57
+ if (e || (e = n = m()), l < t && (M = l, l = t, t = M), !(l > H)) e.moveTo(0, 0);
58
+ else if (O > le - H)
59
+ e.moveTo(l * q(y), l * F(y)), e.arc(0, 0, l, y, h, !u), t > H && (e.moveTo(t * q(h), t * F(h)), e.arc(0, 0, t, h, y, u));
60
+ else {
61
+ var N = y, b = h, j = y, $ = h, D = O, z = O, k = f.apply(this, arguments) / 2, d = k > H && (g ? +g.apply(this, arguments) : ne(t * t + l * l)), R = de(me(l - t) / 2, +v.apply(this, arguments)), A = R, p = R, r, o;
62
+ if (d > H) {
63
+ var E = he(d / t * F(k)), J = he(d / l * F(k));
64
+ (D -= E * 2) > H ? (E *= u ? 1 : -1, j += E, $ -= E) : (D = 0, j = $ = (y + h) / 2), (z -= J * 2) > H ? (J *= u ? 1 : -1, N += J, b -= J) : (z = 0, N = b = (y + h) / 2);
65
+ }
66
+ var X = l * q(N), G = l * F(N), K = t * q($), P = t * F($);
67
+ if (R > H) {
68
+ var I = l * q(b), L = l * F(b), Q = t * q(j), U = t * F(j), W;
69
+ if (O < ie)
70
+ if (W = We(X, G, Q, U, I, L, K, P)) {
71
+ var Z = X - W[0], te = G - W[1], _ = I - W[0], B = L - W[1], re = 1 / F(Re((Z * _ + te * B) / (ne(Z * Z + te * te) * ne(_ * _ + B * B))) / 2), Y = ne(W[0] * W[0] + W[1] * W[1]);
72
+ A = de(R, (t - Y) / (re - 1)), p = de(R, (l - Y) / (re + 1));
73
+ } else
74
+ A = p = 0;
75
+ }
76
+ z > H ? p > H ? (r = oe(Q, U, X, G, l, p, u), o = oe(I, L, K, P, l, p, u), e.moveTo(r.cx + r.x01, r.cy + r.y01), p < R ? e.arc(r.cx, r.cy, p, T(r.y01, r.x01), T(o.y01, o.x01), !u) : (e.arc(r.cx, r.cy, p, T(r.y01, r.x01), T(r.y11, r.x11), !u), e.arc(0, 0, l, T(r.cy + r.y11, r.cx + r.x11), T(o.cy + o.y11, o.cx + o.x11), !u), e.arc(o.cx, o.cy, p, T(o.y11, o.x11), T(o.y01, o.x01), !u))) : (e.moveTo(X, G), e.arc(0, 0, l, N, b, !u)) : e.moveTo(X, G), !(t > H) || !(D > H) ? e.lineTo(K, P) : A > H ? (r = oe(K, P, I, L, t, -A, u), o = oe(X, G, Q, U, t, -A, u), e.lineTo(r.cx + r.x01, r.cy + r.y01), A < R ? e.arc(r.cx, r.cy, A, T(r.y01, r.x01), T(o.y01, o.x01), !u) : (e.arc(r.cx, r.cy, A, T(r.y01, r.x01), T(r.y11, r.x11), !u), e.arc(0, 0, t, T(r.cy + r.y11, r.cx + r.x11), T(o.cy + o.y11, o.cx + o.x11), u), e.arc(o.cx, o.cy, A, T(o.y11, o.x11), T(o.y01, o.x01), !u))) : e.arc(0, 0, t, $, j, u);
77
+ }
78
+ if (e.closePath(), n) return e = null, n + "" || null;
79
+ }
80
+ return i.centroid = function() {
81
+ var n = (+a.apply(this, arguments) + +s.apply(this, arguments)) / 2, M = (+C.apply(this, arguments) + +w.apply(this, arguments)) / 2 - ie / 2;
82
+ return [q(M) * n, F(M) * n];
83
+ }, i.innerRadius = function(n) {
84
+ return arguments.length ? (a = typeof n == "function" ? n : S(+n), i) : a;
85
+ }, i.outerRadius = function(n) {
86
+ return arguments.length ? (s = typeof n == "function" ? n : S(+n), i) : s;
87
+ }, i.cornerRadius = function(n) {
88
+ return arguments.length ? (v = typeof n == "function" ? n : S(+n), i) : v;
89
+ }, i.padRadius = function(n) {
90
+ return arguments.length ? (g = n == null ? null : typeof n == "function" ? n : S(+n), i) : g;
91
+ }, i.startAngle = function(n) {
92
+ return arguments.length ? (C = typeof n == "function" ? n : S(+n), i) : C;
93
+ }, i.endAngle = function(n) {
94
+ return arguments.length ? (w = typeof n == "function" ? n : S(+n), i) : w;
95
+ }, i.padAngle = function(n) {
96
+ return arguments.length ? (f = typeof n == "function" ? n : S(+n), i) : f;
97
+ }, i.context = function(n) {
98
+ return arguments.length ? (e = n ?? null, i) : e;
99
+ }, i;
100
+ }
101
+ function Pe(a, s) {
102
+ return s < a ? -1 : s > a ? 1 : s >= a ? 0 : NaN;
103
+ }
104
+ function Be(a) {
105
+ return a;
106
+ }
107
+ function Ie() {
108
+ var a = Be, s = Pe, v = null, g = S(0), C = S(le), w = S(0);
109
+ function f(e) {
110
+ var m, i = (e = Ne(e)).length, n, M, t = 0, l = new Array(i), y = new Array(i), h = +g.apply(this, arguments), O = Math.min(le, Math.max(-le, C.apply(this, arguments) - h)), u, N = Math.min(Math.abs(O) / i, w.apply(this, arguments)), b = N * (O < 0 ? -1 : 1), j;
111
+ for (m = 0; m < i; ++m)
112
+ (j = y[l[m] = m] = +a(e[m], m, e)) > 0 && (t += j);
113
+ for (s != null ? l.sort(function($, D) {
114
+ return s(y[$], y[D]);
115
+ }) : v != null && l.sort(function($, D) {
116
+ return v(e[$], e[D]);
117
+ }), m = 0, M = t ? (O - i * b) / t : 0; m < i; ++m, h = u)
118
+ n = l[m], j = y[n], u = h + (j > 0 ? j * M : 0) + b, y[n] = {
119
+ data: e[n],
120
+ index: m,
121
+ value: j,
122
+ startAngle: h,
123
+ endAngle: u,
124
+ padAngle: N
125
+ };
126
+ return y;
127
+ }
128
+ return f.value = function(e) {
129
+ return arguments.length ? (a = typeof e == "function" ? e : S(+e), f) : a;
130
+ }, f.sortValues = function(e) {
131
+ return arguments.length ? (s = e, v = null, f) : s;
132
+ }, f.sort = function(e) {
133
+ return arguments.length ? (v = e, s = null, f) : v;
134
+ }, f.startAngle = function(e) {
135
+ return arguments.length ? (g = typeof e == "function" ? e : S(+e), f) : g;
136
+ }, f.endAngle = function(e) {
137
+ return arguments.length ? (C = typeof e == "function" ? e : S(+e), f) : C;
138
+ }, f.padAngle = function(e) {
139
+ return arguments.length ? (w = typeof e == "function" ? e : S(+e), f) : w;
140
+ }, f;
141
+ }
142
+ function Fe(a) {
143
+ const {
144
+ mainText: s,
145
+ data: v,
146
+ radius: g,
147
+ colors: C,
148
+ subNote: w,
149
+ strokeWidth: f,
150
+ tooltip: e,
151
+ onSeriesMouseOver: m,
152
+ onSeriesMouseClick: i,
153
+ colorDomain: n,
154
+ resetSelectionOnDoubleClick: M,
155
+ detailsOnClick: t,
156
+ styles: l,
157
+ classNames: y,
158
+ precision: h
159
+ } = a, O = Ie().sort(null).startAngle(0).value((d) => d.size), [u, N] = V(void 0), [b, j] = V(void 0), [$, D] = V(void 0), [z, k] = V(void 0);
160
+ return /* @__PURE__ */ c.jsxs(c.Fragment, { children: [
161
+ /* @__PURE__ */ c.jsx(
162
+ "svg",
163
+ {
164
+ width: `${g * 2}px`,
165
+ height: `${g * 2}px`,
166
+ viewBox: `0 0 ${g * 2} ${g * 2}`,
167
+ direction: "ltr",
168
+ children: /* @__PURE__ */ c.jsxs("g", { transform: `translate(${g} ${g})`, children: [
169
+ s || w ? /* @__PURE__ */ c.jsx(
170
+ "foreignObject",
171
+ {
172
+ y: 0 - (g - f),
173
+ x: 0 - (g - f),
174
+ width: 2 * (g - f),
175
+ height: 2 * (g - f),
176
+ children: /* @__PURE__ */ c.jsxs("div", { className: "flex flex-col gap-0.5 justify-center items-center h-inherit py-0 px-4", children: [
177
+ s ? /* @__PURE__ */ c.jsx(
178
+ ve,
179
+ {
180
+ marginBottom: "none",
181
+ className: "donut-main-text text-primary-gray-700 dark:text-primary-gray-100 leading-none text-center",
182
+ children: typeof s == "string" ? s : v.findIndex((d) => d.label === s.label) !== -1 ? pe(
183
+ v[v.findIndex((d) => d.label === s.label)].size,
184
+ "NA",
185
+ h,
186
+ s.prefix,
187
+ s.suffix
188
+ ) : "NA"
189
+ }
190
+ ) : null,
191
+ w ? /* @__PURE__ */ c.jsx(
192
+ ge,
193
+ {
194
+ marginBottom: "none",
195
+ size: "base",
196
+ leading: "none",
197
+ className: "donut-sub-note text-primary-gray-700 dark:text-primary-gray-100 text-center font-bold",
198
+ children: w
199
+ }
200
+ ) : typeof s == "string" || !s ? null : /* @__PURE__ */ c.jsx(
201
+ ge,
202
+ {
203
+ size: "base",
204
+ marginBottom: "none",
205
+ leading: "none",
206
+ className: "donut-label text-primary-gray-700 dark:text-primary-gray-100 text-center font-bold",
207
+ children: s.label
208
+ }
209
+ )
210
+ ] })
211
+ }
212
+ ) : null,
213
+ O(v).map((d, R) => /* @__PURE__ */ c.jsx(
214
+ "path",
215
+ {
216
+ d: Ee()({
217
+ innerRadius: g - f,
218
+ outerRadius: g,
219
+ startAngle: d.startAngle,
220
+ endAngle: d.endAngle
221
+ }),
222
+ style: {
223
+ fill: n.indexOf(d.data.label) !== -1 ? C[n.indexOf(d.data.label) % C.length] : ae.gray,
224
+ opacity: u ? u.label === d.data.label ? 1 : 0.3 : 1
225
+ },
226
+ onMouseEnter: (A) => {
227
+ N(d.data), k(A.clientY), D(A.clientX), m?.(d);
228
+ },
229
+ onClick: () => {
230
+ (i || t) && (be(b, d.data) && M ? (j(void 0), i?.(void 0)) : (j(d.data), i && i(d.data)));
231
+ },
232
+ onMouseMove: (A) => {
233
+ N(d.data), k(A.clientY), D(A.clientX);
234
+ },
235
+ onMouseLeave: () => {
236
+ N(void 0), D(void 0), k(void 0), m?.(void 0);
237
+ }
238
+ },
239
+ R
240
+ ))
241
+ ] })
242
+ }
243
+ ),
244
+ u && e && $ && z ? /* @__PURE__ */ c.jsx(
245
+ we,
246
+ {
247
+ data: u,
248
+ body: e,
249
+ xPos: $,
250
+ yPos: z,
251
+ backgroundStyle: l?.tooltip,
252
+ className: y?.tooltip
253
+ }
254
+ ) : null,
255
+ t && b !== void 0 ? /* @__PURE__ */ c.jsx(
256
+ je,
257
+ {
258
+ open: b !== void 0,
259
+ onClose: () => {
260
+ j(void 0);
261
+ },
262
+ children: /* @__PURE__ */ c.jsx(
263
+ "div",
264
+ {
265
+ className: "graph-modal-content m-0",
266
+ dangerouslySetInnerHTML: typeof t == "string" ? { __html: Me(t, b) } : void 0,
267
+ children: typeof t == "function" ? t(b) : null
268
+ }
269
+ )
270
+ }
271
+ ) : null
272
+ ] });
273
+ }
274
+ function tn(a) {
275
+ const {
276
+ mainText: s,
277
+ graphTitle: v,
278
+ colors: g = ae.light.categoricalColors.colors,
279
+ suffix: C = "",
280
+ sources: w,
281
+ prefix: f = "",
282
+ strokeWidth: e = 50,
283
+ graphDescription: m,
284
+ subNote: i,
285
+ footNote: n,
286
+ radius: M,
287
+ data: t,
288
+ showColorScale: l = !0,
289
+ padding: y,
290
+ backgroundColor: h = !1,
291
+ tooltip: O,
292
+ onSeriesMouseOver: u,
293
+ graphID: N,
294
+ onSeriesMouseClick: b,
295
+ topMargin: j = 0,
296
+ bottomMargin: $ = 0,
297
+ graphDownload: D = !1,
298
+ dataDownload: z = !1,
299
+ colorDomain: k,
300
+ sortData: d,
301
+ language: R = "en",
302
+ theme: A = "light",
303
+ width: p,
304
+ height: r,
305
+ minHeight: o = 0,
306
+ relativeHeight: E,
307
+ ariaLabel: J,
308
+ resetSelectionOnDoubleClick: X = !0,
309
+ colorScaleMaxWidth: G,
310
+ detailsOnClick: K,
311
+ styles: P,
312
+ classNames: I,
313
+ precision: L = 2
314
+ } = a, [Q, U] = V(0), [W, Z] = V(0), [te, _] = V(0), B = fe(null), re = fe(null);
315
+ ye(() => {
316
+ const x = new ResizeObserver((ee) => {
317
+ Z(p || ee[0].target.clientWidth || 420), _(r || ee[0].target.clientHeight || 420), U(
318
+ (Math.min(
319
+ p || ee[0].target.clientWidth || 620,
320
+ r || ee[0].target.clientHeight || 480
321
+ ) || 420) / 2
322
+ );
323
+ });
324
+ return B.current && (_(B.current.clientHeight || 420), Z(B.current.clientWidth || 420), U(
325
+ (Math.min(B.current.clientWidth, B.current.clientHeight) || 420) / 2
326
+ ), (!p || !M) && x.observe(B.current)), () => x.disconnect();
327
+ }, [p, r, M]);
328
+ const Y = d === "asc" ? se(t, (x) => x.size) : d === "desc" ? se(t, (x) => x.size).reverse() : t;
329
+ return /* @__PURE__ */ c.jsx(
330
+ "div",
331
+ {
332
+ className: `${A || "light"} flex ${p ? "w-fit grow-0" : "w-full grow"}`,
333
+ dir: R === "he" || R === "ar" ? "rtl" : void 0,
334
+ children: /* @__PURE__ */ c.jsx(
335
+ "div",
336
+ {
337
+ className: xe(
338
+ `${h ? h === !0 ? "bg-primary-gray-200 dark:bg-primary-gray-650 " : "" : "bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${R || "en"}`,
339
+ I?.graphContainer
340
+ ),
341
+ style: {
342
+ ...P?.graphContainer || {},
343
+ minHeight: "inherit",
344
+ ...h && h !== !0 ? { backgroundColor: h } : {}
345
+ },
346
+ id: N,
347
+ ref: re,
348
+ "aria-label": J || `${v ? `The graph shows ${v}. ` : ""}This is a donut or pie chart chart. ${m ? ` ${m}` : ""}`,
349
+ children: /* @__PURE__ */ c.jsx(
350
+ "div",
351
+ {
352
+ className: "flex grow",
353
+ style: { padding: h ? y || "1rem" : y || 0 },
354
+ children: /* @__PURE__ */ c.jsxs("div", { className: "flex flex-col gap-2 w-full grow justify-between", children: [
355
+ v || m || D || z ? /* @__PURE__ */ c.jsx(
356
+ Ce,
357
+ {
358
+ styles: {
359
+ title: P?.title,
360
+ description: P?.description
361
+ },
362
+ classNames: {
363
+ title: I?.title,
364
+ description: I?.description
365
+ },
366
+ graphTitle: v,
367
+ graphDescription: m,
368
+ width: p,
369
+ graphDownload: D ? re.current : void 0,
370
+ dataDownload: z ? t.map((x) => x.data).filter((x) => x !== void 0).length > 0 ? t.map((x) => x.data).filter((x) => x !== void 0) : t.filter((x) => x !== void 0) : null
371
+ }
372
+ ) : null,
373
+ /* @__PURE__ */ c.jsx(
374
+ "div",
375
+ {
376
+ className: "flex grow flex-col justify-center items-stretch gap-8 flex-wrap",
377
+ style: {
378
+ width: p ? `${p}px` : "100%",
379
+ padding: `${j}px 0 ${$}px 0`
380
+ },
381
+ children: t.length === 0 ? /* @__PURE__ */ c.jsx($e, {}) : /* @__PURE__ */ c.jsxs(c.Fragment, { children: [
382
+ l ? /* @__PURE__ */ c.jsx("div", { className: "leading-0", "aria-label": "Color legend", children: /* @__PURE__ */ c.jsx(
383
+ "div",
384
+ {
385
+ className: "flex mb-0 ml-auto mr-auto justify-center gap-3.5 flex-wrap",
386
+ style: { maxWidth: G },
387
+ children: Y.map((x, ee) => /* @__PURE__ */ c.jsxs("div", { className: "flex gap-2 items-center", children: [
388
+ /* @__PURE__ */ c.jsx(
389
+ "div",
390
+ {
391
+ className: "w-3 h-3 rounded-full",
392
+ style: {
393
+ backgroundColor: (k || Y.map((ue) => ue.label)).indexOf(
394
+ x.label
395
+ ) !== -1 ? (g || ae[A].categoricalColors.colors)[(k || Y.map((ue) => ue.label)).indexOf(
396
+ x.label
397
+ ) % (g || ae[A].categoricalColors.colors).length] : ae.gray
398
+ }
399
+ }
400
+ ),
401
+ /* @__PURE__ */ c.jsxs(
402
+ ge,
403
+ {
404
+ marginBottom: "none",
405
+ size: "sm",
406
+ className: "text-primary-gray-700 dark:text-primary-gray-100",
407
+ children: [
408
+ x.label,
409
+ ":",
410
+ " ",
411
+ /* @__PURE__ */ c.jsx("span", { className: "font-bold", style: { fontSize: "inherit" }, children: pe(x.size, "NA", L, f, C) })
412
+ ]
413
+ }
414
+ )
415
+ ] }, ee))
416
+ }
417
+ ) }) : null,
418
+ /* @__PURE__ */ c.jsx(
419
+ "div",
420
+ {
421
+ className: `flex ${p ? "grow-0" : "grow"} items-center justify-center leading-0`,
422
+ style: {
423
+ width: p ? `${p}px` : "100%",
424
+ height: r ? `${Math.max(
425
+ o,
426
+ r || (E ? o ? (p || W) * E > o ? (p || W) * E : o : (p || W) * E : te)
427
+ )}px` : "auto"
428
+ },
429
+ ref: B,
430
+ "aria-label": "Graph area",
431
+ children: /* @__PURE__ */ c.jsx("div", { className: "w-full flex justify-center leading-0", children: M || Q ? /* @__PURE__ */ c.jsx(
432
+ Fe,
433
+ {
434
+ mainText: s,
435
+ data: d === "asc" ? se(t, (x) => x.size) : d === "desc" ? se(t, (x) => x.size).reverse() : t,
436
+ colors: g,
437
+ radius: M || Q,
438
+ subNote: i,
439
+ strokeWidth: e,
440
+ tooltip: O,
441
+ colorDomain: k || Y.map((x) => x.label),
442
+ onSeriesMouseOver: u,
443
+ onSeriesMouseClick: b,
444
+ resetSelectionOnDoubleClick: X,
445
+ styles: P,
446
+ detailsOnClick: K,
447
+ precision: L
448
+ }
449
+ ) : null })
450
+ }
451
+ )
452
+ ] })
453
+ }
454
+ ),
455
+ w || n ? /* @__PURE__ */ c.jsx(
456
+ De,
457
+ {
458
+ styles: { footnote: P?.footnote, source: P?.source },
459
+ classNames: {
460
+ footnote: I?.footnote,
461
+ source: I?.source
462
+ },
463
+ sources: w,
464
+ footNote: n,
465
+ width: p
466
+ }
467
+ ) : /* @__PURE__ */ c.jsx("div", {})
468
+ ] })
469
+ }
470
+ )
471
+ }
472
+ )
473
+ }
474
+ );
475
+ }
476
+ export {
477
+ tn as DonutChart
478
+ };
479
+ //# sourceMappingURL=DonutChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DonutChart.js","sources":["../node_modules/d3-shape/src/math.js","../node_modules/d3-shape/src/arc.js","../node_modules/d3-shape/src/descending.js","../node_modules/d3-shape/src/identity.js","../node_modules/d3-shape/src/pie.js","../src/Components/Graphs/DonutChart/Graph.tsx","../src/Components/Graphs/DonutChart/index.tsx"],"sourcesContent":["export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport isEqual from 'fast-deep-equal';\r\nimport { pie, arc } from 'd3-shape';\r\nimport { useState } from 'react';\r\nimport { H2, P } from '@undp/design-system-react/Typography';\r\nimport { Modal } from '@undp/design-system-react/Modal';\r\n\r\nimport { ClassNameObject, DonutChartDataType, StyleObject } from '@/Types';\r\nimport { Tooltip } from '@/Components/Elements/Tooltip';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { string2HTML } from '@/Utils/string2HTML';\r\n\r\ninterface Props {\r\n mainText?: string | { label: string; suffix?: string; prefix?: string };\r\n radius: number;\r\n colors: string[];\r\n subNote?: string;\r\n strokeWidth: number;\r\n data: DonutChartDataType[];\r\n\r\n tooltip?: string | ((_d: any) => React.ReactNode);\r\n\r\n onSeriesMouseOver?: (_d: any) => void;\r\n\r\n onSeriesMouseClick?: (_d: any) => void;\r\n colorDomain: string[];\r\n resetSelectionOnDoubleClick: boolean;\r\n\r\n detailsOnClick?: string | ((_d: any) => React.ReactNode);\r\n styles?: StyleObject;\r\n classNames?: ClassNameObject;\r\n precision: number;\r\n}\r\n\r\nexport function Graph(props: Props) {\r\n const {\r\n mainText,\r\n data,\r\n radius,\r\n colors,\r\n subNote,\r\n strokeWidth,\r\n tooltip,\r\n onSeriesMouseOver,\r\n onSeriesMouseClick,\r\n colorDomain,\r\n resetSelectionOnDoubleClick,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n precision,\r\n } = props;\r\n const pieData = pie()\r\n .sort(null)\r\n .startAngle(0)\r\n\r\n .value((d: any) => d.size);\r\n\r\n const [mouseOverData, setMouseOverData] = useState<any>(undefined);\r\n\r\n const [mouseClickData, setMouseClickData] = useState<any>(undefined);\r\n const [eventX, setEventX] = useState<number | undefined>(undefined);\r\n const [eventY, setEventY] = useState<number | undefined>(undefined);\r\n return (\r\n <>\r\n <svg\r\n width={`${radius * 2}px`}\r\n height={`${radius * 2}px`}\r\n viewBox={`0 0 ${radius * 2} ${radius * 2}`}\r\n direction='ltr'\r\n >\r\n <g transform={`translate(${radius} ${radius})`}>\r\n {mainText || subNote ? (\r\n <foreignObject\r\n y={0 - (radius - strokeWidth)}\r\n x={0 - (radius - strokeWidth)}\r\n width={2 * (radius - strokeWidth)}\r\n height={2 * (radius - strokeWidth)}\r\n >\r\n <div className='flex flex-col gap-0.5 justify-center items-center h-inherit py-0 px-4'>\r\n {mainText ? (\r\n <H2\r\n marginBottom='none'\r\n className='donut-main-text text-primary-gray-700 dark:text-primary-gray-100 leading-none text-center'\r\n >\r\n {typeof mainText === 'string'\r\n ? mainText\r\n : data.findIndex(d => d.label === mainText.label) !== -1\r\n ? numberFormattingFunction(\r\n data[data.findIndex(d => d.label === mainText.label)].size,\r\n 'NA',\r\n precision,\r\n mainText.prefix,\r\n mainText.suffix,\r\n )\r\n : 'NA'}\r\n </H2>\r\n ) : null}\r\n {subNote ? (\r\n <P\r\n marginBottom='none'\r\n size='base'\r\n leading='none'\r\n className='donut-sub-note text-primary-gray-700 dark:text-primary-gray-100 text-center font-bold'\r\n >\r\n {subNote}\r\n </P>\r\n ) : typeof mainText === 'string' || !mainText ? null : (\r\n <P\r\n size='base'\r\n marginBottom='none'\r\n leading='none'\r\n className='donut-label text-primary-gray-700 dark:text-primary-gray-100 text-center font-bold'\r\n >\r\n {mainText.label}\r\n </P>\r\n )}\r\n </div>\r\n </foreignObject>\r\n ) : null}\r\n {pieData(data as any).map((d, i) => (\r\n <path\r\n key={i}\r\n d={\r\n arc()({\r\n innerRadius: radius - strokeWidth,\r\n outerRadius: radius,\r\n startAngle: d.startAngle,\r\n endAngle: d.endAngle,\r\n }) as string\r\n }\r\n style={{\r\n fill:\r\n colorDomain.indexOf((d.data as any).label) !== -1\r\n ? colors[colorDomain.indexOf((d.data as any).label) % colors.length]\r\n : Colors.gray,\r\n opacity: mouseOverData\r\n ? mouseOverData.label === (d.data as any).label\r\n ? 1\r\n : 0.3\r\n : 1,\r\n }}\r\n onMouseEnter={event => {\r\n setMouseOverData(d.data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\r\n onSeriesMouseOver?.(d);\r\n }}\r\n onClick={() => {\r\n if (onSeriesMouseClick || detailsOnClick) {\r\n if (isEqual(mouseClickData, d.data) && resetSelectionOnDoubleClick) {\r\n setMouseClickData(undefined);\r\n onSeriesMouseClick?.(undefined);\r\n } else {\r\n setMouseClickData(d.data);\r\n if (onSeriesMouseClick) onSeriesMouseClick(d.data);\r\n }\r\n }\r\n }}\r\n onMouseMove={event => {\r\n setMouseOverData(d.data);\r\n setEventY(event.clientY);\r\n setEventX(event.clientX);\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 ))}\r\n </g>\r\n </svg>\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 <Modal\r\n open={mouseClickData !== undefined}\r\n onClose={() => {\r\n setMouseClickData(undefined);\r\n }}\r\n >\r\n <div\r\n className='graph-modal-content m-0'\r\n dangerouslySetInnerHTML={\r\n typeof detailsOnClick === 'string'\r\n ? { __html: string2HTML(detailsOnClick, mouseClickData) }\r\n : undefined\r\n }\r\n >\r\n {typeof detailsOnClick === 'function' ? detailsOnClick(mouseClickData) : null}\r\n </div>\r\n </Modal>\r\n ) : null}\r\n </>\r\n );\r\n}\r\n","import { useEffect, useRef, useState } from 'react';\r\nimport sortBy from 'lodash.sortby';\r\nimport { cn } from '@undp/design-system-react/cn';\r\nimport { P } from '@undp/design-system-react/Typography';\r\n\r\nimport { Graph } from './Graph';\r\n\r\nimport {\r\n DonutChartDataType,\r\n Languages,\r\n SourcesDataType,\r\n StyleObject,\r\n ClassNameObject,\r\n} from '@/Types';\r\nimport { numberFormattingFunction } from '@/Utils/numberFormattingFunction';\r\nimport { GraphFooter } from '@/Components/Elements/GraphFooter';\r\nimport { GraphHeader } from '@/Components/Elements/GraphHeader';\r\nimport { Colors } from '@/Components/ColorPalette';\r\nimport { EmptyState } from '@/Components/Elements/EmptyState';\r\n\r\ninterface Props {\r\n // Data\r\n /** Array of data objects */\r\n data: DonutChartDataType[];\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 /** Array of colors for each segment */\r\n colors?: string[];\r\n /** Domain of colors for the graph */\r\n colorDomain?: 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 /** Radius of the donut chart */\r\n radius?: 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 /** Prefix for values */\r\n prefix?: string;\r\n /** Suffix for values */\r\n suffix?: string;\r\n\r\n // Graph Parameters\r\n /** Toggle visibility of color scale. This is only applicable if the data props hae color parameter */\r\n showColorScale?: boolean;\r\n /** Max width of the color scale as a css property */\r\n colorScaleMaxWidth?: string;\r\n /** Stroke width of the arcs and circle of the donut */\r\n strokeWidth?: number;\r\n /** Sorting order for data. This is overwritten by labelOrder prop */\r\n sortData?: 'asc' | 'desc';\r\n /** Large text at the center of the donut chart. If the type is an object then the text is the value in the data for the label mentioned in the object */\r\n mainText?: string | { label: string; suffix?: string; prefix?: string };\r\n /** Small text at the center of the donut chart */\r\n subNote?: string;\r\n /** Specifies the number of decimal places to display in the value. */\r\n precision?: number;\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 DonutChart(props: Props) {\r\n const {\r\n mainText,\r\n graphTitle,\r\n colors = Colors.light.categoricalColors.colors,\r\n suffix = '',\r\n sources,\r\n prefix = '',\r\n strokeWidth = 50,\r\n graphDescription,\r\n subNote,\r\n footNote,\r\n radius,\r\n data,\r\n showColorScale = true,\r\n padding,\r\n backgroundColor = false,\r\n tooltip,\r\n onSeriesMouseOver,\r\n graphID,\r\n onSeriesMouseClick,\r\n topMargin = 0,\r\n bottomMargin = 0,\r\n graphDownload = false,\r\n dataDownload = false,\r\n colorDomain,\r\n sortData,\r\n language = 'en',\r\n theme = 'light',\r\n width,\r\n height,\r\n minHeight = 0,\r\n relativeHeight,\r\n ariaLabel,\r\n resetSelectionOnDoubleClick = true,\r\n colorScaleMaxWidth,\r\n detailsOnClick,\r\n styles,\r\n classNames,\r\n precision = 2,\r\n } = props;\r\n\r\n const [donutRadius, setDonutRadius] = useState(0);\r\n const [svgWidth, setSvgWidth] = useState(0);\r\n const [svgHeight, setSvgHeight] = useState(0);\r\n\r\n const graphDiv = useRef<HTMLDivElement>(null);\r\n const graphParentDiv = useRef<HTMLDivElement>(null);\r\n useEffect(() => {\r\n const resizeObserver = new ResizeObserver(entries => {\r\n setSvgWidth(width || entries[0].target.clientWidth || 420);\r\n setSvgHeight(height || entries[0].target.clientHeight || 420);\r\n setDonutRadius(\r\n (Math.min(\r\n ...[\r\n width || entries[0].target.clientWidth || 620,\r\n height || entries[0].target.clientHeight || 480,\r\n ],\r\n ) || 420) / 2,\r\n );\r\n });\r\n if (graphDiv.current) {\r\n setSvgHeight(graphDiv.current.clientHeight || 420);\r\n setSvgWidth(graphDiv.current.clientWidth || 420);\r\n setDonutRadius(\r\n (Math.min(...[graphDiv.current.clientWidth, graphDiv.current.clientHeight]) || 420) / 2,\r\n );\r\n if (!width || !radius) resizeObserver.observe(graphDiv.current);\r\n }\r\n return () => resizeObserver.disconnect();\r\n }, [width, height, radius]);\r\n\r\n const sortedData =\r\n sortData === 'asc'\r\n ? sortBy(data, d => d.size)\r\n : sortData === 'desc'\r\n ? sortBy(data, d => d.size).reverse()\r\n : data;\r\n\r\n return (\r\n <div\r\n className={`${theme || 'light'} flex ${width ? 'w-fit grow-0' : 'w-full grow'}`}\r\n dir={language === 'he' || language === 'ar' ? 'rtl' : undefined}\r\n >\r\n <div\r\n className={cn(\r\n `${\r\n !backgroundColor\r\n ? 'bg-transparent '\r\n : backgroundColor === true\r\n ? 'bg-primary-gray-200 dark:bg-primary-gray-650 '\r\n : ''\r\n }ml-auto mr-auto flex flex-col grow h-inherit ${language || 'en'}`,\r\n classNames?.graphContainer,\r\n )}\r\n style={{\r\n ...(styles?.graphContainer || {}),\r\n minHeight: 'inherit',\r\n ...(backgroundColor && backgroundColor !== true ? { backgroundColor } : {}),\r\n }}\r\n id={graphID}\r\n ref={graphParentDiv}\r\n aria-label={\r\n ariaLabel ||\r\n `${\r\n graphTitle ? `The graph shows ${graphTitle}. ` : ''\r\n }This is a donut or pie chart chart. ${graphDescription ? ` ${graphDescription}` : ''}`\r\n }\r\n >\r\n <div\r\n className='flex grow'\r\n style={{ padding: backgroundColor ? padding || '1rem' : padding || 0 }}\r\n >\r\n <div className='flex flex-col gap-2 w-full grow justify-between'>\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.current : 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 <div\r\n className='flex grow flex-col justify-center items-stretch gap-8 flex-wrap'\r\n style={{\r\n width: width ? `${width}px` : '100%',\r\n padding: `${topMargin}px 0 ${bottomMargin}px 0`,\r\n }}\r\n >\r\n {data.length === 0 ? (\r\n <EmptyState />\r\n ) : (\r\n <>\r\n {showColorScale ? (\r\n <div className='leading-0' aria-label='Color legend'>\r\n <div\r\n className='flex mb-0 ml-auto mr-auto justify-center gap-3.5 flex-wrap'\r\n style={{ maxWidth: colorScaleMaxWidth }}\r\n >\r\n {sortedData.map((d, i) => (\r\n <div className='flex gap-2 items-center' key={i}>\r\n <div\r\n className='w-3 h-3 rounded-full'\r\n style={{\r\n backgroundColor:\r\n (colorDomain || sortedData.map(el => el.label)).indexOf(\r\n d.label,\r\n ) !== -1\r\n ? (colors || Colors[theme].categoricalColors.colors)[\r\n (colorDomain || sortedData.map(el => el.label)).indexOf(\r\n d.label,\r\n ) %\r\n (colors || Colors[theme].categoricalColors.colors).length\r\n ]\r\n : Colors.gray,\r\n }}\r\n />\r\n <P\r\n marginBottom='none'\r\n size='sm'\r\n className='text-primary-gray-700 dark:text-primary-gray-100'\r\n >\r\n {d.label}:{' '}\r\n <span className='font-bold' style={{ fontSize: 'inherit' }}>\r\n {numberFormattingFunction(d.size, 'NA', precision, prefix, suffix)}\r\n </span>\r\n </P>\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n ) : null}\r\n <div\r\n className={`flex ${\r\n width ? 'grow-0' : 'grow'\r\n } items-center justify-center leading-0`}\r\n style={{\r\n width: width ? `${width}px` : '100%',\r\n height: height\r\n ? `${Math.max(\r\n minHeight,\r\n height ||\r\n (relativeHeight\r\n ? minHeight\r\n ? (width || svgWidth) * relativeHeight > minHeight\r\n ? (width || svgWidth) * relativeHeight\r\n : minHeight\r\n : (width || svgWidth) * relativeHeight\r\n : svgHeight),\r\n )}px`\r\n : 'auto',\r\n }}\r\n ref={graphDiv}\r\n aria-label='Graph area'\r\n >\r\n <div className='w-full flex justify-center leading-0'>\r\n {radius || donutRadius ? (\r\n <Graph\r\n mainText={mainText}\r\n data={\r\n sortData === 'asc'\r\n ? sortBy(data, d => d.size)\r\n : sortData === 'desc'\r\n ? sortBy(data, d => d.size).reverse()\r\n : data\r\n }\r\n colors={colors}\r\n radius={radius || donutRadius}\r\n subNote={subNote}\r\n strokeWidth={strokeWidth}\r\n tooltip={tooltip}\r\n colorDomain={colorDomain || sortedData.map(d => d.label)}\r\n onSeriesMouseOver={onSeriesMouseOver}\r\n onSeriesMouseClick={onSeriesMouseClick}\r\n resetSelectionOnDoubleClick={resetSelectionOnDoubleClick}\r\n styles={styles}\r\n detailsOnClick={detailsOnClick}\r\n precision={precision}\r\n />\r\n ) : null}\r\n </div>\r\n </div>\r\n </>\r\n )}\r\n </div>\r\n {sources || footNote ? (\r\n <GraphFooter\r\n styles={{ footnote: styles?.footnote, source: styles?.source }}\r\n classNames={{\r\n footnote: classNames?.footnote,\r\n source: classNames?.source,\r\n }}\r\n sources={sources}\r\n footNote={footNote}\r\n width={width}\r\n />\r\n ) : (\r\n <div />\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"names":["abs","atan2","cos","max","min","sin","sqrt","epsilon","pi","halfPi","tau","acos","x","asin","arcInnerRadius","d","arcOuterRadius","arcStartAngle","arcEndAngle","arcPadAngle","intersect","x0","y0","x1","y1","x2","y2","x3","y3","x10","y10","x32","y32","cornerTangents","r1","rc","cw","x01","y01","lo","ox","oy","x11","y11","x00","y00","dx","dy","d2","r","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","arc","innerRadius","outerRadius","cornerRadius","constant","padRadius","startAngle","endAngle","padAngle","context","path","withPath","buffer","r0","a0","a1","da","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","t0","t1","p0","p1","oc","ax","ay","bx","by","kc","lc","a","_","descending","b","identity","pie","value","sortValues","sort","data","i","n","array","j","k","sum","index","arcs","p","pa","v","Graph","props","mainText","radius","colors","subNote","strokeWidth","tooltip","onSeriesMouseOver","onSeriesMouseClick","colorDomain","resetSelectionOnDoubleClick","detailsOnClick","styles","classNames","precision","pieData","mouseOverData","setMouseOverData","useState","mouseClickData","setMouseClickData","eventX","setEventX","eventY","setEventY","jsxs","Fragment","jsx","H2","numberFormattingFunction","P","Colors","event","isEqual","Tooltip","Modal","string2HTML","DonutChart","graphTitle","suffix","sources","prefix","graphDescription","footNote","showColorScale","padding","backgroundColor","graphID","topMargin","bottomMargin","graphDownload","dataDownload","sortData","language","theme","width","height","minHeight","relativeHeight","ariaLabel","colorScaleMaxWidth","donutRadius","setDonutRadius","svgWidth","setSvgWidth","svgHeight","setSvgHeight","graphDiv","useRef","graphParentDiv","useEffect","resizeObserver","entries","sortedData","sortBy","cn","GraphHeader","EmptyState","el","GraphFooter"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./index-CHPV5EwG-DDoeWRVt.cjs"),n=require("react"),be=require("./index-CZbIGs8q.cjs"),Ee=require("./parse-hMnG_lRV.cjs"),ye=require("./getSliderMarks-CtsEXiLV.cjs"),ke=require("./Spinner-DA6Z5E4n.cjs"),Ce=require("./index-BXns0-ng.cjs"),$=require("./zoom-Lo7IAUfC.cjs"),De=require("./Modal-C_dl0EtQ.cjs"),Se=require("./Typography-k-kOjICQ.cjs"),Ne=require("./Tooltip-n8z5bfav.cjs"),R=require("./Colors.cjs"),$e=require("./string2HTML-D2Avudmb.cjs"),ve=require("./index-BW_-wD2k.cjs"),Me=require("./use-in-view-BCmzDU2O.cjs"),Oe=require("./pow-B5-jkdHU.cjs"),je=require("./select-Bnfk0lJx.cjs"),de=require("./proxy-PQd2AItT.cjs"),qe=require("./index-DVOJ7vxH.cjs"),Pe=require("./GraphFooter.cjs"),Ie=require("./GraphHeader.cjs"),Le=require("./fetchAndParseData-DmgQtB9n.cjs"),we=require("./checkIfNullOrUndefined-BCW3Y1ML.cjs"),Te=require("./init-DU0ybBc_.cjs");function ze(me){const{data:l,colors:c,mapData:k,colorLegendTitle:M,colorDomain:j,radius:v,height:m,width:a,scale:K,centerPoint:O,tooltip:Z,showLabels:pe,mapBorderWidth:J,mapBorderColor:Q,mapNoDataColor:H,onSeriesMouseOver:ee,showColorScale:xe,zoomScaleExtend:C,zoomTranslateExtend:he,highlightedDataPoints:te,onSeriesMouseClick:B,resetSelectionOnDoubleClick:g,detailsOnClick:D,styles:re,classNames:ge,mapProjection:T,zoomInteraction:q,animate:f,dimmedOpacity:oe,customLayers:ae,maxRadiusValue:ie}=me,[A,se]=n.useState(void 0),[F,h]=n.useState(!(a<680)),z=n.useRef(null),[P,G]=n.useState(void 0),[ne,y]=n.useState(void 0),[b,U]=n.useState(void 0),[le,V]=n.useState(void 0),I=n.useRef(null),X=Me.useInView(I,{once:f.once,amount:f.amount}),_=n.useRef(null),d=l.filter(e=>e.radius===void 0||e.radius===null).length!==l.length?Oe.sqrt().domain([0,ie]).range([.25,v]).nice():void 0;n.useEffect(()=>{const e=je.select(_.current),x=je.select(I.current),o=i=>{if(q==="noZoom")return!1;if(q==="button")return!i.type.includes("wheel");const t=i.type==="wheel",u=i.type.startsWith("touch"),w=i.type==="mousedown"||i.type==="mousemove";return u?!0:t?q==="scroll"?!0:i.ctrlKey:w&&!i.button&&!i.ctrlKey},E=$.zoom().scaleExtent(C).translateExtent(he||[[-20,-20],[a+20,m+20]]).filter(o).on("zoom",({transform:i})=>{e.attr("transform",i)});x.call(E),z.current=E},[m,a,q]);const p=$.turf_bbox_default(k),S=$.turf_centroid_default(k),Y=p[2]-p[0],ce=p[3]-p[1],L=a*190/960*360/Y,fe=m*190/678*180/ce,s=K*Math.min(L,fe),N=T==="mercator"?$.geoMercator().rotate([0,0]).center(O||S.geometry.coordinates).translate([a/2,m/2]).scale(s):T==="equalEarth"?$.geoEqualEarth().rotate([0,0]).center(O||S.geometry.coordinates).translate([a/2,m/2]).scale(s):T==="naturalEarth"?$.geoNaturalEarth1().rotate([0,0]).center(O||S.geometry.coordinates).translate([a/2,m/2]).scale(s):T==="orthographic"?$.geoOrthographic().rotate([0,0]).center(O||S.geometry.coordinates).translate([a/2,m/2]).scale(s):$.geoAlbersUsa().rotate([0,0]).center(O||S.geometry.coordinates).translate([a/2,m/2]).scale(s),W=e=>{if(!I.current||!z.current)return;je.select(I.current).call(z.current.scaleBy,e==="in"?1.2:1/1.2)};return r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[r.jsxRuntimeExports.jsxs("div",{className:"relative",children:[r.jsxRuntimeExports.jsx(de.motion.svg,{width:`${a}px`,height:`${m}px`,viewBox:`0 0 ${a} ${m}`,ref:I,direction:"ltr",children:r.jsxRuntimeExports.jsxs("g",{ref:_,children:[ae.filter(e=>e.position==="before").map(e=>e.layer),k.features.map((e,x)=>r.jsxRuntimeExports.jsx("g",{children:e.geometry.type==="MultiPolygon"?e.geometry.coordinates.map((o,E)=>{let i="";return o.forEach(t=>{let u=" M";t.forEach((w,Re)=>{const ue=N([w[0],w[1]]);Re!==t.length-1?u=`${u}${ue[0]} ${ue[1]}L`:u=`${u}${ue[0]} ${ue[1]}`}),i+=u}),r.jsxRuntimeExports.jsx("path",{d:i,style:{stroke:Q,strokeWidth:J,fill:H}},E)}):e.geometry.coordinates.map((o,E)=>{let i="M";return o.forEach((t,u)=>{const w=N([t[0],t[1]]);u!==o.length-1?i=`${i}${w[0]} ${w[1]}L`:i=`${i}${w[0]} ${w[1]}`}),r.jsxRuntimeExports.jsx("path",{d:i,style:{stroke:Q,strokeWidth:J,fill:H}},E)})},x)),r.jsxRuntimeExports.jsx(qe.AnimatePresence,{children:l.map(e=>{const x=l.filter(o=>o.color).length===0?c[0]:e.color?c[j.indexOf(`${e.color}`)]:R.Colors.gray;return r.jsxRuntimeExports.jsxs(de.motion.g,{variants:{initial:{opacity:0},whileInView:{opacity:A?A===x?1:oe:te.length!==0?te.indexOf(e.label||"")!==-1?1:oe:1,transition:{duration:f.duration}}},initial:"initial",animate:X?"whileInView":"initial",exit:{opacity:0,transition:{duration:f.duration}},onMouseEnter:o=>{y(e),V(o.clientY),U(o.clientX),ee?.(e)},onMouseMove:o=>{y(e),V(o.clientY),U(o.clientX)},onMouseLeave:()=>{y(void 0),U(void 0),V(void 0),ee?.(void 0)},onClick:()=>{(B||D)&&(Ce.isEqual(P,e)&&g?(G(void 0),B?.(void 0)):(G(e),B?.(e)))},transform:`translate(${N([e.long,e.lat])[0]},${N([e.long,e.lat])[1]})`,children:[r.jsxRuntimeExports.jsx(de.motion.circle,{cx:0,cy:0,variants:{initial:{r:0,fill:l.filter(o=>o.color).length===0?c[0]:e.color?c[j.indexOf(`${e.color}`)]:R.Colors.gray,stroke:l.filter(o=>o.color).length===0?c[0]:e.color?c[j.indexOf(`${e.color}`)]:R.Colors.gray},whileInView:{r:d?d(e.radius||0):v,fill:l.filter(o=>o.color).length===0?c[0]:e.color?c[j.indexOf(`${e.color}`)]:R.Colors.gray,stroke:l.filter(o=>o.color).length===0?c[0]:e.color?c[j.indexOf(`${e.color}`)]:R.Colors.gray,transition:{duration:f.duration}}},initial:"initial",animate:X?"whileInView":"initial",exit:{r:0,transition:{duration:f.duration}},style:{fillOpacity:.8}}),pe&&e.label?r.jsxRuntimeExports.jsx(de.motion.text,{variants:{initial:{opacity:0,x:d?d(e.radius||0):v},whileInView:{opacity:1,x:d?d(e.radius||0):v,transition:{duration:f.duration}}},initial:"initial",animate:X?"whileInView":"initial",exit:{opacity:0,transition:{duration:f.duration}},y:0,className:"fill-primary-gray-600 dark:fill-primary-gray-300 text-sm",style:{textAnchor:"start"},dx:4,dy:5,children:e.label}):null]},e.label||`${e.lat}-${e.long}`)})}),ae.filter(e=>e.position==="after").map(e=>e.layer)]})}),l.filter(e=>e.color).length===0||xe===!1?null:r.jsxRuntimeExports.jsx("div",{className:"absolute left-4 bottom-4",children:F?r.jsxRuntimeExports.jsxs(r.jsxRuntimeExports.Fragment,{children:[r.jsxRuntimeExports.jsx("div",{style:{backgroundColor:"rgba(240,240,240, 0.7)",border:"1px solid var(--gray-400)",borderRadius:"999px",width:"24px",height:"24px",padding:"3px",cursor:"pointer",zIndex:10,position:"absolute",right:"-0.75rem",top:"-0.75rem"},onClick:()=>{h(!1)},children:r.jsxRuntimeExports.jsx(ve.X,{})}),r.jsxRuntimeExports.jsxs("div",{className:"p-2",style:{backgroundColor:"rgba(240,240,240, 0.7)"},children:[M&&M!==""?r.jsxRuntimeExports.jsx("p",{className:"p-0 leading-normal overflow-hidden text-primary-gray-700 dark:text-primary-gray-300",style:{display:"-webkit-box",WebkitLineClamp:"1",WebkitBoxOrient:"vertical"},children:M}):null,r.jsxRuntimeExports.jsx("div",{className:"flex flex-col gap-3",children:j.map((e,x)=>r.jsxRuntimeExports.jsxs("div",{className:"flex gap-2 items-center",onMouseOver:()=>{se(c[x%c.length])},onMouseLeave:()=>{se(void 0)},children:[r.jsxRuntimeExports.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:c[x%c.length]}}),r.jsxRuntimeExports.jsx(Se.u,{size:"sm",marginBottom:"none",leading:"none",children:e})]},x))})]})]}):r.jsxRuntimeExports.jsx("button",{type:"button",className:"mb-0 border-0 bg-transparent p-0 self-start",onClick:()=>{h(!0)},children:r.jsxRuntimeExports.jsx("div",{className:"items-start text-sm font-medium cursor-pointer p-2 mb-0 flex text-primary-black dark:text-primary-gray-300 bg-primary-gray-300 dark:bg-primary-gray-550 border-primary-gray-400 dark:border-primary-gray-500",children:"Show Legend"})})}),q==="button"&&r.jsxRuntimeExports.jsxs("div",{className:"absolute left-4 top-4 flex flex-col",children:[r.jsxRuntimeExports.jsx("button",{onClick:()=>W("in"),className:"leading-0 px-2 py-3.5 border border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-400 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"+"}),r.jsxRuntimeExports.jsx("button",{onClick:()=>W("out"),className:"leading-0 px-2 py-3.5 border border-t-0 border-primary-gray-400 bg-primary-gray-200 dark:border-primary-gray-400 dark:bg-primary-gray-600 dark:text-primary-gray-100",children:"–"})]})]}),D&&P!==void 0?r.jsxRuntimeExports.jsx(De.X,{open:P!==void 0,onClose:()=>{G(void 0)},children:r.jsxRuntimeExports.jsx("div",{className:"graph-modal-content m-0",dangerouslySetInnerHTML:typeof D=="string"?{__html:$e.string2HTML(D,P)}:void 0,children:typeof D=="function"?D(P):null})}):null,ne&&Z&&b&&le?r.jsxRuntimeExports.jsx(Ne.Tooltip,{data:ne,body:Z,xPos:b,yPos:le,backgroundStyle:re?.tooltip,className:ge?.tooltip}):null]})}function Ve(me){const{data:l,mapData:c="https://raw.githubusercontent.com/UNDP-Data/dv-country-geojson/refs/heads/main/worldMap.json",graphTitle:k,colors:M,sources:j,graphDescription:v,height:m,width:a,footNote:K="The designations employed and the presentation of material on this map do not imply the expression of any opinion whatsoever on the part of the Secretariat of the United Nations or UNDP concerning the legal status of any country, territory, city or area or its authorities, or concerning the delimitation of its frontiers or boundaries.",colorLegendTitle:O,colorDomain:Z,radius:pe=5,scale:J=.95,centerPoint:Q,padding:H,mapBorderWidth:ee=.5,mapNoDataColor:xe=R.Colors.light.graphNoData,backgroundColor:C=!1,showLabels:he=!1,mapBorderColor:te=R.Colors.light.grays["gray-500"],tooltip:B,relativeHeight:g,onSeriesMouseOver:D,isWorldMap:re=!0,showColorScale:ge=!0,zoomScaleExtend:T=[.8,6],zoomTranslateExtend:q,graphID:f,highlightedDataPoints:oe=[],onSeriesMouseClick:ae,graphDownload:ie=!1,dataDownload:A=!1,showAntarctica:se=!1,language:F="en",minHeight:h=0,theme:z="light",ariaLabel:P,resetSelectionOnDoubleClick:G=!0,detailsOnClick:ne,styles:y,classNames:b,mapProjection:U,zoomInteraction:le="button",animate:V=!1,dimmedOpacity:I=.3,customLayers:X=[],maxRadiusValue:_,timeline:d={enabled:!1,autoplay:!1,showOnlyActiveDate:!0}}=me,[p,S]=n.useState(0),[Y,ce]=n.useState(0),[L,fe]=n.useState(d.autoplay),s=ye.sort(be.uniqBy(l.filter(t=>t.date!==void 0&&t.date!==null),t=>t.date).map(t=>Ee.parse(`${t.date}`,d.dateFormat||"yyyy",new Date).getTime()),(t,u)=>Te.ascending(t,u)),[N,W]=n.useState(d.autoplay?0:s.length-1),[e,x]=n.useState(void 0),o=n.useRef(null),E=n.useRef(null);n.useEffect(()=>{const t=new ResizeObserver(u=>{S(a||u[0].target.clientWidth||760),ce(m||u[0].target.clientHeight||480)});return o.current&&(ce(o.current.clientHeight||480),S(o.current.clientWidth||760),a||t.observe(o.current)),()=>t.disconnect()},[a,m]),n.useEffect(()=>{typeof c=="string"?Le.fetchAndParseJSON(c).then(u=>{x(u)}):x(c)},[c]),n.useEffect(()=>{const t=setInterval(()=>{W(u=>u<s.length-1?u+1:0)},(d.speed||2)*1e3);return L||clearInterval(t),()=>clearInterval(t)},[s,L,d.speed]);const i=ye.getSliderMarks(s,N,d.showOnlyActiveDate,d.dateFormat||"yyyy");return r.jsxRuntimeExports.jsx("div",{className:`${z||"light"} flex ${a?"w-fit grow-0":"w-full grow"}`,dir:F==="he"||F==="ar"?"rtl":void 0,children:r.jsxRuntimeExports.jsx("div",{className:r.mo(`${C?C===!0?"bg-primary-gray-200 dark:bg-primary-gray-650 ":"":"bg-transparent "}ml-auto mr-auto flex flex-col grow h-inherit ${F||"en"}`,b?.graphContainer),style:{...y?.graphContainer||{},...C&&C!==!0?{backgroundColor:C}:{}},id:f,ref:E,"aria-label":P||`${k?`The graph shows ${k}. `:""}This is a dot density map showing the distribution of a variable across a region or world, with each dot representing a data point.${v?` ${v}`:""}`,children:r.jsxRuntimeExports.jsx("div",{className:"flex grow",style:{padding:C?H||"1rem":H||0},children:r.jsxRuntimeExports.jsxs("div",{className:"flex flex-col w-full gap-4 grow justify-between",children:[k||v||ie||A?r.jsxRuntimeExports.jsx(Ie.GraphHeader,{styles:{title:y?.title,description:y?.description},classNames:{title:b?.title,description:b?.description},graphTitle:k,graphDescription:v,width:a,graphDownload:ie?E.current:void 0,dataDownload:A?l.map(t=>t.data).filter(t=>t!==void 0).length>0?l.map(t=>t.data).filter(t=>t!==void 0):l.filter(t=>t!==void 0):null}):null,d.enabled&&s.length>0&&i?r.jsxRuntimeExports.jsxs("div",{className:"flex gap-6 items-center",dir:"ltr",children:[r.jsxRuntimeExports.jsx("button",{type:"button",onClick:()=>{fe(!L)},className:"p-0 border-0 cursor-pointer bg-transparent","aria-label":L?"Click to pause animation":"Click to play animation",children:L?r.jsxRuntimeExports.jsx(ve.Pause,{}):r.jsxRuntimeExports.jsx(ve.Play,{})}),r.jsxRuntimeExports.jsx(ye.xr,{min:s[0],max:s[s.length-1],marks:i,step:null,defaultValue:s[s.length-1],value:s[N],onChangeComplete:t=>{W(s.indexOf(t))},onChange:t=>{W(s.indexOf(t))},"aria-label":"Time slider. Use arrow keys to adjust selected time period."})]}):null,r.jsxRuntimeExports.jsx("div",{className:"flex flex-col grow justify-center leading-0",ref:o,"aria-label":"Map area",children:(a||p)&&(m||Y)&&e?r.jsxRuntimeExports.jsx(ze,{data:l.filter(t=>d.enabled?t.date===Ee.format(new Date(s[N]),d.dateFormat||"yyyy"):t),mapData:se?e:{...e,features:e.features.filter(t=>t.properties.NAME!=="Antarctica")},colorDomain:l.filter(t=>t.color).length===0?[]:Z||be.uniqBy(l.filter(t=>!we.checkIfNullOrUndefined(t.color)),"color").map(t=>`${t.color}`),width:a||p,height:Math.max(h,m||(g?h?(a||p)*g>h?(a||p)*g:h:(a||p)*g:Y)),scale:J,centerPoint:Q,colors:l.filter(t=>t.color).length===0?M?[M]:[R.Colors.primaryColors["blue-600"]]:M||R.Colors[z].categoricalColors.colors,colorLegendTitle:O,radius:pe,mapBorderWidth:ee,mapNoDataColor:xe,mapBorderColor:te,tooltip:B,onSeriesMouseOver:D,showLabels:he,isWorldMap:re,showColorScale:ge,zoomScaleExtend:T,zoomTranslateExtend:q,onSeriesMouseClick:ae,highlightedDataPoints:oe,resetSelectionOnDoubleClick:G,styles:y,classNames:b,zoomInteraction:le,detailsOnClick:ne,mapProjection:U||(re?"naturalEarth":"mercator"),animate:V===!0?{duration:.5,once:!0,amount:.5}:V||{duration:0,once:!0,amount:0},dimmedOpacity:I,customLayers:X,maxRadiusValue:we.checkIfNullOrUndefined(_)?Math.max(...l.map(t=>t.radius).filter(t=>t!=null)):_}):r.jsxRuntimeExports.jsx("div",{style:{height:`${Math.max(h,m||(g?h?(a||p)*g>h?(a||p)*g:h:(a||p)*g:Y))}px`},className:"flex items-center justify-center",children:r.jsxRuntimeExports.jsx(ke.y,{"aria-label":"Loading graph"})})}),j||K?r.jsxRuntimeExports.jsx(Pe.GraphFooter,{styles:{footnote:y?.footnote,source:y?.source},classNames:{footnote:b?.footnote,source:b?.source},sources:j,footNote:K,width:a}):null]})})})})}exports.DotDensityMap=Ve;
2
+ //# sourceMappingURL=DotDensityMap.cjs.map