@luxalgo/vela 0.6.4 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -16
- package/dist/{DataProvider-DrN7ZIou.d.cts → DataProvider-DDUYw2qP.d.cts} +1 -1
- package/dist/{DataProvider-BmHkcwvJ.d.ts → DataProvider-JJq7M2it.d.ts} +1 -1
- package/dist/{history-CvOtsjT5.d.ts → bottombar-COnL2Sk4.d.ts} +110 -127
- package/dist/{history-BmyjaVir.d.cts → bottombar-DeDXbF_K.d.cts} +110 -127
- package/dist/{chunk-6FA4TDUF.js → chunk-JQFO2WMU.js} +2666 -2333
- package/dist/{chunk-BEJ57HP4.js → chunk-OEUGUXL7.js} +14 -1
- package/dist/{chunk-3QX6QOCX.js → chunk-TMXK2SJR.js} +5852 -3340
- package/dist/{contributions-2bEmCF9S.d.cts → contributions-BqCIsbaP.d.ts} +108 -4
- package/dist/{contributions-DatoAzMx.d.ts → contributions-DNMqrAuw.d.cts} +108 -4
- package/dist/index.cjs +2681 -2332
- package/dist/index.d.cts +65 -14
- package/dist/index.d.ts +65 -14
- package/dist/index.js +2 -2
- package/dist/{options-YdiaaVjt.d.cts → options-BaVTMXaO.d.cts} +48 -2
- package/dist/{options-YdiaaVjt.d.ts → options-BaVTMXaO.d.ts} +48 -2
- package/dist/{plugin-CkiStRaI.d.cts → plugin-CN8U2__Q.d.cts} +11 -5
- package/dist/{plugin-BeCMF1VQ.d.ts → plugin-WnvNNJOp.d.ts} +11 -5
- package/dist/plugin.cjs +16 -0
- package/dist/plugin.d.cts +4 -4
- package/dist/plugin.d.ts +4 -4
- package/dist/plugin.js +1 -1
- package/dist/providers/binance.d.cts +2 -2
- package/dist/providers/binance.d.ts +2 -2
- package/dist/providers/coinbase.d.cts +2 -2
- package/dist/providers/coinbase.d.ts +2 -2
- package/dist/providers/hyperliquid.d.cts +2 -2
- package/dist/providers/hyperliquid.d.ts +2 -2
- package/dist/ui.d.cts +1 -1
- package/dist/ui.d.ts +1 -1
- package/dist/vela.global.js +2661 -2312
- package/dist/vela.global.min.js +48 -48
- package/dist/widget.cjs +35658 -34074
- package/dist/widget.d.cts +39 -271
- package/dist/widget.d.ts +39 -271
- package/dist/widget.js +60 -1313
- package/dist/workspace.cjs +1584 -960
- package/dist/workspace.d.cts +111 -15
- package/dist/workspace.d.ts +111 -15
- package/dist/workspace.js +6 -2281
- package/package.json +1 -1
package/dist/widget.d.ts
CHANGED
|
@@ -1,288 +1,54 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export {
|
|
3
|
-
import { b as VelaOptions, d as MarketSession, r as DataWindowReadout } from './options-
|
|
1
|
+
import { V as Vela, W as WidgetContext, A as SidePanelButton } from './contributions-BqCIsbaP.js';
|
|
2
|
+
export { C as CellStateContext, an as DEFAULT_PANEL_ORDER, E as ExternalIndicatorEntry, G as SidePanelDescriptor, H as SidePanelHandle, K as StatePersistenceHandler, Z as WidgetActionDescriptor, _ as WidgetActionTarget, $ as WidgetAttachment, a7 as registerSidePanel, a8 as registerStatePersistence, a9 as registerWidgetAction, aa as registerWidgetAttachment, ac as sidePanels, ad as statePersistenceHandlers, ah as unregisterSidePanel, ai as unregisterStatePersistence, aj as unregisterWidgetAction, ak as unregisterWidgetAttachment, al as widgetActions, am as widgetAttachments } from './contributions-BqCIsbaP.js';
|
|
3
|
+
import { b as VelaOptions, d as MarketSession, T as ThemeName, c as VelaTheme, r as DataWindowReadout } from './options-BaVTMXaO.js';
|
|
4
|
+
import { b as VelaShellOptions, W as WidgetHistory, a as RangePreset, e as WorkspaceState, P as PanelsState } from './bottombar-COnL2Sk4.js';
|
|
5
|
+
export { B as Bottombar, i as BottombarOptions, C as CellState, f as ChartState, I as IndicatorLoader, j as IndicatorManifest, k as IndicatorManifestEntry, l as RANGE_PRESETS, R as ResolvedIndicator, V as VelaStorage, m as WidgetStorage, g as decodeState, h as encodeState, n as localStorageAdapter, r as resolveIndicators, s as sanitizeState } from './bottombar-COnL2Sk4.js';
|
|
4
6
|
import { K as KeymapManager } from './keymap-CGOz5F5f.js';
|
|
5
|
-
import {
|
|
6
|
-
export { B as Bottombar, j as BottombarOptions, C as CellState, f as ChartState, I as IndicatorLoader, k as IndicatorManifest, l as IndicatorManifestEntry, m as RANGE_PRESETS, R as ResolvedIndicator, V as VelaStorage, n as WidgetStorage, g as decodeState, h as encodeState, o as legacyWidgetState, p as loadPersisted, q as localStorageAdapter, r as parsePersisted, t as resolveIndicators, s as sanitizeState, u as savePersisted } from './history-CvOtsjT5.js';
|
|
7
|
-
import { a as SymbolDescriptor } from './DataProvider-BmHkcwvJ.js';
|
|
7
|
+
import { a as SymbolDescriptor } from './DataProvider-JJq7M2it.js';
|
|
8
8
|
import { d as SidePanel } from './side-panel-CT9ZwIGz.js';
|
|
9
9
|
export { D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-CT9ZwIGz.js';
|
|
10
10
|
|
|
11
11
|
interface VelaWidgetOptions extends VelaOptions, VelaShellOptions {
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
12
|
+
/** @deprecated No longer supported — the option is ignored (a console warning
|
|
13
|
+
* says so). Mirror `getState()` into your own URL scheme if you need links. */
|
|
14
14
|
urlState?: boolean;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Use {@link VelaWorkspace} with `layout: false` — the same chart, the
|
|
18
|
+
* same options, the same persisted state (pass `persist: 'vela-widget'` to keep
|
|
19
|
+
* reading this class's storage key). This wrapper delegates everything and will be
|
|
20
|
+
* removed in a future release.
|
|
21
|
+
*/
|
|
16
22
|
declare class VelaWidget {
|
|
17
|
-
readonly
|
|
18
|
-
/** The shortcut system — widget modules and plugins register their bindings here. */
|
|
19
|
-
readonly keymap: KeymapManager;
|
|
20
|
-
private readonly opts;
|
|
21
|
-
private readonly chartHost;
|
|
22
|
-
private readonly topbar;
|
|
23
|
-
private readonly statusline;
|
|
24
|
-
/** Keeps the statusline's market badge on the symbol's real calendar (see {@link MarketStatusTracker}). */
|
|
25
|
-
private readonly marketStatus;
|
|
26
|
-
/** Keeps the pre/post-market shading on the symbol's real calendar (see {@link SessionShadingTracker}). */
|
|
27
|
-
private readonly sessionShading;
|
|
28
|
-
/** Whether the ACTIVE symbol declares real trading sessions (RTH/ETH meaningful) —
|
|
29
|
-
* gates the bottombar toggle and the settings dialog's Trading session group. */
|
|
30
|
-
private sessionsAvailable;
|
|
31
|
-
private readonly watermark;
|
|
32
|
-
private readonly bottombar;
|
|
33
|
-
private readonly objectTree;
|
|
34
|
-
private readonly dataWindow;
|
|
35
|
-
/** The side-panel column: the two panels above, plus every contributed one. */
|
|
36
|
-
private readonly dock;
|
|
37
|
-
private shortcutsHelp;
|
|
38
|
-
private readonly contextMenu;
|
|
39
|
-
private readonly symbolPicker;
|
|
40
|
-
/** Null when the host disabled it (`indicatorPicker: false`). */
|
|
41
|
-
private readonly indicatorPicker;
|
|
42
|
-
private readonly tfQuick;
|
|
43
|
-
private inner;
|
|
44
|
-
/** The manifest library (loaded once). */
|
|
45
|
-
private manifest;
|
|
46
|
-
/** Live instances — the SAME entry may be added several times. */
|
|
47
|
-
private instances;
|
|
48
|
-
/** Native-indicator catalog of the CURRENT chart (refreshed per rebuild/change). */
|
|
49
|
-
private nativeCatalog;
|
|
50
|
-
/** Present native types, mirrored SYNC from the chart (see syncPresentNatives). */
|
|
51
|
-
private presentNatives;
|
|
52
|
-
private readonly storageKey;
|
|
53
|
-
private readonly storage;
|
|
54
|
-
private openDialogs;
|
|
55
|
-
private readonly onRootKeydown;
|
|
56
|
-
private symbol;
|
|
57
|
-
private timeframe;
|
|
58
|
-
private priceStyle;
|
|
59
|
-
private timezone;
|
|
60
|
-
private bars;
|
|
61
|
-
/** The shown trading session — undefined = the provider default (regular). */
|
|
62
|
-
private session;
|
|
63
|
-
private watermarkOn;
|
|
64
|
-
/** Indicator titles (the in-chart legend rows) shown — reapplied across rebuilds. */
|
|
65
|
-
private indicatorTitlesOn;
|
|
66
|
-
/** Plot values beside the legend titles shown — reapplied across rebuilds. */
|
|
67
|
-
private indicatorValuesOn;
|
|
68
|
-
private pendingRange;
|
|
69
|
-
/** Symbol already reported as unservable (the core re-reports on every index settle). */
|
|
70
|
-
private unresolvedToasted;
|
|
71
|
-
/** Extra fetch depth the ACTIVE range chip needs — a view concern, kept apart from the
|
|
72
|
-
* user's own `bars` setting so a preset never overwrites their preference. */
|
|
73
|
-
private rangeBars;
|
|
74
|
-
private toast;
|
|
75
|
-
private alerts;
|
|
76
|
-
private alertsMenu;
|
|
77
|
-
private readonly glider;
|
|
78
|
-
/** Unified app+drawings undo timeline (Ctrl+Z / Ctrl+Y). Late-resolves the CURRENT
|
|
79
|
-
* inner chart so steps recorded before a rebuild never act on a destroyed instance. */
|
|
80
|
-
readonly history: WidgetHistory;
|
|
81
|
-
private lastCrossPrice;
|
|
82
|
-
private lastCrossTime;
|
|
83
|
-
/** Renderer cosmetic template carried across rebuilds (and persisted when enabled). */
|
|
84
|
-
private savedConfig;
|
|
85
|
-
/** User-drawings document carried across rebuilds (and persisted when enabled). */
|
|
86
|
-
private savedDrawings;
|
|
87
|
-
/** A restored indicator ledger waiting for the manifest to resolve. */
|
|
88
|
-
private pendingIndicators;
|
|
89
|
-
/** Volume presence decided by a RESTORED ledger (null = follow the option). */
|
|
90
|
-
private ledgerVolume;
|
|
91
|
-
/** The manifest can no longer change the instance set: it resolved, or no `indicators`
|
|
92
|
-
* option exists so nothing will ever resolve. Gates the ledger's pending fallback —
|
|
93
|
-
* once settled, a live empty set means "the user removed everything" and persists so. */
|
|
94
|
-
private manifestSettled;
|
|
95
|
-
/** The volume auto-add rides the first candles (`load:end`); until then the registry
|
|
96
|
-
* can't show it and the persisted ledger reports the INTENT instead. */
|
|
97
|
-
private volumeMayBePending;
|
|
98
|
-
/** True when the boot state came from the LEGACY three-key layout — the first
|
|
99
|
-
* unified save then drops the old `:config`/`:drawings` sub-keys. */
|
|
100
|
-
private legacyKeys;
|
|
101
|
-
private stateTimer;
|
|
102
|
-
private readonly stateListeners;
|
|
103
|
-
/** Favorite drawing-tool types — mirrored from chart events, reapplied on rebuilds. */
|
|
104
|
-
private favs;
|
|
105
|
-
/** Favorite timeframes — the topbar's quick-switch chips, persisted with the shell. */
|
|
106
|
-
private tfFavs;
|
|
107
|
-
/** Mounted attachment disposers (by id), torn down at destroy. */
|
|
108
|
-
private readonly attachmentDisposers;
|
|
109
|
-
private readonly onUnload;
|
|
110
|
-
private indicatorsPromise;
|
|
111
|
-
private destroyed;
|
|
112
|
-
private buildSeq;
|
|
113
|
-
/** The chrome size class — writes `data-layout` on the root (all mobile CSS keys
|
|
114
|
-
* off it) and pushes the mode into the renderer chrome on every change/rebuild. */
|
|
115
|
-
private layoutCtl;
|
|
116
|
-
private readonly mobileBar;
|
|
117
|
-
private readonly drawingPill;
|
|
118
|
-
private tfDrawer;
|
|
119
|
-
private drawingsDrawer;
|
|
120
|
-
private moreDrawer;
|
|
121
|
-
private timezoneDrawer;
|
|
122
|
-
private priceScaleDrawer;
|
|
123
|
-
/** Plot-local y of the last price-axis long-press (targets the pane under the finger). */
|
|
124
|
-
private priceScalePressY;
|
|
125
|
-
/** The active range chip id (both bottom bars + the timeframe drawer mirror it). */
|
|
126
|
-
private activeRangeId;
|
|
23
|
+
private readonly ws;
|
|
127
24
|
constructor(container: HTMLElement | string, opts: VelaWidgetOptions);
|
|
128
|
-
/** The
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
private openPriceScaleDrawer;
|
|
137
|
-
/** Mount registered attachments not yet mounted on this widget (idempotent per id). */
|
|
138
|
-
private mountAttachments;
|
|
139
|
-
/** The context handed to contributed actions (see `registerWidgetAction`). */
|
|
25
|
+
/** The shell root element (the workspace root; carries `vela-widget` as an alias). */
|
|
26
|
+
get root(): HTMLElement;
|
|
27
|
+
get keymap(): KeymapManager;
|
|
28
|
+
/** The chart's unified undo timeline — resolve it fresh, never cache it. */
|
|
29
|
+
get history(): WidgetHistory;
|
|
30
|
+
/** The inner headless chart. */
|
|
31
|
+
get chart(): Vela;
|
|
32
|
+
/** A fresh contribution context (the workspace's is a superset of the widget's). */
|
|
140
33
|
context(): WidgetContext;
|
|
141
|
-
/** The recent engine alerts (topbar bell). */
|
|
142
|
-
private openAlertsMenu;
|
|
143
|
-
/** Re-project contributed topbar actions and side panels (after late registrations). */
|
|
144
34
|
refreshActions(): void;
|
|
145
|
-
/** The inner headless chart of the CURRENT build — becomes a new instance after a
|
|
146
|
-
* symbol/timeframe change; don't cache it across awaits. */
|
|
147
|
-
get chart(): Vela;
|
|
148
|
-
/** Chrome that must follow the timeframe wherever it changes from (menu, quick entry,
|
|
149
|
-
* range chip, API). Keeping it in one place is what stopped the status line from
|
|
150
|
-
* drifting out of sync with the topbar. */
|
|
151
|
-
private syncTimeframeChrome;
|
|
152
|
-
/**
|
|
153
|
-
* The venue label to show: the LISTING prefix the resolved symbol's data declares
|
|
154
|
-
* (`NASDAQ` for AAPL), else the provider that RESOLVED the symbol — never the one
|
|
155
|
-
* configured or typed. They differ whenever the `provider` option is just a default,
|
|
156
|
-
* the prefix was a listing venue, or the spelling isn't registered — the status line
|
|
157
|
-
* must not claim a venue that served nothing.
|
|
158
|
-
*/
|
|
159
|
-
private providerLabel;
|
|
160
|
-
setTimeframe(tf: string): void;
|
|
161
|
-
/**
|
|
162
|
-
* Switch the shown trading session (RTH/ETH) in place — a full reload, like a
|
|
163
|
-
* timeframe change (the two sessions are different bar series). No-op on a chart
|
|
164
|
-
* already showing that session; meaningless on continuous markets (the toggle is
|
|
165
|
-
* disabled there, but the API tolerates the call — the provider ignores the flag).
|
|
166
|
-
*/
|
|
167
|
-
setSession(session: MarketSession): void;
|
|
168
|
-
/** Re-derive the session chrome from the ACTIVE symbol's metadata: the RTH/ETH
|
|
169
|
-
* toggle shows (and the settings dialog's Trading session group appears) iff the
|
|
170
|
-
* resolved symbol declares a real session vocabulary (not `24x7`); the pre/post
|
|
171
|
-
* shading re-derives for the new market either way. */
|
|
172
|
-
private refreshSessionToggle;
|
|
173
|
-
/** (Re)derive the pre/post-market shading bands for the current market. The loaded
|
|
174
|
-
* depth (bars × timeframe) bounds the calendar fetch; the tracker clamps it. */
|
|
175
|
-
private refreshSessionShading;
|
|
176
|
-
/** The session-shade colors live in the renderer CONFIG (persisted with it, edited
|
|
177
|
-
* live by the dialog swatch) — the widget only proxies them into its settings rows. */
|
|
178
|
-
private sessionShadeColor;
|
|
179
|
-
private setSessionShadeColor;
|
|
180
|
-
/**
|
|
181
|
-
* (Re)contribute the widget's settings-dialog sections: status line parts, the fetch
|
|
182
|
-
* depth, the watermark toggle, and — only while the active symbol HAS sessions — the
|
|
183
|
-
* Trading session group (RTH/ETH switch + the pre/post-market shading colors) inside
|
|
184
|
-
* the Symbol tab. Re-run whenever a gate changes (the dialog reads them on open).
|
|
185
|
-
*/
|
|
186
|
-
private pushSettingsSections;
|
|
187
|
-
/** Star/unstar a timeframe — the topbar chips and dropdown stars follow, and the
|
|
188
|
-
* set persists with the rest of the shell state. */
|
|
189
|
-
private setTimeframeFavorite;
|
|
190
|
-
/**
|
|
191
|
-
* Switch the chart symbol in place. An `EXCHANGE:` prefix pins the venue (the
|
|
192
|
-
* symbol picker composes one from the row the user pointed at) — a bare ticker
|
|
193
|
-
* resolves against the registered providers in declaration order.
|
|
194
|
-
*/
|
|
195
35
|
setSymbol(symbol: string): void;
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
* display prefs, the renderer config document, the user-drawings document, and
|
|
200
|
-
* the indicator ledger. This is what `persist` writes; hosts build custom flows
|
|
201
|
-
* on it (server snapshots, share links, templates) — and a saved widget state
|
|
202
|
-
* drops into a workspace slot as-is.
|
|
203
|
-
*/
|
|
204
|
-
getState(): WorkspaceState;
|
|
205
|
-
/**
|
|
206
|
-
* Restore a state document produced by {@link getState} — or by a WORKSPACE (the
|
|
207
|
-
* first cell of a multi-cell document applies). Untrusted-safe: malformed fields
|
|
208
|
-
* are dropped. Applied IN PLACE: the chart instance survives (market switches via
|
|
209
|
-
* `setMarket`), config/drawings/indicators are replaced. With `urlState` enabled,
|
|
210
|
-
* URL params still win over the document's market/prefs fields.
|
|
211
|
-
*/
|
|
212
|
-
applyState(state: unknown): void;
|
|
213
|
-
/** Subscribe to `state:changed` — the persistable state changed (debounced ~500ms);
|
|
214
|
-
* re-pull {@link getState}. Returns an unsubscribe function. */
|
|
215
|
-
on(event: 'state:changed', handler: () => void): () => void;
|
|
216
|
-
/** Replace the indicator ledger: natives converge to the listed set (volume
|
|
217
|
-
* included — removing it sticks, the core's auto-add respects the opt-out),
|
|
218
|
-
* manifest instances are re-created by name — held until the manifest resolves. */
|
|
219
|
-
private applyIndicatorLedger;
|
|
220
|
-
/** SYNC boot fallback: a LEGACY three-key payload read at construction. */
|
|
221
|
-
private bootLegacySync;
|
|
222
|
-
/** ASYNC boot: resolve the unified document (or migrate a legacy payload), then
|
|
223
|
-
* late-apply it — the widget built with option defaults in the meantime. */
|
|
224
|
-
private bootAsync;
|
|
225
|
-
/** Show/hide the symbol watermark behind the chart (persisted). */
|
|
36
|
+
setTimeframe(timeframe: string): void;
|
|
37
|
+
setSession(session: MarketSession): void;
|
|
38
|
+
setPriceStyle(style: string): void;
|
|
226
39
|
setWatermarkVisible(visible: boolean): void;
|
|
227
|
-
/** Show/hide the indicator titles — the in-chart legend rows (persisted). */
|
|
228
40
|
setIndicatorTitlesVisible(visible: boolean): void;
|
|
229
|
-
/** Show/hide the plot values beside every indicator's legend title (persisted). */
|
|
230
41
|
setIndicatorValuesVisible(visible: boolean): void;
|
|
231
|
-
|
|
232
|
-
setPriceStyle(style: string): void;
|
|
233
|
-
/** OHLC/change ink in the status line follows the ACTIVE price style's configured
|
|
234
|
-
* colors and direction rule (candle bodies by close-vs-open, baseline by position
|
|
235
|
-
* against the live baseline price, …) instead of the fixed theme tokens. */
|
|
236
|
-
private syncStatuslineColors;
|
|
237
|
-
/** The widget shell (topbar, panels) keeps the app theme; the chart host's tokens
|
|
238
|
-
* re-derive from the LIVE plot surface (see {@link applyPlotOverlayTokens}). */
|
|
239
|
-
private syncPlotOverlayTokens;
|
|
240
|
-
/**
|
|
241
|
-
* Swap the widget theme at runtime — `'dark'`, `'light'`, or a full custom theme.
|
|
242
|
-
* Applied LIVE: the inner chart re-skins through `Vela.setTheme` and its
|
|
243
|
-
* `theme:changed` event re-tokens the widget chrome (topbar, menus, panels) in
|
|
244
|
-
* place; the choice also persists into rebuilds. Same switch the user reaches from
|
|
245
|
-
* chart settings → Canvas → Theme.
|
|
246
|
-
*/
|
|
247
|
-
setTheme(theme: NonNullable<VelaOptions['theme']>): void;
|
|
248
|
-
/** Applied LIVE (renderer feature) — no rebuild; persists across rebuilds. */
|
|
42
|
+
setTheme(theme: ThemeName | VelaTheme): void;
|
|
249
43
|
setTimezone(zone: string): void;
|
|
250
|
-
/**
|
|
251
|
-
* Range chip: switch to the preset's timeframe, fetch enough history for its window,
|
|
252
|
-
* and frame it once ready. The in-place `setMarket` loads the depth, so it also runs
|
|
253
|
-
* when only the DEPTH grows (same timeframe, deeper window).
|
|
254
|
-
*/
|
|
255
44
|
applyRange(preset: RangePreset): void;
|
|
45
|
+
/** The unified state document (`layout: '1'`, one cell). */
|
|
46
|
+
getState(): WorkspaceState;
|
|
47
|
+
/** Restore a state document IN PLACE — the chart instance survives. */
|
|
48
|
+
applyState(state: unknown): void;
|
|
49
|
+
/** Subscribe to `state:changed` (the only widget event — unknown names no-op). */
|
|
50
|
+
on(event: 'state:changed', handler: () => void): () => void;
|
|
256
51
|
destroy(): void;
|
|
257
|
-
/** Destroy + recreate the inner chart with the current symbol/timeframe, then
|
|
258
|
-
* re-register providers/engines, rebind chrome, and re-add manifest indicators. */
|
|
259
|
-
private rebuild;
|
|
260
|
-
/** Refresh the native catalog (supported/present flags) for the current chart. */
|
|
261
|
-
private refreshNativeCatalog;
|
|
262
|
-
/** Add a native indicator (single-instance per type — the core dedupes). */
|
|
263
|
-
private addNative;
|
|
264
|
-
private removeNative;
|
|
265
|
-
/** Sync mirror of the chart's present native types — the removal handler diffs
|
|
266
|
-
* against it to identify (and record) whichever type was just removed. */
|
|
267
|
-
private syncPresentNatives;
|
|
268
|
-
/** Add ONE instance of a manifest entry (repeatable — duplicates are legitimate). */
|
|
269
|
-
private addInstance;
|
|
270
|
-
/** Remove one live instance (picker trash). */
|
|
271
|
-
private removeInstance;
|
|
272
|
-
private dropInstance;
|
|
273
|
-
private syncIndicatorCount;
|
|
274
|
-
private addToChart;
|
|
275
|
-
/** Bare-typing router: letters → symbol search (seeded), digits → timeframe entry. */
|
|
276
|
-
private routeTyping;
|
|
277
|
-
private trackDialog;
|
|
278
|
-
private downloadScreenshot;
|
|
279
|
-
/** The persistable state changed: debounce (~500ms), then notify `state:changed`
|
|
280
|
-
* listeners and flush — the same cadence as the workspace. */
|
|
281
|
-
private markStateDirty;
|
|
282
|
-
/** Write the unified state document through the adapter (persist mode only) — also
|
|
283
|
-
* the unload/destroy flush. The first save after a LEGACY boot rewrites the main
|
|
284
|
-
* key in the unified format and drops the old `:config`/`:drawings` sub-keys. */
|
|
285
|
-
private persistNow;
|
|
286
52
|
}
|
|
287
53
|
|
|
288
54
|
/** The current layout's footprint on the canvas (mirrors the workspace's LayoutShape). */
|
|
@@ -521,6 +287,7 @@ declare class SymbolPicker {
|
|
|
521
287
|
private seed;
|
|
522
288
|
private activeTab;
|
|
523
289
|
private tabs;
|
|
290
|
+
private visible;
|
|
524
291
|
constructor(opts: SymbolPickerOptions);
|
|
525
292
|
/** Wire where symbols come from (re-called on every widget rebuild). */
|
|
526
293
|
setSource(source: () => readonly SymbolDescriptor[]): void;
|
|
@@ -530,7 +297,11 @@ declare class SymbolPicker {
|
|
|
530
297
|
private select;
|
|
531
298
|
private moveHighlight;
|
|
532
299
|
private renderHighlight;
|
|
300
|
+
private computeRows;
|
|
533
301
|
private refresh;
|
|
302
|
+
/** Append the page the grown `visible` just uncovered — rows already on screen stay put. */
|
|
303
|
+
private grow;
|
|
304
|
+
private rowEl;
|
|
534
305
|
}
|
|
535
306
|
|
|
536
307
|
interface IndicatorRow {
|
|
@@ -585,9 +356,6 @@ declare class TimeframeQuick {
|
|
|
585
356
|
private renderHint;
|
|
586
357
|
}
|
|
587
358
|
|
|
588
|
-
declare function readUrlState(search: string): PersistedState;
|
|
589
|
-
declare function writeUrlState(state: PersistedState): void;
|
|
590
|
-
|
|
591
359
|
/** What the dock needs from whatever chrome shows its toggles. */
|
|
592
360
|
interface PanelChrome {
|
|
593
361
|
/** Replace the panel toggle group (dock order). `onClick` receives the panel id. */
|
|
@@ -917,4 +685,4 @@ declare function fmtPrice(n: number | null | undefined, dp?: number): string;
|
|
|
917
685
|
/** Signed change + percent ("+123.45 (+1.23%)") from open→close; `''` when unavailable. */
|
|
918
686
|
declare function fmtChange(open: number | null | undefined, close: number | null | undefined): string;
|
|
919
687
|
|
|
920
|
-
export { type BuiltInPanel, ChartContextMenu, type ContextMenuCallbacks, DataWindow, type DataWindowLine, type DataWindowSection, IndicatorPicker, type IndicatorPickerOptions, type IndicatorRow, ObjectTree, type PanelChrome, PanelDock, type PanelDockDeps, PanelsState, type ParsedTimeframe,
|
|
688
|
+
export { type BuiltInPanel, ChartContextMenu, type ContextMenuCallbacks, DataWindow, type DataWindowLine, type DataWindowSection, IndicatorPicker, type IndicatorPickerOptions, type IndicatorRow, ObjectTree, type PanelChrome, PanelDock, type PanelDockDeps, PanelsState, type ParsedTimeframe, RangePreset, ShortcutsHelp, SidePanel, SidePanelButton, Statusline, SymbolPicker, type SymbolPickerOptions, TIMEZONES, TimeframeQuick, type TimeframeQuickOptions, type TimezoneEntry, Topbar, type TopbarOptions, VelaShellOptions, VelaWidget, type VelaWidgetOptions, Watermark, WidgetContext, WorkspaceState, dataWindowSections, decimalsFor, filterSymbols, fmtChange, fmtPrice, normalizeTimezone, parseTimeframe, priceStyleLabel, timeframeLabel, timeframeMs, tzButtonLabel, tzMenuLabel, tzOffset };
|