openalgo-charts 2.4.0 → 2.4.5
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 +56 -41
- package/dist/draw/index.d.ts +18 -2
- package/dist/index.d.ts +2260 -1678
- package/dist/indicators/index.d.ts +25 -7
- package/dist/openalgo-charts.draw.mjs +1 -1
- package/dist/openalgo-charts.draw.mjs.map +1 -1
- package/dist/openalgo-charts.indicators.mjs +1 -1
- package/dist/openalgo-charts.indicators.mjs.map +1 -1
- 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.trade.mjs +1 -1
- package/dist/openalgo-charts.trade.mjs.map +1 -1
- package/dist/openalgo-charts.transform.mjs +1 -1
- package/dist/openalgo-charts.transform.mjs.map +1 -1
- package/dist/openalgo-charts.widget.mjs +1 -1
- package/dist/openalgo-charts.widget.mjs.map +1 -1
- package/dist/openalgo-charts.workspace.mjs +2 -0
- package/dist/openalgo-charts.workspace.mjs.map +1 -0
- package/dist/profile/index.d.ts +22 -0
- package/dist/trade/index.d.ts +15 -4
- package/dist/transform/index.d.ts +32 -2
- package/dist/webgl/index.d.ts +22 -0
- package/dist/widget/index.d.ts +96 -8
- package/dist/workspace/index.d.ts +170 -0
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -4,17 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
**A from-scratch, dependency-free HTML5-canvas charting engine for OpenAlgo.**
|
|
6
6
|
|
|
7
|
-
Professional interactive charts,
|
|
7
|
+
Professional interactive charts, 105 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. Nine lazy-loaded tiers, zero runtime dependencies, 91.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)
|
|
16
16
|
|
|
17
|
-
<img src="docs/architecture-diagram.svg" alt="OpenAlgo Charts architecture: seven layers from the public API down to feeds and data, with
|
|
17
|
+
<img src="docs/architecture-diagram.svg" alt="OpenAlgo Charts architecture: seven layers from the public API down to feeds and data, with 105 built-in plus custom indicators, 85 drawing tools, and a nine-tier bundle legend" width="920" />
|
|
18
18
|
|
|
19
19
|
</div>
|
|
20
20
|
|
|
@@ -53,15 +53,13 @@ Every chart in the [live gallery](https://marketcalls.github.io/openalgo-charts/
|
|
|
53
53
|
|
|
54
54
|
## Install
|
|
55
55
|
|
|
56
|
-
Current version: **2.4.
|
|
56
|
+
Current version: **2.4.5**.
|
|
57
57
|
|
|
58
|
-
This release
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
instead of thrown into the render loop. Every addition is optional. See the
|
|
64
|
-
[2.4.0 changelog](./CHANGELOG.md#240).
|
|
58
|
+
This release adds validated instrument metadata, adapter conformance checks,
|
|
59
|
+
browser endurance tooling, translated widget controls and trading capability
|
|
60
|
+
checks. Named workspace documents and indicator templates use an optional
|
|
61
|
+
asynchronous storage tier. Existing hosts can adopt these contracts incrementally.
|
|
62
|
+
See the [2.4.5 changelog](./CHANGELOG.md#245).
|
|
65
63
|
|
|
66
64
|
```bash
|
|
67
65
|
npm install openalgo-charts
|
|
@@ -90,14 +88,14 @@ in front of npm rather than being places you upload to. A chart is one HTML file
|
|
|
90
88
|
```html
|
|
91
89
|
<div id="chart" style="width:100vw;height:100vh"></div>
|
|
92
90
|
<script type="module">
|
|
93
|
-
import { createChart } from 'https://unpkg.com/openalgo-charts@2.4.
|
|
91
|
+
import { createChart } from 'https://unpkg.com/openalgo-charts@2.4.5/dist/openalgo-charts.mjs';
|
|
94
92
|
const chart = createChart(document.getElementById('chart'), { timezone: 'Asia/Kolkata' });
|
|
95
93
|
chart.addSeries('candlestick').setData(bars);
|
|
96
94
|
</script>
|
|
97
95
|
```
|
|
98
96
|
|
|
99
97
|
Each tier is its own file, so `openalgo-charts.indicators.mjs` next to it registers
|
|
100
|
-
all
|
|
98
|
+
all 105 built-ins. Pin the version in anything you leave running. There is no
|
|
101
99
|
stylesheet to load: the engine ships no DOM, and the one tier that does
|
|
102
100
|
(`openalgo-charts/widget`) injects its own. See
|
|
103
101
|
[Use from a CDN](https://marketcalls.github.io/openalgo-charts/docs/cdn).
|
|
@@ -122,7 +120,9 @@ widget.chart; // the Chart underneath, every base API available
|
|
|
122
120
|
widget.draw; // the DrawingController the rail drives
|
|
123
121
|
```
|
|
124
122
|
|
|
125
|
-
`openalgo-charts/widget` is the
|
|
123
|
+
`openalgo-charts/widget` is the optional interface 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).
|
|
124
|
+
|
|
125
|
+
Widget controls and accessible labels accept a typed translation callback with English fallback. See [widget localization](./docs/widget-localization.md). The separate `openalgo-charts/workspace` tier provides validated named layouts, indicator templates and asynchronous storage, with an IndexedDB adapter and revision conflict detection. See [workspaces](./docs/workspaces.md).
|
|
126
126
|
|
|
127
127
|
## Tiers
|
|
128
128
|
|
|
@@ -130,16 +130,17 @@ Import only what you use. Each tier is a separate bundle that registers into the
|
|
|
130
130
|
|
|
131
131
|
| Import | Contents | Brotli |
|
|
132
132
|
|---|---|---|
|
|
133
|
-
| `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 |
|
|
134
|
-
| `openalgo-charts/indicators` |
|
|
135
|
-
| `openalgo-charts/draw` | 85 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons |
|
|
136
|
-
| `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point & Figure, Kagi, and symbol arithmetic (`AAPL/MSFT`) | 4.
|
|
137
|
-
| `openalgo-charts/profile` | Volume Profile, Market Profile (TPO) with compact pixel letters, Footprint, order flow | 14.96
|
|
138
|
-
| `openalgo-charts/trade` | Order / position / bracket tools + DOM ladder |
|
|
139
|
-
| `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.39
|
|
140
|
-
| `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 |
|
|
141
|
-
|
|
142
|
-
|
|
133
|
+
| `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 | 91.00 kB |
|
|
134
|
+
| `openalgo-charts/indicators` | 105 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 29.84 kB |
|
|
135
|
+
| `openalgo-charts/draw` | 85 drawing tools + a headless drawing controller, clipboard, settings schema, level palette, freehand geometry and SVG icons | 35.43 kB |
|
|
136
|
+
| `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point & Figure, Kagi, and symbol arithmetic (`AAPL/MSFT`) | 4.50 kB |
|
|
137
|
+
| `openalgo-charts/profile` | Volume Profile, Market Profile (TPO) with compact pixel letters, Footprint, order flow | 14.96 kB |
|
|
138
|
+
| `openalgo-charts/trade` | Order / position / bracket tools + DOM ladder | 8.01 kB |
|
|
139
|
+
| `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.39 kB |
|
|
140
|
+
| `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 | 48.30 kB |
|
|
141
|
+
| `openalgo-charts/workspace` | Validated workspace and indicator-template documents, named catalogs with revision checks, asynchronous storage and an IndexedDB adapter; no DOM | 5.52 kB |
|
|
142
|
+
|
|
143
|
+
Everything together is **243.96 kB Brotli**; a widget terminal with built-in indicators (base + draw + indicators + widget) is 204.58 kB. Figures are measured from the 2.4.5 release build. The trade tier is 8.01 kB on its own; base + trade costs 99.01 kB. Sizes use decimal kB.
|
|
143
144
|
|
|
144
145
|
## What's built
|
|
145
146
|
|
|
@@ -156,13 +157,18 @@ const macd = chart.addIndicator('macd', { fastPeriod: 8 }); // gets its own pa
|
|
|
156
157
|
macd.setSettings({ 'macd:width': 2, 'macd:lineStyle': 'dashed' });
|
|
157
158
|
```
|
|
158
159
|
|
|
159
|
-
|
|
160
|
+
105 built-ins across Trend, Momentum, Volatility and Volume, from the everyday (SMA, EMA, WMA, VWAP, Bollinger Bands, RSI, MACD, Stochastic, ADX/DMI, ATR) through Supertrend, HalfTrend, Ichimoku, Keltner, Donchian, Chandelier Exit and CPR with floor pivots to Connors RSI, Fisher Transform, Woodies CCI, Klinger, Vortex, WaveTrend Pro, Chop Zone and Williams Fractals, with a least-squares family (Least Squares Moving Average, Linear Regression Slope, Standard Error, Standard Error Bands) and a Smoothed Moving Average alongside them, joined in 1.8.3 by the T3 average, the Hull Suite (Hma / Ehma / Thma with a displaced band) and Consolidation and Breakout, which tracks inside-bar ranges and marks the bar that leaves one. Twenty-eight of them draw shaded bands, six emit named buy/sell markers, two recolour the price candles, and Seasonality draws a monthly return heatmap as a table over the chart. The full catalogue with ids and defaults is in the docs.
|
|
160
161
|
|
|
161
162
|
Since 2.4.0 a study can fold the chart's own bars up to a higher timeframe with `securitySeries` (as the bucket stood at each bar, or the last completed one, or with lookahead when reproducing a source that repaints), paint a plot displaced by a number of bars, colour a candle's wick and border apart from its body, pin a marker to the pane edge, put a tooltip on a drawn zone, compute an alert message from the bar that fired, and ask the host for another instrument's bars through `chart.setBarsProvider`. A calculation that throws once it is on the chart is reported on that study's data status rather than thrown into the render loop.
|
|
162
163
|
|
|
163
164
|
Every built-in is measured against its standard definition bar by bar, at several parameter sets, and each one's warmup (the first bar it can honestly produce a value for) is part of that check rather than an afterthought. A study draws nothing until it has the history it needs.
|
|
164
165
|
|
|
165
|
-
The chart owns the whole lifecycle: series, pane placement, reference levels, fixed ranges (RSI 0..100), recompute on data change, teardown. Every plot gets colour, opacity, thickness, and line style for free, generated from the descriptor. Write your own with `registerIndicator`, or use the **Tier-2 contract** for indicators whose data
|
|
166
|
+
The chart owns the whole lifecycle: series, pane placement, reference levels, fixed ranges (RSI 0..100), recompute on data change, teardown. Every plot gets colour, opacity, thickness, and line style for free, generated from the descriptor. Write your own with `registerIndicator`, or use the **Tier-2 contract** for indicators whose data arrives independently of the chart's bars (CVD or an external feed).
|
|
167
|
+
|
|
168
|
+
The development data contract includes optional per-bar `oi` for open interest.
|
|
169
|
+
It is a level, not a flow: folds retain the latest reading instead of summing it.
|
|
170
|
+
Zero and absence remain distinct, and live quotes without a reading leave a gap.
|
|
171
|
+
See [Open interest data](docs/open-interest.md).
|
|
166
172
|
|
|
167
173
|
### Drawing tools
|
|
168
174
|
|
|
@@ -242,6 +248,12 @@ replay.play({ speed: 2 }); // emits replay:frame per bar
|
|
|
242
248
|
|
|
243
249
|
Headless: the controller owns the playhead and ships no DOM, so the transport bar is yours to draw from `state()` and the `replay:*` events. Each step hands the series a prefix of the session through the ordinary `setData` path, which is what makes every indicator, level, fill, marker and legend row reconstruct itself as it stood at that bar. `stop()` puts the full history and the exact viewport back.
|
|
244
250
|
|
|
251
|
+
For a grid, `ReplayGroup` drives captured charts with one availability-time clock.
|
|
252
|
+
Focused/all scope changes preserve UTC time; coarse candles wait for their declared
|
|
253
|
+
close or form from available finer bars. The [yfinance reference host](examples/yfinance/)
|
|
254
|
+
demonstrates shared scope controls, per-chart readouts, cancellation and restoration.
|
|
255
|
+
Existing standalone replay defaults remain unchanged.
|
|
256
|
+
|
|
245
257
|
### Symbol comparison
|
|
246
258
|
|
|
247
259
|
```ts
|
|
@@ -266,7 +278,7 @@ Hover one chart and the same **instant** is marked on the others; pan or zoom on
|
|
|
266
278
|
|
|
267
279
|
Nothing crosses a chart boundary as a logical index. The x axis is a gapless index over each chart's own bars, so index 300 is a different instant on every chart: every value is converted index to time on the sender and time back to index on the receiver, against that chart's own data. A daily chart and an hourly chart with different history depth therefore stay on the same instant, which the naive index copy gets right only when both charts hold the same bars. An instant outside a follower's first or last bar is an absence, not a gap, so it draws nothing; inside its range with no bar there it snaps to the nearest bar in time, or draws nothing under `whenMissing: 'hide'`. The linked crosshair is a vertical line only, at reduced opacity: a mirrored horizontal line would assert a price that belongs to another instrument.
|
|
268
280
|
|
|
269
|
-
|
|
281
|
+
Symbol sync remains a host partnership even when using optional instrument metadata: the host emits `'symbol'` on the chart's bus (or calls `group.setSymbol`) and supplies the per-member `onSymbol` that loads the bars. A member with no `onSymbol` broadcasts but never follows, which is how you pin one chart of a grid.
|
|
270
282
|
|
|
271
283
|
### Settings & context menu
|
|
272
284
|
`chartSettingsSchema(chart)` describes a full settings dialog as tabs of controls, in the same descriptor vocabulary the indicator settings form already uses; `readChartSettings` and `applyChartSettings` are its round trip over flat, JSON-safe keys. Five tabs (Price, Readout, Axes, Appearance, Trading), and a bullish/bearish pair is **one** `colorPair` row carrying its switch and both swatches instead of two stacked rows. Grid, crosshair, scale text, plot margins, status-line fields, the chart timezone, trading colours and the primary series' own style are all real options behind it, so no control in the schema is inert.
|
|
@@ -433,16 +445,17 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
|
|
|
433
445
|
|
|
434
446
|
| Bundle | Limit | Actual |
|
|
435
447
|
|---|---|---|
|
|
436
|
-
| Base engine |
|
|
437
|
-
| Base + trade |
|
|
438
|
-
| Indicators tier | 30
|
|
439
|
-
| Draw tier | 36
|
|
440
|
-
| Transform tier | 6
|
|
441
|
-
| Profile tier | 15
|
|
442
|
-
| WebGL2 tier | 7
|
|
443
|
-
| Widget tier |
|
|
444
|
-
| Widget terminal (base + draw + indicators + widget) |
|
|
445
|
-
|
|
|
448
|
+
| Base engine | 91.5 kB | 91.00 kB |
|
|
449
|
+
| Base + trade | 100 kB | 99.01 kB |
|
|
450
|
+
| Indicators tier | 30 kB | 29.84 kB |
|
|
451
|
+
| Draw tier | 36 kB | 35.43 kB |
|
|
452
|
+
| Transform tier | 6 kB | 4.50 kB |
|
|
453
|
+
| Profile tier | 15 kB | 14.96 kB |
|
|
454
|
+
| WebGL2 tier | 7 kB | 6.39 kB |
|
|
455
|
+
| Widget tier | 48.75 kB | 48.30 kB |
|
|
456
|
+
| Widget terminal (base + draw + indicators + widget) | 205 kB | 204.58 kB |
|
|
457
|
+
| Workspace tier | 6 kB | 5.52 kB |
|
|
458
|
+
| **Everything** | 245 kB | 243.96 kB |
|
|
446
459
|
|
|
447
460
|
## Documentation
|
|
448
461
|
|
|
@@ -487,11 +500,13 @@ See [Contributing](./CONTRIBUTING.md) for setup, targeted checks, documentation
|
|
|
487
500
|
```bash
|
|
488
501
|
npm install # install dev toolchain
|
|
489
502
|
npm run typecheck # strict TypeScript check
|
|
490
|
-
npm test # unit tests (
|
|
503
|
+
npm test # engine unit tests (Vitest): 5734 across 242 files
|
|
504
|
+
npm run test:demo # reference-host tests: 389 across 30 files
|
|
505
|
+
npm run test:endurance # node endurance-harness tests: 7 cases
|
|
491
506
|
npm run build # Rollup -> dist/ (minified ESM per tier + types)
|
|
492
507
|
npm run size # size-limit (Brotli) against the budget
|
|
493
508
|
npm run e2e # Playwright Chromium smoke tests
|
|
494
|
-
npm run verify # lint +
|
|
509
|
+
npm run verify # lint + types + unit + endurance harness + build + demo + dts + size + shake
|
|
495
510
|
```
|
|
496
511
|
|
|
497
512
|
## Principles
|
|
@@ -504,7 +519,7 @@ npm run verify # lint + typecheck + test + build + demo tests + dts + size +
|
|
|
504
519
|
|
|
505
520
|
## Status & limitations
|
|
506
521
|
|
|
507
|
-
Version **2.4.
|
|
522
|
+
Version **2.4.5**. All engine build phases are implemented. Upgrading a 1.9.x host: [Migrating to 2.0](./docs/migrating-to-2.md).
|
|
508
523
|
|
|
509
524
|
Known gaps, stated plainly:
|
|
510
525
|
|
package/dist/draw/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PrimitiveRenderContext, IPrimitive, PrimitiveHost, ZOrder, PrimitiveHit, DataLayer } from 'openalgo-charts';
|
|
1
|
+
import { AlertDrawingValue, AlertDrawingLevel, PrimitiveRenderContext, IPrimitive, PrimitiveHost, ZOrder, PrimitiveHit, DataLayer, AlertDrawingInfo } from 'openalgo-charts';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* The per-tool settings schema: what a host may show in a drawing's settings
|
|
@@ -341,9 +341,21 @@ interface ExpandContext {
|
|
|
341
341
|
toPixel?(p: DrawingPoint): ScreenPoint | null;
|
|
342
342
|
fromPixel?(at: ScreenPoint): DrawingPoint | null;
|
|
343
343
|
}
|
|
344
|
+
/** Coordinate maps use the same pane and logical time axis as the rendered drawing. */
|
|
345
|
+
interface DrawingValueContext {
|
|
346
|
+
drawing: Drawing;
|
|
347
|
+
pts: readonly ScreenPoint[];
|
|
348
|
+
time: number;
|
|
349
|
+
x: number;
|
|
350
|
+
fromY(y: number): number | null;
|
|
351
|
+
}
|
|
344
352
|
interface DrawingTool {
|
|
345
353
|
id: string;
|
|
346
354
|
name: string;
|
|
355
|
+
/** Opt in only when the geometry defines a numeric level or band at one time. */
|
|
356
|
+
alertValue?(context: DrawingValueContext, level?: string): Omit<AlertDrawingValue, 'paneIndex'> | undefined;
|
|
357
|
+
/** Named boundaries or active rungs, for a host's explicit level selector. */
|
|
358
|
+
alertLevels?(drawing: Drawing): readonly AlertDrawingLevel[];
|
|
347
359
|
/**
|
|
348
360
|
* Anchors the tool needs before it is complete. `0` means free-form: the
|
|
349
361
|
* drawing finishes on double-click.
|
|
@@ -1336,6 +1348,10 @@ declare class DrawingController {
|
|
|
1336
1348
|
*/
|
|
1337
1349
|
drawings(): readonly Drawing[];
|
|
1338
1350
|
get(id: string): Drawing | undefined;
|
|
1351
|
+
/** Supported numeric levels, independent of whether the queried time lies on the shape. */
|
|
1352
|
+
alertInfo(id: string): AlertDrawingInfo;
|
|
1353
|
+
/** Numeric drawing value using the actual pane projection and collapsed time axis. */
|
|
1354
|
+
valueAt(id: string, time: number, level?: string): AlertDrawingValue | undefined;
|
|
1339
1355
|
/** Add a fully-specified drawing (import, or a host-authored one). */
|
|
1340
1356
|
add(drawing: DrawingInput): Drawing;
|
|
1341
1357
|
/**
|
|
@@ -1809,4 +1825,4 @@ declare const PATTERN_DRAWING_TOOLS: readonly DrawingTool[];
|
|
|
1809
1825
|
|
|
1810
1826
|
declare const DRAW_TIER: "draw";
|
|
1811
1827
|
|
|
1812
|
-
export { ADVANCED_GEOMETRY_TOOLS, ADVANCED_LINE_TOOLS, ALIGN_OPTIONS, ARC, ARROW, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, BALLOON, BRUSH, BUILTIN_DRAWING_TOOLS, CALLOUT, CHROME_ICONS, CHROME_ICON_ATTRS, CHROME_ICON_FILLED, CHROME_ICON_STROKE, CHROME_ICON_VIEWBOX, CIRCLE, COLOR_FIELD, COMMENT, CROSS_LINE, CURVE, CYCLE_PALETTE, CYCLIC_LINES, type ClipboardPort, DATE_RANGE, DEFAULT_FIB, DEFAULT_FIB_FAN, DEFAULT_FIB_TIME_ZONE, DEFAULT_GANN_BOX, DEFAULT_GANN_FAN, DOUBLE_CURVE, DRAWING_CLIPBOARD_KEY, DRAWING_CLIPBOARD_VERSION, DRAWING_STATE_VERSION, DRAWING_TOOL_ICONS, DRAW_TIER, type DrawContext, type Drawing, type DrawingChangeKind, type DrawingChartHost, DrawingClipboard, type DrawingClipboardOptions, DrawingController, type DrawingControllerOptions, type DrawingInput, type DrawingKeyAction, type DrawingKeyContext, type DrawingKeyEvent, DrawingLayer, type DrawingLayerOrder, type DrawingPatch, type DrawingPoint, type DrawingPointerKind, type DrawingStyle, type DrawingText, type DrawingTool, type DrawingsDocument, ELLIPSE, EXTENDED_LINE, EXTEND_FIELDS, type ExpandContext, FIB_CHANNEL, FIB_EXTENSION, FIB_FAN, FIB_RETRACEMENT, FIB_TIME_ZONE, FILL_FIELDS, FLAG_MARK, FONT_FIELDS, FONT_OPTIONS, FORECAST, type FibLevel, type FieldGroup, type FieldKind, GANN_BOX, GANN_FAN, HIGHLIGHTER, HORIZONTAL_LINE, HORIZONTAL_RAY, type HitContext, ICON_ATTRS, ICON_STROKE, ICON_SYMBOL_PREFIX, ICON_VIEWBOX, type IconAttrs, type IconSvgOptions, LEVEL_FIELDS, LEVEL_NEUTRAL, LINE_FIELDS, LINE_STYLE_FIELD, LINE_STYLE_OPTIONS, LINE_WIDTH_FIELD, LONG_POSITION, MEASURE, type MagnetMode, NOTE, NUDGE_STEP_PX, NUDGE_STEP_SHIFT_PX, PARALLEL_CHANNEL, PATH, PATTERN_DRAWING_TOOLS, PLATE_TEXT_FIELDS, POLYLINE, PRICE_LABEL, PRICE_NOTE, PRICE_RANGE, RAY, RECTANGLE, ROTATED_RECTANGLE, SHAPE_TEXT_FIELDS, SHORT_POSITION, SHOW_LABELS_FIELD, SIGNPOST, SINE_LINE, type ScreenPoint, type SettingsField, type SettingsSchema, type ShortcutEvent, TABLE, TEXT, TEXT_FIELDS, TEXT_POSITION_OPTIONS, TEXT_VALUE_FIELD, TIME_CYCLES, TREND_LINE, TRIANGLE, type ToolCursorOptions, VALIGN_OPTIONS, VERTICAL_LINE, applyDrawingSettings, boundsOf, catmullRom, chromeIcon, chromeIconIds, chromeIconSvg, clearMemoryClipboard, cloneDrawing, cloneLevels, coerceSettingValue, composeSettings, cycleColor, decodeClipboardPayload, distToEllipse, distToLine, distToPolyline, distToRect, distToSegment, drawingSettingsSchema, drawingShortcuts, drawingToolIcon, drawingToolIconIds, encodeClipboardPayload, extendSegment, formatRatio, gannLabel, getDrawingTool, hasDrawingTool, iconSprite, iconSvg, iconUse, keyToDrawingAction, levelColor, matchDrawingShortcut, migrateDrawings, pressureWidth, rdpSimplify, readDrawingSetting, readDrawingSettings, rectOf, registerBuiltinDrawingTools, registerDrawingTool, registeredDrawingTools, sanitizeDrawing, sortByZIndex, systemClipboard, toolCursor };
|
|
1828
|
+
export { ADVANCED_GEOMETRY_TOOLS, ADVANCED_LINE_TOOLS, ALIGN_OPTIONS, ARC, ARROW, ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, BALLOON, BRUSH, BUILTIN_DRAWING_TOOLS, CALLOUT, CHROME_ICONS, CHROME_ICON_ATTRS, CHROME_ICON_FILLED, CHROME_ICON_STROKE, CHROME_ICON_VIEWBOX, CIRCLE, COLOR_FIELD, COMMENT, CROSS_LINE, CURVE, CYCLE_PALETTE, CYCLIC_LINES, type ClipboardPort, DATE_RANGE, DEFAULT_FIB, DEFAULT_FIB_FAN, DEFAULT_FIB_TIME_ZONE, DEFAULT_GANN_BOX, DEFAULT_GANN_FAN, DOUBLE_CURVE, DRAWING_CLIPBOARD_KEY, DRAWING_CLIPBOARD_VERSION, DRAWING_STATE_VERSION, DRAWING_TOOL_ICONS, DRAW_TIER, type DrawContext, type Drawing, type DrawingChangeKind, type DrawingChartHost, DrawingClipboard, type DrawingClipboardOptions, DrawingController, type DrawingControllerOptions, type DrawingInput, type DrawingKeyAction, type DrawingKeyContext, type DrawingKeyEvent, DrawingLayer, type DrawingLayerOrder, type DrawingPatch, type DrawingPoint, type DrawingPointerKind, type DrawingStyle, type DrawingText, type DrawingTool, type DrawingValueContext, type DrawingsDocument, ELLIPSE, EXTENDED_LINE, EXTEND_FIELDS, type ExpandContext, FIB_CHANNEL, FIB_EXTENSION, FIB_FAN, FIB_RETRACEMENT, FIB_TIME_ZONE, FILL_FIELDS, FLAG_MARK, FONT_FIELDS, FONT_OPTIONS, FORECAST, type FibLevel, type FieldGroup, type FieldKind, GANN_BOX, GANN_FAN, HIGHLIGHTER, HORIZONTAL_LINE, HORIZONTAL_RAY, type HitContext, ICON_ATTRS, ICON_STROKE, ICON_SYMBOL_PREFIX, ICON_VIEWBOX, type IconAttrs, type IconSvgOptions, LEVEL_FIELDS, LEVEL_NEUTRAL, LINE_FIELDS, LINE_STYLE_FIELD, LINE_STYLE_OPTIONS, LINE_WIDTH_FIELD, LONG_POSITION, MEASURE, type MagnetMode, NOTE, NUDGE_STEP_PX, NUDGE_STEP_SHIFT_PX, PARALLEL_CHANNEL, PATH, PATTERN_DRAWING_TOOLS, PLATE_TEXT_FIELDS, POLYLINE, PRICE_LABEL, PRICE_NOTE, PRICE_RANGE, RAY, RECTANGLE, ROTATED_RECTANGLE, SHAPE_TEXT_FIELDS, SHORT_POSITION, SHOW_LABELS_FIELD, SIGNPOST, SINE_LINE, type ScreenPoint, type SettingsField, type SettingsSchema, type ShortcutEvent, TABLE, TEXT, TEXT_FIELDS, TEXT_POSITION_OPTIONS, TEXT_VALUE_FIELD, TIME_CYCLES, TREND_LINE, TRIANGLE, type ToolCursorOptions, VALIGN_OPTIONS, VERTICAL_LINE, applyDrawingSettings, boundsOf, catmullRom, chromeIcon, chromeIconIds, chromeIconSvg, clearMemoryClipboard, cloneDrawing, cloneLevels, coerceSettingValue, composeSettings, cycleColor, decodeClipboardPayload, distToEllipse, distToLine, distToPolyline, distToRect, distToSegment, drawingSettingsSchema, drawingShortcuts, drawingToolIcon, drawingToolIconIds, encodeClipboardPayload, extendSegment, formatRatio, gannLabel, getDrawingTool, hasDrawingTool, iconSprite, iconSvg, iconUse, keyToDrawingAction, levelColor, matchDrawingShortcut, migrateDrawings, pressureWidth, rdpSimplify, readDrawingSetting, readDrawingSettings, rectOf, registerBuiltinDrawingTools, registerDrawingTool, registeredDrawingTools, sanitizeDrawing, sortByZIndex, systemClipboard, toolCursor };
|