@oanda/labs-live-rates-table-widget 1.0.49 → 1.0.51

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 (108) hide show
  1. package/CHANGELOG.md +412 -0
  2. package/dist/main/LiveRatesTableWidget/Main.js +26 -33
  3. package/dist/main/LiveRatesTableWidget/Main.js.map +1 -1
  4. package/dist/main/LiveRatesTableWidget/config.js +12 -7
  5. package/dist/main/LiveRatesTableWidget/config.js.map +1 -1
  6. package/dist/main/LiveRatesTableWidget/constant.js +2 -2
  7. package/dist/main/LiveRatesTableWidget/constant.js.map +1 -1
  8. package/dist/main/LiveRatesTableWidget/types.js +0 -10
  9. package/dist/main/LiveRatesTableWidget/types.js.map +1 -1
  10. package/dist/main/LiveRatesTableWidget/utils.js +8 -49
  11. package/dist/main/LiveRatesTableWidget/utils.js.map +1 -1
  12. package/dist/module/LiveRatesTableWidget/Main.js +28 -35
  13. package/dist/module/LiveRatesTableWidget/Main.js.map +1 -1
  14. package/dist/module/LiveRatesTableWidget/config.js +13 -9
  15. package/dist/module/LiveRatesTableWidget/config.js.map +1 -1
  16. package/dist/module/LiveRatesTableWidget/constant.js +2 -2
  17. package/dist/module/LiveRatesTableWidget/constant.js.map +1 -1
  18. package/dist/module/LiveRatesTableWidget/types.js +0 -9
  19. package/dist/module/LiveRatesTableWidget/types.js.map +1 -1
  20. package/dist/module/LiveRatesTableWidget/utils.js +8 -47
  21. package/dist/module/LiveRatesTableWidget/utils.js.map +1 -1
  22. package/dist/types/LiveRatesTableWidget/config.d.ts +9 -28
  23. package/dist/types/LiveRatesTableWidget/constant.d.ts +2 -2
  24. package/dist/types/LiveRatesTableWidget/types.d.ts +6 -47
  25. package/dist/types/LiveRatesTableWidget/utils.d.ts +4 -15
  26. package/package.json +3 -3
  27. package/src/LiveRatesTableWidget/Main.tsx +44 -51
  28. package/src/LiveRatesTableWidget/config.ts +27 -10
  29. package/src/LiveRatesTableWidget/constant.ts +6 -6
  30. package/src/LiveRatesTableWidget/types.tsx +11 -53
  31. package/src/LiveRatesTableWidget/utils.ts +21 -65
  32. package/test/mocks.ts +1 -16
  33. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js +0 -96
  34. package/dist/main/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +0 -1
  35. package/dist/main/LiveRatesTableWidget/components/CardWithData/index.js +0 -17
  36. package/dist/main/LiveRatesTableWidget/components/CardWithData/index.js.map +0 -1
  37. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js +0 -37
  38. package/dist/main/LiveRatesTableWidget/components/Cards/Cards.js.map +0 -1
  39. package/dist/main/LiveRatesTableWidget/components/Cards/index.js +0 -17
  40. package/dist/main/LiveRatesTableWidget/components/Cards/index.js.map +0 -1
  41. package/dist/main/LiveRatesTableWidget/components/Cards/types.js +0 -6
  42. package/dist/main/LiveRatesTableWidget/components/Cards/types.js.map +0 -1
  43. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +0 -46
  44. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +0 -1
  45. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/index.js +0 -17
  46. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/index.js.map +0 -1
  47. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/types.js +0 -6
  48. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/types.js.map +0 -1
  49. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js +0 -20
  50. package/dist/main/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +0 -1
  51. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js +0 -104
  52. package/dist/main/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +0 -1
  53. package/dist/main/LiveRatesTableWidget/components/RowWithData/index.js +0 -17
  54. package/dist/main/LiveRatesTableWidget/components/RowWithData/index.js.map +0 -1
  55. package/dist/main/LiveRatesTableWidget/components/index.js +0 -50
  56. package/dist/main/LiveRatesTableWidget/components/index.js.map +0 -1
  57. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js +0 -89
  58. package/dist/module/LiveRatesTableWidget/components/CardWithData/CardWithData.js.map +0 -1
  59. package/dist/module/LiveRatesTableWidget/components/CardWithData/index.js +0 -2
  60. package/dist/module/LiveRatesTableWidget/components/CardWithData/index.js.map +0 -1
  61. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js +0 -30
  62. package/dist/module/LiveRatesTableWidget/components/Cards/Cards.js.map +0 -1
  63. package/dist/module/LiveRatesTableWidget/components/Cards/index.js +0 -2
  64. package/dist/module/LiveRatesTableWidget/components/Cards/index.js.map +0 -1
  65. package/dist/module/LiveRatesTableWidget/components/Cards/types.js +0 -2
  66. package/dist/module/LiveRatesTableWidget/components/Cards/types.js.map +0 -1
  67. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js +0 -39
  68. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.js.map +0 -1
  69. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/index.js +0 -2
  70. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/index.js.map +0 -1
  71. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/types.js +0 -2
  72. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/types.js.map +0 -1
  73. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js +0 -13
  74. package/dist/module/LiveRatesTableWidget/components/LineChartWithData/utils.js.map +0 -1
  75. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js +0 -97
  76. package/dist/module/LiveRatesTableWidget/components/RowWithData/RowWithData.js.map +0 -1
  77. package/dist/module/LiveRatesTableWidget/components/RowWithData/index.js +0 -2
  78. package/dist/module/LiveRatesTableWidget/components/RowWithData/index.js.map +0 -1
  79. package/dist/module/LiveRatesTableWidget/components/index.js +0 -5
  80. package/dist/module/LiveRatesTableWidget/components/index.js.map +0 -1
  81. package/dist/types/LiveRatesTableWidget/components/CardWithData/CardWithData.d.ts +0 -4
  82. package/dist/types/LiveRatesTableWidget/components/CardWithData/index.d.ts +0 -1
  83. package/dist/types/LiveRatesTableWidget/components/Cards/Cards.d.ts +0 -4
  84. package/dist/types/LiveRatesTableWidget/components/Cards/index.d.ts +0 -1
  85. package/dist/types/LiveRatesTableWidget/components/Cards/types.d.ts +0 -12
  86. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.d.ts +0 -4
  87. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/index.d.ts +0 -1
  88. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/types.d.ts +0 -11
  89. package/dist/types/LiveRatesTableWidget/components/LineChartWithData/utils.d.ts +0 -1
  90. package/dist/types/LiveRatesTableWidget/components/RowWithData/RowWithData.d.ts +0 -4
  91. package/dist/types/LiveRatesTableWidget/components/RowWithData/index.d.ts +0 -1
  92. package/dist/types/LiveRatesTableWidget/components/index.d.ts +0 -4
  93. package/src/LiveRatesTableWidget/components/CardWithData/CardWithData.tsx +0 -133
  94. package/src/LiveRatesTableWidget/components/CardWithData/index.ts +0 -1
  95. package/src/LiveRatesTableWidget/components/Cards/Cards.tsx +0 -44
  96. package/src/LiveRatesTableWidget/components/Cards/index.ts +0 -1
  97. package/src/LiveRatesTableWidget/components/Cards/types.tsx +0 -13
  98. package/src/LiveRatesTableWidget/components/LineChartWithData/LineChartWithData.tsx +0 -53
  99. package/src/LiveRatesTableWidget/components/LineChartWithData/index.ts +0 -1
  100. package/src/LiveRatesTableWidget/components/LineChartWithData/types.tsx +0 -13
  101. package/src/LiveRatesTableWidget/components/LineChartWithData/utils.ts +0 -14
  102. package/src/LiveRatesTableWidget/components/RowWithData/RowWithData.tsx +0 -150
  103. package/src/LiveRatesTableWidget/components/RowWithData/index.ts +0 -1
  104. package/src/LiveRatesTableWidget/components/index.ts +0 -4
  105. package/test/CardWithData.test.tsx +0 -74
  106. package/test/Cards.test.tsx +0 -130
  107. package/test/LineChartWithData.test.tsx +0 -263
  108. package/test/RowWithData.test.tsx +0 -81
package/CHANGELOG.md CHANGED
@@ -3,6 +3,418 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 1.0.51 (2025-04-09)
7
+
8
+
9
+
10
+ ## 1.0.184 (2025-04-08)
11
+
12
+
13
+
14
+ ## 1.0.183 (2025-04-04)
15
+
16
+
17
+
18
+ ## 1.0.182 (2025-03-21)
19
+
20
+
21
+
22
+ ## 1.0.181 (2025-03-13)
23
+
24
+
25
+
26
+ ## 1.0.180 (2025-01-30)
27
+
28
+
29
+
30
+ ## 1.0.179 (2025-01-29)
31
+
32
+
33
+
34
+ ## 1.0.178 (2025-01-12)
35
+
36
+
37
+
38
+ ## 1.0.177 (2025-01-10)
39
+
40
+
41
+
42
+ ## 1.0.176 (2025-01-10)
43
+
44
+
45
+
46
+ ## 1.0.175 (2025-01-08)
47
+
48
+
49
+
50
+ ## 1.0.174 (2024-12-16)
51
+
52
+
53
+
54
+ ## 1.0.173 (2024-12-11)
55
+
56
+
57
+
58
+ ## 1.0.172 (2024-11-29)
59
+
60
+
61
+
62
+ ## 1.0.171 (2024-11-28)
63
+
64
+
65
+
66
+ ## 1.0.170 (2024-11-28)
67
+
68
+
69
+
70
+ ## 1.0.169 (2024-11-20)
71
+
72
+
73
+
74
+ ## 1.0.168 (2024-11-19)
75
+
76
+
77
+
78
+ ## 1.0.167 (2024-10-14)
79
+
80
+
81
+
82
+ ## 1.0.166 (2024-10-07)
83
+
84
+
85
+
86
+ ## 1.0.165 (2024-10-03)
87
+
88
+
89
+
90
+ ## 1.0.164 (2024-09-26)
91
+
92
+
93
+
94
+ ## 1.0.163 (2024-09-18)
95
+
96
+
97
+
98
+ ## 1.0.162 (2024-09-12)
99
+
100
+
101
+
102
+ ## 1.0.161 (2024-09-11)
103
+
104
+
105
+
106
+ ## 1.0.160 (2024-09-10)
107
+
108
+
109
+
110
+ ## 1.0.159 (2024-09-09)
111
+
112
+
113
+
114
+ ## 1.0.158 (2024-09-04)
115
+
116
+
117
+
118
+ ## 1.0.157 (2024-09-04)
119
+
120
+
121
+
122
+ ## 1.0.156 (2024-09-02)
123
+
124
+
125
+
126
+ ## 1.0.155 (2024-08-29)
127
+
128
+
129
+
130
+ ## 1.0.154 (2024-08-29)
131
+
132
+
133
+
134
+ ## 1.0.153 (2024-08-23)
135
+
136
+
137
+
138
+ ## 1.0.152 (2024-08-23)
139
+
140
+
141
+
142
+ ## 1.0.151 (2024-08-20)
143
+
144
+
145
+
146
+ ## 1.0.150 (2024-08-19)
147
+
148
+
149
+
150
+ ## 1.0.149 (2024-08-07)
151
+
152
+
153
+
154
+ ## 1.0.148 (2024-08-01)
155
+
156
+
157
+
158
+ ## 1.0.147 (2024-08-01)
159
+
160
+
161
+
162
+ ## 1.0.146 (2024-07-26)
163
+
164
+
165
+
166
+ ## 1.0.145 (2024-07-25)
167
+
168
+
169
+
170
+ ## 1.0.144 (2024-07-22)
171
+
172
+
173
+
174
+ ## 1.0.143 (2024-07-19)
175
+
176
+
177
+
178
+ ## 1.0.142 (2024-07-16)
179
+
180
+
181
+
182
+ ## 1.0.141 (2024-07-16)
183
+
184
+
185
+
186
+ ## 1.0.140 (2024-07-12)
187
+
188
+
189
+
190
+ ## 1.0.139 (2024-07-12)
191
+
192
+
193
+
194
+ ## 1.0.138 (2024-07-10)
195
+
196
+
197
+
198
+ ## 1.0.137 (2024-07-05)
199
+
200
+
201
+
202
+ ## 1.0.136 (2024-07-03)
203
+
204
+
205
+
206
+ ## 1.0.135 (2024-07-03)
207
+
208
+ **Note:** Version bump only for package @oanda/labs-live-rates-table-widget
209
+
210
+
211
+
212
+
213
+
214
+ ## 1.0.50 (2025-04-08)
215
+
216
+
217
+
218
+ ## 1.0.183 (2025-04-04)
219
+
220
+
221
+
222
+ ## 1.0.182 (2025-03-21)
223
+
224
+
225
+
226
+ ## 1.0.181 (2025-03-13)
227
+
228
+
229
+
230
+ ## 1.0.180 (2025-01-30)
231
+
232
+
233
+
234
+ ## 1.0.179 (2025-01-29)
235
+
236
+
237
+
238
+ ## 1.0.178 (2025-01-12)
239
+
240
+
241
+
242
+ ## 1.0.177 (2025-01-10)
243
+
244
+
245
+
246
+ ## 1.0.176 (2025-01-10)
247
+
248
+
249
+
250
+ ## 1.0.175 (2025-01-08)
251
+
252
+
253
+
254
+ ## 1.0.174 (2024-12-16)
255
+
256
+
257
+
258
+ ## 1.0.173 (2024-12-11)
259
+
260
+
261
+
262
+ ## 1.0.172 (2024-11-29)
263
+
264
+
265
+
266
+ ## 1.0.171 (2024-11-28)
267
+
268
+
269
+
270
+ ## 1.0.170 (2024-11-28)
271
+
272
+
273
+
274
+ ## 1.0.169 (2024-11-20)
275
+
276
+
277
+
278
+ ## 1.0.168 (2024-11-19)
279
+
280
+
281
+
282
+ ## 1.0.167 (2024-10-14)
283
+
284
+
285
+
286
+ ## 1.0.166 (2024-10-07)
287
+
288
+
289
+
290
+ ## 1.0.165 (2024-10-03)
291
+
292
+
293
+
294
+ ## 1.0.164 (2024-09-26)
295
+
296
+
297
+
298
+ ## 1.0.163 (2024-09-18)
299
+
300
+
301
+
302
+ ## 1.0.162 (2024-09-12)
303
+
304
+
305
+
306
+ ## 1.0.161 (2024-09-11)
307
+
308
+
309
+
310
+ ## 1.0.160 (2024-09-10)
311
+
312
+
313
+
314
+ ## 1.0.159 (2024-09-09)
315
+
316
+
317
+
318
+ ## 1.0.158 (2024-09-04)
319
+
320
+
321
+
322
+ ## 1.0.157 (2024-09-04)
323
+
324
+
325
+
326
+ ## 1.0.156 (2024-09-02)
327
+
328
+
329
+
330
+ ## 1.0.155 (2024-08-29)
331
+
332
+
333
+
334
+ ## 1.0.154 (2024-08-29)
335
+
336
+
337
+
338
+ ## 1.0.153 (2024-08-23)
339
+
340
+
341
+
342
+ ## 1.0.152 (2024-08-23)
343
+
344
+
345
+
346
+ ## 1.0.151 (2024-08-20)
347
+
348
+
349
+
350
+ ## 1.0.150 (2024-08-19)
351
+
352
+
353
+
354
+ ## 1.0.149 (2024-08-07)
355
+
356
+
357
+
358
+ ## 1.0.148 (2024-08-01)
359
+
360
+
361
+
362
+ ## 1.0.147 (2024-08-01)
363
+
364
+
365
+
366
+ ## 1.0.146 (2024-07-26)
367
+
368
+
369
+
370
+ ## 1.0.145 (2024-07-25)
371
+
372
+
373
+
374
+ ## 1.0.144 (2024-07-22)
375
+
376
+
377
+
378
+ ## 1.0.143 (2024-07-19)
379
+
380
+
381
+
382
+ ## 1.0.142 (2024-07-16)
383
+
384
+
385
+
386
+ ## 1.0.141 (2024-07-16)
387
+
388
+
389
+
390
+ ## 1.0.140 (2024-07-12)
391
+
392
+
393
+
394
+ ## 1.0.139 (2024-07-12)
395
+
396
+
397
+
398
+ ## 1.0.138 (2024-07-10)
399
+
400
+
401
+
402
+ ## 1.0.137 (2024-07-05)
403
+
404
+
405
+
406
+ ## 1.0.136 (2024-07-03)
407
+
408
+
409
+
410
+ ## 1.0.135 (2024-07-03)
411
+
412
+ **Note:** Version bump only for package @oanda/labs-live-rates-table-widget
413
+
414
+
415
+
416
+
417
+
6
418
  ## 1.0.49 (2025-04-04)
7
419
 
8
420
 
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Main = void 0;
7
- var _client = require("@apollo/client");
8
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
9
8
  var _react = _interopRequireWildcard(require("react"));
9
+ var _getInstrumentsChart = require("../gql/getInstrumentsChart");
10
10
  var _validateInstruments = require("../gql/validateInstruments");
11
- var _components = require("./components");
11
+ var _config = require("./config");
12
12
  var _constant = require("./constant");
13
13
  var _utils = require("./utils");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -29,19 +29,29 @@ const Main = _ref => {
29
29
  } = (0, _labsWidgetCommon.useLiveRatesQuery)();
30
30
  const [records, setRecords] = (0, _react.useState)(new Array(instruments.length).fill({}));
31
31
  const {
32
- loading,
33
32
  data,
33
+ loading,
34
34
  error
35
- } = (0, _client.useQuery)(_validateInstruments.validateInstruments, {
36
- variables: {
35
+ } = (0, _labsWidgetCommon.useFetchCombinedDataRecords)({
36
+ mainQuery: _validateInstruments.validateInstruments,
37
+ mainVariables: {
37
38
  instruments,
38
39
  division
39
40
  },
41
+ batchQuery: _getInstrumentsChart.getInstrumentsChart,
42
+ getBatchVariables: mainData => {
43
+ const intrumentsByDivision = mainData?.mapInstrumentNames?.filter(i => !!i?.displayName)?.map(i => i.displayName);
44
+ return intrumentsByDivision?.length ? {
45
+ instruments: intrumentsByDivision,
46
+ division
47
+ } : undefined;
48
+ },
49
+ merge: (mainData, chartData) => (0, _utils.getRecords)(mainData, chartData),
40
50
  fetchPolicy: 'network-only'
41
51
  });
42
52
  (0, _react.useEffect)(() => {
43
53
  if (!loading && data) {
44
- setRecords((0, _utils.getRecords)(data));
54
+ setRecords(data.records ?? []);
45
55
  }
46
56
  }, [loading, data]);
47
57
  const instrumentsNames = records.map(_ref2 => {
@@ -58,35 +68,18 @@ const Main = _ref => {
58
68
  }
59
69
  }, [records, isDesktop]);
60
70
  const showError = !loading && !!error || !loading && !data;
61
- return _react.default.createElement(_react.default.Fragment, null, size && _react.default.createElement("div", {
62
- className: "lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary",
63
- "data-testid": "live-rates-table-wrapper"
64
- }, isDesktop ? _react.default.createElement("div", {
65
- className: "lw-border lw-border-solid lw-border-border-primary"
66
- }, _react.default.createElement(_labsWidgetCommon.Table, {
67
- headerConfig: (0, _utils.getHeaderConfig)(columns),
68
- isError: showError,
69
- records: records,
70
- renderRow: (record, index, isScrolled) => _react.default.createElement(_components.RowWithData, {
71
- key: `row_${index}`,
72
- activeColumns: columns,
73
- division: division,
74
- hasBackgroundColor: index % 2 === 0,
75
- isScrolled: isScrolled,
76
- loading: loading,
77
- record: record,
78
- target: target
79
- })
80
- })) : _react.default.createElement(_components.Cards, {
81
- columns: columns,
82
- division: division,
83
- isError: showError,
71
+ return _react.default.createElement(_labsWidgetCommon.TableWidget, {
72
+ activeColumns: columns,
73
+ count: 0,
74
+ hasError: showError,
75
+ headerColumns: (0, _config.getHeaderConfig)(columns),
84
76
  isLoading: loading,
77
+ pageNumber: 0,
85
78
  records: records,
86
- target: target
87
- }), _react.default.createElement(_labsWidgetCommon.Tooltip, {
88
- id: _constant.INSTRUMENT_TOOLTIP_ID
89
- })));
79
+ target: target,
80
+ testId: "live-rates-table-wrapper",
81
+ toolTipId: _constant.INSTRUMENT_TOOLTIP_ID
82
+ });
90
83
  };
91
84
  exports.Main = Main;
92
85
  //# sourceMappingURL=Main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireWildcard","_validateInstruments","_components","_constant","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Main","_ref","instruments","division","columns","DEFAULT_COLUMNS","size","useLayoutProvider","isDesktop","Size","DESKTOP","target","setQuery","useLiveRatesQuery","records","setRecords","useState","Array","length","fill","loading","data","error","useQuery","validateInstruments","variables","fetchPolicy","useEffect","getRecords","instrumentsNames","map","_ref2","instrument","showError","createElement","Fragment","className","Table","headerConfig","getHeaderConfig","isError","renderRow","record","index","isScrolled","RowWithData","key","activeColumns","hasBackgroundColor","Cards","isLoading","Tooltip","id","INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../../src/LiveRatesTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n Size,\n Table,\n Tooltip,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\n\nimport type {\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables,\n} from '../gql/types/graphql';\nimport { validateInstruments } from '../gql/validateInstruments';\nimport { Cards, RowWithData } from './components';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { DataRecord, MainProps } from './types';\nimport { getHeaderConfig, getRecords } from './utils';\n\nconst Main = ({\n instruments,\n division,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { target, setQuery } = useLiveRatesQuery();\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(instruments.length).fill({})\n );\n\n const { loading, data, error } = useQuery<\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables\n >(validateInstruments, {\n variables: {\n instruments,\n division,\n },\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!loading && data) {\n setRecords(getRecords(data)!);\n }\n }, [loading, data]);\n\n const instrumentsNames = records.map(({ instrument }) => instrument);\n\n useEffect(() => {\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records, isDesktop]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid=\"live-rates-table-wrapper\"\n >\n {isDesktop ? (\n <div className=\"lw-border lw-border-solid lw-border-border-primary\">\n <Table<DataRecord>\n headerConfig={getHeaderConfig(columns)}\n isError={showError}\n records={records}\n renderRow={(record, index, isScrolled) => (\n <RowWithData\n key={`row_${index}`}\n activeColumns={columns}\n division={division}\n hasBackgroundColor={index % 2 === 0}\n isScrolled={isScrolled}\n loading={loading}\n record={record}\n target={target}\n />\n )}\n />\n </div>\n ) : (\n <Cards\n columns={columns}\n division={division}\n isError={showError}\n isLoading={loading}\n records={records}\n target={target}\n />\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_react","_interopRequireWildcard","_getInstrumentsChart","_validateInstruments","_config","_constant","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Main","_ref","instruments","division","columns","DEFAULT_COLUMNS","size","useLayoutProvider","isDesktop","Size","DESKTOP","target","setQuery","useLiveRatesQuery","records","setRecords","useState","Array","length","fill","data","loading","error","useFetchCombinedDataRecords","mainQuery","validateInstruments","mainVariables","batchQuery","getInstrumentsChart","getBatchVariables","mainData","intrumentsByDivision","mapInstrumentNames","filter","displayName","map","undefined","merge","chartData","getRecords","fetchPolicy","useEffect","instrumentsNames","_ref2","instrument","showError","createElement","TableWidget","activeColumns","count","hasError","headerColumns","getHeaderConfig","isLoading","pageNumber","testId","toolTipId","INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../../src/LiveRatesTableWidget/Main.tsx"],"sourcesContent":["import type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n Size,\n TableWidget,\n useFetchCombinedDataRecords,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\n\nimport { getInstrumentsChart } from '../gql/getInstrumentsChart';\nimport type {\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables,\n} from '../gql/types/graphql';\nimport { validateInstruments } from '../gql/validateInstruments';\nimport { getHeaderConfig } from './config';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { MainProps, ValidateInstrumentsData } from './types';\nimport { getRecords } from './utils';\n\nconst Main = ({\n instruments,\n division,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { target, setQuery } = useLiveRatesQuery();\n\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(instruments.length).fill({})\n );\n\n const { data, loading, error } = useFetchCombinedDataRecords<\n ValidateInstrumentsQuery,\n ValidateInstrumentsQueryVariables,\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n ValidateInstrumentsData\n >({\n mainQuery: validateInstruments,\n mainVariables: {\n instruments,\n division,\n },\n batchQuery: getInstrumentsChart,\n getBatchVariables: (mainData) => {\n const intrumentsByDivision = mainData?.mapInstrumentNames\n ?.filter(\n (i): i is { displayName: string; name: string } => !!i?.displayName\n )\n ?.map((i) => i.displayName);\n\n return intrumentsByDivision?.length\n ? { instruments: intrumentsByDivision, division }\n : undefined;\n },\n merge: (mainData, chartData) => getRecords(mainData, chartData),\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!loading && data) {\n setRecords(data.records ?? []);\n }\n }, [loading, data]);\n\n const instrumentsNames = records.map(({ instrument }) => instrument);\n\n useEffect(() => {\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records, isDesktop]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n return (\n <TableWidget\n activeColumns={columns}\n count={0}\n hasError={showError}\n headerColumns={getHeaderConfig(columns)}\n isLoading={loading}\n pageNumber={0}\n records={records}\n target={target}\n testId=\"live-rates-table-wrapper\"\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n />\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
@@ -3,35 +3,40 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.sizeConfig = exports.headerConfig = void 0;
6
+ exports.sizeConfig = exports.headerConfig = exports.getHeaderConfig = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
8
  var _types = require("./types");
9
9
  const headerConfig = exports.headerConfig = {
10
- [_types.ColumnsNames.INSTRUMENT]: {
10
+ [_labsWidgetCommon.DataRecordType.INSTRUMENT]: {
11
11
  displayName: 'instrument',
12
12
  additionalStyles: 'lw-text-left lw-min-w-[130px]'
13
13
  },
14
- [_types.ColumnsNames.SELL]: {
14
+ [_labsWidgetCommon.DataRecordType.SELL]: {
15
15
  displayName: 'sell',
16
16
  additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4'
17
17
  },
18
- [_types.ColumnsNames.BUY]: {
18
+ [_labsWidgetCommon.DataRecordType.BUY]: {
19
19
  displayName: 'buy',
20
20
  additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4'
21
21
  },
22
- [_types.ColumnsNames.DAILY_CHANGE]: {
22
+ [_labsWidgetCommon.DataRecordType.DAILY_CHANGE]: {
23
23
  displayName: 'daily_percent_change',
24
24
  additionalStyles: 'lw-text-right lw-min-w-[80px]'
25
25
  },
26
- [_types.ColumnsNames.CHART]: {
26
+ [_labsWidgetCommon.DataRecordType.CHART]: {
27
27
  displayName: '24h_chart',
28
28
  additionalStyles: 'lw-text-center lw-min-w-[100px]'
29
29
  },
30
- [_types.ColumnsNames.SPREAD]: {
30
+ [_labsWidgetCommon.DataRecordType.SPREAD]: {
31
31
  displayName: 'spread',
32
32
  additionalStyles: 'lw-text-right lw-min-w-[50px]'
33
33
  }
34
34
  };
35
+ const getHeaderConfig = activeColumns => {
36
+ const columns = [_labsWidgetCommon.DataRecordType.INSTRUMENT, ...activeColumns].filter(item => item !== _labsWidgetCommon.DataRecordType.SENTIMENT);
37
+ return columns.map(item => headerConfig[item]);
38
+ };
39
+ exports.getHeaderConfig = getHeaderConfig;
35
40
  const sizeConfig = exports.sizeConfig = {
36
41
  [_types.View.CARDS]: _labsWidgetCommon.Size.MOBILE,
37
42
  [_types.View.TABLE]: _labsWidgetCommon.Size.DESKTOP
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_types","headerConfig","exports","ColumnsNames","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","sizeConfig","View","CARDS","Size","MOBILE","TABLE","DESKTOP"],"sources":["../../../src/LiveRatesTableWidget/config.ts"],"sourcesContent":["import { Size } from '@oanda/labs-widget-common';\n\nimport { ColumnsNames, View } from './types';\n\nconst headerConfig = {\n [ColumnsNames.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: 'lw-text-left lw-min-w-[130px]',\n },\n [ColumnsNames.SELL]: {\n displayName: 'sell',\n additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',\n },\n [ColumnsNames.BUY]: {\n displayName: 'buy',\n additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',\n },\n [ColumnsNames.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n [ColumnsNames.CHART]: {\n displayName: '24h_chart',\n additionalStyles: 'lw-text-center lw-min-w-[100px]',\n },\n [ColumnsNames.SPREAD]: {\n displayName: 'spread',\n additionalStyles: 'lw-text-right lw-min-w-[50px]',\n },\n};\n\nconst sizeConfig = {\n [View.CARDS]: Size.MOBILE,\n [View.TABLE]: Size.DESKTOP,\n};\n\nexport { headerConfig, sizeConfig };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAEA,MAAME,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACnB,CAACE,mBAAY,CAACC,UAAU,GAAG;IACzBC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACI,IAAI,GAAG;IACnBF,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACK,GAAG,GAAG;IAClBH,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACM,YAAY,GAAG;IAC3BJ,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACO,KAAK,GAAG;IACpBL,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,mBAAY,CAACQ,MAAM,GAAG;IACrBN,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMM,UAAU,GAAAV,OAAA,CAAAU,UAAA,GAAG;EACjB,CAACC,WAAI,CAACC,KAAK,GAAGC,sBAAI,CAACC,MAAM;EACzB,CAACH,WAAI,CAACI,KAAK,GAAGF,sBAAI,CAACG;AACrB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_types","headerConfig","exports","DataRecordType","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","getHeaderConfig","activeColumns","columns","filter","item","SENTIMENT","map","sizeConfig","View","CARDS","Size","MOBILE","TABLE","DESKTOP"],"sources":["../../../src/LiveRatesTableWidget/config.ts"],"sourcesContent":["import type { HeaderColumns } from '@oanda/labs-widget-common';\nimport { DataRecordType, Size } from '@oanda/labs-widget-common';\n\nimport { View } from './types';\n\ntype HeaderRecordType = Exclude<DataRecordType, DataRecordType.SENTIMENT>;\n\nconst headerConfig: Record<\n HeaderRecordType,\n { displayName: string; additionalStyles: string }\n> = {\n [DataRecordType.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: 'lw-text-left lw-min-w-[130px]',\n },\n [DataRecordType.SELL]: {\n displayName: 'sell',\n additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',\n },\n [DataRecordType.BUY]: {\n displayName: 'buy',\n additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',\n },\n [DataRecordType.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n [DataRecordType.CHART]: {\n displayName: '24h_chart',\n additionalStyles: 'lw-text-center lw-min-w-[100px]',\n },\n [DataRecordType.SPREAD]: {\n displayName: 'spread',\n additionalStyles: 'lw-text-right lw-min-w-[50px]',\n },\n};\n\nconst getHeaderConfig = (activeColumns: DataRecordType[]): HeaderColumns[] => {\n const columns: HeaderRecordType[] = [\n DataRecordType.INSTRUMENT,\n ...activeColumns,\n ].filter(\n (item): item is HeaderRecordType => item !== DataRecordType.SENTIMENT\n );\n\n return columns.map((item) => headerConfig[item]);\n};\n\nconst sizeConfig = {\n [View.CARDS]: Size.MOBILE,\n [View.TABLE]: Size.DESKTOP,\n};\n\nexport { getHeaderConfig, headerConfig, sizeConfig };\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,MAAA,GAAAD,OAAA;AAIA,MAAME,YAGL,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACF,CAACE,gCAAc,CAACC,UAAU,GAAG;IAC3BC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACI,IAAI,GAAG;IACrBF,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACK,GAAG,GAAG;IACpBH,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACM,YAAY,GAAG;IAC7BJ,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACO,KAAK,GAAG;IACtBL,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACQ,MAAM,GAAG;IACvBN,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMM,eAAe,GAAIC,aAA+B,IAAsB;EAC5E,MAAMC,OAA2B,GAAG,CAClCX,gCAAc,CAACC,UAAU,EACzB,GAAGS,aAAa,CACjB,CAACE,MAAM,CACLC,IAAI,IAA+BA,IAAI,KAAKb,gCAAc,CAACc,SAC9D,CAAC;EAED,OAAOH,OAAO,CAACI,GAAG,CAAEF,IAAI,IAAKf,YAAY,CAACe,IAAI,CAAC,CAAC;AAClD,CAAC;AAACd,OAAA,CAAAU,eAAA,GAAAA,eAAA;AAEF,MAAMO,UAAU,GAAAjB,OAAA,CAAAiB,UAAA,GAAG;EACjB,CAACC,WAAI,CAACC,KAAK,GAAGC,sBAAI,CAACC,MAAM;EACzB,CAACH,WAAI,CAACI,KAAK,GAAGF,sBAAI,CAACG;AACrB,CAAC","ignoreList":[]}
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.INSTRUMENT_TOOLTIP_ID = exports.DEFAULT_TOTAL_COUNT = exports.DEFAULT_COUNT = exports.DEFAULT_COLUMNS = void 0;
7
- var _types = require("./types");
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
8
  const DEFAULT_COUNT = exports.DEFAULT_COUNT = 10;
9
9
  const DEFAULT_TOTAL_COUNT = exports.DEFAULT_TOTAL_COUNT = 50;
10
- const DEFAULT_COLUMNS = exports.DEFAULT_COLUMNS = [_types.ColumnsNames.SELL, _types.ColumnsNames.BUY, _types.ColumnsNames.DAILY_CHANGE, _types.ColumnsNames.CHART, _types.ColumnsNames.SPREAD];
10
+ const DEFAULT_COLUMNS = exports.DEFAULT_COLUMNS = [_labsWidgetCommon.DataRecordType.SELL, _labsWidgetCommon.DataRecordType.BUY, _labsWidgetCommon.DataRecordType.DAILY_CHANGE, _labsWidgetCommon.DataRecordType.CHART, _labsWidgetCommon.DataRecordType.SPREAD];
11
11
  const INSTRUMENT_TOOLTIP_ID = exports.INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';
12
12
  //# sourceMappingURL=constant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constant.js","names":["_types","require","DEFAULT_COUNT","exports","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","ColumnsNames","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","INSTRUMENT_TOOLTIP_ID"],"sources":["../../../src/LiveRatesTableWidget/constant.ts"],"sourcesContent":["import { ColumnsNames } from './types';\n\nconst DEFAULT_COUNT = 10;\n\nconst DEFAULT_TOTAL_COUNT = 50;\n\nconst DEFAULT_COLUMNS = [\n ColumnsNames.SELL,\n ColumnsNames.BUY,\n ColumnsNames.DAILY_CHANGE,\n ColumnsNames.CHART,\n ColumnsNames.SPREAD,\n];\n\nconst INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,EAAE;AAExB,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,CACtBC,mBAAY,CAACC,IAAI,EACjBD,mBAAY,CAACE,GAAG,EAChBF,mBAAY,CAACG,YAAY,EACzBH,mBAAY,CAACI,KAAK,EAClBJ,mBAAY,CAACK,MAAM,CACpB;AAED,MAAMC,qBAAqB,GAAAT,OAAA,CAAAS,qBAAA,GAAG,uBAAuB","ignoreList":[]}
1
+ {"version":3,"file":"constant.js","names":["_labsWidgetCommon","require","DEFAULT_COUNT","exports","DEFAULT_TOTAL_COUNT","DEFAULT_COLUMNS","DataRecordType","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","INSTRUMENT_TOOLTIP_ID"],"sources":["../../../src/LiveRatesTableWidget/constant.ts"],"sourcesContent":["import { DataRecordType } from '@oanda/labs-widget-common';\n\nconst DEFAULT_COUNT = 10;\n\nconst DEFAULT_TOTAL_COUNT = 50;\n\nconst DEFAULT_COLUMNS = [\n DataRecordType.SELL,\n DataRecordType.BUY,\n DataRecordType.DAILY_CHANGE,\n DataRecordType.CHART,\n DataRecordType.SPREAD,\n];\n\nconst INSTRUMENT_TOOLTIP_ID = 'instrument_tooltip_id';\n\nexport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,EAAE;AAExB,MAAME,mBAAmB,GAAAD,OAAA,CAAAC,mBAAA,GAAG,EAAE;AAE9B,MAAMC,eAAe,GAAAF,OAAA,CAAAE,eAAA,GAAG,CACtBC,gCAAc,CAACC,IAAI,EACnBD,gCAAc,CAACE,GAAG,EAClBF,gCAAc,CAACG,YAAY,EAC3BH,gCAAc,CAACI,KAAK,EACpBJ,gCAAc,CAACK,MAAM,CACtB;AAED,MAAMC,qBAAqB,GAAAT,OAAA,CAAAS,qBAAA,GAAG,uBAAuB","ignoreList":[]}
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ColumnsNames = void 0;
7
6
  Object.defineProperty(exports, "Division", {
8
7
  enumerable: true,
9
8
  get: function () {
@@ -24,13 +23,4 @@ let View = exports.View = function (View) {
24
23
  View["CARDS"] = "cards";
25
24
  return View;
26
25
  }({});
27
- let ColumnsNames = exports.ColumnsNames = function (ColumnsNames) {
28
- ColumnsNames["INSTRUMENT"] = "instrument";
29
- ColumnsNames["SELL"] = "sell";
30
- ColumnsNames["BUY"] = "buy";
31
- ColumnsNames["DAILY_CHANGE"] = "dailyChange";
32
- ColumnsNames["CHART"] = "chart";
33
- ColumnsNames["SPREAD"] = "spread";
34
- return ColumnsNames;
35
- }({});
36
26
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["_graphql","require","_monoI18n","View","exports","ColumnsNames"],"sources":["../../../src/LiveRatesTableWidget/types.tsx"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type { Division } from '../gql/types/graphql';\n\nexport { Division } from '../gql/types/graphql';\nexport { Locale } from '@oanda/mono-i18n';\n\nexport enum View {\n TABLE = 'table',\n CARDS = 'cards',\n}\n\nexport interface LiveRatesTableConfig extends WidgetConfig {\n division: Division;\n liveRatesUrl: string;\n instruments: string[];\n columns?: ColumnsNames[];\n removePadding?: boolean;\n view?: View;\n}\n\nexport enum ColumnsNames {\n INSTRUMENT = 'instrument',\n SELL = 'sell',\n BUY = 'buy',\n DAILY_CHANGE = 'dailyChange',\n CHART = 'chart',\n SPREAD = 'spread',\n}\n\nexport interface MainProps {\n instruments: string[];\n division: Division;\n columns?: ColumnsNames[];\n}\n\nexport interface Sentiment {\n shortPercent: number;\n longPercent: number;\n}\n\nexport type EmptyRecord = Record<string, never>;\n\nexport interface DataRecord {\n [key: string]: string | number | undefined;\n instrument: string;\n displayName: string;\n buy?: number;\n sell?: number;\n spread?: number;\n sellPriceMovement?: number;\n buyPriceMovement?: number;\n dailyPercentChange?: string;\n displayPrecision?: number;\n}\n\nexport interface RowWithDataProps {\n loading: boolean;\n record: DataRecord;\n hasBackgroundColor: boolean;\n target: EventTarget | null;\n activeColumns: ColumnsNames[];\n division: Division;\n isScrolled?: boolean;\n}\n\nexport interface CardWithDataProps {\n index: number;\n isLoading?: boolean;\n isError?: boolean;\n record: DataRecord;\n target: EventTarget | null;\n activeColumns: ColumnsNames[];\n division: Division;\n isLast?: boolean;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA0C,IAE9BE,IAAI,GAAAC,OAAA,CAAAD,IAAA,aAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAAA,IAcJE,YAAY,GAAAD,OAAA,CAAAC,YAAA,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["_graphql","require","_monoI18n","View","exports"],"sources":["../../../src/LiveRatesTableWidget/types.tsx"],"sourcesContent":["import type {\n DataRecord,\n DataRecordType,\n WidgetConfig,\n} from '@oanda/labs-widget-common';\n\nimport type { Division } from '../gql/types/graphql';\n\nexport { Division } from '../gql/types/graphql';\nexport { Locale } from '@oanda/mono-i18n';\n\nexport enum View {\n TABLE = 'table',\n CARDS = 'cards',\n}\n\nexport interface ValidateInstrumentsData {\n records?: DataRecord[];\n}\n\nexport interface LiveRatesTableConfig extends WidgetConfig {\n division: Division;\n liveRatesUrl: string;\n instruments: string[];\n columns?: DataRecordType[];\n removePadding?: boolean;\n view?: View;\n}\n\nexport interface MainProps {\n instruments: string[];\n division: Division;\n columns?: DataRecordType[];\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAA0C,IAE9BE,IAAI,GAAAC,OAAA,CAAAD,IAAA,aAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA","ignoreList":[]}