@oanda/labs-sentiment-widget 1.0.172 → 1.0.174

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 (87) hide show
  1. package/CHANGELOG.md +1364 -0
  2. package/dist/main/SentimentWidget/SentimentWidget.js +18 -23
  3. package/dist/main/SentimentWidget/SentimentWidget.js.map +1 -1
  4. package/dist/main/SentimentWidget/Tool.js +18 -18
  5. package/dist/main/SentimentWidget/Tool.js.map +1 -1
  6. package/dist/main/SentimentWidget/Widget.js +15 -17
  7. package/dist/main/SentimentWidget/Widget.js.map +1 -1
  8. package/dist/main/SentimentWidget/components/SortSwitch/SortSwitch.js +14 -16
  9. package/dist/main/SentimentWidget/components/SortSwitch/SortSwitch.js.map +1 -1
  10. package/dist/main/SentimentWidget/render.js +9 -9
  11. package/dist/main/SentimentWidget/render.js.map +1 -1
  12. package/dist/main/SentimentWidget/types.js.map +1 -1
  13. package/dist/main/SentimentWidget/utils.js.map +1 -1
  14. package/dist/main/gql/getInstrumentSentiment.js +2 -8
  15. package/dist/main/gql/getInstrumentSentiment.js.map +1 -1
  16. package/dist/main/gql/getSentimentList.js +2 -6
  17. package/dist/main/gql/getSentimentList.js.map +1 -1
  18. package/dist/main/gql/types/fragment-masking.js.map +1 -1
  19. package/dist/main/gql/types/gql.js +2 -2
  20. package/dist/main/gql/types/gql.js.map +1 -1
  21. package/dist/main/gql/types/graphql.js +154 -154
  22. package/dist/main/gql/types/graphql.js.map +1 -1
  23. package/dist/main/gql/types/index.js.map +1 -1
  24. package/dist/main/index.js +8 -8
  25. package/dist/main/index.js.map +1 -1
  26. package/dist/main/translations/index.js +1 -1
  27. package/dist/main/translations/index.js.map +1 -1
  28. package/dist/main/translations/translations.js.map +1 -1
  29. package/dist/module/SentimentWidget/SentimentWidget.js +19 -24
  30. package/dist/module/SentimentWidget/SentimentWidget.js.map +1 -1
  31. package/dist/module/SentimentWidget/Tool.js +17 -17
  32. package/dist/module/SentimentWidget/Tool.js.map +1 -1
  33. package/dist/module/SentimentWidget/Widget.js +16 -16
  34. package/dist/module/SentimentWidget/Widget.js.map +1 -1
  35. package/dist/module/SentimentWidget/components/SortSwitch/SortSwitch.js +14 -14
  36. package/dist/module/SentimentWidget/components/SortSwitch/SortSwitch.js.map +1 -1
  37. package/dist/module/SentimentWidget/render.js +9 -9
  38. package/dist/module/SentimentWidget/render.js.map +1 -1
  39. package/dist/module/SentimentWidget/types.js.map +1 -1
  40. package/dist/module/SentimentWidget/utils.js.map +1 -1
  41. package/dist/module/gql/getInstrumentSentiment.js +2 -8
  42. package/dist/module/gql/getInstrumentSentiment.js.map +1 -1
  43. package/dist/module/gql/getSentimentList.js +2 -6
  44. package/dist/module/gql/getSentimentList.js.map +1 -1
  45. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  46. package/dist/module/gql/types/gql.js +2 -2
  47. package/dist/module/gql/types/gql.js.map +1 -1
  48. package/dist/module/gql/types/graphql.js +154 -154
  49. package/dist/module/gql/types/graphql.js.map +1 -1
  50. package/dist/module/gql/types/index.js +2 -2
  51. package/dist/module/gql/types/index.js.map +1 -1
  52. package/dist/module/index.js +1 -1
  53. package/dist/module/index.js.map +1 -1
  54. package/dist/module/translations/index.js +1 -1
  55. package/dist/module/translations/index.js.map +1 -1
  56. package/dist/module/translations/translations.js.map +1 -1
  57. package/dist/types/SentimentWidget/SentimentWidget.d.ts +1 -1
  58. package/dist/types/SentimentWidget/Tool.d.ts +1 -1
  59. package/dist/types/SentimentWidget/Widget.d.ts +1 -1
  60. package/dist/types/SentimentWidget/components/SortSwitch/SortSwitch.d.ts +2 -2
  61. package/dist/types/SentimentWidget/types.d.ts +2 -2
  62. package/dist/types/SentimentWidget/utils.d.ts +2 -1
  63. package/dist/types/gql/types/gql.d.ts +4 -4
  64. package/dist/types/gql/types/index.d.ts +2 -2
  65. package/dist/types/index.d.ts +1 -1
  66. package/dist/types/translations/index.d.ts +2 -2
  67. package/package.json +3 -3
  68. package/src/SentimentWidget/SentimentWidget.tsx +28 -33
  69. package/src/SentimentWidget/Tool.tsx +96 -80
  70. package/src/SentimentWidget/Widget.tsx +72 -66
  71. package/src/SentimentWidget/components/SortSwitch/SortSwitch.tsx +42 -39
  72. package/src/SentimentWidget/render.tsx +40 -28
  73. package/src/SentimentWidget/types.ts +3 -2
  74. package/src/SentimentWidget/utils.ts +12 -4
  75. package/src/gql/getInstrumentSentiment.ts +2 -8
  76. package/src/gql/getSentimentList.ts +2 -6
  77. package/src/gql/types/fragment-masking.ts +41 -21
  78. package/src/gql/types/gql.ts +12 -5
  79. package/src/gql/types/graphql.ts +225 -47
  80. package/src/gql/types/index.ts +2 -2
  81. package/src/index.ts +1 -1
  82. package/src/translations/index.ts +4 -4
  83. package/src/translations/translations.ts +2 -1
  84. package/test/SortSwitch.test.tsx +36 -23
  85. package/test/Tool.test.tsx +13 -11
  86. package/test/Widget.test.tsx +31 -26
  87. package/test/sortData.test.ts +49 -13
@@ -4,13 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SentimentWidget = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _client = require("@apollo/client");
9
- var _monoI18n = require("@oanda/mono-i18n");
10
8
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
11
- var _Widget = require("./Widget");
12
- var _Tool = require("./Tool");
9
+ var _react = _interopRequireDefault(require("react"));
13
10
  var _translations = require("../translations");
11
+ var _Tool = require("./Tool");
12
+ var _Widget = require("./Widget");
14
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
14
  const SentimentWidget = _ref => {
16
15
  let {
@@ -27,26 +26,22 @@ const SentimentWidget = _ref => {
27
26
  uri: graphqlUrl,
28
27
  cache: new _client.InMemoryCache()
29
28
  });
30
- return _react.default.createElement(_labsWidgetCommon.ThemeProvider, {
31
- theme: theme
32
- }, _react.default.createElement(_monoI18n.LocaleProvider, {
33
- locale: (0, _labsWidgetCommon.getLocale)(locale),
29
+ return _react.default.createElement(_labsWidgetCommon.WidgetProvider, {
30
+ client: client,
31
+ locale: locale,
32
+ theme: theme,
34
33
  translations: _translations.translations
35
- }, _react.default.createElement(_client.ApolloProvider, {
36
- client: client
37
- }, isParamError ? _react.default.createElement("div", {
38
- className: "lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary"
39
- }, _react.default.createElement(_labsWidgetCommon.ChartError, null)) : (0, _labsWidgetCommon.renderComponent)({
40
- logoLink,
41
- linkArea: 'logo',
42
- Component: instrument ? _react.default.createElement(_Widget.Widget, {
43
- division: division,
44
- instrument: instrument,
45
- includeDescriptionLabels: includeDescriptionLabels
46
- }) : _react.default.createElement(_Tool.Tool, {
47
- division: division
48
- })
49
- }))));
34
+ }, _react.default.createElement(_labsWidgetCommon.WidgetWrapper, {
35
+ isParamError: isParamError,
36
+ linkArea: "logo",
37
+ logoLink: logoLink
38
+ }, instrument ? _react.default.createElement(_Widget.Widget, {
39
+ division: division,
40
+ includeDescriptionLabels: includeDescriptionLabels,
41
+ instrument: instrument
42
+ }) : _react.default.createElement(_Tool.Tool, {
43
+ division: division
44
+ })));
50
45
  };
51
46
  exports.SentimentWidget = SentimentWidget;
52
47
  //# sourceMappingURL=SentimentWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SentimentWidget.js","names":["_react","_interopRequireDefault","require","_client","_monoI18n","_labsWidgetCommon","_Widget","_Tool","_translations","e","__esModule","default","SentimentWidget","_ref","graphqlUrl","division","instrument","locale","theme","includeDescriptionLabels","isParamError","logoLink","client","ApolloClient","uri","cache","InMemoryCache","createElement","ThemeProvider","LocaleProvider","getLocale","translations","ApolloProvider","className","ChartError","renderComponent","linkArea","Component","Widget","Tool","exports"],"sources":["../../../src/SentimentWidget/SentimentWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport {\n ChartError, ThemeProvider, getLocale, renderComponent,\n} from '@oanda/labs-widget-common';\nimport { Widget } from './Widget';\nimport { Tool } from './Tool';\nimport { SentimentConfig } from './types';\nimport { translations } from '../translations';\n\nconst SentimentWidget = ({\n graphqlUrl,\n division,\n instrument,\n locale,\n theme,\n includeDescriptionLabels,\n isParamError,\n logoLink,\n}: SentimentConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n return (\n <ThemeProvider theme={theme}>\n <LocaleProvider locale={getLocale(locale)} translations={translations}>\n <ApolloProvider client={client}>\n {isParamError ? (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n ) : (\n renderComponent({\n logoLink,\n linkArea: 'logo',\n Component: instrument\n ? (\n <Widget\n division={division}\n instrument={instrument}\n includeDescriptionLabels={includeDescriptionLabels}\n />\n )\n : <Tool division={division} />,\n })\n )}\n </ApolloProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { SentimentWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,iBAAA,GAAAH,OAAA;AAGA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAEA,IAAAM,aAAA,GAAAN,OAAA;AAA+C,SAAAD,uBAAAQ,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE/C,MAAMG,eAAe,GAAGC,IAAA,IASD;EAAA,IATE;IACvBC,UAAU;IACVC,QAAQ;IACRC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,wBAAwB;IACxBC,YAAY;IACZC;EACe,CAAC,GAAAR,IAAA;EAChB,MAAMS,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEV,UAAU;IACfW,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACE1B,MAAA,CAAAW,OAAA,CAAAgB,aAAA,CAACtB,iBAAA,CAAAuB,aAAa;IAACV,KAAK,EAAEA;EAAM,GAC1BlB,MAAA,CAAAW,OAAA,CAAAgB,aAAA,CAACvB,SAAA,CAAAyB,cAAc;IAACZ,MAAM,EAAE,IAAAa,2BAAS,EAACb,MAAM,CAAE;IAACc,YAAY,EAAEA;EAAa,GACpE/B,MAAA,CAAAW,OAAA,CAAAgB,aAAA,CAACxB,OAAA,CAAA6B,cAAc;IAACV,MAAM,EAAEA;EAAO,GAC5BF,YAAY,GACXpB,MAAA,CAAAW,OAAA,CAAAgB,aAAA;IAAKM,SAAS,EAAC;EAAmG,GAChHjC,MAAA,CAAAW,OAAA,CAAAgB,aAAA,CAACtB,iBAAA,CAAA6B,UAAU,MAAE,CACV,CAAC,GAEN,IAAAC,iCAAe,EAAC;IACdd,QAAQ;IACRe,QAAQ,EAAE,MAAM;IAChBC,SAAS,EAAErB,UAAU,GAEjBhB,MAAA,CAAAW,OAAA,CAAAgB,aAAA,CAACrB,OAAA,CAAAgC,MAAM;MACLvB,QAAQ,EAAEA,QAAS;MACnBC,UAAU,EAAEA,UAAW;MACvBG,wBAAwB,EAAEA;IAAyB,CACpD,CAAC,GAEFnB,MAAA,CAAAW,OAAA,CAAAgB,aAAA,CAACpB,KAAA,CAAAgC,IAAI;MAACxB,QAAQ,EAAEA;IAAS,CAAE;EACjC,CAAC,CAEW,CACF,CACH,CAAC;AAEpB,CAAC;AAACyB,OAAA,CAAA5B,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"file":"SentimentWidget.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_translations","_Tool","_Widget","e","__esModule","default","SentimentWidget","_ref","graphqlUrl","division","instrument","locale","theme","includeDescriptionLabels","isParamError","logoLink","client","ApolloClient","uri","cache","InMemoryCache","createElement","WidgetProvider","translations","WidgetWrapper","linkArea","Widget","Tool","exports"],"sources":["../../../src/SentimentWidget/SentimentWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { translations } from '../translations';\nimport { Tool } from './Tool';\nimport type { SentimentConfig } from './types';\nimport { Widget } from './Widget';\n\nconst SentimentWidget = ({\n graphqlUrl,\n division,\n instrument,\n locale,\n theme,\n includeDescriptionLabels,\n isParamError,\n logoLink,\n}: SentimentConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n return (\n <WidgetProvider\n client={client}\n locale={locale}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n {instrument ? (\n <Widget\n division={division}\n includeDescriptionLabels={includeDescriptionLabels}\n instrument={instrument}\n />\n ) : (\n <Tool division={division} />\n )}\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { SentimentWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AAAkC,SAAAG,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAElC,MAAMG,eAAe,GAAGC,IAAA,IASD;EAAA,IATE;IACvBC,UAAU;IACVC,QAAQ;IACRC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,wBAAwB;IACxBC,YAAY;IACZC;EACe,CAAC,GAAAR,IAAA;EAChB,MAAMS,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAEV,UAAU;IACfW,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACEtB,MAAA,CAAAO,OAAA,CAAAgB,aAAA,CAACxB,iBAAA,CAAAyB,cAAc;IACbN,MAAM,EAAEA,MAAO;IACfL,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbW,YAAY,EAAEA;EAAa,GAE3BzB,MAAA,CAAAO,OAAA,CAAAgB,aAAA,CAACxB,iBAAA,CAAA2B,aAAa;IACZV,YAAY,EAAEA,YAAa;IAC3BW,QAAQ,EAAC,MAAM;IACfV,QAAQ,EAAEA;EAAS,GAElBL,UAAU,GACTZ,MAAA,CAAAO,OAAA,CAAAgB,aAAA,CAACnB,OAAA,CAAAwB,MAAM;IACLjB,QAAQ,EAAEA,QAAS;IACnBI,wBAAwB,EAAEA,wBAAyB;IACnDH,UAAU,EAAEA;EAAW,CACxB,CAAC,GAEFZ,MAAA,CAAAO,OAAA,CAAAgB,aAAA,CAACpB,KAAA,CAAA0B,IAAI;IAAClB,QAAQ,EAAEA;EAAS,CAAE,CAEhB,CACD,CAAC;AAErB,CAAC;AAACmB,OAAA,CAAAtB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -4,26 +4,26 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Tool = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
- var _labsWidgetCommon = require("@oanda/labs-widget-common");
10
7
  var _client = require("@apollo/client");
8
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
11
9
  var _monoI18n = require("@oanda/mono-i18n");
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _constant = require("../constant");
12
13
  var _getSentimentList = require("../gql/getSentimentList");
13
- var _utils = require("./utils");
14
- var _SortSwitch = require("./components/SortSwitch");
15
14
  var _graphql = require("../gql/types/graphql");
16
- var _constant = require("../constant");
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ var _SortSwitch = require("./components/SortSwitch");
16
+ var _utils = require("./utils");
18
17
  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); }
19
18
  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; }
19
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
20
  const Tool = _ref => {
21
21
  let {
22
22
  division
23
23
  } = _ref;
24
24
  const {
25
25
  size
26
- } = (0, _react.useContext)(_labsWidgetCommon.ThemeContext);
26
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
27
27
  const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
28
28
  const [sort, setSort] = (0, _react.useState)(_graphql.Sort.Bullish);
29
29
  const [sortedData, setSortedData] = (0, _react.useState)(new Array(20).fill({}));
@@ -48,8 +48,8 @@ const Tool = _ref => {
48
48
  }
49
49
  }, [data, sort]);
50
50
  return _react.default.createElement(_react.default.Fragment, null, size && _react.default.createElement("div", {
51
- "data-testid": "sentiment-tool",
52
- className: "lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary"
51
+ className: "lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary",
52
+ "data-testid": "sentiment-tool"
53
53
  }, error || sortedData.length === 0 ? _react.default.createElement("div", {
54
54
  className: "lw-flex lw-h-[200px] lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-p-2"
55
55
  }, _react.default.createElement(_labsWidgetCommon.ChartError, null)) : _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
@@ -73,28 +73,28 @@ const Tool = _ref => {
73
73
  'lw-mr-10': isDesktop
74
74
  })
75
75
  }, lang('net_long'))), sortedData.map((item, index) => _react.default.createElement("div", {
76
- className: "lw-flex lw-h-8 lw-w-full lw-items-center",
77
- key: item.name || index
76
+ key: item.name || index,
77
+ className: "lw-flex lw-h-8 lw-w-full lw-items-center"
78
78
  }, _react.default.createElement("div", {
79
79
  className: "lw-w-[120px] lw-shrink-0"
80
80
  }, loading ? _react.default.createElement(_labsWidgetCommon.Loader, {
81
81
  size: _labsWidgetCommon.LoaderSize.md
82
82
  }) : _react.default.createElement(_labsWidgetCommon.Truncate, {
83
- maxWidth: 120,
84
- tooltipId: _constant.INSTRUMENT_TOOLTIP_ID,
85
83
  className: "lw-pr-2 lw-font-sans lw-text-sm lw-font-bold",
86
- text: item.displayName || '\u2014'
84
+ maxWidth: 120,
85
+ text: item.displayName || '\u2014',
86
+ tooltipId: _constant.INSTRUMENT_TOOLTIP_ID
87
87
  })), _react.default.createElement(_labsWidgetCommon.Sentiment, {
88
- isLoading: loading,
89
88
  height: _labsWidgetCommon.SentimentHeight.md,
89
+ isLoading: loading,
90
90
  sentiment: item.sentiment
91
91
  }))))), _react.default.createElement(_labsWidgetCommon.Tooltip, {
92
92
  id: _constant.INSTRUMENT_TOOLTIP_ID
93
93
  }), !error && _react.default.createElement("div", {
94
94
  className: "lw-mt-2 lw-h-8"
95
95
  }, _react.default.createElement(_labsWidgetCommon.LastUpdated, {
96
- timestamp: updatedTimestamp,
97
- labelCallback: lang
96
+ labelCallback: lang,
97
+ timestamp: updatedTimestamp
98
98
  }))));
99
99
  };
100
100
  exports.Tool = Tool;
@@ -1 +1 @@
1
- {"version":3,"file":"Tool.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_client","_monoI18n","_getSentimentList","_utils","_SortSwitch","_graphql","_constant","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Tool","_ref","division","size","useContext","ThemeContext","isDesktop","Size","DESKTOP","sort","setSort","useState","Sort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","useQuery","getSentimentList","variables","fetchPolicy","lang","useLocale","updatedTimestamp","setUpdatedTimestamp","EMPTY_VALUE","useEffect","sortData","sentimentList","updatedAt","createElement","Fragment","className","length","ChartError","SortSwitch","disabled","selected","SelectedArrow","UP","DOWN","onClickButtonDown","Bearish","onClickButtonUp","classNames","map","item","index","key","name","Loader","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","displayName","Sentiment","isLoading","height","SentimentHeight","sentiment","Tooltip","id","LastUpdated","timestamp","labelCallback","exports"],"sources":["../../../src/SentimentWidget/Tool.tsx"],"sourcesContent":["import React, { useEffect, useState, useContext } from 'react';\nimport classNames from 'classnames';\nimport {\n Sentiment,\n SentimentHeight,\n Loader,\n LoaderSize,\n ChartError,\n Truncate,\n Tooltip,\n ThemeContext,\n Size,\n EMPTY_VALUE,\n LastUpdated,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { getSentimentList } from '../gql/getSentimentList';\nimport { SentimentToolConfig } from './types';\nimport { sortData } from './utils';\nimport { SelectedArrow, SortSwitch } from './components/SortSwitch';\nimport {\n GetSentimentListQuery, GetSentimentListQueryVariables, SentimentInstrument, Sort,\n} from '../gql/types/graphql';\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Tool = ({ division }: SentimentToolConfig) => {\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n const [sort, setSort] = useState(Sort.Bullish);\n const [sortedData, setSortedData] = useState<Omit<SentimentInstrument, 'id'>[]>(new Array(20).fill({}));\n const { loading, data, error } = useQuery<\n GetSentimentListQuery,\n GetSentimentListQueryVariables\n >(getSentimentList, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const { lang } = useLocale();\n const [updatedTimestamp, setUpdatedTimestamp] = useState(EMPTY_VALUE);\n\n useEffect(() => {\n if (data) {\n setSortedData(sortData(data, sort));\n setUpdatedTimestamp(data.sentimentList![0]?.updatedAt);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data, sort]);\n\n return (\n <>\n {size && (\n <div data-testid=\"sentiment-tool\" className=\"lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary\">\n {error || sortedData.length === 0 ? (\n <div className=\"lw-flex lw-h-[200px] lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <ChartError />\n </div>\n ) : (\n <>\n <div className=\"lw-flex lw-justify-end lw-pb-5\">\n <SortSwitch\n disabled={loading}\n selected={sort === Sort.Bullish ? SelectedArrow.UP : SelectedArrow.DOWN}\n onClickButtonDown={() => setSort(Sort.Bearish)}\n onClickButtonUp={() => setSort(Sort.Bullish)}\n />\n </div>\n <div className=\"lw-flex lw-flex-col lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n {sortedData.map((item, index) => (\n <div className=\"lw-flex lw-h-8 lw-w-full lw-items-center\" key={item.name || index}>\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading ? (\n <Loader size={LoaderSize.md} />\n ) : (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={item.displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={item.sentiment}\n />\n </div>\n ))}\n </div>\n </>\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n {!error\n && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated timestamp={updatedTimestamp} labelCallback={lang} />\n </div>\n )}\n </div>\n )}\n </>\n );\n};\n\nexport { Tool };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Tool.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_constant","_getSentimentList","_graphql","_SortSwitch","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Tool","_ref","division","size","useLayoutProvider","isDesktop","Size","DESKTOP","sort","setSort","useState","Sort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","useQuery","getSentimentList","variables","fetchPolicy","lang","useLocale","updatedTimestamp","setUpdatedTimestamp","EMPTY_VALUE","useEffect","sortData","sentimentList","updatedAt","createElement","Fragment","className","length","ChartError","SortSwitch","disabled","selected","SelectedArrow","UP","DOWN","onClickButtonDown","Bearish","onClickButtonUp","classNames","map","item","index","key","name","Loader","LoaderSize","md","Truncate","maxWidth","text","displayName","tooltipId","INSTRUMENT_TOOLTIP_ID","Sentiment","height","SentimentHeight","isLoading","sentiment","Tooltip","id","LastUpdated","labelCallback","timestamp","exports"],"sources":["../../../src/SentimentWidget/Tool.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n ChartError,\n EMPTY_VALUE,\n LastUpdated,\n Loader,\n LoaderSize,\n Sentiment,\n SentimentHeight,\n Size,\n Tooltip,\n Truncate,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classNames from 'classnames';\nimport React, { useEffect, useState } from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\nimport { getSentimentList } from '../gql/getSentimentList';\nimport type {\n GetSentimentListQuery,\n GetSentimentListQueryVariables,\n SentimentInstrument,\n} from '../gql/types/graphql';\nimport { Sort } from '../gql/types/graphql';\nimport { SelectedArrow, SortSwitch } from './components/SortSwitch';\nimport type { SentimentToolConfig } from './types';\nimport { sortData } from './utils';\n\nconst Tool = ({ division }: SentimentToolConfig) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const [sort, setSort] = useState(Sort.Bullish);\n const [sortedData, setSortedData] = useState<\n Omit<SentimentInstrument, 'id'>[]\n >(new Array(20).fill({}));\n const { loading, data, error } = useQuery<\n GetSentimentListQuery,\n GetSentimentListQueryVariables\n >(getSentimentList, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const { lang } = useLocale();\n const [updatedTimestamp, setUpdatedTimestamp] = useState(EMPTY_VALUE);\n\n useEffect(() => {\n if (data) {\n setSortedData(sortData(data, sort));\n setUpdatedTimestamp(data.sentimentList![0]?.updatedAt);\n }\n }, [data, sort]);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-relative lw-bg-bg-primary lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid=\"sentiment-tool\"\n >\n {error || sortedData.length === 0 ? (\n <div className=\"lw-flex lw-h-[200px] lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <ChartError />\n </div>\n ) : (\n <>\n <div className=\"lw-flex lw-justify-end lw-pb-5\">\n <SortSwitch\n disabled={loading}\n selected={\n sort === Sort.Bullish\n ? SelectedArrow.UP\n : SelectedArrow.DOWN\n }\n onClickButtonDown={() => setSort(Sort.Bearish)}\n onClickButtonUp={() => setSort(Sort.Bullish)}\n />\n </div>\n <div className=\"lw-flex lw-flex-col lw-border lw-border-solid lw-border-border-primary lw-p-2\">\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span\n className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span\n className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n {sortedData.map((item, index) => (\n <div\n key={item.name || index}\n className=\"lw-flex lw-h-8 lw-w-full lw-items-center\"\n >\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading ? (\n <Loader size={LoaderSize.md} />\n ) : (\n <Truncate\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n maxWidth={120}\n text={item.displayName || '\\u2014'}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n )}\n </div>\n <Sentiment\n height={SentimentHeight.md}\n isLoading={loading}\n sentiment={item.sentiment}\n />\n </div>\n ))}\n </div>\n </>\n )}\n <Tooltip id={INSTRUMENT_TOOLTIP_ID} />\n {!error && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated labelCallback={lang} timestamp={updatedTimestamp} />\n </div>\n )}\n </div>\n )}\n </>\n );\n};\n\nexport { Tool };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAaA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAC,uBAAA,CAAAN,OAAA;AAEA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAR,OAAA;AAMA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAEA,IAAAW,MAAA,GAAAX,OAAA;AAAmC,SAAAY,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,SAAAP,wBAAAO,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;AAAA,SAAAjB,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAEnC,MAAMmB,IAAI,GAAGC,IAAA,IAAuC;EAAA,IAAtC;IAAEC;EAA8B,CAAC,GAAAD,IAAA;EAC7C,MAAM;IAAEE;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EACvC,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAG,IAAAC,eAAQ,EAACC,aAAI,CAACC,OAAO,CAAC;EAC9C,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAJ,eAAQ,EAE1C,IAAIK,KAAK,CAAC,EAAE,CAAC,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;EACzB,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,kCAAgB,EAAE;IAClBC,SAAS,EAAE;MACTpB;IACF,CAAC;IACDqB,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAC5B,MAAM,CAACC,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG,IAAAjB,eAAQ,EAACkB,6BAAW,CAAC;EAErE,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIX,IAAI,EAAE;MACRJ,aAAa,CAAC,IAAAgB,eAAQ,EAACZ,IAAI,EAAEV,IAAI,CAAC,CAAC;MACnCmB,mBAAmB,CAACT,IAAI,CAACa,aAAa,CAAE,CAAC,CAAC,EAAEC,SAAS,CAAC;IACxD;EACF,CAAC,EAAE,CAACd,IAAI,EAAEV,IAAI,CAAC,CAAC;EAEhB,OACEnC,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAAA5D,MAAA,CAAAa,OAAA,CAAAgD,QAAA,QACG/B,IAAI,IACH9B,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IACEE,SAAS,EAAC,iFAAiF;IAC3F,eAAY;EAAgB,GAE3BhB,KAAK,IAAIN,UAAU,CAACuB,MAAM,KAAK,CAAC,GAC/B/D,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IAAKE,SAAS,EAAC;EAAkH,GAC/H9D,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAAChE,iBAAA,CAAAoE,UAAU,MAAE,CACV,CAAC,GAENhE,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAAA5D,MAAA,CAAAa,OAAA,CAAAgD,QAAA,QACE7D,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IAAKE,SAAS,EAAC;EAAgC,GAC7C9D,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAACvD,WAAA,CAAA4D,UAAU;IACTC,QAAQ,EAAEtB,OAAQ;IAClBuB,QAAQ,EACNhC,IAAI,KAAKG,aAAI,CAACC,OAAO,GACjB6B,yBAAa,CAACC,EAAE,GAChBD,yBAAa,CAACE,IACnB;IACDC,iBAAiB,EAAEA,CAAA,KAAMnC,OAAO,CAACE,aAAI,CAACkC,OAAO,CAAE;IAC/CC,eAAe,EAAEA,CAAA,KAAMrC,OAAO,CAACE,aAAI,CAACC,OAAO;EAAE,CAC9C,CACE,CAAC,EACNvC,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IAAKE,SAAS,EAAC;EAA+E,GAC5F9D,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IAAKE,SAAS,EAAC;EAAqD,GAClE9D,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IACEE,SAAS,EAAE,IAAAY,mBAAU,EAAC,cAAc,EAAE;MACpC,UAAU,EAAE1C,SAAS;MACrB,gBAAgB,EAAE,CAACA;IACrB,CAAC;EAAE,GAEFmB,IAAI,CAAC,WAAW,CACb,CAAC,EACPnD,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IACEE,SAAS,EAAE,IAAAY,mBAAU,EAAC,4BAA4B,EAAE;MAClD,UAAU,EAAE1C;IACd,CAAC;EAAE,GAEFmB,IAAI,CAAC,UAAU,CACZ,CACH,CAAC,EACLX,UAAU,CAACmC,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,KAC1B7E,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IACEkB,GAAG,EAAEF,IAAI,CAACG,IAAI,IAAIF,KAAM;IACxBf,SAAS,EAAC;EAA0C,GAEpD9D,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IAAKE,SAAS,EAAC;EAA0B,GACtClB,OAAO,GACN5C,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAAChE,iBAAA,CAAAoF,MAAM;IAAClD,IAAI,EAAEmD,4BAAU,CAACC;EAAG,CAAE,CAAC,GAE/BlF,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAAChE,iBAAA,CAAAuF,QAAQ;IACPrB,SAAS,EAAC,8CAA8C;IACxDsB,QAAQ,EAAE,GAAI;IACdC,IAAI,EAAET,IAAI,CAACU,WAAW,IAAI,QAAS;IACnCC,SAAS,EAAEC;EAAsB,CAClC,CAEA,CAAC,EACNxF,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAAChE,iBAAA,CAAA6F,SAAS;IACRC,MAAM,EAAEC,iCAAe,CAACT,EAAG;IAC3BU,SAAS,EAAEhD,OAAQ;IACnBiD,SAAS,EAAEjB,IAAI,CAACiB;EAAU,CAC3B,CACE,CACN,CACE,CACL,CACH,EACD7F,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAAChE,iBAAA,CAAAkG,OAAO;IAACC,EAAE,EAAEP;EAAsB,CAAE,CAAC,EACrC,CAAC1C,KAAK,IACL9C,MAAA,CAAAa,OAAA,CAAA+C,aAAA;IAAKE,SAAS,EAAC;EAAgB,GAC7B9D,MAAA,CAAAa,OAAA,CAAA+C,aAAA,CAAChE,iBAAA,CAAAoG,WAAW;IAACC,aAAa,EAAE9C,IAAK;IAAC+C,SAAS,EAAE7C;EAAiB,CAAE,CAC7D,CAEJ,CAEP,CAAC;AAEP,CAAC;AAAC8C,OAAA,CAAAxE,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -4,16 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Widget = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _classnames = _interopRequireDefault(require("classnames"));
7
+ var _client = require("@apollo/client");
9
8
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
10
9
  var _monoI18n = require("@oanda/mono-i18n");
11
- var _client = require("@apollo/client");
12
- var _getInstrumentSentiment = require("../gql/getInstrumentSentiment");
10
+ var _classnames = _interopRequireDefault(require("classnames"));
11
+ var _react = _interopRequireDefault(require("react"));
13
12
  var _constant = require("../constant");
13
+ var _getInstrumentSentiment = require("../gql/getInstrumentSentiment");
14
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- 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); }
16
- 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; }
17
15
  const Widget = _ref => {
18
16
  let {
19
17
  instrument,
@@ -33,7 +31,7 @@ const Widget = _ref => {
33
31
  });
34
32
  const {
35
33
  size
36
- } = (0, _react.useContext)(_labsWidgetCommon.ThemeContext);
34
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
37
35
  const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
38
36
  const {
39
37
  lang
@@ -45,8 +43,8 @@ const Widget = _ref => {
45
43
  } = data?.sentiment?.[0] || {};
46
44
  const isError = error || sentiment?.shortPercent === 0 && sentiment?.longPercent === 0 || sentiment?.shortPercent === undefined || sentiment?.longPercent === undefined;
47
45
  return _react.default.createElement(_react.default.Fragment, null, size && _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
48
- "data-testid": "sentiment-widget",
49
- className: "lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary"
46
+ className: "lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary",
47
+ "data-testid": "sentiment-widget"
50
48
  }, includeDescriptionLabels && !isError && _react.default.createElement("div", {
51
49
  className: "lw-mb-2 lw-flex lw-justify-between lw-font-semibold"
52
50
  }, _react.default.createElement("span", {
@@ -65,20 +63,20 @@ const Widget = _ref => {
65
63
  }, loading && _react.default.createElement(_labsWidgetCommon.Loader, {
66
64
  size: _labsWidgetCommon.LoaderSize.md
67
65
  }), !loading && !isError && _react.default.createElement(_labsWidgetCommon.Truncate, {
68
- maxWidth: 120,
69
- tooltipId: _constant.INSTRUMENT_TOOLTIP_ID,
70
66
  className: "lw-pr-2 lw-font-sans lw-text-sm lw-font-bold",
71
- text: displayName || '\u2014'
67
+ maxWidth: 120,
68
+ text: displayName || '\u2014',
69
+ tooltipId: _constant.INSTRUMENT_TOOLTIP_ID
72
70
  })), _react.default.createElement(_labsWidgetCommon.Sentiment, {
73
- withError: false,
74
- isLoading: loading,
75
71
  height: _labsWidgetCommon.SentimentHeight.md,
76
- sentiment: sentiment
72
+ isLoading: loading,
73
+ sentiment: sentiment,
74
+ withError: false
77
75
  })), !loading && isError && _react.default.createElement(_labsWidgetCommon.Error, null)), !isError && updatedAt && _react.default.createElement("div", {
78
76
  className: "lw-mt-2 lw-h-8"
79
77
  }, _react.default.createElement(_labsWidgetCommon.LastUpdated, {
80
- timestamp: updatedAt,
81
- labelCallback: lang
78
+ labelCallback: lang,
79
+ timestamp: updatedAt
82
80
  }))));
83
81
  };
84
82
  exports.Widget = Widget;
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_monoI18n","_client","_getInstrumentSentiment","_constant","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Widget","_ref","instrument","division","includeDescriptionLabels","loading","data","error","useQuery","getInstrumentSentiment","variables","name","fetchPolicy","size","useContext","ThemeContext","isDesktop","Size","DESKTOP","lang","useLocale","displayName","sentiment","updatedAt","isError","shortPercent","longPercent","undefined","createElement","Fragment","className","classNames","Loader","LoaderSize","md","Truncate","maxWidth","tooltipId","INSTRUMENT_TOOLTIP_ID","text","Sentiment","withError","isLoading","height","SentimentHeight","Error","LastUpdated","timestamp","labelCallback","exports"],"sources":["../../../src/SentimentWidget/Widget.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport classNames from 'classnames';\nimport {\n Sentiment,\n SentimentHeight,\n Error,\n Loader,\n LoaderSize,\n Truncate,\n ThemeContext,\n Size,\n LastUpdated,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { useQuery } from '@apollo/client';\nimport { getInstrumentSentiment } from '../gql/getInstrumentSentiment';\nimport { SentimentWidgetConfig } from './types';\nimport { GetInstrumentSentimentQuery, GetInstrumentSentimentQueryVariables } from '../gql/types/graphql';\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\n\nconst Widget = ({\n instrument,\n division,\n includeDescriptionLabels = false,\n}: SentimentWidgetConfig) => {\n const { loading, data, error } = useQuery<\n GetInstrumentSentimentQuery,\n GetInstrumentSentimentQueryVariables\n >(getInstrumentSentiment, {\n variables: {\n name: instrument,\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n const { lang } = useLocale();\n\n const { displayName, sentiment, updatedAt } = data?.sentiment?.[0] || {};\n\n const isError = error\n || (sentiment?.shortPercent === 0 && sentiment?.longPercent === 0)\n || sentiment?.shortPercent === undefined\n || sentiment?.longPercent === undefined;\n\n return (\n <>\n {size && (\n <>\n <div\n data-testid=\"sentiment-widget\"\n className=\"lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary\"\n >\n {includeDescriptionLabels && !isError\n && (\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n )}\n <div className=\"lw-flex lw-items-center lw-justify-between\">\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading && <Loader size={LoaderSize.md} />}\n {!loading && !isError && (\n <Truncate\n maxWidth={120}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n text={displayName || '\\u2014'}\n />\n )}\n </div>\n <Sentiment\n withError={false}\n isLoading={loading}\n height={SentimentHeight.md}\n sentiment={sentiment}\n />\n </div>\n\n {!loading && isError && <Error />}\n </div>\n {!isError && updatedAt && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated timestamp={updatedAt} labelCallback={lang} />\n </div>\n )}\n </>\n )}\n </>\n );\n};\n\nexport { Widget };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Widget.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_classnames","_interopRequireDefault","_react","_constant","_getInstrumentSentiment","e","__esModule","default","Widget","_ref","instrument","division","includeDescriptionLabels","loading","data","error","useQuery","getInstrumentSentiment","variables","name","fetchPolicy","size","useLayoutProvider","isDesktop","Size","DESKTOP","lang","useLocale","displayName","sentiment","updatedAt","isError","shortPercent","longPercent","undefined","createElement","Fragment","className","classNames","Loader","LoaderSize","md","Truncate","maxWidth","text","tooltipId","INSTRUMENT_TOOLTIP_ID","Sentiment","height","SentimentHeight","isLoading","withError","Error","LastUpdated","labelCallback","timestamp","exports"],"sources":["../../../src/SentimentWidget/Widget.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport {\n Error,\n LastUpdated,\n Loader,\n LoaderSize,\n Sentiment,\n SentimentHeight,\n Size,\n Truncate,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classNames from 'classnames';\nimport React from 'react';\n\nimport { INSTRUMENT_TOOLTIP_ID } from '../constant';\nimport { getInstrumentSentiment } from '../gql/getInstrumentSentiment';\nimport type {\n GetInstrumentSentimentQuery,\n GetInstrumentSentimentQueryVariables,\n} from '../gql/types/graphql';\nimport type { SentimentWidgetConfig } from './types';\n\nconst Widget = ({\n instrument,\n division,\n includeDescriptionLabels = false,\n}: SentimentWidgetConfig) => {\n const { loading, data, error } = useQuery<\n GetInstrumentSentimentQuery,\n GetInstrumentSentimentQueryVariables\n >(getInstrumentSentiment, {\n variables: {\n name: instrument,\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { lang } = useLocale();\n\n const { displayName, sentiment, updatedAt } = data?.sentiment?.[0] || {};\n\n const isError =\n error ||\n (sentiment?.shortPercent === 0 && sentiment?.longPercent === 0) ||\n sentiment?.shortPercent === undefined ||\n sentiment?.longPercent === undefined;\n\n return (\n <>\n {size && (\n <>\n <div\n className=\"lw-border lw-border-solid lw-border-border-primary lw-bg-bg-primary lw-p-4 lw-text-sm lw-tracking-normal lw-text-text-primary\"\n data-testid=\"sentiment-widget\"\n >\n {includeDescriptionLabels && !isError && (\n <div className=\"lw-mb-2 lw-flex lw-justify-between lw-font-semibold\">\n <span\n className={classNames('lw-uppercase', {\n 'lw-ml-40': isDesktop,\n 'lw-ml-[7.5rem]': !isDesktop,\n })}\n >\n {lang('net_short')}\n </span>\n <span\n className={classNames('lw-text-right lw-uppercase', {\n 'lw-mr-10': isDesktop,\n })}\n >\n {lang('net_long')}\n </span>\n </div>\n )}\n <div className=\"lw-flex lw-items-center lw-justify-between\">\n <div className=\"lw-w-[120px] lw-shrink-0\">\n {loading && <Loader size={LoaderSize.md} />}\n {!loading && !isError && (\n <Truncate\n className=\"lw-pr-2 lw-font-sans lw-text-sm lw-font-bold\"\n maxWidth={120}\n text={displayName || '\\u2014'}\n tooltipId={INSTRUMENT_TOOLTIP_ID}\n />\n )}\n </div>\n <Sentiment\n height={SentimentHeight.md}\n isLoading={loading}\n sentiment={sentiment}\n withError={false}\n />\n </div>\n\n {!loading && isError && <Error />}\n </div>\n {!isError && updatedAt && (\n <div className=\"lw-mt-2 lw-h-8\">\n <LastUpdated labelCallback={lang} timestamp={updatedAt} />\n </div>\n )}\n </>\n )}\n </>\n );\n};\n\nexport { Widget };\n"],"mappings":"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","ignoreList":[]}
@@ -4,13 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SortSwitch = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _classnames = _interopRequireDefault(require("classnames"));
9
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _react = _interopRequireDefault(require("react"));
10
10
  var _types = require("./types");
11
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- 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); }
13
- 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; }
14
12
  const SortSwitch = _ref => {
15
13
  let {
16
14
  onClickButtonDown,
@@ -20,22 +18,22 @@ const SortSwitch = _ref => {
20
18
  } = _ref;
21
19
  const {
22
20
  isDark
23
- } = (0, _react.useContext)(_labsWidgetCommon.ThemeContext);
21
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
24
22
  return _react.default.createElement("div", {
25
- "data-testid": "sort-switch",
26
23
  className: (0, _classnames.default)('lw-flex lw-rounded lw-border-[1px] lw-border-solid lw-font-sans lw-text-xs lw-tracking-normal', {
27
24
  'lw-border-border-disabled': disabled,
28
25
  'lw-border-secondary': !disabled
29
- })
26
+ }),
27
+ "data-testid": "sort-switch"
30
28
  }, _react.default.createElement("button", {
31
- "data-testid": "sort-switch-button-up",
32
- disabled: disabled || selected === _types.SelectedArrow.UP,
33
- type: "button",
34
- onClick: onClickButtonUp,
35
29
  className: (0, _classnames.default)('lw-flex lw-h-11 lw-w-11 lw-grow-0 lw-items-center lw-justify-center lw-border-solid focus:lw-outline-secondary [&:enabled:hover>*]:-lw-translate-y-1', {
36
30
  'lw-border-r-[1px] lw-border-r-border-disabled': disabled,
37
31
  'lw-bg-secondary': selected === _types.SelectedArrow.UP && !disabled
38
- })
32
+ }),
33
+ "data-testid": "sort-switch-button-up",
34
+ disabled: disabled || selected === _types.SelectedArrow.UP,
35
+ type: "button",
36
+ onClick: onClickButtonUp
39
37
  }, _react.default.createElement(_labsWidgetCommon.LongArrowUp, {
40
38
  className: (0, _classnames.default)('lw-transition-transform', {
41
39
  'lw-stroke-border-disabled': disabled,
@@ -44,13 +42,13 @@ const SortSwitch = _ref => {
44
42
  'lw-stroke-ok': selected === _types.SelectedArrow.UP && !disabled && !isDark
45
43
  })
46
44
  })), _react.default.createElement("button", {
45
+ className: (0, _classnames.default)('lw-flex lw-h-11 lw-w-11 lw-grow-0 lw-items-center lw-justify-center lw-text-center focus:lw-outline-secondary [&:enabled:hover>*]:lw-translate-y-1', {
46
+ 'lw-bg-secondary': selected === _types.SelectedArrow.DOWN && !disabled
47
+ }),
47
48
  "data-testid": "sort-switch-button-down",
48
49
  disabled: disabled || selected === _types.SelectedArrow.DOWN,
49
50
  type: "button",
50
- onClick: onClickButtonDown,
51
- className: (0, _classnames.default)('lw-flex lw-h-11 lw-w-11 lw-grow-0 lw-items-center lw-justify-center lw-text-center focus:lw-outline-secondary [&:enabled:hover>*]:lw-translate-y-1', {
52
- 'lw-bg-secondary': selected === _types.SelectedArrow.DOWN && !disabled
53
- })
51
+ onClick: onClickButtonDown
54
52
  }, _react.default.createElement(_labsWidgetCommon.LongArrowDown, {
55
53
  className: (0, _classnames.default)('lw-transition-transform', {
56
54
  'lw-stroke-border-disabled': disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"SortSwitch.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_types","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","SortSwitch","_ref","onClickButtonDown","onClickButtonUp","selected","disabled","isDark","useContext","ThemeContext","createElement","className","classnames","SelectedArrow","UP","type","onClick","LongArrowUp","DOWN","LongArrowDown","exports"],"sources":["../../../../../src/SentimentWidget/components/SortSwitch/SortSwitch.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport classnames from 'classnames';\nimport {\n LongArrowUp, LongArrowDown, ThemeContext,\n} from '@oanda/labs-widget-common';\nimport { SelectedArrow, SortSwitchProps } from './types';\n\nconst SortSwitch = ({\n onClickButtonDown, onClickButtonUp, selected, disabled,\n}: SortSwitchProps) => {\n const { isDark } = useContext(ThemeContext);\n\n return (\n <div\n data-testid=\"sort-switch\"\n className={classnames(\n 'lw-flex lw-rounded lw-border-[1px] lw-border-solid lw-font-sans lw-text-xs lw-tracking-normal',\n {\n 'lw-border-border-disabled': disabled,\n 'lw-border-secondary': !disabled,\n },\n )}\n >\n <button\n data-testid=\"sort-switch-button-up\"\n disabled={disabled || selected === SelectedArrow.UP}\n type=\"button\"\n onClick={onClickButtonUp}\n className={classnames(\n 'lw-flex lw-h-11 lw-w-11 lw-grow-0 lw-items-center lw-justify-center lw-border-solid focus:lw-outline-secondary [&:enabled:hover>*]:-lw-translate-y-1',\n {\n 'lw-border-r-[1px] lw-border-r-border-disabled': disabled,\n 'lw-bg-secondary': selected === SelectedArrow.UP && !disabled,\n },\n )}\n >\n <LongArrowUp\n className={classnames(\n 'lw-transition-transform',\n {\n 'lw-stroke-border-disabled': disabled,\n 'lw-stroke-secondary': selected !== SelectedArrow.UP && !disabled,\n 'lw-stroke-bg-primary': selected === SelectedArrow.UP && !disabled && isDark,\n 'lw-stroke-ok': selected === SelectedArrow.UP && !disabled && !isDark,\n },\n )}\n />\n </button>\n <button\n data-testid=\"sort-switch-button-down\"\n disabled={disabled || selected === SelectedArrow.DOWN}\n type=\"button\"\n onClick={onClickButtonDown}\n className={classnames(\n 'lw-flex lw-h-11 lw-w-11 lw-grow-0 lw-items-center lw-justify-center lw-text-center focus:lw-outline-secondary [&:enabled:hover>*]:lw-translate-y-1',\n {\n 'lw-bg-secondary': selected === SelectedArrow.DOWN && !disabled,\n },\n )}\n >\n <LongArrowDown\n className={classnames(\n 'lw-transition-transform',\n {\n 'lw-stroke-border-disabled': disabled,\n 'lw-stroke-secondary': selected !== SelectedArrow.DOWN && !disabled,\n 'lw-stroke-bg-primary': selected === SelectedArrow.DOWN && !disabled && isDark,\n 'lw-stroke-ok': selected === SelectedArrow.DOWN && !disabled && !isDark,\n },\n )}\n />\n </button>\n </div>\n );\n};\n\nexport {\n SortSwitch,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SortSwitch.js","names":["_labsWidgetCommon","require","_classnames","_interopRequireDefault","_react","_types","e","__esModule","default","SortSwitch","_ref","onClickButtonDown","onClickButtonUp","selected","disabled","isDark","useLayoutProvider","createElement","className","classnames","SelectedArrow","UP","type","onClick","LongArrowUp","DOWN","LongArrowDown","exports"],"sources":["../../../../../src/SentimentWidget/components/SortSwitch/SortSwitch.tsx"],"sourcesContent":["import {\n LongArrowDown,\n LongArrowUp,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport type { SortSwitchProps } from './types';\nimport { SelectedArrow } from './types';\n\nconst SortSwitch = ({\n onClickButtonDown,\n onClickButtonUp,\n selected,\n disabled,\n}: SortSwitchProps) => {\n const { isDark } = useLayoutProvider();\n\n return (\n <div\n className={classnames(\n 'lw-flex lw-rounded lw-border-[1px] lw-border-solid lw-font-sans lw-text-xs lw-tracking-normal',\n {\n 'lw-border-border-disabled': disabled,\n 'lw-border-secondary': !disabled,\n }\n )}\n data-testid=\"sort-switch\"\n >\n <button\n className={classnames(\n 'lw-flex lw-h-11 lw-w-11 lw-grow-0 lw-items-center lw-justify-center lw-border-solid focus:lw-outline-secondary [&:enabled:hover>*]:-lw-translate-y-1',\n {\n 'lw-border-r-[1px] lw-border-r-border-disabled': disabled,\n 'lw-bg-secondary': selected === SelectedArrow.UP && !disabled,\n }\n )}\n data-testid=\"sort-switch-button-up\"\n disabled={disabled || selected === SelectedArrow.UP}\n type=\"button\"\n onClick={onClickButtonUp}\n >\n <LongArrowUp\n className={classnames('lw-transition-transform', {\n 'lw-stroke-border-disabled': disabled,\n 'lw-stroke-secondary': selected !== SelectedArrow.UP && !disabled,\n 'lw-stroke-bg-primary':\n selected === SelectedArrow.UP && !disabled && isDark,\n 'lw-stroke-ok':\n selected === SelectedArrow.UP && !disabled && !isDark,\n })}\n />\n </button>\n <button\n className={classnames(\n 'lw-flex lw-h-11 lw-w-11 lw-grow-0 lw-items-center lw-justify-center lw-text-center focus:lw-outline-secondary [&:enabled:hover>*]:lw-translate-y-1',\n {\n 'lw-bg-secondary': selected === SelectedArrow.DOWN && !disabled,\n }\n )}\n data-testid=\"sort-switch-button-down\"\n disabled={disabled || selected === SelectedArrow.DOWN}\n type=\"button\"\n onClick={onClickButtonDown}\n >\n <LongArrowDown\n className={classnames('lw-transition-transform', {\n 'lw-stroke-border-disabled': disabled,\n 'lw-stroke-secondary': selected !== SelectedArrow.DOWN && !disabled,\n 'lw-stroke-bg-primary':\n selected === SelectedArrow.DOWN && !disabled && isDark,\n 'lw-stroke-ok':\n selected === SelectedArrow.DOWN && !disabled && !isDark,\n })}\n />\n </button>\n </div>\n );\n};\n\nexport { SortSwitch };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AAGA,IAAAI,MAAA,GAAAJ,OAAA;AAAwC,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExC,MAAMG,UAAU,GAAGC,IAAA,IAKI;EAAA,IALH;IAClBC,iBAAiB;IACjBC,eAAe;IACfC,QAAQ;IACRC;EACe,CAAC,GAAAJ,IAAA;EAChB,MAAM;IAAEK;EAAO,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EAEtC,OACEZ,MAAA,CAAAI,OAAA,CAAAS,aAAA;IACEC,SAAS,EAAE,IAAAC,mBAAU,EACnB,+FAA+F,EAC/F;MACE,2BAA2B,EAAEL,QAAQ;MACrC,qBAAqB,EAAE,CAACA;IAC1B,CACF,CAAE;IACF,eAAY;EAAa,GAEzBV,MAAA,CAAAI,OAAA,CAAAS,aAAA;IACEC,SAAS,EAAE,IAAAC,mBAAU,EACnB,uJAAuJ,EACvJ;MACE,+CAA+C,EAAEL,QAAQ;MACzD,iBAAiB,EAAED,QAAQ,KAAKO,oBAAa,CAACC,EAAE,IAAI,CAACP;IACvD,CACF,CAAE;IACF,eAAY,uBAAuB;IACnCA,QAAQ,EAAEA,QAAQ,IAAID,QAAQ,KAAKO,oBAAa,CAACC,EAAG;IACpDC,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEX;EAAgB,GAEzBR,MAAA,CAAAI,OAAA,CAAAS,aAAA,CAACjB,iBAAA,CAAAwB,WAAW;IACVN,SAAS,EAAE,IAAAC,mBAAU,EAAC,yBAAyB,EAAE;MAC/C,2BAA2B,EAAEL,QAAQ;MACrC,qBAAqB,EAAED,QAAQ,KAAKO,oBAAa,CAACC,EAAE,IAAI,CAACP,QAAQ;MACjE,sBAAsB,EACpBD,QAAQ,KAAKO,oBAAa,CAACC,EAAE,IAAI,CAACP,QAAQ,IAAIC,MAAM;MACtD,cAAc,EACZF,QAAQ,KAAKO,oBAAa,CAACC,EAAE,IAAI,CAACP,QAAQ,IAAI,CAACC;IACnD,CAAC;EAAE,CACJ,CACK,CAAC,EACTX,MAAA,CAAAI,OAAA,CAAAS,aAAA;IACEC,SAAS,EAAE,IAAAC,mBAAU,EACnB,oJAAoJ,EACpJ;MACE,iBAAiB,EAAEN,QAAQ,KAAKO,oBAAa,CAACK,IAAI,IAAI,CAACX;IACzD,CACF,CAAE;IACF,eAAY,yBAAyB;IACrCA,QAAQ,EAAEA,QAAQ,IAAID,QAAQ,KAAKO,oBAAa,CAACK,IAAK;IACtDH,IAAI,EAAC,QAAQ;IACbC,OAAO,EAAEZ;EAAkB,GAE3BP,MAAA,CAAAI,OAAA,CAAAS,aAAA,CAACjB,iBAAA,CAAA0B,aAAa;IACZR,SAAS,EAAE,IAAAC,mBAAU,EAAC,yBAAyB,EAAE;MAC/C,2BAA2B,EAAEL,QAAQ;MACrC,qBAAqB,EAAED,QAAQ,KAAKO,oBAAa,CAACK,IAAI,IAAI,CAACX,QAAQ;MACnE,sBAAsB,EACpBD,QAAQ,KAAKO,oBAAa,CAACK,IAAI,IAAI,CAACX,QAAQ,IAAIC,MAAM;MACxD,cAAc,EACZF,QAAQ,KAAKO,oBAAa,CAACK,IAAI,IAAI,CAACX,QAAQ,IAAI,CAACC;IACrD,CAAC;EAAE,CACJ,CACK,CACL,CAAC;AAEV,CAAC;AAACY,OAAA,CAAAlB,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
3
4
  var _react = _interopRequireDefault(require("react"));
4
5
  var _client = require("react-dom/client");
5
- var _labsWidgetCommon = require("@oanda/labs-widget-common");
6
- var _SentimentWidget = require("./SentimentWidget");
7
6
  var _graphql = require("../gql/types/graphql");
7
+ var _SentimentWidget = require("./SentimentWidget");
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
9
  const {
10
10
  graphqlUrl: configGraphQl,
@@ -43,22 +43,22 @@ if (sentimentParamsElements.length > 0) {
43
43
  name: 'graphqlUrl'
44
44
  }]);
45
45
  root.render(_react.default.createElement(_SentimentWidget.SentimentWidget, {
46
- graphqlUrl: graphqlUrl,
47
46
  division: division,
48
- instrument: instrument,
49
- locale: locale,
50
- theme: mode,
47
+ graphqlUrl: graphqlUrl,
51
48
  includeDescriptionLabels: includeDescriptionLabels,
49
+ instrument: instrument,
52
50
  isParamError: isParamError,
53
- logoLink: logoLink
51
+ locale: locale,
52
+ logoLink: logoLink,
53
+ theme: mode
54
54
  }));
55
55
  });
56
56
  } else {
57
- const container = document.getElementById(configRenderElementId);
57
+ const container = document.querySelector(configRenderElementId);
58
58
  const root = (0, _client.createRoot)(container);
59
59
  root.render(_react.default.createElement(_SentimentWidget.SentimentWidget, {
60
- graphqlUrl: configGraphQl,
61
60
  division: configDivision,
61
+ graphqlUrl: configGraphQl,
62
62
  instrument: configInstrument,
63
63
  locale: configLocale
64
64
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["_react","_interopRequireDefault","require","_client","_labsWidgetCommon","_SentimentWidget","_graphql","e","__esModule","default","graphqlUrl","configGraphQl","division","configDivision","instrument","configInstrument","renderElementId","configRenderElementId","locale","configLocale","window","sentimentWidgetConfig","widgetsConfig","sentimentParamsElements","document","querySelectorAll","length","forEach","element","root","createRoot","params","getAttribute","mode","includeDescriptionLabels","logoLink","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","render","createElement","SentimentWidget","theme","container","getElementById"],"sources":["../../../src/SentimentWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Theme, validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport { SentimentWidget } from './SentimentWidget';\nimport { Division } from '../gql/types/graphql';\n\nconst {\n graphqlUrl: configGraphQl,\n division: configDivision,\n instrument: configInstrument,\n renderElementId: configRenderElementId,\n locale: configLocale,\n} = window.sentimentWidgetConfig || {};\n\nconst {\n graphqlUrl,\n} = window.widgetsConfig || {};\n\nconst sentimentParamsElements = document.querySelectorAll('div[data-sentiment-params]');\n\nif (sentimentParamsElements.length > 0) {\n sentimentParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-sentiment-params');\n const mode = element.getAttribute('data-mode');\n const {\n instrument, division, locale, includeDescriptionLabels, logoLink,\n } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({\n division, locale, graphqlUrl,\n }, [\n {\n name: 'locale',\n valueCheck: (value) => validateLocale(value),\n }, {\n name: 'division',\n valueCheck: (value) => Object.values(Division).includes(value),\n }, {\n name: 'graphqlUrl',\n },\n ]);\n root.render(\n <SentimentWidget\n graphqlUrl={graphqlUrl}\n division={division}\n instrument={instrument}\n locale={locale}\n theme={mode as Theme}\n includeDescriptionLabels={includeDescriptionLabels}\n isParamError={isParamError}\n logoLink={logoLink}\n />,\n );\n });\n} else {\n const container = document.getElementById(configRenderElementId);\n const root = createRoot(container!);\n root.render(\n <SentimentWidget\n graphqlUrl={configGraphQl}\n division={configDivision}\n instrument={configInstrument}\n locale={configLocale}\n />,\n );\n}\n"],"mappings":";;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAAgD,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEhD,MAAM;EACJG,UAAU,EAAEC,aAAa;EACzBC,QAAQ,EAAEC,cAAc;EACxBC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,MAAM,EAAEC;AACV,CAAC,GAAGC,MAAM,CAACC,qBAAqB,IAAI,CAAC,CAAC;AAEtC,MAAM;EACJX;AACF,CAAC,GAAGU,MAAM,CAACE,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,uBAAuB,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,4BAA4B,CAAC;AAEvF,IAAIF,uBAAuB,CAACG,MAAM,GAAG,CAAC,EAAE;EACtCH,uBAAuB,CAACI,OAAO,CAAEC,OAAO,IAAK;IAC3C,MAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;IAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,uBAAuB,CAAC;IAC5D,MAAMC,IAAI,GAAGL,OAAO,CAACI,YAAY,CAAC,WAAW,CAAC;IAC9C,MAAM;MACJlB,UAAU;MAAEF,QAAQ;MAAEM,MAAM;MAAEgB,wBAAwB;MAAEC;IAC1D,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACN,MAAgB,CAAC;IAEhC,MAAMO,YAAY,GAAG,IAAAC,oCAAkB,EAAC;MACtC3B,QAAQ;MAAEM,MAAM;MAAER;IACpB,CAAC,EAAE,CACD;MACE8B,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAGC,KAAK,IAAK,IAAAC,gCAAc,EAACD,KAAK;IAC7C,CAAC,EAAE;MACDF,IAAI,EAAE,UAAU;MAChBC,UAAU,EAAGC,KAAK,IAAKE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;IAC/D,CAAC,EAAE;MACDF,IAAI,EAAE;IACR,CAAC,CACF,CAAC;IACFX,IAAI,CAACmB,MAAM,CACThD,MAAA,CAAAS,OAAA,CAAAwC,aAAA,CAAC5C,gBAAA,CAAA6C,eAAe;MACdxC,UAAU,EAAEA,UAAW;MACvBE,QAAQ,EAAEA,QAAS;MACnBE,UAAU,EAAEA,UAAW;MACvBI,MAAM,EAAEA,MAAO;MACfiC,KAAK,EAAElB,IAAc;MACrBC,wBAAwB,EAAEA,wBAAyB;MACnDI,YAAY,EAAEA,YAAa;MAC3BH,QAAQ,EAAEA;IAAS,CACpB,CACH,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,MAAM;EACL,MAAMiB,SAAS,GAAG5B,QAAQ,CAAC6B,cAAc,CAACpC,qBAAqB,CAAC;EAChE,MAAMY,IAAI,GAAG,IAAAC,kBAAU,EAACsB,SAAU,CAAC;EACnCvB,IAAI,CAACmB,MAAM,CACThD,MAAA,CAAAS,OAAA,CAAAwC,aAAA,CAAC5C,gBAAA,CAAA6C,eAAe;IACdxC,UAAU,EAAEC,aAAc;IAC1BC,QAAQ,EAAEC,cAAe;IACzBC,UAAU,EAAEC,gBAAiB;IAC7BG,MAAM,EAAEC;EAAa,CACtB,CACH,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"render.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_client","_graphql","_SentimentWidget","e","__esModule","default","graphqlUrl","configGraphQl","division","configDivision","instrument","configInstrument","renderElementId","configRenderElementId","locale","configLocale","window","sentimentWidgetConfig","widgetsConfig","sentimentParamsElements","document","querySelectorAll","length","forEach","element","root","createRoot","params","getAttribute","mode","includeDescriptionLabels","logoLink","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","render","createElement","SentimentWidget","theme","container","querySelector"],"sources":["../../../src/SentimentWidget/render.tsx"],"sourcesContent":["import type { Theme } from '@oanda/labs-widget-common';\nimport { validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Division } from '../gql/types/graphql';\nimport { SentimentWidget } from './SentimentWidget';\n\nconst {\n graphqlUrl: configGraphQl,\n division: configDivision,\n instrument: configInstrument,\n renderElementId: configRenderElementId,\n locale: configLocale,\n} = window.sentimentWidgetConfig || {};\n\nconst { graphqlUrl } = window.widgetsConfig || {};\n\nconst sentimentParamsElements = document.querySelectorAll(\n 'div[data-sentiment-params]'\n);\n\nif (sentimentParamsElements.length > 0) {\n sentimentParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-sentiment-params');\n const mode = element.getAttribute('data-mode');\n const { instrument, division, locale, includeDescriptionLabels, logoLink } =\n JSON.parse(params as string);\n\n const isParamError = validateToolParams(\n {\n division,\n locale,\n graphqlUrl,\n },\n [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'division',\n valueCheck: (value: Division) =>\n Object.values(Division).includes(value),\n },\n {\n name: 'graphqlUrl',\n },\n ]\n );\n root.render(\n <SentimentWidget\n division={division}\n graphqlUrl={graphqlUrl}\n includeDescriptionLabels={includeDescriptionLabels}\n instrument={instrument}\n isParamError={isParamError}\n locale={locale}\n logoLink={logoLink}\n theme={mode as Theme}\n />\n );\n });\n} else {\n const container: HTMLElement | null = document.querySelector(\n configRenderElementId\n );\n\n const root = createRoot(container!);\n root.render(\n <SentimentWidget\n division={configDivision}\n graphqlUrl={configGraphQl}\n instrument={configInstrument}\n locale={configLocale}\n />\n );\n}\n"],"mappings":";;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAAoD,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpD,MAAM;EACJG,UAAU,EAAEC,aAAa;EACzBC,QAAQ,EAAEC,cAAc;EACxBC,UAAU,EAAEC,gBAAgB;EAC5BC,eAAe,EAAEC,qBAAqB;EACtCC,MAAM,EAAEC;AACV,CAAC,GAAGC,MAAM,CAACC,qBAAqB,IAAI,CAAC,CAAC;AAEtC,MAAM;EAAEX;AAAW,CAAC,GAAGU,MAAM,CAACE,aAAa,IAAI,CAAC,CAAC;AAEjD,MAAMC,uBAAuB,GAAGC,QAAQ,CAACC,gBAAgB,CACvD,4BACF,CAAC;AAED,IAAIF,uBAAuB,CAACG,MAAM,GAAG,CAAC,EAAE;EACtCH,uBAAuB,CAACI,OAAO,CAAEC,OAAO,IAAK;IAC3C,MAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;IAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,uBAAuB,CAAC;IAC5D,MAAMC,IAAI,GAAGL,OAAO,CAACI,YAAY,CAAC,WAAW,CAAC;IAC9C,MAAM;MAAElB,UAAU;MAAEF,QAAQ;MAAEM,MAAM;MAAEgB,wBAAwB;MAAEC;IAAS,CAAC,GACxEC,IAAI,CAACC,KAAK,CAACN,MAAgB,CAAC;IAE9B,MAAMO,YAAY,GAAG,IAAAC,oCAAkB,EACrC;MACE3B,QAAQ;MACRM,MAAM;MACNR;IACF,CAAC,EACD,CACE;MACE8B,IAAI,EAAE,QAAQ;MACdC,UAAU,EAAGC,KAAyB,IAAK,IAAAC,gCAAc,EAACD,KAAK;IACjE,CAAC,EACD;MACEF,IAAI,EAAE,UAAU;MAChBC,UAAU,EAAGC,KAAe,IAC1BE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;IAC1C,CAAC,EACD;MACEF,IAAI,EAAE;IACR,CAAC,CAEL,CAAC;IACDX,IAAI,CAACmB,MAAM,CACT9C,MAAA,CAAAO,OAAA,CAAAwC,aAAA,CAAC3C,gBAAA,CAAA4C,eAAe;MACdtC,QAAQ,EAAEA,QAAS;MACnBF,UAAU,EAAEA,UAAW;MACvBwB,wBAAwB,EAAEA,wBAAyB;MACnDpB,UAAU,EAAEA,UAAW;MACvBwB,YAAY,EAAEA,YAAa;MAC3BpB,MAAM,EAAEA,MAAO;MACfiB,QAAQ,EAAEA,QAAS;MACnBgB,KAAK,EAAElB;IAAc,CACtB,CACH,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,MAAM;EACL,MAAMmB,SAA6B,GAAG5B,QAAQ,CAAC6B,aAAa,CAC1DpC,qBACF,CAAC;EAED,MAAMY,IAAI,GAAG,IAAAC,kBAAU,EAACsB,SAAU,CAAC;EACnCvB,IAAI,CAACmB,MAAM,CACT9C,MAAA,CAAAO,OAAA,CAAAwC,aAAA,CAAC3C,gBAAA,CAAA4C,eAAe;IACdtC,QAAQ,EAAEC,cAAe;IACzBH,UAAU,EAAEC,aAAc;IAC1BG,UAAU,EAAEC,gBAAiB;IAC7BG,MAAM,EAAEC;EAAa,CACtB,CACH,CAAC;AACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/SentimentWidget/types.ts"],"sourcesContent":["import { WidgetConfig } from '@oanda/labs-widget-common';\nimport { Division } from '../gql/types/graphql';\n\nexport interface SentimentConfig extends WidgetConfig {\n division: Division;\n instrument?: string;\n includeDescriptionLabels?: boolean;\n}\nexport interface SentimentWrapperConfig extends SentimentConfig {\n renderElementId: string;\n}\nexport interface SentimentWidgetConfig {\n division: Division;\n instrument: string;\n includeDescriptionLabels?: boolean;\n}\n\nexport interface SentimentToolConfig {\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/SentimentWidget/types.ts"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type { Division } from '../gql/types/graphql';\n\nexport interface SentimentConfig extends WidgetConfig {\n division: Division;\n instrument?: string;\n includeDescriptionLabels?: boolean;\n}\nexport interface SentimentWrapperConfig extends SentimentConfig {\n renderElementId: string;\n}\nexport interface SentimentWidgetConfig {\n division: Division;\n instrument: string;\n includeDescriptionLabels?: boolean;\n}\n\nexport interface SentimentToolConfig {\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["_graphql","require","sortData","_ref","sort","sentimentList","Sort","Bullish","a","b","sentiment","shortPercent","longPercent","exports"],"sources":["../../../src/SentimentWidget/utils.ts"],"sourcesContent":["import { GetSentimentListQuery, Sort } from '../gql/types/graphql';\n\nexport const sortData = ({ sentimentList }: GetSentimentListQuery, sort: Sort) => {\n if (!sentimentList) {\n return [];\n }\n\n if (sort === Sort.Bullish) {\n return [...sentimentList].sort((a, b) => a.sentiment.shortPercent - b.sentiment.shortPercent);\n }\n return [...sentimentList].sort((a, b) => a.sentiment.longPercent - b.sentiment.longPercent);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,QAAQ,GAAGA,CAAAC,IAAA,EAA2CC,IAAU,KAAK;EAAA,IAAzD;IAAEC;EAAqC,CAAC,GAAAF,IAAA;EAC/D,IAAI,CAACE,aAAa,EAAE;IAClB,OAAO,EAAE;EACX;EAEA,IAAID,IAAI,KAAKE,aAAI,CAACC,OAAO,EAAE;IACzB,OAAO,CAAC,GAAGF,aAAa,CAAC,CAACD,IAAI,CAAC,CAACI,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,SAAS,CAACC,YAAY,GAAGF,CAAC,CAACC,SAAS,CAACC,YAAY,CAAC;EAC/F;EACA,OAAO,CAAC,GAAGN,aAAa,CAAC,CAACD,IAAI,CAAC,CAACI,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,SAAS,CAACE,WAAW,GAAGH,CAAC,CAACC,SAAS,CAACE,WAAW,CAAC;AAC7F,CAAC;AAACC,OAAA,CAAAX,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["_graphql","require","sortData","_ref","sort","sentimentList","Sort","Bullish","a","b","sentiment","shortPercent","longPercent","exports"],"sources":["../../../src/SentimentWidget/utils.ts"],"sourcesContent":["import type { GetSentimentListQuery } from '../gql/types/graphql';\nimport { Sort } from '../gql/types/graphql';\n\nexport const sortData = (\n { sentimentList }: GetSentimentListQuery,\n sort: Sort\n) => {\n if (!sentimentList) {\n return [];\n }\n\n if (sort === Sort.Bullish) {\n return [...sentimentList].sort(\n (a, b) => a.sentiment.shortPercent - b.sentiment.shortPercent\n );\n }\n return [...sentimentList].sort(\n (a, b) => a.sentiment.longPercent - b.sentiment.longPercent\n );\n};\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEO,MAAMC,QAAQ,GAAGA,CAAAC,IAAA,EAEtBC,IAAU,KACP;EAAA,IAFH;IAAEC;EAAqC,CAAC,GAAAF,IAAA;EAGxC,IAAI,CAACE,aAAa,EAAE;IAClB,OAAO,EAAE;EACX;EAEA,IAAID,IAAI,KAAKE,aAAI,CAACC,OAAO,EAAE;IACzB,OAAO,CAAC,GAAGF,aAAa,CAAC,CAACD,IAAI,CAC5B,CAACI,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,SAAS,CAACC,YAAY,GAAGF,CAAC,CAACC,SAAS,CAACC,YACnD,CAAC;EACH;EACA,OAAO,CAAC,GAAGN,aAAa,CAAC,CAACD,IAAI,CAC5B,CAACI,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,SAAS,CAACE,WAAW,GAAGH,CAAC,CAACC,SAAS,CAACE,WAClD,CAAC;AACH,CAAC;AAACC,OAAA,CAAAX,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -6,14 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getInstrumentSentiment = void 0;
7
7
  var _client = require("@apollo/client");
8
8
  const getInstrumentSentiment = exports.getInstrumentSentiment = (0, _client.gql)`
9
- query GetInstrumentSentiment(
10
- $name: String!
11
- $division: Division
12
- ) {
13
- sentiment(
14
- name: $name
15
- division: $division
16
- ) {
9
+ query GetInstrumentSentiment($name: String!, $division: Division) {
10
+ sentiment(name: $name, division: $division) {
17
11
  name
18
12
  displayName
19
13
  sentiment {
@@ -1 +1 @@
1
- {"version":3,"file":"getInstrumentSentiment.js","names":["_client","require","getInstrumentSentiment","exports","gql"],"sources":["../../../src/gql/getInstrumentSentiment.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getInstrumentSentiment = gql`\n query GetInstrumentSentiment(\n $name: String!\n $division: Division\n ) {\n sentiment(\n name: $name\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n`;\n\nexport { getInstrumentSentiment };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,IAAAE,WAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getInstrumentSentiment.js","names":["_client","require","getInstrumentSentiment","exports","gql"],"sources":["../../../src/gql/getInstrumentSentiment.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getInstrumentSentiment = gql`\n query GetInstrumentSentiment($name: String!, $division: Division) {\n sentiment(name: $name, division: $division) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n`;\n\nexport { getInstrumentSentiment };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAMC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA,GAAG,IAAAE,WAAG;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -6,12 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.getSentimentList = void 0;
7
7
  var _client = require("@apollo/client");
8
8
  const getSentimentList = exports.getSentimentList = (0, _client.gql)`
9
- query GetSentimentList (
10
- $division: Division
11
- ) {
12
- sentimentList (
13
- division: $division
14
- ) {
9
+ query GetSentimentList($division: Division) {
10
+ sentimentList(division: $division) {
15
11
  name
16
12
  displayName
17
13
  sentiment {
@@ -1 +1 @@
1
- {"version":3,"file":"getSentimentList.js","names":["_client","require","getSentimentList","exports","gql"],"sources":["../../../src/gql/getSentimentList.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getSentimentList = gql`\n query GetSentimentList (\n $division: Division\n ) {\n sentimentList (\n division: $division\n ) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n`;\n\nexport { getSentimentList };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,WAAG;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getSentimentList.js","names":["_client","require","getSentimentList","exports","gql"],"sources":["../../../src/gql/getSentimentList.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getSentimentList = gql`\n query GetSentimentList($division: Division) {\n sentimentList(division: $division) {\n name\n displayName\n sentiment {\n shortPercent\n longPercent\n }\n updatedAt\n }\n }\n`;\n\nexport { getSentimentList };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAMC,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG,IAAAE,WAAG;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}