@oanda/labs-value-at-risk-widget 1.0.136 → 1.0.137
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 +552 -0
- package/dist/main/ValueAtRiskWidget/ChartWithData.js +1 -2
- package/dist/main/ValueAtRiskWidget/ChartWithData.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/Widget.js +3 -3
- package/dist/main/ValueAtRiskWidget/Widget.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Chart/getOption.js +7 -11
- package/dist/main/ValueAtRiskWidget/components/Chart/getOption.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/DashedLine.js +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/DashedLine.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/DesktopLegend.js +2 -2
- package/dist/main/ValueAtRiskWidget/components/Legend/DesktopLegend.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/Legend.js +4 -4
- package/dist/main/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/components/Legend/MobileLegend.js +3 -3
- package/dist/main/ValueAtRiskWidget/components/Legend/MobileLegend.js.map +1 -1
- package/dist/main/ValueAtRiskWidget/utils.js +1 -1
- package/dist/main/ValueAtRiskWidget/utils.js.map +1 -1
- package/dist/main/gql/getValueAtRiskAssetClasses.js +11 -3
- package/dist/main/gql/getValueAtRiskAssetClasses.js.map +1 -1
- package/dist/main/gql/getValueAtRiskChart.js +36 -3
- package/dist/main/gql/getValueAtRiskChart.js.map +1 -1
- package/dist/main/gql/types/fragment-masking.js +2 -3
- package/dist/main/gql/types/fragment-masking.js.map +1 -1
- package/dist/main/gql/types/gql.js +1 -2
- package/dist/main/gql/types/gql.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/ChartWithData.js +1 -2
- package/dist/module/ValueAtRiskWidget/ChartWithData.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/Widget.js +3 -3
- package/dist/module/ValueAtRiskWidget/Widget.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Chart/getOption.js +7 -11
- package/dist/module/ValueAtRiskWidget/components/Chart/getOption.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/DashedLine.js +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/DashedLine.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/DesktopLegend.js +2 -2
- package/dist/module/ValueAtRiskWidget/components/Legend/DesktopLegend.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js +4 -4
- package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
- package/dist/module/ValueAtRiskWidget/components/Legend/MobileLegend.js +3 -3
- package/dist/module/ValueAtRiskWidget/components/Legend/MobileLegend.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 +11 -3
- package/dist/module/gql/getValueAtRiskAssetClasses.js.map +1 -1
- package/dist/module/gql/getValueAtRiskChart.js +36 -3
- package/dist/module/gql/getValueAtRiskChart.js.map +1 -1
- package/dist/module/gql/types/fragment-masking.js +2 -3
- package/dist/module/gql/types/fragment-masking.js.map +1 -1
- package/dist/module/gql/types/gql.js +1 -2
- package/dist/module/gql/types/gql.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_constants","_getPercentValueByPips","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","getOption","values","lang","isDark","isDesktop","theme","Theme","Dark","Light","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","toFixed","axisPointer","label","_ref","yAxis","inverse","nameRotate","position","nameMoveOverlap","rich","index","concat","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","themeColors","borderPrimary","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 getGridLines,\n getLineCommons,\n Theme,\n themeColors,\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 theme = isDark ? Theme.Dark : Theme.Light;\n\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 nameMoveOverlap: false,\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: themeColors.borderPrimary[theme],\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: themeColors.borderPrimary[theme],\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","theme","Theme","Dark","Light","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","nameMoveOverlap","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","themeColors","borderPrimary","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 getGridLines,\n getLineCommons,\n Theme,\n themeColors,\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 theme = isDark ? Theme.Dark : Theme.Light;\n\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 nameMoveOverlap: false,\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: themeColors.borderPrimary[theme],\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: themeColors.borderPrimary[theme],\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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashedLine.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","e","__esModule","default","DashedLine","_ref","strokeDasharray","width","isDark","createElement","className","fill","height","viewBox","
|
|
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":[]}
|
|
@@ -40,9 +40,9 @@ const DesktopLegend = _ref => {
|
|
|
40
40
|
})
|
|
41
41
|
}), _react.default.createElement("span", {
|
|
42
42
|
className: "lw-px-2"
|
|
43
|
-
},
|
|
43
|
+
}, `${item.label}:`), _react.default.createElement("span", {
|
|
44
44
|
className: "lw-grow lw-text-right"
|
|
45
|
-
},
|
|
45
|
+
}, `${item.value.toFixed()} ${lang('pips')}`))));
|
|
46
46
|
};
|
|
47
47
|
exports.DesktopLegend = DesktopLegend;
|
|
48
48
|
//# sourceMappingURL=DesktopLegend.js.map
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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":[]}
|
|
@@ -34,7 +34,7 @@ const Legend = _ref => {
|
|
|
34
34
|
value: data.valueAtRiskChart.down.median
|
|
35
35
|
}, {
|
|
36
36
|
id: _types.DataNames.THRESHOLD,
|
|
37
|
-
label:
|
|
37
|
+
label: `${lang('threshold')} (95%)`,
|
|
38
38
|
value: data.valueAtRiskChart.down.threshold
|
|
39
39
|
}, {
|
|
40
40
|
id: _types.DataNames.MIN,
|
|
@@ -54,7 +54,7 @@ const Legend = _ref => {
|
|
|
54
54
|
value: data.valueAtRiskChart.up.median
|
|
55
55
|
}, {
|
|
56
56
|
id: _types.DataNames.THRESHOLD,
|
|
57
|
-
label:
|
|
57
|
+
label: `${lang('threshold')} (95%)`,
|
|
58
58
|
value: data.valueAtRiskChart.up.threshold
|
|
59
59
|
}, {
|
|
60
60
|
id: _types.DataNames.MAX,
|
|
@@ -76,12 +76,12 @@ const Legend = _ref => {
|
|
|
76
76
|
valueUp: data.valueAtRiskChart.up.median
|
|
77
77
|
}, {
|
|
78
78
|
id: _types.DataNames.THRESHOLD,
|
|
79
|
-
label:
|
|
79
|
+
label: `${lang('threshold')} (95%)`,
|
|
80
80
|
valueDown: data.valueAtRiskChart.down.threshold,
|
|
81
81
|
valueUp: data.valueAtRiskChart.up.threshold
|
|
82
82
|
}, {
|
|
83
83
|
id: _types.DataNames.MAX,
|
|
84
|
-
label:
|
|
84
|
+
label: `${lang('min')}/${lang('max')}`,
|
|
85
85
|
valueDown: data.valueAtRiskChart.down.max,
|
|
86
86
|
valueUp: data.valueAtRiskChart.up.max
|
|
87
87
|
}],
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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":[]}
|
|
@@ -46,11 +46,11 @@ const MobileLegend = _ref => {
|
|
|
46
46
|
})
|
|
47
47
|
})), _react.default.createElement("span", {
|
|
48
48
|
className: "lw-flex-1 lw-px-2"
|
|
49
|
-
},
|
|
49
|
+
}, `${item.label}:`), _react.default.createElement("span", {
|
|
50
50
|
className: "lw-flex-1 lw-text-right"
|
|
51
|
-
},
|
|
51
|
+
}, `${item.valueDown.toFixed()} ${lang('pips')}`), _react.default.createElement("span", {
|
|
52
52
|
className: "lw-flex-1 lw-text-right"
|
|
53
|
-
},
|
|
53
|
+
}, `${item.valueUp.toFixed()} ${lang('pips')}`))));
|
|
54
54
|
};
|
|
55
55
|
exports.MobileLegend = MobileLegend;
|
|
56
56
|
//# sourceMappingURL=MobileLegend.js.map
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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":[]}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getInstrumentsByAssetClassId = exports.getAssetClassesList = void 0;
|
|
7
7
|
exports.sortAlphabetically = sortAlphabetically;
|
|
8
|
-
const capitalize = name =>
|
|
8
|
+
const capitalize = name => `${name[0].toUpperCase()}${name.substring(1)}`;
|
|
9
9
|
function sortAlphabetically(paramName, items) {
|
|
10
10
|
return [...items].sort((itemA, itemB) => itemA[paramName].localeCompare(itemB[paramName], 'en', {
|
|
11
11
|
sensitivity: 'base'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["capitalize","name","
|
|
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":[]}
|
|
@@ -5,7 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getValueAtRiskAssetClasses = void 0;
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const getValueAtRiskAssetClasses = exports.getValueAtRiskAssetClasses = (0, _client.gql)`
|
|
9
|
+
query GetValueAtRiskAssetClasses($division: Division) {
|
|
10
|
+
valueAtRiskAssetClasses(division: $division) {
|
|
11
|
+
name
|
|
12
|
+
instruments {
|
|
13
|
+
name
|
|
14
|
+
displayName
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
11
19
|
//# sourceMappingURL=getValueAtRiskAssetClasses.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getValueAtRiskAssetClasses.js","names":["_client","require","
|
|
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":[]}
|
|
@@ -5,7 +5,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.getValueAtRiskChart = void 0;
|
|
7
7
|
var _client = require("@apollo/client");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
const getValueAtRiskChart = exports.getValueAtRiskChart = (0, _client.gql)`
|
|
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
|
+
) {
|
|
21
|
+
up {
|
|
22
|
+
points {
|
|
23
|
+
pips
|
|
24
|
+
percent
|
|
25
|
+
}
|
|
26
|
+
average
|
|
27
|
+
median
|
|
28
|
+
max
|
|
29
|
+
threshold
|
|
30
|
+
}
|
|
31
|
+
down {
|
|
32
|
+
points {
|
|
33
|
+
pips
|
|
34
|
+
percent
|
|
35
|
+
}
|
|
36
|
+
average
|
|
37
|
+
median
|
|
38
|
+
max
|
|
39
|
+
threshold
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
`;
|
|
11
44
|
//# sourceMappingURL=getValueAtRiskChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getValueAtRiskChart.js","names":["_client","require","
|
|
1
|
+
{"version":3,"file":"getValueAtRiskChart.js","names":["_client","require","getValueAtRiskChart","exports","gql"],"sources":["../../../src/gql/getValueAtRiskChart.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getValueAtRiskChart = gql`\n query getValueAtRiskChart(\n $instrument: String!\n $division: Division!\n $duration: ValueAtRiskDuration!\n $bars: ValueAtRiskBars!\n ) {\n valueAtRiskChart(\n instrument: $instrument\n division: $division\n duration: $duration\n bars: $bars\n ) {\n up {\n points {\n pips\n percent\n }\n average\n median\n max\n threshold\n }\n down {\n points {\n pips\n percent\n }\n average\n median\n max\n threshold\n }\n }\n }\n`;\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,IAAAE,WAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
|
|
@@ -13,11 +13,10 @@ function makeFragmentData(data, _fragment) {
|
|
|
13
13
|
return data;
|
|
14
14
|
}
|
|
15
15
|
function isFragmentReady(queryNode, fragmentNode, data) {
|
|
16
|
-
|
|
17
|
-
const deferredFields = (_meta__ = queryNode.__meta__) === null || _meta__ === void 0 ? void 0 : _meta__.deferredFields;
|
|
16
|
+
const deferredFields = queryNode.__meta__?.deferredFields;
|
|
18
17
|
if (!deferredFields) return true;
|
|
19
18
|
const fragDef = fragmentNode.definitions[0];
|
|
20
|
-
const fragName = fragDef
|
|
19
|
+
const fragName = fragDef?.name?.value;
|
|
21
20
|
const fields = fragName && deferredFields[fragName] || [];
|
|
22
21
|
return fields.length > 0 && fields.every(field => data && field in data);
|
|
23
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","
|
|
1
|
+
{"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","deferredFields","__meta__","fragDef","definitions","fragName","name","value","fields","length","every","field"],"sources":["../../../../src/gql/types/fragment-masking.ts"],"sourcesContent":["import {\n ResultOf,\n DocumentTypeDecoration,\n TypedDocumentNode,\n} from '@graphql-typed-document-node/core';\nimport { FragmentDefinitionNode } from 'graphql';\nimport { Incremental } from './graphql';\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ ' $fragmentName'?: infer TKey }]\n ? TKey extends string\n ? { ' $fragmentRefs'?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>\n): TType;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n): ReadonlyArray<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): TType | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n"],"mappings":";;;;;;;;AA6CO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAIa,EACoC;EACjD,OAAOA,YAAY;AACrB;AAEO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAGa,EAC8B;EAC3C,MAAMK,cAAc,GAClBF,SAAS,CAGTG,QAAQ,EAAED,cAAc;EAE1B,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGH,YAAY,CAACI,WAAW,CAAC,CAAC,CAE7B;EACb,MAAMC,QAAQ,GAAGF,OAAO,EAAEG,IAAI,EAAEC,KAAK;EAErC,MAAMC,MAAM,GAAIH,QAAQ,IAAIJ,cAAc,CAACI,QAAQ,CAAC,IAAK,EAAE;EAC3D,OAAOG,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAAEC,KAAK,IAAKf,IAAI,IAAIe,KAAK,IAAIf,IAAI,CAAC;AAC5E","ignoreList":[]}
|
|
@@ -11,7 +11,6 @@ const documents = {
|
|
|
11
11
|
'\n query getValueAtRiskChart($instrument: String!, $division: Division!, $duration: ValueAtRiskDuration!, $bars: ValueAtRiskBars!) {\n valueAtRiskChart(instrument: $instrument, division: $division, duration: $duration, bars: $bars) {\n up {\n points {\n pips\n percent\n }\n average\n median\n max\n threshold\n }\n down {\n points {\n pips\n percent\n }\n average\n median\n max\n threshold\n }\n }\n }\n': types.GetValueAtRiskChartDocument
|
|
12
12
|
};
|
|
13
13
|
function graphql(source) {
|
|
14
|
-
|
|
15
|
-
return (_source = documents[source]) !== null && _source !== void 0 ? _source : {};
|
|
14
|
+
return documents[source] ?? {};
|
|
16
15
|
}
|
|
17
16
|
//# sourceMappingURL=gql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetValueAtRiskAssetClassesDocument","GetValueAtRiskChartDocument","graphql","source"
|
|
1
|
+
{"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetValueAtRiskAssetClassesDocument","GetValueAtRiskChartDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetValueAtRiskAssetClasses($division: Division) {\\n valueAtRiskAssetClasses(division: $division) {\\n name\\n instruments {\\n name\\n displayName\\n }\\n }\\n }\\n':\n types.GetValueAtRiskAssetClassesDocument,\n '\\n query getValueAtRiskChart($instrument: String!, $division: Division!, $duration: ValueAtRiskDuration!, $bars: ValueAtRiskBars!) {\\n valueAtRiskChart(instrument: $instrument, division: $division, duration: $duration, bars: $bars) {\\n up {\\n points {\\n pips\\n percent\\n }\\n average\\n median\\n max\\n threshold\\n }\\n down {\\n points {\\n pips\\n percent\\n }\\n average\\n median\\n max\\n threshold\\n }\\n }\\n }\\n':\n types.GetValueAtRiskChartDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetValueAtRiskAssetClasses($division: Division) {\\n valueAtRiskAssetClasses(division: $division) {\\n name\\n instruments {\\n name\\n displayName\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetValueAtRiskAssetClasses($division: Division) {\\n valueAtRiskAssetClasses(division: $division) {\\n name\\n instruments {\\n name\\n displayName\\n }\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query getValueAtRiskChart($instrument: String!, $division: Division!, $duration: ValueAtRiskDuration!, $bars: ValueAtRiskBars!) {\\n valueAtRiskChart(instrument: $instrument, division: $division, duration: $duration, bars: $bars) {\\n up {\\n points {\\n pips\\n percent\\n }\\n average\\n median\\n max\\n threshold\\n }\\n down {\\n points {\\n pips\\n percent\\n }\\n average\\n median\\n max\\n threshold\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query getValueAtRiskChart($instrument: String!, $division: Division!, $duration: ValueAtRiskDuration!, $bars: ValueAtRiskBars!) {\\n valueAtRiskChart(instrument: $instrument, division: $division, duration: $duration, bars: $bars) {\\n up {\\n points {\\n pips\\n percent\\n }\\n average\\n median\\n max\\n threshold\\n }\\n down {\\n points {\\n pips\\n percent\\n }\\n average\\n median\\n max\\n threshold\\n }\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAanC,MAAMkB,SAAS,GAAG;EAChB,8MAA8M,EAC5MtB,KAAK,CAACuB,kCAAkC;EAC1C,2iBAA2iB,EACziBvB,KAAK,CAACwB;AACV,CAAC;AA6BM,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQJ,SAAS,CAASI,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
|
|
@@ -6,7 +6,6 @@ import { getValueAtRiskChart } from '../gql/getValueAtRiskChart';
|
|
|
6
6
|
import { Chart } from './components/Chart';
|
|
7
7
|
import { Legend } from './components/Legend';
|
|
8
8
|
const ChartWithData = _ref => {
|
|
9
|
-
var _data$valueAtRiskChar, _data$valueAtRiskChar2;
|
|
10
9
|
let {
|
|
11
10
|
instrument,
|
|
12
11
|
duration,
|
|
@@ -31,7 +30,7 @@ const ChartWithData = _ref => {
|
|
|
31
30
|
fetchPolicy: 'cache-and-network',
|
|
32
31
|
skip: !instrument
|
|
33
32
|
});
|
|
34
|
-
const showChart =
|
|
33
|
+
const showChart = data?.valueAtRiskChart?.down?.points && data.valueAtRiskChart.down.points.length > 0 && data?.valueAtRiskChart?.up?.points && data.valueAtRiskChart.up.points.length > 0;
|
|
35
34
|
const showError = !!error || !loading && !showChart;
|
|
36
35
|
return React.createElement(React.Fragment, null, (loading || !instrument) && React.createElement("div", {
|
|
37
36
|
className: classnames('lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWithData.js","names":["useQuery","ChartError","Size","Spinner","SpinnerSize","useLayoutProvider","classnames","React","getValueAtRiskChart","Chart","Legend","ChartWithData","_ref","
|
|
1
|
+
{"version":3,"file":"ChartWithData.js","names":["useQuery","ChartError","Size","Spinner","SpinnerSize","useLayoutProvider","classnames","React","getValueAtRiskChart","Chart","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 { useQuery } from '@apollo/client';\nimport {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getValueAtRiskChart } from '../gql/getValueAtRiskChart';\nimport type {\n GetValueAtRiskChartQuery,\n GetValueAtRiskChartQueryVariables,\n} from '../gql/types/graphql';\nimport { Chart } from './components/Chart';\nimport { Legend } from './components/Legend';\nimport type { ChartWithDataProps } from './types';\n\nconst ChartWithData = ({\n instrument,\n duration,\n bars,\n division,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { loading, data, error } = useQuery<\n GetValueAtRiskChartQuery,\n GetValueAtRiskChartQueryVariables\n >(getValueAtRiskChart, {\n variables: {\n instrument,\n division,\n duration,\n bars,\n },\n fetchPolicy: 'cache-and-network',\n skip: !instrument,\n });\n\n const showChart =\n 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 <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[460px]': isDesktop,\n 'lw-h-[566px]': !isDesktop,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && showChart && (\n <div className=\"lw-relative\" data-testid=\"value-at-risk-chart\">\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,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SACEC,UAAU,EACVC,IAAI,EACJC,OAAO,EACPC,WAAW,EACXC,iBAAiB,QACZ,2BAA2B;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,mBAAmB,QAAQ,4BAA4B;AAKhE,SAASC,KAAK,QAAQ,oBAAoB;AAC1C,SAASC,MAAM,QAAQ,qBAAqB;AAG5C,MAAMC,aAAa,GAAGC,IAAA,IAKI;EAAA,IALH;IACrBC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC;EACkB,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAGZ,iBAAiB,CAAC,CAAC;EACpC,MAAMa,SAAS,GAAGD,IAAI,KAAKf,IAAI,CAACiB,OAAO;EAEvC,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGtB,QAAQ,CAGvCQ,mBAAmB,EAAE;IACrBe,SAAS,EAAE;MACTV,UAAU;MACVG,QAAQ;MACRF,QAAQ;MACRC;IACF,CAAC;IACDS,WAAW,EAAE,mBAAmB;IAChCC,IAAI,EAAE,CAACZ;EACT,CAAC,CAAC;EAEF,MAAMa,SAAS,GACbL,IAAI,EAAEM,gBAAgB,EAAEC,IAAI,EAAEC,MAAM,IACpCR,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;EAE5C,MAAME,SAAS,GAAG,CAAC,CAACV,KAAK,IAAK,CAACF,OAAO,IAAI,CAACM,SAAU;EAErD,OACEnB,KAAA,CAAA0B,aAAA,CAAA1B,KAAA,CAAA2B,QAAA,QACG,CAACd,OAAO,IAAI,CAACP,UAAU,KACtBN,KAAA,CAAA0B,aAAA;IACEE,SAAS,EAAE7B,UAAU,CACnB,sFAAsF,EACtF;MACE,cAAc,EAAEY,SAAS;MACzB,cAAc,EAAE,CAACA;IACnB,CACF;EAAE,GAEFX,KAAA,CAAA0B,aAAA,CAAC9B,OAAO;IAACc,IAAI,EAAEb,WAAW,CAACgC;EAAG,CAAE,CAC7B,CACN,EACA,CAAChB,OAAO,IAAIM,SAAS,IACpBnB,KAAA,CAAA0B,aAAA;IAAKE,SAAS,EAAC,aAAa;IAAC,eAAY;EAAqB,GAC5D5B,KAAA,CAAA0B,aAAA,CAACvB,MAAM;IAACW,IAAI,EAAEA;EAAK,CAAE,CAAC,EACtBd,KAAA,CAAA0B,aAAA,CAACxB,KAAK;IAAC4B,MAAM,EAAEhB;EAAK,CAAE,CACnB,CACN,EACAW,SAAS,IACRzB,KAAA,CAAA0B,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChH5B,KAAA,CAAA0B,aAAA,CAAChC,UAAU,MAAE,CACV,CAEP,CAAC;AAEP,CAAC;AAED,SAASU,aAAa","ignoreList":[]}
|
|
@@ -25,11 +25,11 @@ const Widget = _ref => {
|
|
|
25
25
|
'lw-mb-11 lw-text-center lw-text-xl': isDesktop,
|
|
26
26
|
'lw-mb-6 lw-text-lg': !isDesktop
|
|
27
27
|
})
|
|
28
|
-
}, React.createElement("div", null,
|
|
28
|
+
}, React.createElement("div", null, `${lang('hold_time')}: ${lang('day', {
|
|
29
29
|
count: +duration.substring(1)
|
|
30
|
-
}))
|
|
30
|
+
})}`), React.createElement("div", null, `${lang('calculation_period')}: ${lang('day', {
|
|
31
31
|
count: +bars.substring(1)
|
|
32
|
-
})))
|
|
32
|
+
})}`)), React.createElement(ChartWithData, {
|
|
33
33
|
bars: bars,
|
|
34
34
|
division: division,
|
|
35
35
|
duration: duration,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Widget.js","names":["Size","useLayoutProvider","useLocale","classnames","React","ChartWithData","Widget","_ref","division","instrument","duration","bars","lang","size","isDesktop","DESKTOP","createElement","className","Fragment","
|
|
1
|
+
{"version":3,"file":"Widget.js","names":["Size","useLayoutProvider","useLocale","classnames","React","ChartWithData","Widget","_ref","division","instrument","duration","bars","lang","size","isDesktop","DESKTOP","createElement","className","Fragment","count","substring"],"sources":["../../../src/ValueAtRiskWidget/Widget.tsx"],"sourcesContent":["import { Size, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { ChartWithData } from './ChartWithData';\nimport type { WidgetProps } from './types';\n\nconst Widget = ({ division, instrument, duration, bars }: WidgetProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <div\n className=\"lw-relative lw-text-sm lw-tracking-normal\"\n data-testid=\"value-at-risk-widget-wrapper\"\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 division={division}\n duration={duration}\n instrument={instrument}\n />\n </>\n )}\n </div>\n );\n};\n\nexport { Widget };\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,iBAAiB,QAAQ,2BAA2B;AACnE,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,aAAa,QAAQ,iBAAiB;AAG/C,MAAMC,MAAM,GAAGC,IAAA,IAA2D;EAAA,IAA1D;IAAEC,QAAQ;IAAEC,UAAU;IAAEC,QAAQ;IAAEC;EAAkB,CAAC,GAAAJ,IAAA;EACnE,MAAM;IAAEK;EAAK,CAAC,GAAGV,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEW;EAAK,CAAC,GAAGZ,iBAAiB,CAAC,CAAC;EACpC,MAAMa,SAAS,GAAGD,IAAI,KAAKb,IAAI,CAACe,OAAO;EAEvC,OACEX,KAAA,CAAAY,aAAA;IACEC,SAAS,EAAC,2CAA2C;IACrD,eAAY;EAA8B,GAEzCJ,IAAI,IACHT,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAc,QAAA,QACEd,KAAA,CAAAY,aAAA;IACEC,SAAS,EAAEd,UAAU,CAAC,cAAc,EAAE;MACpC,oCAAoC,EAAEW,SAAS;MAC/C,oBAAoB,EAAE,CAACA;IACzB,CAAC;EAAE,GAEHV,KAAA,CAAAY,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,EACtFhB,KAAA,CAAAY,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,EACNhB,KAAA,CAAAY,aAAA,CAACX,aAAa;IACZM,IAAI,EAAEA,IAAK;IACXH,QAAQ,EAAEA,QAAS;IACnBE,QAAQ,EAAEA,QAAS;IACnBD,UAAU,EAAEA;EAAW,CACxB,CACD,CAED,CAAC;AAEV,CAAC;AAED,SAASH,MAAM","ignoreList":[]}
|