semiotic 2.0.2 → 3.0.0-beta.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 (359) hide show
  1. package/CLAUDE.md +530 -0
  2. package/README.md +190 -37
  3. package/ai/cli.js +48 -0
  4. package/ai/dist/ai/componentRegistry.js +45 -0
  5. package/ai/dist/ai/mcp-server.js +99 -0
  6. package/ai/dist/ai/renderHOCToSVG.js +77 -0
  7. package/ai/dist/src/components/Annotation.js +358 -0
  8. package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +369 -0
  9. package/ai/dist/src/components/Axis/Axis.js +373 -0
  10. package/ai/dist/src/components/Axis/axisTitle.js +14 -0
  11. package/ai/dist/src/components/Axis/index.js +7 -0
  12. package/ai/dist/src/components/Axis/summaryGraphic.js +37 -0
  13. package/ai/dist/src/components/Brush.js +84 -0
  14. package/ai/dist/src/components/DividedLine.js +65 -0
  15. package/ai/dist/src/components/FacetController.js +259 -0
  16. package/ai/dist/src/components/Frame.js +139 -0
  17. package/ai/dist/src/components/InteractionLayer.js +328 -0
  18. package/ai/dist/src/components/Legend.js +140 -0
  19. package/ai/dist/src/components/MiniMap.js +75 -0
  20. package/ai/dist/src/components/MinimapXYFrame.js +99 -0
  21. package/ai/dist/src/components/NetworkFrame.js +335 -0
  22. package/ai/dist/src/components/OrdinalFrame.js +437 -0
  23. package/ai/dist/src/components/ResponsiveFrame.js +68 -0
  24. package/ai/dist/src/components/ResponsiveMinimapXYFrame.js +11 -0
  25. package/ai/dist/src/components/ResponsiveNetworkFrame.js +11 -0
  26. package/ai/dist/src/components/ResponsiveOrdinalFrame.js +11 -0
  27. package/ai/dist/src/components/ResponsiveXYFrame.js +10 -0
  28. package/ai/dist/src/components/SparkFrame.js +113 -0
  29. package/ai/dist/src/components/SparkNetworkFrame.js +11 -0
  30. package/ai/dist/src/components/SparkOrdinalFrame.js +11 -0
  31. package/ai/dist/src/components/SparkXYFrame.js +11 -0
  32. package/ai/dist/src/components/Tooltip/Tooltip.js +304 -0
  33. package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
  34. package/ai/dist/src/components/VisualizationLayer.js +395 -0
  35. package/ai/dist/src/components/XYFrame.js +524 -0
  36. package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
  37. package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
  38. package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
  39. package/ai/dist/src/components/annotationRules/networkframeRules.js +198 -0
  40. package/ai/dist/src/components/annotationRules/orframeRules.js +695 -0
  41. package/ai/dist/src/components/annotationRules/xyframeRules.js +299 -0
  42. package/ai/dist/src/components/batchWork.js +35 -0
  43. package/ai/dist/src/components/charts/index.js +96 -0
  44. package/ai/dist/src/components/charts/network/ChordDiagram.js +245 -0
  45. package/ai/dist/src/components/charts/network/CirclePack.js +177 -0
  46. package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +248 -0
  47. package/ai/dist/src/components/charts/network/SankeyDiagram.js +305 -0
  48. package/ai/dist/src/components/charts/network/TreeDiagram.js +268 -0
  49. package/ai/dist/src/components/charts/network/Treemap.js +177 -0
  50. package/ai/dist/src/components/charts/ordinal/BarChart.js +191 -0
  51. package/ai/dist/src/components/charts/ordinal/BoxPlot.js +235 -0
  52. package/ai/dist/src/components/charts/ordinal/DonutChart.js +178 -0
  53. package/ai/dist/src/components/charts/ordinal/DotPlot.js +194 -0
  54. package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +194 -0
  55. package/ai/dist/src/components/charts/ordinal/PieChart.js +155 -0
  56. package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +213 -0
  57. package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +219 -0
  58. package/ai/dist/src/components/charts/realtime/RealtimeBarChart.js +91 -0
  59. package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +73 -0
  60. package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +85 -0
  61. package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +86 -0
  62. package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
  63. package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
  64. package/ai/dist/src/components/charts/shared/formatUtils.js +176 -0
  65. package/ai/dist/src/components/charts/shared/hooks.js +49 -0
  66. package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
  67. package/ai/dist/src/components/charts/shared/types.js +2 -0
  68. package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
  69. package/ai/dist/src/components/charts/shared/validateProps.js +640 -0
  70. package/ai/dist/src/components/charts/xy/AreaChart.js +220 -0
  71. package/ai/dist/src/components/charts/xy/BubbleChart.js +222 -0
  72. package/ai/dist/src/components/charts/xy/Heatmap.js +230 -0
  73. package/ai/dist/src/components/charts/xy/LineChart.js +302 -0
  74. package/ai/dist/src/components/charts/xy/Scatterplot.js +136 -0
  75. package/ai/dist/src/components/charts/xy/StackedAreaChart.js +220 -0
  76. package/ai/dist/src/components/constants/coordinateNames.js +11 -0
  77. package/ai/dist/src/components/constants/frame_props.js +251 -0
  78. package/ai/dist/src/components/constants/jsx.js +71 -0
  79. package/ai/dist/src/components/data/dataFunctions.js +473 -0
  80. package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
  81. package/ai/dist/src/components/data/networkPipelineCache.js +43 -0
  82. package/ai/dist/src/components/data/ordinalPipelineCache.js +53 -0
  83. package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
  84. package/ai/dist/src/components/data/xyPipelineCache.js +49 -0
  85. package/ai/dist/src/components/generic_utilities/functions.js +5 -0
  86. package/ai/dist/src/components/index.js +145 -0
  87. package/ai/dist/src/components/interactionLayerBehavior/InteractionCanvas.js +128 -0
  88. package/ai/dist/src/components/processing/InteractionItems.js +223 -0
  89. package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
  90. package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
  91. package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
  92. package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
  93. package/ai/dist/src/components/processing/layouts/index.js +32 -0
  94. package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
  95. package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
  96. package/ai/dist/src/components/processing/layouts/types.js +2 -0
  97. package/ai/dist/src/components/processing/network.js +771 -0
  98. package/ai/dist/src/components/processing/networkDefaults.js +39 -0
  99. package/ai/dist/src/components/processing/networkLayoutHelpers.js +98 -0
  100. package/ai/dist/src/components/processing/ordinal.js +889 -0
  101. package/ai/dist/src/components/processing/ordinalConstants.js +23 -0
  102. package/ai/dist/src/components/processing/ordinalOverlays.js +88 -0
  103. package/ai/dist/src/components/processing/ordinalRenderPipeline.js +196 -0
  104. package/ai/dist/src/components/processing/xyDrawing.js +484 -0
  105. package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
  106. package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
  107. package/ai/dist/src/components/realtime/RealtimeFrame.js +710 -0
  108. package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
  109. package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
  110. package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
  111. package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
  112. package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
  113. package/ai/dist/src/components/realtime/renderers/types.js +2 -0
  114. package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
  115. package/ai/dist/src/components/realtime/types.js +2 -0
  116. package/ai/dist/src/components/semiotic-ai.js +66 -0
  117. package/ai/dist/src/components/semiotic-network.js +30 -0
  118. package/ai/dist/src/components/semiotic-ordinal.js +28 -0
  119. package/ai/dist/src/components/semiotic-realtime.js +37 -0
  120. package/ai/dist/src/components/semiotic-server.js +8 -0
  121. package/ai/dist/src/components/semiotic-xy.js +41 -0
  122. package/ai/dist/src/components/semiotic.js +101 -0
  123. package/ai/dist/src/components/server/renderToStaticSVG.js +392 -0
  124. package/ai/dist/src/components/store/TooltipStore.js +13 -0
  125. package/ai/dist/src/components/store/createStore.js +77 -0
  126. package/ai/dist/src/components/svg/SvgHelper.js +308 -0
  127. package/ai/dist/src/components/svg/areaDrawing.js +312 -0
  128. package/ai/dist/src/components/svg/boxplotRenderer.js +441 -0
  129. package/ai/dist/src/components/svg/bucketizedRenderer.js +677 -0
  130. package/ai/dist/src/components/svg/ckbinsRenderer.js +92 -0
  131. package/ai/dist/src/components/svg/ckmeans.js +238 -0
  132. package/ai/dist/src/components/svg/contourLayout.js +73 -0
  133. package/ai/dist/src/components/svg/contourRenderer.js +53 -0
  134. package/ai/dist/src/components/svg/edgeGenerators.js +181 -0
  135. package/ai/dist/src/components/svg/frameFunctions.js +579 -0
  136. package/ai/dist/src/components/svg/graphAlgorithms.js +138 -0
  137. package/ai/dist/src/components/svg/hexbinLayout.js +163 -0
  138. package/ai/dist/src/components/svg/lineDrawing.js +427 -0
  139. package/ai/dist/src/components/svg/networkDrawing.js +207 -0
  140. package/ai/dist/src/components/svg/nodeGenerators.js +131 -0
  141. package/ai/dist/src/components/svg/pieceDrawing.js +110 -0
  142. package/ai/dist/src/components/svg/pieceLayouts.js +588 -0
  143. package/ai/dist/src/components/svg/sankeyLinks.js +143 -0
  144. package/ai/dist/src/components/svg/summaryAxis.js +48 -0
  145. package/ai/dist/src/components/svg/summaryLayouts.js +202 -0
  146. package/ai/dist/src/components/svg/swarmLayout.js +128 -0
  147. package/ai/dist/src/components/types/annotationTypes.js +2 -0
  148. package/ai/dist/src/components/types/canvasTypes.js +2 -0
  149. package/ai/dist/src/components/types/generalTypes.js +2 -0
  150. package/ai/dist/src/components/types/interactionTypes.js +2 -0
  151. package/ai/dist/src/components/types/legendTypes.js +2 -0
  152. package/ai/dist/src/components/types/networkTypes.js +2 -0
  153. package/ai/dist/src/components/types/ordinalTypes.js +2 -0
  154. package/ai/dist/src/components/types/xyTypes.js +2 -0
  155. package/ai/dist/src/components/useBoundingRect.js +24 -0
  156. package/ai/dist/src/components/useDerivedStateFromProps.js +25 -0
  157. package/ai/dist/src/components/useLegacyUnmountCallback.js +21 -0
  158. package/ai/dist/src/components/visualizationLayerBehavior/axis.js +249 -0
  159. package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
  160. package/ai/dist/src/setupTests.js +4 -0
  161. package/ai/examples.md +394 -0
  162. package/ai/schema.json +1178 -0
  163. package/ai/system-prompt.md +38 -0
  164. package/dist/Annotation.d.ts +3 -0
  165. package/dist/AnnotationLayer/AnnotationLayer.d.ts +25 -0
  166. package/dist/Axis/Axis.d.ts +7 -0
  167. package/dist/Axis/axisTitle.d.ts +10 -0
  168. package/dist/Axis/index.d.ts +2 -0
  169. package/dist/Axis/summaryGraphic.d.ts +17 -0
  170. package/dist/Brush.d.ts +12 -0
  171. package/dist/DividedLine.d.ts +16 -0
  172. package/dist/FacetController.d.ts +12 -0
  173. package/dist/Frame.d.ts +2 -0
  174. package/dist/InteractionLayer.d.ts +3 -0
  175. package/dist/Legend.d.ts +3 -0
  176. package/dist/MiniMap.d.ts +14 -0
  177. package/dist/MinimapXYFrame.d.ts +10 -0
  178. package/dist/NetworkFrame.d.ts +8 -0
  179. package/dist/OrdinalFrame.d.ts +8 -0
  180. package/dist/ResponsiveFrame.d.ts +22 -0
  181. package/dist/ResponsiveMinimapXYFrame.d.ts +3 -0
  182. package/dist/ResponsiveNetworkFrame.d.ts +3 -0
  183. package/dist/ResponsiveOrdinalFrame.d.ts +3 -0
  184. package/dist/ResponsiveXYFrame.d.ts +3 -0
  185. package/dist/SparkFrame.d.ts +14 -0
  186. package/dist/SparkNetworkFrame.d.ts +5 -0
  187. package/dist/SparkOrdinalFrame.d.ts +5 -0
  188. package/dist/SparkXYFrame.d.ts +5 -0
  189. package/dist/Tooltip/Tooltip.d.ts +141 -0
  190. package/dist/TooltipPositioner/index.d.ts +7 -0
  191. package/dist/VisualizationLayer.d.ts +33 -0
  192. package/dist/XYFrame.d.ts +8 -0
  193. package/dist/annotationLayerBehavior/annotationHandling.d.ts +19 -0
  194. package/dist/annotationLayerBehavior/d3labeler.d.ts +9 -0
  195. package/dist/annotationRules/baseRules.d.ts +25 -0
  196. package/dist/annotationRules/networkframeRules.d.ts +48 -0
  197. package/dist/annotationRules/orframeRules.d.ts +103 -0
  198. package/dist/annotationRules/xyframeRules.d.ts +117 -0
  199. package/dist/batchWork.d.ts +6 -0
  200. package/dist/charts/index.d.ts +62 -0
  201. package/dist/charts/network/ChordDiagram.d.ts +181 -0
  202. package/dist/charts/network/CirclePack.d.ts +103 -0
  203. package/dist/charts/network/ForceDirectedGraph.d.ts +192 -0
  204. package/dist/charts/network/SankeyDiagram.d.ts +195 -0
  205. package/dist/charts/network/TreeDiagram.d.ts +200 -0
  206. package/dist/charts/network/Treemap.d.ts +98 -0
  207. package/dist/charts/ordinal/BarChart.d.ts +119 -0
  208. package/dist/charts/ordinal/BoxPlot.d.ts +125 -0
  209. package/dist/charts/ordinal/DonutChart.d.ts +95 -0
  210. package/dist/charts/ordinal/DotPlot.d.ts +128 -0
  211. package/dist/charts/ordinal/GroupedBarChart.d.ts +113 -0
  212. package/dist/charts/ordinal/PieChart.d.ts +83 -0
  213. package/dist/charts/ordinal/StackedBarChart.d.ts +119 -0
  214. package/dist/charts/ordinal/SwarmPlot.d.ts +137 -0
  215. package/dist/charts/realtime/RealtimeBarChart.d.ts +102 -0
  216. package/dist/charts/realtime/RealtimeLineChart.d.ts +78 -0
  217. package/dist/charts/realtime/RealtimeSwarmChart.d.ts +88 -0
  218. package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +85 -0
  219. package/dist/charts/shared/ChartError.d.ts +19 -0
  220. package/dist/charts/shared/colorUtils.d.ts +62 -0
  221. package/dist/charts/shared/formatUtils.d.ts +82 -0
  222. package/dist/charts/shared/hooks.d.ts +20 -0
  223. package/dist/charts/shared/legendUtils.d.ts +32 -0
  224. package/dist/charts/shared/types.d.ts +58 -0
  225. package/dist/charts/shared/validateChartData.d.ts +41 -0
  226. package/dist/charts/shared/validateProps.d.ts +18 -0
  227. package/dist/charts/xy/AreaChart.d.ts +127 -0
  228. package/dist/charts/xy/BubbleChart.d.ts +157 -0
  229. package/dist/charts/xy/Heatmap.d.ts +153 -0
  230. package/dist/charts/xy/LineChart.d.ts +193 -0
  231. package/dist/charts/xy/Scatterplot.d.ts +50 -0
  232. package/dist/charts/xy/StackedAreaChart.d.ts +131 -0
  233. package/dist/constants/coordinateNames.d.ts +8 -0
  234. package/dist/constants/frame_props.d.ts +13 -0
  235. package/dist/constants/jsx.d.ts +19 -0
  236. package/dist/data/dataFunctions.d.ts +45 -0
  237. package/dist/data/multiAccessorUtils.d.ts +1 -0
  238. package/dist/data/networkPipelineCache.d.ts +27 -0
  239. package/dist/data/ordinalPipelineCache.d.ts +33 -0
  240. package/dist/data/unflowedFunctions.d.ts +1 -0
  241. package/dist/data/xyPipelineCache.d.ts +35 -0
  242. package/dist/generic_utilities/functions.d.ts +1 -0
  243. package/dist/index.d.ts +133 -0
  244. package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +20 -0
  245. package/dist/network.js +8520 -0
  246. package/dist/network.js.map +1 -0
  247. package/dist/network.min.js +1 -0
  248. package/dist/network.module.js +8484 -0
  249. package/dist/network.module.js.map +1 -0
  250. package/dist/network.module.min.js +1 -0
  251. package/dist/ordinal.js +9276 -0
  252. package/dist/ordinal.js.map +1 -0
  253. package/dist/ordinal.min.js +1 -0
  254. package/dist/ordinal.module.js +9242 -0
  255. package/dist/ordinal.module.js.map +1 -0
  256. package/dist/ordinal.module.min.js +1 -0
  257. package/dist/processing/InteractionItems.d.ts +13 -0
  258. package/dist/processing/hierarchyUtils.d.ts +16 -0
  259. package/dist/processing/layouts/chordLayout.d.ts +2 -0
  260. package/dist/processing/layouts/forceLayout.d.ts +3 -0
  261. package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
  262. package/dist/processing/layouts/index.d.ts +8 -0
  263. package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
  264. package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
  265. package/dist/processing/layouts/types.d.ts +17 -0
  266. package/dist/processing/network.d.ts +111 -0
  267. package/dist/processing/networkDefaults.d.ts +36 -0
  268. package/dist/processing/networkLayoutHelpers.d.ts +54 -0
  269. package/dist/processing/ordinal.d.ts +102 -0
  270. package/dist/processing/ordinalConstants.d.ts +33 -0
  271. package/dist/processing/ordinalOverlays.d.ts +33 -0
  272. package/dist/processing/ordinalRenderPipeline.d.ts +148 -0
  273. package/dist/processing/xyDrawing.d.ts +140 -0
  274. package/dist/realtime/BinAccumulator.d.ts +8 -0
  275. package/dist/realtime/IncrementalExtent.d.ts +13 -0
  276. package/dist/realtime/RealtimeFrame.d.ts +4 -0
  277. package/dist/realtime/RingBuffer.d.ts +19 -0
  278. package/dist/realtime/renderers/barRenderer.d.ts +2 -0
  279. package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
  280. package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
  281. package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
  282. package/dist/realtime/renderers/types.d.ts +9 -0
  283. package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
  284. package/dist/realtime/types.d.ts +113 -0
  285. package/dist/realtime.js +1598 -0
  286. package/dist/realtime.js.map +1 -0
  287. package/dist/realtime.min.js +1 -0
  288. package/dist/realtime.module.js +1566 -0
  289. package/dist/realtime.module.js.map +1 -0
  290. package/dist/realtime.module.min.js +1 -0
  291. package/dist/semiotic-ai.d.ts +28 -0
  292. package/dist/semiotic-ai.js +18722 -0
  293. package/dist/semiotic-ai.js.map +1 -0
  294. package/dist/semiotic-ai.min.js +1 -0
  295. package/dist/semiotic-ai.module.js +18668 -0
  296. package/dist/semiotic-ai.module.js.map +1 -0
  297. package/dist/semiotic-ai.module.min.js +1 -0
  298. package/dist/semiotic-network.d.ts +19 -0
  299. package/dist/semiotic-ordinal.d.ts +18 -0
  300. package/dist/semiotic-realtime.d.ts +23 -0
  301. package/dist/semiotic-server.d.ts +1 -0
  302. package/dist/semiotic-xy.d.ts +24 -0
  303. package/dist/semiotic.d.ts +51 -0
  304. package/dist/semiotic.js +18723 -12996
  305. package/dist/semiotic.js.map +1 -0
  306. package/dist/semiotic.min.js +1 -0
  307. package/dist/semiotic.module.js +18666 -12965
  308. package/dist/semiotic.module.js.map +1 -0
  309. package/dist/semiotic.module.min.js +1 -0
  310. package/dist/server/renderToStaticSVG.d.ts +9 -0
  311. package/dist/server.js +8360 -0
  312. package/dist/server.js.map +1 -0
  313. package/dist/server.min.js +1 -0
  314. package/dist/server.module.js +8331 -0
  315. package/dist/server.module.js.map +1 -0
  316. package/dist/server.module.min.js +1 -0
  317. package/dist/store/TooltipStore.d.ts +2 -0
  318. package/dist/store/createStore.d.ts +1 -0
  319. package/dist/svg/SvgHelper.d.ts +33 -0
  320. package/dist/svg/areaDrawing.d.ts +21 -0
  321. package/dist/svg/boxplotRenderer.d.ts +15 -0
  322. package/dist/svg/bucketizedRenderer.d.ts +16 -0
  323. package/dist/svg/ckbinsRenderer.d.ts +20 -0
  324. package/dist/svg/ckmeans.d.ts +69 -0
  325. package/dist/svg/contourLayout.d.ts +6 -0
  326. package/dist/svg/contourRenderer.d.ts +12 -0
  327. package/dist/svg/edgeGenerators.d.ts +51 -0
  328. package/dist/svg/frameFunctions.d.ts +108 -0
  329. package/dist/svg/graphAlgorithms.d.ts +14 -0
  330. package/dist/svg/hexbinLayout.d.ts +7 -0
  331. package/dist/svg/lineDrawing.d.ts +99 -0
  332. package/dist/svg/networkDrawing.d.ts +16 -0
  333. package/dist/svg/nodeGenerators.d.ts +58 -0
  334. package/dist/svg/pieceDrawing.d.ts +12 -0
  335. package/dist/svg/pieceLayouts.d.ts +53 -0
  336. package/dist/svg/sankeyLinks.d.ts +3 -0
  337. package/dist/svg/summaryAxis.d.ts +6 -0
  338. package/dist/svg/summaryLayouts.d.ts +53 -0
  339. package/dist/svg/swarmLayout.d.ts +13 -0
  340. package/dist/types/annotationTypes.d.ts +135 -0
  341. package/dist/types/canvasTypes.d.ts +9 -0
  342. package/dist/types/generalTypes.d.ts +238 -0
  343. package/dist/types/interactionTypes.d.ts +72 -0
  344. package/dist/types/legendTypes.d.ts +20 -0
  345. package/dist/types/networkTypes.d.ts +175 -0
  346. package/dist/types/ordinalTypes.d.ts +112 -0
  347. package/dist/types/xyTypes.d.ts +115 -0
  348. package/dist/useBoundingRect.d.ts +2 -0
  349. package/dist/useDerivedStateFromProps.d.ts +1 -0
  350. package/dist/useLegacyUnmountCallback.d.ts +2 -0
  351. package/dist/visualizationLayerBehavior/axis.d.ts +36 -0
  352. package/dist/visualizationLayerBehavior/general.d.ts +80 -0
  353. package/dist/xy.js +7944 -0
  354. package/dist/xy.js.map +1 -0
  355. package/dist/xy.min.js +1 -0
  356. package/dist/xy.module.js +7903 -0
  357. package/dist/xy.module.js.map +1 -0
  358. package/dist/xy.module.min.js +1 -0
  359. package/package.json +116 -65
@@ -0,0 +1 @@
1
+ import*as e from"react";import t,{createContext as n,useMemo as a,useContext as o,useState as r,useLayoutEffect as s,useEffect as i,useRef as c,useCallback as l,forwardRef as d,useImperativeHandle as u}from"react";import{line as p,curveLinearClosed as y,arc as m,curveCardinal as h,area as g,curveNatural as f,curveMonotoneY as b,curveMonotoneX as x,curveCatmullRom as v,curveLinear as k,curveBasis as j,curveStepAfter as A,curveStepBefore as E,curveStep as S,linkVertical as O,linkHorizontal as w}from"d3-shape";import{scaleLinear as M,scaleOrdinal as P,scaleSequential as C,scaleBand as z}from"d3-scale";import N from"labella";import{brushX as $,brushY as D,brush as F}from"d3-brush";import{select as T}from"d3-selection";import{extent as L,quantile as R,histogram as B,max as V,sum as W,min as I}from"d3-array";import{Delaunay as G}from"d3-delaunay";import{contourDensity as _}from"d3-contour";import H from"regression";import{packEnclose as Y,partition as X,treemap as q,cluster as K,pack as Z,tree as Q,hierarchy as U}from"d3-hierarchy";import{polygonHull as J}from"d3-polygon";import ee from"polygon-offset";import{hexbin as te}from"d3-hexbin";import ne from"memoize-one";import{interpolatePlasma as ae,interpolateViridis as oe,interpolatePurples as re,interpolateOranges as se,interpolateGreens as ie,interpolateReds as ce,interpolateBlues as le,schemeSet3 as de,schemeTableau10 as ue,schemeCategory10 as pe}from"d3-scale-chromatic";import ye from"svg-path-bounding-box";import{forceSimulation as me,forceY as he,forceX as ge,forceCollide as fe,forceLink as be,forceManyBody as xe}from"d3-force";import{d as ve}from"d3-glyphedge";import{pathArrows as ke}from"d3-path-arrows";import{interpolateNumber as je}from"d3-interpolate";import{ribbon as Ae,chord as Ee}from"d3-chord";import{sankeyJustify as Se,sankeyCenter as Oe,sankeyRight as we,sankeyLeft as Me,sankeyCircular as Pe}from"d3-sankey-circular";const Ce=(e,t,n,a)=>{const o=(e.note.label||e.note.title).length;return[Math.min(e.note.wrap||120,o*t)+2*a,Math.ceil(o*t/120)*n+2*a]};const ze={fill:t=>e.createElement("rect",{style:t,width:20,height:20}),line:t=>e.createElement("line",{style:t,x1:0,y1:0,x2:20,y2:20})};function Ne(e,t,n,a){let o;return o="function"==typeof n?n(e):(0,ze[n])(a(e,t)),o}function $e(t){const{legendGroups:n,customClickBehavior:a,title:o="Legend",width:r=100,height:s=20,orientation:i="vertical"}=t,c="vertical"===i?(({legendGroups:t,width:n,customClickBehavior:a})=>{let o=30;const r=[];return t.forEach((t,s)=>{o+=5,r.push(e.createElement("line",{key:"legend-top-line legend-symbol-"+s,stroke:"gray",x1:0,y1:o,x2:n,y2:o})),o+=10,t.label&&(o+=20,r.push(e.createElement("text",{key:"legend-text-"+s,y:o,className:"legend-group-label"},t.label)),o+=10),r.push(e.createElement("g",{key:"legend-group-"+s,className:"legend-item",transform:`translate(0,${o})`},((t,n)=>{const{type:a="fill",styleFn:o,items:r}=t,s=[];let i=0;return r.forEach((t,r)=>{const c=Ne(t,r,a,o);s.push(e.createElement("g",{key:"legend-item-"+r,transform:`translate(0,${i})`,onClick:n?()=>n(t):void 0,style:{cursor:n?"pointer":"default"}},c,e.createElement("text",{y:15,x:30},t.label))),i+=25}),s})(t,a))),o+=25*t.items.length+10}),r})({legendGroups:n,width:r,customClickBehavior:a}):(({legendGroups:t,title:n,height:a,customClickBehavior:o})=>{let r=0;const s=[],i=!1===n?10:40;return t.forEach((n,c)=>{n.label&&(s.push(e.createElement("text",{key:"legend-text-"+c,transform:`translate(${r},${i}) rotate(90)`,textAnchor:"start",className:"legend-group-label"},n.label)),r+=20);const l=((t,n)=>{const{type:a="fill",styleFn:o,items:r}=t,s=[];let i=0;return r.forEach((t,r)=>{const c=Ne(t,r,a,o);s.push(e.createElement("g",{key:"legend-item-"+r,transform:`translate(${i},0)`,onClick:n?()=>n(t):void 0,style:{cursor:n?"pointer":"default"}},c,e.createElement("text",{y:15,x:25},t.label))),i+=35,i+=8*t.label.length}),{items:s,offset:i}})(n,o);s.push(e.createElement("g",{key:"legend-group-"+c,className:"legend-item",transform:`translate(${r},${i})`},l.items)),r+=l.offset+5,t[c+1]&&s.push(e.createElement("line",{key:"legend-top-line legend-symbol-"+c,stroke:"gray",x1:r,y1:i-10,x2:r,y2:a+i+10})),r+=15}),e.createElement("g",null,!1!==n&&e.createElement("line",{x1:0,x2:r+10,y1:i-10,y2:i-10,stroke:"gray",className:"title-neatline"}),s)})({legendGroups:n,title:o,height:s,customClickBehavior:a});return e.createElement("g",null,void 0!==o&&e.createElement("text",{className:"legend-title",y:20,x:"horizontal"===i?0:r/2,textAnchor:"horizontal"===i?"start":"middle"},o),c)}function De(e,t=120,n=8){if(!e)return[];const a=Math.max(1,Math.floor(t/n)),o=e.split(/\s+/),r=[];let s="";for(const e of o)s&&s.length+1+e.length>a?(r.push(s),s=e):s=s?`${s} ${e}`:e;return s&&r.push(s),r}function Fe(e,t,n,a){return"curly"===e?a?`M0,0 C${.6*n},0 ${.4*n},${t/2} ${n},${t/2} C${.4*n},${t/2} ${.6*n},${t} 0,${t}`:`M0,0 C0,${.6*n} ${t/2},${.4*n} ${t/2},${n} C${t/2},${.4*n} ${t},${.6*n} ${t},0`:a?`M0,0 L${n},0 L${n},${t} L0,${t}`:`M0,0 L0,${n} L${t},${n} L${t},0`}function Te(t){const{x:n=0,y:a=0,dx:o,dy:r,nx:s,ny:i,note:c,connector:l,subject:d,type:u,color:p,className:y,disable:m,events:h={},"data-testid":g}=t,f=new Set(Array.isArray(m)?m:[]);let b=o||0,x=r||0;null!=s&&(b=s-n),null!=i&&(x=i-a);const v="string"==typeof u?u:"label";if("bracket"===v&&d&&0===b&&0===x)if(void 0!==d.width){b=d.width/2;const e=d.depth||30;x=e+(0>e?-5:5)}else if(void 0!==d.height){const e=d.depth||30;b=e+(0>e?-5:5),x=d.height/2}return e.createElement("g",Object.assign({className:("annotation "+(y||"")).trim(),transform:`translate(${n},${a})`,"data-testid":g},h),!f.has("connector")&&function(t,n,a,o,r,s){const i=[];let c=0,l=0;if("callout-circle"!==r&&"label"!==r||!(null==s?void 0:s.radius)){if("callout-rect"===r&&s){const e=s.width||0,a=s.height||0;if(e>0||a>0){const o=e/2,r=a/2,s=t-o,i=n-r;if(0!==s||0!==i){const t=Math.abs(s),n=Math.abs(i),d=e/2,u=a/2,p=t*u>n*d?d/t:u/n;c=o+s*p,l=r+i*p}}}else if("bracket"===r&&s){const e=s.width,t=s.height,n=s.depth||30;void 0!==e?(c=e/2,l=n):void 0!==t&&(c=n,l=t/2)}}else{const e=(s.radius||0)+(s.radiusPadding||0);if(e>0&&(0!==t||0!==n)){const a=Math.atan2(n,t);c=Math.cos(a)*e,l=Math.sin(a)*e}}if(Math.sqrt(Math.pow(t-c,2)+Math.pow(n-l,2))>.5&&(i.push(e.createElement("line",{key:"connector-line",x1:c,y1:l,x2:t,y2:n,stroke:o||"currentColor"})),"arrow"===(null==a?void 0:a.end))){const a=10,r=16/180*Math.PI,s=Math.atan2(n-l,t-c);i.push(e.createElement("path",{key:"connector-arrow",d:`M${c},${l}L${c+a*Math.cos(s+r)},${l+a*Math.sin(s+r)}L${c+a*Math.cos(s-r)},${l+a*Math.sin(s-r)}Z`,fill:o||"currentColor",stroke:"none"}))}return e.createElement("g",{className:"annotation-connector"},i)}(b,x,l,p,v,d),!f.has("subject")&&function(t,n,a,o,r){var s;const i=[];switch(t){case"callout-circle":{const t=((null==n?void 0:n.radius)||0)+((null==n?void 0:n.radiusPadding)||0);t>0&&i.push(e.createElement("circle",{key:"subject-circle",r:t,fill:"none",stroke:a||"currentColor"}));break}case"callout-rect":{const t=(null==n?void 0:n.width)||0,o=(null==n?void 0:n.height)||0;(t>0||o>0)&&i.push(e.createElement("rect",{key:"subject-rect",width:t,height:o,fill:"none",stroke:a||"currentColor"}));break}case"callout-custom":(null==n?void 0:n.custom)&&i.push(...Array.isArray(n.custom)?n.custom:[n.custom]);break;case"xy-threshold":{const t=o||0,s=r||0;if(void 0!==(null==n?void 0:n.x)){const o=(n.x||0)-t;i.push(e.createElement("line",{key:"threshold-line",x1:o,y1:(n.y1||0)-s,x2:o,y2:(n.y2||0)-s,stroke:a||"currentColor",strokeDasharray:"5,5"}))}else if(void 0!==(null==n?void 0:n.y)){const o=(n.y||0)-s;i.push(e.createElement("line",{key:"threshold-line",x1:(n.x1||0)-t,y1:o,x2:(n.x2||0)-t,y2:o,stroke:a||"currentColor",strokeDasharray:"5,5"}))}else void 0!==(null==n?void 0:n.x1)||void 0!==(null==n?void 0:n.x2)?i.push(e.createElement("line",{key:"threshold-line",x1:(n.x1||0)-t,y1:0,x2:(n.x2||0)-t,y2:0,stroke:a||"currentColor",strokeDasharray:"5,5"})):void 0===(null==n?void 0:n.y1)&&void 0===(null==n?void 0:n.y2)||i.push(e.createElement("line",{key:"threshold-line",x1:0,y1:(n.y1||0)-s,x2:0,y2:(n.y2||0)-s,stroke:a||"currentColor",strokeDasharray:"5,5"}));break}case"bracket":{const t=null!==(s=null==n?void 0:n.width)&&void 0!==s?s:null==n?void 0:n.height;void 0!==t&&i.push(e.createElement("path",{key:"bracket-path",d:Fe((null==n?void 0:n.type)||"curly",t,(null==n?void 0:n.depth)||30,void 0===(null==n?void 0:n.width)),fill:"none",stroke:a||"currentColor"}));break}}return e.createElement("g",{className:"annotation-subject"},i)}(v,d,p,n,a),!f.has("note")&&function(t,n,a,o){if(!t)return e.createElement("g",{className:"annotation-note"});const{label:r,title:s,orientation:i,align:c,wrap:l=120,noWrap:d}=t;if(!r&&!s)return e.createElement("g",{className:"annotation-note"});let u=i;u||(u=Math.abs(n)>Math.abs(a)?"leftRight":"topBottom");let p=c;p&&"dynamic"!==p||(p="topBottom"===u?0>n?"right":"left":0>a?"bottom":"top");let y="start";"topBottom"===u?"right"===p?y="end":"middle"===p&&(y="middle"):y=0>n?"end":"start";const m=16,h=s?d?[s]:De(s,l):[],g=r?d?[r]:De(r,l):[],f="leftRight"===u?"end"===y?-4:4:0;let b=0;const x=[];h.length>0&&(x.push(e.createElement("text",{key:"annotation-note-title",className:"annotation-note-title",fill:o||void 0,textAnchor:y,fontWeight:"bold"},h.map((t,n)=>e.createElement("tspan",{key:n,x:f,dy:0===n?0:m},t)))),b=h.length*m),g.length>0&&x.push(e.createElement("text",{key:"annotation-note-label",className:"annotation-note-label",fill:o||void 0,textAnchor:y,y:b},g.map((t,n)=>e.createElement("tspan",{key:n,x:f,dy:m},t))));let v=null;if((s||r)&&(0!==n||0!==a))if("topBottom"===u){const t=Math.min(l,120);let n=0,a=t;"end"===y?(n=-t,a=0):"middle"===y&&(n=-t/2,a=t/2),v=e.createElement("line",{className:"note-line",x1:n,x2:a,y1:0,y2:0,stroke:o||"currentColor"})}else{const t=(h.length+g.length)*m+(g.length>0?m:0);let n=0,a=t;"bottom"===p?(n=-t,a=0):"middle"===p&&(n=-t/2,a=t/2),v=e.createElement("line",{className:"note-line",x1:0,x2:0,y1:n,y2:a,stroke:o||"currentColor"})}const k=(h.length+g.length)*m+(g.length>0?m:0);let j=0;return"topBottom"===u?0>a&&(j=-k):"leftRight"===u&&("middle"===p?j=-k/2:("bottom"===p||0>a)&&(j=-k)),e.createElement("g",{className:"annotation-note",transform:`translate(${n},${a})`},e.createElement("g",{className:"annotation-note-content",transform:0!==j?`translate(0,${j})`:void 0},x),v)}(c,b,x,p))}function Le(t){const{noteData:n}=t,{screenCoordinates:a}=n,o="string"==typeof n.type?n.type:"label",r=n.eventListeners||n.events||{};if(n.coordinates&&a){const t=n.nx||a[0][0]+n.dx,r=n.ny||a[0][1]+n.dy,s=a.map((a,s)=>{const i=Object.assign({},n,{note:0===s?n.note:{label:""},x:a[0],y:a[1],nx:t,ny:r});return e.createElement(Te,Object.assign({"data-testid":"semiotic-annotation",key:"multi-annotation-"+s},i,{type:o}))});return e.createElement("g",null,s)}const s=n.note||{title:"none",label:n.label};return e.createElement(Te,Object.assign({"data-testid":"semiotic-annotation",key:`${s.label}-${s.title}-${n.i}`,events:r},n,{type:o}))}let[Re,Be]=function(t){let i=n(null);return[function({children:n}){let o=a(()=>function(e){let t=new EventTarget,n=e(function e(a){n=Object.assign(n,a(e)),t.dispatchEvent(new CustomEvent("update"))});return{getState:()=>n,subscribe:function(e){return t.addEventListener("update",e),()=>t.removeEventListener("update",e)}}}(t),[]);return e.createElement(i.Provider,{value:o,children:n})},e=>{let t=o(i);return function(e,t){const[n,a]=r(t);return s(()=>e(()=>a(t)),[e]),n}(null==t?void 0:t.subscribe,()=>e(t.getState()))}]}(e=>({tooltip:null,changeTooltip(t){e(()=>({tooltip:t}))}}));function Ve(e,t,n){return"number"==typeof n?n:t&&t.find(t=>t.props.orient===e)?50:10}const We=(e,t,n)=>`${e.map(Ie).join(",")}${JSON.stringify(t)}${n.join(",")}`;function Ie(e){if(!e||!e.props||!e.props.noteData)return"";const{note:t={}}=e.props.noteData,{label:n,title:a}=t;return`${e.props.noteData.id||`${e.props.noteData.x}-${e.props.noteData.y}`}-${n}=${a}`}function Ge(e,n=8,a){const{noteWidth:o=a}=e;let r=o;"number"==typeof o&&(r=()=>o);const s=e.note&&e.note.wrap||120,i=e.note.label||e.note.label||"";return o&&r(e)||(t.isValidElement(e.note)?100:Math.min(s,i.length*n))}function _e(e,n=8,a=20,o){const{noteHeight:r=o}=e;let s=r;"number"==typeof r&&(s=()=>r);const i=e.note&&e.note.wrap||120,c=e.note.label||e.note.title||"";return r&&s(e)||(t.isValidElement(e.note)?30:Math.ceil(c.length*n/i)*a+(e.note.label&&e.note.title?a:0))}const He=(e,t)=>{const n=t.map((t,n)=>e.svgAnnotationRule(t,n,e)).filter(e=>null!=e);return n},Ye=(t,n)=>{let a=n.adjustedAnnotations,o=n.adjustedAnnotationsKey,r=n.adjustableAnnotations,s=n.fixedAnnotations,i=[],c=[];const l=n.adjustedAnnotationsKey,d=n.adjustedAnnotationsDataVersion,{annotations:u,annotationHandling:p=!1,size:y,svgAnnotationRule:m,htmlAnnotationRule:h}=t,g="object"==typeof p?p:{layout:{type:p},dataVersion:""},{dataVersion:f=""}=g;if(m){const n=He(t,u);o=We(n,g,y),!1===p&&(a=r),a=a.length!==r.length||l!==o||d!==f?((t,n,a)=>{const{layout:o={type:!1,noteHeight:void 0,noteWidth:void 0}}=n;if(!1===o.type)return t;const{noteWidth:r,noteHeight:s}=o;let{margin:i={top:0,bottom:0,left:0,right:0}}=a;const{size:c,axes:l=[]}=a;if(i="number"==typeof i?{top:i,left:i,right:i,bottom:i}:i,"bump"===o.type)return function(e,t,n,a,o){const{padding:r=1,characterWidth:s=8,lineHeight:i=20,iterations:c=500,pointSizeFunction:l=a,labelSizeFunction:d=o||Ce}=t,u=e.map((e,t)=>{const n=(e.props.noteData.x[0]||e.props.noteData.x)+(void 0!==e.props.noteData.dx?e.props.noteData.dx:-10*(t%3-1)),a=(e.props.noteData.y[0]||e.props.noteData.y)+(void 0!==e.props.noteData.dy?e.props.noteData.dy:10*(t%3-1)),[o,c]=d(e.props.noteData,s,i,r);return{x:n,y:a,above:e.props.noteData.y>a,left:e.props.noteData.x>n,width:o,height:c,type:"label",name:"",originalNote:e}}),p=e.map(e=>({x:e.props.noteData.x,y:e.props.noteData.y,fx:e.props.noteData.x,fy:e.props.noteData.y,r:l&&l(e.props.noteData)||5,type:"point",originalNote:e})),y=function(){let e,t=[],n=[],a=1,o=1,r={start:e=>{},width:e=>{},height:e=>{},label:e=>{},anchor:e=>{},alt_energy:e=>{},alt_schedule:e=>{}},s=!1;const i=function(e){let a=t.length,o=0,r=t[e].x-n[e].x,s=n[e].y-t[e].y,i=Math.sqrt(r*r+s*s);i>0&&(o+=.2*i),r/=i,s/=i,o+=r>0&&s>0?0:0>r&&s>0?3:0>r&&0>s?6:9;let c,l,u,p,y,m,h,g=t[e].x,f=t[e].y-t[e].height+2,b=t[e].x+t[e].width,x=t[e].y+2;for(let r=0;a>r;r++)r!==e&&(d(n[e].x,t[e].x,n[r].x,t[r].x,n[e].y,t[e].y,n[r].y,t[r].y)&&(o+=1),c=t[r].x,u=t[r].y-t[r].height+2,l=t[r].x+t[r].width,p=t[r].y+2,y=Math.max(0,Math.min(l,b)-Math.max(c,g)),m=Math.max(0,Math.min(p,x)-Math.max(u,f)),h=y*m,o+=30*h),c=n[r].x-n[r].r,u=n[r].y-n[r].r,l=n[r].x+n[r].r,p=n[r].y+n[r].r,y=Math.max(0,Math.min(l,b)-Math.max(c,g)),m=Math.max(0,Math.min(p,x)-Math.max(u,f)),h=y*m,o+=30*h;return o},c=function(r){let c,l,d=Math.floor(Math.random()*t.length),u=t[d].x,p=t[d].y;c=s?e(d,t,n):i(d),t[d].x+=5*(Math.random()-.5),t[d].y+=5*(Math.random()-.5),t[d].x>a&&(t[d].x=u),0>t[d].x&&(t[d].x=u),t[d].y>o&&(t[d].y=p),0>t[d].y&&(t[d].y=p),l=s?e(d,t,n):i(d);let y=l-c;Math.random()<Math.exp(-y/r)||(t[d].x=u,t[d].y=p)},l=function(r){let c,l=Math.floor(Math.random()*t.length),d=t[l].x,u=t[l].y;c=s?e(l,t,n):i(l);let p=.5*(Math.random()-.5),y=Math.sin(p),m=Math.cos(p);t[l].x-=n[l].x,t[l].y-=n[l].y;let h,g=t[l].x*y+t[l].y*m;t[l].x=t[l].x*m-t[l].y*y+n[l].x,t[l].y=g+n[l].y,t[l].x>a&&(t[l].x=d),0>t[l].x&&(t[l].x=d),t[l].y>o&&(t[l].y=u),0>t[l].y&&(t[l].y=u),h=s?e(l,t,n):i(l);let f=h-c;Math.random()<Math.exp(-f/r)||(t[l].x=d,t[l].y=u)},d=function(e,t,n,a,o,r,s,i){let c,l,d,u,p;return d=(i-s)*(t-e)-(a-n)*(r-o),u=(a-n)*(o-s)-(i-s)*(e-n),p=(t-e)*(o-s)-(r-o)*(e-n),c=u/d,l=p/d,!(0>c||c>1||0>l||l>1)},u=function(e,t,n){return e-t/n};return r.start=function(e){let n=t.length,a=1;for(let t=0;e>t;t++){for(let e=0;n>e;e++).5>Math.random()?c(a):l(a);a=u(a,1,e)}},r.width=function(e){return arguments.length?(a=e,r):a},r.height=function(e){return arguments.length?(o=e,r):o},r.label=function(e){return arguments.length?(t=e,r):t},r.anchor=function(e){return arguments.length?(n=e,r):n},r.alt_energy=function(t){return arguments.length?(e=t,s=!0,r):i},r.alt_schedule=function(e){return arguments.length?r:u},r}();return y.label(u),y.anchor(p),y.width(n[0]),y.height(n[1]),y.start(c),u.forEach(e=>{if("label"===e.type){const t=function(e,t,n){return e.y>t.y?[t.x+t.width/2+n/2,t.y-t.height+n/2]:[t.x+t.width/2,t.y]}(e.originalNote.props.noteData,e,r);e.originalNote.props.noteData.nx=t[0],e.originalNote.props.noteData.ny=t[1]}}),e}(t,o,c,a.pointSizeFunction,a.labelSizeFunction);if("marginalia"===o.type){const{marginOffset:n,orient:a="nearest",characterWidth:d=8,lineHeight:u=20,padding:p=2,axisMarginOverride:y={}}=o,m="nearest"===a?["left","right","top","bottom"]:Array.isArray(a)?a:[a],h=m.find(e=>"left"===e),g=m.find(e=>"right"===e),f=m.find(e=>"top"===e),b=m.find(e=>"bottom"===e),x=[],v=[],k=[],j=[];for(const e of t){const t=e.props.noteData,n=t.x[0]||t.x,a=t.y[0]||t.y,o=h?n:1/0,r=g?c[0]-n:1/0,s=f?a:1/0,i=Math.min(o,r,s,b?c[1]-a:1/0);o===i?x.push(e):r===i?v.push(e):s===i?k.push(e):j.push(e)}const A=new N.Force({minPos:void 0!==y.top?0+y.top:0-i.top,maxPos:void 0!==y.bottom?c[1]-y.bottom:b?c[1]:c[1]+i.bottom}).nodes(x.map(e=>new N.Node(e.props.noteData.y[0]||e.props.noteData.y,_e(e.props.noteData,d,u,r)+p))).compute(),E=new N.Force({minPos:void 0!==y.top?0+y.top:f?0:0-i.top,maxPos:void 0!==y.bottom?c[1]-y.bottom:c[1]+i.bottom}).nodes(v.map(e=>new N.Node(e.props.noteData.y[0]||e.props.noteData.y,_e(e.props.noteData,d,u,r)+p))).compute(),S=new N.Force({minPos:void 0!==y.left?0+y.left:h?0:0-i.left,maxPos:void 0!==y.right?c[0]-y.right:c[0]+i.right}).nodes(k.map(e=>new N.Node(e.props.noteData.x[0]||e.props.noteData.x,Ge(e.props.noteData,d,s)+p))).compute(),O=new N.Force({minPos:void 0!==y.left?0+y.left:0-i.left,maxPos:void 0!==y.right?c[0]-y.right:g?c[0]:c[0]+i.right}).nodes(j.map(e=>new N.Node(e.props.noteData.x[0]||e.props.noteData.x,Ge(e.props.noteData,d,s)+p))).compute(),w=Math.max(...j.map(e=>_e(e.props.noteData,d,u,r)+p)),M=Math.max(...k.map(e=>_e(e.props.noteData,d,u,r)+p)),P=Math.max(...x.map(e=>Ge(e.props.noteData,d,s)+p)),C=Math.max(...v.map(e=>Ge(e.props.noteData,d,s)+p)),z=A.nodes(),$=E.nodes(),D=S.nodes(),F=O.nodes();return x.forEach((t,a)=>{const o=0-z[a].layerIndex*P-Ve("left",l,n),r=z[a].currentPos;t.props.noteData.nx=o,t.props.noteData.ny=r,t.props.noteData.note&&!e.isValidElement(t)&&(t.props.noteData.note.orientation=t.props.noteData.note.orientation||"leftRight",t.props.noteData.note.align=t.props.noteData.note.align||"right")}),v.forEach((t,a)=>{const o=c[0]+$[a].layerIndex*C+Ve("right",l,n),r=$[a].currentPos;t.props.noteData.nx=o,t.props.noteData.ny=r,t.props.noteData.note&&!e.isValidElement(t)&&(t.props.noteData.note.orientation=t.props.noteData.note.orientation||"leftRight",t.props.noteData.note.align=t.props.noteData.note.align||"left")}),k.forEach((e,t)=>{const a=D[t].currentPos,o=0-D[t].layerIndex*M-Ve("top",l,n);e.props.noteData.nx=a,e.props.noteData.ny=o}),j.forEach((e,t)=>{const a=F[t].currentPos,o=c[1]+F[t].layerIndex*w+Ve("bottom",l,n);e.props.noteData.nx=a,e.props.noteData.ny=o}),t}return t})(r,g,t):r.map((t,n)=>{const o=Object.assign(Object.assign({},a[n].props.noteData),t.props.noteData);return e.createElement(Le,{key:t.key,noteData:o})}),i=[...a,...s]}return h&&(c=((e,t)=>{const n=t.map((t,n)=>e.htmlAnnotationRule(t,n,e)).filter(e=>null!=e);return n})(t,u)),{svgAnnotations:i,htmlAnnotations:c,adjustedAnnotations:a,adjustedAnnotationsKey:o,adjustedAnnotationsDataVersion:f}};function Xe(t){const{legendSettings:n,margin:a,size:o,annotations:s,annotationHandling:c}=t,l=Be(e=>e.tooltip);let d=null!=l?s.concat(l):s,u=Be(e=>e.changeTooltip);const p=Object.assign(Object.assign({},t),{annotations:d,voronoiHover:e=>{u(e)}}),y="object"==typeof c?c:{layout:{type:c},dataVersion:""},{dataVersion:m=""}=y,[h,g]=r([]),[f,b]=r([]),[x,v]=r([]),[k,j]=r(""),[A,E]=r(m),S=He(p,d),O=S.filter(e=>e.props&&e.props.noteData&&!e.props.noteData.fixedPosition),w=We(O,y,o);let M;if(i(()=>{const e=S.filter(e=>!e.props||!e.props.noteData||e.props.noteData.fixedPosition),t=Ye(p,{adjustedAnnotations:h,adjustedAnnotationsKey:k,adjustedAnnotationsDataVersion:A,adjustableAnnotations:O,fixedAnnotations:e});g(t.adjustedAnnotations),j(t.adjustedAnnotationsKey),E(t.adjustedAnnotationsDataVersion),b(t.svgAnnotations),v(t.htmlAnnotations)},[w,m,d.length,d.map(e=>function(e){const t=new Set;return JSON.stringify(e,(e,n)=>t.has(n)?"...":"object"==typeof n?(t.add(n),"note"===e?`${n.label}-${n.title}`:"connector"===e?`${n.end}-${n.type}`:"subject"===e?""+n.radius:"object"==typeof n.column?`${n.column.x}-${n.column.y}-${n.column.name}`:n.voronoiX||n.voronoiY||n.x||n.y||n.dx||n.dy||n.label||n.type||n.key||n.hierarchicalID||n.id||n.name?`${n.voronoiX}-${n.voronoiY}-${n.dx}-${n.dy}-${n.x}-${n.y}-${n.label}-${n.type}-${n.key}-${n.hierarchicalID}-${n.id}-${n.name}`:"..."):n)}(e)).join("-")]),n){const t={left:[15,15],right:[o[0]+15,15]},{position:a="right",title:r="Legend"}=n;M=e.createElement("g",{transform:`translate(${t[a].join(",")})`},e.createElement($e,Object.assign({},n,{title:r,position:a})))}return 0!==d.length||n?e.createElement("div",{className:"annotation-layer",style:{position:"absolute",pointerEvents:"none",background:"none"}},e.createElement("svg",{className:"annotation-layer-svg",height:o[1],width:o[0],style:{background:"none",pointerEvents:"none",position:"absolute",left:a.left+"px",top:a.top+"px",overflow:"visible"}},e.createElement("g",null,M,f)),e.createElement("div",{className:"annotation-layer-html",style:{background:"none",pointerEvents:"none",position:"absolute",height:o[1]+"px",width:o[0]+"px",left:a.left+"px",top:a.top+"px"}},x)):null}const qe=e=>e.reduce((e,t)=>e.concat(Array.isArray(t)?qe(t.slice().sort((e,t)=>e-t)):t),[]);function Ke(e=[]){if(!Array.isArray(e))return"not-array";let t=e.slice();Array.isArray(t[0])||(t=t.slice().sort((e,t)=>e-t));const n=""+qe(t).map(e=>e instanceof Date&&""+e||void 0!==e&&e.toFixed&&e.toFixed(2)||"empty");return n}function Ze(t){const{extent:n,selectedExtent:a}=t,o=c(null),r=Ke(n),s=Ke(a);i(()=>{(null==o?void 0:o.current)&&((e,t)=>{const{svgBrush:n,selectedExtent:a}=t;if(T(e).call(n),a){let t=a;if(Array.isArray(a[0])){const e=[t[0][1],t[1][1]].sort((e,t)=>e-t);t=[[t[0][0],e[0]],[t[1][0],e[1]]]}T(e).call(n.move,t)}})(o.current,t)},[r,s,o]);const{position:l=[0,0]}=t;return e.createElement("g",{transform:`translate(${l})`,ref:o,className:"xybrush"})}function Qe(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);a.length>o;o++)0>t.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]])}return n}"function"==typeof SuppressedError&&SuppressedError;const Ue="x",Je="y",et="yMiddle",tt="yTop",nt="yBottom",at="xMiddle",ot="xTop",rt="xBottom",st=(e,t)=>void 0===e?e:Object.assign(e&&e.data?Object.assign({points:t},e.data):{points:t},e),it=(e,t,n,a,o,r)=>{const s=st(t,o);if(a&&a(s),t){if(!0===n){const t=Object.assign({},s);t.type="column-hover"===t.type?"column-hover":"frame-hover",e(t,r)}else if(n){const t=(Array.isArray(n)?n:[n]).map(e=>{const t="function"==typeof e?e(s):e;if(t)return Object.assign({},s,t)}).filter(e=>e);e(t,r)}}else e(null)},ct=(e,t,n,a)=>{const o=st(e,n);t&&t(o,a)},lt=(e,t,n,a)=>{const o=st(e,n);t&&t(o,a)},dt=(e,t,n,a,o)=>{o&&o.start&&o.start(e,t,n,a)},ut=(e,t,n,a,o)=>{o&&o.during&&o.during(e,t,n,a)},pt=(e,t,n,a,o)=>{o&&o.end&&o.end(e,t,n,a)},yt=()=>({}),mt=2*Math.PI,ht=(e=1)=>(t,n)=>{const a=t[t.length-1];return a&&Math.round(a.x/e)===Math.round(n.x/e)&&Math.round(a.y/e)===Math.round(n.y/e)||t.push(n),t},gt=({x1:e,x2:t,y1:n,y2:a,sizeX1:o,sizeY1:r,sizeX2:s,sizeY2:i})=>`M${e},${n}L${t},${a}L${t+s},${a+i}L${e+o},${n+r}Z`;function ft(){const e=p();let t=function(e){return e.x},n=function(e){return e.y},a=function(e){return e.r},o=y;function r(r){if(r.multiple){const s=a,c=r.multiple.reduce((e,t)=>e+t.weight,0);a=()=>c;let l=i(r.points).filter(e=>"forward"===e.direction).reduce(ht(),[]);const d=[];return r.multiple.forEach((e,t)=>{a=()=>e.weight;const n=i(l);d.push(n);const o=r.multiple[t+1];if(o){const e=n.reverse().filter(e=>"back"===e.direction).reduce(ht(),[]);a=()=>o.weight;const t=i(e);l=t.reverse().filter(e=>"back"===e.direction).reduce(ht(),[])}}),a=s,d.map(a=>e.x(t).y(n).curve(o)(a))}const s=i(r).reduce(ht(),[]);return e.x(t).y(n).curve(o)(s)}return r.x=function(e){return arguments.length?(t=e,r):t},r.y=function(e){return arguments.length?(n=e,r):n},r.r=function(e){return arguments.length?(a=e,r):a},r.interpolate=function(e){return arguments.length?(o=e,r):o},r;function s(e){const o=n(e.target)-n(e.source),r=t(e.target)-t(e.source),s=Math.atan2(r,o)+Math.PI/2,i=s+.5*Math.PI,c=s+.5*Math.PI;return{x1:t(e.source)+a(e.source)*Math.cos(i),y1:n(e.source)-a(e.source)*Math.sin(i),x2:t(e.target)+a(e.target)*Math.cos(c),y2:n(e.target)-a(e.target)*Math.sin(c)}}function i(e){const t=[];let n=0,a={x1:0,y1:0,x2:0,y2:0};for(;e.length>n;){if(n!==e.length-1&&(a=s({source:e[n],target:e[n+1]}),t.push({x:a.x1,y:a.y1,direction:"forward"},{x:a.x2,y:a.y2,direction:"forward"}),t.length>3)){const e=t.length-1,n={a:t[e-3],b:t[e-2]},a={a:t[e-1],b:t[e]},o=c(n.a.x,n.a.y,n.b.x,n.b.y,a.a.x,a.a.y,a.b.x,a.b.y);!0===o.found&&(n.b.x=o.x,n.b.y=o.y,a.a.x=o.x,a.a.y=o.y)}n++}for(n--;n>=0;){if(0!==n&&(a=s({source:e[n],target:e[n-1]}),t.push({x:a.x1,y:a.y1,direction:"back"},{x:a.x2,y:a.y2,direction:"back"}),t.length>3)){const e=t.length-1,n={a:t[e-3],b:t[e-2]},a={a:t[e-1],b:t[e]},o=c(n.a.x,n.a.y,n.b.x,n.b.y,a.a.x,a.a.y,a.b.x,a.b.y);!0===o.found&&(n.b.x=o.x,n.b.y=o.y,a.a.x=o.x,a.a.y=o.y)}n--}return t}function c(e,t,n,a,o,r,s,i){let c,l;const d={x:null,y:null,found:!1},u=(i-r)*(n-e)-(s-o)*(a-t);if(0===u)return d;c=t-r,l=e-o;const p=(n-e)*c-(a-t)*l;return c=((s-o)*c-(i-r)*l)/u,l=p/u,d.x=e+c*(n-e),d.y=t+c*(a-t),c>0&&1>c&&l>0&&1>l&&(d.found=!0),d}}const bt=({xy:t,orient:n,i:a,className:o="",jaggedBase:r})=>{let s=`M${t.x1},${t.y1}L${t.x2},${t.y2}`;return r&&0===a&&(s=((e,t)=>{let n="";const{x1:a,x2:o,y1:r,y2:s}=t;if("left"===e||"right"===e){const t=Math.abs(o-a);n=((e,t,n,a)=>{const o=e/t;let r=0,s="M0,"+n;const i="right"===a?-1:1;for(;e>=r;)s+=`L${r},${n}`,e>r&&(s+=`L${r+o/2},${n+10*i}`),r+=o;return s})(t,Math.ceil(t/40),"right"===e?0:r,e)}else{const t=Math.abs(s-r);n=((e,t,n,a)=>{const o=e/t;let r=0,s=`M${n},0`;const i="bottom"===a?-1:1;for(;e>=r;)s+=`L${n},${r}`,e>r&&(s+=`L${n+10*i},${r+o/2}`),r+=o;return s})(t,Math.ceil(t/40),a,e)}return n})(n,t)),e.createElement("path",{key:a,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:s,className:`tick-line tick ${n} ${o}`})};function xt(e,t,n){const a=Math.abs(n.range()[1]-n.range()[0]);return e||(t||(t=Math.max(1,Math.floor(a/40))),e=n.ticks&&n.ticks(t)||n.domain()),e}function vt({renderMode:e=()=>{},padding:t=5,scale:n,ticks:a,tickValues:o=xt(void 0,a,n),orient:r="left",size:s,footer:i=!1,tickSize:c=(i?-10:["top","bottom"].find(e=>e===r)?s?s[1]:0:s?s[0]:0),jaggedBase:l}){let d,u,p,y,m,h,g=[],f=0,b=0,x="middle";switch(r){case"top":d="x1",u="x2",p="y1",y="y2",g=[0,c],m="tx",h="ty",f-=20-t;break;case"bottom":d="x1",u="x2",p="y2",y="y1",g=s?[s[1],s[1]-c]:[0,-c],m="tx",h="ty",f+=20+t;break;case"right":d="y2",u="y1",p="x2",y="x1",g=s?[s[0],s[0]-c]:[0,-c],m="ty",h="tx",f+=5+t,b+=5,x="start";break;default:d="y1",u="y2",p="x1",y="x2",g=[0,c],m="ty",h="tx",f-=5+t,b+=5,x="end"}let v=o instanceof Function?o({orient:r}):o;return l&&void 0===v.find(e=>e===n.domain()[0])&&(v=[n.domain()[0],...v]),v.map((t,a)=>{const o=n(t);return{[d]:o,[u]:o,[p]:g[0],[y]:g[1],[m]:o+b,[h]:g[0]+f,defaultAnchor:x,renderMode:e(t,a),value:t}})}const kt=(t,n,a)=>{const o={left:{x:0,y:0,width:0,height:n?n[1]:0},right:{x:n?n[0]:0,y:0,width:0,height:n?n[1]:0},top:{x:0,y:0,width:n?n[0]:0,height:0},bottom:{x:0,y:n?n[1]:0,width:n?n[0]:0,height:0}}[t];return e.createElement("line",{key:"baseline",className:"axis-baseline "+a,stroke:"currentColor",strokeLinecap:"square",x1:o.x,x2:o.x+o.width,y1:o.y,y2:o.y+o.height})},jt=({axisParts:t,orient:n,tickLineGenerator:a=bt,className:o,jaggedBase:r,scale:s,showOutboundTickLines:i=!1})=>{const c=t.map((e,t)=>a({xy:e,orient:n,i:t,className:o,jaggedBase:r,scale:s})),l=i?t.map((t,a)=>(({xy:t,orient:n,i:a,className:o=""})=>{let r=`M-4,${t.y1}L${t.x1},${t.y2}`;return"left"===n?r=`M${t.x1-8},${t.y1}L${t.x1},${t.y2}`:"right"===n?r=`M${t.x2},${t.y1}L${t.x2+8},${t.y2}`:"top"===n?r=`M${t.x1},${t.y1-8}L${t.x1},${t.y1}`:"bottom"===n&&(r=`M${t.x1},${t.y2}L${t.x1},${t.y2+8}`),e.createElement("path",{key:a,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:r,className:`outbound-tick-line tick ${n} ${o}`})})({xy:t,orient:n,i:a,className:o})):[];return[...c,l]};function At({t:e,o:t,w:n}){return"contour"!==e&&"boxplot"!==e||"left"!==t&&"right"!==t?0:n/2}function Et({t:e,o:t,w:n}){return"contour"!==e&&"boxplot"!==e||"top"!==t&&"bottom"!==t?0:n/2}function St(e){const{translation:n,orient:a,decoratedSummaryType:o,summaryWidth:r,renderedSummary:s,points:i}=e;return t.createElement("g",{className:"marginal-graphics",transform:`translate(${n[a]})`},t.createElement("g",{transform:`translate(${At({t:o.type,o:a,w:r})},${Et({t:o.type,o:a,w:r})})`},s),i)}function Ot(e){const{className:n,translation:a,position:o,rotation:r,labelName:s,anchorMod:i}=e;return t.createElement("g",{className:"axis-title "+n,transform:`translate(${[a[0]+o[0],a[1]+o[1]]}) rotate(${r})`},t.isValidElement(s)?s:t.createElement("text",{textAnchor:i},s))}function wt(e,t,n){const a=Math.PI*(t+.75)*2;return[e[0]+n*Math.cos(a),e[1]+n*Math.sin(a)]}const Mt=({data:t,shouldRender:n,canvasRender:a,canvasDrawing:o,styleFn:r,classFn:s,renderKeyFn:i,ariaLabel:c,axis:l})=>{const d=l&&l[0]&&l[0].tickFormat;if(!n)return null;const u=[];return t.forEach((t,n)=>{if(a&&!0===a(t))o.push({baseClass:"orframe-piece",tx:t.tx||0,ty:t.ty||0,d:t.piece,i:n,markProps:t.renderElement||t,styleFn:r,renderFn:()=>t.renderValue,classFn:s});else if(e.isValidElement(t.renderElement||t))u.push(t.renderElement||t);else{const a=c?`${t.o} ${c.items} value ${d&&d(t.piece.value)||t.piece.value}`:"",o=i?i(t.piece):t.renderKey||"piece-render-"+n,r=t.renderElement||t,{markType:s,style:l={}}=r,p=Qe(r,["markType","style"]),y=Object.assign(Object.assign({},p),{key:o,"aria-label":a});void 0!==l.fill&&(y.fill=l.fill),void 0!==l.stroke&&(y.stroke=l.stroke),void 0!==l.strokeWidth&&(y.strokeWidth=l.strokeWidth),void 0!==l.opacity&&(y.opacity=l.opacity),void 0!==l.fillOpacity&&(y.fillOpacity=l.fillOpacity),void 0!==l.strokeOpacity&&(y.strokeOpacity=l.strokeOpacity);const m=Object.assign({},l);delete m.fill,delete m.stroke,delete m.strokeWidth,delete m.opacity,delete m.fillOpacity,delete m.strokeOpacity,Object.keys(m).length>0&&(y.style=m),s&&u.push(e.createElement(s,y))}}),u},Pt=()=>({});function Ct(e,t){for(var n=[],a=0;e>a;a++){for(var o=[],r=0;t>r;r++)o.push(0);n.push(o)}return n}function zt(e,t,n,a){var o;if(e>0){var r=(n[t]-n[e-1])/(t-e+1);o=a[t]-a[e-1]-(t-e+1)*r*r}else o=a[t]-n[t]*n[t]/(t+1);return 0>o?0:o}function Nt(e,t,n,a,o,r,s){if(t>=e){var i=Math.floor((e+t)/2);a[n][i]=a[n-1][i-1],o[n][i]=i;var c=n;e>n&&(c=Math.max(c,o[n][e-1]||0)),c=Math.max(c,o[n-1][i]||0);var l,d,u,p,y=i-1;a[0].length-1>t&&(y=Math.min(y,o[n][t+1]||0));for(var m=y;m>=c&&(l=zt(m,i,r,s))+a[n-1][c-1]<a[n][i];--m)d=zt(c,i,r,s),a[n][i]>(u=d+a[n-1][c-1])&&(a[n][i]=u,o[n][i]=c),c++,a[n][i]>(p=l+a[n-1][m-1])&&(a[n][i]=p,o[n][i]=m);Nt(e,i-1,n,a,o,r,s),Nt(i+1,t,n,a,o,r,s)}}function $t({summaryType:e,data:t,finalXExtent:n,finalYExtent:a}){let o=[];e.type||(e={type:e});const{resolution:r=500,thresholds:s=10,bandwidth:i=20,neighborhood:c}=e,l=M().domain(n).rangeRound([0,r]).nice(),d=M().domain(a).rangeRound([r,0]).nice();return t.forEach(e=>{let t=_().size([r,r]).x(e=>l(e[0])).y(e=>d(e[1])).thresholds(s).bandwidth(i)(e._xyfCoordinates);c&&(t=[t[0]]);const n=Math.max(...t.map(e=>e.value));t.forEach(t=>{t.parentSummary=e,t.bounds=[],t.percent=t.value/n,t.coordinates.forEach(e=>{e.forEach((n,a)=>{e[a]=n.map(e=>[l.invert(e[0]),d.invert(e[1])]),0===a&&t.bounds.push(function(e){let t=[1/0,0],n=[-1/0,0],a=[0,1/0],o=[0,-1/0];return e.forEach(e=>{t=t[0]>e[0]?e:t,n=e[0]>n[0]?e:n,o=e[1]>o[1]?e:o,a=a[1]>e[1]?e:a}),{center:[(t[0]+n[0])/2,(a[1]+o[1])/2],top:a,left:t,right:n,bottom:o}}(e[a]))})})}),o=[...o,...t]}),o}const Dt=(e,t,n,a)=>{const o=e.map((e,a)=>[e[0],e[1]+n(t[a])]),r=e.map((e,n)=>[e[0],e[1]-a(t[n])]);return[...o,...r.reverse()]};function Ft(e){let t=[1/0,0],n=[-1/0,0],a=[0,1/0],o=[0,-1/0];return e.forEach(e=>{t=t[0]>e[0]?e:t,n=e[0]>n[0]?e:n,o=e[1]>o[1]?e:o,a=a[1]>e[1]?e:a}),{center:[(t[0]+n[0])/2,(a[1]+o[1])/2],top:a,left:t,right:n,bottom:o}}const Tt=e=>[e.xy.x,e.xy.y],Lt={step:S,stepbefore:E,stepafter:A,cardinal:h,basis:j,linear:k,catmullrom:v,monotone:b,monotonex:x,monotoney:b,natural:f};function Rt({generator:e,projectedCoordinateNames:t,defined:n,xScale:a,yScale:o,interpolator:r,simpleLine:s}){const{x:i,y:c,yTop:l,yBottom:d,xBottom:u,xTop:p}=t;e.x(e=>a(e[i])).curve(r),s?e.y(e=>o(e[c])):(e.y0(e=>o(e[d])).y1(e=>o(e[l])),e.x0(e=>a(e[u])).x1(e=>a(e[p]))),e.defined(n?(e,t)=>n(e,t):e=>!e._xyFrameUndefined)}function Bt({xScale:t,yScale:n,canvasDrawing:a,data:o,projectedCoordinateNames:r,customMark:s,canvasRender:i,styleFn:c,classFn:l,renderKeyFn:d,renderMode:u,showLinePoints:p}){const{y:y,x:m,xMiddle:h,yMiddle:g,yTop:f,yBottom:b}=r,x={top:f,bottom:b}[!0===p?void 0:p],v=[];return o.forEach((o,r)=>{const p=t(void 0!==o[h]?o[h]:o[m]),f=n(void 0!==o[x]?o[x]:void 0!==o[g]?o[g]:o[y]),b=`Point at x ${o.x} and y ${o.y}`,k=s?e.isValidElement(s)?s:s({d:o.data,xy:o,i:r,xScale:t,yScale:n}):void 0,j=s?Object.assign(Object.assign({},k.props),{"aria-label":b}):{key:"piece-"+r,markType:"circle",r:2,"aria-label":b};!k||!k.props||k.props.markType||i&&!0===i(o.data,r)?i&&!0===i(o.data,r)?a.push({type:"point",baseClass:"frame-piece",tx:p,ty:f,d:o,i:r,markProps:j,styleFn:c,renderFn:u,classFn:l}):(Array.isArray(o[y])?o[y].map(e=>n(e)):[f]).forEach((e,n)=>{(Array.isArray(o[m])?o[m].map(e=>t(e)):[p]).forEach((t,a)=>{v.push(It({baseClass:"frame-piece",tx:t,ty:e,d:o.data&&Object.assign(Object.assign({},o),o.data)||o,i:0===n&&0===a?r:`${r}-${n}-${a}`,markProps:j,styleFn:c,renderKeyFn:d,classFn:l,yi:n}))})}):v.push(e.createElement("g",{transform:`translate(${p},${f})`,key:d?d(o.data,r):"custom-point-mark-"+r,style:c?c(o.data,r):{},className:l?l(o.data,r):""},k))}),v}function Vt({xScale:t,yScale:n,canvasDrawing:a,data:o,projectedCoordinateNames:r,customMark:s,canvasRender:i,styleFn:c,classFn:l,renderMode:d,renderKeyFn:u,type:y,defined:m,ariaLabel:h,axesData:f=[]}){const b=f.find(e=>"bottom"===e.orient||"top"===e.orient),x=f.find(e=>"left"===e.orient||"right"===e.orient),v=b&&b.tickFormat||(e=>e),j=x&&x.tickFormat||(e=>e),A="object"==typeof y?y:{type:y},E="string"==typeof A.interpolator?Lt[A.interpolator]:A.interpolator||k,S=A.simpleLine?p():g();Rt({projectedCoordinateNames:r,defined:m,interpolator:E,generator:S,xScale:t,yScale:n,simpleLine:A.simpleLine});const O=E.dynamicInterpolator&&((e,a)=>{const o=g();return Rt({projectedCoordinateNames:r,defined:m,interpolator:E.dynamicInterpolator(e,a),generator:o,xScale:t,yScale:n,simpleLine:A.simpleLine}),o})||(()=>S),w=[];if(o.forEach((e,o)=>{const y=e.data.map(e=>Object.assign(Object.assign({},e.data),e));if(s&&"function"==typeof s){const r=Object.assign(Object.assign({},e),{data:y});w.push(s({d:r,i:o,xScale:t,yScale:n,canvasDrawing:a}))}else{const s={};A.simpleLine&&(s.fill="none",s.stroke="black");const g=O(e,o)(y),f=Object.assign(Object.assign({},s),{markType:"path",d:g,"aria-label":e.data&&e.data.length>0&&h&&`${e.data.length} point ${h.items} starting value ${j(e.data[0].y)} at ${v(e.data[0].x)} ending value ${j(e.data[e.data.length-1].y)} at ${v(e.data[e.data.length-1].x)}`});if(i&&!0===i(e,o))a.push({type:"line",baseClass:"xyframe-line",tx:0,ty:0,d:e,i:o,markProps:f,styleFn:c,renderFn:d,classFn:l});else{let a=c;if("area"===A.type&&!0!==A.enclosed&&(a=(e,t)=>Object.assign(Object.assign({},c(e,t)),{stroke:"none"})),w.push(It({baseClass:"xyframe-line",d:e,i:o,markProps:f,styleFn:a,renderKeyFn:u,classFn:l})),"area"===A.type&&!0!==A.enclosed){const a=(e,t)=>Object.assign(Object.assign({},c(e,t)),{fill:"none"}),s=p();Rt({projectedCoordinateNames:r,defined:m,interpolator:E,generator:s,xScale:t,yScale:n,simpleLine:!0});const i=Object.assign(Object.assign({},f),{d:s(y)}),d=u?(e,t,n)=>u(e,t,n)+"-top":void 0;w.push(It({baseClass:"xyframe-line-top",d:e,i:o,markProps:i,styleFn:a,renderKeyFn:d,classFn:l}))}}}}),"difference"===A.type&&2===o.length){const a=o[0].data.map((e,t)=>{const n=e.yTop>o[1].data[t].yTop?e.yTop:e.yBottom;return{x:e.x,y:n,yBottom:n,yTop:n}}),s=o[0].data.map((e,t)=>{const n=o[1].data[t].yTop>e.yTop?o[1].data[t].yTop:o[1].data[t].yBottom;return{x:e.x,y:n,yBottom:n,yTop:n}}),i=l?"xyframe-line "+l(a):"xyframe-line",c=p();Rt({projectedCoordinateNames:r,defined:m,interpolator:E,generator:c,xScale:t,yScale:n,simpleLine:!0});const d=e.createElement("path",{key:"xyline-diff-a",className:i+" difference-overlay-a",d:c(a),style:{fill:"none",pointerEvents:"none"}});w.push(d);const u=e.createElement("path",{key:"xyline-diff-b",className:i+" difference-overlay-b",d:c(s),style:{fill:"none",pointerEvents:"none"}});w.push(u)}return w}function Wt({xScale:t,yScale:n,canvasDrawing:a,data:o,canvasRender:r,styleFn:s,classFn:i,renderKeyFn:c,renderMode:l,customMark:d}){const u=i||(()=>""),y=s||(()=>({})),m=l;Array.isArray(o)||(o=[o]);const h=[];return o.forEach((o,s)=>{let i="xyframe-summary";u&&(i="xyframe-summary "+u(o));let l="",g=!1;if("string"==typeof o.customMark||e.isValidElement(o.customMark))l=o.customMark,g=!0;else if("MultiPolygon"===o.type)o.coordinates.forEach(e=>{e.forEach(e=>{l+=`M${e.map(e=>`${t(e[0])},${n(e[1])}`).join("L")}Z `})});else if(d){const e=o._xyfCoordinates.map(e=>[t(e[0]),n(e[1])]);l=d({d:o,i:s,classFn:u,styleFn:y,renderFn:m,projectedCoordinates:e,xScale:t,yScale:n,bounds:Ft(e)}),g=!0}else{const e=o._xyfCoordinates;if(o.curve){const a=p().x(e=>t(e[0])).y(e=>n(e[1])).curve(o.curve);l=a(e)}else l=`M${e.map(e=>`${t(e[0])},${n(e[1])}`).join("L")}Z`}const f=c?c(o,s):"summary-"+s;g&&e.isValidElement(l)?h.push(l):r&&!0===r(o,s)?a.push({type:"summary",baseClass:"xyframe-summary",tx:0,ty:0,d:o,i:s,markProps:{markType:"path",d:l},styleFn:y,renderFn:m,classFn:()=>i}):h.push(e.createElement("path",{"data-testid":"xyframe-summary",key:f,className:i,d:l,style:y(o,s)}))}),h}function It({tx:t,ty:n,d:a,i:o,markProps:r,styleFn:s,classFn:i,renderKeyFn:c,baseClass:l,yi:d}){if(r.style=s?s(a,o,d):{},r.className=l,r.key=c?c(a,o,d):`${l}-${void 0===a.key?o:a.key}`,(t||n)&&(r.transform=`translate(${t||0},${n||0})`),i&&(r.className=`${l} ${i(a,o,d)}`),r.style.r&&(r.r=r.style.r),r["data-testid"]=l,!r.markType)return e.createElement(r);const{markType:u}=r,p=Qe(r,["markType"]);return e.createElement(u,p)}const Gt=(e,t)=>e.xy.y-t.xy.y,_t=(e,t)=>t.xy.x-e.xy.x,Ht=()=>({});function Yt({summary:t,summaryI:n,axisSettings:a,axisCreator:o,projection:r,actualMax:s,adjustedSize:i,columnWidth:c}){let l=`translate(${t.x},0)`,d=[0,s];"horizontal"===r?(l=`translate(0,${t.x})`,d=[s,0]):"radial"===r&&(l="translate(0, 0)"),a.size=["horizontal"===r?i[0]:c,"vertical"===r?i[1]:c];const u=o(a,n,M().domain(d).range([0,c]));return e.createElement("g",{className:"summary-axis",key:"summaryPiece-axis-"+n,transform:l},u)}function Xt({data:e,type:t,eventListenersGenerator:n,styleFn:a,classFn:o,projection:r,adjustedSize:s,chartSize:i,axisCreator:c}){const l=[],d=[],u=t.bins||25,y=!!t.relative&&{},h=t.binValue||(e=>e.length),f=t.elementStyleFn||Ht;let b;t.axis&&(t.axis.orient="horizontal"===r&&-1===["left","right"].indexOf(t.axis.orient)?"left":t.axis.orient,t.axis.orient="vertical"===r&&-1===["bottom","top"].indexOf(t.axis.orient)?"bottom":t.axis.orient,b=c,"radial"===r&&(console.error("Summary axes cannot be drawn for radial histograms"),b=()=>null));let x=i/u;const j=Object.keys(e);let A=0;const E=B(),S=[0,i],O=[];for(let e=0;u>e;e++)O.push(S[0]+e/u*i);const w="vertical"===r?e=>e.piece.scaledVerticalValue:e=>e.piece.scaledValue,M=E.domain(S).thresholds(O).value(w),P=j.map((n,a)=>{const o=e[n],s=o.xyData,c=s.sort("vertical"===r?Gt:_t);let l;if(!1===t.useBins){const e=c.map(e=>w(e));l=c.map((t,n)=>{const a=[];return a.x0=e[n]-1,a.x1=e[n]+1,a.push(t),a}).sort((e,t)=>e.x0-t.x0),x=i/l.length}else l=M(c);l=l.map(e=>({y:e.x0,y1:e.x1-e.x0,pieces:e,value:h(e.map(e=>e.piece.data))})),"histogram"!==t.type&&"heatmap"!==t.type||(l=l.filter(e=>0!==e.value));const d=0===l.length?0:V(l.map(e=>e.value));return y&&(y[n]=d),A=Math.max(A,d),{bins:l,summary:o,summaryI:a,thisSummaryData:s}}),C=t.horizon?A/t.horizon:t.numHorizons||4,z=t.horizon||A/C;return P.forEach(({bins:e,summary:i,summaryI:c,thisSummaryData:u})=>{const j=n(i,c),E=i.width;let S=u[0]?a(u[0].piece.data,c):{},O=u[0]?o(u[0].piece.data,c):"",w=[i.middle,0];"horizontal"===r?w=[x,i.middle]:"radial"===r&&(w=[s[0]/2,s[1]/2]);const M=y&&y[i.name]||A;if("heatmap"===t.type||"histogram"===t.type){const n=(({bins:e,binMax:t,relativeBuckets:n,columnWidth:a,projection:o,adjustedSize:r,summaryI:s,summary:i,summaryStyle:c,type:l})=>{const d=[],u=[],p=n&&n[i.name]||t,y=l.elementStyleFn||yt,h=l.padding||0;return e.forEach((e,t)=>{const n=e.value/p,g=y(e.value,n,e.pieces),f=Object.assign("heatmap"===l.type?{opacity:n,fill:c.fill}:Object.assign({},c),g),b=Math.max(1,e.y1-2*h),x="heatmap"===l.type?a:a*n;let v=e.y+h,k="heatmap"===l.type||l.flip?-a/2:a/2-x,j=b,A=x,E="heatmap"===l.type?x/2:x,S=e.y1/2;if("horizontal"===o)v="heatmap"===l.type||l.flip?-a/2:a/2-x,k=e.y-e.y1+h,j=x,A=b,S="heatmap"===l.type?x/2:x,E=e.y1/2;else if("radial"===o){const a=m().innerRadius(e.y/2).outerRadius((e.y+e.y1)/2),o=i.pct-i.pct_padding;let c=i.pct_middle-i.pct_padding,p="heatmap"===l.type?c+o:c+o*n;c*=mt,p*=mt;const y=r[0]/2,h=r[1]/2,g=`translate(${y},${h})`,b=a.centroid({startAngle:c,endAngle:p});u.push({key:i.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:b[0]+y,y:b[1]+h}),d.push({markType:"path",transform:g,key:`groupIcon-${s}-${t}`,d:a({startAngle:c,endAngle:p}),style:f})}"radial"!==o&&(u.push({key:i.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:k+E,y:v+S}),d.push({markType:"rect",key:`groupIcon-${s}-${t}`,x:k,y:v,height:j,width:A,style:f}))}),{marks:d,points:u}})({bins:e,binMax:A,relativeBuckets:y,columnWidth:E,projection:r,adjustedSize:s,summaryI:c,summary:i,summaryStyle:S,type:t}),a=n.marks;"radial"===r&&(w=[0,0]),t.axis&&"histogram"===t.type&&l.push({type:"svg-only-mark",Mark:Yt({summary:i,summaryI:c,axisSettings:t.axis,axisCreator:b,projection:r,actualMax:M,adjustedSize:s,columnWidth:E})}),n.points.forEach(e=>{e.x+=w[0],e.y+=w[1]}),d.push(...n.points),l.push({containerProps:Object.assign(Object.assign({},j),{transform:`translate(${w})`,className:O,key:"summaryPiece-"+c,role:"img",tabIndex:-1,"data-o":i.name,"aria-label":`${i.name} ${t.type}`}),elements:a})}else if("violin"===t.type){const{iqr:n}=t,s=t.subsets||[!1],p=[];e[0].y=e[0].y-x/2,e[e.length-1].y=e[e.length-1].y+x/2,s.forEach((s,l)=>{let y=e;s&&(S=u[0]?a(u[0].piece.data,c,l):{},O=u[0]?o(u[0].piece.data,c,l):"",y=e.map(e=>{const t=e.pieces.filter((e,t)=>s(e.piece,t)).map(e=>e),n=h(t);return Object.assign(Object.assign({},e),{pieces:t,value:n})}));let m=g().curve(t.curve||v),b=[];if("horizontal"===r)y.forEach(e=>{const t=e.y-x/2,n=e.value/M*E/2;b.push({x:t,y0:-n,y1:n}),d.push({key:i.name,x:t+w[0],y:n+w[1],pieces:e.pieces.map(e=>e.piece),value:e.value})}),m.x(e=>e.x).y0(e=>e.y0).y1(e=>e.y1).defined((e,t)=>0!==e.y0||b[t-1]&&0!==b[t-1].y0||b[t+1]&&0!==b[t+1].y0);else if("vertical"===r)y.forEach(e=>{const t=e.y+x/2,n=e.value/M*E/2;b.push({y:t,x0:-n,x1:n}),d.push({key:i.name,x:n+w[0],y:t+w[1],pieces:e.pieces.map(e=>e.piece),value:e.value})}),m.y(e=>e.y).x0(e=>e.x0).x1(e=>e.x1).defined((e,t)=>0!==e.x0||b[t-1]&&0!==b[t-1].x0||b[t+1]&&0!==b[t+1].x0);else if("radial"===r){const e=i.pct-i.pct_padding/2,t=i.pct_middle;b=y,m=n=>{const a=[],o=[];return n.forEach(n=>{const r=wt([0,0],t+e*n.value/M/2,(n.y+n.y1-x/2)/2),s=wt([0,0],t-e*n.value/M/2,(n.y+n.y1-x/2)/2);d.push({key:i.name,x:s[0]+w[0],y:s[1]+w[1],pieces:n.pieces.map(e=>e.piece),value:n.value}),d.push({key:i.name,x:r[0]+w[0],y:r[1]+w[1],pieces:n.pieces.map(e=>e.piece),value:n.value}),a.push(r),o.push(s)}),`M${a.map(e=>e.join(",")).join("L")}L${o.reverse().map(e=>e.join(",")).join("L")}Z`}}if(p.push(Object.assign(Object.assign({},j),{transform:`translate(${w})`,key:`summaryPiece-${c}-${l}`,markType:"path",className:O,style:S,d:m(b),role:"img",tabIndex:-1,"data-o":i.name,"aria-label":i.name+" distribution"})),n){let e=[];y.forEach(t=>{e.push(...t.pieces)}),e=e.map(e=>"vertical"===r?e.piece.scaledVerticalValue:e.piece.scaledValue).sort((e,t)=>e-t);const t=[R(e,.25),R(e,.5),R(e,.75)],n="vertical"===r?(e,t,n)=>`M${n[0]},${e}L${n[0]},${t}`:(e,t,n)=>`M${e},${n[1]}L${t},${n[1]}`;p.push(Object.assign(Object.assign({},j),{key:`summaryPiece-${c}-${l}-iqr-line`,markType:"path",className:O,style:Object.assign(Object.assign({stroke:"black",strokeWidth:"2px"},S),f("iqr")),d:n(t[0],t[2],w),role:"img",tabIndex:-1,"data-o":i.name,"aria-label":i.name+" distribution"})),p.push(Object.assign(Object.assign({},j),{key:`summaryPiece-${c}-${l}-iqr-median`,markType:"circle",className:O,style:Object.assign(Object.assign({stroke:"black",fill:"black",strokeWidth:"1px",r:"3px"},S),f("median")),cx:"vertical"===r?w[0]:t[1],cy:"vertical"===r?t[1]:w[1],role:"img",tabIndex:-1,"data-o":i.name,"aria-label":i.name+" distribution"}))}}),l.push({elements:p})}else if("ridgeline"===t.type){const n=Object.assign({},e[0],{value:0}),a=Object.assign({},e[e.length-1],{value:0});n.y=n.y-x/2,a.y=a.y+x/2;const o=[n,...e,a];let u=[];const y=t.curve||t.interpolator,m="string"==typeof y?Lt[y]:y;let h=p().curve(m||v).x(e=>e.x).y(e=>e.y);const g=t.amplitude||0;if(t.axis&&"histogram"===t.type&&l.push({type:"svg-only-mark",Mark:Yt({summary:i,summaryI:c,axisSettings:Object.assign({baseline:!1},t.axis),axisCreator:b,projection:r,actualMax:M,adjustedSize:s,columnWidth:E})}),"horizontal"===r)o.forEach((e,n)=>{const a=e.y-x/2,r=t.flip?e.value/M*(E+g)-E/2:-e.value/M*(E+g)+E/2;u.push({y:r,x:a}),0!==n&&n!==o.length-1&&d.push({key:i.name,x:a+w[0],y:r+w[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("vertical"===r)o.forEach(e=>{const n=e.y+x/2,a=!0===t.flip?e.value/M*(E+g)-E/2:-e.value/M*(E+g)+E/2;u.push({y:n,x:a}),d.push({key:i.name,x:a+w[0],y:n+w[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("radial"===r){const e=i.pct-i.pct_padding/2,t=i.pct_start+i.pct_padding/2;w=[0,0],u=o,h=n=>{const a=[];return n.forEach(n=>{const o=wt([s[0]/2,s[1]/2],t+e*n.value/M,(n.y+n.y1-x/2)/2);d.push({key:i.name,x:o[0]+w[0],y:o[1]+w[1],pieces:n.pieces.map(e=>e.piece),value:n.value}),a.push(o)}),`M${a.map(e=>e.join(",")).join("L")}Z`}}t.axis&&l.push({type:"svg-only-mark",Mark:Yt({summary:i,summaryI:c,axisSettings:t.axis,axisCreator:b,projection:r,actualMax:M,adjustedSize:s,columnWidth:E})}),l.push({elements:[Object.assign(Object.assign({},j),{transform:`translate(${w})`,key:"summaryPiece-"+c,markType:"path",className:O,style:S,d:h(u),role:"img",tabIndex:-1,"data-o":i.name,"aria-label":i.name+" distribution"})]})}else if("horizon"===t.type){const n=Object.assign({},e[0],{value:0}),a=Object.assign({},e[e.length-1],{value:0});n.y=n.y-x/2,a.y=a.y+x/2;const o=[n,...e,a];let u=[],y=!0,m=0;for(;!0===y;){const e=o.map(e=>Object.assign(Object.assign({},e),{value:Math.max(0,Math.min(e.value-m,z))}));u.push(e.map(e=>Object.assign(Object.assign({},e),{value:e.value*C}))),m+=z,V(e.map(e=>e.value))<z&&(y=!1)}u=u.filter(e=>W(e,e=>e.value)>0),o.forEach((e,n)=>{0!==n&&n!==o.length-1&&("horizontal"===r?d.push({key:i.name,x:e.y-x/2+w[0],y:-e.value/M*E+E/2+w[1],pieces:e.pieces.map(e=>e.piece),value:e.value}):"vertical"===r&&d.push({key:i.name,x:(!0===t.flip?e.value/M*E-E/2:-e.value/M*E+E/2)+w[0],y:e.y+x/2+w[1],pieces:e.pieces.map(e=>e.piece),value:e.value}))});const h=u.map((e,n)=>{let a=[];const o=t.curve||t.interpolator,l="string"==typeof o?Lt[o]:o;let d=p().curve(l||k).x(e=>e.x).y(e=>e.y);if("horizontal"===r)e.forEach(e=>{a.push({y:-e.value/M*E+E/2,x:e.y-x/2})});else if("vertical"===r)e.forEach(e=>{a.push({y:e.y+x/2,x:!0===t.flip?e.value/M*E-E/2:-e.value/M*E+E/2})});else if("radial"===r){const t=i.pct-i.pct_padding/2,n=i.pct_start+i.pct_padding/2;w=[0,0],a=e,d=e=>{const a=[];return e.forEach(e=>{const o=wt([s[0]/2,s[1]/2],n+t*e.value/M,(e.y+e.y1-x/2)/2);a.push(o)}),`M${a.map(e=>e.join(",")).join("L")}Z`}}return Object.assign(Object.assign({},j),{transform:`translate(${w})`,key:`summaryPiece-${c}-${n}`,markType:"path",className:O,style:Object.assign(Object.assign({},S),f(e,n)),d:d(a),role:"img",tabIndex:-1,"data-o":i.name,"aria-label":i.name+" distribution"})});t.axis&&l.push({type:"svg-only-mark",Mark:Yt({summary:i,summaryI:c,axisSettings:t.axis,axisCreator:b,projection:r,actualMax:M,adjustedSize:s,columnWidth:E})}),l.push({elements:h})}}),{marks:l,xyPoints:d,thresholds:O}}const qt={contour:function({data:e,type:t,eventListenersGenerator:n,styleFn:a,classFn:o,adjustedSize:r}){const s=[],i=[];return Object.keys(e).forEach((c,l)=>{const d=e[c];t.thresholds=t.thresholds||8,t.bandwidth=t.bandwidth||12,t.resolution=t.resolution||1e3;const u=[{id:d,_xyfCoordinates:d.xyData.map(Tt)}],p=$t({summaryType:t,data:u,finalXExtent:[0,r[0]],finalYExtent:[0,r[1]]}),y=[];p.forEach((e,t)=>{e.coordinates.forEach((r,s)=>{const i=n(e,t);y.push(Object.assign(Object.assign({},i),{key:`${t}-${s}`,style:a(d.pieceData[0].data,l),className:o(d.pieceData[0].data,l),markType:"path",d:`M${e.coordinates[0].map(e=>e.join(",")).join("L")}Z`}))})}),s.push({containerProps:{key:"contour-container-"+l,role:"img",tabIndex:-1,"data-o":c,"aria-label":`${c} boxplot showing ${i.filter(e=>e.key===c).map(e=>`${e.label} ${e.value}`)}`},elements:y})}),{marks:s,xyPoints:i}},boxplot:function({data:e,type:t,eventListenersGenerator:n,styleFn:a,classFn:o,projection:r,adjustedSize:s}){const i=t.elementStyleFn||Pt,{outliers:c,fixedInput:l}=t,d=[],u=[];return Object.keys(e).forEach((t,p)=>{const y=e[t],h=n(y,p),g=y.width,f=y.pieceData,b=a(f[0].data,p),x=o(f[0].data,p);let v,k,j,A,E,S,O,w,M,P,C,z,N,$,D,F,T,L,B,V,W,I,G,_,H,Y,X,q,K,Z,Q;k=f.map(e=>e.value).sort((e,t)=>e-t),!0===l&&5===k.length||(k=[R(k,0),R(k,.25),R(k,.5),R(k,.75),R(k,1)]);const U=k[3]-k[1];let J,ee;c&&(J=k[1]-1.5*U,ee=k[3]+1.5*U,k[0]=Math.max(k[0],J),k[4]=Math.min(k[4],ee));const te="vertical"===r?e=>e.scaledVerticalValue:e=>e.scaledValue,ne=[...f].sort((e,t)=>e.value-t.value),ae=ne[0].value,oe=ne[ne.length-1].value,re=te(ne[0]),se=te(ne[ne.length-1]);if(v=k.map(e=>oe===ae?(re+se)/2:re+(e-ae)/(oe-ae)*(se-re)),"vertical"===r){j=`translate(${y.x+y.width/2},0)`,A=0,E=0,S=v[0],O=v[4],w=-g/2,M=g/2,P=-g/2,C=g/2,z=-g/2,N=g/2,L=g,B=v[1]-v[2],V=v[2],W=-g/2,$=g,D=v[2]-v[3],I=g,G=v[1]-v[3],_=v[3],H=-g/2,F=v[3],T=-g/2,Y=v[0],X=v[0],q=v[4],K=v[4],Z=v[2],Q=v[2];const e=y.x+y.width/2;u.push({label:"Maximum",key:t,summaryPieceName:"max",x:e,y:v[4],value:k[4]},{label:"3rd Quartile",key:t,summaryPieceName:"q3area",x:e,y:v[3],value:k[3]},{label:"Median",key:t,summaryPieceName:"median",x:e,y:v[2],value:k[2]},{label:"1st Quartile",key:t,summaryPieceName:"q1area",x:e,y:v[1],value:k[1]},{label:"Minimum",key:t,summaryPieceName:"min",x:e,y:v[0],value:k[0]})}else if("horizontal"===r){const e=y.x+y.width/2;j=`translate(0,${e})`,S=0,O=0,A=v[0],E=v[4],Y=-g/2,X=g/2,Z=-g/2,Q=g/2,q=-g/2,K=g/2,D=g,$=v[3]-v[2],T=v[2],F=-g/2,B=g,L=v[2]-v[1],W=v[1],V=-g/2,G=g,I=v[3]-v[1],H=v[1],_=-g/2,w=v[0],M=v[0],z=v[4],N=v[4],P=v[2],C=v[2],u.push({label:"Maximum",key:t,summaryPieceName:"max",x:v[4],y:e,value:k[4]},{label:"3rd Quartile",key:t,summaryPieceName:"q3area",x:v[3],y:e,value:k[3]},{label:"Median",key:t,summaryPieceName:"median",x:v[2],y:e,value:k[2]},{label:"1st Quartile",key:t,summaryPieceName:"q1area",x:v[1],y:e,value:k[1]},{label:"Minimum",key:t,summaryPieceName:"min",x:v[0],y:e,value:k[0]})}if("radial"===r){A=0,E=0,S=v[0],O=v[4],w=-g/2,M=g/2,P=-g/2,C=g/2,z=-g/2,N=g/2,$=g,D=v[1]-v[3],F=v[3],T=-g/2,L=g,B=v[1]-v[3],V=v[3],W=-g/2,Y=v[0],X=v[0],q=v[4],K=v[4],Z=v[2],Q=v[2];const e=2*Math.PI,n=m().innerRadius(q/2).outerRadius(q/2),a=m().innerRadius(Y/2).outerRadius(Y/2),o=m().innerRadius(Z/2).outerRadius(Z/2),r=m().innerRadius(v[1]/2).outerRadius(Z/2),c=m().innerRadius(Z/2).outerRadius(v[3]/2),l=m().innerRadius(v[1]/2).outerRadius(v[3]/2);let R=y.pct_start+y.pct_padding/2,I=y.pct+y.pct_start-y.pct_padding/2;const G=y.pct/2+y.pct_start;R*=e,I*=e;const _=s[0]/2,H=s[1]/2,U=wt([0,0],G,v[4]/2),J=wt([0,0],G,v[0]/2),ee=wt([0,0],G,v[3]/2),te=wt([0,0],G,v[2]/2),ne=wt([0,0],G,v[1]/2);u.push({label:"Minimum",key:t,summaryPieceName:"min",x:J[0]+_,y:J[1]+H,value:k[0]},{label:"1st Quartile",key:t,summaryPieceName:"q3area",x:ne[0]+_,y:ne[1]+H,value:k[1]},{label:"Median",key:t,summaryPieceName:"median",x:te[0]+_,y:te[1]+H,value:k[2]},{label:"3rd Quartile",key:t,summaryPieceName:"q1area",x:ee[0]+_,y:ee[1]+H,value:k[3]},{label:"Maximum",key:t,summaryPieceName:"max",x:U[0]+_,y:U[1]+H,value:k[4]}),j=`translate(${_},${H})`,d.push({containerProps:Object.assign(Object.assign({},h),{className:x,transform:j,key:"summaryPiece-"+p,role:"img",tabIndex:-1,"data-o":t,"aria-label":`${t} boxplot showing ${u.filter(e=>e.key===t).map(e=>`${e.label} ${e.value}`)}`}),elements:[{markType:"line",x1:U[0],x2:J[0],y1:U[1],y2:J[1],style:Object.assign({strokeWidth:2},b,i("whisker",f))},{markType:"path",d:a({startAngle:R,endAngle:I}),style:Object.assign({strokeWidth:4},b,{fill:"none"},i("max",f))},{markType:"path",d:o({startAngle:R,endAngle:I}),style:Object.assign({strokeWidth:4},b,{fill:"none"},i("median",f))},{markType:"path",d:n({startAngle:R,endAngle:I}),style:Object.assign({strokeWidth:4},b,{fill:"none"},i("min",f))},{markType:"path",d:l({startAngle:R,endAngle:I}),style:Object.assign({strokeWidth:4},b,i("iqrarea",f))},{markType:"path",d:r({startAngle:R,endAngle:I}),style:Object.assign({},b,{fill:"none",stroke:"none"},i("q3area",f))},{markType:"path",d:c({startAngle:R,endAngle:I}),style:Object.assign({},b,{fill:"none",stroke:"none"},i("q1area",f))}]})}else{const e=[{markType:"line",x1:A,x2:E,y1:S,y2:O,style:Object.assign({strokeWidth:2},b,i("whisker",f))},{markType:"line",x1:w,x2:M,y1:Y,y2:X,style:Object.assign({strokeWidth:2},b,i("min",f))},{markType:"line",x1:z,x2:N,y1:q,y2:K,style:Object.assign({strokeWidth:2},b,i("max",f))},{markType:"rect",x:H,width:I,y:_,height:G,style:Object.assign({strokeWidth:1},b,i("iqrarea",f))},{markType:"rect",x:T,width:$,y:F,height:D,style:Object.assign({},b,{fill:"none",stroke:"none"},i("q3area",f))},{markType:"rect",x:W,width:L,y:V,height:B,style:Object.assign({},b,{fill:"none",stroke:"none"},i("q1area",f))},{markType:"line",x1:P,x2:C,y1:Z,y2:Q,style:Object.assign({strokeWidth:2},b,i("median",f))}],n=[];if(c){const e=f.filter(e=>e.value>ee||J>e.value);e.forEach(e=>{n.push({markType:"circle",cx:"horizontal"===r?e.scaledValue:0,cy:"vertical"===r?e.scaledVerticalValue:0,style:Object.assign({strokeWidth:"1px",stroke:"black",fill:"none",r:2},b,i("outlier",f))})})}d.push({containerProps:Object.assign(Object.assign({},h),{className:x,transform:j,key:"summaryPiece-"+p,role:"img",tabIndex:-1,"data-o":t,"aria-label":`${t} boxplot showing ${u.filter(e=>e.key===t).map(e=>`${e.label} ${e.value}`)}`}),elements:[...e,...n]})}}),{marks:d,xyPoints:u}},violin:Xt,heatmap:Xt,ridgeline:Xt,histogram:Xt,horizon:Xt,ckbins:function(e){const{data:t,eventListenersGenerator:n,styleFn:a,classFn:o}=e,r=[];let s=0;const i=[];return Object.keys(t).forEach((e,r)=>{const c=t[e];n(c,r);const l=c.pieceData.sort((e,t)=>e.value-t.value),d=l[0],u=l[l.length-1],p=M().domain([d.value,u.value]).range([d.scaledValue,u.scaledValue]),y=a(l[0].data,r),m=o(l[0].data,r),h=l.map(e=>e.value),g=function(e,t){if(t>e.length)throw Error("Cannot generate more classes than there are data values");var n=e.length,a=e.slice().sort(function(e,t){return e-t}),o=function(e){for(var t,n=0,a=0;e.length>a;a++)0!==a&&e[a]===t||(t=e[a],n++);return n}(a);if(1===o)return[a[0]];var r=Ct(t=Math.min(o,t),n),s=Ct(t,n);!function(e,t,n){for(var a=t[0].length,o=Array(a),r=Array(a),s=e[Math.floor(a/2)],i=0;a>i;++i)0===i?(o[0]=e[0]-s,r[0]=(e[0]-s)*(e[0]-s)):(o[i]=o[i-1]+e[i]-s,r[i]=r[i-1]+(e[i]-s)*(e[i]-s)),t[0][i]=zt(0,i,o,r),n[0][i]=0;for(var c=1;t.length>c;++c)Nt(t.length-1>c?c:a-1,a-1,c,t,n,o,r)}(a,r,s);for(var i=[],c=s[0].length-1,l=s.length-1;l>=0;l--){var d=s[l][c];i[l]=a[d],l>0&&(c=d-1)}return i}(h,5);let f=[];g.forEach((t,n)=>{var a;const o=null!==(a=g[n+1])&&void 0!==a?a:u.value;f.push({start:t,end:o,key:e,summary:c,calculatedSummaryStyle:y,calculatedSummaryClass:m,scaledStart:p(t),scaledEnd:p(o),values:[]})}),i.push(f);let b=0;for(const e of l)f[b].end>e.value||f[b+1]&&b++,f[b].values.push(e);f.forEach(e=>{s=Math.max(e.values.length,s)})}),i.forEach((e,t)=>{const n=e.map(e=>{const{calculatedSummaryStyle:t}=e,{fill:n="black",stroke:a="black"}=t,o=M().domain([1,s]).range(["white",n]);return{markType:"rect",x:e.scaledStart,width:e.scaledEnd-e.scaledStart,y:e.summary.x,height:e.summary.width,style:Object.assign({strokeWidth:2},t,{fill:o(e.values.length),strokeWidth:1,stroke:a})}});r.push({containerProps:{transform:"",key:"summaryPiece-"+t,role:"img",tabIndex:-1},elements:n})}),{marks:r,xyPoints:[]}}},Kt=({data:e,type:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,adjustedSize:i,margin:c,axisCreator:l})=>{if(t&&t.type)return function({data:e,type:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,adjustedSize:i,chartSize:c,margin:l,axisCreator:d}){let u;if("function"==typeof t.type)u=t.type;else{if(!qt[t.type])return console.error(`Invalid summary type: ${t.type} - Must be a function or one of the following strings: ${Object.keys(qt).join(", ")}`),{};u=qt[t.type]}return u({data:e,type:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,adjustedSize:i,chartSize:c,margin:l,axisCreator:d})}({data:e,type:t="string"==typeof t?{type:t}:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,adjustedSize:i,chartSize:"vertical"===s?i[1]:i[0],margin:c,axisCreator:l})};function Zt(t){const n=[];for(const a of t){const t=[],{elements:o,containerProps:r}=a;if(a.Mark)n.push(a.Mark);else{for(let n=0;o.length>n;n++){const a=o[n],{markType:r,style:s={}}=a,i=Qe(a,["markType","style"]),c=Object.assign({},i);void 0!==s.fill&&(c.fill=s.fill),void 0!==s.stroke&&(c.stroke=s.stroke),void 0!==s.strokeWidth&&(c.strokeWidth=s.strokeWidth),void 0!==s.opacity&&(c.opacity=s.opacity),void 0!==s.fillOpacity&&(c.fillOpacity=s.fillOpacity),void 0!==s.strokeOpacity&&(c.strokeOpacity=s.strokeOpacity);const l=Object.assign({},s);delete l.fill,delete l.stroke,delete l.strokeWidth,delete l.opacity,delete l.fillOpacity,delete l.strokeOpacity,Object.keys(l).length>0&&(c.style=l),c.key=a.key||n,r&&t.push(e.createElement(r,c))}r?n.push(e.createElement("g",Object.assign({},r),t)):n.push(...t)}}return n}const Qt=({data:e,canvasRender:t,canvasDrawing:n})=>{var a;if(t())for(const t of e)if("svg-only-mark"!==t.type){const{transform:e="translate(0,0)"}=null!==(a=null==t?void 0:t.containerProps)&&void 0!==a?a:{transform:"translate(0,0)"},[o,r]=e.replace("translate(","").replace(")","").split(",");for(const e of t.elements){const{transform:t="translate(0,0)"}=e,[a,s]=t.replace("translate(","").replace(")","").split(",");n.push({baseClass:"frame-piece",tx:parseInt(a)+parseInt(o),ty:parseInt(s)+parseInt(r),d:{},i:0,markProps:e,styleFn:()=>e.style,renderFn:e.renderMode,classFn:()=>""})}}return Zt(e.filter(e=>!t()||"svg-only-mark"===e.type))};function Ut(t){const{rotate:n,label:a,dynamicLabelPosition:o,orient:s="left",marginalSummaryType:l,tickFormat:d=(l?()=>"":e=>e),size:u,width:p=u&&u[0]||0,height:y=u&&u[1]||0,className:m,padding:h,tickValues:g,scale:f,ticks:b,footer:x,tickSize:v,tickLineGenerator:k,baseline:j=!0,margin:A={top:0,bottom:0,left:0,right:0},center:E=!1,annotationFunction:S,glyphFunction:O,xyPoints:w}=t,[M,P]=r(0),[C,z]=r(void 0),N=c(null);i(()=>{if(!(null==a?void 0:a.position)&&o){const e=((e,t)=>{const n=e.current;if(!n)return 30;const a="left"===t||"right"===t?"width":"height",o=Math.max(...[...n.querySelectorAll(".axis-label")].map(e=>e.getBBox&&e.getBBox()||{height:30,width:30}).map(e=>e[a]))+25;return o})(N,s);e!==C&&z(e)}},[a,o]);let $,{axisParts:D,position:F=[0,0]}=t;if(D||(D=vt({padding:h,tickValues:g,scale:f,ticks:b,orient:s,size:[p,y],footer:x,tickSize:v}),$=e.createElement("g",{className:"axis "+m},jt({axisParts:D,orient:s,tickLineGenerator:k,className:m,scale:f}))),0===D.length)return null;let T,L,R,B,V=50,W=y,I=-50,G=0,_=0,H=0,Y=0,X=y,q=25,K=-25,Z=18,Q=p+25,U=0,J=M,ee=0,te="y";switch(s){case"right":F=[F[0],F[1]],I=p,Y=_=p,ee=A.top,Q=-p-25,K=5,T=e=>{P(e.nativeEvent.offsetY-ee)},!0===E&&(Y=_=p/2);break;case"top":F=[F[0],0],V=p,W=50,G=-50,I=0,ee=A.left,te="x",Y=p,X=0,!0===E&&(X=H=y/2),T=e=>{P(e.nativeEvent.offsetX-ee)},q=M,J=25,K=0,Z=-10,Q=0,U=y+25;break;case"bottom":F=[F[0],0],V=p,W=50,H=X=G=y,_=I=0,Y=p,ee=A.left,T=e=>{P(e.nativeEvent.offsetX-ee)},q=M,J=25,K=0,Z=15,Q=0,U=-y-25,te="x",!0===E&&(X=H=y/2);break;default:F=[F[0],F[1]],ee=A.top,!0===E&&(Y=_=p/2),T=e=>{P(e.nativeEvent.offsetY-ee)}}if(S){const n=function(e,t){return t.tickFormat?t.tickFormat(e):e.toString?""+e:e}(f.invert(M),t),a=O?O({lineHeight:U,lineWidth:Q,value:f.invert(M)}):e.createElement("g",null,e.isValidElement(n)?e.createElement("g",{transform:`translate(${K},${Z})`},n):e.createElement("text",{x:K,y:Z},n),e.createElement("circle",{r:5}),e.createElement("line",{x1:Q,y1:U,style:{stroke:"black"}})),o=M?e.createElement("g",{style:{pointerEvents:"none"},transform:`translate(${q},${J})`},a):null;L=e.createElement("g",{className:"annotation-brush",transform:`translate(${I},${G})`},e.createElement("rect",{style:{fillOpacity:0},height:W,width:V,onMouseMove:T,onClick:e=>S({className:"dynamic-axis-annotation",type:te,value:f.invert(M),e:e}),onMouseOut:()=>{P(void 0)}}),o)}if(l&&w){const t=Math.max(A[s]-6,5),n="string"==typeof l?{type:l}:l;void 0!==n.flip||"bottom"!==s&&"right"!==s||(n.flip=!0);const a=n.summaryStyle?()=>n.summaryStyle:()=>({fill:"black",fillOpacity:.5,stroke:"black",strokeDasharray:"0"}),o=n.renderMode?()=>n.renderMode:()=>{},r=n.summaryClass?()=>n.summaryClass:()=>"",i=n.filter||(()=>!0),c=w.filter(e=>void 0!==e.x&&void 0!==e.y&&i(e.data)).map(e=>Object.assign(Object.assign({},e),{xy:{x:"top"===s||"bottom"===s?f(e.x):0,y:"left"===s||"right"===s?f(e.y):0},piece:{scaledVerticalValue:f(e.y),scaledValue:f(e.x)},value:f("top"===s||"bottom"===s?e.y:e.x),scaledValue:f(e.x),scaledVerticalValue:f(e.y)})),d=Zt(Kt({data:{column:{middle:t/2,pieceData:c,width:t,xyData:c}},type:n,renderMode:o,eventListenersGenerator:n.eventListenersGenerator||(()=>({})),styleFn:a,classFn:r,projection:"top"===s||"bottom"===s?"horizontal":"vertical",adjustedSize:u,margin:{top:0,bottom:0,left:0,right:0}}).marks);let p;if(!0===n.showPoints){const a=((e,t,n)=>{const a="left"===e||"right"===e?t/2:0,o="bottom"===e||"top"===e?t/2:0;return n.map(e=>[e.xy.x+a,e.xy.y+o])})(s,t,c);p=a.map((t,a)=>e.createElement("circle",{key:"axis-summary-point-"+a,cx:t[0],cy:t[1],r:n.r||3,style:n.pointStyle||{fill:"black",fillOpacity:.1}}))}R=e.createElement(St,{translation:{left:[2-A.left,0],right:[u[0]+2,0],top:[0,2-A.top],bottom:[0,u[1]+2]},orient:s,decoratedSummaryType:n,summaryWidth:t,renderedSummary:d,points:p})}const ne=(({axisParts:t,tickFormat:n,rotate:a=0,center:o=!1,orient:r})=>t.map((t,s)=>{let i=n(t.value,s);("object"!=typeof i||i instanceof Date)&&(i=e.createElement("text",{textAnchor:t.defaultAnchor,className:"axis-label"},i.toString?""+i:i));let c=t.tx,l=t.ty;if(o)switch(r){case"right":c-=(t.x2-t.x1)/2;break;case"left":c+=(t.x2-t.x1)/2;break;case"top":l+=(t.y2-t.y1)/2;break;case"bottom":l-=(t.y2-t.y1)/2}return e.createElement("g",{key:s,pointerEvents:"none",transform:`translate(${c},${l}) rotate(${a})`,className:"axis-label"},i)}))({tickFormat:d,axisParts:D,orient:s,rotate:n,center:E});if(a){const t=a.name||a,n=a.position||{};let o=n.anchor||"middle";const r=a.locationDistance||C,i=n.rotation||{left:-90,right:90,top:0,bottom:0}[s],c={left:{start:[0,u[1]],middle:[0,u[1]/2],end:[0,0],inside:[r||15,0],outside:[-(r||45),0]},right:{start:[u[0]+0,u[1]],middle:[u[0]+0,u[1]/2],end:[u[0]+0,0],inside:[-(r||15),0],outside:[r||45,0]},top:{start:[0,0],middle:[0+u[0]/2,0],end:[0+u[0],0],inside:[0,r||15],outside:[0,-(r||40)]},bottom:{start:[0,u[1]],middle:[0+u[0]/2,u[1]],end:[0+u[0],u[1]],inside:[0,-(r||5)],outside:[0,r||50]}},l=c[s][o],d=c[s][n.location||"outside"];l[0]=l[0]+d[0],l[1]=l[1]+d[1],"start"===o&&"right"===s?o="end":"end"===o&&"right"===s&&(o="start"),B=e.createElement(Ot,{className:m,translation:l,position:F,rotation:i,labelName:t,anchorMod:o})}const ae=`${s} axis ${D&&D.length>0&&`from ${d(D[0].value,0)} to ${d(D[D.length-1].value,D.length-1)}`||"without ticks"}`;return e.createElement("g",{className:m,"aria-label":ae,ref:N},L,ne,$,!0===j?e.createElement("line",{key:"baseline",className:"axis-baseline "+m,stroke:"black",strokeLinecap:"square",x1:_,x2:Y,y1:H,y2:X}):null,B,R)}const Jt=e=>{let t=null,n="top";return"string"==typeof e?t=e:"title"in e?(t=e.title,n=e.orient||"top"):t=e,{orient:n,title:t}};function en(e){return Math.round(10*e)/10}const tn=({margin:e,size:t,inset:n=0})=>{const a=[t[0]-n,t[1]-n];return`M0,0 h${t[0]} v${t[1]} h-${t[0]}Z M${e.left-n},${e.top-n} v${t[1]+2*n-e.top-e.bottom} h${a[0]+3*n-e.left-e.right} v-${a[1]+3*n-e.top-e.bottom}Z`},nn=({margin:e,axes:t,title:n,oLabel:a,projection:o,size:r})=>{if(void 0!==e){if("function"==typeof e&&(e=e({size:r})),"object"!=typeof e)return{top:e,bottom:e,left:e,right:e};if("object"==typeof e)return Object.assign({top:0,bottom:0,left:0,right:0},e)}const s={top:0,bottom:0,left:0,right:0};let i="left";t&&"radial"!==o&&t.forEach(e=>{i=e.orient,s[i]=e.label?60:50});const{title:c,orient:l}=Jt(n);return!c||"string"==typeof c&&0===c.length||(s[l]+=40),a&&"radial"!==o&&("bottom"===i||"top"===i?s.left+=50:s.bottom+=50),s};function an(e){return e instanceof Function||"string"==typeof e?{type:e}:void 0===e?{}:e}function on({data:e,renderKey:t=(e,t)=>t,oAccessor:n,rAccessor:a,originalRAccessor:o,originalOAccessor:r,multiAxis:s=!1}){let i,c;if(s&&a.length>1){let t=1/0;c=a.map(n=>{const a=e.map(n).reduce((e,t)=>[Math.min(t,e[0]),Math.max(t,e[1])],[1/0,-1/0]);return t=Math.min(a[0]/a[1],t),a});const n=c.map(e=>{let n=[0,1],a=e;return 0>e[0]&&e[1]>0?(n[0]=t,a[0]=a[1]*t):0>e[0]&&0>e[1]?(a[1]=0,n=[-1,0]):a[0]=0,M().domain(e).range(n)});i=n.map((e,t)=>n=>e(a[t](n)))}else i=a;const l=[];return n.forEach((n,a)=>{i.forEach((s,i)=>{(e||[]).forEach(e=>{const c=t(e,l.length),d=void 0!==c&&c.toString&&""+c||c,u=o[i],p=r[a],y="string"==typeof u?u:"function-"+i,m="string"==typeof p?p:"function-"+a;if("object"!=typeof e){const t={value:e,renderKey:d},n=s(t);l.push({data:t,value:n,rIndex:i,rName:y,oIndex:a,oName:m,column:d,renderKey:d})}else{const t=s(e),o=n(e);l.push({renderKey:d,data:e,rIndex:i,rName:y,oIndex:a,oName:m,value:t,column:o&&o.toString?""+o:o})}})})}),{allData:l,multiExtents:c}}function rn({size:e=[500,500],position:t=[0,0],margin:n,projection:a}){const o=[t[0],t[1]];let r=[e[0]-(n.left+n.right),e[1]-(n.top+n.bottom)];if("radial"===a){const e=Math.min(r[0],r[1]);r=[e,e]}return{adjustedPosition:o,adjustedSize:r}}function sn({type:t,data:n,renderMode:a,eventListenersGenerator:o,styleFn:r,classFn:s,projection:i,canvasRender:c,canvasDrawing:l,pieceType:d}){if(!t.type)return null;const u=[],p=new Map,{keyedData:y,oExtent:m}=n;if("function"==typeof t.type){const n=t.type,h=m;if(m.forEach((t,m)=>{const g=y[t],f=y[h[m+1]];if(f){const t=f.map((e,t)=>n(Object.assign(Object.assign({},e.piece),e.piece.data),t));g.forEach((y,m)=>{const h=n(Object.assign(Object.assign({},y.piece),y.piece.data),m),g=n(Object.assign(Object.assign({},y.piece),y.piece.data),m),b=void 0!==g&&!1!==g&&t.indexOf(g);if(null!=h&&!1!==b&&-1!==b){const t=f[b];let n;if("radial"===i&&"point"===d.type){p.get(y)||p.set(y,[y]);const e=p.get(y);e&&(e.push(t),p.set(t,e),p.delete(y))}else{const{xy:d}=y,{xy:p}=t,{x:h,y:g,height:f=1,width:b=1}=d,{x:x,y:v,height:k=1,width:j=1}=p;if("vertical"===i)n=gt({x1:h+b,x2:x,y1:g,y2:v,sizeX1:0,sizeX2:0,sizeY1:f,sizeY2:k});else if("horizontal"===i){const{value:e}=y.piece,{value:a}=t.piece;n=gt({x1:0>e?y.piece.bottom-b:h-b,x2:0>a?t.piece.bottom-j:x-j,y1:g+f,y2:v,sizeX1:b,sizeX2:j,sizeY1:0,sizeY2:0})}else"radial"===i&&(n=gt({x1:h,x2:x,y1:g+f,y2:v,sizeX1:b,sizeX2:j,sizeY1:0,sizeY2:0}));a&&a(y.piece,m);const A=Object.assign(Object.assign({},y.piece.data),y.piece.data),E=Object.assign(Object.assign({},t.piece),t.piece.data),S=r({source:A,target:E}),O=o({source:A,target:E},m);c&&!0===c(y.piece)?l.push({baseClass:"xyframe-line",tx:0,ty:0,d:{source:A,target:E},markProps:{d:n,markType:"path"},styleFn:r,renderFn:a,classFn:s}):u.push(e.createElement("path",Object.assign({},O,{d:n,className:s?s(y.piece.data,m):"",key:"connector"+y.piece.renderKey},S,{style:S})))}}})}}),p.size>0)for(const t of p.values()){const n=Object.assign(Object.assign({},t[0].piece),t[0].piece.data),o=`M${t.map(e=>`${e.xy.x},${e.xy.y}`).join("L")}Z`;if(c&&c(n))l.push({baseClass:"ordinal-radar",tx:0,ty:0,d:{source:n},markProps:{d:o,markType:"path"},styleFn:r,renderFn:a,classFn:s});else{const t=r({source:n});u.push(e.createElement("path",Object.assign({d:o,className:s?s(n):"",key:"ordinal-ring-"+n.renderKey},t,{style:t})))}}}else t.type&&console.error("Invalid connectorType - Must be a function that takes a data point and determines if it is connected to a data point in the next column");return u}const cn=(e,t,n,a)=>{const o=e.getContext("2d",{willReadFrequently:!0}),r=o.getImageData(a.offsetX,a.offsetY,1,1);let s=t[n.get(`rgba(${r.data[0]},${r.data[1]},${r.data[2]},255)`)];if(!s){const e=o.getImageData(a.offsetX-2,a.offsetY-2,5,5);let r=0;for(;!s&&100>r;)s=t[n.get(`rgba(${e.data[r]},${e.data[r+1]},${e.data[r+2]},255)`)],r+=4}return s},ln=e.memo(function({width:t,height:n,overlayRegions:a,margin:o,voronoiHover:r}){let i=c();return s(()=>{dn(i.current,r,n,t,a,o)},[t,n,a]),e.createElement("canvas",{className:"frame-canvas-interaction",ref:e=>{null!=e&&i.current!==e&&(i.current=e,dn(e,r,n,t,a,o))},style:{position:"absolute",left:"0px",top:"0px",imageRendering:"pixelated",pointerEvents:"all",opacity:0},width:t,height:n})});function dn(e,t,n,a,o,r){const s=new Map;if(null===e||!o)return;const i=cn.bind(null,e,o,s);e.onmousemove=e=>{var n,a,o,r;const s=i(e);(null===(n=null==s?void 0:s.props)||void 0===n?void 0:n.onMouseEnter)?null===(a=null==s?void 0:s.props)||void 0===a||a.onMouseEnter():(null===(r=null===(o=null==s?void 0:s.props)||void 0===o?void 0:o.children)||void 0===r?void 0:r[0])?s.props.children[0].props.onMouseEnter():t(null)},e.onmouseout=()=>{t(null)},e.onclick=e=>{var t,n,a,o;const r=i(e);(null===(t=null==r?void 0:r.props)||void 0===t?void 0:t.onClick)?null===(n=null==r?void 0:r.props)||void 0===n||n.onClick():(null===(o=null===(a=null==r?void 0:r.props)||void 0===a?void 0:a.children)||void 0===o?void 0:o[0])&&r.props.children[0].props.onClick(e)},e.ondblclick=e=>{var t,n,a,o;const r=i(e);(null===(t=null==r?void 0:r.props)||void 0===t?void 0:t.onDoubleClick)?null===(n=null==r?void 0:r.props)||void 0===n||n.onDoubleClick():(null===(o=null===(a=null==r?void 0:r.props)||void 0===a?void 0:a.children)||void 0===o?void 0:o[0])&&r.props.children[0].props.onDoubleClick(e)};const c=e.getContext("2d",{willReadFrequently:!0});c.imageSmoothingEnabled=!1,c.setTransform(1,0,0,1,r.left,r.top),c.clearRect(-r.left,-r.top,a,n),c.lineWidth=1,o.forEach((e,t)=>{var n,a,o,r,i,l;const d=`rgba(${Math.floor(255*Math.random())},${Math.floor(255*Math.random())},${Math.floor(255*Math.random())},255)`;s.set(d,t);const u=e.props;if(c.fillStyle=d,c.strokeStyle=d,u.d||(null===(o=null===(a=null===(n=u.children)||void 0===n?void 0:n[0])||void 0===a?void 0:a.props)||void 0===o?void 0:o.d)){const e=u.d||u.children[0].props.d,t=u.transform||(null===(l=null===(i=null===(r=u.children)||void 0===r?void 0:r[0])||void 0===i?void 0:i.props)||void 0===l?void 0:l.transform)||"translate(0,0)",[n,a]=t.replace("translate(","").replace(")","").split(",").map(Number);c.translate(n,a);const o=new Path2D(e);c.stroke(o),c.fill(o),c.translate(-n,-a)}else"rect"===u.markType&&(c.fillRect(u.x,u.y,u.width,u.height),c.strokeRect(u.x,u.y,u.width,u.height))})}function un(t){let n=null;const{interaction:a,svgSize:o=[500,500],margin:s={left:0,right:0,top:0,bottom:0},overlay:c,points:l,xScale:d,yScale:u,hoverAnnotation:p,customClickBehavior:y,customDoubleClickBehavior:m,customHoverBehavior:h,disableCanvasInteraction:g,canvasRendering:f}=t;let{enabled:b}=t,x=Be(e=>e.changeTooltip);const v=e=>{x(e)},[k,j]=r([]),[A,E]=r(null);return i(()=>{let n,a;g||!k?(n=null,a=null):(n=((t,n)=>{let a=[];const{xScale:o,yScale:r,points:s,projectedX:i,showLinePoints:c,size:l,overlay:d,interactionOverflow:u={top:0,bottom:0,left:0,right:0},customClickBehavior:p,customDoubleClickBehavior:y,customHoverBehavior:m,hoverAnnotation:h,margin:g,advancedSettings:f={}}=t,b={top:tt,bottom:nt},x=p||y?{cursor:"pointer"}:{};if(s&&h&&!d){const{voronoiFilter:t=()=>!0}=f,d=[],v=new Map;for(const e of s)if(t(Object.assign(Object.assign({},e),e.data))){const t=Math.floor(o(e[i])),n=Math.floor(r(c&&void 0!==e[b[c]]?e[b[c]]:void 0!==e[et]?e[et]:e[Je]));if(!(0-g.left>t||t>l[0]+g.right||0-g.top>n||n>l[1]+g.bottom||void 0===t||void 0===n||!1!==isNaN(t)||!1!==isNaN(n))){const a=`${t},${n}`;if(v.has(a))v.get(a).coincidentPoints.push(e);else{const o=Object.assign(Object.assign({},e),{coincidentPoints:[e],voronoiX:t,voronoiY:n});d.push(o),v.set(a,o)}}}let k=L(d.map(e=>e.voronoiX)),j=L(d.map(e=>e.voronoiY));null!=k[0]&&null!=j||(k=[0,0],j=[0,0]);const A=[Math.min(k[0]-5,-u.left),Math.min(j[0]-5,-u.top),Math.max(k[1]+5,l[0]+u.right),Math.max(j[1]+5,l[1]+u.bottom)],E=G.from(d,e=>e.voronoiX,e=>e.voronoiY),S=E.voronoi(A);return a=d.map((t,a)=>{let o=null;return f.voronoiClipping&&(o=e.createElement("clipPath",{id:"voronoi-"+a},e.createElement("circle",{r:!0===f.voronoiClipping?50:f.voronoiClipping,cx:t.voronoiX,cy:t.voronoiY}))),e.createElement("g",{key:"voronoi-"+a},e.createElement("path",{onClick:e=>{ct(d[a],p,s,e)},onDoubleClick:e=>{lt(d[a],y,s,e)},onMouseEnter:e=>{it(n,d[a],h,m,s,e)},onMouseLeave:e=>{it(n,void 0,void 0,m,void 0,e)},key:"interactionVoronoi"+a,d:S.renderCell(a),style:Object.assign({fillOpacity:0},x),clipPath:`url(#voronoi-${a})`}),o)},window),a}if(d)return d.map((a,o)=>{const{overlayData:r}=a,i=Qe(a,["overlayData"]),c={key:"overlay-"+o,onMouseEnter:e=>{it(n,r,t.hoverAnnotation,m,s,e)},onMouseLeave:e=>{it(n,void 0,void 0,m,void 0,e)},onClick:e=>{ct(r,p,s,e)},onDoubleClick:e=>{lt(r,y,s,e)},style:Object.assign({opacity:0},x)};if(e.isValidElement(a.renderElement))return e.cloneElement(a.renderElement,c);{const t=i,{markType:n}=t,a=Qe(t,["markType"]);return e.createElement(n||"path",Object.assign(Object.assign(Object.assign({},a),{key:"overlay-"+o}),c))}})})(t,v),f&&(a=e.createElement(ln,{height:o[1],width:o[0],overlayRegions:n,margin:s,voronoiHover:v}))),j(n),E(a)},[c,l,d,u,!!p,!!y,!!m,!!h]),a&&a.brush&&(b=!0,n=((t,n)=>{let a,o,r,s;const{xScale:i,yScale:c,size:l,renderPipeline:d}=n,u={};Object.entries(d).forEach(([e,t])=>{t.data&&t.data.length>0&&(u[e]=t.data)});const{projection:p,projectedColumns:y}=t,m="oBrush"===t.brush?"horizontal"===p?"yBrush":"xBrush":t.brush;let{extent:h}=t;if(h||(h="xyBrush"===m?[[i.invert(0),c.invert(0)],[i.invert(l[0]),c.invert(l[1])]]:"xBrush"===m?[i.invert(0),i.invert(l[0])]:[c.invert(0),c.invert(l[1])]),h.indexOf&&-1!==h.indexOf(void 0))return e.createElement("g",null);if("xBrush"===m){const e=[...h];o=e=>e?[i.invert(e[0]),i.invert(e[1])]:null,a=$(),r=e.map(e=>i(e)),s=o}else if("yBrush"===m){const e=[...h];o=e=>e?[c.invert(e[0]),c.invert(e[1])].sort((e,t)=>e-t):null,a=D(),r=e.map(e=>c(e)).sort((e,t)=>e-t),s=o}else{const t=[...h.map(e=>[...e])];if(-1!==t.indexOf(void 0)||-1!==t[0].indexOf(void 0)||-1!==t[1].indexOf(void 0))return e.createElement("g",null);a=F(),o=e=>{if(!e)return null;const t=[c.invert(e[0][1]),c.invert(e[1][1])].sort((e,t)=>e-t);return[[i.invert(e[0][0]),t[0]],[i.invert(e[1][0]),t[1]]]};const n=[c(h[0][1]),c(h[1][1])].sort((e,t)=>e-t);r=t.map((e,t)=>[i(e[0]),n[t]]),s=o}if("oBrush"===t.brush){if(r=null,t.extent){const[e,n]=t.extent;"string"!=typeof e&&"number"!=typeof e||"string"!=typeof n&&"number"!=typeof n||(r=[y[e].x,y[n].x+y[n].width])}o=(e=>t=>t?Object.values(e).filter(e=>t[1]>=e.x&&e.x+e.width>=t[0]):null)(y),s=(e=>(t,n)=>{if(t&&n.sourceEvent&&n.sourceEvent.path&&n.sourceEvent.path[1]&&n.sourceEvent.path[1].classList.contains("xybrush")&&n.target.move){const a=Object.values(e).filter(e=>t[1]>=e.x&&e.x+e.width>=t[0]),o=a[0]||{x:0,width:0},r=a[a.length-1]||{x:0,width:0},s=[o.x+Math.min(5,o.width/10),r.x+r.width-Math.min(5,r.width/10)];return T(n.sourceEvent.path[1]).transition(750).call(n.target.move,s),a}return null})(y)}return a.extent([[0,0],[l[0],l[1]]]).on("start",e=>{dt(o(e.selection),void 0,u,void 0,t)}).on("brush",e=>{ut(o(e.selection),void 0,u,void 0,t)}).on("end",e=>{pt(s(e.selection,e),void 0,u,void 0,t)}),e.createElement("g",{className:"brush"},e.createElement(Ze,{selectedExtent:r,extent:h,svgBrush:a}))})(a,t)),a&&a.columnsBrush&&(b=!0,n=((t,n)=>{const{projection:a,rScale:o,oColumns:r,renderPipeline:s}=n;if(!a||!o||!r)return;const i={};let c,l;Object.entries(s).forEach(([e,t])=>{t.data&&t.data.length>0&&(i[e]=t.data)});const d=o.copy().domain(o.domain()).range(o.domain().reverse());l=a&&"horizontal"===a?e=>e?[o.invert(e[0]),o.invert(e[1])]:null:e=>e?[d(o.invert(e[1])),d(o.invert(e[0]))]:null;const u=o.range(),p=r;let y,m;const h=Object.keys(p).map(n=>(a&&"horizontal"===a?(m=t.extent[n]?t.extent[n].map(e=>o(e)):t.startEmpty?null:u,y=[0,p[n].x],c=$(),c.extent([[u[0],0],[u[1],p[n].width]]).on("start",e=>{dt(l(e.selection),n,i,p[n],t)}).on("brush",e=>{ut(l(e.selection),n,i,p[n],t)}).on("end",e=>{pt(l(e.selection),n,i,p[n],t)})):(m=t.extent[n]?t.extent[n].map(e=>u[1]-o(e)).reverse():t.startEmpty?null:u,y=[p[n].x,0],c=D(),c.extent([[0,u[0]],[p[n].width,u[1]]]).on("start",e=>{dt(l(e.selection),n,i,p[n],t)}).on("brush",e=>{ut(l(e.selection),n,i,p[n],t)}).on("end",e=>{pt(l(e.selection),n,i,p[n],t)})),e.createElement("g",{key:"column-brush-"+n,className:"brush"},e.createElement(Ze,{key:"orbrush"+n,selectedExtent:m,svgBrush:c,position:y}))));return h})(a,t)),k||n?e.createElement("div",{className:"interaction-layer","data-testid":"interaction-layer",style:{position:"absolute",background:"none",pointerEvents:"none",height:"100%",width:"100%",overflow:"hidden"}},A||e.createElement("svg",{height:o[1],width:o[0],style:{background:"none",pointerEvents:"none"}},e.createElement("g",{className:"interaction-overlay",transform:`translate(${s.left},${s.top})`,style:{pointerEvents:b?"all":"none"}},e.createElement("g",{className:"interaction-regions"},k),n))):null}function pn(t){const{matte:n,matteClip:o,axes:s,frameKey:c="",margin:d={left:0,right:0,bottom:0,top:0},title:u,ariaTitle:p,axesTickLines:y,frameRenderOrder:m,additionalVizElements:h,transition:g}=t;let f=Be(e=>e.changeTooltip);const b=l(e=>{f(e)},[f]),[x,v]=r(null),[k,j]=r(null),A=a(()=>(({focusedPieceIndex:e,changeFocusedPieceIndex:t,changeFocusedVisualizationGroup:n})=>({e:{keyCode:a},vizgroup:o,props:r,piecesGroup:s})=>{const{renderPipeline:i,voronoiHover:c}=r,l=a;if(37!==l&&39!==l&&13!==l)return;let d=0;const u={};null===e||13===l?u.focusedVisualizationGroup=o:37===l?d=e-1:39===l&&(d=e+1),d=0>d?s[o].length+d:d%s[o].length,c(i[o].accessibleTransform(i[o].data,d,s[o][d])),t(d),n(u.focusedVisualizationGroup)})({focusedPieceIndex:x,changeFocusedPieceIndex:v,changeFocusedVisualizationGroup:j}),[x,v,j]),E=((t,n,a)=>{const{xScale:o,yScale:r,dataVersion:s,projectedCoordinateNames:i,renderPipeline:c={},renderOrder:l=[],transition:d}=t,u=[],p={},y=[],m=l.concat(Object.keys(c).filter(e=>-1===l.indexOf(e)));return m.forEach(s=>{const l=c[s];if(l&&(l.data&&"object"==typeof l.data&&!Array.isArray(l.data)||l.data&&l.data.length>0)){const c=l.behavior(Object.assign({xScale:o,yScale:r,canvasDrawing:u,projectedCoordinateNames:i},l));c&&c.length>0&&y.push(e.createElement("g",Object.assign({key:s,className:s,"data-testid":s,role:"group",tabIndex:0},d?{"data-semiotic-transition":""}:void 0,{"aria-label":l.ariaLabel&&`${c.length} ${l.ariaLabel.items}s in a ${l.ariaLabel.chart}`||s,onKeyDown:e=>n({e:e,k:s,props:t,piecesGroup:p}),onBlur:()=>{a(void 0)},ref:e=>e&&(p[s]=e.childNodes)}),c))}}),{renderedElements:y,dataVersion:s,canvasDrawing:u,piecesGroup:p}})(t,A,b),{renderedElements:S}=E;i(()=>{var e,n;const a=null===(e=t.canvasContext)||void 0===e?void 0:e.current;let o=new AbortController;if(t.disableContext||!a)return;const{sketchyRenderingEngine:r,width:s,height:i,margin:c,disableProgressiveRendering:l=!1}=t,d=[s+c.left+c.right,i+c.top+c.bottom];a.width=d[0],a.height=d[1],a.style.width=d[0],a.style.height=d[1];const u=a.getContext("2d");u.scale(devicePixelRatio,devicePixelRatio),u.setTransform(1,0,0,1,c.left,c.top),u.clearRect(-c.left,-c.top,d[0],d[1]);const p=function(e,t,n,a,o,r){const s={fill:"black",stroke:"black",opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1},{position:i=[0,0]}=a;return a=>{var c,l,d;const u=Object.assign(Object.assign({},a.d),a.d.data),p=a.styleFn&&a.styleFn(u,a.i)||s,y=p.fill?p.fill:"black",m=p.stroke?p.stroke:"black";t.setTransform(1,0,0,1,n.left,n.top),t.translate(i[0],i[1]),t.translate(a.tx,a.ty),t.fillStyle=y,t.strokeStyle=m,t.lineWidth=p.strokeWidth?p.strokeWidth:0;let h={};const g=a.renderFn&&a.renderFn(u,a.i);let f=g&&g.renderMode||g;if(f)if(o){const n=o.canvas;n?(r=r||n(e),h=Object.assign({fill:y,stroke:m,strokeWidth:t.lineWidth},"object"==typeof g&&g||{})):console.error("The sketchyRenderingEngine you specify does not expose a prop `RoughCanvas` and so cannot render sketchy HTML5 Canvas graphics")}else console.error("You cannot render sketchy graphics without specifying a Rough.js-like library as the sketchyRenderingEngine prop of your frame"),f=void 0;if("circle"===a.markProps.markType||"rect"===a.markProps.markType&&a.markProps.rx>0){let e=null!==(c=a.markProps.cx)&&void 0!==c?c:0,n=null!==(l=a.markProps.cy)&&void 0!==l?l:0,o=null!==(d=p.r)&&void 0!==d?d:a.markProps.r;if(a.markProps.width){const t=a.markProps.width/2;e=a.markProps.x+t,n=a.markProps.y+t,o=t}"sketchy"===f?0!==t.globalAlpha&&r.circle(e,n,o,h):(t.beginPath(),t.arc(e,n,o,0,2*Math.PI),t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fill(),t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke())}else if("rect"===a.markProps.markType)"sketchy"===f?(t.globalAlpha=p.opacity||1,0!==t.globalAlpha&&r.rectangle(a.markProps.x,a.markProps.y,a.markProps.width,a.markProps.height,h)):(t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fillRect(a.markProps.x,a.markProps.y,a.markProps.width,a.markProps.height),t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.strokeRect(a.markProps.x,a.markProps.y,a.markProps.width,a.markProps.height));else if("path"===a.markProps.markType)if("sketchy"===f)t.globalAlpha=p.opacity||1,r.path(a.markProps.d,h);else{const e=new Path2D(a.markProps.d);t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke(e),t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fill(e)}else"line"===a.markProps.markType?"sketchy"===f?(t.globalAlpha=p.opacity||1,r.line(a.markProps.x1,a.markProps.y1,a.markProps.x2,a.markProps.y2,h)):(t.globalAlpha=p.strokeOpacity||p.opacity||1,t.beginPath(),t.moveTo(a.markProps.x1,a.markProps.y1),t.lineTo(a.markProps.x2,a.markProps.y2),p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke()):console.error("CURRENTLY UNSUPPORTED MARKTYPE FOR CANVAS RENDERING")}}(a,u,c,t,r,void 0);if(u.clearRect(-c.left,-c.top,d[0],d[1]),l)for(const e of E.canvasDrawing)p(e);else o=new AbortController,function(e,t,n){let a=0;!function(e){var t,n,a,o;t=this,n=arguments,o=function*(e,{signal:t,timeFrameMs:n=30}={}){return new Promise((a,o)=>{requestAnimationFrame(function r(){let s=performance.now(),i=0,c=!1,l=null!=t&&t.aborted;try{if(l)return a();do{c=e(),i=performance.now()-s,l=null!=t&&t.aborted}while(!l&&c&&n>i);!l&&c?requestAnimationFrame(r):a()}catch(e){o(e)}})})},new((a=void 0)||(a=Promise))(function(e,r){function s(e){try{c(o.next(e))}catch(e){r(e)}}function i(e){try{c(o.throw(e))}catch(e){r(e)}}function c(t){var n;t.done?e(t.value):(n=t.value,n instanceof a?n:new a(function(e){e(n)})).then(s,i)}c((o=o.apply(t,n||[])).next())})}(()=>{let n=Math.min(a+1e3,t.length);for(let o=a;n>o;o++)e(t[o]);return a+=1e3,t.length>a},n)}(p,E.canvasDrawing,{signal:o.signal});if(u.setTransform(1,0,0,1,0,0),u.globalAlpha=1,t.canvasPostProcess&&t.canvasPostProcess(null===(n=t.canvasContext)||void 0===n?void 0:n.current,u,d),null!==k&&E.piecesGroup[k]&&null!==x){const e=E.piecesGroup[k][x],t=e&&[...e.childNodes].find(e=>e.getAttribute("aria-label"))||e;t&&t.focus&&t.focus()}return function(){o.abort()}},[n,o,s,c,d,p,y,m,h]);const O=function(t){if(!t)return null;const n="object"==typeof t&&null!=t.ease?t.ease:"ease",a=("object"==typeof t&&null!=t.duration?t.duration:300)+"ms";return e.createElement("style",{key:"semiotic-transition-style"},`\n@keyframes semiotic-enter {\n from { opacity: 0; }\n to { opacity: 1; }\n}\ng[data-semiotic-transition] > rect,\ng[data-semiotic-transition] > circle,\ng[data-semiotic-transition] > path,\ng[data-semiotic-transition] > line,\ng[data-semiotic-transition] > g > rect,\ng[data-semiotic-transition] > g > circle,\ng[data-semiotic-transition] > g > path,\ng[data-semiotic-transition] > g > line {\n transition: fill ${a} ${n},\n stroke ${a} ${n},\n opacity ${a} ${n},\n transform ${a} ${n};\n animation: semiotic-enter ${a} ${n};\n}\n`)}(g),w=Object.assign({"axes-tick-lines":y&&e.createElement("g",{key:"visualization-tick-lines",className:"axis axis-tick-lines","aria-hidden":!0},y),"axes-labels":s&&e.createElement("g",{key:"visualization-axis-labels",className:"axis axis-labels"},s),matte:n,"viz-layer":S&&S.length>0?e.createElement(e.Fragment,{key:"viz-layer"},O,S):null},h);let M="";M=`Visualization ${u&&p||u?"string"!=typeof u&&u.props&&"string"==typeof u.props.children?"titled "+u.props.children:"with a complex title":"with no title"}. Use arrow keys to navigate elements.`;const P=[];return m.forEach(e=>{w[e]&&P.push(w[e])}),P.length>0&&e.createElement("g",{className:"data-visualization","data-testid":"data-visualization",key:"visualization-clip-path","aria-label":M,role:"group",clipPath:o&&n?`url(#matte-clip${c})`:void 0,transform:`translate(${d.left},${d.top})`},P)||null}const yn=[],mn={},hn=[0,0],gn={x:"x",y:"y"},fn=["axes-tick-lines","viz-layer","matte","axes-labels","labels"],bn={top:0,bottom:0,left:0,right:0};function xn(t){const{axes:n,axesTickLines:a,className:o="",name:s="",frameKey:d,projectedCoordinateNames:u=gn,renderPipeline:p,size:y,adjustedSize:m=y,title:h,xScale:g,yScale:f,dataVersion:b,annotations:x,projectedYMiddle:v,interaction:k,customClickBehavior:j,customHoverBehavior:A,customDoubleClickBehavior:E,points:S,margin:O=bn,backgroundGraphics:w,foregroundGraphics:M,beforeElements:P,afterElements:C,defaultSVGRule:z,defaultHTMLRule:N,adjustedPosition:$=hn,legendSettings:D,annotationSettings:F=mn,overlay:T,columns:L,rScale:R,projection:B,interactionOverflow:V,canvasPostProcess:W,canvasRendering:I,renderOrder:G=yn,showLinePoints:_,disableCanvasInteraction:H=!1,sketchyRenderingEngine:Y,disableContext:X,frameRenderOrder:q=fn,additionalVizElements:K=mn,interactionSettings:Z,disableProgressiveRendering:Q,additionalDefs:U,transition:J}=t;let{hoverAnnotation:ee}=t;const te=c(null),[ne,ae]=r(null),[oe,re]=r(null);i(()=>{const t=(({matte:t,size:n,margin:a,frameKey:o,additionalDefs:r,name:s})=>{let i;"function"==typeof t?i=t({size:n,margin:a}):e.isValidElement(t)?i=t:!0===t&&(i=e.createElement("path",{fill:"white",transform:`translate(${-a.left},${-a.top})`,d:tn({margin:a,size:n,inset:0}),className:s+"-matte"}));const c=(({matte:t,key:n,additionalDefs:a})=>e.createElement("defs",null,e.createElement("filter",{id:"paintyFilterHeavy"},e.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:4,colorInterpolationFilters:"sRGB",result:"blur"}),e.createElement("feColorMatrix",{in:"blur",mode:"matrix",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 34 -7",result:"gooey"})),e.createElement("filter",{id:"paintyFilterLight"},e.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:2,colorInterpolationFilters:"sRGB",result:"blur"}),e.createElement("feColorMatrix",{in:"blur",mode:"matrix",values:"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 34 -7",result:"gooey"})),e.createElement("clipPath",{id:"matte-clip-"+n},t),a))({matte:i,key:t&&(o||s),additionalDefs:r});return{defs:c,matte:i}})({matte:oe,size:y,margin:O,frameKey:d,additionalDefs:U,name:s});ae(t.defs),re(t.matte)},[y[0],y[1],O.top,O.bottom,O.right,O.left,O.top,oe,U]),!ee&&(j||A||E)&&(ee=yn);const se=[],ie=x?[...x,...se]:se,ce=c(z);ce.current=z;const le=c(N);le.current=N;const de=c(p);de.current=p;const ue=l((e,t,n)=>ce.current(Object.assign({d:e,i:t,annotationLayer:n},de.current)),[]),pe=l((e,t,n)=>le.current(Object.assign({d:e,i:t,annotationLayer:n},de.current)),[]),ye=e.createElement(Xe,{legendSettings:D,margin:O,axes:n,annotationHandling:F,pointSizeFunction:F.layout&&F.layout.pointSizeFunction,labelSizeFunction:F.layout&&F.layout.labelSizeFunction,annotations:ie,svgAnnotationRule:ue,htmlAnnotationRule:pe,size:m,position:[$[0]+O.left,$[1]+O.top]}),me=function({title:t={title:"",orient:"top"},size:n}){let a=null;const{title:o,orient:r}=Jt(t);let s,i=0,c=0;switch(r){case"top":i=n[0]/2,c=25;break;case"bottom":i=n[0]/2,c=n[1]-25;break;case"left":i=25,c=n[1]/2,s="rotate(-90)";break;case"right":i=n[0]-25,c=n[1]/2,s="rotate(90)"}const l=`translate(${i},${c})`;return"string"==typeof o&&o.length>0?a=e.createElement("g",{transform:l},e.createElement("text",{className:"frame-title",transform:s,style:{textAnchor:"middle",pointerEvents:"none"}},o)):o&&(a=e.createElement("g",{transform:l},o)),a}({title:h,size:y}),he="function"==typeof w?w({size:y,margin:O}):w,ge="function"==typeof M?M({size:y,margin:O}):M;return e.createElement("div",{className:`${o} frame ${s}`,style:{background:"none"}},P&&e.createElement("div",{className:s+" frame-before-elements"},P),e.createElement("div",{className:"frame-elements",style:{height:y[1]+"px",width:y[0]+"px"}},e.createElement(Re,null,e.createElement("div",{className:"visualization-layer",style:{position:"absolute"}},w&&e.createElement("svg",{className:"background-graphics",style:{position:"absolute"},width:y[0],height:y[1]},w&&e.createElement("g",{"aria-hidden":!0,className:"background-graphics"},he)),e.createElement("svg",{className:"visualization-layer",style:{position:"absolute"},width:y[0],height:y[1]},ne,e.createElement(pn,{disableContext:X,renderPipeline:p,position:$,width:m[0],height:m[1],projectedCoordinateNames:u,xScale:g,yScale:f,axes:n,title:me,frameKey:d,canvasContext:te,dataVersion:b,matte:oe,margin:O,canvasPostProcess:W,renderOrder:G,sketchyRenderingEngine:Y,axesTickLines:a,additionalVizElements:K,frameRenderOrder:q,disableProgressiveRendering:Q,transition:J}),me&&e.createElement("g",{className:"frame-title"},me),M&&e.createElement("g",{"aria-hidden":!0,className:"foreground-graphics"},ge))),I&&e.createElement("canvas",{className:"frame-canvas",ref:te,style:{pointerEvents:"none",position:"absolute"},width:y[0]/2,height:y[1]/2}),e.createElement(un,{hoverAnnotation:ee,projectedX:u.x,projectedY:u.y,projectedYMiddle:v,interaction:k,customClickBehavior:j,customHoverBehavior:A,customDoubleClickBehavior:E,points:S,showLinePoints:_,canvasRendering:I,position:$,margin:O,size:m,svgSize:y,xScale:g,yScale:f,enabled:!0,overlay:T,oColumns:L,rScale:R,projection:B,interactionOverflow:V,disableCanvasInteraction:H,renderPipeline:p,advancedSettings:Z}),ye)),C&&e.createElement("div",{className:s+" frame-after-elements"},C))}const vn=({tooltipRef:e,changeTooltipContentArgsCurrent:t,changeTooltipContainerInitialDimensions:n,changeCollision:a})=>{const o=null==e?void 0:e.getBoundingClientRect();if(!o)return;const{left:r,top:s,width:i,height:c}=o;let l={left:!1,right:!1,top:!1,bottom:!1};r+i>window.innerWidth&&(l.right=!0),0>r-i&&(l.left=!0),s+c>window.innerHeight&&(l.bottom=!0),0>s-c&&(l.top=!0),t(),n(o),a(l)};function kn(t){const{tooltipContent:n,tooltipContentArgs:a}=t,[o,s]=r(null),[c,d]=r(null),[u,p]=r(null),[y,m]=r(null),h=l(e=>{m(e),vn({tooltipRef:e,tooltipContentArgs:a,changeTooltipContentArgsCurrent:p,changeTooltipContainerInitialDimensions:d,changeCollision:s})},[]);i(()=>{s(null),d(null)},[JSON.stringify(a)]),i(()=>{y&&!o&&vn({tooltipRef:y,tooltipContentArgs:a,changeTooltipContentArgsCurrent:p,changeTooltipContainerInitialDimensions:d,changeCollision:s})},[y,o]);const g={overflow:"hidden",opacity:o&&u===a?1:0},f=o?["tooltip-container","tooltip-collision-evaluated",o&&o.top&&"collision-top",o&&o.bottom&&"collision-bottom",o&&o.right&&"collision-right",o&&o.left&&"collision-left"].filter(e=>e).join(" "):"tooltip-container",b={offset:{x:0,y:0},tooltipContainerInitialDimensions:c};return e.createElement("div",{ref:h,style:g,className:f,"data-testid":"TooltipPositioner"},n(Object.assign(Object.assign({},a),{tooltipContainerAttributes:b})))}const jn=({d:t,i:n,circle:a})=>{const{padding:o=2,radiusPadding:r=o,label:s}=t,i=Object.assign({dx:0,dy:0,note:{label:s},connector:{end:"arrow"}},t,{coordinates:void 0,x:a.x,y:a.y,type:"callout-circle",subject:{radius:a.r,radiusPadding:r},i:n});if(i.rp)switch(i.rp){case"top":i.dx=0,i.dy=-a.r-i.rd;break;case"bottom":i.dx=0,i.dy=a.r+i.rd;break;case"left":i.dx=-a.r-i.rd,i.dy=0;break;default:i.dx=a.r+i.rd,i.dy=0}return e.createElement(Le,{key:t.key||"annotation-"+n,noteData:i})},An=({bboxNodes:t,d:n,i:a})=>{const{padding:o=0,dx:r=-25,dy:s=-25,label:i}=n,c=[[Math.min(...t.map(e=>e.x0))-o,Math.min(...t.map(e=>e.y0))-o],[Math.max(...t.map(e=>e.x1))+o,Math.max(...t.map(e=>e.y1))+o]],l=Object.assign({dx:r,dy:s,note:{label:i},connector:{end:"arrow"}},n,{type:"callout-rect",x:c[0][0],y:c[0][1],subject:{width:c[1][0]-c[0][0],height:c[1][1]-c[0][1]}});return e.createElement(Le,{key:n.key||"annotation-"+a,noteData:l})},En=({points:t,d:n,i:a})=>{const{color:o="currentColor",dx:r=-25,dy:s=-25,label:i,padding:c=10,buffer:l=c,strokeWidth:d=10}=n,u=J(t),p=(new ee).data([...u,u[0]]).margin(l)[0],y=`M${p.map(e=>e.join(",")).join("L")}Z`,m=p[0],{nx:h=m[0]+r,ny:g=m[1]+s}=n,f=p.reduce((e,t)=>(Math.hypot(h-e[0],g-e[1])>Math.hypot(h-t[0],g-t[1])&&(e=t),e),m),b=Object.assign({dx:r,dy:s,note:{label:i},connector:{end:"arrow"}},n,{type:"callout-custom",x:f[0],y:f[1],subject:{custom:[e.createElement("path",{key:"hull-drawing",d:y,strokeWidth:d,strokeMiterlimit:"10",strokeLinejoin:"miter",strokeLinecap:"butt",fill:"none",stroke:o,transform:`translate(${-f[0]},${-f[1]})`})],customID:"hull-annotation"}});return e.createElement(Le,{key:n.key||"annotation-"+a,noteData:b})},Sn=({style:t={fill:"white",fillOpacity:.5},size:n,i:a,key:o})=>e.createElement("rect",{"data-testid":"desaturation-layer",key:o||"desaturation-"+a,x:-5,y:-5,width:n[0]+10,height:n[1]+10,style:t}),On=(e,t)=>{for(let n=0;e.length>n;n++){const a=e[n](t);if(void 0!==a&&!Number.isNaN(a)&&null!==a)return a}},wn=t=>({d:n,lines:a,points:o,xScale:r,yScale:s,pointStyle:i})=>{const c="x"===t?r:s;if(t="yTop"===t&&n.yMiddle?"yMiddle":t,n&&n[t]){const{threshold:l=1,r:d=()=>4,styleFn:u=i}=n,p=[],y=l/2;if(a&&a.length>0&&a.forEach(e=>{const a=e.data.filter(e=>{const a=c(e[t]),o=c(n[t]);return o+y>=a&&a>=o-y});p.push(...a)}),o&&o.length>0){const e=o.filter(e=>{const a=c(e[t]),o=c(n[t]);return o+y>=a&&a>=o-y});p.push(...e)}return p.map((t,n)=>e.createElement("circle",{key:"found-circle-"+n,r:d(t,n),style:u(t,n),cx:r(t.xMiddle||t.x),cy:s(t.yMiddle||t.yTop)}))}return null},Mn=wn("yTop"),Pn=wn("x"),Cn=e=>e instanceof Date?e.getTime():e,zn=({type:e="stackedarea",data:t,xProp:n,yProp:a,yPropMiddle:o,sort:r,yPropTop:s,yPropBottom:i})=>{const c=new Map,l=t.map(()=>0);let d=0;for(const e of t){e.__lineIndex=d;for(const t of e.data){const e=Cn(t[n]);l[d]+=t[a],c.has(e)||c.set(e,[]),c.get(e)[d]=t}d++}let u=(e,t)=>l[t.key]-l[e.key];"stackedpercent-invert"!==e&&"stackedarea-invert"!==e||(u=(e,t)=>l[e.key]-l[t.key]),null!==(r=void 0===r?u:r)&&(t=t.sort(r));const p=t.map(e=>e.__lineIndex);for(const[,t]of c){let n=0,r=0;const c=W(t,e=>(null==e?void 0:e[a])>0?e[a]:0),l=W(t,e=>0>(null==e?void 0:e[a])?e[a]:0);for(const d of p){const u=t[d];if(u)if(0>u[a]){if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=u[a]/l;if(u.percent=t,"linepercent"===e)u[i]=u[i]=u[s]=u[o]=t;else{const e=0>l?t:0;u[i]=0===l?0:-n/l,u[s]=u[i]-e,u[o]=u[i]-e/2}}else u[i]=n,u[s]=n+u[a],u[o]=n+u[a]/2;n+=u[a]}else{if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=u[a]/c;if(u.percent=t,"linepercent"===e)u[i]=u[s]=u[o]=t;else{const e=c>0?t:0;u[i]=0===c?0:r/c,u[s]=u[i]+e,u[o]=u[i]+e/2}}else u[i]=r,u[s]=r+u[a],u[o]=r+u[a]/2;r+=u[a]}}}return t},Nn=({data:e,y1:t,x1:n,yPropTop:a,yPropMiddle:o,yPropBottom:r,xPropTop:s,xPropMiddle:i,xPropBottom:c})=>{if(t)for(const n of e)for(const e of n.data)e[r]=t(e),e[o]=e[a];if(n)for(const t of e)for(const e of t.data)e[c]=n(e),e[i]=(e[c]+e[s])/2;return e},$n=({data:e,y1:t,yPropTop:n,yPropMiddle:a,yPropBottom:o,type:r="cumulative"})=>{for(const s of e){let e=0;const i="cumulative-reverse"===r?s.data.reverse():s.data;for(const r of i)e+=r[n],r[o]=r[n]=r[a]=e,t&&(r[o]=t(r),r[a]=r[o]+r[n]/2)}return e},Dn=({type:e="bumpline",data:t,xProp:n,yProp:a,yPropMiddle:o,yPropTop:r,yPropBottom:s})=>{const i=new Map;for(const e of t)for(const t of e.data){const e=Cn(t[n]);i.has(e)||i.set(e,[]),i.get(e).push(t)}let c=(e,t)=>e[a]>t[a]?1:-1;"bumparea-invert"!==e&&"bumpline-invert"!==e||(c=(e,t)=>t[a]>e[a]?1:-1);for(const[,t]of i){let n=0,i=0;t.sort(c);let l=1;for(const c of t)"bumparea"===e||"bumparea-invert"===e?0>c[a]?(c[r]=n+c[a],c[o]=n+c[a]/2,c[s]=n,n+=c[a]):(c[r]=i+c[a],c[o]=i+c[a]/2,c[s]=i,i+=c[a]):(c[a]=l,c[r]=l,c[s]=l),l++}return t},Fn={bottom:"yBottom",top:"yTop"};function Tn({point:e,projectedY:t,yAccessor:n,yScale:a,showLinePoints:o}){const r=e&&(o&&!0!==o&&void 0!==e[Fn[o]]?e[Fn[o]]:void 0!==e.yMiddle?e.yMiddle:void 0!==e[t]?e[t]:On(n,e));return Array.isArray(r)?r.map(e=>a(e)):void 0!==r?a(r):0}function Ln({point:e,projectedXMiddle:t,projectedX:n,xAccessor:a,xScale:o}){const r=e&&(void 0!==e[t]?e[t]:void 0!==e[n]?e[n]:On(a,e));return Array.isArray(r)?r.map(e=>o(e)):void 0!==r?o(r):0}function Rn({point:e,idAccessor:t,lines:n,xScale:a,projectedX:o,xAccessor:r}){const s=t(e.parentLine||e);if(s){const i=n.data.find(e=>t(e)===s);if(!i)return null;const c=a(On(r,e)),l=i.data.find(e=>a(e[o])===c);if(!l)return null;const d=Object.assign(Object.assign(Object.assign(Object.assign({},e),l),l.data),{parentLine:i});return["type","label","note","connector","disabled","color","subject"].forEach(t=>{e[t]&&(d[t]=e[t])}),d}return e}const Bn=e=>e&&e.extent||Array.isArray(e)&&e||[],Vn=()=>!0,Wn={top:tt,bottom:nt,orphan:Je},In={top:ot,bottom:rt,orphan:Ue},Gn={stackedarea:zn,"stackedarea-invert":zn,stackedpercent:zn,"stackedpercent-invert":zn,linepercent:zn,difference:({data:e,yProp:t,yPropTop:n,yPropBottom:a})=>(e.forEach((o,r)=>{o.data.forEach((o,s)=>{const i=0===r?1:0;o[t]>e[i].data[s][t]?(o[a]=e[i].data[s][t],o[n]=o[t]):(o[n]=o[t],o[a]=o[t])})}),e),bumparea:Dn,bumpline:Dn,"bumparea-invert":Dn,line:Nn,area:Nn,cumulative:$n,"cumulative-reverse":$n};function _n(e,t,n){if(!e&&t)return t;if("object"==typeof e)return()=>e;if(e instanceof Function)return e;if(!0===n){const t=e;return()=>t}return"string"==typeof e?t=>t?t[e]:void 0:()=>{}}function Hn(e,t,n){if(void 0===e)return[_n(void 0,t,n)];let a=[];return a=Array.isArray(e)?e:[e],a.map(e=>_n(e,t,n))}function Yn(e,t){const n=[];for(const e of t)n.push(Object.assign({},e));for(const t of e)t.parentSummary||n.push(t);return n}const Xn=(e,t)=>!Gn[e]||"difference"===e&&2!==t.length?"line":e,qn=({xExtent:e,yExtent:t,adjustedSize:n,xScaleType:a,yScaleType:o})=>{const r=[0,n[0]],s=[n[1],0],i=a,c=o;return a.domain&&a.domain(e),o.domain&&o.domain(t),a.range(r),o.range(s),{xScale:i,yScale:c}},Kn={line:{items:"line",chart:"line chart"},area:{items:"summary",chart:"summary chart"},summary:{items:"summary",chart:"summary chart"},cumulative:{items:"line",chart:"cumulative chart"},"cumulative-reverse":{items:"line",chart:"cumulative chart"},linepercent:{items:"line",chart:"line chart"},stackedarea:{items:"stacked area",chart:"stacked area chart"},"stackedarea-invert":{items:"stacked area",chart:"stacked area chart"},stackedpercent:{items:"stacked area",chart:"stacked area chart"},"stackedpercent-invert":{items:"stacked area",chart:"stacked area chart"},bumparea:{items:"ranked area",chart:"ranked area chart"},"bumparea-invert":{items:"ranked area",chart:"ranked area chart"},bumpline:{items:"ranked line",chart:"ranked line chart"},difference:{items:"line",chart:"difference chart"}},Zn=(t,n,a,o)=>{const{legend:r,lines:s,lineClass:i,pointStyle:c,pointRenderMode:l,pointClass:d,summaryClass:u,canvasLines:p,canvasPoints:y,canvasSummaries:m,defined:g,size:f,renderKey:b,lineType:x,summaryType:v,customLineMark:k,customPointMark:j,customSummaryMark:A,summaryStyle:E,summaryRenderMode:S,lineStyle:O,lineRenderMode:w,xExtent:P,yExtent:C,title:z,xScaleType:N=M(),yScaleType:$=M(),lineIDAccessor:D,invertX:F,invertY:T,showLinePoints:L,showSummaryPoints:R,points:B,lineDataAccessor:V,summaryDataAccessor:W,yAccessor:I,xAccessor:G,useSummariesAsInteractionLayer:_,filterRenderedLines:Y,filterRenderedSummaries:X,filterRenderedPoints:q,annotations:K}=t;let{projectedLines:Z,projectedPoints:Q,projectedSummaries:U,summaries:J,fullDataset:ee}=t;v&&B&&!J?J=[{coordinates:B}]:v&&"linebounds"===v.type&&s&&!J&&(J=s);const ne=N.domain?N:N(),ae=$.domain?$:$(),oe=o.annotatedSettings(G,I,W,V,b,x,v,D),re=Object.assign(Object.assign({},oe),{lineType:an(x),summaryType:an(v),summaries:!J||Array.isArray(J)&&0===J.length?void 0:Array.isArray(J)?W||J[0].coordinates?J:[{coordinates:J}]:[J],lines:!s||Array.isArray(s)&&0===s.length?void 0:Array.isArray(s)?V||s[0].coordinates?s:[{coordinates:s}]:[s],title:"object"!=typeof z||e.isValidElement(z)||null===z?{title:z,orient:"top"}:z,xExtent:Array.isArray(P)?P:P?P.extent:void 0,yExtent:Array.isArray(C)?C:C?C.extent:void 0});"area"===re.lineType.type&&(re.lineType.y1=()=>0,re.lineType.simpleLine=!1);const{summaryStyleFn:se,summaryClassFn:ie,summaryRenderModeFn:ce}=o.summaryStyleFns(E,u,S),le=t.axes&&t.axes.map(e=>"function"==typeof e?e({size:t.size}):e),{margin:de,adjustedPosition:ue,adjustedSize:pe}=o.marginCalc(t.margin,le,re.title,t.size);let ye,me,he,ge,fe,be,xe,ve,ke=[],je=[];he="object"==typeof P?P:{extent:P},ge="object"==typeof C?C:{extent:C},a||t.dataVersion&&t.dataVersion!==n.dataVersion?(me&&ye&&ee&&(Z||Q||U)||({xExtent:me,yExtent:ye,projectedLines:Z,projectedPoints:Q,projectedSummaries:U,fullDataset:ee,calculatedXExtent:ke,calculatedYExtent:je}=(({lineDataAccessor:t,xAccessor:n,yAccessor:a,summaries:o,points:r,lines:s,lineType:i,showLinePoints:c,showSummaryPoints:l,xExtent:d,yExtent:u,invertX:p,invertY:y,summaryDataAccessor:m,summaryType:g,adjustedSize:f,margin:b,summaryStyleFn:x,summaryClassFn:v,summaryRenderModeFn:k,chartSize:j,filterRenderedLines:A,filterRenderedSummaries:E,filterRenderedPoints:S,defined:O=Vn,annotations:w=[]})=>{let P=[],C=[],z=[],N=[],$=[];if(r){n.forEach((e,t)=>{a.forEach((n,a)=>{let o=0;for(const s of r){const r=e(s,o),i=n(s,o),c={x:r,y:i,data:s,xIndex:t,yIndex:a};Array.isArray(i)&&(c[nt]=Math.min(...i),c[tt]=Math.max(...i),c[et]=(c[nt]+c[tt])/2),Array.isArray(r)&&(c[rt]=Math.min(...r),c[ot]=Math.max(...r),c[at]=(c[rt]+c[ot])/2),z.push(c),o++}})});for(const e of z)P.push(Object.assign(Object.assign({},e),{[Ue]:e[ot]||e[rt]||e.x,[Je]:e[tt]||e[nt]||e.y}))}if(s){C=(({data:e,lineDataAccessor:t,xProp:n,xPropTop:a,xPropBottom:o,yProp:r,yPropTop:s,yPropBottom:i,xAccessor:c,yAccessor:l})=>{Array.isArray(e)||(e=[e]);const d=[];return t.forEach((t,u)=>{c.forEach((c,p)=>{l.forEach((l,y)=>{e.forEach(e=>{const m=Object.assign(Object.assign({},e),{xIndex:p,yIndex:y,lineIndex:u});m.data=t(e).map((e,t)=>{const d={data:e};return d[n]=c(e,t),d[a]=d[n],d[o]=d[n],d[r]=l(e,t),d[s]=d[r],d[i]=d[r],d}),m.key=m.key||d.length,d.push(m)})})})}),d})({data:s,lineDataAccessor:t,xProp:Ue,xPropTop:ot,xPropBottom:rt,yProp:Je,yPropTop:tt,yPropBottom:nt,xAccessor:n,yAccessor:a}),N=function(e,t){return n=>Gn[Xn(e.type,n)](Object.assign(Object.assign(Object.assign({},e),t),{data:n}))}(i,{xProp:Ue,yProp:Je,yPropMiddle:et,yPropTop:tt,yPropBottom:nt,xPropMiddle:at,xPropTop:ot,xPropBottom:rt})(C);for(const e of N)for(let t=0;e.data.length>t;t++){const n=e.data[t];if(!O(Object.assign({},n.data,n),t))continue;const a={parentLine:e,y:n.y,x:n.x,xTop:n.xTop,xMiddle:n.xMiddle,xBottom:n.xBottom,yTop:n.yTop,yMiddle:n.yMiddle,yBottom:n.yBottom,data:n.data};n.percent&&(a.percent=n.percent),P.push(a)}if(c){const e=!0===c?at:In[c],t=!0===c?et:Wn[c];N.forEach(n=>{n.data.filter((e,t)=>{if(O(Object.assign({},e.data,e))){if("orphan"===c){const e=n.data[t-1],a=n.data[t+1];return!(e&&O(Object.assign({},e.data,e))||a&&O(Object.assign({},a.data,a)))}return!0}return!1}).forEach(a=>{z.push(Object.assign(Object.assign({},a),{parentLine:n,[Je]:void 0!==a[t]?a[t]:void 0!==a[et]?a[et]:void 0!==a[nt]?a[nt]:a.y,[Ue]:void 0!==a[e]?a[e]:void 0!==a[at]?a[at]:void 0!==a[rt]?a[rt]:a.y}))})})}}o&&($=(({data:e,summaryDataAccessor:t,xAccessor:n,yAccessor:a})=>{const o=[];return t.forEach(t=>{n.forEach(n=>{a.forEach(a=>{const r=e=>t(e).map((e,t)=>[n(e,t),a(e,t)]);e.forEach(e=>{o.push(Object.assign(Object.assign({},e),{_baseData:t(e),_xyfCoordinates:r(e)}))})})})}),o})({data:o,summaryDataAccessor:m,xAccessor:n,yAccessor:a}),$.forEach(e=>{const t=e._baseData;e._xyfCoordinates.length>0&&e._xyfCoordinates[0][0][0]?e._xyfCoordinates[0].forEach(n=>{Array.isArray(n)&&n.map((n,a)=>Object.assign({parentSummary:e},t[a],{[Ue]:n[0],[Je]:n[1]})).forEach(e=>{l&&z.push(Object.assign(Object.assign({x:0},e),{[Je]:e[tt]||e[nt]||e[Je]})),P.push(Object.assign({x:0,y:0},e))})}):e._xyfCoordinates.length>0&&Array.isArray(e._xyfCoordinates)&&e._xyfCoordinates.map((n,a)=>Object.assign(Object.assign({parentSummary:e},t[a]),{[Ue]:n[0],[Je]:n[1]})).forEach(e=>{l&&z.push(Object.assign(Object.assign({x:0},e),{[Je]:e[tt]||e[nt]||e[Je]})),P.push(Object.assign({x:0,y:0},e))})}));let D,F,T,L,R=[],B=[];d&&!Array.isArray(d)&&!0===d.includeAnnotations&&n.forEach(e=>{w.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&R.push({[Ue]:a})})}),u&&!Array.isArray(u)&&!0===u.includeAnnotations&&a.forEach(e=>{w.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&B.push({[Je]:a})})});for(const e of P){const t=void 0===e[rt]?e[Ue]:Math.min(e[ot],e[rt]),n=void 0===e[ot]?e[Ue]:Math.max(e[rt],e[ot]),a=void 0===e[nt]?e[Je]:Math.min(e[tt],e[nt]),o=void 0===e[tt]?e[Je]:Math.max(e[nt],e[tt]);void 0===t||void 0!==D&&t>=D||(D=t),void 0===n||void 0!==F&&F>=n||(F=n),void 0===a||void 0!==T&&a>=T||(T=a),void 0===o||void 0!==L&&L>=o||(L=o)}for(const e of R){const t=e[Ue];void 0===t||void 0!==D&&t>=D||(D=t),void 0===t||void 0!==F&&F>=t||(F=t)}for(const e of B){const t=e[Je];void 0===t||void 0!==T&&t>=T||(T=t),void 0===t||void 0!==L&&L>=t||(L=t)}const V=[D,F],W=[T,L],I=Bn(d),G=Bn(u);let _=[G&&void 0!==G[0]?G[0]:W[0],G&&void 0!==G[1]?G[1]:W[1]],Y=[I&&void 0!==I[0]?I[0]:V[0],I&&void 0!==I[1]?I[1]:V[1]];return!p||I&&2===I.length||(Y=[Y[1],Y[0]]),"bumpline"!==i.type&&!y||G&&2===G.length||(_=[_[1],_[0]]),g.type&&"contour"===g.type?$=$t({summaryType:g,data:$,finalXExtent:Y,finalYExtent:_}):g.type&&"linebounds"===g.type?$=function({summaryType:e,data:t,defined:n}){let a=[];e.type||(e={type:e});const{boundingAccessor:o,topBoundingAccessor:r=o,bottomBoundingAccessor:s=o}=e;return t.forEach(e=>{const t=e._baseData.map(n);let o=[],i=[];const c=[{xyf:i,base:o}];t.forEach((n,a)=>{!0===n?(o.push(e._baseData[a]),i.push(e._xyfCoordinates[a])):t[a+1]&&(o=[],i=[],c.push({xyf:i,base:o}))}),c.forEach(({xyf:t,base:n})=>{const o={data:e,parentSummary:e,_xyfCoordinates:Dt(t,n,r,s)};a=[...a,o]})}),a}({summaryType:g,data:$,defined:O}):g.type&&"hexbin"===g.type?($=function({preprocess:t=!0,processedData:n=!1,summaryType:a,data:o,finalXExtent:r,finalYExtent:s,size:i,xScaleType:c=M(),yScaleType:l=M(),margin:d,styleFn:u,classFn:p,renderFn:y,chartSize:m}){let h=r,g=s;if(!h){const e=o.coordinates.map(e=>e.x);h=[Math.min(...e),Math.max(...e)]}if(!g){const e=o.coordinates.map(e=>e.y);g=[Math.min(...e),Math.max(...e)]}if(n&&o)return o.coordinates;let f,b=[];f=a.type?a:{type:f};const{bins:x=.05,cellPx:v,binValue:k=e=>e.length,binMax:j,customMark:A}=f;o.coordinates&&!o._xyfCoordinates&&(o._xyfCoordinates=o.coordinates.map(e=>[e.x,e.y]));const E=Array.isArray(o)?o:[o],S=c.domain(h).range([0,i[0]]),O=l.domain(g).range([0,i[1]]),w=v&&v/2||(x>1?1/x:x)*i[0]/2,P=te().x(e=>S(e._xyfPoint[0])).y(e=>O(e._xyfPoint[1])).radius(w).size(i);let C;const z=P.centers();return E.forEach(t=>{C=0;const n=P(t._xyfCoordinates.map((e,n)=>Object.assign({_xyfPoint:e},t.coordinates[n]))),a={};n.forEach(e=>{a[`${parseInt(e.x)}-${parseInt(e.y)}`]=!0}),z.forEach(e=>{if(!a[`${parseInt(e[0])}-${parseInt(e[1])}`]){const t=[];t.x=e[0],t.y=e[1],n.push(t)}}),C=Math.max(...n.map(e=>k(e))),j&&j(C);const o=[[0,-1],[.866,-.5],[.866,.5],[0,1],[-.866,.5],[-.866,-.5]],r=S.invert(w)-h[0],s=O.invert(w)-g[0],c=o.map(e=>[e[0]*r,e[1]*s]),l=n.map(n=>{const a=k(n),r=n.x,s=n.y;n.x=S.invert(n.x),n.y=O.invert(n.y);const l=a/C;return{customMark:A&&e.createElement("g",{transform:`translate(${r},${i[1]-s})`},A({d:Object.assign(Object.assign({},n),{binItems:n,percent:l,value:a,radius:w,hexCoordinates:o.map(e=>[e[0]*w,e[1]*w])}),margin:d,styleFn:u,classFn:p,renderFn:y,chartSize:m,adjustedSize:i})),_xyfCoordinates:c.map(e=>[e[0]+n.x,e[1]+n.y]),value:a,percent:l,data:n,parentSummary:t,centroid:!0}});b=[...b,...l]}),t?(b.forEach(e=>{e.x=e.data.x,e.y=e.data.y}),{type:"hexbin",processedData:!0,coordinates:b,binMax:C}):b}({summaryType:g,data:$[0],processedData:o&&!!o[0].processedData,preprocess:!1,finalXExtent:Y,finalYExtent:_,size:f,margin:b,styleFn:x,classFn:v,renderFn:k,chartSize:j}),P=Yn(P,$)):g.type&&"heatmap"===g.type?($=function({preprocess:t=!0,processedData:n=!1,summaryType:a,data:o,finalXExtent:r=[Math.min(...o.coordinates.map(e=>e.x)),Math.max(...o.coordinates.map(e=>e.x))],finalYExtent:s=[Math.min(...o.coordinates.map(e=>e.y)),Math.max(...o.coordinates.map(e=>e.y))],size:i,xScaleType:c=M(),yScaleType:l=M(),margin:d,styleFn:u,classFn:p,renderFn:y,chartSize:m}){if(n&&o)return o.coordinates;o.coordinates&&!o._xyfCoordinates&&(o._xyfCoordinates=o.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(o)?o:[o];let g,f=[];g=a.type?a:{type:g};const{binValue:b=e=>e.length,xBins:x=g.yBins||.05,yBins:v=x,xCellPx:k=!g.xBins&&g.xCellPx,yCellPx:j=!g.yBins&&g.yCellPx,customMark:A,binMax:E}=g,S=1>x?x:1/x,O=1>v?v:1/v,w=c.domain(r).range([0,i[0]]),P=l.domain(s).range([i[1],0]),C=[Math.ceil((k&&k/i[0]||S)*i[0]*10)/10,Math.ceil((j&&j/i[1]||O)*i[1]*10)/10];let z=-1/0;return h.forEach(t=>{const n=[],a=[];let o,r;for(let e=0;i[0]>Math.ceil(e);e+=C[0]){const s=w.invert(e),c=w.invert(e+C[0]);r=[],n.push(r);for(let n=0;i[1]>Math.ceil(n);n+=C[1]){const i=P.invert(n),l=P.invert(n+C[1]);o={gx:e,gy:n,gw:C[0],gh:C[1],x:(s+c)/2,y:(i+l)/2,binItems:[],value:0,_xyfCoordinates:[[s,i],[c,i],[c,l],[s,l]],parentSummary:t},r.push(o),a.push(o)}r.push(o)}n.push(r),t._xyfCoordinates.forEach((e,a)=>{const o=w(e[0]),r=P(e[1]),s=Math.floor(o/C[0]),i=Math.floor(r/C[1]);n[s][i]&&n[s][i].binItems.push(t.coordinates[a])}),a.forEach(e=>{e.value=b(e.binItems),z=Math.max(z,e.value)}),a.forEach(t=>{t.percent=t.value/z,t.customMark=A&&e.createElement("g",{transform:`translate(${t.gx},${t.gy})`},A({d:t,margin:d,styleFn:u,classFn:p,renderFn:y,chartSize:m,adjustedSize:i}))}),f=[...f,...a]}),E&&E(z),t?{type:"heatmap",processedData:!0,_baseData:[],_xyfCoordinates:[],data:[],bounds:[],x:0,y:0,coordinates:f,binMax:z}:f}({summaryType:g,data:$[0],processedData:o&&!!o[0].processedData,preprocess:!1,finalXExtent:Y,finalYExtent:_,size:f,margin:b,styleFn:x,classFn:v,renderFn:k,chartSize:j}),P=Yn(P,$)):g.type&&"trendline"===g.type&&($=function({preprocess:e=!1,summaryType:t,data:n,finalXExtent:a=[Math.min(...n.coordinates.map(e=>e.x)),Math.max(...n.coordinates.map(e=>e.x))],xScaleType:o=M()}){if(e)return n[0].coordinates;let r,s=[];r=t.type?t:{type:r};const{regressionType:i="linear",order:c=2,precision:l=4,controlPoints:d=20,curve:u=h}=r;let p=i;a[0]>=0||"logarithmic"!==i&&"power"!==i&&"exponential"!==i||(console.error(`Cannot use this ${i} regressionType type with value range that goes below 0, defaulting to linear`),p="linear"),n.coordinates&&!n._xyfCoordinates&&(n._xyfCoordinates=n.coordinates.map(e=>[e.x,e.y]));const y=Array.isArray(n)?n:[n],m=o.domain([0,1]).range(a);return s=[],y.forEach(e=>{const t=H[p](e._xyfCoordinates.map(e=>{let t=e[0],n=e[1];return"number"!=typeof t&&(t=t.getTime()),"number"!=typeof n&&(n=n.getTime()),[t,n]}),{order:c,precision:l}),n=1/d;let a=[0,1];if("linear"!==p){a=[];for(let e=0;1+n>e;e+=n)a.push(e)}const o=[];a.forEach(e=>{o.push(t.predict(m(e)))}),s.push({centroid:!1,customMark:void 0,data:e,parentSummary:e,value:t.string,r2:t.r2,curve:u,_xyfCoordinates:o})}),s}({summaryType:g,data:$[0],preprocess:o&&!!o[0].processedData,finalXExtent:Y}),P=Yn(P,$)),A&&(N=N.filter(A),P=P.filter((e,t)=>!e.parentLine||A(e.parentLine,t,[]))),S&&(P=P.filter(S)),E&&($=$.filter(E),P=P.filter((e,t)=>!e.parentSummary||E(e.parentSummary,t,[]))),{xExtent:Y,yExtent:_,projectedLines:N,projectedPoints:z,projectedSummaries:$,fullDataset:P,calculatedXExtent:V,calculatedYExtent:W}})({lineDataAccessor:re.lineDataAccessor,summaryDataAccessor:re.summaryDataAccessor,xAccessor:re.xAccessor,yAccessor:re.yAccessor,lineType:re.lineType,summaryType:re.summaryType,summaries:re.summaries,points:B,lines:re.lines,showLinePoints:L,showSummaryPoints:R,xExtent:P,yExtent:C,invertX:F,invertY:T,adjustedSize:pe,margin:de,summaryStyleFn:se,summaryClassFn:ie,summaryRenderModeFn:ce,chartSize:f,defined:g,filterRenderedLines:Y,filterRenderedSummaries:X,filterRenderedPoints:q,annotations:K})),({xScale:fe,yScale:be}=qn({xExtent:me,yExtent:ye,adjustedSize:pe,xScaleType:ne.copy(),yScaleType:ae.copy()}))):(({xExtent:me,yExtent:ye,projectedLines:Z,projectedPoints:Q,projectedSummaries:U,fullDataset:ee,calculatedXExtent:ke,calculatedYExtent:je}=n),pe[0]===n.adjustedSize[0]&&pe[1]===n.adjustedSize[1]?(fe=n.xScale,be=n.yScale):({xScale:fe,yScale:be}=qn({xExtent:me,yExtent:ye,adjustedSize:pe,xScaleType:ne,yScaleType:ae}))),me=Array.isArray(he.extent)&&2===he.extent.length?he.extent:me,ye=Array.isArray(ge.extent)&&2===ge.extent.length?ge.extent:ye;const Ae={};let Ee;if(le&&(ve=[],xe=le.map((n,a)=>{let o=n.className||"";o+=" axis";let r,s=be;Ae[n.orient]&&(n.baseline=n.baseline||!1),Ae[n.orient]=!0,"top"===n.orient||"bottom"===n.orient?(o+=" x",s=fe):o+=" y",o+=" "+n.orient,n.tickValues&&Array.isArray(n.tickValues)?r=n.tickValues:n.tickValues instanceof Function&&(r=n.tickValues(ee,t.size,s));const i=[pe[0],pe[1]],c=vt({padding:n.padding,tickValues:r,scale:s,ticks:n.ticks,orient:n.orient,size:i,footer:n.footer,tickSize:n.tickSize,jaggedBase:n.jaggedBase}),l=e.createElement("g",{key:"axes-tick-lines-"+a,className:"axis "+o},jt({axisParts:c,orient:n.orient,tickLineGenerator:n.tickLineGenerator,className:o,jaggedBase:n.jaggedBase,scale:s,showOutboundTickLines:n.showOutboundTickLines}),"under"===n.baseline&&kt(n.orient,pe,n.className));return ve.push(l),e.createElement(Ut,Object.assign({},n,{key:n.key||"axis-"+a,annotationFunction:n.axisAnnotationFunction,axisParts:c,size:i,margin:de,tickValues:r,scale:s,className:o,xyPoints:ee}))})),r&&(Ee=!0===r?{}:r,Z&&!Ee.legendGroups)){const e=re.lineType.type,n=[{styleFn:t.lineStyle,type:"string"==typeof e&&-1===["stackedarea","stackedpercent","bumparea"].indexOf(e)?"line":"fill",items:Z.map(e=>Object.assign({label:re.lineIDAccessor(e)},e))}];Ee.legendGroups=n}const Se=[];if(re.summaryType.label&&U)U.forEach((e,t)=>{e.bounds&&(Array.isArray(e.bounds)?e.bounds:[e.bounds]).forEach(n=>{const a="function"==typeof re.summaryType.label?re.summaryType.label(e):re.summaryType.label;if(a&&null!==a){const o=a.position||"center",r=[fe(n[o][0]),be(n[o][1])],s=a.content||(e=>e.value||e.id||t);Se.push({x:r[0],y:r[1],dx:a.dx,dy:a.dy,className:a.className,type:a.type||"callout",note:a.note||{title:s(e)},subject:a.subject||{text:s(e)},connector:a.connector})}})});else if(re.summaryType.showSlope&&U&&U[0]){const e=U[0],t=e._xyfCoordinates[0],n=e._xyfCoordinates[e._xyfCoordinates.length-1];Se.push({x:t[0],y:t[1],x1:n[0],x2:n[1],type:"trendline-annotation",value:e.value,r2:e.r2})}const Oe=void 0!==re.lineType.type&&"string"==typeof re.lineType.type&&Kn[re.lineType.type],we={lines:Object.assign(Object.assign({accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t].data[e[t].data.length-1]),{type:"frame-hover"}),data:Z},o.lineStyleFns(O,i,w,p)),{customMark:k,type:re.lineType,defined:g,renderKeyFn:re.renderKeyFn,ariaLabel:Oe,axesData:le,behavior:Vt}),summaries:{accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t]),{type:"frame-hover"}),data:U,styleFn:se,classFn:ie,renderMode:ce,canvasRender:o.summaryCanvasRender(m),customMark:A,type:re.summaryType,renderKeyFn:re.renderKeyFn,behavior:Wt},points:Object.assign(Object.assign({accessibleTransform:(e,t)=>Object.assign({type:"frame-hover"},e[t].data||e[t]),data:Q},o.pointStyleFns(c,d,l,y)),{customMark:j,renderKeyFn:re.renderKeyFn,showLinePoints:L,behavior:Bt})};let Me;return he.onChange&&n.calculatedXExtent.join(",")!==ke.join(",")&&he.onChange(ke),ge.onChange&&n.calculatedYExtent.join(",")!==je.join(",")&&ge.onChange(je),_&&U&&(Me=Wt({xScale:fe,yScale:be,data:U}).map((e,t)=>Object.assign(Object.assign({},e.props),{style:{fillOpacity:0},overlayData:U&&U[t]}))),{lineData:t.lines,pointData:t.points,summaryData:t.summaries,dataVersion:t.dataVersion,projectedLines:Z,projectedPoints:Q,projectedSummaries:U,canvasDrawing:[],fullDataset:ee,adjustedPosition:ue,adjustedSize:pe,backgroundGraphics:t.backgroundGraphics,foregroundGraphics:t.foregroundGraphics,axesData:le,axes:xe,axesTickLines:ve,renderNumber:n.renderNumber+1,xScale:fe,yScale:be,xAccessor:re.xAccessor,yAccessor:re.yAccessor,xExtent:[void 0===me[0]?ke[0]:me[0],void 0===me[1]?ke[1]:me[1]],yExtent:[void 0===ye[0]?je[0]:ye[0],void 0===ye[1]?je[1]:ye[1]],calculatedXExtent:ke,calculatedYExtent:je,margin:de,legendSettings:Ee,areaAnnotations:Se,xyFrameRender:we,size:f,annotatedSettings:re,overlay:Me,props:t}},Qn=()=>({}),Un=()=>"",Jn=["lines","points","summaries","xAccessor","yAccessor","lineDataAccessor","areaDataAccessor","summaryDataAccessor","lineIDAccessor","lineType","summaryType","showLinePoints","showSummaryPoints","defined","xExtent","yExtent","xScaleType","yScaleType","invertX","invertY","filterRenderedLines","filterRenderedPoints","filterRenderedSummaries"],ea=["size","margin","title","axes",...Jn],ta=["data","oAccessor","rAccessor","dataAccessor","type","summaryType","connectorType","projection","orient","oScaleType","rScaleType","oExtent","rExtent","invertO","invertR","oPadding","oSort","dynamicColumnWidth","rBaseline","summaryPosition","renderFn"],na=["size","margin","title","axes","oLabel",...ta],aa=["graph","nodes","edges","nodeIDAccessor","sourceAccessor","targetAccessor","nodeSizeAccessor","edgeWidthAccessor","networkType","edgeType","filterRenderedNodes","renderFn"],oa=["size","margin","title","nodeLabels",...aa];function ra(e,t,n){let o=c(n),r=a(()=>{let n=o.current,a=e(t,n);return null!=a?Object.assign(Object.assign({},n),a):n},[t]);return o.current=r,r}function sa(e,t){let n=c();n.current=[e,t],i(()=>()=>{const[e,t]=n.current,a=e.onUnmount;a&&a(e,t)},[])}let ia="";for(let e=32;e>0;--e)ia+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];const ca={y:Je,x:Ue,yMiddle:et,yTop:tt,yBottom:nt,xMiddle:at,xTop:ot,xBottom:rt},la={annotations:[],foregroundGraphics:void 0,size:[500,500],className:"",lineType:"line",name:"xyframe",dataVersion:void 0};function da(t){const n=Object.assign(Object.assign({},la),t),o=c({annotatedSettings:ne((e,t,n,a,o,r,s,i)=>({xAccessor:Hn(e,e=>e[0]),yAccessor:Hn(t,e=>e[1]),summaryDataAccessor:Hn(n,e=>Array.isArray(e)?e:e.coordinates),lineDataAccessor:Hn(a,e=>Array.isArray(e)?e:e.coordinates),renderKeyFn:_n(o,(e,t)=>"line-"+t,!0),lineIDAccessor:_n(i,e=>e.semioticLineID)})),marginCalc:ne((e,t,n,a)=>{const o=nn({margin:e,axes:t,title:n,size:a}),{adjustedPosition:r,adjustedSize:s}=rn({size:a,margin:o});return{margin:o,adjustedPosition:r,adjustedSize:s}}),summaryStyleFns:ne((e,t,n)=>({summaryStyleFn:_n(e,Qn,!0),summaryClassFn:_n(t,Un,!0),summaryRenderModeFn:_n(n,void 0,!0)})),lineStyleFns:ne((e,t,n,a)=>({styleFn:_n(e,Qn,!0),classFn:_n(t,Un,!0),renderMode:_n(n,void 0,!0),canvasRender:_n(a,void 0,!0)})),pointStyleFns:ne((e,t,n,a)=>({styleFn:_n(e,Qn,!0),classFn:_n(t,Un,!0),renderMode:_n(n,void 0,!0),canvasRender:_n(a,void 0,!0)})),summaryCanvasRender:ne(e=>_n(e,void 0,!0))}),r={size:[500,500],dataVersion:void 0,lineData:void 0,pointData:void 0,summaryData:void 0,projectedLines:void 0,projectedPoints:void 0,projectedSummaries:void 0,fullDataset:[],adjustedPosition:[0,0],adjustedSize:[500,500],backgroundGraphics:null,foregroundGraphics:null,axesData:void 0,axes:void 0,axesTickLines:void 0,renderNumber:0,margin:{top:0,bottom:0,left:0,right:0},calculatedXExtent:[0,0],calculatedYExtent:[0,0],xAccessor:[e=>e.x],yAccessor:[e=>e.y],xExtent:[0,0],yExtent:[0,0],areaAnnotations:[],xScale:M(),yScale:M(),title:null,legendSettings:void 0,xyFrameRender:{},canvasDrawing:[],annotatedSettings:{xAccessor:void 0,yAccessor:void 0,summaryDataAccessor:void 0,lineDataAccessor:void 0,renderKeyFn:void 0,lineType:void 0,summaryType:void 0,lineIDAccessor:void 0,summaries:void 0,lines:void 0,title:void 0,xExtent:void 0,yExtent:void 0},overlay:void 0,props:n},s=a(()=>Object.assign(Object.assign({},r),Zn(n,r,!0,o.current)),[]),i=ra((e,t)=>function(e,t,n){const{props:a}=t,{xExtent:o=[],yExtent:r=[],size:s,dataVersion:i,lineData:c,summaryData:l,pointData:d}=t,{xExtent:u,yExtent:p,size:y,dataVersion:m,lines:h,summaries:g,points:f}=e,b=Bn(u),x=Bn(p),v=o[0]!==b[0]&&void 0!==b[0]||r[0]!==x[0]&&void 0!==x[0]||o[1]!==b[1]&&void 0!==b[1]||r[1]!==x[1]&&void 0!==x[1],k=c!==h,j=l!==g,A=d!==f,E=!i&&Jn.some(t=>a[t]!==e[t]),S=!i&&ea.some(t=>a[t]!==e[t]),O=s[0]!==y[0]||s[1]!==y[1];return i&&i!==m||!t.fullDataset||k||j||A||v||E?Zn(e,t,!0,n):O||S?Zn(e,t,!1,n):null}(e,t,o.current),n,s),{size:d,className:u,annotationSettings:y,annotations:m,additionalDefs:h,hoverAnnotation:f,interaction:b,customClickBehavior:x,customHoverBehavior:v,customDoubleClickBehavior:k,canvasPostProcess:j,canvasSummaries:A,canvasPoints:E,canvasLines:S,afterElements:O,beforeElements:w,renderOrder:P,matte:C,frameKey:z,showLinePoints:N,sketchyRenderingEngine:$,disableContext:D,frameRenderOrder:F,disableCanvasInteraction:T,interactionSettings:R,disableProgressiveRendering:B,transition:V}=n,{backgroundGraphics:W,foregroundGraphics:I,adjustedPosition:G,adjustedSize:_,margin:H,axes:X,axesTickLines:q,xScale:K,yScale:Z,fullDataset:Q,dataVersion:U,areaAnnotations:J,legendSettings:ee,xyFrameRender:te,annotatedSettings:ae,overlay:oe}=i;sa(n,i);const re=c(n);re.current=n;const se=c(i);se.current=i;const ie=l(t=>function(t,n,{d:a,i:o,lines:r,summaries:s,points:i,annotationLayer:c}){const{showLinePoints:l,defined:d,margin:u,size:y,svgAnnotationRules:m}=t,{xyFrameRender:h,xScale:f,yScale:b,xAccessor:x,yAccessor:v,axesData:k,annotatedSettings:j}=n;let A=[];const E=j.lineIDAccessor;if("highlight"===a.type)return(({d:t,i:n,points:a={data:[]},lines:o={data:[],type:{}},summaries:r={data:[]},idAccessor:s,xScale:i,yScale:c,xyFrameRender:l,defined:d})=>{let u;const p=s(Object.assign(Object.assign({},t),t.data),n);void 0!==p?u=p:t.parentLine&&void 0!==s(t.parentLine,n)?u=s(t.parentLine,n):t.parentSummary&&void 0!==s(t.parentSummary,n)&&(u=s(t.parentSummary,n));const y=a.data.filter((e,t)=>s(Object.assign(Object.assign({},e),e.data),t)===u).map((n,a)=>{const o=l.points.styleFn(Object.assign(Object.assign({},n),n.data)),r="function"==typeof t.style?t.style(Object.assign(Object.assign({},n),n.data),a):t.style||{};return e.createElement("circle",{key:"highlight-point-"+a,cx:i(n.x),cy:c(n.y),r:5,fill:"none",stroke:"currentColor",strokeWidth:2,style:Object.assign(Object.assign({},o),r),className:"highlight-annotation "+(t.class&&"function"==typeof t.class&&t.class(Object.assign(Object.assign({},n),n.data),a)||t.class&&t.class||"")})}),m=g().x(e=>i(e.x)).y0(e=>c(e.yBottom)).y1(e=>c(e.yTop)),h=o.type.interpolator||o.type.curve,f="string"==typeof h?Lt[h]:h;f&&m.curve(f),d&&m.defined((e,t)=>d(e.data,t));const b=o.data.filter((e,t)=>s(e,t)===u).map((n,a)=>{const o=l.lines.styleFn(n,a),r="function"==typeof t.style?t.style(n,a):t.style||{};return e.createElement("path",{className:"highlight-annotation "+(t.class&&"function"==typeof t.class&&t.class(n,a)||t.class&&t.class||""),key:"highlight-summary-"+a,d:m(n.data),fill:"none",stroke:"currentColor",strokeWidth:1,style:Object.assign(Object.assign({},o),r)})});return[...r.data.filter((e,t)=>s(e,t)===u).map((n,a)=>{const o=l.summaries.styleFn(n,a),r="function"==typeof t.style?t.style(n,a):t.style||{};return e.createElement("path",{className:"highlight-annotation "+(t.class&&"function"==typeof t.class&&t.class(n,a)||t.class&&t.class||""),key:"highlight-summary-"+a,d:"M"+n.coordinates.join("L"),fill:"none",stroke:"currentColor",strokeWidth:1,style:Object.assign(Object.assign({},o),r)})}),...b,...y]})({d:a,i:o,idAccessor:E,lines:r,summaries:s,points:i,xScale:f,yScale:b,xyFrameRender:h,defined:d});const S=a.coordinates?a:Rn({point:a,idAccessor:E,lines:r,xScale:f,projectedX:Ue,xAccessor:x});if(!S)return null;const O=nn({margin:u,axes:k,title:j.title,size:y}),{adjustedPosition:w,adjustedSize:M}=rn({size:y,margin:O});S.coordinates||S.bounds?S.bounds||(A=S.coordinates.reduce((e,t)=>{const n=Ln({point:t,projectedXMiddle:at,projectedX:Ue,xAccessor:x,xScale:f}),a=Tn({point:t,projectedY:Je,yAccessor:v,yScale:b});return Array.isArray(a)?[...e,[n,Math.min(...a)],[n,Math.max(...a)]]:Array.isArray(n)?[...e,[Math.min(...n),a],[Math.max(...n),a]]:[...e,[n,a]]},[])):A=[Ln({point:S,projectedXMiddle:at,projectedX:Ue,xAccessor:x,xScale:f})||0,Tn({point:S,projectedY:Je,yAccessor:v,yScale:b,showLinePoints:l})||0];const{voronoiHover:P}=c,C=m&&m({d:S,i:o,screenCoordinates:A,xScale:f,yScale:b,xAccessor:x,yAccessor:v,xyFrameProps:t,xyFrameState:n,summaries:s,points:i,lines:r,voronoiHover:P,adjustedPosition:w,adjustedSize:M,annotationLayer:c});return void 0!==m&&null!==C?C:"desaturation-layer"===S.type?Sn({style:S.style instanceof Function?S.style(S,o):S.style,size:M,i:o,key:S.key}):"xy"===S.type||"frame-hover"===S.type?(({screenCoordinates:t,i:n,d:a})=>{let o;a.color&&(o={fill:a.color});const r=e.createElement("circle",{className:`annotation ${a.type} ${a.className||""} `,key:"annotationpoint"+n,cx:t[0],cy:t[1],style:o,fill:"none",stroke:"currentColor",r:5});let s;return"xy"===a.type&&(s=e.createElement("text",{key:`${a.label}annotationtext${n}`,x:t[0],y:10+t[1],"data-testid":"annotation-xy-label",className:`annotation annotation-xy-label ${a.className||""} `},a.label)),[r,s]})({d:S,i:o,screenCoordinates:A}):"function"==typeof S.type||ua.has(S.type)?(({screenCoordinates:t,d:n,i:a})=>{const o=Object.assign({dx:0,dy:0,note:{label:n.label,orientation:n.orientation,align:n.align},connector:{end:"arrow"}},n,{type:n.type,screenCoordinates:t,i:a});return o.x=o.fixedX?o.fixedX:t[0],o.y=o.fixedY?o.fixedY:t[1],e.createElement(Le,{key:n.key||"annotation-"+a,noteData:o})})({d:S,screenCoordinates:A,i:o}):"enclose"===S.type?(({screenCoordinates:e,d:t,i:n})=>{const a=Y(e.map(e=>({x:e[0],y:e[1],r:2})));return jn({d:t,circle:a,i:n})})({d:S,screenCoordinates:A,i:o}):"enclose-rect"===S.type?(({d:e,i:t,screenCoordinates:n})=>{const a=n.map(e=>({x0:e.x0=e[0],x1:e.x1=e[0],y0:e.y0=e[1],y1:e.y1=e[1]}));return An({bboxNodes:a,d:e,i:t})})({d:S,screenCoordinates:A,i:o}):"enclose-hull"===S.type?(({screenCoordinates:e,d:t,i:n})=>En({points:e,d:t,i:n}))({d:S,screenCoordinates:A,i:o}):"x"===S.type?(({screenCoordinates:t,d:n,i:a,adjustedSize:o})=>{const r=Object.assign({dx:50,dy:20,y:0,note:{label:n.label},connector:{end:"arrow"}},n,{type:"xy-threshold",x:t[0],subject:{x:t[0],y1:0,y2:o[1]},i:a});return e.createElement(Le,{key:n.key||"annotation-"+a,noteData:r})})({d:S,screenCoordinates:A,i:o,adjustedSize:M}):"y"===S.type?(({screenCoordinates:t,d:n,i:a,adjustedSize:o,adjustedPosition:r})=>{const s=Object.assign({dx:50,dy:-20,x:25*a,note:{label:n.label},connector:{end:"arrow"}},n,{type:"xy-threshold",y:t[1],subject:{y:t[1],x1:0,x2:o[0]+r[0]},i:a});return e.createElement(Le,{key:n.key||"annotation-"+a,noteData:s})})({d:S,screenCoordinates:A,i:o,adjustedSize:M,adjustedPosition:w}):"bounds"===S.type?(({d:t,i:n,adjustedSize:a,xAccessor:o,yAccessor:r,xScale:s,yScale:i})=>{const c=On(o,t.bounds[0]),l=On(r,t.bounds[0]),d=On(o,t.bounds[1]),u=On(r,t.bounds[1]),p=c?s(c):0,y=l?i(l):a[1],m=d?s(d):a[0],h=u?i(u):0,g=Object.assign({dx:250,dy:-20,note:{label:t.label},connector:{end:"arrow"}},t,{type:"callout-rect",x:Math.min(p,m),y:Math.min(y,h),subject:{width:Math.abs(m-p),height:Math.abs(y-h)},i:n});return e.createElement(Le,{key:t.key||"annotation-"+n,noteData:g})})({d:S,i:o,adjustedSize:M,xAccessor:x,yAccessor:v,xScale:f,yScale:b}):"line"===S.type?(({d:t,i:n,screenCoordinates:a})=>{const o=p().x(e=>e[0]).y(e=>e[1])(a);return[e.createElement("path",{key:`${t.label}annotationline${n}`,d:o,className:`annotation annotation-line ${t.className||""} `}),e.createElement("text",{key:`${t.label}annotationlinetext${n}`,x:(a[0][0]+a[1][0])/2,y:(a[0][1]+a[1][1])/2,className:`annotation annotation-line-label ${t.className||""} `},t.label)]})({d:S,i:o,screenCoordinates:A}):"area"===S.type?(({d:t,i:n,xScale:a,xAccessor:o,yScale:r,yAccessor:s,annotationLayer:i})=>{const c=`M${t.coordinates.map(e=>[a(On(o,e)),r(On(s,e))]).join("L")}Z`,l=L(t.coordinates.map(e=>a(On(o,e)))),d=L(t.coordinates.map(e=>r(On(s,e)))),u=(l[0]+l[1])/2,p=(d[0]+d[1])/2;return[e.createElement("path",{key:`${t.label}-annotation-area-${n}`,d:c,className:`annotation annotation-area ${t.className||""} `}),e.createElement("text",{key:`${t.label}-annotationtext-${n}`,x:u,y:p,transform:`translate(${i.position})`,className:`annotation annotation-area-label ${t.className||""} `,style:{textAnchor:"middle"}},t.label)]})({d:S,i:o,xScale:f,xAccessor:x,yScale:b,yAccessor:v,annotationLayer:c}):"horizontal-points"===S.type?Mn({d:S,lines:r.data,points:i.data,xScale:f,yScale:b,pointStyle:i.styleFn}):"vertical-points"===S.type?Pn({d:S,lines:r.data,points:i.data,xScale:f,yScale:b,pointStyle:i.styleFn}):null}(re.current,se.current,t),[]),ce=l(t=>function(t,n,{d:a,i:o,lines:r,summaries:s,points:i,annotationLayer:c}){const{xAccessor:l,yAccessor:d,xScale:u,yScale:p,annotatedSettings:y,axesData:m}=n,{voronoiHover:h}=c;let g=[];const{tooltipContent:f,optimizeCustomTooltipPosition:b,htmlAnnotationRules:x,size:v,showLinePoints:k,margin:j}=t,A=y.lineIDAccessor,E=Rn({point:a,idAccessor:A,lines:r,xScale:u,projectedX:Ue,xAccessor:l});if(!E)return null;const S=E[at]||E[Ue]||On(l,E),O=E[et]||E[Je]||On(d,E),w=S&&S.toString?""+S:S,M=O&&O.toString?""+O:O,P=nn({margin:j,axes:m,title:y.title,size:v}),{adjustedPosition:C,adjustedSize:z}=rn({size:v,margin:P});g=E.coordinates?E.coordinates.map(e=>{const t=Rn({point:Object.assign({x:0,y:0},e),idAccessor:A,lines:r,xScale:u,projectedX:Ue,xAccessor:l});return[(u(On(l,E))||0)+C[0],(Tn({point:t,projectedY:Je,yAccessor:d,yScale:p})||0)+C[1]]}):[u(S)||0,Tn({point:E,projectedY:Je,showLinePoints:k,yAccessor:d,yScale:p})||0];const N=x&&x({d:E,i:o,screenCoordinates:g,xScale:u,yScale:p,xAccessor:l,yAccessor:d,xyFrameProps:t,xyFrameState:n,summaries:s,points:i,lines:r,voronoiHover:h,adjustedPosition:C,adjustedSize:z,annotationLayer:c});if(x&&null!==N)return N;if("frame-hover"===E.type){let t=e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},e.createElement("p",{key:"html-annotation-content-1"},w),e.createElement("p",{key:"html-annotation-content-2"},M),E.percent?e.createElement("p",{key:"html-annotation-content-3"},Math.floor(1e3*E.percent)/10,"%"):null);return"frame-hover"===E.type&&f&&(t=b?e.createElement(kn,{tooltipContent:f,tooltipContentArgs:E}):f(E)),(({content:t,screenCoordinates:n,i:a,d:o,adjustedSize:r})=>{const s={position:"absolute",top:n[1]+"px"};return r&&n[0]>r[0]/2?s.right=r[0]-n[0]+"px":s.left=n[0]+"px",e.createElement("div",{key:"xylabel-"+a,className:`annotation annotation-xy-label ${o.className||""} `,style:s},t)})({content:t,screenCoordinates:g,i:o,d:E,adjustedSize:z})}return null}(re.current,se.current,t),[]),le=a(()=>J.length>0?[...m,...J]:m,[m,J]),de=a(()=>"string"==typeof N?N:void 0,[N]),ue=a(()=>!!(A||E||S),[A,E,S]);return e.createElement(xn,{name:"xyframe",renderPipeline:te,adjustedPosition:G,size:d,projectedCoordinateNames:ca,xScale:K,yScale:Z,axes:X,axesTickLines:q,title:ae.title,dataVersion:U,matte:C,className:u,adjustedSize:_,frameKey:z||ia,additionalDefs:h,hoverAnnotation:f,defaultSVGRule:ie,defaultHTMLRule:ce,annotations:le,annotationSettings:y,legendSettings:ee,projectedYMiddle:et,interaction:b,customClickBehavior:x,customHoverBehavior:v,customDoubleClickBehavior:k,points:Q,showLinePoints:de,margin:H,backgroundGraphics:W,foregroundGraphics:I,beforeElements:w,afterElements:O,disableContext:D,canvasPostProcess:j,canvasRendering:ue,renderOrder:P,overlay:oe,sketchyRenderingEngine:$,frameRenderOrder:F,disableCanvasInteraction:T,interactionSettings:R,disableProgressiveRendering:B,transition:V})}const ua=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);da.displayName="XYFrame";const pa=e.memo(da),ya={category10:pe,tableau10:ue,set3:de,blues:le,reds:ce,greens:ie,oranges:se,purples:re,viridis:oe,plasma:ae},ma=pe;function ha(e,t,n){if("function"==typeof t)return t(e);const a=e[t];return n?n(a):ma[Math.abs(function(e){let t=0;for(let n=0;e.length>n;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return Math.abs(t)}(a+""))%ma.length]}function ga(e,t,n="category10"){const a=Array.from(new Set(e.map(e=>e[t]))),o=a.every(e=>"number"==typeof e||!isNaN(Number(e)));if(Array.isArray(n))return P().domain(a).range(n).unknown("#999");const r=ya[n]||ya.category10;if(o&&"function"==typeof r)return e=>r(Number(e)/Math.max(...a.map(Number)));{const e=Array.isArray(r)?r:ma;return P().domain(a).range(e).unknown("#999")}}function fa(e,t,n=[3,20],a){let o;if(o="function"==typeof t?t(e):e[t],!a)return o;const[r,s]=a,[i,c]=n;return s===r?(i+c)/2:i+(o-r)/(s-r)*(c-i)}const ba="#007bff";function xa(e){return"function"==typeof e?e:t=>t[e]}function va(e,t,n="category10"){return a(()=>{if(t&&"function"!=typeof t)return ga(e,t,n)},[e,t,n])}function ka(e,t,n){return a(()=>{if(!t)return e;const a=[...e];if("function"==typeof t)return a.sort(t);const o=xa(n);return a.sort("asc"===t?(e,t)=>o(e)-o(t):(e,t)=>o(t)-o(e))},[e,t,n])}function ja({data:e,colorBy:t,colorScale:n,getColor:a,strokeColor:o,strokeWidth:r}){const s=Array.from(new Set(e.map(e=>"function"==typeof t?t(e):e[t]))),i=s.map(o=>{const r=e.find("function"==typeof t?e=>t(e)===o:e=>e[t]===o),s=r?a(r,t,n):n?n(o):"#000000";return{label:o+"",color:s}});return{legendGroups:[{styleFn:e=>{const t={fill:e.color,stroke:e.color};return void 0!==o&&(t.stroke=o),void 0!==r&&(t.strokeWidth=r),t},type:"fill",items:i,label:""}]}}const Aa={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"8px 12px",borderRadius:"4px",fontSize:"14px",lineHeight:"1.5",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",maxWidth:"300px",wordWrap:"break-word"};function Ea(e,t){return"function"==typeof t?t(e):e[t]}function Sa(e,t){return t?t(e):null==e?"":"number"==typeof e?e.toLocaleString():e instanceof Date?e.toLocaleDateString():"object"==typeof e&&null!==e?void 0!==e.id?e.id+"":void 0!==e.name?e.name+"":JSON.stringify(e):e+""}function Oa(t={}){const{fields:n=[],title:a,format:o,style:r={},className:s="",showLabels:i=!0,separator:c=": "}=t;return t=>{if(!t||"object"!=typeof t)return null;const l=[];if(a){const e=Ea(t,a);l.push({value:Sa(e,o)})}n&&Array.isArray(n)&&n.length>0?n.forEach(e=>{let n,a,r;"string"==typeof e?(n=e,a=e,r=o):(n=e.label,a=e.accessor||e.key||"",r=e.format||o);const s=Sa(Ea(t,a),r);l.push({label:i?n:void 0,value:s})}):Object.keys(t).filter(e=>!e.startsWith("_")&&"data"!==e).forEach(e=>{l.push({label:i?e:void 0,value:Sa(t[e],o)})});const d=Object.assign(Object.assign({},Aa),r);return Array.isArray(l)&&0!==l.length?e.createElement("div",{className:("semiotic-tooltip semiotic-tooltip-multiline "+s).trim(),style:d},l.map((t,n)=>e.createElement("div",{key:n,style:{marginBottom:l.length-1>n?"4px":0}},t.label&&e.createElement("strong",null,t.label,c),t.value))):null}}function wa(e){return!0===e||("function"==typeof e||!1!==e&&void 0!==e)&&e}function Ma({componentName:t,message:n,width:a,height:o}){return e.createElement("div",{role:"alert",style:{width:a,height:Math.max(o,120),display:"flex",alignItems:"center",justifyContent:"center",border:"1px dashed rgba(128, 128, 128, 0.4)",borderRadius:8,background:"rgba(128, 128, 128, 0.04)",padding:24,boxSizing:"border-box"}},e.createElement("div",{style:{textAlign:"center",maxWidth:400}},e.createElement("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"}},t),e.createElement("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5}},n)))}function Pa({data:e,accessors:t,requiredProps:n}){if(n)for(const[e,t]of Object.entries(n))if(null==t)return e+" is required. Provide a field name or function.";if(!e||!Array.isArray(e)||0===e.length)return"No data provided. Pass a non-empty array to the data prop.";if(t){const n=e[0];if(n&&"object"==typeof n)for(const[e,a]of Object.entries(t))if(a&&"string"==typeof a&&!(a in n))return`${e} "${a}" not found in data. Available fields: ${Object.keys(n).join(", ")}.`}return null}function Ca({data:e,dataLabel:t="data"}){return null==e?`No ${t} provided. Pass a hierarchical data object to the ${t} prop.`:null}function za({nodes:e,edges:t,nodesRequired:n=!1,edgesRequired:a=!0,accessors:o}){if(a&&(!t||!Array.isArray(t)||0===t.length))return"No edges provided. Pass a non-empty array to the edges prop.";if(n&&(!e||!Array.isArray(e)||0===e.length))return"No nodes provided. Pass a non-empty array to the nodes prop.";if(o&&e&&e.length>0){const t=e[0];if(t&&"object"==typeof t)for(const[e,n]of Object.entries(o))if(n&&"string"==typeof n&&!(n in t))return`${e} "${n}" not found in node data. Available fields: ${Object.keys(t).join(", ")}.`}return null}const Na={linear:k,monotoneX:x,monotoneY:b,step:S,stepAfter:A,stepBefore:E,basis:j,cardinal:h,catmullRom:v};function $a(t){var n;const{data:o,width:r=600,height:s=400,margin:i,className:c,title:l,xLabel:d,yLabel:u,xFormat:p,yFormat:y,xAccessor:m="x",yAccessor:h="y",lineBy:g,lineDataAccessor:f="coordinates",colorBy:b,colorScheme:x="category10",curve:v="linear",showPoints:j=!1,pointRadius:A=3,fillArea:E=!1,areaOpacity:S=.3,lineWidth:O=2,enableHover:w=!0,showGrid:M=!1,showLegend:P,tooltip:C,frameProps:z={}}=t,N=o||[],$=void 0!==(null===(n=N[0])||void 0===n?void 0:n[f]),D=a(()=>{if($)return N;if(g){const e=N.reduce((e,t)=>{const n="function"==typeof g?g(t):t[g];if(!e[n]){const t={[f]:[]};"string"==typeof g&&(t[g]=n),e[n]=t}return e[n][f].push(t),e},{});return Object.values(e)}return[{[f]:N}]},[N,g,f,$]),F=va(N,b,x),T=Na[v]||k,L=a(()=>e=>{const t={strokeWidth:O};return t.stroke=b?ha(e,b,F):ba,E&&(t.fill=t.stroke,t.fillOpacity=S),t},[b,F,O,E,S]),R=a(()=>{if(j)return e=>{const t={r:A,fillOpacity:1};return t.fill=b?ha(e.parentLine||e,b,F):ba,t}},[j,A,b,F]),B=a(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:y},M&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:p},M&&{tickLineGenerator:()=>null})),e},[d,u,p,y,M]),V=a(()=>{const e={type:E?"area":"line",interpolator:T};return E&&(e.simpleLine=!1),e},[E,T]),W=void 0!==P?P:D.length>1,I=a(()=>{if(W&&b)return ja({data:D,colorBy:b,colorScale:F,getColor:ha})},[W,b,D,F]),G=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),i);return I&&120>e.right&&(e.right=120),e},[i,I]),_=Pa({componentName:"LineChart",data:N,accessors:{xAccessor:m,yAccessor:h}});if(_)return e.createElement(Ma,{componentName:"LineChart",message:_,width:r,height:s});const H=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],lines:D,xAccessor:m,yAccessor:h,lineDataAccessor:f,lineType:V,lineStyle:L,axes:B,hoverAnnotation:w,margin:G},j&&{showLinePoints:!0,pointStyle:R}),I&&{legend:I}),c&&{className:c}),l&&{title:l}),C&&{tooltipContent:wa(C)}),{transition:!0}),z);return e.createElement(pa,Object.assign({},H))}const Da={linear:k,monotoneX:x,monotoneY:b,step:S,stepAfter:A,stepBefore:E,basis:j,cardinal:h,catmullRom:v};function Fa(t){var n;const{data:o,width:r=600,height:s=400,margin:i,className:c,title:l,xLabel:d,yLabel:u,xFormat:p,yFormat:y,xAccessor:m="x",yAccessor:h="y",areaBy:g,lineDataAccessor:f="coordinates",colorBy:b,colorScheme:v="category10",curve:k="monotoneX",areaOpacity:j=.7,showLine:A=!0,lineWidth:E=2,enableHover:S=!0,showGrid:O=!1,showLegend:w,tooltip:M,frameProps:P={}}=t,C=o||[],z=void 0!==(null===(n=C[0])||void 0===n?void 0:n[f]),N=a(()=>{if(z)return C;if(g){const e=C.reduce((e,t)=>{const n="function"==typeof g?g(t):t[g];if(!e[n]){const t={[f]:[]};"string"==typeof g&&(t[g]=n),e[n]=t}return e[n][f].push(t),e},{});return Object.values(e)}return[{[f]:C}]},[C,g,f,z]),$=va(C,b,v),D=Da[k]||x,F=a(()=>e=>{const t={},n=b?ha(e,b,$):ba;return t.fill=n,t.fillOpacity=j,A?(t.stroke=n,t.strokeWidth=E):t.stroke="none",t},[b,$,j,A,E]),T=a(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:y},O&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:p},O&&{tickLineGenerator:()=>null})),e},[d,u,p,y,O]),L=a(()=>({type:"area",interpolator:D}),[D]),R=void 0!==w?w:N.length>1,B=a(()=>{if(R&&b)return ja({data:N,colorBy:b,colorScale:$,getColor:ha})},[R,b,N,$]),V=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),i);return B&&120>e.right&&(e.right=120),e},[i,B]),W=Pa({componentName:"AreaChart",data:C,accessors:{xAccessor:m,yAccessor:h}});if(W)return e.createElement(Ma,{componentName:"AreaChart",message:W,width:r,height:s});const I=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],lines:N,xAccessor:m,yAccessor:h,lineDataAccessor:f,lineType:L,lineStyle:F,axes:T,hoverAnnotation:S,margin:V},B&&{legend:B}),c&&{className:c}),l&&{title:l}),M&&{tooltipContent:wa(M)}),{transition:!0}),P);return e.createElement(pa,Object.assign({},I))}const Ta={linear:k,monotoneX:x,monotoneY:b,step:S,stepAfter:A,stepBefore:E,basis:j,cardinal:h,catmullRom:v};function La(t){var n;const{data:o,width:r=600,height:s=400,margin:i,className:c,title:l,xLabel:d,yLabel:u,xFormat:p,yFormat:y,xAccessor:m="x",yAccessor:h="y",areaBy:g,lineDataAccessor:f="coordinates",colorBy:b,colorScheme:v="category10",curve:k="monotoneX",areaOpacity:j=.7,showLine:A=!0,lineWidth:E=2,normalize:S=!1,enableHover:O=!0,showGrid:w=!1,showLegend:M,tooltip:P,frameProps:C={}}=t,z=o||[],N=void 0!==(null===(n=z[0])||void 0===n?void 0:n[f]),$=a(()=>{if(N)return z;if(g){const e=z.reduce((e,t)=>{const n="function"==typeof g?g(t):t[g];if(!e[n]){const t={[f]:[]};"string"==typeof g&&(t[g]=n),e[n]=t}return e[n][f].push(t),e},{});return Object.values(e)}return[{[f]:z}]},[z,g,f,N]),D=va(z,b,v),F=Ta[k]||x,T=a(()=>e=>{const t={},n=b?ha(e,b,D):ba;return t.fill=n,t.fillOpacity=j,A?(t.stroke=n,t.strokeWidth=E):t.stroke="none",t},[b,D,j,A,E]),L=a(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:y},w&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:p},w&&{tickLineGenerator:()=>null})),e},[d,u,p,y,w]),R=a(()=>({type:S?"stackedpercent-area":"stackedarea",interpolator:F}),[F,S]),B=void 0!==M?M:$.length>1,V=a(()=>{if(B&&b)return ja({data:$,colorBy:b,colorScale:D,getColor:ha})},[B,b,$,D]),W=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),i);return V&&120>e.right&&(e.right=120),e},[i,V]),I=Pa({componentName:"StackedAreaChart",data:z,accessors:{xAccessor:m,yAccessor:h}});if(I)return e.createElement(Ma,{componentName:"StackedAreaChart",message:I,width:r,height:s});const G=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],lines:$,xAccessor:m,yAccessor:h,lineDataAccessor:f,lineType:R,lineStyle:T,axes:L,hoverAnnotation:O,margin:W},V&&{legend:V}),c&&{className:c}),l&&{title:l}),P&&{tooltipContent:wa(P)}),{transition:!0}),C);return e.createElement(pa,Object.assign({},G))}function Ra(t){const{data:n,width:o=600,height:r=400,margin:s,className:i,title:c,xLabel:l,yLabel:d,xFormat:u,yFormat:p,xAccessor:y="x",yAccessor:m="y",colorBy:h,colorScheme:g="category10",sizeBy:f,sizeRange:b=[3,15],pointRadius:x=5,pointOpacity:v=.8,enableHover:k=!0,showGrid:j=!1,showLegend:A,tooltip:E,frameProps:S={}}=t,O=n||[],w=va(O,h,g),M=a(()=>{if(!f||0===O.length)return;const e=O.map(e=>"function"==typeof f?f(e):e[f]);return[Math.min(...e),Math.max(...e)]},[O,f]),P=a(()=>e=>{const t={fillOpacity:v};return t.fill=h?ha(e,h,w):ba,t.r=f?fa(e,f,b,M):x,t},[h,w,f,b,M,x,v]),C=a(()=>[Object.assign({orient:"left",label:d,tickFormat:p},j&&{tickLineGenerator:()=>null}),Object.assign({orient:"bottom",label:l,tickFormat:u},j&&{tickLineGenerator:()=>null})],[l,d,u,p,j]),z=void 0!==A?A:!!h,N=a(()=>{if(z&&h)return ja({data:O,colorBy:h,colorScale:w,getColor:ha})},[z,h,O,w]),$=a(()=>{const e=Object.assign({top:50,bottom:60,left:70,right:40},s);return N&&120>e.right&&(e.right=120),e},[s,N]),D=Pa({componentName:"Scatterplot",data:O,accessors:{xAccessor:y,yAccessor:m}});if(D)return e.createElement(Ma,{componentName:"Scatterplot",message:D,width:o,height:r});const F=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],points:O,xAccessor:y,yAccessor:m,pointStyle:P,axes:C,hoverAnnotation:k,margin:$},N&&{legend:N}),i&&{className:i}),c&&{title:c}),E&&{tooltipContent:wa(E)}),{transition:!0}),S);return e.createElement(pa,Object.assign({},F))}function Ba(t){const{data:n,width:o=600,height:r=400,margin:s,className:i,title:c,xLabel:l,yLabel:d,xFormat:u,yFormat:p,xAccessor:y="x",yAccessor:m="y",sizeBy:h,sizeRange:g=[5,40],colorBy:f,colorScheme:b="category10",bubbleOpacity:x=.6,bubbleStrokeWidth:v=1,bubbleStrokeColor:k="white",enableHover:j=!0,showGrid:A=!1,showLegend:E,tooltip:S,frameProps:O={}}=t,w=n||[],M=va(w,f,b),P=a(()=>{const e=w.map(e=>"function"==typeof h?h(e):e[h]);return[Math.min(...e),Math.max(...e)]},[w,h]),C=a(()=>e=>{const t={fillOpacity:x,strokeWidth:v,stroke:k};return t.fill=f?ha(e,f,M):ba,t.r=fa(e,h,g,P),t},[f,M,h,g,P,x,v,k]),z=a(()=>{const e=[];return e.push(Object.assign({orient:"left",label:d,tickFormat:p},A&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:l,tickFormat:u},A&&{tickLineGenerator:()=>null})),e},[l,d,u,p,A]),N=void 0!==E?E:!!f,$=a(()=>{if(N&&f)return ja({data:w,colorBy:f,colorScale:M,getColor:ha,strokeColor:k,strokeWidth:v})},[N,f,w,M,k,v]),D=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),s);return $&&120>e.right&&(e.right=120),e},[s,$]),F=Pa({componentName:"BubbleChart",data:w,accessors:{xAccessor:y,yAccessor:m},requiredProps:{sizeBy:h}});if(F)return e.createElement(Ma,{componentName:"BubbleChart",message:F,width:o,height:r});const T=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],points:w,xAccessor:y,yAccessor:m,pointStyle:C,axes:z,hoverAnnotation:j,margin:D},$&&{legend:$}),i&&{className:i}),c&&{title:c}),S&&{tooltipContent:wa(S)}),{transition:!0}),O);return e.createElement(pa,Object.assign({},T))}function Va(t){const{data:n,width:o=600,height:r=400,margin:s={top:50,bottom:60,left:70,right:80},className:i,title:c,xAccessor:l="x",yAccessor:d="y",valueAccessor:u="value",xLabel:p,yLabel:y,xFormat:m,yFormat:h,colorScheme:g="blues",customColorScale:f,showValues:b=!1,valueFormat:x,cellBorderColor:v="#fff",cellBorderWidth:k=1,enableHover:j=!0,tooltip:A,frameProps:E={}}=t,S=n||[],O=a(()=>"function"==typeof u?e=>u(e):e=>e[u],[u]),w=a(()=>{const e=S.map(O);return[Math.min(...e),Math.max(...e)]},[S,O]),M=a(()=>"custom"===g&&f?f:C({blues:le,reds:ce,greens:ie,viridis:oe}[g]||le).domain(w),[g,f,w]),{xBinCount:P,yBinCount:z}=a(()=>{const e=xa(l),t=xa(d);return{xBinCount:new Set(S.map(e)).size,yBinCount:new Set(S.map(t)).size}},[S,l,d]),N=a(()=>({coordinates:S}),[S]),$=a(()=>e=>{const t=O(e);return{fill:M(t),stroke:v,strokeWidth:k}},[O,M,v,k]),D=a(()=>{if(!b)return;const t=(w[0]+w[1])/2;return(n,a)=>{const o=O(n),r=x?x(o):o+"";return e.createElement("text",{textAnchor:"middle",dominantBaseline:"middle",fill:O(n)>t?"#fff":"#000",fontSize:"12px"},r)}},[b,O,x,w]),F=a(()=>{const e=[];return e.push({orient:"left",label:y,tickFormat:h}),e.push({orient:"bottom",label:p,tickFormat:m}),e},[p,y,m,h]),T=Pa({componentName:"Heatmap",data:S,accessors:{xAccessor:l,yAccessor:d,valueAccessor:u}});if(T)return e.createElement(Ma,{componentName:"Heatmap",message:T,width:o,height:r});const L=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],summaries:N,xAccessor:l,yAccessor:d,summaryType:{type:"heatmap",xBins:P,yBins:z,binValue:e=>0===e.length?0:e.reduce((e,t)=>e+O(t),0)/e.length},summaryStyle:$,axes:F,hoverAnnotation:j,margin:s},D&&{summaryRenderMode:D}),i&&{className:i}),c&&{title:c}),A&&{tooltipContent:wa(A)}),{transition:!0}),E);return e.createElement(pa,Object.assign({},L))}const Wa=(e,t)=>{const n=e(t);return n&&n.toString&&""+n||n};function Ia(e,t,n,a){const o=(a-90)*Math.PI/180;return{x:e+n*Math.cos(o),y:t+n*Math.sin(o)}}function Ga({column:t}){return e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},e.createElement("p",{key:"or-annotation-1"},t.name),e.createElement("p",{key:"or-annotation-2"},(100*t.pct).toFixed(0)+"%"))}const _a=({d:e,projectedColumns:t,oAccessor:n,summaryType:a,type:o,projection:r,adjustedPosition:s,adjustedSize:i})=>{const c="object"==typeof e.column?e.column:t[e.facetColumn]||t[On(n,e)];if(!c)return{coordinates:[0,0],pieces:void 0,column:void 0};const l=c.pieceData||c.pieces,d=a.type&&"none"!==a.type||["swarm","point","clusterbar","timeline"].find(e=>e===o.type)?V(l.map(e=>e.scaledValue)):"horizontal"===r?V(l.map(e=>0>e.value?e.bottom:e.scaledValue+e.bottom)):I(l.map(e=>0>e.value?e.bottom:e.bottom-e.scaledValue));let u=c.middle+s[0],p=a.type&&"none"!==a.type||["swarm","point","clusterbar","timeline"].find(e=>e===o.type)?i[1]-d:d;if(p+=10,"horizontal"===r)p=c.middle,u=d+s[0];else if("radial"===r){const{pieArc:e}=c,{translate:t,outerPoint:n,centroid:a}=e;u=(a[0]+n[0])/2+t[0],p=(a[1]+n[1])/2+t[1]}return{coordinates:[u,p],pieces:l,column:c}},Ha=(e,t,n)=>{const a=e(n),o=""===a&&n.rName?n.rName:a,r=t&&t.pieceData.filter(t=>t.rName===o||e(t.data)===o);if(""===o||void 0===r||!1===r||1!==r.length)return n;const s=r[0];return s&&["type","label","note","connector","disabled","color","subject"].forEach(e=>{n[e]&&(s[e]=n[e])}),s},Ya=({p:e,adjustedSize:t,rScale:n,oColumn:a,rAccessor:o,idPiece:r,projection:s,rScaleType:i})=>{const c=On(o,e)||e.value,l=Array.isArray(c)?Math.max(...c):c;let d;if(d=a?a.middle:0,a&&"radial"===s)return wt([t[0]/2,t[1]/2],a.pct_middle,r&&(void 0===r.x?r.scaledValue:r.x)?r.x/2||(r.bottom+r.scaledValue/2)/2:l/2);if("horizontal"===s)return[r&&r.scaledEndValue?r.scaledEndValue:r&&r.scaledValue?0>r.value?r.bottom:r.bottom+r.scaledValue:n(l),d];const u=i.copy().domain(n.domain()).range(n.range().reverse());return[d,r&&(void 0===r.x?r.scaledValue:r.x)?void 0===r.y?0>r.value?r.bottom:r.bottom-r.scaledValue:r.y:u(l)]};function Xa(t,n,a){return e.createElement(Ut,{label:t.label,key:t.key||"orframe-summary-axis-"+n,orient:t.orient,size:t.size,ticks:t.ticks,tickSize:t.tickSize,tickFormat:t.tickFormat,tickValues:t.tickValues,rotate:t.rotate,scale:a,className:t.className})}const qa=2*Math.PI,Ka=({type:e,ordset:t,adjustedSize:n,piece:a,i:o})=>{let{innerRadius:r}=e;const{offsetAngle:s=0,angleRange:i=[0,360]}=e,c=s/360,l=i.map(e=>e/360),d=l[1]-l[0],u=1>d?M().domain([0,1]).range(l):e=>e;let p="clusterbar"===e.type?0:"timeline"===e.type?a.scaledValue/2:a.bottom/2,y="clusterbar"===e.type?a.scaledValue/2:"timeline"===e.type?a.scaledEndValue/2:a.scaledValue/2+a.bottom/2;if(r){r=parseInt(r,10);const e=n[0]/2,t=(e-r)/e;p=p*t+r,y=y*t+r}const h=m().innerRadius(p).outerRadius(y),g=("clusterbar"===e.type?(t.pct-t.pct_padding)/t.pieceData.length:t.pct)*d,f=u("clusterbar"===e.type?t.pct_start+o/t.pieceData.length*(t.pct-t.pct_padding):1===t.pct?0:t.pct_start+c),b=1===t.pct?l[1]:Math.max(f,f+g-t.pct_padding/2),x=f*qa,v=b*qa,k=h({startAngle:x,endAngle:v}),j=h.centroid({startAngle:x,endAngle:v}),A=n[0]/2,E=n[1]/2,S=j[0]+A,O=j[1]+E,w=wt([0,0],(f+b)/2,a.scaledValue/2),P=`translate(${A},${E})`;return{xPosition:S,yPosition:O,xy:{arcGenerator:h,startAngle:x,endAngle:v,dx:w[0],dy:w[1]},translate:P,tx:A,ty:E,markProps:{markType:"path",d:k,transform:P}}},Za=({type:t,projection:n,finalHeight:a,finalWidth:o,styleFn:r,classFn:s})=>(i,c,l)=>{const d="string"==typeof t.icon?t.icon:t.icon(i.data,c),{iconPadding:u=1,resize:p="auto"}=t,y=ye(d),m=[0-y.x1+u,0-y.y1+u];y.height+=2*u,y.width+=2*u;const h=[];let g=y.height,f=1,b=1;const x="horizontal"===n?a:o,v="horizontal"===n?y.height:y.width,k="horizontal"===n?y.width:y.height,j="horizontal"===n?l.width:l.height,A="horizontal"===n?l.height:l.width;"auto"===p?(g=x/v,1>g?b=g:(f=Math.floor(g),b=1+(g-f)/f)):"fixed"===p&&(b=x/v);const E=y.height*b,S=k*b,O=v*b;m[0]=m[0]*b,m[1]=m[1]*b;const w=`iso-clip-${c}-${Math.random()}`,M=`url(#${w})`;if(l.width>0){h.push(e.createElement("clipPath",{key:w,id:w},e.createElement("rect",{x:0,y:0,width:l.width,height:l.height})));const t=[],a="horizontal"===n?S:-S,o="horizontal"===n?(e,t)=>t>e:(e,t,n)=>e>0+n;for(let u="horizontal"===n?0:l.height-E;o(u,j,a);u+=a)for(let a=0;A>a;a+=O)t.push(e.createElement("path",{key:`icon-${u}-${a}`,transform:`translate(${("horizontal"===n?u:a)+m[0]},${("horizontal"===n?a:u)+m[1]}) scale(${b})`,vectorEffect:"non-scaling-stroke",d:d,style:r(Object.assign(Object.assign({},i),i.data),c),className:s(Object.assign(Object.assign({},i),i.data),c)}));h.push(e.createElement("g",{key:"clipped-region-"+c,clipPath:M},t))}return h},Qa=e=>()=>e,Ua={clusterbar:function({type:t,data:n,renderMode:a,eventListenersGenerator:o,styleFn:r,projection:s,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u}){let p=[];return Object.keys(n).forEach((y,m)=>{const h=n[y],g=Math.max(h.width,1)/h.pieceData.length;let f=0,b=0;const x=h.pieceData.map((n,p)=>{const x=a&&a(n.data,p);let v=n.x,k=n.base,j=g,A=n.scaledValue,E={x:0,y:0};n.negative||(k-=n.scaledValue),"horizontal"===s&&(k=n.x,v=n.base,A=g,j=n.scaledValue,E.x=n.scaledValue,n.negative&&(v-=n.scaledValue,E.x=v));let S={},O=0,w=0;if("radial"===s){let e,a;({xPosition:v,yPosition:k,markProps:S,xy:E,tx:e,ty:a}=Ka({type:t,ordset:h,adjustedSize:c,piece:n,i:p})),O=e,w=a,E.x=v}else v+=f,k+=b,S={markType:"rect",x:v,y:k,width:Math.max(0,j),height:Math.max(0,A),rx:0,ry:0},"vertical"===s&&(E.x=v);const M=o(n,p);E.y=k,E.middle=g/2,E.height=A,E.width=j,t.icon&&"radial"!==s?t.customMark=Za({type:t,projection:s,finalHeight:A,finalWidth:j,styleFn:r,renderValue:x,classFn:i}):t.icon&&"radial"===s&&console.error("Icons are currently unsupported on radial charts");const P=t.customMark?e.createElement("g",{key:"piece-"+n.renderKey,transform:`translate(${v},${k})`},t.customMark(Object.assign(Object.assign(Object.assign({},n.data),n),{x:v,y:k}),p,Object.assign(Object.assign({},E),{renderMode:a,styleFn:r,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},n),n.data),p),key:"piece-"+n.renderKey,transform:void 0,style:r(Object.assign(Object.assign({},n),n.data),m)},S),M);return"horizontal"===s?b+=A:f+=j,{o:y,xy:E,piece:n,tx:O,ty:w,renderValue:x,renderElement:P}});p=[...p,...x]}),p},bar:function({type:t,data:n,renderMode:a,eventListenersGenerator:o,styleFn:r,projection:s,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u}){let p=[];return Object.keys(n).forEach((y,m)=>{const h=n[y],g=Math.max(h.width,1);h.pieceData.forEach((n,f)=>{const b=n.scaledValue,x=a&&a(n.data,f);let v=n.x,k=n.bottom,j=g,A=b,E={};n.negative||(k-=n.scaledValue),"vertical"===s?E={x:v,y:k,middle:g/2,height:A,width:j}:"horizontal"===s&&(k=n.x,v=n.bottom,A=g,j=b,E={x:v+n.scaledValue,y:k,middle:g/2,height:A,width:j},n.negative&&(v=n.bottom-n.scaledValue));let S,O=0,w=0;if("radial"===s){let e,a;({markProps:S,xPosition:v,yPosition:k,tx:e,ty:a}=Ka({type:t,ordset:h,adjustedSize:c,piece:n,i:f})),O=e,w=a,A=void 0,j=void 0,E={x:v,y:k,middle:g/2,height:A,width:j}}else S={markType:"rect",x:v,y:k,width:Math.max(0,j),height:Math.max(0,A),rx:0,ry:0};const M=o(n,f);t.icon&&"radial"!==s?t.customMark=Za({type:t,projection:s,finalHeight:A,finalWidth:j,styleFn:r,renderValue:x,classFn:i}):t.icon&&"horizontal"!==s&&console.error("Icons are currently unsupported in radial charts");const P=t.customMark?e.createElement("g",{key:"piece-"+n.renderKey,transform:`translate(${v},${k})`,role:"img",tabIndex:-1},t.customMark(Object.assign(Object.assign(Object.assign({},n.data),n),{x:v,y:k}),f,Object.assign(Object.assign({},E),{renderMode:a,styleFn:r,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},n),n.data),f),key:"piece-"+n.renderKey,style:r(Object.assign(Object.assign({},n),n.data),m)},M),S);p.push({o:y,xy:E,piece:n,tx:O,ty:w,renderValue:x,renderElement:P})})}),p},point:function({type:t,data:n,renderMode:a,eventListenersGenerator:o,styleFn:r,projection:s,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u}){const p=t.r||3;let y=[];return Object.keys(n).forEach((m,h)=>{const g=n[m],f=[];g.pieceData.forEach((n,y)=>{const b=a&&a(n.data,y);let x=g.middle,v=n.scaledVerticalValue;if("horizontal"===s)v=g.middle,x=n.scaledValue;else if("radial"===s){const e=wt([c[0]/2,c[1]/2],g.pct_middle,n.scaledValue/2);x=e[0],v=e[1]}const k="function"==typeof p?p(n,y):p,j=o(n,y),A=t.customMark?e.createElement("g",{key:"piece-"+n.renderKey,transform:`translate(${x},${v})`},t.customMark(Object.assign(Object.assign(Object.assign({},n.data),n),{x:x,y:v,width:g.width}),y,{r:p,x:x,y:v,renderMode:a,styleFn:r,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u})):Object.assign({className:i(Object.assign(Object.assign({},n),n.data),y),markType:"rect",key:"piece-"+n.renderKey,height:2*k,width:2*k,x:x-k,y:v-k,rx:k,ry:k,style:r(Object.assign(Object.assign({},n),n.data),h)},j);f.push({o:m,xy:{x:x,y:v},piece:n,renderValue:b,renderElement:A})}),y=[...y,...f]}),y},swarm:function({type:t,data:n,renderMode:a,eventListenersGenerator:o,styleFn:r,projection:s,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u}){let p=[];const y=Object.keys(n),m=y.reduce((e,t)=>{var a;return e+((null===(a=n[t].pieceData)||void 0===a?void 0:a.length)||0)},0),h=void 0!==t.iterations?t.iterations:Math.max(30,Math.min(120,Math.floor(120-(m-100)/20)));return y.forEach((m,g)=>{const f=n[m],b=1/y.length,x=f.pieceData,v=f.width,k=t.r||Math.max(2,Math.min(5,4*v/x.length)),j=me(x).force("y",he(e=>e.scaledValue).strength(t.strength||2)).force("x",ge(f.middle)).force("collide",fe(k)).stop();"vertical"===s&&j.force("y",he(e=>e.scaledVerticalValue).strength(t.strength||2));for(let e=0;h>e;++e)j.tick();const A=x.map((n,p)=>{const y=a&&a(n.data,p);let h=n.x,x=n.y;if("horizontal"===s)x=n.x,h=n.y;else if("radial"===s){h=(n.x-f.middle)/v*b;const e=wt([c[0]/2,c[1]/2],f.pct_middle+h,n.scaledValue/2);h=e[0],x=e[1]}const j="function"==typeof k?k(n,p):k,A=o(n,p),E=t.customMark?e.createElement("g",{key:"piece-"+n.renderKey,transform:`translate(${h},${x})`},t.customMark(Object.assign(Object.assign(Object.assign({},n.data),n),{x:h,y:x}),p,{x:h,y:x,r:k,renderMode:a,styleFn:r,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u})):Object.assign({className:i(Object.assign(Object.assign({},n),n.data),p),markType:"rect",key:"piece-"+n.renderKey,height:2*j,width:2*j,x:h-j,y:x-j,rx:j,ry:j,style:r(Object.assign(Object.assign({},n),n.data),g)},A);return{o:m,xy:{x:h,y:x},piece:n,renderValue:y,renderElement:E}});p=[...p,...A]}),p},timeline:function({type:t,data:n,renderMode:a,eventListenersGenerator:o,styleFn:r,projection:s,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u}){let p=[];return Object.keys(n).forEach((y,m)=>{const h=n[y],g=[];h.pieceData.forEach((n,p)=>{let f,b,x=0,v=0;const k=a&&a(n.data,p);let j=h.x,A=n.scaledEndValue-n.scaledValue,E=n.scaledVerticalValue-A,S=h.width,O={markType:"rect",height:0>A?-A:A,width:S,x:j,y:0>A?E+A:E};if("horizontal"===s)E=h.x,j=n.scaledValue,f=n.scaledEndValue-n.scaledValue,b=n.scaledBottom,S=n.scaledEndValue-n.scaledValue,A=h.width,O={markType:"rect",height:A,width:0>S?-S:S,x:0>S?j+S:j,y:E};else if("radial"===s){let e,a;({markProps:O,tx:e,ty:a}=Ka({piece:n,type:t,ordset:h,adjustedSize:c,i:p})),x=e,v=a}const w=o(n,p),M={x:j,y:E,scaledValue:f,scaledBottom:b,height:A},P=t.customMark?e.createElement("g",{key:"piece-"+n.renderKey,transform:`translate(${j},${E+A})`},t.customMark(Object.assign(Object.assign(Object.assign({},n.data),n),{x:j,y:E}),p,Object.assign(Object.assign({},M),{renderMode:a,styleFn:r,classFn:i,adjustedSize:c,chartSize:l,margin:d,rScale:u}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},n),n.data),p),key:"piece-"+n.renderKey,style:r(Object.assign(Object.assign({},n),n.data),m)},O),w);g.push({o:y,xy:M,piece:n,tx:x,ty:v,renderValue:k,renderElement:P})}),p=[...p,...g]}),p}},Ja=e=>e.middle?e.middle:0,eo=Qa(0),to=2*Math.PI,no={bar:{items:"bar",chart:"bar chart"},clusterbar:{items:"bar",chart:"grouped bar chart"},swarm:{items:"point",chart:"swarm plot"},point:{items:"point",chart:"point plot"},timeline:{items:"bar",chart:"timeline"}},ao=(t,n,a)=>{let o;const r={},{oPadding:s=0,summaryType:i,type:c,connectorType:l,oAccessor:d,rAccessor:u,connectorStyle:p,style:y,rExtent:h,oSort:g,pieceClass:f,summaryStyle:b,summaryClass:x,dynamicColumnWidth:v,projection:k,customHoverBehavior:j,customClickBehavior:A,customDoubleClickBehavior:E,size:S,pixelColumnWidth:O,title:w,oLabel:C,hoverAnnotation:z,pieceHoverAnnotation:N,summaryHoverAnnotation:$,backgroundGraphics:D,foregroundGraphics:F,oScaleType:T,rScaleType:R,legend:B,renderKey:G,data:_,margin:H,oExtent:Y,axes:X,pieceIDAccessor:q,multiAxis:K,annotations:Z}=t,Q="radial"===k?0:s,U=an(i),J=an(c),ee=an(l),te=a.accessorConversions(d,u,G,q),ne=te.oAccessor,ae=te.rAccessor,oe=te.renderKey,re=()=>({}),{connectorStyle:se,summaryStyle:ie,pieceStyle:ce,pieceClass:le,summaryClass:de,connectorClass:ue,pieceRenderMode:pe,summaryRenderMode:ye,connectorRenderMode:me,pieceCanvasRender:he,summaryCanvasRender:ge,connectorCanvasRender:fe}=a.styleFns(p,b,y,f,x,t.connectorClass,t.renderMode,t.summaryRenderMode,t.connectorRenderMode,t.canvasPieces,t.canvasSummaries,t.canvasConnectors),be="object"!=typeof w||e.isValidElement(w)||null===w?{title:w,orient:"top"}:w,xe=te.pieceIDAccessor,ve=Array.isArray(u)?u:[u],ke=Array.isArray(d)?d:[d];let je=ae,Ae=v;if("radial"===k){if(!Ae){const e=ae;Ae=t=>W(t,t=>{let n=0;for(const a of e)n+=a(t)||0;return n})}je=[()=>1]}const{allData:Ee,multiExtents:Se}=on({data:_,renderKey:oe,oAccessor:ne,rAccessor:je,originalRAccessor:ve,originalOAccessor:ke,multiAxis:K});let Oe;const we=n.props,Me=t.data!==we.data||t.size[0]!==we.size[0]||t.size[1]!==we.size[1]||t.margin!==we.margin||!n.columnOverlays||0===n.columnOverlays.length||t.customClickBehavior!==we.customClickBehavior||t.customDoubleClickBehavior!==we.customDoubleClickBehavior||t.customHoverBehavior!==we.customHoverBehavior;let Pe;Array.isArray(X)?Pe=X.map(e=>"function"==typeof e?e({size:t.size}):e):X&&(Pe=[X].map(e=>"function"==typeof e?e({size:t.size}):e)),Se&&X&&Pe.forEach((e,t)=>{e.extentOverride=Se[t]});const{margin:Ce,adjustedPosition:ze,adjustedSize:Ne}=a.marginCalc(H,Pe,be,C,k,S),$e=void 0===Y||Array.isArray(Y)?{extent:Y}:Y,De=Ee.reduce((e,t)=>{const n=t.column,a=void 0!==n?n+"":n;return-1===e.indexOf(a)&&e.push(a),e},[]);let Fe=$e.extent||De;if("barpercent"===J.type){const e=Fe.map(e=>Ee.filter(t=>t.column+""===e).reduce((e,t)=>e+t.value,0)).reduce((e,t,n)=>(e[Fe[n]]=t,e),{});Ee.forEach(t=>{t.value=e[t.column]&&t.value/e[t.column]||0}),J.type="bar"}O&&("radial"===k?console.error("pixelColumnWidth is not honored in radial mode"):"vertical"===k?Ne[0]=Fe.length*O:Ne[1]=Fe.length*O);const Te="vertical"===k&&[0,Ne[0]]||[0,Ne[1]],Le=Fe.reduce((e,t)=>(e[t]=1/Fe.length*Te[1],e.total+=e[t],e),{total:0}),Re=T,Be=Ae?P():(null==Re?void 0:Re.domain)?Re:Re();let Ve;Be.domain(Fe);const We=void 0===h||Array.isArray(h)?{extent:h,onChange:void 0,includeAnnotations:!1}:h;let Ie=We.extent,Ge=[0,0];"bar"===J.type&&U.type&&"none"!==U.type&&(J.type="none");const _e=[];if(We.includeAnnotations&&Z&&ae.forEach(e=>{Z.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&_e.push(a)})}),"timeline"===J.type){const e=Ee.map(e=>e.value),t=L(e.map(e=>e[0])),n=L(e.map(e=>e[1]));Ie=L([...t,...n,..._e])}else if("bar"!==J.type)Ie=L([...Ee.map(e=>e.value),..._e]);else{const e=[],t=[],n={},a={};for(const o of Ee)0>o.value?(a[o.column]||(a[o.column]={column:o.column,value:0},t.push(a[o.column])),a[o.column].value+=o.value):(n[o.column]||(n[o.column]={column:o.column,value:0},e.push(n[o.column])),n[o.column].value+=o.value);const o=_e.filter(e=>e>0);Ie=[0,0===e.length&&0===o.length?0:Math.max(V([...e.map(e=>e.value),...o]),0)];const r=_e.filter(e=>0>e);Ge=[0,0===t.length?0:Math.min(I([...t.map(e=>e.value),...r]),0)],Ie=[Ge[1],Ie[1]]}("clusterbar"===J.type||K)&&Ie[0]>0&&(Ie[0]=0);const He=Ie;We.extent&&void 0!==We.extent[0]&&void 0!==We.extent[1]?Ie=We.extent:(We.extent&&void 0!==We.extent[1]&&void 0===We.extent[0]&&(Ie[1]=We.extent[1]),We.extent&&void 0!==We.extent[0]&&void 0===We.extent[1]&&(Ie[0]=We.extent[0])),(t.invertR||We.extent&&We.extent[0]>We.extent[1])&&(Ie=[Ie[1],Ie[0]]);const Ye={};for(const e of Ee)Ye[e.column]||(Ye[e.column]=[]),Ye[e.column].push(e);if(void 0!==g)Fe=Fe.sort((e,t)=>g(e,t,Ye[e].map(e=>e.data),Ye[t].map(e=>e.data))),Be.domain(Fe);else{const e={};for(const t of Fe)e[t]=W(Ye[t],e=>e.value);let t;if(Ae){let e;t={},e="string"==typeof Ae?e=>W(e,e=>e.data[Ae]):e=>Ae(e.map(e=>e.data));for(const n of Fe)t[n]=e(Ye[n])}Fe=Fe.sort((n,a)=>{const o=e[a]-e[n];return 0!==o?o:t?t[a]-t[n]:0}),Be.domain(Fe)}if(Ae){let e;e="string"==typeof Ae?e=>W(e,e=>e.data[Ae]):e=>Ae(e.map(e=>e.data));const t=[0],n=[];Ve=0,Fe.forEach(t=>{const a=Ee.filter(e=>e.column===t),o=e(a);n.push(o),Ve+=o}),Le.total=0,Fe.forEach((e,a)=>{const o=n[a]/Ve*(Te[1]-Te[0]);Le[e]=o,Le.total+=o,a!==Fe.length-1&&t.push(o+t[a])}),Be.range(t)}else Be.range(Te);const Xe="vertical"===k&&[0,Ne[1]]||[0,Ne[0]],qe=R.domain?R:R(),Ke=qe(0);We.extent&&void 0!==We.extent[0]&&(isNaN(Ke)||Ke===-1/0||Ke===1/0)&&(Ie[0]=We.extent[0]);const Ze=qe.copy().domain(Ie).range(Xe),Qe=M().domain(Xe).range(Xe.reverse()),Ue=qe.copy().domain(Ie).range(Xe),Je=Le?0:Be.bandwidth();let et=[],tt=Ne[1];"vertical"===k&&(tt=Ne[0]);const nt=((e,t,n)=>{const a=e.domain(),o={};return a.forEach((r,s)=>{const i=e(r)-n,c=a[s+1]?e(a[s+1]):t;o[r]=i+(c-i)/2}),o})(Be,tt,Q);et=Fe.map(e=>Ye[e]?Ye[e]:[]);let at="vertical"===k?Qe(Ze(0)):Ze(0);!isNaN(at)&&at!==-1/0&&at!==1/0||!We.extent||void 0===We.extent[0]||Ke!==-1/0&&Ke!==1/0||(at="vertical"===k?Qe(Ze(We.extent[0])):Ze(We.extent[0])),Fe.forEach((e,n)=>{r[e]={name:e,padding:Q,pieceData:et[n],pieces:et[n]},r[e].x=Be(e)+Q/2,r[e].y=0,r[e].middle=nt[e]+Q/2;let a=at,o=at,s=0;r[e].pieceData.forEach(t=>{let n;"timeline"===J.type?(t.scaledValue=Ze(t.value[0]),t.scaledEndValue=Ze(t.value[1]),t.scaledVerticalValue=Ue(t.value[0])):"bar"!==J.type&&"clusterbar"!==J.type?(t.scaledValue=Ze(t.value),t.scaledVerticalValue=Ue(t.value)):"clusterbar"===J.type&&(n="vertical"===k?Qe(Ze(t.value)):Ze(t.value),t.scaledValue=Math.abs(at-n)),t.x=r[e].x,0>t.value?("bar"===J.type&&(t.scaledValue=Math.abs("vertical"===k?Ze(t.value)-Ze(0):Ze(t.value)-at)),t.base=at,t.bottom="bar"===J.type?a:0,t.middle=a-t.scaledValue/2,a="vertical"===k?a+t.scaledValue:a-t.scaledValue,t.negative=!0):("bar"===J.type&&(t.scaledValue="vertical"===k?o-Qe(Ze(s+t.value)):Ze(s+t.value)-o,s+=t.value),t.base=at,t.bottom="bar"===J.type?o:0,t.middle=t.scaledValue/2+o,o="vertical"===k?o-t.scaledValue:o+t.scaledValue,t.negative=!1)}),Le?(r[e].width=Le[e]-Q,"center"===t.ordinalAlign&&(0===n?(r[e].x=r[e].x-r[e].width/2,r[e].middle=r[e].middle-r[e].width/2):(r[e].x=r[Fe[n-1]].x+r[Fe[n-1]].width,r[e].middle=r[e].x+r[e].width/2)),r[e].pct=Le[e]/Le.total,r[e].pct_start=(r[e].x-Te[0])/Le.total,r[e].pct_padding=Q/Le.total,r[e].pct_middle=(r[e].middle-Te[0])/Le.total):(r[e].width=Je-Q,"center"===t.ordinalAlign&&(r[e].x=r[e].x-r[e].width/2,r[e].middle=r[e].middle-r[e].width/2),r[e].pct=Je/Ne[1],r[e].pct_start=(r[e].x-Te[0])/Ne[1],r[e].pct_padding=Q/Ne[1],r[e].pct_middle=(r[e].middle-Te[0])/Ne[1])});const ot=[],rt=[],st="object"==typeof C?Object.assign({label:!0,padding:5},C):{orient:"default",label:C,padding:5};if(C||z){const e=J.offsetAngle&&J.offsetAngle/360||0,t=J.angleRange&&J.angleRange.map(e=>e/360)||[0,1],n=t[1]-t[0],a=1>n?M().domain([0,1]).range(t):e=>e;Fe.forEach(t=>{const o=m().innerRadius(0).outerRadius(Ze.range()[1]/2),s=r[t].pct*n,i=a(r[t].pct_start+e),c=i+s,l=i+s/2,d=o({startAngle:i*to,endAngle:c*to}),u=[Ne[0]/2,Ne[1]/2],p=o.centroid({startAngle:i*to,endAngle:c*to}),y=0>=p[1]||st.orient&&"default"!==st.orient&&"edge"!==st.orient?0:8,h={startAngle:i,endAngle:c,midAngle:l,markD:d,translate:u,centroid:p,outerPoint:wt([0,0],l,Ze.range()[1]/2+st.padding+y)};r[t].pieArc=h,rt.push(h)})}if(t.oLabel){let t;if("function"==typeof st.label)t=st.label;else{const n={textAnchor:"middle"};"horizontal"===k&&"right"===st.orient?n.textAnchor="start":"horizontal"===k&&(n.textAnchor="end"),t=(t,a,o)=>{const r={};let s;if("radial"===k&&"stem"===st.orient)s=`rotate(${0>rt[o].outerPoint[0]?360*rt[o].midAngle+90:360*rt[o].midAngle-90})`;else{if("radial"===k&&"annotation"===st.orient){const{centroid:n}=rt[o],a=15*rt.filter((e,t)=>o>t&&0>n[0]==0>rt[t].centroid[0]&&0>n[1]==0>rt[t].centroid[1]).length;let r=7*t.length,s="start",i={dx:0,dy:0};return 0>n[0]?(s="end",r=-r,i.dx=-35):i.dx=35,i.dy=0>n[1]?-35-a:35+a,e.createElement("g",null,e.createElement("path",{fill:"none",stroke:"black",strokeWidth:2,d:`M0,0L${i.dx},${i.dy}L${i.dx+r},${i.dy}`}),e.createElement("text",{textAnchor:s,x:i.dx,y:i.dy-2},t))}"radial"===k&&"center"!==st.orient&&(s=`rotate(${0>rt[o].outerPoint[1]?360*rt[o].midAngle:360*rt[o].midAngle+180})`)}return"radial"===k&&"stem"===st.orient&&(rt[o].outerPoint[0]>0&&0>st.padding||0>rt[o].outerPoint[0]&&st.padding>=0)?r.textAnchor="end":"radial"===k&&"stem"===st.orient&&(r.textAnchor="start"),e.createElement("text",Object.assign({},n,r,{transform:s}),t)}}if(Fe.forEach((n,a)=>{let o=r[n].middle,s=0;"horizontal"===k?(s=r[n].middle,o="right"===st.orient?Ne[0]+3:-3):"radial"===k&&("annotation"===st.orient?(o=.25*rt[a].centroid[0]+.75*rt[a].outerPoint[0]+rt[a].translate[0],s=.25*rt[a].centroid[1]+.75*rt[a].outerPoint[1]+rt[a].translate[1]):"center"===st.orient?(o=rt[a].centroid[0]+rt[a].translate[0],s=rt[a].centroid[1]+rt[a].translate[1]):(o=rt[a].outerPoint[0]+rt[a].translate[0],s=rt[a].outerPoint[1]+rt[a].translate[1]));const i=st.labelFormatter?st.labelFormatter(n):n,c=t(i,r[n].pieceData.map(e=>e.data),a,r[n]);ot.push(e.createElement("g",{key:"olabel-"+a,transform:`translate(${o},${s})`},c))}),"vertical"===k){let t;t="top"===st.orient?-15:15+Ze.range()[1],o=e.createElement("g",{key:"ordinalframe-labels-container",className:"ordinal-labels",transform:`translate(0,${t})`},ot)}else("horizontal"===k||"radial"===k)&&(o=e.createElement("g",{key:"ordinalframe-labels-container",className:"ordinal-labels"},ot))}const it=(t.hoverAnnotation||t.pieceHoverAnnotation)&&-1!==["bar","clusterbar","timeline"].indexOf(J.type);let ct;it||t.summaryHoverAnnotation||!(t.hoverAnnotation||t.customClickBehavior||t.customDoubleClickBehavior||t.customHoverBehavior)||(Oe=Me?function({oExtent:e,projectedColumns:t,rScale:n,pieArcs:a,padding:o,projection:r,customDoubleClickBehavior:s,customClickBehavior:i,customHoverBehavior:c}){return e.map((e,l)=>{const d=t[e].width;let u=t[e].x,p=0,y=n.range()[1],m=d+o;if("horizontal"===r&&(p=t[e].x,u=0,m=n.range()[1],y=d),"radial"===r){const{markD:o,centroid:r,translate:d,midAngle:u}=a[l],p={type:"column-hover",column:t[e],pieces:t[e].pieceData,summary:t[e].pieceData,arcAngles:{centroid:r,translate:d,midAngle:u,length:n.range()[1]/2}};return{markType:"path",key:"hover"+e,d:o,transform:`translate(${d.join(",")})`,style:{opacity:0},overlayData:p,onDoubleClick:s&&(e=>{s(p,e)}),onClick:i&&(e=>{i(p,e)}),onMouseEnter:c&&(e=>{c(p,e)}),onMouseLeave:c&&(e=>{c(e)})}}const h={type:"column-hover",column:t[e],pieces:t[e].pieceData,summary:t[e].pieceData};return{markType:"rect",key:"hover-"+e,x:u,y:p,height:y,width:m,style:{opacity:0},onDoubleClick:s&&(e=>{s(h,e)}),onClick:i&&(e=>{i(h,e)}),onMouseEnter:c&&(e=>{c(h,e)}),onMouseLeave:e=>{c(void 0,e)},overlayData:h}})}({oExtent:Fe,projectedColumns:r,rScale:Ze,pieArcs:rt,padding:Q,projection:k,customDoubleClickBehavior:E,customClickBehavior:A,customHoverBehavior:j}):n.columnOverlays);const lt=J.type&&"none"!==J.type?J.type:"point",dt=("function"==typeof lt?lt:Ua[lt])({type:J,data:r,renderMode:pe,eventListenersGenerator:re,styleFn:ce,projection:k,classFn:le,adjustedSize:Ne,chartSize:S,margin:Ce,rScale:Ze}),ut=dt.reduce((e,t)=>(t.o&&(e[t.o]||(e[t.o]=[]),e[t.o].push(t)),e),{});Object.keys(r).forEach(e=>{r[e].xyData=ut[e]||[]});let pt={};U.type&&"none"!==U.type&&(pt=Kt({data:r,type:U,renderMode:ye,styleFn:ie,classFn:de,projection:k,eventListenersGenerator:re,adjustedSize:Ne,margin:Ce,axisCreator:Xa}),pt.originalData=r);const yt="horizontal"===k?Ja:eo,mt="vertical"===k?Ja:eo,ht=dt.map(e=>e.piece&&e.xy?Object.assign(Object.assign({},e.piece),{type:"frame-hover",x:e.xy.x+mt(e.xy),y:e.xy.y+yt(e.xy)}):null).filter(e=>e);((z||N)&&-1===["bar","clusterbar","timeline"].indexOf(J.type)||$)&&($&&pt.xyPoints?ct=pt.xyPoints.map(e=>Object.assign({},e,{type:"frame-hover",isSummaryData:!0,x:e.x,y:e.y})):(z||N)&&dt&&(ct=ht));const{axis:gt,axesTickLines:ft}=(({projection:t,axis:n,adjustedSize:a,size:o,rScale:r,rScaleType:s,pieceType:i,rExtent:c,data:l,maxColumnValues:d=1,xyData:u,margin:p,thresholds:y})=>{if(!n)return{axis:void 0,axesTickLines:void 0};let m,h;if("radial"!==t&&n){h=[];const i=[0,0];m=n.map((n,c)=>{let m,g=n.className||"";const f=n.extentOverride?n.extentOverride:r.domain(),b=["left","right"],x=-1===b.indexOf(n.orient)&&"vertical"!==t||-1!==b.indexOf(n.orient)&&"horizontal"!==t?s.domain(f):s.domain([0,d]),v=n.orient,k=-1===b.indexOf(n.orient)&&"vertical"!==t||-1!==b.indexOf(n.orient)&&"horizontal"!==t?r.range():[0,"vertical"===t?a[0]:a[1]];"right"===v?(x.range(k.reverse()),g+=" right y"):"left"===v?(g+=" left y",x.range(k.reverse())):"top"===v?(g+=" top x",x.range(k)):"bottom"===v&&(g+=" bottom x",x.range(k)),n.tickValues&&Array.isArray(n.tickValues)?m=n.tickValues:n.tickValues instanceof Function?m=n.tickValues(l,o,r):!n.tickValues&&y&&(m=y.map(e=>r.invert(e)));const j=vt({padding:n.padding,tickValues:m,scale:x,ticks:n.ticks,orient:v,size:a,footer:n.footer,tickSize:n.tickSize,jaggedBase:n.jaggedBase}),A=jt({className:n.className,axisParts:j,orient:v,tickLineGenerator:n.tickLineGenerator,jaggedBase:n.jaggedBase,scale:x});return h.push(A),"under"===n.baseline&&h.push(kt(n.orient,a,n.className)),e.createElement(Ut,Object.assign({},n,{key:n.key||"orframe-axis-"+c,axisParts:j,orient:v,size:a,position:i,tickValues:m,scale:x,className:g,marginalSummaryType:"string"==typeof n.marginalSummaryType?{type:n.marginalSummaryType}:n.marginalSummaryType,margin:p,xyPoints:u.map(e=>({x:"vertical"===t?0:e.value,y:"vertical"===t?e.value:0,data:e.data}))}))})}else if("radial"===t&&n){const{innerRadius:t=0}=i,o=[];n.forEach(n=>{const{tickValues:i=r.ticks(Math.max(2,(a[0]/2-t)/50)),label:l,tickFormat:d=e=>e}=n,u=s.domain(c).range([t,a[0]/2]),p=i instanceof Function?i({orient:n.orient}):i;p.forEach((n,a)=>{const r=u(n);if(0!==t||0!==n){let t,i="";if(l&&a===p.length-1){const n="string"==typeof l?{locationDistance:15}:l,{locationDistance:a=15}=n;i=Math.random()+" ",t=e.createElement("g",{className:"axis-label radial",transform:`translate(0,${a})`},e.createElement("text",{textAnchor:"middle"},e.createElement("textPath",{startOffset:r*Math.PI*.5,xlinkHref:"#"+i},l.name)))}o.push(e.createElement("g",{key:"orframe-radial-axis-element-"+n,className:"axis axis-label axis-tick radial",transform:"translate(0,0)"},e.createElement("path",{id:i,d:(s=r,["M",en(0-s),en(0),"a",s,s,0,1,0,2*s,0,"a",s,s,0,1,0,-2*s,0].join(" ")+"Z"),r:r,stroke:"gray",fill:"none"}),e.createElement("text",{y:5-r,textAnchor:"middle"},d(n)),t))}var s})}),m=[e.createElement("g",{key:n[0].key||"orframe-radial-axis-container",className:"axis-labels",transform:`translate(${a[0]/2},${a[1]/2})`},o)]}return{axis:m,axesTickLines:h}})({axis:Pe,data:Ee,projection:k,adjustedSize:Ne,size:S,rScale:Ze,rScaleType:qe.copy(),pieceType:J,rExtent:Ie,maxColumnValues:Ve,xyData:ht,margin:Ce,thresholds:pt.thresholds});return Object.assign({pieceDataXY:ct,oAccessor:ne,rAccessor:ae,summaryType:U,type:J},function(t){const{usesPieceOverlays:n,shouldRecalculateOverlay:a,calculatedPieceData:o,projection:r,customClickBehavior:s,customDoubleClickBehavior:i,customHoverBehavior:c,currentState:l,connectorStyle:d,connectorClass:u,connectorRenderMode:p,connectorCanvasRender:y,summaryCanvasRender:m,pieceCanvasRender:h,connectorType:g,eventListenersGenerator:f,pieceType:b,summaryStyle:x,summaryClass:v,pieceStyle:k,pieceClass:j,keyedData:A,oExtent:E,projectedColumns:S,calculatedSummaries:O,oAccessor:w,rScale:M,calculatedRExtent:P,calculatedOExtent:C,rExtentSettings:z,oExtentSettings:N,adjustedPosition:$,adjustedSize:D,margin:F,backgroundGraphics:T,foregroundGraphics:L,arrayWrappedAxis:R,axis:B,axesTickLines:V,oLabels:W,title:I,oScaleType:G,instantiatedRScaleType:_,oScale:H,rExtent:Y,legend:X,pieceIDAccessor:q,currentProps:K}=t;let{columnOverlays:Z}=t;if(n){const t="horizontal"===r?Ja:eo,n="vertical"===r?Ja:eo;Z=a?o.map((a,o)=>{const r=Object.assign(Object.assign({},a.piece),{x:a.xy.x+n(a.xy),y:a.xy.y+t(a.xy)});return e.isValidElement(a.renderElement)?{renderElement:a.renderElement,overlayData:r}:Object.assign(Object.assign({},a.renderElement),{key:"hover-"+o,style:{opacity:0},overlayData:r,onClick:s&&(e=>{s(r.data,e)}),onDoubleClick:i&&(e=>{i(r.data,e)}),onMouseEnter:c&&(e=>{c(r.data,e)}),onMouseLeave:c&&(e=>{c(void 0,e)})})}):l.columnOverlays}const Q={connectors:{accessibleTransform:(e,t)=>e[t],projection:r,data:{keyedData:A,oExtent:E},styleFn:d,classFn:u,renderMode:p,canvasRender:y,behavior:sn,type:g,eventListenersGenerator:f,pieceType:b},summaries:{accessibleTransform:(e,t)=>{const n=E[t];return{type:"column-hover",column:S[n],pieces:S[n].pieceData,summary:S[n].pieceData,oAccessor:w}},data:O.marks,behavior:Qt,canvasRender:m,styleFn:x,classFn:v},pieces:{accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t].piece?Object.assign(Object.assign({},e[t].piece),e[t].xy):e[t]),{type:"frame-hover"}),shouldRender:b.type&&"none"!==b.type,data:o,behavior:Mt,canvasRender:h,styleFn:k,classFn:j,axis:R,ariaLabel:void 0!==b.type&&"function"!=typeof b.type&&no[b.type]||{items:"piece",chart:"ordinal chart"}}};let U;if(z.onChange&&(l.calculatedRExtent||[]).join(",")!==(P||[]).join(",")&&z.onChange(P),N.onChange&&(l.calculatedOExtent||[]).join(",")!==(C||[]).join(",")&&N.onChange(C),X&&(U=!0===X?{}:Object.assign({},X),U.legendGroups)){const e=new Map(E.map((e,t)=>[e,t]));U.legendGroups=U.legendGroups.map(t=>Object.assign(Object.assign({},t),{items:[...t.items].sort((t,n)=>(e.has(t.label)?e.get(t.label):1/0)-(e.has(n.label)?e.get(n.label):1/0))}))}return{adjustedPosition:$,adjustedSize:D,backgroundGraphics:T,foregroundGraphics:L,axisData:R,axes:B,axesTickLines:V,oLabels:{labels:W},title:I,columnOverlays:Z,renderNumber:l.renderNumber+1,oScaleType:G,rScaleType:_,oExtent:E,rExtent:Y,oScale:H,rScale:M,calculatedOExtent:C,calculatedRExtent:P,projectedColumns:S,margin:F,legendSettings:U,orFrameRender:Q,pieceIDAccessor:q,props:K}}({usesPieceOverlays:it,shouldRecalculateOverlay:Me,calculatedPieceData:dt,projection:k,customClickBehavior:A,customDoubleClickBehavior:E,customHoverBehavior:j,currentState:n,connectorStyle:se,connectorClass:ue,connectorRenderMode:me,connectorCanvasRender:fe,summaryCanvasRender:ge,pieceCanvasRender:he,connectorType:ee,eventListenersGenerator:re,pieceType:J,summaryStyle:ie,summaryClass:de,pieceStyle:ce,pieceClass:le,keyedData:ut,oExtent:Fe,projectedColumns:r,calculatedSummaries:pt,oAccessor:ne,rScale:Ze,calculatedRExtent:He,calculatedOExtent:De,rExtentSettings:We,oExtentSettings:$e,adjustedPosition:ze,adjustedSize:Ne,margin:Ce,backgroundGraphics:D,foregroundGraphics:F,arrayWrappedAxis:Pe,axis:gt,axesTickLines:ft,oLabels:o,title:be,columnOverlays:Oe,oScaleType:T,instantiatedRScaleType:qe,oScale:Be,rExtent:Ie,legend:B,pieceIDAccessor:xe,currentProps:t}))},oo=M(),ro=M(),so={y:"y",x:"x"},io={top:0,bottom:0,left:0,right:0},co={annotations:[],foregroundGraphics:[],projection:"vertical",size:[500,500],className:"",data:[],oScaleType:z(),rScaleType:M,type:"none",optimizeCustomTooltipPosition:!1};function lo(t){const n=Object.assign(Object.assign({},co),t),o=c({marginCalc:ne((e,t,n,a,o,r)=>{const s=nn({margin:e,axes:t,title:n,oLabel:a,projection:o,size:r}),{adjustedPosition:i,adjustedSize:c}=rn({size:r,margin:s,projection:o});return{margin:s,adjustedPosition:i,adjustedSize:c}}),structureData:ne((e,t,n,a,o,r,s)=>on({data:e,renderKey:t,oAccessor:n,rAccessor:a,originalRAccessor:o,originalOAccessor:r,multiAxis:s})),accessorConversions:ne((e,t,n,a)=>({oAccessor:Hn(e,e=>e.renderKey),rAccessor:Hn(t,e=>e.value||1),renderKey:_n(n,(e,t)=>t),pieceIDAccessor:_n(a,()=>"")})),styleFns:ne((e,t,n,a,o,r,s,i,c,l,d,u)=>({connectorStyle:_n(e,()=>({}),!0),summaryStyle:_n(t,()=>({}),!0),pieceStyle:_n(n,()=>({}),!0),pieceClass:_n(a,()=>"",!0),summaryClass:_n(o,()=>"",!0),connectorClass:_n(r,()=>"",!0),pieceRenderMode:_n(s,void 0,!0),summaryRenderMode:_n(i,void 0,!0),connectorRenderMode:_n(c,void 0,!0),pieceCanvasRender:_n(l,void 0,!0),summaryCanvasRender:_n(d,void 0,!0),connectorCanvasRender:_n(u,void 0,!0)}))}),r={adjustedPosition:[],adjustedSize:[],backgroundGraphics:void 0,foregroundGraphics:void 0,axisData:void 0,renderNumber:0,oLabels:{labels:[]},oAccessor:Hn("renderKey"),rAccessor:Hn("value"),oScale:z(),rScale:M(),axes:void 0,calculatedOExtent:[],calculatedRExtent:[0,1],columnOverlays:[],dataVersion:void 0,legendSettings:void 0,margin:{top:0,bottom:0,left:0,right:0},oExtent:[],oScaleType:z(),orFrameRender:{},pieceDataXY:[],pieceIDAccessor:_n("semioticPieceID"),projectedColumns:{},rExtent:[],rScaleType:M(),summaryType:{type:"none"},title:{},type:{type:"none"},props:n},s=a(()=>Object.assign(Object.assign({},r),ao(n,r,o.current)),[]),i=ra((e,t)=>function(e,t,n){const{props:a}=t,o=!t.dataVersion&&ta.some(t=>a[t]!==e[t]),r=!t.dataVersion&&na.some(t=>a[t]!==e[t]);return t.dataVersion&&t.dataVersion!==e.dataVersion||!t.projectedColumns||o||a.size[0]!==e.size[0]||a.size[1]!==e.size[1]||r?Object.assign(Object.assign({},ao(e,t,n)),{props:e}):{props:e}}(e,t,o.current),n,s);sa(n,i);const d=c(n);d.current=n;const u=c(i);u.current=i;const y=l(t=>function(t,n,{d:a,i:o,annotationLayer:r}){const{projection:s,svgAnnotationRules:i}=t,{adjustedPosition:c,adjustedSize:l,oAccessor:d,rAccessor:u,oScale:y,rScale:m,projectedColumns:h,orFrameRender:g,pieceIDAccessor:f,rScaleType:b,summaryType:x,type:v}=n;let k=[0,0];if(a.isColumnAnnotation){const{coordinates:[e,t]}=_a({d:a,projectedColumns:h,oAccessor:d,summaryType:x,type:v,projection:s,adjustedPosition:c,adjustedSize:l});k=[e,t]}else if(a.coordinates||"enclose"===a.type&&a.neighbors)k=(a.coordinates||a.neighbors).map(e=>{const t=On(d,e)||e.column,n=h[t],a=Ha(f,n,e);return Ya({p:e,adjustedSize:l,rScale:m,rAccessor:u,idPiece:a,projection:s,oColumn:n,rScaleType:b})});else{const e=On(d,a)||a.column,t=h[e],n=Ha(f,t,a);k=Ya({p:a,adjustedSize:l,rScale:m,rAccessor:u,idPiece:n,projection:s,oColumn:t,rScaleType:b})}const{voronoiHover:j}=r,A=i&&i({d:a,i:o,oScale:y,rScale:m,oAccessor:d,rAccessor:u,orFrameProps:t,orFrameState:n,screenCoordinates:k,adjustedPosition:c,adjustedSize:l,annotationLayer:r,categories:h,voronoiHover:j});return i&&null!==A?A:"desaturation-layer"===a.type?Sn({style:a.style instanceof Function?a.style(a,o):a.style,size:l,i:o,key:a.key}):"ordinal-line"===a.type?(({screenCoordinates:t,d:n,voronoiHover:a})=>{const o=p().x(e=>e[0]).y(e=>e[1]);n.curve&&o.curve(Lt[n.curve]||n.curve);const r="function"==typeof n.lineStyle?n.lineStyle(n):n.lineStyle||{};return e.createElement("g",{key:"ordinal-line-annotation"},e.createElement("path",{stroke:"currentColor",fill:"none",style:r,d:o(t)}),(n.points||n.interactive)&&t.map((t,o)=>{const r="function"==typeof n.pointStyle?n.pointStyle(n.coordinates[o],o):n.pointStyle||{};return e.createElement("g",{transform:`translate(${t[0]},${t[1]})`,key:"ordinal-line-point-"+o},n.points&&e.createElement("circle",{style:r,r:n.radius||5,fill:"currentColor"}),n.interactive&&e.createElement("circle",{style:{pointerEvents:"all"},r:n.hoverRadius||15,opacity:0,onMouseEnter:()=>a(Object.assign(Object.assign({type:"frame-hover"},n.coordinates[o]),{data:n.coordinates[o]})),onMouseOut:()=>a()}))}))})({d:a,screenCoordinates:k,voronoiHover:j}):"or"===a.type?(({d:t,i:n,screenCoordinates:a,projection:o})=>e.createElement("text",{key:`${t.label}annotationtext${n}`,x:parseInt(a[0]+("horizontal"===o?10:0)),y:parseInt(a[1]+("vertical"===o?10:0)),className:"annotation annotation-or-label "+(t.className||""),"data-testid":"annotation-or-label",textAnchor:"middle"},t.label))({d:a,i:o,screenCoordinates:k,projection:s}):"highlight"===a.type?(({d:t,pieceIDAccessor:n,orFrameRender:a,oAccessor:o})=>{const r=n(t),s=On(o,t),{pieces:i}=a,{styleFn:c}=i;return[...i&&i.data.filter(e=>!(void 0!==r&&n(Object.assign(Object.assign({},e.piece),e.piece.data))!==r||void 0!==s&&On(o,e.piece.data)!==s)).map((n,a)=>{let o={style:c(Object.assign(Object.assign({},n.piece),n.piece.data))};t.style&&"function"==typeof t.style?o={style:Object.assign(Object.assign({},o),t.style(Object.assign(Object.assign({},n.piece),n.piece.data)))}:t.style&&(o={style:Object.assign(Object.assign({},o),t.style)});const r=Object.assign(Object.assign({},n.renderElement),o),s="highlight-annotation "+(t.class&&"function"==typeof t.class&&t.class(n.piece.data,a)||t.class&&t.class||"");if(e.isValidElement(n.renderElement))return e.cloneElement(n.renderElement,Object.assign(Object.assign({},o),{className:s}));const{markType:i}=r,l=Qe(r,["markType"]);return e.createElement(i||"path",Object.assign(Object.assign({fill:"none",stroke:"currentColor",strokeWidth:"2px",key:"highlight-piece-"+a},l),{className:s}))})||[]]})({d:a,pieceIDAccessor:f,orFrameRender:g,oAccessor:d}):"function"==typeof a.type||uo.has(a.type)?(({d:t,i:n,screenCoordinates:a})=>{const o=Object.assign({dx:0,dy:0,note:{label:t.label,orientation:t.orientation,align:t.align},connector:{end:"arrow"}},t,{x:a[0],y:a[1],type:"function"==typeof t.type?t.type:void 0,screenCoordinates:a});return t.fixedX&&(o.x=t.fixedX),t.fixedY&&(o.y=t.fixedY),e.createElement(Le,{key:t.key||"annotation-"+n,noteData:o})})({d:a,i:o,screenCoordinates:k}):"enclose"===a.type?(({d:e,i:t,screenCoordinates:n})=>{const a=Y(n.map(e=>({x:e[0],y:e[1],r:2})));return jn({d:e,i:t,circle:a})})({d:a,i:o,screenCoordinates:k}):"enclose-rect"===a.type?(({d:e,i:t,screenCoordinates:n})=>{const a=n.map(e=>({x0:e.x0=e[0],x1:e.x1=e[0],y0:e.y0=e[1],y1:e.y1=e[1]}));return An({bboxNodes:a,d:e,i:t})})({d:a,screenCoordinates:k,i:o}):"r"===a.type?(({d:t,i:n,screenCoordinates:a,rScale:o,rAccessor:r,adjustedSize:s,adjustedPosition:i,projection:c})=>{let l,d,u,p,y,m,h;if("radial"===c)return e.createElement(Le,{key:t.key||"annotation-"+n,noteData:Object.assign({dx:50,dy:50,note:{label:t.label},connector:{end:"arrow"}},t,{type:"callout-circle",subject:{radius:o(On(r,t))/2,radiusPadding:0},x:s[0]/2,y:s[1]/2})});"horizontal"===c?(m=50,h=50,p=t.offset||25*n,l=a[0],d=p,y={x:l,y1:0,y2:s[1]+i[1]}):(m=50,h=-20,u=t.offset||25*n,d=a[1],l=u,y={y:d,x1:0,x2:s[0]+i[0]});const g=Object.assign({dx:m,dy:h,note:{label:t.label},connector:{end:"arrow"}},t,{type:"xy-threshold",x:l,y:d,subject:y});return e.createElement(Le,{key:t.key||"annotation-"+n,noteData:g})})({d:a,i:o,screenCoordinates:k,rScale:m,rAccessor:u,projection:s,adjustedSize:l,adjustedPosition:c}):"category"===a.type?(({projection:t,d:n,i:a,categories:o,adjustedSize:r})=>{const{bracketType:s="curly",position:i=("vertical"===t?"top":"left"),depth:c=30,offset:l=0,padding:d=0}=n,u=(Array.isArray(n.categories)?n.categories:[n.categories]).map(e=>o[e]);if("radial"===t){const t=d/r[1],o=I(u.map(e=>e.pct_start+e.pct_padding/2+t/2)),i=V(u.map(e=>e.pct_start+e.pct-e.pct_padding/2-t/2)),p=Math.min(r[0],r[1])/2,y=r[0]/2,m=r[1]/2,{arcPath:h,textArcPath:g}=function({x:e,y:t,radius:n,startAngle:a,endAngle:o,inset:r,outset:s,curly:i=!0}){const c=Ia(e,t,n+s,o),l=Ia(e,t,n+s,a),d=Ia(e,t,n+s-r,o),u=Ia(e,t,n+s-r,a),p=o-a,y=p>180?"1":"0";let m;if(i){const r=Math.min(10,p/4),i=Ia(e,t,n+s,(a+o)/2+r),y=Ia(e,t,n+s+10,(a+o)/2),h=Ia(e,t,n+s,(a+o)/2-r);m=["M",d.x,d.y,"L",c.x,c.y,"A",n+s,n+s,0,0,0,i.x,i.y,"A",n+s,n+s,1,0,1,y.x,y.y,"A",n+s,n+s,1,0,1,h.x,h.y,"A",n+s,n+s,0,0,0,l.x,l.y,"L",u.x,u.y].join(" ")}else m=["M",d.x,d.y,"L",c.x,c.y,"A",n+s,n+s,0,y,0,l.x,l.y,"L",u.x,u.y].join(" ");const h=(a+o)/2;let g,f,b,x,v;const k=h>90&&270>h;k?(g=12,f=o-a>180?"1":"0",v=0):(f=o-a>180?"1":"0",g=5,v=1),g+=i?10:0;const j=Ia(e,t,n+s+g,o),A=Ia(e,t,n+s+g,a);return k?(x=j,b=A):(x=A,b=j),{arcPath:m,textArcPath:["M",x.x,x.y,"A",n+s+g,n+s+g,v,f,v,b.x,b.y].join(" ")}}({x:0,y:0,radius:p,startAngle:360*o,endAngle:360*i,inset:c,outset:l,curly:"curly"===s}),f=`text-path-${a}-${Math.random()}`;return e.createElement("g",{className:"category-annotation annotation",transform:`translate(${y},${m})`},e.createElement("path",{d:h,fill:"none",stroke:"currentColor"}),e.createElement("path",{id:f,d:g,style:{display:"none"}}),e.createElement("text",{"font-size":"12.5"},e.createElement("textPath",{startOffset:"50%",textAnchor:"middle",xlinkHref:"#"+f},n.label)))}{const o=I(u.map(e=>e.x)),p=V(u.map(e=>e.x+e.width));if("vertical"===t){let t="top"===i?0:r[1];return t+="top"===i?-l:l,e.createElement(Le,{key:n.key||"annotation-"+a,noteData:{type:"bracket",y:t,x:o-d,note:{title:n.title||n.label,label:n.title?n.label:void 0},subject:{type:s,width:p-o+2*d,depth:"top"===i?-c:c}}})}if("horizontal"===t){let t="left"===i?0:r[0];return t+="left"===i?-l:l,e.createElement(Le,{key:n.key||"annotation-"+a,noteData:{type:"bracket",x:t,y:o-d,note:{title:n.title||n.label,label:n.title?n.label:void 0},subject:{type:s,height:p-o+2*d,depth:"left"===i?-c:c}}})}}})({projection:s,d:a,i:o,categories:n.projectedColumns,adjustedSize:l}):null}(d.current,u.current,t),[]),m=l(t=>function(t,n,{d:a,i:o,annotationLayer:r}){const{adjustedPosition:s,adjustedSize:i,oAccessor:c,rAccessor:l,oScale:d,rScale:u,projectedColumns:p,summaryType:y,type:m,pieceIDAccessor:h,rScaleType:g}=n,{htmlAnnotationRules:f,tooltipContent:b,optimizeCustomTooltipPosition:x,projection:v}=t;let k=[0,0];const{voronoiHover:j}=r;if(a.coordinates||"enclose"===a.type&&a.neighbors)k=(a.coordinates||a.neighbors).map(e=>{const t=On(c,e)||e.column,n=p[t],a=Ha(h,n,e);return Ya({p:e,adjustedSize:i,rScale:u,rAccessor:l,idPiece:a,projection:v,oColumn:n,rScaleType:g})});else if("column-hover"===a.type){const{coordinates:[e,t]}=_a({d:a,projectedColumns:p,oAccessor:c,summaryType:y,type:m,projection:v,adjustedPosition:s,adjustedSize:i});k=[e,t]}else{const e=On(c,a)||a.column,t=p[e],n=Ha(h,t,a);k=Ya({p:a,adjustedSize:i,rScale:u,rAccessor:l,idPiece:n,projection:v,oColumn:t,rScaleType:g})}const A="vertical"===v?g.domain(u.domain()).range(u.range().reverse()):u,E=f&&f({d:a,i:o,oScale:d,rScale:A,oAccessor:c,rAccessor:l,orFrameProps:t,screenCoordinates:k,adjustedPosition:s,adjustedSize:i,annotationLayer:r,orFrameState:n,categories:n.projectedColumns,voronoiHover:j});return f&&null!==E?E:"frame-hover"===a.type?(({d:t,i:n,rAccessor:a,oAccessor:o,projection:r,tooltipContent:s,optimizeCustomTooltipPosition:i,pieceIDAccessor:c,projectedColumns:l,adjustedSize:d,rScale:u,type:p,rScaleType:y})=>{let m;s="pie"===s?()=>Ga({column:t.column}):s;const h=l[On(o,t)||t.column],g=Ha(c,h,t);if(!g)return null;const f=("clusterbar"===p.type||"point"===p.type||"swarm"===p.type)&&void 0!==t.x&&void 0!==t.y||t.isSummaryData?[t.x,t.y]:Ya({p:t,adjustedSize:d,rScale:u,oColumn:h,rAccessor:a,idPiece:g,projection:r,rScaleType:y});if(t.isSummaryData){let n=t.label;t.pieces&&0!==t.pieces.length&&(1===t.pieces.length?(n=[],a.forEach(e=>{n.push(e(t.pieces[0].data))})):(n=[],a.forEach(e=>{const a=L(t.pieces.map(e=>e.data).map(e));n.push(`From ${a[0]} to ${a[1]}`)})));const o=e.createElement("p",{key:"html-annotation-content-2"},n);m=[e.createElement("p",{key:"html-annotation-content-1"},t.key),o,e.createElement("p",{key:"html-annotation-content-3"},t.value)]}else t.data?(m=[],o.forEach((t,n)=>{if(g.data){const a=Wa(t,g.data);m.push(e.createElement("p",{key:"html-annotation-content-o-"+n},a))}}),a.forEach((t,n)=>{if(g.data){const a=Wa(t,g.data);m.push(e.createElement("p",{key:"html-annotation-content-r-"+n},a))}})):t.label&&(m=t.label);let b=e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},m);if("frame-hover"===t.type&&s&&g){const t=Object.assign(Object.assign(Object.assign({},g),g.data),{column:h,pieces:h?h.pieceData.map(e=>e.data):[]});b=i?e.createElement(kn,{tooltipContent:s,tooltipContentArgs:t}):s(t)}const x=parseInt(f[0]),v=d&&x>d[0]/2,k={position:"absolute",top:parseInt(f[1])+"px"};return v?k.right=d[0]-x+"px":k.left=x+"px",e.createElement("div",{key:"xylabel-"+n,className:`annotation annotation-or-label ${r} ${t.className||""}`,"data-testid":"annotation-or-label",style:k},b)})({d:a,i:o,rAccessor:l,oAccessor:c,projection:v,tooltipContent:b,optimizeCustomTooltipPosition:x,projectedColumns:p,pieceIDAccessor:h,adjustedSize:i,rScale:u,type:m,rScaleType:g}):"column-hover"===a.type?(({d:t,i:n,summaryType:a,oAccessor:o,type:r,adjustedPosition:s,adjustedSize:i,projection:c,tooltipContent:l,optimizeCustomTooltipPosition:d,projectedColumns:u})=>{const{coordinates:[p,y],pieces:m,column:h}=_a({d:t,projectedColumns:u,oAccessor:o,summaryType:a,type:r,projection:c,adjustedPosition:s,adjustedSize:i});if(void 0===h)return null;const g=[];o.forEach((t,n)=>{if(m[0].data){const a=Wa(t,m[0].data);g.push(e.createElement("p",{key:"or-annotation-o-"+n},a))}});let f=e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},g,e.createElement("p",{key:"or-annotation-2"},W(m.map(e=>e.value).filter(e=>e>0))));if("column-hover"===t.type&&l){"pie"===l&&(l=Ga);const n=Object.assign(Object.assign({},t),{pieces:m.map(e=>e.data),column:h,oAccessor:o});f=d?e.createElement(kn,{tooltipContent:l,tooltipContentArgs:n}):l(n)}else t.label&&(f=e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},t.label));const b=parseInt(p),x=i&&b>i[0]/2,v={position:"absolute",top:parseInt(y)+"px"};return x?v.right=i[0]-b+"px":v.left=b+"px",e.createElement("div",{key:"orlabel-"+n,className:`annotation annotation-or-label ${c} ${t.className||""}`,"data-testid":"annotation-or-label",style:v},f)})({d:a,i:o,summaryType:y,oAccessor:c,projectedColumns:p,type:m,adjustedPosition:s,adjustedSize:i,projection:v,tooltipContent:b,optimizeCustomTooltipPosition:x}):null}(d.current,u.current,t),[]),{className:h,annotationSettings:g,annotations:f,matte:b,renderKey:x,interaction:v,customClickBehavior:k,customHoverBehavior:j,customDoubleClickBehavior:A,projection:E,backgroundGraphics:S,foregroundGraphics:O,afterElements:w,beforeElements:P,disableContext:C,summaryType:N,summaryHoverAnnotation:$,pieceHoverAnnotation:D,hoverAnnotation:F,canvasPostProcess:T,canvasPieces:R,canvasSummaries:B,canvasConnectors:G,renderOrder:_,additionalDefs:H,sketchyRenderingEngine:X,frameRenderOrder:q,disableCanvasInteraction:K,disableProgressiveRendering:Z,transition:Q}=n,{orFrameRender:U,projectedColumns:J,adjustedPosition:ee,adjustedSize:te,legendSettings:ae,columnOverlays:oe,axesTickLines:re,axes:se,margin:ie,pieceDataXY:ce,oLabels:le,title:de}=i,ue=[te[0]+ie.left+ie.right,te[1]+ie.top+ie.bottom];let pe;N&&N.amplitude&&(pe="horizontal"===E?{top:N.amplitude,bottom:0,left:0,right:0}:"radial"===E?io:{top:0,bottom:0,left:N.amplitude,right:0});const ye=a(()=>"function"==typeof O?O({size:ue,margin:ie}):O,[O,ue,ie]),me=a(()=>`${h} ${E}`,[h,E]),he=a(()=>$||F||D,[$,D,F]),ge=a(()=>v&&Object.assign(Object.assign({},v),{brush:!0!==v.columnsBrush&&"oBrush",projection:E,projectedColumns:J}),[v,E,J]),fe=a(()=>!!(R||B||G),[R,B,G]);return e.createElement(xn,{name:"ordinalframe",renderPipeline:U,adjustedPosition:ee,adjustedSize:te,size:ue,xScale:oo,yScale:ro,axes:se,axesTickLines:re,title:de,matte:b,additionalDefs:H,className:me,frameKey:"none",renderFn:x,projectedCoordinateNames:so,defaultSVGRule:y,defaultHTMLRule:m,hoverAnnotation:he,annotations:f,annotationSettings:g,legendSettings:ae,interaction:ge,customClickBehavior:k,customHoverBehavior:j,customDoubleClickBehavior:A,points:ce,margin:ie,columns:J,backgroundGraphics:S,foregroundGraphics:ye,beforeElements:P,afterElements:w,overlay:oe,rScale:i.rScale,projection:E,disableContext:C,interactionOverflow:pe,canvasPostProcess:T,canvasRendering:fe,renderOrder:_,disableCanvasInteraction:K,sketchyRenderingEngine:X,frameRenderOrder:q,additionalVizElements:le,disableProgressiveRendering:Z,transition:Q})}const uo=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);lo.displayName="OrdinalFrame";const po=e.memo(lo);function yo(t){const{data:n,width:o=600,height:r=400,margin:s,className:i,title:c,categoryAccessor:l="category",valueAccessor:d="value",orientation:u="vertical",categoryLabel:p,valueLabel:y,valueFormat:m,colorBy:h,colorScheme:g="category10",sort:f=!1,barPadding:b=5,enableHover:x=!0,showGrid:v=!1,showLegend:k,tooltip:j,frameProps:A={}}=t,E=n||[],S=ka(E,f,d),O=va(E,h,g),w=a(()=>e=>{const t={};return t.fill=h?ha(e,h,O):ba,t},[h,O]),M=a(()=>{const e=[];return"vertical"===u?(e.push(Object.assign({orient:"left",label:y,tickFormat:m},v&&{tickLineGenerator:()=>null})),p&&e.push({orient:"bottom",label:p})):(p&&e.push({orient:"left",label:p}),e.push(Object.assign({orient:"bottom",label:y,tickFormat:m},v&&{tickLineGenerator:()=>null}))),e},[u,p,y,m,v]),P=void 0!==k?k:!!h,C=a(()=>{if(P&&h)return ja({data:S,colorBy:h,colorScale:O,getColor:ha})},[P,h,S,O]),z=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),s);return C&&120>e.right&&(e.right=120),e},[s,C]),N=a(()=>t=>{const n="function"==typeof l?l(t):t[l],a="function"==typeof d?d(t):t[d];return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},n+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof a?a.toLocaleString():a+""))},[l,d]),$=Pa({componentName:"BarChart",data:E,accessors:{categoryAccessor:l,valueAccessor:d}});if($)return e.createElement(Ma,{componentName:"BarChart",message:$,width:o,height:r});const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:S,oAccessor:l,rAccessor:d,type:"bar",projection:"horizontal"===u?"horizontal":"vertical",style:w,axes:M,hoverAnnotation:x,margin:z,oPadding:b},C&&{legend:C}),i&&{className:i}),c&&{title:c}),{tooltipContent:j?wa(j):N,transition:!0}),A);return e.createElement(po,Object.assign({},D))}function mo(t){const{data:n,width:o=600,height:r=400,margin:s,className:i,title:c,categoryAccessor:l="category",stackBy:d,valueAccessor:u="value",orientation:p="vertical",categoryLabel:y,valueLabel:m,valueFormat:h,colorBy:g,colorScheme:f="category10",normalize:b=!1,barPadding:x=5,enableHover:v=!0,showGrid:k=!1,showLegend:j=!0,tooltip:A,frameProps:E={}}=t,S=n||[],O=g||d;a(()=>{const e=xa(d);return Array.from(new Set(S.map(e)))},[S,d]);const w=va(S,O,f),M=a(()=>e=>{const t={};return t.fill=O?ha(e,O,w):ba,t},[O,w]),P=a(()=>{const e=[];return"vertical"===p?(e.push(Object.assign({orient:"left",label:m,tickFormat:h},k&&{tickLineGenerator:()=>null})),y&&e.push({orient:"bottom",label:y})):(y&&e.push({orient:"left",label:y}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:h},k&&{tickLineGenerator:()=>null}))),e},[p,y,m,h,k]),C=a(()=>{if(j)return ja({data:S,colorBy:O,colorScale:w,getColor:ha})},[j,S,O,w]),z=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:120}),s);return C&&120>e.right&&(e.right=120),e},[s,C]),N=a(()=>{const t=xa(d),n=xa(l),a=xa(u);return o=>{const r=t(o)+"",s=n(o)+"",i=Number(a(o)),c=o.pieces||[],l=c.reduce((e,t)=>e+(Number(a(t))||0),0),d=c.length>1;return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},r),e.createElement("div",{style:{marginTop:"4px"}},s," · ",i.toLocaleString()),d&&e.createElement("div",{style:{marginTop:"2px",opacity:.8}},"Total: ",l.toLocaleString()))}},[d,l,u]),$=Pa({componentName:"StackedBarChart",data:S,accessors:{categoryAccessor:l,valueAccessor:u},requiredProps:{stackBy:d}});if($)return e.createElement(Ma,{componentName:"StackedBarChart",message:$,width:o,height:r});const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:S,oAccessor:l,rAccessor:u,type:"bar",projection:"horizontal"===p?"horizontal":"vertical",style:M,axes:P,hoverAnnotation:v,margin:z,oPadding:x,pieceIDAccessor:d},b&&{rExtent:[0,1]}),C&&{legend:C}),i&&{className:i}),c&&{title:c}),{tooltipContent:A?wa(A):N,transition:!0}),E);return e.createElement(po,Object.assign({},D))}function ho(t){const{data:n,width:o=600,height:r=400,margin:s,className:i,title:c,categoryAccessor:l="category",groupBy:d,valueAccessor:u="value",orientation:p="vertical",categoryLabel:y,valueLabel:m,valueFormat:h,colorBy:g,colorScheme:f="category10",barPadding:b=5,enableHover:x=!0,showGrid:v=!1,showLegend:k=!0,tooltip:j,frameProps:A={}}=t,E=n||[],S=g||d,O=va(E,S,f),w=a(()=>e=>{const t={};return t.fill=S?ha(e,S,O):ba,t},[S,O]),M=a(()=>{const e=[];return"vertical"===p?(e.push(Object.assign({orient:"left",label:m,tickFormat:h},v&&{tickLineGenerator:()=>null})),y&&e.push({orient:"bottom",label:y})):(y&&e.push({orient:"left",label:y}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:h},v&&{tickLineGenerator:()=>null}))),e},[p,y,m,h,v]),P=a(()=>{if(k)return ja({data:E,colorBy:S,colorScale:O,getColor:ha})},[k,E,S,O]),C=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),s);return P&&120>e.right&&(e.right=120),e},[s,P]),z=a(()=>{const t=xa(d),n=xa(l),a=xa(u);return o=>{const r=t(o)+"",s=n(o)+"",i=Number(a(o));return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},r),e.createElement("div",{style:{marginTop:"4px"}},s," · ",i.toLocaleString()))}},[d,l,u]),N=Pa({componentName:"GroupedBarChart",data:E,accessors:{categoryAccessor:l,valueAccessor:u},requiredProps:{groupBy:d}});if(N)return e.createElement(Ma,{componentName:"GroupedBarChart",message:N,width:o,height:r});const $=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:E,oAccessor:l,rAccessor:u,type:"clusterbar",projection:"horizontal"===p?"horizontal":"vertical",style:w,axes:M,hoverAnnotation:x,margin:C,oPadding:b,pieceIDAccessor:d},P&&{legend:P}),i&&{className:i}),c&&{title:c}),{tooltipContent:j?wa(j):z,transition:!0}),A);return e.createElement(po,Object.assign({},$))}function go(t){const{data:n,width:o=600,height:r=400,margin:s,className:i,title:c,categoryAccessor:l="category",valueAccessor:d="value",orientation:u="vertical",categoryLabel:p,valueLabel:y,valueFormat:m,colorBy:h,colorScheme:g="category10",sizeBy:f,sizeRange:b=[3,8],pointRadius:x=4,pointOpacity:v=.7,categoryPadding:k=20,enableHover:j=!0,showGrid:A=!1,showLegend:E,tooltip:S,frameProps:O={}}=t,w=n||[],M=va(w,h,g),P=a(()=>{if(!f)return;const e=w.map(e=>"function"==typeof f?f(e):e[f]);return[Math.min(...e),Math.max(...e)]},[w,f]),C=a(()=>e=>{const t={fillOpacity:v};return t.fill=h?ha(e,h,M):ba,t.r=f?fa(e,f,b,P):x,t},[h,M,f,b,P,x,v]),z=a(()=>{const e=[];return"vertical"===u?(e.push(Object.assign({orient:"left",label:y,tickFormat:m},A&&{tickLineGenerator:()=>null})),p&&e.push({orient:"bottom",label:p})):(p&&e.push({orient:"left",label:p}),e.push(Object.assign({orient:"bottom",label:y,tickFormat:m},A&&{tickLineGenerator:()=>null}))),e},[u,p,y,m,A]),N=void 0!==E?E:!!h,$=a(()=>{if(N&&h)return ja({data:w,colorBy:h,colorScale:M,getColor:ha})},[N,h,w,M]),D=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),s);return $&&120>e.right&&(e.right=120),e},[s,$]),F=a(()=>{const t=xa(d),n=xa(l);return a=>{const o=n(a),r=t(a),s=a.pieces||[],i=s.length>1;return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},o+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof r?r.toLocaleString():r+""),i&&e.createElement("div",{style:{marginTop:"2px",opacity:.8}},s.length," points in group"))}},[l,d]),T=Pa({componentName:"SwarmPlot",data:w,accessors:{categoryAccessor:l,valueAccessor:d}});if(T)return e.createElement(Ma,{componentName:"SwarmPlot",message:T,width:o,height:r});const L=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:w,oAccessor:l,rAccessor:d,type:"swarm",projection:"horizontal"===u?"horizontal":"vertical",style:C,axes:z,pieceHoverAnnotation:j,margin:D,oPadding:k},$&&{legend:$}),i&&{className:i}),c&&{title:c}),{tooltipContent:S?wa(S):F,transition:!0}),O);return e.createElement(po,Object.assign({},L))}function fo(t){const{data:n,width:o=600,height:r=400,margin:s,className:i,title:c,categoryAccessor:l="category",valueAccessor:d="value",orientation:u="vertical",categoryLabel:p,valueLabel:y,valueFormat:m,colorBy:h,colorScheme:g="category10",showOutliers:f=!0,outlierRadius:b=3,categoryPadding:x=20,enableHover:v=!0,showGrid:k=!1,showLegend:j,tooltip:A,frameProps:E={}}=t,S=n||[],O=va(S,h,g),w=a(()=>e=>{const t=h?ha(e,h,O):ba;return{fill:t,stroke:t,fillOpacity:.8}},[h,O]),M=a(()=>{if(f)return e=>{const t={r:b,fillOpacity:.6};return t.fill=h?ha(e,h,O):ba,t}},[f,b,h,O]),P=a(()=>{const e=[];return"vertical"===u?(e.push(Object.assign({orient:"left",label:y,tickFormat:m},k&&{tickLineGenerator:()=>null})),p&&e.push({orient:"bottom",label:p})):(p&&e.push({orient:"left",label:p}),e.push(Object.assign({orient:"bottom",label:y,tickFormat:m},k&&{tickLineGenerator:()=>null}))),e},[u,p,y,m,k]),C=void 0!==j?j:!!h,z=a(()=>{if(C&&h)return ja({data:S,colorBy:h,colorScale:O,getColor:ha})},[C,h,S,O]),N=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),s);return z&&120>e.right&&(e.right=120),e},[s,z]),$=a(()=>{const t=xa(d);return n=>{const a=(n.pieces||[]).map(e=>Number(t(e))).filter(e=>!isNaN(e)).sort((e,t)=>e-t),o=a.length,r=e=>"number"==typeof e?e.toLocaleString():(null!=e?e:"")+"";let s=[];if(o>=2){const e=e=>{const t=e*(o-1),n=Math.floor(t);return a[n]+(a[Math.ceil(t)]-a[n])*(t-n)};s=[{label:"Max",value:r(a[o-1]),active:"max"===n.summaryPieceName},{label:"Third Quartile",value:r(e(.75)),active:"q3area"===n.summaryPieceName},{label:"Median",value:r(e(.5)),active:"median"===n.summaryPieceName},{label:"First Quartile",value:r(e(.25)),active:"q1area"===n.summaryPieceName},{label:"Min",value:r(a[0]),active:"min"===n.summaryPieceName}]}return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold",marginBottom:"4px"}},n.key+""),s.map(t=>e.createElement("div",{key:t.label,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontWeight:t.active?"bold":"normal"}},e.createElement("span",null,t.label),e.createElement("span",null,t.value))),o>0&&e.createElement("div",{style:{marginTop:"4px",opacity:.6,fontSize:"0.9em"}},"n=",o))}},[d]),D=Pa({componentName:"BoxPlot",data:S,accessors:{categoryAccessor:l,valueAccessor:d}});if(D)return e.createElement(Ma,{componentName:"BoxPlot",message:D,width:o,height:r});const F=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:S,oAccessor:l,rAccessor:d,summaryType:{type:"boxplot",outliers:f},summaryStyle:w,projection:"horizontal"===u?"horizontal":"vertical",axes:P,summaryHoverAnnotation:v,margin:N,oPadding:x},M&&{pointStyle:M}),z&&{legend:z}),i&&{className:i}),c&&{title:c}),{tooltipContent:A?wa(A):$,transition:!0}),E);return e.createElement(po,Object.assign({},F))}function bo(t){const{data:n,width:o=600,height:r=400,margin:s,className:i,title:c,categoryAccessor:l="category",valueAccessor:d="value",orientation:u="horizontal",categoryLabel:p,valueLabel:y,valueFormat:m,colorBy:h,colorScheme:g="category10",sort:f=!0,dotRadius:b=5,categoryPadding:x=10,enableHover:v=!0,showGrid:k=!0,showLegend:j,tooltip:A,frameProps:E={}}=t,S=n||[],O=ka(S,f,d),w=va(S,h,g),M=a(()=>e=>{const t={r:b,fillOpacity:.8};return t.fill=h?ha(e,h,w):ba,t},[h,w,b]),P=a(()=>{const e=[];return"horizontal"===u?(p&&e.push({orient:"left",label:p}),e.push(Object.assign({orient:"bottom",label:y,tickFormat:m},k&&{tickLineGenerator:()=>null}))):(e.push(Object.assign({orient:"left",label:y,tickFormat:m},k&&{tickLineGenerator:()=>null})),p&&e.push({orient:"bottom",label:p})),e},[u,p,y,m,k]),C=void 0!==j?j:!!h,z=a(()=>{if(C&&h)return ja({data:O,colorBy:h,colorScale:w,getColor:ha})},[C,h,O,w]),N=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:120,right:40}),s);return z&&120>e.right&&(e.right=120),e},[s,z]),$=a(()=>t=>{const n="function"==typeof l?l(t):t[l],a="function"==typeof d?d(t):t[d];return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},n+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof a?a.toLocaleString():a+""))},[l,d]),D=Pa({componentName:"DotPlot",data:S,accessors:{categoryAccessor:l,valueAccessor:d}});if(D)return e.createElement(Ma,{componentName:"DotPlot",message:D,width:o,height:r});const F=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:O,oAccessor:l,rAccessor:d,type:"point",projection:"horizontal"===u?"horizontal":"vertical",style:M,axes:P,pieceHoverAnnotation:v,margin:N,oPadding:x},z&&{legend:z}),i&&{className:i}),c&&{title:c}),{tooltipContent:A?wa(A):$,transition:!0}),E);return e.createElement(po,Object.assign({},F))}function xo(t){const{data:n,width:o=400,height:r=400,margin:s,className:i,title:c,categoryAccessor:l="category",valueAccessor:d="value",colorBy:u,colorScheme:p="category10",startAngle:y=0,slicePadding:m=2,enableHover:h=!0,showLegend:g=!0,tooltip:f,frameProps:b={}}=t,x=n||[],v=u||l,k=va(x,v,p),j=a(()=>e=>{const t={};return t.fill=v?ha(e,v,k):ba,t},[v,k]),A=a(()=>{if(g)return ja({data:x,colorBy:v,colorScale:k,getColor:ha})},[g,x,v,k]),E=a(()=>{const e=Object.assign(Object.assign({},{top:20,bottom:20,left:20,right:20}),s);return A&&120>e.right&&(e.right=120),e},[s,A]),S=a(()=>{const e={type:"bar"};return y&&(e.offsetAngle=y),e},[y]),O=a(()=>t=>{const n="function"==typeof l?l(t):t[l],a="function"==typeof d?d(t):t[d];return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},n+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof a?a.toLocaleString():a+""))},[l,d]),w=Pa({componentName:"PieChart",data:x,accessors:{categoryAccessor:l,valueAccessor:d}});if(w)return e.createElement(Ma,{componentName:"PieChart",message:w,width:o,height:r});const M=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:x,oAccessor:l,rAccessor:d,type:S,projection:"radial",style:j,hoverAnnotation:h,margin:E,oPadding:m},A&&{legend:A}),i&&{className:i}),c&&{title:c}),{tooltipContent:f?wa(f):O,transition:!0}),b);return e.createElement(po,Object.assign({},M))}function vo(t){const{data:n,width:o=400,height:r=400,margin:s,className:i,title:c,categoryAccessor:l="category",valueAccessor:d="value",innerRadius:u=60,centerContent:p,colorBy:y,colorScheme:m="category10",startAngle:h=0,slicePadding:g=2,enableHover:f=!0,showLegend:b=!0,tooltip:x,frameProps:v={}}=t,k=n||[],j=y||l,A=va(k,j,m),E=a(()=>e=>{const t={};return t.fill=j?ha(e,j,A):ba,t},[j,A]),S=a(()=>{if(b)return ja({data:k,colorBy:j,colorScale:A,getColor:ha})},[b,k,j,A]),O=a(()=>{const e=Object.assign(Object.assign({},{top:20,bottom:20,left:20,right:20}),s);return S&&120>e.right&&(e.right=120),e},[s,S]),w=a(()=>{const e={type:"bar",innerRadius:u};return h&&(e.offsetAngle=h),e},[u,h]),M=a(()=>{if(p)return e.createElement("foreignObject",{x:o/2-u,y:r/2-u,width:2*u,height:2*u},e.createElement("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",textAlign:"center"}},p))},[p,o,r,u]),P=a(()=>t=>{const n="function"==typeof l?l(t):t[l],a="function"==typeof d?d(t):t[d];return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},n+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof a?a.toLocaleString():a+""))},[l,d]),C=Pa({componentName:"DonutChart",data:k,accessors:{categoryAccessor:l,valueAccessor:d}});if(C)return e.createElement(Ma,{componentName:"DonutChart",message:C,width:o,height:r});const z=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:k,oAccessor:l,rAccessor:d,type:w,projection:"radial",style:E,hoverAnnotation:f,margin:O,oPadding:g},S&&{legend:S}),M&&{foregroundGraphics:M}),i&&{className:i}),c&&{title:c}),{tooltipContent:x?wa(x):P,transition:!0}),v);return e.createElement(po,Object.assign({},z))}const ko=({d:t,i:n,styleFn:a,key:o,className:r,transform:s})=>{const i=a(t,n);return e.createElement("rect",Object.assign({key:o,transform:s,width:2*t.nodeSize,height:2*t.nodeSize,ry:2*t.nodeSize,rx:2*t.nodeSize,x:-t.nodeSize,y:-t.nodeSize},i,{style:i,className:r,"aria-label":"Node "+t.id,tabIndex:-1}))},jo=e=>({x:-e/2,y:-e/2,width:e,height:e}),Ao=({d:t,styleFn:n,key:a,className:o,transform:r})=>{const s="down"!==t.direction?t.height:t.width,i="down"!==t.direction?t.width:t.height;return t?e.createElement("rect",{key:a,className:o,transform:r,height:s,width:i,x:-i/2,y:-s/2,rx:0,ry:0,style:n(t),"aria-label":"Node "+t.id,tabIndex:-1}):e.createElement("g",null)},Eo=({d:t,i:n,styleFn:a,key:o,className:r})=>t?e.createElement("rect",{key:o,transform:"translate(0,0)",width:t.x1-t.x0,height:t.y1-t.y0,x:t.x0,y:t.y0,rx:0,ry:0,style:a(t,n),className:r,"aria-label":"Node "+t.id,tabIndex:-1}):e.createElement("g",null),So=p().curve(x).x(e=>e.x).y(e=>e.y),Oo=p().curve(b).x(e=>e.x).y(e=>e.y);function wo(e,t,n){if(e.circular&&!t.circular)return-1;if(t.circular&&!e.circular)return 1;const a="down"===n?"y":"x",o="down"===n?"x":"y";return e.source[a]===t.source[a]?e.sankeyWidth===t.sankeyWidth?e.source[o]-t.source[o]:t.sankeyWidth-e.sankeyWidth:e.source[a]-t.source[a]}const Mo={horizontal:w().x(e=>e.x).y(e=>e.y),vertical:O().x(e=>e.x).y(e=>e.y),radial:ve.lineArc},Po={curve:(e,t="vertical")=>Mo[t](e),linearc:e=>ve.lineArc(e),ribbon:e=>ve.ribbon(e,e.width),arrowhead:e=>ve.arrowHead(e,e.target.nodeSize,e.width,1.5*e.width),halfarrow:e=>ve.halfArrow(e,e.target.nodeSize,e.width,1.5*e.width),nail:e=>ve.nail(e,e.source.nodeSize),comet:e=>ve.comet(e,e.target.nodeSize),taffy:e=>ve.taffy(e,e.source.nodeSize/2,e.target.nodeSize/2,(e.source.nodeSize+e.target.nodeSize)/4)},Co=e=>`M${e.source.x},${e.source.y}L${e.target.x},${e.target.y}`,zo=t=>{const{d:n,width:a,edgeLength:o,circular:r}=t,s=c(null);return i(()=>{if(null==s?void 0:s.current){const e=Math.max(Math.min(a,r?a:o)/5,2);let t=ke().arrowLength(2.5*e).gapLength(100).arrowHeadSize(e).path(n);T(s.current).selectAll("*").remove(),T(s.current).call(t),T(s.current).selectAll(":not(.arrow-head)").style("fill","none").style("stroke-width",e/4).style("stroke","white"),T(s.current).selectAll(".arrow-head").style("fill","white")}},[n]),e.createElement("g",{ref:s})},No=t=>{const{d:n,i:a,styleFn:o,key:r,className:s,generatedPath:i}=t,{showArrows:c}=n;let l="";if(n.circular){const{circularPathData:e}=n,{sourceX:t,sourceY:a,leftFullExtent:o,rightFullExtent:r,verticalFullExtent:s,targetX:i,targetY:c}=e;l=`M${t},${a}L${o},${a}L${o},${s}L${r},${s}L${r},${c}L${i},${c}`}else{let e=n.source.x1,t=n.target.x0,a=je(e,t),o=a(.5),r=a(.5),s=n.y0,i=n.y1;l=`M${e},${s}C${o},${s} ${r},${i} ${t},${i}`}return e.createElement(e.Fragment,{key:r},e.createElement("path",{className:s,d:i,style:o(n,a),"aria-label":`Connection from ${n.source.id} to ${n.target.id}`,tabIndex:-1}),c&&e.createElement(zo,{d:l,width:n.sankeyWidth,edgeLength:Math.abs(n.target.x-n.source.x),circular:n.circular}))},$o=(e,t,n,a)=>{if(e.children)for(const o of e.children){const e=t.filter(e=>e[1]===o.id);for(const t of e){const e=a.find(e=>n(e)===t[0])||{},r=Object.assign(Object.assign({id:t[0]},e),{children:[],childMap:{}});o.childMap.set(t[0],r),o.children.push(r)}o.children.length>0&&$o(o,t,n,a)}},Do=({data:e,renderKeyFn:t,customMark:n,styleFn:a,classFn:o,renderMode:r,canvasDrawing:s,canvasRenderFn:i,networkSettings:c})=>{const l=n,d=[];if("matrix"!==c.type||!i){if(c){let n=0;for(const c of e){const e=l({d:c,i:n,renderKeyFn:t,styleFn:a,classFn:o,renderMode:r,key:t?t(c,n):c.id||"node-"+n,className:"node "+o(c,n),transform:`translate(${c.x},${c.y})`});if(i&&!0===i(c,n)){const{transform:t="translate(0,0)"}=e.props,[i,l]=t.replace("translate(","").replace(")","").split(","),d={baseClass:"frame-piece",tx:i,ty:l,d:c,i:n,markProps:Object.assign({markType:"string"==typeof e.type?e.type:e.props.markType},e.props),styleFn:a,renderFn:r,classFn:o};s.push(d)}else d.push(e);n++}}return d}},Fo=t=>{const{data:n,renderKeyFn:a,customMark:o,styleFn:r,classFn:s,renderMode:i,canvasRenderFn:c,canvasDrawing:l,type:d,networkSettings:u,projection:p,numberOfNodes:y,size:m}=t,{type:h,direction:g,edgeSort:f=wo}=u,b="sankey"===h?n.sort((e,t)=>f(e,t,g)):n;let x=Co;const v=[];if(c&&"matrix"===u.type){let e=0;const t=Math.floor(Math.min(...m)/y);for(const n of b){const a={baseClass:"frame-piece",tx:n.source.y,ty:n.target.y,d:n,i:e,markProps:Object.assign({markType:"rect"},jo(t)),styleFn:r,renderFn:i,classFn:s};l.push(a),e++}}else if(o){d&&("function"==typeof d?x=d:Po[d]&&(x=e=>Po[d](e,p)));let e=0;for(const t of b){const n=o({d:t,i:e,renderKeyFn:a,styleFn:r,classFn:s,renderMode:i,key:a?a(t,e):"edge-"+e,className:s(t,e)+" edge",transform:`translate(${t.x},${t.y})`,generatedPath:x(t)});n&&n.props&&("path"!==n.props.markType||n.props.d)&&v.push(n),e++}}else{d&&("function"==typeof d?x=d:Po[d]&&(x=e=>Po[d](e,p)));let t=0;for(const n of b){const o=x(n);o&&c&&!0===c(n,t)?l.push({baseClass:"frame-piece",tx:n.x,ty:n.y,d:n,i:t,markProps:{markType:"path",d:o},styleFn:r,renderFn:i,classFn:s}):o&&v.push(e.createElement("path",{key:a?a(n,t):"edge-"+t,className:s(n)+" edge",d:o,style:r(n,t),tabIndex:-1,role:"img","aria-label":`connection from ${n.source.id} to ${n.target.id}`}))}}return v},To=[],Lo={id:void 0,degree:0,inDegree:0,outDegree:0,x:0,y:0,x1:0,x0:0,y1:0,y0:0,height:0,width:0,radius:0,r:0,direction:void 0,textHeight:0,textWidth:0,fontSize:0,scale:1,nodeSize:0,component:-99,shapeNode:!1},Ro={hierarchicalNetwork:!1},Bo={nodeHash:new Map,edgeHash:new Map,nodes:[],edges:[],hierarchicalNetwork:!1,type:"force"},Vo={dendrogram:Q,tree:Q,circlepack:Z,cluster:K,treemap:q,partition:X},Wo=({projectedNodes:e,projectedEdges:t})=>(e.forEach(e=>{e.x=void 0===e.x?(e.x0+e.x1)/2:e.x,e.y=void 0===e.y?e.y0:e.y}),{projectedNodes:e,projectedEdges:t}),Io={tree:Wo,dendrogram:Wo,cluster:Wo,treemap:Wo,circlepack:Wo,partition:Wo},Go={left:Me,right:we,center:Oe,justify:Se},_o=({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a,nodeIDAccessor:o})=>{const{orient:r="center",iterations:s=100,nodePadding:i,nodePaddingRatio:c=(i?void 0:.5),nodeWidth:l=("flowchart"===n.type?2:24),customSankey:d,direction:u="right",showArrows:p=!1}=n,y=Go[r],m=d||Pe;let h=[[0,0],a];"up"!==n.direction&&"down"!==n.direction||(h=[[0,0],[a[1],a[0]]]);let g=t;const f=e.some(e=>!e.createdByFrame&&e.value>0);if(f){const n=new Map;for(const e of t)n.has(e.source.id)||n.set(e.source.id,{source:0,target:0}),n.has(e.target.id)||n.set(e.target.id,{source:0,target:0}),n.get(e.source.id).source+=e.value,n.get(e.target.id).target+=e.value;for(const a of e)if(!a.createdByFrame){let e=0;n.has(a.id)&&(e=Math.max(n.get(a.id).source,n.get(a.id).target)),a.value>e&&t.push({source:a,target:a,value:a.value-e,ephemeral:!0})}}const b=m().extent(h).links(t).nodes(e).nodeAlign(y).nodeId(o).nodeWidth(l).iterations(s);f&&(g=t.filter(e=>!e.ephemeral)),b.nodePaddingRatio&&c?b.nodePaddingRatio(c):i&&b.nodePadding(i),b(),e.forEach(e=>{e.height=e.y1-e.y0,e.width=e.x1-e.x0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2,e.radius=e.height/2,e.direction=u});const x=f?g:t;return x.forEach(e=>{e.showArrows=p,e.sankeyWidth=e.width,e.direction=u,e.width=void 0}),{projectedNodes:e,projectedEdges:x}};function Ho(t,n,a,o){if(t)return t;const r=[a[0]/2,a[1]/2];switch(n.type){case"sankey":return Ao;case"partition":case"treemap":return"radial"===n.projection?((t,n,a)=>{const o=m(),{angleRange:r=[0,360]}=a,s=r.map(e=>e/360),i=1>s[1]-s[0]?M().domain([0,1]).range(s):e=>e;return({d:a,i:r,styleFn:s,key:c,className:l})=>a?(o.innerRadius(a.y0/2).outerRadius(a.y1/2),e.createElement("path",{key:c,transform:`translate(${n})`,d:o({startAngle:i(a.x0/t[0])*Math.PI*2,endAngle:i(a.x1/t[0])*Math.PI*2}),style:s(a,r),className:l,"aria-label":"Node "+a.id,tabIndex:-1})):e.createElement("g",null)})(a,r,n):Eo;case"circlepack":return ko;case"chord":return(t=>({d:n,i:a,styleFn:o,key:r,className:s})=>n?e.createElement("path",{key:r,className:s,transform:`translate(${t[0]/2},${t[1]/2})`,d:n.d,style:o(n,a),"aria-label":"Node "+n.id,tabIndex:-1}):e.createElement("g",null))(a);case"dagre":return Eo;case"matrix":return((t,n)=>{const a=Math.min(...t),o=a/(n.length+1);return({d:t,i:r,styleFn:s,renderMode:i,key:c,className:l})=>{if(!t)return e.createElement("g",null);const d=o>6,u=o>3,p=o>.5,y={textAnchor:"end",fontSize:o/2+"px"},m=s(t,r);return i&&i(t,r),e.createElement("g",{key:c,className:l},p&&e.createElement("rect",{x:o/2,y:t.y-o/2,width:a-o,height:o,style:Object.assign(Object.assign({},m),{stroke:"none"})}),p&&e.createElement("rect",{y:o/2,x:t.y-o/2,height:a-o,width:o,style:Object.assign(Object.assign({},m),{stroke:"none"})}),u&&e.createElement("line",{stroke:"black",x1:0,x2:a-o/2,y1:t.y-o/2,y2:t.y-o/2,style:m}),u&&e.createElement("line",{stroke:"black",y1:0,y2:a-o/2,x1:t.y-o/2,x2:t.y-o/2,style:m}),u&&r===n.length-1&&e.createElement("line",{stroke:"black",x1:0,x2:a-o/2,y1:t.y+o/2,y2:t.y+o/2,style:m}),u&&r===n.length-1&&e.createElement("line",{stroke:"black",y1:0,y2:a-o/2,x1:t.y+o/2,x2:t.y+o/2,style:m}),d&&e.createElement("text",Object.assign({x:0,y:t.y+o/5},y),t.id),d&&e.createElement("text",Object.assign({transform:`translate(${t.y}) rotate(90) translate(0,${o/5})`},y,{y:0}),t.id))}})(a,o)}return ko}const Yo=e=>({edge:e,x:(e.source.x+e.target.x)/2,y:(e.source.y+e.target.y)/2}),Xo={sankey:e=>({edge:e,x:(e.source.x1+e.target.x0)/2,y:e.circularPathData?e.circularPathData.verticalFullExtent:((e.y0+e.y1)/2+(e.y0+e.y1)/2)/2}),force:Yo,tree:Yo,cluster:Yo,matrix:e=>({edge:e,x:e.source.y,y:e.target.y})},qo={partition:!0,cluster:!0,tree:!0,dendrogram:!0},Ko={partition:!0,cluster:!0,tree:!0,dendrogram:!0};function Zo(e,t,n){return t.parent&&(n=`${n}-${Zo(e,Object.assign(Object.assign({},t.parent),t.parent.data),n)}`),`${n}-${e(Object.assign(Object.assign({},t),t.data))}`}const Qo=e=>e.id||e.descendantIndex,Uo=(t,n,a,o)=>{const{graph:r,nodes:s=(Array.isArray(r)||"function"==typeof r?To:r&&r.nodes||To),edges:i=("function"==typeof r?To:Array.isArray(r)?r:r&&r.edges||To),networkType:c,size:l,nodeStyle:d,nodeClass:u,canvasNodes:y,edgeStyle:m,edgeClass:h,canvasEdges:g,nodeRenderMode:f,edgeRenderMode:b,nodeLabels:x,title:v,margin:k,hoverAnnotation:A,customNodeIcon:E,customEdgeIcon:S,filterRenderedNodes:O}=t;let w,{edgeType:P}=t;const C={};let z=["type"];"string"==typeof c?w=Object.assign(Object.assign({type:c},Ro),{graphSettings:Bo}):(c&&(z=Object.keys(c)),w=Object.assign(Object.assign(Object.assign({type:"force"},Ro),c),{graphSettings:Bo})),"vertical"===w.projection&&"sankey"===w.type&&(w.direction="down"),z.push("height","width");const N="object"!=typeof v||e.isValidElement(v)||null===v?{title:v,orient:"top"}:v,{margin:$,adjustedPosition:D,adjustedSize:F}=a.marginCalc(k,N,l);w.graphSettings.nodes=s,w.graphSettings.edges=i,w.graphSettings.filterRenderedNodes=O;let{edgeHash:T,nodeHash:L}=w.graphSettings;const R="treemap"===w.type||"partition"===w.type||"sankey"===w.type,B=a.accessorConversions(t.nodeIDAccessor,t.sourceAccessor,t.targetAccessor,t.nodeSizeAccessor,t.edgeWidthAccessor),W=B.nodeIDAccessor,G=B.sourceAccessor,_=B.targetAccessor,H=B.nodeSizeAccessor,Y=B.edgeWidthAccessor,{nodeStyleFn:X,nodeClassFn:q,nodeRenderModeFn:K,nodeCanvasRenderFn:Z}=a.nodeStyleFns(d,u,f,y);let{projectedNodes:Q,projectedEdges:J}=n;const ee="string"==typeof w.type&&Vo[w.type],te=!n.projectedNodes||!n.projectedEdges||n.graphSettings.nodes!==s||n.graphSettings.edges!==i||ee||n.graphSettings.filterRenderedNodes!==O;if("dagre"===w.type){const e=r,t=new Map;Q=e.nodes().map(n=>{const a=e.node(n),o=Object.assign(Object.assign({},a),{x0:a.x-a.width/2,x1:a.x+a.width/2,y0:a.y-a.height/2,y1:a.y+a.height/2,id:n,shapeNode:!0,sourceLinks:[],targetLinks:[]});return t.set(n,o),o}),J=e.edges().map(n=>{const a=e.edge(n),o=Object.assign(Object.assign({},a),{points:a.points.map(e=>Object.assign({},e))});return o.source=Q.find(e=>e.id===n.v),o.target=Q.find(e=>e.id===n.w),o.points.unshift({x:o.source.x,y:o.source.y}),o.points.push({x:o.target.x,y:o.target.y}),t.get(n.v).targetLinks.push(o),t.get(n.w).sourceLinks.push(o),o})}else if(te){const e=Q;T=new Map,L=new Map,w.graphSettings.edgeHash=T,w.graphSettings.nodeHash=L,Q=[],J=[];const t="function"==typeof w.fixExistingNodes?w.fixExistingNodes:!!w.fixExistingNodes&&(()=>!0);s.forEach(n=>{const a=Object.assign({},n),o=W(a),r=e.find(e=>e.id===o),s=r||{x:void 0,y:void 0};L.set(o,a),L.set(n,a),Q.push(a),a.id=o,a.inDegree=0,a.outDegree=0,a.degree=0,a.x=s.x,a.y=s.y,r&&t&&t(r)&&(a.fx=r.x,a.fy=r.y)});let n=i,a=i;if(ee&&Array.isArray(i)){const e=((e,t,n,a,o)=>{let r={id:"root-generated",children:[],childMap:new Map};const s=new Map,i=new Map;let c=!0,l=!0;for(let t=0;e.length>t;t++){const r=e[t],c=n(r),d=a(r),u="object"==typeof c?o(c):c,p="object"==typeof d?o(d):d;if(i.set(p,u),s.has(u)){l=!1;break}s.set(u,p)}if(l){const e=[];for(const n of s){e.push(n);const a=n[1];if(!s.has(a)){s.set(a,"root-generated");const e=t.find(e=>o(e)===a)||{},n=Object.assign(Object.assign({id:a},e),{children:[],childMap:new Map});r.childMap.set(a,n),r.children.push(n)}}return $o(r,e,o,t),t.forEach(e=>{const t=o(e);s.has(t)||i.has(t)||r.children.push(Object.assign(Object.assign({id:t},e),{children:[],childMap:new Map}))}),1===r.children.length&&(r=r.children[0],c=!1),{hierarchy:r,isHierarchical:!0,hasLogicalRoot:c}}return{hierarchy:{},isHierarchical:!1,hasLogicalRoot:!1}})(i,s,G,_,W);e.isHierarchical?(a=e.hierarchy,Q=[]):(console.error("You've sent an edge list that is not strictly hierarchical (there are nodes with multiple parents) defaulting to force-directed network layout"),w.type="force")}if(!Array.isArray(a)){w.hierarchicalNetwork=!0;const e=U(a,w.hierarchyChildren);if(e.sum(w.hierarchySum||(e=>e.value)),ee){const t=(w.layout||ee)(),n=Object.keys(w);"dendrogram"!==w.type&&"tree"!==w.type&&"cluster"!==w.type||!t.separation||t.separation((e,t)=>(H(Object.assign(Object.assign({},e),e.data))||1)+(w.nodePadding||0)+(H(Object.assign(Object.assign({},t),t.data))||1)),n.forEach(e=>{t[e]&&t[e](w[e])}),!w.nodeSize&&t.size&&t.size("horizontal"===w.projection&&ee?[F[1],F[0]]:F),t(e)}n=((e,t=Qo)=>{var n,a;const o=[],r=[],s=(e.descendants?e:U(e)).descendants();let i=0;for(const e of s)e.descendantIndex=i,i++;for(const e of s){const s=`${null!==(n=t(Object.assign(Object.assign({},e),e.data)))&&void 0!==n?n:Qo(e)}-${e.parent?null!==(a=Zo(t,Object.assign(Object.assign({},e.parent),e.parent.data),""))&&void 0!==a?a:e.parent.name:"root"}`,i=Object.assign(e,e.data||{},{hierarchicalID:s});if(r.push(i),null!==e.parent){const t=Object.assign(e.parent,e.parent.data||{});o.push({source:t,target:i,depth:e.depth,weight:1,value:1,_NWFEdgeKey:s})}}return{edges:o,nodes:r}})(e,W).edges}Lo.shapeNode=R,Array.isArray(n)&&n.forEach(e=>{const t=G(e),n=_(e);[t,n].forEach(e=>{if(!L.get(e)){const t=Object.assign(Object.assign({},Lo),"object"==typeof e?e:{id:e,createdByFrame:!0}),n=t.id||W(t);C[n]?C[n]+=1:C[n]=1,t.id||(t.id=`${n}${1===C[n]?"":"-"+C[n]}`),L.set(e,t),Q.push(t)}});const a=e.weight||1,o=L.get(t),r=L.get(n);r.inDegree+=a,o.outDegree+=a,r.degree+=a,o.degree+=a;const s=`${W(o)||t}|${W(r)||n}`,i=Object.assign({},e,{source:L.get(t),target:L.get(n)});T.set(s,i),J.push(i),"matrix"===w.type&&J.push(Object.assign(Object.assign({},i),{source:i.target,target:i.source}))})}else T=new Map,w.graphSettings.edgeHash=T,J.forEach(e=>{const t="string"==typeof e.source?e.source:W(e.source),n="string"==typeof e.target?e.target:W(e.target);T.set(`${t}|${n}`,e)});const ne=Ho(E,w,F,Q),ae=function({baseCustomEdgeIcon:t,networkSettings:n,size:a,graph:o,nodes:r}){if(t)return t;switch(n.type){case"partition":case"treemap":case"circlepack":return()=>null;case"chord":return(t=>({d:n,i:a,styleFn:o,key:r,className:s})=>e.createElement("path",{key:r,className:s,transform:`translate(${t[0]/2},${t[1]/2})`,d:n.d,style:o(n,a),"aria-label":`Connection from ${n.source.id} to ${n.target.id}`,tabIndex:-1}))(a);case"matrix":return((t,n)=>({d:a,i:o,styleFn:r,key:s,className:i})=>{const c=Math.min(...t)/n.length,l=r(a,o);return e.createElement("g",{key:s},e.createElement("rect",Object.assign({key:s,className:i,transform:`translate(${a.source.y},${a.target.y})`},l,{style:l,"aria-label":`Connection from ${a.source.id} to ${a.target.id}`,tabIndex:-1},jo(c))))})(a,r);case"arc":return(t=>{const n=t[1]/t[0];function a(e){return p().curve(j)([[e.source.x,0],[(e.source.x+e.target.x)/2,(e.source.x-e.target.x)*n],[e.target.x,0]])}return({d:n,i:o,styleFn:r,key:s,className:i})=>{const c=r(n,o);return e.createElement("path",Object.assign({key:s,className:i,transform:`translate(0,${t[1]/2})`,d:a(n)},c,{style:c,"aria-label":`Connection from ${n.source.id} to ${n.target.id}`,tabIndex:-1}))}})(a);case"dagre":if(o)return(t=>{const n="LR"===t||"RL"===t?So:Oo;return({d:t,i:a,styleFn:o,key:r,className:s})=>{if(t.ribbon||t.parallelEdges){const n=ft();if(n.x(e=>e.x),n.y(e=>e.y),n.r(()=>t.weight||1),t.parallelEdges){const i=t.parallelEdges.sort((e,t)=>t.weight-e.weight);return e.createElement("g",{key:""+r},n({points:t.points,multiple:t.parallelEdges}).map((n,c)=>e.createElement("path",{key:`${r}-${c}`,className:s,d:n,style:o(i[c],a),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1})))}return e.createElement("path",{key:r,className:s,d:n(t.points),style:o(t,a),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1})}return e.createElement("path",{key:r,className:s,d:n(t.points),style:o(t,a),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1})}})(o.graph().rankdir);case"sankey":return No}}({baseCustomEdgeIcon:S,networkSettings:w,size:F,nodes:Q,graph:r});w.width=l[0],w.height=l[1];let oe,re=!1;if(z.forEach(e=>{"edgeType"!==e&&"graphSettings"!==e&&w[e]!==n.graphSettings[e]&&(re=!0)}),"sankey"===w.type?P=e=>e.circular?function(e){const t=ft();return t.x(e=>e.x),t.y(e=>e.y),t.r(()=>e.sankeyWidth/2),t("down"===e.direction?[{x:e.circularPathData.sourceY,y:e.circularPathData.sourceX},{x:e.circularPathData.sourceY,y:e.circularPathData.leftFullExtent},{x:e.circularPathData.verticalFullExtent,y:e.circularPathData.leftFullExtent},{x:e.circularPathData.verticalFullExtent,y:e.circularPathData.rightFullExtent},{x:e.circularPathData.targetY,y:e.circularPathData.rightFullExtent},{x:e.circularPathData.targetY,y:e.circularPathData.targetX}]:[{x:e.circularPathData.sourceX,y:e.circularPathData.sourceY},{x:e.circularPathData.leftFullExtent,y:e.circularPathData.sourceY},{x:e.circularPathData.leftFullExtent,y:e.circularPathData.verticalFullExtent},{x:e.circularPathData.rightFullExtent,y:e.circularPathData.verticalFullExtent},{x:e.circularPathData.rightFullExtent,y:e.circularPathData.targetY},{x:e.circularPathData.targetX,y:e.circularPathData.targetY}])}(e):"angled"===P?(e=>{const t=Math.abs("down"===e.direction?e.target.y-e.source.y:e.source.x-e.target.x),n="down"===e.direction?[{x:e.y0,y:e.source.y},{x:e.y0,y:e.source.y+t/3},{x:e.y1,y:e.target.y-t/3},{x:e.y1,y:e.target.y}]:[{x:e.source.x0,y:e.y0},{x:e.source.x0+t/3,y:e.y0},{x:e.target.x0-t/3,y:e.y1},{x:e.target.x0,y:e.y1}],a=ft();return a.x(e=>e.x),a.y(e=>e.y),a.r(()=>e.sankeyWidth/2),a(n)})(e):(e=>{let t,n,a,o,r,s,i,c,l;return"down"===e.direction?(t=e.y0-e.sankeyWidth/2,n=e.y1-e.sankeyWidth/2,a=e.y1+e.sankeyWidth/2,o=e.y0+e.sankeyWidth/2,r=e.source.y1,s=e.target.y0,i=je(r,s),c=i(.5),l=i(.5),`M${t},${r}C${t},${c} ${n},${l} ${n},${s}L${a},${s}C${a},${l} ${o},${c} ${o},${r}Z`):(t=e.source.x1,n=e.target.x0,i=je(t,n),a=i(.5),o=i(.5),r=e.y0-e.sankeyWidth/2,s=e.y1-e.sankeyWidth/2,c=e.y1+e.sankeyWidth/2,l=e.y0+e.sankeyWidth/2,`M${t},${r}C${a},${r} ${o},${s} ${n},${s}L${n},${c}C${o},${c} ${a},${l} ${t},${l}Z`)})(e):ee&&Q.forEach(e=>{if(R&&(e.x=(e.x0+e.x1)/2,e.y=(e.y0+e.y1)/2),"string"==typeof w.type&&qo[w.type]&&"horizontal"===w.projection){const t=e.x;if(e.x=e.y,e.y=t,R){const t=e.x0,n=e.x1;e.x0=e.y0,e.x1=e.y1,e.y0=t,e.y1=n}}else if("string"==typeof w.type&&Ko[w.type]&&"radial"===w.projection){const t=0===e.depth?[F[0]/2,F[1]/2]:wt([F[0]/2,F[1]/2],e.x/F[0],e.y/2);e.x=t[0],e.y=t[1]}else e.x=e.x,e.y=e.y,R&&(e.x0=e.x0,e.x1=e.x1,e.y0=e.y0,e.y1=e.y1)}),"static"!==w.type&&(te||re)){const e=null==o?void 0:o["string"==typeof w.type?w.type:"custom"];if(e){const t=e({projectedNodes:Q,projectedEdges:J,networkSettings:w,adjustedSize:F,edgeHash:T,nodeIDAccessor:W,edgeWidthAccessor:Y,nodeSizeAccessor:H,size:l});Q=t.projectedNodes,J=t.projectedEdges}else"function"==typeof w.type?w.type({nodes:Q,edges:J}):Q.forEach(e=>{e.x=void 0===e.x?(e.x0+e.x1)/2:e.x,e.y=void 0===e.y?e.y0:e.y});n.graphSettings.nodes=t.nodes,n.graphSettings.edges=t.edges}if(Q=Q.filter(O),J=J.filter(e=>-1!==Q.indexOf(e.target)&&-1!==Q.indexOf(e.source)),"flip"===w.direction)Q.forEach(e=>{e.x=F[0]-e.x,e.y=F[1]-e.y});else if("up"===w.direction||"down"===w.direction){const e="up"===w.direction?e=>F[1]-e:e=>e;Q.forEach(t=>{const n=t.x,a=t.x0,o=t.x1;t.x=e(t.y),t.x0=e(t.y0),t.x1=e(t.y1),t.y=n,t.y0=a,t.y1=o})}else"left"===w.direction&&Q.forEach(e=>{e.x=F[0]-e.x,e.x0=F[0]-e.x0,e.x1=F[0]-e.x1});if("function"==typeof w.zoom)w.zoom(Q,J,F);else if(!1!==w.zoom&&"matrix"!==w.type&&"chord"!==w.type&&"sankey"!==w.type&&"partition"!==w.type&&"treemap"!==w.type&&"circlepack"!==w.type&&"dagre"!==w.type){const e=I(Q.map(e=>e.x-H(e))),t=V(Q.map(e=>e.x+H(e))),n=I(Q.map(e=>e.y-H(e))),a=V(Q.map(e=>e.y+H(e))),o=Math.abs(t-e),r=Math.abs(a-n);let s,i;"stretch"===w.zoom?(s=0,i=0):o/r>F[0]/F[1]?(i=0,s=(F[1]-F[0]/o*r)/2):(s=0,i=(F[0]-F[1]/r*o)/2);const c=M().domain([e,t]).range([i,F[0]-i]),l=M().domain([n,a]).range([s,F[1]-s]);Q.forEach(e=>{e.x=c(e.x),e.y=l(e.y)})}else if(!1===w.zoom||"radial"===w.projection||"partition"!==w.type&&"treemap"!==w.type&&"dagre"!==w.type){if(!1!==w.zoom&&"sankey"===w.type&&J.some(e=>e.circular)){const e=J.filter(e=>e.circular),t=I(e,e=>e.circularPathData.rightFullExtent-e.sankeyWidth/2)||1/0,n=V(e,e=>e.circularPathData.leftFullExtent+e.sankeyWidth/2)||-1/0,a=I(e,e=>e.circularPathData.verticalFullExtent-e.sankeyWidth/2)||1/0,o=V(e,e=>e.circularPathData.verticalFullExtent+e.sankeyWidth/2)||-1/0,r=I(Q,e=>e.y0),s=V(Q,e=>e.y1),i=I(Q,e=>e.x0),c=V(Q,e=>e.x1),l=Math.min(t,i),d=Math.max(n,c),u=Math.min(a,r),p=Math.max(o,s),y=M().domain([l,d]).range([0,F[0]]),m=M().domain([u,p]).range([0,F[1]]),h=F[1]/(p-u);for(const e of Q)e.x=y(e.x),e.x0=y(e.x0),e.x1=y(e.x1),e.y=m(e.y),e.y0=m(e.y0),e.y1=m(e.y1),e.width=e.x1-e.x0,e.height=e.y1-e.y0;for(const e of J)e.circular?(e.circularPathData.sourceX=y(e.circularPathData.sourceX),e.circularPathData.sourceY=m(e.circularPathData.sourceY),e.circularPathData.leftFullExtent=y(e.circularPathData.leftFullExtent),e.circularPathData.verticalFullExtent=m(e.circularPathData.verticalFullExtent),e.circularPathData.rightFullExtent=y(e.circularPathData.rightFullExtent),e.circularPathData.targetX=y(e.circularPathData.targetX),e.circularPathData.targetY=m(e.circularPathData.targetY)):(e.y0=m(e.y0),e.y1=m(e.y1)),e.sankeyWidth=e.sankeyWidth*h}}else{const e=I(Q.map(e=>e.x0)),t=V(Q.map(e=>e.x1)),n=I(Q.map(e=>e.y0)),a=V(Q.map(e=>e.y1)),o=M().domain([e,t]).range([$.left,F[0]-$.right]),r=M().domain([n,a]).range([$.top,F[1]-$.bottom]);Q.forEach(e=>{e.x=o(e.x),e.y=r(e.y),e.x0=o(e.x0),e.y0=r(e.y0),e.x1=o(e.x1),e.y1=r(e.y1),e.zoomedHeight=e.y1-e.y0,e.zoomedWidth=e.x1-e.x0}),J.forEach(e=>{e.points&&e.points.forEach(e=>{e.x=o(e.x),e.y=r(e.y)})})}Q.forEach(e=>{e.nodeSize=H(e)}),J.forEach(e=>{e.width=Y(e)}),t.legend&&(oe=t.legend,!oe.legendGroups)&&(oe.legendGroups=[{styleFn:t.nodeStyle,type:"fill",items:[]}]);const se=a.edgeStyleFns(m,h,b,g),ie={edges:{accessibleTransform:(e,t)=>{const n=(e[t].source.x+e[t].target.x)/2,a=(e[t].source.y+e[t].target.y)/2;return Object.assign(Object.assign({type:"frame-hover"},e[t]),{x:n,y:a})},data:J,styleFn:se.edgeStyleFn,classFn:se.edgeClassFn,renderMode:se.edgeRenderModeFn,canvasRenderFn:se.edgeCanvasRenderFn,renderKeyFn:t.edgeRenderKey?t.edgeRenderKey:e=>e._NWFEdgeKey||e.key||`${e.source.id}-${e.target.id}`,behavior:Fo,projection:w.projection,type:P,customMark:ae,networkSettings:w,numberOfNodes:Q.length,size:F},nodes:{accessibleTransform:(e,t)=>Object.assign(Object.assign({type:"frame-hover"},e[t]),e[t].data||{}),data:Q,styleFn:X,classFn:q,renderMode:K,canvasRenderFn:Z,customMark:ne,behavior:Do,renderKeyFn:t.nodeRenderKey,networkSettings:w}},ce=[];let le;t.nodeLabels&&Q&&Q.forEach((t,n)=>{const a=x&&!0!==x&&x(t);if(!0===x||a){const o="radial"===w.projection&&0!==t.depth?((t,n,a,o)=>{const r=(t.x1+t.x0)/2/o[0],s=a(t,n);return e.createElement("g",{transform:`rotate(${r>.5?360*r+90:360*r-90})`},"string"==typeof s?e.createElement("text",{textAnchor:"middle",y:5},s):s)})(t,n,!0===x?W:x,F):!0===x?W(t,n):a;let r;r=e.isValidElement(o)?{key:"node-label-"+n,type:"basic-node-label",x:t.x,y:t.y,element:o}:{key:"node-label-"+n,className:"node-label",dx:0,dy:0,x:t.x,y:t.y,color:"currentColor",note:{label:o},connector:{end:"none"},type:"label",subject:{radius:H(t)+2}},ce.push(r)}});const de=[];if(A&&["circlepack","treemap","partition","chord"].find(e=>e===w.type)||"area"===A){if("edge"!==A){const e=Q.map((e,t)=>Object.assign({overlayData:e},ne({d:e,i:t,transform:`translate(${e.x},${e.y})`,styleFn:()=>({opacity:0})}).props));de.push(...e)}"node"!==A&&J.forEach((e,t)=>{const n=ae({d:e,i:t,transform:`translate(${e.x},${e.y})`,styleFn:()=>({opacity:0})});n&&de.push(Object.assign({overlayData:Object.assign(Object.assign({},e),{x:void 0===e.x?(e.source.x+e.target.x)/2:e.x,y:void 0===e.y?(e.source.y+e.target.y)/2:e.y,edge:!0})},n.props))})}else"edge"===A&&"string"==typeof w.type&&Xo[w.type]?le=J.map(Xo[w.type]):Array.isArray(A)||!0===A||"node"===A?(le=Q,(te||re)&&(le=[...Q])):"all"===A&&"string"==typeof w.type&&(le=[...J.map(Xo[w.type]),...Q]);return{adjustedPosition:D,adjustedSize:F,backgroundGraphics:t.backgroundGraphics,foregroundGraphics:t.foregroundGraphics,title:N,renderNumber:n.renderNumber+1,projectedNodes:Q,projectedEdges:J,projectedXYPoints:le,overlay:de,nodeIDAccessor:W,sourceAccessor:G,targetAccessor:_,nodeSizeAccessor:H,edgeWidthAccessor:Y,margin:$,legendSettings:oe,networkFrameRender:ie,nodeLabelAnnotations:ce,graphSettings:Object.assign(Object.assign({},w.graphSettings),w),props:t}},Jo=({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a,edgeHash:o,nodeIDAccessor:r,edgeWidthAccessor:s})=>{const i=a[1]/2,{groupWidth:c=20,padAngle:l=.01,sortGroups:d}=n,u=m().innerRadius(i-c).outerRadius(i),p=Ae().radius(i-c),y=(({edgeHash:e,nodes:t,edgeWidthAccessor:n,nodeIDAccessor:a})=>{const o=[];for(const r of t){const s=a(r),i=[];o.push(i);for(const o of t){const t=a(o),r=e.get(`${s}|${t}`);i.push(r?n(r):0)}}return o})({edgeHash:o,nodes:e,edgeWidthAccessor:s,nodeIDAccessor:r}),h=Ee().padAngle(l);d&&h.sortGroups(d);const g=h(y);return g.groups.forEach(t=>{const n=u.centroid(t),o=u(t),r=e[t.index];r.d=o,r.index=t.index,r.x=n[0]+a[0]/2,r.y=n[1]+a[1]/2}),g.forEach(t=>{const n=p(t),s=r(e[t.source.index]),i=r(e[t.target.index]),c=o.get(`${s}|${i}`)||o.get(`${i}|${s}`);if(c){c.d=n;const e=ye(n);c.x=a[0]/2+(e.x1+e.x2)/2,c.y=a[1]/2+(e.y1+e.y2)/2}}),{projectedNodes:e,projectedEdges:t}},er=({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a,nodeSizeAccessor:o})=>{const r=Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),{iterations:s=r,edgeStrength:i=.1,distanceMax:c=1/0,edgeDistance:l,forceManyBody:d=e=>-25*o(e)}=n,u=a[0]/2,p=a[1]/2;e.forEach((e,t)=>{if(null==e.x||null==e.y){const n=10*Math.sqrt(t+.5),a=2.399963229728653*t;e.x=u+n*Math.cos(a),e.y=p+n*Math.sin(a)}});const y=be().strength(e=>Math.min(2.5,e.weight?e.weight*i:i));l&&y.distance(l);const m=n.simulation||me().force("charge",xe().distanceMax(c).strength(d));m.nodes(e);const h=a[1]/a[0];m.force("x")||m.force("x",ge(a[0]/2).strength(.1*h)),m.force("y")||m.force("y",he(a[1]/2).strength(.1)),0===t.length||m.force("link")||(m.force("link",y),m.force("link").links(t)),.1>m.alpha()&&m.alpha(1),m.stop();for(let e=0;s>e;++e)m.tick();return{projectedNodes:e,projectedEdges:t}},tr={matrix:({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a})=>{let o=e;n.sort&&(o=[...e].sort(n.sort));const r=Math.min(...a)/(o.length+1);return o.forEach((e,t)=>{e.x=0,e.y=(t+1)*r}),{projectedNodes:o,projectedEdges:t}},arc:({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a})=>{let o=e;n.sort&&(o=[...e].sort(n.sort));const r=a[0]/(o.length+2);return o.forEach((e,t)=>{e.x=(t+1)*r,e.y=a[1]/2}),{projectedNodes:o,projectedEdges:t}}},nr=Object.assign(Object.assign({chord:Jo,sankey:_o,flowchart:_o,force:er,motifs:({projectedNodes:e,projectedEdges:t,networkSettings:n,nodeSizeAccessor:a,size:o})=>{const r=new Map;t.forEach(e=>{[e.source,e.target].forEach(e=>{r.get(e)||r.set(e,{node:e,component:-99,connectedNodes:[],edges:[]})}),r.get(e.source).connectedNodes.push(e.target),r.get(e.target).connectedNodes.push(e.source),r.get(e.source).edges.push(e)});const s=function(e,t){const n={0:{componentNodes:[],componentEdges:[]}},a=[n[0]];let o=0;return function e(r,s){for(const i of r){const r=t.get(i);r?-99===r.component&&(!0===s&&(o++,n[o]={componentNodes:[],componentEdges:[]},a.push(n[o])),r.component=o,n[o].componentNodes.push(i),n[o].componentEdges.push(...r.edges),e([...r.connectedNodes],t)):n[0].componentNodes.push(i)}}(e,!0),a.sort((e,t)=>t.componentNodes.length-e.componentNodes.length)}(e,r),i=Math.max(e.length/3,s[0].componentNodes.length),c=o[0]>o[1]?o[1]:o[0],l=o[0]>o[1]?"horizontal":"vertical",d=Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),{iterations:u=d,edgeStrength:p=.1,edgeDistance:y,padding:m=0}=n;let h=m,g=m;return s.forEach(({componentNodes:e,componentEdges:t})=>{const r=be().strength(e=>Math.min(2.5,e.weight?e.weight*p:p));y&&r.distance(y);const s=Math.max(e.length/i,.2)*c,d=s+h;"horizontal"===l?s+g>o[1]?(h=s+h+m,g=s+m):g=s+g+m:d>o[0]?(g=s+g+m,h=s+m):h=s+h+m;const f=h-s/2,b=g-s/2,x=me().force("charge",xe().strength(n.forceManyBody||(e=>-25*a(e)))).force("link",r);x.force("x",ge(f)).force("y",he(b)).nodes(e),x.force("link").links(t),x.stop();for(let e=0;u>e;++e)x.tick();const v=V(e.map(e=>e.x)),k=V(e.map(e=>e.y)),j=I(e.map(e=>e.x)),A=I(e.map(e=>e.y)),E=M().domain([j,v]).range([h-s,h-20]),S=M().domain([A,k]).range([g-s,g-20]);e.forEach(e=>{e.x=E(e.x),e.y=S(e.y)})}),{projectedNodes:e,projectedEdges:t,components:s}}},Io),tr),ar=[],or=["nodes","edges"],rr=["edges","nodes"],sr={y:"y",x:"x"},ir=M(),cr=M(),lr={annotations:[],foregroundGraphics:[],size:[500,500],className:"",name:"networkframe",networkType:{type:"force",iterations:500},filterRenderedNodes:e=>"root-generated"!==e.id};function dr(t){const n=Object.assign(Object.assign({},lr),t),o=c({marginCalc:ne((e,t,n)=>{const a=nn({margin:e,title:t,size:n}),{adjustedPosition:o,adjustedSize:r}=rn({size:n,margin:a});return{margin:a,adjustedPosition:o,adjustedSize:r}}),accessorConversions:ne((e,t,n,a,o)=>({nodeIDAccessor:_n(e,e=>e?e.id:void 0),sourceAccessor:_n(t,e=>e.source),targetAccessor:_n(n,e=>e.target),nodeSizeAccessor:"number"==typeof a?Qa(a):_n(a,Qa(5)),edgeWidthAccessor:_n(o,e=>e.weight||1)})),nodeStyleFns:ne((e,t,n,a)=>({nodeStyleFn:_n(e,()=>({}),!0),nodeClassFn:_n(t,()=>"",!0),nodeRenderModeFn:_n(n,void 0,!0),nodeCanvasRenderFn:a?_n(a,void 0,!0):void 0})),edgeStyleFns:ne((e,t,n,a)=>({edgeStyleFn:_n(e,()=>({}),!0),edgeClassFn:_n(t,()=>"",!0),edgeRenderModeFn:_n(n,void 0,!0),edgeCanvasRenderFn:a?_n(a,void 0,!0):void 0}))}),r={dataVersion:void 0,nodeData:[],edgeData:[],adjustedPosition:[],adjustedSize:[],backgroundGraphics:null,foregroundGraphics:null,projectedNodes:[],projectedEdges:[],renderNumber:0,nodeLabelAnnotations:[],graphSettings:{type:"empty-start",nodes:[],edges:[],nodeHash:new Map,edgeHash:new Map,hierarchicalNetwork:!1},edgeWidthAccessor:_n("weight"),legendSettings:void 0,margin:{top:0,left:0,right:0,bottom:0},networkFrameRender:{},nodeIDAccessor:_n("id"),nodeSizeAccessor:Qa(5),overlay:[],projectedXYPoints:[],sourceAccessor:_n("source"),targetAccessor:_n("target"),title:{title:void 0},props:n},s=a(()=>Object.assign(Object.assign({},r),Uo(n,r,o.current,n._layoutMap||nr)),[]),i=ra((e,t)=>function(e,t,n,a){const{props:o}=t,r=!t.dataVersion&&aa.some(t=>o[t]!==e[t]),s=!t.dataVersion&&oa.some(t=>o[t]!==e[t]);return t.dataVersion&&t.dataVersion!==e.dataVersion||!t.projectedNodes&&!t.projectedEdges||r||o.size[0]!==e.size[0]||o.size[1]!==e.size[1]||s?Object.assign(Object.assign({},Uo(e,t,n,a)),{props:e}):{props:e}}(e,t,o.current,e._layoutMap||nr),n,s);sa(n,i);const d=c(n);d.current=n;const u=c(i);u.current=i;const p=l(t=>function(t,n,{d:a,i:o,annotationLayer:r}){const{projectedNodes:s,projectedEdges:i,nodeIDAccessor:c,nodeSizeAccessor:l,networkFrameRender:d,adjustedSize:u,adjustedPosition:p}=n,{svgAnnotationRules:y}=t,m=a.ids?a:Object.assign(Object.assign({},a.edge?i.find(e=>c(e.source)===c(a.edge.source)&&c(e.target)===c(a.edge.target))||{}:s.find(e=>c(e)===a.id)||{}),a),{voronoiHover:h}=r;if(y){const e=y({d:m,i:o,networkFrameProps:t,networkFrameState:n,nodes:s,edges:i,voronoiHover:h,screenCoordinates:[m.x,m.y],adjustedPosition:p,adjustedSize:u,annotationLayer:r});if(null!==e)return e}return"node"===m.type?(({d:t,i:n,nodeSizeAccessor:a})=>{if(!t)return null;const o=Object.assign({dx:t.dx||-25,dy:t.dy||-25,x:t.x,y:t.y,note:{label:t.label,orientation:t.orientation,align:t.align},connector:{end:"arrow"}},t,{type:"callout-circle",subject:{radius:t.radius||t.radius||a(t)}});return e.createElement(Le,{key:t.key||"annotation-"+n,noteData:o})})({d:m,i:o,nodeSizeAccessor:l}):"desaturation-layer"===m.type?Sn({style:m.style instanceof Function?m.style(m,o):m.style,size:u,i:o,key:m.key}):"basic-node-label"===m.type?e.createElement("g",{key:m.key||"basic-"+o,transform:`translate(${m.x},${m.y})`},a.element||a.label):"function"==typeof m.type||ur.has(m.type)?(({d:t,i:n,projectedNodes:a,nodeIDAccessor:o})=>{const r=void 0!==t.x&&void 0!==t.y?t:a.find(e=>o(e)===t.id);if(!r)return null;const s=Object.assign({dx:0,dy:0,x:r.x,y:r.y,note:{label:t.label},connector:{end:"arrow"}},t,{type:"function"==typeof t.type?t.type:void 0});return e.createElement(Le,{key:t.key||"annotation-"+n,noteData:s})})({d:m,i:o,projectedNodes:s,nodeIDAccessor:c}):"enclose"===m.type?(({d:e,i:t,projectedNodes:n,nodeIDAccessor:a,nodeSizeAccessor:o})=>{const r=n.filter(t=>-1!==e.ids.indexOf(a(t)));if(0===r.length)return null;const s=Y(r.map(e=>({x:e.x,y:e.y,r:o(e)})));return jn({circle:s,d:e,i:t})})({d:m,i:o,projectedNodes:s,nodeIDAccessor:c,nodeSizeAccessor:l}):"enclose-rect"===m.type?(({d:e,i:t,projectedNodes:n,nodeIDAccessor:a,nodeSizeAccessor:o})=>{const r=n.filter(t=>-1!==e.ids.indexOf(a(t)));if(0===r.length)return null;const s=r.map(e=>{if(e.shapeNode)return{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1};const t=o(e);return{x0:e.x-t,x1:e.x+t,y0:e.y-t,y1:e.y+t}});return An({bboxNodes:s,d:e,i:t})})({d:m,i:o,projectedNodes:s,nodeIDAccessor:c,nodeSizeAccessor:l}):"enclose-hull"===m.type?(({d:e,i:t,projectedNodes:n,nodeIDAccessor:a,nodeSizeAccessor:o})=>{const r=n.filter(t=>-1!==e.ids.indexOf(a(t)));if(0===r.length)return null;const s=[];return r.forEach(e=>{if(e.shapeNode)s.push({x:e.x0,y:e.y0}),s.push({x:e.x0,y:e.y1}),s.push({x:e.x1,y:e.y0}),s.push({x:e.x1,y:e.y1});else{const t=o(e);s.push({x:e.x-t,y:e.y-t}),s.push({x:e.x+t,y:e.y-t}),s.push({x:e.x-t,y:e.y+t}),s.push({x:e.x+t,y:e.y+t})}}),En({points:s.map(e=>[e.x,e.y]),d:e,i:t})})({d:m,i:o,projectedNodes:s,nodeIDAccessor:c,nodeSizeAccessor:l}):"highlight"===m.type?(({d:e,i:t,networkFrameRender:n})=>{const{nodes:a}=n,{customMark:o,styleFn:r}=a;let s=r;return e.style&&"function"==typeof e.style?s=e=>Object.assign(Object.assign({},r(e)),e.style(e)):e.style&&(s=e=>Object.assign(Object.assign({},r(e)),e.style)),o({d:e,styleFn:s,transform:`translate(${e.x},${e.y})`,key:"highlight-"+t})})({d:m,i:o,networkFrameRender:d}):null}(d.current,u.current,t),[]),y=l(t=>function(t,n,{d:a,i:o,annotationLayer:r}){const{tooltipContent:s,optimizeCustomTooltipPosition:i,htmlAnnotationRules:c}=t,{projectedNodes:l,projectedEdges:d,nodeIDAccessor:u,adjustedSize:p,adjustedPosition:y}=n,{voronoiHover:m}=r,h=a.ids?a:Object.assign(Object.assign({},a.edge?d.find(e=>u(e.source)===u(a.source)&&u(e.target)===u(a.target))||{}:l.find(e=>u(e)===a.id)||{}),a);if(c){const e=c({d:h,i:o,networkFrameProps:t,networkFrameState:n,nodes:l,edges:d,voronoiHover:m,screenCoordinates:[h.x,h.y],adjustedPosition:y,adjustedSize:p,annotationLayer:r});if(null!==e)return e}return"frame-hover"===h.type?(({d:t,i:n,tooltipContent:a,optimizeCustomTooltipPosition:o,nodes:r,edges:s,nodeIDAccessor:i,adjustedSize:c})=>{const l=void 0!==t.x&&void 0!==t.y?t:t.edge?Object.assign(Object.assign({},s.find(e=>i(e.source)===i(t.source)&&i(e.target)===i(t.target))||{}),t):r.find(e=>i(e)===t.id);if(!l)return null;let d=l.edge?e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},e.createElement("p",{key:"html-annotation-content-1"},(l.source||l.edge.source).id," to ",(l.target||l.edge.target).id)):e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},e.createElement("p",{key:"html-annotation-content-1"},l.id),e.createElement("p",{key:"html-annotation-content-2"},"Degree: ",l.degree));"frame-hover"===l.type&&a&&(d=o?e.createElement(kn,{tooltipContent:a,tooltipContentArgs:l}):a(l));const u={position:"absolute",top:l.y+"px"};return c&&l.x>c[0]/2?u.right=c[0]-l.x+"px":u.left=l.x+"px",e.createElement("div",{key:"network-annotation-label-"+n,className:"annotation annotation-network-label "+(l.className||""),"data-testid":"network-tooltip-container",style:u},d)})({d:h,i:o,tooltipContent:s,optimizeCustomTooltipPosition:i,nodes:l,edges:d,nodeIDAccessor:u,adjustedSize:p}):null}(d.current,u.current,t),[]),{annotations:m=[],annotationSettings:h,className:g,customClickBehavior:f,customDoubleClickBehavior:b,customHoverBehavior:x,size:v,matte:k,hoverAnnotation:j,beforeElements:A,afterElements:E,interaction:S,disableContext:O,canvasPostProcess:w,canvasNodes:M,canvasEdges:P,additionalDefs:C,renderOrder:z=(i.graphSettings&&"matrix"===i.graphSettings.type?or:rr),sketchyRenderingEngine:N,frameRenderOrder:$,disableCanvasInteraction:D,interactionSettings:F,disableProgressiveRendering:T,transition:L}=n,{backgroundGraphics:R,foregroundGraphics:B,projectedXYPoints:V,margin:W,legendSettings:I,adjustedPosition:G,adjustedSize:_,networkFrameRender:H,nodeLabelAnnotations:X,overlay:q,title:K}=i,Z=a(()=>q&&q.length>0?q:void 0,[q]),Q=a(()=>Array.isArray(j)?j:!(f||b||x)||void 0!==j&&!1!==j?!!j:ar,[j,f,b,x]),U=a(()=>[...m,...X],[m,X]),J=a(()=>!(!M&&!P),[M,P]);return e.createElement(xn,{name:"networkframe",renderPipeline:H,adjustedPosition:G,adjustedSize:_,size:v,xScale:ir,yScale:cr,title:K,matte:k,className:g,additionalDefs:C,frameKey:"none",projectedCoordinateNames:sr,defaultSVGRule:p,defaultHTMLRule:y,hoverAnnotation:Q,annotations:U,annotationSettings:h,legendSettings:I,interaction:S,customClickBehavior:f,customHoverBehavior:x,customDoubleClickBehavior:b,points:V,margin:W,overlay:Z,backgroundGraphics:R,foregroundGraphics:B,beforeElements:A,afterElements:E,disableContext:O,canvasPostProcess:w,canvasRendering:J,renderOrder:z,disableCanvasInteraction:D,sketchyRenderingEngine:N,frameRenderOrder:$,interactionSettings:F,disableProgressiveRendering:T,transition:L})}const ur=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);dr.displayName="NetworkFrame";const pr=e.memo(dr);function yr(t){const{nodes:n,edges:o,width:r=600,height:s=600,margin:i,className:c,title:l,nodeIDAccessor:d="id",sourceAccessor:u="source",targetAccessor:p="target",nodeLabel:y,colorBy:m,colorScheme:h="category10",nodeSize:g=8,nodeSizeRange:f=[5,20],edgeWidth:b=1,edgeColor:x="#999",edgeOpacity:v=.6,iterations:k=300,forceStrength:j=.1,showLabels:A=!1,enableHover:E=!0,showLegend:S,tooltip:O,frameProps:w={}}=t,M=n||[],P=o||[],C=va(M,m,h),z=a(()=>{if("number"==typeof g)return;if(!g)return;const e=M.map(e=>"function"==typeof g?g(e):e[g]);return[Math.min(...e),Math.max(...e)]},[M,g]),N=a(()=>e=>{const t={};return t.fill=m?ha(e,m,C):ba,t.r="number"==typeof g?g:g?fa(e,g,f,z):8,t},[m,C,g,f,z]),$=a(()=>e=>{const t={stroke:x,strokeOpacity:v};return"number"==typeof b?t.strokeWidth=b:"function"==typeof b?t.strokeWidth=b(e):b&&(t.strokeWidth=e[b]),t},[b,x,v]),D=a(()=>{if(A&&y)return e=>"function"==typeof y?y(e):e[y]},[A,y]),F=void 0!==S?S:!!m,T=a(()=>{if(F&&m)return ja({data:M,colorBy:m,colorScale:C,getColor:ha})},[F,m,M,C]),L=a(()=>{const e=Object.assign(Object.assign({},{top:20,bottom:20,left:20,right:20}),i);return T&&120>e.right&&(e.right=120),e},[i,T]),R=za({componentName:"ForceDirectedGraph",nodes:n,edges:o,nodesRequired:!0,edgesRequired:!0,accessors:{nodeIDAccessor:d}});if(R)return e.createElement(Ma,{componentName:"ForceDirectedGraph",message:R,width:r,height:s});const B=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],nodes:M,edges:P,nodeIDAccessor:d,sourceAccessor:u,targetAccessor:p,networkType:{type:"force",iterations:k,edgeStrength:j},nodeStyle:N,edgeStyle:$,hoverAnnotation:E,margin:L},T&&{legend:T}),D&&{nodeLabels:D}),c&&{className:c}),l&&{title:l}),O&&{tooltipContent:wa(O)}),{transition:!0}),w),{_layoutMap:{force:er}});return e.createElement(pr,Object.assign({},B))}function mr(t){const{nodes:n,edges:o,width:r=600,height:s=600,margin:i={top:50,bottom:50,left:50,right:50},className:c,title:l,sourceAccessor:d="source",targetAccessor:u="target",valueAccessor:p="value",nodeIdAccessor:y="id",colorBy:m,colorScheme:h="category10",edgeColorBy:g="source",padAngle:f=.01,groupWidth:b=20,sortGroups:x,nodeLabel:v,showLabels:k=!0,enableHover:j=!0,edgeOpacity:A=.5,tooltip:E,frameProps:S={}}=t,O=o||[],w=a(()=>{if(n&&n.length>0)return n;const e=new Set;return O.forEach(t=>{const n="function"==typeof d?d(t):t[d],a="function"==typeof u?u(t):t[u];e.add(n),e.add(a)}),Array.from(e).map(e=>({id:e}))},[n,O,d,u]),M=va(w,m,h),P=a(()=>(e,t)=>{const n={stroke:"black",strokeWidth:1};if(m)n.fill=ha(e,m,M);else{const e=Array.isArray(h)?h:ya[h]||ma,a=Array.isArray(e)?e:ma;n.fill=a[t%a.length]}return n},[m,M,h,w]),C=a(()=>e=>{const t={stroke:"black",strokeWidth:.5,fillOpacity:A,strokeOpacity:A};return"function"==typeof g?t.fill=g(e):"source"===g?t.fill=m?ha(e.source,m,M):P(e.source,e.source.index).fill:"target"===g&&(t.fill=m?ha(e.target,m,M):P(e.target,e.target.index).fill),t},[g,m,M,P,A]),z=a(()=>{if(!k)return;const e=v||y;return t=>"function"==typeof e?e(t):t[e]},[k,v,y]),N=a(()=>{const e={type:"chord",padAngle:f,groupWidth:b};return x&&(e.sortGroups=x),e},[f,b,x]),$=za({componentName:"ChordDiagram",edges:o,edgesRequired:!0});if($)return e.createElement(Ma,{componentName:"ChordDiagram",message:$,width:r,height:s});const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],nodes:w,edges:O,nodeStyle:P,edgeStyle:C,nodeIDAccessor:y,sourceAccessor:d,targetAccessor:u,edgeWidthAccessor:p,networkType:N,hoverAnnotation:j,margin:i,nodeSizeAccessor:()=>5},z&&{nodeLabels:z}),c&&{className:c}),l&&{title:l}),E&&{tooltipContent:wa(E)}),{transition:!0}),S),{_layoutMap:{chord:Jo}});return e.createElement(pr,Object.assign({},D))}function hr(t){const{nodes:n,edges:o,width:r=800,height:s=600,margin:i={top:50,bottom:50,left:50,right:50},className:c,title:l,sourceAccessor:d="source",targetAccessor:u="target",valueAccessor:p="value",nodeIdAccessor:y="id",colorBy:m,colorScheme:h="category10",edgeColorBy:g="source",orientation:f="horizontal",nodeAlign:b="justify",nodePaddingRatio:x=.05,nodeWidth:v=15,nodeLabel:k,showLabels:j=!0,enableHover:A=!0,edgeOpacity:E=.5,edgeSort:S,tooltip:O,frameProps:w={}}=t,M=o||[],P=a(()=>{if(n&&n.length>0)return n;const e=new Set;return M.forEach(t=>{const n="function"==typeof d?d(t):t[d],a="function"==typeof u?u(t):t[u];e.add(n),e.add(a)}),Array.from(e).map(e=>({id:e}))},[n,M,d,u]),C=va(P,m,h),z=a(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=m?ha(e,m,C):"#4d430c",t},[m,C]),N=a(()=>e=>{const t={stroke:"black",strokeWidth:.5,fillOpacity:E,strokeOpacity:.3};return"function"==typeof g?t.fill=g(e):"source"===g?m&&e.source?t.fill=ha(e.source,m,C):e.source&&(t.fill=z(e.source).fill):"target"===g?m&&e.target?t.fill=ha(e.target,m,C):e.target&&(t.fill=z(e.target).fill):"gradient"===g&&(t.fill="#999",t.fillOpacity=.7*E),t},[g,m,C,z,E]),$=a(()=>{if(!j)return;const e=k||y;return t=>"function"==typeof e?e(t):t[e]},[j,k,y]),D=a(()=>{const e={type:"sankey",orient:b,direction:"horizontal"===f?void 0:"down",nodePaddingRatio:x,nodeWidth:v};return S&&(e.edgeSort=S),e},[b,f,x,v,S]),F=a(()=>t=>{var n,a,o,r,s,i,c,l,d,u,p,m;if(t.edge||t.source&&t.target&&!t.degree&&0!==t.degree){const y=null!==(s=null!==(a=null===(n=t.source)||void 0===n?void 0:n.id)&&void 0!==a?a:null===(r=null===(o=t.edge)||void 0===o?void 0:o.source)||void 0===r?void 0:r.id)&&void 0!==s?s:"?",m=null!==(u=null!==(c=null===(i=t.target)||void 0===i?void 0:i.id)&&void 0!==c?c:null===(d=null===(l=t.edge)||void 0===l?void 0:l.target)||void 0===d?void 0:d.id)&&void 0!==u?u:"?",h=null!==(p=t.value)&&void 0!==p?p:t.weight;return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},y," → ",m),null!=h&&e.createElement("div",{style:{marginTop:4}},"Value: ","number"==typeof h?h.toLocaleString():h+""))}const h=y,g="function"==typeof h?h(t):null!==(m=t[h])&&void 0!==m?m:t.id,f=t.value;return e.createElement("div",{className:"semiotic-tooltip",style:Aa},e.createElement("div",{style:{fontWeight:"bold"}},g+""),null!=f&&e.createElement("div",{style:{marginTop:4}},"Total: ","number"==typeof f?f.toLocaleString():f+""),null!=t.degree&&e.createElement("div",{style:{marginTop:2}},"Degree: ",t.degree,null!=t.inDegree?` (${t.inDegree} in, ${t.outDegree} out)`:""))},[y]),T="function"==typeof O?O:F,L=a(()=>({d:t,i:n,adjustedSize:a})=>{if("frame-hover"!==t.type)return null;const o={position:"absolute",top:t.y+"px"};return a&&t.x>a[0]/2?o.right=a[0]-t.x+"px":o.left=t.x+"px",e.createElement("div",{key:"network-annotation-label-"+n,className:"annotation annotation-network-label "+(t.className||""),style:o},T(t))},[T]),R=za({componentName:"SankeyDiagram",edges:o,edgesRequired:!0});if(R)return e.createElement(Ma,{componentName:"SankeyDiagram",message:R,width:r,height:s});const B=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],nodes:P,edges:M,nodeStyle:z,edgeStyle:N,nodeIDAccessor:y,sourceAccessor:d,targetAccessor:u,edgeWidthAccessor:p,networkType:D,hoverAnnotation:A,margin:i,nodeSizeAccessor:()=>5},$&&{nodeLabels:$}),c&&{className:c}),l&&{title:l}),{htmlAnnotationRules:L,transition:!0}),w),{_layoutMap:{sankey:_o,flowchart:_o}});return e.createElement(pr,Object.assign({},B))}function gr(t){const{data:n,width:o=600,height:r=600,margin:s={top:50,bottom:50,left:50,right:50},className:i,title:c,layout:l="tree",orientation:d="vertical",childrenAccessor:u="children",valueAccessor:p="value",nodeIdAccessor:y="name",colorBy:m,colorScheme:h="category10",colorByDepth:g=!1,nodeSize:f=5,enableHover:b=!0,tooltip:x,frameProps:v={}}=t,k=a(()=>{if(!n)return[];const e=[],t=n=>{e.push(n);const a="function"==typeof u?u(n):n[u];a&&Array.isArray(a)&&a.forEach(t)};return t(n),e},[n,u]),j=a(()=>g?ga(k.map((e,t)=>({depth:t%5})),"depth",h):m&&"function"!=typeof m?ga(k,m,h):void 0,[k,m,g,h]),A=a(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=g?ha({depth:e.depth||0},"depth",j):m?ha(e,m,j):ba,t},[m,g,j]),E=a(()=>()=>({stroke:"#999",strokeWidth:1,fill:"none"}),[]),S=a(()=>{const e={type:l};return"tree"!==l&&"cluster"!==l||(e.projection=d),"partition"===l&&"radial"===d&&(e.projection="radial"),e},[l,d]),O=a(()=>"function"==typeof u?u:e=>e[u],[u]),w=a(()=>{if("treemap"===l||"circlepack"===l||"partition"===l)return"function"==typeof p?p:e=>e[p]||1},[l,p]),M=Ca({componentName:"TreeDiagram",data:n});if(M)return e.createElement(Ma,{componentName:"TreeDiagram",message:M,width:o,height:r});"treemap"===l?console.info("TreeDiagram: Consider using the standalone <Treemap> component for treemap visualizations."):"circlepack"===l&&console.info("TreeDiagram: Consider using the standalone <CirclePack> component for circle packing visualizations.");const P=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],edges:n,nodeStyle:A,edgeStyle:E,nodeIDAccessor:y,networkType:S,hoverAnnotation:b,margin:s,nodeSizeAccessor:()=>f},O&&{hierarchyChildren:O}),w&&{hierarchySum:w}),i&&{className:i}),c&&{title:c}),x&&{tooltipContent:wa(x)}),{transition:!0}),v),{_layoutMap:Io});return e.createElement(pr,Object.assign({},P))}function fr(t){const{data:n,width:o=600,height:r=600,margin:s={top:10,bottom:10,left:10,right:10},className:i,title:c,childrenAccessor:l="children",valueAccessor:d="value",nodeIdAccessor:u="name",colorBy:p,colorScheme:y="category10",colorByDepth:m=!1,showLabels:h=!0,nodeLabel:g,enableHover:f=!0,tooltip:b,frameProps:x={}}=t,v=a(()=>{if(!n)return[];const e=[],t=n=>{e.push(n);const a="function"==typeof l?l(n):n[l];a&&Array.isArray(a)&&a.forEach(t)};return t(n),e},[n,l]),k=a(()=>m?ga(v.map((e,t)=>({depth:t%5})),"depth",y):p&&"function"!=typeof p?ga(v,p,y):void 0,[v,p,m,y]),j=a(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3};return t.fill=m?ha({depth:e.depth||0},"depth",k):p?ha(e,p,k):ba,t},[p,m,k]),A=a(()=>"function"==typeof l?l:e=>e[l],[l]),E=a(()=>"function"==typeof d?d:e=>e[d]||1,[d]),S=a(()=>{if(h)return g?"function"==typeof g?g:e=>e[g]:"function"==typeof u?u:e=>e[u]},[h,g,u]),O=Ca({componentName:"Treemap",data:n});if(O)return e.createElement(Ma,{componentName:"Treemap",message:O,width:o,height:r});const w=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],edges:n,nodeStyle:j,edgeStyle:()=>({fill:"none",stroke:"none"}),nodeIDAccessor:u,networkType:{type:"treemap"},hoverAnnotation:f,margin:s},A&&{hierarchyChildren:A}),E&&{hierarchySum:E}),S&&{nodeLabels:S}),i&&{className:i}),c&&{title:c}),b&&{tooltipContent:wa(b)}),{transition:!0}),x),{_layoutMap:{treemap:Io.treemap}});return e.createElement(pr,Object.assign({},w))}function br(t){const{data:n,width:o=600,height:r=600,margin:s={top:10,bottom:10,left:10,right:10},className:i,title:c,childrenAccessor:l="children",valueAccessor:d="value",nodeIdAccessor:u="name",colorBy:p,colorScheme:y="category10",colorByDepth:m=!1,showLabels:h=!0,nodeLabel:g,circleOpacity:f=.7,enableHover:b=!0,tooltip:x,frameProps:v={}}=t,k=a(()=>{if(!n)return[];const e=[],t=n=>{e.push(n);const a="function"==typeof l?l(n):n[l];a&&Array.isArray(a)&&a.forEach(t)};return t(n),e},[n,l]),j=a(()=>m?ga(k.map((e,t)=>({depth:t%5})),"depth",y):p&&"function"!=typeof p?ga(k,p,y):void 0,[k,p,m,y]),A=a(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3,fillOpacity:f};return t.fill=m?ha({depth:e.depth||0},"depth",j):p?ha(e,p,j):ba,t},[p,m,j,f]),E=a(()=>"function"==typeof l?l:e=>e[l],[l]),S=a(()=>"function"==typeof d?d:e=>e[d]||1,[d]),O=a(()=>{if(h)return g?"function"==typeof g?g:e=>e[g]:"function"==typeof u?u:e=>e[u]},[h,g,u]),w=Ca({componentName:"CirclePack",data:n});if(w)return e.createElement(Ma,{componentName:"CirclePack",message:w,width:o,height:r});const M=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],edges:n,nodeStyle:A,edgeStyle:()=>({fill:"none",stroke:"none"}),nodeIDAccessor:u,networkType:{type:"circlepack"},hoverAnnotation:b,margin:s},E&&{hierarchyChildren:E}),S&&{hierarchySum:S}),O&&{nodeLabels:O}),i&&{className:i}),c&&{title:c}),x&&{tooltipContent:wa(x)}),{transition:!0}),v),{_layoutMap:{circlepack:Io.circlepack}});return e.createElement(pr,Object.assign({},M))}class xr{constructor(e){if(this._capacity=e,this.head=0,this._size=0,1>e)throw Error("RingBuffer capacity must be at least 1");this.buffer=Array(e)}push(e){let t;return this._size===this._capacity?t=this.buffer[this.head]:this._size++,this.buffer[this.head]=e,this.head=(this.head+1)%this._capacity,t}pushMany(e){const t=[];for(const n of e){const e=this.push(n);void 0!==e&&t.push(e)}return t}get(e){if(e>=0&&this._size>e)return this.buffer[(this.head-this._size+e+this._capacity)%this._capacity]}peek(){if(0!==this._size)return this.buffer[(this.head-1+this._capacity)%this._capacity]}peekOldest(){if(0!==this._size)return this.buffer[(this.head-this._size+this._capacity)%this._capacity]}[Symbol.iterator](){let e=0;const t=this;return{next:()=>t._size>e?{done:!1,value:t.get(e++)}:{done:!0,value:void 0}}}toArray(){const e=[];for(const t of this)e.push(t);return e}resize(e){if(1>e)throw Error("RingBuffer capacity must be at least 1");const t=this.toArray(),n=[];for(;t.length>e;)n.push(t.shift());this._capacity=e,this.buffer=Array(e),this.head=0,this._size=0;for(const e of t)this.push(e);return n}clear(){this.buffer=Array(this._capacity),this.head=0,this._size=0}get size(){return this._size}get capacity(){return this._capacity}get full(){return this._size===this._capacity}}class vr{constructor(){this._min=1/0,this._max=-1/0,this._dirty=!1}push(e){Number.isNaN(e)||(this._min>e&&(this._min=e),e>this._max&&(this._max=e))}evict(e){e!==this._min&&e!==this._max||(this._dirty=!0)}recalculate(e,t){this._min=1/0,this._max=-1/0;for(const n of e){const e=t?t(n):n;Number.isNaN(e)||(this._min>e&&(this._min=e),e>this._max&&(this._max=e))}this._dirty=!1}clear(){this._min=1/0,this._max=-1/0,this._dirty=!1}get extent(){return[this._min,this._max]}get min(){return this._min}get max(){return this._max}get dirty(){return this._dirty}}function kr(e,t,n){let a=n;for(const n of t)"lesser"===n.thresholdType?n.value>e&&(a=n.color):e>n.value&&(a=n.color);return a}const jr=["#007bff","#28a745","#dc3545","#fd7e14","#6f42c1","#20c997","#e83e8c","#17a2b8","#6610f2","#ffc107"];function Ar(e,t,n){let a=n;for(const n of t)"lesser"===n.thresholdType?n.value>e&&(a=n.color):e>n.value&&(a=n.color);return a}function Er(e,t,n,a,o){const r=new Map;for(const s of e){const e=t(s),i=n(s);if(null==e||null==i||Number.isNaN(e)||Number.isNaN(i))continue;const c=Math.floor(e/a)*a;let l=r.get(c);if(l||(l={start:c,end:c+a,total:0,categories:new Map},r.set(c,l)),l.total+=i,o){const e=o(s);l.categories.set(e,(l.categories.get(e)||0)+i)}}return r}const Sr=["#4e79a7","#f28e2b","#e15759","#76b7b2","#59a14f","#edc948","#b07aa1","#ff9da7","#9c755f","#bab0ac"],Or={line:(e,t,n,a,o,r,s)=>{const{time:i,value:c}=n,{timeAxis:l}=a,{time:d,value:u}=r,p=o.stroke||"#007bff",y=s?s.filter(e=>"threshold"===e.type&&e.color).map(e=>({value:e.value,color:e.color,thresholdType:e.thresholdType||"greater"})):null;if(!y||0>=y.length){e.beginPath(),e.strokeStyle=p,e.lineWidth=o.strokeWidth||2,e.setLineDash(o.strokeDasharray?o.strokeDasharray.split(/[\s,]+/).map(Number):[]);let n=!1;for(const a of t){const t=d(a),o=u(a);if(null==t||null==o||Number.isNaN(t)||Number.isNaN(o)){n=!1;continue}const r=i(t),s=c(o),p="x"===l?r:s,y="x"===l?s:r;n?e.lineTo(p,y):(e.moveTo(p,y),n=!0)}return void e.stroke()}e.lineWidth=o.strokeWidth||2,e.setLineDash(o.strokeDasharray?o.strokeDasharray.split(/[\s,]+/).map(Number):[]);let m=null,h=null,g=null,f=null,b=!1;function x(e,t){const n=i(e),a=c(t);return"x"===l?[n,a]:[a,n]}function v(t,n,a){e.beginPath(),e.strokeStyle=t,e.moveTo(n,a),b=!0}function k(){b&&(e.stroke(),b=!1)}for(const n of t){const t=d(n),a=u(n);if(null==t||null==a||Number.isNaN(t)||Number.isNaN(a)){k(),m=null,h=null,g=null,f=null;continue}const[o,r]=x(t,a),s=kr(a,y,p);if(null!==m&&null!==f&&null!==g){if(s===f)e.lineTo(o,r);else{const t=[];for(const e of y){const n=e.value;(g>n||n>a)&&(n>g||a>n)||g===n||a===n||t.push({t:(n-g)/(a-g),color:""})}t.sort((e,t)=>e.t-t.t);for(const n of t){const t=m+(o-m)*n.t,s=h+(r-h)*n.t,i=kr(g+(a-g)*Math.min(n.t+1e-4,1),y,p);e.lineTo(t,s),k(),v(i,t,s)}e.lineTo(o,r)}m=o,h=r,g=a,f=s}else v(s,o,r),m=o,h=r,g=a,f=s}k()},swarm:(e,t,n,a,o,r,s,i)=>{var c,l,d,u,p;const{time:y,value:m}=n,{timeAxis:h}=a,{time:g,value:f,category:b}=r,x=null==i?void 0:i.swarmStyle,v=null==i?void 0:i.barColors,k=null!==(c=null==x?void 0:x.radius)&&void 0!==c?c:3,j=null!==(d=null!==(l=null==x?void 0:x.fill)&&void 0!==l?l:o.stroke)&&void 0!==d?d:"#007bff",A=null!==(u=null==x?void 0:x.opacity)&&void 0!==u?u:.7,E=null!=(null==x?void 0:x.stroke),S=s?s.filter(e=>"threshold"===e.type&&e.color).map(e=>({value:e.value,color:e.color,thresholdType:e.thresholdType||"greater"})):null,O=S&&S.length>0;e.globalAlpha=A;let w=0;const M={};for(const n of t){const t=g(n),a=f(n);if(null==a||Number.isNaN(a))continue;let o,r;"x"===h?(o=y(t),r=m(a)):(o=m(a),r=y(t));let s=j;if(b){const e=b(n);v&&v[e]?s=v[e]:(e in M||(M[e]=jr[w%jr.length],w++),s=M[e])}O&&(s=Ar(a,S,s)),e.fillStyle=s,e.beginPath(),e.arc(o,r,k,0,2*Math.PI),e.fill(),E&&(e.strokeStyle=x.stroke,e.lineWidth=null!==(p=null==x?void 0:x.strokeWidth)&&void 0!==p?p:1,e.stroke())}e.globalAlpha=1},candlestick:()=>{throw Error("candlestickRenderer: Not yet implemented")},waterfall:(e,t,n,a,o,r,s,i)=>{var c,l,d,u,p,y,m;const{time:h,value:g}=n,{timeAxis:f,width:b,height:x}=a,{time:v,value:k}=r,j=null==i?void 0:i.waterfallStyle,A=null!==(c=null==j?void 0:j.positiveColor)&&void 0!==c?c:"#28a745",E=null!==(l=null==j?void 0:j.negativeColor)&&void 0!==l?l:"#dc3545",S=null!==(d=null==j?void 0:j.gap)&&void 0!==d?d:1,O=null==j?void 0:j.connectorStroke,w=null!==(u=null==j?void 0:j.connectorWidth)&&void 0!==u?u:1,M=null!=(null==j?void 0:j.stroke);M&&(e.strokeStyle=j.stroke,e.lineWidth=null!==(p=null==j?void 0:j.strokeWidth)&&void 0!==p?p:1);const P=[];for(const e of t){const t=k(e);null==t||Number.isNaN(t)||P.push(e)}if(0===P.length)return;let C=0,z=null,N=null;for(let t=0;P.length>t;t++){const n=P[t],a=v(n),o=k(n),r=C+o;let s;if(s=P.length-1>t?v(P[t+1])-a:t>0?a-v(P[t-1]):0,e.fillStyle=0>o?E:A,"x"===f){let t,n;0!==s?(t=h(a),n=h(a+s)):(t=h(a),n=t+b/10);const o=Math.min(t,n)+S/2,i=Math.max(t,n)-S/2,c=i-o;if(0>=c){C=r,z=i,N=r;continue}const l=g(C),d=g(r),u=Math.min(l,d),p=Math.abs(l-d);if(O&&null!=z&&null!=N){e.save(),e.strokeStyle=O,e.lineWidth=w;const t=g(N);e.beginPath(),e.moveTo(z,t),e.lineTo(o,t),e.stroke(),e.restore(),M&&(e.strokeStyle=j.stroke,e.lineWidth=null!==(y=null==j?void 0:j.strokeWidth)&&void 0!==y?y:1)}e.fillRect(o,u,c,p),M&&e.strokeRect(o,u,c,p),z=i}else{let t,n;0!==s?(t=h(a),n=h(a+s)):(t=h(a),n=t+x/10);const o=Math.min(t,n)+S/2,i=Math.max(t,n)-S/2,c=i-o;if(0>=c){C=r,z=i,N=r;continue}const l=g(C),d=g(r),u=Math.min(l,d),p=Math.abs(d-l);if(O&&null!=z&&null!=N){e.save(),e.strokeStyle=O,e.lineWidth=w;const t=g(N);e.beginPath(),e.moveTo(t,z),e.lineTo(t,o),e.stroke(),e.restore(),M&&(e.strokeStyle=j.stroke,e.lineWidth=null!==(m=null==j?void 0:j.strokeWidth)&&void 0!==m?m:1)}e.fillRect(u,o,p,c),M&&e.strokeRect(u,o,p,c),z=i}C=r,N=r}},bar:(e,t,n,a,o,r,s,i)=>{var c,l;const d=null==i?void 0:i.binSize;if(!d)return;const{time:u,value:p}=n,{timeAxis:y}=a,{time:m,value:h,category:g}=r,f=null==i?void 0:i.barColors,b=null==i?void 0:i.barStyle,x=Er(t,m,h,d,g);if(0===x.size)return;const[v,k]=u.domain(),j=null!==(c=null==b?void 0:b.gap)&&void 0!==c?c:1,A=null!=g;let E=null;if(A){const e=new Set;for(const t of x.values())for(const n of t.categories.keys())e.add(n);const t=f?Object.keys(f):[],n=new Set(t),a=Array.from(e).filter(e=>!n.has(e)).sort();E=[...t.filter(t=>e.has(t)),...a]}const S=null!=(null==b?void 0:b.stroke);S&&(e.strokeStyle=b.stroke,e.lineWidth=null!==(l=null==b?void 0:b.strokeWidth)&&void 0!==l?l:1);for(const t of x.values())if("x"===y){const n=Math.max(t.start,v),a=Math.min(t.end,k);if(n>=a)continue;const r=u(n),s=u(a),i=Math.min(r,s)+j/2,c=Math.max(r,s)-j/2-i;if(0>=c)continue;if(A&&E){let n=0,a=0;for(const o of E){const r=t.categories.get(o)||0;if(0===r)continue;const s=p(n),l=p(n+r),d=Math.min(s,l),u=Math.abs(s-l);e.fillStyle=f&&f[o]||Sr[a%Sr.length],e.fillRect(i,d,c,u),S&&e.strokeRect(i,d,c,u),n+=r,a++}}else{const n=p(0),a=p(t.total),r=Math.min(n,a),s=Math.abs(n-a);e.fillStyle=(null==b?void 0:b.fill)||o.stroke||"#007bff",e.fillRect(i,r,c,s),S&&e.strokeRect(i,r,c,s)}}else{const n=Math.max(t.start,v),a=Math.min(t.end,k);if(n>=a)continue;const r=u(n),s=u(a),i=Math.min(r,s)+j/2,c=Math.max(r,s)-j/2-i;if(0>=c)continue;if(A&&E){let n=0,a=0;for(const o of E){const r=t.categories.get(o)||0;if(0===r)continue;const s=p(n),l=p(n+r),d=Math.min(s,l),u=Math.abs(l-s);e.fillStyle=f&&f[o]||Sr[a%Sr.length],e.fillRect(d,i,u,c),S&&e.strokeRect(d,i,u,c),n+=r,a++}}else{const n=p(0),a=p(t.total),r=Math.min(n,a),s=Math.abs(a-n);e.fillStyle=(null==b?void 0:b.fill)||o.stroke||"#007bff",e.fillRect(r,i,s,c),S&&e.strokeRect(r,i,s,c)}}}},wr={top:20,right:20,bottom:30,left:40},Mr={};function Pr(e,t){if("function"==typeof e)return t=>+e(t);const n=e||t;return e=>+e[n]}function Cr(e){return"up"===e||"down"===e?"y":"x"}function zr(e){return Math.round(100*e)/100+""}const Nr={axisStroke:"#ccc",tickText:"#666",crosshair:"rgba(0, 0, 0, 0.25)",hoverFill:"rgba(255, 255, 255, 0.3)",hoverStroke:"rgba(0, 0, 0, 0.4)",pointRing:"white"},$r={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function Dr({hover:t,formatTime:n}){const a=e=>Number.isInteger(e)?e+"":e.toFixed(2),o=n||a,r=t.data.barColors,s=t.data.hoveredCategory,i=t.data.hoveredCategoryValue;return e.createElement("div",{className:"semiotic-tooltip",style:$r},null!=s&&null!=i?e.createElement(e.Fragment,null,e.createElement("div",{style:{display:"flex",alignItems:"center",gap:5,fontWeight:600,marginBottom:2}},r&&r[s]&&e.createElement("span",{style:{width:8,height:8,borderRadius:"50%",background:r[s],flexShrink:0}}),e.createElement("span",null,s),e.createElement("span",{style:{marginLeft:"auto"}},a(i))),e.createElement("div",{style:{opacity:.6,fontSize:11}},"total ",a(t.value))):e.createElement("div",{style:{fontWeight:600,marginBottom:2}},a(t.value)),e.createElement("div",{style:{opacity:.7,fontSize:11}},o(t.time)))}const Fr=d(function(t,n){const{chartType:o="line",arrowOfTime:s="right",windowMode:d="sliding",windowSize:p=200,data:y,timeAccessor:m,valueAccessor:h,timeExtent:g,valueExtent:f,extentPadding:b=.1,size:x=[500,300],margin:v,className:k,lineStyle:j=Mr,annotations:A,svgAnnotationRules:E,hoverAnnotation:S,tooltipContent:O,customHoverBehavior:w,showAxes:P=!0,background:C,categoryAccessor:z,binSize:N,barColors:$,barStyle:D,waterfallStyle:F,swarmStyle:T,tickFormatTime:L,tickFormatValue:R}=t,B=Object.assign(Object.assign({},wr),v),V=x[0]-B.left-B.right,W=x[1]-B.top-B.bottom,I=a(()=>Pr(m,"time"),[m]),G=a(()=>Pr(h,"value"),[h]),_=a(()=>z?"function"==typeof z?z:e=>e[z]:void 0,[z]),H=c(new xr(p)),Y=c(new vr),X=c(new vr),q=c(null),K=c(0),Z=c(!1),Q=c(null),[U,J]=r(0),ee=c(p),te=c(null),[ne,ae]=r(null),oe=c(()=>{}),re=l(()=>{K.current||(K.current=requestAnimationFrame(()=>oe.current()))},[]),se=l(e=>{const t=H.current,n=I(e),a=G(e);"growing"===d&&t.full&&(ee.current*=2,t.resize(ee.current));const o=t.push(e);Y.current.push(n),X.current.push(a),null!=o&&(Y.current.evict(I(o)),X.current.evict(G(o))),Z.current=!0,re()},[d,I,G,re]),ie=l(e=>{for(const t of e)se(t)},[se]),ce=l(()=>{H.current.clear(),Y.current.clear(),X.current.clear(),Z.current=!0,re()},[re]);u(n,()=>({push:se,pushMany:ie,clear:ce,getData:()=>H.current.toArray()}),[se,ie,ce]),i(()=>{if(y){H.current.clear(),Y.current.clear(),X.current.clear();for(const e of y)H.current.push(e),Y.current.push(I(e)),X.current.push(G(e));Z.current=!0,re()}},[y,I,G,re]);const le=c(()=>{}),de=c(()=>{});le.current=e=>{if(!S)return;const t=q.current;if(!t)return;const n=t.getBoundingClientRect(),a=e.clientX-n.left-B.left,r=e.clientY-n.top-B.top;if(0>a||a>V||0>r||r>W)return void(te.current&&(te.current=null,ae(null),w&&w(null),re()));const i=Q.current;if(!i)return;const c=H.current;if(0===c.size)return;const l=Cr(s),d=i.time.invert("x"===l?a:r);let u;if("bar"===o&&N){const e=Er(c,I,G,N,_).get(Math.floor(d/N)*N);if(!e)return;const[t,n]=i.time.domain(),o=Math.max(e.start,t),s=o+(Math.min(e.end,n)-o)/2,p=i.time(s),y=i.value(e.total),m="x"===l?p:y,h="x"===l?y:p;let g,f;if(_&&e.categories.size>0){const t=$?Object.keys($):[],n=new Set(t),o=Array.from(e.categories.keys()).filter(e=>!n.has(e)).sort(),s=[...t.filter(t=>e.categories.has(t)),...o],c="x"===l?r:a;let d=0;for(const t of s){const n=e.categories.get(t)||0;if(0===n)continue;const a=i.value(d),o=i.value(d+n);if(c>=Math.min(a,o)&&Math.max(a,o)>=c){g=t,f=n;break}d+=n}}u={data:{binStart:e.start,binEnd:e.end,total:e.total,categories:Object.fromEntries(e.categories),barColors:$||{},hoveredCategory:g,hoveredCategoryValue:f},time:s,value:e.total,x:m,y:h}}else{const e=function(e,t,n){if(0===e.size)return-1;let a=0,o=e.size-1;for(;o>a;){const r=a+o>>1;t>n(e.get(r))?a=r+1:o=r}if(a>0){const o=n(e.get(a)),r=n(e.get(a-1));if(Math.abs(o-t)>=Math.abs(r-t))return a-1}return a}(c,d,I);if(0>e)return;const t=c.get(e),n=I(t),a=G(t),o=i.time(n),r=i.value(a);u={data:t,time:n,value:a,x:"x"===l?o:r,y:"x"===l?r:o}}te.current=u,ae(u),w&&w(u),re()},de.current=()=>{te.current&&(te.current=null,ae(null),w&&w(null),re())};const ue=l(e=>le.current(e),[]),pe=l(()=>de.current(),[]);oe.current=()=>{var e;K.current=0;const t=q.current;if(!t)return;const n=t.getContext("2d");if(!n)return;const a=H.current,r=Y.current,i=X.current;r.dirty&&r.recalculate(a,I),i.dirty&&i.recalculate(a,G);let c=g||r.extent,l=f||i.extent;if("bar"===o&&N&&!f&&a.size>0){const[,e]=function(e,t,n,a,o){const r=Er(e,t,n,a,o);if(0===r.size)return[0,0];let s=0;for(const e of r.values())e.total>s&&(s=e.total);return[0,s]}(a,I,G,N,_);l=[0,e+e*b]}else if("waterfall"===o&&!f&&a.size>0){const[e,t]=function(e,t){let n=0,a=0,o=0;for(const r of e){const e=t(r);null==e||Number.isNaN(e)||(o+=e,n>o&&(n=o),o>a&&(a=o))}return[n,a]}(a,G),n=t-e,o=n>0?n*b:1;l=[Math.min(0,e-Math.abs(o)),Math.max(0,t+Math.abs(o))]}else if(!f&&l[0]!==1/0){const e=l[1]-l[0],t=e>0?e*b:1;l=[l[0]-t,l[1]+t]}c[0]!==1/0&&c[1]!==-1/0||(c=[0,1]),l[0]!==1/0&&l[1]!==-1/0||(l=[0,1]);const d=function(e,t,n,a,o){let r,s;return"x"===Cr(e)?(r="right"===e?[0,a]:[a,0],s=[o,0]):(r="down"===e?[0,o]:[o,0],s=[0,a]),{time:M().domain(t).range(r),value:M().domain(n).range(s)}}(s,c,l,V,W);Q.current=d;const u="undefined"!=typeof window&&window.devicePixelRatio||1;t.width=x[0]*u,t.height=x[1]*u,t.style.width=x[0]+"px",t.style.height=x[1]+"px",n.scale(u,u),n.translate(B.left,B.top),n.clearRect(-B.left,-B.top,x[0],x[1]);const p=function(e){if(!e)return Nr;const t=getComputedStyle(e),n=t.getPropertyValue("--text-secondary").trim(),a=t.getPropertyValue("--text-primary").trim(),o=t.getPropertyValue("--surface-3").trim(),r=t.getPropertyValue("--surface-0").trim();return n||a?{axisStroke:o||Nr.axisStroke,tickText:n||Nr.tickText,crosshair:n?n+"66":Nr.crosshair,hoverFill:r?r+"4D":Nr.hoverFill,hoverStroke:n?n+"99":Nr.hoverStroke,pointRing:r||Nr.pointRing}:Nr}(t);C&&(n.fillStyle=C,n.fillRect(0,0,V,W)),P&&(n.save(),function(e,t,n,a,o,r,s,i,c){const l=Cr(t),d=i||zr,u=c||Nr;if(e.strokeStyle=u.axisStroke,e.lineWidth=1,e.fillStyle=u.tickText,e.font="10px sans-serif",e.textAlign="center",e.textBaseline="top","x"===l){e.beginPath(),e.moveTo(0,r),e.lineTo(o,r),e.stroke(),e.beginPath(),e.moveTo(0,0),e.lineTo(0,r),e.stroke();const t=n.ticks(5);e.textAlign="center",e.textBaseline="top";for(const a of t){const t=n(a);e.beginPath(),e.moveTo(t,r),e.lineTo(t,r+5),e.stroke(),s&&e.fillText(s(a),t,r+7)}e.textAlign="right",e.textBaseline="middle";const i=a.ticks(5);for(const t of i){const n=a(t);e.beginPath(),e.moveTo(-5,n),e.lineTo(0,n),e.stroke(),e.fillText(d(t),-8,n)}}else{e.beginPath(),e.moveTo(0,0),e.lineTo(0,r),e.stroke(),e.beginPath(),e.moveTo(0,"y"===l&&"down"===t?0:r),e.lineTo(o,"y"===l&&"down"===t?0:r),e.stroke(),e.textAlign="center",e.textBaseline="top";const i=a.ticks(5);for(const t of i){const n=a(t);e.beginPath(),e.moveTo(n,r),e.lineTo(n,r+5),e.stroke(),e.fillText(d(t),n,r+7)}e.textAlign="right",e.textBaseline="middle";const c=n.ticks(5);for(const t of c){const a=n(t);e.beginPath(),e.moveTo(-5,a),e.lineTo(0,a),e.stroke(),s&&e.fillText(s(t),-8,a)}}}(n,s,d.time,d.value,V,W,L,R,p),n.restore());const y=Or[o];if(y&&y(n,a,d,{width:V,height:W,timeAxis:Cr(s)},j,{time:I,value:G,category:_},A,"bar"===o?{binSize:N,barColors:$,barStyle:D}:"waterfall"===o?{waterfallStyle:F}:"swarm"===o?{swarmStyle:T,barColors:$}:void 0),S&&te.current&&"bar"===o&&N){const t=te.current.data;if(null!=t.binStart){const a=null!==(e=null==D?void 0:D.gap)&&void 0!==e?e:1,o=Cr(s),r=null!=t.hoveredCategory?(()=>{const e=t.categories||{},n=$?Object.keys($):[],a=new Set(n),o=Object.keys(e).filter(e=>!a.has(e)).sort(),r=[...n.filter(t=>t in e),...o];let s=0;for(const n of r){if(n===t.hoveredCategory)return s;s+=e[n]||0}return s})():0,i=null!=t.hoveredCategory?r+(t.hoveredCategoryValue||0):t.total,[c,l]=d.time.domain(),u=Math.max(t.binStart,c),y=Math.min(t.binEnd,l);if("x"===o){const e=d.time(u),t=d.time(y),o=Math.min(e,t)+a/2,s=Math.max(e,t)-a/2,c=d.value(r),l=d.value(i),m=Math.min(c,l),h=Math.abs(c-l);n.fillStyle=p.hoverFill,n.fillRect(o,m,s-o,h),n.strokeStyle=p.hoverStroke,n.lineWidth=1,n.setLineDash([]),n.strokeRect(o,m,s-o,h)}else{const e=d.time(u),t=d.time(y),o=Math.min(e,t)+a/2,s=Math.max(e,t)-a/2,c=d.value(r),l=d.value(i),m=Math.min(c,l),h=Math.abs(l-c);n.fillStyle=p.hoverFill,n.fillRect(m,o,h,s-o),n.strokeStyle=p.hoverStroke,n.lineWidth=1,n.setLineDash([]),n.strokeRect(m,o,h,s-o)}}}S&&te.current&&function(e,t,n,a,o,r,s){if(!1===o.crosshair)return;const i=s||Nr;e.save();const c="object"==typeof o.crosshair?o.crosshair:{};e.strokeStyle=c.stroke||i.crosshair,e.lineWidth=c.strokeWidth||1,e.setLineDash(c.strokeDasharray?c.strokeDasharray.split(/[\s,]+/).map(Number):[4,4]),e.beginPath(),e.moveTo(t.x,0),e.lineTo(t.x,a),e.stroke(),e.beginPath(),e.moveTo(0,t.y),e.lineTo(n,t.y),e.stroke(),e.restore(),e.beginPath(),e.arc(t.x,t.y,4,0,2*Math.PI),e.fillStyle=r,e.fill(),e.strokeStyle=i.pointRing,e.lineWidth=2,e.stroke()}(n,te.current,V,W,"object"==typeof S?S:{},j.stroke||"#007bff",p);const m=Z.current;Z.current=!1,m&&A&&A.length>0&&E&&J(e=>e+1)},i(()=>(re(),()=>{K.current&&cancelAnimationFrame(K.current)}),[re]),i(()=>{Z.current=!0,re()},[s,o,V,W,P,C,j,re]);const ye=e.useMemo(()=>{if(!A||0===A.length||!E)return null;const e=Q.current,t=Cr(s);return A.map((n,a)=>E(n,a,{scales:e,timeAxis:t,width:V,height:W})).filter(Boolean)},[A,E,s,V,W,U]),me=ye&&ye.length>0,he=S&&ne?e.createElement("div",{className:"realtime-frame-tooltip",style:{position:"absolute",left:B.left+ne.x,top:B.top+ne.y,transform:`translate(${ne.x>.7*V?"calc(-100% - 12px)":"12px"}, ${.3*W>ne.y?"4px":"calc(-100% - 4px)"})`,pointerEvents:"none",zIndex:1}},O?O(ne):e.createElement(Dr,{hover:ne,formatTime:L})):null;return e.createElement("div",{className:"realtime-frame"+(k?" "+k:""),style:{position:"relative",width:x[0],height:x[1]},onMouseMove:S?ue:void 0,onMouseLeave:S?pe:void 0},e.createElement("canvas",{ref:q,style:{position:"absolute",left:0,top:0}}),me&&e.createElement("svg",{width:x[0],height:x[1],style:{position:"absolute",top:0,left:0,pointerEvents:"none"}},e.createElement("g",{transform:`translate(${B.left},${B.top})`},ye)),he)}),Tr=d(function(t,n){const{size:a=[500,300],margin:o,className:r,arrowOfTime:s="right",windowMode:i="sliding",windowSize:l=200,data:d,timeAccessor:p,valueAccessor:y,timeExtent:m,valueExtent:h,extentPadding:g,stroke:f="#007bff",strokeWidth:b=2,strokeDasharray:x,showAxes:v=!0,background:k,enableHover:j,tooltipContent:A,onHover:E,annotations:S,svgAnnotationRules:O,tickFormatTime:w,tickFormatValue:M}=t,P=c(null);return u(n,()=>({push:e=>{var t;return null===(t=P.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=P.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=P.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=P.current)||void 0===e?void 0:e.getData())&&void 0!==t?t:[]}})),e.createElement(Fr,{ref:P,chartType:"line",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:l,data:d,timeAccessor:p,valueAccessor:y,timeExtent:m,valueExtent:h,extentPadding:g,lineStyle:{stroke:f,strokeWidth:b,strokeDasharray:x},showAxes:v,background:k,hoverAnnotation:j,tooltipContent:A,customHoverBehavior:E,annotations:S,svgAnnotationRules:O,tickFormatTime:w,tickFormatValue:M})}),Lr=d(function(t,n){const{binSize:a,size:o=[500,300],margin:r,className:s,arrowOfTime:i="right",windowMode:l="sliding",windowSize:d=200,data:p,timeAccessor:y,valueAccessor:m,timeExtent:h,valueExtent:g,extentPadding:f,categoryAccessor:b,colors:x,fill:v,stroke:k,strokeWidth:j,gap:A,showAxes:E=!0,background:S,enableHover:O,tooltipContent:w,onHover:M,annotations:P,svgAnnotationRules:C,tickFormatTime:z,tickFormatValue:N}=t,$=c(null);u(n,()=>({push:e=>{var t;return null===(t=$.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=$.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=$.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=$.current)||void 0===e?void 0:e.getData())&&void 0!==t?t:[]}}));const D={};return null!=v&&(D.fill=v),null!=k&&(D.stroke=k),null!=j&&(D.strokeWidth=j),null!=A&&(D.gap=A),e.createElement(Fr,{ref:$,chartType:"bar",size:o,margin:r,className:s,arrowOfTime:i,windowMode:l,windowSize:d,data:p,timeAccessor:y,valueAccessor:m,timeExtent:h,valueExtent:g,extentPadding:f,binSize:a,categoryAccessor:b,barColors:x,barStyle:D,showAxes:E,background:S,hoverAnnotation:O,tooltipContent:w,customHoverBehavior:M,annotations:P,svgAnnotationRules:C,tickFormatTime:z,tickFormatValue:N})}),Rr=d(function(t,n){const{size:a=[500,300],margin:o,className:r,arrowOfTime:s="right",windowMode:i="sliding",windowSize:l=200,data:d,timeAccessor:p,valueAccessor:y,timeExtent:m,valueExtent:h,extentPadding:g,categoryAccessor:f,colors:b,radius:x,fill:v,opacity:k,stroke:j,strokeWidth:A,showAxes:E=!0,background:S,enableHover:O,tooltipContent:w,onHover:M,annotations:P,svgAnnotationRules:C,tickFormatTime:z,tickFormatValue:N}=t,$=c(null);u(n,()=>({push:e=>{var t;return null===(t=$.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=$.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=$.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=$.current)||void 0===e?void 0:e.getData())&&void 0!==t?t:[]}}));const D={};return null!=x&&(D.radius=x),null!=v&&(D.fill=v),null!=k&&(D.opacity=k),null!=j&&(D.stroke=j),null!=A&&(D.strokeWidth=A),e.createElement(Fr,{ref:$,chartType:"swarm",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:l,data:d,timeAccessor:p,valueAccessor:y,timeExtent:m,valueExtent:h,extentPadding:g,categoryAccessor:f,barColors:b,swarmStyle:D,showAxes:E,background:S,hoverAnnotation:O,tooltipContent:w,customHoverBehavior:M,annotations:P,svgAnnotationRules:C,tickFormatTime:z,tickFormatValue:N})}),Br=d(function(t,n){const{size:a=[500,300],margin:o,className:r,arrowOfTime:s="right",windowMode:i="sliding",windowSize:l=200,data:d,timeAccessor:p,valueAccessor:y,timeExtent:m,valueExtent:h,extentPadding:g,positiveColor:f,negativeColor:b,connectorStroke:x,connectorWidth:v,gap:k,stroke:j,strokeWidth:A,showAxes:E=!0,background:S,enableHover:O,tooltipContent:w,onHover:M,annotations:P,svgAnnotationRules:C,tickFormatTime:z,tickFormatValue:N}=t,$=c(null);u(n,()=>({push:e=>{var t;return null===(t=$.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=$.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=$.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=$.current)||void 0===e?void 0:e.getData())&&void 0!==t?t:[]}}));const D={};return null!=f&&(D.positiveColor=f),null!=b&&(D.negativeColor=b),null!=x&&(D.connectorStroke=x),null!=v&&(D.connectorWidth=v),null!=k&&(D.gap=k),null!=j&&(D.stroke=j),null!=A&&(D.strokeWidth=A),e.createElement(Fr,{ref:$,chartType:"waterfall",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:l,data:d,timeAccessor:p,valueAccessor:y,timeExtent:m,valueExtent:h,extentPadding:g,waterfallStyle:D,showAxes:E,background:S,hoverAnnotation:O,tooltipContent:w,customHoverBehavior:M,annotations:P,svgAnnotationRules:C,tickFormatTime:z,tickFormatValue:N})}),Vr={width:{type:"number"},height:{type:"number"},margin:{type:"object"},className:{type:"string"},title:{type:"string"},enableHover:{type:"boolean"},showLegend:{type:"boolean"},showGrid:{type:"boolean"},colorBy:{type:["string","function"]},colorScheme:{type:["string","array"]},tooltip:{type:["function","object"]},frameProps:{type:"object"}},Wr={xLabel:{type:"string"},yLabel:{type:"string"},xFormat:{type:"function"},yFormat:{type:"function"}},Ir={categoryLabel:{type:"string"},valueLabel:{type:"string"},valueFormat:{type:"function"}},Gr=["linear","monotoneX","monotoneY","step","stepAfter","stepBefore","basis","cardinal","catmullRom"],_r=["vertical","horizontal"],Hr={LineChart:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Wr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},lineBy:{type:["string","function"]},lineDataAccessor:{type:"string"},curve:{type:"string",enum:Gr},lineWidth:{type:"number"},showPoints:{type:"boolean"},pointRadius:{type:"number"},fillArea:{type:"boolean"},areaOpacity:{type:"number"}})},AreaChart:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Wr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},areaBy:{type:["string","function"]},lineDataAccessor:{type:"string"},curve:{type:"string",enum:Gr},areaOpacity:{type:"number"},showLine:{type:"boolean"},lineWidth:{type:"number"}})},StackedAreaChart:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Wr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},areaBy:{type:["string","function"]},lineDataAccessor:{type:"string"},curve:{type:"string",enum:Gr},areaOpacity:{type:"number"},showLine:{type:"boolean"},lineWidth:{type:"number"},normalize:{type:"boolean"}})},Scatterplot:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Wr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},sizeBy:{type:["string","function"]},sizeRange:{type:"array"},pointRadius:{type:"number"},pointOpacity:{type:"number"}})},BubbleChart:{required:["data","sizeBy"],dataShape:"array",dataAccessors:["xAccessor","yAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Wr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},sizeBy:{type:["string","function"]},sizeRange:{type:"array"},bubbleOpacity:{type:"number"},bubbleStrokeWidth:{type:"number"},bubbleStrokeColor:{type:"string"}})},Heatmap:{required:["data"],dataShape:"array",dataAccessors:["xAccessor","yAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Wr),{data:{type:"array"},xAccessor:{type:["string","function"]},yAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},colorScheme:{type:"string",enum:["blues","reds","greens","viridis","custom"]},customColorScale:{type:["object","function"]},showValues:{type:"boolean"},valueFormat:{type:"function"},cellBorderColor:{type:"string"},cellBorderWidth:{type:"number"}})},BarChart:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Ir),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:_r},sort:{type:["boolean","string","function"]},barPadding:{type:"number"}})},StackedBarChart:{required:["data","stackBy"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Ir),{data:{type:"array"},categoryAccessor:{type:["string","function"]},stackBy:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:_r},normalize:{type:"boolean"},barPadding:{type:"number"}})},GroupedBarChart:{required:["data","groupBy"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Ir),{data:{type:"array"},categoryAccessor:{type:["string","function"]},groupBy:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:_r},barPadding:{type:"number"}})},SwarmPlot:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Ir),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:_r},sizeBy:{type:["string","function"]},sizeRange:{type:"array"},pointRadius:{type:"number"},pointOpacity:{type:"number"},categoryPadding:{type:"number"}})},BoxPlot:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Ir),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:_r},showOutliers:{type:"boolean"},outlierRadius:{type:"number"},categoryPadding:{type:"number"}})},DotPlot:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign(Object.assign({},Vr),Ir),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},orientation:{type:"string",enum:_r},sort:{type:["boolean","string","function"]},dotRadius:{type:"number"},categoryPadding:{type:"number"}})},PieChart:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign({},Vr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},startAngle:{type:"number"},slicePadding:{type:"number"}})},DonutChart:{required:["data"],dataShape:"array",dataAccessors:["categoryAccessor","valueAccessor"],props:Object.assign(Object.assign({},Vr),{data:{type:"array"},categoryAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},innerRadius:{type:"number"},centerContent:{type:["object","string","number"]},startAngle:{type:"number"},slicePadding:{type:"number"}})},ForceDirectedGraph:{required:["nodes","edges"],dataShape:"network",dataAccessors:["nodeIDAccessor","sourceAccessor","targetAccessor"],props:Object.assign(Object.assign({},Vr),{nodes:{type:"array"},edges:{type:"array"},nodeIDAccessor:{type:["string","function"]},sourceAccessor:{type:["string","function"]},targetAccessor:{type:["string","function"]},nodeLabel:{type:["string","function"]},nodeSize:{type:["number","string","function"]},nodeSizeRange:{type:"array"},edgeWidth:{type:["number","string","function"]},edgeColor:{type:"string"},edgeOpacity:{type:"number"},iterations:{type:"number"},forceStrength:{type:"number"},showLabels:{type:"boolean"}})},SankeyDiagram:{required:["edges"],dataShape:"network",dataAccessors:["sourceAccessor","targetAccessor"],props:Object.assign(Object.assign({},Vr),{nodes:{type:"array"},edges:{type:"array"},sourceAccessor:{type:["string","function"]},targetAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},edgeColorBy:{type:["string","function"],enum:["source","target","gradient"]},orientation:{type:"string",enum:_r},nodeAlign:{type:"string",enum:["justify","left","right","center"]},nodePaddingRatio:{type:"number"},nodeWidth:{type:"number"},nodeLabel:{type:["string","function"]},showLabels:{type:"boolean"},edgeOpacity:{type:"number"},edgeSort:{type:"function"}})},ChordDiagram:{required:["edges"],dataShape:"network",dataAccessors:["sourceAccessor","targetAccessor"],props:Object.assign(Object.assign({},Vr),{nodes:{type:"array"},edges:{type:"array"},sourceAccessor:{type:["string","function"]},targetAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},edgeColorBy:{type:["string","function"],enum:["source","target"]},padAngle:{type:"number"},groupWidth:{type:"number"},sortGroups:{type:"function"},nodeLabel:{type:["string","function"]},showLabels:{type:"boolean"},edgeOpacity:{type:"number"}})},TreeDiagram:{required:["data"],dataShape:"object",dataAccessors:[],props:Object.assign(Object.assign({},Vr),{data:{type:"object"},layout:{type:"string",enum:["tree","cluster","partition","treemap","circlepack"]},orientation:{type:"string",enum:["vertical","horizontal","radial"]},childrenAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},colorByDepth:{type:"boolean"},edgeStyle:{type:"string",enum:["line","curve"]},nodeLabel:{type:["string","function"]},showLabels:{type:"boolean"},nodeSize:{type:"number"}})},Treemap:{required:["data"],dataShape:"object",dataAccessors:[],props:Object.assign(Object.assign({},Vr),{data:{type:"object"},childrenAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},colorByDepth:{type:"boolean"},showLabels:{type:"boolean"},nodeLabel:{type:["string","function"]}})},CirclePack:{required:["data"],dataShape:"object",dataAccessors:[],props:Object.assign(Object.assign({},Vr),{data:{type:"object"},childrenAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},nodeIdAccessor:{type:["string","function"]},colorByDepth:{type:"boolean"},showLabels:{type:"boolean"},nodeLabel:{type:["string","function"]},circleOpacity:{type:"number"}})},RealtimeLineChart:{required:[],dataShape:"realtime",dataAccessors:[],props:{size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},stroke:{type:"string"},strokeWidth:{type:"number"},strokeDasharray:{type:"string"},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"}}},RealtimeBarChart:{required:["binSize"],dataShape:"realtime",dataAccessors:[],props:{binSize:{type:"number"},size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},categoryAccessor:{type:["string","function"]},colors:{type:"object"},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},fill:{type:"string"},stroke:{type:"string"},strokeWidth:{type:"number"},gap:{type:"number"},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"}}},RealtimeSwarmChart:{required:[],dataShape:"realtime",dataAccessors:[],props:{size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},categoryAccessor:{type:["string","function"]},colors:{type:"object"},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},radius:{type:"number"},fill:{type:"string"},opacity:{type:"number"},stroke:{type:"string"},strokeWidth:{type:"number"},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"}}},RealtimeWaterfallChart:{required:[],dataShape:"realtime",dataAccessors:[],props:{size:{type:"array"},margin:{type:"object"},className:{type:"string"},timeAccessor:{type:["string","function"]},valueAccessor:{type:["string","function"]},windowSize:{type:"number"},windowMode:{type:"string",enum:["sliding","stepping"]},arrowOfTime:{type:"string",enum:["left","right"]},positiveColor:{type:"string"},negativeColor:{type:"string"},connectorStroke:{type:"string"},connectorWidth:{type:"number"},gap:{type:"number"},stroke:{type:"string"},strokeWidth:{type:"number"},timeExtent:{type:"array"},valueExtent:{type:"array"},extentPadding:{type:"number"},showAxes:{type:"boolean"},background:{type:"string"},enableHover:{type:["boolean","object"]},tooltipContent:{type:"function"},onHover:{type:"function"},annotations:{type:"array"},svgAnnotationRules:{type:"function"},tickFormatTime:{type:"function"},tickFormatValue:{type:"function"}}}};function Yr(e,t){return(Array.isArray(t)?t:[t]).includes(Array.isArray(e)?"array":typeof e)}function Xr(e,t){const n=[],a=Hr[e];if(!a)return{valid:!1,errors:[`Unknown component "${e}". Valid components: ${Object.keys(Hr).join(", ")}`]};for(const o of a.required)null==t[o]&&n.push(`"${o}" is required for ${e}.`);for(const[e,o]of Object.entries(t)){if(null==o)continue;const t=a.props[e];if(t){if(!Yr(o,t.type)){const a=Array.isArray(t.type)?t.type.join(" | "):t.type;n.push(`"${e}" should be ${a}, got ${Array.isArray(o)?"array":typeof o}.`);continue}t.enum&&"string"==typeof o&&!t.enum.includes(o)&&n.push(`"${e}" value "${o}" is not valid. Expected one of: ${t.enum.join(", ")}.`)}}const o=new Set(Object.keys(a.props));for(const a of Object.keys(t))void 0!==t[a]&&(o.has(a)||n.push(`Unknown prop "${a}" for ${e}. Check for typos.`));if("array"===a.dataShape){const o=t.data,r={};for(const e of a.dataAccessors){const n=t[e];"string"==typeof n&&(r[e]=n)}const s=Pa({componentName:e,data:o,accessors:Object.keys(r).length>0?r:void 0});s&&n.push(s)}else if("object"===a.dataShape){const a=Ca({componentName:e,data:t.data});a&&n.push(a)}else if("network"===a.dataShape){const o=za({componentName:e,nodes:t.nodes,edges:t.edges,nodesRequired:a.required.includes("nodes"),edgesRequired:a.required.includes("edges")});o&&n.push(o)}return{valid:0===n.length,errors:n}}export{Fa as AreaChart,yo as BarChart,fo as BoxPlot,Ba as BubbleChart,mr as ChordDiagram,br as CirclePack,vo as DonutChart,bo as DotPlot,yr as ForceDirectedGraph,ho as GroupedBarChart,Va as Heatmap,$a as LineChart,Oa as MultiLineTooltip,xo as PieChart,Lr as RealtimeBarChart,Tr as RealtimeLineChart,Rr as RealtimeSwarmChart,Br as RealtimeWaterfallChart,hr as SankeyDiagram,Ra as Scatterplot,La as StackedAreaChart,mo as StackedBarChart,go as SwarmPlot,Re as TooltipProvider,gr as TreeDiagram,fr as Treemap,Xr as validateProps};