@oanda/labs-topical-instruments-widget 1.0.206 → 1.0.207

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,822 @@
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.207 (2025-07-18)
7
+
8
+
9
+
10
+ ## 1.0.206 (2025-07-18)
11
+
12
+
13
+
14
+ ## 1.0.205 (2025-07-17)
15
+
16
+
17
+
18
+ ## 1.0.204 (2025-07-09)
19
+
20
+
21
+
22
+ ## 1.0.203 (2025-06-16)
23
+
24
+
25
+
26
+ ## 1.0.202 (2025-06-04)
27
+
28
+
29
+
30
+ ## 1.0.201 (2025-06-02)
31
+
32
+
33
+
34
+ ## 1.0.200 (2025-05-30)
35
+
36
+
37
+
38
+ ## 1.0.199 (2025-05-29)
39
+
40
+
41
+
42
+ ## 1.0.198 (2025-05-26)
43
+
44
+
45
+
46
+ ## 1.0.197 (2025-05-23)
47
+
48
+
49
+
50
+ ## 1.0.196 (2025-05-22)
51
+
52
+
53
+
54
+ ## 1.0.195 (2025-05-21)
55
+
56
+
57
+
58
+ ## 1.0.194 (2025-05-21)
59
+
60
+
61
+
62
+ ## 1.0.193 (2025-05-15)
63
+
64
+
65
+
66
+ ## 1.0.192 (2025-05-14)
67
+
68
+
69
+
70
+ ## 1.0.191 (2025-04-30)
71
+
72
+
73
+
74
+ ## 1.0.190 (2025-04-28)
75
+
76
+
77
+
78
+ ## 1.0.189 (2025-04-23)
79
+
80
+
81
+
82
+ ## 1.0.188 (2025-04-22)
83
+
84
+
85
+
86
+ ## 1.0.187 (2025-04-18)
87
+
88
+
89
+
90
+ ## 1.0.186 (2025-04-10)
91
+
92
+
93
+
94
+ ## 1.0.185 (2025-04-09)
95
+
96
+
97
+
98
+ ## 1.0.184 (2025-04-08)
99
+
100
+
101
+
102
+ ## 1.0.183 (2025-04-04)
103
+
104
+
105
+
106
+ ## 1.0.182 (2025-03-21)
107
+
108
+
109
+
110
+ ## 1.0.181 (2025-03-13)
111
+
112
+
113
+
114
+ ## 1.0.180 (2025-01-30)
115
+
116
+
117
+
118
+ ## 1.0.179 (2025-01-29)
119
+
120
+
121
+
122
+ ## 1.0.178 (2025-01-12)
123
+
124
+
125
+
126
+ ## 1.0.177 (2025-01-10)
127
+
128
+
129
+
130
+ ## 1.0.176 (2025-01-10)
131
+
132
+
133
+
134
+ ## 1.0.175 (2025-01-08)
135
+
136
+
137
+
138
+ ## 1.0.174 (2024-12-16)
139
+
140
+
141
+
142
+ ## 1.0.173 (2024-12-11)
143
+
144
+
145
+
146
+ ## 1.0.172 (2024-11-29)
147
+
148
+
149
+
150
+ ## 1.0.171 (2024-11-28)
151
+
152
+
153
+
154
+ ## 1.0.170 (2024-11-28)
155
+
156
+
157
+
158
+ ## 1.0.169 (2024-11-20)
159
+
160
+
161
+
162
+ ## 1.0.168 (2024-11-19)
163
+
164
+
165
+
166
+ ## 1.0.167 (2024-10-14)
167
+
168
+
169
+
170
+ ## 1.0.166 (2024-10-07)
171
+
172
+
173
+
174
+ ## 1.0.165 (2024-10-03)
175
+
176
+
177
+
178
+ ## 1.0.164 (2024-09-26)
179
+
180
+
181
+
182
+ ## 1.0.163 (2024-09-18)
183
+
184
+
185
+
186
+ ## 1.0.162 (2024-09-12)
187
+
188
+
189
+
190
+ ## 1.0.161 (2024-09-11)
191
+
192
+
193
+
194
+ ## 1.0.160 (2024-09-10)
195
+
196
+
197
+
198
+ ## 1.0.159 (2024-09-09)
199
+
200
+
201
+
202
+ ## 1.0.158 (2024-09-04)
203
+
204
+
205
+
206
+ ## 1.0.157 (2024-09-04)
207
+
208
+
209
+
210
+ ## 1.0.156 (2024-09-02)
211
+
212
+
213
+
214
+ ## 1.0.155 (2024-08-29)
215
+
216
+
217
+
218
+ ## 1.0.154 (2024-08-29)
219
+
220
+
221
+
222
+ ## 1.0.153 (2024-08-23)
223
+
224
+
225
+
226
+ ## 1.0.152 (2024-08-23)
227
+
228
+
229
+
230
+ ## 1.0.151 (2024-08-20)
231
+
232
+
233
+
234
+ ## 1.0.150 (2024-08-19)
235
+
236
+
237
+
238
+ ## 1.0.149 (2024-08-07)
239
+
240
+
241
+
242
+ ## 1.0.148 (2024-08-01)
243
+
244
+
245
+
246
+ ## 1.0.147 (2024-08-01)
247
+
248
+
249
+
250
+ ## 1.0.146 (2024-07-26)
251
+
252
+
253
+
254
+ ## 1.0.145 (2024-07-25)
255
+
256
+
257
+
258
+ ## 1.0.144 (2024-07-22)
259
+
260
+
261
+
262
+ ## 1.0.143 (2024-07-19)
263
+
264
+
265
+
266
+ ## 1.0.142 (2024-07-16)
267
+
268
+
269
+
270
+ ## 1.0.141 (2024-07-16)
271
+
272
+
273
+
274
+ ## 1.0.140 (2024-07-12)
275
+
276
+
277
+
278
+ ## 1.0.139 (2024-07-12)
279
+
280
+
281
+
282
+ ## 1.0.138 (2024-07-10)
283
+
284
+
285
+
286
+ ## 1.0.137 (2024-07-05)
287
+
288
+
289
+
290
+ ## 1.0.136 (2024-07-03)
291
+
292
+
293
+
294
+ ## 1.0.135 (2024-07-03)
295
+
296
+
297
+
298
+ ## 1.0.134 (2024-07-03)
299
+
300
+
301
+
302
+ ## 1.0.133 (2024-06-28)
303
+
304
+
305
+
306
+ ## 1.0.132 (2024-06-27)
307
+
308
+
309
+
310
+ ## 1.0.131 (2024-06-27)
311
+
312
+
313
+
314
+ ## 1.0.130 (2024-06-26)
315
+
316
+
317
+
318
+ ## 1.0.129 (2024-06-17)
319
+
320
+
321
+
322
+ ## 1.0.128 (2024-06-17)
323
+
324
+
325
+
326
+ ## 1.0.127 (2024-06-10)
327
+
328
+
329
+
330
+ ## 1.0.126 (2024-05-29)
331
+
332
+
333
+
334
+ ## 1.0.125 (2024-05-29)
335
+
336
+
337
+
338
+ ## 1.0.124 (2024-05-29)
339
+
340
+
341
+
342
+ ## 1.0.123 (2024-05-28)
343
+
344
+
345
+
346
+ ## 1.0.122 (2024-05-27)
347
+
348
+
349
+
350
+ ## 1.0.121 (2024-05-27)
351
+
352
+
353
+
354
+ ## 1.0.120 (2024-05-24)
355
+
356
+
357
+
358
+ ## 1.0.119 (2024-05-17)
359
+
360
+
361
+
362
+ ## 1.0.118 (2024-05-09)
363
+
364
+
365
+
366
+ ## 1.0.117 (2024-05-07)
367
+
368
+
369
+
370
+ ## 1.0.116 (2024-04-23)
371
+
372
+
373
+
374
+ ## 1.0.115 (2024-04-22)
375
+
376
+
377
+
378
+ ## 1.0.114 (2024-04-19)
379
+
380
+
381
+
382
+ ## 1.0.113 (2024-04-19)
383
+
384
+
385
+
386
+ ## 1.0.112 (2024-04-15)
387
+
388
+
389
+
390
+ ## 1.0.111 (2024-04-11)
391
+
392
+
393
+
394
+ ## 1.0.110 (2024-04-05)
395
+
396
+
397
+
398
+ ## 1.0.109 (2024-04-05)
399
+
400
+
401
+
402
+ ## 1.0.108 (2024-04-04)
403
+
404
+
405
+
406
+ ## 1.0.107 (2024-04-03)
407
+
408
+
409
+
410
+ ## 1.0.106 (2024-03-29)
411
+
412
+
413
+
414
+ ## 1.0.105 (2024-03-28)
415
+
416
+
417
+
418
+ ## 1.0.104 (2024-03-21)
419
+
420
+
421
+
422
+ ## 1.0.103 (2024-03-20)
423
+
424
+
425
+
426
+ ## 1.0.102 (2024-03-20)
427
+
428
+
429
+
430
+ ## 1.0.101 (2024-03-13)
431
+
432
+
433
+
434
+ ## 1.0.100 (2024-03-12)
435
+
436
+
437
+
438
+ ## 1.0.99 (2024-03-11)
439
+
440
+
441
+
442
+ ## 1.0.98 (2024-03-07)
443
+
444
+
445
+
446
+ ## 1.0.97 (2024-03-06)
447
+
448
+
449
+
450
+ ## 1.0.96 (2024-03-06)
451
+
452
+
453
+
454
+ ## 1.0.95 (2024-03-04)
455
+
456
+
457
+
458
+ ## 1.0.94 (2024-02-29)
459
+
460
+
461
+
462
+ ## 1.0.93 (2024-02-28)
463
+
464
+
465
+
466
+ ## 1.0.92 (2024-02-28)
467
+
468
+
469
+
470
+ ## 1.0.91 (2024-02-23)
471
+
472
+
473
+
474
+ ## 1.0.90 (2024-02-23)
475
+
476
+
477
+
478
+ ## 1.0.89 (2024-02-21)
479
+
480
+
481
+
482
+ ## 1.0.88 (2024-02-21)
483
+
484
+
485
+
486
+ ## 1.0.87 (2024-02-20)
487
+
488
+
489
+
490
+ ## 1.0.86 (2024-02-20)
491
+
492
+
493
+
494
+ ## 1.0.85 (2024-02-13)
495
+
496
+
497
+
498
+ ## 1.0.84 (2024-02-13)
499
+
500
+
501
+
502
+ ## 1.0.83 (2024-02-09)
503
+
504
+
505
+
506
+ ## 1.0.82 (2024-02-05)
507
+
508
+
509
+
510
+ ## 1.0.81 (2024-02-05)
511
+
512
+
513
+
514
+ ## 1.0.80 (2024-02-05)
515
+
516
+
517
+
518
+ ## 1.0.79 (2024-02-05)
519
+
520
+
521
+
522
+ ## 1.0.78 (2024-01-30)
523
+
524
+
525
+
526
+ ## 1.0.77 (2024-01-25)
527
+
528
+
529
+
530
+ ## 1.0.76 (2024-01-25)
531
+
532
+
533
+
534
+ ## 1.0.75 (2024-01-22)
535
+
536
+
537
+
538
+ ## 1.0.74 (2024-01-22)
539
+
540
+
541
+
542
+ ## 1.0.73 (2024-01-22)
543
+
544
+
545
+
546
+ ## 1.0.72 (2024-01-19)
547
+
548
+
549
+
550
+ ## 1.0.71 (2024-01-18)
551
+
552
+
553
+
554
+ ## 1.0.70 (2024-01-17)
555
+
556
+
557
+
558
+ ## 1.0.69 (2024-01-17)
559
+
560
+
561
+
562
+ ## 1.0.68 (2024-01-15)
563
+
564
+
565
+
566
+ ## 1.0.67 (2024-01-15)
567
+
568
+
569
+
570
+ ## 1.0.66 (2024-01-12)
571
+
572
+
573
+
574
+ ## 1.0.65 (2024-01-11)
575
+
576
+
577
+
578
+ ## 1.0.64 (2024-01-11)
579
+
580
+
581
+
582
+ ## 1.0.63 (2024-01-11)
583
+
584
+
585
+
586
+ ## 1.0.62 (2024-01-10)
587
+
588
+
589
+
590
+ ## 1.0.61 (2024-01-09)
591
+
592
+
593
+
594
+ ## 1.0.60 (2024-01-05)
595
+
596
+
597
+
598
+ ## 1.0.59 (2023-12-27)
599
+
600
+
601
+
602
+ ## 1.0.58 (2023-12-22)
603
+
604
+
605
+
606
+ ## 1.0.57 (2023-12-22)
607
+
608
+
609
+
610
+ ## 1.0.56 (2023-12-21)
611
+
612
+
613
+
614
+ ## 1.0.55 (2023-12-19)
615
+
616
+
617
+
618
+ ## 1.0.54 (2023-12-15)
619
+
620
+
621
+
622
+ ## 1.0.53 (2023-12-13)
623
+
624
+
625
+
626
+ ## 1.0.52 (2023-12-13)
627
+
628
+
629
+
630
+ ## 1.0.51 (2023-12-07)
631
+
632
+
633
+
634
+ ## 1.0.50 (2023-12-04)
635
+
636
+
637
+
638
+ ## 1.0.49 (2023-12-01)
639
+
640
+
641
+
642
+ ## 1.0.48 (2023-12-01)
643
+
644
+
645
+
646
+ ## 1.0.47 (2023-11-29)
647
+
648
+
649
+
650
+ ## 1.0.46 (2023-11-28)
651
+
652
+
653
+
654
+ ## 1.0.45 (2023-11-23)
655
+
656
+
657
+
658
+ ## 1.0.44 (2023-11-22)
659
+
660
+
661
+
662
+ ## 1.0.43 (2023-11-15)
663
+
664
+
665
+
666
+ ## 1.0.42 (2023-11-10)
667
+
668
+
669
+
670
+ ## 1.0.41 (2023-11-03)
671
+
672
+
673
+
674
+ ## 1.0.40 (2023-11-02)
675
+
676
+
677
+
678
+ ## 1.0.39 (2023-11-02)
679
+
680
+
681
+
682
+ ## 1.0.38 (2023-10-26)
683
+
684
+
685
+
686
+ ## 1.0.37 (2023-10-26)
687
+
688
+
689
+
690
+ ## 1.0.36 (2023-10-25)
691
+
692
+
693
+
694
+ ## 1.0.35 (2023-10-24)
695
+
696
+
697
+
698
+ ## 1.0.34 (2023-10-23)
699
+
700
+
701
+
702
+ ## 1.0.33 (2023-10-23)
703
+
704
+
705
+
706
+ ## 1.0.32 (2023-10-23)
707
+
708
+
709
+
710
+ ## 1.0.31 (2023-10-20)
711
+
712
+
713
+
714
+ ## 1.0.30 (2023-10-19)
715
+
716
+
717
+
718
+ ## 1.0.29 (2023-10-19)
719
+
720
+
721
+
722
+ ## 1.0.28 (2023-10-19)
723
+
724
+
725
+
726
+ ## 1.0.27 (2023-10-18)
727
+
728
+
729
+
730
+ ## 1.0.26 (2023-10-18)
731
+
732
+
733
+
734
+ ## 1.0.25 (2023-10-17)
735
+
736
+
737
+
738
+ ## 1.0.24 (2023-10-13)
739
+
740
+
741
+
742
+ ## 1.0.23 (2023-10-13)
743
+
744
+
745
+
746
+ ## 1.0.22 (2023-10-11)
747
+
748
+
749
+
750
+ ## 1.0.21 (2023-10-10)
751
+
752
+
753
+
754
+ ## 1.0.20 (2023-10-06)
755
+
756
+
757
+
758
+ ## 1.0.19 (2023-10-06)
759
+
760
+
761
+
762
+ ## 1.0.18 (2023-10-05)
763
+
764
+
765
+
766
+ ## 1.0.17 (2023-10-04)
767
+
768
+
769
+
770
+ ## 1.0.16 (2023-10-04)
771
+
772
+
773
+
774
+ ## 1.0.15 (2023-10-04)
775
+
776
+
777
+
778
+ ## 1.0.14 (2023-10-03)
779
+
780
+
781
+
782
+ ## 1.0.13 (2023-10-03)
783
+
784
+
785
+
786
+ ## 1.0.12 (2023-10-03)
787
+
788
+
789
+
790
+ ## 1.0.11 (2023-10-02)
791
+
792
+
793
+
794
+ ## 1.0.10 (2023-09-29)
795
+
796
+
797
+
798
+ ## 1.0.9 (2023-09-28)
799
+
800
+
801
+
802
+ ## 1.0.8 (2023-09-27)
803
+
804
+
805
+
806
+ ## 1.0.7 (2023-09-26)
807
+
808
+
809
+
810
+ ## 1.0.6 (2023-09-21)
811
+
812
+
813
+
814
+ ## 1.0.5 (2023-09-13)
815
+
816
+ **Note:** Version bump only for package @oanda/labs-topical-instruments-widget
817
+
818
+
819
+
820
+
821
+
6
822
  ## 1.0.206 (2025-07-18)
7
823
 
8
824
 
@@ -125,7 +125,7 @@ const Main = _ref => {
125
125
  activeColumns: columns,
126
126
  count: count,
127
127
  hasError: showError,
128
- headerColumns: (0, _config.getHeaderConfig)(columns),
128
+ headerColumns: (0, _labsWidgetCommon.getHeaderConfig)(columns, _config.headerConfig),
129
129
  isChartLoading: loading,
130
130
  isLoading: mainLoading,
131
131
  pageNumber: pageNumber,
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_getInstrumentsChart","_getTopicalInstruments","_graphql","_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","sort","assetClass","division","count","DEFAULT_COUNT","columns","DEFAULT_COLUMNS","emptyRecords","Array","fill","lang","useLocale","size","useLayoutProvider","target","setQuery","useLiveRatesQuery","pageNumber","setPageNumber","useState","tiSort","setTiSort","TopicalSort","Popular","records","setRecords","isDesktop","Size","DESKTOP","navigationConfig","Division","Oc","navigationConfigOC","navigationConfigDefault","isTool","undefined","data","mainLoading","loading","error","useFetchCombinedDataRecords","mainQuery","getTopicalInstruments","mainVariables","offset","batchQuery","getInstrumentsChart","getBatchVariables","mainData","topicalInstruments","map","displayName","length","instruments","merge","chartData","getRecords","fetchPolicy","useEffect","instrument","_ref2","chart","_ref3","handleTabClick","currentTarget","value","handlePageChange","num","showError","isPaginationDisabled","totalCount","createElement","TableWidget","PaginationComponent","Pagination","currentPage","disabled","recordsPerPage","totalRecords","DEFAULT_TOTAL_COUNT","onPageChange","TabsComponent","Tabs","mobileFullWidth","activeTab","handleClick","items","labelCallback","activeColumns","hasError","headerColumns","getHeaderConfig","isChartLoading","isLoading","testId","timestamp","updatedAt","toolTipId","INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../../src/TopicalInstrumentsWidget/Main.tsx"],"sourcesContent":["import type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n Pagination,\n Size,\n TableWidget,\n Tabs,\n useFetchCombinedDataRecords,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useState } from 'react';\n\nimport { getInstrumentsChart } from '../gql/getInstrumentsChart';\nimport { getTopicalInstruments } from '../gql/getTopicalInstruments';\nimport {\n Division,\n type GetInstrumentsChartQuery,\n type GetInstrumentsChartQueryVariables,\n type GetTopicalInstrumentsQuery,\n type GetTopicalInstrumentsQueryVariables,\n TopicalSort,\n} from '../gql/types/graphql';\nimport {\n getHeaderConfig,\n navigationConfigDefault,\n navigationConfigOC,\n} from './config';\nimport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n} from './constant';\nimport type { MainProps, TopicalInstrumentsData } from './types';\nimport { getRecords } from './utils';\n\nexport const Main = ({\n sort,\n assetClass,\n division,\n count = DEFAULT_COUNT,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const emptyRecords = Array(count).fill({});\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const { target, setQuery } = useLiveRatesQuery();\n\n const [pageNumber, setPageNumber] = useState(0);\n const [tiSort, setTiSort] = useState(sort || TopicalSort.Popular);\n const [records, setRecords] = useState<DataRecord[]>(emptyRecords);\n\n const isDesktop = size === Size.DESKTOP;\n const navigationConfig =\n division === Division.Oc ? navigationConfigOC : navigationConfigDefault;\n const isTool = sort === undefined;\n\n const { data, mainLoading, loading, error } = useFetchCombinedDataRecords<\n GetTopicalInstrumentsQuery,\n GetTopicalInstrumentsQueryVariables,\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n TopicalInstrumentsData\n >({\n mainQuery: getTopicalInstruments,\n mainVariables: {\n sort: tiSort,\n division,\n assetClass,\n count,\n offset: pageNumber * 10,\n },\n batchQuery: getInstrumentsChart,\n getBatchVariables: (mainData) => {\n const topicalInstruments = mainData?.topicalInstruments?.map(\n (i) => i.displayName\n );\n return topicalInstruments?.length\n ? { instruments: topicalInstruments, division }\n : undefined;\n },\n merge: (mainData, chartData) => getRecords(mainData, chartData),\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!mainLoading && data) {\n setRecords(data.records ?? []);\n }\n }, [mainLoading, data]);\n\n useEffect(() => {\n if (records[0].instrument) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDesktop]);\n\n useEffect(() => {\n if (records[0].instrument && records[0].chart?.length === 0) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const handleTabClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n setRecords(emptyRecords);\n setTiSort(e.currentTarget.value as TopicalSort);\n setPageNumber(0);\n };\n\n const handlePageChange = (num: number) => {\n setRecords(emptyRecords);\n setPageNumber(num);\n };\n\n const showError = !!error || data?.records?.length === 0;\n const isPaginationDisabled =\n mainLoading || (!!data?.totalCount && data?.totalCount <= count);\n\n return (\n <TableWidget\n PaginationComponent={\n isTool ? (\n <Pagination\n currentPage={pageNumber}\n disabled={isPaginationDisabled}\n recordsPerPage={count}\n totalRecords={data?.totalCount ?? DEFAULT_TOTAL_COUNT}\n onPageChange={handlePageChange}\n />\n ) : undefined\n }\n TabsComponent={\n isTool ? (\n <Tabs\n mobileFullWidth\n activeTab={tiSort}\n handleClick={handleTabClick}\n items={navigationConfig}\n labelCallback={lang}\n />\n ) : undefined\n }\n activeColumns={columns}\n count={count}\n hasError={showError}\n headerColumns={getHeaderConfig(columns)}\n isChartLoading={loading}\n isLoading={mainLoading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"topical-instruments-wrapper\"\n timestamp={data?.updatedAt}\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_getInstrumentsChart","_getTopicalInstruments","_graphql","_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","sort","assetClass","division","count","DEFAULT_COUNT","columns","DEFAULT_COLUMNS","emptyRecords","Array","fill","lang","useLocale","size","useLayoutProvider","target","setQuery","useLiveRatesQuery","pageNumber","setPageNumber","useState","tiSort","setTiSort","TopicalSort","Popular","records","setRecords","isDesktop","Size","DESKTOP","navigationConfig","Division","Oc","navigationConfigOC","navigationConfigDefault","isTool","undefined","data","mainLoading","loading","error","useFetchCombinedDataRecords","mainQuery","getTopicalInstruments","mainVariables","offset","batchQuery","getInstrumentsChart","getBatchVariables","mainData","topicalInstruments","map","displayName","length","instruments","merge","chartData","getRecords","fetchPolicy","useEffect","instrument","_ref2","chart","_ref3","handleTabClick","currentTarget","value","handlePageChange","num","showError","isPaginationDisabled","totalCount","createElement","TableWidget","PaginationComponent","Pagination","currentPage","disabled","recordsPerPage","totalRecords","DEFAULT_TOTAL_COUNT","onPageChange","TabsComponent","Tabs","mobileFullWidth","activeTab","handleClick","items","labelCallback","activeColumns","hasError","headerColumns","getHeaderConfig","headerConfig","isChartLoading","isLoading","testId","timestamp","updatedAt","toolTipId","INSTRUMENT_TOOLTIP_ID","exports"],"sources":["../../../src/TopicalInstrumentsWidget/Main.tsx"],"sourcesContent":["import type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n getHeaderConfig,\n Pagination,\n Size,\n TableWidget,\n Tabs,\n useFetchCombinedDataRecords,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useState } from 'react';\n\nimport { getInstrumentsChart } from '../gql/getInstrumentsChart';\nimport { getTopicalInstruments } from '../gql/getTopicalInstruments';\nimport {\n Division,\n type GetInstrumentsChartQuery,\n type GetInstrumentsChartQueryVariables,\n type GetTopicalInstrumentsQuery,\n type GetTopicalInstrumentsQueryVariables,\n TopicalSort,\n} from '../gql/types/graphql';\nimport {\n headerConfig,\n navigationConfigDefault,\n navigationConfigOC,\n} from './config';\nimport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n} from './constant';\nimport type { MainProps, TopicalInstrumentsData } from './types';\nimport { getRecords } from './utils';\n\nexport const Main = ({\n sort,\n assetClass,\n division,\n count = DEFAULT_COUNT,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const emptyRecords = Array(count).fill({});\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const { target, setQuery } = useLiveRatesQuery();\n\n const [pageNumber, setPageNumber] = useState(0);\n const [tiSort, setTiSort] = useState(sort || TopicalSort.Popular);\n const [records, setRecords] = useState<DataRecord[]>(emptyRecords);\n\n const isDesktop = size === Size.DESKTOP;\n const navigationConfig =\n division === Division.Oc ? navigationConfigOC : navigationConfigDefault;\n const isTool = sort === undefined;\n\n const { data, mainLoading, loading, error } = useFetchCombinedDataRecords<\n GetTopicalInstrumentsQuery,\n GetTopicalInstrumentsQueryVariables,\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n TopicalInstrumentsData\n >({\n mainQuery: getTopicalInstruments,\n mainVariables: {\n sort: tiSort,\n division,\n assetClass,\n count,\n offset: pageNumber * 10,\n },\n batchQuery: getInstrumentsChart,\n getBatchVariables: (mainData) => {\n const topicalInstruments = mainData?.topicalInstruments?.map(\n (i) => i.displayName\n );\n return topicalInstruments?.length\n ? { instruments: topicalInstruments, division }\n : undefined;\n },\n merge: (mainData, chartData) => getRecords(mainData, chartData),\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!mainLoading && data) {\n setRecords(data.records ?? []);\n }\n }, [mainLoading, data]);\n\n useEffect(() => {\n if (records[0].instrument) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDesktop]);\n\n useEffect(() => {\n if (records[0].instrument && records[0].chart?.length === 0) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const handleTabClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n setRecords(emptyRecords);\n setTiSort(e.currentTarget.value as TopicalSort);\n setPageNumber(0);\n };\n\n const handlePageChange = (num: number) => {\n setRecords(emptyRecords);\n setPageNumber(num);\n };\n\n const showError = !!error || data?.records?.length === 0;\n const isPaginationDisabled =\n mainLoading || (!!data?.totalCount && data?.totalCount <= count);\n\n return (\n <TableWidget\n PaginationComponent={\n isTool ? (\n <Pagination\n currentPage={pageNumber}\n disabled={isPaginationDisabled}\n recordsPerPage={count}\n totalRecords={data?.totalCount ?? DEFAULT_TOTAL_COUNT}\n onPageChange={handlePageChange}\n />\n ) : undefined\n }\n TabsComponent={\n isTool ? (\n <Tabs\n mobileFullWidth\n activeTab={tiSort}\n handleClick={handleTabClick}\n items={navigationConfig}\n labelCallback={lang}\n />\n ) : undefined\n }\n activeColumns={columns}\n count={count}\n hasError={showError}\n headerColumns={getHeaderConfig(columns, headerConfig)}\n isChartLoading={loading}\n isLoading={mainLoading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"topical-instruments-wrapper\"\n timestamp={data?.updatedAt}\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,44 +3,62 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.navigationConfigOC = exports.navigationConfigDefault = exports.headerConfig = exports.getHeaderConfig = void 0;
6
+ exports.navigationConfigOC = exports.navigationConfigDefault = exports.headerConfig = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
8
  var _graphql = require("../gql/types/graphql");
9
9
  const headerConfig = exports.headerConfig = {
10
10
  [_labsWidgetCommon.DataRecordType.INSTRUMENT]: {
11
11
  displayName: 'instrument',
12
- additionalStyles: 'lw-text-left lw-min-w-[130px]'
12
+ additionalStyles: {
13
+ align: 'left',
14
+ minWidth: '130px'
15
+ }
13
16
  },
14
17
  [_labsWidgetCommon.DataRecordType.SELL]: {
15
18
  displayName: 'sell',
16
- additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4'
19
+ additionalStyles: {
20
+ align: 'right',
21
+ minWidth: '75px',
22
+ paddingRight: true
23
+ }
17
24
  },
18
25
  [_labsWidgetCommon.DataRecordType.BUY]: {
19
26
  displayName: 'buy',
20
- additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4'
27
+ additionalStyles: {
28
+ align: 'right',
29
+ minWidth: '75px',
30
+ paddingRight: true
31
+ }
21
32
  },
22
33
  [_labsWidgetCommon.DataRecordType.DAILY_CHANGE]: {
23
34
  displayName: 'daily_percent_change',
24
- additionalStyles: 'lw-text-right lw-min-w-[80px]'
35
+ additionalStyles: {
36
+ align: 'right',
37
+ minWidth: '80px'
38
+ }
25
39
  },
26
40
  [_labsWidgetCommon.DataRecordType.CHART]: {
27
41
  displayName: '24h_chart',
28
- additionalStyles: 'lw-text-center lw-min-w-[100px]'
42
+ additionalStyles: {
43
+ align: 'center',
44
+ minWidth: '100px'
45
+ }
29
46
  },
30
47
  [_labsWidgetCommon.DataRecordType.SPREAD]: {
31
48
  displayName: 'spread',
32
- additionalStyles: 'lw-text-right lw-min-w-[50px]'
49
+ additionalStyles: {
50
+ align: 'right',
51
+ minWidth: '50px'
52
+ }
33
53
  },
34
54
  [_labsWidgetCommon.DataRecordType.SENTIMENT]: {
35
55
  displayName: 'sentiment',
36
- additionalStyles: 'lw-text-center lw-min-w-[190px]'
56
+ additionalStyles: {
57
+ align: 'center',
58
+ minWidth: '190px'
59
+ }
37
60
  }
38
61
  };
39
- const getHeaderConfig = activeColumns => {
40
- const columns = [_labsWidgetCommon.DataRecordType.INSTRUMENT, ...activeColumns].filter(item => item !== _labsWidgetCommon.DataRecordType.LOW && item !== _labsWidgetCommon.DataRecordType.HIGH);
41
- return columns.map(item => headerConfig[item]);
42
- };
43
- exports.getHeaderConfig = getHeaderConfig;
44
62
  const navigationConfigDefault = exports.navigationConfigDefault = [{
45
63
  id: _graphql.TopicalSort.Popular,
46
64
  label: 'popular'
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","headerConfig","exports","DataRecordType","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","SENTIMENT","getHeaderConfig","activeColumns","columns","filter","item","LOW","HIGH","map","navigationConfigDefault","id","TopicalSort","Popular","label","Hot","Volatile","Bullish","Bearish","navigationConfigOC"],"sources":["../../../src/TopicalInstrumentsWidget/config.ts"],"sourcesContent":["import type { HeaderColumns } from '@oanda/labs-widget-common';\nimport { DataRecordType } from '@oanda/labs-widget-common';\n\nimport { TopicalSort } from '../gql/types/graphql';\n\ntype HeaderRecordType =\n | DataRecordType.INSTRUMENT\n | DataRecordType.SELL\n | DataRecordType.BUY\n | DataRecordType.DAILY_CHANGE\n | DataRecordType.CHART\n | DataRecordType.SPREAD\n | 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 [DataRecordType.SENTIMENT]: {\n displayName: 'sentiment',\n additionalStyles: 'lw-text-center lw-min-w-[190px]',\n },\n};\n\nconst getHeaderConfig = (activeColumns: DataRecordType[]): HeaderColumns[] => {\n const columns: HeaderRecordType[] = [\n DataRecordType.INSTRUMENT,\n ...activeColumns,\n ].filter(\n (item): item is HeaderRecordType =>\n item !== DataRecordType.LOW && item !== DataRecordType.HIGH\n );\n\n return columns.map((item) => headerConfig[item]);\n};\n\nconst navigationConfigDefault = [\n {\n id: TopicalSort.Popular,\n label: 'popular',\n },\n {\n id: TopicalSort.Hot,\n label: 'hot',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'bullish',\n },\n {\n id: TopicalSort.Bearish,\n label: 'bearish',\n },\n];\n\nconst navigationConfigOC = [\n {\n id: TopicalSort.Popular,\n label: 'most_traded',\n },\n {\n id: TopicalSort.Hot,\n label: 'high_volume',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'net_long',\n },\n {\n id: TopicalSort.Bearish,\n label: 'net_short',\n },\n];\n\nexport {\n getHeaderConfig,\n headerConfig,\n navigationConfigDefault,\n navigationConfigOC,\n};\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAWA,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,CAAC;EACD,CAACH,gCAAc,CAACS,SAAS,GAAG;IAC1BP,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMO,eAAe,GAAIC,aAA+B,IAAsB;EAC5E,MAAMC,OAA2B,GAAG,CAClCZ,gCAAc,CAACC,UAAU,EACzB,GAAGU,aAAa,CACjB,CAACE,MAAM,CACLC,IAAI,IACHA,IAAI,KAAKd,gCAAc,CAACe,GAAG,IAAID,IAAI,KAAKd,gCAAc,CAACgB,IAC3D,CAAC;EAED,OAAOJ,OAAO,CAACK,GAAG,CAAEH,IAAI,IAAKhB,YAAY,CAACgB,IAAI,CAAC,CAAC;AAClD,CAAC;AAACf,OAAA,CAAAW,eAAA,GAAAA,eAAA;AAEF,MAAMQ,uBAAuB,GAAAnB,OAAA,CAAAmB,uBAAA,GAAG,CAC9B;EACEC,EAAE,EAAEC,oBAAW,CAACC,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACG,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACI,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACK,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACM,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMK,kBAAkB,GAAA5B,OAAA,CAAA4B,kBAAA,GAAG,CACzB;EACER,EAAE,EAAEC,oBAAW,CAACC,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACG,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACI,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACK,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACM,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF","ignoreList":[]}
1
+ {"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","headerConfig","exports","DataRecordType","INSTRUMENT","displayName","additionalStyles","align","minWidth","SELL","paddingRight","BUY","DAILY_CHANGE","CHART","SPREAD","SENTIMENT","navigationConfigDefault","id","TopicalSort","Popular","label","Hot","Volatile","Bullish","Bearish","navigationConfigOC"],"sources":["../../../src/TopicalInstrumentsWidget/config.ts"],"sourcesContent":["import type { HeaderConfigType } from '@oanda/labs-widget-common';\nimport { DataRecordType } from '@oanda/labs-widget-common';\n\nimport { TopicalSort } from '../gql/types/graphql';\n\nconst headerConfig: HeaderConfigType = {\n [DataRecordType.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: {\n align: 'left',\n minWidth: '130px',\n },\n },\n [DataRecordType.SELL]: {\n displayName: 'sell',\n additionalStyles: {\n align: 'right',\n minWidth: '75px',\n paddingRight: true,\n },\n },\n [DataRecordType.BUY]: {\n displayName: 'buy',\n additionalStyles: {\n align: 'right',\n minWidth: '75px',\n paddingRight: true,\n },\n },\n [DataRecordType.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: {\n align: 'right',\n minWidth: '80px',\n },\n },\n [DataRecordType.CHART]: {\n displayName: '24h_chart',\n additionalStyles: {\n align: 'center',\n minWidth: '100px',\n },\n },\n [DataRecordType.SPREAD]: {\n displayName: 'spread',\n additionalStyles: {\n align: 'right',\n minWidth: '50px',\n },\n },\n [DataRecordType.SENTIMENT]: {\n displayName: 'sentiment',\n additionalStyles: {\n align: 'center',\n minWidth: '190px',\n },\n },\n};\n\nconst navigationConfigDefault = [\n {\n id: TopicalSort.Popular,\n label: 'popular',\n },\n {\n id: TopicalSort.Hot,\n label: 'hot',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'bullish',\n },\n {\n id: TopicalSort.Bearish,\n label: 'bearish',\n },\n];\n\nconst navigationConfigOC = [\n {\n id: TopicalSort.Popular,\n label: 'most_traded',\n },\n {\n id: TopicalSort.Hot,\n label: 'high_volume',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'net_long',\n },\n {\n id: TopicalSort.Bearish,\n label: 'net_short',\n },\n];\n\nexport { headerConfig, navigationConfigDefault, navigationConfigOC };\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAEA,MAAME,YAA8B,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACrC,CAACE,gCAAc,CAACC,UAAU,GAAG;IAC3BC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,MAAM;MACbC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACL,gCAAc,CAACM,IAAI,GAAG;IACrBJ,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,MAAM;MAChBE,YAAY,EAAE;IAChB;EACF,CAAC;EACD,CAACP,gCAAc,CAACQ,GAAG,GAAG;IACpBN,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,MAAM;MAChBE,YAAY,EAAE;IAChB;EACF,CAAC;EACD,CAACP,gCAAc,CAACS,YAAY,GAAG;IAC7BP,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACL,gCAAc,CAACU,KAAK,GAAG;IACtBR,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACL,gCAAc,CAACW,MAAM,GAAG;IACvBT,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACL,gCAAc,CAACY,SAAS,GAAG;IAC1BV,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAED,MAAMQ,uBAAuB,GAAAd,OAAA,CAAAc,uBAAA,GAAG,CAC9B;EACEC,EAAE,EAAEC,oBAAW,CAACC,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACG,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACI,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACK,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACM,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMK,kBAAkB,GAAAvB,OAAA,CAAAuB,kBAAA,GAAG,CACzB;EACER,EAAE,EAAEC,oBAAW,CAACC,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACG,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACI,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACK,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEH,EAAE,EAAEC,oBAAW,CAACM,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF","ignoreList":[]}
@@ -1,10 +1,10 @@
1
- import { Pagination, Size, TableWidget, Tabs, useFetchCombinedDataRecords, useLayoutProvider, useLiveRatesQuery } from '@oanda/labs-widget-common';
1
+ import { getHeaderConfig, Pagination, Size, TableWidget, Tabs, useFetchCombinedDataRecords, useLayoutProvider, useLiveRatesQuery } from '@oanda/labs-widget-common';
2
2
  import { useLocale } from '@oanda/mono-i18n';
3
3
  import React, { useEffect, useState } from 'react';
4
4
  import { getInstrumentsChart } from '../gql/getInstrumentsChart';
5
5
  import { getTopicalInstruments } from '../gql/getTopicalInstruments';
6
6
  import { Division, TopicalSort } from '../gql/types/graphql';
7
- import { getHeaderConfig, navigationConfigDefault, navigationConfigOC } from './config';
7
+ import { headerConfig, navigationConfigDefault, navigationConfigOC } from './config';
8
8
  import { DEFAULT_COLUMNS, DEFAULT_COUNT, DEFAULT_TOTAL_COUNT, INSTRUMENT_TOOLTIP_ID } from './constant';
9
9
  import { getRecords } from './utils';
10
10
  export const Main = _ref => {
@@ -117,7 +117,7 @@ export const Main = _ref => {
117
117
  activeColumns: columns,
118
118
  count: count,
119
119
  hasError: showError,
120
- headerColumns: getHeaderConfig(columns),
120
+ headerColumns: getHeaderConfig(columns, headerConfig),
121
121
  isChartLoading: loading,
122
122
  isLoading: mainLoading,
123
123
  pageNumber: pageNumber,
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["Pagination","Size","TableWidget","Tabs","useFetchCombinedDataRecords","useLayoutProvider","useLiveRatesQuery","useLocale","React","useEffect","useState","getInstrumentsChart","getTopicalInstruments","Division","TopicalSort","getHeaderConfig","navigationConfigDefault","navigationConfigOC","DEFAULT_COLUMNS","DEFAULT_COUNT","DEFAULT_TOTAL_COUNT","INSTRUMENT_TOOLTIP_ID","getRecords","Main","_ref","sort","assetClass","division","count","columns","emptyRecords","Array","fill","lang","size","target","setQuery","pageNumber","setPageNumber","tiSort","setTiSort","Popular","records","setRecords","isDesktop","DESKTOP","navigationConfig","Oc","isTool","undefined","data","mainLoading","loading","error","mainQuery","mainVariables","offset","batchQuery","getBatchVariables","mainData","topicalInstruments","map","i","displayName","length","instruments","merge","chartData","fetchPolicy","instrument","_ref2","chart","_ref3","handleTabClick","e","currentTarget","value","handlePageChange","num","showError","isPaginationDisabled","totalCount","createElement","PaginationComponent","currentPage","disabled","recordsPerPage","totalRecords","onPageChange","TabsComponent","mobileFullWidth","activeTab","handleClick","items","labelCallback","activeColumns","hasError","headerColumns","isChartLoading","isLoading","testId","timestamp","updatedAt","toolTipId"],"sources":["../../../src/TopicalInstrumentsWidget/Main.tsx"],"sourcesContent":["import type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n Pagination,\n Size,\n TableWidget,\n Tabs,\n useFetchCombinedDataRecords,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useState } from 'react';\n\nimport { getInstrumentsChart } from '../gql/getInstrumentsChart';\nimport { getTopicalInstruments } from '../gql/getTopicalInstruments';\nimport {\n Division,\n type GetInstrumentsChartQuery,\n type GetInstrumentsChartQueryVariables,\n type GetTopicalInstrumentsQuery,\n type GetTopicalInstrumentsQueryVariables,\n TopicalSort,\n} from '../gql/types/graphql';\nimport {\n getHeaderConfig,\n navigationConfigDefault,\n navigationConfigOC,\n} from './config';\nimport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n} from './constant';\nimport type { MainProps, TopicalInstrumentsData } from './types';\nimport { getRecords } from './utils';\n\nexport const Main = ({\n sort,\n assetClass,\n division,\n count = DEFAULT_COUNT,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const emptyRecords = Array(count).fill({});\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const { target, setQuery } = useLiveRatesQuery();\n\n const [pageNumber, setPageNumber] = useState(0);\n const [tiSort, setTiSort] = useState(sort || TopicalSort.Popular);\n const [records, setRecords] = useState<DataRecord[]>(emptyRecords);\n\n const isDesktop = size === Size.DESKTOP;\n const navigationConfig =\n division === Division.Oc ? navigationConfigOC : navigationConfigDefault;\n const isTool = sort === undefined;\n\n const { data, mainLoading, loading, error } = useFetchCombinedDataRecords<\n GetTopicalInstrumentsQuery,\n GetTopicalInstrumentsQueryVariables,\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n TopicalInstrumentsData\n >({\n mainQuery: getTopicalInstruments,\n mainVariables: {\n sort: tiSort,\n division,\n assetClass,\n count,\n offset: pageNumber * 10,\n },\n batchQuery: getInstrumentsChart,\n getBatchVariables: (mainData) => {\n const topicalInstruments = mainData?.topicalInstruments?.map(\n (i) => i.displayName\n );\n return topicalInstruments?.length\n ? { instruments: topicalInstruments, division }\n : undefined;\n },\n merge: (mainData, chartData) => getRecords(mainData, chartData),\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!mainLoading && data) {\n setRecords(data.records ?? []);\n }\n }, [mainLoading, data]);\n\n useEffect(() => {\n if (records[0].instrument) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDesktop]);\n\n useEffect(() => {\n if (records[0].instrument && records[0].chart?.length === 0) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const handleTabClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n setRecords(emptyRecords);\n setTiSort(e.currentTarget.value as TopicalSort);\n setPageNumber(0);\n };\n\n const handlePageChange = (num: number) => {\n setRecords(emptyRecords);\n setPageNumber(num);\n };\n\n const showError = !!error || data?.records?.length === 0;\n const isPaginationDisabled =\n mainLoading || (!!data?.totalCount && data?.totalCount <= count);\n\n return (\n <TableWidget\n PaginationComponent={\n isTool ? (\n <Pagination\n currentPage={pageNumber}\n disabled={isPaginationDisabled}\n recordsPerPage={count}\n totalRecords={data?.totalCount ?? DEFAULT_TOTAL_COUNT}\n onPageChange={handlePageChange}\n />\n ) : undefined\n }\n TabsComponent={\n isTool ? (\n <Tabs\n mobileFullWidth\n activeTab={tiSort}\n handleClick={handleTabClick}\n items={navigationConfig}\n labelCallback={lang}\n />\n ) : undefined\n }\n activeColumns={columns}\n count={count}\n hasError={showError}\n headerColumns={getHeaderConfig(columns)}\n isChartLoading={loading}\n isLoading={mainLoading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"topical-instruments-wrapper\"\n timestamp={data?.updatedAt}\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["getHeaderConfig","Pagination","Size","TableWidget","Tabs","useFetchCombinedDataRecords","useLayoutProvider","useLiveRatesQuery","useLocale","React","useEffect","useState","getInstrumentsChart","getTopicalInstruments","Division","TopicalSort","headerConfig","navigationConfigDefault","navigationConfigOC","DEFAULT_COLUMNS","DEFAULT_COUNT","DEFAULT_TOTAL_COUNT","INSTRUMENT_TOOLTIP_ID","getRecords","Main","_ref","sort","assetClass","division","count","columns","emptyRecords","Array","fill","lang","size","target","setQuery","pageNumber","setPageNumber","tiSort","setTiSort","Popular","records","setRecords","isDesktop","DESKTOP","navigationConfig","Oc","isTool","undefined","data","mainLoading","loading","error","mainQuery","mainVariables","offset","batchQuery","getBatchVariables","mainData","topicalInstruments","map","i","displayName","length","instruments","merge","chartData","fetchPolicy","instrument","_ref2","chart","_ref3","handleTabClick","e","currentTarget","value","handlePageChange","num","showError","isPaginationDisabled","totalCount","createElement","PaginationComponent","currentPage","disabled","recordsPerPage","totalRecords","onPageChange","TabsComponent","mobileFullWidth","activeTab","handleClick","items","labelCallback","activeColumns","hasError","headerColumns","isChartLoading","isLoading","testId","timestamp","updatedAt","toolTipId"],"sources":["../../../src/TopicalInstrumentsWidget/Main.tsx"],"sourcesContent":["import type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n getHeaderConfig,\n Pagination,\n Size,\n TableWidget,\n Tabs,\n useFetchCombinedDataRecords,\n useLayoutProvider,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useState } from 'react';\n\nimport { getInstrumentsChart } from '../gql/getInstrumentsChart';\nimport { getTopicalInstruments } from '../gql/getTopicalInstruments';\nimport {\n Division,\n type GetInstrumentsChartQuery,\n type GetInstrumentsChartQueryVariables,\n type GetTopicalInstrumentsQuery,\n type GetTopicalInstrumentsQueryVariables,\n TopicalSort,\n} from '../gql/types/graphql';\nimport {\n headerConfig,\n navigationConfigDefault,\n navigationConfigOC,\n} from './config';\nimport {\n DEFAULT_COLUMNS,\n DEFAULT_COUNT,\n DEFAULT_TOTAL_COUNT,\n INSTRUMENT_TOOLTIP_ID,\n} from './constant';\nimport type { MainProps, TopicalInstrumentsData } from './types';\nimport { getRecords } from './utils';\n\nexport const Main = ({\n sort,\n assetClass,\n division,\n count = DEFAULT_COUNT,\n columns = DEFAULT_COLUMNS,\n}: MainProps) => {\n const emptyRecords = Array(count).fill({});\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const { target, setQuery } = useLiveRatesQuery();\n\n const [pageNumber, setPageNumber] = useState(0);\n const [tiSort, setTiSort] = useState(sort || TopicalSort.Popular);\n const [records, setRecords] = useState<DataRecord[]>(emptyRecords);\n\n const isDesktop = size === Size.DESKTOP;\n const navigationConfig =\n division === Division.Oc ? navigationConfigOC : navigationConfigDefault;\n const isTool = sort === undefined;\n\n const { data, mainLoading, loading, error } = useFetchCombinedDataRecords<\n GetTopicalInstrumentsQuery,\n GetTopicalInstrumentsQueryVariables,\n GetInstrumentsChartQuery,\n GetInstrumentsChartQueryVariables,\n TopicalInstrumentsData\n >({\n mainQuery: getTopicalInstruments,\n mainVariables: {\n sort: tiSort,\n division,\n assetClass,\n count,\n offset: pageNumber * 10,\n },\n batchQuery: getInstrumentsChart,\n getBatchVariables: (mainData) => {\n const topicalInstruments = mainData?.topicalInstruments?.map(\n (i) => i.displayName\n );\n return topicalInstruments?.length\n ? { instruments: topicalInstruments, division }\n : undefined;\n },\n merge: (mainData, chartData) => getRecords(mainData, chartData),\n fetchPolicy: 'network-only',\n });\n\n useEffect(() => {\n if (!mainLoading && data) {\n setRecords(data.records ?? []);\n }\n }, [mainLoading, data]);\n\n useEffect(() => {\n if (records[0].instrument) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDesktop]);\n\n useEffect(() => {\n if (records[0].instrument && records[0].chart?.length === 0) {\n const instruments = records.map(({ instrument }) => instrument);\n setQuery({ instruments });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const handleTabClick = (e: React.SyntheticEvent<HTMLButtonElement>) => {\n setRecords(emptyRecords);\n setTiSort(e.currentTarget.value as TopicalSort);\n setPageNumber(0);\n };\n\n const handlePageChange = (num: number) => {\n setRecords(emptyRecords);\n setPageNumber(num);\n };\n\n const showError = !!error || data?.records?.length === 0;\n const isPaginationDisabled =\n mainLoading || (!!data?.totalCount && data?.totalCount <= count);\n\n return (\n <TableWidget\n PaginationComponent={\n isTool ? (\n <Pagination\n currentPage={pageNumber}\n disabled={isPaginationDisabled}\n recordsPerPage={count}\n totalRecords={data?.totalCount ?? DEFAULT_TOTAL_COUNT}\n onPageChange={handlePageChange}\n />\n ) : undefined\n }\n TabsComponent={\n isTool ? (\n <Tabs\n mobileFullWidth\n activeTab={tiSort}\n handleClick={handleTabClick}\n items={navigationConfig}\n labelCallback={lang}\n />\n ) : undefined\n }\n activeColumns={columns}\n count={count}\n hasError={showError}\n headerColumns={getHeaderConfig(columns, headerConfig)}\n isChartLoading={loading}\n isLoading={mainLoading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"topical-instruments-wrapper\"\n timestamp={data?.updatedAt}\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n />\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,37 +3,56 @@ import { TopicalSort } from '../gql/types/graphql';
3
3
  const headerConfig = {
4
4
  [DataRecordType.INSTRUMENT]: {
5
5
  displayName: 'instrument',
6
- additionalStyles: 'lw-text-left lw-min-w-[130px]'
6
+ additionalStyles: {
7
+ align: 'left',
8
+ minWidth: '130px'
9
+ }
7
10
  },
8
11
  [DataRecordType.SELL]: {
9
12
  displayName: 'sell',
10
- additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4'
13
+ additionalStyles: {
14
+ align: 'right',
15
+ minWidth: '75px',
16
+ paddingRight: true
17
+ }
11
18
  },
12
19
  [DataRecordType.BUY]: {
13
20
  displayName: 'buy',
14
- additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4'
21
+ additionalStyles: {
22
+ align: 'right',
23
+ minWidth: '75px',
24
+ paddingRight: true
25
+ }
15
26
  },
16
27
  [DataRecordType.DAILY_CHANGE]: {
17
28
  displayName: 'daily_percent_change',
18
- additionalStyles: 'lw-text-right lw-min-w-[80px]'
29
+ additionalStyles: {
30
+ align: 'right',
31
+ minWidth: '80px'
32
+ }
19
33
  },
20
34
  [DataRecordType.CHART]: {
21
35
  displayName: '24h_chart',
22
- additionalStyles: 'lw-text-center lw-min-w-[100px]'
36
+ additionalStyles: {
37
+ align: 'center',
38
+ minWidth: '100px'
39
+ }
23
40
  },
24
41
  [DataRecordType.SPREAD]: {
25
42
  displayName: 'spread',
26
- additionalStyles: 'lw-text-right lw-min-w-[50px]'
43
+ additionalStyles: {
44
+ align: 'right',
45
+ minWidth: '50px'
46
+ }
27
47
  },
28
48
  [DataRecordType.SENTIMENT]: {
29
49
  displayName: 'sentiment',
30
- additionalStyles: 'lw-text-center lw-min-w-[190px]'
50
+ additionalStyles: {
51
+ align: 'center',
52
+ minWidth: '190px'
53
+ }
31
54
  }
32
55
  };
33
- const getHeaderConfig = activeColumns => {
34
- const columns = [DataRecordType.INSTRUMENT, ...activeColumns].filter(item => item !== DataRecordType.LOW && item !== DataRecordType.HIGH);
35
- return columns.map(item => headerConfig[item]);
36
- };
37
56
  const navigationConfigDefault = [{
38
57
  id: TopicalSort.Popular,
39
58
  label: 'popular'
@@ -66,5 +85,5 @@ const navigationConfigOC = [{
66
85
  id: TopicalSort.Bearish,
67
86
  label: 'net_short'
68
87
  }];
69
- export { getHeaderConfig, headerConfig, navigationConfigDefault, navigationConfigOC };
88
+ export { headerConfig, navigationConfigDefault, navigationConfigOC };
70
89
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["DataRecordType","TopicalSort","headerConfig","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","SENTIMENT","getHeaderConfig","activeColumns","columns","filter","item","LOW","HIGH","map","navigationConfigDefault","id","Popular","label","Hot","Volatile","Bullish","Bearish","navigationConfigOC"],"sources":["../../../src/TopicalInstrumentsWidget/config.ts"],"sourcesContent":["import type { HeaderColumns } from '@oanda/labs-widget-common';\nimport { DataRecordType } from '@oanda/labs-widget-common';\n\nimport { TopicalSort } from '../gql/types/graphql';\n\ntype HeaderRecordType =\n | DataRecordType.INSTRUMENT\n | DataRecordType.SELL\n | DataRecordType.BUY\n | DataRecordType.DAILY_CHANGE\n | DataRecordType.CHART\n | DataRecordType.SPREAD\n | 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 [DataRecordType.SENTIMENT]: {\n displayName: 'sentiment',\n additionalStyles: 'lw-text-center lw-min-w-[190px]',\n },\n};\n\nconst getHeaderConfig = (activeColumns: DataRecordType[]): HeaderColumns[] => {\n const columns: HeaderRecordType[] = [\n DataRecordType.INSTRUMENT,\n ...activeColumns,\n ].filter(\n (item): item is HeaderRecordType =>\n item !== DataRecordType.LOW && item !== DataRecordType.HIGH\n );\n\n return columns.map((item) => headerConfig[item]);\n};\n\nconst navigationConfigDefault = [\n {\n id: TopicalSort.Popular,\n label: 'popular',\n },\n {\n id: TopicalSort.Hot,\n label: 'hot',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'bullish',\n },\n {\n id: TopicalSort.Bearish,\n label: 'bearish',\n },\n];\n\nconst navigationConfigOC = [\n {\n id: TopicalSort.Popular,\n label: 'most_traded',\n },\n {\n id: TopicalSort.Hot,\n label: 'high_volume',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'net_long',\n },\n {\n id: TopicalSort.Bearish,\n label: 'net_short',\n },\n];\n\nexport {\n getHeaderConfig,\n headerConfig,\n navigationConfigDefault,\n navigationConfigOC,\n};\n"],"mappings":"AACA,SAASA,cAAc,QAAQ,2BAA2B;AAE1D,SAASC,WAAW,QAAQ,sBAAsB;AAWlD,MAAMC,YAGL,GAAG;EACF,CAACF,cAAc,CAACG,UAAU,GAAG;IAC3BC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,cAAc,CAACM,IAAI,GAAG;IACrBF,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,cAAc,CAACO,GAAG,GAAG;IACpBH,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,cAAc,CAACQ,YAAY,GAAG;IAC7BJ,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,cAAc,CAACS,KAAK,GAAG;IACtBL,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,cAAc,CAACU,MAAM,GAAG;IACvBN,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,cAAc,CAACW,SAAS,GAAG;IAC1BP,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMO,eAAe,GAAIC,aAA+B,IAAsB;EAC5E,MAAMC,OAA2B,GAAG,CAClCd,cAAc,CAACG,UAAU,EACzB,GAAGU,aAAa,CACjB,CAACE,MAAM,CACLC,IAAI,IACHA,IAAI,KAAKhB,cAAc,CAACiB,GAAG,IAAID,IAAI,KAAKhB,cAAc,CAACkB,IAC3D,CAAC;EAED,OAAOJ,OAAO,CAACK,GAAG,CAAEH,IAAI,IAAKd,YAAY,CAACc,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,MAAMI,uBAAuB,GAAG,CAC9B;EACEC,EAAE,EAAEpB,WAAW,CAACqB,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEpB,WAAW,CAACuB,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEpB,WAAW,CAACwB,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEpB,WAAW,CAACyB,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEpB,WAAW,CAAC0B,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMK,kBAAkB,GAAG,CACzB;EACEP,EAAE,EAAEpB,WAAW,CAACqB,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEpB,WAAW,CAACuB,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEpB,WAAW,CAACwB,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEpB,WAAW,CAACyB,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEpB,WAAW,CAAC0B,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,SACEX,eAAe,EACfV,YAAY,EACZkB,uBAAuB,EACvBQ,kBAAkB","ignoreList":[]}
1
+ {"version":3,"file":"config.js","names":["DataRecordType","TopicalSort","headerConfig","INSTRUMENT","displayName","additionalStyles","align","minWidth","SELL","paddingRight","BUY","DAILY_CHANGE","CHART","SPREAD","SENTIMENT","navigationConfigDefault","id","Popular","label","Hot","Volatile","Bullish","Bearish","navigationConfigOC"],"sources":["../../../src/TopicalInstrumentsWidget/config.ts"],"sourcesContent":["import type { HeaderConfigType } from '@oanda/labs-widget-common';\nimport { DataRecordType } from '@oanda/labs-widget-common';\n\nimport { TopicalSort } from '../gql/types/graphql';\n\nconst headerConfig: HeaderConfigType = {\n [DataRecordType.INSTRUMENT]: {\n displayName: 'instrument',\n additionalStyles: {\n align: 'left',\n minWidth: '130px',\n },\n },\n [DataRecordType.SELL]: {\n displayName: 'sell',\n additionalStyles: {\n align: 'right',\n minWidth: '75px',\n paddingRight: true,\n },\n },\n [DataRecordType.BUY]: {\n displayName: 'buy',\n additionalStyles: {\n align: 'right',\n minWidth: '75px',\n paddingRight: true,\n },\n },\n [DataRecordType.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: {\n align: 'right',\n minWidth: '80px',\n },\n },\n [DataRecordType.CHART]: {\n displayName: '24h_chart',\n additionalStyles: {\n align: 'center',\n minWidth: '100px',\n },\n },\n [DataRecordType.SPREAD]: {\n displayName: 'spread',\n additionalStyles: {\n align: 'right',\n minWidth: '50px',\n },\n },\n [DataRecordType.SENTIMENT]: {\n displayName: 'sentiment',\n additionalStyles: {\n align: 'center',\n minWidth: '190px',\n },\n },\n};\n\nconst navigationConfigDefault = [\n {\n id: TopicalSort.Popular,\n label: 'popular',\n },\n {\n id: TopicalSort.Hot,\n label: 'hot',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'bullish',\n },\n {\n id: TopicalSort.Bearish,\n label: 'bearish',\n },\n];\n\nconst navigationConfigOC = [\n {\n id: TopicalSort.Popular,\n label: 'most_traded',\n },\n {\n id: TopicalSort.Hot,\n label: 'high_volume',\n },\n {\n id: TopicalSort.Volatile,\n label: 'volatile',\n },\n {\n id: TopicalSort.Bullish,\n label: 'net_long',\n },\n {\n id: TopicalSort.Bearish,\n label: 'net_short',\n },\n];\n\nexport { headerConfig, navigationConfigDefault, navigationConfigOC };\n"],"mappings":"AACA,SAASA,cAAc,QAAQ,2BAA2B;AAE1D,SAASC,WAAW,QAAQ,sBAAsB;AAElD,MAAMC,YAA8B,GAAG;EACrC,CAACF,cAAc,CAACG,UAAU,GAAG;IAC3BC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,MAAM;MACbC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACP,cAAc,CAACQ,IAAI,GAAG;IACrBJ,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,MAAM;MAChBE,YAAY,EAAE;IAChB;EACF,CAAC;EACD,CAACT,cAAc,CAACU,GAAG,GAAG;IACpBN,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE,MAAM;MAChBE,YAAY,EAAE;IAChB;EACF,CAAC;EACD,CAACT,cAAc,CAACW,YAAY,GAAG;IAC7BP,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACP,cAAc,CAACY,KAAK,GAAG;IACtBR,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACP,cAAc,CAACa,MAAM,GAAG;IACvBT,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,OAAO;MACdC,QAAQ,EAAE;IACZ;EACF,CAAC;EACD,CAACP,cAAc,CAACc,SAAS,GAAG;IAC1BV,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;MAChBC,KAAK,EAAE,QAAQ;MACfC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC;AAED,MAAMQ,uBAAuB,GAAG,CAC9B;EACEC,EAAE,EAAEf,WAAW,CAACgB,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACkB,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACmB,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACoB,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACqB,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,MAAMK,kBAAkB,GAAG,CACzB;EACEP,EAAE,EAAEf,WAAW,CAACgB,OAAO;EACvBC,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACkB,GAAG;EACnBD,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACmB,QAAQ;EACxBF,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACoB,OAAO;EACvBH,KAAK,EAAE;AACT,CAAC,EACD;EACEF,EAAE,EAAEf,WAAW,CAACqB,OAAO;EACvBJ,KAAK,EAAE;AACT,CAAC,CACF;AAED,SAAShB,YAAY,EAAEa,uBAAuB,EAAEQ,kBAAkB","ignoreList":[]}
@@ -1,12 +1,6 @@
1
- import type { HeaderColumns } from '@oanda/labs-widget-common';
2
- import { DataRecordType } from '@oanda/labs-widget-common';
1
+ import type { HeaderConfigType } from '@oanda/labs-widget-common';
3
2
  import { TopicalSort } from '../gql/types/graphql';
4
- type HeaderRecordType = DataRecordType.INSTRUMENT | DataRecordType.SELL | DataRecordType.BUY | DataRecordType.DAILY_CHANGE | DataRecordType.CHART | DataRecordType.SPREAD | DataRecordType.SENTIMENT;
5
- declare const headerConfig: Record<HeaderRecordType, {
6
- displayName: string;
7
- additionalStyles: string;
8
- }>;
9
- declare const getHeaderConfig: (activeColumns: DataRecordType[]) => HeaderColumns[];
3
+ declare const headerConfig: HeaderConfigType;
10
4
  declare const navigationConfigDefault: {
11
5
  id: TopicalSort;
12
6
  label: string;
@@ -15,4 +9,4 @@ declare const navigationConfigOC: {
15
9
  id: TopicalSort;
16
10
  label: string;
17
11
  }[];
18
- export { getHeaderConfig, headerConfig, navigationConfigDefault, navigationConfigOC, };
12
+ export { headerConfig, navigationConfigDefault, navigationConfigOC };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-topical-instruments-widget",
3
- "version": "1.0.206",
3
+ "version": "1.0.207",
4
4
  "description": "Labs Topical Instruments Widget",
5
5
  "main": "dist/main/index.js",
6
6
  "module": "dist/module/index.js",
@@ -12,7 +12,7 @@
12
12
  "author": "OANDA",
13
13
  "license": "UNLICENSED",
14
14
  "dependencies": {
15
- "@oanda/labs-widget-common": "^1.0.206",
15
+ "@oanda/labs-widget-common": "^1.0.207",
16
16
  "@oanda/mono-i18n": "10.0.1",
17
17
  "graphql": "16.8.1"
18
18
  },
@@ -20,5 +20,5 @@
20
20
  "@graphql-codegen/cli": "5.0.0",
21
21
  "@graphql-codegen/client-preset": "4.1.0"
22
22
  },
23
- "gitHead": "8e9089b3a4cc94275dd2223e7fed7aae070fe454"
23
+ "gitHead": "31dcda0050419adc006433a90226fc9f0441b551"
24
24
  }
@@ -1,5 +1,6 @@
1
1
  import type { DataRecord } from '@oanda/labs-widget-common';
2
2
  import {
3
+ getHeaderConfig,
3
4
  Pagination,
4
5
  Size,
5
6
  TableWidget,
@@ -22,7 +23,7 @@ import {
22
23
  TopicalSort,
23
24
  } from '../gql/types/graphql';
24
25
  import {
25
- getHeaderConfig,
26
+ headerConfig,
26
27
  navigationConfigDefault,
27
28
  navigationConfigOC,
28
29
  } from './config';
@@ -148,7 +149,7 @@ export const Main = ({
148
149
  activeColumns={columns}
149
150
  count={count}
150
151
  hasError={showError}
151
- headerColumns={getHeaderConfig(columns)}
152
+ headerColumns={getHeaderConfig(columns, headerConfig)}
152
153
  isChartLoading={loading}
153
154
  isLoading={mainLoading}
154
155
  pageNumber={pageNumber}
@@ -1,63 +1,62 @@
1
- import type { HeaderColumns } from '@oanda/labs-widget-common';
1
+ import type { HeaderConfigType } from '@oanda/labs-widget-common';
2
2
  import { DataRecordType } from '@oanda/labs-widget-common';
3
3
 
4
4
  import { TopicalSort } from '../gql/types/graphql';
5
5
 
6
- type HeaderRecordType =
7
- | DataRecordType.INSTRUMENT
8
- | DataRecordType.SELL
9
- | DataRecordType.BUY
10
- | DataRecordType.DAILY_CHANGE
11
- | DataRecordType.CHART
12
- | DataRecordType.SPREAD
13
- | DataRecordType.SENTIMENT;
14
-
15
- const headerConfig: Record<
16
- HeaderRecordType,
17
- { displayName: string; additionalStyles: string }
18
- > = {
6
+ const headerConfig: HeaderConfigType = {
19
7
  [DataRecordType.INSTRUMENT]: {
20
8
  displayName: 'instrument',
21
- additionalStyles: 'lw-text-left lw-min-w-[130px]',
9
+ additionalStyles: {
10
+ align: 'left',
11
+ minWidth: '130px',
12
+ },
22
13
  },
23
14
  [DataRecordType.SELL]: {
24
15
  displayName: 'sell',
25
- additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',
16
+ additionalStyles: {
17
+ align: 'right',
18
+ minWidth: '75px',
19
+ paddingRight: true,
20
+ },
26
21
  },
27
22
  [DataRecordType.BUY]: {
28
23
  displayName: 'buy',
29
- additionalStyles: 'lw-text-right lw-min-w-[75px] lw-pr-4',
24
+ additionalStyles: {
25
+ align: 'right',
26
+ minWidth: '75px',
27
+ paddingRight: true,
28
+ },
30
29
  },
31
30
  [DataRecordType.DAILY_CHANGE]: {
32
31
  displayName: 'daily_percent_change',
33
- additionalStyles: 'lw-text-right lw-min-w-[80px]',
32
+ additionalStyles: {
33
+ align: 'right',
34
+ minWidth: '80px',
35
+ },
34
36
  },
35
37
  [DataRecordType.CHART]: {
36
38
  displayName: '24h_chart',
37
- additionalStyles: 'lw-text-center lw-min-w-[100px]',
39
+ additionalStyles: {
40
+ align: 'center',
41
+ minWidth: '100px',
42
+ },
38
43
  },
39
44
  [DataRecordType.SPREAD]: {
40
45
  displayName: 'spread',
41
- additionalStyles: 'lw-text-right lw-min-w-[50px]',
46
+ additionalStyles: {
47
+ align: 'right',
48
+ minWidth: '50px',
49
+ },
42
50
  },
43
51
  [DataRecordType.SENTIMENT]: {
44
52
  displayName: 'sentiment',
45
- additionalStyles: 'lw-text-center lw-min-w-[190px]',
53
+ additionalStyles: {
54
+ align: 'center',
55
+ minWidth: '190px',
56
+ },
46
57
  },
47
58
  };
48
59
 
49
- const getHeaderConfig = (activeColumns: DataRecordType[]): HeaderColumns[] => {
50
- const columns: HeaderRecordType[] = [
51
- DataRecordType.INSTRUMENT,
52
- ...activeColumns,
53
- ].filter(
54
- (item): item is HeaderRecordType =>
55
- item !== DataRecordType.LOW && item !== DataRecordType.HIGH
56
- );
57
-
58
- return columns.map((item) => headerConfig[item]);
59
- };
60
-
61
60
  const navigationConfigDefault = [
62
61
  {
63
62
  id: TopicalSort.Popular,
@@ -104,9 +103,4 @@ const navigationConfigOC = [
104
103
  },
105
104
  ];
106
105
 
107
- export {
108
- getHeaderConfig,
109
- headerConfig,
110
- navigationConfigDefault,
111
- navigationConfigOC,
112
- };
106
+ export { headerConfig, navigationConfigDefault, navigationConfigOC };