@luxalgo/vela 0.8.5 → 0.9.0

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 (139) hide show
  1. package/dist/{DataProvider-BUdlkx9I.d.ts → DataProvider-BGlB1zSc.d.ts} +1 -1
  2. package/dist/{DataProvider-DdqMxKdl.d.cts → DataProvider-zJGp58kb.d.cts} +1 -1
  3. package/dist/{chunk-BN4DNS3O.js → chunk-4WAHYL7Y.js} +1125 -468
  4. package/dist/chunk-O6L27KRB.js +1331 -0
  5. package/dist/{chunk-WY5H4S4I.js → chunk-PZN4RS4T.js} +91 -36
  6. package/dist/{chunk-AUOB7A5Y.js → chunk-WHPQQYH7.js} +29 -13
  7. package/dist/{chunk-QYIO37K7.js → chunk-XIRSR3D6.js} +2374 -1529
  8. package/dist/{chunk-ALTGHKIM.js → chunk-YRCL3WMD.js} +510 -406
  9. package/dist/{contributions-D8xuYc9U.d.cts → contributions-BjefWpxQ.d.ts} +71 -22
  10. package/dist/{contributions-P9fBBuY1.d.ts → contributions-CpCJisTC.d.cts} +71 -22
  11. package/dist/index.cjs +4022 -2088
  12. package/dist/index.d.cts +51 -25
  13. package/dist/index.d.ts +51 -25
  14. package/dist/index.js +5 -5
  15. package/dist/{keymap-CGOz5F5f.d.ts → keymap-B9_FLhfJ.d.cts} +9 -6
  16. package/dist/{keymap-CGOz5F5f.d.cts → keymap-UolhuXH1.d.ts} +9 -6
  17. package/dist/locales/ar.cjs +2260 -0
  18. package/dist/locales/ar.d.cts +5 -0
  19. package/dist/locales/ar.d.ts +5 -0
  20. package/dist/locales/ar.js +2258 -0
  21. package/dist/locales/de.cjs +2260 -0
  22. package/dist/locales/de.d.cts +5 -0
  23. package/dist/locales/de.d.ts +5 -0
  24. package/dist/locales/de.js +2258 -0
  25. package/dist/locales/en.cjs +2260 -0
  26. package/dist/locales/en.d.cts +5 -0
  27. package/dist/locales/en.d.ts +5 -0
  28. package/dist/locales/en.js +2258 -0
  29. package/dist/locales/es.cjs +2260 -0
  30. package/dist/locales/es.d.cts +5 -0
  31. package/dist/locales/es.d.ts +5 -0
  32. package/dist/locales/es.js +2258 -0
  33. package/dist/locales/fr.cjs +2260 -0
  34. package/dist/locales/fr.d.cts +5 -0
  35. package/dist/locales/fr.d.ts +5 -0
  36. package/dist/locales/fr.js +2258 -0
  37. package/dist/locales/he.cjs +2260 -0
  38. package/dist/locales/he.d.cts +5 -0
  39. package/dist/locales/he.d.ts +5 -0
  40. package/dist/locales/he.js +2258 -0
  41. package/dist/locales/hi.cjs +2260 -0
  42. package/dist/locales/hi.d.cts +5 -0
  43. package/dist/locales/hi.d.ts +5 -0
  44. package/dist/locales/hi.js +2258 -0
  45. package/dist/locales/id.cjs +2260 -0
  46. package/dist/locales/id.d.cts +5 -0
  47. package/dist/locales/id.d.ts +5 -0
  48. package/dist/locales/id.js +2258 -0
  49. package/dist/locales/it.cjs +2260 -0
  50. package/dist/locales/it.d.cts +5 -0
  51. package/dist/locales/it.d.ts +5 -0
  52. package/dist/locales/it.js +2258 -0
  53. package/dist/locales/ja.cjs +2260 -0
  54. package/dist/locales/ja.d.cts +5 -0
  55. package/dist/locales/ja.d.ts +5 -0
  56. package/dist/locales/ja.js +2258 -0
  57. package/dist/locales/ko.cjs +2260 -0
  58. package/dist/locales/ko.d.cts +5 -0
  59. package/dist/locales/ko.d.ts +5 -0
  60. package/dist/locales/ko.js +2258 -0
  61. package/dist/locales/ms.cjs +2260 -0
  62. package/dist/locales/ms.d.cts +5 -0
  63. package/dist/locales/ms.d.ts +5 -0
  64. package/dist/locales/ms.js +2258 -0
  65. package/dist/locales/pl.cjs +2260 -0
  66. package/dist/locales/pl.d.cts +5 -0
  67. package/dist/locales/pl.d.ts +5 -0
  68. package/dist/locales/pl.js +2258 -0
  69. package/dist/locales/pt-BR.cjs +2260 -0
  70. package/dist/locales/pt-BR.d.cts +5 -0
  71. package/dist/locales/pt-BR.d.ts +5 -0
  72. package/dist/locales/pt-BR.js +2258 -0
  73. package/dist/locales/ru.cjs +2260 -0
  74. package/dist/locales/ru.d.cts +5 -0
  75. package/dist/locales/ru.d.ts +5 -0
  76. package/dist/locales/ru.js +2258 -0
  77. package/dist/locales/th.cjs +2260 -0
  78. package/dist/locales/th.d.cts +5 -0
  79. package/dist/locales/th.d.ts +5 -0
  80. package/dist/locales/th.js +2258 -0
  81. package/dist/locales/tr.cjs +2260 -0
  82. package/dist/locales/tr.d.cts +5 -0
  83. package/dist/locales/tr.d.ts +5 -0
  84. package/dist/locales/tr.js +2258 -0
  85. package/dist/locales/vi.cjs +2260 -0
  86. package/dist/locales/vi.d.cts +5 -0
  87. package/dist/locales/vi.d.ts +5 -0
  88. package/dist/locales/vi.js +2258 -0
  89. package/dist/locales/zh-Hans.cjs +2260 -0
  90. package/dist/locales/zh-Hans.d.cts +5 -0
  91. package/dist/locales/zh-Hans.d.ts +5 -0
  92. package/dist/locales/zh-Hans.js +2258 -0
  93. package/dist/locales/zh-Hant.cjs +2260 -0
  94. package/dist/locales/zh-Hant.d.cts +5 -0
  95. package/dist/locales/zh-Hant.d.ts +5 -0
  96. package/dist/locales/zh-Hant.js +2258 -0
  97. package/dist/{options-BI5Tp32b.d.cts → options-CpegHml_.d.cts} +74 -9
  98. package/dist/{options-BI5Tp32b.d.ts → options-D4L3_hv_.d.ts} +74 -9
  99. package/dist/{plugin-D5Z-Q6TX.d.ts → plugin-DTmulpKM.d.ts} +81 -35
  100. package/dist/{plugin-B8F1nor8.d.cts → plugin-DpNp4aBi.d.cts} +81 -35
  101. package/dist/plugin.cjs +1267 -319
  102. package/dist/plugin.d.cts +7 -6
  103. package/dist/plugin.d.ts +7 -6
  104. package/dist/plugin.js +3 -3
  105. package/dist/providers/binance.cjs +1 -1
  106. package/dist/providers/binance.d.cts +3 -2
  107. package/dist/providers/binance.d.ts +3 -2
  108. package/dist/providers/binance.js +1 -1
  109. package/dist/providers/coinbase.cjs +1 -1
  110. package/dist/providers/coinbase.d.cts +3 -2
  111. package/dist/providers/coinbase.d.ts +3 -2
  112. package/dist/providers/coinbase.js +1 -1
  113. package/dist/providers/hyperliquid.cjs +1 -1
  114. package/dist/providers/hyperliquid.d.cts +3 -2
  115. package/dist/providers/hyperliquid.d.ts +3 -2
  116. package/dist/providers/hyperliquid.js +1 -1
  117. package/dist/{side-panel-_2UK1gSm.d.ts → side-panel-BqUnpfev.d.cts} +13 -2
  118. package/dist/{side-panel-_2UK1gSm.d.cts → side-panel-CYmH1Opm.d.ts} +13 -2
  119. package/dist/{statusline-model-CTwtDIca.d.cts → statusline-model-C3yIY9WE.d.ts} +11 -3
  120. package/dist/{statusline-model-D9kWC9X5.d.ts → statusline-model-pGs3Xvp-.d.cts} +11 -3
  121. package/dist/types-BlrXRLIR.d.cts +2515 -0
  122. package/dist/types-BlrXRLIR.d.ts +2515 -0
  123. package/dist/ui.cjs +1008 -56
  124. package/dist/ui.d.cts +21 -2
  125. package/dist/ui.d.ts +21 -2
  126. package/dist/ui.js +3 -3
  127. package/dist/vela.global.js +3987 -2055
  128. package/dist/vela.global.min.js +57 -57
  129. package/dist/widget.cjs +5330 -2699
  130. package/dist/widget.d.cts +100 -26
  131. package/dist/widget.d.ts +100 -26
  132. package/dist/widget.js +19 -11
  133. package/dist/workspace.cjs +5319 -2706
  134. package/dist/workspace.d.cts +63 -15
  135. package/dist/workspace.d.ts +63 -15
  136. package/dist/workspace.js +6 -6
  137. package/package.json +9 -2
  138. package/dist/chunk-I2U4NZD2.js +0 -340
  139. /package/dist/{chunk-W5YPYZ2P.js → chunk-3EYCX2L4.js} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,13 +1,15 @@
1
- import { D as DrawingsDocument, d as Resolved, e as ReplayTick, f as DataControl, g as ReplayTickSource } from './contributions-D8xuYc9U.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-D8xuYc9U.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-BI5Tp32b.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-BI5Tp32b.cjs';
5
- import { S as SettingsSelectOption } from './plugin-B8F1nor8.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-B8F1nor8.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-DdqMxKdl.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';
1
+ import { D as DrawingsDocument, d as Resolved, e as ReplayTick, f as DataControl, g as ReplayTickSource } from './contributions-CpCJisTC.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-CpCJisTC.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, i as RendererRootAttributes, W as WallClock, O as OHLCV, j as Pane, k as PaneAction, l as MoveTarget, m as IndicatorModel, n as ScenePatch, I as InputValue, o as SymbolPickerFn, p as LegendActionView, q as LegendCalloutView, r as InputChangeEvent, T as ThemeName, C as CrosshairEvent, s as ClickEvent, A as AxisLongPressEvent, t as TimelineMark, u as MarkGroup, v as MarkClickEvent, a as VisibleRange, w as DataWindowReadout, x as IDrawingsRendererPort, y as Millis, z as SnapMode, B as DrawingTypeKey, E as ToolbarDefinition, M as MarketConfig, F as MarketSnapshot } from './options-CpegHml_.cjs';
4
+ export { G as AddIndicatorOptions, H as AnimationConfig, J as Background, K as BoxFontFamily, Q as BoxHAlign, X as BoxTextSize, Y as BoxVAlign, Z as CandleBarColor, _ as CandleSeries, $ as CandleStyle, a0 as DataWindowGroup, a1 as DataWindowOHLC, a2 as DataWindowRow, a3 as DirtyRange, a4 as DrawingBox, a5 as DrawingExtend, a6 as DrawingIntent, a7 as DrawingLabel, a8 as DrawingLine, a9 as DrawingLinefill, aa as DrawingMode, ab as DrawingPoint, ac as DrawingPolyline, ad as DrawingSeriesBar, ae as DrawingSeriesGateway, af as DrawingSeriesState, ag as DrawingStyle, ah as DrawingTable, ai as DrawingText, aj as DrawingXLoc, ak as DrawingsOption, al as Fill, am as FillGradientStop, an as IndicatorMeta, ao as InputCondition, ap as InputDisplay, aq as InputSchema, ar as InputType, as as InputWhen, at as IntroAnimation, au as IntroConfig, av as IntroStyle, aw as LabelStyle, ax as LabelYLoc, ay as LineLikeKind, az as LineLikeSeries, aA as LineLikeStyle, aB as MarkContent, aC as MarkContentSource, aD as MarkGlyph, aE as MarkPanelItem, aF as MarkShape, aG as MarkerPoint, aH as MarkerSeries, aI as MarketSwitch, aJ as PaneAxis, aK as PaneAxisBand, aL as PaneHint, aM as PaneKind, aN as PolylinePoint, aO as PriceAxisOptions, aP as PriceAxisTick, aQ as PriceAxisTickContext, aR as PriceAxisTicksFn, aS as PriceLine, aT as Projector, aU as ProviderName, aV as RendererConstructor, aW as Scene, aX as SchemaPatch, aY as SecondClock, aZ as SeriesDisplay, a_ as SeriesKind, a$ as SeriesPoint, b0 as SeriesSpec, b1 as SeriesSurface, b2 as SeriesValueDelta, b3 as SettingsField, b4 as SettingsSchema, b5 as SettingsVisibilityPolicy, b6 as TableCell, b7 as TableMerge, b8 as TablePosition, b9 as ToolbarGroupConfig, ba as TradeExecution, bb as ValuePatch, b as VelaOptions, V as VisibleRangePreset, bc as buildToolbar, bd as defaultToolbar, be as inputDeltas, bf as inputVisible, bg as seriesInScale, bh as seriesShownOn } from './options-CpegHml_.cjs';
5
+ import { M as MessageLike, T as Translator } from './types-BlrXRLIR.cjs';
6
+ export { C as ClockFormatContext, d as ClockFormatOptions, e as CompactFormatContext, f as CompactFormatOptions, D as DurationFormatContext, g as DurationFormatOptions, F as FormatContext, h as FormatSurface, c as LocaleChangedEvent, L as LocalePack, b as LocalizationOptions, a as MessageArgs, i as MessageDescriptor, P as PercentFormatContext, j as PercentFormatOptions, k as PriceFormatContext, l as PriceFormatOptions, R as ResolvedFormatters, m as TextDirection, n as TimeStampFormatContext, o as TimeStampFormatOptions, p as TimeTickFormatContext, q as TimeTickFormatOptions, r as TimeTickUnit, V as VelaFormatters, s as VelaMessageCatalog, t as VelaMessageId } from './types-BlrXRLIR.cjs';
7
+ import { S as SettingsSelectOption } from './plugin-DpNp4aBi.cjs';
8
+ 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, m as MessageValues, N as NEUTRAL, n as NormalizedSettingsRow, R as RendererLayerArgs, o as RendererLayerDefinition, p as RendererLayerInstance, q as SERIES_LINE, r as SESSION_OFF, s as SESSION_POST, t as SESSION_PRE, u as SLATE, v as SLATE_DEEP, w as SeriesDataEngine, x as SeriesDataEngineHost, y as SettingsInlineControl, z as SettingsRowCondition, E as SettingsRowDescriptor, F as SettingsRowInlineNumber, G as SettingsRowSwatch, J as SettingsRowValueKey, K as SettingsRowWhen, L as SettingsRowWidth, O as SettingsValueRow, T as TRADE_EXIT, P as TRADE_LONG, Q as TRADE_SHORT, V as VALID, W as WARNING, U as categoricalColor, X as chartType, Y as chartTypes, Z as createDrawing, _ as createTranslator, $ as deserializeDrawing, a0 as drawingTypes, a1 as getDrawingType, a2 as msg, a3 as normalizeSettingsRow, a4 as registerChartType, a5 as registerDrawingType, a6 as registerLocale, a7 as registerRendererDefaults, a8 as registerRendererLayer, a9 as registeredLocales, aa as rendererDefaults, ab as rendererLayers, ac as settingsRowValueKeys, ad as stableSeriesId, ae as tickerModifierIds, af as unregisterChartType, ag as unregisterRendererDefaults, ah as unregisterRendererLayer, ai as withValues } from './plugin-DpNp4aBi.cjs';
9
+ import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-zJGp58kb.cjs';
10
+ 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-BqUnpfev.cjs';
9
11
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.cjs';
10
- export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.cjs';
12
+ export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-B9_FLhfJ.cjs';
11
13
 
12
14
  /**
13
15
  * The single source of truth for a chart's user drawings. Owns identity + paint
@@ -333,31 +335,31 @@ interface ChartConfig {
333
335
  * heading's id hides its whole group (see `settings-visibility.ts`). */
334
336
  type HostSettingsRow = {
335
337
  kind: 'heading';
336
- label: string;
338
+ label: MessageLike;
337
339
  id?: string;
338
340
  } | {
339
341
  kind: 'toggle';
340
- label: string;
342
+ label: MessageLike;
341
343
  get: () => boolean;
342
344
  set: (v: boolean) => void;
343
345
  id?: string;
344
346
  } | {
345
347
  kind: 'select';
346
- label: string;
348
+ label: MessageLike;
347
349
  options: readonly SettingsSelectOption[];
348
350
  get: () => string;
349
351
  set: (v: string) => void;
350
352
  id?: string;
351
353
  } | {
352
354
  kind: 'color';
353
- label: string;
355
+ label: MessageLike;
354
356
  get: () => string;
355
357
  set: (v: string) => void;
356
358
  id?: string;
357
359
  };
358
360
  /** A host-contributed settings tab (see `RendererControl.setSettingsSections`). */
359
361
  interface HostSettingsSection {
360
- title: string;
362
+ title: MessageLike;
361
363
  rows: readonly HostSettingsRow[];
362
364
  /** Tab position: own tab after Symbol (default), end of the rail, or rows INSIDE
363
365
  * the Symbol tab itself (`'symbol'` — e.g. the widget's watermark toggle). */
@@ -366,20 +368,16 @@ interface HostSettingsSection {
366
368
  id?: string;
367
369
  }
368
370
 
369
- /**
370
- * The from-scratch "native" renderer (canvas2d backend in P0/P1/P2; hand-rolled
371
- * WebGL2 added in P3 behind the same backend seam). P0 implements the full
372
- * `IChartRenderer` surface but only the foundation is live: layered DOM, the
373
- * shared CoordinateSystem, the invalidation scheduler, pane layout, and
374
- * pointer/wheel pan-zoom over a placeholder grid. Series/fills/drawings/axes/
375
- * crosshair/inputs land in P1–P2.
376
- */
377
371
  declare class NativeRenderer implements IChartRenderer {
378
372
  readonly capabilities: RendererCapabilities;
379
373
  private theme;
380
374
  private surfaceBackground;
381
375
  private surfaceTextColor;
382
376
  private wrapper;
377
+ /** The chart's translator (null until the chart hands it over: English then). */
378
+ private i18n;
379
+ /** `lang`/`dir` the wrapper carries — null leaves the attribute to the host page. */
380
+ private rootAttrs;
383
381
  private plot;
384
382
  private toolbarGutter;
385
383
  private mountContainer;
@@ -717,6 +715,21 @@ declare class NativeRenderer implements IChartRenderer {
717
715
  private watchDpr;
718
716
  private readonly onDprChange;
719
717
  setTheme(theme: VelaTheme): void;
718
+ /** Adopt the chart's localization (see `IChartRenderer.setLocalization`): the formatters
719
+ * feed the axes, chips and readouts, the root carries `lang`/`dir`, and everything
720
+ * repaints. */
721
+ setLocalization(i18n: Translator, root: RendererRootAttributes): void;
722
+ /** Display text through the chart's translator (English until the chart hands one over). */
723
+ private t;
724
+ /** An indicator's full name as the chart shows it. */
725
+ private modelTitle;
726
+ /** The compact name the legend chip, the settings dialog and the object tree show. */
727
+ private legendTitle;
728
+ /** A series' name as the legend and the data window show it. */
729
+ private seriesTitle;
730
+ /** Re-read the chrome text the renderer owns in the current language. */
731
+ private relabel;
732
+ private applyRootAttributes;
720
733
  resize(): void;
721
734
  /** Drive the countdown chip from the host's second pulse (`null` → the renderer's own). */
722
735
  setWallClock(clock: WallClock | null): void;
@@ -941,6 +954,8 @@ declare class NativeRenderer implements IChartRenderer {
941
954
  getDataWindowReadout(): DataWindowReadout;
942
955
  private dataWindowPricePane;
943
956
  private dataWindowFmt;
957
+ /** A volume in the data window and the volume legend row (`1.20M`: two decimals kept). */
958
+ private formatVolume;
944
959
  private dataWindowOHLC;
945
960
  /** One group per indicator (name = indicator title), each with a row per plot shown in the data window. */
946
961
  private dataWindowGroups;
@@ -1042,8 +1057,12 @@ declare class NativeRenderer implements IChartRenderer {
1042
1057
  private restackOverlay;
1043
1058
  /** The pane a bespoke-layer native indicator (volume/vpvr) currently lives in (null = not mounted). */
1044
1059
  private nativeLayerPane;
1045
- /** One transparent, pointer-transparent SDK layer canvas covering the plot. */
1046
- private createLayerCanvas;
1060
+ /**
1061
+ * Every canvas of the plot's pile comes from here: absolutely placed over the whole plot,
1062
+ * pointer-transparent unless it is the data canvas (which takes the gestures), and pinned
1063
+ * left to right whatever the page's direction (see `pinPlotCanvas`).
1064
+ */
1065
+ private createPlotCanvas;
1047
1066
  /**
1048
1067
  * Mount the DEDICATED layer of a native indicator that names its own channel (an
1049
1068
  * instance of a multi-instance type painting through a registered layer): a fresh
@@ -1191,6 +1210,9 @@ interface DrawingToolbarOptions {
1191
1210
  * linked — edits and removals follow (a multi-chart host's concern — a
1192
1211
  * single-chart bar omits the callback and never shows it). */
1193
1212
  onDrawingsSync?: (on: boolean) => void;
1213
+ /** The chart's (or the workspace's) translator, read each time the bar renders text.
1214
+ * Absent: English. */
1215
+ i18n?: () => Translator;
1194
1216
  }
1195
1217
  /**
1196
1218
  * The vertical drawing toolbar (renderer chrome), docked as a flush bar in the left gutter. Each
@@ -1256,7 +1278,11 @@ declare class DrawingToolbar {
1256
1278
  private readonly dock;
1257
1279
  private readonly onCollapse;
1258
1280
  private readonly onDrawingsSync;
1281
+ private readonly i18n;
1259
1282
  constructor(host: HTMLElement, theme: VelaTheme, onArm: (type: DrawingTypeKey | null) => void, onMagnet?: (mode: SnapMode) => void, onMeasure?: () => void, onEraser?: () => void, onToggleFavorite?: (type: DrawingTypeKey, on: boolean) => void, onStayMode?: (on: boolean) => void, options?: DrawingToolbarOptions);
1283
+ private t;
1284
+ /** Re-read every label in the current language (the chart's language changed). */
1285
+ relabel(): void;
1260
1286
  /** Live divider/border ink — the option override, else the current theme's border
1261
1287
  * (so a theme swap re-inks the bar without a rebuild option). */
1262
1288
  private get borderColor();
@@ -1581,4 +1607,4 @@ declare const DARK_THEME: VelaTheme;
1581
1607
  declare const LIGHT_THEME: VelaTheme;
1582
1608
  declare function resolveTheme(theme?: ThemeName | VelaTheme): VelaTheme;
1583
1609
 
1584
- export { AxisLongPressEvent, BarRange, BarStore, CachingDataFeed, type ChartConfig, type ChartStyle, ClickEvent, CrosshairEvent, DARK_THEME, DataControl, DataProvider, DataWindowReadout, Drawing, DrawingStore, DrawingToolbar, type DrawingToolbarOptions, DrawingTypeKey, DrawingsDocument, IChartRenderer, IDrawingsRendererPort, IndicatorModel, IndicatorRenderHandle, InputChangeEvent, InputValue, LIGHT_THEME, LineStyle, MarkClickEvent, MarkGroup, MarketConfig, MarketDataFeed, MarketSnapshot, Millis, MultiProviderFeed, NativeRenderer, OHLCV, Pane, PriceStyle, ProviderCapabilities, ProviderInfo, RendererCapabilities, RendererDisplayOptions, ReplayTick, ReplayTickSource, Resolved, ScenePatch, SerializedDrawing, SettingsSelectOption, SnapMode, SymbolDescriptor, SymbolInfo, ThemeName, TimelineMark, ToolbarDefinition, VelaTheme, VisibleRange, WallClock, barsToTicks, lowerTimeframeTicks, resolveTheme, sharedBarStore, timeframeToMs };
1610
+ export { AxisLongPressEvent, BarRange, BarStore, CachingDataFeed, type ChartConfig, type ChartStyle, ClickEvent, CrosshairEvent, DARK_THEME, DataControl, DataProvider, DataWindowReadout, Drawing, DrawingStore, DrawingToolbar, type DrawingToolbarOptions, DrawingTypeKey, DrawingsDocument, IChartRenderer, IDrawingsRendererPort, IndicatorModel, IndicatorRenderHandle, InputChangeEvent, InputValue, LIGHT_THEME, LineStyle, MarkClickEvent, MarkGroup, MarketConfig, MarketDataFeed, MarketSnapshot, MessageLike, Millis, MultiProviderFeed, NativeRenderer, OHLCV, Pane, PriceStyle, ProviderCapabilities, ProviderInfo, RendererCapabilities, RendererDisplayOptions, ReplayTick, ReplayTickSource, Resolved, ScenePatch, SerializedDrawing, SettingsSelectOption, SnapMode, SymbolDescriptor, SymbolInfo, ThemeName, TimelineMark, ToolbarDefinition, Translator, VelaTheme, VisibleRange, WallClock, barsToTicks, lowerTimeframeTicks, resolveTheme, sharedBarStore, timeframeToMs };
package/dist/index.d.ts CHANGED
@@ -1,13 +1,15 @@
1
- import { D as DrawingsDocument, d as Resolved, e as ReplayTick, f as DataControl, g as ReplayTickSource } from './contributions-P9fBBuY1.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-P9fBBuY1.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-BI5Tp32b.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-BI5Tp32b.js';
5
- import { S as SettingsSelectOption } from './plugin-D5Z-Q6TX.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-D5Z-Q6TX.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-BUdlkx9I.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';
1
+ import { D as DrawingsDocument, d as Resolved, e as ReplayTick, f as DataControl, g as ReplayTickSource } from './contributions-BjefWpxQ.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-BjefWpxQ.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, i as RendererRootAttributes, W as WallClock, O as OHLCV, j as Pane, k as PaneAction, l as MoveTarget, m as IndicatorModel, n as ScenePatch, I as InputValue, o as SymbolPickerFn, p as LegendActionView, q as LegendCalloutView, r as InputChangeEvent, T as ThemeName, C as CrosshairEvent, s as ClickEvent, A as AxisLongPressEvent, t as TimelineMark, u as MarkGroup, v as MarkClickEvent, a as VisibleRange, w as DataWindowReadout, x as IDrawingsRendererPort, y as Millis, z as SnapMode, B as DrawingTypeKey, E as ToolbarDefinition, M as MarketConfig, F as MarketSnapshot } from './options-D4L3_hv_.js';
4
+ export { G as AddIndicatorOptions, H as AnimationConfig, J as Background, K as BoxFontFamily, Q as BoxHAlign, X as BoxTextSize, Y as BoxVAlign, Z as CandleBarColor, _ as CandleSeries, $ as CandleStyle, a0 as DataWindowGroup, a1 as DataWindowOHLC, a2 as DataWindowRow, a3 as DirtyRange, a4 as DrawingBox, a5 as DrawingExtend, a6 as DrawingIntent, a7 as DrawingLabel, a8 as DrawingLine, a9 as DrawingLinefill, aa as DrawingMode, ab as DrawingPoint, ac as DrawingPolyline, ad as DrawingSeriesBar, ae as DrawingSeriesGateway, af as DrawingSeriesState, ag as DrawingStyle, ah as DrawingTable, ai as DrawingText, aj as DrawingXLoc, ak as DrawingsOption, al as Fill, am as FillGradientStop, an as IndicatorMeta, ao as InputCondition, ap as InputDisplay, aq as InputSchema, ar as InputType, as as InputWhen, at as IntroAnimation, au as IntroConfig, av as IntroStyle, aw as LabelStyle, ax as LabelYLoc, ay as LineLikeKind, az as LineLikeSeries, aA as LineLikeStyle, aB as MarkContent, aC as MarkContentSource, aD as MarkGlyph, aE as MarkPanelItem, aF as MarkShape, aG as MarkerPoint, aH as MarkerSeries, aI as MarketSwitch, aJ as PaneAxis, aK as PaneAxisBand, aL as PaneHint, aM as PaneKind, aN as PolylinePoint, aO as PriceAxisOptions, aP as PriceAxisTick, aQ as PriceAxisTickContext, aR as PriceAxisTicksFn, aS as PriceLine, aT as Projector, aU as ProviderName, aV as RendererConstructor, aW as Scene, aX as SchemaPatch, aY as SecondClock, aZ as SeriesDisplay, a_ as SeriesKind, a$ as SeriesPoint, b0 as SeriesSpec, b1 as SeriesSurface, b2 as SeriesValueDelta, b3 as SettingsField, b4 as SettingsSchema, b5 as SettingsVisibilityPolicy, b6 as TableCell, b7 as TableMerge, b8 as TablePosition, b9 as ToolbarGroupConfig, ba as TradeExecution, bb as ValuePatch, b as VelaOptions, V as VisibleRangePreset, bc as buildToolbar, bd as defaultToolbar, be as inputDeltas, bf as inputVisible, bg as seriesInScale, bh as seriesShownOn } from './options-D4L3_hv_.js';
5
+ import { M as MessageLike, T as Translator } from './types-BlrXRLIR.js';
6
+ export { C as ClockFormatContext, d as ClockFormatOptions, e as CompactFormatContext, f as CompactFormatOptions, D as DurationFormatContext, g as DurationFormatOptions, F as FormatContext, h as FormatSurface, c as LocaleChangedEvent, L as LocalePack, b as LocalizationOptions, a as MessageArgs, i as MessageDescriptor, P as PercentFormatContext, j as PercentFormatOptions, k as PriceFormatContext, l as PriceFormatOptions, R as ResolvedFormatters, m as TextDirection, n as TimeStampFormatContext, o as TimeStampFormatOptions, p as TimeTickFormatContext, q as TimeTickFormatOptions, r as TimeTickUnit, V as VelaFormatters, s as VelaMessageCatalog, t as VelaMessageId } from './types-BlrXRLIR.js';
7
+ import { S as SettingsSelectOption } from './plugin-DTmulpKM.js';
8
+ 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, m as MessageValues, N as NEUTRAL, n as NormalizedSettingsRow, R as RendererLayerArgs, o as RendererLayerDefinition, p as RendererLayerInstance, q as SERIES_LINE, r as SESSION_OFF, s as SESSION_POST, t as SESSION_PRE, u as SLATE, v as SLATE_DEEP, w as SeriesDataEngine, x as SeriesDataEngineHost, y as SettingsInlineControl, z as SettingsRowCondition, E as SettingsRowDescriptor, F as SettingsRowInlineNumber, G as SettingsRowSwatch, J as SettingsRowValueKey, K as SettingsRowWhen, L as SettingsRowWidth, O as SettingsValueRow, T as TRADE_EXIT, P as TRADE_LONG, Q as TRADE_SHORT, V as VALID, W as WARNING, U as categoricalColor, X as chartType, Y as chartTypes, Z as createDrawing, _ as createTranslator, $ as deserializeDrawing, a0 as drawingTypes, a1 as getDrawingType, a2 as msg, a3 as normalizeSettingsRow, a4 as registerChartType, a5 as registerDrawingType, a6 as registerLocale, a7 as registerRendererDefaults, a8 as registerRendererLayer, a9 as registeredLocales, aa as rendererDefaults, ab as rendererLayers, ac as settingsRowValueKeys, ad as stableSeriesId, ae as tickerModifierIds, af as unregisterChartType, ag as unregisterRendererDefaults, ah as unregisterRendererLayer, ai as withValues } from './plugin-DTmulpKM.js';
9
+ import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-BGlB1zSc.js';
10
+ 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-CYmH1Opm.js';
9
11
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
10
- export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
12
+ export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-UolhuXH1.js';
11
13
 
12
14
  /**
13
15
  * The single source of truth for a chart's user drawings. Owns identity + paint
@@ -333,31 +335,31 @@ interface ChartConfig {
333
335
  * heading's id hides its whole group (see `settings-visibility.ts`). */
334
336
  type HostSettingsRow = {
335
337
  kind: 'heading';
336
- label: string;
338
+ label: MessageLike;
337
339
  id?: string;
338
340
  } | {
339
341
  kind: 'toggle';
340
- label: string;
342
+ label: MessageLike;
341
343
  get: () => boolean;
342
344
  set: (v: boolean) => void;
343
345
  id?: string;
344
346
  } | {
345
347
  kind: 'select';
346
- label: string;
348
+ label: MessageLike;
347
349
  options: readonly SettingsSelectOption[];
348
350
  get: () => string;
349
351
  set: (v: string) => void;
350
352
  id?: string;
351
353
  } | {
352
354
  kind: 'color';
353
- label: string;
355
+ label: MessageLike;
354
356
  get: () => string;
355
357
  set: (v: string) => void;
356
358
  id?: string;
357
359
  };
358
360
  /** A host-contributed settings tab (see `RendererControl.setSettingsSections`). */
359
361
  interface HostSettingsSection {
360
- title: string;
362
+ title: MessageLike;
361
363
  rows: readonly HostSettingsRow[];
362
364
  /** Tab position: own tab after Symbol (default), end of the rail, or rows INSIDE
363
365
  * the Symbol tab itself (`'symbol'` — e.g. the widget's watermark toggle). */
@@ -366,20 +368,16 @@ interface HostSettingsSection {
366
368
  id?: string;
367
369
  }
368
370
 
369
- /**
370
- * The from-scratch "native" renderer (canvas2d backend in P0/P1/P2; hand-rolled
371
- * WebGL2 added in P3 behind the same backend seam). P0 implements the full
372
- * `IChartRenderer` surface but only the foundation is live: layered DOM, the
373
- * shared CoordinateSystem, the invalidation scheduler, pane layout, and
374
- * pointer/wheel pan-zoom over a placeholder grid. Series/fills/drawings/axes/
375
- * crosshair/inputs land in P1–P2.
376
- */
377
371
  declare class NativeRenderer implements IChartRenderer {
378
372
  readonly capabilities: RendererCapabilities;
379
373
  private theme;
380
374
  private surfaceBackground;
381
375
  private surfaceTextColor;
382
376
  private wrapper;
377
+ /** The chart's translator (null until the chart hands it over: English then). */
378
+ private i18n;
379
+ /** `lang`/`dir` the wrapper carries — null leaves the attribute to the host page. */
380
+ private rootAttrs;
383
381
  private plot;
384
382
  private toolbarGutter;
385
383
  private mountContainer;
@@ -717,6 +715,21 @@ declare class NativeRenderer implements IChartRenderer {
717
715
  private watchDpr;
718
716
  private readonly onDprChange;
719
717
  setTheme(theme: VelaTheme): void;
718
+ /** Adopt the chart's localization (see `IChartRenderer.setLocalization`): the formatters
719
+ * feed the axes, chips and readouts, the root carries `lang`/`dir`, and everything
720
+ * repaints. */
721
+ setLocalization(i18n: Translator, root: RendererRootAttributes): void;
722
+ /** Display text through the chart's translator (English until the chart hands one over). */
723
+ private t;
724
+ /** An indicator's full name as the chart shows it. */
725
+ private modelTitle;
726
+ /** The compact name the legend chip, the settings dialog and the object tree show. */
727
+ private legendTitle;
728
+ /** A series' name as the legend and the data window show it. */
729
+ private seriesTitle;
730
+ /** Re-read the chrome text the renderer owns in the current language. */
731
+ private relabel;
732
+ private applyRootAttributes;
720
733
  resize(): void;
721
734
  /** Drive the countdown chip from the host's second pulse (`null` → the renderer's own). */
722
735
  setWallClock(clock: WallClock | null): void;
@@ -941,6 +954,8 @@ declare class NativeRenderer implements IChartRenderer {
941
954
  getDataWindowReadout(): DataWindowReadout;
942
955
  private dataWindowPricePane;
943
956
  private dataWindowFmt;
957
+ /** A volume in the data window and the volume legend row (`1.20M`: two decimals kept). */
958
+ private formatVolume;
944
959
  private dataWindowOHLC;
945
960
  /** One group per indicator (name = indicator title), each with a row per plot shown in the data window. */
946
961
  private dataWindowGroups;
@@ -1042,8 +1057,12 @@ declare class NativeRenderer implements IChartRenderer {
1042
1057
  private restackOverlay;
1043
1058
  /** The pane a bespoke-layer native indicator (volume/vpvr) currently lives in (null = not mounted). */
1044
1059
  private nativeLayerPane;
1045
- /** One transparent, pointer-transparent SDK layer canvas covering the plot. */
1046
- private createLayerCanvas;
1060
+ /**
1061
+ * Every canvas of the plot's pile comes from here: absolutely placed over the whole plot,
1062
+ * pointer-transparent unless it is the data canvas (which takes the gestures), and pinned
1063
+ * left to right whatever the page's direction (see `pinPlotCanvas`).
1064
+ */
1065
+ private createPlotCanvas;
1047
1066
  /**
1048
1067
  * Mount the DEDICATED layer of a native indicator that names its own channel (an
1049
1068
  * instance of a multi-instance type painting through a registered layer): a fresh
@@ -1191,6 +1210,9 @@ interface DrawingToolbarOptions {
1191
1210
  * linked — edits and removals follow (a multi-chart host's concern — a
1192
1211
  * single-chart bar omits the callback and never shows it). */
1193
1212
  onDrawingsSync?: (on: boolean) => void;
1213
+ /** The chart's (or the workspace's) translator, read each time the bar renders text.
1214
+ * Absent: English. */
1215
+ i18n?: () => Translator;
1194
1216
  }
1195
1217
  /**
1196
1218
  * The vertical drawing toolbar (renderer chrome), docked as a flush bar in the left gutter. Each
@@ -1256,7 +1278,11 @@ declare class DrawingToolbar {
1256
1278
  private readonly dock;
1257
1279
  private readonly onCollapse;
1258
1280
  private readonly onDrawingsSync;
1281
+ private readonly i18n;
1259
1282
  constructor(host: HTMLElement, theme: VelaTheme, onArm: (type: DrawingTypeKey | null) => void, onMagnet?: (mode: SnapMode) => void, onMeasure?: () => void, onEraser?: () => void, onToggleFavorite?: (type: DrawingTypeKey, on: boolean) => void, onStayMode?: (on: boolean) => void, options?: DrawingToolbarOptions);
1283
+ private t;
1284
+ /** Re-read every label in the current language (the chart's language changed). */
1285
+ relabel(): void;
1260
1286
  /** Live divider/border ink — the option override, else the current theme's border
1261
1287
  * (so a theme swap re-inks the bar without a rebuild option). */
1262
1288
  private get borderColor();
@@ -1581,4 +1607,4 @@ declare const DARK_THEME: VelaTheme;
1581
1607
  declare const LIGHT_THEME: VelaTheme;
1582
1608
  declare function resolveTheme(theme?: ThemeName | VelaTheme): VelaTheme;
1583
1609
 
1584
- export { AxisLongPressEvent, BarRange, BarStore, CachingDataFeed, type ChartConfig, type ChartStyle, ClickEvent, CrosshairEvent, DARK_THEME, DataControl, DataProvider, DataWindowReadout, Drawing, DrawingStore, DrawingToolbar, type DrawingToolbarOptions, DrawingTypeKey, DrawingsDocument, IChartRenderer, IDrawingsRendererPort, IndicatorModel, IndicatorRenderHandle, InputChangeEvent, InputValue, LIGHT_THEME, LineStyle, MarkClickEvent, MarkGroup, MarketConfig, MarketDataFeed, MarketSnapshot, Millis, MultiProviderFeed, NativeRenderer, OHLCV, Pane, PriceStyle, ProviderCapabilities, ProviderInfo, RendererCapabilities, RendererDisplayOptions, ReplayTick, ReplayTickSource, Resolved, ScenePatch, SerializedDrawing, SettingsSelectOption, SnapMode, SymbolDescriptor, SymbolInfo, ThemeName, TimelineMark, ToolbarDefinition, VelaTheme, VisibleRange, WallClock, barsToTicks, lowerTimeframeTicks, resolveTheme, sharedBarStore, timeframeToMs };
1610
+ export { AxisLongPressEvent, BarRange, BarStore, CachingDataFeed, type ChartConfig, type ChartStyle, ClickEvent, CrosshairEvent, DARK_THEME, DataControl, DataProvider, DataWindowReadout, Drawing, DrawingStore, DrawingToolbar, type DrawingToolbarOptions, DrawingTypeKey, DrawingsDocument, IChartRenderer, IDrawingsRendererPort, IndicatorModel, IndicatorRenderHandle, InputChangeEvent, InputValue, LIGHT_THEME, LineStyle, MarkClickEvent, MarkGroup, MarketConfig, MarketDataFeed, MarketSnapshot, MessageLike, Millis, MultiProviderFeed, NativeRenderer, OHLCV, Pane, PriceStyle, ProviderCapabilities, ProviderInfo, RendererCapabilities, RendererDisplayOptions, ReplayTick, ReplayTickSource, Resolved, ScenePatch, SerializedDrawing, SettingsSelectOption, SnapMode, SymbolDescriptor, SymbolInfo, ThemeName, TimelineMark, ToolbarDefinition, Translator, VelaTheme, VisibleRange, WallClock, barsToTicks, lowerTimeframeTicks, resolveTheme, sharedBarStore, timeframeToMs };
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
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-QYIO37K7.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-ALTGHKIM.js';
4
- import './chunk-WY5H4S4I.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-I2U4NZD2.js';
1
+ import './chunk-3EYCX2L4.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-XIRSR3D6.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-YRCL3WMD.js';
4
+ import './chunk-PZN4RS4T.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, createTranslator, iconMarkup, msg, registerIcon, registerLocale, registeredLocales, withValues } from './chunk-O6L27KRB.js';
6
6
 
7
7
  // src/core/replayTicks.ts
8
8
  function lowerTimeframeTicks(chart, timeframe) {
@@ -1,12 +1,14 @@
1
+ import { M as MessageLike, T as Translator } from './types-BlrXRLIR.cjs';
2
+
1
3
  interface KeyBindingDescriptor {
2
4
  /** Stable id, e.g. `'chart.toggle-log-scale'`. Re-registering an id replaces it. */
3
5
  id: string;
4
6
  /** Default chord(s). Users can `rebind()` without touching the descriptor. */
5
7
  keys: string | string[];
6
- /** Human label for the shortcuts help panel. */
7
- label: string;
8
- /** Help-panel grouping, e.g. `'Chart'`, `'Drawings'`. */
9
- category?: string;
8
+ /** Human label for the shortcuts help panel. A message follows the shell's language. */
9
+ label: MessageLike;
10
+ /** Help-panel grouping, e.g. `'Chart'`, `'Drawings'`. A message follows the shell's language. */
11
+ category?: MessageLike;
10
12
  /** `'global'` fires in ANY scope; anything else only while it is the top scope. Default `'chart'`. */
11
13
  scope?: string;
12
14
  /** Extra runtime gate evaluated at match time. */
@@ -47,8 +49,9 @@ declare class KeymapManager {
47
49
  unregister(id: string): void;
48
50
  /** User-level rebinding: overrides the descriptor's default chords (null resets). */
49
51
  rebind(id: string, keys: string | string[] | null): void;
50
- /** Snapshot for a shortcuts help panel / rebinding UI. */
51
- bindings(): ResolvedBinding[];
52
+ /** Snapshot for a shortcuts help panel / rebinding UI: labels, categories and key
53
+ * names in `i18n`'s language (English when absent). */
54
+ bindings(i18n?: Translator | null): ResolvedBinding[];
52
55
  pushScope(scope: string): () => void;
53
56
  /** Pops the TOPMOST occurrence of `scope` (tolerates out-of-order teardown). */
54
57
  popScope(scope: string): void;
@@ -1,12 +1,14 @@
1
+ import { M as MessageLike, T as Translator } from './types-BlrXRLIR.js';
2
+
1
3
  interface KeyBindingDescriptor {
2
4
  /** Stable id, e.g. `'chart.toggle-log-scale'`. Re-registering an id replaces it. */
3
5
  id: string;
4
6
  /** Default chord(s). Users can `rebind()` without touching the descriptor. */
5
7
  keys: string | string[];
6
- /** Human label for the shortcuts help panel. */
7
- label: string;
8
- /** Help-panel grouping, e.g. `'Chart'`, `'Drawings'`. */
9
- category?: string;
8
+ /** Human label for the shortcuts help panel. A message follows the shell's language. */
9
+ label: MessageLike;
10
+ /** Help-panel grouping, e.g. `'Chart'`, `'Drawings'`. A message follows the shell's language. */
11
+ category?: MessageLike;
10
12
  /** `'global'` fires in ANY scope; anything else only while it is the top scope. Default `'chart'`. */
11
13
  scope?: string;
12
14
  /** Extra runtime gate evaluated at match time. */
@@ -47,8 +49,9 @@ declare class KeymapManager {
47
49
  unregister(id: string): void;
48
50
  /** User-level rebinding: overrides the descriptor's default chords (null resets). */
49
51
  rebind(id: string, keys: string | string[] | null): void;
50
- /** Snapshot for a shortcuts help panel / rebinding UI. */
51
- bindings(): ResolvedBinding[];
52
+ /** Snapshot for a shortcuts help panel / rebinding UI: labels, categories and key
53
+ * names in `i18n`'s language (English when absent). */
54
+ bindings(i18n?: Translator | null): ResolvedBinding[];
52
55
  pushScope(scope: string): () => void;
53
56
  /** Pops the TOPMOST occurrence of `scope` (tolerates out-of-order teardown). */
54
57
  popScope(scope: string): void;