@luxalgo/vela 0.6.7 → 0.6.8

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.
@@ -2953,12 +2953,16 @@ var IndicatorInputsDialog = class {
2953
2953
  closeOnEscape: false,
2954
2954
  footer: (foot) => {
2955
2955
  foot.append(
2956
+ this.resetAction(),
2956
2957
  this.dialogButton("Cancel", false, () => this.revertAndClose()),
2957
2958
  this.dialogButton("Ok", true, () => this.close())
2958
2959
  );
2959
2960
  },
2961
+ // Stale-guard: destroying a dialog fires its machine's onOpenChange(false)
2962
+ // asynchronously — after a reset rebuild that notification must not close
2963
+ // the replacement dialog.
2960
2964
  onOpenChange: (open) => {
2961
- if (!open) this.close();
2965
+ if (!open && this.uiDialog === ui) this.close();
2962
2966
  }
2963
2967
  });
2964
2968
  applyChromeTokens(ui.panel, t);
@@ -3089,6 +3093,30 @@ var IndicatorInputsDialog = class {
3089
3093
  }
3090
3094
  this.close();
3091
3095
  }
3096
+ /** The footer's reset button — same chip as Cancel, pinned to the LEFT edge
3097
+ * (`margin-right:auto` against the footer's flex-end keeps Cancel/Ok right). */
3098
+ resetAction() {
3099
+ const b = this.dialogButton("Reset defaults", false, () => this.resetToDefaults());
3100
+ b.style.marginRight = "auto";
3101
+ return b;
3102
+ }
3103
+ /** Restore every input to its declared default (re-running the indicator), then
3104
+ * re-open the form so each control re-reads the restored values — the same
3105
+ * rebuild-after-reset move as the chart-settings dialog. The open-time snapshot
3106
+ * survives the rebuild, so Cancel after a reset still reverts the whole session. */
3107
+ resetToDefaults() {
3108
+ const row = this.row;
3109
+ if (!row) return;
3110
+ const snap = this.snapshot;
3111
+ for (const inp of row.inputs) {
3112
+ if (row.values[inp.key] !== inp.defval) {
3113
+ row.values[inp.key] = inp.defval;
3114
+ this.host.onChange?.({ indicatorId: row.id, key: inp.key, value: inp.defval });
3115
+ }
3116
+ }
3117
+ this.open(row);
3118
+ if (snap) this.snapshot = snap;
3119
+ }
3092
3120
  /** Write one edit through: store it, notify the host, and re-apply the `when` gates. */
3093
3121
  commit(row, key, value) {
3094
3122
  row.values[key] = value;
@@ -14805,6 +14833,11 @@ function resizeSplit(split, dyTotal, minPx = MIN_PANE_PX) {
14805
14833
  }
14806
14834
 
14807
14835
  // src/renderers/native/backdrop/BackdropRenderer.ts
14836
+ function clipHighlightRect(x1, x2, left, right) {
14837
+ const x = Math.max(left, x1);
14838
+ const end = Math.min(right, x2);
14839
+ return end > x ? { x, width: end - x } : null;
14840
+ }
14808
14841
  var BackdropRenderer = class {
14809
14842
  constructor() {
14810
14843
  this.canvas = null;
@@ -14837,17 +14870,22 @@ var BackdropRenderer = class {
14837
14870
  /** Renderer-owned session highlight bands: full-height (all panes), behind the grid.
14838
14871
  * Session-zone washes (pre/post-market) paint first, host highlights on top. */
14839
14872
  drawHighlights(ctx, scene, coords) {
14840
- const bands = [...scene.sessionHighlightBands(), ...scene.highlights];
14841
- if (bands.length === 0) return;
14873
+ const sessions = scene.sessionHighlightBands();
14874
+ if (sessions.length > 0) {
14875
+ const left = Math.max(0, coords.logicalToX(-0.5));
14876
+ const right = Math.min(coords.width, coords.logicalToX(coords.barCount - 0.5));
14877
+ this.drawHighlightSet(ctx, sessions, coords, left, right);
14878
+ }
14879
+ this.drawHighlightSet(ctx, scene.highlights, coords, 0, coords.width);
14880
+ }
14881
+ drawHighlightSet(ctx, bands, coords, left, right) {
14842
14882
  for (const band of bands) {
14843
14883
  const x1 = coords.timeToX(band.from);
14844
14884
  const x2 = coords.timeToX(band.to);
14845
- if (x2 < 0 || x1 > coords.width || x2 <= x1) continue;
14846
- const cx = Math.max(0, x1);
14847
- const cw = Math.min(coords.width, x2) - cx;
14848
- if (cw <= 0) continue;
14885
+ const rect = clipHighlightRect(x1, x2, left, right);
14886
+ if (!rect) continue;
14849
14887
  ctx.fillStyle = band.color;
14850
- ctx.fillRect(cx, 0, cw, coords.height);
14888
+ ctx.fillRect(rect.x, 0, rect.width, coords.height);
14851
14889
  }
14852
14890
  }
14853
14891
  // ── grid ── vert/horz gate on `scene.showGrid` AND their own per-axis visibility
@@ -1439,6 +1439,10 @@ interface WidgetContext {
1439
1439
  * a shell may replace its chart instance, and a captured one would be destroyed.
1440
1440
  * (Symbol and timeframe switches are applied IN PLACE — the instance survives them.) */
1441
1441
  chart: Vela;
1442
+ /** LIVE getters, like `chart` — they resolve the ACTIVE cell's market at every
1443
+ * read, so an attachment that holds its mount context keeps reading the truth
1444
+ * after a symbol/timeframe switch. Read them at the point of use; never copy
1445
+ * them into long-lived state. */
1442
1446
  symbol: string;
1443
1447
  timeframe: string;
1444
1448
  priceStyle: string;
@@ -1485,9 +1489,18 @@ interface WidgetActionDescriptor {
1485
1489
  /** Stable id — re-registering an id replaces it. */
1486
1490
  id: string;
1487
1491
  target: WidgetActionTarget;
1492
+ /** Always required, even icon-only: it is the button's aria-label and tooltip, the
1493
+ * mobile drawer row's text, and the context-menu item's label. */
1488
1494
  label: string;
1489
1495
  /** Icon id from the `vela/ui` icon registry (register yours with `registerIcon`). */
1490
1496
  icon?: string;
1497
+ /** Topbar only: render the DESKTOP button icon-only, like the built-in tools — the
1498
+ * `label` moves to the aria-label and a kit tooltip instead of button text (mobile
1499
+ * surfaces keep their text). The right cluster gets the native 32px tool look; the
1500
+ * left cluster keeps the primary chrome, minus the text. Requires `icon` — without
1501
+ * one the flag is ignored (with a console warning) and the label renders. The piece
1502
+ * that makes a `'screenshot'` slot override pixel-faithful to the native button. */
1503
+ iconOnly?: boolean;
1491
1504
  /** Sort key within the contributed group (ascending; default 0). */
1492
1505
  order?: number;
1493
1506
  /** Topbar only: which cluster the button joins. `'right'` (default) is the
@@ -1439,6 +1439,10 @@ interface WidgetContext {
1439
1439
  * a shell may replace its chart instance, and a captured one would be destroyed.
1440
1440
  * (Symbol and timeframe switches are applied IN PLACE — the instance survives them.) */
1441
1441
  chart: Vela;
1442
+ /** LIVE getters, like `chart` — they resolve the ACTIVE cell's market at every
1443
+ * read, so an attachment that holds its mount context keeps reading the truth
1444
+ * after a symbol/timeframe switch. Read them at the point of use; never copy
1445
+ * them into long-lived state. */
1442
1446
  symbol: string;
1443
1447
  timeframe: string;
1444
1448
  priceStyle: string;
@@ -1485,9 +1489,18 @@ interface WidgetActionDescriptor {
1485
1489
  /** Stable id — re-registering an id replaces it. */
1486
1490
  id: string;
1487
1491
  target: WidgetActionTarget;
1492
+ /** Always required, even icon-only: it is the button's aria-label and tooltip, the
1493
+ * mobile drawer row's text, and the context-menu item's label. */
1488
1494
  label: string;
1489
1495
  /** Icon id from the `vela/ui` icon registry (register yours with `registerIcon`). */
1490
1496
  icon?: string;
1497
+ /** Topbar only: render the DESKTOP button icon-only, like the built-in tools — the
1498
+ * `label` moves to the aria-label and a kit tooltip instead of button text (mobile
1499
+ * surfaces keep their text). The right cluster gets the native 32px tool look; the
1500
+ * left cluster keeps the primary chrome, minus the text. Requires `icon` — without
1501
+ * one the flag is ignored (with a console warning) and the label renders. The piece
1502
+ * that makes a `'screenshot'` slot override pixel-faithful to the native button. */
1503
+ iconOnly?: boolean;
1491
1504
  /** Sort key within the contributed group (ascending; default 0). */
1492
1505
  order?: number;
1493
1506
  /** Topbar only: which cluster the button joins. `'right'` (default) is the
package/dist/index.cjs CHANGED
@@ -12600,12 +12600,16 @@ var IndicatorInputsDialog = class {
12600
12600
  closeOnEscape: false,
12601
12601
  footer: (foot) => {
12602
12602
  foot.append(
12603
+ this.resetAction(),
12603
12604
  this.dialogButton("Cancel", false, () => this.revertAndClose()),
12604
12605
  this.dialogButton("Ok", true, () => this.close())
12605
12606
  );
12606
12607
  },
12608
+ // Stale-guard: destroying a dialog fires its machine's onOpenChange(false)
12609
+ // asynchronously — after a reset rebuild that notification must not close
12610
+ // the replacement dialog.
12607
12611
  onOpenChange: (open2) => {
12608
- if (!open2) this.close();
12612
+ if (!open2 && this.uiDialog === ui) this.close();
12609
12613
  }
12610
12614
  });
12611
12615
  applyChromeTokens(ui.panel, t);
@@ -12736,6 +12740,30 @@ var IndicatorInputsDialog = class {
12736
12740
  }
12737
12741
  this.close();
12738
12742
  }
12743
+ /** The footer's reset button — same chip as Cancel, pinned to the LEFT edge
12744
+ * (`margin-right:auto` against the footer's flex-end keeps Cancel/Ok right). */
12745
+ resetAction() {
12746
+ const b = this.dialogButton("Reset defaults", false, () => this.resetToDefaults());
12747
+ b.style.marginRight = "auto";
12748
+ return b;
12749
+ }
12750
+ /** Restore every input to its declared default (re-running the indicator), then
12751
+ * re-open the form so each control re-reads the restored values — the same
12752
+ * rebuild-after-reset move as the chart-settings dialog. The open-time snapshot
12753
+ * survives the rebuild, so Cancel after a reset still reverts the whole session. */
12754
+ resetToDefaults() {
12755
+ const row = this.row;
12756
+ if (!row) return;
12757
+ const snap = this.snapshot;
12758
+ for (const inp of row.inputs) {
12759
+ if (row.values[inp.key] !== inp.defval) {
12760
+ row.values[inp.key] = inp.defval;
12761
+ this.host.onChange?.({ indicatorId: row.id, key: inp.key, value: inp.defval });
12762
+ }
12763
+ }
12764
+ this.open(row);
12765
+ if (snap) this.snapshot = snap;
12766
+ }
12739
12767
  /** Write one edit through: store it, notify the host, and re-apply the `when` gates. */
12740
12768
  commit(row, key, value) {
12741
12769
  row.values[key] = value;
@@ -25166,6 +25194,11 @@ function resizeSplit(split, dyTotal, minPx = MIN_PANE_PX) {
25166
25194
  }
25167
25195
 
25168
25196
  // src/renderers/native/backdrop/BackdropRenderer.ts
25197
+ function clipHighlightRect(x1, x2, left, right) {
25198
+ const x = Math.max(left, x1);
25199
+ const end = Math.min(right, x2);
25200
+ return end > x ? { x, width: end - x } : null;
25201
+ }
25169
25202
  var BackdropRenderer = class {
25170
25203
  constructor() {
25171
25204
  this.canvas = null;
@@ -25198,17 +25231,22 @@ var BackdropRenderer = class {
25198
25231
  /** Renderer-owned session highlight bands: full-height (all panes), behind the grid.
25199
25232
  * Session-zone washes (pre/post-market) paint first, host highlights on top. */
25200
25233
  drawHighlights(ctx, scene, coords) {
25201
- const bands = [...scene.sessionHighlightBands(), ...scene.highlights];
25202
- if (bands.length === 0) return;
25234
+ const sessions = scene.sessionHighlightBands();
25235
+ if (sessions.length > 0) {
25236
+ const left = Math.max(0, coords.logicalToX(-0.5));
25237
+ const right = Math.min(coords.width, coords.logicalToX(coords.barCount - 0.5));
25238
+ this.drawHighlightSet(ctx, sessions, coords, left, right);
25239
+ }
25240
+ this.drawHighlightSet(ctx, scene.highlights, coords, 0, coords.width);
25241
+ }
25242
+ drawHighlightSet(ctx, bands, coords, left, right) {
25203
25243
  for (const band of bands) {
25204
25244
  const x1 = coords.timeToX(band.from);
25205
25245
  const x2 = coords.timeToX(band.to);
25206
- if (x2 < 0 || x1 > coords.width || x2 <= x1) continue;
25207
- const cx = Math.max(0, x1);
25208
- const cw = Math.min(coords.width, x2) - cx;
25209
- if (cw <= 0) continue;
25246
+ const rect = clipHighlightRect(x1, x2, left, right);
25247
+ if (!rect) continue;
25210
25248
  ctx.fillStyle = band.color;
25211
- ctx.fillRect(cx, 0, cw, coords.height);
25249
+ ctx.fillRect(rect.x, 0, rect.width, coords.height);
25212
25250
  }
25213
25251
  }
25214
25252
  // ── grid ── vert/horz gate on `scene.showGrid` AND their own per-axis visibility
package/dist/index.d.cts CHANGED
@@ -1,9 +1,9 @@
1
- import { D as DrawingsDocument, R as Resolved } from './contributions-Hv4_cOJo.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 LegendIndicatorInfo, N as NativeIndicator, q as NativeIndicatorContext, r as NativeIndicatorDescriptor, s as NativeIndicatorInfo, t as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, u as PreparedScript, v as RendererControl, w as RunIndicatorResult, x as SceneInspection, a as ScriptRun, y as ScriptRunCause, z as ScriptRunResult, S as ScriptingEngine, A as SidePanelButton, G as SidePanelDescriptor, H as SidePanelHandle, J as SidePanelHeader, K as StatePersistenceHandler, M as StrategyFill, Q as StrategyState, T as StrategyTrade, U as SymbolRankingHook, X as TypedEventBus, V as Vela, Y as VelaDeps, Z as VelaEventMap, _ as VisibleBarRange, $ as WidgetActionDescriptor, a0 as WidgetActionTarget, a1 as WidgetAttachment, W as WidgetContext, a2 as getNativeIndicator, a3 as legendActions, a4 as nativeIndicatorDescriptors, a5 as nativeIndicatorTypes, a6 as registerDefaultEngine, a7 as registerLegendAction, a8 as registerNativeIndicator, a9 as registerSidePanel, aa as registerStatePersistence, ab as registerSymbolRanking, ac as registerWidgetAction, ad as registerWidgetAttachment, ae as resolveEngines, af as sidePanels, ag as statePersistenceHandlers, ah as symbolRanking, ai as topbarActionOverride, aj as unregisterDefaultEngine, ak as unregisterLegendAction, al as unregisterNativeIndicator, am as unregisterSidePanel, an as unregisterStatePersistence, ao as unregisterWidgetAction, ap as unregisterWidgetAttachment, aq as widgetActions, ar as widgetAttachments } from './contributions-Hv4_cOJo.cjs';
1
+ import { D as DrawingsDocument, R as Resolved } from './contributions-Vw-Hm58R.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 LegendIndicatorInfo, N as NativeIndicator, q as NativeIndicatorContext, r as NativeIndicatorDescriptor, s as NativeIndicatorInfo, t as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, u as PreparedScript, v as RendererControl, w as RunIndicatorResult, x as SceneInspection, a as ScriptRun, y as ScriptRunCause, z as ScriptRunResult, S as ScriptingEngine, A as SidePanelButton, G as SidePanelDescriptor, H as SidePanelHandle, J as SidePanelHeader, K as StatePersistenceHandler, M as StrategyFill, Q as StrategyState, T as StrategyTrade, U as SymbolRankingHook, X as TypedEventBus, V as Vela, Y as VelaDeps, Z as VelaEventMap, _ as VisibleBarRange, $ as WidgetActionDescriptor, a0 as WidgetActionTarget, a1 as WidgetAttachment, W as WidgetContext, a2 as getNativeIndicator, a3 as legendActions, a4 as nativeIndicatorDescriptors, a5 as nativeIndicatorTypes, a6 as registerDefaultEngine, a7 as registerLegendAction, a8 as registerNativeIndicator, a9 as registerSidePanel, aa as registerStatePersistence, ab as registerSymbolRanking, ac as registerWidgetAction, ad as registerWidgetAttachment, ae as resolveEngines, af as sidePanels, ag as statePersistenceHandlers, ah as symbolRanking, ai as topbarActionOverride, aj as unregisterDefaultEngine, ak as unregisterLegendAction, al as unregisterNativeIndicator, am as unregisterSidePanel, an as unregisterStatePersistence, ao as unregisterWidgetAction, ap as unregisterWidgetAttachment, aq as widgetActions, ar as widgetAttachments } from './contributions-Vw-Hm58R.cjs';
3
3
  import { D as Drawing, S as SerializedDrawing, U as Unsubscribe, L as LineStyle, P as PriceStyle, I as IChartRenderer, R as RendererCapabilities, e as RendererDisplayOptions, f as IndicatorRenderHandle, g as IndicatorStatus, c as VelaTheme, O as OHLCV, h as Pane, i as PaneAction, j as MoveTarget, k as IndicatorModel, l as ScenePatch, m as InputValue, n as SymbolPickerFn, o as LegendActionView, p as InputChangeEvent, T as ThemeName, C as CrosshairEvent, q as ClickEvent, A as AxisLongPressEvent, a as VisibleRange, r as DataWindowReadout, s as IDrawingsRendererPort, t as Millis, u as SnapMode, v as DrawingTypeKey, w as ToolbarDefinition, M as MarketConfig } from './options-BaVTMXaO.cjs';
4
4
  export { x as AddIndicatorOptions, B as Background, y as BoxFontFamily, z as BoxHAlign, E as BoxTextSize, F as BoxVAlign, G as CandleBarColor, H as CandleSeries, J as CandleStyle, K as DataWindowGroup, Q as DataWindowOHLC, W as DataWindowRow, X as DirtyRange, Y as DrawingBox, Z as DrawingExtend, _ as DrawingIntent, $ as DrawingLabel, a0 as DrawingLine, a1 as DrawingLinefill, a2 as DrawingMode, a3 as DrawingPoint, a4 as DrawingPolyline, a5 as DrawingStyle, a6 as DrawingTable, a7 as DrawingText, a8 as DrawingXLoc, a9 as DrawingsOption, aa as Fill, ab as FillGradientStop, ac as IndicatorMeta, ad as InputCondition, ae as InputSchema, af as InputType, ag as InputWhen, ah as LabelStyle, ai as LabelYLoc, aj as LineLikeKind, ak as LineLikeSeries, al as LineLikeStyle, am as MarkerPoint, an as MarkerSeries, ao as MarketSnapshot, ap as MarketSwitch, aq as PaneAxis, ar as PaneAxisBand, as as PaneHint, at as PaneKind, au as PolylinePoint, av as PriceLine, aw as Projector, ax as ProviderName, ay as RendererConstructor, az as Scene, aA as SchemaPatch, aB as SeriesKind, aC as SeriesPoint, aD as SeriesSpec, aE as SeriesValueDelta, aF as SettingsField, aG as SettingsSchema, aH as SettingsVisibilityPolicy, aI as TableCell, aJ as TableMerge, aK as TablePosition, aL as ToolbarGroupConfig, aM as TradeExecution, aN as ValuePatch, b as VelaOptions, V as VisibleRangePreset, aO as buildToolbar, aP as defaultToolbar, aQ as inputVisible } from './options-BaVTMXaO.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-BsQM2WNH.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 CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, X as createDrawing, Y as deserializeDrawing, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a1 as registerDrawingType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-BXhDHTYn.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 CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, X as createDrawing, Y as deserializeDrawing, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a1 as registerDrawingType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-BnJgjLAy.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-CT9ZwIGz.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-Z12BrWCy.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 LegendIndicatorInfo, N as NativeIndicator, q as NativeIndicatorContext, r as NativeIndicatorDescriptor, s as NativeIndicatorInfo, t as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, u as PreparedScript, v as RendererControl, w as RunIndicatorResult, x as SceneInspection, a as ScriptRun, y as ScriptRunCause, z as ScriptRunResult, S as ScriptingEngine, A as SidePanelButton, G as SidePanelDescriptor, H as SidePanelHandle, J as SidePanelHeader, K as StatePersistenceHandler, M as StrategyFill, Q as StrategyState, T as StrategyTrade, U as SymbolRankingHook, X as TypedEventBus, V as Vela, Y as VelaDeps, Z as VelaEventMap, _ as VisibleBarRange, $ as WidgetActionDescriptor, a0 as WidgetActionTarget, a1 as WidgetAttachment, W as WidgetContext, a2 as getNativeIndicator, a3 as legendActions, a4 as nativeIndicatorDescriptors, a5 as nativeIndicatorTypes, a6 as registerDefaultEngine, a7 as registerLegendAction, a8 as registerNativeIndicator, a9 as registerSidePanel, aa as registerStatePersistence, ab as registerSymbolRanking, ac as registerWidgetAction, ad as registerWidgetAttachment, ae as resolveEngines, af as sidePanels, ag as statePersistenceHandlers, ah as symbolRanking, ai as topbarActionOverride, aj as unregisterDefaultEngine, ak as unregisterLegendAction, al as unregisterNativeIndicator, am as unregisterSidePanel, an as unregisterStatePersistence, ao as unregisterWidgetAction, ap as unregisterWidgetAttachment, aq as widgetActions, ar as widgetAttachments } from './contributions-Z12BrWCy.js';
1
+ import { D as DrawingsDocument, R as Resolved } from './contributions-DLLdV9jD.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 LegendIndicatorInfo, N as NativeIndicator, q as NativeIndicatorContext, r as NativeIndicatorDescriptor, s as NativeIndicatorInfo, t as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, u as PreparedScript, v as RendererControl, w as RunIndicatorResult, x as SceneInspection, a as ScriptRun, y as ScriptRunCause, z as ScriptRunResult, S as ScriptingEngine, A as SidePanelButton, G as SidePanelDescriptor, H as SidePanelHandle, J as SidePanelHeader, K as StatePersistenceHandler, M as StrategyFill, Q as StrategyState, T as StrategyTrade, U as SymbolRankingHook, X as TypedEventBus, V as Vela, Y as VelaDeps, Z as VelaEventMap, _ as VisibleBarRange, $ as WidgetActionDescriptor, a0 as WidgetActionTarget, a1 as WidgetAttachment, W as WidgetContext, a2 as getNativeIndicator, a3 as legendActions, a4 as nativeIndicatorDescriptors, a5 as nativeIndicatorTypes, a6 as registerDefaultEngine, a7 as registerLegendAction, a8 as registerNativeIndicator, a9 as registerSidePanel, aa as registerStatePersistence, ab as registerSymbolRanking, ac as registerWidgetAction, ad as registerWidgetAttachment, ae as resolveEngines, af as sidePanels, ag as statePersistenceHandlers, ah as symbolRanking, ai as topbarActionOverride, aj as unregisterDefaultEngine, ak as unregisterLegendAction, al as unregisterNativeIndicator, am as unregisterSidePanel, an as unregisterStatePersistence, ao as unregisterWidgetAction, ap as unregisterWidgetAttachment, aq as widgetActions, ar as widgetAttachments } from './contributions-DLLdV9jD.js';
3
3
  import { D as Drawing, S as SerializedDrawing, U as Unsubscribe, L as LineStyle, P as PriceStyle, I as IChartRenderer, R as RendererCapabilities, e as RendererDisplayOptions, f as IndicatorRenderHandle, g as IndicatorStatus, c as VelaTheme, O as OHLCV, h as Pane, i as PaneAction, j as MoveTarget, k as IndicatorModel, l as ScenePatch, m as InputValue, n as SymbolPickerFn, o as LegendActionView, p as InputChangeEvent, T as ThemeName, C as CrosshairEvent, q as ClickEvent, A as AxisLongPressEvent, a as VisibleRange, r as DataWindowReadout, s as IDrawingsRendererPort, t as Millis, u as SnapMode, v as DrawingTypeKey, w as ToolbarDefinition, M as MarketConfig } from './options-BaVTMXaO.js';
4
4
  export { x as AddIndicatorOptions, B as Background, y as BoxFontFamily, z as BoxHAlign, E as BoxTextSize, F as BoxVAlign, G as CandleBarColor, H as CandleSeries, J as CandleStyle, K as DataWindowGroup, Q as DataWindowOHLC, W as DataWindowRow, X as DirtyRange, Y as DrawingBox, Z as DrawingExtend, _ as DrawingIntent, $ as DrawingLabel, a0 as DrawingLine, a1 as DrawingLinefill, a2 as DrawingMode, a3 as DrawingPoint, a4 as DrawingPolyline, a5 as DrawingStyle, a6 as DrawingTable, a7 as DrawingText, a8 as DrawingXLoc, a9 as DrawingsOption, aa as Fill, ab as FillGradientStop, ac as IndicatorMeta, ad as InputCondition, ae as InputSchema, af as InputType, ag as InputWhen, ah as LabelStyle, ai as LabelYLoc, aj as LineLikeKind, ak as LineLikeSeries, al as LineLikeStyle, am as MarkerPoint, an as MarkerSeries, ao as MarketSnapshot, ap as MarketSwitch, aq as PaneAxis, ar as PaneAxisBand, as as PaneHint, at as PaneKind, au as PolylinePoint, av as PriceLine, aw as Projector, ax as ProviderName, ay as RendererConstructor, az as Scene, aA as SchemaPatch, aB as SeriesKind, aC as SeriesPoint, aD as SeriesSpec, aE as SeriesValueDelta, aF as SettingsField, aG as SettingsSchema, aH as SettingsVisibilityPolicy, aI as TableCell, aJ as TableMerge, aK as TablePosition, aL as ToolbarGroupConfig, aM as TradeExecution, aN as ValuePatch, b as VelaOptions, V as VisibleRangePreset, aO as buildToolbar, aP as defaultToolbar, aQ as inputVisible } from './options-BaVTMXaO.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-BSLlBpB9.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 CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, X as createDrawing, Y as deserializeDrawing, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a1 as registerDrawingType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-9koBjc5H.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 CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, X as createDrawing, Y as deserializeDrawing, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a1 as registerDrawingType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-CC7rBrOY.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-CT9ZwIGz.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
  export { stableSeriesId } from './chunk-AOGZBKUE.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-6WFKTAT4.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-SQETIBFU.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, inputVisible, legendActions, nativeIndicatorDescriptors, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, registerDrawingType, registerLegendAction, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resolveEngines, settingsRowValueKeys, sidePanels, statePersistenceHandlers, symbolRanking, tickerModifierIds, topbarActionOverride, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-L3I2CCYO.js';
4
4
  import './chunk-OICPLNU7.js';
5
5
  export { ACCENT, ACCENT_BRIGHT, BEARISH, BULLISH, CATEGORICAL, 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-PN5KWFZ4.js';
@@ -1,5 +1,5 @@
1
1
  import { v as DrawingTypeKey, a5 as DrawingStyle, S as SerializedDrawing, D as Drawing, aB as SeriesKind, O as OHLCV, c as VelaTheme } from './options-BaVTMXaO.cjs';
2
- import { c as DataControl } from './contributions-Hv4_cOJo.cjs';
2
+ import { c as DataControl } from './contributions-Vw-Hm58R.cjs';
3
3
  import './side-panel-CT9ZwIGz.cjs';
4
4
  import './icons-BZYbJXSV.cjs';
5
5
  import './keymap-CGOz5F5f.cjs';
@@ -1,5 +1,5 @@
1
1
  import { v as DrawingTypeKey, a5 as DrawingStyle, S as SerializedDrawing, D as Drawing, aB as SeriesKind, O as OHLCV, c as VelaTheme } from './options-BaVTMXaO.js';
2
- import { c as DataControl } from './contributions-Z12BrWCy.js';
2
+ import { c as DataControl } from './contributions-DLLdV9jD.js';
3
3
  import './side-panel-CT9ZwIGz.js';
4
4
  import './icons-BZYbJXSV.js';
5
5
  import './keymap-CGOz5F5f.js';
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 CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-BXhDHTYn.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 LegendIndicatorInfo, N as NativeIndicator, q as NativeIndicatorContext, r as NativeIndicatorDescriptor, s as NativeIndicatorInfo, t as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, u as PreparedScript, a as ScriptRun, y as ScriptRunCause, z as ScriptRunResult, S as ScriptingEngine, A as SidePanelButton, G as SidePanelDescriptor, H as SidePanelHandle, J as SidePanelHeader, K as StatePersistenceHandler, M as StrategyFill, Q as StrategyState, T as StrategyTrade, U as SymbolRankingHook, _ as VisibleBarRange, $ as WidgetActionDescriptor, a0 as WidgetActionTarget, a1 as WidgetAttachment, W as WidgetContext, a2 as getNativeIndicator, a3 as legendActions, a5 as nativeIndicatorTypes, a6 as registerDefaultEngine, a7 as registerLegendAction, a8 as registerNativeIndicator, a9 as registerSidePanel, aa as registerStatePersistence, ab as registerSymbolRanking, ac as registerWidgetAction, ad as registerWidgetAttachment, ae as resolveEngines, af as sidePanels, ag as statePersistenceHandlers, ah as symbolRanking, ai as topbarActionOverride, aj as unregisterDefaultEngine, ak as unregisterLegendAction, al as unregisterNativeIndicator, am as unregisterSidePanel, an as unregisterStatePersistence, ao as unregisterWidgetAction, ap as unregisterWidgetAttachment, aq as widgetActions, ar as widgetAttachments } from './contributions-Hv4_cOJo.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 CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-BnJgjLAy.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 LegendIndicatorInfo, N as NativeIndicator, q as NativeIndicatorContext, r as NativeIndicatorDescriptor, s as NativeIndicatorInfo, t as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, u as PreparedScript, a as ScriptRun, y as ScriptRunCause, z as ScriptRunResult, S as ScriptingEngine, A as SidePanelButton, G as SidePanelDescriptor, H as SidePanelHandle, J as SidePanelHeader, K as StatePersistenceHandler, M as StrategyFill, Q as StrategyState, T as StrategyTrade, U as SymbolRankingHook, _ as VisibleBarRange, $ as WidgetActionDescriptor, a0 as WidgetActionTarget, a1 as WidgetAttachment, W as WidgetContext, a2 as getNativeIndicator, a3 as legendActions, a5 as nativeIndicatorTypes, a6 as registerDefaultEngine, a7 as registerLegendAction, a8 as registerNativeIndicator, a9 as registerSidePanel, aa as registerStatePersistence, ab as registerSymbolRanking, ac as registerWidgetAction, ad as registerWidgetAttachment, ae as resolveEngines, af as sidePanels, ag as statePersistenceHandlers, ah as symbolRanking, ai as topbarActionOverride, aj as unregisterDefaultEngine, ak as unregisterLegendAction, al as unregisterNativeIndicator, am as unregisterSidePanel, an as unregisterStatePersistence, ao as unregisterWidgetAction, ap as unregisterWidgetAttachment, aq as widgetActions, ar as widgetAttachments } from './contributions-Vw-Hm58R.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-CT9ZwIGz.cjs';
4
4
  export { B as Background, y as BoxFontFamily, z as BoxHAlign, E as BoxTextSize, F as BoxVAlign, G as CandleBarColor, H as CandleSeries, J as CandleStyle, X as DirtyRange, Y as DrawingBox, Z as DrawingExtend, $ as DrawingLabel, a0 as DrawingLine, a1 as DrawingLinefill, a4 as DrawingPolyline, a6 as DrawingTable, v as DrawingTypeKey, a8 as DrawingXLoc, aa as Fill, ab as FillGradientStop, ac as IndicatorMeta, k as IndicatorModel, ad as InputCondition, ae as InputSchema, af as InputType, m as InputValue, ag as InputWhen, ah as LabelStyle, ai as LabelYLoc, aj as LineLikeKind, ak as LineLikeSeries, al as LineLikeStyle, L as LineStyle, am as MarkerPoint, an as MarkerSeries, t as Millis, O as OHLCV, h as Pane, aq as PaneAxis, ar as PaneAxisBand, as as PaneHint, at as PaneKind, au as PolylinePoint, av as PriceLine, P as PriceStyle, az as Scene, l as ScenePatch, aA as SchemaPatch, aB as SeriesKind, aC as SeriesPoint, aD as SeriesSpec, aE as SeriesValueDelta, aI as TableCell, aJ as TableMerge, aK as TablePosition, aM as TradeExecution, aN as ValuePatch, aQ as inputVisible } from './options-BaVTMXaO.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 CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-9koBjc5H.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 LegendIndicatorInfo, N as NativeIndicator, q as NativeIndicatorContext, r as NativeIndicatorDescriptor, s as NativeIndicatorInfo, t as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, u as PreparedScript, a as ScriptRun, y as ScriptRunCause, z as ScriptRunResult, S as ScriptingEngine, A as SidePanelButton, G as SidePanelDescriptor, H as SidePanelHandle, J as SidePanelHeader, K as StatePersistenceHandler, M as StrategyFill, Q as StrategyState, T as StrategyTrade, U as SymbolRankingHook, _ as VisibleBarRange, $ as WidgetActionDescriptor, a0 as WidgetActionTarget, a1 as WidgetAttachment, W as WidgetContext, a2 as getNativeIndicator, a3 as legendActions, a5 as nativeIndicatorTypes, a6 as registerDefaultEngine, a7 as registerLegendAction, a8 as registerNativeIndicator, a9 as registerSidePanel, aa as registerStatePersistence, ab as registerSymbolRanking, ac as registerWidgetAction, ad as registerWidgetAttachment, ae as resolveEngines, af as sidePanels, ag as statePersistenceHandlers, ah as symbolRanking, ai as topbarActionOverride, aj as unregisterDefaultEngine, ak as unregisterLegendAction, al as unregisterNativeIndicator, am as unregisterSidePanel, an as unregisterStatePersistence, ao as unregisterWidgetAction, ap as unregisterWidgetAttachment, aq as widgetActions, ar as widgetAttachments } from './contributions-Z12BrWCy.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 CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-CC7rBrOY.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 LegendIndicatorInfo, N as NativeIndicator, q as NativeIndicatorContext, r as NativeIndicatorDescriptor, s as NativeIndicatorInfo, t as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, u as PreparedScript, a as ScriptRun, y as ScriptRunCause, z as ScriptRunResult, S as ScriptingEngine, A as SidePanelButton, G as SidePanelDescriptor, H as SidePanelHandle, J as SidePanelHeader, K as StatePersistenceHandler, M as StrategyFill, Q as StrategyState, T as StrategyTrade, U as SymbolRankingHook, _ as VisibleBarRange, $ as WidgetActionDescriptor, a0 as WidgetActionTarget, a1 as WidgetAttachment, W as WidgetContext, a2 as getNativeIndicator, a3 as legendActions, a5 as nativeIndicatorTypes, a6 as registerDefaultEngine, a7 as registerLegendAction, a8 as registerNativeIndicator, a9 as registerSidePanel, aa as registerStatePersistence, ab as registerSymbolRanking, ac as registerWidgetAction, ad as registerWidgetAttachment, ae as resolveEngines, af as sidePanels, ag as statePersistenceHandlers, ah as symbolRanking, ai as topbarActionOverride, aj as unregisterDefaultEngine, ak as unregisterLegendAction, al as unregisterNativeIndicator, am as unregisterSidePanel, an as unregisterStatePersistence, ao as unregisterWidgetAction, ap as unregisterWidgetAttachment, aq as widgetActions, ar as widgetAttachments } from './contributions-DLLdV9jD.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-CT9ZwIGz.js';
4
4
  export { B as Background, y as BoxFontFamily, z as BoxHAlign, E as BoxTextSize, F as BoxVAlign, G as CandleBarColor, H as CandleSeries, J as CandleStyle, X as DirtyRange, Y as DrawingBox, Z as DrawingExtend, $ as DrawingLabel, a0 as DrawingLine, a1 as DrawingLinefill, a4 as DrawingPolyline, a6 as DrawingTable, v as DrawingTypeKey, a8 as DrawingXLoc, aa as Fill, ab as FillGradientStop, ac as IndicatorMeta, k as IndicatorModel, ad as InputCondition, ae as InputSchema, af as InputType, m as InputValue, ag as InputWhen, ah as LabelStyle, ai as LabelYLoc, aj as LineLikeKind, ak as LineLikeSeries, al as LineLikeStyle, L as LineStyle, am as MarkerPoint, an as MarkerSeries, t as Millis, O as OHLCV, h as Pane, aq as PaneAxis, ar as PaneAxisBand, as as PaneHint, at as PaneKind, au as PolylinePoint, av as PriceLine, P as PriceStyle, az as Scene, l as ScenePatch, aA as SchemaPatch, aB as SeriesKind, aC as SeriesPoint, aD as SeriesSpec, aE as SeriesValueDelta, aI as TableCell, aJ as TableMerge, aK as TablePosition, aM as TradeExecution, aN as ValuePatch, aQ as inputVisible } from './options-BaVTMXaO.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-BSLlBpB9.js';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-Z12BrWCy.js';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-DLLdV9jD.js';
3
3
  import { V as VisibleRangePreset } from './options-BaVTMXaO.js';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
@@ -8,8 +8,10 @@ import { V as VisibleRangePreset } from './options-BaVTMXaO.js';
8
8
  * same-group cells and keeps the set linked: edits and removals of any member
9
9
  * follow. Link membership is session-scoped and survives a toggle-off (re-enabling
10
10
  * resumes edit/delete for drawings paired earlier; drawings created while off stay
11
- * independent). After a reload, every drawing is unpaired again. */
12
- type SyncKind = 'viewport' | 'symbol' | 'timeframe' | 'crosshair' | 'drawings';
11
+ * independent). After a reload, every drawing is unpaired again. `style` mirrors
12
+ * the chart's presentation settings the Canvas and Scales-and-lines slice of the
13
+ * renderer config plus the status-line display prefs — onto same-group cells. */
14
+ type SyncKind = 'viewport' | 'symbol' | 'timeframe' | 'crosshair' | 'drawings' | 'style';
13
15
  /**
14
16
  * One link's configuration: `false`/absent = off; `true` = ALL cells linked (one
15
17
  * implicit group); a record maps cell id → group name, and only cells sharing a group
@@ -22,6 +24,7 @@ interface SyncOptions {
22
24
  timeframe?: SyncSetting;
23
25
  crosshair?: SyncSetting;
24
26
  drawings?: SyncSetting;
27
+ style?: SyncSetting;
25
28
  }
26
29
  /** Splitter track weights along each grid axis. */
27
30
  interface TrackSizes {
@@ -361,4 +364,84 @@ declare class Bottombar {
361
364
  private tick;
362
365
  }
363
366
 
364
- export { Bottombar as B, type CellState as C, type IndicatorLoader as I, type PanelsState as P, type ResolvedIndicator as R, type SyncSetting as S, type TrackSizes as T, type VelaStorage as V, WidgetHistory as W, type RangePreset as a, type VelaShellOptions as b, type SyncOptions as c, type SyncKind as d, type WorkspaceState as e, type ChartState as f, decodeState as g, encodeState as h, type TopbarComposition as i, type BottombarOptions as j, type IndicatorManifest as k, type IndicatorManifestEntry as l, RANGE_PRESETS as m, type ResolvedTopbarComposition as n, TOPBAR_BUILTIN_IDS as o, TOPBAR_DEFAULT_LEFT as p, TOPBAR_DEFAULT_RIGHT as q, type WidgetStorage as r, sanitizeState as s, localStorageAdapter as t, pinnedTopbarActionIds as u, resolveIndicators as v, resolveTopbarComposition as w, topbarHas as x };
367
+ /** How the status line reads a bar out: the four O/H/L/C values (bar-shaped styles),
368
+ * or the single plotted value — the close — for one-line styles (line/area/baseline). */
369
+ type StatuslineReadout = 'ohlc' | 'value';
370
+ /** The market session states the status badge can wear. Crypto venues trade
371
+ * continuously and stay 'open'; the full vocabulary is ready for providers that
372
+ * carry a session model (equities RTH/ETH, exchange holidays). */
373
+ type MarketStatus = 'open' | 'pre' | 'post' | 'closed' | 'holiday';
374
+ /** The status line's toggleable segments (the settings dialog's Status line tab). */
375
+ type StatuslinePart = 'name' | 'market' | 'ohlc' | 'change';
376
+ declare class Statusline {
377
+ private readonly host;
378
+ /** The avatar's icon URL for a raw symbol — the shell routes it to the owning
379
+ * provider's `resolveSymbolIcon`. Absent ⇒ the initials badge. */
380
+ private readonly iconFor?;
381
+ readonly el: HTMLElement;
382
+ private readonly ohlcEl;
383
+ private readonly changeEl;
384
+ private readonly symbolEl;
385
+ private readonly marketEl;
386
+ private marketTip;
387
+ private avatarEl;
388
+ private metaEl;
389
+ private readonly parts;
390
+ private lastBar;
391
+ private hoverBar;
392
+ private unsubs;
393
+ /** Up/down ink for the OHLC + change values — the ACTIVE price style's configured
394
+ * colors (candle bodies, bar ticks, the line color, …); null falls back to the theme
395
+ * tokens. `isUp` overrides the close-vs-open direction rule where the style paints by
396
+ * something else (baseline: position against the baseline price). */
397
+ private upColor;
398
+ private downColor;
399
+ private isUp;
400
+ /** 'ohlc' for bar-shaped styles; 'value' (the single plotted close) for line styles. */
401
+ private readout;
402
+ /** Fit mode (multi-chart cells): one row, overflowing segments hidden — see {@link setFitMode}. */
403
+ private fitMode;
404
+ private fitRO;
405
+ constructor(host: HTMLElement, symbol: string,
406
+ /** The avatar's icon URL for a raw symbol — the shell routes it to the owning
407
+ * provider's `resolveSymbolIcon`. Absent ⇒ the initials badge. */
408
+ iconFor?: ((symbol: string) => string | undefined) | undefined);
409
+ setSymbol(symbol: string): void;
410
+ /**
411
+ * Multi-chart cells: keep the line on ONE row whatever the cell width — never wrap.
412
+ * Segments that don't fit are hidden outright rather than clipped mid-glyph, least
413
+ * important first: OHLC, then the bar change, the venue/timeframe meta, and the
414
+ * market badge; the logo + ticker always stay. Re-fits live on host resizes.
415
+ */
416
+ setFitMode(on: boolean): void;
417
+ /** Project the parts config onto the segments (the baseline fit() prunes from). */
418
+ private syncParts;
419
+ /** Hide overflowing segments until the row fits its max-width (fit mode only). */
420
+ private fit;
421
+ /** Shape + color the value readout after the active price style: its own up/down
422
+ * colors (candle bodies, bar ticks, the line color, …), the direction rule that
423
+ * picks between them (`isUp` replaces close-vs-open where the style paints by
424
+ * something else — baseline by position), and whether the readout is the four
425
+ * O/H/L/C values or the single plotted value (one-line styles). Null colors fall
426
+ * back to the theme's up/down tokens. See {@link statuslineInkOf}, which derives
427
+ * all of it from the live renderer. */
428
+ setDirectionColors(up: string | null, down: string | null, isUp?: ((bar: {
429
+ open: number;
430
+ close: number;
431
+ }) => boolean) | null, readout?: StatuslineReadout): void;
432
+ /** Show/hide one part (the settings dialog's Status line tab drives these). */
433
+ /** The "· BINANCE · 1h" segment after the symbol — venue first, then resolution. */
434
+ setMeta(timeframe: string, provider: string): void;
435
+ /** Dress the market badge for a session state: its icon, tinted circle, and the
436
+ * hover label. Callers with no session model leave the constructor's 'open'. */
437
+ setMarketStatus(status: MarketStatus): void;
438
+ setPartVisible(part: StatuslinePart, visible: boolean): void;
439
+ partVisible(part: StatuslinePart): boolean;
440
+ /** (Re)bind to a chart instance — called after every widget rebuild. */
441
+ onChart(chart: Vela): void;
442
+ destroy(): void;
443
+ private detach;
444
+ private render;
445
+ }
446
+
447
+ export { Bottombar as B, type CellState as C, type IndicatorLoader as I, type PanelsState as P, type ResolvedIndicator as R, type SyncSetting as S, type TrackSizes as T, type VelaStorage as V, WidgetHistory as W, type StatuslinePart as a, type RangePreset as b, type VelaShellOptions as c, type SyncOptions as d, type SyncKind as e, type WorkspaceState as f, type ChartState as g, decodeState as h, encodeState as i, type TopbarComposition as j, type BottombarOptions as k, type IndicatorManifest as l, type IndicatorManifestEntry as m, RANGE_PRESETS as n, type ResolvedTopbarComposition as o, Statusline as p, TOPBAR_BUILTIN_IDS as q, TOPBAR_DEFAULT_LEFT as r, sanitizeState as s, TOPBAR_DEFAULT_RIGHT as t, type WidgetStorage as u, localStorageAdapter as v, pinnedTopbarActionIds as w, resolveIndicators as x, resolveTopbarComposition as y, topbarHas as z };
@@ -1,5 +1,5 @@
1
1
  import { D as DataProvider } from './DataProvider-BsQM2WNH.cjs';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-Hv4_cOJo.cjs';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-Vw-Hm58R.cjs';
3
3
  import { V as VisibleRangePreset } from './options-BaVTMXaO.cjs';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
@@ -8,8 +8,10 @@ import { V as VisibleRangePreset } from './options-BaVTMXaO.cjs';
8
8
  * same-group cells and keeps the set linked: edits and removals of any member
9
9
  * follow. Link membership is session-scoped and survives a toggle-off (re-enabling
10
10
  * resumes edit/delete for drawings paired earlier; drawings created while off stay
11
- * independent). After a reload, every drawing is unpaired again. */
12
- type SyncKind = 'viewport' | 'symbol' | 'timeframe' | 'crosshair' | 'drawings';
11
+ * independent). After a reload, every drawing is unpaired again. `style` mirrors
12
+ * the chart's presentation settings the Canvas and Scales-and-lines slice of the
13
+ * renderer config plus the status-line display prefs — onto same-group cells. */
14
+ type SyncKind = 'viewport' | 'symbol' | 'timeframe' | 'crosshair' | 'drawings' | 'style';
13
15
  /**
14
16
  * One link's configuration: `false`/absent = off; `true` = ALL cells linked (one
15
17
  * implicit group); a record maps cell id → group name, and only cells sharing a group
@@ -22,6 +24,7 @@ interface SyncOptions {
22
24
  timeframe?: SyncSetting;
23
25
  crosshair?: SyncSetting;
24
26
  drawings?: SyncSetting;
27
+ style?: SyncSetting;
25
28
  }
26
29
  /** Splitter track weights along each grid axis. */
27
30
  interface TrackSizes {
@@ -361,4 +364,84 @@ declare class Bottombar {
361
364
  private tick;
362
365
  }
363
366
 
364
- export { Bottombar as B, type CellState as C, type IndicatorLoader as I, type PanelsState as P, type ResolvedIndicator as R, type SyncSetting as S, type TrackSizes as T, type VelaStorage as V, WidgetHistory as W, type RangePreset as a, type VelaShellOptions as b, type SyncOptions as c, type SyncKind as d, type WorkspaceState as e, type ChartState as f, decodeState as g, encodeState as h, type TopbarComposition as i, type BottombarOptions as j, type IndicatorManifest as k, type IndicatorManifestEntry as l, RANGE_PRESETS as m, type ResolvedTopbarComposition as n, TOPBAR_BUILTIN_IDS as o, TOPBAR_DEFAULT_LEFT as p, TOPBAR_DEFAULT_RIGHT as q, type WidgetStorage as r, sanitizeState as s, localStorageAdapter as t, pinnedTopbarActionIds as u, resolveIndicators as v, resolveTopbarComposition as w, topbarHas as x };
367
+ /** How the status line reads a bar out: the four O/H/L/C values (bar-shaped styles),
368
+ * or the single plotted value — the close — for one-line styles (line/area/baseline). */
369
+ type StatuslineReadout = 'ohlc' | 'value';
370
+ /** The market session states the status badge can wear. Crypto venues trade
371
+ * continuously and stay 'open'; the full vocabulary is ready for providers that
372
+ * carry a session model (equities RTH/ETH, exchange holidays). */
373
+ type MarketStatus = 'open' | 'pre' | 'post' | 'closed' | 'holiday';
374
+ /** The status line's toggleable segments (the settings dialog's Status line tab). */
375
+ type StatuslinePart = 'name' | 'market' | 'ohlc' | 'change';
376
+ declare class Statusline {
377
+ private readonly host;
378
+ /** The avatar's icon URL for a raw symbol — the shell routes it to the owning
379
+ * provider's `resolveSymbolIcon`. Absent ⇒ the initials badge. */
380
+ private readonly iconFor?;
381
+ readonly el: HTMLElement;
382
+ private readonly ohlcEl;
383
+ private readonly changeEl;
384
+ private readonly symbolEl;
385
+ private readonly marketEl;
386
+ private marketTip;
387
+ private avatarEl;
388
+ private metaEl;
389
+ private readonly parts;
390
+ private lastBar;
391
+ private hoverBar;
392
+ private unsubs;
393
+ /** Up/down ink for the OHLC + change values — the ACTIVE price style's configured
394
+ * colors (candle bodies, bar ticks, the line color, …); null falls back to the theme
395
+ * tokens. `isUp` overrides the close-vs-open direction rule where the style paints by
396
+ * something else (baseline: position against the baseline price). */
397
+ private upColor;
398
+ private downColor;
399
+ private isUp;
400
+ /** 'ohlc' for bar-shaped styles; 'value' (the single plotted close) for line styles. */
401
+ private readout;
402
+ /** Fit mode (multi-chart cells): one row, overflowing segments hidden — see {@link setFitMode}. */
403
+ private fitMode;
404
+ private fitRO;
405
+ constructor(host: HTMLElement, symbol: string,
406
+ /** The avatar's icon URL for a raw symbol — the shell routes it to the owning
407
+ * provider's `resolveSymbolIcon`. Absent ⇒ the initials badge. */
408
+ iconFor?: ((symbol: string) => string | undefined) | undefined);
409
+ setSymbol(symbol: string): void;
410
+ /**
411
+ * Multi-chart cells: keep the line on ONE row whatever the cell width — never wrap.
412
+ * Segments that don't fit are hidden outright rather than clipped mid-glyph, least
413
+ * important first: OHLC, then the bar change, the venue/timeframe meta, and the
414
+ * market badge; the logo + ticker always stay. Re-fits live on host resizes.
415
+ */
416
+ setFitMode(on: boolean): void;
417
+ /** Project the parts config onto the segments (the baseline fit() prunes from). */
418
+ private syncParts;
419
+ /** Hide overflowing segments until the row fits its max-width (fit mode only). */
420
+ private fit;
421
+ /** Shape + color the value readout after the active price style: its own up/down
422
+ * colors (candle bodies, bar ticks, the line color, …), the direction rule that
423
+ * picks between them (`isUp` replaces close-vs-open where the style paints by
424
+ * something else — baseline by position), and whether the readout is the four
425
+ * O/H/L/C values or the single plotted value (one-line styles). Null colors fall
426
+ * back to the theme's up/down tokens. See {@link statuslineInkOf}, which derives
427
+ * all of it from the live renderer. */
428
+ setDirectionColors(up: string | null, down: string | null, isUp?: ((bar: {
429
+ open: number;
430
+ close: number;
431
+ }) => boolean) | null, readout?: StatuslineReadout): void;
432
+ /** Show/hide one part (the settings dialog's Status line tab drives these). */
433
+ /** The "· BINANCE · 1h" segment after the symbol — venue first, then resolution. */
434
+ setMeta(timeframe: string, provider: string): void;
435
+ /** Dress the market badge for a session state: its icon, tinted circle, and the
436
+ * hover label. Callers with no session model leave the constructor's 'open'. */
437
+ setMarketStatus(status: MarketStatus): void;
438
+ setPartVisible(part: StatuslinePart, visible: boolean): void;
439
+ partVisible(part: StatuslinePart): boolean;
440
+ /** (Re)bind to a chart instance — called after every widget rebuild. */
441
+ onChart(chart: Vela): void;
442
+ destroy(): void;
443
+ private detach;
444
+ private render;
445
+ }
446
+
447
+ export { Bottombar as B, type CellState as C, type IndicatorLoader as I, type PanelsState as P, type ResolvedIndicator as R, type SyncSetting as S, type TrackSizes as T, type VelaStorage as V, WidgetHistory as W, type StatuslinePart as a, type RangePreset as b, type VelaShellOptions as c, type SyncOptions as d, type SyncKind as e, type WorkspaceState as f, type ChartState as g, decodeState as h, encodeState as i, type TopbarComposition as j, type BottombarOptions as k, type IndicatorManifest as l, type IndicatorManifestEntry as m, RANGE_PRESETS as n, type ResolvedTopbarComposition as o, Statusline as p, TOPBAR_BUILTIN_IDS as q, TOPBAR_DEFAULT_LEFT as r, sanitizeState as s, TOPBAR_DEFAULT_RIGHT as t, type WidgetStorage as u, localStorageAdapter as v, pinnedTopbarActionIds as w, resolveIndicators as x, resolveTopbarComposition as y, topbarHas as z };