@tradecanvas/chart 1.4.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 (195) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +910 -858
  3. package/dist/Chart.d.ts +606 -23
  4. package/dist/Chart.d.ts.map +1 -1
  5. package/dist/DataManager.d.ts +5 -0
  6. package/dist/DataManager.d.ts.map +1 -1
  7. package/dist/HistoryPager.d.ts +58 -0
  8. package/dist/HistoryPager.d.ts.map +1 -0
  9. package/dist/LayoutSession-CTZB90NX.cjs +2 -0
  10. package/dist/LayoutSession-CTZB90NX.cjs.map +1 -0
  11. package/dist/LayoutSession-CWn3sdbs.js +3967 -0
  12. package/dist/LayoutSession-CWn3sdbs.js.map +1 -0
  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 +5 -4
  18. package/dist/charts/ChartTypeStrategy.d.ts.map +1 -1
  19. package/dist/grid/ChartGrid.d.ts +6 -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 +22 -3
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +31 -31
  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 +219 -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 +3 -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 +14 -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 +5 -4
  77. package/dist/widget/WidgetGoToDate.d.ts.map +1 -1
  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.map +1 -1
  81. package/dist/widget/WidgetIndicatorLegend.d.ts +31 -1
  82. package/dist/widget/WidgetIndicatorLegend.d.ts.map +1 -1
  83. package/dist/widget/WidgetIndicatorSettings.d.ts +62 -7
  84. package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -1
  85. package/dist/widget/WidgetIntervalInput.d.ts +34 -0
  86. package/dist/widget/WidgetIntervalInput.d.ts.map +1 -0
  87. package/dist/widget/WidgetLayoutsDialog.d.ts +39 -0
  88. package/dist/widget/WidgetLayoutsDialog.d.ts.map +1 -0
  89. package/dist/widget/WidgetLayoutsUI.d.ts +37 -0
  90. package/dist/widget/WidgetLayoutsUI.d.ts.map +1 -0
  91. package/dist/widget/WidgetNamePrompt.d.ts +31 -0
  92. package/dist/widget/WidgetNamePrompt.d.ts.map +1 -0
  93. package/dist/widget/WidgetObjectTree.d.ts +21 -3
  94. package/dist/widget/WidgetObjectTree.d.ts.map +1 -1
  95. package/dist/widget/WidgetOrderTicket.d.ts +49 -0
  96. package/dist/widget/WidgetOrderTicket.d.ts.map +1 -0
  97. package/dist/widget/WidgetReplayBar.d.ts +15 -0
  98. package/dist/widget/WidgetReplayBar.d.ts.map +1 -1
  99. package/dist/widget/WidgetSettings.d.ts +13 -1
  100. package/dist/widget/WidgetSettings.d.ts.map +1 -1
  101. package/dist/widget/WidgetStatusBar.d.ts +3 -0
  102. package/dist/widget/WidgetStatusBar.d.ts.map +1 -1
  103. package/dist/widget/WidgetStyles.d.ts +3 -1
  104. package/dist/widget/WidgetStyles.d.ts.map +1 -1
  105. package/dist/widget/WidgetSymbolInfo.d.ts +64 -0
  106. package/dist/widget/WidgetSymbolInfo.d.ts.map +1 -0
  107. package/dist/widget/WidgetSymbolSearch.d.ts +26 -5
  108. package/dist/widget/WidgetSymbolSearch.d.ts.map +1 -1
  109. package/dist/widget/WidgetToolbar.d.ts +30 -1
  110. package/dist/widget/WidgetToolbar.d.ts.map +1 -1
  111. package/dist/widget/WidgetWatchlist.d.ts +53 -13
  112. package/dist/widget/WidgetWatchlist.d.ts.map +1 -1
  113. package/dist/widget/chartMenu.d.ts +40 -0
  114. package/dist/widget/chartMenu.d.ts.map +1 -0
  115. package/dist/widget/drawingMenu.d.ts +21 -0
  116. package/dist/widget/drawingMenu.d.ts.map +1 -0
  117. package/dist/widget/focusTrap.d.ts +8 -0
  118. package/dist/widget/focusTrap.d.ts.map +1 -0
  119. package/dist/widget/i18n.d.ts +20 -89
  120. package/dist/widget/i18n.d.ts.map +1 -1
  121. package/dist/widget/iconSet.d.ts.map +1 -1
  122. package/dist/widget/index.cjs +4294 -3028
  123. package/dist/widget/index.cjs.map +1 -1
  124. package/dist/widget/index.d.ts +15 -1
  125. package/dist/widget/index.d.ts.map +1 -1
  126. package/dist/widget/index.js +6326 -1185
  127. package/dist/widget/index.js.map +1 -1
  128. package/dist/widget/indicatorTemplates.d.ts +24 -0
  129. package/dist/widget/indicatorTemplates.d.ts.map +1 -0
  130. package/dist/widget/keyTarget.d.ts +11 -0
  131. package/dist/widget/keyTarget.d.ts.map +1 -0
  132. package/dist/widget/legendValues.d.ts +11 -6
  133. package/dist/widget/legendValues.d.ts.map +1 -1
  134. package/dist/widget/locales/ar.d.ts +4 -0
  135. package/dist/widget/locales/ar.d.ts.map +1 -0
  136. package/dist/widget/locales/de.d.ts +4 -0
  137. package/dist/widget/locales/de.d.ts.map +1 -0
  138. package/dist/widget/locales/en.d.ts +722 -0
  139. package/dist/widget/locales/en.d.ts.map +1 -0
  140. package/dist/widget/locales/es.d.ts +4 -0
  141. package/dist/widget/locales/es.d.ts.map +1 -0
  142. package/dist/widget/locales/fr.d.ts +4 -0
  143. package/dist/widget/locales/fr.d.ts.map +1 -0
  144. package/dist/widget/locales/he.d.ts +4 -0
  145. package/dist/widget/locales/he.d.ts.map +1 -0
  146. package/dist/widget/locales/id.d.ts +4 -0
  147. package/dist/widget/locales/id.d.ts.map +1 -0
  148. package/dist/widget/locales/index.cjs +2 -0
  149. package/dist/widget/locales/index.cjs.map +1 -0
  150. package/dist/widget/locales/index.d.ts +33 -0
  151. package/dist/widget/locales/index.d.ts.map +1 -0
  152. package/dist/widget/locales/index.js +10089 -0
  153. package/dist/widget/locales/index.js.map +1 -0
  154. package/dist/widget/locales/ja.d.ts +4 -0
  155. package/dist/widget/locales/ja.d.ts.map +1 -0
  156. package/dist/widget/locales/ko.d.ts +4 -0
  157. package/dist/widget/locales/ko.d.ts.map +1 -0
  158. package/dist/widget/locales/pt.d.ts +4 -0
  159. package/dist/widget/locales/pt.d.ts.map +1 -0
  160. package/dist/widget/locales/ru.d.ts +4 -0
  161. package/dist/widget/locales/ru.d.ts.map +1 -0
  162. package/dist/widget/locales/th.d.ts +4 -0
  163. package/dist/widget/locales/th.d.ts.map +1 -0
  164. package/dist/widget/locales/tr.d.ts +4 -0
  165. package/dist/widget/locales/tr.d.ts.map +1 -0
  166. package/dist/widget/locales/vi.d.ts +4 -0
  167. package/dist/widget/locales/vi.d.ts.map +1 -0
  168. package/dist/widget/locales/zh.d.ts +4 -0
  169. package/dist/widget/locales/zh.d.ts.map +1 -0
  170. package/dist/widget/locales/zhHant.d.ts +4 -0
  171. package/dist/widget/locales/zhHant.d.ts.map +1 -0
  172. package/dist/widget/orderTicket.d.ts +27 -0
  173. package/dist/widget/orderTicket.d.ts.map +1 -0
  174. package/dist/widget/settingsControls.d.ts +24 -0
  175. package/dist/widget/settingsControls.d.ts.map +1 -0
  176. package/dist/widget/types.d.ts +182 -6
  177. package/dist/widget/types.d.ts.map +1 -1
  178. package/dist/widget/widgetConfig.d.ts.map +1 -1
  179. package/dist/widget/widgetLayout.d.ts +22 -0
  180. package/dist/widget/widgetLayout.d.ts.map +1 -0
  181. package/dist/widget/widgetLocales.d.ts +17 -0
  182. package/dist/widget/widgetLocales.d.ts.map +1 -0
  183. package/dist/widget/widgetTimeframes.d.ts +8 -0
  184. package/dist/widget/widgetTimeframes.d.ts.map +1 -1
  185. package/dist/widget/widgetTimezones.d.ts +32 -0
  186. package/dist/widget/widgetTimezones.d.ts.map +1 -0
  187. package/dist/widget/widgetUI.d.ts +126 -0
  188. package/dist/widget/widgetUI.d.ts.map +1 -0
  189. package/package.json +8 -3
  190. package/dist/DragDropImporter-C5kgfbET.cjs +0 -2
  191. package/dist/DragDropImporter-C5kgfbET.cjs.map +0 -1
  192. package/dist/DragDropImporter-Dd9Mud5J.js +0 -2099
  193. package/dist/DragDropImporter-Dd9Mud5J.js.map +0 -1
  194. package/dist/charts/IndicatorPriceRange.d.ts +0 -20
  195. package/dist/charts/IndicatorPriceRange.d.ts.map +0 -1
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** 日本語 */
3
+ export declare const JA_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=ja.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ja.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/ja.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,UAAU;AACV,eAAO,MAAM,WAAW,EAAE,cAiuBzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** 한국어 */
3
+ export declare const KO_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=ko.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ko.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/ko.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,UAAU;AACV,eAAO,MAAM,WAAW,EAAE,cAiuBzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** Português (Brasil) */
3
+ export declare const PT_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=pt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pt.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/pt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,yBAAyB;AACzB,eAAO,MAAM,WAAW,EAAE,cAiuBzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** Русский */
3
+ export declare const RU_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=ru.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ru.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/ru.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,cAAc;AACd,eAAO,MAAM,WAAW,EAAE,cAiuBzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** ภาษาไทย */
3
+ export declare const TH_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=th.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"th.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/th.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,cAAc;AACd,eAAO,MAAM,WAAW,EAAE,cAiuBzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** Türkçe */
3
+ export declare const TR_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=tr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tr.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/tr.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,aAAa;AACb,eAAO,MAAM,WAAW,EAAE,cAiuBzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** Tiếng Việt. */
3
+ export declare const VI_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=vi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vi.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/vi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,kBAAkB;AAClB,eAAO,MAAM,WAAW,EAAE,cAiuBzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** 简体中文 */
3
+ export declare const ZH_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=zh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zh.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/zh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,WAAW;AACX,eAAO,MAAM,WAAW,EAAE,cAiuBzB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { WidgetMessages } from './en.js';
2
+ /** 繁體中文 */
3
+ export declare const ZH_HANT_MESSAGES: WidgetMessages;
4
+ //# sourceMappingURL=zhHant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zhHant.d.ts","sourceRoot":"","sources":["../../../src/widget/locales/zhHant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,WAAW;AACX,eAAO,MAAM,gBAAgB,EAAE,cAiuB9B,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { OrderPlaceIntent, OrderSide, TimeInForce } from '@tradecanvas/commons';
2
+ /** What the order ticket holds while it is filled in. */
3
+ export interface OrderTicketDraft {
4
+ side: OrderSide;
5
+ type: 'market' | 'limit' | 'stop';
6
+ quantity: number;
7
+ /** The limit or stop price (a market order fills at the market). */
8
+ price: number;
9
+ stopLoss: number | null;
10
+ takeProfit: number | null;
11
+ timeInForce: TimeInForce;
12
+ }
13
+ /** What is wrong with a draft, as message keys. */
14
+ export type OrderTicketProblem = 'quantity' | 'price'
15
+ /** A market order with no market price to fill at (no bars yet). */
16
+ | 'market' | 'stopLoss' | 'takeProfit' | 'stopLossSide' | 'takeProfitSide' | 'limitSide' | 'stopSide';
17
+ /**
18
+ * The problems with a draft: a quantity or price that isn't positive, a stop-loss
19
+ * or take-profit on the wrong side of the entry, a limit or stop on the wrong side
20
+ * of the market (it would fill at once).
21
+ */
22
+ export declare function orderTicketProblems(draft: OrderTicketDraft, lastPrice: number | null): OrderTicketProblem[];
23
+ /** The order a draft asks for. */
24
+ export declare function orderTicketIntent(draft: OrderTicketDraft, lastPrice: number | null): OrderPlaceIntent;
25
+ /** Reward over risk for a draft with both a stop-loss and a take-profit, or null. */
26
+ export declare function orderTicketRiskReward(draft: OrderTicketDraft, lastPrice: number | null): number | null;
27
+ //# sourceMappingURL=orderTicket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orderTicket.d.ts","sourceRoot":"","sources":["../../src/widget/orderTicket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAErF,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,mDAAmD;AACnD,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,OAAO;AACT,oEAAoE;GAClE,QAAQ,GACR,UAAU,GACV,YAAY,GACZ,cAAc,GACd,gBAAgB,GAChB,WAAW,GACX,UAAU,CAAC;AAUf;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,kBAAkB,EAAE,CAqB3G;AAED,kCAAkC;AAClC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,CAYrG;AAED,qFAAqF;AACrF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAKtG"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Form controls shared by the settings dialogs: a labelled row, a switch, a
3
+ * number field, a colour picker and a select. Each calls back on change.
4
+ */
5
+ /** A labelled control: clicking the label reaches the control. */
6
+ export declare function settingsRow(label: string, control: HTMLElement): HTMLLabelElement;
7
+ export declare function toggleSwitch(value: boolean, onChange: (value: boolean) => void): HTMLButtonElement;
8
+ export declare function numberInput(value: number, range: {
9
+ min?: number;
10
+ max?: number;
11
+ step?: number | 'any';
12
+ }, onChange: (value: number) => void): HTMLInputElement;
13
+ export declare function colorInput(value: string, onInput: (value: string) => void): HTMLInputElement;
14
+ export declare function selectInput(choices: readonly {
15
+ value: string;
16
+ label: string;
17
+ }[], value: string, onChange: (value: string) => void): HTMLSelectElement;
18
+ /** A colour as `#rrggbb` (what a colour input takes); black if unreadable. */
19
+ export declare function toHex(color: unknown): string;
20
+ /** The alpha of a colour (1 for `#rgb` / `#rrggbb`). */
21
+ export declare function colorAlpha(color: unknown): number;
22
+ /** `#rrggbb` with an alpha, as `rgba(…)`. */
23
+ export declare function withAlpha(hex: string, alpha: number): string;
24
+ //# sourceMappingURL=settingsControls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settingsControls.d.ts","sourceRoot":"","sources":["../../src/widget/settingsControls.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAQjF;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,iBAAiB,CAalG;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,EAC5D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAChC,gBAAgB,CAkBlB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,gBAAgB,CAO5F;AAED,wBAAgB,WAAW,CACzB,OAAO,EAAE,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EACpD,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAChC,iBAAiB,CAYnB;AAED,8EAA8E;AAC9E,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQ5C;AAED,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIjD;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAI5D"}
@@ -1,9 +1,35 @@
1
- import { Theme, ThemeName, ChartType, TimeFrame, DrawingToolType, DataAdapter, ChartOptions, PriceScaleMode } from '@tradecanvas/commons';
1
+ import { ChartTypeOptions, Theme, ThemeName, ChartType, TimeFrame, DrawingToolType, DataAdapter, ChartOptions, NewsItem, PriceScaleMode, QuoteSource, SymbolInfo } from '@tradecanvas/commons';
2
2
  import { Chart } from '../Chart.js';
3
+ import { WatchlistList } from './WatchlistStore.js';
4
+ /** The watchlist's lists and where its rows' quotes come from. */
5
+ export interface WatchlistOptions {
6
+ /** The lists to start with; default one list of `symbols`. */
7
+ lists?: WatchlistList[];
8
+ /** The list shown first, by id. */
9
+ activeList?: string;
10
+ /** Keep the lists in this browser (localStorage) between visits. Default `false`. */
11
+ persist?: boolean;
12
+ /** The localStorage key when `persist` is on. Default `'tcw:watchlists'`. */
13
+ storageKey?: string;
14
+ /**
15
+ * Where the rows' quotes come from: default the adapter's `subscribeQuotes`
16
+ * when it has one (Binance does); `false` for only what you push with
17
+ * `setQuotes` / `setWatchlistEntry`.
18
+ */
19
+ quotes?: QuoteSource | false;
20
+ /** After every change to the lists (to keep them yourself). */
21
+ onChange?: (lists: WatchlistList[], activeList: string) => void;
22
+ }
3
23
  export interface ChartWidgetOptions {
4
24
  symbol?: string;
5
25
  timeframe?: TimeFrame;
6
26
  theme?: ThemeName | Theme;
27
+ /**
28
+ * The widget's look: its corners, sizes, type, lines, shadows and bars.
29
+ * A preset (`'studio'`, the default; `'terminal'`; `'capsule'`) or your
30
+ * theme over one. Colours stay with `theme`.
31
+ */
32
+ ui?: import('./widgetUI.js').WidgetUIPreset | import('./widgetUI.js').WidgetUITheme;
7
33
  /**
8
34
  * UI chrome language (toolbar, watchlist, indicator picker, status bar,
9
35
  * settings panel, hotkey sheet). A built-in table ('en', the default, or
@@ -56,17 +82,80 @@ export interface ChartWidgetOptions {
56
82
  * order-book feed via `widget.setDepth`). Clicks emit `orderPlace` intents.
57
83
  */
58
84
  depthLadder?: boolean;
85
+ /**
86
+ * The account panel at the bottom: open positions with their profit and
87
+ * loss, working orders and the fills so far, with close, reverse and cancel,
88
+ * and an order ticket. A toolbar button opens it. Default `true` when
89
+ * trading is on.
90
+ */
91
+ accountPanel?: boolean;
92
+ /**
93
+ * Named layouts: a toolbar button to save the chart (symbol, interval,
94
+ * scale, chart type, indicators, drawings, alerts) under a name, open,
95
+ * rename and delete layouts, and auto-save the one open; Ctrl/Cmd+S saves.
96
+ * Kept in this browser's `localStorage` unless `storage` says otherwise.
97
+ * Default `true`.
98
+ */
99
+ layouts?: boolean | WidgetLayoutsOptions;
100
+ /**
101
+ * Indicator templates: the indicators menu saves the chart's indicators
102
+ * (inputs, style, levels, panes) under a name and applies them in one go.
103
+ * Kept in this browser's `localStorage`. Default `true`.
104
+ */
105
+ indicatorTemplates?: boolean;
106
+ /**
107
+ * Type a number on the chart (after using it) to change the interval:
108
+ * `5`, `15m`, `1h`, `1D`, then Enter. Default `true`.
109
+ */
110
+ intervalTyping?: boolean;
111
+ /**
112
+ * Your own entries at the end of the chart's right-click menus (and of the
113
+ * "+" by the price axis), after the widget's. Called each time a menu opens.
114
+ */
115
+ chartMenuItems?: (context: ChartMenuItemsContext) => readonly WidgetMenuItem[];
59
116
  symbols?: string[];
60
117
  timeframes?: TimeFrame[];
118
+ /** Let users type their own intervals (7m, 90m, 2h…) in the timeframe menu. Default `true`. */
119
+ customTimeframes?: boolean;
61
120
  chartTypes?: ChartType[];
62
121
  adapter?: DataAdapter;
122
+ /**
123
+ * Search symbols as the user types in the symbol search (names, exchanges).
124
+ * Defaults to the adapter's `searchSymbols`; without either, the search
125
+ * filters `symbols`.
126
+ */
127
+ searchSymbols?: (query: string, signal: AbortSignal) => Promise<SymbolInfo[]>;
63
128
  historyLimit?: number;
129
+ /** Bars per request when scrolling back for older bars (adapters with `fetchHistoryBefore`). Default 500. */
130
+ historyPageSize?: number;
64
131
  chartOptions?: Partial<ChartOptions>;
65
132
  /**
66
- * Render a watchlist sidebar on the right showing all configured symbols
67
- * with last price, % change, and a mini sparkline. Default `false`.
133
+ * A watchlist sidebar on the right: lists of symbols with last price,
134
+ * % change and a mini sparkline; lists can be added, renamed, deleted and
135
+ * reordered. `true` starts with one list of `symbols`. Default `false`.
136
+ */
137
+ watchlist?: boolean | WatchlistOptions;
138
+ /**
139
+ * The symbol info panel (names, price and move, market status, the day's
140
+ * numbers, hours, news) and its toolbar button. Default `true`.
141
+ */
142
+ symbolInfo?: boolean;
143
+ /**
144
+ * Buttons over the chart, shown while the pointer is on it: zoom out and
145
+ * in, scroll earlier and later, reset the view. Default `true`.
146
+ */
147
+ navigation?: boolean;
148
+ /**
149
+ * Writing direction of the widget's chrome: `'rtl'` mirrors the toolbar,
150
+ * drawing tools, menus and dialogs (the chart keeps time running left to
151
+ * right). Default `'auto'`: right to left for Arabic, Hebrew, Persian, Urdu.
152
+ */
153
+ dir?: 'ltr' | 'rtl' | 'auto';
154
+ /**
155
+ * Headlines for the symbol info panel, newest first; default the adapter's
156
+ * `fetchNews` when it has one. Links that aren't web pages are dropped.
68
157
  */
69
- watchlist?: boolean;
158
+ news?: (symbol: string, limit: number) => Promise<NewsItem[]>;
70
159
  /**
71
160
  * Drag-and-drop CSV / JSON file import onto the chart. Default `true`.
72
161
  * Set to `false` to disable (e.g. if the chart sits inside a larger
@@ -106,6 +195,59 @@ export interface ChartWidgetOptions {
106
195
  onTimeframeChange?: (tf: TimeFrame) => void;
107
196
  onReady?: (chart: Chart) => void;
108
197
  }
198
+ /** Where a chart menu opened, for `chartMenuItems`. */
199
+ export interface ChartMenuItemsContext {
200
+ /** The part of the chart right-clicked, or `'priceAxisAdd'` for the "+" by the price axis. */
201
+ area: import('@tradecanvas/commons').ChartContextArea | 'priceAxisAdd';
202
+ /** The price there, on the price pane and the price axis. */
203
+ price?: number;
204
+ /** The time there, on the plot and the time axis (ms). */
205
+ time?: number;
206
+ }
207
+ /** An entry of yours in a widget menu. */
208
+ export interface WidgetMenuItem {
209
+ label: string;
210
+ /** A built-in icon's name (see the docs' icon list). */
211
+ icon?: string;
212
+ /** Shown in red, for something that removes. */
213
+ danger?: boolean;
214
+ /** Makes it a switch, ticked when `true`. */
215
+ checked?: boolean;
216
+ onSelect: () => void;
217
+ }
218
+ /** A button of yours on the widget's toolbar; see `ChartWidget.addToolbarButton`. */
219
+ export interface ToolbarButtonSpec {
220
+ /** Tells your buttons apart (`data-host-button` on the element). */
221
+ id: string;
222
+ /** Its accessible name and tooltip. */
223
+ label: string;
224
+ /** A built-in icon's name, or an element of your own (an `<svg>`, say). */
225
+ icon?: string | Element;
226
+ /** Text after the icon. Without an icon or text the label shows. */
227
+ text?: string;
228
+ /** With the chart controls on the left, or the panel buttons on the right. Default `'right'`. */
229
+ side?: 'left' | 'right';
230
+ /** A switch that shows pressed while on (see `setActive`). */
231
+ toggle?: boolean;
232
+ onClick: (button: HTMLButtonElement) => void;
233
+ }
234
+ export interface ToolbarButtonHandle {
235
+ readonly element: HTMLButtonElement;
236
+ /** Show a `toggle` button as on or off. */
237
+ setActive(on: boolean): void;
238
+ setText(text: string): void;
239
+ remove(): void;
240
+ }
241
+ export interface WidgetLayoutsOptions {
242
+ /** Where the layouts are kept: your server, say. Default: `localStorageLayouts()`. */
243
+ storage?: import('../state/layoutStorage.js').LayoutStorage;
244
+ /** Save the open layout by itself as it changes. Default `true`. */
245
+ autoSave?: boolean;
246
+ /** How long changes settle before an auto-save. Default 1500 ms. */
247
+ debounceMs?: number;
248
+ /** Open the layout saved last when the widget starts. Default `false`. */
249
+ openLast?: boolean;
250
+ }
109
251
  export interface ActiveIndicatorInfo {
110
252
  id: string;
111
253
  /** Chip label: short name plus the main parameters, e.g. "EMA 20". */
@@ -120,6 +262,12 @@ export interface WidgetState {
120
262
  activeIndicators: Map<string, ActiveIndicatorInfo>;
121
263
  activeTool: DrawingToolType | null;
122
264
  magnetEnabled: boolean;
265
+ /** The magnet snaps always, not only near a price (with `magnetEnabled`). */
266
+ magnetStrong: boolean;
267
+ /** The eraser is on: a click on a drawing removes it. */
268
+ eraser: boolean;
269
+ /** The zoom tool waits for a box to zoom into. */
270
+ zoomArea: boolean;
123
271
  /** Keep the drawing tool after each drawing. */
124
272
  stayInDrawing: boolean;
125
273
  connectionState: string;
@@ -131,6 +279,7 @@ export interface ToolbarConfig {
131
279
  timeframes: {
132
280
  label: string;
133
281
  value: TimeFrame;
282
+ custom?: boolean;
134
283
  }[];
135
284
  /** The ones shown as buttons. Defaults to all of `timeframes`. */
136
285
  timeframeFavorites?: TimeFrame[];
@@ -143,9 +292,15 @@ export interface ToolbarConfig {
143
292
  }
144
293
  export interface ToolbarCallbacks {
145
294
  onSymbolClick: () => void;
295
+ /** The symbol info button: shown only when given. */
296
+ onSymbolInfo?: () => void;
146
297
  onTimeframe: (tf: TimeFrame) => void;
147
298
  /** Pin or unpin a timeframe; enables the timeframe menu. */
148
299
  onToggleTimeframeFavorite?: (tf: TimeFrame) => void;
300
+ /** Add a typed interval ("7m", "90", "2h"); false when it isn't one. Shows the custom-interval field. */
301
+ onAddTimeframe?: (text: string) => boolean;
302
+ /** Remove a custom interval from the menu. */
303
+ onRemoveTimeframe?: (tf: TimeFrame) => void;
149
304
  onChartType: (type: ChartType) => void;
150
305
  onAddIndicator: (id: string) => void;
151
306
  onScreenshot: () => void;
@@ -154,6 +309,13 @@ export interface ToolbarCallbacks {
154
309
  onToggleReplay?: () => void;
155
310
  onToggleAlerts?: () => void;
156
311
  onToggleObjects?: () => void;
312
+ onToggleAccount?: () => void;
313
+ /** The layouts button was pressed: open its menu under it. */
314
+ onLayouts?: (anchor: HTMLElement) => void;
315
+ /** Indicator templates in the indicators menu: apply, save the chart's, delete. */
316
+ onApplyIndicatorTemplate?: (name: string) => void;
317
+ onSaveIndicatorTemplate?: () => void;
318
+ onDeleteIndicatorTemplate?: (name: string) => void;
157
319
  onBracket?: (side: 'buy' | 'sell') => void;
158
320
  onToggleLadder?: () => void;
159
321
  /** Shown only when given (and the browser allows fullscreen). */
@@ -167,8 +329,10 @@ export interface SidebarConfig {
167
329
  export interface SidebarCallbacks {
168
330
  onDrawingTool: (tool: DrawingToolType) => void;
169
331
  onCancelDrawing: () => void;
170
- /** Omitted when the magnet is switched off (`features.drawingMagnet: false`). */
332
+ /** Omitted when the magnet is switched off (`features.drawingMagnet: false`). Cycles off, weak, strong. */
171
333
  onToggleMagnet?: () => void;
334
+ onToggleEraser?: () => void;
335
+ onToggleZoomArea?: () => void;
172
336
  onToggleFavorite?: (tool: DrawingToolType) => void;
173
337
  onUndo: () => void;
174
338
  onRedo: () => void;
@@ -206,15 +370,27 @@ export interface ChartSettingsState {
206
370
  periodLevelsPeriod: 'day' | 'week';
207
371
  legendVisible: boolean;
208
372
  barCountdown: boolean;
373
+ /** Tag each indicator line's latest value on its scale. */
374
+ indicatorValueLabels: boolean;
209
375
  logScale: boolean;
210
376
  scaleMode: PriceScaleMode;
211
377
  autoScale: boolean;
212
378
  /** Price scale upside down. */
213
379
  invertScale: boolean;
380
+ /** A price scale on the left too (it carries overlays put on it, else mirrors the price scale). */
381
+ leftPriceScale: boolean;
214
382
  crosshairMode: 'normal' | 'magnet' | 'hidden';
215
383
  numberLocale: string;
216
- /** 'local' = browser timezone, otherwise a fixed UTC offset in minutes (as a string). */
384
+ /** 'local' = browser timezone; an IANA zone ('America/New_York'); or a fixed UTC offset in minutes (as a string, from older settings). */
217
385
  timezone: string;
386
+ /** Lines at the highest high and lowest low on screen. */
387
+ highLowLines: boolean;
388
+ /** The main series (bars, candles, line) shown. */
389
+ mainSeriesVisible: boolean;
390
+ /** Bars outside the symbol's regular hours shown (pre- and post-market). */
391
+ extendedHours: boolean;
392
+ /** Renko box, Line Break lines, Kagi reversal, Point & Figure box and reversal, range. */
393
+ chartTypeOptions: ChartTypeOptions;
218
394
  }
219
395
  export interface IndicatorDef {
220
396
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/widget/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/widget/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"widgetConfig.d.ts","sourceRoot":"","sources":["../../src/widget/widgetConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExF,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,EAa5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EA2FpD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,YAAY,EAuEpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAG9B,CAAC;AAEF,eAAO,MAAM,eAAe,UAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,kBAgC9B,CAAC"}
1
+ {"version":3,"file":"widgetConfig.d.ts","sourceRoot":"","sources":["../../src/widget/widgetConfig.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAExF,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,EAmB5D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EAuIpD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,YAAY,EAgGpC,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAG9B,CAAC;AAEF,eAAO,MAAM,eAAe,UAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,kBAsC9B,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { PriceScaleMode, TimeFrame } from '@tradecanvas/commons';
2
+ /** What a widget's named layout holds. */
3
+ export interface WidgetLayoutContent {
4
+ v: 1;
5
+ symbol: string;
6
+ timeframe: TimeFrame;
7
+ scaleMode: PriceScaleMode;
8
+ invertScale: boolean;
9
+ /** The chart's own state, as `Chart.saveState()` writes it: chart type, indicators, drawings, alerts. */
10
+ chart: Record<string, unknown> | null;
11
+ }
12
+ /** The chart's state without what a layout leaves to the viewer (the theme) or never compares (when it was taken). */
13
+ export declare function layoutChartState(state: Record<string, unknown>): Record<string, unknown>;
14
+ /**
15
+ * A widget layout read back from storage (or a host's server), or `null` when
16
+ * it is not one. Whatever comes in is checked: an interval it can't read
17
+ * refuses the layout, and a theme in the chart's state is dropped.
18
+ */
19
+ export declare function readWidgetLayout(value: unknown): WidgetLayoutContent | null;
20
+ /** Parse a layout's JSON; `null` for anything that does not parse. */
21
+ export declare function parseLayoutJson(json: string): unknown;
22
+ //# sourceMappingURL=widgetLayout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgetLayout.d.ts","sourceRoot":"","sources":["../../src/widget/widgetLayout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtE,0CAA0C;AAC1C,MAAM,WAAW,mBAAmB;IAClC,CAAC,EAAE,CAAC,CAAC;IACL,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,yGAAyG;IACzG,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACvC;AAMD,sHAAsH;AACtH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGxF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,mBAAmB,GAAG,IAAI,CAW3E;AAED,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAMrD"}
@@ -0,0 +1,17 @@
1
+ import { DrawingToolGroupDef } from './types.js';
2
+ import { Translator } from './i18n.js';
3
+ /** Number formats the settings offer, by locale tag. */
4
+ export declare const NUMBER_LOCALES: readonly string[];
5
+ /** "de-DE (65.234,00)": each format with a sample number; the current one stays listed. */
6
+ export declare function numberLocaleOptions(current: string): {
7
+ value: string;
8
+ label: string;
9
+ }[];
10
+ /** A chart type's name in the widget's language (an unknown type keeps its own). */
11
+ export declare function chartTypeLabel(ct: {
12
+ value: string;
13
+ label: string;
14
+ }, t: Translator): string;
15
+ /** The drawing-tool groups with names in the widget's language (unknown tools keep theirs). */
16
+ export declare function localizeToolGroups(groups: readonly DrawingToolGroupDef[], t: Translator): DrawingToolGroupDef[];
17
+ //# sourceMappingURL=widgetLocales.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgetLocales.d.ts","sourceRoot":"","sources":["../../src/widget/widgetLocales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,wDAAwD;AACxD,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAG3C,CAAC;AAIF,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAWvF;AAmBD,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAI1F;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EAAE,CAAC,EAAE,UAAU,GAAG,mBAAmB,EAAE,CAS/G"}
@@ -17,4 +17,12 @@ export declare function availableTimeframes(widgetList?: TimeFrame[], whitelist?
17
17
  * the standard set; else the first few offered.
18
18
  */
19
19
  export declare function initialTimeframeFavorites(available: TimeFrame[], hostDefaults?: TimeFrame[], hostChoseList?: boolean): TimeFrame[];
20
+ /**
21
+ * A typed interval as a timeframe, or null: a whole count and an optional
22
+ * unit (`7`, `7m`, `2H`, `3d`, `1W`, `2M`; minutes when the unit is left
23
+ * out). Written in its largest whole unit, so `60` and `1h` are the same.
24
+ */
25
+ export declare function parseTimeframeInput(text: string): TimeFrame | null;
26
+ /** `list` plus `extra`, without repeats, leaving out what the whitelist excludes, shortest first. */
27
+ export declare function withExtraTimeframes(list: TimeFrame[], extra: TimeFrame[], whitelist?: TimeFrame[]): TimeFrame[];
20
28
  //# sourceMappingURL=widgetTimeframes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widgetTimeframes.d.ts","sourceRoot":"","sources":["../../src/widget/widgetTimeframes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAAyE,CAAC;AAEnH,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,EAAE,SAAS,EAA0C,CAAC;AAI7F,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAGpD;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAMlG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EAAE,EACtB,YAAY,CAAC,EAAE,SAAS,EAAE,EAC1B,aAAa,UAAQ,GACpB,SAAS,EAAE,CAKb"}
1
+ {"version":3,"file":"widgetTimeframes.d.ts","sourceRoot":"","sources":["../../src/widget/widgetTimeframes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,EAAE,SAAS,EAAyE,CAAC;AAEnH,iDAAiD;AACjD,eAAO,MAAM,0BAA0B,EAAE,SAAS,EAA0C,CAAC;AAI7F,iFAAiF;AACjF,wBAAgB,cAAc,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,CAGpD;AAYD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAMlG;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,SAAS,EAAE,EACtB,YAAY,CAAC,EAAE,SAAS,EAAE,EAC1B,aAAa,UAAQ,GACpB,SAAS,EAAE,CAKb;AAaD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAkBlE;AAED,qGAAqG;AACrG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAI/G"}
@@ -0,0 +1,32 @@
1
+ import { TimeZoneSetting } from '@tradecanvas/commons';
2
+ /** The zones the settings offer besides the browser's own, by city. */
3
+ export declare const WIDGET_TIMEZONES: readonly {
4
+ zone: string;
5
+ city: string;
6
+ }[];
7
+ /**
8
+ * The settings' timezone value as a display timezone: `'local'` is the
9
+ * browser's, a number of minutes a fixed offset (older saved settings), and
10
+ * anything else an IANA zone — the browser's own when it doesn't know it.
11
+ */
12
+ export declare function settingToTimezone(value: string): TimeZoneSetting;
13
+ /** A display timezone as the settings' value: the inverse of `settingToTimezone`. */
14
+ export declare function timezoneToSetting(tz: TimeZoneSetting): string;
15
+ export interface TimezoneOption {
16
+ value: string;
17
+ label: string;
18
+ /** Minutes east of UTC at the time the list was made. */
19
+ offset: number;
20
+ }
21
+ /**
22
+ * The timezone menu at `atMs`: the browser's zone first, then the zones by
23
+ * the offset in force then ("(UTC-4) New York"). An older fixed-offset
24
+ * setting that isn't one of them stays on the list.
25
+ */
26
+ export declare function timezoneOptions(current: string, atMs: number, localLabel: string,
27
+ /** Offer the symbol's exchange zone ('exchange'); `zone` is null while unknown (UTC). */
28
+ exchange?: {
29
+ label: string;
30
+ zone: string | null;
31
+ }): TimezoneOption[];
32
+ //# sourceMappingURL=widgetTimezones.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgetTimezones.d.ts","sourceRoot":"","sources":["../../src/widget/widgetTimezones.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EA6BrE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAKhE;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM,CAG7D;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM;AAClB,yFAAyF;AACzF,QAAQ,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAChD,cAAc,EAAE,CAkBlB"}