acttrader-charts 1.2.0-beta.9 → 1.3.0-beta.10

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/README.md CHANGED
@@ -152,6 +152,9 @@ const dealingChart = new ChartEngine({
152
152
  container,
153
153
  // "Show chart by" toggle: 'ltp' | 'ask' | 'bid' (candle close/high/low source)
154
154
  tickClosePriceSource: 'ltp',
155
+ // Header dropdown so the user can switch the source on the chart itself
156
+ // (rendered next to the timeframe dropdown; omit to hide):
157
+ priceSourceSelector: ['ltp', 'bid'],
155
158
  // Chart line checkboxes — each price line is independent:
156
159
  showAskLine: true, // Show AskLine
157
160
  showBidLine: true, // Show BidLine
@@ -161,6 +164,11 @@ const dealingChart = new ChartEngine({
161
164
  dealingChart.setShowAskLine(false); // hide the ask line
162
165
  dealingChart.setShowBidLine(true); // show the bid line
163
166
  dealingChart.setShowLtpPrice(true); // show the LTP line
167
+ // Switch the candle source programmatically (e.g. from a trade-settings page);
168
+ // the header dropdown label follows automatically:
169
+ dealingChart.setTickClosePriceSource('bid');
170
+ // A user pick from the dropdown emits `priceSourceChange` — persist it:
171
+ dealingChart.on('priceSourceChange', ({ source }) => saveTradeSetting(source));
164
172
  ```
165
173
 
166
174
  ### Compare symbols
@@ -403,6 +411,7 @@ chart.on('orderLineMoved', ({ label, fromTimestamp, toTimestamp, data }) => {
403
411
  | `labels` | | `DEFAULT_LABELS` | Deep-partial string overrides for i18n/translation |
404
412
  | `tickClosePriceSource` | | `"bid"` | Which price drives live tick close/high/low: `"bid"`, `"ask"`, or `"ltp"` (build candles from the last traded price — exchange/dealing feeds; ticks without a valid LTP fall back to the bid) |
405
413
  | `showLtpPrice` | | unset | Show the LTP marker (dashed price line + axis tag). Unset: shown only in `"ltp"` mode. `true`: always shown when the feed supplies an LTP. `false`: hidden even in `"ltp"` mode (candles still build from the LTP). Toggle at runtime with `chart.setShowLtpPrice(show)` |
414
+ | `priceSourceSelector` | | unset | Show a price-source dropdown in the chart header listing the given sources, e.g. `["ltp", "bid"]` (dealing feeds). A user pick switches the live candle source and emits `priceSourceChange`; sync it programmatically with `chart.setTickClosePriceSource(source)`. Hidden when unset/empty. Default header layout only |
406
415
  | `showBidAskLines` | | `false` | **Deprecated** — show both bid and ask as dashed lines during a live stream. Prefer the per-line checks `showAskLine` / `showBidLine`, which override it when set |
407
416
  | `showAskLine` | | unset | Show the Ask price line (dashed line + axis tag) independently. Unset: legacy `showBidAskLines` behavior. Toggle at runtime with `chart.setShowAskLine(show)` |
408
417
  | `showBidLine` | | unset | Show the Bid price line (dashed line + axis tag) independently. Unset: legacy `showBidAskLines` behavior. Toggle at runtime with `chart.setShowBidLine(show)` |
@@ -684,6 +693,9 @@ chart.loadData(newBars);
684
693
  chart.setSeries(series: SeriesType): this
685
694
  chart.setTheme('dark' | 'light'): this
686
695
  chart.setTimeframe(tf: Timeframe): this // change timeframe and reload data
696
+ chart.setDuration(d: Duration, timeframe?: Timeframe): this // select a duration; pairs the timeframe and reloads
697
+ chart.getDuration(): Duration | null // currently selected duration
698
+ chart.setBracketLabelMode(mode, currencySymbol?): this // SL/TP pills: 'price' (default) or 'amount'
687
699
  chart.setThemeOverrides(overrides: ThemeOverrides): this // update per-theme color overrides at runtime
688
700
  chart.setTimezone(tz: string): this // change display timezone at runtime
689
701
  chart.setVolume(show: boolean): this
@@ -888,6 +900,37 @@ Sub-pane heights are user-resizable by dragging the separator between panes.
888
900
  | `flatChannel` | Flat Channel | 2 clicks |
889
901
  | `disjointChannel` | Disjoint Channel | 3 clicks |
890
902
 
903
+ ### SL/TP bracket labels — price or amount
904
+
905
+ By default an SL/TP pill reads `SL 4159.00`. With `bracketLabelMode: 'amount'`
906
+ it reads `SL -$290.80` — the money the position gains or loses if that bracket
907
+ is hit, currency symbol in front.
908
+
909
+ The chart has no access to contract specs or the account currency, so each level
910
+ supplies what the maths needs:
911
+
912
+ ```ts
913
+ new ChartEngine({ container, bracketLabelMode: 'amount', currencySymbol: '$' });
914
+
915
+ chart.setLevels([{
916
+ label: 'POS-1', price: 4173.54, side: 'buy', lots: 0.20,
917
+ stopLossPrice: 4159.00, takeProfitPrice: 4183.00,
918
+ contractSize: 100, // units per lot (100 for XAUUSD, 100000 for most FX)
919
+ valuePerPoint: 1, // account-currency value of one price unit
920
+ currencySymbol: '$', // optional per-level override
921
+ }], 'label', 'price', 'position');
922
+ // pills render: SL -$290.80 TP +$189.20
923
+ ```
924
+
925
+ ```
926
+ amount = (bracket − entry) × direction × lots × contractSize × valuePerPoint
927
+ ```
928
+
929
+ `valuePerPoint` is where a quote → account currency conversion goes. A level
930
+ missing `lots` or `contractSize` keeps showing its price, so a partial rollout
931
+ degrades level by level rather than rendering `NaN`. Toggle at runtime with
932
+ `chart.setBracketLabelMode('amount')`.
933
+
891
934
  ### Fibonacci & Gann
892
935
 
893
936
  `fibRetracement` · `fibExtension` · `fibChannel` · `fibTimezone` · `fibCircles` · `fibSpiral` · `fibFan` · `fibProjection` · `gannFan` · `gannSquare` · `gannBox`
@@ -952,6 +995,7 @@ chart.on('pan', ({ viewport }) => {});
952
995
  chart.on('timeframeChange',({ timeframe }) => {});
953
996
  chart.on('durationChange', ({ duration, timeframe }) => {});
954
997
  chart.on('seriesChange', ({ series }) => {});
998
+ chart.on('priceSourceChange', ({ source }) => {}); // header BID/ASK/LTP dropdown pick
955
999
  chart.on('streamStatus', ({ status }) => {}); // 'connected' | 'reconnecting' | 'disconnected'
956
1000
  chart.on('dataLoaded', ({ timeframe, interval, start, end }) => {});
957
1001
  chart.on('newBar', ({ completedBar, openingBar, intervalMs }) => {});
@@ -856,6 +856,14 @@ interface ChartConfig {
856
856
  * mode (candles still build from the LTP).
857
857
  */
858
858
  showLtpPrice?: boolean;
859
+ /**
860
+ * Show a price-source dropdown in the chart header listing the given
861
+ * sources (e.g. `['ltp', 'bid']` for dealing feeds). Selecting an option
862
+ * switches `tickClosePriceSource` at runtime and emits `priceSourceChange`
863
+ * so the host can persist the choice. Hidden when unset or empty.
864
+ * Rendered by the default header layout.
865
+ */
866
+ priceSourceSelector?: Array<'bid' | 'ask' | 'ltp'>;
859
867
  /**
860
868
  * When the combined count of open positions and pending orders exceeds this
861
869
  * number, the position render style auto-defaults to `'dot'` (compact).
@@ -1001,6 +1009,24 @@ interface ChartConfig {
1001
1009
  * Clamped to `[1, 3]`. Default: `1`.
1002
1010
  */
1003
1011
  tradeLevelButtonScale?: number;
1012
+ /**
1013
+ * What the SL/TP bracket pills show.
1014
+ *
1015
+ * `'price'` (default) renders the bracket price — `SL 4159.00`.
1016
+ * `'amount'` renders the money the position gains or loses if that bracket
1017
+ * is hit — `SL -$290.80` — computed from the level's `lots`, `contractSize`
1018
+ * and `valuePerPoint`. Falls back to the price for any level lacking the
1019
+ * data needed to compute it, so a partial rollout degrades gracefully.
1020
+ * `'priceAndAmount'` keeps the price but puts the currency symbol in front
1021
+ * of it — `SL $1.27859` — and appends the P/L while the bracket is being
1022
+ * dragged: `SL $1.27859 -$29.08`.
1023
+ */
1024
+ bracketLabelMode?: 'price' | 'amount' | 'priceAndAmount';
1025
+ /**
1026
+ * Currency symbol for SL/TP amounts, used when `bracketLabelMode: 'amount'`
1027
+ * and the level does not carry its own `currencySymbol`. Default `'$'`.
1028
+ */
1029
+ currencySymbol?: string;
1004
1030
  /**
1005
1031
  * When `true`, a theme toggle (Dark / Light) is shown in the Settings dialog.
1006
1032
  * Default: `false` — the toggle is hidden.
@@ -1226,6 +1252,15 @@ interface DrawingPoint {
1226
1252
  interface DrawingHandle {
1227
1253
  pointIndex: number;
1228
1254
  cursor: string;
1255
+ /**
1256
+ * Corners that are a mixture of two stored points — a rectangle's top-right
1257
+ * is `(p2.barIndex, p1.price)` — set these instead of relying on
1258
+ * `pointIndex` alone. The drag then writes the x to `points[xPointIndex]`
1259
+ * and the y to `points[yPointIndex]`, which is what makes all four corners
1260
+ * of a two-point shape draggable rather than just the two stored ones.
1261
+ */
1262
+ xPointIndex?: number;
1263
+ yPointIndex?: number;
1229
1264
  }
1230
1265
  /** Base per-instance style fields applicable to every drawing. */
1231
1266
  interface DrawingStyle {
@@ -1429,6 +1464,12 @@ type ChartEventMap = {
1429
1464
  seriesChange: {
1430
1465
  series: SeriesType;
1431
1466
  };
1467
+ /** Emitted when the user picks a price source (BID / ASK / LTP) from the
1468
+ * header dropdown (`priceSourceSelector`). Not emitted for programmatic
1469
+ * `setTickClosePriceSource()` calls. */
1470
+ priceSourceChange: {
1471
+ source: 'bid' | 'ask' | 'ltp';
1472
+ };
1432
1473
  streamStatus: {
1433
1474
  status: StreamStatus;
1434
1475
  };
@@ -1748,6 +1789,23 @@ interface PositionLevel {
1748
1789
  takeProfitPrice?: number;
1749
1790
  /** Data object for the TP bracket — returned in TP-related events instead of the parent's `data`. */
1750
1791
  takeProfitData?: unknown;
1792
+ /**
1793
+ * Units per lot for this instrument (e.g. `100` for XAUUSD, `100000` for most
1794
+ * FX pairs). Only used when `bracketLabelMode: 'amount'`, to convert an SL/TP
1795
+ * price distance into money. Default `1`.
1796
+ */
1797
+ contractSize?: number;
1798
+ /**
1799
+ * Account-currency value of one price unit per contract unit — folds in any
1800
+ * quote → account conversion. Only used when `bracketLabelMode: 'amount'`.
1801
+ * Default `1`.
1802
+ */
1803
+ valuePerPoint?: number;
1804
+ /**
1805
+ * Currency symbol for this level's SL/TP amounts. Falls back to
1806
+ * `ChartConfig.currencySymbol`, then `'$'`.
1807
+ */
1808
+ currencySymbol?: string;
1751
1809
  /**
1752
1810
  * When true, the entry price line becomes draggable — renders a grip handle and emits
1753
1811
  * `tradeLevelEdit` with `field: 'main'` on confirm. Use this for pending entry orders
@@ -1901,4 +1959,4 @@ declare class MACD implements IIndicator {
1901
1959
  render(ctx: CanvasRenderingContext2D, results: IndicatorResult[], scale: ScaleManager, viewport: Viewport, paneHeight: number, rangeOverride?: PriceRange): void;
1902
1960
  }
1903
1961
 
1904
- export { type DrawingToolbarUiConfig as $, type AnyDrawingStyle as A, BollingerBands as B, type ChartConfig as C, type DrawingToolType as D, DEFAULT_CROSSHAIR_CONFIG as E, DEFAULT_DRAWING_TOOLBAR_CONFIG as F, DEFAULT_INDICATOR_OVERLAY_CONFIG as G, DEFAULT_LABELS as H, type IIndicator as I, DEFAULT_LAYOUT_SYNC as J, DEFAULT_PRICE_AXIS_CONFIG as K, type LayoutSyncState as L, DEFAULT_TIME_AXIS_CONFIG as M, DEFAULT_TOP_BAR_CONFIG as N, type OHLCVBar as O, type PriceRange as P, DEFAULT_TRADE_BUTTON_CONFIG as Q, DEFAULT_UI_CONFIG as R, type SeriesType as S, type Timeframe as T, type DataLoaderParams as U, type Viewport as V, type DeepPartial$1 as W, type DeepPartialChartTheme as X, type DialogLabels as Y, type DrawingToolbarColors as Z, type DrawingToolbarLabels as _, type IndicatorParams as a, type Duration as a0, EMA as a1, type IndicatorOverlayColors as a2, type IndicatorOverlayUiConfig as a3, type IndicatorResult as a4, type IndicatorStateEntry as a5, LAYOUT_PRESETS as a6, LIGHT_THEME as a7, type LayoutPreset as a8, MACD as a9, getAllPresets as aA, getCustomPresets as aB, getPreset as aC, registerCustomPreset as aD, resolveCssVarsInTheme as aE, resolveLabels as aF, resolveUiConfig as aG, unregisterCustomPreset as aH, type PriceSource as aI, type OhlcLabels as aa, type OrderSubmit as ab, PRESETS_BY_COUNT as ac, PRESET_COUNTS as ad, PRESET_LABEL as ae, type Padding as af, type PendingOrderLevel as ag, type PositionLevel as ah, type PositionRenderStyle as ai, type PriceAxisUiConfig as aj, RSI as ak, SMA as al, type Theme as am, type ThemeOverrides as an, type TimeAxisUiConfig as ao, type TopBarColors as ap, type TopBarLabels as aq, type TopBarUiConfig as ar, type TradeButtonUiConfig as as, type TradeDisplayFilter as at, type TradeLabels as au, type TradeLevel as av, type TradeLevelColors as aw, type TradePanelColors as ax, type UiConfig as ay, deepMergeTheme as az, type ChartEventMap as b, type ChartState as c, type IDrawing as d, type IWebSocketAdapter as e, type TradeLevelType as f, type ChartTheme as g, type AnyLevel as h, type DrawingPoint as i, ScaleManager as j, type DrawingHandle as k, type SerializedDrawing as l, type Tick as m, type StreamStatus as n, type ActiveIndicatorState as o, type BottomBarColors as p, type BottomBarLabels as q, type BottomBarUiConfig as r, type CanvasColorSettings as s, type ChartLabels as t, type ChartMiscLabels as u, type ChartThemeUi as v, type CrosshairPosition as w, type CrosshairUiConfig as x, DARK_THEME as y, DEFAULT_BOTTOM_BAR_CONFIG as z };
1962
+ export { type DrawingToolbarLabels as $, type AnyDrawingStyle as A, BollingerBands as B, type ChartConfig as C, type Duration as D, DEFAULT_BOTTOM_BAR_CONFIG as E, DEFAULT_CROSSHAIR_CONFIG as F, DEFAULT_DRAWING_TOOLBAR_CONFIG as G, DEFAULT_INDICATOR_OVERLAY_CONFIG as H, type IIndicator as I, DEFAULT_LABELS as J, DEFAULT_LAYOUT_SYNC as K, type LayoutSyncState as L, DEFAULT_PRICE_AXIS_CONFIG as M, DEFAULT_TIME_AXIS_CONFIG as N, type OHLCVBar as O, type PriceRange as P, DEFAULT_TOP_BAR_CONFIG as Q, DEFAULT_TRADE_BUTTON_CONFIG as R, type SeriesType as S, type Timeframe as T, DEFAULT_UI_CONFIG as U, type Viewport as V, type DataLoaderParams as W, type DeepPartial$1 as X, type DeepPartialChartTheme as Y, type DialogLabels as Z, type DrawingToolbarColors as _, type IndicatorParams as a, type DrawingToolbarUiConfig as a0, EMA as a1, type IndicatorOverlayColors as a2, type IndicatorOverlayUiConfig as a3, type IndicatorResult as a4, type IndicatorStateEntry as a5, LAYOUT_PRESETS as a6, LIGHT_THEME as a7, type LayoutPreset as a8, MACD as a9, getAllPresets as aA, getCustomPresets as aB, getPreset as aC, registerCustomPreset as aD, resolveCssVarsInTheme as aE, resolveLabels as aF, resolveUiConfig as aG, unregisterCustomPreset as aH, type PriceSource as aI, type OhlcLabels as aa, type OrderSubmit as ab, PRESETS_BY_COUNT as ac, PRESET_COUNTS as ad, PRESET_LABEL as ae, type Padding as af, type PendingOrderLevel as ag, type PositionLevel as ah, type PositionRenderStyle as ai, type PriceAxisUiConfig as aj, RSI as ak, SMA as al, type Theme as am, type ThemeOverrides as an, type TimeAxisUiConfig as ao, type TopBarColors as ap, type TopBarLabels as aq, type TopBarUiConfig as ar, type TradeButtonUiConfig as as, type TradeDisplayFilter as at, type TradeLabels as au, type TradeLevel as av, type TradeLevelColors as aw, type TradePanelColors as ax, type UiConfig as ay, deepMergeTheme as az, type ChartEventMap as b, type ChartState as c, type DrawingToolType as d, type IDrawing as e, type IWebSocketAdapter as f, type TradeLevelType as g, type ChartTheme as h, type AnyLevel as i, type DrawingPoint as j, type DrawingHandle as k, ScaleManager as l, type SerializedDrawing as m, type Tick as n, type StreamStatus as o, type ActiveIndicatorState as p, type BottomBarColors as q, type BottomBarLabels as r, type BottomBarUiConfig as s, type CanvasColorSettings as t, type ChartLabels as u, type ChartMiscLabels as v, type ChartThemeUi as w, type CrosshairPosition as x, type CrosshairUiConfig as y, DARK_THEME as z };
@@ -856,6 +856,14 @@ interface ChartConfig {
856
856
  * mode (candles still build from the LTP).
857
857
  */
858
858
  showLtpPrice?: boolean;
859
+ /**
860
+ * Show a price-source dropdown in the chart header listing the given
861
+ * sources (e.g. `['ltp', 'bid']` for dealing feeds). Selecting an option
862
+ * switches `tickClosePriceSource` at runtime and emits `priceSourceChange`
863
+ * so the host can persist the choice. Hidden when unset or empty.
864
+ * Rendered by the default header layout.
865
+ */
866
+ priceSourceSelector?: Array<'bid' | 'ask' | 'ltp'>;
859
867
  /**
860
868
  * When the combined count of open positions and pending orders exceeds this
861
869
  * number, the position render style auto-defaults to `'dot'` (compact).
@@ -1001,6 +1009,24 @@ interface ChartConfig {
1001
1009
  * Clamped to `[1, 3]`. Default: `1`.
1002
1010
  */
1003
1011
  tradeLevelButtonScale?: number;
1012
+ /**
1013
+ * What the SL/TP bracket pills show.
1014
+ *
1015
+ * `'price'` (default) renders the bracket price — `SL 4159.00`.
1016
+ * `'amount'` renders the money the position gains or loses if that bracket
1017
+ * is hit — `SL -$290.80` — computed from the level's `lots`, `contractSize`
1018
+ * and `valuePerPoint`. Falls back to the price for any level lacking the
1019
+ * data needed to compute it, so a partial rollout degrades gracefully.
1020
+ * `'priceAndAmount'` keeps the price but puts the currency symbol in front
1021
+ * of it — `SL $1.27859` — and appends the P/L while the bracket is being
1022
+ * dragged: `SL $1.27859 -$29.08`.
1023
+ */
1024
+ bracketLabelMode?: 'price' | 'amount' | 'priceAndAmount';
1025
+ /**
1026
+ * Currency symbol for SL/TP amounts, used when `bracketLabelMode: 'amount'`
1027
+ * and the level does not carry its own `currencySymbol`. Default `'$'`.
1028
+ */
1029
+ currencySymbol?: string;
1004
1030
  /**
1005
1031
  * When `true`, a theme toggle (Dark / Light) is shown in the Settings dialog.
1006
1032
  * Default: `false` — the toggle is hidden.
@@ -1226,6 +1252,15 @@ interface DrawingPoint {
1226
1252
  interface DrawingHandle {
1227
1253
  pointIndex: number;
1228
1254
  cursor: string;
1255
+ /**
1256
+ * Corners that are a mixture of two stored points — a rectangle's top-right
1257
+ * is `(p2.barIndex, p1.price)` — set these instead of relying on
1258
+ * `pointIndex` alone. The drag then writes the x to `points[xPointIndex]`
1259
+ * and the y to `points[yPointIndex]`, which is what makes all four corners
1260
+ * of a two-point shape draggable rather than just the two stored ones.
1261
+ */
1262
+ xPointIndex?: number;
1263
+ yPointIndex?: number;
1229
1264
  }
1230
1265
  /** Base per-instance style fields applicable to every drawing. */
1231
1266
  interface DrawingStyle {
@@ -1429,6 +1464,12 @@ type ChartEventMap = {
1429
1464
  seriesChange: {
1430
1465
  series: SeriesType;
1431
1466
  };
1467
+ /** Emitted when the user picks a price source (BID / ASK / LTP) from the
1468
+ * header dropdown (`priceSourceSelector`). Not emitted for programmatic
1469
+ * `setTickClosePriceSource()` calls. */
1470
+ priceSourceChange: {
1471
+ source: 'bid' | 'ask' | 'ltp';
1472
+ };
1432
1473
  streamStatus: {
1433
1474
  status: StreamStatus;
1434
1475
  };
@@ -1748,6 +1789,23 @@ interface PositionLevel {
1748
1789
  takeProfitPrice?: number;
1749
1790
  /** Data object for the TP bracket — returned in TP-related events instead of the parent's `data`. */
1750
1791
  takeProfitData?: unknown;
1792
+ /**
1793
+ * Units per lot for this instrument (e.g. `100` for XAUUSD, `100000` for most
1794
+ * FX pairs). Only used when `bracketLabelMode: 'amount'`, to convert an SL/TP
1795
+ * price distance into money. Default `1`.
1796
+ */
1797
+ contractSize?: number;
1798
+ /**
1799
+ * Account-currency value of one price unit per contract unit — folds in any
1800
+ * quote → account conversion. Only used when `bracketLabelMode: 'amount'`.
1801
+ * Default `1`.
1802
+ */
1803
+ valuePerPoint?: number;
1804
+ /**
1805
+ * Currency symbol for this level's SL/TP amounts. Falls back to
1806
+ * `ChartConfig.currencySymbol`, then `'$'`.
1807
+ */
1808
+ currencySymbol?: string;
1751
1809
  /**
1752
1810
  * When true, the entry price line becomes draggable — renders a grip handle and emits
1753
1811
  * `tradeLevelEdit` with `field: 'main'` on confirm. Use this for pending entry orders
@@ -1901,4 +1959,4 @@ declare class MACD implements IIndicator {
1901
1959
  render(ctx: CanvasRenderingContext2D, results: IndicatorResult[], scale: ScaleManager, viewport: Viewport, paneHeight: number, rangeOverride?: PriceRange): void;
1902
1960
  }
1903
1961
 
1904
- export { type DrawingToolbarUiConfig as $, type AnyDrawingStyle as A, BollingerBands as B, type ChartConfig as C, type DrawingToolType as D, DEFAULT_CROSSHAIR_CONFIG as E, DEFAULT_DRAWING_TOOLBAR_CONFIG as F, DEFAULT_INDICATOR_OVERLAY_CONFIG as G, DEFAULT_LABELS as H, type IIndicator as I, DEFAULT_LAYOUT_SYNC as J, DEFAULT_PRICE_AXIS_CONFIG as K, type LayoutSyncState as L, DEFAULT_TIME_AXIS_CONFIG as M, DEFAULT_TOP_BAR_CONFIG as N, type OHLCVBar as O, type PriceRange as P, DEFAULT_TRADE_BUTTON_CONFIG as Q, DEFAULT_UI_CONFIG as R, type SeriesType as S, type Timeframe as T, type DataLoaderParams as U, type Viewport as V, type DeepPartial$1 as W, type DeepPartialChartTheme as X, type DialogLabels as Y, type DrawingToolbarColors as Z, type DrawingToolbarLabels as _, type IndicatorParams as a, type Duration as a0, EMA as a1, type IndicatorOverlayColors as a2, type IndicatorOverlayUiConfig as a3, type IndicatorResult as a4, type IndicatorStateEntry as a5, LAYOUT_PRESETS as a6, LIGHT_THEME as a7, type LayoutPreset as a8, MACD as a9, getAllPresets as aA, getCustomPresets as aB, getPreset as aC, registerCustomPreset as aD, resolveCssVarsInTheme as aE, resolveLabels as aF, resolveUiConfig as aG, unregisterCustomPreset as aH, type PriceSource as aI, type OhlcLabels as aa, type OrderSubmit as ab, PRESETS_BY_COUNT as ac, PRESET_COUNTS as ad, PRESET_LABEL as ae, type Padding as af, type PendingOrderLevel as ag, type PositionLevel as ah, type PositionRenderStyle as ai, type PriceAxisUiConfig as aj, RSI as ak, SMA as al, type Theme as am, type ThemeOverrides as an, type TimeAxisUiConfig as ao, type TopBarColors as ap, type TopBarLabels as aq, type TopBarUiConfig as ar, type TradeButtonUiConfig as as, type TradeDisplayFilter as at, type TradeLabels as au, type TradeLevel as av, type TradeLevelColors as aw, type TradePanelColors as ax, type UiConfig as ay, deepMergeTheme as az, type ChartEventMap as b, type ChartState as c, type IDrawing as d, type IWebSocketAdapter as e, type TradeLevelType as f, type ChartTheme as g, type AnyLevel as h, type DrawingPoint as i, ScaleManager as j, type DrawingHandle as k, type SerializedDrawing as l, type Tick as m, type StreamStatus as n, type ActiveIndicatorState as o, type BottomBarColors as p, type BottomBarLabels as q, type BottomBarUiConfig as r, type CanvasColorSettings as s, type ChartLabels as t, type ChartMiscLabels as u, type ChartThemeUi as v, type CrosshairPosition as w, type CrosshairUiConfig as x, DARK_THEME as y, DEFAULT_BOTTOM_BAR_CONFIG as z };
1962
+ export { type DrawingToolbarLabels as $, type AnyDrawingStyle as A, BollingerBands as B, type ChartConfig as C, type Duration as D, DEFAULT_BOTTOM_BAR_CONFIG as E, DEFAULT_CROSSHAIR_CONFIG as F, DEFAULT_DRAWING_TOOLBAR_CONFIG as G, DEFAULT_INDICATOR_OVERLAY_CONFIG as H, type IIndicator as I, DEFAULT_LABELS as J, DEFAULT_LAYOUT_SYNC as K, type LayoutSyncState as L, DEFAULT_PRICE_AXIS_CONFIG as M, DEFAULT_TIME_AXIS_CONFIG as N, type OHLCVBar as O, type PriceRange as P, DEFAULT_TOP_BAR_CONFIG as Q, DEFAULT_TRADE_BUTTON_CONFIG as R, type SeriesType as S, type Timeframe as T, DEFAULT_UI_CONFIG as U, type Viewport as V, type DataLoaderParams as W, type DeepPartial$1 as X, type DeepPartialChartTheme as Y, type DialogLabels as Z, type DrawingToolbarColors as _, type IndicatorParams as a, type DrawingToolbarUiConfig as a0, EMA as a1, type IndicatorOverlayColors as a2, type IndicatorOverlayUiConfig as a3, type IndicatorResult as a4, type IndicatorStateEntry as a5, LAYOUT_PRESETS as a6, LIGHT_THEME as a7, type LayoutPreset as a8, MACD as a9, getAllPresets as aA, getCustomPresets as aB, getPreset as aC, registerCustomPreset as aD, resolveCssVarsInTheme as aE, resolveLabels as aF, resolveUiConfig as aG, unregisterCustomPreset as aH, type PriceSource as aI, type OhlcLabels as aa, type OrderSubmit as ab, PRESETS_BY_COUNT as ac, PRESET_COUNTS as ad, PRESET_LABEL as ae, type Padding as af, type PendingOrderLevel as ag, type PositionLevel as ah, type PositionRenderStyle as ai, type PriceAxisUiConfig as aj, RSI as ak, SMA as al, type Theme as am, type ThemeOverrides as an, type TimeAxisUiConfig as ao, type TopBarColors as ap, type TopBarLabels as aq, type TopBarUiConfig as ar, type TradeButtonUiConfig as as, type TradeDisplayFilter as at, type TradeLabels as au, type TradeLevel as av, type TradeLevelColors as aw, type TradePanelColors as ax, type UiConfig as ay, deepMergeTheme as az, type ChartEventMap as b, type ChartState as c, type DrawingToolType as d, type IDrawing as e, type IWebSocketAdapter as f, type TradeLevelType as g, type ChartTheme as h, type AnyLevel as i, type DrawingPoint as j, type DrawingHandle as k, ScaleManager as l, type SerializedDrawing as m, type Tick as n, type StreamStatus as o, type ActiveIndicatorState as p, type BottomBarColors as q, type BottomBarLabels as r, type BottomBarUiConfig as s, type CanvasColorSettings as t, type ChartLabels as u, type ChartMiscLabels as v, type ChartThemeUi as w, type CrosshairPosition as x, type CrosshairUiConfig as y, DARK_THEME as z };