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,103 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export declare const getColumnScreenCoordinates: ({ d, projectedColumns, oAccessor, summaryType, type, projection, adjustedPosition, adjustedSize }: {
|
|
3
|
+
d: any;
|
|
4
|
+
projectedColumns: any;
|
|
5
|
+
oAccessor: any;
|
|
6
|
+
summaryType: any;
|
|
7
|
+
type: any;
|
|
8
|
+
projection: any;
|
|
9
|
+
adjustedPosition: any;
|
|
10
|
+
adjustedSize: any;
|
|
11
|
+
}) => {
|
|
12
|
+
coordinates: any[];
|
|
13
|
+
pieces: any;
|
|
14
|
+
column: any;
|
|
15
|
+
};
|
|
16
|
+
export declare const svgHighlightRule: ({ d, pieceIDAccessor, orFrameRender, oAccessor }: {
|
|
17
|
+
d: any;
|
|
18
|
+
pieceIDAccessor: any;
|
|
19
|
+
orFrameRender: any;
|
|
20
|
+
oAccessor: any;
|
|
21
|
+
}) => any[];
|
|
22
|
+
export declare const findIDPiece: (pieceIDAccessor: any, oColumn: any, d: any) => any;
|
|
23
|
+
export declare const screenProject: ({ p, adjustedSize, rScale, oColumn, rAccessor, idPiece, projection, rScaleType }: {
|
|
24
|
+
p: any;
|
|
25
|
+
adjustedSize: any;
|
|
26
|
+
rScale: any;
|
|
27
|
+
oColumn: any;
|
|
28
|
+
rAccessor: any;
|
|
29
|
+
idPiece: any;
|
|
30
|
+
projection: any;
|
|
31
|
+
rScaleType: any;
|
|
32
|
+
}) => any[];
|
|
33
|
+
export declare const svgORRule: ({ d, i, screenCoordinates, projection }: {
|
|
34
|
+
d: any;
|
|
35
|
+
i: any;
|
|
36
|
+
screenCoordinates: any;
|
|
37
|
+
projection: any;
|
|
38
|
+
}) => React.JSX.Element;
|
|
39
|
+
export declare const basicReactAnnotationRule: ({ d, i, screenCoordinates }: {
|
|
40
|
+
d: any;
|
|
41
|
+
i: any;
|
|
42
|
+
screenCoordinates: any;
|
|
43
|
+
}) => React.JSX.Element;
|
|
44
|
+
export declare const svgEncloseRule: ({ d, i, screenCoordinates }: {
|
|
45
|
+
d: any;
|
|
46
|
+
i: any;
|
|
47
|
+
screenCoordinates: any;
|
|
48
|
+
}) => React.JSX.Element;
|
|
49
|
+
export declare const svgRRule: ({ d, i, screenCoordinates, rScale, rAccessor, adjustedSize, adjustedPosition, projection }: {
|
|
50
|
+
d: any;
|
|
51
|
+
i: any;
|
|
52
|
+
screenCoordinates: any;
|
|
53
|
+
rScale: any;
|
|
54
|
+
rAccessor: any;
|
|
55
|
+
adjustedSize: any;
|
|
56
|
+
adjustedPosition: any;
|
|
57
|
+
projection: any;
|
|
58
|
+
}) => React.JSX.Element;
|
|
59
|
+
export declare const svgCategoryRule: ({ projection, d, i, categories, adjustedSize }: {
|
|
60
|
+
projection: any;
|
|
61
|
+
d: any;
|
|
62
|
+
i: any;
|
|
63
|
+
categories: any;
|
|
64
|
+
adjustedSize: any;
|
|
65
|
+
}) => React.JSX.Element;
|
|
66
|
+
export declare const htmlFrameHoverRule: ({ d, i, rAccessor, oAccessor, projection, tooltipContent, optimizeCustomTooltipPosition, pieceIDAccessor, projectedColumns, adjustedSize, rScale, type, rScaleType }: {
|
|
67
|
+
d: any;
|
|
68
|
+
i: any;
|
|
69
|
+
rAccessor: any;
|
|
70
|
+
oAccessor: any;
|
|
71
|
+
projection: any;
|
|
72
|
+
tooltipContent: any;
|
|
73
|
+
optimizeCustomTooltipPosition: any;
|
|
74
|
+
pieceIDAccessor: any;
|
|
75
|
+
projectedColumns: any;
|
|
76
|
+
adjustedSize: any;
|
|
77
|
+
rScale: any;
|
|
78
|
+
type: any;
|
|
79
|
+
rScaleType: any;
|
|
80
|
+
}) => React.JSX.Element;
|
|
81
|
+
export declare const htmlColumnHoverRule: ({ d, i, summaryType, oAccessor, type, adjustedPosition, adjustedSize, projection, tooltipContent, optimizeCustomTooltipPosition, projectedColumns }: {
|
|
82
|
+
d: any;
|
|
83
|
+
i: any;
|
|
84
|
+
summaryType: any;
|
|
85
|
+
oAccessor: any;
|
|
86
|
+
type: any;
|
|
87
|
+
adjustedPosition: any;
|
|
88
|
+
adjustedSize: any;
|
|
89
|
+
projection: any;
|
|
90
|
+
tooltipContent: any;
|
|
91
|
+
optimizeCustomTooltipPosition: any;
|
|
92
|
+
projectedColumns: any;
|
|
93
|
+
}) => React.JSX.Element;
|
|
94
|
+
export declare const svgRectEncloseRule: ({ d, i, screenCoordinates }: {
|
|
95
|
+
d: any;
|
|
96
|
+
i: any;
|
|
97
|
+
screenCoordinates: any;
|
|
98
|
+
}) => React.JSX.Element;
|
|
99
|
+
export declare const svgOrdinalLine: ({ screenCoordinates, d, voronoiHover }: {
|
|
100
|
+
screenCoordinates: any;
|
|
101
|
+
d: any;
|
|
102
|
+
voronoiHover: any;
|
|
103
|
+
}) => React.JSX.Element;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { ScaleLinear } from "d3-scale";
|
|
3
|
+
import { ProjectedPoint, RenderPipelineType } from "../types/generalTypes";
|
|
4
|
+
export declare const pointsAlong: (along: any) => ({ d, lines, points, xScale, yScale, pointStyle }: {
|
|
5
|
+
d: any;
|
|
6
|
+
lines: any;
|
|
7
|
+
points: any;
|
|
8
|
+
xScale: any;
|
|
9
|
+
yScale: any;
|
|
10
|
+
pointStyle: any;
|
|
11
|
+
}) => React.JSX.Element[];
|
|
12
|
+
export declare const svgHorizontalPointsAnnotation: ({ d, lines, points, xScale, yScale, pointStyle }: {
|
|
13
|
+
d: any;
|
|
14
|
+
lines: any;
|
|
15
|
+
points: any;
|
|
16
|
+
xScale: any;
|
|
17
|
+
yScale: any;
|
|
18
|
+
pointStyle: any;
|
|
19
|
+
}) => React.JSX.Element[];
|
|
20
|
+
export declare const svgVerticalPointsAnnotation: ({ d, lines, points, xScale, yScale, pointStyle }: {
|
|
21
|
+
d: any;
|
|
22
|
+
lines: any;
|
|
23
|
+
points: any;
|
|
24
|
+
xScale: any;
|
|
25
|
+
yScale: any;
|
|
26
|
+
pointStyle: any;
|
|
27
|
+
}) => React.JSX.Element[];
|
|
28
|
+
export declare const svgHighlight: ({ d, i, points, lines, summaries, idAccessor, xScale, yScale, xyFrameRender, defined }: {
|
|
29
|
+
d: ProjectedPoint;
|
|
30
|
+
i?: number;
|
|
31
|
+
points: {
|
|
32
|
+
data: [];
|
|
33
|
+
};
|
|
34
|
+
lines: {
|
|
35
|
+
data: [];
|
|
36
|
+
type?: {
|
|
37
|
+
interpolator?: string | Function;
|
|
38
|
+
curve?: string | Function;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
summaries: {
|
|
42
|
+
data: [];
|
|
43
|
+
};
|
|
44
|
+
idAccessor: Function;
|
|
45
|
+
xScale: ScaleLinear<number, number>;
|
|
46
|
+
yScale: ScaleLinear<number, number>;
|
|
47
|
+
xyFrameRender: RenderPipelineType;
|
|
48
|
+
defined: Function;
|
|
49
|
+
}) => React.JSX.Element[];
|
|
50
|
+
export declare const svgXYAnnotation: ({ screenCoordinates, i, d }: {
|
|
51
|
+
screenCoordinates: any;
|
|
52
|
+
i: any;
|
|
53
|
+
d: any;
|
|
54
|
+
}) => any[];
|
|
55
|
+
export declare const basicReactAnnotation: ({ screenCoordinates, d, i }: {
|
|
56
|
+
screenCoordinates: any;
|
|
57
|
+
d: any;
|
|
58
|
+
i: any;
|
|
59
|
+
}) => React.JSX.Element;
|
|
60
|
+
export declare const svgXAnnotation: ({ screenCoordinates, d, i, adjustedSize }: {
|
|
61
|
+
screenCoordinates: any;
|
|
62
|
+
d: any;
|
|
63
|
+
i: any;
|
|
64
|
+
adjustedSize: any;
|
|
65
|
+
}) => React.JSX.Element;
|
|
66
|
+
export declare const svgYAnnotation: ({ screenCoordinates, d, i, adjustedSize, adjustedPosition }: {
|
|
67
|
+
screenCoordinates: any;
|
|
68
|
+
d: any;
|
|
69
|
+
i: any;
|
|
70
|
+
adjustedSize: any;
|
|
71
|
+
adjustedPosition: any;
|
|
72
|
+
}) => React.JSX.Element;
|
|
73
|
+
export declare const svgBoundsAnnotation: ({ d, i, adjustedSize, xAccessor, yAccessor, xScale, yScale }: {
|
|
74
|
+
d: any;
|
|
75
|
+
i: any;
|
|
76
|
+
adjustedSize: any;
|
|
77
|
+
xAccessor: any;
|
|
78
|
+
yAccessor: any;
|
|
79
|
+
xScale: any;
|
|
80
|
+
yScale: any;
|
|
81
|
+
}) => React.JSX.Element;
|
|
82
|
+
export declare const svgLineAnnotation: ({ d, i, screenCoordinates }: {
|
|
83
|
+
d: any;
|
|
84
|
+
i: any;
|
|
85
|
+
screenCoordinates: any;
|
|
86
|
+
}) => React.JSX.Element[];
|
|
87
|
+
export declare const svgAreaAnnotation: ({ d, i, xScale, xAccessor, yScale, yAccessor, annotationLayer }: {
|
|
88
|
+
d: any;
|
|
89
|
+
i: any;
|
|
90
|
+
xScale: any;
|
|
91
|
+
xAccessor: any;
|
|
92
|
+
yScale: any;
|
|
93
|
+
yAccessor: any;
|
|
94
|
+
annotationLayer: any;
|
|
95
|
+
}) => React.JSX.Element[];
|
|
96
|
+
export declare const htmlTooltipAnnotation: ({ content, screenCoordinates, i, d, adjustedSize }: {
|
|
97
|
+
content: any;
|
|
98
|
+
screenCoordinates: any;
|
|
99
|
+
i: any;
|
|
100
|
+
d: any;
|
|
101
|
+
adjustedSize: any;
|
|
102
|
+
}) => React.JSX.Element;
|
|
103
|
+
export declare const svgRectEncloseAnnotation: ({ d, i, screenCoordinates }: {
|
|
104
|
+
d: any;
|
|
105
|
+
i: any;
|
|
106
|
+
screenCoordinates: any;
|
|
107
|
+
}) => React.JSX.Element;
|
|
108
|
+
export declare const svgEncloseAnnotation: ({ screenCoordinates, d, i }: {
|
|
109
|
+
screenCoordinates: any;
|
|
110
|
+
d: any;
|
|
111
|
+
i: any;
|
|
112
|
+
}) => React.JSX.Element;
|
|
113
|
+
export declare const svgHullEncloseAnnotation: ({ screenCoordinates, d, i }: {
|
|
114
|
+
screenCoordinates: any;
|
|
115
|
+
d: any;
|
|
116
|
+
i: any;
|
|
117
|
+
}) => React.JSX.Element;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Higher-order chart components
|
|
3
|
+
*
|
|
4
|
+
* These components provide simplified, opinionated wrappers around
|
|
5
|
+
* XYFrame, OrdinalFrame, and NetworkFrame for common chart types.
|
|
6
|
+
*
|
|
7
|
+
* @module charts
|
|
8
|
+
*/
|
|
9
|
+
export { Scatterplot } from "./xy/Scatterplot";
|
|
10
|
+
export type { ScatterplotProps } from "./xy/Scatterplot";
|
|
11
|
+
export { LineChart } from "./xy/LineChart";
|
|
12
|
+
export type { LineChartProps } from "./xy/LineChart";
|
|
13
|
+
export { AreaChart } from "./xy/AreaChart";
|
|
14
|
+
export type { AreaChartProps } from "./xy/AreaChart";
|
|
15
|
+
export { StackedAreaChart } from "./xy/StackedAreaChart";
|
|
16
|
+
export type { StackedAreaChartProps } from "./xy/StackedAreaChart";
|
|
17
|
+
export { Heatmap } from "./xy/Heatmap";
|
|
18
|
+
export type { HeatmapProps } from "./xy/Heatmap";
|
|
19
|
+
export { BubbleChart } from "./xy/BubbleChart";
|
|
20
|
+
export type { BubbleChartProps } from "./xy/BubbleChart";
|
|
21
|
+
export { BarChart } from "./ordinal/BarChart";
|
|
22
|
+
export type { BarChartProps } from "./ordinal/BarChart";
|
|
23
|
+
export { StackedBarChart } from "./ordinal/StackedBarChart";
|
|
24
|
+
export type { StackedBarChartProps } from "./ordinal/StackedBarChart";
|
|
25
|
+
export { SwarmPlot } from "./ordinal/SwarmPlot";
|
|
26
|
+
export type { SwarmPlotProps } from "./ordinal/SwarmPlot";
|
|
27
|
+
export { BoxPlot } from "./ordinal/BoxPlot";
|
|
28
|
+
export type { BoxPlotProps } from "./ordinal/BoxPlot";
|
|
29
|
+
export { DotPlot } from "./ordinal/DotPlot";
|
|
30
|
+
export type { DotPlotProps } from "./ordinal/DotPlot";
|
|
31
|
+
export { PieChart } from "./ordinal/PieChart";
|
|
32
|
+
export type { PieChartProps } from "./ordinal/PieChart";
|
|
33
|
+
export { DonutChart } from "./ordinal/DonutChart";
|
|
34
|
+
export type { DonutChartProps } from "./ordinal/DonutChart";
|
|
35
|
+
export { GroupedBarChart } from "./ordinal/GroupedBarChart";
|
|
36
|
+
export type { GroupedBarChartProps } from "./ordinal/GroupedBarChart";
|
|
37
|
+
export { ForceDirectedGraph } from "./network/ForceDirectedGraph";
|
|
38
|
+
export type { ForceDirectedGraphProps } from "./network/ForceDirectedGraph";
|
|
39
|
+
export { ChordDiagram } from "./network/ChordDiagram";
|
|
40
|
+
export type { ChordDiagramProps } from "./network/ChordDiagram";
|
|
41
|
+
export { SankeyDiagram } from "./network/SankeyDiagram";
|
|
42
|
+
export type { SankeyDiagramProps } from "./network/SankeyDiagram";
|
|
43
|
+
export { TreeDiagram } from "./network/TreeDiagram";
|
|
44
|
+
export type { TreeDiagramProps } from "./network/TreeDiagram";
|
|
45
|
+
export { Treemap } from "./network/Treemap";
|
|
46
|
+
export type { TreemapProps } from "./network/Treemap";
|
|
47
|
+
export { CirclePack } from "./network/CirclePack";
|
|
48
|
+
export type { CirclePackProps } from "./network/CirclePack";
|
|
49
|
+
export { RealtimeLineChart } from "./realtime/RealtimeLineChart";
|
|
50
|
+
export type { RealtimeLineChartProps } from "./realtime/RealtimeLineChart";
|
|
51
|
+
export { RealtimeBarChart } from "./realtime/RealtimeBarChart";
|
|
52
|
+
export type { RealtimeBarChartProps } from "./realtime/RealtimeBarChart";
|
|
53
|
+
export { RealtimeSwarmChart } from "./realtime/RealtimeSwarmChart";
|
|
54
|
+
export type { RealtimeSwarmChartProps } from "./realtime/RealtimeSwarmChart";
|
|
55
|
+
export { RealtimeWaterfallChart } from "./realtime/RealtimeWaterfallChart";
|
|
56
|
+
export type { RealtimeWaterfallChartProps } from "./realtime/RealtimeWaterfallChart";
|
|
57
|
+
export type { BaseChartProps, AxisConfig, Accessor, ChartAccessor } from "./shared/types";
|
|
58
|
+
export { useColorScale, useSortedData, DEFAULT_COLOR } from "./shared/hooks";
|
|
59
|
+
export { COLOR_SCHEMES, DEFAULT_COLORS, getColor, createColorScale, getSize } from "./shared/colorUtils";
|
|
60
|
+
export { formatNumber, formatDate, formatAxis, createTooltip, formatLargeNumber, truncateText } from "./shared/formatUtils";
|
|
61
|
+
export { Tooltip, MultiLineTooltip, normalizeTooltip } from "../Tooltip/Tooltip";
|
|
62
|
+
export type { TooltipProp, TooltipConfig, TooltipField, MultiLineTooltipConfig } from "../Tooltip/Tooltip";
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { NetworkFrameProps } from "../../types/networkTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
4
|
+
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
5
|
+
/**
|
|
6
|
+
* ChordDiagram component props
|
|
7
|
+
*/
|
|
8
|
+
export interface ChordDiagramProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
|
|
9
|
+
/**
|
|
10
|
+
* Array of nodes (optional - will be inferred from edges if not provided)
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* [{id: 'A', category: 'Group1'}, {id: 'B', category: 'Group2'}]
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
nodes?: TNode[];
|
|
17
|
+
/**
|
|
18
|
+
* Array of edges with source, target, and value
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* [
|
|
22
|
+
* {source: 'A', target: 'B', value: 100},
|
|
23
|
+
* {source: 'B', target: 'A', value: 80},
|
|
24
|
+
* {source: 'A', target: 'A', value: 50}
|
|
25
|
+
* ]
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
edges: TEdge[];
|
|
29
|
+
/**
|
|
30
|
+
* Field name or function to access source node identifier
|
|
31
|
+
* @default "source"
|
|
32
|
+
*/
|
|
33
|
+
sourceAccessor?: ChartAccessor<TEdge, string>;
|
|
34
|
+
/**
|
|
35
|
+
* Field name or function to access target node identifier
|
|
36
|
+
* @default "target"
|
|
37
|
+
*/
|
|
38
|
+
targetAccessor?: ChartAccessor<TEdge, string>;
|
|
39
|
+
/**
|
|
40
|
+
* Field name or function to access edge value (width)
|
|
41
|
+
* @default "value"
|
|
42
|
+
*/
|
|
43
|
+
valueAccessor?: ChartAccessor<TEdge, number>;
|
|
44
|
+
/**
|
|
45
|
+
* Field name or function to access node identifier
|
|
46
|
+
* @default "id"
|
|
47
|
+
*/
|
|
48
|
+
nodeIdAccessor?: ChartAccessor<TNode, string>;
|
|
49
|
+
/**
|
|
50
|
+
* Field name or function to determine node color
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* colorBy="category"
|
|
54
|
+
* colorBy={d => d.group}
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
colorBy?: ChartAccessor<TNode, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Color scheme for nodes or custom colors array
|
|
60
|
+
* @default "category10"
|
|
61
|
+
*/
|
|
62
|
+
colorScheme?: string | string[];
|
|
63
|
+
/**
|
|
64
|
+
* Edge color strategy
|
|
65
|
+
* - "source": color edges by source node
|
|
66
|
+
* - "target": color edges by target node
|
|
67
|
+
* - function: custom coloring function
|
|
68
|
+
* @default "source"
|
|
69
|
+
*/
|
|
70
|
+
edgeColorBy?: "source" | "target" | ((d: any) => string);
|
|
71
|
+
/**
|
|
72
|
+
* Padding angle between adjacent groups (in radians)
|
|
73
|
+
* @default 0.01
|
|
74
|
+
*/
|
|
75
|
+
padAngle?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Width of the outer arc (node) in pixels
|
|
78
|
+
* @default 20
|
|
79
|
+
*/
|
|
80
|
+
groupWidth?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Sort function for groups (nodes) around the circle
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* sortGroups={(a, b) => b.value - a.value}
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
sortGroups?: (a: any, b: any) => number;
|
|
89
|
+
/**
|
|
90
|
+
* Label accessor for nodes
|
|
91
|
+
* @default Uses nodeIdAccessor
|
|
92
|
+
*/
|
|
93
|
+
nodeLabel?: ChartAccessor<TNode, string>;
|
|
94
|
+
/**
|
|
95
|
+
* Show labels around circumference
|
|
96
|
+
* @default true
|
|
97
|
+
*/
|
|
98
|
+
showLabels?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Enable hover annotations
|
|
101
|
+
* @default true
|
|
102
|
+
*/
|
|
103
|
+
enableHover?: boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Edge opacity
|
|
106
|
+
* @default 0.5
|
|
107
|
+
*/
|
|
108
|
+
edgeOpacity?: number;
|
|
109
|
+
/**
|
|
110
|
+
* Tooltip configuration
|
|
111
|
+
*/
|
|
112
|
+
tooltip?: TooltipProp;
|
|
113
|
+
/**
|
|
114
|
+
* Additional NetworkFrame props for advanced customization
|
|
115
|
+
* For full control, consider using NetworkFrame directly
|
|
116
|
+
* @see https://semiotic.nteract.io/guides/network-frame
|
|
117
|
+
*/
|
|
118
|
+
frameProps?: Partial<Omit<NetworkFrameProps, "edges" | "size">>;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* ChordDiagram - Visualize directed relationships with circular chord layout
|
|
122
|
+
*
|
|
123
|
+
* A simplified wrapper around NetworkFrame for creating chord diagrams.
|
|
124
|
+
* Perfect for showing flow and relationships between entities, especially
|
|
125
|
+
* when there are reciprocal connections and self-loops.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```tsx
|
|
129
|
+
* // Simple chord diagram
|
|
130
|
+
* <ChordDiagram
|
|
131
|
+
* edges={[
|
|
132
|
+
* {source: 'A', target: 'B', value: 100},
|
|
133
|
+
* {source: 'B', target: 'A', value: 80},
|
|
134
|
+
* {source: 'A', target: 'A', value: 50}
|
|
135
|
+
* ]}
|
|
136
|
+
* colorBy={(d) => d.id}
|
|
137
|
+
* />
|
|
138
|
+
* ```
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```tsx
|
|
142
|
+
* // With custom styling and padding
|
|
143
|
+
* <ChordDiagram
|
|
144
|
+
* edges={edges}
|
|
145
|
+
* nodes={nodes}
|
|
146
|
+
* colorBy="category"
|
|
147
|
+
* edgeColorBy="source"
|
|
148
|
+
* padAngle={0.05}
|
|
149
|
+
* groupWidth={30}
|
|
150
|
+
* />
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```tsx
|
|
155
|
+
* // With sorting and labels
|
|
156
|
+
* <ChordDiagram
|
|
157
|
+
* edges={edges}
|
|
158
|
+
* sortGroups={(a, b) => b.value - a.value}
|
|
159
|
+
* nodeLabel="name"
|
|
160
|
+
* showLabels={true}
|
|
161
|
+
* />
|
|
162
|
+
* ```
|
|
163
|
+
*
|
|
164
|
+
* @remarks
|
|
165
|
+
* This component wraps {@link NetworkFrame} with sensible defaults for chord diagrams.
|
|
166
|
+
* Chord diagrams work best when there are asymmetric relationships and self-loops.
|
|
167
|
+
*
|
|
168
|
+
* **Data Requirements:**
|
|
169
|
+
* - Edges must have source, target, and value properties
|
|
170
|
+
* - Self-loops (source === target) are displayed as curved arcs
|
|
171
|
+
* - Reciprocal edges show the asymmetry in relationships
|
|
172
|
+
*
|
|
173
|
+
* **Breadcrumb to advanced usage:**
|
|
174
|
+
* - Use the `frameProps` prop to pass any NetworkFrame prop
|
|
175
|
+
* - See NetworkFrame documentation: https://semiotic.nteract.io/guides/network-frame
|
|
176
|
+
* - All NetworkFrame props are available via `frameProps`
|
|
177
|
+
*
|
|
178
|
+
* @param props - ChordDiagram configuration
|
|
179
|
+
* @returns Rendered chord diagram
|
|
180
|
+
*/
|
|
181
|
+
export declare function ChordDiagram<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: ChordDiagramProps<TNode, TEdge>): React.JSX.Element;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { NetworkFrameProps } from "../../types/networkTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor, Accessor } from "../shared/types";
|
|
4
|
+
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
5
|
+
/**
|
|
6
|
+
* CirclePack component props
|
|
7
|
+
*/
|
|
8
|
+
export interface CirclePackProps<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>> extends BaseChartProps {
|
|
9
|
+
/**
|
|
10
|
+
* Hierarchical data structure with children and values.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* {
|
|
14
|
+
* name: 'root',
|
|
15
|
+
* children: [
|
|
16
|
+
* {name: 'A', value: 100},
|
|
17
|
+
* {name: 'B', children: [{name: 'B1', value: 50}, {name: 'B2', value: 30}]}
|
|
18
|
+
* ]
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
data: TNode;
|
|
23
|
+
/**
|
|
24
|
+
* Field name or function to access children array
|
|
25
|
+
* @default "children"
|
|
26
|
+
*/
|
|
27
|
+
childrenAccessor?: ChartAccessor<TNode, TNode[]>;
|
|
28
|
+
/**
|
|
29
|
+
* Field name or function to access node value for sizing
|
|
30
|
+
* @default "value"
|
|
31
|
+
*/
|
|
32
|
+
valueAccessor?: Accessor<number>;
|
|
33
|
+
/**
|
|
34
|
+
* Field name or function to access node identifier
|
|
35
|
+
* @default "name"
|
|
36
|
+
*/
|
|
37
|
+
nodeIdAccessor?: ChartAccessor<TNode, string>;
|
|
38
|
+
/**
|
|
39
|
+
* Field name or function to determine node color
|
|
40
|
+
*/
|
|
41
|
+
colorBy?: ChartAccessor<TNode, string | number>;
|
|
42
|
+
/**
|
|
43
|
+
* Color scheme for nodes or custom colors array
|
|
44
|
+
* @default "category10"
|
|
45
|
+
*/
|
|
46
|
+
colorScheme?: string | string[];
|
|
47
|
+
/**
|
|
48
|
+
* Color nodes by hierarchy depth level
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
colorByDepth?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Show labels on circles
|
|
54
|
+
* @default true
|
|
55
|
+
*/
|
|
56
|
+
showLabels?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Node label accessor
|
|
59
|
+
* @default Uses nodeIdAccessor
|
|
60
|
+
*/
|
|
61
|
+
nodeLabel?: ChartAccessor<TNode, string>;
|
|
62
|
+
/**
|
|
63
|
+
* Circle fill opacity (helps see nesting)
|
|
64
|
+
* @default 0.7
|
|
65
|
+
*/
|
|
66
|
+
circleOpacity?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Enable hover annotations
|
|
69
|
+
* @default true
|
|
70
|
+
*/
|
|
71
|
+
enableHover?: boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Tooltip configuration
|
|
74
|
+
*/
|
|
75
|
+
tooltip?: TooltipProp;
|
|
76
|
+
/**
|
|
77
|
+
* Additional NetworkFrame props for advanced customization
|
|
78
|
+
* For full control, consider using NetworkFrame directly
|
|
79
|
+
*/
|
|
80
|
+
frameProps?: Partial<Omit<NetworkFrameProps, "edges" | "size">>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* CirclePack - Visualize hierarchical data as nested circles.
|
|
84
|
+
*
|
|
85
|
+
* A simplified wrapper around NetworkFrame with circlepack layout.
|
|
86
|
+
* Each circle's area is proportional to its value.
|
|
87
|
+
*
|
|
88
|
+
* @example
|
|
89
|
+
* ```tsx
|
|
90
|
+
* <CirclePack
|
|
91
|
+
* data={{
|
|
92
|
+
* name: 'root',
|
|
93
|
+
* children: [
|
|
94
|
+
* {name: 'A', value: 100},
|
|
95
|
+
* {name: 'B', value: 200},
|
|
96
|
+
* {name: 'C', value: 150}
|
|
97
|
+
* ]
|
|
98
|
+
* }}
|
|
99
|
+
* colorByDepth
|
|
100
|
+
* />
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
103
|
+
export declare function CirclePack<TNode extends Record<string, any> = Record<string, any>, TEdge extends Record<string, any> = Record<string, any>>(props: CirclePackProps<TNode, TEdge>): React.JSX.Element;
|