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.
- package/CLAUDE.md +530 -0
- package/README.md +190 -37
- package/ai/cli.js +48 -0
- package/ai/dist/ai/componentRegistry.js +45 -0
- package/ai/dist/ai/mcp-server.js +99 -0
- package/ai/dist/ai/renderHOCToSVG.js +77 -0
- package/ai/dist/src/components/Annotation.js +358 -0
- package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +369 -0
- package/ai/dist/src/components/Axis/Axis.js +373 -0
- package/ai/dist/src/components/Axis/axisTitle.js +14 -0
- package/ai/dist/src/components/Axis/index.js +7 -0
- package/ai/dist/src/components/Axis/summaryGraphic.js +37 -0
- package/ai/dist/src/components/Brush.js +84 -0
- package/ai/dist/src/components/DividedLine.js +65 -0
- package/ai/dist/src/components/FacetController.js +259 -0
- package/ai/dist/src/components/Frame.js +139 -0
- package/ai/dist/src/components/InteractionLayer.js +328 -0
- package/ai/dist/src/components/Legend.js +140 -0
- package/ai/dist/src/components/MiniMap.js +75 -0
- package/ai/dist/src/components/MinimapXYFrame.js +99 -0
- package/ai/dist/src/components/NetworkFrame.js +335 -0
- package/ai/dist/src/components/OrdinalFrame.js +437 -0
- package/ai/dist/src/components/ResponsiveFrame.js +68 -0
- package/ai/dist/src/components/ResponsiveMinimapXYFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveNetworkFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveOrdinalFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveXYFrame.js +10 -0
- package/ai/dist/src/components/SparkFrame.js +113 -0
- package/ai/dist/src/components/SparkNetworkFrame.js +11 -0
- package/ai/dist/src/components/SparkOrdinalFrame.js +11 -0
- package/ai/dist/src/components/SparkXYFrame.js +11 -0
- package/ai/dist/src/components/Tooltip/Tooltip.js +304 -0
- package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
- package/ai/dist/src/components/VisualizationLayer.js +395 -0
- package/ai/dist/src/components/XYFrame.js +524 -0
- package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
- package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
- package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
- package/ai/dist/src/components/annotationRules/networkframeRules.js +198 -0
- package/ai/dist/src/components/annotationRules/orframeRules.js +695 -0
- package/ai/dist/src/components/annotationRules/xyframeRules.js +299 -0
- package/ai/dist/src/components/batchWork.js +35 -0
- package/ai/dist/src/components/charts/index.js +96 -0
- package/ai/dist/src/components/charts/network/ChordDiagram.js +245 -0
- package/ai/dist/src/components/charts/network/CirclePack.js +177 -0
- package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +248 -0
- package/ai/dist/src/components/charts/network/SankeyDiagram.js +305 -0
- package/ai/dist/src/components/charts/network/TreeDiagram.js +268 -0
- package/ai/dist/src/components/charts/network/Treemap.js +177 -0
- package/ai/dist/src/components/charts/ordinal/BarChart.js +191 -0
- package/ai/dist/src/components/charts/ordinal/BoxPlot.js +235 -0
- package/ai/dist/src/components/charts/ordinal/DonutChart.js +178 -0
- package/ai/dist/src/components/charts/ordinal/DotPlot.js +194 -0
- package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +194 -0
- package/ai/dist/src/components/charts/ordinal/PieChart.js +155 -0
- package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +213 -0
- package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +219 -0
- package/ai/dist/src/components/charts/realtime/RealtimeBarChart.js +91 -0
- package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +73 -0
- package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +85 -0
- package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +86 -0
- package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
- package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
- package/ai/dist/src/components/charts/shared/formatUtils.js +176 -0
- package/ai/dist/src/components/charts/shared/hooks.js +49 -0
- package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
- package/ai/dist/src/components/charts/shared/types.js +2 -0
- package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
- package/ai/dist/src/components/charts/shared/validateProps.js +640 -0
- package/ai/dist/src/components/charts/xy/AreaChart.js +220 -0
- package/ai/dist/src/components/charts/xy/BubbleChart.js +222 -0
- package/ai/dist/src/components/charts/xy/Heatmap.js +230 -0
- package/ai/dist/src/components/charts/xy/LineChart.js +302 -0
- package/ai/dist/src/components/charts/xy/Scatterplot.js +136 -0
- package/ai/dist/src/components/charts/xy/StackedAreaChart.js +220 -0
- package/ai/dist/src/components/constants/coordinateNames.js +11 -0
- package/ai/dist/src/components/constants/frame_props.js +251 -0
- package/ai/dist/src/components/constants/jsx.js +71 -0
- package/ai/dist/src/components/data/dataFunctions.js +473 -0
- package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
- package/ai/dist/src/components/data/networkPipelineCache.js +43 -0
- package/ai/dist/src/components/data/ordinalPipelineCache.js +53 -0
- package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
- package/ai/dist/src/components/data/xyPipelineCache.js +49 -0
- package/ai/dist/src/components/generic_utilities/functions.js +5 -0
- package/ai/dist/src/components/index.js +145 -0
- package/ai/dist/src/components/interactionLayerBehavior/InteractionCanvas.js +128 -0
- package/ai/dist/src/components/processing/InteractionItems.js +223 -0
- package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
- package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
- package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
- package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
- package/ai/dist/src/components/processing/layouts/index.js +32 -0
- package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
- package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
- package/ai/dist/src/components/processing/layouts/types.js +2 -0
- package/ai/dist/src/components/processing/network.js +771 -0
- package/ai/dist/src/components/processing/networkDefaults.js +39 -0
- package/ai/dist/src/components/processing/networkLayoutHelpers.js +98 -0
- package/ai/dist/src/components/processing/ordinal.js +889 -0
- package/ai/dist/src/components/processing/ordinalConstants.js +23 -0
- package/ai/dist/src/components/processing/ordinalOverlays.js +88 -0
- package/ai/dist/src/components/processing/ordinalRenderPipeline.js +196 -0
- package/ai/dist/src/components/processing/xyDrawing.js +484 -0
- package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
- package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
- package/ai/dist/src/components/realtime/RealtimeFrame.js +710 -0
- package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
- package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
- package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
- package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
- package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
- package/ai/dist/src/components/realtime/renderers/types.js +2 -0
- package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
- package/ai/dist/src/components/realtime/types.js +2 -0
- package/ai/dist/src/components/semiotic-ai.js +66 -0
- package/ai/dist/src/components/semiotic-network.js +30 -0
- package/ai/dist/src/components/semiotic-ordinal.js +28 -0
- package/ai/dist/src/components/semiotic-realtime.js +37 -0
- package/ai/dist/src/components/semiotic-server.js +8 -0
- package/ai/dist/src/components/semiotic-xy.js +41 -0
- package/ai/dist/src/components/semiotic.js +101 -0
- package/ai/dist/src/components/server/renderToStaticSVG.js +392 -0
- package/ai/dist/src/components/store/TooltipStore.js +13 -0
- package/ai/dist/src/components/store/createStore.js +77 -0
- package/ai/dist/src/components/svg/SvgHelper.js +308 -0
- package/ai/dist/src/components/svg/areaDrawing.js +312 -0
- package/ai/dist/src/components/svg/boxplotRenderer.js +441 -0
- package/ai/dist/src/components/svg/bucketizedRenderer.js +677 -0
- package/ai/dist/src/components/svg/ckbinsRenderer.js +92 -0
- package/ai/dist/src/components/svg/ckmeans.js +238 -0
- package/ai/dist/src/components/svg/contourLayout.js +73 -0
- package/ai/dist/src/components/svg/contourRenderer.js +53 -0
- package/ai/dist/src/components/svg/edgeGenerators.js +181 -0
- package/ai/dist/src/components/svg/frameFunctions.js +579 -0
- package/ai/dist/src/components/svg/graphAlgorithms.js +138 -0
- package/ai/dist/src/components/svg/hexbinLayout.js +163 -0
- package/ai/dist/src/components/svg/lineDrawing.js +427 -0
- package/ai/dist/src/components/svg/networkDrawing.js +207 -0
- package/ai/dist/src/components/svg/nodeGenerators.js +131 -0
- package/ai/dist/src/components/svg/pieceDrawing.js +110 -0
- package/ai/dist/src/components/svg/pieceLayouts.js +588 -0
- package/ai/dist/src/components/svg/sankeyLinks.js +143 -0
- package/ai/dist/src/components/svg/summaryAxis.js +48 -0
- package/ai/dist/src/components/svg/summaryLayouts.js +202 -0
- package/ai/dist/src/components/svg/swarmLayout.js +128 -0
- package/ai/dist/src/components/types/annotationTypes.js +2 -0
- package/ai/dist/src/components/types/canvasTypes.js +2 -0
- package/ai/dist/src/components/types/generalTypes.js +2 -0
- package/ai/dist/src/components/types/interactionTypes.js +2 -0
- package/ai/dist/src/components/types/legendTypes.js +2 -0
- package/ai/dist/src/components/types/networkTypes.js +2 -0
- package/ai/dist/src/components/types/ordinalTypes.js +2 -0
- package/ai/dist/src/components/types/xyTypes.js +2 -0
- package/ai/dist/src/components/useBoundingRect.js +24 -0
- package/ai/dist/src/components/useDerivedStateFromProps.js +25 -0
- package/ai/dist/src/components/useLegacyUnmountCallback.js +21 -0
- package/ai/dist/src/components/visualizationLayerBehavior/axis.js +249 -0
- package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
- package/ai/dist/src/setupTests.js +4 -0
- package/ai/examples.md +394 -0
- package/ai/schema.json +1178 -0
- package/ai/system-prompt.md +38 -0
- package/dist/Annotation.d.ts +3 -0
- package/dist/AnnotationLayer/AnnotationLayer.d.ts +25 -0
- package/dist/Axis/Axis.d.ts +7 -0
- package/dist/Axis/axisTitle.d.ts +10 -0
- package/dist/Axis/index.d.ts +2 -0
- package/dist/Axis/summaryGraphic.d.ts +17 -0
- package/dist/Brush.d.ts +12 -0
- package/dist/DividedLine.d.ts +16 -0
- package/dist/FacetController.d.ts +12 -0
- package/dist/Frame.d.ts +2 -0
- package/dist/InteractionLayer.d.ts +3 -0
- package/dist/Legend.d.ts +3 -0
- package/dist/MiniMap.d.ts +14 -0
- package/dist/MinimapXYFrame.d.ts +10 -0
- package/dist/NetworkFrame.d.ts +8 -0
- package/dist/OrdinalFrame.d.ts +8 -0
- package/dist/ResponsiveFrame.d.ts +22 -0
- package/dist/ResponsiveMinimapXYFrame.d.ts +3 -0
- package/dist/ResponsiveNetworkFrame.d.ts +3 -0
- package/dist/ResponsiveOrdinalFrame.d.ts +3 -0
- package/dist/ResponsiveXYFrame.d.ts +3 -0
- package/dist/SparkFrame.d.ts +14 -0
- package/dist/SparkNetworkFrame.d.ts +5 -0
- package/dist/SparkOrdinalFrame.d.ts +5 -0
- package/dist/SparkXYFrame.d.ts +5 -0
- package/dist/Tooltip/Tooltip.d.ts +141 -0
- package/dist/TooltipPositioner/index.d.ts +7 -0
- package/dist/VisualizationLayer.d.ts +33 -0
- package/dist/XYFrame.d.ts +8 -0
- package/dist/annotationLayerBehavior/annotationHandling.d.ts +19 -0
- package/dist/annotationLayerBehavior/d3labeler.d.ts +9 -0
- package/dist/annotationRules/baseRules.d.ts +25 -0
- package/dist/annotationRules/networkframeRules.d.ts +48 -0
- package/dist/annotationRules/orframeRules.d.ts +103 -0
- package/dist/annotationRules/xyframeRules.d.ts +117 -0
- package/dist/batchWork.d.ts +6 -0
- package/dist/charts/index.d.ts +62 -0
- package/dist/charts/network/ChordDiagram.d.ts +181 -0
- package/dist/charts/network/CirclePack.d.ts +103 -0
- package/dist/charts/network/ForceDirectedGraph.d.ts +192 -0
- package/dist/charts/network/SankeyDiagram.d.ts +195 -0
- package/dist/charts/network/TreeDiagram.d.ts +200 -0
- package/dist/charts/network/Treemap.d.ts +98 -0
- package/dist/charts/ordinal/BarChart.d.ts +119 -0
- package/dist/charts/ordinal/BoxPlot.d.ts +125 -0
- package/dist/charts/ordinal/DonutChart.d.ts +95 -0
- package/dist/charts/ordinal/DotPlot.d.ts +128 -0
- package/dist/charts/ordinal/GroupedBarChart.d.ts +113 -0
- package/dist/charts/ordinal/PieChart.d.ts +83 -0
- package/dist/charts/ordinal/StackedBarChart.d.ts +119 -0
- package/dist/charts/ordinal/SwarmPlot.d.ts +137 -0
- package/dist/charts/realtime/RealtimeBarChart.d.ts +102 -0
- package/dist/charts/realtime/RealtimeLineChart.d.ts +78 -0
- package/dist/charts/realtime/RealtimeSwarmChart.d.ts +88 -0
- package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +85 -0
- package/dist/charts/shared/ChartError.d.ts +19 -0
- package/dist/charts/shared/colorUtils.d.ts +62 -0
- package/dist/charts/shared/formatUtils.d.ts +82 -0
- package/dist/charts/shared/hooks.d.ts +20 -0
- package/dist/charts/shared/legendUtils.d.ts +32 -0
- package/dist/charts/shared/types.d.ts +58 -0
- package/dist/charts/shared/validateChartData.d.ts +41 -0
- package/dist/charts/shared/validateProps.d.ts +18 -0
- package/dist/charts/xy/AreaChart.d.ts +127 -0
- package/dist/charts/xy/BubbleChart.d.ts +157 -0
- package/dist/charts/xy/Heatmap.d.ts +153 -0
- package/dist/charts/xy/LineChart.d.ts +193 -0
- package/dist/charts/xy/Scatterplot.d.ts +50 -0
- package/dist/charts/xy/StackedAreaChart.d.ts +131 -0
- package/dist/constants/coordinateNames.d.ts +8 -0
- package/dist/constants/frame_props.d.ts +13 -0
- package/dist/constants/jsx.d.ts +19 -0
- package/dist/data/dataFunctions.d.ts +45 -0
- package/dist/data/multiAccessorUtils.d.ts +1 -0
- package/dist/data/networkPipelineCache.d.ts +27 -0
- package/dist/data/ordinalPipelineCache.d.ts +33 -0
- package/dist/data/unflowedFunctions.d.ts +1 -0
- package/dist/data/xyPipelineCache.d.ts +35 -0
- package/dist/generic_utilities/functions.d.ts +1 -0
- package/dist/index.d.ts +133 -0
- package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +20 -0
- package/dist/network.js +8520 -0
- package/dist/network.js.map +1 -0
- package/dist/network.min.js +1 -0
- package/dist/network.module.js +8484 -0
- package/dist/network.module.js.map +1 -0
- package/dist/network.module.min.js +1 -0
- package/dist/ordinal.js +9276 -0
- package/dist/ordinal.js.map +1 -0
- package/dist/ordinal.min.js +1 -0
- package/dist/ordinal.module.js +9242 -0
- package/dist/ordinal.module.js.map +1 -0
- package/dist/ordinal.module.min.js +1 -0
- package/dist/processing/InteractionItems.d.ts +13 -0
- package/dist/processing/hierarchyUtils.d.ts +16 -0
- package/dist/processing/layouts/chordLayout.d.ts +2 -0
- package/dist/processing/layouts/forceLayout.d.ts +3 -0
- package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
- package/dist/processing/layouts/index.d.ts +8 -0
- package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
- package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
- package/dist/processing/layouts/types.d.ts +17 -0
- package/dist/processing/network.d.ts +111 -0
- package/dist/processing/networkDefaults.d.ts +36 -0
- package/dist/processing/networkLayoutHelpers.d.ts +54 -0
- package/dist/processing/ordinal.d.ts +102 -0
- package/dist/processing/ordinalConstants.d.ts +33 -0
- package/dist/processing/ordinalOverlays.d.ts +33 -0
- package/dist/processing/ordinalRenderPipeline.d.ts +148 -0
- package/dist/processing/xyDrawing.d.ts +140 -0
- package/dist/realtime/BinAccumulator.d.ts +8 -0
- package/dist/realtime/IncrementalExtent.d.ts +13 -0
- package/dist/realtime/RealtimeFrame.d.ts +4 -0
- package/dist/realtime/RingBuffer.d.ts +19 -0
- package/dist/realtime/renderers/barRenderer.d.ts +2 -0
- package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
- package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
- package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
- package/dist/realtime/renderers/types.d.ts +9 -0
- package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
- package/dist/realtime/types.d.ts +113 -0
- package/dist/realtime.js +1598 -0
- package/dist/realtime.js.map +1 -0
- package/dist/realtime.min.js +1 -0
- package/dist/realtime.module.js +1566 -0
- package/dist/realtime.module.js.map +1 -0
- package/dist/realtime.module.min.js +1 -0
- package/dist/semiotic-ai.d.ts +28 -0
- package/dist/semiotic-ai.js +18722 -0
- package/dist/semiotic-ai.js.map +1 -0
- package/dist/semiotic-ai.min.js +1 -0
- package/dist/semiotic-ai.module.js +18668 -0
- package/dist/semiotic-ai.module.js.map +1 -0
- package/dist/semiotic-ai.module.min.js +1 -0
- package/dist/semiotic-network.d.ts +19 -0
- package/dist/semiotic-ordinal.d.ts +18 -0
- package/dist/semiotic-realtime.d.ts +23 -0
- package/dist/semiotic-server.d.ts +1 -0
- package/dist/semiotic-xy.d.ts +24 -0
- package/dist/semiotic.d.ts +51 -0
- package/dist/semiotic.js +18723 -12996
- package/dist/semiotic.js.map +1 -0
- package/dist/semiotic.min.js +1 -0
- package/dist/semiotic.module.js +18666 -12965
- package/dist/semiotic.module.js.map +1 -0
- package/dist/semiotic.module.min.js +1 -0
- package/dist/server/renderToStaticSVG.d.ts +9 -0
- package/dist/server.js +8360 -0
- package/dist/server.js.map +1 -0
- package/dist/server.min.js +1 -0
- package/dist/server.module.js +8331 -0
- package/dist/server.module.js.map +1 -0
- package/dist/server.module.min.js +1 -0
- package/dist/store/TooltipStore.d.ts +2 -0
- package/dist/store/createStore.d.ts +1 -0
- package/dist/svg/SvgHelper.d.ts +33 -0
- package/dist/svg/areaDrawing.d.ts +21 -0
- package/dist/svg/boxplotRenderer.d.ts +15 -0
- package/dist/svg/bucketizedRenderer.d.ts +16 -0
- package/dist/svg/ckbinsRenderer.d.ts +20 -0
- package/dist/svg/ckmeans.d.ts +69 -0
- package/dist/svg/contourLayout.d.ts +6 -0
- package/dist/svg/contourRenderer.d.ts +12 -0
- package/dist/svg/edgeGenerators.d.ts +51 -0
- package/dist/svg/frameFunctions.d.ts +108 -0
- package/dist/svg/graphAlgorithms.d.ts +14 -0
- package/dist/svg/hexbinLayout.d.ts +7 -0
- package/dist/svg/lineDrawing.d.ts +99 -0
- package/dist/svg/networkDrawing.d.ts +16 -0
- package/dist/svg/nodeGenerators.d.ts +58 -0
- package/dist/svg/pieceDrawing.d.ts +12 -0
- package/dist/svg/pieceLayouts.d.ts +53 -0
- package/dist/svg/sankeyLinks.d.ts +3 -0
- package/dist/svg/summaryAxis.d.ts +6 -0
- package/dist/svg/summaryLayouts.d.ts +53 -0
- package/dist/svg/swarmLayout.d.ts +13 -0
- package/dist/types/annotationTypes.d.ts +135 -0
- package/dist/types/canvasTypes.d.ts +9 -0
- package/dist/types/generalTypes.d.ts +238 -0
- package/dist/types/interactionTypes.d.ts +72 -0
- package/dist/types/legendTypes.d.ts +20 -0
- package/dist/types/networkTypes.d.ts +175 -0
- package/dist/types/ordinalTypes.d.ts +112 -0
- package/dist/types/xyTypes.d.ts +115 -0
- package/dist/useBoundingRect.d.ts +2 -0
- package/dist/useDerivedStateFromProps.d.ts +1 -0
- package/dist/useLegacyUnmountCallback.d.ts +2 -0
- package/dist/visualizationLayerBehavior/axis.d.ts +36 -0
- package/dist/visualizationLayerBehavior/general.d.ts +80 -0
- package/dist/xy.js +7944 -0
- package/dist/xy.js.map +1 -0
- package/dist/xy.min.js +1 -0
- package/dist/xy.module.js +7903 -0
- package/dist/xy.module.js.map +1 -0
- package/dist/xy.module.min.js +1 -0
- 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 p from"labella";import{line as m,curveLinear as y,arc as h,curveLinearClosed as g,curveCardinal as f,curveNatural as x,curveMonotoneY as b,curveMonotoneX as v,curveCatmullRom as k,curveBasis as j,curveStepAfter as E,curveStepBefore as A,curveStep as O,area as S,linkVertical as w,linkHorizontal as M}from"d3-shape";import{sum as P,extent as z,quantile as C,histogram as N,max as $,min as F}from"d3-array";import{scaleLinear as D,scaleOrdinal as T,scaleBand as R,scaleSequential as L}from"d3-scale";import{brushX as B,brushY as V,brush as I}from"d3-brush";import{select as W}from"d3-selection";import{Delaunay as H}from"d3-delaunay";import{contourDensity as G}from"d3-contour";import _ from"regression";import{packEnclose as Y,partition as X,treemap as K,cluster as q,pack as Z,tree as J,hierarchy as U}from"d3-hierarchy";import{polygonHull as Q}from"d3-polygon";import ee from"polygon-offset";import{hexbin as te}from"d3-hexbin";import ne from"memoize-one";import ae from"svg-path-bounding-box";import{forceSimulation as oe,forceY as re,forceX as se,forceCollide as ie,forceLink as ce,forceManyBody as le}from"d3-force";import{d as de}from"d3-glyphedge";import{pathArrows as ue}from"d3-path-arrows";import{interpolateNumber as pe}from"d3-interpolate";import{ribbon as me,chord as ye}from"d3-chord";import{sankeyJustify as he,sankeyCenter as ge,sankeyRight as fe,sankeyLeft as xe,sankeyCircular as be}from"d3-sankey-circular";import{interpolatePlasma as ve,interpolateViridis as ke,interpolatePurples as je,interpolateOranges as Ee,interpolateGreens as Ae,interpolateReds as Oe,interpolateBlues as Se,schemeSet3 as we,schemeTableau10 as Me,schemeCategory10 as Pe}from"d3-scale-chromatic";const ze=(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 Ce={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,Ce[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 Fe(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 De(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:m,disable:y,events:h={},"data-testid":g}=t,f=new Set(Array.isArray(y)?y:[]);let x=o||0,b=r||0;null!=s&&(x=s-n),null!=i&&(b=i-a);const v="string"==typeof u?u:"label";if("bracket"===v&&d&&0===x&&0===b)if(void 0!==d.width){x=d.width/2;const e=d.depth||30;b=e+(0>e?-5:5)}else if(void 0!==d.height){const e=d.depth||30;x=e+(0>e?-5:5),b=d.height/2}return e.createElement("g",Object.assign({className:("annotation "+(m||"")).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)}(x,b,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:De((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 m="start";"topBottom"===u?"right"===p?m="end":"middle"===p&&(m="middle"):m=0>n?"end":"start";const y=16,h=s?d?[s]:Fe(s,l):[],g=r?d?[r]:Fe(r,l):[],f="leftRight"===u?"end"===m?-4:4:0;let x=0;const b=[];h.length>0&&(b.push(e.createElement("text",{key:"annotation-note-title",className:"annotation-note-title",fill:o||void 0,textAnchor:m,fontWeight:"bold"},h.map((t,n)=>e.createElement("tspan",{key:n,x:f,dy:0===n?0:y},t)))),x=h.length*y),g.length>0&&b.push(e.createElement("text",{key:"annotation-note-label",className:"annotation-note-label",fill:o||void 0,textAnchor:m,y:x},g.map((t,n)=>e.createElement("tspan",{key:n,x:f,dy:y},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"===m?(n=-t,a=0):"middle"===m&&(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)*y+(g.length>0?y: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)*y+(g.length>0?y: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},b),v)}(c,x,b,p))}function Re(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[Le,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 Ie=(e,t,n)=>`${e.map(We).join(",")}${JSON.stringify(t)}${n.join(",")}`;function We(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 He(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 Ge(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 _e=(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:m=!1,size:y,svgAnnotationRule:h,htmlAnnotationRule:g}=t,f="object"==typeof m?m:{layout:{type:m},dataVersion:""},{dataVersion:x=""}=f;if(h){const n=_e(t,u);o=Ie(n,f,y),!1===m&&(a=r),a=a.length!==r.length||l!==o||d!==x?((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||ze}=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})),m=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,m,y,h,g=t[e].x,f=t[e].y-t[e].height+2,x=t[e].x+t[e].width,b=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,m=Math.max(0,Math.min(l,x)-Math.max(c,g)),y=Math.max(0,Math.min(p,b)-Math.max(u,f)),h=m*y,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,m=Math.max(0,Math.min(l,x)-Math.max(c,g)),y=Math.max(0,Math.min(p,b)-Math.max(u,f)),h=m*y,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 m=l-c;Math.random()<Math.exp(-m/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),m=Math.sin(p),y=Math.cos(p);t[l].x-=n[l].x,t[l].y-=n[l].y;let h,g=t[l].x*m+t[l].y*y;t[l].x=t[l].x*y-t[l].y*m+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 m.label(u),m.anchor(p),m.width(n[0]),m.height(n[1]),m.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:m=2,axisMarginOverride:y={}}=o,h="nearest"===a?["left","right","top","bottom"]:Array.isArray(a)?a:[a],g=h.find(e=>"left"===e),f=h.find(e=>"right"===e),x=h.find(e=>"top"===e),b=h.find(e=>"bottom"===e),v=[],k=[],j=[],E=[];for(const e of t){const t=e.props.noteData,n=t.x[0]||t.x,a=t.y[0]||t.y,o=g?n:1/0,r=f?c[0]-n:1/0,s=x?a:1/0,i=Math.min(o,r,s,b?c[1]-a:1/0);o===i?v.push(e):r===i?k.push(e):s===i?j.push(e):E.push(e)}const A=new p.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(v.map(e=>new p.Node(e.props.noteData.y[0]||e.props.noteData.y,Ge(e.props.noteData,d,u,r)+m))).compute(),O=new p.Force({minPos:void 0!==y.top?0+y.top:x?0:0-i.top,maxPos:void 0!==y.bottom?c[1]-y.bottom:c[1]+i.bottom}).nodes(k.map(e=>new p.Node(e.props.noteData.y[0]||e.props.noteData.y,Ge(e.props.noteData,d,u,r)+m))).compute(),S=new p.Force({minPos:void 0!==y.left?0+y.left:g?0:0-i.left,maxPos:void 0!==y.right?c[0]-y.right:c[0]+i.right}).nodes(j.map(e=>new p.Node(e.props.noteData.x[0]||e.props.noteData.x,He(e.props.noteData,d,s)+m))).compute(),w=new p.Force({minPos:void 0!==y.left?0+y.left:0-i.left,maxPos:void 0!==y.right?c[0]-y.right:f?c[0]:c[0]+i.right}).nodes(E.map(e=>new p.Node(e.props.noteData.x[0]||e.props.noteData.x,He(e.props.noteData,d,s)+m))).compute(),M=Math.max(...E.map(e=>Ge(e.props.noteData,d,u,r)+m)),P=Math.max(...j.map(e=>Ge(e.props.noteData,d,u,r)+m)),z=Math.max(...v.map(e=>He(e.props.noteData,d,s)+m)),C=Math.max(...k.map(e=>He(e.props.noteData,d,s)+m)),N=A.nodes(),$=O.nodes(),F=S.nodes(),D=w.nodes();return v.forEach((t,a)=>{const o=0-N[a].layerIndex*z-Ve("left",l,n),r=N[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")}),k.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")}),j.forEach((e,t)=>{const a=F[t].currentPos,o=0-F[t].layerIndex*P-Ve("top",l,n);e.props.noteData.nx=a,e.props.noteData.ny=o}),E.forEach((e,t)=>{const a=D[t].currentPos,o=c[1]+D[t].layerIndex*M+Ve("bottom",l,n);e.props.noteData.nx=a,e.props.noteData.ny=o}),t}return t})(r,f,t):r.map((t,n)=>{const o=Object.assign(Object.assign({},a[n].props.noteData),t.props.noteData);return e.createElement(Re,{key:t.key,noteData:o})}),i=[...a,...s]}return g&&(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:x}};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)}}),m="object"==typeof c?c:{layout:{type:c},dataVersion:""},{dataVersion:y=""}=m,[h,g]=r([]),[f,x]=r([]),[b,v]=r([]),[k,j]=r(""),[E,A]=r(y),O=_e(p,d),S=O.filter(e=>e.props&&e.props.noteData&&!e.props.noteData.fixedPosition),w=Ie(S,m,o);let M;if(i(()=>{const e=O.filter(e=>!e.props||!e.props.noteData||e.props.noteData.fixedPosition),t=Ye(p,{adjustedAnnotations:h,adjustedAnnotationsKey:k,adjustedAnnotationsDataVersion:E,adjustableAnnotations:S,fixedAnnotations:e});g(t.adjustedAnnotations),j(t.adjustedAnnotationsKey),A(t.adjustedAnnotationsDataVersion),x(t.svgAnnotations),v(t.htmlAnnotations)},[w,y,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"}},b)):null}function Ke(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 qe=(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}},Ze=e=>e instanceof Date?e.getTime():e,Je=({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,m)=>{e.forEach(e=>{const y=Object.assign(Object.assign({},e),{xIndex:p,yIndex:m,lineIndex:u});y.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}),y.key=y.key||d.length,d.push(y)})})})}),d},Ue=({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=Ze(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=P(t,e=>(null==e?void 0:e[a])>0?e[a]:0),l=P(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},Qe=({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},et=({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},tt=({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=Ze(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};function nt({pointA:e,pointB:t,currentParameters:n,parameters:a,keys:o}){const r={};return o.forEach(n=>{r[n]="number"==typeof e[n]?(e[n]+t[n])/2:void 0}),JSON.stringify(a(r))===JSON.stringify(n)?[r,t]:[e,r]}function at({data:e,steps:t,key:n}){const a=[];return Array.isArray(e)||(e=[e]),t||(t=e.map(e=>Object.keys(e)).reduce((e,t)=>e.concat(t),[])),e.forEach((e,o)=>{const r=n?e[n]:o;t.forEach(t=>{const n={funnelKey:r,stepName:"",stepValue:0};n.stepName=t,n.stepValue=e[t]?e[t]:0,a.push(n)})}),a}const ot={bottom:"yBottom",top:"yTop"};function rt({point:e,projectedY:t,yAccessor:n,yScale:a,showLinePoints:o}){const r=e&&(o&&!0!==o&&void 0!==e[ot[o]]?e[ot[o]]:void 0!==e.yMiddle?e.yMiddle:void 0!==e[t]?e[t]:qe(n,e));return Array.isArray(r)?r.map(e=>a(e)):void 0!==r?a(r):0}function st({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]:qe(a,e));return Array.isArray(r)?r.map(e=>o(e)):void 0!==r?o(r):0}function it({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(qe(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}function ct(t){const n=(t=>{const{parameters:n,className:a,interpolate:o=y,customAccessors:r,lineDataAccessor:s,data:i,searchIterations:c}=t,l=Ke(t,["parameters","className","interpolate","customAccessors","lineDataAccessor","data","searchIterations"]),{x:d,y:u}=r,p=Je({data:i,lineDataAccessor:[s],xProp:"x",yProp:"y",xAccessor:[d],yAccessor:[u]});for(const e of p)e.data=e.data.map(e=>Object.assign(Object.assign({},e.data),e));const h=((e,t,n=10)=>{let a=e(t[0],0),o=[];const r=[{key:a,points:o}];return t.forEach((t,s)=>{const i=e(t,s);let c=i===a;const l=JSON.stringify(i),d=JSON.stringify(a);if("object"==typeof a&&(c=l===d),c)o.push(t);else{let s=o[o.length-1],c=t,d=l,u=0;for(;n>u&&l===d;){const t=nt({pointA:s,pointB:c,currentParameters:a,parameters:e,keys:Object.keys(s)});s=t[0],c=t[1],d=JSON.stringify(e(c)),u++}o.push(c),o=[c,t],r.push({key:i,points:o}),a=i}}),r})(n,p[0].data,c),g=m().curve(o).x(e=>e.x).y(e=>e.y);return h.map((t,n)=>e.createElement("path",Object.assign({},l,{className:a,key:"DividedLine-"+n,style:t.key,d:g(t.points)})))})(t);return e.createElement("g",null,n)}const lt=e=>e.reduce((e,t)=>e.concat(Array.isArray(t)?lt(t.slice().sort((e,t)=>e-t)):t),[]);function dt(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=""+lt(t).map(e=>e instanceof Date&&""+e||void 0!==e&&e.toFixed&&e.toFixed(2)||"empty");return n}function ut(t){const{extent:n,selectedExtent:a}=t,o=c(null),r=dt(n),s=dt(a);i(()=>{(null==o?void 0:o.current)&&((e,t)=>{const{svgBrush:n,selectedExtent:a}=t;if(W(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]]]}W(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"})}const pt="x",mt="y",yt="yMiddle",ht="yTop",gt="yBottom",ft="xMiddle",xt="xTop",bt="xBottom",vt=(e,t)=>void 0===e?e:Object.assign(e&&e.data?Object.assign({points:t},e.data):{points:t},e),kt=(e,t,n,a,o,r)=>{const s=vt(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)},jt=(e,t,n,a)=>{const o=vt(e,n);t&&t(o,a)},Et=(e,t,n,a)=>{const o=vt(e,n);t&&t(o,a)},At=(e,t,n,a,o)=>{o&&o.start&&o.start(e,t,n,a)},Ot=(e,t,n,a,o)=>{o&&o.during&&o.during(e,t,n,a)},St=(e,t,n,a,o)=>{o&&o.end&&o.end(e,t,n,a)},wt=()=>({}),Mt=2*Math.PI,Pt=(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},zt=({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 Ct(){const e=m();let t=function(e){return e.x},n=function(e){return e.y},a=function(e){return e.r},o=g;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(Pt(),[]);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(Pt(),[]);a=()=>o.weight;const t=i(e);l=t.reverse().filter(e=>"back"===e.direction).reduce(Pt(),[])}}),a=s,d.map(a=>e.x(t).y(n).curve(o)(a))}const s=i(r).reduce(Pt(),[]);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 Nt=({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 $t(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 Ft({renderMode:e=()=>{},padding:t=5,scale:n,ticks:a,tickValues:o=$t(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,m,y,h,g=[],f=0,x=0,b="middle";switch(r){case"top":d="x1",u="x2",p="y1",m="y2",g=[0,c],y="tx",h="ty",f-=20-t;break;case"bottom":d="x1",u="x2",p="y2",m="y1",g=s?[s[1],s[1]-c]:[0,-c],y="tx",h="ty",f+=20+t;break;case"right":d="y2",u="y1",p="x2",m="x1",g=s?[s[0],s[0]-c]:[0,-c],y="ty",h="tx",f+=5+t,x+=5,b="start";break;default:d="y1",u="y2",p="x1",m="x2",g=[0,c],y="ty",h="tx",f-=5+t,x+=5,b="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],[m]:g[1],[y]:o+x,[h]:g[0]+f,defaultAnchor:b,renderMode:e(t,a),value:t}})}const Dt=(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})},Tt=({axisParts:t,orient:n,tickLineGenerator:a=Nt,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 Rt({t:e,o:t,w:n}){return"contour"!==e&&"boxplot"!==e||"left"!==t&&"right"!==t?0:n/2}function Lt({t:e,o:t,w:n}){return"contour"!==e&&"boxplot"!==e||"top"!==t&&"bottom"!==t?0:n/2}function Bt(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(${Rt({t:o.type,o:a,w:r})},${Lt({t:o.type,o:a,w:r})})`},s),i)}function Vt(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 It(e,t,n){const a=Math.PI*(t+.75)*2;return[e[0]+n*Math.cos(a),e[1]+n*Math.sin(a)]}const Wt=({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=Ke(r,["markType","style"]),m=Object.assign(Object.assign({},p),{key:o,"aria-label":a});void 0!==l.fill&&(m.fill=l.fill),void 0!==l.stroke&&(m.stroke=l.stroke),void 0!==l.strokeWidth&&(m.strokeWidth=l.strokeWidth),void 0!==l.opacity&&(m.opacity=l.opacity),void 0!==l.fillOpacity&&(m.fillOpacity=l.fillOpacity),void 0!==l.strokeOpacity&&(m.strokeOpacity=l.strokeOpacity);const y=Object.assign({},l);delete y.fill,delete y.stroke,delete y.strokeWidth,delete y.opacity,delete y.fillOpacity,delete y.strokeOpacity,Object.keys(y).length>0&&(m.style=y),s&&u.push(e.createElement(s,m))}}),u},Ht=()=>({});function Gt(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 _t(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 Yt(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,m=i-1;a[0].length-1>t&&(m=Math.min(m,o[n][t+1]||0));for(var y=m;y>=c&&(l=_t(y,i,r,s))+a[n-1][c-1]<a[n][i];--y)d=_t(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][y-1])&&(a[n][i]=p,o[n][i]=y);Yt(e,i-1,n,a,o,r,s),Yt(i+1,t,n,a,o,r,s)}}function Xt({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=D().domain(n).rangeRound([0,r]).nice(),d=D().domain(a).rangeRound([r,0]).nice();return t.forEach(e=>{let t=G().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}function Kt({preprocess:t=!0,processedData:n=!1,summaryType:a,data:o,finalXExtent:r,finalYExtent:s,size:i,xScaleType:c=D(),yScaleType:l=D(),margin:d,styleFn:u,classFn:p,renderFn:m,chartSize:y}){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,x=[];f=a.type?a:{type:f};const{bins:b=.05,cellPx:v,binValue:k=e=>e.length,binMax:j,customMark:E}=f;o.coordinates&&!o._xyfCoordinates&&(o._xyfCoordinates=o.coordinates.map(e=>[e.x,e.y]));const A=Array.isArray(o)?o:[o],O=c.domain(h).range([0,i[0]]),S=l.domain(g).range([0,i[1]]),w=v&&v/2||(b>1?1/b:b)*i[0]/2,M=te().x(e=>O(e._xyfPoint[0])).y(e=>S(e._xyfPoint[1])).radius(w).size(i);let P;const z=M.centers();return A.forEach(t=>{P=0;const n=M(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)}}),P=Math.max(...n.map(e=>k(e))),j&&j(P);const o=[[0,-1],[.866,-.5],[.866,.5],[0,1],[-.866,.5],[-.866,-.5]],r=O.invert(w)-h[0],s=S.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=O.invert(n.x),n.y=S.invert(n.y);const l=a/P;return{customMark:E&&e.createElement("g",{transform:`translate(${r},${i[1]-s})`},E({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:m,chartSize:y,adjustedSize:i})),_xyfCoordinates:c.map(e=>[e[0]+n.x,e[1]+n.y]),value:a,percent:l,data:n,parentSummary:t,centroid:!0}});x=[...x,...l]}),t?(x.forEach(e=>{e.x=e.data.x,e.y=e.data.y}),{type:"hexbin",processedData:!0,coordinates:x,binMax:P}):x}const qt=(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 Zt({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=D(),yScaleType:l=D(),margin:d,styleFn:u,classFn:p,renderFn:m,chartSize:y}){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:x=e=>e.length,xBins:b=g.yBins||.05,yBins:v=b,xCellPx:k=!g.xBins&&g.xCellPx,yCellPx:j=!g.yBins&&g.yCellPx,customMark:E,binMax:A}=g,O=1>b?b:1/b,S=1>v?v:1/v,w=c.domain(r).range([0,i[0]]),M=l.domain(s).range([i[1],0]),P=[Math.ceil((k&&k/i[0]||O)*i[0]*10)/10,Math.ceil((j&&j/i[1]||S)*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+=P[0]){const s=w.invert(e),c=w.invert(e+P[0]);r=[],n.push(r);for(let n=0;i[1]>Math.ceil(n);n+=P[1]){const i=M.invert(n),l=M.invert(n+P[1]);o={gx:e,gy:n,gw:P[0],gh:P[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=M(e[1]),s=Math.floor(o/P[0]),i=Math.floor(r/P[1]);n[s][i]&&n[s][i].binItems.push(t.coordinates[a])}),a.forEach(e=>{e.value=x(e.binItems),z=Math.max(z,e.value)}),a.forEach(t=>{t.percent=t.value/z,t.customMark=E&&e.createElement("g",{transform:`translate(${t.gx},${t.gy})`},E({d:t,margin:d,styleFn:u,classFn:p,renderFn:m,chartSize:y,adjustedSize:i}))}),f=[...f,...a]}),A&&A(z),t?{type:"heatmap",processedData:!0,_baseData:[],_xyfCoordinates:[],data:[],bounds:[],x:0,y:0,coordinates:f,binMax:z}:f}function Jt(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 Ut=e=>[e.xy.x,e.xy.y],Qt={step:O,stepbefore:A,stepafter:E,cardinal:f,basis:j,linear:y,catmullrom:k,monotone:b,monotonex:v,monotoney:b,natural:x};function en({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 tn({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:m,x:y,xMiddle:h,yMiddle:g,yTop:f,yBottom:x}=r,b={top:f,bottom:x}[!0===p?void 0:p],v=[];return o.forEach((o,r)=>{const p=t(void 0!==o[h]?o[h]:o[y]),f=n(void 0!==o[b]?o[b]:void 0!==o[g]?o[g]:o[m]),x=`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":x}):{key:"piece-"+r,markType:"circle",r:2,"aria-label":x};!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[m])?o[m].map(e=>n(e)):[f]).forEach((e,n)=>{(Array.isArray(o[y])?o[y].map(e=>t(e)):[p]).forEach((t,a)=>{v.push(on({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 nn({xScale:t,yScale:n,canvasDrawing:a,data:o,projectedCoordinateNames:r,customMark:s,canvasRender:i,styleFn:c,classFn:l,renderMode:d,renderKeyFn:u,type:p,defined:h,ariaLabel:g,axesData:f=[]}){const x=f.find(e=>"bottom"===e.orient||"top"===e.orient),b=f.find(e=>"left"===e.orient||"right"===e.orient),v=x&&x.tickFormat||(e=>e),k=b&&b.tickFormat||(e=>e),j="object"==typeof p?p:{type:p},E="string"==typeof j.interpolator?Qt[j.interpolator]:j.interpolator||y,A=j.simpleLine?m():S();en({projectedCoordinateNames:r,defined:h,interpolator:E,generator:A,xScale:t,yScale:n,simpleLine:j.simpleLine});const O=E.dynamicInterpolator&&((e,a)=>{const o=S();return en({projectedCoordinateNames:r,defined:h,interpolator:E.dynamicInterpolator(e,a),generator:o,xScale:t,yScale:n,simpleLine:j.simpleLine}),o})||(()=>A),w=[];if(o.forEach((e,o)=>{const p=e.data.map(e=>Object.assign(Object.assign({},e.data),e));if(s&&"function"==typeof s){const r=Object.assign(Object.assign({},e),{data:p});w.push(s({d:r,i:o,xScale:t,yScale:n,canvasDrawing:a}))}else{const s={};j.simpleLine&&(s.fill="none",s.stroke="black");const y=O(e,o)(p),f=Object.assign(Object.assign({},s),{markType:"path",d:y,"aria-label":e.data&&e.data.length>0&&g&&`${e.data.length} point ${g.items} starting value ${k(e.data[0].y)} at ${v(e.data[0].x)} ending value ${k(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"===j.type&&!0!==j.enclosed&&(a=(e,t)=>Object.assign(Object.assign({},c(e,t)),{stroke:"none"})),w.push(on({baseClass:"xyframe-line",d:e,i:o,markProps:f,styleFn:a,renderKeyFn:u,classFn:l})),"area"===j.type&&!0!==j.enclosed){const a=(e,t)=>Object.assign(Object.assign({},c(e,t)),{fill:"none"}),s=m();en({projectedCoordinateNames:r,defined:h,interpolator:E,generator:s,xScale:t,yScale:n,simpleLine:!0});const i=Object.assign(Object.assign({},f),{d:s(p)}),d=u?(e,t,n)=>u(e,t,n)+"-top":void 0;w.push(on({baseClass:"xyframe-line-top",d:e,i:o,markProps:i,styleFn:a,renderKeyFn:d,classFn:l}))}}}}),"difference"===j.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=m();en({projectedCoordinateNames:r,defined:h,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 an({xScale:t,yScale:n,canvasDrawing:a,data:o,canvasRender:r,styleFn:s,classFn:i,renderKeyFn:c,renderMode:l,customMark:d}){const u=i||(()=>""),p=s||(()=>({})),y=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:p,renderFn:y,projectedCoordinates:e,xScale:t,yScale:n,bounds:Jt(e)}),g=!0}else{const e=o._xyfCoordinates;if(o.curve){const a=m().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:p,renderFn:y,classFn:()=>i}):h.push(e.createElement("path",{"data-testid":"xyframe-summary",key:f,className:i,d:l,style:p(o,s)}))}),h}function on({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=Ke(r,["markType"]);return e.createElement(u,p)}const rn=(e,t)=>e.xy.y-t.xy.y,sn=(e,t)=>t.xy.x-e.xy.x,cn=()=>({});function ln({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,D().domain(d).range([0,c]));return e.createElement("g",{className:"summary-axis",key:"summaryPiece-axis-"+n,transform:l},u)}function dn({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,p=!!t.relative&&{},g=t.binValue||(e=>e.length),f=t.elementStyleFn||cn;let x;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,x=c,"radial"===r&&(console.error("Summary axes cannot be drawn for radial histograms"),x=()=>null));let b=i/u;const v=Object.keys(e);let j=0;const E=N(),A=[0,i],O=[];for(let e=0;u>e;e++)O.push(A[0]+e/u*i);const w="vertical"===r?e=>e.piece.scaledVerticalValue:e=>e.piece.scaledValue,M=E.domain(A).thresholds(O).value(w),z=v.map((n,a)=>{const o=e[n],s=o.xyData,c=s.sort("vertical"===r?rn:sn);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),b=i/l.length}else l=M(c);l=l.map(e=>({y:e.x0,y1:e.x1-e.x0,pieces:e,value:g(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:$(l.map(e=>e.value));return p&&(p[n]=d),j=Math.max(j,d),{bins:l,summary:o,summaryI:a,thisSummaryData:s}}),F=t.horizon?j/t.horizon:t.numHorizons||4,D=t.horizon||j/F;return z.forEach(({bins:e,summary:i,summaryI:c,thisSummaryData:u})=>{const v=n(i,c),E=i.width;let A=u[0]?a(u[0].piece.data,c):{},O=u[0]?o(u[0].piece.data,c):"",w=[i.middle,0];"horizontal"===r?w=[b,i.middle]:"radial"===r&&(w=[s[0]/2,s[1]/2]);const M=p&&p[i.name]||j;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,m=l.elementStyleFn||wt,y=l.padding||0;return e.forEach((e,t)=>{const n=e.value/p,g=m(e.value,n,e.pieces),f=Object.assign("heatmap"===l.type?{opacity:n,fill:c.fill}:Object.assign({},c),g),x=Math.max(1,e.y1-2*y),b="heatmap"===l.type?a:a*n;let v=e.y+y,k="heatmap"===l.type||l.flip?-a/2:a/2-b,j=x,E=b,A="heatmap"===l.type?b/2:b,O=e.y1/2;if("horizontal"===o)v="heatmap"===l.type||l.flip?-a/2:a/2-b,k=e.y-e.y1+y,j=b,E=x,O="heatmap"===l.type?b/2:b,A=e.y1/2;else if("radial"===o){const a=h().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 m=r[0]/2,y=r[1]/2,g=`translate(${m},${y})`,x=a.centroid({startAngle:c,endAngle:p});u.push({key:i.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:x[0]+m,y:x[1]+y}),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+A,y:v+O}),d.push({markType:"rect",key:`groupIcon-${s}-${t}`,x:k,y:v,height:j,width:E,style:f}))}),{marks:d,points:u}})({bins:e,binMax:j,relativeBuckets:p,columnWidth:E,projection:r,adjustedSize:s,summaryI:c,summary:i,summaryStyle:A,type:t}),a=n.marks;"radial"===r&&(w=[0,0]),t.axis&&"histogram"===t.type&&l.push({type:"svg-only-mark",Mark:ln({summary:i,summaryI:c,axisSettings:t.axis,axisCreator:x,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({},v),{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-b/2,e[e.length-1].y=e[e.length-1].y+b/2,s.forEach((s,l)=>{let m=e;s&&(A=u[0]?a(u[0].piece.data,c,l):{},O=u[0]?o(u[0].piece.data,c,l):"",m=e.map(e=>{const t=e.pieces.filter((e,t)=>s(e.piece,t)).map(e=>e),n=g(t);return Object.assign(Object.assign({},e),{pieces:t,value:n})}));let y=S().curve(t.curve||k),h=[];if("horizontal"===r)m.forEach(e=>{const t=e.y-b/2,n=e.value/M*E/2;h.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})}),y.x(e=>e.x).y0(e=>e.y0).y1(e=>e.y1).defined((e,t)=>0!==e.y0||h[t-1]&&0!==h[t-1].y0||h[t+1]&&0!==h[t+1].y0);else if("vertical"===r)m.forEach(e=>{const t=e.y+b/2,n=e.value/M*E/2;h.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})}),y.y(e=>e.y).x0(e=>e.x0).x1(e=>e.x1).defined((e,t)=>0!==e.x0||h[t-1]&&0!==h[t-1].x0||h[t+1]&&0!==h[t+1].x0);else if("radial"===r){const e=i.pct-i.pct_padding/2,t=i.pct_middle;h=m,y=n=>{const a=[],o=[];return n.forEach(n=>{const r=It([0,0],t+e*n.value/M/2,(n.y+n.y1-b/2)/2),s=It([0,0],t-e*n.value/M/2,(n.y+n.y1-b/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({},v),{transform:`translate(${w})`,key:`summaryPiece-${c}-${l}`,markType:"path",className:O,style:A,d:y(h),role:"img",tabIndex:-1,"data-o":i.name,"aria-label":i.name+" distribution"})),n){let e=[];m.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=[C(e,.25),C(e,.5),C(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({},v),{key:`summaryPiece-${c}-${l}-iqr-line`,markType:"path",className:O,style:Object.assign(Object.assign({stroke:"black",strokeWidth:"2px"},A),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({},v),{key:`summaryPiece-${c}-${l}-iqr-median`,markType:"circle",className:O,style:Object.assign(Object.assign({stroke:"black",fill:"black",strokeWidth:"1px",r:"3px"},A),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-b/2,a.y=a.y+b/2;const o=[n,...e,a];let u=[];const p=t.curve||t.interpolator,y="string"==typeof p?Qt[p]:p;let h=m().curve(y||k).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:ln({summary:i,summaryI:c,axisSettings:Object.assign({baseline:!1},t.axis),axisCreator:x,projection:r,actualMax:M,adjustedSize:s,columnWidth:E})}),"horizontal"===r)o.forEach((e,n)=>{const a=e.y-b/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+b/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=It([s[0]/2,s[1]/2],t+e*n.value/M,(n.y+n.y1-b/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:ln({summary:i,summaryI:c,axisSettings:t.axis,axisCreator:x,projection:r,actualMax:M,adjustedSize:s,columnWidth:E})}),l.push({elements:[Object.assign(Object.assign({},v),{transform:`translate(${w})`,key:"summaryPiece-"+c,markType:"path",className:O,style:A,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-b/2,a.y=a.y+b/2;const o=[n,...e,a];let u=[],p=!0,h=0;for(;!0===p;){const e=o.map(e=>Object.assign(Object.assign({},e),{value:Math.max(0,Math.min(e.value-h,D))}));u.push(e.map(e=>Object.assign(Object.assign({},e),{value:e.value*F}))),h+=D,$(e.map(e=>e.value))<D&&(p=!1)}u=u.filter(e=>P(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-b/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+b/2+w[1],pieces:e.pieces.map(e=>e.piece),value:e.value}))});const g=u.map((e,n)=>{let a=[];const o=t.curve||t.interpolator,l="string"==typeof o?Qt[o]:o;let d=m().curve(l||y).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-b/2})});else if("vertical"===r)e.forEach(e=>{a.push({y:e.y+b/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=It([s[0]/2,s[1]/2],n+t*e.value/M,(e.y+e.y1-b/2)/2);a.push(o)}),`M${a.map(e=>e.join(",")).join("L")}Z`}}return Object.assign(Object.assign({},v),{transform:`translate(${w})`,key:`summaryPiece-${c}-${n}`,markType:"path",className:O,style:Object.assign(Object.assign({},A),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:ln({summary:i,summaryI:c,axisSettings:t.axis,axisCreator:x,projection:r,actualMax:M,adjustedSize:s,columnWidth:E})}),l.push({elements:g})}}),{marks:l,xyPoints:d,thresholds:O}}const un={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(Ut)}],p=Xt({summaryType:t,data:u,finalXExtent:[0,r[0]],finalYExtent:[0,r[1]]}),m=[];p.forEach((e,t)=>{e.coordinates.forEach((r,s)=>{const i=n(e,t);m.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:m})}),{marks:s,xyPoints:i}},boxplot:function({data:e,type:t,eventListenersGenerator:n,styleFn:a,classFn:o,projection:r,adjustedSize:s}){const i=t.elementStyleFn||Ht,{outliers:c,fixedInput:l}=t,d=[],u=[];return Object.keys(e).forEach((t,p)=>{const m=e[t],y=n(m,p),g=m.width,f=m.pieceData,x=a(f[0].data,p),b=o(f[0].data,p);let v,k,j,E,A,O,S,w,M,P,z,N,$,F,D,T,R,L,B,V,I,W,H,G,_,Y,X,K,q,Z,J;k=f.map(e=>e.value).sort((e,t)=>e-t),!0===l&&5===k.length||(k=[C(k,0),C(k,.25),C(k,.5),C(k,.75),C(k,1)]);const U=k[3]-k[1];let Q,ee;c&&(Q=k[1]-1.5*U,ee=k[3]+1.5*U,k[0]=Math.max(k[0],Q),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(${m.x+m.width/2},0)`,E=0,A=0,O=v[0],S=v[4],w=-g/2,M=g/2,P=-g/2,z=g/2,N=-g/2,$=g/2,L=g,B=v[1]-v[2],V=v[2],I=-g/2,F=g,D=v[2]-v[3],W=g,H=v[1]-v[3],G=v[3],_=-g/2,T=v[3],R=-g/2,Y=v[0],X=v[0],K=v[4],q=v[4],Z=v[2],J=v[2];const e=m.x+m.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=m.x+m.width/2;j=`translate(0,${e})`,O=0,S=0,E=v[0],A=v[4],Y=-g/2,X=g/2,Z=-g/2,J=g/2,K=-g/2,q=g/2,D=g,F=v[3]-v[2],R=v[2],T=-g/2,B=g,L=v[2]-v[1],I=v[1],V=-g/2,H=g,W=v[3]-v[1],_=v[1],G=-g/2,w=v[0],M=v[0],N=v[4],$=v[4],P=v[2],z=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){E=0,A=0,O=v[0],S=v[4],w=-g/2,M=g/2,P=-g/2,z=g/2,N=-g/2,$=g/2,F=g,D=v[1]-v[3],T=v[3],R=-g/2,L=g,B=v[1]-v[3],V=v[3],I=-g/2,Y=v[0],X=v[0],K=v[4],q=v[4],Z=v[2],J=v[2];const e=2*Math.PI,n=h().innerRadius(K/2).outerRadius(K/2),a=h().innerRadius(Y/2).outerRadius(Y/2),o=h().innerRadius(Z/2).outerRadius(Z/2),r=h().innerRadius(v[1]/2).outerRadius(Z/2),c=h().innerRadius(Z/2).outerRadius(v[3]/2),l=h().innerRadius(v[1]/2).outerRadius(v[3]/2);let C=m.pct_start+m.pct_padding/2,W=m.pct+m.pct_start-m.pct_padding/2;const H=m.pct/2+m.pct_start;C*=e,W*=e;const G=s[0]/2,_=s[1]/2,U=It([0,0],H,v[4]/2),Q=It([0,0],H,v[0]/2),ee=It([0,0],H,v[3]/2),te=It([0,0],H,v[2]/2),ne=It([0,0],H,v[1]/2);u.push({label:"Minimum",key:t,summaryPieceName:"min",x:Q[0]+G,y:Q[1]+_,value:k[0]},{label:"1st Quartile",key:t,summaryPieceName:"q3area",x:ne[0]+G,y:ne[1]+_,value:k[1]},{label:"Median",key:t,summaryPieceName:"median",x:te[0]+G,y:te[1]+_,value:k[2]},{label:"3rd Quartile",key:t,summaryPieceName:"q1area",x:ee[0]+G,y:ee[1]+_,value:k[3]},{label:"Maximum",key:t,summaryPieceName:"max",x:U[0]+G,y:U[1]+_,value:k[4]}),j=`translate(${G},${_})`,d.push({containerProps:Object.assign(Object.assign({},y),{className:b,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:Q[0],y1:U[1],y2:Q[1],style:Object.assign({strokeWidth:2},x,i("whisker",f))},{markType:"path",d:a({startAngle:C,endAngle:W}),style:Object.assign({strokeWidth:4},x,{fill:"none"},i("max",f))},{markType:"path",d:o({startAngle:C,endAngle:W}),style:Object.assign({strokeWidth:4},x,{fill:"none"},i("median",f))},{markType:"path",d:n({startAngle:C,endAngle:W}),style:Object.assign({strokeWidth:4},x,{fill:"none"},i("min",f))},{markType:"path",d:l({startAngle:C,endAngle:W}),style:Object.assign({strokeWidth:4},x,i("iqrarea",f))},{markType:"path",d:r({startAngle:C,endAngle:W}),style:Object.assign({},x,{fill:"none",stroke:"none"},i("q3area",f))},{markType:"path",d:c({startAngle:C,endAngle:W}),style:Object.assign({},x,{fill:"none",stroke:"none"},i("q1area",f))}]})}else{const e=[{markType:"line",x1:E,x2:A,y1:O,y2:S,style:Object.assign({strokeWidth:2},x,i("whisker",f))},{markType:"line",x1:w,x2:M,y1:Y,y2:X,style:Object.assign({strokeWidth:2},x,i("min",f))},{markType:"line",x1:N,x2:$,y1:K,y2:q,style:Object.assign({strokeWidth:2},x,i("max",f))},{markType:"rect",x:_,width:W,y:G,height:H,style:Object.assign({strokeWidth:1},x,i("iqrarea",f))},{markType:"rect",x:R,width:F,y:T,height:D,style:Object.assign({},x,{fill:"none",stroke:"none"},i("q3area",f))},{markType:"rect",x:I,width:L,y:V,height:B,style:Object.assign({},x,{fill:"none",stroke:"none"},i("q1area",f))},{markType:"line",x1:P,x2:z,y1:Z,y2:J,style:Object.assign({strokeWidth:2},x,i("median",f))}],n=[];if(c){const e=f.filter(e=>e.value>ee||Q>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},x,i("outlier",f))})})}d.push({containerProps:Object.assign(Object.assign({},y),{className:b,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:dn,heatmap:dn,ridgeline:dn,histogram:dn,horizon:dn,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=D().domain([d.value,u.value]).range([d.scaledValue,u.scaledValue]),m=a(l[0].data,r),y=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=Gt(t=Math.min(o,t),n),s=Gt(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]=_t(0,i,o,r),n[0][i]=0;for(var c=1;t.length>c;++c)Yt(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:m,calculatedSummaryClass:y,scaledStart:p(t),scaledEnd:p(o),values:[]})}),i.push(f);let x=0;for(const e of l)f[x].end>e.value||f[x+1]&&x++,f[x].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=D().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:[]}}},pn=({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(!un[t.type])return console.error(`Invalid summary type: ${t.type} - Must be a function or one of the following strings: ${Object.keys(un).join(", ")}`),{};u=un[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 mn(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=Ke(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 yn=({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 mn(e.filter(e=>!t()||"svg-only-mark"===e.type))};function hn(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:m=u&&u[1]||0,className:y,padding:h,tickValues:g,scale:f,ticks:x,footer:b,tickSize:v,tickLineGenerator:k,baseline:j=!0,margin:E={top:0,bottom:0,left:0,right:0},center:A=!1,annotationFunction:O,glyphFunction:S,xyPoints:w}=t,[M,P]=r(0),[z,C]=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!==z&&C(e)}},[a,o]);let $,{axisParts:F,position:D=[0,0]}=t;if(F||(F=Ft({padding:h,tickValues:g,scale:f,ticks:x,orient:s,size:[p,m],footer:b,tickSize:v}),$=e.createElement("g",{className:"axis "+y},Tt({axisParts:F,orient:s,tickLineGenerator:k,className:y,scale:f}))),0===F.length)return null;let T,R,L,B,V=50,I=m,W=-50,H=0,G=0,_=0,Y=0,X=m,K=25,q=-25,Z=18,J=p+25,U=0,Q=M,ee=0,te="y";switch(s){case"right":D=[D[0],D[1]],W=p,Y=G=p,ee=E.top,J=-p-25,q=5,T=e=>{P(e.nativeEvent.offsetY-ee)},!0===A&&(Y=G=p/2);break;case"top":D=[D[0],0],V=p,I=50,H=-50,W=0,ee=E.left,te="x",Y=p,X=0,!0===A&&(X=_=m/2),T=e=>{P(e.nativeEvent.offsetX-ee)},K=M,Q=25,q=0,Z=-10,J=0,U=m+25;break;case"bottom":D=[D[0],0],V=p,I=50,_=X=H=m,G=W=0,Y=p,ee=E.left,T=e=>{P(e.nativeEvent.offsetX-ee)},K=M,Q=25,q=0,Z=15,J=0,U=-m-25,te="x",!0===A&&(X=_=m/2);break;default:D=[D[0],D[1]],ee=E.top,!0===A&&(Y=G=p/2),T=e=>{P(e.nativeEvent.offsetY-ee)}}if(O){const n=function(e,t){return t.tickFormat?t.tickFormat(e):e.toString?""+e:e}(f.invert(M),t),a=S?S({lineHeight:U,lineWidth:J,value:f.invert(M)}):e.createElement("g",null,e.isValidElement(n)?e.createElement("g",{transform:`translate(${q},${Z})`},n):e.createElement("text",{x:q,y:Z},n),e.createElement("circle",{r:5}),e.createElement("line",{x1:J,y1:U,style:{stroke:"black"}})),o=M?e.createElement("g",{style:{pointerEvents:"none"},transform:`translate(${K},${Q})`},a):null;R=e.createElement("g",{className:"annotation-brush",transform:`translate(${W},${H})`},e.createElement("rect",{style:{fillOpacity:0},height:I,width:V,onMouseMove:T,onClick:e=>O({className:"dynamic-axis-annotation",type:te,value:f.invert(M),e:e}),onMouseOut:()=>{P(void 0)}}),o)}if(l&&w){const t=Math.max(E[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=mn(pn({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}}))}L=e.createElement(Bt,{translation:{left:[2-E.left,0],right:[u[0]+2,0],top:[0,2-E.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:F,orient:s,rotate:n,center:A});if(a){const t=a.name||a,n=a.position||{};let o=n.anchor||"middle";const r=a.locationDistance||z,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(Vt,{className:y,translation:l,position:D,rotation:i,labelName:t,anchorMod:o})}const ae=`${s} axis ${F&&F.length>0&&`from ${d(F[0].value,0)} to ${d(F[F.length-1].value,F.length-1)}`||"without ticks"}`;return e.createElement("g",{className:y,"aria-label":ae,ref:N},R,ne,$,!0===j?e.createElement("line",{key:"baseline",className:"axis-baseline "+y,stroke:"black",strokeLinecap:"square",x1:G,x2:Y,y1:_,y2:X}):null,B,L)}const gn=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 fn(e){return Math.round(10*e)/10}const xn=({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`},bn=({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}=gn(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 vn(e){return e instanceof Function||"string"==typeof e?{type:e}:void 0===e?{}:e}function kn({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,D().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],m="string"==typeof u?u:"function-"+i,y="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:m,oIndex:a,oName:y,column:d,renderKey:d})}else{const t=s(e),o=n(e);l.push({renderKey:d,data:e,rIndex:i,rName:m,oIndex:a,oName:y,value:t,column:o&&o.toString?""+o:o})}})})}),{allData:l,multiExtents:c}}function jn({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 En({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:m,oExtent:y}=n;if("function"==typeof t.type){const n=t.type,h=y;if(y.forEach((t,y)=>{const g=m[t],f=m[h[y+1]];if(f){const t=f.map((e,t)=>n(Object.assign(Object.assign({},e.piece),e.piece.data),t));g.forEach((m,y)=>{const h=n(Object.assign(Object.assign({},m.piece),m.piece.data),y),g=n(Object.assign(Object.assign({},m.piece),m.piece.data),y),x=void 0!==g&&!1!==g&&t.indexOf(g);if(null!=h&&!1!==x&&-1!==x){const t=f[x];let n;if("radial"===i&&"point"===d.type){p.get(m)||p.set(m,[m]);const e=p.get(m);e&&(e.push(t),p.set(t,e),p.delete(m))}else{const{xy:d}=m,{xy:p}=t,{x:h,y:g,height:f=1,width:x=1}=d,{x:b,y:v,height:k=1,width:j=1}=p;if("vertical"===i)n=zt({x1:h+x,x2:b,y1:g,y2:v,sizeX1:0,sizeX2:0,sizeY1:f,sizeY2:k});else if("horizontal"===i){const{value:e}=m.piece,{value:a}=t.piece;n=zt({x1:0>e?m.piece.bottom-x:h-x,x2:0>a?t.piece.bottom-j:b-j,y1:g+f,y2:v,sizeX1:x,sizeX2:j,sizeY1:0,sizeY2:0})}else"radial"===i&&(n=zt({x1:h,x2:b,y1:g+f,y2:v,sizeX1:x,sizeX2:j,sizeY1:0,sizeY2:0}));a&&a(m.piece,y);const E=Object.assign(Object.assign({},m.piece.data),m.piece.data),A=Object.assign(Object.assign({},t.piece),t.piece.data),O=r({source:E,target:A}),S=o({source:E,target:A},y);c&&!0===c(m.piece)?l.push({baseClass:"xyframe-line",tx:0,ty:0,d:{source:E,target:A},markProps:{d:n,markType:"path"},styleFn:r,renderFn:a,classFn:s}):u.push(e.createElement("path",Object.assign({},S,{d:n,className:s?s(m.piece.data,y):"",key:"connector"+m.piece.renderKey},O,{style:O})))}}})}}),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 An=(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},On=e.memo(function({width:t,height:n,overlayRegions:a,margin:o,voronoiHover:r}){let i=c();return s(()=>{Sn(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,Sn(e,r,n,t,a,o))},style:{position:"absolute",left:"0px",top:"0px",imageRendering:"pixelated",pointerEvents:"all",opacity:0},width:t,height:n})});function Sn(e,t,n,a,o,r){const s=new Map;if(null===e||!o)return;const i=An.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 wn(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:m,customDoubleClickBehavior:y,customHoverBehavior:h,disableCanvasInteraction:g,canvasRendering:f}=t;let{enabled:x}=t,b=Be(e=>e.changeTooltip);const v=e=>{b(e)},[k,j]=r([]),[E,A]=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:m,customHoverBehavior:y,hoverAnnotation:h,margin:g,advancedSettings:f={}}=t,x={top:ht,bottom:gt},b=p||m?{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[x[c]]?e[x[c]]:void 0!==e[yt]?e[yt]:e[mt]));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=z(d.map(e=>e.voronoiX)),j=z(d.map(e=>e.voronoiY));null!=k[0]&&null!=j||(k=[0,0],j=[0,0]);const E=[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)],A=H.from(d,e=>e.voronoiX,e=>e.voronoiY),O=A.voronoi(E);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=>{jt(d[a],p,s,e)},onDoubleClick:e=>{Et(d[a],m,s,e)},onMouseEnter:e=>{kt(n,d[a],h,y,s,e)},onMouseLeave:e=>{kt(n,void 0,void 0,y,void 0,e)},key:"interactionVoronoi"+a,d:O.renderCell(a),style:Object.assign({fillOpacity:0},b),clipPath:`url(#voronoi-${a})`}),o)},window),a}if(d)return d.map((a,o)=>{const{overlayData:r}=a,i=Ke(a,["overlayData"]),c={key:"overlay-"+o,onMouseEnter:e=>{kt(n,r,t.hoverAnnotation,y,s,e)},onMouseLeave:e=>{kt(n,void 0,void 0,y,void 0,e)},onClick:e=>{jt(r,p,s,e)},onDoubleClick:e=>{Et(r,m,s,e)},style:Object.assign({opacity:0},b)};if(e.isValidElement(a.renderElement))return e.cloneElement(a.renderElement,c);{const t=i,{markType:n}=t,a=Ke(t,["markType"]);return e.createElement(n||"path",Object.assign(Object.assign(Object.assign({},a),{key:"overlay-"+o}),c))}})})(t,v),f&&(a=e.createElement(On,{height:o[1],width:o[0],overlayRegions:n,margin:s,voronoiHover:v}))),j(n),A(a)},[c,l,d,u,!!p,!!m,!!y,!!h]),a&&a.brush&&(x=!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:m}=t,y="oBrush"===t.brush?"horizontal"===p?"yBrush":"xBrush":t.brush;let{extent:h}=t;if(h||(h="xyBrush"===y?[[i.invert(0),c.invert(0)],[i.invert(l[0]),c.invert(l[1])]]:"xBrush"===y?[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"===y){const e=[...h];o=e=>e?[i.invert(e[0]),i.invert(e[1])]:null,a=B(),r=e.map(e=>i(e)),s=o}else if("yBrush"===y){const e=[...h];o=e=>e?[c.invert(e[0]),c.invert(e[1])].sort((e,t)=>e-t):null,a=V(),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=I(),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=[m[e].x,m[n].x+m[n].width])}o=(e=>t=>t?Object.values(e).filter(e=>t[1]>=e.x&&e.x+e.width>=t[0]):null)(m),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 W(n.sourceEvent.path[1]).transition(750).call(n.target.move,s),a}return null})(m)}return a.extent([[0,0],[l[0],l[1]]]).on("start",e=>{At(o(e.selection),void 0,u,void 0,t)}).on("brush",e=>{Ot(o(e.selection),void 0,u,void 0,t)}).on("end",e=>{St(s(e.selection,e),void 0,u,void 0,t)}),e.createElement("g",{className:"brush"},e.createElement(ut,{selectedExtent:r,extent:h,svgBrush:a}))})(a,t)),a&&a.columnsBrush&&(x=!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 m,y;const h=Object.keys(p).map(n=>(a&&"horizontal"===a?(y=t.extent[n]?t.extent[n].map(e=>o(e)):t.startEmpty?null:u,m=[0,p[n].x],c=B(),c.extent([[u[0],0],[u[1],p[n].width]]).on("start",e=>{At(l(e.selection),n,i,p[n],t)}).on("brush",e=>{Ot(l(e.selection),n,i,p[n],t)}).on("end",e=>{St(l(e.selection),n,i,p[n],t)})):(y=t.extent[n]?t.extent[n].map(e=>u[1]-o(e)).reverse():t.startEmpty?null:u,m=[p[n].x,0],c=V(),c.extent([[0,u[0]],[p[n].width,u[1]]]).on("start",e=>{At(l(e.selection),n,i,p[n],t)}).on("brush",e=>{Ot(l(e.selection),n,i,p[n],t)}).on("end",e=>{St(l(e.selection),n,i,p[n],t)})),e.createElement("g",{key:"column-brush-"+n,className:"brush"},e.createElement(ut,{key:"orbrush"+n,selectedExtent:y,svgBrush:c,position:m}))));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"}},E||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:x?"all":"none"}},e.createElement("g",{className:"interaction-regions"},k),n))):null}function Mn(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:m,frameRenderOrder:y,additionalVizElements:h,transition:g}=t;let f=Be(e=>e.changeTooltip);const x=l(e=>{f(e)},[f]),[b,v]=r(null),[k,j]=r(null),E=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:b,changeFocusedPieceIndex:v,changeFocusedVisualizationGroup:j}),[b,v,j]),A=((t,n,a)=>{const{xScale:o,yScale:r,dataVersion:s,projectedCoordinateNames:i,renderPipeline:c={},renderOrder:l=[],transition:d}=t,u=[],p={},m=[],y=l.concat(Object.keys(c).filter(e=>-1===l.indexOf(e)));return y.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&&m.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:m,dataVersion:s,canvasDrawing:u,piecesGroup:p}})(t,E,x),{renderedElements:O}=A;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,m=p.fill?p.fill:"black",y=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=m,t.strokeStyle=y,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:m,stroke:y,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 A.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,A.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&&A.piecesGroup[k]&&null!==b){const e=A.piecesGroup[k][b],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,m,y,h]);const S=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":m&&e.createElement("g",{key:"visualization-tick-lines",className:"axis axis-tick-lines","aria-hidden":!0},m),"axes-labels":s&&e.createElement("g",{key:"visualization-axis-labels",className:"axis axis-labels"},s),matte:n,"viz-layer":O&&O.length>0?e.createElement(e.Fragment,{key:"viz-layer"},S,O):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 y.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 Pn=[],zn={},Cn=[0,0],Nn={x:"x",y:"y"},$n=["axes-tick-lines","viz-layer","matte","axes-labels","labels"],Fn={top:0,bottom:0,left:0,right:0};function Dn(t){const{axes:n,axesTickLines:a,className:o="",name:s="",frameKey:d,projectedCoordinateNames:u=Nn,renderPipeline:p,size:m,adjustedSize:y=m,title:h,xScale:g,yScale:f,dataVersion:x,annotations:b,projectedYMiddle:v,interaction:k,customClickBehavior:j,customHoverBehavior:E,customDoubleClickBehavior:A,points:O,margin:S=Fn,backgroundGraphics:w,foregroundGraphics:M,beforeElements:P,afterElements:z,defaultSVGRule:C,defaultHTMLRule:N,adjustedPosition:$=Cn,legendSettings:F,annotationSettings:D=zn,overlay:T,columns:R,rScale:L,projection:B,interactionOverflow:V,canvasPostProcess:I,canvasRendering:W,renderOrder:H=Pn,showLinePoints:G,disableCanvasInteraction:_=!1,sketchyRenderingEngine:Y,disableContext:X,frameRenderOrder:K=$n,additionalVizElements:q=zn,interactionSettings:Z,disableProgressiveRendering:J,additionalDefs:U,transition:Q}=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:xn({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:m,margin:S,frameKey:d,additionalDefs:U,name:s});ae(t.defs),re(t.matte)},[m[0],m[1],S.top,S.bottom,S.right,S.left,S.top,oe,U]),!ee&&(j||E||A)&&(ee=Pn);const se=[],ie=b?[...b,...se]:se,ce=c(C);ce.current=C;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)),[]),me=e.createElement(Xe,{legendSettings:F,margin:S,axes:n,annotationHandling:D,pointSizeFunction:D.layout&&D.layout.pointSizeFunction,labelSizeFunction:D.layout&&D.layout.labelSizeFunction,annotations:ie,svgAnnotationRule:ue,htmlAnnotationRule:pe,size:y,position:[$[0]+S.left,$[1]+S.top]}),ye=function({title:t={title:"",orient:"top"},size:n}){let a=null;const{title:o,orient:r}=gn(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:m}),he="function"==typeof w?w({size:m,margin:S}):w,ge="function"==typeof M?M({size:m,margin:S}):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:m[1]+"px",width:m[0]+"px"}},e.createElement(Le,null,e.createElement("div",{className:"visualization-layer",style:{position:"absolute"}},w&&e.createElement("svg",{className:"background-graphics",style:{position:"absolute"},width:m[0],height:m[1]},w&&e.createElement("g",{"aria-hidden":!0,className:"background-graphics"},he)),e.createElement("svg",{className:"visualization-layer",style:{position:"absolute"},width:m[0],height:m[1]},ne,e.createElement(Mn,{disableContext:X,renderPipeline:p,position:$,width:y[0],height:y[1],projectedCoordinateNames:u,xScale:g,yScale:f,axes:n,title:ye,frameKey:d,canvasContext:te,dataVersion:x,matte:oe,margin:S,canvasPostProcess:I,renderOrder:H,sketchyRenderingEngine:Y,axesTickLines:a,additionalVizElements:q,frameRenderOrder:K,disableProgressiveRendering:J,transition:Q}),ye&&e.createElement("g",{className:"frame-title"},ye),M&&e.createElement("g",{"aria-hidden":!0,className:"foreground-graphics"},ge))),W&&e.createElement("canvas",{className:"frame-canvas",ref:te,style:{pointerEvents:"none",position:"absolute"},width:m[0]/2,height:m[1]/2}),e.createElement(wn,{hoverAnnotation:ee,projectedX:u.x,projectedY:u.y,projectedYMiddle:v,interaction:k,customClickBehavior:j,customHoverBehavior:E,customDoubleClickBehavior:A,points:O,showLinePoints:G,canvasRendering:W,position:$,margin:S,size:y,svgSize:m,xScale:g,yScale:f,enabled:!0,overlay:T,oColumns:R,rScale:L,projection:B,interactionOverflow:V,disableCanvasInteraction:_,renderPipeline:p,advancedSettings:Z}),me)),z&&e.createElement("div",{className:s+" frame-after-elements"},z))}const Tn=({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 Rn(t){const{tooltipContent:n,tooltipContentArgs:a}=t,[o,s]=r(null),[c,d]=r(null),[u,p]=r(null),[m,y]=r(null),h=l(e=>{y(e),Tn({tooltipRef:e,tooltipContentArgs:a,changeTooltipContentArgsCurrent:p,changeTooltipContainerInitialDimensions:d,changeCollision:s})},[]);i(()=>{s(null),d(null)},[JSON.stringify(a)]),i(()=>{m&&!o&&Tn({tooltipRef:m,tooltipContentArgs:a,changeTooltipContentArgsCurrent:p,changeTooltipContainerInitialDimensions:d,changeCollision:s})},[m,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",x={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:x})))}const Ln=({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(Re,{key:t.key||"annotation-"+n,noteData:i})},Bn=({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(Re,{key:n.key||"annotation-"+a,noteData:l})},Vn=({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=Q(t),p=(new ee).data([...u,u[0]]).margin(l)[0],m=`M${p.map(e=>e.join(",")).join("L")}Z`,y=p[0],{nx:h=y[0]+r,ny:g=y[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),y),x=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:m,strokeWidth:d,strokeMiterlimit:"10",strokeLinejoin:"miter",strokeLinecap:"butt",fill:"none",stroke:o,transform:`translate(${-f[0]},${-f[1]})`})],customID:"hull-annotation"}});return e.createElement(Re,{key:n.key||"annotation-"+a,noteData:x})},In=({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}),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=[],m=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+m>=a&&a>=o-m});p.push(...a)}),o&&o.length>0){const e=o.filter(e=>{const a=c(e[t]),o=c(n[t]);return o+m>=a&&a>=o-m});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},Hn=Wn("yTop"),Gn=Wn("x"),_n=e=>e&&e.extent||Array.isArray(e)&&e||[],Yn=()=>!0,Xn={top:ht,bottom:gt,orphan:mt},Kn={top:xt,bottom:bt,orphan:pt},qn={stackedarea:Ue,"stackedarea-invert":Ue,stackedpercent:Ue,"stackedpercent-invert":Ue,linepercent:Ue,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:tt,bumpline:tt,"bumparea-invert":tt,line:Qe,area:Qe,cumulative:et,"cumulative-reverse":et};function Zn(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 Jn(e,t,n){if(void 0===e)return[Zn(void 0,t,n)];let a=[];return a=Array.isArray(e)?e:[e],a.map(e=>Zn(e,t,n))}function Un(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 Qn=({lineDataAccessor:e,xAccessor:t,yAccessor:n,summaries:a,points:o,lines:r,lineType:s,showLinePoints:i,showSummaryPoints:c,xExtent:l,yExtent:d,invertX:u,invertY:p,summaryDataAccessor:m,summaryType:y,adjustedSize:h,margin:g,summaryStyleFn:x,summaryClassFn:b,summaryRenderModeFn:v,chartSize:k,filterRenderedLines:j,filterRenderedSummaries:E,filterRenderedPoints:A,defined:O=Yn,annotations:S=[]})=>{let w=[],M=[],P=[],z=[],C=[];if(o){t.forEach((e,t)=>{n.forEach((n,a)=>{let r=0;for(const s of o){const o=e(s,r),i=n(s,r),c={x:o,y:i,data:s,xIndex:t,yIndex:a};Array.isArray(i)&&(c[gt]=Math.min(...i),c[ht]=Math.max(...i),c[yt]=(c[gt]+c[ht])/2),Array.isArray(o)&&(c[bt]=Math.min(...o),c[xt]=Math.max(...o),c[ft]=(c[bt]+c[xt])/2),P.push(c),r++}})});for(const e of P)w.push(Object.assign(Object.assign({},e),{[pt]:e[xt]||e[bt]||e.x,[mt]:e[ht]||e[gt]||e.y}))}if(r){M=Je({data:r,lineDataAccessor:e,xProp:pt,xPropTop:xt,xPropBottom:bt,yProp:mt,yPropTop:ht,yPropBottom:gt,xAccessor:t,yAccessor:n}),z=function(e,t){return n=>qn[ea(e.type,n)](Object.assign(Object.assign(Object.assign({},e),t),{data:n}))}(s,{xProp:pt,yProp:mt,yPropMiddle:yt,yPropTop:ht,yPropBottom:gt,xPropMiddle:ft,xPropTop:xt,xPropBottom:bt})(M);for(const e of z)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),w.push(a)}if(i){const e=!0===i?ft:Kn[i],t=!0===i?yt:Xn[i];z.forEach(n=>{n.data.filter((e,t)=>{if(O(Object.assign({},e.data,e))){if("orphan"===i){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=>{P.push(Object.assign(Object.assign({},a),{parentLine:n,[mt]:void 0!==a[t]?a[t]:void 0!==a[yt]?a[yt]:void 0!==a[gt]?a[gt]:a.y,[pt]:void 0!==a[e]?a[e]:void 0!==a[ft]?a[ft]:void 0!==a[bt]?a[bt]:a.y}))})})}}a&&(C=(({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:a,summaryDataAccessor:m,xAccessor:t,yAccessor:n}),C.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],{[pt]:n[0],[mt]:n[1]})).forEach(e=>{c&&P.push(Object.assign(Object.assign({x:0},e),{[mt]:e[ht]||e[gt]||e[mt]})),w.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]),{[pt]:n[0],[mt]:n[1]})).forEach(e=>{c&&P.push(Object.assign(Object.assign({x:0},e),{[mt]:e[ht]||e[gt]||e[mt]})),w.push(Object.assign({x:0,y:0},e))})}));let N,$,F,T,R=[],L=[];l&&!Array.isArray(l)&&!0===l.includeAnnotations&&t.forEach(e=>{S.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&R.push({[pt]:a})})}),d&&!Array.isArray(d)&&!0===d.includeAnnotations&&n.forEach(e=>{S.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&L.push({[mt]:a})})});for(const e of w){const t=void 0===e[bt]?e[pt]:Math.min(e[xt],e[bt]),n=void 0===e[xt]?e[pt]:Math.max(e[bt],e[xt]),a=void 0===e[gt]?e[mt]:Math.min(e[ht],e[gt]),o=void 0===e[ht]?e[mt]:Math.max(e[gt],e[ht]);void 0===t||void 0!==N&&t>=N||(N=t),void 0===n||void 0!==$&&$>=n||($=n),void 0===a||void 0!==F&&a>=F||(F=a),void 0===o||void 0!==T&&T>=o||(T=o)}for(const e of R){const t=e[pt];void 0===t||void 0!==N&&t>=N||(N=t),void 0===t||void 0!==$&&$>=t||($=t)}for(const e of L){const t=e[mt];void 0===t||void 0!==F&&t>=F||(F=t),void 0===t||void 0!==T&&T>=t||(T=t)}const B=[N,$],V=[F,T],I=_n(l),W=_n(d);let H=[W&&void 0!==W[0]?W[0]:V[0],W&&void 0!==W[1]?W[1]:V[1]],G=[I&&void 0!==I[0]?I[0]:B[0],I&&void 0!==I[1]?I[1]:B[1]];return!u||I&&2===I.length||(G=[G[1],G[0]]),"bumpline"!==s.type&&!p||W&&2===W.length||(H=[H[1],H[0]]),y.type&&"contour"===y.type?C=Xt({summaryType:y,data:C,finalXExtent:G,finalYExtent:H}):y.type&&"linebounds"===y.type?C=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:qt(t,n,r,s)};a=[...a,o]})}),a}({summaryType:y,data:C,defined:O}):y.type&&"hexbin"===y.type?(C=Kt({summaryType:y,data:C[0],processedData:a&&!!a[0].processedData,preprocess:!1,finalXExtent:G,finalYExtent:H,size:h,margin:g,styleFn:x,classFn:b,renderFn:v,chartSize:k}),w=Un(w,C)):y.type&&"heatmap"===y.type?(C=Zt({summaryType:y,data:C[0],processedData:a&&!!a[0].processedData,preprocess:!1,finalXExtent:G,finalYExtent:H,size:h,margin:g,styleFn:x,classFn:b,renderFn:v,chartSize:k}),w=Un(w,C)):y.type&&"trendline"===y.type&&(C=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=D()}){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=f}=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 m=Array.isArray(n)?n:[n],y=o.domain([0,1]).range(a);return s=[],m.forEach(e=>{const t=_[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(y(e)))}),s.push({centroid:!1,customMark:void 0,data:e,parentSummary:e,value:t.string,r2:t.r2,curve:u,_xyfCoordinates:o})}),s}({summaryType:y,data:C[0],preprocess:a&&!!a[0].processedData,finalXExtent:G}),w=Un(w,C)),j&&(z=z.filter(j),w=w.filter((e,t)=>!e.parentLine||j(e.parentLine,t,[]))),A&&(w=w.filter(A)),E&&(C=C.filter(E),w=w.filter((e,t)=>!e.parentSummary||E(e.parentSummary,t,[]))),{xExtent:G,yExtent:H,projectedLines:z,projectedPoints:P,projectedSummaries:C,fullDataset:w,calculatedXExtent:B,calculatedYExtent:V}},ea=(e,t)=>!qn[e]||"difference"===e&&2!==t.length?"line":e,ta=({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}},na={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"}},aa=(t,n,a,o)=>{const{legend:r,lines:s,lineClass:i,pointStyle:c,pointRenderMode:l,pointClass:d,summaryClass:u,canvasLines:p,canvasPoints:m,canvasSummaries:y,defined:h,size:g,renderKey:f,lineType:x,summaryType:b,customLineMark:v,customPointMark:k,customSummaryMark:j,summaryStyle:E,summaryRenderMode:A,lineStyle:O,lineRenderMode:S,xExtent:w,yExtent:M,title:P,xScaleType:z=D(),yScaleType:C=D(),lineIDAccessor:N,invertX:$,invertY:F,showLinePoints:T,showSummaryPoints:R,points:L,lineDataAccessor:B,summaryDataAccessor:V,yAccessor:I,xAccessor:W,useSummariesAsInteractionLayer:H,filterRenderedLines:G,filterRenderedSummaries:_,filterRenderedPoints:Y,annotations:X}=t;let{projectedLines:K,projectedPoints:q,projectedSummaries:Z,summaries:J,fullDataset:U}=t;b&&L&&!J?J=[{coordinates:L}]:b&&"linebounds"===b.type&&s&&!J&&(J=s);const Q=z.domain?z:z(),ee=C.domain?C:C(),te=o.annotatedSettings(W,I,V,B,f,x,b,N),ne=Object.assign(Object.assign({},te),{lineType:vn(x),summaryType:vn(b),summaries:!J||Array.isArray(J)&&0===J.length?void 0:Array.isArray(J)?V||J[0].coordinates?J:[{coordinates:J}]:[J],lines:!s||Array.isArray(s)&&0===s.length?void 0:Array.isArray(s)?B||s[0].coordinates?s:[{coordinates:s}]:[s],title:"object"!=typeof P||e.isValidElement(P)||null===P?{title:P,orient:"top"}:P,xExtent:Array.isArray(w)?w:w?w.extent:void 0,yExtent:Array.isArray(M)?M:M?M.extent:void 0});"area"===ne.lineType.type&&(ne.lineType.y1=()=>0,ne.lineType.simpleLine=!1);const{summaryStyleFn:ae,summaryClassFn:oe,summaryRenderModeFn:re}=o.summaryStyleFns(E,u,A),se=t.axes&&t.axes.map(e=>"function"==typeof e?e({size:t.size}):e),{margin:ie,adjustedPosition:ce,adjustedSize:le}=o.marginCalc(t.margin,se,ne.title,t.size);let de,ue,pe,me,ye,he,ge,fe,xe=[],be=[];pe="object"==typeof w?w:{extent:w},me="object"==typeof M?M:{extent:M},a||t.dataVersion&&t.dataVersion!==n.dataVersion?(ue&&de&&U&&(K||q||Z)||({xExtent:ue,yExtent:de,projectedLines:K,projectedPoints:q,projectedSummaries:Z,fullDataset:U,calculatedXExtent:xe,calculatedYExtent:be}=Qn({lineDataAccessor:ne.lineDataAccessor,summaryDataAccessor:ne.summaryDataAccessor,xAccessor:ne.xAccessor,yAccessor:ne.yAccessor,lineType:ne.lineType,summaryType:ne.summaryType,summaries:ne.summaries,points:L,lines:ne.lines,showLinePoints:T,showSummaryPoints:R,xExtent:w,yExtent:M,invertX:$,invertY:F,adjustedSize:le,margin:ie,summaryStyleFn:ae,summaryClassFn:oe,summaryRenderModeFn:re,chartSize:g,defined:h,filterRenderedLines:G,filterRenderedSummaries:_,filterRenderedPoints:Y,annotations:X})),({xScale:ye,yScale:he}=ta({xExtent:ue,yExtent:de,adjustedSize:le,xScaleType:Q.copy(),yScaleType:ee.copy()}))):(({xExtent:ue,yExtent:de,projectedLines:K,projectedPoints:q,projectedSummaries:Z,fullDataset:U,calculatedXExtent:xe,calculatedYExtent:be}=n),le[0]===n.adjustedSize[0]&&le[1]===n.adjustedSize[1]?(ye=n.xScale,he=n.yScale):({xScale:ye,yScale:he}=ta({xExtent:ue,yExtent:de,adjustedSize:le,xScaleType:Q,yScaleType:ee}))),ue=Array.isArray(pe.extent)&&2===pe.extent.length?pe.extent:ue,de=Array.isArray(me.extent)&&2===me.extent.length?me.extent:de;const ve={};let ke;if(se&&(fe=[],ge=se.map((n,a)=>{let o=n.className||"";o+=" axis";let r,s=he;ve[n.orient]&&(n.baseline=n.baseline||!1),ve[n.orient]=!0,"top"===n.orient||"bottom"===n.orient?(o+=" x",s=ye):o+=" y",o+=" "+n.orient,n.tickValues&&Array.isArray(n.tickValues)?r=n.tickValues:n.tickValues instanceof Function&&(r=n.tickValues(U,t.size,s));const i=[le[0],le[1]],c=Ft({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},Tt({axisParts:c,orient:n.orient,tickLineGenerator:n.tickLineGenerator,className:o,jaggedBase:n.jaggedBase,scale:s,showOutboundTickLines:n.showOutboundTickLines}),"under"===n.baseline&&Dt(n.orient,le,n.className));return fe.push(l),e.createElement(hn,Object.assign({},n,{key:n.key||"axis-"+a,annotationFunction:n.axisAnnotationFunction,axisParts:c,size:i,margin:ie,tickValues:r,scale:s,className:o,xyPoints:U}))})),r&&(ke=!0===r?{}:r,K&&!ke.legendGroups)){const e=ne.lineType.type,n=[{styleFn:t.lineStyle,type:"string"==typeof e&&-1===["stackedarea","stackedpercent","bumparea"].indexOf(e)?"line":"fill",items:K.map(e=>Object.assign({label:ne.lineIDAccessor(e)},e))}];ke.legendGroups=n}const je=[];if(ne.summaryType.label&&Z)Z.forEach((e,t)=>{e.bounds&&(Array.isArray(e.bounds)?e.bounds:[e.bounds]).forEach(n=>{const a="function"==typeof ne.summaryType.label?ne.summaryType.label(e):ne.summaryType.label;if(a&&null!==a){const o=a.position||"center",r=[ye(n[o][0]),he(n[o][1])],s=a.content||(e=>e.value||e.id||t);je.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(ne.summaryType.showSlope&&Z&&Z[0]){const e=Z[0],t=e._xyfCoordinates[0],n=e._xyfCoordinates[e._xyfCoordinates.length-1];je.push({x:t[0],y:t[1],x1:n[0],x2:n[1],type:"trendline-annotation",value:e.value,r2:e.r2})}const Ee=void 0!==ne.lineType.type&&"string"==typeof ne.lineType.type&&na[ne.lineType.type],Ae={lines:Object.assign(Object.assign({accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t].data[e[t].data.length-1]),{type:"frame-hover"}),data:K},o.lineStyleFns(O,i,S,p)),{customMark:v,type:ne.lineType,defined:h,renderKeyFn:ne.renderKeyFn,ariaLabel:Ee,axesData:se,behavior:nn}),summaries:{accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t]),{type:"frame-hover"}),data:Z,styleFn:ae,classFn:oe,renderMode:re,canvasRender:o.summaryCanvasRender(y),customMark:j,type:ne.summaryType,renderKeyFn:ne.renderKeyFn,behavior:an},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,m)),{customMark:k,renderKeyFn:ne.renderKeyFn,showLinePoints:T,behavior:tn})};let Oe;return pe.onChange&&n.calculatedXExtent.join(",")!==xe.join(",")&&pe.onChange(xe),me.onChange&&n.calculatedYExtent.join(",")!==be.join(",")&&me.onChange(be),H&&Z&&(Oe=an({xScale:ye,yScale:he,data:Z}).map((e,t)=>Object.assign(Object.assign({},e.props),{style:{fillOpacity:0},overlayData:Z&&Z[t]}))),{lineData:t.lines,pointData:t.points,summaryData:t.summaries,dataVersion:t.dataVersion,projectedLines:K,projectedPoints:q,projectedSummaries:Z,canvasDrawing:[],fullDataset:U,adjustedPosition:ce,adjustedSize:le,backgroundGraphics:t.backgroundGraphics,foregroundGraphics:t.foregroundGraphics,axesData:se,axes:ge,axesTickLines:fe,renderNumber:n.renderNumber+1,xScale:ye,yScale:he,xAccessor:ne.xAccessor,yAccessor:ne.yAccessor,xExtent:[void 0===ue[0]?xe[0]:ue[0],void 0===ue[1]?xe[1]:ue[1]],yExtent:[void 0===de[0]?be[0]:de[0],void 0===de[1]?be[1]:de[1]],calculatedXExtent:xe,calculatedYExtent:be,margin:ie,legendSettings:ke,areaAnnotations:je,xyFrameRender:Ae,size:g,annotatedSettings:ne,overlay:Oe,props:t}},oa=()=>({}),ra=()=>"",sa=["lines","points","summaries","xAccessor","yAccessor","lineDataAccessor","areaDataAccessor","summaryDataAccessor","lineIDAccessor","lineType","summaryType","showLinePoints","showSummaryPoints","defined","xExtent","yExtent","xScaleType","yScaleType","invertX","invertY","filterRenderedLines","filterRenderedPoints","filterRenderedSummaries"],ia=["size","margin","title","axes",...sa],ca=["data","oAccessor","rAccessor","dataAccessor","type","summaryType","connectorType","projection","orient","oScaleType","rScaleType","oExtent","rExtent","invertO","invertR","oPadding","oSort","dynamicColumnWidth","rBaseline","summaryPosition","renderFn"],la=["size","margin","title","axes","oLabel",...ca],da=["graph","nodes","edges","nodeIDAccessor","sourceAccessor","targetAccessor","nodeSizeAccessor","edgeWidthAccessor","networkType","edgeType","filterRenderedNodes","renderFn"],ua=["size","margin","title","nodeLabels",...da];function pa(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 ma(e,t){let n=c();n.current=[e,t],i(()=>()=>{const[e,t]=n.current,a=e.onUnmount;a&&a(e,t)},[])}let ya="";for(let e=32;e>0;--e)ya+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];const ha={y:mt,x:pt,yMiddle:yt,yTop:ht,yBottom:gt,xMiddle:ft,xTop:xt,xBottom:bt},ga={annotations:[],foregroundGraphics:void 0,size:[500,500],className:"",lineType:"line",name:"xyframe",dataVersion:void 0};function fa(t){const n=Object.assign(Object.assign({},ga),t),o=c({annotatedSettings:ne((e,t,n,a,o,r,s,i)=>({xAccessor:Jn(e,e=>e[0]),yAccessor:Jn(t,e=>e[1]),summaryDataAccessor:Jn(n,e=>Array.isArray(e)?e:e.coordinates),lineDataAccessor:Jn(a,e=>Array.isArray(e)?e:e.coordinates),renderKeyFn:Zn(o,(e,t)=>"line-"+t,!0),lineIDAccessor:Zn(i,e=>e.semioticLineID)})),marginCalc:ne((e,t,n,a)=>{const o=bn({margin:e,axes:t,title:n,size:a}),{adjustedPosition:r,adjustedSize:s}=jn({size:a,margin:o});return{margin:o,adjustedPosition:r,adjustedSize:s}}),summaryStyleFns:ne((e,t,n)=>({summaryStyleFn:Zn(e,oa,!0),summaryClassFn:Zn(t,ra,!0),summaryRenderModeFn:Zn(n,void 0,!0)})),lineStyleFns:ne((e,t,n,a)=>({styleFn:Zn(e,oa,!0),classFn:Zn(t,ra,!0),renderMode:Zn(n,void 0,!0),canvasRender:Zn(a,void 0,!0)})),pointStyleFns:ne((e,t,n,a)=>({styleFn:Zn(e,oa,!0),classFn:Zn(t,ra,!0),renderMode:Zn(n,void 0,!0),canvasRender:Zn(a,void 0,!0)})),summaryCanvasRender:ne(e=>Zn(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:D(),yScale:D(),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),aa(n,r,!0,o.current)),[]),i=pa((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:m,dataVersion:y,lines:h,summaries:g,points:f}=e,x=_n(u),b=_n(p),v=o[0]!==x[0]&&void 0!==x[0]||r[0]!==b[0]&&void 0!==b[0]||o[1]!==x[1]&&void 0!==x[1]||r[1]!==b[1]&&void 0!==b[1],k=c!==h,j=l!==g,E=d!==f,A=!i&&sa.some(t=>a[t]!==e[t]),O=!i&&ia.some(t=>a[t]!==e[t]),S=s[0]!==m[0]||s[1]!==m[1];return i&&i!==y||!t.fullDataset||k||j||E||v||A?aa(e,t,!0,n):S||O?aa(e,t,!1,n):null}(e,t,o.current),n,s),{size:d,className:u,annotationSettings:p,annotations:y,additionalDefs:h,hoverAnnotation:g,interaction:f,customClickBehavior:x,customHoverBehavior:b,customDoubleClickBehavior:v,canvasPostProcess:k,canvasSummaries:j,canvasPoints:E,canvasLines:A,afterElements:O,beforeElements:w,renderOrder:M,matte:P,frameKey:C,showLinePoints:N,sketchyRenderingEngine:$,disableContext:F,frameRenderOrder:T,disableCanvasInteraction:R,interactionSettings:L,disableProgressiveRendering:B,transition:V}=n,{backgroundGraphics:I,foregroundGraphics:W,adjustedPosition:H,adjustedSize:G,margin:_,axes:X,axesTickLines:K,xScale:q,yScale:Z,fullDataset:J,dataVersion:U,areaAnnotations:Q,legendSettings:ee,xyFrameRender:te,annotatedSettings:ae,overlay:oe}=i;ma(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:p,svgAnnotationRules:y}=t,{xyFrameRender:h,xScale:g,yScale:f,xAccessor:x,yAccessor:b,axesData:v,annotatedSettings:k}=n;let j=[];const E=k.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 m=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||"")})}),y=S().x(e=>i(e.x)).y0(e=>c(e.yBottom)).y1(e=>c(e.yTop)),h=o.type.interpolator||o.type.curve,g="string"==typeof h?Qt[h]:h;g&&y.curve(g),d&&y.defined((e,t)=>d(e.data,t));const f=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:y(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)})}),...f,...m]})({d:a,i:o,idAccessor:E,lines:r,summaries:s,points:i,xScale:g,yScale:f,xyFrameRender:h,defined:d});const A=a.coordinates?a:it({point:a,idAccessor:E,lines:r,xScale:g,projectedX:pt,xAccessor:x});if(!A)return null;const O=bn({margin:u,axes:v,title:k.title,size:p}),{adjustedPosition:w,adjustedSize:M}=jn({size:p,margin:O});A.coordinates||A.bounds?A.bounds||(j=A.coordinates.reduce((e,t)=>{const n=st({point:t,projectedXMiddle:ft,projectedX:pt,xAccessor:x,xScale:g}),a=rt({point:t,projectedY:mt,yAccessor:b,yScale:f});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]]},[])):j=[st({point:A,projectedXMiddle:ft,projectedX:pt,xAccessor:x,xScale:g})||0,rt({point:A,projectedY:mt,yAccessor:b,yScale:f,showLinePoints:l})||0];const{voronoiHover:P}=c,C=y&&y({d:A,i:o,screenCoordinates:j,xScale:g,yScale:f,xAccessor:x,yAccessor:b,xyFrameProps:t,xyFrameState:n,summaries:s,points:i,lines:r,voronoiHover:P,adjustedPosition:w,adjustedSize:M,annotationLayer:c});return void 0!==y&&null!==C?C:"desaturation-layer"===A.type?In({style:A.style instanceof Function?A.style(A,o):A.style,size:M,i:o,key:A.key}):"xy"===A.type||"frame-hover"===A.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:A,i:o,screenCoordinates:j}):"function"==typeof A.type||xa.has(A.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(Re,{key:n.key||"annotation-"+a,noteData:o})})({d:A,screenCoordinates:j,i:o}):"enclose"===A.type?(({screenCoordinates:e,d:t,i:n})=>{const a=Y(e.map(e=>({x:e[0],y:e[1],r:2})));return Ln({d:t,circle:a,i:n})})({d:A,screenCoordinates:j,i:o}):"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 Bn({bboxNodes:a,d:e,i:t})})({d:A,screenCoordinates:j,i:o}):"enclose-hull"===A.type?(({screenCoordinates:e,d:t,i:n})=>Vn({points:e,d:t,i:n}))({d:A,screenCoordinates:j,i:o}):"x"===A.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(Re,{key:n.key||"annotation-"+a,noteData:r})})({d:A,screenCoordinates:j,i:o,adjustedSize:M}):"y"===A.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(Re,{key:n.key||"annotation-"+a,noteData:s})})({d:A,screenCoordinates:j,i:o,adjustedSize:M,adjustedPosition:w}):"bounds"===A.type?(({d:t,i:n,adjustedSize:a,xAccessor:o,yAccessor:r,xScale:s,yScale:i})=>{const c=qe(o,t.bounds[0]),l=qe(r,t.bounds[0]),d=qe(o,t.bounds[1]),u=qe(r,t.bounds[1]),p=c?s(c):0,m=l?i(l):a[1],y=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,y),y:Math.min(m,h),subject:{width:Math.abs(y-p),height:Math.abs(m-h)},i:n});return e.createElement(Re,{key:t.key||"annotation-"+n,noteData:g})})({d:A,i:o,adjustedSize:M,xAccessor:x,yAccessor:b,xScale:g,yScale:f}):"line"===A.type?(({d:t,i:n,screenCoordinates:a})=>{const o=m().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:A,i:o,screenCoordinates:j}):"area"===A.type?(({d:t,i:n,xScale:a,xAccessor:o,yScale:r,yAccessor:s,annotationLayer:i})=>{const c=`M${t.coordinates.map(e=>[a(qe(o,e)),r(qe(s,e))]).join("L")}Z`,l=z(t.coordinates.map(e=>a(qe(o,e)))),d=z(t.coordinates.map(e=>r(qe(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:A,i:o,xScale:g,xAccessor:x,yScale:f,yAccessor:b,annotationLayer:c}):"horizontal-points"===A.type?Hn({d:A,lines:r.data,points:i.data,xScale:g,yScale:f,pointStyle:i.styleFn}):"vertical-points"===A.type?Gn({d:A,lines:r.data,points:i.data,xScale:g,yScale:f,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:m,axesData:y}=n,{voronoiHover:h}=c;let g=[];const{tooltipContent:f,optimizeCustomTooltipPosition:x,htmlAnnotationRules:b,size:v,showLinePoints:k,margin:j}=t,E=m.lineIDAccessor,A=it({point:a,idAccessor:E,lines:r,xScale:u,projectedX:pt,xAccessor:l});if(!A)return null;const O=A[ft]||A[pt]||qe(l,A),S=A[yt]||A[mt]||qe(d,A),w=O&&O.toString?""+O:O,M=S&&S.toString?""+S:S,P=bn({margin:j,axes:y,title:m.title,size:v}),{adjustedPosition:z,adjustedSize:C}=jn({size:v,margin:P});g=A.coordinates?A.coordinates.map(e=>{const t=it({point:Object.assign({x:0,y:0},e),idAccessor:E,lines:r,xScale:u,projectedX:pt,xAccessor:l});return[(u(qe(l,A))||0)+z[0],(rt({point:t,projectedY:mt,yAccessor:d,yScale:p})||0)+z[1]]}):[u(O)||0,rt({point:A,projectedY:mt,showLinePoints:k,yAccessor:d,yScale:p})||0];const N=b&&b({d:A,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:z,adjustedSize:C,annotationLayer:c});if(b&&null!==N)return N;if("frame-hover"===A.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),A.percent?e.createElement("p",{key:"html-annotation-content-3"},Math.floor(1e3*A.percent)/10,"%"):null);return"frame-hover"===A.type&&f&&(t=x?e.createElement(Rn,{tooltipContent:f,tooltipContentArgs:A}):f(A)),(({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:A,adjustedSize:C})}return null}(re.current,se.current,t),[]),le=a(()=>Q.length>0?[...y,...Q]:y,[y,Q]),de=a(()=>"string"==typeof N?N:void 0,[N]),ue=a(()=>!!(j||E||A),[j,E,A]);return e.createElement(Dn,{name:"xyframe",renderPipeline:te,adjustedPosition:H,size:d,projectedCoordinateNames:ha,xScale:q,yScale:Z,axes:X,axesTickLines:K,title:ae.title,dataVersion:U,matte:P,className:u,adjustedSize:G,frameKey:C||ya,additionalDefs:h,hoverAnnotation:g,defaultSVGRule:ie,defaultHTMLRule:ce,annotations:le,annotationSettings:p,legendSettings:ee,projectedYMiddle:yt,interaction:f,customClickBehavior:x,customHoverBehavior:b,customDoubleClickBehavior:v,points:J,showLinePoints:de,margin:_,backgroundGraphics:I,foregroundGraphics:W,beforeElements:w,afterElements:O,disableContext:F,canvasPostProcess:k,canvasRendering:ue,renderOrder:M,overlay:oe,sketchyRenderingEngine:$,frameRenderOrder:T,disableCanvasInteraction:R,interactionSettings:L,disableProgressiveRendering:B,transition:V})}const xa=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);fa.displayName="XYFrame";const ba=e.memo(fa),va=(e,t)=>{const n=e(t);return n&&n.toString&&""+n||n};function ka(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 ja({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 Ea=({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[qe(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)?$(l.map(e=>e.scaledValue)):"horizontal"===r?$(l.map(e=>0>e.value?e.bottom:e.scaledValue+e.bottom)):F(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}},Aa=(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},Oa=({p:e,adjustedSize:t,rScale:n,oColumn:a,rAccessor:o,idPiece:r,projection:s,rScaleType:i})=>{const c=qe(o,e)||e.value,l=Array.isArray(c)?Math.max(...c):c;let d;if(d=a?a.middle:0,a&&"radial"===s)return It([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 Sa(t,n,a){return e.createElement(hn,{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 wa=2*Math.PI,Ma=({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?D().domain([0,1]).range(l):e=>e;let p="clusterbar"===e.type?0:"timeline"===e.type?a.scaledValue/2:a.bottom/2,m="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,m=m*t+r}const y=h().innerRadius(p).outerRadius(m),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),x=1===t.pct?l[1]:Math.max(f,f+g-t.pct_padding/2),b=f*wa,v=x*wa,k=y({startAngle:b,endAngle:v}),j=y.centroid({startAngle:b,endAngle:v}),E=n[0]/2,A=n[1]/2,O=j[0]+E,S=j[1]+A,w=It([0,0],(f+x)/2,a.scaledValue/2),M=`translate(${E},${A})`;return{xPosition:O,yPosition:S,xy:{arcGenerator:y,startAngle:b,endAngle:v,dx:w[0],dy:w[1]},translate:M,tx:E,ty:A,markProps:{markType:"path",d:k,transform:M}}},Pa=({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,m=ae(d),y=[0-m.x1+u,0-m.y1+u];m.height+=2*u,m.width+=2*u;const h=[];let g=m.height,f=1,x=1;const b="horizontal"===n?a:o,v="horizontal"===n?m.height:m.width,k="horizontal"===n?m.width:m.height,j="horizontal"===n?l.width:l.height,E="horizontal"===n?l.height:l.width;"auto"===p?(g=b/v,1>g?x=g:(f=Math.floor(g),x=1+(g-f)/f)):"fixed"===p&&(x=b/v);const A=m.height*x,O=k*x,S=v*x;y[0]=y[0]*x,y[1]=y[1]*x;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?O:-O,o="horizontal"===n?(e,t)=>t>e:(e,t,n)=>e>0+n;for(let u="horizontal"===n?0:l.height-A;o(u,j,a);u+=a)for(let a=0;E>a;a+=S)t.push(e.createElement("path",{key:`icon-${u}-${a}`,transform:`translate(${("horizontal"===n?u:a)+y[0]},${("horizontal"===n?a:u)+y[1]}) scale(${x})`,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},za=e=>()=>e,Ca={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((m,y)=>{const h=n[m],g=Math.max(h.width,1)/h.pieceData.length;let f=0,x=0;const b=h.pieceData.map((n,p)=>{const b=a&&a(n.data,p);let v=n.x,k=n.base,j=g,E=n.scaledValue,A={x:0,y:0};n.negative||(k-=n.scaledValue),"horizontal"===s&&(k=n.x,v=n.base,E=g,j=n.scaledValue,A.x=n.scaledValue,n.negative&&(v-=n.scaledValue,A.x=v));let O={},S=0,w=0;if("radial"===s){let e,a;({xPosition:v,yPosition:k,markProps:O,xy:A,tx:e,ty:a}=Ma({type:t,ordset:h,adjustedSize:c,piece:n,i:p})),S=e,w=a,A.x=v}else v+=f,k+=x,O={markType:"rect",x:v,y:k,width:Math.max(0,j),height:Math.max(0,E),rx:0,ry:0},"vertical"===s&&(A.x=v);const M=o(n,p);A.y=k,A.middle=g/2,A.height=E,A.width=j,t.icon&&"radial"!==s?t.customMark=Pa({type:t,projection:s,finalHeight:E,finalWidth:j,styleFn:r,renderValue:b,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({},A),{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),y)},O),M);return"horizontal"===s?x+=E:f+=j,{o:m,xy:A,piece:n,tx:S,ty:w,renderValue:b,renderElement:P}});p=[...p,...b]}),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((m,y)=>{const h=n[m],g=Math.max(h.width,1);h.pieceData.forEach((n,f)=>{const x=n.scaledValue,b=a&&a(n.data,f);let v=n.x,k=n.bottom,j=g,E=x,A={};n.negative||(k-=n.scaledValue),"vertical"===s?A={x:v,y:k,middle:g/2,height:E,width:j}:"horizontal"===s&&(k=n.x,v=n.bottom,E=g,j=x,A={x:v+n.scaledValue,y:k,middle:g/2,height:E,width:j},n.negative&&(v=n.bottom-n.scaledValue));let O,S=0,w=0;if("radial"===s){let e,a;({markProps:O,xPosition:v,yPosition:k,tx:e,ty:a}=Ma({type:t,ordset:h,adjustedSize:c,piece:n,i:f})),S=e,w=a,E=void 0,j=void 0,A={x:v,y:k,middle:g/2,height:E,width:j}}else O={markType:"rect",x:v,y:k,width:Math.max(0,j),height:Math.max(0,E),rx:0,ry:0};const M=o(n,f);t.icon&&"radial"!==s?t.customMark=Pa({type:t,projection:s,finalHeight:E,finalWidth:j,styleFn:r,renderValue:b,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({},A),{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),y)},M),O);p.push({o:m,xy:A,piece:n,tx:S,ty:w,renderValue:b,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 m=[];return Object.keys(n).forEach((y,h)=>{const g=n[y],f=[];g.pieceData.forEach((n,m)=>{const x=a&&a(n.data,m);let b=g.middle,v=n.scaledVerticalValue;if("horizontal"===s)v=g.middle,b=n.scaledValue;else if("radial"===s){const e=It([c[0]/2,c[1]/2],g.pct_middle,n.scaledValue/2);b=e[0],v=e[1]}const k="function"==typeof p?p(n,m):p,j=o(n,m),E=t.customMark?e.createElement("g",{key:"piece-"+n.renderKey,transform:`translate(${b},${v})`},t.customMark(Object.assign(Object.assign(Object.assign({},n.data),n),{x:b,y:v,width:g.width}),m,{r:p,x:b,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),m),markType:"rect",key:"piece-"+n.renderKey,height:2*k,width:2*k,x:b-k,y:v-k,rx:k,ry:k,style:r(Object.assign(Object.assign({},n),n.data),h)},j);f.push({o:y,xy:{x:b,y:v},piece:n,renderValue:x,renderElement:E})}),m=[...m,...f]}),m},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 m=Object.keys(n),y=m.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-(y-100)/20)));return m.forEach((y,g)=>{const f=n[y],x=1/m.length,b=f.pieceData,v=f.width,k=t.r||Math.max(2,Math.min(5,4*v/b.length)),j=oe(b).force("y",re(e=>e.scaledValue).strength(t.strength||2)).force("x",se(f.middle)).force("collide",ie(k)).stop();"vertical"===s&&j.force("y",re(e=>e.scaledVerticalValue).strength(t.strength||2));for(let e=0;h>e;++e)j.tick();const E=b.map((n,p)=>{const m=a&&a(n.data,p);let h=n.x,b=n.y;if("horizontal"===s)b=n.x,h=n.y;else if("radial"===s){h=(n.x-f.middle)/v*x;const e=It([c[0]/2,c[1]/2],f.pct_middle+h,n.scaledValue/2);h=e[0],b=e[1]}const j="function"==typeof k?k(n,p):k,E=o(n,p),A=t.customMark?e.createElement("g",{key:"piece-"+n.renderKey,transform:`translate(${h},${b})`},t.customMark(Object.assign(Object.assign(Object.assign({},n.data),n),{x:h,y:b}),p,{x:h,y:b,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:b-j,rx:j,ry:j,style:r(Object.assign(Object.assign({},n),n.data),g)},E);return{o:y,xy:{x:h,y:b},piece:n,renderValue:m,renderElement:A}});p=[...p,...E]}),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((m,y)=>{const h=n[m],g=[];h.pieceData.forEach((n,p)=>{let f,x,b=0,v=0;const k=a&&a(n.data,p);let j=h.x,E=n.scaledEndValue-n.scaledValue,A=n.scaledVerticalValue-E,O=h.width,S={markType:"rect",height:0>E?-E:E,width:O,x:j,y:0>E?A+E:A};if("horizontal"===s)A=h.x,j=n.scaledValue,f=n.scaledEndValue-n.scaledValue,x=n.scaledBottom,O=n.scaledEndValue-n.scaledValue,E=h.width,S={markType:"rect",height:E,width:0>O?-O:O,x:0>O?j+O:j,y:A};else if("radial"===s){let e,a;({markProps:S,tx:e,ty:a}=Ma({piece:n,type:t,ordset:h,adjustedSize:c,i:p})),b=e,v=a}const w=o(n,p),M={x:j,y:A,scaledValue:f,scaledBottom:x,height:E},P=t.customMark?e.createElement("g",{key:"piece-"+n.renderKey,transform:`translate(${j},${A+E})`},t.customMark(Object.assign(Object.assign(Object.assign({},n.data),n),{x:j,y:A}),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),y)},S),w);g.push({o:m,xy:M,piece:n,tx:b,ty:v,renderValue:k,renderElement:P})}),p=[...p,...g]}),p}},Na=e=>e.middle?e.middle:0,$a=za(0),Fa=2*Math.PI,Da={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"}},Ta=(t,n,a)=>{let o;const r={},{oPadding:s=0,summaryType:i,type:c,connectorType:l,oAccessor:d,rAccessor:u,connectorStyle:p,style:m,rExtent:y,oSort:g,pieceClass:f,summaryStyle:x,summaryClass:b,dynamicColumnWidth:v,projection:k,customHoverBehavior:j,customClickBehavior:E,customDoubleClickBehavior:A,size:O,pixelColumnWidth:S,title:w,oLabel:M,hoverAnnotation:C,pieceHoverAnnotation:N,summaryHoverAnnotation:R,backgroundGraphics:L,foregroundGraphics:B,oScaleType:V,rScaleType:I,legend:W,renderKey:H,data:G,margin:_,oExtent:Y,axes:X,pieceIDAccessor:K,multiAxis:q,annotations:Z}=t,J="radial"===k?0:s,U=vn(i),Q=vn(c),ee=vn(l),te=a.accessorConversions(d,u,H,K),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:me,connectorRenderMode:ye,pieceCanvasRender:he,summaryCanvasRender:ge,connectorCanvasRender:fe}=a.styleFns(p,x,m,f,b,t.connectorClass,t.renderMode,t.summaryRenderMode,t.connectorRenderMode,t.canvasPieces,t.canvasSummaries,t.canvasConnectors),xe="object"!=typeof w||e.isValidElement(w)||null===w?{title:w,orient:"top"}:w,be=te.pieceIDAccessor,ve=Array.isArray(u)?u:[u],ke=Array.isArray(d)?d:[d];let je=ae,Ee=v;if("radial"===k){if(!Ee){const e=ae;Ee=t=>P(t,t=>{let n=0;for(const a of e)n+=a(t)||0;return n})}je=[()=>1]}const{allData:Ae,multiExtents:Oe}=kn({data:G,renderKey:oe,oAccessor:ne,rAccessor:je,originalRAccessor:ve,originalOAccessor:ke,multiAxis:q});let Se;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)),Oe&&X&&Pe.forEach((e,t)=>{e.extentOverride=Oe[t]});const{margin:ze,adjustedPosition:Ce,adjustedSize:Ne}=a.marginCalc(_,Pe,xe,M,k,O),$e=void 0===Y||Array.isArray(Y)?{extent:Y}:Y,Fe=Ae.reduce((e,t)=>{const n=t.column,a=void 0!==n?n+"":n;return-1===e.indexOf(a)&&e.push(a),e},[]);let De=$e.extent||Fe;if("barpercent"===Q.type){const e=De.map(e=>Ae.filter(t=>t.column+""===e).reduce((e,t)=>e+t.value,0)).reduce((e,t,n)=>(e[De[n]]=t,e),{});Ae.forEach(t=>{t.value=e[t.column]&&t.value/e[t.column]||0}),Q.type="bar"}S&&("radial"===k?console.error("pixelColumnWidth is not honored in radial mode"):"vertical"===k?Ne[0]=De.length*S:Ne[1]=De.length*S);const Te="vertical"===k&&[0,Ne[0]]||[0,Ne[1]],Re=De.reduce((e,t)=>(e[t]=1/De.length*Te[1],e.total+=e[t],e),{total:0}),Le=V,Be=Ee?T():(null==Le?void 0:Le.domain)?Le:Le();let Ve;Be.domain(De);const Ie=void 0===y||Array.isArray(y)?{extent:y,onChange:void 0,includeAnnotations:!1}:y;let We=Ie.extent,He=[0,0];"bar"===Q.type&&U.type&&"none"!==U.type&&(Q.type="none");const Ge=[];if(Ie.includeAnnotations&&Z&&ae.forEach(e=>{Z.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&Ge.push(a)})}),"timeline"===Q.type){const e=Ae.map(e=>e.value),t=z(e.map(e=>e[0])),n=z(e.map(e=>e[1]));We=z([...t,...n,...Ge])}else if("bar"!==Q.type)We=z([...Ae.map(e=>e.value),...Ge]);else{const e=[],t=[],n={},a={};for(const o of Ae)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=Ge.filter(e=>e>0);We=[0,0===e.length&&0===o.length?0:Math.max($([...e.map(e=>e.value),...o]),0)];const r=Ge.filter(e=>0>e);He=[0,0===t.length?0:Math.min(F([...t.map(e=>e.value),...r]),0)],We=[He[1],We[1]]}("clusterbar"===Q.type||q)&&We[0]>0&&(We[0]=0);const _e=We;Ie.extent&&void 0!==Ie.extent[0]&&void 0!==Ie.extent[1]?We=Ie.extent:(Ie.extent&&void 0!==Ie.extent[1]&&void 0===Ie.extent[0]&&(We[1]=Ie.extent[1]),Ie.extent&&void 0!==Ie.extent[0]&&void 0===Ie.extent[1]&&(We[0]=Ie.extent[0])),(t.invertR||Ie.extent&&Ie.extent[0]>Ie.extent[1])&&(We=[We[1],We[0]]);const Ye={};for(const e of Ae)Ye[e.column]||(Ye[e.column]=[]),Ye[e.column].push(e);if(void 0!==g)De=De.sort((e,t)=>g(e,t,Ye[e].map(e=>e.data),Ye[t].map(e=>e.data))),Be.domain(De);else{const e={};for(const t of De)e[t]=P(Ye[t],e=>e.value);let t;if(Ee){let e;t={},e="string"==typeof Ee?e=>P(e,e=>e.data[Ee]):e=>Ee(e.map(e=>e.data));for(const n of De)t[n]=e(Ye[n])}De=De.sort((n,a)=>{const o=e[a]-e[n];return 0!==o?o:t?t[a]-t[n]:0}),Be.domain(De)}if(Ee){let e;e="string"==typeof Ee?e=>P(e,e=>e.data[Ee]):e=>Ee(e.map(e=>e.data));const t=[0],n=[];Ve=0,De.forEach(t=>{const a=Ae.filter(e=>e.column===t),o=e(a);n.push(o),Ve+=o}),Re.total=0,De.forEach((e,a)=>{const o=n[a]/Ve*(Te[1]-Te[0]);Re[e]=o,Re.total+=o,a!==De.length-1&&t.push(o+t[a])}),Be.range(t)}else Be.range(Te);const Xe="vertical"===k&&[0,Ne[1]]||[0,Ne[0]],Ke=I.domain?I:I(),qe=Ke(0);Ie.extent&&void 0!==Ie.extent[0]&&(isNaN(qe)||qe===-1/0||qe===1/0)&&(We[0]=Ie.extent[0]);const Ze=Ke.copy().domain(We).range(Xe),Je=D().domain(Xe).range(Xe.reverse()),Ue=Ke.copy().domain(We).range(Xe),Qe=Re?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,J);et=De.map(e=>Ye[e]?Ye[e]:[]);let at="vertical"===k?Je(Ze(0)):Ze(0);!isNaN(at)&&at!==-1/0&&at!==1/0||!Ie.extent||void 0===Ie.extent[0]||qe!==-1/0&&qe!==1/0||(at="vertical"===k?Je(Ze(Ie.extent[0])):Ze(Ie.extent[0])),De.forEach((e,n)=>{r[e]={name:e,padding:J,pieceData:et[n],pieces:et[n]},r[e].x=Be(e)+J/2,r[e].y=0,r[e].middle=nt[e]+J/2;let a=at,o=at,s=0;r[e].pieceData.forEach(t=>{let n;"timeline"===Q.type?(t.scaledValue=Ze(t.value[0]),t.scaledEndValue=Ze(t.value[1]),t.scaledVerticalValue=Ue(t.value[0])):"bar"!==Q.type&&"clusterbar"!==Q.type?(t.scaledValue=Ze(t.value),t.scaledVerticalValue=Ue(t.value)):"clusterbar"===Q.type&&(n="vertical"===k?Je(Ze(t.value)):Ze(t.value),t.scaledValue=Math.abs(at-n)),t.x=r[e].x,0>t.value?("bar"===Q.type&&(t.scaledValue=Math.abs("vertical"===k?Ze(t.value)-Ze(0):Ze(t.value)-at)),t.base=at,t.bottom="bar"===Q.type?a:0,t.middle=a-t.scaledValue/2,a="vertical"===k?a+t.scaledValue:a-t.scaledValue,t.negative=!0):("bar"===Q.type&&(t.scaledValue="vertical"===k?o-Je(Ze(s+t.value)):Ze(s+t.value)-o,s+=t.value),t.base=at,t.bottom="bar"===Q.type?o:0,t.middle=t.scaledValue/2+o,o="vertical"===k?o-t.scaledValue:o+t.scaledValue,t.negative=!1)}),Re?(r[e].width=Re[e]-J,"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[De[n-1]].x+r[De[n-1]].width,r[e].middle=r[e].x+r[e].width/2)),r[e].pct=Re[e]/Re.total,r[e].pct_start=(r[e].x-Te[0])/Re.total,r[e].pct_padding=J/Re.total,r[e].pct_middle=(r[e].middle-Te[0])/Re.total):(r[e].width=Qe-J,"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=Qe/Ne[1],r[e].pct_start=(r[e].x-Te[0])/Ne[1],r[e].pct_padding=J/Ne[1],r[e].pct_middle=(r[e].middle-Te[0])/Ne[1])});const ot=[],rt=[],st="object"==typeof M?Object.assign({label:!0,padding:5},M):{orient:"default",label:M,padding:5};if(M||C){const e=Q.offsetAngle&&Q.offsetAngle/360||0,t=Q.angleRange&&Q.angleRange.map(e=>e/360)||[0,1],n=t[1]-t[0],a=1>n?D().domain([0,1]).range(t):e=>e;De.forEach(t=>{const o=h().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*Fa,endAngle:c*Fa}),u=[Ne[0]/2,Ne[1]/2],p=o.centroid({startAngle:i*Fa,endAngle:c*Fa}),m=0>=p[1]||st.orient&&"default"!==st.orient&&"edge"!==st.orient?0:8,y={startAngle:i,endAngle:c,midAngle:l,markD:d,translate:u,centroid:p,outerPoint:It([0,0],l,Ze.range()[1]/2+st.padding+m)};r[t].pieArc=y,rt.push(y)})}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(De.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(Q.type);let ct;it||t.summaryHoverAnnotation||!(t.hoverAnnotation||t.customClickBehavior||t.customDoubleClickBehavior||t.customHoverBehavior)||(Se=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,m=n.range()[1],y=d+o;if("horizontal"===r&&(p=t[e].x,u=0,y=n.range()[1],m=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:m,width:y,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:De,projectedColumns:r,rScale:Ze,pieArcs:rt,padding:J,projection:k,customDoubleClickBehavior:A,customClickBehavior:E,customHoverBehavior:j}):n.columnOverlays);const lt=Q.type&&"none"!==Q.type?Q.type:"point",dt=("function"==typeof lt?lt:Ca[lt])({type:Q,data:r,renderMode:pe,eventListenersGenerator:re,styleFn:ce,projection:k,classFn:le,adjustedSize:Ne,chartSize:O,margin:ze,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=pn({data:r,type:U,renderMode:me,styleFn:ie,classFn:de,projection:k,eventListenersGenerator:re,adjustedSize:Ne,margin:ze,axisCreator:Sa}),pt.originalData=r);const mt="horizontal"===k?Na:$a,yt="vertical"===k?Na:$a,ht=dt.map(e=>e.piece&&e.xy?Object.assign(Object.assign({},e.piece),{type:"frame-hover",x:e.xy.x+yt(e.xy),y:e.xy.y+mt(e.xy)}):null).filter(e=>e);((C||N)&&-1===["bar","clusterbar","timeline"].indexOf(Q.type)||R)&&(R&&pt.xyPoints?ct=pt.xyPoints.map(e=>Object.assign({},e,{type:"frame-hover",isSummaryData:!0,x:e.x,y:e.y})):(C||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:m})=>{if(!n)return{axis:void 0,axesTickLines:void 0};let y,h;if("radial"!==t&&n){h=[];const i=[0,0];y=n.map((n,c)=>{let y,g=n.className||"";const f=n.extentOverride?n.extentOverride:r.domain(),x=["left","right"],b=-1===x.indexOf(n.orient)&&"vertical"!==t||-1!==x.indexOf(n.orient)&&"horizontal"!==t?s.domain(f):s.domain([0,d]),v=n.orient,k=-1===x.indexOf(n.orient)&&"vertical"!==t||-1!==x.indexOf(n.orient)&&"horizontal"!==t?r.range():[0,"vertical"===t?a[0]:a[1]];"right"===v?(b.range(k.reverse()),g+=" right y"):"left"===v?(g+=" left y",b.range(k.reverse())):"top"===v?(g+=" top x",b.range(k)):"bottom"===v&&(g+=" bottom x",b.range(k)),n.tickValues&&Array.isArray(n.tickValues)?y=n.tickValues:n.tickValues instanceof Function?y=n.tickValues(l,o,r):!n.tickValues&&m&&(y=m.map(e=>r.invert(e)));const j=Ft({padding:n.padding,tickValues:y,scale:b,ticks:n.ticks,orient:v,size:a,footer:n.footer,tickSize:n.tickSize,jaggedBase:n.jaggedBase}),E=Tt({className:n.className,axisParts:j,orient:v,tickLineGenerator:n.tickLineGenerator,jaggedBase:n.jaggedBase,scale:b});return h.push(E),"under"===n.baseline&&h.push(Dt(n.orient,a,n.className)),e.createElement(hn,Object.assign({},n,{key:n.key||"orframe-axis-"+c,axisParts:j,orient:v,size:a,position:i,tickValues:y,scale:b,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",fn(0-s),fn(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})}),y=[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:y,axesTickLines:h}})({axis:Pe,data:Ae,projection:k,adjustedSize:Ne,size:O,rScale:Ze,rScaleType:Ke.copy(),pieceType:Q,rExtent:We,maxColumnValues:Ve,xyData:ht,margin:ze,thresholds:pt.thresholds});return Object.assign({pieceDataXY:ct,oAccessor:ne,rAccessor:ae,summaryType:U,type:Q},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:m,summaryCanvasRender:y,pieceCanvasRender:h,connectorType:g,eventListenersGenerator:f,pieceType:x,summaryStyle:b,summaryClass:v,pieceStyle:k,pieceClass:j,keyedData:E,oExtent:A,projectedColumns:O,calculatedSummaries:S,oAccessor:w,rScale:M,calculatedRExtent:P,calculatedOExtent:z,rExtentSettings:C,oExtentSettings:N,adjustedPosition:$,adjustedSize:F,margin:D,backgroundGraphics:T,foregroundGraphics:R,arrayWrappedAxis:L,axis:B,axesTickLines:V,oLabels:I,title:W,oScaleType:H,instantiatedRScaleType:G,oScale:_,rExtent:Y,legend:X,pieceIDAccessor:K,currentProps:q}=t;let{columnOverlays:Z}=t;if(n){const t="horizontal"===r?Na:$a,n="vertical"===r?Na:$a;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 J={connectors:{accessibleTransform:(e,t)=>e[t],projection:r,data:{keyedData:E,oExtent:A},styleFn:d,classFn:u,renderMode:p,canvasRender:m,behavior:En,type:g,eventListenersGenerator:f,pieceType:x},summaries:{accessibleTransform:(e,t)=>{const n=A[t];return{type:"column-hover",column:O[n],pieces:O[n].pieceData,summary:O[n].pieceData,oAccessor:w}},data:S.marks,behavior:yn,canvasRender:y,styleFn:b,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:x.type&&"none"!==x.type,data:o,behavior:Wt,canvasRender:h,styleFn:k,classFn:j,axis:L,ariaLabel:void 0!==x.type&&"function"!=typeof x.type&&Da[x.type]||{items:"piece",chart:"ordinal chart"}}};let U;if(C.onChange&&(l.calculatedRExtent||[]).join(",")!==(P||[]).join(",")&&C.onChange(P),N.onChange&&(l.calculatedOExtent||[]).join(",")!==(z||[]).join(",")&&N.onChange(z),X&&(U=!0===X?{}:Object.assign({},X),U.legendGroups)){const e=new Map(A.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:F,backgroundGraphics:T,foregroundGraphics:R,axisData:L,axes:B,axesTickLines:V,oLabels:{labels:I},title:W,columnOverlays:Z,renderNumber:l.renderNumber+1,oScaleType:H,rScaleType:G,oExtent:A,rExtent:Y,oScale:_,rScale:M,calculatedOExtent:z,calculatedRExtent:P,projectedColumns:O,margin:D,legendSettings:U,orFrameRender:J,pieceIDAccessor:K,props:q}}({usesPieceOverlays:it,shouldRecalculateOverlay:Me,calculatedPieceData:dt,projection:k,customClickBehavior:E,customDoubleClickBehavior:A,customHoverBehavior:j,currentState:n,connectorStyle:se,connectorClass:ue,connectorRenderMode:ye,connectorCanvasRender:fe,summaryCanvasRender:ge,pieceCanvasRender:he,connectorType:ee,eventListenersGenerator:re,pieceType:Q,summaryStyle:ie,summaryClass:de,pieceStyle:ce,pieceClass:le,keyedData:ut,oExtent:De,projectedColumns:r,calculatedSummaries:pt,oAccessor:ne,rScale:Ze,calculatedRExtent:_e,calculatedOExtent:Fe,rExtentSettings:Ie,oExtentSettings:$e,adjustedPosition:Ce,adjustedSize:Ne,margin:ze,backgroundGraphics:L,foregroundGraphics:B,arrayWrappedAxis:Pe,axis:gt,axesTickLines:ft,oLabels:o,title:xe,columnOverlays:Se,oScaleType:V,instantiatedRScaleType:Ke,oScale:Be,rExtent:We,legend:W,pieceIDAccessor:be,currentProps:t}))},Ra=D(),La=D(),Ba={y:"y",x:"x"},Va={top:0,bottom:0,left:0,right:0},Ia={annotations:[],foregroundGraphics:[],projection:"vertical",size:[500,500],className:"",data:[],oScaleType:R(),rScaleType:D,type:"none",optimizeCustomTooltipPosition:!1};function Wa(t){const n=Object.assign(Object.assign({},Ia),t),o=c({marginCalc:ne((e,t,n,a,o,r)=>{const s=bn({margin:e,axes:t,title:n,oLabel:a,projection:o,size:r}),{adjustedPosition:i,adjustedSize:c}=jn({size:r,margin:s,projection:o});return{margin:s,adjustedPosition:i,adjustedSize:c}}),structureData:ne((e,t,n,a,o,r,s)=>kn({data:e,renderKey:t,oAccessor:n,rAccessor:a,originalRAccessor:o,originalOAccessor:r,multiAxis:s})),accessorConversions:ne((e,t,n,a)=>({oAccessor:Jn(e,e=>e.renderKey),rAccessor:Jn(t,e=>e.value||1),renderKey:Zn(n,(e,t)=>t),pieceIDAccessor:Zn(a,()=>"")})),styleFns:ne((e,t,n,a,o,r,s,i,c,l,d,u)=>({connectorStyle:Zn(e,()=>({}),!0),summaryStyle:Zn(t,()=>({}),!0),pieceStyle:Zn(n,()=>({}),!0),pieceClass:Zn(a,()=>"",!0),summaryClass:Zn(o,()=>"",!0),connectorClass:Zn(r,()=>"",!0),pieceRenderMode:Zn(s,void 0,!0),summaryRenderMode:Zn(i,void 0,!0),connectorRenderMode:Zn(c,void 0,!0),pieceCanvasRender:Zn(l,void 0,!0),summaryCanvasRender:Zn(d,void 0,!0),connectorCanvasRender:Zn(u,void 0,!0)}))}),r={adjustedPosition:[],adjustedSize:[],backgroundGraphics:void 0,foregroundGraphics:void 0,axisData:void 0,renderNumber:0,oLabels:{labels:[]},oAccessor:Jn("renderKey"),rAccessor:Jn("value"),oScale:R(),rScale:D(),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:R(),orFrameRender:{},pieceDataXY:[],pieceIDAccessor:Zn("semioticPieceID"),projectedColumns:{},rExtent:[],rScaleType:D(),summaryType:{type:"none"},title:{},type:{type:"none"},props:n},s=a(()=>Object.assign(Object.assign({},r),Ta(n,r,o.current)),[]),i=pa((e,t)=>function(e,t,n){const{props:a}=t,o=!t.dataVersion&&ca.some(t=>a[t]!==e[t]),r=!t.dataVersion&&la.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({},Ta(e,t,n)),{props:e}):{props:e}}(e,t,o.current),n,s);ma(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{projection:s,svgAnnotationRules:i}=t,{adjustedPosition:c,adjustedSize:l,oAccessor:d,rAccessor:u,oScale:p,rScale:y,projectedColumns:h,orFrameRender:g,pieceIDAccessor:f,rScaleType:x,summaryType:b,type:v}=n;let k=[0,0];if(a.isColumnAnnotation){const{coordinates:[e,t]}=Ea({d:a,projectedColumns:h,oAccessor:d,summaryType:b,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=qe(d,e)||e.column,n=h[t],a=Aa(f,n,e);return Oa({p:e,adjustedSize:l,rScale:y,rAccessor:u,idPiece:a,projection:s,oColumn:n,rScaleType:x})});else{const e=qe(d,a)||a.column,t=h[e],n=Aa(f,t,a);k=Oa({p:a,adjustedSize:l,rScale:y,rAccessor:u,idPiece:n,projection:s,oColumn:t,rScaleType:x})}const{voronoiHover:j}=r,E=i&&i({d:a,i:o,oScale:p,rScale:y,oAccessor:d,rAccessor:u,orFrameProps:t,orFrameState:n,screenCoordinates:k,adjustedPosition:c,adjustedSize:l,annotationLayer:r,categories:h,voronoiHover:j});return i&&null!==E?E:"desaturation-layer"===a.type?In({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=m().x(e=>e[0]).y(e=>e[1]);n.curve&&o.curve(Qt[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=qe(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&&qe(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=Ke(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||Ha.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(Re,{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 Ln({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 Bn({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,m,y,h;if("radial"===c)return e.createElement(Re,{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(qe(r,t))/2,radiusPadding:0},x:s[0]/2,y:s[1]/2})});"horizontal"===c?(y=50,h=50,p=t.offset||25*n,l=a[0],d=p,m={x:l,y1:0,y2:s[1]+i[1]}):(y=50,h=-20,u=t.offset||25*n,d=a[1],l=u,m={y:d,x1:0,x2:s[0]+i[0]});const g=Object.assign({dx:y,dy:h,note:{label:t.label},connector:{end:"arrow"}},t,{type:"xy-threshold",x:l,y:d,subject:m});return e.createElement(Re,{key:t.key||"annotation-"+n,noteData:g})})({d:a,i:o,screenCoordinates:k,rScale:y,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=F(u.map(e=>e.pct_start+e.pct_padding/2+t/2)),i=$(u.map(e=>e.pct_start+e.pct-e.pct_padding/2-t/2)),p=Math.min(r[0],r[1])/2,m=r[0]/2,y=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=ka(e,t,n+s,o),l=ka(e,t,n+s,a),d=ka(e,t,n+s-r,o),u=ka(e,t,n+s-r,a),p=o-a,m=p>180?"1":"0";let y;if(i){const r=Math.min(10,p/4),i=ka(e,t,n+s,(a+o)/2+r),m=ka(e,t,n+s+10,(a+o)/2),h=ka(e,t,n+s,(a+o)/2-r);y=["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,m.x,m.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 y=["M",d.x,d.y,"L",c.x,c.y,"A",n+s,n+s,0,m,0,l.x,l.y,"L",u.x,u.y].join(" ");const h=(a+o)/2;let g,f,x,b,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=ka(e,t,n+s+g,o),E=ka(e,t,n+s+g,a);return k?(b=j,x=E):(b=E,x=j),{arcPath:y,textArcPath:["M",b.x,b.y,"A",n+s+g,n+s+g,v,f,v,x.x,x.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(${m},${y})`},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=F(u.map(e=>e.x)),p=$(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(Re,{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(Re,{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),[]),y=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:m,type:y,pieceIDAccessor:h,rScaleType:g}=n,{htmlAnnotationRules:f,tooltipContent:x,optimizeCustomTooltipPosition:b,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=qe(c,e)||e.column,n=p[t],a=Aa(h,n,e);return Oa({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]}=Ea({d:a,projectedColumns:p,oAccessor:c,summaryType:m,type:y,projection:v,adjustedPosition:s,adjustedSize:i});k=[e,t]}else{const e=qe(c,a)||a.column,t=p[e],n=Aa(h,t,a);k=Oa({p:a,adjustedSize:i,rScale:u,rAccessor:l,idPiece:n,projection:v,oColumn:t,rScaleType:g})}const E="vertical"===v?g.domain(u.domain()).range(u.range().reverse()):u,A=f&&f({d:a,i:o,oScale:d,rScale:E,oAccessor:c,rAccessor:l,orFrameProps:t,screenCoordinates:k,adjustedPosition:s,adjustedSize:i,annotationLayer:r,orFrameState:n,categories:n.projectedColumns,voronoiHover:j});return f&&null!==A?A:"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:m})=>{let y;s="pie"===s?()=>ja({column:t.column}):s;const h=l[qe(o,t)||t.column],g=Aa(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]:Oa({p:t,adjustedSize:d,rScale:u,oColumn:h,rAccessor:a,idPiece:g,projection:r,rScaleType:m});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=z(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);y=[e.createElement("p",{key:"html-annotation-content-1"},t.key),o,e.createElement("p",{key:"html-annotation-content-3"},t.value)]}else t.data?(y=[],o.forEach((t,n)=>{if(g.data){const a=va(t,g.data);y.push(e.createElement("p",{key:"html-annotation-content-o-"+n},a))}}),a.forEach((t,n)=>{if(g.data){const a=va(t,g.data);y.push(e.createElement("p",{key:"html-annotation-content-r-"+n},a))}})):t.label&&(y=t.label);let x=e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},y);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):[]});x=i?e.createElement(Rn,{tooltipContent:s,tooltipContentArgs:t}):s(t)}const b=parseInt(f[0]),v=d&&b>d[0]/2,k={position:"absolute",top:parseInt(f[1])+"px"};return v?k.right=d[0]-b+"px":k.left=b+"px",e.createElement("div",{key:"xylabel-"+n,className:`annotation annotation-or-label ${r} ${t.className||""}`,"data-testid":"annotation-or-label",style:k},x)})({d:a,i:o,rAccessor:l,oAccessor:c,projection:v,tooltipContent:x,optimizeCustomTooltipPosition:b,projectedColumns:p,pieceIDAccessor:h,adjustedSize:i,rScale:u,type:y,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,m],pieces:y,column:h}=Ea({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(y[0].data){const a=va(t,y[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"},P(y.map(e=>e.value).filter(e=>e>0))));if("column-hover"===t.type&&l){"pie"===l&&(l=ja);const n=Object.assign(Object.assign({},t),{pieces:y.map(e=>e.data),column:h,oAccessor:o});f=d?e.createElement(Rn,{tooltipContent:l,tooltipContentArgs:n}):l(n)}else t.label&&(f=e.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},t.label));const x=parseInt(p),b=i&&x>i[0]/2,v={position:"absolute",top:parseInt(m)+"px"};return b?v.right=i[0]-x+"px":v.left=x+"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:m,oAccessor:c,projectedColumns:p,type:y,adjustedPosition:s,adjustedSize:i,projection:v,tooltipContent:x,optimizeCustomTooltipPosition:b}):null}(d.current,u.current,t),[]),{className:h,annotationSettings:g,annotations:f,matte:x,renderKey:b,interaction:v,customClickBehavior:k,customHoverBehavior:j,customDoubleClickBehavior:E,projection:A,backgroundGraphics:O,foregroundGraphics:S,afterElements:w,beforeElements:M,disableContext:C,summaryType:N,summaryHoverAnnotation:T,pieceHoverAnnotation:L,hoverAnnotation:B,canvasPostProcess:V,canvasPieces:I,canvasSummaries:W,canvasConnectors:H,renderOrder:G,additionalDefs:_,sketchyRenderingEngine:X,frameRenderOrder:K,disableCanvasInteraction:q,disableProgressiveRendering:Z,transition:J}=n,{orFrameRender:U,projectedColumns:Q,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"===A?{top:N.amplitude,bottom:0,left:0,right:0}:"radial"===A?Va:{top:0,bottom:0,left:N.amplitude,right:0});const me=a(()=>"function"==typeof S?S({size:ue,margin:ie}):S,[S,ue,ie]),ye=a(()=>`${h} ${A}`,[h,A]),he=a(()=>T||B||L,[T,L,B]),ge=a(()=>v&&Object.assign(Object.assign({},v),{brush:!0!==v.columnsBrush&&"oBrush",projection:A,projectedColumns:Q}),[v,A,Q]),fe=a(()=>!!(I||W||H),[I,W,H]);return e.createElement(Dn,{name:"ordinalframe",renderPipeline:U,adjustedPosition:ee,adjustedSize:te,size:ue,xScale:Ra,yScale:La,axes:se,axesTickLines:re,title:de,matte:x,additionalDefs:_,className:ye,frameKey:"none",renderFn:b,projectedCoordinateNames:Ba,defaultSVGRule:p,defaultHTMLRule:y,hoverAnnotation:he,annotations:f,annotationSettings:g,legendSettings:ae,interaction:ge,customClickBehavior:k,customHoverBehavior:j,customDoubleClickBehavior:E,points:ce,margin:ie,columns:Q,backgroundGraphics:O,foregroundGraphics:me,beforeElements:M,afterElements:w,overlay:oe,rScale:i.rScale,projection:A,disableContext:C,interactionOverflow:pe,canvasPostProcess:V,canvasRendering:fe,renderOrder:G,disableCanvasInteraction:q,sketchyRenderingEngine:X,frameRenderOrder:K,additionalVizElements:le,disableProgressiveRendering:Z,transition:J})}const Ha=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);Wa.displayName="OrdinalFrame";const Ga=e.memo(Wa),_a=t=>{const{brushStart:n,brush:a,brushEnd:o,xBrushable:r,yBrushable:s,yBrushExtent:i,xBrushExtent:c}=t,l=Ke(t,["brushStart","brush","brushEnd","xBrushable","yBrushable","yBrushExtent","xBrushExtent"]),d={start:n,during:a,end:o};return r&&s?(d.brush="xyBrush",(c||i)&&(d.extent=[[0,0],[...t.size]]),c&&(d.extent[0]=c),i&&(d.extent[1]=i)):r?(d.brush="xBrush",c&&(d.extent=c)):s&&(d.brush="yBrush",i&&(d.extent=i)),e.createElement(ba,Object.assign({},l,{interaction:d}))};function Ya(t){const n=(t=>{const{xAccessor:n,yAccessor:a,points:o,lines:r,minimap:s,summaries:i,size:c,lineDataAccessor:l,lineType:d,lineStyle:u,summaryStyle:p,pointStyle:m,lineClass:y,summaryClass:h,pointClass:g,lineRenderMode:f,pointRenderMode:x,summaryRenderMode:b,canvasLines:v,canvasPoints:k,canvasSummaries:j,axes:E,margin:A,name:O,annotations:S,summaryType:w,interactionSettings:M}=t,P=Object.assign(Object.assign(Object.assign({},{position:[0,0],size:[c[0],.25*c[1]],xAccessor:n,yAccessor:a,points:o,lines:r,summaries:i,lineDataAccessor:l,xBrushable:!0,yBrushable:!0,brushStart:()=>{},brush:()=>{},brushEnd:()=>{},lineType:d,lineStyle:u,summaryStyle:p,pointStyle:m,lineClass:y,summaryClass:h,pointClass:g,lineRenderMode:f,pointRenderMode:x,summaryRenderMode:b,canvasLines:v,canvasPoints:k,canvasSummaries:j,axes:E,margin:A,name:O,annotations:S,summaryType:w,interactionSettings:M}),s),{hoverAnnotation:!1});return e.createElement(_a,Object.assign({},P))})(t),a={},{renderBefore:o}=t,r=Ke(t,["minimap","renderBefore"]);return o?a.beforeElements=n:a.afterElements=n,e.createElement(ba,Object.assign({},r,a))}const Xa=({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}))},Ka=e=>({x:-e/2,y:-e/2,width:e,height:e}),qa=({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)},Za=({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),Ja=m().curve(v).x(e=>e.x).y(e=>e.y),Ua=m().curve(b).x(e=>e.x).y(e=>e.y);function Qa(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 eo={horizontal:M().x(e=>e.x).y(e=>e.y),vertical:w().x(e=>e.x).y(e=>e.y),radial:de.lineArc},to={curve:(e,t="vertical")=>eo[t](e),linearc:e=>de.lineArc(e),ribbon:e=>de.ribbon(e,e.width),arrowhead:e=>de.arrowHead(e,e.target.nodeSize,e.width,1.5*e.width),halfarrow:e=>de.halfArrow(e,e.target.nodeSize,e.width,1.5*e.width),nail:e=>de.nail(e,e.source.nodeSize),comet:e=>de.comet(e,e.target.nodeSize),taffy:e=>de.taffy(e,e.source.nodeSize/2,e.target.nodeSize/2,(e.source.nodeSize+e.target.nodeSize)/4)},no=e=>`M${e.source.x},${e.source.y}L${e.target.x},${e.target.y}`,ao=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=ue().arrowLength(2.5*e).gapLength(100).arrowHeadSize(e).path(n);W(s.current).selectAll("*").remove(),W(s.current).call(t),W(s.current).selectAll(":not(.arrow-head)").style("fill","none").style("stroke-width",e/4).style("stroke","white"),W(s.current).selectAll(".arrow-head").style("fill","white")}},[n]),e.createElement("g",{ref:s})},oo=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=pe(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(ao,{d:l,width:n.sankeyWidth,edgeLength:Math.abs(n.target.x-n.source.x),circular:n.circular}))},ro=(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&&ro(o,t,n,a)}},so=({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}},io=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:m,size:y}=t,{type:h,direction:g,edgeSort:f=Qa}=u,x="sankey"===h?n.sort((e,t)=>f(e,t,g)):n;let b=no;const v=[];if(c&&"matrix"===u.type){let e=0;const t=Math.floor(Math.min(...y)/m);for(const n of x){const a={baseClass:"frame-piece",tx:n.source.y,ty:n.target.y,d:n,i:e,markProps:Object.assign({markType:"rect"},Ka(t)),styleFn:r,renderFn:i,classFn:s};l.push(a),e++}}else if(o){d&&("function"==typeof d?b=d:to[d]&&(b=e=>to[d](e,p)));let e=0;for(const t of x){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:b(t)});n&&n.props&&("path"!==n.props.markType||n.props.d)&&v.push(n),e++}}else{d&&("function"==typeof d?b=d:to[d]&&(b=e=>to[d](e,p)));let t=0;for(const n of x){const o=b(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},co=[],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},uo={hierarchicalNetwork:!1},po={nodeHash:new Map,edgeHash:new Map,nodes:[],edges:[],hierarchicalNetwork:!1,type:"force"},mo={dendrogram:J,tree:J,circlepack:Z,cluster:q,treemap:K,partition:X},yo=({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}),ho={tree:yo,dendrogram:yo,cluster:yo,treemap:yo,circlepack:yo,partition:yo},go={left:xe,right:fe,center:ge,justify:he},fo=({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,m=go[r],y=d||be;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 x=y().extent(h).links(t).nodes(e).nodeAlign(m).nodeId(o).nodeWidth(l).iterations(s);f&&(g=t.filter(e=>!e.ephemeral)),x.nodePaddingRatio&&c?x.nodePaddingRatio(c):i&&x.nodePadding(i),x(),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 b=f?g:t;return b.forEach(e=>{e.showArrows=p,e.sankeyWidth=e.width,e.direction=u,e.width=void 0}),{projectedNodes:e,projectedEdges:b}};function xo(t,n,a,o){if(t)return t;const r=[a[0]/2,a[1]/2];switch(n.type){case"sankey":return qa;case"partition":case"treemap":return"radial"===n.projection?((t,n,a)=>{const o=h(),{angleRange:r=[0,360]}=a,s=r.map(e=>e/360),i=1>s[1]-s[0]?D().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):Za;case"circlepack":return Xa;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 Za;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,m={textAnchor:"end",fontSize:o/2+"px"},y=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({},y),{stroke:"none"})}),p&&e.createElement("rect",{y:o/2,x:t.y-o/2,height:a-o,width:o,style:Object.assign(Object.assign({},y),{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:y}),u&&e.createElement("line",{stroke:"black",y1:0,y2:a-o/2,x1:t.y-o/2,x2:t.y-o/2,style:y}),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:y}),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:y}),d&&e.createElement("text",Object.assign({x:0,y:t.y+o/5},m),t.id),d&&e.createElement("text",Object.assign({transform:`translate(${t.y}) rotate(90) translate(0,${o/5})`},m,{y:0}),t.id))}})(a,o)}return Xa}const bo=e=>({edge:e,x:(e.source.x+e.target.x)/2,y:(e.source.y+e.target.y)/2}),vo={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:bo,tree:bo,cluster:bo,matrix:e=>({edge:e,x:e.source.y,y:e.target.y})},ko={partition:!0,cluster:!0,tree:!0,dendrogram:!0},jo={partition:!0,cluster:!0,tree:!0,dendrogram:!0};function Eo(e,t,n){return t.parent&&(n=`${n}-${Eo(e,Object.assign(Object.assign({},t.parent),t.parent.data),n)}`),`${n}-${e(Object.assign(Object.assign({},t),t.data))}`}const Ao=e=>e.id||e.descendantIndex,Oo=(e,t=Ao)=>{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:Ao(e)}-${e.parent?null!==(a=Eo(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}},So=(t,n,a,o)=>{const{graph:r,nodes:s=(Array.isArray(r)||"function"==typeof r?co:r&&r.nodes||co),edges:i=("function"==typeof r?co:Array.isArray(r)?r:r&&r.edges||co),networkType:c,size:l,nodeStyle:d,nodeClass:u,canvasNodes:p,edgeStyle:y,edgeClass:h,canvasEdges:g,nodeRenderMode:f,edgeRenderMode:x,nodeLabels:b,title:v,margin:k,hoverAnnotation:E,customNodeIcon:A,customEdgeIcon:O,filterRenderedNodes:S}=t;let w,{edgeType:M}=t;const P={};let z=["type"];"string"==typeof c?w=Object.assign(Object.assign({type:c},uo),{graphSettings:po}):(c&&(z=Object.keys(c)),w=Object.assign(Object.assign(Object.assign({type:"force"},uo),c),{graphSettings:po})),"vertical"===w.projection&&"sankey"===w.type&&(w.direction="down"),z.push("height","width");const C="object"!=typeof v||e.isValidElement(v)||null===v?{title:v,orient:"top"}:v,{margin:N,adjustedPosition:T,adjustedSize:R}=a.marginCalc(k,C,l);w.graphSettings.nodes=s,w.graphSettings.edges=i,w.graphSettings.filterRenderedNodes=S;let{edgeHash:L,nodeHash:B}=w.graphSettings;const V="treemap"===w.type||"partition"===w.type||"sankey"===w.type,I=a.accessorConversions(t.nodeIDAccessor,t.sourceAccessor,t.targetAccessor,t.nodeSizeAccessor,t.edgeWidthAccessor),W=I.nodeIDAccessor,H=I.sourceAccessor,G=I.targetAccessor,_=I.nodeSizeAccessor,Y=I.edgeWidthAccessor,{nodeStyleFn:X,nodeClassFn:K,nodeRenderModeFn:q,nodeCanvasRenderFn:Z}=a.nodeStyleFns(d,u,f,p);let{projectedNodes:J,projectedEdges:Q}=n;const ee="string"==typeof w.type&&mo[w.type],te=!n.projectedNodes||!n.projectedEdges||n.graphSettings.nodes!==s||n.graphSettings.edges!==i||ee||n.graphSettings.filterRenderedNodes!==S;if("dagre"===w.type){const e=r,t=new Map;J=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}),Q=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=J.find(e=>e.id===n.v),o.target=J.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=J;L=new Map,B=new Map,w.graphSettings.edgeHash=L,w.graphSettings.nodeHash=B,J=[],Q=[];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};B.set(o,a),B.set(n,a),J.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 ro(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,H,G,W);e.isHierarchical?(a=e.hierarchy,J=[]):(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)=>(_(Object.assign(Object.assign({},e),e.data))||1)+(w.nodePadding||0)+(_(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?[R[1],R[0]]:R),t(e)}n=Oo(e,W).edges}lo.shapeNode=V,Array.isArray(n)&&n.forEach(e=>{const t=H(e),n=G(e);[t,n].forEach(e=>{if(!B.get(e)){const t=Object.assign(Object.assign({},lo),"object"==typeof e?e:{id:e,createdByFrame:!0}),n=t.id||W(t);P[n]?P[n]+=1:P[n]=1,t.id||(t.id=`${n}${1===P[n]?"":"-"+P[n]}`),B.set(e,t),J.push(t)}});const a=e.weight||1,o=B.get(t),r=B.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:B.get(t),target:B.get(n)});L.set(s,i),Q.push(i),"matrix"===w.type&&Q.push(Object.assign(Object.assign({},i),{source:i.target,target:i.source}))})}else L=new Map,w.graphSettings.edgeHash=L,Q.forEach(e=>{const t="string"==typeof e.source?e.source:W(e.source),n="string"==typeof e.target?e.target:W(e.target);L.set(`${t}|${n}`,e)});const ne=xo(A,w,R,J),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},Ka(c))))})(a,r);case"arc":return(t=>{const n=t[1]/t[0];function a(e){return m().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?Ja:Ua;return({d:t,i:a,styleFn:o,key:r,className:s})=>{if(t.ribbon||t.parallelEdges){const n=Ct();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 oo}}({baseCustomEdgeIcon:O,networkSettings:w,size:R,nodes:J,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?M=e=>e.circular?function(e){const t=Ct();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"===M?(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=Ct();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=pe(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=pe(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&&J.forEach(e=>{if(V&&(e.x=(e.x0+e.x1)/2,e.y=(e.y0+e.y1)/2),"string"==typeof w.type&&ko[w.type]&&"horizontal"===w.projection){const t=e.x;if(e.x=e.y,e.y=t,V){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&&jo[w.type]&&"radial"===w.projection){const t=0===e.depth?[R[0]/2,R[1]/2]:It([R[0]/2,R[1]/2],e.x/R[0],e.y/2);e.x=t[0],e.y=t[1]}else e.x=e.x,e.y=e.y,V&&(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:J,projectedEdges:Q,networkSettings:w,adjustedSize:R,edgeHash:L,nodeIDAccessor:W,edgeWidthAccessor:Y,nodeSizeAccessor:_,size:l});J=t.projectedNodes,Q=t.projectedEdges}else"function"==typeof w.type?w.type({nodes:J,edges:Q}):J.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(J=J.filter(S),Q=Q.filter(e=>-1!==J.indexOf(e.target)&&-1!==J.indexOf(e.source)),"flip"===w.direction)J.forEach(e=>{e.x=R[0]-e.x,e.y=R[1]-e.y});else if("up"===w.direction||"down"===w.direction){const e="up"===w.direction?e=>R[1]-e:e=>e;J.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&&J.forEach(e=>{e.x=R[0]-e.x,e.x0=R[0]-e.x0,e.x1=R[0]-e.x1});if("function"==typeof w.zoom)w.zoom(J,Q,R);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=F(J.map(e=>e.x-_(e))),t=$(J.map(e=>e.x+_(e))),n=F(J.map(e=>e.y-_(e))),a=$(J.map(e=>e.y+_(e))),o=Math.abs(t-e),r=Math.abs(a-n);let s,i;"stretch"===w.zoom?(s=0,i=0):o/r>R[0]/R[1]?(i=0,s=(R[1]-R[0]/o*r)/2):(s=0,i=(R[0]-R[1]/r*o)/2);const c=D().domain([e,t]).range([i,R[0]-i]),l=D().domain([n,a]).range([s,R[1]-s]);J.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&&Q.some(e=>e.circular)){const e=Q.filter(e=>e.circular),t=F(e,e=>e.circularPathData.rightFullExtent-e.sankeyWidth/2)||1/0,n=$(e,e=>e.circularPathData.leftFullExtent+e.sankeyWidth/2)||-1/0,a=F(e,e=>e.circularPathData.verticalFullExtent-e.sankeyWidth/2)||1/0,o=$(e,e=>e.circularPathData.verticalFullExtent+e.sankeyWidth/2)||-1/0,r=F(J,e=>e.y0),s=$(J,e=>e.y1),i=F(J,e=>e.x0),c=$(J,e=>e.x1),l=Math.min(t,i),d=Math.max(n,c),u=Math.min(a,r),p=Math.max(o,s),m=D().domain([l,d]).range([0,R[0]]),y=D().domain([u,p]).range([0,R[1]]),h=R[1]/(p-u);for(const e of J)e.x=m(e.x),e.x0=m(e.x0),e.x1=m(e.x1),e.y=y(e.y),e.y0=y(e.y0),e.y1=y(e.y1),e.width=e.x1-e.x0,e.height=e.y1-e.y0;for(const e of Q)e.circular?(e.circularPathData.sourceX=m(e.circularPathData.sourceX),e.circularPathData.sourceY=y(e.circularPathData.sourceY),e.circularPathData.leftFullExtent=m(e.circularPathData.leftFullExtent),e.circularPathData.verticalFullExtent=y(e.circularPathData.verticalFullExtent),e.circularPathData.rightFullExtent=m(e.circularPathData.rightFullExtent),e.circularPathData.targetX=m(e.circularPathData.targetX),e.circularPathData.targetY=y(e.circularPathData.targetY)):(e.y0=y(e.y0),e.y1=y(e.y1)),e.sankeyWidth=e.sankeyWidth*h}}else{const e=F(J.map(e=>e.x0)),t=$(J.map(e=>e.x1)),n=F(J.map(e=>e.y0)),a=$(J.map(e=>e.y1)),o=D().domain([e,t]).range([N.left,R[0]-N.right]),r=D().domain([n,a]).range([N.top,R[1]-N.bottom]);J.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}),Q.forEach(e=>{e.points&&e.points.forEach(e=>{e.x=o(e.x),e.y=r(e.y)})})}J.forEach(e=>{e.nodeSize=_(e)}),Q.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(y,h,x,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:Q,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:io,projection:w.projection,type:M,customMark:ae,networkSettings:w,numberOfNodes:J.length,size:R},nodes:{accessibleTransform:(e,t)=>Object.assign(Object.assign({type:"frame-hover"},e[t]),e[t].data||{}),data:J,styleFn:X,classFn:K,renderMode:q,canvasRenderFn:Z,customMark:ne,behavior:so,renderKeyFn:t.nodeRenderKey,networkSettings:w}},ce=[];let le;t.nodeLabels&&J&&J.forEach((t,n)=>{const a=b&&!0!==b&&b(t);if(!0===b||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===b?W:b,R):!0===b?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:_(t)+2}},ce.push(r)}});const de=[];if(E&&["circlepack","treemap","partition","chord"].find(e=>e===w.type)||"area"===E){if("edge"!==E){const e=J.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"!==E&&Q.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"===E&&"string"==typeof w.type&&vo[w.type]?le=Q.map(vo[w.type]):Array.isArray(E)||!0===E||"node"===E?(le=J,(te||re)&&(le=[...J])):"all"===E&&"string"==typeof w.type&&(le=[...Q.map(vo[w.type]),...J]);return{adjustedPosition:T,adjustedSize:R,backgroundGraphics:t.backgroundGraphics,foregroundGraphics:t.foregroundGraphics,title:C,renderNumber:n.renderNumber+1,projectedNodes:J,projectedEdges:Q,projectedXYPoints:le,overlay:de,nodeIDAccessor:W,sourceAccessor:H,targetAccessor:G,nodeSizeAccessor:_,edgeWidthAccessor:Y,margin:N,legendSettings:oe,networkFrameRender:ie,nodeLabelAnnotations:ce,graphSettings:Object.assign(Object.assign({},w.graphSettings),w),props:t}},wo=({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=h().innerRadius(i-c).outerRadius(i),p=me().radius(i-c),m=(({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}),y=ye().padAngle(l);d&&y.sortGroups(d);const g=y(m);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=ae(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}},Mo=({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 m=ce().strength(e=>Math.min(2.5,e.weight?e.weight*i:i));l&&m.distance(l);const y=n.simulation||oe().force("charge",le().distanceMax(c).strength(d));y.nodes(e);const h=a[1]/a[0];y.force("x")||y.force("x",se(a[0]/2).strength(.1*h)),y.force("y")||y.force("y",re(a[1]/2).strength(.1)),0===t.length||y.force("link")||(y.force("link",m),y.force("link").links(t)),.1>y.alpha()&&y.alpha(1),y.stop();for(let e=0;s>e;++e)y.tick();return{projectedNodes:e,projectedEdges:t}},Po={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}}},zo=Object.assign(Object.assign({chord:wo,sankey:fo,flowchart:fo,force:Mo,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:m,padding:y=0}=n;let h=y,g=y;return s.forEach(({componentNodes:e,componentEdges:t})=>{const r=ce().strength(e=>Math.min(2.5,e.weight?e.weight*p:p));m&&r.distance(m);const s=Math.max(e.length/i,.2)*c,d=s+h;"horizontal"===l?s+g>o[1]?(h=s+h+y,g=s+y):g=s+g+y:d>o[0]?(g=s+g+y,h=s+y):h=s+h+y;const f=h-s/2,x=g-s/2,b=oe().force("charge",le().strength(n.forceManyBody||(e=>-25*a(e)))).force("link",r);b.force("x",se(f)).force("y",re(x)).nodes(e),b.force("link").links(t),b.stop();for(let e=0;u>e;++e)b.tick();const v=$(e.map(e=>e.x)),k=$(e.map(e=>e.y)),j=F(e.map(e=>e.x)),E=F(e.map(e=>e.y)),A=D().domain([j,v]).range([h-s,h-20]),O=D().domain([E,k]).range([g-s,g-20]);e.forEach(e=>{e.x=A(e.x),e.y=O(e.y)})}),{projectedNodes:e,projectedEdges:t,components:s}}},ho),Po),Co=[],No=["nodes","edges"],$o=["edges","nodes"],Fo={y:"y",x:"x"},Do=D(),To=D(),Ro={annotations:[],foregroundGraphics:[],size:[500,500],className:"",name:"networkframe",networkType:{type:"force",iterations:500},filterRenderedNodes:e=>"root-generated"!==e.id};function Lo(t){const n=Object.assign(Object.assign({},Ro),t),o=c({marginCalc:ne((e,t,n)=>{const a=bn({margin:e,title:t,size:n}),{adjustedPosition:o,adjustedSize:r}=jn({size:n,margin:a});return{margin:a,adjustedPosition:o,adjustedSize:r}}),accessorConversions:ne((e,t,n,a,o)=>({nodeIDAccessor:Zn(e,e=>e?e.id:void 0),sourceAccessor:Zn(t,e=>e.source),targetAccessor:Zn(n,e=>e.target),nodeSizeAccessor:"number"==typeof a?za(a):Zn(a,za(5)),edgeWidthAccessor:Zn(o,e=>e.weight||1)})),nodeStyleFns:ne((e,t,n,a)=>({nodeStyleFn:Zn(e,()=>({}),!0),nodeClassFn:Zn(t,()=>"",!0),nodeRenderModeFn:Zn(n,void 0,!0),nodeCanvasRenderFn:a?Zn(a,void 0,!0):void 0})),edgeStyleFns:ne((e,t,n,a)=>({edgeStyleFn:Zn(e,()=>({}),!0),edgeClassFn:Zn(t,()=>"",!0),edgeRenderModeFn:Zn(n,void 0,!0),edgeCanvasRenderFn:a?Zn(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:Zn("weight"),legendSettings:void 0,margin:{top:0,left:0,right:0,bottom:0},networkFrameRender:{},nodeIDAccessor:Zn("id"),nodeSizeAccessor:za(5),overlay:[],projectedXYPoints:[],sourceAccessor:Zn("source"),targetAccessor:Zn("target"),title:{title:void 0},props:n},s=a(()=>Object.assign(Object.assign({},r),So(n,r,o.current,n._layoutMap||zo)),[]),i=pa((e,t)=>function(e,t,n,a){const{props:o}=t,r=!t.dataVersion&&da.some(t=>o[t]!==e[t]),s=!t.dataVersion&&ua.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({},So(e,t,n,a)),{props:e}):{props:e}}(e,t,o.current,e._layoutMap||zo),n,s);ma(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:m}=t,y=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(m){const e=m({d:y,i:o,networkFrameProps:t,networkFrameState:n,nodes:s,edges:i,voronoiHover:h,screenCoordinates:[y.x,y.y],adjustedPosition:p,adjustedSize:u,annotationLayer:r});if(null!==e)return e}return"node"===y.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(Re,{key:t.key||"annotation-"+n,noteData:o})})({d:y,i:o,nodeSizeAccessor:l}):"desaturation-layer"===y.type?In({style:y.style instanceof Function?y.style(y,o):y.style,size:u,i:o,key:y.key}):"basic-node-label"===y.type?e.createElement("g",{key:y.key||"basic-"+o,transform:`translate(${y.x},${y.y})`},a.element||a.label):"function"==typeof y.type||Bo.has(y.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(Re,{key:t.key||"annotation-"+n,noteData:s})})({d:y,i:o,projectedNodes:s,nodeIDAccessor:c}):"enclose"===y.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 Ln({circle:s,d:e,i:t})})({d:y,i:o,projectedNodes:s,nodeIDAccessor:c,nodeSizeAccessor:l}):"enclose-rect"===y.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 Bn({bboxNodes:s,d:e,i:t})})({d:y,i:o,projectedNodes:s,nodeIDAccessor:c,nodeSizeAccessor:l}):"enclose-hull"===y.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})}}),Vn({points:s.map(e=>[e.x,e.y]),d:e,i:t})})({d:y,i:o,projectedNodes:s,nodeIDAccessor:c,nodeSizeAccessor:l}):"highlight"===y.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:y,i:o,networkFrameRender:d}):null}(d.current,u.current,t),[]),m=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:m}=n,{voronoiHover:y}=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:y,screenCoordinates:[h.x,h.y],adjustedPosition:m,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(Rn,{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:y=[],annotationSettings:h,className:g,customClickBehavior:f,customDoubleClickBehavior:x,customHoverBehavior:b,size:v,matte:k,hoverAnnotation:j,beforeElements:E,afterElements:A,interaction:O,disableContext:S,canvasPostProcess:w,canvasNodes:M,canvasEdges:P,additionalDefs:z,renderOrder:C=(i.graphSettings&&"matrix"===i.graphSettings.type?No:$o),sketchyRenderingEngine:N,frameRenderOrder:$,disableCanvasInteraction:F,interactionSettings:D,disableProgressiveRendering:T,transition:R}=n,{backgroundGraphics:L,foregroundGraphics:B,projectedXYPoints:V,margin:I,legendSettings:W,adjustedPosition:H,adjustedSize:G,networkFrameRender:_,nodeLabelAnnotations:X,overlay:K,title:q}=i,Z=a(()=>K&&K.length>0?K:void 0,[K]),J=a(()=>Array.isArray(j)?j:!(f||x||b)||void 0!==j&&!1!==j?!!j:Co,[j,f,x,b]),U=a(()=>[...y,...X],[y,X]),Q=a(()=>!(!M&&!P),[M,P]);return e.createElement(Dn,{name:"networkframe",renderPipeline:_,adjustedPosition:H,adjustedSize:G,size:v,xScale:Do,yScale:To,title:q,matte:k,className:g,additionalDefs:z,frameKey:"none",projectedCoordinateNames:Fo,defaultSVGRule:p,defaultHTMLRule:m,hoverAnnotation:J,annotations:U,annotationSettings:h,legendSettings:W,interaction:O,customClickBehavior:f,customHoverBehavior:b,customDoubleClickBehavior:x,points:V,margin:I,overlay:Z,backgroundGraphics:L,foregroundGraphics:B,beforeElements:E,afterElements:A,disableContext:S,canvasPostProcess:w,canvasRendering:Q,renderOrder:C,disableCanvasInteraction:F,sketchyRenderingEngine:N,frameRenderOrder:$,interactionSettings:D,disableProgressiveRendering:T,transition:R})}const Bo=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);Lo.displayName="NetworkFrame";const Vo=e.memo(Lo),Io={NetworkFrame:!0,XYFrame:!0,OrdinalFrame:!0,ResponsiveNetworkFrame:!0,ResponsiveXYFrame:!0,ResponsiveOrdinalFrame:!0,SparkNetworkFrame:!0,SparkXYFrame:!0,SparkOrdinalFrame:!0},Wo={rExtent:"invertR",xExtent:"invertX",yExtent:"invertY"},Ho=(e,t,n,a,o)=>{const r=e.rawExtents[n]||{};r[a]=t;const s=Object.values(r).flat().filter(e=>null!=e&&!isNaN(e));let i=[Math.min(...s),Math.max(...s)];return o&&(i=i.reverse()),{extents:Object.assign(Object.assign({},e.extents),{[n]:0===s.length?void 0:i}),rawExtents:Object.assign(Object.assign({},e.rawExtents),{[n]:r})}},Go=ne((t,n)=>e.Children.map(t.children,(e,a)=>e?Xo({child:e,index:a,originalAnnotations:e.props.annotations||[],props:t,state:n}):null)),_o=(e,t,n,a)=>n.extents&&n.extents[e]?{onChange:Yo(e,t,n,a),extent:n.extents[e]}:{onChange:Yo(e,t,n,a)},Yo=(e,t,n,a)=>{const o=t[Wo[e]]||!1;return t=>{const r=Ho(n,t,e,a,o);return n.changeRawExtents(r.rawExtents),n.changeExtents(r.extents),t}},Xo=({child:t,index:n,originalAnnotations:a,props:o,state:r})=>{const s=t.type.displayName,i=Ko({state:r,props:o,originalAnnotations:a}),c=Object.assign(Object.assign({},o),{annotations:i});if(!Io[s])return e.cloneElement(t,{facetprops:c});if((o.hoverAnnotation||o.pieceHoverAnnotation)&&(c.customHoverBehavior=e=>{r.changeFacetHover(e),r.changeFacetHoverAnnotations(o.hoverAnnotation||o.pieceHoverAnnotation)}),("OrdinalFrame"===s||"ResponsiveOrdinalFrame"===s||"SparkOrdinalFrame"===s)&&!0===o.sharedRExtent){const e=c.invertR||!1;c.rExtent=_o("rExtent",o,r,n),c.onUnmount=()=>{const t=Ho(r,[],"rExtent",n,e);r.changeRawExtents(t.rawExtents),r.changeExtents(t.extents)}}if(("XYFrame"===s||"ResponsiveXYFrame"===s||"SparkXYFrame"===s)&&!0===o.sharedXExtent){const e=c.invertX||!1;c.xExtent=_o("xExtent",o,r,n),c.onUnmount=()=>{const t=Ho(r,[],"xExtent",n,e);r.changeRawExtents(t.rawExtents),r.changeExtents(t.extents)}}if(("XYFrame"===s||"ResponsiveXYFrame"===s||"SparkXYFrame"===s)&&!0===o.sharedYExtent){const e=c.invertY||!1;c.yExtent=_o("yExtent",o,r,n),c.onUnmount=()=>{const t=Ho(r,[],"yExtent",n,e);r.changeRawExtents(t.rawExtents),r.changeExtents(t.extents)}}return c.pieceHoverAnnotation?c.pieceHoverAnnotation=[]:c.hoverAnnotation&&(c.hoverAnnotation=[]),e.cloneElement(t,Object.assign({},c))},Ko=({originalAnnotations:e,state:t,props:n})=>{let a=t.facetHoverAnnotations;const{hoverAnnotation:o,pieceHoverAnnotation:r}=n,s=o||r;if(!s||!a)return e;if(t.facetHover){const n=[...e];return a=!0===s?[Object.assign({},t.facetHover)]:s.map(e=>"function"==typeof e?e(t.facetHover):Object.assign(Object.assign({},t.facetHover),e)),Array.isArray(a)&&(a.forEach(e=>{"function"!=typeof e&&("column-hover"===e.type?(e.facetColumn=e.column.name,e.column=void 0):(e.type||(e.type="frame-hover"),e.y=void 0,e.yBottom=void 0,e.yMiddle=void 0,e.yTop=void 0))}),n.push(...a)),n}return e};function qo(t){const[n,a]=r({}),[o,s]=r({}),[i,c]=r(void 0),[l,d]=r(void 0);return e.createElement(e.Fragment,null,Go(t,{extents:n,rawExtents:o,facetHover:i,facetHoverAnnotations:l,changeFacetHoverAnnotations:d,changeExtents:a,changeRawExtents:s,changeFacetHover:c}))}const Zo=t=>{function n(n){const{responsiveWidth:a,responsiveHeight:o,size:i=[500,500],dataVersion:l,debounce:d=200,gridDisplay:u}=n,p=Ke(n,["responsiveWidth","responsiveHeight","size","dataVersion","debounce","gridDisplay"]),m=[...i];let y=!1,h=c(),g=function(e){const[t,n]=r(null);return s(()=>{const t=e.current;if(null!=t){n(t.getBoundingClientRect());const e=new ResizeObserver(e=>{e.length>0&&n(e[0].contentRect)});return e.observe(t),()=>e.disconnect()}},[]),t}(h);return a&&(null==g?y=!0:m[0]=g.width),o&&(null==g?y=!0:m[1]=g.height),e.createElement("div",{"data-testid":"responsive-container",className:"responsive-container",style:u?{minWidth:"0px",minHeight:"0px"}:{height:"100%",width:"100%"},ref:h},!y&&e.createElement(t,Object.assign({},p,{size:m,dataVersion:l?l+""+m+d:void 0})))}return n.isResizing=setTimeout(()=>{}),n.displayName="Responsive"+t.displayName,n},Jo=Zo(Vo),Uo=Zo(Ya),Qo=Zo(ba),er=Zo(Ga),tr={margin:0};function nr(e="force"){let t={};return e?(t=e,"force"===e&&(t={type:"force"}),Object.assign({edgeStrength:2,edgeDistance:5,nodePadding:1,nodeWidth:5,groupWidth:4},t)):e}const ar={tickFormat:()=>"",baseline:!1},or=e=>Object.assign(Object.assign(Object.assign({},tr),e),{hoverAnnotation:e.hoverAnnotation,axes:e.axes?e.axes.map(e=>Object.assign(Object.assign({},ar),e)):e.axes}),rr=e=>Object.assign(Object.assign(Object.assign(Object.assign({},tr),{nodeSizeAccessor:2}),e),{networkType:nr(e.networkType)});function sr(t,n,a){return a=>{const{size:o=[],sparkStyle:s={}}=a,[i,c]=r(30),d=[];d[0]="number"==typeof o?o:o[0]?o[0]:i,d[1]=i;const u=l(e=>{if(e){const t=+window.getComputedStyle(e).lineHeight.split("px")[0]-5;c(isNaN(t)?e.offsetHeight:t)}},[]);return e.createElement("div",{style:Object.assign({width:d[0]+"px",height:d[1]+"px",display:"inline-block",marginLeft:"5px",marginRight:"5px"},s),ref:u},e.createElement(t,Object.assign({},n(a),{size:d})))}}const ir=sr(ba,e=>Object.assign(Object.assign(Object.assign({},tr),e),{hoverAnnotation:e.hoverAnnotation,axes:e.axes?e.axes.map(e=>Object.assign(Object.assign({},ar),e)):e.axes})),cr=sr(Ga,or),lr=sr(Vo,rr),dr={category10:Pe,tableau10:Me,set3:we,blues:Se,reds:Oe,greens:Ae,oranges:Ee,purples:je,viridis:ke,plasma:ve},ur=Pe;function pr(e,t,n){if("function"==typeof t)return t(e);const a=e[t];return n?n(a):ur[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+""))%ur.length]}function mr(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 T().domain(a).range(n).unknown("#999");const r=dr[n]||dr.category10;if(o&&"function"==typeof r)return e=>r(Number(e)/Math.max(...a.map(Number)));{const e=Array.isArray(r)?r:ur;return T().domain(a).range(e).unknown("#999")}}function yr(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)}function hr({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 gr={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 fr(e,t){return"function"==typeof t?t(e):e[t]}function xr(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 br(t={}){const{fields:n,title:a,format:o,style:r={},className:s=""}=t;return t=>{if(!t||"object"!=typeof t)return null;let i;const c=[];if(a){const e=fr(t,a);i=xr(e,o)}if(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=fr(t,a);c.push({label:n,value:xr(s,r)})});else if(!a){const e=["value","y","name","id","label"];for(const n of e)if(void 0!==t[n]){i=xr(t[n],o);break}if(!i){const e=Object.keys(t).filter(e=>!e.startsWith("_"));e.length>0&&(i=xr(t[e[0]],o))}}const l=Object.assign(Object.assign({},gr),r);return e.createElement("div",{className:("semiotic-tooltip "+s).trim(),style:l},i&&e.createElement("div",{style:{fontWeight:c.length>0?"bold":"normal"}},i),c.map((t,n)=>e.createElement("div",{key:n,style:{marginTop:0===n&&i?"4px":0}},t.label&&e.createElement("span",null,t.label,": "),t.value)))}}function vr(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=fr(t,a);l.push({value:xr(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=xr(fr(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:xr(t[e],o)})});const d=Object.assign(Object.assign({},gr),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 kr(e){return!0===e||("function"==typeof e||!1!==e&&void 0!==e)&&e}const jr="#007bff";function Er(e){return"function"==typeof e?e:t=>t[e]}function Ar(e,t,n="category10"){return a(()=>{if(t&&"function"!=typeof t)return mr(e,t,n)},[e,t,n])}function Or(e,t,n){return a(()=>{if(!t)return e;const a=[...e];if("function"==typeof t)return a.sort(t);const o=Er(n);return a.sort("asc"===t?(e,t)=>o(e)-o(t):(e,t)=>o(t)-o(e))},[e,t,n])}function Sr({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 wr({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 Mr({data:e,dataLabel:t="data"}){return null==e?`No ${t} provided. Pass a hierarchical data object to the ${t} prop.`:null}function Pr({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}function zr(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:m="x",yAccessor:y="y",colorBy:h,colorScheme:g="category10",sizeBy:f,sizeRange:x=[3,15],pointRadius:b=5,pointOpacity:v=.8,enableHover:k=!0,showGrid:j=!1,showLegend:E,tooltip:A,frameProps:O={}}=t,S=n||[],w=Ar(S,h,g),M=a(()=>{if(!f||0===S.length)return;const e=S.map(e=>"function"==typeof f?f(e):e[f]);return[Math.min(...e),Math.max(...e)]},[S,f]),P=a(()=>e=>{const t={fillOpacity:v};return t.fill=h?pr(e,h,w):jr,t.r=f?yr(e,f,x,M):b,t},[h,w,f,x,M,b,v]),z=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]),C=void 0!==E?E:!!h,N=a(()=>{if(C&&h)return hr({data:S,colorBy:h,colorScale:w,getColor:pr})},[C,h,S,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]),F=wr({componentName:"Scatterplot",data:S,accessors:{xAccessor:m,yAccessor:y}});if(F)return e.createElement(Sr,{componentName:"Scatterplot",message:F,width:o,height:r});const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],points:S,xAccessor:m,yAccessor:y,pointStyle:P,axes:z,hoverAnnotation:k,margin:$},N&&{legend:N}),i&&{className:i}),c&&{title:c}),A&&{tooltipContent:kr(A)}),{transition:!0}),O);return e.createElement(ba,Object.assign({},D))}const Cr={linear:y,monotoneX:v,monotoneY:b,step:O,stepAfter:E,stepBefore:A,basis:j,cardinal:f,catmullRom:k};function Nr(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:m,xAccessor:h="x",yAccessor:g="y",lineBy:f,lineDataAccessor:x="coordinates",colorBy:b,colorScheme:v="category10",curve:k="linear",showPoints:j=!1,pointRadius:E=3,fillArea:A=!1,areaOpacity:O=.3,lineWidth:S=2,enableHover:w=!0,showGrid:M=!1,showLegend:P,tooltip:z,frameProps:C={}}=t,N=o||[],$=void 0!==(null===(n=N[0])||void 0===n?void 0:n[x]),F=a(()=>{if($)return N;if(f){const e=N.reduce((e,t)=>{const n="function"==typeof f?f(t):t[f];if(!e[n]){const t={[x]:[]};"string"==typeof f&&(t[f]=n),e[n]=t}return e[n][x].push(t),e},{});return Object.values(e)}return[{[x]:N}]},[N,f,x,$]),D=Ar(N,b,v),T=Cr[k]||y,R=a(()=>e=>{const t={strokeWidth:S};return t.stroke=b?pr(e,b,D):jr,A&&(t.fill=t.stroke,t.fillOpacity=O),t},[b,D,S,A,O]),L=a(()=>{if(j)return e=>{const t={r:E,fillOpacity:1};return t.fill=b?pr(e.parentLine||e,b,D):jr,t}},[j,E,b,D]),B=a(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:m},M&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:p},M&&{tickLineGenerator:()=>null})),e},[d,u,p,m,M]),V=a(()=>{const e={type:A?"area":"line",interpolator:T};return A&&(e.simpleLine=!1),e},[A,T]),I=void 0!==P?P:F.length>1,W=a(()=>{if(I&&b)return hr({data:F,colorBy:b,colorScale:D,getColor:pr})},[I,b,F,D]),H=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),i);return W&&120>e.right&&(e.right=120),e},[i,W]),G=wr({componentName:"LineChart",data:N,accessors:{xAccessor:h,yAccessor:g}});if(G)return e.createElement(Sr,{componentName:"LineChart",message:G,width:r,height:s});const _=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],lines:F,xAccessor:h,yAccessor:g,lineDataAccessor:x,lineType:V,lineStyle:R,axes:B,hoverAnnotation:w,margin:H},j&&{showLinePoints:!0,pointStyle:L}),W&&{legend:W}),c&&{className:c}),l&&{title:l}),z&&{tooltipContent:kr(z)}),{transition:!0}),C);return e.createElement(ba,Object.assign({},_))}const $r={linear:y,monotoneX:v,monotoneY:b,step:O,stepAfter:E,stepBefore:A,basis:j,cardinal:f,catmullRom:k};function Fr(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:m,xAccessor:y="x",yAccessor:h="y",areaBy:g,lineDataAccessor:f="coordinates",colorBy:x,colorScheme:b="category10",curve:k="monotoneX",areaOpacity:j=.7,showLine:E=!0,lineWidth:A=2,enableHover:O=!0,showGrid:S=!1,showLegend:w,tooltip:M,frameProps:P={}}=t,z=o||[],C=void 0!==(null===(n=z[0])||void 0===n?void 0:n[f]),N=a(()=>{if(C)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,C]),$=Ar(z,x,b),F=$r[k]||v,D=a(()=>e=>{const t={},n=x?pr(e,x,$):jr;return t.fill=n,t.fillOpacity=j,E?(t.stroke=n,t.strokeWidth=A):t.stroke="none",t},[x,$,j,E,A]),T=a(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:m},S&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:p},S&&{tickLineGenerator:()=>null})),e},[d,u,p,m,S]),R=a(()=>({type:"area",interpolator:F}),[F]),L=void 0!==w?w:N.length>1,B=a(()=>{if(L&&x)return hr({data:N,colorBy:x,colorScale:$,getColor:pr})},[L,x,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]),I=wr({componentName:"AreaChart",data:z,accessors:{xAccessor:y,yAccessor:h}});if(I)return e.createElement(Sr,{componentName:"AreaChart",message:I,width:r,height:s});const W=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],lines:N,xAccessor:y,yAccessor:h,lineDataAccessor:f,lineType:R,lineStyle:D,axes:T,hoverAnnotation:O,margin:V},B&&{legend:B}),c&&{className:c}),l&&{title:l}),M&&{tooltipContent:kr(M)}),{transition:!0}),P);return e.createElement(ba,Object.assign({},W))}const Dr={linear:y,monotoneX:v,monotoneY:b,step:O,stepAfter:E,stepBefore:A,basis:j,cardinal:f,catmullRom:k};function Tr(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:m,xAccessor:y="x",yAccessor:h="y",areaBy:g,lineDataAccessor:f="coordinates",colorBy:x,colorScheme:b="category10",curve:k="monotoneX",areaOpacity:j=.7,showLine:E=!0,lineWidth:A=2,normalize:O=!1,enableHover:S=!0,showGrid:w=!1,showLegend:M,tooltip:P,frameProps:z={}}=t,C=o||[],N=void 0!==(null===(n=C[0])||void 0===n?void 0:n[f]),$=a(()=>{if(N)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,N]),F=Ar(C,x,b),D=Dr[k]||v,T=a(()=>e=>{const t={},n=x?pr(e,x,F):jr;return t.fill=n,t.fillOpacity=j,E?(t.stroke=n,t.strokeWidth=A):t.stroke="none",t},[x,F,j,E,A]),R=a(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:m},w&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:p},w&&{tickLineGenerator:()=>null})),e},[d,u,p,m,w]),L=a(()=>({type:O?"stackedpercent-area":"stackedarea",interpolator:D}),[D,O]),B=void 0!==M?M:$.length>1,V=a(()=>{if(B&&x)return hr({data:$,colorBy:x,colorScale:F,getColor:pr})},[B,x,$,F]),I=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]),W=wr({componentName:"StackedAreaChart",data:C,accessors:{xAccessor:y,yAccessor:h}});if(W)return e.createElement(Sr,{componentName:"StackedAreaChart",message:W,width:r,height:s});const H=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],lines:$,xAccessor:y,yAccessor:h,lineDataAccessor:f,lineType:L,lineStyle:T,axes:R,hoverAnnotation:S,margin:I},V&&{legend:V}),c&&{className:c}),l&&{title:l}),P&&{tooltipContent:kr(P)}),{transition:!0}),z);return e.createElement(ba,Object.assign({},H))}function Rr(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:m,xFormat:y,yFormat:h,colorScheme:g="blues",customColorScale:f,showValues:x=!1,valueFormat:b,cellBorderColor:v="#fff",cellBorderWidth:k=1,enableHover:j=!0,tooltip:E,frameProps:A={}}=t,O=n||[],S=a(()=>"function"==typeof u?e=>u(e):e=>e[u],[u]),w=a(()=>{const e=O.map(S);return[Math.min(...e),Math.max(...e)]},[O,S]),M=a(()=>"custom"===g&&f?f:L({blues:Se,reds:Oe,greens:Ae,viridis:ke}[g]||Se).domain(w),[g,f,w]),{xBinCount:P,yBinCount:z}=a(()=>{const e=Er(l),t=Er(d);return{xBinCount:new Set(O.map(e)).size,yBinCount:new Set(O.map(t)).size}},[O,l,d]),C=a(()=>({coordinates:O}),[O]),N=a(()=>e=>{const t=S(e);return{fill:M(t),stroke:v,strokeWidth:k}},[S,M,v,k]),$=a(()=>{if(!x)return;const t=(w[0]+w[1])/2;return(n,a)=>{const o=S(n),r=b?b(o):o+"";return e.createElement("text",{textAnchor:"middle",dominantBaseline:"middle",fill:S(n)>t?"#fff":"#000",fontSize:"12px"},r)}},[x,S,b,w]),F=a(()=>{const e=[];return e.push({orient:"left",label:m,tickFormat:h}),e.push({orient:"bottom",label:p,tickFormat:y}),e},[p,m,y,h]),D=wr({componentName:"Heatmap",data:O,accessors:{xAccessor:l,yAccessor:d,valueAccessor:u}});if(D)return e.createElement(Sr,{componentName:"Heatmap",message:D,width:o,height:r});const T=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],summaries:C,xAccessor:l,yAccessor:d,summaryType:{type:"heatmap",xBins:P,yBins:z,binValue:e=>0===e.length?0:e.reduce((e,t)=>e+S(t),0)/e.length},summaryStyle:N,axes:F,hoverAnnotation:j,margin:s},$&&{summaryRenderMode:$}),i&&{className:i}),c&&{title:c}),E&&{tooltipContent:kr(E)}),{transition:!0}),A);return e.createElement(ba,Object.assign({},T))}function Lr(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:m="x",yAccessor:y="y",sizeBy:h,sizeRange:g=[5,40],colorBy:f,colorScheme:x="category10",bubbleOpacity:b=.6,bubbleStrokeWidth:v=1,bubbleStrokeColor:k="white",enableHover:j=!0,showGrid:E=!1,showLegend:A,tooltip:O,frameProps:S={}}=t,w=n||[],M=Ar(w,f,x),P=a(()=>{const e=w.map(e=>"function"==typeof h?h(e):e[h]);return[Math.min(...e),Math.max(...e)]},[w,h]),z=a(()=>e=>{const t={fillOpacity:b,strokeWidth:v,stroke:k};return t.fill=f?pr(e,f,M):jr,t.r=yr(e,h,g,P),t},[f,M,h,g,P,b,v,k]),C=a(()=>{const e=[];return e.push(Object.assign({orient:"left",label:d,tickFormat:p},E&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:l,tickFormat:u},E&&{tickLineGenerator:()=>null})),e},[l,d,u,p,E]),N=void 0!==A?A:!!f,$=a(()=>{if(N&&f)return hr({data:w,colorBy:f,colorScale:M,getColor:pr,strokeColor:k,strokeWidth:v})},[N,f,w,M,k,v]),F=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,$]),D=wr({componentName:"BubbleChart",data:w,accessors:{xAccessor:m,yAccessor:y},requiredProps:{sizeBy:h}});if(D)return e.createElement(Sr,{componentName:"BubbleChart",message:D,width:o,height:r});const T=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],points:w,xAccessor:m,yAccessor:y,pointStyle:z,axes:C,hoverAnnotation:j,margin:F},$&&{legend:$}),i&&{className:i}),c&&{title:c}),O&&{tooltipContent:kr(O)}),{transition:!0}),S);return e.createElement(ba,Object.assign({},T))}function Br(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:m,valueFormat:y,colorBy:h,colorScheme:g="category10",sort:f=!1,barPadding:x=5,enableHover:b=!0,showGrid:v=!1,showLegend:k,tooltip:j,frameProps:E={}}=t,A=n||[],O=Or(A,f,d),S=Ar(A,h,g),w=a(()=>e=>{const t={};return t.fill=h?pr(e,h,S):jr,t},[h,S]),M=a(()=>{const e=[];return"vertical"===u?(e.push(Object.assign({orient:"left",label:m,tickFormat:y},v&&{tickLineGenerator:()=>null})),p&&e.push({orient:"bottom",label:p})):(p&&e.push({orient:"left",label:p}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:y},v&&{tickLineGenerator:()=>null}))),e},[u,p,m,y,v]),P=void 0!==k?k:!!h,z=a(()=>{if(P&&h)return hr({data:O,colorBy:h,colorScale:S,getColor:pr})},[P,h,O,S]),C=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]),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:gr},e.createElement("div",{style:{fontWeight:"bold"}},n+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof a?a.toLocaleString():a+""))},[l,d]),$=wr({componentName:"BarChart",data:A,accessors:{categoryAccessor:l,valueAccessor:d}});if($)return e.createElement(Sr,{componentName:"BarChart",message:$,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:"bar",projection:"horizontal"===u?"horizontal":"vertical",style:w,axes:M,hoverAnnotation:b,margin:C,oPadding:x},z&&{legend:z}),i&&{className:i}),c&&{title:c}),{tooltipContent:j?kr(j):N,transition:!0}),E);return e.createElement(Ga,Object.assign({},F))}function Vr(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:m,valueLabel:y,valueFormat:h,colorBy:g,colorScheme:f="category10",normalize:x=!1,barPadding:b=5,enableHover:v=!0,showGrid:k=!1,showLegend:j=!0,tooltip:E,frameProps:A={}}=t,O=n||[],S=g||d;a(()=>{const e=Er(d);return Array.from(new Set(O.map(e)))},[O,d]);const w=Ar(O,S,f),M=a(()=>e=>{const t={};return t.fill=S?pr(e,S,w):jr,t},[S,w]),P=a(()=>{const e=[];return"vertical"===p?(e.push(Object.assign({orient:"left",label:y,tickFormat:h},k&&{tickLineGenerator:()=>null})),m&&e.push({orient:"bottom",label:m})):(m&&e.push({orient:"left",label:m}),e.push(Object.assign({orient:"bottom",label:y,tickFormat:h},k&&{tickLineGenerator:()=>null}))),e},[p,m,y,h,k]),z=a(()=>{if(j)return hr({data:O,colorBy:S,colorScale:w,getColor:pr})},[j,O,S,w]),C=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:120}),s);return z&&120>e.right&&(e.right=120),e},[s,z]),N=a(()=>{const t=Er(d),n=Er(l),a=Er(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:gr},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]),$=wr({componentName:"StackedBarChart",data:O,accessors:{categoryAccessor:l,valueAccessor:u},requiredProps:{stackBy:d}});if($)return e.createElement(Sr,{componentName:"StackedBarChart",message:$,width:o,height:r});const F=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:O,oAccessor:l,rAccessor:u,type:"bar",projection:"horizontal"===p?"horizontal":"vertical",style:M,axes:P,hoverAnnotation:v,margin:C,oPadding:b,pieceIDAccessor:d},x&&{rExtent:[0,1]}),z&&{legend:z}),i&&{className:i}),c&&{title:c}),{tooltipContent:E?kr(E):N,transition:!0}),A);return e.createElement(Ga,Object.assign({},F))}function Ir(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:m,valueFormat:y,colorBy:h,colorScheme:g="category10",sizeBy:f,sizeRange:x=[3,8],pointRadius:b=4,pointOpacity:v=.7,categoryPadding:k=20,enableHover:j=!0,showGrid:E=!1,showLegend:A,tooltip:O,frameProps:S={}}=t,w=n||[],M=Ar(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]),z=a(()=>e=>{const t={fillOpacity:v};return t.fill=h?pr(e,h,M):jr,t.r=f?yr(e,f,x,P):b,t},[h,M,f,x,P,b,v]),C=a(()=>{const e=[];return"vertical"===u?(e.push(Object.assign({orient:"left",label:m,tickFormat:y},E&&{tickLineGenerator:()=>null})),p&&e.push({orient:"bottom",label:p})):(p&&e.push({orient:"left",label:p}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:y},E&&{tickLineGenerator:()=>null}))),e},[u,p,m,y,E]),N=void 0!==A?A:!!h,$=a(()=>{if(N&&h)return hr({data:w,colorBy:h,colorScale:M,getColor:pr})},[N,h,w,M]),F=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,$]),D=a(()=>{const t=Er(d),n=Er(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:gr},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=wr({componentName:"SwarmPlot",data:w,accessors:{categoryAccessor:l,valueAccessor:d}});if(T)return e.createElement(Sr,{componentName:"SwarmPlot",message:T,width:o,height:r});const R=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:z,axes:C,pieceHoverAnnotation:j,margin:F,oPadding:k},$&&{legend:$}),i&&{className:i}),c&&{title:c}),{tooltipContent:O?kr(O):D,transition:!0}),S);return e.createElement(Ga,Object.assign({},R))}function Wr(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:m,valueFormat:y,colorBy:h,colorScheme:g="category10",showOutliers:f=!0,outlierRadius:x=3,categoryPadding:b=20,enableHover:v=!0,showGrid:k=!1,showLegend:j,tooltip:E,frameProps:A={}}=t,O=n||[],S=Ar(O,h,g),w=a(()=>e=>{const t=h?pr(e,h,S):jr;return{fill:t,stroke:t,fillOpacity:.8}},[h,S]),M=a(()=>{if(f)return e=>{const t={r:x,fillOpacity:.6};return t.fill=h?pr(e,h,S):jr,t}},[f,x,h,S]),P=a(()=>{const e=[];return"vertical"===u?(e.push(Object.assign({orient:"left",label:m,tickFormat:y},k&&{tickLineGenerator:()=>null})),p&&e.push({orient:"bottom",label:p})):(p&&e.push({orient:"left",label:p}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:y},k&&{tickLineGenerator:()=>null}))),e},[u,p,m,y,k]),z=void 0!==j?j:!!h,C=a(()=>{if(z&&h)return hr({data:O,colorBy:h,colorScale:S,getColor:pr})},[z,h,O,S]),N=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]),$=a(()=>{const t=Er(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:gr},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]),F=wr({componentName:"BoxPlot",data:O,accessors:{categoryAccessor:l,valueAccessor:d}});if(F)return e.createElement(Sr,{componentName:"BoxPlot",message:F,width:o,height:r});const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:O,oAccessor:l,rAccessor:d,summaryType:{type:"boxplot",outliers:f},summaryStyle:w,projection:"horizontal"===u?"horizontal":"vertical",axes:P,summaryHoverAnnotation:v,margin:N,oPadding:b},M&&{pointStyle:M}),C&&{legend:C}),i&&{className:i}),c&&{title:c}),{tooltipContent:E?kr(E):$,transition:!0}),A);return e.createElement(Ga,Object.assign({},D))}function Hr(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:m,valueFormat:y,colorBy:h,colorScheme:g="category10",sort:f=!0,dotRadius:x=5,categoryPadding:b=10,enableHover:v=!0,showGrid:k=!0,showLegend:j,tooltip:E,frameProps:A={}}=t,O=n||[],S=Or(O,f,d),w=Ar(O,h,g),M=a(()=>e=>{const t={r:x,fillOpacity:.8};return t.fill=h?pr(e,h,w):jr,t},[h,w,x]),P=a(()=>{const e=[];return"horizontal"===u?(p&&e.push({orient:"left",label:p}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:y},k&&{tickLineGenerator:()=>null}))):(e.push(Object.assign({orient:"left",label:m,tickFormat:y},k&&{tickLineGenerator:()=>null})),p&&e.push({orient:"bottom",label:p})),e},[u,p,m,y,k]),z=void 0!==j?j:!!h,C=a(()=>{if(z&&h)return hr({data:S,colorBy:h,colorScale:w,getColor:pr})},[z,h,S,w]),N=a(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:120,right:40}),s);return C&&120>e.right&&(e.right=120),e},[s,C]),$=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:gr},e.createElement("div",{style:{fontWeight:"bold"}},n+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof a?a.toLocaleString():a+""))},[l,d]),F=wr({componentName:"DotPlot",data:O,accessors:{categoryAccessor:l,valueAccessor:d}});if(F)return e.createElement(Sr,{componentName:"DotPlot",message:F,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:"point",projection:"horizontal"===u?"horizontal":"vertical",style:M,axes:P,pieceHoverAnnotation:v,margin:N,oPadding:b},C&&{legend:C}),i&&{className:i}),c&&{title:c}),{tooltipContent:E?kr(E):$,transition:!0}),A);return e.createElement(Ga,Object.assign({},D))}function Gr(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:m=0,slicePadding:y=2,enableHover:h=!0,showLegend:g=!0,tooltip:f,frameProps:x={}}=t,b=n||[],v=u||l,k=Ar(b,v,p),j=a(()=>e=>{const t={};return t.fill=v?pr(e,v,k):jr,t},[v,k]),E=a(()=>{if(g)return hr({data:b,colorBy:v,colorScale:k,getColor:pr})},[g,b,v,k]),A=a(()=>{const e=Object.assign(Object.assign({},{top:20,bottom:20,left:20,right:20}),s);return E&&120>e.right&&(e.right=120),e},[s,E]),O=a(()=>{const e={type:"bar"};return m&&(e.offsetAngle=m),e},[m]),S=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:gr},e.createElement("div",{style:{fontWeight:"bold"}},n+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof a?a.toLocaleString():a+""))},[l,d]),w=wr({componentName:"PieChart",data:b,accessors:{categoryAccessor:l,valueAccessor:d}});if(w)return e.createElement(Sr,{componentName:"PieChart",message:w,width:o,height:r});const M=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:b,oAccessor:l,rAccessor:d,type:O,projection:"radial",style:j,hoverAnnotation:h,margin:A,oPadding:y},E&&{legend:E}),i&&{className:i}),c&&{title:c}),{tooltipContent:f?kr(f):S,transition:!0}),x);return e.createElement(Ga,Object.assign({},M))}function _r(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:m,colorScheme:y="category10",startAngle:h=0,slicePadding:g=2,enableHover:f=!0,showLegend:x=!0,tooltip:b,frameProps:v={}}=t,k=n||[],j=m||l,E=Ar(k,j,y),A=a(()=>e=>{const t={};return t.fill=j?pr(e,j,E):jr,t},[j,E]),O=a(()=>{if(x)return hr({data:k,colorBy:j,colorScale:E,getColor:pr})},[x,k,j,E]),S=a(()=>{const e=Object.assign(Object.assign({},{top:20,bottom:20,left:20,right:20}),s);return O&&120>e.right&&(e.right=120),e},[s,O]),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:gr},e.createElement("div",{style:{fontWeight:"bold"}},n+""),e.createElement("div",{style:{marginTop:"4px"}},"number"==typeof a?a.toLocaleString():a+""))},[l,d]),z=wr({componentName:"DonutChart",data:k,accessors:{categoryAccessor:l,valueAccessor:d}});if(z)return e.createElement(Sr,{componentName:"DonutChart",message:z,width:o,height:r});const C=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:A,hoverAnnotation:f,margin:S,oPadding:g},O&&{legend:O}),M&&{foregroundGraphics:M}),i&&{className:i}),c&&{title:c}),{tooltipContent:b?kr(b):P,transition:!0}),v);return e.createElement(Ga,Object.assign({},C))}function Yr(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:m,valueLabel:y,valueFormat:h,colorBy:g,colorScheme:f="category10",barPadding:x=5,enableHover:b=!0,showGrid:v=!1,showLegend:k=!0,tooltip:j,frameProps:E={}}=t,A=n||[],O=g||d,S=Ar(A,O,f),w=a(()=>e=>{const t={};return t.fill=O?pr(e,O,S):jr,t},[O,S]),M=a(()=>{const e=[];return"vertical"===p?(e.push(Object.assign({orient:"left",label:y,tickFormat:h},v&&{tickLineGenerator:()=>null})),m&&e.push({orient:"bottom",label:m})):(m&&e.push({orient:"left",label:m}),e.push(Object.assign({orient:"bottom",label:y,tickFormat:h},v&&{tickLineGenerator:()=>null}))),e},[p,m,y,h,v]),P=a(()=>{if(k)return hr({data:A,colorBy:O,colorScale:S,getColor:pr})},[k,A,O,S]),z=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]),C=a(()=>{const t=Er(d),n=Er(l),a=Er(u);return o=>{const r=t(o)+"",s=n(o)+"",i=Number(a(o));return e.createElement("div",{className:"semiotic-tooltip",style:gr},e.createElement("div",{style:{fontWeight:"bold"}},r),e.createElement("div",{style:{marginTop:"4px"}},s," · ",i.toLocaleString()))}},[d,l,u]),N=wr({componentName:"GroupedBarChart",data:A,accessors:{categoryAccessor:l,valueAccessor:u},requiredProps:{groupBy:d}});if(N)return e.createElement(Sr,{componentName:"GroupedBarChart",message:N,width:o,height:r});const $=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],data:A,oAccessor:l,rAccessor:u,type:"clusterbar",projection:"horizontal"===p?"horizontal":"vertical",style:w,axes:M,hoverAnnotation:b,margin:z,oPadding:x,pieceIDAccessor:d},P&&{legend:P}),i&&{className:i}),c&&{title:c}),{tooltipContent:j?kr(j):C,transition:!0}),E);return e.createElement(Ga,Object.assign({},$))}function Xr(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:m,colorBy:y,colorScheme:h="category10",nodeSize:g=8,nodeSizeRange:f=[5,20],edgeWidth:x=1,edgeColor:b="#999",edgeOpacity:v=.6,iterations:k=300,forceStrength:j=.1,showLabels:E=!1,enableHover:A=!0,showLegend:O,tooltip:S,frameProps:w={}}=t,M=n||[],P=o||[],z=Ar(M,y,h),C=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=y?pr(e,y,z):jr,t.r="number"==typeof g?g:g?yr(e,g,f,C):8,t},[y,z,g,f,C]),$=a(()=>e=>{const t={stroke:b,strokeOpacity:v};return"number"==typeof x?t.strokeWidth=x:"function"==typeof x?t.strokeWidth=x(e):x&&(t.strokeWidth=e[x]),t},[x,b,v]),F=a(()=>{if(E&&m)return e=>"function"==typeof m?m(e):e[m]},[E,m]),D=void 0!==O?O:!!y,T=a(()=>{if(D&&y)return hr({data:M,colorBy:y,colorScale:z,getColor:pr})},[D,y,M,z]),R=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]),L=Pr({componentName:"ForceDirectedGraph",nodes:n,edges:o,nodesRequired:!0,edgesRequired:!0,accessors:{nodeIDAccessor:d}});if(L)return e.createElement(Sr,{componentName:"ForceDirectedGraph",message:L,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:A,margin:R},T&&{legend:T}),F&&{nodeLabels:F}),c&&{className:c}),l&&{title:l}),S&&{tooltipContent:kr(S)}),{transition:!0}),w),{_layoutMap:{force:Mo}});return e.createElement(Vo,Object.assign({},B))}function Kr(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:m="id",colorBy:y,colorScheme:h="category10",edgeColorBy:g="source",padAngle:f=.01,groupWidth:x=20,sortGroups:b,nodeLabel:v,showLabels:k=!0,enableHover:j=!0,edgeOpacity:E=.5,tooltip:A,frameProps:O={}}=t,S=o||[],w=a(()=>{if(n&&n.length>0)return n;const e=new Set;return S.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,S,d,u]),M=Ar(w,y,h),P=a(()=>(e,t)=>{const n={stroke:"black",strokeWidth:1};if(y)n.fill=pr(e,y,M);else{const e=Array.isArray(h)?h:dr[h]||ur,a=Array.isArray(e)?e:ur;n.fill=a[t%a.length]}return n},[y,M,h,w]),z=a(()=>e=>{const t={stroke:"black",strokeWidth:.5,fillOpacity:E,strokeOpacity:E};return"function"==typeof g?t.fill=g(e):"source"===g?t.fill=y?pr(e.source,y,M):P(e.source,e.source.index).fill:"target"===g&&(t.fill=y?pr(e.target,y,M):P(e.target,e.target.index).fill),t},[g,y,M,P,E]),C=a(()=>{if(!k)return;const e=v||m;return t=>"function"==typeof e?e(t):t[e]},[k,v,m]),N=a(()=>{const e={type:"chord",padAngle:f,groupWidth:x};return b&&(e.sortGroups=b),e},[f,x,b]),$=Pr({componentName:"ChordDiagram",edges:o,edgesRequired:!0});if($)return e.createElement(Sr,{componentName:"ChordDiagram",message:$,width:r,height:s});const F=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[r,s],nodes:w,edges:S,nodeStyle:P,edgeStyle:z,nodeIDAccessor:m,sourceAccessor:d,targetAccessor:u,edgeWidthAccessor:p,networkType:N,hoverAnnotation:j,margin:i,nodeSizeAccessor:()=>5},C&&{nodeLabels:C}),c&&{className:c}),l&&{title:l}),A&&{tooltipContent:kr(A)}),{transition:!0}),O),{_layoutMap:{chord:wo}});return e.createElement(Vo,Object.assign({},F))}function qr(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:m="id",colorBy:y,colorScheme:h="category10",edgeColorBy:g="source",orientation:f="horizontal",nodeAlign:x="justify",nodePaddingRatio:b=.05,nodeWidth:v=15,nodeLabel:k,showLabels:j=!0,enableHover:E=!0,edgeOpacity:A=.5,edgeSort:O,tooltip:S,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]),z=Ar(P,y,h),C=a(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=y?pr(e,y,z):"#4d430c",t},[y,z]),N=a(()=>e=>{const t={stroke:"black",strokeWidth:.5,fillOpacity:A,strokeOpacity:.3};return"function"==typeof g?t.fill=g(e):"source"===g?y&&e.source?t.fill=pr(e.source,y,z):e.source&&(t.fill=C(e.source).fill):"target"===g?y&&e.target?t.fill=pr(e.target,y,z):e.target&&(t.fill=C(e.target).fill):"gradient"===g&&(t.fill="#999",t.fillOpacity=.7*A),t},[g,y,z,C,A]),$=a(()=>{if(!j)return;const e=k||m;return t=>"function"==typeof e?e(t):t[e]},[j,k,m]),F=a(()=>{const e={type:"sankey",orient:x,direction:"horizontal"===f?void 0:"down",nodePaddingRatio:b,nodeWidth:v};return O&&(e.edgeSort=O),e},[x,f,b,v,O]),D=a(()=>t=>{var n,a,o,r,s,i,c,l,d,u,p,y;if(t.edge||t.source&&t.target&&!t.degree&&0!==t.degree){const m=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:"?",y=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:gr},e.createElement("div",{style:{fontWeight:"bold"}},m," → ",y),null!=h&&e.createElement("div",{style:{marginTop:4}},"Value: ","number"==typeof h?h.toLocaleString():h+""))}const h=m,g="function"==typeof h?h(t):null!==(y=t[h])&&void 0!==y?y:t.id,f=t.value;return e.createElement("div",{className:"semiotic-tooltip",style:gr},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)`:""))},[m]),T="function"==typeof S?S:D,R=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]),L=Pr({componentName:"SankeyDiagram",edges:o,edgesRequired:!0});if(L)return e.createElement(Sr,{componentName:"SankeyDiagram",message:L,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:C,edgeStyle:N,nodeIDAccessor:m,sourceAccessor:d,targetAccessor:u,edgeWidthAccessor:p,networkType:F,hoverAnnotation:E,margin:i,nodeSizeAccessor:()=>5},$&&{nodeLabels:$}),c&&{className:c}),l&&{title:l}),{htmlAnnotationRules:R,transition:!0}),w),{_layoutMap:{sankey:fo,flowchart:fo}});return e.createElement(Vo,Object.assign({},B))}function Zr(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:m="name",colorBy:y,colorScheme:h="category10",colorByDepth:g=!1,nodeSize:f=5,enableHover:x=!0,tooltip:b,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?mr(k.map((e,t)=>({depth:t%5})),"depth",h):y&&"function"!=typeof y?mr(k,y,h):void 0,[k,y,g,h]),E=a(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=g?pr({depth:e.depth||0},"depth",j):y?pr(e,y,j):jr,t},[y,g,j]),A=a(()=>()=>({stroke:"#999",strokeWidth:1,fill:"none"}),[]),O=a(()=>{const e={type:l};return"tree"!==l&&"cluster"!==l||(e.projection=d),"partition"===l&&"radial"===d&&(e.projection="radial"),e},[l,d]),S=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=Mr({componentName:"TreeDiagram",data:n});if(M)return e.createElement(Sr,{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:E,edgeStyle:A,nodeIDAccessor:m,networkType:O,hoverAnnotation:x,margin:s,nodeSizeAccessor:()=>f},S&&{hierarchyChildren:S}),w&&{hierarchySum:w}),i&&{className:i}),c&&{title:c}),b&&{tooltipContent:kr(b)}),{transition:!0}),v),{_layoutMap:ho});return e.createElement(Vo,Object.assign({},P))}function Jr(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:m="category10",colorByDepth:y=!1,showLabels:h=!0,nodeLabel:g,enableHover:f=!0,tooltip:x,frameProps:b={}}=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(()=>y?mr(v.map((e,t)=>({depth:t%5})),"depth",m):p&&"function"!=typeof p?mr(v,p,m):void 0,[v,p,y,m]),j=a(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3};return t.fill=y?pr({depth:e.depth||0},"depth",k):p?pr(e,p,k):jr,t},[p,y,k]),E=a(()=>"function"==typeof l?l:e=>e[l],[l]),A=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]),S=Mr({componentName:"Treemap",data:n});if(S)return e.createElement(Sr,{componentName:"Treemap",message:S,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},E&&{hierarchyChildren:E}),A&&{hierarchySum:A}),O&&{nodeLabels:O}),i&&{className:i}),c&&{title:c}),x&&{tooltipContent:kr(x)}),{transition:!0}),b),{_layoutMap:{treemap:ho.treemap}});return e.createElement(Vo,Object.assign({},w))}function Ur(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:m="category10",colorByDepth:y=!1,showLabels:h=!0,nodeLabel:g,circleOpacity:f=.7,enableHover:x=!0,tooltip:b,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(()=>y?mr(k.map((e,t)=>({depth:t%5})),"depth",m):p&&"function"!=typeof p?mr(k,p,m):void 0,[k,p,y,m]),E=a(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3,fillOpacity:f};return t.fill=y?pr({depth:e.depth||0},"depth",j):p?pr(e,p,j):jr,t},[p,y,j,f]),A=a(()=>"function"==typeof l?l:e=>e[l],[l]),O=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]),w=Mr({componentName:"CirclePack",data:n});if(w)return e.createElement(Sr,{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:E,edgeStyle:()=>({fill:"none",stroke:"none"}),nodeIDAccessor:u,networkType:{type:"circlepack"},hoverAnnotation:x,margin:s},A&&{hierarchyChildren:A}),O&&{hierarchySum:O}),S&&{nodeLabels:S}),i&&{className:i}),c&&{title:c}),b&&{tooltipContent:kr(b)}),{transition:!0}),v),{_layoutMap:{circlepack:ho.circlepack}});return e.createElement(Vo,Object.assign({},M))}class Qr{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 es{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 ts(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 ns=["#007bff","#28a745","#dc3545","#fd7e14","#6f42c1","#20c997","#e83e8c","#17a2b8","#6610f2","#ffc107"];function as(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 os(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 rs=["#4e79a7","#f28e2b","#e15759","#76b7b2","#59a14f","#edc948","#b07aa1","#ff9da7","#9c755f","#bab0ac"],ss={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",m=s?s.filter(e=>"threshold"===e.type&&e.color).map(e=>({value:e.value,color:e.color,thresholdType:e.thresholdType||"greater"})):null;if(!m||0>=m.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,m="x"===l?s:r;n?e.lineTo(p,m):(e.moveTo(p,m),n=!0)}return void e.stroke()}e.lineWidth=o.strokeWidth||2,e.setLineDash(o.strokeDasharray?o.strokeDasharray.split(/[\s,]+/).map(Number):[]);let y=null,h=null,g=null,f=null,x=!1;function b(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),x=!0}function k(){x&&(e.stroke(),x=!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(),y=null,h=null,g=null,f=null;continue}const[o,r]=b(t,a),s=ts(a,m,p);if(null!==y&&null!==f&&null!==g){if(s===f)e.lineTo(o,r);else{const t=[];for(const e of m){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=y+(o-y)*n.t,s=h+(r-h)*n.t,i=ts(g+(a-g)*Math.min(n.t+1e-4,1),m,p);e.lineTo(t,s),k(),v(i,t,s)}e.lineTo(o,r)}y=o,h=r,g=a,f=s}else v(s,o,r),y=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:m,value:y}=n,{timeAxis:h}=a,{time:g,value:f,category:x}=r,b=null==i?void 0:i.swarmStyle,v=null==i?void 0:i.barColors,k=null!==(c=null==b?void 0:b.radius)&&void 0!==c?c:3,j=null!==(d=null!==(l=null==b?void 0:b.fill)&&void 0!==l?l:o.stroke)&&void 0!==d?d:"#007bff",E=null!==(u=null==b?void 0:b.opacity)&&void 0!==u?u:.7,A=null!=(null==b?void 0:b.stroke),O=s?s.filter(e=>"threshold"===e.type&&e.color).map(e=>({value:e.value,color:e.color,thresholdType:e.thresholdType||"greater"})):null,S=O&&O.length>0;e.globalAlpha=E;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=m(t),r=y(a)):(o=y(a),r=m(t));let s=j;if(x){const e=x(n);v&&v[e]?s=v[e]:(e in M||(M[e]=ns[w%ns.length],w++),s=M[e])}S&&(s=as(a,O,s)),e.fillStyle=s,e.beginPath(),e.arc(o,r,k,0,2*Math.PI),e.fill(),A&&(e.strokeStyle=b.stroke,e.lineWidth=null!==(p=null==b?void 0:b.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,m,y;const{time:h,value:g}=n,{timeAxis:f,width:x,height:b}=a,{time:v,value:k}=r,j=null==i?void 0:i.waterfallStyle,E=null!==(c=null==j?void 0:j.positiveColor)&&void 0!==c?c:"#28a745",A=null!==(l=null==j?void 0:j.negativeColor)&&void 0!==l?l:"#dc3545",O=null!==(d=null==j?void 0:j.gap)&&void 0!==d?d:1,S=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 z=0,C=null,N=null;for(let t=0;P.length>t;t++){const n=P[t],a=v(n),o=k(n),r=z+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?A:E,"x"===f){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)+O/2,i=Math.max(t,n)-O/2,c=i-o;if(0>=c){z=r,C=i,N=r;continue}const l=g(z),d=g(r),u=Math.min(l,d),p=Math.abs(l-d);if(S&&null!=C&&null!=N){e.save(),e.strokeStyle=S,e.lineWidth=w;const t=g(N);e.beginPath(),e.moveTo(C,t),e.lineTo(o,t),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(o,u,c,p),M&&e.strokeRect(o,u,c,p),C=i}else{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)+O/2,i=Math.max(t,n)-O/2,c=i-o;if(0>=c){z=r,C=i,N=r;continue}const l=g(z),d=g(r),u=Math.min(l,d),p=Math.abs(d-l);if(S&&null!=C&&null!=N){e.save(),e.strokeStyle=S,e.lineWidth=w;const t=g(N);e.beginPath(),e.moveTo(t,C),e.lineTo(t,o),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(u,o,p,c),M&&e.strokeRect(u,o,p,c),C=i}z=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:m}=a,{time:y,value:h,category:g}=r,f=null==i?void 0:i.barColors,x=null==i?void 0:i.barStyle,b=os(t,y,h,d,g);if(0===b.size)return;const[v,k]=u.domain(),j=null!==(c=null==x?void 0:x.gap)&&void 0!==c?c:1,E=null!=g;let A=null;if(E){const e=new Set;for(const t of b.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();A=[...t.filter(t=>e.has(t)),...a]}const O=null!=(null==x?void 0:x.stroke);O&&(e.strokeStyle=x.stroke,e.lineWidth=null!==(l=null==x?void 0:x.strokeWidth)&&void 0!==l?l:1);for(const t of b.values())if("x"===m){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(E&&A){let n=0,a=0;for(const o of A){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]||rs[a%rs.length],e.fillRect(i,d,c,u),O&&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==x?void 0:x.fill)||o.stroke||"#007bff",e.fillRect(i,r,c,s),O&&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(E&&A){let n=0,a=0;for(const o of A){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]||rs[a%rs.length],e.fillRect(d,i,u,c),O&&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==x?void 0:x.fill)||o.stroke||"#007bff",e.fillRect(r,i,s,c),O&&e.strokeRect(r,i,s,c)}}}},is={top:20,right:20,bottom:30,left:40},cs={};function ls(e,t){if("function"==typeof e)return t=>+e(t);const n=e||t;return e=>+e[n]}function ds(e){return"up"===e||"down"===e?"y":"x"}function us(e){return Math.round(100*e)/100+""}const ps={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"},ms={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 ys({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:ms},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 hs=d(function(t,n){const{chartType:o="line",arrowOfTime:s="right",windowMode:d="sliding",windowSize:p=200,data:m,timeAccessor:y,valueAccessor:h,timeExtent:g,valueExtent:f,extentPadding:x=.1,size:b=[500,300],margin:v,className:k,lineStyle:j=cs,annotations:E,svgAnnotationRules:A,hoverAnnotation:O,tooltipContent:S,customHoverBehavior:w,showAxes:M=!0,background:P,categoryAccessor:z,binSize:C,barColors:N,barStyle:$,waterfallStyle:F,swarmStyle:T,tickFormatTime:R,tickFormatValue:L}=t,B=Object.assign(Object.assign({},is),v),V=b[0]-B.left-B.right,I=b[1]-B.top-B.bottom,W=a(()=>ls(y,"time"),[y]),H=a(()=>ls(h,"value"),[h]),G=a(()=>z?"function"==typeof z?z:e=>e[z]:void 0,[z]),_=c(new Qr(p)),Y=c(new es),X=c(new es),K=c(null),q=c(0),Z=c(!1),J=c(null),[U,Q]=r(0),ee=c(p),te=c(null),[ne,ae]=r(null),oe=c(()=>{}),re=l(()=>{q.current||(q.current=requestAnimationFrame(()=>oe.current()))},[]),se=l(e=>{const t=_.current,n=W(e),a=H(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(W(o)),X.current.evict(H(o))),Z.current=!0,re()},[d,W,H,re]),ie=l(e=>{for(const t of e)se(t)},[se]),ce=l(()=>{_.current.clear(),Y.current.clear(),X.current.clear(),Z.current=!0,re()},[re]);u(n,()=>({push:se,pushMany:ie,clear:ce,getData:()=>_.current.toArray()}),[se,ie,ce]),i(()=>{if(m){_.current.clear(),Y.current.clear(),X.current.clear();for(const e of m)_.current.push(e),Y.current.push(W(e)),X.current.push(H(e));Z.current=!0,re()}},[m,W,H,re]);const le=c(()=>{}),de=c(()=>{});le.current=e=>{if(!O)return;const t=K.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>I)return void(te.current&&(te.current=null,ae(null),w&&w(null),re()));const i=J.current;if(!i)return;const c=_.current;if(0===c.size)return;const l=ds(s),d=i.time.invert("x"===l?a:r);let u;if("bar"===o&&C){const e=os(c,W,H,C,G).get(Math.floor(d/C)*C);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),m=i.value(e.total),y="x"===l?p:m,h="x"===l?m:p;let g,f;if(G&&e.categories.size>0){const t=N?Object.keys(N):[],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:N||{},hoveredCategory:g,hoveredCategoryValue:f},time:s,value:e.total,x:y,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,W);if(0>e)return;const t=c.get(e),n=W(t),a=H(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;q.current=0;const t=K.current;if(!t)return;const n=t.getContext("2d");if(!n)return;const a=_.current,r=Y.current,i=X.current;r.dirty&&r.recalculate(a,W),i.dirty&&i.recalculate(a,H);let c=g||r.extent,l=f||i.extent;if("bar"===o&&C&&!f&&a.size>0){const[,e]=function(e,t,n,a,o){const r=os(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,W,H,C,G);l=[0,e+e*x]}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,H),n=t-e,o=n>0?n*x: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*x: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"===ds(e)?(r="right"===e?[0,a]:[a,0],s=[o,0]):(r="down"===e?[0,o]:[o,0],s=[0,a]),{time:D().domain(t).range(r),value:D().domain(n).range(s)}}(s,c,l,V,I);J.current=d;const u="undefined"!=typeof window&&window.devicePixelRatio||1;t.width=b[0]*u,t.height=b[1]*u,t.style.width=b[0]+"px",t.style.height=b[1]+"px",n.scale(u,u),n.translate(B.left,B.top),n.clearRect(-B.left,-B.top,b[0],b[1]);const p=function(e){if(!e)return ps;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||ps.axisStroke,tickText:n||ps.tickText,crosshair:n?n+"66":ps.crosshair,hoverFill:r?r+"4D":ps.hoverFill,hoverStroke:n?n+"99":ps.hoverStroke,pointRing:r||ps.pointRing}:ps}(t);P&&(n.fillStyle=P,n.fillRect(0,0,V,I)),M&&(n.save(),function(e,t,n,a,o,r,s,i,c){const l=ds(t),d=i||us,u=c||ps;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,I,R,L,p),n.restore());const m=ss[o];if(m&&m(n,a,d,{width:V,height:I,timeAxis:ds(s)},j,{time:W,value:H,category:G},E,"bar"===o?{binSize:C,barColors:N,barStyle:$}:"waterfall"===o?{waterfallStyle:F}:"swarm"===o?{swarmStyle:T,barColors:N}:void 0),O&&te.current&&"bar"===o&&C){const t=te.current.data;if(null!=t.binStart){const a=null!==(e=null==$?void 0:$.gap)&&void 0!==e?e:1,o=ds(s),r=null!=t.hoveredCategory?(()=>{const e=t.categories||{},n=N?Object.keys(N):[],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),m=Math.min(t.binEnd,l);if("x"===o){const e=d.time(u),t=d.time(m),o=Math.min(e,t)+a/2,s=Math.max(e,t)-a/2,c=d.value(r),l=d.value(i),y=Math.min(c,l),h=Math.abs(c-l);n.fillStyle=p.hoverFill,n.fillRect(o,y,s-o,h),n.strokeStyle=p.hoverStroke,n.lineWidth=1,n.setLineDash([]),n.strokeRect(o,y,s-o,h)}else{const e=d.time(u),t=d.time(m),o=Math.min(e,t)+a/2,s=Math.max(e,t)-a/2,c=d.value(r),l=d.value(i),y=Math.min(c,l),h=Math.abs(l-c);n.fillStyle=p.hoverFill,n.fillRect(y,o,h,s-o),n.strokeStyle=p.hoverStroke,n.lineWidth=1,n.setLineDash([]),n.strokeRect(y,o,h,s-o)}}}O&&te.current&&function(e,t,n,a,o,r,s){if(!1===o.crosshair)return;const i=s||ps;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,I,"object"==typeof O?O:{},j.stroke||"#007bff",p);const y=Z.current;Z.current=!1,y&&E&&E.length>0&&A&&Q(e=>e+1)},i(()=>(re(),()=>{q.current&&cancelAnimationFrame(q.current)}),[re]),i(()=>{Z.current=!0,re()},[s,o,V,I,M,P,j,re]);const me=e.useMemo(()=>{if(!E||0===E.length||!A)return null;const e=J.current,t=ds(s);return E.map((n,a)=>A(n,a,{scales:e,timeAxis:t,width:V,height:I})).filter(Boolean)},[E,A,s,V,I,U]),ye=me&&me.length>0,he=O&&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*I>ne.y?"4px":"calc(-100% - 4px)"})`,pointerEvents:"none",zIndex:1}},S?S(ne):e.createElement(ys,{hover:ne,formatTime:R})):null;return e.createElement("div",{className:"realtime-frame"+(k?" "+k:""),style:{position:"relative",width:b[0],height:b[1]},onMouseMove:O?ue:void 0,onMouseLeave:O?pe:void 0},e.createElement("canvas",{ref:K,style:{position:"absolute",left:0,top:0}}),ye&&e.createElement("svg",{width:b[0],height:b[1],style:{position:"absolute",top:0,left:0,pointerEvents:"none"}},e.createElement("g",{transform:`translate(${B.left},${B.top})`},me)),he)}),gs=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:m,timeExtent:y,valueExtent:h,extentPadding:g,stroke:f="#007bff",strokeWidth:x=2,strokeDasharray:b,showAxes:v=!0,background:k,enableHover:j,tooltipContent:E,onHover:A,annotations:O,svgAnnotationRules:S,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(hs,{ref:P,chartType:"line",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:l,data:d,timeAccessor:p,valueAccessor:m,timeExtent:y,valueExtent:h,extentPadding:g,lineStyle:{stroke:f,strokeWidth:x,strokeDasharray:b},showAxes:v,background:k,hoverAnnotation:j,tooltipContent:E,customHoverBehavior:A,annotations:O,svgAnnotationRules:S,tickFormatTime:w,tickFormatValue:M})}),fs=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:m,valueAccessor:y,timeExtent:h,valueExtent:g,extentPadding:f,categoryAccessor:x,colors:b,fill:v,stroke:k,strokeWidth:j,gap:E,showAxes:A=!0,background:O,enableHover:S,tooltipContent:w,onHover:M,annotations:P,svgAnnotationRules:z,tickFormatTime:C,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 F={};return null!=v&&(F.fill=v),null!=k&&(F.stroke=k),null!=j&&(F.strokeWidth=j),null!=E&&(F.gap=E),e.createElement(hs,{ref:$,chartType:"bar",size:o,margin:r,className:s,arrowOfTime:i,windowMode:l,windowSize:d,data:p,timeAccessor:m,valueAccessor:y,timeExtent:h,valueExtent:g,extentPadding:f,binSize:a,categoryAccessor:x,barColors:b,barStyle:F,showAxes:A,background:O,hoverAnnotation:S,tooltipContent:w,customHoverBehavior:M,annotations:P,svgAnnotationRules:z,tickFormatTime:C,tickFormatValue:N})}),xs=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:m,timeExtent:y,valueExtent:h,extentPadding:g,categoryAccessor:f,colors:x,radius:b,fill:v,opacity:k,stroke:j,strokeWidth:E,showAxes:A=!0,background:O,enableHover:S,tooltipContent:w,onHover:M,annotations:P,svgAnnotationRules:z,tickFormatTime:C,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 F={};return null!=b&&(F.radius=b),null!=v&&(F.fill=v),null!=k&&(F.opacity=k),null!=j&&(F.stroke=j),null!=E&&(F.strokeWidth=E),e.createElement(hs,{ref:$,chartType:"swarm",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:l,data:d,timeAccessor:p,valueAccessor:m,timeExtent:y,valueExtent:h,extentPadding:g,categoryAccessor:f,barColors:x,swarmStyle:F,showAxes:A,background:O,hoverAnnotation:S,tooltipContent:w,customHoverBehavior:M,annotations:P,svgAnnotationRules:z,tickFormatTime:C,tickFormatValue:N})}),bs=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:m,timeExtent:y,valueExtent:h,extentPadding:g,positiveColor:f,negativeColor:x,connectorStroke:b,connectorWidth:v,gap:k,stroke:j,strokeWidth:E,showAxes:A=!0,background:O,enableHover:S,tooltipContent:w,onHover:M,annotations:P,svgAnnotationRules:z,tickFormatTime:C,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 F={};return null!=f&&(F.positiveColor=f),null!=x&&(F.negativeColor=x),null!=b&&(F.connectorStroke=b),null!=v&&(F.connectorWidth=v),null!=k&&(F.gap=k),null!=j&&(F.stroke=j),null!=E&&(F.strokeWidth=E),e.createElement(hs,{ref:$,chartType:"waterfall",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:l,data:d,timeAccessor:p,valueAccessor:m,timeExtent:y,valueExtent:h,extentPadding:g,waterfallStyle:F,showAxes:A,background:O,hoverAnnotation:S,tooltipContent:w,customHoverBehavior:M,annotations:P,svgAnnotationRules:z,tickFormatTime:C,tickFormatValue:N})});export{Re as Annotation,Xe as AnnotationLayer,Fr as AreaChart,hn as Axis,Br as BarChart,Wr as BoxPlot,ut as Brush,Lr as BubbleChart,Kr as ChordDiagram,Ur as CirclePack,ct as DividedLine,_r as DonutChart,Hr as DotPlot,qo as FacetController,Xr as ForceDirectedGraph,Yr as GroupedBarChart,Rr as Heatmap,es as IncrementalExtent,wn as InteractionLayer,$e as Legend,Nr as LineChart,_a as MiniMap,Ya as MinimapXYFrame,vr as MultiLineTooltip,Vo as NetworkFrame,Ga as OrdinalFrame,Gr as PieChart,fs as RealtimeBarChart,hs as RealtimeFrame,gs as RealtimeLineChart,xs as RealtimeSwarmChart,bs as RealtimeWaterfallChart,Uo as ResponsiveMinimapXYFrame,Jo as ResponsiveNetworkFrame,er as ResponsiveOrdinalFrame,Qo as ResponsiveXYFrame,Qr as RingBuffer,qr as SankeyDiagram,zr as Scatterplot,lr as SparkNetworkFrame,cr as SparkOrdinalFrame,ir as SparkXYFrame,Tr as StackedAreaChart,Vr as StackedBarChart,Ir as SwarmPlot,br as Tooltip,Zr as TreeDiagram,Jr as Treemap,Mn as VisualizationLayer,ba as XYFrame,Qn as calculateDataExtent,at as funnelize,Zt as heatmapping,Kt as hexbinning,Oo as nodesEdgesFromHierarchy,kr as normalizeTooltip};
|