@stocksharp/trading-controls 0.1.0 → 1.1.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 (77) hide show
  1. package/README.md +92 -6
  2. package/dist/esm/active-orders-widget.js +9 -0
  3. package/dist/esm/active-orders-widget.js.map +1 -1
  4. package/dist/esm/control-types.js +3 -0
  5. package/dist/esm/control-types.js.map +1 -1
  6. package/dist/esm/grid-menu.js +54 -0
  7. package/dist/esm/grid-menu.js.map +1 -0
  8. package/dist/esm/index.js +8 -0
  9. package/dist/esm/index.js.map +1 -1
  10. package/dist/esm/order-entry-widget.js +654 -0
  11. package/dist/esm/order-entry-widget.js.map +1 -0
  12. package/dist/esm/orderbook-depth.js +51 -0
  13. package/dist/esm/orderbook-depth.js.map +1 -0
  14. package/dist/esm/orderbook-widget.js +792 -0
  15. package/dist/esm/orderbook-widget.js.map +1 -0
  16. package/dist/esm/positions-widget.js +9 -0
  17. package/dist/esm/positions-widget.js.map +1 -1
  18. package/dist/esm/trade-history-widget.js +8 -0
  19. package/dist/esm/trade-history-widget.js.map +1 -1
  20. package/dist/esm/tradefeed-aggregator.js +58 -0
  21. package/dist/esm/tradefeed-aggregator.js.map +1 -0
  22. package/dist/esm/tradefeed-bubbles.js +131 -0
  23. package/dist/esm/tradefeed-bubbles.js.map +1 -0
  24. package/dist/esm/tradefeed-widget.js +692 -0
  25. package/dist/esm/tradefeed-widget.js.map +1 -0
  26. package/dist/esm/trading-host.js +2 -0
  27. package/dist/esm/trading-host.js.map +1 -1
  28. package/dist/esm/watchlist-widget.js +2 -0
  29. package/dist/esm/watchlist-widget.js.map +1 -1
  30. package/dist/sstradingcontrols.js +3346 -25
  31. package/dist/sstradingcontrols.js.map +3 -3
  32. package/dist/types/active-orders-widget.d.ts.map +1 -1
  33. package/dist/types/control-types.d.ts +3 -0
  34. package/dist/types/control-types.d.ts.map +1 -1
  35. package/dist/types/grid-menu.d.ts +4 -0
  36. package/dist/types/grid-menu.d.ts.map +1 -0
  37. package/dist/types/index.d.ts +13 -0
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/types/order-entry-widget.d.ts +86 -0
  40. package/dist/types/order-entry-widget.d.ts.map +1 -0
  41. package/dist/types/orderbook-depth.d.ts +19 -0
  42. package/dist/types/orderbook-depth.d.ts.map +1 -0
  43. package/dist/types/orderbook-widget.d.ts +105 -0
  44. package/dist/types/orderbook-widget.d.ts.map +1 -0
  45. package/dist/types/positions-widget.d.ts.map +1 -1
  46. package/dist/types/trade-history-widget.d.ts.map +1 -1
  47. package/dist/types/tradefeed-aggregator.d.ts +15 -0
  48. package/dist/types/tradefeed-aggregator.d.ts.map +1 -0
  49. package/dist/types/tradefeed-bubbles.d.ts +39 -0
  50. package/dist/types/tradefeed-bubbles.d.ts.map +1 -0
  51. package/dist/types/tradefeed-widget.d.ts +78 -0
  52. package/dist/types/tradefeed-widget.d.ts.map +1 -0
  53. package/dist/types/trading-data.d.ts +22 -0
  54. package/dist/types/trading-data.d.ts.map +1 -1
  55. package/dist/types/trading-host.d.ts +8 -0
  56. package/dist/types/trading-host.d.ts.map +1 -1
  57. package/dist/types/watchlist-widget.d.ts.map +1 -1
  58. package/package.json +21 -2
  59. package/screenshots/panels.jpg +0 -0
  60. package/src/active-orders-widget.ts +9 -0
  61. package/src/control-types.ts +3 -0
  62. package/src/grid-menu.ts +67 -0
  63. package/src/index.ts +31 -0
  64. package/src/order-entry-widget.ts +733 -0
  65. package/src/orderbook-depth.ts +99 -0
  66. package/src/orderbook-widget.ts +896 -0
  67. package/src/positions-widget.ts +9 -0
  68. package/src/trade-history-widget.ts +8 -0
  69. package/src/tradefeed-aggregator.ts +95 -0
  70. package/src/tradefeed-bubbles.ts +194 -0
  71. package/src/tradefeed-widget.ts +744 -0
  72. package/src/trading-data.ts +168 -121
  73. package/src/trading-host.ts +326 -300
  74. package/src/watchlist-widget.ts +2 -0
  75. package/styles/theme.css +23 -0
  76. package/styles/trading-controls.css +911 -0
  77. package/translation-keys.json +103 -2
@@ -13,6 +13,7 @@
13
13
  // repaint would restart the flash animation it just triggered.
14
14
  import { makeElement, makeIconButton, makePanelId, makePanelRoot } from './dom.js';
15
15
  import { ControlTypes } from './control-types.js';
16
+ import { makeGridMenu } from './grid-menu.js';
16
17
  import { MarketDataClient, MarketDataLevels, TradingApi, TradingHost, assertHost } from './trading-host.js';
17
18
  import type { InstrumentRow, QuoteStats } from './trading-data.js';
18
19
  import { DataGrid, GridColumn } from '@stocksharp/grids/source/data-grid';
@@ -164,6 +165,7 @@ export class WatchlistWidget {
164
165
  this._syncSubs();
165
166
  this._publishVisible();
166
167
  },
168
+ contextMenu: makeGridMenu(this._host),
167
169
  })
168
170
  : null;
169
171
 
package/styles/theme.css CHANGED
@@ -40,6 +40,13 @@
40
40
  --t-red: #f6465d;
41
41
  --t-green-flash: rgba(14, 203, 129, 0.25);
42
42
  --t-red-flash: rgba(246, 70, 93, 0.25);
43
+ /* Pressed/hovered shades of the two directions, for a control that fills a
44
+ whole button with one of them rather than tinting text. */
45
+ --t-green-hover: #0bb974;
46
+ --t-red-hover: #e03e53;
47
+ /* Text ON a direction-filled surface. Not --t-text-bright: that one follows
48
+ the scheme, and both fills stay dark enough for white in either. */
49
+ --t-on-direction: #ffffff;
43
50
 
44
51
  /* Warnings. Two shades on purpose: --t-orange marks an action that is
45
52
  destructive but not a cancel (reverse a position), --t-warning marks
@@ -47,6 +54,20 @@
47
54
  --t-orange: #f0b90b;
48
55
  --t-warning: #e0a800;
49
56
 
57
+ /* Measured slots, not palette knobs.
58
+ *
59
+ * A ladder's volume bar is a share of the largest level beside it and its
60
+ * tint is a share of the direction colour — both measured per level, per
61
+ * frame, from the data. A class name cannot carry a number, so the control
62
+ * writes these three onto the element it just built and the rules read them
63
+ * back. The values below are the "nothing measured yet" defaults, so a
64
+ * panel renders before its first frame; a host declaring its own palette
65
+ * does not have to repeat them, because every painted element carries its
66
+ * own. */
67
+ --t-ob-bar: 0%;
68
+ --t-ob-heat: 0%;
69
+ --t-ob-sent: 50%;
70
+
50
71
  /* Type and shape */
51
72
  --t-font: 'DM Sans', -apple-system, sans-serif;
52
73
  /* A monospace stack that covers Cyrillic: the blotters render localized
@@ -80,6 +101,8 @@
80
101
  --t-red: #dc2626;
81
102
  --t-green-flash: rgba(22, 163, 74, 0.22);
82
103
  --t-red-flash: rgba(220, 38, 38, 0.22);
104
+ --t-green-hover: #15803d;
105
+ --t-red-hover: #b91c1c;
83
106
 
84
107
  --t-orange: #b45309;
85
108
  --t-warning: #b45309;