@tradecanvas/core 1.26.0 → 1.29.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/charts/LineWithMarkersRenderer.d.ts.map +1 -1
- package/dist/drawings/DrawingManager.d.ts +20 -1
- package/dist/drawings/DrawingManager.d.ts.map +1 -1
- package/dist/engine/CanvasLayer.d.ts +5 -0
- package/dist/engine/CanvasLayer.d.ts.map +1 -1
- package/dist/engine/DPRManager.d.ts +22 -1
- package/dist/engine/DPRManager.d.ts.map +1 -1
- package/dist/engine/LayerManager.d.ts.map +1 -1
- package/dist/engine/RenderEngine.d.ts +2 -1
- package/dist/engine/RenderEngine.d.ts.map +1 -1
- package/dist/engine/RenderLoop.d.ts +7 -0
- package/dist/engine/RenderLoop.d.ts.map +1 -1
- package/dist/engine/index.d.ts +1 -1
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/features/AlertManager.d.ts.map +1 -1
- package/dist/features/TradeZoneManager.d.ts.map +1 -1
- package/dist/finance/BaseFinanceChart.d.ts.map +1 -1
- package/dist/index.cjs +5 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2699 -2530
- package/dist/index.js.map +1 -1
- package/dist/indicators/IndicatorEngine.d.ts +11 -0
- package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
- package/dist/interaction/AlertDragHandler.d.ts +2 -2
- package/dist/interaction/AlertDragHandler.d.ts.map +1 -1
- package/dist/interaction/InteractionManager.d.ts +28 -2
- package/dist/interaction/InteractionManager.d.ts.map +1 -1
- package/dist/interaction/PanHandler.d.ts.map +1 -1
- package/dist/interaction/PaneResizeHandler.d.ts +3 -3
- package/dist/interaction/PaneResizeHandler.d.ts.map +1 -1
- package/dist/interaction/PinnedTooltip.d.ts.map +1 -1
- package/dist/interaction/TapTracker.d.ts +13 -0
- package/dist/interaction/TapTracker.d.ts.map +1 -0
- package/dist/interaction/index.d.ts +3 -0
- package/dist/interaction/index.d.ts.map +1 -1
- package/dist/interaction/pointerReach.d.ts +25 -0
- package/dist/interaction/pointerReach.d.ts.map +1 -0
- package/dist/realtime/ReconnectManager.d.ts.map +1 -1
- package/dist/realtime/StreamManager.d.ts +9 -17
- package/dist/realtime/StreamManager.d.ts.map +1 -1
- package/dist/trading/BracketTool.d.ts +6 -2
- package/dist/trading/BracketTool.d.ts.map +1 -1
- package/dist/trading/OrderDraftTool.d.ts +6 -2
- package/dist/trading/OrderDraftTool.d.ts.map +1 -1
- package/dist/trading/TradingDragHandler.d.ts +2 -0
- package/dist/trading/TradingDragHandler.d.ts.map +1 -1
- package/dist/trading/TradingManager.d.ts +12 -1
- package/dist/trading/TradingManager.d.ts.map +1 -1
- package/dist/trading/lineButtons.d.ts +1 -1
- package/dist/trading/lineButtons.d.ts.map +1 -1
- package/dist/ui/drawIcon.d.ts +10 -0
- package/dist/ui/drawIcon.d.ts.map +1 -0
- package/dist/ui/index.d.ts +1 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/viewport/Viewport.d.ts +11 -1
- package/dist/viewport/Viewport.d.ts.map +1 -1
- package/dist/viewport/index.d.ts +1 -1
- package/dist/viewport/index.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -16,6 +16,8 @@ export declare class IndicatorEngine {
|
|
|
16
16
|
private styleDefaults;
|
|
17
17
|
/** Instances in computing order (each after the indicators it reads); null = recompute. */
|
|
18
18
|
private order;
|
|
19
|
+
/** A recalculation waiting for the next read (`deferRecalculateFrom`). */
|
|
20
|
+
private pending;
|
|
19
21
|
register(plugin: IndicatorPlugin): void;
|
|
20
22
|
getAvailableIndicators(): IndicatorDescriptor[];
|
|
21
23
|
/**
|
|
@@ -35,6 +37,15 @@ export declare class IndicatorEngine {
|
|
|
35
37
|
*/
|
|
36
38
|
updateIndicator(instanceId: string, params: Record<string, number | string | boolean>, data?: DataSeries): void;
|
|
37
39
|
recalculateAll(data: DataSeries): void;
|
|
40
|
+
/**
|
|
41
|
+
* `recalculateFrom`, later: before the next read of a value (a frame, an
|
|
42
|
+
* alert check, the legend), once for all the ticks that came since, from
|
|
43
|
+
* the earliest bar they touched. A live feed sending ticks faster than
|
|
44
|
+
* frames then costs one recalculation a frame, not one a tick.
|
|
45
|
+
*/
|
|
46
|
+
deferRecalculateFrom(data: DataSeries, from: number): void;
|
|
47
|
+
/** Run a deferred recalculation now, if one is waiting. */
|
|
48
|
+
flush(): void;
|
|
38
49
|
/**
|
|
39
50
|
* Recompute after bars at index `from` and later changed or were appended,
|
|
40
51
|
* with bars `[0, from)` untouched — a live tick (`from = length - 1`) or a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IndicatorEngine.d.ts","sourceRoot":"","sources":["../../src/indicators/IndicatorEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,UAAU,EAEV,aAAa,EACb,YAAY,EACb,MAAM,sBAAsB,CAAC;AAqC9B,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,mBAAmB,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,SAAS,CAAwC;IACzD,gFAAgF;IAChF,OAAO,CAAC,aAAa,CAA2C;IAChE,2FAA2F;IAC3F,OAAO,CAAC,KAAK,CAAoC;
|
|
1
|
+
{"version":3,"file":"IndicatorEngine.d.ts","sourceRoot":"","sources":["../../src/indicators/IndicatorEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,8 @@ export declare class AlertDragHandler {
|
|
|
12
12
|
constructor(alerts: AlertManager, viewportGetter: () => ViewportState | null);
|
|
13
13
|
/** True when the pointer is hovering an alert line (for cursor feedback). */
|
|
14
14
|
isOverAlert(pos: Point): boolean;
|
|
15
|
-
/** Begin a drag if an alert line is
|
|
16
|
-
tryBegin(pos: Point): boolean;
|
|
15
|
+
/** Begin a drag if an alert line is within `reach` px of the pointer (a finger's is wider). Returns true if consumed. */
|
|
16
|
+
tryBegin(pos: Point, reach?: number): boolean;
|
|
17
17
|
move(pos: Point): void;
|
|
18
18
|
end(): void;
|
|
19
19
|
isActive(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AlertDragHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/AlertDragHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IAJxB,OAAO,CAAC,UAAU,CAAuB;gBAG/B,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,aAAa,GAAG,IAAI;IAGpD,6EAA6E;IAC7E,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO;IAMhC,
|
|
1
|
+
{"version":3,"file":"AlertDragHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/AlertDragHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,cAAc;IAJxB,OAAO,CAAC,UAAU,CAAuB;gBAG/B,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,MAAM,aAAa,GAAG,IAAI;IAGpD,6EAA6E;IAC7E,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO;IAMhC,yHAAyH;IACzH,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAS7C,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAOtB,GAAG,IAAI,IAAI;IAIX,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -73,8 +73,22 @@ export declare class InteractionManager {
|
|
|
73
73
|
private touchActive;
|
|
74
74
|
private touchStartPos;
|
|
75
75
|
private longPressTimer;
|
|
76
|
-
private
|
|
77
|
-
|
|
76
|
+
private longPressed;
|
|
77
|
+
/** The finger's press fell through to a pan (nothing took it). */
|
|
78
|
+
private touchFallthrough;
|
|
79
|
+
/** Whose the first move made the gesture has been decided (where the page pans too). */
|
|
80
|
+
private touchDecided;
|
|
81
|
+
/** The page took this touch (a scroll): the chart lets it be until the finger lifts. */
|
|
82
|
+
private touchYielded;
|
|
83
|
+
private taps;
|
|
84
|
+
/** Vertical swipes and the plain wheel scroll the page (see `setPageScroll`). */
|
|
85
|
+
private pageScroll;
|
|
86
|
+
/** The touch's start was the chart's (prevented): no mouse events follow it anyway. */
|
|
87
|
+
private touchStartPrevented;
|
|
88
|
+
/** When a finger was last on the chart (the browser's own long-press menu follows it). */
|
|
89
|
+
private lastTouchAt;
|
|
90
|
+
/** The press placed a point of a drawing being made. */
|
|
91
|
+
private pressPlacedPoint;
|
|
78
92
|
private cachedRect;
|
|
79
93
|
constructor(element: HTMLElement);
|
|
80
94
|
/**
|
|
@@ -158,6 +172,18 @@ export declare class InteractionManager {
|
|
|
158
172
|
setAxisStrips(getter: () => AxisStrips): void;
|
|
159
173
|
/** Enable dragging pane dividers to resize indicator panels. */
|
|
160
174
|
setPaneResizeHandler(handler: PaneResizeHandler): void;
|
|
175
|
+
/**
|
|
176
|
+
* For a chart on a page that scrolls: a one-finger vertical swipe and the
|
|
177
|
+
* plain mouse wheel scroll the page; a sideways swipe pans the chart, two
|
|
178
|
+
* fingers or Ctrl + wheel (a trackpad pinch) zoom it. Presses on drawings,
|
|
179
|
+
* lines and axes stay the chart's.
|
|
180
|
+
*/
|
|
181
|
+
setPageScroll(on: boolean): void;
|
|
182
|
+
private refreshTouchAction;
|
|
183
|
+
/** Which one-finger pans (and pinch) the page keeps on the chart: those the chart doesn't use. */
|
|
184
|
+
private pageTakes;
|
|
185
|
+
/** `touch-action` for the chart: the browser pans and zooms only where the page keeps the gesture. */
|
|
186
|
+
private touchAction;
|
|
161
187
|
attach(): void;
|
|
162
188
|
detach(): void;
|
|
163
189
|
private clearLongPress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/interaction/InteractionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"InteractionManager.d.ts","sourceRoot":"","sources":["../../src/interaction/InteractionManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PanHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/PanHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PanHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/PanHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;AAuBnE;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI;IAKvD,UAAU,IAAI,OAAO;IAIrB,aAAa,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAS/B,aAAa,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAiB/B,WAAW,IAAI,IAAI;IAanB,iFAAiF;IACjF,cAAc,IAAI,IAAI;IAItB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IA8BrB,OAAO,CAAC,YAAY;CAMrB"}
|
|
@@ -18,11 +18,11 @@ export declare class PaneResizeHandler {
|
|
|
18
18
|
constructor(tolerance?: number);
|
|
19
19
|
configure(layoutGetter: () => ResolvedLayout, onResize: (panelId: string, size: number) => void): void;
|
|
20
20
|
/** The divider hit at `pos`, with its panel's position + current size, or null. Pure. */
|
|
21
|
-
hitTest(pos: Point, layout: ResolvedLayout): DividerHit | null;
|
|
21
|
+
hitTest(pos: Point, layout: ResolvedLayout, tolerance?: number): DividerHit | null;
|
|
22
22
|
/** The resize cursor for a divider under `pos`, or null. */
|
|
23
23
|
cursorAt(pos: Point): string | null;
|
|
24
|
-
/** Begin a resize if `pos` is on a divider. Returns true if the drag started. */
|
|
25
|
-
tryBegin(pos: Point): boolean;
|
|
24
|
+
/** Begin a resize if `pos` is on a divider, or within `tolerance` px (a finger's). Returns true if the drag started. */
|
|
25
|
+
tryBegin(pos: Point, tolerance?: number): boolean;
|
|
26
26
|
move(pos: Point): void;
|
|
27
27
|
/** The new size for the active drag at `pos`, or null. Pure (clamping is the Chart's job). */
|
|
28
28
|
computeSize(pos: Point): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaneResizeHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/PaneResizeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAQ,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASvF,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJtC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,QAAQ,CAA0D;gBAE7C,SAAS,SAAI;IAE1C,SAAS,CACP,YAAY,EAAE,MAAM,cAAc,EAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAChD,IAAI;IAKP,yFAAyF;IACzF,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"PaneResizeHandler.d.ts","sourceRoot":"","sources":["../../src/interaction/PaneResizeHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAQ,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AASvF,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,YAAY,GAAG,UAAU,CAAC;IACvC,QAAQ,EAAE,aAAa,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAKhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJtC,OAAO,CAAC,KAAK,CAA4B;IACzC,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,QAAQ,CAA0D;gBAE7C,SAAS,SAAI;IAE1C,SAAS,CACP,YAAY,EAAE,MAAM,cAAc,EAClC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAChD,IAAI;IAKP,yFAAyF;IACzF,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,SAAiB,GAAG,UAAU,GAAG,IAAI;IAkB1F,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAQnC,wHAAwH;IACxH,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAcjD,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAKtB,8FAA8F;IAC9F,WAAW,CAAC,GAAG,EAAE,KAAK,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAqBjE,GAAG,IAAI,IAAI;IAIX,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PinnedTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/PinnedTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,
|
|
1
|
+
{"version":3,"file":"PinnedTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/PinnedTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAkD,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxG;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,EAAE,CAAyB;IAEnC,OAAO,CAAC,cAAc,CAA4C;IAElE,wEAAwE;IACxE,WAAW,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAItC,yDAAyD;IACzD,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;IAItE,mCAAmC;IACnC,OAAO,CAAC,GAAG;IAIX,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAgDpC,uFAAuF;IACvF,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI;IAqC3E,KAAK,IAAI,IAAI;IAMb,QAAQ,IAAI,OAAO;IAInB,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAiC5G,OAAO,IAAI,IAAI;CAShB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Point } from '@tradecanvas/commons';
|
|
2
|
+
/** Most time, ms, between the taps of a double tap. */
|
|
3
|
+
export declare const DOUBLE_TAP_MS = 300;
|
|
4
|
+
/** Farthest apart, px, the taps of a double tap may land. */
|
|
5
|
+
export declare const DOUBLE_TAP_PX = 24;
|
|
6
|
+
/** Tells a double tap from two taps: close in time and place. */
|
|
7
|
+
export declare class TapTracker {
|
|
8
|
+
private last;
|
|
9
|
+
/** A tap at `pos`: true when it is the second of a double tap (a third starts over). */
|
|
10
|
+
tap(pos: Point, now?: number): boolean;
|
|
11
|
+
reset(): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=TapTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TapTracker.d.ts","sourceRoot":"","sources":["../../src/interaction/TapTracker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,uDAAuD;AACvD,eAAO,MAAM,aAAa,MAAM,CAAC;AACjC,6DAA6D;AAC7D,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,iEAAiE;AACjE,qBAAa,UAAU;IACrB,OAAO,CAAC,IAAI,CAA2C;IAEvD,wFAAwF;IACxF,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,SAAa,GAAG,OAAO;IAU1C,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -6,6 +6,9 @@ export { ZoomHandler } from './ZoomHandler.js';
|
|
|
6
6
|
export { AxisDragHandler } from './AxisDragHandler.js';
|
|
7
7
|
export { AlertDragHandler } from './AlertDragHandler.js';
|
|
8
8
|
export { PaneResizeHandler } from './PaneResizeHandler.js';
|
|
9
|
+
export { TOUCH_REACH } from './pointerReach.js';
|
|
10
|
+
export type { PointerKind, PointerReach } from './pointerReach.js';
|
|
11
|
+
export { TapTracker, DOUBLE_TAP_MS, DOUBLE_TAP_PX } from './TapTracker.js';
|
|
9
12
|
export { CrosshairHandler } from './CrosshairHandler.js';
|
|
10
13
|
export type { CrosshairMode } from './CrosshairHandler.js';
|
|
11
14
|
export { KeyboardHandler } from './KeyboardHandler.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interaction/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC5E,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** What pressed the chart: a mouse (or pen) or a finger. */
|
|
2
|
+
export type PointerKind = 'mouse' | 'touch';
|
|
3
|
+
/** How far, px, a finger may land from something and still take it. */
|
|
4
|
+
export interface PointerReach {
|
|
5
|
+
/** A drawing's line or shape. */
|
|
6
|
+
line: number;
|
|
7
|
+
/** A handle of the selected drawing, or a bracket's / an order draft's line. */
|
|
8
|
+
handle: number;
|
|
9
|
+
/** A price-alert line. */
|
|
10
|
+
alert: number;
|
|
11
|
+
/** An order or position line. */
|
|
12
|
+
order: number;
|
|
13
|
+
/** Around a button on an order or position line. */
|
|
14
|
+
button: number;
|
|
15
|
+
/** A divider between panes. */
|
|
16
|
+
divider: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* A finger covers about 40 px and hides what it presses, so it reaches
|
|
20
|
+
* further than a mouse (whose reach each part keeps as its default, 2 to
|
|
21
|
+
* 8 px): a handle about as wide as Apple's 44 pt target, lines about half that
|
|
22
|
+
* each side.
|
|
23
|
+
*/
|
|
24
|
+
export declare const TOUCH_REACH: Readonly<PointerReach>;
|
|
25
|
+
//# sourceMappingURL=pointerReach.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointerReach.d.ts","sourceRoot":"","sources":["../../src/interaction/pointerReach.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5C,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,YAAY,CAO9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconnectManager.d.ts","sourceRoot":"","sources":["../../src/realtime/ReconnectManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,UAAU,eAAe;IACvB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,OAAO,CAAC,eAAe,CAAC;IAC5D,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAK7C,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ReconnectManager.d.ts","sourceRoot":"","sources":["../../src/realtime/ReconnectManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,UAAU,eAAe;IACvB,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,gBAAiB,SAAQ,OAAO,CAAC,eAAe,CAAC;IAC5D,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,KAAK,CAA8C;IAC3D,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAK7C,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,GAAG,IAAI;IAuBrC,WAAW,IAAI,IAAI;IAMnB,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAMZ,MAAM,IAAI,IAAI;IAOd,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,OAAO;IAInB,OAAO,CAAC,YAAY;CAQrB"}
|
|
@@ -31,23 +31,6 @@ export interface StreamEvents {
|
|
|
31
31
|
symbolInfo: SymbolInfo;
|
|
32
32
|
[key: string]: unknown;
|
|
33
33
|
}
|
|
34
|
-
/**
|
|
35
|
-
* StreamManager — orchestrates data flow from adapter to chart.
|
|
36
|
-
*
|
|
37
|
-
* Responsibilities:
|
|
38
|
-
* 1. Manages adapter lifecycle (connect, disconnect, reconnect)
|
|
39
|
-
* 2. Loads historical data on connect
|
|
40
|
-
* 3. Routes incoming data through TickAggregator
|
|
41
|
-
* 4. Maintains current price for the price line
|
|
42
|
-
* 5. Provides clean event interface for the Chart class
|
|
43
|
-
*
|
|
44
|
-
* Usage:
|
|
45
|
-
* const stream = new StreamManager();
|
|
46
|
-
* stream.on('snapshot', (bars) => chart.setData(bars));
|
|
47
|
-
* stream.on('barClose', (bar) => chart.appendBar(bar));
|
|
48
|
-
* stream.on('barUpdate', (bar) => chart.updateLastBar(bar));
|
|
49
|
-
* stream.connect({ adapter, symbol: 'BTCUSDT', timeframe: '1m' });
|
|
50
|
-
*/
|
|
51
34
|
export declare class StreamManager extends Emitter<StreamEvents> {
|
|
52
35
|
private config;
|
|
53
36
|
private adapter;
|
|
@@ -78,6 +61,15 @@ export declare class StreamManager extends Emitter<StreamEvents> {
|
|
|
78
61
|
private wireAdapter;
|
|
79
62
|
private updatePrice;
|
|
80
63
|
private setState;
|
|
64
|
+
/**
|
|
65
|
+
* The page came back into view, or the network came back: don't wait up to
|
|
66
|
+
* a minute and a half for the heartbeat. A phone asleep stops a socket
|
|
67
|
+
* without closing it, so a connection silent longer than
|
|
68
|
+
* `RESUME_STALE_MS` reconnects now; after a network change any does. A
|
|
69
|
+
* retry waiting out its backoff goes now, and one that gave up gets a fresh
|
|
70
|
+
* round. A connect under way (a symbol switch) is left alone.
|
|
71
|
+
*/
|
|
72
|
+
wake(reason: 'visible' | 'online'): void;
|
|
81
73
|
private startHeartbeat;
|
|
82
74
|
private stopHeartbeat;
|
|
83
75
|
dispose(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamManager.d.ts","sourceRoot":"","sources":["../../src/realtime/StreamManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,OAAO,EACP,OAAO,EACP,aAAa,EACb,UAAU,EACV,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,SAAS,EAAE,aAAa,CAAC;IACzB,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,gEAAgE;IAChE,KAAK,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,+BAA+B;IAC/B,gBAAgB,EAAE,cAAc,CAAC;IACjC,qBAAqB;IACrB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,2EAA2E;IAC3E,UAAU,EAAE,UAAU,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;
|
|
1
|
+
{"version":3,"file":"StreamManager.d.ts","sourceRoot":"","sources":["../../src/realtime/StreamManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EAEd,OAAO,EACP,OAAO,EACP,aAAa,EACb,UAAU,EACV,SAAS,EACV,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAIzD,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,8BAA8B;IAC9B,QAAQ,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,SAAS,EAAE,aAAa,CAAC;IACzB,wBAAwB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7D,gEAAgE;IAChE,KAAK,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,+BAA+B;IAC/B,gBAAgB,EAAE,cAAc,CAAC;IACjC,qBAAqB;IACrB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,2EAA2E;IAC3E,UAAU,EAAE,UAAU,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAsBD,qBAAa,aAAc,SAAQ,OAAO,CAAC,YAAY,CAAC;IACtD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,WAAW,CAAmB;IACtC,QAAQ,CAAC,SAAS,mBAA0B;IAE5C,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAA+C;IACrE,OAAO,CAAC,eAAe,CAAK;IAC5B,yEAAyE;IACzE,OAAO,CAAC,UAAU,CAAK;;IAUjB,OAAO,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmClD,UAAU,IAAI,IAAI;IAuBlB;;;OAGG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBnE,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,IAAI,cAAc;IAQnC,YAAY,IAAI,MAAM,GAAG,IAAI;YAMf,SAAS;IAuCvB,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,WAAW;IAkEnB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,QAAQ;IAUhB;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI;IAaxC,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,aAAa;IAOrB,OAAO,IAAI,IAAI;CAIhB"}
|
|
@@ -27,6 +27,8 @@ export declare function bracketRiskReward(draft: BracketDraft): number;
|
|
|
27
27
|
*/
|
|
28
28
|
export declare class BracketTool {
|
|
29
29
|
private draft;
|
|
30
|
+
/** The draft as the drag found it, to put back if the drag is called off. */
|
|
31
|
+
private dragStart;
|
|
30
32
|
private dragging;
|
|
31
33
|
private defaults;
|
|
32
34
|
constructor(defaults?: BracketDefaultsOptions);
|
|
@@ -35,8 +37,10 @@ export declare class BracketTool {
|
|
|
35
37
|
isActive(): boolean;
|
|
36
38
|
getDraft(): BracketDraft | null;
|
|
37
39
|
/** Which handle (if any) is under the pointer. */
|
|
38
|
-
hitTest(pos: Point, viewport: ViewportState): BracketHandle | null;
|
|
39
|
-
beginDrag(pos: Point, viewport: ViewportState): boolean;
|
|
40
|
+
hitTest(pos: Point, viewport: ViewportState, tolerance?: number): BracketHandle | null;
|
|
41
|
+
beginDrag(pos: Point, viewport: ViewportState, tolerance?: number): boolean;
|
|
42
|
+
/** Call the drag off: the handle goes back to where it was. */
|
|
43
|
+
cancelDrag(): void;
|
|
40
44
|
drag(pos: Point, viewport: ViewportState): boolean;
|
|
41
45
|
endDrag(): void;
|
|
42
46
|
isDragging(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BracketTool.d.ts","sourceRoot":"","sources":["../../src/trading/BracketTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAInF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,sBAA2B,GAChC,YAAY,CASd;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAI7D;AAID;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,QAAQ,GAAE,sBAA2B;IAIjD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3C,MAAM,IAAI,IAAI;IAKd,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,YAAY,GAAG,IAAI;IAI/B,kDAAkD;IAClD,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"BracketTool.d.ts","sourceRoot":"","sources":["../../src/trading/BracketTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAInF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;AAElD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,sBAA2B,GAChC,YAAY,CASd;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAI7D;AAID;;;;GAIG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAA6B;IAC1C,6EAA6E;IAC7E,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,QAAQ,GAAE,sBAA2B;IAIjD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3C,MAAM,IAAI,IAAI;IAKd,QAAQ,IAAI,OAAO;IAInB,QAAQ,IAAI,YAAY,GAAG,IAAI;IAI/B,kDAAkD;IAClD,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,SAAmB,GAAG,aAAa,GAAG,IAAI;IAgBhG,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAQ3E,+DAA+D;IAC/D,UAAU,IAAI,IAAI;IAMlB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAOlD,OAAO,IAAI,IAAI;IAKf,UAAU,IAAI,OAAO;IAIrB,OAAO,CAAC,OAAO;IAKf,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,SAAI,GAAG,IAAI;CA8CvG"}
|
|
@@ -18,6 +18,8 @@ export declare function inferOrderType(side: OrderSide, price: number, marketPri
|
|
|
18
18
|
*/
|
|
19
19
|
export declare class OrderDraftTool {
|
|
20
20
|
private draft;
|
|
21
|
+
/** The draft as the drag found it, to put back if the drag is called off. */
|
|
22
|
+
private dragStart;
|
|
21
23
|
private dragging;
|
|
22
24
|
start(side: OrderSide, price: number, quantity?: number): void;
|
|
23
25
|
cancel(): void;
|
|
@@ -28,8 +30,10 @@ export declare class OrderDraftTool {
|
|
|
28
30
|
setPrice(price: number): boolean;
|
|
29
31
|
/** Build the place intent, inferring the type from the market price. */
|
|
30
32
|
toIntent(marketPrice: number | null): OrderPlaceIntent | null;
|
|
31
|
-
hitTest(pos: Point, viewport: ViewportState): boolean;
|
|
32
|
-
beginDrag(pos: Point, viewport: ViewportState): boolean;
|
|
33
|
+
hitTest(pos: Point, viewport: ViewportState, tolerance?: number): boolean;
|
|
34
|
+
beginDrag(pos: Point, viewport: ViewportState, tolerance?: number): boolean;
|
|
35
|
+
/** Call the drag off: the line goes back to where it was. */
|
|
36
|
+
cancelDrag(): void;
|
|
33
37
|
drag(pos: Point, viewport: ViewportState): boolean;
|
|
34
38
|
endDrag(): void;
|
|
35
39
|
render(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme, marketPrice: number | null, pricePrecision?: number): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDraftTool.d.ts","sourceRoot":"","sources":["../../src/trading/OrderDraftTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,KAAK,EACN,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,SAAS,CAIX;AAID;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,QAAQ,CAAS;IAEzB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,IAAI;IAKzD,MAAM,IAAI,IAAI;IAKd,QAAQ,IAAI,OAAO;IAInB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,UAAU,GAAG,IAAI;IAI7B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMhC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI;IAU7D,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"OrderDraftTool.d.ts","sourceRoot":"","sources":["../../src/trading/OrderDraftTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,KAAK,EACN,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,SAAS,CAIX;AAID;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,KAAK,CAA2B;IACxC,6EAA6E;IAC7E,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAS;IAEzB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,IAAI;IAKzD,MAAM,IAAI,IAAI;IAKd,QAAQ,IAAI,OAAO;IAInB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,UAAU,GAAG,IAAI;IAI7B,yEAAyE;IACzE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAMhC,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,IAAI;IAU7D,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,SAAmB,GAAG,OAAO;IAKnF,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAO3E,6DAA6D;IAC7D,UAAU,IAAI,IAAI;IAMlB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAKlD,OAAO,IAAI,IAAI;IAKf,MAAM,CACJ,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,cAAc,SAAI,GACjB,IAAI;CA4BR"}
|
|
@@ -15,6 +15,8 @@ export declare class TradingDragHandler {
|
|
|
15
15
|
onPointerDown(pos: Point, orders: TradingOrder[], positions: TradingPosition[], viewport: ViewportState, tolerance: number): boolean;
|
|
16
16
|
onPointerMove(pos: Point, viewport: ViewportState): boolean;
|
|
17
17
|
onPointerUp(): DragResult | null;
|
|
18
|
+
/** Drop the drag: the line goes back to where it was, nothing to report. */
|
|
19
|
+
cancel(): boolean;
|
|
18
20
|
getDragState(): DragState | null;
|
|
19
21
|
isActive(): boolean;
|
|
20
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradingDragHandler.d.ts","sourceRoot":"","sources":["../../src/trading/TradingDragHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,aAAa;IAJjC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAS;gBAEL,aAAa,SAAI;IAErC,aAAa,CACX,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,YAAY,EAAE,EACtB,SAAS,EAAE,eAAe,EAAE,EAC5B,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO;IAqDV,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAY3D,WAAW,IAAI,UAAU,GAAG,IAAI;IAgBhC,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC,QAAQ,IAAI,OAAO;CAGpB"}
|
|
1
|
+
{"version":3,"file":"TradingDragHandler.d.ts","sourceRoot":"","sources":["../../src/trading/TradingDragHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,kBAAkB;IAKjB,OAAO,CAAC,aAAa;IAJjC,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAS;gBAEL,aAAa,SAAI;IAErC,aAAa,CACX,GAAG,EAAE,KAAK,EACV,MAAM,EAAE,YAAY,EAAE,EACtB,SAAS,EAAE,eAAe,EAAE,EAC5B,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO;IAqDV,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAY3D,WAAW,IAAI,UAAU,GAAG,IAAI;IAgBhC,4EAA4E;IAC5E,MAAM,IAAI,OAAO;IAOjB,YAAY,IAAI,SAAS,GAAG,IAAI;IAIhC,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PointerReach } from '../interaction/pointerReach.js';
|
|
1
2
|
import { TradingOrder, TradingPosition, DepthData, TradingConfig, ViewportState, Theme, Point, FillEvent, OrderSide } from '@tradecanvas/commons';
|
|
2
3
|
export declare class TradingManager {
|
|
3
4
|
private orders;
|
|
@@ -58,10 +59,20 @@ export declare class TradingManager {
|
|
|
58
59
|
isOrderDraftActive(): boolean;
|
|
59
60
|
/** Whether `pos` is over an order line or a position's SL/TP that can be dragged. */
|
|
60
61
|
isOverDraggableLine(pos: Point, viewport: ViewportState, tolerance?: number): boolean;
|
|
61
|
-
|
|
62
|
+
/**
|
|
63
|
+
* A press at `pos`. `reach` widens what it takes for a finger: the handles
|
|
64
|
+
* of a bracket or order draft, the lines' buttons, the lines.
|
|
65
|
+
*/
|
|
66
|
+
onPointerDown(pos: Point, viewport: ViewportState, reach?: Pick<PointerReach, 'handle' | 'order' | 'button'>): boolean;
|
|
62
67
|
onPointerMove(pos: Point, viewport: ViewportState): boolean;
|
|
63
68
|
/** End a press; `pos` is where it ended (none when the pointer left: a pressed button does nothing). */
|
|
64
69
|
onPointerUp(pos?: Point): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Call the press off (the browser took a touch back, a second finger
|
|
72
|
+
* landed): a dragged line or handle goes back where it was, a pressed
|
|
73
|
+
* button does nothing, and nothing is reported. True when there was one.
|
|
74
|
+
*/
|
|
75
|
+
cancelPointer(): boolean;
|
|
65
76
|
onContextMenu(pos: Point, viewport: ViewportState): boolean;
|
|
66
77
|
render(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme): void;
|
|
67
78
|
private renderInPlot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradingManager.d.ts","sourceRoot":"","sources":["../../src/trading/TradingManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,SAAS,EACT,aAAa,EACb,aAAa,EACb,KAAK,EACL,KAAK,EACL,SAAS,EACV,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,UAAU,CAAwB;IAC1C,yEAAyE;IACzE,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,aAAa,CAAyD;IAC9E,OAAO,CAAC,SAAS,CAA4B;gBAEjC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAS3C,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAI1C,gBAAgB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAItC,gBAAgB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAMlE,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI;IAKvC,YAAY,CAAC,SAAS,EAAE,eAAe,EAAE,GAAG,IAAI;IAKhD,SAAS,IAAI,YAAY,EAAE;IAI3B,YAAY,IAAI,eAAe,EAAE;IAIjC,sEAAsE;IACtE,eAAe,IAAI,MAAM,GAAG,IAAI;IAIhC,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAK3C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKpC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAO/C,gEAAgE;IAChE,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAM9B,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI;IAM3C,gFAAgF;IAChF,cAAc,IAAI,MAAM;IAIxB,QAAQ,IAAI,SAAS,EAAE;IAMvB,gFAAgF;IAChF,OAAO,CAAC,KAAK,CAAiC;IAE9C,mEAAmE;IACnE,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO;IAIjC,sFAAsF;IACtF,OAAO,CAAC,SAAS;IAmBjB,uEAAuE;IACvE,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKlD,aAAa,IAAI,IAAI;IAMrB,kFAAkF;IAClF,cAAc,IAAI,OAAO;IAezB,eAAe,IAAI,OAAO;IAM1B,kEAAkE;IAClE,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAKrD,gBAAgB,IAAI,IAAI;IAMxB,8EAA8E;IAC9E,iBAAiB,IAAI,OAAO;IAS5B,kBAAkB,IAAI,OAAO;IAI7B,qFAAqF;IACrF,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,SAAI,GAAG,OAAO;IAkBhF,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;
|
|
1
|
+
{"version":3,"file":"TradingManager.d.ts","sourceRoot":"","sources":["../../src/trading/TradingManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export interface LineButton {
|
|
|
23
23
|
}
|
|
24
24
|
/** Whether two buttons do the same thing (to the same order or position). */
|
|
25
25
|
export declare function sameLineAction(a: LineButtonAction, b: LineButtonAction): boolean;
|
|
26
|
-
export declare function buttonAt(buttons: readonly LineButton[], pos: Point): LineButton | null;
|
|
26
|
+
export declare function buttonAt(buttons: readonly LineButton[], pos: Point, slop?: number): LineButton | null;
|
|
27
27
|
/** A square button filled with `color`, a cross on it. */
|
|
28
28
|
export declare function drawCloseButton(ctx: CanvasRenderingContext2D, x: number, y: number, size: number, color: string): void;
|
|
29
29
|
/** A square button filled with `color`, an up and a down arrow on it (reverse). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineButtons.d.ts","sourceRoot":"","sources":["../../src/trading/lineButtons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAAA;CAAE,CAAC;AAEjF,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAKD,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAKhF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,GAAG,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"lineButtons.d.ts","sourceRoot":"","sources":["../../src/trading/lineButtons.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,uDAAuD;AACvD,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAAA;CAAE,CAAC;AAEjF,oDAAoD;AACpD,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAKD,6EAA6E;AAC7E,wBAAgB,cAAc,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAKhF;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,SAAO,GAAG,UAAU,GAAG,IAAI,CAOnG;AAED,0DAA0D;AAC1D,wBAAgB,eAAe,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYtH;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAsBxH"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IconDef } from '@tradecanvas/commons';
|
|
2
|
+
/**
|
|
3
|
+
* An icon of the TradeCanvas set on a canvas, `size` px square with its
|
|
4
|
+
* top-left at `x`, `y`, in `color`: the same strokes, fills, dashes and dots
|
|
5
|
+
* as the widget's inline SVG, so the chart's own labels carry the same icons.
|
|
6
|
+
* Placed on whole pixels, with strokes no thinner than a pixel, so it stays
|
|
7
|
+
* sharp at label sizes. Nothing where the canvas has no `Path2D`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function drawIcon(ctx: CanvasRenderingContext2D, icon: IconDef, x: number, y: number, size: number, color: string): void;
|
|
10
|
+
//# sourceMappingURL=drawIcon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawIcon.d.ts","sourceRoot":"","sources":["../../src/ui/drawIcon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAmBpD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA+B9H"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -14,4 +14,5 @@ export type { AxisValueLabel } from './axisValueLabels.js';
|
|
|
14
14
|
export { PriceLines } from './PriceLines.js';
|
|
15
15
|
export type { PriceLineKind, PriceLineLevel, BidAsk } from './PriceLines.js';
|
|
16
16
|
export { fillTag } from './shapes.js';
|
|
17
|
+
export { drawIcon } from './drawIcon.js';
|
|
17
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjG,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnL,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACjG,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnL,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -5,6 +5,8 @@ import { ViewportState, Rect, DataSeries, PriceScaleMode } from '@tradecanvas/co
|
|
|
5
5
|
* fit every loaded bar, and never past this.
|
|
6
6
|
*/
|
|
7
7
|
export declare const MIN_BAR_UNIT = 0.25;
|
|
8
|
+
/** The narrowest `setMinBarUnit` allows: 50 bars a pixel. */
|
|
9
|
+
export declare const MIN_BAR_UNIT_LIMIT = 0.02;
|
|
8
10
|
export declare class Viewport {
|
|
9
11
|
private state;
|
|
10
12
|
private priceAxisWidth;
|
|
@@ -25,6 +27,7 @@ export declare class Viewport {
|
|
|
25
27
|
private rightMarginBars;
|
|
26
28
|
private freePan;
|
|
27
29
|
private minVisibleBars;
|
|
30
|
+
private minBarUnit;
|
|
28
31
|
constructor(containerWidth: number, containerHeight: number, minBarWidth?: number, maxBarWidth?: number, rightMarginBars?: number);
|
|
29
32
|
/**
|
|
30
33
|
* Returns a snapshot (deep copy). Safe to store/pass. Cached: repeated
|
|
@@ -69,9 +72,16 @@ export declare class Viewport {
|
|
|
69
72
|
private floorUnit;
|
|
70
73
|
/**
|
|
71
74
|
* The narrowest slot right now: the usual floor, or less when the loaded
|
|
72
|
-
* bars only fit below it — down to `MIN_BAR_UNIT
|
|
75
|
+
* bars only fit below it — down to `minBarUnit` (`MIN_BAR_UNIT` unless set).
|
|
73
76
|
*/
|
|
74
77
|
private minUnit;
|
|
78
|
+
/**
|
|
79
|
+
* How narrow a slot may get to fit a long series, px: `MIN_BAR_UNIT` (four
|
|
80
|
+
* bars a pixel) by default, down to `MIN_BAR_UNIT_LIMIT`. Below a pixel the
|
|
81
|
+
* bars are drawn a pixel column at a time. Anything else sets the default.
|
|
82
|
+
*/
|
|
83
|
+
setMinBarUnit(px: number): void;
|
|
84
|
+
getMinBarUnit(): number;
|
|
75
85
|
private maxUnit;
|
|
76
86
|
/**
|
|
77
87
|
* Split a slot into bar and gap: above the floor the gap stays 2px, below it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI5F;;;;GAIG;AACH,eAAO,MAAM,YAAY,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"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"}
|
package/dist/viewport/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Viewport, MIN_BAR_UNIT } from './Viewport.js';
|
|
1
|
+
export { Viewport, MIN_BAR_UNIT, MIN_BAR_UNIT_LIMIT } from './Viewport.js';
|
|
2
2
|
export { barIndexToX, priceToY, priceToYMapper, priceBucketRow, xToBarIndex, yToPrice, timestampToBarIndex, resolveBarIndex, barTimeStep, pastTimeStep, barTimeStepMs, barIndexToTime, timeToX, xToTime, } from './ScaleMapping.js';
|
|
3
3
|
export { getVisibleData } from './DataWindow.js';
|
|
4
4
|
export { RANGE_PRESETS, rangePresetStart } from './rangePresets.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viewport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viewport/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,WAAW,EACX,QAAQ,EACR,cAAc,EACd,cAAc,EACd,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACb,cAAc,EACd,OAAO,EACP,OAAO,GACR,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACpE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tradecanvas/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.29.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Canvas rendering engine for @tradecanvas/chart",
|
|
6
6
|
"license": "MIT",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"README.md"
|
|
39
39
|
],
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@tradecanvas/commons": "1.
|
|
41
|
+
"@tradecanvas/commons": "1.29.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"jsdom": "^25.0.1",
|