@oanda/labs-volatility-chart-widget 1.0.167 → 1.0.169

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.
@@ -10,9 +10,10 @@ var _charts = require("echarts/charts");
10
10
  var _components = require("echarts/components");
11
11
  var echarts = _interopRequireWildcard(require("echarts/core"));
12
12
  var _renderers = require("echarts/renderers");
13
- var _react = _interopRequireWildcard(require("react"));
13
+ var _react = _interopRequireDefault(require("react"));
14
14
  var _constants = require("./constants");
15
15
  var _getOption = require("./getOption");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  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); }
17
18
  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; }
18
19
  echarts.use([_components.GridSimpleComponent, _components.GraphicComponent, _components.TooltipComponent, _components.TitleComponent, _charts.BarChart, _renderers.CanvasRenderer]);
@@ -27,50 +28,29 @@ const Chart = _ref => {
27
28
  lang
28
29
  } = (0, _monoI18n.useLocale)();
29
30
  const {
30
- isDark,
31
- size
31
+ isDark
32
32
  } = (0, _labsWidgetCommon.useLayoutProvider)();
33
- const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
34
- const echartRef = (0, _react.useRef)(null);
35
- (0, _react.useEffect)(() => {
36
- if (echartRef.current) {
37
- const echartInstance = echartRef.current.getEchartsInstance();
38
- echartInstance.setOption(isDesktop ? (0, _getOption.getDesktopOption)({
39
- timeUnit,
40
- lang,
41
- isDark
42
- }) : (0, _getOption.getMobileOption)({
43
- timeUnit,
44
- lang,
45
- isDark
46
- }));
47
- }
48
- }, [echartRef, timeUnit, isDesktop, lang, isDark]);
49
- (0, _react.useEffect)(() => {
50
- if (echartRef.current) {
51
- const echartInstance = echartRef.current.getEchartsInstance();
52
- echartInstance.on('highlight', () => {
53
- echartInstance.setOption({
33
+ return _react.default.createElement(_labsWidgetCommon.BaseChart, {
34
+ chartHeight: _constants.CHART_HEIGHT,
35
+ echarts: echarts,
36
+ isDark: isDark,
37
+ option: (0, _getOption.getOption)(values, lang, timeUnit, isDark),
38
+ onEvents: {
39
+ highlight: (_params, instance) => {
40
+ instance.setOption({
54
41
  title: {
55
42
  show: false
56
43
  }
57
44
  });
58
- });
59
- echartInstance.on('globalout', () => {
60
- echartInstance.setOption({
45
+ },
46
+ globalout: (_params, instance) => {
47
+ instance.setOption({
61
48
  title: {
62
- show: window.innerWidth < 769
49
+ show: true
63
50
  }
64
51
  });
65
- });
52
+ }
66
53
  }
67
- }, [echartRef]);
68
- return _react.default.createElement(_labsWidgetCommon.BaseChart, {
69
- ref: echartRef,
70
- chartHeight: _constants.CHART_HEIGHT,
71
- echarts: echarts,
72
- isDark: isDark,
73
- option: (0, _getOption.getOption)(values, lang, timeUnit)
74
54
  });
75
55
  };
76
56
  exports.Chart = Chart;
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_constants","_getOption","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","use","GridSimpleComponent","GraphicComponent","TooltipComponent","TitleComponent","BarChart","CanvasRenderer","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","values","timeUnit","lang","useLocale","isDark","size","useLayoutProvider","isDesktop","Size","DESKTOP","echartRef","useRef","useEffect","current","echartInstance","getEchartsInstance","setOption","getDesktopOption","getMobileOption","on","title","show","window","innerWidth","createElement","BaseChart","ref","chartHeight","CHART_HEIGHT","option","getOption","exports"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/Chart.tsx"],"sourcesContent":["import type { BaseChartRef } from '@oanda/labs-widget-common';\nimport {\n BaseChart,\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { BarChart } from 'echarts/charts';\nimport {\n GraphicComponent,\n GridSimpleComponent,\n TitleComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React, { useEffect, useRef } from 'react';\n\nimport { CHART_HEIGHT } from './constants';\nimport { getDesktopOption, getMobileOption, getOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n BarChart,\n CanvasRenderer,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values, timeUnit }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const echartRef = useRef<BaseChartRef | null>(null);\n\n useEffect(() => {\n if (echartRef.current) {\n const echartInstance = echartRef.current.getEchartsInstance();\n\n echartInstance.setOption(\n isDesktop\n ? getDesktopOption({ timeUnit, lang, isDark })\n : getMobileOption({ timeUnit, lang, isDark })\n );\n }\n }, [echartRef, timeUnit, isDesktop, lang, isDark]);\n\n useEffect(() => {\n if (echartRef.current) {\n const echartInstance = echartRef.current.getEchartsInstance();\n\n echartInstance.on('highlight', () => {\n echartInstance.setOption({\n title: {\n show: false,\n },\n });\n });\n\n echartInstance.on('globalout', () => {\n echartInstance.setOption({\n title: {\n show: window.innerWidth < 769,\n },\n });\n });\n }\n }, [echartRef]);\n\n return (\n <BaseChart\n ref={echartRef}\n chartHeight={CHART_HEIGHT}\n echarts={echarts}\n isDark={isDark}\n option={getOption(values, lang, timeUnit)}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_interopRequireDefault","_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","TooltipComponent","TitleComponent","BarChart","CanvasRenderer","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","values","timeUnit","lang","useLocale","isDark","useLayoutProvider","createElement","BaseChart","chartHeight","CHART_HEIGHT","option","getOption","onEvents","highlight","_params","instance","setOption","title","show","globalout","exports"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { BarChart } from 'echarts/charts';\nimport {\n GraphicComponent,\n GridSimpleComponent,\n TitleComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\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 TooltipComponent,\n TitleComponent,\n BarChart,\n CanvasRenderer,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values, timeUnit }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark } = useLayoutProvider();\n\n return (\n <BaseChart\n chartHeight={CHART_HEIGHT}\n echarts={echarts}\n isDark={isDark}\n option={getOption(values, lang, timeUnit, isDark)}\n onEvents={{\n highlight: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n title: {\n show: false,\n },\n });\n },\n globalout: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n title: {\n show: true,\n },\n });\n },\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
@@ -33,7 +33,7 @@ const getDesktopOption = _ref2 => {
33
33
  });
34
34
  return {
35
35
  title: {
36
- show: false
36
+ text: ''
37
37
  },
38
38
  tooltip: {
39
39
  position: undefined,
@@ -94,7 +94,7 @@ const getMobileOption = _ref3 => {
94
94
  });
95
95
  return {
96
96
  title: {
97
- show: true
97
+ text: lang('mobile_tooltip_placeholder')
98
98
  },
99
99
  tooltip: {
100
100
  backgroundColor: 'transparent',
@@ -155,7 +155,7 @@ const pointFormatter = _ref4 => {
155
155
  return point;
156
156
  };
157
157
  exports.pointFormatter = pointFormatter;
158
- const getOption = (values, lang, timeUnit) => {
158
+ const getOption = (values, lang, timeUnit, isDark) => {
159
159
  const pipsValues = values.map(_ref5 => {
160
160
  let {
161
161
  pips
@@ -177,7 +177,6 @@ const getOption = (values, lang, timeUnit) => {
177
177
  title: {
178
178
  left: 10,
179
179
  top: 20,
180
- text: lang('mobile_tooltip_placeholder'),
181
180
  textStyle: {
182
181
  fontFamily: 'Sofia W03',
183
182
  fontWeight: 500,
@@ -232,6 +231,29 @@ const getOption = (values, lang, timeUnit) => {
232
231
  data: pipsValues,
233
232
  name: 'main',
234
233
  type: 'bar'
234
+ }],
235
+ media: [{
236
+ query: {
237
+ minWidth: _labsWidgetCommon.DESKTOP_MIN_WIDTH
238
+ },
239
+ option: {
240
+ ...getDesktopOption({
241
+ timeUnit,
242
+ lang,
243
+ isDark
244
+ })
245
+ }
246
+ }, {
247
+ query: {
248
+ maxWidth: _labsWidgetCommon.DESKTOP_MIN_WIDTH - 1
249
+ },
250
+ option: {
251
+ ...getMobileOption({
252
+ timeUnit,
253
+ lang,
254
+ isDark
255
+ })
256
+ }
235
257
  }]
236
258
  };
237
259
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_graphql","_constants","tooltipFormatter","_ref","value","timeUnit","lang","data","tooltipLabels","axisValue","exports","getDesktopOption","_ref2","isDark","notDate","VolatilityChartTimeUnit","D","desktopGridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT","xLabelsSize","X_LABEL_SIZE","yLabelSize","Y_LABEL_SIZE_DESKTOP","bottomLeftBox","title","show","tooltip","position","undefined","shadowBlur","shadowOffsetX","shadowOffsetY","backgroundColor","themeColors","borderPrimary","dark","bgPrimary","light","padding","formatter","yAxis","nameTextStyle","align","axisLabel","margin","grid","name","top","left","right","bottom","graphic","getLineCommons","shape","x1","y1","x2","y2","getMobileOption","_ref3","mobileGridLines","Y_LABEL_SIZE_MOBILE","shadowColor","pointFormatter","_ref4","point","Date","toLocaleDateString","month","day","W","weeklyDataLabels","getOption","values","pipsValues","map","_ref5","pips","toFixed","points","_ref6","animation","text","textStyle","fontFamily","fontWeight","trigger","axisPointer","axis","extraCssText","xAxis","type","axisTick","alignWithLabel","axisLine","splitLine","rotate","toUpperCase","splitNumber","rich","a","index","series"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n getGridLines,\n getLineCommons,\n themeColors,\n} from '@oanda/labs-widget-common';\n\nimport { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n tooltipLabels,\n weeklyDataLabels,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport type {\n DaysOfWeekKeys,\n GetOptionType,\n GetResponsiveOptionsProps,\n PointFormatterProps,\n TooltipData,\n TooltipFormatterProps,\n} from './types';\n\nexport const tooltipFormatter = ({\n value,\n timeUnit,\n lang,\n}: TooltipFormatterProps) =>\n `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;\n\nexport const getDesktopOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const notDate = timeUnit !== VolatilityChartTimeUnit.D;\n\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_DESKTOP,\n bottomLeftBox: notDate,\n });\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n position: undefined,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n backgroundColor: isDark\n ? themeColors.borderPrimary.dark\n : themeColors.bgPrimary.light,\n padding: [12, 8, 12, 8],\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 8],\n },\n axisLabel: {\n margin: 8,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '40px',\n left: '0px',\n right: `${Y_LABEL_SIZE_DESKTOP}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n ...getLineCommons(isDark),\n top: 0,\n right: 0,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const getMobileOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const mobileGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: false,\n });\n\n return {\n title: {\n show: true,\n },\n tooltip: {\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n position: [0, 0],\n padding: 16,\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 6],\n },\n axisLabel: {\n margin: 6,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '60px',\n left: '0px',\n right: `${Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...mobileGridLines,\n {\n ...getLineCommons(isDark),\n top: 58,\n right: Y_LABEL_SIZE_MOBILE - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 9999,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const pointFormatter = ({\n point,\n lang,\n timeUnit,\n}: PointFormatterProps) => {\n if (timeUnit === VolatilityChartTimeUnit.D) {\n return new Date(point).toLocaleDateString(undefined, {\n month: 'numeric',\n day: 'numeric',\n });\n }\n if (timeUnit === VolatilityChartTimeUnit.W) {\n return lang(weeklyDataLabels[point as DaysOfWeekKeys]);\n }\n\n return point;\n};\n\nexport const getOption: GetOptionType = (values, lang, timeUnit) => {\n const pipsValues = values.map(({ pips }) => pips.toFixed());\n const points = values.map(({ point }) =>\n pointFormatter({ point, lang, timeUnit })\n );\n\n return {\n animation: false,\n title: {\n left: 10,\n top: 20,\n text: lang('mobile_tooltip_placeholder'),\n textStyle: {\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n padding: 16,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n },\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n data: points,\n axisTick: {\n alignWithLabel: true,\n },\n axisLine: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 10,\n rotate: -45,\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n name: lang('pips').toUpperCase(),\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n rich: {\n a: {\n padding: [0, 0, 20, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}` : `{a|${value}}`),\n },\n },\n series: [\n {\n data: pipsValues,\n name: 'main',\n type: 'bar',\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getOption.js","names":["_labsWidgetCommon","require","_graphql","_constants","tooltipFormatter","_ref","value","timeUnit","lang","data","tooltipLabels","axisValue","exports","getDesktopOption","_ref2","isDark","notDate","VolatilityChartTimeUnit","D","desktopGridLines","getGridLines","chartWidth","CHART_WIDTH","chartHeight","CHART_HEIGHT","xLabelsSize","X_LABEL_SIZE","yLabelSize","Y_LABEL_SIZE_DESKTOP","bottomLeftBox","title","text","tooltip","position","undefined","shadowBlur","shadowOffsetX","shadowOffsetY","backgroundColor","themeColors","borderPrimary","dark","bgPrimary","light","padding","formatter","yAxis","nameTextStyle","align","axisLabel","margin","grid","name","top","left","right","bottom","graphic","getLineCommons","shape","x1","y1","x2","y2","getMobileOption","_ref3","mobileGridLines","Y_LABEL_SIZE_MOBILE","shadowColor","pointFormatter","_ref4","point","Date","toLocaleDateString","month","day","W","weeklyDataLabels","getOption","values","pipsValues","map","_ref5","pips","toFixed","points","_ref6","animation","textStyle","fontFamily","fontWeight","trigger","axisPointer","axis","extraCssText","xAxis","type","axisTick","alignWithLabel","axisLine","show","splitLine","rotate","toUpperCase","splitNumber","rich","a","index","series","media","query","minWidth","DESKTOP_MIN_WIDTH","option","maxWidth"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n DESKTOP_MIN_WIDTH,\n getGridLines,\n getLineCommons,\n themeColors,\n} from '@oanda/labs-widget-common';\n\nimport { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n tooltipLabels,\n weeklyDataLabels,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport type {\n DaysOfWeekKeys,\n GetOptionType,\n GetResponsiveOptionsProps,\n PointFormatterProps,\n TooltipData,\n TooltipFormatterProps,\n} from './types';\n\nexport const tooltipFormatter = ({\n value,\n timeUnit,\n lang,\n}: TooltipFormatterProps) =>\n `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;\n\nexport const getDesktopOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const notDate = timeUnit !== VolatilityChartTimeUnit.D;\n\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_DESKTOP,\n bottomLeftBox: notDate,\n });\n\n return {\n title: {\n text: '',\n },\n tooltip: {\n position: undefined,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n backgroundColor: isDark\n ? themeColors.borderPrimary.dark\n : themeColors.bgPrimary.light,\n padding: [12, 8, 12, 8],\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 8],\n },\n axisLabel: {\n margin: 8,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '40px',\n left: '0px',\n right: `${Y_LABEL_SIZE_DESKTOP}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n ...getLineCommons(isDark),\n top: 0,\n right: 0,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const getMobileOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const mobileGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: false,\n });\n\n return {\n title: {\n text: lang('mobile_tooltip_placeholder'),\n },\n tooltip: {\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n position: [0, 0],\n padding: 16,\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 6],\n },\n axisLabel: {\n margin: 6,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '60px',\n left: '0px',\n right: `${Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...mobileGridLines,\n {\n ...getLineCommons(isDark),\n top: 58,\n right: Y_LABEL_SIZE_MOBILE - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 9999,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const pointFormatter = ({\n point,\n lang,\n timeUnit,\n}: PointFormatterProps) => {\n if (timeUnit === VolatilityChartTimeUnit.D) {\n return new Date(point).toLocaleDateString(undefined, {\n month: 'numeric',\n day: 'numeric',\n });\n }\n if (timeUnit === VolatilityChartTimeUnit.W) {\n return lang(weeklyDataLabels[point as DaysOfWeekKeys]);\n }\n\n return point;\n};\n\nexport const getOption: GetOptionType = (values, lang, timeUnit, isDark) => {\n const pipsValues = values.map(({ pips }) => pips.toFixed());\n const points = values.map(({ point }) =>\n pointFormatter({ point, lang, timeUnit })\n );\n\n return {\n animation: false,\n title: {\n left: 10,\n top: 20,\n textStyle: {\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n padding: 16,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n },\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n data: points,\n axisTick: {\n alignWithLabel: true,\n },\n axisLine: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 10,\n rotate: -45,\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n name: lang('pips').toUpperCase(),\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n rich: {\n a: {\n padding: [0, 0, 20, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}` : `{a|${value}}`),\n },\n },\n series: [\n {\n data: pipsValues,\n name: 'main',\n type: 'bar',\n },\n ],\n media: [\n {\n query: {\n minWidth: DESKTOP_MIN_WIDTH,\n },\n option: {\n ...getDesktopOption({ timeUnit, lang, isDark }),\n },\n },\n {\n query: {\n maxWidth: DESKTOP_MIN_WIDTH - 1,\n },\n option: {\n ...getMobileOption({ timeUnit, lang, isDark }),\n },\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["DaysOfWeekKeys","exports"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\n\nexport enum DaysOfWeekKeys {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n}\nexport interface VolatilityChartDataValues {\n pips: number;\n point: string;\n}\nexport interface ChartProps {\n values: VolatilityChartDataValues[];\n timeUnit: VolatilityChartTimeUnit;\n}\nexport interface TooltipData {\n axisValue: string;\n data: string;\n}\n\nexport type GetOptionType = (\n values: VolatilityChartDataValues[],\n lang: (label: string) => string,\n timeUnit: VolatilityChartTimeUnit\n) => EChartsOption;\n\nexport interface GetResponsiveOptionsProps {\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n isDark: boolean;\n}\n\nexport interface TooltipFormatterProps {\n value: TooltipData[];\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n}\nexport interface PointFormatterProps {\n point: string;\n lang: (label: string) => string;\n timeUnit: VolatilityChartTimeUnit;\n}\n"],"mappings":";;;;;;IAIYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["DaysOfWeekKeys","exports"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\n\nexport enum DaysOfWeekKeys {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n}\nexport interface VolatilityChartDataValues {\n pips: number;\n point: string;\n}\nexport interface ChartProps {\n values: VolatilityChartDataValues[];\n timeUnit: VolatilityChartTimeUnit;\n}\nexport interface TooltipData {\n axisValue: string;\n data: string;\n}\n\nexport type GetOptionType = (\n values: VolatilityChartDataValues[],\n lang: (label: string) => string,\n timeUnit: VolatilityChartTimeUnit,\n isDark: boolean\n) => EChartsOption;\n\nexport interface GetResponsiveOptionsProps {\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n isDark: boolean;\n}\n\nexport interface TooltipFormatterProps {\n value: TooltipData[];\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n}\nexport interface PointFormatterProps {\n point: string;\n lang: (label: string) => string;\n timeUnit: VolatilityChartTimeUnit;\n}\n"],"mappings":";;;;;;IAIYA,cAAc,GAAAC,OAAA,CAAAD,cAAA,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -1,12 +1,12 @@
1
- import { BaseChart, getChartTheme, Size, Theme, useLayoutProvider } from '@oanda/labs-widget-common';
1
+ import { BaseChart, getChartTheme, Theme, useLayoutProvider } from '@oanda/labs-widget-common';
2
2
  import { useLocale } from '@oanda/mono-i18n';
3
3
  import { BarChart } from 'echarts/charts';
4
4
  import { GraphicComponent, GridSimpleComponent, TitleComponent, TooltipComponent } from 'echarts/components';
5
5
  import * as echarts from 'echarts/core';
6
6
  import { CanvasRenderer } from 'echarts/renderers';
7
- import React, { useEffect, useRef } from 'react';
7
+ import React from 'react';
8
8
  import { CHART_HEIGHT } from './constants';
9
- import { getDesktopOption, getMobileOption, getOption } from './getOption';
9
+ import { getOption } from './getOption';
10
10
  echarts.use([GridSimpleComponent, GraphicComponent, TooltipComponent, TitleComponent, BarChart, CanvasRenderer]);
11
11
  echarts.registerTheme('dark_theme', getChartTheme(Theme.Dark));
12
12
  echarts.registerTheme('light_theme', getChartTheme(Theme.Light));
@@ -19,50 +19,29 @@ const Chart = _ref => {
19
19
  lang
20
20
  } = useLocale();
21
21
  const {
22
- isDark,
23
- size
22
+ isDark
24
23
  } = useLayoutProvider();
25
- const isDesktop = size === Size.DESKTOP;
26
- const echartRef = useRef(null);
27
- useEffect(() => {
28
- if (echartRef.current) {
29
- const echartInstance = echartRef.current.getEchartsInstance();
30
- echartInstance.setOption(isDesktop ? getDesktopOption({
31
- timeUnit,
32
- lang,
33
- isDark
34
- }) : getMobileOption({
35
- timeUnit,
36
- lang,
37
- isDark
38
- }));
39
- }
40
- }, [echartRef, timeUnit, isDesktop, lang, isDark]);
41
- useEffect(() => {
42
- if (echartRef.current) {
43
- const echartInstance = echartRef.current.getEchartsInstance();
44
- echartInstance.on('highlight', () => {
45
- echartInstance.setOption({
24
+ return React.createElement(BaseChart, {
25
+ chartHeight: CHART_HEIGHT,
26
+ echarts: echarts,
27
+ isDark: isDark,
28
+ option: getOption(values, lang, timeUnit, isDark),
29
+ onEvents: {
30
+ highlight: (_params, instance) => {
31
+ instance.setOption({
46
32
  title: {
47
33
  show: false
48
34
  }
49
35
  });
50
- });
51
- echartInstance.on('globalout', () => {
52
- echartInstance.setOption({
36
+ },
37
+ globalout: (_params, instance) => {
38
+ instance.setOption({
53
39
  title: {
54
- show: window.innerWidth < 769
40
+ show: true
55
41
  }
56
42
  });
57
- });
43
+ }
58
44
  }
59
- }, [echartRef]);
60
- return React.createElement(BaseChart, {
61
- ref: echartRef,
62
- chartHeight: CHART_HEIGHT,
63
- echarts: echarts,
64
- isDark: isDark,
65
- option: getOption(values, lang, timeUnit)
66
45
  });
67
46
  };
68
47
  export { Chart };
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["BaseChart","getChartTheme","Size","Theme","useLayoutProvider","useLocale","BarChart","GraphicComponent","GridSimpleComponent","TitleComponent","TooltipComponent","echarts","CanvasRenderer","React","useEffect","useRef","CHART_HEIGHT","getDesktopOption","getMobileOption","getOption","use","registerTheme","Dark","Light","Chart","_ref","values","timeUnit","lang","isDark","size","isDesktop","DESKTOP","echartRef","current","echartInstance","getEchartsInstance","setOption","on","title","show","window","innerWidth","createElement","ref","chartHeight","option"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/Chart.tsx"],"sourcesContent":["import type { BaseChartRef } from '@oanda/labs-widget-common';\nimport {\n BaseChart,\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { BarChart } from 'echarts/charts';\nimport {\n GraphicComponent,\n GridSimpleComponent,\n TitleComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React, { useEffect, useRef } from 'react';\n\nimport { CHART_HEIGHT } from './constants';\nimport { getDesktopOption, getMobileOption, getOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TooltipComponent,\n TitleComponent,\n BarChart,\n CanvasRenderer,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values, timeUnit }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const echartRef = useRef<BaseChartRef | null>(null);\n\n useEffect(() => {\n if (echartRef.current) {\n const echartInstance = echartRef.current.getEchartsInstance();\n\n echartInstance.setOption(\n isDesktop\n ? getDesktopOption({ timeUnit, lang, isDark })\n : getMobileOption({ timeUnit, lang, isDark })\n );\n }\n }, [echartRef, timeUnit, isDesktop, lang, isDark]);\n\n useEffect(() => {\n if (echartRef.current) {\n const echartInstance = echartRef.current.getEchartsInstance();\n\n echartInstance.on('highlight', () => {\n echartInstance.setOption({\n title: {\n show: false,\n },\n });\n });\n\n echartInstance.on('globalout', () => {\n echartInstance.setOption({\n title: {\n show: window.innerWidth < 769,\n },\n });\n });\n }\n }, [echartRef]);\n\n return (\n <BaseChart\n ref={echartRef}\n chartHeight={CHART_HEIGHT}\n echarts={echarts}\n isDark={isDark}\n option={getOption(values, lang, timeUnit)}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["BaseChart","getChartTheme","Theme","useLayoutProvider","useLocale","BarChart","GraphicComponent","GridSimpleComponent","TitleComponent","TooltipComponent","echarts","CanvasRenderer","React","CHART_HEIGHT","getOption","use","registerTheme","Dark","Light","Chart","_ref","values","timeUnit","lang","isDark","createElement","chartHeight","option","onEvents","highlight","_params","instance","setOption","title","show","globalout"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { BarChart } from 'echarts/charts';\nimport {\n GraphicComponent,\n GridSimpleComponent,\n TitleComponent,\n TooltipComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\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 TooltipComponent,\n TitleComponent,\n BarChart,\n CanvasRenderer,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values, timeUnit }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark } = useLayoutProvider();\n\n return (\n <BaseChart\n chartHeight={CHART_HEIGHT}\n echarts={echarts}\n isDark={isDark}\n option={getOption(values, lang, timeUnit, isDark)}\n onEvents={{\n highlight: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n title: {\n show: false,\n },\n });\n },\n globalout: (_params: unknown, instance: EChartsType) => {\n instance.setOption({\n title: {\n show: true,\n },\n });\n },\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"AAAA,SACEA,SAAS,EACTC,aAAa,EACbC,KAAK,EACLC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SACEC,gBAAgB,EAChBC,mBAAmB,EACnBC,cAAc,EACdC,gBAAgB,QACX,oBAAoB;AAC3B,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,SAAS,QAAQ,aAAa;AAGvCJ,OAAO,CAACK,GAAG,CAAC,CACVR,mBAAmB,EACnBD,gBAAgB,EAChBG,gBAAgB,EAChBD,cAAc,EACdH,QAAQ,EACRM,cAAc,CACf,CAAC;AAEFD,OAAO,CAACM,aAAa,CAAC,YAAY,EAAEf,aAAa,CAACC,KAAK,CAACe,IAAI,CAAC,CAAC;AAC9DP,OAAO,CAACM,aAAa,CAAC,aAAa,EAAEf,aAAa,CAACC,KAAK,CAACgB,KAAK,CAAC,CAAC;AAEhE,MAAMC,KAAK,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,MAAM;IAAEC;EAAqB,CAAC,GAAAF,IAAA;EAC7C,MAAM;IAAEG;EAAK,CAAC,GAAGnB,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEoB;EAAO,CAAC,GAAGrB,iBAAiB,CAAC,CAAC;EAEtC,OACES,KAAA,CAAAa,aAAA,CAACzB,SAAS;IACR0B,WAAW,EAAEb,YAAa;IAC1BH,OAAO,EAAEA,OAAQ;IACjBc,MAAM,EAAEA,MAAO;IACfG,MAAM,EAAEb,SAAS,CAACO,MAAM,EAAEE,IAAI,EAAED,QAAQ,EAAEE,MAAM,CAAE;IAClDI,QAAQ,EAAE;MACRC,SAAS,EAAEA,CAACC,OAAgB,EAAEC,QAAqB,KAAK;QACtDA,QAAQ,CAACC,SAAS,CAAC;UACjBC,KAAK,EAAE;YACLC,IAAI,EAAE;UACR;QACF,CAAC,CAAC;MACJ,CAAC;MACDC,SAAS,EAAEA,CAACL,OAAgB,EAAEC,QAAqB,KAAK;QACtDA,QAAQ,CAACC,SAAS,CAAC;UACjBC,KAAK,EAAE;YACLC,IAAI,EAAE;UACR;QACF,CAAC,CAAC;MACJ;IACF;EAAE,CACH,CAAC;AAEN,CAAC;AAED,SAASf,KAAK","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { getGridLines, getLineCommons, themeColors } from '@oanda/labs-widget-common';
1
+ import { DESKTOP_MIN_WIDTH, getGridLines, getLineCommons, themeColors } from '@oanda/labs-widget-common';
2
2
  import { VolatilityChartTimeUnit } from '../../../gql/types/graphql';
3
3
  import { CHART_HEIGHT, CHART_WIDTH, tooltipLabels, weeklyDataLabels, X_LABEL_SIZE, Y_LABEL_SIZE_DESKTOP, Y_LABEL_SIZE_MOBILE } from './constants';
4
4
  export const tooltipFormatter = _ref => {
@@ -26,7 +26,7 @@ export const getDesktopOption = _ref2 => {
26
26
  });
27
27
  return {
28
28
  title: {
29
- show: false
29
+ text: ''
30
30
  },
31
31
  tooltip: {
32
32
  position: undefined,
@@ -86,7 +86,7 @@ export const getMobileOption = _ref3 => {
86
86
  });
87
87
  return {
88
88
  title: {
89
- show: true
89
+ text: lang('mobile_tooltip_placeholder')
90
90
  },
91
91
  tooltip: {
92
92
  backgroundColor: 'transparent',
@@ -145,7 +145,7 @@ export const pointFormatter = _ref4 => {
145
145
  }
146
146
  return point;
147
147
  };
148
- export const getOption = (values, lang, timeUnit) => {
148
+ export const getOption = (values, lang, timeUnit, isDark) => {
149
149
  const pipsValues = values.map(_ref5 => {
150
150
  let {
151
151
  pips
@@ -167,7 +167,6 @@ export const getOption = (values, lang, timeUnit) => {
167
167
  title: {
168
168
  left: 10,
169
169
  top: 20,
170
- text: lang('mobile_tooltip_placeholder'),
171
170
  textStyle: {
172
171
  fontFamily: 'Sofia W03',
173
172
  fontWeight: 500,
@@ -222,6 +221,29 @@ export const getOption = (values, lang, timeUnit) => {
222
221
  data: pipsValues,
223
222
  name: 'main',
224
223
  type: 'bar'
224
+ }],
225
+ media: [{
226
+ query: {
227
+ minWidth: DESKTOP_MIN_WIDTH
228
+ },
229
+ option: {
230
+ ...getDesktopOption({
231
+ timeUnit,
232
+ lang,
233
+ isDark
234
+ })
235
+ }
236
+ }, {
237
+ query: {
238
+ maxWidth: DESKTOP_MIN_WIDTH - 1
239
+ },
240
+ option: {
241
+ ...getMobileOption({
242
+ timeUnit,
243
+ lang,
244
+ isDark
245
+ })
246
+ }
225
247
  }]
226
248
  };
227
249
  };
@@ -1 +1 @@
1
- {"version":3,"file":"getOption.js","names":["getGridLines","getLineCommons","themeColors","VolatilityChartTimeUnit","CHART_HEIGHT","CHART_WIDTH","tooltipLabels","weeklyDataLabels","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","tooltipFormatter","_ref","value","timeUnit","lang","data","axisValue","getDesktopOption","_ref2","isDark","notDate","D","desktopGridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","bottomLeftBox","title","show","tooltip","position","undefined","shadowBlur","shadowOffsetX","shadowOffsetY","backgroundColor","borderPrimary","dark","bgPrimary","light","padding","formatter","yAxis","nameTextStyle","align","axisLabel","margin","grid","name","top","left","right","bottom","graphic","shape","x1","y1","x2","y2","getMobileOption","_ref3","mobileGridLines","shadowColor","pointFormatter","_ref4","point","Date","toLocaleDateString","month","day","W","getOption","values","pipsValues","map","_ref5","pips","toFixed","points","_ref6","animation","text","textStyle","fontFamily","fontWeight","trigger","axisPointer","axis","extraCssText","xAxis","type","axisTick","alignWithLabel","axisLine","splitLine","rotate","toUpperCase","splitNumber","rich","a","index","series"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n getGridLines,\n getLineCommons,\n themeColors,\n} from '@oanda/labs-widget-common';\n\nimport { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n tooltipLabels,\n weeklyDataLabels,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport type {\n DaysOfWeekKeys,\n GetOptionType,\n GetResponsiveOptionsProps,\n PointFormatterProps,\n TooltipData,\n TooltipFormatterProps,\n} from './types';\n\nexport const tooltipFormatter = ({\n value,\n timeUnit,\n lang,\n}: TooltipFormatterProps) =>\n `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;\n\nexport const getDesktopOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const notDate = timeUnit !== VolatilityChartTimeUnit.D;\n\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_DESKTOP,\n bottomLeftBox: notDate,\n });\n\n return {\n title: {\n show: false,\n },\n tooltip: {\n position: undefined,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n backgroundColor: isDark\n ? themeColors.borderPrimary.dark\n : themeColors.bgPrimary.light,\n padding: [12, 8, 12, 8],\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 8],\n },\n axisLabel: {\n margin: 8,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '40px',\n left: '0px',\n right: `${Y_LABEL_SIZE_DESKTOP}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n ...getLineCommons(isDark),\n top: 0,\n right: 0,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const getMobileOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const mobileGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: false,\n });\n\n return {\n title: {\n show: true,\n },\n tooltip: {\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n position: [0, 0],\n padding: 16,\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 6],\n },\n axisLabel: {\n margin: 6,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '60px',\n left: '0px',\n right: `${Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...mobileGridLines,\n {\n ...getLineCommons(isDark),\n top: 58,\n right: Y_LABEL_SIZE_MOBILE - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 9999,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const pointFormatter = ({\n point,\n lang,\n timeUnit,\n}: PointFormatterProps) => {\n if (timeUnit === VolatilityChartTimeUnit.D) {\n return new Date(point).toLocaleDateString(undefined, {\n month: 'numeric',\n day: 'numeric',\n });\n }\n if (timeUnit === VolatilityChartTimeUnit.W) {\n return lang(weeklyDataLabels[point as DaysOfWeekKeys]);\n }\n\n return point;\n};\n\nexport const getOption: GetOptionType = (values, lang, timeUnit) => {\n const pipsValues = values.map(({ pips }) => pips.toFixed());\n const points = values.map(({ point }) =>\n pointFormatter({ point, lang, timeUnit })\n );\n\n return {\n animation: false,\n title: {\n left: 10,\n top: 20,\n text: lang('mobile_tooltip_placeholder'),\n textStyle: {\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n padding: 16,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n },\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n data: points,\n axisTick: {\n alignWithLabel: true,\n },\n axisLine: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 10,\n rotate: -45,\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n name: lang('pips').toUpperCase(),\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n rich: {\n a: {\n padding: [0, 0, 20, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}` : `{a|${value}}`),\n },\n },\n series: [\n {\n data: pipsValues,\n name: 'main',\n type: 'bar',\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getOption.js","names":["DESKTOP_MIN_WIDTH","getGridLines","getLineCommons","themeColors","VolatilityChartTimeUnit","CHART_HEIGHT","CHART_WIDTH","tooltipLabels","weeklyDataLabels","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","tooltipFormatter","_ref","value","timeUnit","lang","data","axisValue","getDesktopOption","_ref2","isDark","notDate","D","desktopGridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","bottomLeftBox","title","text","tooltip","position","undefined","shadowBlur","shadowOffsetX","shadowOffsetY","backgroundColor","borderPrimary","dark","bgPrimary","light","padding","formatter","yAxis","nameTextStyle","align","axisLabel","margin","grid","name","top","left","right","bottom","graphic","shape","x1","y1","x2","y2","getMobileOption","_ref3","mobileGridLines","shadowColor","pointFormatter","_ref4","point","Date","toLocaleDateString","month","day","W","getOption","values","pipsValues","map","_ref5","pips","toFixed","points","_ref6","animation","textStyle","fontFamily","fontWeight","trigger","axisPointer","axis","extraCssText","xAxis","type","axisTick","alignWithLabel","axisLine","show","splitLine","rotate","toUpperCase","splitNumber","rich","a","index","series","media","query","minWidth","option","maxWidth"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n DESKTOP_MIN_WIDTH,\n getGridLines,\n getLineCommons,\n themeColors,\n} from '@oanda/labs-widget-common';\n\nimport { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n tooltipLabels,\n weeklyDataLabels,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport type {\n DaysOfWeekKeys,\n GetOptionType,\n GetResponsiveOptionsProps,\n PointFormatterProps,\n TooltipData,\n TooltipFormatterProps,\n} from './types';\n\nexport const tooltipFormatter = ({\n value,\n timeUnit,\n lang,\n}: TooltipFormatterProps) =>\n `<b>${lang('price_range')} </b>${value[0].data}<br /><b>${lang(tooltipLabels[timeUnit])} </b>${value[0].axisValue}`;\n\nexport const getDesktopOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const notDate = timeUnit !== VolatilityChartTimeUnit.D;\n\n const desktopGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_DESKTOP,\n bottomLeftBox: notDate,\n });\n\n return {\n title: {\n text: '',\n },\n tooltip: {\n position: undefined,\n shadowBlur: 24,\n shadowOffsetX: 0,\n shadowOffsetY: 6,\n backgroundColor: isDark\n ? themeColors.borderPrimary.dark\n : themeColors.bgPrimary.light,\n padding: [12, 8, 12, 8],\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 8],\n },\n axisLabel: {\n margin: 8,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '40px',\n left: '0px',\n right: `${Y_LABEL_SIZE_DESKTOP}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...desktopGridLines,\n {\n ...getLineCommons(isDark),\n top: 0,\n right: 0,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const getMobileOption = ({\n timeUnit,\n lang,\n isDark,\n}: GetResponsiveOptionsProps) => {\n const mobileGridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE,\n yLabelSize: Y_LABEL_SIZE_MOBILE,\n bottomLeftBox: false,\n });\n\n return {\n title: {\n text: lang('mobile_tooltip_placeholder'),\n },\n tooltip: {\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n position: [0, 0],\n padding: 16,\n formatter: (value: TooltipData[]) =>\n tooltipFormatter({ value, timeUnit, lang }),\n },\n yAxis: {\n nameTextStyle: {\n align: 'left',\n padding: [0, 0, 0, 6],\n },\n axisLabel: {\n margin: 6,\n },\n },\n grid: [\n {\n name: 'main-grid',\n top: '60px',\n left: '0px',\n right: `${Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...mobileGridLines,\n {\n ...getLineCommons(isDark),\n top: 58,\n right: Y_LABEL_SIZE_MOBILE - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 9999,\n y2: 0,\n },\n },\n ],\n };\n};\n\nexport const pointFormatter = ({\n point,\n lang,\n timeUnit,\n}: PointFormatterProps) => {\n if (timeUnit === VolatilityChartTimeUnit.D) {\n return new Date(point).toLocaleDateString(undefined, {\n month: 'numeric',\n day: 'numeric',\n });\n }\n if (timeUnit === VolatilityChartTimeUnit.W) {\n return lang(weeklyDataLabels[point as DaysOfWeekKeys]);\n }\n\n return point;\n};\n\nexport const getOption: GetOptionType = (values, lang, timeUnit, isDark) => {\n const pipsValues = values.map(({ pips }) => pips.toFixed());\n const points = values.map(({ point }) =>\n pointFormatter({ point, lang, timeUnit })\n );\n\n return {\n animation: false,\n title: {\n left: 10,\n top: 20,\n textStyle: {\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n padding: 16,\n },\n },\n tooltip: {\n trigger: 'axis',\n axisPointer: {\n axis: 'x',\n },\n extraCssText: 'z-index: 1',\n },\n xAxis: {\n type: 'category',\n data: points,\n axisTick: {\n alignWithLabel: true,\n },\n axisLine: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 10,\n rotate: -45,\n },\n },\n yAxis: {\n type: 'value',\n position: 'right',\n name: lang('pips').toUpperCase(),\n splitNumber: 5,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n rich: {\n a: {\n padding: [0, 0, 20, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}` : `{a|${value}}`),\n },\n },\n series: [\n {\n data: pipsValues,\n name: 'main',\n type: 'bar',\n },\n ],\n media: [\n {\n query: {\n minWidth: DESKTOP_MIN_WIDTH,\n },\n option: {\n ...getDesktopOption({ timeUnit, lang, isDark }),\n },\n },\n {\n query: {\n maxWidth: DESKTOP_MIN_WIDTH - 1,\n },\n option: {\n ...getMobileOption({ timeUnit, lang, isDark }),\n },\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["DaysOfWeekKeys"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\n\nexport enum DaysOfWeekKeys {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n}\nexport interface VolatilityChartDataValues {\n pips: number;\n point: string;\n}\nexport interface ChartProps {\n values: VolatilityChartDataValues[];\n timeUnit: VolatilityChartTimeUnit;\n}\nexport interface TooltipData {\n axisValue: string;\n data: string;\n}\n\nexport type GetOptionType = (\n values: VolatilityChartDataValues[],\n lang: (label: string) => string,\n timeUnit: VolatilityChartTimeUnit\n) => EChartsOption;\n\nexport interface GetResponsiveOptionsProps {\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n isDark: boolean;\n}\n\nexport interface TooltipFormatterProps {\n value: TooltipData[];\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n}\nexport interface PointFormatterProps {\n point: string;\n lang: (label: string) => string;\n timeUnit: VolatilityChartTimeUnit;\n}\n"],"mappings":"AAIA,WAAYA,cAAc,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["DaysOfWeekKeys"],"sources":["../../../../../src/VolatilityChartWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { VolatilityChartTimeUnit } from '../../../gql/types/graphql';\n\nexport enum DaysOfWeekKeys {\n MONDAY = 'MONDAY',\n TUESDAY = 'TUESDAY',\n WEDNESDAY = 'WEDNESDAY',\n THURSDAY = 'THURSDAY',\n FRIDAY = 'FRIDAY',\n}\nexport interface VolatilityChartDataValues {\n pips: number;\n point: string;\n}\nexport interface ChartProps {\n values: VolatilityChartDataValues[];\n timeUnit: VolatilityChartTimeUnit;\n}\nexport interface TooltipData {\n axisValue: string;\n data: string;\n}\n\nexport type GetOptionType = (\n values: VolatilityChartDataValues[],\n lang: (label: string) => string,\n timeUnit: VolatilityChartTimeUnit,\n isDark: boolean\n) => EChartsOption;\n\nexport interface GetResponsiveOptionsProps {\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n isDark: boolean;\n}\n\nexport interface TooltipFormatterProps {\n value: TooltipData[];\n timeUnit: VolatilityChartTimeUnit;\n lang: (label: string) => string;\n}\nexport interface PointFormatterProps {\n point: string;\n lang: (label: string) => string;\n timeUnit: VolatilityChartTimeUnit;\n}\n"],"mappings":"AAIA,WAAYA,cAAc,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -2,7 +2,7 @@ import type { GetOptionType, GetResponsiveOptionsProps, PointFormatterProps, Too
2
2
  export declare const tooltipFormatter: ({ value, timeUnit, lang, }: TooltipFormatterProps) => string;
3
3
  export declare const getDesktopOption: ({ timeUnit, lang, isDark, }: GetResponsiveOptionsProps) => {
4
4
  title: {
5
- show: boolean;
5
+ text: string;
6
6
  };
7
7
  tooltip: {
8
8
  position: undefined;
@@ -127,7 +127,7 @@ export declare const getDesktopOption: ({ timeUnit, lang, isDark, }: GetResponsi
127
127
  };
128
128
  export declare const getMobileOption: ({ timeUnit, lang, isDark, }: GetResponsiveOptionsProps) => {
129
129
  title: {
130
- show: boolean;
130
+ text: string;
131
131
  };
132
132
  tooltip: {
133
133
  backgroundColor: string;
@@ -19,7 +19,7 @@ export interface TooltipData {
19
19
  axisValue: string;
20
20
  data: string;
21
21
  }
22
- export type GetOptionType = (values: VolatilityChartDataValues[], lang: (label: string) => string, timeUnit: VolatilityChartTimeUnit) => EChartsOption;
22
+ export type GetOptionType = (values: VolatilityChartDataValues[], lang: (label: string) => string, timeUnit: VolatilityChartTimeUnit, isDark: boolean) => EChartsOption;
23
23
  export interface GetResponsiveOptionsProps {
24
24
  timeUnit: VolatilityChartTimeUnit;
25
25
  lang: (label: string) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oanda/labs-volatility-chart-widget",
3
- "version": "1.0.167",
3
+ "version": "1.0.169",
4
4
  "description": "Labs Volatility Chart Widget",
5
5
  "main": "dist/main/index.js",
6
6
  "module": "dist/module/index.js",
@@ -12,15 +12,15 @@
12
12
  "author": "OANDA",
13
13
  "license": "UNLICENSED",
14
14
  "dependencies": {
15
- "@oanda/labs-widget-common": "^1.0.218",
15
+ "@oanda/labs-widget-common": "^1.0.220",
16
16
  "@oanda/mono-i18n": "10.0.1",
17
- "echarts": "5.5.0",
18
- "echarts-for-react": "3.0.2",
17
+ "echarts": "6.0.0",
18
+ "echarts-for-react": "3.0.4",
19
19
  "graphql": "16.8.1"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@graphql-codegen/cli": "5.0.0",
23
23
  "@graphql-codegen/client-preset": "4.1.0"
24
24
  },
25
- "gitHead": "7a07df3d3cadc0733696bb4579b520fe54eacee0"
25
+ "gitHead": "84d9bec88af7893f20ccd2d88fcbc28dd30aec22"
26
26
  }