@undp/data-viz 1.5.9 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (676) 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 +2185 -4042
  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 +118 -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 +518 -1016
  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 +1 -0
  32. package/dist/BiVariateChoroplethMap.js +456 -697
  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 +1 -0
  47. package/dist/ChoroplethMap.js +468 -722
  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 -6
  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 +3 -3
  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/Data/barChart.json +70 -0
  73. package/dist/Data/basic.csv +20 -0
  74. package/dist/DataCards.cjs +5 -5
  75. package/dist/DataCards.cjs.map +1 -1
  76. package/dist/DataCards.d.ts +1 -0
  77. package/dist/DataCards.js +488 -581
  78. package/dist/DataCards.js.map +1 -1
  79. package/dist/DataTable.cjs +1 -1
  80. package/dist/DataTable.cjs.map +1 -1
  81. package/dist/DataTable.d.ts +1 -0
  82. package/dist/DataTable.js +183 -326
  83. package/dist/DataTable.js.map +1 -1
  84. package/dist/DifferenceLineChart.cjs +1 -1
  85. package/dist/DifferenceLineChart.cjs.map +1 -1
  86. package/dist/DifferenceLineChart.d.ts +1 -0
  87. package/dist/DifferenceLineChart.js +731 -795
  88. package/dist/DifferenceLineChart.js.map +1 -1
  89. package/dist/DonutChart.cjs +1 -1
  90. package/dist/DonutChart.cjs.map +1 -1
  91. package/dist/DonutChart.d.ts +1 -4
  92. package/dist/DonutChart.js +260 -444
  93. package/dist/DonutChart.js.map +1 -1
  94. package/dist/DotDensityMap.cjs +1 -1
  95. package/dist/DotDensityMap.cjs.map +1 -1
  96. package/dist/DotDensityMap.d.ts +1 -0
  97. package/dist/DotDensityMap.js +387 -574
  98. package/dist/DotDensityMap.js.map +1 -1
  99. package/dist/{DropdownSelect-6kjXM6oW.js → DropdownSelect-BbdPQa2k.js} +1401 -1374
  100. package/dist/DropdownSelect-BbdPQa2k.js.map +1 -0
  101. package/dist/DropdownSelect-Doz3mCrM.cjs +29 -0
  102. package/dist/DropdownSelect-Doz3mCrM.cjs.map +1 -0
  103. package/dist/DualAxisLineChart.cjs +1 -1
  104. package/dist/DualAxisLineChart.cjs.map +1 -1
  105. package/dist/DualAxisLineChart.d.ts +1 -0
  106. package/dist/DualAxisLineChart.js +620 -714
  107. package/dist/DualAxisLineChart.js.map +1 -1
  108. package/dist/DumbbellChart.cjs +1 -1
  109. package/dist/DumbbellChart.cjs.map +1 -1
  110. package/dist/DumbbellChart.d.ts +1 -0
  111. package/dist/DumbbellChart.js +789 -1499
  112. package/dist/DumbbellChart.js.map +1 -1
  113. package/dist/EmptyState-BZo1BbAn.js +15 -0
  114. package/dist/{EmptyState-36lXXyui.js.map → EmptyState-BZo1BbAn.js.map} +1 -1
  115. package/dist/EmptyState-sAEZ_5rU.cjs +2 -0
  116. package/dist/{EmptyState-B8IpKGcL.cjs.map → EmptyState-sAEZ_5rU.cjs.map} +1 -1
  117. package/dist/ExcelDownloadButton.cjs +1 -1
  118. package/dist/ExcelDownloadButton.cjs.map +1 -1
  119. package/dist/ExcelDownloadButton.js +20 -24
  120. package/dist/ExcelDownloadButton.js.map +1 -1
  121. package/dist/FootNote.cjs +1 -1
  122. package/dist/FootNote.cjs.map +1 -1
  123. package/dist/FootNote.js +26 -17
  124. package/dist/FootNote.js.map +1 -1
  125. package/dist/GeoHubCompareMaps.cjs +1 -1
  126. package/dist/GeoHubCompareMaps.cjs.map +1 -1
  127. package/dist/GeoHubCompareMaps.d.ts +1 -0
  128. package/dist/GeoHubCompareMaps.js +267 -342
  129. package/dist/GeoHubCompareMaps.js.map +1 -1
  130. package/dist/GeoHubMap.cjs +1 -1
  131. package/dist/GeoHubMap.cjs.map +1 -1
  132. package/dist/GeoHubMap.d.ts +1 -0
  133. package/dist/GeoHubMap.js +214 -379
  134. package/dist/GeoHubMap.js.map +1 -1
  135. package/dist/GeoHubMapWithLayerSelection.cjs +1 -1
  136. package/dist/GeoHubMapWithLayerSelection.cjs.map +1 -1
  137. package/dist/GeoHubMapWithLayerSelection.d.ts +1 -0
  138. package/dist/GeoHubMapWithLayerSelection.js +192 -278
  139. package/dist/GeoHubMapWithLayerSelection.js.map +1 -1
  140. package/dist/GraphContainer-CRqzdKu2.js +78 -0
  141. package/dist/GraphContainer-CRqzdKu2.js.map +1 -0
  142. package/dist/GraphContainer-d8A46BK2.cjs +2 -0
  143. package/dist/GraphContainer-d8A46BK2.cjs.map +1 -0
  144. package/dist/GraphDescription.cjs +1 -1
  145. package/dist/GraphDescription.cjs.map +1 -1
  146. package/dist/GraphDescription.js +23 -17
  147. package/dist/GraphDescription.js.map +1 -1
  148. package/dist/{GraphEl-2IiUDxjR.js → GraphEl-BZne2JIx.js} +181 -202
  149. package/dist/GraphEl-BZne2JIx.js.map +1 -0
  150. package/dist/GraphEl-D5MUfp45.cjs +2 -0
  151. package/dist/GraphEl-D5MUfp45.cjs.map +1 -0
  152. package/dist/GraphFooter.cjs +1 -1
  153. package/dist/GraphFooter.cjs.map +1 -1
  154. package/dist/GraphFooter.js +28 -18
  155. package/dist/GraphFooter.js.map +1 -1
  156. package/dist/GraphHeader.cjs +1 -1
  157. package/dist/GraphHeader.cjs.map +1 -1
  158. package/dist/GraphHeader.d.ts +2 -1
  159. package/dist/GraphHeader.js +45 -59
  160. package/dist/GraphHeader.js.map +1 -1
  161. package/dist/GraphTitle.cjs +1 -1
  162. package/dist/GraphTitle.cjs.map +1 -1
  163. package/dist/GraphTitle.js +29 -24
  164. package/dist/GraphTitle.js.map +1 -1
  165. package/dist/GriddedGraphs.cjs +1 -1
  166. package/dist/GriddedGraphs.cjs.map +1 -1
  167. package/dist/GriddedGraphs.d.ts +1 -0
  168. package/dist/GriddedGraphs.js +216 -450
  169. package/dist/GriddedGraphs.js.map +1 -1
  170. package/dist/GriddedGraphsFromConfig.cjs +1 -1
  171. package/dist/GriddedGraphsFromConfig.cjs.map +1 -1
  172. package/dist/GriddedGraphsFromConfig.d.ts +1 -0
  173. package/dist/GriddedGraphsFromConfig.js +22 -36
  174. package/dist/GriddedGraphsFromConfig.js.map +1 -1
  175. package/dist/HeatMap.cjs +1 -1
  176. package/dist/HeatMap.cjs.map +1 -1
  177. package/dist/HeatMap.d.ts +1 -0
  178. package/dist/HeatMap.js +278 -446
  179. package/dist/HeatMap.js.map +1 -1
  180. package/dist/Histogram.cjs +1 -1
  181. package/dist/Histogram.cjs.map +1 -1
  182. package/dist/Histogram.d.ts +1 -0
  183. package/dist/Histogram.js +154 -264
  184. package/dist/Histogram.js.map +1 -1
  185. package/dist/ImageDownloadButton.cjs +1 -1
  186. package/dist/ImageDownloadButton.cjs.map +1 -1
  187. package/dist/ImageDownloadButton.d.ts +2 -1
  188. package/dist/ImageDownloadButton.js +21 -25
  189. package/dist/ImageDownloadButton.js.map +1 -1
  190. package/dist/LineChartWithConfidenceInterval.cjs +1 -1
  191. package/dist/LineChartWithConfidenceInterval.cjs.map +1 -1
  192. package/dist/LineChartWithConfidenceInterval.d.ts +1 -0
  193. package/dist/LineChartWithConfidenceInterval.js +677 -827
  194. package/dist/LineChartWithConfidenceInterval.js.map +1 -1
  195. package/dist/LinearColorLegend.cjs +1 -1
  196. package/dist/LinearColorLegend.cjs.map +1 -1
  197. package/dist/LinearColorLegend.js +49 -30
  198. package/dist/LinearColorLegend.js.map +1 -1
  199. package/dist/Modal-DGcuAHyK.js +1047 -0
  200. package/dist/Modal-DGcuAHyK.js.map +1 -0
  201. package/dist/Modal-JW_IExO3.cjs +46 -0
  202. package/dist/Modal-JW_IExO3.cjs.map +1 -0
  203. package/dist/MultiGraphDashboard.cjs +1 -1
  204. package/dist/MultiGraphDashboard.cjs.map +1 -1
  205. package/dist/MultiGraphDashboard.d.ts +1 -0
  206. package/dist/MultiGraphDashboard.js +126 -292
  207. package/dist/MultiGraphDashboard.js.map +1 -1
  208. package/dist/MultiGraphDashboardFromConfig.cjs +1 -1
  209. package/dist/MultiGraphDashboardFromConfig.cjs.map +1 -1
  210. package/dist/MultiGraphDashboardFromConfig.d.ts +1 -0
  211. package/dist/MultiGraphDashboardFromConfig.js +22 -31
  212. package/dist/MultiGraphDashboardFromConfig.js.map +1 -1
  213. package/dist/MultiGraphDashboardWideToLongFormat.cjs +1 -1
  214. package/dist/MultiGraphDashboardWideToLongFormat.cjs.map +1 -1
  215. package/dist/MultiGraphDashboardWideToLongFormat.d.ts +1 -0
  216. package/dist/MultiGraphDashboardWideToLongFormat.js +139 -223
  217. package/dist/MultiGraphDashboardWideToLongFormat.js.map +1 -1
  218. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs +1 -1
  219. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.cjs.map +1 -1
  220. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.d.ts +1 -0
  221. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js +25 -27
  222. package/dist/MultiGraphDashboardWideToLongFormatFromConfig.js.map +1 -1
  223. package/dist/MultiLineAltChart.cjs +1 -1
  224. package/dist/MultiLineAltChart.cjs.map +1 -1
  225. package/dist/MultiLineAltChart.d.ts +1 -0
  226. package/dist/MultiLineAltChart.js +582 -659
  227. package/dist/MultiLineAltChart.js.map +1 -1
  228. package/dist/MultiLineChart.cjs +1 -1
  229. package/dist/MultiLineChart.cjs.map +1 -1
  230. package/dist/MultiLineChart.d.ts +1 -0
  231. package/dist/MultiLineChart.js +617 -724
  232. package/dist/MultiLineChart.js.map +1 -1
  233. package/dist/ParetoChart.cjs +1 -1
  234. package/dist/ParetoChart.cjs.map +1 -1
  235. package/dist/ParetoChart.d.ts +1 -0
  236. package/dist/ParetoChart.js +531 -635
  237. package/dist/ParetoChart.js.map +1 -1
  238. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs +1 -1
  239. package/dist/PerformanceIntensiveMultiGraphDashboard.cjs.map +1 -1
  240. package/dist/PerformanceIntensiveMultiGraphDashboard.d.ts +1 -0
  241. package/dist/PerformanceIntensiveMultiGraphDashboard.js +148 -337
  242. package/dist/PerformanceIntensiveMultiGraphDashboard.js.map +1 -1
  243. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs +1 -1
  244. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.cjs.map +1 -1
  245. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.d.ts +1 -0
  246. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js +22 -31
  247. package/dist/PerformanceIntensiveMultiGraphDashboardFromConfig.js.map +1 -1
  248. package/dist/PerformanceIntensiveScrollStory.cjs +1 -1
  249. package/dist/PerformanceIntensiveScrollStory.cjs.map +1 -1
  250. package/dist/PerformanceIntensiveScrollStory.d.ts +1 -0
  251. package/dist/PerformanceIntensiveScrollStory.js +93 -114
  252. package/dist/PerformanceIntensiveScrollStory.js.map +1 -1
  253. package/dist/RadarChart.cjs +1 -1
  254. package/dist/RadarChart.cjs.map +1 -1
  255. package/dist/RadarChart.d.ts +1 -0
  256. package/dist/RadarChart.js +426 -575
  257. package/dist/RadarChart.js.map +1 -1
  258. package/dist/ReferenceLine-2XCwHXQ4.js +162 -0
  259. package/dist/ReferenceLine-2XCwHXQ4.js.map +1 -0
  260. package/dist/ReferenceLine-BH0qdf4R.cjs +2 -0
  261. package/dist/ReferenceLine-BH0qdf4R.cjs.map +1 -0
  262. package/dist/RegressionLine-BOTTNSrr.cjs +2 -0
  263. package/dist/RegressionLine-BOTTNSrr.cjs.map +1 -0
  264. package/dist/RegressionLine-DAcY2DjT.js +87 -0
  265. package/dist/RegressionLine-DAcY2DjT.js.map +1 -0
  266. package/dist/SVGDownloadButton.cjs +1 -1
  267. package/dist/SVGDownloadButton.cjs.map +1 -1
  268. package/dist/SVGDownloadButton.js +21 -25
  269. package/dist/SVGDownloadButton.js.map +1 -1
  270. package/dist/SankeyChart.cjs +1 -1
  271. package/dist/SankeyChart.cjs.map +1 -1
  272. package/dist/SankeyChart.d.ts +1 -0
  273. package/dist/SankeyChart.js +665 -854
  274. package/dist/SankeyChart.js.map +1 -1
  275. package/dist/ScatterPlot.cjs +1 -1
  276. package/dist/ScatterPlot.cjs.map +1 -1
  277. package/dist/ScatterPlot.d.ts +1 -0
  278. package/dist/ScatterPlot.js +675 -815
  279. package/dist/ScatterPlot.js.map +1 -1
  280. package/dist/ScrollStory.cjs +1 -1
  281. package/dist/ScrollStory.cjs.map +1 -1
  282. package/dist/ScrollStory.d.ts +1 -0
  283. package/dist/ScrollStory.js +85 -97
  284. package/dist/ScrollStory.js.map +1 -1
  285. package/dist/SimpleLineChart.cjs +1 -1
  286. package/dist/SimpleLineChart.cjs.map +1 -1
  287. package/dist/SimpleLineChart.d.ts +1 -0
  288. package/dist/SimpleLineChart.js +505 -613
  289. package/dist/SimpleLineChart.js.map +1 -1
  290. package/dist/SingleGraphDashboard.cjs +1 -1
  291. package/dist/SingleGraphDashboard.cjs.map +1 -1
  292. package/dist/SingleGraphDashboard.d.ts +2 -1
  293. package/dist/SingleGraphDashboard.js +284 -508
  294. package/dist/SingleGraphDashboard.js.map +1 -1
  295. package/dist/SingleGraphDashboardFromConfig.cjs +1 -1
  296. package/dist/SingleGraphDashboardFromConfig.cjs.map +1 -1
  297. package/dist/SingleGraphDashboardFromConfig.d.ts +2 -1
  298. package/dist/SingleGraphDashboardFromConfig.js +25 -31
  299. package/dist/SingleGraphDashboardFromConfig.js.map +1 -1
  300. package/dist/SingleGraphDashboardGeoHubMaps.cjs +1 -1
  301. package/dist/SingleGraphDashboardGeoHubMaps.cjs.map +1 -1
  302. package/dist/SingleGraphDashboardGeoHubMaps.d.ts +1 -0
  303. package/dist/SingleGraphDashboardGeoHubMaps.js +150 -168
  304. package/dist/SingleGraphDashboardGeoHubMaps.js.map +1 -1
  305. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs +1 -1
  306. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.cjs.map +1 -1
  307. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.d.ts +1 -0
  308. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js +25 -21
  309. package/dist/SingleGraphDashboardGeoHubMapsFromConfig.js.map +1 -1
  310. package/dist/SingleGraphDashboardThreeDGraphs.cjs +1 -1
  311. package/dist/SingleGraphDashboardThreeDGraphs.cjs.map +1 -1
  312. package/dist/SingleGraphDashboardThreeDGraphs.d.ts +1 -0
  313. package/dist/SingleGraphDashboardThreeDGraphs.js +363 -593
  314. package/dist/SingleGraphDashboardThreeDGraphs.js.map +1 -1
  315. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs +1 -1
  316. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.cjs.map +1 -1
  317. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.d.ts +1 -0
  318. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js +25 -31
  319. package/dist/SingleGraphDashboardThreeDGraphsFromConfig.js.map +1 -1
  320. package/dist/SlopeChart.cjs +1 -1
  321. package/dist/SlopeChart.cjs.map +1 -1
  322. package/dist/SlopeChart.d.ts +1 -0
  323. package/dist/SlopeChart.js +539 -573
  324. package/dist/SlopeChart.js.map +1 -1
  325. package/dist/Source-DYMJRrsq.cjs +2 -0
  326. package/dist/Source-DYMJRrsq.cjs.map +1 -0
  327. package/dist/Source-DwTHB8fn.js +78 -0
  328. package/dist/Source-DwTHB8fn.js.map +1 -0
  329. package/dist/Source.cjs +1 -1
  330. package/dist/Source.cjs.map +1 -1
  331. package/dist/Source.js +4 -38
  332. package/dist/Source.js.map +1 -1
  333. package/dist/SparkLine.cjs +1 -1
  334. package/dist/SparkLine.cjs.map +1 -1
  335. package/dist/SparkLine.d.ts +1 -0
  336. package/dist/SparkLine.js +286 -314
  337. package/dist/SparkLine.js.map +1 -1
  338. package/dist/Spinner-D7rnnwnA.js +47 -0
  339. package/dist/Spinner-D7rnnwnA.js.map +1 -0
  340. package/dist/Spinner-DRMBUsX7.cjs +2 -0
  341. package/dist/Spinner-DRMBUsX7.cjs.map +1 -0
  342. package/dist/StatCardFromData.cjs +1 -1
  343. package/dist/StatCardFromData.cjs.map +1 -1
  344. package/dist/StatCardFromData.d.ts +1 -0
  345. package/dist/StatCardFromData.js +161 -243
  346. package/dist/StatCardFromData.js.map +1 -1
  347. package/dist/StripChart.cjs +1 -1
  348. package/dist/StripChart.cjs.map +1 -1
  349. package/dist/StripChart.d.ts +1 -0
  350. package/dist/StripChart.js +665 -983
  351. package/dist/StripChart.js.map +1 -1
  352. package/dist/ThreeDGlobe.cjs +1 -1
  353. package/dist/ThreeDGlobe.cjs.map +1 -1
  354. package/dist/ThreeDGlobe.d.ts +1 -0
  355. package/dist/ThreeDGlobe.js +356 -519
  356. package/dist/ThreeDGlobe.js.map +1 -1
  357. package/dist/ThresholdColorLegendWithMouseOver.cjs +1 -1
  358. package/dist/ThresholdColorLegendWithMouseOver.cjs.map +1 -1
  359. package/dist/ThresholdColorLegendWithMouseOver.js +96 -126
  360. package/dist/ThresholdColorLegendWithMouseOver.js.map +1 -1
  361. package/dist/Tooltip-4dJo4_AF.cjs +2 -0
  362. package/dist/Tooltip-4dJo4_AF.cjs.map +1 -0
  363. package/dist/Tooltip-CwWUegPB.js +43 -0
  364. package/dist/Tooltip-CwWUegPB.js.map +1 -0
  365. package/dist/TreeMapGraph.cjs +1 -1
  366. package/dist/TreeMapGraph.cjs.map +1 -1
  367. package/dist/TreeMapGraph.d.ts +1 -0
  368. package/dist/TreeMapGraph.js +479 -617
  369. package/dist/TreeMapGraph.js.map +1 -1
  370. package/dist/Types.d.ts +1 -0
  371. package/dist/Typography-DX7PlgQU.cjs +2 -0
  372. package/dist/Typography-DX7PlgQU.cjs.map +1 -0
  373. package/dist/Typography-PxtFcnJb.js +142 -0
  374. package/dist/Typography-PxtFcnJb.js.map +1 -0
  375. package/dist/UnitChart.cjs +1 -1
  376. package/dist/UnitChart.cjs.map +1 -1
  377. package/dist/UnitChart.d.ts +1 -0
  378. package/dist/UnitChart.js +160 -212
  379. package/dist/UnitChart.js.map +1 -1
  380. package/dist/XAxesLabels-D5X8jngD.cjs +2 -0
  381. package/dist/XAxesLabels-D5X8jngD.cjs.map +1 -0
  382. package/dist/XAxesLabels-DNO0KmjL.js +73 -0
  383. package/dist/XAxesLabels-DNO0KmjL.js.map +1 -0
  384. package/dist/XTicksAndGridLines-B6CELS7q.cjs +2 -0
  385. package/dist/XTicksAndGridLines-B6CELS7q.cjs.map +1 -0
  386. package/dist/XTicksAndGridLines-CObVFSm4.js +38 -0
  387. package/dist/XTicksAndGridLines-CObVFSm4.js.map +1 -0
  388. package/dist/YAxesLabels-DcS85Beo.cjs +2 -0
  389. package/dist/YAxesLabels-DcS85Beo.cjs.map +1 -0
  390. package/dist/YAxesLabels-Dnnng49-.js +70 -0
  391. package/dist/YAxesLabels-Dnnng49-.js.map +1 -0
  392. package/dist/YTicksAndGridLines-4pxTRlRK.cjs +2 -0
  393. package/dist/YTicksAndGridLines-4pxTRlRK.cjs.map +1 -0
  394. package/dist/YTicksAndGridLines-Blepl7XF.js +38 -0
  395. package/dist/YTicksAndGridLines-Blepl7XF.js.map +1 -0
  396. package/dist/{band-BEjh2CHI.js → band-CyHaVft5.js} +3 -3
  397. package/dist/{band-BEjh2CHI.js.map → band-CyHaVft5.js.map} +1 -1
  398. package/dist/{band-CAApY4Pd.cjs → band-VYfcZeJ2.cjs} +2 -2
  399. package/dist/{band-CAApY4Pd.cjs.map → band-VYfcZeJ2.cjs.map} +1 -1
  400. package/dist/checkIfMultiple-Y9iKaV_u.js +950 -0
  401. package/dist/checkIfMultiple-Y9iKaV_u.js.map +1 -0
  402. package/dist/checkIfMultiple-wg6hJLXy.cjs +12 -0
  403. package/dist/checkIfMultiple-wg6hJLXy.cjs.map +1 -0
  404. package/dist/customArea-BUhPiPT6.js +163 -0
  405. package/dist/{customArea-x4L4xwLl.js.map → customArea-BUhPiPT6.js.map} +1 -1
  406. package/dist/customArea-CMF5g-C3.cjs +2 -0
  407. package/dist/{customArea-1G1S78s_.cjs.map → customArea-CMF5g-C3.cjs.map} +1 -1
  408. package/dist/delaunay-C1uAf38t.js.map +1 -1
  409. package/dist/delaunay-rcy0HhZi.cjs.map +1 -1
  410. package/dist/{ensureCompleteData-DlmibgaI.js → ensureCompleteData-DNKEGRiP.js} +12 -32
  411. package/dist/{ensureCompleteData-DlmibgaI.js.map → ensureCompleteData-DNKEGRiP.js.map} +1 -1
  412. package/dist/{ensureCompleteData-DkQYPeDa.cjs → ensureCompleteData-I6nYmT8E.cjs} +2 -2
  413. package/dist/{ensureCompleteData-DkQYPeDa.cjs.map → ensureCompleteData-I6nYmT8E.cjs.map} +1 -1
  414. package/dist/{excelDownload-BOA-lskf.js → excelDownload-BEC1AyQW.js} +12 -2
  415. package/dist/{excelDownload-BOA-lskf.js.map → excelDownload-BEC1AyQW.js.map} +1 -1
  416. package/dist/excelDownload-BQpsCa62.cjs.map +1 -1
  417. package/dist/{fetchAndParseData-sapWbnYk.js → fetchAndParseData-BpqkBPQL.js} +15 -28
  418. package/dist/{fetchAndParseData-sapWbnYk.js.map → fetchAndParseData-BpqkBPQL.js.map} +1 -1
  419. package/dist/fetchAndParseData-l5HGMAEs.cjs +16 -0
  420. package/dist/{fetchAndParseData-Ba-_CgxS.cjs.map → fetchAndParseData-l5HGMAEs.cjs.map} +1 -1
  421. package/dist/fetchAndParseData.cjs +1 -1
  422. package/dist/fetchAndParseData.js +1 -1
  423. package/dist/{filterData-9nEcQ-Jp.js → filterData-DsAiFzKY.js} +3 -5
  424. package/dist/{filterData-9nEcQ-Jp.js.map → filterData-DsAiFzKY.js.map} +1 -1
  425. package/dist/{filterData-BoYadk0l.cjs → filterData-T5DQBE9b.cjs} +2 -2
  426. package/dist/{filterData-BoYadk0l.cjs.map → filterData-T5DQBE9b.cjs.map} +1 -1
  427. package/dist/generateRandomString-B5zBiJzS.cjs.map +1 -1
  428. package/dist/generateRandomString-za3IQGfQ.js.map +1 -1
  429. package/dist/{getCentroidCoordinates-Dfk6IqEG.js → getCentroidCoordinates-D7r34N4w.js} +2 -2
  430. package/dist/{getCentroidCoordinates-Dfk6IqEG.js.map → getCentroidCoordinates-D7r34N4w.js.map} +1 -1
  431. package/dist/{getCentroidCoordinates-DxTBqzp2.cjs → getCentroidCoordinates-Dng1HVjO.cjs} +2 -2
  432. package/dist/{getCentroidCoordinates-DxTBqzp2.cjs.map → getCentroidCoordinates-Dng1HVjO.cjs.map} +1 -1
  433. package/dist/getGraphList-BpEWn1Tk.js +227 -0
  434. package/dist/{getGraphList-DuColTJM.js.map → getGraphList-BpEWn1Tk.js.map} +1 -1
  435. package/dist/getGraphList-gf02xgT2.cjs.map +1 -1
  436. package/dist/getJenks-BbngDoBQ.js.map +1 -1
  437. package/dist/getJenks-GYmdwBqm.cjs.map +1 -1
  438. package/dist/getNoOfTicks-C_1CFXv_.cjs +2 -0
  439. package/dist/getNoOfTicks-C_1CFXv_.cjs.map +1 -0
  440. package/dist/getNoOfTicks-CpmRjcRF.js +7 -0
  441. package/dist/getNoOfTicks-CpmRjcRF.js.map +1 -0
  442. package/dist/getSchema.cjs.map +1 -1
  443. package/dist/getSchema.js +445 -231
  444. package/dist/getSchema.js.map +1 -1
  445. package/dist/getSliderMarks-BmADcPQt.cjs +6 -0
  446. package/dist/getSliderMarks-BmADcPQt.cjs.map +1 -0
  447. package/dist/getSliderMarks-HIDJ0_Cd.js +1033 -0
  448. package/dist/getSliderMarks-HIDJ0_Cd.js.map +1 -0
  449. package/dist/{getTextColorBasedOnBgColor-B6Nk2WBf.js → getTextColorBasedOnBgColor-CDY808zi.js} +11 -3
  450. package/dist/{getTextColorBasedOnBgColor-B6Nk2WBf.js.map → getTextColorBasedOnBgColor-CDY808zi.js.map} +1 -1
  451. package/dist/getTextColorBasedOnBgColor-nqY-bsM_.cjs.map +1 -1
  452. package/dist/{getUniqValue-DiCh_MOD.js → getUniqValue-BKHCm3zE.js} +2 -4
  453. package/dist/{getUniqValue-DiCh_MOD.js.map → getUniqValue-BKHCm3zE.js.map} +1 -1
  454. package/dist/getUniqValue-RViz8tTw.cjs.map +1 -1
  455. package/dist/{imageDownload-Dcci2LEy.js → imageDownload-BX6SILNZ.js} +4 -2
  456. package/dist/{imageDownload-Dcci2LEy.js.map → imageDownload-BX6SILNZ.js.map} +1 -1
  457. package/dist/imageDownload-CgDcm1Sj.cjs.map +1 -1
  458. package/dist/{index-DvVprvy6.js → index-BZQYSqar.js} +7 -7
  459. package/dist/{index-DvVprvy6.js.map → index-BZQYSqar.js.map} +1 -1
  460. package/dist/index-B_sAFsEV.cjs +2 -0
  461. package/dist/{index-BHe3wsWF.cjs.map → index-B_sAFsEV.cjs.map} +1 -1
  462. package/dist/index-BqfRwk1n.js +146 -0
  463. package/dist/index-BqfRwk1n.js.map +1 -0
  464. package/dist/{index-V_JXij1_.js → index-BuwmuDFJ.js} +3 -3
  465. package/dist/{index-V_JXij1_.js.map → index-BuwmuDFJ.js.map} +1 -1
  466. package/dist/index-C6LorfZ-.cjs +2 -0
  467. package/dist/index-C6LorfZ-.cjs.map +1 -0
  468. package/dist/index-CHPV5EwG-CTPQjnHt.cjs +84 -0
  469. package/dist/index-CHPV5EwG-CTPQjnHt.cjs.map +1 -0
  470. package/dist/{index-CHPV5EwG-DBWUSD9b.js → index-CHPV5EwG-Curnpaqc.js} +724 -625
  471. package/dist/index-CHPV5EwG-Curnpaqc.js.map +1 -0
  472. package/dist/index-Ceppbd8C.js +342 -0
  473. package/dist/index-Ceppbd8C.js.map +1 -0
  474. package/dist/index-Cno4Q0YE.cjs +2 -0
  475. package/dist/{index-CQ3e6Ewi.cjs.map → index-Cno4Q0YE.cjs.map} +1 -1
  476. package/dist/{index-Cw8sCyo_-BuI_jX5Z.js → index-Cw8sCyo_-B2hEKjzG.js} +16 -16
  477. package/dist/{index-Cw8sCyo_-BuI_jX5Z.js.map → index-Cw8sCyo_-B2hEKjzG.js.map} +1 -1
  478. package/dist/{index-Cw8sCyo_-gxT8ADyn.cjs → index-Cw8sCyo_-BrHiWiRF.cjs} +2 -2
  479. package/dist/{index-Cw8sCyo_-gxT8ADyn.cjs.map → index-Cw8sCyo_-BrHiWiRF.cjs.map} +1 -1
  480. package/dist/index-CyZ1lmi_.cjs +2 -0
  481. package/dist/{index-D72cOtq7.cjs.map → index-CyZ1lmi_.cjs.map} +1 -1
  482. package/dist/index-D491FEn1.js +184 -0
  483. package/dist/index-D491FEn1.js.map +1 -0
  484. package/dist/index-DG2bgAva.cjs +10 -0
  485. package/dist/index-DG2bgAva.cjs.map +1 -0
  486. package/dist/index-DRXx7m-C.cjs +2 -0
  487. package/dist/index-DRXx7m-C.cjs.map +1 -0
  488. package/dist/index-DxXnJ8Ti.cjs +2 -0
  489. package/dist/index-DxXnJ8Ti.cjs.map +1 -0
  490. package/dist/{index-Dzc_aaI9-BKklH89r.js → index-Dzc_aaI9-Bb7gobH_.js} +2 -2
  491. package/dist/{index-Dzc_aaI9-BKklH89r.js.map → index-Dzc_aaI9-Bb7gobH_.js.map} +1 -1
  492. package/dist/{index-Dzc_aaI9-RIk2GRHD.cjs → index-Dzc_aaI9-BmkfPMyc.cjs} +2 -2
  493. package/dist/{index-Dzc_aaI9-RIk2GRHD.cjs.map → index-Dzc_aaI9-BmkfPMyc.cjs.map} +1 -1
  494. package/dist/{index-9tDEUqOZ.js → index-GEsywGxz.js} +9 -9
  495. package/dist/index-GEsywGxz.js.map +1 -0
  496. package/dist/index-SKgJALZg.js +99 -0
  497. package/dist/{index-Bw_eHBVN.js.map → index-SKgJALZg.js.map} +1 -1
  498. package/dist/index.cjs +1 -1
  499. package/dist/index.d.ts +10 -8
  500. package/dist/index.js +13 -13
  501. package/dist/{init-BhZylTFx.js → init-BJFW6EwE.js} +3 -3
  502. package/dist/{init-BhZylTFx.js.map → init-BJFW6EwE.js.map} +1 -1
  503. package/dist/{linear-BVckp9RD.cjs → linear-BwPAspcq.cjs} +2 -2
  504. package/dist/{linear-BVckp9RD.cjs.map → linear-BwPAspcq.cjs.map} +1 -1
  505. package/dist/{linear-DUdu7l2G.js → linear-BwnDd9KF.js} +3 -3
  506. package/dist/{linear-DUdu7l2G.js.map → linear-BwnDd9KF.js.map} +1 -1
  507. package/dist/numberFormattingFunction-02t-wJta.cjs.map +1 -1
  508. package/dist/numberFormattingFunction-14YCbkN2.js.map +1 -1
  509. package/dist/{ordinal-BOeNbyae.cjs → ordinal-CrsysVE-.cjs} +2 -2
  510. package/dist/ordinal-CrsysVE-.cjs.map +1 -0
  511. package/dist/{ordinal-w9Lu4Stb.js → ordinal-P77xw8aL.js} +24 -24
  512. package/dist/ordinal-P77xw8aL.js.map +1 -0
  513. package/dist/{pow-e8zx3AQJ.js → pow-DE4c7dbW.js} +3 -3
  514. package/dist/{pow-e8zx3AQJ.js.map → pow-DE4c7dbW.js.map} +1 -1
  515. package/dist/{pow-B5-jkdHU.cjs → pow-DgrUorRi.cjs} +2 -2
  516. package/dist/{pow-B5-jkdHU.cjs.map → pow-DgrUorRi.cjs.map} +1 -1
  517. package/dist/{proxy-BYIC9BuT.js → proxy-BxkFHwUw.js} +144 -134
  518. package/dist/proxy-BxkFHwUw.js.map +1 -0
  519. package/dist/proxy-BxvUI_9l.cjs +2 -0
  520. package/dist/proxy-BxvUI_9l.cjs.map +1 -0
  521. package/dist/{removeOutliers-DR48e-18.js → removeOutliers-BqW0sPqj.js} +2 -5
  522. package/dist/{removeOutliers-DR48e-18.js.map → removeOutliers-BqW0sPqj.js.map} +1 -1
  523. package/dist/removeOutliers-WELHHqiI.cjs.map +1 -1
  524. package/dist/{sort-DfK1b0F5.js → sort-BIvMlUH1.js} +5 -5
  525. package/dist/{sort-DfK1b0F5.js.map → sort-BIvMlUH1.js.map} +1 -1
  526. package/dist/{string-CRoCZCYa.cjs → string-C-kRh1bQ.cjs} +2 -2
  527. package/dist/{string-CRoCZCYa.cjs.map → string-C-kRh1bQ.cjs.map} +1 -1
  528. package/dist/{string-B8KlVSPX.js → string-C_xJ4Wg4.js} +3 -3
  529. package/dist/{string-B8KlVSPX.js.map → string-C_xJ4Wg4.js.map} +1 -1
  530. package/dist/string2HTML-CPGr_I5E.cjs +3 -0
  531. package/dist/{string2HTML-z7CwHXcx.cjs.map → string2HTML-CPGr_I5E.cjs.map} +1 -1
  532. package/dist/{string2HTML-oFCROsus.js → string2HTML-DhG75NqA.js} +15 -9
  533. package/dist/{string2HTML-oFCROsus.js.map → string2HTML-DhG75NqA.js.map} +1 -1
  534. package/dist/style.css +1 -1
  535. package/dist/{svgDownload-C2-E3yf2.js → svgDownload-BAoarWNt.js} +4 -2
  536. package/dist/{svgDownload-C2-E3yf2.js.map → svgDownload-BAoarWNt.js.map} +1 -1
  537. package/dist/svgDownload-D9zEGjTF.cjs.map +1 -1
  538. package/dist/{threshold-DFfqcDMa.js → threshold-Bgr20hik.js} +2 -2
  539. package/dist/{threshold-DFfqcDMa.js.map → threshold-Bgr20hik.js.map} +1 -1
  540. package/dist/{time-Byw_jYQ7.cjs → time-CZd5YLSP.cjs} +2 -2
  541. package/dist/{time-Byw_jYQ7.cjs.map → time-CZd5YLSP.cjs.map} +1 -1
  542. package/dist/{time-BzJP5SPC.js → time-DCCfQk3V.js} +3 -3
  543. package/dist/{time-BzJP5SPC.js.map → time-DCCfQk3V.js.map} +1 -1
  544. package/dist/transformData.cjs +1 -1
  545. package/dist/transformData.js +3 -3
  546. package/dist/transformDataForAggregation-CE3bAlHU.js +585 -0
  547. package/dist/{transformDataForAggregation-sBpdlX8n.js.map → transformDataForAggregation-CE3bAlHU.js.map} +1 -1
  548. package/dist/transformDataForAggregation-KXGm6flX.cjs.map +1 -1
  549. package/dist/transformDataForGraphFromFile-BExxcITV.js +14 -0
  550. package/dist/{transformDataForGraphFromFile-ComYvzuz.js.map → transformDataForGraphFromFile-BExxcITV.js.map} +1 -1
  551. package/dist/{transformDataForGraphFromFile-DVZodTHd.cjs → transformDataForGraphFromFile-DaJHQCsL.cjs} +2 -2
  552. package/dist/{transformDataForGraphFromFile-DVZodTHd.cjs.map → transformDataForGraphFromFile-DaJHQCsL.cjs.map} +1 -1
  553. package/dist/transformDataForSelect-D8AuvYdf.js.map +1 -1
  554. package/dist/transformDataForSelect-YmStusCI.cjs.map +1 -1
  555. package/dist/uniqBy-BHy4I8PK.js.map +1 -1
  556. package/dist/uniqBy-O05lp2S5.cjs.map +1 -1
  557. package/dist/{use-in-view-DR-UTB96.js → use-in-view-Cxa7y1TH.js} +2 -2
  558. package/dist/use-in-view-Cxa7y1TH.js.map +1 -0
  559. package/dist/use-in-view-QcfiW0w3.cjs +2 -0
  560. package/dist/use-in-view-QcfiW0w3.cjs.map +1 -0
  561. package/dist/utils.cjs +1 -1
  562. package/dist/utils.js +8 -8
  563. package/dist/validateSchema.cjs.map +1 -1
  564. package/dist/validateSchema.js +33 -29
  565. package/dist/validateSchema.js.map +1 -1
  566. package/dist/{x-BBpi7a_7-Dz2vKSfu.cjs → x-BBpi7a_7-mTo40uId.cjs} +2 -2
  567. package/dist/{x-BBpi7a_7-Dz2vKSfu.cjs.map → x-BBpi7a_7-mTo40uId.cjs.map} +1 -1
  568. package/dist/{y-D0sAaVii.js → y-BqfogMAB.js} +3 -3
  569. package/dist/{y-D0sAaVii.js.map → y-BqfogMAB.js.map} +1 -1
  570. package/dist/{zoom-QipiAl5W.js → zoom-C9MFjAaV.js} +5 -5
  571. package/dist/{zoom-QipiAl5W.js.map → zoom-C9MFjAaV.js.map} +1 -1
  572. package/dist/zoom-DPw8bba-.cjs +2 -0
  573. package/dist/{zoom-BiMNsz72.cjs.map → zoom-DPw8bba-.cjs.map} +1 -1
  574. package/package.json +7 -6
  575. package/dist/Axis-4gUOL8B7.js +0 -43
  576. package/dist/Axis-4gUOL8B7.js.map +0 -1
  577. package/dist/Axis-CkNn1wit.cjs +0 -2
  578. package/dist/Axis-CkNn1wit.cjs.map +0 -1
  579. package/dist/AxisTitle-Wkz-xeQL.cjs +0 -2
  580. package/dist/AxisTitle-Wkz-xeQL.cjs.map +0 -1
  581. package/dist/AxisTitle-v6_xcXZ-.js +0 -20
  582. package/dist/AxisTitle-v6_xcXZ-.js.map +0 -1
  583. package/dist/DropdownSelect-6kjXM6oW.js.map +0 -1
  584. package/dist/DropdownSelect-vt8yiB-g.cjs +0 -29
  585. package/dist/DropdownSelect-vt8yiB-g.cjs.map +0 -1
  586. package/dist/EmptyState-36lXXyui.js +0 -22
  587. package/dist/EmptyState-B8IpKGcL.cjs +0 -2
  588. package/dist/GraphEl-2IiUDxjR.js.map +0 -1
  589. package/dist/GraphEl-qrlfGPe3.cjs +0 -2
  590. package/dist/GraphEl-qrlfGPe3.cjs.map +0 -1
  591. package/dist/Modal-Cg8daIlV.js +0 -1030
  592. package/dist/Modal-Cg8daIlV.js.map +0 -1
  593. package/dist/Modal-CuuJdWkD.cjs +0 -46
  594. package/dist/Modal-CuuJdWkD.cjs.map +0 -1
  595. package/dist/ReferenceLine-CPMaAX0r.js +0 -128
  596. package/dist/ReferenceLine-CPMaAX0r.js.map +0 -1
  597. package/dist/ReferenceLine-D04j-zeV.cjs +0 -2
  598. package/dist/ReferenceLine-D04j-zeV.cjs.map +0 -1
  599. package/dist/RegressionLine-CW7iViH2.js +0 -49
  600. package/dist/RegressionLine-CW7iViH2.js.map +0 -1
  601. package/dist/RegressionLine-D-49RaHa.cjs +0 -2
  602. package/dist/RegressionLine-D-49RaHa.cjs.map +0 -1
  603. package/dist/Spinner-Bpz70q_g.js +0 -30
  604. package/dist/Spinner-Bpz70q_g.js.map +0 -1
  605. package/dist/Spinner-C6wLp85s.cjs +0 -2
  606. package/dist/Spinner-C6wLp85s.cjs.map +0 -1
  607. package/dist/Tooltip-6LIdPQGC.js +0 -46
  608. package/dist/Tooltip-6LIdPQGC.js.map +0 -1
  609. package/dist/Tooltip-Cpv0QohJ.cjs +0 -2
  610. package/dist/Tooltip-Cpv0QohJ.cjs.map +0 -1
  611. package/dist/Typography-BDULiwlF.cjs +0 -2
  612. package/dist/Typography-BDULiwlF.cjs.map +0 -1
  613. package/dist/Typography-LmZ9LEpe.js +0 -140
  614. package/dist/Typography-LmZ9LEpe.js.map +0 -1
  615. package/dist/XAxesLabels-CLZnBgSr.cjs +0 -2
  616. package/dist/XAxesLabels-CLZnBgSr.cjs.map +0 -1
  617. package/dist/XAxesLabels-SOSmso5J.js +0 -57
  618. package/dist/XAxesLabels-SOSmso5J.js.map +0 -1
  619. package/dist/XTicksAndGridLines-DuydSnZ_.js +0 -56
  620. package/dist/XTicksAndGridLines-DuydSnZ_.js.map +0 -1
  621. package/dist/XTicksAndGridLines-RKy7BVCO.cjs +0 -2
  622. package/dist/XTicksAndGridLines-RKy7BVCO.cjs.map +0 -1
  623. package/dist/YAxesLabels-DlDyLvhi.js +0 -52
  624. package/dist/YAxesLabels-DlDyLvhi.js.map +0 -1
  625. package/dist/YAxesLabels-Dqd259-t.cjs +0 -2
  626. package/dist/YAxesLabels-Dqd259-t.cjs.map +0 -1
  627. package/dist/YTicksAndGridLines-7t4MKtGw.js +0 -56
  628. package/dist/YTicksAndGridLines-7t4MKtGw.js.map +0 -1
  629. package/dist/YTicksAndGridLines-qGpRo_t1.cjs +0 -2
  630. package/dist/YTicksAndGridLines-qGpRo_t1.cjs.map +0 -1
  631. package/dist/checkIfMultiple-Dko_cBvE.cjs +0 -12
  632. package/dist/checkIfMultiple-Dko_cBvE.cjs.map +0 -1
  633. package/dist/checkIfMultiple-u2SmbiCf.js +0 -912
  634. package/dist/checkIfMultiple-u2SmbiCf.js.map +0 -1
  635. package/dist/customArea-1G1S78s_.cjs +0 -2
  636. package/dist/customArea-x4L4xwLl.js +0 -175
  637. package/dist/fetchAndParseData-Ba-_CgxS.cjs +0 -16
  638. package/dist/getGraphList-DuColTJM.js +0 -265
  639. package/dist/getSliderMarks-CUxPy36E.cjs +0 -6
  640. package/dist/getSliderMarks-CUxPy36E.cjs.map +0 -1
  641. package/dist/getSliderMarks-_pYOWEtO.js +0 -1023
  642. package/dist/getSliderMarks-_pYOWEtO.js.map +0 -1
  643. package/dist/index-9tDEUqOZ.js.map +0 -1
  644. package/dist/index-BHe3wsWF.cjs +0 -2
  645. package/dist/index-Bw_eHBVN.js +0 -77
  646. package/dist/index-C0bpbS4F.cjs +0 -2
  647. package/dist/index-C0bpbS4F.cjs.map +0 -1
  648. package/dist/index-CE9pmfxt.js +0 -430
  649. package/dist/index-CE9pmfxt.js.map +0 -1
  650. package/dist/index-CEJwW3lL.cjs +0 -2
  651. package/dist/index-CEJwW3lL.cjs.map +0 -1
  652. package/dist/index-CHPV5EwG-DBWUSD9b.js.map +0 -1
  653. package/dist/index-CHPV5EwG-DjM48pIC.cjs +0 -44
  654. package/dist/index-CHPV5EwG-DjM48pIC.cjs.map +0 -1
  655. package/dist/index-CQ3e6Ewi.cjs +0 -2
  656. package/dist/index-Cm8NIdOO.cjs +0 -10
  657. package/dist/index-Cm8NIdOO.cjs.map +0 -1
  658. package/dist/index-CoZbeNM9.cjs +0 -2
  659. package/dist/index-CoZbeNM9.cjs.map +0 -1
  660. package/dist/index-Cwgh7i7X.js +0 -122
  661. package/dist/index-Cwgh7i7X.js.map +0 -1
  662. package/dist/index-D72cOtq7.cjs +0 -2
  663. package/dist/index-zZjQEHlm.js +0 -342
  664. package/dist/index-zZjQEHlm.js.map +0 -1
  665. package/dist/ordinal-BOeNbyae.cjs.map +0 -1
  666. package/dist/ordinal-w9Lu4Stb.js.map +0 -1
  667. package/dist/proxy-BYIC9BuT.js.map +0 -1
  668. package/dist/proxy-CKadx4lC.cjs +0 -2
  669. package/dist/proxy-CKadx4lC.cjs.map +0 -1
  670. package/dist/string2HTML-z7CwHXcx.cjs +0 -3
  671. package/dist/transformDataForAggregation-sBpdlX8n.js +0 -755
  672. package/dist/transformDataForGraphFromFile-ComYvzuz.js +0 -24
  673. package/dist/use-in-view-CEwlc_dd.cjs +0 -2
  674. package/dist/use-in-view-CEwlc_dd.cjs.map +0 -1
  675. package/dist/use-in-view-DR-UTB96.js.map +0 -1
  676. 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