@wick-charts/vue 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -7,13 +7,16 @@ import { ShallowRef } from 'vue';
7
7
 
8
8
  declare const __VLS_component: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_3> & Readonly<{}>, {
9
9
  theme: ChartTheme;
10
+ gradient: boolean;
11
+ headerLayout: "overlay" | "inline";
10
12
  }, {}, {}, {}, string, ComponentProvideOptions, false, {
11
- containerRef: HTMLDivElement;
12
- topOverlayRef: HTMLDivElement;
13
13
  titleAnchor: HTMLDivElement;
14
14
  infoBarAnchor: HTMLDivElement;
15
+ containerRef: HTMLDivElement;
16
+ topOverlayRef: HTMLDivElement;
15
17
  legendRightAnchor: HTMLDivElement;
16
18
  legendAnchor: HTMLDivElement;
19
+ navigatorAnchor: HTMLDivElement;
17
20
  }, HTMLDivElement>;
18
21
 
19
22
  declare const __VLS_component_2: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_6> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
@@ -23,22 +26,23 @@ position: "bottom" | "right";
23
26
  mode: LegendMode;
24
27
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
25
28
 
26
- declare const __VLS_component_4: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{}>, {
29
+ declare const __VLS_component_4: DefineComponent<__VLS_Props_10, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_10> & Readonly<{}>, {
30
+ position: PieLegendPosition;
27
31
  format: ValueFormatter;
28
32
  mode: PieLegendMode;
29
33
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
30
34
 
31
- declare const __VLS_component_5: DefineComponent<__VLS_Props_10, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_10> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
35
+ declare const __VLS_component_5: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
32
36
  containerRef: HTMLDivElement;
33
37
  }, any>;
34
38
 
35
- declare const __VLS_component_6: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
39
+ declare const __VLS_component_6: DefineComponent<__VLS_Props_13, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_13> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
36
40
 
37
- declare const __VLS_component_7: DefineComponent<__VLS_Props_12, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_12> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
41
+ declare const __VLS_component_7: DefineComponent<__VLS_Props_14, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_14> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
38
42
  containerRef: HTMLDivElement;
39
43
  }, any>;
40
44
 
41
- declare const __VLS_component_8: DefineComponent<__VLS_Props_14, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_14> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
45
+ declare const __VLS_component_8: DefineComponent<__VLS_Props_16, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_16> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
42
46
 
43
47
  declare type __VLS_Props = {
44
48
  data: TimePoint[][];
@@ -53,25 +57,63 @@ declare type __VLS_Props_10 = {
53
57
  * series is picked.
54
58
  */
55
59
  seriesId?: string;
56
- /** Custom formatter for the slice value. Default: shared `formatCompact`. */
60
+ /** 'value' shows only the value, 'percent' only the percent, 'both' shows both. Default: 'both'. */
61
+ mode?: PieLegendMode;
62
+ /** Custom formatter for the absolute slice value. */
57
63
  format?: ValueFormatter;
64
+ /** Layout placement. Default: `'bottom'`. */
65
+ position?: PieLegendPosition;
58
66
  };
59
67
 
60
68
  declare type __VLS_Props_11 = {
61
- sub?: string;
69
+ /**
70
+ * Owning series id. **Optional** — when omitted, the first visible pie
71
+ * series is picked.
72
+ */
73
+ seriesId?: string;
74
+ /** Custom formatter for the slice value. Default: shared `formatCompact`. */
75
+ format?: ValueFormatter;
62
76
  };
63
77
 
64
78
  declare type __VLS_Props_12 = {
79
+ /** Desired number of labels (≥ 2). Overrides chart-level `axis.x.labelCount`. */
80
+ labelCount?: number;
81
+ /** Minimum pixel gap between adjacent labels (hard floor). Overrides chart-level. */
82
+ minLabelSpacing?: number;
83
+ };
84
+
85
+ declare type __VLS_Props_13 = {
86
+ /**
87
+ * @deprecated Use the named `sub` slot instead — it accepts arbitrary
88
+ * inline markup (icons, badges, formatted text) to mirror React's
89
+ * `sub: ReactNode`. The string-only prop is kept as a back-compat shim
90
+ * for callers upgrading from 0.3.1; the slot wins when both are provided.
91
+ *
92
+ * Note: the title strip is rendered with `pointer-events: none` so it
93
+ * doesn't intercept canvas hover events. Interactive children (`<a>`,
94
+ * `<button>`) need to opt back in with `pointer-events: auto`.
95
+ */
96
+ sub?: string;
97
+ };
98
+
99
+ declare type __VLS_Props_14 = {
65
100
  sort?: SnapshotSort;
66
101
  format?: TooltipFormatter;
67
102
  };
68
103
 
69
- declare type __VLS_Props_13 = {
104
+ declare type __VLS_Props_15 = {
70
105
  /** Custom tick-label formatter. Overrides the built-in range-adaptive default. */
71
106
  format?: ValueFormatter;
107
+ /**
108
+ * Desired number of labels (≥ 2). Overrides any chart-level `axis.y.labelCount`.
109
+ * Realized count may differ ±1 after the 1-2-5 snap.
110
+ */
111
+ labelCount?: number;
112
+ /** Minimum pixel gap between adjacent labels (hard floor). Overrides chart-level. */
113
+ minLabelSpacing?: number;
72
114
  };
73
115
 
74
- declare type __VLS_Props_14 = {
116
+ declare type __VLS_Props_16 = {
75
117
  /**
76
118
  * Owning series id. **Optional** — when omitted, the first visible
77
119
  * single-layer time series is picked, falling back to the first visible
@@ -93,10 +135,41 @@ declare type __VLS_Props_2 = {
93
135
  declare type __VLS_Props_3 = {
94
136
  theme?: ChartTheme;
95
137
  axis?: AxisConfig;
138
+ /**
139
+ * Viewport padding. `top`/`bottom` are in pixels. `left`/`right` accept either pixels (`50`)
140
+ * or data intervals (`{ intervals: 3 }`). Set to 0 for edge-to-edge sparklines. Updates are
141
+ * applied reactively when this prop or the measured header height changes.
142
+ * Defaults: `{ top: 20, bottom: 20, right: { intervals: 3 }, left: { intervals: 0 } }`.
143
+ */
144
+ padding?: {
145
+ top?: number;
146
+ bottom?: number;
147
+ right?: number | {
148
+ intervals: number;
149
+ };
150
+ left?: number | {
151
+ intervals: number;
152
+ };
153
+ };
154
+ /** Show the chart background gradient. Defaults to true. */
155
+ gradient?: boolean;
156
+ /** Enable zoom, pan, and crosshair interactions. Defaults to true. */
157
+ interactive?: boolean;
96
158
  /** Background grid configuration. Default: `{ visible: true }`. */
97
159
  grid?: {
98
160
  visible: boolean;
99
161
  };
162
+ /**
163
+ * How `<Title>` and `<InfoBar>` are positioned relative to the canvas.
164
+ * - `'overlay'` (default): absolute overlays on top of the canvas.
165
+ * - `'inline'`: flex siblings above the canvas — the canvas (and grid) shift down.
166
+ */
167
+ headerLayout?: 'overlay' | 'inline';
168
+ /**
169
+ * Enable runtime performance instrumentation. Off by default. Read at mount only;
170
+ * later changes are ignored.
171
+ */
172
+ perf?: PerfOption;
100
173
  };
101
174
 
102
175
  declare type __VLS_Props_4 = {
@@ -126,23 +199,21 @@ declare type __VLS_Props_7 = {
126
199
  };
127
200
 
128
201
  declare type __VLS_Props_8 = {
129
- value: number;
130
- /** Value-to-string formatter. Defaults to the current locale's `Intl.NumberFormat`. */
131
- format?: (value: number) => string;
132
- locale?: string;
133
- spinDuration?: number;
202
+ data: NavigatorData;
203
+ /** Strip height in CSS pixels. Defaults to `theme.navigator.height` (60). */
204
+ height?: number;
134
205
  };
135
206
 
136
207
  declare type __VLS_Props_9 = {
208
+ value: number;
137
209
  /**
138
- * Owning series id. **Optional** — when omitted, the first visible pie
139
- * series is picked.
210
+ * Value-to-string formatter. Defaults to the current locale's
211
+ * `Intl.NumberFormat` when omitted. `Intl.NumberFormatOptions` is also
212
+ * accepted (legacy) — routed through the built-in `Intl.NumberFormat`.
140
213
  */
141
- seriesId?: string;
142
- /** 'value' shows only the value, 'percent' only the percent, 'both' shows both. Default: 'both'. */
143
- mode?: PieLegendMode;
144
- /** Custom formatter for the absolute slice value. */
145
- format?: ValueFormatter;
214
+ format?: ((value: number) => string) | Intl.NumberFormatOptions;
215
+ locale?: string;
216
+ spinDuration?: number;
146
217
  };
147
218
 
148
219
  declare function __VLS_template(): {
@@ -151,12 +222,13 @@ declare function __VLS_template(): {
151
222
  default?(_: {}): any;
152
223
  };
153
224
  refs: {
154
- containerRef: HTMLDivElement;
155
- topOverlayRef: HTMLDivElement;
156
225
  titleAnchor: HTMLDivElement;
157
226
  infoBarAnchor: HTMLDivElement;
227
+ containerRef: HTMLDivElement;
228
+ topOverlayRef: HTMLDivElement;
158
229
  legendRightAnchor: HTMLDivElement;
159
230
  legendAnchor: HTMLDivElement;
231
+ navigatorAnchor: HTMLDivElement;
160
232
  };
161
233
  rootEl: HTMLDivElement;
162
234
  };
@@ -235,8 +307,28 @@ declare function __VLS_template_5(): {
235
307
 
236
308
  declare function __VLS_template_6(): {
237
309
  attrs: Partial<{}>;
238
- slots: {
239
- default?(_: {}): any;
310
+ slots: Readonly<{
311
+ default?(): unknown;
312
+ /**
313
+ * Secondary label rendered in a muted colour next to the primary one. Use a
314
+ * named slot (instead of the legacy `sub` prop) so consumers can pass
315
+ * arbitrary inline markup — icons, badges, formatted text — to mirror
316
+ * React's `sub: ReactNode`. Interactive children (`<a>`, `<button>`) need
317
+ * `pointer-events: auto` to override the title strip's default
318
+ * `pointer-events: none`.
319
+ */
320
+ sub?(): unknown;
321
+ }> & {
322
+ default?(): unknown;
323
+ /**
324
+ * Secondary label rendered in a muted colour next to the primary one. Use a
325
+ * named slot (instead of the legacy `sub` prop) so consumers can pass
326
+ * arbitrary inline markup — icons, badges, formatted text — to mirror
327
+ * React's `sub: ReactNode`. Interactive children (`<a>`, `<button>`) need
328
+ * `pointer-events: auto` to override the title strip's default
329
+ * `pointer-events: none`.
330
+ */
331
+ sub?(): unknown;
240
332
  };
241
333
  refs: {};
242
334
  rootEl: any;
@@ -457,7 +549,9 @@ export declare type AxisBound = 'auto' | number | string | ((values: number[]) =
457
549
 
458
550
  /** Grouped axis configuration for both axes. */
459
551
  export declare interface AxisConfig {
552
+ /** Y-axis configuration — width, bounds, and visibility of the value axis. */
460
553
  y?: YAxisConfig;
554
+ /** X-axis configuration — height and visibility of the time axis. */
461
555
  x?: XAxisConfig;
462
556
  }
463
557
 
@@ -481,6 +575,7 @@ export declare interface BarSeriesOptions {
481
575
  label?: string;
482
576
  /** One color per layer. */
483
577
  colors: string[];
578
+ /** Width of each bar as a fraction of the available bar slot (0–1). `1` = bars touch; `0.6` = roughly 60 % of the slot. Default: 0.7. */
484
579
  barWidthRatio: number;
485
580
  /** Stacking mode. Default: 'off'. */
486
581
  stacking: StackingMode;
@@ -572,7 +667,9 @@ export declare interface BuildLastSnapshotsArgs {
572
667
  * `autoGradient(color)` for the subtle lightened/darkened look.
573
668
  */
574
669
  declare interface CandlestickDirectionColors {
670
+ /** Body fill — single colour for flat, `[top, bottom]` tuple for a 2-stop vertical gradient. */
575
671
  body: string | [string, string];
672
+ /** Wick stroke colour. */
576
673
  wick: string;
577
674
  }
578
675
 
@@ -593,7 +690,9 @@ export declare const CandlestickSeries: DefineComponent<__VLS_Props_2, {}, {}, {
593
690
  export declare interface CandlestickSeriesOptions {
594
691
  /** Display label shown in the tooltip. */
595
692
  label?: string;
693
+ /** Colours for bullish candles (close ≥ open). */
596
694
  up: CandlestickDirectionColors;
695
+ /** Colours for bearish candles (close < open). */
597
696
  down: CandlestickDirectionColors;
598
697
  /** Width of candle body as a fraction of the available bar slot (0-1). */
599
698
  bodyWidthRatio: number;
@@ -715,6 +814,12 @@ export declare class ChartInstance extends EventEmitter<ChartEvents> {
715
814
  /** Auto-fit the viewport to show all data across every series. */
716
815
  fitContent(): void;
717
816
  getVisibleRange(): VisibleRange;
817
+ /**
818
+ * Return the full span of registered data, or `null` before any data has
819
+ * arrived. `{ from: dataStart, to: dataEnd }` mirrors the viewport's own
820
+ * tracking and is cheaper than recomputing from series stores.
821
+ */
822
+ getDataRange(): VisibleRange | null;
718
823
  /**
719
824
  * Imperatively set the visible time range.
720
825
  *
@@ -973,10 +1078,13 @@ export declare interface ChartTheme {
973
1078
  background: string;
974
1079
  /** Chart area gradient [top, bottom] — subtle vignette for depth */
975
1080
  chartGradient: [string, string];
1081
+ /** Font family and base size used across the chart's text. */
976
1082
  typography: Typography;
977
1083
  /** Grid line appearance in the chart area. */
978
1084
  grid: {
1085
+ /** Grid line stroke colour. */
979
1086
  color: string;
1087
+ /** Grid line dash pattern. */
980
1088
  style: 'solid' | 'dashed' | 'dotted';
981
1089
  };
982
1090
  /**
@@ -988,33 +1096,48 @@ export declare interface ChartTheme {
988
1096
  * want the subtle lightened/darkened look pass `autoGradient(color)`.
989
1097
  */
990
1098
  candlestick: {
1099
+ /** Bullish candle (close ≥ open). */
991
1100
  up: {
1101
+ /** Body fill — single colour for flat, `[top, bottom]` tuple for a 2-stop vertical gradient. */
992
1102
  body: string | [string, string];
1103
+ /** Wick stroke colour. */
993
1104
  wick: string;
994
1105
  };
1106
+ /** Bearish candle (close < open). */
995
1107
  down: {
1108
+ /** Body fill — single colour for flat, `[top, bottom]` tuple for a 2-stop vertical gradient. */
996
1109
  body: string | [string, string];
1110
+ /** Wick stroke colour. */
997
1111
  wick: string;
998
1112
  };
999
1113
  };
1000
1114
  /** Default line series appearance including area gradient fill. */
1001
1115
  line: {
1116
+ /** Stroke colour of the line. */
1002
1117
  color: string;
1118
+ /** Stroke width in CSS pixels. */
1003
1119
  width: number;
1120
+ /** Top stop of the area-fill vertical gradient (closest to the line). */
1004
1121
  areaTopColor: string;
1122
+ /** Bottom stop of the area-fill vertical gradient (closest to the X axis). */
1005
1123
  areaBottomColor: string;
1006
1124
  };
1007
1125
  /** Color palette for multi-series charts (stacked bars, overlays). */
1008
1126
  seriesColors: string[];
1009
1127
  /** Bollinger band / envelope fill colors. */
1010
1128
  bands: {
1129
+ /** Fill for the upper band region (above the middle band). */
1011
1130
  upper: string;
1131
+ /** Fill for the lower band region (below the middle band). */
1012
1132
  lower: string;
1013
1133
  };
1014
1134
  /** Crosshair line and axis label styling. */
1015
1135
  crosshair: {
1136
+ /** Stroke colour of the crosshair lines. */
1016
1137
  color: string;
1138
+ /** Background fill of the X/Y axis label pills shown at the crosshair position. */
1017
1139
  labelBackground: string;
1140
+ /** Text colour inside the crosshair axis label pills. */
1018
1141
  labelTextColor: string;
1019
1142
  };
1020
1143
  /**
@@ -1024,31 +1147,113 @@ export declare interface ChartTheme {
1024
1147
  * diverge.
1025
1148
  */
1026
1149
  axis: {
1150
+ /** Default tick-label font size shared by both axes. */
1027
1151
  fontSize: number;
1152
+ /** Default tick-label colour shared by both axes. */
1028
1153
  textColor: string;
1154
+ /** Override the shared defaults on the X axis only. */
1029
1155
  x?: {
1156
+ /** X-axis tick-label font size. Falls back to `axis.fontSize`. */
1030
1157
  fontSize?: number;
1158
+ /** X-axis tick-label colour. Falls back to `axis.textColor`. */
1031
1159
  textColor?: string;
1032
1160
  };
1161
+ /** Override the shared defaults on the Y axis only. */
1033
1162
  y?: {
1163
+ /** Y-axis tick-label font size. Falls back to `axis.fontSize`. */
1034
1164
  fontSize?: number;
1165
+ /** Y-axis tick-label colour. Falls back to `axis.textColor`. */
1035
1166
  textColor?: string;
1036
1167
  };
1037
1168
  };
1038
1169
  /** Floating label shown at the current value level on the Y axis. */
1039
1170
  yLabel: {
1171
+ /** Font size of the value text inside the floating Y label. */
1040
1172
  fontSize: number;
1173
+ /** Pill background when the latest delta is positive. */
1041
1174
  upBackground: string;
1175
+ /** Pill background when the latest delta is negative. */
1042
1176
  downBackground: string;
1177
+ /** Pill background when the latest delta is zero / unknown. */
1043
1178
  neutralBackground: string;
1179
+ /** Text colour inside the floating Y label pill. */
1044
1180
  textColor: string;
1045
1181
  };
1046
1182
  /** Hover tooltip styling. */
1047
1183
  tooltip: {
1184
+ /** Tooltip body font size. */
1048
1185
  fontSize: number;
1186
+ /** Tooltip background fill. */
1049
1187
  background: string;
1188
+ /** Tooltip text colour. */
1050
1189
  textColor: string;
1190
+ /** Tooltip outer border colour. */
1191
+ borderColor: string;
1192
+ };
1193
+ /**
1194
+ * Navigator strip shown below the main chart — a miniature overview with a
1195
+ * draggable window indicating the visible range.
1196
+ *
1197
+ * The `candlestick` shape mirrors the root {@link ChartTheme.candlestick}
1198
+ * (including `[top, bottom]` gradient tuples) so candle-type mini views can
1199
+ * share colors with the main plot.
1200
+ */
1201
+ navigator: {
1202
+ /** Default height of the navigator strip in CSS pixels. */
1203
+ height: number;
1204
+ /** Strip background (behind the miniature series). */
1205
+ background: string;
1206
+ /** Color used for the strip's top + bottom inner-shadow separators. */
1051
1207
  borderColor: string;
1208
+ /** Line / close-price miniature color and geometry. */
1209
+ line: {
1210
+ /** Stroke colour of the miniature line. */
1211
+ color: string;
1212
+ /** Stroke width of the miniature line in CSS pixels. */
1213
+ width: number;
1214
+ /** Top stop of the miniature area-fill gradient. */
1215
+ areaTopColor: string;
1216
+ /** Bottom stop of the miniature area-fill gradient. */
1217
+ areaBottomColor: string;
1218
+ };
1219
+ /** Colors for candlestick-type miniature rendering. */
1220
+ candlestick: {
1221
+ /** Bullish miniature candle (close ≥ open). */
1222
+ up: {
1223
+ /** Body fill — single colour for flat, `[top, bottom]` tuple for a vertical gradient. */
1224
+ body: string | [string, string];
1225
+ /** Wick stroke colour. */
1226
+ wick: string;
1227
+ };
1228
+ /** Bearish miniature candle (close < open). */
1229
+ down: {
1230
+ /** Body fill — single colour for flat, `[top, bottom]` tuple for a vertical gradient. */
1231
+ body: string | [string, string];
1232
+ /** Wick stroke colour. */
1233
+ wick: string;
1234
+ };
1235
+ };
1236
+ /** The draggable visible-range window indicator. */
1237
+ window: {
1238
+ /** Fill inside the visible-range window. Usually a translucent tint. */
1239
+ fill: string;
1240
+ /** Stroke colour around the window. */
1241
+ border: string;
1242
+ /** Stroke width of the window border in CSS pixels. */
1243
+ borderWidth: number;
1244
+ };
1245
+ /** Left/right resize handles on the window edges. */
1246
+ handle: {
1247
+ /** Stroke colour of the handle marker. */
1248
+ color: string;
1249
+ /** Handle marker width in CSS pixels. */
1250
+ width: number;
1251
+ };
1252
+ /** Dim overlay covering the regions outside the window. */
1253
+ mask: {
1254
+ /** Fill of the dim overlay applied to regions outside the window. */
1255
+ fill: string;
1256
+ };
1052
1257
  };
1053
1258
  }
1054
1259
 
@@ -1234,6 +1439,7 @@ export declare interface LineSeriesOptions {
1234
1439
  strokeWidth: number;
1235
1440
  /** Area-fill configuration. Default: `{ visible: true }`. */
1236
1441
  area: {
1442
+ /** Whether the area gradient under the line is rendered. Default: `true`. */
1237
1443
  visible: boolean;
1238
1444
  };
1239
1445
  /**
@@ -1295,12 +1501,94 @@ export declare const mintBreeze: ThemePreset;
1295
1501
 
1296
1502
  export declare const monokaiPro: ThemePreset;
1297
1503
 
1504
+ declare const Navigator_2: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
1505
+ stripRef: HTMLDivElement;
1506
+ }, any>;
1507
+ export { Navigator_2 as Navigator }
1508
+
1509
+ /** Minimal point shape for candlestick miniature series. */
1510
+ export declare interface NavigatorCandlePoint {
1511
+ time: number;
1512
+ open: number;
1513
+ high: number;
1514
+ low: number;
1515
+ close: number;
1516
+ }
1517
+
1518
+ /**
1519
+ * Drives the navigator strip rendered below the main chart.
1520
+ *
1521
+ * Layout: the container holds a canvas (series miniature) and a DOM overlay
1522
+ * with five absolutely-positioned divs — left mask, right mask, window body,
1523
+ * left handle, right handle. The overlay is purely visual; pointer input is
1524
+ * captured on the canvas and hit-tested against the current window geometry.
1525
+ *
1526
+ * Both layers reserve `chart.yAxisWidth` on the right so the navigator's
1527
+ * active zone aligns with the main chart's plot area (matches the TimeAxis).
1528
+ *
1529
+ * Event topology — navigator is a pure listener on the chart side, never emits:
1530
+ * chart.viewportChange → reposition window DOM + redraw on next frame
1531
+ * chart.overlayChange → full redraw (catches data + theme swaps)
1532
+ * ResizeObserver → resize canvas + full redraw
1533
+ */
1534
+ export declare class NavigatorController {
1535
+ #private;
1536
+ constructor(params: NavigatorControllerParams);
1537
+ setData(data: NavigatorData): void;
1538
+ setOptions(options: NavigatorOptions): void;
1539
+ destroy(): void;
1540
+ /** CSS pixel height of the strip — theme default unless overridden. */
1541
+ get height(): number;
1542
+ }
1543
+
1544
+ export declare interface NavigatorControllerParams {
1545
+ container: HTMLElement;
1546
+ chart: ChartInstance;
1547
+ data: NavigatorData;
1548
+ options?: NavigatorOptions;
1549
+ }
1550
+
1551
+ /**
1552
+ * Data passed to the navigator. The discriminant `type` selects the miniature
1553
+ * rendering style. Line and bar accept either a single `points` array
1554
+ * (shorthand) or `series` for multi-series overlays — every series shares the
1555
+ * same y-range and is drawn in the navigator's neutral foreground color.
1556
+ * Candlestick stays single-series; multi-candlestick miniatures don't read.
1557
+ */
1558
+ export declare type NavigatorData = {
1559
+ type: 'line' | 'bar';
1560
+ points: readonly NavigatorLinePoint[];
1561
+ } | {
1562
+ type: 'line' | 'bar';
1563
+ series: readonly (readonly NavigatorLinePoint[])[];
1564
+ } | {
1565
+ type: 'candlestick';
1566
+ points: readonly NavigatorCandlePoint[];
1567
+ };
1568
+
1569
+ /** Minimal point shape for line and bar miniature series. */
1570
+ export declare interface NavigatorLinePoint {
1571
+ time: number;
1572
+ value: number;
1573
+ }
1574
+
1575
+ export declare interface NavigatorOptions {
1576
+ /**
1577
+ * Strip height in CSS pixels. When omitted, falls back to
1578
+ * `chart.getTheme().navigator.height`.
1579
+ */
1580
+ height?: number;
1581
+ }
1582
+
1583
+ /** Series type the navigator should render in its miniature view. */
1584
+ export declare type NavigatorSeriesType = 'line' | 'bar' | 'candlestick';
1585
+
1298
1586
  export declare const nightOwl: ThemePreset;
1299
1587
 
1300
1588
  /** Convert a {@link TimeValue} (number ms or Date) to a millisecond timestamp. */
1301
1589
  export declare function normalizeTime(t: TimeValue): number;
1302
1590
 
1303
- export declare const NumberFlow: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{}>, {
1591
+ export declare const NumberFlow: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{}>, {
1304
1592
  locale: string;
1305
1593
  spinDuration: number;
1306
1594
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLSpanElement>;
@@ -1394,6 +1682,8 @@ declare interface PerfMonitorOptions {
1394
1682
  heapSampleEveryNFrames?: number;
1395
1683
  }
1396
1684
 
1685
+ declare type PerfOption = NonNullable<ChartOptions['perf']>;
1686
+
1397
1687
  declare interface PerfStats {
1398
1688
  /**
1399
1689
  * Main-layer renders per second, derived from the interval between recent main
@@ -1480,6 +1770,8 @@ export declare const PieLegend: __VLS_WithTemplateSlots_4<typeof __VLS_component
1480
1770
 
1481
1771
  declare type PieLegendMode = 'value' | 'percent' | 'both';
1482
1772
 
1773
+ declare type PieLegendPosition = 'bottom' | 'right' | 'overlay';
1774
+
1483
1775
  export declare const PieSeries: DefineComponent<__VLS_Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_5> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1484
1776
 
1485
1777
  /** Visual options for a pie/donut series. `innerRadiusRatio > 0` makes it a donut. */
@@ -1660,6 +1952,19 @@ export declare interface ThemeConfig {
1660
1952
  axis?: Partial<ChartTheme['axis']>;
1661
1953
  yLabel?: Partial<ChartTheme['yLabel']>;
1662
1954
  tooltip?: Partial<ChartTheme['tooltip']>;
1955
+ navigator?: {
1956
+ height?: number;
1957
+ background?: string;
1958
+ borderColor?: string;
1959
+ line?: Partial<ChartTheme['navigator']['line']>;
1960
+ candlestick?: {
1961
+ up?: Partial<ChartTheme['navigator']['candlestick']['up']>;
1962
+ down?: Partial<ChartTheme['navigator']['candlestick']['down']>;
1963
+ };
1964
+ window?: Partial<ChartTheme['navigator']['window']>;
1965
+ handle?: Partial<ChartTheme['navigator']['handle']>;
1966
+ mask?: Partial<ChartTheme['navigator']['mask']>;
1967
+ };
1663
1968
  /** URL to load the font (e.g. Google Fonts). */
1664
1969
  fontUrl?: string | null;
1665
1970
  }
@@ -1675,7 +1980,7 @@ export declare interface ThemePreset {
1675
1980
  backgroundSize?: string;
1676
1981
  }
1677
1982
 
1678
- export declare const TimeAxis: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, HTMLDivElement>;
1983
+ export declare const TimeAxis: DefineComponent<__VLS_Props_12, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_12> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
1679
1984
 
1680
1985
  /** A single time-value data point for line and bar series. Time is a timestamp in milliseconds. */
1681
1986
  export declare interface TimePoint {
@@ -1791,6 +2096,7 @@ export declare interface TooltipPositionArgs {
1791
2096
 
1792
2097
  /** Font family and base font size used across the chart. */
1793
2098
  export declare interface Typography {
2099
+ /** CSS `font-family` stack applied to all text rendered by the chart. */
1794
2100
  fontFamily: string;
1795
2101
  /** Base body font size — titles, infobar, pie tooltip/legend default to this. */
1796
2102
  fontSize: number;
@@ -1849,7 +2155,7 @@ export declare interface XAxisConfig {
1849
2155
  visible?: boolean;
1850
2156
  }
1851
2157
 
1852
- export declare const YAxis: DefineComponent<__VLS_Props_13, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_13> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
2158
+ export declare const YAxis: DefineComponent<__VLS_Props_15, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_15> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
1853
2159
 
1854
2160
  /** Configuration for the Y axis. */
1855
2161
  export declare interface YAxisConfig {