@luxalgo/vela 0.8.1 → 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 (49) hide show
  1. package/README.md +1 -1
  2. package/dist/{DataProvider-DwFIoV4r.d.ts → DataProvider-oH78tYXL.d.ts} +1 -1
  3. package/dist/{DataProvider-BrlxntPN.d.cts → DataProvider-wbtJ3-Sa.d.cts} +1 -1
  4. package/dist/{chunk-DBDXKZUF.js → chunk-2IPXYM4B.js} +306 -177
  5. package/dist/{chunk-NELQJCGK.js → chunk-G7B7ZCBF.js} +167 -10
  6. package/dist/{chunk-ATGTCWHJ.js → chunk-HMHA733L.js} +473 -196
  7. package/dist/{chunk-EZ5FWVLA.js → chunk-KWI3YDBW.js} +343 -17
  8. package/dist/{chunk-LMBYEGUR.js → chunk-TO3GIK7Z.js} +71 -6
  9. package/dist/{chunk-BZQM2XO7.js → chunk-VHGACEHO.js} +62 -1
  10. package/dist/{contributions-tjNExo1o.d.ts → contributions-BhOBRenr.d.cts} +79 -12
  11. package/dist/{contributions-CtlptxR8.d.cts → contributions-HGqnNb_P.d.ts} +79 -12
  12. package/dist/index.cjs +733 -113
  13. package/dist/index.d.cts +34 -14
  14. package/dist/index.d.ts +34 -14
  15. package/dist/index.js +5 -5
  16. package/dist/{options-BnEPUuVV.d.ts → options-lMUwmRwh.d.cts} +69 -4
  17. package/dist/{options-BnEPUuVV.d.cts → options-lMUwmRwh.d.ts} +69 -4
  18. package/dist/{plugin-e2WUEtiI.d.ts → plugin-Cr2Pj8q8.d.ts} +4 -4
  19. package/dist/{plugin-BWxJRKzS.d.cts → plugin-Do5J5xuF.d.cts} +4 -4
  20. package/dist/plugin.cjs +38 -6
  21. package/dist/plugin.d.cts +5 -5
  22. package/dist/plugin.d.ts +5 -5
  23. package/dist/plugin.js +3 -3
  24. package/dist/providers/binance.d.cts +2 -2
  25. package/dist/providers/binance.d.ts +2 -2
  26. package/dist/providers/coinbase.d.cts +2 -2
  27. package/dist/providers/coinbase.d.ts +2 -2
  28. package/dist/providers/hyperliquid.d.cts +2 -2
  29. package/dist/providers/hyperliquid.d.ts +2 -2
  30. package/dist/{side-panel-HF0IAzwf.d.cts → side-panel-_2UK1gSm.d.cts} +58 -3
  31. package/dist/{side-panel-HF0IAzwf.d.ts → side-panel-_2UK1gSm.d.ts} +58 -3
  32. package/dist/{statusline-model-DFY7tuHj.d.cts → statusline-model-B-2xGlB_.d.cts} +3 -3
  33. package/dist/{statusline-model-zKXtGIjj.d.ts → statusline-model-CY1wzxHg.d.ts} +3 -3
  34. package/dist/ui.cjs +298 -13
  35. package/dist/ui.d.cts +132 -74
  36. package/dist/ui.d.ts +132 -74
  37. package/dist/ui.js +3 -3
  38. package/dist/vela.global.js +734 -114
  39. package/dist/vela.global.min.js +86 -52
  40. package/dist/widget.cjs +1227 -211
  41. package/dist/widget.d.cts +36 -12
  42. package/dist/widget.d.ts +36 -12
  43. package/dist/widget.js +7 -7
  44. package/dist/workspace.cjs +1226 -211
  45. package/dist/workspace.d.cts +47 -20
  46. package/dist/workspace.d.ts +47 -20
  47. package/dist/workspace.js +6 -6
  48. package/package.json +2 -2
  49. /package/dist/{chunk-JU4CWEBF.js → chunk-W5YPYZ2P.js} +0 -0
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) {
@@ -332,6 +349,7 @@ registerIcon("expand", S('<rect x="2.2" y="2.2" width="11.6" height="11.6" rx="1
332
349
  registerIcon("plus", S('<path d="M8 2.8v10.4M2.8 8h10.4"/>'));
333
350
  registerIcon("minus", S('<path d="M2.8 8h10.4"/>'));
334
351
  registerIcon("maximize", S('<path d="M2.5 6V3a.5.5 0 0 1 .5-.5h3M10 2.5h3a.5.5 0 0 1 .5.5v3M13.5 10v3a.5.5 0 0 1-.5.5h-3M6 13.5H3a.5.5 0 0 1-.5-.5v-3"/>'));
352
+ registerIcon("restore", S('<path d="M6 2.5v3a.5.5 0 0 1-.5.5h-3M13.5 6h-3a.5.5 0 0 1-.5-.5v-3M10 13.5v-3a.5.5 0 0 1 .5-.5h3M2.5 10h3a.5.5 0 0 1 .5.5v3"/>'));
335
353
  registerIcon("restore", S('<path d="M6.2 2.5v3.7H2.5M9.8 13.5V9.8h3.7M13.5 6.2H9.8V2.5M2.5 9.8h3.7v3.7"/>'));
336
354
  registerIcon("star", S('<path d="M8 2.2l1.75 3.55 3.9.55-2.8 2.75.65 3.9L8 11.1l-3.5 1.85.65-3.9-2.8-2.75 3.9-.55z"/>'));
337
355
  registerIcon("star-filled", S('<path d="M8 2.2l1.75 3.55 3.9.55-2.8 2.75.65 3.9L8 11.1l-3.5 1.85.65-3.9-2.8-2.75 3.9-.55z"/>', 'fill="currentColor"'));
@@ -3160,6 +3178,10 @@ var FibRatios = class extends Drawing {
3160
3178
 
3161
3179
  // src/core/drawings/types/FibLevels.ts
3162
3180
  var FibLevels = class extends FibRatios {
3181
+ /** Price of a level for the two anchor prices; subclasses override to change which anchor ratio 0 sits on. */
3182
+ levelPrice(ratio, p1, p2) {
3183
+ return p1 + ratio * (p2 - p1);
3184
+ }
3163
3185
  /** Per-level pixel line + price for the ENABLED levels, spanning the anchors' time range. */
3164
3186
  levelLines(proj) {
3165
3187
  const a = this.anchors[0];
@@ -3169,11 +3191,10 @@ var FibLevels = class extends FibRatios {
3169
3191
  const xb = proj.xOf(b.time);
3170
3192
  const x1 = Math.min(xa, xb);
3171
3193
  const x2 = Math.max(xa, xb);
3172
- const delta = b.price - a.price;
3173
3194
  const out = [];
3174
3195
  for (const lv of this.levels) {
3175
3196
  if (!lv.enabled) continue;
3176
- const price = a.price + lv.ratio * delta;
3197
+ const price = this.levelPrice(lv.ratio, a.price, b.price);
3177
3198
  const y = proj.yOf(price, this.paneId);
3178
3199
  if (y == null) continue;
3179
3200
  out.push({ ratio: lv.ratio, color: lv.color, label: lv.label, price, x1, x2, y });
@@ -3213,8 +3234,7 @@ var FibLevels = class extends FibRatios {
3213
3234
  const a = this.anchors[0];
3214
3235
  const b = this.anchors[1];
3215
3236
  if (!a || !b) return null;
3216
- const delta = b.price - a.price;
3217
- const prices = this.levels.filter((l) => l.enabled).map((l) => a.price + l.ratio * delta);
3237
+ const prices = this.levels.filter((l) => l.enabled).map((l) => this.levelPrice(l.ratio, a.price, b.price));
3218
3238
  if (prices.length === 0) return null;
3219
3239
  return { min: Math.min(...prices), max: Math.max(...prices) };
3220
3240
  }
@@ -3300,13 +3320,24 @@ function cycleLevels(count, enabledCount = count) {
3300
3320
  // src/core/drawings/types/FibRetracement.ts
3301
3321
  var LEVELS = fibLevels([0, 0.236, 0.382, 0.5, 0.618, 0.786, 1]);
3302
3322
  var FibRetracement = class extends FibLevels {
3303
- constructor() {
3304
- super(...arguments);
3323
+ constructor(init) {
3324
+ super(init);
3305
3325
  this.type = "fibretracement";
3326
+ if (this.reverse === void 0) this.reverse = false;
3306
3327
  }
3307
3328
  defaultLevels() {
3308
3329
  return LEVELS;
3309
3330
  }
3331
+ levelPrice(ratio, p1, p2) {
3332
+ return this.reverse ? p1 + ratio * (p2 - p1) : p2 + ratio * (p1 - p2);
3333
+ }
3334
+ writeProps() {
3335
+ return { ...super.writeProps(), reverse: this.reverse };
3336
+ }
3337
+ readProps(props) {
3338
+ super.readProps(props);
3339
+ this.reverse = typeof props.reverse === "boolean" ? props.reverse : true;
3340
+ }
3310
3341
  };
3311
3342
 
3312
3343
  // src/core/drawings/types/FibExtension.ts
@@ -6170,6 +6201,7 @@ exports.BEARISH = BEARISH;
6170
6201
  exports.BULLISH = BULLISH;
6171
6202
  exports.CATEGORICAL = CATEGORICAL;
6172
6203
  exports.CHIP_PLATE = CHIP_PLATE;
6204
+ exports.CONTEXT_MENU_BUILTIN_ORDER = CONTEXT_MENU_BUILTIN_ORDER;
6173
6205
  exports.CROSSHAIR = CROSSHAIR;
6174
6206
  exports.DEFAULT_PANEL_MAX_WIDTH = DEFAULT_PANEL_MAX_WIDTH;
6175
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-BWxJRKzS.cjs';
2
- export { B as BarsChangeReason, C as CellStateContext, h as ContextSelect, j as EngineAlert, k as EngineCapabilities, l as EngineContextSnapshot, m as EngineFactory, n as EngineWarning, o as ExecutionHandlers, p as ExecutionMarket, q as ExecutionRequest, r as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, u as LegendCalloutContent, v as LegendCalloutDescriptor, w as LegendCalloutItem, x as LegendCalloutSpec, y as LegendIndicatorInfo, N as NativeIndicator, z as NativeIndicatorContext, A as NativeIndicatorDescriptor, G as NativeIndicatorInfo, H as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, J as PreparedScript, c as ScriptRun, Z as ScriptRunCause, _ as ScriptRunResult, S as ScriptingEngine, $ as SidePanelButton, a0 as SidePanelDescriptor, a1 as SidePanelHandle, a2 as SidePanelHeader, a3 as StatePersistenceHandler, a4 as StrategyFill, a5 as StrategyState, a6 as StrategyTrade, a7 as SymbolRankingHook, aa as VisibleBarRange, ab as WidgetActionDescriptor, ac as WidgetActionTarget, ad as WidgetAttachment, W as WidgetContext, ae as getNativeIndicator, af as legendActions, ag as legendCallouts, ai as nativeIndicatorTypes, aj as registerDefaultEngine, ak as registerLegendAction, al as registerLegendCallout, am as registerNativeIndicator, an as registerSidePanel, ao as registerStatePersistence, ap as registerSymbolRanking, aq as registerWidgetAction, ar as registerWidgetAttachment, as as resolveEngines, at as sidePanels, au as statePersistenceHandlers, av as symbolRanking, aw as topbarActionOverride, ax as unregisterDefaultEngine, ay as unregisterLegendAction, az as unregisterLegendCallout, aA as unregisterNativeIndicator, aB as unregisterSidePanel, aC as unregisterStatePersistence, aD as unregisterWidgetAction, aE as unregisterWidgetAttachment, aF as widgetActions, aG as widgetAttachments } from './contributions-CtlptxR8.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-HF0IAzwf.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-BnEPUuVV.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-BrlxntPN.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';
package/dist/plugin.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as 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-e2WUEtiI.js';
2
- export { B as BarsChangeReason, C as CellStateContext, h as ContextSelect, j as EngineAlert, k as EngineCapabilities, l as EngineContextSnapshot, m as EngineFactory, n as EngineWarning, o as ExecutionHandlers, p as ExecutionMarket, q as ExecutionRequest, r as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, u as LegendCalloutContent, v as LegendCalloutDescriptor, w as LegendCalloutItem, x as LegendCalloutSpec, y as LegendIndicatorInfo, N as NativeIndicator, z as NativeIndicatorContext, A as NativeIndicatorDescriptor, G as NativeIndicatorInfo, H as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, J as PreparedScript, c as ScriptRun, Z as ScriptRunCause, _ as ScriptRunResult, S as ScriptingEngine, $ as SidePanelButton, a0 as SidePanelDescriptor, a1 as SidePanelHandle, a2 as SidePanelHeader, a3 as StatePersistenceHandler, a4 as StrategyFill, a5 as StrategyState, a6 as StrategyTrade, a7 as SymbolRankingHook, aa as VisibleBarRange, ab as WidgetActionDescriptor, ac as WidgetActionTarget, ad as WidgetAttachment, W as WidgetContext, ae as getNativeIndicator, af as legendActions, ag as legendCallouts, ai as nativeIndicatorTypes, aj as registerDefaultEngine, ak as registerLegendAction, al as registerLegendCallout, am as registerNativeIndicator, an as registerSidePanel, ao as registerStatePersistence, ap as registerSymbolRanking, aq as registerWidgetAction, ar as registerWidgetAttachment, as as resolveEngines, at as sidePanels, au as statePersistenceHandlers, av as symbolRanking, aw as topbarActionOverride, ax as unregisterDefaultEngine, ay as unregisterLegendAction, az as unregisterLegendCallout, aA as unregisterNativeIndicator, aB as unregisterSidePanel, aC as unregisterStatePersistence, aD as unregisterWidgetAction, aE as unregisterWidgetAttachment, aF as widgetActions, aG as widgetAttachments } from './contributions-tjNExo1o.js';
3
- export { D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-HF0IAzwf.js';
4
- 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-BnEPUuVV.js';
1
+ export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CHIP_PLATE, f as CROSSHAIR, g as ChartTypeDefinition, h as ChartTypeSettingsInstance, i as ChartTypeSettingsSection, j as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, k as INVALID, l as IdentifiableKind, M as MARKER, N as NEUTRAL, m as NormalizedSettingsRow, R as RendererLayerArgs, n as RendererLayerDefinition, o as RendererLayerInstance, 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-Cr2Pj8q8.js';
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-HGqnNb_P.js';
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.js';
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.js';
5
5
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
6
6
  export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
7
- export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-DwFIoV4r.js';
7
+ export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-oH78tYXL.js';
package/dist/plugin.js CHANGED
@@ -1,3 +1,3 @@
1
- import './chunk-JU4CWEBF.js';
2
- export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, OVERRIDABLE_TOPBAR_IDS, chartType, chartTypes, clampPanelWidth, drawingTypes, getDrawingType, getNativeIndicator, inputDeltas, inputVisible, legendActions, legendCallouts, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, 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-EZ5FWVLA.js';
3
- 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-BZQM2XO7.js';
1
+ import './chunk-W5YPYZ2P.js';
2
+ export { CONTEXT_MENU_BUILTIN_ORDER, DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, OVERRIDABLE_TOPBAR_IDS, chartType, chartTypes, clampPanelWidth, drawingTypes, getDrawingType, getNativeIndicator, inputDeltas, inputVisible, legendActions, legendCallouts, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, 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';
3
+ 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';
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BnEPUuVV.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BrlxntPN.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-lMUwmRwh.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-wbtJ3-Sa.cjs';
3
3
 
4
4
  /**
5
5
  * Binance market-data provider, built from scratch on the public REST + WebSocket
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BnEPUuVV.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DwFIoV4r.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-lMUwmRwh.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-oH78tYXL.js';
3
3
 
4
4
  /**
5
5
  * Binance market-data provider, built from scratch on the public REST + WebSocket
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BnEPUuVV.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BrlxntPN.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-lMUwmRwh.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-wbtJ3-Sa.cjs';
3
3
 
4
4
  /**
5
5
  * Coinbase market-data provider, built from scratch on the public Exchange REST + WebSocket APIs
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BnEPUuVV.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DwFIoV4r.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-lMUwmRwh.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-oH78tYXL.js';
3
3
 
4
4
  /**
5
5
  * Coinbase market-data provider, built from scratch on the public Exchange REST + WebSocket APIs
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BnEPUuVV.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BrlxntPN.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-lMUwmRwh.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-wbtJ3-Sa.cjs';
3
3
 
4
4
  /**
5
5
  * Hyperliquid market-data provider, built from scratch on the public info API — no
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-BnEPUuVV.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DwFIoV4r.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-lMUwmRwh.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-oH78tYXL.js';
3
3
 
4
4
  /**
5
5
  * Hyperliquid market-data provider, built from scratch on the public info API — no
@@ -1,3 +1,35 @@
1
+ /**
2
+ * The rank of every built-in context-menu row, by zone and row id (`settings` is each
3
+ * zone's settings row). Contributed `context:*` actions sort TOGETHER with these rows by
4
+ * their `order` (default 0), ascending; on a tie the built-in row comes first, then the
5
+ * actions in registration order. The built-in actions rank below 0 and the settings row at
6
+ * 1000, so an action without `order` lands after the built-in actions and before the
7
+ * settings row, and `order: -100` leads the menu.
8
+ */
9
+ declare const CONTEXT_MENU_BUILTIN_ORDER: {
10
+ readonly body: {
11
+ readonly 'reset-view': -30;
12
+ readonly 'remove-drawings': -20;
13
+ readonly 'remove-indicators': -10;
14
+ readonly settings: 1000;
15
+ };
16
+ readonly 'price-axis': {
17
+ readonly auto: -80;
18
+ readonly invert: -70;
19
+ readonly 'scale:regular': -60;
20
+ readonly 'scale:percent': -50;
21
+ readonly 'scale:indexed': -40;
22
+ readonly 'scale:log': -30;
23
+ readonly labels: -20;
24
+ readonly levels: -10;
25
+ readonly settings: 1000;
26
+ };
27
+ readonly 'time-axis': {
28
+ readonly timezone: -10;
29
+ readonly settings: 1000;
30
+ };
31
+ };
32
+
1
33
  /** Width (px) a panel takes when it declares none. */
2
34
  declare const DEFAULT_PANEL_WIDTH = 280;
3
35
  /** Bounds a RESIZABLE panel takes when it declares none. */
@@ -15,6 +47,9 @@ interface SidePanelOptions {
15
47
  * its width. Docked when false/omitted. A floating panel gets a header pin the user
16
48
  * can dock it with (see {@link SidePanel.onPlacementChange}). */
17
49
  overlay?: boolean;
50
+ /** A header button that MAXIMIZES the panel over every chart of the shell, and restores
51
+ * it. For panels that are sometimes the main work surface (an editor). */
52
+ maximizable?: boolean;
18
53
  }
19
54
  /**
20
55
  * Clamp a width to its bounds and round to whole pixels — PURE. The drag, a programmatic
@@ -47,11 +82,31 @@ declare class SidePanel {
47
82
  private readonly floatable;
48
83
  private overlayOn;
49
84
  private readonly pin;
85
+ private readonly maxButton;
86
+ private maximizedOn;
87
+ /** Set while the close is announced, so a listener's own close does not re-enter. */
88
+ private closing;
89
+ /** Open as far as the dock and the host are concerned — a closed panel can still be on
90
+ * screen while its exit animation runs. */
91
+ private isOpen;
92
+ /** The exit animation of a close; a reopen cancels it. */
93
+ private exit;
50
94
  /** `modifier` is the panel's own class, carrying its content styles (e.g. `vela-ot`). */
51
95
  constructor(host: HTMLElement, title: string, modifier: string, opts?: SidePanelOptions);
52
96
  get open(): boolean;
53
- /** Open/close the panel — a bare call flips it. */
54
- toggle(open?: boolean): void;
97
+ /**
98
+ * Open/close the panel — a bare call flips it. The panel reports closed at once, but a
99
+ * close keeps it on screen, marked `data-closing`, while a host exit animation runs.
100
+ * `instant` skips that, and also cuts short the exit of a panel already closing: a panel
101
+ * handing the dock to another leaves at once.
102
+ */
103
+ toggle(open?: boolean, instant?: boolean): void;
104
+ /** Whether the panel covers every chart right now. */
105
+ get maximized(): boolean;
106
+ /** Maximize the panel over the shell's charts, or restore it. A no-op on a panel not
107
+ * declared `maximizable`. */
108
+ setMaximized(maximized: boolean): void;
109
+ private refreshMaxButton;
55
110
  /** The scrolling body, for a panel filled from OUTSIDE the class — a contributed panel's
56
111
  * `mount` receives exactly this element. Subclasses use the protected `body`. */
57
112
  get content(): HTMLElement;
@@ -77,4 +132,4 @@ declare class SidePanel {
77
132
  private mountResizer;
78
133
  }
79
134
 
80
- export { DEFAULT_PANEL_MAX_WIDTH as D, type SidePanelOptions as S, DEFAULT_PANEL_MIN_WIDTH as a, DEFAULT_PANEL_WIDTH as b, clampPanelWidth as c, SidePanel as d };
135
+ export { CONTEXT_MENU_BUILTIN_ORDER as C, DEFAULT_PANEL_MAX_WIDTH as D, type SidePanelOptions as S, DEFAULT_PANEL_MIN_WIDTH as a, DEFAULT_PANEL_WIDTH as b, clampPanelWidth as c, SidePanel as d };
@@ -1,3 +1,35 @@
1
+ /**
2
+ * The rank of every built-in context-menu row, by zone and row id (`settings` is each
3
+ * zone's settings row). Contributed `context:*` actions sort TOGETHER with these rows by
4
+ * their `order` (default 0), ascending; on a tie the built-in row comes first, then the
5
+ * actions in registration order. The built-in actions rank below 0 and the settings row at
6
+ * 1000, so an action without `order` lands after the built-in actions and before the
7
+ * settings row, and `order: -100` leads the menu.
8
+ */
9
+ declare const CONTEXT_MENU_BUILTIN_ORDER: {
10
+ readonly body: {
11
+ readonly 'reset-view': -30;
12
+ readonly 'remove-drawings': -20;
13
+ readonly 'remove-indicators': -10;
14
+ readonly settings: 1000;
15
+ };
16
+ readonly 'price-axis': {
17
+ readonly auto: -80;
18
+ readonly invert: -70;
19
+ readonly 'scale:regular': -60;
20
+ readonly 'scale:percent': -50;
21
+ readonly 'scale:indexed': -40;
22
+ readonly 'scale:log': -30;
23
+ readonly labels: -20;
24
+ readonly levels: -10;
25
+ readonly settings: 1000;
26
+ };
27
+ readonly 'time-axis': {
28
+ readonly timezone: -10;
29
+ readonly settings: 1000;
30
+ };
31
+ };
32
+
1
33
  /** Width (px) a panel takes when it declares none. */
2
34
  declare const DEFAULT_PANEL_WIDTH = 280;
3
35
  /** Bounds a RESIZABLE panel takes when it declares none. */
@@ -15,6 +47,9 @@ interface SidePanelOptions {
15
47
  * its width. Docked when false/omitted. A floating panel gets a header pin the user
16
48
  * can dock it with (see {@link SidePanel.onPlacementChange}). */
17
49
  overlay?: boolean;
50
+ /** A header button that MAXIMIZES the panel over every chart of the shell, and restores
51
+ * it. For panels that are sometimes the main work surface (an editor). */
52
+ maximizable?: boolean;
18
53
  }
19
54
  /**
20
55
  * Clamp a width to its bounds and round to whole pixels — PURE. The drag, a programmatic
@@ -47,11 +82,31 @@ declare class SidePanel {
47
82
  private readonly floatable;
48
83
  private overlayOn;
49
84
  private readonly pin;
85
+ private readonly maxButton;
86
+ private maximizedOn;
87
+ /** Set while the close is announced, so a listener's own close does not re-enter. */
88
+ private closing;
89
+ /** Open as far as the dock and the host are concerned — a closed panel can still be on
90
+ * screen while its exit animation runs. */
91
+ private isOpen;
92
+ /** The exit animation of a close; a reopen cancels it. */
93
+ private exit;
50
94
  /** `modifier` is the panel's own class, carrying its content styles (e.g. `vela-ot`). */
51
95
  constructor(host: HTMLElement, title: string, modifier: string, opts?: SidePanelOptions);
52
96
  get open(): boolean;
53
- /** Open/close the panel — a bare call flips it. */
54
- toggle(open?: boolean): void;
97
+ /**
98
+ * Open/close the panel — a bare call flips it. The panel reports closed at once, but a
99
+ * close keeps it on screen, marked `data-closing`, while a host exit animation runs.
100
+ * `instant` skips that, and also cuts short the exit of a panel already closing: a panel
101
+ * handing the dock to another leaves at once.
102
+ */
103
+ toggle(open?: boolean, instant?: boolean): void;
104
+ /** Whether the panel covers every chart right now. */
105
+ get maximized(): boolean;
106
+ /** Maximize the panel over the shell's charts, or restore it. A no-op on a panel not
107
+ * declared `maximizable`. */
108
+ setMaximized(maximized: boolean): void;
109
+ private refreshMaxButton;
55
110
  /** The scrolling body, for a panel filled from OUTSIDE the class — a contributed panel's
56
111
  * `mount` receives exactly this element. Subclasses use the protected `body`. */
57
112
  get content(): HTMLElement;
@@ -77,4 +132,4 @@ declare class SidePanel {
77
132
  private mountResizer;
78
133
  }
79
134
 
80
- export { DEFAULT_PANEL_MAX_WIDTH as D, type SidePanelOptions as S, DEFAULT_PANEL_MIN_WIDTH as a, DEFAULT_PANEL_WIDTH as b, clampPanelWidth as c, SidePanel as d };
135
+ export { CONTEXT_MENU_BUILTIN_ORDER as C, DEFAULT_PANEL_MAX_WIDTH as D, type SidePanelOptions as S, DEFAULT_PANEL_MIN_WIDTH as a, DEFAULT_PANEL_WIDTH as b, clampPanelWidth as c, SidePanel as d };
@@ -1,6 +1,6 @@
1
- import { D as DataProvider } from './DataProvider-BrlxntPN.cjs';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-CtlptxR8.cjs';
3
- import { W as WallClock, V as VisibleRangePreset } from './options-BnEPUuVV.cjs';
1
+ import { D as DataProvider } from './DataProvider-wbtJ3-Sa.cjs';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-BhOBRenr.cjs';
3
+ import { W as WallClock, V as VisibleRangePreset } from './options-lMUwmRwh.cjs';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
6
6
  * cells as GHOST crosshairs (renderers without the optional `setExternalCrosshair`
@@ -1,6 +1,6 @@
1
- import { D as DataProvider } from './DataProvider-DwFIoV4r.js';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-tjNExo1o.js';
3
- import { W as WallClock, V as VisibleRangePreset } from './options-BnEPUuVV.js';
1
+ import { D as DataProvider } from './DataProvider-oH78tYXL.js';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-HGqnNb_P.js';
3
+ import { W as WallClock, V as VisibleRangePreset } from './options-lMUwmRwh.js';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
6
6
  * cells as GHOST crosshairs (renderers without the optional `setExternalCrosshair`