@tradecanvas/chart 1.3.0 → 1.7.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 (205) hide show
  1. package/README.md +131 -49
  2. package/dist/Chart.d.ts +724 -18
  3. package/dist/Chart.d.ts.map +1 -1
  4. package/dist/DataManager.d.ts +5 -0
  5. package/dist/DataManager.d.ts.map +1 -1
  6. package/dist/HistoryPager.d.ts +58 -0
  7. package/dist/HistoryPager.d.ts.map +1 -0
  8. package/dist/LayoutSession-CTZB90NX.cjs +2 -0
  9. package/dist/LayoutSession-CTZB90NX.cjs.map +1 -0
  10. package/dist/LayoutSession-CWn3sdbs.js +3967 -0
  11. package/dist/LayoutSession-CWn3sdbs.js.map +1 -0
  12. package/dist/PaneManager.d.ts.map +1 -1
  13. package/dist/ThemeManager.d.ts +5 -1
  14. package/dist/ThemeManager.d.ts.map +1 -1
  15. package/dist/chartA11y.d.ts +59 -0
  16. package/dist/chartA11y.d.ts.map +1 -0
  17. package/dist/charts/ChartTypeStrategy.d.ts +11 -4
  18. package/dist/charts/ChartTypeStrategy.d.ts.map +1 -1
  19. package/dist/grid/ChartGrid.d.ts +7 -1
  20. package/dist/grid/ChartGrid.d.ts.map +1 -1
  21. package/dist/i18n-CiQ8EDVs.js +1469 -0
  22. package/dist/i18n-CiQ8EDVs.js.map +1 -0
  23. package/dist/i18n-WsLA9SmD.cjs +2 -0
  24. package/dist/i18n-WsLA9SmD.cjs.map +1 -0
  25. package/dist/index.cjs +1 -1
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.ts +24 -3
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +74 -89
  30. package/dist/index.js.map +1 -1
  31. package/dist/indicatorLabel.d.ts +7 -0
  32. package/dist/indicatorLabel.d.ts.map +1 -0
  33. package/dist/layout/LayoutManager.d.ts +50 -0
  34. package/dist/layout/LayoutManager.d.ts.map +1 -1
  35. package/dist/layout/priceAxisWidth.d.ts +2 -0
  36. package/dist/layout/priceAxisWidth.d.ts.map +1 -1
  37. package/dist/regularHours.d.ts +10 -0
  38. package/dist/regularHours.d.ts.map +1 -0
  39. package/dist/state/LayoutSession.d.ts +101 -0
  40. package/dist/state/LayoutSession.d.ts.map +1 -0
  41. package/dist/state/layoutStorage.d.ts +46 -0
  42. package/dist/state/layoutStorage.d.ts.map +1 -0
  43. package/dist/trading/wireExecution.d.ts +7 -3
  44. package/dist/trading/wireExecution.d.ts.map +1 -1
  45. package/dist/widget/ChartWidget.d.ts +283 -10
  46. package/dist/widget/ChartWidget.d.ts.map +1 -1
  47. package/dist/widget/ChartWidgetGrid.d.ts +166 -0
  48. package/dist/widget/ChartWidgetGrid.d.ts.map +1 -0
  49. package/dist/widget/DrawingTemplateStore.d.ts +29 -8
  50. package/dist/widget/DrawingTemplateStore.d.ts.map +1 -1
  51. package/dist/widget/WatchlistStore.d.ts +65 -0
  52. package/dist/widget/WatchlistStore.d.ts.map +1 -0
  53. package/dist/widget/WidgetAccountPanel.d.ts +72 -0
  54. package/dist/widget/WidgetAccountPanel.d.ts.map +1 -0
  55. package/dist/widget/WidgetAlertsPanel.d.ts +50 -3
  56. package/dist/widget/WidgetAlertsPanel.d.ts.map +1 -1
  57. package/dist/widget/WidgetBracketBar.d.ts +3 -1
  58. package/dist/widget/WidgetBracketBar.d.ts.map +1 -1
  59. package/dist/widget/WidgetChartNav.d.ts +36 -0
  60. package/dist/widget/WidgetChartNav.d.ts.map +1 -0
  61. package/dist/widget/WidgetCommandPalette.d.ts +5 -1
  62. package/dist/widget/WidgetCommandPalette.d.ts.map +1 -1
  63. package/dist/widget/WidgetContextMenu.d.ts +40 -0
  64. package/dist/widget/WidgetContextMenu.d.ts.map +1 -0
  65. package/dist/widget/WidgetDataWindow.d.ts +3 -1
  66. package/dist/widget/WidgetDataWindow.d.ts.map +1 -1
  67. package/dist/widget/WidgetDepthLadder.d.ts +3 -1
  68. package/dist/widget/WidgetDepthLadder.d.ts.map +1 -1
  69. package/dist/widget/WidgetDrawingSettings.d.ts +108 -0
  70. package/dist/widget/WidgetDrawingSettings.d.ts.map +1 -0
  71. package/dist/widget/WidgetDrawingSidebar.d.ts +26 -1
  72. package/dist/widget/WidgetDrawingSidebar.d.ts.map +1 -1
  73. package/dist/widget/WidgetDrawingStyle.d.ts +3 -1
  74. package/dist/widget/WidgetDrawingStyle.d.ts.map +1 -1
  75. package/dist/widget/WidgetDropdown.d.ts.map +1 -1
  76. package/dist/widget/WidgetGoToDate.d.ts +46 -0
  77. package/dist/widget/WidgetGoToDate.d.ts.map +1 -0
  78. package/dist/widget/WidgetHistoryPill.d.ts +23 -0
  79. package/dist/widget/WidgetHistoryPill.d.ts.map +1 -0
  80. package/dist/widget/WidgetHotkeySheet.d.ts +3 -1
  81. package/dist/widget/WidgetHotkeySheet.d.ts.map +1 -1
  82. package/dist/widget/WidgetIndicatorLegend.d.ts +98 -0
  83. package/dist/widget/WidgetIndicatorLegend.d.ts.map +1 -0
  84. package/dist/widget/WidgetIndicatorSettings.d.ts +62 -7
  85. package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -1
  86. package/dist/widget/WidgetIntervalInput.d.ts +34 -0
  87. package/dist/widget/WidgetIntervalInput.d.ts.map +1 -0
  88. package/dist/widget/WidgetLayoutsDialog.d.ts +39 -0
  89. package/dist/widget/WidgetLayoutsDialog.d.ts.map +1 -0
  90. package/dist/widget/WidgetLayoutsUI.d.ts +37 -0
  91. package/dist/widget/WidgetLayoutsUI.d.ts.map +1 -0
  92. package/dist/widget/WidgetLoadingOverlay.d.ts.map +1 -1
  93. package/dist/widget/WidgetNamePrompt.d.ts +31 -0
  94. package/dist/widget/WidgetNamePrompt.d.ts.map +1 -0
  95. package/dist/widget/WidgetObjectTree.d.ts +21 -3
  96. package/dist/widget/WidgetObjectTree.d.ts.map +1 -1
  97. package/dist/widget/WidgetOrderTicket.d.ts +49 -0
  98. package/dist/widget/WidgetOrderTicket.d.ts.map +1 -0
  99. package/dist/widget/WidgetReplayBar.d.ts +52 -7
  100. package/dist/widget/WidgetReplayBar.d.ts.map +1 -1
  101. package/dist/widget/WidgetSettings.d.ts +26 -2
  102. package/dist/widget/WidgetSettings.d.ts.map +1 -1
  103. package/dist/widget/WidgetStatusBar.d.ts +19 -1
  104. package/dist/widget/WidgetStatusBar.d.ts.map +1 -1
  105. package/dist/widget/WidgetStyles.d.ts +3 -1
  106. package/dist/widget/WidgetStyles.d.ts.map +1 -1
  107. package/dist/widget/WidgetSymbolInfo.d.ts +64 -0
  108. package/dist/widget/WidgetSymbolInfo.d.ts.map +1 -0
  109. package/dist/widget/WidgetSymbolSearch.d.ts +28 -5
  110. package/dist/widget/WidgetSymbolSearch.d.ts.map +1 -1
  111. package/dist/widget/WidgetToolbar.d.ts +42 -4
  112. package/dist/widget/WidgetToolbar.d.ts.map +1 -1
  113. package/dist/widget/WidgetTooltip.d.ts +43 -0
  114. package/dist/widget/WidgetTooltip.d.ts.map +1 -0
  115. package/dist/widget/WidgetWatchlist.d.ts +53 -13
  116. package/dist/widget/WidgetWatchlist.d.ts.map +1 -1
  117. package/dist/widget/chartMenu.d.ts +40 -0
  118. package/dist/widget/chartMenu.d.ts.map +1 -0
  119. package/dist/widget/drawingMenu.d.ts +21 -0
  120. package/dist/widget/drawingMenu.d.ts.map +1 -0
  121. package/dist/widget/escapeHtml.d.ts +3 -0
  122. package/dist/widget/escapeHtml.d.ts.map +1 -0
  123. package/dist/widget/focusTrap.d.ts +8 -0
  124. package/dist/widget/focusTrap.d.ts.map +1 -0
  125. package/dist/widget/i18n.d.ts +20 -63
  126. package/dist/widget/i18n.d.ts.map +1 -1
  127. package/dist/widget/iconSet.d.ts +26 -0
  128. package/dist/widget/iconSet.d.ts.map +1 -0
  129. package/dist/widget/icons.d.ts +5 -0
  130. package/dist/widget/icons.d.ts.map +1 -1
  131. package/dist/widget/index.cjs +2145 -405
  132. package/dist/widget/index.cjs.map +1 -1
  133. package/dist/widget/index.d.ts +18 -1
  134. package/dist/widget/index.d.ts.map +1 -1
  135. package/dist/widget/index.js +7376 -1274
  136. package/dist/widget/index.js.map +1 -1
  137. package/dist/widget/indicatorTemplates.d.ts +24 -0
  138. package/dist/widget/indicatorTemplates.d.ts.map +1 -0
  139. package/dist/widget/keyTarget.d.ts +11 -0
  140. package/dist/widget/keyTarget.d.ts.map +1 -0
  141. package/dist/widget/legendValues.d.ts +19 -0
  142. package/dist/widget/legendValues.d.ts.map +1 -0
  143. package/dist/widget/locales/ar.d.ts +4 -0
  144. package/dist/widget/locales/ar.d.ts.map +1 -0
  145. package/dist/widget/locales/de.d.ts +4 -0
  146. package/dist/widget/locales/de.d.ts.map +1 -0
  147. package/dist/widget/locales/en.d.ts +722 -0
  148. package/dist/widget/locales/en.d.ts.map +1 -0
  149. package/dist/widget/locales/es.d.ts +4 -0
  150. package/dist/widget/locales/es.d.ts.map +1 -0
  151. package/dist/widget/locales/fr.d.ts +4 -0
  152. package/dist/widget/locales/fr.d.ts.map +1 -0
  153. package/dist/widget/locales/he.d.ts +4 -0
  154. package/dist/widget/locales/he.d.ts.map +1 -0
  155. package/dist/widget/locales/id.d.ts +4 -0
  156. package/dist/widget/locales/id.d.ts.map +1 -0
  157. package/dist/widget/locales/index.cjs +2 -0
  158. package/dist/widget/locales/index.cjs.map +1 -0
  159. package/dist/widget/locales/index.d.ts +33 -0
  160. package/dist/widget/locales/index.d.ts.map +1 -0
  161. package/dist/widget/locales/index.js +10089 -0
  162. package/dist/widget/locales/index.js.map +1 -0
  163. package/dist/widget/locales/ja.d.ts +4 -0
  164. package/dist/widget/locales/ja.d.ts.map +1 -0
  165. package/dist/widget/locales/ko.d.ts +4 -0
  166. package/dist/widget/locales/ko.d.ts.map +1 -0
  167. package/dist/widget/locales/pt.d.ts +4 -0
  168. package/dist/widget/locales/pt.d.ts.map +1 -0
  169. package/dist/widget/locales/ru.d.ts +4 -0
  170. package/dist/widget/locales/ru.d.ts.map +1 -0
  171. package/dist/widget/locales/th.d.ts +4 -0
  172. package/dist/widget/locales/th.d.ts.map +1 -0
  173. package/dist/widget/locales/tr.d.ts +4 -0
  174. package/dist/widget/locales/tr.d.ts.map +1 -0
  175. package/dist/widget/locales/vi.d.ts +4 -0
  176. package/dist/widget/locales/vi.d.ts.map +1 -0
  177. package/dist/widget/locales/zh.d.ts +4 -0
  178. package/dist/widget/locales/zh.d.ts.map +1 -0
  179. package/dist/widget/locales/zhHant.d.ts +4 -0
  180. package/dist/widget/locales/zhHant.d.ts.map +1 -0
  181. package/dist/widget/orderTicket.d.ts +27 -0
  182. package/dist/widget/orderTicket.d.ts.map +1 -0
  183. package/dist/widget/settingsControls.d.ts +24 -0
  184. package/dist/widget/settingsControls.d.ts.map +1 -0
  185. package/dist/widget/types.d.ts +215 -13
  186. package/dist/widget/types.d.ts.map +1 -1
  187. package/dist/widget/widgetConfig.d.ts +1 -5
  188. package/dist/widget/widgetConfig.d.ts.map +1 -1
  189. package/dist/widget/widgetLayout.d.ts +22 -0
  190. package/dist/widget/widgetLayout.d.ts.map +1 -0
  191. package/dist/widget/widgetLocales.d.ts +17 -0
  192. package/dist/widget/widgetLocales.d.ts.map +1 -0
  193. package/dist/widget/widgetTimeframes.d.ts +28 -0
  194. package/dist/widget/widgetTimeframes.d.ts.map +1 -0
  195. package/dist/widget/widgetTimezones.d.ts +32 -0
  196. package/dist/widget/widgetTimezones.d.ts.map +1 -0
  197. package/dist/widget/widgetUI.d.ts +126 -0
  198. package/dist/widget/widgetUI.d.ts.map +1 -0
  199. package/package.json +8 -3
  200. package/dist/DragDropImporter-BazeSQPD.cjs +0 -2
  201. package/dist/DragDropImporter-BazeSQPD.cjs.map +0 -1
  202. package/dist/DragDropImporter-cURSpfUb.js +0 -1883
  203. package/dist/DragDropImporter-cURSpfUb.js.map +0 -1
  204. package/dist/charts/IndicatorPriceRange.d.ts +0 -20
  205. package/dist/charts/IndicatorPriceRange.d.ts.map +0 -1
@@ -1,10 +1,12 @@
1
+ import { WatchlistList } from './WatchlistStore.js';
1
2
  /**
2
- * Watchlist sidebar — vertical list of symbols, each with last price, %
3
- * change, and a mini sparkline. Clicking switches the chart's symbol.
3
+ * Watchlist sidebar: the shown list's symbols, each with last price, % change
4
+ * and a mini sparkline. A menu switches, creates, renames and deletes lists;
5
+ * rows are added, removed and reordered (drag, or Alt+↑/↓). It only renders
6
+ * and reports: the widget keeps the lists (see WatchlistStore).
4
7
  *
5
- * The widget tracks the *active* symbol's price/spark automatically from the
6
- * live stream. For non-active symbols, the host can push data via
7
- * `setEntry(symbol, …)` so the row reflects whatever the app already has.
8
+ * The widget tracks the chart's symbol from the live stream, and fills the
9
+ * other rows from a quote source or what the host pushes (`setEntry`).
8
10
  */
9
11
  export interface WatchlistEntry {
10
12
  symbol: string;
@@ -16,27 +18,65 @@ export interface WatchlistEntry {
16
18
  }
17
19
  export interface WatchlistCallbacks {
18
20
  onSelect: (symbol: string) => void;
21
+ /** "+": add a symbol to the shown list (the widget opens its symbol search). */
22
+ onAdd?: () => void;
23
+ onRemove?: (symbol: string) => void;
24
+ /** Move a symbol to `index` in the shown list. */
25
+ onMove?: (symbol: string, index: number) => void;
26
+ onPickList?: (id: string) => void;
27
+ onCreateList?: (name: string) => void;
28
+ onRenameList?: (id: string, name: string) => void;
29
+ onDeleteList?: (id: string) => void;
30
+ }
31
+ export interface WatchlistLabels {
32
+ title: string;
33
+ lists: string;
34
+ newList: string;
35
+ rename: string;
36
+ deleteList: string;
37
+ /** `{name}`: the list's name. */
38
+ confirmDelete: string;
39
+ add: string;
40
+ /** `{symbol}`. */
41
+ remove: string;
42
+ empty: string;
43
+ listName: string;
19
44
  }
20
45
  export declare class WidgetWatchlist {
46
+ private readonly callbacks;
47
+ private readonly labels;
21
48
  private el;
49
+ private headerEl;
50
+ private nameBtn;
51
+ private menuEl;
22
52
  private listEl;
23
53
  private rowMap;
24
54
  private entries;
55
+ private lists;
56
+ private activeList;
25
57
  private active;
26
- private callbacks;
27
58
  private locale;
28
- constructor(host: HTMLElement, symbols: string[], callbacks: WatchlistCallbacks, title?: string);
59
+ private dragging;
60
+ private readonly onOutside;
61
+ constructor(host: HTMLElement, callbacks: WatchlistCallbacks, labels: WatchlistLabels);
62
+ /** The lists, and which one shows. Rows are diffed so prices stay. */
63
+ setLists(lists: WatchlistList[], activeId: string): void;
29
64
  /** Set the BCP 47 locale used for price/percent formatting. */
30
65
  setLocale(locale: string | undefined): void;
31
- /** Replace the symbol set. Rows are diff'd so DOM churn is minimal. */
32
- setSymbols(symbols: string[]): void;
66
+ /** The chart's symbol, marked in the list. */
33
67
  setActive(symbol: string): void;
34
- /** Push a price tick into a row. The widget calls this automatically for
35
- * the active symbol. Apps can call it for the rest. */
68
+ /** A row's price, move and sparkline. Kept for symbols not shown yet. */
36
69
  setEntry(symbol: string, patch: Partial<WatchlistEntry>): void;
37
70
  destroy(): void;
38
- private appendRow;
39
- private removeRow;
71
+ private shownList;
72
+ private renderRows;
73
+ private makeRow;
74
+ private onRowKey;
40
75
  private renderRow;
76
+ private openMenu;
77
+ private closeMenu;
78
+ private renderMenu;
79
+ /** A name typed in place of the list's: Enter keeps it, Escape or leaving drops it. */
80
+ private editName;
41
81
  }
42
82
  //# sourceMappingURL=WidgetWatchlist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetWatchlist.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetWatchlist.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAKT;IACL,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAqB;gBAEvB,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,KAAK,SAAc;IAuBpG,+DAA+D;IAC/D,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAK3C,uEAAuE;IACvE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAanC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAU/B;4DACwD;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAO9D,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,SAAS;IA0CjB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,SAAS;CAwBlB"}
1
+ {"version":3,"file":"WidgetWatchlist.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetWatchlist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { ChartContextArea, PriceScaleMode } from '@tradecanvas/commons';
2
+ import { ContextMenuEntry } from './WidgetContextMenu.js';
3
+ import { Translator } from './i18n.js';
4
+ /** What a menu on the chart (a right-click, or the "+" by the price axis) can do. */
5
+ export type ChartMenuAction = 'alert' | 'buyLimit' | 'buyStop' | 'sellLimit' | 'sellStop' | 'orderTicket' | 'horizontalLine' | 'resetView' | 'hideDrawings' | 'showDrawings' | 'removeDrawings' | 'settings' | 'exportData' | 'autoScale' | 'logScale' | 'percentScale' | 'invertScale' | 'goToDate' | 'paneLog' | 'paneInvert' | 'panePercent';
6
+ /** What the widget can do here, and how the chart is set now. */
7
+ export interface ChartMenuContext {
8
+ /** The price at the click (the price pane, the price axis, the "+"). */
9
+ price?: number;
10
+ /** The latest price, to tell a limit from a stop. */
11
+ lastPrice: number | null;
12
+ formatPrice: (price: number) => string;
13
+ canAlert: boolean;
14
+ canTrade: boolean;
15
+ /** An order ticket to open (the account panel is on). */
16
+ canOrderTicket?: boolean;
17
+ canDraw: boolean;
18
+ hasDrawings: boolean;
19
+ drawingsHidden: boolean;
20
+ canGoToDate: boolean;
21
+ /** A download of the bars and indicator lines (`features.dataExport`). */
22
+ canExport?: boolean;
23
+ autoScale: boolean;
24
+ scaleMode: PriceScaleMode;
25
+ inverted: boolean;
26
+ /** For a pane's menu: its scale switches. */
27
+ pane?: {
28
+ log: boolean;
29
+ invert: boolean;
30
+ percent: boolean;
31
+ };
32
+ }
33
+ /**
34
+ * What to do at a price: an alert, a buy and a sell (a limit on the side of
35
+ * the market it would wait on, else a stop), a horizontal line.
36
+ */
37
+ export declare function priceEntries(ctx: ChartMenuContext, t: Translator): ContextMenuEntry[];
38
+ /** The right-click menu for where it landed. */
39
+ export declare function chartMenuEntries(area: ChartContextArea, ctx: ChartMenuContext, t: Translator): ContextMenuEntry[];
40
+ //# sourceMappingURL=chartMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartMenu.d.ts","sourceRoot":"","sources":["../../src/widget/chartMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAElD,qFAAqF;AACrF,MAAM,MAAM,eAAe,GACvB,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,gBAAgB,GAC9F,WAAW,GAAG,cAAc,GAAG,cAAc,GAAG,gBAAgB,GAAG,UAAU,GAAG,YAAY,GAC5F,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GACzD,UAAU,GACV,SAAS,GACT,YAAY,GACZ,aAAa,CAAC;AAElB,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,wEAAwE;IACxE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;CAC5D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,gBAAgB,EAAE,CAAC,EAAE,UAAU,GAAG,gBAAgB,EAAE,CAoBrF;AAED,gDAAgD;AAChD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,EAAE,UAAU,GAAG,gBAAgB,EAAE,CAgDjH"}
@@ -0,0 +1,21 @@
1
+ import { ContextMenuEntry } from './WidgetContextMenu.js';
2
+ import { Translator } from './i18n.js';
3
+ /** What a right-clicked drawing's menu can do. */
4
+ export type DrawingMenuAction = 'settings' | 'alert' | 'front' | 'forward' | 'backward' | 'back' | 'group' | 'ungroup' | 'lock' | 'unlock' | 'hide' | 'duplicate' | 'delete';
5
+ /** The right-clicked drawing and the selection it is part of. */
6
+ export interface DrawingMenuTarget {
7
+ /** Selected drawings: the right-clicked one, its group, or a selection it was part of. */
8
+ selected: readonly {
9
+ id: string;
10
+ locked: boolean;
11
+ groupId: string | null;
12
+ }[];
13
+ canConfigure: boolean;
14
+ canAlert: boolean;
15
+ }
16
+ /**
17
+ * The menu's entries: settings and alert for one drawing, order, grouping,
18
+ * then lock, hide, duplicate and delete for the whole selection.
19
+ */
20
+ export declare function drawingMenuEntries(target: DrawingMenuTarget, t: Translator): ContextMenuEntry[];
21
+ //# sourceMappingURL=drawingMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawingMenu.d.ts","sourceRoot":"","sources":["../../src/widget/drawingMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,kDAAkD;AAClD,MAAM,MAAM,iBAAiB,GACzB,UAAU,GAAG,OAAO,GACpB,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GACzC,OAAO,GAAG,SAAS,GACnB,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAExD,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,0FAA0F;IAC1F,QAAQ,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAC7E,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,EAAE,UAAU,GAAG,gBAAgB,EAAE,CA8B/F"}
@@ -0,0 +1,3 @@
1
+ /** Text made safe to put in HTML markup, attribute values included. */
2
+ export declare function escapeHtml(text: string): string;
3
+ //# sourceMappingURL=escapeHtml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"escapeHtml.d.ts","sourceRoot":"","sources":["../../src/widget/escapeHtml.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -0,0 +1,8 @@
1
+ /** What Tab can land on inside a dialog. */
2
+ export declare const FOCUSABLE = "button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
3
+ /**
4
+ * Keep Tab inside `container` (a modal dialog): from its last control Tab
5
+ * goes to its first, and Shift+Tab the other way. Call from its keydown.
6
+ */
7
+ export declare function keepTabInside(e: KeyboardEvent, container: HTMLElement): void;
8
+ //# sourceMappingURL=focusTrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focusTrap.d.ts","sourceRoot":"","sources":["../../src/widget/focusTrap.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,eAAO,MAAM,SAAS,uIAAqI,CAAC;AAE5J;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,GAAG,IAAI,CAe5E"}
@@ -1,70 +1,27 @@
1
+ import { EN_MESSAGES, MessageKey, WidgetMessages } from './locales/en.js';
2
+ import { VI_MESSAGES } from './locales/vi.js';
3
+ export { EN_MESSAGES, VI_MESSAGES };
4
+ export type { MessageKey, WidgetMessages };
5
+ /** The locales registered so far: English, Vietnamese and any added with `registerWidgetLocale`. */
6
+ export declare const BUILTIN_LOCALES: Readonly<Record<string, Partial<WidgetMessages>>>;
1
7
  /**
2
- * i18n for ChartWidget's own chrome (toolbar, watchlist, indicator picker,
3
- * status bar, settings panel, hotkey sheet). This does NOT translate
4
- * data-driven labels sourced from `widgetConfig.ts` (the 69 indicator
5
- * display names, drawing-tool names, timezone/locale option labels) — those
6
- * stay in English for now; see README "Widget i18n" for the current
7
- * coverage and how to extend it via `messages`.
8
+ * Make a language available to `locale` on every ChartWidget, e.g.
9
+ * `registerWidgetLocale('ja', ja)` with `ja` from
10
+ * `@tradecanvas/chart/widget/locales`. Codes match case-insensitively.
8
11
  */
9
- export type MessageKey = typeof EN_MESSAGES extends Record<infer K, string> ? K : never;
10
- export declare const EN_MESSAGES: {
11
- readonly 'toolbar.indicators': "Indicators";
12
- readonly 'toolbar.indicators.popular': "Popular";
13
- readonly 'toolbar.indicators.all': "All";
14
- readonly 'indicatorType.overlay': "overlay";
15
- readonly 'indicatorType.panel': "panel";
16
- readonly 'toolbar.replay': "Bar replay";
17
- readonly 'toolbar.longBracket': "Long bracket";
18
- readonly 'toolbar.shortBracket': "Short bracket";
19
- readonly 'toolbar.depthLadder': "Depth ladder";
20
- readonly 'toolbar.objects': "Objects";
21
- readonly 'toolbar.priceAlerts': "Price alerts";
22
- readonly 'toolbar.screenshot': "Screenshot";
23
- readonly 'toolbar.settings': "Chart Settings";
24
- readonly 'toolbar.toggleTheme': "Toggle theme";
25
- readonly 'chartType.candlestick': "Candlestick";
26
- readonly 'chartType.line': "Line";
27
- readonly 'chartType.area': "Area";
28
- readonly 'chartType.bar': "Bar";
29
- readonly 'chartType.heikinAshi': "Heikin-Ashi";
30
- readonly 'chartType.hollowCandle': "Hollow Candle";
31
- readonly 'chartType.baseline': "Baseline";
32
- readonly 'chartType.volumeCandles': "Volume Candles";
33
- readonly 'chartType.equivolume': "Equivolume";
34
- readonly 'chartType.hlcArea': "HLC Area";
35
- readonly 'chartType.stepLine': "Step Line";
36
- readonly 'chartType.lineWithMarkers': "Line + Markers";
37
- readonly 'watchlist.title': "Watchlist";
38
- readonly 'status.connecting': "Connecting...";
39
- readonly 'status.live': "Live";
40
- readonly 'status.connectionFailed': "Connection failed";
41
- readonly 'status.loading': "Loading chart...";
42
- readonly 'settings.title': "Chart Settings";
43
- readonly 'settings.tab.style': "style";
44
- readonly 'settings.tab.display': "display";
45
- readonly 'settings.tab.scale': "scale";
46
- readonly 'settings.resetToDefaults': "Reset to defaults";
47
- readonly 'settings.done': "Done";
48
- readonly 'settings.section.candleColors': "Candle Colors";
49
- readonly 'settings.section.background': "Background";
50
- readonly 'hotkeys.title': "Keyboard shortcuts";
51
- readonly 'hotkeys.close': "Close";
52
- readonly 'hotkeys.gotIt': "Got it";
53
- readonly 'hotkeys.group.searchNavigation': "Search & navigation";
54
- readonly 'hotkeys.group.chartManipulation': "Chart manipulation";
55
- readonly 'hotkeys.group.touch': "Touch (mobile / tablet)";
56
- readonly 'hotkeys.group.keyboard': "Keyboard";
57
- readonly 'hotkeys.group.drawing': "Drawing";
58
- };
59
- export declare const VI_MESSAGES: Partial<Record<MessageKey, string>>;
60
- export declare const BUILTIN_LOCALES: Record<string, Partial<Record<MessageKey, string>>>;
12
+ export declare function registerWidgetLocale(code: string, messages: Partial<WidgetMessages>): void;
13
+ /** The table for `locale`, if one is registered for it or its language. */
14
+ export declare function findWidgetLocale(locale: string): Partial<WidgetMessages> | undefined;
61
15
  /**
62
16
  * Resolve the widget's message table: built-in English as the base, the
63
- * requested built-in locale layered on top (falling back key-by-key to
64
- * English for anything that locale hasn't translated yet), then host
65
- * `messages` overrides layered last so they always win.
17
+ * table for `locale` (or its language) on top, falling back key by key to
18
+ * English, then the host's `messages` last so they always win.
66
19
  */
67
- export declare function resolveMessages(locale: string | undefined, overrides: Partial<Record<MessageKey, string>> | undefined): Record<MessageKey, string>;
20
+ export declare function resolveMessages(locale: string | undefined, overrides: Partial<WidgetMessages> | undefined): WidgetMessages;
68
21
  export type Translator = (key: MessageKey) => string;
69
- export declare function createTranslator(messages: Record<MessageKey, string>): Translator;
22
+ export declare function createTranslator(messages: WidgetMessages): Translator;
23
+ /** English strings, for components used without a widget. */
24
+ export declare const EN_TRANSLATOR: Translator;
25
+ /** Fill `{name}` placeholders: `fill('Comparing {symbol}', { symbol: 'ETH' })`. */
26
+ export declare function fill(template: string, values: Record<string, string | number>): string;
70
27
  //# sourceMappingURL=i18n.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/widget/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAExF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2Dd,CAAC;AAEX,eAAO,MAAM,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAqD3D,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAG/E,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GACzD,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAM5B;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,UAAU,CAEjF"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/widget/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;AACpC,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;AAO3C,oGAAoG;AACpG,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAQ5E,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAE1F;AAYD,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,CAMpF;AAID;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAC7C,cAAc,CAahB;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,CAErE;AAED,6DAA6D;AAC7D,eAAO,MAAM,aAAa,EAAE,UAA0C,CAAC;AAEvE,mFAAmF;AACnF,wBAAgB,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAEtF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * The TradeCanvas icon set, as in the "TradeCanvas Icons" Figma file: a 24 px
3
+ * grid with 2 px padding, 1.75 px strokes with round caps and joins. Drawing
4
+ * tools mark their anchor points (where you click to draw) with filled dots.
5
+ */
6
+ export interface IconDef {
7
+ /** Stroked path data. */
8
+ d?: string;
9
+ /** Dashed stroke, for guides. */
10
+ dash?: string;
11
+ /** Solid shapes, such as filled candle bodies. */
12
+ fills?: readonly string[];
13
+ /** An area filled at 22%. */
14
+ soft?: string;
15
+ /** Filled dots: [cx, cy, r = 1.75]. */
16
+ dots?: readonly (readonly number[])[];
17
+ }
18
+ /** Toolbar, sidebar and panel glyphs. */
19
+ export declare const UI_ICONS: Readonly<Record<string, IconDef>>;
20
+ /** One per drawing tool, keyed by tool type. */
21
+ export declare const DRAWING_TOOL_ICONS: Readonly<Record<string, IconDef>>;
22
+ /** One per chart type, keyed by chart type. */
23
+ export declare const CHART_TYPE_ICONS: Readonly<Record<string, IconDef>>;
24
+ /** The icon as an inline SVG string at `size` px, coloured by `currentColor`. */
25
+ export declare function iconSvg(icon: IconDef, size: number): string;
26
+ //# sourceMappingURL=iconSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iconSet.d.ts","sourceRoot":"","sources":["../../src/widget/iconSet.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,yBAAyB;IACzB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;CACvC;AAED,yCAAyC;AACzC,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyDtD,CAAC;AAEF,gDAAgD;AAChD,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAsEhE,CAAC;AAEF,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmB9D,CAAC;AAoBF,iFAAiF;AACjF,wBAAgB,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D"}
@@ -1,2 +1,7 @@
1
+ /** An interface icon (toolbar, sidebar, panels) as inline SVG; '' for an unknown name. */
1
2
  export declare function createIcon(name: string, size?: number): string;
3
+ /** A drawing tool's own icon; a pen for a tool without one (e.g. from a plugin). */
4
+ export declare function createToolIcon(tool: string, size?: number): string;
5
+ /** A chart type's icon; the generic chart glyph for a type without one. */
6
+ export declare function createChartTypeIcon(type: string, size?: number): string;
2
7
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/widget/icons.ts"],"names":[],"mappings":"AAwCA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAI1D"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/widget/icons.ts"],"names":[],"mappings":"AAKA,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAG1D;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAE9D;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,MAAM,CAEnE"}