@luxalgo/vela 0.6.9 → 0.6.11

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 (46) hide show
  1. package/dist/{DataProvider-8Z95Q-RJ.d.cts → DataProvider-BBf-jc6W.d.ts} +49 -1
  2. package/dist/{DataProvider-DExJrfut.d.ts → DataProvider-p0TEyhlX.d.cts} +49 -1
  3. package/dist/{chunk-6WDDVMBJ.js → chunk-73PEA4MU.js} +707 -353
  4. package/dist/{chunk-62SVGONC.js → chunk-G77Y7LK2.js} +2 -2
  5. package/dist/{chunk-STHSKXOR.js → chunk-IO3NYSQV.js} +650 -157
  6. package/dist/{chunk-WFSZBX3R.js → chunk-KG4YT3TI.js} +3 -1
  7. package/dist/{chunk-FCVIG7JG.js → chunk-MHY7MVXH.js} +5 -1
  8. package/dist/{chunk-EQCHJZOT.js → chunk-MTLJKZDZ.js} +10 -2
  9. package/dist/{contributions-D7PVZO2i.d.ts → contributions-Bbe2R-mQ.d.ts} +20 -6
  10. package/dist/{contributions-C1U2Krwg.d.cts → contributions-CO01zWve.d.cts} +20 -6
  11. package/dist/index.cjs +719 -350
  12. package/dist/index.d.cts +37 -10
  13. package/dist/index.d.ts +37 -10
  14. package/dist/index.js +5 -5
  15. package/dist/{options-FM0peknS.d.ts → options-yp7sA96q.d.cts} +14 -7
  16. package/dist/{options-FM0peknS.d.cts → options-yp7sA96q.d.ts} +14 -7
  17. package/dist/{plugin-DfVqBz9p.d.cts → plugin-CkkH8QnX.d.cts} +3 -3
  18. package/dist/{plugin-7bkF32Rk.d.ts → plugin-DwxjM3Ni.d.ts} +3 -3
  19. package/dist/plugin.cjs +12 -1
  20. package/dist/plugin.d.cts +4 -4
  21. package/dist/plugin.d.ts +4 -4
  22. package/dist/plugin.js +3 -3
  23. package/dist/providers/binance.d.cts +2 -2
  24. package/dist/providers/binance.d.ts +2 -2
  25. package/dist/providers/coinbase.d.cts +2 -2
  26. package/dist/providers/coinbase.d.ts +2 -2
  27. package/dist/providers/hyperliquid.d.cts +2 -2
  28. package/dist/providers/hyperliquid.d.ts +2 -2
  29. package/dist/{statusline-DOPiT6I6.d.cts → statusline-CHPDuKNp.d.ts} +13 -5
  30. package/dist/{statusline-zdF4eZLr.d.ts → statusline-DTHZUFqK.d.cts} +13 -5
  31. package/dist/ui.cjs +7 -1
  32. package/dist/ui.d.cts +3 -1
  33. package/dist/ui.d.ts +3 -1
  34. package/dist/ui.js +3 -3
  35. package/dist/vela.global.js +719 -350
  36. package/dist/vela.global.min.js +51 -49
  37. package/dist/widget.cjs +1249 -388
  38. package/dist/widget.d.cts +17 -6
  39. package/dist/widget.d.ts +17 -6
  40. package/dist/widget.js +7 -7
  41. package/dist/workspace.cjs +1249 -388
  42. package/dist/workspace.d.cts +103 -10
  43. package/dist/workspace.d.ts +103 -10
  44. package/dist/workspace.js +6 -6
  45. package/package.json +1 -1
  46. /package/dist/{chunk-AOGZBKUE.js → chunk-H26BEHF4.js} +0 -0
@@ -1,9 +1,9 @@
1
- import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-FM0peknS.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-DOPiT6I6.cjs';
3
- export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-DOPiT6I6.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-yp7sA96q.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-DTHZUFqK.cjs';
3
+ export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-DTHZUFqK.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-C1U2Krwg.cjs';
6
- import { M as MarketDataFeed } from './DataProvider-8Z95Q-RJ.cjs';
5
+ import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, a as ScriptRun } from './contributions-CO01zWve.cjs';
6
+ import { M as MarketDataFeed } from './DataProvider-p0TEyhlX.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[];
@@ -101,6 +101,19 @@ interface CellDeps {
101
101
  manifestSettled(): boolean;
102
102
  /** Report a pointer-down/focus in this cell (the workspace sets it active). */
103
103
  activate(id: string): void;
104
+ /** Whether the grid holds more than one cell — gates the cluster's maximize
105
+ * button and its drag handle (a lone chart has neither use). */
106
+ multiCell(): boolean;
107
+ /** Is this cell the one the workspace currently maximizes over the grid? */
108
+ isMaximized(id: string): boolean;
109
+ /** Maximize this cell over the whole grid, or restore the grid when it already is. */
110
+ toggleMaximize(id: string): void;
111
+ /** Drag-handle hit-test: the OTHER live cell under a viewport point (never `id`). */
112
+ cellDragTarget(id: string, x: number, y: number): string | null;
113
+ /** Live drop-target highlight while a grip drag is underway (null clears). */
114
+ previewDropTarget(id: string | null): void;
115
+ /** Commit a grip drag: the two cells trade slots in the grid. */
116
+ dropCell(id: string, targetId: string): void;
104
117
  /** The cell's market changed in place (chrome/retention refresh upstream). */
105
118
  onMarketChanged(id: string): void;
106
119
  /** The cell's price style changed in place (topbar icon/menu refresh upstream). */
@@ -115,6 +128,17 @@ interface CellDeps {
115
128
  /** The shell's toast surface (unresolved-symbol notices land there). */
116
129
  toast(message: string, kind: 'info' | 'success' | 'error', durationMs?: number): void;
117
130
  }
131
+ /** One live manifest/external instance and, when it deviates from declaration
132
+ * defaults, the values it was restored with or dropped holding. */
133
+ interface CellInstance {
134
+ entry: ResolvedIndicator;
135
+ handle: IndicatorHandle | null;
136
+ external?: boolean;
137
+ values?: {
138
+ inputs?: Record<string, InputValue>;
139
+ props?: Record<string, InputValue>;
140
+ };
141
+ }
118
142
  declare class ChartCell {
119
143
  readonly id: string;
120
144
  private readonly deps;
@@ -127,11 +151,7 @@ declare class ChartCell {
127
151
  * rather than the shell manifest — they share the undo/redo and picker plumbing
128
152
  * but stay OUT of the persisted ledger (their names would never resolve against
129
153
  * the manifest); persisting them is their plugin's job (`registerStatePersistence`). */
130
- readonly instances: Array<{
131
- entry: ResolvedIndicator;
132
- handle: IndicatorHandle | null;
133
- external?: boolean;
134
- }>;
154
+ readonly instances: CellInstance[];
135
155
  /** The native-indicator catalog with this cell's live supported/present flags. */
136
156
  nativeCatalog: CellNativeInfo[];
137
157
  /** Last crosshair position in this cell (the alt+H/alt+V shortcuts anchor here). */
@@ -151,6 +171,8 @@ declare class ChartCell {
151
171
  /** Keeps the pre/post-market shading on the symbol's real calendar (see {@link SessionShadingTracker}). */
152
172
  private readonly sessionShading;
153
173
  private readonly watermark;
174
+ /** Bottom-center hover cluster, pinned to the price plot: drag handle, zoom in/out, maximize/restore, reset view. */
175
+ private readonly cellControls;
154
176
  private readonly contextMenu;
155
177
  private readonly offMarket;
156
178
  /** The cell's durable market state — the seed vocabulary plus the venue mirror the
@@ -266,6 +288,13 @@ declare class ChartCell {
266
288
  * needs, and keep it framed (re-asserted once the deeper history is painted).
267
289
  */
268
290
  applyRange(preset: RangePreset): void;
291
+ /** Reset this cell's view: re-enable auto scale and frame the full history —
292
+ * the same action the chart context menu offers. */
293
+ resetView(): void;
294
+ /** Rebuild the view-controls cluster (the maximize gate or state changed). */
295
+ refreshControls(): void;
296
+ /** Mobile flips the per-cell cluster off (the shell's mobile bar replaces it). */
297
+ setControlsSuspended(on: boolean): void;
269
298
  /** Make this cell the active one and put keyboard focus on its chart surface. */
270
299
  focus(): void;
271
300
  /** Download this cell's chart as a PNG (named after its market). */
@@ -317,6 +346,8 @@ declare class ChartCell {
317
346
  addManifestInstance(entry: ResolvedIndicator, opts?: {
318
347
  record?: boolean;
319
348
  external?: boolean;
349
+ inputs?: Record<string, InputValue>;
350
+ props?: Record<string, InputValue>;
320
351
  }): void;
321
352
  private removeInstance;
322
353
  private dropInstance;
@@ -518,6 +549,10 @@ interface WorkspaceEventMap extends Record<string, unknown> {
518
549
  'layout:changed': {
519
550
  layout: string;
520
551
  };
552
+ /** A cell was maximized over the whole grid, or the grid restored (`id: null`). */
553
+ 'cell:maximized': {
554
+ id: string | null;
555
+ };
521
556
  'cell:created': {
522
557
  id: string;
523
558
  };
@@ -547,6 +582,9 @@ declare class VelaWorkspace {
547
582
  * slots beyond the list get auto identities. Grows, never reorders. */
548
583
  private order;
549
584
  private activeId;
585
+ /** The cell maximized over the whole grid (null = normal grid). TRANSIENT view
586
+ * state — never persisted; any structural change (layout, applyState) restores. */
587
+ private maximizedId;
550
588
  private cellBackend;
551
589
  /** `layout: false` — the grid is pinned to the one-cell layout, the layout picker
552
590
  * and sync switches never render, and `setLayout` no-ops. */
@@ -714,6 +752,32 @@ declare class VelaWorkspace {
714
752
  * the pool so the backend stays uniform.
715
753
  */
716
754
  setLayout(layout: string | LayoutDefinition): void;
755
+ /** The identity of the cell maximized over the whole grid, or null. */
756
+ get maximizedCell(): string | null;
757
+ /**
758
+ * Maximize one cell over the whole grid, or restore the layout with `null`. Pure
759
+ * presentation: the other cells stay alive underneath — charts, subscriptions and
760
+ * state untouched — so restoring is instant. The maximized cell becomes the active
761
+ * one. Transient view state (also reachable from each cell's bottom-center view
762
+ * cluster): switching layouts or applying a state document restores the grid.
763
+ */
764
+ maximizeCell(id: string | null): void;
765
+ /** The mobile bar's maximize stop: one press isolates the ACTIVE chart over the
766
+ * grid; while something is already isolated — the chart, or a pane inside it
767
+ * (mobile's double-tap) — the press restores that instead. Every branch re-syncs
768
+ * the stop on its own (`maximizeCell` directly, `panes.maximize` via its
769
+ * synchronous `pane:changed`). */
770
+ private toggleMobileMaximize;
771
+ /** Keep the mobile bar's maximize stop truthful: lit (inverse chip, restore
772
+ * glyph) while the active chart covers the grid OR one of its panes is
773
+ * maximized — the state a double-tap toggles is otherwise invisible on mobile. */
774
+ private syncMobileMaximize;
775
+ /**
776
+ * Trade the SLOTS of two live cells — the grid arrangement changes, the cells
777
+ * themselves (charts, indicators, drawings, the active flag) stay untouched.
778
+ * What each cell's drag handle commits; also callable directly by hosts.
779
+ */
780
+ swapCells(a: string, b: string): void;
717
781
  resize(): void;
718
782
  /** Show a toast over the grid — the same surface the shell's own notices use
719
783
  * (alerts, script errors) and the one contributions reach via `ctx.toast`. */
@@ -738,6 +802,35 @@ declare class VelaWorkspace {
738
802
  * Geometry is keyed by SLOT (`perCell[slot.id]`); the cell living there is
739
803
  * `order[i]` — the identity/position decoupling in one line. */
740
804
  private applyGrid;
805
+ /** Overlay the maximize presentation on the freshly applied grid: EVERY cell spans
806
+ * the full track grid — the maximized one on top, the siblings invisible beneath
807
+ * it (their charts stay alive — restoring is instant). The siblings must span too:
808
+ * left in their slots they would auto-flow into implicit zero-height rows, whose
809
+ * gaps steal height from the maximized cell and collapse their renderers to 0.
810
+ * The splitter strips and the active ring hide via the `data-maximized` rules. */
811
+ private applyMaximizePresentation;
812
+ /** Rebuild every cell's view cluster (the maximize gate or state changed). */
813
+ private refreshCellControls;
814
+ /** Drop the transient maximize on a structural change (layout switch, state
815
+ * document) — WITH the event, so hosts tracking `cell:maximized` never drift
816
+ * from `maximizedCell`. The caller's own grid re-apply paints the restore. */
817
+ private clearMaximized;
818
+ /** The live cell under a viewport point, excluding `excludeId` and any host a
819
+ * maximize has hidden — the drag handle's hit-test. */
820
+ private cellAtPoint;
821
+ /** Mark one cell as the live drop target of a grip drag (null clears all) —
822
+ * the `data-drop-target` stylesheet rule paints the dashed preview ring. */
823
+ private setDropTarget;
824
+ /** The cell whose bottom-left corner the grid's attribution mark floats in — the
825
+ * maximized cell while one covers the grid, else the bottom-left slot's cell. */
826
+ private bottomLeftCell;
827
+ /** Keep the shared attribution mark inside the BOTTOM-LEFT visible cell: its
828
+ * offsets ride that cell's renderer-published `--vela-bottom-gutter` /
829
+ * `--vela-toolbar-gutter`, so collapsed pane strips push the mark up without any
830
+ * bookkeeping here. Re-run after anything that changes which host that is
831
+ * (layout switch, maximize, cell rebuild); a destroyed host drops the mark from
832
+ * the DOM, and this re-mount brings it back. */
833
+ private mountAttributionMark;
741
834
  /** Create the cells the current layout wants but don't exist yet (pool-first).
742
835
  * A slot's CELL IDENTITY is `order[i]` (declaration order — never the slot's own
743
836
  * positional id); slots past the declared list mint an auto identity once. */
@@ -1,9 +1,9 @@
1
- import { O as OHLCV, V as VisibleRangePreset, a as VisibleRange, b as VelaOptions, c as VelaTheme, N as NativeBackend, d as MarketSession } from './options-FM0peknS.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-zdF4eZLr.js';
3
- export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-zdF4eZLr.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-yp7sA96q.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-CHPDuKNp.js';
3
+ export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-CHPDuKNp.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-D7PVZO2i.js';
6
- import { M as MarketDataFeed } from './DataProvider-DExJrfut.js';
5
+ import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, a as ScriptRun } from './contributions-Bbe2R-mQ.js';
6
+ import { M as MarketDataFeed } from './DataProvider-BBf-jc6W.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[];
@@ -101,6 +101,19 @@ interface CellDeps {
101
101
  manifestSettled(): boolean;
102
102
  /** Report a pointer-down/focus in this cell (the workspace sets it active). */
103
103
  activate(id: string): void;
104
+ /** Whether the grid holds more than one cell — gates the cluster's maximize
105
+ * button and its drag handle (a lone chart has neither use). */
106
+ multiCell(): boolean;
107
+ /** Is this cell the one the workspace currently maximizes over the grid? */
108
+ isMaximized(id: string): boolean;
109
+ /** Maximize this cell over the whole grid, or restore the grid when it already is. */
110
+ toggleMaximize(id: string): void;
111
+ /** Drag-handle hit-test: the OTHER live cell under a viewport point (never `id`). */
112
+ cellDragTarget(id: string, x: number, y: number): string | null;
113
+ /** Live drop-target highlight while a grip drag is underway (null clears). */
114
+ previewDropTarget(id: string | null): void;
115
+ /** Commit a grip drag: the two cells trade slots in the grid. */
116
+ dropCell(id: string, targetId: string): void;
104
117
  /** The cell's market changed in place (chrome/retention refresh upstream). */
105
118
  onMarketChanged(id: string): void;
106
119
  /** The cell's price style changed in place (topbar icon/menu refresh upstream). */
@@ -115,6 +128,17 @@ interface CellDeps {
115
128
  /** The shell's toast surface (unresolved-symbol notices land there). */
116
129
  toast(message: string, kind: 'info' | 'success' | 'error', durationMs?: number): void;
117
130
  }
131
+ /** One live manifest/external instance and, when it deviates from declaration
132
+ * defaults, the values it was restored with or dropped holding. */
133
+ interface CellInstance {
134
+ entry: ResolvedIndicator;
135
+ handle: IndicatorHandle | null;
136
+ external?: boolean;
137
+ values?: {
138
+ inputs?: Record<string, InputValue>;
139
+ props?: Record<string, InputValue>;
140
+ };
141
+ }
118
142
  declare class ChartCell {
119
143
  readonly id: string;
120
144
  private readonly deps;
@@ -127,11 +151,7 @@ declare class ChartCell {
127
151
  * rather than the shell manifest — they share the undo/redo and picker plumbing
128
152
  * but stay OUT of the persisted ledger (their names would never resolve against
129
153
  * the manifest); persisting them is their plugin's job (`registerStatePersistence`). */
130
- readonly instances: Array<{
131
- entry: ResolvedIndicator;
132
- handle: IndicatorHandle | null;
133
- external?: boolean;
134
- }>;
154
+ readonly instances: CellInstance[];
135
155
  /** The native-indicator catalog with this cell's live supported/present flags. */
136
156
  nativeCatalog: CellNativeInfo[];
137
157
  /** Last crosshair position in this cell (the alt+H/alt+V shortcuts anchor here). */
@@ -151,6 +171,8 @@ declare class ChartCell {
151
171
  /** Keeps the pre/post-market shading on the symbol's real calendar (see {@link SessionShadingTracker}). */
152
172
  private readonly sessionShading;
153
173
  private readonly watermark;
174
+ /** Bottom-center hover cluster, pinned to the price plot: drag handle, zoom in/out, maximize/restore, reset view. */
175
+ private readonly cellControls;
154
176
  private readonly contextMenu;
155
177
  private readonly offMarket;
156
178
  /** The cell's durable market state — the seed vocabulary plus the venue mirror the
@@ -266,6 +288,13 @@ declare class ChartCell {
266
288
  * needs, and keep it framed (re-asserted once the deeper history is painted).
267
289
  */
268
290
  applyRange(preset: RangePreset): void;
291
+ /** Reset this cell's view: re-enable auto scale and frame the full history —
292
+ * the same action the chart context menu offers. */
293
+ resetView(): void;
294
+ /** Rebuild the view-controls cluster (the maximize gate or state changed). */
295
+ refreshControls(): void;
296
+ /** Mobile flips the per-cell cluster off (the shell's mobile bar replaces it). */
297
+ setControlsSuspended(on: boolean): void;
269
298
  /** Make this cell the active one and put keyboard focus on its chart surface. */
270
299
  focus(): void;
271
300
  /** Download this cell's chart as a PNG (named after its market). */
@@ -317,6 +346,8 @@ declare class ChartCell {
317
346
  addManifestInstance(entry: ResolvedIndicator, opts?: {
318
347
  record?: boolean;
319
348
  external?: boolean;
349
+ inputs?: Record<string, InputValue>;
350
+ props?: Record<string, InputValue>;
320
351
  }): void;
321
352
  private removeInstance;
322
353
  private dropInstance;
@@ -518,6 +549,10 @@ interface WorkspaceEventMap extends Record<string, unknown> {
518
549
  'layout:changed': {
519
550
  layout: string;
520
551
  };
552
+ /** A cell was maximized over the whole grid, or the grid restored (`id: null`). */
553
+ 'cell:maximized': {
554
+ id: string | null;
555
+ };
521
556
  'cell:created': {
522
557
  id: string;
523
558
  };
@@ -547,6 +582,9 @@ declare class VelaWorkspace {
547
582
  * slots beyond the list get auto identities. Grows, never reorders. */
548
583
  private order;
549
584
  private activeId;
585
+ /** The cell maximized over the whole grid (null = normal grid). TRANSIENT view
586
+ * state — never persisted; any structural change (layout, applyState) restores. */
587
+ private maximizedId;
550
588
  private cellBackend;
551
589
  /** `layout: false` — the grid is pinned to the one-cell layout, the layout picker
552
590
  * and sync switches never render, and `setLayout` no-ops. */
@@ -714,6 +752,32 @@ declare class VelaWorkspace {
714
752
  * the pool so the backend stays uniform.
715
753
  */
716
754
  setLayout(layout: string | LayoutDefinition): void;
755
+ /** The identity of the cell maximized over the whole grid, or null. */
756
+ get maximizedCell(): string | null;
757
+ /**
758
+ * Maximize one cell over the whole grid, or restore the layout with `null`. Pure
759
+ * presentation: the other cells stay alive underneath — charts, subscriptions and
760
+ * state untouched — so restoring is instant. The maximized cell becomes the active
761
+ * one. Transient view state (also reachable from each cell's bottom-center view
762
+ * cluster): switching layouts or applying a state document restores the grid.
763
+ */
764
+ maximizeCell(id: string | null): void;
765
+ /** The mobile bar's maximize stop: one press isolates the ACTIVE chart over the
766
+ * grid; while something is already isolated — the chart, or a pane inside it
767
+ * (mobile's double-tap) — the press restores that instead. Every branch re-syncs
768
+ * the stop on its own (`maximizeCell` directly, `panes.maximize` via its
769
+ * synchronous `pane:changed`). */
770
+ private toggleMobileMaximize;
771
+ /** Keep the mobile bar's maximize stop truthful: lit (inverse chip, restore
772
+ * glyph) while the active chart covers the grid OR one of its panes is
773
+ * maximized — the state a double-tap toggles is otherwise invisible on mobile. */
774
+ private syncMobileMaximize;
775
+ /**
776
+ * Trade the SLOTS of two live cells — the grid arrangement changes, the cells
777
+ * themselves (charts, indicators, drawings, the active flag) stay untouched.
778
+ * What each cell's drag handle commits; also callable directly by hosts.
779
+ */
780
+ swapCells(a: string, b: string): void;
717
781
  resize(): void;
718
782
  /** Show a toast over the grid — the same surface the shell's own notices use
719
783
  * (alerts, script errors) and the one contributions reach via `ctx.toast`. */
@@ -738,6 +802,35 @@ declare class VelaWorkspace {
738
802
  * Geometry is keyed by SLOT (`perCell[slot.id]`); the cell living there is
739
803
  * `order[i]` — the identity/position decoupling in one line. */
740
804
  private applyGrid;
805
+ /** Overlay the maximize presentation on the freshly applied grid: EVERY cell spans
806
+ * the full track grid — the maximized one on top, the siblings invisible beneath
807
+ * it (their charts stay alive — restoring is instant). The siblings must span too:
808
+ * left in their slots they would auto-flow into implicit zero-height rows, whose
809
+ * gaps steal height from the maximized cell and collapse their renderers to 0.
810
+ * The splitter strips and the active ring hide via the `data-maximized` rules. */
811
+ private applyMaximizePresentation;
812
+ /** Rebuild every cell's view cluster (the maximize gate or state changed). */
813
+ private refreshCellControls;
814
+ /** Drop the transient maximize on a structural change (layout switch, state
815
+ * document) — WITH the event, so hosts tracking `cell:maximized` never drift
816
+ * from `maximizedCell`. The caller's own grid re-apply paints the restore. */
817
+ private clearMaximized;
818
+ /** The live cell under a viewport point, excluding `excludeId` and any host a
819
+ * maximize has hidden — the drag handle's hit-test. */
820
+ private cellAtPoint;
821
+ /** Mark one cell as the live drop target of a grip drag (null clears all) —
822
+ * the `data-drop-target` stylesheet rule paints the dashed preview ring. */
823
+ private setDropTarget;
824
+ /** The cell whose bottom-left corner the grid's attribution mark floats in — the
825
+ * maximized cell while one covers the grid, else the bottom-left slot's cell. */
826
+ private bottomLeftCell;
827
+ /** Keep the shared attribution mark inside the BOTTOM-LEFT visible cell: its
828
+ * offsets ride that cell's renderer-published `--vela-bottom-gutter` /
829
+ * `--vela-toolbar-gutter`, so collapsed pane strips push the mark up without any
830
+ * bookkeeping here. Re-run after anything that changes which host that is
831
+ * (layout switch, maximize, cell rebuild); a destroyed host drops the mark from
832
+ * the DOM, and this re-mount brings it back. */
833
+ private mountAttributionMark;
741
834
  /** Create the cells the current layout wants but don't exist yet (pool-first).
742
835
  * A slot's CELL IDENTITY is `order[i]` (declaration order — never the slot's own
743
836
  * positional id); slots past the declared list mint an auto identity once. */
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-STHSKXOR.js';
2
- import './chunk-6WDDVMBJ.js';
3
- import './chunk-EQCHJZOT.js';
4
- import './chunk-62SVGONC.js';
5
- import './chunk-FCVIG7JG.js';
6
- import './chunk-WFSZBX3R.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-IO3NYSQV.js';
2
+ import './chunk-73PEA4MU.js';
3
+ import './chunk-MTLJKZDZ.js';
4
+ import './chunk-G77Y7LK2.js';
5
+ import './chunk-MHY7MVXH.js';
6
+ import './chunk-KG4YT3TI.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.9",
3
+ "version": "0.6.11",
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",
File without changes