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("d3-scale"),a=require("d3-hierarchy"),n=require("d3-array"),o=require("d3-shape"),r=require("labella"),i=require("d3-brush"),s=require("d3-selection"),l=require("d3-delaunay"),c=require("d3-contour"),d=require("regression"),u=require("d3-hexbin"),p=require("svg-path-bounding-box"),m=require("d3-force"),y=require("memoize-one");function h(e){return e&&e.__esModule?e:{default:e}}function f(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const a in e)if("default"!==a){const n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}return t.default=e,Object.freeze(t)}const g=f(e),x=h(r),v=h(d),b=h(p),k=h(y),j=["data","oAccessor","rAccessor","dataAccessor","type","summaryType","connectorType","projection","orient","oScaleType","rScaleType","oExtent","rExtent","invertO","invertR","oPadding","oSort","dynamicColumnWidth","rBaseline","summaryPosition","renderFn"],E=["size","margin","title","axes","oLabel",...j];function O(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(a[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);n.length>o;o++)0>t.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(a[n[o]]=e[n[o]])}return a}function S(e,t=120,a=8){if(!e)return[];const n=Math.max(1,Math.floor(t/a)),o=e.split(/\s+/),r=[];let i="";for(const e of o)i&&i.length+1+e.length>n?(r.push(i),i=e):i=i?`${i} ${e}`:e;return i&&r.push(i),r}function M(e,t,a,n){return"curly"===e?n?`M0,0 C${.6*a},0 ${.4*a},${t/2} ${a},${t/2} C${.4*a},${t/2} ${.6*a},${t} 0,${t}`:`M0,0 C0,${.6*a} ${t/2},${.4*a} ${t/2},${a} C${t/2},${.4*a} ${t},${.6*a} ${t},0`:n?`M0,0 L${a},0 L${a},${t} L0,${t}`:`M0,0 L0,${a} L${t},${a} L${t},0`}function A(e){const{x:t=0,y:a=0,dx:n,dy:o,nx:r,ny:i,note:s,connector:l,subject:c,type:d,color:u,className:p,disable:m,events:y={},"data-testid":h}=e,f=new Set(Array.isArray(m)?m:[]);let x=n||0,v=o||0;null!=r&&(x=r-t),null!=i&&(v=i-a);const b="string"==typeof d?d:"label";if("bracket"===b&&c&&0===x&&0===v)if(void 0!==c.width){x=c.width/2;const e=c.depth||30;v=e+(0>e?-5:5)}else if(void 0!==c.height){const e=c.depth||30;x=e+(0>e?-5:5),v=c.height/2}return g.createElement("g",Object.assign({className:("annotation "+(p||"")).trim(),transform:`translate(${t},${a})`,"data-testid":h},y),!f.has("connector")&&function(e,t,a,n,o,r){const i=[];let s=0,l=0;if("callout-circle"!==o&&"label"!==o||!(null==r?void 0:r.radius)){if("callout-rect"===o&&r){const a=r.width||0,n=r.height||0;if(a>0||n>0){const o=a/2,r=n/2,i=e-o,c=t-r;if(0!==i||0!==c){const e=Math.abs(i),t=Math.abs(c),d=a/2,u=n/2,p=e*u>t*d?d/e:u/t;s=o+i*p,l=r+c*p}}}else if("bracket"===o&&r){const e=r.width,t=r.height,a=r.depth||30;void 0!==e?(s=e/2,l=a):void 0!==t&&(s=a,l=t/2)}}else{const a=(r.radius||0)+(r.radiusPadding||0);if(a>0&&(0!==e||0!==t)){const n=Math.atan2(t,e);s=Math.cos(n)*a,l=Math.sin(n)*a}}if(Math.sqrt(Math.pow(e-s,2)+Math.pow(t-l,2))>.5&&(i.push(g.createElement("line",{key:"connector-line",x1:s,y1:l,x2:e,y2:t,stroke:n||"currentColor"})),"arrow"===(null==a?void 0:a.end))){const a=10,o=16/180*Math.PI,r=Math.atan2(t-l,e-s);i.push(g.createElement("path",{key:"connector-arrow",d:`M${s},${l}L${s+a*Math.cos(r+o)},${l+a*Math.sin(r+o)}L${s+a*Math.cos(r-o)},${l+a*Math.sin(r-o)}Z`,fill:n||"currentColor",stroke:"none"}))}return g.createElement("g",{className:"annotation-connector"},i)}(x,v,l,u,b,c),!f.has("subject")&&function(e,t,a,n,o){var r;const i=[];switch(e){case"callout-circle":{const e=((null==t?void 0:t.radius)||0)+((null==t?void 0:t.radiusPadding)||0);e>0&&i.push(g.createElement("circle",{key:"subject-circle",r:e,fill:"none",stroke:a||"currentColor"}));break}case"callout-rect":{const e=(null==t?void 0:t.width)||0,n=(null==t?void 0:t.height)||0;(e>0||n>0)&&i.push(g.createElement("rect",{key:"subject-rect",width:e,height:n,fill:"none",stroke:a||"currentColor"}));break}case"callout-custom":(null==t?void 0:t.custom)&&i.push(...Array.isArray(t.custom)?t.custom:[t.custom]);break;case"xy-threshold":{const e=n||0,r=o||0;if(void 0!==(null==t?void 0:t.x)){const n=(t.x||0)-e;i.push(g.createElement("line",{key:"threshold-line",x1:n,y1:(t.y1||0)-r,x2:n,y2:(t.y2||0)-r,stroke:a||"currentColor",strokeDasharray:"5,5"}))}else if(void 0!==(null==t?void 0:t.y)){const n=(t.y||0)-r;i.push(g.createElement("line",{key:"threshold-line",x1:(t.x1||0)-e,y1:n,x2:(t.x2||0)-e,y2:n,stroke:a||"currentColor",strokeDasharray:"5,5"}))}else void 0!==(null==t?void 0:t.x1)||void 0!==(null==t?void 0:t.x2)?i.push(g.createElement("line",{key:"threshold-line",x1:(t.x1||0)-e,y1:0,x2:(t.x2||0)-e,y2:0,stroke:a||"currentColor",strokeDasharray:"5,5"})):void 0===(null==t?void 0:t.y1)&&void 0===(null==t?void 0:t.y2)||i.push(g.createElement("line",{key:"threshold-line",x1:0,y1:(t.y1||0)-r,x2:0,y2:(t.y2||0)-r,stroke:a||"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&&i.push(g.createElement("path",{key:"bracket-path",d:M((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:a||"currentColor"}));break}}return g.createElement("g",{className:"annotation-subject"},i)}(b,c,u,t,a),!f.has("note")&&function(e,t,a,n){if(!e)return g.createElement("g",{className:"annotation-note"});const{label:o,title:r,orientation:i,align:s,wrap:l=120,noWrap:c}=e;if(!o&&!r)return g.createElement("g",{className:"annotation-note"});let d=i;d||(d=Math.abs(t)>Math.abs(a)?"leftRight":"topBottom");let u=s;u&&"dynamic"!==u||(u="topBottom"===d?0>t?"right":"left":0>a?"bottom":"top");let p="start";"topBottom"===d?"right"===u?p="end":"middle"===u&&(p="middle"):p=0>t?"end":"start";const m=16,y=r?c?[r]:S(r,l):[],h=o?c?[o]:S(o,l):[],f="leftRight"===d?"end"===p?-4:4:0;let x=0;const v=[];y.length>0&&(v.push(g.createElement("text",{key:"annotation-note-title",className:"annotation-note-title",fill:n||void 0,textAnchor:p,fontWeight:"bold"},y.map((e,t)=>g.createElement("tspan",{key:t,x:f,dy:0===t?0:m},e)))),x=y.length*m),h.length>0&&v.push(g.createElement("text",{key:"annotation-note-label",className:"annotation-note-label",fill:n||void 0,textAnchor:p,y:x},h.map((e,t)=>g.createElement("tspan",{key:t,x:f,dy:m},e))));let b=null;if((r||o)&&(0!==t||0!==a))if("topBottom"===d){const e=Math.min(l,120);let t=0,a=e;"end"===p?(t=-e,a=0):"middle"===p&&(t=-e/2,a=e/2),b=g.createElement("line",{className:"note-line",x1:t,x2:a,y1:0,y2:0,stroke:n||"currentColor"})}else{const e=(y.length+h.length)*m+(h.length>0?m:0);let t=0,a=e;"bottom"===u?(t=-e,a=0):"middle"===u&&(t=-e/2,a=e/2),b=g.createElement("line",{className:"note-line",x1:0,x2:0,y1:t,y2:a,stroke:n||"currentColor"})}const k=(y.length+h.length)*m+(h.length>0?m:0);let j=0;return"topBottom"===d?0>a&&(j=-k):"leftRight"===d&&("middle"===u?j=-k/2:("bottom"===u||0>a)&&(j=-k)),g.createElement("g",{className:"annotation-note",transform:`translate(${t},${a})`},g.createElement("g",{className:"annotation-note-content",transform:0!==j?`translate(0,${j})`:void 0},v),b)}(s,x,v,u))}function $(e){const{noteData:t}=e,{screenCoordinates:a}=t,n="string"==typeof t.type?t.type:"label",o=t.eventListeners||t.events||{};if(t.coordinates&&a){const e=t.nx||a[0][0]+t.dx,o=t.ny||a[0][1]+t.dy,r=a.map((a,r)=>{const i=Object.assign({},t,{note:0===r?t.note:{label:""},x:a[0],y:a[1],nx:e,ny:o});return g.createElement(A,Object.assign({"data-testid":"semiotic-annotation",key:"multi-annotation-"+r},i,{type:n}))});return g.createElement("g",null,r)}const r=t.note||{title:"none",label:t.label};return g.createElement(A,Object.assign({"data-testid":"semiotic-annotation",key:`${r.label}-${r.title}-${t.i}`,events:o},t,{type:n}))}function P(e,t,a){const n=Math.PI*(t+.75)*2;return[e[0]+a*Math.cos(n),e[1]+a*Math.sin(n)]}"function"==typeof SuppressedError&&SuppressedError;const C=({data:e,shouldRender:t,canvasRender:a,canvasDrawing:n,styleFn:o,classFn:r,renderKeyFn:i,ariaLabel:s,axis:l})=>{const c=l&&l[0]&&l[0].tickFormat;if(!t)return null;const d=[];return e.forEach((e,t)=>{if(a&&!0===a(e))n.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(g.isValidElement(e.renderElement||e))d.push(e.renderElement||e);else{const a=s?`${e.o} ${s.items} value ${c&&c(e.piece.value)||e.piece.value}`:"",n=i?i(e.piece):e.renderKey||"piece-render-"+t,o=e.renderElement||e,{markType:r,style:l={}}=o,u=O(o,["markType","style"]),p=Object.assign(Object.assign({},u),{key:n,"aria-label":a});void 0!==l.fill&&(p.fill=l.fill),void 0!==l.stroke&&(p.stroke=l.stroke),void 0!==l.strokeWidth&&(p.strokeWidth=l.strokeWidth),void 0!==l.opacity&&(p.opacity=l.opacity),void 0!==l.fillOpacity&&(p.fillOpacity=l.fillOpacity),void 0!==l.strokeOpacity&&(p.strokeOpacity=l.strokeOpacity);const m=Object.assign({},l);delete m.fill,delete m.stroke,delete m.strokeWidth,delete m.opacity,delete m.fillOpacity,delete m.strokeOpacity,Object.keys(m).length>0&&(p.style=m),r&&d.push(g.createElement(r,p))}}),d},z=(e,t)=>{for(let a=0;e.length>a;a++){const n=e[a](t);if(void 0!==n&&!Number.isNaN(n)&&null!==n)return n}};function D({summaryType:e,data:a,finalXExtent:n,finalYExtent:o}){let r=[];e.type||(e={type:e});const{resolution:i=500,thresholds:s=10,bandwidth:l=20,neighborhood:d}=e,u=t.scaleLinear().domain(n).rangeRound([0,i]).nice(),p=t.scaleLinear().domain(o).rangeRound([i,0]).nice();return a.forEach(e=>{let t=c.contourDensity().size([i,i]).x(e=>u(e[0])).y(e=>p(e[1])).thresholds(s).bandwidth(l)(e._xyfCoordinates);d&&(t=[t[0]]);const a=Math.max(...t.map(e=>e.value));t.forEach(t=>{t.parentSummary=e,t.bounds=[],t.percent=t.value/a,t.coordinates.forEach(e=>{e.forEach((a,n)=>{e[n]=a.map(e=>[u.invert(e[0]),p.invert(e[1])]),0===n&&t.bounds.push(function(e){let t=[1/0,0],a=[-1/0,0],n=[0,1/0],o=[0,-1/0];return e.forEach(e=>{t=t[0]>e[0]?e:t,a=e[0]>a[0]?e:a,o=e[1]>o[1]?e:o,n=n[1]>e[1]?e:n}),{center:[(t[0]+a[0])/2,(n[1]+o[1])/2],top:n,left:t,right:a,bottom:o}}(e[n]))})})}),r=[...r,...t]}),r}const w=(e,t,a,n)=>[...e.map((e,n)=>[e[0],e[1]+a(t[n])]),...e.map((e,a)=>[e[0],e[1]-n(t[a])]).reverse()],T={step:o.curveStep,stepbefore:o.curveStepBefore,stepafter:o.curveStepAfter,cardinal:o.curveCardinal,basis:o.curveBasis,linear:o.curveLinear,catmullrom:o.curveCatmullRom,monotone:o.curveMonotoneY,monotonex:o.curveMonotoneX,monotoney:o.curveMonotoneY,natural:o.curveNatural},N=({tooltipRef:e,changeTooltipContentArgsCurrent:t,changeTooltipContainerInitialDimensions:a,changeCollision:n})=>{const o=null==e?void 0:e.getBoundingClientRect();if(!o)return;const{left:r,top:i,width:s,height:l}=o;let c={left:!1,right:!1,top:!1,bottom:!1};r+s>window.innerWidth&&(c.right=!0),0>r-s&&(c.left=!0),i+l>window.innerHeight&&(c.bottom=!0),0>i-l&&(c.top=!0),t(),a(o),n(c)};function F(t){const{tooltipContent:a,tooltipContentArgs:n}=t,[o,r]=e.useState(null),[i,s]=e.useState(null),[l,c]=e.useState(null),[d,u]=e.useState(null),p=e.useCallback(e=>{u(e),N({tooltipRef:e,tooltipContentArgs:n,changeTooltipContentArgsCurrent:c,changeTooltipContainerInitialDimensions:s,changeCollision:r})},[]);e.useEffect(()=>{r(null),s(null)},[JSON.stringify(n)]),e.useEffect(()=>{d&&!o&&N({tooltipRef:d,tooltipContentArgs:n,changeTooltipContentArgsCurrent:c,changeTooltipContainerInitialDimensions:s,changeCollision:r})},[d,o]);const m={overflow:"hidden",opacity:o&&l===n?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:i};return g.createElement("div",{ref:p,style:m,className:y,"data-testid":"TooltipPositioner"},a(Object.assign(Object.assign({},n),{tooltipContainerAttributes:h})))}const R=(e,t)=>{const a=e(t);return a&&a.toString&&""+a||a};function V(e,t,a,n){const o=(n-90)*Math.PI/180;return{x:e+a*Math.cos(o),y:t+a*Math.sin(o)}}function L({column:e}){return g.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},g.createElement("p",{key:"or-annotation-1"},e.name),g.createElement("p",{key:"or-annotation-2"},(100*e.pct).toFixed(0)+"%"))}const B=({d:e,projectedColumns:t,oAccessor:a,summaryType:o,type:r,projection:i,adjustedPosition:s,adjustedSize:l})=>{const c="object"==typeof e.column?e.column:t[e.facetColumn]||t[z(a,e)];if(!c)return{coordinates:[0,0],pieces:void 0,column:void 0};const d=c.pieceData||c.pieces,u=o.type&&"none"!==o.type||["swarm","point","clusterbar","timeline"].find(e=>e===r.type)?n.max(d.map(e=>e.scaledValue)):"horizontal"===i?n.max(d.map(e=>0>e.value?e.bottom:e.scaledValue+e.bottom)):n.min(d.map(e=>0>e.value?e.bottom:e.bottom-e.scaledValue));let p=c.middle+s[0],m=o.type&&"none"!==o.type||["swarm","point","clusterbar","timeline"].find(e=>e===r.type)?l[1]-u:u;if(m+=10,"horizontal"===i)m=c.middle,p=u+s[0];else if("radial"===i){const{pieArc:e}=c,{translate:t,outerPoint:a,centroid:n}=e;p=(n[0]+a[0])/2+t[0],m=(n[1]+a[1])/2+t[1]}return{coordinates:[p,m],pieces:d,column:c}},I=(e,t,a)=>{const n=e(a),o=""===n&&a.rName?a.rName:n,r=t&&t.pieceData.filter(t=>t.rName===o||e(t.data)===o);if(""===o||void 0===r||!1===r||1!==r.length)return a;const i=r[0];return i&&["type","label","note","connector","disabled","color","subject"].forEach(e=>{a[e]&&(i[e]=a[e])}),i},_=({p:e,adjustedSize:t,rScale:a,oColumn:n,rAccessor:o,idPiece:r,projection:i,rScaleType:s})=>{const l=z(o,e)||e.value,c=Array.isArray(l)?Math.max(...l):l;let d;if(d=n?n.middle:0,n&&"radial"===i)return P([t[0]/2,t[1]/2],n.pct_middle,r&&(void 0===r.x?r.scaledValue:r.x)?r.x/2||(r.bottom+r.scaledValue/2)/2:c/2);if("horizontal"===i)return[r&&r.scaledEndValue?r.scaledEndValue:r&&r.scaledValue?0>r.value?r.bottom:r.bottom+r.scaledValue:a(c),d];const u=s.copy().domain(a.domain()).range(a.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(c)]},G=(e,t,a,n)=>{const o=(e.note.label||e.note.title).length;return[Math.min(e.note.wrap||120,o*t)+2*n,Math.ceil(o*t/120)*a+2*n]};const W={fill:e=>g.createElement("rect",{style:e,width:20,height:20}),line:e=>g.createElement("line",{style:e,x1:0,y1:0,x2:20,y2:20})};function H(e,t,a,n){let o;return o="function"==typeof a?a(e):(0,W[a])(n(e,t)),o}function q(e){const{legendGroups:t,customClickBehavior:a,title:n="Legend",width:o=100,height:r=20,orientation:i="vertical"}=e,s="vertical"===i?(({legendGroups:e,width:t,customClickBehavior:a})=>{let n=30;const o=[];return e.forEach((e,r)=>{n+=5,o.push(g.createElement("line",{key:"legend-top-line legend-symbol-"+r,stroke:"gray",x1:0,y1:n,x2:t,y2:n})),n+=10,e.label&&(n+=20,o.push(g.createElement("text",{key:"legend-text-"+r,y:n,className:"legend-group-label"},e.label)),n+=10),o.push(g.createElement("g",{key:"legend-group-"+r,className:"legend-item",transform:`translate(0,${n})`},((e,t)=>{const{type:a="fill",styleFn:n,items:o}=e,r=[];let i=0;return o.forEach((e,o)=>{const s=H(e,o,a,n);r.push(g.createElement("g",{key:"legend-item-"+o,transform:`translate(0,${i})`,onClick:t?()=>t(e):void 0,style:{cursor:t?"pointer":"default"}},s,g.createElement("text",{y:15,x:30},e.label))),i+=25}),r})(e,a))),n+=25*e.items.length+10}),o})({legendGroups:t,width:o,customClickBehavior:a}):(({legendGroups:e,title:t,height:a,customClickBehavior:n})=>{let o=0;const r=[],i=!1===t?10:40;return e.forEach((t,s)=>{t.label&&(r.push(g.createElement("text",{key:"legend-text-"+s,transform:`translate(${o},${i}) rotate(90)`,textAnchor:"start",className:"legend-group-label"},t.label)),o+=20);const l=((e,t)=>{const{type:a="fill",styleFn:n,items:o}=e,r=[];let i=0;return o.forEach((e,o)=>{const s=H(e,o,a,n);r.push(g.createElement("g",{key:"legend-item-"+o,transform:`translate(${i},0)`,onClick:t?()=>t(e):void 0,style:{cursor:t?"pointer":"default"}},s,g.createElement("text",{y:15,x:25},e.label))),i+=35,i+=8*e.label.length}),{items:r,offset:i}})(t,n);r.push(g.createElement("g",{key:"legend-group-"+s,className:"legend-item",transform:`translate(${o},${i})`},l.items)),o+=l.offset+5,e[s+1]&&r.push(g.createElement("line",{key:"legend-top-line legend-symbol-"+s,stroke:"gray",x1:o,y1:i-10,x2:o,y2:a+i+10})),o+=15}),g.createElement("g",null,!1!==t&&g.createElement("line",{x1:0,x2:o+10,y1:i-10,y2:i-10,stroke:"gray",className:"title-neatline"}),r)})({legendGroups:t,title:n,height:r,customClickBehavior:a});return g.createElement("g",null,void 0!==n&&g.createElement("text",{className:"legend-title",y:20,x:"horizontal"===i?0:o/2,textAnchor:"horizontal"===i?"start":"middle"},n),s)}let[Y,X]=function(t){let a=e.createContext(null);return[function({children:n}){let o=e.useMemo(()=>function(e){let t=new EventTarget,a=e(function e(n){a=Object.assign(a,n(e)),t.dispatchEvent(new CustomEvent("update"))});return{getState:()=>a,subscribe:function(e){return t.addEventListener("update",e),()=>t.removeEventListener("update",e)}}}(t),[]);return g.createElement(a.Provider,{value:o,children:n})},t=>{let n=e.useContext(a);return function(t,a){const[n,o]=e.useState(a);return e.useLayoutEffect(()=>t(()=>o(a)),[t]),n}(null==n?void 0:n.subscribe,()=>t(n.getState()))}]}(e=>({tooltip:null,changeTooltip(t){e(()=>({tooltip:t}))}}));function K(e,t,a){return"number"==typeof a?a:t&&t.find(t=>t.props.orient===e)?50:10}const Z=(e,t,a)=>`${e.map(Q).join(",")}${JSON.stringify(t)}${a.join(",")}`;function Q(e){if(!e||!e.props||!e.props.noteData)return"";const{note:t={}}=e.props.noteData,{label:a,title:n}=t;return`${e.props.noteData.id||`${e.props.noteData.x}-${e.props.noteData.y}`}-${a}=${n}`}function U(e,t=8,a){const{noteWidth:n=a}=e;let o=n;"number"==typeof n&&(o=()=>n);const r=e.note&&e.note.wrap||120,i=e.note.label||e.note.label||"";return n&&o(e)||(g.default.isValidElement(e.note)?100:Math.min(r,i.length*t))}function J(e,t=8,a=20,n){const{noteHeight:o=n}=e;let r=o;"number"==typeof o&&(r=()=>o);const i=e.note&&e.note.wrap||120,s=e.note.label||e.note.title||"";return o&&r(e)||(g.default.isValidElement(e.note)?30:Math.ceil(s.length*t/i)*a+(e.note.label&&e.note.title?a:0))}const ee=(e,t)=>t.map((t,a)=>e.svgAnnotationRule(t,a,e)).filter(e=>null!=e),te=(e,t)=>{let a=t.adjustedAnnotations,n=t.adjustedAnnotationsKey,o=t.adjustableAnnotations,r=t.fixedAnnotations,i=[],s=[];const l=t.adjustedAnnotationsKey,c=t.adjustedAnnotationsDataVersion,{annotations:d,annotationHandling:u=!1,size:p,svgAnnotationRule:m,htmlAnnotationRule:y}=e,h="object"==typeof u?u:{layout:{type:u},dataVersion:""},{dataVersion:f=""}=h;if(m){const t=ee(e,d);n=Z(t,h,p),!1===u&&(a=o),a=a.length!==o.length||l!==n||c!==f?((e,t,a)=>{const{layout:n={type:!1,noteHeight:void 0,noteWidth:void 0}}=t;if(!1===n.type)return e;const{noteWidth:o,noteHeight:r}=n;let{margin:i={top:0,bottom:0,left:0,right:0}}=a;const{size:s,axes:l=[]}=a;if(i="number"==typeof i?{top:i,left:i,right:i,bottom:i}:i,"bump"===n.type)return function(e,t,a,n,o){const{padding:r=1,characterWidth:i=8,lineHeight:s=20,iterations:l=500,pointSizeFunction:c=n,labelSizeFunction:d=o||G}=t,u=e.map((e,t)=>{const a=(e.props.noteData.x[0]||e.props.noteData.x)+(void 0!==e.props.noteData.dx?e.props.noteData.dx:-10*(t%3-1)),n=(e.props.noteData.y[0]||e.props.noteData.y)+(void 0!==e.props.noteData.dy?e.props.noteData.dy:10*(t%3-1)),[o,l]=d(e.props.noteData,i,s,r);return{x:a,y:n,above:e.props.noteData.y>n,left:e.props.noteData.x>a,width:o,height:l,type:"label",name:"",originalNote:e}}),p=e.map(e=>({x:e.props.noteData.x,y:e.props.noteData.y,fx:e.props.noteData.x,fy:e.props.noteData.y,r:c&&c(e.props.noteData)||5,type:"point",originalNote:e})),m=function(){let e,t=[],a=[],n=1,o=1,r={start:e=>{},width:e=>{},height:e=>{},label:e=>{},anchor:e=>{},alt_energy:e=>{},alt_schedule:e=>{}},i=!1;const s=function(e){let n=t.length,o=0,r=t[e].x-a[e].x,i=a[e].y-t[e].y,s=Math.sqrt(r*r+i*i);s>0&&(o+=.2*s),r/=s,i/=s,o+=r>0&&i>0?0:0>r&&i>0?3:0>r&&0>i?6:9;let l,c,u,p,m,y,h,f=t[e].x,g=t[e].y-t[e].height+2,x=t[e].x+t[e].width,v=t[e].y+2;for(let r=0;n>r;r++)r!==e&&(d(a[e].x,t[e].x,a[r].x,t[r].x,a[e].y,t[e].y,a[r].y,t[r].y)&&(o+=1),l=t[r].x,u=t[r].y-t[r].height+2,c=t[r].x+t[r].width,p=t[r].y+2,m=Math.max(0,Math.min(c,x)-Math.max(l,f)),y=Math.max(0,Math.min(p,v)-Math.max(u,g)),h=m*y,o+=30*h),l=a[r].x-a[r].r,u=a[r].y-a[r].r,c=a[r].x+a[r].r,p=a[r].y+a[r].r,m=Math.max(0,Math.min(c,x)-Math.max(l,f)),y=Math.max(0,Math.min(p,v)-Math.max(u,g)),h=m*y,o+=30*h;return o},l=function(r){let l,c,d=Math.floor(Math.random()*t.length),u=t[d].x,p=t[d].y;l=i?e(d,t,a):s(d),t[d].x+=5*(Math.random()-.5),t[d].y+=5*(Math.random()-.5),t[d].x>n&&(t[d].x=u),0>t[d].x&&(t[d].x=u),t[d].y>o&&(t[d].y=p),0>t[d].y&&(t[d].y=p),c=i?e(d,t,a):s(d);let m=c-l;Math.random()<Math.exp(-m/r)||(t[d].x=u,t[d].y=p)},c=function(r){let l,c=Math.floor(Math.random()*t.length),d=t[c].x,u=t[c].y;l=i?e(c,t,a):s(c);let p=.5*(Math.random()-.5),m=Math.sin(p),y=Math.cos(p);t[c].x-=a[c].x,t[c].y-=a[c].y;let h,f=t[c].x*m+t[c].y*y;t[c].x=t[c].x*y-t[c].y*m+a[c].x,t[c].y=f+a[c].y,t[c].x>n&&(t[c].x=d),0>t[c].x&&(t[c].x=d),t[c].y>o&&(t[c].y=u),0>t[c].y&&(t[c].y=u),h=i?e(c,t,a):s(c);let g=h-l;Math.random()<Math.exp(-g/r)||(t[c].x=d,t[c].y=u)},d=function(e,t,a,n,o,r,i,s){let l,c,d,u,p;return d=(s-i)*(t-e)-(n-a)*(r-o),u=(n-a)*(o-i)-(s-i)*(e-a),p=(t-e)*(o-i)-(r-o)*(e-a),l=u/d,c=p/d,!(0>l||l>1||0>c||c>1)},u=function(e,t,a){return e-t/a};return r.start=function(e){let a=t.length,n=1;for(let t=0;e>t;t++){for(let e=0;a>e;e++).5>Math.random()?l(n):c(n);n=u(n,1,e)}},r.width=function(e){return arguments.length?(n=e,r):n},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?(a=e,r):a},r.alt_energy=function(t){return arguments.length?(e=t,i=!0,r):s},r.alt_schedule=function(e){return arguments.length?r:u},r}();return m.label(u),m.anchor(p),m.width(a[0]),m.height(a[1]),m.start(l),u.forEach(e=>{if("label"===e.type){const t=function(e,t,a){return e.y>t.y?[t.x+t.width/2+a/2,t.y-t.height+a/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,n,s,a.pointSizeFunction,a.labelSizeFunction);if("marginalia"===n.type){const{marginOffset:t,orient:a="nearest",characterWidth:c=8,lineHeight:d=20,padding:u=2,axisMarginOverride:p={}}=n,m="nearest"===a?["left","right","top","bottom"]:Array.isArray(a)?a:[a],y=m.find(e=>"left"===e),h=m.find(e=>"right"===e),f=m.find(e=>"top"===e),v=m.find(e=>"bottom"===e),b=[],k=[],j=[],E=[];for(const t of e){const e=t.props.noteData,a=e.x[0]||e.x,n=e.y[0]||e.y,o=y?a:1/0,r=h?s[0]-a:1/0,i=f?n:1/0,l=Math.min(o,r,i,v?s[1]-n:1/0);o===l?b.push(t):r===l?k.push(t):i===l?j.push(t):E.push(t)}const O=new x.default.Force({minPos:void 0!==p.top?0+p.top:0-i.top,maxPos:void 0!==p.bottom?s[1]-p.bottom:v?s[1]:s[1]+i.bottom}).nodes(b.map(e=>new x.default.Node(e.props.noteData.y[0]||e.props.noteData.y,J(e.props.noteData,c,d,o)+u))).compute(),S=new x.default.Force({minPos:void 0!==p.top?0+p.top:f?0:0-i.top,maxPos:void 0!==p.bottom?s[1]-p.bottom:s[1]+i.bottom}).nodes(k.map(e=>new x.default.Node(e.props.noteData.y[0]||e.props.noteData.y,J(e.props.noteData,c,d,o)+u))).compute(),M=new x.default.Force({minPos:void 0!==p.left?0+p.left:y?0:0-i.left,maxPos:void 0!==p.right?s[0]-p.right:s[0]+i.right}).nodes(j.map(e=>new x.default.Node(e.props.noteData.x[0]||e.props.noteData.x,U(e.props.noteData,c,r)+u))).compute(),A=new x.default.Force({minPos:void 0!==p.left?0+p.left:0-i.left,maxPos:void 0!==p.right?s[0]-p.right:h?s[0]:s[0]+i.right}).nodes(E.map(e=>new x.default.Node(e.props.noteData.x[0]||e.props.noteData.x,U(e.props.noteData,c,r)+u))).compute(),$=Math.max(...E.map(e=>J(e.props.noteData,c,d,o)+u)),P=Math.max(...j.map(e=>J(e.props.noteData,c,d,o)+u)),C=Math.max(...b.map(e=>U(e.props.noteData,c,r)+u)),z=Math.max(...k.map(e=>U(e.props.noteData,c,r)+u)),D=O.nodes(),w=S.nodes(),T=M.nodes(),N=A.nodes();return b.forEach((e,a)=>{const n=0-D[a].layerIndex*C-K("left",l,t),o=D[a].currentPos;e.props.noteData.nx=n,e.props.noteData.ny=o,e.props.noteData.note&&!g.isValidElement(e)&&(e.props.noteData.note.orientation=e.props.noteData.note.orientation||"leftRight",e.props.noteData.note.align=e.props.noteData.note.align||"right")}),k.forEach((e,a)=>{const n=s[0]+w[a].layerIndex*z+K("right",l,t),o=w[a].currentPos;e.props.noteData.nx=n,e.props.noteData.ny=o,e.props.noteData.note&&!g.isValidElement(e)&&(e.props.noteData.note.orientation=e.props.noteData.note.orientation||"leftRight",e.props.noteData.note.align=e.props.noteData.note.align||"left")}),j.forEach((e,a)=>{const n=T[a].currentPos,o=0-T[a].layerIndex*P-K("top",l,t);e.props.noteData.nx=n,e.props.noteData.ny=o}),E.forEach((e,a)=>{const n=N[a].currentPos,o=s[1]+N[a].layerIndex*$+K("bottom",l,t);e.props.noteData.nx=n,e.props.noteData.ny=o}),e}return e})(o,h,e):o.map((e,t)=>{const n=Object.assign(Object.assign({},a[t].props.noteData),e.props.noteData);return g.createElement($,{key:e.key,noteData:n})}),i=[...a,...r]}return y&&(s=((e,t)=>t.map((t,a)=>e.htmlAnnotationRule(t,a,e)).filter(e=>null!=e))(e,d)),{svgAnnotations:i,htmlAnnotations:s,adjustedAnnotations:a,adjustedAnnotationsKey:n,adjustedAnnotationsDataVersion:f}};function ae(t){const{legendSettings:a,margin:n,size:o,annotations:r,annotationHandling:i}=t,s=X(e=>e.tooltip);let l=null!=s?r.concat(s):r,c=X(e=>e.changeTooltip);const d=Object.assign(Object.assign({},t),{annotations:l,voronoiHover:e=>{c(e)}}),u="object"==typeof i?i:{layout:{type:i},dataVersion:""},{dataVersion:p=""}=u,[m,y]=e.useState([]),[h,f]=e.useState([]),[x,v]=e.useState([]),[b,k]=e.useState(""),[j,E]=e.useState(p),O=ee(d,l),S=O.filter(e=>e.props&&e.props.noteData&&!e.props.noteData.fixedPosition),M=Z(S,u,o);let A;if(e.useEffect(()=>{const e=O.filter(e=>!e.props||!e.props.noteData||e.props.noteData.fixedPosition),t=te(d,{adjustedAnnotations:m,adjustedAnnotationsKey:b,adjustedAnnotationsDataVersion:j,adjustableAnnotations:S,fixedAnnotations:e});y(t.adjustedAnnotations),k(t.adjustedAnnotationsKey),E(t.adjustedAnnotationsDataVersion),f(t.svgAnnotations),v(t.htmlAnnotations)},[M,p,l.length,l.map(e=>function(e){const t=new Set;return JSON.stringify(e,(e,a)=>t.has(a)?"...":"object"==typeof a?(t.add(a),"note"===e?`${a.label}-${a.title}`:"connector"===e?`${a.end}-${a.type}`:"subject"===e?""+a.radius:"object"==typeof a.column?`${a.column.x}-${a.column.y}-${a.column.name}`:a.voronoiX||a.voronoiY||a.x||a.y||a.dx||a.dy||a.label||a.type||a.key||a.hierarchicalID||a.id||a.name?`${a.voronoiX}-${a.voronoiY}-${a.dx}-${a.dy}-${a.x}-${a.y}-${a.label}-${a.type}-${a.key}-${a.hierarchicalID}-${a.id}-${a.name}`:"..."):a)}(e)).join("-")]),a){const e={left:[15,15],right:[o[0]+15,15]},{position:t="right",title:n="Legend"}=a;A=g.createElement("g",{transform:`translate(${e[t].join(",")})`},g.createElement(q,Object.assign({},a,{title:n,position:t})))}return 0!==l.length||a?g.createElement("div",{className:"annotation-layer",style:{position:"absolute",pointerEvents:"none",background:"none"}},g.createElement("svg",{className:"annotation-layer-svg",height:o[1],width:o[0],style:{background:"none",pointerEvents:"none",position:"absolute",left:n.left+"px",top:n.top+"px",overflow:"visible"}},g.createElement("g",null,A,h)),g.createElement("div",{className:"annotation-layer-html",style:{background:"none",pointerEvents:"none",position:"absolute",height:o[1]+"px",width:o[0]+"px",left:n.left+"px",top:n.top+"px"}},x)):null}const ne=e=>e.reduce((e,t)=>e.concat(Array.isArray(t)?ne(t.slice().sort((e,t)=>e-t)):t),[]);function oe(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)),""+ne(t).map(e=>e instanceof Date&&""+e||void 0!==e&&e.toFixed&&e.toFixed(2)||"empty")}function re(t){const{extent:a,selectedExtent:n}=t,o=e.useRef(null),r=oe(a),i=oe(n);e.useEffect(()=>{(null==o?void 0:o.current)&&((e,t)=>{const{svgBrush:a,selectedExtent:n}=t;if(s.select(e).call(a),n){let t=n;if(Array.isArray(n[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(a.move,t)}})(o.current,t)},[r,i,o]);const{position:l=[0,0]}=t;return g.createElement("g",{transform:`translate(${l})`,ref:o,className:"xybrush"})}const ie="x",se="y",le="yMiddle",ce="yTop",de="yBottom",ue="xMiddle",pe="xTop",me="xBottom",ye=(e,t)=>void 0===e?e:Object.assign(e&&e.data?Object.assign({points:t},e.data):{points:t},e),he=(e,t,a,n,o,r)=>{const i=ye(t,o);if(n&&n(i),t){if(!0===a){const t=Object.assign({},i);t.type="column-hover"===t.type?"column-hover":"frame-hover",e(t,r)}else if(a){const t=(Array.isArray(a)?a:[a]).map(e=>{const t="function"==typeof e?e(i):e;if(t)return Object.assign({},i,t)}).filter(e=>e);e(t,r)}}else e(null)},fe=(e,t,a,n)=>{const o=ye(e,a);t&&t(o,n)},ge=(e,t,a,n)=>{const o=ye(e,a);t&&t(o,n)},xe=(e,t,a,n,o)=>{o&&o.start&&o.start(e,t,a,n)},ve=(e,t,a,n,o)=>{o&&o.during&&o.during(e,t,a,n)},be=(e,t,a,n,o)=>{o&&o.end&&o.end(e,t,a,n)},ke=()=>({}),je=2*Math.PI,Ee=({x1:e,x2:t,y1:a,y2:n,sizeX1:o,sizeY1:r,sizeX2:i,sizeY2:s})=>`M${e},${a}L${t},${n}L${t+i},${n+s}L${e+o},${a+r}Z`,Oe=({xy:e,orient:t,i:a,className:n="",jaggedBase:o})=>{let r=`M${e.x1},${e.y1}L${e.x2},${e.y2}`;return o&&0===a&&(r=((e,t)=>{let a="";const{x1:n,x2:o,y1:r,y2:i}=t;if("left"===e||"right"===e){const t=Math.abs(o-n);a=((e,t,a,n)=>{const o=e/t;let r=0,i="M0,"+a;const s="right"===n?-1:1;for(;e>=r;)i+=`L${r},${a}`,e>r&&(i+=`L${r+o/2},${a+10*s}`),r+=o;return i})(t,Math.ceil(t/40),"right"===e?0:r,e)}else{const t=Math.abs(i-r);a=((e,t,a,n)=>{const o=e/t;let r=0,i=`M${a},0`;const s="bottom"===n?-1:1;for(;e>=r;)i+=`L${a},${r}`,e>r&&(i+=`L${a+10*s},${r+o/2}`),r+=o;return i})(t,Math.ceil(t/40),n,e)}return a})(t,e)),g.createElement("path",{key:a,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:r,className:`tick-line tick ${t} ${n}`})};function Se(e,t,a){const n=Math.abs(a.range()[1]-a.range()[0]);return e||(t||(t=Math.max(1,Math.floor(n/40))),e=a.ticks&&a.ticks(t)||a.domain()),e}function Me({renderMode:e=()=>{},padding:t=5,scale:a,ticks:n,tickValues:o=Se(void 0,n,a),orient:r="left",size:i,footer:s=!1,tickSize:l=(s?-10:["top","bottom"].find(e=>e===r)?i?i[1]:0:i?i[0]:0),jaggedBase:c}){let d,u,p,m,y,h,f=[],g=0,x=0,v="middle";switch(r){case"top":d="x1",u="x2",p="y1",m="y2",f=[0,l],y="tx",h="ty",g-=20-t;break;case"bottom":d="x1",u="x2",p="y2",m="y1",f=i?[i[1],i[1]-l]:[0,-l],y="tx",h="ty",g+=20+t;break;case"right":d="y2",u="y1",p="x2",m="x1",f=i?[i[0],i[0]-l]:[0,-l],y="ty",h="tx",g+=5+t,x+=5,v="start";break;default:d="y1",u="y2",p="x1",m="x2",f=[0,l],y="ty",h="tx",g-=5+t,x+=5,v="end"}let b=o instanceof Function?o({orient:r}):o;return c&&void 0===b.find(e=>e===a.domain()[0])&&(b=[a.domain()[0],...b]),b.map((t,n)=>{const o=a(t);return{[d]:o,[u]:o,[p]:f[0],[m]:f[1],[y]:o+x,[h]:f[0]+g,defaultAnchor:v,renderMode:e(t,n),value:t}})}const Ae=({axisParts:e,orient:t,tickLineGenerator:a=Oe,className:n,jaggedBase:o,scale:r,showOutboundTickLines:i=!1})=>{const s=e.map((e,i)=>a({xy:e,orient:t,i:i,className:n,jaggedBase:o,scale:r})),l=i?e.map((e,a)=>(({xy:e,orient:t,i:a,className:n=""})=>{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}`),g.createElement("path",{key:a,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:o,className:`outbound-tick-line tick ${t} ${n}`})})({xy:e,orient:t,i:a,className:n})):[];return[...s,l]};function $e({t:e,o:t,w:a}){return"contour"!==e&&"boxplot"!==e||"left"!==t&&"right"!==t?0:a/2}function Pe({t:e,o:t,w:a}){return"contour"!==e&&"boxplot"!==e||"top"!==t&&"bottom"!==t?0:a/2}function Ce(e){const{translation:t,orient:a,decoratedSummaryType:n,summaryWidth:o,renderedSummary:r,points:i}=e;return g.default.createElement("g",{className:"marginal-graphics",transform:`translate(${t[a]})`},g.default.createElement("g",{transform:`translate(${$e({t:n.type,o:a,w:o})},${Pe({t:n.type,o:a,w:o})})`},r),i)}function ze(e){const{className:t,translation:a,position:n,rotation:o,labelName:r,anchorMod:i}=e;return g.default.createElement("g",{className:"axis-title "+t,transform:`translate(${[a[0]+n[0],a[1]+n[1]]}) rotate(${o})`},g.default.isValidElement(r)?r:g.default.createElement("text",{textAnchor:i},r))}const De=()=>({});function we(e,t){for(var a=[],n=0;e>n;n++){for(var o=[],r=0;t>r;r++)o.push(0);a.push(o)}return a}function Te(e,t,a,n){var o;if(e>0){var r=(a[t]-a[e-1])/(t-e+1);o=n[t]-n[e-1]-(t-e+1)*r*r}else o=n[t]-a[t]*a[t]/(t+1);return 0>o?0:o}function Ne(e,t,a,n,o,r,i){if(t>=e){var s=Math.floor((e+t)/2);n[a][s]=n[a-1][s-1],o[a][s]=s;var l=a;e>a&&(l=Math.max(l,o[a][e-1]||0)),l=Math.max(l,o[a-1][s]||0);var c,d,u,p,m=s-1;n[0].length-1>t&&(m=Math.min(m,o[a][t+1]||0));for(var y=m;y>=l&&(c=Te(y,s,r,i))+n[a-1][l-1]<n[a][s];--y)d=Te(l,s,r,i),n[a][s]>(u=d+n[a-1][l-1])&&(n[a][s]=u,o[a][s]=l),l++,n[a][s]>(p=c+n[a-1][y-1])&&(n[a][s]=p,o[a][s]=y);Ne(e,s-1,a,n,o,r,i),Ne(s+1,t,a,n,o,r,i)}}const Fe=e=>[e.xy.x,e.xy.y],Re=(e,t)=>e.xy.y-t.xy.y,Ve=(e,t)=>t.xy.x-e.xy.x,Le=()=>({});function Be({summary:e,summaryI:a,axisSettings:n,axisCreator:o,projection:r,actualMax:i,adjustedSize:s,columnWidth:l}){let c=`translate(${e.x},0)`,d=[0,i];"horizontal"===r?(c=`translate(0,${e.x})`,d=[i,0]):"radial"===r&&(c="translate(0, 0)"),n.size=["horizontal"===r?s[0]:l,"vertical"===r?s[1]:l];const u=o(n,a,t.scaleLinear().domain(d).range([0,l]));return g.createElement("g",{className:"summary-axis",key:"summaryPiece-axis-"+a,transform:c},u)}function Ie({data:e,type:t,eventListenersGenerator:a,styleFn:r,classFn:i,projection:s,adjustedSize:l,chartSize:c,axisCreator:d}){const u=[],p=[],m=t.bins||25,y=!!t.relative&&{},h=t.binValue||(e=>e.length),f=t.elementStyleFn||Le;let g;t.axis&&(t.axis.orient="horizontal"===s&&-1===["left","right"].indexOf(t.axis.orient)?"left":t.axis.orient,t.axis.orient="vertical"===s&&-1===["bottom","top"].indexOf(t.axis.orient)?"bottom":t.axis.orient,g=d,"radial"===s&&(console.error("Summary axes cannot be drawn for radial histograms"),g=()=>null));let x=c/m;const v=Object.keys(e);let b=0;const k=n.histogram(),j=[0,c],E=[];for(let e=0;m>e;e++)E.push(j[0]+e/m*c);const O="vertical"===s?e=>e.piece.scaledVerticalValue:e=>e.piece.scaledValue,S=k.domain(j).thresholds(E).value(O),M=v.map((a,o)=>{const r=e[a],i=r.xyData,l=i.sort("vertical"===s?Re:Ve);let d;if(!1===t.useBins){const e=l.map(e=>O(e));d=l.map((t,a)=>{const n=[];return n.x0=e[a]-1,n.x1=e[a]+1,n.push(t),n}).sort((e,t)=>e.x0-t.x0),x=c/d.length}else d=S(l);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:n.max(d.map(e=>e.value));return y&&(y[a]=u),b=Math.max(b,u),{bins:d,summary:r,summaryI:o,thisSummaryData:i}}),A=t.horizon?b/t.horizon:t.numHorizons||4,$=t.horizon||b/A;return M.forEach(({bins:e,summary:c,summaryI:d,thisSummaryData:m})=>{const v=a(c,d),k=c.width;let j=m[0]?r(m[0].piece.data,d):{},E=m[0]?i(m[0].piece.data,d):"",O=[c.middle,0];"horizontal"===s?O=[x,c.middle]:"radial"===s&&(O=[l[0]/2,l[1]/2]);const S=y&&y[c.name]||b;if("heatmap"===t.type||"histogram"===t.type){const a=(({bins:e,binMax:t,relativeBuckets:a,columnWidth:n,projection:r,adjustedSize:i,summaryI:s,summary:l,summaryStyle:c,type:d})=>{const u=[],p=[],m=a&&a[l.name]||t,y=d.elementStyleFn||ke,h=d.padding||0;return e.forEach((e,t)=>{const a=e.value/m,f=y(e.value,a,e.pieces),g=Object.assign("heatmap"===d.type?{opacity:a,fill:c.fill}:Object.assign({},c),f),x=Math.max(1,e.y1-2*h),v="heatmap"===d.type?n:n*a;let b=e.y+h,k="heatmap"===d.type||d.flip?-n/2:n/2-v,j=x,E=v,O="heatmap"===d.type?v/2:v,S=e.y1/2;if("horizontal"===r)b="heatmap"===d.type||d.flip?-n/2:n/2-v,k=e.y-e.y1+h,j=v,E=x,S="heatmap"===d.type?v/2:v,O=e.y1/2;else if("radial"===r){const n=o.arc().innerRadius(e.y/2).outerRadius((e.y+e.y1)/2),r=l.pct-l.pct_padding;let c=l.pct_middle-l.pct_padding,m="heatmap"===d.type?c+r:c+r*a;c*=je,m*=je;const y=i[0]/2,h=i[1]/2,f=`translate(${y},${h})`,x=n.centroid({startAngle:c,endAngle:m});p.push({key:l.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:f,key:`groupIcon-${s}-${t}`,d:n({startAngle:c,endAngle:m}),style:g})}"radial"!==r&&(p.push({key:l.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:k+O,y:b+S}),u.push({markType:"rect",key:`groupIcon-${s}-${t}`,x:k,y:b,height:j,width:E,style:g}))}),{marks:u,points:p}})({bins:e,binMax:b,relativeBuckets:y,columnWidth:k,projection:s,adjustedSize:l,summaryI:d,summary:c,summaryStyle:j,type:t}),n=a.marks;"radial"===s&&(O=[0,0]),t.axis&&"histogram"===t.type&&u.push({type:"svg-only-mark",Mark:Be({summary:c,summaryI:d,axisSettings:t.axis,axisCreator:g,projection:s,actualMax:S,adjustedSize:l,columnWidth:k})}),a.points.forEach(e=>{e.x+=O[0],e.y+=O[1]}),p.push(...a.points),u.push({containerProps:Object.assign(Object.assign({},v),{transform:`translate(${O})`,className:E,key:"summaryPiece-"+d,role:"img",tabIndex:-1,"data-o":c.name,"aria-label":`${c.name} ${t.type}`}),elements:n})}else if("violin"===t.type){const{iqr:a}=t,l=t.subsets||[!1],y=[];e[0].y=e[0].y-x/2,e[e.length-1].y=e[e.length-1].y+x/2,l.forEach((l,u)=>{let g=e;l&&(j=m[0]?r(m[0].piece.data,d,u):{},E=m[0]?i(m[0].piece.data,d,u):"",g=e.map(e=>{const t=e.pieces.filter((e,t)=>l(e.piece,t)).map(e=>e),a=h(t);return Object.assign(Object.assign({},e),{pieces:t,value:a})}));let b=o.area().curve(t.curve||o.curveCatmullRom),M=[];if("horizontal"===s)g.forEach(e=>{const t=e.y-x/2,a=e.value/S*k/2;M.push({x:t,y0:-a,y1:a}),p.push({key:c.name,x:t+O[0],y:a+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value})}),b.x(e=>e.x).y0(e=>e.y0).y1(e=>e.y1).defined((e,t)=>0!==e.y0||M[t-1]&&0!==M[t-1].y0||M[t+1]&&0!==M[t+1].y0);else if("vertical"===s)g.forEach(e=>{const t=e.y+x/2,a=e.value/S*k/2;M.push({y:t,x0:-a,x1:a}),p.push({key:c.name,x:a+O[0],y:t+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value})}),b.y(e=>e.y).x0(e=>e.x0).x1(e=>e.x1).defined((e,t)=>0!==e.x0||M[t-1]&&0!==M[t-1].x0||M[t+1]&&0!==M[t+1].x0);else if("radial"===s){const e=c.pct-c.pct_padding/2,t=c.pct_middle;M=g,b=a=>{const n=[],o=[];return a.forEach(a=>{const r=P([0,0],t+e*a.value/S/2,(a.y+a.y1-x/2)/2),i=P([0,0],t-e*a.value/S/2,(a.y+a.y1-x/2)/2);p.push({key:c.name,x:i[0]+O[0],y:i[1]+O[1],pieces:a.pieces.map(e=>e.piece),value:a.value}),p.push({key:c.name,x:r[0]+O[0],y:r[1]+O[1],pieces:a.pieces.map(e=>e.piece),value:a.value}),n.push(r),o.push(i)}),`M${n.map(e=>e.join(",")).join("L")}L${o.reverse().map(e=>e.join(",")).join("L")}Z`}}if(y.push(Object.assign(Object.assign({},v),{transform:`translate(${O})`,key:`summaryPiece-${d}-${u}`,markType:"path",className:E,style:j,d:b(M),role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"})),a){let e=[];g.forEach(t=>{e.push(...t.pieces)}),e=e.map(e=>"vertical"===s?e.piece.scaledVerticalValue:e.piece.scaledValue).sort((e,t)=>e-t);const t=[n.quantile(e,.25),n.quantile(e,.5),n.quantile(e,.75)],a="vertical"===s?(e,t,a)=>`M${a[0]},${e}L${a[0]},${t}`:(e,t,a)=>`M${e},${a[1]}L${t},${a[1]}`;y.push(Object.assign(Object.assign({},v),{key:`summaryPiece-${d}-${u}-iqr-line`,markType:"path",className:E,style:Object.assign(Object.assign({stroke:"black",strokeWidth:"2px"},j),f("iqr")),d:a(t[0],t[2],O),role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"})),y.push(Object.assign(Object.assign({},v),{key:`summaryPiece-${d}-${u}-iqr-median`,markType:"circle",className:E,style:Object.assign(Object.assign({stroke:"black",fill:"black",strokeWidth:"1px",r:"3px"},j),f("median")),cx:"vertical"===s?O[0]:t[1],cy:"vertical"===s?t[1]:O[1],role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"}))}}),u.push({elements:y})}else if("ridgeline"===t.type){const a=Object.assign({},e[0],{value:0}),n=Object.assign({},e[e.length-1],{value:0});a.y=a.y-x/2,n.y=n.y+x/2;const r=[a,...e,n];let i=[];const m=t.curve||t.interpolator,y="string"==typeof m?T[m]:m;let h=o.line().curve(y||o.curveCatmullRom).x(e=>e.x).y(e=>e.y);const f=t.amplitude||0;if(t.axis&&"histogram"===t.type&&u.push({type:"svg-only-mark",Mark:Be({summary:c,summaryI:d,axisSettings:Object.assign({baseline:!1},t.axis),axisCreator:g,projection:s,actualMax:S,adjustedSize:l,columnWidth:k})}),"horizontal"===s)r.forEach((e,a)=>{const n=e.y-x/2,o=t.flip?e.value/S*(k+f)-k/2:-e.value/S*(k+f)+k/2;i.push({y:o,x:n}),0!==a&&a!==r.length-1&&p.push({key:c.name,x:n+O[0],y:o+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("vertical"===s)r.forEach(e=>{const a=e.y+x/2,n=!0===t.flip?e.value/S*(k+f)-k/2:-e.value/S*(k+f)+k/2;i.push({y:a,x:n}),p.push({key:c.name,x:n+O[0],y:a+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("radial"===s){const e=c.pct-c.pct_padding/2,t=c.pct_start+c.pct_padding/2;O=[0,0],i=r,h=a=>{const n=[];return a.forEach(a=>{const o=P([l[0]/2,l[1]/2],t+e*a.value/S,(a.y+a.y1-x/2)/2);p.push({key:c.name,x:o[0]+O[0],y:o[1]+O[1],pieces:a.pieces.map(e=>e.piece),value:a.value}),n.push(o)}),`M${n.map(e=>e.join(",")).join("L")}Z`}}t.axis&&u.push({type:"svg-only-mark",Mark:Be({summary:c,summaryI:d,axisSettings:t.axis,axisCreator:g,projection:s,actualMax:S,adjustedSize:l,columnWidth:k})}),u.push({elements:[Object.assign(Object.assign({},v),{transform:`translate(${O})`,key:"summaryPiece-"+d,markType:"path",className:E,style:j,d:h(i),role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"})]})}else if("horizon"===t.type){const a=Object.assign({},e[0],{value:0}),r=Object.assign({},e[e.length-1],{value:0});a.y=a.y-x/2,r.y=r.y+x/2;const i=[a,...e,r];let m=[],y=!0,h=0;for(;!0===y;){const e=i.map(e=>Object.assign(Object.assign({},e),{value:Math.max(0,Math.min(e.value-h,$))}));m.push(e.map(e=>Object.assign(Object.assign({},e),{value:e.value*A}))),h+=$,n.max(e.map(e=>e.value))<$&&(y=!1)}m=m.filter(e=>n.sum(e,e=>e.value)>0),i.forEach((e,a)=>{0!==a&&a!==i.length-1&&("horizontal"===s?p.push({key:c.name,x:e.y-x/2+O[0],y:-e.value/S*k+k/2+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value}):"vertical"===s&&p.push({key:c.name,x:(!0===t.flip?e.value/S*k-k/2:-e.value/S*k+k/2)+O[0],y:e.y+x/2+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value}))});const b=m.map((e,a)=>{let n=[];const r=t.curve||t.interpolator,i="string"==typeof r?T[r]:r;let u=o.line().curve(i||o.curveLinear).x(e=>e.x).y(e=>e.y);if("horizontal"===s)e.forEach(e=>{n.push({y:-e.value/S*k+k/2,x:e.y-x/2})});else if("vertical"===s)e.forEach(e=>{n.push({y:e.y+x/2,x:!0===t.flip?e.value/S*k-k/2:-e.value/S*k+k/2})});else if("radial"===s){const t=c.pct-c.pct_padding/2,a=c.pct_start+c.pct_padding/2;O=[0,0],n=e,u=e=>{const n=[];return e.forEach(e=>{const o=P([l[0]/2,l[1]/2],a+t*e.value/S,(e.y+e.y1-x/2)/2);n.push(o)}),`M${n.map(e=>e.join(",")).join("L")}Z`}}return Object.assign(Object.assign({},v),{transform:`translate(${O})`,key:`summaryPiece-${d}-${a}`,markType:"path",className:E,style:Object.assign(Object.assign({},j),f(e,a)),d:u(n),role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"})});t.axis&&u.push({type:"svg-only-mark",Mark:Be({summary:c,summaryI:d,axisSettings:t.axis,axisCreator:g,projection:s,actualMax:S,adjustedSize:l,columnWidth:k})}),u.push({elements:b})}}),{marks:u,xyPoints:p,thresholds:E}}const _e={contour:function({data:e,type:t,eventListenersGenerator:a,styleFn:n,classFn:o,adjustedSize:r}){const i=[],s=[];return Object.keys(e).forEach((l,c)=>{const d=e[l];t.thresholds=t.thresholds||8,t.bandwidth=t.bandwidth||12,t.resolution=t.resolution||1e3;const u=[{id:d,_xyfCoordinates:d.xyData.map(Fe)}],p=D({summaryType:t,data:u,finalXExtent:[0,r[0]],finalYExtent:[0,r[1]]}),m=[];p.forEach((e,t)=>{e.coordinates.forEach((r,i)=>{const s=a(e,t);m.push(Object.assign(Object.assign({},s),{key:`${t}-${i}`,style:n(d.pieceData[0].data,c),className:o(d.pieceData[0].data,c),markType:"path",d:`M${e.coordinates[0].map(e=>e.join(",")).join("L")}Z`}))})}),i.push({containerProps:{key:"contour-container-"+c,role:"img",tabIndex:-1,"data-o":l,"aria-label":`${l} boxplot showing ${s.filter(e=>e.key===l).map(e=>`${e.label} ${e.value}`)}`},elements:m})}),{marks:i,xyPoints:s}},boxplot:function({data:e,type:t,eventListenersGenerator:a,styleFn:r,classFn:i,projection:s,adjustedSize:l}){const c=t.elementStyleFn||De,{outliers:d,fixedInput:u}=t,p=[],m=[];return Object.keys(e).forEach((t,y)=>{const h=e[t],f=a(h,y),g=h.width,x=h.pieceData,v=r(x[0].data,y),b=i(x[0].data,y);let k,j,E,O,S,M,A,$,C,z,D,w,T,N,F,R,V,L,B,I,_,G,W,H,q,Y,X,K,Z,Q,U;j=x.map(e=>e.value).sort((e,t)=>e-t),!0===u&&5===j.length||(j=[n.quantile(j,0),n.quantile(j,.25),n.quantile(j,.5),n.quantile(j,.75),n.quantile(j,1)]);const J=j[3]-j[1];let ee,te;d&&(ee=j[1]-1.5*J,te=j[3]+1.5*J,j[0]=Math.max(j[0],ee),j[4]=Math.min(j[4],te));const ae="vertical"===s?e=>e.scaledVerticalValue:e=>e.scaledValue,ne=[...x].sort((e,t)=>e.value-t.value),oe=ne[0].value,re=ne[ne.length-1].value,ie=ae(ne[0]),se=ae(ne[ne.length-1]);if(k=j.map(e=>re===oe?(ie+se)/2:ie+(e-oe)/(re-oe)*(se-ie)),"vertical"===s){E=`translate(${h.x+h.width/2},0)`,O=0,S=0,M=k[0],A=k[4],$=-g/2,C=g/2,z=-g/2,D=g/2,w=-g/2,T=g/2,L=g,B=k[1]-k[2],I=k[2],_=-g/2,N=g,F=k[2]-k[3],G=g,W=k[1]-k[3],H=k[3],q=-g/2,R=k[3],V=-g/2,Y=k[0],X=k[0],K=k[4],Z=k[4],Q=k[2],U=k[2];const e=h.x+h.width/2;m.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"===s){const e=h.x+h.width/2;E=`translate(0,${e})`,M=0,A=0,O=k[0],S=k[4],Y=-g/2,X=g/2,Q=-g/2,U=g/2,K=-g/2,Z=g/2,F=g,N=k[3]-k[2],V=k[2],R=-g/2,B=g,L=k[2]-k[1],_=k[1],I=-g/2,W=g,G=k[3]-k[1],q=k[1],H=-g/2,$=k[0],C=k[0],w=k[4],T=k[4],z=k[2],D=k[2],m.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"===s){O=0,S=0,M=k[0],A=k[4],$=-g/2,C=g/2,z=-g/2,D=g/2,w=-g/2,T=g/2,N=g,F=k[1]-k[3],R=k[3],V=-g/2,L=g,B=k[1]-k[3],I=k[3],_=-g/2,Y=k[0],X=k[0],K=k[4],Z=k[4],Q=k[2],U=k[2];const e=2*Math.PI,a=o.arc().innerRadius(K/2).outerRadius(K/2),n=o.arc().innerRadius(Y/2).outerRadius(Y/2),r=o.arc().innerRadius(Q/2).outerRadius(Q/2),i=o.arc().innerRadius(k[1]/2).outerRadius(Q/2),s=o.arc().innerRadius(Q/2).outerRadius(k[3]/2),d=o.arc().innerRadius(k[1]/2).outerRadius(k[3]/2);let u=h.pct_start+h.pct_padding/2,G=h.pct+h.pct_start-h.pct_padding/2;const W=h.pct/2+h.pct_start;u*=e,G*=e;const H=l[0]/2,q=l[1]/2,J=P([0,0],W,k[4]/2),ee=P([0,0],W,k[0]/2),te=P([0,0],W,k[3]/2),ae=P([0,0],W,k[2]/2),ne=P([0,0],W,k[1]/2);m.push({label:"Minimum",key:t,summaryPieceName:"min",x:ee[0]+H,y:ee[1]+q,value:j[0]},{label:"1st Quartile",key:t,summaryPieceName:"q3area",x:ne[0]+H,y:ne[1]+q,value:j[1]},{label:"Median",key:t,summaryPieceName:"median",x:ae[0]+H,y:ae[1]+q,value:j[2]},{label:"3rd Quartile",key:t,summaryPieceName:"q1area",x:te[0]+H,y:te[1]+q,value:j[3]},{label:"Maximum",key:t,summaryPieceName:"max",x:J[0]+H,y:J[1]+q,value:j[4]}),E=`translate(${H},${q})`,p.push({containerProps:Object.assign(Object.assign({},f),{className:b,transform:E,key:"summaryPiece-"+y,role:"img",tabIndex:-1,"data-o":t,"aria-label":`${t} boxplot showing ${m.filter(e=>e.key===t).map(e=>`${e.label} ${e.value}`)}`}),elements:[{markType:"line",x1:J[0],x2:ee[0],y1:J[1],y2:ee[1],style:Object.assign({strokeWidth:2},v,c("whisker",x))},{markType:"path",d:n({startAngle:u,endAngle:G}),style:Object.assign({strokeWidth:4},v,{fill:"none"},c("max",x))},{markType:"path",d:r({startAngle:u,endAngle:G}),style:Object.assign({strokeWidth:4},v,{fill:"none"},c("median",x))},{markType:"path",d:a({startAngle:u,endAngle:G}),style:Object.assign({strokeWidth:4},v,{fill:"none"},c("min",x))},{markType:"path",d:d({startAngle:u,endAngle:G}),style:Object.assign({strokeWidth:4},v,c("iqrarea",x))},{markType:"path",d:i({startAngle:u,endAngle:G}),style:Object.assign({},v,{fill:"none",stroke:"none"},c("q3area",x))},{markType:"path",d:s({startAngle:u,endAngle:G}),style:Object.assign({},v,{fill:"none",stroke:"none"},c("q1area",x))}]})}else{const e=[{markType:"line",x1:O,x2:S,y1:M,y2:A,style:Object.assign({strokeWidth:2},v,c("whisker",x))},{markType:"line",x1:$,x2:C,y1:Y,y2:X,style:Object.assign({strokeWidth:2},v,c("min",x))},{markType:"line",x1:w,x2:T,y1:K,y2:Z,style:Object.assign({strokeWidth:2},v,c("max",x))},{markType:"rect",x:q,width:G,y:H,height:W,style:Object.assign({strokeWidth:1},v,c("iqrarea",x))},{markType:"rect",x:V,width:N,y:R,height:F,style:Object.assign({},v,{fill:"none",stroke:"none"},c("q3area",x))},{markType:"rect",x:_,width:L,y:I,height:B,style:Object.assign({},v,{fill:"none",stroke:"none"},c("q1area",x))},{markType:"line",x1:z,x2:D,y1:Q,y2:U,style:Object.assign({strokeWidth:2},v,c("median",x))}],a=[];d&&x.filter(e=>e.value>te||ee>e.value).forEach(e=>{a.push({markType:"circle",cx:"horizontal"===s?e.scaledValue:0,cy:"vertical"===s?e.scaledVerticalValue:0,style:Object.assign({strokeWidth:"1px",stroke:"black",fill:"none",r:2},v,c("outlier",x))})}),p.push({containerProps:Object.assign(Object.assign({},f),{className:b,transform:E,key:"summaryPiece-"+y,role:"img",tabIndex:-1,"data-o":t,"aria-label":`${t} boxplot showing ${m.filter(e=>e.key===t).map(e=>`${e.label} ${e.value}`)}`}),elements:[...e,...a]})}}),{marks:p,xyPoints:m}},violin:Ie,heatmap:Ie,ridgeline:Ie,histogram:Ie,horizon:Ie,ckbins:function(e){const{data:a,eventListenersGenerator:n,styleFn:o,classFn:r}=e,i=[];let s=0;const l=[];return Object.keys(a).forEach((e,i)=>{const c=a[e];n(c,i);const d=c.pieceData.sort((e,t)=>e.value-t.value),u=d[0],p=d[d.length-1],m=t.scaleLinear().domain([u.value,p.value]).range([u.scaledValue,p.scaledValue]),y=o(d[0].data,i),h=r(d[0].data,i),f=function(e,t){if(t>e.length)throw Error("Cannot generate more classes than there are data values");var a=e.length,n=e.slice().sort(function(e,t){return e-t}),o=function(e){for(var t,a=0,n=0;e.length>n;n++)0!==n&&e[n]===t||(t=e[n],a++);return a}(n);if(1===o)return[n[0]];var r=we(t=Math.min(o,t),a),i=we(t,a);!function(e,t,a){for(var n=t[0].length,o=Array(n),r=Array(n),i=e[Math.floor(n/2)],s=0;n>s;++s)0===s?(o[0]=e[0]-i,r[0]=(e[0]-i)*(e[0]-i)):(o[s]=o[s-1]+e[s]-i,r[s]=r[s-1]+(e[s]-i)*(e[s]-i)),t[0][s]=Te(0,s,o,r),a[0][s]=0;for(var l=1;t.length>l;++l)Ne(t.length-1>l?l:n-1,n-1,l,t,a,o,r)}(n,r,i);for(var s=[],l=i[0].length-1,c=i.length-1;c>=0;c--){var d=i[c][l];s[c]=n[d],c>0&&(l=d-1)}return s}(d.map(e=>e.value),5);let g=[];f.forEach((t,a)=>{var n;const o=null!==(n=f[a+1])&&void 0!==n?n:p.value;g.push({start:t,end:o,key:e,summary:c,calculatedSummaryStyle:y,calculatedSummaryClass:h,scaledStart:m(t),scaledEnd:m(o),values:[]})}),l.push(g);let x=0;for(const e of d)g[x].end>e.value||g[x+1]&&x++,g[x].values.push(e);g.forEach(e=>{s=Math.max(e.values.length,s)})}),l.forEach((e,a)=>{const n=e.map(e=>{const{calculatedSummaryStyle:a}=e,{fill:n="black",stroke:o="black"}=a,r=t.scaleLinear().domain([1,s]).range(["white",n]);return{markType:"rect",x:e.scaledStart,width:e.scaledEnd-e.scaledStart,y:e.summary.x,height:e.summary.width,style:Object.assign({strokeWidth:2},a,{fill:r(e.values.length),strokeWidth:1,stroke:o})}});i.push({containerProps:{transform:"",key:"summaryPiece-"+a,role:"img",tabIndex:-1},elements:n})}),{marks:i,xyPoints:[]}}},Ge=({data:e,type:t,renderMode:a,eventListenersGenerator:n,styleFn:o,classFn:r,projection:i,adjustedSize:s,margin:l,axisCreator:c})=>{if(t&&t.type)return function({data:e,type:t,renderMode:a,eventListenersGenerator:n,styleFn:o,classFn:r,projection:i,adjustedSize:s,chartSize:l,margin:c,axisCreator:d}){let u;if("function"==typeof t.type)u=t.type;else{if(!_e[t.type])return console.error(`Invalid summary type: ${t.type} - Must be a function or one of the following strings: ${Object.keys(_e).join(", ")}`),{};u=_e[t.type]}return u({data:e,type:t,renderMode:a,eventListenersGenerator:n,styleFn:o,classFn:r,projection:i,adjustedSize:s,chartSize:l,margin:c,axisCreator:d})}({data:e,type:t="string"==typeof t?{type:t}:t,renderMode:a,eventListenersGenerator:n,styleFn:o,classFn:r,projection:i,adjustedSize:s,chartSize:"vertical"===i?s[1]:s[0],margin:l,axisCreator:c})};function We(e){const t=[];for(const a of e){const e=[],{elements:n,containerProps:o}=a;if(a.Mark)t.push(a.Mark);else{for(let t=0;n.length>t;t++){const a=n[t],{markType:o,style:r={}}=a,i=O(a,["markType","style"]),s=Object.assign({},i);void 0!==r.fill&&(s.fill=r.fill),void 0!==r.stroke&&(s.stroke=r.stroke),void 0!==r.strokeWidth&&(s.strokeWidth=r.strokeWidth),void 0!==r.opacity&&(s.opacity=r.opacity),void 0!==r.fillOpacity&&(s.fillOpacity=r.fillOpacity),void 0!==r.strokeOpacity&&(s.strokeOpacity=r.strokeOpacity);const l=Object.assign({},r);delete l.fill,delete l.stroke,delete l.strokeWidth,delete l.opacity,delete l.fillOpacity,delete l.strokeOpacity,Object.keys(l).length>0&&(s.style=l),s.key=a.key||t,o&&e.push(g.createElement(o,s))}o?t.push(g.createElement("g",Object.assign({},o),e)):t.push(...e)}}return t}const He=({data:e,canvasRender:t,canvasDrawing:a})=>{var n;if(t())for(const t of e)if("svg-only-mark"!==t.type){const{transform:e="translate(0,0)"}=null!==(n=null==t?void 0:t.containerProps)&&void 0!==n?n:{transform:"translate(0,0)"},[o,r]=e.replace("translate(","").replace(")","").split(",");for(const e of t.elements){const{transform:t="translate(0,0)"}=e,[n,i]=t.replace("translate(","").replace(")","").split(",");a.push({baseClass:"frame-piece",tx:parseInt(n)+parseInt(o),ty:parseInt(i)+parseInt(r),d:{},i:0,markProps:e,styleFn:()=>e.style,renderFn:e.renderMode,classFn:()=>""})}}return We(e.filter(e=>!t()||"svg-only-mark"===e.type))};function qe(t){const{rotate:a,label:n,dynamicLabelPosition:o,orient:r="left",marginalSummaryType:i,tickFormat:s=(i?()=>"":e=>e),size:l,width:c=l&&l[0]||0,height:d=l&&l[1]||0,className:u,padding:p,tickValues:m,scale:y,ticks:h,footer:f,tickSize:x,tickLineGenerator:v,baseline:b=!0,margin:k={top:0,bottom:0,left:0,right:0},center:j=!1,annotationFunction:E,glyphFunction:O,xyPoints:S}=t,[M,A]=e.useState(0),[$,P]=e.useState(void 0),C=e.useRef(null);e.useEffect(()=>{if(!(null==n?void 0:n.position)&&o){const e=((e,t)=>{const a=e.current;if(!a)return 30;const n="left"===t||"right"===t?"width":"height";return Math.max(...[...a.querySelectorAll(".axis-label")].map(e=>e.getBBox&&e.getBBox()||{height:30,width:30}).map(e=>e[n]))+25})(C,r);e!==$&&P(e)}},[n,o]);let z,{axisParts:D,position:w=[0,0]}=t;if(D||(D=Me({padding:p,tickValues:m,scale:y,ticks:h,orient:r,size:[c,d],footer:f,tickSize:x}),z=g.createElement("g",{className:"axis "+u},Ae({axisParts:D,orient:r,tickLineGenerator:v,className:u,scale:y}))),0===D.length)return null;let T,N,F,R,V=50,L=d,B=-50,I=0,_=0,G=0,W=0,H=d,q=25,Y=-25,X=18,K=c+25,Z=0,Q=M,U=0,J="y";switch(r){case"right":w=[w[0],w[1]],B=c,W=_=c,U=k.top,K=-c-25,Y=5,T=e=>{A(e.nativeEvent.offsetY-U)},!0===j&&(W=_=c/2);break;case"top":w=[w[0],0],V=c,L=50,I=-50,B=0,U=k.left,J="x",W=c,H=0,!0===j&&(H=G=d/2),T=e=>{A(e.nativeEvent.offsetX-U)},q=M,Q=25,Y=0,X=-10,K=0,Z=d+25;break;case"bottom":w=[w[0],0],V=c,L=50,G=H=I=d,_=B=0,W=c,U=k.left,T=e=>{A(e.nativeEvent.offsetX-U)},q=M,Q=25,Y=0,X=15,K=0,Z=-d-25,J="x",!0===j&&(H=G=d/2);break;default:w=[w[0],w[1]],U=k.top,!0===j&&(W=_=c/2),T=e=>{A(e.nativeEvent.offsetY-U)}}if(E){const e=function(e,t){return t.tickFormat?t.tickFormat(e):e.toString?""+e:e}(y.invert(M),t),a=O?O({lineHeight:Z,lineWidth:K,value:y.invert(M)}):g.createElement("g",null,g.isValidElement(e)?g.createElement("g",{transform:`translate(${Y},${X})`},e):g.createElement("text",{x:Y,y:X},e),g.createElement("circle",{r:5}),g.createElement("line",{x1:K,y1:Z,style:{stroke:"black"}})),n=M?g.createElement("g",{style:{pointerEvents:"none"},transform:`translate(${q},${Q})`},a):null;N=g.createElement("g",{className:"annotation-brush",transform:`translate(${B},${I})`},g.createElement("rect",{style:{fillOpacity:0},height:L,width:V,onMouseMove:T,onClick:e=>E({className:"dynamic-axis-annotation",type:J,value:y.invert(M),e:e}),onMouseOut:()=>{A(void 0)}}),n)}if(i&&S){const e=Math.max(k[r]-6,5),t="string"==typeof i?{type:i}:i;void 0!==t.flip||"bottom"!==r&&"right"!==r||(t.flip=!0);const a=t.summaryStyle?()=>t.summaryStyle:()=>({fill:"black",fillOpacity:.5,stroke:"black",strokeDasharray:"0"}),n=t.renderMode?()=>t.renderMode:()=>{},o=t.summaryClass?()=>t.summaryClass:()=>"",s=t.filter||(()=>!0),c=S.filter(e=>void 0!==e.x&&void 0!==e.y&&s(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=We(Ge({data:{column:{middle:e/2,pieceData:c,width:e,xyData:c}},type:t,renderMode:n,eventListenersGenerator:t.eventListenersGenerator||(()=>({})),styleFn:a,classFn:o,projection:"top"===r||"bottom"===r?"horizontal":"vertical",adjustedSize:l,margin:{top:0,bottom:0,left:0,right:0}}).marks);let u;if(!0===t.showPoints){const a=((e,t,a)=>{const n="left"===e||"right"===e?t/2:0,o="bottom"===e||"top"===e?t/2:0;return a.map(e=>[e.xy.x+n,e.xy.y+o])})(r,e,c);u=a.map((e,a)=>g.createElement("circle",{key:"axis-summary-point-"+a,cx:e[0],cy:e[1],r:t.r||3,style:t.pointStyle||{fill:"black",fillOpacity:.1}}))}F=g.createElement(Ce,{translation:{left:[2-k.left,0],right:[l[0]+2,0],top:[0,2-k.top],bottom:[0,l[1]+2]},orient:r,decoratedSummaryType:t,summaryWidth:e,renderedSummary:d,points:u})}const ee=(({axisParts:e,tickFormat:t,rotate:a=0,center:n=!1,orient:o})=>e.map((e,r)=>{let i=t(e.value,r);("object"!=typeof i||i instanceof Date)&&(i=g.createElement("text",{textAnchor:e.defaultAnchor,className:"axis-label"},i.toString?""+i:i));let s=e.tx,l=e.ty;if(n)switch(o){case"right":s-=(e.x2-e.x1)/2;break;case"left":s+=(e.x2-e.x1)/2;break;case"top":l+=(e.y2-e.y1)/2;break;case"bottom":l-=(e.y2-e.y1)/2}return g.createElement("g",{key:r,pointerEvents:"none",transform:`translate(${s},${l}) rotate(${a})`,className:"axis-label"},i)}))({tickFormat:s,axisParts:D,orient:r,rotate:a,center:j});if(n){const e=n.name||n,t=n.position||{};let a=t.anchor||"middle";const o=n.locationDistance||$,i=t.rotation||{left:-90,right:90,top:0,bottom:0}[r],s={left:{start:[0,l[1]],middle:[0,l[1]/2],end:[0,0],inside:[o||15,0],outside:[-(o||45),0]},right:{start:[l[0]+0,l[1]],middle:[l[0]+0,l[1]/2],end:[l[0]+0,0],inside:[-(o||15),0],outside:[o||45,0]},top:{start:[0,0],middle:[0+l[0]/2,0],end:[0+l[0],0],inside:[0,o||15],outside:[0,-(o||40)]},bottom:{start:[0,l[1]],middle:[0+l[0]/2,l[1]],end:[0+l[0],l[1]],inside:[0,-(o||5)],outside:[0,o||50]}},c=s[r][a],d=s[r][t.location||"outside"];c[0]=c[0]+d[0],c[1]=c[1]+d[1],"start"===a&&"right"===r?a="end":"end"===a&&"right"===r&&(a="start"),R=g.createElement(ze,{className:u,translation:c,position:w,rotation:i,labelName:e,anchorMod:a})}const te=`${r} axis ${D&&D.length>0&&`from ${s(D[0].value,0)} to ${s(D[D.length-1].value,D.length-1)}`||"without ticks"}`;return g.createElement("g",{className:u,"aria-label":te,ref:C},N,ee,z,!0===b?g.createElement("line",{key:"baseline",className:"axis-baseline "+u,stroke:"black",strokeLinecap:"square",x1:_,x2:W,y1:G,y2:H}):null,R,F)}const Ye=e=>{let t=null,a="top";return"string"==typeof e?t=e:"title"in e?(t=e.title,a=e.orient||"top"):t=e,{orient:a,title:t}};function Xe(e){return Math.round(10*e)/10}const Ke=({margin:e,size:t,inset:a=0})=>{const n=[t[0]-a,t[1]-a];return`M0,0 h${t[0]} v${t[1]} h-${t[0]}Z M${e.left-a},${e.top-a} v${t[1]+2*a-e.top-e.bottom} h${n[0]+3*a-e.left-e.right} v-${n[1]+3*a-e.top-e.bottom}Z`};function Ze(e){return e instanceof Function||"string"==typeof e?{type:e}:void 0===e?{}:e}function Qe({data:e,renderKey:a=(e,t)=>t,oAccessor:n,rAccessor:o,originalRAccessor:r,originalOAccessor:i,multiAxis:s=!1}){let l,c;if(s&&o.length>1){let a=1/0;c=o.map(t=>{const n=e.map(t).reduce((e,t)=>[Math.min(t,e[0]),Math.max(t,e[1])],[1/0,-1/0]);return a=Math.min(n[0]/n[1],a),n});const n=c.map(e=>{let n=[0,1],o=e;return 0>e[0]&&e[1]>0?(n[0]=a,o[0]=o[1]*a):0>e[0]&&0>e[1]?(o[1]=0,n=[-1,0]):o[0]=0,t.scaleLinear().domain(e).range(n)});l=n.map((e,t)=>a=>e(o[t](a)))}else l=o;const d=[];return n.forEach((t,n)=>{l.forEach((o,s)=>{(e||[]).forEach(e=>{const l=a(e,d.length),c=void 0!==l&&l.toString&&""+l||l,u=r[s],p=i[n],m="string"==typeof u?u:"function-"+s,y="string"==typeof p?p:"function-"+n;if("object"!=typeof e){const t={value:e,renderKey:c},a=o(t);d.push({data:t,value:a,rIndex:s,rName:m,oIndex:n,oName:y,column:c,renderKey:c})}else{const a=o(e),r=t(e);d.push({renderKey:c,data:e,rIndex:s,rName:m,oIndex:n,oName:y,value:a,column:r&&r.toString?""+r:r})}})})}),{allData:d,multiExtents:c}}function Ue({type:e,data:t,renderMode:a,eventListenersGenerator:n,styleFn:o,classFn:r,projection:i,canvasRender:s,canvasDrawing:l,pieceType:c}){if(!e.type)return null;const d=[],u=new Map,{keyedData:p,oExtent:m}=t;if("function"==typeof e.type){const t=e.type,y=m;if(m.forEach((e,m)=>{const h=p[e],f=p[y[m+1]];if(f){const e=f.map((e,a)=>t(Object.assign(Object.assign({},e.piece),e.piece.data),a));h.forEach((p,m)=>{const y=t(Object.assign(Object.assign({},p.piece),p.piece.data),m),h=t(Object.assign(Object.assign({},p.piece),p.piece.data),m),x=void 0!==h&&!1!==h&&e.indexOf(h);if(null!=y&&!1!==x&&-1!==x){const e=f[x];let t;if("radial"===i&&"point"===c.type){u.get(p)||u.set(p,[p]);const t=u.get(p);t&&(t.push(e),u.set(e,t),u.delete(p))}else{const{xy:c}=p,{xy:u}=e,{x:y,y:h,height:f=1,width:x=1}=c,{x:v,y:b,height:k=1,width:j=1}=u;if("vertical"===i)t=Ee({x1:y+x,x2:v,y1:h,y2:b,sizeX1:0,sizeX2:0,sizeY1:f,sizeY2:k});else if("horizontal"===i){const{value:a}=p.piece,{value:n}=e.piece;t=Ee({x1:0>a?p.piece.bottom-x:y-x,x2:0>n?e.piece.bottom-j:v-j,y1:h+f,y2:b,sizeX1:x,sizeX2:j,sizeY1:0,sizeY2:0})}else"radial"===i&&(t=Ee({x1:y,x2:v,y1:h+f,y2:b,sizeX1:x,sizeX2:j,sizeY1:0,sizeY2:0}));a&&a(p.piece,m);const E=Object.assign(Object.assign({},p.piece.data),p.piece.data),O=Object.assign(Object.assign({},e.piece),e.piece.data),S=o({source:E,target:O}),M=n({source:E,target:O},m);s&&!0===s(p.piece)?l.push({baseClass:"xyframe-line",tx:0,ty:0,d:{source:E,target:O},markProps:{d:t,markType:"path"},styleFn:o,renderFn:a,classFn:r}):d.push(g.createElement("path",Object.assign({},M,{d:t,className:r?r(p.piece.data,m):"",key:"connector"+p.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),n=`M${e.map(e=>`${e.xy.x},${e.xy.y}`).join("L")}Z`;if(s&&s(t))l.push({baseClass:"ordinal-radar",tx:0,ty:0,d:{source:t},markProps:{d:n,markType:"path"},styleFn:o,renderFn:a,classFn:r});else{const e=o({source:t});d.push(g.createElement("path",Object.assign({d:n,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 Je=(e,t,a,n)=>{const o=e.getContext("2d",{willReadFrequently:!0}),r=o.getImageData(n.offsetX,n.offsetY,1,1);let i=t[a.get(`rgba(${r.data[0]},${r.data[1]},${r.data[2]},255)`)];if(!i){const e=o.getImageData(n.offsetX-2,n.offsetY-2,5,5);let r=0;for(;!i&&100>r;)i=t[a.get(`rgba(${e.data[r]},${e.data[r+1]},${e.data[r+2]},255)`)],r+=4}return i},et=g.memo(function({width:t,height:a,overlayRegions:n,margin:o,voronoiHover:r}){let i=e.useRef();return e.useLayoutEffect(()=>{tt(i.current,r,a,t,n,o)},[t,a,n]),g.createElement("canvas",{className:"frame-canvas-interaction",ref:e=>{null!=e&&i.current!==e&&(i.current=e,tt(e,r,a,t,n,o))},style:{position:"absolute",left:"0px",top:"0px",imageRendering:"pixelated",pointerEvents:"all",opacity:0},width:t,height:a})});function tt(e,t,a,n,o,r){const i=new Map;if(null===e||!o)return;const s=Je.bind(null,e,o,i);e.onmousemove=e=>{var a,n,o,r;const i=s(e);(null===(a=null==i?void 0:i.props)||void 0===a?void 0:a.onMouseEnter)?null===(n=null==i?void 0:i.props)||void 0===n||n.onMouseEnter():(null===(r=null===(o=null==i?void 0:i.props)||void 0===o?void 0:o.children)||void 0===r?void 0:r[0])?i.props.children[0].props.onMouseEnter():t(null)},e.onmouseout=()=>{t(null)},e.onclick=e=>{var t,a,n,o;const r=s(e);(null===(t=null==r?void 0:r.props)||void 0===t?void 0:t.onClick)?null===(a=null==r?void 0:r.props)||void 0===a||a.onClick():(null===(o=null===(n=null==r?void 0:r.props)||void 0===n?void 0:n.children)||void 0===o?void 0:o[0])&&r.props.children[0].props.onClick(e)},e.ondblclick=e=>{var t,a,n,o;const r=s(e);(null===(t=null==r?void 0:r.props)||void 0===t?void 0:t.onDoubleClick)?null===(a=null==r?void 0:r.props)||void 0===a||a.onDoubleClick():(null===(o=null===(n=null==r?void 0:r.props)||void 0===n?void 0:n.children)||void 0===o?void 0:o[0])&&r.props.children[0].props.onDoubleClick(e)};const l=e.getContext("2d",{willReadFrequently:!0});l.imageSmoothingEnabled=!1,l.setTransform(1,0,0,1,r.left,r.top),l.clearRect(-r.left,-r.top,n,a),l.lineWidth=1,o.forEach((e,t)=>{var a,n,o,r,s,c;const d=`rgba(${Math.floor(255*Math.random())},${Math.floor(255*Math.random())},${Math.floor(255*Math.random())},255)`;i.set(d,t);const u=e.props;if(l.fillStyle=d,l.strokeStyle=d,u.d||(null===(o=null===(n=null===(a=u.children)||void 0===a?void 0:a[0])||void 0===n?void 0:n.props)||void 0===o?void 0:o.d)){const e=u.d||u.children[0].props.d,t=u.transform||(null===(c=null===(s=null===(r=u.children)||void 0===r?void 0:r[0])||void 0===s?void 0:s.props)||void 0===c?void 0:c.transform)||"translate(0,0)",[a,n]=t.replace("translate(","").replace(")","").split(",").map(Number);l.translate(a,n);const o=new Path2D(e);l.stroke(o),l.fill(o),l.translate(-a,-n)}else"rect"===u.markType&&(l.fillRect(u.x,u.y,u.width,u.height),l.strokeRect(u.x,u.y,u.width,u.height))})}function at(t){let a=null;const{interaction:o,svgSize:r=[500,500],margin:c={left:0,right:0,top:0,bottom:0},overlay:d,points:u,xScale:p,yScale:m,hoverAnnotation:y,customClickBehavior:h,customDoubleClickBehavior:f,customHoverBehavior:x,disableCanvasInteraction:v,canvasRendering:b}=t;let{enabled:k}=t,j=X(e=>e.changeTooltip);const E=e=>{j(e)},[S,M]=e.useState([]),[A,$]=e.useState(null);return e.useEffect(()=>{let e,a;v||!S?(e=null,a=null):(e=((e,t)=>{let a=[];const{xScale:o,yScale:r,points:i,projectedX:s,showLinePoints:c,size:d,overlay:u,interactionOverflow:p={top:0,bottom:0,left:0,right:0},customClickBehavior:m,customDoubleClickBehavior:y,customHoverBehavior:h,hoverAnnotation:f,margin:x,advancedSettings:v={}}=e,b={top:ce,bottom:de},k=m||y?{cursor:"pointer"}:{};if(i&&f&&!u){const{voronoiFilter:e=()=>!0}=v,u=[],j=new Map;for(const t of i)if(e(Object.assign(Object.assign({},t),t.data))){const e=Math.floor(o(t[s])),a=Math.floor(r(c&&void 0!==t[b[c]]?t[b[c]]:void 0!==t[le]?t[le]:t[se]));if(!(0-x.left>e||e>d[0]+x.right||0-x.top>a||a>d[1]+x.bottom||void 0===e||void 0===a||!1!==isNaN(e)||!1!==isNaN(a))){const n=`${e},${a}`;if(j.has(n))j.get(n).coincidentPoints.push(t);else{const o=Object.assign(Object.assign({},t),{coincidentPoints:[t],voronoiX:e,voronoiY:a});u.push(o),j.set(n,o)}}}let E=n.extent(u.map(e=>e.voronoiX)),O=n.extent(u.map(e=>e.voronoiY));null!=E[0]&&null!=O||(E=[0,0],O=[0,0]);const S=[Math.min(E[0]-5,-p.left),Math.min(O[0]-5,-p.top),Math.max(E[1]+5,d[0]+p.right),Math.max(O[1]+5,d[1]+p.bottom)],M=l.Delaunay.from(u,e=>e.voronoiX,e=>e.voronoiY).voronoi(S);return a=u.map((e,a)=>{let n=null;return v.voronoiClipping&&(n=g.createElement("clipPath",{id:"voronoi-"+a},g.createElement("circle",{r:!0===v.voronoiClipping?50:v.voronoiClipping,cx:e.voronoiX,cy:e.voronoiY}))),g.createElement("g",{key:"voronoi-"+a},g.createElement("path",{onClick:e=>{fe(u[a],m,i,e)},onDoubleClick:e=>{ge(u[a],y,i,e)},onMouseEnter:e=>{he(t,u[a],f,h,i,e)},onMouseLeave:e=>{he(t,void 0,void 0,h,void 0,e)},key:"interactionVoronoi"+a,d:M.renderCell(a),style:Object.assign({fillOpacity:0},k),clipPath:`url(#voronoi-${a})`}),n)},window),a}if(u)return u.map((a,n)=>{const{overlayData:o}=a,r=O(a,["overlayData"]),s={key:"overlay-"+n,onMouseEnter:a=>{he(t,o,e.hoverAnnotation,h,i,a)},onMouseLeave:e=>{he(t,void 0,void 0,h,void 0,e)},onClick:e=>{fe(o,m,i,e)},onDoubleClick:e=>{ge(o,y,i,e)},style:Object.assign({opacity:0},k)};if(g.isValidElement(a.renderElement))return g.cloneElement(a.renderElement,s);{const e=r,{markType:t}=e,a=O(e,["markType"]);return g.createElement(t||"path",Object.assign(Object.assign(Object.assign({},a),{key:"overlay-"+n}),s))}})})(t,E),b&&(a=g.createElement(et,{height:r[1],width:r[0],overlayRegions:e,margin:c,voronoiHover:E}))),M(e),$(a)},[d,u,p,m,!!y,!!h,!!f,!!x]),o&&o.brush&&(k=!0,a=((e,t)=>{let a,n,o,r;const{xScale:l,yScale:c,size:d,renderPipeline:u}=t,p={};Object.entries(u).forEach(([e,t])=>{t.data&&t.data.length>0&&(p[e]=t.data)});const{projection:m,projectedColumns:y}=e,h="oBrush"===e.brush?"horizontal"===m?"yBrush":"xBrush":e.brush;let{extent:f}=e;if(f||(f="xyBrush"===h?[[l.invert(0),c.invert(0)],[l.invert(d[0]),c.invert(d[1])]]:"xBrush"===h?[l.invert(0),l.invert(d[0])]:[c.invert(0),c.invert(d[1])]),f.indexOf&&-1!==f.indexOf(void 0))return g.createElement("g",null);if("xBrush"===h){const e=[...f];n=e=>e?[l.invert(e[0]),l.invert(e[1])]:null,a=i.brushX(),o=e.map(e=>l(e)),r=n}else if("yBrush"===h){const e=[...f];n=e=>e?[c.invert(e[0]),c.invert(e[1])].sort((e,t)=>e-t):null,a=i.brushY(),o=e.map(e=>c(e)).sort((e,t)=>e-t),r=n}else{const e=[...f.map(e=>[...e])];if(-1!==e.indexOf(void 0)||-1!==e[0].indexOf(void 0)||-1!==e[1].indexOf(void 0))return g.createElement("g",null);a=i.brush(),n=e=>{if(!e)return null;const t=[c.invert(e[0][1]),c.invert(e[1][1])].sort((e,t)=>e-t);return[[l.invert(e[0][0]),t[0]],[l.invert(e[1][0]),t[1]]]};const t=[c(f[0][1]),c(f[1][1])].sort((e,t)=>e-t);o=e.map((e,a)=>[l(e[0]),t[a]]),r=n}if("oBrush"===e.brush){if(o=null,e.extent){const[t,a]=e.extent;"string"!=typeof t&&"number"!=typeof t||"string"!=typeof a&&"number"!=typeof a||(o=[y[t].x,y[a].x+y[a].width])}n=(e=>t=>t?Object.values(e).filter(e=>t[1]>=e.x&&e.x+e.width>=t[0]):null)(y),r=(e=>(t,a)=>{if(t&&a.sourceEvent&&a.sourceEvent.path&&a.sourceEvent.path[1]&&a.sourceEvent.path[1].classList.contains("xybrush")&&a.target.move){const n=Object.values(e).filter(e=>t[1]>=e.x&&e.x+e.width>=t[0]),o=n[0]||{x:0,width:0},r=n[n.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(a.sourceEvent.path[1]).transition(750).call(a.target.move,i),n}return null})(y)}return a.extent([[0,0],[d[0],d[1]]]).on("start",t=>{xe(n(t.selection),void 0,p,void 0,e)}).on("brush",t=>{ve(n(t.selection),void 0,p,void 0,e)}).on("end",t=>{be(r(t.selection,t),void 0,p,void 0,e)}),g.createElement("g",{className:"brush"},g.createElement(re,{selectedExtent:o,extent:f,svgBrush:a}))})(o,t)),o&&o.columnsBrush&&(k=!0,a=((e,t)=>{const{projection:a,rScale:n,oColumns:o,renderPipeline:r}=t;if(!a||!n||!o)return;const s={};let l,c;Object.entries(r).forEach(([e,t])=>{t.data&&t.data.length>0&&(s[e]=t.data)});const d=n.copy().domain(n.domain()).range(n.domain().reverse());c=a&&"horizontal"===a?e=>e?[n.invert(e[0]),n.invert(e[1])]:null:e=>e?[d(n.invert(e[1])),d(n.invert(e[0]))]:null;const u=n.range(),p=o;let m,y;return Object.keys(p).map(t=>(a&&"horizontal"===a?(y=e.extent[t]?e.extent[t].map(e=>n(e)):e.startEmpty?null:u,m=[0,p[t].x],l=i.brushX(),l.extent([[u[0],0],[u[1],p[t].width]]).on("start",a=>{xe(c(a.selection),t,s,p[t],e)}).on("brush",a=>{ve(c(a.selection),t,s,p[t],e)}).on("end",a=>{be(c(a.selection),t,s,p[t],e)})):(y=e.extent[t]?e.extent[t].map(e=>u[1]-n(e)).reverse():e.startEmpty?null:u,m=[p[t].x,0],l=i.brushY(),l.extent([[0,u[0]],[p[t].width,u[1]]]).on("start",a=>{xe(c(a.selection),t,s,p[t],e)}).on("brush",a=>{ve(c(a.selection),t,s,p[t],e)}).on("end",a=>{be(c(a.selection),t,s,p[t],e)})),g.createElement("g",{key:"column-brush-"+t,className:"brush"},g.createElement(re,{key:"orbrush"+t,selectedExtent:y,svgBrush:l,position:m}))))})(o,t)),S||a?g.createElement("div",{className:"interaction-layer","data-testid":"interaction-layer",style:{position:"absolute",background:"none",pointerEvents:"none",height:"100%",width:"100%",overflow:"hidden"}},A||g.createElement("svg",{height:r[1],width:r[0],style:{background:"none",pointerEvents:"none"}},g.createElement("g",{className:"interaction-overlay",transform:`translate(${c.left},${c.top})`,style:{pointerEvents:k?"all":"none"}},g.createElement("g",{className:"interaction-regions"},S),a))):null}function nt(t){const{matte:a,matteClip:n,axes:o,frameKey:r="",margin:i={left:0,right:0,bottom:0,top:0},title:s,ariaTitle:l,axesTickLines:c,frameRenderOrder:d,additionalVizElements:u,transition:p}=t;let m=X(e=>e.changeTooltip);const y=e.useCallback(e=>{m(e)},[m]),[h,f]=e.useState(null),[x,v]=e.useState(null),b=e.useMemo(()=>(({focusedPieceIndex:e,changeFocusedPieceIndex:t,changeFocusedVisualizationGroup:a})=>({e:{keyCode:n},vizgroup:o,props:r,piecesGroup:i})=>{const{renderPipeline:s,voronoiHover:l}=r,c=n;if(37!==c&&39!==c&&13!==c)return;let d=0;const u={};null===e||13===c?u.focusedVisualizationGroup=o:37===c?d=e-1:39===c&&(d=e+1),d=0>d?i[o].length+d:d%i[o].length,l(s[o].accessibleTransform(s[o].data,d,i[o][d])),t(d),a(u.focusedVisualizationGroup)})({focusedPieceIndex:h,changeFocusedPieceIndex:f,changeFocusedVisualizationGroup:v}),[h,f,v]),k=((e,t,a)=>{const{xScale:n,yScale:o,dataVersion:r,projectedCoordinateNames:i,renderPipeline:s={},renderOrder:l=[],transition:c}=e,d=[],u={},p=[];return l.concat(Object.keys(s).filter(e=>-1===l.indexOf(e))).forEach(r=>{const l=s[r];if(l&&(l.data&&"object"==typeof l.data&&!Array.isArray(l.data)||l.data&&l.data.length>0)){const s=l.behavior(Object.assign({xScale:n,yScale:o,canvasDrawing:d,projectedCoordinateNames:i},l));s&&s.length>0&&p.push(g.createElement("g",Object.assign({key:r,className:r,"data-testid":r,role:"group",tabIndex:0},c?{"data-semiotic-transition":""}:void 0,{"aria-label":l.ariaLabel&&`${s.length} ${l.ariaLabel.items}s in a ${l.ariaLabel.chart}`||r,onKeyDown:a=>t({e:a,k:r,props:e,piecesGroup:u}),onBlur:()=>{a(void 0)},ref:e=>e&&(u[r]=e.childNodes)}),s))}}),{renderedElements:p,dataVersion:r,canvasDrawing:d,piecesGroup:u}})(t,b,y),{renderedElements:j}=k;e.useEffect(()=>{var e,a;const n=null===(e=t.canvasContext)||void 0===e?void 0:e.current;let o=new AbortController;if(t.disableContext||!n)return;const{sketchyRenderingEngine:r,width:i,height:s,margin:l,disableProgressiveRendering:c=!1}=t,d=[i+l.left+l.right,s+l.top+l.bottom];n.width=d[0],n.height=d[1],n.style.width=d[0],n.style.height=d[1];const u=n.getContext("2d");u.scale(devicePixelRatio,devicePixelRatio),u.setTransform(1,0,0,1,l.left,l.top),u.clearRect(-l.left,-l.top,d[0],d[1]);const p=function(e,t,a,n,o,r){const i={fill:"black",stroke:"black",opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1},{position:s=[0,0]}=n;return n=>{var l,c,d;const u=Object.assign(Object.assign({},n.d),n.d.data),p=n.styleFn&&n.styleFn(u,n.i)||i,m=p.fill?p.fill:"black",y=p.stroke?p.stroke:"black";t.setTransform(1,0,0,1,a.left,a.top),t.translate(s[0],s[1]),t.translate(n.tx,n.ty),t.fillStyle=m,t.strokeStyle=y,t.lineWidth=p.strokeWidth?p.strokeWidth:0;let h={};const f=n.renderFn&&n.renderFn(u,n.i);let g=f&&f.renderMode||f;if(g)if(o){const a=o.canvas;a?(r=r||a(e),h=Object.assign({fill:m,stroke:y,strokeWidth:t.lineWidth},"object"==typeof f&&f||{})):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"),g=void 0;if("circle"===n.markProps.markType||"rect"===n.markProps.markType&&n.markProps.rx>0){let e=null!==(l=n.markProps.cx)&&void 0!==l?l:0,a=null!==(c=n.markProps.cy)&&void 0!==c?c:0,o=null!==(d=p.r)&&void 0!==d?d:n.markProps.r;if(n.markProps.width){const t=n.markProps.width/2;e=n.markProps.x+t,a=n.markProps.y+t,o=t}"sketchy"===g?0!==t.globalAlpha&&r.circle(e,a,o,h):(t.beginPath(),t.arc(e,a,o,0,2*Math.PI),t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fill(),t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke())}else if("rect"===n.markProps.markType)"sketchy"===g?(t.globalAlpha=p.opacity||1,0!==t.globalAlpha&&r.rectangle(n.markProps.x,n.markProps.y,n.markProps.width,n.markProps.height,h)):(t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fillRect(n.markProps.x,n.markProps.y,n.markProps.width,n.markProps.height),t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.strokeRect(n.markProps.x,n.markProps.y,n.markProps.width,n.markProps.height));else if("path"===n.markProps.markType)if("sketchy"===g)t.globalAlpha=p.opacity||1,r.path(n.markProps.d,h);else{const e=new Path2D(n.markProps.d);t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke(e),t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fill(e)}else"line"===n.markProps.markType?"sketchy"===g?(t.globalAlpha=p.opacity||1,r.line(n.markProps.x1,n.markProps.y1,n.markProps.x2,n.markProps.y2,h)):(t.globalAlpha=p.strokeOpacity||p.opacity||1,t.beginPath(),t.moveTo(n.markProps.x1,n.markProps.y1),t.lineTo(n.markProps.x2,n.markProps.y2),p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke()):console.error("CURRENTLY UNSUPPORTED MARKTYPE FOR CANVAS RENDERING")}}(n,u,l,t,r,void 0);if(u.clearRect(-l.left,-l.top,d[0],d[1]),c)for(const e of k.canvasDrawing)p(e);else o=new AbortController,function(e,t,a){let n=0;!function(e){var t,a,n,o;t=this,a=arguments,o=function*(e,{signal:t,timeFrameMs:a=30}={}){return new Promise((n,o)=>{requestAnimationFrame(function r(){let i=performance.now(),s=0,l=!1,c=null!=t&&t.aborted;try{if(c)return n();do{l=e(),s=performance.now()-i,c=null!=t&&t.aborted}while(!c&&l&&a>s);!c&&l?requestAnimationFrame(r):n()}catch(e){o(e)}})})},new((n=void 0)||(n=Promise))(function(e,r){function i(e){try{l(o.next(e))}catch(e){r(e)}}function s(e){try{l(o.throw(e))}catch(e){r(e)}}function l(t){var a;t.done?e(t.value):(a=t.value,a instanceof n?a:new n(function(e){e(a)})).then(i,s)}l((o=o.apply(t,a||[])).next())})}(()=>{let a=Math.min(n+1e3,t.length);for(let o=n;a>o;o++)e(t[o]);return n+=1e3,t.length>n},a)}(p,k.canvasDrawing,{signal:o.signal});if(u.setTransform(1,0,0,1,0,0),u.globalAlpha=1,t.canvasPostProcess&&t.canvasPostProcess(null===(a=t.canvasContext)||void 0===a?void 0:a.current,u,d),null!==x&&k.piecesGroup[x]&&null!==h){const e=k.piecesGroup[x][h],t=e&&[...e.childNodes].find(e=>e.getAttribute("aria-label"))||e;t&&t.focus&&t.focus()}return function(){o.abort()}},[a,n,o,r,i,l,c,d,u]);const E=function(e){if(!e)return null;const t="object"==typeof e&&null!=e.ease?e.ease:"ease",a=("object"==typeof e&&null!=e.duration?e.duration:300)+"ms";return g.createElement("style",{key:"semiotic-transition-style"},`\n@keyframes semiotic-enter {\n from { opacity: 0; }\n to { opacity: 1; }\n}\ng[data-semiotic-transition] > rect,\ng[data-semiotic-transition] > circle,\ng[data-semiotic-transition] > path,\ng[data-semiotic-transition] > line,\ng[data-semiotic-transition] > g > rect,\ng[data-semiotic-transition] > g > circle,\ng[data-semiotic-transition] > g > path,\ng[data-semiotic-transition] > g > line {\n transition: fill ${a} ${t},\n stroke ${a} ${t},\n opacity ${a} ${t},\n transform ${a} ${t};\n animation: semiotic-enter ${a} ${t};\n}\n`)}(p),O=Object.assign({"axes-tick-lines":c&&g.createElement("g",{key:"visualization-tick-lines",className:"axis axis-tick-lines","aria-hidden":!0},c),"axes-labels":o&&g.createElement("g",{key:"visualization-axis-labels",className:"axis axis-labels"},o),matte:a,"viz-layer":j&&j.length>0?g.createElement(g.Fragment,{key:"viz-layer"},E,j):null},u);let S="";S=`Visualization ${s&&l||s?"string"!=typeof s&&s.props&&"string"==typeof s.props.children?"titled "+s.props.children:"with a complex title":"with no title"}. Use arrow keys to navigate elements.`;const M=[];return d.forEach(e=>{O[e]&&M.push(O[e])}),M.length>0&&g.createElement("g",{className:"data-visualization","data-testid":"data-visualization",key:"visualization-clip-path","aria-label":S,role:"group",clipPath:n&&a?`url(#matte-clip${r})`:void 0,transform:`translate(${i.left},${i.top})`},M)||null}const ot=[],rt={},it=[0,0],st={x:"x",y:"y"},lt=["axes-tick-lines","viz-layer","matte","axes-labels","labels"],ct={top:0,bottom:0,left:0,right:0};function dt(t){const{axes:a,axesTickLines:n,className:o="",name:r="",frameKey:i,projectedCoordinateNames:s=st,renderPipeline:l,size:c,adjustedSize:d=c,title:u,xScale:p,yScale:m,dataVersion:y,annotations:h,projectedYMiddle:f,interaction:x,customClickBehavior:v,customHoverBehavior:b,customDoubleClickBehavior:k,points:j,margin:E=ct,backgroundGraphics:O,foregroundGraphics:S,beforeElements:M,afterElements:A,defaultSVGRule:$,defaultHTMLRule:P,adjustedPosition:C=it,legendSettings:z,annotationSettings:D=rt,overlay:w,columns:T,rScale:N,projection:F,interactionOverflow:R,canvasPostProcess:V,canvasRendering:L,renderOrder:B=ot,showLinePoints:I,disableCanvasInteraction:_=!1,sketchyRenderingEngine:G,disableContext:W,frameRenderOrder:H=lt,additionalVizElements:q=rt,interactionSettings:X,disableProgressiveRendering:K,additionalDefs:Z,transition:Q}=t;let{hoverAnnotation:U}=t;const J=e.useRef(null),[ee,te]=e.useState(null),[ne,oe]=e.useState(null);e.useEffect(()=>{const e=(({matte:e,size:t,margin:a,frameKey:n,additionalDefs:o,name:r})=>{let i;"function"==typeof e?i=e({size:t,margin:a}):g.isValidElement(e)?i=e:!0===e&&(i=g.createElement("path",{fill:"white",transform:`translate(${-a.left},${-a.top})`,d:Ke({margin:a,size:t,inset:0}),className:r+"-matte"}));const s=(({matte:e,key:t,additionalDefs:a})=>g.createElement("defs",null,g.createElement("filter",{id:"paintyFilterHeavy"},g.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:4,colorInterpolationFilters:"sRGB",result:"blur"}),g.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"})),g.createElement("filter",{id:"paintyFilterLight"},g.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:2,colorInterpolationFilters:"sRGB",result:"blur"}),g.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"})),g.createElement("clipPath",{id:"matte-clip-"+t},e),a))({matte:i,key:e&&(n||r),additionalDefs:o});return{defs:s,matte:i}})({matte:ne,size:c,margin:E,frameKey:i,additionalDefs:Z,name:r});te(e.defs),oe(e.matte)},[c[0],c[1],E.top,E.bottom,E.right,E.left,E.top,ne,Z]),!U&&(v||b||k)&&(U=ot);const re=[],ie=h?[...h,...re]:re,se=e.useRef($);se.current=$;const le=e.useRef(P);le.current=P;const ce=e.useRef(l);ce.current=l;const de=e.useCallback((e,t,a)=>se.current(Object.assign({d:e,i:t,annotationLayer:a},ce.current)),[]),ue=e.useCallback((e,t,a)=>le.current(Object.assign({d:e,i:t,annotationLayer:a},ce.current)),[]),pe=g.createElement(ae,{legendSettings:z,margin:E,axes:a,annotationHandling:D,pointSizeFunction:D.layout&&D.layout.pointSizeFunction,labelSizeFunction:D.layout&&D.layout.labelSizeFunction,annotations:ie,svgAnnotationRule:de,htmlAnnotationRule:ue,size:d,position:[C[0]+E.left,C[1]+E.top]}),me=function({title:e={title:"",orient:"top"},size:t}){let a=null;const{title:n,orient:o}=Ye(e);let r,i=0,s=0;switch(o){case"top":i=t[0]/2,s=25;break;case"bottom":i=t[0]/2,s=t[1]-25;break;case"left":i=25,s=t[1]/2,r="rotate(-90)";break;case"right":i=t[0]-25,s=t[1]/2,r="rotate(90)"}const l=`translate(${i},${s})`;return"string"==typeof n&&n.length>0?a=g.createElement("g",{transform:l},g.createElement("text",{className:"frame-title",transform:r,style:{textAnchor:"middle",pointerEvents:"none"}},n)):n&&(a=g.createElement("g",{transform:l},n)),a}({title:u,size:c}),ye="function"==typeof O?O({size:c,margin:E}):O,he="function"==typeof S?S({size:c,margin:E}):S;return g.createElement("div",{className:`${o} frame ${r}`,style:{background:"none"}},M&&g.createElement("div",{className:r+" frame-before-elements"},M),g.createElement("div",{className:"frame-elements",style:{height:c[1]+"px",width:c[0]+"px"}},g.createElement(Y,null,g.createElement("div",{className:"visualization-layer",style:{position:"absolute"}},O&&g.createElement("svg",{className:"background-graphics",style:{position:"absolute"},width:c[0],height:c[1]},O&&g.createElement("g",{"aria-hidden":!0,className:"background-graphics"},ye)),g.createElement("svg",{className:"visualization-layer",style:{position:"absolute"},width:c[0],height:c[1]},ee,g.createElement(nt,{disableContext:W,renderPipeline:l,position:C,width:d[0],height:d[1],projectedCoordinateNames:s,xScale:p,yScale:m,axes:a,title:me,frameKey:i,canvasContext:J,dataVersion:y,matte:ne,margin:E,canvasPostProcess:V,renderOrder:B,sketchyRenderingEngine:G,axesTickLines:n,additionalVizElements:q,frameRenderOrder:H,disableProgressiveRendering:K,transition:Q}),me&&g.createElement("g",{className:"frame-title"},me),S&&g.createElement("g",{"aria-hidden":!0,className:"foreground-graphics"},he))),L&&g.createElement("canvas",{className:"frame-canvas",ref:J,style:{pointerEvents:"none",position:"absolute"},width:c[0]/2,height:c[1]/2}),g.createElement(at,{hoverAnnotation:U,projectedX:s.x,projectedY:s.y,projectedYMiddle:f,interaction:x,customClickBehavior:v,customHoverBehavior:b,customDoubleClickBehavior:k,points:j,showLinePoints:I,canvasRendering:L,position:C,margin:E,size:d,svgSize:c,xScale:p,yScale:m,enabled:!0,overlay:w,oColumns:T,rScale:N,projection:F,interactionOverflow:R,disableCanvasInteraction:_,renderPipeline:l,advancedSettings:X}),pe)),A&&g.createElement("div",{className:r+" frame-after-elements"},A))}const ut=e=>e instanceof Date?e.getTime():e,pt=({type:e="stackedarea",data:t,xProp:a,yProp:o,yPropMiddle:r,sort:i,yPropTop:s,yPropBottom:l})=>{const c=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=ut(t[a]);d[u]+=t[o],c.has(e)||c.set(e,[]),c.get(e)[u]=t}u++}let p=(e,t)=>d[t.key]-d[e.key];"stackedpercent-invert"!==e&&"stackedarea-invert"!==e||(p=(e,t)=>d[e.key]-d[t.key]),null!==(i=void 0===i?p:i)&&(t=t.sort(i));const m=t.map(e=>e.__lineIndex);for(const[,t]of c){let a=0,i=0;const c=n.sum(t,e=>(null==e?void 0:e[o])>0?e[o]:0),d=n.sum(t,e=>0>(null==e?void 0:e[o])?e[o]:0);for(const n of m){const u=t[n];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[l]=u[l]=u[s]=u[r]=t;else{const e=0>d?t:0;u[l]=0===d?0:-a/d,u[s]=u[l]-e,u[r]=u[l]-e/2}}else u[l]=a,u[s]=a+u[o],u[r]=a+u[o]/2;a+=u[o]}else{if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=u[o]/c;if(u.percent=t,"linepercent"===e)u[l]=u[s]=u[r]=t;else{const e=c>0?t:0;u[l]=0===c?0:i/c,u[s]=u[l]+e,u[r]=u[l]+e/2}}else u[l]=i,u[s]=i+u[o],u[r]=i+u[o]/2;i+=u[o]}}}return t},mt=({data:e,y1:t,x1:a,yPropTop:n,yPropMiddle:o,yPropBottom:r,xPropTop:i,xPropMiddle:s,xPropBottom:l})=>{if(t)for(const a of e)for(const e of a.data)e[r]=t(e),e[o]=e[n];if(a)for(const t of e)for(const e of t.data)e[l]=a(e),e[s]=(e[l]+e[i])/2;return e},yt=({data:e,y1:t,yPropTop:a,yPropMiddle:n,yPropBottom:o,type:r="cumulative"})=>{for(const i of e){let e=0;const s="cumulative-reverse"===r?i.data.reverse():i.data;for(const r of s)e+=r[a],r[o]=r[a]=r[n]=e,t&&(r[o]=t(r),r[n]=r[o]+r[a]/2)}return e},ht=({type:e="bumpline",data:t,xProp:a,yProp:n,yPropMiddle:o,yPropTop:r,yPropBottom:i})=>{const s=new Map;for(const e of t)for(const t of e.data){const e=ut(t[a]);s.has(e)||s.set(e,[]),s.get(e).push(t)}let l=(e,t)=>e[n]>t[n]?1:-1;"bumparea-invert"!==e&&"bumpline-invert"!==e||(l=(e,t)=>t[n]>e[n]?1:-1);for(const[,t]of s){let a=0,s=0;t.sort(l);let c=1;for(const l of t)"bumparea"===e||"bumparea-invert"===e?0>l[n]?(l[r]=a+l[n],l[o]=a+l[n]/2,l[i]=a,a+=l[n]):(l[r]=s+l[n],l[o]=s+l[n]/2,l[i]=s,s+=l[n]):(l[n]=c,l[r]=c,l[i]=c),c++}return t},ft=e=>e&&e.extent||Array.isArray(e)&&e||[],gt=()=>!0,xt={top:ce,bottom:de,orphan:se},vt={top:pe,bottom:me,orphan:ie},bt={stackedarea:pt,"stackedarea-invert":pt,stackedpercent:pt,"stackedpercent-invert":pt,linepercent:pt,difference:({data:e,yProp:t,yPropTop:a,yPropBottom:n})=>(e.forEach((o,r)=>{o.data.forEach((o,i)=>{const s=0===r?1:0;o[t]>e[s].data[i][t]?(o[n]=e[s].data[i][t],o[a]=o[t]):(o[a]=o[t],o[n]=o[t])})}),e),bumparea:ht,bumpline:ht,"bumparea-invert":ht,line:mt,area:mt,cumulative:yt,"cumulative-reverse":yt};function kt(e,t,a){if(!e&&t)return t;if("object"==typeof e)return()=>e;if(e instanceof Function)return e;if(!0===a){const t=e;return()=>t}return"string"==typeof e?t=>t?t[e]:void 0:()=>{}}function jt(e,t,a){if(void 0===e)return[kt(void 0,t,a)];let n=[];return n=Array.isArray(e)?e:[e],n.map(e=>kt(e,t,a))}function Et(e,t){const a=[];for(const e of t)a.push(Object.assign({},e));for(const t of e)t.parentSummary||a.push(t);return a}function Ot(e,t,a){return g.createElement(qe,{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:a,className:e.className})}const St=2*Math.PI,Mt=({type:e,ordset:a,adjustedSize:n,piece:r,i:i})=>{let{innerRadius:s}=e;const{offsetAngle:l=0,angleRange:c=[0,360]}=e,d=l/360,u=c.map(e=>e/360),p=u[1]-u[0],m=1>p?t.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(s){s=parseInt(s,10);const e=n[0]/2,t=(e-s)/e;y=y*t+s,h=h*t+s}const f=o.arc().innerRadius(y).outerRadius(h),g=("clusterbar"===e.type?(a.pct-a.pct_padding)/a.pieceData.length:a.pct)*p,x=m("clusterbar"===e.type?a.pct_start+i/a.pieceData.length*(a.pct-a.pct_padding):1===a.pct?0:a.pct_start+d),v=1===a.pct?u[1]:Math.max(x,x+g-a.pct_padding/2),b=x*St,k=v*St,j=f({startAngle:b,endAngle:k}),E=f.centroid({startAngle:b,endAngle:k}),O=n[0]/2,S=n[1]/2,M=E[0]+O,A=E[1]+S,$=P([0,0],(x+v)/2,r.scaledValue/2),C=`translate(${O},${S})`;return{xPosition:M,yPosition:A,xy:{arcGenerator:f,startAngle:b,endAngle:k,dx:$[0],dy:$[1]},translate:C,tx:O,ty:S,markProps:{markType:"path",d:j,transform:C}}},At=({type:e,projection:t,finalHeight:a,finalWidth:n,styleFn:o,classFn:r})=>(i,s,l)=>{const c="string"==typeof e.icon?e.icon:e.icon(i.data,s),{iconPadding:d=1,resize:u="auto"}=e,p=b.default(c),m=[0-p.x1+d,0-p.y1+d];p.height+=2*d,p.width+=2*d;const y=[];let h=p.height,f=1,x=1;const v="horizontal"===t?a:n,k="horizontal"===t?p.height:p.width,j="horizontal"===t?p.width:p.height,E="horizontal"===t?l.width:l.height,O="horizontal"===t?l.height:l.width;"auto"===u?(h=v/k,1>h?x=h:(f=Math.floor(h),x=1+(h-f)/f)):"fixed"===u&&(x=v/k);const S=p.height*x,M=j*x,A=k*x;m[0]=m[0]*x,m[1]=m[1]*x;const $=`iso-clip-${s}-${Math.random()}`,P=`url(#${$})`;if(l.width>0){y.push(g.createElement("clipPath",{key:$,id:$},g.createElement("rect",{x:0,y:0,width:l.width,height:l.height})));const e=[],a="horizontal"===t?M:-M,n="horizontal"===t?(e,t)=>t>e:(e,t,a)=>e>0+a;for(let d="horizontal"===t?0:l.height-S;n(d,E,a);d+=a)for(let a=0;O>a;a+=A)e.push(g.createElement("path",{key:`icon-${d}-${a}`,transform:`translate(${("horizontal"===t?d:a)+m[0]},${("horizontal"===t?a:d)+m[1]}) scale(${x})`,vectorEffect:"non-scaling-stroke",d:c,style:o(Object.assign(Object.assign({},i),i.data),s),className:r(Object.assign(Object.assign({},i),i.data),s)}));y.push(g.createElement("g",{key:"clipped-region-"+s,clipPath:P},e))}return y},$t={clusterbar:function({type:e,data:t,renderMode:a,eventListenersGenerator:n,styleFn:o,projection:r,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d}){let u=[];return Object.keys(t).forEach((p,m)=>{const y=t[p],h=Math.max(y.width,1)/y.pieceData.length;let f=0,x=0;const v=y.pieceData.map((t,u)=>{const v=a&&a(t.data,u);let b=t.x,k=t.base,j=h,E=t.scaledValue,O={x:0,y:0};t.negative||(k-=t.scaledValue),"horizontal"===r&&(k=t.x,b=t.base,E=h,j=t.scaledValue,O.x=t.scaledValue,t.negative&&(b-=t.scaledValue,O.x=b));let S={},M=0,A=0;if("radial"===r){let a,n;({xPosition:b,yPosition:k,markProps:S,xy:O,tx:a,ty:n}=Mt({type:e,ordset:y,adjustedSize:s,piece:t,i:u})),M=a,A=n,O.x=b}else b+=f,k+=x,S={markType:"rect",x:b,y:k,width:Math.max(0,j),height:Math.max(0,E),rx:0,ry:0},"vertical"===r&&(O.x=b);const $=n(t,u);O.y=k,O.middle=h/2,O.height=E,O.width=j,e.icon&&"radial"!==r?e.customMark=At({type:e,projection:r,finalHeight:E,finalWidth:j,styleFn:o,renderValue:v,classFn:i}):e.icon&&"radial"===r&&console.error("Icons are currently unsupported on radial charts");const P=e.customMark?g.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${b},${k})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:b,y:k}),u,Object.assign(Object.assign({},O),{renderMode:a,styleFn:o,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},t),t.data),u),key:"piece-"+t.renderKey,transform:void 0,style:o(Object.assign(Object.assign({},t),t.data),m)},S),$);return"horizontal"===r?x+=E:f+=j,{o:p,xy:O,piece:t,tx:M,ty:A,renderValue:v,renderElement:P}});u=[...u,...v]}),u},bar:function({type:e,data:t,renderMode:a,eventListenersGenerator:n,styleFn:o,projection:r,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d}){let u=[];return Object.keys(t).forEach((p,m)=>{const y=t[p],h=Math.max(y.width,1);y.pieceData.forEach((t,f)=>{const x=t.scaledValue,v=a&&a(t.data,f);let b=t.x,k=t.bottom,j=h,E=x,O={};t.negative||(k-=t.scaledValue),"vertical"===r?O={x:b,y:k,middle:h/2,height:E,width:j}:"horizontal"===r&&(k=t.x,b=t.bottom,E=h,j=x,O={x:b+t.scaledValue,y:k,middle:h/2,height:E,width:j},t.negative&&(b=t.bottom-t.scaledValue));let S,M=0,A=0;if("radial"===r){let a,n;({markProps:S,xPosition:b,yPosition:k,tx:a,ty:n}=Mt({type:e,ordset:y,adjustedSize:s,piece:t,i:f})),M=a,A=n,E=void 0,j=void 0,O={x:b,y:k,middle:h/2,height:E,width:j}}else S={markType:"rect",x:b,y:k,width:Math.max(0,j),height:Math.max(0,E),rx:0,ry:0};const $=n(t,f);e.icon&&"radial"!==r?e.customMark=At({type:e,projection:r,finalHeight:E,finalWidth:j,styleFn:o,renderValue:v,classFn:i}):e.icon&&"horizontal"!==r&&console.error("Icons are currently unsupported in radial charts");const P=e.customMark?g.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${b},${k})`,role:"img",tabIndex:-1},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:b,y:k}),f,Object.assign(Object.assign({},O),{renderMode:a,styleFn:o,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},t),t.data),f),key:"piece-"+t.renderKey,style:o(Object.assign(Object.assign({},t),t.data),m)},$),S);u.push({o:p,xy:O,piece:t,tx:M,ty:A,renderValue:v,renderElement:P})})}),u},point:function({type:e,data:t,renderMode:a,eventListenersGenerator:n,styleFn:o,projection:r,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d}){const u=e.r||3;let p=[];return Object.keys(t).forEach((m,y)=>{const h=t[m],f=[];h.pieceData.forEach((t,p)=>{const x=a&&a(t.data,p);let v=h.middle,b=t.scaledVerticalValue;if("horizontal"===r)b=h.middle,v=t.scaledValue;else if("radial"===r){const e=P([s[0]/2,s[1]/2],h.pct_middle,t.scaledValue/2);v=e[0],b=e[1]}const k="function"==typeof u?u(t,p):u,j=n(t,p),E=e.customMark?g.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${v},${b})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:v,y:b,width:h.width}),p,{r:u,x:v,y:b,renderMode:a,styleFn:o,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d})):Object.assign({className:i(Object.assign(Object.assign({},t),t.data),p),markType:"rect",key:"piece-"+t.renderKey,height:2*k,width:2*k,x:v-k,y:b-k,rx:k,ry:k,style:o(Object.assign(Object.assign({},t),t.data),y)},j);f.push({o:m,xy:{x:v,y:b},piece:t,renderValue:x,renderElement:E})}),p=[...p,...f]}),p},swarm:function({type:e,data:t,renderMode:a,eventListenersGenerator:n,styleFn:o,projection:r,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d}){let u=[];const p=Object.keys(t),y=p.reduce((e,a)=>{var n;return e+((null===(n=t[a].pieceData)||void 0===n?void 0:n.length)||0)},0),h=void 0!==e.iterations?e.iterations:Math.max(30,Math.min(120,Math.floor(120-(y-100)/20)));return p.forEach((y,f)=>{const x=t[y],v=1/p.length,b=x.pieceData,k=x.width,j=e.r||Math.max(2,Math.min(5,4*k/b.length)),E=m.forceSimulation(b).force("y",m.forceY(e=>e.scaledValue).strength(e.strength||2)).force("x",m.forceX(x.middle)).force("collide",m.forceCollide(j)).stop();"vertical"===r&&E.force("y",m.forceY(e=>e.scaledVerticalValue).strength(e.strength||2));for(let e=0;h>e;++e)E.tick();const O=b.map((t,u)=>{const p=a&&a(t.data,u);let m=t.x,h=t.y;if("horizontal"===r)h=t.x,m=t.y;else if("radial"===r){m=(t.x-x.middle)/k*v;const e=P([s[0]/2,s[1]/2],x.pct_middle+m,t.scaledValue/2);m=e[0],h=e[1]}const b="function"==typeof j?j(t,u):j,E=n(t,u),O=e.customMark?g.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${m},${h})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:m,y:h}),u,{x:m,y:h,r:j,renderMode:a,styleFn:o,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d})):Object.assign({className:i(Object.assign(Object.assign({},t),t.data),u),markType:"rect",key:"piece-"+t.renderKey,height:2*b,width:2*b,x:m-b,y:h-b,rx:b,ry:b,style:o(Object.assign(Object.assign({},t),t.data),f)},E);return{o:y,xy:{x:m,y:h},piece:t,renderValue:p,renderElement:O}});u=[...u,...O]}),u},timeline:function({type:e,data:t,renderMode:a,eventListenersGenerator:n,styleFn:o,projection:r,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d}){let u=[];return Object.keys(t).forEach((p,m)=>{const y=t[p],h=[];y.pieceData.forEach((t,u)=>{let f,x,v=0,b=0;const k=a&&a(t.data,u);let j=y.x,E=t.scaledEndValue-t.scaledValue,O=t.scaledVerticalValue-E,S=y.width,M={markType:"rect",height:0>E?-E:E,width:S,x:j,y:0>E?O+E:O};if("horizontal"===r)O=y.x,j=t.scaledValue,f=t.scaledEndValue-t.scaledValue,x=t.scaledBottom,S=t.scaledEndValue-t.scaledValue,E=y.width,M={markType:"rect",height:E,width:0>S?-S:S,x:0>S?j+S:j,y:O};else if("radial"===r){let a,n;({markProps:M,tx:a,ty:n}=Mt({piece:t,type:e,ordset:y,adjustedSize:s,i:u})),v=a,b=n}const A=n(t,u),$={x:j,y:O,scaledValue:f,scaledBottom:x,height:E},P=e.customMark?g.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${j},${O+E})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:j,y:O}),u,Object.assign(Object.assign({},$),{renderMode:a,styleFn:o,classFn:i,adjustedSize:s,chartSize:l,margin:c,rScale:d}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},t),t.data),u),key:"piece-"+t.renderKey,style:o(Object.assign(Object.assign({},t),t.data),m)},M),A);h.push({o:p,xy:$,piece:t,tx:v,ty:b,renderValue:k,renderElement:P})}),u=[...u,...h]}),u}},Pt=e=>e.middle?e.middle:0,Ct=()=>0;const zt=2*Math.PI,Dt={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"}},wt=(e,a,r)=>{let i;const s={},{oPadding:l=0,summaryType:c,type:d,connectorType:u,oAccessor:p,rAccessor:m,connectorStyle:y,style:h,rExtent:f,oSort:x,pieceClass:v,summaryStyle:b,summaryClass:k,dynamicColumnWidth:j,projection:E,customHoverBehavior:O,customClickBehavior:S,customDoubleClickBehavior:M,size:A,pixelColumnWidth:$,title:z,oLabel:D,hoverAnnotation:w,pieceHoverAnnotation:T,summaryHoverAnnotation:N,backgroundGraphics:F,foregroundGraphics:R,oScaleType:V,rScaleType:L,legend:B,renderKey:I,data:_,margin:G,oExtent:W,axes:H,pieceIDAccessor:q,multiAxis:Y,annotations:X}=e,K="radial"===E?0:l,Z=Ze(c),Q=Ze(d),U=Ze(u),J=r.accessorConversions(p,m,I,q),ee=J.oAccessor,te=J.rAccessor,ae=J.renderKey,ne=()=>({}),{connectorStyle:oe,summaryStyle:re,pieceStyle:ie,pieceClass:se,summaryClass:le,connectorClass:ce,pieceRenderMode:de,summaryRenderMode:ue,connectorRenderMode:pe,pieceCanvasRender:me,summaryCanvasRender:ye,connectorCanvasRender:he}=r.styleFns(y,b,h,v,k,e.connectorClass,e.renderMode,e.summaryRenderMode,e.connectorRenderMode,e.canvasPieces,e.canvasSummaries,e.canvasConnectors),fe="object"!=typeof z||g.isValidElement(z)||null===z?{title:z,orient:"top"}:z,ge=J.pieceIDAccessor,xe=Array.isArray(m)?m:[m],ve=Array.isArray(p)?p:[p];let be=te,ke=j;if("radial"===E){if(!ke){const e=te;ke=t=>n.sum(t,t=>{let a=0;for(const n of e)a+=n(t)||0;return a})}be=[()=>1]}const{allData:je,multiExtents:Ee}=Qe({data:_,renderKey:ae,oAccessor:ee,rAccessor:be,originalRAccessor:xe,originalOAccessor:ve,multiAxis:Y});let Oe;const Se=a.props,$e=e.data!==Se.data||e.size[0]!==Se.size[0]||e.size[1]!==Se.size[1]||e.margin!==Se.margin||!a.columnOverlays||0===a.columnOverlays.length||e.customClickBehavior!==Se.customClickBehavior||e.customDoubleClickBehavior!==Se.customDoubleClickBehavior||e.customHoverBehavior!==Se.customHoverBehavior;let Pe;Array.isArray(H)?Pe=H.map(t=>"function"==typeof t?t({size:e.size}):t):H&&(Pe=[H].map(t=>"function"==typeof t?t({size:e.size}):t)),Ee&&H&&Pe.forEach((e,t)=>{e.extentOverride=Ee[t]});const{margin:Ce,adjustedPosition:ze,adjustedSize:De}=r.marginCalc(G,Pe,fe,D,E,A),we=void 0===W||Array.isArray(W)?{extent:W}:W,Te=je.reduce((e,t)=>{const a=t.column,n=void 0!==a?a+"":a;return-1===e.indexOf(n)&&e.push(n),e},[]);let Ne=we.extent||Te;if("barpercent"===Q.type){const e=Ne.map(e=>je.filter(t=>t.column+""===e).reduce((e,t)=>e+t.value,0)).reduce((e,t,a)=>(e[Ne[a]]=t,e),{});je.forEach(t=>{t.value=e[t.column]&&t.value/e[t.column]||0}),Q.type="bar"}$&&("radial"===E?console.error("pixelColumnWidth is not honored in radial mode"):"vertical"===E?De[0]=Ne.length*$:De[1]=Ne.length*$);const Fe="vertical"===E&&[0,De[0]]||[0,De[1]],Re=Ne.reduce((e,t)=>(e[t]=1/Ne.length*Fe[1],e.total+=e[t],e),{total:0}),Ve=V,Le=ke?t.scaleOrdinal():(null==Ve?void 0:Ve.domain)?Ve:Ve();let Be;Le.domain(Ne);const Ie=void 0===f||Array.isArray(f)?{extent:f,onChange:void 0,includeAnnotations:!1}:f;let _e=Ie.extent,We=[0,0];"bar"===Q.type&&Z.type&&"none"!==Z.type&&(Q.type="none");const Ye=[];if(Ie.includeAnnotations&&X&&te.forEach(e=>{X.forEach((t,a)=>{const n=e(t,a);isFinite(n)&&Ye.push(n)})}),"timeline"===Q.type){const e=je.map(e=>e.value),t=n.extent(e.map(e=>e[0])),a=n.extent(e.map(e=>e[1]));_e=n.extent([...t,...a,...Ye])}else if("bar"!==Q.type)_e=n.extent([...je.map(e=>e.value),...Ye]);else{const e=[],t=[],a={},o={};for(const n of je)0>n.value?(o[n.column]||(o[n.column]={column:n.column,value:0},t.push(o[n.column])),o[n.column].value+=n.value):(a[n.column]||(a[n.column]={column:n.column,value:0},e.push(a[n.column])),a[n.column].value+=n.value);const r=Ye.filter(e=>e>0);_e=[0,0===e.length&&0===r.length?0:Math.max(n.max([...e.map(e=>e.value),...r]),0)];const i=Ye.filter(e=>0>e);We=[0,0===t.length?0:Math.min(n.min([...t.map(e=>e.value),...i]),0)],_e=[We[1],_e[1]]}("clusterbar"===Q.type||Y)&&_e[0]>0&&(_e[0]=0);const Ke=_e;Ie.extent&&void 0!==Ie.extent[0]&&void 0!==Ie.extent[1]?_e=Ie.extent:(Ie.extent&&void 0!==Ie.extent[1]&&void 0===Ie.extent[0]&&(_e[1]=Ie.extent[1]),Ie.extent&&void 0!==Ie.extent[0]&&void 0===Ie.extent[1]&&(_e[0]=Ie.extent[0])),(e.invertR||Ie.extent&&Ie.extent[0]>Ie.extent[1])&&(_e=[_e[1],_e[0]]);const Je={};for(const e of je)Je[e.column]||(Je[e.column]=[]),Je[e.column].push(e);if(void 0!==x)Ne=Ne.sort((e,t)=>x(e,t,Je[e].map(e=>e.data),Je[t].map(e=>e.data))),Le.domain(Ne);else{const e={};for(const t of Ne)e[t]=n.sum(Je[t],e=>e.value);let t;if(ke){let e;t={},e="string"==typeof ke?e=>n.sum(e,e=>e.data[ke]):e=>ke(e.map(e=>e.data));for(const a of Ne)t[a]=e(Je[a])}Ne=Ne.sort((a,n)=>{const o=e[n]-e[a];return 0!==o?o:t?t[n]-t[a]:0}),Le.domain(Ne)}if(ke){let e;e="string"==typeof ke?e=>n.sum(e,e=>e.data[ke]):e=>ke(e.map(e=>e.data));const t=[0],a=[];Be=0,Ne.forEach(t=>{const n=je.filter(e=>e.column===t),o=e(n);a.push(o),Be+=o}),Re.total=0,Ne.forEach((e,n)=>{const o=a[n]/Be*(Fe[1]-Fe[0]);Re[e]=o,Re.total+=o,n!==Ne.length-1&&t.push(o+t[n])}),Le.range(t)}else Le.range(Fe);const et="vertical"===E&&[0,De[1]]||[0,De[0]],tt=L.domain?L:L(),at=tt(0);Ie.extent&&void 0!==Ie.extent[0]&&(isNaN(at)||at===-1/0||at===1/0)&&(_e[0]=Ie.extent[0]);const nt=tt.copy().domain(_e).range(et),ot=t.scaleLinear().domain(et).range(et.reverse()),rt=tt.copy().domain(_e).range(et),it=Re?0:Le.bandwidth();let st=[],lt=De[1];"vertical"===E&&(lt=De[0]);const ct=((e,t,a)=>{const n=e.domain(),o={};return n.forEach((r,i)=>{const s=e(r)-a,l=n[i+1]?e(n[i+1]):t;o[r]=s+(l-s)/2}),o})(Le,lt,K);st=Ne.map(e=>Je[e]?Je[e]:[]);let dt="vertical"===E?ot(nt(0)):nt(0);!isNaN(dt)&&dt!==-1/0&&dt!==1/0||!Ie.extent||void 0===Ie.extent[0]||at!==-1/0&&at!==1/0||(dt="vertical"===E?ot(nt(Ie.extent[0])):nt(Ie.extent[0])),Ne.forEach((t,a)=>{s[t]={name:t,padding:K,pieceData:st[a],pieces:st[a]},s[t].x=Le(t)+K/2,s[t].y=0,s[t].middle=ct[t]+K/2;let n=dt,o=dt,r=0;s[t].pieceData.forEach(e=>{let a;"timeline"===Q.type?(e.scaledValue=nt(e.value[0]),e.scaledEndValue=nt(e.value[1]),e.scaledVerticalValue=rt(e.value[0])):"bar"!==Q.type&&"clusterbar"!==Q.type?(e.scaledValue=nt(e.value),e.scaledVerticalValue=rt(e.value)):"clusterbar"===Q.type&&(a="vertical"===E?ot(nt(e.value)):nt(e.value),e.scaledValue=Math.abs(dt-a)),e.x=s[t].x,0>e.value?("bar"===Q.type&&(e.scaledValue=Math.abs("vertical"===E?nt(e.value)-nt(0):nt(e.value)-dt)),e.base=dt,e.bottom="bar"===Q.type?n:0,e.middle=n-e.scaledValue/2,n="vertical"===E?n+e.scaledValue:n-e.scaledValue,e.negative=!0):("bar"===Q.type&&(e.scaledValue="vertical"===E?o-ot(nt(r+e.value)):nt(r+e.value)-o,r+=e.value),e.base=dt,e.bottom="bar"===Q.type?o:0,e.middle=e.scaledValue/2+o,o="vertical"===E?o-e.scaledValue:o+e.scaledValue,e.negative=!1)}),Re?(s[t].width=Re[t]-K,"center"===e.ordinalAlign&&(0===a?(s[t].x=s[t].x-s[t].width/2,s[t].middle=s[t].middle-s[t].width/2):(s[t].x=s[Ne[a-1]].x+s[Ne[a-1]].width,s[t].middle=s[t].x+s[t].width/2)),s[t].pct=Re[t]/Re.total,s[t].pct_start=(s[t].x-Fe[0])/Re.total,s[t].pct_padding=K/Re.total,s[t].pct_middle=(s[t].middle-Fe[0])/Re.total):(s[t].width=it-K,"center"===e.ordinalAlign&&(s[t].x=s[t].x-s[t].width/2,s[t].middle=s[t].middle-s[t].width/2),s[t].pct=it/De[1],s[t].pct_start=(s[t].x-Fe[0])/De[1],s[t].pct_padding=K/De[1],s[t].pct_middle=(s[t].middle-Fe[0])/De[1])});const ut=[],pt=[],mt="object"==typeof D?Object.assign({label:!0,padding:5},D):{orient:"default",label:D,padding:5};if(D||w){const e=Q.offsetAngle&&Q.offsetAngle/360||0,a=Q.angleRange&&Q.angleRange.map(e=>e/360)||[0,1],n=a[1]-a[0],r=1>n?t.scaleLinear().domain([0,1]).range(a):e=>e;Ne.forEach(t=>{const a=o.arc().innerRadius(0).outerRadius(nt.range()[1]/2),i=s[t].pct*n,l=r(s[t].pct_start+e),c=l+i,d=l+i/2,u=a({startAngle:l*zt,endAngle:c*zt}),p=[De[0]/2,De[1]/2],m=a.centroid({startAngle:l*zt,endAngle:c*zt}),y=0>=m[1]||mt.orient&&"default"!==mt.orient&&"edge"!==mt.orient?0:8,h={startAngle:l,endAngle:c,midAngle:d,markD:u,translate:p,centroid:m,outerPoint:P([0,0],d,nt.range()[1]/2+mt.padding+y)};s[t].pieArc=h,pt.push(h)})}if(e.oLabel){let e;if("function"==typeof mt.label)e=mt.label;else{const t={textAnchor:"middle"};"horizontal"===E&&"right"===mt.orient?t.textAnchor="start":"horizontal"===E&&(t.textAnchor="end"),e=(e,a,n)=>{const o={};let r;if("radial"===E&&"stem"===mt.orient)r=`rotate(${0>pt[n].outerPoint[0]?360*pt[n].midAngle+90:360*pt[n].midAngle-90})`;else{if("radial"===E&&"annotation"===mt.orient){const{centroid:t}=pt[n],a=15*pt.filter((e,a)=>n>a&&0>t[0]==0>pt[a].centroid[0]&&0>t[1]==0>pt[a].centroid[1]).length;let o=7*e.length,r="start",i={dx:0,dy:0};return 0>t[0]?(r="end",o=-o,i.dx=-35):i.dx=35,i.dy=0>t[1]?-35-a:35+a,g.createElement("g",null,g.createElement("path",{fill:"none",stroke:"black",strokeWidth:2,d:`M0,0L${i.dx},${i.dy}L${i.dx+o},${i.dy}`}),g.createElement("text",{textAnchor:r,x:i.dx,y:i.dy-2},e))}"radial"===E&&"center"!==mt.orient&&(r=`rotate(${0>pt[n].outerPoint[1]?360*pt[n].midAngle:360*pt[n].midAngle+180})`)}return"radial"===E&&"stem"===mt.orient&&(pt[n].outerPoint[0]>0&&0>mt.padding||0>pt[n].outerPoint[0]&&mt.padding>=0)?o.textAnchor="end":"radial"===E&&"stem"===mt.orient&&(o.textAnchor="start"),g.createElement("text",Object.assign({},t,o,{transform:r}),e)}}if(Ne.forEach((t,a)=>{let n=s[t].middle,o=0;"horizontal"===E?(o=s[t].middle,n="right"===mt.orient?De[0]+3:-3):"radial"===E&&("annotation"===mt.orient?(n=.25*pt[a].centroid[0]+.75*pt[a].outerPoint[0]+pt[a].translate[0],o=.25*pt[a].centroid[1]+.75*pt[a].outerPoint[1]+pt[a].translate[1]):"center"===mt.orient?(n=pt[a].centroid[0]+pt[a].translate[0],o=pt[a].centroid[1]+pt[a].translate[1]):(n=pt[a].outerPoint[0]+pt[a].translate[0],o=pt[a].outerPoint[1]+pt[a].translate[1]));const r=mt.labelFormatter?mt.labelFormatter(t):t,i=e(r,s[t].pieceData.map(e=>e.data),a,s[t]);ut.push(g.createElement("g",{key:"olabel-"+a,transform:`translate(${n},${o})`},i))}),"vertical"===E){let e;e="top"===mt.orient?-15:15+nt.range()[1],i=g.createElement("g",{key:"ordinalframe-labels-container",className:"ordinal-labels",transform:`translate(0,${e})`},ut)}else("horizontal"===E||"radial"===E)&&(i=g.createElement("g",{key:"ordinalframe-labels-container",className:"ordinal-labels"},ut))}const yt=(e.hoverAnnotation||e.pieceHoverAnnotation)&&-1!==["bar","clusterbar","timeline"].indexOf(Q.type);let ht;yt||e.summaryHoverAnnotation||!(e.hoverAnnotation||e.customClickBehavior||e.customDoubleClickBehavior||e.customHoverBehavior)||(Oe=$e?function({oExtent:e,projectedColumns:t,rScale:a,pieArcs:n,padding:o,projection:r,customDoubleClickBehavior:i,customClickBehavior:s,customHoverBehavior:l}){return e.map((e,c)=>{const d=t[e].width;let u=t[e].x,p=0,m=a.range()[1],y=d+o;if("horizontal"===r&&(p=t[e].x,u=0,y=a.range()[1],m=d),"radial"===r){const{markD:o,centroid:r,translate:d,midAngle:u}=n[c],p={type:"column-hover",column:t[e],pieces:t[e].pieceData,summary:t[e].pieceData,arcAngles:{centroid:r,translate:d,midAngle:u,length:a.range()[1]/2}};return{markType:"path",key:"hover"+e,d:o,transform:`translate(${d.join(",")})`,style:{opacity:0},overlayData:p,onDoubleClick:i&&(e=>{i(p,e)}),onClick:s&&(e=>{s(p,e)}),onMouseEnter:l&&(e=>{l(p,e)}),onMouseLeave:l&&(e=>{l(e)})}}const h={type:"column-hover",column:t[e],pieces:t[e].pieceData,summary:t[e].pieceData};return{markType:"rect",key:"hover-"+e,x:u,y:p,height:m,width:y,style:{opacity:0},onDoubleClick:i&&(e=>{i(h,e)}),onClick:s&&(e=>{s(h,e)}),onMouseEnter:l&&(e=>{l(h,e)}),onMouseLeave:e=>{l(void 0,e)},overlayData:h}})}({oExtent:Ne,projectedColumns:s,rScale:nt,pieArcs:pt,padding:K,projection:E,customDoubleClickBehavior:M,customClickBehavior:S,customHoverBehavior:O}):a.columnOverlays);const ft=Q.type&&"none"!==Q.type?Q.type:"point",gt=("function"==typeof ft?ft:$t[ft])({type:Q,data:s,renderMode:de,eventListenersGenerator:ne,styleFn:ie,projection:E,classFn:se,adjustedSize:De,chartSize:A,margin:Ce,rScale:nt}),xt=gt.reduce((e,t)=>(t.o&&(e[t.o]||(e[t.o]=[]),e[t.o].push(t)),e),{});Object.keys(s).forEach(e=>{s[e].xyData=xt[e]||[]});let vt={};Z.type&&"none"!==Z.type&&(vt=Ge({data:s,type:Z,renderMode:ue,styleFn:re,classFn:le,projection:E,eventListenersGenerator:ne,adjustedSize:De,margin:Ce,axisCreator:Ot}),vt.originalData=s);const bt="horizontal"===E?Pt:Ct,kt="vertical"===E?Pt:Ct,jt=gt.map(e=>e.piece&&e.xy?Object.assign(Object.assign({},e.piece),{type:"frame-hover",x:e.xy.x+kt(e.xy),y:e.xy.y+bt(e.xy)}):null).filter(e=>e);((w||T)&&-1===["bar","clusterbar","timeline"].indexOf(Q.type)||N)&&(N&&vt.xyPoints?ht=vt.xyPoints.map(e=>Object.assign({},e,{type:"frame-hover",isSummaryData:!0,x:e.x,y:e.y})):(w||T)&>&&(ht=jt));const{axis:Et,axesTickLines:St}=(({projection:e,axis:t,adjustedSize:a,size:n,rScale:o,rScaleType:r,pieceType:i,rExtent:s,data:l,maxColumnValues:c=1,xyData:d,margin:u,thresholds:p})=>{if(!t)return{axis:void 0,axesTickLines:void 0};let m,y;if("radial"!==e&&t){y=[];const i=[0,0];m=t.map((t,s)=>{let m,h=t.className||"";const f=t.extentOverride?t.extentOverride:o.domain(),x=["left","right"],v=-1===x.indexOf(t.orient)&&"vertical"!==e||-1!==x.indexOf(t.orient)&&"horizontal"!==e?r.domain(f):r.domain([0,c]),b=t.orient,k=-1===x.indexOf(t.orient)&&"vertical"!==e||-1!==x.indexOf(t.orient)&&"horizontal"!==e?o.range():[0,"vertical"===e?a[0]:a[1]];"right"===b?(v.range(k.reverse()),h+=" right y"):"left"===b?(h+=" left y",v.range(k.reverse())):"top"===b?(h+=" top x",v.range(k)):"bottom"===b&&(h+=" bottom x",v.range(k)),t.tickValues&&Array.isArray(t.tickValues)?m=t.tickValues:t.tickValues instanceof Function?m=t.tickValues(l,n,o):!t.tickValues&&p&&(m=p.map(e=>o.invert(e)));const j=Me({padding:t.padding,tickValues:m,scale:v,ticks:t.ticks,orient:b,size:a,footer:t.footer,tickSize:t.tickSize,jaggedBase:t.jaggedBase}),E=Ae({className:t.className,axisParts:j,orient:b,tickLineGenerator:t.tickLineGenerator,jaggedBase:t.jaggedBase,scale:v});return y.push(E),"under"===t.baseline&&y.push(((e,t,a)=>{const n={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 g.createElement("line",{key:"baseline",className:"axis-baseline "+a,stroke:"currentColor",strokeLinecap:"square",x1:n.x,x2:n.x+n.width,y1:n.y,y2:n.y+n.height})})(t.orient,a,t.className)),g.createElement(qe,Object.assign({},t,{key:t.key||"orframe-axis-"+s,axisParts:j,orient:b,size:a,position:i,tickValues:m,scale:v,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}=i,n=[];t.forEach(t=>{const{tickValues:i=o.ticks(Math.max(2,(a[0]/2-e)/50)),label:l,tickFormat:c=e=>e}=t,d=r.domain(s).range([e,a[0]/2]),u=i instanceof Function?i({orient:t.orient}):i;u.forEach((t,a)=>{const o=d(t);if(0!==e||0!==t){let e,i="";if(l&&a===u.length-1){const t="string"==typeof l?{locationDistance:15}:l,{locationDistance:a=15}=t;i=Math.random()+" ",e=g.createElement("g",{className:"axis-label radial",transform:`translate(0,${a})`},g.createElement("text",{textAnchor:"middle"},g.createElement("textPath",{startOffset:o*Math.PI*.5,xlinkHref:"#"+i},l.name)))}n.push(g.createElement("g",{key:"orframe-radial-axis-element-"+t,className:"axis axis-label axis-tick radial",transform:"translate(0,0)"},g.createElement("path",{id:i,d:(r=o,["M",Xe(0-r),Xe(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"}),g.createElement("text",{y:5-o,textAnchor:"middle"},c(t)),e))}var r})}),m=[g.createElement("g",{key:t[0].key||"orframe-radial-axis-container",className:"axis-labels",transform:`translate(${a[0]/2},${a[1]/2})`},n)]}return{axis:m,axesTickLines:y}})({axis:Pe,data:je,projection:E,adjustedSize:De,size:A,rScale:nt,rScaleType:tt.copy(),pieceType:Q,rExtent:_e,maxColumnValues:Be,xyData:jt,margin:Ce,thresholds:vt.thresholds});return Object.assign({pieceDataXY:ht,oAccessor:ee,rAccessor:te,summaryType:Z,type:Q},function(e){const{usesPieceOverlays:t,shouldRecalculateOverlay:a,calculatedPieceData:n,projection:o,customClickBehavior:r,customDoubleClickBehavior:i,customHoverBehavior:s,currentState:l,connectorStyle:c,connectorClass:d,connectorRenderMode:u,connectorCanvasRender:p,summaryCanvasRender:m,pieceCanvasRender:y,connectorType:h,eventListenersGenerator:f,pieceType:x,summaryStyle:v,summaryClass:b,pieceStyle:k,pieceClass:j,keyedData:E,oExtent:O,projectedColumns:S,calculatedSummaries:M,oAccessor:A,rScale:$,calculatedRExtent:P,calculatedOExtent:z,rExtentSettings:D,oExtentSettings:w,adjustedPosition:T,adjustedSize:N,margin:F,backgroundGraphics:R,foregroundGraphics:V,arrayWrappedAxis:L,axis:B,axesTickLines:I,oLabels:_,title:G,oScaleType:W,instantiatedRScaleType:H,oScale:q,rExtent:Y,legend:X,pieceIDAccessor:K,currentProps:Z}=e;let{columnOverlays:Q}=e;if(t){const e="horizontal"===o?Pt:Ct,t="vertical"===o?Pt:Ct;Q=a?n.map((a,n)=>{const o=Object.assign(Object.assign({},a.piece),{x:a.xy.x+t(a.xy),y:a.xy.y+e(a.xy)});return g.isValidElement(a.renderElement)?{renderElement:a.renderElement,overlayData:o}:Object.assign(Object.assign({},a.renderElement),{key:"hover-"+n,style:{opacity:0},overlayData:o,onClick:r&&(e=>{r(o.data,e)}),onDoubleClick:i&&(e=>{i(o.data,e)}),onMouseEnter:s&&(e=>{s(o.data,e)}),onMouseLeave:s&&(e=>{s(void 0,e)})})}):l.columnOverlays}const U={connectors:{accessibleTransform:(e,t)=>e[t],projection:o,data:{keyedData:E,oExtent:O},styleFn:c,classFn:d,renderMode:u,canvasRender:p,behavior:Ue,type:h,eventListenersGenerator:f,pieceType:x},summaries:{accessibleTransform:(e,t)=>{const a=O[t];return{type:"column-hover",column:S[a],pieces:S[a].pieceData,summary:S[a].pieceData,oAccessor:A}},data:M.marks,behavior:He,canvasRender:m,styleFn:v,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:x.type&&"none"!==x.type,data:n,behavior:C,canvasRender:y,styleFn:k,classFn:j,axis:L,ariaLabel:void 0!==x.type&&"function"!=typeof x.type&&Dt[x.type]||{items:"piece",chart:"ordinal chart"}}};let J;if(D.onChange&&(l.calculatedRExtent||[]).join(",")!==(P||[]).join(",")&&D.onChange(P),w.onChange&&(l.calculatedOExtent||[]).join(",")!==(z||[]).join(",")&&w.onChange(z),X&&(J=!0===X?{}:Object.assign({},X),J.legendGroups)){const e=new Map(O.map((e,t)=>[e,t]));J.legendGroups=J.legendGroups.map(t=>Object.assign(Object.assign({},t),{items:[...t.items].sort((t,a)=>(e.has(t.label)?e.get(t.label):1/0)-(e.has(a.label)?e.get(a.label):1/0))}))}return{adjustedPosition:T,adjustedSize:N,backgroundGraphics:R,foregroundGraphics:V,axisData:L,axes:B,axesTickLines:I,oLabels:{labels:_},title:G,columnOverlays:Q,renderNumber:l.renderNumber+1,oScaleType:W,rScaleType:H,oExtent:O,rExtent:Y,oScale:q,rScale:$,calculatedOExtent:z,calculatedRExtent:P,projectedColumns:S,margin:F,legendSettings:J,orFrameRender:U,pieceIDAccessor:K,props:Z}}({usesPieceOverlays:yt,shouldRecalculateOverlay:$e,calculatedPieceData:gt,projection:E,customClickBehavior:S,customDoubleClickBehavior:M,customHoverBehavior:O,currentState:a,connectorStyle:oe,connectorClass:ce,connectorRenderMode:pe,connectorCanvasRender:he,summaryCanvasRender:ye,pieceCanvasRender:me,connectorType:U,eventListenersGenerator:ne,pieceType:Q,summaryStyle:re,summaryClass:le,pieceStyle:ie,pieceClass:se,keyedData:xt,oExtent:Ne,projectedColumns:s,calculatedSummaries:vt,oAccessor:ee,rScale:nt,calculatedRExtent:Ke,calculatedOExtent:Te,rExtentSettings:Ie,oExtentSettings:we,adjustedPosition:ze,adjustedSize:De,margin:Ce,backgroundGraphics:F,foregroundGraphics:R,arrayWrappedAxis:Pe,axis:Et,axesTickLines:St,oLabels:i,title:fe,columnOverlays:Oe,oScaleType:V,instantiatedRScaleType:tt,oScale:Le,rExtent:_e,legend:B,pieceIDAccessor:ge,currentProps:e}))};const Tt=t.scaleLinear(),Nt=t.scaleLinear(),Ft={y:"y",x:"x"},Rt={top:0,bottom:0,left:0,right:0},Vt={annotations:[],foregroundGraphics:[],projection:"vertical",size:[500,500],className:"",data:[],oScaleType:t.scaleBand(),rScaleType:t.scaleLinear,type:"none",optimizeCustomTooltipPosition:!1};function Lt(r){const i=Object.assign(Object.assign({},Vt),r),s=e.useRef({marginCalc:k.default((e,t,a,n,o,r)=>{const i=(({margin:e,axes:t,title:a,oLabel:n,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 i={top:0,bottom:0,left:0,right:0};let s="left";t&&"radial"!==o&&t.forEach(e=>{s=e.orient,i[s]=e.label?60:50});const{title:l,orient:c}=Ye(a);return!l||"string"==typeof l&&0===l.length||(i[c]+=40),n&&"radial"!==o&&("bottom"===s||"top"===s?i.left+=50:i.bottom+=50),i})({margin:e,axes:t,title:a,oLabel:n,projection:o,size:r}),{adjustedPosition:s,adjustedSize:l}=function({size:e=[500,500],position:t=[0,0],margin:a,projection:n}){const o=[t[0],t[1]];let r=[e[0]-(a.left+a.right),e[1]-(a.top+a.bottom)];if("radial"===n){const e=Math.min(r[0],r[1]);r=[e,e]}return{adjustedPosition:o,adjustedSize:r}}({size:r,margin:i,projection:o});return{margin:i,adjustedPosition:s,adjustedSize:l}}),structureData:k.default((e,t,a,n,o,r,i)=>Qe({data:e,renderKey:t,oAccessor:a,rAccessor:n,originalRAccessor:o,originalOAccessor:r,multiAxis:i})),accessorConversions:k.default((e,t,a,n)=>({oAccessor:jt(e,e=>e.renderKey),rAccessor:jt(t,e=>e.value||1),renderKey:kt(a,(e,t)=>t),pieceIDAccessor:kt(n,()=>"")})),styleFns:k.default((e,t,a,n,o,r,i,s,l,c,d,u)=>({connectorStyle:kt(e,()=>({}),!0),summaryStyle:kt(t,()=>({}),!0),pieceStyle:kt(a,()=>({}),!0),pieceClass:kt(n,()=>"",!0),summaryClass:kt(o,()=>"",!0),connectorClass:kt(r,()=>"",!0),pieceRenderMode:kt(i,void 0,!0),summaryRenderMode:kt(s,void 0,!0),connectorRenderMode:kt(l,void 0,!0),pieceCanvasRender:kt(c,void 0,!0),summaryCanvasRender:kt(d,void 0,!0),connectorCanvasRender:kt(u,void 0,!0)}))}),l={adjustedPosition:[],adjustedSize:[],backgroundGraphics:void 0,foregroundGraphics:void 0,axisData:void 0,renderNumber:0,oLabels:{labels:[]},oAccessor:jt("renderKey"),rAccessor:jt("value"),oScale:t.scaleBand(),rScale:t.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:t.scaleBand(),orFrameRender:{},pieceDataXY:[],pieceIDAccessor:kt("semioticPieceID"),projectedColumns:{},rExtent:[],rScaleType:t.scaleLinear(),summaryType:{type:"none"},title:{},type:{type:"none"},props:i},c=e.useMemo(()=>Object.assign(Object.assign({},l),wt(i,l,s.current)),[]),d=function(t,a,n){let o=e.useRef(n),r=e.useMemo(()=>{let e=o.current,t=function(e,t,a){const{props:n}=t,o=!t.dataVersion&&j.some(t=>n[t]!==e[t]),r=!t.dataVersion&&E.some(t=>n[t]!==e[t]);return t.dataVersion&&t.dataVersion!==e.dataVersion||!t.projectedColumns||o||n.size[0]!==e.size[0]||n.size[1]!==e.size[1]||r?Object.assign(Object.assign({},wt(e,t,a)),{props:e}):{props:e}}(a,e,s.current);return null!=t?Object.assign(Object.assign({},e),t):e},[a]);return o.current=r,r}(0,i,c);!function(t,a){let n=e.useRef();n.current=[t,a],e.useEffect(()=>()=>{const[e,t]=n.current,a=e.onUnmount;a&&a(e,t)},[])}(i,d);const u=e.useRef(i);u.current=i;const p=e.useRef(d);p.current=d;const m=e.useCallback(e=>function(e,t,{d:r,i:i,annotationLayer:s}){const{projection:l,svgAnnotationRules:c}=e,{adjustedPosition:d,adjustedSize:u,oAccessor:p,rAccessor:m,oScale:y,rScale:h,projectedColumns:f,orFrameRender:x,pieceIDAccessor:v,rScaleType:b,summaryType:k,type:j}=t;let E=[0,0];if(r.isColumnAnnotation){const{coordinates:[e,t]}=B({d:r,projectedColumns:f,oAccessor:p,summaryType:k,type:j,projection:l,adjustedPosition:d,adjustedSize:u});E=[e,t]}else if(r.coordinates||"enclose"===r.type&&r.neighbors)E=(r.coordinates||r.neighbors).map(e=>{const t=z(p,e)||e.column,a=f[t],n=I(v,a,e);return _({p:e,adjustedSize:u,rScale:h,rAccessor:m,idPiece:n,projection:l,oColumn:a,rScaleType:b})});else{const e=z(p,r)||r.column,t=f[e],a=I(v,t,r);E=_({p:r,adjustedSize:u,rScale:h,rAccessor:m,idPiece:a,projection:l,oColumn:t,rScaleType:b})}const{voronoiHover:S}=s,M=c&&c({d:r,i:i,oScale:y,rScale:h,oAccessor:p,rAccessor:m,orFrameProps:e,orFrameState:t,screenCoordinates:E,adjustedPosition:d,adjustedSize:u,annotationLayer:s,categories:f,voronoiHover:S});return c&&null!==M?M:"desaturation-layer"===r.type?(({style:e={fill:"white",fillOpacity:.5},size:t,i:a,key:n})=>g.createElement("rect",{"data-testid":"desaturation-layer",key:n||"desaturation-"+a,x:-5,y:-5,width:t[0]+10,height:t[1]+10,style:e}))({style:r.style instanceof Function?r.style(r,i):r.style,size:u,i:i,key:r.key}):"ordinal-line"===r.type?(({screenCoordinates:e,d:t,voronoiHover:a})=>{const n=o.line().x(e=>e[0]).y(e=>e[1]);t.curve&&n.curve(T[t.curve]||t.curve);const r="function"==typeof t.lineStyle?t.lineStyle(t):t.lineStyle||{};return g.createElement("g",{key:"ordinal-line-annotation"},g.createElement("path",{stroke:"currentColor",fill:"none",style:r,d:n(e)}),(t.points||t.interactive)&&e.map((e,n)=>{const o="function"==typeof t.pointStyle?t.pointStyle(t.coordinates[n],n):t.pointStyle||{};return g.createElement("g",{transform:`translate(${e[0]},${e[1]})`,key:"ordinal-line-point-"+n},t.points&&g.createElement("circle",{style:o,r:t.radius||5,fill:"currentColor"}),t.interactive&&g.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:r,screenCoordinates:E,voronoiHover:S}):"or"===r.type?(({d:e,i:t,screenCoordinates:a,projection:n})=>g.createElement("text",{key:`${e.label}annotationtext${t}`,x:parseInt(a[0]+("horizontal"===n?10:0)),y:parseInt(a[1]+("vertical"===n?10:0)),className:"annotation annotation-or-label "+(e.className||""),"data-testid":"annotation-or-label",textAnchor:"middle"},e.label))({d:r,i:i,screenCoordinates:E,projection:l}):"highlight"===r.type?(({d:e,pieceIDAccessor:t,orFrameRender:a,oAccessor:n})=>{const o=t(e),r=z(n,e),{pieces:i}=a,{styleFn:s}=i;return[...i&&i.data.filter(e=>!(void 0!==o&&t(Object.assign(Object.assign({},e.piece),e.piece.data))!==o||void 0!==r&&z(n,e.piece.data)!==r)).map((t,a)=>{let n={style:s(Object.assign(Object.assign({},t.piece),t.piece.data))};e.style&&"function"==typeof e.style?n={style:Object.assign(Object.assign({},n),e.style(Object.assign(Object.assign({},t.piece),t.piece.data)))}:e.style&&(n={style:Object.assign(Object.assign({},n),e.style)});const o=Object.assign(Object.assign({},t.renderElement),n),r="highlight-annotation "+(e.class&&"function"==typeof e.class&&e.class(t.piece.data,a)||e.class&&e.class||"");if(g.isValidElement(t.renderElement))return g.cloneElement(t.renderElement,Object.assign(Object.assign({},n),{className:r}));const{markType:i}=o,l=O(o,["markType"]);return g.createElement(i||"path",Object.assign(Object.assign({fill:"none",stroke:"currentColor",strokeWidth:"2px",key:"highlight-piece-"+a},l),{className:r}))})||[]]})({d:r,pieceIDAccessor:v,orFrameRender:x,oAccessor:p}):"function"==typeof r.type||Bt.has(r.type)?(({d:e,i:t,screenCoordinates:a})=>{const n=Object.assign({dx:0,dy:0,note:{label:e.label,orientation:e.orientation,align:e.align},connector:{end:"arrow"}},e,{x:a[0],y:a[1],type:"function"==typeof e.type?e.type:void 0,screenCoordinates:a});return e.fixedX&&(n.x=e.fixedX),e.fixedY&&(n.y=e.fixedY),g.createElement($,{key:e.key||"annotation-"+t,noteData:n})})({d:r,i:i,screenCoordinates:E}):"enclose"===r.type?(({d:e,i:t,screenCoordinates:n})=>(({d:e,i:t,circle:a})=>{const{padding:n=2,radiusPadding:o=n,label:r}=e,i=Object.assign({dx:0,dy:0,note:{label:r},connector:{end:"arrow"}},e,{coordinates:void 0,x:a.x,y:a.y,type:"callout-circle",subject:{radius:a.r,radiusPadding:o},i:t});if(i.rp)switch(i.rp){case"top":i.dx=0,i.dy=-a.r-i.rd;break;case"bottom":i.dx=0,i.dy=a.r+i.rd;break;case"left":i.dx=-a.r-i.rd,i.dy=0;break;default:i.dx=a.r+i.rd,i.dy=0}return g.createElement($,{key:e.key||"annotation-"+t,noteData:i})})({d:e,i:t,circle:a.packEnclose(n.map(e=>({x:e[0],y:e[1],r:2})))}))({d:r,i:i,screenCoordinates:E}):"enclose-rect"===r.type?(({d:e,i:t,screenCoordinates:a})=>(({bboxNodes:e,d:t,i:a})=>{const{padding:n=0,dx:o=-25,dy:r=-25,label:i}=t,s=[[Math.min(...e.map(e=>e.x0))-n,Math.min(...e.map(e=>e.y0))-n],[Math.max(...e.map(e=>e.x1))+n,Math.max(...e.map(e=>e.y1))+n]],l=Object.assign({dx:o,dy:r,note:{label:i},connector:{end:"arrow"}},t,{type:"callout-rect",x:s[0][0],y:s[0][1],subject:{width:s[1][0]-s[0][0],height:s[1][1]-s[0][1]}});return g.createElement($,{key:t.key||"annotation-"+a,noteData:l})})({bboxNodes:a.map(e=>({x0:e.x0=e[0],x1:e.x1=e[0],y0:e.y0=e[1],y1:e.y1=e[1]})),d:e,i:t}))({d:r,screenCoordinates:E,i:i}):"r"===r.type?(({d:e,i:t,screenCoordinates:a,rScale:n,rAccessor:o,adjustedSize:r,adjustedPosition:i,projection:s})=>{let l,c,d,u,p,m,y;if("radial"===s)return g.createElement($,{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:n(z(o,e))/2,radiusPadding:0},x:r[0]/2,y:r[1]/2})});"horizontal"===s?(m=50,y=50,u=e.offset||25*t,l=a[0],c=u,p={x:l,y1:0,y2:r[1]+i[1]}):(m=50,y=-20,d=e.offset||25*t,c=a[1],l=d,p={y:c,x1:0,x2:r[0]+i[0]});const h=Object.assign({dx:m,dy:y,note:{label:e.label},connector:{end:"arrow"}},e,{type:"xy-threshold",x:l,y:c,subject:p});return g.createElement($,{key:e.key||"annotation-"+t,noteData:h})})({d:r,i:i,screenCoordinates:E,rScale:h,rAccessor:m,projection:l,adjustedSize:u,adjustedPosition:d}):"category"===r.type?(({projection:e,d:t,i:a,categories:o,adjustedSize:r})=>{const{bracketType:i="curly",position:s=("vertical"===e?"top":"left"),depth:l=30,offset:c=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=n.min(u.map(t=>t.pct_start+t.pct_padding/2+e/2)),s=n.max(u.map(t=>t.pct_start+t.pct-t.pct_padding/2-e/2)),p=Math.min(r[0],r[1])/2,m=r[0]/2,y=r[1]/2,{arcPath:h,textArcPath:f}=function({x:e,y:t,radius:a,startAngle:n,endAngle:o,inset:r,outset:i,curly:s=!0}){const l=V(e,t,a+i,o),c=V(e,t,a+i,n),d=V(e,t,a+i-r,o),u=V(e,t,a+i-r,n),p=o-n,m=p>180?"1":"0";let y;if(s){const r=Math.min(10,p/4),s=V(e,t,a+i,(n+o)/2+r),m=V(e,t,a+i+10,(n+o)/2),h=V(e,t,a+i,(n+o)/2-r);y=["M",d.x,d.y,"L",l.x,l.y,"A",a+i,a+i,0,0,0,s.x,s.y,"A",a+i,a+i,1,0,1,m.x,m.y,"A",a+i,a+i,1,0,1,h.x,h.y,"A",a+i,a+i,0,0,0,c.x,c.y,"L",u.x,u.y].join(" ")}else y=["M",d.x,d.y,"L",l.x,l.y,"A",a+i,a+i,0,m,0,c.x,c.y,"L",u.x,u.y].join(" ");const h=(n+o)/2;let f,g,x,v,b;const k=h>90&&270>h;k?(f=12,g=o-n>180?"1":"0",b=0):(g=o-n>180?"1":"0",f=5,b=1),f+=s?10:0;const j=V(e,t,a+i+f,o),E=V(e,t,a+i+f,n);return k?(v=j,x=E):(v=E,x=j),{arcPath:y,textArcPath:["M",v.x,v.y,"A",a+i+f,a+i+f,b,g,b,x.x,x.y].join(" ")}}({x:0,y:0,radius:p,startAngle:360*o,endAngle:360*s,inset:l,outset:c,curly:"curly"===i}),x=`text-path-${a}-${Math.random()}`;return g.createElement("g",{className:"category-annotation annotation",transform:`translate(${m},${y})`},g.createElement("path",{d:h,fill:"none",stroke:"currentColor"}),g.createElement("path",{id:x,d:f,style:{display:"none"}}),g.createElement("text",{"font-size":"12.5"},g.createElement("textPath",{startOffset:"50%",textAnchor:"middle",xlinkHref:"#"+x},t.label)))}{const o=n.min(u.map(e=>e.x)),p=n.max(u.map(e=>e.x+e.width));if("vertical"===e){let e="top"===s?0:r[1];return e+="top"===s?-c:c,g.createElement($,{key:t.key||"annotation-"+a,noteData:{type:"bracket",y:e,x:o-d,note:{title:t.title||t.label,label:t.title?t.label:void 0},subject:{type:i,width:p-o+2*d,depth:"top"===s?-l:l}}})}if("horizontal"===e){let e="left"===s?0:r[0];return e+="left"===s?-c:c,g.createElement($,{key:t.key||"annotation-"+a,noteData:{type:"bracket",x:e,y:o-d,note:{title:t.title||t.label,label:t.title?t.label:void 0},subject:{type:i,height:p-o+2*d,depth:"left"===s?-l:l}}})}}})({projection:l,d:r,i:i,categories:t.projectedColumns,adjustedSize:u}):null}(u.current,p.current,e),[]),y=e.useCallback(e=>function(e,t,{d:a,i:o,annotationLayer:r}){const{adjustedPosition:i,adjustedSize:s,oAccessor:l,rAccessor:c,oScale:d,rScale:u,projectedColumns:p,summaryType:m,type:y,pieceIDAccessor:h,rScaleType:f}=t,{htmlAnnotationRules:x,tooltipContent:v,optimizeCustomTooltipPosition:b,projection:k}=e;let j=[0,0];const{voronoiHover:E}=r;if(a.coordinates||"enclose"===a.type&&a.neighbors)j=(a.coordinates||a.neighbors).map(e=>{const t=z(l,e)||e.column,a=p[t],n=I(h,a,e);return _({p:e,adjustedSize:s,rScale:u,rAccessor:c,idPiece:n,projection:k,oColumn:a,rScaleType:f})});else if("column-hover"===a.type){const{coordinates:[e,t]}=B({d:a,projectedColumns:p,oAccessor:l,summaryType:m,type:y,projection:k,adjustedPosition:i,adjustedSize:s});j=[e,t]}else{const e=z(l,a)||a.column,t=p[e],n=I(h,t,a);j=_({p:a,adjustedSize:s,rScale:u,rAccessor:c,idPiece:n,projection:k,oColumn:t,rScaleType:f})}const O="vertical"===k?f.domain(u.domain()).range(u.range().reverse()):u,S=x&&x({d:a,i:o,oScale:d,rScale:O,oAccessor:l,rAccessor:c,orFrameProps:e,screenCoordinates:j,adjustedPosition:i,adjustedSize:s,annotationLayer:r,orFrameState:t,categories:t.projectedColumns,voronoiHover:E});return x&&null!==S?S:"frame-hover"===a.type?(({d:e,i:t,rAccessor:a,oAccessor:o,projection:r,tooltipContent:i,optimizeCustomTooltipPosition:s,pieceIDAccessor:l,projectedColumns:c,adjustedSize:d,rScale:u,type:p,rScaleType:m})=>{let y;i="pie"===i?()=>L({column:e.column}):i;const h=c[z(o,e)||e.column],f=I(l,h,e);if(!f)return null;const x=("clusterbar"===p.type||"point"===p.type||"swarm"===p.type)&&void 0!==e.x&&void 0!==e.y||e.isSummaryData?[e.x,e.y]:_({p:e,adjustedSize:d,rScale:u,oColumn:h,rAccessor:a,idPiece:f,projection:r,rScaleType:m});if(e.isSummaryData){let t=e.label;e.pieces&&0!==e.pieces.length&&(1===e.pieces.length?(t=[],a.forEach(a=>{t.push(a(e.pieces[0].data))})):(t=[],a.forEach(a=>{const o=n.extent(e.pieces.map(e=>e.data).map(a));t.push(`From ${o[0]} to ${o[1]}`)})));const o=g.createElement("p",{key:"html-annotation-content-2"},t);y=[g.createElement("p",{key:"html-annotation-content-1"},e.key),o,g.createElement("p",{key:"html-annotation-content-3"},e.value)]}else e.data?(y=[],o.forEach((e,t)=>{if(f.data){const a=R(e,f.data);y.push(g.createElement("p",{key:"html-annotation-content-o-"+t},a))}}),a.forEach((e,t)=>{if(f.data){const a=R(e,f.data);y.push(g.createElement("p",{key:"html-annotation-content-r-"+t},a))}})):e.label&&(y=e.label);let v=g.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},y);if("frame-hover"===e.type&&i&&f){const e=Object.assign(Object.assign(Object.assign({},f),f.data),{column:h,pieces:h?h.pieceData.map(e=>e.data):[]});v=s?g.createElement(F,{tooltipContent:i,tooltipContentArgs:e}):i(e)}const b=parseInt(x[0]),k=d&&b>d[0]/2,j={position:"absolute",top:parseInt(x[1])+"px"};return k?j.right=d[0]-b+"px":j.left=b+"px",g.createElement("div",{key:"xylabel-"+t,className:`annotation annotation-or-label ${r} ${e.className||""}`,"data-testid":"annotation-or-label",style:j},v)})({d:a,i:o,rAccessor:c,oAccessor:l,projection:k,tooltipContent:v,optimizeCustomTooltipPosition:b,projectedColumns:p,pieceIDAccessor:h,adjustedSize:s,rScale:u,type:y,rScaleType:f}):"column-hover"===a.type?(({d:e,i:t,summaryType:a,oAccessor:o,type:r,adjustedPosition:i,adjustedSize:s,projection:l,tooltipContent:c,optimizeCustomTooltipPosition:d,projectedColumns:u})=>{const{coordinates:[p,m],pieces:y,column:h}=B({d:e,projectedColumns:u,oAccessor:o,summaryType:a,type:r,projection:l,adjustedPosition:i,adjustedSize:s});if(void 0===h)return null;const f=[];o.forEach((e,t)=>{if(y[0].data){const a=R(e,y[0].data);f.push(g.createElement("p",{key:"or-annotation-o-"+t},a))}});let x=g.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},f,g.createElement("p",{key:"or-annotation-2"},n.sum(y.map(e=>e.value).filter(e=>e>0))));if("column-hover"===e.type&&c){"pie"===c&&(c=L);const t=Object.assign(Object.assign({},e),{pieces:y.map(e=>e.data),column:h,oAccessor:o});x=d?g.createElement(F,{tooltipContent:c,tooltipContentArgs:t}):c(t)}else e.label&&(x=g.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},e.label));const v=parseInt(p),b=s&&v>s[0]/2,k={position:"absolute",top:parseInt(m)+"px"};return b?k.right=s[0]-v+"px":k.left=v+"px",g.createElement("div",{key:"orlabel-"+t,className:`annotation annotation-or-label ${l} ${e.className||""}`,"data-testid":"annotation-or-label",style:k},x)})({d:a,i:o,summaryType:m,oAccessor:l,projectedColumns:p,type:y,adjustedPosition:i,adjustedSize:s,projection:k,tooltipContent:v,optimizeCustomTooltipPosition:b}):null}(u.current,p.current,e),[]),{className:h,annotationSettings:f,annotations:x,matte:v,renderKey:b,interaction:S,customClickBehavior:M,customHoverBehavior:A,customDoubleClickBehavior:P,projection:C,backgroundGraphics:D,foregroundGraphics:w,afterElements:N,beforeElements:G,disableContext:W,summaryType:H,summaryHoverAnnotation:q,pieceHoverAnnotation:Y,hoverAnnotation:X,canvasPostProcess:K,canvasPieces:Z,canvasSummaries:Q,canvasConnectors:U,renderOrder:J,additionalDefs:ee,sketchyRenderingEngine:te,frameRenderOrder:ae,disableCanvasInteraction:ne,disableProgressiveRendering:oe,transition:re}=i,{orFrameRender:ie,projectedColumns:se,adjustedPosition:le,adjustedSize:ce,legendSettings:de,columnOverlays:ue,axesTickLines:pe,axes:me,margin:ye,pieceDataXY:he,oLabels:fe,title:ge}=d,xe=[ce[0]+ye.left+ye.right,ce[1]+ye.top+ye.bottom];let ve;H&&H.amplitude&&(ve="horizontal"===C?{top:H.amplitude,bottom:0,left:0,right:0}:"radial"===C?Rt:{top:0,bottom:0,left:H.amplitude,right:0});const be=e.useMemo(()=>"function"==typeof w?w({size:xe,margin:ye}):w,[w,xe,ye]),ke=e.useMemo(()=>`${h} ${C}`,[h,C]),je=e.useMemo(()=>q||X||Y,[q,Y,X]),Ee=e.useMemo(()=>S&&Object.assign(Object.assign({},S),{brush:!0!==S.columnsBrush&&"oBrush",projection:C,projectedColumns:se}),[S,C,se]),Oe=e.useMemo(()=>!!(Z||Q||U),[Z,Q,U]);return g.createElement(dt,{name:"ordinalframe",renderPipeline:ie,adjustedPosition:le,adjustedSize:ce,size:xe,xScale:Tt,yScale:Nt,axes:me,axesTickLines:pe,title:ge,matte:v,additionalDefs:ee,className:ke,frameKey:"none",renderFn:b,projectedCoordinateNames:Ft,defaultSVGRule:m,defaultHTMLRule:y,hoverAnnotation:je,annotations:x,annotationSettings:f,legendSettings:de,interaction:Ee,customClickBehavior:M,customHoverBehavior:A,customDoubleClickBehavior:P,points:he,margin:ye,columns:se,backgroundGraphics:D,foregroundGraphics:be,beforeElements:G,afterElements:N,overlay:ue,rScale:d.rScale,projection:C,disableContext:W,interactionOverflow:ve,canvasPostProcess:K,canvasRendering:Oe,renderOrder:J,disableCanvasInteraction:ne,sketchyRenderingEngine:te,frameRenderOrder:ae,additionalVizElements:fe,disableProgressiveRendering:oe,transition:re})}const Bt=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);Lt.displayName="OrdinalFrame";const It=g.memo(Lt),_t=(t=>{function a(a){const{responsiveWidth:n,responsiveHeight:o,size:r=[500,500],dataVersion:i,debounce:s=200,gridDisplay:l}=a,c=O(a,["responsiveWidth","responsiveHeight","size","dataVersion","debounce","gridDisplay"]),d=[...r];let u=!1,p=e.useRef(),m=function(t){const[a,n]=e.useState(null);return e.useLayoutEffect(()=>{const e=t.current;if(null!=e){n(e.getBoundingClientRect());const t=new ResizeObserver(e=>{e.length>0&&n(e[0].contentRect)});return t.observe(e),()=>t.disconnect()}},[]),a}(p);return n&&(null==m?u=!0:d[0]=m.width),o&&(null==m?u=!0:d[1]=m.height),g.createElement("div",{"data-testid":"responsive-container",className:"responsive-container",style:l?{minWidth:"0px",minHeight:"0px"}:{height:"100%",width:"100%"},ref:p},!u&&g.createElement(t,Object.assign({},c,{size:d,dataVersion:i?i+""+d+s:void 0})))}return a.isResizing=setTimeout(()=>{}),a.displayName="Responsive"+t.displayName,a})(It),Gt={margin:0},Wt={tickFormat:()=>"",baseline:!1};function Ht(t,a,n){return n=>{const{size:o=[],sparkStyle:r={}}=n,[i,s]=e.useState(30),l=[];l[0]="number"==typeof o?o:o[0]?o[0]:i,l[1]=i;const c=e.useCallback(e=>{if(e){const t=+window.getComputedStyle(e).lineHeight.split("px")[0]-5;s(isNaN(t)?e.offsetHeight:t)}},[]);return g.createElement("div",{style:Object.assign({width:l[0]+"px",height:l[1]+"px",display:"inline-block",marginLeft:"5px",marginRight:"5px"},r),ref:c},g.createElement(t,Object.assign({},a(n),{size:l})))}}const qt=Ht(It,e=>Object.assign(Object.assign(Object.assign({},Gt),e),{hoverAnnotation:e.hoverAnnotation,axes:e.axes?e.axes.map(e=>Object.assign(Object.assign({},Wt),e)):e.axes}));exports.Annotation=$,exports.AnnotationLayer=ae,exports.Axis=qe,exports.Legend=q,exports.OrdinalFrame=It,exports.ResponsiveOrdinalFrame=_t,exports.SparkOrdinalFrame=qt,exports.calculateDataExtent=({lineDataAccessor:e,xAccessor:a,yAccessor:n,summaries:r,points:i,lines:s,lineType:l,showLinePoints:c,showSummaryPoints:d,xExtent:p,yExtent:m,invertX:y,invertY:h,summaryDataAccessor:f,summaryType:x,adjustedSize:b,margin:k,summaryStyleFn:j,summaryClassFn:E,summaryRenderModeFn:O,chartSize:S,filterRenderedLines:M,filterRenderedSummaries:A,filterRenderedPoints:$,defined:P=gt,annotations:C=[]})=>{let z=[],T=[],N=[],F=[],R=[];if(i){a.forEach((e,t)=>{n.forEach((a,n)=>{let o=0;for(const r of i){const i=e(r,o),s=a(r,o),l={x:i,y:s,data:r,xIndex:t,yIndex:n};Array.isArray(s)&&(l[de]=Math.min(...s),l[ce]=Math.max(...s),l[le]=(l[de]+l[ce])/2),Array.isArray(i)&&(l[me]=Math.min(...i),l[pe]=Math.max(...i),l[ue]=(l[me]+l[pe])/2),N.push(l),o++}})});for(const e of N)z.push(Object.assign(Object.assign({},e),{[ie]:e[pe]||e[me]||e.x,[se]:e[ce]||e[de]||e.y}))}if(s){T=(({data:e,lineDataAccessor:t,xProp:a,xPropTop:n,xPropBottom:o,yProp:r,yPropTop:i,yPropBottom:s,xAccessor:l,yAccessor:c})=>{Array.isArray(e)||(e=[e]);const d=[];return t.forEach((t,u)=>{l.forEach((l,p)=>{c.forEach((c,m)=>{e.forEach(e=>{const y=Object.assign(Object.assign({},e),{xIndex:p,yIndex:m,lineIndex:u});y.data=t(e).map((e,t)=>{const d={data:e};return d[a]=l(e,t),d[n]=d[a],d[o]=d[a],d[r]=c(e,t),d[i]=d[r],d[s]=d[r],d}),y.key=y.key||d.length,d.push(y)})})})}),d})({data:s,lineDataAccessor:e,xProp:ie,xPropTop:pe,xPropBottom:me,yProp:se,yPropTop:ce,yPropBottom:de,xAccessor:a,yAccessor:n}),F=function(e,t){return a=>bt[((e,t)=>!bt[e]||"difference"===e&&2!==t.length?"line":e)(e.type,a)](Object.assign(Object.assign(Object.assign({},e),t),{data:a}))}(l,{xProp:ie,yProp:se,yPropMiddle:le,yPropTop:ce,yPropBottom:de,xPropMiddle:ue,xPropTop:pe,xPropBottom:me})(T);for(const e of F)for(let t=0;e.data.length>t;t++){const a=e.data[t];if(!P(Object.assign({},a.data,a),t))continue;const n={parentLine:e,y:a.y,x:a.x,xTop:a.xTop,xMiddle:a.xMiddle,xBottom:a.xBottom,yTop:a.yTop,yMiddle:a.yMiddle,yBottom:a.yBottom,data:a.data};a.percent&&(n.percent=a.percent),z.push(n)}if(c){const e=!0===c?ue:vt[c],t=!0===c?le:xt[c];F.forEach(a=>{a.data.filter((e,t)=>{if(P(Object.assign({},e.data,e))){if("orphan"===c){const e=a.data[t-1],n=a.data[t+1];return!(e&&P(Object.assign({},e.data,e))||n&&P(Object.assign({},n.data,n)))}return!0}return!1}).forEach(n=>{N.push(Object.assign(Object.assign({},n),{parentLine:a,[se]:void 0!==n[t]?n[t]:void 0!==n[le]?n[le]:void 0!==n[de]?n[de]:n.y,[ie]:void 0!==n[e]?n[e]:void 0!==n[ue]?n[ue]:void 0!==n[me]?n[me]:n.y}))})})}}r&&(R=(({data:e,summaryDataAccessor:t,xAccessor:a,yAccessor:n})=>{const o=[];return t.forEach(t=>{a.forEach(a=>{n.forEach(n=>{const r=e=>t(e).map((e,t)=>[a(e,t),n(e,t)]);e.forEach(e=>{o.push(Object.assign(Object.assign({},e),{_baseData:t(e),_xyfCoordinates:r(e)}))})})})}),o})({data:r,summaryDataAccessor:f,xAccessor:a,yAccessor:n}),R.forEach(e=>{const t=e._baseData;e._xyfCoordinates.length>0&&e._xyfCoordinates[0][0][0]?e._xyfCoordinates[0].forEach(a=>{Array.isArray(a)&&a.map((a,n)=>Object.assign({parentSummary:e},t[n],{[ie]:a[0],[se]:a[1]})).forEach(e=>{d&&N.push(Object.assign(Object.assign({x:0},e),{[se]:e[ce]||e[de]||e[se]})),z.push(Object.assign({x:0,y:0},e))})}):e._xyfCoordinates.length>0&&Array.isArray(e._xyfCoordinates)&&e._xyfCoordinates.map((a,n)=>Object.assign(Object.assign({parentSummary:e},t[n]),{[ie]:a[0],[se]:a[1]})).forEach(e=>{d&&N.push(Object.assign(Object.assign({x:0},e),{[se]:e[ce]||e[de]||e[se]})),z.push(Object.assign({x:0,y:0},e))})}));let V,L,B,I,_=[],G=[];p&&!Array.isArray(p)&&!0===p.includeAnnotations&&a.forEach(e=>{C.forEach((t,a)=>{const n=e(t,a);isFinite(n)&&_.push({[ie]:n})})}),m&&!Array.isArray(m)&&!0===m.includeAnnotations&&n.forEach(e=>{C.forEach((t,a)=>{const n=e(t,a);isFinite(n)&&G.push({[se]:n})})});for(const e of z){const t=void 0===e[me]?e[ie]:Math.min(e[pe],e[me]),a=void 0===e[pe]?e[ie]:Math.max(e[me],e[pe]),n=void 0===e[de]?e[se]:Math.min(e[ce],e[de]),o=void 0===e[ce]?e[se]:Math.max(e[de],e[ce]);void 0===t||void 0!==V&&t>=V||(V=t),void 0===a||void 0!==L&&L>=a||(L=a),void 0===n||void 0!==B&&n>=B||(B=n),void 0===o||void 0!==I&&I>=o||(I=o)}for(const e of _){const t=e[ie];void 0===t||void 0!==V&&t>=V||(V=t),void 0===t||void 0!==L&&L>=t||(L=t)}for(const e of G){const t=e[se];void 0===t||void 0!==B&&t>=B||(B=t),void 0===t||void 0!==I&&I>=t||(I=t)}const W=[V,L],H=[B,I],q=ft(p),Y=ft(m);let X=[Y&&void 0!==Y[0]?Y[0]:H[0],Y&&void 0!==Y[1]?Y[1]:H[1]],K=[q&&void 0!==q[0]?q[0]:W[0],q&&void 0!==q[1]?q[1]:W[1]];return!y||q&&2===q.length||(K=[K[1],K[0]]),"bumpline"!==l.type&&!h||Y&&2===Y.length||(X=[X[1],X[0]]),x.type&&"contour"===x.type?R=D({summaryType:x,data:R,finalXExtent:K,finalYExtent:X}):x.type&&"linebounds"===x.type?R=function({summaryType:e,data:t,defined:a}){let n=[];e.type||(e={type:e});const{boundingAccessor:o,topBoundingAccessor:r=o,bottomBoundingAccessor:i=o}=e;return t.forEach(e=>{const t=e._baseData.map(a);let o=[],s=[];const l=[{xyf:s,base:o}];t.forEach((a,n)=>{!0===a?(o.push(e._baseData[n]),s.push(e._xyfCoordinates[n])):t[n+1]&&(o=[],s=[],l.push({xyf:s,base:o}))}),l.forEach(({xyf:t,base:a})=>{const o={data:e,parentSummary:e,_xyfCoordinates:w(t,a,r,i)};n=[...n,o]})}),n}({summaryType:x,data:R,defined:P}):x.type&&"hexbin"===x.type?(R=function({preprocess:e=!0,processedData:a=!1,summaryType:n,data:o,finalXExtent:r,finalYExtent:i,size:s,xScaleType:l=t.scaleLinear(),yScaleType:c=t.scaleLinear(),margin:d,styleFn:p,classFn:m,renderFn:y,chartSize:h}){let f=r,x=i;if(!f){const e=o.coordinates.map(e=>e.x);f=[Math.min(...e),Math.max(...e)]}if(!x){const e=o.coordinates.map(e=>e.y);x=[Math.min(...e),Math.max(...e)]}if(a&&o)return o.coordinates;let v,b=[];v=n.type?n:{type:v};const{bins:k=.05,cellPx:j,binValue:E=e=>e.length,binMax:O,customMark:S}=v;o.coordinates&&!o._xyfCoordinates&&(o._xyfCoordinates=o.coordinates.map(e=>[e.x,e.y]));const M=Array.isArray(o)?o:[o],A=l.domain(f).range([0,s[0]]),$=c.domain(x).range([0,s[1]]),P=j&&j/2||(k>1?1/k:k)*s[0]/2,C=u.hexbin().x(e=>A(e._xyfPoint[0])).y(e=>$(e._xyfPoint[1])).radius(P).size(s);let z;const D=C.centers();return M.forEach(e=>{z=0;const t=C(e._xyfCoordinates.map((t,a)=>Object.assign({_xyfPoint:t},e.coordinates[a]))),a={};t.forEach(e=>{a[`${parseInt(e.x)}-${parseInt(e.y)}`]=!0}),D.forEach(e=>{if(!a[`${parseInt(e[0])}-${parseInt(e[1])}`]){const a=[];a.x=e[0],a.y=e[1],t.push(a)}}),z=Math.max(...t.map(e=>E(e))),O&&O(z);const n=[[0,-1],[.866,-.5],[.866,.5],[0,1],[-.866,.5],[-.866,-.5]],o=A.invert(P)-f[0],r=$.invert(P)-x[0],i=n.map(e=>[e[0]*o,e[1]*r]),l=t.map(t=>{const a=E(t),o=t.x,r=t.y;t.x=A.invert(t.x),t.y=$.invert(t.y);const l=a/z;return{customMark:S&&g.createElement("g",{transform:`translate(${o},${s[1]-r})`},S({d:Object.assign(Object.assign({},t),{binItems:t,percent:l,value:a,radius:P,hexCoordinates:n.map(e=>[e[0]*P,e[1]*P])}),margin:d,styleFn:p,classFn:m,renderFn:y,chartSize:h,adjustedSize:s})),_xyfCoordinates:i.map(e=>[e[0]+t.x,e[1]+t.y]),value:a,percent:l,data:t,parentSummary:e,centroid:!0}});b=[...b,...l]}),e?(b.forEach(e=>{e.x=e.data.x,e.y=e.data.y}),{type:"hexbin",processedData:!0,coordinates:b,binMax:z}):b}({summaryType:x,data:R[0],processedData:r&&!!r[0].processedData,preprocess:!1,finalXExtent:K,finalYExtent:X,size:b,margin:k,styleFn:j,classFn:E,renderFn:O,chartSize:S}),z=Et(z,R)):x.type&&"heatmap"===x.type?(R=function({preprocess:e=!0,processedData:a=!1,summaryType:n,data:o,finalXExtent:r=[Math.min(...o.coordinates.map(e=>e.x)),Math.max(...o.coordinates.map(e=>e.x))],finalYExtent:i=[Math.min(...o.coordinates.map(e=>e.y)),Math.max(...o.coordinates.map(e=>e.y))],size:s,xScaleType:l=t.scaleLinear(),yScaleType:c=t.scaleLinear(),margin:d,styleFn:u,classFn:p,renderFn:m,chartSize:y}){if(a&&o)return o.coordinates;o.coordinates&&!o._xyfCoordinates&&(o._xyfCoordinates=o.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(o)?o:[o];let f,x=[];f=n.type?n:{type:f};const{binValue:v=e=>e.length,xBins:b=f.yBins||.05,yBins:k=b,xCellPx:j=!f.xBins&&f.xCellPx,yCellPx:E=!f.yBins&&f.yCellPx,customMark:O,binMax:S}=f,M=1>b?b:1/b,A=1>k?k:1/k,$=l.domain(r).range([0,s[0]]),P=c.domain(i).range([s[1],0]),C=[Math.ceil((j&&j/s[0]||M)*s[0]*10)/10,Math.ceil((E&&E/s[1]||A)*s[1]*10)/10];let z=-1/0;return h.forEach(e=>{const t=[],a=[];let n,o;for(let r=0;s[0]>Math.ceil(r);r+=C[0]){const i=$.invert(r),l=$.invert(r+C[0]);o=[],t.push(o);for(let t=0;s[1]>Math.ceil(t);t+=C[1]){const s=P.invert(t),c=P.invert(t+C[1]);n={gx:r,gy:t,gw:C[0],gh:C[1],x:(i+l)/2,y:(s+c)/2,binItems:[],value:0,_xyfCoordinates:[[i,s],[l,s],[l,c],[i,c]],parentSummary:e},o.push(n),a.push(n)}o.push(n)}t.push(o),e._xyfCoordinates.forEach((a,n)=>{const o=$(a[0]),r=P(a[1]),i=Math.floor(o/C[0]),s=Math.floor(r/C[1]);t[i][s]&&t[i][s].binItems.push(e.coordinates[n])}),a.forEach(e=>{e.value=v(e.binItems),z=Math.max(z,e.value)}),a.forEach(e=>{e.percent=e.value/z,e.customMark=O&&g.createElement("g",{transform:`translate(${e.gx},${e.gy})`},O({d:e,margin:d,styleFn:u,classFn:p,renderFn:m,chartSize:y,adjustedSize:s}))}),x=[...x,...a]}),S&&S(z),e?{type:"heatmap",processedData:!0,_baseData:[],_xyfCoordinates:[],data:[],bounds:[],x:0,y:0,coordinates:x,binMax:z}:x}({summaryType:x,data:R[0],processedData:r&&!!r[0].processedData,preprocess:!1,finalXExtent:K,finalYExtent:X,size:b,margin:k,styleFn:j,classFn:E,renderFn:O,chartSize:S}),z=Et(z,R)):x.type&&"trendline"===x.type&&(R=function({preprocess:e=!1,summaryType:a,data:n,finalXExtent:r=[Math.min(...n.coordinates.map(e=>e.x)),Math.max(...n.coordinates.map(e=>e.x))],xScaleType:i=t.scaleLinear()}){if(e)return n[0].coordinates;let s,l=[];s=a.type?a:{type:s};const{regressionType:c="linear",order:d=2,precision:u=4,controlPoints:p=20,curve:m=o.curveCardinal}=s;let y=c;r[0]>=0||"logarithmic"!==c&&"power"!==c&&"exponential"!==c||(console.error(`Cannot use this ${c} regressionType type with value range that goes below 0, defaulting to linear`),y="linear"),n.coordinates&&!n._xyfCoordinates&&(n._xyfCoordinates=n.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(n)?n:[n],f=i.domain([0,1]).range(r);return l=[],h.forEach(e=>{const t=v.default[y](e._xyfCoordinates.map(e=>{let t=e[0],a=e[1];return"number"!=typeof t&&(t=t.getTime()),"number"!=typeof a&&(a=a.getTime()),[t,a]}),{order:d,precision:u}),a=1/p;let n=[0,1];if("linear"!==y){n=[];for(let e=0;1+a>e;e+=a)n.push(e)}const o=[];n.forEach(e=>{o.push(t.predict(f(e)))}),l.push({centroid:!1,customMark:void 0,data:e,parentSummary:e,value:t.string,r2:t.r2,curve:m,_xyfCoordinates:o})}),l}({summaryType:x,data:R[0],preprocess:r&&!!r[0].processedData,finalXExtent:K}),z=Et(z,R)),M&&(F=F.filter(M),z=z.filter((e,t)=>!e.parentLine||M(e.parentLine,t,[]))),$&&(z=z.filter($)),A&&(R=R.filter(A),z=z.filter((e,t)=>!e.parentSummary||A(e.parentSummary,t,[]))),{xExtent:K,yExtent:X,projectedLines:F,projectedPoints:N,projectedSummaries:R,fullDataset:z,calculatedXExtent:W,calculatedYExtent:H}};
|