@oanda/labs-currency-power-balance-widget 1.0.184 → 1.0.186
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 +1492 -0
- package/dist/main/CurrencyPowerBalanceWidget/components/Chart/options/getOption.js +1 -1
- package/dist/main/CurrencyPowerBalanceWidget/components/Chart/options/getOption.js.map +1 -1
- package/dist/module/CurrencyPowerBalanceWidget/components/Chart/options/getOption.js +1 -1
- package/dist/module/CurrencyPowerBalanceWidget/components/Chart/options/getOption.js.map +1 -1
- package/dist/types/CurrencyPowerBalanceWidget/components/Chart/options/getOption.d.ts +1 -1
- package/package.json +3 -3
- package/src/CurrencyPowerBalanceWidget/components/Chart/options/getOption.ts +1 -1
|
@@ -52,7 +52,7 @@ const getOption = (chartData, timeUnit, isDark, isDesktop, isMobile, lang) => {
|
|
|
52
52
|
shadowOffsetX: 0,
|
|
53
53
|
shadowOffsetY: 6,
|
|
54
54
|
borderWidth: 0,
|
|
55
|
-
color: _labsWidgetCommon.themeColors.textPrimary,
|
|
55
|
+
color: _labsWidgetCommon.themeColors.textPrimary[currentTheme],
|
|
56
56
|
shadowColor: 'rgba(0,0,0,0.1)',
|
|
57
57
|
borderRadius: 4,
|
|
58
58
|
backgroundColor: isDark ? _labsWidgetCommon.themeColors.borderPrimary[currentTheme] : _labsWidgetCommon.themeColors.bgSecondary[currentTheme]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_graphql","_constants","_formatters","_utils","getOption","chartData","timeUnit","isDark","isDesktop","isMobile","lang","currentTheme","Theme","Dark","Light","dataTimestamps","power","map","x","Date","point","getTime","weekendsIndexes","findLastIndexesBeforeWeekend","disableWeekendsIndicator","CurrencyPowerBalanceTimeUnit","CurrentDay","PreviousDay","M3","includes","length","weekendsMarks","item","xAxis","label","formatter","seriesData","_ref","index","currency","name","type","symbol","showSymbol","itemStyle","color","COLOR_CONFIG","data","_ref2","price","markLine","show","position","align","distance","padding","fontSize","shadowBlur","shadowOffsetX","shadowOffsetY","borderWidth","themeColors","textPrimary","shadowColor","borderRadius","backgroundColor","borderPrimary","bgSecondary","emphasis","lineStyle","width","opacity","undefined","legendData","formatLegendData","baseGridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT","xLabelsSize","X_LABEL_SIZE_MOBILE","X_LABEL_SIZE","yLabelSize","Y_LABEL_SIZE_MOBILE","Y_LABEL_SIZE","bottomLeftBox","marginBottom","LEGEND_HEIGHT_MOBILE","LEGEND_HEIGHT","animation","legend","bottom","icon","tooltip","trigger","axisPointer","axis","z","TOOLTIP_LINE_COLOR_CONFIG","DARK","LIGHT","tooltipFormatter","extraCssText","axisTick","axisLine","splitLine","axisLabel","margin","rotate","interval","intervalFormatter","xAxisLabelFormatter","yAxis","splitNumber","boundaryGap","showMaxLabel","showMinLabel","series","grid","top","left","right","graphic","exports"],"sources":["../../../../../../src/CurrencyPowerBalanceWidget/components/Chart/options/getOption.ts"],"sourcesContent":["import { getGridLines, Theme, themeColors } from '@oanda/labs-widget-common';\n\nimport type { CurrencyPowerBalance } from '../../../../gql/types/graphql';\nimport { CurrencyPowerBalanceTimeUnit } from '../../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n COLOR_CONFIG,\n LEGEND_HEIGHT,\n LEGEND_HEIGHT_MOBILE,\n TOOLTIP_LINE_COLOR_CONFIG,\n X_LABEL_SIZE,\n X_LABEL_SIZE_MOBILE,\n Y_LABEL_SIZE,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport {\n formatLegendData,\n intervalFormatter,\n tooltipFormatter,\n xAxisLabelFormatter,\n} from './formatters';\nimport { findLastIndexesBeforeWeekend } from './utils';\n\nconst getOption = (\n chartData: CurrencyPowerBalance[],\n timeUnit: CurrencyPowerBalanceTimeUnit,\n isDark: boolean,\n isDesktop: boolean,\n isMobile: boolean,\n lang: (key: string) => string\n) => {\n const currentTheme = isDark ? Theme.Dark : Theme.Light;\n const dataTimestamps = chartData[0].power.map((x) =>\n new Date(x.point).getTime()\n );\n const weekendsIndexes = findLastIndexesBeforeWeekend(dataTimestamps);\n const disableWeekendsIndicator =\n [\n CurrencyPowerBalanceTimeUnit.CurrentDay,\n CurrencyPowerBalanceTimeUnit.PreviousDay,\n CurrencyPowerBalanceTimeUnit.M3,\n ].includes(timeUnit) || weekendsIndexes.length === 0;\n\n const weekendsMarks = weekendsIndexes.map((item) => ({\n xAxis: item,\n label: {\n formatter: () => lang('market_closed'),\n },\n }));\n\n const seriesData = chartData.map(({ currency, power }, index) => ({\n name: currency,\n type: 'line',\n symbol: 'circle',\n showSymbol: false,\n itemStyle: {\n color: COLOR_CONFIG[currency],\n },\n data: power.map(({ point, price }) => [point, price]),\n markLine:\n index === chartData.length - 1 && !disableWeekendsIndicator\n ? {\n label: {\n show: false,\n position: 'end',\n align: 'center',\n distance: -32,\n padding: [8, 8],\n fontSize: 12,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n borderWidth: 0,\n color: themeColors.textPrimary,\n shadowColor: 'rgba(0,0,0,0.1)',\n borderRadius: 4,\n backgroundColor: isDark\n ? themeColors.borderPrimary[currentTheme]\n : themeColors.bgSecondary[currentTheme],\n },\n show: false,\n emphasis: {\n label: {\n show: true,\n },\n lineStyle: {\n width: 1,\n opacity: 0,\n color: themeColors.borderPrimary[currentTheme],\n },\n },\n symbol: ['none', 'none'],\n itemStyle: {\n color: themeColors.borderPrimary[currentTheme],\n },\n data: weekendsMarks,\n }\n : undefined,\n }));\n\n const legendData = formatLegendData(chartData);\n\n const baseGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: isMobile ? X_LABEL_SIZE_MOBILE : X_LABEL_SIZE,\n yLabelSize: isMobile ? Y_LABEL_SIZE_MOBILE : Y_LABEL_SIZE,\n bottomLeftBox: false,\n marginBottom: isMobile ? LEGEND_HEIGHT_MOBILE : LEGEND_HEIGHT,\n });\n\n return {\n animation: false,\n legend: {\n data: legendData,\n bottom: 10,\n icon: 'circle',\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n z: 0,\n lineStyle: {\n color: isDark\n ? TOOLTIP_LINE_COLOR_CONFIG.DARK\n : TOOLTIP_LINE_COLOR_CONFIG.LIGHT,\n },\n },\n formatter: tooltipFormatter,\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n axisTick: {\n show: false,\n },\n axisLine: { show: false },\n splitLine: {\n show: true,\n },\n axisLabel: {\n padding: [0, 0, 0, 4],\n align: 'left',\n margin: 10,\n rotate: -45,\n interval: intervalFormatter(seriesData[0].data.length),\n formatter: (label: string) => xAxisLabelFormatter(label, timeUnit),\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n boundaryGap: ['10%', '10%'],\n axisLabel: {\n showMaxLabel: false,\n showMinLabel: false,\n margin: isDesktop ? 8 : 6,\n },\n },\n series: seriesData,\n grid: [\n {\n name: 'main-grid',\n top: '0px',\n left: '0px',\n right: `${isMobile ? Y_LABEL_SIZE_MOBILE : Y_LABEL_SIZE}px`,\n bottom: `${isMobile ? X_LABEL_SIZE_MOBILE : X_LABEL_SIZE}px`,\n },\n ],\n graphic: [...baseGridLines],\n };\n};\n\nexport { getOption };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_graphql","_constants","_formatters","_utils","getOption","chartData","timeUnit","isDark","isDesktop","isMobile","lang","currentTheme","Theme","Dark","Light","dataTimestamps","power","map","x","Date","point","getTime","weekendsIndexes","findLastIndexesBeforeWeekend","disableWeekendsIndicator","CurrencyPowerBalanceTimeUnit","CurrentDay","PreviousDay","M3","includes","length","weekendsMarks","item","xAxis","label","formatter","seriesData","_ref","index","currency","name","type","symbol","showSymbol","itemStyle","color","COLOR_CONFIG","data","_ref2","price","markLine","show","position","align","distance","padding","fontSize","shadowBlur","shadowOffsetX","shadowOffsetY","borderWidth","themeColors","textPrimary","shadowColor","borderRadius","backgroundColor","borderPrimary","bgSecondary","emphasis","lineStyle","width","opacity","undefined","legendData","formatLegendData","baseGridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT","xLabelsSize","X_LABEL_SIZE_MOBILE","X_LABEL_SIZE","yLabelSize","Y_LABEL_SIZE_MOBILE","Y_LABEL_SIZE","bottomLeftBox","marginBottom","LEGEND_HEIGHT_MOBILE","LEGEND_HEIGHT","animation","legend","bottom","icon","tooltip","trigger","axisPointer","axis","z","TOOLTIP_LINE_COLOR_CONFIG","DARK","LIGHT","tooltipFormatter","extraCssText","axisTick","axisLine","splitLine","axisLabel","margin","rotate","interval","intervalFormatter","xAxisLabelFormatter","yAxis","splitNumber","boundaryGap","showMaxLabel","showMinLabel","series","grid","top","left","right","graphic","exports"],"sources":["../../../../../../src/CurrencyPowerBalanceWidget/components/Chart/options/getOption.ts"],"sourcesContent":["import { getGridLines, Theme, themeColors } from '@oanda/labs-widget-common';\n\nimport type { CurrencyPowerBalance } from '../../../../gql/types/graphql';\nimport { CurrencyPowerBalanceTimeUnit } from '../../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n COLOR_CONFIG,\n LEGEND_HEIGHT,\n LEGEND_HEIGHT_MOBILE,\n TOOLTIP_LINE_COLOR_CONFIG,\n X_LABEL_SIZE,\n X_LABEL_SIZE_MOBILE,\n Y_LABEL_SIZE,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport {\n formatLegendData,\n intervalFormatter,\n tooltipFormatter,\n xAxisLabelFormatter,\n} from './formatters';\nimport { findLastIndexesBeforeWeekend } from './utils';\n\nconst getOption = (\n chartData: CurrencyPowerBalance[],\n timeUnit: CurrencyPowerBalanceTimeUnit,\n isDark: boolean,\n isDesktop: boolean,\n isMobile: boolean,\n lang: (key: string) => string\n) => {\n const currentTheme = isDark ? Theme.Dark : Theme.Light;\n const dataTimestamps = chartData[0].power.map((x) =>\n new Date(x.point).getTime()\n );\n const weekendsIndexes = findLastIndexesBeforeWeekend(dataTimestamps);\n const disableWeekendsIndicator =\n [\n CurrencyPowerBalanceTimeUnit.CurrentDay,\n CurrencyPowerBalanceTimeUnit.PreviousDay,\n CurrencyPowerBalanceTimeUnit.M3,\n ].includes(timeUnit) || weekendsIndexes.length === 0;\n\n const weekendsMarks = weekendsIndexes.map((item) => ({\n xAxis: item,\n label: {\n formatter: () => lang('market_closed'),\n },\n }));\n\n const seriesData = chartData.map(({ currency, power }, index) => ({\n name: currency,\n type: 'line',\n symbol: 'circle',\n showSymbol: false,\n itemStyle: {\n color: COLOR_CONFIG[currency],\n },\n data: power.map(({ point, price }) => [point, price]),\n markLine:\n index === chartData.length - 1 && !disableWeekendsIndicator\n ? {\n label: {\n show: false,\n position: 'end',\n align: 'center',\n distance: -32,\n padding: [8, 8],\n fontSize: 12,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n borderWidth: 0,\n color: themeColors.textPrimary[currentTheme],\n shadowColor: 'rgba(0,0,0,0.1)',\n borderRadius: 4,\n backgroundColor: isDark\n ? themeColors.borderPrimary[currentTheme]\n : themeColors.bgSecondary[currentTheme],\n },\n show: false,\n emphasis: {\n label: {\n show: true,\n },\n lineStyle: {\n width: 1,\n opacity: 0,\n color: themeColors.borderPrimary[currentTheme],\n },\n },\n symbol: ['none', 'none'],\n itemStyle: {\n color: themeColors.borderPrimary[currentTheme],\n },\n data: weekendsMarks,\n }\n : undefined,\n }));\n\n const legendData = formatLegendData(chartData);\n\n const baseGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: isMobile ? X_LABEL_SIZE_MOBILE : X_LABEL_SIZE,\n yLabelSize: isMobile ? Y_LABEL_SIZE_MOBILE : Y_LABEL_SIZE,\n bottomLeftBox: false,\n marginBottom: isMobile ? LEGEND_HEIGHT_MOBILE : LEGEND_HEIGHT,\n });\n\n return {\n animation: false,\n legend: {\n data: legendData,\n bottom: 10,\n icon: 'circle',\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n z: 0,\n lineStyle: {\n color: isDark\n ? TOOLTIP_LINE_COLOR_CONFIG.DARK\n : TOOLTIP_LINE_COLOR_CONFIG.LIGHT,\n },\n },\n formatter: tooltipFormatter,\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n axisTick: {\n show: false,\n },\n axisLine: { show: false },\n splitLine: {\n show: true,\n },\n axisLabel: {\n padding: [0, 0, 0, 4],\n align: 'left',\n margin: 10,\n rotate: -45,\n interval: intervalFormatter(seriesData[0].data.length),\n formatter: (label: string) => xAxisLabelFormatter(label, timeUnit),\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n boundaryGap: ['10%', '10%'],\n axisLabel: {\n showMaxLabel: false,\n showMinLabel: false,\n margin: isDesktop ? 8 : 6,\n },\n },\n series: seriesData,\n grid: [\n {\n name: 'main-grid',\n top: '0px',\n left: '0px',\n right: `${isMobile ? Y_LABEL_SIZE_MOBILE : Y_LABEL_SIZE}px`,\n bottom: `${isMobile ? X_LABEL_SIZE_MOBILE : X_LABEL_SIZE}px`,\n },\n ],\n graphic: [...baseGridLines],\n };\n};\n\nexport { getOption };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -46,7 +46,7 @@ const getOption = (chartData, timeUnit, isDark, isDesktop, isMobile, lang) => {
|
|
|
46
46
|
shadowOffsetX: 0,
|
|
47
47
|
shadowOffsetY: 6,
|
|
48
48
|
borderWidth: 0,
|
|
49
|
-
color: themeColors.textPrimary,
|
|
49
|
+
color: themeColors.textPrimary[currentTheme],
|
|
50
50
|
shadowColor: 'rgba(0,0,0,0.1)',
|
|
51
51
|
borderRadius: 4,
|
|
52
52
|
backgroundColor: isDark ? themeColors.borderPrimary[currentTheme] : themeColors.bgSecondary[currentTheme]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOption.js","names":["getGridLines","Theme","themeColors","CurrencyPowerBalanceTimeUnit","CHART_HEIGHT","CHART_WIDTH","COLOR_CONFIG","LEGEND_HEIGHT","LEGEND_HEIGHT_MOBILE","TOOLTIP_LINE_COLOR_CONFIG","X_LABEL_SIZE","X_LABEL_SIZE_MOBILE","Y_LABEL_SIZE","Y_LABEL_SIZE_MOBILE","formatLegendData","intervalFormatter","tooltipFormatter","xAxisLabelFormatter","findLastIndexesBeforeWeekend","getOption","chartData","timeUnit","isDark","isDesktop","isMobile","lang","currentTheme","Dark","Light","dataTimestamps","power","map","x","Date","point","getTime","weekendsIndexes","disableWeekendsIndicator","CurrentDay","PreviousDay","M3","includes","length","weekendsMarks","item","xAxis","label","formatter","seriesData","_ref","index","currency","name","type","symbol","showSymbol","itemStyle","color","data","_ref2","price","markLine","show","position","align","distance","padding","fontSize","shadowBlur","shadowOffsetX","shadowOffsetY","borderWidth","textPrimary","shadowColor","borderRadius","backgroundColor","borderPrimary","bgSecondary","emphasis","lineStyle","width","opacity","undefined","legendData","baseGridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","bottomLeftBox","marginBottom","animation","legend","bottom","icon","tooltip","trigger","axisPointer","axis","z","DARK","LIGHT","extraCssText","axisTick","axisLine","splitLine","axisLabel","margin","rotate","interval","yAxis","splitNumber","boundaryGap","showMaxLabel","showMinLabel","series","grid","top","left","right","graphic"],"sources":["../../../../../../src/CurrencyPowerBalanceWidget/components/Chart/options/getOption.ts"],"sourcesContent":["import { getGridLines, Theme, themeColors } from '@oanda/labs-widget-common';\n\nimport type { CurrencyPowerBalance } from '../../../../gql/types/graphql';\nimport { CurrencyPowerBalanceTimeUnit } from '../../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n COLOR_CONFIG,\n LEGEND_HEIGHT,\n LEGEND_HEIGHT_MOBILE,\n TOOLTIP_LINE_COLOR_CONFIG,\n X_LABEL_SIZE,\n X_LABEL_SIZE_MOBILE,\n Y_LABEL_SIZE,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport {\n formatLegendData,\n intervalFormatter,\n tooltipFormatter,\n xAxisLabelFormatter,\n} from './formatters';\nimport { findLastIndexesBeforeWeekend } from './utils';\n\nconst getOption = (\n chartData: CurrencyPowerBalance[],\n timeUnit: CurrencyPowerBalanceTimeUnit,\n isDark: boolean,\n isDesktop: boolean,\n isMobile: boolean,\n lang: (key: string) => string\n) => {\n const currentTheme = isDark ? Theme.Dark : Theme.Light;\n const dataTimestamps = chartData[0].power.map((x) =>\n new Date(x.point).getTime()\n );\n const weekendsIndexes = findLastIndexesBeforeWeekend(dataTimestamps);\n const disableWeekendsIndicator =\n [\n CurrencyPowerBalanceTimeUnit.CurrentDay,\n CurrencyPowerBalanceTimeUnit.PreviousDay,\n CurrencyPowerBalanceTimeUnit.M3,\n ].includes(timeUnit) || weekendsIndexes.length === 0;\n\n const weekendsMarks = weekendsIndexes.map((item) => ({\n xAxis: item,\n label: {\n formatter: () => lang('market_closed'),\n },\n }));\n\n const seriesData = chartData.map(({ currency, power }, index) => ({\n name: currency,\n type: 'line',\n symbol: 'circle',\n showSymbol: false,\n itemStyle: {\n color: COLOR_CONFIG[currency],\n },\n data: power.map(({ point, price }) => [point, price]),\n markLine:\n index === chartData.length - 1 && !disableWeekendsIndicator\n ? {\n label: {\n show: false,\n position: 'end',\n align: 'center',\n distance: -32,\n padding: [8, 8],\n fontSize: 12,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n borderWidth: 0,\n color: themeColors.textPrimary,\n shadowColor: 'rgba(0,0,0,0.1)',\n borderRadius: 4,\n backgroundColor: isDark\n ? themeColors.borderPrimary[currentTheme]\n : themeColors.bgSecondary[currentTheme],\n },\n show: false,\n emphasis: {\n label: {\n show: true,\n },\n lineStyle: {\n width: 1,\n opacity: 0,\n color: themeColors.borderPrimary[currentTheme],\n },\n },\n symbol: ['none', 'none'],\n itemStyle: {\n color: themeColors.borderPrimary[currentTheme],\n },\n data: weekendsMarks,\n }\n : undefined,\n }));\n\n const legendData = formatLegendData(chartData);\n\n const baseGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: isMobile ? X_LABEL_SIZE_MOBILE : X_LABEL_SIZE,\n yLabelSize: isMobile ? Y_LABEL_SIZE_MOBILE : Y_LABEL_SIZE,\n bottomLeftBox: false,\n marginBottom: isMobile ? LEGEND_HEIGHT_MOBILE : LEGEND_HEIGHT,\n });\n\n return {\n animation: false,\n legend: {\n data: legendData,\n bottom: 10,\n icon: 'circle',\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n z: 0,\n lineStyle: {\n color: isDark\n ? TOOLTIP_LINE_COLOR_CONFIG.DARK\n : TOOLTIP_LINE_COLOR_CONFIG.LIGHT,\n },\n },\n formatter: tooltipFormatter,\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n axisTick: {\n show: false,\n },\n axisLine: { show: false },\n splitLine: {\n show: true,\n },\n axisLabel: {\n padding: [0, 0, 0, 4],\n align: 'left',\n margin: 10,\n rotate: -45,\n interval: intervalFormatter(seriesData[0].data.length),\n formatter: (label: string) => xAxisLabelFormatter(label, timeUnit),\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n boundaryGap: ['10%', '10%'],\n axisLabel: {\n showMaxLabel: false,\n showMinLabel: false,\n margin: isDesktop ? 8 : 6,\n },\n },\n series: seriesData,\n grid: [\n {\n name: 'main-grid',\n top: '0px',\n left: '0px',\n right: `${isMobile ? Y_LABEL_SIZE_MOBILE : Y_LABEL_SIZE}px`,\n bottom: `${isMobile ? X_LABEL_SIZE_MOBILE : X_LABEL_SIZE}px`,\n },\n ],\n graphic: [...baseGridLines],\n };\n};\n\nexport { getOption };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"getOption.js","names":["getGridLines","Theme","themeColors","CurrencyPowerBalanceTimeUnit","CHART_HEIGHT","CHART_WIDTH","COLOR_CONFIG","LEGEND_HEIGHT","LEGEND_HEIGHT_MOBILE","TOOLTIP_LINE_COLOR_CONFIG","X_LABEL_SIZE","X_LABEL_SIZE_MOBILE","Y_LABEL_SIZE","Y_LABEL_SIZE_MOBILE","formatLegendData","intervalFormatter","tooltipFormatter","xAxisLabelFormatter","findLastIndexesBeforeWeekend","getOption","chartData","timeUnit","isDark","isDesktop","isMobile","lang","currentTheme","Dark","Light","dataTimestamps","power","map","x","Date","point","getTime","weekendsIndexes","disableWeekendsIndicator","CurrentDay","PreviousDay","M3","includes","length","weekendsMarks","item","xAxis","label","formatter","seriesData","_ref","index","currency","name","type","symbol","showSymbol","itemStyle","color","data","_ref2","price","markLine","show","position","align","distance","padding","fontSize","shadowBlur","shadowOffsetX","shadowOffsetY","borderWidth","textPrimary","shadowColor","borderRadius","backgroundColor","borderPrimary","bgSecondary","emphasis","lineStyle","width","opacity","undefined","legendData","baseGridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","bottomLeftBox","marginBottom","animation","legend","bottom","icon","tooltip","trigger","axisPointer","axis","z","DARK","LIGHT","extraCssText","axisTick","axisLine","splitLine","axisLabel","margin","rotate","interval","yAxis","splitNumber","boundaryGap","showMaxLabel","showMinLabel","series","grid","top","left","right","graphic"],"sources":["../../../../../../src/CurrencyPowerBalanceWidget/components/Chart/options/getOption.ts"],"sourcesContent":["import { getGridLines, Theme, themeColors } from '@oanda/labs-widget-common';\n\nimport type { CurrencyPowerBalance } from '../../../../gql/types/graphql';\nimport { CurrencyPowerBalanceTimeUnit } from '../../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n COLOR_CONFIG,\n LEGEND_HEIGHT,\n LEGEND_HEIGHT_MOBILE,\n TOOLTIP_LINE_COLOR_CONFIG,\n X_LABEL_SIZE,\n X_LABEL_SIZE_MOBILE,\n Y_LABEL_SIZE,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport {\n formatLegendData,\n intervalFormatter,\n tooltipFormatter,\n xAxisLabelFormatter,\n} from './formatters';\nimport { findLastIndexesBeforeWeekend } from './utils';\n\nconst getOption = (\n chartData: CurrencyPowerBalance[],\n timeUnit: CurrencyPowerBalanceTimeUnit,\n isDark: boolean,\n isDesktop: boolean,\n isMobile: boolean,\n lang: (key: string) => string\n) => {\n const currentTheme = isDark ? Theme.Dark : Theme.Light;\n const dataTimestamps = chartData[0].power.map((x) =>\n new Date(x.point).getTime()\n );\n const weekendsIndexes = findLastIndexesBeforeWeekend(dataTimestamps);\n const disableWeekendsIndicator =\n [\n CurrencyPowerBalanceTimeUnit.CurrentDay,\n CurrencyPowerBalanceTimeUnit.PreviousDay,\n CurrencyPowerBalanceTimeUnit.M3,\n ].includes(timeUnit) || weekendsIndexes.length === 0;\n\n const weekendsMarks = weekendsIndexes.map((item) => ({\n xAxis: item,\n label: {\n formatter: () => lang('market_closed'),\n },\n }));\n\n const seriesData = chartData.map(({ currency, power }, index) => ({\n name: currency,\n type: 'line',\n symbol: 'circle',\n showSymbol: false,\n itemStyle: {\n color: COLOR_CONFIG[currency],\n },\n data: power.map(({ point, price }) => [point, price]),\n markLine:\n index === chartData.length - 1 && !disableWeekendsIndicator\n ? {\n label: {\n show: false,\n position: 'end',\n align: 'center',\n distance: -32,\n padding: [8, 8],\n fontSize: 12,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n borderWidth: 0,\n color: themeColors.textPrimary[currentTheme],\n shadowColor: 'rgba(0,0,0,0.1)',\n borderRadius: 4,\n backgroundColor: isDark\n ? themeColors.borderPrimary[currentTheme]\n : themeColors.bgSecondary[currentTheme],\n },\n show: false,\n emphasis: {\n label: {\n show: true,\n },\n lineStyle: {\n width: 1,\n opacity: 0,\n color: themeColors.borderPrimary[currentTheme],\n },\n },\n symbol: ['none', 'none'],\n itemStyle: {\n color: themeColors.borderPrimary[currentTheme],\n },\n data: weekendsMarks,\n }\n : undefined,\n }));\n\n const legendData = formatLegendData(chartData);\n\n const baseGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: isMobile ? X_LABEL_SIZE_MOBILE : X_LABEL_SIZE,\n yLabelSize: isMobile ? Y_LABEL_SIZE_MOBILE : Y_LABEL_SIZE,\n bottomLeftBox: false,\n marginBottom: isMobile ? LEGEND_HEIGHT_MOBILE : LEGEND_HEIGHT,\n });\n\n return {\n animation: false,\n legend: {\n data: legendData,\n bottom: 10,\n icon: 'circle',\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n z: 0,\n lineStyle: {\n color: isDark\n ? TOOLTIP_LINE_COLOR_CONFIG.DARK\n : TOOLTIP_LINE_COLOR_CONFIG.LIGHT,\n },\n },\n formatter: tooltipFormatter,\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n axisTick: {\n show: false,\n },\n axisLine: { show: false },\n splitLine: {\n show: true,\n },\n axisLabel: {\n padding: [0, 0, 0, 4],\n align: 'left',\n margin: 10,\n rotate: -45,\n interval: intervalFormatter(seriesData[0].data.length),\n formatter: (label: string) => xAxisLabelFormatter(label, timeUnit),\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n boundaryGap: ['10%', '10%'],\n axisLabel: {\n showMaxLabel: false,\n showMinLabel: false,\n margin: isDesktop ? 8 : 6,\n },\n },\n series: seriesData,\n grid: [\n {\n name: 'main-grid',\n top: '0px',\n left: '0px',\n right: `${isMobile ? Y_LABEL_SIZE_MOBILE : Y_LABEL_SIZE}px`,\n bottom: `${isMobile ? X_LABEL_SIZE_MOBILE : X_LABEL_SIZE}px`,\n },\n ],\n graphic: [...baseGridLines],\n };\n};\n\nexport { getOption };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -82,7 +82,7 @@ declare const getOption: (chartData: CurrencyPowerBalance[], timeUnit: CurrencyP
|
|
|
82
82
|
shadowOffsetX: number;
|
|
83
83
|
shadowOffsetY: number;
|
|
84
84
|
borderWidth: number;
|
|
85
|
-
color:
|
|
85
|
+
color: string;
|
|
86
86
|
shadowColor: string;
|
|
87
87
|
borderRadius: number;
|
|
88
88
|
backgroundColor: string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oanda/labs-currency-power-balance-widget",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.186",
|
|
4
4
|
"description": "Labs Currency Power Balance Widget",
|
|
5
5
|
"main": "dist/main/index.js",
|
|
6
6
|
"module": "dist/module/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"author": "OANDA",
|
|
14
14
|
"license": "UNLICENSED",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@oanda/labs-widget-common": "^1.0.
|
|
16
|
+
"@oanda/labs-widget-common": "^1.0.247",
|
|
17
17
|
"@oanda/mono-i18n": "10.0.1",
|
|
18
18
|
"echarts": "6.0.0",
|
|
19
19
|
"echarts-for-react": "3.0.4",
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
"@graphql-codegen/cli": "5.0.0",
|
|
24
24
|
"@graphql-codegen/client-preset": "4.1.0"
|
|
25
25
|
},
|
|
26
|
-
"gitHead": "
|
|
26
|
+
"gitHead": "44e45e92597d1504ca193e866b965b93f8b72dd3"
|
|
27
27
|
}
|