@luxalgo/vela 0.7.6 → 0.7.7

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.
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { D as DrawingsDocument, R as Resolved } from './contributions-C7Wsm_S9.js';
2
- export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, c as DataControl, d as DrawingsControl, 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, n as IndicatorEventMap, I as IndicatorHandle, o as IndicatorSummary, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, M as MarksControl, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, y as PreparedScript, z as RendererControl, A as RunIndicatorResult, G as SceneInspection, 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, a0 as TypedEventBus, V as Vela, a1 as VelaDeps, a2 as VelaEventMap, a3 as VisibleBarRange, a4 as WidgetActionDescriptor, a5 as WidgetActionTarget, a6 as WidgetAttachment, W as WidgetContext, a7 as getNativeIndicator, a8 as legendActions, a9 as legendCallouts, aa as nativeIndicatorDescriptors, 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-C7Wsm_S9.js';
1
+ import { D as DrawingsDocument, R as Resolved } from './contributions-nKOSeLy8.js';
2
+ export { B as BarsChangeReason, C as CellStateContext, b as ContextSelect, c as DataControl, d as DrawingsControl, 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, n as IndicatorEventMap, I as IndicatorHandle, o as IndicatorSummary, L as LegendActionDescriptor, p as LegendCalloutContent, q as LegendCalloutDescriptor, r as LegendCalloutItem, s as LegendCalloutSpec, t as LegendIndicatorInfo, M as MarksControl, N as NativeIndicator, u as NativeIndicatorContext, v as NativeIndicatorDescriptor, w as NativeIndicatorInfo, x as NativeIndicatorOutput, O as OVERRIDABLE_TOPBAR_IDS, P as ParsedSymbol, y as PreparedScript, z as RendererControl, A as RunIndicatorResult, G as SceneInspection, 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, a0 as TypedEventBus, V as Vela, a1 as VelaDeps, a2 as VelaEventMap, a3 as VisibleBarRange, a4 as WidgetActionDescriptor, a5 as WidgetActionTarget, a6 as WidgetAttachment, W as WidgetContext, a7 as getNativeIndicator, a8 as legendActions, a9 as legendCallouts, aa as nativeIndicatorDescriptors, 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-nKOSeLy8.js';
3
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 } from './options-D1AJKsn_.js';
4
4
  export { E as AddIndicatorOptions, F as AnimationConfig, G as Background, H as BoxFontFamily, J as BoxHAlign, K as BoxTextSize, Q as BoxVAlign, X as CandleBarColor, Y as CandleSeries, Z as CandleStyle, _ as DataWindowGroup, $ as DataWindowOHLC, a0 as DataWindowRow, a1 as DirtyRange, a2 as DrawingBox, a3 as DrawingExtend, a4 as DrawingIntent, a5 as DrawingLabel, a6 as DrawingLine, a7 as DrawingLinefill, a8 as DrawingMode, a9 as DrawingPoint, aa as DrawingPolyline, ab as DrawingSeriesBar, ac as DrawingSeriesGateway, ad as DrawingSeriesState, ae as DrawingStyle, af as DrawingTable, ag as DrawingText, ah as DrawingXLoc, ai as DrawingsOption, aj as Fill, ak as FillGradientStop, al as IndicatorMeta, am as InputCondition, an as InputSchema, ao as InputType, ap as InputWhen, aq as IntroAnimation, ar as IntroConfig, as as IntroStyle, at as LabelStyle, au as LabelYLoc, av as LineLikeKind, aw as LineLikeSeries, ax as LineLikeStyle, ay as MarkContent, az as MarkContentSource, aA as MarkGlyph, aB as MarkPanelItem, aC as MarkShape, aD as MarkerPoint, aE as MarkerSeries, aF as MarketSnapshot, aG as MarketSwitch, aH as PaneAxis, aI as PaneAxisBand, aJ as PaneHint, aK as PaneKind, aL as PolylinePoint, aM as PriceLine, aN as Projector, aO as ProviderName, aP as RendererConstructor, aQ as Scene, aR as SchemaPatch, aS as SecondClock, aT as SeriesDisplay, aU as SeriesKind, aV as SeriesPoint, aW as SeriesSpec, aX as SeriesSurface, aY as SeriesValueDelta, aZ as SettingsField, a_ as SettingsSchema, a$ as SettingsVisibilityPolicy, b0 as TableCell, b1 as TableMerge, b2 as TablePosition, b3 as ToolbarGroupConfig, b4 as TradeExecution, b5 as ValuePatch, b as VelaOptions, V as VisibleRangePreset, b6 as buildToolbar, b7 as defaultToolbar, b8 as inputDeltas, b9 as inputVisible, ba as seriesInScale, bb as seriesShownOn } from './options-D1AJKsn_.js';
5
5
  import { M as MarketDataFeed, D as DataProvider, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo, b as ProviderCapabilities, B as BarRange } from './DataProvider-CmWUtDVL.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, 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, 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-SodaQhjQ.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, 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, 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-0oFDnexb.js';
7
7
  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';
8
8
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
9
9
  export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
@@ -138,11 +138,23 @@ interface SessionShadeStyle {
138
138
  postmarketColor: string;
139
139
  extendedColor: string;
140
140
  }
141
+ /**
142
+ * Empty space kept around the data. `top` / `bottom` are the share of each pane's
143
+ * PIXEL height the autoscaled window reserves above the highest / below the lowest
144
+ * visible value (percent); `right` is the whitespace after the newest bar, in bars,
145
+ * that fit, re-frame and scroll-to-latest land on.
146
+ */
147
+ interface ChartMargins {
148
+ top: number;
149
+ bottom: number;
150
+ right: number;
151
+ }
141
152
  interface ChartStyle {
142
153
  /** Per-chart-type settings (plugin SDK sections), keyed by type id then row key. */
143
154
  chartTypes: Record<string, Record<string, unknown>>;
144
155
  /** Axis/label font size in CSS px (the family stays on the theme). */
145
156
  fontSize: number;
157
+ margins: ChartMargins;
146
158
  gridVert: GridLineStyle;
147
159
  gridHorz: GridLineStyle;
148
160
  /** Axis frame lines (the right price-axis border); `null` ⇒ inherit `theme.borderColor`. */
@@ -213,6 +225,9 @@ interface ChartConfig {
213
225
  panes: {
214
226
  separatorColor: string;
215
227
  };
228
+ /** Whitespace around the data (the Canvas tab's Margins group): top/bottom in percent
229
+ * of pane height, right in bars. See {@link ChartMargins}. */
230
+ margins: ChartMargins;
216
231
  /** Strategy trade markers (the `tradeMarkers` feature): the order-fill units on the price pane. */
217
232
  trades: {
218
233
  visible: boolean;
@@ -982,7 +997,7 @@ declare class NativeRenderer implements IChartRenderer {
982
997
  private tradesScaleHints;
983
998
  private fitContent;
984
999
  /** Re-frame after a series replacement (a symbol/timeframe switch): keep the user's
985
- * zoom (bar spacing), re-anchor the newest bars at the default right offset.
1000
+ * zoom (bar spacing), re-anchor the newest bars at the configured right margin.
986
1001
  * `clampViewport`'s fit-all-bars floor deliberately does NOT apply — a progressive
987
1002
  * head may still be backfilling toward the previous depth, and raising the spacing
988
1003
  * to its temporary bar count would lose the zoom this exists to keep. */
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import './chunk-JU4CWEBF.js';
2
- export { BarStore, CachingDataFeed, DARK_THEME, DataControl, DrawingStore, DrawingToolbar, DrawingsControl, LIGHT_THEME, MarksControl, MultiProviderFeed, NativeRenderer, RendererControl, SecondClock, TypedEventBus, Vela, buildToolbar, defaultToolbar, resolveTheme, sharedBarStore, timeframeToMs } from './chunk-JSVCWYBF.js';
2
+ export { BarStore, CachingDataFeed, DARK_THEME, DataControl, DrawingStore, DrawingToolbar, DrawingsControl, LIGHT_THEME, MarksControl, MultiProviderFeed, NativeRenderer, RendererControl, SecondClock, TypedEventBus, Vela, buildToolbar, defaultToolbar, resolveTheme, sharedBarStore, timeframeToMs } from './chunk-RVQWJOEE.js';
3
3
  export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, Drawing, OVERRIDABLE_TOPBAR_IDS, chartType, chartTypes, clampPanelWidth, createDrawing, deserializeDrawing, drawingTypes, getDrawingType, getNativeIndicator, inputDeltas, inputVisible, legendActions, legendCallouts, nativeIndicatorDescriptors, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, registerDrawingType, registerLegendAction, registerLegendCallout, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerStatePersistence, registerSymbolRanking, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resolveEngines, seriesInScale, seriesShownOn, settingsRowValueKeys, sidePanels, stableSeriesId, statePersistenceHandlers, symbolRanking, tickerModifierIds, topbarActionOverride, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterLegendCallout, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterStatePersistence, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-BFA32GOU.js';
4
- import './chunk-BKHSQ4YM.js';
4
+ import './chunk-WTWGEB7K.js';
5
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-CAFCLMPF.js';
@@ -1,5 +1,5 @@
1
1
  import { z as DrawingTypeKey, ae as DrawingStyle, S as SerializedDrawing, D as Drawing, aU as SeriesKind, O as OHLCV, c as VelaTheme } from './options-D1AJKsn_.js';
2
- import { c as DataControl } from './contributions-C7Wsm_S9.js';
2
+ import { c as DataControl } from './contributions-nKOSeLy8.js';
3
3
  import './side-panel-HF0IAzwf.js';
4
4
  import './icons-BZYbJXSV.js';
5
5
  import './keymap-CGOz5F5f.js';
@@ -1,5 +1,5 @@
1
1
  import { z as DrawingTypeKey, ae as DrawingStyle, S as SerializedDrawing, D as Drawing, aU as SeriesKind, O as OHLCV, c as VelaTheme } from './options-D1AJKsn_.cjs';
2
- import { c as DataControl } from './contributions-D6p1RB38.cjs';
2
+ import { c as DataControl } from './contributions-DF_Ea07m.cjs';
3
3
  import './side-panel-HF0IAzwf.cjs';
4
4
  import './icons-BZYbJXSV.cjs';
5
5
  import './keymap-CGOz5F5f.cjs';
package/dist/plugin.d.cts CHANGED
@@ -1,5 +1,5 @@
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-CxWfg6vK.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-D6p1RB38.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-DPyVJFoA.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-DF_Ea07m.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
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-D1AJKsn_.cjs';
5
5
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.cjs';
package/dist/plugin.d.ts CHANGED
@@ -1,5 +1,5 @@
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-SodaQhjQ.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-C7Wsm_S9.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-0oFDnexb.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-nKOSeLy8.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
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-D1AJKsn_.js';
5
5
  export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
@@ -1,5 +1,5 @@
1
1
  import { D as DataProvider } from './DataProvider-CGa4KHRa.cjs';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-D6p1RB38.cjs';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-DF_Ea07m.cjs';
3
3
  import { W as WallClock, V as VisibleRangePreset } from './options-D1AJKsn_.cjs';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
@@ -245,7 +245,8 @@ interface VelaShellOptions {
245
245
  indicators?: string | IndicatorManifest | IndicatorLoader;
246
246
  /** Topbar timeframe presets (chart timeframe values). */
247
247
  timeframes?: string[];
248
- /** Display timezone (IANA; default 'Etc/UTC') — one zone for the whole shell. */
248
+ /** Display timezone — one choice for the whole shell: an IANA zone (default
249
+ * 'Etc/UTC'), or `'exchange'` to render every chart in its own market's zone. */
249
250
  timezone?: string;
250
251
  /** Chrome toggles (all default true). */
251
252
  statusline?: boolean;
@@ -346,7 +347,10 @@ interface RangePreset {
346
347
  */
347
348
  declare const RANGE_PRESETS: readonly RangePreset[];
348
349
  interface BottombarOptions {
350
+ /** The stored display-timezone choice — an IANA zone or the exchange rule. */
349
351
  timezone: string;
352
+ /** The active chart's market zone, resolving the exchange rule (see {@link Bottombar.setTimezone}). */
353
+ exchangeTimezone?: string;
350
354
  /** The second pulse the clock ticks on. Share one with the charts' countdown chips
351
355
  * (`renderer.setWallClock`) so every time display reads the same second; omitted,
352
356
  * the bar runs its own second-aligned clock. */
@@ -368,9 +372,18 @@ declare class Bottombar {
368
372
  private readonly sessionButtons;
369
373
  private sessionEl;
370
374
  private timezone;
375
+ private exchangeTimezone;
371
376
  private readonly unsubClock;
372
377
  constructor(host: HTMLElement, opts: BottombarOptions);
373
- setTimezone(zone: string): void;
378
+ /**
379
+ * Reflect the stored choice AND the active chart's market zone. The clock and the
380
+ * offset label read the RESOLVED zone, so a workspace on the exchange rule re-labels
381
+ * when the active cell (or its symbol) changes market — the host re-projects on
382
+ * both. Idempotent: unchanged inputs leave the menu alone.
383
+ */
384
+ setTimezone(zone: string, exchangeTimezone?: string): void;
385
+ /** The zone the bar's clock and label render in. */
386
+ private get displayZone();
374
387
  /** Highlight (or clear with null) the active range chip — cleared on manual tf changes. */
375
388
  setActiveRange(id: string | null): void;
376
389
  /**
@@ -1,5 +1,5 @@
1
1
  import { D as DataProvider } from './DataProvider-CmWUtDVL.js';
2
- import { S as ScriptingEngine, V as Vela } from './contributions-C7Wsm_S9.js';
2
+ import { S as ScriptingEngine, V as Vela } from './contributions-nKOSeLy8.js';
3
3
  import { W as WallClock, V as VisibleRangePreset } from './options-D1AJKsn_.js';
4
4
 
5
5
  /** The linkable dimensions. `crosshair` mirrors the pointer time onto same-group
@@ -245,7 +245,8 @@ interface VelaShellOptions {
245
245
  indicators?: string | IndicatorManifest | IndicatorLoader;
246
246
  /** Topbar timeframe presets (chart timeframe values). */
247
247
  timeframes?: string[];
248
- /** Display timezone (IANA; default 'Etc/UTC') — one zone for the whole shell. */
248
+ /** Display timezone — one choice for the whole shell: an IANA zone (default
249
+ * 'Etc/UTC'), or `'exchange'` to render every chart in its own market's zone. */
249
250
  timezone?: string;
250
251
  /** Chrome toggles (all default true). */
251
252
  statusline?: boolean;
@@ -346,7 +347,10 @@ interface RangePreset {
346
347
  */
347
348
  declare const RANGE_PRESETS: readonly RangePreset[];
348
349
  interface BottombarOptions {
350
+ /** The stored display-timezone choice — an IANA zone or the exchange rule. */
349
351
  timezone: string;
352
+ /** The active chart's market zone, resolving the exchange rule (see {@link Bottombar.setTimezone}). */
353
+ exchangeTimezone?: string;
350
354
  /** The second pulse the clock ticks on. Share one with the charts' countdown chips
351
355
  * (`renderer.setWallClock`) so every time display reads the same second; omitted,
352
356
  * the bar runs its own second-aligned clock. */
@@ -368,9 +372,18 @@ declare class Bottombar {
368
372
  private readonly sessionButtons;
369
373
  private sessionEl;
370
374
  private timezone;
375
+ private exchangeTimezone;
371
376
  private readonly unsubClock;
372
377
  constructor(host: HTMLElement, opts: BottombarOptions);
373
- setTimezone(zone: string): void;
378
+ /**
379
+ * Reflect the stored choice AND the active chart's market zone. The clock and the
380
+ * offset label read the RESOLVED zone, so a workspace on the exchange rule re-labels
381
+ * when the active cell (or its symbol) changes market — the host re-projects on
382
+ * both. Idempotent: unchanged inputs leave the menu alone.
383
+ */
384
+ setTimezone(zone: string, exchangeTimezone?: string): void;
385
+ /** The zone the bar's clock and label render in. */
386
+ private get displayZone();
374
387
  /** Highlight (or clear with null) the active range chip — cleared on manual tf changes. */
375
388
  setActiveRange(id: string | null): void;
376
389
  /**
package/dist/ui.cjs CHANGED
@@ -2646,7 +2646,8 @@ function addRecent(hex6) {
2646
2646
  recents.unshift(hex6);
2647
2647
  if (recents.length > 10) recents.length = 10;
2648
2648
  }
2649
- function buildColorPicker(color, theme, onChange) {
2649
+ function buildColorPicker(color, theme, onChange, options = {}) {
2650
+ const commit = options.commit ?? "live";
2650
2651
  const parsed = splitColor(color);
2651
2652
  let curHex = parsed.hex6;
2652
2653
  let curAlpha = parsed.alpha;
@@ -2729,7 +2730,12 @@ function buildColorPicker(color, theme, onChange) {
2729
2730
  const r = track.getBoundingClientRect();
2730
2731
  curAlpha = Math.max(0, Math.min(1, (clientX - r.left) / r.width));
2731
2732
  paintOpacity();
2732
- emit();
2733
+ if (commit === "live") emit();
2734
+ };
2735
+ const endDrag = () => {
2736
+ if (!dragging) return;
2737
+ dragging = false;
2738
+ if (commit === "release") emit();
2733
2739
  };
2734
2740
  track.addEventListener("pointerdown", (e) => {
2735
2741
  e.stopPropagation();
@@ -2740,7 +2746,8 @@ function buildColorPicker(color, theme, onChange) {
2740
2746
  track.addEventListener("pointermove", (e) => {
2741
2747
  if (dragging) onDrag(e.clientX);
2742
2748
  });
2743
- track.addEventListener("pointerup", () => dragging = false);
2749
+ track.addEventListener("pointerup", endDrag);
2750
+ track.addEventListener("pointercancel", endDrag);
2744
2751
  function emit() {
2745
2752
  onChange(combineColor(curHex, curAlpha));
2746
2753
  }
@@ -2763,7 +2770,7 @@ function buildColorPicker(color, theme, onChange) {
2763
2770
  return root;
2764
2771
  }
2765
2772
  function colorField(theme, getVal, onVal, opts) {
2766
- return new ColorField({ theme, getVal, onVal, shape: opts?.shape, id: opts?.id, popover: opts?.popover }).el;
2773
+ return new ColorField({ theme, getVal, onVal, shape: opts?.shape, id: opts?.id, popover: opts?.popover, commit: opts?.commit }).el;
2767
2774
  }
2768
2775
  var ColorField = class {
2769
2776
  constructor(opts) {
@@ -2772,6 +2779,7 @@ var ColorField = class {
2772
2779
  this.getVal = opts.getVal;
2773
2780
  this.onVal = opts.onVal;
2774
2781
  this.popoverOpts = opts.popover;
2782
+ this.commit = opts.commit;
2775
2783
  const trigger = document.createElement("button");
2776
2784
  trigger.type = "button";
2777
2785
  if (opts.id) trigger.id = opts.id;
@@ -2811,10 +2819,15 @@ var ColorField = class {
2811
2819
  boundary: this.popoverOpts?.boundary,
2812
2820
  zIndex: this.popoverOpts?.zIndex,
2813
2821
  className: "vela-color-field-pop",
2814
- content: buildColorPicker(this.getVal(), this.theme, (val) => {
2815
- this.onVal(val);
2816
- this.paint();
2817
- })
2822
+ content: buildColorPicker(
2823
+ this.getVal(),
2824
+ this.theme,
2825
+ (val) => {
2826
+ this.onVal(val);
2827
+ this.paint();
2828
+ },
2829
+ { commit: this.commit }
2830
+ )
2818
2831
  });
2819
2832
  pop.show();
2820
2833
  }
@@ -3405,7 +3418,8 @@ function buildFieldControl(desc) {
3405
3418
  const el2 = colorField(desc.theme, desc.get, desc.onChange, {
3406
3419
  shape: "circle",
3407
3420
  id: desc.id,
3408
- popover: desc.popover
3421
+ popover: desc.popover,
3422
+ commit: desc.commit
3409
3423
  });
3410
3424
  if (desc.title) el2.title = desc.title;
3411
3425
  return { el: el2 };
package/dist/ui.d.cts CHANGED
@@ -644,12 +644,23 @@ interface ColorPickerController {
644
644
  }
645
645
  declare function colorPickerController(opts?: ColorPickerControllerOptions): ColorPickerController;
646
646
 
647
+ /**
648
+ * When the opacity slider hands its value to `onChange` during a drag: `'live'` on every
649
+ * pointer move (the consumer repaints cheaply, so the chart previews the drag), `'release'`
650
+ * once on pointerup/pointercancel (the consumer recomputes — a script re-runs over its whole
651
+ * history, so a per-move commit would queue seconds of work behind the pointer). The knob,
652
+ * gradient and percentage follow the pointer either way; swatch picks always emit at once.
653
+ */
654
+ type ColorCommit = 'live' | 'release';
655
+ interface ColorPickerOptions {
656
+ commit?: ColorCommit;
657
+ }
647
658
  /**
648
659
  * A self-contained color picker: a swatch grid (grays + hue × shade), a
649
660
  * recents row with a custom "+" picker, and an opacity slider over a transparency checker.
650
661
  * Emits `#RRGGBB` / `#RRGGBBAA` through `onChange`.
651
662
  */
652
- declare function buildColorPicker(color: string, theme: VelaTheme, onChange: (v: string) => void): HTMLElement;
663
+ declare function buildColorPicker(color: string, theme: VelaTheme, onChange: (v: string) => void, options?: ColorPickerOptions): HTMLElement;
653
664
  interface ColorFieldOpts {
654
665
  shape?: ColorFieldShape;
655
666
  theme: VelaTheme;
@@ -657,6 +668,8 @@ interface ColorFieldOpts {
657
668
  onVal: (v: string) => void;
658
669
  id?: string;
659
670
  popover?: Pick<PopoverOptions, 'host' | 'position' | 'boundary' | 'zIndex' | 'gap' | 'align'>;
671
+ /** Opacity-drag commit policy of the popover picker (default `'live'`) — see {@link ColorCommit}. */
672
+ commit?: ColorCommit;
660
673
  }
661
674
  /** Closed-state swatch shape. `circle` is the settings-dialog preview (a square chip
662
675
  * inset from a matching field border); `square` is the compact drawing-chrome swatch. */
@@ -664,6 +677,7 @@ declare function colorField(theme: VelaTheme, getVal: () => string, onVal: (v: s
664
677
  shape?: ColorFieldShape;
665
678
  id?: string;
666
679
  popover?: ColorFieldOpts['popover'];
680
+ commit?: ColorCommit;
667
681
  }): HTMLElement;
668
682
  declare class ColorField {
669
683
  readonly el: HTMLButtonElement;
@@ -672,6 +686,7 @@ declare class ColorField {
672
686
  private readonly onVal;
673
687
  private readonly theme;
674
688
  private readonly popoverOpts;
689
+ private readonly commit;
675
690
  constructor(opts: ColorFieldOpts);
676
691
  private paint;
677
692
  private toggle;
@@ -782,6 +797,8 @@ type FieldControlDesc = {
782
797
  get: () => string;
783
798
  onChange: (v: string) => void;
784
799
  popover?: ColorFieldOpts['popover'];
800
+ /** Opacity-drag commit policy (default `'live'`): `'release'` when `onChange` recomputes rather than repaints. */
801
+ commit?: ColorFieldOpts['commit'];
785
802
  title?: string;
786
803
  } | {
787
804
  kind: 'text';
@@ -981,4 +998,4 @@ declare class CalloutBubble {
981
998
  declare const CALLOUT_STYLE_ID = "vela-ui-callout-bubble";
982
999
  declare const CALLOUT_CSS = "\n.vela-callout {\n display: inline-grid;\n place-items: center;\n border-radius: 50%;\n flex: none;\n line-height: 0;\n box-sizing: border-box;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n}\n.vela-callout[role='button'] { cursor: pointer; }\n.vela-callout svg { display: block; }\n/* The deployed panel \u2014 carries the kit's elevated-card look itself (the popover\n shell is bare positioning chrome). */\n.vela-callout-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 10px 12px;\n max-width: 280px;\n box-sizing: border-box;\n background: var(--vela-surface-elev);\n border: 1px solid var(--vela-border-strong);\n border-radius: 6px;\n box-shadow: var(--vela-shadow);\n color: var(--vela-fg);\n font: var(--vela-font-size-md) var(--vela-font);\n}\n.vela-callout-title { font-weight: 600; color: var(--vela-fg-bright); }\n.vela-callout-text { color: var(--vela-fg-muted); line-height: 1.45; white-space: pre-line; }\n.vela-callout-actions { display: flex; flex-wrap: wrap; gap: 8px; }\n.vela-callout-btn {\n cursor: pointer;\n height: 26px;\n padding: 0 10px;\n border-radius: 5px;\n border: 1px solid var(--vela-border);\n background: transparent;\n color: var(--vela-fg);\n font-size: var(--vela-font-size-md);\n font-family: inherit;\n transition: background var(--vela-dur-fast) ease, color var(--vela-dur-fast) ease, opacity var(--vela-dur-fast) ease, border-color var(--vela-dur-fast) ease;\n}\n.vela-callout-btn:hover { background: var(--vela-hover); color: var(--vela-fg-bright); border-color: var(--vela-fg-muted); }\n.vela-callout-btn-primary { border-color: var(--vela-selected-bg); background: var(--vela-selected-bg); color: var(--vela-selected-fg); }\n.vela-callout-btn-primary:hover { background: var(--vela-selected-bg); color: var(--vela-selected-fg); opacity: 0.85; border-color: var(--vela-selected-bg); }\n";
983
1000
 
984
- export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, type CalloutBubbleOptions, type CalloutBubbleSpec, type CalloutPanel, type CalloutPanelItem, type CalloutPanelRow, ColorField, type ColorFieldOpts, type ColorFieldShape, type ColorPickerController, type ColorPickerControllerOptions, Dialog, type DialogApi, type DialogControllerOptions, type DialogOptions, type DialogService, Drawer, type DrawerApi, type DrawerControllerOptions, type DrawerOptions, type DrawerService, FIELD_FOCUS_CSS, FIELD_FOCUS_RING, FIELD_GAP_PX, type FieldControlDesc, type FieldControlHandle, type FieldGridOptions, type FieldGridVariant, type FieldInlineItem, type FieldLabelSize, type FieldRowOptions, type FieldSectionOptions, type FieldToggleOpts, type GlyphOption, GlyphSelect, type GlyphSelectController, type GlyphSelectControllerOptions, type GlyphSelectOptions, type MachineHandle, Menu, type MenuApi, type MenuControllerOptions, type MenuItemDescriptor, type MenuOptions, type MenuService, type NumberCommit, NumberInput, type NumberInputController, type NumberInputControllerOptions, type NumberInputOptions, type NumberSize, type PlaceArgs, type PlaceResult, Popover, type PopoverAlign, type PopoverBoundary, type PopoverController, type PopoverControllerOptions, type PopoverOptions, type PopoverPosition, type Rect, Select, type SelectController, type SelectControllerOptions, type SelectListPopoverOpts, type SelectOption, type SelectOptions, type SelectSize, Switch, type SwitchController, type SwitchControllerOptions, type SwitchOptions, type SwitchSize, type SwitchTone, TextArea, type TextAreaController, type TextAreaControllerOptions, type TextAreaOptions, type TextAreaSize, TextField, type TextFieldController, type TextFieldControllerOptions, type TextFieldOptions, type TextFieldSize, Tooltip, type TooltipApi, type TooltipControllerOptions, type TooltipOptions, type TooltipService, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, drawerController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, iconEl, injectStyles, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, numberInputController, openPopoverTrigger, openSelectList, overlayScrollbarCss, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, switchController, textAreaController, textFieldController, toggleSelectList, tooltipController, transparencyChecker, viewportRect, widthField, widthFieldOptions, withAlpha };
1001
+ export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, type CalloutBubbleOptions, type CalloutBubbleSpec, type CalloutPanel, type CalloutPanelItem, type CalloutPanelRow, type ColorCommit, ColorField, type ColorFieldOpts, type ColorFieldShape, type ColorPickerController, type ColorPickerControllerOptions, type ColorPickerOptions, Dialog, type DialogApi, type DialogControllerOptions, type DialogOptions, type DialogService, Drawer, type DrawerApi, type DrawerControllerOptions, type DrawerOptions, type DrawerService, FIELD_FOCUS_CSS, FIELD_FOCUS_RING, FIELD_GAP_PX, type FieldControlDesc, type FieldControlHandle, type FieldGridOptions, type FieldGridVariant, type FieldInlineItem, type FieldLabelSize, type FieldRowOptions, type FieldSectionOptions, type FieldToggleOpts, type GlyphOption, GlyphSelect, type GlyphSelectController, type GlyphSelectControllerOptions, type GlyphSelectOptions, type MachineHandle, Menu, type MenuApi, type MenuControllerOptions, type MenuItemDescriptor, type MenuOptions, type MenuService, type NumberCommit, NumberInput, type NumberInputController, type NumberInputControllerOptions, type NumberInputOptions, type NumberSize, type PlaceArgs, type PlaceResult, Popover, type PopoverAlign, type PopoverBoundary, type PopoverController, type PopoverControllerOptions, type PopoverOptions, type PopoverPosition, type Rect, Select, type SelectController, type SelectControllerOptions, type SelectListPopoverOpts, type SelectOption, type SelectOptions, type SelectSize, Switch, type SwitchController, type SwitchControllerOptions, type SwitchOptions, type SwitchSize, type SwitchTone, TextArea, type TextAreaController, type TextAreaControllerOptions, type TextAreaOptions, type TextAreaSize, TextField, type TextFieldController, type TextFieldControllerOptions, type TextFieldOptions, type TextFieldSize, Tooltip, type TooltipApi, type TooltipControllerOptions, type TooltipOptions, type TooltipService, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, drawerController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, iconEl, injectStyles, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, numberInputController, openPopoverTrigger, openSelectList, overlayScrollbarCss, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, switchController, textAreaController, textFieldController, toggleSelectList, tooltipController, transparencyChecker, viewportRect, widthField, widthFieldOptions, withAlpha };
package/dist/ui.d.ts CHANGED
@@ -644,12 +644,23 @@ interface ColorPickerController {
644
644
  }
645
645
  declare function colorPickerController(opts?: ColorPickerControllerOptions): ColorPickerController;
646
646
 
647
+ /**
648
+ * When the opacity slider hands its value to `onChange` during a drag: `'live'` on every
649
+ * pointer move (the consumer repaints cheaply, so the chart previews the drag), `'release'`
650
+ * once on pointerup/pointercancel (the consumer recomputes — a script re-runs over its whole
651
+ * history, so a per-move commit would queue seconds of work behind the pointer). The knob,
652
+ * gradient and percentage follow the pointer either way; swatch picks always emit at once.
653
+ */
654
+ type ColorCommit = 'live' | 'release';
655
+ interface ColorPickerOptions {
656
+ commit?: ColorCommit;
657
+ }
647
658
  /**
648
659
  * A self-contained color picker: a swatch grid (grays + hue × shade), a
649
660
  * recents row with a custom "+" picker, and an opacity slider over a transparency checker.
650
661
  * Emits `#RRGGBB` / `#RRGGBBAA` through `onChange`.
651
662
  */
652
- declare function buildColorPicker(color: string, theme: VelaTheme, onChange: (v: string) => void): HTMLElement;
663
+ declare function buildColorPicker(color: string, theme: VelaTheme, onChange: (v: string) => void, options?: ColorPickerOptions): HTMLElement;
653
664
  interface ColorFieldOpts {
654
665
  shape?: ColorFieldShape;
655
666
  theme: VelaTheme;
@@ -657,6 +668,8 @@ interface ColorFieldOpts {
657
668
  onVal: (v: string) => void;
658
669
  id?: string;
659
670
  popover?: Pick<PopoverOptions, 'host' | 'position' | 'boundary' | 'zIndex' | 'gap' | 'align'>;
671
+ /** Opacity-drag commit policy of the popover picker (default `'live'`) — see {@link ColorCommit}. */
672
+ commit?: ColorCommit;
660
673
  }
661
674
  /** Closed-state swatch shape. `circle` is the settings-dialog preview (a square chip
662
675
  * inset from a matching field border); `square` is the compact drawing-chrome swatch. */
@@ -664,6 +677,7 @@ declare function colorField(theme: VelaTheme, getVal: () => string, onVal: (v: s
664
677
  shape?: ColorFieldShape;
665
678
  id?: string;
666
679
  popover?: ColorFieldOpts['popover'];
680
+ commit?: ColorCommit;
667
681
  }): HTMLElement;
668
682
  declare class ColorField {
669
683
  readonly el: HTMLButtonElement;
@@ -672,6 +686,7 @@ declare class ColorField {
672
686
  private readonly onVal;
673
687
  private readonly theme;
674
688
  private readonly popoverOpts;
689
+ private readonly commit;
675
690
  constructor(opts: ColorFieldOpts);
676
691
  private paint;
677
692
  private toggle;
@@ -782,6 +797,8 @@ type FieldControlDesc = {
782
797
  get: () => string;
783
798
  onChange: (v: string) => void;
784
799
  popover?: ColorFieldOpts['popover'];
800
+ /** Opacity-drag commit policy (default `'live'`): `'release'` when `onChange` recomputes rather than repaints. */
801
+ commit?: ColorFieldOpts['commit'];
785
802
  title?: string;
786
803
  } | {
787
804
  kind: 'text';
@@ -981,4 +998,4 @@ declare class CalloutBubble {
981
998
  declare const CALLOUT_STYLE_ID = "vela-ui-callout-bubble";
982
999
  declare const CALLOUT_CSS = "\n.vela-callout {\n display: inline-grid;\n place-items: center;\n border-radius: 50%;\n flex: none;\n line-height: 0;\n box-sizing: border-box;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n}\n.vela-callout[role='button'] { cursor: pointer; }\n.vela-callout svg { display: block; }\n/* The deployed panel \u2014 carries the kit's elevated-card look itself (the popover\n shell is bare positioning chrome). */\n.vela-callout-panel {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 10px 12px;\n max-width: 280px;\n box-sizing: border-box;\n background: var(--vela-surface-elev);\n border: 1px solid var(--vela-border-strong);\n border-radius: 6px;\n box-shadow: var(--vela-shadow);\n color: var(--vela-fg);\n font: var(--vela-font-size-md) var(--vela-font);\n}\n.vela-callout-title { font-weight: 600; color: var(--vela-fg-bright); }\n.vela-callout-text { color: var(--vela-fg-muted); line-height: 1.45; white-space: pre-line; }\n.vela-callout-actions { display: flex; flex-wrap: wrap; gap: 8px; }\n.vela-callout-btn {\n cursor: pointer;\n height: 26px;\n padding: 0 10px;\n border-radius: 5px;\n border: 1px solid var(--vela-border);\n background: transparent;\n color: var(--vela-fg);\n font-size: var(--vela-font-size-md);\n font-family: inherit;\n transition: background var(--vela-dur-fast) ease, color var(--vela-dur-fast) ease, opacity var(--vela-dur-fast) ease, border-color var(--vela-dur-fast) ease;\n}\n.vela-callout-btn:hover { background: var(--vela-hover); color: var(--vela-fg-bright); border-color: var(--vela-fg-muted); }\n.vela-callout-btn-primary { border-color: var(--vela-selected-bg); background: var(--vela-selected-bg); color: var(--vela-selected-fg); }\n.vela-callout-btn-primary:hover { background: var(--vela-selected-bg); color: var(--vela-selected-fg); opacity: 0.85; border-color: var(--vela-selected-bg); }\n";
983
1000
 
984
- export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, type CalloutBubbleOptions, type CalloutBubbleSpec, type CalloutPanel, type CalloutPanelItem, type CalloutPanelRow, ColorField, type ColorFieldOpts, type ColorFieldShape, type ColorPickerController, type ColorPickerControllerOptions, Dialog, type DialogApi, type DialogControllerOptions, type DialogOptions, type DialogService, Drawer, type DrawerApi, type DrawerControllerOptions, type DrawerOptions, type DrawerService, FIELD_FOCUS_CSS, FIELD_FOCUS_RING, FIELD_GAP_PX, type FieldControlDesc, type FieldControlHandle, type FieldGridOptions, type FieldGridVariant, type FieldInlineItem, type FieldLabelSize, type FieldRowOptions, type FieldSectionOptions, type FieldToggleOpts, type GlyphOption, GlyphSelect, type GlyphSelectController, type GlyphSelectControllerOptions, type GlyphSelectOptions, type MachineHandle, Menu, type MenuApi, type MenuControllerOptions, type MenuItemDescriptor, type MenuOptions, type MenuService, type NumberCommit, NumberInput, type NumberInputController, type NumberInputControllerOptions, type NumberInputOptions, type NumberSize, type PlaceArgs, type PlaceResult, Popover, type PopoverAlign, type PopoverBoundary, type PopoverController, type PopoverControllerOptions, type PopoverOptions, type PopoverPosition, type Rect, Select, type SelectController, type SelectControllerOptions, type SelectListPopoverOpts, type SelectOption, type SelectOptions, type SelectSize, Switch, type SwitchController, type SwitchControllerOptions, type SwitchOptions, type SwitchSize, type SwitchTone, TextArea, type TextAreaController, type TextAreaControllerOptions, type TextAreaOptions, type TextAreaSize, TextField, type TextFieldController, type TextFieldControllerOptions, type TextFieldOptions, type TextFieldSize, Tooltip, type TooltipApi, type TooltipControllerOptions, type TooltipOptions, type TooltipService, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, drawerController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, iconEl, injectStyles, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, numberInputController, openPopoverTrigger, openSelectList, overlayScrollbarCss, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, switchController, textAreaController, textFieldController, toggleSelectList, tooltipController, transparencyChecker, viewportRect, widthField, widthFieldOptions, withAlpha };
1001
+ export { CALLOUT_CSS, CALLOUT_STYLE_ID, CalloutBubble, type CalloutBubbleOptions, type CalloutBubbleSpec, type CalloutPanel, type CalloutPanelItem, type CalloutPanelRow, type ColorCommit, ColorField, type ColorFieldOpts, type ColorFieldShape, type ColorPickerController, type ColorPickerControllerOptions, type ColorPickerOptions, Dialog, type DialogApi, type DialogControllerOptions, type DialogOptions, type DialogService, Drawer, type DrawerApi, type DrawerControllerOptions, type DrawerOptions, type DrawerService, FIELD_FOCUS_CSS, FIELD_FOCUS_RING, FIELD_GAP_PX, type FieldControlDesc, type FieldControlHandle, type FieldGridOptions, type FieldGridVariant, type FieldInlineItem, type FieldLabelSize, type FieldRowOptions, type FieldSectionOptions, type FieldToggleOpts, type GlyphOption, GlyphSelect, type GlyphSelectController, type GlyphSelectControllerOptions, type GlyphSelectOptions, type MachineHandle, Menu, type MenuApi, type MenuControllerOptions, type MenuItemDescriptor, type MenuOptions, type MenuService, type NumberCommit, NumberInput, type NumberInputController, type NumberInputControllerOptions, type NumberInputOptions, type NumberSize, type PlaceArgs, type PlaceResult, Popover, type PopoverAlign, type PopoverBoundary, type PopoverController, type PopoverControllerOptions, type PopoverOptions, type PopoverPosition, type Rect, Select, type SelectController, type SelectControllerOptions, type SelectListPopoverOpts, type SelectOption, type SelectOptions, type SelectSize, Switch, type SwitchController, type SwitchControllerOptions, type SwitchOptions, type SwitchSize, type SwitchTone, TextArea, type TextAreaController, type TextAreaControllerOptions, type TextAreaOptions, type TextAreaSize, TextField, type TextFieldController, type TextFieldControllerOptions, type TextFieldOptions, type TextFieldSize, Tooltip, type TooltipApi, type TooltipControllerOptions, type TooltipOptions, type TooltipService, WIDTH_FIELD_OPTIONS, applyPlotOverlayTokens, applyThemeTokens, blendOver, buildColorPicker, buildFieldControl, buildPalette, calloutPanelRows, clampNumber, closeColorPopover, closeOpenPopovers, closeWidthPopover, closesPanel, colorField, colorPickerController, combineColor, decorateSelectScroll, dialogController, drawerController, ensureUIHost, eventDismissedPopover, fieldGrid, fieldGridColumns, fieldRow, fieldSection, fieldSeparator, fillSelectList, glyphSelectController, hslHex, iconEl, injectStyles, insetRect, intersectRects, isPopoverOpen, lineWidthGlyph, menuController, nextUid, numberInputController, openPopoverTrigger, openSelectList, overlayScrollbarCss, placePopover, popoverController, runMachine, selectController, snapToStep, splitColor, switchController, textAreaController, textFieldController, toggleSelectList, tooltipController, transparencyChecker, viewportRect, widthField, widthFieldOptions, withAlpha };
package/dist/ui.js CHANGED
@@ -1,3 +1,3 @@
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';
1
+ export { Drawer, KeymapManager, Tooltip, drawerController, tooltipController } from './chunk-PVGWNF7V.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-WTWGEB7K.js';
3
3
  export { FIELD_FOCUS_CSS, FIELD_FOCUS_RING, iconEl, iconMarkup, injectStyles, overlayScrollbarCss, registerIcon, svg16, svg24, withAlpha } from './chunk-CAFCLMPF.js';