semiotic 3.5.2 → 3.5.4
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 +9 -8
- package/README.md +15 -15
- package/ai/componentMetadata.cjs +9 -2
- package/ai/dist/mcp-server.js +4 -1
- package/ai/examples.md +27 -0
- package/ai/schema.json +300 -41
- package/ai/system-prompt.md +1 -1
- package/dist/components/ThemeProvider.d.ts +2 -2
- package/dist/components/charts/index.d.ts +3 -3
- package/dist/components/charts/network/ProcessSankey.d.ts +22 -0
- package/dist/components/charts/network/SankeyDiagram.d.ts +5 -1
- package/dist/components/charts/network/Treemap.d.ts +8 -0
- package/dist/components/charts/network/processSankey/algorithm.d.ts +57 -0
- package/dist/components/charts/network/processSankey/buildScenes.d.ts +6 -0
- package/dist/components/charts/network/processSankey/streamingLayout.d.ts +13 -0
- package/dist/components/charts/ordinal/GaugeChart.d.ts +10 -0
- package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +2 -0
- package/dist/components/charts/realtime/RealtimeHistogram.d.ts +24 -0
- package/dist/components/charts/realtime/RealtimeLineChart.d.ts +2 -0
- package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +2 -0
- package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +2 -0
- package/dist/components/charts/shared/gaugeGradient.d.ts +62 -0
- package/dist/components/charts/shared/hooks.d.ts +2 -2
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +2 -2
- package/dist/components/charts/shared/tooltipUtils.d.ts +11 -0
- package/dist/components/charts/shared/types.d.ts +17 -2
- package/dist/components/charts/shared/useAreaSeriesSetup.d.ts +4 -1
- package/dist/components/charts/shared/useChartSetup.d.ts +4 -2
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +2 -1
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +2 -0
- package/dist/components/charts/shared/withChartWrapper.d.ts +10 -3
- package/dist/components/charts/xy/AreaChart.d.ts +27 -2
- package/dist/components/charts/xy/LineChart.d.ts +26 -2
- package/dist/components/charts/xy/Scatterplot.d.ts +5 -1
- package/dist/components/semiotic-ai.d.ts +1 -1
- package/dist/components/semiotic-realtime.d.ts +3 -3
- package/dist/components/semiotic-server.d.ts +1 -0
- package/dist/components/semiotic-xy.d.ts +1 -1
- package/dist/components/semiotic.d.ts +6 -5
- package/dist/components/server/renderToStaticSVG.d.ts +4 -1
- package/dist/components/server/serverChartConfigs.d.ts +1 -0
- package/dist/components/server/staticAnnotations.d.ts +1 -1
- package/dist/components/server/staticLegend.d.ts +35 -0
- package/dist/components/server/themeResolver.d.ts +7 -1
- package/dist/components/store/ThemeStore.d.ts +9 -1
- package/dist/components/stream/AccessibleDataTable.d.ts +2 -2
- package/dist/components/stream/NetworkSVGOverlay.d.ts +2 -1
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +2 -1
- package/dist/components/stream/PipelineStore.d.ts +20 -13
- package/dist/components/stream/SVGOverlay.d.ts +4 -30
- package/dist/components/stream/SceneToSVG.d.ts +1 -1
- package/dist/components/stream/accessorUtils.d.ts +2 -1
- package/dist/components/stream/geoTypes.d.ts +2 -1
- package/dist/components/stream/hoverUtils.d.ts +1 -0
- package/dist/components/stream/layouts/hierarchyLayoutPlugin.d.ts +1 -1
- package/dist/components/stream/legendRenderer.d.ts +2 -1
- package/dist/components/stream/networkTypes.d.ts +13 -1
- package/dist/components/stream/ordinalTypes.d.ts +31 -3
- package/dist/components/stream/renderers/wedgePathBuilder.d.ts +87 -0
- package/dist/components/stream/types.d.ts +110 -16
- package/dist/components/stream/xySceneBuilders/areaGradient.d.ts +20 -0
- package/dist/components/stream/xySceneBuilders/barScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/candlestickScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/heatmapScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/lineScene.d.ts +4 -3
- package/dist/components/stream/xySceneBuilders/pointScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/ribbonScene.d.ts +107 -0
- package/dist/components/stream/xySceneBuilders/swarmScene.d.ts +2 -2
- package/dist/components/stream/xySceneBuilders/types.d.ts +9 -12
- package/dist/components/stream/xySceneBuilders/waterfallScene.d.ts +2 -2
- package/dist/components/types/legendTypes.d.ts +15 -0
- package/dist/components/types/marginType.d.ts +17 -3
- 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.d.ts +1 -1
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-data.min.js +1 -1
- package/dist/semiotic-data.module.min.js +1 -1
- package/dist/semiotic-realtime.d.ts +3 -3
- package/dist/semiotic-server.d.ts +1 -0
- 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 +1 -1
- package/dist/semiotic.d.ts +6 -5
- 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/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +25 -25
- package/dist/components/stream/xySceneBuilders/boundsScene.d.ts +0 -9
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import type { Datum } from "../shared/datumTypes";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import type { StreamXYFrameProps } from "../../stream/types";
|
|
3
|
+
import type { StreamXYFrameProps, BandConfig } from "../../stream/types";
|
|
4
4
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
5
5
|
import type { LegendInteractionMode, LegendPosition } from "../shared/hooks";
|
|
6
6
|
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
7
7
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
8
|
import type { ForecastConfig, AnomalyConfig } from "../shared/statisticalOverlays";
|
|
9
|
+
export interface SemanticGradientStop {
|
|
10
|
+
/** Percent from baseline to line/top. 0 = baseline, 100 = line/top. */
|
|
11
|
+
at: number;
|
|
12
|
+
color: string;
|
|
13
|
+
/** Optional opacity applied to this stop. */
|
|
14
|
+
opacity?: number;
|
|
15
|
+
}
|
|
9
16
|
/**
|
|
10
17
|
* AreaChart component props
|
|
11
18
|
*/
|
|
@@ -23,7 +30,7 @@ export interface AreaChartProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
23
30
|
* Field name or function to access x values
|
|
24
31
|
* @default "x"
|
|
25
32
|
*/
|
|
26
|
-
xAccessor?: ChartAccessor<TDatum, number>;
|
|
33
|
+
xAccessor?: ChartAccessor<TDatum, number | Date | string>;
|
|
27
34
|
/**
|
|
28
35
|
* Field name or function to access y values
|
|
29
36
|
* @default "y"
|
|
@@ -90,6 +97,14 @@ export interface AreaChartProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
90
97
|
color: string;
|
|
91
98
|
}>;
|
|
92
99
|
};
|
|
100
|
+
/**
|
|
101
|
+
* Semantic area gradient stops expressed in user-facing percentages:
|
|
102
|
+
* `at: 0` is the baseline and `at: 100` is the line/top of the area.
|
|
103
|
+
* This is converted to `gradientFill.colorStops`, whose raw offsets use
|
|
104
|
+
* the renderer coordinate convention (`0` = top, `1` = baseline).
|
|
105
|
+
* When set, this takes precedence over `gradientFill`.
|
|
106
|
+
*/
|
|
107
|
+
semanticGradient?: SemanticGradientStop[];
|
|
93
108
|
/**
|
|
94
109
|
* Area opacity (flat fill, ignored when gradientFill is set)
|
|
95
110
|
* @default 0.7
|
|
@@ -183,6 +198,16 @@ export interface AreaChartProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
183
198
|
* ```
|
|
184
199
|
*/
|
|
185
200
|
anomaly?: AnomalyConfig;
|
|
201
|
+
/**
|
|
202
|
+
* Asymmetric min/max band(s) drawn under the area fill. Distinct from
|
|
203
|
+
* `y0Accessor` (which replaces the area's baseline) — `band` is a
|
|
204
|
+
* decorative envelope painted beneath the area, driven by independent
|
|
205
|
+
* `y0Accessor` / `y1Accessor` per band. Pass an array for fan charts.
|
|
206
|
+
*
|
|
207
|
+
* The hovered datum gets `band: { y0, y1 }` and `bands: [...]` for
|
|
208
|
+
* tooltip access. See the LineChart docs for full ergonomics.
|
|
209
|
+
*/
|
|
210
|
+
band?: BandConfig<TDatum> | Array<BandConfig<TDatum>>;
|
|
186
211
|
/**
|
|
187
212
|
* Fixed x domain `[min, max]`. Either bound may be `undefined` to leave
|
|
188
213
|
* that side data-derived. Useful for pinning a time axis to a known
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Datum } from "../shared/datumTypes";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import type { StreamXYFrameProps } from "../../stream/types";
|
|
3
|
+
import type { StreamXYFrameProps, BandConfig } from "../../stream/types";
|
|
4
4
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
5
5
|
import type { LegendInteractionMode } from "../shared/hooks";
|
|
6
6
|
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
@@ -29,7 +29,7 @@ export interface LineChartProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
29
29
|
* Field name or function to access x values
|
|
30
30
|
* @default "x"
|
|
31
31
|
*/
|
|
32
|
-
xAccessor?: ChartAccessor<TDatum, number>;
|
|
32
|
+
xAccessor?: ChartAccessor<TDatum, number | Date | string>;
|
|
33
33
|
/**
|
|
34
34
|
* Field name or function to access y values
|
|
35
35
|
* @default "y"
|
|
@@ -181,6 +181,30 @@ export interface LineChartProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
181
181
|
* envelope around the extrapolated forecast region.
|
|
182
182
|
*/
|
|
183
183
|
forecast?: ForecastConfig;
|
|
184
|
+
/**
|
|
185
|
+
* Asymmetric min/max band(s) drawn under the line. Differs from
|
|
186
|
+
* `forecast`/`anomaly` (computed envelopes around a series) by being
|
|
187
|
+
* pure data passthrough — provide `y0Accessor` / `y1Accessor` and the
|
|
188
|
+
* band is drawn between them at each x.
|
|
189
|
+
*
|
|
190
|
+
* Pass an array for percentile fans (e.g. p25/p75 on top of p10/p90).
|
|
191
|
+
* Each band participates in y-extent auto-derivation, so a tall band
|
|
192
|
+
* can never get clipped. The hovered datum is enriched with
|
|
193
|
+
* `band: { y0, y1 }` (first band) and `bands: [...]` (all bands) so
|
|
194
|
+
* tooltip functions can read the envelope without re-running the
|
|
195
|
+
* accessors.
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* ```tsx
|
|
199
|
+
* <LineChart
|
|
200
|
+
* data={[{ time, average, min, max }, ...]}
|
|
201
|
+
* xAccessor="time"
|
|
202
|
+
* yAccessor="average"
|
|
203
|
+
* band={{ y0Accessor: "min", y1Accessor: "max" }}
|
|
204
|
+
* />
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
band?: BandConfig<TDatum> | Array<BandConfig<TDatum>>;
|
|
184
208
|
/**
|
|
185
209
|
* Fixed x domain `[min, max]`. Either bound may be `undefined` to leave
|
|
186
210
|
* that side data-derived.
|
|
@@ -14,9 +14,13 @@ export interface ScatterplotProps<TDatum extends Datum = Datum> extends BaseChar
|
|
|
14
14
|
/** Array of data points. Each point should have x and y properties. */
|
|
15
15
|
data?: TDatum[];
|
|
16
16
|
/** Field name or function to access x values @default "x" */
|
|
17
|
-
xAccessor?: ChartAccessor<TDatum, number>;
|
|
17
|
+
xAccessor?: ChartAccessor<TDatum, number | Date | string>;
|
|
18
18
|
/** Field name or function to access y values @default "y" */
|
|
19
19
|
yAccessor?: ChartAccessor<TDatum, number>;
|
|
20
|
+
/** X scale type @default "linear" */
|
|
21
|
+
xScaleType?: "linear" | "log" | "time";
|
|
22
|
+
/** Y scale type @default "linear" */
|
|
23
|
+
yScaleType?: "linear" | "log";
|
|
20
24
|
/** Field name or function to determine point color */
|
|
21
25
|
colorBy?: ChartAccessor<TDatum, string>;
|
|
22
26
|
/** Color scheme for categorical data or custom colors array @default "category10" */
|
|
@@ -37,7 +37,7 @@ export { Treemap } from "./charts/network/Treemap";
|
|
|
37
37
|
export { CirclePack } from "./charts/network/CirclePack";
|
|
38
38
|
export { OrbitDiagram } from "./charts/network/OrbitDiagram";
|
|
39
39
|
export { RealtimeLineChart } from "./charts/realtime/RealtimeLineChart";
|
|
40
|
-
export { RealtimeHistogram } from "./charts/realtime/RealtimeHistogram";
|
|
40
|
+
export { RealtimeHistogram, TemporalHistogram } from "./charts/realtime/RealtimeHistogram";
|
|
41
41
|
export { RealtimeSwarmChart } from "./charts/realtime/RealtimeSwarmChart";
|
|
42
42
|
export { RealtimeWaterfallChart } from "./charts/realtime/RealtimeWaterfallChart";
|
|
43
43
|
export { RealtimeHeatmap } from "./charts/realtime/RealtimeHeatmap";
|
|
@@ -7,13 +7,13 @@ import StreamNetworkFrame from "./stream/StreamNetworkFrame";
|
|
|
7
7
|
import { RingBuffer } from "./realtime/RingBuffer";
|
|
8
8
|
import { IncrementalExtent } from "./realtime/IncrementalExtent";
|
|
9
9
|
import { RealtimeLineChart } from "./charts/realtime/RealtimeLineChart";
|
|
10
|
-
import { RealtimeHistogram } from "./charts/realtime/RealtimeHistogram";
|
|
10
|
+
import { RealtimeHistogram, TemporalHistogram } from "./charts/realtime/RealtimeHistogram";
|
|
11
11
|
import { RealtimeSwarmChart } from "./charts/realtime/RealtimeSwarmChart";
|
|
12
12
|
import { RealtimeWaterfallChart } from "./charts/realtime/RealtimeWaterfallChart";
|
|
13
13
|
import { RealtimeHeatmap } from "./charts/realtime/RealtimeHeatmap";
|
|
14
|
-
export { StreamXYFrame, StreamNetworkFrame, RingBuffer, IncrementalExtent, RealtimeLineChart, RealtimeHistogram, RealtimeSwarmChart, RealtimeWaterfallChart, RealtimeHeatmap };
|
|
14
|
+
export { StreamXYFrame, StreamNetworkFrame, RingBuffer, IncrementalExtent, RealtimeLineChart, RealtimeHistogram, TemporalHistogram, RealtimeSwarmChart, RealtimeWaterfallChart, RealtimeHeatmap };
|
|
15
15
|
export type { RealtimeLineChartProps } from "./charts/realtime/RealtimeLineChart";
|
|
16
|
-
export type { RealtimeHistogramProps } from "./charts/realtime/RealtimeHistogram";
|
|
16
|
+
export type { RealtimeHistogramProps, TemporalHistogramProps } from "./charts/realtime/RealtimeHistogram";
|
|
17
17
|
export type { RealtimeSwarmChartProps } from "./charts/realtime/RealtimeSwarmChart";
|
|
18
18
|
export type { RealtimeWaterfallChartProps } from "./charts/realtime/RealtimeWaterfallChart";
|
|
19
19
|
export type { RealtimeHeatmapProps } from "./charts/realtime/RealtimeHeatmap";
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { renderToStaticSVG, renderXYToStaticSVG, renderOrdinalToStaticSVG, renderNetworkToStaticSVG, renderGeoToStaticSVG, renderChart, renderToImage, renderDashboard, } from "./server/renderToStaticSVG";
|
|
2
2
|
export type { RenderToImageOptions, DashboardChart, DashboardLayout, RenderDashboardOptions, } from "./server/renderToStaticSVG";
|
|
3
|
+
export type { LegendLayout } from "./types/legendTypes";
|
|
3
4
|
export { renderToAnimatedGif, generateFrameSVGs, generateFrameSequence } from "./server/animatedGif";
|
|
4
5
|
export type { AnimatedGifOptions } from "./server/animatedGif";
|
|
5
6
|
export { resolveTheme, themeStyles } from "./server/themeResolver";
|
|
@@ -21,7 +21,7 @@ export { XYCustomChart } from "./charts/custom/XYCustomChart";
|
|
|
21
21
|
export type { StreamXYFrameProps, StreamXYFrameHandle } from "./stream/types";
|
|
22
22
|
export type { CustomLayout, LayoutContext, LayoutResult } from "./stream/customLayout";
|
|
23
23
|
export type { LineChartProps } from "./charts/xy/LineChart";
|
|
24
|
-
export type { AreaChartProps } from "./charts/xy/AreaChart";
|
|
24
|
+
export type { AreaChartProps, SemanticGradientStop } from "./charts/xy/AreaChart";
|
|
25
25
|
export type { DifferenceChartProps } from "./charts/xy/DifferenceChart";
|
|
26
26
|
export type { StackedAreaChartProps } from "./charts/xy/StackedAreaChart";
|
|
27
27
|
export type { ScatterplotProps } from "./charts/xy/Scatterplot";
|
|
@@ -19,13 +19,14 @@ import { Tooltip, MultiLineTooltip, normalizeTooltip } from "./Tooltip/Tooltip";
|
|
|
19
19
|
import { RingBuffer } from "./realtime/RingBuffer";
|
|
20
20
|
import { IncrementalExtent } from "./realtime/IncrementalExtent";
|
|
21
21
|
import { RealtimeLineChart } from "./charts/realtime/RealtimeLineChart";
|
|
22
|
-
import { RealtimeTemporalHistogram, RealtimeHistogram } from "./charts/realtime/RealtimeHistogram";
|
|
22
|
+
import { RealtimeTemporalHistogram, RealtimeHistogram, TemporalHistogram } from "./charts/realtime/RealtimeHistogram";
|
|
23
23
|
import { RealtimeSwarmChart } from "./charts/realtime/RealtimeSwarmChart";
|
|
24
24
|
import { RealtimeWaterfallChart } from "./charts/realtime/RealtimeWaterfallChart";
|
|
25
25
|
import { RealtimeHeatmap } from "./charts/realtime/RealtimeHeatmap";
|
|
26
|
-
export { StreamXYFrame, StreamOrdinalFrame, StreamNetworkFrame, Scatterplot, ConnectedScatterplot, LineChart, AreaChart, DifferenceChart, StackedAreaChart, Heatmap, BubbleChart, BarChart, StackedBarChart, LikertChart, SwarmPlot, BoxPlot, Histogram, ViolinPlot, RidgelinePlot, DotPlot, ForceDirectedGraph, ChordDiagram, SankeyDiagram, ProcessSankey, TreeDiagram, PieChart, DonutChart, GaugeChart, FunnelChart, GroupedBarChart, SwimlaneChart, Treemap, CirclePack, OrbitDiagram, ScatterplotMatrix, MinimapChart, QuadrantChart, MultiAxisLineChart, CandlestickChart, XYCustomChart, NetworkCustomChart, OrdinalCustomChart, LinkedCharts, ThemeProvider, useTheme, exportChart, toConfig, fromConfig, toURL, fromURL, copyConfig, configToJSX, serializeSelections, deserializeSelections, fromVegaLite, ChartErrorBoundary, ChartContainer, ChartGrid, CategoryColorProvider, useCategoryColors, ContextLayout, DetailsPanel, Tooltip, MultiLineTooltip, normalizeTooltip, RingBuffer, IncrementalExtent, RealtimeLineChart, RealtimeTemporalHistogram, RealtimeHistogram, RealtimeSwarmChart, RealtimeWaterfallChart, RealtimeHeatmap, createHatchPattern };
|
|
27
|
-
export {
|
|
28
|
-
export
|
|
26
|
+
export { StreamXYFrame, StreamOrdinalFrame, StreamNetworkFrame, Scatterplot, ConnectedScatterplot, LineChart, AreaChart, DifferenceChart, StackedAreaChart, Heatmap, BubbleChart, BarChart, StackedBarChart, LikertChart, SwarmPlot, BoxPlot, Histogram, ViolinPlot, RidgelinePlot, DotPlot, ForceDirectedGraph, ChordDiagram, SankeyDiagram, ProcessSankey, TreeDiagram, PieChart, DonutChart, GaugeChart, FunnelChart, GroupedBarChart, SwimlaneChart, Treemap, CirclePack, OrbitDiagram, ScatterplotMatrix, MinimapChart, QuadrantChart, MultiAxisLineChart, CandlestickChart, XYCustomChart, NetworkCustomChart, OrdinalCustomChart, LinkedCharts, ThemeProvider, useTheme, exportChart, toConfig, fromConfig, toURL, fromURL, copyConfig, configToJSX, serializeSelections, deserializeSelections, fromVegaLite, ChartErrorBoundary, ChartContainer, ChartGrid, CategoryColorProvider, useCategoryColors, ContextLayout, DetailsPanel, Tooltip, MultiLineTooltip, normalizeTooltip, RingBuffer, IncrementalExtent, RealtimeLineChart, RealtimeTemporalHistogram, RealtimeHistogram, TemporalHistogram, RealtimeSwarmChart, RealtimeWaterfallChart, RealtimeHeatmap, createHatchPattern };
|
|
27
|
+
export type { LegendLayout } from "./types/legendTypes";
|
|
28
|
+
export { ScatterplotProps, ConnectedScatterplotProps, LineChartProps, AreaChartProps, SemanticGradientStop, DifferenceChartProps, StackedAreaChartProps, HeatmapProps, BubbleChartProps, BarChartProps, StackedBarChartProps, LikertChartProps, SwarmPlotProps, BoxPlotProps, HistogramProps, ViolinPlotProps, DotPlotProps, PieChartProps, DonutChartProps, GaugeChartProps, GaugeThreshold, FunnelChartProps, GroupedBarChartProps, SwimlaneChartProps, RidgelinePlotProps, OrbitDiagramProps, OrbitNode, ForceDirectedGraphProps, ChordDiagramProps, SankeyDiagramProps, ProcessSankeyProps, ProcessSankeyTick, TreeDiagramProps, TreemapProps, CirclePackProps, ScatterplotMatrixProps, MinimapChartProps, MinimapConfig, QuadrantChartProps, MultiAxisLineChartProps, MultiAxisSeriesConfig, CandlestickChartProps, QuadrantsConfig, QuadrantConfig, CenterlineStyle, BaseChartProps, AxisConfig, Accessor, ChartAccessor, ChartMode } from "./charts";
|
|
29
|
+
export type { StreamXYFrameProps, StreamXYFrameHandle, StreamChartType, RuntimeMode, SceneNode, Changeset, StreamScales, StreamLayout, CurveType, CanvasRendererFn, XYFrameAxisConfig, BandConfig } from "./stream/types";
|
|
29
30
|
export type { StreamRendererFn } from "./stream/renderers/types";
|
|
30
31
|
export type { StreamOrdinalFrameProps, StreamOrdinalFrameHandle, OrdinalChartType, OrdinalScales, OrdinalSceneNode } from "./stream/ordinalTypes";
|
|
31
32
|
export type { StreamNetworkFrameProps, StreamNetworkFrameHandle, NetworkChartType, NetworkSceneNode, NetworkSceneEdge, NetworkLabel, ThresholdAlertConfig } from "./stream/networkTypes";
|
|
@@ -57,7 +58,7 @@ export { darkenColor, lightenColor } from "./charts/shared/colorManipulation";
|
|
|
57
58
|
export type { TooltipProp, TooltipConfig, TooltipField, MultiLineTooltipConfig } from "./Tooltip/Tooltip";
|
|
58
59
|
export type { ArrowOfTime, WindowMode, ThresholdType, LineStyle, BarStyle, WaterfallStyle, SwarmStyle, AnnotationContext, AnnotationAnchorMode, CrosshairStyle, HoverAnnotationConfig, HoverData } from "./realtime/types";
|
|
59
60
|
export type { RealtimeLineChartProps } from "./charts/realtime/RealtimeLineChart";
|
|
60
|
-
export type { RealtimeTemporalHistogramProps, RealtimeHistogramProps } from "./charts/realtime/RealtimeHistogram";
|
|
61
|
+
export type { RealtimeTemporalHistogramProps, RealtimeHistogramProps, TemporalHistogramProps } from "./charts/realtime/RealtimeHistogram";
|
|
61
62
|
export type { RealtimeSwarmChartProps } from "./charts/realtime/RealtimeSwarmChart";
|
|
62
63
|
export type { RealtimeWaterfallChartProps } from "./charts/realtime/RealtimeWaterfallChart";
|
|
63
64
|
export type { RealtimeHeatmapProps } from "./charts/realtime/RealtimeHeatmap";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
|
+
import type { LegendLayout } from "../types/legendTypes";
|
|
2
3
|
/**
|
|
3
4
|
* Server-side rendering of Semiotic charts to standalone SVG strings.
|
|
4
5
|
*
|
|
@@ -22,6 +23,7 @@ import type { StreamGeoFrameProps } from "../stream/geoTypes";
|
|
|
22
23
|
import { type ThemeInput } from "./themeResolver";
|
|
23
24
|
import { CHART_CONFIGS } from "./serverChartConfigs";
|
|
24
25
|
type FrameType = "xy" | "ordinal" | "network" | "geo";
|
|
26
|
+
type StaticFrameProps = (StreamXYFrameProps | StreamNetworkFrameProps | StreamOrdinalFrameProps | StreamGeoFrameProps) & ThemeAwareProps;
|
|
25
27
|
interface ThemeAwareProps {
|
|
26
28
|
theme?: ThemeInput;
|
|
27
29
|
showLegend?: boolean;
|
|
@@ -32,10 +34,11 @@ interface ThemeAwareProps {
|
|
|
32
34
|
background?: string;
|
|
33
35
|
className?: string;
|
|
34
36
|
legendPosition?: "right" | "left" | "top" | "bottom";
|
|
37
|
+
legendLayout?: LegendLayout;
|
|
35
38
|
/** Prefix for SVG element IDs — used by renderDashboard to avoid collisions */
|
|
36
39
|
_idPrefix?: string;
|
|
37
40
|
}
|
|
38
|
-
export declare function renderToStaticSVG(frameType: FrameType, props:
|
|
41
|
+
export declare function renderToStaticSVG(frameType: FrameType, props: StaticFrameProps): string;
|
|
39
42
|
export declare function renderXYToStaticSVG(props: StreamXYFrameProps & ThemeAwareProps): string;
|
|
40
43
|
export declare function renderOrdinalToStaticSVG(props: StreamOrdinalFrameProps & ThemeAwareProps): string;
|
|
41
44
|
export declare function renderNetworkToStaticSVG(props: StreamNetworkFrameProps & ThemeAwareProps): string;
|
|
@@ -7,6 +7,21 @@
|
|
|
7
7
|
import * as React from "react";
|
|
8
8
|
import type { SemioticTheme } from "../store/ThemeStore";
|
|
9
9
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
10
|
+
import type { GradientLegendConfig, LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
11
|
+
interface LegendItemLayout {
|
|
12
|
+
category: string;
|
|
13
|
+
width: number;
|
|
14
|
+
x: number;
|
|
15
|
+
y: number;
|
|
16
|
+
}
|
|
17
|
+
interface StaticLegendMetrics {
|
|
18
|
+
items: LegendItemLayout[];
|
|
19
|
+
width: number;
|
|
20
|
+
height: number;
|
|
21
|
+
swatchSize: number;
|
|
22
|
+
labelOffset: number;
|
|
23
|
+
swatchRadius: number;
|
|
24
|
+
}
|
|
10
25
|
export interface StaticLegendConfig {
|
|
11
26
|
/** Category labels to show in legend */
|
|
12
27
|
categories: string[];
|
|
@@ -28,13 +43,33 @@ export interface StaticLegendConfig {
|
|
|
28
43
|
};
|
|
29
44
|
/** Title presence (affects top-position offset) */
|
|
30
45
|
hasTitle?: boolean;
|
|
46
|
+
/** SSR legend layout controls */
|
|
47
|
+
legendLayout?: LegendLayout;
|
|
48
|
+
/** Optional id namespace used for generated SVG ids */
|
|
49
|
+
idPrefix?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface StaticLegendGroupsConfig extends Omit<StaticLegendConfig, "categories" | "colorScheme"> {
|
|
52
|
+
legendGroups: LegendGroup[];
|
|
53
|
+
}
|
|
54
|
+
export interface StaticGradientLegendConfig extends Omit<StaticLegendConfig, "categories" | "colorScheme"> {
|
|
55
|
+
gradient: GradientLegendConfig;
|
|
31
56
|
}
|
|
57
|
+
export declare function measureStaticLegend(config: StaticLegendConfig): Omit<StaticLegendMetrics, "items" | "labelOffset" | "swatchRadius">;
|
|
58
|
+
export declare function measureStaticLegendGroups(config: StaticLegendGroupsConfig): Omit<StaticLegendMetrics, "items" | "labelOffset" | "swatchRadius">;
|
|
59
|
+
export declare function measureStaticGradientLegend(config: StaticGradientLegendConfig): {
|
|
60
|
+
width: number;
|
|
61
|
+
height: number;
|
|
62
|
+
swatchSize: number;
|
|
63
|
+
};
|
|
32
64
|
/**
|
|
33
65
|
* Render a static legend as SVG elements.
|
|
34
66
|
* Returns null if no categories to show.
|
|
35
67
|
*/
|
|
36
68
|
export declare function renderStaticLegend(config: StaticLegendConfig): React.ReactNode;
|
|
69
|
+
export declare function renderStaticLegendGroups(config: StaticLegendGroupsConfig): React.ReactNode;
|
|
70
|
+
export declare function renderStaticGradientLegend(config: StaticGradientLegendConfig): React.ReactNode;
|
|
37
71
|
/**
|
|
38
72
|
* Extract unique categories from data using an accessor.
|
|
39
73
|
*/
|
|
40
74
|
export declare function extractCategories(data: any[], accessor: string | ((d: Datum) => string) | undefined): string[];
|
|
75
|
+
export {};
|
|
@@ -6,7 +6,12 @@
|
|
|
6
6
|
* No CSS custom properties — everything is concrete for inline SVG.
|
|
7
7
|
*/
|
|
8
8
|
import type { SemioticTheme } from "../store/ThemeStore";
|
|
9
|
-
|
|
9
|
+
type PartialThemeObject = Omit<Partial<SemioticTheme>, "colors" | "typography" | "tooltip"> & {
|
|
10
|
+
colors?: Partial<SemioticTheme["colors"]>;
|
|
11
|
+
typography?: Partial<SemioticTheme["typography"]>;
|
|
12
|
+
tooltip?: Partial<NonNullable<SemioticTheme["tooltip"]>>;
|
|
13
|
+
};
|
|
14
|
+
export type ThemeInput = string | PartialThemeObject | undefined;
|
|
10
15
|
/**
|
|
11
16
|
* Resolve a theme input to a full SemioticTheme object.
|
|
12
17
|
*
|
|
@@ -37,3 +42,4 @@ export declare function themeStyles(theme: SemioticTheme): {
|
|
|
37
42
|
titleFontSize: number;
|
|
38
43
|
tickFontFamily: string;
|
|
39
44
|
};
|
|
45
|
+
export {};
|
|
@@ -34,6 +34,8 @@ export interface SemioticTheme {
|
|
|
34
34
|
textSecondary: string;
|
|
35
35
|
grid: string;
|
|
36
36
|
border: string;
|
|
37
|
+
/** Separator/border color for cell-like marks such as treemap tiles and heatmap cells. Falls back to `border`. */
|
|
38
|
+
cellBorder?: string;
|
|
37
39
|
focus?: string;
|
|
38
40
|
/** Linked hover/selection highlight color */
|
|
39
41
|
selection?: string;
|
|
@@ -90,6 +92,12 @@ export interface ThemeStoreState {
|
|
|
90
92
|
theme: SemioticTheme;
|
|
91
93
|
setTheme: (theme: ThemeStoreUpdate) => void;
|
|
92
94
|
}
|
|
93
|
-
export type
|
|
95
|
+
export type SemioticThemeUpdate = Omit<Partial<SemioticTheme>, "colors" | "typography" | "tooltip" | "accessibility"> & {
|
|
96
|
+
colors?: Partial<SemioticTheme["colors"]>;
|
|
97
|
+
typography?: Partial<SemioticTheme["typography"]>;
|
|
98
|
+
tooltip?: Partial<NonNullable<SemioticTheme["tooltip"]>>;
|
|
99
|
+
accessibility?: Partial<NonNullable<SemioticTheme["accessibility"]>>;
|
|
100
|
+
};
|
|
101
|
+
export type ThemeStoreUpdate = SemioticThemeUpdate | "light" | "dark" | "high-contrast";
|
|
94
102
|
export declare function resolveThemeUpdate(current: SemioticTheme, theme: ThemeStoreUpdate): SemioticTheme;
|
|
95
103
|
export declare const ThemeProvider: import("react").FC<import("./createStore").StoreProviderProps<ThemeStoreState>>, useThemeSelector: <R>(selector: (state: ThemeStoreState) => R) => R;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
/** Scene node type used by the accessible data table — accepts any frame's scene nodes */
|
|
3
3
|
type AnySceneNode = {
|
|
4
|
-
type
|
|
4
|
+
type?: string;
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
};
|
|
7
7
|
declare const SR_ONLY_STYLE: React.CSSProperties;
|
|
8
8
|
/**
|
|
9
9
|
* Compute an aria-label describing the chart type and data shape from the scene graph.
|
|
10
10
|
*/
|
|
11
|
-
export declare function computeCanvasAriaLabel(scene: AnySceneNode[], chartType: string): string;
|
|
11
|
+
export declare function computeCanvasAriaLabel(scene: AnySceneNode[] | null | undefined, chartType: string): string;
|
|
12
12
|
/**
|
|
13
13
|
* Compute an aria-label for network charts from scene nodes and edges.
|
|
14
14
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
3
|
import type { NetworkLabel } from "./networkTypes";
|
|
4
|
-
import type { LegendGroup, GradientLegendConfig } from "../types/legendTypes";
|
|
4
|
+
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
|
|
5
5
|
type AnnotationAnchorNode = {
|
|
6
6
|
type: string;
|
|
7
7
|
datum: Datum | null;
|
|
@@ -43,6 +43,7 @@ export interface NetworkSVGOverlayProps {
|
|
|
43
43
|
legendHighlightedCategory?: string | null;
|
|
44
44
|
legendIsolatedCategories?: Set<string>;
|
|
45
45
|
legendPosition?: "right" | "left" | "top" | "bottom";
|
|
46
|
+
legendLayout?: LegendLayout;
|
|
46
47
|
/** User-provided SVG elements on top */
|
|
47
48
|
foregroundGraphics?: ReactNode;
|
|
48
49
|
/** Scene nodes for annotation positioning */
|
|
@@ -3,7 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
import type { OrdinalScales } from "./ordinalTypes";
|
|
4
4
|
import type { AnnotationContext } from "../realtime/types";
|
|
5
5
|
import type { ReactNode } from "react";
|
|
6
|
-
import type { LegendGroup, GradientLegendConfig } from "../types/legendTypes";
|
|
6
|
+
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
|
|
7
7
|
import { type AxisExtentMode } from "../charts/shared/axisExtent";
|
|
8
8
|
interface OrdinalSVGOverlayProps {
|
|
9
9
|
width: number;
|
|
@@ -49,6 +49,7 @@ interface OrdinalSVGOverlayProps {
|
|
|
49
49
|
legendHighlightedCategory?: string | null;
|
|
50
50
|
legendIsolatedCategories?: Set<string>;
|
|
51
51
|
legendPosition?: "right" | "left" | "top" | "bottom";
|
|
52
|
+
legendLayout?: LegendLayout;
|
|
52
53
|
foregroundGraphics?: ReactNode;
|
|
53
54
|
annotations?: Datum[];
|
|
54
55
|
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
2
|
import { type Quadtree } from "d3-quadtree";
|
|
3
3
|
import { RingBuffer } from "../realtime/RingBuffer";
|
|
4
|
-
import type { Changeset, StreamChartType, StreamScales, StreamLayout, SceneNode, PointSceneNode, CandlestickStyle, Style, ArrowOfTime, WindowMode, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, CurveType, BarStyle, ThemeSemanticColors } from "./types";
|
|
4
|
+
import type { Changeset, StreamChartType, StreamScales, StreamLayout, SceneNode, PointSceneNode, CandlestickStyle, Style, ArrowOfTime, WindowMode, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, CurveType, BarStyle, ThemeSemanticColors, BandConfig } from "./types";
|
|
5
|
+
import { type CoercibleNumber } from "./accessorUtils";
|
|
5
6
|
import type { ActiveTransition } from "./pipelineTransitionUtils";
|
|
7
|
+
import type { ResolvedRibbon } from "./xySceneBuilders/ribbonScene";
|
|
6
8
|
import type { CustomLayout } from "./customLayout";
|
|
7
9
|
import type { MarginType } from "../types/marginType";
|
|
8
10
|
export interface PipelineConfig {
|
|
@@ -20,12 +22,12 @@ export interface PipelineConfig {
|
|
|
20
22
|
* padded domain so glyphs at the extremes don't clip the plot edge. */
|
|
21
23
|
axisExtent?: import("../charts/shared/axisExtent").AxisExtentMode;
|
|
22
24
|
maxCapacity?: number;
|
|
23
|
-
xAccessor?: string | ((d: Datum) =>
|
|
24
|
-
yAccessor?: string | ((d: Datum) =>
|
|
25
|
-
timeAccessor?: string | ((d: Datum) =>
|
|
26
|
-
valueAccessor?: string | ((d: Datum) =>
|
|
25
|
+
xAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
26
|
+
yAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
27
|
+
timeAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
28
|
+
valueAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
27
29
|
colorAccessor?: string | ((d: Datum) => string);
|
|
28
|
-
sizeAccessor?: string | ((d: Datum) =>
|
|
30
|
+
sizeAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
29
31
|
groupAccessor?: string | ((d: Datum) => string);
|
|
30
32
|
categoryAccessor?: string | ((d: Datum) => string);
|
|
31
33
|
lineDataAccessor?: string;
|
|
@@ -40,16 +42,17 @@ export interface PipelineConfig {
|
|
|
40
42
|
baseline?: "zero" | "wiggle" | "silhouette";
|
|
41
43
|
/** Stack order — see StreamXYFrameProps.stackOrder. */
|
|
42
44
|
stackOrder?: "key" | "insideOut" | "asc" | "desc";
|
|
43
|
-
openAccessor?: string | ((d: Datum) =>
|
|
44
|
-
highAccessor?: string | ((d: Datum) =>
|
|
45
|
-
lowAccessor?: string | ((d: Datum) =>
|
|
46
|
-
closeAccessor?: string | ((d: Datum) =>
|
|
45
|
+
openAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
46
|
+
highAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
47
|
+
lowAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
48
|
+
closeAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
47
49
|
candlestickStyle?: CandlestickStyle;
|
|
48
50
|
/** Internal: set by PipelineStore when open/close accessors are both missing */
|
|
49
51
|
candlestickRangeMode?: boolean;
|
|
50
|
-
boundsAccessor?: string | ((d: Datum) =>
|
|
52
|
+
boundsAccessor?: string | ((d: Datum) => CoercibleNumber);
|
|
51
53
|
boundsStyle?: any;
|
|
52
|
-
y0Accessor?: string | ((d: Datum) =>
|
|
54
|
+
y0Accessor?: string | ((d: Datum) => CoercibleNumber);
|
|
55
|
+
band?: BandConfig | BandConfig[];
|
|
53
56
|
gradientFill?: {
|
|
54
57
|
topOpacity: number;
|
|
55
58
|
bottomOpacity: number;
|
|
@@ -149,8 +152,12 @@ export declare class PipelineStore {
|
|
|
149
152
|
private getCategory;
|
|
150
153
|
private getSize;
|
|
151
154
|
private getColor;
|
|
152
|
-
private getBounds;
|
|
153
155
|
private getY0;
|
|
156
|
+
/** Unified ribbon list — `boundsAccessor` + `band` both compose into
|
|
157
|
+
* this single array (see `resolveRibbons`). Read by the scene
|
|
158
|
+
* builders, y-extent expansion, and tooltip enrichment (which
|
|
159
|
+
* filters on `kind === "band"`). Empty when neither prop is set. */
|
|
160
|
+
resolvedRibbons: ResolvedRibbon[];
|
|
154
161
|
private getOpen;
|
|
155
162
|
private getHigh;
|
|
156
163
|
private getLow;
|
|
@@ -1,36 +1,9 @@
|
|
|
1
1
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
|
-
import type { StreamScales, MarginalGraphicsConfig } from "./types";
|
|
2
|
+
import type { StreamScales, MarginalGraphicsConfig, XYFrameAxisConfig } from "./types";
|
|
3
3
|
import type { AnnotationContext } from "../realtime/types";
|
|
4
4
|
import type { ReactNode } from "react";
|
|
5
|
-
import type { LegendGroup, GradientLegendConfig } from "../types/legendTypes";
|
|
6
|
-
export
|
|
7
|
-
orient: "left" | "right" | "top" | "bottom";
|
|
8
|
-
label?: string;
|
|
9
|
-
ticks?: number;
|
|
10
|
-
tickFormat?: (d: any, index?: number, allTicks?: number[]) => string | ReactNode;
|
|
11
|
-
baseline?: boolean | "under";
|
|
12
|
-
jaggedBase?: boolean;
|
|
13
|
-
/** Explicit tick values. When provided, bypasses both d3's "nice"
|
|
14
|
-
* generator and `axisExtent: "exact"` — the caller has hand-picked
|
|
15
|
-
* the positions. Pixel-distance filtering downstream still drops
|
|
16
|
-
* overlapping labels. Accepts `number | Date`: values pass through
|
|
17
|
-
* to the scale (d3-scale's `scaleTime` reads Dates natively;
|
|
18
|
-
* `scaleLinear` accepts numbers — feeding a Date into a linear
|
|
19
|
-
* scale via `valueOf()` works at runtime but `tickFormat` receives
|
|
20
|
-
* the Date as-is, so user formatters should match the axis's
|
|
21
|
-
* underlying scale type). Mirrors the ordinal frame's
|
|
22
|
-
* `rTickValues` contract. */
|
|
23
|
-
tickValues?: Array<number | Date>;
|
|
24
|
-
/** Grid line stroke style: "dashed" (6,4), "dotted" (2,4), or a custom strokeDasharray string. Applied to grid lines extending from ticks across the chart area. */
|
|
25
|
-
gridStyle?: "dashed" | "dotted" | string;
|
|
26
|
-
/** Always include the domain max as a tick, even if d3 omits it. */
|
|
27
|
-
includeMax?: boolean;
|
|
28
|
-
/** Auto-rotate labels 45° when horizontal spacing is too tight. */
|
|
29
|
-
autoRotate?: boolean;
|
|
30
|
-
/** Highlight ticks at time boundaries (new month, year, etc.) with semibold text.
|
|
31
|
-
* `true` auto-detects Date boundaries. A function receives (value, index) and returns true for landmark ticks. */
|
|
32
|
-
landmarkTicks?: boolean | ((value: any, index: number) => boolean);
|
|
33
|
-
}
|
|
5
|
+
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
|
|
6
|
+
export type AxisConfig = XYFrameAxisConfig;
|
|
34
7
|
interface SVGOverlayProps {
|
|
35
8
|
width: number;
|
|
36
9
|
height: number;
|
|
@@ -78,6 +51,7 @@ interface SVGOverlayProps {
|
|
|
78
51
|
legendIsolatedCategories?: Set<string>;
|
|
79
52
|
/** Legend position relative to chart area */
|
|
80
53
|
legendPosition?: "right" | "left" | "top" | "bottom";
|
|
54
|
+
legendLayout?: LegendLayout;
|
|
81
55
|
foregroundGraphics?: ReactNode;
|
|
82
56
|
marginalGraphics?: MarginalGraphicsConfig;
|
|
83
57
|
xValues?: number[];
|
|
@@ -13,7 +13,7 @@ export declare function xySceneNodeToSVG(node: SceneNode, i: number, idPrefix?:
|
|
|
13
13
|
export declare function networkSceneNodeToSVG(node: NetworkSceneNode, i: number): React.ReactNode;
|
|
14
14
|
export declare function networkSceneEdgeToSVG(edge: NetworkSceneEdge, i: number): React.ReactNode;
|
|
15
15
|
export declare function networkLabelToSVG(label: NetworkLabel, i: number): React.ReactNode;
|
|
16
|
-
export declare function ordinalSceneNodeToSVG(node: OrdinalSceneNode, i: number): React.ReactNode;
|
|
16
|
+
export declare function ordinalSceneNodeToSVG(node: OrdinalSceneNode, i: number, idPrefix?: string): React.ReactNode;
|
|
17
17
|
export declare function geoSceneNodeToSVG(node: GeoSceneNode, i: number): React.ReactNode;
|
|
18
18
|
/**
|
|
19
19
|
* Returns true when running in a true server/Node.js context where
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* the variable in the dependency array so the reference changes when behavior changes.
|
|
13
13
|
*/
|
|
14
14
|
export declare function accessorsEquivalent(a: string | ((...args: any[]) => any) | undefined, b: string | ((...args: any[]) => any) | undefined): boolean;
|
|
15
|
-
export
|
|
15
|
+
export type CoercibleNumber = number | Date | string;
|
|
16
|
+
export declare function resolveAccessor<T extends Record<string, unknown>>(accessor: string | ((d: T) => CoercibleNumber) | undefined, fallback: string): (d: T) => number;
|
|
16
17
|
export declare function resolveRawAccessor<T extends Record<string, unknown>>(accessor: string | ((d: T) => unknown) | undefined, fallback: string): (d: T) => unknown;
|
|
17
18
|
export declare function resolveStringAccessor<T extends Record<string, unknown>>(accessor: string | ((d: T) => string) | undefined, fallback?: string): ((d: T) => string) | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import type { GeoProjection, GeoPath, GeoPermissibleObjects } from "d3-geo";
|
|
3
|
-
import type { GradientLegendConfig, LegendGroup } from "../types/legendTypes";
|
|
3
|
+
import type { GradientLegendConfig, LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
4
4
|
import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, SceneDatum, PointSceneNode, ThemeSemanticColors } from "./types";
|
|
5
5
|
import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
6
6
|
import type { HoverAnnotationConfig, HoverData } from "../realtime/types";
|
|
@@ -191,6 +191,7 @@ export interface StreamGeoFrameProps<T = Datum> {
|
|
|
191
191
|
gradient: GradientLegendConfig;
|
|
192
192
|
};
|
|
193
193
|
legendPosition?: "right" | "left" | "top" | "bottom";
|
|
194
|
+
legendLayout?: LegendLayout;
|
|
194
195
|
legendHoverBehavior?: (item: {
|
|
195
196
|
label: string;
|
|
196
197
|
} | null) => void;
|
|
@@ -19,6 +19,7 @@ export interface HoverPointerCoords {
|
|
|
19
19
|
clientX: number;
|
|
20
20
|
clientY: number;
|
|
21
21
|
}
|
|
22
|
+
export declare function normalizeHoverDatum(rawDatum: any): any;
|
|
22
23
|
/**
|
|
23
24
|
* Build a HoverData object from a raw datum and pixel coordinates.
|
|
24
25
|
* The raw datum is preserved as `hover.data` for tooltip / callback
|
|
@@ -5,7 +5,7 @@ import type { NetworkLayoutPlugin } from "../networkTypes";
|
|
|
5
5
|
* Uses d3-hierarchy for all layout computations. This plugin is `hierarchical: true`,
|
|
6
6
|
* meaning the input data is a single root node object rather than flat nodes+edges arrays.
|
|
7
7
|
*
|
|
8
|
-
* The hierarchy root is passed via `
|
|
8
|
+
* The hierarchy root is passed via `config.__hierarchyRoot`, set by the store
|
|
9
9
|
* before calling computeLayout. The plugin builds the d3 hierarchy internally, runs the
|
|
10
10
|
* appropriate layout algorithm, and populates the nodes/edges arrays.
|
|
11
11
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
|
-
import type { LegendGroup, GradientLegendConfig } from "../types/legendTypes";
|
|
2
|
+
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
|
|
3
3
|
export interface LegendRenderConfig {
|
|
4
4
|
legend: ReactNode | {
|
|
5
5
|
legendGroups: LegendGroup[];
|
|
@@ -15,6 +15,7 @@ export interface LegendRenderConfig {
|
|
|
15
15
|
left: number;
|
|
16
16
|
};
|
|
17
17
|
legendPosition?: "right" | "left" | "top" | "bottom";
|
|
18
|
+
legendLayout?: LegendLayout;
|
|
18
19
|
title?: string | ReactNode;
|
|
19
20
|
legendHoverBehavior?: (item: {
|
|
20
21
|
label: string;
|