@luxalgo/vela 0.6.15 → 0.6.17

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/README.md +12 -1
  2. package/dist/{DataProvider-XLdJB86x.d.ts → DataProvider-B-Jz59Rf.d.ts} +1 -1
  3. package/dist/{DataProvider-xH2VBcFT.d.cts → DataProvider-OfR3fXg9.d.cts} +1 -1
  4. package/dist/{chunk-6DPAYEGO.js → chunk-CAFCLMPF.js} +1 -0
  5. package/dist/chunk-FE6V2YAQ.js +1 -0
  6. package/dist/{chunk-32A7KHFM.js → chunk-IFJJPXSV.js} +8 -2
  7. package/dist/{chunk-7C7NWEXH.js → chunk-OSZDSH7F.js} +83 -59
  8. package/dist/{chunk-MWDNPGU3.js → chunk-T5Z5YUCF.js} +23 -16
  9. package/dist/{chunk-MWS4CUJL.js → chunk-XCBJU674.js} +2 -2
  10. package/dist/{chunk-J5QIR2Z3.js → chunk-YCD72KGK.js} +2543 -159
  11. package/dist/{contributions-x7iamlnd.d.cts → contributions-C3b0Sx5P.d.cts} +29 -13
  12. package/dist/{contributions-h5BzEiV2.d.ts → contributions-Swzz10fG.d.ts} +29 -13
  13. package/dist/index.cjs +2746 -355
  14. package/dist/index.d.cts +15 -6
  15. package/dist/index.d.ts +15 -6
  16. package/dist/index.js +5 -5
  17. package/dist/{options-bdSAtp7y.d.ts → options-CX1lSYWA.d.cts} +12 -2
  18. package/dist/{options-bdSAtp7y.d.cts → options-CX1lSYWA.d.ts} +12 -2
  19. package/dist/{plugin-2sJcf5mk.d.cts → plugin-BjnEE1zA.d.cts} +3 -3
  20. package/dist/{plugin-BLaNPh55.d.ts → plugin-mvddudqd.d.ts} +3 -3
  21. package/dist/plugin.cjs +1 -0
  22. package/dist/plugin.d.cts +4 -4
  23. package/dist/plugin.d.ts +4 -4
  24. package/dist/plugin.js +3 -3
  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/{statusline-model--tH0VWCy.d.cts → statusline-model-D91cU2fF.d.cts} +3 -3
  32. package/dist/{statusline-model-CLpaO3Dl.d.ts → statusline-model-IURCya0H.d.ts} +3 -3
  33. package/dist/ui.cjs +23 -15
  34. package/dist/ui.d.cts +1 -1
  35. package/dist/ui.d.ts +1 -1
  36. package/dist/ui.js +3 -3
  37. package/dist/vela.global.js +2600 -209
  38. package/dist/vela.global.min.js +52 -55
  39. package/dist/widget.cjs +2663 -241
  40. package/dist/widget.d.cts +6 -6
  41. package/dist/widget.d.ts +6 -6
  42. package/dist/widget.js +7 -7
  43. package/dist/workspace.cjs +2663 -241
  44. package/dist/workspace.d.cts +25 -14
  45. package/dist/workspace.d.ts +25 -14
  46. package/dist/workspace.js +6 -6
  47. package/package.json +1 -1
  48. package/dist/chunk-H26BEHF4.js +0 -7
@@ -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-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';
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-CX1lSYWA.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-D91cU2fF.cjs';
3
+ export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-D91cU2fF.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-x7iamlnd.cjs';
6
- import { M as MarketDataFeed } from './DataProvider-xH2VBcFT.cjs';
5
+ import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, a as ScriptRun } from './contributions-C3b0Sx5P.cjs';
6
+ import { M as MarketDataFeed } from './DataProvider-OfR3fXg9.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[];
@@ -191,8 +191,8 @@ declare class ChartCell {
191
191
  /** Volume intent: the seed's ledger, else the workspace `volume` option — a
192
192
  * rehydrated ledger overwrites it (see {@link applyIndicatorLedger}). */
193
193
  private volumeIntent;
194
- /** Sync mirror of the chart's present native types — the removal handler diffs
195
- * against it to identify (and record) whichever type was just removed. */
194
+ /** Sync mirror of the chart's native instances (id + type) — the removal handler
195
+ * looks the removed id up here to learn which type an undo must re-add. */
196
196
  private presentNatives;
197
197
  private rangeBars;
198
198
  private pendingRange;
@@ -268,7 +268,7 @@ declare class ChartCell {
268
268
  get symbol(): string;
269
269
  get timeframe(): string;
270
270
  get priceStyle(): string;
271
- /** Manifest instances + present natives — the topbar indicator count. */
271
+ /** Manifest instances + native instances — the topbar indicator count. */
272
272
  get indicatorCount(): number;
273
273
  /** Switch this cell's market in place (the chart instance survives). The projection
274
274
  * is OPTIMISTIC — labels and chrome show the pick before the bars load; it follows
@@ -320,7 +320,13 @@ declare class ChartCell {
320
320
  * undo timeline.
321
321
  */
322
322
  private applyIndicatorLedger;
323
- /** The picker's library rows: supported natives first, then the manifest. */
323
+ /** The supported natives in picker order: A→Z by title — registration order follows
324
+ * the catalog's families, which is meaningless to the reader. This is the library
325
+ * index space the picker hands back, so `libraryRows` and `addFromLibrary` MUST both
326
+ * read it — indexing the unsorted catalog on add would land on a different study. */
327
+ private supportedNatives;
328
+ /** The picker's library rows: supported natives first (see {@link supportedNatives}),
329
+ * then the manifest in the host's own order. */
324
330
  libraryRows(): Array<{
325
331
  name: string;
326
332
  language?: string;
@@ -329,7 +335,7 @@ declare class ChartCell {
329
335
  nativeType?: string;
330
336
  beta?: boolean;
331
337
  }>;
332
- /** The picker's on-chart rows: present natives first, then live instances. */
338
+ /** The picker's on-chart rows: native instances first, then live script instances. */
333
339
  onChartRows(): Array<{
334
340
  name: string;
335
341
  language?: string;
@@ -338,7 +344,7 @@ declare class ChartCell {
338
344
  }>;
339
345
  /** Add by picker LIBRARY index (natives precede the manifest — mirrors libraryRows). */
340
346
  addFromLibrary(index: number): void;
341
- /** Remove by picker ON-CHART index (present natives precede instances). */
347
+ /** Remove by picker ON-CHART index (native instances precede script instances — mirrors onChartRows). */
342
348
  removeFromChart(index: number): void;
343
349
  /**
344
350
  * Add a script indicator through the PUBLIC seam (`ctx.addIndicator`) — same undo/
@@ -357,11 +363,16 @@ declare class ChartCell {
357
363
  }): void;
358
364
  private removeInstance;
359
365
  private dropInstance;
360
- /** Add a native indicator (single-instance per type — the core dedupes). */
366
+ /** Add a native indicator. A multi-instance type gets a fresh instance every time; a
367
+ * single-instance type already on the chart hands back its existing one — nothing
368
+ * changed, so nothing enters the undo timeline. */
361
369
  addNative(type: string): void;
362
370
  private removeNative;
363
- /** Sync mirror of the chart's present native types — the removal handler diffs
364
- * against it to identify (and record) whichever type was just removed. */
371
+ /** The chart's native instances, insertion order — the picker's on-chart rows and
372
+ * the removal index space (script instances follow them). */
373
+ private nativeHandles;
374
+ /** Sync mirror of the chart's native instances — the removal handler looks the
375
+ * removed id up here (the registry has already forgotten it) to record its type. */
365
376
  private syncPresentNatives;
366
377
  /** Refresh the native catalog (supported/present flags) for this cell's market. */
367
378
  refreshNativeCatalog(): void;
@@ -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-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';
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-CX1lSYWA.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-IURCya0H.js';
3
+ export { g as ChartState, P as PanelsState, h as decodeState, i as encodeState, s as sanitizeState } from './statusline-model-IURCya0H.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-h5BzEiV2.js';
6
- import { M as MarketDataFeed } from './DataProvider-XLdJB86x.js';
5
+ import { I as IndicatorHandle, S as ScriptingEngine, W as WidgetContext, V as Vela, E as ExternalIndicatorEntry, a as ScriptRun } from './contributions-Swzz10fG.js';
6
+ import { M as MarketDataFeed } from './DataProvider-B-Jz59Rf.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[];
@@ -191,8 +191,8 @@ declare class ChartCell {
191
191
  /** Volume intent: the seed's ledger, else the workspace `volume` option — a
192
192
  * rehydrated ledger overwrites it (see {@link applyIndicatorLedger}). */
193
193
  private volumeIntent;
194
- /** Sync mirror of the chart's present native types — the removal handler diffs
195
- * against it to identify (and record) whichever type was just removed. */
194
+ /** Sync mirror of the chart's native instances (id + type) — the removal handler
195
+ * looks the removed id up here to learn which type an undo must re-add. */
196
196
  private presentNatives;
197
197
  private rangeBars;
198
198
  private pendingRange;
@@ -268,7 +268,7 @@ declare class ChartCell {
268
268
  get symbol(): string;
269
269
  get timeframe(): string;
270
270
  get priceStyle(): string;
271
- /** Manifest instances + present natives — the topbar indicator count. */
271
+ /** Manifest instances + native instances — the topbar indicator count. */
272
272
  get indicatorCount(): number;
273
273
  /** Switch this cell's market in place (the chart instance survives). The projection
274
274
  * is OPTIMISTIC — labels and chrome show the pick before the bars load; it follows
@@ -320,7 +320,13 @@ declare class ChartCell {
320
320
  * undo timeline.
321
321
  */
322
322
  private applyIndicatorLedger;
323
- /** The picker's library rows: supported natives first, then the manifest. */
323
+ /** The supported natives in picker order: A→Z by title — registration order follows
324
+ * the catalog's families, which is meaningless to the reader. This is the library
325
+ * index space the picker hands back, so `libraryRows` and `addFromLibrary` MUST both
326
+ * read it — indexing the unsorted catalog on add would land on a different study. */
327
+ private supportedNatives;
328
+ /** The picker's library rows: supported natives first (see {@link supportedNatives}),
329
+ * then the manifest in the host's own order. */
324
330
  libraryRows(): Array<{
325
331
  name: string;
326
332
  language?: string;
@@ -329,7 +335,7 @@ declare class ChartCell {
329
335
  nativeType?: string;
330
336
  beta?: boolean;
331
337
  }>;
332
- /** The picker's on-chart rows: present natives first, then live instances. */
338
+ /** The picker's on-chart rows: native instances first, then live script instances. */
333
339
  onChartRows(): Array<{
334
340
  name: string;
335
341
  language?: string;
@@ -338,7 +344,7 @@ declare class ChartCell {
338
344
  }>;
339
345
  /** Add by picker LIBRARY index (natives precede the manifest — mirrors libraryRows). */
340
346
  addFromLibrary(index: number): void;
341
- /** Remove by picker ON-CHART index (present natives precede instances). */
347
+ /** Remove by picker ON-CHART index (native instances precede script instances — mirrors onChartRows). */
342
348
  removeFromChart(index: number): void;
343
349
  /**
344
350
  * Add a script indicator through the PUBLIC seam (`ctx.addIndicator`) — same undo/
@@ -357,11 +363,16 @@ declare class ChartCell {
357
363
  }): void;
358
364
  private removeInstance;
359
365
  private dropInstance;
360
- /** Add a native indicator (single-instance per type — the core dedupes). */
366
+ /** Add a native indicator. A multi-instance type gets a fresh instance every time; a
367
+ * single-instance type already on the chart hands back its existing one — nothing
368
+ * changed, so nothing enters the undo timeline. */
361
369
  addNative(type: string): void;
362
370
  private removeNative;
363
- /** Sync mirror of the chart's present native types — the removal handler diffs
364
- * against it to identify (and record) whichever type was just removed. */
371
+ /** The chart's native instances, insertion order — the picker's on-chart rows and
372
+ * the removal index space (script instances follow them). */
373
+ private nativeHandles;
374
+ /** Sync mirror of the chart's native instances — the removal handler looks the
375
+ * removed id up here (the registry has already forgotten it) to record its type. */
365
376
  private syncPresentNatives;
366
377
  /** Refresh the native catalog (supported/present flags) for this cell's market. */
367
378
  refreshNativeCatalog(): void;
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-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';
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-OSZDSH7F.js';
2
+ import './chunk-YCD72KGK.js';
3
+ import './chunk-IFJJPXSV.js';
4
+ import './chunk-XCBJU674.js';
5
+ import './chunk-T5Z5YUCF.js';
6
+ import './chunk-CAFCLMPF.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.15",
3
+ "version": "0.6.17",
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",
@@ -1,7 +0,0 @@
1
- // src/core/model/identity.ts
2
- function stableSeriesId(parts) {
3
- const normTitle = parts.title.trim().toLowerCase().replace(/\s+/g, "-");
4
- return `${parts.instanceId}:${parts.kind}:${normTitle}#${parts.ordinal}`;
5
- }
6
-
7
- export { stableSeriesId };