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,119 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { OrdinalFrameProps } from "../../types/ordinalTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
4
|
+
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
5
|
+
/**
|
|
6
|
+
* StackedBarChart component props
|
|
7
|
+
*/
|
|
8
|
+
export interface StackedBarChartProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
|
|
9
|
+
/**
|
|
10
|
+
* Array of data points with category, subcategory, and value.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* [
|
|
14
|
+
* {category: 'Q1', subcategory: 'Product A', value: 100},
|
|
15
|
+
* {category: 'Q1', subcategory: 'Product B', value: 150},
|
|
16
|
+
* {category: 'Q2', subcategory: 'Product A', value: 120}
|
|
17
|
+
* ]
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
data: TDatum[];
|
|
21
|
+
/**
|
|
22
|
+
* Field name or function to access category values
|
|
23
|
+
* @default "category"
|
|
24
|
+
*/
|
|
25
|
+
categoryAccessor?: ChartAccessor<TDatum, string>;
|
|
26
|
+
/**
|
|
27
|
+
* Field name or function to access subcategory values (for stacking)
|
|
28
|
+
* @default "subcategory"
|
|
29
|
+
*/
|
|
30
|
+
stackBy: ChartAccessor<TDatum, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Field name or function to access numeric values
|
|
33
|
+
* @default "value"
|
|
34
|
+
*/
|
|
35
|
+
valueAccessor?: ChartAccessor<TDatum, number>;
|
|
36
|
+
/**
|
|
37
|
+
* Chart orientation
|
|
38
|
+
* @default "vertical"
|
|
39
|
+
*/
|
|
40
|
+
orientation?: "vertical" | "horizontal";
|
|
41
|
+
/**
|
|
42
|
+
* Label for the category axis
|
|
43
|
+
*/
|
|
44
|
+
categoryLabel?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Label for the value axis
|
|
47
|
+
*/
|
|
48
|
+
valueLabel?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Format function for value axis tick labels
|
|
51
|
+
*/
|
|
52
|
+
valueFormat?: (d: number | string) => string;
|
|
53
|
+
/**
|
|
54
|
+
* Field name or function to determine bar color (typically stackBy)
|
|
55
|
+
* @default stackBy value
|
|
56
|
+
*/
|
|
57
|
+
colorBy?: ChartAccessor<TDatum, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Color scheme for categorical data or custom colors array
|
|
60
|
+
* @default "category10"
|
|
61
|
+
*/
|
|
62
|
+
colorScheme?: string | string[];
|
|
63
|
+
/**
|
|
64
|
+
* Normalize to 100% (percentage stacked)
|
|
65
|
+
* @default false
|
|
66
|
+
*/
|
|
67
|
+
normalize?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Padding between bar groups (in pixels)
|
|
70
|
+
* @default 5
|
|
71
|
+
*/
|
|
72
|
+
barPadding?: number;
|
|
73
|
+
/**
|
|
74
|
+
* Enable hover annotations
|
|
75
|
+
* @default true
|
|
76
|
+
*/
|
|
77
|
+
enableHover?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Show grid lines
|
|
80
|
+
* @default false
|
|
81
|
+
*/
|
|
82
|
+
showGrid?: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Show legend for stack categories
|
|
85
|
+
* @default true
|
|
86
|
+
*/
|
|
87
|
+
showLegend?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Tooltip configuration
|
|
90
|
+
*/
|
|
91
|
+
tooltip?: TooltipProp;
|
|
92
|
+
/**
|
|
93
|
+
* Additional OrdinalFrame props for advanced customization
|
|
94
|
+
* For full control, consider using OrdinalFrame directly
|
|
95
|
+
* @see https://semiotic.nteract.io/guides/ordinal-frame
|
|
96
|
+
*/
|
|
97
|
+
frameProps?: Partial<Omit<OrdinalFrameProps, "data" | "size">>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* StackedBarChart - Visualize part-to-whole relationships with stacked bars.
|
|
101
|
+
*
|
|
102
|
+
* A simplified wrapper around OrdinalFrame for creating stacked bar charts.
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```tsx
|
|
106
|
+
* <StackedBarChart
|
|
107
|
+
* data={[
|
|
108
|
+
* {category: 'Q1', product: 'A', value: 100},
|
|
109
|
+
* {category: 'Q1', product: 'B', value: 150},
|
|
110
|
+
* {category: 'Q2', product: 'A', value: 120},
|
|
111
|
+
* {category: 'Q2', product: 'B', value: 180}
|
|
112
|
+
* ]}
|
|
113
|
+
* stackBy="product"
|
|
114
|
+
* categoryLabel="Quarter"
|
|
115
|
+
* valueLabel="Sales"
|
|
116
|
+
* />
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
119
|
+
export declare function StackedBarChart<TDatum extends Record<string, any> = Record<string, any>>(props: StackedBarChartProps<TDatum>): React.JSX.Element;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { OrdinalFrameProps } from "../../types/ordinalTypes";
|
|
3
|
+
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
4
|
+
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
5
|
+
/**
|
|
6
|
+
* SwarmPlot component props
|
|
7
|
+
*/
|
|
8
|
+
export interface SwarmPlotProps<TDatum extends Record<string, any> = Record<string, any>> extends BaseChartProps {
|
|
9
|
+
/**
|
|
10
|
+
* Array of data points with category and value.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* [
|
|
14
|
+
* {category: 'Group A', value: 10, type: 'X'},
|
|
15
|
+
* {category: 'Group A', value: 12, type: 'Y'},
|
|
16
|
+
* {category: 'Group B', value: 15, type: 'X'}
|
|
17
|
+
* ]
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
data: TDatum[];
|
|
21
|
+
/**
|
|
22
|
+
* Field name or function to access category values
|
|
23
|
+
* @default "category"
|
|
24
|
+
*/
|
|
25
|
+
categoryAccessor?: ChartAccessor<TDatum, string>;
|
|
26
|
+
/**
|
|
27
|
+
* Field name or function to access numeric values
|
|
28
|
+
* @default "value"
|
|
29
|
+
*/
|
|
30
|
+
valueAccessor?: ChartAccessor<TDatum, number>;
|
|
31
|
+
/**
|
|
32
|
+
* Chart orientation
|
|
33
|
+
* @default "vertical"
|
|
34
|
+
*/
|
|
35
|
+
orientation?: "vertical" | "horizontal";
|
|
36
|
+
/**
|
|
37
|
+
* Label for the category axis
|
|
38
|
+
*/
|
|
39
|
+
categoryLabel?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Label for the value axis
|
|
42
|
+
*/
|
|
43
|
+
valueLabel?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Format function for value axis tick labels
|
|
46
|
+
*/
|
|
47
|
+
valueFormat?: (d: number | string) => string;
|
|
48
|
+
/**
|
|
49
|
+
* Field name or function to determine point color
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* colorBy="type"
|
|
53
|
+
* colorBy={d => d.score > 10 ? 'red' : 'blue'}
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
colorBy?: ChartAccessor<TDatum, string>;
|
|
57
|
+
/**
|
|
58
|
+
* Color scheme for categorical data or custom colors array
|
|
59
|
+
* @default "category10"
|
|
60
|
+
*/
|
|
61
|
+
colorScheme?: string | string[];
|
|
62
|
+
/**
|
|
63
|
+
* Field name or function to determine point size
|
|
64
|
+
* @example
|
|
65
|
+
* ```ts
|
|
66
|
+
* sizeBy="importance"
|
|
67
|
+
* sizeBy={d => Math.sqrt(d.value)}
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
sizeBy?: ChartAccessor<TDatum, number>;
|
|
71
|
+
/**
|
|
72
|
+
* Min and max radius for points when using dynamic sizing
|
|
73
|
+
* @default [3, 8]
|
|
74
|
+
*/
|
|
75
|
+
sizeRange?: [number, number];
|
|
76
|
+
/**
|
|
77
|
+
* Default point radius when sizeBy is not specified
|
|
78
|
+
* @default 4
|
|
79
|
+
*/
|
|
80
|
+
pointRadius?: number;
|
|
81
|
+
/**
|
|
82
|
+
* Point opacity
|
|
83
|
+
* @default 0.7
|
|
84
|
+
*/
|
|
85
|
+
pointOpacity?: number;
|
|
86
|
+
/**
|
|
87
|
+
* Padding between categories (in pixels)
|
|
88
|
+
* @default 20
|
|
89
|
+
*/
|
|
90
|
+
categoryPadding?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Enable hover annotations
|
|
93
|
+
* @default true
|
|
94
|
+
*/
|
|
95
|
+
enableHover?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Show grid lines
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
showGrid?: boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Show legend
|
|
103
|
+
* @default true (when colorBy is specified)
|
|
104
|
+
*/
|
|
105
|
+
showLegend?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Tooltip configuration
|
|
108
|
+
*/
|
|
109
|
+
tooltip?: TooltipProp;
|
|
110
|
+
/**
|
|
111
|
+
* Additional OrdinalFrame props for advanced customization
|
|
112
|
+
* For full control, consider using OrdinalFrame directly
|
|
113
|
+
* @see https://semiotic.nteract.io/guides/ordinal-frame
|
|
114
|
+
*/
|
|
115
|
+
frameProps?: Partial<Omit<OrdinalFrameProps, "data" | "size">>;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* SwarmPlot - Visualize distributions with non-overlapping points.
|
|
119
|
+
*
|
|
120
|
+
* A simplified wrapper around OrdinalFrame for creating swarm plots (beeswarm plots).
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```tsx
|
|
124
|
+
* <SwarmPlot
|
|
125
|
+
* data={[
|
|
126
|
+
* {category: 'Group A', value: 10},
|
|
127
|
+
* {category: 'Group A', value: 12},
|
|
128
|
+
* {category: 'Group A', value: 11},
|
|
129
|
+
* {category: 'Group B', value: 15},
|
|
130
|
+
* {category: 'Group B', value: 14}
|
|
131
|
+
* ]}
|
|
132
|
+
* categoryLabel="Group"
|
|
133
|
+
* valueLabel="Value"
|
|
134
|
+
* />
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
export declare function SwarmPlot<TDatum extends Record<string, any> = Record<string, any>>(props: SwarmPlotProps<TDatum>): React.JSX.Element;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, RealtimeFrameHandle, AnnotationContext } from "../../realtime/types";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
export interface RealtimeBarChartProps {
|
|
5
|
+
/** Time interval for binning */
|
|
6
|
+
binSize: number;
|
|
7
|
+
/** Chart dimensions as [width, height] */
|
|
8
|
+
size?: [number, number];
|
|
9
|
+
/** Chart margins */
|
|
10
|
+
margin?: {
|
|
11
|
+
top?: number;
|
|
12
|
+
right?: number;
|
|
13
|
+
bottom?: number;
|
|
14
|
+
left?: number;
|
|
15
|
+
};
|
|
16
|
+
/** CSS class name */
|
|
17
|
+
className?: string;
|
|
18
|
+
/** Direction time flows */
|
|
19
|
+
arrowOfTime?: ArrowOfTime;
|
|
20
|
+
/** Data retention strategy */
|
|
21
|
+
windowMode?: WindowMode;
|
|
22
|
+
/** Ring buffer capacity */
|
|
23
|
+
windowSize?: number;
|
|
24
|
+
/** Controlled data array */
|
|
25
|
+
data?: Record<string, any>[];
|
|
26
|
+
/** Time value accessor */
|
|
27
|
+
timeAccessor?: string | ((d: Record<string, any>) => number);
|
|
28
|
+
/** Value accessor */
|
|
29
|
+
valueAccessor?: string | ((d: Record<string, any>) => number);
|
|
30
|
+
/** Fixed time domain */
|
|
31
|
+
timeExtent?: [number, number];
|
|
32
|
+
/** Fixed value domain */
|
|
33
|
+
valueExtent?: [number, number];
|
|
34
|
+
/** Extent padding factor */
|
|
35
|
+
extentPadding?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Category accessor for stacked bars.
|
|
38
|
+
* When provided, bars are stacked by category within each bin.
|
|
39
|
+
*/
|
|
40
|
+
categoryAccessor?: string | ((d: Record<string, any>) => string);
|
|
41
|
+
/**
|
|
42
|
+
* Category-to-color map for stacked bars.
|
|
43
|
+
* Keys also determine stack order (listed keys first, then alphabetical).
|
|
44
|
+
*/
|
|
45
|
+
colors?: Record<string, string>;
|
|
46
|
+
/** Bar fill color (non-stacked mode) */
|
|
47
|
+
fill?: string;
|
|
48
|
+
/** Bar stroke color */
|
|
49
|
+
stroke?: string;
|
|
50
|
+
/** Bar stroke width */
|
|
51
|
+
strokeWidth?: number;
|
|
52
|
+
/** Gap between bars in pixels */
|
|
53
|
+
gap?: number;
|
|
54
|
+
/** Show canvas-drawn axes */
|
|
55
|
+
showAxes?: boolean;
|
|
56
|
+
/** Background fill color */
|
|
57
|
+
background?: string;
|
|
58
|
+
/** Enable hover interaction */
|
|
59
|
+
enableHover?: boolean | HoverAnnotationConfig;
|
|
60
|
+
/** Custom tooltip renderer */
|
|
61
|
+
tooltipContent?: (d: HoverData) => ReactNode;
|
|
62
|
+
/** Callback on hover */
|
|
63
|
+
onHover?: (d: HoverData | null) => void;
|
|
64
|
+
/** Annotation objects */
|
|
65
|
+
annotations?: Record<string, any>[];
|
|
66
|
+
/** SVG annotation render function */
|
|
67
|
+
svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
|
|
68
|
+
/** Custom formatter for time axis ticks */
|
|
69
|
+
tickFormatTime?: (value: number) => string;
|
|
70
|
+
/** Custom formatter for value axis ticks */
|
|
71
|
+
tickFormatValue?: (value: number) => string;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* RealtimeBarChart - Simplified wrapper for streaming temporal histograms.
|
|
75
|
+
*
|
|
76
|
+
* Wraps RealtimeFrame with `chartType="bar"` and exposes bar styling as
|
|
77
|
+
* top-level props. Supports both simple and stacked (categorical) modes.
|
|
78
|
+
*
|
|
79
|
+
* Edge bins that only partially fall within the visible time window are
|
|
80
|
+
* rendered at proportionally narrower widths (Datadog-style).
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```tsx
|
|
84
|
+
* // Simple histogram
|
|
85
|
+
* <RealtimeBarChart
|
|
86
|
+
* ref={ref}
|
|
87
|
+
* binSize={20}
|
|
88
|
+
* fill="#007bff"
|
|
89
|
+
* enableHover
|
|
90
|
+
* />
|
|
91
|
+
*
|
|
92
|
+
* // Stacked by category
|
|
93
|
+
* <RealtimeBarChart
|
|
94
|
+
* ref={ref}
|
|
95
|
+
* binSize={25}
|
|
96
|
+
* categoryAccessor="category"
|
|
97
|
+
* colors={{ errors: "#dc3545", warnings: "#fd7e14", info: "#007bff" }}
|
|
98
|
+
* enableHover
|
|
99
|
+
* />
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
export declare const RealtimeBarChart: React.ForwardRefExoticComponent<RealtimeBarChartProps & React.RefAttributes<RealtimeFrameHandle>>;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, RealtimeFrameHandle, AnnotationContext } from "../../realtime/types";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
export interface RealtimeLineChartProps {
|
|
5
|
+
/** Chart dimensions as [width, height] */
|
|
6
|
+
size?: [number, number];
|
|
7
|
+
/** Chart margins */
|
|
8
|
+
margin?: {
|
|
9
|
+
top?: number;
|
|
10
|
+
right?: number;
|
|
11
|
+
bottom?: number;
|
|
12
|
+
left?: number;
|
|
13
|
+
};
|
|
14
|
+
/** CSS class name */
|
|
15
|
+
className?: string;
|
|
16
|
+
/** Direction time flows */
|
|
17
|
+
arrowOfTime?: ArrowOfTime;
|
|
18
|
+
/** Data retention strategy */
|
|
19
|
+
windowMode?: WindowMode;
|
|
20
|
+
/** Ring buffer capacity */
|
|
21
|
+
windowSize?: number;
|
|
22
|
+
/** Controlled data array */
|
|
23
|
+
data?: Record<string, any>[];
|
|
24
|
+
/** Time value accessor */
|
|
25
|
+
timeAccessor?: string | ((d: Record<string, any>) => number);
|
|
26
|
+
/** Value accessor */
|
|
27
|
+
valueAccessor?: string | ((d: Record<string, any>) => number);
|
|
28
|
+
/** Fixed time domain */
|
|
29
|
+
timeExtent?: [number, number];
|
|
30
|
+
/** Fixed value domain */
|
|
31
|
+
valueExtent?: [number, number];
|
|
32
|
+
/** Extent padding factor */
|
|
33
|
+
extentPadding?: number;
|
|
34
|
+
/** Line color */
|
|
35
|
+
stroke?: string;
|
|
36
|
+
/** Line width */
|
|
37
|
+
strokeWidth?: number;
|
|
38
|
+
/** Dash pattern (e.g. "4,2") */
|
|
39
|
+
strokeDasharray?: string;
|
|
40
|
+
/** Show canvas-drawn axes */
|
|
41
|
+
showAxes?: boolean;
|
|
42
|
+
/** Background fill color */
|
|
43
|
+
background?: string;
|
|
44
|
+
/** Enable hover interaction */
|
|
45
|
+
enableHover?: boolean | HoverAnnotationConfig;
|
|
46
|
+
/** Custom tooltip renderer */
|
|
47
|
+
tooltipContent?: (d: HoverData) => ReactNode;
|
|
48
|
+
/** Callback on hover */
|
|
49
|
+
onHover?: (d: HoverData | null) => void;
|
|
50
|
+
/** Annotation objects */
|
|
51
|
+
annotations?: Record<string, any>[];
|
|
52
|
+
/** SVG annotation render function */
|
|
53
|
+
svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
|
|
54
|
+
/** Custom formatter for time axis ticks */
|
|
55
|
+
tickFormatTime?: (value: number) => string;
|
|
56
|
+
/** Custom formatter for value axis ticks */
|
|
57
|
+
tickFormatValue?: (value: number) => string;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* RealtimeLineChart - Simplified wrapper for streaming line charts.
|
|
61
|
+
*
|
|
62
|
+
* Wraps RealtimeFrame with `chartType="line"` and exposes stroke/strokeWidth
|
|
63
|
+
* as top-level props instead of requiring a `lineStyle` object.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```tsx
|
|
67
|
+
* const ref = useRef<RealtimeFrameHandle>(null)
|
|
68
|
+
*
|
|
69
|
+
* <RealtimeLineChart
|
|
70
|
+
* ref={ref}
|
|
71
|
+
* stroke="#007bff"
|
|
72
|
+
* strokeWidth={2}
|
|
73
|
+
* windowSize={200}
|
|
74
|
+
* enableHover
|
|
75
|
+
* />
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare const RealtimeLineChart: React.ForwardRefExoticComponent<RealtimeLineChartProps & React.RefAttributes<RealtimeFrameHandle>>;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, RealtimeFrameHandle, AnnotationContext } from "../../realtime/types";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
export interface RealtimeSwarmChartProps {
|
|
5
|
+
/** Chart dimensions as [width, height] */
|
|
6
|
+
size?: [number, number];
|
|
7
|
+
/** Chart margins */
|
|
8
|
+
margin?: {
|
|
9
|
+
top?: number;
|
|
10
|
+
right?: number;
|
|
11
|
+
bottom?: number;
|
|
12
|
+
left?: number;
|
|
13
|
+
};
|
|
14
|
+
/** CSS class name */
|
|
15
|
+
className?: string;
|
|
16
|
+
/** Direction time flows */
|
|
17
|
+
arrowOfTime?: ArrowOfTime;
|
|
18
|
+
/** Data retention strategy */
|
|
19
|
+
windowMode?: WindowMode;
|
|
20
|
+
/** Ring buffer capacity */
|
|
21
|
+
windowSize?: number;
|
|
22
|
+
/** Controlled data array */
|
|
23
|
+
data?: Record<string, any>[];
|
|
24
|
+
/** Time value accessor */
|
|
25
|
+
timeAccessor?: string | ((d: Record<string, any>) => number);
|
|
26
|
+
/** Value accessor */
|
|
27
|
+
valueAccessor?: string | ((d: Record<string, any>) => number);
|
|
28
|
+
/** Fixed time domain */
|
|
29
|
+
timeExtent?: [number, number];
|
|
30
|
+
/** Fixed value domain */
|
|
31
|
+
valueExtent?: [number, number];
|
|
32
|
+
/** Extent padding factor */
|
|
33
|
+
extentPadding?: number;
|
|
34
|
+
/** Category accessor for color-coding dots */
|
|
35
|
+
categoryAccessor?: string | ((d: Record<string, any>) => string);
|
|
36
|
+
/** Category-to-color map */
|
|
37
|
+
colors?: Record<string, string>;
|
|
38
|
+
/** Dot radius */
|
|
39
|
+
radius?: number;
|
|
40
|
+
/** Dot fill color (when no categoryAccessor) */
|
|
41
|
+
fill?: string;
|
|
42
|
+
/** Dot opacity */
|
|
43
|
+
opacity?: number;
|
|
44
|
+
/** Dot stroke color */
|
|
45
|
+
stroke?: string;
|
|
46
|
+
/** Dot stroke width */
|
|
47
|
+
strokeWidth?: number;
|
|
48
|
+
/** Show canvas-drawn axes */
|
|
49
|
+
showAxes?: boolean;
|
|
50
|
+
/** Background fill color */
|
|
51
|
+
background?: string;
|
|
52
|
+
/** Enable hover interaction */
|
|
53
|
+
enableHover?: boolean | HoverAnnotationConfig;
|
|
54
|
+
/** Custom tooltip renderer */
|
|
55
|
+
tooltipContent?: (d: HoverData) => ReactNode;
|
|
56
|
+
/** Callback on hover */
|
|
57
|
+
onHover?: (d: HoverData | null) => void;
|
|
58
|
+
/** Annotation objects (including threshold coloring) */
|
|
59
|
+
annotations?: Record<string, any>[];
|
|
60
|
+
/** SVG annotation render function */
|
|
61
|
+
svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
|
|
62
|
+
/** Custom formatter for time axis ticks */
|
|
63
|
+
tickFormatTime?: (value: number) => string;
|
|
64
|
+
/** Custom formatter for value axis ticks */
|
|
65
|
+
tickFormatValue?: (value: number) => string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* RealtimeSwarmChart - Simplified wrapper for streaming dot/swarm charts.
|
|
69
|
+
*
|
|
70
|
+
* Wraps RealtimeFrame with `chartType="swarm"` and exposes dot styling as
|
|
71
|
+
* top-level props. Each data point renders as an individual dot at its
|
|
72
|
+
* (time, value) coordinates.
|
|
73
|
+
*
|
|
74
|
+
* Supports threshold coloring via annotations to recolor dots that cross
|
|
75
|
+
* value boundaries.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```tsx
|
|
79
|
+
* <RealtimeSwarmChart
|
|
80
|
+
* ref={ref}
|
|
81
|
+
* radius={4}
|
|
82
|
+
* opacity={0.8}
|
|
83
|
+
* categoryAccessor="sensor"
|
|
84
|
+
* colors={{ sensor1: "#007bff", sensor2: "#28a745" }}
|
|
85
|
+
* />
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
export declare const RealtimeSwarmChart: React.ForwardRefExoticComponent<RealtimeSwarmChartProps & React.RefAttributes<RealtimeFrameHandle>>;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ArrowOfTime, WindowMode, HoverAnnotationConfig, HoverData, RealtimeFrameHandle, AnnotationContext } from "../../realtime/types";
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
export interface RealtimeWaterfallChartProps {
|
|
5
|
+
/** Chart dimensions as [width, height] */
|
|
6
|
+
size?: [number, number];
|
|
7
|
+
/** Chart margins */
|
|
8
|
+
margin?: {
|
|
9
|
+
top?: number;
|
|
10
|
+
right?: number;
|
|
11
|
+
bottom?: number;
|
|
12
|
+
left?: number;
|
|
13
|
+
};
|
|
14
|
+
/** CSS class name */
|
|
15
|
+
className?: string;
|
|
16
|
+
/** Direction time flows */
|
|
17
|
+
arrowOfTime?: ArrowOfTime;
|
|
18
|
+
/** Data retention strategy */
|
|
19
|
+
windowMode?: WindowMode;
|
|
20
|
+
/** Ring buffer capacity */
|
|
21
|
+
windowSize?: number;
|
|
22
|
+
/** Controlled data array */
|
|
23
|
+
data?: Record<string, any>[];
|
|
24
|
+
/** Time value accessor */
|
|
25
|
+
timeAccessor?: string | ((d: Record<string, any>) => number);
|
|
26
|
+
/** Value accessor (positive = gain, negative = loss) */
|
|
27
|
+
valueAccessor?: string | ((d: Record<string, any>) => number);
|
|
28
|
+
/** Fixed time domain */
|
|
29
|
+
timeExtent?: [number, number];
|
|
30
|
+
/** Fixed value domain */
|
|
31
|
+
valueExtent?: [number, number];
|
|
32
|
+
/** Extent padding factor */
|
|
33
|
+
extentPadding?: number;
|
|
34
|
+
/** Color for positive (gain) bars */
|
|
35
|
+
positiveColor?: string;
|
|
36
|
+
/** Color for negative (loss) bars */
|
|
37
|
+
negativeColor?: string;
|
|
38
|
+
/** Connector line stroke color (omit to hide connectors) */
|
|
39
|
+
connectorStroke?: string;
|
|
40
|
+
/** Connector line width */
|
|
41
|
+
connectorWidth?: number;
|
|
42
|
+
/** Gap between bars in pixels */
|
|
43
|
+
gap?: number;
|
|
44
|
+
/** Bar stroke color */
|
|
45
|
+
stroke?: string;
|
|
46
|
+
/** Bar stroke width */
|
|
47
|
+
strokeWidth?: number;
|
|
48
|
+
/** Show canvas-drawn axes */
|
|
49
|
+
showAxes?: boolean;
|
|
50
|
+
/** Background fill color */
|
|
51
|
+
background?: string;
|
|
52
|
+
/** Enable hover interaction */
|
|
53
|
+
enableHover?: boolean | HoverAnnotationConfig;
|
|
54
|
+
/** Custom tooltip renderer */
|
|
55
|
+
tooltipContent?: (d: HoverData) => ReactNode;
|
|
56
|
+
/** Callback on hover */
|
|
57
|
+
onHover?: (d: HoverData | null) => void;
|
|
58
|
+
/** Annotation objects */
|
|
59
|
+
annotations?: Record<string, any>[];
|
|
60
|
+
/** SVG annotation render function */
|
|
61
|
+
svgAnnotationRules?: (annotation: Record<string, any>, index: number, context: AnnotationContext) => ReactNode;
|
|
62
|
+
/** Custom formatter for time axis ticks */
|
|
63
|
+
tickFormatTime?: (value: number) => string;
|
|
64
|
+
/** Custom formatter for value axis ticks */
|
|
65
|
+
tickFormatValue?: (value: number) => string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* RealtimeWaterfallChart - Simplified wrapper for streaming waterfall charts.
|
|
69
|
+
*
|
|
70
|
+
* Wraps RealtimeFrame with `chartType="waterfall"` and exposes waterfall styling
|
|
71
|
+
* as top-level props. Visualizes cumulative deltas as connected bars rising and
|
|
72
|
+
* falling from a running baseline.
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```tsx
|
|
76
|
+
* <RealtimeWaterfallChart
|
|
77
|
+
* ref={ref}
|
|
78
|
+
* positiveColor="#28a745"
|
|
79
|
+
* negativeColor="#dc3545"
|
|
80
|
+
* connectorStroke="#999"
|
|
81
|
+
* windowSize={300}
|
|
82
|
+
* />
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
export declare const RealtimeWaterfallChart: React.ForwardRefExoticComponent<RealtimeWaterfallChartProps & React.RefAttributes<RealtimeFrameHandle>>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface ChartErrorProps {
|
|
3
|
+
/** Component name for the error message */
|
|
4
|
+
componentName: string;
|
|
5
|
+
/** The error message to display */
|
|
6
|
+
message: string;
|
|
7
|
+
/** Chart width */
|
|
8
|
+
width: number;
|
|
9
|
+
/** Chart height */
|
|
10
|
+
height: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Renders a visible, styled error state inside the chart's dimensions.
|
|
14
|
+
* Shows the component name, error message, and a hint for developers.
|
|
15
|
+
*
|
|
16
|
+
* Designed to be obvious in development but not alarming in production —
|
|
17
|
+
* uses muted colors that adapt to light/dark backgrounds.
|
|
18
|
+
*/
|
|
19
|
+
export default function ChartError({ componentName, message, width, height, }: ChartErrorProps): React.JSX.Element;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Predefined color schemes
|
|
3
|
+
*/
|
|
4
|
+
export declare const COLOR_SCHEMES: {
|
|
5
|
+
category10: any;
|
|
6
|
+
tableau10: any;
|
|
7
|
+
set3: any;
|
|
8
|
+
blues: any;
|
|
9
|
+
reds: any;
|
|
10
|
+
greens: any;
|
|
11
|
+
oranges: any;
|
|
12
|
+
purples: any;
|
|
13
|
+
viridis: any;
|
|
14
|
+
plasma: any;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Default colors for charts
|
|
18
|
+
*/
|
|
19
|
+
export declare const DEFAULT_COLORS: any;
|
|
20
|
+
/**
|
|
21
|
+
* Gets a color for a data point based on the colorBy configuration
|
|
22
|
+
*
|
|
23
|
+
* @param dataPoint - The data point
|
|
24
|
+
* @param colorBy - Field name or function to determine color
|
|
25
|
+
* @param colorScale - Optional custom color scale
|
|
26
|
+
* @returns Color string
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* // Using a field name
|
|
31
|
+
* getColor({category: 'A', value: 10}, 'category', colorScale)
|
|
32
|
+
*
|
|
33
|
+
* // Using a function
|
|
34
|
+
* getColor({value: 10}, d => d.value > 5 ? 'red' : 'blue')
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function getColor(dataPoint: any, colorBy: string | ((d: any) => string), colorScale?: (v: any) => string): string;
|
|
38
|
+
/**
|
|
39
|
+
* Creates a color scale function from data
|
|
40
|
+
*
|
|
41
|
+
* @param data - Array of data points
|
|
42
|
+
* @param colorBy - Field name to use for coloring
|
|
43
|
+
* @param scheme - Color scheme name or custom palette
|
|
44
|
+
* @returns Color scale function
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* const colorScale = createColorScale(data, 'category')
|
|
49
|
+
* const color = colorScale('A') // Returns color for category 'A'
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function createColorScale(data: Array<Record<string, any>>, colorBy: string, scheme?: string | string[]): (v: string) => string;
|
|
53
|
+
/**
|
|
54
|
+
* Generates a size function based on sizeBy configuration
|
|
55
|
+
*
|
|
56
|
+
* @param dataPoint - The data point
|
|
57
|
+
* @param sizeBy - Field name or function to determine size
|
|
58
|
+
* @param sizeRange - Min and max size range [min, max]
|
|
59
|
+
* @param domain - Optional domain for scaling [minValue, maxValue]
|
|
60
|
+
* @returns Size value
|
|
61
|
+
*/
|
|
62
|
+
export declare function getSize(dataPoint: any, sizeBy: string | ((d: any) => number), sizeRange?: [number, number], domain?: [number, number]): number;
|