@luxalgo/vela 0.8.2 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/{DataProvider-DpOWZD8F.d.ts → DataProvider-oH78tYXL.d.ts} +1 -1
  2. package/dist/{DataProvider-COGDs9Xg.d.cts → DataProvider-wbtJ3-Sa.d.cts} +1 -1
  3. package/dist/{chunk-R2JMNIHY.js → chunk-2IPXYM4B.js} +258 -169
  4. package/dist/{chunk-NLDTVFOI.js → chunk-G7B7ZCBF.js} +129 -10
  5. package/dist/{chunk-T3DZIR5Y.js → chunk-HMHA733L.js} +306 -168
  6. package/dist/{chunk-DPAA3SRT.js → chunk-KWI3YDBW.js} +254 -9
  7. package/dist/{chunk-27UTYE7T.js → chunk-TO3GIK7Z.js} +49 -7
  8. package/dist/{chunk-HKNO24GD.js → chunk-VHGACEHO.js} +50 -1
  9. package/dist/{contributions-Cgm9RJYP.d.cts → contributions-BhOBRenr.d.cts} +44 -4
  10. package/dist/{contributions-bWgwyiVi.d.ts → contributions-HGqnNb_P.d.ts} +44 -4
  11. package/dist/index.cjs +497 -79
  12. package/dist/index.d.cts +34 -14
  13. package/dist/index.d.ts +34 -14
  14. package/dist/index.js +5 -5
  15. package/dist/{options-NAUHiQEC.d.ts → options-lMUwmRwh.d.cts} +66 -1
  16. package/dist/{options-NAUHiQEC.d.cts → options-lMUwmRwh.d.ts} +66 -1
  17. package/dist/{plugin-CqxWoDKS.d.ts → plugin-Cr2Pj8q8.d.ts} +4 -4
  18. package/dist/{plugin-CjjzZX2F.d.cts → plugin-Do5J5xuF.d.cts} +4 -4
  19. package/dist/plugin.cjs +18 -0
  20. package/dist/plugin.d.cts +5 -5
  21. package/dist/plugin.d.ts +5 -5
  22. package/dist/plugin.js +3 -3
  23. package/dist/providers/binance.d.cts +2 -2
  24. package/dist/providers/binance.d.ts +2 -2
  25. package/dist/providers/coinbase.d.cts +2 -2
  26. package/dist/providers/coinbase.d.ts +2 -2
  27. package/dist/providers/hyperliquid.d.cts +2 -2
  28. package/dist/providers/hyperliquid.d.ts +2 -2
  29. package/dist/{side-panel-wMNfgyZb.d.cts → side-panel-_2UK1gSm.d.cts} +45 -3
  30. package/dist/{side-panel-wMNfgyZb.d.ts → side-panel-_2UK1gSm.d.ts} +45 -3
  31. package/dist/{statusline-model-Dpfpq54A.d.cts → statusline-model-B-2xGlB_.d.cts} +3 -3
  32. package/dist/{statusline-model-Dih6FGWP.d.ts → statusline-model-CY1wzxHg.d.ts} +3 -3
  33. package/dist/ui.cjs +224 -14
  34. package/dist/ui.d.cts +119 -87
  35. package/dist/ui.d.ts +119 -87
  36. package/dist/ui.js +3 -3
  37. package/dist/vela.global.js +497 -79
  38. package/dist/vela.global.min.js +86 -52
  39. package/dist/widget.cjs +850 -167
  40. package/dist/widget.d.cts +24 -10
  41. package/dist/widget.d.ts +24 -10
  42. package/dist/widget.js +7 -7
  43. package/dist/workspace.cjs +849 -167
  44. package/dist/workspace.d.cts +47 -20
  45. package/dist/workspace.d.ts +47 -20
  46. package/dist/workspace.js +6 -6
  47. package/package.json +1 -1
  48. /package/dist/{chunk-JU4CWEBF.js → chunk-W5YPYZ2P.js} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,11 +1,11 @@
1
- import { D as DrawingsDocument, d as Resolved, e as ReplayTick, f as DataControl, g as ReplayTickSource } from './contributions-Cgm9RJYP.cjs';
2
- export { B as BarsChangeReason, C as CellStateContext, h as CodeUpdateResult, i as ContextSelect, j as DrawingsControl, k as EngineAlert, l as EngineCapabilities, m as EngineContextSnapshot, n as EngineFactory, o as EngineWarning, p as ExecutionHandlers, q as ExecutionMarket, r as ExecutionRequest, s as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, t as IndicatorEventMap, I as IndicatorHandle, u as IndicatorSummary, L as LegendActionDescriptor, v as LegendCalloutContent, w as LegendCalloutDescriptor, x as LegendCalloutItem, y as LegendCalloutSpec, z as LegendIndicatorInfo, M as MarksControl, N as NativeIndicator, A as NativeIndicatorContext, G as NativeIndicatorDescriptor, H as NativeIndicatorInfo, J as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, K as PreparedScript, Q as RendererControl, a as ReplayBounds, T as ReplayControl, U as ReplayEndReason, X as ReplayStartOptions, R as ReplayState, Y as RunIndicatorResult, Z as SceneInspection, c as ScriptRun, _ as ScriptRunCause, $ as ScriptRunResult, S as ScriptingEngine, a0 as SidePanelButton, a1 as SidePanelDescriptor, a2 as SidePanelHandle, a3 as SidePanelHeader, a4 as StatePersistenceHandler, a5 as StrategyFill, a6 as StrategyState, a7 as StrategyTrade, a8 as SymbolRankingHook, a9 as TypedEventBus, V as Vela, aa as VelaDeps, b as VelaEventMap, ab as VisibleBarRange, ac as WidgetActionDescriptor, ad as WidgetActionTarget, ae as WidgetAttachment, W as WidgetContext, af as getNativeIndicator, ag as legendActions, ah as legendCallouts, ai as nativeIndicatorDescriptors, aj as nativeIndicatorTypes, ak as registerDefaultEngine, al as registerLegendAction, am as registerLegendCallout, an as registerNativeIndicator, ao as registerSidePanel, ap as registerStatePersistence, aq as registerSymbolRanking, ar as registerWidgetAction, as as registerWidgetAttachment, at as resolveEngines, au as sidePanels, av as statePersistenceHandlers, aw as symbolRanking, ax as topbarActionOverride, ay as unregisterDefaultEngine, az as unregisterLegendAction, aA as unregisterLegendCallout, aB as unregisterNativeIndicator, aC as unregisterSidePanel, aD as unregisterStatePersistence, aE as unregisterWidgetAction, aF as unregisterWidgetAttachment, aG as widgetActions, aH as widgetAttachments } from './contributions-Cgm9RJYP.cjs';
3
- import { D as Drawing, S as SerializedDrawing, U as Unsubscribe, L as LineStyle, P as PriceStyle, e as IChartRenderer, R as RendererCapabilities, f as RendererDisplayOptions, g as IndicatorRenderHandle, h as IndicatorStatus, c as VelaTheme, W as WallClock, O as OHLCV, i as Pane, j as PaneAction, k as MoveTarget, l as IndicatorModel, m as ScenePatch, I as InputValue, n as SymbolPickerFn, o as LegendActionView, p as LegendCalloutView, q as InputChangeEvent, T as ThemeName, C as CrosshairEvent, r as ClickEvent, A as AxisLongPressEvent, s as TimelineMark, t as MarkGroup, u as MarkClickEvent, a as VisibleRange, v as DataWindowReadout, w as IDrawingsRendererPort, x as Millis, y as SnapMode, z as DrawingTypeKey, B as ToolbarDefinition, M as MarketConfig, E as MarketSnapshot } from './options-NAUHiQEC.cjs';
4
- export { F as AddIndicatorOptions, G as AnimationConfig, H as Background, J as BoxFontFamily, K as BoxHAlign, Q as BoxTextSize, X as BoxVAlign, Y as CandleBarColor, Z as CandleSeries, _ as CandleStyle, $ as DataWindowGroup, a0 as DataWindowOHLC, a1 as DataWindowRow, a2 as DirtyRange, a3 as DrawingBox, a4 as DrawingExtend, a5 as DrawingIntent, a6 as DrawingLabel, a7 as DrawingLine, a8 as DrawingLinefill, a9 as DrawingMode, aa as DrawingPoint, ab as DrawingPolyline, ac as DrawingSeriesBar, ad as DrawingSeriesGateway, ae as DrawingSeriesState, af as DrawingStyle, ag as DrawingTable, ah as DrawingText, ai as DrawingXLoc, aj as DrawingsOption, ak as Fill, al as FillGradientStop, am as IndicatorMeta, an as InputCondition, ao as InputSchema, ap as InputType, aq as InputWhen, ar as IntroAnimation, as as IntroConfig, at as IntroStyle, au as LabelStyle, av as LabelYLoc, aw as LineLikeKind, ax as LineLikeSeries, ay as LineLikeStyle, az as MarkContent, aA as MarkContentSource, aB as MarkGlyph, aC as MarkPanelItem, aD as MarkShape, aE as MarkerPoint, aF as MarkerSeries, aG as MarketSwitch, aH as PaneAxis, aI as PaneAxisBand, aJ as PaneHint, aK as PaneKind, aL as PolylinePoint, aM as PriceLine, aN as Projector, aO as ProviderName, aP as RendererConstructor, aQ as Scene, aR as SchemaPatch, aS as SecondClock, aT as SeriesDisplay, aU as SeriesKind, aV as SeriesPoint, aW as SeriesSpec, aX as SeriesSurface, aY as SeriesValueDelta, aZ as SettingsField, a_ as SettingsSchema, a$ as SettingsVisibilityPolicy, b0 as TableCell, b1 as TableMerge, b2 as TablePosition, b3 as ToolbarGroupConfig, b4 as TradeExecution, b5 as ValuePatch, b as VelaOptions, V as VisibleRangePreset, b6 as buildToolbar, b7 as defaultToolbar, b8 as inputDeltas, b9 as inputVisible, ba as seriesInScale, bb as seriesShownOn } from './options-NAUHiQEC.cjs';
5
- import { S as SettingsSelectOption } from './plugin-CjjzZX2F.cjs';
6
- export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, p as SERIES_LINE, q as SESSION_OFF, r as SESSION_POST, s as SESSION_PRE, t as SLATE, u as SLATE_DEEP, v as SeriesDataEngine, w as SeriesDataEngineHost, x as SettingsInlineControl, y as SettingsRowCondition, z as SettingsRowDescriptor, E as SettingsRowInlineNumber, F as SettingsRowSwatch, G as SettingsRowValueKey, J as SettingsRowWhen, K as SettingsRowWidth, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, Y as createDrawing, Z as deserializeDrawing, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a2 as registerDrawingType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-CjjzZX2F.cjs';
7
- import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-COGDs9Xg.cjs';
8
- export { D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-wMNfgyZb.cjs';
1
+ import { D as DrawingsDocument, d as Resolved, e as ReplayTick, f as DataControl, g as ReplayTickSource } from './contributions-BhOBRenr.cjs';
2
+ export { B as BarsChangeReason, C as CellStateContext, h as CodeUpdateResult, i as ContextMenuPointer, j as ContextSelect, k as DrawingsControl, l as EngineAlert, m as EngineCapabilities, n as EngineContextSnapshot, o as EngineFactory, p as EngineWarning, q as ExecutionHandlers, r as ExecutionMarket, s as ExecutionRequest, t as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, u as IndicatorEventMap, I as IndicatorHandle, v as IndicatorSummary, L as LegendActionDescriptor, w as LegendCalloutContent, x as LegendCalloutDescriptor, y as LegendCalloutItem, z as LegendCalloutSpec, A as LegendIndicatorInfo, M as MarksControl, N as NativeIndicator, G as NativeIndicatorContext, H as NativeIndicatorDescriptor, J as NativeIndicatorInfo, K as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, Q as PreparedScript, T as RendererControl, a as ReplayBounds, U as ReplayControl, X as ReplayEndReason, Y as ReplayStartOptions, R as ReplayState, Z as RunIndicatorResult, _ as SceneInspection, c as ScriptRun, $ as ScriptRunCause, a0 as ScriptRunResult, S as ScriptingEngine, a1 as SidePanelButton, a2 as SidePanelDescriptor, a3 as SidePanelHandle, a4 as SidePanelHeader, a5 as StatePersistenceHandler, a6 as StrategyFill, a7 as StrategyState, a8 as StrategyTrade, a9 as SymbolRankingHook, aa as TypedEventBus, V as Vela, ab as VelaDeps, b as VelaEventMap, ac as VisibleBarRange, ad as WidgetActionDescriptor, ae as WidgetActionTarget, af as WidgetAttachment, W as WidgetContext, ag as getNativeIndicator, ah as legendActions, ai as legendCallouts, aj as nativeIndicatorDescriptors, ak as nativeIndicatorTypes, al as registerDefaultEngine, am as registerLegendAction, an as registerLegendCallout, ao as registerNativeIndicator, ap as registerSidePanel, aq as registerStatePersistence, ar as registerSymbolRanking, as as registerWidgetAction, at as registerWidgetAttachment, au as resolveEngines, av as sidePanels, aw as statePersistenceHandlers, ax as symbolRanking, ay as topbarActionOverride, az as unregisterDefaultEngine, aA as unregisterLegendAction, aB as unregisterLegendCallout, aC as unregisterNativeIndicator, aD as unregisterSidePanel, aE as unregisterStatePersistence, aF as unregisterWidgetAction, aG as unregisterWidgetAttachment, aH as widgetActions, aI as widgetAttachments } from './contributions-BhOBRenr.cjs';
3
+ import { D as Drawing, S as SerializedDrawing, U as Unsubscribe, L as LineStyle, P as PriceStyle, e as IChartRenderer, R as RendererCapabilities, f as RendererDisplayOptions, g as IndicatorRenderHandle, h as IndicatorStatus, c as VelaTheme, W as WallClock, O as OHLCV, i as Pane, j as PaneAction, k as MoveTarget, l as IndicatorModel, m as ScenePatch, I as InputValue, n as SymbolPickerFn, o as LegendActionView, p as LegendCalloutView, q as InputChangeEvent, T as ThemeName, C as CrosshairEvent, r as ClickEvent, A as AxisLongPressEvent, s as TimelineMark, t as MarkGroup, u as MarkClickEvent, a as VisibleRange, v as DataWindowReadout, w as IDrawingsRendererPort, x as Millis, y as SnapMode, z as DrawingTypeKey, B as ToolbarDefinition, M as MarketConfig, E as MarketSnapshot } from './options-lMUwmRwh.cjs';
4
+ export { F as AddIndicatorOptions, G as AnimationConfig, H as Background, J as BoxFontFamily, K as BoxHAlign, Q as BoxTextSize, X as BoxVAlign, Y as CandleBarColor, Z as CandleSeries, _ as CandleStyle, $ as DataWindowGroup, a0 as DataWindowOHLC, a1 as DataWindowRow, a2 as DirtyRange, a3 as DrawingBox, a4 as DrawingExtend, a5 as DrawingIntent, a6 as DrawingLabel, a7 as DrawingLine, a8 as DrawingLinefill, a9 as DrawingMode, aa as DrawingPoint, ab as DrawingPolyline, ac as DrawingSeriesBar, ad as DrawingSeriesGateway, ae as DrawingSeriesState, af as DrawingStyle, ag as DrawingTable, ah as DrawingText, ai as DrawingXLoc, aj as DrawingsOption, ak as Fill, al as FillGradientStop, am as IndicatorMeta, an as InputCondition, ao as InputSchema, ap as InputType, aq as InputWhen, ar as IntroAnimation, as as IntroConfig, at as IntroStyle, au as LabelStyle, av as LabelYLoc, aw as LineLikeKind, ax as LineLikeSeries, ay as LineLikeStyle, az as MarkContent, aA as MarkContentSource, aB as MarkGlyph, aC as MarkPanelItem, aD as MarkShape, aE as MarkerPoint, aF as MarkerSeries, aG as MarketSwitch, aH as PaneAxis, aI as PaneAxisBand, aJ as PaneHint, aK as PaneKind, aL as PolylinePoint, aM as PriceAxisOptions, aN as PriceAxisTick, aO as PriceAxisTickContext, aP as PriceAxisTicksFn, aQ as PriceLine, aR as Projector, aS as ProviderName, aT as RendererConstructor, aU as Scene, aV as SchemaPatch, aW as SecondClock, aX as SeriesDisplay, aY as SeriesKind, aZ as SeriesPoint, a_ as SeriesSpec, a$ as SeriesSurface, b0 as SeriesValueDelta, b1 as SettingsField, b2 as SettingsSchema, b3 as SettingsVisibilityPolicy, b4 as TableCell, b5 as TableMerge, b6 as TablePosition, b7 as ToolbarGroupConfig, b8 as TradeExecution, b9 as ValuePatch, b as VelaOptions, V as VisibleRangePreset, ba as buildToolbar, bb as defaultToolbar, bc as inputDeltas, bd as inputVisible, be as seriesInScale, bf as seriesShownOn } from './options-lMUwmRwh.cjs';
5
+ import { S as SettingsSelectOption } from './plugin-Do5J5xuF.cjs';
6
+ export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, p as SERIES_LINE, q as SESSION_OFF, r as SESSION_POST, s as SESSION_PRE, t as SLATE, u as SLATE_DEEP, v as SeriesDataEngine, w as SeriesDataEngineHost, x as SettingsInlineControl, y as SettingsRowCondition, z as SettingsRowDescriptor, E as SettingsRowInlineNumber, F as SettingsRowSwatch, G as SettingsRowValueKey, J as SettingsRowWhen, K as SettingsRowWidth, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, Y as createDrawing, Z as deserializeDrawing, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a2 as registerDrawingType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-Do5J5xuF.cjs';
7
+ import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-wbtJ3-Sa.cjs';
8
+ export { C as CONTEXT_MENU_BUILTIN_ORDER, D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-_2UK1gSm.cjs';
9
9
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.cjs';
10
10
  export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.cjs';
11
11
 
@@ -391,7 +391,15 @@ declare class NativeRenderer implements IChartRenderer {
391
391
  private drawingsCanvas;
392
392
  private cursorCanvas;
393
393
  private overlayRoot;
394
+ /** The host-styleable twin of the `shadeRight` veil (`.vela-shade-right`), directly under
395
+ * the cursor canvas; hidden whenever the crosshair layer paints no veil. */
396
+ private shadeRightEl;
397
+ /** The veil geometry last written to {@link shadeRightEl} ('' = hidden) — the DOM is
398
+ * touched only when it changes, never on a plain pointer move. */
399
+ private shadeRightSig;
394
400
  private userDrawings;
401
+ /** One price-axis tick source for the gridlines (backdrop) and the labels (chrome). */
402
+ private readonly priceAxisTicks;
395
403
  private readonly backdropRenderer;
396
404
  private readonly volumeRenderer;
397
405
  /** SDK renderer layers instantiated at mount ({@link registerRendererLayer}). */
@@ -507,6 +515,8 @@ declare class NativeRenderer implements IChartRenderer {
507
515
  private resizeAbove;
508
516
  private resizeBelow;
509
517
  private resizeSplitStart;
518
+ /** The user drawings take part in pointer input (the runtime `drawingsInteractive` feature). */
519
+ private drawingsInteractive;
510
520
  private hoverSeparatorY;
511
521
  private maximizedPaneId;
512
522
  private rightAxisW;
@@ -545,6 +555,7 @@ declare class NativeRenderer implements IChartRenderer {
545
555
  private readonly toggleVisibleCbs;
546
556
  private readonly moveIndicatorCbs;
547
557
  private readonly priceStyleCbs;
558
+ private readonly priceStyleWillChangeCbs;
548
559
  constructor(opts?: RendererDisplayOptions);
549
560
  readonly name = "native";
550
561
  readonly features: readonly string[];
@@ -767,11 +778,13 @@ declare class NativeRenderer implements IChartRenderer {
767
778
  onInputChange(cb: (e: InputChangeEvent) => void): Unsubscribe;
768
779
  onToggleIndicatorVisible(cb: (id: string, visible: boolean) => void): Unsubscribe;
769
780
  onPriceStyleChange(cb: (style: PriceStyle) => void): Unsubscribe;
781
+ onPriceStyleWillChange(cb: (from: PriceStyle, to: PriceStyle) => void): Unsubscribe;
770
782
  /**
771
783
  * THE single write path for the base price style at runtime (feature set / settings dialog /
772
- * config template — the constructor seeds the field directly, pre-listeners). Updates the
773
- * scene, eases any reveal layer toward the new style's target, and notifies the core —
774
- * which owns the DATA side of styles that need one (a chart type's SeriesDataEngine).
784
+ * config template — the constructor seeds the field directly, pre-listeners). Announces the
785
+ * switch while the scene still holds the old style (a listener may paint/capture that frame),
786
+ * then updates the scene, eases any reveal layer toward the new style's target, and notifies
787
+ * the core — which owns the DATA side of styles that need one (a chart type's SeriesDataEngine).
775
788
  */
776
789
  private setPriceStyle;
777
790
  onRemoveIndicator(cb: (id: string) => void): Unsubscribe;
@@ -940,6 +953,10 @@ declare class NativeRenderer implements IChartRenderer {
940
953
  * absent from the map and its readout clears. */
941
954
  private updateLegendValues;
942
955
  private renderFrame;
956
+ /** Repaint the L2 crosshair canvas and keep the `.vela-shade-right` element on the veil it painted. */
957
+ private renderCrosshairLayer;
958
+ /** Position (or hide) the `.vela-shade-right` element over the veil of the last crosshair frame. */
959
+ private syncShadeRight;
943
960
  /** Repaint the SDK layers that opted into cursor tracking (their own canvas only). */
944
961
  private repaintCursorLayers;
945
962
  /** Blank one SDK layer canvas (a collapsed host pane suppresses the layer's painting). */
@@ -1193,6 +1210,9 @@ declare class DrawingToolbar {
1193
1210
  private flyout;
1194
1211
  private flyoutOwnerId;
1195
1212
  private flyoutCell;
1213
+ /** Closed flyouts still playing their exit animation, by owner id — reopening the same
1214
+ * owner takes its element back instead of stacking a second one on it. */
1215
+ private readonly exitingFlyouts;
1196
1216
  private readonly groupCells;
1197
1217
  private readonly groupIcons;
1198
1218
  private cursorBtn;
@@ -1294,9 +1314,9 @@ declare class DrawingToolbar {
1294
1314
  private openMagnetFlyout;
1295
1315
  private flyoutHeader;
1296
1316
  private flyoutSeparator;
1297
- /** A flyout row, left to right: optional leading icon, label, a check when it's the selected
1298
- * entry, an optional shortcut hint, and — at the far right — the favorite star (tool rows).
1299
- * Hover tint is CSS (`.vela-dtb-item:hover`), so navigating the menu stays smooth. */
1317
+ /** A flyout row, left to right: optional leading icon badge, label, a check when it's the
1318
+ * selected entry, an optional shortcut hint, and — at the far right — the favorite star (tool
1319
+ * rows). Hover tint is CSS (`.vela-dtb-item:hover`), so navigating the menu stays smooth. */
1300
1320
  private makeFlyoutItem;
1301
1321
  private readonly onOutside;
1302
1322
  private closeFlyout;
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { D as DrawingsDocument, d as Resolved, e as ReplayTick, f as DataControl, g as ReplayTickSource } from './contributions-bWgwyiVi.js';
2
- export { B as BarsChangeReason, C as CellStateContext, h as CodeUpdateResult, i as ContextSelect, j as DrawingsControl, k as EngineAlert, l as EngineCapabilities, m as EngineContextSnapshot, n as EngineFactory, o as EngineWarning, p as ExecutionHandlers, q as ExecutionMarket, r as ExecutionRequest, s as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, t as IndicatorEventMap, I as IndicatorHandle, u as IndicatorSummary, L as LegendActionDescriptor, v as LegendCalloutContent, w as LegendCalloutDescriptor, x as LegendCalloutItem, y as LegendCalloutSpec, z as LegendIndicatorInfo, M as MarksControl, N as NativeIndicator, A as NativeIndicatorContext, G as NativeIndicatorDescriptor, H as NativeIndicatorInfo, J as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, K as PreparedScript, Q as RendererControl, a as ReplayBounds, T as ReplayControl, U as ReplayEndReason, X as ReplayStartOptions, R as ReplayState, Y as RunIndicatorResult, Z as SceneInspection, c as ScriptRun, _ as ScriptRunCause, $ as ScriptRunResult, S as ScriptingEngine, a0 as SidePanelButton, a1 as SidePanelDescriptor, a2 as SidePanelHandle, a3 as SidePanelHeader, a4 as StatePersistenceHandler, a5 as StrategyFill, a6 as StrategyState, a7 as StrategyTrade, a8 as SymbolRankingHook, a9 as TypedEventBus, V as Vela, aa as VelaDeps, b as VelaEventMap, ab as VisibleBarRange, ac as WidgetActionDescriptor, ad as WidgetActionTarget, ae as WidgetAttachment, W as WidgetContext, af as getNativeIndicator, ag as legendActions, ah as legendCallouts, ai as nativeIndicatorDescriptors, aj as nativeIndicatorTypes, ak as registerDefaultEngine, al as registerLegendAction, am as registerLegendCallout, an as registerNativeIndicator, ao as registerSidePanel, ap as registerStatePersistence, aq as registerSymbolRanking, ar as registerWidgetAction, as as registerWidgetAttachment, at as resolveEngines, au as sidePanels, av as statePersistenceHandlers, aw as symbolRanking, ax as topbarActionOverride, ay as unregisterDefaultEngine, az as unregisterLegendAction, aA as unregisterLegendCallout, aB as unregisterNativeIndicator, aC as unregisterSidePanel, aD as unregisterStatePersistence, aE as unregisterWidgetAction, aF as unregisterWidgetAttachment, aG as widgetActions, aH as widgetAttachments } from './contributions-bWgwyiVi.js';
3
- import { D as Drawing, S as SerializedDrawing, U as Unsubscribe, L as LineStyle, P as PriceStyle, e as IChartRenderer, R as RendererCapabilities, f as RendererDisplayOptions, g as IndicatorRenderHandle, h as IndicatorStatus, c as VelaTheme, W as WallClock, O as OHLCV, i as Pane, j as PaneAction, k as MoveTarget, l as IndicatorModel, m as ScenePatch, I as InputValue, n as SymbolPickerFn, o as LegendActionView, p as LegendCalloutView, q as InputChangeEvent, T as ThemeName, C as CrosshairEvent, r as ClickEvent, A as AxisLongPressEvent, s as TimelineMark, t as MarkGroup, u as MarkClickEvent, a as VisibleRange, v as DataWindowReadout, w as IDrawingsRendererPort, x as Millis, y as SnapMode, z as DrawingTypeKey, B as ToolbarDefinition, M as MarketConfig, E as MarketSnapshot } from './options-NAUHiQEC.js';
4
- export { F as AddIndicatorOptions, G as AnimationConfig, H as Background, J as BoxFontFamily, K as BoxHAlign, Q as BoxTextSize, X as BoxVAlign, Y as CandleBarColor, Z as CandleSeries, _ as CandleStyle, $ as DataWindowGroup, a0 as DataWindowOHLC, a1 as DataWindowRow, a2 as DirtyRange, a3 as DrawingBox, a4 as DrawingExtend, a5 as DrawingIntent, a6 as DrawingLabel, a7 as DrawingLine, a8 as DrawingLinefill, a9 as DrawingMode, aa as DrawingPoint, ab as DrawingPolyline, ac as DrawingSeriesBar, ad as DrawingSeriesGateway, ae as DrawingSeriesState, af as DrawingStyle, ag as DrawingTable, ah as DrawingText, ai as DrawingXLoc, aj as DrawingsOption, ak as Fill, al as FillGradientStop, am as IndicatorMeta, an as InputCondition, ao as InputSchema, ap as InputType, aq as InputWhen, ar as IntroAnimation, as as IntroConfig, at as IntroStyle, au as LabelStyle, av as LabelYLoc, aw as LineLikeKind, ax as LineLikeSeries, ay as LineLikeStyle, az as MarkContent, aA as MarkContentSource, aB as MarkGlyph, aC as MarkPanelItem, aD as MarkShape, aE as MarkerPoint, aF as MarkerSeries, aG as MarketSwitch, aH as PaneAxis, aI as PaneAxisBand, aJ as PaneHint, aK as PaneKind, aL as PolylinePoint, aM as PriceLine, aN as Projector, aO as ProviderName, aP as RendererConstructor, aQ as Scene, aR as SchemaPatch, aS as SecondClock, aT as SeriesDisplay, aU as SeriesKind, aV as SeriesPoint, aW as SeriesSpec, aX as SeriesSurface, aY as SeriesValueDelta, aZ as SettingsField, a_ as SettingsSchema, a$ as SettingsVisibilityPolicy, b0 as TableCell, b1 as TableMerge, b2 as TablePosition, b3 as ToolbarGroupConfig, b4 as TradeExecution, b5 as ValuePatch, b as VelaOptions, V as VisibleRangePreset, b6 as buildToolbar, b7 as defaultToolbar, b8 as inputDeltas, b9 as inputVisible, ba as seriesInScale, bb as seriesShownOn } from './options-NAUHiQEC.js';
5
- import { S as SettingsSelectOption } from './plugin-CqxWoDKS.js';
6
- export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, p as SERIES_LINE, q as SESSION_OFF, r as SESSION_POST, s as SESSION_PRE, t as SLATE, u as SLATE_DEEP, v as SeriesDataEngine, w as SeriesDataEngineHost, x as SettingsInlineControl, y as SettingsRowCondition, z as SettingsRowDescriptor, E as SettingsRowInlineNumber, F as SettingsRowSwatch, G as SettingsRowValueKey, J as SettingsRowWhen, K as SettingsRowWidth, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, Y as createDrawing, Z as deserializeDrawing, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a2 as registerDrawingType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-CqxWoDKS.js';
7
- import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-DpOWZD8F.js';
8
- export { D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-wMNfgyZb.js';
1
+ import { D as DrawingsDocument, d as Resolved, e as ReplayTick, f as DataControl, g as ReplayTickSource } from './contributions-HGqnNb_P.js';
2
+ export { B as BarsChangeReason, C as CellStateContext, h as CodeUpdateResult, i as ContextMenuPointer, j as ContextSelect, k as DrawingsControl, l as EngineAlert, m as EngineCapabilities, n as EngineContextSnapshot, o as EngineFactory, p as EngineWarning, q as ExecutionHandlers, r as ExecutionMarket, s as ExecutionRequest, t as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, u as IndicatorEventMap, I as IndicatorHandle, v as IndicatorSummary, L as LegendActionDescriptor, w as LegendCalloutContent, x as LegendCalloutDescriptor, y as LegendCalloutItem, z as LegendCalloutSpec, A as LegendIndicatorInfo, M as MarksControl, N as NativeIndicator, G as NativeIndicatorContext, H as NativeIndicatorDescriptor, J as NativeIndicatorInfo, K as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, Q as PreparedScript, T as RendererControl, a as ReplayBounds, U as ReplayControl, X as ReplayEndReason, Y as ReplayStartOptions, R as ReplayState, Z as RunIndicatorResult, _ as SceneInspection, c as ScriptRun, $ as ScriptRunCause, a0 as ScriptRunResult, S as ScriptingEngine, a1 as SidePanelButton, a2 as SidePanelDescriptor, a3 as SidePanelHandle, a4 as SidePanelHeader, a5 as StatePersistenceHandler, a6 as StrategyFill, a7 as StrategyState, a8 as StrategyTrade, a9 as SymbolRankingHook, aa as TypedEventBus, V as Vela, ab as VelaDeps, b as VelaEventMap, ac as VisibleBarRange, ad as WidgetActionDescriptor, ae as WidgetActionTarget, af as WidgetAttachment, W as WidgetContext, ag as getNativeIndicator, ah as legendActions, ai as legendCallouts, aj as nativeIndicatorDescriptors, ak as nativeIndicatorTypes, al as registerDefaultEngine, am as registerLegendAction, an as registerLegendCallout, ao as registerNativeIndicator, ap as registerSidePanel, aq as registerStatePersistence, ar as registerSymbolRanking, as as registerWidgetAction, at as registerWidgetAttachment, au as resolveEngines, av as sidePanels, aw as statePersistenceHandlers, ax as symbolRanking, ay as topbarActionOverride, az as unregisterDefaultEngine, aA as unregisterLegendAction, aB as unregisterLegendCallout, aC as unregisterNativeIndicator, aD as unregisterSidePanel, aE as unregisterStatePersistence, aF as unregisterWidgetAction, aG as unregisterWidgetAttachment, aH as widgetActions, aI as widgetAttachments } from './contributions-HGqnNb_P.js';
3
+ import { D as Drawing, S as SerializedDrawing, U as Unsubscribe, L as LineStyle, P as PriceStyle, e as IChartRenderer, R as RendererCapabilities, f as RendererDisplayOptions, g as IndicatorRenderHandle, h as IndicatorStatus, c as VelaTheme, W as WallClock, O as OHLCV, i as Pane, j as PaneAction, k as MoveTarget, l as IndicatorModel, m as ScenePatch, I as InputValue, n as SymbolPickerFn, o as LegendActionView, p as LegendCalloutView, q as InputChangeEvent, T as ThemeName, C as CrosshairEvent, r as ClickEvent, A as AxisLongPressEvent, s as TimelineMark, t as MarkGroup, u as MarkClickEvent, a as VisibleRange, v as DataWindowReadout, w as IDrawingsRendererPort, x as Millis, y as SnapMode, z as DrawingTypeKey, B as ToolbarDefinition, M as MarketConfig, E as MarketSnapshot } from './options-lMUwmRwh.js';
4
+ export { F as AddIndicatorOptions, G as AnimationConfig, H as Background, J as BoxFontFamily, K as BoxHAlign, Q as BoxTextSize, X as BoxVAlign, Y as CandleBarColor, Z as CandleSeries, _ as CandleStyle, $ as DataWindowGroup, a0 as DataWindowOHLC, a1 as DataWindowRow, a2 as DirtyRange, a3 as DrawingBox, a4 as DrawingExtend, a5 as DrawingIntent, a6 as DrawingLabel, a7 as DrawingLine, a8 as DrawingLinefill, a9 as DrawingMode, aa as DrawingPoint, ab as DrawingPolyline, ac as DrawingSeriesBar, ad as DrawingSeriesGateway, ae as DrawingSeriesState, af as DrawingStyle, ag as DrawingTable, ah as DrawingText, ai as DrawingXLoc, aj as DrawingsOption, ak as Fill, al as FillGradientStop, am as IndicatorMeta, an as InputCondition, ao as InputSchema, ap as InputType, aq as InputWhen, ar as IntroAnimation, as as IntroConfig, at as IntroStyle, au as LabelStyle, av as LabelYLoc, aw as LineLikeKind, ax as LineLikeSeries, ay as LineLikeStyle, az as MarkContent, aA as MarkContentSource, aB as MarkGlyph, aC as MarkPanelItem, aD as MarkShape, aE as MarkerPoint, aF as MarkerSeries, aG as MarketSwitch, aH as PaneAxis, aI as PaneAxisBand, aJ as PaneHint, aK as PaneKind, aL as PolylinePoint, aM as PriceAxisOptions, aN as PriceAxisTick, aO as PriceAxisTickContext, aP as PriceAxisTicksFn, aQ as PriceLine, aR as Projector, aS as ProviderName, aT as RendererConstructor, aU as Scene, aV as SchemaPatch, aW as SecondClock, aX as SeriesDisplay, aY as SeriesKind, aZ as SeriesPoint, a_ as SeriesSpec, a$ as SeriesSurface, b0 as SeriesValueDelta, b1 as SettingsField, b2 as SettingsSchema, b3 as SettingsVisibilityPolicy, b4 as TableCell, b5 as TableMerge, b6 as TablePosition, b7 as ToolbarGroupConfig, b8 as TradeExecution, b9 as ValuePatch, b as VelaOptions, V as VisibleRangePreset, ba as buildToolbar, bb as defaultToolbar, bc as inputDeltas, bd as inputVisible, be as seriesInScale, bf as seriesShownOn } from './options-lMUwmRwh.js';
5
+ import { S as SettingsSelectOption } from './plugin-Cr2Pj8q8.js';
6
+ export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, p as SERIES_LINE, q as SESSION_OFF, r as SESSION_POST, s as SESSION_PRE, t as SLATE, u as SLATE_DEEP, v as SeriesDataEngine, w as SeriesDataEngineHost, x as SettingsInlineControl, y as SettingsRowCondition, z as SettingsRowDescriptor, E as SettingsRowInlineNumber, F as SettingsRowSwatch, G as SettingsRowValueKey, J as SettingsRowWhen, K as SettingsRowWidth, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, Y as createDrawing, Z as deserializeDrawing, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a2 as registerDrawingType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-Cr2Pj8q8.js';
7
+ import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-oH78tYXL.js';
8
+ export { C as CONTEXT_MENU_BUILTIN_ORDER, D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-_2UK1gSm.js';
9
9
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
10
10
  export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
11
11
 
@@ -391,7 +391,15 @@ declare class NativeRenderer implements IChartRenderer {
391
391
  private drawingsCanvas;
392
392
  private cursorCanvas;
393
393
  private overlayRoot;
394
+ /** The host-styleable twin of the `shadeRight` veil (`.vela-shade-right`), directly under
395
+ * the cursor canvas; hidden whenever the crosshair layer paints no veil. */
396
+ private shadeRightEl;
397
+ /** The veil geometry last written to {@link shadeRightEl} ('' = hidden) — the DOM is
398
+ * touched only when it changes, never on a plain pointer move. */
399
+ private shadeRightSig;
394
400
  private userDrawings;
401
+ /** One price-axis tick source for the gridlines (backdrop) and the labels (chrome). */
402
+ private readonly priceAxisTicks;
395
403
  private readonly backdropRenderer;
396
404
  private readonly volumeRenderer;
397
405
  /** SDK renderer layers instantiated at mount ({@link registerRendererLayer}). */
@@ -507,6 +515,8 @@ declare class NativeRenderer implements IChartRenderer {
507
515
  private resizeAbove;
508
516
  private resizeBelow;
509
517
  private resizeSplitStart;
518
+ /** The user drawings take part in pointer input (the runtime `drawingsInteractive` feature). */
519
+ private drawingsInteractive;
510
520
  private hoverSeparatorY;
511
521
  private maximizedPaneId;
512
522
  private rightAxisW;
@@ -545,6 +555,7 @@ declare class NativeRenderer implements IChartRenderer {
545
555
  private readonly toggleVisibleCbs;
546
556
  private readonly moveIndicatorCbs;
547
557
  private readonly priceStyleCbs;
558
+ private readonly priceStyleWillChangeCbs;
548
559
  constructor(opts?: RendererDisplayOptions);
549
560
  readonly name = "native";
550
561
  readonly features: readonly string[];
@@ -767,11 +778,13 @@ declare class NativeRenderer implements IChartRenderer {
767
778
  onInputChange(cb: (e: InputChangeEvent) => void): Unsubscribe;
768
779
  onToggleIndicatorVisible(cb: (id: string, visible: boolean) => void): Unsubscribe;
769
780
  onPriceStyleChange(cb: (style: PriceStyle) => void): Unsubscribe;
781
+ onPriceStyleWillChange(cb: (from: PriceStyle, to: PriceStyle) => void): Unsubscribe;
770
782
  /**
771
783
  * THE single write path for the base price style at runtime (feature set / settings dialog /
772
- * config template — the constructor seeds the field directly, pre-listeners). Updates the
773
- * scene, eases any reveal layer toward the new style's target, and notifies the core —
774
- * which owns the DATA side of styles that need one (a chart type's SeriesDataEngine).
784
+ * config template — the constructor seeds the field directly, pre-listeners). Announces the
785
+ * switch while the scene still holds the old style (a listener may paint/capture that frame),
786
+ * then updates the scene, eases any reveal layer toward the new style's target, and notifies
787
+ * the core — which owns the DATA side of styles that need one (a chart type's SeriesDataEngine).
775
788
  */
776
789
  private setPriceStyle;
777
790
  onRemoveIndicator(cb: (id: string) => void): Unsubscribe;
@@ -940,6 +953,10 @@ declare class NativeRenderer implements IChartRenderer {
940
953
  * absent from the map and its readout clears. */
941
954
  private updateLegendValues;
942
955
  private renderFrame;
956
+ /** Repaint the L2 crosshair canvas and keep the `.vela-shade-right` element on the veil it painted. */
957
+ private renderCrosshairLayer;
958
+ /** Position (or hide) the `.vela-shade-right` element over the veil of the last crosshair frame. */
959
+ private syncShadeRight;
943
960
  /** Repaint the SDK layers that opted into cursor tracking (their own canvas only). */
944
961
  private repaintCursorLayers;
945
962
  /** Blank one SDK layer canvas (a collapsed host pane suppresses the layer's painting). */
@@ -1193,6 +1210,9 @@ declare class DrawingToolbar {
1193
1210
  private flyout;
1194
1211
  private flyoutOwnerId;
1195
1212
  private flyoutCell;
1213
+ /** Closed flyouts still playing their exit animation, by owner id — reopening the same
1214
+ * owner takes its element back instead of stacking a second one on it. */
1215
+ private readonly exitingFlyouts;
1196
1216
  private readonly groupCells;
1197
1217
  private readonly groupIcons;
1198
1218
  private cursorBtn;
@@ -1294,9 +1314,9 @@ declare class DrawingToolbar {
1294
1314
  private openMagnetFlyout;
1295
1315
  private flyoutHeader;
1296
1316
  private flyoutSeparator;
1297
- /** A flyout row, left to right: optional leading icon, label, a check when it's the selected
1298
- * entry, an optional shortcut hint, and — at the far right — the favorite star (tool rows).
1299
- * Hover tint is CSS (`.vela-dtb-item:hover`), so navigating the menu stays smooth. */
1317
+ /** A flyout row, left to right: optional leading icon badge, label, a check when it's the
1318
+ * selected entry, an optional shortcut hint, and — at the far right — the favorite star (tool
1319
+ * rows). Hover tint is CSS (`.vela-dtb-item:hover`), so navigating the menu stays smooth. */
1300
1320
  private makeFlyoutItem;
1301
1321
  private readonly onOutside;
1302
1322
  private closeFlyout;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- import './chunk-JU4CWEBF.js';
2
- export { BarStore, CachingDataFeed, DARK_THEME, DataControl, DrawingStore, DrawingToolbar, DrawingsControl, LIGHT_THEME, MarksControl, MultiProviderFeed, NativeRenderer, RendererControl, ReplayControl, SecondClock, TypedEventBus, Vela, buildToolbar, defaultToolbar, resolveTheme, sharedBarStore, timeframeToMs } from './chunk-T3DZIR5Y.js';
3
- export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, Drawing, OVERRIDABLE_TOPBAR_IDS, chartType, chartTypes, clampPanelWidth, createDrawing, deserializeDrawing, drawingTypes, getDrawingType, getNativeIndicator, inputDeltas, inputVisible, legendActions, legendCallouts, nativeIndicatorDescriptors, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, registerDrawingType, registerLegendAction, registerLegendCallout, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resolveEngines, seriesInScale, seriesShownOn, settingsRowValueKeys, sidePanels, stableSeriesId, statePersistenceHandlers, symbolRanking, tickerModifierIds, topbarActionOverride, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterLegendCallout, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-DPAA3SRT.js';
4
- import './chunk-NLDTVFOI.js';
5
- export { ACCENT, ACCENT_BRIGHT, BEARISH, BULLISH, CATEGORICAL, CHIP_PLATE, CROSSHAIR, HIGHLIGHT, INFO, INVALID, MARKER, NEUTRAL, SERIES_LINE, SESSION_OFF, SESSION_POST, SESSION_PRE, SLATE, SLATE_DEEP, TRADE_EXIT, TRADE_LONG, TRADE_SHORT, VALID, WARNING, categoricalColor, iconMarkup, registerIcon } from './chunk-HKNO24GD.js';
1
+ import './chunk-W5YPYZ2P.js';
2
+ export { BarStore, CachingDataFeed, DARK_THEME, DataControl, DrawingStore, DrawingToolbar, DrawingsControl, LIGHT_THEME, MarksControl, MultiProviderFeed, NativeRenderer, RendererControl, ReplayControl, SecondClock, TypedEventBus, Vela, buildToolbar, defaultToolbar, resolveTheme, sharedBarStore, timeframeToMs } from './chunk-HMHA733L.js';
3
+ export { CONTEXT_MENU_BUILTIN_ORDER, DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, Drawing, OVERRIDABLE_TOPBAR_IDS, chartType, chartTypes, clampPanelWidth, createDrawing, deserializeDrawing, drawingTypes, getDrawingType, getNativeIndicator, inputDeltas, inputVisible, legendActions, legendCallouts, nativeIndicatorDescriptors, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, registerDrawingType, registerLegendAction, registerLegendCallout, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resolveEngines, seriesInScale, seriesShownOn, settingsRowValueKeys, sidePanels, stableSeriesId, statePersistenceHandlers, symbolRanking, tickerModifierIds, topbarActionOverride, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterLegendCallout, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-KWI3YDBW.js';
4
+ import './chunk-G7B7ZCBF.js';
5
+ export { ACCENT, ACCENT_BRIGHT, BEARISH, BULLISH, CATEGORICAL, CHIP_PLATE, CROSSHAIR, HIGHLIGHT, INFO, INVALID, MARKER, NEUTRAL, SERIES_LINE, SESSION_OFF, SESSION_POST, SESSION_PRE, SLATE, SLATE_DEEP, TRADE_EXIT, TRADE_LONG, TRADE_SHORT, VALID, WARNING, categoricalColor, iconMarkup, registerIcon } from './chunk-VHGACEHO.js';
6
6
 
7
7
  // src/core/replayTicks.ts
8
8
  function lowerTimeframeTicks(chart, timeframe) {
@@ -1694,6 +1694,15 @@ interface IChartRenderer {
1694
1694
  * a renderer without runtime style switching omits it.
1695
1695
  */
1696
1696
  onPriceStyleChange?(cb: (style: PriceStyle) => void): Unsubscribe;
1697
+ /**
1698
+ * The renderer tells core that the base price style is ABOUT to change, `from` → `to`
1699
+ * — the same sources as {@link onPriceStyleChange} (one runtime write path), called
1700
+ * synchronously before the renderer touches its scene, so the chart still paints
1701
+ * `from` while the callback runs. Never called for the constructed style or for a
1702
+ * write of the style already shown. Callbacks must not change the style themselves.
1703
+ * Optional — a renderer without runtime style switching omits it.
1704
+ */
1705
+ onPriceStyleWillChange?(cb: (from: PriceStyle, to: PriceStyle) => void): Unsubscribe;
1697
1706
  /** The renderer tells core when the user edits an input in-chart. */
1698
1707
  onInputChange(cb: (e: InputChangeEvent) => void): Unsubscribe;
1699
1708
  /** The renderer tells core when the user removes an indicator in-chart (the legend ✕). */
@@ -1967,7 +1976,61 @@ interface VelaOptions extends MarketConfig {
1967
1976
  * chart with `chart.renderer.listSettingsIds()`; the catalog is documented in
1968
1977
  * docs/user/options.md. */
1969
1978
  settings?: SettingsVisibilityPolicy;
1979
+ /** Price-axis customization (native renderer): `ticks` replaces the built-in tick
1980
+ * ladder of every pane's price axis — labels and horizontal gridlines together. */
1981
+ priceAxis?: PriceAxisOptions;
1982
+ }
1983
+ /** Price-axis customization (see `VelaOptions.priceAxis`). */
1984
+ interface PriceAxisOptions {
1985
+ /** Supplies the ticks of each pane's price axis — the labels and the horizontal
1986
+ * gridlines both follow them. Called per pane when the pane's range, size or mode
1987
+ * changes. Returning `null`/`undefined` keeps the built-in ticks. Seeds the native
1988
+ * renderer's runtime `priceAxisTicks` feature; `null` (the default) = built-in ticks. */
1989
+ ticks?: PriceAxisTicksFn | null;
1990
+ }
1991
+ /** One price-axis tick: a gridline at `price` and its axis label. */
1992
+ interface PriceAxisTick {
1993
+ /** Where the tick sits, in prices (also in percent/indexed mode). */
1994
+ price: number;
1995
+ /** The axis label, drawn as given. */
1996
+ label: string;
1997
+ /** true = emphasized (semibold), false = de-emphasized (muted), omitted = the regular label. */
1998
+ major?: boolean;
1970
1999
  }
2000
+ /** What a {@link PriceAxisTicksFn} receives for one pane. */
2001
+ interface PriceAxisTickContext {
2002
+ /** The pane whose axis is being built. */
2003
+ pane: {
2004
+ id: string;
2005
+ kind: 'price' | 'study';
2006
+ };
2007
+ /** The pane's visible value range, in prices (also in percent/indexed mode). */
2008
+ min: number;
2009
+ /** Upper end of the visible range, in prices. */
2010
+ max: number;
2011
+ /** Whether the pane's scale is logarithmic. */
2012
+ log: boolean;
2013
+ /** Pane height in CSS px. */
2014
+ height: number;
2015
+ /** The mode the axis labels render in this frame. */
2016
+ mode: 'price' | 'percent' | 'indexed';
2017
+ /** The percent/indexed baseline price (undefined in price mode). */
2018
+ baseline?: number;
2019
+ /** The symbol's tick size, when known. */
2020
+ mintick?: number;
2021
+ /** The axis font size in px. */
2022
+ fontSize: number;
2023
+ /** A price's pane-relative y in CSS px (honours log and inverted scales). */
2024
+ priceToY(price: number): number;
2025
+ /** Vela's own ticks for this frame — return them, or a filtered/extended copy, to build on the default. */
2026
+ defaults: readonly PriceAxisTick[];
2027
+ }
2028
+ /**
2029
+ * Builds a pane's price-axis ticks. Return the ticks to draw (an empty array draws none),
2030
+ * or `null`/`undefined` to keep the built-in ones. Entries with a non-finite `price` or a
2031
+ * non-string `label` are dropped; a function that throws falls back to the built-in ticks.
2032
+ */
2033
+ type PriceAxisTicksFn = (ctx: PriceAxisTickContext) => readonly PriceAxisTick[] | null | undefined;
1971
2034
  /** Settings-dialog visibility policy (see `VelaOptions.settings`). */
1972
2035
  interface SettingsVisibilityPolicy {
1973
2036
  /** Setting ids to hide — a tab, a group, or a row; an id hides its subtree. */
@@ -2048,6 +2111,8 @@ interface RendererDisplayOptions {
2048
2111
  upColor: string;
2049
2112
  downColor: string;
2050
2113
  priceStyle: PriceStyle;
2114
+ /** Host price-axis ticks (`VelaOptions.priceAxis.ticks`); absent/null = built-in ticks. */
2115
+ priceAxisTicks?: PriceAxisTicksFn | null;
2051
2116
  }
2052
2117
  /**
2053
2118
  * Where to move an indicator (via `handle.moveTo(...)`):
@@ -2108,4 +2173,4 @@ interface AddIndicatorOptions {
2108
2173
  title?: string;
2109
2174
  }
2110
2175
 
2111
- export { type DataWindowGroup as $, type AxisLongPressEvent as A, type ToolbarDefinition as B, type CrosshairEvent as C, Drawing as D, type MarketSnapshot as E, type AddIndicatorOptions as F, type AnimationConfig as G, type Background as H, type InputValue as I, type BoxFontFamily as J, type BoxHAlign as K, type LineStyle as L, type MarketConfig as M, type NativeBackend as N, type OHLCV as O, type PriceStyle as P, type BoxTextSize as Q, type RendererCapabilities as R, type SerializedDrawing as S, type ThemeName as T, type Unsubscribe as U, type VisibleRangePreset as V, type WallClock as W, type BoxVAlign as X, type CandleBarColor as Y, type CandleSeries as Z, type CandleStyle as _, type VisibleRange as a, type SettingsVisibilityPolicy as a$, type DataWindowOHLC as a0, type DataWindowRow as a1, type DirtyRange as a2, type DrawingBox as a3, type DrawingExtend as a4, type DrawingIntent as a5, type DrawingLabel as a6, type DrawingLine as a7, type DrawingLinefill as a8, type DrawingMode as a9, type MarkContentSource as aA, type MarkGlyph as aB, type MarkPanelItem as aC, type MarkShape as aD, type MarkerPoint as aE, type MarkerSeries as aF, type MarketSwitch as aG, type PaneAxis as aH, type PaneAxisBand as aI, type PaneHint as aJ, type PaneKind as aK, type PolylinePoint as aL, type PriceLine as aM, type Projector as aN, type ProviderName as aO, type RendererConstructor as aP, type Scene as aQ, type SchemaPatch as aR, SecondClock as aS, type SeriesDisplay as aT, type SeriesKind as aU, type SeriesPoint as aV, type SeriesSpec as aW, type SeriesSurface as aX, type SeriesValueDelta as aY, type SettingsField as aZ, type SettingsSchema as a_, type DrawingPoint as aa, type DrawingPolyline as ab, type DrawingSeriesBar as ac, type DrawingSeriesGateway as ad, type DrawingSeriesState as ae, type DrawingStyle as af, type DrawingTable as ag, type DrawingText as ah, type DrawingXLoc as ai, type DrawingsOption as aj, type Fill as ak, type FillGradientStop as al, type IndicatorMeta as am, type InputCondition as an, type InputSchema as ao, type InputType as ap, type InputWhen as aq, type IntroAnimation as ar, type IntroConfig as as, type IntroStyle as at, type LabelStyle as au, type LabelYLoc as av, type LineLikeKind as aw, type LineLikeSeries as ax, type LineLikeStyle as ay, type MarkContent as az, type VelaOptions as b, type TableCell as b0, type TableMerge as b1, type TablePosition as b2, type ToolbarGroupConfig as b3, type TradeExecution as b4, type ValuePatch as b5, buildToolbar as b6, defaultToolbar as b7, inputDeltas as b8, inputVisible as b9, seriesInScale as ba, seriesShownOn as bb, type PaneInfo as bc, type VelaTheme as c, type MarketSession as d, type IChartRenderer as e, type RendererDisplayOptions as f, type IndicatorRenderHandle as g, type IndicatorStatus as h, type Pane as i, type PaneAction as j, type MoveTarget as k, type IndicatorModel as l, type ScenePatch as m, type SymbolPickerFn as n, type LegendActionView as o, type LegendCalloutView as p, type InputChangeEvent as q, type ClickEvent as r, type TimelineMark as s, type MarkGroup as t, type MarkClickEvent as u, type DataWindowReadout as v, type IDrawingsRendererPort as w, type Millis as x, type SnapMode as y, type DrawingTypeKey as z };
2176
+ export { type DataWindowGroup as $, type AxisLongPressEvent as A, type ToolbarDefinition as B, type CrosshairEvent as C, Drawing as D, type MarketSnapshot as E, type AddIndicatorOptions as F, type AnimationConfig as G, type Background as H, type InputValue as I, type BoxFontFamily as J, type BoxHAlign as K, type LineStyle as L, type MarketConfig as M, type NativeBackend as N, type OHLCV as O, type PriceStyle as P, type BoxTextSize as Q, type RendererCapabilities as R, type SerializedDrawing as S, type ThemeName as T, type Unsubscribe as U, type VisibleRangePreset as V, type WallClock as W, type BoxVAlign as X, type CandleBarColor as Y, type CandleSeries as Z, type CandleStyle as _, type VisibleRange as a, type SeriesSurface as a$, type DataWindowOHLC as a0, type DataWindowRow as a1, type DirtyRange as a2, type DrawingBox as a3, type DrawingExtend as a4, type DrawingIntent as a5, type DrawingLabel as a6, type DrawingLine as a7, type DrawingLinefill as a8, type DrawingMode as a9, type MarkContentSource as aA, type MarkGlyph as aB, type MarkPanelItem as aC, type MarkShape as aD, type MarkerPoint as aE, type MarkerSeries as aF, type MarketSwitch as aG, type PaneAxis as aH, type PaneAxisBand as aI, type PaneHint as aJ, type PaneKind as aK, type PolylinePoint as aL, type PriceAxisOptions as aM, type PriceAxisTick as aN, type PriceAxisTickContext as aO, type PriceAxisTicksFn as aP, type PriceLine as aQ, type Projector as aR, type ProviderName as aS, type RendererConstructor as aT, type Scene as aU, type SchemaPatch as aV, SecondClock as aW, type SeriesDisplay as aX, type SeriesKind as aY, type SeriesPoint as aZ, type SeriesSpec as a_, type DrawingPoint as aa, type DrawingPolyline as ab, type DrawingSeriesBar as ac, type DrawingSeriesGateway as ad, type DrawingSeriesState as ae, type DrawingStyle as af, type DrawingTable as ag, type DrawingText as ah, type DrawingXLoc as ai, type DrawingsOption as aj, type Fill as ak, type FillGradientStop as al, type IndicatorMeta as am, type InputCondition as an, type InputSchema as ao, type InputType as ap, type InputWhen as aq, type IntroAnimation as ar, type IntroConfig as as, type IntroStyle as at, type LabelStyle as au, type LabelYLoc as av, type LineLikeKind as aw, type LineLikeSeries as ax, type LineLikeStyle as ay, type MarkContent as az, type VelaOptions as b, type SeriesValueDelta as b0, type SettingsField as b1, type SettingsSchema as b2, type SettingsVisibilityPolicy as b3, type TableCell as b4, type TableMerge as b5, type TablePosition as b6, type ToolbarGroupConfig as b7, type TradeExecution as b8, type ValuePatch as b9, buildToolbar as ba, defaultToolbar as bb, inputDeltas as bc, inputVisible as bd, seriesInScale as be, seriesShownOn as bf, type PaneInfo as bg, type VelaTheme as c, type MarketSession as d, type IChartRenderer as e, type RendererDisplayOptions as f, type IndicatorRenderHandle as g, type IndicatorStatus as h, type Pane as i, type PaneAction as j, type MoveTarget as k, type IndicatorModel as l, type ScenePatch as m, type SymbolPickerFn as n, type LegendActionView as o, type LegendCalloutView as p, type InputChangeEvent as q, type ClickEvent as r, type TimelineMark as s, type MarkGroup as t, type MarkClickEvent as u, type DataWindowReadout as v, type IDrawingsRendererPort as w, type Millis as x, type SnapMode as y, type DrawingTypeKey as z };
@@ -1694,6 +1694,15 @@ interface IChartRenderer {
1694
1694
  * a renderer without runtime style switching omits it.
1695
1695
  */
1696
1696
  onPriceStyleChange?(cb: (style: PriceStyle) => void): Unsubscribe;
1697
+ /**
1698
+ * The renderer tells core that the base price style is ABOUT to change, `from` → `to`
1699
+ * — the same sources as {@link onPriceStyleChange} (one runtime write path), called
1700
+ * synchronously before the renderer touches its scene, so the chart still paints
1701
+ * `from` while the callback runs. Never called for the constructed style or for a
1702
+ * write of the style already shown. Callbacks must not change the style themselves.
1703
+ * Optional — a renderer without runtime style switching omits it.
1704
+ */
1705
+ onPriceStyleWillChange?(cb: (from: PriceStyle, to: PriceStyle) => void): Unsubscribe;
1697
1706
  /** The renderer tells core when the user edits an input in-chart. */
1698
1707
  onInputChange(cb: (e: InputChangeEvent) => void): Unsubscribe;
1699
1708
  /** The renderer tells core when the user removes an indicator in-chart (the legend ✕). */
@@ -1967,7 +1976,61 @@ interface VelaOptions extends MarketConfig {
1967
1976
  * chart with `chart.renderer.listSettingsIds()`; the catalog is documented in
1968
1977
  * docs/user/options.md. */
1969
1978
  settings?: SettingsVisibilityPolicy;
1979
+ /** Price-axis customization (native renderer): `ticks` replaces the built-in tick
1980
+ * ladder of every pane's price axis — labels and horizontal gridlines together. */
1981
+ priceAxis?: PriceAxisOptions;
1982
+ }
1983
+ /** Price-axis customization (see `VelaOptions.priceAxis`). */
1984
+ interface PriceAxisOptions {
1985
+ /** Supplies the ticks of each pane's price axis — the labels and the horizontal
1986
+ * gridlines both follow them. Called per pane when the pane's range, size or mode
1987
+ * changes. Returning `null`/`undefined` keeps the built-in ticks. Seeds the native
1988
+ * renderer's runtime `priceAxisTicks` feature; `null` (the default) = built-in ticks. */
1989
+ ticks?: PriceAxisTicksFn | null;
1990
+ }
1991
+ /** One price-axis tick: a gridline at `price` and its axis label. */
1992
+ interface PriceAxisTick {
1993
+ /** Where the tick sits, in prices (also in percent/indexed mode). */
1994
+ price: number;
1995
+ /** The axis label, drawn as given. */
1996
+ label: string;
1997
+ /** true = emphasized (semibold), false = de-emphasized (muted), omitted = the regular label. */
1998
+ major?: boolean;
1970
1999
  }
2000
+ /** What a {@link PriceAxisTicksFn} receives for one pane. */
2001
+ interface PriceAxisTickContext {
2002
+ /** The pane whose axis is being built. */
2003
+ pane: {
2004
+ id: string;
2005
+ kind: 'price' | 'study';
2006
+ };
2007
+ /** The pane's visible value range, in prices (also in percent/indexed mode). */
2008
+ min: number;
2009
+ /** Upper end of the visible range, in prices. */
2010
+ max: number;
2011
+ /** Whether the pane's scale is logarithmic. */
2012
+ log: boolean;
2013
+ /** Pane height in CSS px. */
2014
+ height: number;
2015
+ /** The mode the axis labels render in this frame. */
2016
+ mode: 'price' | 'percent' | 'indexed';
2017
+ /** The percent/indexed baseline price (undefined in price mode). */
2018
+ baseline?: number;
2019
+ /** The symbol's tick size, when known. */
2020
+ mintick?: number;
2021
+ /** The axis font size in px. */
2022
+ fontSize: number;
2023
+ /** A price's pane-relative y in CSS px (honours log and inverted scales). */
2024
+ priceToY(price: number): number;
2025
+ /** Vela's own ticks for this frame — return them, or a filtered/extended copy, to build on the default. */
2026
+ defaults: readonly PriceAxisTick[];
2027
+ }
2028
+ /**
2029
+ * Builds a pane's price-axis ticks. Return the ticks to draw (an empty array draws none),
2030
+ * or `null`/`undefined` to keep the built-in ones. Entries with a non-finite `price` or a
2031
+ * non-string `label` are dropped; a function that throws falls back to the built-in ticks.
2032
+ */
2033
+ type PriceAxisTicksFn = (ctx: PriceAxisTickContext) => readonly PriceAxisTick[] | null | undefined;
1971
2034
  /** Settings-dialog visibility policy (see `VelaOptions.settings`). */
1972
2035
  interface SettingsVisibilityPolicy {
1973
2036
  /** Setting ids to hide — a tab, a group, or a row; an id hides its subtree. */
@@ -2048,6 +2111,8 @@ interface RendererDisplayOptions {
2048
2111
  upColor: string;
2049
2112
  downColor: string;
2050
2113
  priceStyle: PriceStyle;
2114
+ /** Host price-axis ticks (`VelaOptions.priceAxis.ticks`); absent/null = built-in ticks. */
2115
+ priceAxisTicks?: PriceAxisTicksFn | null;
2051
2116
  }
2052
2117
  /**
2053
2118
  * Where to move an indicator (via `handle.moveTo(...)`):
@@ -2108,4 +2173,4 @@ interface AddIndicatorOptions {
2108
2173
  title?: string;
2109
2174
  }
2110
2175
 
2111
- export { type DataWindowGroup as $, type AxisLongPressEvent as A, type ToolbarDefinition as B, type CrosshairEvent as C, Drawing as D, type MarketSnapshot as E, type AddIndicatorOptions as F, type AnimationConfig as G, type Background as H, type InputValue as I, type BoxFontFamily as J, type BoxHAlign as K, type LineStyle as L, type MarketConfig as M, type NativeBackend as N, type OHLCV as O, type PriceStyle as P, type BoxTextSize as Q, type RendererCapabilities as R, type SerializedDrawing as S, type ThemeName as T, type Unsubscribe as U, type VisibleRangePreset as V, type WallClock as W, type BoxVAlign as X, type CandleBarColor as Y, type CandleSeries as Z, type CandleStyle as _, type VisibleRange as a, type SettingsVisibilityPolicy as a$, type DataWindowOHLC as a0, type DataWindowRow as a1, type DirtyRange as a2, type DrawingBox as a3, type DrawingExtend as a4, type DrawingIntent as a5, type DrawingLabel as a6, type DrawingLine as a7, type DrawingLinefill as a8, type DrawingMode as a9, type MarkContentSource as aA, type MarkGlyph as aB, type MarkPanelItem as aC, type MarkShape as aD, type MarkerPoint as aE, type MarkerSeries as aF, type MarketSwitch as aG, type PaneAxis as aH, type PaneAxisBand as aI, type PaneHint as aJ, type PaneKind as aK, type PolylinePoint as aL, type PriceLine as aM, type Projector as aN, type ProviderName as aO, type RendererConstructor as aP, type Scene as aQ, type SchemaPatch as aR, SecondClock as aS, type SeriesDisplay as aT, type SeriesKind as aU, type SeriesPoint as aV, type SeriesSpec as aW, type SeriesSurface as aX, type SeriesValueDelta as aY, type SettingsField as aZ, type SettingsSchema as a_, type DrawingPoint as aa, type DrawingPolyline as ab, type DrawingSeriesBar as ac, type DrawingSeriesGateway as ad, type DrawingSeriesState as ae, type DrawingStyle as af, type DrawingTable as ag, type DrawingText as ah, type DrawingXLoc as ai, type DrawingsOption as aj, type Fill as ak, type FillGradientStop as al, type IndicatorMeta as am, type InputCondition as an, type InputSchema as ao, type InputType as ap, type InputWhen as aq, type IntroAnimation as ar, type IntroConfig as as, type IntroStyle as at, type LabelStyle as au, type LabelYLoc as av, type LineLikeKind as aw, type LineLikeSeries as ax, type LineLikeStyle as ay, type MarkContent as az, type VelaOptions as b, type TableCell as b0, type TableMerge as b1, type TablePosition as b2, type ToolbarGroupConfig as b3, type TradeExecution as b4, type ValuePatch as b5, buildToolbar as b6, defaultToolbar as b7, inputDeltas as b8, inputVisible as b9, seriesInScale as ba, seriesShownOn as bb, type PaneInfo as bc, type VelaTheme as c, type MarketSession as d, type IChartRenderer as e, type RendererDisplayOptions as f, type IndicatorRenderHandle as g, type IndicatorStatus as h, type Pane as i, type PaneAction as j, type MoveTarget as k, type IndicatorModel as l, type ScenePatch as m, type SymbolPickerFn as n, type LegendActionView as o, type LegendCalloutView as p, type InputChangeEvent as q, type ClickEvent as r, type TimelineMark as s, type MarkGroup as t, type MarkClickEvent as u, type DataWindowReadout as v, type IDrawingsRendererPort as w, type Millis as x, type SnapMode as y, type DrawingTypeKey as z };
2176
+ export { type DataWindowGroup as $, type AxisLongPressEvent as A, type ToolbarDefinition as B, type CrosshairEvent as C, Drawing as D, type MarketSnapshot as E, type AddIndicatorOptions as F, type AnimationConfig as G, type Background as H, type InputValue as I, type BoxFontFamily as J, type BoxHAlign as K, type LineStyle as L, type MarketConfig as M, type NativeBackend as N, type OHLCV as O, type PriceStyle as P, type BoxTextSize as Q, type RendererCapabilities as R, type SerializedDrawing as S, type ThemeName as T, type Unsubscribe as U, type VisibleRangePreset as V, type WallClock as W, type BoxVAlign as X, type CandleBarColor as Y, type CandleSeries as Z, type CandleStyle as _, type VisibleRange as a, type SeriesSurface as a$, type DataWindowOHLC as a0, type DataWindowRow as a1, type DirtyRange as a2, type DrawingBox as a3, type DrawingExtend as a4, type DrawingIntent as a5, type DrawingLabel as a6, type DrawingLine as a7, type DrawingLinefill as a8, type DrawingMode as a9, type MarkContentSource as aA, type MarkGlyph as aB, type MarkPanelItem as aC, type MarkShape as aD, type MarkerPoint as aE, type MarkerSeries as aF, type MarketSwitch as aG, type PaneAxis as aH, type PaneAxisBand as aI, type PaneHint as aJ, type PaneKind as aK, type PolylinePoint as aL, type PriceAxisOptions as aM, type PriceAxisTick as aN, type PriceAxisTickContext as aO, type PriceAxisTicksFn as aP, type PriceLine as aQ, type Projector as aR, type ProviderName as aS, type RendererConstructor as aT, type Scene as aU, type SchemaPatch as aV, SecondClock as aW, type SeriesDisplay as aX, type SeriesKind as aY, type SeriesPoint as aZ, type SeriesSpec as a_, type DrawingPoint as aa, type DrawingPolyline as ab, type DrawingSeriesBar as ac, type DrawingSeriesGateway as ad, type DrawingSeriesState as ae, type DrawingStyle as af, type DrawingTable as ag, type DrawingText as ah, type DrawingXLoc as ai, type DrawingsOption as aj, type Fill as ak, type FillGradientStop as al, type IndicatorMeta as am, type InputCondition as an, type InputSchema as ao, type InputType as ap, type InputWhen as aq, type IntroAnimation as ar, type IntroConfig as as, type IntroStyle as at, type LabelStyle as au, type LabelYLoc as av, type LineLikeKind as aw, type LineLikeSeries as ax, type LineLikeStyle as ay, type MarkContent as az, type VelaOptions as b, type SeriesValueDelta as b0, type SettingsField as b1, type SettingsSchema as b2, type SettingsVisibilityPolicy as b3, type TableCell as b4, type TableMerge as b5, type TablePosition as b6, type ToolbarGroupConfig as b7, type TradeExecution as b8, type ValuePatch as b9, buildToolbar as ba, defaultToolbar as bb, inputDeltas as bc, inputVisible as bd, seriesInScale as be, seriesShownOn as bf, type PaneInfo as bg, type VelaTheme as c, type MarketSession as d, type IChartRenderer as e, type RendererDisplayOptions as f, type IndicatorRenderHandle as g, type IndicatorStatus as h, type Pane as i, type PaneAction as j, type MoveTarget as k, type IndicatorModel as l, type ScenePatch as m, type SymbolPickerFn as n, type LegendActionView as o, type LegendCalloutView as p, type InputChangeEvent as q, type ClickEvent as r, type TimelineMark as s, type MarkGroup as t, type MarkClickEvent as u, type DataWindowReadout as v, type IDrawingsRendererPort as w, type Millis as x, type SnapMode as y, type DrawingTypeKey as z };
@@ -1,9 +1,9 @@
1
- import { z as DrawingTypeKey, af as DrawingStyle, S as SerializedDrawing, D as Drawing, O as OHLCV, aU as SeriesKind, c as VelaTheme } from './options-NAUHiQEC.js';
2
- import { f as DataControl } from './contributions-bWgwyiVi.js';
3
- import './side-panel-wMNfgyZb.js';
1
+ import { z as DrawingTypeKey, af as DrawingStyle, S as SerializedDrawing, D as Drawing, O as OHLCV, aY as SeriesKind, c as VelaTheme } from './options-lMUwmRwh.js';
2
+ import { f as DataControl } from './contributions-HGqnNb_P.js';
3
+ import './side-panel-_2UK1gSm.js';
4
4
  import './icons-BZYbJXSV.js';
5
5
  import './keymap-CGOz5F5f.js';
6
- import './DataProvider-DpOWZD8F.js';
6
+ import './DataProvider-oH78tYXL.js';
7
7
 
8
8
  /** What a drawing type contributes to the toolbar + factory (renderer-neutral). */
9
9
  interface DrawingTypeMeta {
@@ -1,9 +1,9 @@
1
- import { z as DrawingTypeKey, af as DrawingStyle, S as SerializedDrawing, D as Drawing, O as OHLCV, aU as SeriesKind, c as VelaTheme } from './options-NAUHiQEC.cjs';
2
- import { f as DataControl } from './contributions-Cgm9RJYP.cjs';
3
- import './side-panel-wMNfgyZb.cjs';
1
+ import { z as DrawingTypeKey, af as DrawingStyle, S as SerializedDrawing, D as Drawing, O as OHLCV, aY as SeriesKind, c as VelaTheme } from './options-lMUwmRwh.cjs';
2
+ import { f as DataControl } from './contributions-BhOBRenr.cjs';
3
+ import './side-panel-_2UK1gSm.cjs';
4
4
  import './icons-BZYbJXSV.cjs';
5
5
  import './keymap-CGOz5F5f.cjs';
6
- import './DataProvider-COGDs9Xg.cjs';
6
+ import './DataProvider-wbtJ3-Sa.cjs';
7
7
 
8
8
  /** What a drawing type contributes to the toolbar + factory (renderer-neutral). */
9
9
  interface DrawingTypeMeta {
package/dist/plugin.cjs CHANGED
@@ -223,6 +223,23 @@ function resolveEngines(overrides) {
223
223
  return { ...Object.fromEntries(defaultEngines), ...overrides };
224
224
  }
225
225
 
226
+ // src/widget/context-menu-model.ts
227
+ var CONTEXT_MENU_BUILTIN_ORDER = {
228
+ body: { "reset-view": -30, "remove-drawings": -20, "remove-indicators": -10, settings: 1e3 },
229
+ "price-axis": {
230
+ auto: -80,
231
+ invert: -70,
232
+ "scale:regular": -60,
233
+ "scale:percent": -50,
234
+ "scale:indexed": -40,
235
+ "scale:log": -30,
236
+ labels: -20,
237
+ levels: -10,
238
+ settings: 1e3
239
+ },
240
+ "time-axis": { timezone: -10, settings: 1e3 }
241
+ };
242
+
226
243
  // src/core/icons.ts
227
244
  var registry4 = /* @__PURE__ */ new Map();
228
245
  function registerIcon(id, svg) {
@@ -6184,6 +6201,7 @@ exports.BEARISH = BEARISH;
6184
6201
  exports.BULLISH = BULLISH;
6185
6202
  exports.CATEGORICAL = CATEGORICAL;
6186
6203
  exports.CHIP_PLATE = CHIP_PLATE;
6204
+ exports.CONTEXT_MENU_BUILTIN_ORDER = CONTEXT_MENU_BUILTIN_ORDER;
6187
6205
  exports.CROSSHAIR = CROSSHAIR;
6188
6206
  exports.DEFAULT_PANEL_MAX_WIDTH = DEFAULT_PANEL_MAX_WIDTH;
6189
6207
  exports.DEFAULT_PANEL_MIN_WIDTH = DEFAULT_PANEL_MIN_WIDTH;
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 CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, p as SERIES_LINE, q as SESSION_OFF, r as SESSION_POST, s as SESSION_PRE, t as SLATE, u as SLATE_DEEP, v as SeriesDataEngine, w as SeriesDataEngineHost, x as SettingsInlineControl, y as SettingsRowCondition, z as SettingsRowDescriptor, E as SettingsRowInlineNumber, F as SettingsRowSwatch, G as SettingsRowValueKey, J as SettingsRowWhen, K as SettingsRowWidth, S as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-CjjzZX2F.cjs';
2
- export { B as BarsChangeReason, C as CellStateContext, i as ContextSelect, k as EngineAlert, l as EngineCapabilities, m as EngineContextSnapshot, n as EngineFactory, o as EngineWarning, p as ExecutionHandlers, q as ExecutionMarket, r as ExecutionRequest, s as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, v as LegendCalloutContent, w as LegendCalloutDescriptor, x as LegendCalloutItem, y as LegendCalloutSpec, z as LegendIndicatorInfo, N as NativeIndicator, A as NativeIndicatorContext, G as NativeIndicatorDescriptor, H as NativeIndicatorInfo, J as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, K as PreparedScript, c as ScriptRun, _ as ScriptRunCause, $ as ScriptRunResult, S as ScriptingEngine, a0 as SidePanelButton, a1 as SidePanelDescriptor, a2 as SidePanelHandle, a3 as SidePanelHeader, a4 as StatePersistenceHandler, a5 as StrategyFill, a6 as StrategyState, a7 as StrategyTrade, a8 as SymbolRankingHook, ab as VisibleBarRange, ac as WidgetActionDescriptor, ad as WidgetActionTarget, ae as WidgetAttachment, W as WidgetContext, af as getNativeIndicator, ag as legendActions, ah as legendCallouts, aj as nativeIndicatorTypes, ak as registerDefaultEngine, al as registerLegendAction, am as registerLegendCallout, an as registerNativeIndicator, ao as registerSidePanel, ap as registerStatePersistence, aq as registerSymbolRanking, ar as registerWidgetAction, as as registerWidgetAttachment, at as resolveEngines, au as sidePanels, av as statePersistenceHandlers, aw as symbolRanking, ax as topbarActionOverride, ay as unregisterDefaultEngine, az as unregisterLegendAction, aA as unregisterLegendCallout, aB as unregisterNativeIndicator, aC as unregisterSidePanel, aD as unregisterStatePersistence, aE as unregisterWidgetAction, aF as unregisterWidgetAttachment, aG as widgetActions, aH as widgetAttachments } from './contributions-Cgm9RJYP.cjs';
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-wMNfgyZb.cjs';
4
- export { H as Background, J as BoxFontFamily, K as BoxHAlign, Q as BoxTextSize, X as BoxVAlign, Y as CandleBarColor, Z as CandleSeries, _ as CandleStyle, a2 as DirtyRange, a3 as DrawingBox, a4 as DrawingExtend, a6 as DrawingLabel, a7 as DrawingLine, a8 as DrawingLinefill, ab as DrawingPolyline, ag as DrawingTable, z as DrawingTypeKey, ai as DrawingXLoc, ak as Fill, al as FillGradientStop, am as IndicatorMeta, l as IndicatorModel, an as InputCondition, ao as InputSchema, ap as InputType, I as InputValue, aq as InputWhen, au as LabelStyle, av as LabelYLoc, aw as LineLikeKind, ax as LineLikeSeries, ay as LineLikeStyle, L as LineStyle, aE as MarkerPoint, aF as MarkerSeries, x as Millis, O as OHLCV, i as Pane, aH as PaneAxis, aI as PaneAxisBand, aJ as PaneHint, aK as PaneKind, aL as PolylinePoint, aM as PriceLine, P as PriceStyle, aQ as Scene, m as ScenePatch, aR as SchemaPatch, aT as SeriesDisplay, aU as SeriesKind, aV as SeriesPoint, aW as SeriesSpec, aX as SeriesSurface, aY as SeriesValueDelta, b0 as TableCell, b1 as TableMerge, b2 as TablePosition, b4 as TradeExecution, b5 as ValuePatch, b8 as inputDeltas, b9 as inputVisible, ba as seriesInScale, bb as seriesShownOn } from './options-NAUHiQEC.cjs';
1
+ export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, p as SERIES_LINE, q as SESSION_OFF, r as SESSION_POST, s as SESSION_PRE, t as SLATE, u as SLATE_DEEP, v as SeriesDataEngine, w as SeriesDataEngineHost, x as SettingsInlineControl, y as SettingsRowCondition, z as SettingsRowDescriptor, E as SettingsRowInlineNumber, F as SettingsRowSwatch, G as SettingsRowValueKey, J as SettingsRowWhen, K as SettingsRowWidth, S as SettingsSelectOption, L as SettingsValueRow, T as TRADE_EXIT, O as TRADE_LONG, P as TRADE_SHORT, V as VALID, W as WARNING, Q as categoricalColor, U as chartType, X as chartTypes, _ as drawingTypes, $ as getDrawingType, a0 as normalizeSettingsRow, a1 as registerChartType, a3 as registerRendererDefaults, a4 as registerRendererLayer, a5 as rendererDefaults, a6 as rendererLayers, a7 as settingsRowValueKeys, a8 as stableSeriesId, a9 as tickerModifierIds, aa as unregisterChartType, ab as unregisterRendererDefaults, ac as unregisterRendererLayer } from './plugin-Do5J5xuF.cjs';
2
+ export { B as BarsChangeReason, C as CellStateContext, i as ContextMenuPointer, j as ContextSelect, l as EngineAlert, m as EngineCapabilities, n as EngineContextSnapshot, o as EngineFactory, p as EngineWarning, q as ExecutionHandlers, r as ExecutionMarket, s as ExecutionRequest, t as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, w as LegendCalloutContent, x as LegendCalloutDescriptor, y as LegendCalloutItem, z as LegendCalloutSpec, A as LegendIndicatorInfo, N as NativeIndicator, G as NativeIndicatorContext, H as NativeIndicatorDescriptor, J as NativeIndicatorInfo, K as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, Q as PreparedScript, c as ScriptRun, $ as ScriptRunCause, a0 as ScriptRunResult, S as ScriptingEngine, a1 as SidePanelButton, a2 as SidePanelDescriptor, a3 as SidePanelHandle, a4 as SidePanelHeader, a5 as StatePersistenceHandler, a6 as StrategyFill, a7 as StrategyState, a8 as StrategyTrade, a9 as SymbolRankingHook, ac as VisibleBarRange, ad as WidgetActionDescriptor, ae as WidgetActionTarget, af as WidgetAttachment, W as WidgetContext, ag as getNativeIndicator, ah as legendActions, ai as legendCallouts, ak as nativeIndicatorTypes, al as registerDefaultEngine, am as registerLegendAction, an as registerLegendCallout, ao as registerNativeIndicator, ap as registerSidePanel, aq as registerStatePersistence, ar as registerSymbolRanking, as as registerWidgetAction, at as registerWidgetAttachment, au as resolveEngines, av as sidePanels, aw as statePersistenceHandlers, ax as symbolRanking, ay as topbarActionOverride, az as unregisterDefaultEngine, aA as unregisterLegendAction, aB as unregisterLegendCallout, aC as unregisterNativeIndicator, aD as unregisterSidePanel, aE as unregisterStatePersistence, aF as unregisterWidgetAction, aG as unregisterWidgetAttachment, aH as widgetActions, aI as widgetAttachments } from './contributions-BhOBRenr.cjs';
3
+ export { C as CONTEXT_MENU_BUILTIN_ORDER, D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-_2UK1gSm.cjs';
4
+ export { H as Background, J as BoxFontFamily, K as BoxHAlign, Q as BoxTextSize, X as BoxVAlign, Y as CandleBarColor, Z as CandleSeries, _ as CandleStyle, a2 as DirtyRange, a3 as DrawingBox, a4 as DrawingExtend, a6 as DrawingLabel, a7 as DrawingLine, a8 as DrawingLinefill, ab as DrawingPolyline, ag as DrawingTable, z as DrawingTypeKey, ai as DrawingXLoc, ak as Fill, al as FillGradientStop, am as IndicatorMeta, l as IndicatorModel, an as InputCondition, ao as InputSchema, ap as InputType, I as InputValue, aq as InputWhen, au as LabelStyle, av as LabelYLoc, aw as LineLikeKind, ax as LineLikeSeries, ay as LineLikeStyle, L as LineStyle, aE as MarkerPoint, aF as MarkerSeries, x as Millis, O as OHLCV, i as Pane, aH as PaneAxis, aI as PaneAxisBand, aJ as PaneHint, aK as PaneKind, aL as PolylinePoint, aQ as PriceLine, P as PriceStyle, aU as Scene, m as ScenePatch, aV as SchemaPatch, aX as SeriesDisplay, aY as SeriesKind, aZ as SeriesPoint, a_ as SeriesSpec, a$ as SeriesSurface, b0 as SeriesValueDelta, b4 as TableCell, b5 as TableMerge, b6 as TablePosition, b8 as TradeExecution, b9 as ValuePatch, bc as inputDeltas, bd as inputVisible, be as seriesInScale, bf as seriesShownOn } from './options-lMUwmRwh.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-COGDs9Xg.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-wbtJ3-Sa.cjs';