openalgo-charts 2.2.0 → 2.2.1

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
@@ -4,12 +4,12 @@
4
4
 
5
5
  **A from-scratch, dependency-free HTML5-canvas charting engine for OpenAlgo.**
6
6
 
7
- Professional interactive charts, 102 built-in indicators plus your own custom ones, 85 drawing tools, order flow, market replay, linked chart grids, on-chart trading, vector SVG export and an optional WebGL2 backend. Eight lazy-loaded tiers, zero runtime dependencies, 76.22 KB Brotli for the base engine, and a one-call widget tier that adds the toolbar, drawing rail, dialogs and shortcuts.
7
+ Professional interactive charts, 102 built-in indicators plus your own custom ones, 85 drawing tools, order flow, market replay, linked chart grids, on-chart trading, vector SVG export and an optional WebGL2 backend. Eight lazy-loaded tiers, zero runtime dependencies, 76.48 KB Brotli for the base engine, and a one-call widget tier that adds the toolbar, drawing rail, dialogs and shortcuts.
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/openalgo-charts.svg?color=cb3837&label=npm)](https://www.npmjs.com/package/openalgo-charts)
10
10
  [![license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
11
- [![bundle](https://img.shields.io/badge/brotli-76.22%20KB%20base%20%C2%B7%20212.52%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
- [![tests](https://img.shields.io/badge/tests-5142%20passing-brightgreen.svg)](#develop)
11
+ [![bundle](https://img.shields.io/badge/brotli-76.48%20KB%20base%20%C2%B7%20213.16%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
+ [![tests](https://img.shields.io/badge/tests-5150%20passing-brightgreen.svg)](#develop)
13
13
  [![dependencies](https://img.shields.io/badge/runtime%20deps-0-brightgreen.svg)](#principles)
14
14
 
15
15
  [**Documentation**](https://marketcalls.github.io/openalgo-charts/)  ·  [**Live examples**](https://marketcalls.github.io/openalgo-charts/examples)  ·  [**Getting started**](./docs/getting-started.md)  ·  [**Migrating to 2.0**](./docs/migrating-to-2.md)  ·  [**Architecture**](./ARCHITECTURE.md)
@@ -43,14 +43,14 @@ Every chart in the [live gallery](https://marketcalls.github.io/openalgo-charts/
43
43
 
44
44
  ## Install
45
45
 
46
- Current version: **2.2.0**.
46
+ Current version: **2.2.1**.
47
47
 
48
48
  This release expands the drawing catalogue to 85 tools with pitchforks, regression
49
49
  channels, advanced Fibonacci and Gann geometry, and harmonic and Elliott patterns.
50
50
  It adds guided multi-point placement and an editable sample gallery while keeping
51
51
  saved drawing documents compatible. See the
52
52
  [drawing guide](https://marketcalls.github.io/openalgo-charts/docs/drawing-tools/)
53
- and the [2.2.0 changelog](./CHANGELOG.md#220).
53
+ and the [2.2.1 changelog](./CHANGELOG.md#221).
54
54
 
55
55
  ```bash
56
56
  npm install openalgo-charts
@@ -79,7 +79,7 @@ in front of npm rather than being places you upload to. A chart is one HTML file
79
79
  ```html
80
80
  <div id="chart" style="width:100vw;height:100vh"></div>
81
81
  <script type="module">
82
- import { createChart } from 'https://unpkg.com/openalgo-charts@2.2.0/dist/openalgo-charts.mjs';
82
+ import { createChart } from 'https://unpkg.com/openalgo-charts@2.2.1/dist/openalgo-charts.mjs';
83
83
  const chart = createChart(document.getElementById('chart'), { timezone: 'Asia/Kolkata' });
84
84
  chart.addSeries('candlestick').setData(bars);
85
85
  </script>
@@ -119,16 +119,16 @@ Import only what you use. Each tier is a separate bundle that registers into the
119
119
 
120
120
  | Import | Contents | Brotli |
121
121
  |---|---|---|
122
- | `openalgo-charts` | Engine, 13 chart types, panes &amp; scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, SVG export, render backend port, OpenAlgo feeds | 76.22 KB |
123
- | `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 28.05 KB |
122
+ | `openalgo-charts` | Engine, 13 chart types, panes &amp; scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, SVG export, render backend port, OpenAlgo feeds | 76.48 KB |
123
+ | `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 28.19 KB |
124
124
  | `openalgo-charts/draw` | 85 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 34.49 KB |
125
125
  | `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point &amp; Figure, Kagi | 2.66 KB |
126
126
  | `openalgo-charts/profile` | Volume Profile, Market Profile (TPO) with compact pixel letters, Footprint, order flow | 14.96 KB |
127
127
  | `openalgo-charts/trade` | Order / position / bracket tools + DOM ladder | 7.61 KB |
128
128
  | `openalgo-charts/webgl` | WebGL2 series backend: batched, analytically anti-aliased GPU rendering of the standard chart types behind `renderer: 'auto'`, with a session-long fallback to the 2D path | 6.38 KB |
129
- | `openalgo-charts/widget` | The chart with its chrome in one call: `createWidget` adds a top bar, the drawing rail, a status line, the settings and indicator dialogs, drawing properties, a right-click menu, a keymap with a `?` panel and optional layout persistence. The only tier that ships DOM | 42.16 KB |
129
+ | `openalgo-charts/widget` | The chart with its chrome in one call: `createWidget` adds a top bar, the drawing rail, a status line, the settings and indicator dialogs, drawing properties, a right-click menu, a keymap with a `?` panel and optional layout persistence. The only tier that ships DOM | 42.40 KB |
130
130
 
131
- Everything together is **212.52 KB Brotli**; a widget terminal (base + draw + indicators + widget, what one `createWidget` call loads) is 180.92 KB. Figures are measured from the 2.2.0 release build. The trade tier is listed as its delta over the base, so loading base + trade costs 83.83 KB.
131
+ Everything together is **213.16 KB Brotli**; a widget terminal (base + draw + indicators + widget, what one `createWidget` call loads) is 181.55 KB. Figures are measured from the 2.2.1 release build. The trade tier is listed as its delta over the base, so loading base + trade costs 84.09 KB.
132
132
 
133
133
  ## What's built
134
134
 
@@ -420,16 +420,16 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
420
420
 
421
421
  | Bundle | Limit | Actual |
422
422
  |---|---|---|
423
- | Base engine | 77 KB | 76.22 KB |
424
- | Base + trade | 85 KB | 83.83 KB |
425
- | Indicators tier | 30 KB | 28.05 KB |
423
+ | Base engine | 77 KB | 76.48 KB |
424
+ | Base + trade | 85 KB | 84.09 KB |
425
+ | Indicators tier | 30 KB | 28.19 KB |
426
426
  | Draw tier | 36 KB | 34.49 KB |
427
427
  | Transform tier | 5 KB | 2.66 KB |
428
428
  | Profile tier | 15 KB | 14.96 KB |
429
429
  | WebGL2 tier | 7 KB | 6.38 KB |
430
- | Widget tier | 43 KB | 42.16 KB |
431
- | Widget terminal (base + draw + indicators + widget) | 183 KB | 180.92 KB |
432
- | **Everything** | 215 KB | 212.52 KB |
430
+ | Widget tier | 43 KB | 42.40 KB |
431
+ | Widget terminal (base + draw + indicators + widget) | 183 KB | 181.55 KB |
432
+ | **Everything** | 215 KB | 213.16 KB |
433
433
 
434
434
  ## Documentation
435
435
 
@@ -474,7 +474,7 @@ See [Contributing](./CONTRIBUTING.md) for setup, targeted checks, documentation
474
474
  ```bash
475
475
  npm install # install dev toolchain
476
476
  npm run typecheck # strict TypeScript check
477
- npm test # unit tests (vitest) - 5142 across 207 files
477
+ npm test # unit tests (vitest) - 5150 across 207 files
478
478
  npm run build # Rollup -> dist/ (minified ESM per tier + types)
479
479
  npm run size # size-limit (Brotli) against the budget
480
480
  npm run e2e # Playwright Chromium smoke tests
@@ -491,7 +491,7 @@ npm run verify # lint + typecheck + test + build + demo tests + dts + size +
491
491
 
492
492
  ## Status &amp; limitations
493
493
 
494
- Version **2.2.0**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
494
+ Version **2.2.1**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
495
495
 
496
496
  Known gaps, stated plainly:
497
497
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Library version string. Matches package.json (including locally prepared releases). */
2
- declare const VERSION = "2.2.0";
2
+ declare const VERSION = "2.2.1";
3
3
  /** Returns the current library version. */
4
4
  declare function version(): string;
5
5
 
@@ -879,6 +879,32 @@ declare class SeriesMarkers implements IPrimitive {
879
879
  * own autoscale) used to pin a volume histogram inside the price pane.
880
880
  */
881
881
  type PriceScaleId = 'right' | 'left' | '';
882
+ /**
883
+ * Value formatting for a price scale (its axis labels and crosshair tag):
884
+ * `price` (tick-size precision), `volume` (compact 1.2K / 3.4M / 5.6B),
885
+ * `percent` (a `%` suffix at a fixed precision), or a `custom` formatter.
886
+ *
887
+ * It lives here rather than beside `addSeries` because an indicator plot names
888
+ * one too, and the model tier cannot reach into the core.
889
+ *
890
+ * `percent` suffixes the value as it stands and does **not** scale it: a study
891
+ * that already returns 0..100 reads `62.24%`, and one that returns a 0..1
892
+ * fraction reads `0.62%`. Scaling here would put the axis and the plotted value
893
+ * into disagreement, which is the one thing a formatter must never do.
894
+ */
895
+ type PriceFormat = {
896
+ type: 'price';
897
+ precision?: number;
898
+ minMove?: number;
899
+ } | {
900
+ type: 'volume';
901
+ } | {
902
+ type: 'percent';
903
+ precision?: number;
904
+ } | {
905
+ type: 'custom';
906
+ formatter: (value: number) => string;
907
+ };
882
908
  interface SeriesRecord {
883
909
  dataId: SeriesId;
884
910
  type: SeriesType;
@@ -1593,7 +1619,16 @@ declare class ChartTable implements IPrimitive {
1593
1619
 
1594
1620
  /** Which price a calculation reads from each bar. */
1595
1621
  type IndicatorSource = 'open' | 'high' | 'low' | 'close' | 'hl2' | 'hlc3' | 'ohlc4' | 'volume';
1596
- /** One tunable input. `type` is what a settings UI renders; the core only reads `key`/`default`. */
1622
+ /**
1623
+ * One tunable input. `type` is what a settings UI renders; the core only reads
1624
+ * `key`/`default`.
1625
+ *
1626
+ * `tooltip` is help text for the row. A label has to stay short enough to fit a
1627
+ * dense panel, which leaves nowhere to say what a parameter actually does, and a
1628
+ * ported study whose every input carried an explanation arrives here with that
1629
+ * explanation dropped. A settings UI renders it as a hover affordance beside the
1630
+ * label; the core ignores it.
1631
+ */
1597
1632
  type IndicatorInput = {
1598
1633
  key: string;
1599
1634
  type: 'number';
@@ -1603,24 +1638,28 @@ type IndicatorInput = {
1603
1638
  max?: number;
1604
1639
  step?: number;
1605
1640
  group?: string;
1641
+ tooltip?: string;
1606
1642
  } | {
1607
1643
  key: string;
1608
1644
  type: 'boolean';
1609
1645
  label: string;
1610
1646
  default: boolean;
1611
1647
  group?: string;
1648
+ tooltip?: string;
1612
1649
  } | {
1613
1650
  key: string;
1614
1651
  type: 'color';
1615
1652
  label: string;
1616
1653
  default: string;
1617
1654
  group?: string;
1655
+ tooltip?: string;
1618
1656
  } | {
1619
1657
  key: string;
1620
1658
  type: 'text';
1621
1659
  label: string;
1622
1660
  default: string;
1623
1661
  group?: string;
1662
+ tooltip?: string;
1624
1663
  } | {
1625
1664
  key: string;
1626
1665
  type: 'select';
@@ -1631,12 +1670,14 @@ type IndicatorInput = {
1631
1670
  value: string;
1632
1671
  }[];
1633
1672
  group?: string;
1673
+ tooltip?: string;
1634
1674
  } | {
1635
1675
  key: string;
1636
1676
  type: 'source';
1637
1677
  label: string;
1638
1678
  default: IndicatorSource;
1639
1679
  group?: string;
1680
+ tooltip?: string;
1640
1681
  };
1641
1682
  /** Dash pattern for a level, a drawing, or a plot. */
1642
1683
  type IndicatorLineStyle = 'solid' | 'dashed' | 'dotted';
@@ -1705,6 +1746,22 @@ interface IndicatorPlot {
1705
1746
  style?: SeriesStyle;
1706
1747
  /** Price axis for this plot. Defaults to 'right'. */
1707
1748
  priceScaleId?: PriceScaleId;
1749
+ /**
1750
+ * Value formatting for the axis and crosshair tag of the scale this plot maps
1751
+ * to: `percent` for a ratio study, `volume` for a cumulative one, `custom` for
1752
+ * anything else.
1753
+ *
1754
+ * Like `style.precision`, this is a property of the **price scale**, not of the
1755
+ * series, so it belongs to a plot that owns its pane. Setting it on an
1756
+ * `'onchart'` plot reformats the instrument's own axis, which is almost never
1757
+ * what a study wants.
1758
+ *
1759
+ * `percent` suffixes the value as it stands and does not scale it, so a study
1760
+ * returning a 0..1 fraction should keep returning it and read `0.62%`. Scaling
1761
+ * inside `calc` to make the axis read better changes the plotted value, and the
1762
+ * legend, the crosshair and every downstream calculation with it.
1763
+ */
1764
+ priceFormat?: PriceFormat;
1708
1765
  /**
1709
1766
  * Draw this one plot on the price pane even though the indicator owns a pane
1710
1767
  * of its own. An oscillator that also wants a signal
@@ -2516,7 +2573,9 @@ interface IndicatorHost {
2516
2573
  removeIndicatorLegend(legend: PaneLegend): void;
2517
2574
  /** How many legends already sit on this pane, so rows stack. */
2518
2575
  legendRowsOn(paneIndex: number): number;
2519
- addIndicatorSeries(type: string, paneIndex: number, style: Record<string, unknown> | undefined, priceScaleId: string | undefined): SeriesApi;
2576
+ addIndicatorSeries(type: string, paneIndex: number, style: Record<string, unknown> | undefined, priceScaleId: string | undefined,
2577
+ /** Axis/crosshair formatting for the scale this plot maps to. */
2578
+ priceFormat?: PriceFormat): SeriesApi;
2520
2579
  /**
2521
2580
  * Add a reference level. One options object rather than seven positional
2522
2581
  * arguments: the list grew a width and a dash style in 1.7.1, and a call site
@@ -3227,6 +3286,8 @@ interface ChartSettingsColorPairInput {
3227
3286
  type: 'colorPair';
3228
3287
  label: string;
3229
3288
  group?: string;
3289
+ /** Help text for the row, on the same terms as `IndicatorInput['tooltip']`. */
3290
+ tooltip?: string;
3230
3291
  enabled?: {
3231
3292
  key: string;
3232
3293
  default: boolean;
@@ -3758,19 +3819,15 @@ interface AddSeriesOptions {
3758
3819
  priceScaleId?: PriceScaleId;
3759
3820
  /**
3760
3821
  * Value formatting applied to this series' price scale (axis + crosshair tag):
3761
- * `price` (tick-size precision), `volume` (compact 1.2K / 3.4M / 5.6B), or a
3762
- * `custom` formatter (currency, percent, ...).
3763
- */
3764
- priceFormat?: {
3765
- type: 'price';
3766
- precision?: number;
3767
- minMove?: number;
3768
- } | {
3769
- type: 'volume';
3770
- } | {
3771
- type: 'custom';
3772
- formatter: (value: number) => string;
3773
- };
3822
+ * `price` (tick-size precision), `volume` (compact 1.2K / 3.4M / 5.6B),
3823
+ * `percent` (a `%` suffix at a fixed precision), or a `custom` formatter.
3824
+ *
3825
+ * `percent` suffixes the value as it stands and does **not** scale it: a study
3826
+ * that already returns 0..100 reads `62.24%`, and one that returns a 0..1
3827
+ * fraction reads `0.62%`. Multiplying here would put the axis and the plotted
3828
+ * value into disagreement, which is the one thing a formatter must never do.
3829
+ */
3830
+ priceFormat?: PriceFormat;
3774
3831
  }
3775
3832
  /** Compact volume/number formatter (1.2K / 3.4M / 5.6B). */
3776
3833
  declare function compactVolume(v: number): string;
@@ -8606,4 +8663,4 @@ declare function lerp(a: number, b: number, t: number): number;
8606
8663
  */
8607
8664
  declare function roundToTick(value: number, step: number): number;
8608
8665
 
8609
- export { ALT_PRESET, type AddSeriesOptions, type AggTick, type AxisChromeOptions, type AxisStyle, BAR_CACHE_VERSION, BUILTIN_COMMANDS, type Bar, BarCache, type BarCacheOptions, type BarCacheStats, type BarCacheStore, type BarSubscriptionOptions, type BarUpdate, type BarsPage, type BarsPageRequest, type BarsRequest, type BrandingChangedEvent, type Bucketing, BuySellButtons, type BuySellButtonsOptions, CHART_STATE_VERSION, type CachedBars, type CachedBarsRequest, type CalendarBucketing, type CalendarUnit, CandleBuilder, type CandleBuilderOptions, type CandleGeometry, type CandleStyle, type CandleTier, type CandleUpdate, Canvas2dBackend, type CanvasLineStyle, type CanvasOptions, Chart, type ChartClickEvent, type ChartDataContext, type ChartDragEndEvent, type ChartDragEvent, type ChartEvent, type ChartEventOptions, type ChartNavigationOptions, type ChartObjectCapabilities, type ChartObjectDefinition, type ChartObjectDrawing, type ChartObjectDrawingSource, type ChartObjectKind, type ChartObjectProvider, type ChartObjectSnapshot, ChartObjects, type ChartObjectsOptions, type ChartOptions, type ChartSettingsColorPairInput, type ChartSettingsInput, type ChartSettingsState, type ChartSettingsTab, type ChartSettingsTabId, type ChartSettingsValue, type ChartSettingsValues, type ChartState, ChartTable, type ChartTableOptions, type ChartTheme, type ChartWatermarkOptions, type ComparisonAlignment, type ComparisonChartHost, ComparisonController, type ComparisonControllerOptions, type ComparisonHandle, type ComparisonMode, type ComparisonOptions, type ComparisonPane, type ContextMenuEvent, type ContextMenuTarget, type ContextMenuTargetKind, type CrosshairMoveEvent, type CrosshairOptions, type CrosshairStyle, type CustomShortcut, DEFAULT_CANDLE_BUILDER_OPTIONS, DEFAULT_CANDLE_STYLE, DEFAULT_CHART_TABLE_OPTIONS, DEFAULT_HISTOGRAM_STYLE, DEFAULT_KEYMAP, DEFAULT_PRICE_SCALE_OPTIONS, DEFAULT_THEME, DEFAULT_TIMEZONE, DEFAULT_TIME_NAVIGATOR_OPTIONS, DEFAULT_TIME_SCALE_OPTIONS, DEFAULT_TRADING_COLORS, DEFAULT_ZOOM_GLIDE_OPTIONS, type DataFeed, DataLayer, DataLoadingController, type DataLoadingOptions, type DataLoadingSnapshot, type DataLoadingStatus, type DataUpdateReason, type DecodedOrder, type DepthLevel, type DoubleClickAction, type DoubleClickEvent, type DrawAnchor, type DrawItem, EventMarkers, type ExportSvgOptions, FakeDataFeed, type FeedScheduler, type FillGradient, type FillPoint, type GridAxisStyle, type GridOptions, type GridStyle, type HistogramStyle, type HistoryLoadingStatus, HistoryRequestPool, type HistoryRequestPoolOptions, INDICATOR_LINE_STYLES, INDICATOR_PLOT_STYLES, INDICATOR_SOURCES, type IPrimitive, type IRenderBackend, IST_OFFSET_SECONDS, type IndexedBar, type IndicatorAlertContext, type IndicatorAlertPayload, type IndicatorAlertSpec, type IndicatorApi, type IndicatorAttachContext, IndicatorBackground, type IndicatorCalcContext, type IndicatorDataChange, type IndicatorDataStatus, type IndicatorDescriptor, type IndicatorDrawing, IndicatorDrawings, IndicatorFill, type IndicatorFillOptions, type IndicatorFillSpec, type IndicatorHost, type IndicatorInput, type IndicatorLevel, type IndicatorLevelContext, type IndicatorLineStyle, type IndicatorPlot, type IndicatorSettings, type IndicatorSource, type IndicatorState, type IndicatorStore, type IndicatorValues, type IntervalBucketing, type IntervalDescriptor, type IntervalParts, InvalidationLevel, type IstParts, type KeymapEntry, LINK_CROSSHAIR_ALPHA, type LateTickPolicy, type LegendField, type LegendStatusData, type LegendStatusLineOptions, type LegendStatusSource, type LegendTitleMode, type LegendValue, type LinePoint, type LinkChart, LinkCrosshair, type LinkDataLayer, LinkGroup, type LinkMemberOptions, type LinkMissingPolicy, type LinkOptions, type LogicalRange, LogoWatermark, type LogoWatermarkOptions, type LtpEvent, type MarkerPosition, type MarkerShape, type MarkerSize, type MarketDepth, type MarketPhase, type MarketPhaseFn, type MaybePromise, type ModeCheck, type OpenAlgoConfig, OpenAlgoDataFeed, type OpenAlgoLiveConfig, OpenAlgoLiveDataFeed, type OpenAlgoTradeConfig, OpenAlgoTradeFeed, type OpenAlgoWsConfig, OpenAlgoWsFeed, type OrderBookSnapshot, type OrderDecodeCode, type OrderDecodeIssue, type OrderDecodeResult, type OrderSide$1 as OrderSide, type OrderType$1 as OrderType, type OrderUpdateEvent, type OriginalTime, PRICE_LEVEL_KINDS, PRICE_SCALE_MODES, Pane, type PaneInvalidation, PaneLegend, type PaneLegendAction, type PaneLegendOptions, type PaneState, type PickHost, type PickKind, type PlaceOrder, type PlotMarginOptions, type PointerInfo, type PointerKind, type PointerModifiers, type PointerSample, type PositionSide, type PriceAxisState, type PriceLevelInput, type PriceLevelKind, type PriceLevelQuote, type PriceLevelStyle, type PriceLevelValues, PriceLevels, type PriceLevelsOptions, PriceLine, type PriceLineOptions, type PriceRange, PriceScale, type PriceScaleId, type PriceScaleMode, type PriceScaleOptions, type PriceScaleState, type PrimitiveAnchor, type PrimitiveHit, type PrimitiveHost, type PrimitivePlacement, type PrimitiveRenderContext, type QuarantinedRow, type RawOrder, type RenderBackendFactory, type RenderBackendKind, type RenderDevice, type RendererChoice, type RendererEntry, type RendererFallbackEvent, type RendererFallbackReason, type ReplayChartHost, ReplayController, type ReplayOptions, type ReplayScheduler, ReplayShade, type ReplayShadeOptions, type ReplayState, type ReplayViewport, type ResolvedLinkOptions, type RestoreReport, SCALE_FONT_MAX, SCALE_FONT_MIN, type ScaleCanvasOptions, type SeriesApi, type SeriesDataItem, type SeriesId, type SeriesMarker, SeriesMarkers, type SeriesRenderContext, type SeriesState, type SeriesStyle, type SeriesType, type SessionSpec, type ShortcutListItem, ShortcutManager, type ShortcutManagerOptions, type ShortcutPreset, type ShortcutScope, type ShortcutTriggerEvent, type Size, type SocketFactory, type SocketLike, type SupertrendPoint, SvgContext, type SvgContextOptions, SvgLinearGradient, type TableCell, type TablePosition, TextWatermark, type TextWatermarkOptions, type Tick, TickBarAggregator, type TickBarOptions, type TickCountBucketing, type TickMarkType, type TickTimeframe, TimeNavigator, type TimeNavigatorAction, type TimeNavigatorOptions, TimeScale, type TimeScaleOp, type TimeScaleOptions, type TradeFeed, type TradeMarkerVariant, TradeMarkersPrimitive, type TradingColors, TradingController, type TradingHost, type TradingLineStyle, type TradingLineVariant, type TradingOrder, type TradingOrderSide, type TradingOrderType, type TradingPosition, type TradingSettings, type TradingSyncPayload, type TradingTrade, type UTCSeconds, UnknownIntervalError, type UnsubscribeFn, VERSION, type VolumeBucketing, type VolumeMode, type WatermarkPosition, type Whitespace, type WsClientWarning, type WsControlMessage, type WsMode, type WsState, type ZOrder, type ZonedParts, type ZonedPeriod, type ZoomAnchor, ZoomGlide, type ZoomGlideOptions, addComparison, alignToPrimary, applyChartSettings, atr, autoscaleRange, backendDegradation, backoffDelayMs, barCacheKey, barCloseSec, beginPick, bestHit, bitmapSize, bucketStartOf, calendarPeriodFlags, candleGeometry, candleTier, chartSettingsSchema, clamp, classifyAuthAck, compactVolume, comparisonController, computePriceLevels, conflateBars, conflateItems, conflationGroupSize, createChart, createLinkGroup, createRenderBackend, darkTheme, dashPattern, decodeOrder, drawLabel, drawShape, effectiveMarkerPx, ema, emaSeries, epochMsToUtcSeconds, eventToCombo, followerIndex, followerRange, formatCombo, formatIstCrosshairLabel, formatIstDate, formatIstTime, formatIstTimeSeconds, formatSubscribe, formatUnsubscribe, formatZonedCrosshairLabel, formatZonedDate, formatZonedTime, formatZonedTimeSeconds, fromGradient, generateBars, getChartType, getIndicator, hasIndicator, inSessionAt, indicatorDefaults, indicatorStyleInputs, intervalParts, intervalToSeconds, isDailyInterval, isIntradayInterval, isKnownInterval, isNewIstDay, isNewZonedDay, isNewZonedMonth, isNewZonedPeriod, isNewZonedQuarter, isNewZonedWeek, isNewZonedYear, isRebasing, isReservedCombo, isSecondsInterval, isTickInterval, isTimeBucketed, isValidCombo, isValidTimezone, isWhitespace, istStringToUtcSeconds, lastPriceLevelFromSeriesStyle, lerp, lightTheme, mapHistoryResponse, mapOrder, mapOrderStatus, mapPosition, markerSizePx, mergeBars, nextBucketStart, niceTicks, normalizeCombo, optimalBarWidth, parseCombo, parseMessage, parseSessionSpec, parseTopic, plotStyleKeys, precisionForStep, readChartSettings, readSequence, registerChartType, registerIndicator, registerInterval, registerRenderBackend, registeredChartTypes, registeredIndicators, registeredIntervals, registeredRenderBackends, resolveCrosshairStyle, resolveGridStyle, resolveInterval, resolvePlotMargins, resolveRenderBackend, resolveScaleStyle, roundToTick, rowTimeToUtcSeconds, rsi, rsiSeries, seriesStyleForLastPriceLevel, sessionFlags, sessionStartFlags, sessionStartIndices, sharedHistoryRequests, snapToDevicePixel, sourceValue, sourceValues, startOfZonedDay, startOfZonedMonth, startOfZonedWeek, supertrend, supertrendSeries, tableOrigin, toBar, trueRange, tryResolveInterval, unregisterInterval, unregisterRenderBackend, utcSecondsToIstDateString, utcSecondsToIstParts, utcSecondsToZonedDateString, utcSecondsToZonedParts, version, verticalGradient, watermarkRect, withAlpha, withBarCache, zoneOffsetSeconds, zonedDayIndex, zonedStringToUtcSeconds, zonedWallClockToUtcSeconds, zonedWeekIndex };
8666
+ export { ALT_PRESET, type AddSeriesOptions, type AggTick, type AxisChromeOptions, type AxisStyle, BAR_CACHE_VERSION, BUILTIN_COMMANDS, type Bar, BarCache, type BarCacheOptions, type BarCacheStats, type BarCacheStore, type BarSubscriptionOptions, type BarUpdate, type BarsPage, type BarsPageRequest, type BarsRequest, type BrandingChangedEvent, type Bucketing, BuySellButtons, type BuySellButtonsOptions, CHART_STATE_VERSION, type CachedBars, type CachedBarsRequest, type CalendarBucketing, type CalendarUnit, CandleBuilder, type CandleBuilderOptions, type CandleGeometry, type CandleStyle, type CandleTier, type CandleUpdate, Canvas2dBackend, type CanvasLineStyle, type CanvasOptions, Chart, type ChartClickEvent, type ChartDataContext, type ChartDragEndEvent, type ChartDragEvent, type ChartEvent, type ChartEventOptions, type ChartNavigationOptions, type ChartObjectCapabilities, type ChartObjectDefinition, type ChartObjectDrawing, type ChartObjectDrawingSource, type ChartObjectKind, type ChartObjectProvider, type ChartObjectSnapshot, ChartObjects, type ChartObjectsOptions, type ChartOptions, type ChartSettingsColorPairInput, type ChartSettingsInput, type ChartSettingsState, type ChartSettingsTab, type ChartSettingsTabId, type ChartSettingsValue, type ChartSettingsValues, type ChartState, ChartTable, type ChartTableOptions, type ChartTheme, type ChartWatermarkOptions, type ComparisonAlignment, type ComparisonChartHost, ComparisonController, type ComparisonControllerOptions, type ComparisonHandle, type ComparisonMode, type ComparisonOptions, type ComparisonPane, type ContextMenuEvent, type ContextMenuTarget, type ContextMenuTargetKind, type CrosshairMoveEvent, type CrosshairOptions, type CrosshairStyle, type CustomShortcut, DEFAULT_CANDLE_BUILDER_OPTIONS, DEFAULT_CANDLE_STYLE, DEFAULT_CHART_TABLE_OPTIONS, DEFAULT_HISTOGRAM_STYLE, DEFAULT_KEYMAP, DEFAULT_PRICE_SCALE_OPTIONS, DEFAULT_THEME, DEFAULT_TIMEZONE, DEFAULT_TIME_NAVIGATOR_OPTIONS, DEFAULT_TIME_SCALE_OPTIONS, DEFAULT_TRADING_COLORS, DEFAULT_ZOOM_GLIDE_OPTIONS, type DataFeed, DataLayer, DataLoadingController, type DataLoadingOptions, type DataLoadingSnapshot, type DataLoadingStatus, type DataUpdateReason, type DecodedOrder, type DepthLevel, type DoubleClickAction, type DoubleClickEvent, type DrawAnchor, type DrawItem, EventMarkers, type ExportSvgOptions, FakeDataFeed, type FeedScheduler, type FillGradient, type FillPoint, type GridAxisStyle, type GridOptions, type GridStyle, type HistogramStyle, type HistoryLoadingStatus, HistoryRequestPool, type HistoryRequestPoolOptions, INDICATOR_LINE_STYLES, INDICATOR_PLOT_STYLES, INDICATOR_SOURCES, type IPrimitive, type IRenderBackend, IST_OFFSET_SECONDS, type IndexedBar, type IndicatorAlertContext, type IndicatorAlertPayload, type IndicatorAlertSpec, type IndicatorApi, type IndicatorAttachContext, IndicatorBackground, type IndicatorCalcContext, type IndicatorDataChange, type IndicatorDataStatus, type IndicatorDescriptor, type IndicatorDrawing, IndicatorDrawings, IndicatorFill, type IndicatorFillOptions, type IndicatorFillSpec, type IndicatorHost, type IndicatorInput, type IndicatorLevel, type IndicatorLevelContext, type IndicatorLineStyle, type IndicatorPlot, type IndicatorSettings, type IndicatorSource, type IndicatorState, type IndicatorStore, type IndicatorValues, type IntervalBucketing, type IntervalDescriptor, type IntervalParts, InvalidationLevel, type IstParts, type KeymapEntry, LINK_CROSSHAIR_ALPHA, type LateTickPolicy, type LegendField, type LegendStatusData, type LegendStatusLineOptions, type LegendStatusSource, type LegendTitleMode, type LegendValue, type LinePoint, type LinkChart, LinkCrosshair, type LinkDataLayer, LinkGroup, type LinkMemberOptions, type LinkMissingPolicy, type LinkOptions, type LogicalRange, LogoWatermark, type LogoWatermarkOptions, type LtpEvent, type MarkerPosition, type MarkerShape, type MarkerSize, type MarketDepth, type MarketPhase, type MarketPhaseFn, type MaybePromise, type ModeCheck, type OpenAlgoConfig, OpenAlgoDataFeed, type OpenAlgoLiveConfig, OpenAlgoLiveDataFeed, type OpenAlgoTradeConfig, OpenAlgoTradeFeed, type OpenAlgoWsConfig, OpenAlgoWsFeed, type OrderBookSnapshot, type OrderDecodeCode, type OrderDecodeIssue, type OrderDecodeResult, type OrderSide$1 as OrderSide, type OrderType$1 as OrderType, type OrderUpdateEvent, type OriginalTime, PRICE_LEVEL_KINDS, PRICE_SCALE_MODES, Pane, type PaneInvalidation, PaneLegend, type PaneLegendAction, type PaneLegendOptions, type PaneState, type PickHost, type PickKind, type PlaceOrder, type PlotMarginOptions, type PointerInfo, type PointerKind, type PointerModifiers, type PointerSample, type PositionSide, type PriceAxisState, type PriceFormat, type PriceLevelInput, type PriceLevelKind, type PriceLevelQuote, type PriceLevelStyle, type PriceLevelValues, PriceLevels, type PriceLevelsOptions, PriceLine, type PriceLineOptions, type PriceRange, PriceScale, type PriceScaleId, type PriceScaleMode, type PriceScaleOptions, type PriceScaleState, type PrimitiveAnchor, type PrimitiveHit, type PrimitiveHost, type PrimitivePlacement, type PrimitiveRenderContext, type QuarantinedRow, type RawOrder, type RenderBackendFactory, type RenderBackendKind, type RenderDevice, type RendererChoice, type RendererEntry, type RendererFallbackEvent, type RendererFallbackReason, type ReplayChartHost, ReplayController, type ReplayOptions, type ReplayScheduler, ReplayShade, type ReplayShadeOptions, type ReplayState, type ReplayViewport, type ResolvedLinkOptions, type RestoreReport, SCALE_FONT_MAX, SCALE_FONT_MIN, type ScaleCanvasOptions, type SeriesApi, type SeriesDataItem, type SeriesId, type SeriesMarker, SeriesMarkers, type SeriesRenderContext, type SeriesState, type SeriesStyle, type SeriesType, type SessionSpec, type ShortcutListItem, ShortcutManager, type ShortcutManagerOptions, type ShortcutPreset, type ShortcutScope, type ShortcutTriggerEvent, type Size, type SocketFactory, type SocketLike, type SupertrendPoint, SvgContext, type SvgContextOptions, SvgLinearGradient, type TableCell, type TablePosition, TextWatermark, type TextWatermarkOptions, type Tick, TickBarAggregator, type TickBarOptions, type TickCountBucketing, type TickMarkType, type TickTimeframe, TimeNavigator, type TimeNavigatorAction, type TimeNavigatorOptions, TimeScale, type TimeScaleOp, type TimeScaleOptions, type TradeFeed, type TradeMarkerVariant, TradeMarkersPrimitive, type TradingColors, TradingController, type TradingHost, type TradingLineStyle, type TradingLineVariant, type TradingOrder, type TradingOrderSide, type TradingOrderType, type TradingPosition, type TradingSettings, type TradingSyncPayload, type TradingTrade, type UTCSeconds, UnknownIntervalError, type UnsubscribeFn, VERSION, type VolumeBucketing, type VolumeMode, type WatermarkPosition, type Whitespace, type WsClientWarning, type WsControlMessage, type WsMode, type WsState, type ZOrder, type ZonedParts, type ZonedPeriod, type ZoomAnchor, ZoomGlide, type ZoomGlideOptions, addComparison, alignToPrimary, applyChartSettings, atr, autoscaleRange, backendDegradation, backoffDelayMs, barCacheKey, barCloseSec, beginPick, bestHit, bitmapSize, bucketStartOf, calendarPeriodFlags, candleGeometry, candleTier, chartSettingsSchema, clamp, classifyAuthAck, compactVolume, comparisonController, computePriceLevels, conflateBars, conflateItems, conflationGroupSize, createChart, createLinkGroup, createRenderBackend, darkTheme, dashPattern, decodeOrder, drawLabel, drawShape, effectiveMarkerPx, ema, emaSeries, epochMsToUtcSeconds, eventToCombo, followerIndex, followerRange, formatCombo, formatIstCrosshairLabel, formatIstDate, formatIstTime, formatIstTimeSeconds, formatSubscribe, formatUnsubscribe, formatZonedCrosshairLabel, formatZonedDate, formatZonedTime, formatZonedTimeSeconds, fromGradient, generateBars, getChartType, getIndicator, hasIndicator, inSessionAt, indicatorDefaults, indicatorStyleInputs, intervalParts, intervalToSeconds, isDailyInterval, isIntradayInterval, isKnownInterval, isNewIstDay, isNewZonedDay, isNewZonedMonth, isNewZonedPeriod, isNewZonedQuarter, isNewZonedWeek, isNewZonedYear, isRebasing, isReservedCombo, isSecondsInterval, isTickInterval, isTimeBucketed, isValidCombo, isValidTimezone, isWhitespace, istStringToUtcSeconds, lastPriceLevelFromSeriesStyle, lerp, lightTheme, mapHistoryResponse, mapOrder, mapOrderStatus, mapPosition, markerSizePx, mergeBars, nextBucketStart, niceTicks, normalizeCombo, optimalBarWidth, parseCombo, parseMessage, parseSessionSpec, parseTopic, plotStyleKeys, precisionForStep, readChartSettings, readSequence, registerChartType, registerIndicator, registerInterval, registerRenderBackend, registeredChartTypes, registeredIndicators, registeredIntervals, registeredRenderBackends, resolveCrosshairStyle, resolveGridStyle, resolveInterval, resolvePlotMargins, resolveRenderBackend, resolveScaleStyle, roundToTick, rowTimeToUtcSeconds, rsi, rsiSeries, seriesStyleForLastPriceLevel, sessionFlags, sessionStartFlags, sessionStartIndices, sharedHistoryRequests, snapToDevicePixel, sourceValue, sourceValues, startOfZonedDay, startOfZonedMonth, startOfZonedWeek, supertrend, supertrendSeries, tableOrigin, toBar, trueRange, tryResolveInterval, unregisterInterval, unregisterRenderBackend, utcSecondsToIstDateString, utcSecondsToIstParts, utcSecondsToZonedDateString, utcSecondsToZonedParts, version, verticalGradient, watermarkRect, withAlpha, withBarCache, zoneOffsetSeconds, zonedDayIndex, zonedStringToUtcSeconds, zonedWallClockToUtcSeconds, zonedWeekIndex };