@oanda/labs-value-at-risk-widget 1.0.65 → 1.0.66
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 +268 -0
- package/dist/main/ValueAtRiskWidget/ChartWithData.js +5 -5
- package/dist/main/ValueAtRiskWidget/ChartWithData.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/Tool.js +12 -12
- package/dist/main/ValueAtRiskWidget/Tool.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/ToolWithData.js +3 -3
- package/dist/main/ValueAtRiskWidget/ToolWithData.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/ValueAtRiskWidget.js +8 -8
- package/dist/main/ValueAtRiskWidget/ValueAtRiskWidget.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/Widget.js +6 -6
- package/dist/main/ValueAtRiskWidget/Widget.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Chart/Chart.js +10 -10
- package/dist/main/ValueAtRiskWidget/components/Chart/Chart.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Chart/getOption.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Chart/types.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/DashedLine.js +6 -6
- package/dist/main/ValueAtRiskWidget/components/Legend/DashedLine.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/DesktopLegend.js +3 -3
- package/dist/main/ValueAtRiskWidget/components/Legend/DesktopLegend.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/Legend.js +11 -11
- package/dist/main/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/MobileLegend.js +5 -5
- package/dist/main/ValueAtRiskWidget/components/Legend/MobileLegend.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/constants.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/types.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/render.js +9 -9
- package/dist/main/ValueAtRiskWidget/render.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/types.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/utils.js.map +1 -1
- package/dist/main/gql/getValueAtRiskAssetClasses.js +1 -1
- package/dist/main/gql/getValueAtRiskAssetClasses.js.map +1 -1
- package/dist/main/gql/getValueAtRiskChart.js +12 -2
- package/dist/main/gql/getValueAtRiskChart.js.map +1 -1
- package/dist/main/gql/types/fragment-masking.js.map +1 -1
- package/dist/main/gql/types/gql.js +2 -2
- package/dist/main/gql/types/gql.js.map +1 -1
- package/dist/main/gql/types/graphql.js +241 -241
- package/dist/main/gql/types/graphql.js.map +1 -1
- package/dist/main/gql/types/index.js.map +1 -1
- package/dist/main/translations/index.js +1 -1
- package/dist/main/translations/index.js.map +1 -1
- package/dist/main/translations/translations.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/ChartWithData.js +5 -5
- package/dist/module/ValueAtRiskWidget/ChartWithData.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/Tool.js +12 -12
- package/dist/module/ValueAtRiskWidget/Tool.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/ToolWithData.js +3 -3
- package/dist/module/ValueAtRiskWidget/ToolWithData.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/ValueAtRiskWidget.js +8 -8
- package/dist/module/ValueAtRiskWidget/ValueAtRiskWidget.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/Widget.js +6 -6
- package/dist/module/ValueAtRiskWidget/Widget.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/Chart.js +8 -8
- package/dist/module/ValueAtRiskWidget/components/Chart/Chart.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/getOption.js +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/getOption.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/types.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/DashedLine.js +6 -6
- package/dist/module/ValueAtRiskWidget/components/Legend/DashedLine.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/DesktopLegend.js +3 -3
- package/dist/module/ValueAtRiskWidget/components/Legend/DesktopLegend.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js +11 -11
- package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/MobileLegend.js +5 -5
- package/dist/module/ValueAtRiskWidget/components/Legend/MobileLegend.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/constants.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/types.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/render.js +9 -9
- package/dist/module/ValueAtRiskWidget/render.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/types.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/utils.js +1 -1
- package/dist/module/ValueAtRiskWidget/utils.js.map +1 -1
- package/dist/module/gql/getValueAtRiskAssetClasses.js +1 -1
- package/dist/module/gql/getValueAtRiskAssetClasses.js.map +1 -1
- package/dist/module/gql/getValueAtRiskChart.js +12 -2
- package/dist/module/gql/getValueAtRiskChart.js.map +1 -1
- package/dist/module/gql/types/fragment-masking.js.map +1 -1
- package/dist/module/gql/types/gql.js +2 -2
- package/dist/module/gql/types/gql.js.map +1 -1
- package/dist/module/gql/types/graphql.js +241 -241
- package/dist/module/gql/types/graphql.js.map +1 -1
- package/dist/module/gql/types/index.js +2 -2
- package/dist/module/gql/types/index.js.map +1 -1
- package/dist/module/translations/index.js +1 -1
- package/dist/module/translations/index.js.map +1 -1
- package/dist/module/translations/translations.js.map +1 -1
- package/dist/types/ValueAtRiskWidget/ChartWithData.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/Tool.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/ToolWithData.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/ValueAtRiskWidget.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/Widget.d.ts +2 -2
- package/dist/types/ValueAtRiskWidget/components/Chart/Chart.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/components/Chart/getOption.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/components/Chart/types.d.ts +2 -2
- package/dist/types/ValueAtRiskWidget/components/Legend/DashedLine.d.ts +2 -2
- package/dist/types/ValueAtRiskWidget/components/Legend/DesktopLegend.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/components/Legend/Legend.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/components/Legend/MobileLegend.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/components/Legend/constants.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/components/Legend/types.d.ts +1 -1
- package/dist/types/ValueAtRiskWidget/types.d.ts +2 -2
- package/dist/types/ValueAtRiskWidget/utils.d.ts +2 -2
- package/dist/types/gql/types/gql.d.ts +4 -4
- package/dist/types/gql/types/index.d.ts +2 -2
- package/dist/types/translations/index.d.ts +2 -2
- package/package.json +3 -3
- package/src/ValueAtRiskWidget/ChartWithData.tsx +45 -26
- package/src/ValueAtRiskWidget/Tool.tsx +42 -28
- package/src/ValueAtRiskWidget/ToolWithData.tsx +29 -23
- package/src/ValueAtRiskWidget/ValueAtRiskWidget.tsx +16 -16
- package/src/ValueAtRiskWidget/Widget.tsx +7 -11
- package/src/ValueAtRiskWidget/components/Chart/Chart.tsx +20 -19
- package/src/ValueAtRiskWidget/components/Chart/getOption.ts +4 -4
- package/src/ValueAtRiskWidget/components/Chart/types.ts +4 -3
- package/src/ValueAtRiskWidget/components/Legend/DashedLine.tsx +18 -8
- package/src/ValueAtRiskWidget/components/Legend/DesktopLegend.tsx +28 -19
- package/src/ValueAtRiskWidget/components/Legend/Legend.tsx +11 -14
- package/src/ValueAtRiskWidget/components/Legend/MobileLegend.tsx +40 -22
- package/src/ValueAtRiskWidget/components/Legend/constants.tsx +1 -1
- package/src/ValueAtRiskWidget/components/Legend/types.tsx +9 -9
- package/src/ValueAtRiskWidget/render.tsx +22 -24
- package/src/ValueAtRiskWidget/types.ts +7 -3
- package/src/ValueAtRiskWidget/utils.ts +18 -10
- package/src/gql/getValueAtRiskAssetClasses.ts +1 -1
- package/src/gql/getValueAtRiskChart.ts +12 -2
- package/src/gql/types/fragment-masking.ts +41 -21
- package/src/gql/types/gql.ts +12 -5
- package/src/gql/types/graphql.ts +339 -47
- package/src/gql/types/index.ts +2 -2
- package/src/translations/index.ts +4 -4
- package/src/translations/translations.ts +1 -3
- package/test/ChartWithData.test.tsx +21 -13
- package/test/Tool.test.tsx +35 -21
- package/test/ToolWithData.test.tsx +18 -7
- package/test/Widget.test.tsx +13 -8
- package/test/getPercentValueByPips.test.ts +15 -3
- package/test/mocks/assetClassesMock.ts +1 -3
- package/test/mocks/responsesMocks.ts +6 -2
- package/test/utils.test.ts +14 -7
|
@@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Chart = void 0;
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var echarts = _interopRequireWildcard(require("echarts/core"));
|
|
7
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _monoI18n = require("@oanda/mono-i18n");
|
|
10
9
|
var _charts = require("echarts/charts");
|
|
11
|
-
var _renderers = require("echarts/renderers");
|
|
12
10
|
var _components = require("echarts/components");
|
|
13
|
-
var
|
|
14
|
-
var
|
|
11
|
+
var echarts = _interopRequireWildcard(require("echarts/core"));
|
|
12
|
+
var _renderers = require("echarts/renderers");
|
|
13
|
+
var _core2 = _interopRequireDefault(require("echarts-for-react/lib/core"));
|
|
14
|
+
var _react = _interopRequireDefault(require("react"));
|
|
15
15
|
var _constants = require("./constants");
|
|
16
16
|
var _getOption = require("./getOption");
|
|
17
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
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); }
|
|
18
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; }
|
|
19
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
20
20
|
echarts.use([_components.GridSimpleComponent, _components.GraphicComponent, _components.TitleComponent, _charts.LineChart, _renderers.CanvasRenderer, _components.DatasetComponent, _components.VisualMapComponent, _charts.CustomChart, _components.MarkLineComponent, _components.MarkPointComponent, _components.AxisPointerComponent]);
|
|
21
21
|
echarts.registerTheme('dark_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Dark));
|
|
22
22
|
echarts.registerTheme('light_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Light));
|
|
@@ -32,14 +32,14 @@ const Chart = _ref => {
|
|
|
32
32
|
size
|
|
33
33
|
} = (0, _labsWidgetCommon.useLayoutProvider)();
|
|
34
34
|
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
35
|
-
return _react.default.createElement(
|
|
35
|
+
return _react.default.createElement(_core2.default, {
|
|
36
36
|
echarts: echarts,
|
|
37
|
-
|
|
37
|
+
option: (0, _getOption.getOption)(values, lang, isDark, isDesktop),
|
|
38
38
|
style: {
|
|
39
39
|
height: `${_constants.CHART_HEIGHT}px`,
|
|
40
40
|
width: '100%'
|
|
41
41
|
},
|
|
42
|
-
|
|
42
|
+
theme: isDark ? 'dark_theme' : 'light_theme'
|
|
43
43
|
});
|
|
44
44
|
};
|
|
45
45
|
exports.Chart = Chart;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chart.js","names":["
|
|
1
|
+
{"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_core2","_interopRequireDefault","_react","_constants","_getOption","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","use","GridSimpleComponent","GraphicComponent","TitleComponent","LineChart","CanvasRenderer","DatasetComponent","VisualMapComponent","CustomChart","MarkLineComponent","MarkPointComponent","AxisPointerComponent","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","values","lang","useLocale","isDark","size","useLayoutProvider","isDesktop","Size","DESKTOP","createElement","option","getOption","style","height","CHART_HEIGHT","width","theme","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { CustomChart, LineChart } from 'echarts/charts';\nimport {\n AxisPointerComponent,\n DatasetComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n MarkPointComponent,\n TitleComponent,\n VisualMapComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport ReactEChartsCore from 'echarts-for-react/lib/core';\nimport React from 'react';\n\nimport { CHART_HEIGHT } from './constants';\nimport { getOption } from './getOption';\nimport type { 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 option={getOption(values, lang, isDark, isDesktop)}\n style={{\n height: `${CHART_HEIGHT}px`,\n width: '100%',\n }}\n theme={isDark ? 'dark_theme' : 'light_theme'}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_constants","_getPercentValueByPips","getOption","values","lang","isDark","isDesktop","gridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT","xLabelsSize","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","yLabelSize","Y_LABEL_SIZE_MOBILE","yLabelMarinTop","TITLE_HEIGHT","down","up","valueAtRiskChart","points","sort","a","b","pips","map","point","percent","maxDown","Math","max","minUp","min","animation","title","left","top","text","textStyle","fontWeight","fontSize","xAxis","type","name","toUpperCase","nameLocation","splitNumber","nameGap","axisLine","show","axisTick","axisLabel","padding","margin","showMaxLabel","showMinLabel","hideOverlap","formatter","value","toFixed","axisPointer","label","_ref","yAxis","inverse","nameRotate","position","rich","index","precision","visualMap","dimension","pieces","lt","average","color","colorPalette","orange","raspberryLight","colorAlpha","gte","median","bottleGreenDark","greenLight","series","symbol","areaStyle","origin","opacity","lineStyle","emphasis","disabled","data","markLine","silent","white","width","threshold","darkTheme","borderPrimary","lightTheme","markPoint","itemStyle","borderWidth","borderColor","getPercentValueByPips","symbolSize","gold","turquoiseLight","violetLight","grid","right","bottom","graphic","getLineCommons","shape","x1","y1","x2","y2","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n darkTheme,\n getGridLines,\n getLineCommons,\n lightTheme,\n} from '@oanda/labs-widget-common';\nimport {\n CHART_WIDTH,\n CHART_HEIGHT,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n TITLE_HEIGHT,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport { GetOptionType } from './types';\nimport { getPercentValueByPips } from './getPercentValueByPips';\n\nexport const getOption: GetOptionType = (values, lang, isDark, isDesktop) => {\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE - Y_LABEL_SIZE_DESKTOP,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n yLabelMarinTop: isDesktop ? 0 : TITLE_HEIGHT,\n });\n\n const { down, up } = values!.valueAtRiskChart!;\n\n const points = [...up.points!, ...down.points!]\n .sort((a, b) => a.pips - b.pips)\n .map((point) => [point.pips, point.percent * 100]);\n\n const maxDown = Math.max(...down.points!.map((point) => point.pips));\n const minUp = Math.min(...up.points!.map((point) => point.pips));\n\n return {\n animation: false,\n title: {\n left: 16,\n top: 10,\n text: lang('daily'),\n textStyle: {\n fontWeight: 500,\n fontSize: 20,\n },\n },\n xAxis: {\n type: 'value',\n name: lang('pips').toUpperCase(),\n nameLocation: 'middle',\n splitNumber: isDesktop ? 8 : 4,\n nameGap: 32,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n padding: 0,\n margin: 12,\n showMaxLabel: false,\n showMinLabel: false,\n hideOverlap: true,\n formatter: (value) => value.toFixed(),\n },\n axisPointer: {\n label: {\n margin: 7,\n formatter: ({ value }) => (value as number).toFixed(),\n },\n },\n },\n yAxis: {\n name: lang('distribution').toUpperCase(),\n type: 'value',\n inverse: true,\n nameLocation: 'middle',\n nameGap: isDesktop ? 40 : 30,\n nameRotate: -90,\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n padding: 0,\n margin: isDesktop ? 12 : 4,\n rich: {\n a: {\n padding: isDesktop ? [0, 0, 0, 0] : [20, 0, 0, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}%` : `{a|${value}%}`),\n\n },\n axisPointer: {\n label: {\n precision: 0,\n padding: isDesktop ? [4, 10, 4, 10] : 4,\n formatter: '{value}%',\n },\n },\n },\n axisPointer: {\n show: true,\n type: 'line',\n },\n visualMap: {\n type: 'piecewise',\n show: false,\n dimension: 0,\n pieces: [\n {\n lt: down.average,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.5,\n },\n {\n gte: down.average,\n lt: down.median,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.6,\n },\n {\n gte: down.median,\n lt: maxDown,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.75,\n },\n {\n gte: minUp,\n lt: up.median,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.75,\n },\n {\n gte: up.median,\n lt: up.average,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.6,\n },\n {\n gte: up.average,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.5,\n },\n ],\n },\n series: [\n {\n name: 'main',\n type: 'line',\n symbol: 'none',\n areaStyle: {\n origin: 'end',\n opacity: 1,\n },\n lineStyle: {\n opacity: 1,\n },\n emphasis: {\n disabled: true,\n },\n data: points,\n markLine: {\n silent: true,\n symbol: ['none', 'none'],\n label: {\n show: false,\n },\n lineStyle: {\n color: isDark ? colorPalette.white : colorPalette.bottleGreenDark,\n width: 1,\n },\n data: [\n {\n xAxis: down.median,\n lineStyle: {\n type: [2, 2],\n },\n },\n {\n xAxis: down.average,\n lineStyle: {\n type: [4, 5],\n },\n },\n {\n xAxis: down.threshold,\n lineStyle: {\n type: [6, 2],\n },\n },\n {\n xAxis: down.max,\n lineStyle: {\n type: 'solid',\n color: isDark\n ? darkTheme.borderPrimary\n : lightTheme.borderPrimary,\n },\n },\n {\n xAxis: up.median,\n lineStyle: {\n type: [2, 2],\n },\n },\n {\n xAxis: up.average,\n lineStyle: {\n type: [4, 5],\n },\n },\n {\n xAxis: up.threshold,\n lineStyle: {\n type: [6, 2],\n },\n },\n {\n xAxis: up.max,\n lineStyle: {\n type: 'solid',\n color: isDark\n ? darkTheme.borderPrimary\n : lightTheme.borderPrimary,\n },\n },\n ],\n },\n markPoint: {\n animation: false,\n silent: true,\n itemStyle: {\n borderWidth: 1,\n borderColor: colorPalette.white,\n },\n label: {\n show: false,\n },\n data: [\n {\n name: 'Mark point Down average',\n xAxis: down.average,\n yAxis: getPercentValueByPips(down.average, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.gold,\n },\n },\n {\n name: 'Mark point Down median',\n xAxis: down.median,\n yAxis: getPercentValueByPips(down.median, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.turquoiseLight,\n },\n },\n {\n name: 'Mark point Down threshold',\n xAxis: down.threshold,\n yAxis: getPercentValueByPips(down.threshold, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.violetLight,\n },\n },\n {\n name: 'Mark point up average',\n xAxis: up.average,\n yAxis: getPercentValueByPips(up.average, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.gold,\n },\n },\n {\n name: 'Mark point up median',\n xAxis: up.median,\n yAxis: getPercentValueByPips(up.median, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.turquoiseLight,\n },\n },\n {\n name: 'Mark point up threshold',\n xAxis: up.threshold,\n yAxis: getPercentValueByPips(up.threshold, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.violetLight,\n },\n },\n ],\n },\n },\n ],\n grid: [\n {\n name: 'main-grid',\n top: `${TITLE_HEIGHT}px`,\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...gridLines,\n {\n ...getLineCommons(isDark),\n top: TITLE_HEIGHT - 2,\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: isDesktop ? 0 : Y_LABEL_SIZE_MOBILE,\n y2: 0,\n },\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_constants","_getPercentValueByPips","getOption","values","lang","isDark","isDesktop","gridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT","xLabelsSize","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","yLabelSize","Y_LABEL_SIZE_MOBILE","yLabelMarinTop","TITLE_HEIGHT","down","up","valueAtRiskChart","points","sort","a","b","pips","map","point","percent","maxDown","Math","max","minUp","min","animation","title","left","top","text","textStyle","fontWeight","fontSize","xAxis","type","name","toUpperCase","nameLocation","splitNumber","nameGap","axisLine","show","axisTick","axisLabel","padding","margin","showMaxLabel","showMinLabel","hideOverlap","formatter","value","toFixed","axisPointer","label","_ref","yAxis","inverse","nameRotate","position","rich","index","precision","visualMap","dimension","pieces","lt","average","color","colorPalette","orange","raspberryLight","colorAlpha","gte","median","bottleGreenDark","greenLight","series","symbol","areaStyle","origin","opacity","lineStyle","emphasis","disabled","data","markLine","silent","white","width","threshold","darkTheme","borderPrimary","lightTheme","markPoint","itemStyle","borderWidth","borderColor","getPercentValueByPips","symbolSize","gold","turquoiseLight","violetLight","grid","right","bottom","graphic","getLineCommons","shape","x1","y1","x2","y2","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n darkTheme,\n getGridLines,\n getLineCommons,\n lightTheme,\n} from '@oanda/labs-widget-common';\n\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n TITLE_HEIGHT,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport { getPercentValueByPips } from './getPercentValueByPips';\nimport type { GetOptionType } from './types';\n\nexport const getOption: GetOptionType = (values, lang, isDark, isDesktop) => {\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE - Y_LABEL_SIZE_DESKTOP,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n yLabelMarinTop: isDesktop ? 0 : TITLE_HEIGHT,\n });\n\n const { down, up } = values!.valueAtRiskChart!;\n\n const points = [...up.points!, ...down.points!]\n .sort((a, b) => a.pips - b.pips)\n .map((point) => [point.pips, point.percent * 100]);\n\n const maxDown = Math.max(...down.points!.map((point) => point.pips));\n const minUp = Math.min(...up.points!.map((point) => point.pips));\n\n return {\n animation: false,\n title: {\n left: 16,\n top: 10,\n text: lang('daily'),\n textStyle: {\n fontWeight: 500,\n fontSize: 20,\n },\n },\n xAxis: {\n type: 'value',\n name: lang('pips').toUpperCase(),\n nameLocation: 'middle',\n splitNumber: isDesktop ? 8 : 4,\n nameGap: 32,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n padding: 0,\n margin: 12,\n showMaxLabel: false,\n showMinLabel: false,\n hideOverlap: true,\n formatter: (value) => value.toFixed(),\n },\n axisPointer: {\n label: {\n margin: 7,\n formatter: ({ value }) => (value as number).toFixed(),\n },\n },\n },\n yAxis: {\n name: lang('distribution').toUpperCase(),\n type: 'value',\n inverse: true,\n nameLocation: 'middle',\n nameGap: isDesktop ? 40 : 30,\n nameRotate: -90,\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n padding: 0,\n margin: isDesktop ? 12 : 4,\n rich: {\n a: {\n padding: isDesktop ? [0, 0, 0, 0] : [20, 0, 0, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}%` : `{a|${value}%}`),\n },\n axisPointer: {\n label: {\n precision: 0,\n padding: isDesktop ? [4, 10, 4, 10] : 4,\n formatter: '{value}%',\n },\n },\n },\n axisPointer: {\n show: true,\n type: 'line',\n },\n visualMap: {\n type: 'piecewise',\n show: false,\n dimension: 0,\n pieces: [\n {\n lt: down.average,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.5,\n },\n {\n gte: down.average,\n lt: down.median,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.6,\n },\n {\n gte: down.median,\n lt: maxDown,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.75,\n },\n {\n gte: minUp,\n lt: up.median,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.75,\n },\n {\n gte: up.median,\n lt: up.average,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.6,\n },\n {\n gte: up.average,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.5,\n },\n ],\n },\n series: [\n {\n name: 'main',\n type: 'line',\n symbol: 'none',\n areaStyle: {\n origin: 'end',\n opacity: 1,\n },\n lineStyle: {\n opacity: 1,\n },\n emphasis: {\n disabled: true,\n },\n data: points,\n markLine: {\n silent: true,\n symbol: ['none', 'none'],\n label: {\n show: false,\n },\n lineStyle: {\n color: isDark ? colorPalette.white : colorPalette.bottleGreenDark,\n width: 1,\n },\n data: [\n {\n xAxis: down.median,\n lineStyle: {\n type: [2, 2],\n },\n },\n {\n xAxis: down.average,\n lineStyle: {\n type: [4, 5],\n },\n },\n {\n xAxis: down.threshold,\n lineStyle: {\n type: [6, 2],\n },\n },\n {\n xAxis: down.max,\n lineStyle: {\n type: 'solid',\n color: isDark\n ? darkTheme.borderPrimary\n : lightTheme.borderPrimary,\n },\n },\n {\n xAxis: up.median,\n lineStyle: {\n type: [2, 2],\n },\n },\n {\n xAxis: up.average,\n lineStyle: {\n type: [4, 5],\n },\n },\n {\n xAxis: up.threshold,\n lineStyle: {\n type: [6, 2],\n },\n },\n {\n xAxis: up.max,\n lineStyle: {\n type: 'solid',\n color: isDark\n ? darkTheme.borderPrimary\n : lightTheme.borderPrimary,\n },\n },\n ],\n },\n markPoint: {\n animation: false,\n silent: true,\n itemStyle: {\n borderWidth: 1,\n borderColor: colorPalette.white,\n },\n label: {\n show: false,\n },\n data: [\n {\n name: 'Mark point Down average',\n xAxis: down.average,\n yAxis: getPercentValueByPips(down.average, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.gold,\n },\n },\n {\n name: 'Mark point Down median',\n xAxis: down.median,\n yAxis: getPercentValueByPips(down.median, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.turquoiseLight,\n },\n },\n {\n name: 'Mark point Down threshold',\n xAxis: down.threshold,\n yAxis: getPercentValueByPips(down.threshold, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.violetLight,\n },\n },\n {\n name: 'Mark point up average',\n xAxis: up.average,\n yAxis: getPercentValueByPips(up.average, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.gold,\n },\n },\n {\n name: 'Mark point up median',\n xAxis: up.median,\n yAxis: getPercentValueByPips(up.median, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.turquoiseLight,\n },\n },\n {\n name: 'Mark point up threshold',\n xAxis: up.threshold,\n yAxis: getPercentValueByPips(up.threshold, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.violetLight,\n },\n },\n ],\n },\n },\n ],\n grid: [\n {\n name: 'main-grid',\n top: `${TITLE_HEIGHT}px`,\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...gridLines,\n {\n ...getLineCommons(isDark),\n top: TITLE_HEIGHT - 2,\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: isDesktop ? 0 : Y_LABEL_SIZE_MOBILE,\n y2: 0,\n },\n },\n ],\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAQA,IAAAC,UAAA,GAAAD,OAAA;AAQA,IAAAE,sBAAA,GAAAF,OAAA;AAGO,MAAMG,SAAwB,GAAGA,CAACC,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEC,SAAS,KAAK;EAC3E,MAAMC,SAAS,GAAG,IAAAC,8BAAY,EAAC;IAC7BH,MAAM;IACNI,UAAU,EAAEC,sBAAW;IACvBC,WAAW,EAAEC,uBAAY;IACzBC,WAAW,EAAEC,uBAAY,GAAGC,+BAAoB;IAChDC,UAAU,EAAEV,SAAS,GAAGS,+BAAoB,GAAGE,8BAAmB;IAClEC,cAAc,EAAEZ,SAAS,GAAG,CAAC,GAAGa;EAClC,CAAC,CAAC;EAEF,MAAM;IAAEC,IAAI;IAAEC;EAAG,CAAC,GAAGlB,MAAM,CAAEmB,gBAAiB;EAE9C,MAAMC,MAAM,GAAG,CAAC,GAAGF,EAAE,CAACE,MAAO,EAAE,GAAGH,IAAI,CAACG,MAAO,CAAC,CAC5CC,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACE,IAAI,GAAGD,CAAC,CAACC,IAAI,CAAC,CAC/BC,GAAG,CAAEC,KAAK,IAAK,CAACA,KAAK,CAACF,IAAI,EAAEE,KAAK,CAACC,OAAO,GAAG,GAAG,CAAC,CAAC;EAEpD,MAAMC,OAAO,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAGb,IAAI,CAACG,MAAM,CAAEK,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACF,IAAI,CAAC,CAAC;EACpE,MAAMO,KAAK,GAAGF,IAAI,CAACG,GAAG,CAAC,GAAGd,EAAE,CAACE,MAAM,CAAEK,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACF,IAAI,CAAC,CAAC;EAEhE,OAAO;IACLS,SAAS,EAAE,KAAK;IAChBC,KAAK,EAAE;MACLC,IAAI,EAAE,EAAE;MACRC,GAAG,EAAE,EAAE;MACPC,IAAI,EAAEpC,IAAI,CAAC,OAAO,CAAC;MACnBqC,SAAS,EAAE;QACTC,UAAU,EAAE,GAAG;QACfC,QAAQ,EAAE;MACZ;IACF,CAAC;IACDC,KAAK,EAAE;MACLC,IAAI,EAAE,OAAO;MACbC,IAAI,EAAE1C,IAAI,CAAC,MAAM,CAAC,CAAC2C,WAAW,CAAC,CAAC;MAChCC,YAAY,EAAE,QAAQ;MACtBC,WAAW,EAAE3C,SAAS,GAAG,CAAC,GAAG,CAAC;MAC9B4C,OAAO,EAAE,EAAE;MACXC,QAAQ,EAAE;QAAEC,IAAI,EAAE;MAAM,CAAC;MACzBC,QAAQ,EAAE;QAAED,IAAI,EAAE;MAAM,CAAC;MACzBE,SAAS,EAAE;QACTC,OAAO,EAAE,CAAC;QACVC,MAAM,EAAE,EAAE;QACVC,YAAY,EAAE,KAAK;QACnBC,YAAY,EAAE,KAAK;QACnBC,WAAW,EAAE,IAAI;QACjBC,SAAS,EAAGC,KAAK,IAAKA,KAAK,CAACC,OAAO,CAAC;MACtC,CAAC;MACDC,WAAW,EAAE;QACXC,KAAK,EAAE;UACLR,MAAM,EAAE,CAAC;UACTI,SAAS,EAAEK,IAAA;YAAA,IAAC;cAAEJ;YAAM,CAAC,GAAAI,IAAA;YAAA,OAAMJ,KAAK,CAAYC,OAAO,CAAC,CAAC;UAAA;QACvD;MACF;IACF,CAAC;IACDI,KAAK,EAAE;MACLpB,IAAI,EAAE1C,IAAI,CAAC,cAAc,CAAC,CAAC2C,WAAW,CAAC,CAAC;MACxCF,IAAI,EAAE,OAAO;MACbsB,OAAO,EAAE,IAAI;MACbnB,YAAY,EAAE,QAAQ;MACtBE,OAAO,EAAE5C,SAAS,GAAG,EAAE,GAAG,EAAE;MAC5B8D,UAAU,EAAE,CAAC,EAAE;MACfC,QAAQ,EAAE,OAAO;MACjBlB,QAAQ,EAAE;QAAEC,IAAI,EAAE;MAAM,CAAC;MACzBC,QAAQ,EAAE;QAAED,IAAI,EAAE;MAAM,CAAC;MACzBE,SAAS,EAAE;QACTC,OAAO,EAAE,CAAC;QACVC,MAAM,EAAElD,SAAS,GAAG,EAAE,GAAG,CAAC;QAC1BgE,IAAI,EAAE;UACJ7C,CAAC,EAAE;YACD8B,OAAO,EAAEjD,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;UAClD;QACF,CAAC;QACDsD,SAAS,EAAEA,CAACC,KAAK,EAAEU,KAAK,KAAMA,KAAK,GAAG,GAAGV,KAAK,GAAG,GAAG,MAAMA,KAAK;MACjE,CAAC;MACDE,WAAW,EAAE;QACXC,KAAK,EAAE;UACLQ,SAAS,EAAE,CAAC;UACZjB,OAAO,EAAEjD,SAAS,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC;UACvCsD,SAAS,EAAE;QACb;MACF;IACF,CAAC;IACDG,WAAW,EAAE;MACXX,IAAI,EAAE,IAAI;MACVP,IAAI,EAAE;IACR,CAAC;IACD4B,SAAS,EAAE;MACT5B,IAAI,EAAE,WAAW;MACjBO,IAAI,EAAE,KAAK;MACXsB,SAAS,EAAE,CAAC;MACZC,MAAM,EAAE,CACN;QACEC,EAAE,EAAExD,IAAI,CAACyD,OAAO;QAChBC,KAAK,EAAEzE,MAAM,GAAG0E,8BAAY,CAACC,MAAM,GAAGD,8BAAY,CAACE,cAAc;QACjEC,UAAU,EAAE;MACd,CAAC,EACD;QACEC,GAAG,EAAE/D,IAAI,CAACyD,OAAO;QACjBD,EAAE,EAAExD,IAAI,CAACgE,MAAM;QACfN,KAAK,EAAEzE,MAAM,GAAG0E,8BAAY,CAACC,MAAM,GAAGD,8BAAY,CAACE,cAAc;QACjEC,UAAU,EAAE;MACd,CAAC,EACD;QACEC,GAAG,EAAE/D,IAAI,CAACgE,MAAM;QAChBR,EAAE,EAAE7C,OAAO;QACX+C,KAAK,EAAEzE,MAAM,GAAG0E,8BAAY,CAACC,MAAM,GAAGD,8BAAY,CAACE,cAAc;QACjEC,UAAU,EAAE;MACd,CAAC,EACD;QACEC,GAAG,EAAEjD,KAAK;QACV0C,EAAE,EAAEvD,EAAE,CAAC+D,MAAM;QACbN,KAAK,EAAEzE,MAAM,GACT0E,8BAAY,CAACM,eAAe,GAC5BN,8BAAY,CAACO,UAAU;QAC3BJ,UAAU,EAAE;MACd,CAAC,EACD;QACEC,GAAG,EAAE9D,EAAE,CAAC+D,MAAM;QACdR,EAAE,EAAEvD,EAAE,CAACwD,OAAO;QACdC,KAAK,EAAEzE,MAAM,GACT0E,8BAAY,CAACM,eAAe,GAC5BN,8BAAY,CAACO,UAAU;QAC3BJ,UAAU,EAAE;MACd,CAAC,EACD;QACEC,GAAG,EAAE9D,EAAE,CAACwD,OAAO;QACfC,KAAK,EAAEzE,MAAM,GACT0E,8BAAY,CAACM,eAAe,GAC5BN,8BAAY,CAACO,UAAU;QAC3BJ,UAAU,EAAE;MACd,CAAC;IAEL,CAAC;IACDK,MAAM,EAAE,CACN;MACEzC,IAAI,EAAE,MAAM;MACZD,IAAI,EAAE,MAAM;MACZ2C,MAAM,EAAE,MAAM;MACdC,SAAS,EAAE;QACTC,MAAM,EAAE,KAAK;QACbC,OAAO,EAAE;MACX,CAAC;MACDC,SAAS,EAAE;QACTD,OAAO,EAAE;MACX,CAAC;MACDE,QAAQ,EAAE;QACRC,QAAQ,EAAE;MACZ,CAAC;MACDC,IAAI,EAAExE,MAAM;MACZyE,QAAQ,EAAE;QACRC,MAAM,EAAE,IAAI;QACZT,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACxBxB,KAAK,EAAE;UACLZ,IAAI,EAAE;QACR,CAAC;QACDwC,SAAS,EAAE;UACTd,KAAK,EAAEzE,MAAM,GAAG0E,8BAAY,CAACmB,KAAK,GAAGnB,8BAAY,CAACM,eAAe;UACjEc,KAAK,EAAE;QACT,CAAC;QACDJ,IAAI,EAAE,CACJ;UACEnD,KAAK,EAAExB,IAAI,CAACgE,MAAM;UAClBQ,SAAS,EAAE;YACT/C,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;UACb;QACF,CAAC,EACD;UACED,KAAK,EAAExB,IAAI,CAACyD,OAAO;UACnBe,SAAS,EAAE;YACT/C,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;UACb;QACF,CAAC,EACD;UACED,KAAK,EAAExB,IAAI,CAACgF,SAAS;UACrBR,SAAS,EAAE;YACT/C,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;UACb;QACF,CAAC,EACD;UACED,KAAK,EAAExB,IAAI,CAACa,GAAG;UACf2D,SAAS,EAAE;YACT/C,IAAI,EAAE,OAAO;YACbiC,KAAK,EAAEzE,MAAM,GACTgG,2BAAS,CAACC,aAAa,GACvBC,4BAAU,CAACD;UACjB;QACF,CAAC,EACD;UACE1D,KAAK,EAAEvB,EAAE,CAAC+D,MAAM;UAChBQ,SAAS,EAAE;YACT/C,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;UACb;QACF,CAAC,EACD;UACED,KAAK,EAAEvB,EAAE,CAACwD,OAAO;UACjBe,SAAS,EAAE;YACT/C,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;UACb;QACF,CAAC,EACD;UACED,KAAK,EAAEvB,EAAE,CAAC+E,SAAS;UACnBR,SAAS,EAAE;YACT/C,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;UACb;QACF,CAAC,EACD;UACED,KAAK,EAAEvB,EAAE,CAACY,GAAG;UACb2D,SAAS,EAAE;YACT/C,IAAI,EAAE,OAAO;YACbiC,KAAK,EAAEzE,MAAM,GACTgG,2BAAS,CAACC,aAAa,GACvBC,4BAAU,CAACD;UACjB;QACF,CAAC;MAEL,CAAC;MACDE,SAAS,EAAE;QACTpE,SAAS,EAAE,KAAK;QAChB6D,MAAM,EAAE,IAAI;QACZQ,SAAS,EAAE;UACTC,WAAW,EAAE,CAAC;UACdC,WAAW,EAAE5B,8BAAY,CAACmB;QAC5B,CAAC;QACDlC,KAAK,EAAE;UACLZ,IAAI,EAAE;QACR,CAAC;QACD2C,IAAI,EAAE,CACJ;UACEjD,IAAI,EAAE,yBAAyB;UAC/BF,KAAK,EAAExB,IAAI,CAACyD,OAAO;UACnBX,KAAK,EAAE,IAAA0C,4CAAqB,EAACxF,IAAI,CAACyD,OAAO,EAAEtD,MAAM,CAAC;UAClDiE,MAAM,EAAE,QAAQ;UAChBqB,UAAU,EAAE,CAAC;UACbJ,SAAS,EAAE;YACT3B,KAAK,EAAEC,8BAAY,CAAC+B;UACtB;QACF,CAAC,EACD;UACEhE,IAAI,EAAE,wBAAwB;UAC9BF,KAAK,EAAExB,IAAI,CAACgE,MAAM;UAClBlB,KAAK,EAAE,IAAA0C,4CAAqB,EAACxF,IAAI,CAACgE,MAAM,EAAE7D,MAAM,CAAC;UACjDiE,MAAM,EAAE,QAAQ;UAChBqB,UAAU,EAAE,CAAC;UACbJ,SAAS,EAAE;YACT3B,KAAK,EAAEC,8BAAY,CAACgC;UACtB;QACF,CAAC,EACD;UACEjE,IAAI,EAAE,2BAA2B;UACjCF,KAAK,EAAExB,IAAI,CAACgF,SAAS;UACrBlC,KAAK,EAAE,IAAA0C,4CAAqB,EAACxF,IAAI,CAACgF,SAAS,EAAE7E,MAAM,CAAC;UACpDiE,MAAM,EAAE,QAAQ;UAChBqB,UAAU,EAAE,CAAC;UACbJ,SAAS,EAAE;YACT3B,KAAK,EAAEC,8BAAY,CAACiC;UACtB;QACF,CAAC,EACD;UACElE,IAAI,EAAE,uBAAuB;UAC7BF,KAAK,EAAEvB,EAAE,CAACwD,OAAO;UACjBX,KAAK,EAAE,IAAA0C,4CAAqB,EAACvF,EAAE,CAACwD,OAAO,EAAEtD,MAAM,CAAC;UAChDiE,MAAM,EAAE,WAAW;UACnBqB,UAAU,EAAE,CAAC;UACbJ,SAAS,EAAE;YACT3B,KAAK,EAAEC,8BAAY,CAAC+B;UACtB;QACF,CAAC,EACD;UACEhE,IAAI,EAAE,sBAAsB;UAC5BF,KAAK,EAAEvB,EAAE,CAAC+D,MAAM;UAChBlB,KAAK,EAAE,IAAA0C,4CAAqB,EAACvF,EAAE,CAAC+D,MAAM,EAAE7D,MAAM,CAAC;UAC/CiE,MAAM,EAAE,WAAW;UACnBqB,UAAU,EAAE,CAAC;UACbJ,SAAS,EAAE;YACT3B,KAAK,EAAEC,8BAAY,CAACgC;UACtB;QACF,CAAC,EACD;UACEjE,IAAI,EAAE,yBAAyB;UAC/BF,KAAK,EAAEvB,EAAE,CAAC+E,SAAS;UACnBlC,KAAK,EAAE,IAAA0C,4CAAqB,EAACvF,EAAE,CAAC+E,SAAS,EAAE7E,MAAM,CAAC;UAClDiE,MAAM,EAAE,WAAW;UACnBqB,UAAU,EAAE,CAAC;UACbJ,SAAS,EAAE;YACT3B,KAAK,EAAEC,8BAAY,CAACiC;UACtB;QACF,CAAC;MAEL;IACF,CAAC,CACF;IACDC,IAAI,EAAE,CACJ;MACEnE,IAAI,EAAE,WAAW;MACjBP,GAAG,EAAE,GAAGpB,uBAAY,IAAI;MACxBmB,IAAI,EAAE,KAAK;MACX4E,KAAK,EAAE,GAAG5G,SAAS,GAAGS,+BAAoB,GAAGE,8BAAmB,IAAI;MACpEkG,MAAM,EAAE,GAAGrG,uBAAY;IACzB,CAAC,CACF;IACDsG,OAAO,EAAE,CACP,GAAG7G,SAAS,EACZ;MACE,GAAG,IAAA8G,gCAAc,EAAChH,MAAM,CAAC;MACzBkC,GAAG,EAAEpB,uBAAY,GAAG,CAAC;MACrB+F,KAAK,EAAE,CAAC,CAAC;MACTI,KAAK,EAAE;QACLC,EAAE,EAAE,CAAC;QACLC,EAAE,EAAE,CAAC;QACLC,EAAE,EAAEnH,SAAS,GAAG,CAAC,GAAGW,8BAAmB;QACvCyG,EAAE,EAAE;MACN;IACF,CAAC;EAEL,CAAC;AACH,CAAC;AAACC,OAAA,CAAAzH,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/types.ts"],"sourcesContent":["import { EChartsOption } from 'echarts';\nimport { GetValueAtRiskChartQuery } from '../../../gql/types/graphql';\n\nexport interface ChartProps {\n values: GetValueAtRiskChartQuery;\n}\n\nexport type GetOptionType = (\n values: GetValueAtRiskChartQuery,\n lang: (label: string) => string,\n isDark: boolean,\n isDesktop: boolean
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { GetValueAtRiskChartQuery } from '../../../gql/types/graphql';\n\nexport interface ChartProps {\n values: GetValueAtRiskChartQuery;\n}\n\nexport type GetOptionType = (\n values: GetValueAtRiskChartQuery,\n lang: (label: string) => string,\n isDark: boolean,\n isDesktop: boolean\n) => EChartsOption;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DashedLine = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
10
|
const DashedLine = _ref => {
|
|
11
11
|
let {
|
|
@@ -15,18 +15,18 @@ const DashedLine = _ref => {
|
|
|
15
15
|
} = _ref;
|
|
16
16
|
return _react.default.createElement("svg", {
|
|
17
17
|
className: "lw-inline",
|
|
18
|
-
|
|
18
|
+
fill: "none",
|
|
19
19
|
height: "2",
|
|
20
20
|
viewBox: `0 0 ${width} 2`,
|
|
21
|
-
|
|
21
|
+
width: width,
|
|
22
22
|
xmlns: "http://www.w3.org/2000/svg"
|
|
23
23
|
}, _react.default.createElement("line", {
|
|
24
24
|
stroke: isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.bottleGreenDark,
|
|
25
|
+
strokeDasharray: strokeDasharray,
|
|
25
26
|
x1: "0",
|
|
26
|
-
y1: "1",
|
|
27
27
|
x2: width,
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
y1: "1",
|
|
29
|
+
y2: "1"
|
|
30
30
|
}));
|
|
31
31
|
};
|
|
32
32
|
exports.DashedLine = DashedLine;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashedLine.js","names":["
|
|
1
|
+
{"version":3,"file":"DashedLine.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","e","__esModule","default","DashedLine","_ref","strokeDasharray","width","isDark","createElement","className","fill","height","viewBox","xmlns","stroke","colorPalette","white","bottleGreenDark","x1","x2","y1","y2","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/DashedLine.tsx"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport type { DashedLineProps } from './types';\n\nconst DashedLine = ({\n strokeDasharray,\n width = '30',\n isDark,\n}: DashedLineProps) => (\n <svg\n className=\"lw-inline\"\n fill=\"none\"\n height=\"2\"\n viewBox={`0 0 ${width} 2`}\n width={width}\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n stroke={isDark ? colorPalette.white : colorPalette.bottleGreenDark}\n strokeDasharray={strokeDasharray}\n x1=\"0\"\n x2={width}\n y1=\"1\"\n y2=\"1\"\n />\n </svg>\n);\n\nexport { DashedLine };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAA0B,SAAAE,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI1B,MAAMG,UAAU,GAAGC,IAAA;EAAA,IAAC;IAClBC,eAAe;IACfC,KAAK,GAAG,IAAI;IACZC;EACe,CAAC,GAAAH,IAAA;EAAA,OAChBN,MAAA,CAAAI,OAAA,CAAAM,aAAA;IACEC,SAAS,EAAC,WAAW;IACrBC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAC,GAAG;IACVC,OAAO,EAAE,OAAON,KAAK,IAAK;IAC1BA,KAAK,EAAEA,KAAM;IACbO,KAAK,EAAC;EAA4B,GAElCf,MAAA,CAAAI,OAAA,CAAAM,aAAA;IACEM,MAAM,EAAEP,MAAM,GAAGQ,8BAAY,CAACC,KAAK,GAAGD,8BAAY,CAACE,eAAgB;IACnEZ,eAAe,EAAEA,eAAgB;IACjCa,EAAE,EAAC,GAAG;IACNC,EAAE,EAAEb,KAAM;IACVc,EAAE,EAAC,GAAG;IACNC,EAAE,EAAC;EAAG,CACP,CACE,CAAC;AAAA,CACP;AAACC,OAAA,CAAAnB,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DesktopLegend = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
-
var
|
|
10
|
-
var _DashedLine = require("./DashedLine");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
9
|
var _constants = require("./constants");
|
|
10
|
+
var _DashedLine = require("./DashedLine");
|
|
11
|
+
var _types = require("./types");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const DesktopLegend = _ref => {
|
|
14
14
|
let {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DesktopLegend.js","names":["
|
|
1
|
+
{"version":3,"file":"DesktopLegend.js","names":["_classnames","_interopRequireDefault","require","_react","_constants","_DashedLine","_types","e","__esModule","default","DesktopLegend","_ref","data","lang","isDark","createElement","className","classnames","value","map","item","key","id","DataNames","MAX","MIN","DashedLine","strokeDasharray","lineTypes","AVERAGE","MEDIAN","THRESHOLD","label","toFixed","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/DesktopLegend.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React from 'react';\n\nimport { lineTypes } from './constants';\nimport { DashedLine } from './DashedLine';\nimport type { DesktopLegendProps } from './types';\nimport { DataNames } from './types';\n\nconst DesktopLegend = ({ data, lang, isDark }: DesktopLegendProps) => (\n <div\n className={classnames(\n 'lw-pointer-events-none lw-absolute lw-top-[50px] lw-z-10 lw-p-2 lw-text-xs',\n {\n 'lw-left-[6px]': data[0].value < 0,\n 'lw-right-[66px]': data[0].value > 0,\n 'lw-bg-border-primary': isDark,\n 'lw-bg-bg-primary lw-shadow': !isDark,\n }\n )}\n >\n {data.map((item) => (\n <div\n key={item.id}\n className={classnames('lw-flex lw-items-center', {\n '[&_line]:lw-stroke-border-disabled':\n item.id === DataNames.MAX || item.id === DataNames.MIN,\n })}\n >\n <DashedLine isDark={isDark} strokeDasharray={lineTypes[item.id]} />\n {item.id !== DataNames.MAX && item.id !== DataNames.MIN && (\n <div\n className={classnames(\n 'lw-ml-[-8px] lw-h-[8px] lw-w-[8px] lw-border-[1px] lw-border-white lw-bg-gold',\n {\n 'lw-rounded-full': item.value < 0,\n 'lw-bg-gold': item.id === DataNames.AVERAGE,\n 'lw-bg-turquoise-light': item.id === DataNames.MEDIAN,\n 'lw-bg-violet-light': item.id === DataNames.THRESHOLD,\n }\n )}\n />\n )}\n <span className=\"lw-px-2\">{`${item.label}:`}</span>\n <span className=\"lw-grow lw-text-right\">\n {`${item.value.toFixed()} ${lang('pips')}`}\n </span>\n </div>\n ))}\n </div>\n);\n\nexport { DesktopLegend };\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AAAoC,SAAAD,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpC,MAAMG,aAAa,GAAGC,IAAA;EAAA,IAAC;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAA2B,CAAC,GAAAH,IAAA;EAAA,OAC/DR,MAAA,CAAAM,OAAA,CAAAM,aAAA;IACEC,SAAS,EAAE,IAAAC,mBAAU,EACnB,6EAA6E,EAC7E;MACE,eAAe,EAAEL,IAAI,CAAC,CAAC,CAAC,CAACM,KAAK,GAAG,CAAC;MAClC,iBAAiB,EAAEN,IAAI,CAAC,CAAC,CAAC,CAACM,KAAK,GAAG,CAAC;MACpC,sBAAsB,EAAEJ,MAAM;MAC9B,4BAA4B,EAAE,CAACA;IACjC,CACF;EAAE,GAEDF,IAAI,CAACO,GAAG,CAAEC,IAAI,IACbjB,MAAA,CAAAM,OAAA,CAAAM,aAAA;IACEM,GAAG,EAAED,IAAI,CAACE,EAAG;IACbN,SAAS,EAAE,IAAAC,mBAAU,EAAC,yBAAyB,EAAE;MAC/C,oCAAoC,EAClCG,IAAI,CAACE,EAAE,KAAKC,gBAAS,CAACC,GAAG,IAAIJ,IAAI,CAACE,EAAE,KAAKC,gBAAS,CAACE;IACvD,CAAC;EAAE,GAEHtB,MAAA,CAAAM,OAAA,CAAAM,aAAA,CAACV,WAAA,CAAAqB,UAAU;IAACZ,MAAM,EAAEA,MAAO;IAACa,eAAe,EAAEC,oBAAS,CAACR,IAAI,CAACE,EAAE;EAAE,CAAE,CAAC,EAClEF,IAAI,CAACE,EAAE,KAAKC,gBAAS,CAACC,GAAG,IAAIJ,IAAI,CAACE,EAAE,KAAKC,gBAAS,CAACE,GAAG,IACrDtB,MAAA,CAAAM,OAAA,CAAAM,aAAA;IACEC,SAAS,EAAE,IAAAC,mBAAU,EACnB,+EAA+E,EAC/E;MACE,iBAAiB,EAAEG,IAAI,CAACF,KAAK,GAAG,CAAC;MACjC,YAAY,EAAEE,IAAI,CAACE,EAAE,KAAKC,gBAAS,CAACM,OAAO;MAC3C,uBAAuB,EAAET,IAAI,CAACE,EAAE,KAAKC,gBAAS,CAACO,MAAM;MACrD,oBAAoB,EAAEV,IAAI,CAACE,EAAE,KAAKC,gBAAS,CAACQ;IAC9C,CACF;EAAE,CACH,CACF,EACD5B,MAAA,CAAAM,OAAA,CAAAM,aAAA;IAAMC,SAAS,EAAC;EAAS,GAAE,GAAGI,IAAI,CAACY,KAAK,GAAU,CAAC,EACnD7B,MAAA,CAAAM,OAAA,CAAAM,aAAA;IAAMC,SAAS,EAAC;EAAuB,GACpC,GAAGI,IAAI,CAACF,KAAK,CAACe,OAAO,CAAC,CAAC,IAAIpB,IAAI,CAAC,MAAM,CAAC,EACpC,CACH,CACN,CACE,CAAC;AAAA,CACP;AAACqB,OAAA,CAAAxB,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Legend = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
9
8
|
var _monoI18n = require("@oanda/mono-i18n");
|
|
10
|
-
var
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
10
|
var _DesktopLegend = require("./DesktopLegend");
|
|
12
11
|
var _MobileLegend = require("./MobileLegend");
|
|
12
|
+
var _types = require("./types");
|
|
13
13
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
14
|
const Legend = _ref => {
|
|
15
15
|
let {
|
|
@@ -24,8 +24,6 @@ const Legend = _ref => {
|
|
|
24
24
|
} = (0, _monoI18n.useLocale)();
|
|
25
25
|
const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
|
|
26
26
|
return _react.default.createElement(_react.default.Fragment, null, isDesktop ? _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_DesktopLegend.DesktopLegend, {
|
|
27
|
-
isDark: isDark,
|
|
28
|
-
lang: lang,
|
|
29
27
|
data: [{
|
|
30
28
|
id: _types.DataNames.AVERAGE,
|
|
31
29
|
label: lang('average'),
|
|
@@ -42,10 +40,10 @@ const Legend = _ref => {
|
|
|
42
40
|
id: _types.DataNames.MIN,
|
|
43
41
|
label: lang('min'),
|
|
44
42
|
value: data.valueAtRiskChart.down.max
|
|
45
|
-
}]
|
|
46
|
-
}), _react.default.createElement(_DesktopLegend.DesktopLegend, {
|
|
43
|
+
}],
|
|
47
44
|
isDark: isDark,
|
|
48
|
-
lang: lang
|
|
45
|
+
lang: lang
|
|
46
|
+
}), _react.default.createElement(_DesktopLegend.DesktopLegend, {
|
|
49
47
|
data: [{
|
|
50
48
|
id: _types.DataNames.AVERAGE,
|
|
51
49
|
label: lang('average'),
|
|
@@ -62,10 +60,10 @@ const Legend = _ref => {
|
|
|
62
60
|
id: _types.DataNames.MAX,
|
|
63
61
|
label: lang('max'),
|
|
64
62
|
value: data.valueAtRiskChart.up.max
|
|
65
|
-
}]
|
|
66
|
-
})) : _react.default.createElement(_MobileLegend.MobileLegend, {
|
|
63
|
+
}],
|
|
67
64
|
isDark: isDark,
|
|
68
|
-
lang: lang
|
|
65
|
+
lang: lang
|
|
66
|
+
})) : _react.default.createElement(_MobileLegend.MobileLegend, {
|
|
69
67
|
data: [{
|
|
70
68
|
id: _types.DataNames.AVERAGE,
|
|
71
69
|
label: lang('average'),
|
|
@@ -86,7 +84,9 @@ const Legend = _ref => {
|
|
|
86
84
|
label: `${lang('min')}/${lang('max')}`,
|
|
87
85
|
valueDown: data.valueAtRiskChart.down.max,
|
|
88
86
|
valueUp: data.valueAtRiskChart.up.max
|
|
89
|
-
}]
|
|
87
|
+
}],
|
|
88
|
+
isDark: isDark,
|
|
89
|
+
lang: lang
|
|
90
90
|
}));
|
|
91
91
|
};
|
|
92
92
|
exports.Legend = Legend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Legend.js","names":["
|
|
1
|
+
{"version":3,"file":"Legend.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireDefault","_DesktopLegend","_MobileLegend","_types","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 { Size, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { DesktopLegend } from './DesktopLegend';\nimport { MobileLegend } from './MobileLegend';\nimport type { LegendProps } from './types';\nimport { DataNames } from './types';\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 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 isDark={isDark}\n lang={lang}\n />\n <DesktopLegend\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 isDark={isDark}\n lang={lang}\n />\n </>\n ) : (\n <MobileLegend\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 isDark={isDark}\n lang={lang}\n />\n )}\n </>\n );\n};\n\nexport { Legend };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.MobileLegend = void 0;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
7
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
-
var
|
|
10
|
-
var _DashedLine = require("./DashedLine");
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
9
|
var _constants = require("./constants");
|
|
10
|
+
var _DashedLine = require("./DashedLine");
|
|
11
|
+
var _types = require("./types");
|
|
12
12
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
13
|
const MobileLegend = _ref => {
|
|
14
14
|
let {
|
|
@@ -36,8 +36,8 @@ const MobileLegend = _ref => {
|
|
|
36
36
|
})
|
|
37
37
|
}), _react.default.createElement(_DashedLine.DashedLine, {
|
|
38
38
|
isDark: isDark,
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
strokeDasharray: _constants.lineTypes[item.id],
|
|
40
|
+
width: item.id === _types.DataNames.MAX || item.id === _types.DataNames.MIN ? '38' : undefined
|
|
41
41
|
}), item.id !== _types.DataNames.MAX && item.id !== _types.DataNames.MIN && _react.default.createElement("div", {
|
|
42
42
|
className: (0, _classnames.default)('lw-ml-[-8px] lw-h-[8px] lw-w-[8px] lw-border-[1px] lw-border-white lw-bg-gold', {
|
|
43
43
|
'lw-bg-gold': item.id === _types.DataNames.AVERAGE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileLegend.js","names":["
|
|
1
|
+
{"version":3,"file":"MobileLegend.js","names":["_classnames","_interopRequireDefault","require","_react","_constants","_DashedLine","_types","e","__esModule","default","MobileLegend","_ref","data","isDark","lang","createElement","className","classnames","map","item","key","id","DataNames","MAX","MIN","AVERAGE","MEDIAN","THRESHOLD","DashedLine","strokeDasharray","lineTypes","width","undefined","label","valueDown","toFixed","valueUp","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/MobileLegend.tsx"],"sourcesContent":["import classnames from 'classnames';\nimport React from 'react';\n\nimport { lineTypes } from './constants';\nimport { DashedLine } from './DashedLine';\nimport type { MobileLegendProps } from './types';\nimport { DataNames } from './types';\n\nconst MobileLegend = ({ data, isDark, lang }: MobileLegendProps) => (\n <div\n className={classnames('lw-mb-6 lw-p-2 lw-text-xs', {\n 'lw-bg-border-primary': isDark,\n 'lw-border lw-border-solid lw-border-border-primary': !isDark,\n })}\n >\n {data.map((item) => (\n <div\n key={item.id}\n className={classnames('lw-flex lw-items-center lw-justify-between', {\n '[&_line]:lw-stroke-border-disabled':\n item.id === DataNames.MAX || item.id === DataNames.MIN,\n })}\n >\n <div className=\"lw-mr-2 lw-flex lw-w-10 lw-items-center\">\n {item.id !== DataNames.MAX && item.id !== DataNames.MIN && (\n <div\n className={classnames(\n 'lw-h-[8px] lw-w-[8px] lw-rounded-full lw-border-[1px] lw-border-white lw-bg-gold',\n {\n 'lw-bg-gold': item.id === DataNames.AVERAGE,\n 'lw-bg-turquoise-light': item.id === DataNames.MEDIAN,\n 'lw-bg-violet-light': item.id === DataNames.THRESHOLD,\n }\n )}\n />\n )}\n <DashedLine\n isDark={isDark}\n strokeDasharray={lineTypes[item.id]}\n width={\n item.id === DataNames.MAX || item.id === DataNames.MIN\n ? '38'\n : undefined\n }\n />\n {item.id !== DataNames.MAX && item.id !== DataNames.MIN && (\n <div\n className={classnames(\n 'lw-ml-[-8px] lw-h-[8px] lw-w-[8px] lw-border-[1px] lw-border-white lw-bg-gold',\n {\n 'lw-bg-gold': item.id === DataNames.AVERAGE,\n 'lw-bg-turquoise-light': item.id === DataNames.MEDIAN,\n 'lw-bg-violet-light': item.id === DataNames.THRESHOLD,\n }\n )}\n />\n )}\n </div>\n <span className=\"lw-flex-1 lw-px-2\">{`${item.label}:`}</span>\n <span className=\"lw-flex-1 lw-text-right\">\n {`${item.valueDown.toFixed()} ${lang('pips')}`}\n </span>\n <span className=\"lw-flex-1 lw-text-right\">\n {`${item.valueUp.toFixed()} ${lang('pips')}`}\n </span>\n </div>\n ))}\n </div>\n);\n\nexport { MobileLegend };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["lineTypes","exports","min","max","median","threshold","average"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/constants.tsx"],"sourcesContent":["import { DataNames } from './types';\n\nexport const lineTypes: Record<DataNames, string> = {\n min: '0',\n max: '0',\n median: '4 5',\n threshold: '6 2',\n average: '2 2',\n};\n"],"mappings":";;;;;;AAEO,MAAMA,SAAoC,GAAAC,OAAA,CAAAD,SAAA,GAAG;EAClDE,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,MAAM,EAAE,KAAK;EACbC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"constants.js","names":["lineTypes","exports","min","max","median","threshold","average"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/constants.tsx"],"sourcesContent":["import type { DataNames } from './types';\n\nexport const lineTypes: Record<DataNames, string> = {\n min: '0',\n max: '0',\n median: '4 5',\n threshold: '6 2',\n average: '2 2',\n};\n"],"mappings":";;;;;;AAEO,MAAMA,SAAoC,GAAAC,OAAA,CAAAD,SAAA,GAAG;EAClDE,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,MAAM,EAAE,KAAK;EACbC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["DataNames","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/types.tsx"],"sourcesContent":["import { GetValueAtRiskChartQuery } from '../../../gql/types/graphql';\n\nexport enum DataNames {\n MIN = 'min',\n MAX = 'max',\n MEDIAN = 'median',\n THRESHOLD = 'threshold',\n AVERAGE = 'average',\n}\n\nexport interface DesktopLegendProps {\n data: {\n id: DataNames;\n label: string;\n value: number;\n }[];\n isDark: boolean
|
|
1
|
+
{"version":3,"file":"types.js","names":["DataNames","exports"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/types.tsx"],"sourcesContent":["import type { GetValueAtRiskChartQuery } from '../../../gql/types/graphql';\n\nexport enum DataNames {\n MIN = 'min',\n MAX = 'max',\n MEDIAN = 'median',\n THRESHOLD = 'threshold',\n AVERAGE = 'average',\n}\n\nexport interface DesktopLegendProps {\n data: {\n id: DataNames;\n label: string;\n value: number;\n }[];\n isDark: boolean;\n lang: (key: string) => string;\n}\n\nexport interface MobileLegendProps {\n data: {\n id: DataNames;\n label: string;\n valueUp: number;\n valueDown: number;\n }[];\n isDark: boolean;\n lang: (key: string) => string;\n}\n\nexport interface LegendProps {\n data: GetValueAtRiskChartQuery;\n}\n\nexport interface DashedLineProps {\n strokeDasharray?: string;\n width?: string;\n isDark: boolean;\n}\n"],"mappings":";;;;;;IAEYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,aAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
3
4
|
var _react = _interopRequireDefault(require("react"));
|
|
4
5
|
var _client = require("react-dom/client");
|
|
5
|
-
var _labsWidgetCommon = require("@oanda/labs-widget-common");
|
|
6
|
-
var _ValueAtRiskWidget = require("./ValueAtRiskWidget");
|
|
7
6
|
var _graphql = require("../gql/types/graphql");
|
|
7
|
+
var _ValueAtRiskWidget = require("./ValueAtRiskWidget");
|
|
8
8
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
9
|
const {
|
|
10
10
|
graphqlUrl
|
|
@@ -36,15 +36,15 @@ valueAtRiskParamsElements.forEach(element => {
|
|
|
36
36
|
name: 'graphqlUrl'
|
|
37
37
|
}]);
|
|
38
38
|
root.render(_react.default.createElement(_ValueAtRiskWidget.ValueAtRiskWidget, {
|
|
39
|
-
|
|
40
|
-
locale: locale,
|
|
39
|
+
bars: bars,
|
|
41
40
|
division: division,
|
|
42
|
-
theme: mode,
|
|
43
|
-
isParamError: isParamError,
|
|
44
|
-
instrument: instrument,
|
|
45
41
|
duration: duration,
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
graphqlUrl: graphqlUrl,
|
|
43
|
+
instrument: instrument,
|
|
44
|
+
isParamError: isParamError,
|
|
45
|
+
locale: locale,
|
|
46
|
+
logoLink: logoLink,
|
|
47
|
+
theme: mode
|
|
48
48
|
}));
|
|
49
49
|
});
|
|
50
50
|
//# sourceMappingURL=render.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","names":["
|
|
1
|
+
{"version":3,"file":"render.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_client","_graphql","_ValueAtRiskWidget","e","__esModule","default","graphqlUrl","window","widgetsConfig","valueAtRiskParamsElements","document","querySelectorAll","forEach","element","root","createRoot","params","getAttribute","mode","division","locale","instrument","duration","bars","logoLink","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","render","createElement","ValueAtRiskWidget","theme"],"sources":["../../../src/ValueAtRiskWidget/render.tsx"],"sourcesContent":["import type { Theme } from '@oanda/labs-widget-common';\nimport { validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Division } from '../gql/types/graphql';\nimport { ValueAtRiskWidget } from './ValueAtRiskWidget';\n\nconst { graphqlUrl } = window.widgetsConfig || {};\n\nconst valueAtRiskParamsElements = document.querySelectorAll(\n 'div[data-value-at-risk-params]'\n);\n\nvalueAtRiskParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-value-at-risk-params');\n const mode = element.getAttribute('data-mode');\n const { division, locale, instrument, duration, bars, logoLink } = JSON.parse(\n params as string\n );\n\n const isParamError = validateToolParams({ locale, division, graphqlUrl }, [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'division',\n valueCheck: (value: Division) => Object.values(Division).includes(value),\n },\n {\n name: 'graphqlUrl',\n },\n ]);\n\n root.render(\n <ValueAtRiskWidget\n bars={bars}\n division={division}\n duration={duration}\n graphqlUrl={graphqlUrl}\n instrument={instrument}\n isParamError={isParamError}\n locale={locale}\n logoLink={logoLink}\n theme={mode as Theme}\n />\n );\n});\n"],"mappings":";;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AAAwD,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAExD,MAAM;EAAEG;AAAW,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAEjD,MAAMC,yBAAyB,GAAGC,QAAQ,CAACC,gBAAgB,CACzD,gCACF,CAAC;AAEDF,yBAAyB,CAACG,OAAO,CAAEC,OAAO,IAAK;EAC7C,MAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;EAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,2BAA2B,CAAC;EAChE,MAAMC,IAAI,GAAGL,OAAO,CAACI,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IAAEE,QAAQ;IAAEC,MAAM;IAAEC,UAAU;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGC,IAAI,CAACC,KAAK,CAC3EV,MACF,CAAC;EAED,MAAMW,YAAY,GAAG,IAAAC,oCAAkB,EAAC;IAAER,MAAM;IAAED,QAAQ;IAAEb;EAAW,CAAC,EAAE,CACxE;IACEuB,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAyB,IAAK,IAAAC,gCAAc,EAACD,KAAK;EACjE,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAe,IAAKE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;EACzE,CAAC,EACD;IACEF,IAAI,EAAE;EACR,CAAC,CACF,CAAC;EAEFf,IAAI,CAACuB,MAAM,CACTvC,MAAA,CAAAO,OAAA,CAAAiC,aAAA,CAACpC,kBAAA,CAAAqC,iBAAiB;IAChBhB,IAAI,EAAEA,IAAK;IACXJ,QAAQ,EAAEA,QAAS;IACnBG,QAAQ,EAAEA,QAAS;IACnBhB,UAAU,EAAEA,UAAW;IACvBe,UAAU,EAAEA,UAAW;IACvBM,YAAY,EAAEA,YAAa;IAC3BP,MAAM,EAAEA,MAAO;IACfI,QAAQ,EAAEA,QAAS;IACnBgB,KAAK,EAAEtB;EAAc,CACtB,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/ValueAtRiskWidget/types.ts"],"sourcesContent":["import { WidgetConfig } from '@oanda/labs-widget-common';\nimport {\n Division
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/ValueAtRiskWidget/types.ts"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type {\n Division,\n GetValueAtRiskAssetClassesQuery,\n ValueAtRiskBars,\n ValueAtRiskDuration,\n} from '../gql/types/graphql';\n\nexport interface ValueAtRiskConfig extends WidgetConfig {\n division: Division;\n instrument?: string;\n duration?: ValueAtRiskDuration;\n bars?: ValueAtRiskBars;\n}\n\nexport interface ValueAtRiskWrapperConfig extends ValueAtRiskConfig {\n renderElementId: string;\n}\n\nexport interface WidgetProps {\n instrument: string;\n duration: ValueAtRiskDuration;\n bars: ValueAtRiskBars;\n division: Division;\n}\n\nexport interface ToolProps {\n data: GetValueAtRiskAssetClassesQuery;\n division: Division;\n}\n\nexport interface ToolWithDataProps {\n division: Division;\n}\n\nexport interface ChartWithDataProps {\n instrument: string;\n duration: ValueAtRiskDuration;\n bars: ValueAtRiskBars;\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["capitalize","name","toUpperCase","substring","sortAlphabetically","paramName","items","sort","itemA","itemB","localeCompare","sensitivity","getAssetClassesList","data","list","map","_ref","id","toLowerCase","label","exports","mapInstrumentsList","_ref2","displayName","getInstrumentsByAssetClassId","instruments","filter","_ref3"],"sources":["../../../src/ValueAtRiskWidget/utils.ts"],"sourcesContent":["import { AssetClass, Instrument } from '../gql/types/graphql';\n\nconst capitalize = (name: string)
|
|
1
|
+
{"version":3,"file":"utils.js","names":["capitalize","name","toUpperCase","substring","sortAlphabetically","paramName","items","sort","itemA","itemB","localeCompare","sensitivity","getAssetClassesList","data","list","map","_ref","id","toLowerCase","label","exports","mapInstrumentsList","_ref2","displayName","getInstrumentsByAssetClassId","instruments","filter","_ref3"],"sources":["../../../src/ValueAtRiskWidget/utils.ts"],"sourcesContent":["import type { AssetClass, Instrument } from '../gql/types/graphql';\n\nconst capitalize = (name: string) =>\n `${name[0].toUpperCase()}${name.substring(1)}`;\n\nfunction sortAlphabetically<T extends Record<string, string>>(\n paramName: keyof T,\n items: T[]\n): T[] {\n return [...items].sort((itemA, itemB) =>\n itemA[paramName].localeCompare(itemB[paramName], 'en', {\n sensitivity: 'base',\n })\n );\n}\n\nconst getAssetClassesList = (data: AssetClass[]) => {\n const list = data.map(({ name }) => ({\n id: name.toLowerCase(),\n label: capitalize(name),\n }));\n\n return sortAlphabetically('label', list);\n};\n\nconst mapInstrumentsList = (data: Instrument[]) =>\n sortAlphabetically('displayName', data).map(\n ({ name: id, displayName: label }) => ({ id, label })\n );\n\nconst getInstrumentsByAssetClassId = (data: AssetClass[], id: string) => {\n const [{ instruments }] = data.filter(({ name }) => id === name);\n\n return mapInstrumentsList(instruments);\n};\n\nexport {\n getAssetClassesList,\n getInstrumentsByAssetClassId,\n sortAlphabetically,\n};\n"],"mappings":";;;;;;;AAEA,MAAMA,UAAU,GAAIC,IAAY,IAC9B,GAAGA,IAAI,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGD,IAAI,CAACE,SAAS,CAAC,CAAC,CAAC,EAAE;AAEhD,SAASC,kBAAkBA,CACzBC,SAAkB,EAClBC,KAAU,EACL;EACL,OAAO,CAAC,GAAGA,KAAK,CAAC,CAACC,IAAI,CAAC,CAACC,KAAK,EAAEC,KAAK,KAClCD,KAAK,CAACH,SAAS,CAAC,CAACK,aAAa,CAACD,KAAK,CAACJ,SAAS,CAAC,EAAE,IAAI,EAAE;IACrDM,WAAW,EAAE;EACf,CAAC,CACH,CAAC;AACH;AAEA,MAAMC,mBAAmB,GAAIC,IAAkB,IAAK;EAClD,MAAMC,IAAI,GAAGD,IAAI,CAACE,GAAG,CAACC,IAAA;IAAA,IAAC;MAAEf;IAAK,CAAC,GAAAe,IAAA;IAAA,OAAM;MACnCC,EAAE,EAAEhB,IAAI,CAACiB,WAAW,CAAC,CAAC;MACtBC,KAAK,EAAEnB,UAAU,CAACC,IAAI;IACxB,CAAC;EAAA,CAAC,CAAC;EAEH,OAAOG,kBAAkB,CAAC,OAAO,EAAEU,IAAI,CAAC;AAC1C,CAAC;AAACM,OAAA,CAAAR,mBAAA,GAAAA,mBAAA;AAEF,MAAMS,kBAAkB,GAAIR,IAAkB,IAC5CT,kBAAkB,CAAC,aAAa,EAAES,IAAI,CAAC,CAACE,GAAG,CACzCO,KAAA;EAAA,IAAC;IAAErB,IAAI,EAAEgB,EAAE;IAAEM,WAAW,EAAEJ;EAAM,CAAC,GAAAG,KAAA;EAAA,OAAM;IAAEL,EAAE;IAAEE;EAAM,CAAC;AAAA,CACtD,CAAC;AAEH,MAAMK,4BAA4B,GAAGA,CAACX,IAAkB,EAAEI,EAAU,KAAK;EACvE,MAAM,CAAC;IAAEQ;EAAY,CAAC,CAAC,GAAGZ,IAAI,CAACa,MAAM,CAACC,KAAA;IAAA,IAAC;MAAE1B;IAAK,CAAC,GAAA0B,KAAA;IAAA,OAAKV,EAAE,KAAKhB,IAAI;EAAA,EAAC;EAEhE,OAAOoB,kBAAkB,CAACI,WAAW,CAAC;AACxC,CAAC;AAACL,OAAA,CAAAI,4BAAA,GAAAA,4BAAA","ignoreList":[]}
|
|
@@ -7,7 +7,7 @@ exports.getValueAtRiskAssetClasses = void 0;
|
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
8
|
const getValueAtRiskAssetClasses = exports.getValueAtRiskAssetClasses = (0, _client.gql)`
|
|
9
9
|
query GetValueAtRiskAssetClasses($division: Division) {
|
|
10
|
-
|
|
10
|
+
valueAtRiskAssetClasses(division: $division) {
|
|
11
11
|
name
|
|
12
12
|
instruments {
|
|
13
13
|
name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getValueAtRiskAssetClasses.js","names":["_client","require","getValueAtRiskAssetClasses","exports","gql"],"sources":["../../../src/gql/getValueAtRiskAssetClasses.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getValueAtRiskAssetClasses = gql`\n query GetValueAtRiskAssetClasses($division: Division) {\n
|
|
1
|
+
{"version":3,"file":"getValueAtRiskAssetClasses.js","names":["_client","require","getValueAtRiskAssetClasses","exports","gql"],"sources":["../../../src/gql/getValueAtRiskAssetClasses.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getValueAtRiskAssetClasses = gql`\n query GetValueAtRiskAssetClasses($division: Division) {\n valueAtRiskAssetClasses(division: $division) {\n name\n instruments {\n name\n displayName\n }\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA,GAAG,IAAAE,WAAG;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -6,8 +6,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getValueAtRiskChart = void 0;
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
8
|
const getValueAtRiskChart = exports.getValueAtRiskChart = (0, _client.gql)`
|
|
9
|
-
query getValueAtRiskChart(
|
|
10
|
-
|
|
9
|
+
query getValueAtRiskChart(
|
|
10
|
+
$instrument: String!
|
|
11
|
+
$division: Division!
|
|
12
|
+
$duration: ValueAtRiskDuration!
|
|
13
|
+
$bars: ValueAtRiskBars!
|
|
14
|
+
) {
|
|
15
|
+
valueAtRiskChart(
|
|
16
|
+
instrument: $instrument
|
|
17
|
+
division: $division
|
|
18
|
+
duration: $duration
|
|
19
|
+
bars: $bars
|
|
20
|
+
) {
|
|
11
21
|
up {
|
|
12
22
|
points {
|
|
13
23
|
pips
|