@oanda/labs-value-at-risk-widget 1.0.64 → 1.0.65

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 (41) hide show
  1. package/CHANGELOG.md +264 -0
  2. package/dist/main/ValueAtRiskWidget/ChartWithData.js +2 -4
  3. package/dist/main/ValueAtRiskWidget/ChartWithData.js.map +1 -1
  4. package/dist/main/ValueAtRiskWidget/Tool.js +1 -1
  5. package/dist/main/ValueAtRiskWidget/Tool.js.map +1 -1
  6. package/dist/main/ValueAtRiskWidget/ToolWithData.js +2 -4
  7. package/dist/main/ValueAtRiskWidget/ToolWithData.js.map +1 -1
  8. package/dist/main/ValueAtRiskWidget/ValueAtRiskWidget.js +16 -21
  9. package/dist/main/ValueAtRiskWidget/ValueAtRiskWidget.js.map +1 -1
  10. package/dist/main/ValueAtRiskWidget/Widget.js +2 -4
  11. package/dist/main/ValueAtRiskWidget/Widget.js.map +1 -1
  12. package/dist/main/ValueAtRiskWidget/components/Chart/Chart.js +3 -3
  13. package/dist/main/ValueAtRiskWidget/components/Chart/Chart.js.map +1 -1
  14. package/dist/main/ValueAtRiskWidget/components/Legend/Legend.js +3 -4
  15. package/dist/main/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
  16. package/dist/module/ValueAtRiskWidget/ChartWithData.js +3 -3
  17. package/dist/module/ValueAtRiskWidget/ChartWithData.js.map +1 -1
  18. package/dist/module/ValueAtRiskWidget/Tool.js +3 -3
  19. package/dist/module/ValueAtRiskWidget/Tool.js.map +1 -1
  20. package/dist/module/ValueAtRiskWidget/ToolWithData.js +3 -3
  21. package/dist/module/ValueAtRiskWidget/ToolWithData.js.map +1 -1
  22. package/dist/module/ValueAtRiskWidget/ValueAtRiskWidget.js +18 -23
  23. package/dist/module/ValueAtRiskWidget/ValueAtRiskWidget.js.map +1 -1
  24. package/dist/module/ValueAtRiskWidget/Widget.js +3 -3
  25. package/dist/module/ValueAtRiskWidget/Widget.js.map +1 -1
  26. package/dist/module/ValueAtRiskWidget/components/Chart/Chart.js +3 -3
  27. package/dist/module/ValueAtRiskWidget/components/Chart/Chart.js.map +1 -1
  28. package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js +3 -3
  29. package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/ValueAtRiskWidget/ChartWithData.tsx +3 -3
  32. package/src/ValueAtRiskWidget/Tool.tsx +3 -3
  33. package/src/ValueAtRiskWidget/ToolWithData.tsx +3 -3
  34. package/src/ValueAtRiskWidget/ValueAtRiskWidget.tsx +26 -31
  35. package/src/ValueAtRiskWidget/Widget.tsx +3 -3
  36. package/src/ValueAtRiskWidget/components/Chart/Chart.tsx +3 -3
  37. package/src/ValueAtRiskWidget/components/Legend/Legend.tsx +3 -3
  38. package/test/ChartWithData.test.tsx +7 -7
  39. package/test/Tool.test.tsx +5 -5
  40. package/test/ToolWithData.test.tsx +3 -3
  41. package/test/Widget.test.tsx +3 -3
@@ -4,14 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Legend = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
9
9
  var _monoI18n = require("@oanda/mono-i18n");
10
10
  var _types = require("./types");
11
11
  var _DesktopLegend = require("./DesktopLegend");
12
12
  var _MobileLegend = require("./MobileLegend");
13
- 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); }
14
- 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; }
13
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
14
  const Legend = _ref => {
16
15
  let {
17
16
  data
@@ -19,7 +18,7 @@ const Legend = _ref => {
19
18
  const {
20
19
  size,
21
20
  isDark
22
- } = (0, _react.useContext)(_labsWidgetCommon.ThemeContext);
21
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
23
22
  const {
24
23
  lang
25
24
  } = (0, _monoI18n.useLocale)();
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","names":["_react","_interopRequireWildcard","require","_labsWidgetCommon","_monoI18n","_types","_DesktopLegend","_MobileLegend","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Legend","_ref","data","size","isDark","useContext","ThemeContext","lang","useLocale","isDesktop","Size","DESKTOP","createElement","Fragment","DesktopLegend","id","DataNames","AVERAGE","label","value","valueAtRiskChart","down","average","MEDIAN","median","THRESHOLD","threshold","MIN","max","up","MAX","MobileLegend","valueDown","valueUp","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/Legend.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport {\n Size,\n ThemeContext,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport {\n DataNames, LegendProps,\n} from './types';\nimport { DesktopLegend } from './DesktopLegend';\nimport { MobileLegend } from './MobileLegend';\n\nconst Legend = ({ data }: LegendProps) => {\n const { size, isDark } = useContext(ThemeContext);\n const { lang } = useLocale();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <>\n {isDesktop ? (\n <>\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.down.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.down.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.down.threshold,\n },\n {\n id: DataNames.MIN,\n label: lang('min'),\n value: data.valueAtRiskChart!.down.max,\n },\n ]}\n />\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: lang('max'),\n value: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n </>\n ) : (\n <MobileLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n valueDown: data.valueAtRiskChart!.down.average,\n valueUp: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n valueDown: data.valueAtRiskChart!.down.median,\n valueUp: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n valueDown: data.valueAtRiskChart!.down.threshold,\n valueUp: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: `${lang('min')}/${lang('max')}`,\n valueDown: data.valueAtRiskChart!.down.max,\n valueUp: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n )}\n </>\n );\n};\n\nexport { Legend };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Legend.js","names":["_react","_interopRequireDefault","require","_labsWidgetCommon","_monoI18n","_types","_DesktopLegend","_MobileLegend","e","__esModule","default","Legend","_ref","data","size","isDark","useLayoutProvider","lang","useLocale","isDesktop","Size","DESKTOP","createElement","Fragment","DesktopLegend","id","DataNames","AVERAGE","label","value","valueAtRiskChart","down","average","MEDIAN","median","THRESHOLD","threshold","MIN","max","up","MAX","MobileLegend","valueDown","valueUp","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/Legend.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Size,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport {\n DataNames, LegendProps,\n} from './types';\nimport { DesktopLegend } from './DesktopLegend';\nimport { MobileLegend } from './MobileLegend';\n\nconst Legend = ({ data }: LegendProps) => {\n const { size, isDark } = useLayoutProvider();\n const { lang } = useLocale();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <>\n {isDesktop ? (\n <>\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.down.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.down.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.down.threshold,\n },\n {\n id: DataNames.MIN,\n label: lang('min'),\n value: data.valueAtRiskChart!.down.max,\n },\n ]}\n />\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: lang('max'),\n value: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n </>\n ) : (\n <MobileLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n valueDown: data.valueAtRiskChart!.down.average,\n valueUp: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n valueDown: data.valueAtRiskChart!.down.median,\n valueUp: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n valueDown: data.valueAtRiskChart!.down.threshold,\n valueUp: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: `${lang('min')}/${lang('max')}`,\n valueDown: data.valueAtRiskChart!.down.max,\n valueUp: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n )}\n </>\n );\n};\n\nexport { Legend };\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
- import React, { useContext } from 'react';
1
+ import React from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { useQuery } from '@apollo/client';
4
- import { ChartError, Size, Spinner, SpinnerSize, ThemeContext } from '@oanda/labs-widget-common';
4
+ import { ChartError, Size, Spinner, SpinnerSize, useLayoutProvider } from '@oanda/labs-widget-common';
5
5
  import { Chart } from './components/Chart';
6
6
  import { getValueAtRiskChart } from '../gql/getValueAtRiskChart';
7
7
  import { Legend } from './components/Legend';
@@ -14,7 +14,7 @@ const ChartWithData = _ref => {
14
14
  } = _ref;
15
15
  const {
16
16
  size
17
- } = useContext(ThemeContext);
17
+ } = useLayoutProvider();
18
18
  const isDesktop = size === Size.DESKTOP;
19
19
  const {
20
20
  loading,
@@ -1 +1 @@
1
- {"version":3,"file":"ChartWithData.js","names":["React","useContext","classnames","useQuery","ChartError","Size","Spinner","SpinnerSize","ThemeContext","Chart","getValueAtRiskChart","Legend","ChartWithData","_ref","instrument","duration","bars","division","size","isDesktop","DESKTOP","loading","data","error","variables","fetchPolicy","skip","showChart","valueAtRiskChart","down","points","length","up","showError","createElement","Fragment","className","lg","values"],"sources":["../../../src/ValueAtRiskWidget/ChartWithData.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport classnames from 'classnames';\nimport { useQuery } from '@apollo/client';\nimport {\n ChartError, Size, Spinner, SpinnerSize,\n ThemeContext,\n} from '@oanda/labs-widget-common';\nimport { Chart } from './components/Chart';\nimport { getValueAtRiskChart } from '../gql/getValueAtRiskChart';\nimport { ChartWithDataProps } from './types';\nimport { GetValueAtRiskChartQuery, GetValueAtRiskChartQueryVariables } from '../gql/types/graphql';\nimport { Legend } from './components/Legend';\n\nconst ChartWithData = ({\n instrument, duration, bars, division,\n}: ChartWithDataProps) => {\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n\n const { loading, data, error } = useQuery<\n GetValueAtRiskChartQuery, GetValueAtRiskChartQueryVariables>(getValueAtRiskChart, {\n variables: {\n instrument, division, duration, bars,\n },\n fetchPolicy: 'cache-and-network',\n skip: !instrument,\n });\n\n const showChart = data?.valueAtRiskChart?.down?.points\n && data.valueAtRiskChart.down.points.length > 0\n && data?.valueAtRiskChart?.up?.points\n && data.valueAtRiskChart.up.points.length > 0;\n\n const showError = !!error || (!loading && !showChart);\n\n return (\n <>\n {(loading || !instrument)\n && (\n <div className={classnames('lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary', {\n 'lw-h-[460px]': isDesktop,\n 'lw-h-[566px]': !isDesktop,\n })}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && showChart && (\n <div data-testid=\"value-at-risk-chart\" className=\"lw-relative\">\n <Legend data={data} />\n <Chart values={data} />\n </div>\n )}\n {showError && (\n <div className=\"lw-flex lw-h-[460px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SACEC,UAAU,EAAEC,IAAI,EAAEC,OAAO,EAAEC,WAAW,EACtCC,YAAY,QACP,2BAA2B;AAClC,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,mBAAmB,QAAQ,4BAA4B;AAGhE,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,MAAMC,aAAa,GAAGC,IAAA,IAEI;EAAA,IAFH;IACrBC,UAAU;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EACV,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAGjB,UAAU,CAACO,YAAY,CAAC;EACzC,MAAMW,SAAS,GAAGD,IAAI,KAAKb,IAAI,CAACe,OAAO;EAEvC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGpB,QAAQ,CACoBO,mBAAmB,EAAE;IAChFc,SAAS,EAAE;MACTV,UAAU;MAAEG,QAAQ;MAAEF,QAAQ;MAAEC;IAClC,CAAC;IACDS,WAAW,EAAE,mBAAmB;IAChCC,IAAI,EAAE,CAACZ;EACT,CAAC,CAAC;EAEF,MAAMa,SAAS,GAAGL,IAAI,EAAEM,gBAAgB,EAAEC,IAAI,EAAEC,MAAM,IACjDR,IAAI,CAACM,gBAAgB,CAACC,IAAI,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC,IAC5CT,IAAI,EAAEM,gBAAgB,EAAEI,EAAE,EAAEF,MAAM,IAClCR,IAAI,CAACM,gBAAgB,CAACI,EAAE,CAACF,MAAM,CAACC,MAAM,GAAG,CAAC;EAE/C,MAAME,SAAS,GAAG,CAAC,CAACV,KAAK,IAAK,CAACF,OAAO,IAAI,CAACM,SAAU;EAErD,OACE3B,KAAA,CAAAkC,aAAA,CAAAlC,KAAA,CAAAmC,QAAA,QACG,CAACd,OAAO,IAAI,CAACP,UAAU,KAExBd,KAAA,CAAAkC,aAAA;IAAKE,SAAS,EAAElC,UAAU,CAAC,sFAAsF,EAAE;MACjH,cAAc,EAAEiB,SAAS;MACzB,cAAc,EAAE,CAACA;IACnB,CAAC;EAAE,GAEDnB,KAAA,CAAAkC,aAAA,CAAC5B,OAAO;IAACY,IAAI,EAAEX,WAAW,CAAC8B;EAAG,CAAE,CAC7B,CACJ,EACA,CAAChB,OAAO,IAAIM,SAAS,IACtB3B,KAAA,CAAAkC,aAAA;IAAK,eAAY,qBAAqB;IAACE,SAAS,EAAC;EAAa,GAC5DpC,KAAA,CAAAkC,aAAA,CAACvB,MAAM;IAACW,IAAI,EAAEA;EAAK,CAAE,CAAC,EACtBtB,KAAA,CAAAkC,aAAA,CAACzB,KAAK;IAAC6B,MAAM,EAAEhB;EAAK,CAAE,CACnB,CACJ,EACAW,SAAS,IACRjC,KAAA,CAAAkC,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChHpC,KAAA,CAAAkC,aAAA,CAAC9B,UAAU,MAAE,CACV,CAEP,CAAC;AAEP,CAAC;AAED,SAASQ,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"ChartWithData.js","names":["React","classnames","useQuery","ChartError","Size","Spinner","SpinnerSize","useLayoutProvider","Chart","getValueAtRiskChart","Legend","ChartWithData","_ref","instrument","duration","bars","division","size","isDesktop","DESKTOP","loading","data","error","variables","fetchPolicy","skip","showChart","valueAtRiskChart","down","points","length","up","showError","createElement","Fragment","className","lg","values"],"sources":["../../../src/ValueAtRiskWidget/ChartWithData.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport { useQuery } from '@apollo/client';\nimport {\n ChartError, Size, Spinner, SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { Chart } from './components/Chart';\nimport { getValueAtRiskChart } from '../gql/getValueAtRiskChart';\nimport { ChartWithDataProps } from './types';\nimport { GetValueAtRiskChartQuery, GetValueAtRiskChartQueryVariables } from '../gql/types/graphql';\nimport { Legend } from './components/Legend';\n\nconst ChartWithData = ({\n instrument, duration, bars, division,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { loading, data, error } = useQuery<\n GetValueAtRiskChartQuery, GetValueAtRiskChartQueryVariables>(getValueAtRiskChart, {\n variables: {\n instrument, division, duration, bars,\n },\n fetchPolicy: 'cache-and-network',\n skip: !instrument,\n });\n\n const showChart = data?.valueAtRiskChart?.down?.points\n && data.valueAtRiskChart.down.points.length > 0\n && data?.valueAtRiskChart?.up?.points\n && data.valueAtRiskChart.up.points.length > 0;\n\n const showError = !!error || (!loading && !showChart);\n\n return (\n <>\n {(loading || !instrument)\n && (\n <div className={classnames('lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary', {\n 'lw-h-[460px]': isDesktop,\n 'lw-h-[566px]': !isDesktop,\n })}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && showChart && (\n <div data-testid=\"value-at-risk-chart\" className=\"lw-relative\">\n <Legend data={data} />\n <Chart values={data} />\n </div>\n )}\n {showError && (\n <div className=\"lw-flex lw-h-[460px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SACEC,UAAU,EAAEC,IAAI,EAAEC,OAAO,EAAEC,WAAW,EACtCC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,mBAAmB,QAAQ,4BAA4B;AAGhE,SAASC,MAAM,QAAQ,qBAAqB;AAE5C,MAAMC,aAAa,GAAGC,IAAA,IAEI;EAAA,IAFH;IACrBC,UAAU;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EACV,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAGV,iBAAiB,CAAC,CAAC;EACpC,MAAMW,SAAS,GAAGD,IAAI,KAAKb,IAAI,CAACe,OAAO;EAEvC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGpB,QAAQ,CACoBO,mBAAmB,EAAE;IAChFc,SAAS,EAAE;MACTV,UAAU;MAAEG,QAAQ;MAAEF,QAAQ;MAAEC;IAClC,CAAC;IACDS,WAAW,EAAE,mBAAmB;IAChCC,IAAI,EAAE,CAACZ;EACT,CAAC,CAAC;EAEF,MAAMa,SAAS,GAAGL,IAAI,EAAEM,gBAAgB,EAAEC,IAAI,EAAEC,MAAM,IACjDR,IAAI,CAACM,gBAAgB,CAACC,IAAI,CAACC,MAAM,CAACC,MAAM,GAAG,CAAC,IAC5CT,IAAI,EAAEM,gBAAgB,EAAEI,EAAE,EAAEF,MAAM,IAClCR,IAAI,CAACM,gBAAgB,CAACI,EAAE,CAACF,MAAM,CAACC,MAAM,GAAG,CAAC;EAE/C,MAAME,SAAS,GAAG,CAAC,CAACV,KAAK,IAAK,CAACF,OAAO,IAAI,CAACM,SAAU;EAErD,OACE1B,KAAA,CAAAiC,aAAA,CAAAjC,KAAA,CAAAkC,QAAA,QACG,CAACd,OAAO,IAAI,CAACP,UAAU,KAExBb,KAAA,CAAAiC,aAAA;IAAKE,SAAS,EAAElC,UAAU,CAAC,sFAAsF,EAAE;MACjH,cAAc,EAAEiB,SAAS;MACzB,cAAc,EAAE,CAACA;IACnB,CAAC;EAAE,GAEDlB,KAAA,CAAAiC,aAAA,CAAC5B,OAAO;IAACY,IAAI,EAAEX,WAAW,CAAC8B;EAAG,CAAE,CAC7B,CACJ,EACA,CAAChB,OAAO,IAAIM,SAAS,IACtB1B,KAAA,CAAAiC,aAAA;IAAK,eAAY,qBAAqB;IAACE,SAAS,EAAC;EAAa,GAC5DnC,KAAA,CAAAiC,aAAA,CAACvB,MAAM;IAACW,IAAI,EAAEA;EAAK,CAAE,CAAC,EACtBrB,KAAA,CAAAiC,aAAA,CAACzB,KAAK;IAAC6B,MAAM,EAAEhB;EAAK,CAAE,CACnB,CACJ,EACAW,SAAS,IACRhC,KAAA,CAAAiC,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChHnC,KAAA,CAAAiC,aAAA,CAAC9B,UAAU,MAAE,CACV,CAEP,CAAC;AAEP,CAAC;AAED,SAASQ,aAAa","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import React, { useState, useContext } from 'react';
1
+ import React, { useState } from 'react';
2
2
  import classnames from 'classnames';
3
- import { Select, Size, ThemeContext } from '@oanda/labs-widget-common';
3
+ import { Select, Size, useLayoutProvider } from '@oanda/labs-widget-common';
4
4
  import { useLocale } from '@oanda/mono-i18n';
5
5
  import { getAssetClassesList, getInstrumentsByAssetClassId } from './utils';
6
6
  import { ValueAtRiskDuration, ValueAtRiskBars } from '../gql/types/graphql';
@@ -15,7 +15,7 @@ const Tool = _ref => {
15
15
  } = useLocale();
16
16
  const {
17
17
  size
18
- } = useContext(ThemeContext);
18
+ } = useLayoutProvider();
19
19
  const isDesktop = size === Size.DESKTOP;
20
20
  const assetClassesOptions = getAssetClassesList(data.valueAtRiskAssetClasses);
21
21
  const initInstrumentsOptions = getInstrumentsByAssetClassId(data.valueAtRiskAssetClasses, assetClassesOptions[0].id);
@@ -1 +1 @@
1
- {"version":3,"file":"Tool.js","names":["React","useState","useContext","classnames","Select","Size","ThemeContext","useLocale","getAssetClassesList","getInstrumentsByAssetClassId","ValueAtRiskDuration","ValueAtRiskBars","ChartWithData","Tool","_ref","data","division","lang","size","isDesktop","DESKTOP","assetClassesOptions","valueAtRiskAssetClasses","initInstrumentsOptions","id","holdTimeOptions","Object","values","map","duration","label","count","substring","calculationPeriodOptions","bars","selectedAssetClass","setSelectedAssetClass","instrumentsList","setInstrumentsList","selectedInstrument","setSelectedInstrument","selectedHoldTime","setSelectedHoldTime","selectedCalculationPeriod","setSelectedCalculationPeriod","handleAssetClassSelect","selectedOption","list","showAssetClassesSelect","length","createElement","className","selectLabel","options","setSelectedOption","searchPlaceholder","instrument"],"sources":["../../../src/ValueAtRiskWidget/Tool.tsx"],"sourcesContent":["import React, { useState, useContext } from 'react';\nimport classnames from 'classnames';\nimport {\n Select, SelectOption, Size, ThemeContext,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { getAssetClassesList, getInstrumentsByAssetClassId } from './utils';\nimport { ToolProps } from './types';\nimport { ValueAtRiskDuration, ValueAtRiskBars } from '../gql/types/graphql';\nimport { ChartWithData } from './ChartWithData';\n\nconst Tool = ({ data, division }: ToolProps) => {\n const { lang } = useLocale();\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n\n const assetClassesOptions = getAssetClassesList(data!.valueAtRiskAssetClasses!);\n const initInstrumentsOptions = getInstrumentsByAssetClassId(\n data!.valueAtRiskAssetClasses!,\n assetClassesOptions[0].id,\n );\n\n const holdTimeOptions = Object.values(ValueAtRiskDuration).map((duration) => ({ id: duration as string, label: lang('day', { count: +duration.substring(1) }) }));\n const calculationPeriodOptions = Object.values(ValueAtRiskBars).map((bars) => ({ id: bars as string, label: lang('day', { count: +bars.substring(1) }) }));\n\n const [selectedAssetClass, setSelectedAssetClass] = useState(\n assetClassesOptions[0],\n );\n const [instrumentsList, setInstrumentsList] = useState(initInstrumentsOptions);\n const [selectedInstrument, setSelectedInstrument] = useState(initInstrumentsOptions[0]);\n const [selectedHoldTime, setSelectedHoldTime] = useState(holdTimeOptions[0]);\n const [selectedCalculationPeriod, setSelectedCalculationPeriod] = useState(\n calculationPeriodOptions[0],\n );\n\n const handleAssetClassSelect = (selectedOption: SelectOption) => {\n const list = getInstrumentsByAssetClassId(\n data!.valueAtRiskAssetClasses!,\n selectedOption.id,\n );\n\n setSelectedAssetClass(selectedOption);\n setInstrumentsList(list);\n setSelectedInstrument(list[0]);\n };\n\n const showAssetClassesSelect = assetClassesOptions.length > 1;\n\n return (\n <div\n data-testid=\"value-at-risk-tool-wrapper\"\n className=\"lw-relative lw-text-sm lw-tracking-normal\"\n >\n <div className={classnames(\n 'lw-mb-8 lw-grid',\n {\n 'lw-grid-cols-4 lw-gap-2': isDesktop && showAssetClassesSelect,\n 'lw-grid-cols-3 lw-gap-2.5': isDesktop && !showAssetClassesSelect,\n 'lw-grid-cols-1 lw-gap-4': !isDesktop,\n },\n )}\n >\n {showAssetClassesSelect ? (\n <Select\n selectLabel={lang('instrument_type')}\n options={assetClassesOptions}\n selectedOption={selectedAssetClass}\n setSelectedOption={handleAssetClassSelect}\n />\n ) : null}\n <Select\n searchPlaceholder={lang('search')}\n selectLabel={lang('instrument')}\n options={instrumentsList}\n selectedOption={selectedInstrument}\n setSelectedOption={setSelectedInstrument}\n />\n <Select\n selectLabel={lang('hold_time')}\n options={holdTimeOptions}\n selectedOption={selectedHoldTime}\n setSelectedOption={setSelectedHoldTime}\n />\n <Select\n selectLabel={lang('calculation_period')}\n options={calculationPeriodOptions}\n selectedOption={selectedCalculationPeriod}\n setSelectedOption={setSelectedCalculationPeriod}\n />\n </div>\n <ChartWithData\n bars={selectedCalculationPeriod.id as ValueAtRiskBars}\n duration={selectedHoldTime.id as ValueAtRiskDuration}\n instrument={selectedInstrument.id}\n division={division}\n />\n </div>\n );\n};\n\nexport { Tool };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Tool.js","names":["React","useState","classnames","Select","Size","useLayoutProvider","useLocale","getAssetClassesList","getInstrumentsByAssetClassId","ValueAtRiskDuration","ValueAtRiskBars","ChartWithData","Tool","_ref","data","division","lang","size","isDesktop","DESKTOP","assetClassesOptions","valueAtRiskAssetClasses","initInstrumentsOptions","id","holdTimeOptions","Object","values","map","duration","label","count","substring","calculationPeriodOptions","bars","selectedAssetClass","setSelectedAssetClass","instrumentsList","setInstrumentsList","selectedInstrument","setSelectedInstrument","selectedHoldTime","setSelectedHoldTime","selectedCalculationPeriod","setSelectedCalculationPeriod","handleAssetClassSelect","selectedOption","list","showAssetClassesSelect","length","createElement","className","selectLabel","options","setSelectedOption","searchPlaceholder","instrument"],"sources":["../../../src/ValueAtRiskWidget/Tool.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport classnames from 'classnames';\nimport {\n Select, SelectOption, Size, useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { getAssetClassesList, getInstrumentsByAssetClassId } from './utils';\nimport { ToolProps } from './types';\nimport { ValueAtRiskDuration, ValueAtRiskBars } from '../gql/types/graphql';\nimport { ChartWithData } from './ChartWithData';\n\nconst Tool = ({ data, division }: ToolProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const assetClassesOptions = getAssetClassesList(data!.valueAtRiskAssetClasses!);\n const initInstrumentsOptions = getInstrumentsByAssetClassId(\n data!.valueAtRiskAssetClasses!,\n assetClassesOptions[0].id,\n );\n\n const holdTimeOptions = Object.values(ValueAtRiskDuration).map((duration) => ({ id: duration as string, label: lang('day', { count: +duration.substring(1) }) }));\n const calculationPeriodOptions = Object.values(ValueAtRiskBars).map((bars) => ({ id: bars as string, label: lang('day', { count: +bars.substring(1) }) }));\n\n const [selectedAssetClass, setSelectedAssetClass] = useState(\n assetClassesOptions[0],\n );\n const [instrumentsList, setInstrumentsList] = useState(initInstrumentsOptions);\n const [selectedInstrument, setSelectedInstrument] = useState(initInstrumentsOptions[0]);\n const [selectedHoldTime, setSelectedHoldTime] = useState(holdTimeOptions[0]);\n const [selectedCalculationPeriod, setSelectedCalculationPeriod] = useState(\n calculationPeriodOptions[0],\n );\n\n const handleAssetClassSelect = (selectedOption: SelectOption) => {\n const list = getInstrumentsByAssetClassId(\n data!.valueAtRiskAssetClasses!,\n selectedOption.id,\n );\n\n setSelectedAssetClass(selectedOption);\n setInstrumentsList(list);\n setSelectedInstrument(list[0]);\n };\n\n const showAssetClassesSelect = assetClassesOptions.length > 1;\n\n return (\n <div\n data-testid=\"value-at-risk-tool-wrapper\"\n className=\"lw-relative lw-text-sm lw-tracking-normal\"\n >\n <div className={classnames(\n 'lw-mb-8 lw-grid',\n {\n 'lw-grid-cols-4 lw-gap-2': isDesktop && showAssetClassesSelect,\n 'lw-grid-cols-3 lw-gap-2.5': isDesktop && !showAssetClassesSelect,\n 'lw-grid-cols-1 lw-gap-4': !isDesktop,\n },\n )}\n >\n {showAssetClassesSelect ? (\n <Select\n selectLabel={lang('instrument_type')}\n options={assetClassesOptions}\n selectedOption={selectedAssetClass}\n setSelectedOption={handleAssetClassSelect}\n />\n ) : null}\n <Select\n searchPlaceholder={lang('search')}\n selectLabel={lang('instrument')}\n options={instrumentsList}\n selectedOption={selectedInstrument}\n setSelectedOption={setSelectedInstrument}\n />\n <Select\n selectLabel={lang('hold_time')}\n options={holdTimeOptions}\n selectedOption={selectedHoldTime}\n setSelectedOption={setSelectedHoldTime}\n />\n <Select\n selectLabel={lang('calculation_period')}\n options={calculationPeriodOptions}\n selectedOption={selectedCalculationPeriod}\n setSelectedOption={setSelectedCalculationPeriod}\n />\n </div>\n <ChartWithData\n bars={selectedCalculationPeriod.id as ValueAtRiskBars}\n duration={selectedHoldTime.id as ValueAtRiskDuration}\n instrument={selectedInstrument.id}\n division={division}\n />\n </div>\n );\n};\n\nexport { Tool };\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import React, { useContext } from 'react';
1
+ import React from 'react';
2
2
  import classnames from 'classnames';
3
- import { ChartError, Size, Spinner, SpinnerSize, ThemeContext } from '@oanda/labs-widget-common';
3
+ import { ChartError, Size, Spinner, SpinnerSize, useLayoutProvider } from '@oanda/labs-widget-common';
4
4
  import { useQuery } from '@apollo/client';
5
5
  import { getValueAtRiskAssetClasses } from '../gql/getValueAtRiskAssetClasses';
6
6
  import { Tool } from './Tool';
@@ -10,7 +10,7 @@ const ToolWithData = _ref => {
10
10
  } = _ref;
11
11
  const {
12
12
  size
13
- } = useContext(ThemeContext);
13
+ } = useLayoutProvider();
14
14
  const isDesktop = size === Size.DESKTOP;
15
15
  const {
16
16
  loading,
@@ -1 +1 @@
1
- {"version":3,"file":"ToolWithData.js","names":["React","useContext","classnames","ChartError","Size","Spinner","SpinnerSize","ThemeContext","useQuery","getValueAtRiskAssetClasses","Tool","ToolWithData","_ref","division","size","isDesktop","DESKTOP","loading","data","error","variables","fetchPolicy","createElement","className","lg"],"sources":["../../../src/ValueAtRiskWidget/ToolWithData.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport classnames from 'classnames';\nimport {\n ChartError, Size, Spinner, SpinnerSize, ThemeContext,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { getValueAtRiskAssetClasses } from '../gql/getValueAtRiskAssetClasses';\nimport { Tool } from './Tool';\nimport { ToolWithDataProps } from './types';\nimport { GetValueAtRiskAssetClassesQuery, GetValueAtRiskAssetClassesQueryVariables } from '../gql/types/graphql';\n\nconst ToolWithData = ({ division }: ToolWithDataProps) => {\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n const { loading, data, error } = useQuery<\n GetValueAtRiskAssetClassesQuery,\n GetValueAtRiskAssetClassesQueryVariables\n >(getValueAtRiskAssetClasses, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n return (\n <div data-testid=\"value-at-risk-wrapper\">\n {(loading || !size)\n && (\n <div className={classnames('lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary', {\n 'lw-h-[566px]': isDesktop,\n 'lw-h-[840px]': !isDesktop,\n })}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data && (\n <Tool\n data={data}\n division={division}\n />\n )}\n {!loading && error && (\n <div className=\"lw-flex lw-h-[500px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </div>\n );\n};\n\nexport { ToolWithData };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,UAAU,EAAEC,IAAI,EAAEC,OAAO,EAAEC,WAAW,EAAEC,YAAY,QAC/C,2BAA2B;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,0BAA0B,QAAQ,mCAAmC;AAC9E,SAASC,IAAI,QAAQ,QAAQ;AAI7B,MAAMC,YAAY,GAAGC,IAAA,IAAqC;EAAA,IAApC;IAAEC;EAA4B,CAAC,GAAAD,IAAA;EACnD,MAAM;IAAEE;EAAK,CAAC,GAAGb,UAAU,CAACM,YAAY,CAAC;EACzC,MAAMQ,SAAS,GAAGD,IAAI,KAAKV,IAAI,CAACY,OAAO;EACvC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGX,QAAQ,CAGvCC,0BAA0B,EAAE;IAC5BW,SAAS,EAAE;MACTP;IACF,CAAC;IACDQ,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,OACErB,KAAA,CAAAsB,aAAA;IAAK,eAAY;EAAuB,GACrC,CAACL,OAAO,IAAI,CAACH,IAAI,KAElBd,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAErB,UAAU,CAAC,sFAAsF,EAAE;MACjH,cAAc,EAAEa,SAAS;MACzB,cAAc,EAAE,CAACA;IACnB,CAAC;EAAE,GAEDf,KAAA,CAAAsB,aAAA,CAACjB,OAAO;IAACS,IAAI,EAAER,WAAW,CAACkB;EAAG,CAAE,CAC7B,CACJ,EACA,CAACP,OAAO,IAAIC,IAAI,IACflB,KAAA,CAAAsB,aAAA,CAACZ,IAAI;IACHQ,IAAI,EAAEA,IAAK;IACXL,QAAQ,EAAEA;EAAS,CACpB,CACF,EACA,CAACI,OAAO,IAAIE,KAAK,IAChBnB,KAAA,CAAAsB,aAAA;IAAKC,SAAS,EAAC;EAAmG,GAChHvB,KAAA,CAAAsB,aAAA,CAACnB,UAAU,MAAE,CACV,CAEJ,CAAC;AAEV,CAAC;AAED,SAASQ,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"ToolWithData.js","names":["React","classnames","ChartError","Size","Spinner","SpinnerSize","useLayoutProvider","useQuery","getValueAtRiskAssetClasses","Tool","ToolWithData","_ref","division","size","isDesktop","DESKTOP","loading","data","error","variables","fetchPolicy","createElement","className","lg"],"sources":["../../../src/ValueAtRiskWidget/ToolWithData.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport {\n ChartError, Size, Spinner, SpinnerSize, useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useQuery } from '@apollo/client';\nimport { getValueAtRiskAssetClasses } from '../gql/getValueAtRiskAssetClasses';\nimport { Tool } from './Tool';\nimport { ToolWithDataProps } from './types';\nimport { GetValueAtRiskAssetClassesQuery, GetValueAtRiskAssetClassesQueryVariables } from '../gql/types/graphql';\n\nconst ToolWithData = ({ division }: ToolWithDataProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const { loading, data, error } = useQuery<\n GetValueAtRiskAssetClassesQuery,\n GetValueAtRiskAssetClassesQueryVariables\n >(getValueAtRiskAssetClasses, {\n variables: {\n division,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n return (\n <div data-testid=\"value-at-risk-wrapper\">\n {(loading || !size)\n && (\n <div className={classnames('lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary', {\n 'lw-h-[566px]': isDesktop,\n 'lw-h-[840px]': !isDesktop,\n })}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data && (\n <Tool\n data={data}\n division={division}\n />\n )}\n {!loading && error && (\n <div className=\"lw-flex lw-h-[500px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </div>\n );\n};\n\nexport { ToolWithData };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SACEC,UAAU,EAAEC,IAAI,EAAEC,OAAO,EAAEC,WAAW,EAAEC,iBAAiB,QACpD,2BAA2B;AAClC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,0BAA0B,QAAQ,mCAAmC;AAC9E,SAASC,IAAI,QAAQ,QAAQ;AAI7B,MAAMC,YAAY,GAAGC,IAAA,IAAqC;EAAA,IAApC;IAAEC;EAA4B,CAAC,GAAAD,IAAA;EACnD,MAAM;IAAEE;EAAK,CAAC,GAAGP,iBAAiB,CAAC,CAAC;EACpC,MAAMQ,SAAS,GAAGD,IAAI,KAAKV,IAAI,CAACY,OAAO;EACvC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGX,QAAQ,CAGvCC,0BAA0B,EAAE;IAC5BW,SAAS,EAAE;MACTP;IACF,CAAC;IACDQ,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,OACEpB,KAAA,CAAAqB,aAAA;IAAK,eAAY;EAAuB,GACrC,CAACL,OAAO,IAAI,CAACH,IAAI,KAElBb,KAAA,CAAAqB,aAAA;IAAKC,SAAS,EAAErB,UAAU,CAAC,sFAAsF,EAAE;MACjH,cAAc,EAAEa,SAAS;MACzB,cAAc,EAAE,CAACA;IACnB,CAAC;EAAE,GAEDd,KAAA,CAAAqB,aAAA,CAACjB,OAAO;IAACS,IAAI,EAAER,WAAW,CAACkB;EAAG,CAAE,CAC7B,CACJ,EACA,CAACP,OAAO,IAAIC,IAAI,IACfjB,KAAA,CAAAqB,aAAA,CAACZ,IAAI;IACHQ,IAAI,EAAEA,IAAK;IACXL,QAAQ,EAAEA;EAAS,CACpB,CACF,EACA,CAACI,OAAO,IAAIE,KAAK,IAChBlB,KAAA,CAAAqB,aAAA;IAAKC,SAAS,EAAC;EAAmG,GAChHtB,KAAA,CAAAqB,aAAA,CAACnB,UAAU,MAAE,CACV,CAEJ,CAAC;AAEV,CAAC;AAED,SAASQ,YAAY","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
- import { LocaleProvider } from '@oanda/mono-i18n';
3
- import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
4
- import { ChartError, ThemeProvider, getLocale, renderComponent } from '@oanda/labs-widget-common';
2
+ import { ApolloClient, InMemoryCache } from '@apollo/client';
3
+ import { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';
5
4
  import { translations } from '../translations';
6
5
  import { ToolWithData } from './ToolWithData';
7
6
  import { Widget } from './Widget';
@@ -22,27 +21,23 @@ const ValueAtRiskWidget = _ref => {
22
21
  cache: new InMemoryCache()
23
22
  });
24
23
  const isWidget = !!instrument && !!duration && !!bars;
25
- return React.createElement(ThemeProvider, {
24
+ return React.createElement(WidgetProvider, {
25
+ locale: locale,
26
+ translations: translations,
27
+ client: client,
26
28
  theme: theme
27
- }, React.createElement(LocaleProvider, {
28
- locale: getLocale(locale),
29
- translations: translations
30
- }, React.createElement(ApolloProvider, {
31
- client: client
32
- }, isParamError && React.createElement("div", {
33
- className: "lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary"
34
- }, React.createElement(ChartError, null)), !isParamError && renderComponent({
35
- logoLink,
36
- linkArea: 'logo',
37
- Component: isWidget ? React.createElement(Widget, {
38
- division: division,
39
- instrument: instrument,
40
- duration: duration,
41
- bars: bars
42
- }) : React.createElement(ToolWithData, {
43
- division: division
44
- })
45
- }))));
29
+ }, React.createElement(WidgetWrapper, {
30
+ logoLink: logoLink,
31
+ linkArea: "logo",
32
+ isParamError: isParamError
33
+ }, isWidget ? React.createElement(Widget, {
34
+ division: division,
35
+ instrument: instrument,
36
+ duration: duration,
37
+ bars: bars
38
+ }) : React.createElement(ToolWithData, {
39
+ division: division
40
+ })));
46
41
  };
47
42
  export { ValueAtRiskWidget };
48
43
  //# sourceMappingURL=ValueAtRiskWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValueAtRiskWidget.js","names":["React","LocaleProvider","ApolloClient","InMemoryCache","ApolloProvider","ChartError","ThemeProvider","getLocale","renderComponent","translations","ToolWithData","Widget","ValueAtRiskWidget","_ref","graphqlUrl","locale","division","theme","isParamError","instrument","duration","bars","logoLink","client","uri","cache","isWidget","createElement","className","linkArea","Component"],"sources":["../../../src/ValueAtRiskWidget/ValueAtRiskWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { LocaleProvider } from '@oanda/mono-i18n';\nimport { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';\nimport {\n ChartError, ThemeProvider, getLocale,\n renderComponent,\n} from '@oanda/labs-widget-common';\nimport { ValueAtRiskConfig } from './types';\nimport { translations } from '../translations';\nimport { ToolWithData } from './ToolWithData';\nimport { Widget } from './Widget';\n\nconst ValueAtRiskWidget = ({\n graphqlUrl,\n locale,\n division,\n theme,\n isParamError,\n instrument,\n duration,\n bars,\n logoLink,\n}: ValueAtRiskConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n const isWidget = !!instrument && !!duration && !!bars;\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 { !isParamError && renderComponent({\n logoLink,\n linkArea: 'logo',\n Component: isWidget ? (\n <Widget\n division={division}\n instrument={instrument}\n duration={duration}\n bars={bars}\n />\n ) : <ToolWithData division={division} />,\n }) }\n\n </ApolloProvider>\n </LocaleProvider>\n </ThemeProvider>\n );\n};\n\nexport { ValueAtRiskWidget };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,YAAY,EAAEC,aAAa,EAAEC,cAAc,QAAQ,gBAAgB;AAC5E,SACEC,UAAU,EAAEC,aAAa,EAAEC,SAAS,EACpCC,eAAe,QACV,2BAA2B;AAElC,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,MAAM,QAAQ,UAAU;AAEjC,MAAMC,iBAAiB,GAAGC,IAAA,IAUD;EAAA,IAVE;IACzBC,UAAU;IACVC,MAAM;IACNC,QAAQ;IACRC,KAAK;IACLC,YAAY;IACZC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC;EACiB,CAAC,GAAAT,IAAA;EAClB,MAAMU,MAAM,GAAG,IAAIrB,YAAY,CAAC;IAC9BsB,GAAG,EAAEV,UAAU;IACfW,KAAK,EAAE,IAAItB,aAAa,CAAC;EAC3B,CAAC,CAAC;EACF,MAAMuB,QAAQ,GAAG,CAAC,CAACP,UAAU,IAAI,CAAC,CAACC,QAAQ,IAAI,CAAC,CAACC,IAAI;EAErD,OACErB,KAAA,CAAA2B,aAAA,CAACrB,aAAa;IAACW,KAAK,EAAEA;EAAM,GAC1BjB,KAAA,CAAA2B,aAAA,CAAC1B,cAAc;IAACc,MAAM,EAAER,SAAS,CAACQ,MAAM,CAAE;IAACN,YAAY,EAAEA;EAAa,GACpET,KAAA,CAAA2B,aAAA,CAACvB,cAAc;IAACmB,MAAM,EAAEA;EAAO,GAC5BL,YAAY,IACXlB,KAAA,CAAA2B,aAAA;IAAKC,SAAS,EAAC;EAAmG,GAChH5B,KAAA,CAAA2B,aAAA,CAACtB,UAAU,MAAE,CACV,CACN,EAEC,CAACa,YAAY,IAAIV,eAAe,CAAC;IACjCc,QAAQ;IACRO,QAAQ,EAAE,MAAM;IAChBC,SAAS,EAAEJ,QAAQ,GACjB1B,KAAA,CAAA2B,aAAA,CAAChB,MAAM;MACLK,QAAQ,EAAEA,QAAS;MACnBG,UAAU,EAAEA,UAAW;MACvBC,QAAQ,EAAEA,QAAS;MACnBC,IAAI,EAAEA;IAAK,CACZ,CAAC,GACArB,KAAA,CAAA2B,aAAA,CAACjB,YAAY;MAACM,QAAQ,EAAEA;IAAS,CAAE;EACzC,CAAC,CAEa,CACF,CACH,CAAC;AAEpB,CAAC;AAED,SAASJ,iBAAiB","ignoreList":[]}
1
+ {"version":3,"file":"ValueAtRiskWidget.js","names":["React","ApolloClient","InMemoryCache","WidgetProvider","WidgetWrapper","translations","ToolWithData","Widget","ValueAtRiskWidget","_ref","graphqlUrl","locale","division","theme","isParamError","instrument","duration","bars","logoLink","client","uri","cache","isWidget","createElement","linkArea"],"sources":["../../../src/ValueAtRiskWidget/ValueAtRiskWidget.tsx"],"sourcesContent":["import React from 'react';\nimport { ApolloClient, InMemoryCache } from '@apollo/client';\nimport { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';\n\nimport { ValueAtRiskConfig } from './types';\nimport { translations } from '../translations';\nimport { ToolWithData } from './ToolWithData';\nimport { Widget } from './Widget';\n\nconst ValueAtRiskWidget = ({\n graphqlUrl,\n locale,\n division,\n theme,\n isParamError,\n instrument,\n duration,\n bars,\n logoLink,\n}: ValueAtRiskConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n const isWidget = !!instrument && !!duration && !!bars;\n\n return (\n <WidgetProvider\n locale={locale}\n translations={translations}\n client={client}\n theme={theme}\n >\n <WidgetWrapper\n logoLink={logoLink}\n linkArea=\"logo\"\n isParamError={isParamError}\n >\n {\n isWidget ? (\n <Widget\n division={division}\n instrument={instrument}\n duration={duration}\n bars={bars}\n />\n ) : <ToolWithData division={division} />\n }\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { ValueAtRiskWidget };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,aAAa,QAAQ,gBAAgB;AAC5D,SAASC,cAAc,EAAEC,aAAa,QAAQ,2BAA2B;AAGzE,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,MAAM,QAAQ,UAAU;AAEjC,MAAMC,iBAAiB,GAAGC,IAAA,IAUD;EAAA,IAVE;IACzBC,UAAU;IACVC,MAAM;IACNC,QAAQ;IACRC,KAAK;IACLC,YAAY;IACZC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC;EACiB,CAAC,GAAAT,IAAA;EAClB,MAAMU,MAAM,GAAG,IAAIlB,YAAY,CAAC;IAC9BmB,GAAG,EAAEV,UAAU;IACfW,KAAK,EAAE,IAAInB,aAAa,CAAC;EAC3B,CAAC,CAAC;EACF,MAAMoB,QAAQ,GAAG,CAAC,CAACP,UAAU,IAAI,CAAC,CAACC,QAAQ,IAAI,CAAC,CAACC,IAAI;EAErD,OACEjB,KAAA,CAAAuB,aAAA,CAACpB,cAAc;IACbQ,MAAM,EAAEA,MAAO;IACfN,YAAY,EAAEA,YAAa;IAC3Bc,MAAM,EAAEA,MAAO;IACfN,KAAK,EAAEA;EAAM,GAEbb,KAAA,CAAAuB,aAAA,CAACnB,aAAa;IACZc,QAAQ,EAAEA,QAAS;IACnBM,QAAQ,EAAC,MAAM;IACfV,YAAY,EAAEA;EAAa,GAGzBQ,QAAQ,GACNtB,KAAA,CAAAuB,aAAA,CAAChB,MAAM;IACLK,QAAQ,EAAEA,QAAS;IACnBG,UAAU,EAAEA,UAAW;IACvBC,QAAQ,EAAEA,QAAS;IACnBC,IAAI,EAAEA;EAAK,CACZ,CAAC,GACAjB,KAAA,CAAAuB,aAAA,CAACjB,YAAY;IAACM,QAAQ,EAAEA;EAAS,CAAE,CAE5B,CACD,CAAC;AAErB,CAAC;AAED,SAASJ,iBAAiB","ignoreList":[]}
@@ -1,6 +1,6 @@
1
- import React, { useContext } from 'react';
1
+ import React from 'react';
2
2
  import classnames from 'classnames';
3
- import { Size, ThemeContext } from '@oanda/labs-widget-common';
3
+ import { Size, useLayoutProvider } from '@oanda/labs-widget-common';
4
4
  import { useLocale } from '@oanda/mono-i18n';
5
5
  import { ChartWithData } from './ChartWithData';
6
6
  const Widget = _ref => {
@@ -15,7 +15,7 @@ const Widget = _ref => {
15
15
  } = useLocale();
16
16
  const {
17
17
  size
18
- } = useContext(ThemeContext);
18
+ } = useLayoutProvider();
19
19
  const isDesktop = size === Size.DESKTOP;
20
20
  return React.createElement("div", {
21
21
  "data-testid": "value-at-risk-widget-wrapper",
@@ -1 +1 @@
1
- {"version":3,"file":"Widget.js","names":["React","useContext","classnames","Size","ThemeContext","useLocale","ChartWithData","Widget","_ref","division","instrument","duration","bars","lang","size","isDesktop","DESKTOP","createElement","className","Fragment","count","substring"],"sources":["../../../src/ValueAtRiskWidget/Widget.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport classnames from 'classnames';\nimport { Size, ThemeContext } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { WidgetProps } from './types';\nimport { ChartWithData } from './ChartWithData';\n\nconst Widget = ({\n division,\n instrument,\n duration,\n bars,\n}: WidgetProps) => {\n const { lang } = useLocale();\n const { size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <div\n data-testid=\"value-at-risk-widget-wrapper\"\n className=\"lw-relative lw-text-sm lw-tracking-normal\"\n >\n {size && (\n <>\n <div\n className={classnames('lw-font-bold', {\n 'lw-mb-11 lw-text-center lw-text-xl': isDesktop,\n 'lw-mb-6 lw-text-lg': !isDesktop,\n })}\n >\n <div>{`${lang('hold_time')}: ${lang('day', { count: +duration.substring(1) })}`}</div>\n <div>{`${lang('calculation_period')}: ${lang('day', { count: +bars.substring(1) })}`}</div>\n </div>\n <ChartWithData\n bars={bars}\n duration={duration}\n instrument={instrument}\n division={division}\n />\n </>\n )}\n </div>\n );\n};\n\nexport { Widget };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,IAAI,EAAEC,YAAY,QAAQ,2BAA2B;AAC9D,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,MAAMC,MAAM,GAAGC,IAAA,IAKI;EAAA,IALH;IACdC,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC;EACW,CAAC,GAAAJ,IAAA;EACZ,MAAM;IAAEK;EAAK,CAAC,GAAGR,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAES;EAAK,CAAC,GAAGb,UAAU,CAACG,YAAY,CAAC;EACzC,MAAMW,SAAS,GAAGD,IAAI,KAAKX,IAAI,CAACa,OAAO;EAEvC,OACEhB,KAAA,CAAAiB,aAAA;IACE,eAAY,8BAA8B;IAC1CC,SAAS,EAAC;EAA2C,GAEpDJ,IAAI,IACHd,KAAA,CAAAiB,aAAA,CAAAjB,KAAA,CAAAmB,QAAA,QACEnB,KAAA,CAAAiB,aAAA;IACEC,SAAS,EAAEhB,UAAU,CAAC,cAAc,EAAE;MACpC,oCAAoC,EAAEa,SAAS;MAC/C,oBAAoB,EAAE,CAACA;IACzB,CAAC;EAAE,GAEHf,KAAA,CAAAiB,aAAA,cAAM,GAAGJ,IAAI,CAAC,WAAW,CAAC,KAAKA,IAAI,CAAC,KAAK,EAAE;IAAEO,KAAK,EAAE,CAACT,QAAQ,CAACU,SAAS,CAAC,CAAC;EAAE,CAAC,CAAC,EAAQ,CAAC,EACtFrB,KAAA,CAAAiB,aAAA,cAAM,GAAGJ,IAAI,CAAC,oBAAoB,CAAC,KAAKA,IAAI,CAAC,KAAK,EAAE;IAAEO,KAAK,EAAE,CAACR,IAAI,CAACS,SAAS,CAAC,CAAC;EAAE,CAAC,CAAC,EAAQ,CACvF,CAAC,EACNrB,KAAA,CAAAiB,aAAA,CAACX,aAAa;IACZM,IAAI,EAAEA,IAAK;IACXD,QAAQ,EAAEA,QAAS;IACnBD,UAAU,EAAEA,UAAW;IACvBD,QAAQ,EAAEA;EAAS,CACpB,CACD,CAED,CAAC;AAEV,CAAC;AAED,SAASF,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"Widget.js","names":["React","classnames","Size","useLayoutProvider","useLocale","ChartWithData","Widget","_ref","division","instrument","duration","bars","lang","size","isDesktop","DESKTOP","createElement","className","Fragment","count","substring"],"sources":["../../../src/ValueAtRiskWidget/Widget.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport { Size, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { WidgetProps } from './types';\nimport { ChartWithData } from './ChartWithData';\n\nconst Widget = ({\n division,\n instrument,\n duration,\n bars,\n}: WidgetProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <div\n data-testid=\"value-at-risk-widget-wrapper\"\n className=\"lw-relative lw-text-sm lw-tracking-normal\"\n >\n {size && (\n <>\n <div\n className={classnames('lw-font-bold', {\n 'lw-mb-11 lw-text-center lw-text-xl': isDesktop,\n 'lw-mb-6 lw-text-lg': !isDesktop,\n })}\n >\n <div>{`${lang('hold_time')}: ${lang('day', { count: +duration.substring(1) })}`}</div>\n <div>{`${lang('calculation_period')}: ${lang('day', { count: +bars.substring(1) })}`}</div>\n </div>\n <ChartWithData\n bars={bars}\n duration={duration}\n instrument={instrument}\n division={division}\n />\n </>\n )}\n </div>\n );\n};\n\nexport { Widget };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,IAAI,EAAEC,iBAAiB,QAAQ,2BAA2B;AACnE,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,MAAMC,MAAM,GAAGC,IAAA,IAKI;EAAA,IALH;IACdC,QAAQ;IACRC,UAAU;IACVC,QAAQ;IACRC;EACW,CAAC,GAAAJ,IAAA;EACZ,MAAM;IAAEK;EAAK,CAAC,GAAGR,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAES;EAAK,CAAC,GAAGV,iBAAiB,CAAC,CAAC;EACpC,MAAMW,SAAS,GAAGD,IAAI,KAAKX,IAAI,CAACa,OAAO;EAEvC,OACEf,KAAA,CAAAgB,aAAA;IACE,eAAY,8BAA8B;IAC1CC,SAAS,EAAC;EAA2C,GAEpDJ,IAAI,IACHb,KAAA,CAAAgB,aAAA,CAAAhB,KAAA,CAAAkB,QAAA,QACElB,KAAA,CAAAgB,aAAA;IACEC,SAAS,EAAEhB,UAAU,CAAC,cAAc,EAAE;MACpC,oCAAoC,EAAEa,SAAS;MAC/C,oBAAoB,EAAE,CAACA;IACzB,CAAC;EAAE,GAEHd,KAAA,CAAAgB,aAAA,cAAM,GAAGJ,IAAI,CAAC,WAAW,CAAC,KAAKA,IAAI,CAAC,KAAK,EAAE;IAAEO,KAAK,EAAE,CAACT,QAAQ,CAACU,SAAS,CAAC,CAAC;EAAE,CAAC,CAAC,EAAQ,CAAC,EACtFpB,KAAA,CAAAgB,aAAA,cAAM,GAAGJ,IAAI,CAAC,oBAAoB,CAAC,KAAKA,IAAI,CAAC,KAAK,EAAE;IAAEO,KAAK,EAAE,CAACR,IAAI,CAACS,SAAS,CAAC,CAAC;EAAE,CAAC,CAAC,EAAQ,CACvF,CAAC,EACNpB,KAAA,CAAAgB,aAAA,CAACX,aAAa;IACZM,IAAI,EAAEA,IAAK;IACXD,QAAQ,EAAEA,QAAS;IACnBD,UAAU,EAAEA,UAAW;IACvBD,QAAQ,EAAEA;EAAS,CACpB,CACD,CAED,CAAC;AAEV,CAAC;AAED,SAASF,MAAM","ignoreList":[]}
@@ -1,11 +1,11 @@
1
- import React, { useContext } from 'react';
1
+ import React from 'react';
2
2
  import ReactEChartsCore from 'echarts-for-react/lib/core';
3
3
  import * as echarts from 'echarts/core';
4
4
  import { LineChart, CustomChart } from 'echarts/charts';
5
5
  import { CanvasRenderer } from 'echarts/renderers';
6
6
  import { GridSimpleComponent, GraphicComponent, MarkPointComponent, TitleComponent, DatasetComponent, VisualMapComponent, MarkLineComponent, AxisPointerComponent } from 'echarts/components';
7
7
  import { useLocale } from '@oanda/mono-i18n';
8
- import { Size, Theme, ThemeContext, getChartTheme } from '@oanda/labs-widget-common';
8
+ import { Size, Theme, useLayoutProvider, getChartTheme } from '@oanda/labs-widget-common';
9
9
  import { CHART_HEIGHT } from './constants';
10
10
  import { getOption } from './getOption';
11
11
  echarts.use([GridSimpleComponent, GraphicComponent, TitleComponent, LineChart, CanvasRenderer, DatasetComponent, VisualMapComponent, CustomChart, MarkLineComponent, MarkPointComponent, AxisPointerComponent]);
@@ -21,7 +21,7 @@ const Chart = _ref => {
21
21
  const {
22
22
  isDark,
23
23
  size
24
- } = useContext(ThemeContext);
24
+ } = useLayoutProvider();
25
25
  const isDesktop = size === Size.DESKTOP;
26
26
  return React.createElement(ReactEChartsCore, {
27
27
  echarts: echarts,
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["React","useContext","ReactEChartsCore","echarts","LineChart","CustomChart","CanvasRenderer","GridSimpleComponent","GraphicComponent","MarkPointComponent","TitleComponent","DatasetComponent","VisualMapComponent","MarkLineComponent","AxisPointerComponent","useLocale","Size","Theme","ThemeContext","getChartTheme","CHART_HEIGHT","getOption","use","registerTheme","Dark","Light","Chart","_ref","values","lang","isDark","size","isDesktop","DESKTOP","createElement","theme","style","height","width","option"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/Chart.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport ReactEChartsCore from 'echarts-for-react/lib/core';\nimport * as echarts from 'echarts/core';\nimport { LineChart, CustomChart } from 'echarts/charts';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport {\n GridSimpleComponent,\n GraphicComponent,\n MarkPointComponent,\n TitleComponent,\n DatasetComponent,\n VisualMapComponent,\n MarkLineComponent,\n AxisPointerComponent,\n} from 'echarts/components';\nimport { useLocale } from '@oanda/mono-i18n';\nimport {\n Size,\n Theme,\n ThemeContext,\n getChartTheme,\n} from '@oanda/labs-widget-common';\nimport { CHART_HEIGHT } from './constants';\nimport { getOption } from './getOption';\nimport { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TitleComponent,\n LineChart,\n CanvasRenderer,\n DatasetComponent,\n VisualMapComponent,\n CustomChart,\n MarkLineComponent,\n MarkPointComponent,\n AxisPointerComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <ReactEChartsCore\n echarts={echarts}\n theme={isDark ? 'dark_theme' : 'light_theme'}\n style={{\n height: `${CHART_HEIGHT}px`,\n width: '100%',\n }}\n option={getOption(values, lang, isDark, isDesktop)}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,gBAAgB,MAAM,4BAA4B;AACzD,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,SAASC,SAAS,EAAEC,WAAW,QAAQ,gBAAgB;AACvD,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SACEC,mBAAmB,EACnBC,gBAAgB,EAChBC,kBAAkB,EAClBC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,EAClBC,iBAAiB,EACjBC,oBAAoB,QACf,oBAAoB;AAC3B,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SACEC,IAAI,EACJC,KAAK,EACLC,YAAY,EACZC,aAAa,QACR,2BAA2B;AAClC,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,SAAS,QAAQ,aAAa;AAGvClB,OAAO,CAACmB,GAAG,CAAC,CACVf,mBAAmB,EACnBC,gBAAgB,EAChBE,cAAc,EACdN,SAAS,EACTE,cAAc,EACdK,gBAAgB,EAChBC,kBAAkB,EAClBP,WAAW,EACXQ,iBAAiB,EACjBJ,kBAAkB,EAClBK,oBAAoB,CACrB,CAAC;AAEFX,OAAO,CAACoB,aAAa,CAAC,YAAY,EAAEJ,aAAa,CAACF,KAAK,CAACO,IAAI,CAAC,CAAC;AAC9DrB,OAAO,CAACoB,aAAa,CAAC,aAAa,EAAEJ,aAAa,CAACF,KAAK,CAACQ,KAAK,CAAC,CAAC;AAEhE,MAAMC,KAAK,GAAGC,IAAA,IAA4B;EAAA,IAA3B;IAAEC;EAAmB,CAAC,GAAAD,IAAA;EACnC,MAAM;IAAEE;EAAK,CAAC,GAAGd,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEe,MAAM;IAAEC;EAAK,CAAC,GAAG9B,UAAU,CAACiB,YAAY,CAAC;EACjD,MAAMc,SAAS,GAAGD,IAAI,KAAKf,IAAI,CAACiB,OAAO;EAEvC,OACEjC,KAAA,CAAAkC,aAAA,CAAChC,gBAAgB;IACfC,OAAO,EAAEA,OAAQ;IACjBgC,KAAK,EAAEL,MAAM,GAAG,YAAY,GAAG,aAAc;IAC7CM,KAAK,EAAE;MACLC,MAAM,EAAE,GAAGjB,YAAY,IAAI;MAC3BkB,KAAK,EAAE;IACT,CAAE;IACFC,MAAM,EAAElB,SAAS,CAACO,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEE,SAAS;EAAE,CACpD,CAAC;AAEN,CAAC;AAED,SAASN,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["React","ReactEChartsCore","echarts","LineChart","CustomChart","CanvasRenderer","GridSimpleComponent","GraphicComponent","MarkPointComponent","TitleComponent","DatasetComponent","VisualMapComponent","MarkLineComponent","AxisPointerComponent","useLocale","Size","Theme","useLayoutProvider","getChartTheme","CHART_HEIGHT","getOption","use","registerTheme","Dark","Light","Chart","_ref","values","lang","isDark","size","isDesktop","DESKTOP","createElement","theme","style","height","width","option"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/Chart.tsx"],"sourcesContent":["import React from 'react';\nimport ReactEChartsCore from 'echarts-for-react/lib/core';\nimport * as echarts from 'echarts/core';\nimport { LineChart, CustomChart } from 'echarts/charts';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport {\n GridSimpleComponent,\n GraphicComponent,\n MarkPointComponent,\n TitleComponent,\n DatasetComponent,\n VisualMapComponent,\n MarkLineComponent,\n AxisPointerComponent,\n} from 'echarts/components';\nimport { useLocale } from '@oanda/mono-i18n';\nimport {\n Size,\n Theme,\n useLayoutProvider,\n getChartTheme,\n} from '@oanda/labs-widget-common';\nimport { CHART_HEIGHT } from './constants';\nimport { getOption } from './getOption';\nimport { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TitleComponent,\n LineChart,\n CanvasRenderer,\n DatasetComponent,\n VisualMapComponent,\n CustomChart,\n MarkLineComponent,\n MarkPointComponent,\n AxisPointerComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <ReactEChartsCore\n echarts={echarts}\n theme={isDark ? 'dark_theme' : 'light_theme'}\n style={{\n height: `${CHART_HEIGHT}px`,\n width: '100%',\n }}\n option={getOption(values, lang, isDark, isDesktop)}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,gBAAgB,MAAM,4BAA4B;AACzD,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,SAASC,SAAS,EAAEC,WAAW,QAAQ,gBAAgB;AACvD,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SACEC,mBAAmB,EACnBC,gBAAgB,EAChBC,kBAAkB,EAClBC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,EAClBC,iBAAiB,EACjBC,oBAAoB,QACf,oBAAoB;AAC3B,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SACEC,IAAI,EACJC,KAAK,EACLC,iBAAiB,EACjBC,aAAa,QACR,2BAA2B;AAClC,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,SAAS,QAAQ,aAAa;AAGvClB,OAAO,CAACmB,GAAG,CAAC,CACVf,mBAAmB,EACnBC,gBAAgB,EAChBE,cAAc,EACdN,SAAS,EACTE,cAAc,EACdK,gBAAgB,EAChBC,kBAAkB,EAClBP,WAAW,EACXQ,iBAAiB,EACjBJ,kBAAkB,EAClBK,oBAAoB,CACrB,CAAC;AAEFX,OAAO,CAACoB,aAAa,CAAC,YAAY,EAAEJ,aAAa,CAACF,KAAK,CAACO,IAAI,CAAC,CAAC;AAC9DrB,OAAO,CAACoB,aAAa,CAAC,aAAa,EAAEJ,aAAa,CAACF,KAAK,CAACQ,KAAK,CAAC,CAAC;AAEhE,MAAMC,KAAK,GAAGC,IAAA,IAA4B;EAAA,IAA3B;IAAEC;EAAmB,CAAC,GAAAD,IAAA;EACnC,MAAM;IAAEE;EAAK,CAAC,GAAGd,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEe,MAAM;IAAEC;EAAK,CAAC,GAAGb,iBAAiB,CAAC,CAAC;EAC5C,MAAMc,SAAS,GAAGD,IAAI,KAAKf,IAAI,CAACiB,OAAO;EAEvC,OACEhC,KAAA,CAAAiC,aAAA,CAAChC,gBAAgB;IACfC,OAAO,EAAEA,OAAQ;IACjBgC,KAAK,EAAEL,MAAM,GAAG,YAAY,GAAG,aAAc;IAC7CM,KAAK,EAAE;MACLC,MAAM,EAAE,GAAGjB,YAAY,IAAI;MAC3BkB,KAAK,EAAE;IACT,CAAE;IACFC,MAAM,EAAElB,SAAS,CAACO,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEE,SAAS;EAAE,CACpD,CAAC;AAEN,CAAC;AAED,SAASN,KAAK","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import React, { useContext } from 'react';
2
- import { Size, ThemeContext } from '@oanda/labs-widget-common';
1
+ import React from 'react';
2
+ import { Size, useLayoutProvider } from '@oanda/labs-widget-common';
3
3
  import { useLocale } from '@oanda/mono-i18n';
4
4
  import { DataNames } from './types';
5
5
  import { DesktopLegend } from './DesktopLegend';
@@ -11,7 +11,7 @@ const Legend = _ref => {
11
11
  const {
12
12
  size,
13
13
  isDark
14
- } = useContext(ThemeContext);
14
+ } = useLayoutProvider();
15
15
  const {
16
16
  lang
17
17
  } = useLocale();
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","names":["React","useContext","Size","ThemeContext","useLocale","DataNames","DesktopLegend","MobileLegend","Legend","_ref","data","size","isDark","lang","isDesktop","DESKTOP","createElement","Fragment","id","AVERAGE","label","value","valueAtRiskChart","down","average","MEDIAN","median","THRESHOLD","threshold","MIN","max","up","MAX","valueDown","valueUp"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/Legend.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport {\n Size,\n ThemeContext,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport {\n DataNames, LegendProps,\n} from './types';\nimport { DesktopLegend } from './DesktopLegend';\nimport { MobileLegend } from './MobileLegend';\n\nconst Legend = ({ data }: LegendProps) => {\n const { size, isDark } = useContext(ThemeContext);\n const { lang } = useLocale();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <>\n {isDesktop ? (\n <>\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.down.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.down.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.down.threshold,\n },\n {\n id: DataNames.MIN,\n label: lang('min'),\n value: data.valueAtRiskChart!.down.max,\n },\n ]}\n />\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: lang('max'),\n value: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n </>\n ) : (\n <MobileLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n valueDown: data.valueAtRiskChart!.down.average,\n valueUp: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n valueDown: data.valueAtRiskChart!.down.median,\n valueUp: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n valueDown: data.valueAtRiskChart!.down.threshold,\n valueUp: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: `${lang('min')}/${lang('max')}`,\n valueDown: data.valueAtRiskChart!.down.max,\n valueUp: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n )}\n </>\n );\n};\n\nexport { Legend };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Legend.js","names":["React","Size","useLayoutProvider","useLocale","DataNames","DesktopLegend","MobileLegend","Legend","_ref","data","size","isDark","lang","isDesktop","DESKTOP","createElement","Fragment","id","AVERAGE","label","value","valueAtRiskChart","down","average","MEDIAN","median","THRESHOLD","threshold","MIN","max","up","MAX","valueDown","valueUp"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/Legend.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Size,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport {\n DataNames, LegendProps,\n} from './types';\nimport { DesktopLegend } from './DesktopLegend';\nimport { MobileLegend } from './MobileLegend';\n\nconst Legend = ({ data }: LegendProps) => {\n const { size, isDark } = useLayoutProvider();\n const { lang } = useLocale();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <>\n {isDesktop ? (\n <>\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.down.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.down.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.down.threshold,\n },\n {\n id: DataNames.MIN,\n label: lang('min'),\n value: data.valueAtRiskChart!.down.max,\n },\n ]}\n />\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: lang('max'),\n value: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n </>\n ) : (\n <MobileLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n valueDown: data.valueAtRiskChart!.down.average,\n valueUp: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n valueDown: data.valueAtRiskChart!.down.median,\n valueUp: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n valueDown: data.valueAtRiskChart!.down.threshold,\n valueUp: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: `${lang('min')}/${lang('max')}`,\n valueDown: data.valueAtRiskChart!.down.max,\n valueUp: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n )}\n </>\n );\n};\n\nexport { Legend };\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-value-at-risk-widget",
3
- "version": "1.0.64",
3
+ "version": "1.0.65",
4
4
  "description": "Labs Value At Risk Widget",
5
5
  "main": "dist/main/index.js",
6
6
  "module": "dist/module/index.js",
@@ -12,7 +12,7 @@
12
12
  "author": "OANDA",
13
13
  "license": "UNLICENSED",
14
14
  "dependencies": {
15
- "@oanda/labs-widget-common": "^1.0.172",
15
+ "@oanda/labs-widget-common": "^1.0.173",
16
16
  "@oanda/mono-i18n": "10.0.1",
17
17
  "echarts": "5.5.0",
18
18
  "echarts-for-react": "3.0.2",
@@ -23,5 +23,5 @@
23
23
  "@graphql-codegen/client-preset": "4.1.0",
24
24
  "@graphql-codegen/typescript": "4.0.1"
25
25
  },
26
- "gitHead": "f3c94dbb01bc271f175ba95700c51001c4099a52"
26
+ "gitHead": "67a7801f99f0bab94dd6067a102761f51de786c1"
27
27
  }
@@ -1,9 +1,9 @@
1
- import React, { useContext } from 'react';
1
+ import React from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { useQuery } from '@apollo/client';
4
4
  import {
5
5
  ChartError, Size, Spinner, SpinnerSize,
6
- ThemeContext,
6
+ useLayoutProvider,
7
7
  } from '@oanda/labs-widget-common';
8
8
  import { Chart } from './components/Chart';
9
9
  import { getValueAtRiskChart } from '../gql/getValueAtRiskChart';
@@ -14,7 +14,7 @@ import { Legend } from './components/Legend';
14
14
  const ChartWithData = ({
15
15
  instrument, duration, bars, division,
16
16
  }: ChartWithDataProps) => {
17
- const { size } = useContext(ThemeContext);
17
+ const { size } = useLayoutProvider();
18
18
  const isDesktop = size === Size.DESKTOP;
19
19
 
20
20
  const { loading, data, error } = useQuery<
@@ -1,7 +1,7 @@
1
- import React, { useState, useContext } from 'react';
1
+ import React, { useState } from 'react';
2
2
  import classnames from 'classnames';
3
3
  import {
4
- Select, SelectOption, Size, ThemeContext,
4
+ Select, SelectOption, Size, useLayoutProvider,
5
5
  } from '@oanda/labs-widget-common';
6
6
  import { useLocale } from '@oanda/mono-i18n';
7
7
  import { getAssetClassesList, getInstrumentsByAssetClassId } from './utils';
@@ -11,7 +11,7 @@ import { ChartWithData } from './ChartWithData';
11
11
 
12
12
  const Tool = ({ data, division }: ToolProps) => {
13
13
  const { lang } = useLocale();
14
- const { size } = useContext(ThemeContext);
14
+ const { size } = useLayoutProvider();
15
15
  const isDesktop = size === Size.DESKTOP;
16
16
 
17
17
  const assetClassesOptions = getAssetClassesList(data!.valueAtRiskAssetClasses!);
@@ -1,7 +1,7 @@
1
- import React, { useContext } from 'react';
1
+ import React from 'react';
2
2
  import classnames from 'classnames';
3
3
  import {
4
- ChartError, Size, Spinner, SpinnerSize, ThemeContext,
4
+ ChartError, Size, Spinner, SpinnerSize, useLayoutProvider,
5
5
  } from '@oanda/labs-widget-common';
6
6
  import { useQuery } from '@apollo/client';
7
7
  import { getValueAtRiskAssetClasses } from '../gql/getValueAtRiskAssetClasses';
@@ -10,7 +10,7 @@ import { ToolWithDataProps } from './types';
10
10
  import { GetValueAtRiskAssetClassesQuery, GetValueAtRiskAssetClassesQueryVariables } from '../gql/types/graphql';
11
11
 
12
12
  const ToolWithData = ({ division }: ToolWithDataProps) => {
13
- const { size } = useContext(ThemeContext);
13
+ const { size } = useLayoutProvider();
14
14
  const isDesktop = size === Size.DESKTOP;
15
15
  const { loading, data, error } = useQuery<
16
16
  GetValueAtRiskAssetClassesQuery,
@@ -1,10 +1,7 @@
1
1
  import React from 'react';
2
- import { LocaleProvider } from '@oanda/mono-i18n';
3
- import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';
4
- import {
5
- ChartError, ThemeProvider, getLocale,
6
- renderComponent,
7
- } from '@oanda/labs-widget-common';
2
+ import { ApolloClient, InMemoryCache } from '@apollo/client';
3
+ import { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';
4
+
8
5
  import { ValueAtRiskConfig } from './types';
9
6
  import { translations } from '../translations';
10
7
  import { ToolWithData } from './ToolWithData';
@@ -28,31 +25,29 @@ const ValueAtRiskWidget = ({
28
25
  const isWidget = !!instrument && !!duration && !!bars;
29
26
 
30
27
  return (
31
- <ThemeProvider theme={theme}>
32
- <LocaleProvider locale={getLocale(locale)} translations={translations}>
33
- <ApolloProvider client={client}>
34
- {isParamError && (
35
- <div className="lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary">
36
- <ChartError />
37
- </div>
38
- )}
39
-
40
- { !isParamError && renderComponent({
41
- logoLink,
42
- linkArea: 'logo',
43
- Component: isWidget ? (
44
- <Widget
45
- division={division}
46
- instrument={instrument}
47
- duration={duration}
48
- bars={bars}
49
- />
50
- ) : <ToolWithData division={division} />,
51
- }) }
52
-
53
- </ApolloProvider>
54
- </LocaleProvider>
55
- </ThemeProvider>
28
+ <WidgetProvider
29
+ locale={locale}
30
+ translations={translations}
31
+ client={client}
32
+ theme={theme}
33
+ >
34
+ <WidgetWrapper
35
+ logoLink={logoLink}
36
+ linkArea="logo"
37
+ isParamError={isParamError}
38
+ >
39
+ {
40
+ isWidget ? (
41
+ <Widget
42
+ division={division}
43
+ instrument={instrument}
44
+ duration={duration}
45
+ bars={bars}
46
+ />
47
+ ) : <ToolWithData division={division} />
48
+ }
49
+ </WidgetWrapper>
50
+ </WidgetProvider>
56
51
  );
57
52
  };
58
53