@luxalgo/vela 0.6.7 → 0.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/{DataProvider-BsQM2WNH.d.cts → DataProvider-8Z95Q-RJ.d.cts} +1 -1
  2. package/dist/{DataProvider-BSLlBpB9.d.ts → DataProvider-DExJrfut.d.ts} +1 -1
  3. package/dist/{chunk-2R7BANEM.js → chunk-62SVGONC.js} +2 -2
  4. package/dist/{chunk-6WFKTAT4.js → chunk-6WDDVMBJ.js} +548 -147
  5. package/dist/{chunk-L3I2CCYO.js → chunk-EQCHJZOT.js} +49 -2
  6. package/dist/{chunk-OICPLNU7.js → chunk-FCVIG7JG.js} +188 -2
  7. package/dist/{chunk-WVP4XV5A.js → chunk-STHSKXOR.js} +407 -159
  8. package/dist/{chunk-PN5KWFZ4.js → chunk-WFSZBX3R.js} +2 -2
  9. package/dist/{contributions-Z12BrWCy.d.ts → contributions-C1U2Krwg.d.cts} +112 -7
  10. package/dist/{contributions-Hv4_cOJo.d.cts → contributions-D7PVZO2i.d.ts} +112 -7
  11. package/dist/index.cjs +755 -152
  12. package/dist/index.d.cts +12 -7
  13. package/dist/index.d.ts +12 -7
  14. package/dist/index.js +4 -4
  15. package/dist/{options-BaVTMXaO.d.ts → options-FM0peknS.d.cts} +84 -7
  16. package/dist/{options-BaVTMXaO.d.cts → options-FM0peknS.d.ts} +84 -7
  17. package/dist/{plugin-9koBjc5H.d.ts → plugin-7bkF32Rk.d.ts} +3 -3
  18. package/dist/{plugin-BXhDHTYn.d.cts → plugin-DfVqBz9p.d.cts} +3 -3
  19. package/dist/plugin.cjs +18 -2
  20. package/dist/plugin.d.cts +4 -4
  21. package/dist/plugin.d.ts +4 -4
  22. package/dist/plugin.js +2 -2
  23. package/dist/providers/binance.d.cts +2 -2
  24. package/dist/providers/binance.d.ts +2 -2
  25. package/dist/providers/coinbase.d.cts +2 -2
  26. package/dist/providers/coinbase.d.ts +2 -2
  27. package/dist/providers/hyperliquid.d.cts +2 -2
  28. package/dist/providers/hyperliquid.d.ts +2 -2
  29. package/dist/{bottombar-Br4rzx_R.d.ts → statusline-DOPiT6I6.d.cts} +91 -6
  30. package/dist/{bottombar-Div5zibZ.d.cts → statusline-zdF4eZLr.d.ts} +91 -6
  31. package/dist/ui.cjs +201 -4
  32. package/dist/ui.d.cts +89 -2
  33. package/dist/ui.d.ts +89 -2
  34. package/dist/ui.js +3 -3
  35. package/dist/vela.global.js +755 -152
  36. package/dist/vela.global.min.js +93 -44
  37. package/dist/widget.cjs +1144 -271
  38. package/dist/widget.d.cts +12 -85
  39. package/dist/widget.d.ts +12 -85
  40. package/dist/widget.js +7 -7
  41. package/dist/workspace.cjs +1144 -271
  42. package/dist/workspace.d.cts +65 -11
  43. package/dist/workspace.d.ts +65 -11
  44. package/dist/workspace.js +6 -6
  45. package/package.json +1 -1
package/dist/plugin.cjs CHANGED
@@ -173,6 +173,19 @@ function unregisterLegendAction(id) {
173
173
  function legendActions() {
174
174
  return [...legendRegistry.values()].sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
175
175
  }
176
+ var calloutRegistry = /* @__PURE__ */ new Map();
177
+ function registerLegendCallout(desc) {
178
+ calloutRegistry.set(desc.id, desc);
179
+ return () => {
180
+ if (calloutRegistry.get(desc.id) === desc) calloutRegistry.delete(desc.id);
181
+ };
182
+ }
183
+ function unregisterLegendCallout(id) {
184
+ calloutRegistry.delete(id);
185
+ }
186
+ function legendCallouts() {
187
+ return [...calloutRegistry.values()].sort((a, b) => (a.order ?? 0) - (b.order ?? 0));
188
+ }
176
189
  var stateHandlers = /* @__PURE__ */ new Map();
177
190
  function registerStatePersistence(handler) {
178
191
  stateHandlers.set(handler.key, handler);
@@ -272,11 +285,11 @@ registerIcon(
272
285
  );
273
286
  registerIcon(
274
287
  "market-pre",
275
- svg24('<path d="M12 2v8"/><path d="m4.93 10.93 1.41 1.41"/><path d="M2 18h2"/><path d="M20 18h2"/><path d="m19.07 10.93-1.41 1.41"/><path d="M22 22H2"/><path d="m16 6-4 4-4-4"/><path d="M16 18a4 4 0 0 0-8 0"/>')
288
+ svg24('<path d="M12 2v8"/><path d="m4.93 10.93 1.41 1.41"/><path d="M2 18h2"/><path d="M20 18h2"/><path d="m19.07 10.93-1.41 1.41"/><path d="M22 22H2"/><path d="m8 6 4-4 4 4"/><path d="M16 18a4 4 0 0 0-8 0"/>')
276
289
  );
277
290
  registerIcon(
278
291
  "market-post",
279
- svg24('<path d="M12 10V2"/><path d="m4.93 10.93 1.41 1.41"/><path d="M2 18h2"/><path d="M20 18h2"/><path d="m19.07 10.93-1.41 1.41"/><path d="M22 22H2"/><path d="m16 18-4-4-4 4"/><path d="M16 6a4 4 0 0 0-8 0"/>')
292
+ svg24('<path d="M12 10V2"/><path d="m4.93 10.93 1.41 1.41"/><path d="M2 18h2"/><path d="M20 18h2"/><path d="m19.07 10.93-1.41 1.41"/><path d="M22 22H2"/><path d="m16 14-4 4-4-4"/><path d="M16 6a4 4 0 0 0-8 0"/>')
280
293
  );
281
294
  registerIcon("market-closed", svg24('<path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"/>'));
282
295
  registerIcon(
@@ -6036,12 +6049,14 @@ exports.getNativeIndicator = getNativeIndicator;
6036
6049
  exports.iconMarkup = iconMarkup;
6037
6050
  exports.inputVisible = inputVisible;
6038
6051
  exports.legendActions = legendActions;
6052
+ exports.legendCallouts = legendCallouts;
6039
6053
  exports.nativeIndicatorTypes = nativeIndicatorTypes;
6040
6054
  exports.normalizeSettingsRow = normalizeSettingsRow;
6041
6055
  exports.registerChartType = registerChartType;
6042
6056
  exports.registerDefaultEngine = registerDefaultEngine;
6043
6057
  exports.registerIcon = registerIcon;
6044
6058
  exports.registerLegendAction = registerLegendAction;
6059
+ exports.registerLegendCallout = registerLegendCallout;
6045
6060
  exports.registerNativeIndicator = registerNativeIndicator;
6046
6061
  exports.registerRendererDefaults = registerRendererDefaults;
6047
6062
  exports.registerRendererLayer = registerRendererLayer;
@@ -6063,6 +6078,7 @@ exports.topbarActionOverride = topbarActionOverride;
6063
6078
  exports.unregisterChartType = unregisterChartType;
6064
6079
  exports.unregisterDefaultEngine = unregisterDefaultEngine;
6065
6080
  exports.unregisterLegendAction = unregisterLegendAction;
6081
+ exports.unregisterLegendCallout = unregisterLegendCallout;
6066
6082
  exports.unregisterNativeIndicator = unregisterNativeIndicator;
6067
6083
  exports.unregisterRendererDefaults = unregisterRendererDefaults;
6068
6084
  exports.unregisterRendererLayer = unregisterRendererLayer;
package/dist/plugin.d.cts CHANGED
@@ -1,7 +1,7 @@
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-DfVqBz9p.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-C1U2Krwg.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
- 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';
4
+ export { B as Background, z as BoxFontFamily, E as BoxHAlign, F as BoxTextSize, G as BoxVAlign, H as CandleBarColor, J as CandleSeries, K as CandleStyle, Y as DirtyRange, Z as DrawingBox, _ as DrawingExtend, a0 as DrawingLabel, a1 as DrawingLine, a2 as DrawingLinefill, a5 as DrawingPolyline, a7 as DrawingTable, w as DrawingTypeKey, a9 as DrawingXLoc, ab as Fill, ac as FillGradientStop, ad as IndicatorMeta, k as IndicatorModel, ae as InputCondition, af as InputSchema, ag as InputType, m as InputValue, ah as InputWhen, ai as LabelStyle, aj as LabelYLoc, ak as LineLikeKind, al as LineLikeSeries, am as LineLikeStyle, L as LineStyle, an as MarkerPoint, ao as MarkerSeries, u as Millis, O as OHLCV, h as Pane, ar as PaneAxis, as as PaneAxisBand, at as PaneHint, au as PaneKind, av as PolylinePoint, aw as PriceLine, P as PriceStyle, aA as Scene, l as ScenePatch, aB as SchemaPatch, aC as SeriesKind, aD as SeriesPoint, aE as SeriesSpec, aF as SeriesValueDelta, aJ as TableCell, aK as TableMerge, aL as TablePosition, aN as TradeExecution, aO as ValuePatch, aR as inputVisible } from './options-FM0peknS.cjs';
5
5
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.cjs';
6
6
  export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.cjs';
7
- export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-BsQM2WNH.cjs';
7
+ export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-8Z95Q-RJ.cjs';
package/dist/plugin.d.ts CHANGED
@@ -1,7 +1,7 @@
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-7bkF32Rk.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-D7PVZO2i.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
- 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';
4
+ export { B as Background, z as BoxFontFamily, E as BoxHAlign, F as BoxTextSize, G as BoxVAlign, H as CandleBarColor, J as CandleSeries, K as CandleStyle, Y as DirtyRange, Z as DrawingBox, _ as DrawingExtend, a0 as DrawingLabel, a1 as DrawingLine, a2 as DrawingLinefill, a5 as DrawingPolyline, a7 as DrawingTable, w as DrawingTypeKey, a9 as DrawingXLoc, ab as Fill, ac as FillGradientStop, ad as IndicatorMeta, k as IndicatorModel, ae as InputCondition, af as InputSchema, ag as InputType, m as InputValue, ah as InputWhen, ai as LabelStyle, aj as LabelYLoc, ak as LineLikeKind, al as LineLikeSeries, am as LineLikeStyle, L as LineStyle, an as MarkerPoint, ao as MarkerSeries, u as Millis, O as OHLCV, h as Pane, ar as PaneAxis, as as PaneAxisBand, at as PaneHint, au as PaneKind, av as PolylinePoint, aw as PriceLine, P as PriceStyle, aA as Scene, l as ScenePatch, aB as SchemaPatch, aC as SeriesKind, aD as SeriesPoint, aE as SeriesSpec, aF as SeriesValueDelta, aJ as TableCell, aK as TableMerge, aL as TablePosition, aN as TradeExecution, aO as ValuePatch, aR as inputVisible } from './options-FM0peknS.js';
5
5
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
6
6
  export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
7
- export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-BSLlBpB9.js';
7
+ export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-DExJrfut.js';
package/dist/plugin.js CHANGED
@@ -1,3 +1,3 @@
1
1
  export { stableSeriesId } from './chunk-AOGZBKUE.js';
2
- export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, OVERRIDABLE_TOPBAR_IDS, chartType, chartTypes, clampPanelWidth, drawingTypes, getDrawingType, getNativeIndicator, inputVisible, legendActions, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, 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';
3
- 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';
2
+ export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, OVERRIDABLE_TOPBAR_IDS, chartType, chartTypes, clampPanelWidth, drawingTypes, getDrawingType, getNativeIndicator, inputVisible, legendActions, legendCallouts, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, registerLegendAction, registerLegendCallout, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resolveEngines, settingsRowValueKeys, sidePanels, statePersistenceHandlers, symbolRanking, tickerModifierIds, topbarActionOverride, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterLegendCallout, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-EQCHJZOT.js';
3
+ 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-WFSZBX3R.js';
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BaVTMXaO.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BsQM2WNH.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-FM0peknS.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-8Z95Q-RJ.cjs';
3
3
 
4
4
  /**
5
5
  * Binance market-data provider, built from scratch on the public REST + WebSocket
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BaVTMXaO.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BSLlBpB9.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-FM0peknS.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DExJrfut.js';
3
3
 
4
4
  /**
5
5
  * Binance market-data provider, built from scratch on the public REST + WebSocket
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BaVTMXaO.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BsQM2WNH.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-FM0peknS.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-8Z95Q-RJ.cjs';
3
3
 
4
4
  /**
5
5
  * Coinbase market-data provider, built from scratch on the public Exchange REST + WebSocket APIs
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BaVTMXaO.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BSLlBpB9.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-FM0peknS.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DExJrfut.js';
3
3
 
4
4
  /**
5
5
  * Coinbase market-data provider, built from scratch on the public Exchange REST + WebSocket APIs
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BaVTMXaO.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BsQM2WNH.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-FM0peknS.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-8Z95Q-RJ.cjs';
3
3
 
4
4
  /**
5
5
  * Hyperliquid market-data provider, built from scratch on the public info API — no
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BaVTMXaO.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BSLlBpB9.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-FM0peknS.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DExJrfut.js';
3
3
 
4
4
  /**
5
5
  * Hyperliquid market-data provider, built from scratch on the public info API — no
@@ -1,6 +1,6 @@
1
- import { D as DataProvider } from './DataProvider-BSLlBpB9.js';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-Z12BrWCy.js';
3
- import { V as VisibleRangePreset } from './options-BaVTMXaO.js';
1
+ import { D as DataProvider } from './DataProvider-8Z95Q-RJ.cjs';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-C1U2Krwg.cjs';
3
+ import { V as VisibleRangePreset } from './options-FM0peknS.cjs';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
6
6
  * cells as GHOST crosshairs (renderers without the optional `setExternalCrosshair`
@@ -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,86 @@ 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
+ /** The badge itself — a kit callout bubble (the same element as {@link marketEl}). */
387
+ private readonly marketBubble;
388
+ private marketTip;
389
+ private avatarEl;
390
+ private metaEl;
391
+ private readonly parts;
392
+ private lastBar;
393
+ private hoverBar;
394
+ private unsubs;
395
+ /** Up/down ink for the OHLC + change values — the ACTIVE price style's configured
396
+ * colors (candle bodies, bar ticks, the line color, …); null falls back to the theme
397
+ * tokens. `isUp` overrides the close-vs-open direction rule where the style paints by
398
+ * something else (baseline: position against the baseline price). */
399
+ private upColor;
400
+ private downColor;
401
+ private isUp;
402
+ /** 'ohlc' for bar-shaped styles; 'value' (the single plotted close) for line styles. */
403
+ private readout;
404
+ /** Fit mode (multi-chart cells): one row, overflowing segments hidden — see {@link setFitMode}. */
405
+ private fitMode;
406
+ private fitRO;
407
+ constructor(host: HTMLElement, symbol: string,
408
+ /** The avatar's icon URL for a raw symbol — the shell routes it to the owning
409
+ * provider's `resolveSymbolIcon`. Absent ⇒ the initials badge. */
410
+ iconFor?: ((symbol: string) => string | undefined) | undefined);
411
+ setSymbol(symbol: string): void;
412
+ /**
413
+ * Multi-chart cells: keep the line on ONE row whatever the cell width — never wrap.
414
+ * Segments that don't fit are hidden outright rather than clipped mid-glyph, least
415
+ * important first: OHLC, then the bar change, the venue/timeframe meta, and the
416
+ * market badge; the logo + ticker always stay. Re-fits live on host resizes.
417
+ */
418
+ setFitMode(on: boolean): void;
419
+ /** Project the parts config onto the segments (the baseline fit() prunes from). */
420
+ private syncParts;
421
+ /** Hide overflowing segments until the row fits its max-width (fit mode only). */
422
+ private fit;
423
+ /** Shape + color the value readout after the active price style: its own up/down
424
+ * colors (candle bodies, bar ticks, the line color, …), the direction rule that
425
+ * picks between them (`isUp` replaces close-vs-open where the style paints by
426
+ * something else — baseline by position), and whether the readout is the four
427
+ * O/H/L/C values or the single plotted value (one-line styles). Null colors fall
428
+ * back to the theme's up/down tokens. See {@link statuslineInkOf}, which derives
429
+ * all of it from the live renderer. */
430
+ setDirectionColors(up: string | null, down: string | null, isUp?: ((bar: {
431
+ open: number;
432
+ close: number;
433
+ }) => boolean) | null, readout?: StatuslineReadout): void;
434
+ /** Show/hide one part (the settings dialog's Status line tab drives these). */
435
+ /** The "· BINANCE · 1h" segment after the symbol — venue first, then resolution. */
436
+ setMeta(timeframe: string, provider: string): void;
437
+ /** Dress the market badge for a session state: its icon, tinted circle, and the
438
+ * hover label. Callers with no session model leave the constructor's 'open'. */
439
+ setMarketStatus(status: MarketStatus): void;
440
+ setPartVisible(part: StatuslinePart, visible: boolean): void;
441
+ partVisible(part: StatuslinePart): boolean;
442
+ /** (Re)bind to a chart instance — called after every widget rebuild. */
443
+ onChart(chart: Vela): void;
444
+ destroy(): void;
445
+ private detach;
446
+ private render;
447
+ }
448
+
449
+ 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,6 +1,6 @@
1
- import { D as DataProvider } from './DataProvider-BsQM2WNH.cjs';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-Hv4_cOJo.cjs';
3
- import { V as VisibleRangePreset } from './options-BaVTMXaO.cjs';
1
+ import { D as DataProvider } from './DataProvider-DExJrfut.js';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-D7PVZO2i.js';
3
+ import { V as VisibleRangePreset } from './options-FM0peknS.js';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
6
6
  * cells as GHOST crosshairs (renderers without the optional `setExternalCrosshair`
@@ -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,86 @@ 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
+ /** The badge itself — a kit callout bubble (the same element as {@link marketEl}). */
387
+ private readonly marketBubble;
388
+ private marketTip;
389
+ private avatarEl;
390
+ private metaEl;
391
+ private readonly parts;
392
+ private lastBar;
393
+ private hoverBar;
394
+ private unsubs;
395
+ /** Up/down ink for the OHLC + change values — the ACTIVE price style's configured
396
+ * colors (candle bodies, bar ticks, the line color, …); null falls back to the theme
397
+ * tokens. `isUp` overrides the close-vs-open direction rule where the style paints by
398
+ * something else (baseline: position against the baseline price). */
399
+ private upColor;
400
+ private downColor;
401
+ private isUp;
402
+ /** 'ohlc' for bar-shaped styles; 'value' (the single plotted close) for line styles. */
403
+ private readout;
404
+ /** Fit mode (multi-chart cells): one row, overflowing segments hidden — see {@link setFitMode}. */
405
+ private fitMode;
406
+ private fitRO;
407
+ constructor(host: HTMLElement, symbol: string,
408
+ /** The avatar's icon URL for a raw symbol — the shell routes it to the owning
409
+ * provider's `resolveSymbolIcon`. Absent ⇒ the initials badge. */
410
+ iconFor?: ((symbol: string) => string | undefined) | undefined);
411
+ setSymbol(symbol: string): void;
412
+ /**
413
+ * Multi-chart cells: keep the line on ONE row whatever the cell width — never wrap.
414
+ * Segments that don't fit are hidden outright rather than clipped mid-glyph, least
415
+ * important first: OHLC, then the bar change, the venue/timeframe meta, and the
416
+ * market badge; the logo + ticker always stay. Re-fits live on host resizes.
417
+ */
418
+ setFitMode(on: boolean): void;
419
+ /** Project the parts config onto the segments (the baseline fit() prunes from). */
420
+ private syncParts;
421
+ /** Hide overflowing segments until the row fits its max-width (fit mode only). */
422
+ private fit;
423
+ /** Shape + color the value readout after the active price style: its own up/down
424
+ * colors (candle bodies, bar ticks, the line color, …), the direction rule that
425
+ * picks between them (`isUp` replaces close-vs-open where the style paints by
426
+ * something else — baseline by position), and whether the readout is the four
427
+ * O/H/L/C values or the single plotted value (one-line styles). Null colors fall
428
+ * back to the theme's up/down tokens. See {@link statuslineInkOf}, which derives
429
+ * all of it from the live renderer. */
430
+ setDirectionColors(up: string | null, down: string | null, isUp?: ((bar: {
431
+ open: number;
432
+ close: number;
433
+ }) => boolean) | null, readout?: StatuslineReadout): void;
434
+ /** Show/hide one part (the settings dialog's Status line tab drives these). */
435
+ /** The "· BINANCE · 1h" segment after the symbol — venue first, then resolution. */
436
+ setMeta(timeframe: string, provider: string): void;
437
+ /** Dress the market badge for a session state: its icon, tinted circle, and the
438
+ * hover label. Callers with no session model leave the constructor's 'open'. */
439
+ setMarketStatus(status: MarketStatus): void;
440
+ setPartVisible(part: StatuslinePart, visible: boolean): void;
441
+ partVisible(part: StatuslinePart): boolean;
442
+ /** (Re)bind to a chart instance — called after every widget rebuild. */
443
+ onChart(chart: Vela): void;
444
+ destroy(): void;
445
+ private detach;
446
+ private render;
447
+ }
448
+
449
+ 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 };