@luxalgo/vela 0.6.18 → 0.6.20

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.
@@ -22489,6 +22489,8 @@ function toPoints(bars, values, colors) {
22489
22489
  var ClassicIndicator = class {
22490
22490
  constructor(spec) {
22491
22491
  this.spec = spec;
22492
+ /** Null until start() — a pre-start setInputs must record without computing. */
22493
+ this.ctx = null;
22492
22494
  this.inputs = {};
22493
22495
  }
22494
22496
  start(ctx, inputs) {
@@ -22503,6 +22505,7 @@ var ClassicIndicator = class {
22503
22505
  }
22504
22506
  setInputs(inputs) {
22505
22507
  this.inputs = inputs;
22508
+ if (!this.ctx) return;
22506
22509
  this.recompute();
22507
22510
  }
22508
22511
  /** Nothing to free — the compute reads the live bar accessor on demand. */
@@ -22514,6 +22517,7 @@ var ClassicIndicator = class {
22514
22517
  stop() {
22515
22518
  }
22516
22519
  recompute() {
22520
+ if (!this.ctx) return;
22517
22521
  const bars = this.ctx.bars();
22518
22522
  const out = this.spec.compute(bars, this.inputs);
22519
22523
  const instanceId = this.spec.type;
@@ -1,4 +1,4 @@
1
- import { parseSymbol, priceStyleIds, BUILTIN_PRICE_STYLES, tzButtonLabel, TIMEZONES, normalizeTimezone, tzMenuLabel, isGroupRow, defaultMemberOf, groupKeyOf, groupMembers, LEGEND_AT_TOP_ATTR, normalizeSession, Vela, TypedEventBus, MultiProviderFeed, registerBuiltinChartTypes, resolveTheme, buildToolbar, createCustomMark, createAttributionMark, DrawingToolbar, applyAttributionMarkTheme, sharedBarStore, timeframeToMs } from './chunk-22QJKGXX.js';
1
+ import { parseSymbol, priceStyleIds, BUILTIN_PRICE_STYLES, tzButtonLabel, TIMEZONES, normalizeTimezone, tzMenuLabel, isGroupRow, defaultMemberOf, groupKeyOf, groupMembers, LEGEND_AT_TOP_ATTR, normalizeSession, Vela, TypedEventBus, MultiProviderFeed, registerBuiltinChartTypes, resolveTheme, buildToolbar, createCustomMark, createAttributionMark, DrawingToolbar, applyAttributionMarkTheme, sharedBarStore, timeframeToMs } from './chunk-4Q4B5AO3.js';
2
2
  import { chartType, resolveTopbarComposition, topbarActionOverride, TOPBAR_BUILTIN_IDS, widgetActions, SidePanel, sidePanels, DEFAULT_PANEL_ORDER, symbolRanking, resolveEngines, legendActionsProviderFor, legendCalloutsProviderFor, statePersistenceHandlers, topbarHas, rendererDefaults, widgetAttachments, getDrawingType, inputDeltas } from './chunk-IFJJPXSV.js';
3
3
  import { Tooltip, KeymapManager, isEditableTarget, Drawer } from './chunk-XCBJU674.js';
4
4
  import { Menu, Dialog, CalloutBubble, applyPlotOverlayTokens, ensureUIHost } from './chunk-T5Z5YUCF.js';
@@ -3835,9 +3835,10 @@ async function resolveIndicators(config, fetchImpl = fetch) {
3835
3835
  return out;
3836
3836
  }
3837
3837
  var ledgerEntryName = (e) => typeof e === "string" ? e : e.name;
3838
+ var ledgerNativeType = (e) => typeof e === "string" ? e : e.type;
3838
3839
  function indicatorLedger(i) {
3839
3840
  const natives = [...i.present];
3840
- if (i.volumePending && !natives.includes("volume")) natives.push("volume");
3841
+ if (i.volumePending && !natives.some((e) => ledgerNativeType(e) === "volume")) natives.push("volume");
3841
3842
  return {
3842
3843
  manifest: i.manifestSettled ? [...i.instanceEntries] : [...i.pendingManifest ?? i.instanceEntries],
3843
3844
  natives
@@ -3921,18 +3922,28 @@ function sanitizeCell(raw) {
3921
3922
  if (c.drawings != null && typeof c.drawings === "object") out.drawings = c.drawings;
3922
3923
  const ind = c.indicators;
3923
3924
  if (ind != null && typeof ind === "object") {
3925
+ const bag = (v) => v != null && typeof v === "object" && !Array.isArray(v) ? v : void 0;
3924
3926
  const manifest = Array.isArray(ind.manifest) ? ind.manifest.flatMap((n) => {
3925
3927
  if (typeof n === "string") return [n];
3926
3928
  if (n != null && typeof n === "object" && typeof n.name === "string") {
3927
3929
  const e = n;
3928
- const bag = (v) => v != null && typeof v === "object" && !Array.isArray(v) ? v : void 0;
3929
3930
  const inputs = bag(e.inputs);
3930
3931
  const props = bag(e.props);
3931
- return [inputs || props ? { name: e.name, ...inputs ? { inputs } : {}, ...props ? { props } : {} } : e.name];
3932
+ const hidden = e.hidden === true;
3933
+ return [inputs || props || hidden ? { name: e.name, ...inputs ? { inputs } : {}, ...props ? { props } : {}, ...hidden ? { hidden } : {} } : e.name];
3934
+ }
3935
+ return [];
3936
+ }) : [];
3937
+ const natives = Array.isArray(ind.natives) ? ind.natives.flatMap((n) => {
3938
+ if (typeof n === "string") return [n];
3939
+ if (n != null && typeof n === "object" && typeof n.type === "string") {
3940
+ const e = n;
3941
+ const inputs = bag(e.inputs);
3942
+ const hidden = e.hidden === true;
3943
+ return [inputs || hidden ? { type: e.type, ...inputs ? { inputs } : {}, ...hidden ? { hidden } : {} } : e.type];
3932
3944
  }
3933
3945
  return [];
3934
3946
  }) : [];
3935
- const natives = Array.isArray(ind.natives) ? ind.natives.filter((n) => typeof n === "string") : [];
3936
3947
  out.indicators = { manifest, natives };
3937
3948
  }
3938
3949
  const ext = sanitizeExt(c.ext);
@@ -5507,6 +5518,11 @@ function cellDrawings(opt) {
5507
5518
  if (opt === true || opt == null) return { toolbar: false };
5508
5519
  return { ...opt, toolbar: false };
5509
5520
  }
5521
+ function nativeLedgerEntry(handle) {
5522
+ const inputs = inputDeltas(handle.inputs, handle.inputValues());
5523
+ const hidden = !handle.visible;
5524
+ return inputs || hidden ? { type: handle.nativeType, ...inputs ? { inputs } : {}, ...hidden ? { hidden: true } : {} } : handle.nativeType;
5525
+ }
5510
5526
  function instanceDeltas(handle) {
5511
5527
  if (!handle) return void 0;
5512
5528
  const inputs = inputDeltas(handle.inputs, handle.inputValues());
@@ -5629,10 +5645,13 @@ var ChartCell = class {
5629
5645
  if (seed.rendererConfig != null) this.inner.renderer.applyConfig(seed.rendererConfig);
5630
5646
  if (seed.drawings != null) this.inner.drawings.fromJSON(seed.drawings);
5631
5647
  if (seed.indicators) {
5632
- for (const type of seed.indicators.natives) this.inner.addNativeIndicator(type);
5648
+ for (const entry of seed.indicators.natives) {
5649
+ const handle = this.inner.addNativeIndicator(ledgerNativeType(entry));
5650
+ this.applyNativeLedgerEntry(handle, entry);
5651
+ }
5633
5652
  this.pendingManifestNames = [...seed.indicators.manifest];
5634
5653
  }
5635
- this.volumeIntent = seed.indicators ? seed.indicators.natives.includes("volume") : deps.volume;
5654
+ this.volumeIntent = seed.indicators ? seed.indicators.natives.some((e) => ledgerNativeType(e) === "volume") : deps.volume;
5636
5655
  this.extState = { ...seed.ext ?? {} };
5637
5656
  this.inner.on("load:end", () => {
5638
5657
  this.volumeMayBePending = false;
@@ -5704,6 +5723,7 @@ var ChartCell = class {
5704
5723
  this.refreshNativeCatalog();
5705
5724
  });
5706
5725
  this.inner.on("indicator:inputs", () => this.deps.onStateDirty());
5726
+ this.inner.on("indicator:visibility", () => this.deps.onStateDirty());
5707
5727
  this.inner.on("indicator:removed", ({ id: id2 }) => {
5708
5728
  if (this.destroyed) return;
5709
5729
  const idx = this.instances.findIndex((it) => it.handle?.id === id2);
@@ -6148,7 +6168,7 @@ var ChartCell = class {
6148
6168
  if (list.length === 0) return;
6149
6169
  for (const led of this.pendingManifestNames) {
6150
6170
  const entry = list.find((e) => e.name === ledgerEntryName(led));
6151
- if (entry) this.addManifestInstance(entry, { record: false, ...typeof led === "object" ? { inputs: led.inputs, props: led.props } : {} });
6171
+ if (entry) this.addManifestInstance(entry, { record: false, ...typeof led === "object" ? { inputs: led.inputs, props: led.props, hidden: led.hidden } : {} });
6152
6172
  }
6153
6173
  this.pendingManifestNames = null;
6154
6174
  return;
@@ -6167,23 +6187,35 @@ var ChartCell = class {
6167
6187
  applyIndicatorLedger(led) {
6168
6188
  const chart = this.inner;
6169
6189
  if (!chart) return;
6170
- this.volumeIntent = led.natives.includes("volume");
6190
+ this.volumeIntent = led.natives.some((e) => ledgerNativeType(e) === "volume");
6171
6191
  this.history.silently(() => {
6172
6192
  const owed = /* @__PURE__ */ new Map();
6173
- for (const type of led.natives) owed.set(type, (owed.get(type) ?? 0) + 1);
6193
+ for (const e of led.natives) {
6194
+ const type = ledgerNativeType(e);
6195
+ const queue = owed.get(type);
6196
+ if (queue) queue.push(e);
6197
+ else owed.set(type, [e]);
6198
+ }
6174
6199
  for (const h of this.nativeHandles()) {
6175
- const type = h.nativeType;
6176
- const n = owed.get(type) ?? 0;
6177
- if (n > 0) owed.set(type, n - 1);
6200
+ const entry = owed.get(h.nativeType)?.shift();
6201
+ if (entry !== void 0) this.applyNativeLedgerEntry(h, entry);
6178
6202
  else h.remove();
6179
6203
  }
6180
- for (const [type, n] of owed) for (let i = 0; i < n; i++) chart.addNativeIndicator(type);
6204
+ for (const queue of owed.values()) {
6205
+ for (const e of queue) {
6206
+ const h = chart.addNativeIndicator(ledgerNativeType(e));
6207
+ this.applyNativeLedgerEntry(h, e);
6208
+ }
6209
+ }
6181
6210
  for (const it of [...this.instances]) this.dropInstance(it);
6182
6211
  if (this.manifest.length > 0) {
6183
6212
  for (const item of led.manifest) {
6184
6213
  const entry = this.manifest.find((e) => e.name === ledgerEntryName(item));
6185
6214
  if (entry)
6186
- this.addManifestInstance(entry, { record: false, ...typeof item === "object" ? { inputs: item.inputs, props: item.props } : {} });
6215
+ this.addManifestInstance(entry, {
6216
+ record: false,
6217
+ ...typeof item === "object" ? { inputs: item.inputs, props: item.props, hidden: item.hidden } : {}
6218
+ });
6187
6219
  }
6188
6220
  this.pendingManifestNames = null;
6189
6221
  } else if (!this.deps.manifestSettled()) {
@@ -6242,7 +6274,7 @@ var ChartCell = class {
6242
6274
  addExternalIndicator(entry) {
6243
6275
  this.addManifestInstance(
6244
6276
  { ...entry, enabled: true },
6245
- { external: true, ...entry.inputs ? { inputs: entry.inputs } : {}, ...entry.props ? { props: entry.props } : {} }
6277
+ { external: true, ...entry.inputs ? { inputs: entry.inputs } : {}, ...entry.props ? { props: entry.props } : {}, ...entry.hidden ? { hidden: true } : {} }
6246
6278
  );
6247
6279
  }
6248
6280
  /** Add ONE instance of a manifest entry (repeatable — duplicates are legitimate). */
@@ -6250,6 +6282,7 @@ var ChartCell = class {
6250
6282
  if (this.destroyed) return;
6251
6283
  const values = opts.inputs || opts.props ? { inputs: opts.inputs, props: opts.props } : void 0;
6252
6284
  const it = { entry, handle: this.addToChart(entry, values), ...opts.external ? { external: true } : {}, ...values ? { values } : {} };
6285
+ if (opts.hidden) it.handle?.setVisible(false);
6253
6286
  this.instances.push(it);
6254
6287
  this.deps.onIndicatorsChanged(this.id);
6255
6288
  if (opts.record === false) return;
@@ -6293,6 +6326,29 @@ var ChartCell = class {
6293
6326
  /** Add a native indicator. A multi-instance type gets a fresh instance every time; a
6294
6327
  * single-instance type already on the chart hands back its existing one — nothing
6295
6328
  * changed, so nothing enters the undo timeline. */
6329
+ /**
6330
+ * Converge one native handle to a restored ledger entry: every schema key gets the
6331
+ * entry's value or its declaration default (the DOCUMENT is the truth — a live
6332
+ * tweak must not survive a restore that says otherwise), and visibility follows
6333
+ * the `hidden` flag. Skips the input write when nothing differs — `setInputs`
6334
+ * re-runs the indicator, and a no-op restore must not flicker every native.
6335
+ */
6336
+ applyNativeLedgerEntry(handle, entry) {
6337
+ const wanted = typeof entry === "string" ? void 0 : entry.inputs;
6338
+ if (handle.inputs.length > 0) {
6339
+ const current = handle.inputValues();
6340
+ const next = {};
6341
+ for (const schema of handle.inputs) {
6342
+ const target = wanted?.[schema.key] ?? schema.defval;
6343
+ if (JSON.stringify(current[schema.key]) !== JSON.stringify(target)) next[schema.key] = target;
6344
+ }
6345
+ if (Object.keys(next).length > 0) handle.setInputs(next);
6346
+ } else if (wanted) {
6347
+ handle.setInputs(wanted);
6348
+ }
6349
+ const visible = !(typeof entry === "object" && entry.hidden);
6350
+ if (handle.visible !== visible) handle.setVisible(visible);
6351
+ }
6296
6352
  addNative(type) {
6297
6353
  const chart = this.inner;
6298
6354
  if (!chart) return;
@@ -6456,10 +6512,13 @@ var ChartCell = class {
6456
6512
  // (`ctx.addIndicator`) stay out: their names would never resolve against the
6457
6513
  // manifest — their plugin persists them via the `ext` seam instead.
6458
6514
  indicators: indicatorLedger({
6459
- present: this.inner ? this.inner.presentNativeIndicators() : [],
6515
+ // Live handles carry what the registry read cannot: the input DELTAS and
6516
+ // the hidden flag, so native settings/visibility survive the round-trip.
6517
+ present: this.inner ? this.nativeHandles().map((h) => nativeLedgerEntry(h)) : [],
6460
6518
  instanceEntries: this.instances.filter((it) => !it.external).map((it) => {
6461
6519
  const d = it.handle ? instanceDeltas(it.handle) : it.values;
6462
- return d ? { name: it.entry.name, ...d } : it.entry.name;
6520
+ const hidden = it.handle ? !it.handle.visible : false;
6521
+ return d || hidden ? { name: it.entry.name, ...d ?? {}, ...hidden ? { hidden: true } : {} } : it.entry.name;
6463
6522
  }),
6464
6523
  pendingManifest: this.pendingManifestNames,
6465
6524
  manifestSettled: this.deps.manifestSettled(),
@@ -1559,6 +1559,10 @@ interface ExternalIndicatorEntry {
1559
1559
  inputs?: Record<string, InputValue>;
1560
1560
  /** Declaration-prop overrides applied at add time. */
1561
1561
  props?: Record<string, InputValue>;
1562
+ /** Restore hidden: the indicator is suspended right after the add (legend row
1563
+ * stays, marked hidden) — a persistence handler carrying a hidden flag applies
1564
+ * it here so the engine never spends anything on a tucked-away indicator. */
1565
+ hidden?: boolean;
1562
1566
  }
1563
1567
  /** Where an action is projected. */
1564
1568
  type WidgetActionTarget = 'topbar' | 'context:body' | 'context:price-axis' | 'context:time-axis';
@@ -1559,6 +1559,10 @@ interface ExternalIndicatorEntry {
1559
1559
  inputs?: Record<string, InputValue>;
1560
1560
  /** Declaration-prop overrides applied at add time. */
1561
1561
  props?: Record<string, InputValue>;
1562
+ /** Restore hidden: the indicator is suspended right after the add (legend row
1563
+ * stays, marked hidden) — a persistence handler carrying a hidden flag applies
1564
+ * it here so the engine never spends anything on a tucked-away indicator. */
1565
+ hidden?: boolean;
1562
1566
  }
1563
1567
  /** Where an action is projected. */
1564
1568
  type WidgetActionTarget = 'topbar' | 'context:body' | 'context:price-axis' | 'context:time-axis';
package/dist/index.cjs CHANGED
@@ -31487,6 +31487,8 @@ function toPoints(bars, values, colors) {
31487
31487
  var ClassicIndicator = class {
31488
31488
  constructor(spec) {
31489
31489
  this.spec = spec;
31490
+ /** Null until start() — a pre-start setInputs must record without computing. */
31491
+ this.ctx = null;
31490
31492
  this.inputs = {};
31491
31493
  }
31492
31494
  start(ctx, inputs) {
@@ -31501,6 +31503,7 @@ var ClassicIndicator = class {
31501
31503
  }
31502
31504
  setInputs(inputs) {
31503
31505
  this.inputs = inputs;
31506
+ if (!this.ctx) return;
31504
31507
  this.recompute();
31505
31508
  }
31506
31509
  /** Nothing to free — the compute reads the live bar accessor on demand. */
@@ -31512,6 +31515,7 @@ var ClassicIndicator = class {
31512
31515
  stop() {
31513
31516
  }
31514
31517
  recompute() {
31518
+ if (!this.ctx) return;
31515
31519
  const bars = this.ctx.bars();
31516
31520
  const out = this.spec.compute(bars, this.inputs);
31517
31521
  const instanceId = this.spec.type;
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { D as DrawingsDocument, R as Resolved } from './contributions-DEPRtkmG.cjs';
2
- export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, c as DataControl, d as DrawingsControl, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, n as IndicatorEventMap, I as IndicatorHandle, o as IndicatorSummary, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, y as PreparedScript, z as RendererControl, A as RunIndicatorResult, G as SceneInspection, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, M as SidePanelDescriptor, Q as SidePanelHandle, T as SidePanelHeader, U as StatePersistenceHandler, X as StrategyFill, Y as StrategyState, Z as StrategyTrade, _ as SymbolRankingHook, $ as TypedEventBus, V as Vela, a0 as VelaDeps, a1 as VelaEventMap, a2 as VisibleBarRange, a3 as WidgetActionDescriptor, a4 as WidgetActionTarget, a5 as WidgetAttachment, W as WidgetContext, a6 as getNativeIndicator, a7 as legendActions, a8 as legendCallouts, a9 as nativeIndicatorDescriptors, aa as nativeIndicatorTypes, ab as registerDefaultEngine, ac as registerLegendAction, ad as registerLegendCallout, ae as registerNativeIndicator, af as registerSidePanel, ag as registerStatePersistence, ah as registerSymbolRanking, ai as registerWidgetAction, aj as registerWidgetAttachment, ak as resolveEngines, al as sidePanels, am as statePersistenceHandlers, an as symbolRanking, ao as topbarActionOverride, ap as unregisterDefaultEngine, aq as unregisterLegendAction, ar as unregisterLegendCallout, as as unregisterNativeIndicator, at as unregisterSidePanel, au as unregisterStatePersistence, av as unregisterWidgetAction, aw as unregisterWidgetAttachment, ax as widgetActions, ay as widgetAttachments } from './contributions-DEPRtkmG.cjs';
1
+ import { D as DrawingsDocument, R as Resolved } from './contributions-D8HdlKmp.cjs';
2
+ export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, c as DataControl, d as DrawingsControl, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, n as IndicatorEventMap, I as IndicatorHandle, o as IndicatorSummary, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, y as PreparedScript, z as RendererControl, A as RunIndicatorResult, G as SceneInspection, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, M as SidePanelDescriptor, Q as SidePanelHandle, T as SidePanelHeader, U as StatePersistenceHandler, X as StrategyFill, Y as StrategyState, Z as StrategyTrade, _ as SymbolRankingHook, $ as TypedEventBus, V as Vela, a0 as VelaDeps, a1 as VelaEventMap, a2 as VisibleBarRange, a3 as WidgetActionDescriptor, a4 as WidgetActionTarget, a5 as WidgetAttachment, W as WidgetContext, a6 as getNativeIndicator, a7 as legendActions, a8 as legendCallouts, a9 as nativeIndicatorDescriptors, aa as nativeIndicatorTypes, ab as registerDefaultEngine, ac as registerLegendAction, ad as registerLegendCallout, ae as registerNativeIndicator, af as registerSidePanel, ag as registerStatePersistence, ah as registerSymbolRanking, ai as registerWidgetAction, aj as registerWidgetAttachment, ak as resolveEngines, al as sidePanels, am as statePersistenceHandlers, an as symbolRanking, ao as topbarActionOverride, ap as unregisterDefaultEngine, aq as unregisterLegendAction, ar as unregisterLegendCallout, as as unregisterNativeIndicator, at as unregisterSidePanel, au as unregisterStatePersistence, av as unregisterWidgetAction, aw as unregisterWidgetAttachment, ax as widgetActions, ay as widgetAttachments } from './contributions-D8HdlKmp.cjs';
3
3
  import { D as Drawing, S as SerializedDrawing, U as Unsubscribe, L as LineStyle, P as PriceStyle, e as IChartRenderer, R as RendererCapabilities, f as RendererDisplayOptions, g as IndicatorRenderHandle, h as IndicatorStatus, c as VelaTheme, O as OHLCV, i as Pane, j as PaneAction, k as MoveTarget, l as IndicatorModel, m as ScenePatch, I as InputValue, n as SymbolPickerFn, o as LegendActionView, p as LegendCalloutView, q as InputChangeEvent, T as ThemeName, C as CrosshairEvent, r as ClickEvent, A as AxisLongPressEvent, a as VisibleRange, s as DataWindowReadout, t as IDrawingsRendererPort, u as Millis, v as SnapMode, w as DrawingTypeKey, x as ToolbarDefinition, M as MarketConfig } from './options-BCRmYALw.cjs';
4
4
  export { y as AddIndicatorOptions, z as AnimationConfig, B as Background, E as BoxFontFamily, F as BoxHAlign, G as BoxTextSize, H as BoxVAlign, J as CandleBarColor, K as CandleSeries, Q as CandleStyle, W as DataWindowGroup, X as DataWindowOHLC, Y as DataWindowRow, Z as DirtyRange, _ as DrawingBox, $ as DrawingExtend, a0 as DrawingIntent, a1 as DrawingLabel, a2 as DrawingLine, a3 as DrawingLinefill, a4 as DrawingMode, a5 as DrawingPoint, a6 as DrawingPolyline, a7 as DrawingSeriesBar, a8 as DrawingSeriesGateway, a9 as DrawingSeriesState, aa as DrawingStyle, ab as DrawingTable, ac as DrawingText, ad as DrawingXLoc, ae as DrawingsOption, af as Fill, ag as FillGradientStop, ah as IndicatorMeta, ai as InputCondition, aj as InputSchema, ak as InputType, al as InputWhen, am as LabelStyle, an as LabelYLoc, ao as LineLikeKind, ap as LineLikeSeries, aq as LineLikeStyle, ar as MarkerPoint, as as MarkerSeries, at as MarketSnapshot, au as MarketSwitch, av as PaneAxis, aw as PaneAxisBand, ax as PaneHint, ay as PaneKind, az as PolylinePoint, aA as PriceLine, aB as Projector, aC as ProviderName, aD as RendererConstructor, aE as Scene, aF as SchemaPatch, aG as SeriesKind, aH as SeriesPoint, aI as SeriesSpec, aJ as SeriesValueDelta, aK as SettingsField, aL as SettingsSchema, aM as SettingsVisibilityPolicy, aN as TableCell, aO as TableMerge, aP as TablePosition, aQ as ToolbarGroupConfig, aR as TradeExecution, aS as ValuePatch, b as VelaOptions, V as VisibleRangePreset, aT as buildToolbar, aU as defaultToolbar, aV as inputDeltas, aW as inputVisible } from './options-BCRmYALw.cjs';
5
5
  import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-UtWw2CgJ.cjs';
6
- export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, Y as createDrawing, Z as deserializeDrawing, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a2 as registerDrawingType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-DVUaROPo.cjs';
6
+ export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, Y as createDrawing, Z as deserializeDrawing, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a2 as registerDrawingType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-Ccupy_BV.cjs';
7
7
  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-HF0IAzwf.cjs';
8
8
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.cjs';
9
9
  export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.cjs';
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { D as DrawingsDocument, R as Resolved } from './contributions-5nz3PLRe.js';
2
- export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, c as DataControl, d as DrawingsControl, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, n as IndicatorEventMap, I as IndicatorHandle, o as IndicatorSummary, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, y as PreparedScript, z as RendererControl, A as RunIndicatorResult, G as SceneInspection, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, M as SidePanelDescriptor, Q as SidePanelHandle, T as SidePanelHeader, U as StatePersistenceHandler, X as StrategyFill, Y as StrategyState, Z as StrategyTrade, _ as SymbolRankingHook, $ as TypedEventBus, V as Vela, a0 as VelaDeps, a1 as VelaEventMap, a2 as VisibleBarRange, a3 as WidgetActionDescriptor, a4 as WidgetActionTarget, a5 as WidgetAttachment, W as WidgetContext, a6 as getNativeIndicator, a7 as legendActions, a8 as legendCallouts, a9 as nativeIndicatorDescriptors, aa as nativeIndicatorTypes, ab as registerDefaultEngine, ac as registerLegendAction, ad as registerLegendCallout, ae as registerNativeIndicator, af as registerSidePanel, ag as registerStatePersistence, ah as registerSymbolRanking, ai as registerWidgetAction, aj as registerWidgetAttachment, ak as resolveEngines, al as sidePanels, am as statePersistenceHandlers, an as symbolRanking, ao as topbarActionOverride, ap as unregisterDefaultEngine, aq as unregisterLegendAction, ar as unregisterLegendCallout, as as unregisterNativeIndicator, at as unregisterSidePanel, au as unregisterStatePersistence, av as unregisterWidgetAction, aw as unregisterWidgetAttachment, ax as widgetActions, ay as widgetAttachments } from './contributions-5nz3PLRe.js';
1
+ import { D as DrawingsDocument, R as Resolved } from './contributions-FqIWhN4p.js';
2
+ export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, c as DataControl, d as DrawingsControl, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, n as IndicatorEventMap, I as IndicatorHandle, o as IndicatorSummary, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, y as PreparedScript, z as RendererControl, A as RunIndicatorResult, G as SceneInspection, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, M as SidePanelDescriptor, Q as SidePanelHandle, T as SidePanelHeader, U as StatePersistenceHandler, X as StrategyFill, Y as StrategyState, Z as StrategyTrade, _ as SymbolRankingHook, $ as TypedEventBus, V as Vela, a0 as VelaDeps, a1 as VelaEventMap, a2 as VisibleBarRange, a3 as WidgetActionDescriptor, a4 as WidgetActionTarget, a5 as WidgetAttachment, W as WidgetContext, a6 as getNativeIndicator, a7 as legendActions, a8 as legendCallouts, a9 as nativeIndicatorDescriptors, aa as nativeIndicatorTypes, ab as registerDefaultEngine, ac as registerLegendAction, ad as registerLegendCallout, ae as registerNativeIndicator, af as registerSidePanel, ag as registerStatePersistence, ah as registerSymbolRanking, ai as registerWidgetAction, aj as registerWidgetAttachment, ak as resolveEngines, al as sidePanels, am as statePersistenceHandlers, an as symbolRanking, ao as topbarActionOverride, ap as unregisterDefaultEngine, aq as unregisterLegendAction, ar as unregisterLegendCallout, as as unregisterNativeIndicator, at as unregisterSidePanel, au as unregisterStatePersistence, av as unregisterWidgetAction, aw as unregisterWidgetAttachment, ax as widgetActions, ay as widgetAttachments } from './contributions-FqIWhN4p.js';
3
3
  import { D as Drawing, S as SerializedDrawing, U as Unsubscribe, L as LineStyle, P as PriceStyle, e as IChartRenderer, R as RendererCapabilities, f as RendererDisplayOptions, g as IndicatorRenderHandle, h as IndicatorStatus, c as VelaTheme, O as OHLCV, i as Pane, j as PaneAction, k as MoveTarget, l as IndicatorModel, m as ScenePatch, I as InputValue, n as SymbolPickerFn, o as LegendActionView, p as LegendCalloutView, q as InputChangeEvent, T as ThemeName, C as CrosshairEvent, r as ClickEvent, A as AxisLongPressEvent, a as VisibleRange, s as DataWindowReadout, t as IDrawingsRendererPort, u as Millis, v as SnapMode, w as DrawingTypeKey, x as ToolbarDefinition, M as MarketConfig } from './options-BCRmYALw.js';
4
4
  export { y as AddIndicatorOptions, z as AnimationConfig, B as Background, E as BoxFontFamily, F as BoxHAlign, G as BoxTextSize, H as BoxVAlign, J as CandleBarColor, K as CandleSeries, Q as CandleStyle, W as DataWindowGroup, X as DataWindowOHLC, Y as DataWindowRow, Z as DirtyRange, _ as DrawingBox, $ as DrawingExtend, a0 as DrawingIntent, a1 as DrawingLabel, a2 as DrawingLine, a3 as DrawingLinefill, a4 as DrawingMode, a5 as DrawingPoint, a6 as DrawingPolyline, a7 as DrawingSeriesBar, a8 as DrawingSeriesGateway, a9 as DrawingSeriesState, aa as DrawingStyle, ab as DrawingTable, ac as DrawingText, ad as DrawingXLoc, ae as DrawingsOption, af as Fill, ag as FillGradientStop, ah as IndicatorMeta, ai as InputCondition, aj as InputSchema, ak as InputType, al as InputWhen, am as LabelStyle, an as LabelYLoc, ao as LineLikeKind, ap as LineLikeSeries, aq as LineLikeStyle, ar as MarkerPoint, as as MarkerSeries, at as MarketSnapshot, au as MarketSwitch, av as PaneAxis, aw as PaneAxisBand, ax as PaneHint, ay as PaneKind, az as PolylinePoint, aA as PriceLine, aB as Projector, aC as ProviderName, aD as RendererConstructor, aE as Scene, aF as SchemaPatch, aG as SeriesKind, aH as SeriesPoint, aI as SeriesSpec, aJ as SeriesValueDelta, aK as SettingsField, aL as SettingsSchema, aM as SettingsVisibilityPolicy, aN as TableCell, aO as TableMerge, aP as TablePosition, aQ as ToolbarGroupConfig, aR as TradeExecution, aS as ValuePatch, b as VelaOptions, V as VisibleRangePreset, aT as buildToolbar, aU as defaultToolbar, aV as inputDeltas, aW as inputVisible } from './options-BCRmYALw.js';
5
5
  import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-Cb-2lC5O.js';
6
- export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, Y as createDrawing, Z as deserializeDrawing, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a2 as registerDrawingType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-CUtfLeqz.js';
6
+ export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, Y as createDrawing, Z as deserializeDrawing, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a2 as registerDrawingType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-B4mnNAeh.js';
7
7
  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-HF0IAzwf.js';
8
8
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
9
9
  export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import './chunk-FE6V2YAQ.js';
2
- export { BarStore, CachingDataFeed, DARK_THEME, DataControl, DrawingStore, DrawingToolbar, DrawingsControl, LIGHT_THEME, MultiProviderFeed, NativeRenderer, RendererControl, TypedEventBus, Vela, buildToolbar, defaultToolbar, resolveTheme, sharedBarStore, timeframeToMs } from './chunk-22QJKGXX.js';
2
+ export { BarStore, CachingDataFeed, DARK_THEME, DataControl, DrawingStore, DrawingToolbar, DrawingsControl, LIGHT_THEME, MultiProviderFeed, NativeRenderer, RendererControl, TypedEventBus, Vela, buildToolbar, defaultToolbar, resolveTheme, sharedBarStore, timeframeToMs } from './chunk-4Q4B5AO3.js';
3
3
  export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, Drawing, OVERRIDABLE_TOPBAR_IDS, chartType, chartTypes, clampPanelWidth, createDrawing, deserializeDrawing, drawingTypes, getDrawingType, getNativeIndicator, inputDeltas, inputVisible, legendActions, legendCallouts, nativeIndicatorDescriptors, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, registerDrawingType, registerLegendAction, registerLegendCallout, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resolveEngines, settingsRowValueKeys, sidePanels, stableSeriesId, statePersistenceHandlers, symbolRanking, tickerModifierIds, topbarActionOverride, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterLegendCallout, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-IFJJPXSV.js';
4
4
  import './chunk-T5Z5YUCF.js';
5
5
  export { ACCENT, ACCENT_BRIGHT, BEARISH, BULLISH, CATEGORICAL, CHIP_PLATE, CROSSHAIR, HIGHLIGHT, INFO, INVALID, MARKER, NEUTRAL, SERIES_LINE, SESSION_OFF, SESSION_POST, SESSION_PRE, SLATE, SLATE_DEEP, TRADE_EXIT, TRADE_LONG, TRADE_SHORT, VALID, WARNING, categoricalColor, iconMarkup, registerIcon } from './chunk-CAFCLMPF.js';
@@ -1,5 +1,5 @@
1
1
  import { w as DrawingTypeKey, aa as DrawingStyle, S as SerializedDrawing, D as Drawing, aG as SeriesKind, O as OHLCV, c as VelaTheme } from './options-BCRmYALw.js';
2
- import { c as DataControl } from './contributions-5nz3PLRe.js';
2
+ import { c as DataControl } from './contributions-FqIWhN4p.js';
3
3
  import './side-panel-HF0IAzwf.js';
4
4
  import './icons-BZYbJXSV.js';
5
5
  import './keymap-CGOz5F5f.js';
@@ -1,5 +1,5 @@
1
1
  import { w as DrawingTypeKey, aa as DrawingStyle, S as SerializedDrawing, D as Drawing, aG as SeriesKind, O as OHLCV, c as VelaTheme } from './options-BCRmYALw.cjs';
2
- import { c as DataControl } from './contributions-DEPRtkmG.cjs';
2
+ import { c as DataControl } from './contributions-D8HdlKmp.cjs';
3
3
  import './side-panel-HF0IAzwf.cjs';
4
4
  import './icons-BZYbJXSV.cjs';
5
5
  import './keymap-CGOz5F5f.cjs';
package/dist/plugin.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-DVUaROPo.cjs';
2
- export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, y as PreparedScript, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, M as SidePanelDescriptor, Q as SidePanelHandle, T as SidePanelHeader, U as StatePersistenceHandler, X as StrategyFill, Y as StrategyState, Z as StrategyTrade, _ as SymbolRankingHook, a2 as VisibleBarRange, a3 as WidgetActionDescriptor, a4 as WidgetActionTarget, a5 as WidgetAttachment, W as WidgetContext, a6 as getNativeIndicator, a7 as legendActions, a8 as legendCallouts, aa as nativeIndicatorTypes, ab as registerDefaultEngine, ac as registerLegendAction, ad as registerLegendCallout, ae as registerNativeIndicator, af as registerSidePanel, ag as registerStatePersistence, ah as registerSymbolRanking, ai as registerWidgetAction, aj as registerWidgetAttachment, ak as resolveEngines, al as sidePanels, am as statePersistenceHandlers, an as symbolRanking, ao as topbarActionOverride, ap as unregisterDefaultEngine, aq as unregisterLegendAction, ar as unregisterLegendCallout, as as unregisterNativeIndicator, at as unregisterSidePanel, au as unregisterStatePersistence, av as unregisterWidgetAction, aw as unregisterWidgetAttachment, ax as widgetActions, ay as widgetAttachments } from './contributions-DEPRtkmG.cjs';
1
+ export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-Ccupy_BV.cjs';
2
+ export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, y as PreparedScript, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, M as SidePanelDescriptor, Q as SidePanelHandle, T as SidePanelHeader, U as StatePersistenceHandler, X as StrategyFill, Y as StrategyState, Z as StrategyTrade, _ as SymbolRankingHook, a2 as VisibleBarRange, a3 as WidgetActionDescriptor, a4 as WidgetActionTarget, a5 as WidgetAttachment, W as WidgetContext, a6 as getNativeIndicator, a7 as legendActions, a8 as legendCallouts, aa as nativeIndicatorTypes, ab as registerDefaultEngine, ac as registerLegendAction, ad as registerLegendCallout, ae as registerNativeIndicator, af as registerSidePanel, ag as registerStatePersistence, ah as registerSymbolRanking, ai as registerWidgetAction, aj as registerWidgetAttachment, ak as resolveEngines, al as sidePanels, am as statePersistenceHandlers, an as symbolRanking, ao as topbarActionOverride, ap as unregisterDefaultEngine, aq as unregisterLegendAction, ar as unregisterLegendCallout, as as unregisterNativeIndicator, at as unregisterSidePanel, au as unregisterStatePersistence, av as unregisterWidgetAction, aw as unregisterWidgetAttachment, ax as widgetActions, ay as widgetAttachments } from './contributions-D8HdlKmp.cjs';
3
3
  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-HF0IAzwf.cjs';
4
4
  export { B as Background, E as BoxFontFamily, F as BoxHAlign, G as BoxTextSize, H as BoxVAlign, J as CandleBarColor, K as CandleSeries, Q as CandleStyle, Z as DirtyRange, _ as DrawingBox, $ as DrawingExtend, a1 as DrawingLabel, a2 as DrawingLine, a3 as DrawingLinefill, a6 as DrawingPolyline, ab as DrawingTable, w as DrawingTypeKey, ad as DrawingXLoc, af as Fill, ag as FillGradientStop, ah as IndicatorMeta, l as IndicatorModel, ai as InputCondition, aj as InputSchema, ak as InputType, I as InputValue, al as InputWhen, am as LabelStyle, an as LabelYLoc, ao as LineLikeKind, ap as LineLikeSeries, aq as LineLikeStyle, L as LineStyle, ar as MarkerPoint, as as MarkerSeries, u as Millis, O as OHLCV, i as Pane, av as PaneAxis, aw as PaneAxisBand, ax as PaneHint, ay as PaneKind, az as PolylinePoint, aA as PriceLine, P as PriceStyle, aE as Scene, m as ScenePatch, aF as SchemaPatch, aG as SeriesKind, aH as SeriesPoint, aI as SeriesSpec, aJ as SeriesValueDelta, aN as TableCell, aO as TableMerge, aP as TablePosition, aR as TradeExecution, aS as ValuePatch, aV as inputDeltas, aW as inputVisible } from './options-BCRmYALw.cjs';
5
5
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.cjs';
package/dist/plugin.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-CUtfLeqz.js';
2
- export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, y as PreparedScript, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, M as SidePanelDescriptor, Q as SidePanelHandle, T as SidePanelHeader, U as StatePersistenceHandler, X as StrategyFill, Y as StrategyState, Z as StrategyTrade, _ as SymbolRankingHook, a2 as VisibleBarRange, a3 as WidgetActionDescriptor, a4 as WidgetActionTarget, a5 as WidgetAttachment, W as WidgetContext, a6 as getNativeIndicator, a7 as legendActions, a8 as legendCallouts, aa as nativeIndicatorTypes, ab as registerDefaultEngine, ac as registerLegendAction, ad as registerLegendCallout, ae as registerNativeIndicator, af as registerSidePanel, ag as registerStatePersistence, ah as registerSymbolRanking, ai as registerWidgetAction, aj as registerWidgetAttachment, ak as resolveEngines, al as sidePanels, am as statePersistenceHandlers, an as symbolRanking, ao as topbarActionOverride, ap as unregisterDefaultEngine, aq as unregisterLegendAction, ar as unregisterLegendCallout, as as unregisterNativeIndicator, at as unregisterSidePanel, au as unregisterStatePersistence, av as unregisterWidgetAction, aw as unregisterWidgetAttachment, ax as widgetActions, ay as widgetAttachments } from './contributions-5nz3PLRe.js';
1
+ export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-B4mnNAeh.js';
2
+ export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, y as PreparedScript, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, M as SidePanelDescriptor, Q as SidePanelHandle, T as SidePanelHeader, U as StatePersistenceHandler, X as StrategyFill, Y as StrategyState, Z as StrategyTrade, _ as SymbolRankingHook, a2 as VisibleBarRange, a3 as WidgetActionDescriptor, a4 as WidgetActionTarget, a5 as WidgetAttachment, W as WidgetContext, a6 as getNativeIndicator, a7 as legendActions, a8 as legendCallouts, aa as nativeIndicatorTypes, ab as registerDefaultEngine, ac as registerLegendAction, ad as registerLegendCallout, ae as registerNativeIndicator, af as registerSidePanel, ag as registerStatePersistence, ah as registerSymbolRanking, ai as registerWidgetAction, aj as registerWidgetAttachment, ak as resolveEngines, al as sidePanels, am as statePersistenceHandlers, an as symbolRanking, ao as topbarActionOverride, ap as unregisterDefaultEngine, aq as unregisterLegendAction, ar as unregisterLegendCallout, as as unregisterNativeIndicator, at as unregisterSidePanel, au as unregisterStatePersistence, av as unregisterWidgetAction, aw as unregisterWidgetAttachment, ax as widgetActions, ay as widgetAttachments } from './contributions-FqIWhN4p.js';
3
3
  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-HF0IAzwf.js';
4
4
  export { B as Background, E as BoxFontFamily, F as BoxHAlign, G as BoxTextSize, H as BoxVAlign, J as CandleBarColor, K as CandleSeries, Q as CandleStyle, Z as DirtyRange, _ as DrawingBox, $ as DrawingExtend, a1 as DrawingLabel, a2 as DrawingLine, a3 as DrawingLinefill, a6 as DrawingPolyline, ab as DrawingTable, w as DrawingTypeKey, ad as DrawingXLoc, af as Fill, ag as FillGradientStop, ah as IndicatorMeta, l as IndicatorModel, ai as InputCondition, aj as InputSchema, ak as InputType, I as InputValue, al as InputWhen, am as LabelStyle, an as LabelYLoc, ao as LineLikeKind, ap as LineLikeSeries, aq as LineLikeStyle, L as LineStyle, ar as MarkerPoint, as as MarkerSeries, u as Millis, O as OHLCV, i as Pane, av as PaneAxis, aw as PaneAxisBand, ax as PaneHint, ay as PaneKind, az as PolylinePoint, aA as PriceLine, P as PriceStyle, aE as Scene, m as ScenePatch, aF as SchemaPatch, aG as SeriesKind, aH as SeriesPoint, aI as SeriesSpec, aJ as SeriesValueDelta, aN as TableCell, aO as TableMerge, aP as TablePosition, aR as TradeExecution, aS as ValuePatch, aV as inputDeltas, aW as inputVisible } from './options-BCRmYALw.js';
5
5
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
@@ -1,5 +1,5 @@
1
1
  import { D as DataProvider } from './DataProvider-Cb-2lC5O.js';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-5nz3PLRe.js';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-FqIWhN4p.js';
3
3
  import { V as VisibleRangePreset } from './options-BCRmYALw.js';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
@@ -66,12 +66,13 @@ interface CellState {
66
66
  rendererConfig?: unknown;
67
67
  /** The user-drawings document (`drawings.toJSON()`). */
68
68
  drawings?: unknown;
69
- /** The indicator ledger: manifest entries + present native types. A manifest entry
70
- * is the bare NAME when every value sits on its declaration default, else the
71
- * name plus the input/prop DELTAS (defaults are never frozen into documents). */
69
+ /** The indicator ledger: manifest entries + native entries. Either side persists
70
+ * the bare NAME/TYPE when every value sits on its declaration default and the
71
+ * indicator is visible, else the name/type plus the input(/prop) DELTAS and a
72
+ * `hidden` flag (defaults are never frozen into documents). */
72
73
  indicators?: {
73
74
  manifest: PersistedManifestEntry[];
74
- natives: string[];
75
+ natives: PersistedNativeEntry[];
75
76
  };
76
77
  /** Third-party per-chart state, by namespaced key (`'vendor.feature'`) — written and
77
78
  * read by registered state-persistence handlers (`registerStatePersistence`, scope
@@ -85,6 +86,15 @@ type PersistedManifestEntry = string | {
85
86
  name: string;
86
87
  inputs?: Record<string, unknown>;
87
88
  props?: Record<string, unknown>;
89
+ hidden?: boolean;
90
+ };
91
+ /** One persisted native-indicator entry (see `CellState.indicators`). The bare TYPE is
92
+ * the historical shape and still the common case; the object form carries the input
93
+ * DELTAS and/or the hidden flag so native settings and visibility survive a reload. */
94
+ type PersistedNativeEntry = string | {
95
+ type: string;
96
+ inputs?: Record<string, unknown>;
97
+ hidden?: boolean;
88
98
  };
89
99
  /** One entry of the document's `charts` array: a chart's state plus its cell IDENTITY. */
90
100
  interface ChartState extends CellState {
@@ -1,5 +1,5 @@
1
1
  import { D as DataProvider } from './DataProvider-UtWw2CgJ.cjs';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-DEPRtkmG.cjs';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-D8HdlKmp.cjs';
3
3
  import { V as VisibleRangePreset } from './options-BCRmYALw.cjs';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
@@ -66,12 +66,13 @@ interface CellState {
66
66
  rendererConfig?: unknown;
67
67
  /** The user-drawings document (`drawings.toJSON()`). */
68
68
  drawings?: unknown;
69
- /** The indicator ledger: manifest entries + present native types. A manifest entry
70
- * is the bare NAME when every value sits on its declaration default, else the
71
- * name plus the input/prop DELTAS (defaults are never frozen into documents). */
69
+ /** The indicator ledger: manifest entries + native entries. Either side persists
70
+ * the bare NAME/TYPE when every value sits on its declaration default and the
71
+ * indicator is visible, else the name/type plus the input(/prop) DELTAS and a
72
+ * `hidden` flag (defaults are never frozen into documents). */
72
73
  indicators?: {
73
74
  manifest: PersistedManifestEntry[];
74
- natives: string[];
75
+ natives: PersistedNativeEntry[];
75
76
  };
76
77
  /** Third-party per-chart state, by namespaced key (`'vendor.feature'`) — written and
77
78
  * read by registered state-persistence handlers (`registerStatePersistence`, scope
@@ -85,6 +86,15 @@ type PersistedManifestEntry = string | {
85
86
  name: string;
86
87
  inputs?: Record<string, unknown>;
87
88
  props?: Record<string, unknown>;
89
+ hidden?: boolean;
90
+ };
91
+ /** One persisted native-indicator entry (see `CellState.indicators`). The bare TYPE is
92
+ * the historical shape and still the common case; the object form carries the input
93
+ * DELTAS and/or the hidden flag so native settings and visibility survive a reload. */
94
+ type PersistedNativeEntry = string | {
95
+ type: string;
96
+ inputs?: Record<string, unknown>;
97
+ hidden?: boolean;
88
98
  };
89
99
  /** One entry of the document's `charts` array: a chart's state plus its cell IDENTITY. */
90
100
  interface ChartState extends CellState {
@@ -38903,6 +38903,8 @@ ${overlayScrollbarCss(".vela-sd-pane")}
38903
38903
  var ClassicIndicator = class {
38904
38904
  constructor(spec) {
38905
38905
  this.spec = spec;
38906
+ /** Null until start() — a pre-start setInputs must record without computing. */
38907
+ this.ctx = null;
38906
38908
  this.inputs = {};
38907
38909
  }
38908
38910
  start(ctx, inputs) {
@@ -38917,6 +38919,7 @@ ${overlayScrollbarCss(".vela-sd-pane")}
38917
38919
  }
38918
38920
  setInputs(inputs) {
38919
38921
  this.inputs = inputs;
38922
+ if (!this.ctx) return;
38920
38923
  this.recompute();
38921
38924
  }
38922
38925
  /** Nothing to free — the compute reads the live bar accessor on demand. */
@@ -38928,6 +38931,7 @@ ${overlayScrollbarCss(".vela-sd-pane")}
38928
38931
  stop() {
38929
38932
  }
38930
38933
  recompute() {
38934
+ if (!this.ctx) return;
38931
38935
  const bars = this.ctx.bars();
38932
38936
  const out = this.spec.compute(bars, this.inputs);
38933
38937
  const instanceId = this.spec.type;