openalgo-charts 2.1.6 → 2.1.8

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, 51 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, 71.57 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, 51 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, 74.00 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-71.57%20KB%20base%20%C2%B7%20193.96%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
- [![tests](https://img.shields.io/badge/tests-4303%20passing-brightgreen.svg)](#develop)
11
+ [![bundle](https://img.shields.io/badge/brotli-74.00%20KB%20base%20%C2%B7%20201.15%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
+ [![tests](https://img.shields.io/badge/tests-4376%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,13 +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.1.6**.
46
+ Current version: **2.1.8**.
47
47
 
48
- This release adds a shared data-loading controller, resilient warm history,
49
- cancellation, paging and visible retry states for widgets and custom terminals.
50
- Drawings remain visible beyond the latest candle and are clipped at the price axes.
51
- See the [2.1.6 changelog](./CHANGELOG.md#216) and
52
- [OpenAlgo compatibility guide](https://marketcalls.github.io/openalgo-charts/docs/openalgo-compatibility/).
48
+ This release adds proportional wheel and trackpad navigation, horizontal wheel pan,
49
+ price-axis wheel scaling and smooth autoscale transitions. The packaged widget now
50
+ provides responsive mobile controls that share its drawings, objects and dialogs.
51
+ See the [interaction guide](https://marketcalls.github.io/openalgo-charts/docs/interactions/),
52
+ the [mobile guide](https://marketcalls.github.io/openalgo-charts/docs/mobile/) and
53
+ the [2.1.8 changelog](./CHANGELOG.md#218).
53
54
 
54
55
  ```bash
55
56
  npm install openalgo-charts
@@ -70,7 +71,7 @@ in front of npm rather than being places you upload to. A chart is one HTML file
70
71
  ```html
71
72
  <div id="chart" style="width:100vw;height:100vh"></div>
72
73
  <script type="module">
73
- import { createChart } from 'https://unpkg.com/openalgo-charts@2.1.6/dist/openalgo-charts.mjs';
74
+ import { createChart } from 'https://unpkg.com/openalgo-charts@2.1.8/dist/openalgo-charts.mjs';
74
75
  const chart = createChart(document.getElementById('chart'), { timezone: 'Asia/Kolkata' });
75
76
  chart.addSeries('candlestick').setData(bars);
76
77
  </script>
@@ -93,6 +94,7 @@ const widget = createWidget('#terminal', {
93
94
  feed: new OpenAlgoDataFeed({ baseUrl: 'http://127.0.0.1:5000', apiKey: 'YOUR_KEY' }),
94
95
  symbol: 'RELIANCE', exchange: 'NSE', interval: '5m',
95
96
  theme: 'dark',
97
+ mobile: 'auto', // compact controls at 640 CSS px or less, or on a coarse pointer
96
98
  persist: true,
97
99
  onOrder: (order) => broker.place(order), // the right-click menu offers order entry only when this is set
98
100
  });
@@ -101,7 +103,7 @@ widget.chart; // the Chart underneath, every base API available
101
103
  widget.draw; // the DrawingController the rail drives
102
104
  ```
103
105
 
104
- `openalgo-charts/widget` is the eighth tier and the only one that builds DOM: a top bar (symbol search, interval pills, chart type, Indicators, capture, settings, theme), the drawing rail with pins and flyouts, a status line, toasts, a right-click menu, a keymap with a `?` panel, and optional layout persistence. Every dialog is generated from a schema the engine already ships (`chartSettingsSchema`, the indicator descriptor, `drawingSettingsSchema`), so no control exists without something behind it, and the chrome takes its colours from the active `ChartTheme` through `--oac-` tokens, so `setTheme` recolours canvas and chrome together. It drives the engine only through the public API, and the build proves it: the ESLint tier ACL and `npm run shake` keep it out of every other bundle, and importing the module touches no DOM, so it can sit in code that also runs on a server. The guide is [`docs/widget.md`](./docs/widget.md).
106
+ `openalgo-charts/widget` is the eighth tier and the only one that builds DOM: a top bar (symbol search, interval pills, chart type, Indicators, capture, settings, theme), the drawing rail with pins and flyouts, a status line, responsive mobile header and bottom controls, toasts, a right-click menu, a keymap with a `?` panel, and optional layout persistence. Every dialog is generated from a schema the engine already ships (`chartSettingsSchema`, the indicator descriptor, `drawingSettingsSchema`), so no control exists without something behind it, and the chrome takes its colours from the active `ChartTheme` through `--oac-` tokens, so `setTheme` recolours canvas and chrome together. It drives the engine only through the public API, and the build proves it: the ESLint tier ACL and `npm run shake` keep it out of every other bundle, and importing the module touches no DOM, so it can sit in code that also runs on a server. The guide is [`docs/widget.md`](./docs/widget.md).
105
107
 
106
108
  ## Tiers
107
109
 
@@ -109,16 +111,16 @@ Import only what you use. Each tier is a separate bundle that registers into the
109
111
 
110
112
  | Import | Contents | Brotli |
111
113
  |---|---|---|
112
- | `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 | 71.57 KB |
114
+ | `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 | 74.00 KB |
113
115
  | `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 28.05 KB |
114
116
  | `openalgo-charts/draw` | 51 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 25.90 KB |
115
117
  | `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point &amp; Figure, Kagi | 2.66 KB |
116
118
  | `openalgo-charts/profile` | Volume Profile, Market Profile (TPO) with compact pixel letters, Footprint, order flow | 14.96 KB |
117
119
  | `openalgo-charts/trade` | Order / position / bracket tools + DOM ladder | 7.61 KB |
118
120
  | `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 |
119
- | `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 | 36.83 KB |
121
+ | `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 | 41.59 KB |
120
122
 
121
- Everything together is **193.96 KB Brotli**; a widget terminal (base + draw + indicators + widget, what one `createWidget` call loads) is 162.35 KB. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 79.18 KB.
123
+ Everything together is **201.15 KB Brotli**; a widget terminal (base + draw + indicators + widget, what one `createWidget` call loads) is 169.54 KB. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 81.61 KB.
122
124
 
123
125
  ## What's built
124
126
 
@@ -410,16 +412,16 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
410
412
 
411
413
  | Bundle | Limit | Actual |
412
414
  |---|---|---|
413
- | Base engine | 73 KB | 71.57 KB |
414
- | Base + trade | 81 KB | 79.18 KB |
415
+ | Base engine | 75 KB | 74.00 KB |
416
+ | Base + trade | 83 KB | 81.61 KB |
415
417
  | Indicators tier | 30 KB | 28.05 KB |
416
418
  | Draw tier | 26 KB | 25.90 KB |
417
419
  | Transform tier | 5 KB | 2.66 KB |
418
420
  | Profile tier | 15 KB | 14.96 KB |
419
421
  | WebGL2 tier | 7 KB | 6.38 KB |
420
- | Widget tier | 37 KB | 36.83 KB |
421
- | Widget terminal (base + draw + indicators + widget) | 165 KB | 162.35 KB |
422
- | **Everything** | **197 KB** | **193.96 KB** |
422
+ | Widget tier | 42 KB | 41.59 KB |
423
+ | Widget terminal (base + draw + indicators + widget) | 170 KB | 169.54 KB |
424
+ | **Everything** | **202 KB** | **201.15 KB** |
423
425
 
424
426
  ## Documentation
425
427
 
@@ -464,7 +466,7 @@ See [Contributing](./CONTRIBUTING.md) for setup, targeted checks, documentation
464
466
  ```bash
465
467
  npm install # install dev toolchain
466
468
  npm run typecheck # strict TypeScript check
467
- npm test # unit tests (vitest) - 4303 across 190 files
469
+ npm test # unit tests (vitest) - 4376 across 196 files
468
470
  npm run build # Rollup -> dist/ (minified ESM per tier + types)
469
471
  npm run size # size-limit (Brotli) against the budget
470
472
  npm run e2e # Playwright Chromium smoke tests
@@ -481,7 +483,7 @@ npm run verify # lint + typecheck + test + build + demo tests + dts + size +
481
483
 
482
484
  ## Status &amp; limitations
483
485
 
484
- Version **2.1.6**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
486
+ Version **2.1.8**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
485
487
 
486
488
  Known gaps, stated plainly:
487
489
 
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.1.6";
2
+ declare const VERSION = "2.1.8";
3
3
  /** Returns the current library version. */
4
4
  declare function version(): string;
5
5
 
@@ -261,6 +261,8 @@ declare class PriceScale {
261
261
  * scale to manual mode so autoscale stops overriding it.
262
262
  */
263
263
  scaleAroundCenter(factor: number): void;
264
+ /** Scale around a screen coordinate, retaining its price in every scale mode. */
265
+ scaleAtY(y: number, factor: number): void;
264
266
  /**
265
267
  * Pan the visible range vertically by `dy` media px (dragging the plot up/down).
266
268
  * Works in transformed space so it's correct for log scales, and respects
@@ -276,7 +278,7 @@ declare class PriceScale {
276
278
  * percent span. Log is the one that pads in price space and shows it, which
277
279
  * is long-standing behaviour and left alone here.
278
280
  */
279
- autoscale(low: number, high: number): void;
281
+ autoscale(low: number, high: number, progress?: number): boolean;
280
282
  /**
281
283
  * The baseline actually in force, or null when this mode does not rebase or
282
284
  * the value it was given cannot carry one.
@@ -374,6 +376,8 @@ declare class TimeScale {
374
376
  get width(): number;
375
377
  get barSpacing(): number;
376
378
  setBarSpacing(value: number): void;
379
+ /** Bound a pending zoom target without changing the displayed viewport. */
380
+ constrainBarSpacing(value: number): number;
377
381
  get rightOffset(): number;
378
382
  setRightOffset(value: number): void;
379
383
  /** Logical index of the latest bar; the right edge anchors to baseIndex+rightOffset. */
@@ -1430,7 +1434,7 @@ declare class Pane {
1430
1434
  setScaleHeights(plotHeight: number): void;
1431
1435
  private _layout;
1432
1436
  /** Autoscale each active price scale from its own series (independent axes). */
1433
- autoscale(ctx: PaneRenderContext): void;
1437
+ autoscale(ctx: PaneRenderContext, progress?: number): boolean;
1434
1438
  private _autoscaleScale;
1435
1439
  /**
1436
1440
  * Hold every locked scale's price-per-bar ratio against the geometry it is
@@ -2495,6 +2499,8 @@ declare class IndicatorFill implements IPrimitive {
2495
2499
 
2496
2500
  /** The slice of the chart the runtime needs. Keeps this module testable alone. */
2497
2501
  interface IndicatorHost {
2502
+ /** Forget a disposed instance, including disposal through its public handle. */
2503
+ indicatorRemoved?(instanceId: string): void;
2498
2504
  /** Optional instrument identity and source-range notifications. */
2499
2505
  dataContext?(): Readonly<ChartDataContext> | undefined;
2500
2506
  subscribeDataChanges?(listener: (change: IndicatorDataChange) => void): () => void;
@@ -2700,6 +2706,8 @@ interface IndicatorState {
2700
2706
  indicatorId: string;
2701
2707
  settings: IndicatorSettings;
2702
2708
  paneIndex: number;
2709
+ /** Omitted by older layouts, which restore the indicator as visible. */
2710
+ visible?: boolean;
2703
2711
  }
2704
2712
  interface ChartState {
2705
2713
  version: number;
@@ -3434,6 +3442,8 @@ interface ChartOptions {
3434
3442
  * instruments. Off restores the single-frame step.
3435
3443
  */
3436
3444
  animZoom?: boolean;
3445
+ /** Ease automatic price ranges during navigation. Defaults to animZoom (true). */
3446
+ animAutoscale?: boolean;
3437
3447
  /**
3438
3448
  * What a wheel zoom holds still: the bar under the cursor, or the right edge
3439
3449
  * (the latest bar). Default `'cursor'`, which is what the chart has always
@@ -3861,13 +3871,17 @@ declare class Chart {
3861
3871
  private _lastDragT;
3862
3872
  private _dragVelocity;
3863
3873
  private _kineticHandle;
3874
+ private _kineticEpoch;
3864
3875
  private _zoomHandle;
3865
3876
  /** The glide in flight, so a second wheel tick folds into it (see ZoomGlide.add). */
3866
3877
  private _zoomGlide;
3867
3878
  private _zoomGlideStart;
3868
3879
  private _zoomGlideApplied;
3869
- private _zoomGlideX;
3870
3880
  private readonly _animZoom;
3881
+ private readonly _animAutoscale;
3882
+ private _autoscaleTime;
3883
+ private _autoscaleFrames;
3884
+ private _navigationEpoch;
3871
3885
  private readonly _zoomAnchor;
3872
3886
  private readonly _doubleClick;
3873
3887
  private readonly _firstDataId;
@@ -4083,6 +4097,7 @@ declare class Chart {
4083
4097
  indicators(): readonly IndicatorApi[];
4084
4098
  /** Remove one indicator instance by its handle id. Returns true if it existed. */
4085
4099
  removeIndicator(instanceId: string): boolean;
4100
+ private _forgetIndicator;
4086
4101
  /** Optional instrument identity supplied by the host, never inferred from bars. */
4087
4102
  getDataContext(): Readonly<ChartDataContext> | undefined;
4088
4103
  /** Clear the previous source bars before changing context, then load the new source. */
@@ -4716,6 +4731,8 @@ declare class Chart {
4716
4731
  /** One zoom step, applied now. Shared by the instant path and each glide frame. */
4717
4732
  private _applyZoom;
4718
4733
  private _startZoomGlide;
4734
+ private _beginAutoscaleMotion;
4735
+ private _stopNavigationMotion;
4719
4736
  private _stopZoomGlide;
4720
4737
  /**
4721
4738
  * Restore the preferred visible bar count and re-enable
@@ -4977,6 +4994,114 @@ declare class SvgContext {
4977
4994
  private _unsupported;
4978
4995
  }
4979
4996
 
4997
+ type ChartObjectKind = 'source' | 'indicator' | 'drawing' | 'profile';
4998
+ interface ChartObjectCapabilities {
4999
+ readonly select: boolean;
5000
+ readonly visibility: boolean;
5001
+ readonly lock: boolean;
5002
+ readonly remove: boolean;
5003
+ readonly settings: boolean;
5004
+ readonly focus: boolean;
5005
+ }
5006
+ /** One immutable row in a chart's object inventory. */
5007
+ interface ChartObjectSnapshot {
5008
+ readonly id: string;
5009
+ readonly sourceId: string;
5010
+ readonly kind: ChartObjectKind;
5011
+ readonly name: string;
5012
+ readonly paneIndex: number;
5013
+ readonly visible: boolean;
5014
+ readonly locked?: boolean;
5015
+ readonly selected: boolean;
5016
+ readonly dataStatus?: Readonly<IndicatorDataStatus>;
5017
+ readonly capabilities: ChartObjectCapabilities;
5018
+ }
5019
+ /** State supplied by a host for an explicitly managed profile or source. */
5020
+ interface ChartObjectDefinition {
5021
+ kind: ChartObjectKind;
5022
+ name: string;
5023
+ paneIndex?: number;
5024
+ visible?: boolean;
5025
+ locked?: boolean;
5026
+ selected?: boolean;
5027
+ dataStatus?: Readonly<IndicatorDataStatus>;
5028
+ }
5029
+ /** Actions are synchronous and offered only when their callback exists. */
5030
+ interface ChartObjectProvider {
5031
+ id: string;
5032
+ get(): ChartObjectDefinition | null;
5033
+ subscribe?(listener: () => void): () => void;
5034
+ select?(): void;
5035
+ setVisible?(visible: boolean): void;
5036
+ setLocked?(locked: boolean): void;
5037
+ remove?(): void;
5038
+ openSettings?(): void;
5039
+ focus?(): void;
5040
+ }
5041
+ /** Structural contract keeps the base tier independent of drawing code. */
5042
+ interface ChartObjectDrawing {
5043
+ id: string;
5044
+ tool: string;
5045
+ paneIndex: number;
5046
+ points: readonly {
5047
+ time: number;
5048
+ price: number;
5049
+ }[];
5050
+ visible?: boolean;
5051
+ locked?: boolean;
5052
+ }
5053
+ interface ChartObjectDrawingSource {
5054
+ drawings(): readonly ChartObjectDrawing[];
5055
+ get(id: string): ChartObjectDrawing | undefined;
5056
+ selection(): readonly string[];
5057
+ select(id: string | readonly string[] | null, additive?: boolean): void;
5058
+ update(id: string, patch: {
5059
+ visible?: boolean;
5060
+ locked?: boolean;
5061
+ }): void;
5062
+ remove(id: string): boolean;
5063
+ }
5064
+ interface ChartObjectsOptions {
5065
+ drawings?: ChartObjectDrawingSource;
5066
+ /** Opens the host's existing editor for a built-in object. */
5067
+ onSettings?(object: ChartObjectSnapshot): void;
5068
+ }
5069
+ /** Shared object operations for widgets and custom terminals. No DOM is created. */
5070
+ declare class ChartObjects {
5071
+ private readonly _chart;
5072
+ private readonly _options;
5073
+ private readonly _off;
5074
+ private readonly _providers;
5075
+ private readonly _listeners;
5076
+ private _entries;
5077
+ private _rows;
5078
+ private _selected;
5079
+ private _destroyed;
5080
+ private _refreshing;
5081
+ private _pending;
5082
+ constructor(chart: Chart, options?: ChartObjectsOptions);
5083
+ /** Current immutable inventory, also refreshed for hosts with unsignalled provider state. */
5084
+ list(): readonly ChartObjectSnapshot[];
5085
+ get(id: string): ChartObjectSnapshot | undefined;
5086
+ /** Delivers current state immediately, then only inventory changes. */
5087
+ subscribe(listener: (objects: readonly ChartObjectSnapshot[]) => void): () => void;
5088
+ /** Provider IDs receive a custom: prefix and cannot replace built-in objects. */
5089
+ register(provider: ChartObjectProvider): () => void;
5090
+ /** Re-read explicitly registered host state without installing a polling timer. */
5091
+ refresh(): void;
5092
+ select(id: string | null, additive?: boolean): boolean;
5093
+ setVisible(id: string, on: boolean): boolean;
5094
+ setLocked(id: string, on: boolean): boolean;
5095
+ remove(id: string): boolean;
5096
+ openSettings(id: string): boolean;
5097
+ focus(id: string): boolean;
5098
+ private _act;
5099
+ private _read;
5100
+ private _focusDrawing;
5101
+ /** Detach this observer and its providers, leaving chart objects in place. */
5102
+ destroy(): void;
5103
+ }
5104
+
4980
5105
  /** The color as rgba() with the given alpha (parse failure returns the input). */
4981
5106
  declare function withAlpha(color: string, alpha: number): string;
4982
5107
 
@@ -8449,4 +8574,4 @@ declare function lerp(a: number, b: number, t: number): number;
8449
8574
  */
8450
8575
  declare function roundToTick(value: number, step: number): number;
8451
8576
 
8452
- 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 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 ChartOptions, type ChartSettingsColorPairInput, type ChartSettingsInput, type ChartSettingsState, type ChartSettingsTab, type ChartSettingsTabId, type ChartSettingsValue, type ChartSettingsValues, type ChartState, ChartTable, type ChartTableOptions, type ChartTheme, 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 };
8577
+ 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 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 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 };