semiotic 2.0.3 → 3.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +530 -0
- package/README.md +190 -37
- package/ai/cli.js +48 -0
- package/ai/dist/ai/componentRegistry.js +45 -0
- package/ai/dist/ai/mcp-server.js +99 -0
- package/ai/dist/ai/renderHOCToSVG.js +77 -0
- package/ai/dist/src/components/Annotation.js +358 -0
- package/ai/dist/src/components/AnnotationLayer/AnnotationLayer.js +369 -0
- package/ai/dist/src/components/Axis/Axis.js +373 -0
- package/ai/dist/src/components/Axis/axisTitle.js +14 -0
- package/ai/dist/src/components/Axis/index.js +7 -0
- package/ai/dist/src/components/Axis/summaryGraphic.js +37 -0
- package/ai/dist/src/components/Brush.js +84 -0
- package/ai/dist/src/components/DividedLine.js +65 -0
- package/ai/dist/src/components/FacetController.js +259 -0
- package/ai/dist/src/components/Frame.js +139 -0
- package/ai/dist/src/components/InteractionLayer.js +328 -0
- package/ai/dist/src/components/Legend.js +140 -0
- package/ai/dist/src/components/MiniMap.js +75 -0
- package/ai/dist/src/components/MinimapXYFrame.js +99 -0
- package/ai/dist/src/components/NetworkFrame.js +335 -0
- package/ai/dist/src/components/OrdinalFrame.js +437 -0
- package/ai/dist/src/components/ResponsiveFrame.js +68 -0
- package/ai/dist/src/components/ResponsiveMinimapXYFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveNetworkFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveOrdinalFrame.js +11 -0
- package/ai/dist/src/components/ResponsiveXYFrame.js +10 -0
- package/ai/dist/src/components/SparkFrame.js +113 -0
- package/ai/dist/src/components/SparkNetworkFrame.js +11 -0
- package/ai/dist/src/components/SparkOrdinalFrame.js +11 -0
- package/ai/dist/src/components/SparkXYFrame.js +11 -0
- package/ai/dist/src/components/Tooltip/Tooltip.js +304 -0
- package/ai/dist/src/components/TooltipPositioner/index.js +132 -0
- package/ai/dist/src/components/VisualizationLayer.js +395 -0
- package/ai/dist/src/components/XYFrame.js +524 -0
- package/ai/dist/src/components/annotationLayerBehavior/annotationHandling.js +73 -0
- package/ai/dist/src/components/annotationLayerBehavior/d3labeler.js +254 -0
- package/ai/dist/src/components/annotationRules/baseRules.js +150 -0
- package/ai/dist/src/components/annotationRules/networkframeRules.js +198 -0
- package/ai/dist/src/components/annotationRules/orframeRules.js +695 -0
- package/ai/dist/src/components/annotationRules/xyframeRules.js +299 -0
- package/ai/dist/src/components/batchWork.js +35 -0
- package/ai/dist/src/components/charts/index.js +96 -0
- package/ai/dist/src/components/charts/network/ChordDiagram.js +245 -0
- package/ai/dist/src/components/charts/network/CirclePack.js +177 -0
- package/ai/dist/src/components/charts/network/ForceDirectedGraph.js +248 -0
- package/ai/dist/src/components/charts/network/SankeyDiagram.js +305 -0
- package/ai/dist/src/components/charts/network/TreeDiagram.js +268 -0
- package/ai/dist/src/components/charts/network/Treemap.js +177 -0
- package/ai/dist/src/components/charts/ordinal/BarChart.js +191 -0
- package/ai/dist/src/components/charts/ordinal/BoxPlot.js +235 -0
- package/ai/dist/src/components/charts/ordinal/DonutChart.js +178 -0
- package/ai/dist/src/components/charts/ordinal/DotPlot.js +194 -0
- package/ai/dist/src/components/charts/ordinal/GroupedBarChart.js +194 -0
- package/ai/dist/src/components/charts/ordinal/PieChart.js +155 -0
- package/ai/dist/src/components/charts/ordinal/StackedBarChart.js +213 -0
- package/ai/dist/src/components/charts/ordinal/SwarmPlot.js +219 -0
- package/ai/dist/src/components/charts/realtime/RealtimeBarChart.js +91 -0
- package/ai/dist/src/components/charts/realtime/RealtimeLineChart.js +73 -0
- package/ai/dist/src/components/charts/realtime/RealtimeSwarmChart.js +85 -0
- package/ai/dist/src/components/charts/realtime/RealtimeWaterfallChart.js +86 -0
- package/ai/dist/src/components/charts/shared/ChartError.js +72 -0
- package/ai/dist/src/components/charts/shared/colorUtils.js +138 -0
- package/ai/dist/src/components/charts/shared/formatUtils.js +176 -0
- package/ai/dist/src/components/charts/shared/hooks.js +49 -0
- package/ai/dist/src/components/charts/shared/legendUtils.js +57 -0
- package/ai/dist/src/components/charts/shared/types.js +2 -0
- package/ai/dist/src/components/charts/shared/validateChartData.js +82 -0
- package/ai/dist/src/components/charts/shared/validateProps.js +640 -0
- package/ai/dist/src/components/charts/xy/AreaChart.js +220 -0
- package/ai/dist/src/components/charts/xy/BubbleChart.js +222 -0
- package/ai/dist/src/components/charts/xy/Heatmap.js +230 -0
- package/ai/dist/src/components/charts/xy/LineChart.js +302 -0
- package/ai/dist/src/components/charts/xy/Scatterplot.js +136 -0
- package/ai/dist/src/components/charts/xy/StackedAreaChart.js +220 -0
- package/ai/dist/src/components/constants/coordinateNames.js +11 -0
- package/ai/dist/src/components/constants/frame_props.js +251 -0
- package/ai/dist/src/components/constants/jsx.js +71 -0
- package/ai/dist/src/components/data/dataFunctions.js +473 -0
- package/ai/dist/src/components/data/multiAccessorUtils.js +14 -0
- package/ai/dist/src/components/data/networkPipelineCache.js +43 -0
- package/ai/dist/src/components/data/ordinalPipelineCache.js +53 -0
- package/ai/dist/src/components/data/unflowedFunctions.js +5 -0
- package/ai/dist/src/components/data/xyPipelineCache.js +49 -0
- package/ai/dist/src/components/generic_utilities/functions.js +5 -0
- package/ai/dist/src/components/index.js +145 -0
- package/ai/dist/src/components/interactionLayerBehavior/InteractionCanvas.js +128 -0
- package/ai/dist/src/components/processing/InteractionItems.js +223 -0
- package/ai/dist/src/components/processing/hierarchyUtils.js +104 -0
- package/ai/dist/src/components/processing/layouts/chordLayout.js +58 -0
- package/ai/dist/src/components/processing/layouts/forceLayout.js +142 -0
- package/ai/dist/src/components/processing/layouts/hierarchyLayout.js +31 -0
- package/ai/dist/src/components/processing/layouts/index.js +32 -0
- package/ai/dist/src/components/processing/layouts/sankeyLayout.js +96 -0
- package/ai/dist/src/components/processing/layouts/simpleLayouts.js +34 -0
- package/ai/dist/src/components/processing/layouts/types.js +2 -0
- package/ai/dist/src/components/processing/network.js +771 -0
- package/ai/dist/src/components/processing/networkDefaults.js +39 -0
- package/ai/dist/src/components/processing/networkLayoutHelpers.js +98 -0
- package/ai/dist/src/components/processing/ordinal.js +889 -0
- package/ai/dist/src/components/processing/ordinalConstants.js +23 -0
- package/ai/dist/src/components/processing/ordinalOverlays.js +88 -0
- package/ai/dist/src/components/processing/ordinalRenderPipeline.js +196 -0
- package/ai/dist/src/components/processing/xyDrawing.js +484 -0
- package/ai/dist/src/components/realtime/BinAccumulator.js +36 -0
- package/ai/dist/src/components/realtime/IncrementalExtent.js +55 -0
- package/ai/dist/src/components/realtime/RealtimeFrame.js +710 -0
- package/ai/dist/src/components/realtime/RingBuffer.js +104 -0
- package/ai/dist/src/components/realtime/renderers/barRenderer.js +133 -0
- package/ai/dist/src/components/realtime/renderers/candlestickRenderer.js +7 -0
- package/ai/dist/src/components/realtime/renderers/lineRenderer.js +164 -0
- package/ai/dist/src/components/realtime/renderers/swarmRenderer.js +91 -0
- package/ai/dist/src/components/realtime/renderers/types.js +2 -0
- package/ai/dist/src/components/realtime/renderers/waterfallRenderer.js +163 -0
- package/ai/dist/src/components/realtime/types.js +2 -0
- package/ai/dist/src/components/semiotic-ai.js +66 -0
- package/ai/dist/src/components/semiotic-network.js +30 -0
- package/ai/dist/src/components/semiotic-ordinal.js +28 -0
- package/ai/dist/src/components/semiotic-realtime.js +37 -0
- package/ai/dist/src/components/semiotic-server.js +8 -0
- package/ai/dist/src/components/semiotic-xy.js +41 -0
- package/ai/dist/src/components/semiotic.js +101 -0
- package/ai/dist/src/components/server/renderToStaticSVG.js +392 -0
- package/ai/dist/src/components/store/TooltipStore.js +13 -0
- package/ai/dist/src/components/store/createStore.js +77 -0
- package/ai/dist/src/components/svg/SvgHelper.js +308 -0
- package/ai/dist/src/components/svg/areaDrawing.js +312 -0
- package/ai/dist/src/components/svg/boxplotRenderer.js +441 -0
- package/ai/dist/src/components/svg/bucketizedRenderer.js +677 -0
- package/ai/dist/src/components/svg/ckbinsRenderer.js +92 -0
- package/ai/dist/src/components/svg/ckmeans.js +238 -0
- package/ai/dist/src/components/svg/contourLayout.js +73 -0
- package/ai/dist/src/components/svg/contourRenderer.js +53 -0
- package/ai/dist/src/components/svg/edgeGenerators.js +181 -0
- package/ai/dist/src/components/svg/frameFunctions.js +579 -0
- package/ai/dist/src/components/svg/graphAlgorithms.js +138 -0
- package/ai/dist/src/components/svg/hexbinLayout.js +163 -0
- package/ai/dist/src/components/svg/lineDrawing.js +427 -0
- package/ai/dist/src/components/svg/networkDrawing.js +207 -0
- package/ai/dist/src/components/svg/nodeGenerators.js +131 -0
- package/ai/dist/src/components/svg/pieceDrawing.js +110 -0
- package/ai/dist/src/components/svg/pieceLayouts.js +588 -0
- package/ai/dist/src/components/svg/sankeyLinks.js +143 -0
- package/ai/dist/src/components/svg/summaryAxis.js +48 -0
- package/ai/dist/src/components/svg/summaryLayouts.js +202 -0
- package/ai/dist/src/components/svg/swarmLayout.js +128 -0
- package/ai/dist/src/components/types/annotationTypes.js +2 -0
- package/ai/dist/src/components/types/canvasTypes.js +2 -0
- package/ai/dist/src/components/types/generalTypes.js +2 -0
- package/ai/dist/src/components/types/interactionTypes.js +2 -0
- package/ai/dist/src/components/types/legendTypes.js +2 -0
- package/ai/dist/src/components/types/networkTypes.js +2 -0
- package/ai/dist/src/components/types/ordinalTypes.js +2 -0
- package/ai/dist/src/components/types/xyTypes.js +2 -0
- package/ai/dist/src/components/useBoundingRect.js +24 -0
- package/ai/dist/src/components/useDerivedStateFromProps.js +25 -0
- package/ai/dist/src/components/useLegacyUnmountCallback.js +21 -0
- package/ai/dist/src/components/visualizationLayerBehavior/axis.js +249 -0
- package/ai/dist/src/components/visualizationLayerBehavior/general.js +435 -0
- package/ai/dist/src/setupTests.js +4 -0
- package/ai/examples.md +394 -0
- package/ai/schema.json +1178 -0
- package/ai/system-prompt.md +38 -0
- package/dist/AnnotationLayer/AnnotationLayer.d.ts +0 -1
- package/dist/Axis/axisTitle.d.ts +3 -3
- package/dist/Axis/summaryGraphic.d.ts +1 -1
- package/dist/FacetController.d.ts +1 -1
- package/dist/MinimapXYFrame.d.ts +2 -2
- package/dist/NetworkFrame.d.ts +5 -1
- package/dist/OrdinalFrame.d.ts +5 -1
- package/dist/ResponsiveFrame.d.ts +2 -2
- package/dist/ResponsiveMinimapXYFrame.d.ts +3 -6
- package/dist/ResponsiveNetworkFrame.d.ts +3 -6
- package/dist/ResponsiveOrdinalFrame.d.ts +3 -6
- package/dist/ResponsiveXYFrame.d.ts +3 -6
- package/dist/SparkFrame.d.ts +1 -1
- package/dist/SparkNetworkFrame.d.ts +3 -3
- package/dist/SparkOrdinalFrame.d.ts +3 -3
- package/dist/SparkXYFrame.d.ts +3 -3
- package/dist/Tooltip/Tooltip.d.ts +141 -0
- package/dist/TooltipPositioner/index.d.ts +1 -1
- package/dist/VisualizationLayer.d.ts +3 -3
- package/dist/XYFrame.d.ts +5 -1
- package/dist/annotationLayerBehavior/annotationHandling.d.ts +2 -2
- package/dist/annotationRules/networkframeRules.d.ts +2 -2
- package/dist/annotationRules/orframeRules.d.ts +2 -4
- package/dist/annotationRules/xyframeRules.d.ts +2 -2
- package/dist/batchWork.d.ts +1 -1
- package/dist/charts/index.d.ts +62 -0
- package/dist/charts/network/ChordDiagram.d.ts +181 -0
- package/dist/charts/network/CirclePack.d.ts +103 -0
- package/dist/charts/network/ForceDirectedGraph.d.ts +192 -0
- package/dist/charts/network/SankeyDiagram.d.ts +195 -0
- package/dist/charts/network/TreeDiagram.d.ts +200 -0
- package/dist/charts/network/Treemap.d.ts +98 -0
- package/dist/charts/ordinal/BarChart.d.ts +119 -0
- package/dist/charts/ordinal/BoxPlot.d.ts +125 -0
- package/dist/charts/ordinal/DonutChart.d.ts +95 -0
- package/dist/charts/ordinal/DotPlot.d.ts +128 -0
- package/dist/charts/ordinal/GroupedBarChart.d.ts +113 -0
- package/dist/charts/ordinal/PieChart.d.ts +83 -0
- package/dist/charts/ordinal/StackedBarChart.d.ts +119 -0
- package/dist/charts/ordinal/SwarmPlot.d.ts +137 -0
- package/dist/charts/realtime/RealtimeBarChart.d.ts +102 -0
- package/dist/charts/realtime/RealtimeLineChart.d.ts +78 -0
- package/dist/charts/realtime/RealtimeSwarmChart.d.ts +88 -0
- package/dist/charts/realtime/RealtimeWaterfallChart.d.ts +85 -0
- package/dist/charts/shared/ChartError.d.ts +19 -0
- package/dist/charts/shared/colorUtils.d.ts +62 -0
- package/dist/charts/shared/formatUtils.d.ts +82 -0
- package/dist/charts/shared/hooks.d.ts +20 -0
- package/dist/charts/shared/legendUtils.d.ts +32 -0
- package/dist/charts/shared/types.d.ts +58 -0
- package/dist/charts/shared/validateChartData.d.ts +41 -0
- package/dist/charts/shared/validateProps.d.ts +18 -0
- package/dist/charts/xy/AreaChart.d.ts +127 -0
- package/dist/charts/xy/BubbleChart.d.ts +157 -0
- package/dist/charts/xy/Heatmap.d.ts +153 -0
- package/dist/charts/xy/LineChart.d.ts +193 -0
- package/dist/charts/xy/Scatterplot.d.ts +50 -0
- package/dist/charts/xy/StackedAreaChart.d.ts +131 -0
- package/dist/constants/frame_props.d.ts +9 -0
- package/dist/constants/jsx.d.ts +2 -2
- package/dist/data/dataFunctions.d.ts +11 -12
- package/dist/data/networkPipelineCache.d.ts +27 -0
- package/dist/data/ordinalPipelineCache.d.ts +33 -0
- package/dist/data/xyPipelineCache.d.ts +35 -0
- package/dist/index.d.ts +70 -62
- package/dist/interactionLayerBehavior/InteractionCanvas.d.ts +1 -1
- package/dist/network.js +8520 -0
- package/dist/network.js.map +1 -0
- package/dist/network.min.js +1 -0
- package/dist/network.module.js +8484 -0
- package/dist/network.module.js.map +1 -0
- package/dist/network.module.min.js +1 -0
- package/dist/ordinal.js +9276 -0
- package/dist/ordinal.js.map +1 -0
- package/dist/ordinal.min.js +1 -0
- package/dist/ordinal.module.js +9242 -0
- package/dist/ordinal.module.js.map +1 -0
- package/dist/ordinal.module.min.js +1 -0
- package/dist/processing/InteractionItems.d.ts +5 -4
- package/dist/processing/hierarchyUtils.d.ts +16 -0
- package/dist/processing/layouts/chordLayout.d.ts +2 -0
- package/dist/processing/layouts/forceLayout.d.ts +3 -0
- package/dist/processing/layouts/hierarchyLayout.d.ts +10 -0
- package/dist/processing/layouts/index.d.ts +8 -0
- package/dist/processing/layouts/sankeyLayout.d.ts +8 -0
- package/dist/processing/layouts/simpleLayouts.d.ts +7 -0
- package/dist/processing/layouts/types.d.ts +17 -0
- package/dist/processing/network.d.ts +25 -28
- package/dist/processing/networkDefaults.d.ts +36 -0
- package/dist/processing/networkLayoutHelpers.d.ts +54 -0
- package/dist/processing/ordinal.d.ts +43 -43
- package/dist/processing/ordinalConstants.d.ts +33 -0
- package/dist/processing/ordinalOverlays.d.ts +33 -0
- package/dist/processing/ordinalRenderPipeline.d.ts +148 -0
- package/dist/processing/xyDrawing.d.ts +46 -41
- package/dist/realtime/BinAccumulator.d.ts +8 -0
- package/dist/realtime/IncrementalExtent.d.ts +13 -0
- package/dist/realtime/RealtimeFrame.d.ts +4 -0
- package/dist/realtime/RingBuffer.d.ts +19 -0
- package/dist/realtime/renderers/barRenderer.d.ts +2 -0
- package/dist/realtime/renderers/candlestickRenderer.d.ts +2 -0
- package/dist/realtime/renderers/lineRenderer.d.ts +2 -0
- package/dist/realtime/renderers/swarmRenderer.d.ts +2 -0
- package/dist/realtime/renderers/types.d.ts +9 -0
- package/dist/realtime/renderers/waterfallRenderer.d.ts +3 -0
- package/dist/realtime/types.d.ts +113 -0
- package/dist/realtime.js +1598 -0
- package/dist/realtime.js.map +1 -0
- package/dist/realtime.min.js +1 -0
- package/dist/realtime.module.js +1566 -0
- package/dist/realtime.module.js.map +1 -0
- package/dist/realtime.module.min.js +1 -0
- package/dist/semiotic-ai.d.ts +28 -0
- package/dist/semiotic-ai.js +18722 -0
- package/dist/semiotic-ai.js.map +1 -0
- package/dist/semiotic-ai.min.js +1 -0
- package/dist/semiotic-ai.module.js +18668 -0
- package/dist/semiotic-ai.module.js.map +1 -0
- package/dist/semiotic-ai.module.min.js +1 -0
- package/dist/semiotic-network.d.ts +19 -0
- package/dist/semiotic-ordinal.d.ts +18 -0
- package/dist/semiotic-realtime.d.ts +23 -0
- package/dist/semiotic-server.d.ts +1 -0
- package/dist/semiotic-xy.d.ts +24 -0
- package/dist/semiotic.d.ts +19 -3
- package/dist/semiotic.js +18707 -12983
- package/dist/semiotic.js.map +1 -0
- package/dist/semiotic.min.js +1 -0
- package/dist/semiotic.module.js +18651 -12953
- package/dist/semiotic.module.js.map +1 -0
- package/dist/semiotic.module.min.js +1 -0
- package/dist/server/renderToStaticSVG.d.ts +9 -0
- package/dist/server.js +8360 -0
- package/dist/server.js.map +1 -0
- package/dist/server.min.js +1 -0
- package/dist/server.module.js +8331 -0
- package/dist/server.module.js.map +1 -0
- package/dist/server.module.min.js +1 -0
- package/dist/svg/SvgHelper.d.ts +1 -5
- package/dist/svg/areaDrawing.d.ts +3 -13
- package/dist/svg/boxplotRenderer.d.ts +15 -0
- package/dist/svg/bucketizedRenderer.d.ts +16 -0
- package/dist/svg/ckbinsRenderer.d.ts +20 -0
- package/dist/svg/contourLayout.d.ts +6 -0
- package/dist/svg/contourRenderer.d.ts +12 -0
- package/dist/svg/edgeGenerators.d.ts +51 -0
- package/dist/svg/frameFunctions.d.ts +17 -28
- package/dist/svg/graphAlgorithms.d.ts +14 -0
- package/dist/svg/hexbinLayout.d.ts +7 -0
- package/dist/svg/lineDrawing.d.ts +8 -8
- package/dist/svg/networkDrawing.d.ts +5 -123
- package/dist/svg/nodeGenerators.d.ts +58 -0
- package/dist/svg/pieceDrawing.d.ts +1 -2
- package/dist/svg/pieceLayouts.d.ts +5 -23
- package/dist/svg/sankeyLinks.d.ts +3 -0
- package/dist/svg/summaryAxis.d.ts +6 -0
- package/dist/svg/summaryLayouts.d.ts +36 -57
- package/dist/svg/swarmLayout.d.ts +13 -0
- package/dist/types/annotationTypes.d.ts +13 -18
- package/dist/types/canvasTypes.d.ts +1 -1
- package/dist/types/generalTypes.d.ts +37 -35
- package/dist/types/interactionTypes.d.ts +7 -9
- package/dist/types/legendTypes.d.ts +2 -2
- package/dist/types/networkTypes.d.ts +40 -30
- package/dist/types/ordinalTypes.d.ts +27 -18
- package/dist/types/xyTypes.d.ts +13 -16
- package/dist/useLegacyUnmountCallback.d.ts +2 -1
- package/dist/visualizationLayerBehavior/axis.d.ts +3 -5
- package/dist/visualizationLayerBehavior/general.d.ts +8 -12
- package/dist/xy.js +7944 -0
- package/dist/xy.js.map +1 -0
- package/dist/xy.min.js +1 -0
- package/dist/xy.module.js +7903 -0
- package/dist/xy.module.js.map +1 -0
- package/dist/xy.module.min.js +1 -0
- package/package.json +116 -66
- package/dist/AnnotationLayer/helpers.d.ts +0 -6
- package/dist/AnnotationLayer/index.d.ts +0 -2
- package/dist/Mark/Mark.d.ts +0 -3
- package/dist/Mark/Mark.types.d.ts +0 -10
- package/dist/Mark/constants/markTransition.d.ts +0 -10
- package/dist/Mark/markBehavior/drawing.d.ts +0 -13
- package/dist/SpanOrDiv.d.ts +0 -10
- package/dist/components/Annotation.d.ts +0 -3
- package/dist/components/AnnotationLayer/AnnotationLayer.d.ts +0 -26
- package/dist/components/Axis/Axis.d.ts +0 -7
- package/dist/components/Axis/axisTitle.d.ts +0 -10
- package/dist/components/Axis/index.d.ts +0 -2
- package/dist/components/Axis/summaryGraphic.d.ts +0 -17
- package/dist/components/Brush.d.ts +0 -12
- package/dist/components/DividedLine.d.ts +0 -16
- package/dist/components/FacetController.d.ts +0 -12
- package/dist/components/Frame.d.ts +0 -2
- package/dist/components/InteractionLayer.d.ts +0 -3
- package/dist/components/Legend.d.ts +0 -3
- package/dist/components/Mark/Mark.d.ts +0 -3
- package/dist/components/Mark/Mark.types.d.ts +0 -10
- package/dist/components/Mark/markBehavior/drawing.d.ts +0 -13
- package/dist/components/MiniMap.d.ts +0 -14
- package/dist/components/MinimapXYFrame.d.ts +0 -10
- package/dist/components/NetworkFrame.d.ts +0 -4
- package/dist/components/OrdinalFrame.d.ts +0 -4
- package/dist/components/ResponsiveFrame.d.ts +0 -22
- package/dist/components/ResponsiveMinimapXYFrame.d.ts +0 -6
- package/dist/components/ResponsiveNetworkFrame.d.ts +0 -6
- package/dist/components/ResponsiveOrdinalFrame.d.ts +0 -6
- package/dist/components/ResponsiveXYFrame.d.ts +0 -6
- package/dist/components/SpanOrDiv.d.ts +0 -10
- package/dist/components/SparkFrame.d.ts +0 -14
- package/dist/components/SparkNetworkFrame.d.ts +0 -5
- package/dist/components/SparkOrdinalFrame.d.ts +0 -5
- package/dist/components/SparkXYFrame.d.ts +0 -5
- package/dist/components/TooltipPositioner/index.d.ts +0 -7
- package/dist/components/VisualizationLayer.d.ts +0 -33
- package/dist/components/XYFrame.d.ts +0 -4
- package/dist/components/annotationLayerBehavior/annotationHandling.d.ts +0 -19
- package/dist/components/annotationLayerBehavior/d3labeler.d.ts +0 -9
- package/dist/components/annotationRules/baseRules.d.ts +0 -25
- package/dist/components/annotationRules/networkframeRules.d.ts +0 -48
- package/dist/components/annotationRules/orframeRules.d.ts +0 -105
- package/dist/components/annotationRules/xyframeRules.d.ts +0 -117
- package/dist/components/batchWork.d.ts +0 -6
- package/dist/components/constants/coordinateNames.d.ts +0 -8
- package/dist/components/constants/frame_props.d.ts +0 -4
- package/dist/components/constants/jsx.d.ts +0 -19
- package/dist/components/data/dataFunctions.d.ts +0 -46
- package/dist/components/data/multiAccessorUtils.d.ts +0 -1
- package/dist/components/data/unflowedFunctions.d.ts +0 -1
- package/dist/components/generic_utilities/functions.d.ts +0 -1
- package/dist/components/index.d.ts +0 -125
- package/dist/components/interactionLayerBehavior/InteractionCanvas.d.ts +0 -20
- package/dist/components/processing/InteractionItems.d.ts +0 -12
- package/dist/components/processing/network.d.ts +0 -114
- package/dist/components/processing/ordinal.d.ts +0 -102
- package/dist/components/processing/xyDrawing.d.ts +0 -135
- package/dist/components/semiotic.d.ts +0 -35
- package/dist/components/store/TooltipStore.d.ts +0 -2
- package/dist/components/store/createStore.d.ts +0 -1
- package/dist/components/svg/SvgHelper.d.ts +0 -37
- package/dist/components/svg/areaDrawing.d.ts +0 -31
- package/dist/components/svg/ckmeans.d.ts +0 -69
- package/dist/components/svg/frameFunctions.d.ts +0 -119
- package/dist/components/svg/lineDrawing.d.ts +0 -99
- package/dist/components/svg/networkDrawing.d.ts +0 -134
- package/dist/components/svg/pieceDrawing.d.ts +0 -13
- package/dist/components/svg/pieceLayouts.d.ts +0 -71
- package/dist/components/svg/summaryLayouts.d.ts +0 -74
- package/dist/components/types/annotationTypes.d.ts +0 -140
- package/dist/components/types/canvasTypes.d.ts +0 -9
- package/dist/components/types/generalTypes.d.ts +0 -236
- package/dist/components/types/interactionTypes.d.ts +0 -74
- package/dist/components/types/legendTypes.d.ts +0 -20
- package/dist/components/types/networkTypes.d.ts +0 -165
- package/dist/components/types/ordinalTypes.d.ts +0 -103
- package/dist/components/types/xyTypes.d.ts +0 -118
- package/dist/components/useBoundingRect.d.ts +0 -2
- package/dist/components/useDerivedStateFromProps.d.ts +0 -1
- package/dist/components/useLegacyUnmountCallback.d.ts +0 -1
- package/dist/components/visualizationLayerBehavior/axis.d.ts +0 -38
- package/dist/components/visualizationLayerBehavior/general.d.ts +0 -84
- package/dist/setupTests.d.ts +0 -1
|
@@ -0,0 +1,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;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format number with specified format string
|
|
3
|
+
*
|
|
4
|
+
* @param value - Number to format
|
|
5
|
+
* @param formatString - D3 format string (e.g., ".2f", ",.0f", ".1%")
|
|
6
|
+
* @returns Formatted string
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/d3/d3-format#format for format string options
|
|
9
|
+
*/
|
|
10
|
+
export declare function formatNumber(value: number, formatString?: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Format date with specified format string
|
|
13
|
+
*
|
|
14
|
+
* @param value - Date to format
|
|
15
|
+
* @param formatString - D3 time format string (e.g., "%Y-%m-%d", "%b %d")
|
|
16
|
+
* @returns Formatted string
|
|
17
|
+
*
|
|
18
|
+
* @see https://github.com/d3/d3-time-format#timeFormat for format string options
|
|
19
|
+
*/
|
|
20
|
+
export declare function formatDate(value: Date | number | string, formatString?: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Creates a formatting function based on the type
|
|
23
|
+
*
|
|
24
|
+
* @param type - Type of formatting: 'number', 'date', 'percent', or 'currency'
|
|
25
|
+
* @param options - Optional configuration for the formatter
|
|
26
|
+
* @returns Formatting function
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* const fmt = formatAxis('number', { decimals: 2 })
|
|
31
|
+
* fmt(1234.567) // "1,234.57"
|
|
32
|
+
*
|
|
33
|
+
* const dateFmt = formatAxis('date', { format: '%b %Y' })
|
|
34
|
+
* dateFmt(new Date()) // "Jan 2024"
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare function formatAxis(type?: "number" | "date" | "percent" | "currency", options?: {
|
|
38
|
+
decimals?: number;
|
|
39
|
+
format?: string;
|
|
40
|
+
currency?: string;
|
|
41
|
+
}): (d: any) => string;
|
|
42
|
+
/**
|
|
43
|
+
* Creates a tooltip content generator
|
|
44
|
+
*
|
|
45
|
+
* @param fields - Array of field names to display
|
|
46
|
+
* @param formatters - Optional map of field names to formatting functions
|
|
47
|
+
* @param labels - Optional map of field names to display labels
|
|
48
|
+
* @returns React element generator function
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* const tooltip = createTooltip(
|
|
53
|
+
* ['category', 'value'],
|
|
54
|
+
* { value: d => formatNumber(d, ',.2f') },
|
|
55
|
+
* { category: 'Category', value: 'Value' }
|
|
56
|
+
* )
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function createTooltip(fields: string[], formatters?: Record<string, (v: any) => string>, labels?: Record<string, string>): (d: any) => JSX.Element;
|
|
60
|
+
/**
|
|
61
|
+
* Formats large numbers with K/M/B suffixes
|
|
62
|
+
*
|
|
63
|
+
* @param value - Number to format
|
|
64
|
+
* @param decimals - Number of decimal places
|
|
65
|
+
* @returns Formatted string with suffix
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```ts
|
|
69
|
+
* formatLargeNumber(1234) // "1.2K"
|
|
70
|
+
* formatLargeNumber(1234567) // "1.2M"
|
|
71
|
+
* formatLargeNumber(1234567890) // "1.2B"
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function formatLargeNumber(value: number, decimals?: number): string;
|
|
75
|
+
/**
|
|
76
|
+
* Truncates text to specified length with ellipsis
|
|
77
|
+
*
|
|
78
|
+
* @param text - Text to truncate
|
|
79
|
+
* @param maxLength - Maximum length before truncation
|
|
80
|
+
* @returns Truncated text
|
|
81
|
+
*/
|
|
82
|
+
export declare function truncateText(text: string, maxLength?: number): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Accessor } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Default fill color used when no colorBy is specified
|
|
4
|
+
*/
|
|
5
|
+
export declare const DEFAULT_COLOR = "#007bff";
|
|
6
|
+
/**
|
|
7
|
+
* Resolve an accessor (string key or function) into a function.
|
|
8
|
+
* Used across chart components to normalize `valueAccessor`, `categoryAccessor`, etc.
|
|
9
|
+
*/
|
|
10
|
+
export declare function resolveAccessor<T = any>(accessor: string | ((d: Record<string, any>, i?: number) => T)): (d: Record<string, any>) => T;
|
|
11
|
+
/**
|
|
12
|
+
* Hook to create a color scale from data and colorBy configuration.
|
|
13
|
+
* Returns undefined when colorBy is absent or is a function accessor.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useColorScale(data: Array<Record<string, any>>, colorBy: Accessor<string> | undefined, colorScheme?: string | string[]): ((v: string) => string) | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Hook to sort data by a value accessor.
|
|
18
|
+
* Used by BarChart and DotPlot.
|
|
19
|
+
*/
|
|
20
|
+
export declare function useSortedData(data: Array<Record<string, any>>, sort: boolean | "asc" | "desc" | ((a: Record<string, any>, b: Record<string, any>) => number), valueAccessor: Accessor<number>): Array<Record<string, any>>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Accessor } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Create a legend configuration for HOC components
|
|
4
|
+
*
|
|
5
|
+
* @param data - Array of data points
|
|
6
|
+
* @param colorBy - Field or function to determine color categories
|
|
7
|
+
* @param colorScale - Optional d3 color scale function
|
|
8
|
+
* @param getColor - Function to get color for a data point
|
|
9
|
+
* @param strokeColor - Optional stroke color for legend items
|
|
10
|
+
* @param strokeWidth - Optional stroke width for legend items
|
|
11
|
+
* @returns Legend configuration object for Semiotic frames
|
|
12
|
+
*/
|
|
13
|
+
export declare function createLegend({ data, colorBy, colorScale, getColor, strokeColor, strokeWidth }: {
|
|
14
|
+
data: Array<Record<string, any>>;
|
|
15
|
+
colorBy: Accessor<string>;
|
|
16
|
+
colorScale?: ((v: string) => string);
|
|
17
|
+
getColor: (d: Record<string, any>, accessor: Accessor<string>, scale?: ((v: string) => string)) => string;
|
|
18
|
+
strokeColor?: string;
|
|
19
|
+
strokeWidth?: number;
|
|
20
|
+
}): {
|
|
21
|
+
legendGroups: {
|
|
22
|
+
styleFn: (d: {
|
|
23
|
+
color: string;
|
|
24
|
+
}) => Record<string, string | number>;
|
|
25
|
+
type: "fill";
|
|
26
|
+
items: {
|
|
27
|
+
label: string;
|
|
28
|
+
color: string;
|
|
29
|
+
}[];
|
|
30
|
+
label: string;
|
|
31
|
+
}[];
|
|
32
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { MarginType } from "../../types/generalTypes";
|
|
2
|
+
/**
|
|
3
|
+
* Base props shared across all chart components
|
|
4
|
+
*/
|
|
5
|
+
export interface BaseChartProps {
|
|
6
|
+
/** Chart width in pixels. Default: 600 */
|
|
7
|
+
width?: number;
|
|
8
|
+
/** Chart height in pixels. Default: 400 */
|
|
9
|
+
height?: number;
|
|
10
|
+
/** Margin around the chart. Can be number (same on all sides) or object specifying each side */
|
|
11
|
+
margin?: MarginType;
|
|
12
|
+
/** CSS class name for the chart container */
|
|
13
|
+
className?: string;
|
|
14
|
+
/** Chart title displayed at the top */
|
|
15
|
+
title?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Axis configuration props
|
|
19
|
+
*/
|
|
20
|
+
export interface AxisConfig {
|
|
21
|
+
/** Label for the x-axis */
|
|
22
|
+
xLabel?: string;
|
|
23
|
+
/** Label for the y-axis */
|
|
24
|
+
yLabel?: string;
|
|
25
|
+
/** Format function for x-axis tick labels */
|
|
26
|
+
xFormat?: (d: any) => string;
|
|
27
|
+
/** Format function for y-axis tick labels */
|
|
28
|
+
yFormat?: (d: any) => string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Accessor type - can be a property name or a function
|
|
32
|
+
* @deprecated Use DataAccessor from generalTypes for generic type safety
|
|
33
|
+
*/
|
|
34
|
+
export type Accessor<T = any> = string | ((d: any, i?: number) => T);
|
|
35
|
+
/**
|
|
36
|
+
* Generic accessor type that provides autocomplete when TDatum is specified
|
|
37
|
+
*/
|
|
38
|
+
export type ChartAccessor<TDatum, T> = (keyof TDatum & string) | ((d: TDatum, i?: number) => T);
|
|
39
|
+
/**
|
|
40
|
+
* Color configuration
|
|
41
|
+
*/
|
|
42
|
+
export interface ColorConfig {
|
|
43
|
+
/** Field name or function to determine color */
|
|
44
|
+
colorBy?: Accessor<string>;
|
|
45
|
+
/** Color scheme name (e.g., "blues", "category10") */
|
|
46
|
+
colorScheme?: string;
|
|
47
|
+
/** Custom color palette */
|
|
48
|
+
colors?: string[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Size configuration
|
|
52
|
+
*/
|
|
53
|
+
export interface SizeConfig {
|
|
54
|
+
/** Field name or function to determine size */
|
|
55
|
+
sizeBy?: Accessor<number>;
|
|
56
|
+
/** Min and max size range */
|
|
57
|
+
sizeRange?: [number, number];
|
|
58
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates chart data and accessors at render time.
|
|
3
|
+
* Returns null if data is valid, or an error message string if not.
|
|
4
|
+
*
|
|
5
|
+
* Validation is intentionally lightweight — it checks the first data point
|
|
6
|
+
* to catch common mistakes (wrong field names, missing data) without
|
|
7
|
+
* iterating the entire dataset.
|
|
8
|
+
*/
|
|
9
|
+
type AccessorLike = string | ((...args: any[]) => any);
|
|
10
|
+
interface ArrayDataValidation {
|
|
11
|
+
componentName: string;
|
|
12
|
+
data: any[] | undefined | null;
|
|
13
|
+
accessors?: Record<string, AccessorLike | undefined>;
|
|
14
|
+
requiredProps?: Record<string, any>;
|
|
15
|
+
}
|
|
16
|
+
interface ObjectDataValidation {
|
|
17
|
+
componentName: string;
|
|
18
|
+
data: any | undefined | null;
|
|
19
|
+
dataLabel?: string;
|
|
20
|
+
}
|
|
21
|
+
interface NetworkDataValidation {
|
|
22
|
+
componentName: string;
|
|
23
|
+
nodes?: any[] | undefined | null;
|
|
24
|
+
edges?: any[] | undefined | null;
|
|
25
|
+
nodesRequired?: boolean;
|
|
26
|
+
edgesRequired?: boolean;
|
|
27
|
+
accessors?: Record<string, AccessorLike | undefined>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Validate array-based chart data (LineChart, BarChart, Scatterplot, etc.)
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateArrayData({ componentName, data, accessors, requiredProps, }: ArrayDataValidation): string | null;
|
|
33
|
+
/**
|
|
34
|
+
* Validate object/hierarchical data (TreeDiagram, Treemap, CirclePack)
|
|
35
|
+
*/
|
|
36
|
+
export declare function validateObjectData({ componentName, data, dataLabel, }: ObjectDataValidation): string | null;
|
|
37
|
+
/**
|
|
38
|
+
* Validate network data (ForceDirectedGraph, ChordDiagram, SankeyDiagram)
|
|
39
|
+
*/
|
|
40
|
+
export declare function validateNetworkData({ componentName, nodes, edges, nodesRequired, edgesRequired, accessors, }: NetworkDataValidation): string | null;
|
|
41
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Static props validation for AI code-generation pipelines.
|
|
3
|
+
*
|
|
4
|
+
* Validates component name, required props, prop types, enum values,
|
|
5
|
+
* unknown props (typo detection), and data shape via the existing
|
|
6
|
+
* validateArrayData / validateObjectData / validateNetworkData helpers.
|
|
7
|
+
*/
|
|
8
|
+
export interface ValidationResult {
|
|
9
|
+
valid: boolean;
|
|
10
|
+
errors: string[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Validate props for a Semiotic HOC chart component.
|
|
14
|
+
*
|
|
15
|
+
* Checks: component name, required props, prop types, enum values,
|
|
16
|
+
* unknown prop names (typo detection), and data shape + accessor validity.
|
|
17
|
+
*/
|
|
18
|
+
export declare function validateProps(componentName: string, props: Record<string, any>): ValidationResult;
|