@undp/data-viz 1.5.8 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/dist/AreaChart.cjs +1 -1
  2. package/dist/AreaChart.cjs.map +1 -1
  3. package/dist/AreaChart.d.ts +1 -0
  4. package/dist/AreaChart.js +420 -520
  5. package/dist/AreaChart.js.map +1 -1
  6. package/dist/Axis-CRyfcLjc.js +32 -0
  7. package/dist/Axis-CRyfcLjc.js.map +1 -0
  8. package/dist/Axis-DxRV2yMi.cjs +2 -0
  9. package/dist/Axis-DxRV2yMi.cjs.map +1 -0
  10. package/dist/AxisTitle-jeI7am8o.js +29 -0
  11. package/dist/AxisTitle-jeI7am8o.js.map +1 -0
  12. package/dist/AxisTitle-sS5bLLR7.cjs +2 -0
  13. package/dist/AxisTitle-sS5bLLR7.cjs.map +1 -0
  14. package/dist/BarGraph.cjs +1 -1
  15. package/dist/BarGraph.cjs.map +1 -1
  16. package/dist/BarGraph.d.ts +1 -0
  17. package/dist/BarGraph.js +2188 -4045
  18. package/dist/BarGraph.js.map +1 -1
  19. package/dist/BasicStatCard.cjs +1 -1
  20. package/dist/BasicStatCard.cjs.map +1 -1
  21. package/dist/BasicStatCard.d.ts +1 -0
  22. package/dist/BasicStatCard.js +120 -186
  23. package/dist/BasicStatCard.js.map +1 -1
  24. package/dist/BeeSwarmChart.cjs +1 -1
  25. package/dist/BeeSwarmChart.cjs.map +1 -1
  26. package/dist/BeeSwarmChart.d.ts +5 -0
  27. package/dist/BeeSwarmChart.js +501 -1019
  28. package/dist/BeeSwarmChart.js.map +1 -1
  29. package/dist/BiVariateChoroplethMap.cjs +1 -1
  30. package/dist/BiVariateChoroplethMap.cjs.map +1 -1
  31. package/dist/BiVariateChoroplethMap.d.ts +3 -0
  32. package/dist/BiVariateChoroplethMap.js +458 -706
  33. package/dist/BiVariateChoroplethMap.js.map +1 -1
  34. package/dist/BulletChart.cjs +1 -1
  35. package/dist/BulletChart.cjs.map +1 -1
  36. package/dist/BulletChart.d.ts +1 -0
  37. package/dist/BulletChart.js +863 -1414
  38. package/dist/BulletChart.js.map +1 -1
  39. package/dist/ButterflyChart.cjs +1 -1
  40. package/dist/ButterflyChart.cjs.map +1 -1
  41. package/dist/ButterflyChart.d.ts +1 -0
  42. package/dist/ButterflyChart.js +474 -684
  43. package/dist/ButterflyChart.js.map +1 -1
  44. package/dist/ChoroplethMap.cjs +1 -1
  45. package/dist/ChoroplethMap.cjs.map +1 -1
  46. package/dist/ChoroplethMap.d.ts +3 -0
  47. package/dist/ChoroplethMap.js +469 -731
  48. package/dist/ChoroplethMap.js.map +1 -1
  49. package/dist/CirclePackingGraph.cjs +1 -1
  50. package/dist/CirclePackingGraph.d.ts +1 -0
  51. package/dist/CirclePackingGraph.js +5 -4
  52. package/dist/CirclePackingGraph.js.map +1 -1
  53. package/dist/ColorLegend.cjs +1 -1
  54. package/dist/ColorLegend.cjs.map +1 -1
  55. package/dist/ColorLegend.js +57 -44
  56. package/dist/ColorLegend.js.map +1 -1
  57. package/dist/ColorLegendWithMouseOver.cjs +1 -1
  58. package/dist/ColorLegendWithMouseOver.cjs.map +1 -1
  59. package/dist/ColorLegendWithMouseOver.js +60 -65
  60. package/dist/ColorLegendWithMouseOver.js.map +1 -1
  61. package/dist/Colors.cjs.map +1 -1
  62. package/dist/Colors.js +44 -430
  63. package/dist/Colors.js.map +1 -1
  64. package/dist/CopyTextButton.cjs +4 -4
  65. package/dist/CopyTextButton.cjs.map +1 -1
  66. package/dist/CopyTextButton.js +537 -455
  67. package/dist/CopyTextButton.js.map +1 -1
  68. package/dist/CsvDownloadButton.cjs +7 -7
  69. package/dist/CsvDownloadButton.cjs.map +1 -1
  70. package/dist/CsvDownloadButton.js +442 -447
  71. package/dist/CsvDownloadButton.js.map +1 -1
  72. package/dist/DataCards.cjs +5 -5
  73. package/dist/DataCards.cjs.map +1 -1
  74. package/dist/DataCards.d.ts +1 -0
  75. package/dist/DataCards.js +488 -581
  76. package/dist/DataCards.js.map +1 -1
  77. package/dist/DataTable.cjs +1 -1
  78. package/dist/DataTable.cjs.map +1 -1
  79. package/dist/DataTable.d.ts +1 -0
  80. package/dist/DataTable.js +183 -326
  81. package/dist/DataTable.js.map +1 -1
  82. package/dist/DifferenceLineChart.cjs +1 -1
  83. package/dist/DifferenceLineChart.cjs.map +1 -1
  84. package/dist/DifferenceLineChart.d.ts +1 -0
  85. package/dist/DifferenceLineChart.js +729 -794
  86. package/dist/DifferenceLineChart.js.map +1 -1
  87. package/dist/DonutChart.cjs +1 -1
  88. package/dist/DonutChart.cjs.map +1 -1
  89. package/dist/DonutChart.d.ts +1 -4
  90. package/dist/DonutChart.js +260 -444
  91. package/dist/DonutChart.js.map +1 -1
  92. package/dist/DotDensityMap.cjs +1 -1
  93. package/dist/DotDensityMap.cjs.map +1 -1
  94. package/dist/DotDensityMap.d.ts +3 -0
  95. package/dist/DotDensityMap.js +388 -582
  96. package/dist/DotDensityMap.js.map +1 -1
  97. package/dist/{DropdownSelect-CtOKZHD0.js → DropdownSelect-BbdPQa2k.js} +1401 -1374
  98. package/dist/DropdownSelect-BbdPQa2k.js.map +1 -0
  99. package/dist/DropdownSelect-Doz3mCrM.cjs +29 -0
  100. package/dist/DropdownSelect-Doz3mCrM.cjs.map +1 -0
  101. package/dist/DualAxisLineChart.cjs +1 -1
  102. package/dist/DualAxisLineChart.cjs.map +1 -1
  103. package/dist/DualAxisLineChart.d.ts +1 -0
  104. package/dist/DualAxisLineChart.js +617 -712
  105. package/dist/DualAxisLineChart.js.map +1 -1
  106. package/dist/DumbbellChart.cjs +1 -1
  107. package/dist/DumbbellChart.cjs.map +1 -1
  108. package/dist/DumbbellChart.d.ts +1 -0
  109. package/dist/DumbbellChart.js +789 -1499
  110. package/dist/DumbbellChart.js.map +1 -1
  111. package/dist/EmptyState-BZo1BbAn.js +15 -0
  112. package/dist/{EmptyState-DdTp-Mdn.js.map → EmptyState-BZo1BbAn.js.map} +1 -1
  113. package/dist/EmptyState-sAEZ_5rU.cjs +2 -0
  114. package/dist/{EmptyState-d8_8SxeW.cjs.map → EmptyState-sAEZ_5rU.cjs.map} +1 -1
  115. package/dist/ExcelDownloadButton.cjs +1 -1
  116. package/dist/ExcelDownloadButton.cjs.map +1 -1
  117. package/dist/ExcelDownloadButton.js +20 -24
  118. package/dist/ExcelDownloadButton.js.map +1 -1
  119. package/dist/FootNote.cjs +1 -1
  120. package/dist/FootNote.cjs.map +1 -1
  121. package/dist/FootNote.js +26 -17
  122. package/dist/FootNote.js.map +1 -1
  123. package/dist/GeoHubCompareMaps.cjs +1 -1
  124. package/dist/GeoHubCompareMaps.cjs.map +1 -1
  125. package/dist/GeoHubCompareMaps.d.ts +1 -0
  126. package/dist/GeoHubCompareMaps.js +264 -354
  127. package/dist/GeoHubCompareMaps.js.map +1 -1
  128. package/dist/GeoHubMap.cjs +1 -1
  129. package/dist/GeoHubMap.cjs.map +1 -1
  130. package/dist/GeoHubMap.d.ts +1 -0
  131. package/dist/GeoHubMap.js +214 -409
  132. package/dist/GeoHubMap.js.map +1 -1
  133. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  134. package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
  135. package/dist/GeoHubMapWithLayerSelection.d.ts +1 -0
  136. package/dist/GeoHubMapWithLayerSelection.js +192 -293
  137. package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
  138. package/dist/GraphContainer-CRqzdKu2.js +78 -0
  139. package/dist/GraphContainer-CRqzdKu2.js.map +1 -0
  140. package/dist/GraphContainer-d8A46BK2.cjs +2 -0
  141. package/dist/GraphContainer-d8A46BK2.cjs.map +1 -0
  142. package/dist/GraphDescription.cjs +1 -1
  143. package/dist/GraphDescription.cjs.map +1 -1
  144. package/dist/GraphDescription.js +23 -17
  145. package/dist/GraphDescription.js.map +1 -1
  146. package/dist/GraphEl-BkyLYXG5.cjs +2 -0
  147. package/dist/GraphEl-BkyLYXG5.cjs.map +1 -0
  148. package/dist/{GraphEl-CqWzvOyr.js → GraphEl-DzRon4cb.js} +184 -202
  149. package/dist/GraphEl-DzRon4cb.js.map +1 -0
  150. package/dist/GraphFooter.cjs +1 -1
  151. package/dist/GraphFooter.cjs.map +1 -1
  152. package/dist/GraphFooter.js +28 -18
  153. package/dist/GraphFooter.js.map +1 -1
  154. package/dist/GraphHeader.cjs +1 -1
  155. package/dist/GraphHeader.cjs.map +1 -1
  156. package/dist/GraphHeader.d.ts +2 -1
  157. package/dist/GraphHeader.js +45 -59
  158. package/dist/GraphHeader.js.map +1 -1
  159. package/dist/GraphTitle.cjs +1 -1
  160. package/dist/GraphTitle.cjs.map +1 -1
  161. package/dist/GraphTitle.js +29 -24
  162. package/dist/GraphTitle.js.map +1 -1
  163. package/dist/GriddedGraphs.cjs +1 -1
  164. package/dist/GriddedGraphs.cjs.map +1 -1
  165. package/dist/GriddedGraphs.d.ts +2 -0
  166. package/dist/GriddedGraphs.js +216 -450
  167. package/dist/GriddedGraphs.js.map +1 -1
  168. package/dist/GriddedGraphsFromConfig.cjs +1 -1
  169. package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
  170. package/dist/GriddedGraphsFromConfig.d.ts +2 -0
  171. package/dist/GriddedGraphsFromConfig.js +22 -36
  172. package/dist/GriddedGraphsFromConfig.js.map +1 -1
  173. package/dist/HeatMap.cjs +1 -1
  174. package/dist/HeatMap.cjs.map +1 -1
  175. package/dist/HeatMap.d.ts +1 -0
  176. package/dist/HeatMap.js +278 -446
  177. package/dist/HeatMap.js.map +1 -1
  178. package/dist/Histogram.cjs +1 -1
  179. package/dist/Histogram.cjs.map +1 -1
  180. package/dist/Histogram.d.ts +1 -0
  181. package/dist/Histogram.js +154 -264
  182. package/dist/Histogram.js.map +1 -1
  183. package/dist/ImageDownloadButton.cjs +1 -1
  184. package/dist/ImageDownloadButton.cjs.map +1 -1
  185. package/dist/ImageDownloadButton.d.ts +2 -1
  186. package/dist/ImageDownloadButton.js +21 -25
  187. package/dist/ImageDownloadButton.js.map +1 -1
  188. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  189. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  190. package/dist/LineChartWithConfidenceInterval.d.ts +1 -0
  191. package/dist/LineChartWithConfidenceInterval.js +674 -825
  192. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  193. package/dist/LinearColorLegend.cjs +1 -1
  194. package/dist/LinearColorLegend.cjs.map +1 -1
  195. package/dist/LinearColorLegend.js +49 -30
  196. package/dist/LinearColorLegend.js.map +1 -1
  197. package/dist/Modal-DGcuAHyK.js +1047 -0
  198. package/dist/Modal-DGcuAHyK.js.map +1 -0
  199. package/dist/Modal-JW_IExO3.cjs +46 -0
  200. package/dist/Modal-JW_IExO3.cjs.map +1 -0
  201. package/dist/MultiGraphDashboard.cjs +1 -1
  202. package/dist/MultiGraphDashboard.cjs.map +1 -1
  203. package/dist/MultiGraphDashboard.d.ts +2 -0
  204. package/dist/MultiGraphDashboard.js +122 -290
  205. package/dist/MultiGraphDashboard.js.map +1 -1
  206. package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
  207. package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
  208. package/dist/MultiGraphDashboardFromConfig.d.ts +2 -0
  209. package/dist/MultiGraphDashboardFromConfig.js +22 -31
  210. package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
  211. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  212. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -1
  213. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +1 -0
  214. package/dist/MultiGraphDashboardWideToLongFormat.js +137 -223
  215. package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
  216. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
  217. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
  218. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +1 -0
  219. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +25 -27
  220. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
  221. package/dist/MultiLineAltChart.cjs +1 -1
  222. package/dist/MultiLineAltChart.cjs.map +1 -1
  223. package/dist/MultiLineAltChart.d.ts +1 -0
  224. package/dist/MultiLineAltChart.js +581 -659
  225. package/dist/MultiLineAltChart.js.map +1 -1
  226. package/dist/MultiLineChart.cjs +1 -1
  227. package/dist/MultiLineChart.cjs.map +1 -1
  228. package/dist/MultiLineChart.d.ts +1 -0
  229. package/dist/MultiLineChart.js +617 -725
  230. package/dist/MultiLineChart.js.map +1 -1
  231. package/dist/ParetoChart.cjs +1 -1
  232. package/dist/ParetoChart.cjs.map +1 -1
  233. package/dist/ParetoChart.d.ts +1 -0
  234. package/dist/ParetoChart.js +531 -635
  235. package/dist/ParetoChart.js.map +1 -1
  236. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  237. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  238. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +2 -0
  239. package/dist/PerformanceIntensiveMultiGraphDashboard.js +147 -338
  240. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  241. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
  242. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
  243. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +2 -0
  244. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +22 -31
  245. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -1
  246. package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
  247. package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
  248. package/dist/PerformanceIntensiveScrollStory.d.ts +2 -0
  249. package/dist/PerformanceIntensiveScrollStory.js +93 -114
  250. package/dist/PerformanceIntensiveScrollStory.js.map +1 -1
  251. package/dist/RadarChart.cjs +1 -1
  252. package/dist/RadarChart.cjs.map +1 -1
  253. package/dist/RadarChart.d.ts +1 -0
  254. package/dist/RadarChart.js +426 -575
  255. package/dist/RadarChart.js.map +1 -1
  256. package/dist/ReferenceLine-2XCwHXQ4.js +162 -0
  257. package/dist/ReferenceLine-2XCwHXQ4.js.map +1 -0
  258. package/dist/ReferenceLine-BH0qdf4R.cjs +2 -0
  259. package/dist/ReferenceLine-BH0qdf4R.cjs.map +1 -0
  260. package/dist/RegressionLine-BOTTNSrr.cjs +2 -0
  261. package/dist/RegressionLine-BOTTNSrr.cjs.map +1 -0
  262. package/dist/RegressionLine-DAcY2DjT.js +87 -0
  263. package/dist/RegressionLine-DAcY2DjT.js.map +1 -0
  264. package/dist/SVGDownloadButton.cjs +1 -1
  265. package/dist/SVGDownloadButton.cjs.map +1 -1
  266. package/dist/SVGDownloadButton.js +21 -25
  267. package/dist/SVGDownloadButton.js.map +1 -1
  268. package/dist/SankeyChart.cjs +1 -1
  269. package/dist/SankeyChart.cjs.map +1 -1
  270. package/dist/SankeyChart.d.ts +1 -0
  271. package/dist/SankeyChart.js +665 -854
  272. package/dist/SankeyChart.js.map +1 -1
  273. package/dist/ScatterPlot.cjs +1 -1
  274. package/dist/ScatterPlot.cjs.map +1 -1
  275. package/dist/ScatterPlot.d.ts +1 -0
  276. package/dist/ScatterPlot.js +675 -815
  277. package/dist/ScatterPlot.js.map +1 -1
  278. package/dist/ScrollStory.cjs +1 -1
  279. package/dist/ScrollStory.cjs.map +1 -1
  280. package/dist/ScrollStory.d.ts +2 -0
  281. package/dist/ScrollStory.js +85 -97
  282. package/dist/ScrollStory.js.map +1 -1
  283. package/dist/SimpleLineChart.cjs +1 -1
  284. package/dist/SimpleLineChart.cjs.map +1 -1
  285. package/dist/SimpleLineChart.d.ts +1 -0
  286. package/dist/SimpleLineChart.js +504 -613
  287. package/dist/SimpleLineChart.js.map +1 -1
  288. package/dist/SingleGraphDashboard.cjs +1 -1
  289. package/dist/SingleGraphDashboard.cjs.map +1 -1
  290. package/dist/SingleGraphDashboard.d.ts +3 -1
  291. package/dist/SingleGraphDashboard.js +279 -507
  292. package/dist/SingleGraphDashboard.js.map +1 -1
  293. package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
  294. package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
  295. package/dist/SingleGraphDashboardFromConfig.d.ts +3 -1
  296. package/dist/SingleGraphDashboardFromConfig.js +25 -31
  297. package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
  298. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
  299. package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -1
  300. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +2 -0
  301. package/dist/SingleGraphDashboardGeoHubMaps.js +146 -168
  302. package/dist/SingleGraphDashboardGeoHubMaps.js.map +1 -1
  303. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
  304. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
  305. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +2 -0
  306. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +25 -21
  307. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -1
  308. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  309. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  310. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +2 -0
  311. package/dist/SingleGraphDashboardThreeDGraphs.js +356 -589
  312. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  313. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
  314. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
  315. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +2 -0
  316. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +25 -31
  317. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -1
  318. package/dist/SlopeChart.cjs +1 -1
  319. package/dist/SlopeChart.cjs.map +1 -1
  320. package/dist/SlopeChart.d.ts +1 -0
  321. package/dist/SlopeChart.js +539 -573
  322. package/dist/SlopeChart.js.map +1 -1
  323. package/dist/Source-DYMJRrsq.cjs +2 -0
  324. package/dist/Source-DYMJRrsq.cjs.map +1 -0
  325. package/dist/Source-DwTHB8fn.js +78 -0
  326. package/dist/Source-DwTHB8fn.js.map +1 -0
  327. package/dist/Source.cjs +1 -1
  328. package/dist/Source.cjs.map +1 -1
  329. package/dist/Source.js +4 -38
  330. package/dist/Source.js.map +1 -1
  331. package/dist/SparkLine.cjs +1 -1
  332. package/dist/SparkLine.cjs.map +1 -1
  333. package/dist/SparkLine.d.ts +1 -0
  334. package/dist/SparkLine.js +286 -314
  335. package/dist/SparkLine.js.map +1 -1
  336. package/dist/Spinner-D7rnnwnA.js +47 -0
  337. package/dist/Spinner-D7rnnwnA.js.map +1 -0
  338. package/dist/Spinner-DRMBUsX7.cjs +2 -0
  339. package/dist/Spinner-DRMBUsX7.cjs.map +1 -0
  340. package/dist/StatCardFromData.cjs +1 -1
  341. package/dist/StatCardFromData.cjs.map +1 -1
  342. package/dist/StatCardFromData.d.ts +1 -0
  343. package/dist/StatCardFromData.js +163 -243
  344. package/dist/StatCardFromData.js.map +1 -1
  345. package/dist/StripChart.cjs +1 -1
  346. package/dist/StripChart.cjs.map +1 -1
  347. package/dist/StripChart.d.ts +1 -0
  348. package/dist/StripChart.js +665 -983
  349. package/dist/StripChart.js.map +1 -1
  350. package/dist/ThreeDGlobe.cjs +1 -1
  351. package/dist/ThreeDGlobe.cjs.map +1 -1
  352. package/dist/ThreeDGlobe.d.ts +3 -0
  353. package/dist/ThreeDGlobe.js +355 -526
  354. package/dist/ThreeDGlobe.js.map +1 -1
  355. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  356. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
  357. package/dist/ThresholdColorLegendWithMouseOver.js +96 -126
  358. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  359. package/dist/Tooltip-4dJo4_AF.cjs +2 -0
  360. package/dist/Tooltip-4dJo4_AF.cjs.map +1 -0
  361. package/dist/Tooltip-CwWUegPB.js +43 -0
  362. package/dist/Tooltip-CwWUegPB.js.map +1 -0
  363. package/dist/TreeMapGraph.cjs +1 -1
  364. package/dist/TreeMapGraph.cjs.map +1 -1
  365. package/dist/TreeMapGraph.d.ts +1 -0
  366. package/dist/TreeMapGraph.js +479 -617
  367. package/dist/TreeMapGraph.js.map +1 -1
  368. package/dist/Types.d.ts +2 -0
  369. package/dist/Typography-DX7PlgQU.cjs +2 -0
  370. package/dist/Typography-DX7PlgQU.cjs.map +1 -0
  371. package/dist/Typography-PxtFcnJb.js +142 -0
  372. package/dist/Typography-PxtFcnJb.js.map +1 -0
  373. package/dist/UnitChart.cjs +1 -1
  374. package/dist/UnitChart.cjs.map +1 -1
  375. package/dist/UnitChart.d.ts +1 -0
  376. package/dist/UnitChart.js +160 -212
  377. package/dist/UnitChart.js.map +1 -1
  378. package/dist/XAxesLabels-D5X8jngD.cjs +2 -0
  379. package/dist/XAxesLabels-D5X8jngD.cjs.map +1 -0
  380. package/dist/XAxesLabels-DNO0KmjL.js +73 -0
  381. package/dist/XAxesLabels-DNO0KmjL.js.map +1 -0
  382. package/dist/XTicksAndGridLines-B6CELS7q.cjs +2 -0
  383. package/dist/XTicksAndGridLines-B6CELS7q.cjs.map +1 -0
  384. package/dist/XTicksAndGridLines-CObVFSm4.js +38 -0
  385. package/dist/XTicksAndGridLines-CObVFSm4.js.map +1 -0
  386. package/dist/YAxesLabels-DcS85Beo.cjs +2 -0
  387. package/dist/YAxesLabels-DcS85Beo.cjs.map +1 -0
  388. package/dist/YAxesLabels-Dnnng49-.js +70 -0
  389. package/dist/YAxesLabels-Dnnng49-.js.map +1 -0
  390. package/dist/YTicksAndGridLines-4pxTRlRK.cjs +2 -0
  391. package/dist/YTicksAndGridLines-4pxTRlRK.cjs.map +1 -0
  392. package/dist/YTicksAndGridLines-Blepl7XF.js +38 -0
  393. package/dist/YTicksAndGridLines-Blepl7XF.js.map +1 -0
  394. package/dist/{band-BEjh2CHI.js → band-CyHaVft5.js} +3 -3
  395. package/dist/{band-BEjh2CHI.js.map → band-CyHaVft5.js.map} +1 -1
  396. package/dist/{band-CAApY4Pd.cjs → band-VYfcZeJ2.cjs} +2 -2
  397. package/dist/{band-CAApY4Pd.cjs.map → band-VYfcZeJ2.cjs.map} +1 -1
  398. package/dist/checkIfMultiple-Y9iKaV_u.js +950 -0
  399. package/dist/checkIfMultiple-Y9iKaV_u.js.map +1 -0
  400. package/dist/checkIfMultiple-wg6hJLXy.cjs +12 -0
  401. package/dist/checkIfMultiple-wg6hJLXy.cjs.map +1 -0
  402. package/dist/customArea-BUhPiPT6.js +163 -0
  403. package/dist/{customArea-B-dWU0zZ.js.map → customArea-BUhPiPT6.js.map} +1 -1
  404. package/dist/customArea-CMF5g-C3.cjs +2 -0
  405. package/dist/{customArea-CK768gCn.cjs.map → customArea-CMF5g-C3.cjs.map} +1 -1
  406. package/dist/delaunay-C1uAf38t.js.map +1 -1
  407. package/dist/delaunay-rcy0HhZi.cjs.map +1 -1
  408. package/dist/{ensureCompleteData-DlmibgaI.js → ensureCompleteData-DNKEGRiP.js} +12 -32
  409. package/dist/{ensureCompleteData-DlmibgaI.js.map → ensureCompleteData-DNKEGRiP.js.map} +1 -1
  410. package/dist/{ensureCompleteData-DkQYPeDa.cjs → ensureCompleteData-I6nYmT8E.cjs} +2 -2
  411. package/dist/{ensureCompleteData-DkQYPeDa.cjs.map → ensureCompleteData-I6nYmT8E.cjs.map} +1 -1
  412. package/dist/{excelDownload-BOA-lskf.js → excelDownload-BEC1AyQW.js} +12 -2
  413. package/dist/{excelDownload-BOA-lskf.js.map → excelDownload-BEC1AyQW.js.map} +1 -1
  414. package/dist/excelDownload-BQpsCa62.cjs.map +1 -1
  415. package/dist/{fetchAndParseData-sapWbnYk.js → fetchAndParseData-BpqkBPQL.js} +15 -28
  416. package/dist/{fetchAndParseData-sapWbnYk.js.map → fetchAndParseData-BpqkBPQL.js.map} +1 -1
  417. package/dist/fetchAndParseData-l5HGMAEs.cjs +16 -0
  418. package/dist/{fetchAndParseData-Ba-_CgxS.cjs.map → fetchAndParseData-l5HGMAEs.cjs.map} +1 -1
  419. package/dist/fetchAndParseData.cjs +1 -1
  420. package/dist/fetchAndParseData.js +1 -1
  421. package/dist/{filterData-9nEcQ-Jp.js → filterData-DsAiFzKY.js} +3 -5
  422. package/dist/{filterData-9nEcQ-Jp.js.map → filterData-DsAiFzKY.js.map} +1 -1
  423. package/dist/{filterData-BoYadk0l.cjs → filterData-T5DQBE9b.cjs} +2 -2
  424. package/dist/{filterData-BoYadk0l.cjs.map → filterData-T5DQBE9b.cjs.map} +1 -1
  425. package/dist/generateRandomString-B5zBiJzS.cjs.map +1 -1
  426. package/dist/generateRandomString-za3IQGfQ.js.map +1 -1
  427. package/dist/{getCentroidCoordinates-Dfk6IqEG.js → getCentroidCoordinates-D7r34N4w.js} +2 -2
  428. package/dist/{getCentroidCoordinates-Dfk6IqEG.js.map → getCentroidCoordinates-D7r34N4w.js.map} +1 -1
  429. package/dist/{getCentroidCoordinates-DxTBqzp2.cjs → getCentroidCoordinates-Dng1HVjO.cjs} +2 -2
  430. package/dist/{getCentroidCoordinates-DxTBqzp2.cjs.map → getCentroidCoordinates-Dng1HVjO.cjs.map} +1 -1
  431. package/dist/getGraphList-BpEWn1Tk.js +227 -0
  432. package/dist/{getGraphList-DuColTJM.js.map → getGraphList-BpEWn1Tk.js.map} +1 -1
  433. package/dist/getGraphList-gf02xgT2.cjs.map +1 -1
  434. package/dist/getJenks-BbngDoBQ.js.map +1 -1
  435. package/dist/getJenks-GYmdwBqm.cjs.map +1 -1
  436. package/dist/getSchema.cjs.map +1 -1
  437. package/dist/getSchema.js +445 -231
  438. package/dist/getSchema.js.map +1 -1
  439. package/dist/getSliderMarks-BmADcPQt.cjs +6 -0
  440. package/dist/getSliderMarks-BmADcPQt.cjs.map +1 -0
  441. package/dist/getSliderMarks-HIDJ0_Cd.js +1033 -0
  442. package/dist/getSliderMarks-HIDJ0_Cd.js.map +1 -0
  443. package/dist/{getTextColorBasedOnBgColor-B6Nk2WBf.js → getTextColorBasedOnBgColor-CDY808zi.js} +11 -3
  444. package/dist/{getTextColorBasedOnBgColor-B6Nk2WBf.js.map → getTextColorBasedOnBgColor-CDY808zi.js.map} +1 -1
  445. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs.map +1 -1
  446. package/dist/{getUniqValue-DiCh_MOD.js → getUniqValue-BKHCm3zE.js} +2 -4
  447. package/dist/{getUniqValue-DiCh_MOD.js.map → getUniqValue-BKHCm3zE.js.map} +1 -1
  448. package/dist/getUniqValue-RViz8tTw.cjs.map +1 -1
  449. package/dist/{imageDownload-Dcci2LEy.js → imageDownload-BX6SILNZ.js} +4 -2
  450. package/dist/{imageDownload-Dcci2LEy.js.map → imageDownload-BX6SILNZ.js.map} +1 -1
  451. package/dist/imageDownload-CgDcm1Sj.cjs.map +1 -1
  452. package/dist/{index-DvVprvy6.js → index-BZQYSqar.js} +7 -7
  453. package/dist/{index-DvVprvy6.js.map → index-BZQYSqar.js.map} +1 -1
  454. package/dist/index-B_sAFsEV.cjs +2 -0
  455. package/dist/{index-BYzIB5V6.cjs.map → index-B_sAFsEV.cjs.map} +1 -1
  456. package/dist/index-BqfRwk1n.js +146 -0
  457. package/dist/index-BqfRwk1n.js.map +1 -0
  458. package/dist/{index-V_JXij1_.js → index-BuwmuDFJ.js} +3 -3
  459. package/dist/{index-V_JXij1_.js.map → index-BuwmuDFJ.js.map} +1 -1
  460. package/dist/index-CHPV5EwG-CTPQjnHt.cjs +84 -0
  461. package/dist/index-CHPV5EwG-CTPQjnHt.cjs.map +1 -0
  462. package/dist/{index-CHPV5EwG-BPSP-7Jg.js → index-CHPV5EwG-Curnpaqc.js} +937 -842
  463. package/dist/index-CHPV5EwG-Curnpaqc.js.map +1 -0
  464. package/dist/index-Cno4Q0YE.cjs +2 -0
  465. package/dist/{index-CQ3e6Ewi.cjs.map → index-Cno4Q0YE.cjs.map} +1 -1
  466. package/dist/{index-tvAyXPPW-DBlMKnNB.js → index-Cw8sCyo_-B2hEKjzG.js} +16 -16
  467. package/dist/{index-tvAyXPPW-DBlMKnNB.js.map → index-Cw8sCyo_-B2hEKjzG.js.map} +1 -1
  468. package/dist/index-Cw8sCyo_-BrHiWiRF.cjs +2 -0
  469. package/dist/index-Cw8sCyo_-BrHiWiRF.cjs.map +1 -0
  470. package/dist/index-CyZ1lmi_.cjs +2 -0
  471. package/dist/{index-D72cOtq7.cjs.map → index-CyZ1lmi_.cjs.map} +1 -1
  472. package/dist/index-D491FEn1.js +184 -0
  473. package/dist/index-D491FEn1.js.map +1 -0
  474. package/dist/index-DG2bgAva.cjs +10 -0
  475. package/dist/index-DG2bgAva.cjs.map +1 -0
  476. package/dist/index-DRXx7m-C.cjs +2 -0
  477. package/dist/index-DRXx7m-C.cjs.map +1 -0
  478. package/dist/index-DoY3Ga3W.cjs +2 -0
  479. package/dist/index-DoY3Ga3W.cjs.map +1 -0
  480. package/dist/index-DxXnJ8Ti.cjs +2 -0
  481. package/dist/index-DxXnJ8Ti.cjs.map +1 -0
  482. package/dist/{index-DG3YrCr5-D3FrrXj8.js → index-Dzc_aaI9-Bb7gobH_.js} +2 -2
  483. package/dist/{index-DG3YrCr5-D3FrrXj8.js.map → index-Dzc_aaI9-Bb7gobH_.js.map} +1 -1
  484. package/dist/{index-DG3YrCr5-v7rayV3N.cjs → index-Dzc_aaI9-BmkfPMyc.cjs} +2 -2
  485. package/dist/{index-DG3YrCr5-v7rayV3N.cjs.map → index-Dzc_aaI9-BmkfPMyc.cjs.map} +1 -1
  486. package/dist/{index-9tDEUqOZ.js → index-GEsywGxz.js} +9 -9
  487. package/dist/index-GEsywGxz.js.map +1 -0
  488. package/dist/index-SKgJALZg.js +99 -0
  489. package/dist/{index-DKCxu1Gh.js.map → index-SKgJALZg.js.map} +1 -1
  490. package/dist/index-leTnKT2q.js +329 -0
  491. package/dist/index-leTnKT2q.js.map +1 -0
  492. package/dist/index.cjs +1 -1
  493. package/dist/index.d.ts +19 -8
  494. package/dist/index.js +13 -13
  495. package/dist/{init-BhZylTFx.js → init-BJFW6EwE.js} +3 -3
  496. package/dist/{init-BhZylTFx.js.map → init-BJFW6EwE.js.map} +1 -1
  497. package/dist/{linear-BVckp9RD.cjs → linear-BwPAspcq.cjs} +2 -2
  498. package/dist/{linear-BVckp9RD.cjs.map → linear-BwPAspcq.cjs.map} +1 -1
  499. package/dist/{linear-DUdu7l2G.js → linear-BwnDd9KF.js} +3 -3
  500. package/dist/{linear-DUdu7l2G.js.map → linear-BwnDd9KF.js.map} +1 -1
  501. package/dist/numberFormattingFunction-02t-wJta.cjs.map +1 -1
  502. package/dist/numberFormattingFunction-14YCbkN2.js.map +1 -1
  503. package/dist/{ordinal-BOeNbyae.cjs → ordinal-CrsysVE-.cjs} +2 -2
  504. package/dist/ordinal-CrsysVE-.cjs.map +1 -0
  505. package/dist/{ordinal-w9Lu4Stb.js → ordinal-P77xw8aL.js} +24 -24
  506. package/dist/ordinal-P77xw8aL.js.map +1 -0
  507. package/dist/{pow-e8zx3AQJ.js → pow-DE4c7dbW.js} +3 -3
  508. package/dist/{pow-e8zx3AQJ.js.map → pow-DE4c7dbW.js.map} +1 -1
  509. package/dist/{pow-B5-jkdHU.cjs → pow-DgrUorRi.cjs} +2 -2
  510. package/dist/{pow-B5-jkdHU.cjs.map → pow-DgrUorRi.cjs.map} +1 -1
  511. package/dist/{proxy-CkpFesk1.js → proxy-BxkFHwUw.js} +144 -134
  512. package/dist/proxy-BxkFHwUw.js.map +1 -0
  513. package/dist/proxy-BxvUI_9l.cjs +2 -0
  514. package/dist/proxy-BxvUI_9l.cjs.map +1 -0
  515. package/dist/{removeOutliers-DR48e-18.js → removeOutliers-BqW0sPqj.js} +2 -5
  516. package/dist/{removeOutliers-DR48e-18.js.map → removeOutliers-BqW0sPqj.js.map} +1 -1
  517. package/dist/removeOutliers-WELHHqiI.cjs.map +1 -1
  518. package/dist/{sort-DfK1b0F5.js → sort-BIvMlUH1.js} +5 -5
  519. package/dist/{sort-DfK1b0F5.js.map → sort-BIvMlUH1.js.map} +1 -1
  520. package/dist/{string-CRoCZCYa.cjs → string-C-kRh1bQ.cjs} +2 -2
  521. package/dist/{string-CRoCZCYa.cjs.map → string-C-kRh1bQ.cjs.map} +1 -1
  522. package/dist/{string-B8KlVSPX.js → string-C_xJ4Wg4.js} +3 -3
  523. package/dist/{string-B8KlVSPX.js.map → string-C_xJ4Wg4.js.map} +1 -1
  524. package/dist/string2HTML-CPGr_I5E.cjs +3 -0
  525. package/dist/{string2HTML-z7CwHXcx.cjs.map → string2HTML-CPGr_I5E.cjs.map} +1 -1
  526. package/dist/{string2HTML-oFCROsus.js → string2HTML-DhG75NqA.js} +15 -9
  527. package/dist/{string2HTML-oFCROsus.js.map → string2HTML-DhG75NqA.js.map} +1 -1
  528. package/dist/style.css +1 -1
  529. package/dist/{svgDownload-C2-E3yf2.js → svgDownload-BAoarWNt.js} +4 -2
  530. package/dist/{svgDownload-C2-E3yf2.js.map → svgDownload-BAoarWNt.js.map} +1 -1
  531. package/dist/svgDownload-D9zEGjTF.cjs.map +1 -1
  532. package/dist/{threshold-DFfqcDMa.js → threshold-Bgr20hik.js} +2 -2
  533. package/dist/{threshold-DFfqcDMa.js.map → threshold-Bgr20hik.js.map} +1 -1
  534. package/dist/{time-Byw_jYQ7.cjs → time-CZd5YLSP.cjs} +2 -2
  535. package/dist/{time-Byw_jYQ7.cjs.map → time-CZd5YLSP.cjs.map} +1 -1
  536. package/dist/{time-BzJP5SPC.js → time-DCCfQk3V.js} +3 -3
  537. package/dist/{time-BzJP5SPC.js.map → time-DCCfQk3V.js.map} +1 -1
  538. package/dist/transformData.cjs +1 -1
  539. package/dist/transformData.js +3 -3
  540. package/dist/transformDataForAggregation-CE3bAlHU.js +585 -0
  541. package/dist/{transformDataForAggregation-sBpdlX8n.js.map → transformDataForAggregation-CE3bAlHU.js.map} +1 -1
  542. package/dist/transformDataForAggregation-KXGm6flX.cjs.map +1 -1
  543. package/dist/transformDataForGraphFromFile-BExxcITV.js +14 -0
  544. package/dist/{transformDataForGraphFromFile-ComYvzuz.js.map → transformDataForGraphFromFile-BExxcITV.js.map} +1 -1
  545. package/dist/{transformDataForGraphFromFile-DVZodTHd.cjs → transformDataForGraphFromFile-DaJHQCsL.cjs} +2 -2
  546. package/dist/{transformDataForGraphFromFile-DVZodTHd.cjs.map → transformDataForGraphFromFile-DaJHQCsL.cjs.map} +1 -1
  547. package/dist/transformDataForSelect-D8AuvYdf.js.map +1 -1
  548. package/dist/transformDataForSelect-YmStusCI.cjs.map +1 -1
  549. package/dist/uniqBy-BHy4I8PK.js.map +1 -1
  550. package/dist/uniqBy-O05lp2S5.cjs.map +1 -1
  551. package/dist/{use-in-view-yS6jzJAp.js → use-in-view-Cxa7y1TH.js} +2 -2
  552. package/dist/use-in-view-Cxa7y1TH.js.map +1 -0
  553. package/dist/use-in-view-QcfiW0w3.cjs +2 -0
  554. package/dist/use-in-view-QcfiW0w3.cjs.map +1 -0
  555. package/dist/utils.cjs +1 -1
  556. package/dist/utils.js +8 -8
  557. package/dist/validateSchema.cjs.map +1 -1
  558. package/dist/validateSchema.js +33 -29
  559. package/dist/validateSchema.js.map +1 -1
  560. package/dist/{x-BBpi7a_7-Dz2vKSfu.cjs → x-BBpi7a_7-mTo40uId.cjs} +2 -2
  561. package/dist/{x-BBpi7a_7-Dz2vKSfu.cjs.map → x-BBpi7a_7-mTo40uId.cjs.map} +1 -1
  562. package/dist/{y-D0sAaVii.js → y-BqfogMAB.js} +3 -3
  563. package/dist/{y-D0sAaVii.js.map → y-BqfogMAB.js.map} +1 -1
  564. package/dist/{zoom-QipiAl5W.js → zoom-C9MFjAaV.js} +5 -5
  565. package/dist/{zoom-QipiAl5W.js.map → zoom-C9MFjAaV.js.map} +1 -1
  566. package/dist/zoom-DPw8bba-.cjs +2 -0
  567. package/dist/{zoom-BiMNsz72.cjs.map → zoom-DPw8bba-.cjs.map} +1 -1
  568. package/package.json +9 -8
  569. package/dist/Axis-DE7dSn1_.cjs +0 -2
  570. package/dist/Axis-DE7dSn1_.cjs.map +0 -1
  571. package/dist/Axis-Ddg-seDi.js +0 -43
  572. package/dist/Axis-Ddg-seDi.js.map +0 -1
  573. package/dist/AxisTitle-BmHLMRJZ.js +0 -20
  574. package/dist/AxisTitle-BmHLMRJZ.js.map +0 -1
  575. package/dist/AxisTitle-CK9YeovX.cjs +0 -2
  576. package/dist/AxisTitle-CK9YeovX.cjs.map +0 -1
  577. package/dist/DropdownSelect-CtOKZHD0.js.map +0 -1
  578. package/dist/DropdownSelect-DBDM64B5.cjs +0 -29
  579. package/dist/DropdownSelect-DBDM64B5.cjs.map +0 -1
  580. package/dist/EmptyState-DdTp-Mdn.js +0 -22
  581. package/dist/EmptyState-d8_8SxeW.cjs +0 -2
  582. package/dist/GraphEl-C6yjl1VM.cjs +0 -2
  583. package/dist/GraphEl-C6yjl1VM.cjs.map +0 -1
  584. package/dist/GraphEl-CqWzvOyr.js.map +0 -1
  585. package/dist/Modal-DVVwpKhP.js +0 -1019
  586. package/dist/Modal-DVVwpKhP.js.map +0 -1
  587. package/dist/Modal-tXZlLE5s.cjs +0 -46
  588. package/dist/Modal-tXZlLE5s.cjs.map +0 -1
  589. package/dist/ReferenceLine-CFVBBN__.cjs +0 -2
  590. package/dist/ReferenceLine-CFVBBN__.cjs.map +0 -1
  591. package/dist/ReferenceLine-CfAW3vKJ.js +0 -128
  592. package/dist/ReferenceLine-CfAW3vKJ.js.map +0 -1
  593. package/dist/RegressionLine-C2--oMQq.js +0 -49
  594. package/dist/RegressionLine-C2--oMQq.js.map +0 -1
  595. package/dist/RegressionLine-Dj0GSiAp.cjs +0 -2
  596. package/dist/RegressionLine-Dj0GSiAp.cjs.map +0 -1
  597. package/dist/Spinner-C85UF28E.js +0 -30
  598. package/dist/Spinner-C85UF28E.js.map +0 -1
  599. package/dist/Spinner-DA6Z5E4n.cjs +0 -2
  600. package/dist/Spinner-DA6Z5E4n.cjs.map +0 -1
  601. package/dist/Tooltip-CVCGWyzw.js +0 -46
  602. package/dist/Tooltip-CVCGWyzw.js.map +0 -1
  603. package/dist/Tooltip-De16GWhY.cjs +0 -2
  604. package/dist/Tooltip-De16GWhY.cjs.map +0 -1
  605. package/dist/Typography-Ctgfl1J5.js +0 -140
  606. package/dist/Typography-Ctgfl1J5.js.map +0 -1
  607. package/dist/Typography-k-kOjICQ.cjs +0 -2
  608. package/dist/Typography-k-kOjICQ.cjs.map +0 -1
  609. package/dist/XAxesLabels-Drf7M3YK.cjs +0 -2
  610. package/dist/XAxesLabels-Drf7M3YK.cjs.map +0 -1
  611. package/dist/XAxesLabels-loO78vUO.js +0 -57
  612. package/dist/XAxesLabels-loO78vUO.js.map +0 -1
  613. package/dist/XTicksAndGridLines-Bn9u5gOM.js +0 -56
  614. package/dist/XTicksAndGridLines-Bn9u5gOM.js.map +0 -1
  615. package/dist/XTicksAndGridLines-CCzXIV8d.cjs +0 -2
  616. package/dist/XTicksAndGridLines-CCzXIV8d.cjs.map +0 -1
  617. package/dist/YAxesLabels-DECkMgq8.js +0 -52
  618. package/dist/YAxesLabels-DECkMgq8.js.map +0 -1
  619. package/dist/YAxesLabels-yRFFdx1s.cjs +0 -2
  620. package/dist/YAxesLabels-yRFFdx1s.cjs.map +0 -1
  621. package/dist/YTicksAndGridLines-B6ah7CRf.js +0 -56
  622. package/dist/YTicksAndGridLines-B6ah7CRf.js.map +0 -1
  623. package/dist/YTicksAndGridLines-DBDuz6vb.cjs +0 -2
  624. package/dist/YTicksAndGridLines-DBDuz6vb.cjs.map +0 -1
  625. package/dist/checkIfMultiple-BXbHUCWM.cjs +0 -12
  626. package/dist/checkIfMultiple-BXbHUCWM.cjs.map +0 -1
  627. package/dist/checkIfMultiple-ChTJk2Tk.js +0 -912
  628. package/dist/checkIfMultiple-ChTJk2Tk.js.map +0 -1
  629. package/dist/customArea-B-dWU0zZ.js +0 -175
  630. package/dist/customArea-CK768gCn.cjs +0 -2
  631. package/dist/fetchAndParseData-Ba-_CgxS.cjs +0 -16
  632. package/dist/getGraphList-DuColTJM.js +0 -265
  633. package/dist/getSliderMarks-9cNoRkDx.js +0 -1023
  634. package/dist/getSliderMarks-9cNoRkDx.js.map +0 -1
  635. package/dist/getSliderMarks-CRIbTGYV.cjs +0 -6
  636. package/dist/getSliderMarks-CRIbTGYV.cjs.map +0 -1
  637. package/dist/index-37q0ULNQ.js +0 -430
  638. package/dist/index-37q0ULNQ.js.map +0 -1
  639. package/dist/index-9tDEUqOZ.js.map +0 -1
  640. package/dist/index-BW8iNx7E.cjs +0 -10
  641. package/dist/index-BW8iNx7E.cjs.map +0 -1
  642. package/dist/index-BW_-wD2k.cjs +0 -2
  643. package/dist/index-BW_-wD2k.cjs.map +0 -1
  644. package/dist/index-BYzIB5V6.cjs +0 -2
  645. package/dist/index-BmCqpO1B.js +0 -342
  646. package/dist/index-BmCqpO1B.js.map +0 -1
  647. package/dist/index-CHPV5EwG-BPSP-7Jg.js.map +0 -1
  648. package/dist/index-CHPV5EwG-DDoeWRVt.cjs +0 -44
  649. package/dist/index-CHPV5EwG-DDoeWRVt.cjs.map +0 -1
  650. package/dist/index-CNvov0eg.js +0 -122
  651. package/dist/index-CNvov0eg.js.map +0 -1
  652. package/dist/index-CQ3e6Ewi.cjs +0 -2
  653. package/dist/index-CVlCtJbC.cjs +0 -2
  654. package/dist/index-CVlCtJbC.cjs.map +0 -1
  655. package/dist/index-CoZbeNM9.cjs +0 -2
  656. package/dist/index-CoZbeNM9.cjs.map +0 -1
  657. package/dist/index-D72cOtq7.cjs +0 -2
  658. package/dist/index-DKCxu1Gh.js +0 -77
  659. package/dist/index-tvAyXPPW-DPOG-C2i.cjs +0 -2
  660. package/dist/index-tvAyXPPW-DPOG-C2i.cjs.map +0 -1
  661. package/dist/ordinal-BOeNbyae.cjs.map +0 -1
  662. package/dist/ordinal-w9Lu4Stb.js.map +0 -1
  663. package/dist/proxy-BHRoeZgd.cjs +0 -2
  664. package/dist/proxy-BHRoeZgd.cjs.map +0 -1
  665. package/dist/proxy-CkpFesk1.js.map +0 -1
  666. package/dist/string2HTML-z7CwHXcx.cjs +0 -3
  667. package/dist/transformDataForAggregation-sBpdlX8n.js +0 -755
  668. package/dist/transformDataForGraphFromFile-ComYvzuz.js +0 -24
  669. package/dist/use-in-view-sQJZ_xDO.cjs +0 -2
  670. package/dist/use-in-view-sQJZ_xDO.cjs.map +0 -1
  671. package/dist/use-in-view-yS6jzJAp.js.map +0 -1
  672. package/dist/zoom-BiMNsz72.cjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"validateSchema.cjs","sources":["../src/Utils/validateSchema.ts"],"sourcesContent":["import { graphList } from './getGraphList';\r\n\r\nimport { GraphType } from '@/Types';\r\nimport {\r\n getDashboardJSONSchema,\r\n getDashboardWideToLongFormatJSONSchema,\r\n getDataSchema,\r\n getGriddedGraphJSONSchema,\r\n getSettingsSchema,\r\n getSingleGraphJSONSchema,\r\n} from '@/Schemas/getSchema';\r\n\r\n/**\r\n * Validates the data against the appropriate schema for the given graph type.\r\n *\r\n * @param data - The data to validate.\r\n * @param graph - The graph type for which the data validation is performed.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateDataSchema(data, 'barChart').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport async function validateDataSchema(data: any, graph: GraphType) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n if (!data) {\r\n return {\r\n isValid: false,\r\n err: `No data provided`,\r\n };\r\n }\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0)\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n\r\n const schema = await getDataSchema(graph);\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n\r\n const validate = ajv.compile(schema);\r\n const valid = validate(data);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n/**\r\n * Validates the settings against the appropriate schema for the given graph type. This does not validate graphTitle, graphDescription, footNote, tooltip, detailsOnClick, and cardTemplate.\r\n *\r\n * @param settings - The settings to validate.\r\n * @param graph - The graph type for which the settings validation is performed.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateSettingsSchema(settings, 'barChart').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport async function validateSettingsSchema(settings: any, graph: GraphType) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n const schema = await getSettingsSchema(graph);\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n\r\n const validate = ajv.compile(schema);\r\n const valid = validate(settings);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n/**\r\n * Validates the configuration against the appropriate schema for the given graph type. This does not validate graphTitle, graphDescription, footNote, tooltip, detailsOnClick or cardTemplate in the graphSettings.\r\n *\r\n * @param config - The configuration to validate.\r\n * @param graph - The graph type for which the configuration validation is performed. Can be one of:\r\n * 'singleGraphDashboard', 'multiGraphDashboard', 'griddedGraph', or 'multiGraphDashboardWideToLongFormat'.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateConfigSchema(config, 'griddedGraph').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\nexport async function validateConfigSchema(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n config: any,\r\n graph:\r\n | 'singleGraphDashboard'\r\n | 'multiGraphDashboard'\r\n | 'griddedGraph'\r\n | 'multiGraphDashboardWideToLongFormat',\r\n) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let schema: any;\r\n switch (graph) {\r\n case 'griddedGraph':\r\n schema = getGriddedGraphJSONSchema(undefined, config.graphType);\r\n break;\r\n case 'multiGraphDashboard':\r\n schema = getDashboardJSONSchema();\r\n break;\r\n case 'singleGraphDashboard':\r\n schema = getSingleGraphJSONSchema(undefined, config.graphType);\r\n break;\r\n case 'multiGraphDashboardWideToLongFormat':\r\n schema = getDashboardWideToLongFormatJSONSchema();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n const validate = ajv.compile(schema);\r\n const valid = validate(config);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n"],"names":["validateDataSchema","data","graph","Ajv","e","ajv","graphList","el","schema","getDataSchema","validate","error","validateSettingsSchema","settings","getSettingsSchema","validateConfigSchema","config","getGriddedGraphJSONSchema","getDashboardJSONSchema","getSingleGraphJSONSchema","getDashboardWideToLongFormatJSONSchema"],"mappings":"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"}
1
+ {"version":3,"file":"validateSchema.cjs","sources":["../src/Utils/validateSchema.ts"],"sourcesContent":["import { graphList } from './getGraphList';\r\n\r\nimport { GraphType } from '@/Types';\r\nimport {\r\n getDashboardJSONSchema,\r\n getDashboardWideToLongFormatJSONSchema,\r\n getDataSchema,\r\n getGriddedGraphJSONSchema,\r\n getSettingsSchema,\r\n getSingleGraphJSONSchema,\r\n} from '@/Schemas/getSchema';\r\n\r\n/**\r\n * Validates the data against the appropriate schema for the given graph type.\r\n *\r\n * @param data - The data to validate.\r\n * @param graph - The graph type for which the data validation is performed.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateDataSchema(data, 'barChart').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport async function validateDataSchema(data: any, graph: GraphType) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n if (!data) {\r\n return {\r\n isValid: false,\r\n err: `No data provided`,\r\n };\r\n }\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0)\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n\r\n const schema = await getDataSchema(graph);\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n\r\n const validate = ajv.compile(schema);\r\n const valid = validate(data);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n/**\r\n * Validates the settings against the appropriate schema for the given graph type. This does not validate graphTitle, graphDescription, footNote, tooltip, detailsOnClick, and cardTemplate.\r\n *\r\n * @param settings - The settings to validate.\r\n * @param graph - The graph type for which the settings validation is performed.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateSettingsSchema(settings, 'barChart').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport async function validateSettingsSchema(settings: any, graph: GraphType) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n const schema = await getSettingsSchema(graph);\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n\r\n const validate = ajv.compile(schema);\r\n const valid = validate(settings);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n/**\r\n * Validates the configuration against the appropriate schema for the given graph type. This does not validate graphTitle, graphDescription, footNote, tooltip, detailsOnClick or cardTemplate in the graphSettings.\r\n *\r\n * @param config - The configuration to validate.\r\n * @param graph - The graph type for which the configuration validation is performed. Can be one of:\r\n * 'singleGraphDashboard', 'multiGraphDashboard', 'griddedGraph', or 'multiGraphDashboardWideToLongFormat'.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateConfigSchema(config, 'griddedGraph').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\nexport async function validateConfigSchema(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n config: any,\r\n graph:\r\n | 'singleGraphDashboard'\r\n | 'multiGraphDashboard'\r\n | 'griddedGraph'\r\n | 'multiGraphDashboardWideToLongFormat',\r\n) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let schema: any;\r\n switch (graph) {\r\n case 'griddedGraph':\r\n schema = getGriddedGraphJSONSchema(undefined, config.graphType);\r\n break;\r\n case 'multiGraphDashboard':\r\n schema = getDashboardJSONSchema();\r\n break;\r\n case 'singleGraphDashboard':\r\n schema = getSingleGraphJSONSchema(undefined, config.graphType);\r\n break;\r\n case 'multiGraphDashboardWideToLongFormat':\r\n schema = getDashboardWideToLongFormatJSONSchema();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n const validate = ajv.compile(schema);\r\n const valid = validate(config);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n"],"names":["validateDataSchema","data","graph","Ajv","default","e","console","error","Error","ajv","allErrors","allowUnionTypes","graphList","filter","el","geoHubMapPresentation","map","graphID","indexOf","isValid","err","undefined","length","schema","getDataSchema","validate","compile","errors","instancePath","message","join","validateSettingsSchema","settings","getSettingsSchema","validateConfigSchema","config","getGriddedGraphJSONSchema","graphType","getDashboardJSONSchema","getSingleGraphJSONSchema","getDashboardWideToLongFormatJSONSchema"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { g as n } from "./getGraphList-DuColTJM.js";
1
+ import { g as n } from "./getGraphList-BpEWn1Tk.js";
2
2
  import { getDataSchema as d, getSettingsSchema as c, getDashboardWideToLongFormatJSONSchema as u, getSingleGraphJSONSchema as m, getDashboardJSONSchema as h, getGriddedGraphJSONSchema as v } from "./getSchema.js";
3
3
  async function w(i, a) {
4
4
  let o;
@@ -7,28 +7,28 @@ async function w(i, a) {
7
7
  } catch (e) {
8
8
  throw console.error(e), new Error("AJV is not installed. Please install it to use runtime validation.");
9
9
  }
10
- const s = new o({ allErrors: !0, allowUnionTypes: !0 });
11
- if (n.filter((e) => e.geoHubMapPresentation).map((e) => e.graphID).indexOf(a) !== -1)
12
- return {
13
- isValid: !0,
14
- err: void 0
15
- };
10
+ const s = new o({
11
+ allErrors: !0,
12
+ allowUnionTypes: !0
13
+ });
14
+ if (n.filter((e) => e.geoHubMapPresentation).map((e) => e.graphID).indexOf(a) !== -1) return {
15
+ isValid: !0,
16
+ err: void 0
17
+ };
16
18
  if (!i)
17
19
  return {
18
20
  isValid: !1,
19
21
  err: "No data provided"
20
22
  };
21
- if (a === "dataTable" || a === "dataCards" || i.length === 0)
22
- return {
23
- isValid: !0,
24
- err: void 0
25
- };
23
+ if (a === "dataTable" || a === "dataCards" || i.length === 0) return {
24
+ isValid: !0,
25
+ err: void 0
26
+ };
26
27
  const r = await d(a);
27
- if (!r)
28
- return {
29
- isValid: !1,
30
- err: `Invalid chart type: ${a}`
31
- };
28
+ if (!r) return {
29
+ isValid: !1,
30
+ err: `Invalid chart type: ${a}`
31
+ };
32
32
  const t = s.compile(r);
33
33
  return t(i) ? {
34
34
  isValid: !0,
@@ -45,12 +45,14 @@ async function g(i, a) {
45
45
  } catch (e) {
46
46
  throw console.error(e), new Error("AJV is not installed. Please install it to use runtime validation.");
47
47
  }
48
- const s = new o({ allErrors: !0, allowUnionTypes: !0 }), r = await c(a);
49
- if (!r)
50
- return {
51
- isValid: !1,
52
- err: `Invalid chart type: ${a}`
53
- };
48
+ const s = new o({
49
+ allErrors: !0,
50
+ allowUnionTypes: !0
51
+ }), r = await c(a);
52
+ if (!r) return {
53
+ isValid: !1,
54
+ err: `Invalid chart type: ${a}`
55
+ };
54
56
  const t = s.compile(r);
55
57
  return t(i) ? {
56
58
  isValid: !0,
@@ -67,7 +69,10 @@ async function S(i, a) {
67
69
  } catch (e) {
68
70
  throw console.error(e), new Error("AJV is not installed. Please install it to use runtime validation.");
69
71
  }
70
- const s = new o({ allErrors: !0, allowUnionTypes: !0 });
72
+ const s = new o({
73
+ allErrors: !0,
74
+ allowUnionTypes: !0
75
+ });
71
76
  let r;
72
77
  switch (a) {
73
78
  case "griddedGraph":
@@ -83,11 +88,10 @@ async function S(i, a) {
83
88
  r = u();
84
89
  break;
85
90
  }
86
- if (!r)
87
- return {
88
- isValid: !1,
89
- err: `Invalid chart type: ${a}`
90
- };
91
+ if (!r) return {
92
+ isValid: !1,
93
+ err: `Invalid chart type: ${a}`
94
+ };
91
95
  const t = s.compile(r);
92
96
  return t(i) ? {
93
97
  isValid: !0,
@@ -1 +1 @@
1
- {"version":3,"file":"validateSchema.js","sources":["../src/Utils/validateSchema.ts"],"sourcesContent":["import { graphList } from './getGraphList';\r\n\r\nimport { GraphType } from '@/Types';\r\nimport {\r\n getDashboardJSONSchema,\r\n getDashboardWideToLongFormatJSONSchema,\r\n getDataSchema,\r\n getGriddedGraphJSONSchema,\r\n getSettingsSchema,\r\n getSingleGraphJSONSchema,\r\n} from '@/Schemas/getSchema';\r\n\r\n/**\r\n * Validates the data against the appropriate schema for the given graph type.\r\n *\r\n * @param data - The data to validate.\r\n * @param graph - The graph type for which the data validation is performed.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateDataSchema(data, 'barChart').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport async function validateDataSchema(data: any, graph: GraphType) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n if (!data) {\r\n return {\r\n isValid: false,\r\n err: `No data provided`,\r\n };\r\n }\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0)\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n\r\n const schema = await getDataSchema(graph);\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n\r\n const validate = ajv.compile(schema);\r\n const valid = validate(data);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n/**\r\n * Validates the settings against the appropriate schema for the given graph type. This does not validate graphTitle, graphDescription, footNote, tooltip, detailsOnClick, and cardTemplate.\r\n *\r\n * @param settings - The settings to validate.\r\n * @param graph - The graph type for which the settings validation is performed.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateSettingsSchema(settings, 'barChart').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport async function validateSettingsSchema(settings: any, graph: GraphType) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n const schema = await getSettingsSchema(graph);\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n\r\n const validate = ajv.compile(schema);\r\n const valid = validate(settings);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n/**\r\n * Validates the configuration against the appropriate schema for the given graph type. This does not validate graphTitle, graphDescription, footNote, tooltip, detailsOnClick or cardTemplate in the graphSettings.\r\n *\r\n * @param config - The configuration to validate.\r\n * @param graph - The graph type for which the configuration validation is performed. Can be one of:\r\n * 'singleGraphDashboard', 'multiGraphDashboard', 'griddedGraph', or 'multiGraphDashboardWideToLongFormat'.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateConfigSchema(config, 'griddedGraph').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\nexport async function validateConfigSchema(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n config: any,\r\n graph:\r\n | 'singleGraphDashboard'\r\n | 'multiGraphDashboard'\r\n | 'griddedGraph'\r\n | 'multiGraphDashboardWideToLongFormat',\r\n) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let schema: any;\r\n switch (graph) {\r\n case 'griddedGraph':\r\n schema = getGriddedGraphJSONSchema(undefined, config.graphType);\r\n break;\r\n case 'multiGraphDashboard':\r\n schema = getDashboardJSONSchema();\r\n break;\r\n case 'singleGraphDashboard':\r\n schema = getSingleGraphJSONSchema(undefined, config.graphType);\r\n break;\r\n case 'multiGraphDashboardWideToLongFormat':\r\n schema = getDashboardWideToLongFormatJSONSchema();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n const validate = ajv.compile(schema);\r\n const valid = validate(config);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n"],"names":["validateDataSchema","data","graph","Ajv","ajv","graphList","el","schema","getDataSchema","validate","error","validateSettingsSchema","settings","getSettingsSchema","validateConfigSchema","config","getGriddedGraphJSONSchema","getDashboardJSONSchema","getSingleGraphJSONSchema","getDashboardWideToLongFormatJSONSchema"],"mappings":"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"}
1
+ {"version":3,"file":"validateSchema.js","sources":["../src/Utils/validateSchema.ts"],"sourcesContent":["import { graphList } from './getGraphList';\r\n\r\nimport { GraphType } from '@/Types';\r\nimport {\r\n getDashboardJSONSchema,\r\n getDashboardWideToLongFormatJSONSchema,\r\n getDataSchema,\r\n getGriddedGraphJSONSchema,\r\n getSettingsSchema,\r\n getSingleGraphJSONSchema,\r\n} from '@/Schemas/getSchema';\r\n\r\n/**\r\n * Validates the data against the appropriate schema for the given graph type.\r\n *\r\n * @param data - The data to validate.\r\n * @param graph - The graph type for which the data validation is performed.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateDataSchema(data, 'barChart').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport async function validateDataSchema(data: any, graph: GraphType) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n if (\r\n graphList\r\n .filter(el => el.geoHubMapPresentation)\r\n .map(el => el.graphID)\r\n .indexOf(graph) !== -1\r\n )\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n if (!data) {\r\n return {\r\n isValid: false,\r\n err: `No data provided`,\r\n };\r\n }\r\n if (graph === 'dataTable' || graph === 'dataCards' || data.length === 0)\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n\r\n const schema = await getDataSchema(graph);\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n\r\n const validate = ajv.compile(schema);\r\n const valid = validate(data);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n/**\r\n * Validates the settings against the appropriate schema for the given graph type. This does not validate graphTitle, graphDescription, footNote, tooltip, detailsOnClick, and cardTemplate.\r\n *\r\n * @param settings - The settings to validate.\r\n * @param graph - The graph type for which the settings validation is performed.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateSettingsSchema(settings, 'barChart').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nexport async function validateSettingsSchema(settings: any, graph: GraphType) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n const schema = await getSettingsSchema(graph);\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n\r\n const validate = ajv.compile(schema);\r\n const valid = validate(settings);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n/**\r\n * Validates the configuration against the appropriate schema for the given graph type. This does not validate graphTitle, graphDescription, footNote, tooltip, detailsOnClick or cardTemplate in the graphSettings.\r\n *\r\n * @param config - The configuration to validate.\r\n * @param graph - The graph type for which the configuration validation is performed. Can be one of:\r\n * 'singleGraphDashboard', 'multiGraphDashboard', 'griddedGraph', or 'multiGraphDashboardWideToLongFormat'.\r\n *\r\n * @returns A promise with `isValid` indicating the validation result and `err` containing any error messages if the validation fails.\r\n *\r\n * @example\r\n * const result = validateConfigSchema(config, 'griddedGraph').then(result => {\r\n * if (!result.isValid) {\r\n * console.error(result.err);\r\n * }\r\n * });\r\n */\r\nexport async function validateConfigSchema(\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n config: any,\r\n graph:\r\n | 'singleGraphDashboard'\r\n | 'multiGraphDashboard'\r\n | 'griddedGraph'\r\n | 'multiGraphDashboardWideToLongFormat',\r\n) {\r\n let Ajv;\r\n try {\r\n Ajv = (await import('ajv')).default;\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n } catch (e: any) {\r\n console.error(e);\r\n throw new Error('AJV is not installed. Please install it to use runtime validation.');\r\n }\r\n\r\n const ajv = new Ajv({ allErrors: true, allowUnionTypes: true });\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let schema: any;\r\n switch (graph) {\r\n case 'griddedGraph':\r\n schema = getGriddedGraphJSONSchema(undefined, config.graphType);\r\n break;\r\n case 'multiGraphDashboard':\r\n schema = getDashboardJSONSchema();\r\n break;\r\n case 'singleGraphDashboard':\r\n schema = getSingleGraphJSONSchema(undefined, config.graphType);\r\n break;\r\n case 'multiGraphDashboardWideToLongFormat':\r\n schema = getDashboardWideToLongFormatJSONSchema();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (!schema)\r\n return {\r\n isValid: false,\r\n err: `Invalid chart type: ${graph}`,\r\n };\r\n const validate = ajv.compile(schema);\r\n const valid = validate(config);\r\n if (!valid) {\r\n console.error(validate.errors);\r\n return {\r\n isValid: false,\r\n err: validate.errors\r\n ?.map(error => `Error at ${error.instancePath}: ${error.message}`)\r\n .join('; '),\r\n };\r\n }\r\n return {\r\n isValid: true,\r\n err: undefined,\r\n };\r\n}\r\n"],"names":["validateDataSchema","data","graph","Ajv","default","e","console","error","Error","ajv","allErrors","allowUnionTypes","graphList","filter","el","geoHubMapPresentation","map","graphID","indexOf","isValid","err","undefined","length","schema","getDataSchema","validate","compile","errors","instancePath","message","join","validateSettingsSchema","settings","getSettingsSchema","validateConfigSchema","config","getGriddedGraphJSONSchema","graphType","getDashboardJSONSchema","getSingleGraphJSONSchema","getDashboardWideToLongFormatJSONSchema"],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * This source code is licensed under the ISC license.
15
15
  * See the LICENSE file in the root directory of this source tree.
16
- */const g=i.forwardRef(({color:r="currentColor",size:e=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:a="",children:s,iconNode:u,...n},h)=>i.createElement("svg",{ref:h,...N,width:e,height:e,stroke:r,strokeWidth:o?Number(t)*24/Number(e):t,className:l("lucide",a),...!s&&!p(n)&&{"aria-hidden":"true"},...n},[...u.map(([m,f])=>i.createElement(m,f)),...Array.isArray(s)?s:[s]]));/**
16
+ */const g=i.forwardRef(({color:r="currentColor",size:e=24,strokeWidth:t=2,absoluteStrokeWidth:o,className:a="",children:s,iconNode:h,...n},u)=>i.createElement("svg",{ref:u,...N,width:e,height:e,stroke:r,strokeWidth:o?Number(t)*24/Number(e):t,className:l("lucide",a),...!s&&!p(n)&&{"aria-hidden":"true"},...n},[...h.map(([m,f])=>i.createElement(m,f)),...Array.isArray(s)?s:[s]]));/**
17
17
  * @license lucide-react v0.542.0 - ISC
18
18
  *
19
19
  * This source code is licensed under the ISC license.
@@ -24,4 +24,4 @@
24
24
  * This source code is licensed under the ISC license.
25
25
  * See the LICENSE file in the root directory of this source tree.
26
26
  */const A=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],C=d("x",A);exports.k=d;exports.t=C;
27
- //# sourceMappingURL=x-BBpi7a_7-Dz2vKSfu.cjs.map
27
+ //# sourceMappingURL=x-BBpi7a_7-mTo40uId.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"x-BBpi7a_7-Dz2vKSfu.cjs","sources":["../node_modules/@undp/design-system-react/dist/createLucideIcon-CI1yJrZf.js","../node_modules/@undp/design-system-react/dist/x-BBpi7a_7.js"],"sourcesContent":["import { forwardRef as l, createElement as n } from \"react\";\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst w = (t) => t.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase(), h = (t) => t.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (e, r, o) => o ? o.toUpperCase() : r.toLowerCase()\n), i = (t) => {\n const e = h(t);\n return e.charAt(0).toUpperCase() + e.slice(1);\n}, u = (...t) => t.filter((e, r, o) => !!e && e.trim() !== \"\" && o.indexOf(e) === r).join(\" \").trim(), f = (t) => {\n for (const e in t)\n if (e.startsWith(\"aria-\") || e === \"role\" || e === \"title\")\n return !0;\n};\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nvar g = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst A = l(\n ({\n color: t = \"currentColor\",\n size: e = 24,\n strokeWidth: r = 2,\n absoluteStrokeWidth: o,\n className: s = \"\",\n children: a,\n iconNode: p,\n ...c\n }, m) => n(\n \"svg\",\n {\n ref: m,\n ...g,\n width: e,\n height: e,\n stroke: t,\n strokeWidth: o ? Number(r) * 24 / Number(e) : r,\n className: u(\"lucide\", s),\n ...!a && !f(c) && { \"aria-hidden\": \"true\" },\n ...c\n },\n [\n ...p.map(([C, d]) => n(C, d)),\n ...Array.isArray(a) ? a : [a]\n ]\n )\n);\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst k = (t, e) => {\n const r = l(\n ({ className: o, ...s }, a) => n(A, {\n ref: a,\n iconNode: e,\n className: u(\n `lucide-${w(i(t))}`,\n `lucide-${t}`,\n o\n ),\n ...s\n })\n );\n return r.displayName = i(t), r;\n};\nexport {\n k as c\n};\n//# sourceMappingURL=createLucideIcon-CI1yJrZf.js.map\n","import { c as o } from \"./createLucideIcon-CI1yJrZf.js\";\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst c = [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n], t = o(\"x\", c);\nexport {\n t as X\n};\n//# sourceMappingURL=x-BBpi7a_7.js.map\n"],"names":["w","t","h","r","i","u","f","g","A","l","s","a","p","c","m","n","C","d","k","o"],"mappings":"sCACA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,MAAMA,EAAKC,GAAMA,EAAE,QAAQ,qBAAsB,OAAO,EAAE,YAAW,EAAIC,EAAKD,GAAMA,EAAE,QACpF,wBACA,CAAC,EAAGE,EAAG,IAAM,EAAI,EAAE,YAAW,EAAKA,EAAE,YAAW,CAClD,EAAGC,EAAKH,GAAM,CACZ,MAAM,EAAIC,EAAED,CAAC,EACb,OAAO,EAAE,OAAO,CAAC,EAAE,YAAW,EAAK,EAAE,MAAM,CAAC,CAC9C,EAAGI,EAAI,IAAIJ,IAAMA,EAAE,OAAO,CAAC,EAAGE,EAAG,IAAM,CAAC,CAAC,GAAK,EAAE,SAAW,IAAM,EAAE,QAAQ,CAAC,IAAMA,CAAC,EAAE,KAAK,GAAG,EAAE,KAAI,EAAIG,EAAKL,GAAM,CAChH,UAAW,KAAKA,EACd,GAAI,EAAE,WAAW,OAAO,GAAK,IAAM,QAAU,IAAM,QACjD,MAAO,EACb,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,IAAIM,EAAI,CACN,MAAO,6BACP,MAAO,GACP,OAAQ,GACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,EACb,cAAe,QACf,eAAgB,OAClB,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,MAAMC,EAAIC,EAAAA,WACR,CAAC,CACC,MAAOR,EAAI,eACX,KAAM,EAAI,GACV,YAAaE,EAAI,EACjB,oBAAqB,EACrB,UAAWO,EAAI,GACf,SAAUC,EACV,SAAUC,EACV,GAAGC,CACP,EAAKC,IAAMC,EAAAA,cACP,MACA,CACE,IAAKD,EACL,GAAGP,EACH,MAAO,EACP,OAAQ,EACR,OAAQN,EACR,YAAa,EAAI,OAAOE,CAAC,EAAI,GAAK,OAAO,CAAC,EAAIA,EAC9C,UAAWE,EAAE,SAAUK,CAAC,EACxB,GAAG,CAACC,GAAK,CAACL,EAAEO,CAAC,GAAK,CAAE,cAAe,MAAM,EACzC,GAAGA,CACT,EACI,CACE,GAAGD,EAAE,IAAI,CAAC,CAACI,EAAGC,CAAC,IAAMF,EAAAA,cAAEC,EAAGC,CAAC,CAAC,EAC5B,GAAG,MAAM,QAAQN,CAAC,EAAIA,EAAI,CAACA,CAAC,CAClC,CACA,CACA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMK,MAACO,EAAI,CAACjB,EAAG,IAAM,CAClB,MAAME,EAAIM,EAAAA,WACR,CAAC,CAAE,UAAW,EAAG,GAAGC,CAAC,EAAIC,IAAMI,EAAAA,cAAEP,EAAG,CAClC,IAAKG,EACL,SAAU,EACV,UAAWN,EACT,UAAUL,EAAEI,EAAEH,CAAC,CAAC,CAAC,GACjB,UAAUA,CAAC,GACX,CACR,EACM,GAAGS,CACT,CAAK,CACL,EACE,OAAOP,EAAE,YAAcC,EAAEH,CAAC,EAAGE,CAC/B,ECzFA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMK,MAACU,EAAI,CACR,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,EAC3C,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,EAAGZ,EAAIkB,EAAE,IAAKN,CAAC","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"x-BBpi7a_7-mTo40uId.cjs","sources":["../node_modules/@undp/design-system-react/dist/createLucideIcon-CI1yJrZf.js","../node_modules/@undp/design-system-react/dist/x-BBpi7a_7.js"],"sourcesContent":["import { forwardRef as l, createElement as n } from \"react\";\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst w = (t) => t.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase(), h = (t) => t.replace(\n /^([A-Z])|[\\s-_]+(\\w)/g,\n (e, r, o) => o ? o.toUpperCase() : r.toLowerCase()\n), i = (t) => {\n const e = h(t);\n return e.charAt(0).toUpperCase() + e.slice(1);\n}, u = (...t) => t.filter((e, r, o) => !!e && e.trim() !== \"\" && o.indexOf(e) === r).join(\" \").trim(), f = (t) => {\n for (const e in t)\n if (e.startsWith(\"aria-\") || e === \"role\" || e === \"title\")\n return !0;\n};\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nvar g = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst A = l(\n ({\n color: t = \"currentColor\",\n size: e = 24,\n strokeWidth: r = 2,\n absoluteStrokeWidth: o,\n className: s = \"\",\n children: a,\n iconNode: p,\n ...c\n }, m) => n(\n \"svg\",\n {\n ref: m,\n ...g,\n width: e,\n height: e,\n stroke: t,\n strokeWidth: o ? Number(r) * 24 / Number(e) : r,\n className: u(\"lucide\", s),\n ...!a && !f(c) && { \"aria-hidden\": \"true\" },\n ...c\n },\n [\n ...p.map(([C, d]) => n(C, d)),\n ...Array.isArray(a) ? a : [a]\n ]\n )\n);\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst k = (t, e) => {\n const r = l(\n ({ className: o, ...s }, a) => n(A, {\n ref: a,\n iconNode: e,\n className: u(\n `lucide-${w(i(t))}`,\n `lucide-${t}`,\n o\n ),\n ...s\n })\n );\n return r.displayName = i(t), r;\n};\nexport {\n k as c\n};\n//# sourceMappingURL=createLucideIcon-CI1yJrZf.js.map\n","import { c as o } from \"./createLucideIcon-CI1yJrZf.js\";\n/**\n * @license lucide-react v0.542.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nconst c = [\n [\"path\", { d: \"M18 6 6 18\", key: \"1bl5f8\" }],\n [\"path\", { d: \"m6 6 12 12\", key: \"d8bk6v\" }]\n], t = o(\"x\", c);\nexport {\n t as X\n};\n//# sourceMappingURL=x-BBpi7a_7.js.map\n"],"names":["w","t","h","r","i","u","f","g","A","l","s","a","p","c","m","n","C","d","k","o"],"mappings":"sCACA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,MAAMA,EAAKC,GAAMA,EAAE,QAAQ,qBAAsB,OAAO,EAAE,YAAW,EAAIC,EAAKD,GAAMA,EAAE,QACpF,wBACA,CAAC,EAAGE,EAAG,IAAM,EAAI,EAAE,YAAW,EAAKA,EAAE,YAAW,CAClD,EAAGC,EAAKH,GAAM,CACZ,MAAM,EAAIC,EAAED,CAAC,EACb,OAAO,EAAE,OAAO,CAAC,EAAE,YAAW,EAAK,EAAE,MAAM,CAAC,CAC9C,EAAGI,EAAI,IAAIJ,IAAMA,EAAE,OAAO,CAAC,EAAGE,EAAG,IAAM,CAAC,CAAC,GAAK,EAAE,SAAW,IAAM,EAAE,QAAQ,CAAC,IAAMA,CAAC,EAAE,KAAK,GAAG,EAAE,KAAI,EAAIG,EAAKL,GAAM,CAChH,UAAW,KAAKA,EACd,GAAI,EAAE,WAAW,OAAO,GAAK,IAAM,QAAU,IAAM,QACjD,MAAO,EACb,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,IAAIM,EAAI,CACN,MAAO,6BACP,MAAO,GACP,OAAQ,GACR,QAAS,YACT,KAAM,OACN,OAAQ,eACR,YAAa,EACb,cAAe,QACf,eAAgB,OAClB,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMA,MAAMC,EAAIC,EAAAA,WACR,CAAC,CACC,MAAOR,EAAI,eACX,KAAM,EAAI,GACV,YAAaE,EAAI,EACjB,oBAAqB,EACrB,UAAWO,EAAI,GACf,SAAUC,EACV,SAAUC,EACV,GAAGC,CACP,EAAKC,IAAMC,EAAAA,cACP,MACA,CACE,IAAKD,EACL,GAAGP,EACH,MAAO,EACP,OAAQ,EACR,OAAQN,EACR,YAAa,EAAI,OAAOE,CAAC,EAAI,GAAK,OAAO,CAAC,EAAIA,EAC9C,UAAWE,EAAE,SAAUK,CAAC,EACxB,GAAG,CAACC,GAAK,CAACL,EAAEO,CAAC,GAAK,CAAE,cAAe,MAAM,EACzC,GAAGA,CACT,EACI,CACE,GAAGD,EAAE,IAAI,CAAC,CAACI,EAAGC,CAAC,IAAMF,EAAAA,cAAEC,EAAGC,CAAC,CAAC,EAC5B,GAAG,MAAM,QAAQN,CAAC,EAAIA,EAAI,CAACA,CAAC,CAClC,CACA,CACA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMK,MAACO,EAAI,CAACjB,EAAG,IAAM,CAClB,MAAME,EAAIM,EAAAA,WACR,CAAC,CAAE,UAAW,EAAG,GAAGC,CAAC,EAAIC,IAAMI,EAAAA,cAAEP,EAAG,CAClC,IAAKG,EACL,SAAU,EACV,UAAWN,EACT,UAAUL,EAAEI,EAAEH,CAAC,CAAC,CAAC,GACjB,UAAUA,CAAC,GACX,CACR,EACM,GAAGS,CACT,CAAK,CACL,EACE,OAAOP,EAAE,YAAcC,EAAEH,CAAC,EAAGE,CAC/B,ECzFA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMK,MAACU,EAAI,CACR,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,EAC3C,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,QAAQ,CAAE,CAC7C,EAAGZ,EAAIkB,EAAE,IAAKN,CAAC","x_google_ignoreList":[0,1]}
@@ -412,10 +412,10 @@ function _t(t) {
412
412
  }, o;
413
413
  }
414
414
  export {
415
- _t as a,
416
- xt as b,
415
+ xt as a,
416
+ _t as b,
417
417
  yt as c,
418
418
  gt as d,
419
419
  vt as f
420
420
  };
421
- //# sourceMappingURL=y-D0sAaVii.js.map
421
+ //# sourceMappingURL=y-BqfogMAB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"y-D0sAaVii.js","sources":["../node_modules/d3-quadtree/src/add.js","../node_modules/d3-quadtree/src/cover.js","../node_modules/d3-quadtree/src/data.js","../node_modules/d3-quadtree/src/extent.js","../node_modules/d3-quadtree/src/quad.js","../node_modules/d3-quadtree/src/find.js","../node_modules/d3-quadtree/src/remove.js","../node_modules/d3-quadtree/src/root.js","../node_modules/d3-quadtree/src/size.js","../node_modules/d3-quadtree/src/visit.js","../node_modules/d3-quadtree/src/visitAfter.js","../node_modules/d3-quadtree/src/x.js","../node_modules/d3-quadtree/src/y.js","../node_modules/d3-quadtree/src/quadtree.js","../node_modules/d3-force/src/constant.js","../node_modules/d3-force/src/jiggle.js","../node_modules/d3-force/src/collide.js","../node_modules/d3-force/src/lcg.js","../node_modules/d3-force/src/simulation.js","../node_modules/d3-force/src/manyBody.js","../node_modules/d3-force/src/x.js","../node_modules/d3-force/src/y.js"],"sourcesContent":["export default function(d) {\n const x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(random) {\n return (random() - 0.5) * 1e-6;\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n random,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use\nconst a = 1664525;\nconst c = 1013904223;\nconst m = 4294967296; // 2^32\n\nexport default function() {\n let s = 1;\n return () => (s = (a * s + c) % m) / m;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer} from \"d3-timer\";\nimport lcg from \"./lcg.js\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = new Map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\"),\n random = lcg();\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.forEach(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(0.5 + i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes, random);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n randomSource: function(_) {\n return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.delete(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\nimport {x, y} from \"./simulation.js\";\n\nexport default function() {\n var nodes,\n node,\n random,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n"],"names":["tree_add","d","x","y","add","tree","parent","node","leaf","x0","y0","x1","y1","xm","ym","xp","yp","right","bottom","i","j","addAll","data","n","xz","yz","tree_cover","z","tree_data","tree_extent","_","Quad","tree_find","radius","x2","y2","x3","y3","quads","q","dx","dy","d2","tree_remove","retainer","previous","next","removeAll","tree_root","tree_size","size","tree_visit","callback","child","tree_visitAfter","defaultX","tree_x","defaultY","tree_y","quadtree","nodes","Quadtree","leaf_copy","copy","treeProto","tree_addAll","tree_removeAll","constant","jiggle","random","forceCollide","radii","strength","iterations","force","xi","yi","ri","ri2","k","prepare","apply","quad","rj","r","l","initialize","_nodes","_random","a","c","m","lcg","s","initialRadius","initialAngle","forceSimulation","simulation","alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","timer","step","event","dispatch","tick","initializeNodes","angle","initializeForce","name","closest","forceManyBody","strengths","distanceMin2","distanceMax2","theta2","accumulate","weight","w","forceX","forceY"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}
1
+ {"version":3,"file":"y-BqfogMAB.js","sources":["../node_modules/d3-quadtree/src/add.js","../node_modules/d3-quadtree/src/cover.js","../node_modules/d3-quadtree/src/data.js","../node_modules/d3-quadtree/src/extent.js","../node_modules/d3-quadtree/src/quad.js","../node_modules/d3-quadtree/src/find.js","../node_modules/d3-quadtree/src/remove.js","../node_modules/d3-quadtree/src/root.js","../node_modules/d3-quadtree/src/size.js","../node_modules/d3-quadtree/src/visit.js","../node_modules/d3-quadtree/src/visitAfter.js","../node_modules/d3-quadtree/src/x.js","../node_modules/d3-quadtree/src/y.js","../node_modules/d3-quadtree/src/quadtree.js","../node_modules/d3-force/src/constant.js","../node_modules/d3-force/src/jiggle.js","../node_modules/d3-force/src/collide.js","../node_modules/d3-force/src/lcg.js","../node_modules/d3-force/src/simulation.js","../node_modules/d3-force/src/manyBody.js","../node_modules/d3-force/src/x.js","../node_modules/d3-force/src/y.js"],"sourcesContent":["export default function(d) {\n const x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n","export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don’t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n","export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n","export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n","export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can’t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn’t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n","export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n","export default function() {\n return this._root;\n}\n","export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n","import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n","export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n","export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n","import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","export default function(random) {\n return (random() - 0.5) * 1e-6;\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n random,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n","// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use\nconst a = 1664525;\nconst c = 1013904223;\nconst m = 4294967296; // 2^32\n\nexport default function() {\n let s = 1;\n return () => (s = (a * s + c) % m) / m;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer} from \"d3-timer\";\nimport lcg from \"./lcg.js\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = new Map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\"),\n random = lcg();\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.forEach(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(0.5 + i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes, random);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n randomSource: function(_) {\n return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.delete(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n","import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\nimport {x, y} from \"./simulation.js\";\n\nexport default function() {\n var nodes,\n node,\n random,\n alpha,\n strength = constant(-30),\n strengths,\n distanceMin2 = 1,\n distanceMax2 = Infinity,\n theta2 = 0.81;\n\n function force(_) {\n var i, n = nodes.length, tree = quadtree(nodes, x, y).visitAfter(accumulate);\n for (alpha = _, i = 0; i < n; ++i) node = nodes[i], tree.visit(apply);\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n strengths = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], strengths[node.index] = +strength(node, i, nodes);\n }\n\n function accumulate(quad) {\n var strength = 0, q, c, weight = 0, x, y, i;\n\n // For internal nodes, accumulate forces from child quadrants.\n if (quad.length) {\n for (x = y = i = 0; i < 4; ++i) {\n if ((q = quad[i]) && (c = Math.abs(q.value))) {\n strength += q.value, weight += c, x += c * q.x, y += c * q.y;\n }\n }\n quad.x = x / weight;\n quad.y = y / weight;\n }\n\n // For leaf nodes, accumulate forces from coincident quadrants.\n else {\n q = quad;\n q.x = q.data.x;\n q.y = q.data.y;\n do strength += strengths[q.data.index];\n while (q = q.next);\n }\n\n quad.value = strength;\n }\n\n function apply(quad, x1, _, x2) {\n if (!quad.value) return true;\n\n var x = quad.x - node.x,\n y = quad.y - node.y,\n w = x2 - x1,\n l = x * x + y * y;\n\n // Apply the Barnes-Hut approximation if possible.\n // Limit forces for very close nodes; randomize direction if coincident.\n if (w * w / theta2 < l) {\n if (l < distanceMax2) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n node.vx += x * quad.value * alpha / l;\n node.vy += y * quad.value * alpha / l;\n }\n return true;\n }\n\n // Otherwise, process points directly.\n else if (quad.length || l >= distanceMax2) return;\n\n // Limit forces for very close nodes; randomize direction if coincident.\n if (quad.data !== node || quad.next) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n if (l < distanceMin2) l = Math.sqrt(distanceMin2 * l);\n }\n\n do if (quad.data !== node) {\n w = strengths[quad.data.index] * alpha / l;\n node.vx += x * w;\n node.vy += y * w;\n } while (quad = quad.next);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.distanceMin = function(_) {\n return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);\n };\n\n force.distanceMax = function(_) {\n return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);\n };\n\n force.theta = function(_) {\n return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n","import constant from \"./constant.js\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n"],"names":["tree_add","d","x","y","add","tree","parent","node","leaf","x0","y0","x1","y1","xm","ym","xp","yp","right","bottom","i","j","addAll","data","n","xz","yz","tree_cover","z","tree_data","tree_extent","_","Quad","tree_find","radius","x2","y2","x3","y3","quads","q","dx","dy","d2","tree_remove","retainer","previous","next","removeAll","tree_root","tree_size","size","tree_visit","callback","child","tree_visitAfter","defaultX","tree_x","defaultY","tree_y","quadtree","nodes","Quadtree","leaf_copy","copy","treeProto","tree_addAll","tree_removeAll","constant","jiggle","random","forceCollide","radii","strength","iterations","force","xi","yi","ri","ri2","k","prepare","apply","quad","rj","r","l","initialize","_nodes","_random","a","c","m","lcg","s","initialRadius","initialAngle","forceSimulation","simulation","alpha","alphaMin","alphaDecay","alphaTarget","velocityDecay","forces","stepper","timer","step","event","dispatch","tick","initializeNodes","angle","initializeForce","name","closest","forceManyBody","strengths","distanceMin2","distanceMax2","theta2","accumulate","weight","w","forceX","forceY"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}
@@ -1,6 +1,6 @@
1
- import { c as ee } from "./index-9tDEUqOZ.js";
1
+ import { c as ee } from "./index-GEsywGxz.js";
2
2
  import { T as ie, d as Xn, t as re, n as oe } from "./timer-B39XOBYL.js";
3
- import { i as lt, a as cn, b as ue, d as fn } from "./string-B8KlVSPX.js";
3
+ import { i as lt, a as cn, b as ue, d as fn } from "./string-C_xJ4Wg4.js";
4
4
  import { s as st, n as Cn, m as ae, a as le, b as se, c as Ft, d as _t } from "./select-DKy99ogv.js";
5
5
  import { p as at } from "./pointer-CWRWOsrb.js";
6
6
  class ce {
@@ -101,7 +101,7 @@ function ye(t) {
101
101
  function de(t) {
102
102
  return ((t = Math.exp(2 * t)) - 1) / (t + 1);
103
103
  }
104
- const we = function t(n, e, i) {
104
+ const we = (function t(n, e, i) {
105
105
  function r(a, o) {
106
106
  var s = a[0], g = a[1], c = a[2], u = o[0], f = o[1], l = o[2], h = u - s, y = f - g, w = h * h + y * y, _, d;
107
107
  if (w < me)
@@ -129,7 +129,7 @@ const we = function t(n, e, i) {
129
129
  var o = Math.max(1e-3, +a), s = o * o, g = s * s;
130
130
  return t(o, s, g);
131
131
  }, r;
132
- }(Math.SQRT2, 2, 4);
132
+ })(Math.SQRT2, 2, 4);
133
133
  function vn(t, n, e) {
134
134
  var i = new ie();
135
135
  return n = n == null ? 0 : +n, i.restart((r) => {
@@ -1861,4 +1861,4 @@ export {
1861
1861
  dr as t,
1862
1862
  zr as z
1863
1863
  };
1864
- //# sourceMappingURL=zoom-QipiAl5W.js.map
1864
+ //# sourceMappingURL=zoom-C9MFjAaV.js.map