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 +23 -21
- package/dist/index.d.ts +130 -5
- package/dist/openalgo-charts.mjs +1 -1
- package/dist/openalgo-charts.mjs.map +1 -1
- package/dist/openalgo-charts.standalone.js +1 -1
- package/dist/openalgo-charts.standalone.js.map +1 -1
- package/dist/openalgo-charts.widget.mjs +1 -1
- package/dist/openalgo-charts.widget.mjs.map +1 -1
- package/dist/widget/index.d.ts +54 -2
- package/package.json +1 -1
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,
|
|
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
|
[](https://www.npmjs.com/package/openalgo-charts)
|
|
10
10
|
[](./LICENSE)
|
|
11
|
-
[](#size-budget)
|
|
12
|
+
[](#develop)
|
|
13
13
|
[](#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.
|
|
46
|
+
Current version: **2.1.8**.
|
|
47
47
|
|
|
48
|
-
This release adds
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
See the [
|
|
52
|
-
[
|
|
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.
|
|
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 & scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, SVG export, render backend port, OpenAlgo feeds |
|
|
114
|
+
| `openalgo-charts` | Engine, 13 chart types, panes & 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 & 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 |
|
|
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 **
|
|
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 |
|
|
414
|
-
| Base + trade |
|
|
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 |
|
|
421
|
-
| Widget terminal (base + draw + indicators + widget) |
|
|
422
|
-
| **Everything** | **
|
|
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) -
|
|
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 & limitations
|
|
483
485
|
|
|
484
|
-
Version **2.1.
|
|
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.
|
|
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):
|
|
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):
|
|
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 };
|