@tradecanvas/chart 1.36.0 → 1.38.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 (80) hide show
  1. package/README.md +1 -1
  2. package/dist/Chart.d.ts +17 -5
  3. package/dist/Chart.d.ts.map +1 -1
  4. package/dist/LayoutSession-CQuy66RZ.cjs +2 -0
  5. package/dist/LayoutSession-CQuy66RZ.cjs.map +1 -0
  6. package/dist/{LayoutSession-C9eUKUDB.js → LayoutSession-DFL2W819.js} +15 -4
  7. package/dist/LayoutSession-DFL2W819.js.map +1 -0
  8. package/dist/i18n-3mW6rmUi.cjs +2 -0
  9. package/dist/i18n-3mW6rmUi.cjs.map +1 -0
  10. package/dist/{i18n-BSyBRGty.js → i18n-EHdUj7jZ.js} +53 -3
  11. package/dist/i18n-EHdUj7jZ.js.map +1 -0
  12. package/dist/index.cjs +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/widget/ChartWidget.d.ts +10 -0
  15. package/dist/widget/ChartWidget.d.ts.map +1 -1
  16. package/dist/widget/WidgetContextMenu.d.ts +46 -6
  17. package/dist/widget/WidgetContextMenu.d.ts.map +1 -1
  18. package/dist/widget/WidgetDrawingSettings.d.ts +33 -32
  19. package/dist/widget/WidgetDrawingSettings.d.ts.map +1 -1
  20. package/dist/widget/WidgetHotkeySheet.d.ts.map +1 -1
  21. package/dist/widget/WidgetIndicatorSettings.d.ts +1 -1
  22. package/dist/widget/WidgetIndicatorSettings.d.ts.map +1 -1
  23. package/dist/widget/WidgetObjectTree.d.ts +2 -0
  24. package/dist/widget/WidgetObjectTree.d.ts.map +1 -1
  25. package/dist/widget/WidgetSettings.d.ts +3 -1
  26. package/dist/widget/WidgetSettings.d.ts.map +1 -1
  27. package/dist/widget/chartMenu.d.ts +40 -1
  28. package/dist/widget/chartMenu.d.ts.map +1 -1
  29. package/dist/widget/drawingSettingsTabs.d.ts +42 -0
  30. package/dist/widget/drawingSettingsTabs.d.ts.map +1 -0
  31. package/dist/widget/index.cjs +126 -35
  32. package/dist/widget/index.cjs.map +1 -1
  33. package/dist/widget/index.js +1779 -1373
  34. package/dist/widget/index.js.map +1 -1
  35. package/dist/widget/locales/ar.d.ts.map +1 -1
  36. package/dist/widget/locales/cs.d.ts.map +1 -1
  37. package/dist/widget/locales/da.d.ts.map +1 -1
  38. package/dist/widget/locales/de.d.ts.map +1 -1
  39. package/dist/widget/locales/el.d.ts.map +1 -1
  40. package/dist/widget/locales/en.d.ts +26 -1
  41. package/dist/widget/locales/en.d.ts.map +1 -1
  42. package/dist/widget/locales/es.d.ts.map +1 -1
  43. package/dist/widget/locales/et.d.ts.map +1 -1
  44. package/dist/widget/locales/fa.d.ts.map +1 -1
  45. package/dist/widget/locales/fr.d.ts.map +1 -1
  46. package/dist/widget/locales/he.d.ts.map +1 -1
  47. package/dist/widget/locales/hu.d.ts.map +1 -1
  48. package/dist/widget/locales/id.d.ts.map +1 -1
  49. package/dist/widget/locales/index.cjs +1 -1
  50. package/dist/widget/locales/index.cjs.map +1 -1
  51. package/dist/widget/locales/index.js +729 -29
  52. package/dist/widget/locales/index.js.map +1 -1
  53. package/dist/widget/locales/it.d.ts.map +1 -1
  54. package/dist/widget/locales/ja.d.ts.map +1 -1
  55. package/dist/widget/locales/ko.d.ts.map +1 -1
  56. package/dist/widget/locales/ms.d.ts.map +1 -1
  57. package/dist/widget/locales/nb.d.ts.map +1 -1
  58. package/dist/widget/locales/nl.d.ts.map +1 -1
  59. package/dist/widget/locales/pl.d.ts.map +1 -1
  60. package/dist/widget/locales/pt.d.ts.map +1 -1
  61. package/dist/widget/locales/ro.d.ts.map +1 -1
  62. package/dist/widget/locales/ru.d.ts.map +1 -1
  63. package/dist/widget/locales/sk.d.ts.map +1 -1
  64. package/dist/widget/locales/sv.d.ts.map +1 -1
  65. package/dist/widget/locales/th.d.ts.map +1 -1
  66. package/dist/widget/locales/tr.d.ts.map +1 -1
  67. package/dist/widget/locales/vi.d.ts.map +1 -1
  68. package/dist/widget/locales/zh.d.ts.map +1 -1
  69. package/dist/widget/locales/zhHant.d.ts.map +1 -1
  70. package/dist/widget/settingsControls.d.ts +5 -2
  71. package/dist/widget/settingsControls.d.ts.map +1 -1
  72. package/dist/widget/widgetFeatures.d.ts +4 -3
  73. package/dist/widget/widgetFeatures.d.ts.map +1 -1
  74. package/package.json +3 -3
  75. package/dist/LayoutSession-C9eUKUDB.js.map +0 -1
  76. package/dist/LayoutSession-D_uCeAHr.cjs +0 -2
  77. package/dist/LayoutSession-D_uCeAHr.cjs.map +0 -1
  78. package/dist/i18n-BSyBRGty.js.map +0 -1
  79. package/dist/i18n-Bj6tLaRp.cjs +0 -2
  80. package/dist/i18n-Bj6tLaRp.cjs.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { ChartType } from '@tradecanvas/commons';
2
2
  import { ChartSettingsState, SettingsCallbacks } from './types.js';
3
3
  import { Translator } from './i18n.js';
4
+ export type SettingsTab = 'symbol' | 'statusLine' | 'scales' | 'appearance' | 'layers' | 'trading';
4
5
  /**
5
6
  * The chart's settings: tabs down the side (Symbol, Status line, Scales,
6
7
  * Appearance, Layers, Trading), each change shown at once. Cancel (Escape,
@@ -41,7 +42,8 @@ export declare class WidgetSettings {
41
42
  },
42
43
  /** Where the panel mounts (the widget's portal: themed, and inside it when fullscreen). */
43
44
  host?: () => HTMLElement);
44
- open(currentSettings: ChartSettingsState, chartType?: ChartType | null): void;
45
+ /** Open on `tab` (the Symbol tab unless asked: the price axis's menu asks for Scales). */
46
+ open(currentSettings: ChartSettingsState, chartType?: ChartType | null, tab?: SettingsTab): void;
45
47
  isOpen(): boolean;
46
48
  /** The settings as they are now (after an undo, a template), on the tab that's open; `chartType` when it changed. */
47
49
  refresh(settings: ChartSettingsState, chartType?: ChartType | null): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,SAAS,EAAyC,MAAM,sBAAsB,CAAC;AAC/G,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAC;AAY5F,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAoBnE;;;;;GAKG;AACH,qBAAa,cAAc;IAyBvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAQ1B,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAjCvB,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,CAAC,CAAa;IACtB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,eAAe,CAAmC;IAC1D,8DAA8D;IAC9D,OAAO,CAAC,SAAS,CAA0B;IAC3C,0HAA0H;IAC1H,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IAExC;;;OAGG;gBAED,SAAS,EAAE,iBAAiB,EAC5B,CAAC,EAAE,UAAU,EACI,SAAS,GAAE;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,uEAAuE;QACvE,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;QACnC,6EAA6E;QAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IACN,2FAA2F;IAC1E,IAAI,GAAE,MAAM,WAAiC;IAMhE,IAAI,CAAC,eAAe,EAAE,kBAAkB,EAAE,SAAS,GAAE,SAAS,GAAG,IAAW,GAAG,IAAI;IAUnF,MAAM,IAAI,OAAO;IAIjB,qHAAqH;IACrH,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAOzE,oDAAoD;IACpD,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,IAAI;IAIf,uFAAuF;IACvF,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAoClB,OAAO,CAAC,WAAW;IAgBnB,uEAAuE;IACvE,OAAO,CAAC,SAAS;IAiCjB,wDAAwD;IACxD,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,SAAS;IAOjB,2GAA2G;IAC3G,OAAO,CAAC,QAAQ;IAYhB,oGAAoG;IACpG,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,gBAAgB;IAkBxB,gHAAgH;IAChH,OAAO,CAAC,eAAe;IAavB,4DAA4D;IAC5D,OAAO,CAAC,mBAAmB;IAO3B,mHAAmH;IACnH,OAAO,CAAC,eAAe;IAwBvB,0FAA0F;IAC1F,OAAO,CAAC,mBAAmB;IAY3B,kHAAkH;IAClH,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,UAAU;IAOlB,0EAA0E;IAC1E,OAAO,CAAC,iBAAiB;IAIzB,0GAA0G;IAC1G,OAAO,CAAC,OAAO;IAoDf,OAAO,CAAC,UAAU;IAQlB,iGAAiG;IACjG,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,KAAK;CAId"}
1
+ {"version":3,"file":"WidgetSettings.d.ts","sourceRoot":"","sources":["../../src/widget/WidgetSettings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,SAAS,EAAyC,MAAM,sBAAsB,CAAC;AAC/G,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAsB,MAAM,YAAY,CAAC;AAY5F,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAEnE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAmBnG;;;;;GAKG;AACH,qBAAa,cAAc;IAyBvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAQ1B,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAjCvB,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,CAAC,CAAa;IACtB,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,eAAe,CAAmC;IAC1D,8DAA8D;IAC9D,OAAO,CAAC,SAAS,CAA0B;IAC3C,0HAA0H;IAC1H,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IAExC;;;OAGG;gBAED,SAAS,EAAE,iBAAiB,EAC5B,CAAC,EAAE,UAAU,EACI,SAAS,GAAE;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,uEAAuE;QACvE,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;QACnC,6EAA6E;QAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;KACd;IACN,2FAA2F;IAC1E,IAAI,GAAE,MAAM,WAAiC;IAMhE,0FAA0F;IAC1F,IAAI,CAAC,eAAe,EAAE,kBAAkB,EAAE,SAAS,GAAE,SAAS,GAAG,IAAW,EAAE,GAAG,GAAE,WAAsB,GAAG,IAAI;IAUhH,MAAM,IAAI,OAAO;IAIjB,qHAAqH;IACrH,OAAO,CAAC,QAAQ,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI;IAOzE,oDAAoD;IACpD,KAAK,IAAI,IAAI;IAIb,OAAO,IAAI,IAAI;IAIf,uFAAuF;IACvF,OAAO,CAAC,MAAM;IASd,OAAO,CAAC,MAAM;IAQd,OAAO,CAAC,UAAU;IAoClB,OAAO,CAAC,WAAW;IAgBnB,uEAAuE;IACvE,OAAO,CAAC,SAAS;IAiCjB,wDAAwD;IACxD,OAAO,CAAC,WAAW;IAmBnB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,SAAS;IAOjB,2GAA2G;IAC3G,OAAO,CAAC,QAAQ;IAYhB,oGAAoG;IACpG,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,gBAAgB;IAkBxB,gHAAgH;IAChH,OAAO,CAAC,eAAe;IAavB,4DAA4D;IAC5D,OAAO,CAAC,mBAAmB;IAO3B,mHAAmH;IACnH,OAAO,CAAC,eAAe;IAwBvB,0FAA0F;IAC1F,OAAO,CAAC,mBAAmB;IAY3B,kHAAkH;IAClH,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,UAAU;IAOlB,0EAA0E;IAC1E,OAAO,CAAC,iBAAiB;IAIzB,0GAA0G;IAC1G,OAAO,CAAC,OAAO;IAoDf,OAAO,CAAC,UAAU;IAQlB,iGAAiG;IACjG,OAAO,CAAC,sBAAsB;IA+C9B,OAAO,CAAC,KAAK;CAId"}
@@ -1,8 +1,19 @@
1
1
  import { ChartContextArea, PriceScaleMode } from '@tradecanvas/commons';
2
2
  import { ContextMenuEntry } from './WidgetContextMenu.js';
3
+ import { WidgetFeature } from './widgetFeatures.js';
3
4
  import { Translator } from './i18n.js';
4
5
  /** 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
+ export type ChartMenuAction = 'alert' | 'buyLimit' | 'buyStop' | 'sellLimit' | 'sellStop' | 'orderTicket' | 'horizontalLine' | 'resetView' | 'paste' | 'hideDrawings' | 'showDrawings' | 'removeDrawings' | 'removeIndicators' | 'settings' | 'exportData' | 'resetPriceScale' | 'autoScale' | 'invertScale' | 'leftScale' | 'regularScale' | 'logScale' | 'percentScale' | 'indexedScale' | 'indicatorValueLabels' | 'barCountdown' | 'highLowLines' | 'lastPriceLine' | 'goToDate' | 'paneLog' | 'paneInvert' | 'panePercent' | 'labels' | 'lines' | 'timezone';
7
+ /** A time zone's entry is this before its setting ('tz:UTC'). */
8
+ export declare const TIMEZONE_ENTRY = "tz:";
9
+ /** The widget's own keys for what the chart menus do, written beside the entries while their switches are on. */
10
+ export declare const CHART_MENU_KEYS: readonly {
11
+ action: ChartMenuAction;
12
+ keys: string;
13
+ feature: WidgetFeature;
14
+ }[];
15
+ /** The scale mode an entry chooses, if it is one of them. */
16
+ export declare function scaleModeOf(action: string): PriceScaleMode | undefined;
6
17
  /** What the widget can do here, and how the chart is set now. */
7
18
  export interface ChartMenuContext {
8
19
  /** The price at the click (the price pane, the price axis, the "+"). */
@@ -17,12 +28,40 @@ export interface ChartMenuContext {
17
28
  canDraw: boolean;
18
29
  hasDrawings: boolean;
19
30
  drawingsHidden: boolean;
31
+ /** Drawings copied, here or on another chart of the page, to paste. */
32
+ canPaste: boolean;
33
+ /** Indicators on the chart; a comparison with another symbol has its own dialog and isn't counted. */
34
+ hasIndicators: boolean;
20
35
  canGoToDate: boolean;
21
36
  /** A download of the bars and indicator lines (`features.dataExport`). */
22
37
  canExport?: boolean;
23
38
  autoScale: boolean;
24
39
  scaleMode: PriceScaleMode;
40
+ /** A logarithmic scale is on offer (`features.logScale`). */
41
+ canLog: boolean;
25
42
  inverted: boolean;
43
+ /** The price scale is on the left. */
44
+ leftScale: boolean;
45
+ /** The labels on the price scale; no `countdown` when the chart has none. */
46
+ labels: {
47
+ values: boolean;
48
+ countdown?: boolean;
49
+ };
50
+ /** The lines across the chart. */
51
+ lines: {
52
+ highLow: boolean;
53
+ lastPrice: boolean;
54
+ };
55
+ /** The time zone now, and those on offer (none: no entry for it). */
56
+ timezone: {
57
+ current: string;
58
+ options: readonly {
59
+ value: string;
60
+ label: string;
61
+ }[];
62
+ };
63
+ /** The widget's shortcuts that are on, by what they do ("Alt+R"). */
64
+ keys: Partial<Record<ChartMenuAction, string>>;
26
65
  /** For a pane's menu: its scale switches. */
27
66
  pane?: {
28
67
  log: boolean;
@@ -1 +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"}
1
+ {"version":3,"file":"chartMenu.d.ts","sourceRoot":"","sources":["../../src/widget/chartMenu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { AnchorPoint, DrawingOptionDefs, DrawingOptions, DrawingStyle } from '@tradecanvas/commons';
2
+ import { Translator } from './i18n.js';
3
+ /** What the Style tab shows. */
4
+ export interface StyleTabModel {
5
+ /** The style and the options as they are now (a row edits what the last edit left). */
6
+ style: () => DrawingStyle;
7
+ options: () => DrawingOptions;
8
+ defs: DrawingOptionDefs;
9
+ /** Whether the tool fills an area (the Fill row). */
10
+ fill: boolean;
11
+ }
12
+ /** What the Style tab changes. */
13
+ export interface StyleTabActions {
14
+ style(patch: Partial<DrawingStyle>): void;
15
+ options(patch: DrawingOptions): void;
16
+ /** Draw the tab again (a level added or removed), the keyboard on the first of `focus` there is. */
17
+ redraw(focus?: readonly string[]): void;
18
+ }
19
+ /**
20
+ * The Style tab: the line (colour, width, dash), its ends, the fill, then
21
+ * the tool's own switches and choices, and its levels last.
22
+ */
23
+ export declare function renderStyleTab(body: HTMLElement, model: StyleTabModel, actions: StyleTabActions, t: Translator): void;
24
+ /** The Text tab: what the drawing writes, and how large. */
25
+ export declare function renderTextTab(body: HTMLElement, style: DrawingStyle, onStyle: (patch: Partial<DrawingStyle>) => void, t: Translator): void;
26
+ /** What the Coordinates tab reads and changes. */
27
+ export interface CoordinatesTabActions {
28
+ /** An anchor's time as the date and time fields show it (the chart's zone), and back. */
29
+ toWallTime(time: number): {
30
+ date: string;
31
+ time: string;
32
+ };
33
+ fromWallTime(date: string, time: string): number | null;
34
+ /** A price on the market's grid. */
35
+ roundPrice?(price: number): number;
36
+ /** The market's smallest price step, for the price fields' arrows. */
37
+ priceStep?(): number;
38
+ move(index: number, patch: Partial<AnchorPoint>): void;
39
+ }
40
+ /** The Coordinates tab: a row per point, its price, date and time. */
41
+ export declare function renderCoordinatesTab(body: HTMLElement, anchors: readonly AnchorPoint[], actions: CoordinatesTabActions, t: Translator): void;
42
+ //# sourceMappingURL=drawingSettingsTabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawingSettingsTabs.d.ts","sourceRoot":"","sources":["../../src/widget/drawingSettingsTabs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAkC,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzI,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAenE,gCAAgC;AAChC,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,KAAK,EAAE,MAAM,YAAY,CAAC;IAC1B,OAAO,EAAE,MAAM,cAAc,CAAC;IAC9B,IAAI,EAAE,iBAAiB,CAAC;IACxB,qDAAqD;IACrD,IAAI,EAAE,OAAO,CAAC;CACf;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,oGAAoG;IACpG,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;CACzC;AAqCD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAyBrH;AAwJD,4DAA4D;AAC5D,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CAgB1I;AAED,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,yFAAyF;IACzF,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACxD,oCAAoC;IACpC,UAAU,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,sEAAsE;IACtE,SAAS,CAAC,IAAI,MAAM,CAAC;IACrB,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;CACxD;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,WAAW,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,EAAE,UAAU,GAAG,IAAI,CA4B5I"}