@oanda/labs-instruments-table-widget 1.0.23 → 1.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +204 -0
  2. package/dist/main/InstrumentsTableWidget/Main.js +3 -4
  3. package/dist/main/InstrumentsTableWidget/Main.js.map +1 -1
  4. package/dist/main/InstrumentsTableWidget/components/Filters/Filters.js.map +1 -1
  5. package/dist/main/InstrumentsTableWidget/components/Filters/types.js.map +1 -1
  6. package/dist/main/InstrumentsTableWidget/config.js +9 -6
  7. package/dist/main/InstrumentsTableWidget/config.js.map +1 -1
  8. package/dist/main/InstrumentsTableWidget/types.js.map +1 -1
  9. package/dist/main/gql/resolveInstrumentsWithFilters.js +1 -1
  10. package/dist/main/gql/resolveInstrumentsWithFilters.js.map +1 -1
  11. package/dist/main/gql/types/gql.js +1 -1
  12. package/dist/main/gql/types/gql.js.map +1 -1
  13. package/dist/main/gql/types/graphql.js +2 -1
  14. package/dist/main/gql/types/graphql.js.map +1 -1
  15. package/dist/main/translations/sources/en.json +2 -1
  16. package/dist/module/InstrumentsTableWidget/Main.js +3 -4
  17. package/dist/module/InstrumentsTableWidget/Main.js.map +1 -1
  18. package/dist/module/InstrumentsTableWidget/components/Filters/Filters.js.map +1 -1
  19. package/dist/module/InstrumentsTableWidget/components/Filters/types.js.map +1 -1
  20. package/dist/module/InstrumentsTableWidget/config.js +9 -6
  21. package/dist/module/InstrumentsTableWidget/config.js.map +1 -1
  22. package/dist/module/InstrumentsTableWidget/types.js.map +1 -1
  23. package/dist/module/gql/resolveInstrumentsWithFilters.js +1 -1
  24. package/dist/module/gql/resolveInstrumentsWithFilters.js.map +1 -1
  25. package/dist/module/gql/types/gql.js +1 -1
  26. package/dist/module/gql/types/gql.js.map +1 -1
  27. package/dist/module/gql/types/graphql.js +2 -1
  28. package/dist/module/gql/types/graphql.js.map +1 -1
  29. package/dist/module/translations/sources/en.json +2 -1
  30. package/dist/types/InstrumentsTableWidget/Main.d.ts +1 -1
  31. package/dist/types/InstrumentsTableWidget/components/Filters/types.d.ts +3 -1
  32. package/dist/types/InstrumentsTableWidget/config.d.ts +2 -1
  33. package/dist/types/InstrumentsTableWidget/types.d.ts +3 -3
  34. package/dist/types/gql/types/gql.d.ts +3 -3
  35. package/dist/types/gql/types/graphql.d.ts +3 -2
  36. package/package.json +3 -3
  37. package/src/InstrumentsTableWidget/Main.tsx +19 -26
  38. package/src/InstrumentsTableWidget/components/Filters/Filters.tsx +2 -2
  39. package/src/InstrumentsTableWidget/components/Filters/types.ts +5 -1
  40. package/src/InstrumentsTableWidget/config.ts +12 -7
  41. package/src/InstrumentsTableWidget/types.ts +7 -3
  42. package/src/gql/resolveInstrumentsWithFilters.ts +1 -1
  43. package/src/gql/types/gql.ts +3 -3
  44. package/src/gql/types/graphql.ts +4 -4
  45. package/src/translations/sources/en.json +2 -1
  46. package/test/Main.test.tsx +7 -3
package/CHANGELOG.md CHANGED
@@ -3,6 +3,210 @@
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.25 (2025-07-17)
7
+
8
+
9
+
10
+ ## 1.0.204 (2025-07-09)
11
+
12
+
13
+
14
+ ## 1.0.203 (2025-06-16)
15
+
16
+
17
+
18
+ ## 1.0.202 (2025-06-04)
19
+
20
+
21
+
22
+ ## 1.0.201 (2025-06-02)
23
+
24
+
25
+
26
+ ## 1.0.200 (2025-05-30)
27
+
28
+
29
+
30
+ ## 1.0.199 (2025-05-29)
31
+
32
+
33
+
34
+ ## 1.0.198 (2025-05-26)
35
+
36
+
37
+
38
+ ## 1.0.197 (2025-05-23)
39
+
40
+
41
+
42
+ ## 1.0.196 (2025-05-22)
43
+
44
+
45
+
46
+ ## 1.0.195 (2025-05-21)
47
+
48
+
49
+
50
+ ## 1.0.194 (2025-05-21)
51
+
52
+
53
+
54
+ ## 1.0.193 (2025-05-15)
55
+
56
+
57
+
58
+ ## 1.0.192 (2025-05-14)
59
+
60
+
61
+
62
+ ## 1.0.191 (2025-04-30)
63
+
64
+
65
+
66
+ ## 1.0.190 (2025-04-28)
67
+
68
+
69
+
70
+ ## 1.0.189 (2025-04-23)
71
+
72
+
73
+
74
+ ## 1.0.188 (2025-04-22)
75
+
76
+
77
+
78
+ ## 1.0.187 (2025-04-18)
79
+
80
+
81
+
82
+ ## 1.0.186 (2025-04-10)
83
+
84
+
85
+
86
+ ## 1.0.185 (2025-04-09)
87
+
88
+
89
+
90
+ ## 1.0.184 (2025-04-08)
91
+
92
+
93
+
94
+ ## 1.0.183 (2025-04-04)
95
+
96
+
97
+
98
+ ## 1.0.182 (2025-03-21)
99
+
100
+
101
+
102
+ ## 1.0.181 (2025-03-13)
103
+
104
+ **Note:** Version bump only for package @oanda/labs-instruments-table-widget
105
+
106
+
107
+
108
+
109
+
110
+ ## 1.0.24 (2025-07-09)
111
+
112
+
113
+
114
+ ## 1.0.203 (2025-06-16)
115
+
116
+
117
+
118
+ ## 1.0.202 (2025-06-04)
119
+
120
+
121
+
122
+ ## 1.0.201 (2025-06-02)
123
+
124
+
125
+
126
+ ## 1.0.200 (2025-05-30)
127
+
128
+
129
+
130
+ ## 1.0.199 (2025-05-29)
131
+
132
+
133
+
134
+ ## 1.0.198 (2025-05-26)
135
+
136
+
137
+
138
+ ## 1.0.197 (2025-05-23)
139
+
140
+
141
+
142
+ ## 1.0.196 (2025-05-22)
143
+
144
+
145
+
146
+ ## 1.0.195 (2025-05-21)
147
+
148
+
149
+
150
+ ## 1.0.194 (2025-05-21)
151
+
152
+
153
+
154
+ ## 1.0.193 (2025-05-15)
155
+
156
+
157
+
158
+ ## 1.0.192 (2025-05-14)
159
+
160
+
161
+
162
+ ## 1.0.191 (2025-04-30)
163
+
164
+
165
+
166
+ ## 1.0.190 (2025-04-28)
167
+
168
+
169
+
170
+ ## 1.0.189 (2025-04-23)
171
+
172
+
173
+
174
+ ## 1.0.188 (2025-04-22)
175
+
176
+
177
+
178
+ ## 1.0.187 (2025-04-18)
179
+
180
+
181
+
182
+ ## 1.0.186 (2025-04-10)
183
+
184
+
185
+
186
+ ## 1.0.185 (2025-04-09)
187
+
188
+
189
+
190
+ ## 1.0.184 (2025-04-08)
191
+
192
+
193
+
194
+ ## 1.0.183 (2025-04-04)
195
+
196
+
197
+
198
+ ## 1.0.182 (2025-03-21)
199
+
200
+
201
+
202
+ ## 1.0.181 (2025-03-13)
203
+
204
+ **Note:** Version bump only for package @oanda/labs-instruments-table-widget
205
+
206
+
207
+
208
+
209
+
6
210
  ## 1.0.23 (2025-06-16)
7
211
 
8
212
 
@@ -19,7 +19,7 @@ const Main = _ref => {
19
19
  let {
20
20
  instruments = [],
21
21
  division,
22
- assetClasses: paramsAssetClasses,
22
+ assetClasses,
23
23
  columns = _constant.DEFAULT_COLUMNS,
24
24
  isAssetClassFilterEnabled,
25
25
  isInstrumentSearchEnabled,
@@ -36,7 +36,6 @@ const Main = _ref => {
36
36
  closeQuery
37
37
  } = (0, _labsWidgetCommon.useLiveRatesQuery)();
38
38
  const [records, setRecords] = (0, _react.useState)(new Array(recordsPerPage).fill({}));
39
- const assetClasses = paramsAssetClasses?.map(assetClass => assetClass.toUpperCase());
40
39
  const [totalRecords, setTotalRecords] = (0, _react.useState)(0);
41
40
  const [queryVariables, setQueryVariables] = (0, _react.useState)({
42
41
  division,
@@ -47,7 +46,7 @@ const Main = _ref => {
47
46
  instruments,
48
47
  dataSource
49
48
  });
50
- const pageNumber = Math.floor(queryVariables.offset / recordsPerPage);
49
+ const pageNumber = queryVariables.offset ? Math.floor(queryVariables.offset / recordsPerPage) : 0;
51
50
  const {
52
51
  data,
53
52
  error,
@@ -119,7 +118,7 @@ const Main = _ref => {
119
118
  TabsComponent: isInstrumentSearchEnabled || isAssetClassFilterEnabled ? _react.default.createElement(_components.Filters, {
120
119
  assetClassOptions: [{
121
120
  id: 'ALL',
122
- label: lang('all')
121
+ label: lang(_config.assetClassLabels.ALL)
123
122
  }, ...(assetClasses || []).map(assetClass => ({
124
123
  id: assetClass,
125
124
  label: lang(_config.assetClassLabels[assetClass])
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","_resolveInstrumentsWithFilters","_components","_config","_constant","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Main","_ref","instruments","division","assetClasses","paramsAssetClasses","columns","DEFAULT_COLUMNS","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","documentRef","useRef","document","lang","useLocale","target","setQuery","closeQuery","useLiveRatesQuery","records","setRecords","useState","Array","fill","map","assetClass","toUpperCase","totalRecords","setTotalRecords","queryVariables","setQueryVariables","count","searchPattern","offset","pageNumber","Math","floor","data","error","loading","useQuery","resolveInstrumentsWithFilters","variables","fetchPolicy","errorPolicy","useEffect","newRecords","record","instrument","name","displayName","totalCount","instrumentsNames","_ref2","showError","onVisibilityChange","current","visibilityState","_ref3","useEventListener","createElement","Fragment","TableWidget","PaginationComponent","length","Pagination","currentPage","disabled","onPageChange","numb","prev","TabsComponent","Filters","assetClassOptions","id","label","assetClassLabels","onAssetClassChange","onSearchChange","activeColumns","hasError","headerColumns","getHeaderConfig","isLoading","testId","toolTipId","INSTRUMENT_TOOLTIP_ID","viewType","exports"],"sources":["../../../src/InstrumentsTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n Pagination,\n TableWidget,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useEventListener } from 'usehooks-ts';\n\nimport { resolveInstrumentsWithFilters } from '../gql/resolveInstrumentsWithFilters';\nimport type { Division, InstrumentDataSource } from '../gql/types/graphql';\nimport {\n type ResolveInstrumentsWithFiltersQuery,\n type ResolveInstrumentsWithFiltersQueryVariables,\n} from '../gql/types/graphql';\nimport { Filters } from './components';\nimport { assetClassLabels, getHeaderConfig } from './config';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { MainProps } from './types';\n\nconst Main = ({\n instruments = [],\n division,\n assetClasses: paramsAssetClasses,\n columns = DEFAULT_COLUMNS,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage = 10,\n dataSource,\n}: MainProps) => {\n const documentRef = useRef<Document>(document);\n const { lang } = useLocale();\n const { target, setQuery, closeQuery } = useLiveRatesQuery();\n\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(recordsPerPage).fill({})\n );\n\n const assetClasses = paramsAssetClasses?.map((assetClass) =>\n assetClass.toUpperCase()\n );\n\n const [totalRecords, setTotalRecords] = useState<number>(0);\n\n const [queryVariables, setQueryVariables] = useState<{\n division: Division;\n count: number;\n searchPattern: string;\n offset: number;\n assetClass: string[];\n instruments: string[];\n dataSource?: InstrumentDataSource;\n }>({\n division,\n count: recordsPerPage,\n searchPattern: '',\n offset: 0,\n assetClass: assetClasses || [],\n instruments,\n dataSource,\n });\n\n const pageNumber = Math.floor(queryVariables.offset / recordsPerPage);\n\n const { data, error, loading } = useQuery<\n ResolveInstrumentsWithFiltersQuery,\n ResolveInstrumentsWithFiltersQueryVariables\n >(resolveInstrumentsWithFilters, {\n variables: queryVariables,\n fetchPolicy: 'network-only',\n errorPolicy: 'all',\n });\n\n useEffect(() => {\n if (loading) {\n setRecords(new Array(recordsPerPage).fill({}));\n }\n if (!loading && data?.resolveInstrumentsWithFilters?.instruments) {\n const newRecords = data.resolveInstrumentsWithFilters.instruments.map(\n (record) => ({\n instrument: record?.name || '',\n displayName: record?.displayName || '',\n })\n );\n setRecords(newRecords);\n setTotalRecords(data.resolveInstrumentsWithFilters.totalCount);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loading, data]);\n\n useEffect(() => {\n const instrumentsNames = records.map(({ instrument }) => instrument);\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n const onVisibilityChange = () => {\n if (documentRef.current.visibilityState === 'hidden') {\n closeQuery();\n }\n if (documentRef.current.visibilityState === 'visible') {\n const instrumentsNames = records.map(({ instrument }) => instrument);\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n }\n };\n\n useEventListener('visibilitychange', onVisibilityChange, documentRef);\n\n return (\n <>\n <TableWidget\n PaginationComponent={\n records.length > 0 ? (\n <Pagination\n currentPage={pageNumber}\n disabled={loading}\n recordsPerPage={recordsPerPage}\n totalRecords={totalRecords}\n onPageChange={(numb) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: numb * recordsPerPage,\n }));\n }}\n />\n ) : (\n <></>\n )\n }\n TabsComponent={\n isInstrumentSearchEnabled || isAssetClassFilterEnabled ? (\n <Filters\n assetClassOptions={[\n {\n id: 'ALL',\n label: lang('all'),\n },\n ...(assetClasses || []).map((assetClass) => ({\n id: assetClass,\n label: lang(assetClassLabels[assetClass]),\n })),\n ]}\n isAssetClassFilterEnabled={isAssetClassFilterEnabled}\n isInstrumentSearchEnabled={isInstrumentSearchEnabled}\n onAssetClassChange={(assetClass) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: 0,\n searchPattern: '',\n assetClass:\n assetClass[0] === 'ALL' ? assetClasses || [] : assetClass,\n }));\n }}\n onSearchChange={(searchPattern) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: 0,\n searchPattern,\n }));\n }}\n />\n ) : (\n <></>\n )\n }\n activeColumns={columns}\n count={totalRecords}\n hasError={showError}\n headerColumns={getHeaderConfig(columns)}\n isLoading={loading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"instruments-table-wrapper\"\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n viewType=\"table\"\n />\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","_resolveInstrumentsWithFilters","_components","_config","_constant","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Main","_ref","instruments","division","assetClasses","columns","DEFAULT_COLUMNS","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","documentRef","useRef","document","lang","useLocale","target","setQuery","closeQuery","useLiveRatesQuery","records","setRecords","useState","Array","fill","totalRecords","setTotalRecords","queryVariables","setQueryVariables","count","searchPattern","offset","assetClass","pageNumber","Math","floor","data","error","loading","useQuery","resolveInstrumentsWithFilters","variables","fetchPolicy","errorPolicy","useEffect","newRecords","map","record","instrument","name","displayName","totalCount","instrumentsNames","_ref2","showError","onVisibilityChange","current","visibilityState","_ref3","useEventListener","createElement","Fragment","TableWidget","PaginationComponent","length","Pagination","currentPage","disabled","onPageChange","numb","prev","TabsComponent","Filters","assetClassOptions","id","label","assetClassLabels","ALL","onAssetClassChange","onSearchChange","activeColumns","hasError","headerColumns","getHeaderConfig","isLoading","testId","toolTipId","INSTRUMENT_TOOLTIP_ID","viewType","exports"],"sources":["../../../src/InstrumentsTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n Pagination,\n TableWidget,\n useLiveRatesQuery,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useEventListener } from 'usehooks-ts';\n\nimport { resolveInstrumentsWithFilters } from '../gql/resolveInstrumentsWithFilters';\nimport type { AssetClassName } from '../gql/types/graphql';\nimport {\n type ResolveInstrumentsWithFiltersQuery,\n type ResolveInstrumentsWithFiltersQueryVariables,\n} from '../gql/types/graphql';\nimport { Filters } from './components';\nimport { assetClassLabels, getHeaderConfig } from './config';\nimport { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID } from './constant';\nimport type { MainProps } from './types';\n\nconst Main = ({\n instruments = [],\n division,\n assetClasses,\n columns = DEFAULT_COLUMNS,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage = 10,\n dataSource,\n}: MainProps) => {\n const documentRef = useRef<Document>(document);\n const { lang } = useLocale();\n const { target, setQuery, closeQuery } = useLiveRatesQuery();\n\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(recordsPerPage).fill({})\n );\n\n const [totalRecords, setTotalRecords] = useState<number>(0);\n\n const [queryVariables, setQueryVariables] =\n useState<ResolveInstrumentsWithFiltersQueryVariables>({\n division,\n count: recordsPerPage,\n searchPattern: '',\n offset: 0,\n assetClass: assetClasses || [],\n instruments,\n dataSource,\n });\n\n const pageNumber = queryVariables.offset\n ? Math.floor(queryVariables.offset / recordsPerPage)\n : 0;\n\n const { data, error, loading } = useQuery<\n ResolveInstrumentsWithFiltersQuery,\n ResolveInstrumentsWithFiltersQueryVariables\n >(resolveInstrumentsWithFilters, {\n variables: queryVariables,\n fetchPolicy: 'network-only',\n errorPolicy: 'all',\n });\n\n useEffect(() => {\n if (loading) {\n setRecords(new Array(recordsPerPage).fill({}));\n }\n if (!loading && data?.resolveInstrumentsWithFilters?.instruments) {\n const newRecords = data.resolveInstrumentsWithFilters.instruments.map(\n (record) => ({\n instrument: record?.name || '',\n displayName: record?.displayName || '',\n })\n );\n setRecords(newRecords);\n setTotalRecords(data.resolveInstrumentsWithFilters.totalCount);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loading, data]);\n\n useEffect(() => {\n const instrumentsNames = records.map(({ instrument }) => instrument);\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [records]);\n\n const showError = (!loading && !!error) || (!loading && !data);\n\n const onVisibilityChange = () => {\n if (documentRef.current.visibilityState === 'hidden') {\n closeQuery();\n }\n if (documentRef.current.visibilityState === 'visible') {\n const instrumentsNames = records.map(({ instrument }) => instrument);\n if (instrumentsNames[0]) {\n setQuery({ instruments: instrumentsNames });\n }\n }\n };\n\n useEventListener('visibilitychange', onVisibilityChange, documentRef);\n\n return (\n <>\n <TableWidget\n PaginationComponent={\n records.length > 0 ? (\n <Pagination\n currentPage={pageNumber}\n disabled={loading}\n recordsPerPage={recordsPerPage}\n totalRecords={totalRecords}\n onPageChange={(numb) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: numb * recordsPerPage,\n }));\n }}\n />\n ) : (\n <></>\n )\n }\n TabsComponent={\n isInstrumentSearchEnabled || isAssetClassFilterEnabled ? (\n <Filters\n assetClassOptions={[\n {\n id: 'ALL',\n label: lang(assetClassLabels.ALL),\n },\n ...(assetClasses || []).map((assetClass) => ({\n id: assetClass,\n label: lang(assetClassLabels[assetClass]),\n })),\n ]}\n isAssetClassFilterEnabled={isAssetClassFilterEnabled}\n isInstrumentSearchEnabled={isInstrumentSearchEnabled}\n onAssetClassChange={(assetClass) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: 0,\n searchPattern: '',\n assetClass:\n assetClass[0] === 'ALL'\n ? assetClasses || []\n : (assetClass as AssetClassName[]),\n }));\n }}\n onSearchChange={(searchPattern) => {\n setQueryVariables((prev) => ({\n ...prev,\n offset: 0,\n searchPattern,\n }));\n }}\n />\n ) : (\n <></>\n )\n }\n activeColumns={columns}\n count={totalRecords}\n hasError={showError}\n headerColumns={getHeaderConfig(columns)}\n isLoading={loading}\n pageNumber={pageNumber}\n records={records}\n target={target}\n testId=\"instruments-table-wrapper\"\n toolTipId={INSTRUMENT_TOOLTIP_ID}\n viewType=\"table\"\n />\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Filters","_ref","assetClassOptions","onSearchChange","onAssetClassChange","isAssetClassFilterEnabled","isInstrumentSearchEnabled","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","assetClass","setAssetClass","useState","id","searchInputValue","setSearchInputValue","debounced","useDebounceCallback","val","handleTextInputSearch","value","length","createElement","className","cn","Select","options","selectLabel","selectedOption","find","opt","setSelectedOption","option","TextInput","label","placeholder","onChange","exports"],"sources":["../../../../../src/InstrumentsTableWidget/components/Filters/Filters.tsx"],"sourcesContent":["import {\n cn,\n Select,\n Size,\n TextInput,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useState } from 'react';\nimport { useDebounceCallback } from 'usehooks-ts';\n\nimport type { FiltersProps } from './types';\n\nexport const Filters = ({\n assetClassOptions,\n onSearchChange,\n onAssetClassChange,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n}: FiltersProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const [assetClass, setAssetClass] = useState([assetClassOptions[0].id]);\n const [searchInputValue, setSearchInputValue] = useState('');\n\n const debounced = useDebounceCallback((val: string) => {\n onSearchChange(val);\n }, 300);\n\n const handleTextInputSearch = (value: string) => {\n setSearchInputValue(value);\n if (value.length >= 3) {\n debounced(value);\n }\n if (value.length === 0) {\n onSearchChange(value);\n }\n };\n\n return (\n <div\n className={cn('lw-mb-4 lw-mt-2 lw-flex lw-w-full lw-gap-4', {\n 'lw-flex-col': !isDesktop,\n 'lw-flex-row': isDesktop,\n })}\n >\n {isAssetClassFilterEnabled && (\n <div\n className={cn({\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={assetClassOptions}\n selectLabel={lang('asset_class')}\n selectedOption={\n assetClassOptions.find((opt) => opt.id === assetClass[0]) ||\n assetClassOptions[0]\n }\n setSelectedOption={(option) => {\n setAssetClass([option.id]);\n onAssetClassChange([option.id]);\n setSearchInputValue('');\n onSearchChange('');\n }}\n />\n </div>\n )}\n {isInstrumentSearchEnabled && (\n <div\n className={cn({\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <TextInput\n label={lang('search')}\n placeholder={lang('instrument_name')}\n value={searchInputValue}\n onChange={handleTextInputSearch}\n />\n </div>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAOA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,uBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAAkD,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAI3C,MAAMW,OAAO,GAAGC,IAAA,IAMH;EAAA,IANI;IACtBC,iBAAiB;IACjBC,cAAc;IACdC,kBAAkB;IAClBC,yBAAyB;IACzBC;EACY,CAAC,GAAAL,IAAA;EACb,MAAM;IAAEM;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAC5B,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EAEvC,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,CAACd,iBAAiB,CAAC,CAAC,CAAC,CAACe,EAAE,CAAC,CAAC;EACvE,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAH,eAAQ,EAAC,EAAE,CAAC;EAE5D,MAAMI,SAAS,GAAG,IAAAC,+BAAmB,EAAEC,GAAW,IAAK;IACrDnB,cAAc,CAACmB,GAAG,CAAC;EACrB,CAAC,EAAE,GAAG,CAAC;EAEP,MAAMC,qBAAqB,GAAIC,KAAa,IAAK;IAC/CL,mBAAmB,CAACK,KAAK,CAAC;IAC1B,IAAIA,KAAK,CAACC,MAAM,IAAI,CAAC,EAAE;MACrBL,SAAS,CAACI,KAAK,CAAC;IAClB;IACA,IAAIA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MACtBtB,cAAc,CAACqB,KAAK,CAAC;IACvB;EACF,CAAC;EAED,OACE/C,MAAA,CAAAS,OAAA,CAAAwC,aAAA;IACEC,SAAS,EAAE,IAAAC,oBAAE,EAAC,4CAA4C,EAAE;MAC1D,aAAa,EAAE,CAACjB,SAAS;MACzB,aAAa,EAAEA;IACjB,CAAC;EAAE,GAEFN,yBAAyB,IACxB5B,MAAA,CAAAS,OAAA,CAAAwC,aAAA;IACEC,SAAS,EAAE,IAAAC,oBAAE,EAAC;MACZ,WAAW,EAAE,CAACjB,SAAS;MACvB,cAAc,EAAEA;IAClB,CAAC;EAAE,GAEHlC,MAAA,CAAAS,OAAA,CAAAwC,aAAA,CAACpD,iBAAA,CAAAuD,MAAM;IACLC,OAAO,EAAE5B,iBAAkB;IAC3B6B,WAAW,EAAExB,IAAI,CAAC,aAAa,CAAE;IACjCyB,cAAc,EACZ9B,iBAAiB,CAAC+B,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACjB,EAAE,KAAKH,UAAU,CAAC,CAAC,CAAC,CAAC,IACzDZ,iBAAiB,CAAC,CAAC,CACpB;IACDiC,iBAAiB,EAAGC,MAAM,IAAK;MAC7BrB,aAAa,CAAC,CAACqB,MAAM,CAACnB,EAAE,CAAC,CAAC;MAC1Bb,kBAAkB,CAAC,CAACgC,MAAM,CAACnB,EAAE,CAAC,CAAC;MAC/BE,mBAAmB,CAAC,EAAE,CAAC;MACvBhB,cAAc,CAAC,EAAE,CAAC;IACpB;EAAE,CACH,CACE,CACN,EACAG,yBAAyB,IACxB7B,MAAA,CAAAS,OAAA,CAAAwC,aAAA;IACEC,SAAS,EAAE,IAAAC,oBAAE,EAAC;MACZ,WAAW,EAAE,CAACjB,SAAS;MACvB,cAAc,EAAEA;IAClB,CAAC;EAAE,GAEHlC,MAAA,CAAAS,OAAA,CAAAwC,aAAA,CAACpD,iBAAA,CAAA+D,SAAS;IACRC,KAAK,EAAE/B,IAAI,CAAC,QAAQ,CAAE;IACtBgC,WAAW,EAAEhC,IAAI,CAAC,iBAAiB,CAAE;IACrCiB,KAAK,EAAEN,gBAAiB;IACxBsB,QAAQ,EAAEjB;EAAsB,CACjC,CACE,CAEJ,CAAC;AAEV,CAAC;AAACkB,OAAA,CAAAzC,OAAA,GAAAA,OAAA","ignoreList":[]}
1
+ {"version":3,"file":"Filters.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Filters","_ref","assetClassOptions","onSearchChange","onAssetClassChange","isAssetClassFilterEnabled","isInstrumentSearchEnabled","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","assetClass","setAssetClass","useState","id","searchInputValue","setSearchInputValue","debounced","useDebounceCallback","val","handleTextInputSearch","value","length","createElement","className","cn","Select","options","selectLabel","selectedOption","find","opt","setSelectedOption","option","TextInput","label","placeholder","onChange","exports"],"sources":["../../../../../src/InstrumentsTableWidget/components/Filters/Filters.tsx"],"sourcesContent":["import {\n cn,\n Select,\n Size,\n TextInput,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useState } from 'react';\nimport { useDebounceCallback } from 'usehooks-ts';\n\nimport type { AssetClassLabels, FiltersProps } from './types';\n\nexport const Filters = ({\n assetClassOptions,\n onSearchChange,\n onAssetClassChange,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n}: FiltersProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const [assetClass, setAssetClass] = useState([assetClassOptions[0].id]);\n const [searchInputValue, setSearchInputValue] = useState('');\n\n const debounced = useDebounceCallback((val: string) => {\n onSearchChange(val);\n }, 300);\n\n const handleTextInputSearch = (value: string) => {\n setSearchInputValue(value);\n if (value.length >= 3) {\n debounced(value);\n }\n if (value.length === 0) {\n onSearchChange(value);\n }\n };\n\n return (\n <div\n className={cn('lw-mb-4 lw-mt-2 lw-flex lw-w-full lw-gap-4', {\n 'lw-flex-col': !isDesktop,\n 'lw-flex-row': isDesktop,\n })}\n >\n {isAssetClassFilterEnabled && (\n <div\n className={cn({\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={assetClassOptions}\n selectLabel={lang('asset_class')}\n selectedOption={\n assetClassOptions.find((opt) => opt.id === assetClass[0]) ||\n assetClassOptions[0]\n }\n setSelectedOption={(option) => {\n setAssetClass([option.id]);\n onAssetClassChange([option.id as AssetClassLabels]);\n setSearchInputValue('');\n onSearchChange('');\n }}\n />\n </div>\n )}\n {isInstrumentSearchEnabled && (\n <div\n className={cn({\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <TextInput\n label={lang('search')}\n placeholder={lang('instrument_name')}\n value={searchInputValue}\n onChange={handleTextInputSearch}\n />\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/InstrumentsTableWidget/components/Filters/types.ts"],"sourcesContent":["import type { SelectOption } from '@oanda/labs-widget-common';\n\nexport interface FiltersProps {\n onAssetClassChange: (assetClass: string[]) => void;\n onSearchChange: (searchPattern: string) => void;\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n assetClassOptions: SelectOption[];\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/InstrumentsTableWidget/components/Filters/types.ts"],"sourcesContent":["import type { SelectOption } from '@oanda/labs-widget-common';\n\nimport type { AssetClassName } from '../../../gql/types/graphql';\n\nexport type AssetClassLabels = AssetClassName | 'ALL';\n\nexport interface FiltersProps {\n onAssetClassChange: (assetClass: AssetClassLabels[]) => void;\n onSearchChange: (searchPattern: string) => void;\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n assetClassOptions: SelectOption[];\n}\n"],"mappings":"","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.headerConfig = exports.getHeaderConfig = exports.assetClassLabels = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _graphql = require("../gql/types/graphql");
8
9
  const headerConfig = exports.headerConfig = {
9
10
  [_labsWidgetCommon.DataRecordType.INSTRUMENT]: {
10
11
  displayName: 'instrument',
@@ -36,12 +37,14 @@ const headerConfig = exports.headerConfig = {
36
37
  }
37
38
  };
38
39
  const assetClassLabels = exports.assetClassLabels = {
39
- CURRENCY: 'currency',
40
- COMMODITIES: 'commodity',
41
- RATES: 'bond',
42
- CRYPTOCURRENCY: 'crypto',
43
- EQUITY_SHARES: 'share_sfds',
44
- INDICES: 'index'
40
+ ALL: 'all',
41
+ [_graphql.AssetClassName.Currency]: 'currency',
42
+ [_graphql.AssetClassName.Commodities]: 'commodity',
43
+ [_graphql.AssetClassName.Rates]: 'bond',
44
+ [_graphql.AssetClassName.Cryptocurrency]: 'crypto',
45
+ [_graphql.AssetClassName.EquityShares]: 'share_cfds',
46
+ [_graphql.AssetClassName.Etfs]: 'etf_cfds',
47
+ [_graphql.AssetClassName.Indices]: 'index'
45
48
  };
46
49
  const getHeaderConfig = activeColumns => {
47
50
  const columns = [_labsWidgetCommon.DataRecordType.INSTRUMENT, ...activeColumns].filter(item => item !== _labsWidgetCommon.DataRecordType.SENTIMENT);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","names":["_labsWidgetCommon","require","headerConfig","exports","DataRecordType","INSTRUMENT","displayName","additionalStyles","SELL","BUY","SPREAD","DAILY_CHANGE","HIGH","LOW","assetClassLabels","CURRENCY","COMMODITIES","RATES","CRYPTOCURRENCY","EQUITY_SHARES","INDICES","getHeaderConfig","activeColumns","columns","filter","item","SENTIMENT","map"],"sources":["../../../src/InstrumentsTableWidget/config.ts"],"sourcesContent":["import type { HeaderColumns } from '@oanda/labs-widget-common';\nimport { DataRecordType } from '@oanda/labs-widget-common';\n\ntype HeaderRecordType =\n | DataRecordType.INSTRUMENT\n | DataRecordType.SELL\n | DataRecordType.BUY\n | DataRecordType.DAILY_CHANGE\n | DataRecordType.SPREAD\n | DataRecordType.HIGH\n | DataRecordType.LOW;\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.SPREAD]: {\n displayName: 'spread',\n additionalStyles: 'lw-text-right lw-min-w-[50px]',\n },\n [DataRecordType.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n [DataRecordType.HIGH]: {\n displayName: 'today_high',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n [DataRecordType.LOW]: {\n displayName: 'today_low',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n};\n\nconst assetClassLabels: Record<string, string> = {\n CURRENCY: 'currency',\n COMMODITIES: 'commodity',\n RATES: 'bond',\n CRYPTOCURRENCY: 'crypto',\n EQUITY_SHARES: 'share_sfds',\n INDICES: 'index',\n};\n\nconst getHeaderConfig = (activeColumns: DataRecordType[]): HeaderColumns[] => {\n const columns: HeaderRecordType[] = [\n DataRecordType.INSTRUMENT,\n ...activeColumns,\n ].filter(\n (item): item is HeaderRecordType => item !== DataRecordType.SENTIMENT\n );\n\n return columns.map((item) => headerConfig[item]);\n};\n\nexport { assetClassLabels, getHeaderConfig, headerConfig };\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAWA,MAAMC,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,MAAM,GAAG;IACvBJ,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACO,YAAY,GAAG;IAC7BL,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACQ,IAAI,GAAG;IACrBN,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACS,GAAG,GAAG;IACpBP,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMO,gBAAwC,GAAAX,OAAA,CAAAW,gBAAA,GAAG;EAC/CC,QAAQ,EAAE,UAAU;EACpBC,WAAW,EAAE,WAAW;EACxBC,KAAK,EAAE,MAAM;EACbC,cAAc,EAAE,QAAQ;EACxBC,aAAa,EAAE,YAAY;EAC3BC,OAAO,EAAE;AACX,CAAC;AAED,MAAMC,eAAe,GAAIC,aAA+B,IAAsB;EAC5E,MAAMC,OAA2B,GAAG,CAClCnB,gCAAc,CAACC,UAAU,EACzB,GAAGiB,aAAa,CACjB,CAACE,MAAM,CACLC,IAAI,IAA+BA,IAAI,KAAKrB,gCAAc,CAACsB,SAC9D,CAAC;EAED,OAAOH,OAAO,CAACI,GAAG,CAAEF,IAAI,IAAKvB,YAAY,CAACuB,IAAI,CAAC,CAAC;AAClD,CAAC;AAACtB,OAAA,CAAAkB,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"file":"config.js","names":["_labsWidgetCommon","require","_graphql","headerConfig","exports","DataRecordType","INSTRUMENT","displayName","additionalStyles","SELL","BUY","SPREAD","DAILY_CHANGE","HIGH","LOW","assetClassLabels","ALL","AssetClassName","Currency","Commodities","Rates","Cryptocurrency","EquityShares","Etfs","Indices","getHeaderConfig","activeColumns","columns","filter","item","SENTIMENT","map"],"sources":["../../../src/InstrumentsTableWidget/config.ts"],"sourcesContent":["import type { HeaderColumns } from '@oanda/labs-widget-common';\nimport { DataRecordType } from '@oanda/labs-widget-common';\n\nimport { AssetClassName } from '../gql/types/graphql';\nimport type { AssetClassLabels } from './components/Filters/types';\n\ntype HeaderRecordType =\n | DataRecordType.INSTRUMENT\n | DataRecordType.SELL\n | DataRecordType.BUY\n | DataRecordType.DAILY_CHANGE\n | DataRecordType.SPREAD\n | DataRecordType.HIGH\n | DataRecordType.LOW;\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.SPREAD]: {\n displayName: 'spread',\n additionalStyles: 'lw-text-right lw-min-w-[50px]',\n },\n [DataRecordType.DAILY_CHANGE]: {\n displayName: 'daily_percent_change',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n [DataRecordType.HIGH]: {\n displayName: 'today_high',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n [DataRecordType.LOW]: {\n displayName: 'today_low',\n additionalStyles: 'lw-text-right lw-min-w-[80px]',\n },\n};\n\nconst assetClassLabels: Record<AssetClassLabels, string> = {\n ALL: 'all',\n [AssetClassName.Currency]: 'currency',\n [AssetClassName.Commodities]: 'commodity',\n [AssetClassName.Rates]: 'bond',\n [AssetClassName.Cryptocurrency]: 'crypto',\n [AssetClassName.EquityShares]: 'share_cfds',\n [AssetClassName.Etfs]: 'etf_cfds',\n [AssetClassName.Indices]: 'index',\n};\n\nconst getHeaderConfig = (activeColumns: DataRecordType[]): HeaderColumns[] => {\n const columns: HeaderRecordType[] = [\n DataRecordType.INSTRUMENT,\n ...activeColumns,\n ].filter(\n (item): item is HeaderRecordType => item !== DataRecordType.SENTIMENT\n );\n\n return columns.map((item) => headerConfig[item]);\n};\n\nexport { assetClassLabels, getHeaderConfig, headerConfig };\n"],"mappings":";;;;;;AACA,IAAAA,iBAAA,GAAAC,OAAA;AAEA,IAAAC,QAAA,GAAAD,OAAA;AAYA,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,MAAM,GAAG;IACvBJ,WAAW,EAAE,QAAQ;IACrBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACO,YAAY,GAAG;IAC7BL,WAAW,EAAE,sBAAsB;IACnCC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACQ,IAAI,GAAG;IACrBN,WAAW,EAAE,YAAY;IACzBC,gBAAgB,EAAE;EACpB,CAAC;EACD,CAACH,gCAAc,CAACS,GAAG,GAAG;IACpBP,WAAW,EAAE,WAAW;IACxBC,gBAAgB,EAAE;EACpB;AACF,CAAC;AAED,MAAMO,gBAAkD,GAAAX,OAAA,CAAAW,gBAAA,GAAG;EACzDC,GAAG,EAAE,KAAK;EACV,CAACC,uBAAc,CAACC,QAAQ,GAAG,UAAU;EACrC,CAACD,uBAAc,CAACE,WAAW,GAAG,WAAW;EACzC,CAACF,uBAAc,CAACG,KAAK,GAAG,MAAM;EAC9B,CAACH,uBAAc,CAACI,cAAc,GAAG,QAAQ;EACzC,CAACJ,uBAAc,CAACK,YAAY,GAAG,YAAY;EAC3C,CAACL,uBAAc,CAACM,IAAI,GAAG,UAAU;EACjC,CAACN,uBAAc,CAACO,OAAO,GAAG;AAC5B,CAAC;AAED,MAAMC,eAAe,GAAIC,aAA+B,IAAsB;EAC5E,MAAMC,OAA2B,GAAG,CAClCtB,gCAAc,CAACC,UAAU,EACzB,GAAGoB,aAAa,CACjB,CAACE,MAAM,CACLC,IAAI,IAA+BA,IAAI,KAAKxB,gCAAc,CAACyB,SAC9D,CAAC;EAED,OAAOH,OAAO,CAACI,GAAG,CAAEF,IAAI,IAAK1B,YAAY,CAAC0B,IAAI,CAAC,CAAC;AAClD,CAAC;AAACzB,OAAA,CAAAqB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["PriceType","exports"],"sources":["../../../src/InstrumentsTableWidget/types.ts"],"sourcesContent":["import type { DataRecordType, WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type { Division, InstrumentDataSource } from '../gql/types/graphql';\n\nexport enum PriceType {\n Raw = 'raw',\n Division = 'division',\n}\n\nexport interface InstrumentsTableConfig extends WidgetConfig {\n liveRatesUrl: string;\n instruments?: string[];\n division: Division;\n columns?: DataRecordType[];\n assetClasses?: string[];\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n recordsPerPage?: number;\n dataSource: InstrumentDataSource;\n priceType?: PriceType;\n}\n\nexport interface MainProps {\n instruments?: string[];\n division: Division;\n columns?: DataRecordType[];\n assetClasses?: string[];\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n recordsPerPage?: number;\n dataSource: InstrumentDataSource;\n}\n"],"mappings":";;;;;;IAIYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,aAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["PriceType","exports"],"sources":["../../../src/InstrumentsTableWidget/types.ts"],"sourcesContent":["import type { DataRecordType, WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type {\n AssetClassName,\n Division,\n InstrumentDataSource,\n} from '../gql/types/graphql';\n\nexport enum PriceType {\n Raw = 'raw',\n Division = 'division',\n}\n\nexport interface InstrumentsTableConfig extends WidgetConfig {\n liveRatesUrl: string;\n instruments?: string[];\n division: Division;\n columns?: DataRecordType[];\n assetClasses?: AssetClassName[];\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n recordsPerPage?: number;\n dataSource: InstrumentDataSource;\n priceType?: PriceType;\n}\n\nexport interface MainProps {\n instruments?: string[];\n division: Division;\n columns?: DataRecordType[];\n assetClasses?: AssetClassName[];\n isAssetClassFilterEnabled?: boolean;\n isInstrumentSearchEnabled?: boolean;\n recordsPerPage?: number;\n dataSource: InstrumentDataSource;\n}\n"],"mappings":";;;;;;IAQYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,aAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -8,7 +8,7 @@ var _client = require("@apollo/client");
8
8
  const resolveInstrumentsWithFilters = exports.resolveInstrumentsWithFilters = (0, _client.gql)`
9
9
  query resolveInstrumentsWithFilters(
10
10
  $division: Division!
11
- $assetClass: [String]
11
+ $assetClass: [AssetClassName]
12
12
  $dataSource: InstrumentDataSource
13
13
  $instruments: [String]
14
14
  $searchPattern: String
@@ -1 +1 @@
1
- {"version":3,"file":"resolveInstrumentsWithFilters.js","names":["_client","require","resolveInstrumentsWithFilters","exports","gql"],"sources":["../../../src/gql/resolveInstrumentsWithFilters.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const resolveInstrumentsWithFilters = gql`\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [String]\n $dataSource: InstrumentDataSource\n $instruments: [String]\n $searchPattern: String\n $count: Int\n $offset: Int\n ) {\n resolveInstrumentsWithFilters(\n division: $division\n assetClass: $assetClass\n dataSource: $dataSource\n instruments: $instruments\n searchPattern: $searchPattern\n count: $count\n offset: $offset\n ) {\n instruments {\n name\n displayName\n }\n totalCount\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,IAAAE,WAAG;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"resolveInstrumentsWithFilters.js","names":["_client","require","resolveInstrumentsWithFilters","exports","gql"],"sources":["../../../src/gql/resolveInstrumentsWithFilters.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const resolveInstrumentsWithFilters = gql`\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: InstrumentDataSource\n $instruments: [String]\n $searchPattern: String\n $count: Int\n $offset: Int\n ) {\n resolveInstrumentsWithFilters(\n division: $division\n assetClass: $assetClass\n dataSource: $dataSource\n instruments: $instruments\n searchPattern: $searchPattern\n count: $count\n offset: $offset\n ) {\n instruments {\n name\n displayName\n }\n totalCount\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,6BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,IAAAE,WAAG;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -8,7 +8,7 @@ var types = _interopRequireWildcard(require("./graphql"));
8
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
9
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
10
10
  const documents = {
11
- '\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [String]\n $dataSource: InstrumentDataSource\n $instruments: [String]\n $searchPattern: String\n $count: Int\n $offset: Int\n ) {\n resolveInstrumentsWithFilters(\n division: $division\n assetClass: $assetClass\n dataSource: $dataSource\n instruments: $instruments\n searchPattern: $searchPattern\n count: $count\n offset: $offset\n ) {\n instruments {\n name\n displayName\n }\n totalCount\n }\n }\n': types.ResolveInstrumentsWithFiltersDocument
11
+ '\n query resolveInstrumentsWithFilters(\n $division: Division!\n $assetClass: [AssetClassName]\n $dataSource: InstrumentDataSource\n $instruments: [String]\n $searchPattern: String\n $count: Int\n $offset: Int\n ) {\n resolveInstrumentsWithFilters(\n division: $division\n assetClass: $assetClass\n dataSource: $dataSource\n instruments: $instruments\n searchPattern: $searchPattern\n count: $count\n offset: $offset\n ) {\n instruments {\n name\n displayName\n }\n totalCount\n }\n }\n': types.ResolveInstrumentsWithFiltersDocument
12
12
  };
13
13
  function graphql(source) {
14
14
  return documents[source] ?? {};
@@ -1 +1 @@
1
- {"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","documents","ResolveInstrumentsWithFiltersDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [String]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n':\n types.ResolveInstrumentsWithFiltersDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [String]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n'\n): (typeof documents)['\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [String]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAanC,MAAMW,SAAS,GAAG;EAChB,ikBAAikB,EAC/jBvB,KAAK,CAACwB;AACV,CAAC;AAuBM,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQH,SAAS,CAASG,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
1
+ {"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","documents","ResolveInstrumentsWithFiltersDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n':\n types.ResolveInstrumentsWithFiltersDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n'\n): (typeof documents)['\\n query resolveInstrumentsWithFilters(\\n $division: Division!\\n $assetClass: [AssetClassName]\\n $dataSource: InstrumentDataSource\\n $instruments: [String]\\n $searchPattern: String\\n $count: Int\\n $offset: Int\\n ) {\\n resolveInstrumentsWithFilters(\\n division: $division\\n assetClass: $assetClass\\n dataSource: $dataSource\\n instruments: $instruments\\n searchPattern: $searchPattern\\n count: $count\\n offset: $offset\\n ) {\\n instruments {\\n name\\n displayName\\n }\\n totalCount\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAanC,MAAMW,SAAS,GAAG;EAChB,ykBAAykB,EACvkBvB,KAAK,CAACwB;AACV,CAAC;AAuBM,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQH,SAAS,CAASG,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
@@ -9,6 +9,7 @@ let AssetClassName = exports.AssetClassName = function (AssetClassName) {
9
9
  AssetClassName["Cryptocurrency"] = "CRYPTOCURRENCY";
10
10
  AssetClassName["Currency"] = "CURRENCY";
11
11
  AssetClassName["EquityShares"] = "EQUITY_SHARES";
12
+ AssetClassName["Etfs"] = "ETFS";
12
13
  AssetClassName["Indices"] = "INDICES";
13
14
  AssetClassName["Rates"] = "RATES";
14
15
  return AssetClassName;
@@ -165,7 +166,7 @@ const ResolveInstrumentsWithFiltersDocument = exports.ResolveInstrumentsWithFilt
165
166
  kind: 'NamedType',
166
167
  name: {
167
168
  kind: 'Name',
168
- value: 'String'
169
+ value: 'AssetClassName'
169
170
  }
170
171
  }
171
172
  }