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("labella"),n=require("d3-brush"),a=require("d3-selection"),o=require("d3-array"),r=require("d3-delaunay"),s=require("d3-scale"),i=require("regression"),l=require("d3-shape"),c=require("d3-contour"),d=require("d3-hexbin"),u=require("d3-hierarchy"),p=require("d3-polygon"),y=require("polygon-offset"),m=require("d3-glyphedge"),h=require("d3-path-arrows"),g=require("d3-interpolate"),f=require("memoize-one"),x=require("d3-chord"),b=require("svg-path-bounding-box"),v=require("d3-sankey-circular"),k=require("d3-force");function E(e){return e&&e.__esModule?e:{default:e}}function j(e){if(e&&e.__esModule)return e;const t=Object.create(null);if(e)for(const n in e)if("default"!==n){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}return t.default=e,Object.freeze(t)}const $=j(e),M=E(t),w=E(i),O=E(y),P=E(f),S=E(b),A=(e,t,n,a)=>{const o=(e.note.label||e.note.title).length;return[Math.min(e.note.wrap||120,o*t)+2*a,Math.ceil(o*t/120)*n+2*a]};const N={fill:e=>$.createElement("rect",{style:e,width:20,height:20}),line:e=>$.createElement("line",{style:e,x1:0,y1:0,x2:20,y2:20})};function D(e,t,n,a){let o;return o="function"==typeof n?n(e):(0,N[n])(a(e,t)),o}function z(e){const{legendGroups:t,customClickBehavior:n,title:a="Legend",width:o=100,height:r=20,orientation:s="vertical"}=e,i="vertical"===s?(({legendGroups:e,width:t,customClickBehavior:n})=>{let a=30;const o=[];return e.forEach((e,r)=>{a+=5,o.push($.createElement("line",{key:"legend-top-line legend-symbol-"+r,stroke:"gray",x1:0,y1:a,x2:t,y2:a})),a+=10,e.label&&(a+=20,o.push($.createElement("text",{key:"legend-text-"+r,y:a,className:"legend-group-label"},e.label)),a+=10),o.push($.createElement("g",{key:"legend-group-"+r,className:"legend-item",transform:`translate(0,${a})`},((e,t)=>{const{type:n="fill",styleFn:a,items:o}=e,r=[];let s=0;return o.forEach((e,o)=>{const i=D(e,o,n,a);r.push($.createElement("g",{key:"legend-item-"+o,transform:`translate(0,${s})`,onClick:t?()=>t(e):void 0,style:{cursor:t?"pointer":"default"}},i,$.createElement("text",{y:15,x:30},e.label))),s+=25}),r})(e,n))),a+=25*e.items.length+10}),o})({legendGroups:t,width:o,customClickBehavior:n}):(({legendGroups:e,title:t,height:n,customClickBehavior:a})=>{let o=0;const r=[],s=!1===t?10:40;return e.forEach((t,i)=>{t.label&&(r.push($.createElement("text",{key:"legend-text-"+i,transform:`translate(${o},${s}) rotate(90)`,textAnchor:"start",className:"legend-group-label"},t.label)),o+=20);const l=((e,t)=>{const{type:n="fill",styleFn:a,items:o}=e,r=[];let s=0;return o.forEach((e,o)=>{const i=D(e,o,n,a);r.push($.createElement("g",{key:"legend-item-"+o,transform:`translate(${s},0)`,onClick:t?()=>t(e):void 0,style:{cursor:t?"pointer":"default"}},i,$.createElement("text",{y:15,x:25},e.label))),s+=35,s+=8*e.label.length}),{items:r,offset:s}})(t,a);r.push($.createElement("g",{key:"legend-group-"+i,className:"legend-item",transform:`translate(${o},${s})`},l.items)),o+=l.offset+5,e[i+1]&&r.push($.createElement("line",{key:"legend-top-line legend-symbol-"+i,stroke:"gray",x1:o,y1:s-10,x2:o,y2:n+s+10})),o+=15}),$.createElement("g",null,!1!==t&&$.createElement("line",{x1:0,x2:o+10,y1:s-10,y2:s-10,stroke:"gray",className:"title-neatline"}),r)})({legendGroups:t,title:a,height:r,customClickBehavior:n});return $.createElement("g",null,void 0!==a&&$.createElement("text",{className:"legend-title",y:20,x:"horizontal"===s?0:o/2,textAnchor:"horizontal"===s?"start":"middle"},a),i)}function C(e,t=120,n=8){if(!e)return[];const a=Math.max(1,Math.floor(t/n)),o=e.split(/\s+/),r=[];let s="";for(const e of o)s&&s.length+1+e.length>a?(r.push(s),s=e):s=s?`${s} ${e}`:e;return s&&r.push(s),r}function F(e,t,n,a){return"curly"===e?a?`M0,0 C${.6*n},0 ${.4*n},${t/2} ${n},${t/2} C${.4*n},${t/2} ${.6*n},${t} 0,${t}`:`M0,0 C0,${.6*n} ${t/2},${.4*n} ${t/2},${n} C${t/2},${.4*n} ${t},${.6*n} ${t},0`:a?`M0,0 L${n},0 L${n},${t} L0,${t}`:`M0,0 L0,${n} L${t},${n} L${t},0`}function R(e){const{x:t=0,y:n=0,dx:a,dy:o,nx:r,ny:s,note:i,connector:l,subject:c,type:d,color:u,className:p,disable:y,events:m={},"data-testid":h}=e,g=new Set(Array.isArray(y)?y:[]);let f=a||0,x=o||0;null!=r&&(f=r-t),null!=s&&(x=s-n);const b="string"==typeof d?d:"label";if("bracket"===b&&c&&0===f&&0===x)if(void 0!==c.width){f=c.width/2;const e=c.depth||30;x=e+(0>e?-5:5)}else if(void 0!==c.height){const e=c.depth||30;f=e+(0>e?-5:5),x=c.height/2}return $.createElement("g",Object.assign({className:("annotation "+(p||"")).trim(),transform:`translate(${t},${n})`,"data-testid":h},m),!g.has("connector")&&function(e,t,n,a,o,r){const s=[];let i=0,l=0;if("callout-circle"!==o&&"label"!==o||!(null==r?void 0:r.radius)){if("callout-rect"===o&&r){const n=r.width||0,a=r.height||0;if(n>0||a>0){const o=n/2,r=a/2,s=e-o,c=t-r;if(0!==s||0!==c){const e=Math.abs(s),t=Math.abs(c),d=n/2,u=a/2,p=e*u>t*d?d/e:u/t;i=o+s*p,l=r+c*p}}}else if("bracket"===o&&r){const e=r.width,t=r.height,n=r.depth||30;void 0!==e?(i=e/2,l=n):void 0!==t&&(i=n,l=t/2)}}else{const n=(r.radius||0)+(r.radiusPadding||0);if(n>0&&(0!==e||0!==t)){const a=Math.atan2(t,e);i=Math.cos(a)*n,l=Math.sin(a)*n}}if(Math.sqrt(Math.pow(e-i,2)+Math.pow(t-l,2))>.5&&(s.push($.createElement("line",{key:"connector-line",x1:i,y1:l,x2:e,y2:t,stroke:a||"currentColor"})),"arrow"===(null==n?void 0:n.end))){const n=10,o=16/180*Math.PI,r=Math.atan2(t-l,e-i);s.push($.createElement("path",{key:"connector-arrow",d:`M${i},${l}L${i+n*Math.cos(r+o)},${l+n*Math.sin(r+o)}L${i+n*Math.cos(r-o)},${l+n*Math.sin(r-o)}Z`,fill:a||"currentColor",stroke:"none"}))}return $.createElement("g",{className:"annotation-connector"},s)}(f,x,l,u,b,c),!g.has("subject")&&function(e,t,n,a,o){var r;const s=[];switch(e){case"callout-circle":{const e=((null==t?void 0:t.radius)||0)+((null==t?void 0:t.radiusPadding)||0);e>0&&s.push($.createElement("circle",{key:"subject-circle",r:e,fill:"none",stroke:n||"currentColor"}));break}case"callout-rect":{const e=(null==t?void 0:t.width)||0,a=(null==t?void 0:t.height)||0;(e>0||a>0)&&s.push($.createElement("rect",{key:"subject-rect",width:e,height:a,fill:"none",stroke:n||"currentColor"}));break}case"callout-custom":(null==t?void 0:t.custom)&&s.push(...Array.isArray(t.custom)?t.custom:[t.custom]);break;case"xy-threshold":{const e=a||0,r=o||0;if(void 0!==(null==t?void 0:t.x)){const a=(t.x||0)-e;s.push($.createElement("line",{key:"threshold-line",x1:a,y1:(t.y1||0)-r,x2:a,y2:(t.y2||0)-r,stroke:n||"currentColor",strokeDasharray:"5,5"}))}else if(void 0!==(null==t?void 0:t.y)){const a=(t.y||0)-r;s.push($.createElement("line",{key:"threshold-line",x1:(t.x1||0)-e,y1:a,x2:(t.x2||0)-e,y2:a,stroke:n||"currentColor",strokeDasharray:"5,5"}))}else void 0!==(null==t?void 0:t.x1)||void 0!==(null==t?void 0:t.x2)?s.push($.createElement("line",{key:"threshold-line",x1:(t.x1||0)-e,y1:0,x2:(t.x2||0)-e,y2:0,stroke:n||"currentColor",strokeDasharray:"5,5"})):void 0===(null==t?void 0:t.y1)&&void 0===(null==t?void 0:t.y2)||s.push($.createElement("line",{key:"threshold-line",x1:0,y1:(t.y1||0)-r,x2:0,y2:(t.y2||0)-r,stroke:n||"currentColor",strokeDasharray:"5,5"}));break}case"bracket":{const e=null!==(r=null==t?void 0:t.width)&&void 0!==r?r:null==t?void 0:t.height;void 0!==e&&s.push($.createElement("path",{key:"bracket-path",d:F((null==t?void 0:t.type)||"curly",e,(null==t?void 0:t.depth)||30,void 0===(null==t?void 0:t.width)),fill:"none",stroke:n||"currentColor"}));break}}return $.createElement("g",{className:"annotation-subject"},s)}(b,c,u,t,n),!g.has("note")&&function(e,t,n,a){if(!e)return $.createElement("g",{className:"annotation-note"});const{label:o,title:r,orientation:s,align:i,wrap:l=120,noWrap:c}=e;if(!o&&!r)return $.createElement("g",{className:"annotation-note"});let d=s;d||(d=Math.abs(t)>Math.abs(n)?"leftRight":"topBottom");let u=i;u&&"dynamic"!==u||(u="topBottom"===d?0>t?"right":"left":0>n?"bottom":"top");let p="start";"topBottom"===d?"right"===u?p="end":"middle"===u&&(p="middle"):p=0>t?"end":"start";const y=16,m=r?c?[r]:C(r,l):[],h=o?c?[o]:C(o,l):[],g="leftRight"===d?"end"===p?-4:4:0;let f=0;const x=[];m.length>0&&(x.push($.createElement("text",{key:"annotation-note-title",className:"annotation-note-title",fill:a||void 0,textAnchor:p,fontWeight:"bold"},m.map((e,t)=>$.createElement("tspan",{key:t,x:g,dy:0===t?0:y},e)))),f=m.length*y),h.length>0&&x.push($.createElement("text",{key:"annotation-note-label",className:"annotation-note-label",fill:a||void 0,textAnchor:p,y:f},h.map((e,t)=>$.createElement("tspan",{key:t,x:g,dy:y},e))));let b=null;if((r||o)&&(0!==t||0!==n))if("topBottom"===d){const e=Math.min(l,120);let t=0,n=e;"end"===p?(t=-e,n=0):"middle"===p&&(t=-e/2,n=e/2),b=$.createElement("line",{className:"note-line",x1:t,x2:n,y1:0,y2:0,stroke:a||"currentColor"})}else{const e=(m.length+h.length)*y+(h.length>0?y:0);let t=0,n=e;"bottom"===u?(t=-e,n=0):"middle"===u&&(t=-e/2,n=e/2),b=$.createElement("line",{className:"note-line",x1:0,x2:0,y1:t,y2:n,stroke:a||"currentColor"})}const v=(m.length+h.length)*y+(h.length>0?y:0);let k=0;return"topBottom"===d?0>n&&(k=-v):"leftRight"===d&&("middle"===u?k=-v/2:("bottom"===u||0>n)&&(k=-v)),$.createElement("g",{className:"annotation-note",transform:`translate(${t},${n})`},$.createElement("g",{className:"annotation-note-content",transform:0!==k?`translate(0,${k})`:void 0},x),b)}(i,f,x,u))}function L(e){const{noteData:t}=e,{screenCoordinates:n}=t,a="string"==typeof t.type?t.type:"label",o=t.eventListeners||t.events||{};if(t.coordinates&&n){const e=t.nx||n[0][0]+t.dx,o=t.ny||n[0][1]+t.dy,r=n.map((n,r)=>{const s=Object.assign({},t,{note:0===r?t.note:{label:""},x:n[0],y:n[1],nx:e,ny:o});return $.createElement(R,Object.assign({"data-testid":"semiotic-annotation",key:"multi-annotation-"+r},s,{type:a}))});return $.createElement("g",null,r)}const r=t.note||{title:"none",label:t.label};return $.createElement(R,Object.assign({"data-testid":"semiotic-annotation",key:`${r.label}-${r.title}-${t.i}`,events:o},t,{type:a}))}let[T,I]=function(t){let n=e.createContext(null);return[function({children:a}){let o=e.useMemo(()=>function(e){let t=new EventTarget,n=e(function e(a){n=Object.assign(n,a(e)),t.dispatchEvent(new CustomEvent("update"))});return{getState:()=>n,subscribe:function(e){return t.addEventListener("update",e),()=>t.removeEventListener("update",e)}}}(t),[]);return $.createElement(n.Provider,{value:o,children:a})},t=>{let a=e.useContext(n);return function(t,n){const[a,o]=e.useState(n);return e.useLayoutEffect(()=>t(()=>o(n)),[t]),a}(null==a?void 0:a.subscribe,()=>t(a.getState()))}]}(e=>({tooltip:null,changeTooltip(t){e(()=>({tooltip:t}))}}));function B(e,t,n){return"number"==typeof n?n:t&&t.find(t=>t.props.orient===e)?50:10}const W=(e,t,n)=>`${e.map(V).join(",")}${JSON.stringify(t)}${n.join(",")}`;function V(e){if(!e||!e.props||!e.props.noteData)return"";const{note:t={}}=e.props.noteData,{label:n,title:a}=t;return`${e.props.noteData.id||`${e.props.noteData.x}-${e.props.noteData.y}`}-${n}=${a}`}function _(e,t=8,n){const{noteWidth:a=n}=e;let o=a;"number"==typeof a&&(o=()=>a);const r=e.note&&e.note.wrap||120,s=e.note.label||e.note.label||"";return a&&o(e)||($.default.isValidElement(e.note)?100:Math.min(r,s.length*t))}function H(e,t=8,n=20,a){const{noteHeight:o=a}=e;let r=o;"number"==typeof o&&(r=()=>o);const s=e.note&&e.note.wrap||120,i=e.note.label||e.note.title||"";return o&&r(e)||($.default.isValidElement(e.note)?30:Math.ceil(i.length*t/s)*n+(e.note.label&&e.note.title?n:0))}const q=(e,t)=>t.map((t,n)=>e.svgAnnotationRule(t,n,e)).filter(e=>null!=e),G=(e,t)=>{let n=t.adjustedAnnotations,a=t.adjustedAnnotationsKey,o=t.adjustableAnnotations,r=t.fixedAnnotations,s=[],i=[];const l=t.adjustedAnnotationsKey,c=t.adjustedAnnotationsDataVersion,{annotations:d,annotationHandling:u=!1,size:p,svgAnnotationRule:y,htmlAnnotationRule:m}=e,h="object"==typeof u?u:{layout:{type:u},dataVersion:""},{dataVersion:g=""}=h;if(y){const t=q(e,d);a=W(t,h,p),!1===u&&(n=o),n=n.length!==o.length||l!==a||c!==g?((e,t,n)=>{const{layout:a={type:!1,noteHeight:void 0,noteWidth:void 0}}=t;if(!1===a.type)return e;const{noteWidth:o,noteHeight:r}=a;let{margin:s={top:0,bottom:0,left:0,right:0}}=n;const{size:i,axes:l=[]}=n;if(s="number"==typeof s?{top:s,left:s,right:s,bottom:s}:s,"bump"===a.type)return function(e,t,n,a,o){const{padding:r=1,characterWidth:s=8,lineHeight:i=20,iterations:l=500,pointSizeFunction:c=a,labelSizeFunction:d=o||A}=t,u=e.map((e,t)=>{const n=(e.props.noteData.x[0]||e.props.noteData.x)+(void 0!==e.props.noteData.dx?e.props.noteData.dx:-10*(t%3-1)),a=(e.props.noteData.y[0]||e.props.noteData.y)+(void 0!==e.props.noteData.dy?e.props.noteData.dy:10*(t%3-1)),[o,l]=d(e.props.noteData,s,i,r);return{x:n,y:a,above:e.props.noteData.y>a,left:e.props.noteData.x>n,width:o,height:l,type:"label",name:"",originalNote:e}}),p=e.map(e=>({x:e.props.noteData.x,y:e.props.noteData.y,fx:e.props.noteData.x,fy:e.props.noteData.y,r:c&&c(e.props.noteData)||5,type:"point",originalNote:e})),y=function(){let e,t=[],n=[],a=1,o=1,r={start:e=>{},width:e=>{},height:e=>{},label:e=>{},anchor:e=>{},alt_energy:e=>{},alt_schedule:e=>{}},s=!1;const i=function(e){let a=t.length,o=0,r=t[e].x-n[e].x,s=n[e].y-t[e].y,i=Math.sqrt(r*r+s*s);i>0&&(o+=.2*i),r/=i,s/=i,o+=r>0&&s>0?0:0>r&&s>0?3:0>r&&0>s?6:9;let l,c,u,p,y,m,h,g=t[e].x,f=t[e].y-t[e].height+2,x=t[e].x+t[e].width,b=t[e].y+2;for(let r=0;a>r;r++)r!==e&&(d(n[e].x,t[e].x,n[r].x,t[r].x,n[e].y,t[e].y,n[r].y,t[r].y)&&(o+=1),l=t[r].x,u=t[r].y-t[r].height+2,c=t[r].x+t[r].width,p=t[r].y+2,y=Math.max(0,Math.min(c,x)-Math.max(l,g)),m=Math.max(0,Math.min(p,b)-Math.max(u,f)),h=y*m,o+=30*h),l=n[r].x-n[r].r,u=n[r].y-n[r].r,c=n[r].x+n[r].r,p=n[r].y+n[r].r,y=Math.max(0,Math.min(c,x)-Math.max(l,g)),m=Math.max(0,Math.min(p,b)-Math.max(u,f)),h=y*m,o+=30*h;return o},l=function(r){let l,c,d=Math.floor(Math.random()*t.length),u=t[d].x,p=t[d].y;l=s?e(d,t,n):i(d),t[d].x+=5*(Math.random()-.5),t[d].y+=5*(Math.random()-.5),t[d].x>a&&(t[d].x=u),0>t[d].x&&(t[d].x=u),t[d].y>o&&(t[d].y=p),0>t[d].y&&(t[d].y=p),c=s?e(d,t,n):i(d);let y=c-l;Math.random()<Math.exp(-y/r)||(t[d].x=u,t[d].y=p)},c=function(r){let l,c=Math.floor(Math.random()*t.length),d=t[c].x,u=t[c].y;l=s?e(c,t,n):i(c);let p=.5*(Math.random()-.5),y=Math.sin(p),m=Math.cos(p);t[c].x-=n[c].x,t[c].y-=n[c].y;let h,g=t[c].x*y+t[c].y*m;t[c].x=t[c].x*m-t[c].y*y+n[c].x,t[c].y=g+n[c].y,t[c].x>a&&(t[c].x=d),0>t[c].x&&(t[c].x=d),t[c].y>o&&(t[c].y=u),0>t[c].y&&(t[c].y=u),h=s?e(c,t,n):i(c);let f=h-l;Math.random()<Math.exp(-f/r)||(t[c].x=d,t[c].y=u)},d=function(e,t,n,a,o,r,s,i){let l,c,d,u,p;return d=(i-s)*(t-e)-(a-n)*(r-o),u=(a-n)*(o-s)-(i-s)*(e-n),p=(t-e)*(o-s)-(r-o)*(e-n),l=u/d,c=p/d,!(0>l||l>1||0>c||c>1)},u=function(e,t,n){return e-t/n};return r.start=function(e){let n=t.length,a=1;for(let t=0;e>t;t++){for(let e=0;n>e;e++).5>Math.random()?l(a):c(a);a=u(a,1,e)}},r.width=function(e){return arguments.length?(a=e,r):a},r.height=function(e){return arguments.length?(o=e,r):o},r.label=function(e){return arguments.length?(t=e,r):t},r.anchor=function(e){return arguments.length?(n=e,r):n},r.alt_energy=function(t){return arguments.length?(e=t,s=!0,r):i},r.alt_schedule=function(e){return arguments.length?r:u},r}();return y.label(u),y.anchor(p),y.width(n[0]),y.height(n[1]),y.start(l),u.forEach(e=>{if("label"===e.type){const t=function(e,t,n){return e.y>t.y?[t.x+t.width/2+n/2,t.y-t.height+n/2]:[t.x+t.width/2,t.y]}(e.originalNote.props.noteData,e,r);e.originalNote.props.noteData.nx=t[0],e.originalNote.props.noteData.ny=t[1]}}),e}(e,a,i,n.pointSizeFunction,n.labelSizeFunction);if("marginalia"===a.type){const{marginOffset:t,orient:n="nearest",characterWidth:c=8,lineHeight:d=20,padding:u=2,axisMarginOverride:p={}}=a,y="nearest"===n?["left","right","top","bottom"]:Array.isArray(n)?n:[n],m=y.find(e=>"left"===e),h=y.find(e=>"right"===e),g=y.find(e=>"top"===e),f=y.find(e=>"bottom"===e),x=[],b=[],v=[],k=[];for(const t of e){const e=t.props.noteData,n=e.x[0]||e.x,a=e.y[0]||e.y,o=m?n:1/0,r=h?i[0]-n:1/0,s=g?a:1/0,l=Math.min(o,r,s,f?i[1]-a:1/0);o===l?x.push(t):r===l?b.push(t):s===l?v.push(t):k.push(t)}const E=new M.default.Force({minPos:void 0!==p.top?0+p.top:0-s.top,maxPos:void 0!==p.bottom?i[1]-p.bottom:f?i[1]:i[1]+s.bottom}).nodes(x.map(e=>new M.default.Node(e.props.noteData.y[0]||e.props.noteData.y,H(e.props.noteData,c,d,o)+u))).compute(),j=new M.default.Force({minPos:void 0!==p.top?0+p.top:g?0:0-s.top,maxPos:void 0!==p.bottom?i[1]-p.bottom:i[1]+s.bottom}).nodes(b.map(e=>new M.default.Node(e.props.noteData.y[0]||e.props.noteData.y,H(e.props.noteData,c,d,o)+u))).compute(),w=new M.default.Force({minPos:void 0!==p.left?0+p.left:m?0:0-s.left,maxPos:void 0!==p.right?i[0]-p.right:i[0]+s.right}).nodes(v.map(e=>new M.default.Node(e.props.noteData.x[0]||e.props.noteData.x,_(e.props.noteData,c,r)+u))).compute(),O=new M.default.Force({minPos:void 0!==p.left?0+p.left:0-s.left,maxPos:void 0!==p.right?i[0]-p.right:h?i[0]:i[0]+s.right}).nodes(k.map(e=>new M.default.Node(e.props.noteData.x[0]||e.props.noteData.x,_(e.props.noteData,c,r)+u))).compute(),P=Math.max(...k.map(e=>H(e.props.noteData,c,d,o)+u)),S=Math.max(...v.map(e=>H(e.props.noteData,c,d,o)+u)),A=Math.max(...x.map(e=>_(e.props.noteData,c,r)+u)),N=Math.max(...b.map(e=>_(e.props.noteData,c,r)+u)),D=E.nodes(),z=j.nodes(),C=w.nodes(),F=O.nodes();return x.forEach((e,n)=>{const a=0-D[n].layerIndex*A-B("left",l,t),o=D[n].currentPos;e.props.noteData.nx=a,e.props.noteData.ny=o,e.props.noteData.note&&!$.isValidElement(e)&&(e.props.noteData.note.orientation=e.props.noteData.note.orientation||"leftRight",e.props.noteData.note.align=e.props.noteData.note.align||"right")}),b.forEach((e,n)=>{const a=i[0]+z[n].layerIndex*N+B("right",l,t),o=z[n].currentPos;e.props.noteData.nx=a,e.props.noteData.ny=o,e.props.noteData.note&&!$.isValidElement(e)&&(e.props.noteData.note.orientation=e.props.noteData.note.orientation||"leftRight",e.props.noteData.note.align=e.props.noteData.note.align||"left")}),v.forEach((e,n)=>{const a=C[n].currentPos,o=0-C[n].layerIndex*S-B("top",l,t);e.props.noteData.nx=a,e.props.noteData.ny=o}),k.forEach((e,n)=>{const a=F[n].currentPos,o=i[1]+F[n].layerIndex*P+B("bottom",l,t);e.props.noteData.nx=a,e.props.noteData.ny=o}),e}return e})(o,h,e):o.map((e,t)=>{const a=Object.assign(Object.assign({},n[t].props.noteData),e.props.noteData);return $.createElement(L,{key:e.key,noteData:a})}),s=[...n,...r]}return m&&(i=((e,t)=>t.map((t,n)=>e.htmlAnnotationRule(t,n,e)).filter(e=>null!=e))(e,d)),{svgAnnotations:s,htmlAnnotations:i,adjustedAnnotations:n,adjustedAnnotationsKey:a,adjustedAnnotationsDataVersion:g}};function Y(t){const{legendSettings:n,margin:a,size:o,annotations:r,annotationHandling:s}=t,i=I(e=>e.tooltip);let l=null!=i?r.concat(i):r,c=I(e=>e.changeTooltip);const d=Object.assign(Object.assign({},t),{annotations:l,voronoiHover:e=>{c(e)}}),u="object"==typeof s?s:{layout:{type:s},dataVersion:""},{dataVersion:p=""}=u,[y,m]=e.useState([]),[h,g]=e.useState([]),[f,x]=e.useState([]),[b,v]=e.useState(""),[k,E]=e.useState(p),j=q(d,l),M=j.filter(e=>e.props&&e.props.noteData&&!e.props.noteData.fixedPosition),w=W(M,u,o);let O;if(e.useEffect(()=>{const e=j.filter(e=>!e.props||!e.props.noteData||e.props.noteData.fixedPosition),t=G(d,{adjustedAnnotations:y,adjustedAnnotationsKey:b,adjustedAnnotationsDataVersion:k,adjustableAnnotations:M,fixedAnnotations:e});m(t.adjustedAnnotations),v(t.adjustedAnnotationsKey),E(t.adjustedAnnotationsDataVersion),g(t.svgAnnotations),x(t.htmlAnnotations)},[w,p,l.length,l.map(e=>function(e){const t=new Set;return JSON.stringify(e,(e,n)=>t.has(n)?"...":"object"==typeof n?(t.add(n),"note"===e?`${n.label}-${n.title}`:"connector"===e?`${n.end}-${n.type}`:"subject"===e?""+n.radius:"object"==typeof n.column?`${n.column.x}-${n.column.y}-${n.column.name}`:n.voronoiX||n.voronoiY||n.x||n.y||n.dx||n.dy||n.label||n.type||n.key||n.hierarchicalID||n.id||n.name?`${n.voronoiX}-${n.voronoiY}-${n.dx}-${n.dy}-${n.x}-${n.y}-${n.label}-${n.type}-${n.key}-${n.hierarchicalID}-${n.id}-${n.name}`:"..."):n)}(e)).join("-")]),n){const e={left:[15,15],right:[o[0]+15,15]},{position:t="right",title:a="Legend"}=n;O=$.createElement("g",{transform:`translate(${e[t].join(",")})`},$.createElement(z,Object.assign({},n,{title:a,position:t})))}return 0!==l.length||n?$.createElement("div",{className:"annotation-layer",style:{position:"absolute",pointerEvents:"none",background:"none"}},$.createElement("svg",{className:"annotation-layer-svg",height:o[1],width:o[0],style:{background:"none",pointerEvents:"none",position:"absolute",left:a.left+"px",top:a.top+"px",overflow:"visible"}},$.createElement("g",null,O,h)),$.createElement("div",{className:"annotation-layer-html",style:{background:"none",pointerEvents:"none",position:"absolute",height:o[1]+"px",width:o[0]+"px",left:a.left+"px",top:a.top+"px"}},f)):null}const X=e=>e.reduce((e,t)=>e.concat(Array.isArray(t)?X(t.slice().sort((e,t)=>e-t)):t),[]);function K(e=[]){if(!Array.isArray(e))return"not-array";let t=e.slice();return Array.isArray(t[0])||(t=t.slice().sort((e,t)=>e-t)),""+X(t).map(e=>e instanceof Date&&""+e||void 0!==e&&e.toFixed&&e.toFixed(2)||"empty")}function Z(t){const{extent:n,selectedExtent:o}=t,r=e.useRef(null),s=K(n),i=K(o);e.useEffect(()=>{(null==r?void 0:r.current)&&((e,t)=>{const{svgBrush:n,selectedExtent:o}=t;if(a.select(e).call(n),o){let t=o;if(Array.isArray(o[0])){const e=[t[0][1],t[1][1]].sort((e,t)=>e-t);t=[[t[0][0],e[0]],[t[1][0],e[1]]]}a.select(e).call(n.move,t)}})(r.current,t)},[s,i,r]);const{position:l=[0,0]}=t;return $.createElement("g",{transform:`translate(${l})`,ref:r,className:"xybrush"})}function Q(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&0>t.indexOf(a)&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(a=Object.getOwnPropertySymbols(e);a.length>o;o++)0>t.indexOf(a[o])&&Object.prototype.propertyIsEnumerable.call(e,a[o])&&(n[a[o]]=e[a[o]])}return n}"function"==typeof SuppressedError&&SuppressedError;const U="x",J="y",ee="yMiddle",te="yTop",ne="yBottom",ae="xMiddle",oe="xTop",re="xBottom",se=(e,t)=>void 0===e?e:Object.assign(e&&e.data?Object.assign({points:t},e.data):{points:t},e),ie=(e,t,n,a,o,r)=>{const s=se(t,o);if(a&&a(s),t){if(!0===n){const t=Object.assign({},s);t.type="column-hover"===t.type?"column-hover":"frame-hover",e(t,r)}else if(n){const t=(Array.isArray(n)?n:[n]).map(e=>{const t="function"==typeof e?e(s):e;if(t)return Object.assign({},s,t)}).filter(e=>e);e(t,r)}}else e(null)},le=(e,t,n,a)=>{const o=se(e,n);t&&t(o,a)},ce=(e,t,n,a)=>{const o=se(e,n);t&&t(o,a)},de=(e,t,n,a,o)=>{o&&o.start&&o.start(e,t,n,a)},ue=(e,t,n,a,o)=>{o&&o.during&&o.during(e,t,n,a)},pe=(e,t,n,a,o)=>{o&&o.end&&o.end(e,t,n,a)},ye=()=>({}),me=2*Math.PI,he=(e=1)=>(t,n)=>{const a=t[t.length-1];return a&&Math.round(a.x/e)===Math.round(n.x/e)&&Math.round(a.y/e)===Math.round(n.y/e)||t.push(n),t};function ge(){const e=l.line();let t=function(e){return e.x},n=function(e){return e.y},a=function(e){return e.r},o=l.curveLinearClosed;function r(r){if(r.multiple){const s=a,l=r.multiple.reduce((e,t)=>e+t.weight,0);a=()=>l;let c=i(r.points).filter(e=>"forward"===e.direction).reduce(he(),[]);const d=[];return r.multiple.forEach((e,t)=>{a=()=>e.weight;const n=i(c);d.push(n);const o=r.multiple[t+1];if(o){const e=n.reverse().filter(e=>"back"===e.direction).reduce(he(),[]);a=()=>o.weight;const t=i(e);c=t.reverse().filter(e=>"back"===e.direction).reduce(he(),[])}}),a=s,d.map(a=>e.x(t).y(n).curve(o)(a))}const s=i(r).reduce(he(),[]);return e.x(t).y(n).curve(o)(s)}return r.x=function(e){return arguments.length?(t=e,r):t},r.y=function(e){return arguments.length?(n=e,r):n},r.r=function(e){return arguments.length?(a=e,r):a},r.interpolate=function(e){return arguments.length?(o=e,r):o},r;function s(e){const o=n(e.target)-n(e.source),r=t(e.target)-t(e.source),s=Math.atan2(r,o)+Math.PI/2,i=s+.5*Math.PI,l=s+.5*Math.PI;return{x1:t(e.source)+a(e.source)*Math.cos(i),y1:n(e.source)-a(e.source)*Math.sin(i),x2:t(e.target)+a(e.target)*Math.cos(l),y2:n(e.target)-a(e.target)*Math.sin(l)}}function i(e){const t=[];let n=0,a={x1:0,y1:0,x2:0,y2:0};for(;e.length>n;){if(n!==e.length-1&&(a=s({source:e[n],target:e[n+1]}),t.push({x:a.x1,y:a.y1,direction:"forward"},{x:a.x2,y:a.y2,direction:"forward"}),t.length>3)){const e=t.length-1,n={a:t[e-3],b:t[e-2]},a={a:t[e-1],b:t[e]},o=c(n.a.x,n.a.y,n.b.x,n.b.y,a.a.x,a.a.y,a.b.x,a.b.y);!0===o.found&&(n.b.x=o.x,n.b.y=o.y,a.a.x=o.x,a.a.y=o.y)}n++}for(n--;n>=0;){if(0!==n&&(a=s({source:e[n],target:e[n-1]}),t.push({x:a.x1,y:a.y1,direction:"back"},{x:a.x2,y:a.y2,direction:"back"}),t.length>3)){const e=t.length-1,n={a:t[e-3],b:t[e-2]},a={a:t[e-1],b:t[e]},o=c(n.a.x,n.a.y,n.b.x,n.b.y,a.a.x,a.a.y,a.b.x,a.b.y);!0===o.found&&(n.b.x=o.x,n.b.y=o.y,a.a.x=o.x,a.a.y=o.y)}n--}return t}function c(e,t,n,a,o,r,s,i){let l,c;const d={x:null,y:null,found:!1},u=(i-r)*(n-e)-(s-o)*(a-t);if(0===u)return d;l=t-r,c=e-o;const p=(n-e)*l-(a-t)*c;return l=((s-o)*l-(i-r)*c)/u,c=p/u,d.x=e+l*(n-e),d.y=t+l*(a-t),l>0&&1>l&&c>0&&1>c&&(d.found=!0),d}}const fe=({xy:e,orient:t,i:n,className:a="",jaggedBase:o})=>{let r=`M${e.x1},${e.y1}L${e.x2},${e.y2}`;return o&&0===n&&(r=((e,t)=>{let n="";const{x1:a,x2:o,y1:r,y2:s}=t;if("left"===e||"right"===e){const t=Math.abs(o-a);n=((e,t,n,a)=>{const o=e/t;let r=0,s="M0,"+n;const i="right"===a?-1:1;for(;e>=r;)s+=`L${r},${n}`,e>r&&(s+=`L${r+o/2},${n+10*i}`),r+=o;return s})(t,Math.ceil(t/40),"right"===e?0:r,e)}else{const t=Math.abs(s-r);n=((e,t,n,a)=>{const o=e/t;let r=0,s=`M${n},0`;const i="bottom"===a?-1:1;for(;e>=r;)s+=`L${n},${r}`,e>r&&(s+=`L${n+10*i},${r+o/2}`),r+=o;return s})(t,Math.ceil(t/40),a,e)}return n})(t,e)),$.createElement("path",{key:n,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:r,className:`tick-line tick ${t} ${a}`})};function xe(e,t,n){const a=Math.abs(n.range()[1]-n.range()[0]);return e||(t||(t=Math.max(1,Math.floor(a/40))),e=n.ticks&&n.ticks(t)||n.domain()),e}function be({t:e,o:t,w:n}){return"contour"!==e&&"boxplot"!==e||"left"!==t&&"right"!==t?0:n/2}function ve({t:e,o:t,w:n}){return"contour"!==e&&"boxplot"!==e||"top"!==t&&"bottom"!==t?0:n/2}function ke(e){const{translation:t,orient:n,decoratedSummaryType:a,summaryWidth:o,renderedSummary:r,points:s}=e;return $.default.createElement("g",{className:"marginal-graphics",transform:`translate(${t[n]})`},$.default.createElement("g",{transform:`translate(${be({t:a.type,o:n,w:o})},${ve({t:a.type,o:n,w:o})})`},r),s)}function Ee(e){const{className:t,translation:n,position:a,rotation:o,labelName:r,anchorMod:s}=e;return $.default.createElement("g",{className:"axis-title "+t,transform:`translate(${[n[0]+a[0],n[1]+a[1]]}) rotate(${o})`},$.default.isValidElement(r)?r:$.default.createElement("text",{textAnchor:s},r))}function je(e,t,n){const a=Math.PI*(t+.75)*2;return[e[0]+n*Math.cos(a),e[1]+n*Math.sin(a)]}const $e=()=>({});function Me(e,t){for(var n=[],a=0;e>a;a++){for(var o=[],r=0;t>r;r++)o.push(0);n.push(o)}return n}function we(e,t,n,a){var o;if(e>0){var r=(n[t]-n[e-1])/(t-e+1);o=a[t]-a[e-1]-(t-e+1)*r*r}else o=a[t]-n[t]*n[t]/(t+1);return 0>o?0:o}function Oe(e,t,n,a,o,r,s){if(t>=e){var i=Math.floor((e+t)/2);a[n][i]=a[n-1][i-1],o[n][i]=i;var l=n;e>n&&(l=Math.max(l,o[n][e-1]||0)),l=Math.max(l,o[n-1][i]||0);var c,d,u,p,y=i-1;a[0].length-1>t&&(y=Math.min(y,o[n][t+1]||0));for(var m=y;m>=l&&(c=we(m,i,r,s))+a[n-1][l-1]<a[n][i];--m)d=we(l,i,r,s),a[n][i]>(u=d+a[n-1][l-1])&&(a[n][i]=u,o[n][i]=l),l++,a[n][i]>(p=c+a[n-1][m-1])&&(a[n][i]=p,o[n][i]=m);Oe(e,i-1,n,a,o,r,s),Oe(i+1,t,n,a,o,r,s)}}function Pe({summaryType:e,data:t,finalXExtent:n,finalYExtent:a}){let o=[];e.type||(e={type:e});const{resolution:r=500,thresholds:i=10,bandwidth:l=20,neighborhood:d}=e,u=s.scaleLinear().domain(n).rangeRound([0,r]).nice(),p=s.scaleLinear().domain(a).rangeRound([r,0]).nice();return t.forEach(e=>{let t=c.contourDensity().size([r,r]).x(e=>u(e[0])).y(e=>p(e[1])).thresholds(i).bandwidth(l)(e._xyfCoordinates);d&&(t=[t[0]]);const n=Math.max(...t.map(e=>e.value));t.forEach(t=>{t.parentSummary=e,t.bounds=[],t.percent=t.value/n,t.coordinates.forEach(e=>{e.forEach((n,a)=>{e[a]=n.map(e=>[u.invert(e[0]),p.invert(e[1])]),0===a&&t.bounds.push(function(e){let t=[1/0,0],n=[-1/0,0],a=[0,1/0],o=[0,-1/0];return e.forEach(e=>{t=t[0]>e[0]?e:t,n=e[0]>n[0]?e:n,o=e[1]>o[1]?e:o,a=a[1]>e[1]?e:a}),{center:[(t[0]+n[0])/2,(a[1]+o[1])/2],top:a,left:t,right:n,bottom:o}}(e[a]))})})}),o=[...o,...t]}),o}const Se=(e,t,n,a)=>[...e.map((e,a)=>[e[0],e[1]+n(t[a])]),...e.map((e,n)=>[e[0],e[1]-a(t[n])]).reverse()],Ae=e=>[e.xy.x,e.xy.y],Ne={step:l.curveStep,stepbefore:l.curveStepBefore,stepafter:l.curveStepAfter,cardinal:l.curveCardinal,basis:l.curveBasis,linear:l.curveLinear,catmullrom:l.curveCatmullRom,monotone:l.curveMonotoneY,monotonex:l.curveMonotoneX,monotoney:l.curveMonotoneY,natural:l.curveNatural},De=(e,t)=>e.xy.y-t.xy.y,ze=(e,t)=>t.xy.x-e.xy.x,Ce=()=>({});function Fe({summary:e,summaryI:t,axisSettings:n,axisCreator:a,projection:o,actualMax:r,adjustedSize:i,columnWidth:l}){let c=`translate(${e.x},0)`,d=[0,r];"horizontal"===o?(c=`translate(0,${e.x})`,d=[r,0]):"radial"===o&&(c="translate(0, 0)"),n.size=["horizontal"===o?i[0]:l,"vertical"===o?i[1]:l];const u=a(n,t,s.scaleLinear().domain(d).range([0,l]));return $.createElement("g",{className:"summary-axis",key:"summaryPiece-axis-"+t,transform:c},u)}function Re({data:e,type:t,eventListenersGenerator:n,styleFn:a,classFn:r,projection:s,adjustedSize:i,chartSize:c,axisCreator:d}){const u=[],p=[],y=t.bins||25,m=!!t.relative&&{},h=t.binValue||(e=>e.length),g=t.elementStyleFn||Ce;let f;t.axis&&(t.axis.orient="horizontal"===s&&-1===["left","right"].indexOf(t.axis.orient)?"left":t.axis.orient,t.axis.orient="vertical"===s&&-1===["bottom","top"].indexOf(t.axis.orient)?"bottom":t.axis.orient,f=d,"radial"===s&&(console.error("Summary axes cannot be drawn for radial histograms"),f=()=>null));let x=c/y;const b=Object.keys(e);let v=0;const k=o.histogram(),E=[0,c],j=[];for(let e=0;y>e;e++)j.push(E[0]+e/y*c);const $="vertical"===s?e=>e.piece.scaledVerticalValue:e=>e.piece.scaledValue,M=k.domain(E).thresholds(j).value($),w=b.map((n,a)=>{const r=e[n],i=r.xyData,l=i.sort("vertical"===s?De:ze);let d;if(!1===t.useBins){const e=l.map(e=>$(e));d=l.map((t,n)=>{const a=[];return a.x0=e[n]-1,a.x1=e[n]+1,a.push(t),a}).sort((e,t)=>e.x0-t.x0),x=c/d.length}else d=M(l);d=d.map(e=>({y:e.x0,y1:e.x1-e.x0,pieces:e,value:h(e.map(e=>e.piece.data))})),"histogram"!==t.type&&"heatmap"!==t.type||(d=d.filter(e=>0!==e.value));const u=0===d.length?0:o.max(d.map(e=>e.value));return m&&(m[n]=u),v=Math.max(v,u),{bins:d,summary:r,summaryI:a,thisSummaryData:i}}),O=t.horizon?v/t.horizon:t.numHorizons||4,P=t.horizon||v/O;return w.forEach(({bins:e,summary:c,summaryI:d,thisSummaryData:y})=>{const b=n(c,d),k=c.width;let E=y[0]?a(y[0].piece.data,d):{},j=y[0]?r(y[0].piece.data,d):"",$=[c.middle,0];"horizontal"===s?$=[x,c.middle]:"radial"===s&&($=[i[0]/2,i[1]/2]);const M=m&&m[c.name]||v;if("heatmap"===t.type||"histogram"===t.type){const n=(({bins:e,binMax:t,relativeBuckets:n,columnWidth:a,projection:o,adjustedSize:r,summaryI:s,summary:i,summaryStyle:c,type:d})=>{const u=[],p=[],y=n&&n[i.name]||t,m=d.elementStyleFn||ye,h=d.padding||0;return e.forEach((e,t)=>{const n=e.value/y,g=m(e.value,n,e.pieces),f=Object.assign("heatmap"===d.type?{opacity:n,fill:c.fill}:Object.assign({},c),g),x=Math.max(1,e.y1-2*h),b="heatmap"===d.type?a:a*n;let v=e.y+h,k="heatmap"===d.type||d.flip?-a/2:a/2-b,E=x,j=b,$="heatmap"===d.type?b/2:b,M=e.y1/2;if("horizontal"===o)v="heatmap"===d.type||d.flip?-a/2:a/2-b,k=e.y-e.y1+h,E=b,j=x,M="heatmap"===d.type?b/2:b,$=e.y1/2;else if("radial"===o){const a=l.arc().innerRadius(e.y/2).outerRadius((e.y+e.y1)/2),o=i.pct-i.pct_padding;let c=i.pct_middle-i.pct_padding,y="heatmap"===d.type?c+o:c+o*n;c*=me,y*=me;const m=r[0]/2,h=r[1]/2,g=`translate(${m},${h})`,x=a.centroid({startAngle:c,endAngle:y});p.push({key:i.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:x[0]+m,y:x[1]+h}),u.push({markType:"path",transform:g,key:`groupIcon-${s}-${t}`,d:a({startAngle:c,endAngle:y}),style:f})}"radial"!==o&&(p.push({key:i.name,value:e.value,pieces:e.pieces.map(e=>e.piece),label:"Heatmap",x:k+$,y:v+M}),u.push({markType:"rect",key:`groupIcon-${s}-${t}`,x:k,y:v,height:E,width:j,style:f}))}),{marks:u,points:p}})({bins:e,binMax:v,relativeBuckets:m,columnWidth:k,projection:s,adjustedSize:i,summaryI:d,summary:c,summaryStyle:E,type:t}),a=n.marks;"radial"===s&&($=[0,0]),t.axis&&"histogram"===t.type&&u.push({type:"svg-only-mark",Mark:Fe({summary:c,summaryI:d,axisSettings:t.axis,axisCreator:f,projection:s,actualMax:M,adjustedSize:i,columnWidth:k})}),n.points.forEach(e=>{e.x+=$[0],e.y+=$[1]}),p.push(...n.points),u.push({containerProps:Object.assign(Object.assign({},b),{transform:`translate(${$})`,className:j,key:"summaryPiece-"+d,role:"img",tabIndex:-1,"data-o":c.name,"aria-label":`${c.name} ${t.type}`}),elements:a})}else if("violin"===t.type){const{iqr:n}=t,i=t.subsets||[!1],m=[];e[0].y=e[0].y-x/2,e[e.length-1].y=e[e.length-1].y+x/2,i.forEach((i,u)=>{let f=e;i&&(E=y[0]?a(y[0].piece.data,d,u):{},j=y[0]?r(y[0].piece.data,d,u):"",f=e.map(e=>{const t=e.pieces.filter((e,t)=>i(e.piece,t)).map(e=>e),n=h(t);return Object.assign(Object.assign({},e),{pieces:t,value:n})}));let v=l.area().curve(t.curve||l.curveCatmullRom),w=[];if("horizontal"===s)f.forEach(e=>{const t=e.y-x/2,n=e.value/M*k/2;w.push({x:t,y0:-n,y1:n}),p.push({key:c.name,x:t+$[0],y:n+$[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||w[t-1]&&0!==w[t-1].y0||w[t+1]&&0!==w[t+1].y0);else if("vertical"===s)f.forEach(e=>{const t=e.y+x/2,n=e.value/M*k/2;w.push({y:t,x0:-n,x1:n}),p.push({key:c.name,x:n+$[0],y:t+$[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||w[t-1]&&0!==w[t-1].x0||w[t+1]&&0!==w[t+1].x0);else if("radial"===s){const e=c.pct-c.pct_padding/2,t=c.pct_middle;w=f,v=n=>{const a=[],o=[];return n.forEach(n=>{const r=je([0,0],t+e*n.value/M/2,(n.y+n.y1-x/2)/2),s=je([0,0],t-e*n.value/M/2,(n.y+n.y1-x/2)/2);p.push({key:c.name,x:s[0]+$[0],y:s[1]+$[1],pieces:n.pieces.map(e=>e.piece),value:n.value}),p.push({key:c.name,x:r[0]+$[0],y:r[1]+$[1],pieces:n.pieces.map(e=>e.piece),value:n.value}),a.push(r),o.push(s)}),`M${a.map(e=>e.join(",")).join("L")}L${o.reverse().map(e=>e.join(",")).join("L")}Z`}}if(m.push(Object.assign(Object.assign({},b),{transform:`translate(${$})`,key:`summaryPiece-${d}-${u}`,markType:"path",className:j,style:E,d:v(w),role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"})),n){let e=[];f.forEach(t=>{e.push(...t.pieces)}),e=e.map(e=>"vertical"===s?e.piece.scaledVerticalValue:e.piece.scaledValue).sort((e,t)=>e-t);const t=[o.quantile(e,.25),o.quantile(e,.5),o.quantile(e,.75)],n="vertical"===s?(e,t,n)=>`M${n[0]},${e}L${n[0]},${t}`:(e,t,n)=>`M${e},${n[1]}L${t},${n[1]}`;m.push(Object.assign(Object.assign({},b),{key:`summaryPiece-${d}-${u}-iqr-line`,markType:"path",className:j,style:Object.assign(Object.assign({stroke:"black",strokeWidth:"2px"},E),g("iqr")),d:n(t[0],t[2],$),role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"})),m.push(Object.assign(Object.assign({},b),{key:`summaryPiece-${d}-${u}-iqr-median`,markType:"circle",className:j,style:Object.assign(Object.assign({stroke:"black",fill:"black",strokeWidth:"1px",r:"3px"},E),g("median")),cx:"vertical"===s?$[0]:t[1],cy:"vertical"===s?t[1]:$[1],role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"}))}}),u.push({elements:m})}else if("ridgeline"===t.type){const n=Object.assign({},e[0],{value:0}),a=Object.assign({},e[e.length-1],{value:0});n.y=n.y-x/2,a.y=a.y+x/2;const o=[n,...e,a];let r=[];const y=t.curve||t.interpolator,m="string"==typeof y?Ne[y]:y;let h=l.line().curve(m||l.curveCatmullRom).x(e=>e.x).y(e=>e.y);const g=t.amplitude||0;if(t.axis&&"histogram"===t.type&&u.push({type:"svg-only-mark",Mark:Fe({summary:c,summaryI:d,axisSettings:Object.assign({baseline:!1},t.axis),axisCreator:f,projection:s,actualMax:M,adjustedSize:i,columnWidth:k})}),"horizontal"===s)o.forEach((e,n)=>{const a=e.y-x/2,s=t.flip?e.value/M*(k+g)-k/2:-e.value/M*(k+g)+k/2;r.push({y:s,x:a}),0!==n&&n!==o.length-1&&p.push({key:c.name,x:a+$[0],y:s+$[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("vertical"===s)o.forEach(e=>{const n=e.y+x/2,a=!0===t.flip?e.value/M*(k+g)-k/2:-e.value/M*(k+g)+k/2;r.push({y:n,x:a}),p.push({key:c.name,x:a+$[0],y:n+$[1],pieces:e.pieces.map(e=>e.piece),value:e.value})});else if("radial"===s){const e=c.pct-c.pct_padding/2,t=c.pct_start+c.pct_padding/2;$=[0,0],r=o,h=n=>{const a=[];return n.forEach(n=>{const o=je([i[0]/2,i[1]/2],t+e*n.value/M,(n.y+n.y1-x/2)/2);p.push({key:c.name,x:o[0]+$[0],y:o[1]+$[1],pieces:n.pieces.map(e=>e.piece),value:n.value}),a.push(o)}),`M${a.map(e=>e.join(",")).join("L")}Z`}}t.axis&&u.push({type:"svg-only-mark",Mark:Fe({summary:c,summaryI:d,axisSettings:t.axis,axisCreator:f,projection:s,actualMax:M,adjustedSize:i,columnWidth:k})}),u.push({elements:[Object.assign(Object.assign({},b),{transform:`translate(${$})`,key:"summaryPiece-"+d,markType:"path",className:j,style:E,d:h(r),role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"})]})}else if("horizon"===t.type){const n=Object.assign({},e[0],{value:0}),a=Object.assign({},e[e.length-1],{value:0});n.y=n.y-x/2,a.y=a.y+x/2;const r=[n,...e,a];let y=[],m=!0,h=0;for(;!0===m;){const e=r.map(e=>Object.assign(Object.assign({},e),{value:Math.max(0,Math.min(e.value-h,P))}));y.push(e.map(e=>Object.assign(Object.assign({},e),{value:e.value*O}))),h+=P,o.max(e.map(e=>e.value))<P&&(m=!1)}y=y.filter(e=>o.sum(e,e=>e.value)>0),r.forEach((e,n)=>{0!==n&&n!==r.length-1&&("horizontal"===s?p.push({key:c.name,x:e.y-x/2+$[0],y:-e.value/M*k+k/2+$[1],pieces:e.pieces.map(e=>e.piece),value:e.value}):"vertical"===s&&p.push({key:c.name,x:(!0===t.flip?e.value/M*k-k/2:-e.value/M*k+k/2)+$[0],y:e.y+x/2+$[1],pieces:e.pieces.map(e=>e.piece),value:e.value}))});const v=y.map((e,n)=>{let a=[];const o=t.curve||t.interpolator,r="string"==typeof o?Ne[o]:o;let u=l.line().curve(r||l.curveLinear).x(e=>e.x).y(e=>e.y);if("horizontal"===s)e.forEach(e=>{a.push({y:-e.value/M*k+k/2,x:e.y-x/2})});else if("vertical"===s)e.forEach(e=>{a.push({y:e.y+x/2,x:!0===t.flip?e.value/M*k-k/2:-e.value/M*k+k/2})});else if("radial"===s){const t=c.pct-c.pct_padding/2,n=c.pct_start+c.pct_padding/2;$=[0,0],a=e,u=e=>{const a=[];return e.forEach(e=>{const o=je([i[0]/2,i[1]/2],n+t*e.value/M,(e.y+e.y1-x/2)/2);a.push(o)}),`M${a.map(e=>e.join(",")).join("L")}Z`}}return Object.assign(Object.assign({},b),{transform:`translate(${$})`,key:`summaryPiece-${d}-${n}`,markType:"path",className:j,style:Object.assign(Object.assign({},E),g(e,n)),d:u(a),role:"img",tabIndex:-1,"data-o":c.name,"aria-label":c.name+" distribution"})});t.axis&&u.push({type:"svg-only-mark",Mark:Fe({summary:c,summaryI:d,axisSettings:t.axis,axisCreator:f,projection:s,actualMax:M,adjustedSize:i,columnWidth:k})}),u.push({elements:v})}}),{marks:u,xyPoints:p,thresholds:j}}const Le={contour:function({data:e,type:t,eventListenersGenerator:n,styleFn:a,classFn:o,adjustedSize:r}){const s=[],i=[];return Object.keys(e).forEach((l,c)=>{const d=e[l];t.thresholds=t.thresholds||8,t.bandwidth=t.bandwidth||12,t.resolution=t.resolution||1e3;const u=[{id:d,_xyfCoordinates:d.xyData.map(Ae)}],p=Pe({summaryType:t,data:u,finalXExtent:[0,r[0]],finalYExtent:[0,r[1]]}),y=[];p.forEach((e,t)=>{e.coordinates.forEach((r,s)=>{const i=n(e,t);y.push(Object.assign(Object.assign({},i),{key:`${t}-${s}`,style:a(d.pieceData[0].data,c),className:o(d.pieceData[0].data,c),markType:"path",d:`M${e.coordinates[0].map(e=>e.join(",")).join("L")}Z`}))})}),s.push({containerProps:{key:"contour-container-"+c,role:"img",tabIndex:-1,"data-o":l,"aria-label":`${l} boxplot showing ${i.filter(e=>e.key===l).map(e=>`${e.label} ${e.value}`)}`},elements:y})}),{marks:s,xyPoints:i}},boxplot:function({data:e,type:t,eventListenersGenerator:n,styleFn:a,classFn:r,projection:s,adjustedSize:i}){const c=t.elementStyleFn||$e,{outliers:d,fixedInput:u}=t,p=[],y=[];return Object.keys(e).forEach((t,m)=>{const h=e[t],g=n(h,m),f=h.width,x=h.pieceData,b=a(x[0].data,m),v=r(x[0].data,m);let k,E,j,$,M,w,O,P,S,A,N,D,z,C,F,R,L,T,I,B,W,V,_,H,q,G,Y,X,K,Z,Q;E=x.map(e=>e.value).sort((e,t)=>e-t),!0===u&&5===E.length||(E=[o.quantile(E,0),o.quantile(E,.25),o.quantile(E,.5),o.quantile(E,.75),o.quantile(E,1)]);const U=E[3]-E[1];let J,ee;d&&(J=E[1]-1.5*U,ee=E[3]+1.5*U,E[0]=Math.max(E[0],J),E[4]=Math.min(E[4],ee));const te="vertical"===s?e=>e.scaledVerticalValue:e=>e.scaledValue,ne=[...x].sort((e,t)=>e.value-t.value),ae=ne[0].value,oe=ne[ne.length-1].value,re=te(ne[0]),se=te(ne[ne.length-1]);if(k=E.map(e=>oe===ae?(re+se)/2:re+(e-ae)/(oe-ae)*(se-re)),"vertical"===s){j=`translate(${h.x+h.width/2},0)`,$=0,M=0,w=k[0],O=k[4],P=-f/2,S=f/2,A=-f/2,N=f/2,D=-f/2,z=f/2,T=f,I=k[1]-k[2],B=k[2],W=-f/2,C=f,F=k[2]-k[3],V=f,_=k[1]-k[3],H=k[3],q=-f/2,R=k[3],L=-f/2,G=k[0],Y=k[0],X=k[4],K=k[4],Z=k[2],Q=k[2];const e=h.x+h.width/2;y.push({label:"Maximum",key:t,summaryPieceName:"max",x:e,y:k[4],value:E[4]},{label:"3rd Quartile",key:t,summaryPieceName:"q3area",x:e,y:k[3],value:E[3]},{label:"Median",key:t,summaryPieceName:"median",x:e,y:k[2],value:E[2]},{label:"1st Quartile",key:t,summaryPieceName:"q1area",x:e,y:k[1],value:E[1]},{label:"Minimum",key:t,summaryPieceName:"min",x:e,y:k[0],value:E[0]})}else if("horizontal"===s){const e=h.x+h.width/2;j=`translate(0,${e})`,w=0,O=0,$=k[0],M=k[4],G=-f/2,Y=f/2,Z=-f/2,Q=f/2,X=-f/2,K=f/2,F=f,C=k[3]-k[2],L=k[2],R=-f/2,I=f,T=k[2]-k[1],W=k[1],B=-f/2,_=f,V=k[3]-k[1],q=k[1],H=-f/2,P=k[0],S=k[0],D=k[4],z=k[4],A=k[2],N=k[2],y.push({label:"Maximum",key:t,summaryPieceName:"max",x:k[4],y:e,value:E[4]},{label:"3rd Quartile",key:t,summaryPieceName:"q3area",x:k[3],y:e,value:E[3]},{label:"Median",key:t,summaryPieceName:"median",x:k[2],y:e,value:E[2]},{label:"1st Quartile",key:t,summaryPieceName:"q1area",x:k[1],y:e,value:E[1]},{label:"Minimum",key:t,summaryPieceName:"min",x:k[0],y:e,value:E[0]})}if("radial"===s){$=0,M=0,w=k[0],O=k[4],P=-f/2,S=f/2,A=-f/2,N=f/2,D=-f/2,z=f/2,C=f,F=k[1]-k[3],R=k[3],L=-f/2,T=f,I=k[1]-k[3],B=k[3],W=-f/2,G=k[0],Y=k[0],X=k[4],K=k[4],Z=k[2],Q=k[2];const e=2*Math.PI,n=l.arc().innerRadius(X/2).outerRadius(X/2),a=l.arc().innerRadius(G/2).outerRadius(G/2),o=l.arc().innerRadius(Z/2).outerRadius(Z/2),r=l.arc().innerRadius(k[1]/2).outerRadius(Z/2),s=l.arc().innerRadius(Z/2).outerRadius(k[3]/2),d=l.arc().innerRadius(k[1]/2).outerRadius(k[3]/2);let u=h.pct_start+h.pct_padding/2,V=h.pct+h.pct_start-h.pct_padding/2;const _=h.pct/2+h.pct_start;u*=e,V*=e;const H=i[0]/2,q=i[1]/2,U=je([0,0],_,k[4]/2),J=je([0,0],_,k[0]/2),ee=je([0,0],_,k[3]/2),te=je([0,0],_,k[2]/2),ne=je([0,0],_,k[1]/2);y.push({label:"Minimum",key:t,summaryPieceName:"min",x:J[0]+H,y:J[1]+q,value:E[0]},{label:"1st Quartile",key:t,summaryPieceName:"q3area",x:ne[0]+H,y:ne[1]+q,value:E[1]},{label:"Median",key:t,summaryPieceName:"median",x:te[0]+H,y:te[1]+q,value:E[2]},{label:"3rd Quartile",key:t,summaryPieceName:"q1area",x:ee[0]+H,y:ee[1]+q,value:E[3]},{label:"Maximum",key:t,summaryPieceName:"max",x:U[0]+H,y:U[1]+q,value:E[4]}),j=`translate(${H},${q})`,p.push({containerProps:Object.assign(Object.assign({},g),{className:v,transform:j,key:"summaryPiece-"+m,role:"img",tabIndex:-1,"data-o":t,"aria-label":`${t} boxplot showing ${y.filter(e=>e.key===t).map(e=>`${e.label} ${e.value}`)}`}),elements:[{markType:"line",x1:U[0],x2:J[0],y1:U[1],y2:J[1],style:Object.assign({strokeWidth:2},b,c("whisker",x))},{markType:"path",d:a({startAngle:u,endAngle:V}),style:Object.assign({strokeWidth:4},b,{fill:"none"},c("max",x))},{markType:"path",d:o({startAngle:u,endAngle:V}),style:Object.assign({strokeWidth:4},b,{fill:"none"},c("median",x))},{markType:"path",d:n({startAngle:u,endAngle:V}),style:Object.assign({strokeWidth:4},b,{fill:"none"},c("min",x))},{markType:"path",d:d({startAngle:u,endAngle:V}),style:Object.assign({strokeWidth:4},b,c("iqrarea",x))},{markType:"path",d:r({startAngle:u,endAngle:V}),style:Object.assign({},b,{fill:"none",stroke:"none"},c("q3area",x))},{markType:"path",d:s({startAngle:u,endAngle:V}),style:Object.assign({},b,{fill:"none",stroke:"none"},c("q1area",x))}]})}else{const e=[{markType:"line",x1:$,x2:M,y1:w,y2:O,style:Object.assign({strokeWidth:2},b,c("whisker",x))},{markType:"line",x1:P,x2:S,y1:G,y2:Y,style:Object.assign({strokeWidth:2},b,c("min",x))},{markType:"line",x1:D,x2:z,y1:X,y2:K,style:Object.assign({strokeWidth:2},b,c("max",x))},{markType:"rect",x:q,width:V,y:H,height:_,style:Object.assign({strokeWidth:1},b,c("iqrarea",x))},{markType:"rect",x:L,width:C,y:R,height:F,style:Object.assign({},b,{fill:"none",stroke:"none"},c("q3area",x))},{markType:"rect",x:W,width:T,y:B,height:I,style:Object.assign({},b,{fill:"none",stroke:"none"},c("q1area",x))},{markType:"line",x1:A,x2:N,y1:Z,y2:Q,style:Object.assign({strokeWidth:2},b,c("median",x))}],n=[];d&&x.filter(e=>e.value>ee||J>e.value).forEach(e=>{n.push({markType:"circle",cx:"horizontal"===s?e.scaledValue:0,cy:"vertical"===s?e.scaledVerticalValue:0,style:Object.assign({strokeWidth:"1px",stroke:"black",fill:"none",r:2},b,c("outlier",x))})}),p.push({containerProps:Object.assign(Object.assign({},g),{className:v,transform:j,key:"summaryPiece-"+m,role:"img",tabIndex:-1,"data-o":t,"aria-label":`${t} boxplot showing ${y.filter(e=>e.key===t).map(e=>`${e.label} ${e.value}`)}`}),elements:[...e,...n]})}}),{marks:p,xyPoints:y}},violin:Re,heatmap:Re,ridgeline:Re,histogram:Re,horizon:Re,ckbins:function(e){const{data:t,eventListenersGenerator:n,styleFn:a,classFn:o}=e,r=[];let i=0;const l=[];return Object.keys(t).forEach((e,r)=>{const c=t[e];n(c,r);const d=c.pieceData.sort((e,t)=>e.value-t.value),u=d[0],p=d[d.length-1],y=s.scaleLinear().domain([u.value,p.value]).range([u.scaledValue,p.scaledValue]),m=a(d[0].data,r),h=o(d[0].data,r),g=function(e,t){if(t>e.length)throw Error("Cannot generate more classes than there are data values");var n=e.length,a=e.slice().sort(function(e,t){return e-t}),o=function(e){for(var t,n=0,a=0;e.length>a;a++)0!==a&&e[a]===t||(t=e[a],n++);return n}(a);if(1===o)return[a[0]];var r=Me(t=Math.min(o,t),n),s=Me(t,n);!function(e,t,n){for(var a=t[0].length,o=Array(a),r=Array(a),s=e[Math.floor(a/2)],i=0;a>i;++i)0===i?(o[0]=e[0]-s,r[0]=(e[0]-s)*(e[0]-s)):(o[i]=o[i-1]+e[i]-s,r[i]=r[i-1]+(e[i]-s)*(e[i]-s)),t[0][i]=we(0,i,o,r),n[0][i]=0;for(var l=1;t.length>l;++l)Oe(t.length-1>l?l:a-1,a-1,l,t,n,o,r)}(a,r,s);for(var i=[],l=s[0].length-1,c=s.length-1;c>=0;c--){var d=s[c][l];i[c]=a[d],c>0&&(l=d-1)}return i}(d.map(e=>e.value),5);let f=[];g.forEach((t,n)=>{var a;const o=null!==(a=g[n+1])&&void 0!==a?a:p.value;f.push({start:t,end:o,key:e,summary:c,calculatedSummaryStyle:m,calculatedSummaryClass:h,scaledStart:y(t),scaledEnd:y(o),values:[]})}),l.push(f);let x=0;for(const e of d)f[x].end>e.value||f[x+1]&&x++,f[x].values.push(e);f.forEach(e=>{i=Math.max(e.values.length,i)})}),l.forEach((e,t)=>{const n=e.map(e=>{const{calculatedSummaryStyle:t}=e,{fill:n="black",stroke:a="black"}=t,o=s.scaleLinear().domain([1,i]).range(["white",n]);return{markType:"rect",x:e.scaledStart,width:e.scaledEnd-e.scaledStart,y:e.summary.x,height:e.summary.width,style:Object.assign({strokeWidth:2},t,{fill:o(e.values.length),strokeWidth:1,stroke:a})}});r.push({containerProps:{transform:"",key:"summaryPiece-"+t,role:"img",tabIndex:-1},elements:n})}),{marks:r,xyPoints:[]}}},Te=e=>{let t=null,n="top";return"string"==typeof e?t=e:"title"in e?(t=e.title,n=e.orient||"top"):t=e,{orient:n,title:t}},Ie=({margin:e,size:t,inset:n=0})=>{const a=[t[0]-n,t[1]-n];return`M0,0 h${t[0]} v${t[1]} h-${t[0]}Z M${e.left-n},${e.top-n} v${t[1]+2*n-e.top-e.bottom} h${a[0]+3*n-e.left-e.right} v-${a[1]+3*n-e.top-e.bottom}Z`},Be=(e,t,n,a)=>{const o=e.getContext("2d",{willReadFrequently:!0}),r=o.getImageData(a.offsetX,a.offsetY,1,1);let s=t[n.get(`rgba(${r.data[0]},${r.data[1]},${r.data[2]},255)`)];if(!s){const e=o.getImageData(a.offsetX-2,a.offsetY-2,5,5);let r=0;for(;!s&&100>r;)s=t[n.get(`rgba(${e.data[r]},${e.data[r+1]},${e.data[r+2]},255)`)],r+=4}return s},We=$.memo(function({width:t,height:n,overlayRegions:a,margin:o,voronoiHover:r}){let s=e.useRef();return e.useLayoutEffect(()=>{Ve(s.current,r,n,t,a,o)},[t,n,a]),$.createElement("canvas",{className:"frame-canvas-interaction",ref:e=>{null!=e&&s.current!==e&&(s.current=e,Ve(e,r,n,t,a,o))},style:{position:"absolute",left:"0px",top:"0px",imageRendering:"pixelated",pointerEvents:"all",opacity:0},width:t,height:n})});function Ve(e,t,n,a,o,r){const s=new Map;if(null===e||!o)return;const i=Be.bind(null,e,o,s);e.onmousemove=e=>{var n,a,o,r;const s=i(e);(null===(n=null==s?void 0:s.props)||void 0===n?void 0:n.onMouseEnter)?null===(a=null==s?void 0:s.props)||void 0===a||a.onMouseEnter():(null===(r=null===(o=null==s?void 0:s.props)||void 0===o?void 0:o.children)||void 0===r?void 0:r[0])?s.props.children[0].props.onMouseEnter():t(null)},e.onmouseout=()=>{t(null)},e.onclick=e=>{var t,n,a,o;const r=i(e);(null===(t=null==r?void 0:r.props)||void 0===t?void 0:t.onClick)?null===(n=null==r?void 0:r.props)||void 0===n||n.onClick():(null===(o=null===(a=null==r?void 0:r.props)||void 0===a?void 0:a.children)||void 0===o?void 0:o[0])&&r.props.children[0].props.onClick(e)},e.ondblclick=e=>{var t,n,a,o;const r=i(e);(null===(t=null==r?void 0:r.props)||void 0===t?void 0:t.onDoubleClick)?null===(n=null==r?void 0:r.props)||void 0===n||n.onDoubleClick():(null===(o=null===(a=null==r?void 0:r.props)||void 0===a?void 0:a.children)||void 0===o?void 0:o[0])&&r.props.children[0].props.onDoubleClick(e)};const l=e.getContext("2d",{willReadFrequently:!0});l.imageSmoothingEnabled=!1,l.setTransform(1,0,0,1,r.left,r.top),l.clearRect(-r.left,-r.top,a,n),l.lineWidth=1,o.forEach((e,t)=>{var n,a,o,r,i,c;const d=`rgba(${Math.floor(255*Math.random())},${Math.floor(255*Math.random())},${Math.floor(255*Math.random())},255)`;s.set(d,t);const u=e.props;if(l.fillStyle=d,l.strokeStyle=d,u.d||(null===(o=null===(a=null===(n=u.children)||void 0===n?void 0:n[0])||void 0===a?void 0:a.props)||void 0===o?void 0:o.d)){const e=u.d||u.children[0].props.d,t=u.transform||(null===(c=null===(i=null===(r=u.children)||void 0===r?void 0:r[0])||void 0===i?void 0:i.props)||void 0===c?void 0:c.transform)||"translate(0,0)",[n,a]=t.replace("translate(","").replace(")","").split(",").map(Number);l.translate(n,a);const o=new Path2D(e);l.stroke(o),l.fill(o),l.translate(-n,-a)}else"rect"===u.markType&&(l.fillRect(u.x,u.y,u.width,u.height),l.strokeRect(u.x,u.y,u.width,u.height))})}function _e(t){let s=null;const{interaction:i,svgSize:l=[500,500],margin:c={left:0,right:0,top:0,bottom:0},overlay:d,points:u,xScale:p,yScale:y,hoverAnnotation:m,customClickBehavior:h,customDoubleClickBehavior:g,customHoverBehavior:f,disableCanvasInteraction:x,canvasRendering:b}=t;let{enabled:v}=t,k=I(e=>e.changeTooltip);const E=e=>{k(e)},[j,M]=e.useState([]),[w,O]=e.useState(null);return e.useEffect(()=>{let e,n;x||!j?(e=null,n=null):(e=((e,t)=>{let n=[];const{xScale:a,yScale:s,points:i,projectedX:l,showLinePoints:c,size:d,overlay:u,interactionOverflow:p={top:0,bottom:0,left:0,right:0},customClickBehavior:y,customDoubleClickBehavior:m,customHoverBehavior:h,hoverAnnotation:g,margin:f,advancedSettings:x={}}=e,b={top:te,bottom:ne},v=y||m?{cursor:"pointer"}:{};if(i&&g&&!u){const{voronoiFilter:e=()=>!0}=x,u=[],k=new Map;for(const t of i)if(e(Object.assign(Object.assign({},t),t.data))){const e=Math.floor(a(t[l])),n=Math.floor(s(c&&void 0!==t[b[c]]?t[b[c]]:void 0!==t[ee]?t[ee]:t[J]));if(!(0-f.left>e||e>d[0]+f.right||0-f.top>n||n>d[1]+f.bottom||void 0===e||void 0===n||!1!==isNaN(e)||!1!==isNaN(n))){const a=`${e},${n}`;if(k.has(a))k.get(a).coincidentPoints.push(t);else{const o=Object.assign(Object.assign({},t),{coincidentPoints:[t],voronoiX:e,voronoiY:n});u.push(o),k.set(a,o)}}}let E=o.extent(u.map(e=>e.voronoiX)),j=o.extent(u.map(e=>e.voronoiY));null!=E[0]&&null!=j||(E=[0,0],j=[0,0]);const M=[Math.min(E[0]-5,-p.left),Math.min(j[0]-5,-p.top),Math.max(E[1]+5,d[0]+p.right),Math.max(j[1]+5,d[1]+p.bottom)],w=r.Delaunay.from(u,e=>e.voronoiX,e=>e.voronoiY).voronoi(M);return n=u.map((e,n)=>{let a=null;return x.voronoiClipping&&(a=$.createElement("clipPath",{id:"voronoi-"+n},$.createElement("circle",{r:!0===x.voronoiClipping?50:x.voronoiClipping,cx:e.voronoiX,cy:e.voronoiY}))),$.createElement("g",{key:"voronoi-"+n},$.createElement("path",{onClick:e=>{le(u[n],y,i,e)},onDoubleClick:e=>{ce(u[n],m,i,e)},onMouseEnter:e=>{ie(t,u[n],g,h,i,e)},onMouseLeave:e=>{ie(t,void 0,void 0,h,void 0,e)},key:"interactionVoronoi"+n,d:w.renderCell(n),style:Object.assign({fillOpacity:0},v),clipPath:`url(#voronoi-${n})`}),a)},window),n}if(u)return u.map((n,a)=>{const{overlayData:o}=n,r=Q(n,["overlayData"]),s={key:"overlay-"+a,onMouseEnter:n=>{ie(t,o,e.hoverAnnotation,h,i,n)},onMouseLeave:e=>{ie(t,void 0,void 0,h,void 0,e)},onClick:e=>{le(o,y,i,e)},onDoubleClick:e=>{ce(o,m,i,e)},style:Object.assign({opacity:0},v)};if($.isValidElement(n.renderElement))return $.cloneElement(n.renderElement,s);{const e=r,{markType:t}=e,n=Q(e,["markType"]);return $.createElement(t||"path",Object.assign(Object.assign(Object.assign({},n),{key:"overlay-"+a}),s))}})})(t,E),b&&(n=$.createElement(We,{height:l[1],width:l[0],overlayRegions:e,margin:c,voronoiHover:E}))),M(e),O(n)},[d,u,p,y,!!m,!!h,!!g,!!f]),i&&i.brush&&(v=!0,s=((e,t)=>{let o,r,s,i;const{xScale:l,yScale:c,size:d,renderPipeline:u}=t,p={};Object.entries(u).forEach(([e,t])=>{t.data&&t.data.length>0&&(p[e]=t.data)});const{projection:y,projectedColumns:m}=e,h="oBrush"===e.brush?"horizontal"===y?"yBrush":"xBrush":e.brush;let{extent:g}=e;if(g||(g="xyBrush"===h?[[l.invert(0),c.invert(0)],[l.invert(d[0]),c.invert(d[1])]]:"xBrush"===h?[l.invert(0),l.invert(d[0])]:[c.invert(0),c.invert(d[1])]),g.indexOf&&-1!==g.indexOf(void 0))return $.createElement("g",null);if("xBrush"===h){const e=[...g];r=e=>e?[l.invert(e[0]),l.invert(e[1])]:null,o=n.brushX(),s=e.map(e=>l(e)),i=r}else if("yBrush"===h){const e=[...g];r=e=>e?[c.invert(e[0]),c.invert(e[1])].sort((e,t)=>e-t):null,o=n.brushY(),s=e.map(e=>c(e)).sort((e,t)=>e-t),i=r}else{const e=[...g.map(e=>[...e])];if(-1!==e.indexOf(void 0)||-1!==e[0].indexOf(void 0)||-1!==e[1].indexOf(void 0))return $.createElement("g",null);o=n.brush(),r=e=>{if(!e)return null;const t=[c.invert(e[0][1]),c.invert(e[1][1])].sort((e,t)=>e-t);return[[l.invert(e[0][0]),t[0]],[l.invert(e[1][0]),t[1]]]};const t=[c(g[0][1]),c(g[1][1])].sort((e,t)=>e-t);s=e.map((e,n)=>[l(e[0]),t[n]]),i=r}if("oBrush"===e.brush){if(s=null,e.extent){const[t,n]=e.extent;"string"!=typeof t&&"number"!=typeof t||"string"!=typeof n&&"number"!=typeof n||(s=[m[t].x,m[n].x+m[n].width])}r=(e=>t=>t?Object.values(e).filter(e=>t[1]>=e.x&&e.x+e.width>=t[0]):null)(m),i=(e=>(t,n)=>{if(t&&n.sourceEvent&&n.sourceEvent.path&&n.sourceEvent.path[1]&&n.sourceEvent.path[1].classList.contains("xybrush")&&n.target.move){const o=Object.values(e).filter(e=>t[1]>=e.x&&e.x+e.width>=t[0]),r=o[0]||{x:0,width:0},s=o[o.length-1]||{x:0,width:0},i=[r.x+Math.min(5,r.width/10),s.x+s.width-Math.min(5,s.width/10)];return a.select(n.sourceEvent.path[1]).transition(750).call(n.target.move,i),o}return null})(m)}return o.extent([[0,0],[d[0],d[1]]]).on("start",t=>{de(r(t.selection),void 0,p,void 0,e)}).on("brush",t=>{ue(r(t.selection),void 0,p,void 0,e)}).on("end",t=>{pe(i(t.selection,t),void 0,p,void 0,e)}),$.createElement("g",{className:"brush"},$.createElement(Z,{selectedExtent:s,extent:g,svgBrush:o}))})(i,t)),i&&i.columnsBrush&&(v=!0,s=((e,t)=>{const{projection:a,rScale:o,oColumns:r,renderPipeline:s}=t;if(!a||!o||!r)return;const i={};let l,c;Object.entries(s).forEach(([e,t])=>{t.data&&t.data.length>0&&(i[e]=t.data)});const d=o.copy().domain(o.domain()).range(o.domain().reverse());c=a&&"horizontal"===a?e=>e?[o.invert(e[0]),o.invert(e[1])]:null:e=>e?[d(o.invert(e[1])),d(o.invert(e[0]))]:null;const u=o.range(),p=r;let y,m;return Object.keys(p).map(t=>(a&&"horizontal"===a?(m=e.extent[t]?e.extent[t].map(e=>o(e)):e.startEmpty?null:u,y=[0,p[t].x],l=n.brushX(),l.extent([[u[0],0],[u[1],p[t].width]]).on("start",n=>{de(c(n.selection),t,i,p[t],e)}).on("brush",n=>{ue(c(n.selection),t,i,p[t],e)}).on("end",n=>{pe(c(n.selection),t,i,p[t],e)})):(m=e.extent[t]?e.extent[t].map(e=>u[1]-o(e)).reverse():e.startEmpty?null:u,y=[p[t].x,0],l=n.brushY(),l.extent([[0,u[0]],[p[t].width,u[1]]]).on("start",n=>{de(c(n.selection),t,i,p[t],e)}).on("brush",n=>{ue(c(n.selection),t,i,p[t],e)}).on("end",n=>{pe(c(n.selection),t,i,p[t],e)})),$.createElement("g",{key:"column-brush-"+t,className:"brush"},$.createElement(Z,{key:"orbrush"+t,selectedExtent:m,svgBrush:l,position:y}))))})(i,t)),j||s?$.createElement("div",{className:"interaction-layer","data-testid":"interaction-layer",style:{position:"absolute",background:"none",pointerEvents:"none",height:"100%",width:"100%",overflow:"hidden"}},w||$.createElement("svg",{height:l[1],width:l[0],style:{background:"none",pointerEvents:"none"}},$.createElement("g",{className:"interaction-overlay",transform:`translate(${c.left},${c.top})`,style:{pointerEvents:v?"all":"none"}},$.createElement("g",{className:"interaction-regions"},j),s))):null}function He(t){const{matte:n,matteClip:a,axes:o,frameKey:r="",margin:s={left:0,right:0,bottom:0,top:0},title:i,ariaTitle:l,axesTickLines:c,frameRenderOrder:d,additionalVizElements:u,transition:p}=t;let y=I(e=>e.changeTooltip);const m=e.useCallback(e=>{y(e)},[y]),[h,g]=e.useState(null),[f,x]=e.useState(null),b=e.useMemo(()=>(({focusedPieceIndex:e,changeFocusedPieceIndex:t,changeFocusedVisualizationGroup:n})=>({e:{keyCode:a},vizgroup:o,props:r,piecesGroup:s})=>{const{renderPipeline:i,voronoiHover:l}=r,c=a;if(37!==c&&39!==c&&13!==c)return;let d=0;const u={};null===e||13===c?u.focusedVisualizationGroup=o:37===c?d=e-1:39===c&&(d=e+1),d=0>d?s[o].length+d:d%s[o].length,l(i[o].accessibleTransform(i[o].data,d,s[o][d])),t(d),n(u.focusedVisualizationGroup)})({focusedPieceIndex:h,changeFocusedPieceIndex:g,changeFocusedVisualizationGroup:x}),[h,g,x]),v=((e,t,n)=>{const{xScale:a,yScale:o,dataVersion:r,projectedCoordinateNames:s,renderPipeline:i={},renderOrder:l=[],transition:c}=e,d=[],u={},p=[];return l.concat(Object.keys(i).filter(e=>-1===l.indexOf(e))).forEach(r=>{const l=i[r];if(l&&(l.data&&"object"==typeof l.data&&!Array.isArray(l.data)||l.data&&l.data.length>0)){const i=l.behavior(Object.assign({xScale:a,yScale:o,canvasDrawing:d,projectedCoordinateNames:s},l));i&&i.length>0&&p.push($.createElement("g",Object.assign({key:r,className:r,"data-testid":r,role:"group",tabIndex:0},c?{"data-semiotic-transition":""}:void 0,{"aria-label":l.ariaLabel&&`${i.length} ${l.ariaLabel.items}s in a ${l.ariaLabel.chart}`||r,onKeyDown:n=>t({e:n,k:r,props:e,piecesGroup:u}),onBlur:()=>{n(void 0)},ref:e=>e&&(u[r]=e.childNodes)}),i))}}),{renderedElements:p,dataVersion:r,canvasDrawing:d,piecesGroup:u}})(t,b,m),{renderedElements:k}=v;e.useEffect(()=>{var e,n;const a=null===(e=t.canvasContext)||void 0===e?void 0:e.current;let o=new AbortController;if(t.disableContext||!a)return;const{sketchyRenderingEngine:r,width:s,height:i,margin:l,disableProgressiveRendering:c=!1}=t,d=[s+l.left+l.right,i+l.top+l.bottom];a.width=d[0],a.height=d[1],a.style.width=d[0],a.style.height=d[1];const u=a.getContext("2d");u.scale(devicePixelRatio,devicePixelRatio),u.setTransform(1,0,0,1,l.left,l.top),u.clearRect(-l.left,-l.top,d[0],d[1]);const p=function(e,t,n,a,o,r){const s={fill:"black",stroke:"black",opacity:1,fillOpacity:1,strokeOpacity:1,strokeWidth:1},{position:i=[0,0]}=a;return a=>{var l,c,d;const u=Object.assign(Object.assign({},a.d),a.d.data),p=a.styleFn&&a.styleFn(u,a.i)||s,y=p.fill?p.fill:"black",m=p.stroke?p.stroke:"black";t.setTransform(1,0,0,1,n.left,n.top),t.translate(i[0],i[1]),t.translate(a.tx,a.ty),t.fillStyle=y,t.strokeStyle=m,t.lineWidth=p.strokeWidth?p.strokeWidth:0;let h={};const g=a.renderFn&&a.renderFn(u,a.i);let f=g&&g.renderMode||g;if(f)if(o){const n=o.canvas;n?(r=r||n(e),h=Object.assign({fill:y,stroke:m,strokeWidth:t.lineWidth},"object"==typeof g&&g||{})):console.error("The sketchyRenderingEngine you specify does not expose a prop `RoughCanvas` and so cannot render sketchy HTML5 Canvas graphics")}else console.error("You cannot render sketchy graphics without specifying a Rough.js-like library as the sketchyRenderingEngine prop of your frame"),f=void 0;if("circle"===a.markProps.markType||"rect"===a.markProps.markType&&a.markProps.rx>0){let e=null!==(l=a.markProps.cx)&&void 0!==l?l:0,n=null!==(c=a.markProps.cy)&&void 0!==c?c:0,o=null!==(d=p.r)&&void 0!==d?d:a.markProps.r;if(a.markProps.width){const t=a.markProps.width/2;e=a.markProps.x+t,n=a.markProps.y+t,o=t}"sketchy"===f?0!==t.globalAlpha&&r.circle(e,n,o,h):(t.beginPath(),t.arc(e,n,o,0,2*Math.PI),t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fill(),t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke())}else if("rect"===a.markProps.markType)"sketchy"===f?(t.globalAlpha=p.opacity||1,0!==t.globalAlpha&&r.rectangle(a.markProps.x,a.markProps.y,a.markProps.width,a.markProps.height,h)):(t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fillRect(a.markProps.x,a.markProps.y,a.markProps.width,a.markProps.height),t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.strokeRect(a.markProps.x,a.markProps.y,a.markProps.width,a.markProps.height));else if("path"===a.markProps.markType)if("sketchy"===f)t.globalAlpha=p.opacity||1,r.path(a.markProps.d,h);else{const e=new Path2D(a.markProps.d);t.globalAlpha=p.strokeOpacity||p.opacity||1,p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke(e),t.globalAlpha=p.fillOpacity||p.opacity||1,p.fill&&"none"!==p.fill&&0!==t.globalAlpha&&t.fill(e)}else"line"===a.markProps.markType?"sketchy"===f?(t.globalAlpha=p.opacity||1,r.line(a.markProps.x1,a.markProps.y1,a.markProps.x2,a.markProps.y2,h)):(t.globalAlpha=p.strokeOpacity||p.opacity||1,t.beginPath(),t.moveTo(a.markProps.x1,a.markProps.y1),t.lineTo(a.markProps.x2,a.markProps.y2),p.stroke&&"none"!==p.stroke&&0!==t.globalAlpha&&t.stroke()):console.error("CURRENTLY UNSUPPORTED MARKTYPE FOR CANVAS RENDERING")}}(a,u,l,t,r,void 0);if(u.clearRect(-l.left,-l.top,d[0],d[1]),c)for(const e of v.canvasDrawing)p(e);else o=new AbortController,function(e,t,n){let a=0;!function(e){var t,n,a,o;t=this,n=arguments,o=function*(e,{signal:t,timeFrameMs:n=30}={}){return new Promise((a,o)=>{requestAnimationFrame(function r(){let s=performance.now(),i=0,l=!1,c=null!=t&&t.aborted;try{if(c)return a();do{l=e(),i=performance.now()-s,c=null!=t&&t.aborted}while(!c&&l&&n>i);!c&&l?requestAnimationFrame(r):a()}catch(e){o(e)}})})},new((a=void 0)||(a=Promise))(function(e,r){function s(e){try{l(o.next(e))}catch(e){r(e)}}function i(e){try{l(o.throw(e))}catch(e){r(e)}}function l(t){var n;t.done?e(t.value):(n=t.value,n instanceof a?n:new a(function(e){e(n)})).then(s,i)}l((o=o.apply(t,n||[])).next())})}(()=>{let n=Math.min(a+1e3,t.length);for(let o=a;n>o;o++)e(t[o]);return a+=1e3,t.length>a},n)}(p,v.canvasDrawing,{signal:o.signal});if(u.setTransform(1,0,0,1,0,0),u.globalAlpha=1,t.canvasPostProcess&&t.canvasPostProcess(null===(n=t.canvasContext)||void 0===n?void 0:n.current,u,d),null!==f&&v.piecesGroup[f]&&null!==h){const e=v.piecesGroup[f][h],t=e&&[...e.childNodes].find(e=>e.getAttribute("aria-label"))||e;t&&t.focus&&t.focus()}return function(){o.abort()}},[n,a,o,r,s,l,c,d,u]);const E=function(e){if(!e)return null;const t="object"==typeof e&&null!=e.ease?e.ease:"ease",n=("object"==typeof e&&null!=e.duration?e.duration:300)+"ms";return $.createElement("style",{key:"semiotic-transition-style"},`\n@keyframes semiotic-enter {\n from { opacity: 0; }\n to { opacity: 1; }\n}\ng[data-semiotic-transition] > rect,\ng[data-semiotic-transition] > circle,\ng[data-semiotic-transition] > path,\ng[data-semiotic-transition] > line,\ng[data-semiotic-transition] > g > rect,\ng[data-semiotic-transition] > g > circle,\ng[data-semiotic-transition] > g > path,\ng[data-semiotic-transition] > g > line {\n transition: fill ${n} ${t},\n stroke ${n} ${t},\n opacity ${n} ${t},\n transform ${n} ${t};\n animation: semiotic-enter ${n} ${t};\n}\n`)}(p),j=Object.assign({"axes-tick-lines":c&&$.createElement("g",{key:"visualization-tick-lines",className:"axis axis-tick-lines","aria-hidden":!0},c),"axes-labels":o&&$.createElement("g",{key:"visualization-axis-labels",className:"axis axis-labels"},o),matte:n,"viz-layer":k&&k.length>0?$.createElement($.Fragment,{key:"viz-layer"},E,k):null},u);let M="";M=`Visualization ${i&&l||i?"string"!=typeof i&&i.props&&"string"==typeof i.props.children?"titled "+i.props.children:"with a complex title":"with no title"}. Use arrow keys to navigate elements.`;const w=[];return d.forEach(e=>{j[e]&&w.push(j[e])}),w.length>0&&$.createElement("g",{className:"data-visualization","data-testid":"data-visualization",key:"visualization-clip-path","aria-label":M,role:"group",clipPath:a&&n?`url(#matte-clip${r})`:void 0,transform:`translate(${s.left},${s.top})`},w)||null}const qe=[],Ge={},Ye=[0,0],Xe={x:"x",y:"y"},Ke=["axes-tick-lines","viz-layer","matte","axes-labels","labels"],Ze={top:0,bottom:0,left:0,right:0};function Qe(t){const{axes:n,axesTickLines:a,className:o="",name:r="",frameKey:s,projectedCoordinateNames:i=Xe,renderPipeline:l,size:c,adjustedSize:d=c,title:u,xScale:p,yScale:y,dataVersion:m,annotations:h,projectedYMiddle:g,interaction:f,customClickBehavior:x,customHoverBehavior:b,customDoubleClickBehavior:v,points:k,margin:E=Ze,backgroundGraphics:j,foregroundGraphics:M,beforeElements:w,afterElements:O,defaultSVGRule:P,defaultHTMLRule:S,adjustedPosition:A=Ye,legendSettings:N,annotationSettings:D=Ge,overlay:z,columns:C,rScale:F,projection:R,interactionOverflow:L,canvasPostProcess:I,canvasRendering:B,renderOrder:W=qe,showLinePoints:V,disableCanvasInteraction:_=!1,sketchyRenderingEngine:H,disableContext:q,frameRenderOrder:G=Ke,additionalVizElements:X=Ge,interactionSettings:K,disableProgressiveRendering:Z,additionalDefs:Q,transition:U}=t;let{hoverAnnotation:J}=t;const ee=e.useRef(null),[te,ne]=e.useState(null),[ae,oe]=e.useState(null);e.useEffect(()=>{const e=(({matte:e,size:t,margin:n,frameKey:a,additionalDefs:o,name:r})=>{let s;"function"==typeof e?s=e({size:t,margin:n}):$.isValidElement(e)?s=e:!0===e&&(s=$.createElement("path",{fill:"white",transform:`translate(${-n.left},${-n.top})`,d:Ie({margin:n,size:t,inset:0}),className:r+"-matte"}));const i=(({matte:e,key:t,additionalDefs:n})=>$.createElement("defs",null,$.createElement("filter",{id:"paintyFilterHeavy"},$.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:4,colorInterpolationFilters:"sRGB",result:"blur"}),$.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"})),$.createElement("filter",{id:"paintyFilterLight"},$.createElement("feGaussianBlur",{id:"gaussblurrer",in:"SourceGraphic",stdDeviation:2,colorInterpolationFilters:"sRGB",result:"blur"}),$.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"})),$.createElement("clipPath",{id:"matte-clip-"+t},e),n))({matte:s,key:e&&(a||r),additionalDefs:o});return{defs:i,matte:s}})({matte:ae,size:c,margin:E,frameKey:s,additionalDefs:Q,name:r});ne(e.defs),oe(e.matte)},[c[0],c[1],E.top,E.bottom,E.right,E.left,E.top,ae,Q]),!J&&(x||b||v)&&(J=qe);const re=[],se=h?[...h,...re]:re,ie=e.useRef(P);ie.current=P;const le=e.useRef(S);le.current=S;const ce=e.useRef(l);ce.current=l;const de=e.useCallback((e,t,n)=>ie.current(Object.assign({d:e,i:t,annotationLayer:n},ce.current)),[]),ue=e.useCallback((e,t,n)=>le.current(Object.assign({d:e,i:t,annotationLayer:n},ce.current)),[]),pe=$.createElement(Y,{legendSettings:N,margin:E,axes:n,annotationHandling:D,pointSizeFunction:D.layout&&D.layout.pointSizeFunction,labelSizeFunction:D.layout&&D.layout.labelSizeFunction,annotations:se,svgAnnotationRule:de,htmlAnnotationRule:ue,size:d,position:[A[0]+E.left,A[1]+E.top]}),ye=function({title:e={title:"",orient:"top"},size:t}){let n=null;const{title:a,orient:o}=Te(e);let r,s=0,i=0;switch(o){case"top":s=t[0]/2,i=25;break;case"bottom":s=t[0]/2,i=t[1]-25;break;case"left":s=25,i=t[1]/2,r="rotate(-90)";break;case"right":s=t[0]-25,i=t[1]/2,r="rotate(90)"}const l=`translate(${s},${i})`;return"string"==typeof a&&a.length>0?n=$.createElement("g",{transform:l},$.createElement("text",{className:"frame-title",transform:r,style:{textAnchor:"middle",pointerEvents:"none"}},a)):a&&(n=$.createElement("g",{transform:l},a)),n}({title:u,size:c}),me="function"==typeof j?j({size:c,margin:E}):j,he="function"==typeof M?M({size:c,margin:E}):M;return $.createElement("div",{className:`${o} frame ${r}`,style:{background:"none"}},w&&$.createElement("div",{className:r+" frame-before-elements"},w),$.createElement("div",{className:"frame-elements",style:{height:c[1]+"px",width:c[0]+"px"}},$.createElement(T,null,$.createElement("div",{className:"visualization-layer",style:{position:"absolute"}},j&&$.createElement("svg",{className:"background-graphics",style:{position:"absolute"},width:c[0],height:c[1]},j&&$.createElement("g",{"aria-hidden":!0,className:"background-graphics"},me)),$.createElement("svg",{className:"visualization-layer",style:{position:"absolute"},width:c[0],height:c[1]},te,$.createElement(He,{disableContext:q,renderPipeline:l,position:A,width:d[0],height:d[1],projectedCoordinateNames:i,xScale:p,yScale:y,axes:n,title:ye,frameKey:s,canvasContext:ee,dataVersion:m,matte:ae,margin:E,canvasPostProcess:I,renderOrder:W,sketchyRenderingEngine:H,axesTickLines:a,additionalVizElements:X,frameRenderOrder:G,disableProgressiveRendering:Z,transition:U}),ye&&$.createElement("g",{className:"frame-title"},ye),M&&$.createElement("g",{"aria-hidden":!0,className:"foreground-graphics"},he))),B&&$.createElement("canvas",{className:"frame-canvas",ref:ee,style:{pointerEvents:"none",position:"absolute"},width:c[0]/2,height:c[1]/2}),$.createElement(_e,{hoverAnnotation:J,projectedX:i.x,projectedY:i.y,projectedYMiddle:g,interaction:f,customClickBehavior:x,customHoverBehavior:b,customDoubleClickBehavior:v,points:k,showLinePoints:V,canvasRendering:B,position:A,margin:E,size:d,svgSize:c,xScale:p,yScale:y,enabled:!0,overlay:z,oColumns:C,rScale:F,projection:R,interactionOverflow:L,disableCanvasInteraction:_,renderPipeline:l,advancedSettings:K}),pe)),O&&$.createElement("div",{className:r+" frame-after-elements"},O))}const Ue=e=>e instanceof Date?e.getTime():e,Je=({type:e="stackedarea",data:t,xProp:n,yProp:a,yPropMiddle:r,sort:s,yPropTop:i,yPropBottom:l})=>{const c=new Map,d=t.map(()=>0);let u=0;for(const e of t){e.__lineIndex=u;for(const t of e.data){const e=Ue(t[n]);d[u]+=t[a],c.has(e)||c.set(e,[]),c.get(e)[u]=t}u++}let p=(e,t)=>d[t.key]-d[e.key];"stackedpercent-invert"!==e&&"stackedarea-invert"!==e||(p=(e,t)=>d[e.key]-d[t.key]),null!==(s=void 0===s?p:s)&&(t=t.sort(s));const y=t.map(e=>e.__lineIndex);for(const[,t]of c){let n=0,s=0;const c=o.sum(t,e=>(null==e?void 0:e[a])>0?e[a]:0),d=o.sum(t,e=>0>(null==e?void 0:e[a])?e[a]:0);for(const o of y){const u=t[o];if(u)if(0>u[a]){if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=u[a]/d;if(u.percent=t,"linepercent"===e)u[l]=u[l]=u[i]=u[r]=t;else{const e=0>d?t:0;u[l]=0===d?0:-n/d,u[i]=u[l]-e,u[r]=u[l]-e/2}}else u[l]=n,u[i]=n+u[a],u[r]=n+u[a]/2;n+=u[a]}else{if("linepercent"===e||"stackedpercent"===e||"stackedpercent-invert"===e){const t=u[a]/c;if(u.percent=t,"linepercent"===e)u[l]=u[i]=u[r]=t;else{const e=c>0?t:0;u[l]=0===c?0:s/c,u[i]=u[l]+e,u[r]=u[l]+e/2}}else u[l]=s,u[i]=s+u[a],u[r]=s+u[a]/2;s+=u[a]}}}return t},et=({data:e,y1:t,x1:n,yPropTop:a,yPropMiddle:o,yPropBottom:r,xPropTop:s,xPropMiddle:i,xPropBottom:l})=>{if(t)for(const n of e)for(const e of n.data)e[r]=t(e),e[o]=e[a];if(n)for(const t of e)for(const e of t.data)e[l]=n(e),e[i]=(e[l]+e[s])/2;return e},tt=({data:e,y1:t,yPropTop:n,yPropMiddle:a,yPropBottom:o,type:r="cumulative"})=>{for(const s of e){let e=0;const i="cumulative-reverse"===r?s.data.reverse():s.data;for(const r of i)e+=r[n],r[o]=r[n]=r[a]=e,t&&(r[o]=t(r),r[a]=r[o]+r[n]/2)}return e},nt=({type:e="bumpline",data:t,xProp:n,yProp:a,yPropMiddle:o,yPropTop:r,yPropBottom:s})=>{const i=new Map;for(const e of t)for(const t of e.data){const e=Ue(t[n]);i.has(e)||i.set(e,[]),i.get(e).push(t)}let l=(e,t)=>e[a]>t[a]?1:-1;"bumparea-invert"!==e&&"bumpline-invert"!==e||(l=(e,t)=>t[a]>e[a]?1:-1);for(const[,t]of i){let n=0,i=0;t.sort(l);let c=1;for(const l of t)"bumparea"===e||"bumparea-invert"===e?0>l[a]?(l[r]=n+l[a],l[o]=n+l[a]/2,l[s]=n,n+=l[a]):(l[r]=i+l[a],l[o]=i+l[a]/2,l[s]=i,i+=l[a]):(l[a]=c,l[r]=c,l[s]=c),c++}return t},at=e=>e&&e.extent||Array.isArray(e)&&e||[],ot=()=>!0,rt={top:te,bottom:ne,orphan:J},st={top:oe,bottom:re,orphan:U},it={stackedarea:Je,"stackedarea-invert":Je,stackedpercent:Je,"stackedpercent-invert":Je,linepercent:Je,difference:({data:e,yProp:t,yPropTop:n,yPropBottom:a})=>(e.forEach((o,r)=>{o.data.forEach((o,s)=>{const i=0===r?1:0;o[t]>e[i].data[s][t]?(o[a]=e[i].data[s][t],o[n]=o[t]):(o[n]=o[t],o[a]=o[t])})}),e),bumparea:nt,bumpline:nt,"bumparea-invert":nt,line:et,area:et,cumulative:tt,"cumulative-reverse":tt};function lt(e,t,n){if(!e&&t)return t;if("object"==typeof e)return()=>e;if(e instanceof Function)return e;if(!0===n){const t=e;return()=>t}return"string"==typeof e?t=>t?t[e]:void 0:()=>{}}function ct(e,t){const n=[];for(const e of t)n.push(Object.assign({},e));for(const t of e)t.parentSummary||n.push(t);return n}const dt=["graph","nodes","edges","nodeIDAccessor","sourceAccessor","targetAccessor","nodeSizeAccessor","edgeWidthAccessor","networkType","edgeType","filterRenderedNodes","renderFn"],ut=["size","margin","title","nodeLabels",...dt],pt=({tooltipRef:e,changeTooltipContentArgsCurrent:t,changeTooltipContainerInitialDimensions:n,changeCollision:a})=>{const o=null==e?void 0:e.getBoundingClientRect();if(!o)return;const{left:r,top:s,width:i,height:l}=o;let c={left:!1,right:!1,top:!1,bottom:!1};r+i>window.innerWidth&&(c.right=!0),0>r-i&&(c.left=!0),s+l>window.innerHeight&&(c.bottom=!0),0>s-l&&(c.top=!0),t(),n(o),a(c)};function yt(t){const{tooltipContent:n,tooltipContentArgs:a}=t,[o,r]=e.useState(null),[s,i]=e.useState(null),[l,c]=e.useState(null),[d,u]=e.useState(null),p=e.useCallback(e=>{u(e),pt({tooltipRef:e,tooltipContentArgs:a,changeTooltipContentArgsCurrent:c,changeTooltipContainerInitialDimensions:i,changeCollision:r})},[]);e.useEffect(()=>{r(null),i(null)},[JSON.stringify(a)]),e.useEffect(()=>{d&&!o&&pt({tooltipRef:d,tooltipContentArgs:a,changeTooltipContentArgsCurrent:c,changeTooltipContainerInitialDimensions:i,changeCollision:r})},[d,o]);const y={overflow:"hidden",opacity:o&&l===a?1:0},m=o?["tooltip-container","tooltip-collision-evaluated",o&&o.top&&"collision-top",o&&o.bottom&&"collision-bottom",o&&o.right&&"collision-right",o&&o.left&&"collision-left"].filter(e=>e).join(" "):"tooltip-container",h={offset:{x:0,y:0},tooltipContainerInitialDimensions:s};return $.createElement("div",{ref:p,style:y,className:m,"data-testid":"TooltipPositioner"},n(Object.assign(Object.assign({},a),{tooltipContainerAttributes:h})))}const mt=e=>()=>e,ht=({d:e,i:t,styleFn:n,key:a,className:o,transform:r})=>{const s=n(e,t);return $.createElement("rect",Object.assign({key:a,transform:r,width:2*e.nodeSize,height:2*e.nodeSize,ry:2*e.nodeSize,rx:2*e.nodeSize,x:-e.nodeSize,y:-e.nodeSize},s,{style:s,className:o,"aria-label":"Node "+e.id,tabIndex:-1}))},gt=e=>({x:-e/2,y:-e/2,width:e,height:e}),ft=({d:e,styleFn:t,key:n,className:a,transform:o})=>{const r="down"!==e.direction?e.height:e.width,s="down"!==e.direction?e.width:e.height;return e?$.createElement("rect",{key:n,className:a,transform:o,height:r,width:s,x:-s/2,y:-r/2,rx:0,ry:0,style:t(e),"aria-label":"Node "+e.id,tabIndex:-1}):$.createElement("g",null)},xt=({d:e,i:t,styleFn:n,key:a,className:o})=>e?$.createElement("rect",{key:a,transform:"translate(0,0)",width:e.x1-e.x0,height:e.y1-e.y0,x:e.x0,y:e.y0,rx:0,ry:0,style:n(e,t),className:o,"aria-label":"Node "+e.id,tabIndex:-1}):$.createElement("g",null),bt=l.line().curve(l.curveMonotoneX).x(e=>e.x).y(e=>e.y),vt=l.line().curve(l.curveMonotoneY).x(e=>e.x).y(e=>e.y);function kt(e,t,n){if(e.circular&&!t.circular)return-1;if(t.circular&&!e.circular)return 1;const a="down"===n?"y":"x",o="down"===n?"x":"y";return e.source[a]===t.source[a]?e.sankeyWidth===t.sankeyWidth?e.source[o]-t.source[o]:t.sankeyWidth-e.sankeyWidth:e.source[a]-t.source[a]}const Et={horizontal:l.linkHorizontal().x(e=>e.x).y(e=>e.y),vertical:l.linkVertical().x(e=>e.x).y(e=>e.y),radial:m.d.lineArc},jt={curve:(e,t="vertical")=>Et[t](e),linearc:e=>m.d.lineArc(e),ribbon:e=>m.d.ribbon(e,e.width),arrowhead:e=>m.d.arrowHead(e,e.target.nodeSize,e.width,1.5*e.width),halfarrow:e=>m.d.halfArrow(e,e.target.nodeSize,e.width,1.5*e.width),nail:e=>m.d.nail(e,e.source.nodeSize),comet:e=>m.d.comet(e,e.target.nodeSize),taffy:e=>m.d.taffy(e,e.source.nodeSize/2,e.target.nodeSize/2,(e.source.nodeSize+e.target.nodeSize)/4)},$t=e=>`M${e.source.x},${e.source.y}L${e.target.x},${e.target.y}`,Mt=t=>{const{d:n,width:o,edgeLength:r,circular:s}=t,i=e.useRef(null);return e.useEffect(()=>{if(null==i?void 0:i.current){const e=Math.max(Math.min(o,s?o:r)/5,2);let t=h.pathArrows().arrowLength(2.5*e).gapLength(100).arrowHeadSize(e).path(n);a.select(i.current).selectAll("*").remove(),a.select(i.current).call(t),a.select(i.current).selectAll(":not(.arrow-head)").style("fill","none").style("stroke-width",e/4).style("stroke","white"),a.select(i.current).selectAll(".arrow-head").style("fill","white")}},[n]),$.createElement("g",{ref:i})},wt=e=>{const{d:t,i:n,styleFn:a,key:o,className:r,generatedPath:s}=e,{showArrows:i}=t;let l="";if(t.circular){const{circularPathData:e}=t,{sourceX:n,sourceY:a,leftFullExtent:o,rightFullExtent:r,verticalFullExtent:s,targetX:i,targetY:c}=e;l=`M${n},${a}L${o},${a}L${o},${s}L${r},${s}L${r},${c}L${i},${c}`}else{let e=t.source.x1,n=t.target.x0,a=g.interpolateNumber(e,n),o=a(.5),r=a(.5),s=t.y0,i=t.y1;l=`M${e},${s}C${o},${s} ${r},${i} ${n},${i}`}return $.createElement($.Fragment,{key:o},$.createElement("path",{className:r,d:s,style:a(t,n),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}),i&&$.createElement(Mt,{d:l,width:t.sankeyWidth,edgeLength:Math.abs(t.target.x-t.source.x),circular:t.circular}))},Ot=(e,t,n,a)=>{if(e.children)for(const o of e.children){const e=t.filter(e=>e[1]===o.id);for(const t of e){const e=a.find(e=>n(e)===t[0])||{},r=Object.assign(Object.assign({id:t[0]},e),{children:[],childMap:{}});o.childMap.set(t[0],r),o.children.push(r)}o.children.length>0&&Ot(o,t,n,a)}},Pt=({data:e,renderKeyFn:t,customMark:n,styleFn:a,classFn:o,renderMode:r,canvasDrawing:s,canvasRenderFn:i,networkSettings:l})=>{const c=n,d=[];if("matrix"!==l.type||!i){if(l){let n=0;for(const l of e){const e=c({d:l,i:n,renderKeyFn:t,styleFn:a,classFn:o,renderMode:r,key:t?t(l,n):l.id||"node-"+n,className:"node "+o(l,n),transform:`translate(${l.x},${l.y})`});if(i&&!0===i(l,n)){const{transform:t="translate(0,0)"}=e.props,[i,c]=t.replace("translate(","").replace(")","").split(","),d={baseClass:"frame-piece",tx:i,ty:c,d:l,i:n,markProps:Object.assign({markType:"string"==typeof e.type?e.type:e.props.markType},e.props),styleFn:a,renderFn:r,classFn:o};s.push(d)}else d.push(e);n++}}return d}},St=e=>{const{data:t,renderKeyFn:n,customMark:a,styleFn:o,classFn:r,renderMode:s,canvasRenderFn:i,canvasDrawing:l,type:c,networkSettings:d,projection:u,numberOfNodes:p,size:y}=e,{type:m,direction:h,edgeSort:g=kt}=d,f="sankey"===m?t.sort((e,t)=>g(e,t,h)):t;let x=$t;const b=[];if(i&&"matrix"===d.type){let e=0;const t=Math.floor(Math.min(...y)/p);for(const n of f){const a={baseClass:"frame-piece",tx:n.source.y,ty:n.target.y,d:n,i:e,markProps:Object.assign({markType:"rect"},gt(t)),styleFn:o,renderFn:s,classFn:r};l.push(a),e++}}else if(a){c&&("function"==typeof c?x=c:jt[c]&&(x=e=>jt[c](e,u)));let e=0;for(const t of f){const i=a({d:t,i:e,renderKeyFn:n,styleFn:o,classFn:r,renderMode:s,key:n?n(t,e):"edge-"+e,className:r(t,e)+" edge",transform:`translate(${t.x},${t.y})`,generatedPath:x(t)});i&&i.props&&("path"!==i.props.markType||i.props.d)&&b.push(i),e++}}else{c&&("function"==typeof c?x=c:jt[c]&&(x=e=>jt[c](e,u)));let e=0;for(const t of f){const a=x(t);a&&i&&!0===i(t,e)?l.push({baseClass:"frame-piece",tx:t.x,ty:t.y,d:t,i:e,markProps:{markType:"path",d:a},styleFn:o,renderFn:s,classFn:r}):a&&b.push($.createElement("path",{key:n?n(t,e):"edge-"+e,className:r(t)+" edge",d:a,style:o(t,e),tabIndex:-1,role:"img","aria-label":`connection from ${t.source.id} to ${t.target.id}`}))}}return b},At=[],Nt={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},Dt={hierarchicalNetwork:!1},zt={nodeHash:new Map,edgeHash:new Map,nodes:[],edges:[],hierarchicalNetwork:!1,type:"force"},Ct={dendrogram:u.tree,tree:u.tree,circlepack:u.pack,cluster:u.cluster,treemap:u.treemap,partition:u.partition},Ft=({projectedNodes:e,projectedEdges:t})=>(e.forEach(e=>{e.x=void 0===e.x?(e.x0+e.x1)/2:e.x,e.y=void 0===e.y?e.y0:e.y}),{projectedNodes:e,projectedEdges:t}),Rt={left:v.sankeyLeft,right:v.sankeyRight,center:v.sankeyCenter,justify:v.sankeyJustify},Lt=({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a,nodeIDAccessor:o})=>{const{orient:r="center",iterations:s=100,nodePadding:i,nodePaddingRatio:l=(i?void 0:.5),nodeWidth:c=("flowchart"===n.type?2:24),customSankey:d,direction:u="right",showArrows:p=!1}=n,y=Rt[r],m=d||v.sankeyCircular;let h=[[0,0],a];"up"!==n.direction&&"down"!==n.direction||(h=[[0,0],[a[1],a[0]]]);let g=t;const f=e.some(e=>!e.createdByFrame&&e.value>0);if(f){const n=new Map;for(const e of t)n.has(e.source.id)||n.set(e.source.id,{source:0,target:0}),n.has(e.target.id)||n.set(e.target.id,{source:0,target:0}),n.get(e.source.id).source+=e.value,n.get(e.target.id).target+=e.value;for(const a of e)if(!a.createdByFrame){let e=0;n.has(a.id)&&(e=Math.max(n.get(a.id).source,n.get(a.id).target)),a.value>e&&t.push({source:a,target:a,value:a.value-e,ephemeral:!0})}}const x=m().extent(h).links(t).nodes(e).nodeAlign(y).nodeId(o).nodeWidth(c).iterations(s);f&&(g=t.filter(e=>!e.ephemeral)),x.nodePaddingRatio&&l?x.nodePaddingRatio(l):i&&x.nodePadding(i),x(),e.forEach(e=>{e.height=e.y1-e.y0,e.width=e.x1-e.x0,e.x=e.x0+e.width/2,e.y=e.y0+e.height/2,e.radius=e.height/2,e.direction=u});const b=f?g:t;return b.forEach(e=>{e.showArrows=p,e.sankeyWidth=e.width,e.direction=u,e.width=void 0}),{projectedNodes:e,projectedEdges:b}};function Tt(e,t,n,a){if(e)return e;const o=[n[0]/2,n[1]/2];switch(t.type){case"sankey":return ft;case"partition":case"treemap":return"radial"===t.projection?((e,t,n)=>{const a=l.arc(),{angleRange:o=[0,360]}=n,r=o.map(e=>e/360),i=1>r[1]-r[0]?s.scaleLinear().domain([0,1]).range(r):e=>e;return({d:n,i:o,styleFn:r,key:s,className:l})=>n?(a.innerRadius(n.y0/2).outerRadius(n.y1/2),$.createElement("path",{key:s,transform:`translate(${t})`,d:a({startAngle:i(n.x0/e[0])*Math.PI*2,endAngle:i(n.x1/e[0])*Math.PI*2}),style:r(n,o),className:l,"aria-label":"Node "+n.id,tabIndex:-1})):$.createElement("g",null)})(n,o,t):xt;case"circlepack":return ht;case"chord":return(e=>({d:t,i:n,styleFn:a,key:o,className:r})=>t?$.createElement("path",{key:o,className:r,transform:`translate(${e[0]/2},${e[1]/2})`,d:t.d,style:a(t,n),"aria-label":"Node "+t.id,tabIndex:-1}):$.createElement("g",null))(n);case"dagre":return xt;case"matrix":return((e,t)=>{const n=Math.min(...e),a=n/(t.length+1);return({d:e,i:o,styleFn:r,renderMode:s,key:i,className:l})=>{if(!e)return $.createElement("g",null);const c=a>6,d=a>3,u=a>.5,p={textAnchor:"end",fontSize:a/2+"px"},y=r(e,o);return s&&s(e,o),$.createElement("g",{key:i,className:l},u&&$.createElement("rect",{x:a/2,y:e.y-a/2,width:n-a,height:a,style:Object.assign(Object.assign({},y),{stroke:"none"})}),u&&$.createElement("rect",{y:a/2,x:e.y-a/2,height:n-a,width:a,style:Object.assign(Object.assign({},y),{stroke:"none"})}),d&&$.createElement("line",{stroke:"black",x1:0,x2:n-a/2,y1:e.y-a/2,y2:e.y-a/2,style:y}),d&&$.createElement("line",{stroke:"black",y1:0,y2:n-a/2,x1:e.y-a/2,x2:e.y-a/2,style:y}),d&&o===t.length-1&&$.createElement("line",{stroke:"black",x1:0,x2:n-a/2,y1:e.y+a/2,y2:e.y+a/2,style:y}),d&&o===t.length-1&&$.createElement("line",{stroke:"black",y1:0,y2:n-a/2,x1:e.y+a/2,x2:e.y+a/2,style:y}),c&&$.createElement("text",Object.assign({x:0,y:e.y+a/5},p),e.id),c&&$.createElement("text",Object.assign({transform:`translate(${e.y}) rotate(90) translate(0,${a/5})`},p,{y:0}),e.id))}})(n,a)}return ht}const It=e=>({edge:e,x:(e.source.x+e.target.x)/2,y:(e.source.y+e.target.y)/2}),Bt={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:It,tree:It,cluster:It,matrix:e=>({edge:e,x:e.source.y,y:e.target.y})},Wt={partition:!0,cluster:!0,tree:!0,dendrogram:!0},Vt={partition:!0,cluster:!0,tree:!0,dendrogram:!0};function _t(e,t,n){return t.parent&&(n=`${n}-${_t(e,Object.assign(Object.assign({},t.parent),t.parent.data),n)}`),`${n}-${e(Object.assign(Object.assign({},t),t.data))}`}const Ht=e=>e.id||e.descendantIndex,qt=(e,t=Ht)=>{var n,a;const o=[],r=[],s=(e.descendants?e:u.hierarchy(e)).descendants();let i=0;for(const e of s)e.descendantIndex=i,i++;for(const e of s){const s=`${null!==(n=t(Object.assign(Object.assign({},e),e.data)))&&void 0!==n?n:Ht(e)}-${e.parent?null!==(a=_t(t,Object.assign(Object.assign({},e.parent),e.parent.data),""))&&void 0!==a?a:e.parent.name:"root"}`,i=Object.assign(e,e.data||{},{hierarchicalID:s});if(r.push(i),null!==e.parent){const t=Object.assign(e.parent,e.parent.data||{});o.push({source:t,target:i,depth:e.depth,weight:1,value:1,_NWFEdgeKey:s})}}return{edges:o,nodes:r}},Gt=(e,t,n,a)=>{const{graph:r,nodes:i=(Array.isArray(r)||"function"==typeof r?At:r&&r.nodes||At),edges:c=("function"==typeof r?At:Array.isArray(r)?r:r&&r.edges||At),networkType:d,size:p,nodeStyle:y,nodeClass:m,canvasNodes:h,edgeStyle:f,edgeClass:x,canvasEdges:b,nodeRenderMode:v,edgeRenderMode:k,nodeLabels:E,title:j,margin:M,hoverAnnotation:w,customNodeIcon:O,customEdgeIcon:P,filterRenderedNodes:S}=e;let A,{edgeType:N}=e;const D={};let z=["type"];"string"==typeof d?A=Object.assign(Object.assign({type:d},Dt),{graphSettings:zt}):(d&&(z=Object.keys(d)),A=Object.assign(Object.assign(Object.assign({type:"force"},Dt),d),{graphSettings:zt})),"vertical"===A.projection&&"sankey"===A.type&&(A.direction="down"),z.push("height","width");const C="object"!=typeof j||$.isValidElement(j)||null===j?{title:j,orient:"top"}:j,{margin:F,adjustedPosition:R,adjustedSize:L}=n.marginCalc(M,C,p);A.graphSettings.nodes=i,A.graphSettings.edges=c,A.graphSettings.filterRenderedNodes=S;let{edgeHash:T,nodeHash:I}=A.graphSettings;const B="treemap"===A.type||"partition"===A.type||"sankey"===A.type,W=n.accessorConversions(e.nodeIDAccessor,e.sourceAccessor,e.targetAccessor,e.nodeSizeAccessor,e.edgeWidthAccessor),V=W.nodeIDAccessor,_=W.sourceAccessor,H=W.targetAccessor,q=W.nodeSizeAccessor,G=W.edgeWidthAccessor,{nodeStyleFn:Y,nodeClassFn:X,nodeRenderModeFn:K,nodeCanvasRenderFn:Z}=n.nodeStyleFns(y,m,v,h);let{projectedNodes:Q,projectedEdges:U}=t;const J="string"==typeof A.type&&Ct[A.type],ee=!t.projectedNodes||!t.projectedEdges||t.graphSettings.nodes!==i||t.graphSettings.edges!==c||J||t.graphSettings.filterRenderedNodes!==S;if("dagre"===A.type){const e=r,t=new Map;Q=e.nodes().map(n=>{const a=e.node(n),o=Object.assign(Object.assign({},a),{x0:a.x-a.width/2,x1:a.x+a.width/2,y0:a.y-a.height/2,y1:a.y+a.height/2,id:n,shapeNode:!0,sourceLinks:[],targetLinks:[]});return t.set(n,o),o}),U=e.edges().map(n=>{const a=e.edge(n),o=Object.assign(Object.assign({},a),{points:a.points.map(e=>Object.assign({},e))});return o.source=Q.find(e=>e.id===n.v),o.target=Q.find(e=>e.id===n.w),o.points.unshift({x:o.source.x,y:o.source.y}),o.points.push({x:o.target.x,y:o.target.y}),t.get(n.v).targetLinks.push(o),t.get(n.w).sourceLinks.push(o),o})}else if(ee){const e=Q;T=new Map,I=new Map,A.graphSettings.edgeHash=T,A.graphSettings.nodeHash=I,Q=[],U=[];const t="function"==typeof A.fixExistingNodes?A.fixExistingNodes:!!A.fixExistingNodes&&(()=>!0);i.forEach(n=>{const a=Object.assign({},n),o=V(a),r=e.find(e=>e.id===o),s=r||{x:void 0,y:void 0};I.set(o,a),I.set(n,a),Q.push(a),a.id=o,a.inDegree=0,a.outDegree=0,a.degree=0,a.x=s.x,a.y=s.y,r&&t&&t(r)&&(a.fx=r.x,a.fy=r.y)});let n=c,a=c;if(J&&Array.isArray(c)){const e=((e,t,n,a,o)=>{let r={id:"root-generated",children:[],childMap:new Map};const s=new Map,i=new Map;let l=!0,c=!0;for(let t=0;e.length>t;t++){const r=e[t],l=n(r),d=a(r),u="object"==typeof l?o(l):l,p="object"==typeof d?o(d):d;if(i.set(p,u),s.has(u)){c=!1;break}s.set(u,p)}if(c){const e=[];for(const n of s){e.push(n);const a=n[1];if(!s.has(a)){s.set(a,"root-generated");const e=t.find(e=>o(e)===a)||{},n=Object.assign(Object.assign({id:a},e),{children:[],childMap:new Map});r.childMap.set(a,n),r.children.push(n)}}return Ot(r,e,o,t),t.forEach(e=>{const t=o(e);s.has(t)||i.has(t)||r.children.push(Object.assign(Object.assign({id:t},e),{children:[],childMap:new Map}))}),1===r.children.length&&(r=r.children[0],l=!1),{hierarchy:r,isHierarchical:!0,hasLogicalRoot:l}}return{hierarchy:{},isHierarchical:!1,hasLogicalRoot:!1}})(c,i,_,H,V);e.isHierarchical?(a=e.hierarchy,Q=[]):(console.error("You've sent an edge list that is not strictly hierarchical (there are nodes with multiple parents) defaulting to force-directed network layout"),A.type="force")}if(!Array.isArray(a)){A.hierarchicalNetwork=!0;const e=u.hierarchy(a,A.hierarchyChildren);if(e.sum(A.hierarchySum||(e=>e.value)),J){const t=(A.layout||J)(),n=Object.keys(A);"dendrogram"!==A.type&&"tree"!==A.type&&"cluster"!==A.type||!t.separation||t.separation((e,t)=>(q(Object.assign(Object.assign({},e),e.data))||1)+(A.nodePadding||0)+(q(Object.assign(Object.assign({},t),t.data))||1)),n.forEach(e=>{t[e]&&t[e](A[e])}),!A.nodeSize&&t.size&&t.size("horizontal"===A.projection&&J?[L[1],L[0]]:L),t(e)}n=qt(e,V).edges}Nt.shapeNode=B,Array.isArray(n)&&n.forEach(e=>{const t=_(e),n=H(e);[t,n].forEach(e=>{if(!I.get(e)){const t=Object.assign(Object.assign({},Nt),"object"==typeof e?e:{id:e,createdByFrame:!0}),n=t.id||V(t);D[n]?D[n]+=1:D[n]=1,t.id||(t.id=`${n}${1===D[n]?"":"-"+D[n]}`),I.set(e,t),Q.push(t)}});const a=e.weight||1,o=I.get(t),r=I.get(n);r.inDegree+=a,o.outDegree+=a,r.degree+=a,o.degree+=a;const s=`${V(o)||t}|${V(r)||n}`,i=Object.assign({},e,{source:I.get(t),target:I.get(n)});T.set(s,i),U.push(i),"matrix"===A.type&&U.push(Object.assign(Object.assign({},i),{source:i.target,target:i.source}))})}else T=new Map,A.graphSettings.edgeHash=T,U.forEach(e=>{const t="string"==typeof e.source?e.source:V(e.source),n="string"==typeof e.target?e.target:V(e.target);T.set(`${t}|${n}`,e)});const te=Tt(O,A,L,Q),ne=function({baseCustomEdgeIcon:e,networkSettings:t,size:n,graph:a,nodes:o}){if(e)return e;switch(t.type){case"partition":case"treemap":case"circlepack":return()=>null;case"chord":return(e=>({d:t,i:n,styleFn:a,key:o,className:r})=>$.createElement("path",{key:o,className:r,transform:`translate(${e[0]/2},${e[1]/2})`,d:t.d,style:a(t,n),"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}))(n);case"matrix":return((e,t)=>({d:n,i:a,styleFn:o,key:r,className:s})=>{const i=Math.min(...e)/t.length,l=o(n,a);return $.createElement("g",{key:r},$.createElement("rect",Object.assign({key:r,className:s,transform:`translate(${n.source.y},${n.target.y})`},l,{style:l,"aria-label":`Connection from ${n.source.id} to ${n.target.id}`,tabIndex:-1},gt(i))))})(n,o);case"arc":return(e=>{const t=e[1]/e[0];function n(e){return l.line().curve(l.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:a,styleFn:o,key:r,className:s})=>{const i=o(t,a);return $.createElement("path",Object.assign({key:r,className:s,transform:`translate(0,${e[1]/2})`,d:n(t)},i,{style:i,"aria-label":`Connection from ${t.source.id} to ${t.target.id}`,tabIndex:-1}))}})(n);case"dagre":if(a)return(e=>{const t="LR"===e||"RL"===e?bt:vt;return({d:e,i:n,styleFn:a,key:o,className:r})=>{if(e.ribbon||e.parallelEdges){const t=ge();if(t.x(e=>e.x),t.y(e=>e.y),t.r(()=>e.weight||1),e.parallelEdges){const s=e.parallelEdges.sort((e,t)=>t.weight-e.weight);return $.createElement("g",{key:""+o},t({points:e.points,multiple:e.parallelEdges}).map((t,i)=>$.createElement("path",{key:`${o}-${i}`,className:r,d:t,style:a(s[i],n),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})))}return $.createElement("path",{key:o,className:r,d:t(e.points),style:a(e,n),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})}return $.createElement("path",{key:o,className:r,d:t(e.points),style:a(e,n),"aria-label":`Connection from ${e.source.id} to ${e.target.id}`,tabIndex:-1})}})(a.graph().rankdir);case"sankey":return wt}}({baseCustomEdgeIcon:P,networkSettings:A,size:L,nodes:Q,graph:r});A.width=p[0],A.height=p[1];let ae,oe=!1;if(z.forEach(e=>{"edgeType"!==e&&"graphSettings"!==e&&A[e]!==t.graphSettings[e]&&(oe=!0)}),"sankey"===A.type?N=e=>e.circular?function(e){const t=ge();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"===N?(e=>{const t=Math.abs("down"===e.direction?e.target.y-e.source.y:e.source.x-e.target.x),n="down"===e.direction?[{x:e.y0,y:e.source.y},{x:e.y0,y:e.source.y+t/3},{x:e.y1,y:e.target.y-t/3},{x:e.y1,y:e.target.y}]:[{x:e.source.x0,y:e.y0},{x:e.source.x0+t/3,y:e.y0},{x:e.target.x0-t/3,y:e.y1},{x:e.target.x0,y:e.y1}],a=ge();return a.x(e=>e.x),a.y(e=>e.y),a.r(()=>e.sankeyWidth/2),a(n)})(e):(e=>{let t,n,a,o,r,s,i,l,c;return"down"===e.direction?(t=e.y0-e.sankeyWidth/2,n=e.y1-e.sankeyWidth/2,a=e.y1+e.sankeyWidth/2,o=e.y0+e.sankeyWidth/2,r=e.source.y1,s=e.target.y0,i=g.interpolateNumber(r,s),l=i(.5),c=i(.5),`M${t},${r}C${t},${l} ${n},${c} ${n},${s}L${a},${s}C${a},${c} ${o},${l} ${o},${r}Z`):(t=e.source.x1,n=e.target.x0,i=g.interpolateNumber(t,n),a=i(.5),o=i(.5),r=e.y0-e.sankeyWidth/2,s=e.y1-e.sankeyWidth/2,l=e.y1+e.sankeyWidth/2,c=e.y0+e.sankeyWidth/2,`M${t},${r}C${a},${r} ${o},${s} ${n},${s}L${n},${l}C${o},${l} ${a},${c} ${t},${c}Z`)})(e):J&&Q.forEach(e=>{if(B&&(e.x=(e.x0+e.x1)/2,e.y=(e.y0+e.y1)/2),"string"==typeof A.type&&Wt[A.type]&&"horizontal"===A.projection){const t=e.x;if(e.x=e.y,e.y=t,B){const t=e.x0,n=e.x1;e.x0=e.y0,e.x1=e.y1,e.y0=t,e.y1=n}}else if("string"==typeof A.type&&Vt[A.type]&&"radial"===A.projection){const t=0===e.depth?[L[0]/2,L[1]/2]:je([L[0]/2,L[1]/2],e.x/L[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"!==A.type&&(ee||oe)){const n=null==a?void 0:a["string"==typeof A.type?A.type:"custom"];if(n){const e=n({projectedNodes:Q,projectedEdges:U,networkSettings:A,adjustedSize:L,edgeHash:T,nodeIDAccessor:V,edgeWidthAccessor:G,nodeSizeAccessor:q,size:p});Q=e.projectedNodes,U=e.projectedEdges}else"function"==typeof A.type?A.type({nodes:Q,edges:U}):Q.forEach(e=>{e.x=void 0===e.x?(e.x0+e.x1)/2:e.x,e.y=void 0===e.y?e.y0:e.y});t.graphSettings.nodes=e.nodes,t.graphSettings.edges=e.edges}if(Q=Q.filter(S),U=U.filter(e=>-1!==Q.indexOf(e.target)&&-1!==Q.indexOf(e.source)),"flip"===A.direction)Q.forEach(e=>{e.x=L[0]-e.x,e.y=L[1]-e.y});else if("up"===A.direction||"down"===A.direction){const e="up"===A.direction?e=>L[1]-e:e=>e;Q.forEach(t=>{const n=t.x,a=t.x0,o=t.x1;t.x=e(t.y),t.x0=e(t.y0),t.x1=e(t.y1),t.y=n,t.y0=a,t.y1=o})}else"left"===A.direction&&Q.forEach(e=>{e.x=L[0]-e.x,e.x0=L[0]-e.x0,e.x1=L[0]-e.x1});if("function"==typeof A.zoom)A.zoom(Q,U,L);else if(!1!==A.zoom&&"matrix"!==A.type&&"chord"!==A.type&&"sankey"!==A.type&&"partition"!==A.type&&"treemap"!==A.type&&"circlepack"!==A.type&&"dagre"!==A.type){const e=o.min(Q.map(e=>e.x-q(e))),t=o.max(Q.map(e=>e.x+q(e))),n=o.min(Q.map(e=>e.y-q(e))),a=o.max(Q.map(e=>e.y+q(e))),r=Math.abs(t-e),i=Math.abs(a-n);let l,c;"stretch"===A.zoom?(l=0,c=0):r/i>L[0]/L[1]?(c=0,l=(L[1]-L[0]/r*i)/2):(l=0,c=(L[0]-L[1]/i*r)/2);const d=s.scaleLinear().domain([e,t]).range([c,L[0]-c]),u=s.scaleLinear().domain([n,a]).range([l,L[1]-l]);Q.forEach(e=>{e.x=d(e.x),e.y=u(e.y)})}else if(!1===A.zoom||"radial"===A.projection||"partition"!==A.type&&"treemap"!==A.type&&"dagre"!==A.type){if(!1!==A.zoom&&"sankey"===A.type&&U.some(e=>e.circular)){const e=U.filter(e=>e.circular),t=o.min(e,e=>e.circularPathData.rightFullExtent-e.sankeyWidth/2)||1/0,n=o.max(e,e=>e.circularPathData.leftFullExtent+e.sankeyWidth/2)||-1/0,a=o.min(e,e=>e.circularPathData.verticalFullExtent-e.sankeyWidth/2)||1/0,r=o.max(e,e=>e.circularPathData.verticalFullExtent+e.sankeyWidth/2)||-1/0,i=o.min(Q,e=>e.y0),l=o.max(Q,e=>e.y1),c=o.min(Q,e=>e.x0),d=o.max(Q,e=>e.x1),u=Math.min(t,c),p=Math.max(n,d),y=Math.min(a,i),m=Math.max(r,l),h=s.scaleLinear().domain([u,p]).range([0,L[0]]),g=s.scaleLinear().domain([y,m]).range([0,L[1]]),f=L[1]/(m-y);for(const e of Q)e.x=h(e.x),e.x0=h(e.x0),e.x1=h(e.x1),e.y=g(e.y),e.y0=g(e.y0),e.y1=g(e.y1),e.width=e.x1-e.x0,e.height=e.y1-e.y0;for(const e of U)e.circular?(e.circularPathData.sourceX=h(e.circularPathData.sourceX),e.circularPathData.sourceY=g(e.circularPathData.sourceY),e.circularPathData.leftFullExtent=h(e.circularPathData.leftFullExtent),e.circularPathData.verticalFullExtent=g(e.circularPathData.verticalFullExtent),e.circularPathData.rightFullExtent=h(e.circularPathData.rightFullExtent),e.circularPathData.targetX=h(e.circularPathData.targetX),e.circularPathData.targetY=g(e.circularPathData.targetY)):(e.y0=g(e.y0),e.y1=g(e.y1)),e.sankeyWidth=e.sankeyWidth*f}}else{const e=o.min(Q.map(e=>e.x0)),t=o.max(Q.map(e=>e.x1)),n=o.min(Q.map(e=>e.y0)),a=o.max(Q.map(e=>e.y1)),r=s.scaleLinear().domain([e,t]).range([F.left,L[0]-F.right]),i=s.scaleLinear().domain([n,a]).range([F.top,L[1]-F.bottom]);Q.forEach(e=>{e.x=r(e.x),e.y=i(e.y),e.x0=r(e.x0),e.y0=i(e.y0),e.x1=r(e.x1),e.y1=i(e.y1),e.zoomedHeight=e.y1-e.y0,e.zoomedWidth=e.x1-e.x0}),U.forEach(e=>{e.points&&e.points.forEach(e=>{e.x=r(e.x),e.y=i(e.y)})})}Q.forEach(e=>{e.nodeSize=q(e)}),U.forEach(e=>{e.width=G(e)}),e.legend&&(ae=e.legend,!ae.legendGroups)&&(ae.legendGroups=[{styleFn:e.nodeStyle,type:"fill",items:[]}]);const re=n.edgeStyleFns(f,x,k,b),se={edges:{accessibleTransform:(e,t)=>{const n=(e[t].source.x+e[t].target.x)/2,a=(e[t].source.y+e[t].target.y)/2;return Object.assign(Object.assign({type:"frame-hover"},e[t]),{x:n,y:a})},data:U,styleFn:re.edgeStyleFn,classFn:re.edgeClassFn,renderMode:re.edgeRenderModeFn,canvasRenderFn:re.edgeCanvasRenderFn,renderKeyFn:e.edgeRenderKey?e.edgeRenderKey:e=>e._NWFEdgeKey||e.key||`${e.source.id}-${e.target.id}`,behavior:St,projection:A.projection,type:N,customMark:ne,networkSettings:A,numberOfNodes:Q.length,size:L},nodes:{accessibleTransform:(e,t)=>Object.assign(Object.assign({type:"frame-hover"},e[t]),e[t].data||{}),data:Q,styleFn:Y,classFn:X,renderMode:K,canvasRenderFn:Z,customMark:te,behavior:Pt,renderKeyFn:e.nodeRenderKey,networkSettings:A}},ie=[];let le;e.nodeLabels&&Q&&Q.forEach((e,t)=>{const n=E&&!0!==E&&E(e);if(!0===E||n){const a="radial"===A.projection&&0!==e.depth?((e,t,n,a)=>{const o=(e.x1+e.x0)/2/a[0],r=n(e,t);return $.createElement("g",{transform:`rotate(${o>.5?360*o+90:360*o-90})`},"string"==typeof r?$.createElement("text",{textAnchor:"middle",y:5},r):r)})(e,t,!0===E?V:E,L):!0===E?V(e,t):n;let o;o=$.isValidElement(a)?{key:"node-label-"+t,type:"basic-node-label",x:e.x,y:e.y,element:a}:{key:"node-label-"+t,className:"node-label",dx:0,dy:0,x:e.x,y:e.y,color:"currentColor",note:{label:a},connector:{end:"none"},type:"label",subject:{radius:q(e)+2}},ie.push(o)}});const ce=[];if(w&&["circlepack","treemap","partition","chord"].find(e=>e===A.type)||"area"===w){if("edge"!==w){const e=Q.map((e,t)=>Object.assign({overlayData:e},te({d:e,i:t,transform:`translate(${e.x},${e.y})`,styleFn:()=>({opacity:0})}).props));ce.push(...e)}"node"!==w&&U.forEach((e,t)=>{const n=ne({d:e,i:t,transform:`translate(${e.x},${e.y})`,styleFn:()=>({opacity:0})});n&&ce.push(Object.assign({overlayData:Object.assign(Object.assign({},e),{x:void 0===e.x?(e.source.x+e.target.x)/2:e.x,y:void 0===e.y?(e.source.y+e.target.y)/2:e.y,edge:!0})},n.props))})}else"edge"===w&&"string"==typeof A.type&&Bt[A.type]?le=U.map(Bt[A.type]):Array.isArray(w)||!0===w||"node"===w?(le=Q,(ee||oe)&&(le=[...Q])):"all"===w&&"string"==typeof A.type&&(le=[...U.map(Bt[A.type]),...Q]);return{adjustedPosition:R,adjustedSize:L,backgroundGraphics:e.backgroundGraphics,foregroundGraphics:e.foregroundGraphics,title:C,renderNumber:t.renderNumber+1,projectedNodes:Q,projectedEdges:U,projectedXYPoints:le,overlay:ce,nodeIDAccessor:V,sourceAccessor:_,targetAccessor:H,nodeSizeAccessor:q,edgeWidthAccessor:G,margin:F,legendSettings:ae,networkFrameRender:se,nodeLabelAnnotations:ie,graphSettings:Object.assign(Object.assign({},A.graphSettings),A),props:e}};const Yt={matrix:({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a})=>{let o=e;n.sort&&(o=[...e].sort(n.sort));const r=Math.min(...a)/(o.length+1);return o.forEach((e,t)=>{e.x=0,e.y=(t+1)*r}),{projectedNodes:o,projectedEdges:t}},arc:({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a})=>{let o=e;n.sort&&(o=[...e].sort(n.sort));const r=a[0]/(o.length+2);return o.forEach((e,t)=>{e.x=(t+1)*r,e.y=a[1]/2}),{projectedNodes:o,projectedEdges:t}}},Xt=Object.assign(Object.assign({chord:({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a,edgeHash:o,nodeIDAccessor:r,edgeWidthAccessor:s})=>{const i=a[1]/2,{groupWidth:c=20,padAngle:d=.01,sortGroups:u}=n,p=l.arc().innerRadius(i-c).outerRadius(i),y=x.ribbon().radius(i-c),m=(({edgeHash:e,nodes:t,edgeWidthAccessor:n,nodeIDAccessor:a})=>{const o=[];for(const r of t){const s=a(r),i=[];o.push(i);for(const o of t){const t=a(o),r=e.get(`${s}|${t}`);i.push(r?n(r):0)}}return o})({edgeHash:o,nodes:e,edgeWidthAccessor:s,nodeIDAccessor:r}),h=x.chord().padAngle(d);u&&h.sortGroups(u);const g=h(m);return g.groups.forEach(t=>{const n=p.centroid(t),o=p(t),r=e[t.index];r.d=o,r.index=t.index,r.x=n[0]+a[0]/2,r.y=n[1]+a[1]/2}),g.forEach(t=>{const n=y(t),s=r(e[t.source.index]),i=r(e[t.target.index]),l=o.get(`${s}|${i}`)||o.get(`${i}|${s}`);if(l){l.d=n;const e=S.default(n);l.x=a[0]/2+(e.x1+e.x2)/2,l.y=a[1]/2+(e.y1+e.y2)/2}}),{projectedNodes:e,projectedEdges:t}},sankey:Lt,flowchart:Lt,force:({projectedNodes:e,projectedEdges:t,networkSettings:n,adjustedSize:a,nodeSizeAccessor:o})=>{const r=Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),{iterations:s=r,edgeStrength:i=.1,distanceMax:l=1/0,edgeDistance:c,forceManyBody:d=e=>-25*o(e)}=n,u=a[0]/2,p=a[1]/2;e.forEach((e,t)=>{if(null==e.x||null==e.y){const n=10*Math.sqrt(t+.5),a=2.399963229728653*t;e.x=u+n*Math.cos(a),e.y=p+n*Math.sin(a)}});const y=k.forceLink().strength(e=>Math.min(2.5,e.weight?e.weight*i:i));c&&y.distance(c);const m=n.simulation||k.forceSimulation().force("charge",k.forceManyBody().distanceMax(l).strength(d));m.nodes(e);const h=a[1]/a[0];m.force("x")||m.force("x",k.forceX(a[0]/2).strength(.1*h)),m.force("y")||m.force("y",k.forceY(a[1]/2).strength(.1)),0===t.length||m.force("link")||(m.force("link",y),m.force("link").links(t)),.1>m.alpha()&&m.alpha(1),m.stop();for(let e=0;s>e;++e)m.tick();return{projectedNodes:e,projectedEdges:t}},motifs:({projectedNodes:e,projectedEdges:t,networkSettings:n,nodeSizeAccessor:a,size:r})=>{const i=new Map;t.forEach(e=>{[e.source,e.target].forEach(e=>{i.get(e)||i.set(e,{node:e,component:-99,connectedNodes:[],edges:[]})}),i.get(e.source).connectedNodes.push(e.target),i.get(e.target).connectedNodes.push(e.source),i.get(e.source).edges.push(e)});const l=function(e,t){const n={0:{componentNodes:[],componentEdges:[]}},a=[n[0]];let o=0;return function e(r,s){for(const i of r){const r=t.get(i);r?-99===r.component&&(!0===s&&(o++,n[o]={componentNodes:[],componentEdges:[]},a.push(n[o])),r.component=o,n[o].componentNodes.push(i),n[o].componentEdges.push(...r.edges),e([...r.connectedNodes],t)):n[0].componentNodes.push(i)}}(e,!0),a.sort((e,t)=>t.componentNodes.length-e.componentNodes.length)}(e,i),c=Math.max(e.length/3,l[0].componentNodes.length),d=r[0]>r[1]?r[1]:r[0],u=r[0]>r[1]?"horizontal":"vertical",p=Math.max(50,Math.min(300,Math.floor(300-2*(e.length-30)))),{iterations:y=p,edgeStrength:m=.1,edgeDistance:h,padding:g=0}=n;let f=g,x=g;return l.forEach(({componentNodes:e,componentEdges:t})=>{const i=k.forceLink().strength(e=>Math.min(2.5,e.weight?e.weight*m:m));h&&i.distance(h);const l=Math.max(e.length/c,.2)*d,p=l+f;"horizontal"===u?l+x>r[1]?(f=l+f+g,x=l+g):x=l+x+g:p>r[0]?(x=l+x+g,f=l+g):f=l+f+g;const b=f-l/2,v=x-l/2,E=k.forceSimulation().force("charge",k.forceManyBody().strength(n.forceManyBody||(e=>-25*a(e)))).force("link",i);E.force("x",k.forceX(b)).force("y",k.forceY(v)).nodes(e),E.force("link").links(t),E.stop();for(let e=0;y>e;++e)E.tick();const j=o.max(e.map(e=>e.x)),$=o.max(e.map(e=>e.y)),M=o.min(e.map(e=>e.x)),w=o.min(e.map(e=>e.y)),O=s.scaleLinear().domain([M,j]).range([f-l,f-20]),P=s.scaleLinear().domain([w,$]).range([x-l,x-20]);e.forEach(e=>{e.x=O(e.x),e.y=P(e.y)})}),{projectedNodes:e,projectedEdges:t,components:l}}},{tree:Ft,dendrogram:Ft,cluster:Ft,treemap:Ft,circlepack:Ft,partition:Ft}),Yt),Kt=[],Zt=["nodes","edges"],Qt=["edges","nodes"],Ut={y:"y",x:"x"},Jt=s.scaleLinear(),en=s.scaleLinear(),tn={annotations:[],foregroundGraphics:[],size:[500,500],className:"",name:"networkframe",networkType:{type:"force",iterations:500},filterRenderedNodes:e=>"root-generated"!==e.id};function nn(t){const n=Object.assign(Object.assign({},tn),t),a=e.useRef({marginCalc:P.default((e,t,n)=>{const a=(({margin:e,axes:t,title:n,oLabel:a,projection:o,size:r})=>{if(void 0!==e){if("function"==typeof e&&(e=e({size:r})),"object"!=typeof e)return{top:e,bottom:e,left:e,right:e};if("object"==typeof e)return Object.assign({top:0,bottom:0,left:0,right:0},e)}const s={top:0,bottom:0,left:0,right:0};let i="left";t&&"radial"!==o&&t.forEach(e=>{i=e.orient,s[i]=e.label?60:50});const{title:l,orient:c}=Te(n);return!l||"string"==typeof l&&0===l.length||(s[c]+=40),a&&"radial"!==o&&("bottom"===i||"top"===i?s.left+=50:s.bottom+=50),s})({margin:e,title:t,size:n}),{adjustedPosition:o,adjustedSize:r}=function({size:e=[500,500],position:t=[0,0],margin:n,projection:a}){const o=[t[0],t[1]];let r=[e[0]-(n.left+n.right),e[1]-(n.top+n.bottom)];if("radial"===a){const e=Math.min(r[0],r[1]);r=[e,e]}return{adjustedPosition:o,adjustedSize:r}}({size:n,margin:a});return{margin:a,adjustedPosition:o,adjustedSize:r}}),accessorConversions:P.default((e,t,n,a,o)=>({nodeIDAccessor:lt(e,e=>e?e.id:void 0),sourceAccessor:lt(t,e=>e.source),targetAccessor:lt(n,e=>e.target),nodeSizeAccessor:"number"==typeof a?mt(a):lt(a,mt(5)),edgeWidthAccessor:lt(o,e=>e.weight||1)})),nodeStyleFns:P.default((e,t,n,a)=>({nodeStyleFn:lt(e,()=>({}),!0),nodeClassFn:lt(t,()=>"",!0),nodeRenderModeFn:lt(n,void 0,!0),nodeCanvasRenderFn:a?lt(a,void 0,!0):void 0})),edgeStyleFns:P.default((e,t,n,a)=>({edgeStyleFn:lt(e,()=>({}),!0),edgeClassFn:lt(t,()=>"",!0),edgeRenderModeFn:lt(n,void 0,!0),edgeCanvasRenderFn:a?lt(a,void 0,!0):void 0}))}),o={dataVersion:void 0,nodeData:[],edgeData:[],adjustedPosition:[],adjustedSize:[],backgroundGraphics:null,foregroundGraphics:null,projectedNodes:[],projectedEdges:[],renderNumber:0,nodeLabelAnnotations:[],graphSettings:{type:"empty-start",nodes:[],edges:[],nodeHash:new Map,edgeHash:new Map,hierarchicalNetwork:!1},edgeWidthAccessor:lt("weight"),legendSettings:void 0,margin:{top:0,left:0,right:0,bottom:0},networkFrameRender:{},nodeIDAccessor:lt("id"),nodeSizeAccessor:mt(5),overlay:[],projectedXYPoints:[],sourceAccessor:lt("source"),targetAccessor:lt("target"),title:{title:void 0},props:n},r=e.useMemo(()=>Object.assign(Object.assign({},o),Gt(n,o,a.current,n._layoutMap||Xt)),[]),s=function(t,n,o){let r=e.useRef(o),s=e.useMemo(()=>{let e=r.current,t=function(e,t,n,a){const{props:o}=t,r=!t.dataVersion&&dt.some(t=>o[t]!==e[t]),s=!t.dataVersion&&ut.some(t=>o[t]!==e[t]);return t.dataVersion&&t.dataVersion!==e.dataVersion||!t.projectedNodes&&!t.projectedEdges||r||o.size[0]!==e.size[0]||o.size[1]!==e.size[1]||s?Object.assign(Object.assign({},Gt(e,t,n,a)),{props:e}):{props:e}}(o=n,e,a.current,o._layoutMap||Xt);var o;return null!=t?Object.assign(Object.assign({},e),t):e},[n]);return r.current=s,s}(0,n,r);!function(t,n){let a=e.useRef();a.current=[t,n],e.useEffect(()=>()=>{const[e,t]=a.current,n=e.onUnmount;n&&n(e,t)},[])}(n,s);const i=e.useRef(n);i.current=n;const l=e.useRef(s);l.current=s;const c=e.useCallback(e=>function(e,t,{d:n,i:a,annotationLayer:o}){const{projectedNodes:r,projectedEdges:s,nodeIDAccessor:i,nodeSizeAccessor:l,networkFrameRender:c,adjustedSize:d,adjustedPosition:y}=t,{svgAnnotationRules:m}=e,h=n.ids?n:Object.assign(Object.assign({},n.edge?s.find(e=>i(e.source)===i(n.edge.source)&&i(e.target)===i(n.edge.target))||{}:r.find(e=>i(e)===n.id)||{}),n),{voronoiHover:g}=o;if(m){const n=m({d:h,i:a,networkFrameProps:e,networkFrameState:t,nodes:r,edges:s,voronoiHover:g,screenCoordinates:[h.x,h.y],adjustedPosition:y,adjustedSize:d,annotationLayer:o});if(null!==n)return n}return"node"===h.type?(({d:e,i:t,nodeSizeAccessor:n})=>{if(!e)return null;const a=Object.assign({dx:e.dx||-25,dy:e.dy||-25,x:e.x,y:e.y,note:{label:e.label,orientation:e.orientation,align:e.align},connector:{end:"arrow"}},e,{type:"callout-circle",subject:{radius:e.radius||e.radius||n(e)}});return $.createElement(L,{key:e.key||"annotation-"+t,noteData:a})})({d:h,i:a,nodeSizeAccessor:l}):"desaturation-layer"===h.type?(({style:e={fill:"white",fillOpacity:.5},size:t,i:n,key:a})=>$.createElement("rect",{"data-testid":"desaturation-layer",key:a||"desaturation-"+n,x:-5,y:-5,width:t[0]+10,height:t[1]+10,style:e}))({style:h.style instanceof Function?h.style(h,a):h.style,size:d,i:a,key:h.key}):"basic-node-label"===h.type?$.createElement("g",{key:h.key||"basic-"+a,transform:`translate(${h.x},${h.y})`},n.element||n.label):"function"==typeof h.type||an.has(h.type)?(({d:e,i:t,projectedNodes:n,nodeIDAccessor:a})=>{const o=void 0!==e.x&&void 0!==e.y?e:n.find(t=>a(t)===e.id);if(!o)return null;const r=Object.assign({dx:0,dy:0,x:o.x,y:o.y,note:{label:e.label},connector:{end:"arrow"}},e,{type:"function"==typeof e.type?e.type:void 0});return $.createElement(L,{key:e.key||"annotation-"+t,noteData:r})})({d:h,i:a,projectedNodes:r,nodeIDAccessor:i}):"enclose"===h.type?(({d:e,i:t,projectedNodes:n,nodeIDAccessor:a,nodeSizeAccessor:o})=>{const r=n.filter(t=>-1!==e.ids.indexOf(a(t)));return 0===r.length?null:(({d:e,i:t,circle:n})=>{const{padding:a=2,radiusPadding:o=a,label:r}=e,s=Object.assign({dx:0,dy:0,note:{label:r},connector:{end:"arrow"}},e,{coordinates:void 0,x:n.x,y:n.y,type:"callout-circle",subject:{radius:n.r,radiusPadding:o},i:t});if(s.rp)switch(s.rp){case"top":s.dx=0,s.dy=-n.r-s.rd;break;case"bottom":s.dx=0,s.dy=n.r+s.rd;break;case"left":s.dx=-n.r-s.rd,s.dy=0;break;default:s.dx=n.r+s.rd,s.dy=0}return $.createElement(L,{key:e.key||"annotation-"+t,noteData:s})})({circle:u.packEnclose(r.map(e=>({x:e.x,y:e.y,r:o(e)}))),d:e,i:t})})({d:h,i:a,projectedNodes:r,nodeIDAccessor:i,nodeSizeAccessor:l}):"enclose-rect"===h.type?(({d:e,i:t,projectedNodes:n,nodeIDAccessor:a,nodeSizeAccessor:o})=>{const r=n.filter(t=>-1!==e.ids.indexOf(a(t)));return 0===r.length?null:(({bboxNodes:e,d:t,i:n})=>{const{padding:a=0,dx:o=-25,dy:r=-25,label:s}=t,i=[[Math.min(...e.map(e=>e.x0))-a,Math.min(...e.map(e=>e.y0))-a],[Math.max(...e.map(e=>e.x1))+a,Math.max(...e.map(e=>e.y1))+a]],l=Object.assign({dx:o,dy:r,note:{label:s},connector:{end:"arrow"}},t,{type:"callout-rect",x:i[0][0],y:i[0][1],subject:{width:i[1][0]-i[0][0],height:i[1][1]-i[0][1]}});return $.createElement(L,{key:t.key||"annotation-"+n,noteData:l})})({bboxNodes:r.map(e=>{if(e.shapeNode)return{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1};const t=o(e);return{x0:e.x-t,x1:e.x+t,y0:e.y-t,y1:e.y+t}}),d:e,i:t})})({d:h,i:a,projectedNodes:r,nodeIDAccessor:i,nodeSizeAccessor:l}):"enclose-hull"===h.type?(({d:e,i:t,projectedNodes:n,nodeIDAccessor:a,nodeSizeAccessor:o})=>{const r=n.filter(t=>-1!==e.ids.indexOf(a(t)));if(0===r.length)return null;const s=[];return r.forEach(e=>{if(e.shapeNode)s.push({x:e.x0,y:e.y0}),s.push({x:e.x0,y:e.y1}),s.push({x:e.x1,y:e.y0}),s.push({x:e.x1,y:e.y1});else{const t=o(e);s.push({x:e.x-t,y:e.y-t}),s.push({x:e.x+t,y:e.y-t}),s.push({x:e.x-t,y:e.y+t}),s.push({x:e.x+t,y:e.y+t})}}),(({points:e,d:t,i:n})=>{const{color:a="currentColor",dx:o=-25,dy:r=-25,label:s,padding:i=10,buffer:l=i,strokeWidth:c=10}=t,d=p.polygonHull(e),u=(new O.default).data([...d,d[0]]).margin(l)[0],y=`M${u.map(e=>e.join(",")).join("L")}Z`,m=u[0],{nx:h=m[0]+o,ny:g=m[1]+r}=t,f=u.reduce((e,t)=>(Math.hypot(h-e[0],g-e[1])>Math.hypot(h-t[0],g-t[1])&&(e=t),e),m),x=Object.assign({dx:o,dy:r,note:{label:s},connector:{end:"arrow"}},t,{type:"callout-custom",x:f[0],y:f[1],subject:{custom:[$.createElement("path",{key:"hull-drawing",d:y,strokeWidth:c,strokeMiterlimit:"10",strokeLinejoin:"miter",strokeLinecap:"butt",fill:"none",stroke:a,transform:`translate(${-f[0]},${-f[1]})`})],customID:"hull-annotation"}});return $.createElement(L,{key:t.key||"annotation-"+n,noteData:x})})({points:s.map(e=>[e.x,e.y]),d:e,i:t})})({d:h,i:a,projectedNodes:r,nodeIDAccessor:i,nodeSizeAccessor:l}):"highlight"===h.type?(({d:e,i:t,networkFrameRender:n})=>{const{nodes:a}=n,{customMark:o,styleFn:r}=a;let s=r;return e.style&&"function"==typeof e.style?s=e=>Object.assign(Object.assign({},r(e)),e.style(e)):e.style&&(s=e=>Object.assign(Object.assign({},r(e)),e.style)),o({d:e,styleFn:s,transform:`translate(${e.x},${e.y})`,key:"highlight-"+t})})({d:h,i:a,networkFrameRender:c}):null}(i.current,l.current,e),[]),d=e.useCallback(e=>function(e,t,{d:n,i:a,annotationLayer:o}){const{tooltipContent:r,optimizeCustomTooltipPosition:s,htmlAnnotationRules:i}=e,{projectedNodes:l,projectedEdges:c,nodeIDAccessor:d,adjustedSize:u,adjustedPosition:p}=t,{voronoiHover:y}=o,m=n.ids?n:Object.assign(Object.assign({},n.edge?c.find(e=>d(e.source)===d(n.source)&&d(e.target)===d(n.target))||{}:l.find(e=>d(e)===n.id)||{}),n);if(i){const n=i({d:m,i:a,networkFrameProps:e,networkFrameState:t,nodes:l,edges:c,voronoiHover:y,screenCoordinates:[m.x,m.y],adjustedPosition:p,adjustedSize:u,annotationLayer:o});if(null!==n)return n}return"frame-hover"===m.type?(({d:e,i:t,tooltipContent:n,optimizeCustomTooltipPosition:a,nodes:o,edges:r,nodeIDAccessor:s,adjustedSize:i})=>{const l=void 0!==e.x&&void 0!==e.y?e:e.edge?Object.assign(Object.assign({},r.find(t=>s(t.source)===s(e.source)&&s(t.target)===s(e.target))||{}),e):o.find(t=>s(t)===e.id);if(!l)return null;let c=l.edge?$.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},$.createElement("p",{key:"html-annotation-content-1"},(l.source||l.edge.source).id," to ",(l.target||l.edge.target).id)):$.createElement("div",{className:"tooltip-content","data-testid":"tooltip-content"},$.createElement("p",{key:"html-annotation-content-1"},l.id),$.createElement("p",{key:"html-annotation-content-2"},"Degree: ",l.degree));"frame-hover"===l.type&&n&&(c=a?$.createElement(yt,{tooltipContent:n,tooltipContentArgs:l}):n(l));const d={position:"absolute",top:l.y+"px"};return i&&l.x>i[0]/2?d.right=i[0]-l.x+"px":d.left=l.x+"px",$.createElement("div",{key:"network-annotation-label-"+t,className:"annotation annotation-network-label "+(l.className||""),"data-testid":"network-tooltip-container",style:d},c)})({d:m,i:a,tooltipContent:r,optimizeCustomTooltipPosition:s,nodes:l,edges:c,nodeIDAccessor:d,adjustedSize:u}):null}(i.current,l.current,e),[]),{annotations:y=[],annotationSettings:m,className:h,customClickBehavior:g,customDoubleClickBehavior:f,customHoverBehavior:x,size:b,matte:v,hoverAnnotation:k,beforeElements:E,afterElements:j,interaction:M,disableContext:w,canvasPostProcess:S,canvasNodes:A,canvasEdges:N,additionalDefs:D,renderOrder:z=(s.graphSettings&&"matrix"===s.graphSettings.type?Zt:Qt),sketchyRenderingEngine:C,frameRenderOrder:F,disableCanvasInteraction:R,interactionSettings:T,disableProgressiveRendering:I,transition:B}=n,{backgroundGraphics:W,foregroundGraphics:V,projectedXYPoints:_,margin:H,legendSettings:q,adjustedPosition:G,adjustedSize:Y,networkFrameRender:X,nodeLabelAnnotations:K,overlay:Z,title:Q}=s,U=e.useMemo(()=>Z&&Z.length>0?Z:void 0,[Z]),J=e.useMemo(()=>Array.isArray(k)?k:!(g||f||x)||void 0!==k&&!1!==k?!!k:Kt,[k,g,f,x]),ee=e.useMemo(()=>[...y,...K],[y,K]),te=e.useMemo(()=>!(!A&&!N),[A,N]);return $.createElement(Qe,{name:"networkframe",renderPipeline:X,adjustedPosition:G,adjustedSize:Y,size:b,xScale:Jt,yScale:en,title:Q,matte:v,className:h,additionalDefs:D,frameKey:"none",projectedCoordinateNames:Ut,defaultSVGRule:c,defaultHTMLRule:d,hoverAnnotation:J,annotations:ee,annotationSettings:m,legendSettings:q,interaction:M,customClickBehavior:g,customHoverBehavior:x,customDoubleClickBehavior:f,points:_,margin:H,overlay:U,backgroundGraphics:W,foregroundGraphics:V,beforeElements:E,afterElements:j,disableContext:w,canvasPostProcess:S,canvasRendering:te,renderOrder:z,disableCanvasInteraction:R,sketchyRenderingEngine:C,frameRenderOrder:F,interactionSettings:T,disableProgressiveRendering:I,transition:B})}const an=new Set(["label","callout","callout-circle","callout-rect","callout-custom","xy-threshold","bracket"]);nn.displayName="NetworkFrame";const on=$.memo(nn),rn=(t=>{function n(n){const{responsiveWidth:a,responsiveHeight:o,size:r=[500,500],dataVersion:s,debounce:i=200,gridDisplay:l}=n,c=Q(n,["responsiveWidth","responsiveHeight","size","dataVersion","debounce","gridDisplay"]),d=[...r];let u=!1,p=e.useRef(),y=function(t){const[n,a]=e.useState(null);return e.useLayoutEffect(()=>{const e=t.current;if(null!=e){a(e.getBoundingClientRect());const t=new ResizeObserver(e=>{e.length>0&&a(e[0].contentRect)});return t.observe(e),()=>t.disconnect()}},[]),n}(p);return a&&(null==y?u=!0:d[0]=y.width),o&&(null==y?u=!0:d[1]=y.height),$.createElement("div",{"data-testid":"responsive-container",className:"responsive-container",style:l?{minWidth:"0px",minHeight:"0px"}:{height:"100%",width:"100%"},ref:p},!u&&$.createElement(t,Object.assign({},c,{size:d,dataVersion:s?s+""+d+i:void 0})))}return n.isResizing=setTimeout(()=>{}),n.displayName="Responsive"+t.displayName,n})(on),sn={margin:0};function ln(e="force"){let t={};return e?(t=e,"force"===e&&(t={type:"force"}),Object.assign({edgeStrength:2,edgeDistance:5,nodePadding:1,nodeWidth:5,groupWidth:4},t)):e}function cn(t,n,a){return a=>{const{size:o=[],sparkStyle:r={}}=a,[s,i]=e.useState(30),l=[];l[0]="number"==typeof o?o:o[0]?o[0]:s,l[1]=s;const c=e.useCallback(e=>{if(e){const t=+window.getComputedStyle(e).lineHeight.split("px")[0]-5;i(isNaN(t)?e.offsetHeight:t)}},[]);return $.createElement("div",{style:Object.assign({width:l[0]+"px",height:l[1]+"px",display:"inline-block",marginLeft:"5px",marginRight:"5px"},r),ref:c},$.createElement(t,Object.assign({},n(a),{size:l})))}}const dn=cn(on,e=>Object.assign(Object.assign(Object.assign(Object.assign({},sn),{nodeSizeAccessor:2}),e),{networkType:ln(e.networkType)}));exports.Annotation=L,exports.AnnotationLayer=Y,exports.Axis=function(t){const{rotate:n,label:a,dynamicLabelPosition:o,orient:r="left",marginalSummaryType:s,tickFormat:i=(s?()=>"":e=>e),size:l,width:c=l&&l[0]||0,height:d=l&&l[1]||0,className:u,padding:p,tickValues:y,scale:m,ticks:h,footer:g,tickSize:f,tickLineGenerator:x,baseline:b=!0,margin:v={top:0,bottom:0,left:0,right:0},center:k=!1,annotationFunction:E,glyphFunction:j,xyPoints:M}=t,[w,O]=e.useState(0),[P,S]=e.useState(void 0),A=e.useRef(null);e.useEffect(()=>{if(!(null==a?void 0:a.position)&&o){const e=((e,t)=>{const n=e.current;if(!n)return 30;const a="left"===t||"right"===t?"width":"height";return Math.max(...[...n.querySelectorAll(".axis-label")].map(e=>e.getBBox&&e.getBBox()||{height:30,width:30}).map(e=>e[a]))+25})(A,r);e!==P&&S(e)}},[a,o]);let N,{axisParts:D,position:z=[0,0]}=t;if(D||(D=function({renderMode:e=()=>{},padding:t=5,scale:n,ticks:a,tickValues:o=xe(void 0,a,n),orient:r="left",size:s,footer:i=!1,tickSize:l=(i?-10:["top","bottom"].find(e=>e===r)?s?s[1]:0:s?s[0]:0),jaggedBase:c}){let d,u,p,y,m,h,g=[],f=0,x=0,b="middle";switch(r){case"top":d="x1",u="x2",p="y1",y="y2",g=[0,l],m="tx",h="ty",f-=20-t;break;case"bottom":d="x1",u="x2",p="y2",y="y1",g=s?[s[1],s[1]-l]:[0,-l],m="tx",h="ty",f+=20+t;break;case"right":d="y2",u="y1",p="x2",y="x1",g=s?[s[0],s[0]-l]:[0,-l],m="ty",h="tx",f+=5+t,x+=5,b="start";break;default:d="y1",u="y2",p="x1",y="x2",g=[0,l],m="ty",h="tx",f-=5+t,x+=5,b="end"}let v=o instanceof Function?o({orient:r}):o;return c&&void 0===v.find(e=>e===n.domain()[0])&&(v=[n.domain()[0],...v]),v.map((t,a)=>{const o=n(t);return{[d]:o,[u]:o,[p]:g[0],[y]:g[1],[m]:o+x,[h]:g[0]+f,defaultAnchor:b,renderMode:e(t,a),value:t}})}({padding:p,tickValues:y,scale:m,ticks:h,orient:r,size:[c,d],footer:g,tickSize:f}),N=$.createElement("g",{className:"axis "+u},(({axisParts:e,orient:t,tickLineGenerator:n=fe,className:a,jaggedBase:o,scale:r,showOutboundTickLines:s=!1})=>{const i=e.map((e,s)=>n({xy:e,orient:t,i:s,className:a,jaggedBase:o,scale:r})),l=s?e.map((e,n)=>(({xy:e,orient:t,i:n,className:a=""})=>{let o=`M-4,${e.y1}L${e.x1},${e.y2}`;return"left"===t?o=`M${e.x1-8},${e.y1}L${e.x1},${e.y2}`:"right"===t?o=`M${e.x2},${e.y1}L${e.x2+8},${e.y2}`:"top"===t?o=`M${e.x1},${e.y1-8}L${e.x1},${e.y1}`:"bottom"===t&&(o=`M${e.x1},${e.y2}L${e.x1},${e.y2+8}`),$.createElement("path",{key:n,fill:"none",stroke:"currentColor",strokeWidth:"1px",d:o,className:`outbound-tick-line tick ${t} ${a}`})})({xy:e,orient:t,i:n,className:a})):[];return[...i,l]})({axisParts:D,orient:r,tickLineGenerator:x,className:u,scale:m}))),0===D.length)return null;let C,F,R,L,T=50,I=d,B=-50,W=0,V=0,_=0,H=0,q=d,G=25,Y=-25,X=18,K=c+25,Z=0,U=w,J=0,ee="y";switch(r){case"right":z=[z[0],z[1]],B=c,H=V=c,J=v.top,K=-c-25,Y=5,C=e=>{O(e.nativeEvent.offsetY-J)},!0===k&&(H=V=c/2);break;case"top":z=[z[0],0],T=c,I=50,W=-50,B=0,J=v.left,ee="x",H=c,q=0,!0===k&&(q=_=d/2),C=e=>{O(e.nativeEvent.offsetX-J)},G=w,U=25,Y=0,X=-10,K=0,Z=d+25;break;case"bottom":z=[z[0],0],T=c,I=50,_=q=W=d,V=B=0,H=c,J=v.left,C=e=>{O(e.nativeEvent.offsetX-J)},G=w,U=25,Y=0,X=15,K=0,Z=-d-25,ee="x",!0===k&&(q=_=d/2);break;default:z=[z[0],z[1]],J=v.top,!0===k&&(H=V=c/2),C=e=>{O(e.nativeEvent.offsetY-J)}}if(E){const e=function(e,t){return t.tickFormat?t.tickFormat(e):e.toString?""+e:e}(m.invert(w),t),n=j?j({lineHeight:Z,lineWidth:K,value:m.invert(w)}):$.createElement("g",null,$.isValidElement(e)?$.createElement("g",{transform:`translate(${Y},${X})`},e):$.createElement("text",{x:Y,y:X},e),$.createElement("circle",{r:5}),$.createElement("line",{x1:K,y1:Z,style:{stroke:"black"}})),a=w?$.createElement("g",{style:{pointerEvents:"none"},transform:`translate(${G},${U})`},n):null;F=$.createElement("g",{className:"annotation-brush",transform:`translate(${B},${W})`},$.createElement("rect",{style:{fillOpacity:0},height:I,width:T,onMouseMove:C,onClick:e=>E({className:"dynamic-axis-annotation",type:ee,value:m.invert(w),e:e}),onMouseOut:()=>{O(void 0)}}),a)}if(s&&M){const e=Math.max(v[r]-6,5),t="string"==typeof s?{type:s}:s;void 0!==t.flip||"bottom"!==r&&"right"!==r||(t.flip=!0);const n=t.summaryStyle?()=>t.summaryStyle:()=>({fill:"black",fillOpacity:.5,stroke:"black",strokeDasharray:"0"}),a=t.renderMode?()=>t.renderMode:()=>{},o=t.summaryClass?()=>t.summaryClass:()=>"",i=t.filter||(()=>!0),c=M.filter(e=>void 0!==e.x&&void 0!==e.y&&i(e.data)).map(e=>Object.assign(Object.assign({},e),{xy:{x:"top"===r||"bottom"===r?m(e.x):0,y:"left"===r||"right"===r?m(e.y):0},piece:{scaledVerticalValue:m(e.y),scaledValue:m(e.x)},value:m("top"===r||"bottom"===r?e.y:e.x),scaledValue:m(e.x),scaledVerticalValue:m(e.y)})),d=function(e){const t=[];for(const n of e){const e=[],{elements:a,containerProps:o}=n;if(n.Mark)t.push(n.Mark);else{for(let t=0;a.length>t;t++){const n=a[t],{markType:o,style:r={}}=n,s=Q(n,["markType","style"]),i=Object.assign({},s);void 0!==r.fill&&(i.fill=r.fill),void 0!==r.stroke&&(i.stroke=r.stroke),void 0!==r.strokeWidth&&(i.strokeWidth=r.strokeWidth),void 0!==r.opacity&&(i.opacity=r.opacity),void 0!==r.fillOpacity&&(i.fillOpacity=r.fillOpacity),void 0!==r.strokeOpacity&&(i.strokeOpacity=r.strokeOpacity);const l=Object.assign({},r);delete l.fill,delete l.stroke,delete l.strokeWidth,delete l.opacity,delete l.fillOpacity,delete l.strokeOpacity,Object.keys(l).length>0&&(i.style=l),i.key=n.key||t,o&&e.push($.createElement(o,i))}o?t.push($.createElement("g",Object.assign({},o),e)):t.push(...e)}}return t}((({data:e,type:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,adjustedSize:i,margin:l,axisCreator:c})=>{if(t&&t.type)return function({data:e,type:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,adjustedSize:i,chartSize:l,margin:c,axisCreator:d}){let u;if("function"==typeof t.type)u=t.type;else{if(!Le[t.type])return console.error(`Invalid summary type: ${t.type} - Must be a function or one of the following strings: ${Object.keys(Le).join(", ")}`),{};u=Le[t.type]}return u({data:e,type:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,adjustedSize:i,chartSize:l,margin:c,axisCreator:d})}({data:e,type:t="string"==typeof t?{type:t}:t,renderMode:n,eventListenersGenerator:a,styleFn:o,classFn:r,projection:s,adjustedSize:i,chartSize:"vertical"===s?i[1]:i[0],margin:l,axisCreator:c})})({data:{column:{middle:e/2,pieceData:c,width:e,xyData:c}},type:t,renderMode:a,eventListenersGenerator:t.eventListenersGenerator||(()=>({})),styleFn:n,classFn:o,projection:"top"===r||"bottom"===r?"horizontal":"vertical",adjustedSize:l,margin:{top:0,bottom:0,left:0,right:0}}).marks);let u;if(!0===t.showPoints){const n=((e,t,n)=>{const a="left"===e||"right"===e?t/2:0,o="bottom"===e||"top"===e?t/2:0;return n.map(e=>[e.xy.x+a,e.xy.y+o])})(r,e,c);u=n.map((e,n)=>$.createElement("circle",{key:"axis-summary-point-"+n,cx:e[0],cy:e[1],r:t.r||3,style:t.pointStyle||{fill:"black",fillOpacity:.1}}))}R=$.createElement(ke,{translation:{left:[2-v.left,0],right:[l[0]+2,0],top:[0,2-v.top],bottom:[0,l[1]+2]},orient:r,decoratedSummaryType:t,summaryWidth:e,renderedSummary:d,points:u})}const te=(({axisParts:e,tickFormat:t,rotate:n=0,center:a=!1,orient:o})=>e.map((e,r)=>{let s=t(e.value,r);("object"!=typeof s||s instanceof Date)&&(s=$.createElement("text",{textAnchor:e.defaultAnchor,className:"axis-label"},s.toString?""+s:s));let i=e.tx,l=e.ty;if(a)switch(o){case"right":i-=(e.x2-e.x1)/2;break;case"left":i+=(e.x2-e.x1)/2;break;case"top":l+=(e.y2-e.y1)/2;break;case"bottom":l-=(e.y2-e.y1)/2}return $.createElement("g",{key:r,pointerEvents:"none",transform:`translate(${i},${l}) rotate(${n})`,className:"axis-label"},s)}))({tickFormat:i,axisParts:D,orient:r,rotate:n,center:k});if(a){const e=a.name||a,t=a.position||{};let n=t.anchor||"middle";const o=a.locationDistance||P,s=t.rotation||{left:-90,right:90,top:0,bottom:0}[r],i={left:{start:[0,l[1]],middle:[0,l[1]/2],end:[0,0],inside:[o||15,0],outside:[-(o||45),0]},right:{start:[l[0]+0,l[1]],middle:[l[0]+0,l[1]/2],end:[l[0]+0,0],inside:[-(o||15),0],outside:[o||45,0]},top:{start:[0,0],middle:[0+l[0]/2,0],end:[0+l[0],0],inside:[0,o||15],outside:[0,-(o||40)]},bottom:{start:[0,l[1]],middle:[0+l[0]/2,l[1]],end:[0+l[0],l[1]],inside:[0,-(o||5)],outside:[0,o||50]}},c=i[r][n],d=i[r][t.location||"outside"];c[0]=c[0]+d[0],c[1]=c[1]+d[1],"start"===n&&"right"===r?n="end":"end"===n&&"right"===r&&(n="start"),L=$.createElement(Ee,{className:u,translation:c,position:z,rotation:s,labelName:e,anchorMod:n})}const ne=`${r} axis ${D&&D.length>0&&`from ${i(D[0].value,0)} to ${i(D[D.length-1].value,D.length-1)}`||"without ticks"}`;return $.createElement("g",{className:u,"aria-label":ne,ref:A},F,te,N,!0===b?$.createElement("line",{key:"baseline",className:"axis-baseline "+u,stroke:"black",strokeLinecap:"square",x1:V,x2:H,y1:_,y2:q}):null,L,R)},exports.Legend=z,exports.NetworkFrame=on,exports.ResponsiveNetworkFrame=rn,exports.SparkNetworkFrame=dn,exports.calculateDataExtent=({lineDataAccessor:e,xAccessor:t,yAccessor:n,summaries:a,points:o,lines:r,lineType:i,showLinePoints:c,showSummaryPoints:u,xExtent:p,yExtent:y,invertX:m,invertY:h,summaryDataAccessor:g,summaryType:f,adjustedSize:x,margin:b,summaryStyleFn:v,summaryClassFn:k,summaryRenderModeFn:E,chartSize:j,filterRenderedLines:M,filterRenderedSummaries:O,filterRenderedPoints:P,defined:S=ot,annotations:A=[]})=>{let N=[],D=[],z=[],C=[],F=[];if(o){t.forEach((e,t)=>{n.forEach((n,a)=>{let r=0;for(const s of o){const o=e(s,r),i=n(s,r),l={x:o,y:i,data:s,xIndex:t,yIndex:a};Array.isArray(i)&&(l[ne]=Math.min(...i),l[te]=Math.max(...i),l[ee]=(l[ne]+l[te])/2),Array.isArray(o)&&(l[re]=Math.min(...o),l[oe]=Math.max(...o),l[ae]=(l[re]+l[oe])/2),z.push(l),r++}})});for(const e of z)N.push(Object.assign(Object.assign({},e),{[U]:e[oe]||e[re]||e.x,[J]:e[te]||e[ne]||e.y}))}if(r){D=(({data:e,lineDataAccessor:t,xProp:n,xPropTop:a,xPropBottom:o,yProp:r,yPropTop:s,yPropBottom:i,xAccessor:l,yAccessor:c})=>{Array.isArray(e)||(e=[e]);const d=[];return t.forEach((t,u)=>{l.forEach((l,p)=>{c.forEach((c,y)=>{e.forEach(e=>{const m=Object.assign(Object.assign({},e),{xIndex:p,yIndex:y,lineIndex:u});m.data=t(e).map((e,t)=>{const d={data:e};return d[n]=l(e,t),d[a]=d[n],d[o]=d[n],d[r]=c(e,t),d[s]=d[r],d[i]=d[r],d}),m.key=m.key||d.length,d.push(m)})})})}),d})({data:r,lineDataAccessor:e,xProp:U,xPropTop:oe,xPropBottom:re,yProp:J,yPropTop:te,yPropBottom:ne,xAccessor:t,yAccessor:n}),C=function(e,t){return n=>it[((e,t)=>!it[e]||"difference"===e&&2!==t.length?"line":e)(e.type,n)](Object.assign(Object.assign(Object.assign({},e),t),{data:n}))}(i,{xProp:U,yProp:J,yPropMiddle:ee,yPropTop:te,yPropBottom:ne,xPropMiddle:ae,xPropTop:oe,xPropBottom:re})(D);for(const e of C)for(let t=0;e.data.length>t;t++){const n=e.data[t];if(!S(Object.assign({},n.data,n),t))continue;const a={parentLine:e,y:n.y,x:n.x,xTop:n.xTop,xMiddle:n.xMiddle,xBottom:n.xBottom,yTop:n.yTop,yMiddle:n.yMiddle,yBottom:n.yBottom,data:n.data};n.percent&&(a.percent=n.percent),N.push(a)}if(c){const e=!0===c?ae:st[c],t=!0===c?ee:rt[c];C.forEach(n=>{n.data.filter((e,t)=>{if(S(Object.assign({},e.data,e))){if("orphan"===c){const e=n.data[t-1],a=n.data[t+1];return!(e&&S(Object.assign({},e.data,e))||a&&S(Object.assign({},a.data,a)))}return!0}return!1}).forEach(a=>{z.push(Object.assign(Object.assign({},a),{parentLine:n,[J]:void 0!==a[t]?a[t]:void 0!==a[ee]?a[ee]:void 0!==a[ne]?a[ne]:a.y,[U]:void 0!==a[e]?a[e]:void 0!==a[ae]?a[ae]:void 0!==a[re]?a[re]:a.y}))})})}}a&&(F=(({data:e,summaryDataAccessor:t,xAccessor:n,yAccessor:a})=>{const o=[];return t.forEach(t=>{n.forEach(n=>{a.forEach(a=>{const r=e=>t(e).map((e,t)=>[n(e,t),a(e,t)]);e.forEach(e=>{o.push(Object.assign(Object.assign({},e),{_baseData:t(e),_xyfCoordinates:r(e)}))})})})}),o})({data:a,summaryDataAccessor:g,xAccessor:t,yAccessor:n}),F.forEach(e=>{const t=e._baseData;e._xyfCoordinates.length>0&&e._xyfCoordinates[0][0][0]?e._xyfCoordinates[0].forEach(n=>{Array.isArray(n)&&n.map((n,a)=>Object.assign({parentSummary:e},t[a],{[U]:n[0],[J]:n[1]})).forEach(e=>{u&&z.push(Object.assign(Object.assign({x:0},e),{[J]:e[te]||e[ne]||e[J]})),N.push(Object.assign({x:0,y:0},e))})}):e._xyfCoordinates.length>0&&Array.isArray(e._xyfCoordinates)&&e._xyfCoordinates.map((n,a)=>Object.assign(Object.assign({parentSummary:e},t[a]),{[U]:n[0],[J]:n[1]})).forEach(e=>{u&&z.push(Object.assign(Object.assign({x:0},e),{[J]:e[te]||e[ne]||e[J]})),N.push(Object.assign({x:0,y:0},e))})}));let R,L,T,I,B=[],W=[];p&&!Array.isArray(p)&&!0===p.includeAnnotations&&t.forEach(e=>{A.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&B.push({[U]:a})})}),y&&!Array.isArray(y)&&!0===y.includeAnnotations&&n.forEach(e=>{A.forEach((t,n)=>{const a=e(t,n);isFinite(a)&&W.push({[J]:a})})});for(const e of N){const t=void 0===e[re]?e[U]:Math.min(e[oe],e[re]),n=void 0===e[oe]?e[U]:Math.max(e[re],e[oe]),a=void 0===e[ne]?e[J]:Math.min(e[te],e[ne]),o=void 0===e[te]?e[J]:Math.max(e[ne],e[te]);void 0===t||void 0!==R&&t>=R||(R=t),void 0===n||void 0!==L&&L>=n||(L=n),void 0===a||void 0!==T&&a>=T||(T=a),void 0===o||void 0!==I&&I>=o||(I=o)}for(const e of B){const t=e[U];void 0===t||void 0!==R&&t>=R||(R=t),void 0===t||void 0!==L&&L>=t||(L=t)}for(const e of W){const t=e[J];void 0===t||void 0!==T&&t>=T||(T=t),void 0===t||void 0!==I&&I>=t||(I=t)}const V=[R,L],_=[T,I],H=at(p),q=at(y);let G=[q&&void 0!==q[0]?q[0]:_[0],q&&void 0!==q[1]?q[1]:_[1]],Y=[H&&void 0!==H[0]?H[0]:V[0],H&&void 0!==H[1]?H[1]:V[1]];return!m||H&&2===H.length||(Y=[Y[1],Y[0]]),"bumpline"!==i.type&&!h||q&&2===q.length||(G=[G[1],G[0]]),f.type&&"contour"===f.type?F=Pe({summaryType:f,data:F,finalXExtent:Y,finalYExtent:G}):f.type&&"linebounds"===f.type?F=function({summaryType:e,data:t,defined:n}){let a=[];e.type||(e={type:e});const{boundingAccessor:o,topBoundingAccessor:r=o,bottomBoundingAccessor:s=o}=e;return t.forEach(e=>{const t=e._baseData.map(n);let o=[],i=[];const l=[{xyf:i,base:o}];t.forEach((n,a)=>{!0===n?(o.push(e._baseData[a]),i.push(e._xyfCoordinates[a])):t[a+1]&&(o=[],i=[],l.push({xyf:i,base:o}))}),l.forEach(({xyf:t,base:n})=>{const o={data:e,parentSummary:e,_xyfCoordinates:Se(t,n,r,s)};a=[...a,o]})}),a}({summaryType:f,data:F,defined:S}):f.type&&"hexbin"===f.type?(F=function({preprocess:e=!0,processedData:t=!1,summaryType:n,data:a,finalXExtent:o,finalYExtent:r,size:i,xScaleType:l=s.scaleLinear(),yScaleType:c=s.scaleLinear(),margin:u,styleFn:p,classFn:y,renderFn:m,chartSize:h}){let g=o,f=r;if(!g){const e=a.coordinates.map(e=>e.x);g=[Math.min(...e),Math.max(...e)]}if(!f){const e=a.coordinates.map(e=>e.y);f=[Math.min(...e),Math.max(...e)]}if(t&&a)return a.coordinates;let x,b=[];x=n.type?n:{type:x};const{bins:v=.05,cellPx:k,binValue:E=e=>e.length,binMax:j,customMark:M}=x;a.coordinates&&!a._xyfCoordinates&&(a._xyfCoordinates=a.coordinates.map(e=>[e.x,e.y]));const w=Array.isArray(a)?a:[a],O=l.domain(g).range([0,i[0]]),P=c.domain(f).range([0,i[1]]),S=k&&k/2||(v>1?1/v:v)*i[0]/2,A=d.hexbin().x(e=>O(e._xyfPoint[0])).y(e=>P(e._xyfPoint[1])).radius(S).size(i);let N;const D=A.centers();return w.forEach(e=>{N=0;const t=A(e._xyfCoordinates.map((t,n)=>Object.assign({_xyfPoint:t},e.coordinates[n]))),n={};t.forEach(e=>{n[`${parseInt(e.x)}-${parseInt(e.y)}`]=!0}),D.forEach(e=>{if(!n[`${parseInt(e[0])}-${parseInt(e[1])}`]){const n=[];n.x=e[0],n.y=e[1],t.push(n)}}),N=Math.max(...t.map(e=>E(e))),j&&j(N);const a=[[0,-1],[.866,-.5],[.866,.5],[0,1],[-.866,.5],[-.866,-.5]],o=O.invert(S)-g[0],r=P.invert(S)-f[0],s=a.map(e=>[e[0]*o,e[1]*r]),l=t.map(t=>{const n=E(t),o=t.x,r=t.y;t.x=O.invert(t.x),t.y=P.invert(t.y);const l=n/N;return{customMark:M&&$.createElement("g",{transform:`translate(${o},${i[1]-r})`},M({d:Object.assign(Object.assign({},t),{binItems:t,percent:l,value:n,radius:S,hexCoordinates:a.map(e=>[e[0]*S,e[1]*S])}),margin:u,styleFn:p,classFn:y,renderFn:m,chartSize:h,adjustedSize:i})),_xyfCoordinates:s.map(e=>[e[0]+t.x,e[1]+t.y]),value:n,percent:l,data:t,parentSummary:e,centroid:!0}});b=[...b,...l]}),e?(b.forEach(e=>{e.x=e.data.x,e.y=e.data.y}),{type:"hexbin",processedData:!0,coordinates:b,binMax:N}):b}({summaryType:f,data:F[0],processedData:a&&!!a[0].processedData,preprocess:!1,finalXExtent:Y,finalYExtent:G,size:x,margin:b,styleFn:v,classFn:k,renderFn:E,chartSize:j}),N=ct(N,F)):f.type&&"heatmap"===f.type?(F=function({preprocess:e=!0,processedData:t=!1,summaryType:n,data:a,finalXExtent:o=[Math.min(...a.coordinates.map(e=>e.x)),Math.max(...a.coordinates.map(e=>e.x))],finalYExtent:r=[Math.min(...a.coordinates.map(e=>e.y)),Math.max(...a.coordinates.map(e=>e.y))],size:i,xScaleType:l=s.scaleLinear(),yScaleType:c=s.scaleLinear(),margin:d,styleFn:u,classFn:p,renderFn:y,chartSize:m}){if(t&&a)return a.coordinates;a.coordinates&&!a._xyfCoordinates&&(a._xyfCoordinates=a.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(a)?a:[a];let g,f=[];g=n.type?n:{type:g};const{binValue:x=e=>e.length,xBins:b=g.yBins||.05,yBins:v=b,xCellPx:k=!g.xBins&&g.xCellPx,yCellPx:E=!g.yBins&&g.yCellPx,customMark:j,binMax:M}=g,w=1>b?b:1/b,O=1>v?v:1/v,P=l.domain(o).range([0,i[0]]),S=c.domain(r).range([i[1],0]),A=[Math.ceil((k&&k/i[0]||w)*i[0]*10)/10,Math.ceil((E&&E/i[1]||O)*i[1]*10)/10];let N=-1/0;return h.forEach(e=>{const t=[],n=[];let a,o;for(let r=0;i[0]>Math.ceil(r);r+=A[0]){const s=P.invert(r),l=P.invert(r+A[0]);o=[],t.push(o);for(let t=0;i[1]>Math.ceil(t);t+=A[1]){const i=S.invert(t),c=S.invert(t+A[1]);a={gx:r,gy:t,gw:A[0],gh:A[1],x:(s+l)/2,y:(i+c)/2,binItems:[],value:0,_xyfCoordinates:[[s,i],[l,i],[l,c],[s,c]],parentSummary:e},o.push(a),n.push(a)}o.push(a)}t.push(o),e._xyfCoordinates.forEach((n,a)=>{const o=P(n[0]),r=S(n[1]),s=Math.floor(o/A[0]),i=Math.floor(r/A[1]);t[s][i]&&t[s][i].binItems.push(e.coordinates[a])}),n.forEach(e=>{e.value=x(e.binItems),N=Math.max(N,e.value)}),n.forEach(e=>{e.percent=e.value/N,e.customMark=j&&$.createElement("g",{transform:`translate(${e.gx},${e.gy})`},j({d:e,margin:d,styleFn:u,classFn:p,renderFn:y,chartSize:m,adjustedSize:i}))}),f=[...f,...n]}),M&&M(N),e?{type:"heatmap",processedData:!0,_baseData:[],_xyfCoordinates:[],data:[],bounds:[],x:0,y:0,coordinates:f,binMax:N}:f}({summaryType:f,data:F[0],processedData:a&&!!a[0].processedData,preprocess:!1,finalXExtent:Y,finalYExtent:G,size:x,margin:b,styleFn:v,classFn:k,renderFn:E,chartSize:j}),N=ct(N,F)):f.type&&"trendline"===f.type&&(F=function({preprocess:e=!1,summaryType:t,data:n,finalXExtent:a=[Math.min(...n.coordinates.map(e=>e.x)),Math.max(...n.coordinates.map(e=>e.x))],xScaleType:o=s.scaleLinear()}){if(e)return n[0].coordinates;let r,i=[];r=t.type?t:{type:r};const{regressionType:c="linear",order:d=2,precision:u=4,controlPoints:p=20,curve:y=l.curveCardinal}=r;let m=c;a[0]>=0||"logarithmic"!==c&&"power"!==c&&"exponential"!==c||(console.error(`Cannot use this ${c} regressionType type with value range that goes below 0, defaulting to linear`),m="linear"),n.coordinates&&!n._xyfCoordinates&&(n._xyfCoordinates=n.coordinates.map(e=>[e.x,e.y]));const h=Array.isArray(n)?n:[n],g=o.domain([0,1]).range(a);return i=[],h.forEach(e=>{const t=w.default[m](e._xyfCoordinates.map(e=>{let t=e[0],n=e[1];return"number"!=typeof t&&(t=t.getTime()),"number"!=typeof n&&(n=n.getTime()),[t,n]}),{order:d,precision:u}),n=1/p;let a=[0,1];if("linear"!==m){a=[];for(let e=0;1+n>e;e+=n)a.push(e)}const o=[];a.forEach(e=>{o.push(t.predict(g(e)))}),i.push({centroid:!1,customMark:void 0,data:e,parentSummary:e,value:t.string,r2:t.r2,curve:y,_xyfCoordinates:o})}),i}({summaryType:f,data:F[0],preprocess:a&&!!a[0].processedData,finalXExtent:Y}),N=ct(N,F)),M&&(C=C.filter(M),N=N.filter((e,t)=>!e.parentLine||M(e.parentLine,t,[]))),P&&(N=N.filter(P)),O&&(F=F.filter(O),N=N.filter((e,t)=>!e.parentSummary||O(e.parentSummary,t,[]))),{xExtent:Y,yExtent:G,projectedLines:C,projectedPoints:z,projectedSummaries:F,fullDataset:N,calculatedXExtent:V,calculatedYExtent:_}},exports.nodesEdgesFromHierarchy=qt;
|