semiotic 2.0.2 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +530 -0
- package/README.md +190 -37
- package/ai/cli.js +48 -0
- package/ai/dist/ai/componentRegistry.js +45 -0
- package/ai/dist/ai/mcp-server.js +99 -0
- package/ai/dist/ai/renderHOCToSVG.js +77 -0
- package/ai/dist/src/components/Annotation.js +358 -0
- package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +369 -0
- package/ai/dist/src/components/Axis/Axis.js +373 -0
- package/ai/dist/src/components/Axis/axisTitle.js +14 -0
- package/ai/dist/src/components/Axis/index.js +7 -0
- package/ai/dist/src/components/Axis/summaryGraphic.js +37 -0
- package/ai/dist/src/components/Brush.js +84 -0
- package/ai/dist/src/components/DividedLine.js +65 -0
- package/ai/dist/src/components/FacetController.js +259 -0
- package/ai/dist/src/components/Frame.js +139 -0
- package/ai/dist/src/components/InteractionLayer.js +328 -0
- package/ai/dist/src/components/Legend.js +140 -0
- package/ai/dist/src/components/MiniMap.js +75 -0
- package/ai/dist/src/components/MinimapXYFrame.js +99 -0
- package/ai/dist/src/components/NetworkFrame.js +335 -0
- package/ai/dist/src/components/OrdinalFrame.js +437 -0
- package/ai/dist/src/components/ResponsiveFrame.js +68 -0
- package/ai/dist/src/components/ResponsiveMinimapXYFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveNetworkFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveOrdinalFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveXYFrame.js +10 -0
- package/ai/dist/src/components/SparkFrame.js +113 -0
- package/ai/dist/src/components/SparkNetworkFrame.js +11 -0
- package/ai/dist/src/components/SparkOrdinalFrame.js +11 -0
- package/ai/dist/src/components/SparkXYFrame.js +11 -0
- package/ai/dist/src/components/Tooltip/Tooltip.js +304 -0
- package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
- package/ai/dist/src/components/VisualizationLayer.js +395 -0
- package/ai/dist/src/components/XYFrame.js +524 -0
- package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
- package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
- package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
- package/ai/dist/src/components/annotationRules/networkframeRules.js +198 -0
- package/ai/dist/src/components/annotationRules/orframeRules.js +695 -0
- package/ai/dist/src/components/annotationRules/xyframeRules.js +299 -0
- package/ai/dist/src/components/batchWork.js +35 -0
- package/ai/dist/src/components/charts/index.js +96 -0
- package/ai/dist/src/components/charts/network/ChordDiagram.js +245 -0
- package/ai/dist/src/components/charts/network/CirclePack.js +177 -0
- package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +248 -0
- package/ai/dist/src/components/charts/network/SankeyDiagram.js +305 -0
- package/ai/dist/src/components/charts/network/TreeDiagram.js +268 -0
- package/ai/dist/src/components/charts/network/Treemap.js +177 -0
- package/ai/dist/src/components/charts/ordinal/BarChart.js +191 -0
- package/ai/dist/src/components/charts/ordinal/BoxPlot.js +235 -0
- package/ai/dist/src/components/charts/ordinal/DonutChart.js +178 -0
- package/ai/dist/src/components/charts/ordinal/DotPlot.js +194 -0
- package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +194 -0
- package/ai/dist/src/components/charts/ordinal/PieChart.js +155 -0
- package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +213 -0
- package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +219 -0
- package/ai/dist/src/components/charts/realtime/RealtimeBarChart.js +91 -0
- package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +73 -0
- package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +85 -0
- package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +86 -0
- package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
- package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
- package/ai/dist/src/components/charts/shared/formatUtils.js +176 -0
- package/ai/dist/src/components/charts/shared/hooks.js +49 -0
- package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
- package/ai/dist/src/components/charts/shared/types.js +2 -0
- package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
- package/ai/dist/src/components/charts/shared/validateProps.js +640 -0
- package/ai/dist/src/components/charts/xy/AreaChart.js +220 -0
- package/ai/dist/src/components/charts/xy/BubbleChart.js +222 -0
- package/ai/dist/src/components/charts/xy/Heatmap.js +230 -0
- package/ai/dist/src/components/charts/xy/LineChart.js +302 -0
- package/ai/dist/src/components/charts/xy/Scatterplot.js +136 -0
- package/ai/dist/src/components/charts/xy/StackedAreaChart.js +220 -0
- package/ai/dist/src/components/constants/coordinateNames.js +11 -0
- package/ai/dist/src/components/constants/frame_props.js +251 -0
- package/ai/dist/src/components/constants/jsx.js +71 -0
- package/ai/dist/src/components/data/dataFunctions.js +473 -0
- package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
- package/ai/dist/src/components/data/networkPipelineCache.js +43 -0
- package/ai/dist/src/components/data/ordinalPipelineCache.js +53 -0
- package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
- package/ai/dist/src/components/data/xyPipelineCache.js +49 -0
- package/ai/dist/src/components/generic_utilities/functions.js +5 -0
- package/ai/dist/src/components/index.js +145 -0
- package/ai/dist/src/components/interactionLayerBehavior/InteractionCanvas.js +128 -0
- package/ai/dist/src/components/processing/InteractionItems.js +223 -0
- package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
- package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
- package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
- package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
- package/ai/dist/src/components/processing/layouts/index.js +32 -0
- package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
- package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
- package/ai/dist/src/components/processing/layouts/types.js +2 -0
- package/ai/dist/src/components/processing/network.js +771 -0
- package/ai/dist/src/components/processing/networkDefaults.js +39 -0
- package/ai/dist/src/components/processing/networkLayoutHelpers.js +98 -0
- package/ai/dist/src/components/processing/ordinal.js +889 -0
- package/ai/dist/src/components/processing/ordinalConstants.js +23 -0
- package/ai/dist/src/components/processing/ordinalOverlays.js +88 -0
- package/ai/dist/src/components/processing/ordinalRenderPipeline.js +196 -0
- package/ai/dist/src/components/processing/xyDrawing.js +484 -0
- package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
- package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
- package/ai/dist/src/components/realtime/RealtimeFrame.js +710 -0
- package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
- package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
- package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
- package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
- package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
- package/ai/dist/src/components/realtime/renderers/types.js +2 -0
- package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
- package/ai/dist/src/components/realtime/types.js +2 -0
- package/ai/dist/src/components/semiotic-ai.js +66 -0
- package/ai/dist/src/components/semiotic-network.js +30 -0
- package/ai/dist/src/components/semiotic-ordinal.js +28 -0
- package/ai/dist/src/components/semiotic-realtime.js +37 -0
- package/ai/dist/src/components/semiotic-server.js +8 -0
- package/ai/dist/src/components/semiotic-xy.js +41 -0
- package/ai/dist/src/components/semiotic.js +101 -0
- package/ai/dist/src/components/server/renderToStaticSVG.js +392 -0
- package/ai/dist/src/components/store/TooltipStore.js +13 -0
- package/ai/dist/src/components/store/createStore.js +77 -0
- package/ai/dist/src/components/svg/SvgHelper.js +308 -0
- package/ai/dist/src/components/svg/areaDrawing.js +312 -0
- package/ai/dist/src/components/svg/boxplotRenderer.js +441 -0
- package/ai/dist/src/components/svg/bucketizedRenderer.js +677 -0
- package/ai/dist/src/components/svg/ckbinsRenderer.js +92 -0
- package/ai/dist/src/components/svg/ckmeans.js +238 -0
- package/ai/dist/src/components/svg/contourLayout.js +73 -0
- package/ai/dist/src/components/svg/contourRenderer.js +53 -0
- package/ai/dist/src/components/svg/edgeGenerators.js +181 -0
- package/ai/dist/src/components/svg/frameFunctions.js +579 -0
- package/ai/dist/src/components/svg/graphAlgorithms.js +138 -0
- package/ai/dist/src/components/svg/hexbinLayout.js +163 -0
- package/ai/dist/src/components/svg/lineDrawing.js +427 -0
- package/ai/dist/src/components/svg/networkDrawing.js +207 -0
- package/ai/dist/src/components/svg/nodeGenerators.js +131 -0
- package/ai/dist/src/components/svg/pieceDrawing.js +110 -0
- package/ai/dist/src/components/svg/pieceLayouts.js +588 -0
- package/ai/dist/src/components/svg/sankeyLinks.js +143 -0
- package/ai/dist/src/components/svg/summaryAxis.js +48 -0
- package/ai/dist/src/components/svg/summaryLayouts.js +202 -0
- package/ai/dist/src/components/svg/swarmLayout.js +128 -0
- package/ai/dist/src/components/types/annotationTypes.js +2 -0
- package/ai/dist/src/components/types/canvasTypes.js +2 -0
- package/ai/dist/src/components/types/generalTypes.js +2 -0
- package/ai/dist/src/components/types/interactionTypes.js +2 -0
- package/ai/dist/src/components/types/legendTypes.js +2 -0
- package/ai/dist/src/components/types/networkTypes.js +2 -0
- package/ai/dist/src/components/types/ordinalTypes.js +2 -0
- package/ai/dist/src/components/types/xyTypes.js +2 -0
- package/ai/dist/src/components/useBoundingRect.js +24 -0
- package/ai/dist/src/components/useDerivedStateFromProps.js +25 -0
- package/ai/dist/src/components/useLegacyUnmountCallback.js +21 -0
- package/ai/dist/src/components/visualizationLayerBehavior/axis.js +249 -0
- package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
- package/ai/dist/src/setupTests.js +4 -0
- package/ai/examples.md +394 -0
- package/ai/schema.json +1178 -0
- package/ai/system-prompt.md +38 -0
- package/dist/Annotation.d.ts +3 -0
- package/dist/AnnotationLayer/AnnotationLayer.d.ts +25 -0
- package/dist/Axis/Axis.d.ts +7 -0
- package/dist/Axis/axisTitle.d.ts +10 -0
- package/dist/Axis/index.d.ts +2 -0
- package/dist/Axis/summaryGraphic.d.ts +17 -0
- package/dist/Brush.d.ts +12 -0
- package/dist/DividedLine.d.ts +16 -0
- package/dist/FacetController.d.ts +12 -0
- package/dist/Frame.d.ts +2 -0
- package/dist/InteractionLayer.d.ts +3 -0
- package/dist/Legend.d.ts +3 -0
- package/dist/MiniMap.d.ts +14 -0
- package/dist/MinimapXYFrame.d.ts +10 -0
- package/dist/NetworkFrame.d.ts +8 -0
- package/dist/OrdinalFrame.d.ts +8 -0
- package/dist/ResponsiveFrame.d.ts +22 -0
- package/dist/ResponsiveMinimapXYFrame.d.ts +3 -0
- package/dist/ResponsiveNetworkFrame.d.ts +3 -0
- package/dist/ResponsiveOrdinalFrame.d.ts +3 -0
- package/dist/ResponsiveXYFrame.d.ts +3 -0
- package/dist/SparkFrame.d.ts +14 -0
- package/dist/SparkNetworkFrame.d.ts +5 -0
- package/dist/SparkOrdinalFrame.d.ts +5 -0
- package/dist/SparkXYFrame.d.ts +5 -0
- package/dist/Tooltip/Tooltip.d.ts +141 -0
- package/dist/TooltipPositioner/index.d.ts +7 -0
- package/dist/VisualizationLayer.d.ts +33 -0
- package/dist/XYFrame.d.ts +8 -0
- package/dist/annotationLayerBehavior/annotationHandling.d.ts +19 -0
- package/dist/annotationLayerBehavior/d3labeler.d.ts +9 -0
- package/dist/annotationRules/baseRules.d.ts +25 -0
- package/dist/annotationRules/networkframeRules.d.ts +48 -0
- package/dist/annotationRules/orframeRules.d.ts +103 -0
- package/dist/annotationRules/xyframeRules.d.ts +117 -0
- package/dist/batchWork.d.ts +6 -0
- package/dist/charts/index.d.ts +62 -0
- package/dist/charts/network/ChordDiagram.d.ts +181 -0
- package/dist/charts/network/CirclePack.d.ts +103 -0
- package/dist/charts/network/ForceDirectedGraph.d.ts +192 -0
- package/dist/charts/network/SankeyDiagram.d.ts +195 -0
- package/dist/charts/network/TreeDiagram.d.ts +200 -0
- package/dist/charts/network/Treemap.d.ts +98 -0
- package/dist/charts/ordinal/BarChart.d.ts +119 -0
- package/dist/charts/ordinal/BoxPlot.d.ts +125 -0
- package/dist/charts/ordinal/DonutChart.d.ts +95 -0
- package/dist/charts/ordinal/DotPlot.d.ts +128 -0
- package/dist/charts/ordinal/GroupedBarChart.d.ts +113 -0
- package/dist/charts/ordinal/PieChart.d.ts +83 -0
- package/dist/charts/ordinal/StackedBarChart.d.ts +119 -0
- package/dist/charts/ordinal/SwarmPlot.d.ts +137 -0
- package/dist/charts/realtime/RealtimeBarChart.d.ts +102 -0
- package/dist/charts/realtime/RealtimeLineChart.d.ts +78 -0
- package/dist/charts/realtime/RealtimeSwarmChart.d.ts +88 -0
- package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +85 -0
- package/dist/charts/shared/ChartError.d.ts +19 -0
- package/dist/charts/shared/colorUtils.d.ts +62 -0
- package/dist/charts/shared/formatUtils.d.ts +82 -0
- package/dist/charts/shared/hooks.d.ts +20 -0
- package/dist/charts/shared/legendUtils.d.ts +32 -0
- package/dist/charts/shared/types.d.ts +58 -0
- package/dist/charts/shared/validateChartData.d.ts +41 -0
- package/dist/charts/shared/validateProps.d.ts +18 -0
- package/dist/charts/xy/AreaChart.d.ts +127 -0
- package/dist/charts/xy/BubbleChart.d.ts +157 -0
- package/dist/charts/xy/Heatmap.d.ts +153 -0
- package/dist/charts/xy/LineChart.d.ts +193 -0
- package/dist/charts/xy/Scatterplot.d.ts +50 -0
- package/dist/charts/xy/StackedAreaChart.d.ts +131 -0
- package/dist/constants/coordinateNames.d.ts +8 -0
- package/dist/constants/frame_props.d.ts +13 -0
- package/dist/constants/jsx.d.ts +19 -0
- package/dist/data/dataFunctions.d.ts +45 -0
- package/dist/data/multiAccessorUtils.d.ts +1 -0
- package/dist/data/networkPipelineCache.d.ts +27 -0
- package/dist/data/ordinalPipelineCache.d.ts +33 -0
- package/dist/data/unflowedFunctions.d.ts +1 -0
- package/dist/data/xyPipelineCache.d.ts +35 -0
- package/dist/generic_utilities/functions.d.ts +1 -0
- package/dist/index.d.ts +133 -0
- package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +20 -0
- package/dist/network.js +8520 -0
- package/dist/network.js.map +1 -0
- package/dist/network.min.js +1 -0
- package/dist/network.module.js +8484 -0
- package/dist/network.module.js.map +1 -0
- package/dist/network.module.min.js +1 -0
- package/dist/ordinal.js +9276 -0
- package/dist/ordinal.js.map +1 -0
- package/dist/ordinal.min.js +1 -0
- package/dist/ordinal.module.js +9242 -0
- package/dist/ordinal.module.js.map +1 -0
- package/dist/ordinal.module.min.js +1 -0
- package/dist/processing/InteractionItems.d.ts +13 -0
- package/dist/processing/hierarchyUtils.d.ts +16 -0
- package/dist/processing/layouts/chordLayout.d.ts +2 -0
- package/dist/processing/layouts/forceLayout.d.ts +3 -0
- package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
- package/dist/processing/layouts/index.d.ts +8 -0
- package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
- package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
- package/dist/processing/layouts/types.d.ts +17 -0
- package/dist/processing/network.d.ts +111 -0
- package/dist/processing/networkDefaults.d.ts +36 -0
- package/dist/processing/networkLayoutHelpers.d.ts +54 -0
- package/dist/processing/ordinal.d.ts +102 -0
- package/dist/processing/ordinalConstants.d.ts +33 -0
- package/dist/processing/ordinalOverlays.d.ts +33 -0
- package/dist/processing/ordinalRenderPipeline.d.ts +148 -0
- package/dist/processing/xyDrawing.d.ts +140 -0
- package/dist/realtime/BinAccumulator.d.ts +8 -0
- package/dist/realtime/IncrementalExtent.d.ts +13 -0
- package/dist/realtime/RealtimeFrame.d.ts +4 -0
- package/dist/realtime/RingBuffer.d.ts +19 -0
- package/dist/realtime/renderers/barRenderer.d.ts +2 -0
- package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
- package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
- package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
- package/dist/realtime/renderers/types.d.ts +9 -0
- package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
- package/dist/realtime/types.d.ts +113 -0
- package/dist/realtime.js +1598 -0
- package/dist/realtime.js.map +1 -0
- package/dist/realtime.min.js +1 -0
- package/dist/realtime.module.js +1566 -0
- package/dist/realtime.module.js.map +1 -0
- package/dist/realtime.module.min.js +1 -0
- package/dist/semiotic-ai.d.ts +28 -0
- package/dist/semiotic-ai.js +18722 -0
- package/dist/semiotic-ai.js.map +1 -0
- package/dist/semiotic-ai.min.js +1 -0
- package/dist/semiotic-ai.module.js +18668 -0
- package/dist/semiotic-ai.module.js.map +1 -0
- package/dist/semiotic-ai.module.min.js +1 -0
- package/dist/semiotic-network.d.ts +19 -0
- package/dist/semiotic-ordinal.d.ts +18 -0
- package/dist/semiotic-realtime.d.ts +23 -0
- package/dist/semiotic-server.d.ts +1 -0
- package/dist/semiotic-xy.d.ts +24 -0
- package/dist/semiotic.d.ts +51 -0
- package/dist/semiotic.js +18723 -12996
- package/dist/semiotic.js.map +1 -0
- package/dist/semiotic.min.js +1 -0
- package/dist/semiotic.module.js +18666 -12965
- package/dist/semiotic.module.js.map +1 -0
- package/dist/semiotic.module.min.js +1 -0
- package/dist/server/renderToStaticSVG.d.ts +9 -0
- package/dist/server.js +8360 -0
- package/dist/server.js.map +1 -0
- package/dist/server.min.js +1 -0
- package/dist/server.module.js +8331 -0
- package/dist/server.module.js.map +1 -0
- package/dist/server.module.min.js +1 -0
- package/dist/store/TooltipStore.d.ts +2 -0
- package/dist/store/createStore.d.ts +1 -0
- package/dist/svg/SvgHelper.d.ts +33 -0
- package/dist/svg/areaDrawing.d.ts +21 -0
- package/dist/svg/boxplotRenderer.d.ts +15 -0
- package/dist/svg/bucketizedRenderer.d.ts +16 -0
- package/dist/svg/ckbinsRenderer.d.ts +20 -0
- package/dist/svg/ckmeans.d.ts +69 -0
- package/dist/svg/contourLayout.d.ts +6 -0
- package/dist/svg/contourRenderer.d.ts +12 -0
- package/dist/svg/edgeGenerators.d.ts +51 -0
- package/dist/svg/frameFunctions.d.ts +108 -0
- package/dist/svg/graphAlgorithms.d.ts +14 -0
- package/dist/svg/hexbinLayout.d.ts +7 -0
- package/dist/svg/lineDrawing.d.ts +99 -0
- package/dist/svg/networkDrawing.d.ts +16 -0
- package/dist/svg/nodeGenerators.d.ts +58 -0
- package/dist/svg/pieceDrawing.d.ts +12 -0
- package/dist/svg/pieceLayouts.d.ts +53 -0
- package/dist/svg/sankeyLinks.d.ts +3 -0
- package/dist/svg/summaryAxis.d.ts +6 -0
- package/dist/svg/summaryLayouts.d.ts +53 -0
- package/dist/svg/swarmLayout.d.ts +13 -0
- package/dist/types/annotationTypes.d.ts +135 -0
- package/dist/types/canvasTypes.d.ts +9 -0
- package/dist/types/generalTypes.d.ts +238 -0
- package/dist/types/interactionTypes.d.ts +72 -0
- package/dist/types/legendTypes.d.ts +20 -0
- package/dist/types/networkTypes.d.ts +175 -0
- package/dist/types/ordinalTypes.d.ts +112 -0
- package/dist/types/xyTypes.d.ts +115 -0
- package/dist/useBoundingRect.d.ts +2 -0
- package/dist/useDerivedStateFromProps.d.ts +1 -0
- package/dist/useLegacyUnmountCallback.d.ts +2 -0
- package/dist/visualizationLayerBehavior/axis.d.ts +36 -0
- package/dist/visualizationLayerBehavior/general.d.ts +80 -0
- package/dist/xy.js +7944 -0
- package/dist/xy.js.map +1 -0
- package/dist/xy.min.js +1 -0
- package/dist/xy.module.js +7903 -0
- package/dist/xy.module.js.map +1 -0
- package/dist/xy.module.min.js +1 -0
- package/package.json +116 -65
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("react"),t=require("d3-scale"),a=require("d3-array"),r=require("d3-shape"),n=require("d3-contour"),s=require("regression"),i=require("d3-hexbin"),o=require("memoize-one"),c=require("svg-path-bounding-box"),l=require("d3-force"),d=require("d3-selection"),y=require("d3-glyphedge"),u=require("d3-path-arrows"),m=require("d3-interpolate"),p=require("d3-hierarchy");function h(e){return e&&e.__esModule?e:{default:e}}function g(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const a in e)if("default"!==a){const r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}return t.default=e,Object.freeze(t)}const x=g(e),f=h(s),b=h(o),v=h(c),k=({xy:e,orient:t,i:a,className:r="",jaggedBase:n})=>{let s=`M${e.x1},${e.y1}L${e.x2},${e.y2}`;return n&&0===a&&(s=((e,t)=>{let a="";const{x1:r,x2:n,y1:s,y2:i}=t;if("left"===e||"right"===e){const t=Math.abs(n-r);a=((e,t,a,r)=>{const n=e/t;let s=0,i="M0,"+a;const o="right"===r?-1:1;for(;e>=s;)i+=`L${s},${a}`,e>s&&(i+=`L${s+n/2},${a+10*o}`),s+=n;return i})(t,Math.ceil(t/40),"right"===e?0:s,e)}else{const t=Math.abs(i-s);a=((e,t,a,r)=>{const n=e/t;let s=0,i=`M${a},0`;const o="bottom"===r?-1:1;for(;e>=s;)i+=`L${a},${s}`,e>s&&(i+=`L${a+10*o},${s+n/2}`),s+=n;return i})(t,Math.ceil(t/40),r,e)}return a})(t,e)),x.createElement("path",{key:a,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:s,className:`tick-line tick ${t} ${r}`})};function j(e,t,a){const r=Math.abs(a.range()[1]-a.range()[0]);return e||(t||(t=Math.max(1,Math.floor(r/40))),e=a.ticks&&a.ticks(t)||a.domain()),e}function E({renderMode:e=()=>{},padding:t=5,scale:a,ticks:r,tickValues:n=j(void 0,r,a),orient:s="left",size:i,footer:o=!1,tickSize:c=(o?-10:["top","bottom"].find(e=>e===s)?i?i[1]:0:i?i[0]:0),jaggedBase:l}){let d,y,u,m,p,h,g=[],x=0,f=0,b="middle";switch(s){case"top":d="x1",y="x2",u="y1",m="y2",g=[0,c],p="tx",h="ty",x-=20-t;break;case"bottom":d="x1",y="x2",u="y2",m="y1",g=i?[i[1],i[1]-c]:[0,-c],p="tx",h="ty",x+=20+t;break;case"right":d="y2",y="y1",u="x2",m="x1",g=i?[i[0],i[0]-c]:[0,-c],p="ty",h="tx",x+=5+t,f+=5,b="start";break;default:d="y1",y="y2",u="x1",m="x2",g=[0,c],p="ty",h="tx",x-=5+t,f+=5,b="end"}let v=n instanceof Function?n({orient:s}):n;return l&&void 0===v.find(e=>e===a.domain()[0])&&(v=[a.domain()[0],...v]),v.map((t,r)=>{const n=a(t);return{[d]:n,[y]:n,[u]:g[0],[m]:g[1],[p]:n+f,[h]:g[0]+x,defaultAnchor:b,renderMode:e(t,r),value:t}})}const O=(e,t,a)=>{const r={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 x.createElement("line",{key:"baseline",className:"axis-baseline "+a,stroke:"currentColor",strokeLinecap:"square",x1:r.x,x2:r.x+r.width,y1:r.y,y2:r.y+r.height})},S=({axisParts:e,orient:t,tickLineGenerator:a=k,className:r,jaggedBase:n,scale:s,showOutboundTickLines:i=!1})=>{const o=e.map((e,i)=>a({xy:e,orient:t,i:i,className:r,jaggedBase:n,scale:s})),c=i?e.map((e,a)=>(({xy:e,orient:t,i:a,className:r=""})=>{let n=`M-4,${e.y1}L${e.x1},${e.y2}`;return"left"===t?n=`M${e.x1-8},${e.y1}L${e.x1},${e.y2}`:"right"===t?n=`M${e.x2},${e.y1}L${e.x2+8},${e.y2}`:"top"===t?n=`M${e.x1},${e.y1-8}L${e.x1},${e.y1}`:"bottom"===t&&(n=`M${e.x1},${e.y2}L${e.x1},${e.y2+8}`),x.createElement("path",{key:a,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:n,className:`outbound-tick-line tick ${t} ${r}`})})({xy:e,orient:t,i:a,className:r})):[];return[...o,c]};function M({t:e,o:t,w:a}){return"contour"!==e&&"boxplot"!==e||"left"!==t&&"right"!==t?0:a/2}function $({t:e,o:t,w:a}){return"contour"!==e&&"boxplot"!==e||"top"!==t&&"bottom"!==t?0:a/2}function F(e){const{translation:t,orient:a,decoratedSummaryType:r,summaryWidth:n,renderedSummary:s,points:i}=e;return x.default.createElement("g",{className:"marginal-graphics",transform:`translate(${t[a]})`},x.default.createElement("g",{transform:`translate(${M({t:r.type,o:a,w:n})},${$({t:r.type,o:a,w:n})})`},s),i)}function A(e){const{className:t,translation:a,position:r,rotation:n,labelName:s,anchorMod:i}=e;return x.default.createElement("g",{className:"axis-title "+t,transform:`translate(${[a[0]+r[0],a[1]+r[1]]}) rotate(${n})`},x.default.isValidElement(s)?s:x.default.createElement("text",{textAnchor:i},s))}function z(e,t){var a={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(a[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(r=Object.getOwnPropertySymbols(e);r.length>n;n++)0>t.indexOf(r[n])&&Object.prototype.propertyIsEnumerable.call(e,r[n])&&(a[r[n]]=e[r[n]])}return a}function P(e,t,a){const r=Math.PI*(t+.75)*2;return[e[0]+a*Math.cos(r),e[1]+a*Math.sin(r)]}"function"==typeof SuppressedError&&SuppressedError;const w=({data:e,shouldRender:t,canvasRender:a,canvasDrawing:r,styleFn:n,classFn:s,renderKeyFn:i,ariaLabel:o,axis:c})=>{const l=c&&c[0]&&c[0].tickFormat;if(!t)return null;const d=[];return e.forEach((e,t)=>{if(a&&!0===a(e))r.push({baseClass:"orframe-piece",tx:e.tx||0,ty:e.ty||0,d:e.piece,i:t,markProps:e.renderElement||e,styleFn:n,renderFn:()=>e.renderValue,classFn:s});else if(x.isValidElement(e.renderElement||e))d.push(e.renderElement||e);else{const a=o?`${e.o} ${o.items} value ${l&&l(e.piece.value)||e.piece.value}`:"",r=i?i(e.piece):e.renderKey||"piece-render-"+t,n=e.renderElement||e,{markType:s,style:c={}}=n,y=z(n,["markType","style"]),u=Object.assign(Object.assign({},y),{key:r,"aria-label":a});void 0!==c.fill&&(u.fill=c.fill),void 0!==c.stroke&&(u.stroke=c.stroke),void 0!==c.strokeWidth&&(u.strokeWidth=c.strokeWidth),void 0!==c.opacity&&(u.opacity=c.opacity),void 0!==c.fillOpacity&&(u.fillOpacity=c.fillOpacity),void 0!==c.strokeOpacity&&(u.strokeOpacity=c.strokeOpacity);const m=Object.assign({},c);delete m.fill,delete m.stroke,delete m.strokeWidth,delete m.opacity,delete m.fillOpacity,delete m.strokeOpacity,Object.keys(m).length>0&&(u.style=m),s&&d.push(x.createElement(s,u))}}),d},D=()=>({});function C(e,t){for(var a=[],r=0;e>r;r++){for(var n=[],s=0;t>s;s++)n.push(0);a.push(n)}return a}function T(e,t,a,r){var n;if(e>0){var s=(a[t]-a[e-1])/(t-e+1);n=r[t]-r[e-1]-(t-e+1)*s*s}else n=r[t]-a[t]*a[t]/(t+1);return 0>n?0:n}function L(e,t,a,r,n,s,i){if(t>=e){var o=Math.floor((e+t)/2);r[a][o]=r[a-1][o-1],n[a][o]=o;var c=a;e>a&&(c=Math.max(c,n[a][e-1]||0)),c=Math.max(c,n[a-1][o]||0);var l,d,y,u,m=o-1;r[0].length-1>t&&(m=Math.min(m,n[a][t+1]||0));for(var p=m;p>=c&&(l=T(p,o,s,i))+r[a-1][c-1]<r[a][o];--p)d=T(c,o,s,i),r[a][o]>(y=d+r[a-1][c-1])&&(r[a][o]=y,n[a][o]=c),c++,r[a][o]>(u=l+r[a-1][p-1])&&(r[a][o]=u,n[a][o]=p);L(e,o-1,a,r,n,s,i),L(o+1,t,a,r,n,s,i)}}function N({summaryType:e,data:a,finalXExtent:r,finalYExtent:s}){let i=[];e.type||(e={type:e});const{resolution:o=500,thresholds:c=10,bandwidth:l=20,neighborhood:d}=e,y=t.scaleLinear().domain(r).rangeRound([0,o]).nice(),u=t.scaleLinear().domain(s).rangeRound([o,0]).nice();return a.forEach(e=>{let t=n.contourDensity().size([o,o]).x(e=>y(e[0])).y(e=>u(e[1])).thresholds(c).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,r)=>{e[r]=a.map(e=>[y.invert(e[0]),u.invert(e[1])]),0===r&&t.bounds.push(function(e){let t=[1/0,0],a=[-1/0,0],r=[0,1/0],n=[0,-1/0];return e.forEach(e=>{t=t[0]>e[0]?e:t,a=e[0]>a[0]?e:a,n=e[1]>n[1]?e:n,r=r[1]>e[1]?e:r}),{center:[(t[0]+a[0])/2,(r[1]+n[1])/2],top:r,left:t,right:a,bottom:n}}(e[r]))})})}),i=[...i,...t]}),i}const R=(e,t,a,r)=>[...e.map((e,r)=>[e[0],e[1]+a(t[r])]),...e.map((e,a)=>[e[0],e[1]-r(t[a])]).reverse()];function V(e){let t=[1/0,0],a=[-1/0,0],r=[0,1/0],n=[0,-1/0];return e.forEach(e=>{t=t[0]>e[0]?e:t,a=e[0]>a[0]?e:a,n=e[1]>n[1]?e:n,r=r[1]>e[1]?e:r}),{center:[(t[0]+a[0])/2,(r[1]+n[1])/2],top:r,left:t,right:a,bottom:n}}const I=e=>[e.xy.x,e.xy.y],B=()=>({}),_=2*Math.PI,W=(e=1)=>(t,a)=>{const r=t[t.length-1];return r&&Math.round(r.x/e)===Math.round(a.x/e)&&Math.round(r.y/e)===Math.round(a.y/e)||t.push(a),t},G=({x1:e,x2:t,y1:a,y2:r,sizeX1:n,sizeY1:s,sizeX2:i,sizeY2:o})=>`M${e},${a}L${t},${r}L${t+i},${r+o}L${e+n},${a+s}Z`;function K(){const e=r.line();let t=function(e){return e.x},a=function(e){return e.y},n=function(e){return e.r},s=r.curveLinearClosed;function i(r){if(r.multiple){const i=n,o=r.multiple.reduce((e,t)=>e+t.weight,0);n=()=>o;let l=c(r.points).filter(e=>"forward"===e.direction).reduce(W(),[]);const d=[];return r.multiple.forEach((e,t)=>{n=()=>e.weight;const a=c(l);d.push(a);const s=r.multiple[t+1];if(s){const e=a.reverse().filter(e=>"back"===e.direction).reduce(W(),[]);n=()=>s.weight;const t=c(e);l=t.reverse().filter(e=>"back"===e.direction).reduce(W(),[])}}),n=i,d.map(r=>e.x(t).y(a).curve(s)(r))}const i=c(r).reduce(W(),[]);return e.x(t).y(a).curve(s)(i)}return i.x=function(e){return arguments.length?(t=e,i):t},i.y=function(e){return arguments.length?(a=e,i):a},i.r=function(e){return arguments.length?(n=e,i):n},i.interpolate=function(e){return arguments.length?(s=e,i):s},i;function o(e){const r=a(e.target)-a(e.source),s=t(e.target)-t(e.source),i=Math.atan2(s,r)+Math.PI/2,o=i+.5*Math.PI,c=i+.5*Math.PI;return{x1:t(e.source)+n(e.source)*Math.cos(o),y1:a(e.source)-n(e.source)*Math.sin(o),x2:t(e.target)+n(e.target)*Math.cos(c),y2:a(e.target)-n(e.target)*Math.sin(c)}}function c(e){const t=[];let a=0,r={x1:0,y1:0,x2:0,y2:0};for(;e.length>a;){if(a!==e.length-1&&(r=o({source:e[a],target:e[a+1]}),t.push({x:r.x1,y:r.y1,direction:"forward"},{x:r.x2,y:r.y2,direction:"forward"}),t.length>3)){const e=t.length-1,a={a:t[e-3],b:t[e-2]},r={a:t[e-1],b:t[e]},n=l(a.a.x,a.a.y,a.b.x,a.b.y,r.a.x,r.a.y,r.b.x,r.b.y);!0===n.found&&(a.b.x=n.x,a.b.y=n.y,r.a.x=n.x,r.a.y=n.y)}a++}for(a--;a>=0;){if(0!==a&&(r=o({source:e[a],target:e[a-1]}),t.push({x:r.x1,y:r.y1,direction:"back"},{x:r.x2,y:r.y2,direction:"back"}),t.length>3)){const e=t.length-1,a={a:t[e-3],b:t[e-2]},r={a:t[e-1],b:t[e]},n=l(a.a.x,a.a.y,a.b.x,a.b.y,r.a.x,r.a.y,r.b.x,r.b.y);!0===n.found&&(a.b.x=n.x,a.b.y=n.y,r.a.x=n.x,r.a.y=n.y)}a--}return t}function l(e,t,a,r,n,s,i,o){let c,l;const d={x:null,y:null,found:!1},y=(o-s)*(a-e)-(i-n)*(r-t);if(0===y)return d;c=t-s,l=e-n;const u=(a-e)*c-(r-t)*l;return c=((i-n)*c-(o-s)*l)/y,l=u/y,d.x=e+c*(a-e),d.y=t+c*(r-t),c>0&&1>c&&l>0&&1>l&&(d.found=!0),d}}const Y={step:r.curveStep,stepbefore:r.curveStepBefore,stepafter:r.curveStepAfter,cardinal:r.curveCardinal,basis:r.curveBasis,linear:r.curveLinear,catmullrom:r.curveCatmullRom,monotone:r.curveMonotoneY,monotonex:r.curveMonotoneX,monotoney:r.curveMonotoneY,natural:r.curveNatural};function X({generator:e,projectedCoordinateNames:t,defined:a,xScale:r,yScale:n,interpolator:s,simpleLine:i}){const{x:o,y:c,yTop:l,yBottom:d,xBottom:y,xTop:u}=t;e.x(e=>r(e[o])).curve(s),i?e.y(e=>n(e[c])):(e.y0(e=>n(e[d])).y1(e=>n(e[l])),e.x0(e=>r(e[y])).x1(e=>r(e[u]))),e.defined(a?(e,t)=>a(e,t):e=>!e._xyFrameUndefined)}function q({xScale:e,yScale:t,canvasDrawing:a,data:r,projectedCoordinateNames:n,customMark:s,canvasRender:i,styleFn:o,classFn:c,renderKeyFn:l,renderMode:d,showLinePoints:y}){const{y:u,x:m,xMiddle:p,yMiddle:h,yTop:g,yBottom:f}=n,b={top:g,bottom:f}[!0===y?void 0:y],v=[];return r.forEach((r,n)=>{const y=e(void 0!==r[p]?r[p]:r[m]),g=t(void 0!==r[b]?r[b]:void 0!==r[h]?r[h]:r[u]),f=`Point at x ${r.x} and y ${r.y}`,k=s?x.isValidElement(s)?s:s({d:r.data,xy:r,i:n,xScale:e,yScale:t}):void 0,j=s?Object.assign(Object.assign({},k.props),{"aria-label":f}):{key:"piece-"+n,markType:"circle",r:2,"aria-label":f};!k||!k.props||k.props.markType||i&&!0===i(r.data,n)?i&&!0===i(r.data,n)?a.push({type:"point",baseClass:"frame-piece",tx:y,ty:g,d:r,i:n,markProps:j,styleFn:o,renderFn:d,classFn:c}):(Array.isArray(r[u])?r[u].map(e=>t(e)):[g]).forEach((t,a)=>{(Array.isArray(r[m])?r[m].map(t=>e(t)):[y]).forEach((e,s)=>{v.push(Q({baseClass:"frame-piece",tx:e,ty:t,d:r.data&&Object.assign(Object.assign({},r),r.data)||r,i:0===a&&0===s?n:`${n}-${a}-${s}`,markProps:j,styleFn:o,renderKeyFn:l,classFn:c,yi:a}))})}):v.push(x.createElement("g",{transform:`translate(${y},${g})`,key:l?l(r.data,n):"custom-point-mark-"+n,style:o?o(r.data,n):{},className:c?c(r.data,n):""},k))}),v}function H({xScale:e,yScale:t,canvasDrawing:a,data:n,projectedCoordinateNames:s,customMark:i,canvasRender:o,styleFn:c,classFn:l,renderMode:d,renderKeyFn:y,type:u,defined:m,ariaLabel:p,axesData:h=[]}){const g=h.find(e=>"bottom"===e.orient||"top"===e.orient),f=h.find(e=>"left"===e.orient||"right"===e.orient),b=g&&g.tickFormat||(e=>e),v=f&&f.tickFormat||(e=>e),k="object"==typeof u?u:{type:u},j="string"==typeof k.interpolator?Y[k.interpolator]:k.interpolator||r.curveLinear,E=k.simpleLine?r.line():r.area();X({projectedCoordinateNames:s,defined:m,interpolator:j,generator:E,xScale:e,yScale:t,simpleLine:k.simpleLine});const O=j.dynamicInterpolator&&((a,n)=>{const i=r.area();return X({projectedCoordinateNames:s,defined:m,interpolator:j.dynamicInterpolator(a,n),generator:i,xScale:e,yScale:t,simpleLine:k.simpleLine}),i})||(()=>E),S=[];if(n.forEach((n,u)=>{const h=n.data.map(e=>Object.assign(Object.assign({},e.data),e));if(i&&"function"==typeof i){const r=Object.assign(Object.assign({},n),{data:h});S.push(i({d:r,i:u,xScale:e,yScale:t,canvasDrawing:a}))}else{const i={};k.simpleLine&&(i.fill="none",i.stroke="black");const g=O(n,u)(h),x=Object.assign(Object.assign({},i),{markType:"path",d:g,"aria-label":n.data&&n.data.length>0&&p&&`${n.data.length} point ${p.items} starting value ${v(n.data[0].y)} at ${b(n.data[0].x)} ending value ${v(n.data[n.data.length-1].y)} at ${b(n.data[n.data.length-1].x)}`});if(o&&!0===o(n,u))a.push({type:"line",baseClass:"xyframe-line",tx:0,ty:0,d:n,i:u,markProps:x,styleFn:c,renderFn:d,classFn:l});else{let a=c;if("area"===k.type&&!0!==k.enclosed&&(a=(e,t)=>Object.assign(Object.assign({},c(e,t)),{stroke:"none"})),S.push(Q({baseClass:"xyframe-line",d:n,i:u,markProps:x,styleFn:a,renderKeyFn:y,classFn:l})),"area"===k.type&&!0!==k.enclosed){const a=(e,t)=>Object.assign(Object.assign({},c(e,t)),{fill:"none"}),i=r.line();X({projectedCoordinateNames:s,defined:m,interpolator:j,generator:i,xScale:e,yScale:t,simpleLine:!0});const o=Object.assign(Object.assign({},x),{d:i(h)}),d=y?(e,t,a)=>y(e,t,a)+"-top":void 0;S.push(Q({baseClass:"xyframe-line-top",d:n,i:u,markProps:o,styleFn:a,renderKeyFn:d,classFn:l}))}}}}),"difference"===k.type&&2===n.length){const a=n[0].data.map((e,t)=>{const a=e.yTop>n[1].data[t].yTop?e.yTop:e.yBottom;return{x:e.x,y:a,yBottom:a,yTop:a}}),i=n[0].data.map((e,t)=>{const a=n[1].data[t].yTop>e.yTop?n[1].data[t].yTop:n[1].data[t].yBottom;return{x:e.x,y:a,yBottom:a,yTop:a}}),o=l?"xyframe-line "+l(a):"xyframe-line",c=r.line();X({projectedCoordinateNames:s,defined:m,interpolator:j,generator:c,xScale:e,yScale:t,simpleLine:!0});const d=x.createElement("path",{key:"xyline-diff-a",className:o+" difference-overlay-a",d:c(a),style:{fill:"none",pointerEvents:"none"}});S.push(d);const y=x.createElement("path",{key:"xyline-diff-b",className:o+" difference-overlay-b",d:c(i),style:{fill:"none",pointerEvents:"none"}});S.push(y)}return S}function Z({xScale:e,yScale:t,canvasDrawing:a,data:n,canvasRender:s,styleFn:i,classFn:o,renderKeyFn:c,renderMode:l,customMark:d}){const y=o||(()=>""),u=i||(()=>({})),m=l;Array.isArray(n)||(n=[n]);const p=[];return n.forEach((n,i)=>{let o="xyframe-summary";y&&(o="xyframe-summary "+y(n));let l="",h=!1;if("string"==typeof n.customMark||x.isValidElement(n.customMark))l=n.customMark,h=!0;else if("MultiPolygon"===n.type)n.coordinates.forEach(a=>{a.forEach(a=>{l+=`M${a.map(a=>`${e(a[0])},${t(a[1])}`).join("L")}Z `})});else if(d){const a=n._xyfCoordinates.map(a=>[e(a[0]),t(a[1])]);l=d({d:n,i:i,classFn:y,styleFn:u,renderFn:m,projectedCoordinates:a,xScale:e,yScale:t,bounds:V(a)}),h=!0}else{const a=n._xyfCoordinates;if(n.curve){const s=r.line().x(t=>e(t[0])).y(e=>t(e[1])).curve(n.curve);l=s(a)}else l=`M${a.map(a=>`${e(a[0])},${t(a[1])}`).join("L")}Z`}const g=c?c(n,i):"summary-"+i;h&&x.isValidElement(l)?p.push(l):s&&!0===s(n,i)?a.push({type:"summary",baseClass:"xyframe-summary",tx:0,ty:0,d:n,i:i,markProps:{markType:"path",d:l},styleFn:u,renderFn:m,classFn:()=>o}):p.push(x.createElement("path",{"data-testid":"xyframe-summary",key:g,className:o,d:l,style:u(n,i)}))}),p}function Q({tx:e,ty:t,d:a,i:r,markProps:n,styleFn:s,classFn:i,renderKeyFn:o,baseClass:c,yi:l}){if(n.style=s?s(a,r,l):{},n.className=c,n.key=o?o(a,r,l):`${c}-${void 0===a.key?r:a.key}`,(e||t)&&(n.transform=`translate(${e||0},${t||0})`),i&&(n.className=`${c} ${i(a,r,l)}`),n.style.r&&(n.r=n.style.r),n["data-testid"]=c,!n.markType)return x.createElement(n);const{markType:d}=n,y=z(n,["markType"]);return x.createElement(d,y)}const U=(e,t)=>e.xy.y-t.xy.y,J=(e,t)=>t.xy.x-e.xy.x,ee=()=>({});function te({summary:e,summaryI:a,axisSettings:r,axisCreator:n,projection:s,actualMax:i,adjustedSize:o,columnWidth:c}){let l=`translate(${e.x},0)`,d=[0,i];"horizontal"===s?(l=`translate(0,${e.x})`,d=[i,0]):"radial"===s&&(l="translate(0, 0)"),r.size=["horizontal"===s?o[0]:c,"vertical"===s?o[1]:c];const y=n(r,a,t.scaleLinear().domain(d).range([0,c]));return x.createElement("g",{className:"summary-axis",key:"summaryPiece-axis-"+a,transform:l},y)}function ae({data:e,type:t,eventListenersGenerator:n,styleFn:s,classFn:i,projection:o,adjustedSize:c,chartSize:l,axisCreator:d}){const y=[],u=[],m=t.bins||25,p=!!t.relative&&{},h=t.binValue||(e=>e.length),g=t.elementStyleFn||ee;let x;t.axis&&(t.axis.orient="horizontal"===o&&-1===["left","right"].indexOf(t.axis.orient)?"left":t.axis.orient,t.axis.orient="vertical"===o&&-1===["bottom","top"].indexOf(t.axis.orient)?"bottom":t.axis.orient,x=d,"radial"===o&&(console.error("Summary axes cannot be drawn for radial histograms"),x=()=>null));let f=l/m;const b=Object.keys(e);let v=0;const k=a.histogram(),j=[0,l],E=[];for(let e=0;m>e;e++)E.push(j[0]+e/m*l);const O="vertical"===o?e=>e.piece.scaledVerticalValue:e=>e.piece.scaledValue,S=k.domain(j).thresholds(E).value(O),M=b.map((r,n)=>{const s=e[r],i=s.xyData,c=i.sort("vertical"===o?U:J);let d;if(!1===t.useBins){const e=c.map(e=>O(e));d=c.map((t,a)=>{const r=[];return r.x0=e[a]-1,r.x1=e[a]+1,r.push(t),r}).sort((e,t)=>e.x0-t.x0),f=l/d.length}else d=S(c);d=d.map(e=>({y:e.x0,y1:e.x1-e.x0,pieces:e,value:h(e.map(e=>e.piece.data))})),"histogram"!==t.type&&"heatmap"!==t.type||(d=d.filter(e=>0!==e.value));const y=0===d.length?0:a.max(d.map(e=>e.value));return p&&(p[r]=y),v=Math.max(v,y),{bins:d,summary:s,summaryI:n,thisSummaryData:i}}),$=t.horizon?v/t.horizon:t.numHorizons||4,F=t.horizon||v/$;return M.forEach(({bins:e,summary:l,summaryI:d,thisSummaryData:m})=>{const b=n(l,d),k=l.width;let j=m[0]?s(m[0].piece.data,d):{},E=m[0]?i(m[0].piece.data,d):"",O=[l.middle,0];"horizontal"===o?O=[f,l.middle]:"radial"===o&&(O=[c[0]/2,c[1]/2]);const S=p&&p[l.name]||v;if("heatmap"===t.type||"histogram"===t.type){const a=(({bins:e,binMax:t,relativeBuckets:a,columnWidth:n,projection:s,adjustedSize:i,summaryI:o,summary:c,summaryStyle:l,type:d})=>{const y=[],u=[],m=a&&a[c.name]||t,p=d.elementStyleFn||B,h=d.padding||0;return e.forEach((e,t)=>{const a=e.value/m,g=p(e.value,a,e.pieces),x=Object.assign("heatmap"===d.type?{opacity:a,fill:l.fill}:Object.assign({},l),g),f=Math.max(1,e.y1-2*h),b="heatmap"===d.type?n:n*a;let v=e.y+h,k="heatmap"===d.type||d.flip?-n/2:n/2-b,j=f,E=b,O="heatmap"===d.type?b/2:b,S=e.y1/2;if("horizontal"===s)v="heatmap"===d.type||d.flip?-n/2:n/2-b,k=e.y-e.y1+h,j=b,E=f,S="heatmap"===d.type?b/2:b,O=e.y1/2;else if("radial"===s){const n=r.arc().innerRadius(e.y/2).outerRadius((e.y+e.y1)/2),s=c.pct-c.pct_padding;let l=c.pct_middle-c.pct_padding,m="heatmap"===d.type?l+s:l+s*a;l*=_,m*=_;const p=i[0]/2,h=i[1]/2,g=`translate(${p},${h})`,f=n.centroid({startAngle:l,endAngle:m});u.push({key:c.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:f[0]+p,y:f[1]+h}),y.push({markType:"path",transform:g,key:`groupIcon-${o}-${t}`,d:n({startAngle:l,endAngle:m}),style:x})}"radial"!==s&&(u.push({key:c.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:k+O,y:v+S}),y.push({markType:"rect",key:`groupIcon-${o}-${t}`,x:k,y:v,height:j,width:E,style:x}))}),{marks:y,points:u}})({bins:e,binMax:v,relativeBuckets:p,columnWidth:k,projection:o,adjustedSize:c,summaryI:d,summary:l,summaryStyle:j,type:t}),n=a.marks;"radial"===o&&(O=[0,0]),t.axis&&"histogram"===t.type&&y.push({type:"svg-only-mark",Mark:te({summary:l,summaryI:d,axisSettings:t.axis,axisCreator:x,projection:o,actualMax:S,adjustedSize:c,columnWidth:k})}),a.points.forEach(e=>{e.x+=O[0],e.y+=O[1]}),u.push(...a.points),y.push({containerProps:Object.assign(Object.assign({},b),{transform:`translate(${O})`,className:E,key:"summaryPiece-"+d,role:"img",tabIndex:-1,"data-o":l.name,"aria-label":`${l.name} ${t.type}`}),elements:n})}else if("violin"===t.type){const{iqr:n}=t,c=t.subsets||[!1],p=[];e[0].y=e[0].y-f/2,e[e.length-1].y=e[e.length-1].y+f/2,c.forEach((c,y)=>{let x=e;c&&(j=m[0]?s(m[0].piece.data,d,y):{},E=m[0]?i(m[0].piece.data,d,y):"",x=e.map(e=>{const t=e.pieces.filter((e,t)=>c(e.piece,t)).map(e=>e),a=h(t);return Object.assign(Object.assign({},e),{pieces:t,value:a})}));let v=r.area().curve(t.curve||r.curveCatmullRom),M=[];if("horizontal"===o)x.forEach(e=>{const t=e.y-f/2,a=e.value/S*k/2;M.push({x:t,y0:-a,y1:a}),u.push({key:l.name,x:t+O[0],y:a+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value})}),v.x(e=>e.x).y0(e=>e.y0).y1(e=>e.y1).defined((e,t)=>0!==e.y0||M[t-1]&&0!==M[t-1].y0||M[t+1]&&0!==M[t+1].y0);else if("vertical"===o)x.forEach(e=>{const t=e.y+f/2,a=e.value/S*k/2;M.push({y:t,x0:-a,x1:a}),u.push({key:l.name,x:a+O[0],y:t+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value})}),v.y(e=>e.y).x0(e=>e.x0).x1(e=>e.x1).defined((e,t)=>0!==e.x0||M[t-1]&&0!==M[t-1].x0||M[t+1]&&0!==M[t+1].x0);else if("radial"===o){const e=l.pct-l.pct_padding/2,t=l.pct_middle;M=x,v=a=>{const r=[],n=[];return a.forEach(a=>{const s=P([0,0],t+e*a.value/S/2,(a.y+a.y1-f/2)/2),i=P([0,0],t-e*a.value/S/2,(a.y+a.y1-f/2)/2);u.push({key:l.name,x:i[0]+O[0],y:i[1]+O[1],pieces:a.pieces.map(e=>e.piece),value:a.value}),u.push({key:l.name,x:s[0]+O[0],y:s[1]+O[1],pieces:a.pieces.map(e=>e.piece),value:a.value}),r.push(s),n.push(i)}),`M${r.map(e=>e.join(",")).join("L")}L${n.reverse().map(e=>e.join(",")).join("L")}Z`}}if(p.push(Object.assign(Object.assign({},b),{transform:`translate(${O})`,key:`summaryPiece-${d}-${y}`,markType:"path",className:E,style:j,d:v(M),role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"})),n){let e=[];x.forEach(t=>{e.push(...t.pieces)}),e=e.map(e=>"vertical"===o?e.piece.scaledVerticalValue:e.piece.scaledValue).sort((e,t)=>e-t);const t=[a.quantile(e,.25),a.quantile(e,.5),a.quantile(e,.75)],r="vertical"===o?(e,t,a)=>`M${a[0]},${e}L${a[0]},${t}`:(e,t,a)=>`M${e},${a[1]}L${t},${a[1]}`;p.push(Object.assign(Object.assign({},b),{key:`summaryPiece-${d}-${y}-iqr-line`,markType:"path",className:E,style:Object.assign(Object.assign({stroke:"black",strokeWidth:"2px"},j),g("iqr")),d:r(t[0],t[2],O),role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"})),p.push(Object.assign(Object.assign({},b),{key:`summaryPiece-${d}-${y}-iqr-median`,markType:"circle",className:E,style:Object.assign(Object.assign({stroke:"black",fill:"black",strokeWidth:"1px",r:"3px"},j),g("median")),cx:"vertical"===o?O[0]:t[1],cy:"vertical"===o?t[1]:O[1],role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"}))}}),y.push({elements:p})}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-f/2,n.y=n.y+f/2;const s=[a,...e,n];let i=[];const m=t.curve||t.interpolator,p="string"==typeof m?Y[m]:m;let h=r.line().curve(p||r.curveCatmullRom).x(e=>e.x).y(e=>e.y);const g=t.amplitude||0;if(t.axis&&"histogram"===t.type&&y.push({type:"svg-only-mark",Mark:te({summary:l,summaryI:d,axisSettings:Object.assign({baseline:!1},t.axis),axisCreator:x,projection:o,actualMax:S,adjustedSize:c,columnWidth:k})}),"horizontal"===o)s.forEach((e,a)=>{const r=e.y-f/2,n=t.flip?e.value/S*(k+g)-k/2:-e.value/S*(k+g)+k/2;i.push({y:n,x:r}),0!==a&&a!==s.length-1&&u.push({key:l.name,x:r+O[0],y:n+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("vertical"===o)s.forEach(e=>{const a=e.y+f/2,r=!0===t.flip?e.value/S*(k+g)-k/2:-e.value/S*(k+g)+k/2;i.push({y:a,x:r}),u.push({key:l.name,x:r+O[0],y:a+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("radial"===o){const e=l.pct-l.pct_padding/2,t=l.pct_start+l.pct_padding/2;O=[0,0],i=s,h=a=>{const r=[];return a.forEach(a=>{const n=P([c[0]/2,c[1]/2],t+e*a.value/S,(a.y+a.y1-f/2)/2);u.push({key:l.name,x:n[0]+O[0],y:n[1]+O[1],pieces:a.pieces.map(e=>e.piece),value:a.value}),r.push(n)}),`M${r.map(e=>e.join(",")).join("L")}Z`}}t.axis&&y.push({type:"svg-only-mark",Mark:te({summary:l,summaryI:d,axisSettings:t.axis,axisCreator:x,projection:o,actualMax:S,adjustedSize:c,columnWidth:k})}),y.push({elements:[Object.assign(Object.assign({},b),{transform:`translate(${O})`,key:"summaryPiece-"+d,markType:"path",className:E,style:j,d:h(i),role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"})]})}else if("horizon"===t.type){const n=Object.assign({},e[0],{value:0}),s=Object.assign({},e[e.length-1],{value:0});n.y=n.y-f/2,s.y=s.y+f/2;const i=[n,...e,s];let m=[],p=!0,h=0;for(;!0===p;){const e=i.map(e=>Object.assign(Object.assign({},e),{value:Math.max(0,Math.min(e.value-h,F))}));m.push(e.map(e=>Object.assign(Object.assign({},e),{value:e.value*$}))),h+=F,a.max(e.map(e=>e.value))<F&&(p=!1)}m=m.filter(e=>a.sum(e,e=>e.value)>0),i.forEach((e,a)=>{0!==a&&a!==i.length-1&&("horizontal"===o?u.push({key:l.name,x:e.y-f/2+O[0],y:-e.value/S*k+k/2+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value}):"vertical"===o&&u.push({key:l.name,x:(!0===t.flip?e.value/S*k-k/2:-e.value/S*k+k/2)+O[0],y:e.y+f/2+O[1],pieces:e.pieces.map(e=>e.piece),value:e.value}))});const v=m.map((e,a)=>{let n=[];const s=t.curve||t.interpolator,i="string"==typeof s?Y[s]:s;let y=r.line().curve(i||r.curveLinear).x(e=>e.x).y(e=>e.y);if("horizontal"===o)e.forEach(e=>{n.push({y:-e.value/S*k+k/2,x:e.y-f/2})});else if("vertical"===o)e.forEach(e=>{n.push({y:e.y+f/2,x:!0===t.flip?e.value/S*k-k/2:-e.value/S*k+k/2})});else if("radial"===o){const t=l.pct-l.pct_padding/2,a=l.pct_start+l.pct_padding/2;O=[0,0],n=e,y=e=>{const r=[];return e.forEach(e=>{const n=P([c[0]/2,c[1]/2],a+t*e.value/S,(e.y+e.y1-f/2)/2);r.push(n)}),`M${r.map(e=>e.join(",")).join("L")}Z`}}return Object.assign(Object.assign({},b),{transform:`translate(${O})`,key:`summaryPiece-${d}-${a}`,markType:"path",className:E,style:Object.assign(Object.assign({},j),g(e,a)),d:y(n),role:"img",tabIndex:-1,"data-o":l.name,"aria-label":l.name+" distribution"})});t.axis&&y.push({type:"svg-only-mark",Mark:te({summary:l,summaryI:d,axisSettings:t.axis,axisCreator:x,projection:o,actualMax:S,adjustedSize:c,columnWidth:k})}),y.push({elements:v})}}),{marks:y,xyPoints:u,thresholds:E}}const re={contour:function({data:e,type:t,eventListenersGenerator:a,styleFn:r,classFn:n,adjustedSize:s}){const i=[],o=[];return Object.keys(e).forEach((c,l)=>{const d=e[c];t.thresholds=t.thresholds||8,t.bandwidth=t.bandwidth||12,t.resolution=t.resolution||1e3;const y=[{id:d,_xyfCoordinates:d.xyData.map(I)}],u=N({summaryType:t,data:y,finalXExtent:[0,s[0]],finalYExtent:[0,s[1]]}),m=[];u.forEach((e,t)=>{e.coordinates.forEach((s,i)=>{const o=a(e,t);m.push(Object.assign(Object.assign({},o),{key:`${t}-${i}`,style:r(d.pieceData[0].data,l),className:n(d.pieceData[0].data,l),markType:"path",d:`M${e.coordinates[0].map(e=>e.join(",")).join("L")}Z`}))})}),i.push({containerProps:{key:"contour-container-"+l,role:"img",tabIndex:-1,"data-o":c,"aria-label":`${c} boxplot showing ${o.filter(e=>e.key===c).map(e=>`${e.label} ${e.value}`)}`},elements:m})}),{marks:i,xyPoints:o}},boxplot:function({data:e,type:t,eventListenersGenerator:n,styleFn:s,classFn:i,projection:o,adjustedSize:c}){const l=t.elementStyleFn||D,{outliers:d,fixedInput:y}=t,u=[],m=[];return Object.keys(e).forEach((t,p)=>{const h=e[t],g=n(h,p),x=h.width,f=h.pieceData,b=s(f[0].data,p),v=i(f[0].data,p);let k,j,E,O,S,M,$,F,A,z,w,D,C,T,L,N,R,V,I,B,_,W,G,K,Y,X,q,H,Z,Q,U;j=f.map(e=>e.value).sort((e,t)=>e-t),!0===y&&5===j.length||(j=[a.quantile(j,0),a.quantile(j,.25),a.quantile(j,.5),a.quantile(j,.75),a.quantile(j,1)]);const 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"===o?e=>e.scaledVerticalValue:e=>e.scaledValue,re=[...f].sort((e,t)=>e.value-t.value),ne=re[0].value,se=re[re.length-1].value,ie=ae(re[0]),oe=ae(re[re.length-1]);if(k=j.map(e=>se===ne?(ie+oe)/2:ie+(e-ne)/(se-ne)*(oe-ie)),"vertical"===o){E=`translate(${h.x+h.width/2},0)`,O=0,S=0,M=k[0],$=k[4],F=-x/2,A=x/2,z=-x/2,w=x/2,D=-x/2,C=x/2,V=x,I=k[1]-k[2],B=k[2],_=-x/2,T=x,L=k[2]-k[3],W=x,G=k[1]-k[3],K=k[3],Y=-x/2,N=k[3],R=-x/2,X=k[0],q=k[0],H=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"===o){const e=h.x+h.width/2;E=`translate(0,${e})`,M=0,$=0,O=k[0],S=k[4],X=-x/2,q=x/2,Q=-x/2,U=x/2,H=-x/2,Z=x/2,L=x,T=k[3]-k[2],R=k[2],N=-x/2,I=x,V=k[2]-k[1],_=k[1],B=-x/2,G=x,W=k[3]-k[1],Y=k[1],K=-x/2,F=k[0],A=k[0],D=k[4],C=k[4],z=k[2],w=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"===o){O=0,S=0,M=k[0],$=k[4],F=-x/2,A=x/2,z=-x/2,w=x/2,D=-x/2,C=x/2,T=x,L=k[1]-k[3],N=k[3],R=-x/2,V=x,I=k[1]-k[3],B=k[3],_=-x/2,X=k[0],q=k[0],H=k[4],Z=k[4],Q=k[2],U=k[2];const e=2*Math.PI,a=r.arc().innerRadius(H/2).outerRadius(H/2),n=r.arc().innerRadius(X/2).outerRadius(X/2),s=r.arc().innerRadius(Q/2).outerRadius(Q/2),i=r.arc().innerRadius(k[1]/2).outerRadius(Q/2),o=r.arc().innerRadius(Q/2).outerRadius(k[3]/2),d=r.arc().innerRadius(k[1]/2).outerRadius(k[3]/2);let y=h.pct_start+h.pct_padding/2,W=h.pct+h.pct_start-h.pct_padding/2;const G=h.pct/2+h.pct_start;y*=e,W*=e;const K=c[0]/2,Y=c[1]/2,J=P([0,0],G,k[4]/2),ee=P([0,0],G,k[0]/2),te=P([0,0],G,k[3]/2),ae=P([0,0],G,k[2]/2),re=P([0,0],G,k[1]/2);m.push({label:"Minimum",key:t,summaryPieceName:"min",x:ee[0]+K,y:ee[1]+Y,value:j[0]},{label:"1st Quartile",key:t,summaryPieceName:"q3area",x:re[0]+K,y:re[1]+Y,value:j[1]},{label:"Median",key:t,summaryPieceName:"median",x:ae[0]+K,y:ae[1]+Y,value:j[2]},{label:"3rd Quartile",key:t,summaryPieceName:"q1area",x:te[0]+K,y:te[1]+Y,value:j[3]},{label:"Maximum",key:t,summaryPieceName:"max",x:J[0]+K,y:J[1]+Y,value:j[4]}),E=`translate(${K},${Y})`,u.push({containerProps:Object.assign(Object.assign({},g),{className:v,transform:E,key:"summaryPiece-"+p,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},b,l("whisker",f))},{markType:"path",d:n({startAngle:y,endAngle:W}),style:Object.assign({strokeWidth:4},b,{fill:"none"},l("max",f))},{markType:"path",d:s({startAngle:y,endAngle:W}),style:Object.assign({strokeWidth:4},b,{fill:"none"},l("median",f))},{markType:"path",d:a({startAngle:y,endAngle:W}),style:Object.assign({strokeWidth:4},b,{fill:"none"},l("min",f))},{markType:"path",d:d({startAngle:y,endAngle:W}),style:Object.assign({strokeWidth:4},b,l("iqrarea",f))},{markType:"path",d:i({startAngle:y,endAngle:W}),style:Object.assign({},b,{fill:"none",stroke:"none"},l("q3area",f))},{markType:"path",d:o({startAngle:y,endAngle:W}),style:Object.assign({},b,{fill:"none",stroke:"none"},l("q1area",f))}]})}else{const e=[{markType:"line",x1:O,x2:S,y1:M,y2:$,style:Object.assign({strokeWidth:2},b,l("whisker",f))},{markType:"line",x1:F,x2:A,y1:X,y2:q,style:Object.assign({strokeWidth:2},b,l("min",f))},{markType:"line",x1:D,x2:C,y1:H,y2:Z,style:Object.assign({strokeWidth:2},b,l("max",f))},{markType:"rect",x:Y,width:W,y:K,height:G,style:Object.assign({strokeWidth:1},b,l("iqrarea",f))},{markType:"rect",x:R,width:T,y:N,height:L,style:Object.assign({},b,{fill:"none",stroke:"none"},l("q3area",f))},{markType:"rect",x:_,width:V,y:B,height:I,style:Object.assign({},b,{fill:"none",stroke:"none"},l("q1area",f))},{markType:"line",x1:z,x2:w,y1:Q,y2:U,style:Object.assign({strokeWidth:2},b,l("median",f))}],a=[];d&&f.filter(e=>e.value>te||ee>e.value).forEach(e=>{a.push({markType:"circle",cx:"horizontal"===o?e.scaledValue:0,cy:"vertical"===o?e.scaledVerticalValue:0,style:Object.assign({strokeWidth:"1px",stroke:"black",fill:"none",r:2},b,l("outlier",f))})}),u.push({containerProps:Object.assign(Object.assign({},g),{className:v,transform:E,key:"summaryPiece-"+p,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:u,xyPoints:m}},violin:ae,heatmap:ae,ridgeline:ae,histogram:ae,horizon:ae,ckbins:function(e){const{data:a,eventListenersGenerator:r,styleFn:n,classFn:s}=e,i=[];let o=0;const c=[];return Object.keys(a).forEach((e,i)=>{const l=a[e];r(l,i);const d=l.pieceData.sort((e,t)=>e.value-t.value),y=d[0],u=d[d.length-1],m=t.scaleLinear().domain([y.value,u.value]).range([y.scaledValue,u.scaledValue]),p=n(d[0].data,i),h=s(d[0].data,i),g=function(e,t){if(t>e.length)throw Error("Cannot generate more classes than there are data values");var a=e.length,r=e.slice().sort(function(e,t){return e-t}),n=function(e){for(var t,a=0,r=0;e.length>r;r++)0!==r&&e[r]===t||(t=e[r],a++);return a}(r);if(1===n)return[r[0]];var s=C(t=Math.min(n,t),a),i=C(t,a);!function(e,t,a){for(var r=t[0].length,n=Array(r),s=Array(r),i=e[Math.floor(r/2)],o=0;r>o;++o)0===o?(n[0]=e[0]-i,s[0]=(e[0]-i)*(e[0]-i)):(n[o]=n[o-1]+e[o]-i,s[o]=s[o-1]+(e[o]-i)*(e[o]-i)),t[0][o]=T(0,o,n,s),a[0][o]=0;for(var c=1;t.length>c;++c)L(t.length-1>c?c:r-1,r-1,c,t,a,n,s)}(r,s,i);for(var o=[],c=i[0].length-1,l=i.length-1;l>=0;l--){var d=i[l][c];o[l]=r[d],l>0&&(c=d-1)}return o}(d.map(e=>e.value),5);let x=[];g.forEach((t,a)=>{var r;const n=null!==(r=g[a+1])&&void 0!==r?r:u.value;x.push({start:t,end:n,key:e,summary:l,calculatedSummaryStyle:p,calculatedSummaryClass:h,scaledStart:m(t),scaledEnd:m(n),values:[]})}),c.push(x);let f=0;for(const e of d)x[f].end>e.value||x[f+1]&&f++,x[f].values.push(e);x.forEach(e=>{o=Math.max(e.values.length,o)})}),c.forEach((e,a)=>{const r=e.map(e=>{const{calculatedSummaryStyle:a}=e,{fill:r="black",stroke:n="black"}=a,s=t.scaleLinear().domain([1,o]).range(["white",r]);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:s(e.values.length),strokeWidth:1,stroke:n})}});i.push({containerProps:{transform:"",key:"summaryPiece-"+a,role:"img",tabIndex:-1},elements:r})}),{marks:i,xyPoints:[]}}},ne=({data:e,type:t,renderMode:a,eventListenersGenerator:r,styleFn:n,classFn:s,projection:i,adjustedSize:o,margin:c,axisCreator:l})=>{if(t&&t.type)return function({data:e,type:t,renderMode:a,eventListenersGenerator:r,styleFn:n,classFn:s,projection:i,adjustedSize:o,chartSize:c,margin:l,axisCreator:d}){let y;if("function"==typeof t.type)y=t.type;else{if(!re[t.type])return console.error(`Invalid summary type: ${t.type} - Must be a function or one of the following strings: ${Object.keys(re).join(", ")}`),{};y=re[t.type]}return y({data:e,type:t,renderMode:a,eventListenersGenerator:r,styleFn:n,classFn:s,projection:i,adjustedSize:o,chartSize:c,margin:l,axisCreator:d})}({data:e,type:t="string"==typeof t?{type:t}:t,renderMode:a,eventListenersGenerator:r,styleFn:n,classFn:s,projection:i,adjustedSize:o,chartSize:"vertical"===i?o[1]:o[0],margin:c,axisCreator:l})};function se(e){const t=[];for(const a of e){const e=[],{elements:r,containerProps:n}=a;if(a.Mark)t.push(a.Mark);else{for(let t=0;r.length>t;t++){const a=r[t],{markType:n,style:s={}}=a,i=z(a,["markType","style"]),o=Object.assign({},i);void 0!==s.fill&&(o.fill=s.fill),void 0!==s.stroke&&(o.stroke=s.stroke),void 0!==s.strokeWidth&&(o.strokeWidth=s.strokeWidth),void 0!==s.opacity&&(o.opacity=s.opacity),void 0!==s.fillOpacity&&(o.fillOpacity=s.fillOpacity),void 0!==s.strokeOpacity&&(o.strokeOpacity=s.strokeOpacity);const c=Object.assign({},s);delete c.fill,delete c.stroke,delete c.strokeWidth,delete c.opacity,delete c.fillOpacity,delete c.strokeOpacity,Object.keys(c).length>0&&(o.style=c),o.key=a.key||t,n&&e.push(x.createElement(n,o))}n?t.push(x.createElement("g",Object.assign({},n),e)):t.push(...e)}}return t}const ie=({data:e,canvasRender:t,canvasDrawing:a})=>{var r;if(t())for(const t of e)if("svg-only-mark"!==t.type){const{transform:e="translate(0,0)"}=null!==(r=null==t?void 0:t.containerProps)&&void 0!==r?r:{transform:"translate(0,0)"},[n,s]=e.replace("translate(","").replace(")","").split(",");for(const e of t.elements){const{transform:t="translate(0,0)"}=e,[r,i]=t.replace("translate(","").replace(")","").split(",");a.push({baseClass:"frame-piece",tx:parseInt(r)+parseInt(n),ty:parseInt(i)+parseInt(s),d:{},i:0,markProps:e,styleFn:()=>e.style,renderFn:e.renderMode,classFn:()=>""})}}return se(e.filter(e=>!t()||"svg-only-mark"===e.type))};function oe(t){const{rotate:a,label:r,dynamicLabelPosition:n,orient:s="left",marginalSummaryType:i,tickFormat:o=(i?()=>"":e=>e),size:c,width:l=c&&c[0]||0,height:d=c&&c[1]||0,className:y,padding:u,tickValues:m,scale:p,ticks:h,footer:g,tickSize:f,tickLineGenerator:b,baseline:v=!0,margin:k={top:0,bottom:0,left:0,right:0},center:j=!1,annotationFunction:O,glyphFunction:M,xyPoints:$}=t,[z,P]=e.useState(0),[w,D]=e.useState(void 0),C=e.useRef(null);e.useEffect(()=>{if(!(null==r?void 0:r.position)&&n){const e=((e,t)=>{const a=e.current;if(!a)return 30;const r="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[r]))+25})(C,s);e!==w&&D(e)}},[r,n]);let T,{axisParts:L,position:N=[0,0]}=t;if(L||(L=E({padding:u,tickValues:m,scale:p,ticks:h,orient:s,size:[l,d],footer:g,tickSize:f}),T=x.createElement("g",{className:"axis "+y},S({axisParts:L,orient:s,tickLineGenerator:b,className:y,scale:p}))),0===L.length)return null;let R,V,I,B,_=50,W=d,G=-50,K=0,Y=0,X=0,q=0,H=d,Z=25,Q=-25,U=18,J=l+25,ee=0,te=z,ae=0,re="y";switch(s){case"right":N=[N[0],N[1]],G=l,q=Y=l,ae=k.top,J=-l-25,Q=5,R=e=>{P(e.nativeEvent.offsetY-ae)},!0===j&&(q=Y=l/2);break;case"top":N=[N[0],0],_=l,W=50,K=-50,G=0,ae=k.left,re="x",q=l,H=0,!0===j&&(H=X=d/2),R=e=>{P(e.nativeEvent.offsetX-ae)},Z=z,te=25,Q=0,U=-10,J=0,ee=d+25;break;case"bottom":N=[N[0],0],_=l,W=50,X=H=K=d,Y=G=0,q=l,ae=k.left,R=e=>{P(e.nativeEvent.offsetX-ae)},Z=z,te=25,Q=0,U=15,J=0,ee=-d-25,re="x",!0===j&&(H=X=d/2);break;default:N=[N[0],N[1]],ae=k.top,!0===j&&(q=Y=l/2),R=e=>{P(e.nativeEvent.offsetY-ae)}}if(O){const e=function(e,t){return t.tickFormat?t.tickFormat(e):e.toString?""+e:e}(p.invert(z),t),a=M?M({lineHeight:ee,lineWidth:J,value:p.invert(z)}):x.createElement("g",null,x.isValidElement(e)?x.createElement("g",{transform:`translate(${Q},${U})`},e):x.createElement("text",{x:Q,y:U},e),x.createElement("circle",{r:5}),x.createElement("line",{x1:J,y1:ee,style:{stroke:"black"}})),r=z?x.createElement("g",{style:{pointerEvents:"none"},transform:`translate(${Z},${te})`},a):null;V=x.createElement("g",{className:"annotation-brush",transform:`translate(${G},${K})`},x.createElement("rect",{style:{fillOpacity:0},height:W,width:_,onMouseMove:R,onClick:e=>O({className:"dynamic-axis-annotation",type:re,value:p.invert(z),e:e}),onMouseOut:()=>{P(void 0)}}),r)}if(i&&$){const e=Math.max(k[s]-6,5),t="string"==typeof i?{type:i}:i;void 0!==t.flip||"bottom"!==s&&"right"!==s||(t.flip=!0);const a=t.summaryStyle?()=>t.summaryStyle:()=>({fill:"black",fillOpacity:.5,stroke:"black",strokeDasharray:"0"}),r=t.renderMode?()=>t.renderMode:()=>{},n=t.summaryClass?()=>t.summaryClass:()=>"",o=t.filter||(()=>!0),l=$.filter(e=>void 0!==e.x&&void 0!==e.y&&o(e.data)).map(e=>Object.assign(Object.assign({},e),{xy:{x:"top"===s||"bottom"===s?p(e.x):0,y:"left"===s||"right"===s?p(e.y):0},piece:{scaledVerticalValue:p(e.y),scaledValue:p(e.x)},value:p("top"===s||"bottom"===s?e.y:e.x),scaledValue:p(e.x),scaledVerticalValue:p(e.y)})),d=se(ne({data:{column:{middle:e/2,pieceData:l,width:e,xyData:l}},type:t,renderMode:r,eventListenersGenerator:t.eventListenersGenerator||(()=>({})),styleFn:a,classFn:n,projection:"top"===s||"bottom"===s?"horizontal":"vertical",adjustedSize:c,margin:{top:0,bottom:0,left:0,right:0}}).marks);let y;if(!0===t.showPoints){const a=((e,t,a)=>{const r="left"===e||"right"===e?t/2:0,n="bottom"===e||"top"===e?t/2:0;return a.map(e=>[e.xy.x+r,e.xy.y+n])})(s,e,l);y=a.map((e,a)=>x.createElement("circle",{key:"axis-summary-point-"+a,cx:e[0],cy:e[1],r:t.r||3,style:t.pointStyle||{fill:"black",fillOpacity:.1}}))}I=x.createElement(F,{translation:{left:[2-k.left,0],right:[c[0]+2,0],top:[0,2-k.top],bottom:[0,c[1]+2]},orient:s,decoratedSummaryType:t,summaryWidth:e,renderedSummary:d,points:y})}const ie=(({axisParts:e,tickFormat:t,rotate:a=0,center:r=!1,orient:n})=>e.map((e,s)=>{let i=t(e.value,s);("object"!=typeof i||i instanceof Date)&&(i=x.createElement("text",{textAnchor:e.defaultAnchor,className:"axis-label"},i.toString?""+i:i));let o=e.tx,c=e.ty;if(r)switch(n){case"right":o-=(e.x2-e.x1)/2;break;case"left":o+=(e.x2-e.x1)/2;break;case"top":c+=(e.y2-e.y1)/2;break;case"bottom":c-=(e.y2-e.y1)/2}return x.createElement("g",{key:s,pointerEvents:"none",transform:`translate(${o},${c}) rotate(${a})`,className:"axis-label"},i)}))({tickFormat:o,axisParts:L,orient:s,rotate:a,center:j});if(r){const e=r.name||r,t=r.position||{};let a=t.anchor||"middle";const n=r.locationDistance||w,i=t.rotation||{left:-90,right:90,top:0,bottom:0}[s],o={left:{start:[0,c[1]],middle:[0,c[1]/2],end:[0,0],inside:[n||15,0],outside:[-(n||45),0]},right:{start:[c[0]+0,c[1]],middle:[c[0]+0,c[1]/2],end:[c[0]+0,0],inside:[-(n||15),0],outside:[n||45,0]},top:{start:[0,0],middle:[0+c[0]/2,0],end:[0+c[0],0],inside:[0,n||15],outside:[0,-(n||40)]},bottom:{start:[0,c[1]],middle:[0+c[0]/2,c[1]],end:[0+c[0],c[1]],inside:[0,-(n||5)],outside:[0,n||50]}},l=o[s][a],d=o[s][t.location||"outside"];l[0]=l[0]+d[0],l[1]=l[1]+d[1],"start"===a&&"right"===s?a="end":"end"===a&&"right"===s&&(a="start"),B=x.createElement(A,{className:y,translation:l,position:N,rotation:i,labelName:e,anchorMod:a})}const oe=`${s} axis ${L&&L.length>0&&`from ${o(L[0].value,0)} to ${o(L[L.length-1].value,L.length-1)}`||"without ticks"}`;return x.createElement("g",{className:y,"aria-label":oe,ref:C},V,ie,T,!0===v?x.createElement("line",{key:"baseline",className:"axis-baseline "+y,stroke:"black",strokeLinecap:"square",x1:Y,x2:q,y1:X,y2:H}):null,B,I)}const ce=e=>e instanceof Date?e.getTime():e,le=({type:e="stackedarea",data:t,xProp:r,yProp:n,yPropMiddle:s,sort:i,yPropTop:o,yPropBottom:c})=>{const l=new Map,d=t.map(()=>0);let y=0;for(const e of t){e.__lineIndex=y;for(const t of e.data){const e=ce(t[r]);d[y]+=t[n],l.has(e)||l.set(e,[]),l.get(e)[y]=t}y++}let u=(e,t)=>d[t.key]-d[e.key];"stackedpercent-invert"!==e&&"stackedarea-invert"!==e||(u=(e,t)=>d[e.key]-d[t.key]),null!==(i=void 0===i?u:i)&&(t=t.sort(i));const m=t.map(e=>e.__lineIndex);for(const[,t]of l){let r=0,i=0;const l=a.sum(t,e=>(null==e?void 0:e[n])>0?e[n]:0),d=a.sum(t,e=>0>(null==e?void 0:e[n])?e[n]:0);for(const a of m){const y=t[a];if(y)if(0>y[n]){if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=y[n]/d;if(y.percent=t,"linepercent"===e)y[c]=y[c]=y[o]=y[s]=t;else{const e=0>d?t:0;y[c]=0===d?0:-r/d,y[o]=y[c]-e,y[s]=y[c]-e/2}}else y[c]=r,y[o]=r+y[n],y[s]=r+y[n]/2;r+=y[n]}else{if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=y[n]/l;if(y.percent=t,"linepercent"===e)y[c]=y[o]=y[s]=t;else{const e=l>0?t:0;y[c]=0===l?0:i/l,y[o]=y[c]+e,y[s]=y[c]+e/2}}else y[c]=i,y[o]=i+y[n],y[s]=i+y[n]/2;i+=y[n]}}}return t},de=({data:e,y1:t,x1:a,yPropTop:r,yPropMiddle:n,yPropBottom:s,xPropTop:i,xPropMiddle:o,xPropBottom:c})=>{if(t)for(const a of e)for(const e of a.data)e[s]=t(e),e[n]=e[r];if(a)for(const t of e)for(const e of t.data)e[c]=a(e),e[o]=(e[c]+e[i])/2;return e},ye=({data:e,y1:t,yPropTop:a,yPropMiddle:r,yPropBottom:n,type:s="cumulative"})=>{for(const i of e){let e=0;const o="cumulative-reverse"===s?i.data.reverse():i.data;for(const s of o)e+=s[a],s[n]=s[a]=s[r]=e,t&&(s[n]=t(s),s[r]=s[n]+s[a]/2)}return e},ue=({type:e="bumpline",data:t,xProp:a,yProp:r,yPropMiddle:n,yPropTop:s,yPropBottom:i})=>{const o=new Map;for(const e of t)for(const t of e.data){const e=ce(t[a]);o.has(e)||o.set(e,[]),o.get(e).push(t)}let c=(e,t)=>e[r]>t[r]?1:-1;"bumparea-invert"!==e&&"bumpline-invert"!==e||(c=(e,t)=>t[r]>e[r]?1:-1);for(const[,t]of o){let a=0,o=0;t.sort(c);let l=1;for(const c of t)"bumparea"===e||"bumparea-invert"===e?0>c[r]?(c[s]=a+c[r],c[n]=a+c[r]/2,c[i]=a,a+=c[r]):(c[s]=o+c[r],c[n]=o+c[r]/2,c[i]=o,o+=c[r]):(c[r]=l,c[s]=l,c[i]=l),l++}return t},me="x",pe="y",he="yMiddle",ge="yTop",xe="yBottom",fe="xMiddle",be="xTop",ve="xBottom",ke=e=>e&&e.extent||Array.isArray(e)&&e||[],je=()=>!0,Ee={top:ge,bottom:xe,orphan:pe},Oe={top:be,bottom:ve,orphan:me},Se={stackedarea:le,"stackedarea-invert":le,stackedpercent:le,"stackedpercent-invert":le,linepercent:le,difference:({data:e,yProp:t,yPropTop:a,yPropBottom:r})=>(e.forEach((n,s)=>{n.data.forEach((n,i)=>{const o=0===s?1:0;n[t]>e[o].data[i][t]?(n[r]=e[o].data[i][t],n[a]=n[t]):(n[a]=n[t],n[r]=n[t])})}),e),bumparea:ue,bumpline:ue,"bumparea-invert":ue,line:de,area:de,cumulative:ye,"cumulative-reverse":ye};function Me(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 $e(e,t,a){if(void 0===e)return[Me(void 0,t,a)];let r=[];return r=Array.isArray(e)?e:[e],r.map(e=>Me(e,t,a))}function Fe(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}const Ae=(e,t)=>!Se[e]||"difference"===e&&2!==t.length?"line":e,ze=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 Pe(e){return Math.round(10*e)/10}const we=({margin:e,axes:t,title:a,oLabel:r,projection:n,size:s})=>{if(void 0!==e){if("function"==typeof e&&(e=e({size:s})),"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 o="left";t&&"radial"!==n&&t.forEach(e=>{o=e.orient,i[o]=e.label?60:50});const{title:c,orient:l}=ze(a);return!c||"string"==typeof c&&0===c.length||(i[l]+=40),r&&"radial"!==n&&("bottom"===o||"top"===o?i.left+=50:i.bottom+=50),i};function De(e){return e instanceof Function||"string"==typeof e?{type:e}:void 0===e?{}:e}function Ce({data:e,renderKey:a=(e,t)=>t,oAccessor:r,rAccessor:n,originalRAccessor:s,originalOAccessor:i,multiAxis:o=!1}){let c,l;if(o&&n.length>1){let a=1/0;l=n.map(t=>{const r=e.map(t).reduce((e,t)=>[Math.min(t,e[0]),Math.max(t,e[1])],[1/0,-1/0]);return a=Math.min(r[0]/r[1],a),r});const r=l.map(e=>{let r=[0,1],n=e;return 0>e[0]&&e[1]>0?(r[0]=a,n[0]=n[1]*a):0>e[0]&&0>e[1]?(n[1]=0,r=[-1,0]):n[0]=0,t.scaleLinear().domain(e).range(r)});c=r.map((e,t)=>a=>e(n[t](a)))}else c=n;const d=[];return r.forEach((t,r)=>{c.forEach((n,o)=>{(e||[]).forEach(e=>{const c=a(e,d.length),l=void 0!==c&&c.toString&&""+c||c,y=s[o],u=i[r],m="string"==typeof y?y:"function-"+o,p="string"==typeof u?u:"function-"+r;if("object"!=typeof e){const t={value:e,renderKey:l},a=n(t);d.push({data:t,value:a,rIndex:o,rName:m,oIndex:r,oName:p,column:l,renderKey:l})}else{const a=n(e),s=t(e);d.push({renderKey:l,data:e,rIndex:o,rName:m,oIndex:r,oName:p,value:a,column:s&&s.toString?""+s:s})}})})}),{allData:d,multiExtents:l}}function Te({size:e=[500,500],position:t=[0,0],margin:a,projection:r}){const n=[t[0],t[1]];let s=[e[0]-(a.left+a.right),e[1]-(a.top+a.bottom)];if("radial"===r){const e=Math.min(s[0],s[1]);s=[e,e]}return{adjustedPosition:n,adjustedSize:s}}function Le({type:e,data:t,renderMode:a,eventListenersGenerator:r,styleFn:n,classFn:s,projection:i,canvasRender:o,canvasDrawing:c,pieceType:l}){if(!e.type)return null;const d=[],y=new Map,{keyedData:u,oExtent:m}=t;if("function"==typeof e.type){const t=e.type,p=m;if(m.forEach((e,m)=>{const h=u[e],g=u[p[m+1]];if(g){const e=g.map((e,a)=>t(Object.assign(Object.assign({},e.piece),e.piece.data),a));h.forEach((u,m)=>{const p=t(Object.assign(Object.assign({},u.piece),u.piece.data),m),h=t(Object.assign(Object.assign({},u.piece),u.piece.data),m),f=void 0!==h&&!1!==h&&e.indexOf(h);if(null!=p&&!1!==f&&-1!==f){const e=g[f];let t;if("radial"===i&&"point"===l.type){y.get(u)||y.set(u,[u]);const t=y.get(u);t&&(t.push(e),y.set(e,t),y.delete(u))}else{const{xy:l}=u,{xy:y}=e,{x:p,y:h,height:g=1,width:f=1}=l,{x:b,y:v,height:k=1,width:j=1}=y;if("vertical"===i)t=G({x1:p+f,x2:b,y1:h,y2:v,sizeX1:0,sizeX2:0,sizeY1:g,sizeY2:k});else if("horizontal"===i){const{value:a}=u.piece,{value:r}=e.piece;t=G({x1:0>a?u.piece.bottom-f:p-f,x2:0>r?e.piece.bottom-j:b-j,y1:h+g,y2:v,sizeX1:f,sizeX2:j,sizeY1:0,sizeY2:0})}else"radial"===i&&(t=G({x1:p,x2:b,y1:h+g,y2:v,sizeX1:f,sizeX2:j,sizeY1:0,sizeY2:0}));a&&a(u.piece,m);const E=Object.assign(Object.assign({},u.piece.data),u.piece.data),O=Object.assign(Object.assign({},e.piece),e.piece.data),S=n({source:E,target:O}),M=r({source:E,target:O},m);o&&!0===o(u.piece)?c.push({baseClass:"xyframe-line",tx:0,ty:0,d:{source:E,target:O},markProps:{d:t,markType:"path"},styleFn:n,renderFn:a,classFn:s}):d.push(x.createElement("path",Object.assign({},M,{d:t,className:s?s(u.piece.data,m):"",key:"connector"+u.piece.renderKey},S,{style:S})))}}})}}),y.size>0)for(const e of y.values()){const t=Object.assign(Object.assign({},e[0].piece),e[0].piece.data),r=`M${e.map(e=>`${e.xy.x},${e.xy.y}`).join("L")}Z`;if(o&&o(t))c.push({baseClass:"ordinal-radar",tx:0,ty:0,d:{source:t},markProps:{d:r,markType:"path"},styleFn:n,renderFn:a,classFn:s});else{const e=n({source:t});d.push(x.createElement("path",Object.assign({d:r,className:s?s(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 Ne={line:{items:"line",chart:"line chart"},area:{items:"summary",chart:"summary chart"},summary:{items:"summary",chart:"summary chart"},cumulative:{items:"line",chart:"cumulative chart"},"cumulative-reverse":{items:"line",chart:"cumulative chart"},linepercent:{items:"line",chart:"line chart"},stackedarea:{items:"stacked area",chart:"stacked area chart"},"stackedarea-invert":{items:"stacked area",chart:"stacked area chart"},stackedpercent:{items:"stacked area",chart:"stacked area chart"},"stackedpercent-invert":{items:"stacked area",chart:"stacked area chart"},bumparea:{items:"ranked area",chart:"ranked area chart"},"bumparea-invert":{items:"ranked area",chart:"ranked area chart"},bumpline:{items:"ranked line",chart:"ranked line chart"},difference:{items:"line",chart:"difference chart"}},Re=()=>({}),Ve=()=>"";function Ie(e,t,a){return x.createElement(oe,{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 Be=2*Math.PI,_e=({type:e,ordset:a,adjustedSize:n,piece:s,i:i})=>{let{innerRadius:o}=e;const{offsetAngle:c=0,angleRange:l=[0,360]}=e,d=c/360,y=l.map(e=>e/360),u=y[1]-y[0],m=1>u?t.scaleLinear().domain([0,1]).range(y):e=>e;let p="clusterbar"===e.type?0:"timeline"===e.type?s.scaledValue/2:s.bottom/2,h="clusterbar"===e.type?s.scaledValue/2:"timeline"===e.type?s.scaledEndValue/2:s.scaledValue/2+s.bottom/2;if(o){o=parseInt(o,10);const e=n[0]/2,t=(e-o)/e;p=p*t+o,h=h*t+o}const g=r.arc().innerRadius(p).outerRadius(h),x=("clusterbar"===e.type?(a.pct-a.pct_padding)/a.pieceData.length:a.pct)*u,f=m("clusterbar"===e.type?a.pct_start+i/a.pieceData.length*(a.pct-a.pct_padding):1===a.pct?0:a.pct_start+d),b=1===a.pct?y[1]:Math.max(f,f+x-a.pct_padding/2),v=f*Be,k=b*Be,j=g({startAngle:v,endAngle:k}),E=g.centroid({startAngle:v,endAngle:k}),O=n[0]/2,S=n[1]/2,M=E[0]+O,$=E[1]+S,F=P([0,0],(f+b)/2,s.scaledValue/2),A=`translate(${O},${S})`;return{xPosition:M,yPosition:$,xy:{arcGenerator:g,startAngle:v,endAngle:k,dx:F[0],dy:F[1]},translate:A,tx:O,ty:S,markProps:{markType:"path",d:j,transform:A}}},We=({type:e,projection:t,finalHeight:a,finalWidth:r,styleFn:n,classFn:s})=>(i,o,c)=>{const l="string"==typeof e.icon?e.icon:e.icon(i.data,o),{iconPadding:d=1,resize:y="auto"}=e,u=v.default(l),m=[0-u.x1+d,0-u.y1+d];u.height+=2*d,u.width+=2*d;const p=[];let h=u.height,g=1,f=1;const b="horizontal"===t?a:r,k="horizontal"===t?u.height:u.width,j="horizontal"===t?u.width:u.height,E="horizontal"===t?c.width:c.height,O="horizontal"===t?c.height:c.width;"auto"===y?(h=b/k,1>h?f=h:(g=Math.floor(h),f=1+(h-g)/g)):"fixed"===y&&(f=b/k);const S=u.height*f,M=j*f,$=k*f;m[0]=m[0]*f,m[1]=m[1]*f;const F=`iso-clip-${o}-${Math.random()}`,A=`url(#${F})`;if(c.width>0){p.push(x.createElement("clipPath",{key:F,id:F},x.createElement("rect",{x:0,y:0,width:c.width,height:c.height})));const e=[],a="horizontal"===t?M:-M,r="horizontal"===t?(e,t)=>t>e:(e,t,a)=>e>0+a;for(let d="horizontal"===t?0:c.height-S;r(d,E,a);d+=a)for(let a=0;O>a;a+=$)e.push(x.createElement("path",{key:`icon-${d}-${a}`,transform:`translate(${("horizontal"===t?d:a)+m[0]},${("horizontal"===t?a:d)+m[1]}) scale(${f})`,vectorEffect:"non-scaling-stroke",d:l,style:n(Object.assign(Object.assign({},i),i.data),o),className:s(Object.assign(Object.assign({},i),i.data),o)}));p.push(x.createElement("g",{key:"clipped-region-"+o,clipPath:A},e))}return p},Ge=e=>()=>e,Ke={clusterbar:function({type:e,data:t,renderMode:a,eventListenersGenerator:r,styleFn:n,projection:s,classFn:i,adjustedSize:o,chartSize:c,margin:l,rScale:d}){let y=[];return Object.keys(t).forEach((u,m)=>{const p=t[u],h=Math.max(p.width,1)/p.pieceData.length;let g=0,f=0;const b=p.pieceData.map((t,y)=>{const b=a&&a(t.data,y);let v=t.x,k=t.base,j=h,E=t.scaledValue,O={x:0,y:0};t.negative||(k-=t.scaledValue),"horizontal"===s&&(k=t.x,v=t.base,E=h,j=t.scaledValue,O.x=t.scaledValue,t.negative&&(v-=t.scaledValue,O.x=v));let S={},M=0,$=0;if("radial"===s){let a,r;({xPosition:v,yPosition:k,markProps:S,xy:O,tx:a,ty:r}=_e({type:e,ordset:p,adjustedSize:o,piece:t,i:y})),M=a,$=r,O.x=v}else v+=g,k+=f,S={markType:"rect",x:v,y:k,width:Math.max(0,j),height:Math.max(0,E),rx:0,ry:0},"vertical"===s&&(O.x=v);const F=r(t,y);O.y=k,O.middle=h/2,O.height=E,O.width=j,e.icon&&"radial"!==s?e.customMark=We({type:e,projection:s,finalHeight:E,finalWidth:j,styleFn:n,renderValue:b,classFn:i}):e.icon&&"radial"===s&&console.error("Icons are currently unsupported on radial charts");const A=e.customMark?x.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${v},${k})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:v,y:k}),y,Object.assign(Object.assign({},O),{renderMode:a,styleFn:n,classFn:i,adjustedSize:o,chartSize:c,margin:l,rScale:d}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},t),t.data),y),key:"piece-"+t.renderKey,transform:void 0,style:n(Object.assign(Object.assign({},t),t.data),m)},S),F);return"horizontal"===s?f+=E:g+=j,{o:u,xy:O,piece:t,tx:M,ty:$,renderValue:b,renderElement:A}});y=[...y,...b]}),y},bar:function({type:e,data:t,renderMode:a,eventListenersGenerator:r,styleFn:n,projection:s,classFn:i,adjustedSize:o,chartSize:c,margin:l,rScale:d}){let y=[];return Object.keys(t).forEach((u,m)=>{const p=t[u],h=Math.max(p.width,1);p.pieceData.forEach((t,g)=>{const f=t.scaledValue,b=a&&a(t.data,g);let v=t.x,k=t.bottom,j=h,E=f,O={};t.negative||(k-=t.scaledValue),"vertical"===s?O={x:v,y:k,middle:h/2,height:E,width:j}:"horizontal"===s&&(k=t.x,v=t.bottom,E=h,j=f,O={x:v+t.scaledValue,y:k,middle:h/2,height:E,width:j},t.negative&&(v=t.bottom-t.scaledValue));let S,M=0,$=0;if("radial"===s){let a,r;({markProps:S,xPosition:v,yPosition:k,tx:a,ty:r}=_e({type:e,ordset:p,adjustedSize:o,piece:t,i:g})),M=a,$=r,E=void 0,j=void 0,O={x:v,y:k,middle:h/2,height:E,width:j}}else S={markType:"rect",x:v,y:k,width:Math.max(0,j),height:Math.max(0,E),rx:0,ry:0};const F=r(t,g);e.icon&&"radial"!==s?e.customMark=We({type:e,projection:s,finalHeight:E,finalWidth:j,styleFn:n,renderValue:b,classFn:i}):e.icon&&"horizontal"!==s&&console.error("Icons are currently unsupported in radial charts");const A=e.customMark?x.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${v},${k})`,role:"img",tabIndex:-1},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:v,y:k}),g,Object.assign(Object.assign({},O),{renderMode:a,styleFn:n,classFn:i,adjustedSize:o,chartSize:c,margin:l,rScale:d}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},t),t.data),g),key:"piece-"+t.renderKey,style:n(Object.assign(Object.assign({},t),t.data),m)},F),S);y.push({o:u,xy:O,piece:t,tx:M,ty:$,renderValue:b,renderElement:A})})}),y},point:function({type:e,data:t,renderMode:a,eventListenersGenerator:r,styleFn:n,projection:s,classFn:i,adjustedSize:o,chartSize:c,margin:l,rScale:d}){const y=e.r||3;let u=[];return Object.keys(t).forEach((m,p)=>{const h=t[m],g=[];h.pieceData.forEach((t,u)=>{const f=a&&a(t.data,u);let b=h.middle,v=t.scaledVerticalValue;if("horizontal"===s)v=h.middle,b=t.scaledValue;else if("radial"===s){const e=P([o[0]/2,o[1]/2],h.pct_middle,t.scaledValue/2);b=e[0],v=e[1]}const k="function"==typeof y?y(t,u):y,j=r(t,u),E=e.customMark?x.createElement("g",{key:"piece-"+t.renderKey,transform:`translate(${b},${v})`},e.customMark(Object.assign(Object.assign(Object.assign({},t.data),t),{x:b,y:v,width:h.width}),u,{r:y,x:b,y:v,renderMode:a,styleFn:n,classFn:i,adjustedSize:o,chartSize:c,margin:l,rScale:d})):Object.assign({className:i(Object.assign(Object.assign({},t),t.data),u),markType:"rect",key:"piece-"+t.renderKey,height:2*k,width:2*k,x:b-k,y:v-k,rx:k,ry:k,style:n(Object.assign(Object.assign({},t),t.data),p)},j);g.push({o:m,xy:{x:b,y:v},piece:t,renderValue:f,renderElement:E})}),u=[...u,...g]}),u},swarm:function({type:e,data:t,renderMode:a,eventListenersGenerator:r,styleFn:n,projection:s,classFn:i,adjustedSize:o,chartSize:c,margin:d,rScale:y}){let u=[];const m=Object.keys(t),p=m.reduce((e,a)=>{var r;return e+((null===(r=t[a].pieceData)||void 0===r?void 0:r.length)||0)},0),h=void 0!==e.iterations?e.iterations:Math.max(30,Math.min(120,Math.floor(120-(p-100)/20)));return m.forEach((p,g)=>{const f=t[p],b=1/m.length,v=f.pieceData,k=f.width,j=e.r||Math.max(2,Math.min(5,4*k/v.length)),E=l.forceSimulation(v).force("y",l.forceY(e=>e.scaledValue).strength(e.strength||2)).force("x",l.forceX(f.middle)).force("collide",l.forceCollide(j)).stop();"vertical"===s&&E.force("y",l.forceY(e=>e.scaledVerticalValue).strength(e.strength||2));for(let e=0;h>e;++e)E.tick();const O=v.map((t,l)=>{const u=a&&a(t.data,l);let m=t.x,h=t.y;if("horizontal"===s)h=t.x,m=t.y;else if("radial"===s){m=(t.x-f.middle)/k*b;const e=P([o[0]/2,o[1]/2],f.pct_middle+m,t.scaledValue/2);m=e[0],h=e[1]}const v="function"==typeof j?j(t,l):j,E=r(t,l),O=e.customMark?x.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}),l,{x:m,y:h,r:j,renderMode:a,styleFn:n,classFn:i,adjustedSize:o,chartSize:c,margin:d,rScale:y})):Object.assign({className:i(Object.assign(Object.assign({},t),t.data),l),markType:"rect",key:"piece-"+t.renderKey,height:2*v,width:2*v,x:m-v,y:h-v,rx:v,ry:v,style:n(Object.assign(Object.assign({},t),t.data),g)},E);return{o:p,xy:{x:m,y:h},piece:t,renderValue:u,renderElement:O}});u=[...u,...O]}),u},timeline:function({type:e,data:t,renderMode:a,eventListenersGenerator:r,styleFn:n,projection:s,classFn:i,adjustedSize:o,chartSize:c,margin:l,rScale:d}){let y=[];return Object.keys(t).forEach((u,m)=>{const p=t[u],h=[];p.pieceData.forEach((t,y)=>{let g,f,b=0,v=0;const k=a&&a(t.data,y);let j=p.x,E=t.scaledEndValue-t.scaledValue,O=t.scaledVerticalValue-E,S=p.width,M={markType:"rect",height:0>E?-E:E,width:S,x:j,y:0>E?O+E:O};if("horizontal"===s)O=p.x,j=t.scaledValue,g=t.scaledEndValue-t.scaledValue,f=t.scaledBottom,S=t.scaledEndValue-t.scaledValue,E=p.width,M={markType:"rect",height:E,width:0>S?-S:S,x:0>S?j+S:j,y:O};else if("radial"===s){let a,r;({markProps:M,tx:a,ty:r}=_e({piece:t,type:e,ordset:p,adjustedSize:o,i:y})),b=a,v=r}const $=r(t,y),F={x:j,y:O,scaledValue:g,scaledBottom:f,height:E},A=e.customMark?x.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}),y,Object.assign(Object.assign({},F),{renderMode:a,styleFn:n,classFn:i,adjustedSize:o,chartSize:c,margin:l,rScale:d}))):Object.assign(Object.assign({className:i(Object.assign(Object.assign({},t),t.data),y),key:"piece-"+t.renderKey,style:n(Object.assign(Object.assign({},t),t.data),m)},M),$);h.push({o:u,xy:F,piece:t,tx:b,ty:v,renderValue:k,renderElement:A})}),y=[...y,...h]}),y}},Ye=e=>e.middle?e.middle:0,Xe=Ge(0),qe=2*Math.PI,He={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"}},Ze=({d:e,i:t,styleFn:a,key:r,className:n,transform:s})=>{const i=a(e,t);return x.createElement("rect",Object.assign({key:r,transform:s,width:2*e.nodeSize,height:2*e.nodeSize,ry:2*e.nodeSize,rx:2*e.nodeSize,x:-e.nodeSize,y:-e.nodeSize},i,{style:i,className:n,"aria-label":"Node "+e.id,tabIndex:-1}))},Qe=e=>({x:-e/2,y:-e/2,width:e,height:e}),Ue=({d:e,styleFn:t,key:a,className:r,transform:n})=>{const s="down"!==e.direction?e.height:e.width,i="down"!==e.direction?e.width:e.height;return e?x.createElement("rect",{key:a,className:r,transform:n,height:s,width:i,x:-i/2,y:-s/2,rx:0,ry:0,style:t(e),"aria-label":"Node "+e.id,tabIndex:-1}):x.createElement("g",null)},Je=({d:e,i:t,styleFn:a,key:r,className:n})=>e?x.createElement("rect",{key:r,transform:"translate(0,0)",width:e.x1-e.x0,height:e.y1-e.y0,x:e.x0,y:e.y0,rx:0,ry:0,style:a(e,t),className:n,"aria-label":"Node "+e.id,tabIndex:-1}):x.createElement("g",null),et=r.line().curve(r.curveMonotoneX).x(e=>e.x).y(e=>e.y),tt=r.line().curve(r.curveMonotoneY).x(e=>e.x).y(e=>e.y);function at(e,t,a){if(e.circular&&!t.circular)return-1;if(t.circular&&!e.circular)return 1;const r="down"===a?"y":"x",n="down"===a?"x":"y";return e.source[r]===t.source[r]?e.sankeyWidth===t.sankeyWidth?e.source[n]-t.source[n]:t.sankeyWidth-e.sankeyWidth:e.source[r]-t.source[r]}const rt={horizontal:r.linkHorizontal().x(e=>e.x).y(e=>e.y),vertical:r.linkVertical().x(e=>e.x).y(e=>e.y),radial:y.d.lineArc},nt={curve:(e,t="vertical")=>rt[t](e),linearc:e=>y.d.lineArc(e),ribbon:e=>y.d.ribbon(e,e.width),arrowhead:e=>y.d.arrowHead(e,e.target.nodeSize,e.width,1.5*e.width),halfarrow:e=>y.d.halfArrow(e,e.target.nodeSize,e.width,1.5*e.width),nail:e=>y.d.nail(e,e.source.nodeSize),comet:e=>y.d.comet(e,e.target.nodeSize),taffy:e=>y.d.taffy(e,e.source.nodeSize/2,e.target.nodeSize/2,(e.source.nodeSize+e.target.nodeSize)/4)},st=e=>`M${e.source.x},${e.source.y}L${e.target.x},${e.target.y}`,it=t=>{const{d:a,width:r,edgeLength:n,circular:s}=t,i=e.useRef(null);return e.useEffect(()=>{if(null==i?void 0:i.current){const e=Math.max(Math.min(r,s?r:n)/5,2);let t=u.pathArrows().arrowLength(2.5*e).gapLength(100).arrowHeadSize(e).path(a);d.select(i.current).selectAll("*").remove(),d.select(i.current).call(t),d.select(i.current).selectAll(":not(.arrow-head)").style("fill","none").style("stroke-width",e/4).style("stroke","white"),d.select(i.current).selectAll(".arrow-head").style("fill","white")}},[a]),x.createElement("g",{ref:i})},ot=e=>{const{d:t,i:a,styleFn:r,key:n,className:s,generatedPath:i}=e,{showArrows:o}=t;let c="";if(t.circular){const{circularPathData:e}=t,{sourceX:a,sourceY:r,leftFullExtent:n,rightFullExtent:s,verticalFullExtent:i,targetX:o,targetY:l}=e;c=`M${a},${r}L${n},${r}L${n},${i}L${s},${i}L${s},${l}L${o},${l}`}else{let e=t.source.x1,a=t.target.x0,r=m.interpolateNumber(e,a),n=r(.5),s=r(.5),i=t.y0,o=t.y1;c=`M${e},${i}C${n},${i} ${s},${o} ${a},${o}`}return x.createElement(x.Fragment,{key:n},x.createElement("path",{className:s,d:i,style:r(t,a),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}),o&&x.createElement(it,{d:c,width:t.sankeyWidth,edgeLength:Math.abs(t.target.x-t.source.x),circular:t.circular}))},ct=(e,t,a,r)=>{if(e.children)for(const n of e.children){const e=t.filter(e=>e[1]===n.id);for(const t of e){const e=r.find(e=>a(e)===t[0])||{},s=Object.assign(Object.assign({id:t[0]},e),{children:[],childMap:{}});n.childMap.set(t[0],s),n.children.push(s)}n.children.length>0&&ct(n,t,a,r)}},lt=({data:e,renderKeyFn:t,customMark:a,styleFn:r,classFn:n,renderMode:s,canvasDrawing:i,canvasRenderFn:o,networkSettings:c})=>{const l=a,d=[];if("matrix"!==c.type||!o){if(c){let a=0;for(const c of e){const e=l({d:c,i:a,renderKeyFn:t,styleFn:r,classFn:n,renderMode:s,key:t?t(c,a):c.id||"node-"+a,className:"node "+n(c,a),transform:`translate(${c.x},${c.y})`});if(o&&!0===o(c,a)){const{transform:t="translate(0,0)"}=e.props,[o,l]=t.replace("translate(","").replace(")","").split(","),d={baseClass:"frame-piece",tx:o,ty:l,d:c,i:a,markProps:Object.assign({markType:"string"==typeof e.type?e.type:e.props.markType},e.props),styleFn:r,renderFn:s,classFn:n};i.push(d)}else d.push(e);a++}}return d}},dt=e=>{const{data:t,renderKeyFn:a,customMark:r,styleFn:n,classFn:s,renderMode:i,canvasRenderFn:o,canvasDrawing:c,type:l,networkSettings:d,projection:y,numberOfNodes:u,size:m}=e,{type:p,direction:h,edgeSort:g=at}=d,f="sankey"===p?t.sort((e,t)=>g(e,t,h)):t;let b=st;const v=[];if(o&&"matrix"===d.type){let e=0;const t=Math.floor(Math.min(...m)/u);for(const a of f){const r={baseClass:"frame-piece",tx:a.source.y,ty:a.target.y,d:a,i:e,markProps:Object.assign({markType:"rect"},Qe(t)),styleFn:n,renderFn:i,classFn:s};c.push(r),e++}}else if(r){l&&("function"==typeof l?b=l:nt[l]&&(b=e=>nt[l](e,y)));let e=0;for(const t of f){const o=r({d:t,i:e,renderKeyFn:a,styleFn:n,classFn:s,renderMode:i,key:a?a(t,e):"edge-"+e,className:s(t,e)+" edge",transform:`translate(${t.x},${t.y})`,generatedPath:b(t)});o&&o.props&&("path"!==o.props.markType||o.props.d)&&v.push(o),e++}}else{l&&("function"==typeof l?b=l:nt[l]&&(b=e=>nt[l](e,y)));let e=0;for(const t of f){const r=b(t);r&&o&&!0===o(t,e)?c.push({baseClass:"frame-piece",tx:t.x,ty:t.y,d:t,i:e,markProps:{markType:"path",d:r},styleFn:n,renderFn:i,classFn:s}):r&&v.push(x.createElement("path",{key:a?a(t,e):"edge-"+e,className:s(t)+" edge",d:r,style:n(t,e),tabIndex:-1,role:"img","aria-label":`connection from ${t.source.id} to ${t.target.id}`}))}}return v},yt=[],ut={id:void 0,degree:0,inDegree:0,outDegree:0,x:0,y:0,x1:0,x0:0,y1:0,y0:0,height:0,width:0,radius:0,r:0,direction:void 0,textHeight:0,textWidth:0,fontSize:0,scale:1,nodeSize:0,component:-99,shapeNode:!1},mt={hierarchicalNetwork:!1},pt={nodeHash:new Map,edgeHash:new Map,nodes:[],edges:[],hierarchicalNetwork:!1,type:"force"},ht={dendrogram:p.tree,tree:p.tree,circlepack:p.pack,cluster:p.cluster,treemap:p.treemap,partition:p.partition};function gt(e,a,n,s){if(e)return e;const i=[n[0]/2,n[1]/2];switch(a.type){case"sankey":return Ue;case"partition":case"treemap":return"radial"===a.projection?((e,a,n)=>{const s=r.arc(),{angleRange:i=[0,360]}=n,o=i.map(e=>e/360),c=1>o[1]-o[0]?t.scaleLinear().domain([0,1]).range(o):e=>e;return({d:t,i:r,styleFn:n,key:i,className:o})=>t?(s.innerRadius(t.y0/2).outerRadius(t.y1/2),x.createElement("path",{key:i,transform:`translate(${a})`,d:s({startAngle:c(t.x0/e[0])*Math.PI*2,endAngle:c(t.x1/e[0])*Math.PI*2}),style:n(t,r),className:o,"aria-label":"Node "+t.id,tabIndex:-1})):x.createElement("g",null)})(n,i,a):Je;case"circlepack":return Ze;case"chord":return(e=>({d:t,i:a,styleFn:r,key:n,className:s})=>t?x.createElement("path",{key:n,className:s,transform:`translate(${e[0]/2},${e[1]/2})`,d:t.d,style:r(t,a),"aria-label":"Node "+t.id,tabIndex:-1}):x.createElement("g",null))(n);case"dagre":return Je;case"matrix":return((e,t)=>{const a=Math.min(...e),r=a/(t.length+1);return({d:e,i:n,styleFn:s,renderMode:i,key:o,className:c})=>{if(!e)return x.createElement("g",null);const l=r>6,d=r>3,y=r>.5,u={textAnchor:"end",fontSize:r/2+"px"},m=s(e,n);return i&&i(e,n),x.createElement("g",{key:o,className:c},y&&x.createElement("rect",{x:r/2,y:e.y-r/2,width:a-r,height:r,style:Object.assign(Object.assign({},m),{stroke:"none"})}),y&&x.createElement("rect",{y:r/2,x:e.y-r/2,height:a-r,width:r,style:Object.assign(Object.assign({},m),{stroke:"none"})}),d&&x.createElement("line",{stroke:"black",x1:0,x2:a-r/2,y1:e.y-r/2,y2:e.y-r/2,style:m}),d&&x.createElement("line",{stroke:"black",y1:0,y2:a-r/2,x1:e.y-r/2,x2:e.y-r/2,style:m}),d&&n===t.length-1&&x.createElement("line",{stroke:"black",x1:0,x2:a-r/2,y1:e.y+r/2,y2:e.y+r/2,style:m}),d&&n===t.length-1&&x.createElement("line",{stroke:"black",y1:0,y2:a-r/2,x1:e.y+r/2,x2:e.y+r/2,style:m}),l&&x.createElement("text",Object.assign({x:0,y:e.y+r/5},u),e.id),l&&x.createElement("text",Object.assign({transform:`translate(${e.y}) rotate(90) translate(0,${r/5})`},u,{y:0}),e.id))}})(n,s)}return Ze}const xt=e=>({edge:e,x:(e.source.x+e.target.x)/2,y:(e.source.y+e.target.y)/2}),ft={sankey:e=>({edge:e,x:(e.source.x1+e.target.x0)/2,y:e.circularPathData?e.circularPathData.verticalFullExtent:((e.y0+e.y1)/2+(e.y0+e.y1)/2)/2}),force:xt,tree:xt,cluster:xt,matrix:e=>({edge:e,x:e.source.y,y:e.target.y})},bt={partition:!0,cluster:!0,tree:!0,dendrogram:!0},vt={partition:!0,cluster:!0,tree:!0,dendrogram:!0};function kt(e,t,a){return t.parent&&(a=`${a}-${kt(e,Object.assign(Object.assign({},t.parent),t.parent.data),a)}`),`${a}-${e(Object.assign(Object.assign({},t),t.data))}`}const jt=e=>e.id||e.descendantIndex,Et=(e,n,s,i)=>{const{graph:o,nodes:c=(Array.isArray(o)||"function"==typeof o?yt:o&&o.nodes||yt),edges:l=("function"==typeof o?yt:Array.isArray(o)?o:o&&o.edges||yt),networkType:d,size:y,nodeStyle:u,nodeClass:h,canvasNodes:g,edgeStyle:f,edgeClass:b,canvasEdges:v,nodeRenderMode:k,edgeRenderMode:j,nodeLabels:E,title:O,margin:S,hoverAnnotation:M,customNodeIcon:$,customEdgeIcon:F,filterRenderedNodes:A}=e;let z,{edgeType:w}=e;const D={};let C=["type"];"string"==typeof d?z=Object.assign(Object.assign({type:d},mt),{graphSettings:pt}):(d&&(C=Object.keys(d)),z=Object.assign(Object.assign(Object.assign({type:"force"},mt),d),{graphSettings:pt})),"vertical"===z.projection&&"sankey"===z.type&&(z.direction="down"),C.push("height","width");const T="object"!=typeof O||x.isValidElement(O)||null===O?{title:O,orient:"top"}:O,{margin:L,adjustedPosition:N,adjustedSize:R}=s.marginCalc(S,T,y);z.graphSettings.nodes=c,z.graphSettings.edges=l,z.graphSettings.filterRenderedNodes=A;let{edgeHash:V,nodeHash:I}=z.graphSettings;const B="treemap"===z.type||"partition"===z.type||"sankey"===z.type,_=s.accessorConversions(e.nodeIDAccessor,e.sourceAccessor,e.targetAccessor,e.nodeSizeAccessor,e.edgeWidthAccessor),W=_.nodeIDAccessor,G=_.sourceAccessor,Y=_.targetAccessor,X=_.nodeSizeAccessor,q=_.edgeWidthAccessor,{nodeStyleFn:H,nodeClassFn:Z,nodeRenderModeFn:Q,nodeCanvasRenderFn:U}=s.nodeStyleFns(u,h,k,g);let{projectedNodes:J,projectedEdges:ee}=n;const te="string"==typeof z.type&&ht[z.type],ae=!n.projectedNodes||!n.projectedEdges||n.graphSettings.nodes!==c||n.graphSettings.edges!==l||te||n.graphSettings.filterRenderedNodes!==A;if("dagre"===z.type){const e=o,t=new Map;J=e.nodes().map(a=>{const r=e.node(a),n=Object.assign(Object.assign({},r),{x0:r.x-r.width/2,x1:r.x+r.width/2,y0:r.y-r.height/2,y1:r.y+r.height/2,id:a,shapeNode:!0,sourceLinks:[],targetLinks:[]});return t.set(a,n),n}),ee=e.edges().map(a=>{const r=e.edge(a),n=Object.assign(Object.assign({},r),{points:r.points.map(e=>Object.assign({},e))});return n.source=J.find(e=>e.id===a.v),n.target=J.find(e=>e.id===a.w),n.points.unshift({x:n.source.x,y:n.source.y}),n.points.push({x:n.target.x,y:n.target.y}),t.get(a.v).targetLinks.push(n),t.get(a.w).sourceLinks.push(n),n})}else if(ae){const e=J;V=new Map,I=new Map,z.graphSettings.edgeHash=V,z.graphSettings.nodeHash=I,J=[],ee=[];const t="function"==typeof z.fixExistingNodes?z.fixExistingNodes:!!z.fixExistingNodes&&(()=>!0);c.forEach(a=>{const r=Object.assign({},a),n=W(r),s=e.find(e=>e.id===n),i=s||{x:void 0,y:void 0};I.set(n,r),I.set(a,r),J.push(r),r.id=n,r.inDegree=0,r.outDegree=0,r.degree=0,r.x=i.x,r.y=i.y,s&&t&&t(s)&&(r.fx=s.x,r.fy=s.y)});let a=l,r=l;if(te&&Array.isArray(l)){const e=((e,t,a,r,n)=>{let s={id:"root-generated",children:[],childMap:new Map};const i=new Map,o=new Map;let c=!0,l=!0;for(let t=0;e.length>t;t++){const s=e[t],c=a(s),d=r(s),y="object"==typeof c?n(c):c,u="object"==typeof d?n(d):d;if(o.set(u,y),i.has(y)){l=!1;break}i.set(y,u)}if(l){const e=[];for(const a of i){e.push(a);const r=a[1];if(!i.has(r)){i.set(r,"root-generated");const e=t.find(e=>n(e)===r)||{},a=Object.assign(Object.assign({id:r},e),{children:[],childMap:new Map});s.childMap.set(r,a),s.children.push(a)}}return ct(s,e,n,t),t.forEach(e=>{const t=n(e);i.has(t)||o.has(t)||s.children.push(Object.assign(Object.assign({id:t},e),{children:[],childMap:new Map}))}),1===s.children.length&&(s=s.children[0],c=!1),{hierarchy:s,isHierarchical:!0,hasLogicalRoot:c}}return{hierarchy:{},isHierarchical:!1,hasLogicalRoot:!1}})(l,c,G,Y,W);e.isHierarchical?(r=e.hierarchy,J=[]):(console.error("You've sent an edge list that is not strictly hierarchical (there are nodes with multiple parents) defaulting to force-directed network layout"),z.type="force")}if(!Array.isArray(r)){z.hierarchicalNetwork=!0;const e=p.hierarchy(r,z.hierarchyChildren);if(e.sum(z.hierarchySum||(e=>e.value)),te){const t=(z.layout||te)(),a=Object.keys(z);"dendrogram"!==z.type&&"tree"!==z.type&&"cluster"!==z.type||!t.separation||t.separation((e,t)=>(X(Object.assign(Object.assign({},e),e.data))||1)+(z.nodePadding||0)+(X(Object.assign(Object.assign({},t),t.data))||1)),a.forEach(e=>{t[e]&&t[e](z[e])}),!z.nodeSize&&t.size&&t.size("horizontal"===z.projection&&te?[R[1],R[0]]:R),t(e)}a=((e,t=jt)=>{var a,r;const n=[],s=[],i=(e.descendants?e:p.hierarchy(e)).descendants();let o=0;for(const e of i)e.descendantIndex=o,o++;for(const e of i){const i=`${null!==(a=t(Object.assign(Object.assign({},e),e.data)))&&void 0!==a?a:jt(e)}-${e.parent?null!==(r=kt(t,Object.assign(Object.assign({},e.parent),e.parent.data),""))&&void 0!==r?r:e.parent.name:"root"}`,o=Object.assign(e,e.data||{},{hierarchicalID:i});if(s.push(o),null!==e.parent){const t=Object.assign(e.parent,e.parent.data||{});n.push({source:t,target:o,depth:e.depth,weight:1,value:1,_NWFEdgeKey:i})}}return{edges:n,nodes:s}})(e,W).edges}ut.shapeNode=B,Array.isArray(a)&&a.forEach(e=>{const t=G(e),a=Y(e);[t,a].forEach(e=>{if(!I.get(e)){const t=Object.assign(Object.assign({},ut),"object"==typeof e?e:{id:e,createdByFrame:!0}),a=t.id||W(t);D[a]?D[a]+=1:D[a]=1,t.id||(t.id=`${a}${1===D[a]?"":"-"+D[a]}`),I.set(e,t),J.push(t)}});const r=e.weight||1,n=I.get(t),s=I.get(a);s.inDegree+=r,n.outDegree+=r,s.degree+=r,n.degree+=r;const i=`${W(n)||t}|${W(s)||a}`,o=Object.assign({},e,{source:I.get(t),target:I.get(a)});V.set(i,o),ee.push(o),"matrix"===z.type&&ee.push(Object.assign(Object.assign({},o),{source:o.target,target:o.source}))})}else V=new Map,z.graphSettings.edgeHash=V,ee.forEach(e=>{const t="string"==typeof e.source?e.source:W(e.source),a="string"==typeof e.target?e.target:W(e.target);V.set(`${t}|${a}`,e)});const re=gt($,z,R,J),ne=function({baseCustomEdgeIcon:e,networkSettings:t,size:a,graph:n,nodes:s}){if(e)return e;switch(t.type){case"partition":case"treemap":case"circlepack":return()=>null;case"chord":return(e=>({d:t,i:a,styleFn:r,key:n,className:s})=>x.createElement("path",{key:n,className:s,transform:`translate(${e[0]/2},${e[1]/2})`,d:t.d,style:r(t,a),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}))(a);case"matrix":return((e,t)=>({d:a,i:r,styleFn:n,key:s,className:i})=>{const o=Math.min(...e)/t.length,c=n(a,r);return x.createElement("g",{key:s},x.createElement("rect",Object.assign({key:s,className:i,transform:`translate(${a.source.y},${a.target.y})`},c,{style:c,"aria-label":`Connection from ${a.source.id} to ${a.target.id}`,tabIndex:-1},Qe(o))))})(a,s);case"arc":return(e=>{const t=e[1]/e[0];function a(e){return r.line().curve(r.curveBasis)([[e.source.x,0],[(e.source.x+e.target.x)/2,(e.source.x-e.target.x)*t],[e.target.x,0]])}return({d:t,i:r,styleFn:n,key:s,className:i})=>{const o=n(t,r);return x.createElement("path",Object.assign({key:s,className:i,transform:`translate(0,${e[1]/2})`,d:a(t)},o,{style:o,"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}))}})(a);case"dagre":if(n)return(e=>{const t="LR"===e||"RL"===e?et:tt;return({d:e,i:a,styleFn:r,key:n,className:s})=>{if(e.ribbon||e.parallelEdges){const t=K();if(t.x(e=>e.x),t.y(e=>e.y),t.r(()=>e.weight||1),e.parallelEdges){const i=e.parallelEdges.sort((e,t)=>t.weight-e.weight);return x.createElement("g",{key:""+n},t({points:e.points,multiple:e.parallelEdges}).map((t,o)=>x.createElement("path",{key:`${n}-${o}`,className:s,d:t,style:r(i[o],a),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})))}return x.createElement("path",{key:n,className:s,d:t(e.points),style:r(e,a),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})}return x.createElement("path",{key:n,className:s,d:t(e.points),style:r(e,a),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})}})(n.graph().rankdir);case"sankey":return ot}}({baseCustomEdgeIcon:F,networkSettings:z,size:R,nodes:J,graph:o});z.width=y[0],z.height=y[1];let se,ie=!1;if(C.forEach(e=>{"edgeType"!==e&&"graphSettings"!==e&&z[e]!==n.graphSettings[e]&&(ie=!0)}),"sankey"===z.type?w=e=>e.circular?function(e){const t=K();return t.x(e=>e.x),t.y(e=>e.y),t.r(()=>e.sankeyWidth/2),t("down"===e.direction?[{x:e.circularPathData.sourceY,y:e.circularPathData.sourceX},{x:e.circularPathData.sourceY,y:e.circularPathData.leftFullExtent},{x:e.circularPathData.verticalFullExtent,y:e.circularPathData.leftFullExtent},{x:e.circularPathData.verticalFullExtent,y:e.circularPathData.rightFullExtent},{x:e.circularPathData.targetY,y:e.circularPathData.rightFullExtent},{x:e.circularPathData.targetY,y:e.circularPathData.targetX}]:[{x:e.circularPathData.sourceX,y:e.circularPathData.sourceY},{x:e.circularPathData.leftFullExtent,y:e.circularPathData.sourceY},{x:e.circularPathData.leftFullExtent,y:e.circularPathData.verticalFullExtent},{x:e.circularPathData.rightFullExtent,y:e.circularPathData.verticalFullExtent},{x:e.circularPathData.rightFullExtent,y:e.circularPathData.targetY},{x:e.circularPathData.targetX,y:e.circularPathData.targetY}])}(e):"angled"===w?(e=>{const t=Math.abs("down"===e.direction?e.target.y-e.source.y:e.source.x-e.target.x),a="down"===e.direction?[{x:e.y0,y:e.source.y},{x:e.y0,y:e.source.y+t/3},{x:e.y1,y:e.target.y-t/3},{x:e.y1,y:e.target.y}]:[{x:e.source.x0,y:e.y0},{x:e.source.x0+t/3,y:e.y0},{x:e.target.x0-t/3,y:e.y1},{x:e.target.x0,y:e.y1}],r=K();return r.x(e=>e.x),r.y(e=>e.y),r.r(()=>e.sankeyWidth/2),r(a)})(e):(e=>{let t,a,r,n,s,i,o,c,l;return"down"===e.direction?(t=e.y0-e.sankeyWidth/2,a=e.y1-e.sankeyWidth/2,r=e.y1+e.sankeyWidth/2,n=e.y0+e.sankeyWidth/2,s=e.source.y1,i=e.target.y0,o=m.interpolateNumber(s,i),c=o(.5),l=o(.5),`M${t},${s}C${t},${c} ${a},${l} ${a},${i}L${r},${i}C${r},${l} ${n},${c} ${n},${s}Z`):(t=e.source.x1,a=e.target.x0,o=m.interpolateNumber(t,a),r=o(.5),n=o(.5),s=e.y0-e.sankeyWidth/2,i=e.y1-e.sankeyWidth/2,c=e.y1+e.sankeyWidth/2,l=e.y0+e.sankeyWidth/2,`M${t},${s}C${r},${s} ${n},${i} ${a},${i}L${a},${c}C${n},${c} ${r},${l} ${t},${l}Z`)})(e):te&&J.forEach(e=>{if(B&&(e.x=(e.x0+e.x1)/2,e.y=(e.y0+e.y1)/2),"string"==typeof z.type&&bt[z.type]&&"horizontal"===z.projection){const t=e.x;if(e.x=e.y,e.y=t,B){const t=e.x0,a=e.x1;e.x0=e.y0,e.x1=e.y1,e.y0=t,e.y1=a}}else if("string"==typeof z.type&&vt[z.type]&&"radial"===z.projection){const t=0===e.depth?[R[0]/2,R[1]/2]:P([R[0]/2,R[1]/2],e.x/R[0],e.y/2);e.x=t[0],e.y=t[1]}else e.x=e.x,e.y=e.y,B&&(e.x0=e.x0,e.x1=e.x1,e.y0=e.y0,e.y1=e.y1)}),"static"!==z.type&&(ae||ie)&&("function"==typeof z.type?z.type({nodes:J,edges:ee}):J.forEach(e=>{e.x=void 0===e.x?(e.x0+e.x1)/2:e.x,e.y=void 0===e.y?e.y0:e.y}),n.graphSettings.nodes=e.nodes,n.graphSettings.edges=e.edges),J=J.filter(A),ee=ee.filter(e=>-1!==J.indexOf(e.target)&&-1!==J.indexOf(e.source)),"flip"===z.direction)J.forEach(e=>{e.x=R[0]-e.x,e.y=R[1]-e.y});else if("up"===z.direction||"down"===z.direction){const e="up"===z.direction?e=>R[1]-e:e=>e;J.forEach(t=>{const a=t.x,r=t.x0,n=t.x1;t.x=e(t.y),t.x0=e(t.y0),t.x1=e(t.y1),t.y=a,t.y0=r,t.y1=n})}else"left"===z.direction&&J.forEach(e=>{e.x=R[0]-e.x,e.x0=R[0]-e.x0,e.x1=R[0]-e.x1});if("function"==typeof z.zoom)z.zoom(J,ee,R);else if(!1!==z.zoom&&"matrix"!==z.type&&"chord"!==z.type&&"sankey"!==z.type&&"partition"!==z.type&&"treemap"!==z.type&&"circlepack"!==z.type&&"dagre"!==z.type){const e=a.min(J.map(e=>e.x-X(e))),r=a.max(J.map(e=>e.x+X(e))),n=a.min(J.map(e=>e.y-X(e))),s=a.max(J.map(e=>e.y+X(e))),i=Math.abs(r-e),o=Math.abs(s-n);let c,l;"stretch"===z.zoom?(c=0,l=0):i/o>R[0]/R[1]?(l=0,c=(R[1]-R[0]/i*o)/2):(c=0,l=(R[0]-R[1]/o*i)/2);const d=t.scaleLinear().domain([e,r]).range([l,R[0]-l]),y=t.scaleLinear().domain([n,s]).range([c,R[1]-c]);J.forEach(e=>{e.x=d(e.x),e.y=y(e.y)})}else if(!1===z.zoom||"radial"===z.projection||"partition"!==z.type&&"treemap"!==z.type&&"dagre"!==z.type){if(!1!==z.zoom&&"sankey"===z.type&&ee.some(e=>e.circular)){const e=ee.filter(e=>e.circular),r=a.min(e,e=>e.circularPathData.rightFullExtent-e.sankeyWidth/2)||1/0,n=a.max(e,e=>e.circularPathData.leftFullExtent+e.sankeyWidth/2)||-1/0,s=a.min(e,e=>e.circularPathData.verticalFullExtent-e.sankeyWidth/2)||1/0,i=a.max(e,e=>e.circularPathData.verticalFullExtent+e.sankeyWidth/2)||-1/0,o=a.min(J,e=>e.y0),c=a.max(J,e=>e.y1),l=a.min(J,e=>e.x0),d=a.max(J,e=>e.x1),y=Math.min(r,l),u=Math.max(n,d),m=Math.min(s,o),p=Math.max(i,c),h=t.scaleLinear().domain([y,u]).range([0,R[0]]),g=t.scaleLinear().domain([m,p]).range([0,R[1]]),x=R[1]/(p-m);for(const e of J)e.x=h(e.x),e.x0=h(e.x0),e.x1=h(e.x1),e.y=g(e.y),e.y0=g(e.y0),e.y1=g(e.y1),e.width=e.x1-e.x0,e.height=e.y1-e.y0;for(const e of ee)e.circular?(e.circularPathData.sourceX=h(e.circularPathData.sourceX),e.circularPathData.sourceY=g(e.circularPathData.sourceY),e.circularPathData.leftFullExtent=h(e.circularPathData.leftFullExtent),e.circularPathData.verticalFullExtent=g(e.circularPathData.verticalFullExtent),e.circularPathData.rightFullExtent=h(e.circularPathData.rightFullExtent),e.circularPathData.targetX=h(e.circularPathData.targetX),e.circularPathData.targetY=g(e.circularPathData.targetY)):(e.y0=g(e.y0),e.y1=g(e.y1)),e.sankeyWidth=e.sankeyWidth*x}}else{const e=a.min(J.map(e=>e.x0)),r=a.max(J.map(e=>e.x1)),n=a.min(J.map(e=>e.y0)),s=a.max(J.map(e=>e.y1)),i=t.scaleLinear().domain([e,r]).range([L.left,R[0]-L.right]),o=t.scaleLinear().domain([n,s]).range([L.top,R[1]-L.bottom]);J.forEach(e=>{e.x=i(e.x),e.y=o(e.y),e.x0=i(e.x0),e.y0=o(e.y0),e.x1=i(e.x1),e.y1=o(e.y1),e.zoomedHeight=e.y1-e.y0,e.zoomedWidth=e.x1-e.x0}),ee.forEach(e=>{e.points&&e.points.forEach(e=>{e.x=i(e.x),e.y=o(e.y)})})}J.forEach(e=>{e.nodeSize=X(e)}),ee.forEach(e=>{e.width=q(e)}),e.legend&&(se=e.legend,!se.legendGroups)&&(se.legendGroups=[{styleFn:e.nodeStyle,type:"fill",items:[]}]);const oe=s.edgeStyleFns(f,b,j,v),ce={edges:{accessibleTransform:(e,t)=>{const a=(e[t].source.x+e[t].target.x)/2,r=(e[t].source.y+e[t].target.y)/2;return Object.assign(Object.assign({type:"frame-hover"},e[t]),{x:a,y:r})},data:ee,styleFn:oe.edgeStyleFn,classFn:oe.edgeClassFn,renderMode:oe.edgeRenderModeFn,canvasRenderFn:oe.edgeCanvasRenderFn,renderKeyFn:e.edgeRenderKey?e.edgeRenderKey:e=>e._NWFEdgeKey||e.key||`${e.source.id}-${e.target.id}`,behavior:dt,projection:z.projection,type:w,customMark:ne,networkSettings:z,numberOfNodes:J.length,size:R},nodes:{accessibleTransform:(e,t)=>Object.assign(Object.assign({type:"frame-hover"},e[t]),e[t].data||{}),data:J,styleFn:H,classFn:Z,renderMode:Q,canvasRenderFn:U,customMark:re,behavior:lt,renderKeyFn:e.nodeRenderKey,networkSettings:z}},le=[];let de;e.nodeLabels&&J&&J.forEach((e,t)=>{const a=E&&!0!==E&&E(e);if(!0===E||a){const r="radial"===z.projection&&0!==e.depth?((e,t,a,r)=>{const n=(e.x1+e.x0)/2/r[0],s=a(e,t);return x.createElement("g",{transform:`rotate(${n>.5?360*n+90:360*n-90})`},"string"==typeof s?x.createElement("text",{textAnchor:"middle",y:5},s):s)})(e,t,!0===E?W:E,R):!0===E?W(e,t):a;let n;n=x.isValidElement(r)?{key:"node-label-"+t,type:"basic-node-label",x:e.x,y:e.y,element:r}:{key:"node-label-"+t,className:"node-label",dx:0,dy:0,x:e.x,y:e.y,color:"currentColor",note:{label:r},connector:{end:"none"},type:"label",subject:{radius:X(e)+2}},le.push(n)}});const ye=[];if(M&&["circlepack","treemap","partition","chord"].find(e=>e===z.type)||"area"===M){if("edge"!==M){const e=J.map((e,t)=>Object.assign({overlayData:e},re({d:e,i:t,transform:`translate(${e.x},${e.y})`,styleFn:()=>({opacity:0})}).props));ye.push(...e)}"node"!==M&&ee.forEach((e,t)=>{const a=ne({d:e,i:t,transform:`translate(${e.x},${e.y})`,styleFn:()=>({opacity:0})});a&&ye.push(Object.assign({overlayData:Object.assign(Object.assign({},e),{x:void 0===e.x?(e.source.x+e.target.x)/2:e.x,y:void 0===e.y?(e.source.y+e.target.y)/2:e.y,edge:!0})},a.props))})}else"edge"===M&&"string"==typeof z.type&&ft[z.type]?de=ee.map(ft[z.type]):Array.isArray(M)||!0===M||"node"===M?(de=J,(ae||ie)&&(de=[...J])):"all"===M&&"string"==typeof z.type&&(de=[...ee.map(ft[z.type]),...J]);return{adjustedPosition:N,adjustedSize:R,backgroundGraphics:e.backgroundGraphics,foregroundGraphics:e.foregroundGraphics,title:T,renderNumber:n.renderNumber+1,projectedNodes:J,projectedEdges:ee,projectedXYPoints:de,overlay:ye,nodeIDAccessor:W,sourceAccessor:G,targetAccessor:Y,nodeSizeAccessor:X,edgeWidthAccessor:q,margin:L,legendSettings:se,networkFrameRender:ce,nodeLabelAnnotations:le,graphSettings:Object.assign(Object.assign({},z.graphSettings),z),props:e}},Ot={y:pe,x:me,yMiddle:he,yTop:ge,yBottom:xe,xMiddle:fe,xTop:be,xBottom:ve},St={y:"y",x:"x"},Mt={y:"y",x:"x"},$t=["axes-tick-lines","viz-layer","matte","axes-labels","labels"];function Ft(e,t,a,r,n){const s=[],i=Object.keys(e);return[...t,...i.filter(e=>-1===t.indexOf(e))].forEach(t=>{const i=e[t];if(i&&(i.data&&"object"==typeof i.data&&!Array.isArray(i.data)||i.data&&i.data.length>0)){const e=i.behavior(Object.assign({xScale:a,yScale:r,canvasDrawing:[],projectedCoordinateNames:n},i));e&&e.length>0&&s.push(x.createElement("g",{key:t,className:t,role:"group"},e))}}),s}function At(e){const a=Object.assign(Object.assign({},{annotations:[],foregroundGraphics:void 0,size:[500,500],className:"",lineType:"line",name:"xyframe",dataVersion:void 0}),e),n={annotatedSettings:b.default((e,t,a,r,n,s,i,o)=>({xAccessor:$e(e,e=>e[0]),yAccessor:$e(t,e=>e[1]),summaryDataAccessor:$e(a,e=>Array.isArray(e)?e:e.coordinates),lineDataAccessor:$e(r,e=>Array.isArray(e)?e:e.coordinates),renderKeyFn:Me(n,(e,t)=>"line-"+t,!0),lineIDAccessor:Me(o,e=>e.semioticLineID)})),marginCalc:b.default((e,t,a,r)=>{const n=we({margin:e,axes:t,title:a,size:r}),{adjustedPosition:s,adjustedSize:i}=Te({size:r,margin:n});return{margin:n,adjustedPosition:s,adjustedSize:i}}),summaryStyleFns:b.default((e,t,a)=>({summaryStyleFn:Me(e,Re,!0),summaryClassFn:Me(t,Ve,!0),summaryRenderModeFn:Me(a,void 0,!0)})),lineStyleFns:b.default((e,t,a,r)=>({styleFn:Me(e,Re,!0),classFn:Me(t,Ve,!0),renderMode:Me(a,void 0,!0),canvasRender:Me(r,void 0,!0)})),pointStyleFns:b.default((e,t,a,r)=>({styleFn:Me(e,Re,!0),classFn:Me(t,Ve,!0),renderMode:Me(a,void 0,!0),canvasRender:Me(r,void 0,!0)})),summaryCanvasRender:b.default(e=>Me(e,void 0,!0))},s=function(e){return{size:[500,500],dataVersion:void 0,lineData:void 0,pointData:void 0,summaryData:void 0,projectedLines:void 0,projectedPoints:void 0,projectedSummaries:void 0,fullDataset:[],adjustedPosition:[0,0],adjustedSize:[500,500],backgroundGraphics:null,foregroundGraphics:null,axesData:void 0,axes:void 0,axesTickLines:void 0,renderNumber:0,margin:{top:0,bottom:0,left:0,right:0},calculatedXExtent:[0,0],calculatedYExtent:[0,0],xAccessor:[e=>e.x],yAccessor:[e=>e.y],xExtent:[0,0],yExtent:[0,0],areaAnnotations:[],xScale:t.scaleLinear(),yScale:t.scaleLinear(),title:null,legendSettings:void 0,xyFrameRender:{},canvasDrawing:[],annotatedSettings:{xAccessor:void 0,yAccessor:void 0,summaryDataAccessor:void 0,lineDataAccessor:void 0,renderKeyFn:void 0,lineType:void 0,summaryType:void 0,lineIDAccessor:void 0,summaries:void 0,lines:void 0,title:void 0,xExtent:void 0,yExtent:void 0},overlay:void 0,props:e}}(a),o=Object.assign(Object.assign({},s),((e,a,n,s)=>{const{legend:o,lines:c,lineClass:l,pointStyle:d,pointRenderMode:y,pointClass:u,summaryClass:m,canvasLines:p,canvasPoints:h,canvasSummaries:g,defined:b,size:v,renderKey:k,lineType:j,summaryType:M,customLineMark:$,customPointMark:F,customSummaryMark:A,summaryStyle:z,summaryRenderMode:P,lineStyle:w,lineRenderMode:D,xExtent:C,yExtent:T,title:L,xScaleType:V=t.scaleLinear(),yScaleType:I=t.scaleLinear(),lineIDAccessor:B,invertX:_,invertY:W,showLinePoints:G,showSummaryPoints:K,points:Y,lineDataAccessor:X,summaryDataAccessor:Q,yAccessor:U,xAccessor:J,useSummariesAsInteractionLayer:ee,filterRenderedLines:te,filterRenderedSummaries:ae,filterRenderedPoints:re,annotations:ne}=e;let{projectedLines:se,projectedPoints:ie,projectedSummaries:ce,summaries:le,fullDataset:de}=e;M&&Y&&!le?le=[{coordinates:Y}]:M&&"linebounds"===M.type&&c&&!le&&(le=c);const ye=V.domain?V:V(),ue=I.domain?I:I(),Me=s.annotatedSettings(J,U,Q,X,k,j,M,B),$e=Object.assign(Object.assign({},Me),{lineType:De(j),summaryType:De(M),summaries:!le||Array.isArray(le)&&0===le.length?void 0:Array.isArray(le)?Q||le[0].coordinates?le:[{coordinates:le}]:[le],lines:!c||Array.isArray(c)&&0===c.length?void 0:Array.isArray(c)?X||c[0].coordinates?c:[{coordinates:c}]:[c],title:"object"!=typeof L||x.isValidElement(L)||null===L?{title:L,orient:"top"}:L,xExtent:Array.isArray(C)?C:C?C.extent:void 0,yExtent:Array.isArray(T)?T:T?T.extent:void 0});"area"===$e.lineType.type&&($e.lineType.y1=()=>0,$e.lineType.simpleLine=!1);const{summaryStyleFn:ze,summaryClassFn:Pe,summaryRenderModeFn:we}=s.summaryStyleFns(z,m,P),Ce=e.axes&&e.axes.map(t=>"function"==typeof t?t({size:e.size}):t),{margin:Te,adjustedPosition:Le,adjustedSize:Re}=s.marginCalc(e.margin,Ce,$e.title,e.size);let Ve,Ie,Be,_e,We,Ge,Ke,Ye,Xe=[],qe=[];Be="object"==typeof C?C:{extent:C},_e="object"==typeof T?T:{extent:T},Ie&&Ve&&de&&(se||ie||ce)||({xExtent:Ie,yExtent:Ve,projectedLines:se,projectedPoints:ie,projectedSummaries:ce,fullDataset:de,calculatedXExtent:Xe,calculatedYExtent:qe}=(({lineDataAccessor:e,xAccessor:a,yAccessor:n,summaries:s,points:o,lines:c,lineType:l,showLinePoints:d,showSummaryPoints:y,xExtent:u,yExtent:m,invertX:p,invertY:h,summaryDataAccessor:g,summaryType:b,adjustedSize:v,margin:k,summaryStyleFn:j,summaryClassFn:E,summaryRenderModeFn:O,chartSize:S,filterRenderedLines:M,filterRenderedSummaries:$,filterRenderedPoints:F,defined:A=je,annotations:z=[]})=>{let P=[],w=[],D=[],C=[],T=[];if(o){a.forEach((e,t)=>{n.forEach((a,r)=>{let n=0;for(const s of o){const i=e(s,n),o=a(s,n),c={x:i,y:o,data:s,xIndex:t,yIndex:r};Array.isArray(o)&&(c[xe]=Math.min(...o),c[ge]=Math.max(...o),c[he]=(c[xe]+c[ge])/2),Array.isArray(i)&&(c[ve]=Math.min(...i),c[be]=Math.max(...i),c[fe]=(c[ve]+c[be])/2),D.push(c),n++}})});for(const e of D)P.push(Object.assign(Object.assign({},e),{[me]:e[be]||e[ve]||e.x,[pe]:e[ge]||e[xe]||e.y}))}if(c){w=(({data:e,lineDataAccessor:t,xProp:a,xPropTop:r,xPropBottom:n,yProp:s,yPropTop:i,yPropBottom:o,xAccessor:c,yAccessor:l})=>{Array.isArray(e)||(e=[e]);const d=[];return t.forEach((t,y)=>{c.forEach((c,u)=>{l.forEach((l,m)=>{e.forEach(e=>{const p=Object.assign(Object.assign({},e),{xIndex:u,yIndex:m,lineIndex:y});p.data=t(e).map((e,t)=>{const d={data:e};return d[a]=c(e,t),d[r]=d[a],d[n]=d[a],d[s]=l(e,t),d[i]=d[s],d[o]=d[s],d}),p.key=p.key||d.length,d.push(p)})})})}),d})({data:c,lineDataAccessor:e,xProp:me,xPropTop:be,xPropBottom:ve,yProp:pe,yPropTop:ge,yPropBottom:xe,xAccessor:a,yAccessor:n}),C=function(e,t){return a=>Se[Ae(e.type,a)](Object.assign(Object.assign(Object.assign({},e),t),{data:a}))}(l,{xProp:me,yProp:pe,yPropMiddle:he,yPropTop:ge,yPropBottom:xe,xPropMiddle:fe,xPropTop:be,xPropBottom:ve})(w);for(const e of C)for(let t=0;e.data.length>t;t++){const a=e.data[t];if(!A(Object.assign({},a.data,a),t))continue;const r={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&&(r.percent=a.percent),P.push(r)}if(d){const e=!0===d?fe:Oe[d],t=!0===d?he:Ee[d];C.forEach(a=>{a.data.filter((e,t)=>{if(A(Object.assign({},e.data,e))){if("orphan"===d){const e=a.data[t-1],r=a.data[t+1];return!(e&&A(Object.assign({},e.data,e))||r&&A(Object.assign({},r.data,r)))}return!0}return!1}).forEach(r=>{D.push(Object.assign(Object.assign({},r),{parentLine:a,[pe]:void 0!==r[t]?r[t]:void 0!==r[he]?r[he]:void 0!==r[xe]?r[xe]:r.y,[me]:void 0!==r[e]?r[e]:void 0!==r[fe]?r[fe]:void 0!==r[ve]?r[ve]:r.y}))})})}}s&&(T=(({data:e,summaryDataAccessor:t,xAccessor:a,yAccessor:r})=>{const n=[];return t.forEach(t=>{a.forEach(a=>{r.forEach(r=>{const s=e=>t(e).map((e,t)=>[a(e,t),r(e,t)]);e.forEach(e=>{n.push(Object.assign(Object.assign({},e),{_baseData:t(e),_xyfCoordinates:s(e)}))})})})}),n})({data:s,summaryDataAccessor:g,xAccessor:a,yAccessor:n}),T.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,r)=>Object.assign({parentSummary:e},t[r],{[me]:a[0],[pe]:a[1]})).forEach(e=>{y&&D.push(Object.assign(Object.assign({x:0},e),{[pe]:e[ge]||e[xe]||e[pe]})),P.push(Object.assign({x:0,y:0},e))})}):e._xyfCoordinates.length>0&&Array.isArray(e._xyfCoordinates)&&e._xyfCoordinates.map((a,r)=>Object.assign(Object.assign({parentSummary:e},t[r]),{[me]:a[0],[pe]:a[1]})).forEach(e=>{y&&D.push(Object.assign(Object.assign({x:0},e),{[pe]:e[ge]||e[xe]||e[pe]})),P.push(Object.assign({x:0,y:0},e))})}));let L,V,I,B,_=[],W=[];u&&!Array.isArray(u)&&!0===u.includeAnnotations&&a.forEach(e=>{z.forEach((t,a)=>{const r=e(t,a);isFinite(r)&&_.push({[me]:r})})}),m&&!Array.isArray(m)&&!0===m.includeAnnotations&&n.forEach(e=>{z.forEach((t,a)=>{const r=e(t,a);isFinite(r)&&W.push({[pe]:r})})});for(const e of P){const t=void 0===e[ve]?e[me]:Math.min(e[be],e[ve]),a=void 0===e[be]?e[me]:Math.max(e[ve],e[be]),r=void 0===e[xe]?e[pe]:Math.min(e[ge],e[xe]),n=void 0===e[ge]?e[pe]:Math.max(e[xe],e[ge]);void 0===t||void 0!==L&&t>=L||(L=t),void 0===a||void 0!==V&&V>=a||(V=a),void 0===r||void 0!==I&&r>=I||(I=r),void 0===n||void 0!==B&&B>=n||(B=n)}for(const e of _){const t=e[me];void 0===t||void 0!==L&&t>=L||(L=t),void 0===t||void 0!==V&&V>=t||(V=t)}for(const e of W){const t=e[pe];void 0===t||void 0!==I&&t>=I||(I=t),void 0===t||void 0!==B&&B>=t||(B=t)}const G=[L,V],K=[I,B],Y=ke(u),X=ke(m);let q=[X&&void 0!==X[0]?X[0]:K[0],X&&void 0!==X[1]?X[1]:K[1]],H=[Y&&void 0!==Y[0]?Y[0]:G[0],Y&&void 0!==Y[1]?Y[1]:G[1]];return!p||Y&&2===Y.length||(H=[H[1],H[0]]),"bumpline"!==l.type&&!h||X&&2===X.length||(q=[q[1],q[0]]),b.type&&"contour"===b.type?T=N({summaryType:b,data:T,finalXExtent:H,finalYExtent:q}):b.type&&"linebounds"===b.type?T=function({summaryType:e,data:t,defined:a}){let r=[];e.type||(e={type:e});const{boundingAccessor:n,topBoundingAccessor:s=n,bottomBoundingAccessor:i=n}=e;return t.forEach(e=>{const t=e._baseData.map(a);let n=[],o=[];const c=[{xyf:o,base:n}];t.forEach((a,r)=>{!0===a?(n.push(e._baseData[r]),o.push(e._xyfCoordinates[r])):t[r+1]&&(n=[],o=[],c.push({xyf:o,base:n}))}),c.forEach(({xyf:t,base:a})=>{const n={data:e,parentSummary:e,_xyfCoordinates:R(t,a,s,i)};r=[...r,n]})}),r}({summaryType:b,data:T,defined:A}):b.type&&"hexbin"===b.type?(T=function({preprocess:e=!0,processedData:a=!1,summaryType:r,data:n,finalXExtent:s,finalYExtent:o,size:c,xScaleType:l=t.scaleLinear(),yScaleType:d=t.scaleLinear(),margin:y,styleFn:u,classFn:m,renderFn:p,chartSize:h}){let g=s,f=o;if(!g){const e=n.coordinates.map(e=>e.x);g=[Math.min(...e),Math.max(...e)]}if(!f){const e=n.coordinates.map(e=>e.y);f=[Math.min(...e),Math.max(...e)]}if(a&&n)return n.coordinates;let b,v=[];b=r.type?r:{type:b};const{bins:k=.05,cellPx:j,binValue:E=e=>e.length,binMax:O,customMark:S}=b;n.coordinates&&!n._xyfCoordinates&&(n._xyfCoordinates=n.coordinates.map(e=>[e.x,e.y]));const M=Array.isArray(n)?n:[n],$=l.domain(g).range([0,c[0]]),F=d.domain(f).range([0,c[1]]),A=j&&j/2||(k>1?1/k:k)*c[0]/2,z=i.hexbin().x(e=>$(e._xyfPoint[0])).y(e=>F(e._xyfPoint[1])).radius(A).size(c);let P;const w=z.centers();return M.forEach(e=>{P=0;const t=z(e._xyfCoordinates.map((t,a)=>Object.assign({_xyfPoint:t},e.coordinates[a]))),a={};t.forEach(e=>{a[`${parseInt(e.x)}-${parseInt(e.y)}`]=!0}),w.forEach(e=>{if(!a[`${parseInt(e[0])}-${parseInt(e[1])}`]){const a=[];a.x=e[0],a.y=e[1],t.push(a)}}),P=Math.max(...t.map(e=>E(e))),O&&O(P);const r=[[0,-1],[.866,-.5],[.866,.5],[0,1],[-.866,.5],[-.866,-.5]],n=$.invert(A)-g[0],s=F.invert(A)-f[0],i=r.map(e=>[e[0]*n,e[1]*s]),o=t.map(t=>{const a=E(t),n=t.x,s=t.y;t.x=$.invert(t.x),t.y=F.invert(t.y);const o=a/P;return{customMark:S&&x.createElement("g",{transform:`translate(${n},${c[1]-s})`},S({d:Object.assign(Object.assign({},t),{binItems:t,percent:o,value:a,radius:A,hexCoordinates:r.map(e=>[e[0]*A,e[1]*A])}),margin:y,styleFn:u,classFn:m,renderFn:p,chartSize:h,adjustedSize:c})),_xyfCoordinates:i.map(e=>[e[0]+t.x,e[1]+t.y]),value:a,percent:o,data:t,parentSummary:e,centroid:!0}});v=[...v,...o]}),e?(v.forEach(e=>{e.x=e.data.x,e.y=e.data.y}),{type:"hexbin",processedData:!0,coordinates:v,binMax:P}):v}({summaryType:b,data:T[0],processedData:s&&!!s[0].processedData,preprocess:!1,finalXExtent:H,finalYExtent:q,size:v,margin:k,styleFn:j,classFn:E,renderFn:O,chartSize:S}),P=Fe(P,T)):b.type&&"heatmap"===b.type?(T=function({preprocess:e=!0,processedData:a=!1,summaryType:r,data:n,finalXExtent:s=[Math.min(...n.coordinates.map(e=>e.x)),Math.max(...n.coordinates.map(e=>e.x))],finalYExtent:i=[Math.min(...n.coordinates.map(e=>e.y)),Math.max(...n.coordinates.map(e=>e.y))],size:o,xScaleType:c=t.scaleLinear(),yScaleType:l=t.scaleLinear(),margin:d,styleFn:y,classFn:u,renderFn:m,chartSize:p}){if(a&&n)return n.coordinates;n.coordinates&&!n._xyfCoordinates&&(n._xyfCoordinates=n.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(n)?n:[n];let g,f=[];g=r.type?r:{type:g};const{binValue:b=e=>e.length,xBins:v=g.yBins||.05,yBins:k=v,xCellPx:j=!g.xBins&&g.xCellPx,yCellPx:E=!g.yBins&&g.yCellPx,customMark:O,binMax:S}=g,M=1>v?v:1/v,$=1>k?k:1/k,F=c.domain(s).range([0,o[0]]),A=l.domain(i).range([o[1],0]),z=[Math.ceil((j&&j/o[0]||M)*o[0]*10)/10,Math.ceil((E&&E/o[1]||$)*o[1]*10)/10];let P=-1/0;return h.forEach(e=>{const t=[],a=[];let r,n;for(let s=0;o[0]>Math.ceil(s);s+=z[0]){const i=F.invert(s),c=F.invert(s+z[0]);n=[],t.push(n);for(let t=0;o[1]>Math.ceil(t);t+=z[1]){const o=A.invert(t),l=A.invert(t+z[1]);r={gx:s,gy:t,gw:z[0],gh:z[1],x:(i+c)/2,y:(o+l)/2,binItems:[],value:0,_xyfCoordinates:[[i,o],[c,o],[c,l],[i,l]],parentSummary:e},n.push(r),a.push(r)}n.push(r)}t.push(n),e._xyfCoordinates.forEach((a,r)=>{const n=F(a[0]),s=A(a[1]),i=Math.floor(n/z[0]),o=Math.floor(s/z[1]);t[i][o]&&t[i][o].binItems.push(e.coordinates[r])}),a.forEach(e=>{e.value=b(e.binItems),P=Math.max(P,e.value)}),a.forEach(e=>{e.percent=e.value/P,e.customMark=O&&x.createElement("g",{transform:`translate(${e.gx},${e.gy})`},O({d:e,margin:d,styleFn:y,classFn:u,renderFn:m,chartSize:p,adjustedSize:o}))}),f=[...f,...a]}),S&&S(P),e?{type:"heatmap",processedData:!0,_baseData:[],_xyfCoordinates:[],data:[],bounds:[],x:0,y:0,coordinates:f,binMax:P}:f}({summaryType:b,data:T[0],processedData:s&&!!s[0].processedData,preprocess:!1,finalXExtent:H,finalYExtent:q,size:v,margin:k,styleFn:j,classFn:E,renderFn:O,chartSize:S}),P=Fe(P,T)):b.type&&"trendline"===b.type&&(T=function({preprocess:e=!1,summaryType:a,data:n,finalXExtent:s=[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 o,c=[];o=a.type?a:{type:o};const{regressionType:l="linear",order:d=2,precision:y=4,controlPoints:u=20,curve:m=r.curveCardinal}=o;let p=l;s[0]>=0||"logarithmic"!==l&&"power"!==l&&"exponential"!==l||(console.error(`Cannot use this ${l} regressionType type with value range that goes below 0, defaulting to linear`),p="linear"),n.coordinates&&!n._xyfCoordinates&&(n._xyfCoordinates=n.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(n)?n:[n],g=i.domain([0,1]).range(s);return c=[],h.forEach(e=>{const t=f.default[p](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:y}),a=1/u;let r=[0,1];if("linear"!==p){r=[];for(let e=0;1+a>e;e+=a)r.push(e)}const n=[];r.forEach(e=>{n.push(t.predict(g(e)))}),c.push({centroid:!1,customMark:void 0,data:e,parentSummary:e,value:t.string,r2:t.r2,curve:m,_xyfCoordinates:n})}),c}({summaryType:b,data:T[0],preprocess:s&&!!s[0].processedData,finalXExtent:H}),P=Fe(P,T)),M&&(C=C.filter(M),P=P.filter((e,t)=>!e.parentLine||M(e.parentLine,t,[]))),F&&(P=P.filter(F)),$&&(T=T.filter($),P=P.filter((e,t)=>!e.parentSummary||$(e.parentSummary,t,[]))),{xExtent:H,yExtent:q,projectedLines:C,projectedPoints:D,projectedSummaries:T,fullDataset:P,calculatedXExtent:G,calculatedYExtent:K}})({lineDataAccessor:$e.lineDataAccessor,summaryDataAccessor:$e.summaryDataAccessor,xAccessor:$e.xAccessor,yAccessor:$e.yAccessor,lineType:$e.lineType,summaryType:$e.summaryType,summaries:$e.summaries,points:Y,lines:$e.lines,showLinePoints:G,showSummaryPoints:K,xExtent:C,yExtent:T,invertX:_,invertY:W,adjustedSize:Re,margin:Te,summaryStyleFn:ze,summaryClassFn:Pe,summaryRenderModeFn:we,chartSize:v,defined:b,filterRenderedLines:te,filterRenderedSummaries:ae,filterRenderedPoints:re,annotations:ne})),({xScale:We,yScale:Ge}=(({xExtent:e,yExtent:t,adjustedSize:a,xScaleType:r,yScaleType:n})=>{const s=[0,a[0]],i=[a[1],0],o=r,c=n;return r.domain&&r.domain(e),n.domain&&n.domain(t),r.range(s),n.range(i),{xScale:o,yScale:c}})({xExtent:Ie,yExtent:Ve,adjustedSize:Re,xScaleType:ye.copy(),yScaleType:ue.copy()})),Ie=Array.isArray(Be.extent)&&2===Be.extent.length?Be.extent:Ie,Ve=Array.isArray(_e.extent)&&2===_e.extent.length?_e.extent:Ve;const He={};let Ze;if(Ce&&(Ye=[],Ke=Ce.map((t,a)=>{let r=t.className||"";r+=" axis";let n,s=Ge;He[t.orient]&&(t.baseline=t.baseline||!1),He[t.orient]=!0,"top"===t.orient||"bottom"===t.orient?(r+=" x",s=We):r+=" y",r+=" "+t.orient,t.tickValues&&Array.isArray(t.tickValues)?n=t.tickValues:t.tickValues instanceof Function&&(n=t.tickValues(de,e.size,s));const i=[Re[0],Re[1]],o=E({padding:t.padding,tickValues:n,scale:s,ticks:t.ticks,orient:t.orient,size:i,footer:t.footer,tickSize:t.tickSize,jaggedBase:t.jaggedBase}),c=x.createElement("g",{key:"axes-tick-lines-"+a,className:"axis "+r},S({axisParts:o,orient:t.orient,tickLineGenerator:t.tickLineGenerator,className:r,jaggedBase:t.jaggedBase,scale:s,showOutboundTickLines:t.showOutboundTickLines}),"under"===t.baseline&&O(t.orient,Re,t.className));return Ye.push(c),x.createElement(oe,Object.assign({},t,{key:t.key||"axis-"+a,annotationFunction:t.axisAnnotationFunction,axisParts:o,size:i,margin:Te,tickValues:n,scale:s,className:r,xyPoints:de}))})),o&&(Ze=!0===o?{}:o,se&&!Ze.legendGroups)){const t=$e.lineType.type,a=[{styleFn:e.lineStyle,type:"string"==typeof t&&-1===["stackedarea","stackedpercent","bumparea"].indexOf(t)?"line":"fill",items:se.map(e=>Object.assign({label:$e.lineIDAccessor(e)},e))}];Ze.legendGroups=a}const Qe=[];if($e.summaryType.label&&ce)ce.forEach((e,t)=>{e.bounds&&(Array.isArray(e.bounds)?e.bounds:[e.bounds]).forEach(a=>{const r="function"==typeof $e.summaryType.label?$e.summaryType.label(e):$e.summaryType.label;if(r&&null!==r){const n=r.position||"center",s=[We(a[n][0]),Ge(a[n][1])],i=r.content||(e=>e.value||e.id||t);Qe.push({x:s[0],y:s[1],dx:r.dx,dy:r.dy,className:r.className,type:r.type||"callout",note:r.note||{title:i(e)},subject:r.subject||{text:i(e)},connector:r.connector})}})});else if($e.summaryType.showSlope&&ce&&ce[0]){const e=ce[0],t=e._xyfCoordinates[0],a=e._xyfCoordinates[e._xyfCoordinates.length-1];Qe.push({x:t[0],y:t[1],x1:a[0],x2:a[1],type:"trendline-annotation",value:e.value,r2:e.r2})}const Ue=void 0!==$e.lineType.type&&"string"==typeof $e.lineType.type&&Ne[$e.lineType.type],Je={lines:Object.assign(Object.assign({accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t].data[e[t].data.length-1]),{type:"frame-hover"}),data:se},s.lineStyleFns(w,l,D,p)),{customMark:$,type:$e.lineType,defined:b,renderKeyFn:$e.renderKeyFn,ariaLabel:Ue,axesData:Ce,behavior:H}),summaries:{accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t]),{type:"frame-hover"}),data:ce,styleFn:ze,classFn:Pe,renderMode:we,canvasRender:s.summaryCanvasRender(g),customMark:A,type:$e.summaryType,renderKeyFn:$e.renderKeyFn,behavior:Z},points:Object.assign(Object.assign({accessibleTransform:(e,t)=>Object.assign({type:"frame-hover"},e[t].data||e[t]),data:ie},s.pointStyleFns(d,u,y,h)),{customMark:F,renderKeyFn:$e.renderKeyFn,showLinePoints:G,behavior:q})};let et;return Be.onChange&&a.calculatedXExtent.join(",")!==Xe.join(",")&&Be.onChange(Xe),_e.onChange&&a.calculatedYExtent.join(",")!==qe.join(",")&&_e.onChange(qe),ee&&ce&&(et=Z({xScale:We,yScale:Ge,data:ce}).map((e,t)=>Object.assign(Object.assign({},e.props),{style:{fillOpacity:0},overlayData:ce&&ce[t]}))),{lineData:e.lines,pointData:e.points,summaryData:e.summaries,dataVersion:e.dataVersion,projectedLines:se,projectedPoints:ie,projectedSummaries:ce,canvasDrawing:[],fullDataset:de,adjustedPosition:Le,adjustedSize:Re,backgroundGraphics:e.backgroundGraphics,foregroundGraphics:e.foregroundGraphics,axesData:Ce,axes:Ke,axesTickLines:Ye,renderNumber:a.renderNumber+1,xScale:We,yScale:Ge,xAccessor:$e.xAccessor,yAccessor:$e.yAccessor,xExtent:[void 0===Ie[0]?Xe[0]:Ie[0],void 0===Ie[1]?Xe[1]:Ie[1]],yExtent:[void 0===Ve[0]?qe[0]:Ve[0],void 0===Ve[1]?qe[1]:Ve[1]],calculatedXExtent:Xe,calculatedYExtent:qe,margin:Te,legendSettings:Ze,areaAnnotations:Qe,xyFrameRender:Je,size:v,annotatedSettings:$e,overlay:et,props:e}})(a,s,0,n)),{margin:c,xyFrameRender:l,xScale:d,yScale:y,axes:u,axesTickLines:m,annotatedSettings:p}=o,h=a.frameRenderOrder||$t;return wt({size:a.size||[500,500],margin:c,renderedElements:Ft(l,a.renderOrder||[],d,y,Ot),axes:u,axesTickLines:m,title:p.title,frameRenderOrder:h,additionalDefs:a.additionalDefs,name:"xyframe",matte:a.matte,frameKey:a.frameKey||"static"})}function zt(e){const n=Object.assign(Object.assign({},{annotations:[],foregroundGraphics:[],projection:"vertical",size:[500,500],className:"",data:[],type:"none"}),e),s={marginCalc:b.default((e,t,a,r,n,s)=>{const i=we({margin:e,axes:t,title:a,oLabel:r,projection:n,size:s}),{adjustedPosition:o,adjustedSize:c}=Te({size:s,margin:i,projection:n});return{margin:i,adjustedPosition:o,adjustedSize:c}}),structureData:b.default((e,t,a,r,n,s,i)=>Ce({data:e,renderKey:t,oAccessor:a,rAccessor:r,originalRAccessor:n,originalOAccessor:s,multiAxis:i})),accessorConversions:b.default((e,t,a,r)=>({oAccessor:$e(e,e=>e.renderKey),rAccessor:$e(t,e=>e.value||1),renderKey:Me(a,(e,t)=>t),pieceIDAccessor:Me(r,()=>"")})),styleFns:b.default((e,t,a,r,n,s,i,o,c,l,d,y)=>({connectorStyle:Me(e,()=>({}),!0),summaryStyle:Me(t,()=>({}),!0),pieceStyle:Me(a,()=>({}),!0),pieceClass:Me(r,()=>"",!0),summaryClass:Me(n,()=>"",!0),connectorClass:Me(s,()=>"",!0),pieceRenderMode:Me(i,void 0,!0),summaryRenderMode:Me(o,void 0,!0),connectorRenderMode:Me(c,void 0,!0),pieceCanvasRender:Me(l,void 0,!0),summaryCanvasRender:Me(d,void 0,!0),connectorCanvasRender:Me(y,void 0,!0)}))},i=function(e){return{adjustedPosition:[],adjustedSize:[],backgroundGraphics:void 0,foregroundGraphics:void 0,axisData:void 0,renderNumber:0,oLabels:{labels:[]},oAccessor:$e("renderKey"),rAccessor:$e("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:Me("semioticPieceID"),projectedColumns:{},rExtent:[],rScaleType:t.scaleLinear(),summaryType:{type:"none"},title:{},type:{type:"none"},props:e}}(n),o=Object.assign(Object.assign({},i),((e,n,s)=>{let i;const o={},{oPadding:c=0,summaryType:l,type:d,connectorType:y,oAccessor:u,rAccessor:m,connectorStyle:p,style:h,rExtent:g,oSort:f,pieceClass:b,summaryStyle:v,summaryClass:k,dynamicColumnWidth:j,projection:M,customHoverBehavior:$,customClickBehavior:F,customDoubleClickBehavior:A,size:z,pixelColumnWidth:D,title:C,oLabel:T,hoverAnnotation:L,pieceHoverAnnotation:N,summaryHoverAnnotation:R,backgroundGraphics:V,foregroundGraphics:I,oScaleType:B,rScaleType:_,legend:W,renderKey:G,data:K,margin:Y,oExtent:X,axes:q,pieceIDAccessor:H,multiAxis:Z,annotations:Q}=e,U="radial"===M?0:c,J=De(l),ee=De(d),te=De(y),ae=s.accessorConversions(u,m,G,H),re=ae.oAccessor,se=ae.rAccessor,ce=ae.renderKey,le=()=>({}),{connectorStyle:de,summaryStyle:ye,pieceStyle:ue,pieceClass:me,summaryClass:pe,connectorClass:he,pieceRenderMode:ge,summaryRenderMode:xe,connectorRenderMode:fe,pieceCanvasRender:be,summaryCanvasRender:ve,connectorCanvasRender:ke}=s.styleFns(p,v,h,b,k,e.connectorClass,e.renderMode,e.summaryRenderMode,e.connectorRenderMode,e.canvasPieces,e.canvasSummaries,e.canvasConnectors),je="object"!=typeof C||x.isValidElement(C)||null===C?{title:C,orient:"top"}:C,Ee=ae.pieceIDAccessor,Oe=Array.isArray(m)?m:[m],Se=Array.isArray(u)?u:[u];let Me=se,$e=j;if("radial"===M){if(!$e){const e=se;$e=t=>a.sum(t,t=>{let a=0;for(const r of e)a+=r(t)||0;return a})}Me=[()=>1]}const{allData:Fe,multiExtents:Ae}=Ce({data:K,renderKey:ce,oAccessor:re,rAccessor:Me,originalRAccessor:Oe,originalOAccessor:Se,multiAxis:Z});let ze;const we=n.props,Te=e.data!==we.data||e.size[0]!==we.size[0]||e.size[1]!==we.size[1]||e.margin!==we.margin||!n.columnOverlays||0===n.columnOverlays.length||e.customClickBehavior!==we.customClickBehavior||e.customDoubleClickBehavior!==we.customDoubleClickBehavior||e.customHoverBehavior!==we.customHoverBehavior;let Ne;Array.isArray(q)?Ne=q.map(t=>"function"==typeof t?t({size:e.size}):t):q&&(Ne=[q].map(t=>"function"==typeof t?t({size:e.size}):t)),Ae&&q&&Ne.forEach((e,t)=>{e.extentOverride=Ae[t]});const{margin:Re,adjustedPosition:Ve,adjustedSize:Be}=s.marginCalc(Y,Ne,je,T,M,z),_e=void 0===X||Array.isArray(X)?{extent:X}:X,We=Fe.reduce((e,t)=>{const a=t.column,r=void 0!==a?a+"":a;return-1===e.indexOf(r)&&e.push(r),e},[]);let Ge=_e.extent||We;if("barpercent"===ee.type){const e=Ge.map(e=>Fe.filter(t=>t.column+""===e).reduce((e,t)=>e+t.value,0)).reduce((e,t,a)=>(e[Ge[a]]=t,e),{});Fe.forEach(t=>{t.value=e[t.column]&&t.value/e[t.column]||0}),ee.type="bar"}D&&("radial"===M?console.error("pixelColumnWidth is not honored in radial mode"):"vertical"===M?Be[0]=Ge.length*D:Be[1]=Ge.length*D);const Ze="vertical"===M&&[0,Be[0]]||[0,Be[1]],Qe=Ge.reduce((e,t)=>(e[t]=1/Ge.length*Ze[1],e.total+=e[t],e),{total:0}),Ue=B,Je=$e?t.scaleOrdinal():(null==Ue?void 0:Ue.domain)?Ue:Ue();let et;Je.domain(Ge);const tt=void 0===g||Array.isArray(g)?{extent:g,onChange:void 0,includeAnnotations:!1}:g;let at=tt.extent,rt=[0,0];"bar"===ee.type&&J.type&&"none"!==J.type&&(ee.type="none");const nt=[];if(tt.includeAnnotations&&Q&&se.forEach(e=>{Q.forEach((t,a)=>{const r=e(t,a);isFinite(r)&&nt.push(r)})}),"timeline"===ee.type){const e=Fe.map(e=>e.value),t=a.extent(e.map(e=>e[0])),r=a.extent(e.map(e=>e[1]));at=a.extent([...t,...r,...nt])}else if("bar"!==ee.type)at=a.extent([...Fe.map(e=>e.value),...nt]);else{const e=[],t=[],r={},n={};for(const a of Fe)0>a.value?(n[a.column]||(n[a.column]={column:a.column,value:0},t.push(n[a.column])),n[a.column].value+=a.value):(r[a.column]||(r[a.column]={column:a.column,value:0},e.push(r[a.column])),r[a.column].value+=a.value);const s=nt.filter(e=>e>0);at=[0,0===e.length&&0===s.length?0:Math.max(a.max([...e.map(e=>e.value),...s]),0)];const i=nt.filter(e=>0>e);rt=[0,0===t.length?0:Math.min(a.min([...t.map(e=>e.value),...i]),0)],at=[rt[1],at[1]]}("clusterbar"===ee.type||Z)&&at[0]>0&&(at[0]=0);const st=at;tt.extent&&void 0!==tt.extent[0]&&void 0!==tt.extent[1]?at=tt.extent:(tt.extent&&void 0!==tt.extent[1]&&void 0===tt.extent[0]&&(at[1]=tt.extent[1]),tt.extent&&void 0!==tt.extent[0]&&void 0===tt.extent[1]&&(at[0]=tt.extent[0])),(e.invertR||tt.extent&&tt.extent[0]>tt.extent[1])&&(at=[at[1],at[0]]);const it={};for(const e of Fe)it[e.column]||(it[e.column]=[]),it[e.column].push(e);if(void 0!==f)Ge=Ge.sort((e,t)=>f(e,t,it[e].map(e=>e.data),it[t].map(e=>e.data))),Je.domain(Ge);else{const e={};for(const t of Ge)e[t]=a.sum(it[t],e=>e.value);let t;if($e){let e;t={},e="string"==typeof $e?e=>a.sum(e,e=>e.data[$e]):e=>$e(e.map(e=>e.data));for(const a of Ge)t[a]=e(it[a])}Ge=Ge.sort((a,r)=>{const n=e[r]-e[a];return 0!==n?n:t?t[r]-t[a]:0}),Je.domain(Ge)}if($e){let e;e="string"==typeof $e?e=>a.sum(e,e=>e.data[$e]):e=>$e(e.map(e=>e.data));const t=[0],r=[];et=0,Ge.forEach(t=>{const a=Fe.filter(e=>e.column===t),n=e(a);r.push(n),et+=n}),Qe.total=0,Ge.forEach((e,a)=>{const n=r[a]/et*(Ze[1]-Ze[0]);Qe[e]=n,Qe.total+=n,a!==Ge.length-1&&t.push(n+t[a])}),Je.range(t)}else Je.range(Ze);const ot="vertical"===M&&[0,Be[1]]||[0,Be[0]],ct=_.domain?_:_(),lt=ct(0);tt.extent&&void 0!==tt.extent[0]&&(isNaN(lt)||lt===-1/0||lt===1/0)&&(at[0]=tt.extent[0]);const dt=ct.copy().domain(at).range(ot),yt=t.scaleLinear().domain(ot).range(ot.reverse()),ut=ct.copy().domain(at).range(ot),mt=Qe?0:Je.bandwidth();let pt=[],ht=Be[1];"vertical"===M&&(ht=Be[0]);const gt=((e,t,a)=>{const r=e.domain(),n={};return r.forEach((s,i)=>{const o=e(s)-a,c=r[i+1]?e(r[i+1]):t;n[s]=o+(c-o)/2}),n})(Je,ht,U);pt=Ge.map(e=>it[e]?it[e]:[]);let xt="vertical"===M?yt(dt(0)):dt(0);!isNaN(xt)&&xt!==-1/0&&xt!==1/0||!tt.extent||void 0===tt.extent[0]||lt!==-1/0&<!==1/0||(xt="vertical"===M?yt(dt(tt.extent[0])):dt(tt.extent[0])),Ge.forEach((t,a)=>{o[t]={name:t,padding:U,pieceData:pt[a],pieces:pt[a]},o[t].x=Je(t)+U/2,o[t].y=0,o[t].middle=gt[t]+U/2;let r=xt,n=xt,s=0;o[t].pieceData.forEach(e=>{let a;"timeline"===ee.type?(e.scaledValue=dt(e.value[0]),e.scaledEndValue=dt(e.value[1]),e.scaledVerticalValue=ut(e.value[0])):"bar"!==ee.type&&"clusterbar"!==ee.type?(e.scaledValue=dt(e.value),e.scaledVerticalValue=ut(e.value)):"clusterbar"===ee.type&&(a="vertical"===M?yt(dt(e.value)):dt(e.value),e.scaledValue=Math.abs(xt-a)),e.x=o[t].x,0>e.value?("bar"===ee.type&&(e.scaledValue=Math.abs("vertical"===M?dt(e.value)-dt(0):dt(e.value)-xt)),e.base=xt,e.bottom="bar"===ee.type?r:0,e.middle=r-e.scaledValue/2,r="vertical"===M?r+e.scaledValue:r-e.scaledValue,e.negative=!0):("bar"===ee.type&&(e.scaledValue="vertical"===M?n-yt(dt(s+e.value)):dt(s+e.value)-n,s+=e.value),e.base=xt,e.bottom="bar"===ee.type?n:0,e.middle=e.scaledValue/2+n,n="vertical"===M?n-e.scaledValue:n+e.scaledValue,e.negative=!1)}),Qe?(o[t].width=Qe[t]-U,"center"===e.ordinalAlign&&(0===a?(o[t].x=o[t].x-o[t].width/2,o[t].middle=o[t].middle-o[t].width/2):(o[t].x=o[Ge[a-1]].x+o[Ge[a-1]].width,o[t].middle=o[t].x+o[t].width/2)),o[t].pct=Qe[t]/Qe.total,o[t].pct_start=(o[t].x-Ze[0])/Qe.total,o[t].pct_padding=U/Qe.total,o[t].pct_middle=(o[t].middle-Ze[0])/Qe.total):(o[t].width=mt-U,"center"===e.ordinalAlign&&(o[t].x=o[t].x-o[t].width/2,o[t].middle=o[t].middle-o[t].width/2),o[t].pct=mt/Be[1],o[t].pct_start=(o[t].x-Ze[0])/Be[1],o[t].pct_padding=U/Be[1],o[t].pct_middle=(o[t].middle-Ze[0])/Be[1])});const ft=[],bt=[],vt="object"==typeof T?Object.assign({label:!0,padding:5},T):{orient:"default",label:T,padding:5};if(T||L){const e=ee.offsetAngle&&ee.offsetAngle/360||0,a=ee.angleRange&&ee.angleRange.map(e=>e/360)||[0,1],n=a[1]-a[0],s=1>n?t.scaleLinear().domain([0,1]).range(a):e=>e;Ge.forEach(t=>{const a=r.arc().innerRadius(0).outerRadius(dt.range()[1]/2),i=o[t].pct*n,c=s(o[t].pct_start+e),l=c+i,d=c+i/2,y=a({startAngle:c*qe,endAngle:l*qe}),u=[Be[0]/2,Be[1]/2],m=a.centroid({startAngle:c*qe,endAngle:l*qe}),p=0>=m[1]||vt.orient&&"default"!==vt.orient&&"edge"!==vt.orient?0:8,h={startAngle:c,endAngle:l,midAngle:d,markD:y,translate:u,centroid:m,outerPoint:P([0,0],d,dt.range()[1]/2+vt.padding+p)};o[t].pieArc=h,bt.push(h)})}if(e.oLabel){let e;if("function"==typeof vt.label)e=vt.label;else{const t={textAnchor:"middle"};"horizontal"===M&&"right"===vt.orient?t.textAnchor="start":"horizontal"===M&&(t.textAnchor="end"),e=(e,a,r)=>{const n={};let s;if("radial"===M&&"stem"===vt.orient)s=`rotate(${0>bt[r].outerPoint[0]?360*bt[r].midAngle+90:360*bt[r].midAngle-90})`;else{if("radial"===M&&"annotation"===vt.orient){const{centroid:t}=bt[r],a=15*bt.filter((e,a)=>r>a&&0>t[0]==0>bt[a].centroid[0]&&0>t[1]==0>bt[a].centroid[1]).length;let n=7*e.length,s="start",i={dx:0,dy:0};return 0>t[0]?(s="end",n=-n,i.dx=-35):i.dx=35,i.dy=0>t[1]?-35-a:35+a,x.createElement("g",null,x.createElement("path",{fill:"none",stroke:"black",strokeWidth:2,d:`M0,0L${i.dx},${i.dy}L${i.dx+n},${i.dy}`}),x.createElement("text",{textAnchor:s,x:i.dx,y:i.dy-2},e))}"radial"===M&&"center"!==vt.orient&&(s=`rotate(${0>bt[r].outerPoint[1]?360*bt[r].midAngle:360*bt[r].midAngle+180})`)}return"radial"===M&&"stem"===vt.orient&&(bt[r].outerPoint[0]>0&&0>vt.padding||0>bt[r].outerPoint[0]&&vt.padding>=0)?n.textAnchor="end":"radial"===M&&"stem"===vt.orient&&(n.textAnchor="start"),x.createElement("text",Object.assign({},t,n,{transform:s}),e)}}if(Ge.forEach((t,a)=>{let r=o[t].middle,n=0;"horizontal"===M?(n=o[t].middle,r="right"===vt.orient?Be[0]+3:-3):"radial"===M&&("annotation"===vt.orient?(r=.25*bt[a].centroid[0]+.75*bt[a].outerPoint[0]+bt[a].translate[0],n=.25*bt[a].centroid[1]+.75*bt[a].outerPoint[1]+bt[a].translate[1]):"center"===vt.orient?(r=bt[a].centroid[0]+bt[a].translate[0],n=bt[a].centroid[1]+bt[a].translate[1]):(r=bt[a].outerPoint[0]+bt[a].translate[0],n=bt[a].outerPoint[1]+bt[a].translate[1]));const s=vt.labelFormatter?vt.labelFormatter(t):t,i=e(s,o[t].pieceData.map(e=>e.data),a,o[t]);ft.push(x.createElement("g",{key:"olabel-"+a,transform:`translate(${r},${n})`},i))}),"vertical"===M){let e;e="top"===vt.orient?-15:15+dt.range()[1],i=x.createElement("g",{key:"ordinalframe-labels-container",className:"ordinal-labels",transform:`translate(0,${e})`},ft)}else("horizontal"===M||"radial"===M)&&(i=x.createElement("g",{key:"ordinalframe-labels-container",className:"ordinal-labels"},ft))}const kt=(e.hoverAnnotation||e.pieceHoverAnnotation)&&-1!==["bar","clusterbar","timeline"].indexOf(ee.type);let jt;kt||e.summaryHoverAnnotation||!(e.hoverAnnotation||e.customClickBehavior||e.customDoubleClickBehavior||e.customHoverBehavior)||(ze=Te?function({oExtent:e,projectedColumns:t,rScale:a,pieArcs:r,padding:n,projection:s,customDoubleClickBehavior:i,customClickBehavior:o,customHoverBehavior:c}){return e.map((e,l)=>{const d=t[e].width;let y=t[e].x,u=0,m=a.range()[1],p=d+n;if("horizontal"===s&&(u=t[e].x,y=0,p=a.range()[1],m=d),"radial"===s){const{markD:n,centroid:s,translate:d,midAngle:y}=r[l],u={type:"column-hover",column:t[e],pieces:t[e].pieceData,summary:t[e].pieceData,arcAngles:{centroid:s,translate:d,midAngle:y,length:a.range()[1]/2}};return{markType:"path",key:"hover"+e,d:n,transform:`translate(${d.join(",")})`,style:{opacity:0},overlayData:u,onDoubleClick:i&&(e=>{i(u,e)}),onClick:o&&(e=>{o(u,e)}),onMouseEnter:c&&(e=>{c(u,e)}),onMouseLeave:c&&(e=>{c(e)})}}const h={type:"column-hover",column:t[e],pieces:t[e].pieceData,summary:t[e].pieceData};return{markType:"rect",key:"hover-"+e,x:y,y:u,height:m,width:p,style:{opacity:0},onDoubleClick:i&&(e=>{i(h,e)}),onClick:o&&(e=>{o(h,e)}),onMouseEnter:c&&(e=>{c(h,e)}),onMouseLeave:e=>{c(void 0,e)},overlayData:h}})}({oExtent:Ge,projectedColumns:o,rScale:dt,pieArcs:bt,padding:U,projection:M,customDoubleClickBehavior:A,customClickBehavior:F,customHoverBehavior:$}):n.columnOverlays);const Et=ee.type&&"none"!==ee.type?ee.type:"point",Ot=("function"==typeof Et?Et:Ke[Et])({type:ee,data:o,renderMode:ge,eventListenersGenerator:le,styleFn:ue,projection:M,classFn:me,adjustedSize:Be,chartSize:z,margin:Re,rScale:dt}),St=Ot.reduce((e,t)=>(t.o&&(e[t.o]||(e[t.o]=[]),e[t.o].push(t)),e),{});Object.keys(o).forEach(e=>{o[e].xyData=St[e]||[]});let Mt={};J.type&&"none"!==J.type&&(Mt=ne({data:o,type:J,renderMode:xe,styleFn:ye,classFn:pe,projection:M,eventListenersGenerator:le,adjustedSize:Be,margin:Re,axisCreator:Ie}),Mt.originalData=o);const $t="horizontal"===M?Ye:Xe,Ft="vertical"===M?Ye:Xe,At=Ot.map(e=>e.piece&&e.xy?Object.assign(Object.assign({},e.piece),{type:"frame-hover",x:e.xy.x+Ft(e.xy),y:e.xy.y+$t(e.xy)}):null).filter(e=>e);((L||N)&&-1===["bar","clusterbar","timeline"].indexOf(ee.type)||R)&&(R&&Mt.xyPoints?jt=Mt.xyPoints.map(e=>Object.assign({},e,{type:"frame-hover",isSummaryData:!0,x:e.x,y:e.y})):(L||N)&&Ot&&(jt=At));const{axis:zt,axesTickLines:Pt}=(({projection:e,axis:t,adjustedSize:a,size:r,rScale:n,rScaleType:s,pieceType:i,rExtent:o,data:c,maxColumnValues:l=1,xyData:d,margin:y,thresholds:u})=>{if(!t)return{axis:void 0,axesTickLines:void 0};let m,p;if("radial"!==e&&t){p=[];const i=[0,0];m=t.map((t,o)=>{let m,h=t.className||"";const g=t.extentOverride?t.extentOverride:n.domain(),f=["left","right"],b=-1===f.indexOf(t.orient)&&"vertical"!==e||-1!==f.indexOf(t.orient)&&"horizontal"!==e?s.domain(g):s.domain([0,l]),v=t.orient,k=-1===f.indexOf(t.orient)&&"vertical"!==e||-1!==f.indexOf(t.orient)&&"horizontal"!==e?n.range():[0,"vertical"===e?a[0]:a[1]];"right"===v?(b.range(k.reverse()),h+=" right y"):"left"===v?(h+=" left y",b.range(k.reverse())):"top"===v?(h+=" top x",b.range(k)):"bottom"===v&&(h+=" bottom x",b.range(k)),t.tickValues&&Array.isArray(t.tickValues)?m=t.tickValues:t.tickValues instanceof Function?m=t.tickValues(c,r,n):!t.tickValues&&u&&(m=u.map(e=>n.invert(e)));const j=E({padding:t.padding,tickValues:m,scale:b,ticks:t.ticks,orient:v,size:a,footer:t.footer,tickSize:t.tickSize,jaggedBase:t.jaggedBase}),M=S({className:t.className,axisParts:j,orient:v,tickLineGenerator:t.tickLineGenerator,jaggedBase:t.jaggedBase,scale:b});return p.push(M),"under"===t.baseline&&p.push(O(t.orient,a,t.className)),x.createElement(oe,Object.assign({},t,{key:t.key||"orframe-axis-"+o,axisParts:j,orient:v,size:a,position:i,tickValues:m,scale:b,className:h,marginalSummaryType:"string"==typeof t.marginalSummaryType?{type:t.marginalSummaryType}:t.marginalSummaryType,margin:y,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,r=[];t.forEach(t=>{const{tickValues:i=n.ticks(Math.max(2,(a[0]/2-e)/50)),label:c,tickFormat:l=e=>e}=t,d=s.domain(o).range([e,a[0]/2]),y=i instanceof Function?i({orient:t.orient}):i;y.forEach((t,a)=>{const n=d(t);if(0!==e||0!==t){let e,i="";if(c&&a===y.length-1){const t="string"==typeof c?{locationDistance:15}:c,{locationDistance:a=15}=t;i=Math.random()+" ",e=x.createElement("g",{className:"axis-label radial",transform:`translate(0,${a})`},x.createElement("text",{textAnchor:"middle"},x.createElement("textPath",{startOffset:n*Math.PI*.5,xlinkHref:"#"+i},c.name)))}r.push(x.createElement("g",{key:"orframe-radial-axis-element-"+t,className:"axis axis-label axis-tick radial",transform:"translate(0,0)"},x.createElement("path",{id:i,d:(s=n,["M",Pe(0-s),Pe(0),"a",s,s,0,1,0,2*s,0,"a",s,s,0,1,0,-2*s,0].join(" ")+"Z"),r:n,stroke:"gray",fill:"none"}),x.createElement("text",{y:5-n,textAnchor:"middle"},l(t)),e))}var s})}),m=[x.createElement("g",{key:t[0].key||"orframe-radial-axis-container",className:"axis-labels",transform:`translate(${a[0]/2},${a[1]/2})`},r)]}return{axis:m,axesTickLines:p}})({axis:Ne,data:Fe,projection:M,adjustedSize:Be,size:z,rScale:dt,rScaleType:ct.copy(),pieceType:ee,rExtent:at,maxColumnValues:et,xyData:At,margin:Re,thresholds:Mt.thresholds});return Object.assign({pieceDataXY:jt,oAccessor:re,rAccessor:se,summaryType:J,type:ee},function(e){const{usesPieceOverlays:t,shouldRecalculateOverlay:a,calculatedPieceData:r,projection:n,customClickBehavior:s,customDoubleClickBehavior:i,customHoverBehavior:o,currentState:c,connectorStyle:l,connectorClass:d,connectorRenderMode:y,connectorCanvasRender:u,summaryCanvasRender:m,pieceCanvasRender:p,connectorType:h,eventListenersGenerator:g,pieceType:f,summaryStyle:b,summaryClass:v,pieceStyle:k,pieceClass:j,keyedData:E,oExtent:O,projectedColumns:S,calculatedSummaries:M,oAccessor:$,rScale:F,calculatedRExtent:A,calculatedOExtent:z,rExtentSettings:P,oExtentSettings:D,adjustedPosition:C,adjustedSize:T,margin:L,backgroundGraphics:N,foregroundGraphics:R,arrayWrappedAxis:V,axis:I,axesTickLines:B,oLabels:_,title:W,oScaleType:G,instantiatedRScaleType:K,oScale:Y,rExtent:X,legend:q,pieceIDAccessor:H,currentProps:Z}=e;let{columnOverlays:Q}=e;if(t){const e="horizontal"===n?Ye:Xe,t="vertical"===n?Ye:Xe;Q=a?r.map((a,r)=>{const n=Object.assign(Object.assign({},a.piece),{x:a.xy.x+t(a.xy),y:a.xy.y+e(a.xy)});return x.isValidElement(a.renderElement)?{renderElement:a.renderElement,overlayData:n}:Object.assign(Object.assign({},a.renderElement),{key:"hover-"+r,style:{opacity:0},overlayData:n,onClick:s&&(e=>{s(n.data,e)}),onDoubleClick:i&&(e=>{i(n.data,e)}),onMouseEnter:o&&(e=>{o(n.data,e)}),onMouseLeave:o&&(e=>{o(void 0,e)})})}):c.columnOverlays}const U={connectors:{accessibleTransform:(e,t)=>e[t],projection:n,data:{keyedData:E,oExtent:O},styleFn:l,classFn:d,renderMode:y,canvasRender:u,behavior:Le,type:h,eventListenersGenerator:g,pieceType:f},summaries:{accessibleTransform:(e,t)=>{const a=O[t];return{type:"column-hover",column:S[a],pieces:S[a].pieceData,summary:S[a].pieceData,oAccessor:$}},data:M.marks,behavior:ie,canvasRender:m,styleFn:b,classFn:v},pieces:{accessibleTransform:(e,t)=>Object.assign(Object.assign({},e[t].piece?Object.assign(Object.assign({},e[t].piece),e[t].xy):e[t]),{type:"frame-hover"}),shouldRender:f.type&&"none"!==f.type,data:r,behavior:w,canvasRender:p,styleFn:k,classFn:j,axis:V,ariaLabel:void 0!==f.type&&"function"!=typeof f.type&&He[f.type]||{items:"piece",chart:"ordinal chart"}}};let J;if(P.onChange&&(c.calculatedRExtent||[]).join(",")!==(A||[]).join(",")&&P.onChange(A),D.onChange&&(c.calculatedOExtent||[]).join(",")!==(z||[]).join(",")&&D.onChange(z),q&&(J=!0===q?{}:Object.assign({},q),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:C,adjustedSize:T,backgroundGraphics:N,foregroundGraphics:R,axisData:V,axes:I,axesTickLines:B,oLabels:{labels:_},title:W,columnOverlays:Q,renderNumber:c.renderNumber+1,oScaleType:G,rScaleType:K,oExtent:O,rExtent:X,oScale:Y,rScale:F,calculatedOExtent:z,calculatedRExtent:A,projectedColumns:S,margin:L,legendSettings:J,orFrameRender:U,pieceIDAccessor:H,props:Z}}({usesPieceOverlays:kt,shouldRecalculateOverlay:Te,calculatedPieceData:Ot,projection:M,customClickBehavior:F,customDoubleClickBehavior:A,customHoverBehavior:$,currentState:n,connectorStyle:de,connectorClass:he,connectorRenderMode:fe,connectorCanvasRender:ke,summaryCanvasRender:ve,pieceCanvasRender:be,connectorType:te,eventListenersGenerator:le,pieceType:ee,summaryStyle:ye,summaryClass:pe,pieceStyle:ue,pieceClass:me,keyedData:St,oExtent:Ge,projectedColumns:o,calculatedSummaries:Mt,oAccessor:re,rScale:dt,calculatedRExtent:st,calculatedOExtent:We,rExtentSettings:tt,oExtentSettings:_e,adjustedPosition:Ve,adjustedSize:Be,margin:Re,backgroundGraphics:V,foregroundGraphics:I,arrayWrappedAxis:Ne,axis:zt,axesTickLines:Pt,oLabels:i,title:je,columnOverlays:ze,oScaleType:B,instantiatedRScaleType:ct,oScale:Je,rExtent:at,legend:W,pieceIDAccessor:Ee,currentProps:e}))})(n,i,s)),{margin:c,adjustedSize:l,orFrameRender:d,axes:y,axesTickLines:u,title:m}=o,p=[l[0]+c.left+c.right,l[1]+c.top+c.bottom],h=t.scaleLinear(),g=t.scaleLinear(),f=n.frameRenderOrder||$t;return wt({size:p,margin:c,renderedElements:Ft(d,n.renderOrder||[],h,g,St),axes:y,axesTickLines:u,title:m,frameRenderOrder:f,additionalDefs:n.additionalDefs,name:"ordinalframe",matte:n.matte,frameKey:"static"})}function Pt(e){const a=Object.assign(Object.assign({},{annotations:[],foregroundGraphics:[],size:[500,500],className:"",name:"networkframe",networkType:{type:"force",iterations:500}}),e),r={marginCalc:b.default((e,t,a)=>{const r=we({margin:e,title:t,size:a}),{adjustedPosition:n,adjustedSize:s}=Te({size:a,margin:r});return{margin:r,adjustedPosition:n,adjustedSize:s}}),accessorConversions:b.default((e,t,a,r,n)=>({nodeIDAccessor:Me(e,e=>e?e.id:void 0),sourceAccessor:Me(t,e=>e.source),targetAccessor:Me(a,e=>e.target),nodeSizeAccessor:"number"==typeof r?Ge(r):Me(r,Ge(5)),edgeWidthAccessor:Me(n,e=>e.weight||1)})),nodeStyleFns:b.default((e,t,a,r)=>({nodeStyleFn:Me(e,()=>({}),!0),nodeClassFn:Me(t,()=>"",!0),nodeRenderModeFn:Me(a,void 0,!0),nodeCanvasRenderFn:r?Me(r,void 0,!0):void 0})),edgeStyleFns:b.default((e,t,a,r)=>({edgeStyleFn:Me(e,()=>({}),!0),edgeClassFn:Me(t,()=>"",!0),edgeRenderModeFn:Me(a,void 0,!0),edgeCanvasRenderFn:r?Me(r,void 0,!0):void 0}))},n=function(e){return{dataVersion:void 0,nodeData:[],edgeData:[],adjustedPosition:[],adjustedSize:[],backgroundGraphics:null,foregroundGraphics:null,projectedNodes:[],projectedEdges:[],renderNumber:0,nodeLabelAnnotations:[],graphSettings:{type:"empty-start",nodes:[],edges:[],nodeHash:new Map,edgeHash:new Map,hierarchicalNetwork:!1},edgeWidthAccessor:Me("weight"),legendSettings:void 0,margin:{top:0,left:0,right:0,bottom:0},networkFrameRender:{},nodeIDAccessor:Me("id"),nodeSizeAccessor:Ge(5),overlay:[],projectedXYPoints:[],sourceAccessor:Me("source"),targetAccessor:Me("target"),title:{title:void 0},props:e}}(a),s=Object.assign(Object.assign({},n),Et(a,n,r)),{margin:i,networkFrameRender:o,title:c,graphSettings:l}=s,d=a.size||[500,500],y=t.scaleLinear(),u=t.scaleLinear(),m=a.frameRenderOrder||$t;return wt({size:d,margin:i,renderedElements:Ft(o,a.renderOrder||(l&&"matrix"===l.type?["nodes","edges"]:["edges","nodes"]),y,u,Mt),title:c,frameRenderOrder:m,additionalDefs:a.additionalDefs,name:"networkframe",matte:a.matte,frameKey:"static"})}function wt({size:e,margin:t,renderedElements:a,axes:r,axesTickLines:n,title:s,frameRenderOrder:i,additionalDefs:o,name:c,frameKey:l}){const d={"axes-tick-lines":n?x.createElement("g",{key:"visualization-tick-lines",className:"axis axis-tick-lines","aria-hidden":!0},n):null,"axes-labels":r?x.createElement("g",{key:"visualization-axis-labels",className:"axis axis-labels"},r):null,"viz-layer":a&&a.length>0?a:null},y=[];i.forEach(e=>{d[e]&&y.push(d[e])});const u=function({title:e={title:"",orient:"top"},size:t}){let a=null;const{title:r,orient:n}=ze(e);let s,i=0,o=0;switch(n){case"top":i=t[0]/2,o=25;break;case"bottom":i=t[0]/2,o=t[1]-25;break;case"left":i=25,o=t[1]/2,s="rotate(-90)";break;case"right":i=t[0]-25,o=t[1]/2,s="rotate(90)"}const c=`translate(${i},${o})`;return"string"==typeof r&&r.length>0?a=x.createElement("g",{transform:c},x.createElement("text",{className:"frame-title",transform:s,style:{textAnchor:"middle",pointerEvents:"none"}},r)):r&&(a=x.createElement("g",{transform:c},r)),a}({title:s||{title:void 0},size:e}),{defs:m}=(({matte:e,additionalDefs:t})=>{let a;x.isValidElement(e)&&(a=e);const r=(({matte:e,key:t,additionalDefs:a})=>x.createElement("defs",null,x.createElement("filter",{id:"paintyFilterHeavy"},x.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:4,colorInterpolationFilters:"sRGB",result:"blur"}),x.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"})),x.createElement("filter",{id:"paintyFilterLight"},x.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:2,colorInterpolationFilters:"sRGB",result:"blur"}),x.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"})),x.createElement("clipPath",{id:"matte-clip-"+t},e),a))({matte:a,key:e,additionalDefs:t});return{defs:r,matte:a}})({matte:null,size:e,margin:t,frameKey:l,additionalDefs:o,name:c});return(void 0)(x.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:c+" frame",width:e[0],height:e[1]},m,y.length>0&&x.createElement("g",{className:"data-visualization",key:"visualization-clip-path",role:"group",transform:`translate(${t.left},${t.top})`},y),u&&x.createElement("g",{className:"frame-title"},u)))}exports.renderNetworkToStaticSVG=function(e){return Pt(e)},exports.renderOrdinalToStaticSVG=function(e){return zt(e)},exports.renderToStaticSVG=function(e,t){switch(e){case"xy":return At(t);case"ordinal":return zt(t);case"network":return Pt(t);default:throw Error(`Unknown frame type: ${e}. Must be "xy", "ordinal", or "network".`)}},exports.renderXYToStaticSVG=function(e){return At(e)};
|