semiotic 2.0.3 → 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/AnnotationLayer/AnnotationLayer.d.ts +0 -1
- package/dist/Axis/axisTitle.d.ts +3 -3
- package/dist/Axis/summaryGraphic.d.ts +1 -1
- package/dist/FacetController.d.ts +1 -1
- package/dist/MinimapXYFrame.d.ts +2 -2
- package/dist/NetworkFrame.d.ts +5 -1
- package/dist/OrdinalFrame.d.ts +5 -1
- package/dist/ResponsiveFrame.d.ts +2 -2
- package/dist/ResponsiveMinimapXYFrame.d.ts +3 -6
- package/dist/ResponsiveNetworkFrame.d.ts +3 -6
- package/dist/ResponsiveOrdinalFrame.d.ts +3 -6
- package/dist/ResponsiveXYFrame.d.ts +3 -6
- package/dist/SparkFrame.d.ts +1 -1
- package/dist/SparkNetworkFrame.d.ts +3 -3
- package/dist/SparkOrdinalFrame.d.ts +3 -3
- package/dist/SparkXYFrame.d.ts +3 -3
- package/dist/Tooltip/Tooltip.d.ts +141 -0
- package/dist/TooltipPositioner/index.d.ts +1 -1
- package/dist/VisualizationLayer.d.ts +3 -3
- package/dist/XYFrame.d.ts +5 -1
- package/dist/annotationLayerBehavior/annotationHandling.d.ts +2 -2
- package/dist/annotationRules/networkframeRules.d.ts +2 -2
- package/dist/annotationRules/orframeRules.d.ts +2 -4
- package/dist/annotationRules/xyframeRules.d.ts +2 -2
- package/dist/batchWork.d.ts +1 -1
- 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/frame_props.d.ts +9 -0
- package/dist/constants/jsx.d.ts +2 -2
- package/dist/data/dataFunctions.d.ts +11 -12
- package/dist/data/networkPipelineCache.d.ts +27 -0
- package/dist/data/ordinalPipelineCache.d.ts +33 -0
- package/dist/data/xyPipelineCache.d.ts +35 -0
- package/dist/index.d.ts +70 -62
- package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +1 -1
- 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 +5 -4
- 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 +25 -28
- package/dist/processing/networkDefaults.d.ts +36 -0
- package/dist/processing/networkLayoutHelpers.d.ts +54 -0
- package/dist/processing/ordinal.d.ts +43 -43
- 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 +46 -41
- 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 +19 -3
- package/dist/semiotic.js +18707 -12983
- package/dist/semiotic.js.map +1 -0
- package/dist/semiotic.min.js +1 -0
- package/dist/semiotic.module.js +18651 -12953
- 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/svg/SvgHelper.d.ts +1 -5
- package/dist/svg/areaDrawing.d.ts +3 -13
- 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/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 +17 -28
- package/dist/svg/graphAlgorithms.d.ts +14 -0
- package/dist/svg/hexbinLayout.d.ts +7 -0
- package/dist/svg/lineDrawing.d.ts +8 -8
- package/dist/svg/networkDrawing.d.ts +5 -123
- package/dist/svg/nodeGenerators.d.ts +58 -0
- package/dist/svg/pieceDrawing.d.ts +1 -2
- package/dist/svg/pieceLayouts.d.ts +5 -23
- package/dist/svg/sankeyLinks.d.ts +3 -0
- package/dist/svg/summaryAxis.d.ts +6 -0
- package/dist/svg/summaryLayouts.d.ts +36 -57
- package/dist/svg/swarmLayout.d.ts +13 -0
- package/dist/types/annotationTypes.d.ts +13 -18
- package/dist/types/canvasTypes.d.ts +1 -1
- package/dist/types/generalTypes.d.ts +37 -35
- package/dist/types/interactionTypes.d.ts +7 -9
- package/dist/types/legendTypes.d.ts +2 -2
- package/dist/types/networkTypes.d.ts +40 -30
- package/dist/types/ordinalTypes.d.ts +27 -18
- package/dist/types/xyTypes.d.ts +13 -16
- package/dist/useLegacyUnmountCallback.d.ts +2 -1
- package/dist/visualizationLayerBehavior/axis.d.ts +3 -5
- package/dist/visualizationLayerBehavior/general.d.ts +8 -12
- 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 -66
- package/dist/AnnotationLayer/helpers.d.ts +0 -6
- package/dist/AnnotationLayer/index.d.ts +0 -2
- package/dist/Mark/Mark.d.ts +0 -3
- package/dist/Mark/Mark.types.d.ts +0 -10
- package/dist/Mark/constants/markTransition.d.ts +0 -10
- package/dist/Mark/markBehavior/drawing.d.ts +0 -13
- package/dist/SpanOrDiv.d.ts +0 -10
- package/dist/components/Annotation.d.ts +0 -3
- package/dist/components/AnnotationLayer/AnnotationLayer.d.ts +0 -26
- package/dist/components/Axis/Axis.d.ts +0 -7
- package/dist/components/Axis/axisTitle.d.ts +0 -10
- package/dist/components/Axis/index.d.ts +0 -2
- package/dist/components/Axis/summaryGraphic.d.ts +0 -17
- package/dist/components/Brush.d.ts +0 -12
- package/dist/components/DividedLine.d.ts +0 -16
- package/dist/components/FacetController.d.ts +0 -12
- package/dist/components/Frame.d.ts +0 -2
- package/dist/components/InteractionLayer.d.ts +0 -3
- package/dist/components/Legend.d.ts +0 -3
- package/dist/components/Mark/Mark.d.ts +0 -3
- package/dist/components/Mark/Mark.types.d.ts +0 -10
- package/dist/components/Mark/markBehavior/drawing.d.ts +0 -13
- package/dist/components/MiniMap.d.ts +0 -14
- package/dist/components/MinimapXYFrame.d.ts +0 -10
- package/dist/components/NetworkFrame.d.ts +0 -4
- package/dist/components/OrdinalFrame.d.ts +0 -4
- package/dist/components/ResponsiveFrame.d.ts +0 -22
- package/dist/components/ResponsiveMinimapXYFrame.d.ts +0 -6
- package/dist/components/ResponsiveNetworkFrame.d.ts +0 -6
- package/dist/components/ResponsiveOrdinalFrame.d.ts +0 -6
- package/dist/components/ResponsiveXYFrame.d.ts +0 -6
- package/dist/components/SpanOrDiv.d.ts +0 -10
- package/dist/components/SparkFrame.d.ts +0 -14
- package/dist/components/SparkNetworkFrame.d.ts +0 -5
- package/dist/components/SparkOrdinalFrame.d.ts +0 -5
- package/dist/components/SparkXYFrame.d.ts +0 -5
- package/dist/components/TooltipPositioner/index.d.ts +0 -7
- package/dist/components/VisualizationLayer.d.ts +0 -33
- package/dist/components/XYFrame.d.ts +0 -4
- package/dist/components/annotationLayerBehavior/annotationHandling.d.ts +0 -19
- package/dist/components/annotationLayerBehavior/d3labeler.d.ts +0 -9
- package/dist/components/annotationRules/baseRules.d.ts +0 -25
- package/dist/components/annotationRules/networkframeRules.d.ts +0 -48
- package/dist/components/annotationRules/orframeRules.d.ts +0 -105
- package/dist/components/annotationRules/xyframeRules.d.ts +0 -117
- package/dist/components/batchWork.d.ts +0 -6
- package/dist/components/constants/coordinateNames.d.ts +0 -8
- package/dist/components/constants/frame_props.d.ts +0 -4
- package/dist/components/constants/jsx.d.ts +0 -19
- package/dist/components/data/dataFunctions.d.ts +0 -46
- package/dist/components/data/multiAccessorUtils.d.ts +0 -1
- package/dist/components/data/unflowedFunctions.d.ts +0 -1
- package/dist/components/generic_utilities/functions.d.ts +0 -1
- package/dist/components/index.d.ts +0 -125
- package/dist/components/interactionLayerBehavior/InteractionCanvas.d.ts +0 -20
- package/dist/components/processing/InteractionItems.d.ts +0 -12
- package/dist/components/processing/network.d.ts +0 -114
- package/dist/components/processing/ordinal.d.ts +0 -102
- package/dist/components/processing/xyDrawing.d.ts +0 -135
- package/dist/components/semiotic.d.ts +0 -35
- package/dist/components/store/TooltipStore.d.ts +0 -2
- package/dist/components/store/createStore.d.ts +0 -1
- package/dist/components/svg/SvgHelper.d.ts +0 -37
- package/dist/components/svg/areaDrawing.d.ts +0 -31
- package/dist/components/svg/ckmeans.d.ts +0 -69
- package/dist/components/svg/frameFunctions.d.ts +0 -119
- package/dist/components/svg/lineDrawing.d.ts +0 -99
- package/dist/components/svg/networkDrawing.d.ts +0 -134
- package/dist/components/svg/pieceDrawing.d.ts +0 -13
- package/dist/components/svg/pieceLayouts.d.ts +0 -71
- package/dist/components/svg/summaryLayouts.d.ts +0 -74
- package/dist/components/types/annotationTypes.d.ts +0 -140
- package/dist/components/types/canvasTypes.d.ts +0 -9
- package/dist/components/types/generalTypes.d.ts +0 -236
- package/dist/components/types/interactionTypes.d.ts +0 -74
- package/dist/components/types/legendTypes.d.ts +0 -20
- package/dist/components/types/networkTypes.d.ts +0 -165
- package/dist/components/types/ordinalTypes.d.ts +0 -103
- package/dist/components/types/xyTypes.d.ts +0 -118
- package/dist/components/useBoundingRect.d.ts +0 -2
- package/dist/components/useDerivedStateFromProps.d.ts +0 -1
- package/dist/components/useLegacyUnmountCallback.d.ts +0 -1
- package/dist/components/visualizationLayerBehavior/axis.d.ts +0 -38
- package/dist/components/visualizationLayerBehavior/general.d.ts +0 -84
- package/dist/setupTests.d.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("react"),t=require("labella"),n=require("d3-shape"),a=require("d3-array"),o=require("d3-scale"),r=require("d3-brush"),s=require("d3-selection"),i=require("d3-delaunay"),c=require("d3-contour"),l=require("regression"),d=require("d3-hierarchy"),u=require("d3-polygon"),m=require("polygon-offset"),p=require("d3-hexbin"),y=require("memoize-one"),h=require("svg-path-bounding-box"),g=require("d3-force"),f=require("d3-glyphedge"),x=require("d3-path-arrows"),b=require("d3-interpolate"),v=require("d3-chord"),k=require("d3-sankey-circular"),j=require("d3-scale-chromatic");function E(e){return e&&e.__esModule?e:{default:e}}function S(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const n in e)if("default"!==n){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}return t.default=e,Object.freeze(t)}const A=S(e),O=E(t),M=E(l),w=E(m),C=E(y),P=E(h),z=(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 N={fill:e=>A.createElement("rect",{style:e,width:20,height:20}),line:e=>A.createElement("line",{style:e,x1:0,y1:0,x2:20,y2:20})};function F(e,t,n,a){let o;return o="function"==typeof n?n(e):(0,N[n])(a(e,t)),o}function $(e){const{legendGroups:t,customClickBehavior:n,title:a="Legend",width:o=100,height:r=20,orientation:s="vertical"}=e,i="vertical"===s?(({legendGroups:e,width:t,customClickBehavior:n})=>{let a=30;const o=[];return e.forEach((e,r)=>{a+=5,o.push(A.createElement("line",{key:"legend-top-line legend-symbol-"+r,stroke:"gray",x1:0,y1:a,x2:t,y2:a})),a+=10,e.label&&(a+=20,o.push(A.createElement("text",{key:"legend-text-"+r,y:a,className:"legend-group-label"},e.label)),a+=10),o.push(A.createElement("g",{key:"legend-group-"+r,className:"legend-item",transform:`translate(0,${a})`},((e,t)=>{const{type:n="fill",styleFn:a,items:o}=e,r=[];let s=0;return o.forEach((e,o)=>{const i=F(e,o,n,a);r.push(A.createElement("g",{key:"legend-item-"+o,transform:`translate(0,${s})`,onClick:t?()=>t(e):void 0,style:{cursor:t?"pointer":"default"}},i,A.createElement("text",{y:15,x:30},e.label))),s+=25}),r})(e,n))),a+=25*e.items.length+10}),o})({legendGroups:t,width:o,customClickBehavior:n}):(({legendGroups:e,title:t,height:n,customClickBehavior:a})=>{let o=0;const r=[],s=!1===t?10:40;return e.forEach((t,i)=>{t.label&&(r.push(A.createElement("text",{key:"legend-text-"+i,transform:`translate(${o},${s}) rotate(90)`,textAnchor:"start",className:"legend-group-label"},t.label)),o+=20);const c=((e,t)=>{const{type:n="fill",styleFn:a,items:o}=e,r=[];let s=0;return o.forEach((e,o)=>{const i=F(e,o,n,a);r.push(A.createElement("g",{key:"legend-item-"+o,transform:`translate(${s},0)`,onClick:t?()=>t(e):void 0,style:{cursor:t?"pointer":"default"}},i,A.createElement("text",{y:15,x:25},e.label))),s+=35,s+=8*e.label.length}),{items:r,offset:s}})(t,a);r.push(A.createElement("g",{key:"legend-group-"+i,className:"legend-item",transform:`translate(${o},${s})`},c.items)),o+=c.offset+5,e[i+1]&&r.push(A.createElement("line",{key:"legend-top-line legend-symbol-"+i,stroke:"gray",x1:o,y1:s-10,x2:o,y2:n+s+10})),o+=15}),A.createElement("g",null,!1!==t&&A.createElement("line",{x1:0,x2:o+10,y1:s-10,y2:s-10,stroke:"gray",className:"title-neatline"}),r)})({legendGroups:t,title:a,height:r,customClickBehavior:n});return A.createElement("g",null,void 0!==a&&A.createElement("text",{className:"legend-title",y:20,x:"horizontal"===s?0:o/2,textAnchor:"horizontal"===s?"start":"middle"},a),i)}function D(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 T(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 R(e){const{x:t=0,y:n=0,dx:a,dy:o,nx:r,ny:s,note:i,connector:c,subject:l,type:d,color:u,className:m,disable:p,events:y={},"data-testid":h}=e,g=new Set(Array.isArray(p)?p:[]);let f=a||0,x=o||0;null!=r&&(f=r-t),null!=s&&(x=s-n);const b="string"==typeof d?d:"label";if("bracket"===b&&l&&0===f&&0===x)if(void 0!==l.width){f=l.width/2;const e=l.depth||30;x=e+(0>e?-5:5)}else if(void 0!==l.height){const e=l.depth||30;f=e+(0>e?-5:5),x=l.height/2}return A.createElement("g",Object.assign({className:("annotation "+(m||"")).trim(),transform:`translate(${t},${n})`,"data-testid":h},y),!g.has("connector")&&function(e,t,n,a,o,r){const s=[];let i=0,c=0;if("callout-circle"!==o&&"label"!==o||!(null==r?void 0:r.radius)){if("callout-rect"===o&&r){const n=r.width||0,a=r.height||0;if(n>0||a>0){const o=n/2,r=a/2,s=e-o,l=t-r;if(0!==s||0!==l){const e=Math.abs(s),t=Math.abs(l),d=n/2,u=a/2,m=e*u>t*d?d/e:u/t;i=o+s*m,c=r+l*m}}}else if("bracket"===o&&r){const e=r.width,t=r.height,n=r.depth||30;void 0!==e?(i=e/2,c=n):void 0!==t&&(i=n,c=t/2)}}else{const n=(r.radius||0)+(r.radiusPadding||0);if(n>0&&(0!==e||0!==t)){const a=Math.atan2(t,e);i=Math.cos(a)*n,c=Math.sin(a)*n}}if(Math.sqrt(Math.pow(e-i,2)+Math.pow(t-c,2))>.5&&(s.push(A.createElement("line",{key:"connector-line",x1:i,y1:c,x2:e,y2:t,stroke:a||"currentColor"})),"arrow"===(null==n?void 0:n.end))){const n=10,o=16/180*Math.PI,r=Math.atan2(t-c,e-i);s.push(A.createElement("path",{key:"connector-arrow",d:`M${i},${c}L${i+n*Math.cos(r+o)},${c+n*Math.sin(r+o)}L${i+n*Math.cos(r-o)},${c+n*Math.sin(r-o)}Z`,fill:a||"currentColor",stroke:"none"}))}return A.createElement("g",{className:"annotation-connector"},s)}(f,x,c,u,b,l),!g.has("subject")&&function(e,t,n,a,o){var r;const s=[];switch(e){case"callout-circle":{const e=((null==t?void 0:t.radius)||0)+((null==t?void 0:t.radiusPadding)||0);e>0&&s.push(A.createElement("circle",{key:"subject-circle",r:e,fill:"none",stroke:n||"currentColor"}));break}case"callout-rect":{const e=(null==t?void 0:t.width)||0,a=(null==t?void 0:t.height)||0;(e>0||a>0)&&s.push(A.createElement("rect",{key:"subject-rect",width:e,height:a,fill:"none",stroke:n||"currentColor"}));break}case"callout-custom":(null==t?void 0:t.custom)&&s.push(...Array.isArray(t.custom)?t.custom:[t.custom]);break;case"xy-threshold":{const e=a||0,r=o||0;if(void 0!==(null==t?void 0:t.x)){const a=(t.x||0)-e;s.push(A.createElement("line",{key:"threshold-line",x1:a,y1:(t.y1||0)-r,x2:a,y2:(t.y2||0)-r,stroke:n||"currentColor",strokeDasharray:"5,5"}))}else if(void 0!==(null==t?void 0:t.y)){const a=(t.y||0)-r;s.push(A.createElement("line",{key:"threshold-line",x1:(t.x1||0)-e,y1:a,x2:(t.x2||0)-e,y2:a,stroke:n||"currentColor",strokeDasharray:"5,5"}))}else void 0!==(null==t?void 0:t.x1)||void 0!==(null==t?void 0:t.x2)?s.push(A.createElement("line",{key:"threshold-line",x1:(t.x1||0)-e,y1:0,x2:(t.x2||0)-e,y2:0,stroke:n||"currentColor",strokeDasharray:"5,5"})):void 0===(null==t?void 0:t.y1)&&void 0===(null==t?void 0:t.y2)||s.push(A.createElement("line",{key:"threshold-line",x1:0,y1:(t.y1||0)-r,x2:0,y2:(t.y2||0)-r,stroke:n||"currentColor",strokeDasharray:"5,5"}));break}case"bracket":{const e=null!==(r=null==t?void 0:t.width)&&void 0!==r?r:null==t?void 0:t.height;void 0!==e&&s.push(A.createElement("path",{key:"bracket-path",d:T((null==t?void 0:t.type)||"curly",e,(null==t?void 0:t.depth)||30,void 0===(null==t?void 0:t.width)),fill:"none",stroke:n||"currentColor"}));break}}return A.createElement("g",{className:"annotation-subject"},s)}(b,l,u,t,n),!g.has("note")&&function(e,t,n,a){if(!e)return A.createElement("g",{className:"annotation-note"});const{label:o,title:r,orientation:s,align:i,wrap:c=120,noWrap:l}=e;if(!o&&!r)return A.createElement("g",{className:"annotation-note"});let d=s;d||(d=Math.abs(t)>Math.abs(n)?"leftRight":"topBottom");let u=i;u&&"dynamic"!==u||(u="topBottom"===d?0>t?"right":"left":0>n?"bottom":"top");let m="start";"topBottom"===d?"right"===u?m="end":"middle"===u&&(m="middle"):m=0>t?"end":"start";const p=16,y=r?l?[r]:D(r,c):[],h=o?l?[o]:D(o,c):[],g="leftRight"===d?"end"===m?-4:4:0;let f=0;const x=[];y.length>0&&(x.push(A.createElement("text",{key:"annotation-note-title",className:"annotation-note-title",fill:a||void 0,textAnchor:m,fontWeight:"bold"},y.map((e,t)=>A.createElement("tspan",{key:t,x:g,dy:0===t?0:p},e)))),f=y.length*p),h.length>0&&x.push(A.createElement("text",{key:"annotation-note-label",className:"annotation-note-label",fill:a||void 0,textAnchor:m,y:f},h.map((e,t)=>A.createElement("tspan",{key:t,x:g,dy:p},e))));let b=null;if((r||o)&&(0!==t||0!==n))if("topBottom"===d){const e=Math.min(c,120);let t=0,n=e;"end"===m?(t=-e,n=0):"middle"===m&&(t=-e/2,n=e/2),b=A.createElement("line",{className:"note-line",x1:t,x2:n,y1:0,y2:0,stroke:a||"currentColor"})}else{const e=(y.length+h.length)*p+(h.length>0?p:0);let t=0,n=e;"bottom"===u?(t=-e,n=0):"middle"===u&&(t=-e/2,n=e/2),b=A.createElement("line",{className:"note-line",x1:0,x2:0,y1:t,y2:n,stroke:a||"currentColor"})}const v=(y.length+h.length)*p+(h.length>0?p:0);let k=0;return"topBottom"===d?0>n&&(k=-v):"leftRight"===d&&("middle"===u?k=-v/2:("bottom"===u||0>n)&&(k=-v)),A.createElement("g",{className:"annotation-note",transform:`translate(${t},${n})`},A.createElement("g",{className:"annotation-note-content",transform:0!==k?`translate(0,${k})`:void 0},x),b)}(i,f,x,u))}function L(e){const{noteData:t}=e,{screenCoordinates:n}=t,a="string"==typeof t.type?t.type:"label",o=t.eventListeners||t.events||{};if(t.coordinates&&n){const e=t.nx||n[0][0]+t.dx,o=t.ny||n[0][1]+t.dy,r=n.map((n,r)=>{const s=Object.assign({},t,{note:0===r?t.note:{label:""},x:n[0],y:n[1],nx:e,ny:o});return A.createElement(R,Object.assign({"data-testid":"semiotic-annotation",key:"multi-annotation-"+r},s,{type:a}))});return A.createElement("g",null,r)}const r=t.note||{title:"none",label:t.label};return A.createElement(R,Object.assign({"data-testid":"semiotic-annotation",key:`${r.label}-${r.title}-${t.i}`,events:o},t,{type:a}))}let[B,V]=function(t){let n=e.createContext(null);return[function({children:a}){let o=e.useMemo(()=>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 A.createElement(n.Provider,{value:o,children:a})},t=>{let a=e.useContext(n);return function(t,n){const[a,o]=e.useState(n);return e.useLayoutEffect(()=>t(()=>o(n)),[t]),a}(null==a?void 0:a.subscribe,()=>t(a.getState()))}]}(e=>({tooltip:null,changeTooltip(t){e(()=>({tooltip:t}))}}));function I(e,t,n){return"number"==typeof n?n:t&&t.find(t=>t.props.orient===e)?50:10}const W=(e,t,n)=>`${e.map(H).join(",")}${JSON.stringify(t)}${n.join(",")}`;function H(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 G(e,t=8,n){const{noteWidth:a=n}=e;let o=a;"number"==typeof a&&(o=()=>a);const r=e.note&&e.note.wrap||120,s=e.note.label||e.note.label||"";return a&&o(e)||(A.default.isValidElement(e.note)?100:Math.min(r,s.length*t))}function _(e,t=8,n=20,a){const{noteHeight: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.title||"";return o&&r(e)||(A.default.isValidElement(e.note)?30:Math.ceil(i.length*t/s)*n+(e.note.label&&e.note.title?n:0))}const Y=(e,t)=>t.map((t,n)=>e.svgAnnotationRule(t,n,e)).filter(e=>null!=e),X=(e,t)=>{let n=t.adjustedAnnotations,a=t.adjustedAnnotationsKey,o=t.adjustableAnnotations,r=t.fixedAnnotations,s=[],i=[];const c=t.adjustedAnnotationsKey,l=t.adjustedAnnotationsDataVersion,{annotations:d,annotationHandling:u=!1,size:m,svgAnnotationRule:p,htmlAnnotationRule:y}=e,h="object"==typeof u?u:{layout:{type:u},dataVersion:""},{dataVersion:g=""}=h;if(p){const t=Y(e,d);a=W(t,h,m),!1===u&&(n=o),n=n.length!==o.length||c!==a||l!==g?((e,t,n)=>{const{layout:a={type:!1,noteHeight:void 0,noteWidth:void 0}}=t;if(!1===a.type)return e;const{noteWidth:o,noteHeight:r}=a;let{margin:s={top:0,bottom:0,left:0,right:0}}=n;const{size:i,axes:c=[]}=n;if(s="number"==typeof s?{top:s,left:s,right:s,bottom:s}:s,"bump"===a.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||z}=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}}),m=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})),p=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,m,p,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,m=t[r].y+2,p=Math.max(0,Math.min(l,x)-Math.max(c,g)),y=Math.max(0,Math.min(m,b)-Math.max(u,f)),h=p*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,m=n[r].y+n[r].r,p=Math.max(0,Math.min(l,x)-Math.max(c,g)),y=Math.max(0,Math.min(m,b)-Math.max(u,f)),h=p*y,o+=30*h;return o},c=function(r){let c,l,d=Math.floor(Math.random()*t.length),u=t[d].x,m=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=m),0>t[d].y&&(t[d].y=m),l=s?e(d,t,n):i(d);let p=l-c;Math.random()<Math.exp(-p/r)||(t[d].x=u,t[d].y=m)},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 m=.5*(Math.random()-.5),p=Math.sin(m),y=Math.cos(m);t[l].x-=n[l].x,t[l].y-=n[l].y;let h,g=t[l].x*p+t[l].y*y;t[l].x=t[l].x*y-t[l].y*p+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,m;return d=(i-s)*(t-e)-(a-n)*(r-o),u=(a-n)*(o-s)-(i-s)*(e-n),m=(t-e)*(o-s)-(r-o)*(e-n),c=u/d,l=m/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 p.label(u),p.anchor(m),p.width(n[0]),p.height(n[1]),p.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}(e,a,i,n.pointSizeFunction,n.labelSizeFunction);if("marginalia"===a.type){const{marginOffset:t,orient:n="nearest",characterWidth:l=8,lineHeight:d=20,padding:u=2,axisMarginOverride:m={}}=a,p="nearest"===n?["left","right","top","bottom"]:Array.isArray(n)?n:[n],y=p.find(e=>"left"===e),h=p.find(e=>"right"===e),g=p.find(e=>"top"===e),f=p.find(e=>"bottom"===e),x=[],b=[],v=[],k=[];for(const t of e){const e=t.props.noteData,n=e.x[0]||e.x,a=e.y[0]||e.y,o=y?n:1/0,r=h?i[0]-n:1/0,s=g?a:1/0,c=Math.min(o,r,s,f?i[1]-a:1/0);o===c?x.push(t):r===c?b.push(t):s===c?v.push(t):k.push(t)}const j=new O.default.Force({minPos:void 0!==m.top?0+m.top:0-s.top,maxPos:void 0!==m.bottom?i[1]-m.bottom:f?i[1]:i[1]+s.bottom}).nodes(x.map(e=>new O.default.Node(e.props.noteData.y[0]||e.props.noteData.y,_(e.props.noteData,l,d,o)+u))).compute(),E=new O.default.Force({minPos:void 0!==m.top?0+m.top:g?0:0-s.top,maxPos:void 0!==m.bottom?i[1]-m.bottom:i[1]+s.bottom}).nodes(b.map(e=>new O.default.Node(e.props.noteData.y[0]||e.props.noteData.y,_(e.props.noteData,l,d,o)+u))).compute(),S=new O.default.Force({minPos:void 0!==m.left?0+m.left:y?0:0-s.left,maxPos:void 0!==m.right?i[0]-m.right:i[0]+s.right}).nodes(v.map(e=>new O.default.Node(e.props.noteData.x[0]||e.props.noteData.x,G(e.props.noteData,l,r)+u))).compute(),M=new O.default.Force({minPos:void 0!==m.left?0+m.left:0-s.left,maxPos:void 0!==m.right?i[0]-m.right:h?i[0]:i[0]+s.right}).nodes(k.map(e=>new O.default.Node(e.props.noteData.x[0]||e.props.noteData.x,G(e.props.noteData,l,r)+u))).compute(),w=Math.max(...k.map(e=>_(e.props.noteData,l,d,o)+u)),C=Math.max(...v.map(e=>_(e.props.noteData,l,d,o)+u)),P=Math.max(...x.map(e=>G(e.props.noteData,l,r)+u)),z=Math.max(...b.map(e=>G(e.props.noteData,l,r)+u)),N=j.nodes(),F=E.nodes(),$=S.nodes(),D=M.nodes();return x.forEach((e,n)=>{const a=0-N[n].layerIndex*P-I("left",c,t),o=N[n].currentPos;e.props.noteData.nx=a,e.props.noteData.ny=o,e.props.noteData.note&&!A.isValidElement(e)&&(e.props.noteData.note.orientation=e.props.noteData.note.orientation||"leftRight",e.props.noteData.note.align=e.props.noteData.note.align||"right")}),b.forEach((e,n)=>{const a=i[0]+F[n].layerIndex*z+I("right",c,t),o=F[n].currentPos;e.props.noteData.nx=a,e.props.noteData.ny=o,e.props.noteData.note&&!A.isValidElement(e)&&(e.props.noteData.note.orientation=e.props.noteData.note.orientation||"leftRight",e.props.noteData.note.align=e.props.noteData.note.align||"left")}),v.forEach((e,n)=>{const a=$[n].currentPos,o=0-$[n].layerIndex*C-I("top",c,t);e.props.noteData.nx=a,e.props.noteData.ny=o}),k.forEach((e,n)=>{const a=D[n].currentPos,o=i[1]+D[n].layerIndex*w+I("bottom",c,t);e.props.noteData.nx=a,e.props.noteData.ny=o}),e}return e})(o,h,e):o.map((e,t)=>{const a=Object.assign(Object.assign({},n[t].props.noteData),e.props.noteData);return A.createElement(L,{key:e.key,noteData:a})}),s=[...n,...r]}return y&&(i=((e,t)=>t.map((t,n)=>e.htmlAnnotationRule(t,n,e)).filter(e=>null!=e))(e,d)),{svgAnnotations:s,htmlAnnotations:i,adjustedAnnotations:n,adjustedAnnotationsKey:a,adjustedAnnotationsDataVersion:g}};function q(t){const{legendSettings:n,margin:a,size:o,annotations:r,annotationHandling:s}=t,i=V(e=>e.tooltip);let c=null!=i?r.concat(i):r,l=V(e=>e.changeTooltip);const d=Object.assign(Object.assign({},t),{annotations:c,voronoiHover:e=>{l(e)}}),u="object"==typeof s?s:{layout:{type:s},dataVersion:""},{dataVersion:m=""}=u,[p,y]=e.useState([]),[h,g]=e.useState([]),[f,x]=e.useState([]),[b,v]=e.useState(""),[k,j]=e.useState(m),E=Y(d,c),S=E.filter(e=>e.props&&e.props.noteData&&!e.props.noteData.fixedPosition),O=W(S,u,o);let M;if(e.useEffect(()=>{const e=E.filter(e=>!e.props||!e.props.noteData||e.props.noteData.fixedPosition),t=X(d,{adjustedAnnotations:p,adjustedAnnotationsKey:b,adjustedAnnotationsDataVersion:k,adjustableAnnotations:S,fixedAnnotations:e});y(t.adjustedAnnotations),v(t.adjustedAnnotationsKey),j(t.adjustedAnnotationsDataVersion),g(t.svgAnnotations),x(t.htmlAnnotations)},[O,m,c.length,c.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 e={left:[15,15],right:[o[0]+15,15]},{position:t="right",title:a="Legend"}=n;M=A.createElement("g",{transform:`translate(${e[t].join(",")})`},A.createElement($,Object.assign({},n,{title:a,position:t})))}return 0!==c.length||n?A.createElement("div",{className:"annotation-layer",style:{position:"absolute",pointerEvents:"none",background:"none"}},A.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"}},A.createElement("g",null,M,h)),A.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"}},f)):null}function K(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 Z=(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}},J=e=>e instanceof Date?e.getTime():e,U=({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,m)=>{l.forEach((l,p)=>{e.forEach(e=>{const y=Object.assign(Object.assign({},e),{xIndex:m,yIndex:p,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},Q=({type:e="stackedarea",data:t,xProp:n,yProp:o,yPropMiddle:r,sort:s,yPropTop:i,yPropBottom:c})=>{const l=new Map,d=t.map(()=>0);let u=0;for(const e of t){e.__lineIndex=u;for(const t of e.data){const e=J(t[n]);d[u]+=t[o],l.has(e)||l.set(e,[]),l.get(e)[u]=t}u++}let m=(e,t)=>d[t.key]-d[e.key];"stackedpercent-invert"!==e&&"stackedarea-invert"!==e||(m=(e,t)=>d[e.key]-d[t.key]),null!==(s=void 0===s?m:s)&&(t=t.sort(s));const p=t.map(e=>e.__lineIndex);for(const[,t]of l){let n=0,s=0;const l=a.sum(t,e=>(null==e?void 0:e[o])>0?e[o]:0),d=a.sum(t,e=>0>(null==e?void 0:e[o])?e[o]:0);for(const a of p){const u=t[a];if(u)if(0>u[o]){if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=u[o]/d;if(u.percent=t,"linepercent"===e)u[c]=u[c]=u[i]=u[r]=t;else{const e=0>d?t:0;u[c]=0===d?0:-n/d,u[i]=u[c]-e,u[r]=u[c]-e/2}}else u[c]=n,u[i]=n+u[o],u[r]=n+u[o]/2;n+=u[o]}else{if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=u[o]/l;if(u.percent=t,"linepercent"===e)u[c]=u[i]=u[r]=t;else{const e=l>0?t:0;u[c]=0===l?0:s/l,u[i]=u[c]+e,u[r]=u[c]+e/2}}else u[c]=s,u[i]=s+u[o],u[r]=s+u[o]/2;s+=u[o]}}}return t},ee=({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},te=({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},ne=({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=J(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 ae({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]}const oe={bottom:"yBottom",top:"yTop"};function re({point:e,projectedY:t,yAccessor:n,yScale:a,showLinePoints:o}){const r=e&&(o&&!0!==o&&void 0!==e[oe[o]]?e[oe[o]]:void 0!==e.yMiddle?e.yMiddle:void 0!==e[t]?e[t]:Z(n,e));return Array.isArray(r)?r.map(e=>a(e)):void 0!==r?a(r):0}function se({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]:Z(a,e));return Array.isArray(r)?r.map(e=>o(e)):void 0!==r?o(r):0}function ie({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(Z(r,e)),l=i.data.find(e=>a(e[o])===c);if(!l)return null;const d=Object.assign(Object.assign(Object.assign(Object.assign({},e),l),l.data),{parentLine:i});return["type","label","note","connector","disabled","color","subject"].forEach(t=>{e[t]&&(d[t]=e[t])}),d}return e}const ce=e=>e.reduce((e,t)=>e.concat(Array.isArray(t)?ce(t.slice().sort((e,t)=>e-t)):t),[]);function le(e=[]){if(!Array.isArray(e))return"not-array";let t=e.slice();return Array.isArray(t[0])||(t=t.slice().sort((e,t)=>e-t)),""+ce(t).map(e=>e instanceof Date&&""+e||void 0!==e&&e.toFixed&&e.toFixed(2)||"empty")}function de(t){const{extent:n,selectedExtent:a}=t,o=e.useRef(null),r=le(n),i=le(a);e.useEffect(()=>{(null==o?void 0:o.current)&&((e,t)=>{const{svgBrush:n,selectedExtent:a}=t;if(s.select(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]]]}s.select(e).call(n.move,t)}})(o.current,t)},[r,i,o]);const{position:c=[0,0]}=t;return A.createElement("g",{transform:`translate(${c})`,ref:o,className:"xybrush"})}const ue="x",me="y",pe="yMiddle",ye="yTop",he="yBottom",ge="xMiddle",fe="xTop",xe="xBottom",be=(e,t)=>void 0===e?e:Object.assign(e&&e.data?Object.assign({points:t},e.data):{points:t},e),ve=(e,t,n,a,o,r)=>{const s=be(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)},ke=(e,t,n,a)=>{const o=be(e,n);t&&t(o,a)},je=(e,t,n,a)=>{const o=be(e,n);t&&t(o,a)},Ee=(e,t,n,a,o)=>{o&&o.start&&o.start(e,t,n,a)},Se=(e,t,n,a,o)=>{o&&o.during&&o.during(e,t,n,a)},Ae=(e,t,n,a,o)=>{o&&o.end&&o.end(e,t,n,a)},Oe=()=>({}),Me=2*Math.PI,we=(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},Ce=({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 Pe(){const e=n.line();let t=function(e){return e.x},a=function(e){return e.y},o=function(e){return e.r},r=n.curveLinearClosed;function s(n){if(n.multiple){const s=o,i=n.multiple.reduce((e,t)=>e+t.weight,0);o=()=>i;let l=c(n.points).filter(e=>"forward"===e.direction).reduce(we(),[]);const d=[];return n.multiple.forEach((e,t)=>{o=()=>e.weight;const a=c(l);d.push(a);const r=n.multiple[t+1];if(r){const e=a.reverse().filter(e=>"back"===e.direction).reduce(we(),[]);o=()=>r.weight;const t=c(e);l=t.reverse().filter(e=>"back"===e.direction).reduce(we(),[])}}),o=s,d.map(n=>e.x(t).y(a).curve(r)(n))}const s=c(n).reduce(we(),[]);return e.x(t).y(a).curve(r)(s)}return s.x=function(e){return arguments.length?(t=e,s):t},s.y=function(e){return arguments.length?(a=e,s):a},s.r=function(e){return arguments.length?(o=e,s):o},s.interpolate=function(e){return arguments.length?(r=e,s):r},s;function i(e){const n=a(e.target)-a(e.source),r=t(e.target)-t(e.source),s=Math.atan2(r,n)+Math.PI/2,i=s+.5*Math.PI,c=s+.5*Math.PI;return{x1:t(e.source)+o(e.source)*Math.cos(i),y1:a(e.source)-o(e.source)*Math.sin(i),x2:t(e.target)+o(e.target)*Math.cos(c),y2:a(e.target)-o(e.target)*Math.sin(c)}}function c(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=i({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=l(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=i({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=l(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 l(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 m=(n-e)*c-(a-t)*l;return c=((s-o)*c-(i-r)*l)/u,l=m/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 ze=({xy:e,orient:t,i:n,className:a="",jaggedBase:o})=>{let r=`M${e.x1},${e.y1}L${e.x2},${e.y2}`;return o&&0===n&&(r=((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})(t,e)),A.createElement("path",{key:n,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:r,className:`tick-line tick ${t} ${a}`})};function Ne(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 Fe({renderMode:e=()=>{},padding:t=5,scale:n,ticks:a,tickValues:o=Ne(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,m,p,y,h,g=[],f=0,x=0,b="middle";switch(r){case"top":d="x1",u="x2",m="y1",p="y2",g=[0,c],y="tx",h="ty",f-=20-t;break;case"bottom":d="x1",u="x2",m="y2",p="y1",g=s?[s[1],s[1]-c]:[0,-c],y="tx",h="ty",f+=20+t;break;case"right":d="y2",u="y1",m="x2",p="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",m="x1",p="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,[m]:g[0],[p]:g[1],[y]:o+x,[h]:g[0]+f,defaultAnchor:b,renderMode:e(t,a),value:t}})}const $e=(e,t,n)=>{const a={left:{x:0,y:0,width:0,height:t?t[1]:0},right:{x:t?t[0]:0,y:0,width:0,height:t?t[1]:0},top:{x:0,y:0,width:t?t[0]:0,height:0},bottom:{x:0,y:t?t[1]:0,width:t?t[0]:0,height:0}}[e];return A.createElement("line",{key:"baseline",className:"axis-baseline "+n,stroke:"currentColor",strokeLinecap:"square",x1:a.x,x2:a.x+a.width,y1:a.y,y2:a.y+a.height})},De=({axisParts:e,orient:t,tickLineGenerator:n=ze,className:a,jaggedBase:o,scale:r,showOutboundTickLines:s=!1})=>{const i=e.map((e,s)=>n({xy:e,orient:t,i:s,className:a,jaggedBase:o,scale:r})),c=s?e.map((e,n)=>(({xy:e,orient:t,i:n,className:a=""})=>{let o=`M-4,${e.y1}L${e.x1},${e.y2}`;return"left"===t?o=`M${e.x1-8},${e.y1}L${e.x1},${e.y2}`:"right"===t?o=`M${e.x2},${e.y1}L${e.x2+8},${e.y2}`:"top"===t?o=`M${e.x1},${e.y1-8}L${e.x1},${e.y1}`:"bottom"===t&&(o=`M${e.x1},${e.y2}L${e.x1},${e.y2+8}`),A.createElement("path",{key:n,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:o,className:`outbound-tick-line tick ${t} ${a}`})})({xy:e,orient:t,i:n,className:a})):[];return[...i,c]};function Te({t:e,o:t,w:n}){return"contour"!==e&&"boxplot"!==e||"left"!==t&&"right"!==t?0:n/2}function Re({t:e,o:t,w:n}){return"contour"!==e&&"boxplot"!==e||"top"!==t&&"bottom"!==t?0:n/2}function Le(e){const{translation:t,orient:n,decoratedSummaryType:a,summaryWidth:o,renderedSummary:r,points:s}=e;return A.default.createElement("g",{className:"marginal-graphics",transform:`translate(${t[n]})`},A.default.createElement("g",{transform:`translate(${Te({t:a.type,o:n,w:o})},${Re({t:a.type,o:n,w:o})})`},r),s)}function Be(e){const{className:t,translation:n,position:a,rotation:o,labelName:r,anchorMod:s}=e;return A.default.createElement("g",{className:"axis-title "+t,transform:`translate(${[n[0]+a[0],n[1]+a[1]]}) rotate(${o})`},A.default.isValidElement(r)?r:A.default.createElement("text",{textAnchor:s},r))}function Ve(e,t,n){const a=Math.PI*(t+.75)*2;return[e[0]+n*Math.cos(a),e[1]+n*Math.sin(a)]}const Ie=({data:e,shouldRender:t,canvasRender:n,canvasDrawing:a,styleFn:o,classFn:r,renderKeyFn:s,ariaLabel:i,axis:c})=>{const l=c&&c[0]&&c[0].tickFormat;if(!t)return null;const d=[];return e.forEach((e,t)=>{if(n&&!0===n(e))a.push({baseClass:"orframe-piece",tx:e.tx||0,ty:e.ty||0,d:e.piece,i:t,markProps:e.renderElement||e,styleFn:o,renderFn:()=>e.renderValue,classFn:r});else if(A.isValidElement(e.renderElement||e))d.push(e.renderElement||e);else{const n=i?`${e.o} ${i.items} value ${l&&l(e.piece.value)||e.piece.value}`:"",a=s?s(e.piece):e.renderKey||"piece-render-"+t,o=e.renderElement||e,{markType:r,style:c={}}=o,u=K(o,["markType","style"]),m=Object.assign(Object.assign({},u),{key:a,"aria-label":n});void 0!==c.fill&&(m.fill=c.fill),void 0!==c.stroke&&(m.stroke=c.stroke),void 0!==c.strokeWidth&&(m.strokeWidth=c.strokeWidth),void 0!==c.opacity&&(m.opacity=c.opacity),void 0!==c.fillOpacity&&(m.fillOpacity=c.fillOpacity),void 0!==c.strokeOpacity&&(m.strokeOpacity=c.strokeOpacity);const p=Object.assign({},c);delete p.fill,delete p.stroke,delete p.strokeWidth,delete p.opacity,delete p.fillOpacity,delete p.strokeOpacity,Object.keys(p).length>0&&(m.style=p),r&&d.push(A.createElement(r,m))}}),d},We=()=>({});function He(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 Ge(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 _e(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,m,p=i-1;a[0].length-1>t&&(p=Math.min(p,o[n][t+1]||0));for(var y=p;y>=c&&(l=Ge(y,i,r,s))+a[n-1][c-1]<a[n][i];--y)d=Ge(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]>(m=l+a[n-1][y-1])&&(a[n][i]=m,o[n][i]=y);_e(e,i-1,n,a,o,r,s),_e(i+1,t,n,a,o,r,s)}}function Ye({summaryType:e,data:t,finalXExtent:n,finalYExtent:a}){let r=[];e.type||(e={type:e});const{resolution:s=500,thresholds:i=10,bandwidth:l=20,neighborhood:d}=e,u=o.scaleLinear().domain(n).rangeRound([0,s]).nice(),m=o.scaleLinear().domain(a).rangeRound([s,0]).nice();return t.forEach(e=>{let t=c.contourDensity().size([s,s]).x(e=>u(e[0])).y(e=>m(e[1])).thresholds(i).bandwidth(l)(e._xyfCoordinates);d&&(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=>[u.invert(e[0]),m.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]))})})}),r=[...r,...t]}),r}function Xe({preprocess:e=!0,processedData:t=!1,summaryType:n,data:a,finalXExtent:r,finalYExtent:s,size:i,xScaleType:c=o.scaleLinear(),yScaleType:l=o.scaleLinear(),margin:d,styleFn:u,classFn:m,renderFn:y,chartSize:h}){let g=r,f=s;if(!g){const e=a.coordinates.map(e=>e.x);g=[Math.min(...e),Math.max(...e)]}if(!f){const e=a.coordinates.map(e=>e.y);f=[Math.min(...e),Math.max(...e)]}if(t&&a)return a.coordinates;let x,b=[];x=n.type?n:{type:x};const{bins:v=.05,cellPx:k,binValue:j=e=>e.length,binMax:E,customMark:S}=x;a.coordinates&&!a._xyfCoordinates&&(a._xyfCoordinates=a.coordinates.map(e=>[e.x,e.y]));const O=Array.isArray(a)?a:[a],M=c.domain(g).range([0,i[0]]),w=l.domain(f).range([0,i[1]]),C=k&&k/2||(v>1?1/v:v)*i[0]/2,P=p.hexbin().x(e=>M(e._xyfPoint[0])).y(e=>w(e._xyfPoint[1])).radius(C).size(i);let z;const N=P.centers();return O.forEach(e=>{z=0;const t=P(e._xyfCoordinates.map((t,n)=>Object.assign({_xyfPoint:t},e.coordinates[n]))),n={};t.forEach(e=>{n[`${parseInt(e.x)}-${parseInt(e.y)}`]=!0}),N.forEach(e=>{if(!n[`${parseInt(e[0])}-${parseInt(e[1])}`]){const n=[];n.x=e[0],n.y=e[1],t.push(n)}}),z=Math.max(...t.map(e=>j(e))),E&&E(z);const a=[[0,-1],[.866,-.5],[.866,.5],[0,1],[-.866,.5],[-.866,-.5]],o=M.invert(C)-g[0],r=w.invert(C)-f[0],s=a.map(e=>[e[0]*o,e[1]*r]),c=t.map(t=>{const n=j(t),o=t.x,r=t.y;t.x=M.invert(t.x),t.y=w.invert(t.y);const c=n/z;return{customMark:S&&A.createElement("g",{transform:`translate(${o},${i[1]-r})`},S({d:Object.assign(Object.assign({},t),{binItems:t,percent:c,value:n,radius:C,hexCoordinates:a.map(e=>[e[0]*C,e[1]*C])}),margin:d,styleFn:u,classFn:m,renderFn:y,chartSize:h,adjustedSize:i})),_xyfCoordinates:s.map(e=>[e[0]+t.x,e[1]+t.y]),value:n,percent:c,data:t,parentSummary:e,centroid:!0}});b=[...b,...c]}),e?(b.forEach(e=>{e.x=e.data.x,e.y=e.data.y}),{type:"hexbin",processedData:!0,coordinates:b,binMax:z}):b}const qe=(e,t,n,a)=>[...e.map((e,a)=>[e[0],e[1]+n(t[a])]),...e.map((e,n)=>[e[0],e[1]-a(t[n])]).reverse()];function Ke({preprocess:e=!0,processedData:t=!1,summaryType:n,data:a,finalXExtent:r=[Math.min(...a.coordinates.map(e=>e.x)),Math.max(...a.coordinates.map(e=>e.x))],finalYExtent:s=[Math.min(...a.coordinates.map(e=>e.y)),Math.max(...a.coordinates.map(e=>e.y))],size:i,xScaleType:c=o.scaleLinear(),yScaleType:l=o.scaleLinear(),margin:d,styleFn:u,classFn:m,renderFn:p,chartSize:y}){if(t&&a)return a.coordinates;a.coordinates&&!a._xyfCoordinates&&(a._xyfCoordinates=a.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(a)?a:[a];let g,f=[];g=n.type?n:{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:S}=g,O=1>b?b:1/b,M=1>v?v:1/v,w=c.domain(r).range([0,i[0]]),C=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]||M)*i[1]*10)/10];let z=-1/0;return h.forEach(e=>{const t=[],n=[];let a,o;for(let r=0;i[0]>Math.ceil(r);r+=P[0]){const s=w.invert(r),c=w.invert(r+P[0]);o=[],t.push(o);for(let t=0;i[1]>Math.ceil(t);t+=P[1]){const i=C.invert(t),l=C.invert(t+P[1]);a={gx:r,gy:t,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:e},o.push(a),n.push(a)}o.push(a)}t.push(o),e._xyfCoordinates.forEach((n,a)=>{const o=w(n[0]),r=C(n[1]),s=Math.floor(o/P[0]),i=Math.floor(r/P[1]);t[s][i]&&t[s][i].binItems.push(e.coordinates[a])}),n.forEach(e=>{e.value=x(e.binItems),z=Math.max(z,e.value)}),n.forEach(e=>{e.percent=e.value/z,e.customMark=E&&A.createElement("g",{transform:`translate(${e.gx},${e.gy})`},E({d:e,margin:d,styleFn:u,classFn:m,renderFn:p,chartSize:y,adjustedSize:i}))}),f=[...f,...n]}),S&&S(z),e?{type:"heatmap",processedData:!0,_baseData:[],_xyfCoordinates:[],data:[],bounds:[],x:0,y:0,coordinates:f,binMax:z}:f}function Ze(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 Je=e=>[e.xy.x,e.xy.y],Ue={step:n.curveStep,stepbefore:n.curveStepBefore,stepafter:n.curveStepAfter,cardinal:n.curveCardinal,basis:n.curveBasis,linear:n.curveLinear,catmullrom:n.curveCatmullRom,monotone:n.curveMonotoneY,monotonex:n.curveMonotoneX,monotoney:n.curveMonotoneY,natural:n.curveNatural};function Qe({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:m}=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[m]))),e.defined(n?(e,t)=>n(e,t):e=>!e._xyFrameUndefined)}function et({xScale:e,yScale:t,canvasDrawing:n,data:a,projectedCoordinateNames:o,customMark:r,canvasRender:s,styleFn:i,classFn:c,renderKeyFn:l,renderMode:d,showLinePoints:u}){const{y:m,x:p,xMiddle:y,yMiddle:h,yTop:g,yBottom:f}=o,x={top:g,bottom:f}[!0===u?void 0:u],b=[];return a.forEach((a,o)=>{const u=e(void 0!==a[y]?a[y]:a[p]),g=t(void 0!==a[x]?a[x]:void 0!==a[h]?a[h]:a[m]),f=`Point at x ${a.x} and y ${a.y}`,v=r?A.isValidElement(r)?r:r({d:a.data,xy:a,i:o,xScale:e,yScale:t}):void 0,k=r?Object.assign(Object.assign({},v.props),{"aria-label":f}):{key:"piece-"+o,markType:"circle",r:2,"aria-label":f};!v||!v.props||v.props.markType||s&&!0===s(a.data,o)?s&&!0===s(a.data,o)?n.push({type:"point",baseClass:"frame-piece",tx:u,ty:g,d:a,i:o,markProps:k,styleFn:i,renderFn:d,classFn:c}):(Array.isArray(a[m])?a[m].map(e=>t(e)):[g]).forEach((t,n)=>{(Array.isArray(a[p])?a[p].map(t=>e(t)):[u]).forEach((e,r)=>{b.push(at({baseClass:"frame-piece",tx:e,ty:t,d:a.data&&Object.assign(Object.assign({},a),a.data)||a,i:0===n&&0===r?o:`${o}-${n}-${r}`,markProps:k,styleFn:i,renderKeyFn:l,classFn:c,yi:n}))})}):b.push(A.createElement("g",{transform:`translate(${u},${g})`,key:l?l(a.data,o):"custom-point-mark-"+o,style:i?i(a.data,o):{},className:c?c(a.data,o):""},v))}),b}function tt({xScale:e,yScale:t,canvasDrawing:a,data:o,projectedCoordinateNames:r,customMark:s,canvasRender:i,styleFn:c,classFn:l,renderMode:d,renderKeyFn:u,type:m,defined:p,ariaLabel:y,axesData:h=[]}){const g=h.find(e=>"bottom"===e.orient||"top"===e.orient),f=h.find(e=>"left"===e.orient||"right"===e.orient),x=g&&g.tickFormat||(e=>e),b=f&&f.tickFormat||(e=>e),v="object"==typeof m?m:{type:m},k="string"==typeof v.interpolator?Ue[v.interpolator]:v.interpolator||n.curveLinear,j=v.simpleLine?n.line():n.area();Qe({projectedCoordinateNames:r,defined:p,interpolator:k,generator:j,xScale:e,yScale:t,simpleLine:v.simpleLine});const E=k.dynamicInterpolator&&((a,o)=>{const s=n.area();return Qe({projectedCoordinateNames:r,defined:p,interpolator:k.dynamicInterpolator(a,o),generator:s,xScale:e,yScale:t,simpleLine:v.simpleLine}),s})||(()=>j),S=[];if(o.forEach((o,m)=>{const h=o.data.map(e=>Object.assign(Object.assign({},e.data),e));if(s&&"function"==typeof s){const n=Object.assign(Object.assign({},o),{data:h});S.push(s({d:n,i:m,xScale:e,yScale:t,canvasDrawing:a}))}else{const s={};v.simpleLine&&(s.fill="none",s.stroke="black");const g=E(o,m)(h),f=Object.assign(Object.assign({},s),{markType:"path",d:g,"aria-label":o.data&&o.data.length>0&&y&&`${o.data.length} point ${y.items} starting value ${b(o.data[0].y)} at ${x(o.data[0].x)} ending value ${b(o.data[o.data.length-1].y)} at ${x(o.data[o.data.length-1].x)}`});if(i&&!0===i(o,m))a.push({type:"line",baseClass:"xyframe-line",tx:0,ty:0,d:o,i:m,markProps:f,styleFn:c,renderFn:d,classFn:l});else{let a=c;if("area"===v.type&&!0!==v.enclosed&&(a=(e,t)=>Object.assign(Object.assign({},c(e,t)),{stroke:"none"})),S.push(at({baseClass:"xyframe-line",d:o,i:m,markProps:f,styleFn:a,renderKeyFn:u,classFn:l})),"area"===v.type&&!0!==v.enclosed){const a=(e,t)=>Object.assign(Object.assign({},c(e,t)),{fill:"none"}),s=n.line();Qe({projectedCoordinateNames:r,defined:p,interpolator:k,generator:s,xScale:e,yScale:t,simpleLine:!0});const i=Object.assign(Object.assign({},f),{d:s(h)}),d=u?(e,t,n)=>u(e,t,n)+"-top":void 0;S.push(at({baseClass:"xyframe-line-top",d:o,i:m,markProps:i,styleFn:a,renderKeyFn:d,classFn:l}))}}}}),"difference"===v.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=n.line();Qe({projectedCoordinateNames:r,defined:p,interpolator:k,generator:c,xScale:e,yScale:t,simpleLine:!0});const d=A.createElement("path",{key:"xyline-diff-a",className:i+" difference-overlay-a",d:c(a),style:{fill:"none",pointerEvents:"none"}});S.push(d);const u=A.createElement("path",{key:"xyline-diff-b",className:i+" difference-overlay-b",d:c(s),style:{fill:"none",pointerEvents:"none"}});S.push(u)}return S}function nt({xScale:e,yScale:t,canvasDrawing:a,data:o,canvasRender:r,styleFn:s,classFn:i,renderKeyFn:c,renderMode:l,customMark:d}){const u=i||(()=>""),m=s||(()=>({})),p=l;Array.isArray(o)||(o=[o]);const y=[];return o.forEach((o,s)=>{let i="xyframe-summary";u&&(i="xyframe-summary "+u(o));let l="",h=!1;if("string"==typeof o.customMark||A.isValidElement(o.customMark))l=o.customMark,h=!0;else if("MultiPolygon"===o.type)o.coordinates.forEach(n=>{n.forEach(n=>{l+=`M${n.map(n=>`${e(n[0])},${t(n[1])}`).join("L")}Z `})});else if(d){const n=o._xyfCoordinates.map(n=>[e(n[0]),t(n[1])]);l=d({d:o,i:s,classFn:u,styleFn:m,renderFn:p,projectedCoordinates:n,xScale:e,yScale:t,bounds:Ze(n)}),h=!0}else{const a=o._xyfCoordinates;if(o.curve){const r=n.line().x(t=>e(t[0])).y(e=>t(e[1])).curve(o.curve);l=r(a)}else l=`M${a.map(n=>`${e(n[0])},${t(n[1])}`).join("L")}Z`}const g=c?c(o,s):"summary-"+s;h&&A.isValidElement(l)?y.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:m,renderFn:p,classFn:()=>i}):y.push(A.createElement("path",{"data-testid":"xyframe-summary",key:g,className:i,d:l,style:m(o,s)}))}),y}function at({tx:e,ty:t,d:n,i:a,markProps:o,styleFn:r,classFn:s,renderKeyFn:i,baseClass:c,yi:l}){if(o.style=r?r(n,a,l):{},o.className=c,o.key=i?i(n,a,l):`${c}-${void 0===n.key?a:n.key}`,(e||t)&&(o.transform=`translate(${e||0},${t||0})`),s&&(o.className=`${c} ${s(n,a,l)}`),o.style.r&&(o.r=o.style.r),o["data-testid"]=c,!o.markType)return A.createElement(o);const{markType:d}=o,u=K(o,["markType"]);return A.createElement(d,u)}const ot=(e,t)=>e.xy.y-t.xy.y,rt=(e,t)=>t.xy.x-e.xy.x,st=()=>({});function it({summary:e,summaryI:t,axisSettings:n,axisCreator:a,projection:r,actualMax:s,adjustedSize:i,columnWidth:c}){let l=`translate(${e.x},0)`,d=[0,s];"horizontal"===r?(l=`translate(0,${e.x})`,d=[s,0]):"radial"===r&&(l="translate(0, 0)"),n.size=["horizontal"===r?i[0]:c,"vertical"===r?i[1]:c];const u=a(n,t,o.scaleLinear().domain(d).range([0,c]));return A.createElement("g",{className:"summary-axis",key:"summaryPiece-axis-"+t,transform:l},u)}function ct({data:e,type:t,eventListenersGenerator:o,styleFn:r,classFn:s,projection:i,adjustedSize:c,chartSize:l,axisCreator:d}){const u=[],m=[],p=t.bins||25,y=!!t.relative&&{},h=t.binValue||(e=>e.length),g=t.elementStyleFn||st;let f;t.axis&&(t.axis.orient="horizontal"===i&&-1===["left","right"].indexOf(t.axis.orient)?"left":t.axis.orient,t.axis.orient="vertical"===i&&-1===["bottom","top"].indexOf(t.axis.orient)?"bottom":t.axis.orient,f=d,"radial"===i&&(console.error("Summary axes cannot be drawn for radial histograms"),f=()=>null));let x=l/p;const b=Object.keys(e);let v=0;const k=a.histogram(),j=[0,l],E=[];for(let e=0;p>e;e++)E.push(j[0]+e/p*l);const S="vertical"===i?e=>e.piece.scaledVerticalValue:e=>e.piece.scaledValue,A=k.domain(j).thresholds(E).value(S),O=b.map((n,o)=>{const r=e[n],s=r.xyData,c=s.sort("vertical"===i?ot:rt);let d;if(!1===t.useBins){const e=c.map(e=>S(e));d=c.map((t,n)=>{const a=[];return a.x0=e[n]-1,a.x1=e[n]+1,a.push(t),a}).sort((e,t)=>e.x0-t.x0),x=l/d.length}else d=A(c);d=d.map(e=>({y:e.x0,y1:e.x1-e.x0,pieces:e,value:h(e.map(e=>e.piece.data))})),"histogram"!==t.type&&"heatmap"!==t.type||(d=d.filter(e=>0!==e.value));const u=0===d.length?0:a.max(d.map(e=>e.value));return y&&(y[n]=u),v=Math.max(v,u),{bins:d,summary:r,summaryI:o,thisSummaryData:s}}),M=t.horizon?v/t.horizon:t.numHorizons||4,w=t.horizon||v/M;return O.forEach(({bins:e,summary:l,summaryI:d,thisSummaryData:p})=>{const b=o(l,d),k=l.width;let j=p[0]?r(p[0].piece.data,d):{},E=p[0]?s(p[0].piece.data,d):"",S=[l.middle,0];"horizontal"===i?S=[x,l.middle]:"radial"===i&&(S=[c[0]/2,c[1]/2]);const A=y&&y[l.name]||v;if("heatmap"===t.type||"histogram"===t.type){const a=(({bins:e,binMax:t,relativeBuckets:a,columnWidth:o,projection:r,adjustedSize:s,summaryI:i,summary:c,summaryStyle:l,type:d})=>{const u=[],m=[],p=a&&a[c.name]||t,y=d.elementStyleFn||Oe,h=d.padding||0;return e.forEach((e,t)=>{const a=e.value/p,g=y(e.value,a,e.pieces),f=Object.assign("heatmap"===d.type?{opacity:a,fill:l.fill}:Object.assign({},l),g),x=Math.max(1,e.y1-2*h),b="heatmap"===d.type?o:o*a;let v=e.y+h,k="heatmap"===d.type||d.flip?-o/2:o/2-b,j=x,E=b,S="heatmap"===d.type?b/2:b,A=e.y1/2;if("horizontal"===r)v="heatmap"===d.type||d.flip?-o/2:o/2-b,k=e.y-e.y1+h,j=b,E=x,A="heatmap"===d.type?b/2:b,S=e.y1/2;else if("radial"===r){const o=n.arc().innerRadius(e.y/2).outerRadius((e.y+e.y1)/2),r=c.pct-c.pct_padding;let l=c.pct_middle-c.pct_padding,p="heatmap"===d.type?l+r:l+r*a;l*=Me,p*=Me;const y=s[0]/2,h=s[1]/2,g=`translate(${y},${h})`,x=o.centroid({startAngle:l,endAngle:p});m.push({key:c.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:x[0]+y,y:x[1]+h}),u.push({markType:"path",transform:g,key:`groupIcon-${i}-${t}`,d:o({startAngle:l,endAngle:p}),style:f})}"radial"!==r&&(m.push({key:c.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:k+S,y:v+A}),u.push({markType:"rect",key:`groupIcon-${i}-${t}`,x:k,y:v,height:j,width:E,style:f}))}),{marks:u,points:m}})({bins:e,binMax:v,relativeBuckets:y,columnWidth:k,projection:i,adjustedSize:c,summaryI:d,summary:l,summaryStyle:j,type:t}),o=a.marks;"radial"===i&&(S=[0,0]),t.axis&&"histogram"===t.type&&u.push({type:"svg-only-mark",Mark:it({summary:l,summaryI:d,axisSettings:t.axis,axisCreator:f,projection:i,actualMax:A,adjustedSize:c,columnWidth:k})}),a.points.forEach(e=>{e.x+=S[0],e.y+=S[1]}),m.push(...a.points),u.push({containerProps:Object.assign(Object.assign({},b),{transform:`translate(${S})`,className:E,key:"summaryPiece-"+d,role:"img",tabIndex:-1,"data-o":l.name,"aria-label":`${l.name} ${t.type}`}),elements:o})}else if("violin"===t.type){const{iqr:o}=t,c=t.subsets||[!1],y=[];e[0].y=e[0].y-x/2,e[e.length-1].y=e[e.length-1].y+x/2,c.forEach((c,u)=>{let f=e;c&&(j=p[0]?r(p[0].piece.data,d,u):{},E=p[0]?s(p[0].piece.data,d,u):"",f=e.map(e=>{const t=e.pieces.filter((e,t)=>c(e.piece,t)).map(e=>e),n=h(t);return Object.assign(Object.assign({},e),{pieces:t,value:n})}));let v=n.area().curve(t.curve||n.curveCatmullRom),O=[];if("horizontal"===i)f.forEach(e=>{const t=e.y-x/2,n=e.value/A*k/2;O.push({x:t,y0:-n,y1:n}),m.push({key:l.name,x:t+S[0],y:n+S[1],pieces:e.pieces.map(e=>e.piece),value:e.value})}),v.x(e=>e.x).y0(e=>e.y0).y1(e=>e.y1).defined((e,t)=>0!==e.y0||O[t-1]&&0!==O[t-1].y0||O[t+1]&&0!==O[t+1].y0);else if("vertical"===i)f.forEach(e=>{const t=e.y+x/2,n=e.value/A*k/2;O.push({y:t,x0:-n,x1:n}),m.push({key:l.name,x:n+S[0],y:t+S[1],pieces:e.pieces.map(e=>e.piece),value:e.value})}),v.y(e=>e.y).x0(e=>e.x0).x1(e=>e.x1).defined((e,t)=>0!==e.x0||O[t-1]&&0!==O[t-1].x0||O[t+1]&&0!==O[t+1].x0);else if("radial"===i){const e=l.pct-l.pct_padding/2,t=l.pct_middle;O=f,v=n=>{const a=[],o=[];return n.forEach(n=>{const r=Ve([0,0],t+e*n.value/A/2,(n.y+n.y1-x/2)/2),s=Ve([0,0],t-e*n.value/A/2,(n.y+n.y1-x/2)/2);m.push({key:l.name,x:s[0]+S[0],y:s[1]+S[1],pieces:n.pieces.map(e=>e.piece),value:n.value}),m.push({key:l.name,x:r[0]+S[0],y:r[1]+S[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(y.push(Object.assign(Object.assign({},b),{transform:`translate(${S})`,key:`summaryPiece-${d}-${u}`,markType:"path",className:E,style:j,d:v(O),role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"})),o){let e=[];f.forEach(t=>{e.push(...t.pieces)}),e=e.map(e=>"vertical"===i?e.piece.scaledVerticalValue:e.piece.scaledValue).sort((e,t)=>e-t);const t=[a.quantile(e,.25),a.quantile(e,.5),a.quantile(e,.75)],n="vertical"===i?(e,t,n)=>`M${n[0]},${e}L${n[0]},${t}`:(e,t,n)=>`M${e},${n[1]}L${t},${n[1]}`;y.push(Object.assign(Object.assign({},b),{key:`summaryPiece-${d}-${u}-iqr-line`,markType:"path",className:E,style:Object.assign(Object.assign({stroke:"black",strokeWidth:"2px"},j),g("iqr")),d:n(t[0],t[2],S),role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"})),y.push(Object.assign(Object.assign({},b),{key:`summaryPiece-${d}-${u}-iqr-median`,markType:"circle",className:E,style:Object.assign(Object.assign({stroke:"black",fill:"black",strokeWidth:"1px",r:"3px"},j),g("median")),cx:"vertical"===i?S[0]:t[1],cy:"vertical"===i?t[1]:S[1],role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"}))}}),u.push({elements:y})}else if("ridgeline"===t.type){const a=Object.assign({},e[0],{value:0}),o=Object.assign({},e[e.length-1],{value:0});a.y=a.y-x/2,o.y=o.y+x/2;const r=[a,...e,o];let s=[];const p=t.curve||t.interpolator,y="string"==typeof p?Ue[p]:p;let h=n.line().curve(y||n.curveCatmullRom).x(e=>e.x).y(e=>e.y);const g=t.amplitude||0;if(t.axis&&"histogram"===t.type&&u.push({type:"svg-only-mark",Mark:it({summary:l,summaryI:d,axisSettings:Object.assign({baseline:!1},t.axis),axisCreator:f,projection:i,actualMax:A,adjustedSize:c,columnWidth:k})}),"horizontal"===i)r.forEach((e,n)=>{const a=e.y-x/2,o=t.flip?e.value/A*(k+g)-k/2:-e.value/A*(k+g)+k/2;s.push({y:o,x:a}),0!==n&&n!==r.length-1&&m.push({key:l.name,x:a+S[0],y:o+S[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("vertical"===i)r.forEach(e=>{const n=e.y+x/2,a=!0===t.flip?e.value/A*(k+g)-k/2:-e.value/A*(k+g)+k/2;s.push({y:n,x:a}),m.push({key:l.name,x:a+S[0],y:n+S[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("radial"===i){const e=l.pct-l.pct_padding/2,t=l.pct_start+l.pct_padding/2;S=[0,0],s=r,h=n=>{const a=[];return n.forEach(n=>{const o=Ve([c[0]/2,c[1]/2],t+e*n.value/A,(n.y+n.y1-x/2)/2);m.push({key:l.name,x:o[0]+S[0],y:o[1]+S[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&&u.push({type:"svg-only-mark",Mark:it({summary:l,summaryI:d,axisSettings:t.axis,axisCreator:f,projection:i,actualMax:A,adjustedSize:c,columnWidth:k})}),u.push({elements:[Object.assign(Object.assign({},b),{transform:`translate(${S})`,key:"summaryPiece-"+d,markType:"path",className:E,style:j,d:h(s),role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"})]})}else if("horizon"===t.type){const o=Object.assign({},e[0],{value:0}),r=Object.assign({},e[e.length-1],{value:0});o.y=o.y-x/2,r.y=r.y+x/2;const s=[o,...e,r];let p=[],y=!0,h=0;for(;!0===y;){const e=s.map(e=>Object.assign(Object.assign({},e),{value:Math.max(0,Math.min(e.value-h,w))}));p.push(e.map(e=>Object.assign(Object.assign({},e),{value:e.value*M}))),h+=w,a.max(e.map(e=>e.value))<w&&(y=!1)}p=p.filter(e=>a.sum(e,e=>e.value)>0),s.forEach((e,n)=>{0!==n&&n!==s.length-1&&("horizontal"===i?m.push({key:l.name,x:e.y-x/2+S[0],y:-e.value/A*k+k/2+S[1],pieces:e.pieces.map(e=>e.piece),value:e.value}):"vertical"===i&&m.push({key:l.name,x:(!0===t.flip?e.value/A*k-k/2:-e.value/A*k+k/2)+S[0],y:e.y+x/2+S[1],pieces:e.pieces.map(e=>e.piece),value:e.value}))});const v=p.map((e,a)=>{let o=[];const r=t.curve||t.interpolator,s="string"==typeof r?Ue[r]:r;let u=n.line().curve(s||n.curveLinear).x(e=>e.x).y(e=>e.y);if("horizontal"===i)e.forEach(e=>{o.push({y:-e.value/A*k+k/2,x:e.y-x/2})});else if("vertical"===i)e.forEach(e=>{o.push({y:e.y+x/2,x:!0===t.flip?e.value/A*k-k/2:-e.value/A*k+k/2})});else if("radial"===i){const t=l.pct-l.pct_padding/2,n=l.pct_start+l.pct_padding/2;S=[0,0],o=e,u=e=>{const a=[];return e.forEach(e=>{const o=Ve([c[0]/2,c[1]/2],n+t*e.value/A,(e.y+e.y1-x/2)/2);a.push(o)}),`M${a.map(e=>e.join(",")).join("L")}Z`}}return Object.assign(Object.assign({},b),{transform:`translate(${S})`,key:`summaryPiece-${d}-${a}`,markType:"path",className:E,style:Object.assign(Object.assign({},j),g(e,a)),d:u(o),role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"})});t.axis&&u.push({type:"svg-only-mark",Mark:it({summary:l,summaryI:d,axisSettings:t.axis,axisCreator:f,projection:i,actualMax:A,adjustedSize:c,columnWidth:k})}),u.push({elements:v})}}),{marks:u,xyPoints:m,thresholds:E}}const lt={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(Je)}],m=Ye({summaryType:t,data:u,finalXExtent:[0,r[0]],finalYExtent:[0,r[1]]}),p=[];m.forEach((e,t)=>{e.coordinates.forEach((r,s)=>{const i=n(e,t);p.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:p})}),{marks:s,xyPoints:i}},boxplot:function({data:e,type:t,eventListenersGenerator:o,styleFn:r,classFn:s,projection:i,adjustedSize:c}){const l=t.elementStyleFn||We,{outliers:d,fixedInput:u}=t,m=[],p=[];return Object.keys(e).forEach((t,y)=>{const h=e[t],g=o(h,y),f=h.width,x=h.pieceData,b=r(x[0].data,y),v=s(x[0].data,y);let k,j,E,S,A,O,M,w,C,P,z,N,F,$,D,T,R,L,B,V,I,W,H,G,_,Y,X,q,K,Z,J;j=x.map(e=>e.value).sort((e,t)=>e-t),!0===u&&5===j.length||(j=[a.quantile(j,0),a.quantile(j,.25),a.quantile(j,.5),a.quantile(j,.75),a.quantile(j,1)]);const U=j[3]-j[1];let Q,ee;d&&(Q=j[1]-1.5*U,ee=j[3]+1.5*U,j[0]=Math.max(j[0],Q),j[4]=Math.min(j[4],ee));const te="vertical"===i?e=>e.scaledVerticalValue:e=>e.scaledValue,ne=[...x].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(k=j.map(e=>oe===ae?(re+se)/2:re+(e-ae)/(oe-ae)*(se-re)),"vertical"===i){E=`translate(${h.x+h.width/2},0)`,S=0,A=0,O=k[0],M=k[4],w=-f/2,C=f/2,P=-f/2,z=f/2,N=-f/2,F=f/2,L=f,B=k[1]-k[2],V=k[2],I=-f/2,$=f,D=k[2]-k[3],W=f,H=k[1]-k[3],G=k[3],_=-f/2,T=k[3],R=-f/2,Y=k[0],X=k[0],q=k[4],K=k[4],Z=k[2],J=k[2];const e=h.x+h.width/2;p.push({label:"Maximum",key:t,summaryPieceName:"max",x:e,y:k[4],value:j[4]},{label:"3rd Quartile",key:t,summaryPieceName:"q3area",x:e,y:k[3],value:j[3]},{label:"Median",key:t,summaryPieceName:"median",x:e,y:k[2],value:j[2]},{label:"1st Quartile",key:t,summaryPieceName:"q1area",x:e,y:k[1],value:j[1]},{label:"Minimum",key:t,summaryPieceName:"min",x:e,y:k[0],value:j[0]})}else if("horizontal"===i){const e=h.x+h.width/2;E=`translate(0,${e})`,O=0,M=0,S=k[0],A=k[4],Y=-f/2,X=f/2,Z=-f/2,J=f/2,q=-f/2,K=f/2,D=f,$=k[3]-k[2],R=k[2],T=-f/2,B=f,L=k[2]-k[1],I=k[1],V=-f/2,H=f,W=k[3]-k[1],_=k[1],G=-f/2,w=k[0],C=k[0],N=k[4],F=k[4],P=k[2],z=k[2],p.push({label:"Maximum",key:t,summaryPieceName:"max",x:k[4],y:e,value:j[4]},{label:"3rd Quartile",key:t,summaryPieceName:"q3area",x:k[3],y:e,value:j[3]},{label:"Median",key:t,summaryPieceName:"median",x:k[2],y:e,value:j[2]},{label:"1st Quartile",key:t,summaryPieceName:"q1area",x:k[1],y:e,value:j[1]},{label:"Minimum",key:t,summaryPieceName:"min",x:k[0],y:e,value:j[0]})}if("radial"===i){S=0,A=0,O=k[0],M=k[4],w=-f/2,C=f/2,P=-f/2,z=f/2,N=-f/2,F=f/2,$=f,D=k[1]-k[3],T=k[3],R=-f/2,L=f,B=k[1]-k[3],V=k[3],I=-f/2,Y=k[0],X=k[0],q=k[4],K=k[4],Z=k[2],J=k[2];const e=2*Math.PI,a=n.arc().innerRadius(q/2).outerRadius(q/2),o=n.arc().innerRadius(Y/2).outerRadius(Y/2),r=n.arc().innerRadius(Z/2).outerRadius(Z/2),s=n.arc().innerRadius(k[1]/2).outerRadius(Z/2),i=n.arc().innerRadius(Z/2).outerRadius(k[3]/2),d=n.arc().innerRadius(k[1]/2).outerRadius(k[3]/2);let u=h.pct_start+h.pct_padding/2,W=h.pct+h.pct_start-h.pct_padding/2;const H=h.pct/2+h.pct_start;u*=e,W*=e;const G=c[0]/2,_=c[1]/2,U=Ve([0,0],H,k[4]/2),Q=Ve([0,0],H,k[0]/2),ee=Ve([0,0],H,k[3]/2),te=Ve([0,0],H,k[2]/2),ne=Ve([0,0],H,k[1]/2);p.push({label:"Minimum",key:t,summaryPieceName:"min",x:Q[0]+G,y:Q[1]+_,value:j[0]},{label:"1st Quartile",key:t,summaryPieceName:"q3area",x:ne[0]+G,y:ne[1]+_,value:j[1]},{label:"Median",key:t,summaryPieceName:"median",x:te[0]+G,y:te[1]+_,value:j[2]},{label:"3rd Quartile",key:t,summaryPieceName:"q1area",x:ee[0]+G,y:ee[1]+_,value:j[3]},{label:"Maximum",key:t,summaryPieceName:"max",x:U[0]+G,y:U[1]+_,value:j[4]}),E=`translate(${G},${_})`,m.push({containerProps:Object.assign(Object.assign({},g),{className:v,transform:E,key:"summaryPiece-"+y,role:"img",tabIndex:-1,"data-o":t,"aria-label":`${t} boxplot showing ${p.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},b,l("whisker",x))},{markType:"path",d:o({startAngle:u,endAngle:W}),style:Object.assign({strokeWidth:4},b,{fill:"none"},l("max",x))},{markType:"path",d:r({startAngle:u,endAngle:W}),style:Object.assign({strokeWidth:4},b,{fill:"none"},l("median",x))},{markType:"path",d:a({startAngle:u,endAngle:W}),style:Object.assign({strokeWidth:4},b,{fill:"none"},l("min",x))},{markType:"path",d:d({startAngle:u,endAngle:W}),style:Object.assign({strokeWidth:4},b,l("iqrarea",x))},{markType:"path",d:s({startAngle:u,endAngle:W}),style:Object.assign({},b,{fill:"none",stroke:"none"},l("q3area",x))},{markType:"path",d:i({startAngle:u,endAngle:W}),style:Object.assign({},b,{fill:"none",stroke:"none"},l("q1area",x))}]})}else{const e=[{markType:"line",x1:S,x2:A,y1:O,y2:M,style:Object.assign({strokeWidth:2},b,l("whisker",x))},{markType:"line",x1:w,x2:C,y1:Y,y2:X,style:Object.assign({strokeWidth:2},b,l("min",x))},{markType:"line",x1:N,x2:F,y1:q,y2:K,style:Object.assign({strokeWidth:2},b,l("max",x))},{markType:"rect",x:_,width:W,y:G,height:H,style:Object.assign({strokeWidth:1},b,l("iqrarea",x))},{markType:"rect",x:R,width:$,y:T,height:D,style:Object.assign({},b,{fill:"none",stroke:"none"},l("q3area",x))},{markType:"rect",x:I,width:L,y:V,height:B,style:Object.assign({},b,{fill:"none",stroke:"none"},l("q1area",x))},{markType:"line",x1:P,x2:z,y1:Z,y2:J,style:Object.assign({strokeWidth:2},b,l("median",x))}],n=[];d&&x.filter(e=>e.value>ee||Q>e.value).forEach(e=>{n.push({markType:"circle",cx:"horizontal"===i?e.scaledValue:0,cy:"vertical"===i?e.scaledVerticalValue:0,style:Object.assign({strokeWidth:"1px",stroke:"black",fill:"none",r:2},b,l("outlier",x))})}),m.push({containerProps:Object.assign(Object.assign({},g),{className:v,transform:E,key:"summaryPiece-"+y,role:"img",tabIndex:-1,"data-o":t,"aria-label":`${t} boxplot showing ${p.filter(e=>e.key===t).map(e=>`${e.label} ${e.value}`)}`}),elements:[...e,...n]})}}),{marks:m,xyPoints:p}},violin:ct,heatmap:ct,ridgeline:ct,histogram:ct,horizon:ct,ckbins:function(e){const{data:t,eventListenersGenerator:n,styleFn:a,classFn:r}=e,s=[];let i=0;const c=[];return Object.keys(t).forEach((e,s)=>{const l=t[e];n(l,s);const d=l.pieceData.sort((e,t)=>e.value-t.value),u=d[0],m=d[d.length-1],p=o.scaleLinear().domain([u.value,m.value]).range([u.scaledValue,m.scaledValue]),y=a(d[0].data,s),h=r(d[0].data,s),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=He(t=Math.min(o,t),n),s=He(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]=Ge(0,i,o,r),n[0][i]=0;for(var c=1;t.length>c;++c)_e(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}(d.map(e=>e.value),5);let f=[];g.forEach((t,n)=>{var a;const o=null!==(a=g[n+1])&&void 0!==a?a:m.value;f.push({start:t,end:o,key:e,summary:l,calculatedSummaryStyle:y,calculatedSummaryClass:h,scaledStart:p(t),scaledEnd:p(o),values:[]})}),c.push(f);let x=0;for(const e of d)f[x].end>e.value||f[x+1]&&x++,f[x].values.push(e);f.forEach(e=>{i=Math.max(e.values.length,i)})}),c.forEach((e,t)=>{const n=e.map(e=>{const{calculatedSummaryStyle:t}=e,{fill:n="black",stroke:a="black"}=t,r=o.scaleLinear().domain([1,i]).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:r(e.values.length),strokeWidth:1,stroke:a})}});s.push({containerProps:{transform:"",key:"summaryPiece-"+t,role:"img",tabIndex:-1},elements:n})}),{marks:s,xyPoints:[]}}},dt=({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(!lt[t.type])return console.error(`Invalid summary type: ${t.type} - Must be a function or one of the following strings: ${Object.keys(lt).join(", ")}`),{};u=lt[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 ut(e){const t=[];for(const n of e){const e=[],{elements:a,containerProps:o}=n;if(n.Mark)t.push(n.Mark);else{for(let t=0;a.length>t;t++){const n=a[t],{markType:o,style:r={}}=n,s=K(n,["markType","style"]),i=Object.assign({},s);void 0!==r.fill&&(i.fill=r.fill),void 0!==r.stroke&&(i.stroke=r.stroke),void 0!==r.strokeWidth&&(i.strokeWidth=r.strokeWidth),void 0!==r.opacity&&(i.opacity=r.opacity),void 0!==r.fillOpacity&&(i.fillOpacity=r.fillOpacity),void 0!==r.strokeOpacity&&(i.strokeOpacity=r.strokeOpacity);const c=Object.assign({},r);delete c.fill,delete c.stroke,delete c.strokeWidth,delete c.opacity,delete c.fillOpacity,delete c.strokeOpacity,Object.keys(c).length>0&&(i.style=c),i.key=n.key||t,o&&e.push(A.createElement(o,i))}o?t.push(A.createElement("g",Object.assign({},o),e)):t.push(...e)}}return t}const mt=({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 ut(e.filter(e=>!t()||"svg-only-mark"===e.type))};function pt(t){const{rotate:n,label:a,dynamicLabelPosition:o,orient:r="left",marginalSummaryType:s,tickFormat:i=(s?()=>"":e=>e),size:c,width:l=c&&c[0]||0,height:d=c&&c[1]||0,className:u,padding:m,tickValues:p,scale:y,ticks:h,footer:g,tickSize:f,tickLineGenerator:x,baseline:b=!0,margin:v={top:0,bottom:0,left:0,right:0},center:k=!1,annotationFunction:j,glyphFunction:E,xyPoints:S}=t,[O,M]=e.useState(0),[w,C]=e.useState(void 0),P=e.useRef(null);e.useEffect(()=>{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";return Math.max(...[...n.querySelectorAll(".axis-label")].map(e=>e.getBBox&&e.getBBox()||{height:30,width:30}).map(e=>e[a]))+25})(P,r);e!==w&&C(e)}},[a,o]);let z,{axisParts:N,position:F=[0,0]}=t;if(N||(N=Fe({padding:m,tickValues:p,scale:y,ticks:h,orient:r,size:[l,d],footer:g,tickSize:f}),z=A.createElement("g",{className:"axis "+u},De({axisParts:N,orient:r,tickLineGenerator:x,className:u,scale:y}))),0===N.length)return null;let $,D,T,R,L=50,B=d,V=-50,I=0,W=0,H=0,G=0,_=d,Y=25,X=-25,q=18,K=l+25,Z=0,J=O,U=0,Q="y";switch(r){case"right":F=[F[0],F[1]],V=l,G=W=l,U=v.top,K=-l-25,X=5,$=e=>{M(e.nativeEvent.offsetY-U)},!0===k&&(G=W=l/2);break;case"top":F=[F[0],0],L=l,B=50,I=-50,V=0,U=v.left,Q="x",G=l,_=0,!0===k&&(_=H=d/2),$=e=>{M(e.nativeEvent.offsetX-U)},Y=O,J=25,X=0,q=-10,K=0,Z=d+25;break;case"bottom":F=[F[0],0],L=l,B=50,H=_=I=d,W=V=0,G=l,U=v.left,$=e=>{M(e.nativeEvent.offsetX-U)},Y=O,J=25,X=0,q=15,K=0,Z=-d-25,Q="x",!0===k&&(_=H=d/2);break;default:F=[F[0],F[1]],U=v.top,!0===k&&(G=W=l/2),$=e=>{M(e.nativeEvent.offsetY-U)}}if(j){const e=function(e,t){return t.tickFormat?t.tickFormat(e):e.toString?""+e:e}(y.invert(O),t),n=E?E({lineHeight:Z,lineWidth:K,value:y.invert(O)}):A.createElement("g",null,A.isValidElement(e)?A.createElement("g",{transform:`translate(${X},${q})`},e):A.createElement("text",{x:X,y:q},e),A.createElement("circle",{r:5}),A.createElement("line",{x1:K,y1:Z,style:{stroke:"black"}})),a=O?A.createElement("g",{style:{pointerEvents:"none"},transform:`translate(${Y},${J})`},n):null;D=A.createElement("g",{className:"annotation-brush",transform:`translate(${V},${I})`},A.createElement("rect",{style:{fillOpacity:0},height:B,width:L,onMouseMove:$,onClick:e=>j({className:"dynamic-axis-annotation",type:Q,value:y.invert(O),e:e}),onMouseOut:()=>{M(void 0)}}),a)}if(s&&S){const e=Math.max(v[r]-6,5),t="string"==typeof s?{type:s}:s;void 0!==t.flip||"bottom"!==r&&"right"!==r||(t.flip=!0);const n=t.summaryStyle?()=>t.summaryStyle:()=>({fill:"black",fillOpacity:.5,stroke:"black",strokeDasharray:"0"}),a=t.renderMode?()=>t.renderMode:()=>{},o=t.summaryClass?()=>t.summaryClass:()=>"",i=t.filter||(()=>!0),l=S.filter(e=>void 0!==e.x&&void 0!==e.y&&i(e.data)).map(e=>Object.assign(Object.assign({},e),{xy:{x:"top"===r||"bottom"===r?y(e.x):0,y:"left"===r||"right"===r?y(e.y):0},piece:{scaledVerticalValue:y(e.y),scaledValue:y(e.x)},value:y("top"===r||"bottom"===r?e.y:e.x),scaledValue:y(e.x),scaledVerticalValue:y(e.y)})),d=ut(dt({data:{column:{middle:e/2,pieceData:l,width:e,xyData:l}},type:t,renderMode:a,eventListenersGenerator:t.eventListenersGenerator||(()=>({})),styleFn:n,classFn:o,projection:"top"===r||"bottom"===r?"horizontal":"vertical",adjustedSize:c,margin:{top:0,bottom:0,left:0,right:0}}).marks);let u;if(!0===t.showPoints){const n=((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])})(r,e,l);u=n.map((e,n)=>A.createElement("circle",{key:"axis-summary-point-"+n,cx:e[0],cy:e[1],r:t.r||3,style:t.pointStyle||{fill:"black",fillOpacity:.1}}))}T=A.createElement(Le,{translation:{left:[2-v.left,0],right:[c[0]+2,0],top:[0,2-v.top],bottom:[0,c[1]+2]},orient:r,decoratedSummaryType:t,summaryWidth:e,renderedSummary:d,points:u})}const ee=(({axisParts:e,tickFormat:t,rotate:n=0,center:a=!1,orient:o})=>e.map((e,r)=>{let s=t(e.value,r);("object"!=typeof s||s instanceof Date)&&(s=A.createElement("text",{textAnchor:e.defaultAnchor,className:"axis-label"},s.toString?""+s:s));let i=e.tx,c=e.ty;if(a)switch(o){case"right":i-=(e.x2-e.x1)/2;break;case"left":i+=(e.x2-e.x1)/2;break;case"top":c+=(e.y2-e.y1)/2;break;case"bottom":c-=(e.y2-e.y1)/2}return A.createElement("g",{key:r,pointerEvents:"none",transform:`translate(${i},${c}) rotate(${n})`,className:"axis-label"},s)}))({tickFormat:i,axisParts:N,orient:r,rotate:n,center:k});if(a){const e=a.name||a,t=a.position||{};let n=t.anchor||"middle";const o=a.locationDistance||w,s=t.rotation||{left:-90,right:90,top:0,bottom:0}[r],i={left:{start:[0,c[1]],middle:[0,c[1]/2],end:[0,0],inside:[o||15,0],outside:[-(o||45),0]},right:{start:[c[0]+0,c[1]],middle:[c[0]+0,c[1]/2],end:[c[0]+0,0],inside:[-(o||15),0],outside:[o||45,0]},top:{start:[0,0],middle:[0+c[0]/2,0],end:[0+c[0],0],inside:[0,o||15],outside:[0,-(o||40)]},bottom:{start:[0,c[1]],middle:[0+c[0]/2,c[1]],end:[0+c[0],c[1]],inside:[0,-(o||5)],outside:[0,o||50]}},l=i[r][n],d=i[r][t.location||"outside"];l[0]=l[0]+d[0],l[1]=l[1]+d[1],"start"===n&&"right"===r?n="end":"end"===n&&"right"===r&&(n="start"),R=A.createElement(Be,{className:u,translation:l,position:F,rotation:s,labelName:e,anchorMod:n})}const te=`${r} axis ${N&&N.length>0&&`from ${i(N[0].value,0)} to ${i(N[N.length-1].value,N.length-1)}`||"without ticks"}`;return A.createElement("g",{className:u,"aria-label":te,ref:P},D,ee,z,!0===b?A.createElement("line",{key:"baseline",className:"axis-baseline "+u,stroke:"black",strokeLinecap:"square",x1:W,x2:G,y1:H,y2:_}):null,R,T)}const yt=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 ht(e){return Math.round(10*e)/10}const gt=({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`},ft=({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}=yt(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 xt(e){return e instanceof Function||"string"==typeof e?{type:e}:void 0===e?{}:e}function bt({data:e,renderKey:t=(e,t)=>t,oAccessor:n,rAccessor:a,originalRAccessor:r,originalOAccessor:s,multiAxis:i=!1}){let c,l;if(i&&a.length>1){let t=1/0;l=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=l.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,o.scaleLinear().domain(e).range(n)});c=n.map((e,t)=>n=>e(a[t](n)))}else c=a;const d=[];return n.forEach((n,a)=>{c.forEach((o,i)=>{(e||[]).forEach(e=>{const c=t(e,d.length),l=void 0!==c&&c.toString&&""+c||c,u=r[i],m=s[a],p="string"==typeof u?u:"function-"+i,y="string"==typeof m?m:"function-"+a;if("object"!=typeof e){const t={value:e,renderKey:l},n=o(t);d.push({data:t,value:n,rIndex:i,rName:p,oIndex:a,oName:y,column:l,renderKey:l})}else{const t=o(e),r=n(e);d.push({renderKey:l,data:e,rIndex:i,rName:p,oIndex:a,oName:y,value:t,column:r&&r.toString?""+r:r})}})})}),{allData:d,multiExtents:l}}function vt({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 kt({type:e,data:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,canvasRender:i,canvasDrawing:c,pieceType:l}){if(!e.type)return null;const d=[],u=new Map,{keyedData:m,oExtent:p}=t;if("function"==typeof e.type){const t=e.type,y=p;if(p.forEach((e,p)=>{const h=m[e],g=m[y[p+1]];if(g){const e=g.map((e,n)=>t(Object.assign(Object.assign({},e.piece),e.piece.data),n));h.forEach((m,p)=>{const y=t(Object.assign(Object.assign({},m.piece),m.piece.data),p),h=t(Object.assign(Object.assign({},m.piece),m.piece.data),p),f=void 0!==h&&!1!==h&&e.indexOf(h);if(null!=y&&!1!==f&&-1!==f){const e=g[f];let t;if("radial"===s&&"point"===l.type){u.get(m)||u.set(m,[m]);const t=u.get(m);t&&(t.push(e),u.set(e,t),u.delete(m))}else{const{xy:l}=m,{xy:u}=e,{x:y,y:h,height:g=1,width:f=1}=l,{x:x,y:b,height:v=1,width:k=1}=u;if("vertical"===s)t=Ce({x1:y+f,x2:x,y1:h,y2:b,sizeX1:0,sizeX2:0,sizeY1:g,sizeY2:v});else if("horizontal"===s){const{value:n}=m.piece,{value:a}=e.piece;t=Ce({x1:0>n?m.piece.bottom-f:y-f,x2:0>a?e.piece.bottom-k:x-k,y1:h+g,y2:b,sizeX1:f,sizeX2:k,sizeY1:0,sizeY2:0})}else"radial"===s&&(t=Ce({x1:y,x2:x,y1:h+g,y2:b,sizeX1:f,sizeX2:k,sizeY1:0,sizeY2:0}));n&&n(m.piece,p);const j=Object.assign(Object.assign({},m.piece.data),m.piece.data),E=Object.assign(Object.assign({},e.piece),e.piece.data),S=o({source:j,target:E}),O=a({source:j,target:E},p);i&&!0===i(m.piece)?c.push({baseClass:"xyframe-line",tx:0,ty:0,d:{source:j,target:E},markProps:{d:t,markType:"path"},styleFn:o,renderFn:n,classFn:r}):d.push(A.createElement("path",Object.assign({},O,{d:t,className:r?r(m.piece.data,p):"",key:"connector"+m.piece.renderKey},S,{style:S})))}}})}}),u.size>0)for(const e of u.values()){const t=Object.assign(Object.assign({},e[0].piece),e[0].piece.data),a=`M${e.map(e=>`${e.xy.x},${e.xy.y}`).join("L")}Z`;if(i&&i(t))c.push({baseClass:"ordinal-radar",tx:0,ty:0,d:{source:t},markProps:{d:a,markType:"path"},styleFn:o,renderFn:n,classFn:r});else{const e=o({source:t});d.push(A.createElement("path",Object.assign({d:a,className:r?r(t):"",key:"ordinal-ring-"+t.renderKey},e,{style:e})))}}}else e.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 d}const jt=(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},Et=A.memo(function({width:t,height:n,overlayRegions:a,margin:o,voronoiHover:r}){let s=e.useRef();return e.useLayoutEffect(()=>{St(s.current,r,n,t,a,o)},[t,n,a]),A.createElement("canvas",{className:"frame-canvas-interaction",ref:e=>{null!=e&&s.current!==e&&(s.current=e,St(e,r,n,t,a,o))},style:{position:"absolute",left:"0px",top:"0px",imageRendering:"pixelated",pointerEvents:"all",opacity:0},width:t,height:n})});function St(e,t,n,a,o,r){const s=new Map;if(null===e||!o)return;const i=jt.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 At(t){let n=null;const{interaction:o,svgSize:c=[500,500],margin:l={left:0,right:0,top:0,bottom:0},overlay:d,points:u,xScale:m,yScale:p,hoverAnnotation:y,customClickBehavior:h,customDoubleClickBehavior:g,customHoverBehavior:f,disableCanvasInteraction:x,canvasRendering:b}=t;let{enabled:v}=t,k=V(e=>e.changeTooltip);const j=e=>{k(e)},[E,S]=e.useState([]),[O,M]=e.useState(null);return e.useEffect(()=>{let e,n;x||!E?(e=null,n=null):(e=((e,t)=>{let n=[];const{xScale:o,yScale:r,points:s,projectedX:c,showLinePoints:l,size:d,overlay:u,interactionOverflow:m={top:0,bottom:0,left:0,right:0},customClickBehavior:p,customDoubleClickBehavior:y,customHoverBehavior:h,hoverAnnotation:g,margin:f,advancedSettings:x={}}=e,b={top:ye,bottom:he},v=p||y?{cursor:"pointer"}:{};if(s&&g&&!u){const{voronoiFilter:e=()=>!0}=x,u=[],k=new Map;for(const t of s)if(e(Object.assign(Object.assign({},t),t.data))){const e=Math.floor(o(t[c])),n=Math.floor(r(l&&void 0!==t[b[l]]?t[b[l]]:void 0!==t[pe]?t[pe]:t[me]));if(!(0-f.left>e||e>d[0]+f.right||0-f.top>n||n>d[1]+f.bottom||void 0===e||void 0===n||!1!==isNaN(e)||!1!==isNaN(n))){const a=`${e},${n}`;if(k.has(a))k.get(a).coincidentPoints.push(t);else{const o=Object.assign(Object.assign({},t),{coincidentPoints:[t],voronoiX:e,voronoiY:n});u.push(o),k.set(a,o)}}}let j=a.extent(u.map(e=>e.voronoiX)),E=a.extent(u.map(e=>e.voronoiY));null!=j[0]&&null!=E||(j=[0,0],E=[0,0]);const S=[Math.min(j[0]-5,-m.left),Math.min(E[0]-5,-m.top),Math.max(j[1]+5,d[0]+m.right),Math.max(E[1]+5,d[1]+m.bottom)],O=i.Delaunay.from(u,e=>e.voronoiX,e=>e.voronoiY).voronoi(S);return n=u.map((e,n)=>{let a=null;return x.voronoiClipping&&(a=A.createElement("clipPath",{id:"voronoi-"+n},A.createElement("circle",{r:!0===x.voronoiClipping?50:x.voronoiClipping,cx:e.voronoiX,cy:e.voronoiY}))),A.createElement("g",{key:"voronoi-"+n},A.createElement("path",{onClick:e=>{ke(u[n],p,s,e)},onDoubleClick:e=>{je(u[n],y,s,e)},onMouseEnter:e=>{ve(t,u[n],g,h,s,e)},onMouseLeave:e=>{ve(t,void 0,void 0,h,void 0,e)},key:"interactionVoronoi"+n,d:O.renderCell(n),style:Object.assign({fillOpacity:0},v),clipPath:`url(#voronoi-${n})`}),a)},window),n}if(u)return u.map((n,a)=>{const{overlayData:o}=n,r=K(n,["overlayData"]),i={key:"overlay-"+a,onMouseEnter:n=>{ve(t,o,e.hoverAnnotation,h,s,n)},onMouseLeave:e=>{ve(t,void 0,void 0,h,void 0,e)},onClick:e=>{ke(o,p,s,e)},onDoubleClick:e=>{je(o,y,s,e)},style:Object.assign({opacity:0},v)};if(A.isValidElement(n.renderElement))return A.cloneElement(n.renderElement,i);{const e=r,{markType:t}=e,n=K(e,["markType"]);return A.createElement(t||"path",Object.assign(Object.assign(Object.assign({},n),{key:"overlay-"+a}),i))}})})(t,j),b&&(n=A.createElement(Et,{height:c[1],width:c[0],overlayRegions:e,margin:l,voronoiHover:j}))),S(e),M(n)},[d,u,m,p,!!y,!!h,!!g,!!f]),o&&o.brush&&(v=!0,n=((e,t)=>{let n,a,o,i;const{xScale:c,yScale:l,size:d,renderPipeline:u}=t,m={};Object.entries(u).forEach(([e,t])=>{t.data&&t.data.length>0&&(m[e]=t.data)});const{projection:p,projectedColumns:y}=e,h="oBrush"===e.brush?"horizontal"===p?"yBrush":"xBrush":e.brush;let{extent:g}=e;if(g||(g="xyBrush"===h?[[c.invert(0),l.invert(0)],[c.invert(d[0]),l.invert(d[1])]]:"xBrush"===h?[c.invert(0),c.invert(d[0])]:[l.invert(0),l.invert(d[1])]),g.indexOf&&-1!==g.indexOf(void 0))return A.createElement("g",null);if("xBrush"===h){const e=[...g];a=e=>e?[c.invert(e[0]),c.invert(e[1])]:null,n=r.brushX(),o=e.map(e=>c(e)),i=a}else if("yBrush"===h){const e=[...g];a=e=>e?[l.invert(e[0]),l.invert(e[1])].sort((e,t)=>e-t):null,n=r.brushY(),o=e.map(e=>l(e)).sort((e,t)=>e-t),i=a}else{const e=[...g.map(e=>[...e])];if(-1!==e.indexOf(void 0)||-1!==e[0].indexOf(void 0)||-1!==e[1].indexOf(void 0))return A.createElement("g",null);n=r.brush(),a=e=>{if(!e)return null;const t=[l.invert(e[0][1]),l.invert(e[1][1])].sort((e,t)=>e-t);return[[c.invert(e[0][0]),t[0]],[c.invert(e[1][0]),t[1]]]};const t=[l(g[0][1]),l(g[1][1])].sort((e,t)=>e-t);o=e.map((e,n)=>[c(e[0]),t[n]]),i=a}if("oBrush"===e.brush){if(o=null,e.extent){const[t,n]=e.extent;"string"!=typeof t&&"number"!=typeof t||"string"!=typeof n&&"number"!=typeof n||(o=[y[t].x,y[n].x+y[n].width])}a=(e=>t=>t?Object.values(e).filter(e=>t[1]>=e.x&&e.x+e.width>=t[0]):null)(y),i=(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},i=[o.x+Math.min(5,o.width/10),r.x+r.width-Math.min(5,r.width/10)];return s.select(n.sourceEvent.path[1]).transition(750).call(n.target.move,i),a}return null})(y)}return n.extent([[0,0],[d[0],d[1]]]).on("start",t=>{Ee(a(t.selection),void 0,m,void 0,e)}).on("brush",t=>{Se(a(t.selection),void 0,m,void 0,e)}).on("end",t=>{Ae(i(t.selection,t),void 0,m,void 0,e)}),A.createElement("g",{className:"brush"},A.createElement(de,{selectedExtent:o,extent:g,svgBrush:n}))})(o,t)),o&&o.columnsBrush&&(v=!0,n=((e,t)=>{const{projection:n,rScale:a,oColumns:o,renderPipeline:s}=t;if(!n||!a||!o)return;const i={};let c,l;Object.entries(s).forEach(([e,t])=>{t.data&&t.data.length>0&&(i[e]=t.data)});const d=a.copy().domain(a.domain()).range(a.domain().reverse());l=n&&"horizontal"===n?e=>e?[a.invert(e[0]),a.invert(e[1])]:null:e=>e?[d(a.invert(e[1])),d(a.invert(e[0]))]:null;const u=a.range(),m=o;let p,y;return Object.keys(m).map(t=>(n&&"horizontal"===n?(y=e.extent[t]?e.extent[t].map(e=>a(e)):e.startEmpty?null:u,p=[0,m[t].x],c=r.brushX(),c.extent([[u[0],0],[u[1],m[t].width]]).on("start",n=>{Ee(l(n.selection),t,i,m[t],e)}).on("brush",n=>{Se(l(n.selection),t,i,m[t],e)}).on("end",n=>{Ae(l(n.selection),t,i,m[t],e)})):(y=e.extent[t]?e.extent[t].map(e=>u[1]-a(e)).reverse():e.startEmpty?null:u,p=[m[t].x,0],c=r.brushY(),c.extent([[0,u[0]],[m[t].width,u[1]]]).on("start",n=>{Ee(l(n.selection),t,i,m[t],e)}).on("brush",n=>{Se(l(n.selection),t,i,m[t],e)}).on("end",n=>{Ae(l(n.selection),t,i,m[t],e)})),A.createElement("g",{key:"column-brush-"+t,className:"brush"},A.createElement(de,{key:"orbrush"+t,selectedExtent:y,svgBrush:c,position:p}))))})(o,t)),E||n?A.createElement("div",{className:"interaction-layer","data-testid":"interaction-layer",style:{position:"absolute",background:"none",pointerEvents:"none",height:"100%",width:"100%",overflow:"hidden"}},O||A.createElement("svg",{height:c[1],width:c[0],style:{background:"none",pointerEvents:"none"}},A.createElement("g",{className:"interaction-overlay",transform:`translate(${l.left},${l.top})`,style:{pointerEvents:v?"all":"none"}},A.createElement("g",{className:"interaction-regions"},E),n))):null}function Ot(t){const{matte:n,matteClip:a,axes:o,frameKey:r="",margin:s={left:0,right:0,bottom:0,top:0},title:i,ariaTitle:c,axesTickLines:l,frameRenderOrder:d,additionalVizElements:u,transition:m}=t;let p=V(e=>e.changeTooltip);const y=e.useCallback(e=>{p(e)},[p]),[h,g]=e.useState(null),[f,x]=e.useState(null),b=e.useMemo(()=>(({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:h,changeFocusedPieceIndex:g,changeFocusedVisualizationGroup:x}),[h,g,x]),v=((e,t,n)=>{const{xScale:a,yScale:o,dataVersion:r,projectedCoordinateNames:s,renderPipeline:i={},renderOrder:c=[],transition:l}=e,d=[],u={},m=[];return c.concat(Object.keys(i).filter(e=>-1===c.indexOf(e))).forEach(r=>{const c=i[r];if(c&&(c.data&&"object"==typeof c.data&&!Array.isArray(c.data)||c.data&&c.data.length>0)){const i=c.behavior(Object.assign({xScale:a,yScale:o,canvasDrawing:d,projectedCoordinateNames:s},c));i&&i.length>0&&m.push(A.createElement("g",Object.assign({key:r,className:r,"data-testid":r,role:"group",tabIndex:0},l?{"data-semiotic-transition":""}:void 0,{"aria-label":c.ariaLabel&&`${i.length} ${c.ariaLabel.items}s in a ${c.ariaLabel.chart}`||r,onKeyDown:n=>t({e:n,k:r,props:e,piecesGroup:u}),onBlur:()=>{n(void 0)},ref:e=>e&&(u[r]=e.childNodes)}),i))}}),{renderedElements:m,dataVersion:r,canvasDrawing:d,piecesGroup:u}})(t,b,y),{renderedElements:k}=v;e.useEffect(()=>{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 m=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),m=a.styleFn&&a.styleFn(u,a.i)||s,p=m.fill?m.fill:"black",y=m.stroke?m.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=p,t.strokeStyle=y,t.lineWidth=m.strokeWidth?m.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:p,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=m.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=m.fillOpacity||m.opacity||1,m.fill&&"none"!==m.fill&&0!==t.globalAlpha&&t.fill(),t.globalAlpha=m.strokeOpacity||m.opacity||1,m.stroke&&"none"!==m.stroke&&0!==t.globalAlpha&&t.stroke())}else if("rect"===a.markProps.markType)"sketchy"===f?(t.globalAlpha=m.opacity||1,0!==t.globalAlpha&&r.rectangle(a.markProps.x,a.markProps.y,a.markProps.width,a.markProps.height,h)):(t.globalAlpha=m.fillOpacity||m.opacity||1,m.fill&&"none"!==m.fill&&0!==t.globalAlpha&&t.fillRect(a.markProps.x,a.markProps.y,a.markProps.width,a.markProps.height),t.globalAlpha=m.strokeOpacity||m.opacity||1,m.stroke&&"none"!==m.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=m.opacity||1,r.path(a.markProps.d,h);else{const e=new Path2D(a.markProps.d);t.globalAlpha=m.strokeOpacity||m.opacity||1,m.stroke&&"none"!==m.stroke&&0!==t.globalAlpha&&t.stroke(e),t.globalAlpha=m.fillOpacity||m.opacity||1,m.fill&&"none"!==m.fill&&0!==t.globalAlpha&&t.fill(e)}else"line"===a.markProps.markType?"sketchy"===f?(t.globalAlpha=m.opacity||1,r.line(a.markProps.x1,a.markProps.y1,a.markProps.x2,a.markProps.y2,h)):(t.globalAlpha=m.strokeOpacity||m.opacity||1,t.beginPath(),t.moveTo(a.markProps.x1,a.markProps.y1),t.lineTo(a.markProps.x2,a.markProps.y2),m.stroke&&"none"!==m.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 v.canvasDrawing)m(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)}(m,v.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!==f&&v.piecesGroup[f]&&null!==h){const e=v.piecesGroup[f][h],t=e&&[...e.childNodes].find(e=>e.getAttribute("aria-label"))||e;t&&t.focus&&t.focus()}return function(){o.abort()}},[n,a,o,r,s,c,l,d,u]);const j=function(e){if(!e)return null;const t="object"==typeof e&&null!=e.ease?e.ease:"ease",n=("object"==typeof e&&null!=e.duration?e.duration:300)+"ms";return A.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 ${n} ${t},\n stroke ${n} ${t},\n opacity ${n} ${t},\n transform ${n} ${t};\n animation: semiotic-enter ${n} ${t};\n}\n`)}(m),E=Object.assign({"axes-tick-lines":l&&A.createElement("g",{key:"visualization-tick-lines",className:"axis axis-tick-lines","aria-hidden":!0},l),"axes-labels":o&&A.createElement("g",{key:"visualization-axis-labels",className:"axis axis-labels"},o),matte:n,"viz-layer":k&&k.length>0?A.createElement(A.Fragment,{key:"viz-layer"},j,k):null},u);let S="";S=`Visualization ${i&&c||i?"string"!=typeof i&&i.props&&"string"==typeof i.props.children?"titled "+i.props.children:"with a complex title":"with no title"}. Use arrow keys to navigate elements.`;const O=[];return d.forEach(e=>{E[e]&&O.push(E[e])}),O.length>0&&A.createElement("g",{className:"data-visualization","data-testid":"data-visualization",key:"visualization-clip-path","aria-label":S,role:"group",clipPath:a&&n?`url(#matte-clip${r})`:void 0,transform:`translate(${s.left},${s.top})`},O)||null}const Mt=[],wt={},Ct=[0,0],Pt={x:"x",y:"y"},zt=["axes-tick-lines","viz-layer","matte","axes-labels","labels"],Nt={top:0,bottom:0,left:0,right:0};function Ft(t){const{axes:n,axesTickLines:a,className:o="",name:r="",frameKey:s,projectedCoordinateNames:i=Pt,renderPipeline:c,size:l,adjustedSize:d=l,title:u,xScale:m,yScale:p,dataVersion:y,annotations:h,projectedYMiddle:g,interaction:f,customClickBehavior:x,customHoverBehavior:b,customDoubleClickBehavior:v,points:k,margin:j=Nt,backgroundGraphics:E,foregroundGraphics:S,beforeElements:O,afterElements:M,defaultSVGRule:w,defaultHTMLRule:C,adjustedPosition:P=Ct,legendSettings:z,annotationSettings:N=wt,overlay:F,columns:$,rScale:D,projection:T,interactionOverflow:R,canvasPostProcess:L,canvasRendering:V,renderOrder:I=Mt,showLinePoints:W,disableCanvasInteraction:H=!1,sketchyRenderingEngine:G,disableContext:_,frameRenderOrder:Y=zt,additionalVizElements:X=wt,interactionSettings:K,disableProgressiveRendering:Z,additionalDefs:J,transition:U}=t;let{hoverAnnotation:Q}=t;const ee=e.useRef(null),[te,ne]=e.useState(null),[ae,oe]=e.useState(null);e.useEffect(()=>{const e=(({matte:e,size:t,margin:n,frameKey:a,additionalDefs:o,name:r})=>{let s;"function"==typeof e?s=e({size:t,margin:n}):A.isValidElement(e)?s=e:!0===e&&(s=A.createElement("path",{fill:"white",transform:`translate(${-n.left},${-n.top})`,d:gt({margin:n,size:t,inset:0}),className:r+"-matte"}));const i=(({matte:e,key:t,additionalDefs:n})=>A.createElement("defs",null,A.createElement("filter",{id:"paintyFilterHeavy"},A.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:4,colorInterpolationFilters:"sRGB",result:"blur"}),A.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"})),A.createElement("filter",{id:"paintyFilterLight"},A.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:2,colorInterpolationFilters:"sRGB",result:"blur"}),A.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"})),A.createElement("clipPath",{id:"matte-clip-"+t},e),n))({matte:s,key:e&&(a||r),additionalDefs:o});return{defs:i,matte:s}})({matte:ae,size:l,margin:j,frameKey:s,additionalDefs:J,name:r});ne(e.defs),oe(e.matte)},[l[0],l[1],j.top,j.bottom,j.right,j.left,j.top,ae,J]),!Q&&(x||b||v)&&(Q=Mt);const re=[],se=h?[...h,...re]:re,ie=e.useRef(w);ie.current=w;const ce=e.useRef(C);ce.current=C;const le=e.useRef(c);le.current=c;const de=e.useCallback((e,t,n)=>ie.current(Object.assign({d:e,i:t,annotationLayer:n},le.current)),[]),ue=e.useCallback((e,t,n)=>ce.current(Object.assign({d:e,i:t,annotationLayer:n},le.current)),[]),me=A.createElement(q,{legendSettings:z,margin:j,axes:n,annotationHandling:N,pointSizeFunction:N.layout&&N.layout.pointSizeFunction,labelSizeFunction:N.layout&&N.layout.labelSizeFunction,annotations:se,svgAnnotationRule:de,htmlAnnotationRule:ue,size:d,position:[P[0]+j.left,P[1]+j.top]}),pe=function({title:e={title:"",orient:"top"},size:t}){let n=null;const{title:a,orient:o}=yt(e);let r,s=0,i=0;switch(o){case"top":s=t[0]/2,i=25;break;case"bottom":s=t[0]/2,i=t[1]-25;break;case"left":s=25,i=t[1]/2,r="rotate(-90)";break;case"right":s=t[0]-25,i=t[1]/2,r="rotate(90)"}const c=`translate(${s},${i})`;return"string"==typeof a&&a.length>0?n=A.createElement("g",{transform:c},A.createElement("text",{className:"frame-title",transform:r,style:{textAnchor:"middle",pointerEvents:"none"}},a)):a&&(n=A.createElement("g",{transform:c},a)),n}({title:u,size:l}),ye="function"==typeof E?E({size:l,margin:j}):E,he="function"==typeof S?S({size:l,margin:j}):S;return A.createElement("div",{className:`${o} frame ${r}`,style:{background:"none"}},O&&A.createElement("div",{className:r+" frame-before-elements"},O),A.createElement("div",{className:"frame-elements",style:{height:l[1]+"px",width:l[0]+"px"}},A.createElement(B,null,A.createElement("div",{className:"visualization-layer",style:{position:"absolute"}},E&&A.createElement("svg",{className:"background-graphics",style:{position:"absolute"},width:l[0],height:l[1]},E&&A.createElement("g",{"aria-hidden":!0,className:"background-graphics"},ye)),A.createElement("svg",{className:"visualization-layer",style:{position:"absolute"},width:l[0],height:l[1]},te,A.createElement(Ot,{disableContext:_,renderPipeline:c,position:P,width:d[0],height:d[1],projectedCoordinateNames:i,xScale:m,yScale:p,axes:n,title:pe,frameKey:s,canvasContext:ee,dataVersion:y,matte:ae,margin:j,canvasPostProcess:L,renderOrder:I,sketchyRenderingEngine:G,axesTickLines:a,additionalVizElements:X,frameRenderOrder:Y,disableProgressiveRendering:Z,transition:U}),pe&&A.createElement("g",{className:"frame-title"},pe),S&&A.createElement("g",{"aria-hidden":!0,className:"foreground-graphics"},he))),V&&A.createElement("canvas",{className:"frame-canvas",ref:ee,style:{pointerEvents:"none",position:"absolute"},width:l[0]/2,height:l[1]/2}),A.createElement(At,{hoverAnnotation:Q,projectedX:i.x,projectedY:i.y,projectedYMiddle:g,interaction:f,customClickBehavior:x,customHoverBehavior:b,customDoubleClickBehavior:v,points:k,showLinePoints:W,canvasRendering:V,position:P,margin:j,size:d,svgSize:l,xScale:m,yScale:p,enabled:!0,overlay:F,oColumns:$,rScale:D,projection:T,interactionOverflow:R,disableCanvasInteraction:H,renderPipeline:c,advancedSettings:K}),me)),M&&A.createElement("div",{className:r+" frame-after-elements"},M))}const $t=({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 Dt(t){const{tooltipContent:n,tooltipContentArgs:a}=t,[o,r]=e.useState(null),[s,i]=e.useState(null),[c,l]=e.useState(null),[d,u]=e.useState(null),m=e.useCallback(e=>{u(e),$t({tooltipRef:e,tooltipContentArgs:a,changeTooltipContentArgsCurrent:l,changeTooltipContainerInitialDimensions:i,changeCollision:r})},[]);e.useEffect(()=>{r(null),i(null)},[JSON.stringify(a)]),e.useEffect(()=>{d&&!o&&$t({tooltipRef:d,tooltipContentArgs:a,changeTooltipContentArgsCurrent:l,changeTooltipContainerInitialDimensions:i,changeCollision:r})},[d,o]);const p={overflow:"hidden",opacity:o&&c===a?1:0},y=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",h={offset:{x:0,y:0},tooltipContainerInitialDimensions:s};return A.createElement("div",{ref:m,style:p,className:y,"data-testid":"TooltipPositioner"},n(Object.assign(Object.assign({},a),{tooltipContainerAttributes:h})))}const Tt=({d:e,i:t,circle:n})=>{const{padding:a=2,radiusPadding:o=a,label:r}=e,s=Object.assign({dx:0,dy:0,note:{label:r},connector:{end:"arrow"}},e,{coordinates:void 0,x:n.x,y:n.y,type:"callout-circle",subject:{radius:n.r,radiusPadding:o},i:t});if(s.rp)switch(s.rp){case"top":s.dx=0,s.dy=-n.r-s.rd;break;case"bottom":s.dx=0,s.dy=n.r+s.rd;break;case"left":s.dx=-n.r-s.rd,s.dy=0;break;default:s.dx=n.r+s.rd,s.dy=0}return A.createElement(L,{key:e.key||"annotation-"+t,noteData:s})},Rt=({bboxNodes:e,d:t,i:n})=>{const{padding:a=0,dx:o=-25,dy:r=-25,label:s}=t,i=[[Math.min(...e.map(e=>e.x0))-a,Math.min(...e.map(e=>e.y0))-a],[Math.max(...e.map(e=>e.x1))+a,Math.max(...e.map(e=>e.y1))+a]],c=Object.assign({dx:o,dy:r,note:{label:s},connector:{end:"arrow"}},t,{type:"callout-rect",x:i[0][0],y:i[0][1],subject:{width:i[1][0]-i[0][0],height:i[1][1]-i[0][1]}});return A.createElement(L,{key:t.key||"annotation-"+n,noteData:c})},Lt=({points:e,d:t,i:n})=>{const{color:a="currentColor",dx:o=-25,dy:r=-25,label:s,padding:i=10,buffer:c=i,strokeWidth:l=10}=t,d=u.polygonHull(e),m=(new w.default).data([...d,d[0]]).margin(c)[0],p=`M${m.map(e=>e.join(",")).join("L")}Z`,y=m[0],{nx:h=y[0]+o,ny:g=y[1]+r}=t,f=m.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:o,dy:r,note:{label:s},connector:{end:"arrow"}},t,{type:"callout-custom",x:f[0],y:f[1],subject:{custom:[A.createElement("path",{key:"hull-drawing",d:p,strokeWidth:l,strokeMiterlimit:"10",strokeLinejoin:"miter",strokeLinecap:"butt",fill:"none",stroke:a,transform:`translate(${-f[0]},${-f[1]})`})],customID:"hull-annotation"}});return A.createElement(L,{key:t.key||"annotation-"+n,noteData:x})},Bt=({style:e={fill:"white",fillOpacity:.5},size:t,i:n,key:a})=>A.createElement("rect",{"data-testid":"desaturation-layer",key:a||"desaturation-"+n,x:-5,y:-5,width:t[0]+10,height:t[1]+10,style:e}),Vt=e=>({d:t,lines:n,points:a,xScale:o,yScale:r,pointStyle:s})=>{const i="x"===e?o:r;if(e="yTop"===e&&t.yMiddle?"yMiddle":e,t&&t[e]){const{threshold:c=1,r:l=()=>4,styleFn:d=s}=t,u=[],m=c/2;if(n&&n.length>0&&n.forEach(n=>{const a=n.data.filter(n=>{const a=i(n[e]),o=i(t[e]);return o+m>=a&&a>=o-m});u.push(...a)}),a&&a.length>0){const n=a.filter(n=>{const a=i(n[e]),o=i(t[e]);return o+m>=a&&a>=o-m});u.push(...n)}return u.map((e,t)=>A.createElement("circle",{key:"found-circle-"+t,r:l(e,t),style:d(e,t),cx:o(e.xMiddle||e.x),cy:r(e.yMiddle||e.yTop)}))}return null},It=Vt("yTop"),Wt=Vt("x"),Ht=e=>e&&e.extent||Array.isArray(e)&&e||[],Gt=()=>!0,_t={top:ye,bottom:he,orphan:me},Yt={top:fe,bottom:xe,orphan:ue},Xt={stackedarea:Q,"stackedarea-invert":Q,stackedpercent:Q,"stackedpercent-invert":Q,linepercent:Q,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:ne,bumpline:ne,"bumparea-invert":ne,line:ee,area:ee,cumulative:te,"cumulative-reverse":te};function qt(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 Kt(e,t,n){if(void 0===e)return[qt(void 0,t,n)];let a=[];return a=Array.isArray(e)?e:[e],a.map(e=>qt(e,t,n))}function Zt(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 Jt=({lineDataAccessor:e,xAccessor:t,yAccessor:a,summaries:r,points:s,lines:i,lineType:c,showLinePoints:l,showSummaryPoints:d,xExtent:u,yExtent:m,invertX:p,invertY:y,summaryDataAccessor:h,summaryType:g,adjustedSize:f,margin:x,summaryStyleFn:b,summaryClassFn:v,summaryRenderModeFn:k,chartSize:j,filterRenderedLines:E,filterRenderedSummaries:S,filterRenderedPoints:A,defined:O=Gt,annotations:w=[]})=>{let C=[],P=[],z=[],N=[],F=[];if(s){t.forEach((e,t)=>{a.forEach((n,a)=>{let o=0;for(const r of s){const s=e(r,o),i=n(r,o),c={x:s,y:i,data:r,xIndex:t,yIndex:a};Array.isArray(i)&&(c[he]=Math.min(...i),c[ye]=Math.max(...i),c[pe]=(c[he]+c[ye])/2),Array.isArray(s)&&(c[xe]=Math.min(...s),c[fe]=Math.max(...s),c[ge]=(c[xe]+c[fe])/2),z.push(c),o++}})});for(const e of z)C.push(Object.assign(Object.assign({},e),{[ue]:e[fe]||e[xe]||e.x,[me]:e[ye]||e[he]||e.y}))}if(i){P=U({data:i,lineDataAccessor:e,xProp:ue,xPropTop:fe,xPropBottom:xe,yProp:me,yPropTop:ye,yPropBottom:he,xAccessor:t,yAccessor:a}),N=function(e,t){return n=>Xt[Ut(e.type,n)](Object.assign(Object.assign(Object.assign({},e),t),{data:n}))}(c,{xProp:ue,yProp:me,yPropMiddle:pe,yPropTop:ye,yPropBottom:he,xPropMiddle:ge,xPropTop:fe,xPropBottom:xe})(P);for(const e of N)for(let t=0;e.data.length>t;t++){const n=e.data[t];if(!O(Object.assign({},n.data,n),t))continue;const a={parentLine:e,y:n.y,x:n.x,xTop:n.xTop,xMiddle:n.xMiddle,xBottom:n.xBottom,yTop:n.yTop,yMiddle:n.yMiddle,yBottom:n.yBottom,data:n.data};n.percent&&(a.percent=n.percent),C.push(a)}if(l){const e=!0===l?ge:Yt[l],t=!0===l?pe:_t[l];N.forEach(n=>{n.data.filter((e,t)=>{if(O(Object.assign({},e.data,e))){if("orphan"===l){const e=n.data[t-1],a=n.data[t+1];return!(e&&O(Object.assign({},e.data,e))||a&&O(Object.assign({},a.data,a)))}return!0}return!1}).forEach(a=>{z.push(Object.assign(Object.assign({},a),{parentLine:n,[me]:void 0!==a[t]?a[t]:void 0!==a[pe]?a[pe]:void 0!==a[he]?a[he]:a.y,[ue]:void 0!==a[e]?a[e]:void 0!==a[ge]?a[ge]:void 0!==a[xe]?a[xe]:a.y}))})})}}r&&(F=(({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:r,summaryDataAccessor:h,xAccessor:t,yAccessor:a}),F.forEach(e=>{const t=e._baseData;e._xyfCoordinates.length>0&&e._xyfCoordinates[0][0][0]?e._xyfCoordinates[0].forEach(n=>{Array.isArray(n)&&n.map((n,a)=>Object.assign({parentSummary:e},t[a],{[ue]:n[0],[me]:n[1]})).forEach(e=>{d&&z.push(Object.assign(Object.assign({x:0},e),{[me]:e[ye]||e[he]||e[me]})),C.push(Object.assign({x:0,y:0},e))})}):e._xyfCoordinates.length>0&&Array.isArray(e._xyfCoordinates)&&e._xyfCoordinates.map((n,a)=>Object.assign(Object.assign({parentSummary:e},t[a]),{[ue]:n[0],[me]:n[1]})).forEach(e=>{d&&z.push(Object.assign(Object.assign({x:0},e),{[me]:e[ye]||e[he]||e[me]})),C.push(Object.assign({x:0,y:0},e))})}));let $,D,T,R,L=[],B=[];u&&!Array.isArray(u)&&!0===u.includeAnnotations&&t.forEach(e=>{w.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&L.push({[ue]:a})})}),m&&!Array.isArray(m)&&!0===m.includeAnnotations&&a.forEach(e=>{w.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&B.push({[me]:a})})});for(const e of C){const t=void 0===e[xe]?e[ue]:Math.min(e[fe],e[xe]),n=void 0===e[fe]?e[ue]:Math.max(e[xe],e[fe]),a=void 0===e[he]?e[me]:Math.min(e[ye],e[he]),o=void 0===e[ye]?e[me]:Math.max(e[he],e[ye]);void 0===t||void 0!==$&&t>=$||($=t),void 0===n||void 0!==D&&D>=n||(D=n),void 0===a||void 0!==T&&a>=T||(T=a),void 0===o||void 0!==R&&R>=o||(R=o)}for(const e of L){const t=e[ue];void 0===t||void 0!==$&&t>=$||($=t),void 0===t||void 0!==D&&D>=t||(D=t)}for(const e of B){const t=e[me];void 0===t||void 0!==T&&t>=T||(T=t),void 0===t||void 0!==R&&R>=t||(R=t)}const V=[$,D],I=[T,R],W=Ht(u),H=Ht(m);let G=[H&&void 0!==H[0]?H[0]:I[0],H&&void 0!==H[1]?H[1]:I[1]],_=[W&&void 0!==W[0]?W[0]:V[0],W&&void 0!==W[1]?W[1]:V[1]];return!p||W&&2===W.length||(_=[_[1],_[0]]),"bumpline"!==c.type&&!y||H&&2===H.length||(G=[G[1],G[0]]),g.type&&"contour"===g.type?F=Ye({summaryType:g,data:F,finalXExtent:_,finalYExtent:G}):g.type&&"linebounds"===g.type?F=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:qe(t,n,r,s)};a=[...a,o]})}),a}({summaryType:g,data:F,defined:O}):g.type&&"hexbin"===g.type?(F=Xe({summaryType:g,data:F[0],processedData:r&&!!r[0].processedData,preprocess:!1,finalXExtent:_,finalYExtent:G,size:f,margin:x,styleFn:b,classFn:v,renderFn:k,chartSize:j}),C=Zt(C,F)):g.type&&"heatmap"===g.type?(F=Ke({summaryType:g,data:F[0],processedData:r&&!!r[0].processedData,preprocess:!1,finalXExtent:_,finalYExtent:G,size:f,margin:x,styleFn:b,classFn:v,renderFn:k,chartSize:j}),C=Zt(C,F)):g.type&&"trendline"===g.type&&(F=function({preprocess:e=!1,summaryType:t,data:a,finalXExtent:r=[Math.min(...a.coordinates.map(e=>e.x)),Math.max(...a.coordinates.map(e=>e.x))],xScaleType:s=o.scaleLinear()}){if(e)return a[0].coordinates;let i,c=[];i=t.type?t:{type:i};const{regressionType:l="linear",order:d=2,precision:u=4,controlPoints:m=20,curve:p=n.curveCardinal}=i;let y=l;r[0]>=0||"logarithmic"!==l&&"power"!==l&&"exponential"!==l||(console.error(`Cannot use this ${l} regressionType type with value range that goes below 0, defaulting to linear`),y="linear"),a.coordinates&&!a._xyfCoordinates&&(a._xyfCoordinates=a.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(a)?a:[a],g=s.domain([0,1]).range(r);return c=[],h.forEach(e=>{const t=M.default[y](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:d,precision:u}),n=1/m;let a=[0,1];if("linear"!==y){a=[];for(let e=0;1+n>e;e+=n)a.push(e)}const o=[];a.forEach(e=>{o.push(t.predict(g(e)))}),c.push({centroid:!1,customMark:void 0,data:e,parentSummary:e,value:t.string,r2:t.r2,curve:p,_xyfCoordinates:o})}),c}({summaryType:g,data:F[0],preprocess:r&&!!r[0].processedData,finalXExtent:_}),C=Zt(C,F)),E&&(N=N.filter(E),C=C.filter((e,t)=>!e.parentLine||E(e.parentLine,t,[]))),A&&(C=C.filter(A)),S&&(F=F.filter(S),C=C.filter((e,t)=>!e.parentSummary||S(e.parentSummary,t,[]))),{xExtent:_,yExtent:G,projectedLines:N,projectedPoints:z,projectedSummaries:F,fullDataset:C,calculatedXExtent:V,calculatedYExtent:I}},Ut=(e,t)=>!Xt[e]||"difference"===e&&2!==t.length?"line":e,Qt=({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}},en={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"}},tn=(e,t,n,a)=>{const{legend:r,lines:s,lineClass:i,pointStyle:c,pointRenderMode:l,pointClass:d,summaryClass:u,canvasLines:m,canvasPoints:p,canvasSummaries:y,defined:h,size:g,renderKey:f,lineType:x,summaryType:b,customLineMark:v,customPointMark:k,customSummaryMark:j,summaryStyle:E,summaryRenderMode:S,lineStyle:O,lineRenderMode:M,xExtent:w,yExtent:C,title:P,xScaleType:z=o.scaleLinear(),yScaleType:N=o.scaleLinear(),lineIDAccessor:F,invertX:$,invertY:D,showLinePoints:T,showSummaryPoints:R,points:L,lineDataAccessor:B,summaryDataAccessor:V,yAccessor:I,xAccessor:W,useSummariesAsInteractionLayer:H,filterRenderedLines:G,filterRenderedSummaries:_,filterRenderedPoints:Y,annotations:X}=e;let{projectedLines:q,projectedPoints:K,projectedSummaries:Z,summaries:J,fullDataset:U}=e;b&&L&&!J?J=[{coordinates:L}]:b&&"linebounds"===b.type&&s&&!J&&(J=s);const Q=z.domain?z:z(),ee=N.domain?N:N(),te=a.annotatedSettings(W,I,V,B,f,x,b,F),ne=Object.assign(Object.assign({},te),{lineType:xt(x),summaryType:xt(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||A.isValidElement(P)||null===P?{title:P,orient:"top"}:P,xExtent:Array.isArray(w)?w:w?w.extent:void 0,yExtent:Array.isArray(C)?C:C?C.extent:void 0});"area"===ne.lineType.type&&(ne.lineType.y1=()=>0,ne.lineType.simpleLine=!1);const{summaryStyleFn:ae,summaryClassFn:oe,summaryRenderModeFn:re}=a.summaryStyleFns(E,u,S),se=e.axes&&e.axes.map(t=>"function"==typeof t?t({size:e.size}):t),{margin:ie,adjustedPosition:ce,adjustedSize:le}=a.marginCalc(e.margin,se,ne.title,e.size);let de,ue,me,pe,ye,he,ge,fe,xe=[],be=[];me="object"==typeof w?w:{extent:w},pe="object"==typeof C?C:{extent:C},n||e.dataVersion&&e.dataVersion!==t.dataVersion?(ue&&de&&U&&(q||K||Z)||({xExtent:ue,yExtent:de,projectedLines:q,projectedPoints:K,projectedSummaries:Z,fullDataset:U,calculatedXExtent:xe,calculatedYExtent:be}=Jt({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:C,invertX:$,invertY:D,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}=Qt({xExtent:ue,yExtent:de,adjustedSize:le,xScaleType:Q.copy(),yScaleType:ee.copy()}))):(({xExtent:ue,yExtent:de,projectedLines:q,projectedPoints:K,projectedSummaries:Z,fullDataset:U,calculatedXExtent:xe,calculatedYExtent:be}=t),le[0]===t.adjustedSize[0]&&le[1]===t.adjustedSize[1]?(ye=t.xScale,he=t.yScale):({xScale:ye,yScale:he}=Qt({xExtent:ue,yExtent:de,adjustedSize:le,xScaleType:Q,yScaleType:ee}))),ue=Array.isArray(me.extent)&&2===me.extent.length?me.extent:ue,de=Array.isArray(pe.extent)&&2===pe.extent.length?pe.extent:de;const ve={};let ke;if(se&&(fe=[],ge=se.map((t,n)=>{let a=t.className||"";a+=" axis";let o,r=he;ve[t.orient]&&(t.baseline=t.baseline||!1),ve[t.orient]=!0,"top"===t.orient||"bottom"===t.orient?(a+=" x",r=ye):a+=" y",a+=" "+t.orient,t.tickValues&&Array.isArray(t.tickValues)?o=t.tickValues:t.tickValues instanceof Function&&(o=t.tickValues(U,e.size,r));const s=[le[0],le[1]],i=Fe({padding:t.padding,tickValues:o,scale:r,ticks:t.ticks,orient:t.orient,size:s,footer:t.footer,tickSize:t.tickSize,jaggedBase:t.jaggedBase}),c=A.createElement("g",{key:"axes-tick-lines-"+n,className:"axis "+a},De({axisParts:i,orient:t.orient,tickLineGenerator:t.tickLineGenerator,className:a,jaggedBase:t.jaggedBase,scale:r,showOutboundTickLines:t.showOutboundTickLines}),"under"===t.baseline&&$e(t.orient,le,t.className));return fe.push(c),A.createElement(pt,Object.assign({},t,{key:t.key||"axis-"+n,annotationFunction:t.axisAnnotationFunction,axisParts:i,size:s,margin:ie,tickValues:o,scale:r,className:a,xyPoints:U}))})),r&&(ke=!0===r?{}:r,q&&!ke.legendGroups)){const t=ne.lineType.type,n=[{styleFn:e.lineStyle,type:"string"==typeof t&&-1===["stackedarea","stackedpercent","bumparea"].indexOf(t)?"line":"fill",items:q.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&&en[ne.lineType.type],Se={lines:Object.assign(Object.assign({accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t].data[e[t].data.length-1]),{type:"frame-hover"}),data:q},a.lineStyleFns(O,i,M,m)),{customMark:v,type:ne.lineType,defined:h,renderKeyFn:ne.renderKeyFn,ariaLabel:Ee,axesData:se,behavior:tt}),summaries:{accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t]),{type:"frame-hover"}),data:Z,styleFn:ae,classFn:oe,renderMode:re,canvasRender:a.summaryCanvasRender(y),customMark:j,type:ne.summaryType,renderKeyFn:ne.renderKeyFn,behavior:nt},points:Object.assign(Object.assign({accessibleTransform:(e,t)=>Object.assign({type:"frame-hover"},e[t].data||e[t]),data:K},a.pointStyleFns(c,d,l,p)),{customMark:k,renderKeyFn:ne.renderKeyFn,showLinePoints:T,behavior:et})};let Ae;return me.onChange&&t.calculatedXExtent.join(",")!==xe.join(",")&&me.onChange(xe),pe.onChange&&t.calculatedYExtent.join(",")!==be.join(",")&&pe.onChange(be),H&&Z&&(Ae=nt({xScale:ye,yScale:he,data:Z}).map((e,t)=>Object.assign(Object.assign({},e.props),{style:{fillOpacity:0},overlayData:Z&&Z[t]}))),{lineData:e.lines,pointData:e.points,summaryData:e.summaries,dataVersion:e.dataVersion,projectedLines:q,projectedPoints:K,projectedSummaries:Z,canvasDrawing:[],fullDataset:U,adjustedPosition:ce,adjustedSize:le,backgroundGraphics:e.backgroundGraphics,foregroundGraphics:e.foregroundGraphics,axesData:se,axes:ge,axesTickLines:fe,renderNumber:t.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:Se,size:g,annotatedSettings:ne,overlay:Ae,props:e}},nn=()=>({}),an=()=>"",on=["lines","points","summaries","xAccessor","yAccessor","lineDataAccessor","areaDataAccessor","summaryDataAccessor","lineIDAccessor","lineType","summaryType","showLinePoints","showSummaryPoints","defined","xExtent","yExtent","xScaleType","yScaleType","invertX","invertY","filterRenderedLines","filterRenderedPoints","filterRenderedSummaries"],rn=["size","margin","title","axes",...on],sn=["data","oAccessor","rAccessor","dataAccessor","type","summaryType","connectorType","projection","orient","oScaleType","rScaleType","oExtent","rExtent","invertO","invertR","oPadding","oSort","dynamicColumnWidth","rBaseline","summaryPosition","renderFn"],cn=["size","margin","title","axes","oLabel",...sn],ln=["graph","nodes","edges","nodeIDAccessor","sourceAccessor","targetAccessor","nodeSizeAccessor","edgeWidthAccessor","networkType","edgeType","filterRenderedNodes","renderFn"],dn=["size","margin","title","nodeLabels",...ln];function un(t,n,a){let o=e.useRef(a),r=e.useMemo(()=>{let e=o.current,a=t(n,e);return null!=a?Object.assign(Object.assign({},e),a):e},[n]);return o.current=r,r}function mn(t,n){let a=e.useRef();a.current=[t,n],e.useEffect(()=>()=>{const[e,t]=a.current,n=e.onUnmount;n&&n(e,t)},[])}let pn="";for(let e=32;e>0;--e)pn+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];const yn={y:me,x:ue,yMiddle:pe,yTop:ye,yBottom:he,xMiddle:ge,xTop:fe,xBottom:xe},hn={annotations:[],foregroundGraphics:void 0,size:[500,500],className:"",lineType:"line",name:"xyframe",dataVersion:void 0};function gn(t){const r=Object.assign(Object.assign({},hn),t),s=e.useRef({annotatedSettings:C.default((e,t,n,a,o,r,s,i)=>({xAccessor:Kt(e,e=>e[0]),yAccessor:Kt(t,e=>e[1]),summaryDataAccessor:Kt(n,e=>Array.isArray(e)?e:e.coordinates),lineDataAccessor:Kt(a,e=>Array.isArray(e)?e:e.coordinates),renderKeyFn:qt(o,(e,t)=>"line-"+t,!0),lineIDAccessor:qt(i,e=>e.semioticLineID)})),marginCalc:C.default((e,t,n,a)=>{const o=ft({margin:e,axes:t,title:n,size:a}),{adjustedPosition:r,adjustedSize:s}=vt({size:a,margin:o});return{margin:o,adjustedPosition:r,adjustedSize:s}}),summaryStyleFns:C.default((e,t,n)=>({summaryStyleFn:qt(e,nn,!0),summaryClassFn:qt(t,an,!0),summaryRenderModeFn:qt(n,void 0,!0)})),lineStyleFns:C.default((e,t,n,a)=>({styleFn:qt(e,nn,!0),classFn:qt(t,an,!0),renderMode:qt(n,void 0,!0),canvasRender:qt(a,void 0,!0)})),pointStyleFns:C.default((e,t,n,a)=>({styleFn:qt(e,nn,!0),classFn:qt(t,an,!0),renderMode:qt(n,void 0,!0),canvasRender:qt(a,void 0,!0)})),summaryCanvasRender:C.default(e=>qt(e,void 0,!0))}),i={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:o.scaleLinear(),yScale:o.scaleLinear(),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:r},c=e.useMemo(()=>Object.assign(Object.assign({},i),tn(r,i,!0,s.current)),[]),l=un((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:m,size:p,dataVersion:y,lines:h,summaries:g,points:f}=e,x=Ht(u),b=Ht(m),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,S=!i&&on.some(t=>a[t]!==e[t]),A=!i&&rn.some(t=>a[t]!==e[t]),O=s[0]!==p[0]||s[1]!==p[1];return i&&i!==y||!t.fullDataset||k||j||E||v||S?tn(e,t,!0,n):O||A?tn(e,t,!1,n):null}(e,t,s.current),r,c),{size:u,className:m,annotationSettings:p,annotations:y,additionalDefs:h,hoverAnnotation:g,interaction:f,customClickBehavior:x,customHoverBehavior:b,customDoubleClickBehavior:v,canvasPostProcess:k,canvasSummaries:j,canvasPoints:E,canvasLines:S,afterElements:O,beforeElements:M,renderOrder:w,matte:P,frameKey:z,showLinePoints:N,sketchyRenderingEngine:F,disableContext:$,frameRenderOrder:D,disableCanvasInteraction:T,interactionSettings:R,disableProgressiveRendering:B,transition:V}=r,{backgroundGraphics:I,foregroundGraphics:W,adjustedPosition:H,adjustedSize:G,margin:_,axes:Y,axesTickLines:X,xScale:q,yScale:K,fullDataset:J,dataVersion:U,areaAnnotations:Q,legendSettings:ee,xyFrameRender:te,annotatedSettings:ne,overlay:ae}=l;mn(r,l);const oe=e.useRef(r);oe.current=r;const ce=e.useRef(l);ce.current=l;const le=e.useCallback(e=>function(e,t,{d:o,i:r,lines:s,summaries:i,points:c,annotationLayer:l}){const{showLinePoints:u,defined:m,margin:p,size:y,svgAnnotationRules:h}=e,{xyFrameRender:g,xScale:f,yScale:x,xAccessor:b,yAccessor:v,axesData:k,annotatedSettings:j}=t;let E=[];const S=j.lineIDAccessor;if("highlight"===o.type)return(({d:e,i:t,points:a={data:[]},lines:o={data:[],type:{}},summaries:r={data:[]},idAccessor:s,xScale:i,yScale:c,xyFrameRender:l,defined:d})=>{let u;const m=s(Object.assign(Object.assign({},e),e.data),t);void 0!==m?u=m:e.parentLine&&void 0!==s(e.parentLine,t)?u=s(e.parentLine,t):e.parentSummary&&void 0!==s(e.parentSummary,t)&&(u=s(e.parentSummary,t));const p=a.data.filter((e,t)=>s(Object.assign(Object.assign({},e),e.data),t)===u).map((t,n)=>{const a=l.points.styleFn(Object.assign(Object.assign({},t),t.data)),o="function"==typeof e.style?e.style(Object.assign(Object.assign({},t),t.data),n):e.style||{};return A.createElement("circle",{key:"highlight-point-"+n,cx:i(t.x),cy:c(t.y),r:5,fill:"none",stroke:"currentColor",strokeWidth:2,style:Object.assign(Object.assign({},a),o),className:"highlight-annotation "+(e.class&&"function"==typeof e.class&&e.class(Object.assign(Object.assign({},t),t.data),n)||e.class&&e.class||"")})}),y=n.area().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?Ue[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((t,n)=>{const a=l.lines.styleFn(t,n),o="function"==typeof e.style?e.style(t,n):e.style||{};return A.createElement("path",{className:"highlight-annotation "+(e.class&&"function"==typeof e.class&&e.class(t,n)||e.class&&e.class||""),key:"highlight-summary-"+n,d:y(t.data),fill:"none",stroke:"currentColor",strokeWidth:1,style:Object.assign(Object.assign({},a),o)})});return[...r.data.filter((e,t)=>s(e,t)===u).map((t,n)=>{const a=l.summaries.styleFn(t,n),o="function"==typeof e.style?e.style(t,n):e.style||{};return A.createElement("path",{className:"highlight-annotation "+(e.class&&"function"==typeof e.class&&e.class(t,n)||e.class&&e.class||""),key:"highlight-summary-"+n,d:"M"+t.coordinates.join("L"),fill:"none",stroke:"currentColor",strokeWidth:1,style:Object.assign(Object.assign({},a),o)})}),...f,...p]})({d:o,i:r,idAccessor:S,lines:s,summaries:i,points:c,xScale:f,yScale:x,xyFrameRender:g,defined:m});const O=o.coordinates?o:ie({point:o,idAccessor:S,lines:s,xScale:f,projectedX:ue,xAccessor:b});if(!O)return null;const M=ft({margin:p,axes:k,title:j.title,size:y}),{adjustedPosition:w,adjustedSize:C}=vt({size:y,margin:M});O.coordinates||O.bounds?O.bounds||(E=O.coordinates.reduce((e,t)=>{const n=se({point:t,projectedXMiddle:ge,projectedX:ue,xAccessor:b,xScale:f}),a=re({point:t,projectedY:me,yAccessor:v,yScale:x});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]]},[])):E=[se({point:O,projectedXMiddle:ge,projectedX:ue,xAccessor:b,xScale:f})||0,re({point:O,projectedY:me,yAccessor:v,yScale:x,showLinePoints:u})||0];const{voronoiHover:P}=l,z=h&&h({d:O,i:r,screenCoordinates:E,xScale:f,yScale:x,xAccessor:b,yAccessor:v,xyFrameProps:e,xyFrameState:t,summaries:i,points:c,lines:s,voronoiHover:P,adjustedPosition:w,adjustedSize:C,annotationLayer:l});return void 0!==h&&null!==z?z:"desaturation-layer"===O.type?Bt({style:O.style instanceof Function?O.style(O,r):O.style,size:C,i:r,key:O.key}):"xy"===O.type||"frame-hover"===O.type?(({screenCoordinates:e,i:t,d:n})=>{let a;n.color&&(a={fill:n.color});const o=A.createElement("circle",{className:`annotation ${n.type} ${n.className||""} `,key:"annotationpoint"+t,cx:e[0],cy:e[1],style:a,fill:"none",stroke:"currentColor",r:5});let r;return"xy"===n.type&&(r=A.createElement("text",{key:`${n.label}annotationtext${t}`,x:e[0],y:10+e[1],"data-testid":"annotation-xy-label",className:`annotation annotation-xy-label ${n.className||""} `},n.label)),[o,r]})({d:O,i:r,screenCoordinates:E}):"function"==typeof O.type||fn.has(O.type)?(({screenCoordinates:e,d:t,i:n})=>{const a=Object.assign({dx:0,dy:0,note:{label:t.label,orientation:t.orientation,align:t.align},connector:{end:"arrow"}},t,{type:t.type,screenCoordinates:e,i:n});return a.x=a.fixedX?a.fixedX:e[0],a.y=a.fixedY?a.fixedY:e[1],A.createElement(L,{key:t.key||"annotation-"+n,noteData:a})})({d:O,screenCoordinates:E,i:r}):"enclose"===O.type?(({screenCoordinates:e,d:t,i:n})=>{const a=d.packEnclose(e.map(e=>({x:e[0],y:e[1],r:2})));return Tt({d:t,circle:a,i:n})})({d:O,screenCoordinates:E,i:r}):"enclose-rect"===O.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 Rt({bboxNodes:a,d:e,i:t})})({d:O,screenCoordinates:E,i:r}):"enclose-hull"===O.type?(({screenCoordinates:e,d:t,i:n})=>Lt({points:e,d:t,i:n}))({d:O,screenCoordinates:E,i:r}):"x"===O.type?(({screenCoordinates:e,d:t,i:n,adjustedSize:a})=>{const o=Object.assign({dx:50,dy:20,y:0,note:{label:t.label},connector:{end:"arrow"}},t,{type:"xy-threshold",x:e[0],subject:{x:e[0],y1:0,y2:a[1]},i:n});return A.createElement(L,{key:t.key||"annotation-"+n,noteData:o})})({d:O,screenCoordinates:E,i:r,adjustedSize:C}):"y"===O.type?(({screenCoordinates:e,d:t,i:n,adjustedSize:a,adjustedPosition:o})=>{const r=Object.assign({dx:50,dy:-20,x:25*n,note:{label:t.label},connector:{end:"arrow"}},t,{type:"xy-threshold",y:e[1],subject:{y:e[1],x1:0,x2:a[0]+o[0]},i:n});return A.createElement(L,{key:t.key||"annotation-"+n,noteData:r})})({d:O,screenCoordinates:E,i:r,adjustedSize:C,adjustedPosition:w}):"bounds"===O.type?(({d:e,i:t,adjustedSize:n,xAccessor:a,yAccessor:o,xScale:r,yScale:s})=>{const i=Z(a,e.bounds[0]),c=Z(o,e.bounds[0]),l=Z(a,e.bounds[1]),d=Z(o,e.bounds[1]),u=i?r(i):0,m=c?s(c):n[1],p=l?r(l):n[0],y=d?s(d):0,h=Object.assign({dx:250,dy:-20,note:{label:e.label},connector:{end:"arrow"}},e,{type:"callout-rect",x:Math.min(u,p),y:Math.min(m,y),subject:{width:Math.abs(p-u),height:Math.abs(m-y)},i:t});return A.createElement(L,{key:e.key||"annotation-"+t,noteData:h})})({d:O,i:r,adjustedSize:C,xAccessor:b,yAccessor:v,xScale:f,yScale:x}):"line"===O.type?(({d:e,i:t,screenCoordinates:a})=>{const o=n.line().x(e=>e[0]).y(e=>e[1])(a);return[A.createElement("path",{key:`${e.label}annotationline${t}`,d:o,className:`annotation annotation-line ${e.className||""} `}),A.createElement("text",{key:`${e.label}annotationlinetext${t}`,x:(a[0][0]+a[1][0])/2,y:(a[0][1]+a[1][1])/2,className:`annotation annotation-line-label ${e.className||""} `},e.label)]})({d:O,i:r,screenCoordinates:E}):"area"===O.type?(({d:e,i:t,xScale:n,xAccessor:o,yScale:r,yAccessor:s,annotationLayer:i})=>{const c=`M${e.coordinates.map(e=>[n(Z(o,e)),r(Z(s,e))]).join("L")}Z`,l=a.extent(e.coordinates.map(e=>n(Z(o,e)))),d=a.extent(e.coordinates.map(e=>r(Z(s,e)))),u=(l[0]+l[1])/2,m=(d[0]+d[1])/2;return[A.createElement("path",{key:`${e.label}-annotation-area-${t}`,d:c,className:`annotation annotation-area ${e.className||""} `}),A.createElement("text",{key:`${e.label}-annotationtext-${t}`,x:u,y:m,transform:`translate(${i.position})`,className:`annotation annotation-area-label ${e.className||""} `,style:{textAnchor:"middle"}},e.label)]})({d:O,i:r,xScale:f,xAccessor:b,yScale:x,yAccessor:v,annotationLayer:l}):"horizontal-points"===O.type?It({d:O,lines:s.data,points:c.data,xScale:f,yScale:x,pointStyle:c.styleFn}):"vertical-points"===O.type?Wt({d:O,lines:s.data,points:c.data,xScale:f,yScale:x,pointStyle:c.styleFn}):null}(oe.current,ce.current,e),[]),de=e.useCallback(e=>function(e,t,{d:n,i:a,lines:o,summaries:r,points:s,annotationLayer:i}){const{xAccessor:c,yAccessor:l,xScale:d,yScale:u,annotatedSettings:m,axesData:p}=t,{voronoiHover:y}=i;let h=[];const{tooltipContent:g,optimizeCustomTooltipPosition:f,htmlAnnotationRules:x,size:b,showLinePoints:v,margin:k}=e,j=m.lineIDAccessor,E=ie({point:n,idAccessor:j,lines:o,xScale:d,projectedX:ue,xAccessor:c});if(!E)return null;const S=E[ge]||E[ue]||Z(c,E),O=E[pe]||E[me]||Z(l,E),M=S&&S.toString?""+S:S,w=O&&O.toString?""+O:O,C=ft({margin:k,axes:p,title:m.title,size:b}),{adjustedPosition:P,adjustedSize:z}=vt({size:b,margin:C});h=E.coordinates?E.coordinates.map(e=>{const t=ie({point:Object.assign({x:0,y:0},e),idAccessor:j,lines:o,xScale:d,projectedX:ue,xAccessor:c});return[(d(Z(c,E))||0)+P[0],(re({point:t,projectedY:me,yAccessor:l,yScale:u})||0)+P[1]]}):[d(S)||0,re({point:E,projectedY:me,showLinePoints:v,yAccessor:l,yScale:u})||0];const N=x&&x({d:E,i:a,screenCoordinates:h,xScale:d,yScale:u,xAccessor:c,yAccessor:l,xyFrameProps:e,xyFrameState:t,summaries:r,points:s,lines:o,voronoiHover:y,adjustedPosition:P,adjustedSize:z,annotationLayer:i});if(x&&null!==N)return N;if("frame-hover"===E.type){let e=A.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},A.createElement("p",{key:"html-annotation-content-1"},M),A.createElement("p",{key:"html-annotation-content-2"},w),E.percent?A.createElement("p",{key:"html-annotation-content-3"},Math.floor(1e3*E.percent)/10,"%"):null);return"frame-hover"===E.type&&g&&(e=f?A.createElement(Dt,{tooltipContent:g,tooltipContentArgs:E}):g(E)),(({content:e,screenCoordinates:t,i:n,d:a,adjustedSize:o})=>{const r={position:"absolute",top:t[1]+"px"};return o&&t[0]>o[0]/2?r.right=o[0]-t[0]+"px":r.left=t[0]+"px",A.createElement("div",{key:"xylabel-"+n,className:`annotation annotation-xy-label ${a.className||""} `,style:r},e)})({content:e,screenCoordinates:h,i:a,d:E,adjustedSize:z})}return null}(oe.current,ce.current,e),[]),ye=e.useMemo(()=>Q.length>0?[...y,...Q]:y,[y,Q]),he=e.useMemo(()=>"string"==typeof N?N:void 0,[N]),fe=e.useMemo(()=>!!(j||E||S),[j,E,S]);return A.createElement(Ft,{name:"xyframe",renderPipeline:te,adjustedPosition:H,size:u,projectedCoordinateNames:yn,xScale:q,yScale:K,axes:Y,axesTickLines:X,title:ne.title,dataVersion:U,matte:P,className:m,adjustedSize:G,frameKey:z||pn,additionalDefs:h,hoverAnnotation:g,defaultSVGRule:le,defaultHTMLRule:de,annotations:ye,annotationSettings:p,legendSettings:ee,projectedYMiddle:pe,interaction:f,customClickBehavior:x,customHoverBehavior:b,customDoubleClickBehavior:v,points:J,showLinePoints:he,margin:_,backgroundGraphics:I,foregroundGraphics:W,beforeElements:M,afterElements:O,disableContext:$,canvasPostProcess:k,canvasRendering:fe,renderOrder:w,overlay:ae,sketchyRenderingEngine:F,frameRenderOrder:D,disableCanvasInteraction:T,interactionSettings:R,disableProgressiveRendering:B,transition:V})}const fn=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);gn.displayName="XYFrame";const xn=A.memo(gn),bn=(e,t)=>{const n=e(t);return n&&n.toString&&""+n||n};function vn(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 kn({column:e}){return A.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},A.createElement("p",{key:"or-annotation-1"},e.name),A.createElement("p",{key:"or-annotation-2"},(100*e.pct).toFixed(0)+"%"))}const jn=({d:e,projectedColumns:t,oAccessor:n,summaryType:o,type:r,projection:s,adjustedPosition:i,adjustedSize:c})=>{const l="object"==typeof e.column?e.column:t[e.facetColumn]||t[Z(n,e)];if(!l)return{coordinates:[0,0],pieces:void 0,column:void 0};const d=l.pieceData||l.pieces,u=o.type&&"none"!==o.type||["swarm","point","clusterbar","timeline"].find(e=>e===r.type)?a.max(d.map(e=>e.scaledValue)):"horizontal"===s?a.max(d.map(e=>0>e.value?e.bottom:e.scaledValue+e.bottom)):a.min(d.map(e=>0>e.value?e.bottom:e.bottom-e.scaledValue));let m=l.middle+i[0],p=o.type&&"none"!==o.type||["swarm","point","clusterbar","timeline"].find(e=>e===r.type)?c[1]-u:u;if(p+=10,"horizontal"===s)p=l.middle,m=u+i[0];else if("radial"===s){const{pieArc:e}=l,{translate:t,outerPoint:n,centroid:a}=e;m=(a[0]+n[0])/2+t[0],p=(a[1]+n[1])/2+t[1]}return{coordinates:[m,p],pieces:d,column:l}},En=(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},Sn=({p:e,adjustedSize:t,rScale:n,oColumn:a,rAccessor:o,idPiece:r,projection:s,rScaleType:i})=>{const c=Z(o,e)||e.value,l=Array.isArray(c)?Math.max(...c):c;let d;if(d=a?a.middle:0,a&&"radial"===s)return Ve([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 An(e,t,n){return A.createElement(pt,{label:e.label,key:e.key||"orframe-summary-axis-"+t,orient:e.orient,size:e.size,ticks:e.ticks,tickSize:e.tickSize,tickFormat:e.tickFormat,tickValues:e.tickValues,rotate:e.rotate,scale:n,className:e.className})}const On=2*Math.PI,Mn=({type:e,ordset:t,adjustedSize:a,piece:r,i:s})=>{let{innerRadius:i}=e;const{offsetAngle:c=0,angleRange:l=[0,360]}=e,d=c/360,u=l.map(e=>e/360),m=u[1]-u[0],p=1>m?o.scaleLinear().domain([0,1]).range(u):e=>e;let y="clusterbar"===e.type?0:"timeline"===e.type?r.scaledValue/2:r.bottom/2,h="clusterbar"===e.type?r.scaledValue/2:"timeline"===e.type?r.scaledEndValue/2:r.scaledValue/2+r.bottom/2;if(i){i=parseInt(i,10);const e=a[0]/2,t=(e-i)/e;y=y*t+i,h=h*t+i}const g=n.arc().innerRadius(y).outerRadius(h),f=("clusterbar"===e.type?(t.pct-t.pct_padding)/t.pieceData.length:t.pct)*m,x=p("clusterbar"===e.type?t.pct_start+s/t.pieceData.length*(t.pct-t.pct_padding):1===t.pct?0:t.pct_start+d),b=1===t.pct?u[1]:Math.max(x,x+f-t.pct_padding/2),v=x*On,k=b*On,j=g({startAngle:v,endAngle:k}),E=g.centroid({startAngle:v,endAngle:k}),S=a[0]/2,A=a[1]/2,O=E[0]+S,M=E[1]+A,w=Ve([0,0],(x+b)/2,r.scaledValue/2),C=`translate(${S},${A})`;return{xPosition:O,yPosition:M,xy:{arcGenerator:g,startAngle:v,endAngle:k,dx:w[0],dy:w[1]},translate:C,tx:S,ty:A,markProps:{markType:"path",d:j,transform:C}}},wn=({type:e,projection:t,finalHeight:n,finalWidth:a,styleFn:o,classFn:r})=>(s,i,c)=>{const l="string"==typeof e.icon?e.icon:e.icon(s.data,i),{iconPadding:d=1,resize:u="auto"}=e,m=P.default(l),p=[0-m.x1+d,0-m.y1+d];m.height+=2*d,m.width+=2*d;const y=[];let h=m.height,g=1,f=1;const x="horizontal"===t?n:a,b="horizontal"===t?m.height:m.width,v="horizontal"===t?m.width:m.height,k="horizontal"===t?c.width:c.height,j="horizontal"===t?c.height:c.width;"auto"===u?(h=x/b,1>h?f=h:(g=Math.floor(h),f=1+(h-g)/g)):"fixed"===u&&(f=x/b);const E=m.height*f,S=v*f,O=b*f;p[0]=p[0]*f,p[1]=p[1]*f;const M=`iso-clip-${i}-${Math.random()}`,w=`url(#${M})`;if(c.width>0){y.push(A.createElement("clipPath",{key:M,id:M},A.createElement("rect",{x:0,y:0,width:c.width,height:c.height})));const e=[],n="horizontal"===t?S:-S,a="horizontal"===t?(e,t)=>t>e:(e,t,n)=>e>0+n;for(let d="horizontal"===t?0:c.height-E;a(d,k,n);d+=n)for(let n=0;j>n;n+=O)e.push(A.createElement("path",{key:`icon-${d}-${n}`,transform:`translate(${("horizontal"===t?d:n)+p[0]},${("horizontal"===t?n:d)+p[1]}) scale(${f})`,vectorEffect:"non-scaling-stroke",d:l,style:o(Object.assign(Object.assign({},s),s.data),i),className:r(Object.assign(Object.assign({},s),s.data),i)}));y.push(A.createElement("g",{key:"clipped-region-"+i,clipPath:w},e))}return y},Cn=e=>()=>e,Pn={clusterbar:function({type:e,data:t,renderMode:n,eventListenersGenerator:a,styleFn:o,projection:r,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d}){let u=[];return Object.keys(t).forEach((m,p)=>{const y=t[m],h=Math.max(y.width,1)/y.pieceData.length;let g=0,f=0;const x=y.pieceData.map((t,u)=>{const x=n&&n(t.data,u);let b=t.x,v=t.base,k=h,j=t.scaledValue,E={x:0,y:0};t.negative||(v-=t.scaledValue),"horizontal"===r&&(v=t.x,b=t.base,j=h,k=t.scaledValue,E.x=t.scaledValue,t.negative&&(b-=t.scaledValue,E.x=b));let S={},O=0,M=0;if("radial"===r){let n,a;({xPosition:b,yPosition:v,markProps:S,xy:E,tx:n,ty:a}=Mn({type:e,ordset:y,adjustedSize:i,piece:t,i:u})),O=n,M=a,E.x=b}else b+=g,v+=f,S={markType:"rect",x:b,y:v,width:Math.max(0,k),height:Math.max(0,j),rx:0,ry:0},"vertical"===r&&(E.x=b);const w=a(t,u);E.y=v,E.middle=h/2,E.height=j,E.width=k,e.icon&&"radial"!==r?e.customMark=wn({type:e,projection:r,finalHeight:j,finalWidth:k,styleFn:o,renderValue:x,classFn:s}):e.icon&&"radial"===r&&console.error("Icons are currently unsupported on radial charts");const C=e.customMark?A.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${b},${v})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:b,y:v}),u,Object.assign(Object.assign({},E),{renderMode:n,styleFn:o,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d}))):Object.assign(Object.assign({className:s(Object.assign(Object.assign({},t),t.data),u),key:"piece-"+t.renderKey,transform:void 0,style:o(Object.assign(Object.assign({},t),t.data),p)},S),w);return"horizontal"===r?f+=j:g+=k,{o:m,xy:E,piece:t,tx:O,ty:M,renderValue:x,renderElement:C}});u=[...u,...x]}),u},bar:function({type:e,data:t,renderMode:n,eventListenersGenerator:a,styleFn:o,projection:r,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d}){let u=[];return Object.keys(t).forEach((m,p)=>{const y=t[m],h=Math.max(y.width,1);y.pieceData.forEach((t,g)=>{const f=t.scaledValue,x=n&&n(t.data,g);let b=t.x,v=t.bottom,k=h,j=f,E={};t.negative||(v-=t.scaledValue),"vertical"===r?E={x:b,y:v,middle:h/2,height:j,width:k}:"horizontal"===r&&(v=t.x,b=t.bottom,j=h,k=f,E={x:b+t.scaledValue,y:v,middle:h/2,height:j,width:k},t.negative&&(b=t.bottom-t.scaledValue));let S,O=0,M=0;if("radial"===r){let n,a;({markProps:S,xPosition:b,yPosition:v,tx:n,ty:a}=Mn({type:e,ordset:y,adjustedSize:i,piece:t,i:g})),O=n,M=a,j=void 0,k=void 0,E={x:b,y:v,middle:h/2,height:j,width:k}}else S={markType:"rect",x:b,y:v,width:Math.max(0,k),height:Math.max(0,j),rx:0,ry:0};const w=a(t,g);e.icon&&"radial"!==r?e.customMark=wn({type:e,projection:r,finalHeight:j,finalWidth:k,styleFn:o,renderValue:x,classFn:s}):e.icon&&"horizontal"!==r&&console.error("Icons are currently unsupported in radial charts");const C=e.customMark?A.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${b},${v})`,role:"img",tabIndex:-1},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:b,y:v}),g,Object.assign(Object.assign({},E),{renderMode:n,styleFn:o,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d}))):Object.assign(Object.assign({className:s(Object.assign(Object.assign({},t),t.data),g),key:"piece-"+t.renderKey,style:o(Object.assign(Object.assign({},t),t.data),p)},w),S);u.push({o:m,xy:E,piece:t,tx:O,ty:M,renderValue:x,renderElement:C})})}),u},point:function({type:e,data:t,renderMode:n,eventListenersGenerator:a,styleFn:o,projection:r,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d}){const u=e.r||3;let m=[];return Object.keys(t).forEach((p,y)=>{const h=t[p],g=[];h.pieceData.forEach((t,m)=>{const f=n&&n(t.data,m);let x=h.middle,b=t.scaledVerticalValue;if("horizontal"===r)b=h.middle,x=t.scaledValue;else if("radial"===r){const e=Ve([i[0]/2,i[1]/2],h.pct_middle,t.scaledValue/2);x=e[0],b=e[1]}const v="function"==typeof u?u(t,m):u,k=a(t,m),j=e.customMark?A.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${x},${b})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:x,y:b,width:h.width}),m,{r:u,x:x,y:b,renderMode:n,styleFn:o,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d})):Object.assign({className:s(Object.assign(Object.assign({},t),t.data),m),markType:"rect",key:"piece-"+t.renderKey,height:2*v,width:2*v,x:x-v,y:b-v,rx:v,ry:v,style:o(Object.assign(Object.assign({},t),t.data),y)},k);g.push({o:p,xy:{x:x,y:b},piece:t,renderValue:f,renderElement:j})}),m=[...m,...g]}),m},swarm:function({type:e,data:t,renderMode:n,eventListenersGenerator:a,styleFn:o,projection:r,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d}){let u=[];const m=Object.keys(t),p=m.reduce((e,n)=>{var a;return e+((null===(a=t[n].pieceData)||void 0===a?void 0:a.length)||0)},0),y=void 0!==e.iterations?e.iterations:Math.max(30,Math.min(120,Math.floor(120-(p-100)/20)));return m.forEach((p,h)=>{const f=t[p],x=1/m.length,b=f.pieceData,v=f.width,k=e.r||Math.max(2,Math.min(5,4*v/b.length)),j=g.forceSimulation(b).force("y",g.forceY(e=>e.scaledValue).strength(e.strength||2)).force("x",g.forceX(f.middle)).force("collide",g.forceCollide(k)).stop();"vertical"===r&&j.force("y",g.forceY(e=>e.scaledVerticalValue).strength(e.strength||2));for(let e=0;y>e;++e)j.tick();const E=b.map((t,u)=>{const m=n&&n(t.data,u);let y=t.x,g=t.y;if("horizontal"===r)g=t.x,y=t.y;else if("radial"===r){y=(t.x-f.middle)/v*x;const e=Ve([i[0]/2,i[1]/2],f.pct_middle+y,t.scaledValue/2);y=e[0],g=e[1]}const b="function"==typeof k?k(t,u):k,j=a(t,u),E=e.customMark?A.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${y},${g})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:y,y:g}),u,{x:y,y:g,r:k,renderMode:n,styleFn:o,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d})):Object.assign({className:s(Object.assign(Object.assign({},t),t.data),u),markType:"rect",key:"piece-"+t.renderKey,height:2*b,width:2*b,x:y-b,y:g-b,rx:b,ry:b,style:o(Object.assign(Object.assign({},t),t.data),h)},j);return{o:p,xy:{x:y,y:g},piece:t,renderValue:m,renderElement:E}});u=[...u,...E]}),u},timeline:function({type:e,data:t,renderMode:n,eventListenersGenerator:a,styleFn:o,projection:r,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d}){let u=[];return Object.keys(t).forEach((m,p)=>{const y=t[m],h=[];y.pieceData.forEach((t,u)=>{let g,f,x=0,b=0;const v=n&&n(t.data,u);let k=y.x,j=t.scaledEndValue-t.scaledValue,E=t.scaledVerticalValue-j,S=y.width,O={markType:"rect",height:0>j?-j:j,width:S,x:k,y:0>j?E+j:E};if("horizontal"===r)E=y.x,k=t.scaledValue,g=t.scaledEndValue-t.scaledValue,f=t.scaledBottom,S=t.scaledEndValue-t.scaledValue,j=y.width,O={markType:"rect",height:j,width:0>S?-S:S,x:0>S?k+S:k,y:E};else if("radial"===r){let n,a;({markProps:O,tx:n,ty:a}=Mn({piece:t,type:e,ordset:y,adjustedSize:i,i:u})),x=n,b=a}const M=a(t,u),w={x:k,y:E,scaledValue:g,scaledBottom:f,height:j},C=e.customMark?A.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${k},${E+j})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:k,y:E}),u,Object.assign(Object.assign({},w),{renderMode:n,styleFn:o,classFn:s,adjustedSize:i,chartSize:c,margin:l,rScale:d}))):Object.assign(Object.assign({className:s(Object.assign(Object.assign({},t),t.data),u),key:"piece-"+t.renderKey,style:o(Object.assign(Object.assign({},t),t.data),p)},O),M);h.push({o:m,xy:w,piece:t,tx:x,ty:b,renderValue:v,renderElement:C})}),u=[...u,...h]}),u}},zn=e=>e.middle?e.middle:0,Nn=Cn(0),Fn=2*Math.PI,$n={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"}},Dn=(e,t,r)=>{let s;const i={},{oPadding:c=0,summaryType:l,type:d,connectorType:u,oAccessor:m,rAccessor:p,connectorStyle:y,style:h,rExtent:g,oSort:f,pieceClass:x,summaryStyle:b,summaryClass:v,dynamicColumnWidth:k,projection:j,customHoverBehavior:E,customClickBehavior:S,customDoubleClickBehavior:O,size:M,pixelColumnWidth:w,title:C,oLabel:P,hoverAnnotation:z,pieceHoverAnnotation:N,summaryHoverAnnotation:F,backgroundGraphics:$,foregroundGraphics:D,oScaleType:T,rScaleType:R,legend:L,renderKey:B,data:V,margin:I,oExtent:W,axes:H,pieceIDAccessor:G,multiAxis:_,annotations:Y}=e,X="radial"===j?0:c,q=xt(l),K=xt(d),Z=xt(u),J=r.accessorConversions(m,p,B,G),U=J.oAccessor,Q=J.rAccessor,ee=J.renderKey,te=()=>({}),{connectorStyle:ne,summaryStyle:ae,pieceStyle:oe,pieceClass:re,summaryClass:se,connectorClass:ie,pieceRenderMode:ce,summaryRenderMode:le,connectorRenderMode:de,pieceCanvasRender:ue,summaryCanvasRender:me,connectorCanvasRender:pe}=r.styleFns(y,b,h,x,v,e.connectorClass,e.renderMode,e.summaryRenderMode,e.connectorRenderMode,e.canvasPieces,e.canvasSummaries,e.canvasConnectors),ye="object"!=typeof C||A.isValidElement(C)||null===C?{title:C,orient:"top"}:C,he=J.pieceIDAccessor,ge=Array.isArray(p)?p:[p],fe=Array.isArray(m)?m:[m];let xe=Q,be=k;if("radial"===j){if(!be){const e=Q;be=t=>a.sum(t,t=>{let n=0;for(const a of e)n+=a(t)||0;return n})}xe=[()=>1]}const{allData:ve,multiExtents:ke}=bt({data:V,renderKey:ee,oAccessor:U,rAccessor:xe,originalRAccessor:ge,originalOAccessor:fe,multiAxis:_});let je;const Ee=t.props,Se=e.data!==Ee.data||e.size[0]!==Ee.size[0]||e.size[1]!==Ee.size[1]||e.margin!==Ee.margin||!t.columnOverlays||0===t.columnOverlays.length||e.customClickBehavior!==Ee.customClickBehavior||e.customDoubleClickBehavior!==Ee.customDoubleClickBehavior||e.customHoverBehavior!==Ee.customHoverBehavior;let Ae;Array.isArray(H)?Ae=H.map(t=>"function"==typeof t?t({size:e.size}):t):H&&(Ae=[H].map(t=>"function"==typeof t?t({size:e.size}):t)),ke&&H&&Ae.forEach((e,t)=>{e.extentOverride=ke[t]});const{margin:Oe,adjustedPosition:Me,adjustedSize:we}=r.marginCalc(I,Ae,ye,P,j,M),Ce=void 0===W||Array.isArray(W)?{extent:W}:W,Pe=ve.reduce((e,t)=>{const n=t.column,a=void 0!==n?n+"":n;return-1===e.indexOf(a)&&e.push(a),e},[]);let ze=Ce.extent||Pe;if("barpercent"===K.type){const e=ze.map(e=>ve.filter(t=>t.column+""===e).reduce((e,t)=>e+t.value,0)).reduce((e,t,n)=>(e[ze[n]]=t,e),{});ve.forEach(t=>{t.value=e[t.column]&&t.value/e[t.column]||0}),K.type="bar"}w&&("radial"===j?console.error("pixelColumnWidth is not honored in radial mode"):"vertical"===j?we[0]=ze.length*w:we[1]=ze.length*w);const Ne="vertical"===j&&[0,we[0]]||[0,we[1]],Te=ze.reduce((e,t)=>(e[t]=1/ze.length*Ne[1],e.total+=e[t],e),{total:0}),Re=T,Le=be?o.scaleOrdinal():(null==Re?void 0:Re.domain)?Re:Re();let Be;Le.domain(ze);const We=void 0===g||Array.isArray(g)?{extent:g,onChange:void 0,includeAnnotations:!1}:g;let He=We.extent,Ge=[0,0];"bar"===K.type&&q.type&&"none"!==q.type&&(K.type="none");const _e=[];if(We.includeAnnotations&&Y&&Q.forEach(e=>{Y.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&_e.push(a)})}),"timeline"===K.type){const e=ve.map(e=>e.value),t=a.extent(e.map(e=>e[0])),n=a.extent(e.map(e=>e[1]));He=a.extent([...t,...n,..._e])}else if("bar"!==K.type)He=a.extent([...ve.map(e=>e.value),..._e]);else{const e=[],t=[],n={},o={};for(const a of ve)0>a.value?(o[a.column]||(o[a.column]={column:a.column,value:0},t.push(o[a.column])),o[a.column].value+=a.value):(n[a.column]||(n[a.column]={column:a.column,value:0},e.push(n[a.column])),n[a.column].value+=a.value);const r=_e.filter(e=>e>0);He=[0,0===e.length&&0===r.length?0:Math.max(a.max([...e.map(e=>e.value),...r]),0)];const s=_e.filter(e=>0>e);Ge=[0,0===t.length?0:Math.min(a.min([...t.map(e=>e.value),...s]),0)],He=[Ge[1],He[1]]}("clusterbar"===K.type||_)&&He[0]>0&&(He[0]=0);const Ye=He;We.extent&&void 0!==We.extent[0]&&void 0!==We.extent[1]?He=We.extent:(We.extent&&void 0!==We.extent[1]&&void 0===We.extent[0]&&(He[1]=We.extent[1]),We.extent&&void 0!==We.extent[0]&&void 0===We.extent[1]&&(He[0]=We.extent[0])),(e.invertR||We.extent&&We.extent[0]>We.extent[1])&&(He=[He[1],He[0]]);const Xe={};for(const e of ve)Xe[e.column]||(Xe[e.column]=[]),Xe[e.column].push(e);if(void 0!==f)ze=ze.sort((e,t)=>f(e,t,Xe[e].map(e=>e.data),Xe[t].map(e=>e.data))),Le.domain(ze);else{const e={};for(const t of ze)e[t]=a.sum(Xe[t],e=>e.value);let t;if(be){let e;t={},e="string"==typeof be?e=>a.sum(e,e=>e.data[be]):e=>be(e.map(e=>e.data));for(const n of ze)t[n]=e(Xe[n])}ze=ze.sort((n,a)=>{const o=e[a]-e[n];return 0!==o?o:t?t[a]-t[n]:0}),Le.domain(ze)}if(be){let e;e="string"==typeof be?e=>a.sum(e,e=>e.data[be]):e=>be(e.map(e=>e.data));const t=[0],n=[];Be=0,ze.forEach(t=>{const a=ve.filter(e=>e.column===t),o=e(a);n.push(o),Be+=o}),Te.total=0,ze.forEach((e,a)=>{const o=n[a]/Be*(Ne[1]-Ne[0]);Te[e]=o,Te.total+=o,a!==ze.length-1&&t.push(o+t[a])}),Le.range(t)}else Le.range(Ne);const qe="vertical"===j&&[0,we[1]]||[0,we[0]],Ke=R.domain?R:R(),Ze=Ke(0);We.extent&&void 0!==We.extent[0]&&(isNaN(Ze)||Ze===-1/0||Ze===1/0)&&(He[0]=We.extent[0]);const Je=Ke.copy().domain(He).range(qe),Ue=o.scaleLinear().domain(qe).range(qe.reverse()),Qe=Ke.copy().domain(He).range(qe),et=Te?0:Le.bandwidth();let tt=[],nt=we[1];"vertical"===j&&(nt=we[0]);const at=((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})(Le,nt,X);tt=ze.map(e=>Xe[e]?Xe[e]:[]);let ot="vertical"===j?Ue(Je(0)):Je(0);!isNaN(ot)&&ot!==-1/0&&ot!==1/0||!We.extent||void 0===We.extent[0]||Ze!==-1/0&&Ze!==1/0||(ot="vertical"===j?Ue(Je(We.extent[0])):Je(We.extent[0])),ze.forEach((t,n)=>{i[t]={name:t,padding:X,pieceData:tt[n],pieces:tt[n]},i[t].x=Le(t)+X/2,i[t].y=0,i[t].middle=at[t]+X/2;let a=ot,o=ot,r=0;i[t].pieceData.forEach(e=>{let n;"timeline"===K.type?(e.scaledValue=Je(e.value[0]),e.scaledEndValue=Je(e.value[1]),e.scaledVerticalValue=Qe(e.value[0])):"bar"!==K.type&&"clusterbar"!==K.type?(e.scaledValue=Je(e.value),e.scaledVerticalValue=Qe(e.value)):"clusterbar"===K.type&&(n="vertical"===j?Ue(Je(e.value)):Je(e.value),e.scaledValue=Math.abs(ot-n)),e.x=i[t].x,0>e.value?("bar"===K.type&&(e.scaledValue=Math.abs("vertical"===j?Je(e.value)-Je(0):Je(e.value)-ot)),e.base=ot,e.bottom="bar"===K.type?a:0,e.middle=a-e.scaledValue/2,a="vertical"===j?a+e.scaledValue:a-e.scaledValue,e.negative=!0):("bar"===K.type&&(e.scaledValue="vertical"===j?o-Ue(Je(r+e.value)):Je(r+e.value)-o,r+=e.value),e.base=ot,e.bottom="bar"===K.type?o:0,e.middle=e.scaledValue/2+o,o="vertical"===j?o-e.scaledValue:o+e.scaledValue,e.negative=!1)}),Te?(i[t].width=Te[t]-X,"center"===e.ordinalAlign&&(0===n?(i[t].x=i[t].x-i[t].width/2,i[t].middle=i[t].middle-i[t].width/2):(i[t].x=i[ze[n-1]].x+i[ze[n-1]].width,i[t].middle=i[t].x+i[t].width/2)),i[t].pct=Te[t]/Te.total,i[t].pct_start=(i[t].x-Ne[0])/Te.total,i[t].pct_padding=X/Te.total,i[t].pct_middle=(i[t].middle-Ne[0])/Te.total):(i[t].width=et-X,"center"===e.ordinalAlign&&(i[t].x=i[t].x-i[t].width/2,i[t].middle=i[t].middle-i[t].width/2),i[t].pct=et/we[1],i[t].pct_start=(i[t].x-Ne[0])/we[1],i[t].pct_padding=X/we[1],i[t].pct_middle=(i[t].middle-Ne[0])/we[1])});const rt=[],st=[],it="object"==typeof P?Object.assign({label:!0,padding:5},P):{orient:"default",label:P,padding:5};if(P||z){const e=K.offsetAngle&&K.offsetAngle/360||0,t=K.angleRange&&K.angleRange.map(e=>e/360)||[0,1],a=t[1]-t[0],r=1>a?o.scaleLinear().domain([0,1]).range(t):e=>e;ze.forEach(t=>{const o=n.arc().innerRadius(0).outerRadius(Je.range()[1]/2),s=i[t].pct*a,c=r(i[t].pct_start+e),l=c+s,d=c+s/2,u=o({startAngle:c*Fn,endAngle:l*Fn}),m=[we[0]/2,we[1]/2],p=o.centroid({startAngle:c*Fn,endAngle:l*Fn}),y=0>=p[1]||it.orient&&"default"!==it.orient&&"edge"!==it.orient?0:8,h={startAngle:c,endAngle:l,midAngle:d,markD:u,translate:m,centroid:p,outerPoint:Ve([0,0],d,Je.range()[1]/2+it.padding+y)};i[t].pieArc=h,st.push(h)})}if(e.oLabel){let e;if("function"==typeof it.label)e=it.label;else{const t={textAnchor:"middle"};"horizontal"===j&&"right"===it.orient?t.textAnchor="start":"horizontal"===j&&(t.textAnchor="end"),e=(e,n,a)=>{const o={};let r;if("radial"===j&&"stem"===it.orient)r=`rotate(${0>st[a].outerPoint[0]?360*st[a].midAngle+90:360*st[a].midAngle-90})`;else{if("radial"===j&&"annotation"===it.orient){const{centroid:t}=st[a],n=15*st.filter((e,n)=>a>n&&0>t[0]==0>st[n].centroid[0]&&0>t[1]==0>st[n].centroid[1]).length;let o=7*e.length,r="start",s={dx:0,dy:0};return 0>t[0]?(r="end",o=-o,s.dx=-35):s.dx=35,s.dy=0>t[1]?-35-n:35+n,A.createElement("g",null,A.createElement("path",{fill:"none",stroke:"black",strokeWidth:2,d:`M0,0L${s.dx},${s.dy}L${s.dx+o},${s.dy}`}),A.createElement("text",{textAnchor:r,x:s.dx,y:s.dy-2},e))}"radial"===j&&"center"!==it.orient&&(r=`rotate(${0>st[a].outerPoint[1]?360*st[a].midAngle:360*st[a].midAngle+180})`)}return"radial"===j&&"stem"===it.orient&&(st[a].outerPoint[0]>0&&0>it.padding||0>st[a].outerPoint[0]&&it.padding>=0)?o.textAnchor="end":"radial"===j&&"stem"===it.orient&&(o.textAnchor="start"),A.createElement("text",Object.assign({},t,o,{transform:r}),e)}}if(ze.forEach((t,n)=>{let a=i[t].middle,o=0;"horizontal"===j?(o=i[t].middle,a="right"===it.orient?we[0]+3:-3):"radial"===j&&("annotation"===it.orient?(a=.25*st[n].centroid[0]+.75*st[n].outerPoint[0]+st[n].translate[0],o=.25*st[n].centroid[1]+.75*st[n].outerPoint[1]+st[n].translate[1]):"center"===it.orient?(a=st[n].centroid[0]+st[n].translate[0],o=st[n].centroid[1]+st[n].translate[1]):(a=st[n].outerPoint[0]+st[n].translate[0],o=st[n].outerPoint[1]+st[n].translate[1]));const r=it.labelFormatter?it.labelFormatter(t):t,s=e(r,i[t].pieceData.map(e=>e.data),n,i[t]);rt.push(A.createElement("g",{key:"olabel-"+n,transform:`translate(${a},${o})`},s))}),"vertical"===j){let e;e="top"===it.orient?-15:15+Je.range()[1],s=A.createElement("g",{key:"ordinalframe-labels-container",className:"ordinal-labels",transform:`translate(0,${e})`},rt)}else("horizontal"===j||"radial"===j)&&(s=A.createElement("g",{key:"ordinalframe-labels-container",className:"ordinal-labels"},rt))}const ct=(e.hoverAnnotation||e.pieceHoverAnnotation)&&-1!==["bar","clusterbar","timeline"].indexOf(K.type);let lt;ct||e.summaryHoverAnnotation||!(e.hoverAnnotation||e.customClickBehavior||e.customDoubleClickBehavior||e.customHoverBehavior)||(je=Se?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,m=0,p=n.range()[1],y=d+o;if("horizontal"===r&&(m=t[e].x,u=0,y=n.range()[1],p=d),"radial"===r){const{markD:o,centroid:r,translate:d,midAngle:u}=a[l],m={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:m,onDoubleClick:s&&(e=>{s(m,e)}),onClick:i&&(e=>{i(m,e)}),onMouseEnter:c&&(e=>{c(m,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:m,height:p,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:ze,projectedColumns:i,rScale:Je,pieArcs:st,padding:X,projection:j,customDoubleClickBehavior:O,customClickBehavior:S,customHoverBehavior:E}):t.columnOverlays);const ut=K.type&&"none"!==K.type?K.type:"point",yt=("function"==typeof ut?ut:Pn[ut])({type:K,data:i,renderMode:ce,eventListenersGenerator:te,styleFn:oe,projection:j,classFn:re,adjustedSize:we,chartSize:M,margin:Oe,rScale:Je}),gt=yt.reduce((e,t)=>(t.o&&(e[t.o]||(e[t.o]=[]),e[t.o].push(t)),e),{});Object.keys(i).forEach(e=>{i[e].xyData=gt[e]||[]});let ft={};q.type&&"none"!==q.type&&(ft=dt({data:i,type:q,renderMode:le,styleFn:ae,classFn:se,projection:j,eventListenersGenerator:te,adjustedSize:we,margin:Oe,axisCreator:An}),ft.originalData=i);const vt="horizontal"===j?zn:Nn,jt="vertical"===j?zn:Nn,Et=yt.map(e=>e.piece&&e.xy?Object.assign(Object.assign({},e.piece),{type:"frame-hover",x:e.xy.x+jt(e.xy),y:e.xy.y+vt(e.xy)}):null).filter(e=>e);((z||N)&&-1===["bar","clusterbar","timeline"].indexOf(K.type)||F)&&(F&&ft.xyPoints?lt=ft.xyPoints.map(e=>Object.assign({},e,{type:"frame-hover",isSummaryData:!0,x:e.x,y:e.y})):(z||N)&&yt&&(lt=Et));const{axis:St,axesTickLines:At}=(({projection:e,axis:t,adjustedSize:n,size:a,rScale:o,rScaleType:r,pieceType:s,rExtent:i,data:c,maxColumnValues:l=1,xyData:d,margin:u,thresholds:m})=>{if(!t)return{axis:void 0,axesTickLines:void 0};let p,y;if("radial"!==e&&t){y=[];const s=[0,0];p=t.map((t,i)=>{let p,h=t.className||"";const g=t.extentOverride?t.extentOverride:o.domain(),f=["left","right"],x=-1===f.indexOf(t.orient)&&"vertical"!==e||-1!==f.indexOf(t.orient)&&"horizontal"!==e?r.domain(g):r.domain([0,l]),b=t.orient,v=-1===f.indexOf(t.orient)&&"vertical"!==e||-1!==f.indexOf(t.orient)&&"horizontal"!==e?o.range():[0,"vertical"===e?n[0]:n[1]];"right"===b?(x.range(v.reverse()),h+=" right y"):"left"===b?(h+=" left y",x.range(v.reverse())):"top"===b?(h+=" top x",x.range(v)):"bottom"===b&&(h+=" bottom x",x.range(v)),t.tickValues&&Array.isArray(t.tickValues)?p=t.tickValues:t.tickValues instanceof Function?p=t.tickValues(c,a,o):!t.tickValues&&m&&(p=m.map(e=>o.invert(e)));const k=Fe({padding:t.padding,tickValues:p,scale:x,ticks:t.ticks,orient:b,size:n,footer:t.footer,tickSize:t.tickSize,jaggedBase:t.jaggedBase}),j=De({className:t.className,axisParts:k,orient:b,tickLineGenerator:t.tickLineGenerator,jaggedBase:t.jaggedBase,scale:x});return y.push(j),"under"===t.baseline&&y.push($e(t.orient,n,t.className)),A.createElement(pt,Object.assign({},t,{key:t.key||"orframe-axis-"+i,axisParts:k,orient:b,size:n,position:s,tickValues:p,scale:x,className:h,marginalSummaryType:"string"==typeof t.marginalSummaryType?{type:t.marginalSummaryType}:t.marginalSummaryType,margin:u,xyPoints:d.map(t=>({x:"vertical"===e?0:t.value,y:"vertical"===e?t.value:0,data:t.data}))}))})}else if("radial"===e&&t){const{innerRadius:e=0}=s,a=[];t.forEach(t=>{const{tickValues:s=o.ticks(Math.max(2,(n[0]/2-e)/50)),label:c,tickFormat:l=e=>e}=t,d=r.domain(i).range([e,n[0]/2]),u=s instanceof Function?s({orient:t.orient}):s;u.forEach((t,n)=>{const o=d(t);if(0!==e||0!==t){let e,s="";if(c&&n===u.length-1){const t="string"==typeof c?{locationDistance:15}:c,{locationDistance:n=15}=t;s=Math.random()+" ",e=A.createElement("g",{className:"axis-label radial",transform:`translate(0,${n})`},A.createElement("text",{textAnchor:"middle"},A.createElement("textPath",{startOffset:o*Math.PI*.5,xlinkHref:"#"+s},c.name)))}a.push(A.createElement("g",{key:"orframe-radial-axis-element-"+t,className:"axis axis-label axis-tick radial",transform:"translate(0,0)"},A.createElement("path",{id:s,d:(r=o,["M",ht(0-r),ht(0),"a",r,r,0,1,0,2*r,0,"a",r,r,0,1,0,-2*r,0].join(" ")+"Z"),r:o,stroke:"gray",fill:"none"}),A.createElement("text",{y:5-o,textAnchor:"middle"},l(t)),e))}var r})}),p=[A.createElement("g",{key:t[0].key||"orframe-radial-axis-container",className:"axis-labels",transform:`translate(${n[0]/2},${n[1]/2})`},a)]}return{axis:p,axesTickLines:y}})({axis:Ae,data:ve,projection:j,adjustedSize:we,size:M,rScale:Je,rScaleType:Ke.copy(),pieceType:K,rExtent:He,maxColumnValues:Be,xyData:Et,margin:Oe,thresholds:ft.thresholds});return Object.assign({pieceDataXY:lt,oAccessor:U,rAccessor:Q,summaryType:q,type:K},function(e){const{usesPieceOverlays:t,shouldRecalculateOverlay:n,calculatedPieceData:a,projection:o,customClickBehavior:r,customDoubleClickBehavior:s,customHoverBehavior:i,currentState:c,connectorStyle:l,connectorClass:d,connectorRenderMode:u,connectorCanvasRender:m,summaryCanvasRender:p,pieceCanvasRender:y,connectorType:h,eventListenersGenerator:g,pieceType:f,summaryStyle:x,summaryClass:b,pieceStyle:v,pieceClass:k,keyedData:j,oExtent:E,projectedColumns:S,calculatedSummaries:O,oAccessor:M,rScale:w,calculatedRExtent:C,calculatedOExtent:P,rExtentSettings:z,oExtentSettings:N,adjustedPosition:F,adjustedSize:$,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:q,currentProps:K}=e;let{columnOverlays:Z}=e;if(t){const e="horizontal"===o?zn:Nn,t="vertical"===o?zn:Nn;Z=n?a.map((n,a)=>{const o=Object.assign(Object.assign({},n.piece),{x:n.xy.x+t(n.xy),y:n.xy.y+e(n.xy)});return A.isValidElement(n.renderElement)?{renderElement:n.renderElement,overlayData:o}:Object.assign(Object.assign({},n.renderElement),{key:"hover-"+a,style:{opacity:0},overlayData:o,onClick:r&&(e=>{r(o.data,e)}),onDoubleClick:s&&(e=>{s(o.data,e)}),onMouseEnter:i&&(e=>{i(o.data,e)}),onMouseLeave:i&&(e=>{i(void 0,e)})})}):c.columnOverlays}const J={connectors:{accessibleTransform:(e,t)=>e[t],projection:o,data:{keyedData:j,oExtent:E},styleFn:l,classFn:d,renderMode:u,canvasRender:m,behavior:kt,type:h,eventListenersGenerator:g,pieceType:f},summaries:{accessibleTransform:(e,t)=>{const n=E[t];return{type:"column-hover",column:S[n],pieces:S[n].pieceData,summary:S[n].pieceData,oAccessor:M}},data:O.marks,behavior:mt,canvasRender:p,styleFn:x,classFn:b},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:f.type&&"none"!==f.type,data:a,behavior:Ie,canvasRender:y,styleFn:v,classFn:k,axis:L,ariaLabel:void 0!==f.type&&"function"!=typeof f.type&&$n[f.type]||{items:"piece",chart:"ordinal chart"}}};let U;if(z.onChange&&(c.calculatedRExtent||[]).join(",")!==(C||[]).join(",")&&z.onChange(C),N.onChange&&(c.calculatedOExtent||[]).join(",")!==(P||[]).join(",")&&N.onChange(P),X&&(U=!0===X?{}:Object.assign({},X),U.legendGroups)){const e=new Map(E.map((e,t)=>[e,t]));U.legendGroups=U.legendGroups.map(t=>Object.assign(Object.assign({},t),{items:[...t.items].sort((t,n)=>(e.has(t.label)?e.get(t.label):1/0)-(e.has(n.label)?e.get(n.label):1/0))}))}return{adjustedPosition:F,adjustedSize:$,backgroundGraphics:T,foregroundGraphics:R,axisData:L,axes:B,axesTickLines:V,oLabels:{labels:I},title:W,columnOverlays:Z,renderNumber:c.renderNumber+1,oScaleType:H,rScaleType:G,oExtent:E,rExtent:Y,oScale:_,rScale:w,calculatedOExtent:P,calculatedRExtent:C,projectedColumns:S,margin:D,legendSettings:U,orFrameRender:J,pieceIDAccessor:q,props:K}}({usesPieceOverlays:ct,shouldRecalculateOverlay:Se,calculatedPieceData:yt,projection:j,customClickBehavior:S,customDoubleClickBehavior:O,customHoverBehavior:E,currentState:t,connectorStyle:ne,connectorClass:ie,connectorRenderMode:de,connectorCanvasRender:pe,summaryCanvasRender:me,pieceCanvasRender:ue,connectorType:Z,eventListenersGenerator:te,pieceType:K,summaryStyle:ae,summaryClass:se,pieceStyle:oe,pieceClass:re,keyedData:gt,oExtent:ze,projectedColumns:i,calculatedSummaries:ft,oAccessor:U,rScale:Je,calculatedRExtent:Ye,calculatedOExtent:Pe,rExtentSettings:We,oExtentSettings:Ce,adjustedPosition:Me,adjustedSize:we,margin:Oe,backgroundGraphics:$,foregroundGraphics:D,arrayWrappedAxis:Ae,axis:St,axesTickLines:At,oLabels:s,title:ye,columnOverlays:je,oScaleType:T,instantiatedRScaleType:Ke,oScale:Le,rExtent:He,legend:L,pieceIDAccessor:he,currentProps:e}))},Tn=o.scaleLinear(),Rn=o.scaleLinear(),Ln={y:"y",x:"x"},Bn={top:0,bottom:0,left:0,right:0},Vn={annotations:[],foregroundGraphics:[],projection:"vertical",size:[500,500],className:"",data:[],oScaleType:o.scaleBand(),rScaleType:o.scaleLinear,type:"none",optimizeCustomTooltipPosition:!1};function In(t){const r=Object.assign(Object.assign({},Vn),t),s=e.useRef({marginCalc:C.default((e,t,n,a,o,r)=>{const s=ft({margin:e,axes:t,title:n,oLabel:a,projection:o,size:r}),{adjustedPosition:i,adjustedSize:c}=vt({size:r,margin:s,projection:o});return{margin:s,adjustedPosition:i,adjustedSize:c}}),structureData:C.default((e,t,n,a,o,r,s)=>bt({data:e,renderKey:t,oAccessor:n,rAccessor:a,originalRAccessor:o,originalOAccessor:r,multiAxis:s})),accessorConversions:C.default((e,t,n,a)=>({oAccessor:Kt(e,e=>e.renderKey),rAccessor:Kt(t,e=>e.value||1),renderKey:qt(n,(e,t)=>t),pieceIDAccessor:qt(a,()=>"")})),styleFns:C.default((e,t,n,a,o,r,s,i,c,l,d,u)=>({connectorStyle:qt(e,()=>({}),!0),summaryStyle:qt(t,()=>({}),!0),pieceStyle:qt(n,()=>({}),!0),pieceClass:qt(a,()=>"",!0),summaryClass:qt(o,()=>"",!0),connectorClass:qt(r,()=>"",!0),pieceRenderMode:qt(s,void 0,!0),summaryRenderMode:qt(i,void 0,!0),connectorRenderMode:qt(c,void 0,!0),pieceCanvasRender:qt(l,void 0,!0),summaryCanvasRender:qt(d,void 0,!0),connectorCanvasRender:qt(u,void 0,!0)}))}),i={adjustedPosition:[],adjustedSize:[],backgroundGraphics:void 0,foregroundGraphics:void 0,axisData:void 0,renderNumber:0,oLabels:{labels:[]},oAccessor:Kt("renderKey"),rAccessor:Kt("value"),oScale:o.scaleBand(),rScale:o.scaleLinear(),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:o.scaleBand(),orFrameRender:{},pieceDataXY:[],pieceIDAccessor:qt("semioticPieceID"),projectedColumns:{},rExtent:[],rScaleType:o.scaleLinear(),summaryType:{type:"none"},title:{},type:{type:"none"},props:r},c=e.useMemo(()=>Object.assign(Object.assign({},i),Dn(r,i,s.current)),[]),l=un((e,t)=>function(e,t,n){const{props:a}=t,o=!t.dataVersion&&sn.some(t=>a[t]!==e[t]),r=!t.dataVersion&&cn.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({},Dn(e,t,n)),{props:e}):{props:e}}(e,t,s.current),r,c);mn(r,l);const u=e.useRef(r);u.current=r;const m=e.useRef(l);m.current=l;const p=e.useCallback(e=>function(e,t,{d:o,i:r,annotationLayer:s}){const{projection:i,svgAnnotationRules:c}=e,{adjustedPosition:l,adjustedSize:u,oAccessor:m,rAccessor:p,oScale:y,rScale:h,projectedColumns:g,orFrameRender:f,pieceIDAccessor:x,rScaleType:b,summaryType:v,type:k}=t;let j=[0,0];if(o.isColumnAnnotation){const{coordinates:[e,t]}=jn({d:o,projectedColumns:g,oAccessor:m,summaryType:v,type:k,projection:i,adjustedPosition:l,adjustedSize:u});j=[e,t]}else if(o.coordinates||"enclose"===o.type&&o.neighbors)j=(o.coordinates||o.neighbors).map(e=>{const t=Z(m,e)||e.column,n=g[t],a=En(x,n,e);return Sn({p:e,adjustedSize:u,rScale:h,rAccessor:p,idPiece:a,projection:i,oColumn:n,rScaleType:b})});else{const e=Z(m,o)||o.column,t=g[e],n=En(x,t,o);j=Sn({p:o,adjustedSize:u,rScale:h,rAccessor:p,idPiece:n,projection:i,oColumn:t,rScaleType:b})}const{voronoiHover:E}=s,S=c&&c({d:o,i:r,oScale:y,rScale:h,oAccessor:m,rAccessor:p,orFrameProps:e,orFrameState:t,screenCoordinates:j,adjustedPosition:l,adjustedSize:u,annotationLayer:s,categories:g,voronoiHover:E});return c&&null!==S?S:"desaturation-layer"===o.type?Bt({style:o.style instanceof Function?o.style(o,r):o.style,size:u,i:r,key:o.key}):"ordinal-line"===o.type?(({screenCoordinates:e,d:t,voronoiHover:a})=>{const o=n.line().x(e=>e[0]).y(e=>e[1]);t.curve&&o.curve(Ue[t.curve]||t.curve);const r="function"==typeof t.lineStyle?t.lineStyle(t):t.lineStyle||{};return A.createElement("g",{key:"ordinal-line-annotation"},A.createElement("path",{stroke:"currentColor",fill:"none",style:r,d:o(e)}),(t.points||t.interactive)&&e.map((e,n)=>{const o="function"==typeof t.pointStyle?t.pointStyle(t.coordinates[n],n):t.pointStyle||{};return A.createElement("g",{transform:`translate(${e[0]},${e[1]})`,key:"ordinal-line-point-"+n},t.points&&A.createElement("circle",{style:o,r:t.radius||5,fill:"currentColor"}),t.interactive&&A.createElement("circle",{style:{pointerEvents:"all"},r:t.hoverRadius||15,opacity:0,onMouseEnter:()=>a(Object.assign(Object.assign({type:"frame-hover"},t.coordinates[n]),{data:t.coordinates[n]})),onMouseOut:()=>a()}))}))})({d:o,screenCoordinates:j,voronoiHover:E}):"or"===o.type?(({d:e,i:t,screenCoordinates:n,projection:a})=>A.createElement("text",{key:`${e.label}annotationtext${t}`,x:parseInt(n[0]+("horizontal"===a?10:0)),y:parseInt(n[1]+("vertical"===a?10:0)),className:"annotation annotation-or-label "+(e.className||""),"data-testid":"annotation-or-label",textAnchor:"middle"},e.label))({d:o,i:r,screenCoordinates:j,projection:i}):"highlight"===o.type?(({d:e,pieceIDAccessor:t,orFrameRender:n,oAccessor:a})=>{const o=t(e),r=Z(a,e),{pieces:s}=n,{styleFn:i}=s;return[...s&&s.data.filter(e=>!(void 0!==o&&t(Object.assign(Object.assign({},e.piece),e.piece.data))!==o||void 0!==r&&Z(a,e.piece.data)!==r)).map((t,n)=>{let a={style:i(Object.assign(Object.assign({},t.piece),t.piece.data))};e.style&&"function"==typeof e.style?a={style:Object.assign(Object.assign({},a),e.style(Object.assign(Object.assign({},t.piece),t.piece.data)))}:e.style&&(a={style:Object.assign(Object.assign({},a),e.style)});const o=Object.assign(Object.assign({},t.renderElement),a),r="highlight-annotation "+(e.class&&"function"==typeof e.class&&e.class(t.piece.data,n)||e.class&&e.class||"");if(A.isValidElement(t.renderElement))return A.cloneElement(t.renderElement,Object.assign(Object.assign({},a),{className:r}));const{markType:s}=o,c=K(o,["markType"]);return A.createElement(s||"path",Object.assign(Object.assign({fill:"none",stroke:"currentColor",strokeWidth:"2px",key:"highlight-piece-"+n},c),{className:r}))})||[]]})({d:o,pieceIDAccessor:x,orFrameRender:f,oAccessor:m}):"function"==typeof o.type||Wn.has(o.type)?(({d:e,i:t,screenCoordinates:n})=>{const a=Object.assign({dx:0,dy:0,note:{label:e.label,orientation:e.orientation,align:e.align},connector:{end:"arrow"}},e,{x:n[0],y:n[1],type:"function"==typeof e.type?e.type:void 0,screenCoordinates:n});return e.fixedX&&(a.x=e.fixedX),e.fixedY&&(a.y=e.fixedY),A.createElement(L,{key:e.key||"annotation-"+t,noteData:a})})({d:o,i:r,screenCoordinates:j}):"enclose"===o.type?(({d:e,i:t,screenCoordinates:n})=>{const a=d.packEnclose(n.map(e=>({x:e[0],y:e[1],r:2})));return Tt({d:e,i:t,circle:a})})({d:o,i:r,screenCoordinates:j}):"enclose-rect"===o.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 Rt({bboxNodes:a,d:e,i:t})})({d:o,screenCoordinates:j,i:r}):"r"===o.type?(({d:e,i:t,screenCoordinates:n,rScale:a,rAccessor:o,adjustedSize:r,adjustedPosition:s,projection:i})=>{let c,l,d,u,m,p,y;if("radial"===i)return A.createElement(L,{key:e.key||"annotation-"+t,noteData:Object.assign({dx:50,dy:50,note:{label:e.label},connector:{end:"arrow"}},e,{type:"callout-circle",subject:{radius:a(Z(o,e))/2,radiusPadding:0},x:r[0]/2,y:r[1]/2})});"horizontal"===i?(p=50,y=50,u=e.offset||25*t,c=n[0],l=u,m={x:c,y1:0,y2:r[1]+s[1]}):(p=50,y=-20,d=e.offset||25*t,l=n[1],c=d,m={y:l,x1:0,x2:r[0]+s[0]});const h=Object.assign({dx:p,dy:y,note:{label:e.label},connector:{end:"arrow"}},e,{type:"xy-threshold",x:c,y:l,subject:m});return A.createElement(L,{key:e.key||"annotation-"+t,noteData:h})})({d:o,i:r,screenCoordinates:j,rScale:h,rAccessor:p,projection:i,adjustedSize:u,adjustedPosition:l}):"category"===o.type?(({projection:e,d:t,i:n,categories:o,adjustedSize:r})=>{const{bracketType:s="curly",position:i=("vertical"===e?"top":"left"),depth:c=30,offset:l=0,padding:d=0}=t,u=(Array.isArray(t.categories)?t.categories:[t.categories]).map(e=>o[e]);if("radial"===e){const e=d/r[1],o=a.min(u.map(t=>t.pct_start+t.pct_padding/2+e/2)),i=a.max(u.map(t=>t.pct_start+t.pct-t.pct_padding/2-e/2)),m=Math.min(r[0],r[1])/2,p=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=vn(e,t,n+s,o),l=vn(e,t,n+s,a),d=vn(e,t,n+s-r,o),u=vn(e,t,n+s-r,a),m=o-a,p=m>180?"1":"0";let y;if(i){const r=Math.min(10,m/4),i=vn(e,t,n+s,(a+o)/2+r),p=vn(e,t,n+s+10,(a+o)/2),h=vn(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,p.x,p.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,p,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=vn(e,t,n+s+g,o),E=vn(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:m,startAngle:360*o,endAngle:360*i,inset:c,outset:l,curly:"curly"===s}),f=`text-path-${n}-${Math.random()}`;return A.createElement("g",{className:"category-annotation annotation",transform:`translate(${p},${y})`},A.createElement("path",{d:h,fill:"none",stroke:"currentColor"}),A.createElement("path",{id:f,d:g,style:{display:"none"}}),A.createElement("text",{"font-size":"12.5"},A.createElement("textPath",{startOffset:"50%",textAnchor:"middle",xlinkHref:"#"+f},t.label)))}{const o=a.min(u.map(e=>e.x)),m=a.max(u.map(e=>e.x+e.width));if("vertical"===e){let e="top"===i?0:r[1];return e+="top"===i?-l:l,A.createElement(L,{key:t.key||"annotation-"+n,noteData:{type:"bracket",y:e,x:o-d,note:{title:t.title||t.label,label:t.title?t.label:void 0},subject:{type:s,width:m-o+2*d,depth:"top"===i?-c:c}}})}if("horizontal"===e){let e="left"===i?0:r[0];return e+="left"===i?-l:l,A.createElement(L,{key:t.key||"annotation-"+n,noteData:{type:"bracket",x:e,y:o-d,note:{title:t.title||t.label,label:t.title?t.label:void 0},subject:{type:s,height:m-o+2*d,depth:"left"===i?-c:c}}})}}})({projection:i,d:o,i:r,categories:t.projectedColumns,adjustedSize:u}):null}(u.current,m.current,e),[]),y=e.useCallback(e=>function(e,t,{d:n,i:o,annotationLayer:r}){const{adjustedPosition:s,adjustedSize:i,oAccessor:c,rAccessor:l,oScale:d,rScale:u,projectedColumns:m,summaryType:p,type:y,pieceIDAccessor:h,rScaleType:g}=t,{htmlAnnotationRules:f,tooltipContent:x,optimizeCustomTooltipPosition:b,projection:v}=e;let k=[0,0];const{voronoiHover:j}=r;if(n.coordinates||"enclose"===n.type&&n.neighbors)k=(n.coordinates||n.neighbors).map(e=>{const t=Z(c,e)||e.column,n=m[t],a=En(h,n,e);return Sn({p:e,adjustedSize:i,rScale:u,rAccessor:l,idPiece:a,projection:v,oColumn:n,rScaleType:g})});else if("column-hover"===n.type){const{coordinates:[e,t]}=jn({d:n,projectedColumns:m,oAccessor:c,summaryType:p,type:y,projection:v,adjustedPosition:s,adjustedSize:i});k=[e,t]}else{const e=Z(c,n)||n.column,t=m[e],a=En(h,t,n);k=Sn({p:n,adjustedSize:i,rScale:u,rAccessor:l,idPiece:a,projection:v,oColumn:t,rScaleType:g})}const E="vertical"===v?g.domain(u.domain()).range(u.range().reverse()):u,S=f&&f({d:n,i:o,oScale:d,rScale:E,oAccessor:c,rAccessor:l,orFrameProps:e,screenCoordinates:k,adjustedPosition:s,adjustedSize:i,annotationLayer:r,orFrameState:t,categories:t.projectedColumns,voronoiHover:j});return f&&null!==S?S:"frame-hover"===n.type?(({d:e,i:t,rAccessor:n,oAccessor:o,projection:r,tooltipContent:s,optimizeCustomTooltipPosition:i,pieceIDAccessor:c,projectedColumns:l,adjustedSize:d,rScale:u,type:m,rScaleType:p})=>{let y;s="pie"===s?()=>kn({column:e.column}):s;const h=l[Z(o,e)||e.column],g=En(c,h,e);if(!g)return null;const f=("clusterbar"===m.type||"point"===m.type||"swarm"===m.type)&&void 0!==e.x&&void 0!==e.y||e.isSummaryData?[e.x,e.y]:Sn({p:e,adjustedSize:d,rScale:u,oColumn:h,rAccessor:n,idPiece:g,projection:r,rScaleType:p});if(e.isSummaryData){let t=e.label;e.pieces&&0!==e.pieces.length&&(1===e.pieces.length?(t=[],n.forEach(n=>{t.push(n(e.pieces[0].data))})):(t=[],n.forEach(n=>{const o=a.extent(e.pieces.map(e=>e.data).map(n));t.push(`From ${o[0]} to ${o[1]}`)})));const o=A.createElement("p",{key:"html-annotation-content-2"},t);y=[A.createElement("p",{key:"html-annotation-content-1"},e.key),o,A.createElement("p",{key:"html-annotation-content-3"},e.value)]}else e.data?(y=[],o.forEach((e,t)=>{if(g.data){const n=bn(e,g.data);y.push(A.createElement("p",{key:"html-annotation-content-o-"+t},n))}}),n.forEach((e,t)=>{if(g.data){const n=bn(e,g.data);y.push(A.createElement("p",{key:"html-annotation-content-r-"+t},n))}})):e.label&&(y=e.label);let x=A.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},y);if("frame-hover"===e.type&&s&&g){const e=Object.assign(Object.assign(Object.assign({},g),g.data),{column:h,pieces:h?h.pieceData.map(e=>e.data):[]});x=i?A.createElement(Dt,{tooltipContent:s,tooltipContentArgs:e}):s(e)}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",A.createElement("div",{key:"xylabel-"+t,className:`annotation annotation-or-label ${r} ${e.className||""}`,"data-testid":"annotation-or-label",style:k},x)})({d:n,i:o,rAccessor:l,oAccessor:c,projection:v,tooltipContent:x,optimizeCustomTooltipPosition:b,projectedColumns:m,pieceIDAccessor:h,adjustedSize:i,rScale:u,type:y,rScaleType:g}):"column-hover"===n.type?(({d:e,i:t,summaryType:n,oAccessor:o,type:r,adjustedPosition:s,adjustedSize:i,projection:c,tooltipContent:l,optimizeCustomTooltipPosition:d,projectedColumns:u})=>{const{coordinates:[m,p],pieces:y,column:h}=jn({d:e,projectedColumns:u,oAccessor:o,summaryType:n,type:r,projection:c,adjustedPosition:s,adjustedSize:i});if(void 0===h)return null;const g=[];o.forEach((e,t)=>{if(y[0].data){const n=bn(e,y[0].data);g.push(A.createElement("p",{key:"or-annotation-o-"+t},n))}});let f=A.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},g,A.createElement("p",{key:"or-annotation-2"},a.sum(y.map(e=>e.value).filter(e=>e>0))));if("column-hover"===e.type&&l){"pie"===l&&(l=kn);const t=Object.assign(Object.assign({},e),{pieces:y.map(e=>e.data),column:h,oAccessor:o});f=d?A.createElement(Dt,{tooltipContent:l,tooltipContentArgs:t}):l(t)}else e.label&&(f=A.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},e.label));const x=parseInt(m),b=i&&x>i[0]/2,v={position:"absolute",top:parseInt(p)+"px"};return b?v.right=i[0]-x+"px":v.left=x+"px",A.createElement("div",{key:"orlabel-"+t,className:`annotation annotation-or-label ${c} ${e.className||""}`,"data-testid":"annotation-or-label",style:v},f)})({d:n,i:o,summaryType:p,oAccessor:c,projectedColumns:m,type:y,adjustedPosition:s,adjustedSize:i,projection:v,tooltipContent:x,optimizeCustomTooltipPosition:b}):null}(u.current,m.current,e),[]),{className:h,annotationSettings:g,annotations:f,matte:x,renderKey:b,interaction:v,customClickBehavior:k,customHoverBehavior:j,customDoubleClickBehavior:E,projection:S,backgroundGraphics:O,foregroundGraphics:M,afterElements:w,beforeElements:P,disableContext:z,summaryType:N,summaryHoverAnnotation:F,pieceHoverAnnotation:$,hoverAnnotation:D,canvasPostProcess:T,canvasPieces:R,canvasSummaries:B,canvasConnectors:V,renderOrder:I,additionalDefs:W,sketchyRenderingEngine:H,frameRenderOrder:G,disableCanvasInteraction:_,disableProgressiveRendering:Y,transition:X}=r,{orFrameRender:q,projectedColumns:J,adjustedPosition:U,adjustedSize:Q,legendSettings:ee,columnOverlays:te,axesTickLines:ne,axes:ae,margin:oe,pieceDataXY:re,oLabels:se,title:ie}=l,ce=[Q[0]+oe.left+oe.right,Q[1]+oe.top+oe.bottom];let le;N&&N.amplitude&&(le="horizontal"===S?{top:N.amplitude,bottom:0,left:0,right:0}:"radial"===S?Bn:{top:0,bottom:0,left:N.amplitude,right:0});const de=e.useMemo(()=>"function"==typeof M?M({size:ce,margin:oe}):M,[M,ce,oe]),ue=e.useMemo(()=>`${h} ${S}`,[h,S]),me=e.useMemo(()=>F||D||$,[F,$,D]),pe=e.useMemo(()=>v&&Object.assign(Object.assign({},v),{brush:!0!==v.columnsBrush&&"oBrush",projection:S,projectedColumns:J}),[v,S,J]),ye=e.useMemo(()=>!!(R||B||V),[R,B,V]);return A.createElement(Ft,{name:"ordinalframe",renderPipeline:q,adjustedPosition:U,adjustedSize:Q,size:ce,xScale:Tn,yScale:Rn,axes:ae,axesTickLines:ne,title:ie,matte:x,additionalDefs:W,className:ue,frameKey:"none",renderFn:b,projectedCoordinateNames:Ln,defaultSVGRule:p,defaultHTMLRule:y,hoverAnnotation:me,annotations:f,annotationSettings:g,legendSettings:ee,interaction:pe,customClickBehavior:k,customHoverBehavior:j,customDoubleClickBehavior:E,points:re,margin:oe,columns:J,backgroundGraphics:O,foregroundGraphics:de,beforeElements:P,afterElements:w,overlay:te,rScale:l.rScale,projection:S,disableContext:z,interactionOverflow:le,canvasPostProcess:T,canvasRendering:ye,renderOrder:I,disableCanvasInteraction:_,sketchyRenderingEngine:H,frameRenderOrder:G,additionalVizElements:se,disableProgressiveRendering:Y,transition:X})}const Wn=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);In.displayName="OrdinalFrame";const Hn=A.memo(In),Gn=e=>{const{brushStart:t,brush:n,brushEnd:a,xBrushable:o,yBrushable:r,yBrushExtent:s,xBrushExtent:i}=e,c=K(e,["brushStart","brush","brushEnd","xBrushable","yBrushable","yBrushExtent","xBrushExtent"]),l={start:t,during:n,end:a};return o&&r?(l.brush="xyBrush",(i||s)&&(l.extent=[[0,0],[...e.size]]),i&&(l.extent[0]=i),s&&(l.extent[1]=s)):o?(l.brush="xBrush",i&&(l.extent=i)):r&&(l.brush="yBrush",s&&(l.extent=s)),A.createElement(xn,Object.assign({},c,{interaction:l}))};function _n(e){const t=(e=>{const{xAccessor:t,yAccessor:n,points:a,lines:o,minimap:r,summaries:s,size:i,lineDataAccessor:c,lineType:l,lineStyle:d,summaryStyle:u,pointStyle:m,lineClass:p,summaryClass:y,pointClass:h,lineRenderMode:g,pointRenderMode:f,summaryRenderMode:x,canvasLines:b,canvasPoints:v,canvasSummaries:k,axes:j,margin:E,name:S,annotations:O,summaryType:M,interactionSettings:w}=e,C=Object.assign(Object.assign(Object.assign({},{position:[0,0],size:[i[0],.25*i[1]],xAccessor:t,yAccessor:n,points:a,lines:o,summaries:s,lineDataAccessor:c,xBrushable:!0,yBrushable:!0,brushStart:()=>{},brush:()=>{},brushEnd:()=>{},lineType:l,lineStyle:d,summaryStyle:u,pointStyle:m,lineClass:p,summaryClass:y,pointClass:h,lineRenderMode:g,pointRenderMode:f,summaryRenderMode:x,canvasLines:b,canvasPoints:v,canvasSummaries:k,axes:j,margin:E,name:S,annotations:O,summaryType:M,interactionSettings:w}),r),{hoverAnnotation:!1});return A.createElement(Gn,Object.assign({},C))})(e),n={},{renderBefore:a}=e,o=K(e,["minimap","renderBefore"]);return a?n.beforeElements=t:n.afterElements=t,A.createElement(xn,Object.assign({},o,n))}const Yn=({d:e,i:t,styleFn:n,key:a,className:o,transform:r})=>{const s=n(e,t);return A.createElement("rect",Object.assign({key:a,transform:r,width:2*e.nodeSize,height:2*e.nodeSize,ry:2*e.nodeSize,rx:2*e.nodeSize,x:-e.nodeSize,y:-e.nodeSize},s,{style:s,className:o,"aria-label":"Node "+e.id,tabIndex:-1}))},Xn=e=>({x:-e/2,y:-e/2,width:e,height:e}),qn=({d:e,styleFn:t,key:n,className:a,transform:o})=>{const r="down"!==e.direction?e.height:e.width,s="down"!==e.direction?e.width:e.height;return e?A.createElement("rect",{key:n,className:a,transform:o,height:r,width:s,x:-s/2,y:-r/2,rx:0,ry:0,style:t(e),"aria-label":"Node "+e.id,tabIndex:-1}):A.createElement("g",null)},Kn=({d:e,i:t,styleFn:n,key:a,className:o})=>e?A.createElement("rect",{key:a,transform:"translate(0,0)",width:e.x1-e.x0,height:e.y1-e.y0,x:e.x0,y:e.y0,rx:0,ry:0,style:n(e,t),className:o,"aria-label":"Node "+e.id,tabIndex:-1}):A.createElement("g",null),Zn=n.line().curve(n.curveMonotoneX).x(e=>e.x).y(e=>e.y),Jn=n.line().curve(n.curveMonotoneY).x(e=>e.x).y(e=>e.y);function Un(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 Qn={horizontal:n.linkHorizontal().x(e=>e.x).y(e=>e.y),vertical:n.linkVertical().x(e=>e.x).y(e=>e.y),radial:f.d.lineArc},ea={curve:(e,t="vertical")=>Qn[t](e),linearc:e=>f.d.lineArc(e),ribbon:e=>f.d.ribbon(e,e.width),arrowhead:e=>f.d.arrowHead(e,e.target.nodeSize,e.width,1.5*e.width),halfarrow:e=>f.d.halfArrow(e,e.target.nodeSize,e.width,1.5*e.width),nail:e=>f.d.nail(e,e.source.nodeSize),comet:e=>f.d.comet(e,e.target.nodeSize),taffy:e=>f.d.taffy(e,e.source.nodeSize/2,e.target.nodeSize/2,(e.source.nodeSize+e.target.nodeSize)/4)},ta=e=>`M${e.source.x},${e.source.y}L${e.target.x},${e.target.y}`,na=t=>{const{d:n,width:a,edgeLength:o,circular:r}=t,i=e.useRef(null);return e.useEffect(()=>{if(null==i?void 0:i.current){const e=Math.max(Math.min(a,r?a:o)/5,2);let t=x.pathArrows().arrowLength(2.5*e).gapLength(100).arrowHeadSize(e).path(n);s.select(i.current).selectAll("*").remove(),s.select(i.current).call(t),s.select(i.current).selectAll(":not(.arrow-head)").style("fill","none").style("stroke-width",e/4).style("stroke","white"),s.select(i.current).selectAll(".arrow-head").style("fill","white")}},[n]),A.createElement("g",{ref:i})},aa=e=>{const{d:t,i:n,styleFn:a,key:o,className:r,generatedPath:s}=e,{showArrows:i}=t;let c="";if(t.circular){const{circularPathData:e}=t,{sourceX:n,sourceY:a,leftFullExtent:o,rightFullExtent:r,verticalFullExtent:s,targetX:i,targetY:l}=e;c=`M${n},${a}L${o},${a}L${o},${s}L${r},${s}L${r},${l}L${i},${l}`}else{let e=t.source.x1,n=t.target.x0,a=b.interpolateNumber(e,n),o=a(.5),r=a(.5),s=t.y0,i=t.y1;c=`M${e},${s}C${o},${s} ${r},${i} ${n},${i}`}return A.createElement(A.Fragment,{key:o},A.createElement("path",{className:r,d:s,style:a(t,n),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}),i&&A.createElement(na,{d:c,width:t.sankeyWidth,edgeLength:Math.abs(t.target.x-t.source.x),circular:t.circular}))},oa=(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&&oa(o,t,n,a)}},ra=({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}},sa=e=>{const{data:t,renderKeyFn:n,customMark:a,styleFn:o,classFn:r,renderMode:s,canvasRenderFn:i,canvasDrawing:c,type:l,networkSettings:d,projection:u,numberOfNodes:m,size:p}=e,{type:y,direction:h,edgeSort:g=Un}=d,f="sankey"===y?t.sort((e,t)=>g(e,t,h)):t;let x=ta;const b=[];if(i&&"matrix"===d.type){let e=0;const t=Math.floor(Math.min(...p)/m);for(const n of f){const a={baseClass:"frame-piece",tx:n.source.y,ty:n.target.y,d:n,i:e,markProps:Object.assign({markType:"rect"},Xn(t)),styleFn:o,renderFn:s,classFn:r};c.push(a),e++}}else if(a){l&&("function"==typeof l?x=l:ea[l]&&(x=e=>ea[l](e,u)));let e=0;for(const t of f){const i=a({d:t,i:e,renderKeyFn:n,styleFn:o,classFn:r,renderMode:s,key:n?n(t,e):"edge-"+e,className:r(t,e)+" edge",transform:`translate(${t.x},${t.y})`,generatedPath:x(t)});i&&i.props&&("path"!==i.props.markType||i.props.d)&&b.push(i),e++}}else{l&&("function"==typeof l?x=l:ea[l]&&(x=e=>ea[l](e,u)));let e=0;for(const t of f){const a=x(t);a&&i&&!0===i(t,e)?c.push({baseClass:"frame-piece",tx:t.x,ty:t.y,d:t,i:e,markProps:{markType:"path",d:a},styleFn:o,renderFn:s,classFn:r}):a&&b.push(A.createElement("path",{key:n?n(t,e):"edge-"+e,className:r(t)+" edge",d:a,style:o(t,e),tabIndex:-1,role:"img","aria-label":`connection from ${t.source.id} to ${t.target.id}`}))}}return b},ia=[],ca={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},la={hierarchicalNetwork:!1},da={nodeHash:new Map,edgeHash:new Map,nodes:[],edges:[],hierarchicalNetwork:!1,type:"force"},ua={dendrogram:d.tree,tree:d.tree,circlepack:d.pack,cluster:d.cluster,treemap:d.treemap,partition:d.partition},ma=({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}),pa={tree:ma,dendrogram:ma,cluster:ma,treemap:ma,circlepack:ma,partition:ma},ya={left:k.sankeyLeft,right:k.sankeyRight,center:k.sankeyCenter,justify:k.sankeyJustify},ha=({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:m=!1}=n,p=ya[r],y=d||k.sankeyCircular;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(p).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=m,e.sankeyWidth=e.width,e.direction=u,e.width=void 0}),{projectedNodes:e,projectedEdges:b}};function ga(e,t,a,r){if(e)return e;const s=[a[0]/2,a[1]/2];switch(t.type){case"sankey":return qn;case"partition":case"treemap":return"radial"===t.projection?((e,t,a)=>{const r=n.arc(),{angleRange:s=[0,360]}=a,i=s.map(e=>e/360),c=1>i[1]-i[0]?o.scaleLinear().domain([0,1]).range(i):e=>e;return({d:n,i:a,styleFn:o,key:s,className:i})=>n?(r.innerRadius(n.y0/2).outerRadius(n.y1/2),A.createElement("path",{key:s,transform:`translate(${t})`,d:r({startAngle:c(n.x0/e[0])*Math.PI*2,endAngle:c(n.x1/e[0])*Math.PI*2}),style:o(n,a),className:i,"aria-label":"Node "+n.id,tabIndex:-1})):A.createElement("g",null)})(a,s,t):Kn;case"circlepack":return Yn;case"chord":return(e=>({d:t,i:n,styleFn:a,key:o,className:r})=>t?A.createElement("path",{key:o,className:r,transform:`translate(${e[0]/2},${e[1]/2})`,d:t.d,style:a(t,n),"aria-label":"Node "+t.id,tabIndex:-1}):A.createElement("g",null))(a);case"dagre":return Kn;case"matrix":return((e,t)=>{const n=Math.min(...e),a=n/(t.length+1);return({d:e,i:o,styleFn:r,renderMode:s,key:i,className:c})=>{if(!e)return A.createElement("g",null);const l=a>6,d=a>3,u=a>.5,m={textAnchor:"end",fontSize:a/2+"px"},p=r(e,o);return s&&s(e,o),A.createElement("g",{key:i,className:c},u&&A.createElement("rect",{x:a/2,y:e.y-a/2,width:n-a,height:a,style:Object.assign(Object.assign({},p),{stroke:"none"})}),u&&A.createElement("rect",{y:a/2,x:e.y-a/2,height:n-a,width:a,style:Object.assign(Object.assign({},p),{stroke:"none"})}),d&&A.createElement("line",{stroke:"black",x1:0,x2:n-a/2,y1:e.y-a/2,y2:e.y-a/2,style:p}),d&&A.createElement("line",{stroke:"black",y1:0,y2:n-a/2,x1:e.y-a/2,x2:e.y-a/2,style:p}),d&&o===t.length-1&&A.createElement("line",{stroke:"black",x1:0,x2:n-a/2,y1:e.y+a/2,y2:e.y+a/2,style:p}),d&&o===t.length-1&&A.createElement("line",{stroke:"black",y1:0,y2:n-a/2,x1:e.y+a/2,x2:e.y+a/2,style:p}),l&&A.createElement("text",Object.assign({x:0,y:e.y+a/5},m),e.id),l&&A.createElement("text",Object.assign({transform:`translate(${e.y}) rotate(90) translate(0,${a/5})`},m,{y:0}),e.id))}})(a,r)}return Yn}const fa=e=>({edge:e,x:(e.source.x+e.target.x)/2,y:(e.source.y+e.target.y)/2}),xa={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:fa,tree:fa,cluster:fa,matrix:e=>({edge:e,x:e.source.y,y:e.target.y})},ba={partition:!0,cluster:!0,tree:!0,dendrogram:!0},va={partition:!0,cluster:!0,tree:!0,dendrogram:!0};function ka(e,t,n){return t.parent&&(n=`${n}-${ka(e,Object.assign(Object.assign({},t.parent),t.parent.data),n)}`),`${n}-${e(Object.assign(Object.assign({},t),t.data))}`}const ja=e=>e.id||e.descendantIndex,Ea=(e,t=ja)=>{var n,a;const o=[],r=[],s=(e.descendants?e:d.hierarchy(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:ja(e)}-${e.parent?null!==(a=ka(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}},Sa=(e,t,r,s)=>{const{graph:i,nodes:c=(Array.isArray(i)||"function"==typeof i?ia:i&&i.nodes||ia),edges:l=("function"==typeof i?ia:Array.isArray(i)?i:i&&i.edges||ia),networkType:u,size:m,nodeStyle:p,nodeClass:y,canvasNodes:h,edgeStyle:g,edgeClass:f,canvasEdges:x,nodeRenderMode:v,edgeRenderMode:k,nodeLabels:j,title:E,margin:S,hoverAnnotation:O,customNodeIcon:M,customEdgeIcon:w,filterRenderedNodes:C}=e;let P,{edgeType:z}=e;const N={};let F=["type"];"string"==typeof u?P=Object.assign(Object.assign({type:u},la),{graphSettings:da}):(u&&(F=Object.keys(u)),P=Object.assign(Object.assign(Object.assign({type:"force"},la),u),{graphSettings:da})),"vertical"===P.projection&&"sankey"===P.type&&(P.direction="down"),F.push("height","width");const $="object"!=typeof E||A.isValidElement(E)||null===E?{title:E,orient:"top"}:E,{margin:D,adjustedPosition:T,adjustedSize:R}=r.marginCalc(S,$,m);P.graphSettings.nodes=c,P.graphSettings.edges=l,P.graphSettings.filterRenderedNodes=C;let{edgeHash:L,nodeHash:B}=P.graphSettings;const V="treemap"===P.type||"partition"===P.type||"sankey"===P.type,I=r.accessorConversions(e.nodeIDAccessor,e.sourceAccessor,e.targetAccessor,e.nodeSizeAccessor,e.edgeWidthAccessor),W=I.nodeIDAccessor,H=I.sourceAccessor,G=I.targetAccessor,_=I.nodeSizeAccessor,Y=I.edgeWidthAccessor,{nodeStyleFn:X,nodeClassFn:q,nodeRenderModeFn:K,nodeCanvasRenderFn:Z}=r.nodeStyleFns(p,y,v,h);let{projectedNodes:J,projectedEdges:U}=t;const Q="string"==typeof P.type&&ua[P.type],ee=!t.projectedNodes||!t.projectedEdges||t.graphSettings.nodes!==c||t.graphSettings.edges!==l||Q||t.graphSettings.filterRenderedNodes!==C;if("dagre"===P.type){const e=i,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}),U=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(ee){const e=J;L=new Map,B=new Map,P.graphSettings.edgeHash=L,P.graphSettings.nodeHash=B,J=[],U=[];const t="function"==typeof P.fixExistingNodes?P.fixExistingNodes:!!P.fixExistingNodes&&(()=>!0);c.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=l,a=l;if(Q&&Array.isArray(l)){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,m="object"==typeof d?o(d):d;if(i.set(m,u),s.has(u)){l=!1;break}s.set(u,m)}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 oa(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}})(l,c,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"),P.type="force")}if(!Array.isArray(a)){P.hierarchicalNetwork=!0;const e=d.hierarchy(a,P.hierarchyChildren);if(e.sum(P.hierarchySum||(e=>e.value)),Q){const t=(P.layout||Q)(),n=Object.keys(P);"dendrogram"!==P.type&&"tree"!==P.type&&"cluster"!==P.type||!t.separation||t.separation((e,t)=>(_(Object.assign(Object.assign({},e),e.data))||1)+(P.nodePadding||0)+(_(Object.assign(Object.assign({},t),t.data))||1)),n.forEach(e=>{t[e]&&t[e](P[e])}),!P.nodeSize&&t.size&&t.size("horizontal"===P.projection&&Q?[R[1],R[0]]:R),t(e)}n=Ea(e,W).edges}ca.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({},ca),"object"==typeof e?e:{id:e,createdByFrame:!0}),n=t.id||W(t);N[n]?N[n]+=1:N[n]=1,t.id||(t.id=`${n}${1===N[n]?"":"-"+N[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),U.push(i),"matrix"===P.type&&U.push(Object.assign(Object.assign({},i),{source:i.target,target:i.source}))})}else L=new Map,P.graphSettings.edgeHash=L,U.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 te=ga(M,P,R,J),ne=function({baseCustomEdgeIcon:e,networkSettings:t,size:a,graph:o,nodes:r}){if(e)return e;switch(t.type){case"partition":case"treemap":case"circlepack":return()=>null;case"chord":return(e=>({d:t,i:n,styleFn:a,key:o,className:r})=>A.createElement("path",{key:o,className:r,transform:`translate(${e[0]/2},${e[1]/2})`,d:t.d,style:a(t,n),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}))(a);case"matrix":return((e,t)=>({d:n,i:a,styleFn:o,key:r,className:s})=>{const i=Math.min(...e)/t.length,c=o(n,a);return A.createElement("g",{key:r},A.createElement("rect",Object.assign({key:r,className:s,transform:`translate(${n.source.y},${n.target.y})`},c,{style:c,"aria-label":`Connection from ${n.source.id} to ${n.target.id}`,tabIndex:-1},Xn(i))))})(a,r);case"arc":return(e=>{const t=e[1]/e[0];function a(e){return n.line().curve(n.curveBasis)([[e.source.x,0],[(e.source.x+e.target.x)/2,(e.source.x-e.target.x)*t],[e.target.x,0]])}return({d:t,i:n,styleFn:o,key:r,className:s})=>{const i=o(t,n);return A.createElement("path",Object.assign({key:r,className:s,transform:`translate(0,${e[1]/2})`,d:a(t)},i,{style:i,"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}))}})(a);case"dagre":if(o)return(e=>{const t="LR"===e||"RL"===e?Zn:Jn;return({d:e,i:n,styleFn:a,key:o,className:r})=>{if(e.ribbon||e.parallelEdges){const t=Pe();if(t.x(e=>e.x),t.y(e=>e.y),t.r(()=>e.weight||1),e.parallelEdges){const s=e.parallelEdges.sort((e,t)=>t.weight-e.weight);return A.createElement("g",{key:""+o},t({points:e.points,multiple:e.parallelEdges}).map((t,i)=>A.createElement("path",{key:`${o}-${i}`,className:r,d:t,style:a(s[i],n),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})))}return A.createElement("path",{key:o,className:r,d:t(e.points),style:a(e,n),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})}return A.createElement("path",{key:o,className:r,d:t(e.points),style:a(e,n),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})}})(o.graph().rankdir);case"sankey":return aa}}({baseCustomEdgeIcon:w,networkSettings:P,size:R,nodes:J,graph:i});P.width=m[0],P.height=m[1];let ae,oe=!1;if(F.forEach(e=>{"edgeType"!==e&&"graphSettings"!==e&&P[e]!==t.graphSettings[e]&&(oe=!0)}),"sankey"===P.type?z=e=>e.circular?function(e){const t=Pe();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"===z?(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=Pe();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=b.interpolateNumber(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=b.interpolateNumber(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):Q&&J.forEach(e=>{if(V&&(e.x=(e.x0+e.x1)/2,e.y=(e.y0+e.y1)/2),"string"==typeof P.type&&ba[P.type]&&"horizontal"===P.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 P.type&&va[P.type]&&"radial"===P.projection){const t=0===e.depth?[R[0]/2,R[1]/2]:Ve([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"!==P.type&&(ee||oe)){const n=null==s?void 0:s["string"==typeof P.type?P.type:"custom"];if(n){const e=n({projectedNodes:J,projectedEdges:U,networkSettings:P,adjustedSize:R,edgeHash:L,nodeIDAccessor:W,edgeWidthAccessor:Y,nodeSizeAccessor:_,size:m});J=e.projectedNodes,U=e.projectedEdges}else"function"==typeof P.type?P.type({nodes:J,edges:U}):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});t.graphSettings.nodes=e.nodes,t.graphSettings.edges=e.edges}if(J=J.filter(C),U=U.filter(e=>-1!==J.indexOf(e.target)&&-1!==J.indexOf(e.source)),"flip"===P.direction)J.forEach(e=>{e.x=R[0]-e.x,e.y=R[1]-e.y});else if("up"===P.direction||"down"===P.direction){const e="up"===P.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"===P.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 P.zoom)P.zoom(J,U,R);else if(!1!==P.zoom&&"matrix"!==P.type&&"chord"!==P.type&&"sankey"!==P.type&&"partition"!==P.type&&"treemap"!==P.type&&"circlepack"!==P.type&&"dagre"!==P.type){const e=a.min(J.map(e=>e.x-_(e))),t=a.max(J.map(e=>e.x+_(e))),n=a.min(J.map(e=>e.y-_(e))),r=a.max(J.map(e=>e.y+_(e))),s=Math.abs(t-e),i=Math.abs(r-n);let c,l;"stretch"===P.zoom?(c=0,l=0):s/i>R[0]/R[1]?(l=0,c=(R[1]-R[0]/s*i)/2):(c=0,l=(R[0]-R[1]/i*s)/2);const d=o.scaleLinear().domain([e,t]).range([l,R[0]-l]),u=o.scaleLinear().domain([n,r]).range([c,R[1]-c]);J.forEach(e=>{e.x=d(e.x),e.y=u(e.y)})}else if(!1===P.zoom||"radial"===P.projection||"partition"!==P.type&&"treemap"!==P.type&&"dagre"!==P.type){if(!1!==P.zoom&&"sankey"===P.type&&U.some(e=>e.circular)){const e=U.filter(e=>e.circular),t=a.min(e,e=>e.circularPathData.rightFullExtent-e.sankeyWidth/2)||1/0,n=a.max(e,e=>e.circularPathData.leftFullExtent+e.sankeyWidth/2)||-1/0,r=a.min(e,e=>e.circularPathData.verticalFullExtent-e.sankeyWidth/2)||1/0,s=a.max(e,e=>e.circularPathData.verticalFullExtent+e.sankeyWidth/2)||-1/0,i=a.min(J,e=>e.y0),c=a.max(J,e=>e.y1),l=a.min(J,e=>e.x0),d=a.max(J,e=>e.x1),u=Math.min(t,l),m=Math.max(n,d),p=Math.min(r,i),y=Math.max(s,c),h=o.scaleLinear().domain([u,m]).range([0,R[0]]),g=o.scaleLinear().domain([p,y]).range([0,R[1]]),f=R[1]/(y-p);for(const e of J)e.x=h(e.x),e.x0=h(e.x0),e.x1=h(e.x1),e.y=g(e.y),e.y0=g(e.y0),e.y1=g(e.y1),e.width=e.x1-e.x0,e.height=e.y1-e.y0;for(const e of U)e.circular?(e.circularPathData.sourceX=h(e.circularPathData.sourceX),e.circularPathData.sourceY=g(e.circularPathData.sourceY),e.circularPathData.leftFullExtent=h(e.circularPathData.leftFullExtent),e.circularPathData.verticalFullExtent=g(e.circularPathData.verticalFullExtent),e.circularPathData.rightFullExtent=h(e.circularPathData.rightFullExtent),e.circularPathData.targetX=h(e.circularPathData.targetX),e.circularPathData.targetY=g(e.circularPathData.targetY)):(e.y0=g(e.y0),e.y1=g(e.y1)),e.sankeyWidth=e.sankeyWidth*f}}else{const e=a.min(J.map(e=>e.x0)),t=a.max(J.map(e=>e.x1)),n=a.min(J.map(e=>e.y0)),r=a.max(J.map(e=>e.y1)),s=o.scaleLinear().domain([e,t]).range([D.left,R[0]-D.right]),i=o.scaleLinear().domain([n,r]).range([D.top,R[1]-D.bottom]);J.forEach(e=>{e.x=s(e.x),e.y=i(e.y),e.x0=s(e.x0),e.y0=i(e.y0),e.x1=s(e.x1),e.y1=i(e.y1),e.zoomedHeight=e.y1-e.y0,e.zoomedWidth=e.x1-e.x0}),U.forEach(e=>{e.points&&e.points.forEach(e=>{e.x=s(e.x),e.y=i(e.y)})})}J.forEach(e=>{e.nodeSize=_(e)}),U.forEach(e=>{e.width=Y(e)}),e.legend&&(ae=e.legend,!ae.legendGroups)&&(ae.legendGroups=[{styleFn:e.nodeStyle,type:"fill",items:[]}]);const re=r.edgeStyleFns(g,f,k,x),se={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:U,styleFn:re.edgeStyleFn,classFn:re.edgeClassFn,renderMode:re.edgeRenderModeFn,canvasRenderFn:re.edgeCanvasRenderFn,renderKeyFn:e.edgeRenderKey?e.edgeRenderKey:e=>e._NWFEdgeKey||e.key||`${e.source.id}-${e.target.id}`,behavior:sa,projection:P.projection,type:z,customMark:ne,networkSettings:P,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:q,renderMode:K,canvasRenderFn:Z,customMark:te,behavior:ra,renderKeyFn:e.nodeRenderKey,networkSettings:P}},ie=[];let ce;e.nodeLabels&&J&&J.forEach((e,t)=>{const n=j&&!0!==j&&j(e);if(!0===j||n){const a="radial"===P.projection&&0!==e.depth?((e,t,n,a)=>{const o=(e.x1+e.x0)/2/a[0],r=n(e,t);return A.createElement("g",{transform:`rotate(${o>.5?360*o+90:360*o-90})`},"string"==typeof r?A.createElement("text",{textAnchor:"middle",y:5},r):r)})(e,t,!0===j?W:j,R):!0===j?W(e,t):n;let o;o=A.isValidElement(a)?{key:"node-label-"+t,type:"basic-node-label",x:e.x,y:e.y,element:a}:{key:"node-label-"+t,className:"node-label",dx:0,dy:0,x:e.x,y:e.y,color:"currentColor",note:{label:a},connector:{end:"none"},type:"label",subject:{radius:_(e)+2}},ie.push(o)}});const le=[];if(O&&["circlepack","treemap","partition","chord"].find(e=>e===P.type)||"area"===O){if("edge"!==O){const e=J.map((e,t)=>Object.assign({overlayData:e},te({d:e,i:t,transform:`translate(${e.x},${e.y})`,styleFn:()=>({opacity:0})}).props));le.push(...e)}"node"!==O&&U.forEach((e,t)=>{const n=ne({d:e,i:t,transform:`translate(${e.x},${e.y})`,styleFn:()=>({opacity:0})});n&&le.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"===O&&"string"==typeof P.type&&xa[P.type]?ce=U.map(xa[P.type]):Array.isArray(O)||!0===O||"node"===O?(ce=J,(ee||oe)&&(ce=[...J])):"all"===O&&"string"==typeof P.type&&(ce=[...U.map(xa[P.type]),...J]);return{adjustedPosition:T,adjustedSize:R,backgroundGraphics:e.backgroundGraphics,foregroundGraphics:e.foregroundGraphics,title:$,renderNumber:t.renderNumber+1,projectedNodes:J,projectedEdges:U,projectedXYPoints:ce,overlay:le,nodeIDAccessor:W,sourceAccessor:H,targetAccessor:G,nodeSizeAccessor:_,edgeWidthAccessor:Y,margin:D,legendSettings:ae,networkFrameRender:se,nodeLabelAnnotations:ie,graphSettings:Object.assign(Object.assign({},P.graphSettings),P),props:e}},Aa=({projectedNodes:e,projectedEdges:t,networkSettings:a,adjustedSize:o,edgeHash:r,nodeIDAccessor:s,edgeWidthAccessor:i})=>{const c=o[1]/2,{groupWidth:l=20,padAngle:d=.01,sortGroups:u}=a,m=n.arc().innerRadius(c-l).outerRadius(c),p=v.ribbon().radius(c-l),y=(({edgeHash:e,nodes:t,edgeWidthAccessor:n,nodeIDAccessor:a})=>{const o=[];for(const r of t){const s=a(r),i=[];o.push(i);for(const o of t){const t=a(o),r=e.get(`${s}|${t}`);i.push(r?n(r):0)}}return o})({edgeHash:r,nodes:e,edgeWidthAccessor:i,nodeIDAccessor:s}),h=v.chord().padAngle(d);u&&h.sortGroups(u);const g=h(y);return g.groups.forEach(t=>{const n=m.centroid(t),a=m(t),r=e[t.index];r.d=a,r.index=t.index,r.x=n[0]+o[0]/2,r.y=n[1]+o[1]/2}),g.forEach(t=>{const n=p(t),a=s(e[t.source.index]),i=s(e[t.target.index]),c=r.get(`${a}|${i}`)||r.get(`${i}|${a}`);if(c){c.d=n;const e=P.default(n);c.x=o[0]/2+(e.x1+e.x2)/2,c.y=o[1]/2+(e.y1+e.y2)/2}}),{projectedNodes:e,projectedEdges:t}},Oa=({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,m=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=m+n*Math.sin(a)}});const p=g.forceLink().strength(e=>Math.min(2.5,e.weight?e.weight*i:i));l&&p.distance(l);const y=n.simulation||g.forceSimulation().force("charge",g.forceManyBody().distanceMax(c).strength(d));y.nodes(e);const h=a[1]/a[0];y.force("x")||y.force("x",g.forceX(a[0]/2).strength(.1*h)),y.force("y")||y.force("y",g.forceY(a[1]/2).strength(.1)),0===t.length||y.force("link")||(y.force("link",p),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}},Ma={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}}},wa=Object.assign(Object.assign({chord:Aa,sankey:ha,flowchart:ha,force:Oa,motifs:({projectedNodes:e,projectedEdges:t,networkSettings:n,nodeSizeAccessor:r,size:s})=>{const i=new Map;t.forEach(e=>{[e.source,e.target].forEach(e=>{i.get(e)||i.set(e,{node:e,component:-99,connectedNodes:[],edges:[]})}),i.get(e.source).connectedNodes.push(e.target),i.get(e.target).connectedNodes.push(e.source),i.get(e.source).edges.push(e)});const c=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,i),l=Math.max(e.length/3,c[0].componentNodes.length),d=s[0]>s[1]?s[1]:s[0],u=s[0]>s[1]?"horizontal":"vertical",m=Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),{iterations:p=m,edgeStrength:y=.1,edgeDistance:h,padding:f=0}=n;let x=f,b=f;return c.forEach(({componentNodes:e,componentEdges:t})=>{const i=g.forceLink().strength(e=>Math.min(2.5,e.weight?e.weight*y:y));h&&i.distance(h);const c=Math.max(e.length/l,.2)*d,m=c+x;"horizontal"===u?c+b>s[1]?(x=c+x+f,b=c+f):b=c+b+f:m>s[0]?(b=c+b+f,x=c+f):x=c+x+f;const v=x-c/2,k=b-c/2,j=g.forceSimulation().force("charge",g.forceManyBody().strength(n.forceManyBody||(e=>-25*r(e)))).force("link",i);j.force("x",g.forceX(v)).force("y",g.forceY(k)).nodes(e),j.force("link").links(t),j.stop();for(let e=0;p>e;++e)j.tick();const E=a.max(e.map(e=>e.x)),S=a.max(e.map(e=>e.y)),A=a.min(e.map(e=>e.x)),O=a.min(e.map(e=>e.y)),M=o.scaleLinear().domain([A,E]).range([x-c,x-20]),w=o.scaleLinear().domain([O,S]).range([b-c,b-20]);e.forEach(e=>{e.x=M(e.x),e.y=w(e.y)})}),{projectedNodes:e,projectedEdges:t,components:c}}},pa),Ma),Ca=[],Pa=["nodes","edges"],za=["edges","nodes"],Na={y:"y",x:"x"},Fa=o.scaleLinear(),$a=o.scaleLinear(),Da={annotations:[],foregroundGraphics:[],size:[500,500],className:"",name:"networkframe",networkType:{type:"force",iterations:500},filterRenderedNodes:e=>"root-generated"!==e.id};function Ta(t){const n=Object.assign(Object.assign({},Da),t),a=e.useRef({marginCalc:C.default((e,t,n)=>{const a=ft({margin:e,title:t,size:n}),{adjustedPosition:o,adjustedSize:r}=vt({size:n,margin:a});return{margin:a,adjustedPosition:o,adjustedSize:r}}),accessorConversions:C.default((e,t,n,a,o)=>({nodeIDAccessor:qt(e,e=>e?e.id:void 0),sourceAccessor:qt(t,e=>e.source),targetAccessor:qt(n,e=>e.target),nodeSizeAccessor:"number"==typeof a?Cn(a):qt(a,Cn(5)),edgeWidthAccessor:qt(o,e=>e.weight||1)})),nodeStyleFns:C.default((e,t,n,a)=>({nodeStyleFn:qt(e,()=>({}),!0),nodeClassFn:qt(t,()=>"",!0),nodeRenderModeFn:qt(n,void 0,!0),nodeCanvasRenderFn:a?qt(a,void 0,!0):void 0})),edgeStyleFns:C.default((e,t,n,a)=>({edgeStyleFn:qt(e,()=>({}),!0),edgeClassFn:qt(t,()=>"",!0),edgeRenderModeFn:qt(n,void 0,!0),edgeCanvasRenderFn:a?qt(a,void 0,!0):void 0}))}),o={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:qt("weight"),legendSettings:void 0,margin:{top:0,left:0,right:0,bottom:0},networkFrameRender:{},nodeIDAccessor:qt("id"),nodeSizeAccessor:Cn(5),overlay:[],projectedXYPoints:[],sourceAccessor:qt("source"),targetAccessor:qt("target"),title:{title:void 0},props:n},r=e.useMemo(()=>Object.assign(Object.assign({},o),Sa(n,o,a.current,n._layoutMap||wa)),[]),s=un((e,t)=>function(e,t,n,a){const{props:o}=t,r=!t.dataVersion&&ln.some(t=>o[t]!==e[t]),s=!t.dataVersion&&dn.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({},Sa(e,t,n,a)),{props:e}):{props:e}}(e,t,a.current,e._layoutMap||wa),n,r);mn(n,s);const i=e.useRef(n);i.current=n;const c=e.useRef(s);c.current=s;const l=e.useCallback(e=>function(e,t,{d:n,i:a,annotationLayer:o}){const{projectedNodes:r,projectedEdges:s,nodeIDAccessor:i,nodeSizeAccessor:c,networkFrameRender:l,adjustedSize:u,adjustedPosition:m}=t,{svgAnnotationRules:p}=e,y=n.ids?n:Object.assign(Object.assign({},n.edge?s.find(e=>i(e.source)===i(n.edge.source)&&i(e.target)===i(n.edge.target))||{}:r.find(e=>i(e)===n.id)||{}),n),{voronoiHover:h}=o;if(p){const n=p({d:y,i:a,networkFrameProps:e,networkFrameState:t,nodes:r,edges:s,voronoiHover:h,screenCoordinates:[y.x,y.y],adjustedPosition:m,adjustedSize:u,annotationLayer:o});if(null!==n)return n}return"node"===y.type?(({d:e,i:t,nodeSizeAccessor:n})=>{if(!e)return null;const a=Object.assign({dx:e.dx||-25,dy:e.dy||-25,x:e.x,y:e.y,note:{label:e.label,orientation:e.orientation,align:e.align},connector:{end:"arrow"}},e,{type:"callout-circle",subject:{radius:e.radius||e.radius||n(e)}});return A.createElement(L,{key:e.key||"annotation-"+t,noteData:a})})({d:y,i:a,nodeSizeAccessor:c}):"desaturation-layer"===y.type?Bt({style:y.style instanceof Function?y.style(y,a):y.style,size:u,i:a,key:y.key}):"basic-node-label"===y.type?A.createElement("g",{key:y.key||"basic-"+a,transform:`translate(${y.x},${y.y})`},n.element||n.label):"function"==typeof y.type||Ra.has(y.type)?(({d:e,i:t,projectedNodes:n,nodeIDAccessor:a})=>{const o=void 0!==e.x&&void 0!==e.y?e:n.find(t=>a(t)===e.id);if(!o)return null;const r=Object.assign({dx:0,dy:0,x:o.x,y:o.y,note:{label:e.label},connector:{end:"arrow"}},e,{type:"function"==typeof e.type?e.type:void 0});return A.createElement(L,{key:e.key||"annotation-"+t,noteData:r})})({d:y,i:a,projectedNodes:r,nodeIDAccessor:i}):"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=d.packEnclose(r.map(e=>({x:e.x,y:e.y,r:o(e)})));return Tt({circle:s,d:e,i:t})})({d:y,i:a,projectedNodes:r,nodeIDAccessor:i,nodeSizeAccessor:c}):"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 Rt({bboxNodes:s,d:e,i:t})})({d:y,i:a,projectedNodes:r,nodeIDAccessor:i,nodeSizeAccessor:c}):"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})}}),Lt({points:s.map(e=>[e.x,e.y]),d:e,i:t})})({d:y,i:a,projectedNodes:r,nodeIDAccessor:i,nodeSizeAccessor:c}):"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:a,networkFrameRender:l}):null}(i.current,c.current,e),[]),u=e.useCallback(e=>function(e,t,{d:n,i:a,annotationLayer:o}){const{tooltipContent:r,optimizeCustomTooltipPosition:s,htmlAnnotationRules:i}=e,{projectedNodes:c,projectedEdges:l,nodeIDAccessor:d,adjustedSize:u,adjustedPosition:m}=t,{voronoiHover:p}=o,y=n.ids?n:Object.assign(Object.assign({},n.edge?l.find(e=>d(e.source)===d(n.source)&&d(e.target)===d(n.target))||{}:c.find(e=>d(e)===n.id)||{}),n);if(i){const n=i({d:y,i:a,networkFrameProps:e,networkFrameState:t,nodes:c,edges:l,voronoiHover:p,screenCoordinates:[y.x,y.y],adjustedPosition:m,adjustedSize:u,annotationLayer:o});if(null!==n)return n}return"frame-hover"===y.type?(({d:e,i:t,tooltipContent:n,optimizeCustomTooltipPosition:a,nodes:o,edges:r,nodeIDAccessor:s,adjustedSize:i})=>{const c=void 0!==e.x&&void 0!==e.y?e:e.edge?Object.assign(Object.assign({},r.find(t=>s(t.source)===s(e.source)&&s(t.target)===s(e.target))||{}),e):o.find(t=>s(t)===e.id);if(!c)return null;let l=c.edge?A.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},A.createElement("p",{key:"html-annotation-content-1"},(c.source||c.edge.source).id," to ",(c.target||c.edge.target).id)):A.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},A.createElement("p",{key:"html-annotation-content-1"},c.id),A.createElement("p",{key:"html-annotation-content-2"},"Degree: ",c.degree));"frame-hover"===c.type&&n&&(l=a?A.createElement(Dt,{tooltipContent:n,tooltipContentArgs:c}):n(c));const d={position:"absolute",top:c.y+"px"};return i&&c.x>i[0]/2?d.right=i[0]-c.x+"px":d.left=c.x+"px",A.createElement("div",{key:"network-annotation-label-"+t,className:"annotation annotation-network-label "+(c.className||""),"data-testid":"network-tooltip-container",style:d},l)})({d:y,i:a,tooltipContent:r,optimizeCustomTooltipPosition:s,nodes:c,edges:l,nodeIDAccessor:d,adjustedSize:u}):null}(i.current,c.current,e),[]),{annotations:m=[],annotationSettings:p,className:y,customClickBehavior:h,customDoubleClickBehavior:g,customHoverBehavior:f,size:x,matte:b,hoverAnnotation:v,beforeElements:k,afterElements:j,interaction:E,disableContext:S,canvasPostProcess:O,canvasNodes:M,canvasEdges:w,additionalDefs:P,renderOrder:z=(s.graphSettings&&"matrix"===s.graphSettings.type?Pa:za),sketchyRenderingEngine:N,frameRenderOrder:F,disableCanvasInteraction:$,interactionSettings:D,disableProgressiveRendering:T,transition:R}=n,{backgroundGraphics:B,foregroundGraphics:V,projectedXYPoints:I,margin:W,legendSettings:H,adjustedPosition:G,adjustedSize:_,networkFrameRender:Y,nodeLabelAnnotations:X,overlay:q,title:K}=s,Z=e.useMemo(()=>q&&q.length>0?q:void 0,[q]),J=e.useMemo(()=>Array.isArray(v)?v:!(h||g||f)||void 0!==v&&!1!==v?!!v:Ca,[v,h,g,f]),U=e.useMemo(()=>[...m,...X],[m,X]),Q=e.useMemo(()=>!(!M&&!w),[M,w]);return A.createElement(Ft,{name:"networkframe",renderPipeline:Y,adjustedPosition:G,adjustedSize:_,size:x,xScale:Fa,yScale:$a,title:K,matte:b,className:y,additionalDefs:P,frameKey:"none",projectedCoordinateNames:Na,defaultSVGRule:l,defaultHTMLRule:u,hoverAnnotation:J,annotations:U,annotationSettings:p,legendSettings:H,interaction:E,customClickBehavior:h,customHoverBehavior:f,customDoubleClickBehavior:g,points:I,margin:W,overlay:Z,backgroundGraphics:B,foregroundGraphics:V,beforeElements:k,afterElements:j,disableContext:S,canvasPostProcess:O,canvasRendering:Q,renderOrder:z,disableCanvasInteraction:$,sketchyRenderingEngine:N,frameRenderOrder:F,interactionSettings:D,disableProgressiveRendering:T,transition:R})}const Ra=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);Ta.displayName="NetworkFrame";const La=A.memo(Ta),Ba={NetworkFrame:!0,XYFrame:!0,OrdinalFrame:!0,ResponsiveNetworkFrame:!0,ResponsiveXYFrame:!0,ResponsiveOrdinalFrame:!0,SparkNetworkFrame:!0,SparkXYFrame:!0,SparkOrdinalFrame:!0},Va={rExtent:"invertR",xExtent:"invertX",yExtent:"invertY"},Ia=(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})}},Wa=C.default((e,t)=>A.Children.map(e.children,(n,a)=>n?_a({child:n,index:a,originalAnnotations:n.props.annotations||[],props:e,state:t}):null)),Ha=(e,t,n,a)=>n.extents&&n.extents[e]?{onChange:Ga(e,t,n,a),extent:n.extents[e]}:{onChange:Ga(e,t,n,a)},Ga=(e,t,n,a)=>{const o=t[Va[e]]||!1;return t=>{const r=Ia(n,t,e,a,o);return n.changeRawExtents(r.rawExtents),n.changeExtents(r.extents),t}},_a=({child:e,index:t,originalAnnotations:n,props:a,state:o})=>{const r=e.type.displayName,s=Ya({state:o,props:a,originalAnnotations:n}),i=Object.assign(Object.assign({},a),{annotations:s});if(!Ba[r])return A.cloneElement(e,{facetprops:i});if((a.hoverAnnotation||a.pieceHoverAnnotation)&&(i.customHoverBehavior=e=>{o.changeFacetHover(e),o.changeFacetHoverAnnotations(a.hoverAnnotation||a.pieceHoverAnnotation)}),("OrdinalFrame"===r||"ResponsiveOrdinalFrame"===r||"SparkOrdinalFrame"===r)&&!0===a.sharedRExtent){const e=i.invertR||!1;i.rExtent=Ha("rExtent",a,o,t),i.onUnmount=()=>{const n=Ia(o,[],"rExtent",t,e);o.changeRawExtents(n.rawExtents),o.changeExtents(n.extents)}}if(("XYFrame"===r||"ResponsiveXYFrame"===r||"SparkXYFrame"===r)&&!0===a.sharedXExtent){const e=i.invertX||!1;i.xExtent=Ha("xExtent",a,o,t),i.onUnmount=()=>{const n=Ia(o,[],"xExtent",t,e);o.changeRawExtents(n.rawExtents),o.changeExtents(n.extents)}}if(("XYFrame"===r||"ResponsiveXYFrame"===r||"SparkXYFrame"===r)&&!0===a.sharedYExtent){const e=i.invertY||!1;i.yExtent=Ha("yExtent",a,o,t),i.onUnmount=()=>{const n=Ia(o,[],"yExtent",t,e);o.changeRawExtents(n.rawExtents),o.changeExtents(n.extents)}}return i.pieceHoverAnnotation?i.pieceHoverAnnotation=[]:i.hoverAnnotation&&(i.hoverAnnotation=[]),A.cloneElement(e,Object.assign({},i))},Ya=({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},Xa=t=>{function n(n){const{responsiveWidth:a,responsiveHeight:o,size:r=[500,500],dataVersion:s,debounce:i=200,gridDisplay:c}=n,l=K(n,["responsiveWidth","responsiveHeight","size","dataVersion","debounce","gridDisplay"]),d=[...r];let u=!1,m=e.useRef(),p=function(t){const[n,a]=e.useState(null);return e.useLayoutEffect(()=>{const e=t.current;if(null!=e){a(e.getBoundingClientRect());const t=new ResizeObserver(e=>{e.length>0&&a(e[0].contentRect)});return t.observe(e),()=>t.disconnect()}},[]),n}(m);return a&&(null==p?u=!0:d[0]=p.width),o&&(null==p?u=!0:d[1]=p.height),A.createElement("div",{"data-testid":"responsive-container",className:"responsive-container",style:c?{minWidth:"0px",minHeight:"0px"}:{height:"100%",width:"100%"},ref:m},!u&&A.createElement(t,Object.assign({},l,{size:d,dataVersion:s?s+""+d+i:void 0})))}return n.isResizing=setTimeout(()=>{}),n.displayName="Responsive"+t.displayName,n},qa=Xa(La),Ka=Xa(_n),Za=Xa(xn),Ja=Xa(Hn),Ua={margin:0};function Qa(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 eo={tickFormat:()=>"",baseline:!1},to=e=>Object.assign(Object.assign(Object.assign({},Ua),e),{hoverAnnotation:e.hoverAnnotation,axes:e.axes?e.axes.map(e=>Object.assign(Object.assign({},eo),e)):e.axes}),no=e=>Object.assign(Object.assign(Object.assign(Object.assign({},Ua),{nodeSizeAccessor:2}),e),{networkType:Qa(e.networkType)});function ao(t,n,a){return a=>{const{size:o=[],sparkStyle:r={}}=a,[s,i]=e.useState(30),c=[];c[0]="number"==typeof o?o:o[0]?o[0]:s,c[1]=s;const l=e.useCallback(e=>{if(e){const t=+window.getComputedStyle(e).lineHeight.split("px")[0]-5;i(isNaN(t)?e.offsetHeight:t)}},[]);return A.createElement("div",{style:Object.assign({width:c[0]+"px",height:c[1]+"px",display:"inline-block",marginLeft:"5px",marginRight:"5px"},r),ref:l},A.createElement(t,Object.assign({},n(a),{size:c})))}}const oo=ao(xn,e=>Object.assign(Object.assign(Object.assign({},Ua),e),{hoverAnnotation:e.hoverAnnotation,axes:e.axes?e.axes.map(e=>Object.assign(Object.assign({},eo),e)):e.axes})),ro=ao(Hn,to),so=ao(La,no),io={category10:j.schemeCategory10,tableau10:j.schemeTableau10,set3:j.schemeSet3,blues:j.interpolateBlues,reds:j.interpolateReds,greens:j.interpolateGreens,oranges:j.interpolateOranges,purples:j.interpolatePurples,viridis:j.interpolateViridis,plasma:j.interpolatePlasma},co=j.schemeCategory10;function lo(e,t,n){if("function"==typeof t)return t(e);const a=e[t];return n?n(a):co[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+""))%co.length]}function uo(e,t,n="category10"){const a=Array.from(new Set(e.map(e=>e[t]))),r=a.every(e=>"number"==typeof e||!isNaN(Number(e)));if(Array.isArray(n))return o.scaleOrdinal().domain(a).range(n).unknown("#999");const s=io[n]||io.category10;if(r&&"function"==typeof s)return e=>s(Number(e)/Math.max(...a.map(Number)));{const e=Array.isArray(s)?s:co;return o.scaleOrdinal().domain(a).range(e).unknown("#999")}}function mo(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 po({data:e,colorBy:t,colorScale:n,getColor:a,strokeColor:o,strokeWidth:r}){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:Array.from(new Set(e.map(e=>"function"==typeof t?t(e):e[t]))).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}}),label:""}]}}const yo={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 ho(e,t){return"function"==typeof t?t(e):e[t]}function go(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 fo(e){return!0===e||("function"==typeof e||!1!==e&&void 0!==e)&&e}const xo="#007bff";function bo(e){return"function"==typeof e?e:t=>t[e]}function vo(t,n,a="category10"){return e.useMemo(()=>{if(n&&"function"!=typeof n)return uo(t,n,a)},[t,n,a])}function ko(t,n,a){return e.useMemo(()=>{if(!n)return t;const e=[...t];if("function"==typeof n)return e.sort(n);const o=bo(a);return e.sort("asc"===n?(e,t)=>o(e)-o(t):(e,t)=>o(t)-o(e))},[t,n,a])}function jo({componentName:e,message:t,width:n,height:a}){return A.createElement("div",{role:"alert",style:{width:n,height:Math.max(a,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"}},A.createElement("div",{style:{textAlign:"center",maxWidth:400}},A.createElement("div",{style:{fontSize:13,fontWeight:600,color:"rgba(128, 128, 128, 0.7)",marginBottom:6,fontFamily:"monospace"}},e),A.createElement("div",{style:{fontSize:14,color:"rgba(128, 128, 128, 0.9)",lineHeight:1.5}},t)))}function Eo({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 So({data:e,dataLabel:t="data"}){return null==e?`No ${t} provided. Pass a hierarchical data object to the ${t} prop.`:null}function Ao({nodes:e,edges:t,nodesRequired:n=!1,edgesRequired:a=!0,accessors:o}){if(a&&(!t||!Array.isArray(t)||0===t.length))return"No edges provided. Pass a non-empty array to the edges prop.";if(n&&(!e||!Array.isArray(e)||0===e.length))return"No nodes provided. Pass a non-empty array to the nodes prop.";if(o&&e&&e.length>0){const t=e[0];if(t&&"object"==typeof t)for(const[e,n]of Object.entries(o))if(n&&"string"==typeof n&&!(n in t))return`${e} "${n}" not found in node data. Available fields: ${Object.keys(t).join(", ")}.`}return null}const Oo={linear:n.curveLinear,monotoneX:n.curveMonotoneX,monotoneY:n.curveMonotoneY,step:n.curveStep,stepAfter:n.curveStepAfter,stepBefore:n.curveStepBefore,basis:n.curveBasis,cardinal:n.curveCardinal,catmullRom:n.curveCatmullRom},Mo={linear:n.curveLinear,monotoneX:n.curveMonotoneX,monotoneY:n.curveMonotoneY,step:n.curveStep,stepAfter:n.curveStepAfter,stepBefore:n.curveStepBefore,basis:n.curveBasis,cardinal:n.curveCardinal,catmullRom:n.curveCatmullRom},wo={linear:n.curveLinear,monotoneX:n.curveMonotoneX,monotoneY:n.curveMonotoneY,step:n.curveStep,stepAfter:n.curveStepAfter,stepBefore:n.curveStepBefore,basis:n.curveBasis,cardinal:n.curveCardinal,catmullRom:n.curveCatmullRom};class Co{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 Po{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 zo(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 No=["#007bff","#28a745","#dc3545","#fd7e14","#6f42c1","#20c997","#e83e8c","#17a2b8","#6610f2","#ffc107"];function Fo(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 $o(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 Do=["#4e79a7","#f28e2b","#e15759","#76b7b2","#59a14f","#edc948","#b07aa1","#ff9da7","#9c755f","#bab0ac"],To={line:(e,t,n,a,o,r,s)=>{const{time:i,value:c}=n,{timeAxis:l}=a,{time:d,value:u}=r,m=o.stroke||"#007bff",p=s?s.filter(e=>"threshold"===e.type&&e.color).map(e=>({value:e.value,color:e.color,thresholdType:e.thresholdType||"greater"})):null;if(!p||0>=p.length){e.beginPath(),e.strokeStyle=m,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),m="x"===l?r:s,p="x"===l?s:r;n?e.lineTo(m,p):(e.moveTo(m,p),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=zo(a,p,m);if(null!==y&&null!==f&&null!==g){if(s===f)e.lineTo(o,r);else{const t=[];for(const e of p){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=zo(g+(a-g)*Math.min(n.t+1e-4,1),p,m);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,m;const{time:p,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,S=null!=(null==b?void 0:b.stroke),A=s?s.filter(e=>"threshold"===e.type&&e.color).map(e=>({value:e.value,color:e.color,thresholdType:e.thresholdType||"greater"})):null,O=A&&A.length>0;e.globalAlpha=E;let M=0;const w={};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=p(t),r=y(a)):(o=y(a),r=p(t));let s=j;if(x){const e=x(n);v&&v[e]?s=v[e]:(e in w||(w[e]=No[M%No.length],M++),s=w[e])}O&&(s=Fo(a,A,s)),e.fillStyle=s,e.beginPath(),e.arc(o,r,k,0,2*Math.PI),e.fill(),S&&(e.strokeStyle=b.stroke,e.lineWidth=null!==(m=null==b?void 0:b.strokeWidth)&&void 0!==m?m: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,m,p,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",S=null!==(l=null==j?void 0:j.negativeColor)&&void 0!==l?l:"#dc3545",A=null!==(d=null==j?void 0:j.gap)&&void 0!==d?d:1,O=null==j?void 0:j.connectorStroke,M=null!==(u=null==j?void 0:j.connectorWidth)&&void 0!==u?u:1,w=null!=(null==j?void 0:j.stroke);w&&(e.strokeStyle=j.stroke,e.lineWidth=null!==(m=null==j?void 0:j.strokeWidth)&&void 0!==m?m:1);const C=[];for(const e of t){const t=k(e);null==t||Number.isNaN(t)||C.push(e)}if(0===C.length)return;let P=0,z=null,N=null;for(let t=0;C.length>t;t++){const n=C[t],a=v(n),o=k(n),r=P+o;let s;if(s=C.length-1>t?v(C[t+1])-a:t>0?a-v(C[t-1]):0,e.fillStyle=0>o?S: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)+A/2,i=Math.max(t,n)-A/2,c=i-o;if(0>=c){P=r,z=i,N=r;continue}const l=g(P),d=g(r),u=Math.min(l,d),m=Math.abs(l-d);if(O&&null!=z&&null!=N){e.save(),e.strokeStyle=O,e.lineWidth=M;const t=g(N);e.beginPath(),e.moveTo(z,t),e.lineTo(o,t),e.stroke(),e.restore(),w&&(e.strokeStyle=j.stroke,e.lineWidth=null!==(p=null==j?void 0:j.strokeWidth)&&void 0!==p?p:1)}e.fillRect(o,u,c,m),w&&e.strokeRect(o,u,c,m),z=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)+A/2,i=Math.max(t,n)-A/2,c=i-o;if(0>=c){P=r,z=i,N=r;continue}const l=g(P),d=g(r),u=Math.min(l,d),m=Math.abs(d-l);if(O&&null!=z&&null!=N){e.save(),e.strokeStyle=O,e.lineWidth=M;const t=g(N);e.beginPath(),e.moveTo(t,z),e.lineTo(t,o),e.stroke(),e.restore(),w&&(e.strokeStyle=j.stroke,e.lineWidth=null!==(y=null==j?void 0:j.strokeWidth)&&void 0!==y?y:1)}e.fillRect(u,o,m,c),w&&e.strokeRect(u,o,m,c),z=i}P=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:m}=n,{timeAxis:p}=a,{time:y,value:h,category:g}=r,f=null==i?void 0:i.barColors,x=null==i?void 0:i.barStyle,b=$o(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 S=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();S=[...t.filter(t=>e.has(t)),...a]}const A=null!=(null==x?void 0:x.stroke);A&&(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"===p){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&&S){let n=0,a=0;for(const o of S){const r=t.categories.get(o)||0;if(0===r)continue;const s=m(n),l=m(n+r),d=Math.min(s,l),u=Math.abs(s-l);e.fillStyle=f&&f[o]||Do[a%Do.length],e.fillRect(i,d,c,u),A&&e.strokeRect(i,d,c,u),n+=r,a++}}else{const n=m(0),a=m(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),A&&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&&S){let n=0,a=0;for(const o of S){const r=t.categories.get(o)||0;if(0===r)continue;const s=m(n),l=m(n+r),d=Math.min(s,l),u=Math.abs(l-s);e.fillStyle=f&&f[o]||Do[a%Do.length],e.fillRect(d,i,u,c),A&&e.strokeRect(d,i,u,c),n+=r,a++}}else{const n=m(0),a=m(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),A&&e.strokeRect(r,i,s,c)}}}},Ro={top:20,right:20,bottom:30,left:40},Lo={};function Bo(e,t){if("function"==typeof e)return t=>+e(t);const n=e||t;return e=>+e[n]}function Vo(e){return"up"===e||"down"===e?"y":"x"}function Io(e){return Math.round(100*e)/100+""}const Wo={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"},Ho={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 Go({hover:e,formatTime:t}){const n=e=>Number.isInteger(e)?e+"":e.toFixed(2),a=t||n,o=e.data.barColors,r=e.data.hoveredCategory,s=e.data.hoveredCategoryValue;return A.createElement("div",{className:"semiotic-tooltip",style:Ho},null!=r&&null!=s?A.createElement(A.Fragment,null,A.createElement("div",{style:{display:"flex",alignItems:"center",gap:5,fontWeight:600,marginBottom:2}},o&&o[r]&&A.createElement("span",{style:{width:8,height:8,borderRadius:"50%",background:o[r],flexShrink:0}}),A.createElement("span",null,r),A.createElement("span",{style:{marginLeft:"auto"}},n(s))),A.createElement("div",{style:{opacity:.6,fontSize:11}},"total ",n(e.value))):A.createElement("div",{style:{fontWeight:600,marginBottom:2}},n(e.value)),A.createElement("div",{style:{opacity:.7,fontSize:11}},a(e.time)))}const _o=e.forwardRef(function(t,n){const{chartType:a="line",arrowOfTime:r="right",windowMode:s="sliding",windowSize:i=200,data:c,timeAccessor:l,valueAccessor:d,timeExtent:u,valueExtent:m,extentPadding:p=.1,size:y=[500,300],margin:h,className:g,lineStyle:f=Lo,annotations:x,svgAnnotationRules:b,hoverAnnotation:v,tooltipContent:k,customHoverBehavior:j,showAxes:E=!0,background:S,categoryAccessor:O,binSize:M,barColors:w,barStyle:C,waterfallStyle:P,swarmStyle:z,tickFormatTime:N,tickFormatValue:F}=t,$=Object.assign(Object.assign({},Ro),h),D=y[0]-$.left-$.right,T=y[1]-$.top-$.bottom,R=e.useMemo(()=>Bo(l,"time"),[l]),L=e.useMemo(()=>Bo(d,"value"),[d]),B=e.useMemo(()=>O?"function"==typeof O?O:e=>e[O]:void 0,[O]),V=e.useRef(new Co(i)),I=e.useRef(new Po),W=e.useRef(new Po),H=e.useRef(null),G=e.useRef(0),_=e.useRef(!1),Y=e.useRef(null),[X,q]=e.useState(0),K=e.useRef(i),Z=e.useRef(null),[J,U]=e.useState(null),Q=e.useRef(()=>{}),ee=e.useCallback(()=>{G.current||(G.current=requestAnimationFrame(()=>Q.current()))},[]),te=e.useCallback(e=>{const t=V.current,n=R(e),a=L(e);"growing"===s&&t.full&&(K.current*=2,t.resize(K.current));const o=t.push(e);I.current.push(n),W.current.push(a),null!=o&&(I.current.evict(R(o)),W.current.evict(L(o))),_.current=!0,ee()},[s,R,L,ee]),ne=e.useCallback(e=>{for(const t of e)te(t)},[te]),ae=e.useCallback(()=>{V.current.clear(),I.current.clear(),W.current.clear(),_.current=!0,ee()},[ee]);e.useImperativeHandle(n,()=>({push:te,pushMany:ne,clear:ae,getData:()=>V.current.toArray()}),[te,ne,ae]),e.useEffect(()=>{if(c){V.current.clear(),I.current.clear(),W.current.clear();for(const e of c)V.current.push(e),I.current.push(R(e)),W.current.push(L(e));_.current=!0,ee()}},[c,R,L,ee]);const oe=e.useRef(()=>{}),re=e.useRef(()=>{});oe.current=e=>{if(!v)return;const t=H.current;if(!t)return;const n=t.getBoundingClientRect(),o=e.clientX-n.left-$.left,s=e.clientY-n.top-$.top;if(0>o||o>D||0>s||s>T)return void(Z.current&&(Z.current=null,U(null),j&&j(null),ee()));const i=Y.current;if(!i)return;const c=V.current;if(0===c.size)return;const l=Vo(r),d=i.time.invert("x"===l?o:s);let u;if("bar"===a&&M){const e=$o(c,R,L,M,B).get(Math.floor(d/M)*M);if(!e)return;const[t,n]=i.time.domain(),a=Math.max(e.start,t),r=a+(Math.min(e.end,n)-a)/2,m=i.time(r),p=i.value(e.total),y="x"===l?m:p,h="x"===l?p:m;let g,f;if(B&&e.categories.size>0){const t=w?Object.keys(w):[],n=new Set(t),a=Array.from(e.categories.keys()).filter(e=>!n.has(e)).sort(),r=[...t.filter(t=>e.categories.has(t)),...a],c="x"===l?s:o;let d=0;for(const t of r){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:w||{},hoveredCategory:g,hoveredCategoryValue:f},time:r,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,R);if(0>e)return;const t=c.get(e),n=R(t),a=L(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}}Z.current=u,U(u),j&&j(u),ee()},re.current=()=>{Z.current&&(Z.current=null,U(null),j&&j(null),ee())};const se=e.useCallback(e=>oe.current(e),[]),ie=e.useCallback(()=>re.current(),[]);Q.current=()=>{var e;G.current=0;const t=H.current;if(!t)return;const n=t.getContext("2d");if(!n)return;const s=V.current,i=I.current,c=W.current;i.dirty&&i.recalculate(s,R),c.dirty&&c.recalculate(s,L);let l=u||i.extent,d=m||c.extent;if("bar"===a&&M&&!m&&s.size>0){const[,e]=function(e,t,n,a,o){const r=$o(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]}(s,R,L,M,B);d=[0,e+e*p]}else if("waterfall"===a&&!m&&s.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]}(s,L),n=t-e,a=n>0?n*p:1;d=[Math.min(0,e-Math.abs(a)),Math.max(0,t+Math.abs(a))]}else if(!m&&d[0]!==1/0){const e=d[1]-d[0],t=e>0?e*p:1;d=[d[0]-t,d[1]+t]}l[0]!==1/0&&l[1]!==-1/0||(l=[0,1]),d[0]!==1/0&&d[1]!==-1/0||(d=[0,1]);const h=function(e,t,n,a,r){let s,i;return"x"===Vo(e)?(s="right"===e?[0,a]:[a,0],i=[r,0]):(s="down"===e?[0,r]:[r,0],i=[0,a]),{time:o.scaleLinear().domain(t).range(s),value:o.scaleLinear().domain(n).range(i)}}(r,l,d,D,T);Y.current=h;const g="undefined"!=typeof window&&window.devicePixelRatio||1;t.width=y[0]*g,t.height=y[1]*g,t.style.width=y[0]+"px",t.style.height=y[1]+"px",n.scale(g,g),n.translate($.left,$.top),n.clearRect(-$.left,-$.top,y[0],y[1]);const k=function(e){if(!e)return Wo;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||Wo.axisStroke,tickText:n||Wo.tickText,crosshair:n?n+"66":Wo.crosshair,hoverFill:r?r+"4D":Wo.hoverFill,hoverStroke:n?n+"99":Wo.hoverStroke,pointRing:r||Wo.pointRing}:Wo}(t);S&&(n.fillStyle=S,n.fillRect(0,0,D,T)),E&&(n.save(),function(e,t,n,a,o,r,s,i,c){const l=Vo(t),d=i||Io,u=c||Wo;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,r,h.time,h.value,D,T,N,F,k),n.restore());const j=To[a];if(j&&j(n,s,h,{width:D,height:T,timeAxis:Vo(r)},f,{time:R,value:L,category:B},x,"bar"===a?{binSize:M,barColors:w,barStyle:C}:"waterfall"===a?{waterfallStyle:P}:"swarm"===a?{swarmStyle:z,barColors:w}:void 0),v&&Z.current&&"bar"===a&&M){const t=Z.current.data;if(null!=t.binStart){const a=null!==(e=null==C?void 0:C.gap)&&void 0!==e?e:1,o=Vo(r),s=null!=t.hoveredCategory?(()=>{const e=t.categories||{},n=w?Object.keys(w):[],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?s+(t.hoveredCategoryValue||0):t.total,[c,l]=h.time.domain(),d=Math.max(t.binStart,c),u=Math.min(t.binEnd,l);if("x"===o){const e=h.time(d),t=h.time(u),o=Math.min(e,t)+a/2,r=Math.max(e,t)-a/2,c=h.value(s),l=h.value(i),m=Math.min(c,l),p=Math.abs(c-l);n.fillStyle=k.hoverFill,n.fillRect(o,m,r-o,p),n.strokeStyle=k.hoverStroke,n.lineWidth=1,n.setLineDash([]),n.strokeRect(o,m,r-o,p)}else{const e=h.time(d),t=h.time(u),o=Math.min(e,t)+a/2,r=Math.max(e,t)-a/2,c=h.value(s),l=h.value(i),m=Math.min(c,l),p=Math.abs(l-c);n.fillStyle=k.hoverFill,n.fillRect(m,o,p,r-o),n.strokeStyle=k.hoverStroke,n.lineWidth=1,n.setLineDash([]),n.strokeRect(m,o,p,r-o)}}}v&&Z.current&&function(e,t,n,a,o,r,s){if(!1===o.crosshair)return;const i=s||Wo;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,Z.current,D,T,"object"==typeof v?v:{},f.stroke||"#007bff",k);const A=_.current;_.current=!1,A&&x&&x.length>0&&b&&q(e=>e+1)},e.useEffect(()=>(ee(),()=>{G.current&&cancelAnimationFrame(G.current)}),[ee]),e.useEffect(()=>{_.current=!0,ee()},[r,a,D,T,E,S,f,ee]);const ce=A.useMemo(()=>{if(!x||0===x.length||!b)return null;const e=Y.current,t=Vo(r);return x.map((n,a)=>b(n,a,{scales:e,timeAxis:t,width:D,height:T})).filter(Boolean)},[x,b,r,D,T,X]),le=ce&&ce.length>0,de=v&&J?A.createElement("div",{className:"realtime-frame-tooltip",style:{position:"absolute",left:$.left+J.x,top:$.top+J.y,transform:`translate(${J.x>.7*D?"calc(-100% - 12px)":"12px"}, ${.3*T>J.y?"4px":"calc(-100% - 4px)"})`,pointerEvents:"none",zIndex:1}},k?k(J):A.createElement(Go,{hover:J,formatTime:N})):null;return A.createElement("div",{className:"realtime-frame"+(g?" "+g:""),style:{position:"relative",width:y[0],height:y[1]},onMouseMove:v?se:void 0,onMouseLeave:v?ie:void 0},A.createElement("canvas",{ref:H,style:{position:"absolute",left:0,top:0}}),le&&A.createElement("svg",{width:y[0],height:y[1],style:{position:"absolute",top:0,left:0,pointerEvents:"none"}},A.createElement("g",{transform:`translate(${$.left},${$.top})`},ce)),de)}),Yo=e.forwardRef(function(t,n){const{size:a=[500,300],margin:o,className:r,arrowOfTime:s="right",windowMode:i="sliding",windowSize:c=200,data:l,timeAccessor:d,valueAccessor:u,timeExtent:m,valueExtent:p,extentPadding:y,stroke:h="#007bff",strokeWidth:g=2,strokeDasharray:f,showAxes:x=!0,background:b,enableHover:v,tooltipContent:k,onHover:j,annotations:E,svgAnnotationRules:S,tickFormatTime:O,tickFormatValue:M}=t,w=e.useRef(null);return e.useImperativeHandle(n,()=>({push:e=>{var t;return null===(t=w.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=w.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=w.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=w.current)||void 0===e?void 0:e.getData())&&void 0!==t?t:[]}})),A.createElement(_o,{ref:w,chartType:"line",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:c,data:l,timeAccessor:d,valueAccessor:u,timeExtent:m,valueExtent:p,extentPadding:y,lineStyle:{stroke:h,strokeWidth:g,strokeDasharray:f},showAxes:x,background:b,hoverAnnotation:v,tooltipContent:k,customHoverBehavior:j,annotations:E,svgAnnotationRules:S,tickFormatTime:O,tickFormatValue:M})}),Xo=e.forwardRef(function(t,n){const{binSize:a,size:o=[500,300],margin:r,className:s,arrowOfTime:i="right",windowMode:c="sliding",windowSize:l=200,data:d,timeAccessor:u,valueAccessor:m,timeExtent:p,valueExtent:y,extentPadding:h,categoryAccessor:g,colors:f,fill:x,stroke:b,strokeWidth:v,gap:k,showAxes:j=!0,background:E,enableHover:S,tooltipContent:O,onHover:M,annotations:w,svgAnnotationRules:C,tickFormatTime:P,tickFormatValue:z}=t,N=e.useRef(null);e.useImperativeHandle(n,()=>({push:e=>{var t;return null===(t=N.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=N.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=N.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=N.current)||void 0===e?void 0:e.getData())&&void 0!==t?t:[]}}));const F={};return null!=x&&(F.fill=x),null!=b&&(F.stroke=b),null!=v&&(F.strokeWidth=v),null!=k&&(F.gap=k),A.createElement(_o,{ref:N,chartType:"bar",size:o,margin:r,className:s,arrowOfTime:i,windowMode:c,windowSize:l,data:d,timeAccessor:u,valueAccessor:m,timeExtent:p,valueExtent:y,extentPadding:h,binSize:a,categoryAccessor:g,barColors:f,barStyle:F,showAxes:j,background:E,hoverAnnotation:S,tooltipContent:O,customHoverBehavior:M,annotations:w,svgAnnotationRules:C,tickFormatTime:P,tickFormatValue:z})}),qo=e.forwardRef(function(t,n){const{size:a=[500,300],margin:o,className:r,arrowOfTime:s="right",windowMode:i="sliding",windowSize:c=200,data:l,timeAccessor:d,valueAccessor:u,timeExtent:m,valueExtent:p,extentPadding:y,categoryAccessor:h,colors:g,radius:f,fill:x,opacity:b,stroke:v,strokeWidth:k,showAxes:j=!0,background:E,enableHover:S,tooltipContent:O,onHover:M,annotations:w,svgAnnotationRules:C,tickFormatTime:P,tickFormatValue:z}=t,N=e.useRef(null);e.useImperativeHandle(n,()=>({push:e=>{var t;return null===(t=N.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=N.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=N.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=N.current)||void 0===e?void 0:e.getData())&&void 0!==t?t:[]}}));const F={};return null!=f&&(F.radius=f),null!=x&&(F.fill=x),null!=b&&(F.opacity=b),null!=v&&(F.stroke=v),null!=k&&(F.strokeWidth=k),A.createElement(_o,{ref:N,chartType:"swarm",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:c,data:l,timeAccessor:d,valueAccessor:u,timeExtent:m,valueExtent:p,extentPadding:y,categoryAccessor:h,barColors:g,swarmStyle:F,showAxes:j,background:E,hoverAnnotation:S,tooltipContent:O,customHoverBehavior:M,annotations:w,svgAnnotationRules:C,tickFormatTime:P,tickFormatValue:z})}),Ko=e.forwardRef(function(t,n){const{size:a=[500,300],margin:o,className:r,arrowOfTime:s="right",windowMode:i="sliding",windowSize:c=200,data:l,timeAccessor:d,valueAccessor:u,timeExtent:m,valueExtent:p,extentPadding:y,positiveColor:h,negativeColor:g,connectorStroke:f,connectorWidth:x,gap:b,stroke:v,strokeWidth:k,showAxes:j=!0,background:E,enableHover:S,tooltipContent:O,onHover:M,annotations:w,svgAnnotationRules:C,tickFormatTime:P,tickFormatValue:z}=t,N=e.useRef(null);e.useImperativeHandle(n,()=>({push:e=>{var t;return null===(t=N.current)||void 0===t?void 0:t.push(e)},pushMany:e=>{var t;return null===(t=N.current)||void 0===t?void 0:t.pushMany(e)},clear:()=>{var e;return null===(e=N.current)||void 0===e?void 0:e.clear()},getData:()=>{var e,t;return null!==(t=null===(e=N.current)||void 0===e?void 0:e.getData())&&void 0!==t?t:[]}}));const F={};return null!=h&&(F.positiveColor=h),null!=g&&(F.negativeColor=g),null!=f&&(F.connectorStroke=f),null!=x&&(F.connectorWidth=x),null!=b&&(F.gap=b),null!=v&&(F.stroke=v),null!=k&&(F.strokeWidth=k),A.createElement(_o,{ref:N,chartType:"waterfall",size:a,margin:o,className:r,arrowOfTime:s,windowMode:i,windowSize:c,data:l,timeAccessor:d,valueAccessor:u,timeExtent:m,valueExtent:p,extentPadding:y,waterfallStyle:F,showAxes:j,background:E,hoverAnnotation:S,tooltipContent:O,customHoverBehavior:M,annotations:w,svgAnnotationRules:C,tickFormatTime:P,tickFormatValue:z})});exports.Annotation=L,exports.AnnotationLayer=q,exports.AreaChart=function(t){var a;const{data:o,width:r=600,height:s=400,margin:i,className:c,title:l,xLabel:d,yLabel:u,xFormat:m,yFormat:p,xAccessor:y="x",yAccessor:h="y",areaBy:g,lineDataAccessor:f="coordinates",colorBy:x,colorScheme:b="category10",curve:v="monotoneX",areaOpacity:k=.7,showLine:j=!0,lineWidth:E=2,enableHover:S=!0,showGrid:O=!1,showLegend:M,tooltip:w,frameProps:C={}}=t,P=o||[],z=void 0!==(null===(a=P[0])||void 0===a?void 0:a[f]),N=e.useMemo(()=>{if(z)return P;if(g){const e=P.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]:P}]},[P,g,f,z]),F=vo(P,x,b),$=Mo[v]||n.curveMonotoneX,D=e.useMemo(()=>e=>{const t={},n=x?lo(e,x,F):xo;return t.fill=n,t.fillOpacity=k,j?(t.stroke=n,t.strokeWidth=E):t.stroke="none",t},[x,F,k,j,E]),T=e.useMemo(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:p},O&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:m},O&&{tickLineGenerator:()=>null})),e},[d,u,m,p,O]),R=e.useMemo(()=>({type:"area",interpolator:$}),[$]),L=void 0!==M?M:N.length>1,B=e.useMemo(()=>{if(L&&x)return po({data:N,colorBy:x,colorScale:F,getColor:lo})},[L,x,N,F]),V=e.useMemo(()=>{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=Eo({componentName:"AreaChart",data:P,accessors:{xAccessor:y,yAccessor:h}});if(I)return A.createElement(jo,{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:S,margin:V},B&&{legend:B}),c&&{className:c}),l&&{title:l}),w&&{tooltipContent:fo(w)}),{transition:!0}),C);return A.createElement(xn,Object.assign({},W))},exports.Axis=pt,exports.BarChart=function(t){const{data:n,width:a=600,height:o=400,margin:r,className:s,title:i,categoryAccessor:c="category",valueAccessor:l="value",orientation:d="vertical",categoryLabel:u,valueLabel:m,valueFormat:p,colorBy:y,colorScheme:h="category10",sort:g=!1,barPadding:f=5,enableHover:x=!0,showGrid:b=!1,showLegend:v,tooltip:k,frameProps:j={}}=t,E=n||[],S=ko(E,g,l),O=vo(E,y,h),M=e.useMemo(()=>e=>{const t={};return t.fill=y?lo(e,y,O):xo,t},[y,O]),w=e.useMemo(()=>{const e=[];return"vertical"===d?(e.push(Object.assign({orient:"left",label:m,tickFormat:p},b&&{tickLineGenerator:()=>null})),u&&e.push({orient:"bottom",label:u})):(u&&e.push({orient:"left",label:u}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:p},b&&{tickLineGenerator:()=>null}))),e},[d,u,m,p,b]),C=void 0!==v?v:!!y,P=e.useMemo(()=>{if(C&&y)return po({data:S,colorBy:y,colorScale:O,getColor:lo})},[C,y,S,O]),z=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),r);return P&&120>e.right&&(e.right=120),e},[r,P]),N=e.useMemo(()=>e=>{const t="function"==typeof c?c(e):e[c],n="function"==typeof l?l(e):e[l];return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},t+""),A.createElement("div",{style:{marginTop:"4px"}},"number"==typeof n?n.toLocaleString():n+""))},[c,l]),F=Eo({componentName:"BarChart",data:E,accessors:{categoryAccessor:c,valueAccessor:l}});if(F)return A.createElement(jo,{componentName:"BarChart",message:F,width:a,height:o});const $=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],data:S,oAccessor:c,rAccessor:l,type:"bar",projection:"horizontal"===d?"horizontal":"vertical",style:M,axes:w,hoverAnnotation:x,margin:z,oPadding:f},P&&{legend:P}),s&&{className:s}),i&&{title:i}),{tooltipContent:k?fo(k):N,transition:!0}),j);return A.createElement(Hn,Object.assign({},$))},exports.BoxPlot=function(t){const{data:n,width:a=600,height:o=400,margin:r,className:s,title:i,categoryAccessor:c="category",valueAccessor:l="value",orientation:d="vertical",categoryLabel:u,valueLabel:m,valueFormat:p,colorBy:y,colorScheme:h="category10",showOutliers:g=!0,outlierRadius:f=3,categoryPadding:x=20,enableHover:b=!0,showGrid:v=!1,showLegend:k,tooltip:j,frameProps:E={}}=t,S=n||[],O=vo(S,y,h),M=e.useMemo(()=>e=>{const t=y?lo(e,y,O):xo;return{fill:t,stroke:t,fillOpacity:.8}},[y,O]),w=e.useMemo(()=>{if(g)return e=>{const t={r:f,fillOpacity:.6};return t.fill=y?lo(e,y,O):xo,t}},[g,f,y,O]),C=e.useMemo(()=>{const e=[];return"vertical"===d?(e.push(Object.assign({orient:"left",label:m,tickFormat:p},v&&{tickLineGenerator:()=>null})),u&&e.push({orient:"bottom",label:u})):(u&&e.push({orient:"left",label:u}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:p},v&&{tickLineGenerator:()=>null}))),e},[d,u,m,p,v]),P=void 0!==k?k:!!y,z=e.useMemo(()=>{if(P&&y)return po({data:S,colorBy:y,colorScale:O,getColor:lo})},[P,y,S,O]),N=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),r);return z&&120>e.right&&(e.right=120),e},[r,z]),F=e.useMemo(()=>{const e=bo(l);return t=>{const n=(t.pieces||[]).map(t=>Number(e(t))).filter(e=>!isNaN(e)).sort((e,t)=>e-t),a=n.length,o=e=>"number"==typeof e?e.toLocaleString():(null!=e?e:"")+"";let r=[];if(a>=2){const e=e=>{const t=e*(a-1),o=Math.floor(t);return n[o]+(n[Math.ceil(t)]-n[o])*(t-o)};r=[{label:"Max",value:o(n[a-1]),active:"max"===t.summaryPieceName},{label:"Third Quartile",value:o(e(.75)),active:"q3area"===t.summaryPieceName},{label:"Median",value:o(e(.5)),active:"median"===t.summaryPieceName},{label:"First Quartile",value:o(e(.25)),active:"q1area"===t.summaryPieceName},{label:"Min",value:o(n[0]),active:"min"===t.summaryPieceName}]}return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold",marginBottom:"4px"}},t.key+""),r.map(e=>A.createElement("div",{key:e.label,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontWeight:e.active?"bold":"normal"}},A.createElement("span",null,e.label),A.createElement("span",null,e.value))),a>0&&A.createElement("div",{style:{marginTop:"4px",opacity:.6,fontSize:"0.9em"}},"n=",a))}},[l]),$=Eo({componentName:"BoxPlot",data:S,accessors:{categoryAccessor:c,valueAccessor:l}});if($)return A.createElement(jo,{componentName:"BoxPlot",message:$,width:a,height:o});const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],data:S,oAccessor:c,rAccessor:l,summaryType:{type:"boxplot",outliers:g},summaryStyle:M,projection:"horizontal"===d?"horizontal":"vertical",axes:C,summaryHoverAnnotation:b,margin:N,oPadding:x},w&&{pointStyle:w}),z&&{legend:z}),s&&{className:s}),i&&{title:i}),{tooltipContent:j?fo(j):F,transition:!0}),E);return A.createElement(Hn,Object.assign({},D))},exports.Brush=de,exports.BubbleChart=function(t){const{data:n,width:a=600,height:o=400,margin:r,className:s,title:i,xLabel:c,yLabel:l,xFormat:d,yFormat:u,xAccessor:m="x",yAccessor:p="y",sizeBy:y,sizeRange:h=[5,40],colorBy:g,colorScheme:f="category10",bubbleOpacity:x=.6,bubbleStrokeWidth:b=1,bubbleStrokeColor:v="white",enableHover:k=!0,showGrid:j=!1,showLegend:E,tooltip:S,frameProps:O={}}=t,M=n||[],w=vo(M,g,f),C=e.useMemo(()=>{const e=M.map(e=>"function"==typeof y?y(e):e[y]);return[Math.min(...e),Math.max(...e)]},[M,y]),P=e.useMemo(()=>e=>{const t={fillOpacity:x,strokeWidth:b,stroke:v};return t.fill=g?lo(e,g,w):xo,t.r=mo(e,y,h,C),t},[g,w,y,h,C,x,b,v]),z=e.useMemo(()=>{const e=[];return e.push(Object.assign({orient:"left",label:l,tickFormat:u},j&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:c,tickFormat:d},j&&{tickLineGenerator:()=>null})),e},[c,l,d,u,j]),N=void 0!==E?E:!!g,F=e.useMemo(()=>{if(N&&g)return po({data:M,colorBy:g,colorScale:w,getColor:lo,strokeColor:v,strokeWidth:b})},[N,g,M,w,v,b]),$=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),r);return F&&120>e.right&&(e.right=120),e},[r,F]),D=Eo({componentName:"BubbleChart",data:M,accessors:{xAccessor:m,yAccessor:p},requiredProps:{sizeBy:y}});if(D)return A.createElement(jo,{componentName:"BubbleChart",message:D,width:a,height:o});const T=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],points:M,xAccessor:m,yAccessor:p,pointStyle:P,axes:z,hoverAnnotation:k,margin:$},F&&{legend:F}),s&&{className:s}),i&&{title:i}),S&&{tooltipContent:fo(S)}),{transition:!0}),O);return A.createElement(xn,Object.assign({},T))},exports.ChordDiagram=function(t){const{nodes:n,edges:a,width:o=600,height:r=600,margin:s={top:50,bottom:50,left:50,right:50},className:i,title:c,sourceAccessor:l="source",targetAccessor:d="target",valueAccessor:u="value",nodeIdAccessor:m="id",colorBy:p,colorScheme:y="category10",edgeColorBy:h="source",padAngle:g=.01,groupWidth:f=20,sortGroups:x,nodeLabel:b,showLabels:v=!0,enableHover:k=!0,edgeOpacity:j=.5,tooltip:E,frameProps:S={}}=t,O=a||[],M=e.useMemo(()=>{if(n&&n.length>0)return n;const e=new Set;return O.forEach(t=>{const n="function"==typeof l?l(t):t[l],a="function"==typeof d?d(t):t[d];e.add(n),e.add(a)}),Array.from(e).map(e=>({id:e}))},[n,O,l,d]),w=vo(M,p,y),C=e.useMemo(()=>(e,t)=>{const n={stroke:"black",strokeWidth:1};if(p)n.fill=lo(e,p,w);else{const e=Array.isArray(y)?y:io[y]||co,a=Array.isArray(e)?e:co;n.fill=a[t%a.length]}return n},[p,w,y,M]),P=e.useMemo(()=>e=>{const t={stroke:"black",strokeWidth:.5,fillOpacity:j,strokeOpacity:j};return"function"==typeof h?t.fill=h(e):"source"===h?t.fill=p?lo(e.source,p,w):C(e.source,e.source.index).fill:"target"===h&&(t.fill=p?lo(e.target,p,w):C(e.target,e.target.index).fill),t},[h,p,w,C,j]),z=e.useMemo(()=>{if(!v)return;const e=b||m;return t=>"function"==typeof e?e(t):t[e]},[v,b,m]),N=e.useMemo(()=>{const e={type:"chord",padAngle:g,groupWidth:f};return x&&(e.sortGroups=x),e},[g,f,x]),F=Ao({componentName:"ChordDiagram",edges:a,edgesRequired:!0});if(F)return A.createElement(jo,{componentName:"ChordDiagram",message:F,width:o,height:r});const $=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],nodes:M,edges:O,nodeStyle:C,edgeStyle:P,nodeIDAccessor:m,sourceAccessor:l,targetAccessor:d,edgeWidthAccessor:u,networkType:N,hoverAnnotation:k,margin:s,nodeSizeAccessor:()=>5},z&&{nodeLabels:z}),i&&{className:i}),c&&{title:c}),E&&{tooltipContent:fo(E)}),{transition:!0}),S),{_layoutMap:{chord:Aa}});return A.createElement(La,Object.assign({},$))},exports.CirclePack=function(t){const{data:n,width:a=600,height:o=600,margin:r={top:10,bottom:10,left:10,right:10},className:s,title:i,childrenAccessor:c="children",valueAccessor:l="value",nodeIdAccessor:d="name",colorBy:u,colorScheme:m="category10",colorByDepth:p=!1,showLabels:y=!0,nodeLabel:h,circleOpacity:g=.7,enableHover:f=!0,tooltip:x,frameProps:b={}}=t,v=e.useMemo(()=>{if(!n)return[];const e=[],t=n=>{e.push(n);const a="function"==typeof c?c(n):n[c];a&&Array.isArray(a)&&a.forEach(t)};return t(n),e},[n,c]),k=e.useMemo(()=>p?uo(v.map((e,t)=>({depth:t%5})),"depth",m):u&&"function"!=typeof u?uo(v,u,m):void 0,[v,u,p,m]),j=e.useMemo(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3,fillOpacity:g};return t.fill=p?lo({depth:e.depth||0},"depth",k):u?lo(e,u,k):xo,t},[u,p,k,g]),E=e.useMemo(()=>"function"==typeof c?c:e=>e[c],[c]),S=e.useMemo(()=>"function"==typeof l?l:e=>e[l]||1,[l]),O=e.useMemo(()=>{if(y)return h?"function"==typeof h?h:e=>e[h]:"function"==typeof d?d:e=>e[d]},[y,h,d]),M=So({componentName:"CirclePack",data:n});if(M)return A.createElement(jo,{componentName:"CirclePack",message:M,width:a,height:o});const w=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],edges:n,nodeStyle:j,edgeStyle:()=>({fill:"none",stroke:"none"}),nodeIDAccessor:d,networkType:{type:"circlepack"},hoverAnnotation:f,margin:r},E&&{hierarchyChildren:E}),S&&{hierarchySum:S}),O&&{nodeLabels:O}),s&&{className:s}),i&&{title:i}),x&&{tooltipContent:fo(x)}),{transition:!0}),b),{_layoutMap:{circlepack:pa.circlepack}});return A.createElement(La,Object.assign({},w))},exports.DividedLine=function(e){const t=(e=>{const{parameters:t,className:a,interpolate:o=n.curveLinear,customAccessors:r,lineDataAccessor:s,data:i,searchIterations:c}=e,l=K(e,["parameters","className","interpolate","customAccessors","lineDataAccessor","data","searchIterations"]),{x:d,y:u}=r,m=U({data:i,lineDataAccessor:[s],xProp:"x",yProp:"y",xAccessor:[d],yAccessor:[u]});for(const e of m)e.data=e.data.map(e=>Object.assign(Object.assign({},e.data),e));const p=((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=ae({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})(t,m[0].data,c),y=n.line().curve(o).x(e=>e.x).y(e=>e.y);return p.map((e,t)=>A.createElement("path",Object.assign({},l,{className:a,key:"DividedLine-"+t,style:e.key,d:y(e.points)})))})(e);return A.createElement("g",null,t)},exports.DonutChart=function(t){const{data:n,width:a=400,height:o=400,margin:r,className:s,title:i,categoryAccessor:c="category",valueAccessor:l="value",innerRadius:d=60,centerContent:u,colorBy:m,colorScheme:p="category10",startAngle:y=0,slicePadding:h=2,enableHover:g=!0,showLegend:f=!0,tooltip:x,frameProps:b={}}=t,v=n||[],k=m||c,j=vo(v,k,p),E=e.useMemo(()=>e=>{const t={};return t.fill=k?lo(e,k,j):xo,t},[k,j]),S=e.useMemo(()=>{if(f)return po({data:v,colorBy:k,colorScale:j,getColor:lo})},[f,v,k,j]),O=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:20,bottom:20,left:20,right:20}),r);return S&&120>e.right&&(e.right=120),e},[r,S]),M=e.useMemo(()=>{const e={type:"bar",innerRadius:d};return y&&(e.offsetAngle=y),e},[d,y]),w=e.useMemo(()=>{if(u)return A.createElement("foreignObject",{x:a/2-d,y:o/2-d,width:2*d,height:2*d},A.createElement("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",textAlign:"center"}},u))},[u,a,o,d]),C=e.useMemo(()=>e=>{const t="function"==typeof c?c(e):e[c],n="function"==typeof l?l(e):e[l];return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},t+""),A.createElement("div",{style:{marginTop:"4px"}},"number"==typeof n?n.toLocaleString():n+""))},[c,l]),P=Eo({componentName:"DonutChart",data:v,accessors:{categoryAccessor:c,valueAccessor:l}});if(P)return A.createElement(jo,{componentName:"DonutChart",message:P,width:a,height:o});const z=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],data:v,oAccessor:c,rAccessor:l,type:M,projection:"radial",style:E,hoverAnnotation:g,margin:O,oPadding:h},S&&{legend:S}),w&&{foregroundGraphics:w}),s&&{className:s}),i&&{title:i}),{tooltipContent:x?fo(x):C,transition:!0}),b);return A.createElement(Hn,Object.assign({},z))},exports.DotPlot=function(t){const{data:n,width:a=600,height:o=400,margin:r,className:s,title:i,categoryAccessor:c="category",valueAccessor:l="value",orientation:d="horizontal",categoryLabel:u,valueLabel:m,valueFormat:p,colorBy:y,colorScheme:h="category10",sort:g=!0,dotRadius:f=5,categoryPadding:x=10,enableHover:b=!0,showGrid:v=!0,showLegend:k,tooltip:j,frameProps:E={}}=t,S=n||[],O=ko(S,g,l),M=vo(S,y,h),w=e.useMemo(()=>e=>{const t={r:f,fillOpacity:.8};return t.fill=y?lo(e,y,M):xo,t},[y,M,f]),C=e.useMemo(()=>{const e=[];return"horizontal"===d?(u&&e.push({orient:"left",label:u}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:p},v&&{tickLineGenerator:()=>null}))):(e.push(Object.assign({orient:"left",label:m,tickFormat:p},v&&{tickLineGenerator:()=>null})),u&&e.push({orient:"bottom",label:u})),e},[d,u,m,p,v]),P=void 0!==k?k:!!y,z=e.useMemo(()=>{if(P&&y)return po({data:O,colorBy:y,colorScale:M,getColor:lo})},[P,y,O,M]),N=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:120,right:40}),r);return z&&120>e.right&&(e.right=120),e},[r,z]),F=e.useMemo(()=>e=>{const t="function"==typeof c?c(e):e[c],n="function"==typeof l?l(e):e[l];return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},t+""),A.createElement("div",{style:{marginTop:"4px"}},"number"==typeof n?n.toLocaleString():n+""))},[c,l]),$=Eo({componentName:"DotPlot",data:S,accessors:{categoryAccessor:c,valueAccessor:l}});if($)return A.createElement(jo,{componentName:"DotPlot",message:$,width:a,height:o});const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],data:O,oAccessor:c,rAccessor:l,type:"point",projection:"horizontal"===d?"horizontal":"vertical",style:w,axes:C,pieceHoverAnnotation:b,margin:N,oPadding:x},z&&{legend:z}),s&&{className:s}),i&&{title:i}),{tooltipContent:j?fo(j):F,transition:!0}),E);return A.createElement(Hn,Object.assign({},D))},exports.FacetController=function(t){const[n,a]=e.useState({}),[o,r]=e.useState({}),[s,i]=e.useState(void 0),[c,l]=e.useState(void 0);return A.createElement(A.Fragment,null,Wa(t,{extents:n,rawExtents:o,facetHover:s,facetHoverAnnotations:c,changeFacetHoverAnnotations:l,changeExtents:a,changeRawExtents:r,changeFacetHover:i}))},exports.ForceDirectedGraph=function(t){const{nodes:n,edges:a,width:o=600,height:r=600,margin:s,className:i,title:c,nodeIDAccessor:l="id",sourceAccessor:d="source",targetAccessor:u="target",nodeLabel:m,colorBy:p,colorScheme:y="category10",nodeSize:h=8,nodeSizeRange:g=[5,20],edgeWidth:f=1,edgeColor:x="#999",edgeOpacity:b=.6,iterations:v=300,forceStrength:k=.1,showLabels:j=!1,enableHover:E=!0,showLegend:S,tooltip:O,frameProps:M={}}=t,w=n||[],C=a||[],P=vo(w,p,y),z=e.useMemo(()=>{if("number"==typeof h)return;if(!h)return;const e=w.map(e=>"function"==typeof h?h(e):e[h]);return[Math.min(...e),Math.max(...e)]},[w,h]),N=e.useMemo(()=>e=>{const t={};return t.fill=p?lo(e,p,P):xo,t.r="number"==typeof h?h:h?mo(e,h,g,z):8,t},[p,P,h,g,z]),F=e.useMemo(()=>e=>{const t={stroke:x,strokeOpacity:b};return"number"==typeof f?t.strokeWidth=f:"function"==typeof f?t.strokeWidth=f(e):f&&(t.strokeWidth=e[f]),t},[f,x,b]),$=e.useMemo(()=>{if(j&&m)return e=>"function"==typeof m?m(e):e[m]},[j,m]),D=void 0!==S?S:!!p,T=e.useMemo(()=>{if(D&&p)return po({data:w,colorBy:p,colorScale:P,getColor:lo})},[D,p,w,P]),R=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:20,bottom:20,left:20,right:20}),s);return T&&120>e.right&&(e.right=120),e},[s,T]),L=Ao({componentName:"ForceDirectedGraph",nodes:n,edges:a,nodesRequired:!0,edgesRequired:!0,accessors:{nodeIDAccessor:l}});if(L)return A.createElement(jo,{componentName:"ForceDirectedGraph",message:L,width:o,height:r});const B=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],nodes:w,edges:C,nodeIDAccessor:l,sourceAccessor:d,targetAccessor:u,networkType:{type:"force",iterations:v,edgeStrength:k},nodeStyle:N,edgeStyle:F,hoverAnnotation:E,margin:R},T&&{legend:T}),$&&{nodeLabels:$}),i&&{className:i}),c&&{title:c}),O&&{tooltipContent:fo(O)}),{transition:!0}),M),{_layoutMap:{force:Oa}});return A.createElement(La,Object.assign({},B))},exports.GroupedBarChart=function(t){const{data:n,width:a=600,height:o=400,margin:r,className:s,title:i,categoryAccessor:c="category",groupBy:l,valueAccessor:d="value",orientation:u="vertical",categoryLabel:m,valueLabel:p,valueFormat:y,colorBy:h,colorScheme:g="category10",barPadding:f=5,enableHover:x=!0,showGrid:b=!1,showLegend:v=!0,tooltip:k,frameProps:j={}}=t,E=n||[],S=h||l,O=vo(E,S,g),M=e.useMemo(()=>e=>{const t={};return t.fill=S?lo(e,S,O):xo,t},[S,O]),w=e.useMemo(()=>{const e=[];return"vertical"===u?(e.push(Object.assign({orient:"left",label:p,tickFormat:y},b&&{tickLineGenerator:()=>null})),m&&e.push({orient:"bottom",label:m})):(m&&e.push({orient:"left",label:m}),e.push(Object.assign({orient:"bottom",label:p,tickFormat:y},b&&{tickLineGenerator:()=>null}))),e},[u,m,p,y,b]),C=e.useMemo(()=>{if(v)return po({data:E,colorBy:S,colorScale:O,getColor:lo})},[v,E,S,O]),P=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),r);return C&&120>e.right&&(e.right=120),e},[r,C]),z=e.useMemo(()=>{const e=bo(l),t=bo(c),n=bo(d);return a=>{const o=e(a)+"",r=t(a)+"",s=Number(n(a));return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},o),A.createElement("div",{style:{marginTop:"4px"}},r," · ",s.toLocaleString()))}},[l,c,d]),N=Eo({componentName:"GroupedBarChart",data:E,accessors:{categoryAccessor:c,valueAccessor:d},requiredProps:{groupBy:l}});if(N)return A.createElement(jo,{componentName:"GroupedBarChart",message:N,width:a,height:o});const F=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],data:E,oAccessor:c,rAccessor:d,type:"clusterbar",projection:"horizontal"===u?"horizontal":"vertical",style:M,axes:w,hoverAnnotation:x,margin:P,oPadding:f,pieceIDAccessor:l},C&&{legend:C}),s&&{className:s}),i&&{title:i}),{tooltipContent:k?fo(k):z,transition:!0}),j);return A.createElement(Hn,Object.assign({},F))},exports.Heatmap=function(t){const{data:n,width:a=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:m,yLabel:p,xFormat:y,yFormat:h,colorScheme:g="blues",customColorScale:f,showValues:x=!1,valueFormat:b,cellBorderColor:v="#fff",cellBorderWidth:k=1,enableHover:E=!0,tooltip:S,frameProps:O={}}=t,M=n||[],w=e.useMemo(()=>"function"==typeof u?e=>u(e):e=>e[u],[u]),C=e.useMemo(()=>{const e=M.map(w);return[Math.min(...e),Math.max(...e)]},[M,w]),P=e.useMemo(()=>"custom"===g&&f?f:o.scaleSequential({blues:j.interpolateBlues,reds:j.interpolateReds,greens:j.interpolateGreens,viridis:j.interpolateViridis}[g]||j.interpolateBlues).domain(C),[g,f,C]),{xBinCount:z,yBinCount:N}=e.useMemo(()=>{const e=bo(l),t=bo(d);return{xBinCount:new Set(M.map(e)).size,yBinCount:new Set(M.map(t)).size}},[M,l,d]),F=e.useMemo(()=>({coordinates:M}),[M]),$=e.useMemo(()=>e=>{const t=w(e);return{fill:P(t),stroke:v,strokeWidth:k}},[w,P,v,k]),D=e.useMemo(()=>{if(!x)return;const e=(C[0]+C[1])/2;return(t,n)=>{const a=w(t),o=b?b(a):a+"";return A.createElement("text",{textAnchor:"middle",dominantBaseline:"middle",fill:w(t)>e?"#fff":"#000",fontSize:"12px"},o)}},[x,w,b,C]),T=e.useMemo(()=>{const e=[];return e.push({orient:"left",label:p,tickFormat:h}),e.push({orient:"bottom",label:m,tickFormat:y}),e},[m,p,y,h]),R=Eo({componentName:"Heatmap",data:M,accessors:{xAccessor:l,yAccessor:d,valueAccessor:u}});if(R)return A.createElement(jo,{componentName:"Heatmap",message:R,width:a,height:r});const L=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,r],summaries:F,xAccessor:l,yAccessor:d,summaryType:{type:"heatmap",xBins:z,yBins:N,binValue:e=>0===e.length?0:e.reduce((e,t)=>e+w(t),0)/e.length},summaryStyle:$,axes:T,hoverAnnotation:E,margin:s},D&&{summaryRenderMode:D}),i&&{className:i}),c&&{title:c}),S&&{tooltipContent:fo(S)}),{transition:!0}),O);return A.createElement(xn,Object.assign({},L))},exports.IncrementalExtent=Po,exports.InteractionLayer=At,exports.Legend=$,exports.LineChart=function(t){var a;const{data:o,width:r=600,height:s=400,margin:i,className:c,title:l,xLabel:d,yLabel:u,xFormat:m,yFormat:p,xAccessor:y="x",yAccessor:h="y",lineBy:g,lineDataAccessor:f="coordinates",colorBy:x,colorScheme:b="category10",curve:v="linear",showPoints:k=!1,pointRadius:j=3,fillArea:E=!1,areaOpacity:S=.3,lineWidth:O=2,enableHover:M=!0,showGrid:w=!1,showLegend:C,tooltip:P,frameProps:z={}}=t,N=o||[],F=void 0!==(null===(a=N[0])||void 0===a?void 0:a[f]),$=e.useMemo(()=>{if(F)return N;if(g){const e=N.reduce((e,t)=>{const n="function"==typeof g?g(t):t[g];if(!e[n]){const t={[f]:[]};"string"==typeof g&&(t[g]=n),e[n]=t}return e[n][f].push(t),e},{});return Object.values(e)}return[{[f]:N}]},[N,g,f,F]),D=vo(N,x,b),T=Oo[v]||n.curveLinear,R=e.useMemo(()=>e=>{const t={strokeWidth:O};return t.stroke=x?lo(e,x,D):xo,E&&(t.fill=t.stroke,t.fillOpacity=S),t},[x,D,O,E,S]),L=e.useMemo(()=>{if(k)return e=>{const t={r:j,fillOpacity:1};return t.fill=x?lo(e.parentLine||e,x,D):xo,t}},[k,j,x,D]),B=e.useMemo(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:p},w&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:m},w&&{tickLineGenerator:()=>null})),e},[d,u,m,p,w]),V=e.useMemo(()=>{const e={type:E?"area":"line",interpolator:T};return E&&(e.simpleLine=!1),e},[E,T]),I=void 0!==C?C:$.length>1,W=e.useMemo(()=>{if(I&&x)return po({data:$,colorBy:x,colorScale:D,getColor:lo})},[I,x,$,D]),H=e.useMemo(()=>{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=Eo({componentName:"LineChart",data:N,accessors:{xAccessor:y,yAccessor:h}});if(G)return A.createElement(jo,{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:$,xAccessor:y,yAccessor:h,lineDataAccessor:f,lineType:V,lineStyle:R,axes:B,hoverAnnotation:M,margin:H},k&&{showLinePoints:!0,pointStyle:L}),W&&{legend:W}),c&&{className:c}),l&&{title:l}),P&&{tooltipContent:fo(P)}),{transition:!0}),z);return A.createElement(xn,Object.assign({},_))},exports.MiniMap=Gn,exports.MinimapXYFrame=_n,exports.MultiLineTooltip=function(e={}){const{fields:t=[],title:n,format:a,style:o={},className:r="",showLabels:s=!0,separator:i=": "}=e;return e=>{if(!e||"object"!=typeof e)return null;const c=[];if(n){const t=ho(e,n);c.push({value:go(t,a)})}t&&Array.isArray(t)&&t.length>0?t.forEach(t=>{let n,o,r;"string"==typeof t?(n=t,o=t,r=a):(n=t.label,o=t.accessor||t.key||"",r=t.format||a);const i=go(ho(e,o),r);c.push({label:s?n:void 0,value:i})}):Object.keys(e).filter(e=>!e.startsWith("_")&&"data"!==e).forEach(t=>{c.push({label:s?t:void 0,value:go(e[t],a)})});const l=Object.assign(Object.assign({},yo),o);return Array.isArray(c)&&0!==c.length?A.createElement("div",{className:("semiotic-tooltip semiotic-tooltip-multiline "+r).trim(),style:l},c.map((e,t)=>A.createElement("div",{key:t,style:{marginBottom:c.length-1>t?"4px":0}},e.label&&A.createElement("strong",null,e.label,i),e.value))):null}},exports.NetworkFrame=La,exports.OrdinalFrame=Hn,exports.PieChart=function(t){const{data:n,width:a=400,height:o=400,margin:r,className:s,title:i,categoryAccessor:c="category",valueAccessor:l="value",colorBy:d,colorScheme:u="category10",startAngle:m=0,slicePadding:p=2,enableHover:y=!0,showLegend:h=!0,tooltip:g,frameProps:f={}}=t,x=n||[],b=d||c,v=vo(x,b,u),k=e.useMemo(()=>e=>{const t={};return t.fill=b?lo(e,b,v):xo,t},[b,v]),j=e.useMemo(()=>{if(h)return po({data:x,colorBy:b,colorScale:v,getColor:lo})},[h,x,b,v]),E=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:20,bottom:20,left:20,right:20}),r);return j&&120>e.right&&(e.right=120),e},[r,j]),S=e.useMemo(()=>{const e={type:"bar"};return m&&(e.offsetAngle=m),e},[m]),O=e.useMemo(()=>e=>{const t="function"==typeof c?c(e):e[c],n="function"==typeof l?l(e):e[l];return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},t+""),A.createElement("div",{style:{marginTop:"4px"}},"number"==typeof n?n.toLocaleString():n+""))},[c,l]),M=Eo({componentName:"PieChart",data:x,accessors:{categoryAccessor:c,valueAccessor:l}});if(M)return A.createElement(jo,{componentName:"PieChart",message:M,width:a,height:o});const w=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],data:x,oAccessor:c,rAccessor:l,type:S,projection:"radial",style:k,hoverAnnotation:y,margin:E,oPadding:p},j&&{legend:j}),s&&{className:s}),i&&{title:i}),{tooltipContent:g?fo(g):O,transition:!0}),f);return A.createElement(Hn,Object.assign({},w))},exports.RealtimeBarChart=Xo,exports.RealtimeFrame=_o,exports.RealtimeLineChart=Yo,exports.RealtimeSwarmChart=qo,exports.RealtimeWaterfallChart=Ko,exports.ResponsiveMinimapXYFrame=Ka,exports.ResponsiveNetworkFrame=qa,exports.ResponsiveOrdinalFrame=Ja,exports.ResponsiveXYFrame=Za,exports.RingBuffer=Co,exports.SankeyDiagram=function(t){const{nodes:n,edges:a,width:o=800,height:r=600,margin:s={top:50,bottom:50,left:50,right:50},className:i,title:c,sourceAccessor:l="source",targetAccessor:d="target",valueAccessor:u="value",nodeIdAccessor:m="id",colorBy:p,colorScheme:y="category10",edgeColorBy:h="source",orientation:g="horizontal",nodeAlign:f="justify",nodePaddingRatio:x=.05,nodeWidth:b=15,nodeLabel:v,showLabels:k=!0,enableHover:j=!0,edgeOpacity:E=.5,edgeSort:S,tooltip:O,frameProps:M={}}=t,w=a||[],C=e.useMemo(()=>{if(n&&n.length>0)return n;const e=new Set;return w.forEach(t=>{const n="function"==typeof l?l(t):t[l],a="function"==typeof d?d(t):t[d];e.add(n),e.add(a)}),Array.from(e).map(e=>({id:e}))},[n,w,l,d]),P=vo(C,p,y),z=e.useMemo(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=p?lo(e,p,P):"#4d430c",t},[p,P]),N=e.useMemo(()=>e=>{const t={stroke:"black",strokeWidth:.5,fillOpacity:E,strokeOpacity:.3};return"function"==typeof h?t.fill=h(e):"source"===h?p&&e.source?t.fill=lo(e.source,p,P):e.source&&(t.fill=z(e.source).fill):"target"===h?p&&e.target?t.fill=lo(e.target,p,P):e.target&&(t.fill=z(e.target).fill):"gradient"===h&&(t.fill="#999",t.fillOpacity=.7*E),t},[h,p,P,z,E]),F=e.useMemo(()=>{if(!k)return;const e=v||m;return t=>"function"==typeof e?e(t):t[e]},[k,v,m]),$=e.useMemo(()=>{const e={type:"sankey",orient:f,direction:"horizontal"===g?void 0:"down",nodePaddingRatio:x,nodeWidth:b};return S&&(e.edgeSort=S),e},[f,g,x,b,S]),D=e.useMemo(()=>e=>{var t,n,a,o,r,s,i,c,l,d,u,p;if(e.edge||e.source&&e.target&&!e.degree&&0!==e.degree){const m=null!==(r=null!==(n=null===(t=e.source)||void 0===t?void 0:t.id)&&void 0!==n?n:null===(o=null===(a=e.edge)||void 0===a?void 0:a.source)||void 0===o?void 0:o.id)&&void 0!==r?r:"?",p=null!==(d=null!==(i=null===(s=e.target)||void 0===s?void 0:s.id)&&void 0!==i?i:null===(l=null===(c=e.edge)||void 0===c?void 0:c.target)||void 0===l?void 0:l.id)&&void 0!==d?d:"?",y=null!==(u=e.value)&&void 0!==u?u:e.weight;return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},m," → ",p),null!=y&&A.createElement("div",{style:{marginTop:4}},"Value: ","number"==typeof y?y.toLocaleString():y+""))}const y=m,h="function"==typeof y?y(e):null!==(p=e[y])&&void 0!==p?p:e.id,g=e.value;return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},h+""),null!=g&&A.createElement("div",{style:{marginTop:4}},"Total: ","number"==typeof g?g.toLocaleString():g+""),null!=e.degree&&A.createElement("div",{style:{marginTop:2}},"Degree: ",e.degree,null!=e.inDegree?` (${e.inDegree} in, ${e.outDegree} out)`:""))},[m]),T="function"==typeof O?O:D,R=e.useMemo(()=>({d:e,i:t,adjustedSize:n})=>{if("frame-hover"!==e.type)return null;const a={position:"absolute",top:e.y+"px"};return n&&e.x>n[0]/2?a.right=n[0]-e.x+"px":a.left=e.x+"px",A.createElement("div",{key:"network-annotation-label-"+t,className:"annotation annotation-network-label "+(e.className||""),style:a},T(e))},[T]),L=Ao({componentName:"SankeyDiagram",edges:a,edgesRequired:!0});if(L)return A.createElement(jo,{componentName:"SankeyDiagram",message:L,width:o,height:r});const B=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[o,r],nodes:C,edges:w,nodeStyle:z,edgeStyle:N,nodeIDAccessor:m,sourceAccessor:l,targetAccessor:d,edgeWidthAccessor:u,networkType:$,hoverAnnotation:j,margin:s,nodeSizeAccessor:()=>5},F&&{nodeLabels:F}),i&&{className:i}),c&&{title:c}),{htmlAnnotationRules:R,transition:!0}),M),{_layoutMap:{sankey:ha,flowchart:ha}});return A.createElement(La,Object.assign({},B))},exports.Scatterplot=function(t){const{data:n,width:a=600,height:o=400,margin:r,className:s,title:i,xLabel:c,yLabel:l,xFormat:d,yFormat:u,xAccessor:m="x",yAccessor:p="y",colorBy:y,colorScheme:h="category10",sizeBy:g,sizeRange:f=[3,15],pointRadius:x=5,pointOpacity:b=.8,enableHover:v=!0,showGrid:k=!1,showLegend:j,tooltip:E,frameProps:S={}}=t,O=n||[],M=vo(O,y,h),w=e.useMemo(()=>{if(!g||0===O.length)return;const e=O.map(e=>"function"==typeof g?g(e):e[g]);return[Math.min(...e),Math.max(...e)]},[O,g]),C=e.useMemo(()=>e=>{const t={fillOpacity:b};return t.fill=y?lo(e,y,M):xo,t.r=g?mo(e,g,f,w):x,t},[y,M,g,f,w,x,b]),P=e.useMemo(()=>[Object.assign({orient:"left",label:l,tickFormat:u},k&&{tickLineGenerator:()=>null}),Object.assign({orient:"bottom",label:c,tickFormat:d},k&&{tickLineGenerator:()=>null})],[c,l,d,u,k]),z=void 0!==j?j:!!y,N=e.useMemo(()=>{if(z&&y)return po({data:O,colorBy:y,colorScale:M,getColor:lo})},[z,y,O,M]),F=e.useMemo(()=>{const e=Object.assign({top:50,bottom:60,left:70,right:40},r);return N&&120>e.right&&(e.right=120),e},[r,N]),$=Eo({componentName:"Scatterplot",data:O,accessors:{xAccessor:m,yAccessor:p}});if($)return A.createElement(jo,{componentName:"Scatterplot",message:$,width:a,height:o});const D=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],points:O,xAccessor:m,yAccessor:p,pointStyle:C,axes:P,hoverAnnotation:v,margin:F},N&&{legend:N}),s&&{className:s}),i&&{title:i}),E&&{tooltipContent:fo(E)}),{transition:!0}),S);return A.createElement(xn,Object.assign({},D))},exports.SparkNetworkFrame=so,exports.SparkOrdinalFrame=ro,exports.SparkXYFrame=oo,exports.StackedAreaChart=function(t){var a;const{data:o,width:r=600,height:s=400,margin:i,className:c,title:l,xLabel:d,yLabel:u,xFormat:m,yFormat:p,xAccessor:y="x",yAccessor:h="y",areaBy:g,lineDataAccessor:f="coordinates",colorBy:x,colorScheme:b="category10",curve:v="monotoneX",areaOpacity:k=.7,showLine:j=!0,lineWidth:E=2,normalize:S=!1,enableHover:O=!0,showGrid:M=!1,showLegend:w,tooltip:C,frameProps:P={}}=t,z=o||[],N=void 0!==(null===(a=z[0])||void 0===a?void 0:a[f]),F=e.useMemo(()=>{if(N)return z;if(g){const e=z.reduce((e,t)=>{const n="function"==typeof g?g(t):t[g];if(!e[n]){const t={[f]:[]};"string"==typeof g&&(t[g]=n),e[n]=t}return e[n][f].push(t),e},{});return Object.values(e)}return[{[f]:z}]},[z,g,f,N]),$=vo(z,x,b),D=wo[v]||n.curveMonotoneX,T=e.useMemo(()=>e=>{const t={},n=x?lo(e,x,$):xo;return t.fill=n,t.fillOpacity=k,j?(t.stroke=n,t.strokeWidth=E):t.stroke="none",t},[x,$,k,j,E]),R=e.useMemo(()=>{const e=[];return e.push(Object.assign({orient:"left",label:u,tickFormat:p},M&&{tickLineGenerator:()=>null})),e.push(Object.assign({orient:"bottom",label:d,tickFormat:m},M&&{tickLineGenerator:()=>null})),e},[d,u,m,p,M]),L=e.useMemo(()=>({type:S?"stackedpercent-area":"stackedarea",interpolator:D}),[D,S]),B=void 0!==w?w:F.length>1,V=e.useMemo(()=>{if(B&&x)return po({data:F,colorBy:x,colorScale:$,getColor:lo})},[B,x,F,$]),I=e.useMemo(()=>{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=Eo({componentName:"StackedAreaChart",data:z,accessors:{xAccessor:y,yAccessor:h}});if(W)return A.createElement(jo,{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:F,xAccessor:y,yAccessor:h,lineDataAccessor:f,lineType:L,lineStyle:T,axes:R,hoverAnnotation:O,margin:I},V&&{legend:V}),c&&{className:c}),l&&{title:l}),C&&{tooltipContent:fo(C)}),{transition:!0}),P);return A.createElement(xn,Object.assign({},H))},exports.StackedBarChart=function(t){const{data:n,width:a=600,height:o=400,margin:r,className:s,title:i,categoryAccessor:c="category",stackBy:l,valueAccessor:d="value",orientation:u="vertical",categoryLabel:m,valueLabel:p,valueFormat:y,colorBy:h,colorScheme:g="category10",normalize:f=!1,barPadding:x=5,enableHover:b=!0,showGrid:v=!1,showLegend:k=!0,tooltip:j,frameProps:E={}}=t,S=n||[],O=h||l;e.useMemo(()=>{const e=bo(l);return Array.from(new Set(S.map(e)))},[S,l]);const M=vo(S,O,g),w=e.useMemo(()=>e=>{const t={};return t.fill=O?lo(e,O,M):xo,t},[O,M]),C=e.useMemo(()=>{const e=[];return"vertical"===u?(e.push(Object.assign({orient:"left",label:p,tickFormat:y},v&&{tickLineGenerator:()=>null})),m&&e.push({orient:"bottom",label:m})):(m&&e.push({orient:"left",label:m}),e.push(Object.assign({orient:"bottom",label:p,tickFormat:y},v&&{tickLineGenerator:()=>null}))),e},[u,m,p,y,v]),P=e.useMemo(()=>{if(k)return po({data:S,colorBy:O,colorScale:M,getColor:lo})},[k,S,O,M]),z=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:120}),r);return P&&120>e.right&&(e.right=120),e},[r,P]),N=e.useMemo(()=>{const e=bo(l),t=bo(c),n=bo(d);return a=>{const o=e(a)+"",r=t(a)+"",s=Number(n(a)),i=a.pieces||[],c=i.reduce((e,t)=>e+(Number(n(t))||0),0),l=i.length>1;return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},o),A.createElement("div",{style:{marginTop:"4px"}},r," · ",s.toLocaleString()),l&&A.createElement("div",{style:{marginTop:"2px",opacity:.8}},"Total: ",c.toLocaleString()))}},[l,c,d]),F=Eo({componentName:"StackedBarChart",data:S,accessors:{categoryAccessor:c,valueAccessor:d},requiredProps:{stackBy:l}});if(F)return A.createElement(jo,{componentName:"StackedBarChart",message:F,width:a,height:o});const $=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],data:S,oAccessor:c,rAccessor:d,type:"bar",projection:"horizontal"===u?"horizontal":"vertical",style:w,axes:C,hoverAnnotation:b,margin:z,oPadding:x,pieceIDAccessor:l},f&&{rExtent:[0,1]}),P&&{legend:P}),s&&{className:s}),i&&{title:i}),{tooltipContent:j?fo(j):N,transition:!0}),E);return A.createElement(Hn,Object.assign({},$))},exports.SwarmPlot=function(t){const{data:n,width:a=600,height:o=400,margin:r,className:s,title:i,categoryAccessor:c="category",valueAccessor:l="value",orientation:d="vertical",categoryLabel:u,valueLabel:m,valueFormat:p,colorBy:y,colorScheme:h="category10",sizeBy:g,sizeRange:f=[3,8],pointRadius:x=4,pointOpacity:b=.7,categoryPadding:v=20,enableHover:k=!0,showGrid:j=!1,showLegend:E,tooltip:S,frameProps:O={}}=t,M=n||[],w=vo(M,y,h),C=e.useMemo(()=>{if(!g)return;const e=M.map(e=>"function"==typeof g?g(e):e[g]);return[Math.min(...e),Math.max(...e)]},[M,g]),P=e.useMemo(()=>e=>{const t={fillOpacity:b};return t.fill=y?lo(e,y,w):xo,t.r=g?mo(e,g,f,C):x,t},[y,w,g,f,C,x,b]),z=e.useMemo(()=>{const e=[];return"vertical"===d?(e.push(Object.assign({orient:"left",label:m,tickFormat:p},j&&{tickLineGenerator:()=>null})),u&&e.push({orient:"bottom",label:u})):(u&&e.push({orient:"left",label:u}),e.push(Object.assign({orient:"bottom",label:m,tickFormat:p},j&&{tickLineGenerator:()=>null}))),e},[d,u,m,p,j]),N=void 0!==E?E:!!y,F=e.useMemo(()=>{if(N&&y)return po({data:M,colorBy:y,colorScale:w,getColor:lo})},[N,y,M,w]),$=e.useMemo(()=>{const e=Object.assign(Object.assign({},{top:50,bottom:60,left:70,right:40}),r);return F&&120>e.right&&(e.right=120),e},[r,F]),D=e.useMemo(()=>{const e=bo(l),t=bo(c);return n=>{const a=t(n),o=e(n),r=n.pieces||[],s=r.length>1;return A.createElement("div",{className:"semiotic-tooltip",style:yo},A.createElement("div",{style:{fontWeight:"bold"}},a+""),A.createElement("div",{style:{marginTop:"4px"}},"number"==typeof o?o.toLocaleString():o+""),s&&A.createElement("div",{style:{marginTop:"2px",opacity:.8}},r.length," points in group"))}},[c,l]),T=Eo({componentName:"SwarmPlot",data:M,accessors:{categoryAccessor:c,valueAccessor:l}});if(T)return A.createElement(jo,{componentName:"SwarmPlot",message:T,width:a,height:o});const R=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],data:M,oAccessor:c,rAccessor:l,type:"swarm",projection:"horizontal"===d?"horizontal":"vertical",style:P,axes:z,pieceHoverAnnotation:k,margin:$,oPadding:v},F&&{legend:F}),s&&{className:s}),i&&{title:i}),{tooltipContent:S?fo(S):D,transition:!0}),O);return A.createElement(Hn,Object.assign({},R))},exports.Tooltip=function(e={}){const{fields:t,title:n,format:a,style:o={},className:r=""}=e;return e=>{if(!e||"object"!=typeof e)return null;let s;const i=[];if(n){const t=ho(e,n);s=go(t,a)}if(t&&t.length>0)t.forEach(t=>{let n,o,r;"string"==typeof t?(n=t,o=t,r=a):(n=t.label,o=t.accessor||t.key||"",r=t.format||a);const s=ho(e,o);i.push({label:n,value:go(s,r)})});else if(!n){const t=["value","y","name","id","label"];for(const n of t)if(void 0!==e[n]){s=go(e[n],a);break}if(!s){const t=Object.keys(e).filter(e=>!e.startsWith("_"));t.length>0&&(s=go(e[t[0]],a))}}const c=Object.assign(Object.assign({},yo),o);return A.createElement("div",{className:("semiotic-tooltip "+r).trim(),style:c},s&&A.createElement("div",{style:{fontWeight:i.length>0?"bold":"normal"}},s),i.map((e,t)=>A.createElement("div",{key:t,style:{marginTop:0===t&&s?"4px":0}},e.label&&A.createElement("span",null,e.label,": "),e.value)))}},exports.TreeDiagram=function(t){const{data:n,width:a=600,height:o=600,margin:r={top:50,bottom:50,left:50,right:50},className:s,title:i,layout:c="tree",orientation:l="vertical",childrenAccessor:d="children",valueAccessor:u="value",nodeIdAccessor:m="name",colorBy:p,colorScheme:y="category10",colorByDepth:h=!1,nodeSize:g=5,enableHover:f=!0,tooltip:x,frameProps:b={}}=t,v=e.useMemo(()=>{if(!n)return[];const e=[],t=n=>{e.push(n);const a="function"==typeof d?d(n):n[d];a&&Array.isArray(a)&&a.forEach(t)};return t(n),e},[n,d]),k=e.useMemo(()=>h?uo(v.map((e,t)=>({depth:t%5})),"depth",y):p&&"function"!=typeof p?uo(v,p,y):void 0,[v,p,h,y]),j=e.useMemo(()=>e=>{const t={stroke:"black",strokeWidth:1};return t.fill=h?lo({depth:e.depth||0},"depth",k):p?lo(e,p,k):xo,t},[p,h,k]),E=e.useMemo(()=>()=>({stroke:"#999",strokeWidth:1,fill:"none"}),[]),S=e.useMemo(()=>{const e={type:c};return"tree"!==c&&"cluster"!==c||(e.projection=l),"partition"===c&&"radial"===l&&(e.projection="radial"),e},[c,l]),O=e.useMemo(()=>"function"==typeof d?d:e=>e[d],[d]),M=e.useMemo(()=>{if("treemap"===c||"circlepack"===c||"partition"===c)return"function"==typeof u?u:e=>e[u]||1},[c,u]),w=So({componentName:"TreeDiagram",data:n});if(w)return A.createElement(jo,{componentName:"TreeDiagram",message:w,width:a,height:o});"treemap"===c?console.info("TreeDiagram: Consider using the standalone <Treemap> component for treemap visualizations."):"circlepack"===c&&console.info("TreeDiagram: Consider using the standalone <CirclePack> component for circle packing visualizations.");const C=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],edges:n,nodeStyle:j,edgeStyle:E,nodeIDAccessor:m,networkType:S,hoverAnnotation:f,margin:r,nodeSizeAccessor:()=>g},O&&{hierarchyChildren:O}),M&&{hierarchySum:M}),s&&{className:s}),i&&{title:i}),x&&{tooltipContent:fo(x)}),{transition:!0}),b),{_layoutMap:pa});return A.createElement(La,Object.assign({},C))},exports.Treemap=function(t){const{data:n,width:a=600,height:o=600,margin:r={top:10,bottom:10,left:10,right:10},className:s,title:i,childrenAccessor:c="children",valueAccessor:l="value",nodeIdAccessor:d="name",colorBy:u,colorScheme:m="category10",colorByDepth:p=!1,showLabels:y=!0,nodeLabel:h,enableHover:g=!0,tooltip:f,frameProps:x={}}=t,b=e.useMemo(()=>{if(!n)return[];const e=[],t=n=>{e.push(n);const a="function"==typeof c?c(n):n[c];a&&Array.isArray(a)&&a.forEach(t)};return t(n),e},[n,c]),v=e.useMemo(()=>p?uo(b.map((e,t)=>({depth:t%5})),"depth",m):u&&"function"!=typeof u?uo(b,u,m):void 0,[b,u,p,m]),k=e.useMemo(()=>e=>{const t={stroke:"currentColor",strokeWidth:1,strokeOpacity:.3};return t.fill=p?lo({depth:e.depth||0},"depth",v):u?lo(e,u,v):xo,t},[u,p,v]),j=e.useMemo(()=>"function"==typeof c?c:e=>e[c],[c]),E=e.useMemo(()=>"function"==typeof l?l:e=>e[l]||1,[l]),S=e.useMemo(()=>{if(y)return h?"function"==typeof h?h:e=>e[h]:"function"==typeof d?d:e=>e[d]},[y,h,d]),O=So({componentName:"Treemap",data:n});if(O)return A.createElement(jo,{componentName:"Treemap",message:O,width:a,height:o});const M=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({size:[a,o],edges:n,nodeStyle:k,edgeStyle:()=>({fill:"none",stroke:"none"}),nodeIDAccessor:d,networkType:{type:"treemap"},hoverAnnotation:g,margin:r},j&&{hierarchyChildren:j}),E&&{hierarchySum:E}),S&&{nodeLabels:S}),s&&{className:s}),i&&{title:i}),f&&{tooltipContent:fo(f)}),{transition:!0}),x),{_layoutMap:{treemap:pa.treemap}});return A.createElement(La,Object.assign({},M))},exports.VisualizationLayer=Ot,exports.XYFrame=xn,exports.calculateDataExtent=Jt,exports.funnelize=function({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},exports.heatmapping=Ke,exports.hexbinning=Xe,exports.nodesEdgesFromHierarchy=Ea,exports.normalizeTooltip=fo;
|