@oanda/labs-live-rates-table-widget 1.0.25 → 1.0.27

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,226 @@
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.27 (2024-09-11)
7
+
8
+
9
+
10
+ ## 1.0.160 (2024-09-10)
11
+
12
+
13
+
14
+ ## 1.0.159 (2024-09-09)
15
+
16
+
17
+
18
+ ## 1.0.158 (2024-09-04)
19
+
20
+
21
+
22
+ ## 1.0.157 (2024-09-04)
23
+
24
+
25
+
26
+ ## 1.0.156 (2024-09-02)
27
+
28
+
29
+
30
+ ## 1.0.155 (2024-08-29)
31
+
32
+
33
+
34
+ ## 1.0.154 (2024-08-29)
35
+
36
+
37
+
38
+ ## 1.0.153 (2024-08-23)
39
+
40
+
41
+
42
+ ## 1.0.152 (2024-08-23)
43
+
44
+
45
+
46
+ ## 1.0.151 (2024-08-20)
47
+
48
+
49
+
50
+ ## 1.0.150 (2024-08-19)
51
+
52
+
53
+
54
+ ## 1.0.149 (2024-08-07)
55
+
56
+
57
+
58
+ ## 1.0.148 (2024-08-01)
59
+
60
+
61
+
62
+ ## 1.0.147 (2024-08-01)
63
+
64
+
65
+
66
+ ## 1.0.146 (2024-07-26)
67
+
68
+
69
+
70
+ ## 1.0.145 (2024-07-25)
71
+
72
+
73
+
74
+ ## 1.0.144 (2024-07-22)
75
+
76
+
77
+
78
+ ## 1.0.143 (2024-07-19)
79
+
80
+
81
+
82
+ ## 1.0.142 (2024-07-16)
83
+
84
+
85
+
86
+ ## 1.0.141 (2024-07-16)
87
+
88
+
89
+
90
+ ## 1.0.140 (2024-07-12)
91
+
92
+
93
+
94
+ ## 1.0.139 (2024-07-12)
95
+
96
+
97
+
98
+ ## 1.0.138 (2024-07-10)
99
+
100
+
101
+
102
+ ## 1.0.137 (2024-07-05)
103
+
104
+
105
+
106
+ ## 1.0.136 (2024-07-03)
107
+
108
+
109
+
110
+ ## 1.0.135 (2024-07-03)
111
+
112
+ **Note:** Version bump only for package @oanda/labs-live-rates-table-widget
113
+
114
+
115
+
116
+
117
+
118
+ ## 1.0.26 (2024-09-10)
119
+
120
+
121
+
122
+ ## 1.0.159 (2024-09-09)
123
+
124
+
125
+
126
+ ## 1.0.158 (2024-09-04)
127
+
128
+
129
+
130
+ ## 1.0.157 (2024-09-04)
131
+
132
+
133
+
134
+ ## 1.0.156 (2024-09-02)
135
+
136
+
137
+
138
+ ## 1.0.155 (2024-08-29)
139
+
140
+
141
+
142
+ ## 1.0.154 (2024-08-29)
143
+
144
+
145
+
146
+ ## 1.0.153 (2024-08-23)
147
+
148
+
149
+
150
+ ## 1.0.152 (2024-08-23)
151
+
152
+
153
+
154
+ ## 1.0.151 (2024-08-20)
155
+
156
+
157
+
158
+ ## 1.0.150 (2024-08-19)
159
+
160
+
161
+
162
+ ## 1.0.149 (2024-08-07)
163
+
164
+
165
+
166
+ ## 1.0.148 (2024-08-01)
167
+
168
+
169
+
170
+ ## 1.0.147 (2024-08-01)
171
+
172
+
173
+
174
+ ## 1.0.146 (2024-07-26)
175
+
176
+
177
+
178
+ ## 1.0.145 (2024-07-25)
179
+
180
+
181
+
182
+ ## 1.0.144 (2024-07-22)
183
+
184
+
185
+
186
+ ## 1.0.143 (2024-07-19)
187
+
188
+
189
+
190
+ ## 1.0.142 (2024-07-16)
191
+
192
+
193
+
194
+ ## 1.0.141 (2024-07-16)
195
+
196
+
197
+
198
+ ## 1.0.140 (2024-07-12)
199
+
200
+
201
+
202
+ ## 1.0.139 (2024-07-12)
203
+
204
+
205
+
206
+ ## 1.0.138 (2024-07-10)
207
+
208
+
209
+
210
+ ## 1.0.137 (2024-07-05)
211
+
212
+
213
+
214
+ ## 1.0.136 (2024-07-03)
215
+
216
+
217
+
218
+ ## 1.0.135 (2024-07-03)
219
+
220
+ **Note:** Version bump only for package @oanda/labs-live-rates-table-widget
221
+
222
+
223
+
224
+
225
+
6
226
  ## 1.0.25 (2024-09-09)
7
227
 
8
228
 
@@ -11,6 +11,7 @@ var _labsWidgetCommon = require("@oanda/labs-widget-common");
11
11
  var _translations = require("../translations");
12
12
  var _Main = require("./Main");
13
13
  var _types = require("./types");
14
+ var _config = require("./config");
14
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
16
  const LiveRatesTableWidget = _ref => {
16
17
  let {
@@ -22,7 +23,8 @@ const LiveRatesTableWidget = _ref => {
22
23
  locale,
23
24
  theme,
24
25
  isParamError,
25
- removePadding
26
+ removePadding,
27
+ view
26
28
  } = _ref;
27
29
  const client = new _client.ApolloClient({
28
30
  uri: graphqlUrl,
@@ -32,7 +34,8 @@ const LiveRatesTableWidget = _ref => {
32
34
  const dataSource = divisionCode === _types.Division.Ogm ? 'MT5' : 'V20';
33
35
  return _react.default.createElement(_labsWidgetCommon.ThemeProvider, {
34
36
  removePadding: removePadding,
35
- theme: theme
37
+ theme: theme,
38
+ size: view && _config.sizeConfig[view]
36
39
  }, _react.default.createElement(_monoI18n.LocaleProvider, {
37
40
  locale: (0, _labsWidgetCommon.getLocale)(locale),
38
41
  translations: _translations.translations
@@ -1 +1 @@
1
- {"version":3,"file":"LiveRatesTableWidget.js","names":["_react","_interopRequireDefault","require","_client","_monoI18n","_labsWidgetCommon","_translations","_Main","_types","e","__esModule","default","LiveRatesTableWidget","_ref","graphqlUrl","liveRatesUrl","instruments","division","columns","locale","theme","isParamError","removePadding","client","ApolloClient","uri","cache","InMemoryCache","divisionCode","Division","Opt","Ogm","dataSource","createElement","ThemeProvider","LocaleProvider","getLocale","translations","LiveRatesProvider","url","options","ApolloProvider","className","ChartError","Main","exports"],"sources":["../../../src/LiveRatesTableWidget/LiveRatesTableWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport {\n ChartError, LiveRatesProvider, ThemeProvider, getLocale,\n} from '@oanda/labs-widget-common';\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { Division, LiveRatesTableConfig } from './types';\n\nconst LiveRatesTableWidget = ({\n graphqlUrl,\n liveRatesUrl,\n instruments,\n division,\n columns,\n locale,\n theme,\n isParamError,\n removePadding,\n}: LiveRatesTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const divisionCode = division === Division.Opt ? Division.Ogm : division;\n const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';\n\n return (\n <ThemeProvider removePadding={removePadding} theme={theme}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <LiveRatesProvider\n url={liveRatesUrl}\n options={{ divisionCode, dataSource }}\n >\n <ApolloProvider client={client}>\n {isParamError ? (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )\n : (\n <Main\n instruments={instruments}\n division={division}\n columns={columns}\n />\n )}\n </ApolloProvider>\n </LiveRatesProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { LiveRatesTableWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAGA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAAyD,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEzD,MAAMG,oBAAoB,GAAGC,IAAA,IAUD;EAAA,IAVE;IAC5BC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC;EACoB,CAAC,GAAAT,IAAA;EACrB,MAAMU,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEX,UAAU;IACfY,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMC,YAAY,GAAGX,QAAQ,KAAKY,eAAQ,CAACC,GAAG,GAAGD,eAAQ,CAACE,GAAG,GAAGd,QAAQ;EACxE,MAAMe,UAAU,GAAGJ,YAAY,KAAKC,eAAQ,CAACE,GAAG,GAAG,KAAK,GAAG,KAAK;EAEhE,OACE/B,MAAA,CAAAW,OAAA,CAAAsB,aAAA,CAAC5B,iBAAA,CAAA6B,aAAa;IAACZ,aAAa,EAAEA,aAAc;IAACF,KAAK,EAAEA;EAAM,GACxDpB,MAAA,CAAAW,OAAA,CAAAsB,aAAA,CAAC7B,SAAA,CAAA+B,cAAc;IAAChB,MAAM,EAAE,IAAAiB,2BAAS,EAACjB,MAAM,CAAE;IAACkB,YAAY,EAAEA;EAAa,GACpErC,MAAA,CAAAW,OAAA,CAAAsB,aAAA,CAAC5B,iBAAA,CAAAiC,iBAAiB;IAChBC,GAAG,EAAExB,YAAa;IAClByB,OAAO,EAAE;MAAEZ,YAAY;MAAEI;IAAW;EAAE,GAEtChC,MAAA,CAAAW,OAAA,CAAAsB,aAAA,CAAC9B,OAAA,CAAAsC,cAAc;IAAClB,MAAM,EAAEA;EAAO,GAC5BF,YAAY,GACXrB,MAAA,CAAAW,OAAA,CAAAsB,aAAA;IAAKS,SAAS,EAAC;EAAmG,GAChH1C,MAAA,CAAAW,OAAA,CAAAsB,aAAA,CAAC5B,iBAAA,CAAAsC,UAAU,MAAE,CACV,CAAC,GAGJ3C,MAAA,CAAAW,OAAA,CAAAsB,aAAA,CAAC1B,KAAA,CAAAqC,IAAI;IACH5B,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA;EAAQ,CAClB,CAES,CACC,CACL,CACH,CAAC;AAEpB,CAAC;AAAC2B,OAAA,CAAAjC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"file":"LiveRatesTableWidget.js","names":["_react","_interopRequireDefault","require","_client","_monoI18n","_labsWidgetCommon","_translations","_Main","_types","_config","e","__esModule","default","LiveRatesTableWidget","_ref","graphqlUrl","liveRatesUrl","instruments","division","columns","locale","theme","isParamError","removePadding","view","client","ApolloClient","uri","cache","InMemoryCache","divisionCode","Division","Opt","Ogm","dataSource","createElement","ThemeProvider","size","sizeConfig","LocaleProvider","getLocale","translations","LiveRatesProvider","url","options","ApolloProvider","className","ChartError","Main","exports"],"sources":["../../../src/LiveRatesTableWidget/LiveRatesTableWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport {\n ChartError, LiveRatesProvider, ThemeProvider, getLocale,\n} from '@oanda/labs-widget-common';\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { Division, LiveRatesTableConfig } from './types';\nimport { sizeConfig } from './config';\n\nconst LiveRatesTableWidget = ({\n graphqlUrl,\n liveRatesUrl,\n instruments,\n division,\n columns,\n locale,\n theme,\n isParamError,\n removePadding,\n view,\n}: LiveRatesTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const divisionCode = division === Division.Opt ? Division.Ogm : division;\n const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';\n\n return (\n <ThemeProvider removePadding={removePadding} theme={theme} size={view && sizeConfig[view]}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <LiveRatesProvider\n url={liveRatesUrl}\n options={{ divisionCode, dataSource }}\n >\n <ApolloProvider client={client}>\n {isParamError ? (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )\n : (\n <Main\n instruments={instruments}\n division={division}\n columns={columns}\n />\n )}\n </ApolloProvider>\n </LiveRatesProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { LiveRatesTableWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAGA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAAsC,SAAAD,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtC,MAAMG,oBAAoB,GAAGC,IAAA,IAWD;EAAA,IAXE;IAC5BC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,aAAa;IACbC;EACoB,CAAC,GAAAV,IAAA;EACrB,MAAMW,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEZ,UAAU;IACfa,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMC,YAAY,GAAGZ,QAAQ,KAAKa,eAAQ,CAACC,GAAG,GAAGD,eAAQ,CAACE,GAAG,GAAGf,QAAQ;EACxE,MAAMgB,UAAU,GAAGJ,YAAY,KAAKC,eAAQ,CAACE,GAAG,GAAG,KAAK,GAAG,KAAK;EAEhE,OACEjC,MAAA,CAAAY,OAAA,CAAAuB,aAAA,CAAC9B,iBAAA,CAAA+B,aAAa;IAACb,aAAa,EAAEA,aAAc;IAACF,KAAK,EAAEA,KAAM;IAACgB,IAAI,EAAEb,IAAI,IAAIc,kBAAU,CAACd,IAAI;EAAE,GACxFxB,MAAA,CAAAY,OAAA,CAAAuB,aAAA,CAAC/B,SAAA,CAAAmC,cAAc;IAACnB,MAAM,EAAE,IAAAoB,2BAAS,EAACpB,MAAM,CAAE;IAACqB,YAAY,EAAEA;EAAa,GACpEzC,MAAA,CAAAY,OAAA,CAAAuB,aAAA,CAAC9B,iBAAA,CAAAqC,iBAAiB;IAChBC,GAAG,EAAE3B,YAAa;IAClB4B,OAAO,EAAE;MAAEd,YAAY;MAAEI;IAAW;EAAE,GAEtClC,MAAA,CAAAY,OAAA,CAAAuB,aAAA,CAAChC,OAAA,CAAA0C,cAAc;IAACpB,MAAM,EAAEA;EAAO,GAC5BH,YAAY,GACXtB,MAAA,CAAAY,OAAA,CAAAuB,aAAA;IAAKW,SAAS,EAAC;EAAmG,GAChH9C,MAAA,CAAAY,OAAA,CAAAuB,aAAA,CAAC9B,iBAAA,CAAA0C,UAAU,MAAE,CACV,CAAC,GAGJ/C,MAAA,CAAAY,OAAA,CAAAuB,aAAA,CAAC5B,KAAA,CAAAyC,IAAI;IACH/B,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA;EAAQ,CAClB,CAES,CACC,CACL,CACH,CAAC;AAEpB,CAAC;AAAC8B,OAAA,CAAApC,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -3,7 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.headerConfig = void 0;
6
+ exports.sizeConfig = exports.headerConfig = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
7
8
  var _types = require("./types");
8
9
  const headerConfig = exports.headerConfig = {
9
10
  [_types.ColumnsNames.INSTRUMENT]: {
@@ -31,4 +32,8 @@ const headerConfig = exports.headerConfig = {
31
32
  additionalStyles: 'lw-text-right lw-min-w-[50px]'
32
33
  }
33
34
  };
35
+ const sizeConfig = exports.sizeConfig = {
36
+ [_types.View.CARDS]: _labsWidgetCommon.Size.MOBILE,
37
+ [_types.View.TABLE]: _labsWidgetCommon.Size.DESKTOP
38
+ };
34
39
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["_types","require","headerConfig","exports","ColumnsNames","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD"],"sources":["../../../src/LiveRatesTableWidget/config.ts"],"sourcesContent":["import { ColumnsNames } 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\nexport {\n headerConfig,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,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","ignoreList":[]}
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';\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 {\n headerConfig,\n sizeConfig,\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,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":[]}
@@ -19,7 +19,8 @@ liveRatesTableParamsElements.forEach(element => {
19
19
  instruments,
20
20
  columns,
21
21
  division,
22
- locale
22
+ locale,
23
+ view
23
24
  } = JSON.parse(params);
24
25
  const isParamError = (0, _labsWidgetCommon.validateToolParams)({
25
26
  division,
@@ -53,7 +54,8 @@ liveRatesTableParamsElements.forEach(element => {
53
54
  columns: columns,
54
55
  locale: locale,
55
56
  theme: mode,
56
- isParamError: isParamError
57
+ isParamError: isParamError,
58
+ view: view
57
59
  }));
58
60
  });
59
61
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["_react","_interopRequireDefault","require","_client","_labsWidgetCommon","_LiveRatesTableWidget","_graphql","e","__esModule","default","graphqlUrl","liveRatesUrl","window","widgetsConfig","liveRatesTableParamsElements","document","querySelectorAll","forEach","element","root","createRoot","params","getAttribute","mode","instruments","columns","division","locale","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","length","render","createElement","LiveRatesTableWidget","theme"],"sources":["../../../src/LiveRatesTableWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Theme, validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport { LiveRatesTableWidget } from './LiveRatesTableWidget';\nimport { Division } from '../gql/types/graphql';\n\nconst {\n graphqlUrl,\n liveRatesUrl,\n} = window.widgetsConfig || {};\n\nconst liveRatesTableParamsElements = document.querySelectorAll('div[data-live-rates-table-params]');\n\nliveRatesTableParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-live-rates-table-params');\n const mode = element.getAttribute('data-mode');\n const {\n instruments, columns, division, locale,\n } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({\n division, locale, graphqlUrl, liveRatesUrl, instruments, columns,\n }, [{\n name: 'locale',\n valueCheck: (value) => validateLocale(value),\n }, {\n name: 'division',\n valueCheck: (value) => Object.values(Division).includes(value),\n }, {\n name: 'instruments',\n valueCheck: (value) => (value as string[]).length > 0 && (value as string[]).length <= 10,\n }, {\n name: 'columns',\n valueCheck: (value) => (value as string[]).length > 0,\n }, {\n name: 'graphqlUrl',\n }, {\n name: 'liveRatesUrl',\n }]);\n\n root.render(\n <LiveRatesTableWidget\n graphqlUrl={graphqlUrl}\n liveRatesUrl={liveRatesUrl}\n division={division}\n instruments={instruments}\n columns={columns}\n locale={locale}\n theme={mode as Theme}\n isParamError={isParamError}\n />,\n );\n});\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAgD,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD,MAAM;EACJG,UAAU;EACVC;AACF,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,4BAA4B,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,mCAAmC,CAAC;AAEnGF,4BAA4B,CAACG,OAAO,CAAEC,OAAO,IAAK;EAChD,MAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;EAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,8BAA8B,CAAC;EACnE,MAAMC,IAAI,GAAGL,OAAO,CAACI,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IACJE,WAAW;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAClC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACR,MAAgB,CAAC;EAEhC,MAAMS,YAAY,GAAG,IAAAC,oCAAkB,EAAC;IACtCL,QAAQ;IAAEC,MAAM;IAAEjB,UAAU;IAAEC,YAAY;IAAEa,WAAW;IAAEC;EAC3D,CAAC,EAAE,CAAC;IACFO,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAK,IAAK,IAAAC,gCAAc,EAACD,KAAK;EAC7C,CAAC,EAAE;IACDF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAK,IAAKE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;EAC/D,CAAC,EAAE;IACDF,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcM,MAAM,GAAG,CAAC,IAAKN,KAAK,CAAcM,MAAM,IAAI;EACzF,CAAC,EAAE;IACDR,IAAI,EAAE,SAAS;IACfC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcM,MAAM,GAAG;EACtD,CAAC,EAAE;IACDR,IAAI,EAAE;EACR,CAAC,EAAE;IACDA,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EAEHb,IAAI,CAACsB,MAAM,CACTzC,MAAA,CAAAS,OAAA,CAAAiC,aAAA,CAACrC,qBAAA,CAAAsC,oBAAoB;IACnBjC,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3Be,QAAQ,EAAEA,QAAS;IACnBF,WAAW,EAAEA,WAAY;IACzBC,OAAO,EAAEA,OAAQ;IACjBE,MAAM,EAAEA,MAAO;IACfiB,KAAK,EAAErB,IAAc;IACrBO,YAAY,EAAEA;EAAa,CAC5B,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"render.js","names":["_react","_interopRequireDefault","require","_client","_labsWidgetCommon","_LiveRatesTableWidget","_graphql","e","__esModule","default","graphqlUrl","liveRatesUrl","window","widgetsConfig","liveRatesTableParamsElements","document","querySelectorAll","forEach","element","root","createRoot","params","getAttribute","mode","instruments","columns","division","locale","view","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","length","render","createElement","LiveRatesTableWidget","theme"],"sources":["../../../src/LiveRatesTableWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Theme, validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport { LiveRatesTableWidget } from './LiveRatesTableWidget';\nimport { Division } from '../gql/types/graphql';\n\nconst {\n graphqlUrl,\n liveRatesUrl,\n} = window.widgetsConfig || {};\n\nconst liveRatesTableParamsElements = document.querySelectorAll('div[data-live-rates-table-params]');\n\nliveRatesTableParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-live-rates-table-params');\n const mode = element.getAttribute('data-mode');\n const {\n instruments, columns, division, locale, view,\n } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({\n division, locale, graphqlUrl, liveRatesUrl, instruments, columns,\n }, [{\n name: 'locale',\n valueCheck: (value) => validateLocale(value),\n }, {\n name: 'division',\n valueCheck: (value) => Object.values(Division).includes(value),\n }, {\n name: 'instruments',\n valueCheck: (value) => (value as string[]).length > 0 && (value as string[]).length <= 10,\n }, {\n name: 'columns',\n valueCheck: (value) => (value as string[]).length > 0,\n }, {\n name: 'graphqlUrl',\n }, {\n name: 'liveRatesUrl',\n }]);\n\n root.render(\n <LiveRatesTableWidget\n graphqlUrl={graphqlUrl}\n liveRatesUrl={liveRatesUrl}\n division={division}\n instruments={instruments}\n columns={columns}\n locale={locale}\n theme={mode as Theme}\n isParamError={isParamError}\n view={view}\n />,\n );\n});\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAgD,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD,MAAM;EACJG,UAAU;EACVC;AACF,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,4BAA4B,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,mCAAmC,CAAC;AAEnGF,4BAA4B,CAACG,OAAO,CAAEC,OAAO,IAAK;EAChD,MAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;EAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,8BAA8B,CAAC;EACnE,MAAMC,IAAI,GAAGL,OAAO,CAACI,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IACJE,WAAW;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAC1C,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACT,MAAgB,CAAC;EAEhC,MAAMU,YAAY,GAAG,IAAAC,oCAAkB,EAAC;IACtCN,QAAQ;IAAEC,MAAM;IAAEjB,UAAU;IAAEC,YAAY;IAAEa,WAAW;IAAEC;EAC3D,CAAC,EAAE,CAAC;IACFQ,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAK,IAAK,IAAAC,gCAAc,EAACD,KAAK;EAC7C,CAAC,EAAE;IACDF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAK,IAAKE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;EAC/D,CAAC,EAAE;IACDF,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcM,MAAM,GAAG,CAAC,IAAKN,KAAK,CAAcM,MAAM,IAAI;EACzF,CAAC,EAAE;IACDR,IAAI,EAAE,SAAS;IACfC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcM,MAAM,GAAG;EACtD,CAAC,EAAE;IACDR,IAAI,EAAE;EACR,CAAC,EAAE;IACDA,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EAEHd,IAAI,CAACuB,MAAM,CACT1C,MAAA,CAAAS,OAAA,CAAAkC,aAAA,CAACtC,qBAAA,CAAAuC,oBAAoB;IACnBlC,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3Be,QAAQ,EAAEA,QAAS;IACnBF,WAAW,EAAEA,WAAY;IACzBC,OAAO,EAAEA,OAAQ;IACjBE,MAAM,EAAEA,MAAO;IACfkB,KAAK,EAAEtB,IAAc;IACrBQ,YAAY,EAAEA,YAAa;IAC3BH,IAAI,EAAEA;EAAK,CACZ,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -16,8 +16,14 @@ Object.defineProperty(exports, "Locale", {
16
16
  return _monoI18n.Locale;
17
17
  }
18
18
  });
19
+ exports.View = void 0;
19
20
  var _monoI18n = require("@oanda/mono-i18n");
20
21
  var _graphql = require("../gql/types/graphql");
22
+ let View = exports.View = function (View) {
23
+ View["TABLE"] = "table";
24
+ View["CARDS"] = "cards";
25
+ return View;
26
+ }({});
21
27
  let ColumnsNames = exports.ColumnsNames = function (ColumnsNames) {
22
28
  ColumnsNames["INSTRUMENT"] = "instrument";
23
29
  ColumnsNames["SELL"] = "sell";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["_monoI18n","require","_graphql","ColumnsNames","exports"],"sources":["../../../src/LiveRatesTableWidget/types.tsx"],"sourcesContent":["import { Locale } from '@oanda/mono-i18n';\nimport { Theme } from '@oanda/labs-widget-common';\nimport { Division } from '../gql/types/graphql';\n\nexport { Locale } from '@oanda/mono-i18n';\nexport { Division } from '../gql/types/graphql';\n\nexport interface LiveRatesTableConfig {\n graphqlUrl: string;\n division: Division;\n liveRatesUrl: string;\n instruments: string[];\n columns?: ColumnsNames[];\n locale: Locale;\n theme?: Theme;\n isParamError?: boolean;\n removePadding?: boolean;\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<any, 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,SAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAgD,IAcpCE,YAAY,GAAAC,OAAA,CAAAD,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":["_monoI18n","require","_graphql","View","exports","ColumnsNames"],"sources":["../../../src/LiveRatesTableWidget/types.tsx"],"sourcesContent":["import { Locale } from '@oanda/mono-i18n';\nimport { Theme } from '@oanda/labs-widget-common';\nimport { Division } from '../gql/types/graphql';\n\nexport { Locale } from '@oanda/mono-i18n';\nexport { Division } from '../gql/types/graphql';\n\nexport enum View {\n TABLE = 'table',\n CARDS = 'cards',\n}\n\nexport interface LiveRatesTableConfig {\n graphqlUrl: string;\n division: Division;\n liveRatesUrl: string;\n instruments: string[];\n columns?: ColumnsNames[];\n locale: Locale;\n theme?: Theme;\n isParamError?: boolean;\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<any, 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,SAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAgD,IAEpCE,IAAI,GAAAC,OAAA,CAAAD,IAAA,aAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAAA,IAkBJE,YAAY,GAAAD,OAAA,CAAAC,YAAA,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -5,6 +5,7 @@ import { ChartError, LiveRatesProvider, ThemeProvider, getLocale } from '@oanda/
5
5
  import { translations } from '../translations';
6
6
  import { Main } from './Main';
7
7
  import { Division } from './types';
8
+ import { sizeConfig } from './config';
8
9
  const LiveRatesTableWidget = _ref => {
9
10
  let {
10
11
  graphqlUrl,
@@ -15,7 +16,8 @@ const LiveRatesTableWidget = _ref => {
15
16
  locale,
16
17
  theme,
17
18
  isParamError,
18
- removePadding
19
+ removePadding,
20
+ view
19
21
  } = _ref;
20
22
  const client = new ApolloClient({
21
23
  uri: graphqlUrl,
@@ -25,7 +27,8 @@ const LiveRatesTableWidget = _ref => {
25
27
  const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';
26
28
  return React.createElement(ThemeProvider, {
27
29
  removePadding: removePadding,
28
- theme: theme
30
+ theme: theme,
31
+ size: view && sizeConfig[view]
29
32
  }, React.createElement(LocaleProvider, {
30
33
  locale: getLocale(locale),
31
34
  translations: translations
@@ -1 +1 @@
1
- {"version":3,"file":"LiveRatesTableWidget.js","names":["React","ApolloClient","InMemoryCache","ApolloProvider","LocaleProvider","ChartError","LiveRatesProvider","ThemeProvider","getLocale","translations","Main","Division","LiveRatesTableWidget","_ref","graphqlUrl","liveRatesUrl","instruments","division","columns","locale","theme","isParamError","removePadding","client","uri","cache","divisionCode","Opt","Ogm","dataSource","createElement","url","options","className"],"sources":["../../../src/LiveRatesTableWidget/LiveRatesTableWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport {\n ChartError, LiveRatesProvider, ThemeProvider, getLocale,\n} from '@oanda/labs-widget-common';\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { Division, LiveRatesTableConfig } from './types';\n\nconst LiveRatesTableWidget = ({\n graphqlUrl,\n liveRatesUrl,\n instruments,\n division,\n columns,\n locale,\n theme,\n isParamError,\n removePadding,\n}: LiveRatesTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const divisionCode = division === Division.Opt ? Division.Ogm : division;\n const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';\n\n return (\n <ThemeProvider removePadding={removePadding} theme={theme}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <LiveRatesProvider\n url={liveRatesUrl}\n options={{ divisionCode, dataSource }}\n >\n <ApolloProvider client={client}>\n {isParamError ? (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )\n : (\n <Main\n instruments={instruments}\n division={division}\n columns={columns}\n />\n )}\n </ApolloProvider>\n </LiveRatesProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { LiveRatesTableWidget };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,gBAAgB;AAC5E,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SACEC,UAAU,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,SAAS,QAClD,2BAA2B;AAClC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,QAAQ,QAA8B,SAAS;AAExD,MAAMC,oBAAoB,GAAGC,IAAA,IAUD;EAAA,IAVE;IAC5BC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC;EACoB,CAAC,GAAAT,IAAA;EACrB,MAAMU,MAAM,GAAG,IAAItB,YAAY,CAAC;IAC9BuB,GAAG,EAAEV,UAAU;IACfW,KAAK,EAAE,IAAIvB,aAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMwB,YAAY,GAAGT,QAAQ,KAAKN,QAAQ,CAACgB,GAAG,GAAGhB,QAAQ,CAACiB,GAAG,GAAGX,QAAQ;EACxE,MAAMY,UAAU,GAAGH,YAAY,KAAKf,QAAQ,CAACiB,GAAG,GAAG,KAAK,GAAG,KAAK;EAEhE,OACE5B,KAAA,CAAA8B,aAAA,CAACvB,aAAa;IAACe,aAAa,EAAEA,aAAc;IAACF,KAAK,EAAEA;EAAM,GACxDpB,KAAA,CAAA8B,aAAA,CAAC1B,cAAc;IAACe,MAAM,EAAEX,SAAS,CAACW,MAAM,CAAE;IAACV,YAAY,EAAEA;EAAa,GACpET,KAAA,CAAA8B,aAAA,CAACxB,iBAAiB;IAChByB,GAAG,EAAEhB,YAAa;IAClBiB,OAAO,EAAE;MAAEN,YAAY;MAAEG;IAAW;EAAE,GAEtC7B,KAAA,CAAA8B,aAAA,CAAC3B,cAAc;IAACoB,MAAM,EAAEA;EAAO,GAC5BF,YAAY,GACXrB,KAAA,CAAA8B,aAAA;IAAKG,SAAS,EAAC;EAAmG,GAChHjC,KAAA,CAAA8B,aAAA,CAACzB,UAAU,MAAE,CACV,CAAC,GAGJL,KAAA,CAAA8B,aAAA,CAACpB,IAAI;IACHM,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA;EAAQ,CAClB,CAES,CACC,CACL,CACH,CAAC;AAEpB,CAAC;AAED,SAASN,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"LiveRatesTableWidget.js","names":["React","ApolloClient","InMemoryCache","ApolloProvider","LocaleProvider","ChartError","LiveRatesProvider","ThemeProvider","getLocale","translations","Main","Division","sizeConfig","LiveRatesTableWidget","_ref","graphqlUrl","liveRatesUrl","instruments","division","columns","locale","theme","isParamError","removePadding","view","client","uri","cache","divisionCode","Opt","Ogm","dataSource","createElement","size","url","options","className"],"sources":["../../../src/LiveRatesTableWidget/LiveRatesTableWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport {\n ChartError, LiveRatesProvider, ThemeProvider, getLocale,\n} from '@oanda/labs-widget-common';\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { Division, LiveRatesTableConfig } from './types';\nimport { sizeConfig } from './config';\n\nconst LiveRatesTableWidget = ({\n graphqlUrl,\n liveRatesUrl,\n instruments,\n division,\n columns,\n locale,\n theme,\n isParamError,\n removePadding,\n view,\n}: LiveRatesTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const divisionCode = division === Division.Opt ? Division.Ogm : division;\n const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';\n\n return (\n <ThemeProvider removePadding={removePadding} theme={theme} size={view && sizeConfig[view]}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <LiveRatesProvider\n url={liveRatesUrl}\n options={{ divisionCode, dataSource }}\n >\n <ApolloProvider client={client}>\n {isParamError ? (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )\n : (\n <Main\n instruments={instruments}\n division={division}\n columns={columns}\n />\n )}\n </ApolloProvider>\n </LiveRatesProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { LiveRatesTableWidget };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,gBAAgB;AAC5E,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SACEC,UAAU,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,SAAS,QAClD,2BAA2B;AAClC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,QAAQ,QAA8B,SAAS;AACxD,SAASC,UAAU,QAAQ,UAAU;AAErC,MAAMC,oBAAoB,GAAGC,IAAA,IAWD;EAAA,IAXE;IAC5BC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,aAAa;IACbC;EACoB,CAAC,GAAAV,IAAA;EACrB,MAAMW,MAAM,GAAG,IAAIxB,YAAY,CAAC;IAC9ByB,GAAG,EAAEX,UAAU;IACfY,KAAK,EAAE,IAAIzB,aAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAM0B,YAAY,GAAGV,QAAQ,KAAKP,QAAQ,CAACkB,GAAG,GAAGlB,QAAQ,CAACmB,GAAG,GAAGZ,QAAQ;EACxE,MAAMa,UAAU,GAAGH,YAAY,KAAKjB,QAAQ,CAACmB,GAAG,GAAG,KAAK,GAAG,KAAK;EAEhE,OACE9B,KAAA,CAAAgC,aAAA,CAACzB,aAAa;IAACgB,aAAa,EAAEA,aAAc;IAACF,KAAK,EAAEA,KAAM;IAACY,IAAI,EAAET,IAAI,IAAIZ,UAAU,CAACY,IAAI;EAAE,GACxFxB,KAAA,CAAAgC,aAAA,CAAC5B,cAAc;IAACgB,MAAM,EAAEZ,SAAS,CAACY,MAAM,CAAE;IAACX,YAAY,EAAEA;EAAa,GACpET,KAAA,CAAAgC,aAAA,CAAC1B,iBAAiB;IAChB4B,GAAG,EAAElB,YAAa;IAClBmB,OAAO,EAAE;MAAEP,YAAY;MAAEG;IAAW;EAAE,GAEtC/B,KAAA,CAAAgC,aAAA,CAAC7B,cAAc;IAACsB,MAAM,EAAEA;EAAO,GAC5BH,YAAY,GACXtB,KAAA,CAAAgC,aAAA;IAAKI,SAAS,EAAC;EAAmG,GAChHpC,KAAA,CAAAgC,aAAA,CAAC3B,UAAU,MAAE,CACV,CAAC,GAGJL,KAAA,CAAAgC,aAAA,CAACtB,IAAI;IACHO,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA;EAAQ,CAClB,CAES,CACC,CACL,CACH,CAAC;AAEpB,CAAC;AAED,SAASN,oBAAoB","ignoreList":[]}
@@ -1,4 +1,5 @@
1
- import { ColumnsNames } from './types';
1
+ import { Size } from '@oanda/labs-widget-common';
2
+ import { ColumnsNames, View } from './types';
2
3
  const headerConfig = {
3
4
  [ColumnsNames.INSTRUMENT]: {
4
5
  displayName: 'instrument',
@@ -25,5 +26,9 @@ const headerConfig = {
25
26
  additionalStyles: 'lw-text-right lw-min-w-[50px]'
26
27
  }
27
28
  };
28
- export { headerConfig };
29
+ const sizeConfig = {
30
+ [View.CARDS]: Size.MOBILE,
31
+ [View.TABLE]: Size.DESKTOP
32
+ };
33
+ export { headerConfig, sizeConfig };
29
34
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["ColumnsNames","headerConfig","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD"],"sources":["../../../src/LiveRatesTableWidget/config.ts"],"sourcesContent":["import { ColumnsNames } 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\nexport {\n headerConfig,\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,SAAS;AAEtC,MAAMC,YAAY,GAAG;EACnB,CAACD,YAAY,CAACE,UAAU,GAAG;IACzBC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACJ,YAAY,CAACK,IAAI,GAAG;IACnBF,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACJ,YAAY,CAACM,GAAG,GAAG;IAClBH,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACJ,YAAY,CAACO,YAAY,GAAG;IAC3BJ,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACJ,YAAY,CAACQ,KAAK,GAAG;IACpBL,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACJ,YAAY,CAACS,MAAM,GAAG;IACrBN,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,SACEH,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"config.js","names":["Size","ColumnsNames","View","headerConfig","INSTRUMENT","displayName","additionalStyles","SELL","BUY","DAILY_CHANGE","CHART","SPREAD","sizeConfig","CARDS","MOBILE","TABLE","DESKTOP"],"sources":["../../../src/LiveRatesTableWidget/config.ts"],"sourcesContent":["import { Size } from '@oanda/labs-widget-common';\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 {\n headerConfig,\n sizeConfig,\n};\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,2BAA2B;AAChD,SAASC,YAAY,EAAEC,IAAI,QAAQ,SAAS;AAE5C,MAAMC,YAAY,GAAG;EACnB,CAACF,YAAY,CAACG,UAAU,GAAG;IACzBC,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACM,IAAI,GAAG;IACnBF,WAAW,EAAE,MAAM;IACnBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACO,GAAG,GAAG;IAClBH,WAAW,EAAE,KAAK;IAClBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACQ,YAAY,GAAG;IAC3BJ,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACS,KAAK,GAAG;IACpBL,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACL,YAAY,CAACU,MAAM,GAAG;IACrBN,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMM,UAAU,GAAG;EACjB,CAACV,IAAI,CAACW,KAAK,GAAGb,IAAI,CAACc,MAAM;EACzB,CAACZ,IAAI,CAACa,KAAK,GAAGf,IAAI,CAACgB;AACrB,CAAC;AAED,SACEb,YAAY,EACZS,UAAU","ignoreList":[]}
@@ -16,7 +16,8 @@ liveRatesTableParamsElements.forEach(element => {
16
16
  instruments,
17
17
  columns,
18
18
  division,
19
- locale
19
+ locale,
20
+ view
20
21
  } = JSON.parse(params);
21
22
  const isParamError = validateToolParams({
22
23
  division,
@@ -50,7 +51,8 @@ liveRatesTableParamsElements.forEach(element => {
50
51
  columns: columns,
51
52
  locale: locale,
52
53
  theme: mode,
53
- isParamError: isParamError
54
+ isParamError: isParamError,
55
+ view: view
54
56
  }));
55
57
  });
56
58
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["React","createRoot","validateLocale","validateToolParams","LiveRatesTableWidget","Division","graphqlUrl","liveRatesUrl","window","widgetsConfig","liveRatesTableParamsElements","document","querySelectorAll","forEach","element","root","params","getAttribute","mode","instruments","columns","division","locale","JSON","parse","isParamError","name","valueCheck","value","Object","values","includes","length","render","createElement","theme"],"sources":["../../../src/LiveRatesTableWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Theme, validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport { LiveRatesTableWidget } from './LiveRatesTableWidget';\nimport { Division } from '../gql/types/graphql';\n\nconst {\n graphqlUrl,\n liveRatesUrl,\n} = window.widgetsConfig || {};\n\nconst liveRatesTableParamsElements = document.querySelectorAll('div[data-live-rates-table-params]');\n\nliveRatesTableParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-live-rates-table-params');\n const mode = element.getAttribute('data-mode');\n const {\n instruments, columns, division, locale,\n } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({\n division, locale, graphqlUrl, liveRatesUrl, instruments, columns,\n }, [{\n name: 'locale',\n valueCheck: (value) => validateLocale(value),\n }, {\n name: 'division',\n valueCheck: (value) => Object.values(Division).includes(value),\n }, {\n name: 'instruments',\n valueCheck: (value) => (value as string[]).length > 0 && (value as string[]).length <= 10,\n }, {\n name: 'columns',\n valueCheck: (value) => (value as string[]).length > 0,\n }, {\n name: 'graphqlUrl',\n }, {\n name: 'liveRatesUrl',\n }]);\n\n root.render(\n <LiveRatesTableWidget\n graphqlUrl={graphqlUrl}\n liveRatesUrl={liveRatesUrl}\n division={division}\n instruments={instruments}\n columns={columns}\n locale={locale}\n theme={mode as Theme}\n isParamError={isParamError}\n />,\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAAgBC,cAAc,EAAEC,kBAAkB,QAAQ,2BAA2B;AACrF,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,QAAQ,QAAQ,sBAAsB;AAE/C,MAAM;EACJC,UAAU;EACVC;AACF,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,4BAA4B,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,mCAAmC,CAAC;AAEnGF,4BAA4B,CAACG,OAAO,CAAEC,OAAO,IAAK;EAChD,MAAMC,IAAI,GAAGd,UAAU,CAACa,OAAO,CAAC;EAChC,MAAME,MAAM,GAAGF,OAAO,CAACG,YAAY,CAAC,8BAA8B,CAAC;EACnE,MAAMC,IAAI,GAAGJ,OAAO,CAACG,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IACJE,WAAW;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAClC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACR,MAAgB,CAAC;EAEhC,MAAMS,YAAY,GAAGtB,kBAAkB,CAAC;IACtCkB,QAAQ;IAAEC,MAAM;IAAEhB,UAAU;IAAEC,YAAY;IAAEY,WAAW;IAAEC;EAC3D,CAAC,EAAE,CAAC;IACFM,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAK,IAAK1B,cAAc,CAAC0B,KAAK;EAC7C,CAAC,EAAE;IACDF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAACzB,QAAQ,CAAC,CAAC0B,QAAQ,CAACH,KAAK;EAC/D,CAAC,EAAE;IACDF,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcI,MAAM,GAAG,CAAC,IAAKJ,KAAK,CAAcI,MAAM,IAAI;EACzF,CAAC,EAAE;IACDN,IAAI,EAAE,SAAS;IACfC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcI,MAAM,GAAG;EACtD,CAAC,EAAE;IACDN,IAAI,EAAE;EACR,CAAC,EAAE;IACDA,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EAEHX,IAAI,CAACkB,MAAM,CACTjC,KAAA,CAAAkC,aAAA,CAAC9B,oBAAoB;IACnBE,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3Bc,QAAQ,EAAEA,QAAS;IACnBF,WAAW,EAAEA,WAAY;IACzBC,OAAO,EAAEA,OAAQ;IACjBE,MAAM,EAAEA,MAAO;IACfa,KAAK,EAAEjB,IAAc;IACrBO,YAAY,EAAEA;EAAa,CAC5B,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"render.js","names":["React","createRoot","validateLocale","validateToolParams","LiveRatesTableWidget","Division","graphqlUrl","liveRatesUrl","window","widgetsConfig","liveRatesTableParamsElements","document","querySelectorAll","forEach","element","root","params","getAttribute","mode","instruments","columns","division","locale","view","JSON","parse","isParamError","name","valueCheck","value","Object","values","includes","length","render","createElement","theme"],"sources":["../../../src/LiveRatesTableWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Theme, validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport { LiveRatesTableWidget } from './LiveRatesTableWidget';\nimport { Division } from '../gql/types/graphql';\n\nconst {\n graphqlUrl,\n liveRatesUrl,\n} = window.widgetsConfig || {};\n\nconst liveRatesTableParamsElements = document.querySelectorAll('div[data-live-rates-table-params]');\n\nliveRatesTableParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-live-rates-table-params');\n const mode = element.getAttribute('data-mode');\n const {\n instruments, columns, division, locale, view,\n } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({\n division, locale, graphqlUrl, liveRatesUrl, instruments, columns,\n }, [{\n name: 'locale',\n valueCheck: (value) => validateLocale(value),\n }, {\n name: 'division',\n valueCheck: (value) => Object.values(Division).includes(value),\n }, {\n name: 'instruments',\n valueCheck: (value) => (value as string[]).length > 0 && (value as string[]).length <= 10,\n }, {\n name: 'columns',\n valueCheck: (value) => (value as string[]).length > 0,\n }, {\n name: 'graphqlUrl',\n }, {\n name: 'liveRatesUrl',\n }]);\n\n root.render(\n <LiveRatesTableWidget\n graphqlUrl={graphqlUrl}\n liveRatesUrl={liveRatesUrl}\n division={division}\n instruments={instruments}\n columns={columns}\n locale={locale}\n theme={mode as Theme}\n isParamError={isParamError}\n view={view}\n />,\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAAgBC,cAAc,EAAEC,kBAAkB,QAAQ,2BAA2B;AACrF,SAASC,oBAAoB,QAAQ,wBAAwB;AAC7D,SAASC,QAAQ,QAAQ,sBAAsB;AAE/C,MAAM;EACJC,UAAU;EACVC;AACF,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,4BAA4B,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,mCAAmC,CAAC;AAEnGF,4BAA4B,CAACG,OAAO,CAAEC,OAAO,IAAK;EAChD,MAAMC,IAAI,GAAGd,UAAU,CAACa,OAAO,CAAC;EAChC,MAAME,MAAM,GAAGF,OAAO,CAACG,YAAY,CAAC,8BAA8B,CAAC;EACnE,MAAMC,IAAI,GAAGJ,OAAO,CAACG,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IACJE,WAAW;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,MAAM;IAAEC;EAC1C,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACT,MAAgB,CAAC;EAEhC,MAAMU,YAAY,GAAGvB,kBAAkB,CAAC;IACtCkB,QAAQ;IAAEC,MAAM;IAAEhB,UAAU;IAAEC,YAAY;IAAEY,WAAW;IAAEC;EAC3D,CAAC,EAAE,CAAC;IACFO,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAK,IAAK3B,cAAc,CAAC2B,KAAK;EAC7C,CAAC,EAAE;IACDF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAAC1B,QAAQ,CAAC,CAAC2B,QAAQ,CAACH,KAAK;EAC/D,CAAC,EAAE;IACDF,IAAI,EAAE,aAAa;IACnBC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcI,MAAM,GAAG,CAAC,IAAKJ,KAAK,CAAcI,MAAM,IAAI;EACzF,CAAC,EAAE;IACDN,IAAI,EAAE,SAAS;IACfC,UAAU,EAAGC,KAAK,IAAMA,KAAK,CAAcI,MAAM,GAAG;EACtD,CAAC,EAAE;IACDN,IAAI,EAAE;EACR,CAAC,EAAE;IACDA,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EAEHZ,IAAI,CAACmB,MAAM,CACTlC,KAAA,CAAAmC,aAAA,CAAC/B,oBAAoB;IACnBE,UAAU,EAAEA,UAAW;IACvBC,YAAY,EAAEA,YAAa;IAC3Bc,QAAQ,EAAEA,QAAS;IACnBF,WAAW,EAAEA,WAAY;IACzBC,OAAO,EAAEA,OAAQ;IACjBE,MAAM,EAAEA,MAAO;IACfc,KAAK,EAAElB,IAAc;IACrBQ,YAAY,EAAEA,YAAa;IAC3BH,IAAI,EAAEA;EAAK,CACZ,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1,5 +1,10 @@
1
1
  export { Locale } from '@oanda/mono-i18n';
2
2
  export { Division } from '../gql/types/graphql';
3
+ export let View = function (View) {
4
+ View["TABLE"] = "table";
5
+ View["CARDS"] = "cards";
6
+ return View;
7
+ }({});
3
8
  export let ColumnsNames = function (ColumnsNames) {
4
9
  ColumnsNames["INSTRUMENT"] = "instrument";
5
10
  ColumnsNames["SELL"] = "sell";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["Locale","Division","ColumnsNames"],"sources":["../../../src/LiveRatesTableWidget/types.tsx"],"sourcesContent":["import { Locale } from '@oanda/mono-i18n';\nimport { Theme } from '@oanda/labs-widget-common';\nimport { Division } from '../gql/types/graphql';\n\nexport { Locale } from '@oanda/mono-i18n';\nexport { Division } from '../gql/types/graphql';\n\nexport interface LiveRatesTableConfig {\n graphqlUrl: string;\n division: Division;\n liveRatesUrl: string;\n instruments: string[];\n columns?: ColumnsNames[];\n locale: Locale;\n theme?: Theme;\n isParamError?: boolean;\n removePadding?: boolean;\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<any, 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,SAASA,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,QAAQ,sBAAsB;AAc/C,WAAYC,YAAY,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":["Locale","Division","View","ColumnsNames"],"sources":["../../../src/LiveRatesTableWidget/types.tsx"],"sourcesContent":["import { Locale } from '@oanda/mono-i18n';\nimport { Theme } from '@oanda/labs-widget-common';\nimport { Division } from '../gql/types/graphql';\n\nexport { Locale } from '@oanda/mono-i18n';\nexport { Division } from '../gql/types/graphql';\n\nexport enum View {\n TABLE = 'table',\n CARDS = 'cards',\n}\n\nexport interface LiveRatesTableConfig {\n graphqlUrl: string;\n division: Division;\n liveRatesUrl: string;\n instruments: string[];\n columns?: ColumnsNames[];\n locale: Locale;\n theme?: Theme;\n isParamError?: boolean;\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<any, 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,SAASA,MAAM,QAAQ,kBAAkB;AACzC,SAASC,QAAQ,QAAQ,sBAAsB;AAE/C,WAAYC,IAAI,aAAJA,IAAI;EAAJA,IAAI;EAAJA,IAAI;EAAA,OAAJA,IAAI;AAAA;AAkBhB,WAAYC,YAAY,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA","ignoreList":[]}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { LiveRatesTableConfig } from './types';
3
- declare const LiveRatesTableWidget: ({ graphqlUrl, liveRatesUrl, instruments, division, columns, locale, theme, isParamError, removePadding, }: LiveRatesTableConfig) => React.JSX.Element;
3
+ declare const LiveRatesTableWidget: ({ graphqlUrl, liveRatesUrl, instruments, division, columns, locale, theme, isParamError, removePadding, view, }: LiveRatesTableConfig) => React.JSX.Element;
4
4
  export { LiveRatesTableWidget };
@@ -1,3 +1,4 @@
1
+ import { Size } from '@oanda/labs-widget-common';
1
2
  declare const headerConfig: {
2
3
  instrument: {
3
4
  displayName: string;
@@ -24,4 +25,8 @@ declare const headerConfig: {
24
25
  additionalStyles: string;
25
26
  };
26
27
  };
27
- export { headerConfig, };
28
+ declare const sizeConfig: {
29
+ cards: Size;
30
+ table: Size;
31
+ };
32
+ export { headerConfig, sizeConfig, };
@@ -3,6 +3,10 @@ import { Theme } from '@oanda/labs-widget-common';
3
3
  import { Division } from '../gql/types/graphql';
4
4
  export { Locale } from '@oanda/mono-i18n';
5
5
  export { Division } from '../gql/types/graphql';
6
+ export declare enum View {
7
+ TABLE = "table",
8
+ CARDS = "cards"
9
+ }
6
10
  export interface LiveRatesTableConfig {
7
11
  graphqlUrl: string;
8
12
  division: Division;
@@ -13,6 +17,7 @@ export interface LiveRatesTableConfig {
13
17
  theme?: Theme;
14
18
  isParamError?: boolean;
15
19
  removePadding?: boolean;
20
+ view?: View;
16
21
  }
17
22
  export declare enum ColumnsNames {
18
23
  INSTRUMENT = "instrument",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-live-rates-table-widget",
3
- "version": "1.0.25",
3
+ "version": "1.0.27",
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.159",
15
+ "@oanda/labs-widget-common": "^1.0.161",
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": "c9a30543da7c09cc14084430401340a6d5960e20"
23
+ "gitHead": "7270a2445f422d216bb6a35bc4e5a7edfbf43f7d"
24
24
  }
@@ -7,6 +7,7 @@ import {
7
7
  import { translations } from '../translations';
8
8
  import { Main } from './Main';
9
9
  import { Division, LiveRatesTableConfig } from './types';
10
+ import { sizeConfig } from './config';
10
11
 
11
12
  const LiveRatesTableWidget = ({
12
13
  graphqlUrl,
@@ -18,6 +19,7 @@ const LiveRatesTableWidget = ({
18
19
  theme,
19
20
  isParamError,
20
21
  removePadding,
22
+ view,
21
23
  }: LiveRatesTableConfig) => {
22
24
  const client = new ApolloClient({
23
25
  uri: graphqlUrl,
@@ -28,7 +30,7 @@ const LiveRatesTableWidget = ({
28
30
  const dataSource = divisionCode === Division.Ogm ? 'MT5' : 'V20';
29
31
 
30
32
  return (
31
- <ThemeProvider removePadding={removePadding} theme={theme}>
33
+ <ThemeProvider removePadding={removePadding} theme={theme} size={view && sizeConfig[view]}>
32
34
  <LocaleProvider locale={getLocale(locale)} translations={translations}>
33
35
  <LiveRatesProvider
34
36
  url={liveRatesUrl}
@@ -1,4 +1,5 @@
1
- import { ColumnsNames } from './types';
1
+ import { Size } from '@oanda/labs-widget-common';
2
+ import { ColumnsNames, View } from './types';
2
3
 
3
4
  const headerConfig = {
4
5
  [ColumnsNames.INSTRUMENT]: {
@@ -27,6 +28,12 @@ const headerConfig = {
27
28
  },
28
29
  };
29
30
 
31
+ const sizeConfig = {
32
+ [View.CARDS]: Size.MOBILE,
33
+ [View.TABLE]: Size.DESKTOP,
34
+ };
35
+
30
36
  export {
31
37
  headerConfig,
38
+ sizeConfig,
32
39
  };
@@ -16,7 +16,7 @@ liveRatesTableParamsElements.forEach((element) => {
16
16
  const params = element.getAttribute('data-live-rates-table-params');
17
17
  const mode = element.getAttribute('data-mode');
18
18
  const {
19
- instruments, columns, division, locale,
19
+ instruments, columns, division, locale, view,
20
20
  } = JSON.parse(params as string);
21
21
 
22
22
  const isParamError = validateToolParams({
@@ -49,6 +49,7 @@ liveRatesTableParamsElements.forEach((element) => {
49
49
  locale={locale}
50
50
  theme={mode as Theme}
51
51
  isParamError={isParamError}
52
+ view={view}
52
53
  />,
53
54
  );
54
55
  });
@@ -5,6 +5,11 @@ import { Division } from '../gql/types/graphql';
5
5
  export { Locale } from '@oanda/mono-i18n';
6
6
  export { Division } from '../gql/types/graphql';
7
7
 
8
+ export enum View {
9
+ TABLE = 'table',
10
+ CARDS = 'cards',
11
+ }
12
+
8
13
  export interface LiveRatesTableConfig {
9
14
  graphqlUrl: string;
10
15
  division: Division;
@@ -15,6 +20,7 @@ export interface LiveRatesTableConfig {
15
20
  theme?: Theme;
16
21
  isParamError?: boolean;
17
22
  removePadding?: boolean;
23
+ view?: View;
18
24
  }
19
25
 
20
26
  export enum ColumnsNames {