@tradecanvas/chart 1.51.0 → 1.53.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 (119) hide show
  1. package/dist/Chart.d.ts +275 -10
  2. package/dist/Chart.d.ts.map +1 -1
  3. package/dist/DataManager.d.ts +24 -0
  4. package/dist/DataManager.d.ts.map +1 -1
  5. package/dist/HistoryPager.d.ts +12 -2
  6. package/dist/HistoryPager.d.ts.map +1 -1
  7. package/dist/{LayoutSession-Qkx1huV-.js → LayoutSession-D7uQq3jX.js} +1225 -474
  8. package/dist/LayoutSession-D7uQq3jX.js.map +1 -0
  9. package/dist/LayoutSession-nlhT-EH7.cjs +2 -0
  10. package/dist/LayoutSession-nlhT-EH7.cjs.map +1 -0
  11. package/dist/SeriesStore.d.ts +58 -4
  12. package/dist/SeriesStore.d.ts.map +1 -1
  13. package/dist/charts/ChartTypeStrategy.d.ts +32 -5
  14. package/dist/charts/ChartTypeStrategy.d.ts.map +1 -1
  15. package/dist/frameworks/feedBars.d.ts +22 -6
  16. package/dist/frameworks/feedBars.d.ts.map +1 -1
  17. package/dist/{i18n-DFTQ73Cz.js → i18n-CwCzRLKW.js} +39 -1
  18. package/dist/i18n-CwCzRLKW.js.map +1 -0
  19. package/dist/i18n-D7B7uFrN.cjs +2 -0
  20. package/dist/i18n-D7B7uFrN.cjs.map +1 -0
  21. package/dist/index.cjs +1 -1
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.d.ts +6 -6
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +124 -101
  26. package/dist/index.js.map +1 -1
  27. package/dist/io/resampleOHLCV.d.ts +10 -4
  28. package/dist/io/resampleOHLCV.d.ts.map +1 -1
  29. package/dist/replay/ReplayStepLoader.d.ts +52 -0
  30. package/dist/replay/ReplayStepLoader.d.ts.map +1 -0
  31. package/dist/replay/intrabarPath.d.ts +44 -0
  32. package/dist/replay/intrabarPath.d.ts.map +1 -0
  33. package/dist/replay/replayStep.d.ts +18 -0
  34. package/dist/replay/replayStep.d.ts.map +1 -0
  35. package/dist/widget/ChartWidget.d.ts +329 -13
  36. package/dist/widget/ChartWidget.d.ts.map +1 -1
  37. package/dist/widget/ChartWidgetGrid.d.ts.map +1 -1
  38. package/dist/widget/WidgetDataWindow.d.ts +7 -0
  39. package/dist/widget/WidgetDataWindow.d.ts.map +1 -1
  40. package/dist/widget/WidgetHotkeySheet.d.ts.map +1 -1
  41. package/dist/widget/WidgetIndicatorLegend.d.ts +21 -3
  42. package/dist/widget/WidgetIndicatorLegend.d.ts.map +1 -1
  43. package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -1
  44. package/dist/widget/WidgetObjectTree.d.ts +7 -1
  45. package/dist/widget/WidgetObjectTree.d.ts.map +1 -1
  46. package/dist/widget/WidgetReplayBar.d.ts +101 -23
  47. package/dist/widget/WidgetReplayBar.d.ts.map +1 -1
  48. package/dist/widget/WidgetSettings.d.ts +11 -3
  49. package/dist/widget/WidgetSettings.d.ts.map +1 -1
  50. package/dist/widget/chartSettingsStore.d.ts +76 -0
  51. package/dist/widget/chartSettingsStore.d.ts.map +1 -0
  52. package/dist/widget/chartTemplates.d.ts.map +1 -1
  53. package/dist/widget/compareLegend.d.ts +20 -0
  54. package/dist/widget/compareLegend.d.ts.map +1 -0
  55. package/dist/widget/index.cjs +382 -166
  56. package/dist/widget/index.cjs.map +1 -1
  57. package/dist/widget/index.d.ts +1 -1
  58. package/dist/widget/index.d.ts.map +1 -1
  59. package/dist/widget/index.js +2947 -2041
  60. package/dist/widget/index.js.map +1 -1
  61. package/dist/widget/indicatorInputWords.d.ts +19 -0
  62. package/dist/widget/indicatorInputWords.d.ts.map +1 -0
  63. package/dist/widget/locales/ar.d.ts.map +1 -1
  64. package/dist/widget/locales/cs.d.ts.map +1 -1
  65. package/dist/widget/locales/da.d.ts.map +1 -1
  66. package/dist/widget/locales/de.d.ts.map +1 -1
  67. package/dist/widget/locales/el.d.ts.map +1 -1
  68. package/dist/widget/locales/en.d.ts +20 -0
  69. package/dist/widget/locales/en.d.ts.map +1 -1
  70. package/dist/widget/locales/es.d.ts.map +1 -1
  71. package/dist/widget/locales/et.d.ts.map +1 -1
  72. package/dist/widget/locales/fa.d.ts.map +1 -1
  73. package/dist/widget/locales/fr.d.ts.map +1 -1
  74. package/dist/widget/locales/he.d.ts.map +1 -1
  75. package/dist/widget/locales/hu.d.ts.map +1 -1
  76. package/dist/widget/locales/id.d.ts.map +1 -1
  77. package/dist/widget/locales/index.cjs +1 -1
  78. package/dist/widget/locales/index.cjs.map +1 -1
  79. package/dist/widget/locales/index.js +533 -1
  80. package/dist/widget/locales/index.js.map +1 -1
  81. package/dist/widget/locales/it.d.ts.map +1 -1
  82. package/dist/widget/locales/ja.d.ts.map +1 -1
  83. package/dist/widget/locales/ko.d.ts.map +1 -1
  84. package/dist/widget/locales/ms.d.ts.map +1 -1
  85. package/dist/widget/locales/nb.d.ts.map +1 -1
  86. package/dist/widget/locales/nl.d.ts.map +1 -1
  87. package/dist/widget/locales/pl.d.ts.map +1 -1
  88. package/dist/widget/locales/pt.d.ts.map +1 -1
  89. package/dist/widget/locales/ro.d.ts.map +1 -1
  90. package/dist/widget/locales/ru.d.ts.map +1 -1
  91. package/dist/widget/locales/sk.d.ts.map +1 -1
  92. package/dist/widget/locales/sv.d.ts.map +1 -1
  93. package/dist/widget/locales/th.d.ts.map +1 -1
  94. package/dist/widget/locales/tr.d.ts.map +1 -1
  95. package/dist/widget/locales/vi.d.ts.map +1 -1
  96. package/dist/widget/locales/zh.d.ts.map +1 -1
  97. package/dist/widget/locales/zhHant.d.ts.map +1 -1
  98. package/dist/widget/settingsRows.d.ts +12 -3
  99. package/dist/widget/settingsRows.d.ts.map +1 -1
  100. package/dist/widget/symbolInfoView.d.ts.map +1 -1
  101. package/dist/widget/types.d.ts +75 -7
  102. package/dist/widget/types.d.ts.map +1 -1
  103. package/dist/widget/widgetCompare.d.ts +18 -0
  104. package/dist/widget/widgetCompare.d.ts.map +1 -1
  105. package/dist/widget/widgetLayout.d.ts +13 -1
  106. package/dist/widget/widgetLayout.d.ts.map +1 -1
  107. package/dist/widget/widgetSettingsLook.d.ts +3 -1
  108. package/dist/widget/widgetSettingsLook.d.ts.map +1 -1
  109. package/dist/widget/widgetShareState.d.ts +8 -0
  110. package/dist/widget/widgetShareState.d.ts.map +1 -1
  111. package/dist/widget/widgetTimezones.d.ts +4 -1
  112. package/dist/widget/widgetTimezones.d.ts.map +1 -1
  113. package/package.json +3 -3
  114. package/dist/LayoutSession-DuV9kpdQ.cjs +0 -2
  115. package/dist/LayoutSession-DuV9kpdQ.cjs.map +0 -1
  116. package/dist/LayoutSession-Qkx1huV-.js.map +0 -1
  117. package/dist/i18n-Bg_UJSNs.cjs +0 -2
  118. package/dist/i18n-Bg_UJSNs.cjs.map +0 -1
  119. package/dist/i18n-DFTQ73Cz.js.map +0 -1
@@ -1,10 +1,19 @@
1
1
  export interface IndicatorLegendRow {
2
2
  instanceId: string;
3
- /** "EMA 50", "MACD 12 26 9". */
3
+ /**
4
+ * A symbol compared in percent rather than an indicator: its row has no
5
+ * settings or more buttons, and its name opens nothing.
6
+ */
7
+ kind?: 'compare';
8
+ /** "EMA 50", "MACD 12 26 9", "ETHUSDT". */
4
9
  label: string;
10
+ /** The colour of the line the row stands for, marked before its name (a compare's, whose figures are in the text colour). */
11
+ swatch?: string;
5
12
  visible: boolean;
6
13
  /** On, but not drawn on the chart's interval (its settings keep it to others). */
7
14
  offInterval?: boolean;
15
+ /** A compare on, but not drawn on the chart's type (Renko, Kagi and the like draw no compare lines). */
16
+ offChartType?: boolean;
8
17
  /** The values at the bar in view; `color` null = the neutral text colour. */
9
18
  values: readonly {
10
19
  text: string;
@@ -36,9 +45,10 @@ export interface IndicatorLegendPane {
36
45
  }
37
46
  export type PaneAction = 'up' | 'down' | 'collapse' | 'expand' | 'maximize' | 'restore';
38
47
  export interface IndicatorLegendCallbacks {
39
- onToggleVisible: (instanceId: string, visible: boolean) => void;
48
+ /** `kind` is the row's: 'compare' for a compare line, which is no indicator. */
49
+ onToggleVisible: (instanceId: string, visible: boolean, kind?: IndicatorLegendRow['kind']) => void;
40
50
  onSettings: (instanceId: string) => void;
41
- onRemove: (instanceId: string) => void;
51
+ onRemove: (instanceId: string, kind?: IndicatorLegendRow['kind']) => void;
42
52
  /** The row's "more" button: a menu under `anchor` (move to another pane…). */
43
53
  onMore?: (instanceId: string, anchor: HTMLElement) => void;
44
54
  /** A pane's button: move it, fold it, maximise it. */
@@ -60,12 +70,16 @@ export interface IndicatorLegendLabels {
60
70
  paneRestore?: string;
61
71
  /** A row's note while its indicator isn't drawn on this interval. */
62
72
  offInterval?: string;
73
+ /** A row's note while its compare isn't drawn on this chart type. */
74
+ offChartType?: string;
63
75
  }
64
76
  /**
65
77
  * The indicators on the chart itself, instead of chips in the toolbar: price
66
78
  * pane indicators stack under the OHLCV legend, pane indicators sit at the
67
79
  * top of their pane. Each row reads "EMA 50 123.45" and, on hover or focus,
68
80
  * offers show/hide, settings and remove. A long stack can be collapsed.
81
+ * Symbols compared in percent head the stack: their price and change, with
82
+ * show/hide and remove.
69
83
  *
70
84
  * `update()` is cheap to call every frame: rows are kept by instance id and
71
85
  * only changed text and positions are written.
@@ -94,6 +108,10 @@ export declare class WidgetIndicatorLegend {
94
108
  private createPane;
95
109
  private createRow;
96
110
  private fill;
111
+ /** Why the row is not drawn, heard with each of its buttons: the tooltip alone reaches only a mouse. */
112
+ private describe;
113
+ /** Why a row that is on is not drawn ('' without a note to say so), or null when it is drawn. */
114
+ private offNote;
97
115
  /** Pane rows are placed in their pane; stacked rows flow in the stack. */
98
116
  private place;
99
117
  private setCollapsed;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetIndicatorLegend.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetIndicatorLegend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetIndicatorLegend.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetIndicatorLegend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetIndicatorSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetIndicatorSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetIndicatorSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetIndicatorSettings.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import { Translator } from './i18n.js';
2
2
  export interface ObjectTreeIndicator {
3
3
  instanceId: string;
4
+ /** As its chip and the legend name it: 'BB 20 2'. */
4
5
  name: string;
6
+ /** Its full name, for the row's tooltip ('Bollinger Bands'); `name` without one. */
7
+ title?: string;
5
8
  visible: boolean;
6
9
  }
7
10
  export interface ObjectTreeDrawing {
@@ -20,7 +23,10 @@ export interface ObjectTreeDrawing {
20
23
  export interface ObjectTreeCompare {
21
24
  id: string;
22
25
  label: string;
23
- color: string;
26
+ /** The line's colour, for a compare that has one of its own (the percent way). */
27
+ color?: string;
28
+ /** How it is compared, in words. */
29
+ way?: string;
24
30
  }
25
31
  export interface ObjectTreeCallbacks {
26
32
  /** Its close button: the dock it sits in shuts. Without it, the panel hides itself. */
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetObjectTree.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetObjectTree.ts"],"names":[],"mappings":"AACA,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAG5E,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,4EAA4E;IAC5E,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iBAAiB,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,wBAAwB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,sBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/D,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7D,8DAA8D;IAC9D,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,uFAAuF;IACvF,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,mBAAmB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACjE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB;IAQoC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAPjF,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAmB,CAAC,GAAE,UAA0B;IAqC7G,uCAAuC;IACvC,IAAI,OAAO,IAAI,WAAW,CAEzB;IAED,MAAM,IAAI,OAAO;IAIjB,MAAM,IAAI,IAAI;IAId,SAAS,IAAI,IAAI;IAKjB,KAAK,IAAI,IAAI;IAKb,OAAO,IAAI,IAAI;IAIf,kEAAkE;IAClE,UAAU,CACR,UAAU,EAAE,mBAAmB,EAAE,EACjC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,QAAQ,GAAE,iBAAiB,EAAO,GACjC,IAAI;IAMP,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,QAAQ;IAsChB,8FAA8F;IAC9F,OAAO,CAAC,WAAW;IA6BnB,OAAO,CAAC,UAAU;IAiClB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,UAAU;CAUnB;AA8CD,oGAAoG;AACpG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,CAIrE"}
1
+ {"version":3,"file":"WidgetObjectTree.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetObjectTree.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * Replay control bar. Surfaces the chart's replay engine as a floating
3
- * bottom-of-chart control and reports user intent through callbacks (no
4
- * chart coupling — the host calls chart.replayStart() / replayPause() / …).
3
+ * transport over the foot of the main pane and reports user intent through
4
+ * callbacks (no chart coupling — the host calls chart.replayStart() /
5
+ * replayPause() / …).
5
6
  *
6
- * Two modes: `select` (pick the start bar: a hint, "random bar", play from a
7
- * default start) and `replay` (step, play/pause, scrub, speed). "Back to
8
- * realtime" is always there and is highlighted once the replay reaches the
9
- * last bar.
7
+ * Two modes: `select` (pick the start bar: a hint, "random bar", the step,
8
+ * cancel) and `replay` (step, play/pause, where it is as a date on a filled
9
+ * track, speed, step, pick another bar, back to realtime). "Back to realtime"
10
+ * is put forward once the replay reaches the last bar.
10
11
  */
11
12
  export interface ReplayBarCallbacks {
12
13
  onPlay: () => void;
@@ -14,12 +15,16 @@ export interface ReplayBarCallbacks {
14
15
  onStepBack: () => void;
15
16
  onStepForward: () => void;
16
17
  onSeek: (index: number) => void;
17
- /** Bars revealed per second. */
18
- onSpeedChange: (barsPerSecond: number) => void;
18
+ /** A multiplier on the pace: 1 plays one bar of the chart a second. */
19
+ onSpeedChange: (rate: number) => void;
19
20
  onRandomStart: () => void;
20
21
  onClose: () => void;
21
22
  /** The step picked: `'bar'`, or a finer interval to replay through. */
22
23
  onStepChange?: (step: string) => void;
24
+ /** Pick another start bar, inside the replay. */
25
+ onSelectBar?: () => void;
26
+ /** Cancel picking: back to the replay when there is one, else out (`onClose` without it). */
27
+ onCancelPick?: () => void;
23
28
  }
24
29
  /** A replay step on offer: `'bar'` or a finer interval. */
25
30
  export interface ReplayStepOption {
@@ -30,7 +35,6 @@ export interface ReplayBarLabels {
30
35
  selectHint: string;
31
36
  random: string;
32
37
  realtime: string;
33
- barsPerSecond: string;
34
38
  play: string;
35
39
  pause: string;
36
40
  stepBack: string;
@@ -39,48 +43,122 @@ export interface ReplayBarLabels {
39
43
  position: string;
40
44
  speed: string;
41
45
  step: string;
46
+ /** Said in the hint while the bars to replay are on their way. */
47
+ loading: string;
48
+ selectBar: string;
49
+ cancel: string;
50
+ /** A speed, `{rate}` a multiplier: '{rate}×'. */
51
+ rate: string;
52
+ /** What a speed means, the speed field's tooltip. */
53
+ rateHint: string;
54
+ /** `{rate}`: the speed written as `rate` says. */
55
+ playingAt: string;
56
+ /** `{time}`: where the replay is. */
57
+ pausedAt: string;
58
+ endedAt: string;
42
59
  }
43
60
  export declare const DEFAULT_REPLAY_LABELS: ReplayBarLabels;
44
61
  export type ReplayBarState = 'playing' | 'paused' | 'stopped';
45
62
  export type ReplayBarMode = 'select' | 'replay';
46
- /** Replay speeds, in bars revealed per second. */
47
- export declare const REPLAY_SPEEDS: readonly [1, 2, 3, 5, 10, 25, 50];
48
- export declare const DEFAULT_REPLAY_SPEED = 5;
63
+ /** How much the bar shows for the room it has: all, without its captions, or in two rows. */
64
+ export type ReplayBarFit = 'full' | 'compact' | 'stack';
65
+ /** Replay speeds as multipliers: 1-2-3-5 in each decade, 1× one bar of the chart a second. */
66
+ export declare const REPLAY_RATES: readonly [0.1, 0.2, 0.3, 0.5, 1, 2, 3, 5, 10, 20, 30, 50];
67
+ export declare const DEFAULT_REPLAY_RATE = 1;
68
+ export interface ReplayBarMountOptions {
69
+ total: number;
70
+ /** The speed picked, a multiplier. */
71
+ rate?: number;
72
+ mode?: ReplayBarMode;
73
+ steps?: readonly ReplayStepOption[];
74
+ step?: string;
75
+ /** The widget's direction: its words read so; the bar runs left to right with time. */
76
+ dir?: 'ltr' | 'rtl';
77
+ /** A speed as text, in the widget's number format (else `labels.rate`). */
78
+ formatRate?: (rate: number) => string;
79
+ }
49
80
  export declare class WidgetReplayBar {
50
81
  private readonly callbacks;
51
82
  private root;
52
83
  private scrubber;
53
- private progressLabel;
84
+ private timeLabel;
54
85
  private playBtn;
55
86
  private realtimeBtn;
87
+ private liveRegion;
88
+ private hintText;
56
89
  private state;
57
90
  private mode;
58
91
  private ended;
92
+ /** The bars to replay are on their way: picking and moving wait. */
93
+ private pending;
59
94
  private total;
60
- private speed;
95
+ private rate;
61
96
  private steps;
62
97
  private step;
98
+ private dir;
99
+ private formatRate;
100
+ /** Where the replay is, as said: the date, or the position without one. */
101
+ private where;
102
+ private announceTimer;
103
+ /** The bar's width in each tier, measured once per mode and steps. */
104
+ private widths;
63
105
  private readonly labels;
64
106
  constructor(callbacks: ReplayBarCallbacks, labels?: Partial<ReplayBarLabels>);
65
- mount(host: HTMLElement, opts: {
66
- total: number;
67
- speed?: number;
68
- mode?: ReplayBarMode;
69
- steps?: readonly ReplayStepOption[];
70
- step?: string;
71
- }): void;
107
+ mount(host: HTMLElement, opts: ReplayBarMountOptions): void;
72
108
  unmount(): void;
73
109
  isMounted(): boolean;
110
+ /** The bar's element, to place it (null when not mounted). */
111
+ element(): HTMLElement | null;
74
112
  getMode(): ReplayBarMode;
75
113
  setMode(mode: ReplayBarMode): void;
76
114
  setState(state: ReplayBarState): void;
77
115
  /** The replay sits on its last bar: nothing left to play. */
78
116
  setEnded(ended: boolean): void;
79
- /** `current`: index of the bar on screen. */
80
- setProgress(current: number, total: number): void;
117
+ /**
118
+ * The bars to replay are on their way: the hint says so, and picking a
119
+ * bar, stepping, scrubbing and the step menu wait. Play stays: the chart
120
+ * keeps a press for when they are in.
121
+ */
122
+ setPending(pending: boolean): void;
123
+ isPending(): boolean;
124
+ /** The steps on offer changed (a new interval): the menu again, on `step`. */
125
+ setSteps(steps: readonly ReplayStepOption[], step: string): void;
126
+ /**
127
+ * `current`: index of the bar on screen; `time`: where that is, as the
128
+ * reader reads it (the date of the step shown). Without it the position
129
+ * is read as where of how many.
130
+ */
131
+ setProgress(current: number, total: number, time?: string): void;
132
+ /**
133
+ * The room the bar has (the main pane's width, less its margins): it takes
134
+ * the widest tier that fits, measured once per mode and steps.
135
+ */
136
+ setRoom(room: number): void;
137
+ /**
138
+ * On a phone the track and the close button take the first row: they go
139
+ * first in the page too, so Tab follows the rows shown (and back after).
140
+ */
141
+ private orderFor;
142
+ getFit(): ReplayBarFit;
81
143
  destroy(): void;
144
+ /** The bar's width in `tier`, its track at its least. */
145
+ private widthIn;
82
146
  private markup;
147
+ /** The step field, when there is more than one step to pick. */
148
+ private stepMarkup;
149
+ private wireStep;
83
150
  private wireEvents;
151
+ private togglePlay;
152
+ /** Space plays or pauses from the track or the bar itself; a focused button or field keeps it. */
153
+ private readonly onKeydown;
154
+ /** Said once the changes rest, so a held key or a run doesn't flood the reader. */
155
+ private announce;
84
156
  private syncUi;
157
+ /**
158
+ * While the bars are on their way: the controls' groups are busy (not the
159
+ * bar, whose status region would be held back), the hint says so, and the
160
+ * controls that pick or move wait.
161
+ */
162
+ private syncPending;
85
163
  }
86
164
  //# sourceMappingURL=WidgetReplayBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetReplayBar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetReplayBar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetReplayBar.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetReplayBar.ts"],"names":[],"mappings":"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"}
@@ -29,12 +29,15 @@ export declare class WidgetSettings {
29
29
  private returnFocus;
30
30
  private readonly uid;
31
31
  /**
32
- * `barCountdown` / `logScale` false leave out the controls for features the
33
- * chart has switched off.
32
+ * `barCountdown` / `logScale` / `legend` / `volume` false leave out the
33
+ * controls for features the chart has switched off: there they would do
34
+ * nothing.
34
35
  */
35
36
  constructor(callbacks: SettingsCallbacks, t: Translator, available?: {
36
37
  barCountdown?: boolean;
37
38
  logScale?: boolean;
39
+ legend?: boolean;
40
+ volume?: boolean;
38
41
  /** The exchange's time zone to offer (null while unknown), or undefined when there is none to offer. */
39
42
  exchangeZone?: () => string | null | undefined;
40
43
  /** false: the chart doesn't trade, so the orders' colours aren't offered. */
@@ -47,6 +50,11 @@ export declare class WidgetSettings {
47
50
  isOpen(): boolean;
48
51
  /** The settings as they are now (after an undo, a template), on the tab that's open; `chartType` when it changed. */
49
52
  refresh(settings: ChartSettingsState, chartType?: ChartType | null): void;
53
+ /** The place of the control in focus among the panel's, or null when focus is not in the panel. */
54
+ private focusedControl;
55
+ /** Focus the panel's control at `index`, or its last when it has fewer; the tab when it has none. */
56
+ private focusControl;
57
+ private panelControls;
50
58
  /** Close, keeping what was changed (as OK does). */
51
59
  close(): void;
52
60
  destroy(): void;
@@ -69,7 +77,7 @@ export declare class WidgetSettings {
69
77
  private renderTabContent;
70
78
  /** The chart type's own settings and colours, the main series, the last price, the volume, the high and low. */
71
79
  private renderSymbolTab;
72
- /** The legend over the chart: shown or not, its colours. */
80
+ /** The legend over the chart: shown or not, its colours; the panes' titles. */
73
81
  private renderStatusLineTab;
74
82
  /** The price scale's mode and behaviour, its labels, the time zone, how numbers are written, the axes' colours. */
75
83
  private renderScalesTab;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WidgetSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetSettings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { ChartTypeOptions } from '@tradecanvas/commons';
2
+ import { KeyValueStorage } from './DrawingTemplateStore.js';
3
+ import { ChartSettingsState } from './types.js';
4
+ type SettingsKey = keyof ChartSettingsState;
5
+ /** Where `persistSettings` keeps the settings unless it names a key. */
6
+ export declare const DEFAULT_SETTINGS_KEY = "tcw:chart-settings";
7
+ /** The viewer's own: a layout or a link from someone else leaves them as they are. */
8
+ export declare const VIEWER_KEYS: ReadonlySet<SettingsKey>;
9
+ /**
10
+ * What `persistSettings` leaves out: besides the flags never kept, a chart
11
+ * type's own settings, which are the chart's state (a layout loaded puts
12
+ * its own in their place).
13
+ */
14
+ export declare const PERSIST_LEAVES: ReadonlySet<SettingsKey>;
15
+ /**
16
+ * What a layout's `settings` leaves out: the viewer's own, the scale and its
17
+ * flip (fields of their own there), and a chart type's own settings (in the
18
+ * chart's state).
19
+ */
20
+ export declare const LAYOUT_LEAVES: ReadonlySet<SettingsKey>;
21
+ /**
22
+ * What a shared link's `settings` leaves out: the viewer's own and the scale
23
+ * (a field of its own there). The link has no other place for the flip or a
24
+ * chart type's own settings, so they go in it.
25
+ */
26
+ export declare const SHARE_LEAVES: ReadonlySet<SettingsKey>;
27
+ /** Nothing left out: every setting of the right kind. */
28
+ export declare const ALL_SETTINGS: ReadonlySet<SettingsKey>;
29
+ /** The chart types with settings of their own (Renko's box, Kagi's reversal…), each a key of `chartTypeOptions`. */
30
+ export declare const TYPES_WITH_SETTINGS: readonly (keyof ChartTypeOptions)[];
31
+ /** Whether a chart type has settings of its own. */
32
+ export declare function hasTypeSettings(type: unknown): type is keyof ChartTypeOptions;
33
+ /**
34
+ * Only the chart types given settings: one at its defaults (`{}`) is as one
35
+ * never set, though the chart lists every type it was given.
36
+ */
37
+ export declare function typesWithSettings(options: ChartTypeOptions): ChartTypeOptions;
38
+ /** Every chart type with settings of its own at its defaults: given to the chart, it resets them all. */
39
+ export declare function typesAtDefaults(): ChartTypeOptions;
40
+ /**
41
+ * Chart Settings read from anywhere (storage, a layout, a link, a host's
42
+ * call): only the known keys, each of its kind, numbers in the settings'
43
+ * ranges, a time zone and a number format this browser knows. `leave` names
44
+ * the keys not to take.
45
+ */
46
+ export declare function readChartSettings(raw: unknown, leave?: ReadonlySet<SettingsKey>): Partial<ChartSettingsState>;
47
+ /** Every setting but those in `leave`. */
48
+ export declare function pickSettings(settings: ChartSettingsState, leave: ReadonlySet<SettingsKey>): Partial<ChartSettingsState>;
49
+ /** The settings that differ from `base`, but those in `leave`. */
50
+ export declare function settingsDelta(settings: ChartSettingsState, base: ChartSettingsState, leave: ReadonlySet<SettingsKey>): Partial<ChartSettingsState>;
51
+ /**
52
+ * What a shared link carries: the settings that differ from `base`, but
53
+ * those in `SHARE_LEAVES`, with a chart type's own settings only for the
54
+ * types that have some (a link should stay short).
55
+ */
56
+ export declare function shareDelta(settings: ChartSettingsState, base: ChartSettingsState): Partial<ChartSettingsState>;
57
+ /** The key `persistSettings` names; null when it is off. */
58
+ export declare function settingsStoreKey(option: boolean | {
59
+ key?: string;
60
+ } | undefined): string | null;
61
+ /**
62
+ * The Chart Settings a user changed, kept in this browser's storage under one
63
+ * key (`persistSettings`). What is read back is checked; what can't be read
64
+ * is left out.
65
+ */
66
+ export declare class ChartSettingsStore {
67
+ private readonly key;
68
+ private readonly storage;
69
+ constructor(key: string, storage?: KeyValueStorage | null);
70
+ /** What was kept; nothing when nothing readable was. */
71
+ load(): Partial<ChartSettingsState>;
72
+ /** Keep what differs from `defaults` (the host's), so a default the host changes later still reaches a user who never touched it. */
73
+ save(settings: ChartSettingsState, defaults: ChartSettingsState): void;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=chartSettingsStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartSettingsStore.d.ts","sourceRoot":"","sources":["../../src/widget/chartSettingsStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIrD,KAAK,WAAW,GAAG,MAAM,kBAAkB,CAAC;AAE5C,wEAAwE;AACxE,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AASzD,sFAAsF;AACtF,eAAO,MAAM,WAAW,EAAE,WAAW,CAAC,WAAW,CAAsD,CAAC;AACxG;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,WAAW,CAA6D,CAAC;AAClH;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,WAAW,CAEjD,CAAC;AACH;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,WAAW,CAAsE,CAAC;AACzH,yDAAyD;AACzD,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,WAAW,CAA0B,CAAC;AAE7E,oHAAoH;AACpH,eAAO,MAAM,mBAAmB,EAAE,SAAS,CAAC,MAAM,gBAAgB,CAAC,EAAkE,CAAC;AAEtI,oDAAoD;AACpD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,MAAM,gBAAgB,CAE7E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAG7E;AAED,yGAAyG;AACzG,wBAAgB,eAAe,IAAI,gBAAgB,CAElD;AAyDD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,WAAW,CAAC,WAAW,CAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAS3H;AAED,0CAA0C;AAC1C,wBAAgB,YAAY,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAIvH;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAIlJ;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE9G;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAG9F;AAUD;;;;GAIG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,eAAe,GAAG,IAAuB;IAGrE,wDAAwD;IACxD,IAAI,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAWnC,qIAAqI;IACrI,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,kBAAkB,GAAG,IAAI;CAOvE"}
@@ -1 +1 @@
1
- {"version":3,"file":"chartTemplates.d.ts","sourceRoot":"","sources":["../../src/widget/chartTemplates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIzE,+FAA+F;AAC/F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,KAAK,EAAE,kBAAkB,CAAC;CAC3B;AAoBD,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAY1E;AAiBD;;;GAGG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,GAAG,SAAwB,EAC3B,OAAO,GAAE,eAAe,GAAG,IAAuB;IAGrE,+BAA+B;IAC/B,IAAI,IAAI,aAAa,EAAE;IAgBvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAIvC,4FAA4F;IAC5F,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO;IAYpF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAO3B"}
1
+ {"version":3,"file":"chartTemplates.d.ts","sourceRoot":"","sources":["../../src/widget/chartTemplates.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAIzE,+FAA+F;AAC/F,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACtC,KAAK,EAAE,kBAAkB,CAAC;CAC3B;AAaD,6DAA6D;AAC7D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE1E;AAiBD;;;GAGG;AACH,qBAAa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,GAAG,SAAwB,EAC3B,OAAO,GAAE,eAAe,GAAG,IAAuB;IAGrE,+BAA+B;IAC/B,IAAI,IAAI,aAAa,EAAE;IAgBvB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAIvC,4FAA4F;IAC5F,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO;IAYpF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAO3B"}
@@ -0,0 +1,20 @@
1
+ import { CompareValue } from '@tradecanvas/core';
2
+ import { IndicatorLegendRow } from './WidgetIndicatorLegend.js';
3
+ /**
4
+ * A compared symbol's price, in decimals of its own by its size (65,432.10,
5
+ * 0.1002): the chart's decimals are the main symbol's, which would write a
6
+ * 0.1002 coin as 0.10.
7
+ */
8
+ export declare function formatComparePrice(price: number, locale?: string): string;
9
+ /** A change in percent with its sign (+8.45%, -7.69%), none when it reads as nothing. */
10
+ export declare function formatChangePercent(change: number, locale?: string): string;
11
+ /**
12
+ * The legend's rows for the symbols compared in percent (`chart.getCompareValues`):
13
+ * each one marked in its line's colour, its price and its change since its
14
+ * first bar on screen, as the percent scale reads it, in the legend's text
15
+ * colour: no one colour reads as text on both the dark and the light theme. Where the chart draws
16
+ * no compare lines (`drawn` false: Renko, Kagi and the like), each row is
17
+ * dimmed, without values, as an indicator off its intervals is.
18
+ */
19
+ export declare function compareLegendRows(values: readonly CompareValue[], locale?: string, drawn?: boolean): IndicatorLegendRow[];
20
+ //# sourceMappingURL=compareLegend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareLegend.d.ts","sourceRoot":"","sources":["../../src/widget/compareLegend.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAQrE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAU,GAAG,MAAM,CAE1E;AAED,yFAAyF;AACzF,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAU,GAAG,MAAM,CAG5E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,EAAE,MAAM,SAAU,EAAE,KAAK,UAAO,GAAG,kBAAkB,EAAE,CAUvH"}