@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.
Files changed (59) hide show
  1. package/dist/charts/LineWithMarkersRenderer.d.ts.map +1 -1
  2. package/dist/drawings/DrawingManager.d.ts +20 -1
  3. package/dist/drawings/DrawingManager.d.ts.map +1 -1
  4. package/dist/engine/CanvasLayer.d.ts +5 -0
  5. package/dist/engine/CanvasLayer.d.ts.map +1 -1
  6. package/dist/engine/DPRManager.d.ts +22 -1
  7. package/dist/engine/DPRManager.d.ts.map +1 -1
  8. package/dist/engine/LayerManager.d.ts.map +1 -1
  9. package/dist/engine/RenderEngine.d.ts +2 -1
  10. package/dist/engine/RenderEngine.d.ts.map +1 -1
  11. package/dist/engine/RenderLoop.d.ts +7 -0
  12. package/dist/engine/RenderLoop.d.ts.map +1 -1
  13. package/dist/engine/index.d.ts +1 -1
  14. package/dist/engine/index.d.ts.map +1 -1
  15. package/dist/features/AlertManager.d.ts.map +1 -1
  16. package/dist/features/TradeZoneManager.d.ts.map +1 -1
  17. package/dist/finance/BaseFinanceChart.d.ts.map +1 -1
  18. package/dist/index.cjs +5 -5
  19. package/dist/index.cjs.map +1 -1
  20. package/dist/index.js +2699 -2530
  21. package/dist/index.js.map +1 -1
  22. package/dist/indicators/IndicatorEngine.d.ts +11 -0
  23. package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
  24. package/dist/interaction/AlertDragHandler.d.ts +2 -2
  25. package/dist/interaction/AlertDragHandler.d.ts.map +1 -1
  26. package/dist/interaction/InteractionManager.d.ts +28 -2
  27. package/dist/interaction/InteractionManager.d.ts.map +1 -1
  28. package/dist/interaction/PanHandler.d.ts.map +1 -1
  29. package/dist/interaction/PaneResizeHandler.d.ts +3 -3
  30. package/dist/interaction/PaneResizeHandler.d.ts.map +1 -1
  31. package/dist/interaction/PinnedTooltip.d.ts.map +1 -1
  32. package/dist/interaction/TapTracker.d.ts +13 -0
  33. package/dist/interaction/TapTracker.d.ts.map +1 -0
  34. package/dist/interaction/index.d.ts +3 -0
  35. package/dist/interaction/index.d.ts.map +1 -1
  36. package/dist/interaction/pointerReach.d.ts +25 -0
  37. package/dist/interaction/pointerReach.d.ts.map +1 -0
  38. package/dist/realtime/ReconnectManager.d.ts.map +1 -1
  39. package/dist/realtime/StreamManager.d.ts +9 -17
  40. package/dist/realtime/StreamManager.d.ts.map +1 -1
  41. package/dist/trading/BracketTool.d.ts +6 -2
  42. package/dist/trading/BracketTool.d.ts.map +1 -1
  43. package/dist/trading/OrderDraftTool.d.ts +6 -2
  44. package/dist/trading/OrderDraftTool.d.ts.map +1 -1
  45. package/dist/trading/TradingDragHandler.d.ts +2 -0
  46. package/dist/trading/TradingDragHandler.d.ts.map +1 -1
  47. package/dist/trading/TradingManager.d.ts +12 -1
  48. package/dist/trading/TradingManager.d.ts.map +1 -1
  49. package/dist/trading/lineButtons.d.ts +1 -1
  50. package/dist/trading/lineButtons.d.ts.map +1 -1
  51. package/dist/ui/drawIcon.d.ts +10 -0
  52. package/dist/ui/drawIcon.d.ts.map +1 -0
  53. package/dist/ui/index.d.ts +1 -0
  54. package/dist/ui/index.d.ts.map +1 -1
  55. package/dist/viewport/Viewport.d.ts +11 -1
  56. package/dist/viewport/Viewport.d.ts.map +1 -1
  57. package/dist/viewport/index.d.ts +1 -1
  58. package/dist/viewport/index.d.ts.map +1 -1
  59. 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":"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"}
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 under the pointer. Returns true if consumed. */
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,oFAAoF;IACpF,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO;IAS7B,IAAI,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAOtB,GAAG,IAAI,IAAI;IAIX,QAAQ,IAAI,OAAO;CAGpB"}
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 readonly longPressMs;
77
- private readonly longPressMaxMove;
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":"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"}
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;AAkBnE;;;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;IAWnB,iFAAiF;IACjF,cAAc,IAAI,IAAI;IAItB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,YAAY;CAMrB"}
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;IAkB9D,4DAA4D;IAC5D,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI;IAQnC,iFAAiF;IACjF,QAAQ,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO;IAc7B,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
+ {"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,EAA+B,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGrF;;;;;;;;;;;;;;;;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;IA4CpC,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"}
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;IAoBrC,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"}
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;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,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,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,aAAa;IAOrB,OAAO,IAAI,IAAI;CAIhB"}
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;IAgBlE,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAOvD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAOlD,OAAO,IAAI,IAAI;IAIf,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"}
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;IAKrD,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAMvD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO;IAKlD,OAAO,IAAI,IAAI;IAIf,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"}
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
- onPointerDown(pos: Point, viewport: ViewportState): boolean;
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":"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"}
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,CAOtF;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"}
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"}
@@ -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
@@ -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;AAEjC,qBAAa,QAAQ;IACnB,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,cAAc,CAAoB;IAC1C;;;;;;;;;OASG;IACH,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,cAAc,CAAK;gBAGzB,cAAc,EAAE,MAAM,EACtB,eAAe,EAAE,MAAM,EACvB,WAAW,SAAI,EACf,WAAW,SAAK,EAChB,eAAe,SAAI;IAgBrB;;;OAGG;IACH,QAAQ,IAAI,aAAa;IAqBzB,8EAA8E;IAC9E,OAAO,CAAC,UAAU;IAIlB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAInC,UAAU,IAAI,OAAO;IAIrB,mFAAmF;IACnF,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAMxC,YAAY,IAAI,cAAc;IAI9B,wEAAwE;IACxE,cAAc,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAKvC,aAAa,IAAI,OAAO;IAIxB,+FAA+F;IAC/F,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAM5F,mEAAmE;IACnE,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAKjD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC,cAAc,IAAI,MAAM;IAIxB;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAO1E,qGAAqG;IACrG,OAAO,CAAC,SAAS;IAKjB,yEAAyE;IACzE,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAOtC,OAAO,CAAC,gBAAgB;IASxB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAO3C,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAa9B,gEAAgE;IAChE,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACH,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,OAAO;IAIf;;;OAGG;IACH,OAAO,CAAC,SAAS;IAajB;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAQjB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,GAAG,IAAI;IAwBtD;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7C;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAUrC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAOnC;;;;;;;;;OASG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAsBxC;;;;OAIG;IACH,OAAO,IAAI,OAAO;IAKlB,WAAW,IAAI,IAAI;IAUnB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAwB1C;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAY9C,OAAO,CAAC,WAAW;IAgDnB,OAAO,CAAC,kBAAkB;CAS3B"}
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"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"}
@@ -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;AACvD,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"}
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.26.0",
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.26.0"
41
+ "@tradecanvas/commons": "1.29.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "jsdom": "^25.0.1",