semiotic 3.4.0 → 3.4.2
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 +16 -3
- package/ai/schema.json +42 -1
- package/ai/system-prompt.md +4 -0
- package/dist/components/Annotation.d.ts +42 -2
- package/dist/components/CategoryColors.d.ts +1 -1
- package/dist/components/ChartGrid.d.ts +1 -1
- package/dist/components/ContextLayout.d.ts +1 -1
- package/dist/components/DataSummaryContext.d.ts +1 -1
- package/dist/components/DetailsPanel.d.ts +3 -2
- package/dist/components/Legend.d.ts +2 -3
- package/dist/components/LinkedCharts.d.ts +1 -1
- package/dist/components/ThemeProvider.d.ts +1 -1
- package/dist/components/Tooltip/FlippingTooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +4 -3
- package/dist/components/charts/geo/ChoroplethMap.d.ts +4 -4
- package/dist/components/charts/geo/DistanceCartogram.d.ts +5 -4
- package/dist/components/charts/geo/FlowMap.d.ts +4 -4
- package/dist/components/charts/geo/ProportionalSymbolMap.d.ts +4 -3
- package/dist/components/charts/index.d.ts +2 -0
- package/dist/components/charts/network/ChordDiagram.d.ts +4 -3
- package/dist/components/charts/network/CirclePack.d.ts +3 -3
- package/dist/components/charts/network/ForceDirectedGraph.d.ts +3 -2
- package/dist/components/charts/network/OrbitDiagram.d.ts +6 -5
- package/dist/components/charts/network/SankeyDiagram.d.ts +4 -3
- package/dist/components/charts/network/TreeDiagram.d.ts +3 -3
- package/dist/components/charts/network/Treemap.d.ts +3 -3
- package/dist/components/charts/ordinal/BarChart.d.ts +24 -4
- package/dist/components/charts/ordinal/BoxPlot.d.ts +4 -3
- package/dist/components/charts/ordinal/DonutChart.d.ts +4 -3
- package/dist/components/charts/ordinal/DotPlot.d.ts +4 -3
- package/dist/components/charts/ordinal/FunnelChart.d.ts +4 -3
- package/dist/components/charts/ordinal/GaugeChart.d.ts +2 -1
- package/dist/components/charts/ordinal/GroupedBarChart.d.ts +4 -3
- package/dist/components/charts/ordinal/Histogram.d.ts +4 -3
- package/dist/components/charts/ordinal/LikertChart.d.ts +4 -3
- package/dist/components/charts/ordinal/PieChart.d.ts +4 -3
- package/dist/components/charts/ordinal/RidgelinePlot.d.ts +4 -3
- package/dist/components/charts/ordinal/StackedBarChart.d.ts +4 -3
- package/dist/components/charts/ordinal/SwarmPlot.d.ts +4 -3
- package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -3
- package/dist/components/charts/ordinal/ViolinPlot.d.ts +4 -3
- package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +7 -6
- package/dist/components/charts/realtime/RealtimeHistogram.d.ts +10 -7
- package/dist/components/charts/realtime/RealtimeLineChart.d.ts +9 -6
- package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +7 -6
- package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +9 -6
- package/dist/components/charts/shared/ChartError.d.ts +1 -2
- package/dist/components/charts/shared/annotationResolvers.d.ts +4 -3
- package/dist/components/charts/shared/annotationRules.d.ts +2 -1
- package/dist/components/charts/shared/colorUtils.d.ts +4 -3
- package/dist/components/charts/shared/datumTypes.d.ts +20 -0
- package/dist/components/charts/shared/diagnoseConfig.d.ts +2 -7
- package/dist/components/charts/shared/formatUtils.d.ts +4 -2
- package/dist/components/charts/shared/hooks.d.ts +27 -23
- package/dist/components/charts/shared/legendUtils.d.ts +3 -2
- package/dist/components/charts/shared/mergeShapeStyle.d.ts +43 -0
- package/dist/components/charts/shared/networkUtils.d.ts +7 -6
- package/dist/components/charts/shared/selectionUtils.d.ts +5 -4
- package/dist/components/charts/shared/statisticalOverlays.d.ts +14 -26
- package/dist/components/charts/shared/statisticalOverlaysLazy.d.ts +2 -2
- package/dist/components/charts/shared/statsTooltip.d.ts +3 -2
- package/dist/components/charts/shared/tooltipUtils.d.ts +7 -6
- package/dist/components/charts/shared/types.d.ts +22 -13
- package/dist/components/charts/shared/useChartSetup.d.ts +7 -6
- package/dist/components/charts/shared/useLikertAggregation.d.ts +18 -7
- package/dist/components/charts/shared/useOrdinalStreaming.d.ts +3 -2
- package/dist/components/charts/shared/useStreamingLegend.d.ts +2 -1
- package/dist/components/charts/shared/validateChartData.d.ts +2 -1
- package/dist/components/charts/shared/validateProps.d.ts +2 -8
- package/dist/components/charts/shared/withChartWrapper.d.ts +1 -1
- package/dist/components/charts/xy/AreaChart.d.ts +4 -3
- package/dist/components/charts/xy/BubbleChart.d.ts +4 -3
- package/dist/components/charts/xy/CandlestickChart.d.ts +47 -0
- package/dist/components/charts/xy/ConnectedScatterplot.d.ts +4 -3
- package/dist/components/charts/xy/Heatmap.d.ts +12 -7
- package/dist/components/charts/xy/LineChart.d.ts +4 -3
- package/dist/components/charts/xy/MinimapChart.d.ts +4 -4
- package/dist/components/charts/xy/MultiAxisLineChart.d.ts +5 -4
- package/dist/components/charts/xy/QuadrantChart.d.ts +4 -3
- package/dist/components/charts/xy/Scatterplot.d.ts +4 -3
- package/dist/components/charts/xy/ScatterplotMatrix.d.ts +3 -3
- package/dist/components/charts/xy/StackedAreaChart.d.ts +4 -3
- package/dist/components/data/transforms.d.ts +8 -7
- package/dist/components/export/chartConfig.d.ts +4 -3
- package/dist/components/export/selectionSerializer.d.ts +1 -1
- package/dist/components/geo/mergeData.d.ts +2 -1
- package/dist/components/realtime/BinAccumulator.d.ts +3 -2
- package/dist/components/realtime/renderers/types.d.ts +2 -1
- package/dist/components/realtime/renderers/waterfallRenderer.d.ts +2 -1
- package/dist/components/realtime/types.d.ts +25 -21
- package/dist/components/semiotic-themes.d.ts +2 -1
- package/dist/components/semiotic-xy.d.ts +2 -0
- package/dist/components/semiotic.d.ts +3 -3
- package/dist/components/server/animatedGif.d.ts +4 -18
- package/dist/components/server/renderToStaticSVG.d.ts +5 -4
- package/dist/components/server/serverChartConfigs.d.ts +2 -10
- package/dist/components/server/staticAnnotations.d.ts +2 -1
- package/dist/components/server/staticLegend.d.ts +2 -1
- package/dist/components/store/ObservationStore.d.ts +4 -3
- package/dist/components/store/SelectionStore.d.ts +4 -9
- package/dist/components/store/ThemeStore.d.ts +32 -4
- package/dist/components/store/TooltipStore.d.ts +6 -2
- package/dist/components/store/useSelection.d.ts +13 -9
- package/dist/components/stream/AccessibleDataTable.d.ts +5 -5
- package/dist/components/stream/CanvasHitTester.d.ts +2 -1
- package/dist/components/stream/DataSourceAdapter.d.ts +2 -1
- package/dist/components/stream/FocusRing.d.ts +1 -2
- package/dist/components/stream/GeoParticlePool.d.ts +2 -1
- package/dist/components/stream/GeoPipelineStore.d.ts +7 -6
- package/dist/components/stream/MarginalGraphics.d.ts +1 -2
- package/dist/components/stream/NetworkPipelineStore.d.ts +3 -2
- package/dist/components/stream/NetworkSVGOverlay.d.ts +21 -15
- package/dist/components/stream/OrdinalBrushOverlay.d.ts +1 -19
- package/dist/components/stream/OrdinalPipelineStore.d.ts +6 -5
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +6 -5
- package/dist/components/stream/PipelineStore.d.ts +63 -28
- package/dist/components/stream/SVGOverlay.d.ts +10 -10
- package/dist/components/stream/SceneGraph.d.ts +6 -5
- package/dist/components/stream/StreamGeoFrame.d.ts +2 -1
- package/dist/components/stream/StreamNetworkFrame.d.ts +2 -1
- package/dist/components/stream/StreamOrdinalFrame.d.ts +2 -1
- package/dist/components/stream/StreamXYFrame.d.ts +2 -1
- package/dist/components/stream/XYBrushOverlay.d.ts +1 -21
- package/dist/components/stream/devDataAccessWarning.d.ts +2 -11
- package/dist/components/stream/geoTypes.d.ts +43 -24
- package/dist/components/stream/hoverUtils.d.ts +2 -1
- package/dist/components/stream/keyboardNav.d.ts +18 -6
- package/dist/components/stream/layouts/hierarchySceneBuilders.d.ts +4 -3
- package/dist/components/stream/layouts/hierarchyUtils.d.ts +4 -3
- package/dist/components/stream/networkTypes.d.ts +73 -47
- package/dist/components/stream/ordinalSceneBuilders/barFunnelScene.d.ts +1 -1
- package/dist/components/stream/ordinalSceneBuilders/barScene.d.ts +2 -2
- package/dist/components/stream/ordinalSceneBuilders/connectorScene.d.ts +1 -1
- package/dist/components/stream/ordinalSceneBuilders/pointScene.d.ts +2 -2
- package/dist/components/stream/ordinalSceneBuilders/statisticalScene.d.ts +4 -4
- package/dist/components/stream/ordinalSceneBuilders/swimlaneScene.d.ts +1 -1
- package/dist/components/stream/ordinalSceneBuilders/timelineScene.d.ts +1 -1
- package/dist/components/stream/ordinalSceneBuilders/types.d.ts +9 -8
- package/dist/components/stream/ordinalTypes.d.ts +65 -33
- package/dist/components/stream/pipelineDecay.d.ts +2 -1
- package/dist/components/stream/pipelinePulse.d.ts +2 -1
- package/dist/components/stream/pipelineTransitions.d.ts +16 -4
- package/dist/components/stream/renderers/colorUtils.d.ts +20 -0
- package/dist/components/stream/types.d.ts +58 -17
- package/dist/components/stream/xySceneBuilders/areaScene.d.ts +3 -2
- package/dist/components/stream/xySceneBuilders/barScene.d.ts +2 -1
- package/dist/components/stream/xySceneBuilders/boundsScene.d.ts +2 -1
- package/dist/components/stream/xySceneBuilders/candlestickScene.d.ts +2 -1
- package/dist/components/stream/xySceneBuilders/emitPointNodes.d.ts +3 -2
- package/dist/components/stream/xySceneBuilders/heatmapScene.d.ts +2 -1
- package/dist/components/stream/xySceneBuilders/lineScene.d.ts +2 -1
- package/dist/components/stream/xySceneBuilders/mixedScene.d.ts +2 -1
- package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -1
- package/dist/components/stream/xySceneBuilders/swarmScene.d.ts +2 -1
- package/dist/components/stream/xySceneBuilders/types.d.ts +35 -26
- package/dist/components/stream/xySceneBuilders/waterfallScene.d.ts +2 -1
- package/dist/components/types/marginType.d.ts +15 -0
- package/dist/geo.min.js +1 -1
- package/dist/geo.module.min.js +1 -1
- package/dist/network.min.js +1 -1
- package/dist/network.module.min.js +1 -1
- package/dist/ordinal.min.js +1 -1
- package/dist/ordinal.module.min.js +1 -1
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-statisticalOverlays-Ckd_jM8z.js +1 -0
- package/dist/semiotic-themes.d.ts +2 -1
- package/dist/semiotic-themes.min.js +1 -1
- package/dist/semiotic-themes.module.min.js +1 -1
- package/dist/semiotic-utils.min.js +1 -1
- package/dist/semiotic-utils.module.min.js +1 -1
- package/dist/semiotic-xy.d.ts +2 -0
- package/dist/semiotic.d.ts +3 -3
- package/dist/semiotic.min.js +1 -1
- package/dist/semiotic.module.min.js +1 -1
- package/dist/server.min.js +1 -1
- package/dist/server.module.min.js +1 -1
- package/dist/test-utils/canvasMock.d.ts +10 -2
- package/dist/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +38 -32
- package/dist/components/types/annotationTypes.d.ts +0 -145
- package/dist/components/types/generalTypes.d.ts +0 -241
- package/dist/components/types/interactionTypes.d.ts +0 -72
- package/dist/components/types/networkTypes.d.ts +0 -174
- package/dist/components/types/ordinalTypes.d.ts +0 -112
- package/dist/semiotic-statisticalOverlays-DGX_WWc5.js +0 -1
|
@@ -2,8 +2,9 @@ import type { ReactNode } from "react";
|
|
|
2
2
|
import type { OnObservationCallback } from "../store/ObservationStore";
|
|
3
3
|
import type { HoverData, AnnotationContext } from "../realtime/types";
|
|
4
4
|
import type { LegendGroup } from "../types/legendTypes";
|
|
5
|
-
import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig } from "./types";
|
|
5
|
+
import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors, SceneDatum } from "./types";
|
|
6
6
|
import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
7
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
7
8
|
export interface TensionConfig {
|
|
8
9
|
weightChange: number;
|
|
9
10
|
newEdge: number;
|
|
@@ -32,7 +33,7 @@ export interface RealtimeNode {
|
|
|
32
33
|
_targetY1?: number;
|
|
33
34
|
value: number;
|
|
34
35
|
depth?: number;
|
|
35
|
-
data?:
|
|
36
|
+
data?: Datum;
|
|
36
37
|
createdByFrame?: boolean;
|
|
37
38
|
sourceLinks?: RealtimeEdge[];
|
|
38
39
|
targetLinks?: RealtimeEdge[];
|
|
@@ -57,9 +58,9 @@ export interface RealtimeEdge {
|
|
|
57
58
|
_introFromZero?: boolean;
|
|
58
59
|
direction?: string;
|
|
59
60
|
circular?: boolean;
|
|
60
|
-
circularPathData?:
|
|
61
|
+
circularPathData?: CircularPathData;
|
|
61
62
|
bezier?: BezierCache;
|
|
62
|
-
data?:
|
|
63
|
+
data?: Datum;
|
|
63
64
|
/** Unique key for this edge (supports parallel edges between same node pair) */
|
|
64
65
|
_edgeKey?: string;
|
|
65
66
|
_pulseIntensity?: number;
|
|
@@ -79,6 +80,27 @@ export interface BezierCache {
|
|
|
79
80
|
segments?: Array<[BezierPoint, BezierPoint, BezierPoint, BezierPoint]>;
|
|
80
81
|
halfWidth: number;
|
|
81
82
|
}
|
|
83
|
+
export interface CircularPathData {
|
|
84
|
+
sourceX: number;
|
|
85
|
+
targetX: number;
|
|
86
|
+
sourceY: number;
|
|
87
|
+
targetY: number;
|
|
88
|
+
rightFullExtent: number;
|
|
89
|
+
leftFullExtent: number;
|
|
90
|
+
verticalFullExtent: number;
|
|
91
|
+
rightInnerExtent: number;
|
|
92
|
+
leftInnerExtent: number;
|
|
93
|
+
verticalRightInnerExtent: number;
|
|
94
|
+
verticalLeftInnerExtent: number;
|
|
95
|
+
rightSmallArcRadius: number;
|
|
96
|
+
rightLargeArcRadius: number;
|
|
97
|
+
leftSmallArcRadius: number;
|
|
98
|
+
leftLargeArcRadius: number;
|
|
99
|
+
sourceWidth: number;
|
|
100
|
+
rightNodeBuffer: number;
|
|
101
|
+
leftNodeBuffer: number;
|
|
102
|
+
arcRadius: number;
|
|
103
|
+
}
|
|
82
104
|
export interface Particle {
|
|
83
105
|
t: number;
|
|
84
106
|
offset: number;
|
|
@@ -132,7 +154,7 @@ export interface RealtimeNetworkFrameProps {
|
|
|
132
154
|
enableHover?: boolean;
|
|
133
155
|
tooltipContent?: (d: {
|
|
134
156
|
type: "node" | "edge";
|
|
135
|
-
data:
|
|
157
|
+
data: Datum | null;
|
|
136
158
|
}) => ReactNode;
|
|
137
159
|
onTopologyChange?: (nodes: RealtimeNode[], edges: RealtimeEdge[]) => void;
|
|
138
160
|
background?: string;
|
|
@@ -146,7 +168,7 @@ export interface NetworkCircleNode {
|
|
|
146
168
|
cy: number;
|
|
147
169
|
r: number;
|
|
148
170
|
style: Style;
|
|
149
|
-
datum:
|
|
171
|
+
datum: SceneDatum;
|
|
150
172
|
id?: string;
|
|
151
173
|
label?: string;
|
|
152
174
|
depth?: number;
|
|
@@ -162,7 +184,7 @@ export interface NetworkRectNode {
|
|
|
162
184
|
w: number;
|
|
163
185
|
h: number;
|
|
164
186
|
style: Style;
|
|
165
|
-
datum:
|
|
187
|
+
datum: SceneDatum;
|
|
166
188
|
id?: string;
|
|
167
189
|
label?: string;
|
|
168
190
|
depth?: number;
|
|
@@ -183,7 +205,7 @@ export interface NetworkArcNode {
|
|
|
183
205
|
/** End angle in radians, canvas convention */
|
|
184
206
|
endAngle: number;
|
|
185
207
|
style: Style;
|
|
186
|
-
datum:
|
|
208
|
+
datum: SceneDatum;
|
|
187
209
|
id?: string;
|
|
188
210
|
label?: string;
|
|
189
211
|
_pulseIntensity?: number;
|
|
@@ -198,7 +220,7 @@ export interface NetworkLineEdge {
|
|
|
198
220
|
x2: number;
|
|
199
221
|
y2: number;
|
|
200
222
|
style: Style;
|
|
201
|
-
datum:
|
|
223
|
+
datum: SceneDatum;
|
|
202
224
|
_pulseIntensity?: number;
|
|
203
225
|
_pulseColor?: string;
|
|
204
226
|
}
|
|
@@ -208,7 +230,7 @@ export interface NetworkBezierEdge {
|
|
|
208
230
|
pathD: string;
|
|
209
231
|
bezierCache?: BezierCache;
|
|
210
232
|
style: Style;
|
|
211
|
-
datum:
|
|
233
|
+
datum: SceneDatum;
|
|
212
234
|
_pulseIntensity?: number;
|
|
213
235
|
_pulseColor?: string;
|
|
214
236
|
/** Lazily-built Path2D for hit testing; invalidated when pathD changes. */
|
|
@@ -220,7 +242,7 @@ export interface NetworkRibbonEdge {
|
|
|
220
242
|
type: "ribbon";
|
|
221
243
|
pathD: string;
|
|
222
244
|
style: Style;
|
|
223
|
-
datum:
|
|
245
|
+
datum: SceneDatum;
|
|
224
246
|
_pulseIntensity?: number;
|
|
225
247
|
_pulseColor?: string;
|
|
226
248
|
_cachedPath2D?: Path2D;
|
|
@@ -231,7 +253,7 @@ export interface NetworkCurvedEdge {
|
|
|
231
253
|
type: "curved";
|
|
232
254
|
pathD: string;
|
|
233
255
|
style: Style;
|
|
234
|
-
datum:
|
|
256
|
+
datum: SceneDatum;
|
|
235
257
|
_pulseIntensity?: number;
|
|
236
258
|
_pulseColor?: string;
|
|
237
259
|
_cachedPath2D?: Path2D;
|
|
@@ -299,24 +321,24 @@ export interface ThresholdAlertConfig {
|
|
|
299
321
|
}
|
|
300
322
|
export interface NetworkPipelineConfig {
|
|
301
323
|
chartType: NetworkChartType;
|
|
302
|
-
nodeIDAccessor?: string | ((d:
|
|
303
|
-
sourceAccessor?: string | ((d:
|
|
304
|
-
targetAccessor?: string | ((d:
|
|
305
|
-
valueAccessor?: string | ((d:
|
|
324
|
+
nodeIDAccessor?: string | ((d: Datum) => string);
|
|
325
|
+
sourceAccessor?: string | ((d: Datum) => string);
|
|
326
|
+
targetAccessor?: string | ((d: Datum) => string);
|
|
327
|
+
valueAccessor?: string | ((d: Datum) => number);
|
|
306
328
|
/** Edge ID accessor for removeEdge(edgeId) — enables single-ID edge removal */
|
|
307
|
-
edgeIdAccessor?: string | ((d:
|
|
308
|
-
childrenAccessor?: string | ((d:
|
|
309
|
-
hierarchySum?: string | ((d:
|
|
329
|
+
edgeIdAccessor?: string | ((d: Datum) => string);
|
|
330
|
+
childrenAccessor?: string | ((d: Datum) => Datum[]);
|
|
331
|
+
hierarchySum?: string | ((d: Datum) => number);
|
|
310
332
|
orientation?: "horizontal" | "vertical";
|
|
311
333
|
nodeAlign?: "justify" | "left" | "right" | "center";
|
|
312
334
|
nodePaddingRatio?: number;
|
|
313
335
|
nodeWidth?: number;
|
|
314
|
-
edgeSort?: (a:
|
|
336
|
+
edgeSort?: (a: unknown, b: unknown) => number;
|
|
315
337
|
iterations?: number;
|
|
316
338
|
forceStrength?: number;
|
|
317
339
|
padAngle?: number;
|
|
318
340
|
groupWidth?: number;
|
|
319
|
-
sortGroups?: (a:
|
|
341
|
+
sortGroups?: (a: unknown, b: unknown) => number;
|
|
320
342
|
treeOrientation?: "vertical" | "horizontal" | "radial";
|
|
321
343
|
edgeType?: "line" | "curve";
|
|
322
344
|
padding?: number;
|
|
@@ -324,17 +346,21 @@ export interface NetworkPipelineConfig {
|
|
|
324
346
|
tensionConfig?: TensionConfig;
|
|
325
347
|
showParticles?: boolean;
|
|
326
348
|
particleStyle?: ParticleStyle;
|
|
327
|
-
nodeStyle?: (d:
|
|
328
|
-
edgeStyle?: (d:
|
|
329
|
-
nodeLabel?: string | ((d:
|
|
349
|
+
nodeStyle?: (d: Datum) => Datum;
|
|
350
|
+
edgeStyle?: (d: Datum) => Datum;
|
|
351
|
+
nodeLabel?: string | ((d: Datum) => string);
|
|
330
352
|
showLabels?: boolean;
|
|
331
353
|
labelMode?: "leaf" | "parent" | "all";
|
|
332
|
-
colorBy?: string | ((d:
|
|
354
|
+
colorBy?: string | ((d: Datum) => string | number);
|
|
333
355
|
colorScheme?: string | string[];
|
|
334
|
-
|
|
356
|
+
/** Theme categorical palette — used as fallback when colorScheme is not an explicit array */
|
|
357
|
+
themeCategorical?: string[];
|
|
358
|
+
/** Theme-resolved semantic role colors — default fallback before hardcoded hex. See `ThemeSemanticColors` in ./types. */
|
|
359
|
+
themeSemantic?: ThemeSemanticColors;
|
|
360
|
+
edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
|
|
335
361
|
edgeOpacity?: number;
|
|
336
362
|
colorByDepth?: boolean;
|
|
337
|
-
nodeSize?: number | string | ((d:
|
|
363
|
+
nodeSize?: number | string | ((d: Datum) => number);
|
|
338
364
|
nodeSizeRange?: [number, number];
|
|
339
365
|
decay?: DecayConfig;
|
|
340
366
|
pulse?: PulseConfig;
|
|
@@ -347,11 +373,11 @@ export interface NetworkPipelineConfig {
|
|
|
347
373
|
* "atomic" ([2,8] electron shell), or custom capacities. @default "flat" */
|
|
348
374
|
orbitMode?: "flat" | "solar" | "atomic" | number[];
|
|
349
375
|
/** Ring size divisor per depth. Larger = tighter orbits. @default 2.95 */
|
|
350
|
-
orbitSize?: number | ((node:
|
|
376
|
+
orbitSize?: number | ((node: Datum) => number);
|
|
351
377
|
/** Orbit speed multiplier (higher = faster rotation). @default 0.25 */
|
|
352
378
|
orbitSpeed?: number;
|
|
353
379
|
/** Per-node speed modifier. @default (node) => 1 / (node.depth + 1) */
|
|
354
|
-
orbitRevolution?: (node:
|
|
380
|
+
orbitRevolution?: (node: Datum) => number;
|
|
355
381
|
/**
|
|
356
382
|
* Built-in revolution style presets:
|
|
357
383
|
* - "locked": children rotate with parent at decreasing speed (default)
|
|
@@ -362,7 +388,7 @@ export interface NetworkPipelineConfig {
|
|
|
362
388
|
*/
|
|
363
389
|
orbitRevolutionStyle?: "locked" | "decay" | "alternate";
|
|
364
390
|
/** Vertical squash for elliptical orbits. 1 = circle. @default 1 */
|
|
365
|
-
orbitEccentricity?: number | ((node:
|
|
391
|
+
orbitEccentricity?: number | ((node: Datum) => number);
|
|
366
392
|
/** Show orbital ring ellipses as foreground graphics. @default true */
|
|
367
393
|
orbitShowRings?: boolean;
|
|
368
394
|
/** Enable orbit animation. @default true */
|
|
@@ -377,7 +403,7 @@ export interface NetworkPipelineConfig {
|
|
|
377
403
|
y: number;
|
|
378
404
|
}>;
|
|
379
405
|
}
|
|
380
|
-
export interface StreamNetworkFrameProps<T =
|
|
406
|
+
export interface StreamNetworkFrameProps<T = Datum> {
|
|
381
407
|
chartType: NetworkChartType;
|
|
382
408
|
nodes?: T[];
|
|
383
409
|
edges?: T[] | T;
|
|
@@ -389,7 +415,7 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
|
|
|
389
415
|
targetAccessor?: string | ((d: T) => string);
|
|
390
416
|
valueAccessor?: string | ((d: T) => number);
|
|
391
417
|
/** Edge ID accessor for removeEdge(edgeId) single-ID removal */
|
|
392
|
-
edgeIdAccessor?: string | ((d:
|
|
418
|
+
edgeIdAccessor?: string | ((d: Datum) => string);
|
|
393
419
|
childrenAccessor?: string | ((d: T) => T[]);
|
|
394
420
|
hierarchySum?: string | ((d: T) => number);
|
|
395
421
|
orientation?: "horizontal" | "vertical";
|
|
@@ -400,8 +426,8 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
|
|
|
400
426
|
forceStrength?: number;
|
|
401
427
|
padAngle?: number;
|
|
402
428
|
groupWidth?: number;
|
|
403
|
-
sortGroups?: (a:
|
|
404
|
-
edgeSort?: (a:
|
|
429
|
+
sortGroups?: (a: unknown, b: unknown) => number;
|
|
430
|
+
edgeSort?: (a: unknown, b: unknown) => number;
|
|
405
431
|
treeOrientation?: "vertical" | "horizontal" | "radial";
|
|
406
432
|
edgeType?: "line" | "curve";
|
|
407
433
|
padding?: number;
|
|
@@ -409,16 +435,16 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
|
|
|
409
435
|
tensionConfig?: Partial<TensionConfig>;
|
|
410
436
|
showParticles?: boolean;
|
|
411
437
|
particleStyle?: ParticleStyle;
|
|
412
|
-
nodeStyle?: (d:
|
|
413
|
-
edgeStyle?: (d:
|
|
414
|
-
colorBy?: string | ((d:
|
|
438
|
+
nodeStyle?: (d: Datum) => Datum;
|
|
439
|
+
edgeStyle?: (d: Datum) => Datum;
|
|
440
|
+
colorBy?: string | ((d: Datum) => string | number);
|
|
415
441
|
colorScheme?: string | string[];
|
|
416
|
-
edgeColorBy?: "source" | "target" | "gradient" | ((d:
|
|
442
|
+
edgeColorBy?: "source" | "target" | "gradient" | ((d: Datum) => string);
|
|
417
443
|
edgeOpacity?: number;
|
|
418
444
|
colorByDepth?: boolean;
|
|
419
|
-
nodeSize?: number | string | ((d:
|
|
445
|
+
nodeSize?: number | string | ((d: Datum) => number);
|
|
420
446
|
nodeSizeRange?: [number, number];
|
|
421
|
-
nodeLabel?: string | ((d:
|
|
447
|
+
nodeLabel?: string | ((d: Datum) => string);
|
|
422
448
|
showLabels?: boolean;
|
|
423
449
|
labelMode?: "leaf" | "parent" | "all";
|
|
424
450
|
size?: [number, number];
|
|
@@ -441,8 +467,8 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
|
|
|
441
467
|
/** Chart instance identifier for observation filtering */
|
|
442
468
|
chartId?: string;
|
|
443
469
|
onTopologyChange?: (nodes: RealtimeNode[], edges: RealtimeEdge[]) => void;
|
|
444
|
-
annotations?:
|
|
445
|
-
svgAnnotationRules?: (annotation:
|
|
470
|
+
annotations?: Datum[];
|
|
471
|
+
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
446
472
|
legend?: ReactNode | {
|
|
447
473
|
legendGroups: LegendGroup[];
|
|
448
474
|
};
|
|
@@ -468,11 +494,11 @@ export interface StreamNetworkFrameProps<T = Record<string, any>> {
|
|
|
468
494
|
staleness?: StalenessConfig;
|
|
469
495
|
thresholds?: ThresholdAlertConfig;
|
|
470
496
|
orbitMode?: "flat" | "solar" | "atomic" | number[];
|
|
471
|
-
orbitSize?: number | ((node:
|
|
497
|
+
orbitSize?: number | ((node: Datum) => number);
|
|
472
498
|
orbitSpeed?: number;
|
|
473
|
-
orbitRevolution?: (node:
|
|
499
|
+
orbitRevolution?: (node: Datum) => number;
|
|
474
500
|
orbitRevolutionStyle?: "locked" | "decay" | "alternate";
|
|
475
|
-
orbitEccentricity?: number | ((node:
|
|
501
|
+
orbitEccentricity?: number | ((node: Datum) => number);
|
|
476
502
|
orbitShowRings?: boolean;
|
|
477
503
|
orbitAnimated?: boolean;
|
|
478
504
|
/** Render a visually-hidden data table from the scene graph for screen readers */
|
|
@@ -490,9 +516,9 @@ export interface StreamNetworkFrameHandle {
|
|
|
490
516
|
/** Remove edges by source+target, or by edge ID when edgeIdAccessor is configured. */
|
|
491
517
|
removeEdge(sourceIdOrEdgeId: string, targetId?: string): boolean;
|
|
492
518
|
/** Update a node's data by ID. Returns previous data. */
|
|
493
|
-
updateNode(id: string, updater: (data:
|
|
519
|
+
updateNode(id: string, updater: (data: Datum) => Datum): Datum | null;
|
|
494
520
|
/** Update all edges between source+target. Returns array of previous data. */
|
|
495
|
-
updateEdge(sourceId: string, targetId: string, updater: (data:
|
|
521
|
+
updateEdge(sourceId: string, targetId: string, updater: (data: Datum) => Datum): Datum[];
|
|
496
522
|
clear(): void;
|
|
497
523
|
getTopology(): {
|
|
498
524
|
nodes: RealtimeNode[];
|
|
@@ -24,4 +24,4 @@ import type { OrdinalSceneContext } from "./types";
|
|
|
24
24
|
* - __barFunnelCategory: category key (for multi-category)
|
|
25
25
|
* - __barFunnelLabelX/Y: position for the floating label
|
|
26
26
|
*/
|
|
27
|
-
export declare function buildBarFunnelScene(ctx: OrdinalSceneContext,
|
|
27
|
+
export declare function buildBarFunnelScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
|
|
2
2
|
import type { OrdinalSceneContext } from "./types";
|
|
3
|
-
export declare function buildBarScene(ctx: OrdinalSceneContext,
|
|
4
|
-
export declare function buildClusterBarScene(ctx: OrdinalSceneContext,
|
|
3
|
+
export declare function buildBarScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
4
|
+
export declare function buildClusterBarScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ConnectorSceneNode, OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
|
|
2
2
|
import type { OrdinalSceneContext } from "./types";
|
|
3
|
-
export declare function buildConnectors(ctx: OrdinalSceneContext, pieceNodes: OrdinalSceneNode[],
|
|
3
|
+
export declare function buildConnectors(ctx: OrdinalSceneContext, pieceNodes: OrdinalSceneNode[], _layout: OrdinalLayout): ConnectorSceneNode[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
|
|
2
2
|
import type { OrdinalSceneContext } from "./types";
|
|
3
|
-
export declare function buildPointScene(ctx: OrdinalSceneContext,
|
|
4
|
-
export declare function buildSwarmScene(ctx: OrdinalSceneContext,
|
|
3
|
+
export declare function buildPointScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
4
|
+
export declare function buildSwarmScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
|
|
2
2
|
import type { OrdinalSceneContext } from "./types";
|
|
3
|
-
export declare function buildBoxplotScene(ctx: OrdinalSceneContext,
|
|
4
|
-
export declare function buildViolinScene(ctx: OrdinalSceneContext,
|
|
5
|
-
export declare function buildHistogramScene(ctx: OrdinalSceneContext,
|
|
6
|
-
export declare function buildRidgelineScene(ctx: OrdinalSceneContext,
|
|
3
|
+
export declare function buildBoxplotScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
4
|
+
export declare function buildViolinScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
5
|
+
export declare function buildHistogramScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
6
|
+
export declare function buildRidgelineScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
@@ -9,4 +9,4 @@ import type { OrdinalSceneContext } from "./types";
|
|
|
9
9
|
* multiple items with the same subcategory can appear in the same lane —
|
|
10
10
|
* they simply stack sequentially.
|
|
11
11
|
*/
|
|
12
|
-
export declare function buildSwimlaneScene(ctx: OrdinalSceneContext,
|
|
12
|
+
export declare function buildSwimlaneScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
|
|
2
2
|
import type { OrdinalSceneContext } from "./types";
|
|
3
|
-
export declare function buildTimelineScene(ctx: OrdinalSceneContext,
|
|
3
|
+
export declare function buildTimelineScene(ctx: OrdinalSceneContext, _layout: OrdinalLayout): OrdinalSceneNode[];
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import type { ScaleLinear } from "d3-scale";
|
|
2
2
|
import type { OrdinalScales, OrdinalColumn, OrdinalPipelineConfig, OrdinalSceneNode, OrdinalLayout } from "../ordinalTypes";
|
|
3
3
|
import type { Style } from "../types";
|
|
4
|
+
import type { Datum } from "../../charts/shared/datumTypes";
|
|
4
5
|
export interface OrdinalSceneContext {
|
|
5
6
|
scales: OrdinalScales;
|
|
6
7
|
columns: Record<string, OrdinalColumn>;
|
|
7
8
|
config: OrdinalPipelineConfig;
|
|
8
|
-
getR: (d:
|
|
9
|
-
getStack?: (d:
|
|
10
|
-
getGroup?: (d:
|
|
11
|
-
getColor?: (d:
|
|
12
|
-
getConnector?: (d:
|
|
13
|
-
getO: (d:
|
|
9
|
+
getR: (d: Datum) => number;
|
|
10
|
+
getStack?: (d: Datum) => string;
|
|
11
|
+
getGroup?: (d: Datum) => string;
|
|
12
|
+
getColor?: (d: Datum) => string;
|
|
13
|
+
getConnector?: (d: Datum) => string;
|
|
14
|
+
getO: (d: Datum) => string;
|
|
14
15
|
multiScales: ScaleLinear<number, number>[];
|
|
15
|
-
rAccessors: ((d:
|
|
16
|
+
rAccessors: ((d: Datum) => number)[];
|
|
16
17
|
resolvePieceStyle: (d: any, category?: string) => Style;
|
|
17
18
|
resolveSummaryStyle: (d: any, category?: string) => Style;
|
|
18
19
|
/** For timeline: resolve rAccessor as [start, end] */
|
|
19
|
-
getRawRange: (d:
|
|
20
|
+
getRawRange: (d: Datum) => [number, number] | null;
|
|
20
21
|
}
|
|
21
22
|
export type SceneBuilderFn = (ctx: OrdinalSceneContext, layout: OrdinalLayout) => OrdinalSceneNode[];
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import type { ScaleLinear, ScaleBand } from "d3-scale";
|
|
3
|
-
import type {
|
|
4
|
-
import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig } from "./types";
|
|
3
|
+
import type { WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../realtime/types";
|
|
4
|
+
import type { Style, SceneDatum, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors } from "./types";
|
|
5
5
|
import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
6
6
|
import type { LegendGroup } from "../types/legendTypes";
|
|
7
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
7
8
|
export type OrdinalChartType = "bar" | "clusterbar" | "point" | "swarm" | "pie" | "donut" | "boxplot" | "violin" | "histogram" | "ridgeline" | "timeline" | "funnel" | "bar-funnel" | "swimlane";
|
|
8
9
|
export interface OrdinalScales {
|
|
9
10
|
o: ScaleBand<string>;
|
|
@@ -23,7 +24,7 @@ export interface WedgeSceneNode {
|
|
|
23
24
|
/** Corner radius for rounded wedge arcs (d3-shape arc.cornerRadius) */
|
|
24
25
|
cornerRadius?: number;
|
|
25
26
|
style: Style;
|
|
26
|
-
datum:
|
|
27
|
+
datum: SceneDatum;
|
|
27
28
|
category?: string;
|
|
28
29
|
_pulseIntensity?: number;
|
|
29
30
|
_pulseColor?: string;
|
|
@@ -49,13 +50,13 @@ export interface BoxplotSceneNode {
|
|
|
49
50
|
maxPos: number;
|
|
50
51
|
stats: DistributionStats;
|
|
51
52
|
style: Style;
|
|
52
|
-
datum:
|
|
53
|
+
datum: Datum;
|
|
53
54
|
category?: string;
|
|
54
55
|
outliers?: {
|
|
55
56
|
px: number;
|
|
56
57
|
py: number;
|
|
57
58
|
value: number;
|
|
58
|
-
datum:
|
|
59
|
+
datum: Datum;
|
|
59
60
|
}[];
|
|
60
61
|
_pulseIntensity?: number;
|
|
61
62
|
_pulseColor?: string;
|
|
@@ -97,7 +98,7 @@ export interface ViolinSceneNode {
|
|
|
97
98
|
/** Pre-computed distribution statistics for tooltips */
|
|
98
99
|
stats?: DistributionStats;
|
|
99
100
|
style: Style;
|
|
100
|
-
datum:
|
|
101
|
+
datum: Datum;
|
|
101
102
|
category?: string;
|
|
102
103
|
_pulseIntensity?: number;
|
|
103
104
|
_pulseColor?: string;
|
|
@@ -112,7 +113,7 @@ export interface ConnectorSceneNode {
|
|
|
112
113
|
x2: number;
|
|
113
114
|
y2: number;
|
|
114
115
|
style: Style;
|
|
115
|
-
datum:
|
|
116
|
+
datum: Datum;
|
|
116
117
|
group?: string;
|
|
117
118
|
_pulseIntensity?: number;
|
|
118
119
|
_pulseColor?: string;
|
|
@@ -125,7 +126,7 @@ export interface TrapezoidSceneNode {
|
|
|
125
126
|
/** Four corners: [top-left, top-right, bottom-right, bottom-left] */
|
|
126
127
|
points: [number, number][];
|
|
127
128
|
style: Style;
|
|
128
|
-
datum:
|
|
129
|
+
datum: Datum;
|
|
129
130
|
category?: string;
|
|
130
131
|
_pulseIntensity?: number;
|
|
131
132
|
_pulseColor?: string;
|
|
@@ -143,7 +144,7 @@ export interface OrdinalColumn {
|
|
|
143
144
|
width: number;
|
|
144
145
|
middle: number;
|
|
145
146
|
padding: number;
|
|
146
|
-
pieceData:
|
|
147
|
+
pieceData: Datum[];
|
|
147
148
|
/** For radial: proportion of total (0-1) */
|
|
148
149
|
pct: number;
|
|
149
150
|
/** For radial: cumulative start proportion */
|
|
@@ -156,22 +157,36 @@ export interface OrdinalPipelineConfig {
|
|
|
156
157
|
windowMode: WindowMode;
|
|
157
158
|
extentPadding: number;
|
|
158
159
|
projection: "vertical" | "horizontal" | "radial";
|
|
159
|
-
categoryAccessor?: string | ((d:
|
|
160
|
-
valueAccessor?: string | ((d:
|
|
161
|
-
colorAccessor?: string | ((d:
|
|
162
|
-
stackBy?: string | ((d:
|
|
163
|
-
groupBy?: string | ((d:
|
|
164
|
-
timeAccessor?: string | ((d:
|
|
160
|
+
categoryAccessor?: string | ((d: Datum) => string);
|
|
161
|
+
valueAccessor?: string | ((d: Datum) => number) | Array<string | ((d: Datum) => number)>;
|
|
162
|
+
colorAccessor?: string | ((d: Datum) => string);
|
|
163
|
+
stackBy?: string | ((d: Datum) => string);
|
|
164
|
+
groupBy?: string | ((d: Datum) => string);
|
|
165
|
+
timeAccessor?: string | ((d: Datum) => number);
|
|
165
166
|
/** @deprecated Use categoryAccessor */
|
|
166
|
-
oAccessor?: string | ((d:
|
|
167
|
+
oAccessor?: string | ((d: Datum) => string);
|
|
167
168
|
/** @deprecated Use valueAccessor */
|
|
168
|
-
rAccessor?: string | ((d:
|
|
169
|
+
rAccessor?: string | ((d: Datum) => number) | Array<string | ((d: Datum) => number)>;
|
|
169
170
|
multiAxis?: boolean;
|
|
170
171
|
rExtent?: [number?, number?];
|
|
171
172
|
oExtent?: string[];
|
|
172
173
|
barPadding?: number;
|
|
173
174
|
/** Rounded top corner radius for bar charts. Only the end away from the baseline is rounded. For stacked bars, only the topmost segment gets rounded. */
|
|
174
175
|
roundedTop?: number;
|
|
176
|
+
/** Gradient fill for bar rects. `{ topOpacity, bottomOpacity }` fades the
|
|
177
|
+
* resolved fill color from tip (opposite the baseline) to base; `{ colorStops }`
|
|
178
|
+
* renders a multi-color gradient along the same axis. Direction follows the
|
|
179
|
+
* bar's orientation (tip → base). Same shape as AreaChart.gradientFill
|
|
180
|
+
* sans the `boolean` case — the HOC resolves `true` to default opacities. */
|
|
181
|
+
gradientFill?: {
|
|
182
|
+
topOpacity: number;
|
|
183
|
+
bottomOpacity: number;
|
|
184
|
+
} | {
|
|
185
|
+
colorStops: Array<{
|
|
186
|
+
offset: number;
|
|
187
|
+
color: string;
|
|
188
|
+
}>;
|
|
189
|
+
};
|
|
175
190
|
/** When true, adds padding below the 0 baseline. When false (default), bars are flush with the axis line. */
|
|
176
191
|
baselinePadding?: boolean;
|
|
177
192
|
innerRadius?: number;
|
|
@@ -188,16 +203,22 @@ export interface OrdinalPipelineConfig {
|
|
|
188
203
|
connectorOpacity?: number;
|
|
189
204
|
showLabels?: boolean;
|
|
190
205
|
oSort?: ((a: string, b: string) => number) | boolean | "asc" | "desc" | "auto";
|
|
191
|
-
connectorAccessor?: string | ((d:
|
|
192
|
-
connectorStyle?: Style | ((d:
|
|
193
|
-
dynamicColumnWidth?: string | ((data:
|
|
194
|
-
pieceStyle?: (d:
|
|
195
|
-
summaryStyle?: (d:
|
|
206
|
+
connectorAccessor?: string | ((d: Datum) => string);
|
|
207
|
+
connectorStyle?: Style | ((d: Datum) => Style);
|
|
208
|
+
dynamicColumnWidth?: string | ((data: Datum[]) => number);
|
|
209
|
+
pieceStyle?: (d: Datum, category?: string) => Style;
|
|
210
|
+
summaryStyle?: (d: Datum, category?: string) => Style;
|
|
196
211
|
colorScheme?: string | string[];
|
|
197
212
|
themeCategorical?: string[];
|
|
213
|
+
/** Theme-resolved semantic role colors — default fallback before hardcoded hex. See `ThemeSemanticColors` in ./types. */
|
|
214
|
+
themeSemantic?: ThemeSemanticColors;
|
|
215
|
+
/** Theme sequential scheme name — fallback for magnitude encodings. */
|
|
216
|
+
themeSequential?: string;
|
|
217
|
+
/** Theme diverging scheme name — fallback for midpoint encodings (LikertChart). */
|
|
218
|
+
themeDiverging?: string;
|
|
198
219
|
barColors?: Record<string, string>;
|
|
199
220
|
/** ID accessor for remove() — extracts a unique identifier from each datum */
|
|
200
|
-
dataIdAccessor?: string | ((d:
|
|
221
|
+
dataIdAccessor?: string | ((d: Datum) => string);
|
|
201
222
|
decay?: DecayConfig;
|
|
202
223
|
pulse?: PulseConfig;
|
|
203
224
|
transition?: TransitionConfig;
|
|
@@ -205,7 +226,7 @@ export interface OrdinalPipelineConfig {
|
|
|
205
226
|
introAnimation?: boolean;
|
|
206
227
|
staleness?: StalenessConfig;
|
|
207
228
|
}
|
|
208
|
-
export interface StreamOrdinalFrameProps<T =
|
|
229
|
+
export interface StreamOrdinalFrameProps<T = Datum> {
|
|
209
230
|
chartType: OrdinalChartType;
|
|
210
231
|
runtimeMode?: "bounded" | "streaming";
|
|
211
232
|
data?: T[];
|
|
@@ -234,6 +255,17 @@ export interface StreamOrdinalFrameProps<T = Record<string, any>> {
|
|
|
234
255
|
};
|
|
235
256
|
barPadding?: number;
|
|
236
257
|
roundedTop?: number;
|
|
258
|
+
/** Gradient fill for bar rects. Same shape as AreaChart.gradientFill sans
|
|
259
|
+
* the boolean case — resolve booleans at the HOC layer. */
|
|
260
|
+
gradientFill?: {
|
|
261
|
+
topOpacity: number;
|
|
262
|
+
bottomOpacity: number;
|
|
263
|
+
} | {
|
|
264
|
+
colorStops: Array<{
|
|
265
|
+
offset: number;
|
|
266
|
+
color: string;
|
|
267
|
+
}>;
|
|
268
|
+
};
|
|
237
269
|
baselinePadding?: boolean;
|
|
238
270
|
innerRadius?: number;
|
|
239
271
|
cornerRadius?: number;
|
|
@@ -251,19 +283,18 @@ export interface StreamOrdinalFrameProps<T = Record<string, any>> {
|
|
|
251
283
|
oExtent?: string[];
|
|
252
284
|
extentPadding?: number;
|
|
253
285
|
oSort?: ((a: string, b: string) => number) | boolean | "asc" | "desc" | "auto";
|
|
254
|
-
arrowOfTime?: ArrowOfTime;
|
|
255
286
|
windowMode?: WindowMode;
|
|
256
287
|
windowSize?: number;
|
|
257
288
|
connectorAccessor?: string | ((d: T) => string);
|
|
258
|
-
connectorStyle?: Style | ((d:
|
|
289
|
+
connectorStyle?: Style | ((d: Datum) => Style);
|
|
259
290
|
/** ID accessor for remove()/update() — extracts a unique identifier from each datum */
|
|
260
|
-
dataIdAccessor?: string | ((d:
|
|
291
|
+
dataIdAccessor?: string | ((d: Datum) => string);
|
|
261
292
|
/** Custom tick values for the value (r) axis. Overrides the default d3 ticks. */
|
|
262
293
|
rTickValues?: number[];
|
|
263
294
|
/** Align first tick label to start and last tick label to end. Default false. */
|
|
264
295
|
tickLabelEdgeAlign?: boolean;
|
|
265
|
-
pieceStyle?: (d:
|
|
266
|
-
summaryStyle?: (d:
|
|
296
|
+
pieceStyle?: (d: Datum, category?: string) => Style;
|
|
297
|
+
summaryStyle?: (d: Datum, category?: string) => Style;
|
|
267
298
|
colorScheme?: string | string[];
|
|
268
299
|
barColors?: Record<string, string>;
|
|
269
300
|
showAxes?: boolean;
|
|
@@ -288,8 +319,8 @@ export interface StreamOrdinalFrameProps<T = Record<string, any>> {
|
|
|
288
319
|
hoverAnnotation?: boolean | HoverAnnotationConfig;
|
|
289
320
|
tooltipContent?: (d: HoverData) => ReactNode;
|
|
290
321
|
customHoverBehavior?: (d: HoverData | null) => void;
|
|
291
|
-
annotations?:
|
|
292
|
-
svgAnnotationRules?: (annotation:
|
|
322
|
+
annotations?: Datum[];
|
|
323
|
+
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
293
324
|
showGrid?: boolean;
|
|
294
325
|
legend?: ReactNode | {
|
|
295
326
|
legendGroups: LegendGroup[];
|
|
@@ -334,7 +365,7 @@ export interface StreamOrdinalFrameProps<T = Record<string, any>> {
|
|
|
334
365
|
/** Accessible summary rendered as a screen-reader-only note */
|
|
335
366
|
summary?: string;
|
|
336
367
|
}
|
|
337
|
-
export interface StreamOrdinalFrameHandle<T =
|
|
368
|
+
export interface StreamOrdinalFrameHandle<T = Datum> {
|
|
338
369
|
push(datum: T): void;
|
|
339
370
|
pushMany(data: T[]): void;
|
|
340
371
|
/** Replace all data. Unlike `clear() + pushMany()`, `replace()` preserves
|
|
@@ -363,4 +394,5 @@ export interface OrdinalLayout {
|
|
|
363
394
|
height: number;
|
|
364
395
|
}
|
|
365
396
|
export type OrdinalRendererFn = (ctx: CanvasRenderingContext2D, nodes: OrdinalSceneNode[], scales: OrdinalScales, layout: OrdinalLayout) => void;
|
|
366
|
-
export type { HoverData, HoverAnnotationConfig, AnnotationContext,
|
|
397
|
+
export type { HoverData, HoverAnnotationConfig, AnnotationContext, WindowMode };
|
|
398
|
+
export type { ArrowOfTime } from "../realtime/types";
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
1
2
|
/**
|
|
2
3
|
* Shared decay encoding utilities for all pipeline stores.
|
|
3
4
|
*
|
|
@@ -18,4 +19,4 @@ export declare function computeDecayOpacity(decay: DecayConfig, bufferIndex: num
|
|
|
18
19
|
* Apply decay opacity to a list of scene nodes.
|
|
19
20
|
* Uses the datum's index in the buffer data array.
|
|
20
21
|
*/
|
|
21
|
-
export declare function applyDecay(decay: DecayConfig, nodes: SceneNode[], data:
|
|
22
|
+
export declare function applyDecay(decay: DecayConfig, nodes: SceneNode[], data: Datum[]): void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Datum } from "../charts/shared/datumTypes";
|
|
1
2
|
/**
|
|
2
3
|
* Pulse encoding for XY pipeline scene nodes.
|
|
3
4
|
*
|
|
@@ -17,7 +18,7 @@ export declare function computePulseIntensity(pulse: PulseConfig, insertTime: nu
|
|
|
17
18
|
/**
|
|
18
19
|
* Apply pulse glow to scene nodes using insertion timestamps.
|
|
19
20
|
*/
|
|
20
|
-
export declare function applyPulse(pulse: PulseConfig, nodes: SceneNode[], data:
|
|
21
|
+
export declare function applyPulse(pulse: PulseConfig, nodes: SceneNode[], data: Datum[], timestampBuffer: RingBuffer<number>): void;
|
|
21
22
|
/**
|
|
22
23
|
* Check whether there are active pulse animations needing continuous rendering.
|
|
23
24
|
*/
|