@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 +336 -30
- package/dist/index.js +3109 -2373
- package/package.json +2 -2
- package/src/ChartContainer.vue +153 -33
- package/src/context.ts +1 -0
- package/src/index.ts +8 -0
- package/src/ui/Navigator.vue +78 -0
- package/src/ui/NumberFlow.vue +12 -6
- package/src/ui/PieLegend.vue +75 -2
- package/src/ui/TimeAxis.vue +23 -4
- package/src/ui/Title.vue +30 -3
- package/src/ui/YAxis.vue +19 -0
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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<
|
|
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
|
-
/**
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
130
|
-
/**
|
|
131
|
-
|
|
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
|
-
*
|
|
139
|
-
*
|
|
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
|
-
|
|
142
|
-
|
|
143
|
-
|
|
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?(
|
|
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<
|
|
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<
|
|
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<
|
|
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 {
|