@luxalgo/vela 0.6.13 → 0.6.15

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.
Files changed (49) hide show
  1. package/NOTICE +28 -28
  2. package/README.md +1 -1
  3. package/dist/{DataProvider-DhzstpQb.d.ts → DataProvider-XLdJB86x.d.ts} +1 -1
  4. package/dist/{DataProvider-DlMtrwqM.d.cts → DataProvider-xH2VBcFT.d.cts} +1 -1
  5. package/dist/{chunk-F4M24ANM.js → chunk-32A7KHFM.js} +73 -3
  6. package/dist/{chunk-KG4YT3TI.js → chunk-6DPAYEGO.js} +8 -1
  7. package/dist/{chunk-G52XAKZY.js → chunk-7C7NWEXH.js} +345 -148
  8. package/dist/{chunk-JKGA36ZM.js → chunk-J5QIR2Z3.js} +165 -130
  9. package/dist/{chunk-MHY7MVXH.js → chunk-MWDNPGU3.js} +7 -1
  10. package/dist/{chunk-G77Y7LK2.js → chunk-MWS4CUJL.js} +2 -2
  11. package/dist/{contributions-37nni40G.d.ts → contributions-h5BzEiV2.d.ts} +13 -2
  12. package/dist/{contributions-lPojhTxI.d.cts → contributions-x7iamlnd.d.cts} +13 -2
  13. package/dist/index.cjs +176 -127
  14. package/dist/index.d.cts +20 -12
  15. package/dist/index.d.ts +20 -12
  16. package/dist/index.js +4 -4
  17. package/dist/{options-CYS5Wmlx.d.ts → options-bdSAtp7y.d.cts} +5 -0
  18. package/dist/{options-CYS5Wmlx.d.cts → options-bdSAtp7y.d.ts} +5 -0
  19. package/dist/{plugin-Cwikpz1m.d.cts → plugin-2sJcf5mk.d.cts} +11 -8
  20. package/dist/{plugin-DHyaoMjW.d.ts → plugin-BLaNPh55.d.ts} +11 -8
  21. package/dist/plugin.cjs +8 -0
  22. package/dist/plugin.d.cts +5 -5
  23. package/dist/plugin.d.ts +5 -5
  24. package/dist/plugin.js +2 -2
  25. package/dist/providers/binance.d.cts +2 -2
  26. package/dist/providers/binance.d.ts +2 -2
  27. package/dist/providers/coinbase.d.cts +2 -2
  28. package/dist/providers/coinbase.d.ts +2 -2
  29. package/dist/providers/hyperliquid.d.cts +2 -2
  30. package/dist/providers/hyperliquid.d.ts +2 -2
  31. package/dist/{side-panel-CT9ZwIGz.d.cts → side-panel-HF0IAzwf.d.cts} +17 -0
  32. package/dist/{side-panel-CT9ZwIGz.d.ts → side-panel-HF0IAzwf.d.ts} +17 -0
  33. package/dist/{statusline-model-D-q_OOx9.d.ts → statusline-model--tH0VWCy.d.cts} +6 -4
  34. package/dist/{statusline-model-CiJm-riV.d.cts → statusline-model-CLpaO3Dl.d.ts} +6 -4
  35. package/dist/ui.cjs +12 -0
  36. package/dist/ui.d.cts +1 -1
  37. package/dist/ui.d.ts +1 -1
  38. package/dist/ui.js +3 -3
  39. package/dist/vela.global.js +176 -127
  40. package/dist/vela.global.min.js +52 -46
  41. package/dist/widget.cjs +587 -272
  42. package/dist/widget.d.cts +15 -11
  43. package/dist/widget.d.ts +15 -11
  44. package/dist/widget.js +7 -7
  45. package/dist/workspace.cjs +587 -272
  46. package/dist/workspace.d.cts +29 -10
  47. package/dist/workspace.d.ts +29 -10
  48. package/dist/workspace.js +6 -6
  49. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
- import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, I as InputValue, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-CYS5Wmlx.cjs';
2
- import { S as SyncSetting, V as VelaStorage, C as CellState, W as WidgetHistory, R as ResolvedIndicator, a as StatuslinePart, b as RangePreset, T as TrackSizes, c as VelaShellOptions, d as SyncOptions, e as SyncKind, f as WorkspaceState } from './statusline-model-CiJm-riV.cjs';
3
- export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-CiJm-riV.cjs';
1
+ import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, I as InputValue, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-bdSAtp7y.cjs';
2
+ import { S as SyncSetting, V as VelaStorage, C as CellState, W as WidgetHistory, R as ResolvedIndicator, a as StatuslinePart, b as RangePreset, T as TrackSizes, c as VelaShellOptions, d as SyncOptions, e as SyncKind, f as WorkspaceState } from './statusline-model--tH0VWCy.cjs';
3
+ export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model--tH0VWCy.cjs';
4
4
  import { K as KeymapManager } from './keymap-CGOz5F5f.cjs';
5
- import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, a as ScriptRun } from './contributions-lPojhTxI.cjs';
6
- import { M as MarketDataFeed } from './DataProvider-DlMtrwqM.cjs';
5
+ import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, a as ScriptRun } from './contributions-x7iamlnd.cjs';
6
+ import { M as MarketDataFeed } from './DataProvider-xH2VBcFT.cjs';
7
7
 
8
8
  /** The cells that follow `originId` under `setting` — PURE (never includes the origin). */
9
9
  declare function syncTargets(originId: string, setting: SyncSetting | undefined, cellIds: readonly string[]): string[];
@@ -161,6 +161,9 @@ declare class ChartCell {
161
161
  activeRangeId: string | null;
162
162
  /** Latched verdict of {@link sessionAvailable} (async metadata, sticky per symbol). */
163
163
  private sessionAvailableFlag;
164
+ /** Latched: the symbol's extended tape wraps midnight (an overnight roll market) —
165
+ * one extended-hours shading phase instead of the pre/post split. */
166
+ private sessionOvernightFlag;
164
167
  private inner;
165
168
  /** The live app theme — seeded from deps, updated on `theme:changed` (the base the
166
169
  * plot-overlay tokens re-derive from). */
@@ -168,7 +171,7 @@ declare class ChartCell {
168
171
  private readonly statusline;
169
172
  /** Keeps this cell's market badge on the symbol's real calendar (see {@link MarketStatusTracker}). */
170
173
  private readonly marketStatus;
171
- /** Keeps the pre/post-market shading on the symbol's real calendar (see {@link SessionShadingTracker}). */
174
+ /** Keeps the session shading on the symbol's real calendar (see {@link SessionShadingTracker}). */
172
175
  private readonly sessionShading;
173
176
  private readonly watermark;
174
177
  /** Bottom-center hover cluster, pinned to the price plot: drag handle, zoom in/out, maximize/restore, reset view. */
@@ -238,10 +241,11 @@ declare class ChartCell {
238
241
  /**
239
242
  * (Re)contribute this cell's settings-dialog sections: status line parts, the
240
243
  * per-cell fetch depth, the watermark toggle, and — only while the cell's symbol
241
- * HAS sessions — the Trading session group (RTH/ETH switch + the pre/post-market
242
- * shading colors) inside the Symbol tab. Bars/watermark/titles are persistable
243
- * cell state; a depth-only reload is silent, so mark dirty here. Re-run whenever
244
- * a gate changes (the dialog reads the sections on open).
244
+ * HAS sessions — the Trading session group (RTH/ETH switch + the session shading
245
+ * colors: pre/post-market on day-split tapes, one extended-hours swatch on
246
+ * overnight roll markets) inside the Symbol tab. Bars/watermark/titles are
247
+ * persistable cell state; a depth-only reload is silent, so mark dirty here.
248
+ * Re-run whenever a gate changes (the dialog reads the sections on open).
245
249
  */
246
250
  private pushSettingsSections;
247
251
  /** Show/hide this cell's symbol watermark (persisted per cell). */
@@ -297,6 +301,8 @@ declare class ChartCell {
297
301
  setControlsSuspended(on: boolean): void;
298
302
  /** Make this cell the active one and put keyboard focus on its chart surface. */
299
303
  focus(): void;
304
+ /** Raster of this cell's chart (same pixels as the PNG download), or null. */
305
+ screenshotCanvas(): HTMLCanvasElement | null;
300
306
  /** Download this cell's chart as a PNG (named after its market). */
301
307
  downloadScreenshot(): void;
302
308
  /**
@@ -693,6 +699,19 @@ declare class VelaWorkspace {
693
699
  /** Shortcut for `active.chart` — the same habit as `widget.chart`. LIVE: read it at
694
700
  * the point of use; the durable identity to hold is the cell (or its id). */
695
701
  get chart(): Vela;
702
+ /**
703
+ * PNG data URL of the visible layout: every live cell in its grid slot, or the
704
+ * maximized cell alone. Same pixels the screenshot button downloads. A single
705
+ * visible cell returns that cell's own chart export (the one-chart case).
706
+ */
707
+ screenshot(): string | null;
708
+ /** Download {@link screenshot} as a PNG. A multi-cell layout is named
709
+ * `vela-layout.png`; one visible cell keeps `${symbol}-${timeframe}.png`. */
710
+ downloadScreenshot(): void;
711
+ /** Live cells the screenshot should include — maximized siblings are `hidden`. */
712
+ private shotCells;
713
+ /** Place every cell's raster onto one canvas the size of the grid. */
714
+ private compositeLayoutShot;
696
715
  setActiveCell(id: string | null): void;
697
716
  on<K extends keyof WorkspaceEventMap>(event: K, handler: (payload: WorkspaceEventMap[K]) => void): () => void;
698
717
  /** The context handed to contributed actions/attachments (rebuilt per invocation). */
@@ -1,9 +1,9 @@
1
- import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, I as InputValue, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-CYS5Wmlx.js';
2
- import { S as SyncSetting, V as VelaStorage, C as CellState, W as WidgetHistory, R as ResolvedIndicator, a as StatuslinePart, b as RangePreset, T as TrackSizes, c as VelaShellOptions, d as SyncOptions, e as SyncKind, f as WorkspaceState } from './statusline-model-D-q_OOx9.js';
3
- export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-D-q_OOx9.js';
1
+ import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, I as InputValue, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-bdSAtp7y.js';
2
+ import { S as SyncSetting, V as VelaStorage, C as CellState, W as WidgetHistory, R as ResolvedIndicator, a as StatuslinePart, b as RangePreset, T as TrackSizes, c as VelaShellOptions, d as SyncOptions, e as SyncKind, f as WorkspaceState } from './statusline-model-CLpaO3Dl.js';
3
+ export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-CLpaO3Dl.js';
4
4
  import { K as KeymapManager } from './keymap-CGOz5F5f.js';
5
- import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, a as ScriptRun } from './contributions-37nni40G.js';
6
- import { M as MarketDataFeed } from './DataProvider-DhzstpQb.js';
5
+ import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, a as ScriptRun } from './contributions-h5BzEiV2.js';
6
+ import { M as MarketDataFeed } from './DataProvider-XLdJB86x.js';
7
7
 
8
8
  /** The cells that follow `originId` under `setting` — PURE (never includes the origin). */
9
9
  declare function syncTargets(originId: string, setting: SyncSetting | undefined, cellIds: readonly string[]): string[];
@@ -161,6 +161,9 @@ declare class ChartCell {
161
161
  activeRangeId: string | null;
162
162
  /** Latched verdict of {@link sessionAvailable} (async metadata, sticky per symbol). */
163
163
  private sessionAvailableFlag;
164
+ /** Latched: the symbol's extended tape wraps midnight (an overnight roll market) —
165
+ * one extended-hours shading phase instead of the pre/post split. */
166
+ private sessionOvernightFlag;
164
167
  private inner;
165
168
  /** The live app theme — seeded from deps, updated on `theme:changed` (the base the
166
169
  * plot-overlay tokens re-derive from). */
@@ -168,7 +171,7 @@ declare class ChartCell {
168
171
  private readonly statusline;
169
172
  /** Keeps this cell's market badge on the symbol's real calendar (see {@link MarketStatusTracker}). */
170
173
  private readonly marketStatus;
171
- /** Keeps the pre/post-market shading on the symbol's real calendar (see {@link SessionShadingTracker}). */
174
+ /** Keeps the session shading on the symbol's real calendar (see {@link SessionShadingTracker}). */
172
175
  private readonly sessionShading;
173
176
  private readonly watermark;
174
177
  /** Bottom-center hover cluster, pinned to the price plot: drag handle, zoom in/out, maximize/restore, reset view. */
@@ -238,10 +241,11 @@ declare class ChartCell {
238
241
  /**
239
242
  * (Re)contribute this cell's settings-dialog sections: status line parts, the
240
243
  * per-cell fetch depth, the watermark toggle, and — only while the cell's symbol
241
- * HAS sessions — the Trading session group (RTH/ETH switch + the pre/post-market
242
- * shading colors) inside the Symbol tab. Bars/watermark/titles are persistable
243
- * cell state; a depth-only reload is silent, so mark dirty here. Re-run whenever
244
- * a gate changes (the dialog reads the sections on open).
244
+ * HAS sessions — the Trading session group (RTH/ETH switch + the session shading
245
+ * colors: pre/post-market on day-split tapes, one extended-hours swatch on
246
+ * overnight roll markets) inside the Symbol tab. Bars/watermark/titles are
247
+ * persistable cell state; a depth-only reload is silent, so mark dirty here.
248
+ * Re-run whenever a gate changes (the dialog reads the sections on open).
245
249
  */
246
250
  private pushSettingsSections;
247
251
  /** Show/hide this cell's symbol watermark (persisted per cell). */
@@ -297,6 +301,8 @@ declare class ChartCell {
297
301
  setControlsSuspended(on: boolean): void;
298
302
  /** Make this cell the active one and put keyboard focus on its chart surface. */
299
303
  focus(): void;
304
+ /** Raster of this cell's chart (same pixels as the PNG download), or null. */
305
+ screenshotCanvas(): HTMLCanvasElement | null;
300
306
  /** Download this cell's chart as a PNG (named after its market). */
301
307
  downloadScreenshot(): void;
302
308
  /**
@@ -693,6 +699,19 @@ declare class VelaWorkspace {
693
699
  /** Shortcut for `active.chart` — the same habit as `widget.chart`. LIVE: read it at
694
700
  * the point of use; the durable identity to hold is the cell (or its id). */
695
701
  get chart(): Vela;
702
+ /**
703
+ * PNG data URL of the visible layout: every live cell in its grid slot, or the
704
+ * maximized cell alone. Same pixels the screenshot button downloads. A single
705
+ * visible cell returns that cell's own chart export (the one-chart case).
706
+ */
707
+ screenshot(): string | null;
708
+ /** Download {@link screenshot} as a PNG. A multi-cell layout is named
709
+ * `vela-layout.png`; one visible cell keeps `${symbol}-${timeframe}.png`. */
710
+ downloadScreenshot(): void;
711
+ /** Live cells the screenshot should include — maximized siblings are `hidden`. */
712
+ private shotCells;
713
+ /** Place every cell's raster onto one canvas the size of the grid. */
714
+ private compositeLayoutShot;
696
715
  setActiveCell(id: string | null): void;
697
716
  on<K extends keyof WorkspaceEventMap>(event: K, handler: (payload: WorkspaceEventMap[K]) => void): () => void;
698
717
  /** The context handed to contributed actions/attachments (rebuilt per invocation). */
package/dist/workspace.js CHANGED
@@ -1,7 +1,7 @@
1
- export { ChartCell, GRID_PICKER_MAX, VelaWorkspace, activeAfterLayout, decodeState, encodeState, ensureLayout, evenTracks, gridStyles, layoutDefinition, layoutForGrid, layoutShape, layouts, memoryStorageAdapter, rangesWithin, registerBuiltinLayouts, registerLayout, resizeTracks, sanitizeState, syncTargets, trackOffsets, unregisterLayout } from './chunk-G52XAKZY.js';
2
- import './chunk-JKGA36ZM.js';
3
- import './chunk-F4M24ANM.js';
4
- import './chunk-G77Y7LK2.js';
5
- import './chunk-MHY7MVXH.js';
6
- import './chunk-KG4YT3TI.js';
1
+ export { ChartCell, GRID_PICKER_MAX, VelaWorkspace, activeAfterLayout, decodeState, encodeState, ensureLayout, evenTracks, gridStyles, layoutDefinition, layoutForGrid, layoutShape, layouts, memoryStorageAdapter, rangesWithin, registerBuiltinLayouts, registerLayout, resizeTracks, sanitizeState, syncTargets, trackOffsets, unregisterLayout } from './chunk-7C7NWEXH.js';
2
+ import './chunk-J5QIR2Z3.js';
3
+ import './chunk-32A7KHFM.js';
4
+ import './chunk-MWS4CUJL.js';
5
+ import './chunk-MWDNPGU3.js';
6
+ import './chunk-6DPAYEGO.js';
7
7
  import './chunk-W4EJWLEO.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luxalgo/vela",
3
- "version": "0.6.13",
3
+ "version": "0.6.15",
4
4
  "description": "Open-source charting library with a native high-performance renderer, drawing tools, pluggable chart types and pluggable scripting engines.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://luxalgo.com/vela",