@luxalgo/vela 0.7.0 → 0.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/{DataProvider-Bu9E5Zh5.d.ts → DataProvider-BALR0qPq.d.ts} +1 -1
  2. package/dist/{DataProvider-Ck2qyS_9.d.cts → DataProvider-D5uMiJYz.d.cts} +1 -1
  3. package/dist/{chunk-IFJJPXSV.js → chunk-BFA32GOU.js} +44 -16
  4. package/dist/{chunk-CZRNTHD6.js → chunk-BKHSQ4YM.js} +129 -125
  5. package/dist/{chunk-A4G64KVF.js → chunk-PTNO3YK2.js} +311 -111
  6. package/dist/{chunk-A347YL2P.js → chunk-QBWLINWL.js} +67 -9
  7. package/dist/{chunk-UHXG5J7C.js → chunk-ZADTVRUO.js} +1 -1
  8. package/dist/{contributions-BjQ7hyIx.d.ts → contributions-BbhbZd3c.d.ts} +31 -9
  9. package/dist/{contributions-Cv2Mutvn.d.cts → contributions-CcBFe-91.d.cts} +31 -9
  10. package/dist/index.cjs +391 -157
  11. package/dist/index.d.cts +52 -17
  12. package/dist/index.d.ts +52 -17
  13. package/dist/index.js +4 -4
  14. package/dist/{options-ex2_gtKp.d.ts → options-C7b_Qssu.d.cts} +42 -1
  15. package/dist/{options-ex2_gtKp.d.cts → options-C7b_Qssu.d.ts} +42 -1
  16. package/dist/{plugin-CiyhU7pi.d.ts → plugin-Cnix5ZBh.d.ts} +6 -4
  17. package/dist/{plugin-absNH7Yn.d.cts → plugin-D6MlX4--.d.cts} +6 -4
  18. package/dist/plugin.cjs +39 -15
  19. package/dist/plugin.d.cts +4 -4
  20. package/dist/plugin.d.ts +4 -4
  21. package/dist/plugin.js +2 -2
  22. package/dist/providers/binance.d.cts +2 -2
  23. package/dist/providers/binance.d.ts +2 -2
  24. package/dist/providers/coinbase.d.cts +2 -2
  25. package/dist/providers/coinbase.d.ts +2 -2
  26. package/dist/providers/hyperliquid.d.cts +2 -2
  27. package/dist/providers/hyperliquid.d.ts +2 -2
  28. package/dist/{statusline-model-BXoU4Kua.d.ts → statusline-model-D8NL7o4L.d.ts} +3 -3
  29. package/dist/{statusline-model-cRhPBLPO.d.cts → statusline-model-DUKt7_TQ.d.cts} +3 -3
  30. package/dist/ui.cjs +8 -4
  31. package/dist/ui.d.cts +10 -7
  32. package/dist/ui.d.ts +10 -7
  33. package/dist/ui.js +2 -2
  34. package/dist/vela.global.js +391 -157
  35. package/dist/vela.global.min.js +70 -70
  36. package/dist/widget.cjs +418 -128
  37. package/dist/widget.d.cts +6 -6
  38. package/dist/widget.d.ts +6 -6
  39. package/dist/widget.js +6 -6
  40. package/dist/workspace.cjs +418 -128
  41. package/dist/workspace.d.cts +39 -6
  42. package/dist/workspace.d.ts +39 -6
  43. package/dist/workspace.js +5 -5
  44. package/package.json +1 -1
  45. /package/dist/{chunk-FE6V2YAQ.js → chunk-JU4CWEBF.js} +0 -0
package/dist/plugin.cjs CHANGED
@@ -2233,16 +2233,18 @@ var Pitchfork = class extends SegmentDrawing {
2233
2233
  geometry(proj) {
2234
2234
  const a = this.anchors[0];
2235
2235
  const b = this.anchors[1];
2236
- const c = this.anchors[2];
2237
- if (!a || !b || !c) return null;
2236
+ if (!a || !b) return null;
2238
2237
  const px = (p) => {
2239
2238
  const y = proj.yOf(p.price, this.paneId);
2240
2239
  return y == null ? null : [proj.xOf(p.time), y];
2241
2240
  };
2242
2241
  const P0 = px(a);
2243
2242
  const P1 = px(b);
2243
+ if (!P0 || !P1) return null;
2244
+ const c = this.anchors[2];
2245
+ if (!c) return { segments: [[P0[0], P0[1], P1[0], P1[1]]], fill: null };
2244
2246
  const P2 = px(c);
2245
- if (!P0 || !P1 || !P2) return null;
2247
+ if (!P2) return null;
2246
2248
  const mx = (P1[0] + P2[0]) / 2;
2247
2249
  const my = (P1[1] + P2[1]) / 2;
2248
2250
  const dx = mx - P0[0];
@@ -2289,16 +2291,19 @@ var PitchforkVariant = class extends SegmentDrawing {
2289
2291
  geometry(proj) {
2290
2292
  const a = this.anchors[0];
2291
2293
  const b = this.anchors[1];
2292
- const c = this.anchors[2];
2293
- if (!a || !b || !c) return null;
2294
+ if (!a || !b) return null;
2294
2295
  const px = (p) => {
2295
2296
  const y = proj.yOf(p.price, this.paneId);
2296
2297
  return y == null ? null : [proj.xOf(p.time), y];
2297
2298
  };
2298
- const S2 = px(this.medianStart(a, b, c));
2299
+ const P0 = px(a);
2299
2300
  const P1 = px(b);
2301
+ if (!P0 || !P1) return null;
2302
+ const c = this.anchors[2];
2303
+ if (!c) return { segments: [[P0[0], P0[1], P1[0], P1[1]]], fill: null };
2304
+ const S2 = px(this.medianStart(a, b, c));
2300
2305
  const P2 = px(c);
2301
- if (!S2 || !P1 || !P2) return null;
2306
+ if (!S2 || !P2) return null;
2302
2307
  const mx = (P1[0] + P2[0]) / 2;
2303
2308
  const my = (P1[1] + P2[1]) / 2;
2304
2309
  const dx = mx - S2[0];
@@ -2313,8 +2318,12 @@ var PitchforkVariant = class extends SegmentDrawing {
2313
2318
  // upper tine
2314
2319
  extendRay(P2[0], P2[1], P2[0] + dx, P2[1] + dy, "right", w, h),
2315
2320
  // lower tine
2316
- [P1[0], P1[1], P2[0], P2[1]]
2321
+ [P1[0], P1[1], P2[0], P2[1]],
2317
2322
  // base line
2323
+ // The median leaves from the shifted origin, not the pivot — without this construction
2324
+ // line the pivot handle would float unattached to the shape it defines.
2325
+ [P0[0], P0[1], P1[0], P1[1]]
2326
+ // pivot → first tine anchor
2318
2327
  ],
2319
2328
  fill: null
2320
2329
  };
@@ -2371,17 +2380,19 @@ var InsidePitchfork = class extends SegmentDrawing {
2371
2380
  geometry(proj) {
2372
2381
  const a = this.anchors[0];
2373
2382
  const b = this.anchors[1];
2374
- const c = this.anchors[2];
2375
- if (!a || !b || !c) return null;
2383
+ if (!a || !b) return null;
2376
2384
  const px = (p) => {
2377
2385
  const y = proj.yOf(p.price, this.paneId);
2378
2386
  return y == null ? null : [proj.xOf(p.time), y];
2379
2387
  };
2380
- const B = px({ time: (a.time + b.time) / 2, price: (a.price + b.price) / 2 });
2381
2388
  const P0 = px(a);
2382
2389
  const P1 = px(b);
2390
+ if (!P0 || !P1) return null;
2391
+ const c = this.anchors[2];
2392
+ if (!c) return { segments: [[P0[0], P0[1], P1[0], P1[1]]], fill: null };
2393
+ const B = px({ time: (a.time + b.time) / 2, price: (a.price + b.price) / 2 });
2383
2394
  const P2 = px(c);
2384
- if (!B || !P0 || !P1 || !P2) return null;
2395
+ if (!B || !P2) return null;
2385
2396
  const mx = (P1[0] + P2[0]) / 2;
2386
2397
  const my = (P1[1] + P2[1]) / 2;
2387
2398
  const dx = P2[0] - B[0];
@@ -2552,16 +2563,18 @@ var Triangle = class extends SegmentDrawing {
2552
2563
  geometry(proj) {
2553
2564
  const a = this.anchors[0];
2554
2565
  const b = this.anchors[1];
2555
- const c = this.anchors[2];
2556
- if (!a || !b || !c) return null;
2566
+ if (!a || !b) return null;
2557
2567
  const px = (p) => {
2558
2568
  const y = proj.yOf(p.price, this.paneId);
2559
2569
  return y == null ? null : [proj.xOf(p.time), y];
2560
2570
  };
2561
2571
  const A = px(a);
2562
2572
  const B = px(b);
2573
+ if (!A || !B) return null;
2574
+ const c = this.anchors[2];
2575
+ if (!c) return { segments: [[A[0], A[1], B[0], B[1]]], fill: null };
2563
2576
  const C = px(c);
2564
- if (!A || !B || !C) return null;
2577
+ if (!C) return null;
2565
2578
  return {
2566
2579
  segments: [
2567
2580
  [A[0], A[1], B[0], B[1]],
@@ -6135,6 +6148,15 @@ function inputDeltas(schema, values) {
6135
6148
  return Object.keys(out).length > 0 ? out : void 0;
6136
6149
  }
6137
6150
 
6151
+ // src/core/model/series.ts
6152
+ function seriesShownOn(spec, surface) {
6153
+ if (spec.display) return spec.display[surface] !== false;
6154
+ return spec.visible !== false;
6155
+ }
6156
+ function seriesInScale(spec) {
6157
+ return seriesShownOn(spec, "pane") || seriesShownOn(spec, "priceScale");
6158
+ }
6159
+
6138
6160
  // src/core/model/identity.ts
6139
6161
  function stableSeriesId(parts) {
6140
6162
  const normTitle = parts.title.trim().toLowerCase().replace(/\s+/g, "-");
@@ -6198,6 +6220,8 @@ exports.registerWidgetAttachment = registerWidgetAttachment;
6198
6220
  exports.rendererDefaults = rendererDefaults;
6199
6221
  exports.rendererLayers = rendererLayers;
6200
6222
  exports.resolveEngines = resolveEngines;
6223
+ exports.seriesInScale = seriesInScale;
6224
+ exports.seriesShownOn = seriesShownOn;
6201
6225
  exports.settingsRowValueKeys = settingsRowValueKeys;
6202
6226
  exports.sidePanels = sidePanels;
6203
6227
  exports.stableSeriesId = stableSeriesId;
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, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K 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-absNH7Yn.cjs';
2
- export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, y as PreparedScript, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, Q as SidePanelDescriptor, T as SidePanelHandle, U as SidePanelHeader, X as StatePersistenceHandler, Y as StrategyFill, Z as StrategyState, _ as StrategyTrade, $ as SymbolRankingHook, a3 as VisibleBarRange, a4 as WidgetActionDescriptor, a5 as WidgetActionTarget, a6 as WidgetAttachment, W as WidgetContext, a7 as getNativeIndicator, a8 as legendActions, a9 as legendCallouts, ab as nativeIndicatorTypes, ac as registerDefaultEngine, ad as registerLegendAction, ae as registerLegendCallout, af as registerNativeIndicator, ag as registerSidePanel, ah as registerStatePersistence, ai as registerSymbolRanking, aj as registerWidgetAction, ak as registerWidgetAttachment, al as resolveEngines, am as sidePanels, an as statePersistenceHandlers, ao as symbolRanking, ap as topbarActionOverride, aq as unregisterDefaultEngine, ar as unregisterLegendAction, as as unregisterLegendCallout, at as unregisterNativeIndicator, au as unregisterSidePanel, av as unregisterStatePersistence, aw as unregisterWidgetAction, ax as unregisterWidgetAttachment, ay as widgetActions, az as widgetAttachments } from './contributions-Cv2Mutvn.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, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K 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-D6MlX4--.cjs';
2
+ export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, y as PreparedScript, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, Q as SidePanelDescriptor, T as SidePanelHandle, U as SidePanelHeader, X as StatePersistenceHandler, Y as StrategyFill, Z as StrategyState, _ as StrategyTrade, $ as SymbolRankingHook, a3 as VisibleBarRange, a4 as WidgetActionDescriptor, a5 as WidgetActionTarget, a6 as WidgetAttachment, W as WidgetContext, a7 as getNativeIndicator, a8 as legendActions, a9 as legendCallouts, ab as nativeIndicatorTypes, ac as registerDefaultEngine, ad as registerLegendAction, ae as registerLegendCallout, af as registerNativeIndicator, ag as registerSidePanel, ah as registerStatePersistence, ai as registerSymbolRanking, aj as registerWidgetAction, ak as registerWidgetAttachment, al as resolveEngines, am as sidePanels, an as statePersistenceHandlers, ao as symbolRanking, ap as topbarActionOverride, aq as unregisterDefaultEngine, ar as unregisterLegendAction, as as unregisterLegendCallout, at as unregisterNativeIndicator, au as unregisterSidePanel, av as unregisterStatePersistence, aw as unregisterWidgetAction, ax as unregisterWidgetAttachment, ay as widgetActions, az as widgetAttachments } from './contributions-CcBFe-91.cjs';
3
3
  export { D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-HF0IAzwf.cjs';
4
- export { G as Background, H as BoxFontFamily, J as BoxHAlign, K as BoxTextSize, Q as BoxVAlign, X as CandleBarColor, Y as CandleSeries, Z as CandleStyle, a1 as DirtyRange, a2 as DrawingBox, a3 as DrawingExtend, a5 as DrawingLabel, a6 as DrawingLine, a7 as DrawingLinefill, aa as DrawingPolyline, af as DrawingTable, z as DrawingTypeKey, ah as DrawingXLoc, aj as Fill, ak as FillGradientStop, al as IndicatorMeta, l as IndicatorModel, am as InputCondition, an as InputSchema, ao as InputType, I as InputValue, ap as InputWhen, at as LabelStyle, au as LabelYLoc, av as LineLikeKind, aw as LineLikeSeries, ax as LineLikeStyle, L as LineStyle, aD as MarkerPoint, aE 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 SeriesKind, aU as SeriesPoint, aV as SeriesSpec, aW as SeriesValueDelta, a_ as TableCell, a$ as TableMerge, b0 as TablePosition, b2 as TradeExecution, b3 as ValuePatch, b6 as inputDeltas, b7 as inputVisible } from './options-ex2_gtKp.cjs';
4
+ export { G as Background, H as BoxFontFamily, J as BoxHAlign, K as BoxTextSize, Q as BoxVAlign, X as CandleBarColor, Y as CandleSeries, Z as CandleStyle, a1 as DirtyRange, a2 as DrawingBox, a3 as DrawingExtend, a5 as DrawingLabel, a6 as DrawingLine, a7 as DrawingLinefill, aa as DrawingPolyline, af as DrawingTable, z as DrawingTypeKey, ah as DrawingXLoc, aj as Fill, ak as FillGradientStop, al as IndicatorMeta, l as IndicatorModel, am as InputCondition, an as InputSchema, ao as InputType, I as InputValue, ap as InputWhen, at as LabelStyle, au as LabelYLoc, av as LineLikeKind, aw as LineLikeSeries, ax as LineLikeStyle, L as LineStyle, aD as MarkerPoint, aE 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-C7b_Qssu.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-Ck2qyS_9.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-D5uMiJYz.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, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K 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-CiyhU7pi.js';
2
- export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, y as PreparedScript, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, Q as SidePanelDescriptor, T as SidePanelHandle, U as SidePanelHeader, X as StatePersistenceHandler, Y as StrategyFill, Z as StrategyState, _ as StrategyTrade, $ as SymbolRankingHook, a3 as VisibleBarRange, a4 as WidgetActionDescriptor, a5 as WidgetActionTarget, a6 as WidgetAttachment, W as WidgetContext, a7 as getNativeIndicator, a8 as legendActions, a9 as legendCallouts, ab as nativeIndicatorTypes, ac as registerDefaultEngine, ad as registerLegendAction, ae as registerLegendCallout, af as registerNativeIndicator, ag as registerSidePanel, ah as registerStatePersistence, ai as registerSymbolRanking, aj as registerWidgetAction, ak as registerWidgetAttachment, al as resolveEngines, am as sidePanels, an as statePersistenceHandlers, ao as symbolRanking, ap as topbarActionOverride, aq as unregisterDefaultEngine, ar as unregisterLegendAction, as as unregisterLegendCallout, at as unregisterNativeIndicator, au as unregisterSidePanel, av as unregisterStatePersistence, aw as unregisterWidgetAction, ax as unregisterWidgetAttachment, ay as widgetActions, az as widgetAttachments } from './contributions-BjQ7hyIx.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, S as SERIES_LINE, p as SESSION_OFF, q as SESSION_POST, r as SESSION_PRE, s as SLATE, t as SLATE_DEEP, u as SeriesDataEngine, v as SeriesDataEngineHost, w as SettingsInlineControl, x as SettingsRowCondition, y as SettingsRowDescriptor, z as SettingsRowInlineNumber, E as SettingsRowSwatch, F as SettingsRowValueKey, G as SettingsRowWhen, J as SettingsRowWidth, K 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-Cnix5ZBh.js';
2
+ export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, e as EngineAlert, f as EngineCapabilities, g as EngineContextSnapshot, h as EngineFactory, i as EngineWarning, j as ExecutionHandlers, k as ExecutionMarket, l as ExecutionRequest, m as ExecutionSession, E as ExternalIndicatorEntry, F as FetchSeries, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, y as PreparedScript, a as ScriptRun, H as ScriptRunCause, J as ScriptRunResult, S as ScriptingEngine, K as SidePanelButton, Q as SidePanelDescriptor, T as SidePanelHandle, U as SidePanelHeader, X as StatePersistenceHandler, Y as StrategyFill, Z as StrategyState, _ as StrategyTrade, $ as SymbolRankingHook, a3 as VisibleBarRange, a4 as WidgetActionDescriptor, a5 as WidgetActionTarget, a6 as WidgetAttachment, W as WidgetContext, a7 as getNativeIndicator, a8 as legendActions, a9 as legendCallouts, ab as nativeIndicatorTypes, ac as registerDefaultEngine, ad as registerLegendAction, ae as registerLegendCallout, af as registerNativeIndicator, ag as registerSidePanel, ah as registerStatePersistence, ai as registerSymbolRanking, aj as registerWidgetAction, ak as registerWidgetAttachment, al as resolveEngines, am as sidePanels, an as statePersistenceHandlers, ao as symbolRanking, ap as topbarActionOverride, aq as unregisterDefaultEngine, ar as unregisterLegendAction, as as unregisterLegendCallout, at as unregisterNativeIndicator, au as unregisterSidePanel, av as unregisterStatePersistence, aw as unregisterWidgetAction, ax as unregisterWidgetAttachment, ay as widgetActions, az as widgetAttachments } from './contributions-BbhbZd3c.js';
3
3
  export { D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-HF0IAzwf.js';
4
- export { G as Background, H as BoxFontFamily, J as BoxHAlign, K as BoxTextSize, Q as BoxVAlign, X as CandleBarColor, Y as CandleSeries, Z as CandleStyle, a1 as DirtyRange, a2 as DrawingBox, a3 as DrawingExtend, a5 as DrawingLabel, a6 as DrawingLine, a7 as DrawingLinefill, aa as DrawingPolyline, af as DrawingTable, z as DrawingTypeKey, ah as DrawingXLoc, aj as Fill, ak as FillGradientStop, al as IndicatorMeta, l as IndicatorModel, am as InputCondition, an as InputSchema, ao as InputType, I as InputValue, ap as InputWhen, at as LabelStyle, au as LabelYLoc, av as LineLikeKind, aw as LineLikeSeries, ax as LineLikeStyle, L as LineStyle, aD as MarkerPoint, aE 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 SeriesKind, aU as SeriesPoint, aV as SeriesSpec, aW as SeriesValueDelta, a_ as TableCell, a$ as TableMerge, b0 as TablePosition, b2 as TradeExecution, b3 as ValuePatch, b6 as inputDeltas, b7 as inputVisible } from './options-ex2_gtKp.js';
4
+ export { G as Background, H as BoxFontFamily, J as BoxHAlign, K as BoxTextSize, Q as BoxVAlign, X as CandleBarColor, Y as CandleSeries, Z as CandleStyle, a1 as DirtyRange, a2 as DrawingBox, a3 as DrawingExtend, a5 as DrawingLabel, a6 as DrawingLine, a7 as DrawingLinefill, aa as DrawingPolyline, af as DrawingTable, z as DrawingTypeKey, ah as DrawingXLoc, aj as Fill, ak as FillGradientStop, al as IndicatorMeta, l as IndicatorModel, am as InputCondition, an as InputSchema, ao as InputType, I as InputValue, ap as InputWhen, at as LabelStyle, au as LabelYLoc, av as LineLikeKind, aw as LineLikeSeries, ax as LineLikeStyle, L as LineStyle, aD as MarkerPoint, aE 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-C7b_Qssu.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-Bu9E5Zh5.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-BALR0qPq.js';
package/dist/plugin.js CHANGED
@@ -1,3 +1,3 @@
1
- import './chunk-FE6V2YAQ.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, settingsRowValueKeys, sidePanels, stableSeriesId, statePersistenceHandlers, symbolRanking, tickerModifierIds, topbarActionOverride, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterLegendCallout, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-IFJJPXSV.js';
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-BFA32GOU.js';
3
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-CAFCLMPF.js';
@@ -1,5 +1,5 @@
1
- import { O as OHLCV, U as Unsubscribe } from '../options-ex2_gtKp.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-Ck2qyS_9.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-C7b_Qssu.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-D5uMiJYz.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-ex2_gtKp.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-Bu9E5Zh5.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-C7b_Qssu.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BALR0qPq.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-ex2_gtKp.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-Ck2qyS_9.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-C7b_Qssu.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-D5uMiJYz.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-ex2_gtKp.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-Bu9E5Zh5.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-C7b_Qssu.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BALR0qPq.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-ex2_gtKp.cjs';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-Ck2qyS_9.cjs';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-C7b_Qssu.cjs';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-D5uMiJYz.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-ex2_gtKp.js';
2
- import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-Bu9E5Zh5.js';
1
+ import { O as OHLCV, U as Unsubscribe } from '../options-C7b_Qssu.js';
2
+ import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-BALR0qPq.js';
3
3
 
4
4
  /**
5
5
  * Hyperliquid market-data provider, built from scratch on the public info API — no
@@ -1,6 +1,6 @@
1
- import { D as DataProvider } from './DataProvider-Bu9E5Zh5.js';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-BjQ7hyIx.js';
3
- import { W as WallClock, V as VisibleRangePreset } from './options-ex2_gtKp.js';
1
+ import { D as DataProvider } from './DataProvider-BALR0qPq.js';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-BbhbZd3c.js';
3
+ import { W as WallClock, V as VisibleRangePreset } from './options-C7b_Qssu.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`
@@ -1,6 +1,6 @@
1
- import { D as DataProvider } from './DataProvider-Ck2qyS_9.cjs';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-Cv2Mutvn.cjs';
3
- import { W as WallClock, V as VisibleRangePreset } from './options-ex2_gtKp.cjs';
1
+ import { D as DataProvider } from './DataProvider-D5uMiJYz.cjs';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-CcBFe-91.cjs';
3
+ import { W as WallClock, V as VisibleRangePreset } from './options-C7b_Qssu.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`
package/dist/ui.cjs CHANGED
@@ -211,6 +211,9 @@ function applyPlotOverlayTokens(host, base, config) {
211
211
  const t = layout?.background && layout.textColor ? { ...base, background: layout.background, textColor: layout.textColor } : base;
212
212
  applyThemeTokens(host, t);
213
213
  }
214
+ function floatingLayerHost(from, fallback) {
215
+ return from.closest(".vela-ui") ?? fallback ?? from;
216
+ }
214
217
  function ensureUIHost(el, theme) {
215
218
  injectStyles(STATIC_ID, STATIC_CSS, el.getRootNode());
216
219
  el.classList.add("vela-ui");
@@ -652,7 +655,7 @@ var MENU_CSS = `
652
655
  /* The list is a <ul>: without this, block rows (the separator) paint a ::marker dot. */
653
656
  list-style: none;
654
657
  margin: 0;
655
- background: var(--vela-surface-elev);
658
+ background: var(--vela-surface);
656
659
  color: var(--vela-fg);
657
660
  border: 1px solid var(--vela-border-strong);
658
661
  border-radius: 6px;
@@ -943,7 +946,7 @@ var Menu = class {
943
946
  const anchor = opts.trigger ?? opts.host ?? document.body;
944
947
  const doc = anchor.ownerDocument;
945
948
  injectStyles(MENU_STYLE_ID, MENU_CSS, doc);
946
- const host = opts.host ?? anchor.closest?.(".vela-ui") ?? doc.body;
949
+ const host = floatingLayerHost(opts.host ?? anchor, doc.body);
947
950
  this.root = new Surface(doc, {
948
951
  host,
949
952
  placement: opts.placement,
@@ -1088,7 +1091,8 @@ var Popover = class {
1088
1091
  const doc = opts.trigger.ownerDocument;
1089
1092
  injectStyles(POPOVER_STYLE_ID, POPOVER_CSS, doc);
1090
1093
  this.trigger = opts.trigger;
1091
- this.host = opts.host ?? doc.body;
1094
+ this.host = opts.host ?? floatingLayerHost(opts.trigger, doc.body);
1095
+ this.inheritsTokens = !opts.host && this.host !== doc.body;
1092
1096
  this.ctrl = popoverController(opts);
1093
1097
  this.boundary = opts.boundary ?? "viewport";
1094
1098
  this.theme = opts.theme;
@@ -1120,7 +1124,7 @@ var Popover = class {
1120
1124
  clearTimeout(this.leaveTimer);
1121
1125
  this.leaveTimer = null;
1122
1126
  }
1123
- ensureUIHost(this.el, this.theme);
1127
+ ensureUIHost(this.el, this.inheritsTokens ? void 0 : this.theme);
1124
1128
  if (this.fadeMs > 0) {
1125
1129
  this.el.style.transition = `opacity ${this.fadeMs}ms ease`;
1126
1130
  this.el.style.opacity = "0";
package/dist/ui.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as VelaTheme } from './options-ex2_gtKp.cjs';
1
+ import { c as VelaTheme } from './options-C7b_Qssu.cjs';
2
2
  import { MachineSchema, Service, Machine } from '@zag-js/core';
3
3
  export { a as KeyBindingDescriptor, K as KeymapManager, b as KeymapOptions, R as ResolvedBinding } from './keymap-CGOz5F5f.cjs';
4
4
  import * as tooltip from '@zag-js/tooltip';
@@ -25,12 +25,13 @@ declare function injectStyles(id: string, css: string, root?: Document | ShadowR
25
25
  /** Write the theme-derived custom properties onto a host element (the widget root and
26
26
  * every floating layer — menus/tooltips portal outside the root, so layers re-apply). */
27
27
  declare function applyThemeTokens(el: HTMLElement, t: VelaTheme): void;
28
- /** Re-token a chart-overlay host (statusline, watermark, toast, context menu chrome
29
- * floating OVER the plot) from the LIVE plot surface: a config edit can recolor the
30
- * plot background independently of the app theme (a white plot typed into settings on
31
- * the dark theme), and the overlay ink must stay readable either way. `config` is the
32
- * renderer's `getConfig()` snapshot; a missing/shapeless one falls back to the base
33
- * app theme. */
28
+ /** Re-token a chart-overlay host (statusline, watermark, toast chrome floating OVER
29
+ * the plot) from the LIVE plot surface: a config edit can recolor the plot background
30
+ * independently of the app theme (a white plot typed into settings on the dark theme),
31
+ * and the overlay ink must stay readable either way. `config` is the renderer's
32
+ * `getConfig()` snapshot; a missing/shapeless one falls back to the base app theme.
33
+ * Floating menus and dropdowns do NOT use this — they mount on {@link floatingLayerHost}
34
+ * so their surface follows the app theme alone. */
34
35
  declare function applyPlotOverlayTokens(host: HTMLElement, base: VelaTheme, config: unknown): void;
35
36
  /** Mark an element as a kit host: static token sheet + the `.vela-ui` class. */
36
37
  declare function ensureUIHost(el: HTMLElement, theme?: VelaTheme): void;
@@ -389,6 +390,8 @@ declare class Popover {
389
390
  private readonly ctrl;
390
391
  private readonly boundary;
391
392
  private readonly theme?;
393
+ /** Hosted under a `.vela-ui` we resolved ourselves — its tokens win over `theme`. */
394
+ private readonly inheritsTokens;
392
395
  private onOutside;
393
396
  private onKey;
394
397
  private onReflow;
package/dist/ui.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as VelaTheme } from './options-ex2_gtKp.js';
1
+ import { c as VelaTheme } from './options-C7b_Qssu.js';
2
2
  import { MachineSchema, Service, Machine } from '@zag-js/core';
3
3
  export { a as KeyBindingDescriptor, K as KeymapManager, b as KeymapOptions, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
4
4
  import * as tooltip from '@zag-js/tooltip';
@@ -25,12 +25,13 @@ declare function injectStyles(id: string, css: string, root?: Document | ShadowR
25
25
  /** Write the theme-derived custom properties onto a host element (the widget root and
26
26
  * every floating layer — menus/tooltips portal outside the root, so layers re-apply). */
27
27
  declare function applyThemeTokens(el: HTMLElement, t: VelaTheme): void;
28
- /** Re-token a chart-overlay host (statusline, watermark, toast, context menu chrome
29
- * floating OVER the plot) from the LIVE plot surface: a config edit can recolor the
30
- * plot background independently of the app theme (a white plot typed into settings on
31
- * the dark theme), and the overlay ink must stay readable either way. `config` is the
32
- * renderer's `getConfig()` snapshot; a missing/shapeless one falls back to the base
33
- * app theme. */
28
+ /** Re-token a chart-overlay host (statusline, watermark, toast chrome floating OVER
29
+ * the plot) from the LIVE plot surface: a config edit can recolor the plot background
30
+ * independently of the app theme (a white plot typed into settings on the dark theme),
31
+ * and the overlay ink must stay readable either way. `config` is the renderer's
32
+ * `getConfig()` snapshot; a missing/shapeless one falls back to the base app theme.
33
+ * Floating menus and dropdowns do NOT use this — they mount on {@link floatingLayerHost}
34
+ * so their surface follows the app theme alone. */
34
35
  declare function applyPlotOverlayTokens(host: HTMLElement, base: VelaTheme, config: unknown): void;
35
36
  /** Mark an element as a kit host: static token sheet + the `.vela-ui` class. */
36
37
  declare function ensureUIHost(el: HTMLElement, theme?: VelaTheme): void;
@@ -389,6 +390,8 @@ declare class Popover {
389
390
  private readonly ctrl;
390
391
  private readonly boundary;
391
392
  private readonly theme?;
393
+ /** Hosted under a `.vela-ui` we resolved ourselves — its tokens win over `theme`. */
394
+ private readonly inheritsTokens;
392
395
  private onOutside;
393
396
  private onKey;
394
397
  private onReflow;
package/dist/ui.js CHANGED
@@ -1,3 +1,3 @@
1
- export { Drawer, KeymapManager, Tooltip, drawerController, tooltipController } from './chunk-UHXG5J7C.js';
2
- export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, ColorField, Dialog, FIELD_GAP_PX, GlyphSelect, Menu, NumberInput, Popover, Select, Switch, TextArea, TextField, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, normalizeProps, numberInputController, openPopoverTrigger, openSelectList, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, spreadProps, switchController, textAreaController, textFieldController, toggleSelectList, transparencyChecker, viewportRect, widthField, widthFieldOptions } from './chunk-CZRNTHD6.js';
1
+ export { Drawer, KeymapManager, Tooltip, drawerController, tooltipController } from './chunk-ZADTVRUO.js';
2
+ export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, ColorField, Dialog, FIELD_GAP_PX, GlyphSelect, Menu, NumberInput, Popover, Select, Switch, TextArea, TextField, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, normalizeProps, numberInputController, openPopoverTrigger, openSelectList, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, spreadProps, switchController, textAreaController, textFieldController, toggleSelectList, transparencyChecker, viewportRect, widthField, widthFieldOptions } from './chunk-BKHSQ4YM.js';
3
3
  export { FIELD_FOCUS_CSS, FIELD_FOCUS_RING, iconEl, iconMarkup, injectStyles, overlayScrollbarCss, registerIcon, svg16, svg24, withAlpha } from './chunk-CAFCLMPF.js';