@luxalgo/vela 0.8.2 → 0.8.4

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 (48) hide show
  1. package/dist/{DataProvider-COGDs9Xg.d.cts → DataProvider-Bw58CjYy.d.cts} +1 -1
  2. package/dist/{DataProvider-DpOWZD8F.d.ts → DataProvider-Byo8pEv0.d.ts} +1 -1
  3. package/dist/{chunk-DPAA3SRT.js → chunk-ALTGHKIM.js} +836 -32
  4. package/dist/{chunk-27UTYE7T.js → chunk-AUOB7A5Y.js} +49 -7
  5. package/dist/{chunk-HKNO24GD.js → chunk-I2U4NZD2.js} +56 -1
  6. package/dist/{chunk-R2JMNIHY.js → chunk-MOJ4T26N.js} +341 -169
  7. package/dist/{chunk-T3DZIR5Y.js → chunk-UNUVPQFW.js} +2214 -886
  8. package/dist/{chunk-NLDTVFOI.js → chunk-WY5H4S4I.js} +129 -10
  9. package/dist/{contributions-Cgm9RJYP.d.cts → contributions-BY3zSYiZ.d.ts} +98 -7
  10. package/dist/{contributions-bWgwyiVi.d.ts → contributions-DOm40g5-.d.cts} +98 -7
  11. package/dist/index.cjs +3066 -893
  12. package/dist/index.d.cts +36 -22
  13. package/dist/index.d.ts +36 -22
  14. package/dist/index.js +5 -5
  15. package/dist/{options-NAUHiQEC.d.ts → options-CSXbjMM5.d.cts} +129 -4
  16. package/dist/{options-NAUHiQEC.d.cts → options-CSXbjMM5.d.ts} +129 -4
  17. package/dist/{plugin-CqxWoDKS.d.ts → plugin-BDxUhGO3.d.ts} +4 -4
  18. package/dist/{plugin-CjjzZX2F.d.cts → plugin-CiQVyETg.d.cts} +4 -4
  19. package/dist/plugin.cjs +573 -17
  20. package/dist/plugin.d.cts +5 -5
  21. package/dist/plugin.d.ts +5 -5
  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/{side-panel-wMNfgyZb.d.cts → side-panel-_2UK1gSm.d.cts} +45 -3
  30. package/dist/{side-panel-wMNfgyZb.d.ts → side-panel-_2UK1gSm.d.ts} +45 -3
  31. package/dist/{statusline-model-Dih6FGWP.d.ts → statusline-model-C9tYXuux.d.ts} +19 -4
  32. package/dist/{statusline-model-Dpfpq54A.d.cts → statusline-model-DUBX6Fib.d.cts} +19 -4
  33. package/dist/ui.cjs +224 -14
  34. package/dist/ui.d.cts +119 -87
  35. package/dist/ui.d.ts +119 -87
  36. package/dist/ui.js +3 -3
  37. package/dist/vela.global.js +3073 -900
  38. package/dist/vela.global.min.js +158 -54
  39. package/dist/widget.cjs +3640 -1119
  40. package/dist/widget.d.cts +24 -10
  41. package/dist/widget.d.ts +24 -10
  42. package/dist/widget.js +7 -7
  43. package/dist/workspace.cjs +3639 -1119
  44. package/dist/workspace.d.cts +61 -20
  45. package/dist/workspace.d.ts +61 -20
  46. package/dist/workspace.js +6 -6
  47. package/package.json +1 -1
  48. /package/dist/{chunk-JU4CWEBF.js → chunk-W5YPYZ2P.js} +0 -0
package/dist/widget.d.cts CHANGED
@@ -1,12 +1,12 @@
1
- import { V as Vela, W as WidgetContext, a0 as SidePanelButton } from './contributions-Cgm9RJYP.cjs';
2
- export { C as CellStateContext, aI as DEFAULT_PANEL_ORDER, E as ExternalIndicatorEntry, O as OVERRIDABLE_TOPBAR_IDS, a1 as SidePanelDescriptor, a2 as SidePanelHandle, a4 as StatePersistenceHandler, a8 as SymbolRankingHook, ac as WidgetActionDescriptor, ad as WidgetActionTarget, ae as WidgetAttachment, ao as registerSidePanel, ap as registerStatePersistence, aq as registerSymbolRanking, ar as registerWidgetAction, as as registerWidgetAttachment, au as sidePanels, av as statePersistenceHandlers, aw as symbolRanking, ax as topbarActionOverride, aC as unregisterSidePanel, aD as unregisterStatePersistence, aE as unregisterWidgetAction, aF as unregisterWidgetAttachment, aG as widgetActions, aH as widgetAttachments } from './contributions-Cgm9RJYP.cjs';
3
- import { b as VelaOptions, d as MarketSession, T as ThemeName, c as VelaTheme, v as DataWindowReadout } from './options-NAUHiQEC.cjs';
4
- import { c as VelaShellOptions, W as WidgetHistory, b as RangePreset, f as WorkspaceState, j as TopbarComposition, a as StatuslinePart, P as PanelsState } from './statusline-model-Dpfpq54A.cjs';
5
- export { B as Bottombar, k as BottombarOptions, C as CellState, g as ChartState, I as IndicatorLoader, l as IndicatorManifest, m as IndicatorManifestEntry, n as RANGE_PRESETS, R as ResolvedIndicator, o as ResolvedTopbarComposition, p as TOPBAR_BUILTIN_IDS, q as TOPBAR_DEFAULT_LEFT, r as TOPBAR_DEFAULT_RIGHT, V as VelaStorage, t as WidgetStorage, h as decodeState, i as encodeState, u as localStorageAdapter, v as pinnedTopbarActionIds, w as resolveIndicators, x as resolveTopbarComposition, s as sanitizeState, y as topbarHas } from './statusline-model-Dpfpq54A.cjs';
1
+ import { V as Vela, W as WidgetContext, a1 as SidePanelButton } from './contributions-DOm40g5-.cjs';
2
+ export { C as CellStateContext, i as ContextMenuPointer, aJ as DEFAULT_PANEL_ORDER, E as ExternalIndicatorEntry, O as OVERRIDABLE_TOPBAR_IDS, a2 as SidePanelDescriptor, a3 as SidePanelHandle, a5 as StatePersistenceHandler, a9 as SymbolRankingHook, ad as WidgetActionDescriptor, ae as WidgetActionTarget, af as WidgetAttachment, ap as registerSidePanel, aq as registerStatePersistence, ar as registerSymbolRanking, as as registerWidgetAction, at as registerWidgetAttachment, av as sidePanels, aw as statePersistenceHandlers, ax as symbolRanking, ay as topbarActionOverride, aD as unregisterSidePanel, aE as unregisterStatePersistence, aF as unregisterWidgetAction, aG as unregisterWidgetAttachment, aH as widgetActions, aI as widgetAttachments } from './contributions-DOm40g5-.cjs';
3
+ import { b as VelaOptions, d as MarketSession, T as ThemeName, c as VelaTheme, v as DataWindowReadout } from './options-CSXbjMM5.cjs';
4
+ import { c as VelaShellOptions, W as WidgetHistory, b as RangePreset, f as WorkspaceState, j as TopbarComposition, a as StatuslinePart, P as PanelsState } from './statusline-model-DUBX6Fib.cjs';
5
+ export { B as Bottombar, k as BottombarOptions, C as CellState, g as ChartState, D as DrawingToolsState, I as IndicatorLoader, l as IndicatorManifest, m as IndicatorManifestEntry, n as RANGE_PRESETS, R as ResolvedIndicator, o as ResolvedTopbarComposition, p as TOPBAR_BUILTIN_IDS, q as TOPBAR_DEFAULT_LEFT, r as TOPBAR_DEFAULT_RIGHT, V as VelaStorage, t as WidgetStorage, h as decodeState, i as encodeState, u as localStorageAdapter, v as pinnedTopbarActionIds, w as resolveIndicators, x as resolveTopbarComposition, s as sanitizeState, y as topbarHas } from './statusline-model-DUBX6Fib.cjs';
6
6
  import { K as KeymapManager } from './keymap-CGOz5F5f.cjs';
7
- import { a as SymbolDescriptor } from './DataProvider-COGDs9Xg.cjs';
8
- import { d as SidePanel } from './side-panel-wMNfgyZb.cjs';
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-wMNfgyZb.cjs';
7
+ import { a as SymbolDescriptor } from './DataProvider-Bw58CjYy.cjs';
8
+ import { d as SidePanel } from './side-panel-_2UK1gSm.cjs';
9
+ export { C as CONTEXT_MENU_BUILTIN_ORDER, 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-_2UK1gSm.cjs';
10
10
 
11
11
  interface VelaWidgetOptions extends VelaOptions, VelaShellOptions {
12
12
  /** @deprecated No longer supported — the option is ignored (a console warning
@@ -94,6 +94,9 @@ interface TopbarOptions {
94
94
  checked: boolean;
95
95
  }>;
96
96
  onToggleSync: (id: string) => void;
97
+ /** The current layout's 16px glyph (`<svg>` markup) for the button, re-read on
98
+ * every {@link Topbar.setLayout}. Omitted ⇒ the registered `'layout'` icon. */
99
+ glyph?: () => string;
97
100
  };
98
101
  onIndicatorsClick?: () => void;
99
102
  /** Unified undo/redo (same stack as Ctrl+Z / Ctrl+Y). Enabled state is pushed with
@@ -606,7 +609,7 @@ declare class ObjectTree extends SidePanel {
606
609
  /** The price row's avatar icon URL for a raw symbol — routed by the shell to the
607
610
  * owning provider's `resolveSymbolIcon`. Absent ⇒ the initials badge. */
608
611
  iconFor?: ((symbol: string) => string | undefined) | undefined);
609
- toggle(open?: boolean): void;
612
+ toggle(open?: boolean, instant?: boolean): void;
610
613
  setSymbol(symbol: string): void;
611
614
  /** (Re)bind to a chart instance — called after every widget rebuild. */
612
615
  onChart(chart: Vela): void;
@@ -744,7 +747,7 @@ declare class DataWindow extends SidePanel {
744
747
  private chart;
745
748
  private unsubs;
746
749
  constructor(host: HTMLElement);
747
- toggle(open?: boolean): void;
750
+ toggle(open?: boolean, instant?: boolean): void;
748
751
  /** (Re)bind to a chart instance — called after every widget rebuild. */
749
752
  onChart(chart: Vela): void;
750
753
  destroy(): void;
@@ -778,6 +781,13 @@ declare class ChartContextMenu {
778
781
  private readonly menu;
779
782
  private readonly host;
780
783
  private chart;
784
+ private offCrosshair;
785
+ /** The bound chart's latest crosshair report — a right-click always follows a pointer
786
+ * move to its spot, so this is where it landed. */
787
+ private crosshair;
788
+ /** {@link crosshair} as it stood when the menu opened: the pointer moves on through the
789
+ * menu before a row is picked, and `run` must see the right-clicked spot. */
790
+ private pointer;
781
791
  private lastZone;
782
792
  /** The pane whose scale the open price-axis menu targets (null ⇒ the main scale). */
783
793
  private lastPane;
@@ -790,8 +800,12 @@ declare class ChartContextMenu {
790
800
  /** The pane under the pointer, so every pane's price scale has its own menu. */
791
801
  private paneAt;
792
802
  private flag;
803
+ /** A fresh widget context carrying the pointer captured at open. Copied by property
804
+ * descriptor: the context's getters must stay LIVE, and a spread would freeze them. */
805
+ private context;
793
806
  private contributed;
794
807
  private itemsFor;
808
+ private builtinItems;
795
809
  private run;
796
810
  }
797
811
 
package/dist/widget.d.ts CHANGED
@@ -1,12 +1,12 @@
1
- import { V as Vela, W as WidgetContext, a0 as SidePanelButton } from './contributions-bWgwyiVi.js';
2
- export { C as CellStateContext, aI as DEFAULT_PANEL_ORDER, E as ExternalIndicatorEntry, O as OVERRIDABLE_TOPBAR_IDS, a1 as SidePanelDescriptor, a2 as SidePanelHandle, a4 as StatePersistenceHandler, a8 as SymbolRankingHook, ac as WidgetActionDescriptor, ad as WidgetActionTarget, ae as WidgetAttachment, ao as registerSidePanel, ap as registerStatePersistence, aq as registerSymbolRanking, ar as registerWidgetAction, as as registerWidgetAttachment, au as sidePanels, av as statePersistenceHandlers, aw as symbolRanking, ax as topbarActionOverride, aC as unregisterSidePanel, aD as unregisterStatePersistence, aE as unregisterWidgetAction, aF as unregisterWidgetAttachment, aG as widgetActions, aH as widgetAttachments } from './contributions-bWgwyiVi.js';
3
- import { b as VelaOptions, d as MarketSession, T as ThemeName, c as VelaTheme, v as DataWindowReadout } from './options-NAUHiQEC.js';
4
- import { c as VelaShellOptions, W as WidgetHistory, b as RangePreset, f as WorkspaceState, j as TopbarComposition, a as StatuslinePart, P as PanelsState } from './statusline-model-Dih6FGWP.js';
5
- export { B as Bottombar, k as BottombarOptions, C as CellState, g as ChartState, I as IndicatorLoader, l as IndicatorManifest, m as IndicatorManifestEntry, n as RANGE_PRESETS, R as ResolvedIndicator, o as ResolvedTopbarComposition, p as TOPBAR_BUILTIN_IDS, q as TOPBAR_DEFAULT_LEFT, r as TOPBAR_DEFAULT_RIGHT, V as VelaStorage, t as WidgetStorage, h as decodeState, i as encodeState, u as localStorageAdapter, v as pinnedTopbarActionIds, w as resolveIndicators, x as resolveTopbarComposition, s as sanitizeState, y as topbarHas } from './statusline-model-Dih6FGWP.js';
1
+ import { V as Vela, W as WidgetContext, a1 as SidePanelButton } from './contributions-BY3zSYiZ.js';
2
+ export { C as CellStateContext, i as ContextMenuPointer, aJ as DEFAULT_PANEL_ORDER, E as ExternalIndicatorEntry, O as OVERRIDABLE_TOPBAR_IDS, a2 as SidePanelDescriptor, a3 as SidePanelHandle, a5 as StatePersistenceHandler, a9 as SymbolRankingHook, ad as WidgetActionDescriptor, ae as WidgetActionTarget, af as WidgetAttachment, ap as registerSidePanel, aq as registerStatePersistence, ar as registerSymbolRanking, as as registerWidgetAction, at as registerWidgetAttachment, av as sidePanels, aw as statePersistenceHandlers, ax as symbolRanking, ay as topbarActionOverride, aD as unregisterSidePanel, aE as unregisterStatePersistence, aF as unregisterWidgetAction, aG as unregisterWidgetAttachment, aH as widgetActions, aI as widgetAttachments } from './contributions-BY3zSYiZ.js';
3
+ import { b as VelaOptions, d as MarketSession, T as ThemeName, c as VelaTheme, v as DataWindowReadout } from './options-CSXbjMM5.js';
4
+ import { c as VelaShellOptions, W as WidgetHistory, b as RangePreset, f as WorkspaceState, j as TopbarComposition, a as StatuslinePart, P as PanelsState } from './statusline-model-C9tYXuux.js';
5
+ export { B as Bottombar, k as BottombarOptions, C as CellState, g as ChartState, D as DrawingToolsState, I as IndicatorLoader, l as IndicatorManifest, m as IndicatorManifestEntry, n as RANGE_PRESETS, R as ResolvedIndicator, o as ResolvedTopbarComposition, p as TOPBAR_BUILTIN_IDS, q as TOPBAR_DEFAULT_LEFT, r as TOPBAR_DEFAULT_RIGHT, V as VelaStorage, t as WidgetStorage, h as decodeState, i as encodeState, u as localStorageAdapter, v as pinnedTopbarActionIds, w as resolveIndicators, x as resolveTopbarComposition, s as sanitizeState, y as topbarHas } from './statusline-model-C9tYXuux.js';
6
6
  import { K as KeymapManager } from './keymap-CGOz5F5f.js';
7
- import { a as SymbolDescriptor } from './DataProvider-DpOWZD8F.js';
8
- import { d as SidePanel } from './side-panel-wMNfgyZb.js';
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-wMNfgyZb.js';
7
+ import { a as SymbolDescriptor } from './DataProvider-Byo8pEv0.js';
8
+ import { d as SidePanel } from './side-panel-_2UK1gSm.js';
9
+ export { C as CONTEXT_MENU_BUILTIN_ORDER, 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-_2UK1gSm.js';
10
10
 
11
11
  interface VelaWidgetOptions extends VelaOptions, VelaShellOptions {
12
12
  /** @deprecated No longer supported — the option is ignored (a console warning
@@ -94,6 +94,9 @@ interface TopbarOptions {
94
94
  checked: boolean;
95
95
  }>;
96
96
  onToggleSync: (id: string) => void;
97
+ /** The current layout's 16px glyph (`<svg>` markup) for the button, re-read on
98
+ * every {@link Topbar.setLayout}. Omitted ⇒ the registered `'layout'` icon. */
99
+ glyph?: () => string;
97
100
  };
98
101
  onIndicatorsClick?: () => void;
99
102
  /** Unified undo/redo (same stack as Ctrl+Z / Ctrl+Y). Enabled state is pushed with
@@ -606,7 +609,7 @@ declare class ObjectTree extends SidePanel {
606
609
  /** The price row's avatar icon URL for a raw symbol — routed by the shell to the
607
610
  * owning provider's `resolveSymbolIcon`. Absent ⇒ the initials badge. */
608
611
  iconFor?: ((symbol: string) => string | undefined) | undefined);
609
- toggle(open?: boolean): void;
612
+ toggle(open?: boolean, instant?: boolean): void;
610
613
  setSymbol(symbol: string): void;
611
614
  /** (Re)bind to a chart instance — called after every widget rebuild. */
612
615
  onChart(chart: Vela): void;
@@ -744,7 +747,7 @@ declare class DataWindow extends SidePanel {
744
747
  private chart;
745
748
  private unsubs;
746
749
  constructor(host: HTMLElement);
747
- toggle(open?: boolean): void;
750
+ toggle(open?: boolean, instant?: boolean): void;
748
751
  /** (Re)bind to a chart instance — called after every widget rebuild. */
749
752
  onChart(chart: Vela): void;
750
753
  destroy(): void;
@@ -778,6 +781,13 @@ declare class ChartContextMenu {
778
781
  private readonly menu;
779
782
  private readonly host;
780
783
  private chart;
784
+ private offCrosshair;
785
+ /** The bound chart's latest crosshair report — a right-click always follows a pointer
786
+ * move to its spot, so this is where it landed. */
787
+ private crosshair;
788
+ /** {@link crosshair} as it stood when the menu opened: the pointer moves on through the
789
+ * menu before a row is picked, and `run` must see the right-clicked spot. */
790
+ private pointer;
781
791
  private lastZone;
782
792
  /** The pane whose scale the open price-axis menu targets (null ⇒ the main scale). */
783
793
  private lastPane;
@@ -790,8 +800,12 @@ declare class ChartContextMenu {
790
800
  /** The pane under the pointer, so every pane's price scale has its own menu. */
791
801
  private paneAt;
792
802
  private flag;
803
+ /** A fresh widget context carrying the pointer captured at open. Copied by property
804
+ * descriptor: the context's getters must stay LIVE, and a spread would freeze them. */
805
+ private context;
793
806
  private contributed;
794
807
  private itemsFor;
808
+ private builtinItems;
795
809
  private run;
796
810
  }
797
811
 
package/dist/widget.js CHANGED
@@ -1,10 +1,10 @@
1
- import { VelaWorkspace } from './chunk-R2JMNIHY.js';
2
- export { Bottombar, ChartContextMenu, DataWindow, IndicatorPicker, ObjectTree, PanelDock, RANGE_PRESETS, ShortcutsHelp, Statusline, SymbolPicker, TimeframeQuick, Topbar, Watermark, dataWindowSections, decimalsFor, decodeState, encodeState, filterSymbols, fmtChange, fmtPrice, localStorageAdapter, parseTimeframe, priceStyleLabel, resolveIndicators, sanitizeState, timeframeLabel, timeframeMs } from './chunk-R2JMNIHY.js';
3
- export { TIMEZONES, normalizeTimezone, tzButtonLabel, tzMenuLabel, tzOffset } from './chunk-T3DZIR5Y.js';
4
- export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_ORDER, DEFAULT_PANEL_WIDTH, OVERRIDABLE_TOPBAR_IDS, SidePanel, TOPBAR_BUILTIN_IDS, TOPBAR_DEFAULT_LEFT, TOPBAR_DEFAULT_RIGHT, clampPanelWidth, pinnedTopbarActionIds, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, resolveTopbarComposition, sidePanels, statePersistenceHandlers, symbolRanking, topbarActionOverride, topbarHas, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-DPAA3SRT.js';
5
- import './chunk-27UTYE7T.js';
6
- import './chunk-NLDTVFOI.js';
7
- import './chunk-HKNO24GD.js';
1
+ import { VelaWorkspace } from './chunk-MOJ4T26N.js';
2
+ export { Bottombar, ChartContextMenu, DataWindow, IndicatorPicker, ObjectTree, PanelDock, RANGE_PRESETS, ShortcutsHelp, Statusline, SymbolPicker, TimeframeQuick, Topbar, Watermark, dataWindowSections, decimalsFor, decodeState, encodeState, filterSymbols, fmtChange, fmtPrice, localStorageAdapter, parseTimeframe, priceStyleLabel, resolveIndicators, sanitizeState, timeframeLabel, timeframeMs } from './chunk-MOJ4T26N.js';
3
+ import './chunk-UNUVPQFW.js';
4
+ export { CONTEXT_MENU_BUILTIN_ORDER, DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_ORDER, DEFAULT_PANEL_WIDTH, OVERRIDABLE_TOPBAR_IDS, SidePanel, TIMEZONES, TOPBAR_BUILTIN_IDS, TOPBAR_DEFAULT_LEFT, TOPBAR_DEFAULT_RIGHT, clampPanelWidth, normalizeTimezone, pinnedTopbarActionIds, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, resolveTopbarComposition, sidePanels, statePersistenceHandlers, symbolRanking, topbarActionOverride, topbarHas, tzButtonLabel, tzMenuLabel, tzOffset, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-ALTGHKIM.js';
5
+ import './chunk-AUOB7A5Y.js';
6
+ import './chunk-WY5H4S4I.js';
7
+ import './chunk-I2U4NZD2.js';
8
8
  import './chunk-W4EJWLEO.js';
9
9
 
10
10
  // src/widget/VelaWidget.ts