semiotic 3.8.5 → 3.8.6
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 +5 -4
- package/README.md +42 -42
- package/ai/behaviorContracts.cjs +2 -2
- package/ai/componentMetadata.cjs +1 -1
- package/ai/dist/mcp-server.js +2 -0
- package/ai/examples.md +44 -2
- package/ai/schema.json +385 -14
- package/ai/surface-manifest.json +6 -4
- package/ai/system-prompt.md +1 -1
- package/dist/{chunk-chartContainerDataAudit-74TLKIP6.module.min.js → chunk-chartContainerDataAudit-FEOD5GTQ.module.min.js} +1 -1
- package/dist/chunk-chunk-2CHN2TA3.module.min.js +1 -0
- package/dist/chunk-chunk-2JGJ5GUG.module.min.js +1 -0
- package/dist/chunk-chunk-3NGIKFD6.module.min.js +1 -0
- package/dist/chunk-chunk-3SHB24AG.module.min.js +1 -0
- package/dist/chunk-chunk-4MMOOYTX.module.min.js +2 -0
- package/dist/{chunk-chunk-KT2VAZMZ.module.min.js → chunk-chunk-75OTQSXS.module.min.js} +1 -1
- package/dist/chunk-chunk-A5GRQUOF.module.min.js +1 -0
- package/dist/chunk-chunk-AAF5LZAU.module.min.js +2 -0
- package/dist/{chunk-chunk-4AANPFOX.module.min.js → chunk-chunk-ARZGA4LJ.module.min.js} +1 -1
- package/dist/chunk-chunk-CAFLML4L.module.min.js +2 -0
- package/dist/chunk-chunk-FHBN7OEB.module.min.js +2 -0
- package/dist/{chunk-chunk-TMWIZL3K.module.min.js → chunk-chunk-GFTVACTO.module.min.js} +1 -1
- package/dist/chunk-chunk-IP2UE74X.module.min.js +1 -0
- package/dist/chunk-chunk-ITDWLZXV.module.min.js +2 -0
- package/dist/chunk-chunk-LPSPATPC.module.min.js +1 -0
- package/dist/chunk-chunk-OM6NWS4H.module.min.js +2 -0
- package/dist/chunk-chunk-PX5YQGDP.module.min.js +2 -0
- package/dist/chunk-chunk-Q2BS46W2.module.min.js +2 -0
- package/dist/{chunk-chunk-LJLS6DY7.module.min.js → chunk-chunk-RA7JCG7D.module.min.js} +1 -1
- package/dist/chunk-chunk-RNUHEXZA.module.min.js +2 -0
- package/dist/chunk-chunk-ROZWKEUG.module.min.js +1 -0
- package/dist/chunk-chunk-SMVD3EQJ.module.min.js +2 -0
- package/dist/chunk-chunk-T2FKJD4O.module.min.js +2 -0
- package/dist/{chunk-chunk-K3DMEW22.module.min.js → chunk-chunk-UDREYOLV.module.min.js} +1 -1
- package/dist/chunk-chunk-VOWE3SAP.module.min.js +2 -0
- package/dist/chunk-chunk-VQPNBUSW.module.min.js +2 -0
- package/dist/{chunk-chunk-N5DDKCCF.module.min.js → chunk-chunk-WAWCIHFJ.module.min.js} +1 -1
- package/dist/{chunk-chunk-XXWSHGPL.module.min.js → chunk-chunk-WYARAXHR.module.min.js} +1 -1
- package/dist/{chunk-chunk-I36PJ4OC.module.min.js → chunk-chunk-XP3OHHFX.module.min.js} +1 -1
- package/dist/chunk-chunk-XV3KGYTR.module.min.js +2 -0
- package/dist/chunk-chunk-YC2IVEPX.module.min.js +1 -0
- package/dist/components/ai/chartCapabilities.d.ts +2 -1
- package/dist/components/charts/custom/XYCustomChart.d.ts +3 -0
- package/dist/components/charts/geo/DistanceCartogram.d.ts +1 -1
- package/dist/components/charts/index.d.ts +3 -0
- package/dist/components/charts/ordinal/BarChart.d.ts +7 -14
- package/dist/components/charts/ordinal/GaugeChart.d.ts +3 -0
- package/dist/components/charts/ordinal/GroupedBarChart.d.ts +3 -0
- package/dist/components/charts/ordinal/StackedBarChart.d.ts +3 -0
- package/dist/components/charts/ordinal/SwimlaneChart.d.ts +4 -14
- package/dist/components/charts/shared/chartSpecCore.d.ts +2 -4
- package/dist/components/charts/shared/gaugeGradient.d.ts +4 -8
- package/dist/components/charts/shared/gradient.d.ts +35 -0
- package/dist/components/charts/shared/hatchFill.d.ts +3 -10
- package/dist/components/charts/shared/hooks.d.ts +2 -50
- package/dist/components/charts/shared/knownChartComponents.d.ts +1 -1
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +1 -2
- package/dist/components/charts/shared/useChartLegend.d.ts +58 -0
- package/dist/components/charts/shared/useChartSetup.d.ts +5 -0
- package/dist/components/charts/shared/useCustomChartSetup.d.ts +6 -1
- package/dist/components/charts/shared/useNetworkChartSetup.d.ts +1 -0
- package/dist/components/charts/shared/useStreamingLegend.d.ts +1 -1
- package/dist/components/charts/xy/AreaChart.d.ts +25 -42
- package/dist/components/charts/xy/BumpChart.capability.d.ts +11 -0
- package/dist/components/charts/xy/BumpChart.d.ts +161 -0
- package/dist/components/charts/xy/DifferenceChart.d.ts +3 -10
- package/dist/components/charts/xy/Heatmap.d.ts +3 -0
- package/dist/components/charts/xy/LineChart.d.ts +6 -8
- package/dist/components/geometry/bumpRibbonGeometry.d.ts +36 -0
- package/dist/components/legendLayout.d.ts +19 -1
- package/dist/components/semiotic-ai.d.ts +2 -1
- package/dist/components/semiotic-geo.d.ts +1 -0
- package/dist/components/semiotic-network.d.ts +1 -0
- package/dist/components/semiotic-ordinal.d.ts +2 -0
- package/dist/components/semiotic-physics.d.ts +1 -0
- package/dist/components/semiotic-realtime-core.d.ts +1 -0
- package/dist/components/semiotic-server-edge.d.ts +1 -1
- package/dist/components/semiotic-server.d.ts +1 -1
- package/dist/components/semiotic-xy.d.ts +4 -0
- package/dist/components/semiotic.d.ts +4 -4
- package/dist/components/server/serverChartConfigs.d.ts +1 -0
- package/dist/components/server/serverChartConfigsXY.d.ts +1 -0
- package/dist/components/server/staticLegend.d.ts +4 -2
- package/dist/components/server/staticSVGChrome.d.ts +4 -4
- package/dist/components/stream/GeoSVGOverlay.d.ts +4 -10
- package/dist/components/stream/NetworkSVGOverlay.d.ts +2 -6
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +2 -6
- package/dist/components/stream/SVGOverlay.d.ts +2 -6
- package/dist/components/stream/StalenessBadge.d.ts +2 -6
- package/dist/components/stream/geoTypes.d.ts +3 -6
- package/dist/components/stream/legendRenderer.d.ts +2 -6
- package/dist/components/stream/ordinalTypes.d.ts +7 -31
- package/dist/components/stream/physics/PhysicsKernel.d.ts +1 -0
- package/dist/components/stream/physics/PhysicsSVGOverlay.d.ts +2 -6
- package/dist/components/stream/physics/StreamPhysicsTypes.d.ts +2 -6
- package/dist/components/stream/pipelineConfig.d.ts +7 -15
- package/dist/components/stream/renderers/canvasRenderHelpers.d.ts +9 -69
- package/dist/components/stream/renderers/cornerRadii.d.ts +2 -9
- package/dist/components/stream/renderers/thresholdLineSegments.d.ts +12 -0
- package/dist/components/stream/sceneToSVGShared.d.ts +3 -5
- package/dist/components/stream/types.d.ts +32 -56
- package/dist/components/stream/xySceneBuilders/areaGradient.d.ts +4 -20
- package/dist/components/stream/xySceneBuilders/types.d.ts +6 -6
- package/dist/components/types/legendTypes.d.ts +15 -6
- 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/physics.min.js +1 -1
- package/dist/physics.module.min.js +1 -1
- package/dist/physicsWorker.js +1 -1
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/semiotic-ai-core.min.js +1 -1
- package/dist/semiotic-ai-core.module.min.js +1 -1
- package/dist/semiotic-ai.d.ts +2 -1
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-experimental.min.js +1 -1
- package/dist/semiotic-experimental.module.min.js +1 -1
- package/dist/semiotic-geo.d.ts +1 -0
- package/dist/semiotic-network.d.ts +1 -0
- package/dist/semiotic-ordinal.d.ts +2 -0
- package/dist/semiotic-physics.d.ts +1 -0
- package/dist/semiotic-realtime-core.d.ts +1 -0
- package/dist/semiotic-realtime-core.min.js +1 -1
- package/dist/semiotic-realtime-core.module.min.js +1 -1
- package/dist/semiotic-recipes-core.module.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-server-edge.d.ts +1 -1
- package/dist/semiotic-server-edge.min.js +1 -1
- package/dist/semiotic-server-edge.module.min.js +1 -1
- package/dist/semiotic-server-node.min.js +1 -1
- package/dist/semiotic-server-node.module.min.js +1 -1
- package/dist/semiotic-server.d.ts +1 -1
- package/dist/semiotic-utils-core.min.js +1 -1
- package/dist/semiotic-utils-core.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 +4 -0
- package/dist/semiotic.d.ts +4 -4
- 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 +1 -1
- package/dist/chunk-chunk-5I3UZV4Q.module.min.js +0 -2
- package/dist/chunk-chunk-74CCPVXB.module.min.js +0 -1
- package/dist/chunk-chunk-ANYDWOZF.module.min.js +0 -1
- package/dist/chunk-chunk-AVBI6GDT.module.min.js +0 -1
- package/dist/chunk-chunk-BANTPINB.module.min.js +0 -2
- package/dist/chunk-chunk-C57LR3YG.module.min.js +0 -1
- package/dist/chunk-chunk-CKMD5NV3.module.min.js +0 -2
- package/dist/chunk-chunk-CWQ5YIHX.module.min.js +0 -2
- package/dist/chunk-chunk-E6TXX6MI.module.min.js +0 -1
- package/dist/chunk-chunk-L6EA5V3G.module.min.js +0 -2
- package/dist/chunk-chunk-LJPCLYSC.module.min.js +0 -2
- package/dist/chunk-chunk-LRIFN2HK.module.min.js +0 -1
- package/dist/chunk-chunk-NEVE562N.module.min.js +0 -1
- package/dist/chunk-chunk-NLO44TOS.module.min.js +0 -2
- package/dist/chunk-chunk-PZJ2SBLL.module.min.js +0 -2
- package/dist/chunk-chunk-QUJ6TTLY.module.min.js +0 -1
- package/dist/chunk-chunk-RBIDBUT4.module.min.js +0 -2
- package/dist/chunk-chunk-RFLAG356.module.min.js +0 -1
- package/dist/chunk-chunk-RPU4IZAV.module.min.js +0 -2
- package/dist/chunk-chunk-SKMBCFIL.module.min.js +0 -2
- package/dist/chunk-chunk-TAE7W424.module.min.js +0 -2
- package/dist/chunk-chunk-TUBMTZMU.module.min.js +0 -2
- package/dist/chunk-chunk-UFFEXJQY.module.min.js +0 -1
- package/dist/chunk-chunk-XSCHTS4D.module.min.js +0 -2
- package/dist/chunk-statisticalOverlays-QGDLRUHX.module.min.js +0 -1
- package/dist/chunk-statisticalOverlays-T77OKLDY.module.min.js +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
3
|
+
import type { StreamXYFrameProps, Style } from "../../stream/types";
|
|
4
|
+
import type { LayoutContext, LayoutResult } from "../../stream/customLayout";
|
|
5
|
+
import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types";
|
|
6
|
+
import type { Datum } from "../shared/datumTypes";
|
|
7
|
+
import type { TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
|
+
import { type StyleRule } from "../shared/styleRules";
|
|
9
|
+
import type { LegendValue } from "../../types/legendTypes";
|
|
10
|
+
import type { LegendInteractionMode, LegendPosition } from "../shared/useChartLegend";
|
|
11
|
+
export interface RankedBumpDatum<TDatum extends Datum = Datum> extends Datum {
|
|
12
|
+
x: number;
|
|
13
|
+
y: number;
|
|
14
|
+
__bumpRaw: TDatum;
|
|
15
|
+
__bumpSeries: string;
|
|
16
|
+
__bumpColorGroup: string;
|
|
17
|
+
__bumpValue: number;
|
|
18
|
+
__bumpRank: number;
|
|
19
|
+
__bumpXValue: unknown;
|
|
20
|
+
__bumpHighlighted: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface RankedBumpData<TDatum extends Datum = Datum> {
|
|
23
|
+
data: RankedBumpDatum<TDatum>[];
|
|
24
|
+
xValues: unknown[];
|
|
25
|
+
seriesOrder: string[];
|
|
26
|
+
overallOrder: string[];
|
|
27
|
+
valueExtent: [number, number];
|
|
28
|
+
}
|
|
29
|
+
export interface RankBumpDataOptions<TDatum extends Datum = Datum> {
|
|
30
|
+
xAccessor?: ChartAccessor<TDatum, number | Date | string>;
|
|
31
|
+
yAccessor?: ChartAccessor<TDatum, number>;
|
|
32
|
+
lineBy?: ChartAccessor<TDatum, string>;
|
|
33
|
+
rankDirection?: "descending" | "ascending";
|
|
34
|
+
highlightTop?: number;
|
|
35
|
+
}
|
|
36
|
+
export declare function mapBumpAnnotations(annotations: Datum[] | undefined, xValues: unknown[]): Datum[] | undefined;
|
|
37
|
+
export declare function resolveBumpColorScheme(options: {
|
|
38
|
+
seriesOrder: string[];
|
|
39
|
+
overallOrder: string[];
|
|
40
|
+
highlightTop?: number;
|
|
41
|
+
color?: string;
|
|
42
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
43
|
+
neutralColor?: string;
|
|
44
|
+
themeCategorical?: string[];
|
|
45
|
+
themeNeutral?: string;
|
|
46
|
+
}): string | string[] | Record<string, string> | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Rank every x-column and return the flattened, frame-ready rows used by
|
|
49
|
+
* BumpChart. Ranking is ordinal and deterministic: equal values retain series
|
|
50
|
+
* first-appearance order.
|
|
51
|
+
*/
|
|
52
|
+
export declare function rankBumpData<TDatum extends Datum = Datum>(input: TDatum[], options?: RankBumpDataOptions<TDatum>): RankedBumpData<TDatum>;
|
|
53
|
+
export interface BumpLayoutConfig {
|
|
54
|
+
ribbon: boolean;
|
|
55
|
+
curve: "smooth" | "linear";
|
|
56
|
+
samplesPerSegment: number;
|
|
57
|
+
ribbonSizeRange: [number, number];
|
|
58
|
+
valueExtent: [number, number];
|
|
59
|
+
seriesOrder: string[];
|
|
60
|
+
lineWidth: number;
|
|
61
|
+
ribbonOpacity: number;
|
|
62
|
+
lineOpacity: number;
|
|
63
|
+
neutralColor?: string;
|
|
64
|
+
color?: string;
|
|
65
|
+
stroke?: string;
|
|
66
|
+
strokeWidth?: number;
|
|
67
|
+
opacity?: number;
|
|
68
|
+
styleRules?: ReadonlyArray<StyleRule>;
|
|
69
|
+
areaStyle?: (datum: Datum) => Style;
|
|
70
|
+
pointStyle?: (datum: Datum) => Style & {
|
|
71
|
+
r?: number;
|
|
72
|
+
};
|
|
73
|
+
labelStyle?: React.CSSProperties | ((datum: Datum) => React.CSSProperties);
|
|
74
|
+
showPoints: boolean;
|
|
75
|
+
pointRadius: number;
|
|
76
|
+
showLabels: boolean | "start" | "end" | "both";
|
|
77
|
+
}
|
|
78
|
+
export declare function bumpLayout(ctx: LayoutContext<BumpLayoutConfig>): LayoutResult;
|
|
79
|
+
export interface BumpChartProps<TDatum extends Datum = Datum> extends BaseChartProps, AxisConfig {
|
|
80
|
+
/** Flat observations. Each x-column is ranked from `yAccessor`. */
|
|
81
|
+
data: TDatum[];
|
|
82
|
+
/** Ranking column accessor. First-seen order determines the x-axis order. Default `"x"`. */
|
|
83
|
+
xAccessor?: ChartAccessor<TDatum, number | Date | string>;
|
|
84
|
+
/** Numeric magnitude to rank and, in ribbon mode, encode as width. Default `"y"`. */
|
|
85
|
+
yAccessor?: ChartAccessor<TDatum, number>;
|
|
86
|
+
/** Series identity accessor. Default `"series"`. */
|
|
87
|
+
lineBy?: ChartAccessor<TDatum, string>;
|
|
88
|
+
/** Highest values rank first by default; use `"ascending"` for metrics where lower is better. */
|
|
89
|
+
rankDirection?: "descending" | "ascending";
|
|
90
|
+
/** Draw magnitude-encoded, perpendicular-offset areas instead of fixed-width lines. */
|
|
91
|
+
ribbon?: boolean;
|
|
92
|
+
/** Centerline shape. Smooth uses horizontal-tangent cubic segments. Default `"smooth"`. */
|
|
93
|
+
curve?: "smooth" | "linear";
|
|
94
|
+
/** Full ribbon width range in pixels. Default `[4, 28]`. */
|
|
95
|
+
ribbonSizeRange?: [number, number];
|
|
96
|
+
/** Number of centerline samples per ranking interval. Default `12`. */
|
|
97
|
+
samplesPerSegment?: number;
|
|
98
|
+
/** Fixed line width when `ribbon` is false. Default `3`. */
|
|
99
|
+
lineWidth?: number;
|
|
100
|
+
/** Highlight only the N best series by mean rank; all others share `neutralColor`. */
|
|
101
|
+
highlightTop?: number;
|
|
102
|
+
/** Shared color for trajectories outside `highlightTop`. */
|
|
103
|
+
neutralColor?: string;
|
|
104
|
+
/** Ordered per-datum style rules. Trajectory rules resolve against each series' first observation. */
|
|
105
|
+
styleRules?: StyleRule[];
|
|
106
|
+
/** Style endpoint labels globally or per original datum. */
|
|
107
|
+
labelStyle?: React.CSSProperties | ((datum: TDatum) => React.CSSProperties);
|
|
108
|
+
colorScheme?: string | string[] | Record<string, string>;
|
|
109
|
+
ribbonOpacity?: number;
|
|
110
|
+
lineOpacity?: number;
|
|
111
|
+
showPoints?: boolean;
|
|
112
|
+
pointRadius?: number;
|
|
113
|
+
/** Endpoint labels. `true` is equivalent to `"end"`. Default `true`. */
|
|
114
|
+
showLabels?: boolean | "start" | "end" | "both";
|
|
115
|
+
showAxes?: boolean;
|
|
116
|
+
showGrid?: boolean;
|
|
117
|
+
showLegend?: boolean;
|
|
118
|
+
/** Additional legend content. */
|
|
119
|
+
legend?: LegendValue;
|
|
120
|
+
legendInteraction?: LegendInteractionMode;
|
|
121
|
+
legendPosition?: LegendPosition;
|
|
122
|
+
enableHover?: boolean;
|
|
123
|
+
/** Dim every trajectory except the hovered series. Default `true`. */
|
|
124
|
+
hoverHighlight?: boolean | "series";
|
|
125
|
+
tooltip?: TooltipProp;
|
|
126
|
+
/** Annotation objects. X coordinates may use the original x values. */
|
|
127
|
+
annotations?: Datum[];
|
|
128
|
+
/** Additional frame props, with BumpChart geometry remaining controlled. */
|
|
129
|
+
frameProps?: Partial<Omit<StreamXYFrameProps, "chartType" | "data" | "size" | "customLayout" | "layoutConfig">>;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Ranking-based bump chart. Each x-column ranks its series by `yAccessor`, and
|
|
133
|
+
* rank becomes vertical position. With `ribbon`, magnitude is encoded by true
|
|
134
|
+
* screen-space ribbon thickness instead of a vertically interpolated area.
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* // Fixed-width ranking lines, coloring only the top 3 series by mean rank.
|
|
138
|
+
* <BumpChart
|
|
139
|
+
* data={data}
|
|
140
|
+
* xAccessor="quarter"
|
|
141
|
+
* yAccessor="sales"
|
|
142
|
+
* lineBy="team"
|
|
143
|
+
* highlightTop={3}
|
|
144
|
+
* />
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* // Magnitude-encoded ribbons (width ∝ value) with ascending rank for a
|
|
148
|
+
* // "lower is better" metric.
|
|
149
|
+
* <BumpChart
|
|
150
|
+
* data={data}
|
|
151
|
+
* xAccessor="week"
|
|
152
|
+
* yAccessor="latencyMs"
|
|
153
|
+
* lineBy="service"
|
|
154
|
+
* rankDirection="ascending"
|
|
155
|
+
* ribbon
|
|
156
|
+
* />
|
|
157
|
+
*/
|
|
158
|
+
export declare const BumpChart: {
|
|
159
|
+
<TDatum extends Datum = Datum>(props: BumpChartProps<TDatum> & React.RefAttributes<RealtimeFrameHandle>): React.ReactElement | null;
|
|
160
|
+
displayName?: string;
|
|
161
|
+
};
|
|
@@ -5,6 +5,7 @@ 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
|
+
import { type GradientInput } from "../shared/gradient";
|
|
8
9
|
export { computeDifferenceSegments } from "./differenceSegments";
|
|
9
10
|
/**
|
|
10
11
|
* DifferenceChart props
|
|
@@ -38,16 +39,8 @@ export interface DifferenceChartProps<TDatum extends Datum = Datum> extends Base
|
|
|
38
39
|
curve?: "linear" | "monotoneX" | "monotoneY" | "step" | "stepAfter" | "stepBefore" | "basis" | "cardinal" | "catmullRom";
|
|
39
40
|
/** Fill opacity for the difference region. Default `0.6`. */
|
|
40
41
|
areaOpacity?: number;
|
|
41
|
-
/** Gradient fill
|
|
42
|
-
gradientFill?:
|
|
43
|
-
topOpacity: number;
|
|
44
|
-
bottomOpacity: number;
|
|
45
|
-
} | {
|
|
46
|
-
colorStops: Array<{
|
|
47
|
-
offset: number;
|
|
48
|
-
color: string;
|
|
49
|
-
}>;
|
|
50
|
-
};
|
|
42
|
+
/** Gradient fill from each segment's tip (offset 0) to its base (offset 1). */
|
|
43
|
+
gradientFill?: GradientInput;
|
|
51
44
|
/** Enable hover annotations. */
|
|
52
45
|
enableHover?: boolean;
|
|
53
46
|
/** Show grid lines. Default `false`. */
|
|
@@ -2,6 +2,7 @@ import type { Datum } from "../shared/datumTypes";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import type { StreamXYFrameProps } from "../../stream/types";
|
|
4
4
|
import type { RealtimeFrameHandle } from "../../realtime/types";
|
|
5
|
+
import type { GradientLegendValue } from "../../types/legendTypes";
|
|
5
6
|
import type { LegendInteractionMode } from "../shared/hooks";
|
|
6
7
|
import type { BaseChartProps, ChartAccessor } from "../shared/types";
|
|
7
8
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
@@ -103,6 +104,8 @@ export interface HeatmapProps<TDatum extends Datum = Datum> extends BaseChartPro
|
|
|
103
104
|
* @default "right"
|
|
104
105
|
*/
|
|
105
106
|
legendPosition?: "right" | "left" | "top" | "bottom";
|
|
107
|
+
/** Gradient legend layout overrides. */
|
|
108
|
+
legend?: Pick<GradientLegendValue, "legendDistance">;
|
|
106
109
|
/**
|
|
107
110
|
* Legend interaction mode.
|
|
108
111
|
* - "highlight": hover dims non-hovered categories to 30% opacity
|
|
@@ -7,6 +7,7 @@ import type { BaseChartProps, AxisConfig, ChartAccessor } from "../shared/types"
|
|
|
7
7
|
import { type TooltipProp } from "../../Tooltip/Tooltip";
|
|
8
8
|
import { type StyleRule } from "../shared/styleRules";
|
|
9
9
|
import type { AnomalyConfig, ForecastConfig } from "../shared/statisticalOverlays";
|
|
10
|
+
import { type ColorGradientInput } from "../shared/gradient";
|
|
10
11
|
import type { LegendValue } from "../../types/legendTypes";
|
|
11
12
|
/**
|
|
12
13
|
* LineChart component props
|
|
@@ -113,15 +114,12 @@ export interface LineChartProps<TDatum extends Datum = Datum> extends BaseChartP
|
|
|
113
114
|
*/
|
|
114
115
|
areaOpacity?: number;
|
|
115
116
|
/**
|
|
116
|
-
* Horizontal gradient
|
|
117
|
-
*
|
|
117
|
+
* Horizontal line-stroke gradient. Offset 0 is the left edge and offset 1
|
|
118
|
+
* is the right edge.
|
|
119
|
+
* @example
|
|
120
|
+
* `{ stops: [{ offset: 0, color: "blue" }, { offset: 1, color: "red" }] }`
|
|
118
121
|
*/
|
|
119
|
-
lineGradient?:
|
|
120
|
-
colorStops: Array<{
|
|
121
|
-
offset: number;
|
|
122
|
-
color: string;
|
|
123
|
-
}>;
|
|
124
|
-
};
|
|
122
|
+
lineGradient?: ColorGradientInput;
|
|
125
123
|
/**
|
|
126
124
|
* Line stroke width
|
|
127
125
|
* @default 2
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Screen-space geometry for magnitude-encoded bump-chart ribbons.
|
|
3
|
+
*
|
|
4
|
+
* A conventional area chart offsets both boundaries vertically. That makes a
|
|
5
|
+
* band look artificially thin when its centerline moves sharply between
|
|
6
|
+
* ranks. This helper follows the idea behind d3.svg.ribbon instead: sample the
|
|
7
|
+
* centerline, calculate its local normal, then offset by the requested radius.
|
|
8
|
+
* The visible thickness therefore stays perpendicular to the trajectory.
|
|
9
|
+
*/
|
|
10
|
+
export interface BumpRibbonPoint {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
/** Half of the desired visible ribbon thickness, in pixels. */
|
|
14
|
+
radius: number;
|
|
15
|
+
}
|
|
16
|
+
export interface BumpRibbonGeometry {
|
|
17
|
+
topPath: [number, number][];
|
|
18
|
+
bottomPath: [number, number][];
|
|
19
|
+
/** Index of the nearest input datum for every sampled path vertex. */
|
|
20
|
+
datumIndices: number[];
|
|
21
|
+
}
|
|
22
|
+
export interface BumpRibbonGeometryOptions {
|
|
23
|
+
/** Smooth horizontal-tangent Béziers or straight segments. */
|
|
24
|
+
curve?: "smooth" | "linear";
|
|
25
|
+
/** Samples emitted for each interval. Stable counts enable path animation. */
|
|
26
|
+
samplesPerSegment?: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Build paired boundary paths around a bump-chart centerline.
|
|
30
|
+
*
|
|
31
|
+
* The first sample of every interval after the first is omitted because it is
|
|
32
|
+
* identical to the previous interval's final sample. Every trajectory with
|
|
33
|
+
* the same number of ranking columns therefore emits the same number of
|
|
34
|
+
* vertices, which lets StreamXYFrame interpolate paths during data updates.
|
|
35
|
+
*/
|
|
36
|
+
export declare function buildBumpRibbonGeometry(points: BumpRibbonPoint[], options?: BumpRibbonGeometryOptions): BumpRibbonGeometry;
|
|
@@ -1,8 +1,26 @@
|
|
|
1
|
-
import type { LegendLayout } from "./types/legendTypes";
|
|
1
|
+
import type { LegendLayout, LegendValue } from "./types/legendTypes";
|
|
2
2
|
export declare const DEFAULT_LEGEND_SWATCH_SIZE = 16;
|
|
3
3
|
export declare const DEFAULT_LEGEND_LABEL_GAP = 6;
|
|
4
4
|
export declare const DEFAULT_LEGEND_ITEM_GAP = 10;
|
|
5
5
|
export declare const DEFAULT_LEGEND_ROW_HEIGHT = 22;
|
|
6
|
+
export declare const DEFAULT_SIDE_LEGEND_WIDTH = 100;
|
|
7
|
+
export declare const DEFAULT_LEGEND_DISTANCE = 10;
|
|
8
|
+
/**
|
|
9
|
+
* SVG text has no useful intrinsic width until after it is mounted. Keep the
|
|
10
|
+
* estimate shared by margin calculation and rendering so side legends never
|
|
11
|
+
* reserve one width and draw into another.
|
|
12
|
+
*/
|
|
13
|
+
export declare function estimateLegendTextWidth(label: string): number;
|
|
14
|
+
/** Resolve the layout box needed by a left/right legend. */
|
|
15
|
+
export declare function resolveSideLegendWidth(legend: LegendValue | null | undefined, layout?: LegendLayout): number;
|
|
16
|
+
/** Resolve the requested gap between the legend edge and plot edge. */
|
|
17
|
+
export declare function resolveLegendDistance(legend: LegendValue | null | undefined): number;
|
|
18
|
+
/** Resolve plot-adjacent chrome reserved before a left/right legend. */
|
|
19
|
+
export declare function resolveLegendSideGutter(layout?: LegendLayout): number;
|
|
20
|
+
/** Estimate the layout-box height used to place a top/bottom legend. */
|
|
21
|
+
export declare function resolveHorizontalLegendHeight(legend: LegendValue | null | undefined, availableWidth: number, layout?: LegendLayout): number;
|
|
22
|
+
/** Margin required to fit a side legend and its plot-edge gap. */
|
|
23
|
+
export declare function resolveSideLegendMargin(legend: LegendValue | null | undefined, layout?: LegendLayout): number;
|
|
6
24
|
export interface LegendMetrics {
|
|
7
25
|
swatchSize: number;
|
|
8
26
|
labelGap: number;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { LineChart } from "./charts/xy/LineChart";
|
|
2
|
+
export { BumpChart, rankBumpData } from "./charts/xy/BumpChart";
|
|
2
3
|
export { AreaChart } from "./charts/xy/AreaChart";
|
|
3
4
|
export { DifferenceChart } from "./charts/xy/DifferenceChart";
|
|
4
5
|
export { StackedAreaChart } from "./charts/xy/StackedAreaChart";
|
|
@@ -141,7 +142,7 @@ export type { ScorecardFixture, ScorecardReport, PerCapabilityScore, PerFixtureS
|
|
|
141
142
|
export { CANONICAL_FIXTURES } from "./ai/qualityFixtures";
|
|
142
143
|
export { useChartSuggestions } from "./ai/useChartSuggestions";
|
|
143
144
|
export type { UseChartSuggestionsOptions, UseChartSuggestionsResult } from "./ai/useChartSuggestions";
|
|
144
|
-
export { getCapabilities, getCapability, registerChartCapability, unregisterChartCapability, LineChartCapability, AreaChartCapability, StackedAreaChartCapability, ScatterplotCapability, ConnectedScatterplotCapability, BubbleChartCapability, QuadrantChartCapability, MultiAxisLineChartCapability, MinimapChartCapability, DifferenceChartCapability, CandlestickChartCapability, HeatmapCapability, BarChartCapability, GroupedBarChartCapability, StackedBarChartCapability, DotPlotCapability, PieChartCapability, DonutChartCapability, FunnelChartCapability, GaugeChartCapability, LikertChartCapability, SwimlaneChartCapability, HistogramCapability, BoxPlotCapability, SwarmPlotCapability, ViolinPlotCapability, RidgelinePlotCapability, ForceDirectedGraphCapability, SankeyDiagramCapability, ChordDiagramCapability, ProcessSankeyCapability, TreeDiagramCapability, TreemapCapability, CirclePackCapability, OrbitDiagramCapability, ChoroplethMapCapability, ProportionalSymbolMapCapability, FlowMapCapability, DistanceCartogramCapability } from "./ai/chartCapabilities";
|
|
145
|
+
export { getCapabilities, getCapability, registerChartCapability, unregisterChartCapability, LineChartCapability, AreaChartCapability, BumpChartCapability, StackedAreaChartCapability, ScatterplotCapability, ConnectedScatterplotCapability, BubbleChartCapability, QuadrantChartCapability, MultiAxisLineChartCapability, MinimapChartCapability, DifferenceChartCapability, CandlestickChartCapability, HeatmapCapability, BarChartCapability, GroupedBarChartCapability, StackedBarChartCapability, DotPlotCapability, PieChartCapability, DonutChartCapability, FunnelChartCapability, GaugeChartCapability, LikertChartCapability, SwimlaneChartCapability, HistogramCapability, BoxPlotCapability, SwarmPlotCapability, ViolinPlotCapability, RidgelinePlotCapability, ForceDirectedGraphCapability, SankeyDiagramCapability, ChordDiagramCapability, ProcessSankeyCapability, TreeDiagramCapability, TreemapCapability, CirclePackCapability, OrbitDiagramCapability, ChoroplethMapCapability, ProportionalSymbolMapCapability, FlowMapCapability, DistanceCartogramCapability } from "./ai/chartCapabilities";
|
|
145
146
|
export type { ChartCapability, ChartCandidateKind, ChartDataProfile, ChartFamily, ChartImportPath, ChartRubric, ChartVariant, FieldCandidate, FieldKind, FitResult, IntentScorer, ScaledSuggestionGroups, Suggestion, SuggestionScaleRange, WhyCustomExplanation } from "./ai/chartCapabilityTypes";
|
|
146
147
|
export { defineChartRecipe, validateChartRecipe, isJsonSafe, isRegisteredRecipeLayout } from "./ai/chartRecipes";
|
|
147
148
|
export type { AccessibilityTableField, AccessibilityExpectations, AudienceFitDefinition, ChartRecipe as ChartRecipeDefinition, ChartRecipeFrameFamily, ChartRecipePortability, CustomLayoutFunction, DataRoleDefinition, DataSemanticType, DescriptionStrategy, DesignContractDefinition, EncodingChannel, EncodingDefinition, IntentDefinition, LiteracyTargetDefinition, NavigationStrategy, PortableNavigationStrategy, RecipeAudienceDefinition, RecipeAuditExpectations, RecipeDescription, RecipeExample, RecipeStrategyContext, RecipePortabilityConfig, ReceptionDefinition, RegisteredRecipeLayout, SerializableSchema } from "./ai/chartRecipes";
|
|
@@ -16,6 +16,7 @@ export type { GeoAreaHitTargetProps, HitTargetPointProps } from "./stream/hitTar
|
|
|
16
16
|
export { glyphPlacement, glyphExtent } from "./stream/glyphDef";
|
|
17
17
|
export type { GlyphDef, GlyphPart } from "./stream/glyphDef";
|
|
18
18
|
export type { GlyphSceneNode, SceneAccessibilityMetadata } from "./stream/types";
|
|
19
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
19
20
|
export type { StreamGeoFrameProps, StreamGeoFrameHandle, GeoAreaSceneNode, GeoSceneNode, GeoScales, ProjectionProp, ProjectionName, GraticuleConfig, DistanceCartogramConfig, GeoPipelineConfig } from "./stream/geoTypes";
|
|
20
21
|
export type { GeoCustomLayout, GeoLayoutContext, GeoLayoutResult } from "./stream/geoCustomLayout";
|
|
21
22
|
export type { CustomLayoutFailureDiagnostic, CustomLayoutFailureRecovery, CustomLayoutFamily } from "./stream/customLayoutFailure";
|
|
@@ -26,6 +26,7 @@ export { glyphPlacement, glyphExtent } from "./stream/glyphDef";
|
|
|
26
26
|
export type { GlyphDef, GlyphPart } from "./stream/glyphDef";
|
|
27
27
|
export type { NetworkGlyphNode } from "./stream/networkTypes";
|
|
28
28
|
export type { SceneAccessibilityMetadata } from "./stream/types";
|
|
29
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
29
30
|
export type { StreamNetworkFrameProps, StreamNetworkFrameHandle, NetworkChartType, NetworkSceneNode, NetworkSceneEdge, NetworkLabel, ThresholdAlertConfig } from "./stream/networkTypes";
|
|
30
31
|
export type { ForceDirectedGraphProps } from "./charts/network/ForceDirectedGraph";
|
|
31
32
|
export type { SankeyDiagramProps } from "./charts/network/SankeyDiagram";
|
|
@@ -17,6 +17,7 @@ export { PieChart } from "./charts/ordinal/PieChart";
|
|
|
17
17
|
export { DonutChart } from "./charts/ordinal/DonutChart";
|
|
18
18
|
export { GaugeChart } from "./charts/ordinal/GaugeChart";
|
|
19
19
|
export type { GaugeChartProps, GaugeThreshold } from "./charts/ordinal/GaugeChart";
|
|
20
|
+
export type { GradientConfig, GradientStop } from "./charts/shared/gradient";
|
|
20
21
|
export { RidgelinePlot } from "./charts/ordinal/RidgelinePlot";
|
|
21
22
|
export { FunnelChart } from "./charts/ordinal/FunnelChart";
|
|
22
23
|
export { LikertChart } from "./charts/ordinal/LikertChart";
|
|
@@ -31,6 +32,7 @@ export type { HitTargetPointProps, HitTargetRectProps } from "./stream/hitTarget
|
|
|
31
32
|
export { glyphPlacement, glyphExtent } from "./stream/glyphDef";
|
|
32
33
|
export type { GlyphDef, GlyphPart } from "./stream/glyphDef";
|
|
33
34
|
export type { GlyphSceneNode, SceneAccessibilityMetadata } from "./stream/types";
|
|
35
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
34
36
|
export { createHatchPattern } from "./charts/shared/hatchPattern";
|
|
35
37
|
export type { HatchPatternOptions } from "./charts/shared/hatchPattern";
|
|
36
38
|
export { isHatchFill, hatchPatternDef, resolveSvgFill, hatchFillId } from "./charts/shared/hatchFill";
|
|
@@ -16,6 +16,7 @@ import { buildCollisionSwarmPhysics, buildEventDropPhysics, buildGaltonBoardPhys
|
|
|
16
16
|
import StreamPhysicsFrame, { StreamPhysicsFrame as NamedStreamPhysicsFrame } from "./stream/physics/StreamPhysicsFrame";
|
|
17
17
|
import { PhysicsPipelineStore } from "./stream/physics/PhysicsPipelineStore";
|
|
18
18
|
import { BuiltInPhysicsEngineAdapter, createDefaultPhysicsEngineAdapter } from "./stream/physics/PhysicsEngineAdapter";
|
|
19
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
19
20
|
import { evaluatePhysicsBodyBudget } from "./stream/physics/PhysicsBodyBudget";
|
|
20
21
|
import { PhysicsSedimentAccumulator, sedimentHeightfield } from "./stream/physics/PhysicsSediment";
|
|
21
22
|
import { composePhysicsControllers, createCapacityQueueController, createPortalController, createDependencyGateController, createServiceLevelController, createServiceResourcePoolController } from "./stream/physics/PhysicsControllers";
|
|
@@ -22,6 +22,7 @@ export type { LatePolicy, ReorderBufferConfig, ReorderResult, } from "./realtime
|
|
|
22
22
|
export type { EventTimeConfig } from "./charts/realtime/eventTime";
|
|
23
23
|
export type { RealtimeLineChartProps } from "./charts/realtime/RealtimeLineChart";
|
|
24
24
|
export type { RealtimeHistogramProps, TemporalHistogramProps } from "./charts/realtime/RealtimeHistogram";
|
|
25
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
25
26
|
export type { RealtimeSwarmChartProps } from "./charts/realtime/RealtimeSwarmChart";
|
|
26
27
|
export type { RealtimeWaterfallChartProps } from "./charts/realtime/RealtimeWaterfallChart";
|
|
27
28
|
export type { RealtimeHeatmapProps } from "./charts/realtime/RealtimeHeatmap";
|
|
@@ -2,7 +2,7 @@ export { renderToStaticSVG, renderXYToStaticSVG, renderOrdinalToStaticSVG, rende
|
|
|
2
2
|
export { generateFrameSVGs, generatePhysicsFrameSVGs, generateFrameSequence } from "./server/animatedGif";
|
|
3
3
|
export type { RenderEvidence } from "./server/renderEvidence";
|
|
4
4
|
export type { DashboardChart, DashboardLayout, RenderDashboardOptions, } from "./server/renderToStaticSVG";
|
|
5
|
-
export type { LegendLayout } from "./types/legendTypes";
|
|
5
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
6
6
|
export type { AnimatedGifOptions, PhysicsGifFrameProps, PhysicsGifOptions, } from "./server/animatedGif";
|
|
7
7
|
export { resolveTheme, themeStyles } from "./server/themeResolver";
|
|
8
8
|
export type { ThemeInput } from "./server/themeResolver";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { renderToStaticSVG, renderXYToStaticSVG, renderOrdinalToStaticSVG, renderNetworkToStaticSVG, renderGeoToStaticSVG, renderChart, renderChartWithEvidence, renderToImage, renderDashboard, } from "./server/renderToStaticSVG";
|
|
2
2
|
export type { RenderEvidence } from "./server/renderEvidence";
|
|
3
3
|
export type { RenderToImageOptions, DashboardChart, DashboardLayout, RenderDashboardOptions, } from "./server/renderToStaticSVG";
|
|
4
|
-
export type { LegendLayout } from "./types/legendTypes";
|
|
4
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
5
5
|
export { renderToAnimatedGif, renderPhysicsToAnimatedGif, generateFrameSVGs, generatePhysicsFrameSVGs, generateFrameSequence } from "./server/animatedGif";
|
|
6
6
|
export type { AnimatedGifOptions, PhysicsGifFrameProps, PhysicsGifOptions } from "./server/animatedGif";
|
|
7
7
|
export { resolveTheme, themeStyles } from "./server/themeResolver";
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import StreamXYFrame from "./stream/StreamXYFrame";
|
|
6
6
|
export { StreamXYFrame };
|
|
7
7
|
export { LineChart } from "./charts/xy/LineChart";
|
|
8
|
+
export { BumpChart, rankBumpData } from "./charts/xy/BumpChart";
|
|
8
9
|
export { AreaChart } from "./charts/xy/AreaChart";
|
|
9
10
|
export { DifferenceChart } from "./charts/xy/DifferenceChart";
|
|
10
11
|
export { StackedAreaChart } from "./charts/xy/StackedAreaChart";
|
|
@@ -28,10 +29,13 @@ export type { HitTargetPointProps, HitTargetRectProps } from "./stream/hitTarget
|
|
|
28
29
|
export { glyphPlacement, glyphExtent } from "./stream/glyphDef";
|
|
29
30
|
export type { GlyphDef, GlyphPart } from "./stream/glyphDef";
|
|
30
31
|
export type { GlyphSceneNode, SceneAccessibilityMetadata } from "./stream/types";
|
|
32
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
31
33
|
export type { StreamXYFrameProps, StreamXYFrameHandle } from "./stream/types";
|
|
32
34
|
export type { CustomLayout, LayoutContext, LayoutResult } from "./stream/customLayout";
|
|
33
35
|
export type { LineChartProps } from "./charts/xy/LineChart";
|
|
36
|
+
export type { BumpChartProps, RankedBumpData, RankedBumpDatum, RankBumpDataOptions, } from "./charts/xy/BumpChart";
|
|
34
37
|
export type { AreaChartProps, SemanticGradientStop } from "./charts/xy/AreaChart";
|
|
38
|
+
export type { GradientConfig, GradientStop, SemanticGradientInput, } from "./charts/shared/gradient";
|
|
35
39
|
export type { DifferenceChartProps } from "./charts/xy/DifferenceChart";
|
|
36
40
|
export type { StackedAreaChartProps } from "./charts/xy/StackedAreaChart";
|
|
37
41
|
export type { ScatterplotProps } from "./charts/xy/Scatterplot";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import StreamXYFrame from "./stream/StreamXYFrame";
|
|
2
2
|
import StreamOrdinalFrame from "./stream/StreamOrdinalFrame";
|
|
3
3
|
import StreamNetworkFrame from "./stream/StreamNetworkFrame";
|
|
4
|
-
import { Scatterplot, ConnectedScatterplot, LineChart, AreaChart, DifferenceChart, StackedAreaChart, Heatmap, BubbleChart, BarChart, StackedBarChart, LikertChart, SwarmPlot, BoxPlot, Histogram, ViolinPlot, RidgelinePlot, DotPlot, PieChart, DonutChart, GaugeChart, GroupedBarChart, FunnelChart, SwimlaneChart, ForceDirectedGraph, ChordDiagram, SankeyDiagram, ProcessSankey, TreeDiagram, Treemap, CirclePack, OrbitDiagram, ScatterplotMatrix, MinimapChart, QuadrantChart, MultiAxisLineChart, CandlestickChart, XYCustomChart, NetworkCustomChart, OrdinalCustomChart, responsiveRuleMatches, resolveResponsiveRules } from "./charts";
|
|
4
|
+
import { Scatterplot, ConnectedScatterplot, LineChart, BumpChart, rankBumpData, AreaChart, DifferenceChart, StackedAreaChart, Heatmap, BubbleChart, BarChart, StackedBarChart, LikertChart, SwarmPlot, BoxPlot, Histogram, ViolinPlot, RidgelinePlot, DotPlot, PieChart, DonutChart, GaugeChart, GroupedBarChart, FunnelChart, SwimlaneChart, ForceDirectedGraph, ChordDiagram, SankeyDiagram, ProcessSankey, TreeDiagram, Treemap, CirclePack, OrbitDiagram, ScatterplotMatrix, MinimapChart, QuadrantChart, MultiAxisLineChart, CandlestickChart, XYCustomChart, NetworkCustomChart, OrdinalCustomChart, responsiveRuleMatches, resolveResponsiveRules } from "./charts";
|
|
5
5
|
import { LinkedCharts } from "./LinkedCharts";
|
|
6
6
|
import { ThemeProvider, useTheme } from "./ThemeProvider";
|
|
7
7
|
import { exportChart } from "./export/exportChart";
|
|
@@ -28,14 +28,14 @@ import { RealtimeTemporalHistogram, RealtimeHistogram, TemporalHistogram } from
|
|
|
28
28
|
import { RealtimeSwarmChart } from "./charts/realtime/RealtimeSwarmChart";
|
|
29
29
|
import { RealtimeWaterfallChart } from "./charts/realtime/RealtimeWaterfallChart";
|
|
30
30
|
import { RealtimeHeatmap } from "./charts/realtime/RealtimeHeatmap";
|
|
31
|
-
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, MobileChartContainer, SmallMultipleChart, MobileStandardControls, clampMobileRange, useMobileRangeControls, zoomMobileRange, ChartGrid, CategoryColorProvider, useCategoryColors, ContextLayout, CircularBrush, DirectManipulationControl, VISUALIZATION_CONTROL_TYPES, DetailsPanel, Tooltip, MultiLineTooltip, normalizeTooltip, RingBuffer, IncrementalExtent, RealtimeLineChart, RealtimeTemporalHistogram, RealtimeHistogram, TemporalHistogram, RealtimeSwarmChart, RealtimeWaterfallChart, RealtimeHeatmap, createHatchPattern, responsiveRuleMatches, resolveResponsiveRules };
|
|
32
|
-
export type { LegendLayout } from "./types/legendTypes";
|
|
31
|
+
export { StreamXYFrame, StreamOrdinalFrame, StreamNetworkFrame, Scatterplot, ConnectedScatterplot, LineChart, BumpChart, rankBumpData, 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, MobileChartContainer, SmallMultipleChart, MobileStandardControls, clampMobileRange, useMobileRangeControls, zoomMobileRange, ChartGrid, CategoryColorProvider, useCategoryColors, ContextLayout, CircularBrush, DirectManipulationControl, VISUALIZATION_CONTROL_TYPES, DetailsPanel, Tooltip, MultiLineTooltip, normalizeTooltip, RingBuffer, IncrementalExtent, RealtimeLineChart, RealtimeTemporalHistogram, RealtimeHistogram, TemporalHistogram, RealtimeSwarmChart, RealtimeWaterfallChart, RealtimeHeatmap, createHatchPattern, responsiveRuleMatches, resolveResponsiveRules };
|
|
32
|
+
export type { CategoricalLegendConfig, GradientLegendConfig, GradientLegendValue, LegendGroup, LegendItem, LegendLayout, LegendValue, } from "./types/legendTypes";
|
|
33
33
|
export type { DirectManipulationControlProps, VisualizationControlType } from "./DirectManipulationControl";
|
|
34
34
|
export { createControlObservationAdapter, } from "./controls/controlContract";
|
|
35
35
|
export { auditVisualizationControls } from "./controls/controlAudit";
|
|
36
36
|
export type { ControlInputSource, ControlObservation, ControlObservationAdapterOptions, ControlObservationCallback, ControlObservationPhase, VisualizationControlDefinition, VisualizationControlValue, } from "./controls/controlContract";
|
|
37
37
|
export type { AuditVisualizationControlsOptions, ControlAuditFinding, ControlAuditResult, ControlAuditStatus, } from "./controls/controlAudit";
|
|
38
|
-
export type { 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, QuadrantsConfigOverride, QuadrantConfig, CenterlineStyle, BaseChartProps, AxisConfig, Accessor, ChartAccessor, ChartMode, MobileClearSelectionBehavior, MobileSnapBehavior, MobileInteractionConfig, MobileInteractionProp, ResolvedMobileInteractionConfig, ResponsiveOrientation, ResponsiveRuleCondition, ResponsiveRuleContext, ResponsiveRule, ResponsiveRuleMatch, ResponsiveRuleResult } from "./charts";
|
|
38
|
+
export type { ScatterplotProps, ConnectedScatterplotProps, LineChartProps, BumpChartProps, RankedBumpData, RankedBumpDatum, RankBumpDataOptions, AreaChartProps, SemanticGradientStop, GradientConfig, GradientStop, SemanticGradientInput, 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, QuadrantsConfigOverride, QuadrantConfig, CenterlineStyle, BaseChartProps, AxisConfig, Accessor, ChartAccessor, ChartMode, MobileClearSelectionBehavior, MobileSnapBehavior, MobileInteractionConfig, MobileInteractionProp, ResolvedMobileInteractionConfig, ResponsiveOrientation, ResponsiveRuleCondition, ResponsiveRuleContext, ResponsiveRule, ResponsiveRuleMatch, ResponsiveRuleResult } from "./charts";
|
|
39
39
|
export type { StreamXYFrameProps, StreamXYFrameHandle, StreamChartType, RuntimeMode, SceneNode, SceneAccessibilityMetadata, Changeset, StreamScales, StreamLayout, CurveType, CanvasRendererFn, XYFrameAxisConfig, BandConfig } from "./stream/types";
|
|
40
40
|
export type { StreamRendererFn } from "./stream/renderers/types";
|
|
41
41
|
export type { StreamOrdinalFrameProps, StreamOrdinalFrameHandle, OrdinalChartType, OrdinalScales, OrdinalSceneNode } from "./stream/ordinalTypes";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ChartConfig } from "./serverChartConfigShared";
|
|
2
2
|
export declare const bubbleChart: ChartConfig;
|
|
3
3
|
export declare const sparkline: ChartConfig;
|
|
4
|
+
export declare const bumpChart: ChartConfig;
|
|
4
5
|
export declare const lineChart: ChartConfig;
|
|
5
6
|
/** Static-data TemporalHistogram mapped onto the shared time-binned XY pipeline. */
|
|
6
7
|
export declare const temporalHistogram: ChartConfig;
|
|
@@ -45,14 +45,16 @@ export interface StaticLegendConfig {
|
|
|
45
45
|
hasTitle?: boolean;
|
|
46
46
|
/** SSR legend layout controls */
|
|
47
47
|
legendLayout?: LegendLayout;
|
|
48
|
-
/**
|
|
48
|
+
/** Gap in pixels between the legend and the plot/side gutter. Default: 10. */
|
|
49
|
+
legendDistance?: number;
|
|
50
|
+
/** Optional vertical placement-box override. Defaults to measured content. */
|
|
49
51
|
reservedWidth?: number;
|
|
50
52
|
/** Optional id namespace used for generated SVG ids */
|
|
51
53
|
idPrefix?: string;
|
|
52
54
|
}
|
|
53
55
|
export interface StaticLegendGroupsConfig extends Omit<StaticLegendConfig, "categories" | "colorScheme"> {
|
|
54
56
|
legendGroups: LegendGroup[];
|
|
55
|
-
/**
|
|
57
|
+
/** Optional vertical placement-box override. Defaults to measured content. */
|
|
56
58
|
reservedWidth?: number;
|
|
57
59
|
}
|
|
58
60
|
export interface StaticGradientLegendConfig extends Omit<StaticLegendConfig, "categories" | "colorScheme"> {
|
|
@@ -57,10 +57,10 @@ type StaticLegendHostProps = ThemeAwareProps & {
|
|
|
57
57
|
colorScheme?: string | string[] | Record<string, string>;
|
|
58
58
|
};
|
|
59
59
|
/**
|
|
60
|
-
* The client HOCs reserve a
|
|
61
|
-
* frame API
|
|
62
|
-
*
|
|
63
|
-
* side remains fully caller-controlled.
|
|
60
|
+
* The client HOCs reserve a minimum legend gutter before layout. The static
|
|
61
|
+
* frame API uses the same content measurement, while renderChart() marks HOC
|
|
62
|
+
* requests so both paths retain their compatibility floor. An explicitly set
|
|
63
|
+
* numeric side remains fully caller-controlled.
|
|
64
64
|
*/
|
|
65
65
|
export declare function hocLegendMarginMinimum(props: ThemeAwareProps, position: LegendPosition): number | undefined;
|
|
66
66
|
/** Whether the caller, rather than the HOC default, owns a legend side. */
|
|
@@ -4,7 +4,7 @@ import { type OnAnnotationActivateCallback } from "../charts/shared/annotationAc
|
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
import type { ReactNode } from "react";
|
|
6
6
|
import type { AnnotationContext } from "../realtime/types";
|
|
7
|
-
import type {
|
|
7
|
+
import type { LegendLayout, LegendValue } from "../types/legendTypes";
|
|
8
8
|
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
9
9
|
interface GeoSVGOverlayProps {
|
|
10
10
|
width: number;
|
|
@@ -24,11 +24,7 @@ interface GeoSVGOverlayProps {
|
|
|
24
24
|
*/
|
|
25
25
|
showAxes?: boolean;
|
|
26
26
|
title?: string | ReactNode;
|
|
27
|
-
legend?:
|
|
28
|
-
legendGroups: LegendGroup[];
|
|
29
|
-
} | {
|
|
30
|
-
gradient: GradientLegendConfig;
|
|
31
|
-
};
|
|
27
|
+
legend?: LegendValue;
|
|
32
28
|
legendHoverBehavior?: (item: {
|
|
33
29
|
label: string;
|
|
34
30
|
} | null) => void;
|
|
@@ -64,10 +60,8 @@ interface GeoSVGOverlayProps {
|
|
|
64
60
|
/**
|
|
65
61
|
* The SVG chrome used by StreamGeoFrame.
|
|
66
62
|
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
* the subset Geo actually exercises here so those XY-only dependencies do not
|
|
70
|
-
* enter the Geo bundle.
|
|
63
|
+
* Contains the subset Geo exercises so XY-only scale, marginal-graphics, grid,
|
|
64
|
+
* and linked-crosshair dependencies do not enter the Geo bundle.
|
|
71
65
|
*/
|
|
72
66
|
export declare function GeoSVGOverlay(props: GeoSVGOverlayProps): React.JSX.Element | null;
|
|
73
67
|
export {};
|
|
@@ -2,7 +2,7 @@ import type { Datum } from "../charts/shared/datumTypes";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import type { ReactNode } from "react";
|
|
4
4
|
import type { NetworkLabel } from "./networkTypes";
|
|
5
|
-
import type {
|
|
5
|
+
import type { LegendLayout, LegendValue } from "../types/legendTypes";
|
|
6
6
|
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
7
7
|
import type { AnnotationContext } from "../realtime/types";
|
|
8
8
|
import { type GlyphDef } from "./glyphDef";
|
|
@@ -56,11 +56,7 @@ export interface NetworkSVGOverlayProps {
|
|
|
56
56
|
/** Chart title */
|
|
57
57
|
title?: string | ReactNode;
|
|
58
58
|
/** Legend configuration */
|
|
59
|
-
legend?:
|
|
60
|
-
legendGroups: LegendGroup[];
|
|
61
|
-
} | {
|
|
62
|
-
gradient: GradientLegendConfig;
|
|
63
|
-
};
|
|
59
|
+
legend?: LegendValue;
|
|
64
60
|
legendHoverBehavior?: (item: {
|
|
65
61
|
label: string;
|
|
66
62
|
} | null) => void;
|
|
@@ -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 {
|
|
6
|
+
import type { LegendLayout, LegendValue } from "../types/legendTypes";
|
|
7
7
|
import type { OnObservationCallback } from "../store/ObservationStore";
|
|
8
8
|
import { type OnAnnotationActivateCallback } from "../charts/shared/annotationActivation";
|
|
9
9
|
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
@@ -38,11 +38,7 @@ interface OrdinalSVGOverlayProps {
|
|
|
38
38
|
axisExtent?: AxisExtentMode;
|
|
39
39
|
showGrid?: boolean;
|
|
40
40
|
title?: string | ReactNode;
|
|
41
|
-
legend?:
|
|
42
|
-
legendGroups: LegendGroup[];
|
|
43
|
-
} | {
|
|
44
|
-
gradient: GradientLegendConfig;
|
|
45
|
-
};
|
|
41
|
+
legend?: LegendValue;
|
|
46
42
|
legendHoverBehavior?: (item: {
|
|
47
43
|
label: string;
|
|
48
44
|
} | null) => void;
|
|
@@ -3,7 +3,7 @@ import * as React from "react";
|
|
|
3
3
|
import type { StreamScales, MarginalGraphicsConfig, XYFrameAxisConfig } from "./types";
|
|
4
4
|
import type { AnnotationContext } from "../realtime/types";
|
|
5
5
|
import type { ReactNode } from "react";
|
|
6
|
-
import type {
|
|
6
|
+
import type { LegendLayout, LegendValue } from "../types/legendTypes";
|
|
7
7
|
import { type AutoPlaceAnnotations } from "../recipes/annotationLayout";
|
|
8
8
|
import type { OnObservationCallback } from "../store/ObservationStore";
|
|
9
9
|
import { type OnAnnotationActivateCallback } from "../charts/shared/annotationActivation";
|
|
@@ -36,11 +36,7 @@ interface SVGOverlayProps {
|
|
|
36
36
|
axisExtent?: import("../charts/shared/axisExtent").AxisExtentMode;
|
|
37
37
|
showGrid?: boolean;
|
|
38
38
|
title?: string | ReactNode;
|
|
39
|
-
legend?:
|
|
40
|
-
legendGroups: LegendGroup[];
|
|
41
|
-
} | {
|
|
42
|
-
gradient: GradientLegendConfig;
|
|
43
|
-
};
|
|
39
|
+
legend?: LegendValue;
|
|
44
40
|
/** Callback when hovering a legend item */
|
|
45
41
|
legendHoverBehavior?: (item: {
|
|
46
42
|
label: string;
|