@oanda/labs-instruments-table-widget 1.0.71 → 1.0.73

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 (44) hide show
  1. package/CHANGELOG.md +469 -5409
  2. package/dist/module/InstrumentsTableWidget/InstrumentsTableWidget.js +26 -19
  3. package/dist/module/InstrumentsTableWidget/InstrumentsTableWidget.js.map +1 -1
  4. package/dist/module/InstrumentsTableWidget/Main.js +54 -47
  5. package/dist/module/InstrumentsTableWidget/Main.js.map +1 -1
  6. package/dist/module/InstrumentsTableWidget/components/Filters/Filters.js +28 -20
  7. package/dist/module/InstrumentsTableWidget/components/Filters/Filters.js.map +1 -1
  8. package/dist/module/InstrumentsTableWidget/components/Filters/index.js +16 -1
  9. package/dist/module/InstrumentsTableWidget/components/Filters/index.js.map +1 -1
  10. package/dist/module/InstrumentsTableWidget/components/Filters/types.js +5 -1
  11. package/dist/module/InstrumentsTableWidget/components/index.js +16 -1
  12. package/dist/module/InstrumentsTableWidget/components/index.js.map +1 -1
  13. package/dist/module/InstrumentsTableWidget/config.js +34 -29
  14. package/dist/module/InstrumentsTableWidget/config.js.map +1 -1
  15. package/dist/module/InstrumentsTableWidget/constant.js +12 -7
  16. package/dist/module/InstrumentsTableWidget/constant.js.map +1 -1
  17. package/dist/module/InstrumentsTableWidget/index.js +27 -2
  18. package/dist/module/InstrumentsTableWidget/index.js.map +1 -1
  19. package/dist/module/InstrumentsTableWidget/render.js +14 -11
  20. package/dist/module/InstrumentsTableWidget/render.js.map +1 -1
  21. package/dist/module/InstrumentsTableWidget/types.js +7 -1
  22. package/dist/module/InstrumentsTableWidget/types.js.map +1 -1
  23. package/dist/module/InstrumentsTableWidget/utils.js +10 -4
  24. package/dist/module/InstrumentsTableWidget/utils.js.map +1 -1
  25. package/dist/module/gql/resolveInstrumentsWithFilters.js +8 -2
  26. package/dist/module/gql/resolveInstrumentsWithFilters.js.map +1 -1
  27. package/dist/module/gql/types/fragment-masking.js +11 -3
  28. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  29. package/dist/module/gql/types/gql.js +9 -2
  30. package/dist/module/gql/types/gql.js.map +1 -1
  31. package/dist/module/gql/types/graphql.js +25 -19
  32. package/dist/module/gql/types/graphql.js.map +1 -1
  33. package/dist/module/gql/types/index.js +27 -2
  34. package/dist/module/gql/types/index.js.map +1 -1
  35. package/dist/module/index.js +16 -1
  36. package/dist/module/index.js.map +1 -1
  37. package/dist/module/translations/index.js +44 -37
  38. package/dist/module/translations/index.js.map +1 -1
  39. package/dist/module/translations/translations.js +7 -1
  40. package/dist/module/translations/translations.js.map +1 -1
  41. package/dist/types/gql/resolveInstrumentsWithFilters.d.ts +1 -1
  42. package/lokalise.config.json +3 -16
  43. package/package.json +8 -4
  44. package/tsconfig.types.json +2 -4
@@ -1,10 +1,17 @@
1
- import { ApolloClient, InMemoryCache } from '@apollo/client';
2
- import { DataRecordType, WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';
3
- import React from 'react';
4
- import { DataSource } from '../gql/types/graphql';
5
- import { translations } from '../translations';
6
- import { Main } from './Main';
7
- import { PriceType } from './types';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InstrumentsTableWidget = void 0;
7
+ var _client = require("@apollo/client");
8
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _graphql = require("../gql/types/graphql");
11
+ var _translations = require("../translations");
12
+ var _Main = require("./Main");
13
+ var _types = require("./types");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
15
  const InstrumentsTableWidget = _ref => {
9
16
  let {
10
17
  division,
@@ -21,33 +28,33 @@ const InstrumentsTableWidget = _ref => {
21
28
  isInstrumentSearchEnabled,
22
29
  recordsPerPage,
23
30
  dataSource,
24
- priceType = PriceType.Division
31
+ priceType = _types.PriceType.Division
25
32
  } = _ref;
26
- const client = new ApolloClient({
33
+ const client = new _client.ApolloClient({
27
34
  uri: graphqlUrl,
28
- cache: new InMemoryCache()
35
+ cache: new _client.InMemoryCache()
29
36
  });
30
- const liveRatesDataSource = dataSource === DataSource.All ? undefined : dataSource;
31
- const divisionCode = priceType === PriceType.Division ? division : undefined;
32
- const liveRates = !columns || columns?.some(column => column === DataRecordType.BUY || column === DataRecordType.SELL || column === DataRecordType.DAILY_CHANGE || column === DataRecordType.SPREAD || column === DataRecordType.HIGH || column === DataRecordType.LOW) ? {
37
+ const liveRatesDataSource = dataSource === _graphql.DataSource.All ? undefined : dataSource;
38
+ const divisionCode = priceType === _types.PriceType.Division ? division : undefined;
39
+ const liveRates = !columns || columns?.some(column => column === _labsWidgetCommon.DataRecordType.BUY || column === _labsWidgetCommon.DataRecordType.SELL || column === _labsWidgetCommon.DataRecordType.DAILY_CHANGE || column === _labsWidgetCommon.DataRecordType.SPREAD || column === _labsWidgetCommon.DataRecordType.HIGH || column === _labsWidgetCommon.DataRecordType.LOW) ? {
33
40
  url: liveRatesUrl,
34
41
  options: {
35
42
  divisionCode,
36
43
  dataSource: liveRatesDataSource
37
44
  },
38
- multipleDataSources: dataSource === DataSource.All
45
+ multipleDataSources: dataSource === _graphql.DataSource.All
39
46
  } : undefined;
40
- return React.createElement(WidgetProvider, {
47
+ return _react.default.createElement(_labsWidgetCommon.WidgetProvider, {
41
48
  client: client,
42
49
  liveRates: liveRates,
43
50
  locale: locale,
44
51
  theme: theme,
45
- translations: translations
46
- }, React.createElement(WidgetWrapper, {
52
+ translations: _translations.translations
53
+ }, _react.default.createElement(_labsWidgetCommon.WidgetWrapper, {
47
54
  isParamError: isParamError,
48
55
  linkArea: "logo",
49
56
  logoLink: logoLink
50
- }, React.createElement(Main, {
57
+ }, _react.default.createElement(_Main.Main, {
51
58
  assetClasses: assetClasses,
52
59
  columns: columns,
53
60
  dataSource: dataSource,
@@ -60,5 +67,5 @@ const InstrumentsTableWidget = _ref => {
60
67
  recordsPerPage: recordsPerPage
61
68
  })));
62
69
  };
63
- export { InstrumentsTableWidget };
70
+ exports.InstrumentsTableWidget = InstrumentsTableWidget;
64
71
  //# sourceMappingURL=InstrumentsTableWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InstrumentsTableWidget.js","names":["ApolloClient","InMemoryCache","DataRecordType","WidgetProvider","WidgetWrapper","React","DataSource","translations","Main","PriceType","InstrumentsTableWidget","_ref","division","instruments","columns","graphqlUrl","locale","theme","isParamError","logoLink","liveRatesUrl","assetClasses","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","priceType","Division","client","uri","cache","liveRatesDataSource","All","undefined","divisionCode","liveRates","some","column","BUY","SELL","DAILY_CHANGE","SPREAD","HIGH","LOW","url","options","multipleDataSources","createElement","linkArea","isLiveRatesDisabled"],"sources":["../../../src/InstrumentsTableWidget/InstrumentsTableWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport {\n DataRecordType,\n WidgetProvider,\n WidgetWrapper,\n} from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { DataSource } from '../gql/types/graphql';\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { type InstrumentsTableConfig, PriceType } from './types';\n\nconst InstrumentsTableWidget = ({\n division,\n instruments,\n columns,\n graphqlUrl,\n locale,\n theme,\n isParamError,\n logoLink,\n liveRatesUrl,\n assetClasses,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n priceType = PriceType.Division,\n}: InstrumentsTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const liveRatesDataSource =\n dataSource === DataSource.All ? undefined : dataSource;\n\n const divisionCode = priceType === PriceType.Division ? division : undefined;\n\n const liveRates =\n !columns ||\n columns?.some(\n (column) =>\n column === DataRecordType.BUY ||\n column === DataRecordType.SELL ||\n column === DataRecordType.DAILY_CHANGE ||\n column === DataRecordType.SPREAD ||\n column === DataRecordType.HIGH ||\n column === DataRecordType.LOW\n )\n ? {\n url: liveRatesUrl,\n options: { divisionCode, dataSource: liveRatesDataSource },\n multipleDataSources: dataSource === DataSource.All,\n }\n : undefined;\n\n return (\n <WidgetProvider\n client={client}\n liveRates={liveRates}\n locale={locale}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n <Main\n assetClasses={assetClasses}\n columns={columns}\n dataSource={dataSource}\n division={division}\n instruments={instruments}\n isAssetClassFilterEnabled={isAssetClassFilterEnabled}\n isInstrumentSearchEnabled={isInstrumentSearchEnabled}\n isLiveRatesDisabled={liveRates === undefined}\n priceType={priceType}\n recordsPerPage={recordsPerPage}\n />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { InstrumentsTableWidget };\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,aAAa,QAAQ,gBAAgB;AAC5D,SACEC,cAAc,EACdC,cAAc,EACdC,aAAa,QACR,2BAA2B;AAClC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,sBAAsB;AACjD,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAAsCC,SAAS,QAAQ,SAAS;AAEhE,MAAMC,sBAAsB,GAAGC,IAAA,IAgBD;EAAA,IAhBE;IAC9BC,QAAQ;IACRC,WAAW;IACXC,OAAO;IACPC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC,YAAY;IACZC,YAAY;IACZC,yBAAyB;IACzBC,yBAAyB;IACzBC,cAAc;IACdC,UAAU;IACVC,SAAS,GAAGjB,SAAS,CAACkB;EACA,CAAC,GAAAhB,IAAA;EACvB,MAAMiB,MAAM,GAAG,IAAI5B,YAAY,CAAC;IAC9B6B,GAAG,EAAEd,UAAU;IACfe,KAAK,EAAE,IAAI7B,aAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAM8B,mBAAmB,GACvBN,UAAU,KAAKnB,UAAU,CAAC0B,GAAG,GAAGC,SAAS,GAAGR,UAAU;EAExD,MAAMS,YAAY,GAAGR,SAAS,KAAKjB,SAAS,CAACkB,QAAQ,GAAGf,QAAQ,GAAGqB,SAAS;EAE5E,MAAME,SAAS,GACb,CAACrB,OAAO,IACRA,OAAO,EAAEsB,IAAI,CACVC,MAAM,IACLA,MAAM,KAAKnC,cAAc,CAACoC,GAAG,IAC7BD,MAAM,KAAKnC,cAAc,CAACqC,IAAI,IAC9BF,MAAM,KAAKnC,cAAc,CAACsC,YAAY,IACtCH,MAAM,KAAKnC,cAAc,CAACuC,MAAM,IAChCJ,MAAM,KAAKnC,cAAc,CAACwC,IAAI,IAC9BL,MAAM,KAAKnC,cAAc,CAACyC,GAC9B,CAAC,GACG;IACEC,GAAG,EAAExB,YAAY;IACjByB,OAAO,EAAE;MAAEX,YAAY;MAAET,UAAU,EAAEM;IAAoB,CAAC;IAC1De,mBAAmB,EAAErB,UAAU,KAAKnB,UAAU,CAAC0B;EACjD,CAAC,GACDC,SAAS;EAEf,OACE5B,KAAA,CAAA0C,aAAA,CAAC5C,cAAc;IACbyB,MAAM,EAAEA,MAAO;IACfO,SAAS,EAAEA,SAAU;IACrBnB,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbV,YAAY,EAAEA;EAAa,GAE3BF,KAAA,CAAA0C,aAAA,CAAC3C,aAAa;IACZc,YAAY,EAAEA,YAAa;IAC3B8B,QAAQ,EAAC,MAAM;IACf7B,QAAQ,EAAEA;EAAS,GAEnBd,KAAA,CAAA0C,aAAA,CAACvC,IAAI;IACHa,YAAY,EAAEA,YAAa;IAC3BP,OAAO,EAAEA,OAAQ;IACjBW,UAAU,EAAEA,UAAW;IACvBb,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBS,yBAAyB,EAAEA,yBAA0B;IACrDC,yBAAyB,EAAEA,yBAA0B;IACrD0B,mBAAmB,EAAEd,SAAS,KAAKF,SAAU;IAC7CP,SAAS,EAAEA,SAAU;IACrBF,cAAc,EAAEA;EAAe,CAChC,CACY,CACD,CAAC;AAErB,CAAC;AAED,SAASd,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"InstrumentsTableWidget.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_graphql","_translations","_Main","_types","e","__esModule","default","InstrumentsTableWidget","_ref","division","instruments","columns","graphqlUrl","locale","theme","isParamError","logoLink","liveRatesUrl","assetClasses","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","priceType","PriceType","Division","client","ApolloClient","uri","cache","InMemoryCache","liveRatesDataSource","DataSource","All","undefined","divisionCode","liveRates","some","column","DataRecordType","BUY","SELL","DAILY_CHANGE","SPREAD","HIGH","LOW","url","options","multipleDataSources","createElement","WidgetProvider","translations","WidgetWrapper","linkArea","Main","isLiveRatesDisabled","exports"],"sources":["../../../src/InstrumentsTableWidget/InstrumentsTableWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport {\n DataRecordType,\n WidgetProvider,\n WidgetWrapper,\n} from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { DataSource } from '../gql/types/graphql';\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport { type InstrumentsTableConfig, PriceType } from './types';\n\nconst InstrumentsTableWidget = ({\n division,\n instruments,\n columns,\n graphqlUrl,\n locale,\n theme,\n isParamError,\n logoLink,\n liveRatesUrl,\n assetClasses,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n priceType = PriceType.Division,\n}: InstrumentsTableConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n const liveRatesDataSource =\n dataSource === DataSource.All ? undefined : dataSource;\n\n const divisionCode = priceType === PriceType.Division ? division : undefined;\n\n const liveRates =\n !columns ||\n columns?.some(\n (column) =>\n column === DataRecordType.BUY ||\n column === DataRecordType.SELL ||\n column === DataRecordType.DAILY_CHANGE ||\n column === DataRecordType.SPREAD ||\n column === DataRecordType.HIGH ||\n column === DataRecordType.LOW\n )\n ? {\n url: liveRatesUrl,\n options: { divisionCode, dataSource: liveRatesDataSource },\n multipleDataSources: dataSource === DataSource.All,\n }\n : undefined;\n\n return (\n <WidgetProvider\n client={client}\n liveRates={liveRates}\n locale={locale}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n <Main\n assetClasses={assetClasses}\n columns={columns}\n dataSource={dataSource}\n division={division}\n instruments={instruments}\n isAssetClassFilterEnabled={isAssetClassFilterEnabled}\n isInstrumentSearchEnabled={isInstrumentSearchEnabled}\n isLiveRatesDisabled={liveRates === undefined}\n priceType={priceType}\n recordsPerPage={recordsPerPage}\n />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { InstrumentsTableWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAiE,SAAAG,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEjE,MAAMG,sBAAsB,GAAGC,IAAA,IAgBD;EAAA,IAhBE;IAC9BC,QAAQ;IACRC,WAAW;IACXC,OAAO;IACPC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC,YAAY;IACZC,YAAY;IACZC,yBAAyB;IACzBC,yBAAyB;IACzBC,cAAc;IACdC,UAAU;IACVC,SAAS,GAAGC,gBAAS,CAACC;EACA,CAAC,GAAAjB,IAAA;EACvB,MAAMkB,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEhB,UAAU;IACfiB,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,MAAMC,mBAAmB,GACvBT,UAAU,KAAKU,mBAAU,CAACC,GAAG,GAAGC,SAAS,GAAGZ,UAAU;EAExD,MAAMa,YAAY,GAAGZ,SAAS,KAAKC,gBAAS,CAACC,QAAQ,GAAGhB,QAAQ,GAAGyB,SAAS;EAE5E,MAAME,SAAS,GACb,CAACzB,OAAO,IACRA,OAAO,EAAE0B,IAAI,CACVC,MAAM,IACLA,MAAM,KAAKC,gCAAc,CAACC,GAAG,IAC7BF,MAAM,KAAKC,gCAAc,CAACE,IAAI,IAC9BH,MAAM,KAAKC,gCAAc,CAACG,YAAY,IACtCJ,MAAM,KAAKC,gCAAc,CAACI,MAAM,IAChCL,MAAM,KAAKC,gCAAc,CAACK,IAAI,IAC9BN,MAAM,KAAKC,gCAAc,CAACM,GAC9B,CAAC,GACG;IACEC,GAAG,EAAE7B,YAAY;IACjB8B,OAAO,EAAE;MAAEZ,YAAY;MAAEb,UAAU,EAAES;IAAoB,CAAC;IAC1DiB,mBAAmB,EAAE1B,UAAU,KAAKU,mBAAU,CAACC;EACjD,CAAC,GACDC,SAAS;EAEf,OACEpC,MAAA,CAAAQ,OAAA,CAAA2C,aAAA,CAACpD,iBAAA,CAAAqD,cAAc;IACbxB,MAAM,EAAEA,MAAO;IACfU,SAAS,EAAEA,SAAU;IACrBvB,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbqC,YAAY,EAAEA;EAAa,GAE3BrD,MAAA,CAAAQ,OAAA,CAAA2C,aAAA,CAACpD,iBAAA,CAAAuD,aAAa;IACZrC,YAAY,EAAEA,YAAa;IAC3BsC,QAAQ,EAAC,MAAM;IACfrC,QAAQ,EAAEA;EAAS,GAEnBlB,MAAA,CAAAQ,OAAA,CAAA2C,aAAA,CAAC/C,KAAA,CAAAoD,IAAI;IACHpC,YAAY,EAAEA,YAAa;IAC3BP,OAAO,EAAEA,OAAQ;IACjBW,UAAU,EAAEA,UAAW;IACvBb,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBS,yBAAyB,EAAEA,yBAA0B;IACrDC,yBAAyB,EAAEA,yBAA0B;IACrDmC,mBAAmB,EAAEnB,SAAS,KAAKF,SAAU;IAC7CX,SAAS,EAAEA,SAAU;IACrBF,cAAc,EAAEA;EAAe,CAChC,CACY,CACD,CAAC;AAErB,CAAC;AAACmC,OAAA,CAAAjD,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1,45 +1,52 @@
1
- import { useQuery } from '@apollo/client';
2
- import { DataRecordType, getHeaderConfig, LastUpdated, Pagination, Size, TableWidget, useLayoutProvider, useLiveRatesQuery } from '@oanda/labs-widget-common';
3
- import { useLocale } from '@oanda/mono-i18n';
4
- import React, { useEffect, useRef, useState } from 'react';
5
- import { useEventListener } from 'usehooks-ts';
6
- import { resolveInstrumentsWithFilters } from '../gql/resolveInstrumentsWithFilters';
7
- import { DataSource, Division, TradeMode } from '../gql/types/graphql';
8
- import { Filters } from './components';
9
- import { assetClassLabels, headerConfigs, tradeModeLabels } from './config';
10
- import { DEFAULT_COLUMNS, INSTRUMENT_TOOLTIP_ID, RAW_PRICE_DIVISION } from './constant';
11
- import { PriceType } from './types';
12
- import { groupNamesBySource } from './utils';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Main = void 0;
7
+ var _client = require("@apollo/client");
8
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
9
+ var _monoI18n = require("@oanda/mono-i18n");
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _usehooksTs = require("usehooks-ts");
12
+ var _resolveInstrumentsWithFilters = require("../gql/resolveInstrumentsWithFilters");
13
+ var _graphql = require("../gql/types/graphql");
14
+ var _components = require("./components");
15
+ var _config = require("./config");
16
+ var _constant = require("./constant");
17
+ var _types = require("./types");
18
+ var _utils = require("./utils");
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
20
  const Main = _ref => {
14
21
  let {
15
22
  instruments = [],
16
23
  division,
17
24
  assetClasses,
18
- columns = DEFAULT_COLUMNS,
25
+ columns = _constant.DEFAULT_COLUMNS,
19
26
  isAssetClassFilterEnabled,
20
27
  isInstrumentSearchEnabled,
21
28
  recordsPerPage,
22
29
  dataSource,
23
30
  isLiveRatesDisabled,
24
- priceType = PriceType.Division
31
+ priceType = _types.PriceType.Division
25
32
  } = _ref;
26
- const documentRef = useRef(document);
33
+ const documentRef = (0, _react.useRef)(document);
27
34
  const {
28
35
  size
29
- } = useLayoutProvider();
30
- const isDesktop = size === Size.DESKTOP;
31
- const isTradingMode = columns.includes(DataRecordType.TRADE_MODE) && columns.includes(DataRecordType.SYMBOL);
36
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
37
+ const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
38
+ const isTradingMode = columns.includes(_labsWidgetCommon.DataRecordType.TRADE_MODE) && columns.includes(_labsWidgetCommon.DataRecordType.SYMBOL);
32
39
  const {
33
40
  lang
34
- } = useLocale();
41
+ } = (0, _monoI18n.useLocale)();
35
42
  const {
36
43
  target,
37
44
  setQuery,
38
45
  closeQuery
39
- } = useLiveRatesQuery(isLiveRatesDisabled);
40
- const [records, setRecords] = useState(new Array(recordsPerPage || 10).fill({}));
41
- const [totalRecords, setTotalRecords] = useState(0);
42
- const [queryVariables, setQueryVariables] = useState({
46
+ } = (0, _labsWidgetCommon.useLiveRatesQuery)(isLiveRatesDisabled);
47
+ const [records, setRecords] = (0, _react.useState)(new Array(recordsPerPage || 10).fill({}));
48
+ const [totalRecords, setTotalRecords] = (0, _react.useState)(0);
49
+ const [queryVariables, setQueryVariables] = (0, _react.useState)({
43
50
  division,
44
51
  count: recordsPerPage,
45
52
  searchPattern: '',
@@ -48,19 +55,19 @@ const Main = _ref => {
48
55
  instruments,
49
56
  dataSource,
50
57
  withTradingModes: isTradingMode,
51
- tradeModes: isTradingMode ? [TradeMode.TradeLongonly, TradeMode.TradeShortonly, TradeMode.TradeCloseonly] : undefined
58
+ tradeModes: isTradingMode ? [_graphql.TradeMode.TradeLongonly, _graphql.TradeMode.TradeShortonly, _graphql.TradeMode.TradeCloseonly] : undefined
52
59
  });
53
60
  const pageNumber = queryVariables.offset ? Math.floor(queryVariables.offset / (recordsPerPage || 1)) : 0;
54
61
  const {
55
62
  data,
56
63
  error,
57
64
  loading
58
- } = useQuery(resolveInstrumentsWithFilters, {
65
+ } = (0, _client.useQuery)(_resolveInstrumentsWithFilters.resolveInstrumentsWithFilters, {
59
66
  variables: queryVariables,
60
67
  fetchPolicy: 'network-only',
61
68
  errorPolicy: 'all'
62
69
  });
63
- useEffect(() => {
70
+ (0, _react.useEffect)(() => {
64
71
  if (loading) {
65
72
  setRecords(new Array(recordsPerPage).fill({}));
66
73
  }
@@ -69,7 +76,7 @@ const Main = _ref => {
69
76
  instrument: record?.name || '',
70
77
  displayName: record?.displayName || '',
71
78
  dataSource: record?.dataSource,
72
- tradeMode: lang(tradeModeLabels[record?.tradeMode || ''])
79
+ tradeMode: lang(_config.tradeModeLabels[record?.tradeMode || ''])
73
80
  }));
74
81
  setRecords(newRecords);
75
82
  setTotalRecords(data.resolveInstrumentsWithFilters.totalCount);
@@ -79,23 +86,23 @@ const Main = _ref => {
79
86
  const {
80
87
  v20instruments,
81
88
  mt5instruments
82
- } = groupNamesBySource(recordsData);
89
+ } = (0, _utils.groupNamesBySource)(recordsData);
83
90
  if (mt5instruments[0]) {
84
91
  setQuery({
85
92
  instruments: mt5instruments,
86
- dataSource: DataSource.Mt5,
87
- division: priceType === PriceType.Division ? undefined : Division.Oc
93
+ dataSource: _graphql.DataSource.Mt5,
94
+ division: priceType === _types.PriceType.Division ? undefined : _graphql.Division.Oc
88
95
  });
89
96
  }
90
97
  if (v20instruments[0]) {
91
98
  setQuery({
92
99
  instruments: v20instruments,
93
- dataSource: DataSource.V20,
94
- division: priceType === PriceType.Division ? undefined : RAW_PRICE_DIVISION
100
+ dataSource: _graphql.DataSource.V20,
101
+ division: priceType === _types.PriceType.Division ? undefined : _constant.RAW_PRICE_DIVISION
95
102
  });
96
103
  }
97
104
  };
98
- useEffect(() => {
105
+ (0, _react.useEffect)(() => {
99
106
  setupQueries(records);
100
107
  }, [records]);
101
108
  const showError = !loading && !!error || !loading && !data;
@@ -107,10 +114,10 @@ const Main = _ref => {
107
114
  setupQueries(records);
108
115
  }
109
116
  };
110
- useEventListener('visibilitychange', onVisibilityChange, documentRef);
111
- const headerConfig = !isDesktop ? headerConfigs.mobile : columns.length < 4 ? headerConfigs.longInstruments : headerConfigs.normal;
112
- return React.createElement(React.Fragment, null, React.createElement(TableWidget, {
113
- PaginationComponent: records.length > 0 && recordsPerPage ? React.createElement(Pagination, {
117
+ (0, _usehooksTs.useEventListener)('visibilitychange', onVisibilityChange, documentRef);
118
+ const headerConfig = !isDesktop ? _config.headerConfigs.mobile : columns.length < 4 ? _config.headerConfigs.longInstruments : _config.headerConfigs.normal;
119
+ return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_labsWidgetCommon.TableWidget, {
120
+ PaginationComponent: records.length > 0 && recordsPerPage ? _react.default.createElement(_labsWidgetCommon.Pagination, {
114
121
  currentPage: pageNumber,
115
122
  disabled: loading,
116
123
  recordsPerPage: recordsPerPage,
@@ -121,14 +128,14 @@ const Main = _ref => {
121
128
  offset: numb * recordsPerPage
122
129
  }));
123
130
  }
124
- }) : React.createElement(React.Fragment, null),
125
- TabsComponent: isInstrumentSearchEnabled || isAssetClassFilterEnabled ? React.createElement(Filters, {
131
+ }) : _react.default.createElement(_react.default.Fragment, null),
132
+ TabsComponent: isInstrumentSearchEnabled || isAssetClassFilterEnabled ? _react.default.createElement(_components.Filters, {
126
133
  assetClassOptions: [{
127
134
  id: 'ALL',
128
- label: lang(assetClassLabels.ALL)
135
+ label: lang(_config.assetClassLabels.ALL)
129
136
  }, ...(assetClasses || []).map(assetClass => ({
130
137
  id: assetClass,
131
- label: lang(assetClassLabels[assetClass])
138
+ label: lang(_config.assetClassLabels[assetClass])
132
139
  })).sort((a, b) => a.label.localeCompare(b.label))],
133
140
  isAssetClassFilterEnabled: isAssetClassFilterEnabled,
134
141
  isInstrumentSearchEnabled: isInstrumentSearchEnabled,
@@ -147,25 +154,25 @@ const Main = _ref => {
147
154
  searchPattern
148
155
  }));
149
156
  }
150
- }) : React.createElement(React.Fragment, null),
157
+ }) : _react.default.createElement(_react.default.Fragment, null),
151
158
  activeColumns: columns,
152
159
  count: totalRecords,
153
160
  hasError: showError,
154
- headerColumns: getHeaderConfig(columns, headerConfig),
161
+ headerColumns: (0, _labsWidgetCommon.getHeaderConfig)(columns, headerConfig),
155
162
  instrumentColumnWidth: headerConfig.instrument?.additionalStyles.minWidth,
156
163
  isLoading: loading,
157
164
  pageNumber: pageNumber,
158
165
  records: records,
159
166
  target: target,
160
167
  testId: "instruments-table-wrapper",
161
- toolTipId: INSTRUMENT_TOOLTIP_ID,
168
+ toolTipId: _constant.INSTRUMENT_TOOLTIP_ID,
162
169
  viewType: "table"
163
- }), isTradingMode && React.createElement("div", {
170
+ }), isTradingMode && _react.default.createElement("div", {
164
171
  className: "lw-mt-2 lw-h-8"
165
- }, React.createElement(LastUpdated, {
172
+ }, _react.default.createElement(_labsWidgetCommon.LastUpdated, {
166
173
  labelCallback: lang,
167
174
  timestamp: data?.resolveInstrumentsWithFilters?.updatedAt
168
175
  })));
169
176
  };
170
- export { Main };
177
+ exports.Main = Main;
171
178
  //# sourceMappingURL=Main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["useQuery","DataRecordType","getHeaderConfig","LastUpdated","Pagination","Size","TableWidget","useLayoutProvider","useLiveRatesQuery","useLocale","React","useEffect","useRef","useState","useEventListener","resolveInstrumentsWithFilters","DataSource","Division","TradeMode","Filters","assetClassLabels","headerConfigs","tradeModeLabels","DEFAULT_COLUMNS","INSTRUMENT_TOOLTIP_ID","RAW_PRICE_DIVISION","PriceType","groupNamesBySource","Main","_ref","instruments","division","assetClasses","columns","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","isLiveRatesDisabled","priceType","documentRef","document","size","isDesktop","DESKTOP","isTradingMode","includes","TRADE_MODE","SYMBOL","lang","target","setQuery","closeQuery","records","setRecords","Array","fill","totalRecords","setTotalRecords","queryVariables","setQueryVariables","count","searchPattern","offset","assetClass","withTradingModes","tradeModes","TradeLongonly","TradeShortonly","TradeCloseonly","undefined","pageNumber","Math","floor","data","error","loading","variables","fetchPolicy","errorPolicy","newRecords","map","record","instrument","name","displayName","tradeMode","totalCount","setupQueries","recordsData","v20instruments","mt5instruments","Mt5","Oc","V20","showError","onVisibilityChange","current","visibilityState","headerConfig","mobile","length","longInstruments","normal","createElement","Fragment","PaginationComponent","currentPage","disabled","onPageChange","numb","prev","TabsComponent","assetClassOptions","id","label","ALL","sort","a","b","localeCompare","onAssetClassChange","onSearchChange","activeColumns","hasError","headerColumns","instrumentColumnWidth","additionalStyles","minWidth","isLoading","testId","toolTipId","viewType","className","labelCallback","timestamp","updatedAt"],"sources":["../../../src/InstrumentsTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n DataRecordType,\n getHeaderConfig,\n LastUpdated,\n Pagination,\n Size,\n TableWidget,\n useLayoutProvider,\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 DataSource,\n Division,\n type ResolveInstrumentsWithFiltersQuery,\n type ResolveInstrumentsWithFiltersQueryVariables,\n TradeMode,\n} from '../gql/types/graphql';\nimport { Filters } from './components';\nimport { assetClassLabels, headerConfigs, tradeModeLabels } from './config';\nimport {\n DEFAULT_COLUMNS,\n INSTRUMENT_TOOLTIP_ID,\n RAW_PRICE_DIVISION,\n} from './constant';\nimport { type MainProps, PriceType } from './types';\nimport { groupNamesBySource } from './utils';\n\nconst Main = ({\n instruments = [],\n division,\n assetClasses,\n columns = DEFAULT_COLUMNS,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n isLiveRatesDisabled,\n priceType = PriceType.Division,\n}: MainProps) => {\n const documentRef = useRef<Document>(document);\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isTradingMode =\n columns.includes(DataRecordType.TRADE_MODE) &&\n columns.includes(DataRecordType.SYMBOL);\n\n const { lang } = useLocale();\n const { target, setQuery, closeQuery } =\n useLiveRatesQuery(isLiveRatesDisabled);\n\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(recordsPerPage || 10).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 withTradingModes: isTradingMode,\n tradeModes: isTradingMode\n ? [\n TradeMode.TradeLongonly,\n TradeMode.TradeShortonly,\n TradeMode.TradeCloseonly,\n ]\n : undefined,\n });\n\n const pageNumber = queryVariables.offset\n ? Math.floor(queryVariables.offset / (recordsPerPage || 1))\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 dataSource: record?.dataSource,\n tradeMode: lang(\n tradeModeLabels[\n (record?.tradeMode as keyof typeof tradeModeLabels) || ''\n ]\n ),\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 const setupQueries = (recordsData: DataRecord[]) => {\n const { v20instruments, mt5instruments } = groupNamesBySource(recordsData);\n\n if (mt5instruments[0]) {\n setQuery({\n instruments: mt5instruments,\n dataSource: DataSource.Mt5,\n division: priceType === PriceType.Division ? undefined : Division.Oc,\n });\n }\n if (v20instruments[0]) {\n setQuery({\n instruments: v20instruments,\n dataSource: DataSource.V20,\n division:\n priceType === PriceType.Division ? undefined : RAW_PRICE_DIVISION,\n });\n }\n };\n\n useEffect(() => {\n setupQueries(records);\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 setupQueries(records);\n }\n };\n\n useEventListener('visibilitychange', onVisibilityChange, documentRef);\n\n const headerConfig = !isDesktop\n ? headerConfigs.mobile\n : columns.length < 4\n ? headerConfigs.longInstruments\n : headerConfigs.normal;\n\n return (\n <>\n <TableWidget\n PaginationComponent={\n records.length > 0 && recordsPerPage ? (\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 || [])\n .map((assetClass) => ({\n id: assetClass,\n label: lang(assetClassLabels[assetClass]),\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\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, headerConfig)}\n instrumentColumnWidth={\n headerConfig.instrument?.additionalStyles.minWidth\n }\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 {isTradingMode && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated\n labelCallback={lang}\n timestamp={data?.resolveInstrumentsWithFilters?.updatedAt}\n />\n </div>\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","_graphql","_components","_config","_constant","_types","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Main","_ref","instruments","division","assetClasses","columns","DEFAULT_COLUMNS","isAssetClassFilterEnabled","isInstrumentSearchEnabled","recordsPerPage","dataSource","isLiveRatesDisabled","priceType","PriceType","Division","documentRef","useRef","document","size","useLayoutProvider","isDesktop","Size","DESKTOP","isTradingMode","includes","DataRecordType","TRADE_MODE","SYMBOL","lang","useLocale","target","setQuery","closeQuery","useLiveRatesQuery","records","setRecords","useState","Array","fill","totalRecords","setTotalRecords","queryVariables","setQueryVariables","count","searchPattern","offset","assetClass","withTradingModes","tradeModes","TradeMode","TradeLongonly","TradeShortonly","TradeCloseonly","undefined","pageNumber","Math","floor","data","error","loading","useQuery","resolveInstrumentsWithFilters","variables","fetchPolicy","errorPolicy","useEffect","newRecords","map","record","instrument","name","displayName","tradeMode","tradeModeLabels","totalCount","setupQueries","recordsData","v20instruments","mt5instruments","groupNamesBySource","DataSource","Mt5","Oc","V20","RAW_PRICE_DIVISION","showError","onVisibilityChange","current","visibilityState","useEventListener","headerConfig","headerConfigs","mobile","length","longInstruments","normal","createElement","Fragment","TableWidget","PaginationComponent","Pagination","currentPage","disabled","onPageChange","numb","prev","TabsComponent","Filters","assetClassOptions","id","label","assetClassLabels","ALL","sort","a","b","localeCompare","onAssetClassChange","onSearchChange","activeColumns","hasError","headerColumns","getHeaderConfig","instrumentColumnWidth","additionalStyles","minWidth","isLoading","testId","toolTipId","INSTRUMENT_TOOLTIP_ID","viewType","className","LastUpdated","labelCallback","timestamp","updatedAt","exports"],"sources":["../../../src/InstrumentsTableWidget/Main.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport type { DataRecord } from '@oanda/labs-widget-common';\nimport {\n DataRecordType,\n getHeaderConfig,\n LastUpdated,\n Pagination,\n Size,\n TableWidget,\n useLayoutProvider,\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 DataSource,\n Division,\n type ResolveInstrumentsWithFiltersQuery,\n type ResolveInstrumentsWithFiltersQueryVariables,\n TradeMode,\n} from '../gql/types/graphql';\nimport { Filters } from './components';\nimport { assetClassLabels, headerConfigs, tradeModeLabels } from './config';\nimport {\n DEFAULT_COLUMNS,\n INSTRUMENT_TOOLTIP_ID,\n RAW_PRICE_DIVISION,\n} from './constant';\nimport { type MainProps, PriceType } from './types';\nimport { groupNamesBySource } from './utils';\n\nconst Main = ({\n instruments = [],\n division,\n assetClasses,\n columns = DEFAULT_COLUMNS,\n isAssetClassFilterEnabled,\n isInstrumentSearchEnabled,\n recordsPerPage,\n dataSource,\n isLiveRatesDisabled,\n priceType = PriceType.Division,\n}: MainProps) => {\n const documentRef = useRef<Document>(document);\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isTradingMode =\n columns.includes(DataRecordType.TRADE_MODE) &&\n columns.includes(DataRecordType.SYMBOL);\n\n const { lang } = useLocale();\n const { target, setQuery, closeQuery } =\n useLiveRatesQuery(isLiveRatesDisabled);\n\n const [records, setRecords] = useState<DataRecord[]>(\n new Array(recordsPerPage || 10).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 withTradingModes: isTradingMode,\n tradeModes: isTradingMode\n ? [\n TradeMode.TradeLongonly,\n TradeMode.TradeShortonly,\n TradeMode.TradeCloseonly,\n ]\n : undefined,\n });\n\n const pageNumber = queryVariables.offset\n ? Math.floor(queryVariables.offset / (recordsPerPage || 1))\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 dataSource: record?.dataSource,\n tradeMode: lang(\n tradeModeLabels[\n (record?.tradeMode as keyof typeof tradeModeLabels) || ''\n ]\n ),\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 const setupQueries = (recordsData: DataRecord[]) => {\n const { v20instruments, mt5instruments } = groupNamesBySource(recordsData);\n\n if (mt5instruments[0]) {\n setQuery({\n instruments: mt5instruments,\n dataSource: DataSource.Mt5,\n division: priceType === PriceType.Division ? undefined : Division.Oc,\n });\n }\n if (v20instruments[0]) {\n setQuery({\n instruments: v20instruments,\n dataSource: DataSource.V20,\n division:\n priceType === PriceType.Division ? undefined : RAW_PRICE_DIVISION,\n });\n }\n };\n\n useEffect(() => {\n setupQueries(records);\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 setupQueries(records);\n }\n };\n\n useEventListener('visibilitychange', onVisibilityChange, documentRef);\n\n const headerConfig = !isDesktop\n ? headerConfigs.mobile\n : columns.length < 4\n ? headerConfigs.longInstruments\n : headerConfigs.normal;\n\n return (\n <>\n <TableWidget\n PaginationComponent={\n records.length > 0 && recordsPerPage ? (\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 || [])\n .map((assetClass) => ({\n id: assetClass,\n label: lang(assetClassLabels[assetClass]),\n }))\n .sort((a, b) => a.label.localeCompare(b.label)),\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, headerConfig)}\n instrumentColumnWidth={\n headerConfig.instrument?.additionalStyles.minWidth\n }\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 {isTradingMode && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated\n labelCallback={lang}\n timestamp={data?.resolveInstrumentsWithFilters?.updatedAt}\n />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,15 @@
1
- import { cn, Select, Size, TextInput, useLayoutProvider } from '@oanda/labs-widget-common';
2
- import { useLocale } from '@oanda/mono-i18n';
3
- import React, { useEffect, useState } from 'react';
4
- import { useDebounceValue } from 'usehooks-ts';
5
- export const Filters = _ref => {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Filters = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _monoI18n = require("@oanda/mono-i18n");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _usehooksTs = require("usehooks-ts");
11
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
+ const Filters = _ref => {
6
13
  let {
7
14
  assetClassOptions,
8
15
  onSearchChange,
@@ -12,30 +19,30 @@ export const Filters = _ref => {
12
19
  } = _ref;
13
20
  const {
14
21
  lang
15
- } = useLocale();
22
+ } = (0, _monoI18n.useLocale)();
16
23
  const {
17
24
  size
18
- } = useLayoutProvider();
19
- const isDesktop = size === Size.DESKTOP;
20
- const [assetClass, setAssetClass] = useState([assetClassOptions[0].id]);
21
- const [searchInputValue, setSearchInputValue] = useState('');
22
- const [debouncedValue, setValue] = useDebounceValue('', 500);
23
- useEffect(() => {
25
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
26
+ const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
27
+ const [assetClass, setAssetClass] = (0, _react.useState)([assetClassOptions[0].id]);
28
+ const [searchInputValue, setSearchInputValue] = (0, _react.useState)('');
29
+ const [debouncedValue, setValue] = (0, _usehooksTs.useDebounceValue)('', 500);
30
+ (0, _react.useEffect)(() => {
24
31
  if (debouncedValue.length >= 3 || debouncedValue.length === 0) {
25
32
  onSearchChange(debouncedValue);
26
33
  }
27
34
  }, [debouncedValue]);
28
- return React.createElement("div", {
29
- className: cn('lw-mb-4 lw-mt-2 lw-flex lw-w-full lw-gap-4', {
35
+ return _react.default.createElement("div", {
36
+ className: (0, _labsWidgetCommon.cn)('lw-mb-4 lw-mt-2 lw-flex lw-w-full lw-gap-4', {
30
37
  'lw-flex-col': !isDesktop,
31
38
  'lw-flex-row': isDesktop
32
39
  })
33
- }, isAssetClassFilterEnabled && React.createElement("div", {
34
- className: cn({
40
+ }, isAssetClassFilterEnabled && _react.default.createElement("div", {
41
+ className: (0, _labsWidgetCommon.cn)({
35
42
  'lw-w-full': !isDesktop,
36
43
  'lw-w-[280px]': isDesktop
37
44
  })
38
- }, React.createElement(Select, {
45
+ }, _react.default.createElement(_labsWidgetCommon.Select, {
39
46
  options: assetClassOptions,
40
47
  selectLabel: lang('asset_class'),
41
48
  selectedOption: assetClassOptions.find(opt => opt.id === assetClass[0]) || assetClassOptions[0],
@@ -45,12 +52,12 @@ export const Filters = _ref => {
45
52
  setSearchInputValue('');
46
53
  onSearchChange('');
47
54
  }
48
- })), isInstrumentSearchEnabled && React.createElement("div", {
49
- className: cn({
55
+ })), isInstrumentSearchEnabled && _react.default.createElement("div", {
56
+ className: (0, _labsWidgetCommon.cn)({
50
57
  'lw-w-full': !isDesktop,
51
58
  'lw-w-[280px]': isDesktop
52
59
  })
53
- }, React.createElement(TextInput, {
60
+ }, _react.default.createElement(_labsWidgetCommon.TextInput, {
54
61
  label: lang('search'),
55
62
  placeholder: lang('instrument_name'),
56
63
  value: searchInputValue,
@@ -60,4 +67,5 @@ export const Filters = _ref => {
60
67
  }
61
68
  })));
62
69
  };
70
+ exports.Filters = Filters;
63
71
  //# sourceMappingURL=Filters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","names":["cn","Select","Size","TextInput","useLayoutProvider","useLocale","React","useEffect","useState","useDebounceValue","Filters","_ref","assetClassOptions","onSearchChange","onAssetClassChange","isAssetClassFilterEnabled","isInstrumentSearchEnabled","lang","size","isDesktop","DESKTOP","assetClass","setAssetClass","id","searchInputValue","setSearchInputValue","debouncedValue","setValue","length","createElement","className","options","selectLabel","selectedOption","find","opt","setSelectedOption","option","label","placeholder","value","onChange","val"],"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, { useEffect, useState } from 'react';\nimport { useDebounceValue } 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 const [debouncedValue, setValue] = useDebounceValue('', 500);\n\n useEffect(() => {\n if (debouncedValue.length >= 3 || debouncedValue.length === 0) {\n onSearchChange(debouncedValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [debouncedValue]);\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={(val) => {\n setSearchInputValue(val);\n setValue(val);\n }}\n />\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"AAAA,SACEA,EAAE,EACFC,MAAM,EACNC,IAAI,EACJC,SAAS,EACTC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,gBAAgB,QAAQ,aAAa;AAI9C,OAAO,MAAMC,OAAO,GAAGC,IAAA,IAMH;EAAA,IANI;IACtBC,iBAAiB;IACjBC,cAAc;IACdC,kBAAkB;IAClBC,yBAAyB;IACzBC;EACY,CAAC,GAAAL,IAAA;EACb,MAAM;IAAEM;EAAK,CAAC,GAAGZ,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEa;EAAK,CAAC,GAAGd,iBAAiB,CAAC,CAAC;EACpC,MAAMe,SAAS,GAAGD,IAAI,KAAKhB,IAAI,CAACkB,OAAO;EAEvC,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGd,QAAQ,CAAC,CAACI,iBAAiB,CAAC,CAAC,CAAC,CAACW,EAAE,CAAC,CAAC;EACvE,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGjB,QAAQ,CAAC,EAAE,CAAC;EAC5D,MAAM,CAACkB,cAAc,EAAEC,QAAQ,CAAC,GAAGlB,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC;EAE5DF,SAAS,CAAC,MAAM;IACd,IAAImB,cAAc,CAACE,MAAM,IAAI,CAAC,IAAIF,cAAc,CAACE,MAAM,KAAK,CAAC,EAAE;MAC7Df,cAAc,CAACa,cAAc,CAAC;IAChC;EAEF,CAAC,EAAE,CAACA,cAAc,CAAC,CAAC;EAEpB,OACEpB,KAAA,CAAAuB,aAAA;IACEC,SAAS,EAAE9B,EAAE,CAAC,4CAA4C,EAAE;MAC1D,aAAa,EAAE,CAACmB,SAAS;MACzB,aAAa,EAAEA;IACjB,CAAC;EAAE,GAEFJ,yBAAyB,IACxBT,KAAA,CAAAuB,aAAA;IACEC,SAAS,EAAE9B,EAAE,CAAC;MACZ,WAAW,EAAE,CAACmB,SAAS;MACvB,cAAc,EAAEA;IAClB,CAAC;EAAE,GAEHb,KAAA,CAAAuB,aAAA,CAAC5B,MAAM;IACL8B,OAAO,EAAEnB,iBAAkB;IAC3BoB,WAAW,EAAEf,IAAI,CAAC,aAAa,CAAE;IACjCgB,cAAc,EACZrB,iBAAiB,CAACsB,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACZ,EAAE,KAAKF,UAAU,CAAC,CAAC,CAAC,CAAC,IACzDT,iBAAiB,CAAC,CAAC,CACpB;IACDwB,iBAAiB,EAAGC,MAAM,IAAK;MAC7Bf,aAAa,CAAC,CAACe,MAAM,CAACd,EAAE,CAAC,CAAC;MAC1BT,kBAAkB,CAAC,CAACuB,MAAM,CAACd,EAAE,CAAqB,CAAC;MACnDE,mBAAmB,CAAC,EAAE,CAAC;MACvBZ,cAAc,CAAC,EAAE,CAAC;IACpB;EAAE,CACH,CACE,CACN,EACAG,yBAAyB,IACxBV,KAAA,CAAAuB,aAAA;IACEC,SAAS,EAAE9B,EAAE,CAAC;MACZ,WAAW,EAAE,CAACmB,SAAS;MACvB,cAAc,EAAEA;IAClB,CAAC;EAAE,GAEHb,KAAA,CAAAuB,aAAA,CAAC1B,SAAS;IACRmC,KAAK,EAAErB,IAAI,CAAC,QAAQ,CAAE;IACtBsB,WAAW,EAAEtB,IAAI,CAAC,iBAAiB,CAAE;IACrCuB,KAAK,EAAEhB,gBAAiB;IACxBiB,QAAQ,EAAGC,GAAG,IAAK;MACjBjB,mBAAmB,CAACiB,GAAG,CAAC;MACxBf,QAAQ,CAACe,GAAG,CAAC;IACf;EAAE,CACH,CACE,CAEJ,CAAC;AAEV,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Filters.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_usehooksTs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Filters","_ref","assetClassOptions","onSearchChange","onAssetClassChange","isAssetClassFilterEnabled","isInstrumentSearchEnabled","lang","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","assetClass","setAssetClass","useState","id","searchInputValue","setSearchInputValue","debouncedValue","setValue","useDebounceValue","useEffect","length","createElement","className","cn","Select","options","selectLabel","selectedOption","find","opt","setSelectedOption","option","TextInput","label","placeholder","value","onChange","val","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, { useEffect, useState } from 'react';\nimport { useDebounceValue } 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 const [debouncedValue, setValue] = useDebounceValue('', 500);\n\n useEffect(() => {\n if (debouncedValue.length >= 3 || debouncedValue.length === 0) {\n onSearchChange(debouncedValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [debouncedValue]);\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={(val) => {\n setSearchInputValue(val);\n setValue(val);\n }}\n />\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,17 @@
1
- export * from './Filters';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _Filters = require("./Filters");
7
+ Object.keys(_Filters).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Filters[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _Filters[key];
14
+ }
15
+ });
16
+ });
2
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/InstrumentsTableWidget/components/Filters/index.ts"],"sourcesContent":["export * from './Filters';\n"],"mappings":"AAAA,cAAc,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Filters","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../src/InstrumentsTableWidget/components/Filters/index.ts"],"sourcesContent":["export * from './Filters';\n"],"mappings":";;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,QAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,2 +1,6 @@
1
- export {};
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
2
6
  //# sourceMappingURL=types.js.map
@@ -1,2 +1,17 @@
1
- export * from './Filters';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _Filters = require("./Filters");
7
+ Object.keys(_Filters).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Filters[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _Filters[key];
14
+ }
15
+ });
16
+ });
2
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/InstrumentsTableWidget/components/index.ts"],"sourcesContent":["export * from './Filters';\n"],"mappings":"AAAA,cAAc,WAAW","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Filters","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/InstrumentsTableWidget/components/index.ts"],"sourcesContent":["export * from './Filters';\n"],"mappings":";;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,QAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,QAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,QAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}