@oanda/labs-live-rates-table-widget 1.0.18 → 1.0.20

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,170 @@
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.20 (2024-08-29)
7
+
8
+
9
+
10
+ ## 1.0.153 (2024-08-23)
11
+
12
+
13
+
14
+ ## 1.0.152 (2024-08-23)
15
+
16
+
17
+
18
+ ## 1.0.151 (2024-08-20)
19
+
20
+
21
+
22
+ ## 1.0.150 (2024-08-19)
23
+
24
+
25
+
26
+ ## 1.0.149 (2024-08-07)
27
+
28
+
29
+
30
+ ## 1.0.148 (2024-08-01)
31
+
32
+
33
+
34
+ ## 1.0.147 (2024-08-01)
35
+
36
+
37
+
38
+ ## 1.0.146 (2024-07-26)
39
+
40
+
41
+
42
+ ## 1.0.145 (2024-07-25)
43
+
44
+
45
+
46
+ ## 1.0.144 (2024-07-22)
47
+
48
+
49
+
50
+ ## 1.0.143 (2024-07-19)
51
+
52
+
53
+
54
+ ## 1.0.142 (2024-07-16)
55
+
56
+
57
+
58
+ ## 1.0.141 (2024-07-16)
59
+
60
+
61
+
62
+ ## 1.0.140 (2024-07-12)
63
+
64
+
65
+
66
+ ## 1.0.139 (2024-07-12)
67
+
68
+
69
+
70
+ ## 1.0.138 (2024-07-10)
71
+
72
+
73
+
74
+ ## 1.0.137 (2024-07-05)
75
+
76
+
77
+
78
+ ## 1.0.136 (2024-07-03)
79
+
80
+
81
+
82
+ ## 1.0.135 (2024-07-03)
83
+
84
+ **Note:** Version bump only for package @oanda/labs-live-rates-table-widget
85
+
86
+
87
+
88
+
89
+
90
+ ## 1.0.19 (2024-08-23)
91
+
92
+
93
+
94
+ ## 1.0.152 (2024-08-23)
95
+
96
+
97
+
98
+ ## 1.0.151 (2024-08-20)
99
+
100
+
101
+
102
+ ## 1.0.150 (2024-08-19)
103
+
104
+
105
+
106
+ ## 1.0.149 (2024-08-07)
107
+
108
+
109
+
110
+ ## 1.0.148 (2024-08-01)
111
+
112
+
113
+
114
+ ## 1.0.147 (2024-08-01)
115
+
116
+
117
+
118
+ ## 1.0.146 (2024-07-26)
119
+
120
+
121
+
122
+ ## 1.0.145 (2024-07-25)
123
+
124
+
125
+
126
+ ## 1.0.144 (2024-07-22)
127
+
128
+
129
+
130
+ ## 1.0.143 (2024-07-19)
131
+
132
+
133
+
134
+ ## 1.0.142 (2024-07-16)
135
+
136
+
137
+
138
+ ## 1.0.141 (2024-07-16)
139
+
140
+
141
+
142
+ ## 1.0.140 (2024-07-12)
143
+
144
+
145
+
146
+ ## 1.0.139 (2024-07-12)
147
+
148
+
149
+
150
+ ## 1.0.138 (2024-07-10)
151
+
152
+
153
+
154
+ ## 1.0.137 (2024-07-05)
155
+
156
+
157
+
158
+ ## 1.0.136 (2024-07-03)
159
+
160
+
161
+
162
+ ## 1.0.135 (2024-07-03)
163
+
164
+ **Note:** Version bump only for package @oanda/labs-live-rates-table-widget
165
+
166
+
167
+
168
+
169
+
6
170
  ## 1.0.18 (2024-08-23)
7
171
 
8
172
 
@@ -35,10 +35,10 @@ const useRecords = (record, target) => {
35
35
  displayName: record.displayName,
36
36
  instrument: record.instrument,
37
37
  sentiment: record.sentiment,
38
- buy: update?.bid,
39
- sell: update?.ask,
40
- sellPriceMovement: update?.askPriceMovement,
41
- buyPriceMovement: update?.bidPriceMovement,
38
+ buy: update?.ask,
39
+ sell: update?.bid,
40
+ sellPriceMovement: update?.bidPriceMovement,
41
+ buyPriceMovement: update?.askPriceMovement,
42
42
  dailyPercentChange: update?.dailyPercentChangeFromOpen,
43
43
  spread: update?.spread,
44
44
  displayPrecision: update?.displayPrecision
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_react","require","_labsWidgetCommon","_usehooksTs","_types","_config","getRecords","data","mapInstrumentNames","map","item","instrument","name","displayName","exports","getHeaderConfig","activeColumns","ColumnsNames","INSTRUMENT","headerConfig","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","sentiment","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","buy","bid","sell","ask","sellPriceMovement","askPriceMovement","buyPriceMovement","bidPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","ref"],"sources":["../../../src/LiveRatesTableWidget/utils.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { HeaderColumns, LiveRatesErrorMessage, useLiveRatesMessage } from '@oanda/labs-widget-common';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { ColumnsNames, DataRecord, EmptyRecord } from './types';\nimport { headerConfig } from './config';\nimport { ValidateInstrumentsQuery } from '../gql/types/graphql';\n\nconst getRecords = (data: ValidateInstrumentsQuery) => data?.mapInstrumentNames?.map((item) => ({\n instrument: item?.name || '',\n displayName: item?.displayName || '',\n}));\n\n// eslint-disable-next-line max-len\nconst getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] => [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);\n\nconst useRecords = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null,\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target,\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n buy: update?.bid,\n sell: update?.ask,\n sellPriceMovement: update?.askPriceMovement,\n buyPriceMovement: update?.bidPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n\nexport {\n getRecords,\n getHeaderConfig,\n useRecords,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAGA,MAAMK,UAAU,GAAIC,IAA8B,IAAKA,IAAI,EAAEC,kBAAkB,EAAEC,GAAG,CAAEC,IAAI,KAAM;EAC9FC,UAAU,EAAED,IAAI,EAAEE,IAAI,IAAI,EAAE;EAC5BC,WAAW,EAAEH,IAAI,EAAEG,WAAW,IAAI;AACpC,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAR,UAAA,GAAAA,UAAA;AAGJ,MAAMS,eAAe,GAAIC,aAA6B,IAAsB,CAACC,mBAAY,CAACC,UAAU,EAAE,GAAGF,aAAa,CAAC,CAACP,GAAG,CAAEC,IAAI,IAAKS,oBAAY,CAACT,IAAI,CAAC,CAAC;AAACI,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAE1J,MAAMK,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DZ,WAAW,EAAEQ,MAAM,CAACR,WAAW;IAC/BF,UAAU,EAAEU,MAAM,CAACV,UAAU;IAC7Be,SAAS,EAAEL,MAAM,CAACK;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAMI,KAAK,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EACvC,MAAMC,SAAS,GAAG,CAAC,CAACF,KAAK,EAAEG,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEN,KAAK,EAAEO;EAAe,CAAC,GAAG,IAAAC,qCAAmB,EAC3Dd,MAAM,CAACV,UAAU,EACjBW,MACF,CAAC;EAED,IAAAc,gBAAS,EAAC,MAAM;IACd,IAAIL,SAAS,EAAE;MACbP,gBAAgB,CAAC;QACfX,WAAW,EAAEQ,MAAM,CAACR,WAAW;QAC/BF,UAAU,EAAEU,MAAM,CAACV,UAAU;QAC7Be,SAAS,EAAEL,MAAM,CAACK,SAAS;QAC3BW,GAAG,EAAEJ,MAAM,EAAEK,GAAG;QAChBC,IAAI,EAAEN,MAAM,EAAEO,GAAG;QACjBC,iBAAiB,EAAER,MAAM,EAAES,gBAAgB;QAC3CC,gBAAgB,EAAEV,MAAM,EAAEW,gBAAgB;QAC1CC,kBAAkB,EAAEZ,MAAM,EAAEa,0BAA0B;QACtDC,MAAM,EAAEd,MAAM,EAAEc,MAAM;QACtBC,gBAAgB,EAAEf,MAAM,EAAEe;MAC5B,CAAC,CAAC;MACFpB,QAAQ,CAACM,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEZ,MAAM,EAAEU,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLX,aAAa;IACbI,KAAK;IACLsB,GAAG,EAAEpB,KAAK,CAACoB;EACb,CAAC;AACH,CAAC;AAACnC,OAAA,CAAAM,UAAA,GAAAA,UAAA","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["_react","require","_labsWidgetCommon","_usehooksTs","_types","_config","getRecords","data","mapInstrumentNames","map","item","instrument","name","displayName","exports","getHeaderConfig","activeColumns","ColumnsNames","INSTRUMENT","headerConfig","useRecords","record","target","updatedRecord","setUpdatedRecord","useState","sentiment","error","setError","entry","useIntersectionObserver","isVisible","isIntersecting","update","liveRatesError","useLiveRatesMessage","useEffect","buy","ask","sell","bid","sellPriceMovement","bidPriceMovement","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","ref"],"sources":["../../../src/LiveRatesTableWidget/utils.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { HeaderColumns, LiveRatesErrorMessage, useLiveRatesMessage } from '@oanda/labs-widget-common';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { ColumnsNames, DataRecord, EmptyRecord } from './types';\nimport { headerConfig } from './config';\nimport { ValidateInstrumentsQuery } from '../gql/types/graphql';\n\nconst getRecords = (data: ValidateInstrumentsQuery) => data?.mapInstrumentNames?.map((item) => ({\n instrument: item?.name || '',\n displayName: item?.displayName || '',\n}));\n\n// eslint-disable-next-line max-len\nconst getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] => [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);\n\nconst useRecords = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null,\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target,\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n buy: update?.ask,\n sell: update?.bid,\n sellPriceMovement: update?.bidPriceMovement,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n\nexport {\n getRecords,\n getHeaderConfig,\n useRecords,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAGA,MAAMK,UAAU,GAAIC,IAA8B,IAAKA,IAAI,EAAEC,kBAAkB,EAAEC,GAAG,CAAEC,IAAI,KAAM;EAC9FC,UAAU,EAAED,IAAI,EAAEE,IAAI,IAAI,EAAE;EAC5BC,WAAW,EAAEH,IAAI,EAAEG,WAAW,IAAI;AACpC,CAAC,CAAC,CAAC;AAACC,OAAA,CAAAR,UAAA,GAAAA,UAAA;AAGJ,MAAMS,eAAe,GAAIC,aAA6B,IAAsB,CAACC,mBAAY,CAACC,UAAU,EAAE,GAAGF,aAAa,CAAC,CAACP,GAAG,CAAEC,IAAI,IAAKS,oBAAY,CAACT,IAAI,CAAC,CAAC;AAACI,OAAA,CAAAC,eAAA,GAAAA,eAAA;AAE1J,MAAMK,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAa;IAC7DZ,WAAW,EAAEQ,MAAM,CAACR,WAAW;IAC/BF,UAAU,EAAEU,MAAM,CAACV,UAAU;IAC7Be,SAAS,EAAEL,MAAM,CAACK;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAH,eAAQ,EAA+B,IAAI,CAAC;EACtE,MAAMI,KAAK,GAAG,IAAAC,mCAAuB,EAAC,CAAC;EACvC,MAAMC,SAAS,GAAG,CAAC,CAACF,KAAK,EAAEG,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEN,KAAK,EAAEO;EAAe,CAAC,GAAG,IAAAC,qCAAmB,EAC3Dd,MAAM,CAACV,UAAU,EACjBW,MACF,CAAC;EAED,IAAAc,gBAAS,EAAC,MAAM;IACd,IAAIL,SAAS,EAAE;MACbP,gBAAgB,CAAC;QACfX,WAAW,EAAEQ,MAAM,CAACR,WAAW;QAC/BF,UAAU,EAAEU,MAAM,CAACV,UAAU;QAC7Be,SAAS,EAAEL,MAAM,CAACK,SAAS;QAC3BW,GAAG,EAAEJ,MAAM,EAAEK,GAAG;QAChBC,IAAI,EAAEN,MAAM,EAAEO,GAAG;QACjBC,iBAAiB,EAAER,MAAM,EAAES,gBAAgB;QAC3CC,gBAAgB,EAAEV,MAAM,EAAEW,gBAAgB;QAC1CC,kBAAkB,EAAEZ,MAAM,EAAEa,0BAA0B;QACtDC,MAAM,EAAEd,MAAM,EAAEc,MAAM;QACtBC,gBAAgB,EAAEf,MAAM,EAAEe;MAC5B,CAAC,CAAC;MACFpB,QAAQ,CAACM,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEZ,MAAM,EAAEU,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLX,aAAa;IACbI,KAAK;IACLsB,GAAG,EAAEpB,KAAK,CAACoB;EACb,CAAC;AACH,CAAC;AAACnC,OAAA,CAAAM,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -27,10 +27,10 @@ const useRecords = (record, target) => {
27
27
  displayName: record.displayName,
28
28
  instrument: record.instrument,
29
29
  sentiment: record.sentiment,
30
- buy: update?.bid,
31
- sell: update?.ask,
32
- sellPriceMovement: update?.askPriceMovement,
33
- buyPriceMovement: update?.bidPriceMovement,
30
+ buy: update?.ask,
31
+ sell: update?.bid,
32
+ sellPriceMovement: update?.bidPriceMovement,
33
+ buyPriceMovement: update?.askPriceMovement,
34
34
  dailyPercentChange: update?.dailyPercentChangeFromOpen,
35
35
  spread: update?.spread,
36
36
  displayPrecision: update?.displayPrecision
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["useState","useEffect","useLiveRatesMessage","useIntersectionObserver","ColumnsNames","headerConfig","getRecords","data","mapInstrumentNames","map","item","instrument","name","displayName","getHeaderConfig","activeColumns","INSTRUMENT","useRecords","record","target","updatedRecord","setUpdatedRecord","sentiment","error","setError","entry","isVisible","isIntersecting","update","liveRatesError","buy","bid","sell","ask","sellPriceMovement","askPriceMovement","buyPriceMovement","bidPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","ref"],"sources":["../../../src/LiveRatesTableWidget/utils.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { HeaderColumns, LiveRatesErrorMessage, useLiveRatesMessage } from '@oanda/labs-widget-common';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { ColumnsNames, DataRecord, EmptyRecord } from './types';\nimport { headerConfig } from './config';\nimport { ValidateInstrumentsQuery } from '../gql/types/graphql';\n\nconst getRecords = (data: ValidateInstrumentsQuery) => data?.mapInstrumentNames?.map((item) => ({\n instrument: item?.name || '',\n displayName: item?.displayName || '',\n}));\n\n// eslint-disable-next-line max-len\nconst getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] => [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);\n\nconst useRecords = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null,\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target,\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n buy: update?.bid,\n sell: update?.ask,\n sellPriceMovement: update?.askPriceMovement,\n buyPriceMovement: update?.bidPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n\nexport {\n getRecords,\n getHeaderConfig,\n useRecords,\n};\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,SAA+CC,mBAAmB,QAAQ,2BAA2B;AACrG,SAASC,uBAAuB,QAAQ,aAAa;AACrD,SAASC,YAAY,QAAiC,SAAS;AAC/D,SAASC,YAAY,QAAQ,UAAU;AAGvC,MAAMC,UAAU,GAAIC,IAA8B,IAAKA,IAAI,EAAEC,kBAAkB,EAAEC,GAAG,CAAEC,IAAI,KAAM;EAC9FC,UAAU,EAAED,IAAI,EAAEE,IAAI,IAAI,EAAE;EAC5BC,WAAW,EAAEH,IAAI,EAAEG,WAAW,IAAI;AACpC,CAAC,CAAC,CAAC;AAGH,MAAMC,eAAe,GAAIC,aAA6B,IAAsB,CAACX,YAAY,CAACY,UAAU,EAAE,GAAGD,aAAa,CAAC,CAACN,GAAG,CAAEC,IAAI,IAAKL,YAAY,CAACK,IAAI,CAAC,CAAC;AAEzJ,MAAMO,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGrB,QAAQ,CAAa;IAC7Da,WAAW,EAAEK,MAAM,CAACL,WAAW;IAC/BF,UAAU,EAAEO,MAAM,CAACP,UAAU;IAC7BW,SAAS,EAAEJ,MAAM,CAACI;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGxB,QAAQ,CAA+B,IAAI,CAAC;EACtE,MAAMyB,KAAK,GAAGtB,uBAAuB,CAAC,CAAC;EACvC,MAAMuB,SAAS,GAAG,CAAC,CAACD,KAAK,EAAEE,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEL,KAAK,EAAEM;EAAe,CAAC,GAAG3B,mBAAmB,CAC3DgB,MAAM,CAACP,UAAU,EACjBQ,MACF,CAAC;EAEDlB,SAAS,CAAC,MAAM;IACd,IAAIyB,SAAS,EAAE;MACbL,gBAAgB,CAAC;QACfR,WAAW,EAAEK,MAAM,CAACL,WAAW;QAC/BF,UAAU,EAAEO,MAAM,CAACP,UAAU;QAC7BW,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BQ,GAAG,EAAEF,MAAM,EAAEG,GAAG;QAChBC,IAAI,EAAEJ,MAAM,EAAEK,GAAG;QACjBC,iBAAiB,EAAEN,MAAM,EAAEO,gBAAgB;QAC3CC,gBAAgB,EAAER,MAAM,EAAES,gBAAgB;QAC1CC,kBAAkB,EAAEV,MAAM,EAAEW,0BAA0B;QACtDC,MAAM,EAAEZ,MAAM,EAAEY,MAAM;QACtBC,gBAAgB,EAAEb,MAAM,EAAEa;MAC5B,CAAC,CAAC;MACFjB,QAAQ,CAACK,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEV,MAAM,EAAEQ,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLT,aAAa;IACbG,KAAK;IACLmB,GAAG,EAAEjB,KAAK,CAACiB;EACb,CAAC;AACH,CAAC;AAED,SACEpC,UAAU,EACVQ,eAAe,EACfG,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["useState","useEffect","useLiveRatesMessage","useIntersectionObserver","ColumnsNames","headerConfig","getRecords","data","mapInstrumentNames","map","item","instrument","name","displayName","getHeaderConfig","activeColumns","INSTRUMENT","useRecords","record","target","updatedRecord","setUpdatedRecord","sentiment","error","setError","entry","isVisible","isIntersecting","update","liveRatesError","buy","ask","sell","bid","sellPriceMovement","bidPriceMovement","buyPriceMovement","askPriceMovement","dailyPercentChange","dailyPercentChangeFromOpen","spread","displayPrecision","ref"],"sources":["../../../src/LiveRatesTableWidget/utils.ts"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { HeaderColumns, LiveRatesErrorMessage, useLiveRatesMessage } from '@oanda/labs-widget-common';\nimport { useIntersectionObserver } from 'usehooks-ts';\nimport { ColumnsNames, DataRecord, EmptyRecord } from './types';\nimport { headerConfig } from './config';\nimport { ValidateInstrumentsQuery } from '../gql/types/graphql';\n\nconst getRecords = (data: ValidateInstrumentsQuery) => data?.mapInstrumentNames?.map((item) => ({\n instrument: item?.name || '',\n displayName: item?.displayName || '',\n}));\n\n// eslint-disable-next-line max-len\nconst getHeaderConfig = (activeColumns: ColumnsNames[]): HeaderColumns[] => [ColumnsNames.INSTRUMENT, ...activeColumns].map((item) => headerConfig[item]);\n\nconst useRecords = (\n record: DataRecord | EmptyRecord,\n target: EventTarget | null,\n) => {\n const [updatedRecord, setUpdatedRecord] = useState<DataRecord>({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n });\n const [error, setError] = useState<LiveRatesErrorMessage | null>(null);\n const entry = useIntersectionObserver();\n const isVisible = !!entry?.isIntersecting;\n\n const { update, error: liveRatesError } = useLiveRatesMessage(\n record.instrument,\n target,\n );\n\n useEffect(() => {\n if (isVisible) {\n setUpdatedRecord({\n displayName: record.displayName,\n instrument: record.instrument,\n sentiment: record.sentiment,\n buy: update?.ask,\n sell: update?.bid,\n sellPriceMovement: update?.bidPriceMovement,\n buyPriceMovement: update?.askPriceMovement,\n dailyPercentChange: update?.dailyPercentChangeFromOpen,\n spread: update?.spread,\n displayPrecision: update?.displayPrecision,\n });\n setError(liveRatesError);\n }\n }, [update, record, isVisible, liveRatesError]);\n\n return {\n updatedRecord,\n error,\n ref: entry.ref,\n };\n};\n\nexport {\n getRecords,\n getHeaderConfig,\n useRecords,\n};\n"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAC3C,SAA+CC,mBAAmB,QAAQ,2BAA2B;AACrG,SAASC,uBAAuB,QAAQ,aAAa;AACrD,SAASC,YAAY,QAAiC,SAAS;AAC/D,SAASC,YAAY,QAAQ,UAAU;AAGvC,MAAMC,UAAU,GAAIC,IAA8B,IAAKA,IAAI,EAAEC,kBAAkB,EAAEC,GAAG,CAAEC,IAAI,KAAM;EAC9FC,UAAU,EAAED,IAAI,EAAEE,IAAI,IAAI,EAAE;EAC5BC,WAAW,EAAEH,IAAI,EAAEG,WAAW,IAAI;AACpC,CAAC,CAAC,CAAC;AAGH,MAAMC,eAAe,GAAIC,aAA6B,IAAsB,CAACX,YAAY,CAACY,UAAU,EAAE,GAAGD,aAAa,CAAC,CAACN,GAAG,CAAEC,IAAI,IAAKL,YAAY,CAACK,IAAI,CAAC,CAAC;AAEzJ,MAAMO,UAAU,GAAGA,CACjBC,MAAgC,EAChCC,MAA0B,KACvB;EACH,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAGrB,QAAQ,CAAa;IAC7Da,WAAW,EAAEK,MAAM,CAACL,WAAW;IAC/BF,UAAU,EAAEO,MAAM,CAACP,UAAU;IAC7BW,SAAS,EAAEJ,MAAM,CAACI;EACpB,CAAC,CAAC;EACF,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGxB,QAAQ,CAA+B,IAAI,CAAC;EACtE,MAAMyB,KAAK,GAAGtB,uBAAuB,CAAC,CAAC;EACvC,MAAMuB,SAAS,GAAG,CAAC,CAACD,KAAK,EAAEE,cAAc;EAEzC,MAAM;IAAEC,MAAM;IAAEL,KAAK,EAAEM;EAAe,CAAC,GAAG3B,mBAAmB,CAC3DgB,MAAM,CAACP,UAAU,EACjBQ,MACF,CAAC;EAEDlB,SAAS,CAAC,MAAM;IACd,IAAIyB,SAAS,EAAE;MACbL,gBAAgB,CAAC;QACfR,WAAW,EAAEK,MAAM,CAACL,WAAW;QAC/BF,UAAU,EAAEO,MAAM,CAACP,UAAU;QAC7BW,SAAS,EAAEJ,MAAM,CAACI,SAAS;QAC3BQ,GAAG,EAAEF,MAAM,EAAEG,GAAG;QAChBC,IAAI,EAAEJ,MAAM,EAAEK,GAAG;QACjBC,iBAAiB,EAAEN,MAAM,EAAEO,gBAAgB;QAC3CC,gBAAgB,EAAER,MAAM,EAAES,gBAAgB;QAC1CC,kBAAkB,EAAEV,MAAM,EAAEW,0BAA0B;QACtDC,MAAM,EAAEZ,MAAM,EAAEY,MAAM;QACtBC,gBAAgB,EAAEb,MAAM,EAAEa;MAC5B,CAAC,CAAC;MACFjB,QAAQ,CAACK,cAAc,CAAC;IAC1B;EACF,CAAC,EAAE,CAACD,MAAM,EAAEV,MAAM,EAAEQ,SAAS,EAAEG,cAAc,CAAC,CAAC;EAE/C,OAAO;IACLT,aAAa;IACbG,KAAK;IACLmB,GAAG,EAAEjB,KAAK,CAACiB;EACb,CAAC;AACH,CAAC;AAED,SACEpC,UAAU,EACVQ,eAAe,EACfG,UAAU","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-live-rates-table-widget",
3
- "version": "1.0.18",
3
+ "version": "1.0.20",
4
4
  "description": "Labs Live Rates Table 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.152",
15
+ "@oanda/labs-widget-common": "^1.0.154",
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": "d98506afc65c02ba755debfd2a9ba6d6e14279f5"
23
+ "gitHead": "c243cddcf6c1cb5f70403bae1c8c927356f33a78"
24
24
  }
@@ -37,10 +37,10 @@ const useRecords = (
37
37
  displayName: record.displayName,
38
38
  instrument: record.instrument,
39
39
  sentiment: record.sentiment,
40
- buy: update?.bid,
41
- sell: update?.ask,
42
- sellPriceMovement: update?.askPriceMovement,
43
- buyPriceMovement: update?.bidPriceMovement,
40
+ buy: update?.ask,
41
+ sell: update?.bid,
42
+ sellPriceMovement: update?.bidPriceMovement,
43
+ buyPriceMovement: update?.askPriceMovement,
44
44
  dailyPercentChange: update?.dailyPercentChangeFromOpen,
45
45
  spread: update?.spread,
46
46
  displayPrecision: update?.displayPrecision,