@tradecanvas/core 1.49.1 → 1.51.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.
@@ -1 +1 @@
1
- {"version":3,"file":"CrosshairTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/CrosshairTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAgG,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAQtJ,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,+EAA+E;IAC/E,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wGAAwG;IACxG,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,eAAe,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,SAAU,EAChB,IAAI,CAAC,EAAE,WAAW,GACjB,MAAM,CAYR;AAUD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,aAAa,CAA8B;IAGnD,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAuG;IACvH,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAO;IAErB,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IA4DpC,6CAA6C;IAC7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,uFAAuF;IACvF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIjD,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAI5C,qDAAqD;IACrD,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;IAItE,mDAAmD;IACnD,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIvD,IAAI,CACF,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAChD,OAAO,GAAE,uBAA4B,GACpC,IAAI;IAqDP,IAAI,IAAI,IAAI;IAOZ,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,UAAU;CAenB"}
1
+ {"version":3,"file":"CrosshairTooltip.d.ts","sourceRoot":"","sources":["../../src/interaction/CrosshairTooltip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAgG,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAStJ,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,+EAA+E;IAC/E,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wGAAwG;IACxG,QAAQ,CAAC,EAAE,WAAW,CAAC;CACxB;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,eAAe,EACnB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,SAAU,EAChB,IAAI,CAAC,EAAE,WAAW,GACjB,MAAM,CAYR;AAUD;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,EAAE,CAA4B;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAsB;IAE1C,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,aAAa,CAA8B;IAGnD,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAuG;IACvH,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAO;IAErB,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IA8DpC,6CAA6C;IAC7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,uFAAuF;IACvF,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIjD,sGAAsG;IACtG,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAI5C,qDAAqD;IACrD,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;IAItE,mDAAmD;IACnD,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIvD,IAAI,CACF,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAChD,OAAO,GAAE,uBAA4B,GACpC,IAAI;IAqDP,IAAI,IAAI,IAAI;IAOZ,SAAS,IAAI,OAAO;IAIpB,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,UAAU;CAenB"}
@@ -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,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"}
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;AAIxG;;;;;;;;;;;;;;;;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;IAkDpC,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"}
@@ -18,6 +18,9 @@ export interface SessionBreakConfig {
18
18
  /**
19
19
  * Renders vertical session break lines on the chart.
20
20
  * Detects day boundaries from bar timestamps and draws vertical separators.
21
+ * The lines carry no dates: the time axis names the days, months and years at
22
+ * every zoom, and dates along the top of the plot repeated it and ran under
23
+ * the legend.
21
24
  */
22
25
  export declare class SessionBreaks {
23
26
  private config;
@@ -25,9 +28,12 @@ export declare class SessionBreaks {
25
28
  private cachedMedianStep;
26
29
  private cacheValid;
27
30
  private lastDataLength;
28
- private locale;
29
31
  private tz;
30
32
  setConfig(config: Partial<SessionBreakConfig>): void;
33
+ /**
34
+ * @deprecated The breaks no longer write dates, so the locale changes nothing;
35
+ * the time axis formats the dates. Removed in 2.0.
36
+ */
31
37
  setLocale(locale: string): void;
32
38
  /** Days start at midnight in this timezone (default: the browser's). */
33
39
  setTimezone(tz: TimeZoneSetting): void;
@@ -36,14 +42,17 @@ export declare class SessionBreaks {
36
42
  /**
37
43
  * Find bar indices where a new trading day begins. Each entry also carries
38
44
  * the strength of the break: 'day' < 'week' < 'month' < 'year'. Renderer
39
- * uses this to draw progressively heavier separators + labels.
45
+ * uses this to draw progressively heavier separators.
40
46
  */
41
47
  private computeBreaksTyped;
42
- /** The break lines and their labels. */
48
+ /** The break lines. */
43
49
  render(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme, data: DataSeries): void;
44
- /** The break lines alone: the chart draws them under the bars and the labels over them. */
50
+ /** The break lines, which the chart draws under the bars. */
45
51
  renderLines(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme, data: DataSeries): void;
46
- /** The labels of week, month and year breaks, drawn over the bars. */
52
+ /**
53
+ * @deprecated Draws nothing: the breaks are lines only, and their dates are
54
+ * on the time axis. Removed in 2.0.
55
+ */
47
56
  renderLabels(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme, data: DataSeries): void;
48
57
  /** The break lines as filled rectangles for the GPU, dashed as the 2D lines are. */
49
58
  lineRects(viewport: ViewportState, theme: Theme, data: DataSeries): GpuRect[];
@@ -51,7 +60,7 @@ export declare class SessionBreaks {
51
60
  private look;
52
61
  /** The breaks drawn: those on screen, the lesser left out where they would crowd. */
53
62
  private lineMarks;
54
- /** The breaks on screen, each with its line and label, heavier as the boundary is more significant. */
63
+ /** The breaks on screen, each with its line, heavier as the boundary is more significant. */
55
64
  private marks;
56
65
  /** Invalidate cache when data changes */
57
66
  invalidateCache(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"SessionBreaks.d.ts","sourceRoot":"","sources":["../../src/ui/SessionBreaks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsDD;;;GAGG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,gBAAgB,CAAK;IAI7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,EAAE,CAAyB;IAEnC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIpD,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,wEAAwE;IACxE,WAAW,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAMtC,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAkC1B,wCAAwC;IACxC,MAAM,CACJ,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAKP,2FAA2F;IAC3F,WAAW,CACT,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAqBP,sEAAsE;IACtE,YAAY,CACV,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAwBP,oFAAoF;IACpF,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,EAAE;IAS7E,2FAA2F;IAC3F,OAAO,CAAC,IAAI;IASZ,qFAAqF;IACrF,OAAO,CAAC,SAAS;IAIjB,uGAAuG;IACvG,OAAO,CAAC,KAAK;IA6Cb,yCAAyC;IACzC,eAAe,IAAI,IAAI;CAMxB"}
1
+ {"version":3,"file":"SessionBreaks.d.ts","sourceRoot":"","sources":["../../src/ui/SessionBreaks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG9F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,WAAW,kBAAkB;IACjC,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,2FAA2F;IAC3F,YAAY,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgDD;;;;;;GAMG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAA0C;IACxD,OAAO,CAAC,iBAAiB,CAAsB;IAC/C,OAAO,CAAC,gBAAgB,CAAK;IAI7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,EAAE,CAAyB;IAEnC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIpD;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAK/B,wEAAwE;IACxE,WAAW,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;IAMtC,SAAS,IAAI,OAAO;IAIpB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAiC1B,uBAAuB;IACvB,MAAM,CACJ,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAIP,6DAA6D;IAC7D,WAAW,CACT,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IAqBP;;;OAGG;IACH,YAAY,CACV,GAAG,EAAE,wBAAwB,EAC7B,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,UAAU,GACf,IAAI;IASP,oFAAoF;IACpF,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,EAAE;IAS7E,2FAA2F;IAC3F,OAAO,CAAC,IAAI;IASZ,qFAAqF;IACrF,OAAO,CAAC,SAAS;IAIjB,6FAA6F;IAC7F,OAAO,CAAC,KAAK;IAyCb,yCAAyC;IACzC,eAAe,IAAI,IAAI;CAMxB"}
@@ -1,8 +1,8 @@
1
- import { ViewportState, Rect, DataSeries, PriceScaleMode, ScaleMargins } from '@tradecanvas/commons';
1
+ import { BarLayout, ViewportState, Rect, DataSeries, PriceScaleMode, ScaleMargins } from '@tradecanvas/commons';
2
2
  /**
3
- * Narrowest bar slot (bar + gap) in CSS pixels. Below the usual floor
4
- * (`minBarWidth` + the 2px gap) the chart only zooms out as far as it takes to
5
- * fit every loaded bar, and never past this.
3
+ * Narrowest bar slot (bar + gap) in CSS pixels. Below the usual floor (the
4
+ * slot whose body is `minBarWidth`) the chart only zooms out as far as it
5
+ * takes to fit every loaded bar, and never past this.
6
6
  */
7
7
  export declare const MIN_BAR_UNIT = 0.25;
8
8
  /** The narrowest `setMinBarUnit` allows: 50 bars a pixel. */
@@ -31,6 +31,7 @@ export declare class Viewport {
31
31
  private freePan;
32
32
  private minVisibleBars;
33
33
  private minBarUnit;
34
+ private barLayout;
34
35
  constructor(containerWidth: number, containerHeight: number, minBarWidth?: number, maxBarWidth?: number, rightMarginBars?: number);
35
36
  /**
36
37
  * Returns a snapshot (deep copy). Safe to store/pass. Cached: repeated
@@ -73,7 +74,16 @@ export declare class Viewport {
73
74
  private computeChartRect;
74
75
  resize(width: number, height: number): void;
75
76
  setChartRect(rect: Rect): void;
76
- /** The usual narrowest slot: `minBarWidth` plus the 2px gap. */
77
+ /**
78
+ * How a bar fills its slot (see `BarLayout`). Before any bars the chart
79
+ * opens at the layout's own slot; over bars on screen the zoom stays and
80
+ * only its split into body and gap changes.
81
+ */
82
+ setBarLayout(layout: BarLayout): void;
83
+ getBarLayout(): BarLayout;
84
+ /** The slot a chart opens at: 10 px classic (8 and a 2 px gap), φ⁴ golden. */
85
+ private openingUnit;
86
+ /** The usual narrowest slot: where the body is `minBarWidth` (classic: and the 2px gap). */
77
87
  private floorUnit;
78
88
  /**
79
89
  * The narrowest slot right now: the usual floor, or less when the loaded
@@ -89,8 +99,9 @@ export declare class Viewport {
89
99
  getMinBarUnit(): number;
90
100
  private maxUnit;
91
101
  /**
92
- * Split a slot into bar and gap: above the floor the gap stays 2px, below it
93
- * both shrink in the floor's proportions, so the bars never turn into gaps.
102
+ * Split a slot into bar and gap. Golden: the body is φ⁻¹ of it, at every
103
+ * size. Classic: above the floor the gap stays 2px, below it both shrink
104
+ * in the floor's proportions, so the bars never turn into gaps.
94
105
  */
95
106
  private applyUnit;
96
107
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/viewport/Viewport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradecanvas/core",
3
- "version": "1.49.1",
3
+ "version": "1.51.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.49.1"
41
+ "@tradecanvas/commons": "1.51.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "jsdom": "^25.0.1",