semiotic 3.6.0 → 3.7.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 +192 -228
- package/README.md +70 -17
- package/ai/cli.js +41 -0
- package/ai/componentMetadata.cjs +11 -2
- package/ai/dist/mcp-server.js +625 -10
- package/ai/examples.md +98 -0
- package/ai/schema.json +581 -1
- package/ai/system-prompt.md +7 -4
- package/dist/components/AccessibleNavTree.d.ts +26 -0
- package/dist/components/Annotation.d.ts +41 -15
- package/dist/components/CategoryColors.d.ts +1 -1
- package/dist/components/ChartContainer.d.ts +32 -2
- 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 +1 -1
- package/dist/components/Legend.d.ts +3 -2
- 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 +2 -2
- package/dist/components/ai/annotationProvenance.d.ts +349 -0
- package/dist/components/ai/audienceProfile.d.ts +60 -3
- package/dist/components/ai/chartCapabilityTypes.d.ts +60 -2
- package/dist/components/ai/chartRoles.d.ts +27 -0
- package/dist/components/ai/conversationArc.d.ts +379 -0
- package/dist/components/ai/dataScaleProfile.d.ts +320 -0
- package/dist/components/ai/describeChart.d.ts +114 -0
- package/dist/components/ai/navigationTree.d.ts +45 -0
- package/dist/components/ai/qualityScorecard.d.ts +11 -0
- package/dist/components/ai/readerGrounding.d.ts +70 -0
- package/dist/components/ai/suggestCharts.d.ts +34 -1
- package/dist/components/ai/useConversationArc.d.ts +89 -0
- package/dist/components/ai/useNavigationSync.d.ts +61 -0
- package/dist/components/ai/variantDiscovery.d.ts +168 -0
- package/dist/components/charts/geo/ChoroplethMap.d.ts +2 -1
- package/dist/components/charts/network/CirclePack.d.ts +2 -1
- package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
- package/dist/components/charts/network/TreeDiagram.d.ts +2 -1
- package/dist/components/charts/network/Treemap.d.ts +2 -1
- package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +3 -0
- package/dist/components/charts/realtime/RealtimeHistogram.d.ts +4 -1
- package/dist/components/charts/realtime/RealtimeLineChart.d.ts +3 -0
- package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +3 -0
- package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +3 -0
- package/dist/components/charts/shared/ChartError.d.ts +2 -1
- package/dist/components/charts/shared/annotationHierarchy.d.ts +42 -0
- package/dist/components/charts/shared/annotationResolvers.d.ts +3 -2
- package/dist/components/charts/shared/annotationRules.d.ts +16 -0
- package/dist/components/charts/shared/annotationTypes.d.ts +14 -0
- package/dist/components/charts/shared/auditAccessibility.d.ts +90 -0
- package/dist/components/charts/shared/chartSpecs.d.ts +2 -3
- package/dist/components/charts/shared/diagnoseConfig.d.ts +4 -6
- package/dist/components/charts/shared/selectionUtils.d.ts +5 -2
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +2 -0
- package/dist/components/charts/shared/types.d.ts +5 -1
- package/dist/components/charts/shared/withChartWrapper.d.ts +1 -1
- package/dist/components/charts/value/BigNumber.capability.d.ts +13 -0
- package/dist/components/charts/value/BigNumber.d.ts +14 -0
- package/dist/components/charts/value/formatting.d.ts +40 -0
- package/dist/components/charts/value/thresholdSparkline.d.ts +40 -0
- package/dist/components/charts/value/types.d.ts +292 -0
- package/dist/components/charts/xy/MinimapChart.d.ts +2 -1
- package/dist/components/charts/xy/ScatterplotMatrix.d.ts +2 -1
- package/dist/components/realtime/lifecycleBands.d.ts +44 -0
- package/dist/components/realtime/types.d.ts +23 -8
- package/dist/components/recipes/annotationDensity.d.ts +69 -0
- package/dist/components/recipes/annotationLayout.d.ts +93 -0
- package/dist/components/semiotic-ai.d.ts +38 -15
- package/dist/components/semiotic-realtime.d.ts +2 -0
- package/dist/components/semiotic-recipes.d.ts +4 -0
- package/dist/components/semiotic-server.d.ts +2 -1
- package/dist/components/semiotic-utils.d.ts +8 -0
- package/dist/components/semiotic-value.d.ts +55 -0
- package/dist/components/semiotic.d.ts +7 -0
- package/dist/components/server/renderEvidence.d.ts +92 -0
- package/dist/components/server/renderToStaticSVG.d.ts +14 -1
- package/dist/components/server/staticAnnotations.d.ts +2 -0
- package/dist/components/stream/AccessibleDataTable.d.ts +15 -6
- package/dist/components/stream/FocusRing.d.ts +2 -1
- package/dist/components/stream/MarginalGraphics.d.ts +2 -1
- package/dist/components/stream/NetworkSVGOverlay.d.ts +13 -6
- package/dist/components/stream/OrdinalBrushOverlay.d.ts +19 -1
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +4 -2
- package/dist/components/stream/SVGOverlay.d.ts +5 -2
- package/dist/components/stream/XYBrushOverlay.d.ts +21 -1
- package/dist/components/stream/geoTypes.d.ts +3 -0
- package/dist/components/stream/networkTypes.d.ts +2 -0
- package/dist/components/stream/ordinalTypes.d.ts +2 -0
- package/dist/components/stream/types.d.ts +2 -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.d.ts +38 -15
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-realtime.d.ts +2 -0
- package/dist/semiotic-recipes.d.ts +4 -0
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-server.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.d.ts +8 -0
- package/dist/semiotic-utils.min.js +1 -1
- package/dist/semiotic-utils.module.min.js +1 -1
- package/dist/semiotic-value.d.ts +55 -0
- package/dist/semiotic-value.min.js +2 -0
- package/dist/semiotic-value.module.min.js +2 -0
- package/dist/semiotic.d.ts +7 -0
- 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 +19 -5
|
@@ -13,6 +13,14 @@ export declare function computeCanvasAriaLabel(scene: AnySceneNode[] | null | un
|
|
|
13
13
|
* Compute an aria-label for network charts from scene nodes and edges.
|
|
14
14
|
*/
|
|
15
15
|
export declare function computeNetworkAriaLabel(nodeCount: number, edgeCount: number, chartType: string): string;
|
|
16
|
+
interface DataRow {
|
|
17
|
+
label: string;
|
|
18
|
+
values: Record<string, string | number>;
|
|
19
|
+
}
|
|
20
|
+
/** Extract a flat list of typed rows from scene nodes, surfacing the raw datum
|
|
21
|
+
* fields (not pixel coordinates). Defensively handles missing/malformed data —
|
|
22
|
+
* never throws. Exported for direct testing. */
|
|
23
|
+
export declare function extractAllRows(scene: AnySceneNode[]): DataRow[];
|
|
16
24
|
interface AccessibleDataTableProps {
|
|
17
25
|
scene: AnySceneNode[];
|
|
18
26
|
chartType: string;
|
|
@@ -24,9 +32,10 @@ interface AccessibleDataTableProps {
|
|
|
24
32
|
/**
|
|
25
33
|
* JIT accessible data summary. Renders a lightweight sr-only button by default.
|
|
26
34
|
* On activation (or when ChartContainer's dataSummary action is toggled),
|
|
27
|
-
* computes a statistical summary (.describe()-style) and shows
|
|
35
|
+
* computes a statistical summary (.describe()-style) and shows a sample of rows
|
|
36
|
+
* (5 to start), pageable to the full dataset via "Show more".
|
|
28
37
|
*/
|
|
29
|
-
export declare function AccessibleDataTable({ scene, chartType, tableId, chartTitle }: AccessibleDataTableProps):
|
|
38
|
+
export declare function AccessibleDataTable({ scene, chartType, tableId, chartTitle }: AccessibleDataTableProps): React.JSX.Element | null;
|
|
30
39
|
interface NetworkAccessibleDataTableProps {
|
|
31
40
|
nodes: Array<{
|
|
32
41
|
datum?: any;
|
|
@@ -48,25 +57,25 @@ interface NetworkAccessibleDataTableProps {
|
|
|
48
57
|
/**
|
|
49
58
|
* JIT accessible data summary for network charts.
|
|
50
59
|
*/
|
|
51
|
-
export declare function NetworkAccessibleDataTable({ nodes, edges, chartType, tableId, chartTitle }: NetworkAccessibleDataTableProps):
|
|
60
|
+
export declare function NetworkAccessibleDataTable({ nodes, edges, chartType, tableId, chartTitle }: NetworkAccessibleDataTableProps): React.JSX.Element | null;
|
|
52
61
|
/**
|
|
53
62
|
* Screen-reader-only summary note for the chart.
|
|
54
63
|
* Rendered as role="note" so assistive technology can discover it.
|
|
55
64
|
*/
|
|
56
65
|
export declare function ScreenReaderSummary({ summary }: {
|
|
57
66
|
summary?: string;
|
|
58
|
-
}):
|
|
67
|
+
}): React.JSX.Element | null;
|
|
59
68
|
/**
|
|
60
69
|
* Screen-reader-only skip link to jump past chart canvas to the data table.
|
|
61
70
|
* Only rendered when accessibleTable is enabled.
|
|
62
71
|
*/
|
|
63
72
|
export declare function SkipToTableLink({ tableId }: {
|
|
64
73
|
tableId: string;
|
|
65
|
-
}):
|
|
74
|
+
}): React.JSX.Element;
|
|
66
75
|
/**
|
|
67
76
|
* Visually-hidden aria-live region that mirrors tooltip text for screen readers.
|
|
68
77
|
*/
|
|
69
78
|
export declare function AriaLiveTooltip({ hoverPoint }: {
|
|
70
79
|
hoverPoint: any;
|
|
71
|
-
}):
|
|
80
|
+
}): React.JSX.Element;
|
|
72
81
|
export { SR_ONLY_STYLE };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
/**
|
|
2
3
|
* Shape-appropriate keyboard focus indicator for canvas-based charts.
|
|
3
4
|
*
|
|
@@ -29,4 +30,4 @@ export interface FocusRingProps {
|
|
|
29
30
|
/** Height of rect-shaped focus target */
|
|
30
31
|
height?: number;
|
|
31
32
|
}
|
|
32
|
-
export declare function FocusRing({ active, hoverPoint, margin, size, shape, width, height }: FocusRingProps):
|
|
33
|
+
export declare function FocusRing({ active, hoverPoint, margin, size, shape, width, height }: FocusRingProps): React.JSX.Element | null;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as React from "react";
|
|
1
2
|
import type { ScaleLinear } from "d3-scale";
|
|
2
3
|
import type { MarginalConfig, MarginalType } from "./types";
|
|
3
4
|
export type MarginalOrient = "top" | "bottom" | "left" | "right";
|
|
@@ -15,4 +16,4 @@ export interface MarginalGraphicsProps {
|
|
|
15
16
|
}
|
|
16
17
|
/** Resolve a string shorthand or full config into a MarginalConfig */
|
|
17
18
|
export declare function normalizeMarginalConfig(input: MarginalConfig | MarginalType): MarginalConfig;
|
|
18
|
-
export declare function MarginalGraphics({ orient, config: rawConfig, values, scale, size, length }: MarginalGraphicsProps):
|
|
19
|
+
export declare function MarginalGraphics({ orient, config: rawConfig, values, scale, size, length }: MarginalGraphicsProps): React.JSX.Element | null;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
|
+
import * as React from "react";
|
|
2
3
|
import type { ReactNode } from "react";
|
|
3
4
|
import type { NetworkLabel } from "./networkTypes";
|
|
4
5
|
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
|
|
6
|
+
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
7
|
+
import type { AnnotationContext } from "../realtime/types";
|
|
5
8
|
type AnnotationAnchorNode = {
|
|
6
9
|
type: string;
|
|
7
10
|
datum: Datum | null;
|
|
@@ -12,6 +15,13 @@ type AnnotationAnchorNode = {
|
|
|
12
15
|
cy?: number;
|
|
13
16
|
w?: number;
|
|
14
17
|
h?: number;
|
|
18
|
+
/** Circle nodes (NetworkCircleNode, force/tree/orbit marks) carry an explicit radius. */
|
|
19
|
+
r?: number;
|
|
20
|
+
/** Arc nodes (chord, radial) carry an outer radius. */
|
|
21
|
+
outerR?: number;
|
|
22
|
+
};
|
|
23
|
+
type NetworkAnnotationContext = AnnotationContext & {
|
|
24
|
+
sceneNodes?: AnnotationAnchorNode[];
|
|
15
25
|
};
|
|
16
26
|
export interface NetworkSVGOverlayProps {
|
|
17
27
|
width: number;
|
|
@@ -50,11 +60,8 @@ export interface NetworkSVGOverlayProps {
|
|
|
50
60
|
sceneNodes?: AnnotationAnchorNode[];
|
|
51
61
|
/** Annotations */
|
|
52
62
|
annotations?: Datum[];
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
height: number;
|
|
56
|
-
sceneNodes?: AnnotationAnchorNode[];
|
|
57
|
-
}) => ReactNode;
|
|
63
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
64
|
+
svgAnnotationRules?: (annotation: Datum, index: number, context: NetworkAnnotationContext) => ReactNode;
|
|
58
65
|
annotationFrame?: number;
|
|
59
66
|
}
|
|
60
67
|
/**
|
|
@@ -63,7 +70,7 @@ export interface NetworkSVGOverlayProps {
|
|
|
63
70
|
* Unlike XY/ordinal overlays, network charts don't have axes or grid lines.
|
|
64
71
|
* The overlay is positioned absolutely over the canvas.
|
|
65
72
|
*/
|
|
66
|
-
export declare function NetworkSVGOverlay(props: NetworkSVGOverlayProps):
|
|
73
|
+
export declare function NetworkSVGOverlay(props: NetworkSVGOverlayProps): React.JSX.Element;
|
|
67
74
|
export declare namespace NetworkSVGOverlay {
|
|
68
75
|
var displayName: string;
|
|
69
76
|
}
|
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OrdinalBrushOverlay — d3-brush SVG overlay for ordinal frames.
|
|
3
|
+
*
|
|
4
|
+
* Renders a transparent SVG positioned above the canvas. Brushes along the
|
|
5
|
+
* r-axis (value axis) only: horizontal projection → brushX, vertical → brushY.
|
|
6
|
+
*
|
|
7
|
+
* Key design decisions:
|
|
8
|
+
* - Outer SVG has pointerEvents:"none", inner brush-g has "all", so
|
|
9
|
+
* axes/legends rendered underneath remain clickable.
|
|
10
|
+
* - d3-brush lifecycle (useEffect) depends on [width, height, isHorizontal]
|
|
11
|
+
* only — NOT scales. Scales are read from a ref to avoid brush teardown
|
|
12
|
+
* mid-drag (scales change every render due to new object identity).
|
|
13
|
+
* - A separate useEffect repositions the brush when scales change (streaming).
|
|
14
|
+
*
|
|
15
|
+
* Consumed by: StreamOrdinalFrame (rendered when brush prop is set).
|
|
16
|
+
* Wired by: useOrdinalBrush hook in HOC charts.
|
|
17
|
+
*/
|
|
18
|
+
import * as React from "react";
|
|
1
19
|
import type { OrdinalScales } from "./ordinalTypes";
|
|
2
20
|
interface OrdinalBrushOverlayProps {
|
|
3
21
|
width: number;
|
|
@@ -21,5 +39,5 @@ interface OrdinalBrushOverlayProps {
|
|
|
21
39
|
* In horizontal projection, r maps to x-pixels → uses brushX.
|
|
22
40
|
* In vertical projection, r maps to y-pixels → uses brushY.
|
|
23
41
|
*/
|
|
24
|
-
export declare function OrdinalBrushOverlay({ width, height, totalWidth, totalHeight, margin, scales, onBrush }: OrdinalBrushOverlayProps):
|
|
42
|
+
export declare function OrdinalBrushOverlay({ width, height, totalWidth, totalHeight, margin, scales, onBrush }: OrdinalBrushOverlayProps): React.JSX.Element;
|
|
25
43
|
export {};
|
|
@@ -4,6 +4,7 @@ import type { OrdinalScales } from "./ordinalTypes";
|
|
|
4
4
|
import type { AnnotationContext } from "../realtime/types";
|
|
5
5
|
import type { ReactNode } from "react";
|
|
6
6
|
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
|
|
7
|
+
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
7
8
|
import { type AxisExtentMode } from "../charts/shared/axisExtent";
|
|
8
9
|
interface OrdinalSVGOverlayProps {
|
|
9
10
|
width: number;
|
|
@@ -52,6 +53,7 @@ interface OrdinalSVGOverlayProps {
|
|
|
52
53
|
legendLayout?: LegendLayout;
|
|
53
54
|
foregroundGraphics?: ReactNode;
|
|
54
55
|
annotations?: Datum[];
|
|
56
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
55
57
|
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
56
58
|
annotationFrame?: number;
|
|
57
59
|
xAccessor?: string;
|
|
@@ -79,6 +81,6 @@ interface OrdinalSVGUnderlayProps {
|
|
|
79
81
|
rTickValues?: number[];
|
|
80
82
|
axisExtent?: AxisExtentMode;
|
|
81
83
|
}
|
|
82
|
-
export declare function OrdinalSVGUnderlay(props: OrdinalSVGUnderlayProps):
|
|
83
|
-
export declare function OrdinalSVGOverlay(props: OrdinalSVGOverlayProps):
|
|
84
|
+
export declare function OrdinalSVGUnderlay(props: OrdinalSVGUnderlayProps): React.JSX.Element | null;
|
|
85
|
+
export declare function OrdinalSVGOverlay(props: OrdinalSVGOverlayProps): React.JSX.Element | null;
|
|
84
86
|
export {};
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
2
|
+
import * as React from "react";
|
|
2
3
|
import type { StreamScales, MarginalGraphicsConfig, XYFrameAxisConfig } from "./types";
|
|
3
4
|
import type { AnnotationContext } from "../realtime/types";
|
|
4
5
|
import type { ReactNode } from "react";
|
|
5
6
|
import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/legendTypes";
|
|
7
|
+
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
6
8
|
export type AxisConfig = XYFrameAxisConfig;
|
|
7
9
|
interface SVGOverlayProps {
|
|
8
10
|
width: number;
|
|
@@ -57,6 +59,7 @@ interface SVGOverlayProps {
|
|
|
57
59
|
xValues?: number[];
|
|
58
60
|
yValues?: number[];
|
|
59
61
|
annotations?: Datum[];
|
|
62
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
60
63
|
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
61
64
|
annotationFrame?: number;
|
|
62
65
|
xAccessor?: string;
|
|
@@ -109,6 +112,6 @@ interface SVGUnderlayProps {
|
|
|
109
112
|
yFormat?: (d: number | Date | string) => string | ReactNode;
|
|
110
113
|
axisExtent?: import("../charts/shared/axisExtent").AxisExtentMode;
|
|
111
114
|
}
|
|
112
|
-
export declare function SVGUnderlay(props: SVGUnderlayProps):
|
|
113
|
-
export declare function SVGOverlay(props: SVGOverlayProps):
|
|
115
|
+
export declare function SVGUnderlay(props: SVGUnderlayProps): React.JSX.Element | null;
|
|
116
|
+
export declare function SVGOverlay(props: SVGOverlayProps): React.JSX.Element | null;
|
|
114
117
|
export {};
|
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* XYBrushOverlay — d3-brush SVG overlay for XY frames.
|
|
3
|
+
*
|
|
4
|
+
* Renders a transparent SVG positioned above the canvas. Supports x, y, and
|
|
5
|
+
* xy brush dimensions, bin snapping, and streaming brush tracking (shrinks/
|
|
6
|
+
* clears the brush as data scrolls past the selected range).
|
|
7
|
+
*
|
|
8
|
+
* Key design decisions:
|
|
9
|
+
* - d3-brush lifecycle depends on [width, height, dimension, snap, binSize, snapDuring]
|
|
10
|
+
* only — scales and binBoundaries are read from refs to avoid teardown mid-drag.
|
|
11
|
+
* - Data-driven snapping (binBoundaries) uses binary search to snap to actual bin
|
|
12
|
+
* edges. Falls back to uniform grid math (binSize) when no boundaries are provided.
|
|
13
|
+
* - Bin snapping applies on "end" events by default. Set snapDuring=true to also
|
|
14
|
+
* snap during drag (the "brush" event).
|
|
15
|
+
* - Streaming tracking guards against y-only dimension (no x-domain to track).
|
|
16
|
+
* - isProgrammaticMoveRef prevents re-entrant brush events from .move() calls.
|
|
17
|
+
*
|
|
18
|
+
* Consumed by: StreamXYFrame (rendered when brush prop is set).
|
|
19
|
+
*/
|
|
20
|
+
import * as React from "react";
|
|
1
21
|
import type { StreamScales } from "./types";
|
|
2
22
|
export interface XYBrushOverlayProps {
|
|
3
23
|
width: number;
|
|
@@ -24,4 +44,4 @@ export interface XYBrushOverlayProps {
|
|
|
24
44
|
snapDuring?: boolean;
|
|
25
45
|
streaming?: boolean;
|
|
26
46
|
}
|
|
27
|
-
export declare function XYBrushOverlay({ width, height, totalWidth, totalHeight, margin, dimension, scales, onBrush, binSize, snap, binBoundaries, snapDuring, streaming }: XYBrushOverlayProps):
|
|
47
|
+
export declare function XYBrushOverlay({ width, height, totalWidth, totalHeight, margin, dimension, scales, onBrush, binSize, snap, binBoundaries, snapDuring, streaming }: XYBrushOverlayProps): React.JSX.Element;
|
|
@@ -6,6 +6,7 @@ import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
|
6
6
|
import type { HoverAnnotationConfig, HoverData } from "../realtime/types";
|
|
7
7
|
import type { GeoParticleStyle } from "./GeoParticlePool";
|
|
8
8
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
9
|
+
import type { AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
9
10
|
export type ProjectionProp = GeoProjection | ProjectionName | ProjectionConfig;
|
|
10
11
|
export type ProjectionName = "mercator" | "equalEarth" | "albersUsa" | "orthographic" | "naturalEarth" | "equirectangular";
|
|
11
12
|
export interface ProjectionConfig {
|
|
@@ -94,6 +95,7 @@ export interface GeoPipelineConfig {
|
|
|
94
95
|
/** Whether to animate elements on first render */
|
|
95
96
|
introAnimation?: boolean;
|
|
96
97
|
annotations?: Datum[];
|
|
98
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
97
99
|
pointIdAccessor?: string | ((d: Datum) => string);
|
|
98
100
|
/** ID accessor on line data — required for `removeLine` by id. */
|
|
99
101
|
lineIdAccessor?: string | ((d: Datum) => string);
|
|
@@ -174,6 +176,7 @@ export interface StreamGeoFrameProps<T = Datum> {
|
|
|
174
176
|
customClickBehavior?: (d: HoverData | null) => void;
|
|
175
177
|
customHoverBehavior?: (d: HoverData | null) => void;
|
|
176
178
|
annotations?: Datum[];
|
|
179
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
177
180
|
decay?: DecayConfig;
|
|
178
181
|
pulse?: PulseConfig;
|
|
179
182
|
transition?: TransitionConfig;
|
|
@@ -5,6 +5,7 @@ import type { LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
|
5
5
|
import type { Style, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors, SceneDatum } from "./types";
|
|
6
6
|
import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
7
7
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
8
|
+
import type { AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
8
9
|
export interface TensionConfig {
|
|
9
10
|
weightChange: number;
|
|
10
11
|
newEdge: number;
|
|
@@ -518,6 +519,7 @@ export interface StreamNetworkFrameProps<T = Datum> {
|
|
|
518
519
|
chartId?: string;
|
|
519
520
|
onTopologyChange?: (nodes: RealtimeNode[], edges: RealtimeEdge[]) => void;
|
|
520
521
|
annotations?: Datum[];
|
|
522
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
521
523
|
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
522
524
|
legend?: ReactNode | {
|
|
523
525
|
legendGroups: LegendGroup[];
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ReactNode } from "react";
|
|
2
2
|
import type { ScaleLinear, ScaleBand } from "d3-scale";
|
|
3
3
|
import type { WindowMode, HoverAnnotationConfig, HoverData, AnnotationContext } from "../realtime/types";
|
|
4
|
+
import type { AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
4
5
|
import type { Style, SceneDatum, DecayConfig, PulseConfig, TransitionConfig, StalenessConfig, ThemeSemanticColors } from "./types";
|
|
5
6
|
import type { AnimateProp } from "./pipelineTransitionUtils";
|
|
6
7
|
import type { GradientLegendConfig, LegendGroup, LegendLayout } from "../types/legendTypes";
|
|
@@ -381,6 +382,7 @@ export interface StreamOrdinalFrameProps<T = Datum> {
|
|
|
381
382
|
tooltipContent?: (d: HoverData) => ReactNode;
|
|
382
383
|
customHoverBehavior?: (d: HoverData | null) => void;
|
|
383
384
|
annotations?: Datum[];
|
|
385
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
384
386
|
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
385
387
|
showGrid?: boolean;
|
|
386
388
|
legend?: ReactNode | {
|
|
@@ -5,6 +5,7 @@ import type { LegendGroup, GradientLegendConfig, LegendLayout } from "../types/l
|
|
|
5
5
|
import type { ArrowOfTime, WindowMode, LineStyle, BarStyle, WaterfallStyle, SwarmStyle, HoverAnnotationConfig, HoverData, AnnotationContext, AnnotationAnchorMode } from "../realtime/types";
|
|
6
6
|
import type { Datum } from "../charts/shared/datumTypes";
|
|
7
7
|
import type { CoercibleNumber } from "./accessorUtils";
|
|
8
|
+
import type { AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
8
9
|
export type SceneDatum = Datum | null;
|
|
9
10
|
export type SeriesDatum = Datum[] | null;
|
|
10
11
|
export type AxisTickFormat = ((d: number, index?: number, allTicks?: number[]) => string) | ((d: string, index?: number, allTicks?: number[]) => string) | ((d: Date, index?: number, allTicks?: number[]) => string);
|
|
@@ -635,6 +636,7 @@ export interface StreamXYFrameProps<T = Datum> {
|
|
|
635
636
|
/** Accessor for unique point IDs used by point-anchored annotations */
|
|
636
637
|
pointIdAccessor?: string | ((d: T) => string);
|
|
637
638
|
annotations?: Datum[];
|
|
639
|
+
autoPlaceAnnotations?: AutoPlaceAnnotations;
|
|
638
640
|
svgAnnotationRules?: (annotation: Datum, index: number, context: AnnotationContext) => ReactNode;
|
|
639
641
|
showGrid?: boolean;
|
|
640
642
|
legend?: ReactNode | {
|