@tradecanvas/chart 1.69.0 → 1.71.0
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/dist/Chart.d.ts +19 -107
- package/dist/Chart.d.ts.map +1 -1
- package/dist/DataManager.d.ts +7 -0
- package/dist/DataManager.d.ts.map +1 -1
- package/dist/{LayoutSession-CoCMrrbh.js → LayoutSession-BOQCN6yY.js} +1165 -909
- package/dist/LayoutSession-BOQCN6yY.js.map +1 -0
- package/dist/LayoutSession-RF8OqOXy.cjs +2 -0
- package/dist/LayoutSession-RF8OqOXy.cjs.map +1 -0
- package/dist/SeriesStore.d.ts +2 -0
- package/dist/SeriesStore.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -60
- package/dist/model/AlertWatch.d.ts +60 -0
- package/dist/model/AlertWatch.d.ts.map +1 -0
- package/dist/model/DisplaySeries.d.ts +50 -0
- package/dist/model/DisplaySeries.d.ts.map +1 -0
- package/dist/model/DrawingPanes.d.ts +24 -0
- package/dist/model/DrawingPanes.d.ts.map +1 -0
- package/dist/model/IndicatorHistory.d.ts +52 -0
- package/dist/model/IndicatorHistory.d.ts.map +1 -0
- package/dist/model/IndicatorPanes.d.ts +76 -0
- package/dist/model/IndicatorPanes.d.ts.map +1 -0
- package/dist/model/IndicatorSetup.d.ts +34 -0
- package/dist/model/IndicatorSetup.d.ts.map +1 -0
- package/dist/model/PaneLayout.d.ts +55 -0
- package/dist/model/PaneLayout.d.ts.map +1 -0
- package/dist/model/PriceFit.d.ts +75 -0
- package/dist/model/PriceFit.d.ts.map +1 -0
- package/dist/model/ReplayMarks.d.ts +42 -0
- package/dist/model/ReplayMarks.d.ts.map +1 -0
- package/dist/model/SymbolRequests.d.ts +34 -0
- package/dist/model/SymbolRequests.d.ts.map +1 -0
- package/dist/widget/WidgetIndicatorSettings.d.ts +1 -0
- package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -1
- package/dist/widget/index.cjs +4 -4
- package/dist/widget/index.cjs.map +1 -1
- package/dist/widget/index.js +544 -528
- package/dist/widget/index.js.map +1 -1
- package/dist/widget/settingsControls.d.ts +1 -0
- package/dist/widget/settingsControls.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/LayoutSession-BWC7O5R9.cjs +0 -2
- package/dist/LayoutSession-BWC7O5R9.cjs.map +0 -1
- package/dist/LayoutSession-CoCMrrbh.js.map +0 -1
- package/dist/PaneManager.d.ts +0 -19
- package/dist/PaneManager.d.ts.map +0 -1
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { IndicatorDescriptor } from '@tradecanvas/commons';
|
|
2
|
+
import { IndicatorEngine } from '@tradecanvas/core';
|
|
3
|
+
import { LayoutManager } from '../layout/LayoutManager.js';
|
|
4
|
+
/** What the panes read and change of the indicators. */
|
|
5
|
+
export type PaneMembers = Pick<IndicatorEngine, 'getIndicatorConfig' | 'getIndicatorDescriptor' | 'getPaneMembers' | 'getDependents' | 'setPane' | 'removeIndicator'>;
|
|
6
|
+
/** The panes' places in the layout. */
|
|
7
|
+
export type PaneSlots = Pick<LayoutManager, 'getPanels' | 'addPanel' | 'removePanel'>;
|
|
8
|
+
/** What goes with a pane when another indicator takes it over, or when it goes. */
|
|
9
|
+
export interface PaneHandover {
|
|
10
|
+
/** The pane's own style to `heir`, or away with the pane (null). */
|
|
11
|
+
passStyle(from: string, heir: string | null): void;
|
|
12
|
+
/** Hand pane `from`, its place and its drawings, to the indicator `to`. */
|
|
13
|
+
renamePane(from: string, to: string): void;
|
|
14
|
+
/** The panes' value scales are to be worked out again. */
|
|
15
|
+
invalidateScales(): void;
|
|
16
|
+
}
|
|
17
|
+
/** Where a move sends an indicator: an indicator drawn in the pane, `'new'` a pane of its own, `'price'` the price pane. */
|
|
18
|
+
export type PaneTarget = string;
|
|
19
|
+
/**
|
|
20
|
+
* Which pane each indicator is drawn in: its own, another indicator's (on
|
|
21
|
+
* that pane's scale), or the price pane; who takes a pane over when its
|
|
22
|
+
* indicator goes or moves away, and who follows it. No DOM.
|
|
23
|
+
*/
|
|
24
|
+
export declare class IndicatorPanes {
|
|
25
|
+
private readonly members;
|
|
26
|
+
private readonly slots;
|
|
27
|
+
private readonly handover;
|
|
28
|
+
constructor(members: PaneMembers, slots: PaneSlots, handover: PaneHandover);
|
|
29
|
+
/** Whether the indicator has a pane of its own in the layout. */
|
|
30
|
+
ownsPane(instanceId: string): boolean;
|
|
31
|
+
/** The pane an indicator is drawn in: its own, or the one it shares. */
|
|
32
|
+
paneOf(instanceId: string): string;
|
|
33
|
+
/** The instance owning the pane `instanceId` is drawn in; null for the price pane. */
|
|
34
|
+
hostOf(instanceId: string, self?: string): string | null;
|
|
35
|
+
/**
|
|
36
|
+
* The pane an indicator is drawn in, other than its own: the pane of the
|
|
37
|
+
* instance `requested`, or, for a price-pane indicator computed from a pane
|
|
38
|
+
* indicator's line, that indicator's pane. Null = the price pane (overlays)
|
|
39
|
+
* or a pane of its own (panels).
|
|
40
|
+
*/
|
|
41
|
+
paneFor(descriptor: Pick<IndicatorDescriptor, 'placement' | 'inputs'>, params: Readonly<Record<string, unknown>>, requested?: string, self?: string): string | null;
|
|
42
|
+
/** The value of the input an indicator reads its source from (a price, another indicator's line); undefined without one. */
|
|
43
|
+
sourceOf(instanceId: string): unknown;
|
|
44
|
+
/**
|
|
45
|
+
* After an indicator's inputs changed: a price-pane indicator follows a
|
|
46
|
+
* new source into its pane, and leaves it when it no longer reads from it;
|
|
47
|
+
* otherwise it stays where it is. `before` is its source before the
|
|
48
|
+
* change (`sourceOf`). True when it changed panes.
|
|
49
|
+
*/
|
|
50
|
+
followSource(instanceId: string, before: unknown): boolean;
|
|
51
|
+
/** Where a move would put the indicator: the pane's host, `null` (its own or the price pane), or `undefined` when it can't go. */
|
|
52
|
+
moveHost(instanceId: string, target: PaneTarget): string | null | undefined;
|
|
53
|
+
private isPanel;
|
|
54
|
+
/**
|
|
55
|
+
* Remove one indicator. The first pane indicator drawn in its pane takes
|
|
56
|
+
* the pane over and the others stay in it; without one (only price-pane
|
|
57
|
+
* indicators were drawn there) they go back to the price pane. `moved`
|
|
58
|
+
* hears of each of them as soon as it is in its new pane, before the next
|
|
59
|
+
* one moves. Returns them, or null for an unknown indicator.
|
|
60
|
+
*/
|
|
61
|
+
detach(instanceId: string, moved?: (member: string) => void): string[] | null;
|
|
62
|
+
/**
|
|
63
|
+
* Move an indicator to another pane (see `moveHost` for `target`).
|
|
64
|
+
* Indicators drawn in its own pane stay there (one of them takes the pane
|
|
65
|
+
* over) or follow it when they read its lines. Returns every indicator
|
|
66
|
+
* whose pane changed, or null when it can't go there.
|
|
67
|
+
*/
|
|
68
|
+
move(instanceId: string, target: PaneTarget): string[] | null;
|
|
69
|
+
/**
|
|
70
|
+
* The indicator leaves the pane it owns for `host`: those reading its
|
|
71
|
+
* lines go with it; of the rest, the first that draws in a pane takes the
|
|
72
|
+
* pane over. Returns the pane's members.
|
|
73
|
+
*/
|
|
74
|
+
private leavePane;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=IndicatorPanes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndicatorPanes.d.ts","sourceRoot":"","sources":["../../src/model/IndicatorPanes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,eAAe,EACf,oBAAoB,GAAG,wBAAwB,GAAG,gBAAgB,GAAG,eAAe,GAAG,SAAS,GAAG,iBAAiB,CACrH,CAAC;AAEF,uCAAuC;AACvC,MAAM,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,GAAG,aAAa,CAAC,CAAC;AAEtF,mFAAmF;AACnF,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,2EAA2E;IAC3E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,0DAA0D;IAC1D,gBAAgB,IAAI,IAAI,CAAC;CAC1B;AAED,4HAA4H;AAC5H,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC;;;;GAIG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAFR,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY;IAGzC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIrC,wEAAwE;IACxE,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIlC,sFAAsF;IACtF,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAOxD;;;;;OAKG;IACH,OAAO,CACL,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,QAAQ,CAAC,EAC7D,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI;IAQhB,4HAA4H;IAC5H,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAMrC;;;;;OAKG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAa1D,kIAAkI;IAClI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;IAa3E,OAAO,CAAC,OAAO;IAIf;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAsB,GAAG,MAAM,EAAE,GAAG,IAAI;IAoB9F;;;;;OAKG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,IAAI;IAsB7D;;;;OAIG;IACH,OAAO,CAAC,SAAS;CAmBlB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { PaneStyle } from '@tradecanvas/commons';
|
|
2
|
+
import { IndicatorEngine, SnapshotIndicator } from '@tradecanvas/core';
|
|
3
|
+
import { LayoutManager } from '../layout/LayoutManager.js';
|
|
4
|
+
/** What a layout keeps of the indicators. */
|
|
5
|
+
export type SetupSources = Pick<IndicatorEngine, 'getActiveIndicators' | 'getIndicatorConfig' | 'getIndicatorStyle' | 'getIntervals'>;
|
|
6
|
+
/** What a layout keeps of the panes. */
|
|
7
|
+
export type SetupPanes = Pick<LayoutManager, 'getPanels' | 'getMaximizedPanel'>;
|
|
8
|
+
/** What putting the panes back changes. */
|
|
9
|
+
export type RestoredPanes = Pick<LayoutManager, 'setPanelSize' | 'setPanelCollapsed' | 'setPanelScale' | 'orderPanels' | 'setMaximizedPanel'>;
|
|
10
|
+
/**
|
|
11
|
+
* The indicators as a layout or a template keeps them: inputs, style,
|
|
12
|
+
* levels, scale and panes (shared, size, order, fold, maximise, own style).
|
|
13
|
+
*/
|
|
14
|
+
export declare function captureIndicatorSetup(engine: SetupSources, layout: SetupPanes, paneStyle: (instanceId: string) => PaneStyle | null): SnapshotIndicator[];
|
|
15
|
+
/** The panes as they were: size first (it opens a fold), then fold, scale, order, maximise. */
|
|
16
|
+
export declare function restorePanes(layout: RestoredPanes, restored: readonly (readonly [SnapshotIndicator, string])[]): void;
|
|
17
|
+
/**
|
|
18
|
+
* `list` with each indicator after the one whose pane it is drawn in and the
|
|
19
|
+
* ones whose lines it reads (otherwise in the order given).
|
|
20
|
+
*/
|
|
21
|
+
export declare function dependencyOrder(list: readonly SnapshotIndicator[]): SnapshotIndicator[];
|
|
22
|
+
/** The same indicator in the same place: kind, the pane it is drawn in, its scale, and a pane of its own or not. */
|
|
23
|
+
export declare function sameKindAndPlace(a: SnapshotIndicator, b: SnapshotIndicator): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The indicators of `current` an undo may change in place: in `wanted` under
|
|
26
|
+
* the same id, alike in kind and place, with the same inputs (changing their
|
|
27
|
+
* values only: an input one has and the other lacks can't be taken away in place),
|
|
28
|
+
* in a pane whose host is kept too: one drawn in a pane taken down would
|
|
29
|
+
* fall back to the price pane, so it is put back with its host.
|
|
30
|
+
*/
|
|
31
|
+
export declare function keptInPlace(current: readonly SnapshotIndicator[], wanted: readonly SnapshotIndicator[]): Set<string>;
|
|
32
|
+
/** `params` with each line read from another indicator following that indicator's new id (`ids`: old → new). */
|
|
33
|
+
export declare function renameSources(params: Readonly<Record<string, unknown>>, ids: ReadonlyMap<string, string>): Record<string, number | string | boolean>;
|
|
34
|
+
//# sourceMappingURL=IndicatorSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IndicatorSetup.d.ts","sourceRoot":"","sources":["../../src/model/IndicatorSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,qBAAqB,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,cAAc,CAAC,CAAC;AAEtI,wCAAwC;AACxC,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAC;AAEhF,2CAA2C;AAC3C,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,GAAG,mBAAmB,GAAG,eAAe,GAAG,aAAa,GAAG,mBAAmB,CAAC,CAAC;AAE9I;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,GAAG,IAAI,GAClD,iBAAiB,EAAE,CAgCrB;AAED,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAarH;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAmBvF;AAED,oHAAoH;AACpH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAKpF;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EAAE,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAWpH;AAQD,gHAAgH;AAChH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAQ3C"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { PaneStyle, ResolvedLayout, ViewportState } from '@tradecanvas/commons';
|
|
2
|
+
import { IndicatorEngine, PanelRenderInfo } from '@tradecanvas/core';
|
|
3
|
+
import { LayoutManager } from '../layout/LayoutManager.js';
|
|
4
|
+
/** The pane's title and the line under it, above its plot. */
|
|
5
|
+
export declare const PANE_HEADER_HEIGHT = 20;
|
|
6
|
+
/** What the panes read of the indicators drawn in them. */
|
|
7
|
+
export type PaneSources = Pick<IndicatorEngine, 'getPaneValueRange' | 'getPaneMembers' | 'getOutput' | 'getIndicatorDescriptor' | 'getActiveIndicators'>;
|
|
8
|
+
/** Where the hovered bar is reported: from the top of the highest pane beside the price pane to the bottom of the lowest. */
|
|
9
|
+
export interface ReportBounds {
|
|
10
|
+
top: number;
|
|
11
|
+
bottom: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The indicator panes as the renderer draws them: their place from the
|
|
15
|
+
* layout, each on its own value scale, with its own style. Worked out once
|
|
16
|
+
* a frame and kept until the layout or the values move. No DOM.
|
|
17
|
+
*/
|
|
18
|
+
export declare class PaneLayout {
|
|
19
|
+
private readonly manager;
|
|
20
|
+
private readonly sources;
|
|
21
|
+
/** Told each new layout's report bounds, for the crosshair. */
|
|
22
|
+
private readonly onLayout;
|
|
23
|
+
private layout;
|
|
24
|
+
private infos;
|
|
25
|
+
private readonly styles;
|
|
26
|
+
constructor(manager: LayoutManager, sources: PaneSources,
|
|
27
|
+
/** Told each new layout's report bounds, for the crosshair. */
|
|
28
|
+
onLayout: (bounds: ReportBounds) => void);
|
|
29
|
+
resolved(): ResolvedLayout;
|
|
30
|
+
/** The layout changed (a size, a pane, an axis width): worked out again on the next read. */
|
|
31
|
+
invalidate(): void;
|
|
32
|
+
/** The panes' values moved (a tick, a new indicator, a style): their scales are worked out again. */
|
|
33
|
+
invalidateScales(): void;
|
|
34
|
+
/** Each pane as drawn under the main viewport, read only when they are worked out again. */
|
|
35
|
+
panels(mainState: () => ViewportState): PanelRenderInfo[];
|
|
36
|
+
/** Where the time axis starts: below the main chart and every pane under it. */
|
|
37
|
+
timeAxisTop(): number;
|
|
38
|
+
/**
|
|
39
|
+
* The panes with nothing to draw on this chart type: every indicator in
|
|
40
|
+
* them is left off it (a compare in its own pane, a correlation, on
|
|
41
|
+
* Renko). They are laid out as if they weren't there, so no empty pane
|
|
42
|
+
* with a made-up scale takes the plot's room; back on candles they return.
|
|
43
|
+
*/
|
|
44
|
+
offChartType(): Set<string>;
|
|
45
|
+
style(paneId: string): PaneStyle | undefined;
|
|
46
|
+
/** Set (or with null, take off) a pane's style: whether it changed. */
|
|
47
|
+
setStyle(paneId: string, style: PaneStyle | null): boolean;
|
|
48
|
+
/** A pane's style goes with the pane: to the indicator that takes it over, or away with it (`heir` null). */
|
|
49
|
+
passStyle(paneId: string, heir: string | null): void;
|
|
50
|
+
/** A pane's first value on screen (its own indicator's first line), the 0% of a percent scale. */
|
|
51
|
+
private baseline;
|
|
52
|
+
}
|
|
53
|
+
/** The hovered bar is reported over the price pane and the panes above and below it. */
|
|
54
|
+
export declare function reportBounds(layout: ResolvedLayout): ReportBounds;
|
|
55
|
+
//# sourceMappingURL=PaneLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaneLayout.d.ts","sourceRoot":"","sources":["../../src/model/PaneLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAIrC,2DAA2D;AAC3D,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,eAAe,EACf,mBAAmB,GAAG,gBAAgB,GAAG,WAAW,GAAG,wBAAwB,GAAG,qBAAqB,CACxG,CAAC;AAEF,6HAA6H;AAC7H,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,qBAAa,UAAU;IAMnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAR3B,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAGpC,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,WAAW;IACrC,+DAA+D;IAC9C,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI;IAG3D,QAAQ,IAAI,cAAc;IAQ1B,6FAA6F;IAC7F,UAAU,IAAI,IAAI;IAKlB,qGAAqG;IACrG,gBAAgB,IAAI,IAAI;IAIxB,4FAA4F;IAC5F,MAAM,CAAC,SAAS,EAAE,MAAM,aAAa,GAAG,eAAe,EAAE;IAyCzD,gFAAgF;IAChF,WAAW,IAAI,MAAM;IAMrB;;;;;OAKG;IACH,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC;IAa3B,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAI5C,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO;IAQ1D,6GAA6G;IAC7G,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAOpD,kGAAkG;IAClG,OAAO,CAAC,QAAQ;CAajB;AAED,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAUjE"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { DataSeries, ViewportState } from '@tradecanvas/commons';
|
|
2
|
+
export interface PriceRange {
|
|
3
|
+
min: number;
|
|
4
|
+
max: number;
|
|
5
|
+
}
|
|
6
|
+
/** The part of the viewport a fit writes to. */
|
|
7
|
+
export interface FitTarget {
|
|
8
|
+
isInvertScale(): boolean;
|
|
9
|
+
setScaleMargins(margins: {
|
|
10
|
+
top: number;
|
|
11
|
+
bottom: number;
|
|
12
|
+
}): void;
|
|
13
|
+
fitToPrices(min: number, max: number): void;
|
|
14
|
+
}
|
|
15
|
+
/** What else is on the price scale besides the bars, read at fit time. */
|
|
16
|
+
export interface FitSources {
|
|
17
|
+
/** Overlay indicators (Bollinger, Ichimoku…) over the bars from `from` to `to`. */
|
|
18
|
+
overlayRange(from: number, to: number): PriceRange | null;
|
|
19
|
+
/** The compare lines on view, or null when none are drawn. */
|
|
20
|
+
compareRange(data: DataSeries, vs: ViewportState): PriceRange | null;
|
|
21
|
+
/** The volume band's share of the plot when volume is on view, else null. */
|
|
22
|
+
volumeRatio(data: DataSeries, from: number, to: number): number | null;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* When the main price scale is fitted to the bars, and what it is fitted to.
|
|
26
|
+
* No DOM: the chart hands it the viewport and the other ranges on the scale.
|
|
27
|
+
*
|
|
28
|
+
* Auto-scale on fits every frame. Off, a new series (the first bars,
|
|
29
|
+
* `setData`'s, a symbol or timeframe switch) is still fitted once, then held:
|
|
30
|
+
* otherwise a chart would keep its empty 0 to 1, or the last symbol's prices.
|
|
31
|
+
* Bars that come one by one into an empty chart are fitted until they fill it.
|
|
32
|
+
*/
|
|
33
|
+
export declare class PriceFit {
|
|
34
|
+
private auto;
|
|
35
|
+
/**
|
|
36
|
+
* The `autoScale` asked for (the option, or `setAutoScale`), which a new
|
|
37
|
+
* series goes back to. `auto` alone is also turned off by a drag of the
|
|
38
|
+
* price axis or a vertical pan, which hold the range for this series only.
|
|
39
|
+
*/
|
|
40
|
+
private preferred;
|
|
41
|
+
/** A new series whose prices aren't on the axis yet. */
|
|
42
|
+
private pending;
|
|
43
|
+
/** The series began with no bars, so they come one by one: see `settle`. */
|
|
44
|
+
private arriving;
|
|
45
|
+
constructor(autoScale: boolean);
|
|
46
|
+
isAuto(): boolean;
|
|
47
|
+
/** Whether this frame fits the scale. */
|
|
48
|
+
shouldFit(): boolean;
|
|
49
|
+
/** The host's choice, kept by the series that come after. */
|
|
50
|
+
setAuto(enabled: boolean, hasBars: boolean): void;
|
|
51
|
+
/** A drag of the price axis or a vertical pan: the range on screen is the user's, held from here. */
|
|
52
|
+
hold(): void;
|
|
53
|
+
/** Auto-scale back on (a double-click of the price axis, a replay), the preference left as it is. */
|
|
54
|
+
resume(): void;
|
|
55
|
+
/** A new series replaced the bars: it goes back to the preference and is fitted once. */
|
|
56
|
+
newSeries(empty: boolean): void;
|
|
57
|
+
/**
|
|
58
|
+
* After a frame was fitted: the new series' prices are on the axis once
|
|
59
|
+
* some of its bars were on a plot with room for them, so auto-scale off
|
|
60
|
+
* holds them from here. A chart with no size yet (a hidden tab or panel)
|
|
61
|
+
* has none on view and fits them once it gets one.
|
|
62
|
+
*/
|
|
63
|
+
settle(vs: ViewportState, shown: number): void;
|
|
64
|
+
/**
|
|
65
|
+
* Fit the scale to the bars on view, the overlay indicators and the compare
|
|
66
|
+
* lines, in margins of φ⁻⁵ above and below; with volume on view, the band
|
|
67
|
+
* at the bottom is left to it.
|
|
68
|
+
*/
|
|
69
|
+
fit(target: FitTarget, data: DataSeries, vs: ViewportState, sources: FitSources): void;
|
|
70
|
+
}
|
|
71
|
+
/** Whether any bar from `from` to `to` traded. */
|
|
72
|
+
export declare function hasVolume(data: DataSeries, from: number, to: number): boolean;
|
|
73
|
+
/** Both ranges in one (either may be null). */
|
|
74
|
+
export declare function joinRanges(a: PriceRange | null, b: PriceRange | null): PriceRange | null;
|
|
75
|
+
//# sourceMappingURL=PriceFit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PriceFit.d.ts","sourceRoot":"","sources":["../../src/model/PriceFit.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMnG,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,gDAAgD;AAChD,MAAM,WAAW,SAAS;IACxB,aAAa,IAAI,OAAO,CAAC;IACzB,eAAe,CAAC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAED,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,mFAAmF;IACnF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1D,8DAA8D;IAC9D,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAAC;IACrE,6EAA6E;IAC7E,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACxE;AAED;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,IAAI,CAAU;IACtB;;;;OAIG;IACH,OAAO,CAAC,SAAS,CAAU;IAC3B,wDAAwD;IACxD,OAAO,CAAC,OAAO,CAAQ;IACvB,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,SAAS,EAAE,OAAO;IAK9B,MAAM,IAAI,OAAO;IAIjB,yCAAyC;IACzC,SAAS,IAAI,OAAO;IAIpB,6DAA6D;IAC7D,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAOjD,qGAAqG;IACrG,IAAI,IAAI,IAAI;IAKZ,qGAAqG;IACrG,MAAM,IAAI,IAAI;IAId,yFAAyF;IACzF,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAM/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAM9C;;;;OAIG;IACH,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI;CAgBvF;AAED,kDAAkD;AAClD,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAG7E;AAED,+CAA+C;AAC/C,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAIxF"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { DataSeries, OHLCBar } from '@tradecanvas/commons';
|
|
2
|
+
import { IntrabarPath } from '../replay/intrabarPath.js';
|
|
3
|
+
/** A long jump goes to a paper account in at most this many chunks of bars, each giving its extremes and its close. */
|
|
4
|
+
export declare const MAX_REPLAY_CHUNKS = 500;
|
|
5
|
+
/** A price a paper account trades on, and its time: `[price, time]`. */
|
|
6
|
+
export type ReplayMark = [number, number];
|
|
7
|
+
/** How far a paper account has been given the replay: the latest time, and how far into that bar (1: all of it). */
|
|
8
|
+
export interface ReplayFed {
|
|
9
|
+
time: number | null;
|
|
10
|
+
fraction: number;
|
|
11
|
+
}
|
|
12
|
+
/** The marks to give a paper account, in order, and how far it has been given the replay after them. */
|
|
13
|
+
export interface ReplayFeed {
|
|
14
|
+
marks: ReplayMark[];
|
|
15
|
+
fed: ReplayFed;
|
|
16
|
+
}
|
|
17
|
+
/** Index of the first bar at or after `time` (the length when none is). */
|
|
18
|
+
export declare function firstAtOrAfter(series: DataSeries, time: number): number;
|
|
19
|
+
/** The first bar of `series` after `time` (its length when none is). */
|
|
20
|
+
export declare function firstAfter(series: DataSeries, time: number): number;
|
|
21
|
+
/**
|
|
22
|
+
* The prices a run of bars went through, in order, as far as the bars tell:
|
|
23
|
+
* each extreme with its time, the earlier one first (within one bar, a rising
|
|
24
|
+
* bar dipped first), then the close.
|
|
25
|
+
*/
|
|
26
|
+
export declare function replayMarks(run: readonly OHLCBar[]): ReplayMark[];
|
|
27
|
+
/**
|
|
28
|
+
* A paper account trades on the replayed prices and times, forward only:
|
|
29
|
+
* it gets every step past the latest time it has seen (a jump ahead passes
|
|
30
|
+
* them all, a long one in chunks), and nothing after a seek back or a
|
|
31
|
+
* restart from an earlier bar until the replay is past that time again
|
|
32
|
+
* (null). At the start its mark is where the replay begins.
|
|
33
|
+
*/
|
|
34
|
+
export declare function stepFeed(series: DataSeries, index: number, fed: ReplayFed): ReplayFeed | null;
|
|
35
|
+
/**
|
|
36
|
+
* A paper account trades on the prices a forming bar has been drawn
|
|
37
|
+
* through, forward only by (time, fraction): the rest of a bar given in
|
|
38
|
+
* part (along `pathOf` it), the bars a jump passes, then bar `index` of
|
|
39
|
+
* `coarse` along `path` up to `fraction`. Null when that is behind.
|
|
40
|
+
*/
|
|
41
|
+
export declare function formingFeed(coarse: DataSeries, index: number, path: IntrabarPath, fraction: number, fed: ReplayFed, pathOf: (coarse: DataSeries, index: number) => IntrabarPath): ReplayFeed | null;
|
|
42
|
+
//# sourceMappingURL=ReplayMarks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReplayMarks.d.ts","sourceRoot":"","sources":["../../src/model/ReplayMarks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEpF,uHAAuH;AACvH,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,wEAAwE;AACxE,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1C,oHAAoH;AACpH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wGAAwG;AACxG,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,GAAG,EAAE,SAAS,CAAC;CAChB;AAED,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CASvE;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CASnE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,OAAO,EAAE,GAAG,UAAU,EAAE,CAYjE;AAUD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,GAAG,UAAU,GAAG,IAAI,CAO7F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,SAAS,EACd,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,GAC1D,UAAU,GAAG,IAAI,CAanB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { IndicatorEngine } from '@tradecanvas/core';
|
|
2
|
+
/** What the requests read of the indicators. */
|
|
3
|
+
export type SymbolReaders = Pick<IndicatorEngine, 'getActiveIndicators' | 'getIndicatorConfig'>;
|
|
4
|
+
/** The other symbols' bars the chart holds. */
|
|
5
|
+
export interface HeldSymbols {
|
|
6
|
+
has(symbol: string): boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The other symbols the indicators read, and which of them the chart has
|
|
10
|
+
* asked its app for (`symbolSeriesRequest`) and not been given yet: each
|
|
11
|
+
* is asked for once. No DOM.
|
|
12
|
+
*/
|
|
13
|
+
export declare class SymbolRequests {
|
|
14
|
+
private readonly readers;
|
|
15
|
+
private readonly held;
|
|
16
|
+
private readonly asked;
|
|
17
|
+
constructor(readers: SymbolReaders, held: HeldSymbols);
|
|
18
|
+
/** The symbols the indicators read, whether their bars are here or not. */
|
|
19
|
+
required(): string[];
|
|
20
|
+
/** The indicators reading `symbol`. */
|
|
21
|
+
readersOf(symbol: string): string[];
|
|
22
|
+
/** The bars of `symbol` came: it is no longer waited for. */
|
|
23
|
+
given(symbol: string): void;
|
|
24
|
+
/** A symbol no indicator reads any more may be asked for again later. */
|
|
25
|
+
forgetUnread(): void;
|
|
26
|
+
/**
|
|
27
|
+
* The symbol to ask for once for the indicator just added or changed: the
|
|
28
|
+
* one it reads, when the chart hasn't got it and hasn't asked (not those
|
|
29
|
+
* other indicators read: one whose fetch failed is asked for again only
|
|
30
|
+
* by an indicator on it). Null when there is nothing to ask.
|
|
31
|
+
*/
|
|
32
|
+
toAsk(instanceId: string): string | null;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=SymbolRequests.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SymbolRequests.d.ts","sourceRoot":"","sources":["../../src/model/SymbolRequests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE/E,gDAAgD;AAChD,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,EAAE,qBAAqB,GAAG,oBAAoB,CAAC,CAAC;AAEhG,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CAC9B;AAQD;;;;GAIG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;gBAGxB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,WAAW;IAGpC,2EAA2E;IAC3E,QAAQ,IAAI,MAAM,EAAE;IASpB,uCAAuC;IACvC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAOnC,6DAA6D;IAC7D,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3B,yEAAyE;IACzE,YAAY,IAAI,IAAI;IAKpB;;;;;OAKG;IACH,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;CAQzC"}
|
|
@@ -102,6 +102,7 @@ export declare class WidgetIndicatorSettings {
|
|
|
102
102
|
private currentValue;
|
|
103
103
|
private setValue;
|
|
104
104
|
private renderInputs;
|
|
105
|
+
/** One input's row: its control follows the kind the indicator declares, or the one its default implies. */
|
|
105
106
|
private fieldRow;
|
|
106
107
|
private sourceControl;
|
|
107
108
|
private choiceControl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WidgetIndicatorSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetIndicatorSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAK5I,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAMzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACtD,+EAA+E;IAC/E,WAAW,CAAC,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1D,gEAAgE;IAChE,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1D,sFAAsF;IACtF,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,yGAAyG;IACzG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACvC;AAED,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACnF,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpE,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAChE,4EAA4E;IAC5E,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjF,8CAA8C;IAC9C,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"WidgetIndicatorSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetIndicatorSettings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAK5I,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAMzD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IACtD,+EAA+E;IAC/E,WAAW,CAAC,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1D,gEAAgE;IAChE,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACjC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1D,sFAAsF;IACtF,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,yGAAyG;IACzG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;CACvC;AAED,8EAA8E;AAC9E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACnF,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACpE,sDAAsD;IACtD,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,0EAA0E;IAC1E,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAChE,4EAA4E;IAC5E,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACjF,8CAA8C;IAC9C,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAsCD;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,KAAK,CAA2C;IACxD,OAAO,CAAC,OAAO,CAA4E;IAC3F,OAAO,CAAC,IAAI,CAA+F;IAC3G,OAAO,CAAC,GAAG,CAAiB;IAC5B,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAa;gBAEnB,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAAC,CAAC,EAAE,UAAU;IAsDpF,iEAAiE;IACjE,OAAO,CAAC,WAAW;IAiBnB,IAAI,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI;IAwB3C,oDAAoD;IACpD,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,OAAO;IAIjB,OAAO,IAAI,IAAI;IAKf,kGAAkG;IAClG,OAAO,CAAC,MAAM;IAoBd,uEAAuE;IACvE,OAAO,CAAC,MAAM;IAiBd,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,IAAI;IAYZ,6FAA6F;IAC7F,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,SAAS;IAOjB,gFAAgF;IAChF,OAAO,CAAC,QAAQ;IAehB,mDAAmD;IACnD,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,YAAY;IASpB,4GAA4G;IAC5G,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,WAAW;IA8CnB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IAmBpB,mGAAmG;IACnG,OAAO,CAAC,QAAQ;IAmBhB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,MAAM;CAMf"}
|