@oanda/labs-sentiment-widget 1.0.134 → 1.0.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1060 -0
- package/dist/main/SentimentWidget/SentimentWidget.js +1 -1
- package/dist/main/SentimentWidget/SentimentWidget.js.map +1 -1
- package/dist/main/SentimentWidget/Tool.js +2 -3
- package/dist/main/SentimentWidget/Tool.js.map +1 -1
- package/dist/main/SentimentWidget/Widget.js +3 -4
- package/dist/main/SentimentWidget/Widget.js.map +1 -1
- package/dist/main/SentimentWidget/components/SortSwitch/SortSwitch.js +1 -1
- package/dist/main/SentimentWidget/components/SortSwitch/SortSwitch.js.map +1 -1
- package/dist/main/SentimentWidget/render.js +1 -1
- package/dist/main/SentimentWidget/render.js.map +1 -1
- package/dist/main/gql/getInstrumentSentiment.js +19 -3
- package/dist/main/gql/getInstrumentSentiment.js.map +1 -1
- package/dist/main/gql/getSentimentList.js +17 -3
- package/dist/main/gql/getSentimentList.js.map +1 -1
- package/dist/main/gql/types/fragment-masking.js +2 -3
- package/dist/main/gql/types/fragment-masking.js.map +1 -1
- package/dist/main/gql/types/gql.js +1 -2
- package/dist/main/gql/types/gql.js.map +1 -1
- package/dist/main/translations/index.js +1 -1
- package/dist/main/translations/index.js.map +1 -1
- package/dist/module/SentimentWidget/Tool.js +1 -2
- package/dist/module/SentimentWidget/Tool.js.map +1 -1
- package/dist/module/SentimentWidget/Widget.js +2 -3
- package/dist/module/SentimentWidget/Widget.js.map +1 -1
- package/dist/module/gql/getInstrumentSentiment.js +19 -3
- package/dist/module/gql/getInstrumentSentiment.js.map +1 -1
- package/dist/module/gql/getSentimentList.js +17 -3
- package/dist/module/gql/getSentimentList.js.map +1 -1
- package/dist/module/gql/types/fragment-masking.js +2 -3
- package/dist/module/gql/types/fragment-masking.js.map +1 -1
- package/dist/module/gql/types/gql.js +1 -2
- package/dist/module/gql/types/gql.js.map +1 -1
- package/dist/types/SentimentWidget/utils.d.ts +2 -2
- package/dist/types/gql/types/gql.d.ts +3 -3
- package/dist/types/gql/types/graphql.d.ts +2 -7
- package/package.json +3 -3
|
@@ -11,7 +11,7 @@ var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
|
11
11
|
var _Widget = require("./Widget");
|
|
12
12
|
var _Tool = require("./Tool");
|
|
13
13
|
var _translations = require("../translations");
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
15
|
const SentimentWidget = _ref => {
|
|
16
16
|
let {
|
|
17
17
|
graphqlUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SentimentWidget.js","names":["_react","_interopRequireDefault","require","_client","_monoI18n","_labsWidgetCommon","_Widget","_Tool","_translations","
|
|
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","client","ApolloClient","uri","cache","InMemoryCache","createElement","ThemeProvider","LocaleProvider","getLocale","translations","ApolloProvider","className","ChartError","Fragment","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 { ChartError, ThemeProvider, getLocale } 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, division, instrument, locale, theme, includeDescriptionLabels, isParamError,\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 <>\n {instrument ? (\n <Widget\n division={division}\n instrument={instrument}\n includeDescriptionLabels={includeDescriptionLabels}\n />\n ) : (\n <Tool division={division} />\n )}\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;AACA,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,IAED;EAAA,IAFE;IACvBC,UAAU;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,MAAM;IAAEC,KAAK;IAAEC,wBAAwB;IAAEC;EAC5D,CAAC,GAAAP,IAAA;EAChB,MAAMQ,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAET,UAAU;IACfU,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACEzB,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACrB,iBAAA,CAAAsB,aAAa;IAACT,KAAK,EAAEA;EAAM,GAC1BlB,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACtB,SAAA,CAAAwB,cAAc;IAACX,MAAM,EAAE,IAAAY,2BAAS,EAACZ,MAAM,CAAE;IAACa,YAAY,EAAEA;EAAa,GACpE9B,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACvB,OAAA,CAAA4B,cAAc;IAACV,MAAM,EAAEA;EAAO,GAC5BD,YAAY,GACXpB,MAAA,CAAAW,OAAA,CAAAe,aAAA;IAAKM,SAAS,EAAC;EAAmG,GAChHhC,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACrB,iBAAA,CAAA4B,UAAU,MAAE,CACV,CAAC,GAENjC,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAAA1B,MAAA,CAAAW,OAAA,CAAAuB,QAAA,QACGlB,UAAU,GACThB,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACpB,OAAA,CAAA6B,MAAM;IACLpB,QAAQ,EAAEA,QAAS;IACnBC,UAAU,EAAEA,UAAW;IACvBG,wBAAwB,EAAEA;EAAyB,CACpD,CAAC,GAEFnB,MAAA,CAAAW,OAAA,CAAAe,aAAA,CAACnB,KAAA,CAAA6B,IAAI;IAACrB,QAAQ,EAAEA;EAAS,CAAE,CAE7B,CAEU,CACF,CACH,CAAC;AAEpB,CAAC;AAACsB,OAAA,CAAAzB,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ var _utils = require("./utils");
|
|
|
14
14
|
var _SortSwitch = require("./components/SortSwitch");
|
|
15
15
|
var _graphql = require("../gql/types/graphql");
|
|
16
16
|
var _constant = require("../constant");
|
|
17
|
-
function _interopRequireDefault(
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
18
|
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
19
|
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; }
|
|
20
20
|
const Tool = _ref => {
|
|
@@ -43,9 +43,8 @@ const Tool = _ref => {
|
|
|
43
43
|
const [updatedTimestamp, setUpdatedTimestamp] = (0, _react.useState)(_labsWidgetCommon.EMPTY_VALUE);
|
|
44
44
|
(0, _react.useEffect)(() => {
|
|
45
45
|
if (data) {
|
|
46
|
-
var _;
|
|
47
46
|
setSortedData((0, _utils.sortData)(data, sort));
|
|
48
|
-
setUpdatedTimestamp(
|
|
47
|
+
setUpdatedTimestamp(data.sentimentList[0]?.updatedAt);
|
|
49
48
|
}
|
|
50
49
|
}, [data, sort]);
|
|
51
50
|
return _react.default.createElement(_react.default.Fragment, null, size && _react.default.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_client","_monoI18n","_getSentimentList","_utils","_SortSwitch","_graphql","_constant","obj","__esModule","default","_getRequireWildcardCache","e","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":["_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":[]}
|
|
@@ -11,11 +11,10 @@ var _monoI18n = require("@oanda/mono-i18n");
|
|
|
11
11
|
var _client = require("@apollo/client");
|
|
12
12
|
var _getInstrumentSentiment = require("../gql/getInstrumentSentiment");
|
|
13
13
|
var _constant = require("../constant");
|
|
14
|
-
function _interopRequireDefault(
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
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
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
17
|
const Widget = _ref => {
|
|
18
|
-
var _data$sentiment;
|
|
19
18
|
let {
|
|
20
19
|
instrument,
|
|
21
20
|
division,
|
|
@@ -43,8 +42,8 @@ const Widget = _ref => {
|
|
|
43
42
|
displayName,
|
|
44
43
|
sentiment,
|
|
45
44
|
updatedAt
|
|
46
|
-
} =
|
|
47
|
-
const isError = error ||
|
|
45
|
+
} = data?.sentiment?.[0] || {};
|
|
46
|
+
const isError = error || sentiment?.shortPercent === 0 && sentiment?.longPercent === 0 || sentiment?.shortPercent === undefined || sentiment?.longPercent === undefined;
|
|
48
47
|
return _react.default.createElement(_react.default.Fragment, null, size && _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
|
|
49
48
|
"data-testid": "sentiment-widget",
|
|
50
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"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_monoI18n","_client","_getInstrumentSentiment","_constant","
|
|
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\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":[]}
|
|
@@ -8,7 +8,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
9
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
10
10
|
var _types = require("./types");
|
|
11
|
-
function _interopRequireDefault(
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
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
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
14
|
const SortSwitch = _ref => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortSwitch.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_labsWidgetCommon","_types","
|
|
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":[]}
|
|
@@ -5,7 +5,7 @@ var _client = require("react-dom/client");
|
|
|
5
5
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
6
6
|
var _SentimentWidget = require("./SentimentWidget");
|
|
7
7
|
var _graphql = require("../gql/types/graphql");
|
|
8
|
-
function _interopRequireDefault(
|
|
8
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const {
|
|
10
10
|
graphqlUrl: configGraphQl,
|
|
11
11
|
division: configDivision,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","names":["_react","_interopRequireDefault","require","_client","_labsWidgetCommon","_SentimentWidget","_graphql","
|
|
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","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,\n } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({ division, locale, graphqlUrl }, [\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 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 />,\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;IAChC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACL,MAAgB,CAAC;IAEhC,MAAMM,YAAY,GAAG,IAAAC,oCAAkB,EAAC;MAAE1B,QAAQ;MAAEM,MAAM;MAAER;IAAW,CAAC,EAAE,CACxE;MACE6B,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,CAAC,CAAC;IACLV,IAAI,CAACkB,MAAM,CACT/C,MAAA,CAAAS,OAAA,CAAAuC,aAAA,CAAC3C,gBAAA,CAAA4C,eAAe;MACdvC,UAAU,EAAEA,UAAW;MACvBE,QAAQ,EAAEA,QAAS;MACnBE,UAAU,EAAEA,UAAW;MACvBI,MAAM,EAAEA,MAAO;MACfgC,KAAK,EAAEjB,IAAc;MACrBC,wBAAwB,EAAEA,wBAAyB;MACnDG,YAAY,EAAEA;IAAa,CAC5B,CACH,CAAC;EACH,CAAC,CAAC;AACJ,CAAC,MAAM;EACL,MAAMc,SAAS,GAAG3B,QAAQ,CAAC4B,cAAc,CAACnC,qBAAqB,CAAC;EAChE,MAAMY,IAAI,GAAG,IAAAC,kBAAU,EAACqB,SAAU,CAAC;EACnCtB,IAAI,CAACkB,MAAM,CACT/C,MAAA,CAAAS,OAAA,CAAAuC,aAAA,CAAC3C,gBAAA,CAAA4C,eAAe;IACdvC,UAAU,EAAEC,aAAc;IAC1BC,QAAQ,EAAEC,cAAe;IACzBC,UAAU,EAAEC,gBAAiB;IAC7BG,MAAM,EAAEC;EAAa,CACtB,CACH,CAAC;AACH","ignoreList":[]}
|
|
@@ -5,7 +5,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getInstrumentSentiment = void 0;
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
+
) {
|
|
17
|
+
name
|
|
18
|
+
displayName
|
|
19
|
+
sentiment {
|
|
20
|
+
shortPercent
|
|
21
|
+
longPercent
|
|
22
|
+
}
|
|
23
|
+
updatedAt
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
`;
|
|
11
27
|
//# sourceMappingURL=getInstrumentSentiment.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInstrumentSentiment.js","names":["_client","require","
|
|
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":[]}
|
|
@@ -5,7 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getSentimentList = void 0;
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const getSentimentList = exports.getSentimentList = (0, _client.gql)`
|
|
9
|
+
query GetSentimentList (
|
|
10
|
+
$division: Division
|
|
11
|
+
) {
|
|
12
|
+
sentimentList (
|
|
13
|
+
division: $division
|
|
14
|
+
) {
|
|
15
|
+
name
|
|
16
|
+
displayName
|
|
17
|
+
sentiment {
|
|
18
|
+
shortPercent
|
|
19
|
+
longPercent
|
|
20
|
+
}
|
|
21
|
+
updatedAt
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
`;
|
|
11
25
|
//# sourceMappingURL=getSentimentList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSentimentList.js","names":["_client","require","
|
|
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":[]}
|
|
@@ -13,11 +13,10 @@ function makeFragmentData(data, _fragment) {
|
|
|
13
13
|
return data;
|
|
14
14
|
}
|
|
15
15
|
function isFragmentReady(queryNode, fragmentNode, data) {
|
|
16
|
-
|
|
17
|
-
const deferredFields = (_meta__ = queryNode.__meta__) === null || _meta__ === void 0 ? void 0 : _meta__.deferredFields;
|
|
16
|
+
const deferredFields = queryNode.__meta__?.deferredFields;
|
|
18
17
|
if (!deferredFields) return true;
|
|
19
18
|
const fragDef = fragmentNode.definitions[0];
|
|
20
|
-
const fragName = fragDef
|
|
19
|
+
const fragName = fragDef?.name?.value;
|
|
21
20
|
const fields = fragName && deferredFields[fragName] || [];
|
|
22
21
|
return fields.length > 0 && fields.every(field => data && field in data);
|
|
23
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","
|
|
1
|
+
{"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","deferredFields","__meta__","fragDef","definitions","fragName","name","value","fields","length","every","field"],"sources":["../../../../src/gql/types/fragment-masking.ts"],"sourcesContent":["import { ResultOf, DocumentTypeDecoration, TypedDocumentNode } from '@graphql-typed-document-node/core';\nimport { FragmentDefinitionNode } from 'graphql';\nimport { Incremental } from './graphql';\n\n\nexport type FragmentType<TDocumentType extends DocumentTypeDecoration<any, any>> = TDocumentType extends DocumentTypeDecoration<\n infer TType,\n any\n>\n ? [TType] extends [{ ' $fragmentName'?: infer TKey }]\n ? TKey extends string\n ? { ' $fragmentRefs'?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>\n): TType;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | null | undefined\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n): ReadonlyArray<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>> | null | undefined\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>> | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>> | null | undefined\n): TType | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data: FragmentType<TypedDocumentNode<Incremental<TFrag>, any>> | null | undefined\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (queryNode as { __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> } }).__meta__\n ?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as FragmentDefinitionNode | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every(field => data && field in data);\n}\n"],"mappings":";;;;;;;;AAoCO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAAmJ,EAClG;EACjD,OAAOA,YAAY;AACrB;AAGO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAAiF,EACtC;EAC3C,MAAMK,cAAc,GAAIF,SAAS,CAAwEG,QAAQ,EAC7GD,cAAc;EAElB,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGH,YAAY,CAACI,WAAW,CAAC,CAAC,CAAuC;EACjF,MAAMC,QAAQ,GAAGF,OAAO,EAAEG,IAAI,EAAEC,KAAK;EAErC,MAAMC,MAAM,GAAIH,QAAQ,IAAIJ,cAAc,CAACI,QAAQ,CAAC,IAAK,EAAE;EAC3D,OAAOG,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAACC,KAAK,IAAIf,IAAI,IAAIe,KAAK,IAAIf,IAAI,CAAC;AAC1E","ignoreList":[]}
|
|
@@ -12,7 +12,6 @@ const documents = {
|
|
|
12
12
|
"\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": types.GetSentimentListDocument
|
|
13
13
|
};
|
|
14
14
|
function graphql(source) {
|
|
15
|
-
|
|
16
|
-
return (_source = documents[source]) !== null && _source !== void 0 ? _source : {};
|
|
15
|
+
return documents[source] ?? {};
|
|
17
16
|
}
|
|
18
17
|
//# sourceMappingURL=gql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","documents","GetInstrumentSentimentDocument","GetSentimentListDocument","graphql","source"
|
|
1
|
+
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","documents","GetInstrumentSentimentDocument","GetSentimentListDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n \"\\n query 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\": types.GetInstrumentSentimentDocument,\n \"\\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\": types.GetSentimentListDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\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\"): (typeof documents)[\"\\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/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(source: \"\\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\"): (typeof documents)[\"\\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 function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never;"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAanC,MAAMW,SAAS,GAAG;EACd,mSAAmS,EAAEvB,KAAK,CAACwB,8BAA8B;EACzU,4PAA4P,EAAExB,KAAK,CAACyB;AACxQ,CAAC;AAyBM,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQJ,SAAS,CAASI,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ var _en = _interopRequireDefault(require("./sources/en.json"));
|
|
|
9
9
|
var _zh_TW = _interopRequireDefault(require("./sources/zh_TW.json"));
|
|
10
10
|
var _es = _interopRequireDefault(require("./sources/es.json"));
|
|
11
11
|
var _th = _interopRequireDefault(require("./sources/th.json"));
|
|
12
|
-
function _interopRequireDefault(
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const translations = exports.translations = {
|
|
14
14
|
[_monoI18n.Locale.en]: {
|
|
15
15
|
translation: _en.default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_monoI18n","require","_en","_interopRequireDefault","_zh_TW","_es","_th","
|
|
1
|
+
{"version":3,"file":"index.js","names":["_monoI18n","require","_en","_interopRequireDefault","_zh_TW","_es","_th","e","__esModule","default","translations","exports","Locale","en","translation","zhTW","es","th"],"sources":["../../../src/translations/index.ts"],"sourcesContent":["import { Locale, Translations } from '@oanda/mono-i18n';\n\nimport en from './sources/en.json';\nimport zhTW from './sources/zh_TW.json';\nimport es from './sources/es.json';\nimport th from './sources/th.json';\n\nimport { defaultTranslations } from './translations';\n\nexport type TranslationKey = keyof typeof defaultTranslations;\n\nexport const translations: Translations = {\n [Locale.en]: { translation: en },\n [Locale.zhTW]: { translation: zhTW },\n [Locale.es]: { translation: es },\n [Locale.th]: { translation: th },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,GAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,GAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,GAAA,GAAAH,sBAAA,CAAAF,OAAA;AAAmC,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAM5B,MAAMG,YAA0B,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACxC,CAACE,gBAAM,CAACC,EAAE,GAAG;IAAEC,WAAW,EAAED;EAAG,CAAC;EAChC,CAACD,gBAAM,CAACG,IAAI,GAAG;IAAED,WAAW,EAAEC;EAAK,CAAC;EACpC,CAACH,gBAAM,CAACI,EAAE,GAAG;IAAEF,WAAW,EAAEE;EAAG,CAAC;EAChC,CAACJ,gBAAM,CAACK,EAAE,GAAG;IAAEH,WAAW,EAAEG;EAAG;AACjC,CAAC","ignoreList":[]}
|
|
@@ -34,9 +34,8 @@ const Tool = _ref => {
|
|
|
34
34
|
const [updatedTimestamp, setUpdatedTimestamp] = useState(EMPTY_VALUE);
|
|
35
35
|
useEffect(() => {
|
|
36
36
|
if (data) {
|
|
37
|
-
var _;
|
|
38
37
|
setSortedData(sortData(data, sort));
|
|
39
|
-
setUpdatedTimestamp(
|
|
38
|
+
setUpdatedTimestamp(data.sentimentList[0]?.updatedAt);
|
|
40
39
|
}
|
|
41
40
|
}, [data, sort]);
|
|
42
41
|
return React.createElement(React.Fragment, null, size && React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tool.js","names":["React","useEffect","useState","useContext","classNames","Sentiment","SentimentHeight","Loader","LoaderSize","ChartError","Truncate","Tooltip","ThemeContext","Size","EMPTY_VALUE","LastUpdated","useQuery","useLocale","getSentimentList","sortData","SelectedArrow","SortSwitch","Sort","INSTRUMENT_TOOLTIP_ID","Tool","_ref","division","size","isDesktop","DESKTOP","sort","setSort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","variables","fetchPolicy","lang","updatedTimestamp","setUpdatedTimestamp","
|
|
1
|
+
{"version":3,"file":"Tool.js","names":["React","useEffect","useState","useContext","classNames","Sentiment","SentimentHeight","Loader","LoaderSize","ChartError","Truncate","Tooltip","ThemeContext","Size","EMPTY_VALUE","LastUpdated","useQuery","useLocale","getSentimentList","sortData","SelectedArrow","SortSwitch","Sort","INSTRUMENT_TOOLTIP_ID","Tool","_ref","division","size","isDesktop","DESKTOP","sort","setSort","Bullish","sortedData","setSortedData","Array","fill","loading","data","error","variables","fetchPolicy","lang","updatedTimestamp","setUpdatedTimestamp","sentimentList","updatedAt","createElement","Fragment","className","length","disabled","selected","UP","DOWN","onClickButtonDown","Bearish","onClickButtonUp","map","item","index","key","name","md","maxWidth","tooltipId","text","displayName","isLoading","height","sentiment","id","timestamp","labelCallback"],"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":[]}
|
|
@@ -6,7 +6,6 @@ import { useQuery } from '@apollo/client';
|
|
|
6
6
|
import { getInstrumentSentiment } from '../gql/getInstrumentSentiment';
|
|
7
7
|
import { INSTRUMENT_TOOLTIP_ID } from '../constant';
|
|
8
8
|
const Widget = _ref => {
|
|
9
|
-
var _data$sentiment;
|
|
10
9
|
let {
|
|
11
10
|
instrument,
|
|
12
11
|
division,
|
|
@@ -34,8 +33,8 @@ const Widget = _ref => {
|
|
|
34
33
|
displayName,
|
|
35
34
|
sentiment,
|
|
36
35
|
updatedAt
|
|
37
|
-
} =
|
|
38
|
-
const isError = error ||
|
|
36
|
+
} = data?.sentiment?.[0] || {};
|
|
37
|
+
const isError = error || sentiment?.shortPercent === 0 && sentiment?.longPercent === 0 || sentiment?.shortPercent === undefined || sentiment?.longPercent === undefined;
|
|
39
38
|
return React.createElement(React.Fragment, null, size && React.createElement(React.Fragment, null, React.createElement("div", {
|
|
40
39
|
"data-testid": "sentiment-widget",
|
|
41
40
|
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"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.js","names":["React","useContext","classNames","Sentiment","SentimentHeight","Error","Loader","LoaderSize","Truncate","ThemeContext","Size","LastUpdated","useLocale","useQuery","getInstrumentSentiment","INSTRUMENT_TOOLTIP_ID","Widget","_ref","
|
|
1
|
+
{"version":3,"file":"Widget.js","names":["React","useContext","classNames","Sentiment","SentimentHeight","Error","Loader","LoaderSize","Truncate","ThemeContext","Size","LastUpdated","useLocale","useQuery","getInstrumentSentiment","INSTRUMENT_TOOLTIP_ID","Widget","_ref","instrument","division","includeDescriptionLabels","loading","data","error","variables","name","fetchPolicy","size","isDesktop","DESKTOP","lang","displayName","sentiment","updatedAt","isError","shortPercent","longPercent","undefined","createElement","Fragment","className","md","maxWidth","tooltipId","text","withError","isLoading","height","timestamp","labelCallback"],"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\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":[]}
|