@luxalgo/vela 0.8.4 → 0.9.0
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/{DataProvider-Byo8pEv0.d.ts → DataProvider-BGlB1zSc.d.ts} +1 -1
- package/dist/{DataProvider-Bw58CjYy.d.cts → DataProvider-zJGp58kb.d.cts} +1 -1
- package/dist/{chunk-MOJ4T26N.js → chunk-4WAHYL7Y.js} +1151 -474
- package/dist/chunk-O6L27KRB.js +1331 -0
- package/dist/{chunk-WY5H4S4I.js → chunk-PZN4RS4T.js} +91 -36
- package/dist/{chunk-AUOB7A5Y.js → chunk-WHPQQYH7.js} +29 -13
- package/dist/{chunk-UNUVPQFW.js → chunk-XIRSR3D6.js} +2837 -1604
- package/dist/{chunk-ALTGHKIM.js → chunk-YRCL3WMD.js} +510 -406
- package/dist/{contributions-BY3zSYiZ.d.ts → contributions-BjefWpxQ.d.ts} +106 -25
- package/dist/{contributions-DOm40g5-.d.cts → contributions-CpCJisTC.d.cts} +106 -25
- package/dist/index.cjs +4485 -2163
- package/dist/index.d.cts +67 -25
- package/dist/index.d.ts +67 -25
- package/dist/index.js +5 -5
- package/dist/{keymap-CGOz5F5f.d.ts → keymap-B9_FLhfJ.d.cts} +9 -6
- package/dist/{keymap-CGOz5F5f.d.cts → keymap-UolhuXH1.d.ts} +9 -6
- package/dist/locales/ar.cjs +2260 -0
- package/dist/locales/ar.d.cts +5 -0
- package/dist/locales/ar.d.ts +5 -0
- package/dist/locales/ar.js +2258 -0
- package/dist/locales/de.cjs +2260 -0
- package/dist/locales/de.d.cts +5 -0
- package/dist/locales/de.d.ts +5 -0
- package/dist/locales/de.js +2258 -0
- package/dist/locales/en.cjs +2260 -0
- package/dist/locales/en.d.cts +5 -0
- package/dist/locales/en.d.ts +5 -0
- package/dist/locales/en.js +2258 -0
- package/dist/locales/es.cjs +2260 -0
- package/dist/locales/es.d.cts +5 -0
- package/dist/locales/es.d.ts +5 -0
- package/dist/locales/es.js +2258 -0
- package/dist/locales/fr.cjs +2260 -0
- package/dist/locales/fr.d.cts +5 -0
- package/dist/locales/fr.d.ts +5 -0
- package/dist/locales/fr.js +2258 -0
- package/dist/locales/he.cjs +2260 -0
- package/dist/locales/he.d.cts +5 -0
- package/dist/locales/he.d.ts +5 -0
- package/dist/locales/he.js +2258 -0
- package/dist/locales/hi.cjs +2260 -0
- package/dist/locales/hi.d.cts +5 -0
- package/dist/locales/hi.d.ts +5 -0
- package/dist/locales/hi.js +2258 -0
- package/dist/locales/id.cjs +2260 -0
- package/dist/locales/id.d.cts +5 -0
- package/dist/locales/id.d.ts +5 -0
- package/dist/locales/id.js +2258 -0
- package/dist/locales/it.cjs +2260 -0
- package/dist/locales/it.d.cts +5 -0
- package/dist/locales/it.d.ts +5 -0
- package/dist/locales/it.js +2258 -0
- package/dist/locales/ja.cjs +2260 -0
- package/dist/locales/ja.d.cts +5 -0
- package/dist/locales/ja.d.ts +5 -0
- package/dist/locales/ja.js +2258 -0
- package/dist/locales/ko.cjs +2260 -0
- package/dist/locales/ko.d.cts +5 -0
- package/dist/locales/ko.d.ts +5 -0
- package/dist/locales/ko.js +2258 -0
- package/dist/locales/ms.cjs +2260 -0
- package/dist/locales/ms.d.cts +5 -0
- package/dist/locales/ms.d.ts +5 -0
- package/dist/locales/ms.js +2258 -0
- package/dist/locales/pl.cjs +2260 -0
- package/dist/locales/pl.d.cts +5 -0
- package/dist/locales/pl.d.ts +5 -0
- package/dist/locales/pl.js +2258 -0
- package/dist/locales/pt-BR.cjs +2260 -0
- package/dist/locales/pt-BR.d.cts +5 -0
- package/dist/locales/pt-BR.d.ts +5 -0
- package/dist/locales/pt-BR.js +2258 -0
- package/dist/locales/ru.cjs +2260 -0
- package/dist/locales/ru.d.cts +5 -0
- package/dist/locales/ru.d.ts +5 -0
- package/dist/locales/ru.js +2258 -0
- package/dist/locales/th.cjs +2260 -0
- package/dist/locales/th.d.cts +5 -0
- package/dist/locales/th.d.ts +5 -0
- package/dist/locales/th.js +2258 -0
- package/dist/locales/tr.cjs +2260 -0
- package/dist/locales/tr.d.cts +5 -0
- package/dist/locales/tr.d.ts +5 -0
- package/dist/locales/tr.js +2258 -0
- package/dist/locales/vi.cjs +2260 -0
- package/dist/locales/vi.d.cts +5 -0
- package/dist/locales/vi.d.ts +5 -0
- package/dist/locales/vi.js +2258 -0
- package/dist/locales/zh-Hans.cjs +2260 -0
- package/dist/locales/zh-Hans.d.cts +5 -0
- package/dist/locales/zh-Hans.d.ts +5 -0
- package/dist/locales/zh-Hans.js +2258 -0
- package/dist/locales/zh-Hant.cjs +2260 -0
- package/dist/locales/zh-Hant.d.cts +5 -0
- package/dist/locales/zh-Hant.d.ts +5 -0
- package/dist/locales/zh-Hant.js +2258 -0
- package/dist/{options-CSXbjMM5.d.cts → options-CpegHml_.d.cts} +110 -10
- package/dist/{options-CSXbjMM5.d.ts → options-D4L3_hv_.d.ts} +110 -10
- package/dist/{plugin-BDxUhGO3.d.ts → plugin-DTmulpKM.d.ts} +92 -40
- package/dist/{plugin-CiQVyETg.d.cts → plugin-DpNp4aBi.d.cts} +92 -40
- package/dist/plugin.cjs +1267 -319
- package/dist/plugin.d.cts +7 -6
- package/dist/plugin.d.ts +7 -6
- package/dist/plugin.js +3 -3
- package/dist/providers/binance.cjs +1 -1
- package/dist/providers/binance.d.cts +3 -2
- package/dist/providers/binance.d.ts +3 -2
- package/dist/providers/binance.js +1 -1
- package/dist/providers/coinbase.cjs +1 -1
- package/dist/providers/coinbase.d.cts +3 -2
- package/dist/providers/coinbase.d.ts +3 -2
- package/dist/providers/coinbase.js +1 -1
- package/dist/providers/hyperliquid.cjs +1 -1
- package/dist/providers/hyperliquid.d.cts +3 -2
- package/dist/providers/hyperliquid.d.ts +3 -2
- package/dist/providers/hyperliquid.js +1 -1
- package/dist/{side-panel-_2UK1gSm.d.ts → side-panel-BqUnpfev.d.cts} +13 -2
- package/dist/{side-panel-_2UK1gSm.d.cts → side-panel-CYmH1Opm.d.ts} +13 -2
- package/dist/{statusline-model-C9tYXuux.d.ts → statusline-model-C3yIY9WE.d.ts} +11 -3
- package/dist/{statusline-model-DUBX6Fib.d.cts → statusline-model-pGs3Xvp-.d.cts} +11 -3
- package/dist/types-BlrXRLIR.d.cts +2515 -0
- package/dist/types-BlrXRLIR.d.ts +2515 -0
- package/dist/ui.cjs +1008 -56
- package/dist/ui.d.cts +21 -2
- package/dist/ui.d.ts +21 -2
- package/dist/ui.js +3 -3
- package/dist/vela.global.js +4451 -2131
- package/dist/vela.global.min.js +57 -57
- package/dist/widget.cjs +5819 -2780
- package/dist/widget.d.cts +100 -26
- package/dist/widget.d.ts +100 -26
- package/dist/widget.js +19 -11
- package/dist/workspace.cjs +5808 -2787
- package/dist/workspace.d.cts +63 -15
- package/dist/workspace.d.ts +63 -15
- package/dist/workspace.js +6 -6
- package/package.json +9 -2
- package/dist/chunk-I2U4NZD2.js +0 -340
- /package/dist/{chunk-W5YPYZ2P.js → chunk-3EYCX2L4.js} +0 -0
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { M as MessageLike, T as Translator, m as TextDirection, b as LocalizationOptions } from './types-BlrXRLIR.cjs';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Canonical time in Vela: Unix epoch **milliseconds**.
|
|
3
5
|
*
|
|
@@ -86,7 +88,11 @@ interface SeriesDisplay {
|
|
|
86
88
|
interface SeriesBase {
|
|
87
89
|
/** Content-addressed, stable across re-runs of identical source (see identity.ts). */
|
|
88
90
|
id: string;
|
|
91
|
+
/** The series' name: its identity for engines and hosts (output keys, series ids). */
|
|
89
92
|
title: string;
|
|
93
|
+
/** What the legend, the data window and the settings show instead of {@link title}, in
|
|
94
|
+
* the chart's language. Absent ⇒ {@link title}. */
|
|
95
|
+
displayTitle?: MessageLike;
|
|
90
96
|
/** Pane this series belongs to; resolved by the orchestrator. */
|
|
91
97
|
paneId: string;
|
|
92
98
|
/** Declared draw-order intent; the renderer owns final z-ordering. */
|
|
@@ -103,11 +109,20 @@ interface SeriesBase {
|
|
|
103
109
|
}
|
|
104
110
|
interface LineLikeSeries extends SeriesBase {
|
|
105
111
|
kind: LineLikeKind;
|
|
112
|
+
/**
|
|
113
|
+
* One entry per bar the indicator ran over, index-aligned to the bars: entry `i` draws on
|
|
114
|
+
* bar `i`, whatever its `time`. Entries past the last bar draw on the bar slots after it,
|
|
115
|
+
* one per slot, so a series shifted forward continues into the chart's right whitespace;
|
|
116
|
+
* give them the times those slots would have. A gap is a `value: null` entry.
|
|
117
|
+
*/
|
|
106
118
|
points: SeriesPoint[];
|
|
107
119
|
style: LineLikeStyle;
|
|
108
120
|
}
|
|
109
121
|
interface CandleSeries extends SeriesBase {
|
|
110
122
|
kind: 'candle' | 'bar';
|
|
123
|
+
/** One entry per bar the indicator ran over, index-aligned like `points`. A bar with no
|
|
124
|
+
* candle is an empty slot (or an entry with `NaN` prices): it draws nothing, and the
|
|
125
|
+
* candles after it stay on their own bars. Never compact the array to drop it. */
|
|
111
126
|
bars: OHLCV[];
|
|
112
127
|
style?: Partial<CandleStyle>;
|
|
113
128
|
/** Per-bar plotcandle/plotbar colours, aligned to `bars` by index (null ≡ use defaults). */
|
|
@@ -323,7 +338,8 @@ interface Pane {
|
|
|
323
338
|
kind: PaneKind;
|
|
324
339
|
/** Display order, top-to-bottom; the price pane is conventionally order 0. */
|
|
325
340
|
order: number;
|
|
326
|
-
/** Relative height weight among panes (the renderer normalizes).
|
|
341
|
+
/** Relative height weight among panes (the renderer normalizes). Omitted keeps the
|
|
342
|
+
* weight an existing pane already has; a new pane gets the renderer's default. */
|
|
327
343
|
heightWeight?: number;
|
|
328
344
|
title?: string;
|
|
329
345
|
}
|
|
@@ -371,6 +387,8 @@ interface PriceLine {
|
|
|
371
387
|
lineStyle?: LineStyle;
|
|
372
388
|
width?: number;
|
|
373
389
|
title?: string;
|
|
390
|
+
/** {@link title} in the chart's language. Absent ⇒ {@link title}. */
|
|
391
|
+
displayTitle?: MessageLike;
|
|
374
392
|
}
|
|
375
393
|
/**
|
|
376
394
|
* The renderer-neutral, full description of what to draw. In the engine-owned
|
|
@@ -426,8 +444,26 @@ interface TradeExecution {
|
|
|
426
444
|
* declarations onto this at its boundary). Drives the renderer's settings dialog
|
|
427
445
|
* (the gear settings UI).
|
|
428
446
|
*/
|
|
447
|
+
|
|
429
448
|
type InputType = 'int' | 'float' | 'bool' | 'string' | 'source' | 'color' | 'price' | 'time' | 'session' | 'timeframe' | 'symbol' | 'text_area';
|
|
430
449
|
type InputValue = number | string | boolean;
|
|
450
|
+
/**
|
|
451
|
+
* The display side of an input: what the settings dialog and the legend SHOW, in the
|
|
452
|
+
* chart's language. The input's own `title`, `group` and `options` stay what they are
|
|
453
|
+
* (a script reads them, layouts persist the option values), and this side-car only
|
|
454
|
+
* changes how they read. Each field is optional and falls back to the identity field.
|
|
455
|
+
*/
|
|
456
|
+
interface InputDisplay {
|
|
457
|
+
/** Shown instead of `title`. */
|
|
458
|
+
title?: MessageLike;
|
|
459
|
+
/** Shown instead of `tooltip`. */
|
|
460
|
+
tooltip?: MessageLike;
|
|
461
|
+
/** Shown instead of `group` as the section heading. */
|
|
462
|
+
group?: MessageLike;
|
|
463
|
+
/** Shown label per stored option value (`'Close'` → a translated "Close"). Values
|
|
464
|
+
* without an entry show as themselves. */
|
|
465
|
+
options?: Readonly<Record<string, MessageLike>>;
|
|
466
|
+
}
|
|
431
467
|
/**
|
|
432
468
|
* Host-provided symbol picker for the settings dialog's `input.symbol` control. Called when the
|
|
433
469
|
* user activates the field: the host opens its own symbol-selection UI (e.g. the app's ticker
|
|
@@ -473,6 +509,8 @@ interface InputSchema {
|
|
|
473
509
|
* `inline=` row show while ANY member's gate passes. A hidden input keeps its value. */
|
|
474
510
|
when?: InputWhen;
|
|
475
511
|
tooltip?: string;
|
|
512
|
+
/** Translatable display text for this input (see {@link InputDisplay}). */
|
|
513
|
+
display?: InputDisplay;
|
|
476
514
|
}
|
|
477
515
|
/**
|
|
478
516
|
* The DELTAS of a value bag against its schema's declaration defaults — what state
|
|
@@ -518,6 +556,11 @@ interface IndicatorModel {
|
|
|
518
556
|
* `indicator(..., shorttitle=)`.
|
|
519
557
|
*/
|
|
520
558
|
shorttitle?: string;
|
|
559
|
+
/** What the chart SHOWS for {@link title}, in its language (a native indicator's
|
|
560
|
+
* translatable name). Absent ⇒ {@link title}. */
|
|
561
|
+
displayTitle?: MessageLike;
|
|
562
|
+
/** What the chart shows for {@link shorttitle}. Absent ⇒ {@link shorttitle}. */
|
|
563
|
+
displayShorttitle?: MessageLike;
|
|
521
564
|
overlay: boolean;
|
|
522
565
|
paneHint: PaneHint;
|
|
523
566
|
/**
|
|
@@ -881,11 +924,13 @@ interface DrawingText {
|
|
|
881
924
|
* renderer's settings popup builds controls generically — adding a new drawing
|
|
882
925
|
* type is a schema entry, not new UI code.
|
|
883
926
|
*/
|
|
927
|
+
|
|
884
928
|
type FieldKind = 'color' | 'number' | 'select' | 'lineStyle' | 'boolean' | 'text' | 'opacity';
|
|
885
929
|
interface SettingsField {
|
|
886
930
|
/** Dot-path into the drawing, e.g. `'style.lineColor'`, `'text.value'`, `'locked'`. */
|
|
887
931
|
path: string;
|
|
888
|
-
|
|
932
|
+
/** What the settings show; a message reads in the chart's language. */
|
|
933
|
+
label: MessageLike;
|
|
889
934
|
kind: FieldKind;
|
|
890
935
|
/** number/opacity bounds. */
|
|
891
936
|
min?: number;
|
|
@@ -894,7 +939,7 @@ interface SettingsField {
|
|
|
894
939
|
/** select options. */
|
|
895
940
|
options?: ReadonlyArray<{
|
|
896
941
|
value: string;
|
|
897
|
-
label:
|
|
942
|
+
label: MessageLike;
|
|
898
943
|
}>;
|
|
899
944
|
/** Cosmetic grouping in the popup. */
|
|
900
945
|
group?: 'line' | 'fill' | 'text' | 'behavior';
|
|
@@ -904,6 +949,10 @@ interface SettingsField {
|
|
|
904
949
|
path: string;
|
|
905
950
|
in: readonly unknown[];
|
|
906
951
|
};
|
|
952
|
+
/** The label of the one row this field shares with the next one: a color and its line
|
|
953
|
+
* style ("Midline" for "Midline color" + "Midline style"), or an upper and a lower color
|
|
954
|
+
* ("Bands"). */
|
|
955
|
+
rowLabel?: MessageLike;
|
|
907
956
|
}
|
|
908
957
|
interface SettingsSchema {
|
|
909
958
|
fields: SettingsField[];
|
|
@@ -1036,6 +1085,10 @@ declare abstract class Drawing {
|
|
|
1036
1085
|
max: number;
|
|
1037
1086
|
} | null;
|
|
1038
1087
|
abstract schema(): SettingsSchema;
|
|
1088
|
+
/** The text a fresh drawing of this type starts with ("Note", "Callout"), as a message,
|
|
1089
|
+
* or null for a type that seeds none. A new drawing stores its English source; the chart
|
|
1090
|
+
* that places one interactively writes it in its own language instead. */
|
|
1091
|
+
placeholderText(): MessageLike | null;
|
|
1039
1092
|
/**
|
|
1040
1093
|
* Editable per-level config for a rich "gear" settings panel (Fibonacci levels):
|
|
1041
1094
|
* each entry's `color` / `enabled` / `label` is mutated via a `levels.<i>.<field>`
|
|
@@ -1066,6 +1119,7 @@ declare abstract class Drawing {
|
|
|
1066
1119
|
*/
|
|
1067
1120
|
interface ToolDefinition {
|
|
1068
1121
|
type: DrawingTypeKey;
|
|
1122
|
+
/** The tool's name, in the language the definition was built for. */
|
|
1069
1123
|
label: string;
|
|
1070
1124
|
/** Inline SVG markup (no DOM). */
|
|
1071
1125
|
icon: string;
|
|
@@ -1088,7 +1142,8 @@ interface ToolbarDefinition {
|
|
|
1088
1142
|
/** A developer-supplied explicit group (just type keys; the registry fills the rest). */
|
|
1089
1143
|
interface ToolbarGroupConfig {
|
|
1090
1144
|
id: string;
|
|
1091
|
-
|
|
1145
|
+
/** The group's name; a message (`msg()`) reads in the chart's language. */
|
|
1146
|
+
label: MessageLike;
|
|
1092
1147
|
tools: DrawingTypeKey[];
|
|
1093
1148
|
}
|
|
1094
1149
|
/** Public `options.drawings` shape. `true` = default toolbar; object = customize. */
|
|
@@ -1097,14 +1152,15 @@ type DrawingsOption = boolean | {
|
|
|
1097
1152
|
tools?: DrawingTypeKey[];
|
|
1098
1153
|
groups?: ToolbarGroupConfig[];
|
|
1099
1154
|
};
|
|
1100
|
-
/** The default toolbar — every registered type, grouped into the canonical seven-button
|
|
1101
|
-
|
|
1155
|
+
/** The default toolbar — every registered type, grouped into the canonical seven-button
|
|
1156
|
+
* layout, labelled in `i18n`'s language (English without one). */
|
|
1157
|
+
declare function defaultToolbar(i18n?: Translator | null): ToolbarDefinition;
|
|
1102
1158
|
/**
|
|
1103
1159
|
* Resolve `options.drawings` into a concrete toolbar definition + initial visibility.
|
|
1104
1160
|
* Default (undefined) ⇒ toolbar VISIBLE; `false` ⇒ subsystem available but toolbar hidden
|
|
1105
1161
|
* (headless use still works via `chart.drawings.add(...)`); object ⇒ `toolbar ?? true`.
|
|
1106
1162
|
*/
|
|
1107
|
-
declare function buildToolbar(option: DrawingsOption | undefined): {
|
|
1163
|
+
declare function buildToolbar(option: DrawingsOption | undefined, i18n?: Translator | null): {
|
|
1108
1164
|
definition: ToolbarDefinition;
|
|
1109
1165
|
visible: boolean;
|
|
1110
1166
|
};
|
|
@@ -1123,7 +1179,10 @@ interface DrawingToolDefaults {
|
|
|
1123
1179
|
/** A named, saved look for one tool (a "style"): applied, it sets the same settings a
|
|
1124
1180
|
* remembered default does — style, text styling and per-type settings. */
|
|
1125
1181
|
interface DrawingToolTemplate {
|
|
1182
|
+
/** The style's name: its identity among the tool's styles. */
|
|
1126
1183
|
name: string;
|
|
1184
|
+
/** What a built-in style's name reads as in the chart's language. Absent ⇒ {@link name}. */
|
|
1185
|
+
label?: MessageLike;
|
|
1127
1186
|
settings: DrawingToolDefaults;
|
|
1128
1187
|
}
|
|
1129
1188
|
|
|
@@ -1402,6 +1461,11 @@ interface MarkClickEvent {
|
|
|
1402
1461
|
group?: string;
|
|
1403
1462
|
}
|
|
1404
1463
|
|
|
1464
|
+
/** The language and direction attributes of a renderer's root element (`null` = unset). */
|
|
1465
|
+
interface RendererRootAttributes {
|
|
1466
|
+
lang: string | null;
|
|
1467
|
+
dir: TextDirection | null;
|
|
1468
|
+
}
|
|
1405
1469
|
/** What a rendering backend supports — drives graceful degradation + warnings. */
|
|
1406
1470
|
interface RendererCapabilities {
|
|
1407
1471
|
panes: boolean;
|
|
@@ -1516,6 +1580,9 @@ interface CrosshairEvent {
|
|
|
1516
1580
|
* horizontal level from the price pane). Optional and additive: a renderer that
|
|
1517
1581
|
* doesn't track panes omits it. */
|
|
1518
1582
|
paneKind?: 'price' | 'study' | null;
|
|
1583
|
+
/** The id of the pane under the cursor — the same id `chart.panes.list()` reports;
|
|
1584
|
+
* null off the plot. Optional and additive, like {@link paneKind}. */
|
|
1585
|
+
paneId?: string | null;
|
|
1519
1586
|
/** Value at the crosshair per series, keyed by stable series id. */
|
|
1520
1587
|
values: ReadonlyMap<string, number>;
|
|
1521
1588
|
/** The hovered price bar's OHLCV (null when the cursor is off any bar). */
|
|
@@ -1523,7 +1590,12 @@ interface CrosshairEvent {
|
|
|
1523
1590
|
}
|
|
1524
1591
|
interface ClickEvent {
|
|
1525
1592
|
time: Millis | null;
|
|
1593
|
+
/** Value at the click on its pane's scale, as {@link CrosshairEvent.price}. */
|
|
1526
1594
|
price: number | null;
|
|
1595
|
+
/** The kind of pane clicked; null off the plot. Optional — a renderer that doesn't track panes omits it. */
|
|
1596
|
+
paneKind?: 'price' | 'study' | null;
|
|
1597
|
+
/** The id of the pane clicked (as `chart.panes.list()` reports it); null off the plot. Optional. */
|
|
1598
|
+
paneId?: string | null;
|
|
1527
1599
|
}
|
|
1528
1600
|
/** A touch long-press on an axis strip — the mobile substitute for a right-click menu. */
|
|
1529
1601
|
interface AxisLongPressEvent {
|
|
@@ -1594,6 +1666,11 @@ type PaneAction = {
|
|
|
1594
1666
|
type: 'maximize';
|
|
1595
1667
|
paneId: string;
|
|
1596
1668
|
maximized: boolean;
|
|
1669
|
+
}
|
|
1670
|
+
/** The user finished resizing panes (a separator drag or reset); read the new weights back through `paneHeightWeight`. */
|
|
1671
|
+
| {
|
|
1672
|
+
type: 'resize';
|
|
1673
|
+
paneIds: string[];
|
|
1597
1674
|
};
|
|
1598
1675
|
/**
|
|
1599
1676
|
* The rendering backend abstraction. No backend (e.g. lightweight-charts) types
|
|
@@ -1612,6 +1689,14 @@ interface IChartRenderer {
|
|
|
1612
1689
|
readFeature(key: string): unknown;
|
|
1613
1690
|
mount(container: HTMLElement, theme: VelaTheme): void;
|
|
1614
1691
|
setTheme(theme: VelaTheme): void;
|
|
1692
|
+
/**
|
|
1693
|
+
* Adopt the chart's localization: render text through `i18n` and numbers and dates
|
|
1694
|
+
* through `i18n.format`, then repaint. Called once after `mount` and again after every
|
|
1695
|
+
* `chart.setLocale`. `lang` and `dir` are what the renderer's root element should carry
|
|
1696
|
+
* (`null` = leave the attribute alone, the host page decides). Optional: a renderer
|
|
1697
|
+
* without it keeps English text and formatting.
|
|
1698
|
+
*/
|
|
1699
|
+
setLocalization?(i18n: Translator, root: RendererRootAttributes): void;
|
|
1615
1700
|
resize(): void;
|
|
1616
1701
|
destroy(): void;
|
|
1617
1702
|
/**
|
|
@@ -1681,6 +1766,14 @@ interface IChartRenderer {
|
|
|
1681
1766
|
setPaneCollapsed?(paneId: string, collapsed: boolean): void;
|
|
1682
1767
|
/** Maximize one pane to fill the plot, or restore the previous split (`null`). */
|
|
1683
1768
|
setPaneMaximized?(paneId: string | null): void;
|
|
1769
|
+
/**
|
|
1770
|
+
* Set a pane's height weight: panes share the plot height in proportion to their weights
|
|
1771
|
+
* (collapsed panes aside). The weight must survive later `ensurePane` calls that carry
|
|
1772
|
+
* none — only an explicit `heightWeight` replaces it.
|
|
1773
|
+
*/
|
|
1774
|
+
setPaneHeightWeight?(paneId: string, weight: number): void;
|
|
1775
|
+
/** A pane's current height weight, or null when the renderer has no such pane. */
|
|
1776
|
+
paneHeightWeight?(paneId: string): number | null;
|
|
1684
1777
|
/**
|
|
1685
1778
|
* The renderer reports a user-initiated pane action (from a pane hover button or a
|
|
1686
1779
|
* double-click). The host/core reflects it: `'remove'` tears down the pane's
|
|
@@ -1864,7 +1957,7 @@ interface IChartRenderer {
|
|
|
1864
1957
|
/** Host-app settings tabs (callback rows) shown by the renderer's settings dialog.
|
|
1865
1958
|
* `id` names a section for the visibility policy (defaults to the title's slug). */
|
|
1866
1959
|
setSettingsSections?(sections: ReadonlyArray<{
|
|
1867
|
-
title:
|
|
1960
|
+
title: MessageLike;
|
|
1868
1961
|
rows: readonly unknown[];
|
|
1869
1962
|
id?: string;
|
|
1870
1963
|
}>): void;
|
|
@@ -1982,7 +2075,10 @@ type ThemeName = 'dark' | 'light';
|
|
|
1982
2075
|
* Built-in default: `NativeRenderer`.
|
|
1983
2076
|
* from `'vela/renderers/lwc'` and pass it as `options.renderer`. */
|
|
1984
2077
|
type RendererConstructor = new (opts?: RendererDisplayOptions) => IChartRenderer;
|
|
1985
|
-
|
|
2078
|
+
/** The chart's options. Its {@link LocalizationOptions} (`locale`, `direction`, `messages`,
|
|
2079
|
+
* `numberingSystem`, `hourCycle`, `weekStart`, `formatters`) change at runtime through
|
|
2080
|
+
* `chart.setLocale`. */
|
|
2081
|
+
interface VelaOptions extends MarketConfig, LocalizationOptions {
|
|
1986
2082
|
/** false = static history; true = history + live forming candle. */
|
|
1987
2083
|
live?: boolean;
|
|
1988
2084
|
theme?: ThemeName | VelaTheme;
|
|
@@ -2198,6 +2294,10 @@ interface PaneInfo {
|
|
|
2198
2294
|
order: number;
|
|
2199
2295
|
collapsed: boolean;
|
|
2200
2296
|
maximized: boolean;
|
|
2297
|
+
/** The pane's share of the plot height relative to the other panes (the price pane
|
|
2298
|
+
* defaults to 3, study panes to 1 on the native renderer). Absent on a renderer that
|
|
2299
|
+
* doesn't report pane sizes. */
|
|
2300
|
+
heightWeight?: number;
|
|
2201
2301
|
indicators: Array<{
|
|
2202
2302
|
id: string;
|
|
2203
2303
|
title: string;
|
|
@@ -2233,4 +2333,4 @@ interface AddIndicatorOptions {
|
|
|
2233
2333
|
title?: string;
|
|
2234
2334
|
}
|
|
2235
2335
|
|
|
2236
|
-
export { type
|
|
2336
|
+
export { type CandleStyle as $, type AxisLongPressEvent as A, type DrawingTypeKey as B, type CrosshairEvent as C, Drawing as D, type ToolbarDefinition as E, type MarketSnapshot as F, type AddIndicatorOptions as G, type AnimationConfig as H, type InputValue as I, type Background as J, type BoxFontFamily as K, type LineStyle as L, type MarketConfig as M, type NativeBackend as N, type OHLCV as O, type PriceStyle as P, type BoxHAlign as Q, type RendererCapabilities as R, type SerializedDrawing as S, type ThemeName as T, type Unsubscribe as U, type VisibleRangePreset as V, type WallClock as W, type BoxTextSize as X, type BoxVAlign as Y, type CandleBarColor as Z, type CandleSeries as _, type VisibleRange as a, type SeriesPoint as a$, type DataWindowGroup as a0, type DataWindowOHLC as a1, type DataWindowRow as a2, type DirtyRange as a3, type DrawingBox as a4, type DrawingExtend as a5, type DrawingIntent as a6, type DrawingLabel as a7, type DrawingLine as a8, type DrawingLinefill as a9, type LineLikeStyle as aA, type MarkContent as aB, type MarkContentSource as aC, type MarkGlyph as aD, type MarkPanelItem as aE, type MarkShape as aF, type MarkerPoint as aG, type MarkerSeries as aH, type MarketSwitch as aI, type PaneAxis as aJ, type PaneAxisBand as aK, type PaneHint as aL, type PaneKind as aM, type PolylinePoint as aN, type PriceAxisOptions as aO, type PriceAxisTick as aP, type PriceAxisTickContext as aQ, type PriceAxisTicksFn as aR, type PriceLine as aS, type Projector as aT, type ProviderName as aU, type RendererConstructor as aV, type Scene as aW, type SchemaPatch as aX, SecondClock as aY, type SeriesDisplay as aZ, type SeriesKind as a_, type DrawingMode as aa, type DrawingPoint as ab, type DrawingPolyline as ac, type DrawingSeriesBar as ad, type DrawingSeriesGateway as ae, type DrawingSeriesState as af, type DrawingStyle as ag, type DrawingTable as ah, type DrawingText as ai, type DrawingXLoc as aj, type DrawingsOption as ak, type Fill as al, type FillGradientStop as am, type IndicatorMeta as an, type InputCondition as ao, type InputDisplay as ap, type InputSchema as aq, type InputType as ar, type InputWhen as as, type IntroAnimation as at, type IntroConfig as au, type IntroStyle as av, type LabelStyle as aw, type LabelYLoc as ax, type LineLikeKind as ay, type LineLikeSeries as az, type VelaOptions as b, type SeriesSpec as b0, type SeriesSurface as b1, type SeriesValueDelta as b2, type SettingsField as b3, type SettingsSchema as b4, type SettingsVisibilityPolicy as b5, type TableCell as b6, type TableMerge as b7, type TablePosition as b8, type ToolbarGroupConfig as b9, type TradeExecution as ba, type ValuePatch as bb, buildToolbar as bc, defaultToolbar as bd, inputDeltas as be, inputVisible as bf, seriesInScale as bg, seriesShownOn as bh, type PaneInfo as bi, type DrawingToolDefaults as bj, type DrawingToolTemplate as bk, type VelaTheme as c, type MarketSession as d, type IChartRenderer as e, type RendererDisplayOptions as f, type IndicatorRenderHandle as g, type IndicatorStatus as h, type RendererRootAttributes as i, type Pane as j, type PaneAction as k, type MoveTarget as l, type IndicatorModel as m, type ScenePatch as n, type SymbolPickerFn as o, type LegendActionView as p, type LegendCalloutView as q, type InputChangeEvent as r, type ClickEvent as s, type TimelineMark as t, type MarkGroup as u, type MarkClickEvent as v, type DataWindowReadout as w, type IDrawingsRendererPort as x, type Millis as y, type SnapMode as z };
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { M as MessageLike, T as Translator, m as TextDirection, b as LocalizationOptions } from './types-BlrXRLIR.js';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Canonical time in Vela: Unix epoch **milliseconds**.
|
|
3
5
|
*
|
|
@@ -86,7 +88,11 @@ interface SeriesDisplay {
|
|
|
86
88
|
interface SeriesBase {
|
|
87
89
|
/** Content-addressed, stable across re-runs of identical source (see identity.ts). */
|
|
88
90
|
id: string;
|
|
91
|
+
/** The series' name: its identity for engines and hosts (output keys, series ids). */
|
|
89
92
|
title: string;
|
|
93
|
+
/** What the legend, the data window and the settings show instead of {@link title}, in
|
|
94
|
+
* the chart's language. Absent ⇒ {@link title}. */
|
|
95
|
+
displayTitle?: MessageLike;
|
|
90
96
|
/** Pane this series belongs to; resolved by the orchestrator. */
|
|
91
97
|
paneId: string;
|
|
92
98
|
/** Declared draw-order intent; the renderer owns final z-ordering. */
|
|
@@ -103,11 +109,20 @@ interface SeriesBase {
|
|
|
103
109
|
}
|
|
104
110
|
interface LineLikeSeries extends SeriesBase {
|
|
105
111
|
kind: LineLikeKind;
|
|
112
|
+
/**
|
|
113
|
+
* One entry per bar the indicator ran over, index-aligned to the bars: entry `i` draws on
|
|
114
|
+
* bar `i`, whatever its `time`. Entries past the last bar draw on the bar slots after it,
|
|
115
|
+
* one per slot, so a series shifted forward continues into the chart's right whitespace;
|
|
116
|
+
* give them the times those slots would have. A gap is a `value: null` entry.
|
|
117
|
+
*/
|
|
106
118
|
points: SeriesPoint[];
|
|
107
119
|
style: LineLikeStyle;
|
|
108
120
|
}
|
|
109
121
|
interface CandleSeries extends SeriesBase {
|
|
110
122
|
kind: 'candle' | 'bar';
|
|
123
|
+
/** One entry per bar the indicator ran over, index-aligned like `points`. A bar with no
|
|
124
|
+
* candle is an empty slot (or an entry with `NaN` prices): it draws nothing, and the
|
|
125
|
+
* candles after it stay on their own bars. Never compact the array to drop it. */
|
|
111
126
|
bars: OHLCV[];
|
|
112
127
|
style?: Partial<CandleStyle>;
|
|
113
128
|
/** Per-bar plotcandle/plotbar colours, aligned to `bars` by index (null ≡ use defaults). */
|
|
@@ -323,7 +338,8 @@ interface Pane {
|
|
|
323
338
|
kind: PaneKind;
|
|
324
339
|
/** Display order, top-to-bottom; the price pane is conventionally order 0. */
|
|
325
340
|
order: number;
|
|
326
|
-
/** Relative height weight among panes (the renderer normalizes).
|
|
341
|
+
/** Relative height weight among panes (the renderer normalizes). Omitted keeps the
|
|
342
|
+
* weight an existing pane already has; a new pane gets the renderer's default. */
|
|
327
343
|
heightWeight?: number;
|
|
328
344
|
title?: string;
|
|
329
345
|
}
|
|
@@ -371,6 +387,8 @@ interface PriceLine {
|
|
|
371
387
|
lineStyle?: LineStyle;
|
|
372
388
|
width?: number;
|
|
373
389
|
title?: string;
|
|
390
|
+
/** {@link title} in the chart's language. Absent ⇒ {@link title}. */
|
|
391
|
+
displayTitle?: MessageLike;
|
|
374
392
|
}
|
|
375
393
|
/**
|
|
376
394
|
* The renderer-neutral, full description of what to draw. In the engine-owned
|
|
@@ -426,8 +444,26 @@ interface TradeExecution {
|
|
|
426
444
|
* declarations onto this at its boundary). Drives the renderer's settings dialog
|
|
427
445
|
* (the gear settings UI).
|
|
428
446
|
*/
|
|
447
|
+
|
|
429
448
|
type InputType = 'int' | 'float' | 'bool' | 'string' | 'source' | 'color' | 'price' | 'time' | 'session' | 'timeframe' | 'symbol' | 'text_area';
|
|
430
449
|
type InputValue = number | string | boolean;
|
|
450
|
+
/**
|
|
451
|
+
* The display side of an input: what the settings dialog and the legend SHOW, in the
|
|
452
|
+
* chart's language. The input's own `title`, `group` and `options` stay what they are
|
|
453
|
+
* (a script reads them, layouts persist the option values), and this side-car only
|
|
454
|
+
* changes how they read. Each field is optional and falls back to the identity field.
|
|
455
|
+
*/
|
|
456
|
+
interface InputDisplay {
|
|
457
|
+
/** Shown instead of `title`. */
|
|
458
|
+
title?: MessageLike;
|
|
459
|
+
/** Shown instead of `tooltip`. */
|
|
460
|
+
tooltip?: MessageLike;
|
|
461
|
+
/** Shown instead of `group` as the section heading. */
|
|
462
|
+
group?: MessageLike;
|
|
463
|
+
/** Shown label per stored option value (`'Close'` → a translated "Close"). Values
|
|
464
|
+
* without an entry show as themselves. */
|
|
465
|
+
options?: Readonly<Record<string, MessageLike>>;
|
|
466
|
+
}
|
|
431
467
|
/**
|
|
432
468
|
* Host-provided symbol picker for the settings dialog's `input.symbol` control. Called when the
|
|
433
469
|
* user activates the field: the host opens its own symbol-selection UI (e.g. the app's ticker
|
|
@@ -473,6 +509,8 @@ interface InputSchema {
|
|
|
473
509
|
* `inline=` row show while ANY member's gate passes. A hidden input keeps its value. */
|
|
474
510
|
when?: InputWhen;
|
|
475
511
|
tooltip?: string;
|
|
512
|
+
/** Translatable display text for this input (see {@link InputDisplay}). */
|
|
513
|
+
display?: InputDisplay;
|
|
476
514
|
}
|
|
477
515
|
/**
|
|
478
516
|
* The DELTAS of a value bag against its schema's declaration defaults — what state
|
|
@@ -518,6 +556,11 @@ interface IndicatorModel {
|
|
|
518
556
|
* `indicator(..., shorttitle=)`.
|
|
519
557
|
*/
|
|
520
558
|
shorttitle?: string;
|
|
559
|
+
/** What the chart SHOWS for {@link title}, in its language (a native indicator's
|
|
560
|
+
* translatable name). Absent ⇒ {@link title}. */
|
|
561
|
+
displayTitle?: MessageLike;
|
|
562
|
+
/** What the chart shows for {@link shorttitle}. Absent ⇒ {@link shorttitle}. */
|
|
563
|
+
displayShorttitle?: MessageLike;
|
|
521
564
|
overlay: boolean;
|
|
522
565
|
paneHint: PaneHint;
|
|
523
566
|
/**
|
|
@@ -881,11 +924,13 @@ interface DrawingText {
|
|
|
881
924
|
* renderer's settings popup builds controls generically — adding a new drawing
|
|
882
925
|
* type is a schema entry, not new UI code.
|
|
883
926
|
*/
|
|
927
|
+
|
|
884
928
|
type FieldKind = 'color' | 'number' | 'select' | 'lineStyle' | 'boolean' | 'text' | 'opacity';
|
|
885
929
|
interface SettingsField {
|
|
886
930
|
/** Dot-path into the drawing, e.g. `'style.lineColor'`, `'text.value'`, `'locked'`. */
|
|
887
931
|
path: string;
|
|
888
|
-
|
|
932
|
+
/** What the settings show; a message reads in the chart's language. */
|
|
933
|
+
label: MessageLike;
|
|
889
934
|
kind: FieldKind;
|
|
890
935
|
/** number/opacity bounds. */
|
|
891
936
|
min?: number;
|
|
@@ -894,7 +939,7 @@ interface SettingsField {
|
|
|
894
939
|
/** select options. */
|
|
895
940
|
options?: ReadonlyArray<{
|
|
896
941
|
value: string;
|
|
897
|
-
label:
|
|
942
|
+
label: MessageLike;
|
|
898
943
|
}>;
|
|
899
944
|
/** Cosmetic grouping in the popup. */
|
|
900
945
|
group?: 'line' | 'fill' | 'text' | 'behavior';
|
|
@@ -904,6 +949,10 @@ interface SettingsField {
|
|
|
904
949
|
path: string;
|
|
905
950
|
in: readonly unknown[];
|
|
906
951
|
};
|
|
952
|
+
/** The label of the one row this field shares with the next one: a color and its line
|
|
953
|
+
* style ("Midline" for "Midline color" + "Midline style"), or an upper and a lower color
|
|
954
|
+
* ("Bands"). */
|
|
955
|
+
rowLabel?: MessageLike;
|
|
907
956
|
}
|
|
908
957
|
interface SettingsSchema {
|
|
909
958
|
fields: SettingsField[];
|
|
@@ -1036,6 +1085,10 @@ declare abstract class Drawing {
|
|
|
1036
1085
|
max: number;
|
|
1037
1086
|
} | null;
|
|
1038
1087
|
abstract schema(): SettingsSchema;
|
|
1088
|
+
/** The text a fresh drawing of this type starts with ("Note", "Callout"), as a message,
|
|
1089
|
+
* or null for a type that seeds none. A new drawing stores its English source; the chart
|
|
1090
|
+
* that places one interactively writes it in its own language instead. */
|
|
1091
|
+
placeholderText(): MessageLike | null;
|
|
1039
1092
|
/**
|
|
1040
1093
|
* Editable per-level config for a rich "gear" settings panel (Fibonacci levels):
|
|
1041
1094
|
* each entry's `color` / `enabled` / `label` is mutated via a `levels.<i>.<field>`
|
|
@@ -1066,6 +1119,7 @@ declare abstract class Drawing {
|
|
|
1066
1119
|
*/
|
|
1067
1120
|
interface ToolDefinition {
|
|
1068
1121
|
type: DrawingTypeKey;
|
|
1122
|
+
/** The tool's name, in the language the definition was built for. */
|
|
1069
1123
|
label: string;
|
|
1070
1124
|
/** Inline SVG markup (no DOM). */
|
|
1071
1125
|
icon: string;
|
|
@@ -1088,7 +1142,8 @@ interface ToolbarDefinition {
|
|
|
1088
1142
|
/** A developer-supplied explicit group (just type keys; the registry fills the rest). */
|
|
1089
1143
|
interface ToolbarGroupConfig {
|
|
1090
1144
|
id: string;
|
|
1091
|
-
|
|
1145
|
+
/** The group's name; a message (`msg()`) reads in the chart's language. */
|
|
1146
|
+
label: MessageLike;
|
|
1092
1147
|
tools: DrawingTypeKey[];
|
|
1093
1148
|
}
|
|
1094
1149
|
/** Public `options.drawings` shape. `true` = default toolbar; object = customize. */
|
|
@@ -1097,14 +1152,15 @@ type DrawingsOption = boolean | {
|
|
|
1097
1152
|
tools?: DrawingTypeKey[];
|
|
1098
1153
|
groups?: ToolbarGroupConfig[];
|
|
1099
1154
|
};
|
|
1100
|
-
/** The default toolbar — every registered type, grouped into the canonical seven-button
|
|
1101
|
-
|
|
1155
|
+
/** The default toolbar — every registered type, grouped into the canonical seven-button
|
|
1156
|
+
* layout, labelled in `i18n`'s language (English without one). */
|
|
1157
|
+
declare function defaultToolbar(i18n?: Translator | null): ToolbarDefinition;
|
|
1102
1158
|
/**
|
|
1103
1159
|
* Resolve `options.drawings` into a concrete toolbar definition + initial visibility.
|
|
1104
1160
|
* Default (undefined) ⇒ toolbar VISIBLE; `false` ⇒ subsystem available but toolbar hidden
|
|
1105
1161
|
* (headless use still works via `chart.drawings.add(...)`); object ⇒ `toolbar ?? true`.
|
|
1106
1162
|
*/
|
|
1107
|
-
declare function buildToolbar(option: DrawingsOption | undefined): {
|
|
1163
|
+
declare function buildToolbar(option: DrawingsOption | undefined, i18n?: Translator | null): {
|
|
1108
1164
|
definition: ToolbarDefinition;
|
|
1109
1165
|
visible: boolean;
|
|
1110
1166
|
};
|
|
@@ -1123,7 +1179,10 @@ interface DrawingToolDefaults {
|
|
|
1123
1179
|
/** A named, saved look for one tool (a "style"): applied, it sets the same settings a
|
|
1124
1180
|
* remembered default does — style, text styling and per-type settings. */
|
|
1125
1181
|
interface DrawingToolTemplate {
|
|
1182
|
+
/** The style's name: its identity among the tool's styles. */
|
|
1126
1183
|
name: string;
|
|
1184
|
+
/** What a built-in style's name reads as in the chart's language. Absent ⇒ {@link name}. */
|
|
1185
|
+
label?: MessageLike;
|
|
1127
1186
|
settings: DrawingToolDefaults;
|
|
1128
1187
|
}
|
|
1129
1188
|
|
|
@@ -1402,6 +1461,11 @@ interface MarkClickEvent {
|
|
|
1402
1461
|
group?: string;
|
|
1403
1462
|
}
|
|
1404
1463
|
|
|
1464
|
+
/** The language and direction attributes of a renderer's root element (`null` = unset). */
|
|
1465
|
+
interface RendererRootAttributes {
|
|
1466
|
+
lang: string | null;
|
|
1467
|
+
dir: TextDirection | null;
|
|
1468
|
+
}
|
|
1405
1469
|
/** What a rendering backend supports — drives graceful degradation + warnings. */
|
|
1406
1470
|
interface RendererCapabilities {
|
|
1407
1471
|
panes: boolean;
|
|
@@ -1516,6 +1580,9 @@ interface CrosshairEvent {
|
|
|
1516
1580
|
* horizontal level from the price pane). Optional and additive: a renderer that
|
|
1517
1581
|
* doesn't track panes omits it. */
|
|
1518
1582
|
paneKind?: 'price' | 'study' | null;
|
|
1583
|
+
/** The id of the pane under the cursor — the same id `chart.panes.list()` reports;
|
|
1584
|
+
* null off the plot. Optional and additive, like {@link paneKind}. */
|
|
1585
|
+
paneId?: string | null;
|
|
1519
1586
|
/** Value at the crosshair per series, keyed by stable series id. */
|
|
1520
1587
|
values: ReadonlyMap<string, number>;
|
|
1521
1588
|
/** The hovered price bar's OHLCV (null when the cursor is off any bar). */
|
|
@@ -1523,7 +1590,12 @@ interface CrosshairEvent {
|
|
|
1523
1590
|
}
|
|
1524
1591
|
interface ClickEvent {
|
|
1525
1592
|
time: Millis | null;
|
|
1593
|
+
/** Value at the click on its pane's scale, as {@link CrosshairEvent.price}. */
|
|
1526
1594
|
price: number | null;
|
|
1595
|
+
/** The kind of pane clicked; null off the plot. Optional — a renderer that doesn't track panes omits it. */
|
|
1596
|
+
paneKind?: 'price' | 'study' | null;
|
|
1597
|
+
/** The id of the pane clicked (as `chart.panes.list()` reports it); null off the plot. Optional. */
|
|
1598
|
+
paneId?: string | null;
|
|
1527
1599
|
}
|
|
1528
1600
|
/** A touch long-press on an axis strip — the mobile substitute for a right-click menu. */
|
|
1529
1601
|
interface AxisLongPressEvent {
|
|
@@ -1594,6 +1666,11 @@ type PaneAction = {
|
|
|
1594
1666
|
type: 'maximize';
|
|
1595
1667
|
paneId: string;
|
|
1596
1668
|
maximized: boolean;
|
|
1669
|
+
}
|
|
1670
|
+
/** The user finished resizing panes (a separator drag or reset); read the new weights back through `paneHeightWeight`. */
|
|
1671
|
+
| {
|
|
1672
|
+
type: 'resize';
|
|
1673
|
+
paneIds: string[];
|
|
1597
1674
|
};
|
|
1598
1675
|
/**
|
|
1599
1676
|
* The rendering backend abstraction. No backend (e.g. lightweight-charts) types
|
|
@@ -1612,6 +1689,14 @@ interface IChartRenderer {
|
|
|
1612
1689
|
readFeature(key: string): unknown;
|
|
1613
1690
|
mount(container: HTMLElement, theme: VelaTheme): void;
|
|
1614
1691
|
setTheme(theme: VelaTheme): void;
|
|
1692
|
+
/**
|
|
1693
|
+
* Adopt the chart's localization: render text through `i18n` and numbers and dates
|
|
1694
|
+
* through `i18n.format`, then repaint. Called once after `mount` and again after every
|
|
1695
|
+
* `chart.setLocale`. `lang` and `dir` are what the renderer's root element should carry
|
|
1696
|
+
* (`null` = leave the attribute alone, the host page decides). Optional: a renderer
|
|
1697
|
+
* without it keeps English text and formatting.
|
|
1698
|
+
*/
|
|
1699
|
+
setLocalization?(i18n: Translator, root: RendererRootAttributes): void;
|
|
1615
1700
|
resize(): void;
|
|
1616
1701
|
destroy(): void;
|
|
1617
1702
|
/**
|
|
@@ -1681,6 +1766,14 @@ interface IChartRenderer {
|
|
|
1681
1766
|
setPaneCollapsed?(paneId: string, collapsed: boolean): void;
|
|
1682
1767
|
/** Maximize one pane to fill the plot, or restore the previous split (`null`). */
|
|
1683
1768
|
setPaneMaximized?(paneId: string | null): void;
|
|
1769
|
+
/**
|
|
1770
|
+
* Set a pane's height weight: panes share the plot height in proportion to their weights
|
|
1771
|
+
* (collapsed panes aside). The weight must survive later `ensurePane` calls that carry
|
|
1772
|
+
* none — only an explicit `heightWeight` replaces it.
|
|
1773
|
+
*/
|
|
1774
|
+
setPaneHeightWeight?(paneId: string, weight: number): void;
|
|
1775
|
+
/** A pane's current height weight, or null when the renderer has no such pane. */
|
|
1776
|
+
paneHeightWeight?(paneId: string): number | null;
|
|
1684
1777
|
/**
|
|
1685
1778
|
* The renderer reports a user-initiated pane action (from a pane hover button or a
|
|
1686
1779
|
* double-click). The host/core reflects it: `'remove'` tears down the pane's
|
|
@@ -1864,7 +1957,7 @@ interface IChartRenderer {
|
|
|
1864
1957
|
/** Host-app settings tabs (callback rows) shown by the renderer's settings dialog.
|
|
1865
1958
|
* `id` names a section for the visibility policy (defaults to the title's slug). */
|
|
1866
1959
|
setSettingsSections?(sections: ReadonlyArray<{
|
|
1867
|
-
title:
|
|
1960
|
+
title: MessageLike;
|
|
1868
1961
|
rows: readonly unknown[];
|
|
1869
1962
|
id?: string;
|
|
1870
1963
|
}>): void;
|
|
@@ -1982,7 +2075,10 @@ type ThemeName = 'dark' | 'light';
|
|
|
1982
2075
|
* Built-in default: `NativeRenderer`.
|
|
1983
2076
|
* from `'vela/renderers/lwc'` and pass it as `options.renderer`. */
|
|
1984
2077
|
type RendererConstructor = new (opts?: RendererDisplayOptions) => IChartRenderer;
|
|
1985
|
-
|
|
2078
|
+
/** The chart's options. Its {@link LocalizationOptions} (`locale`, `direction`, `messages`,
|
|
2079
|
+
* `numberingSystem`, `hourCycle`, `weekStart`, `formatters`) change at runtime through
|
|
2080
|
+
* `chart.setLocale`. */
|
|
2081
|
+
interface VelaOptions extends MarketConfig, LocalizationOptions {
|
|
1986
2082
|
/** false = static history; true = history + live forming candle. */
|
|
1987
2083
|
live?: boolean;
|
|
1988
2084
|
theme?: ThemeName | VelaTheme;
|
|
@@ -2198,6 +2294,10 @@ interface PaneInfo {
|
|
|
2198
2294
|
order: number;
|
|
2199
2295
|
collapsed: boolean;
|
|
2200
2296
|
maximized: boolean;
|
|
2297
|
+
/** The pane's share of the plot height relative to the other panes (the price pane
|
|
2298
|
+
* defaults to 3, study panes to 1 on the native renderer). Absent on a renderer that
|
|
2299
|
+
* doesn't report pane sizes. */
|
|
2300
|
+
heightWeight?: number;
|
|
2201
2301
|
indicators: Array<{
|
|
2202
2302
|
id: string;
|
|
2203
2303
|
title: string;
|
|
@@ -2233,4 +2333,4 @@ interface AddIndicatorOptions {
|
|
|
2233
2333
|
title?: string;
|
|
2234
2334
|
}
|
|
2235
2335
|
|
|
2236
|
-
export { type
|
|
2336
|
+
export { type CandleStyle as $, type AxisLongPressEvent as A, type DrawingTypeKey as B, type CrosshairEvent as C, Drawing as D, type ToolbarDefinition as E, type MarketSnapshot as F, type AddIndicatorOptions as G, type AnimationConfig as H, type InputValue as I, type Background as J, type BoxFontFamily as K, type LineStyle as L, type MarketConfig as M, type NativeBackend as N, type OHLCV as O, type PriceStyle as P, type BoxHAlign as Q, type RendererCapabilities as R, type SerializedDrawing as S, type ThemeName as T, type Unsubscribe as U, type VisibleRangePreset as V, type WallClock as W, type BoxTextSize as X, type BoxVAlign as Y, type CandleBarColor as Z, type CandleSeries as _, type VisibleRange as a, type SeriesPoint as a$, type DataWindowGroup as a0, type DataWindowOHLC as a1, type DataWindowRow as a2, type DirtyRange as a3, type DrawingBox as a4, type DrawingExtend as a5, type DrawingIntent as a6, type DrawingLabel as a7, type DrawingLine as a8, type DrawingLinefill as a9, type LineLikeStyle as aA, type MarkContent as aB, type MarkContentSource as aC, type MarkGlyph as aD, type MarkPanelItem as aE, type MarkShape as aF, type MarkerPoint as aG, type MarkerSeries as aH, type MarketSwitch as aI, type PaneAxis as aJ, type PaneAxisBand as aK, type PaneHint as aL, type PaneKind as aM, type PolylinePoint as aN, type PriceAxisOptions as aO, type PriceAxisTick as aP, type PriceAxisTickContext as aQ, type PriceAxisTicksFn as aR, type PriceLine as aS, type Projector as aT, type ProviderName as aU, type RendererConstructor as aV, type Scene as aW, type SchemaPatch as aX, SecondClock as aY, type SeriesDisplay as aZ, type SeriesKind as a_, type DrawingMode as aa, type DrawingPoint as ab, type DrawingPolyline as ac, type DrawingSeriesBar as ad, type DrawingSeriesGateway as ae, type DrawingSeriesState as af, type DrawingStyle as ag, type DrawingTable as ah, type DrawingText as ai, type DrawingXLoc as aj, type DrawingsOption as ak, type Fill as al, type FillGradientStop as am, type IndicatorMeta as an, type InputCondition as ao, type InputDisplay as ap, type InputSchema as aq, type InputType as ar, type InputWhen as as, type IntroAnimation as at, type IntroConfig as au, type IntroStyle as av, type LabelStyle as aw, type LabelYLoc as ax, type LineLikeKind as ay, type LineLikeSeries as az, type VelaOptions as b, type SeriesSpec as b0, type SeriesSurface as b1, type SeriesValueDelta as b2, type SettingsField as b3, type SettingsSchema as b4, type SettingsVisibilityPolicy as b5, type TableCell as b6, type TableMerge as b7, type TablePosition as b8, type ToolbarGroupConfig as b9, type TradeExecution as ba, type ValuePatch as bb, buildToolbar as bc, defaultToolbar as bd, inputDeltas as be, inputVisible as bf, seriesInScale as bg, seriesShownOn as bh, type PaneInfo as bi, type DrawingToolDefaults as bj, type DrawingToolTemplate as bk, type VelaTheme as c, type MarketSession as d, type IChartRenderer as e, type RendererDisplayOptions as f, type IndicatorRenderHandle as g, type IndicatorStatus as h, type RendererRootAttributes as i, type Pane as j, type PaneAction as k, type MoveTarget as l, type IndicatorModel as m, type ScenePatch as n, type SymbolPickerFn as o, type LegendActionView as p, type LegendCalloutView as q, type InputChangeEvent as r, type ClickEvent as s, type TimelineMark as t, type MarkGroup as u, type MarkClickEvent as v, type DataWindowReadout as w, type IDrawingsRendererPort as x, type Millis as y, type SnapMode as z };
|