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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/CHANGELOG.md +532 -0
  2. package/dist/main/ValueAtRiskWidget/ChartWithData.js +6 -8
  3. package/dist/main/ValueAtRiskWidget/ChartWithData.js.map +1 -1
  4. package/dist/main/ValueAtRiskWidget/Tool.js +13 -13
  5. package/dist/main/ValueAtRiskWidget/Tool.js.map +1 -1
  6. package/dist/main/ValueAtRiskWidget/ToolWithData.js +4 -6
  7. package/dist/main/ValueAtRiskWidget/ToolWithData.js.map +1 -1
  8. package/dist/main/ValueAtRiskWidget/ValueAtRiskWidget.js +17 -22
  9. package/dist/main/ValueAtRiskWidget/ValueAtRiskWidget.js.map +1 -1
  10. package/dist/main/ValueAtRiskWidget/Widget.js +7 -9
  11. package/dist/main/ValueAtRiskWidget/Widget.js.map +1 -1
  12. package/dist/main/ValueAtRiskWidget/components/Chart/Chart.js +10 -10
  13. package/dist/main/ValueAtRiskWidget/components/Chart/Chart.js.map +1 -1
  14. package/dist/main/ValueAtRiskWidget/components/Chart/getOption.js.map +1 -1
  15. package/dist/main/ValueAtRiskWidget/components/Chart/types.js.map +1 -1
  16. package/dist/main/ValueAtRiskWidget/components/Legend/DashedLine.js +6 -6
  17. package/dist/main/ValueAtRiskWidget/components/Legend/DashedLine.js.map +1 -1
  18. package/dist/main/ValueAtRiskWidget/components/Legend/DesktopLegend.js +3 -3
  19. package/dist/main/ValueAtRiskWidget/components/Legend/DesktopLegend.js.map +1 -1
  20. package/dist/main/ValueAtRiskWidget/components/Legend/Legend.js +13 -14
  21. package/dist/main/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
  22. package/dist/main/ValueAtRiskWidget/components/Legend/MobileLegend.js +5 -5
  23. package/dist/main/ValueAtRiskWidget/components/Legend/MobileLegend.js.map +1 -1
  24. package/dist/main/ValueAtRiskWidget/components/Legend/constants.js.map +1 -1
  25. package/dist/main/ValueAtRiskWidget/components/Legend/types.js.map +1 -1
  26. package/dist/main/ValueAtRiskWidget/render.js +9 -9
  27. package/dist/main/ValueAtRiskWidget/render.js.map +1 -1
  28. package/dist/main/ValueAtRiskWidget/types.js.map +1 -1
  29. package/dist/main/ValueAtRiskWidget/utils.js.map +1 -1
  30. package/dist/main/gql/getValueAtRiskAssetClasses.js +1 -1
  31. package/dist/main/gql/getValueAtRiskAssetClasses.js.map +1 -1
  32. package/dist/main/gql/getValueAtRiskChart.js +12 -2
  33. package/dist/main/gql/getValueAtRiskChart.js.map +1 -1
  34. package/dist/main/gql/types/fragment-masking.js.map +1 -1
  35. package/dist/main/gql/types/gql.js +2 -2
  36. package/dist/main/gql/types/gql.js.map +1 -1
  37. package/dist/main/gql/types/graphql.js +241 -241
  38. package/dist/main/gql/types/graphql.js.map +1 -1
  39. package/dist/main/gql/types/index.js.map +1 -1
  40. package/dist/main/translations/index.js +1 -1
  41. package/dist/main/translations/index.js.map +1 -1
  42. package/dist/main/translations/translations.js.map +1 -1
  43. package/dist/module/ValueAtRiskWidget/ChartWithData.js +7 -7
  44. package/dist/module/ValueAtRiskWidget/ChartWithData.js.map +1 -1
  45. package/dist/module/ValueAtRiskWidget/Tool.js +14 -14
  46. package/dist/module/ValueAtRiskWidget/Tool.js.map +1 -1
  47. package/dist/module/ValueAtRiskWidget/ToolWithData.js +4 -4
  48. package/dist/module/ValueAtRiskWidget/ToolWithData.js.map +1 -1
  49. package/dist/module/ValueAtRiskWidget/ValueAtRiskWidget.js +18 -23
  50. package/dist/module/ValueAtRiskWidget/ValueAtRiskWidget.js.map +1 -1
  51. package/dist/module/ValueAtRiskWidget/Widget.js +8 -8
  52. package/dist/module/ValueAtRiskWidget/Widget.js.map +1 -1
  53. package/dist/module/ValueAtRiskWidget/components/Chart/Chart.js +9 -9
  54. package/dist/module/ValueAtRiskWidget/components/Chart/Chart.js.map +1 -1
  55. package/dist/module/ValueAtRiskWidget/components/Chart/getOption.js +1 -1
  56. package/dist/module/ValueAtRiskWidget/components/Chart/getOption.js.map +1 -1
  57. package/dist/module/ValueAtRiskWidget/components/Chart/types.js.map +1 -1
  58. package/dist/module/ValueAtRiskWidget/components/Legend/DashedLine.js +6 -6
  59. package/dist/module/ValueAtRiskWidget/components/Legend/DashedLine.js.map +1 -1
  60. package/dist/module/ValueAtRiskWidget/components/Legend/DesktopLegend.js +3 -3
  61. package/dist/module/ValueAtRiskWidget/components/Legend/DesktopLegend.js.map +1 -1
  62. package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js +13 -13
  63. package/dist/module/ValueAtRiskWidget/components/Legend/Legend.js.map +1 -1
  64. package/dist/module/ValueAtRiskWidget/components/Legend/MobileLegend.js +5 -5
  65. package/dist/module/ValueAtRiskWidget/components/Legend/MobileLegend.js.map +1 -1
  66. package/dist/module/ValueAtRiskWidget/components/Legend/constants.js.map +1 -1
  67. package/dist/module/ValueAtRiskWidget/components/Legend/types.js.map +1 -1
  68. package/dist/module/ValueAtRiskWidget/render.js +9 -9
  69. package/dist/module/ValueAtRiskWidget/render.js.map +1 -1
  70. package/dist/module/ValueAtRiskWidget/types.js.map +1 -1
  71. package/dist/module/ValueAtRiskWidget/utils.js +1 -1
  72. package/dist/module/ValueAtRiskWidget/utils.js.map +1 -1
  73. package/dist/module/gql/getValueAtRiskAssetClasses.js +1 -1
  74. package/dist/module/gql/getValueAtRiskAssetClasses.js.map +1 -1
  75. package/dist/module/gql/getValueAtRiskChart.js +12 -2
  76. package/dist/module/gql/getValueAtRiskChart.js.map +1 -1
  77. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  78. package/dist/module/gql/types/gql.js +2 -2
  79. package/dist/module/gql/types/gql.js.map +1 -1
  80. package/dist/module/gql/types/graphql.js +241 -241
  81. package/dist/module/gql/types/graphql.js.map +1 -1
  82. package/dist/module/gql/types/index.js +2 -2
  83. package/dist/module/gql/types/index.js.map +1 -1
  84. package/dist/module/translations/index.js +1 -1
  85. package/dist/module/translations/index.js.map +1 -1
  86. package/dist/module/translations/translations.js.map +1 -1
  87. package/dist/types/ValueAtRiskWidget/ChartWithData.d.ts +1 -1
  88. package/dist/types/ValueAtRiskWidget/Tool.d.ts +1 -1
  89. package/dist/types/ValueAtRiskWidget/ToolWithData.d.ts +1 -1
  90. package/dist/types/ValueAtRiskWidget/ValueAtRiskWidget.d.ts +1 -1
  91. package/dist/types/ValueAtRiskWidget/Widget.d.ts +2 -2
  92. package/dist/types/ValueAtRiskWidget/components/Chart/Chart.d.ts +1 -1
  93. package/dist/types/ValueAtRiskWidget/components/Chart/getOption.d.ts +1 -1
  94. package/dist/types/ValueAtRiskWidget/components/Chart/types.d.ts +2 -2
  95. package/dist/types/ValueAtRiskWidget/components/Legend/DashedLine.d.ts +2 -2
  96. package/dist/types/ValueAtRiskWidget/components/Legend/DesktopLegend.d.ts +1 -1
  97. package/dist/types/ValueAtRiskWidget/components/Legend/Legend.d.ts +1 -1
  98. package/dist/types/ValueAtRiskWidget/components/Legend/MobileLegend.d.ts +1 -1
  99. package/dist/types/ValueAtRiskWidget/components/Legend/constants.d.ts +1 -1
  100. package/dist/types/ValueAtRiskWidget/components/Legend/types.d.ts +1 -1
  101. package/dist/types/ValueAtRiskWidget/types.d.ts +2 -2
  102. package/dist/types/ValueAtRiskWidget/utils.d.ts +2 -2
  103. package/dist/types/gql/types/gql.d.ts +4 -4
  104. package/dist/types/gql/types/index.d.ts +2 -2
  105. package/dist/types/translations/index.d.ts +2 -2
  106. package/package.json +3 -3
  107. package/src/ValueAtRiskWidget/ChartWithData.tsx +47 -28
  108. package/src/ValueAtRiskWidget/Tool.tsx +43 -29
  109. package/src/ValueAtRiskWidget/ToolWithData.tsx +30 -24
  110. package/src/ValueAtRiskWidget/ValueAtRiskWidget.tsx +27 -32
  111. package/src/ValueAtRiskWidget/Widget.tsx +9 -13
  112. package/src/ValueAtRiskWidget/components/Chart/Chart.tsx +21 -20
  113. package/src/ValueAtRiskWidget/components/Chart/getOption.ts +4 -4
  114. package/src/ValueAtRiskWidget/components/Chart/types.ts +4 -3
  115. package/src/ValueAtRiskWidget/components/Legend/DashedLine.tsx +18 -8
  116. package/src/ValueAtRiskWidget/components/Legend/DesktopLegend.tsx +28 -19
  117. package/src/ValueAtRiskWidget/components/Legend/Legend.tsx +12 -15
  118. package/src/ValueAtRiskWidget/components/Legend/MobileLegend.tsx +40 -22
  119. package/src/ValueAtRiskWidget/components/Legend/constants.tsx +1 -1
  120. package/src/ValueAtRiskWidget/components/Legend/types.tsx +9 -9
  121. package/src/ValueAtRiskWidget/render.tsx +22 -24
  122. package/src/ValueAtRiskWidget/types.ts +7 -3
  123. package/src/ValueAtRiskWidget/utils.ts +18 -10
  124. package/src/gql/getValueAtRiskAssetClasses.ts +1 -1
  125. package/src/gql/getValueAtRiskChart.ts +12 -2
  126. package/src/gql/types/fragment-masking.ts +41 -21
  127. package/src/gql/types/gql.ts +12 -5
  128. package/src/gql/types/graphql.ts +339 -47
  129. package/src/gql/types/index.ts +2 -2
  130. package/src/translations/index.ts +4 -4
  131. package/src/translations/translations.ts +1 -3
  132. package/test/ChartWithData.test.tsx +28 -20
  133. package/test/Tool.test.tsx +39 -25
  134. package/test/ToolWithData.test.tsx +21 -10
  135. package/test/Widget.test.tsx +15 -10
  136. package/test/getPercentValueByPips.test.ts +15 -3
  137. package/test/mocks/assetClassesMock.ts +1 -3
  138. package/test/mocks/responsesMocks.ts +6 -2
  139. package/test/utils.test.ts +14 -7
@@ -1,11 +1,11 @@
1
- import React, { useContext } from 'react';
2
- import ReactEChartsCore from 'echarts-for-react/lib/core';
1
+ import { getChartTheme, Size, Theme, useLayoutProvider } from '@oanda/labs-widget-common';
2
+ import { useLocale } from '@oanda/mono-i18n';
3
+ import { CustomChart, LineChart } from 'echarts/charts';
4
+ import { AxisPointerComponent, DatasetComponent, GraphicComponent, GridSimpleComponent, MarkLineComponent, MarkPointComponent, TitleComponent, VisualMapComponent } from 'echarts/components';
3
5
  import * as echarts from 'echarts/core';
4
- import { LineChart, CustomChart } from 'echarts/charts';
5
6
  import { CanvasRenderer } from 'echarts/renderers';
6
- import { GridSimpleComponent, GraphicComponent, MarkPointComponent, TitleComponent, DatasetComponent, VisualMapComponent, MarkLineComponent, AxisPointerComponent } from 'echarts/components';
7
- import { useLocale } from '@oanda/mono-i18n';
8
- import { Size, Theme, ThemeContext, getChartTheme } from '@oanda/labs-widget-common';
7
+ import ReactEChartsCore from 'echarts-for-react/lib/core';
8
+ import React from 'react';
9
9
  import { CHART_HEIGHT } from './constants';
10
10
  import { getOption } from './getOption';
11
11
  echarts.use([GridSimpleComponent, GraphicComponent, TitleComponent, LineChart, CanvasRenderer, DatasetComponent, VisualMapComponent, CustomChart, MarkLineComponent, MarkPointComponent, AxisPointerComponent]);
@@ -21,16 +21,16 @@ const Chart = _ref => {
21
21
  const {
22
22
  isDark,
23
23
  size
24
- } = useContext(ThemeContext);
24
+ } = useLayoutProvider();
25
25
  const isDesktop = size === Size.DESKTOP;
26
26
  return React.createElement(ReactEChartsCore, {
27
27
  echarts: echarts,
28
- theme: isDark ? 'dark_theme' : 'light_theme',
28
+ option: getOption(values, lang, isDark, isDesktop),
29
29
  style: {
30
30
  height: `${CHART_HEIGHT}px`,
31
31
  width: '100%'
32
32
  },
33
- option: getOption(values, lang, isDark, isDesktop)
33
+ theme: isDark ? 'dark_theme' : 'light_theme'
34
34
  });
35
35
  };
36
36
  export { Chart };
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["React","useContext","ReactEChartsCore","echarts","LineChart","CustomChart","CanvasRenderer","GridSimpleComponent","GraphicComponent","MarkPointComponent","TitleComponent","DatasetComponent","VisualMapComponent","MarkLineComponent","AxisPointerComponent","useLocale","Size","Theme","ThemeContext","getChartTheme","CHART_HEIGHT","getOption","use","registerTheme","Dark","Light","Chart","_ref","values","lang","isDark","size","isDesktop","DESKTOP","createElement","theme","style","height","width","option"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/Chart.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport ReactEChartsCore from 'echarts-for-react/lib/core';\nimport * as echarts from 'echarts/core';\nimport { LineChart, CustomChart } from 'echarts/charts';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport {\n GridSimpleComponent,\n GraphicComponent,\n MarkPointComponent,\n TitleComponent,\n DatasetComponent,\n VisualMapComponent,\n MarkLineComponent,\n AxisPointerComponent,\n} from 'echarts/components';\nimport { useLocale } from '@oanda/mono-i18n';\nimport {\n Size,\n Theme,\n ThemeContext,\n getChartTheme,\n} from '@oanda/labs-widget-common';\nimport { CHART_HEIGHT } from './constants';\nimport { getOption } from './getOption';\nimport { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TitleComponent,\n LineChart,\n CanvasRenderer,\n DatasetComponent,\n VisualMapComponent,\n CustomChart,\n MarkLineComponent,\n MarkPointComponent,\n AxisPointerComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useContext(ThemeContext);\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <ReactEChartsCore\n echarts={echarts}\n theme={isDark ? 'dark_theme' : 'light_theme'}\n style={{\n height: `${CHART_HEIGHT}px`,\n width: '100%',\n }}\n option={getOption(values, lang, isDark, isDesktop)}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,gBAAgB,MAAM,4BAA4B;AACzD,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,SAASC,SAAS,EAAEC,WAAW,QAAQ,gBAAgB;AACvD,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SACEC,mBAAmB,EACnBC,gBAAgB,EAChBC,kBAAkB,EAClBC,cAAc,EACdC,gBAAgB,EAChBC,kBAAkB,EAClBC,iBAAiB,EACjBC,oBAAoB,QACf,oBAAoB;AAC3B,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SACEC,IAAI,EACJC,KAAK,EACLC,YAAY,EACZC,aAAa,QACR,2BAA2B;AAClC,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,SAAS,QAAQ,aAAa;AAGvClB,OAAO,CAACmB,GAAG,CAAC,CACVf,mBAAmB,EACnBC,gBAAgB,EAChBE,cAAc,EACdN,SAAS,EACTE,cAAc,EACdK,gBAAgB,EAChBC,kBAAkB,EAClBP,WAAW,EACXQ,iBAAiB,EACjBJ,kBAAkB,EAClBK,oBAAoB,CACrB,CAAC;AAEFX,OAAO,CAACoB,aAAa,CAAC,YAAY,EAAEJ,aAAa,CAACF,KAAK,CAACO,IAAI,CAAC,CAAC;AAC9DrB,OAAO,CAACoB,aAAa,CAAC,aAAa,EAAEJ,aAAa,CAACF,KAAK,CAACQ,KAAK,CAAC,CAAC;AAEhE,MAAMC,KAAK,GAAGC,IAAA,IAA4B;EAAA,IAA3B;IAAEC;EAAmB,CAAC,GAAAD,IAAA;EACnC,MAAM;IAAEE;EAAK,CAAC,GAAGd,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEe,MAAM;IAAEC;EAAK,CAAC,GAAG9B,UAAU,CAACiB,YAAY,CAAC;EACjD,MAAMc,SAAS,GAAGD,IAAI,KAAKf,IAAI,CAACiB,OAAO;EAEvC,OACEjC,KAAA,CAAAkC,aAAA,CAAChC,gBAAgB;IACfC,OAAO,EAAEA,OAAQ;IACjBgC,KAAK,EAAEL,MAAM,GAAG,YAAY,GAAG,aAAc;IAC7CM,KAAK,EAAE;MACLC,MAAM,EAAE,GAAGjB,YAAY,IAAI;MAC3BkB,KAAK,EAAE;IACT,CAAE;IACFC,MAAM,EAAElB,SAAS,CAACO,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEE,SAAS;EAAE,CACpD,CAAC;AAEN,CAAC;AAED,SAASN,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["getChartTheme","Size","Theme","useLayoutProvider","useLocale","CustomChart","LineChart","AxisPointerComponent","DatasetComponent","GraphicComponent","GridSimpleComponent","MarkLineComponent","MarkPointComponent","TitleComponent","VisualMapComponent","echarts","CanvasRenderer","ReactEChartsCore","React","CHART_HEIGHT","getOption","use","registerTheme","Dark","Light","Chart","_ref","values","lang","isDark","size","isDesktop","DESKTOP","createElement","option","style","height","width","theme"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n getChartTheme,\n Size,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport { CustomChart, LineChart } from 'echarts/charts';\nimport {\n AxisPointerComponent,\n DatasetComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n MarkPointComponent,\n TitleComponent,\n VisualMapComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport ReactEChartsCore from 'echarts-for-react/lib/core';\nimport React from 'react';\n\nimport { CHART_HEIGHT } from './constants';\nimport { getOption } from './getOption';\nimport type { ChartProps } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n TitleComponent,\n LineChart,\n CanvasRenderer,\n DatasetComponent,\n VisualMapComponent,\n CustomChart,\n MarkLineComponent,\n MarkPointComponent,\n AxisPointerComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ values }: ChartProps) => {\n const { lang } = useLocale();\n const { isDark, size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <ReactEChartsCore\n echarts={echarts}\n option={getOption(values, lang, isDark, isDesktop)}\n style={{\n height: `${CHART_HEIGHT}px`,\n width: '100%',\n }}\n theme={isDark ? 'dark_theme' : 'light_theme'}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"AAAA,SACEA,aAAa,EACbC,IAAI,EACJC,KAAK,EACLC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,WAAW,EAAEC,SAAS,QAAQ,gBAAgB;AACvD,SACEC,oBAAoB,EACpBC,gBAAgB,EAChBC,gBAAgB,EAChBC,mBAAmB,EACnBC,iBAAiB,EACjBC,kBAAkB,EAClBC,cAAc,EACdC,kBAAkB,QACb,oBAAoB;AAC3B,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,OAAOC,gBAAgB,MAAM,4BAA4B;AACzD,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,aAAa;AAC1C,SAASC,SAAS,QAAQ,aAAa;AAGvCL,OAAO,CAACM,GAAG,CAAC,CACVX,mBAAmB,EACnBD,gBAAgB,EAChBI,cAAc,EACdP,SAAS,EACTU,cAAc,EACdR,gBAAgB,EAChBM,kBAAkB,EAClBT,WAAW,EACXM,iBAAiB,EACjBC,kBAAkB,EAClBL,oBAAoB,CACrB,CAAC;AAEFQ,OAAO,CAACO,aAAa,CAAC,YAAY,EAAEtB,aAAa,CAACE,KAAK,CAACqB,IAAI,CAAC,CAAC;AAC9DR,OAAO,CAACO,aAAa,CAAC,aAAa,EAAEtB,aAAa,CAACE,KAAK,CAACsB,KAAK,CAAC,CAAC;AAEhE,MAAMC,KAAK,GAAGC,IAAA,IAA4B;EAAA,IAA3B;IAAEC;EAAmB,CAAC,GAAAD,IAAA;EACnC,MAAM;IAAEE;EAAK,CAAC,GAAGxB,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEyB,MAAM;IAAEC;EAAK,CAAC,GAAG3B,iBAAiB,CAAC,CAAC;EAC5C,MAAM4B,SAAS,GAAGD,IAAI,KAAK7B,IAAI,CAAC+B,OAAO;EAEvC,OACEd,KAAA,CAAAe,aAAA,CAAChB,gBAAgB;IACfF,OAAO,EAAEA,OAAQ;IACjBmB,MAAM,EAAEd,SAAS,CAACO,MAAM,EAAEC,IAAI,EAAEC,MAAM,EAAEE,SAAS,CAAE;IACnDI,KAAK,EAAE;MACLC,MAAM,EAAE,GAAGjB,YAAY,IAAI;MAC3BkB,KAAK,EAAE;IACT,CAAE;IACFC,KAAK,EAAET,MAAM,GAAG,YAAY,GAAG;EAAc,CAC9C,CAAC;AAEN,CAAC;AAED,SAASJ,KAAK","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { colorPalette, darkTheme, getGridLines, getLineCommons, lightTheme } from '@oanda/labs-widget-common';
2
- import { CHART_WIDTH, CHART_HEIGHT, X_LABEL_SIZE, Y_LABEL_SIZE_DESKTOP, TITLE_HEIGHT, Y_LABEL_SIZE_MOBILE } from './constants';
2
+ import { CHART_HEIGHT, CHART_WIDTH, TITLE_HEIGHT, X_LABEL_SIZE, Y_LABEL_SIZE_DESKTOP, Y_LABEL_SIZE_MOBILE } from './constants';
3
3
  import { getPercentValueByPips } from './getPercentValueByPips';
4
4
  export const getOption = (values, lang, isDark, isDesktop) => {
5
5
  const gridLines = getGridLines({
@@ -1 +1 @@
1
- {"version":3,"file":"getOption.js","names":["colorPalette","darkTheme","getGridLines","getLineCommons","lightTheme","CHART_WIDTH","CHART_HEIGHT","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","TITLE_HEIGHT","Y_LABEL_SIZE_MOBILE","getPercentValueByPips","getOption","values","lang","isDark","isDesktop","gridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","yLabelMarinTop","down","up","valueAtRiskChart","points","sort","a","b","pips","map","point","percent","maxDown","Math","max","minUp","min","animation","title","left","top","text","textStyle","fontWeight","fontSize","xAxis","type","name","toUpperCase","nameLocation","splitNumber","nameGap","axisLine","show","axisTick","axisLabel","padding","margin","showMaxLabel","showMinLabel","hideOverlap","formatter","value","toFixed","axisPointer","label","_ref","yAxis","inverse","nameRotate","position","rich","index","precision","visualMap","dimension","pieces","lt","average","color","orange","raspberryLight","colorAlpha","gte","median","bottleGreenDark","greenLight","series","symbol","areaStyle","origin","opacity","lineStyle","emphasis","disabled","data","markLine","silent","white","width","threshold","borderPrimary","markPoint","itemStyle","borderWidth","borderColor","symbolSize","gold","turquoiseLight","violetLight","grid","right","bottom","graphic","shape","x1","y1","x2","y2"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n darkTheme,\n getGridLines,\n getLineCommons,\n lightTheme,\n} from '@oanda/labs-widget-common';\nimport {\n CHART_WIDTH,\n CHART_HEIGHT,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n TITLE_HEIGHT,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport { GetOptionType } from './types';\nimport { getPercentValueByPips } from './getPercentValueByPips';\n\nexport const getOption: GetOptionType = (values, lang, isDark, isDesktop) => {\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE - Y_LABEL_SIZE_DESKTOP,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n yLabelMarinTop: isDesktop ? 0 : TITLE_HEIGHT,\n });\n\n const { down, up } = values!.valueAtRiskChart!;\n\n const points = [...up.points!, ...down.points!]\n .sort((a, b) => a.pips - b.pips)\n .map((point) => [point.pips, point.percent * 100]);\n\n const maxDown = Math.max(...down.points!.map((point) => point.pips));\n const minUp = Math.min(...up.points!.map((point) => point.pips));\n\n return {\n animation: false,\n title: {\n left: 16,\n top: 10,\n text: lang('daily'),\n textStyle: {\n fontWeight: 500,\n fontSize: 20,\n },\n },\n xAxis: {\n type: 'value',\n name: lang('pips').toUpperCase(),\n nameLocation: 'middle',\n splitNumber: isDesktop ? 8 : 4,\n nameGap: 32,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n padding: 0,\n margin: 12,\n showMaxLabel: false,\n showMinLabel: false,\n hideOverlap: true,\n formatter: (value) => value.toFixed(),\n },\n axisPointer: {\n label: {\n margin: 7,\n formatter: ({ value }) => (value as number).toFixed(),\n },\n },\n },\n yAxis: {\n name: lang('distribution').toUpperCase(),\n type: 'value',\n inverse: true,\n nameLocation: 'middle',\n nameGap: isDesktop ? 40 : 30,\n nameRotate: -90,\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n padding: 0,\n margin: isDesktop ? 12 : 4,\n rich: {\n a: {\n padding: isDesktop ? [0, 0, 0, 0] : [20, 0, 0, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}%` : `{a|${value}%}`),\n\n },\n axisPointer: {\n label: {\n precision: 0,\n padding: isDesktop ? [4, 10, 4, 10] : 4,\n formatter: '{value}%',\n },\n },\n },\n axisPointer: {\n show: true,\n type: 'line',\n },\n visualMap: {\n type: 'piecewise',\n show: false,\n dimension: 0,\n pieces: [\n {\n lt: down.average,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.5,\n },\n {\n gte: down.average,\n lt: down.median,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.6,\n },\n {\n gte: down.median,\n lt: maxDown,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.75,\n },\n {\n gte: minUp,\n lt: up.median,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.75,\n },\n {\n gte: up.median,\n lt: up.average,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.6,\n },\n {\n gte: up.average,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.5,\n },\n ],\n },\n series: [\n {\n name: 'main',\n type: 'line',\n symbol: 'none',\n areaStyle: {\n origin: 'end',\n opacity: 1,\n },\n lineStyle: {\n opacity: 1,\n },\n emphasis: {\n disabled: true,\n },\n data: points,\n markLine: {\n silent: true,\n symbol: ['none', 'none'],\n label: {\n show: false,\n },\n lineStyle: {\n color: isDark ? colorPalette.white : colorPalette.bottleGreenDark,\n width: 1,\n },\n data: [\n {\n xAxis: down.median,\n lineStyle: {\n type: [2, 2],\n },\n },\n {\n xAxis: down.average,\n lineStyle: {\n type: [4, 5],\n },\n },\n {\n xAxis: down.threshold,\n lineStyle: {\n type: [6, 2],\n },\n },\n {\n xAxis: down.max,\n lineStyle: {\n type: 'solid',\n color: isDark\n ? darkTheme.borderPrimary\n : lightTheme.borderPrimary,\n },\n },\n {\n xAxis: up.median,\n lineStyle: {\n type: [2, 2],\n },\n },\n {\n xAxis: up.average,\n lineStyle: {\n type: [4, 5],\n },\n },\n {\n xAxis: up.threshold,\n lineStyle: {\n type: [6, 2],\n },\n },\n {\n xAxis: up.max,\n lineStyle: {\n type: 'solid',\n color: isDark\n ? darkTheme.borderPrimary\n : lightTheme.borderPrimary,\n },\n },\n ],\n },\n markPoint: {\n animation: false,\n silent: true,\n itemStyle: {\n borderWidth: 1,\n borderColor: colorPalette.white,\n },\n label: {\n show: false,\n },\n data: [\n {\n name: 'Mark point Down average',\n xAxis: down.average,\n yAxis: getPercentValueByPips(down.average, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.gold,\n },\n },\n {\n name: 'Mark point Down median',\n xAxis: down.median,\n yAxis: getPercentValueByPips(down.median, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.turquoiseLight,\n },\n },\n {\n name: 'Mark point Down threshold',\n xAxis: down.threshold,\n yAxis: getPercentValueByPips(down.threshold, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.violetLight,\n },\n },\n {\n name: 'Mark point up average',\n xAxis: up.average,\n yAxis: getPercentValueByPips(up.average, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.gold,\n },\n },\n {\n name: 'Mark point up median',\n xAxis: up.median,\n yAxis: getPercentValueByPips(up.median, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.turquoiseLight,\n },\n },\n {\n name: 'Mark point up threshold',\n xAxis: up.threshold,\n yAxis: getPercentValueByPips(up.threshold, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.violetLight,\n },\n },\n ],\n },\n },\n ],\n grid: [\n {\n name: 'main-grid',\n top: `${TITLE_HEIGHT}px`,\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...gridLines,\n {\n ...getLineCommons(isDark),\n top: TITLE_HEIGHT - 2,\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: isDesktop ? 0 : Y_LABEL_SIZE_MOBILE,\n y2: 0,\n },\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getOption.js","names":["colorPalette","darkTheme","getGridLines","getLineCommons","lightTheme","CHART_HEIGHT","CHART_WIDTH","TITLE_HEIGHT","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","getPercentValueByPips","getOption","values","lang","isDark","isDesktop","gridLines","chartWidth","chartHeight","xLabelsSize","yLabelSize","yLabelMarinTop","down","up","valueAtRiskChart","points","sort","a","b","pips","map","point","percent","maxDown","Math","max","minUp","min","animation","title","left","top","text","textStyle","fontWeight","fontSize","xAxis","type","name","toUpperCase","nameLocation","splitNumber","nameGap","axisLine","show","axisTick","axisLabel","padding","margin","showMaxLabel","showMinLabel","hideOverlap","formatter","value","toFixed","axisPointer","label","_ref","yAxis","inverse","nameRotate","position","rich","index","precision","visualMap","dimension","pieces","lt","average","color","orange","raspberryLight","colorAlpha","gte","median","bottleGreenDark","greenLight","series","symbol","areaStyle","origin","opacity","lineStyle","emphasis","disabled","data","markLine","silent","white","width","threshold","borderPrimary","markPoint","itemStyle","borderWidth","borderColor","symbolSize","gold","turquoiseLight","violetLight","grid","right","bottom","graphic","shape","x1","y1","x2","y2"],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/getOption.ts"],"sourcesContent":["import {\n colorPalette,\n darkTheme,\n getGridLines,\n getLineCommons,\n lightTheme,\n} from '@oanda/labs-widget-common';\n\nimport {\n CHART_HEIGHT,\n CHART_WIDTH,\n TITLE_HEIGHT,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n} from './constants';\nimport { getPercentValueByPips } from './getPercentValueByPips';\nimport type { GetOptionType } from './types';\n\nexport const getOption: GetOptionType = (values, lang, isDark, isDesktop) => {\n const gridLines = getGridLines({\n isDark,\n chartWidth: CHART_WIDTH,\n chartHeight: CHART_HEIGHT,\n xLabelsSize: X_LABEL_SIZE - Y_LABEL_SIZE_DESKTOP,\n yLabelSize: isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE,\n yLabelMarinTop: isDesktop ? 0 : TITLE_HEIGHT,\n });\n\n const { down, up } = values!.valueAtRiskChart!;\n\n const points = [...up.points!, ...down.points!]\n .sort((a, b) => a.pips - b.pips)\n .map((point) => [point.pips, point.percent * 100]);\n\n const maxDown = Math.max(...down.points!.map((point) => point.pips));\n const minUp = Math.min(...up.points!.map((point) => point.pips));\n\n return {\n animation: false,\n title: {\n left: 16,\n top: 10,\n text: lang('daily'),\n textStyle: {\n fontWeight: 500,\n fontSize: 20,\n },\n },\n xAxis: {\n type: 'value',\n name: lang('pips').toUpperCase(),\n nameLocation: 'middle',\n splitNumber: isDesktop ? 8 : 4,\n nameGap: 32,\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n padding: 0,\n margin: 12,\n showMaxLabel: false,\n showMinLabel: false,\n hideOverlap: true,\n formatter: (value) => value.toFixed(),\n },\n axisPointer: {\n label: {\n margin: 7,\n formatter: ({ value }) => (value as number).toFixed(),\n },\n },\n },\n yAxis: {\n name: lang('distribution').toUpperCase(),\n type: 'value',\n inverse: true,\n nameLocation: 'middle',\n nameGap: isDesktop ? 40 : 30,\n nameRotate: -90,\n position: 'right',\n axisLine: { show: false },\n axisTick: { show: false },\n axisLabel: {\n padding: 0,\n margin: isDesktop ? 12 : 4,\n rich: {\n a: {\n padding: isDesktop ? [0, 0, 0, 0] : [20, 0, 0, 0],\n },\n },\n formatter: (value, index) => (index ? `${value}%` : `{a|${value}%}`),\n },\n axisPointer: {\n label: {\n precision: 0,\n padding: isDesktop ? [4, 10, 4, 10] : 4,\n formatter: '{value}%',\n },\n },\n },\n axisPointer: {\n show: true,\n type: 'line',\n },\n visualMap: {\n type: 'piecewise',\n show: false,\n dimension: 0,\n pieces: [\n {\n lt: down.average,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.5,\n },\n {\n gte: down.average,\n lt: down.median,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.6,\n },\n {\n gte: down.median,\n lt: maxDown,\n color: isDark ? colorPalette.orange : colorPalette.raspberryLight,\n colorAlpha: 0.75,\n },\n {\n gte: minUp,\n lt: up.median,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.75,\n },\n {\n gte: up.median,\n lt: up.average,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.6,\n },\n {\n gte: up.average,\n color: isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.greenLight,\n colorAlpha: 0.5,\n },\n ],\n },\n series: [\n {\n name: 'main',\n type: 'line',\n symbol: 'none',\n areaStyle: {\n origin: 'end',\n opacity: 1,\n },\n lineStyle: {\n opacity: 1,\n },\n emphasis: {\n disabled: true,\n },\n data: points,\n markLine: {\n silent: true,\n symbol: ['none', 'none'],\n label: {\n show: false,\n },\n lineStyle: {\n color: isDark ? colorPalette.white : colorPalette.bottleGreenDark,\n width: 1,\n },\n data: [\n {\n xAxis: down.median,\n lineStyle: {\n type: [2, 2],\n },\n },\n {\n xAxis: down.average,\n lineStyle: {\n type: [4, 5],\n },\n },\n {\n xAxis: down.threshold,\n lineStyle: {\n type: [6, 2],\n },\n },\n {\n xAxis: down.max,\n lineStyle: {\n type: 'solid',\n color: isDark\n ? darkTheme.borderPrimary\n : lightTheme.borderPrimary,\n },\n },\n {\n xAxis: up.median,\n lineStyle: {\n type: [2, 2],\n },\n },\n {\n xAxis: up.average,\n lineStyle: {\n type: [4, 5],\n },\n },\n {\n xAxis: up.threshold,\n lineStyle: {\n type: [6, 2],\n },\n },\n {\n xAxis: up.max,\n lineStyle: {\n type: 'solid',\n color: isDark\n ? darkTheme.borderPrimary\n : lightTheme.borderPrimary,\n },\n },\n ],\n },\n markPoint: {\n animation: false,\n silent: true,\n itemStyle: {\n borderWidth: 1,\n borderColor: colorPalette.white,\n },\n label: {\n show: false,\n },\n data: [\n {\n name: 'Mark point Down average',\n xAxis: down.average,\n yAxis: getPercentValueByPips(down.average, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.gold,\n },\n },\n {\n name: 'Mark point Down median',\n xAxis: down.median,\n yAxis: getPercentValueByPips(down.median, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.turquoiseLight,\n },\n },\n {\n name: 'Mark point Down threshold',\n xAxis: down.threshold,\n yAxis: getPercentValueByPips(down.threshold, points),\n symbol: 'circle',\n symbolSize: 9,\n itemStyle: {\n color: colorPalette.violetLight,\n },\n },\n {\n name: 'Mark point up average',\n xAxis: up.average,\n yAxis: getPercentValueByPips(up.average, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.gold,\n },\n },\n {\n name: 'Mark point up median',\n xAxis: up.median,\n yAxis: getPercentValueByPips(up.median, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.turquoiseLight,\n },\n },\n {\n name: 'Mark point up threshold',\n xAxis: up.threshold,\n yAxis: getPercentValueByPips(up.threshold, points),\n symbol: 'rectangle',\n symbolSize: 8,\n itemStyle: {\n color: colorPalette.violetLight,\n },\n },\n ],\n },\n },\n ],\n grid: [\n {\n name: 'main-grid',\n top: `${TITLE_HEIGHT}px`,\n left: '0px',\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n bottom: `${X_LABEL_SIZE}px`,\n },\n ],\n graphic: [\n ...gridLines,\n {\n ...getLineCommons(isDark),\n top: TITLE_HEIGHT - 2,\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: isDesktop ? 0 : Y_LABEL_SIZE_MOBILE,\n y2: 0,\n },\n },\n ],\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/types.ts"],"sourcesContent":["import { EChartsOption } from 'echarts';\nimport { GetValueAtRiskChartQuery } from '../../../gql/types/graphql';\n\nexport interface ChartProps {\n values: GetValueAtRiskChartQuery;\n}\n\nexport type GetOptionType = (\n values: GetValueAtRiskChartQuery,\n lang: (label: string) => string,\n isDark: boolean,\n isDesktop: boolean,\n) => EChartsOption;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/ValueAtRiskWidget/components/Chart/types.ts"],"sourcesContent":["import type { EChartsOption } from 'echarts';\n\nimport type { GetValueAtRiskChartQuery } from '../../../gql/types/graphql';\n\nexport interface ChartProps {\n values: GetValueAtRiskChartQuery;\n}\n\nexport type GetOptionType = (\n values: GetValueAtRiskChartQuery,\n lang: (label: string) => string,\n isDark: boolean,\n isDesktop: boolean\n) => EChartsOption;\n"],"mappings":"","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import React from 'react';
2
1
  import { colorPalette } from '@oanda/labs-widget-common';
2
+ import React from 'react';
3
3
  const DashedLine = _ref => {
4
4
  let {
5
5
  strokeDasharray,
@@ -8,18 +8,18 @@ const DashedLine = _ref => {
8
8
  } = _ref;
9
9
  return React.createElement("svg", {
10
10
  className: "lw-inline",
11
- width: width,
11
+ fill: "none",
12
12
  height: "2",
13
13
  viewBox: `0 0 ${width} 2`,
14
- fill: "none",
14
+ width: width,
15
15
  xmlns: "http://www.w3.org/2000/svg"
16
16
  }, React.createElement("line", {
17
17
  stroke: isDark ? colorPalette.white : colorPalette.bottleGreenDark,
18
+ strokeDasharray: strokeDasharray,
18
19
  x1: "0",
19
- y1: "1",
20
20
  x2: width,
21
- y2: "1",
22
- strokeDasharray: strokeDasharray
21
+ y1: "1",
22
+ y2: "1"
23
23
  }));
24
24
  };
25
25
  export { DashedLine };
@@ -1 +1 @@
1
- {"version":3,"file":"DashedLine.js","names":["React","colorPalette","DashedLine","_ref","strokeDasharray","width","isDark","createElement","className","height","viewBox","fill","xmlns","stroke","white","bottleGreenDark","x1","y1","x2","y2"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/DashedLine.tsx"],"sourcesContent":["import React from 'react';\nimport { colorPalette } from '@oanda/labs-widget-common';\nimport {\n DashedLineProps,\n} from './types';\n\nconst DashedLine = ({ strokeDasharray, width = '30', isDark }: DashedLineProps) => (\n <svg className=\"lw-inline\" width={width} height=\"2\" viewBox={`0 0 ${width} 2`} fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <line\n stroke={isDark ? colorPalette.white : colorPalette.bottleGreenDark}\n x1=\"0\"\n y1=\"1\"\n x2={width}\n y2=\"1\"\n strokeDasharray={strokeDasharray}\n />\n </svg>\n);\n\nexport { DashedLine };\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,QAAQ,2BAA2B;AAKxD,MAAMC,UAAU,GAAGC,IAAA;EAAA,IAAC;IAAEC,eAAe;IAAEC,KAAK,GAAG,IAAI;IAAEC;EAAwB,CAAC,GAAAH,IAAA;EAAA,OAC5EH,KAAA,CAAAO,aAAA;IAAKC,SAAS,EAAC,WAAW;IAACH,KAAK,EAAEA,KAAM;IAACI,MAAM,EAAC,GAAG;IAACC,OAAO,EAAE,OAAOL,KAAK,IAAK;IAACM,IAAI,EAAC,MAAM;IAACC,KAAK,EAAC;EAA4B,GAC3HZ,KAAA,CAAAO,aAAA;IACEM,MAAM,EAAEP,MAAM,GAAGL,YAAY,CAACa,KAAK,GAAGb,YAAY,CAACc,eAAgB;IACnEC,EAAE,EAAC,GAAG;IACNC,EAAE,EAAC,GAAG;IACNC,EAAE,EAAEb,KAAM;IACVc,EAAE,EAAC,GAAG;IACNf,eAAe,EAAEA;EAAgB,CAClC,CACE,CAAC;AAAA,CACP;AAED,SAASF,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"DashedLine.js","names":["colorPalette","React","DashedLine","_ref","strokeDasharray","width","isDark","createElement","className","fill","height","viewBox","xmlns","stroke","white","bottleGreenDark","x1","x2","y1","y2"],"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,SAASA,YAAY,QAAQ,2BAA2B;AACxD,OAAOC,KAAK,MAAM,OAAO;AAIzB,MAAMC,UAAU,GAAGC,IAAA;EAAA,IAAC;IAClBC,eAAe;IACfC,KAAK,GAAG,IAAI;IACZC;EACe,CAAC,GAAAH,IAAA;EAAA,OAChBF,KAAA,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,GAElCX,KAAA,CAAAM,aAAA;IACEM,MAAM,EAAEP,MAAM,GAAGN,YAAY,CAACc,KAAK,GAAGd,YAAY,CAACe,eAAgB;IACnEX,eAAe,EAAEA,eAAgB;IACjCY,EAAE,EAAC,GAAG;IACNC,EAAE,EAAEZ,KAAM;IACVa,EAAE,EAAC,GAAG;IACNC,EAAE,EAAC;EAAG,CACP,CACE,CAAC;AAAA,CACP;AAED,SAASjB,UAAU","ignoreList":[]}
@@ -1,8 +1,8 @@
1
- import React from 'react';
2
1
  import classnames from 'classnames';
3
- import { DataNames } from './types';
4
- import { DashedLine } from './DashedLine';
2
+ import React from 'react';
5
3
  import { lineTypes } from './constants';
4
+ import { DashedLine } from './DashedLine';
5
+ import { DataNames } from './types';
6
6
  const DesktopLegend = _ref => {
7
7
  let {
8
8
  data,
@@ -1 +1 @@
1
- {"version":3,"file":"DesktopLegend.js","names":["React","classnames","DataNames","DashedLine","lineTypes","DesktopLegend","_ref","data","lang","isDark","createElement","className","value","map","item","key","id","MAX","MIN","strokeDasharray","AVERAGE","MEDIAN","THRESHOLD","label","toFixed"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/DesktopLegend.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport { DataNames, DesktopLegendProps } from './types';\nimport { DashedLine } from './DashedLine';\nimport { lineTypes } from './constants';\n\nconst DesktopLegend = ({ data, lang, isDark }: DesktopLegendProps) => (\n <div className={classnames('lw-pointer-events-none lw-absolute lw-top-[50px] lw-z-10 lw-p-2 lw-text-xs', {\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 {data.map((item) => (\n <div\n key={item.id}\n className={classnames('lw-flex lw-items-center', {\n '[&_line]:lw-stroke-border-disabled': 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 className={classnames('lw-ml-[-8px] lw-h-[8px] lw-w-[8px] lw-border-[1px] lw-border-white lw-bg-gold', {\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 <span className=\"lw-px-2\">\n {`${item.label}:`}\n </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,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,SAAS,QAA4B,SAAS;AACvD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,aAAa;AAEvC,MAAMC,aAAa,GAAGC,IAAA;EAAA,IAAC;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAA2B,CAAC,GAAAH,IAAA;EAAA,OAC/DN,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAEV,UAAU,CAAC,6EAA6E,EAAE;MACxG,eAAe,EAAEM,IAAI,CAAC,CAAC,CAAC,CAACK,KAAK,GAAG,CAAC;MAClC,iBAAiB,EAAEL,IAAI,CAAC,CAAC,CAAC,CAACK,KAAK,GAAG,CAAC;MACpC,sBAAsB,EAAEH,MAAM;MAC9B,4BAA4B,EAAE,CAACA;IACjC,CAAC;EAAE,GAEAF,IAAI,CAACM,GAAG,CAAEC,IAAI,IACbd,KAAA,CAAAU,aAAA;IACEK,GAAG,EAAED,IAAI,CAACE,EAAG;IACbL,SAAS,EAAEV,UAAU,CAAC,yBAAyB,EAAE;MAC/C,oCAAoC,EAAEa,IAAI,CAACE,EAAE,KAAKd,SAAS,CAACe,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKd,SAAS,CAACgB;IAC3F,CAAC;EAAE,GAEHlB,KAAA,CAAAU,aAAA,CAACP,UAAU;IAACM,MAAM,EAAEA,MAAO;IAACU,eAAe,EAAEf,SAAS,CAACU,IAAI,CAACE,EAAE;EAAE,CAAE,CAAC,EAClEF,IAAI,CAACE,EAAE,KAAKd,SAAS,CAACe,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKd,SAAS,CAACgB,GAAG,IACrDlB,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAEV,UAAU,CAAC,+EAA+E,EAAE;MAC1G,iBAAiB,EAAEa,IAAI,CAACF,KAAK,GAAG,CAAC;MACjC,YAAY,EAAEE,IAAI,CAACE,EAAE,KAAKd,SAAS,CAACkB,OAAO;MAC3C,uBAAuB,EAAEN,IAAI,CAACE,EAAE,KAAKd,SAAS,CAACmB,MAAM;MACrD,oBAAoB,EAAEP,IAAI,CAACE,EAAE,KAAKd,SAAS,CAACoB;IAC9C,CAAC;EAAE,CACF,CACF,EACDtB,KAAA,CAAAU,aAAA;IAAMC,SAAS,EAAC;EAAS,GACtB,GAAGG,IAAI,CAACS,KAAK,GACV,CAAC,EACPvB,KAAA,CAAAU,aAAA;IAAMC,SAAS,EAAC;EAAuB,GACpC,GAAGG,IAAI,CAACF,KAAK,CAACY,OAAO,CAAC,CAAC,IAAIhB,IAAI,CAAC,MAAM,CAAC,EACpC,CACH,CACN,CACE,CAAC;AAAA,CACP;AAED,SAASH,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"DesktopLegend.js","names":["classnames","React","lineTypes","DashedLine","DataNames","DesktopLegend","_ref","data","lang","isDark","createElement","className","value","map","item","key","id","MAX","MIN","strokeDasharray","AVERAGE","MEDIAN","THRESHOLD","label","toFixed"],"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,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,SAAS,QAAQ,SAAS;AAEnC,MAAMC,aAAa,GAAGC,IAAA;EAAA,IAAC;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAA2B,CAAC,GAAAH,IAAA;EAAA,OAC/DL,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAEX,UAAU,CACnB,6EAA6E,EAC7E;MACE,eAAe,EAAEO,IAAI,CAAC,CAAC,CAAC,CAACK,KAAK,GAAG,CAAC;MAClC,iBAAiB,EAAEL,IAAI,CAAC,CAAC,CAAC,CAACK,KAAK,GAAG,CAAC;MACpC,sBAAsB,EAAEH,MAAM;MAC9B,4BAA4B,EAAE,CAACA;IACjC,CACF;EAAE,GAEDF,IAAI,CAACM,GAAG,CAAEC,IAAI,IACbb,KAAA,CAAAS,aAAA;IACEK,GAAG,EAAED,IAAI,CAACE,EAAG;IACbL,SAAS,EAAEX,UAAU,CAAC,yBAAyB,EAAE;MAC/C,oCAAoC,EAClCc,IAAI,CAACE,EAAE,KAAKZ,SAAS,CAACa,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKZ,SAAS,CAACc;IACvD,CAAC;EAAE,GAEHjB,KAAA,CAAAS,aAAA,CAACP,UAAU;IAACM,MAAM,EAAEA,MAAO;IAACU,eAAe,EAAEjB,SAAS,CAACY,IAAI,CAACE,EAAE;EAAE,CAAE,CAAC,EAClEF,IAAI,CAACE,EAAE,KAAKZ,SAAS,CAACa,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKZ,SAAS,CAACc,GAAG,IACrDjB,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAEX,UAAU,CACnB,+EAA+E,EAC/E;MACE,iBAAiB,EAAEc,IAAI,CAACF,KAAK,GAAG,CAAC;MACjC,YAAY,EAAEE,IAAI,CAACE,EAAE,KAAKZ,SAAS,CAACgB,OAAO;MAC3C,uBAAuB,EAAEN,IAAI,CAACE,EAAE,KAAKZ,SAAS,CAACiB,MAAM;MACrD,oBAAoB,EAAEP,IAAI,CAACE,EAAE,KAAKZ,SAAS,CAACkB;IAC9C,CACF;EAAE,CACH,CACF,EACDrB,KAAA,CAAAS,aAAA;IAAMC,SAAS,EAAC;EAAS,GAAE,GAAGG,IAAI,CAACS,KAAK,GAAU,CAAC,EACnDtB,KAAA,CAAAS,aAAA;IAAMC,SAAS,EAAC;EAAuB,GACpC,GAAGG,IAAI,CAACF,KAAK,CAACY,OAAO,CAAC,CAAC,IAAIhB,IAAI,CAAC,MAAM,CAAC,EACpC,CACH,CACN,CACE,CAAC;AAAA,CACP;AAED,SAASH,aAAa","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- import React, { useContext } from 'react';
2
- import { Size, ThemeContext } from '@oanda/labs-widget-common';
1
+ import { Size, useLayoutProvider } from '@oanda/labs-widget-common';
3
2
  import { useLocale } from '@oanda/mono-i18n';
4
- import { DataNames } from './types';
3
+ import React from 'react';
5
4
  import { DesktopLegend } from './DesktopLegend';
6
5
  import { MobileLegend } from './MobileLegend';
6
+ import { DataNames } from './types';
7
7
  const Legend = _ref => {
8
8
  let {
9
9
  data
@@ -11,14 +11,12 @@ const Legend = _ref => {
11
11
  const {
12
12
  size,
13
13
  isDark
14
- } = useContext(ThemeContext);
14
+ } = useLayoutProvider();
15
15
  const {
16
16
  lang
17
17
  } = useLocale();
18
18
  const isDesktop = size === Size.DESKTOP;
19
19
  return React.createElement(React.Fragment, null, isDesktop ? React.createElement(React.Fragment, null, React.createElement(DesktopLegend, {
20
- isDark: isDark,
21
- lang: lang,
22
20
  data: [{
23
21
  id: DataNames.AVERAGE,
24
22
  label: lang('average'),
@@ -35,10 +33,10 @@ const Legend = _ref => {
35
33
  id: DataNames.MIN,
36
34
  label: lang('min'),
37
35
  value: data.valueAtRiskChart.down.max
38
- }]
39
- }), React.createElement(DesktopLegend, {
36
+ }],
40
37
  isDark: isDark,
41
- lang: lang,
38
+ lang: lang
39
+ }), React.createElement(DesktopLegend, {
42
40
  data: [{
43
41
  id: DataNames.AVERAGE,
44
42
  label: lang('average'),
@@ -55,10 +53,10 @@ const Legend = _ref => {
55
53
  id: DataNames.MAX,
56
54
  label: lang('max'),
57
55
  value: data.valueAtRiskChart.up.max
58
- }]
59
- })) : React.createElement(MobileLegend, {
56
+ }],
60
57
  isDark: isDark,
61
- lang: lang,
58
+ lang: lang
59
+ })) : React.createElement(MobileLegend, {
62
60
  data: [{
63
61
  id: DataNames.AVERAGE,
64
62
  label: lang('average'),
@@ -79,7 +77,9 @@ const Legend = _ref => {
79
77
  label: `${lang('min')}/${lang('max')}`,
80
78
  valueDown: data.valueAtRiskChart.down.max,
81
79
  valueUp: data.valueAtRiskChart.up.max
82
- }]
80
+ }],
81
+ isDark: isDark,
82
+ lang: lang
83
83
  }));
84
84
  };
85
85
  export { Legend };
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","names":["React","useContext","Size","ThemeContext","useLocale","DataNames","DesktopLegend","MobileLegend","Legend","_ref","data","size","isDark","lang","isDesktop","DESKTOP","createElement","Fragment","id","AVERAGE","label","value","valueAtRiskChart","down","average","MEDIAN","median","THRESHOLD","threshold","MIN","max","up","MAX","valueDown","valueUp"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/Legend.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport {\n Size,\n ThemeContext,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport {\n DataNames, LegendProps,\n} from './types';\nimport { DesktopLegend } from './DesktopLegend';\nimport { MobileLegend } from './MobileLegend';\n\nconst Legend = ({ data }: LegendProps) => {\n const { size, isDark } = useContext(ThemeContext);\n const { lang } = useLocale();\n const isDesktop = size === Size.DESKTOP;\n\n return (\n <>\n {isDesktop ? (\n <>\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.down.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.down.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.down.threshold,\n },\n {\n id: DataNames.MIN,\n label: lang('min'),\n value: data.valueAtRiskChart!.down.max,\n },\n ]}\n />\n <DesktopLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n value: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n value: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n value: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: lang('max'),\n value: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n </>\n ) : (\n <MobileLegend\n isDark={isDark}\n lang={lang}\n data={[\n {\n id: DataNames.AVERAGE,\n label: lang('average'),\n valueDown: data.valueAtRiskChart!.down.average,\n valueUp: data.valueAtRiskChart!.up.average,\n },\n {\n id: DataNames.MEDIAN,\n label: lang('median'),\n valueDown: data.valueAtRiskChart!.down.median,\n valueUp: data.valueAtRiskChart!.up.median,\n },\n {\n id: DataNames.THRESHOLD,\n label: `${lang('threshold')} (95%)`,\n valueDown: data.valueAtRiskChart!.down.threshold,\n valueUp: data.valueAtRiskChart!.up.threshold,\n },\n {\n id: DataNames.MAX,\n label: `${lang('min')}/${lang('max')}`,\n valueDown: data.valueAtRiskChart!.down.max,\n valueUp: data.valueAtRiskChart!.up.max,\n },\n ]}\n />\n )}\n </>\n );\n};\n\nexport { Legend };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Legend.js","names":["Size","useLayoutProvider","useLocale","React","DesktopLegend","MobileLegend","DataNames","Legend","_ref","data","size","isDark","lang","isDesktop","DESKTOP","createElement","Fragment","id","AVERAGE","label","value","valueAtRiskChart","down","average","MEDIAN","median","THRESHOLD","threshold","MIN","max","up","MAX","valueDown","valueUp"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { 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":[]}
@@ -1,8 +1,8 @@
1
- import React from 'react';
2
1
  import classnames from 'classnames';
3
- import { DataNames } from './types';
4
- import { DashedLine } from './DashedLine';
2
+ import React from 'react';
5
3
  import { lineTypes } from './constants';
4
+ import { DashedLine } from './DashedLine';
5
+ import { DataNames } from './types';
6
6
  const MobileLegend = _ref => {
7
7
  let {
8
8
  data,
@@ -29,8 +29,8 @@ const MobileLegend = _ref => {
29
29
  })
30
30
  }), React.createElement(DashedLine, {
31
31
  isDark: isDark,
32
- width: item.id === DataNames.MAX || item.id === DataNames.MIN ? '38' : undefined,
33
- strokeDasharray: lineTypes[item.id]
32
+ strokeDasharray: lineTypes[item.id],
33
+ width: item.id === DataNames.MAX || item.id === DataNames.MIN ? '38' : undefined
34
34
  }), item.id !== DataNames.MAX && item.id !== DataNames.MIN && React.createElement("div", {
35
35
  className: classnames('lw-ml-[-8px] lw-h-[8px] lw-w-[8px] lw-border-[1px] lw-border-white lw-bg-gold', {
36
36
  'lw-bg-gold': item.id === DataNames.AVERAGE,
@@ -1 +1 @@
1
- {"version":3,"file":"MobileLegend.js","names":["React","classnames","DataNames","DashedLine","lineTypes","MobileLegend","_ref","data","isDark","lang","createElement","className","map","item","key","id","MAX","MIN","AVERAGE","MEDIAN","THRESHOLD","width","undefined","strokeDasharray","label","valueDown","toFixed","valueUp"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/MobileLegend.tsx"],"sourcesContent":["import React from 'react';\nimport classnames from 'classnames';\nimport { DataNames, MobileLegendProps } from './types';\nimport { DashedLine } from './DashedLine';\nimport { lineTypes } from './constants';\n\nconst MobileLegend = ({ data, isDark, lang }: MobileLegendProps) => (\n <div 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': 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 className={classnames('lw-h-[8px] lw-w-[8px] lw-rounded-full lw-border-[1px] lw-border-white lw-bg-gold', {\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 <DashedLine isDark={isDark} width={(item.id === DataNames.MAX || item.id === DataNames.MIN) ? '38' : undefined} strokeDasharray={lineTypes[item.id]} />\n {item.id !== DataNames.MAX && item.id !== DataNames.MIN && (\n <div className={classnames('lw-ml-[-8px] lw-h-[8px] lw-w-[8px] lw-border-[1px] lw-border-white lw-bg-gold', {\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 </div>\n <span className=\"lw-flex-1 lw-px-2\">\n {`${item.label}:`}\n </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":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,SAAS,QAA2B,SAAS;AACtD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,aAAa;AAEvC,MAAMC,YAAY,GAAGC,IAAA;EAAA,IAAC;IAAEC,IAAI;IAAEC,MAAM;IAAEC;EAAwB,CAAC,GAAAH,IAAA;EAAA,OAC7DN,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAEV,UAAU,CAAC,2BAA2B,EAAE;MACtD,sBAAsB,EAAEO,MAAM;MAC9B,oDAAoD,EAAE,CAACA;IACzD,CAAC;EAAE,GAEAD,IAAI,CAACK,GAAG,CAAEC,IAAI,IACbb,KAAA,CAAAU,aAAA;IACEI,GAAG,EAAED,IAAI,CAACE,EAAG;IACbJ,SAAS,EAAEV,UAAU,CAAC,4CAA4C,EAAE;MAClE,oCAAoC,EAAEY,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACc,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACe;IAC3F,CAAC;EAAE,GAEHjB,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAC;EAAyC,GACrDE,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACc,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACe,GAAG,IACrDjB,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAEV,UAAU,CAAC,kFAAkF,EAAE;MAC7G,YAAY,EAAEY,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACgB,OAAO;MAC3C,uBAAuB,EAAEL,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACiB,MAAM;MACrD,oBAAoB,EAAEN,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACkB;IAC9C,CAAC;EAAE,CACF,CACF,EACDpB,KAAA,CAAAU,aAAA,CAACP,UAAU;IAACK,MAAM,EAAEA,MAAO;IAACa,KAAK,EAAGR,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACc,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACe,GAAG,GAAI,IAAI,GAAGK,SAAU;IAACC,eAAe,EAAEnB,SAAS,CAACS,IAAI,CAACE,EAAE;EAAE,CAAE,CAAC,EACtJF,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACc,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACe,GAAG,IACrDjB,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAEV,UAAU,CAAC,+EAA+E,EAAE;MAC1G,YAAY,EAAEY,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACgB,OAAO;MAC3C,uBAAuB,EAAEL,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACiB,MAAM;MACrD,oBAAoB,EAAEN,IAAI,CAACE,EAAE,KAAKb,SAAS,CAACkB;IAC9C,CAAC;EAAE,CACF,CAEA,CAAC,EACNpB,KAAA,CAAAU,aAAA;IAAMC,SAAS,EAAC;EAAmB,GAChC,GAAGE,IAAI,CAACW,KAAK,GACV,CAAC,EACPxB,KAAA,CAAAU,aAAA;IAAMC,SAAS,EAAC;EAAyB,GACtC,GAAGE,IAAI,CAACY,SAAS,CAACC,OAAO,CAAC,CAAC,IAAIjB,IAAI,CAAC,MAAM,CAAC,EACxC,CAAC,EACPT,KAAA,CAAAU,aAAA;IAAMC,SAAS,EAAC;EAAyB,GACtC,GAAGE,IAAI,CAACc,OAAO,CAACD,OAAO,CAAC,CAAC,IAAIjB,IAAI,CAAC,MAAM,CAAC,EACtC,CACH,CACN,CACE,CAAC;AAAA,CACP;AAED,SAASJ,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"MobileLegend.js","names":["classnames","React","lineTypes","DashedLine","DataNames","MobileLegend","_ref","data","isDark","lang","createElement","className","map","item","key","id","MAX","MIN","AVERAGE","MEDIAN","THRESHOLD","strokeDasharray","width","undefined","label","valueDown","toFixed","valueUp"],"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":"AAAA,OAAOA,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,SAAS,QAAQ,SAAS;AAEnC,MAAMC,YAAY,GAAGC,IAAA;EAAA,IAAC;IAAEC,IAAI;IAAEC,MAAM;IAAEC;EAAwB,CAAC,GAAAH,IAAA;EAAA,OAC7DL,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAEX,UAAU,CAAC,2BAA2B,EAAE;MACjD,sBAAsB,EAAEQ,MAAM;MAC9B,oDAAoD,EAAE,CAACA;IACzD,CAAC;EAAE,GAEFD,IAAI,CAACK,GAAG,CAAEC,IAAI,IACbZ,KAAA,CAAAS,aAAA;IACEI,GAAG,EAAED,IAAI,CAACE,EAAG;IACbJ,SAAS,EAAEX,UAAU,CAAC,4CAA4C,EAAE;MAClE,oCAAoC,EAClCa,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACY,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACa;IACvD,CAAC;EAAE,GAEHhB,KAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAAyC,GACrDE,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACY,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACa,GAAG,IACrDhB,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAEX,UAAU,CACnB,kFAAkF,EAClF;MACE,YAAY,EAAEa,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACc,OAAO;MAC3C,uBAAuB,EAAEL,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACe,MAAM;MACrD,oBAAoB,EAAEN,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACgB;IAC9C,CACF;EAAE,CACH,CACF,EACDnB,KAAA,CAAAS,aAAA,CAACP,UAAU;IACTK,MAAM,EAAEA,MAAO;IACfa,eAAe,EAAEnB,SAAS,CAACW,IAAI,CAACE,EAAE,CAAE;IACpCO,KAAK,EACHT,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACY,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACa,GAAG,GAClD,IAAI,GACJM;EACL,CACF,CAAC,EACDV,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACY,GAAG,IAAIH,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACa,GAAG,IACrDhB,KAAA,CAAAS,aAAA;IACEC,SAAS,EAAEX,UAAU,CACnB,+EAA+E,EAC/E;MACE,YAAY,EAAEa,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACc,OAAO;MAC3C,uBAAuB,EAAEL,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACe,MAAM;MACrD,oBAAoB,EAAEN,IAAI,CAACE,EAAE,KAAKX,SAAS,CAACgB;IAC9C,CACF;EAAE,CACH,CAEA,CAAC,EACNnB,KAAA,CAAAS,aAAA;IAAMC,SAAS,EAAC;EAAmB,GAAE,GAAGE,IAAI,CAACW,KAAK,GAAU,CAAC,EAC7DvB,KAAA,CAAAS,aAAA;IAAMC,SAAS,EAAC;EAAyB,GACtC,GAAGE,IAAI,CAACY,SAAS,CAACC,OAAO,CAAC,CAAC,IAAIjB,IAAI,CAAC,MAAM,CAAC,EACxC,CAAC,EACPR,KAAA,CAAAS,aAAA;IAAMC,SAAS,EAAC;EAAyB,GACtC,GAAGE,IAAI,CAACc,OAAO,CAACD,OAAO,CAAC,CAAC,IAAIjB,IAAI,CAAC,MAAM,CAAC,EACtC,CACH,CACN,CACE,CAAC;AAAA,CACP;AAED,SAASJ,YAAY","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["lineTypes","min","max","median","threshold","average"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/constants.tsx"],"sourcesContent":["import { DataNames } from './types';\n\nexport const lineTypes: Record<DataNames, string> = {\n min: '0',\n max: '0',\n median: '4 5',\n threshold: '6 2',\n average: '2 2',\n};\n"],"mappings":"AAEA,OAAO,MAAMA,SAAoC,GAAG;EAClDC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,MAAM,EAAE,KAAK;EACbC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":["lineTypes","min","max","median","threshold","average"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/constants.tsx"],"sourcesContent":["import type { DataNames } from './types';\n\nexport const lineTypes: Record<DataNames, string> = {\n min: '0',\n max: '0',\n median: '4 5',\n threshold: '6 2',\n average: '2 2',\n};\n"],"mappings":"AAEA,OAAO,MAAMA,SAAoC,GAAG;EAClDC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,MAAM,EAAE,KAAK;EACbC,SAAS,EAAE,KAAK;EAChBC,OAAO,EAAE;AACX,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["DataNames"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/types.tsx"],"sourcesContent":["import { GetValueAtRiskChartQuery } from '../../../gql/types/graphql';\n\nexport enum DataNames {\n MIN = 'min',\n MAX = 'max',\n MEDIAN = 'median',\n THRESHOLD = 'threshold',\n AVERAGE = 'average',\n}\n\nexport interface DesktopLegendProps {\n data: {\n id: DataNames;\n label: string;\n value: number;\n }[];\n isDark: boolean,\n lang: (key: string) => string\n}\n\nexport interface MobileLegendProps {\n data: {\n id: DataNames;\n label: string;\n valueUp: number;\n valueDown: number;\n }[];\n isDark: boolean,\n lang: (key: string) => string\n}\n\nexport interface LegendProps {\n data: GetValueAtRiskChartQuery\n}\n\nexport interface DashedLineProps {\n strokeDasharray?: string,\n width?: string,\n isDark: boolean,\n}\n"],"mappings":"AAEA,WAAYA,SAAS,aAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":["DataNames"],"sources":["../../../../../src/ValueAtRiskWidget/components/Legend/types.tsx"],"sourcesContent":["import type { GetValueAtRiskChartQuery } from '../../../gql/types/graphql';\n\nexport enum DataNames {\n MIN = 'min',\n MAX = 'max',\n MEDIAN = 'median',\n THRESHOLD = 'threshold',\n AVERAGE = 'average',\n}\n\nexport interface DesktopLegendProps {\n data: {\n id: DataNames;\n label: string;\n value: number;\n }[];\n isDark: boolean;\n lang: (key: string) => string;\n}\n\nexport interface MobileLegendProps {\n data: {\n id: DataNames;\n label: string;\n valueUp: number;\n valueDown: number;\n }[];\n isDark: boolean;\n lang: (key: string) => string;\n}\n\nexport interface LegendProps {\n data: GetValueAtRiskChartQuery;\n}\n\nexport interface DashedLineProps {\n strokeDasharray?: string;\n width?: string;\n isDark: boolean;\n}\n"],"mappings":"AAEA,WAAYA,SAAS,aAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
@@ -1,8 +1,8 @@
1
+ import { validateLocale, validateToolParams } from '@oanda/labs-widget-common';
1
2
  import React from 'react';
2
3
  import { createRoot } from 'react-dom/client';
3
- import { validateLocale, validateToolParams } from '@oanda/labs-widget-common';
4
- import { ValueAtRiskWidget } from './ValueAtRiskWidget';
5
4
  import { Division } from '../gql/types/graphql';
5
+ import { ValueAtRiskWidget } from './ValueAtRiskWidget';
6
6
  const {
7
7
  graphqlUrl
8
8
  } = window.widgetsConfig || {};
@@ -33,15 +33,15 @@ valueAtRiskParamsElements.forEach(element => {
33
33
  name: 'graphqlUrl'
34
34
  }]);
35
35
  root.render(React.createElement(ValueAtRiskWidget, {
36
- graphqlUrl: graphqlUrl,
37
- locale: locale,
36
+ bars: bars,
38
37
  division: division,
39
- theme: mode,
40
- isParamError: isParamError,
41
- instrument: instrument,
42
38
  duration: duration,
43
- bars: bars,
44
- logoLink: logoLink
39
+ graphqlUrl: graphqlUrl,
40
+ instrument: instrument,
41
+ isParamError: isParamError,
42
+ locale: locale,
43
+ logoLink: logoLink,
44
+ theme: mode
45
45
  }));
46
46
  });
47
47
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["React","createRoot","validateLocale","validateToolParams","ValueAtRiskWidget","Division","graphqlUrl","window","widgetsConfig","valueAtRiskParamsElements","document","querySelectorAll","forEach","element","root","params","getAttribute","mode","division","locale","instrument","duration","bars","logoLink","JSON","parse","isParamError","name","valueCheck","value","Object","values","includes","render","createElement","theme"],"sources":["../../../src/ValueAtRiskWidget/render.tsx"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { Theme, validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport { ValueAtRiskWidget } from './ValueAtRiskWidget';\nimport { Division } from '../gql/types/graphql';\n\nconst {\n graphqlUrl,\n} = window.widgetsConfig || {};\n\nconst valueAtRiskParamsElements = document.querySelectorAll('div[data-value-at-risk-params]');\n\nvalueAtRiskParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-value-at-risk-params');\n const mode = element.getAttribute('data-mode');\n const {\n division,\n locale,\n instrument,\n duration,\n bars,\n logoLink,\n } = JSON.parse(params as string);\n\n const isParamError = validateToolParams({ locale, division, graphqlUrl }, [\n {\n name: 'locale',\n valueCheck: (value) => validateLocale(value),\n },\n {\n name: 'division',\n valueCheck: (value) => Object.values(Division).includes(value),\n },\n {\n name: 'graphqlUrl',\n }]);\n\n root.render(\n <ValueAtRiskWidget\n graphqlUrl={graphqlUrl}\n locale={locale}\n division={division}\n theme={mode as Theme}\n isParamError={isParamError}\n instrument={instrument}\n duration={duration}\n bars={bars}\n logoLink={logoLink}\n />,\n );\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAAgBC,cAAc,EAAEC,kBAAkB,QAAQ,2BAA2B;AACrF,SAASC,iBAAiB,QAAQ,qBAAqB;AACvD,SAASC,QAAQ,QAAQ,sBAAsB;AAE/C,MAAM;EACJC;AACF,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAE9B,MAAMC,yBAAyB,GAAGC,QAAQ,CAACC,gBAAgB,CAAC,gCAAgC,CAAC;AAE7FF,yBAAyB,CAACG,OAAO,CAAEC,OAAO,IAAK;EAC7C,MAAMC,IAAI,GAAGb,UAAU,CAACY,OAAO,CAAC;EAChC,MAAME,MAAM,GAAGF,OAAO,CAACG,YAAY,CAAC,2BAA2B,CAAC;EAChE,MAAMC,IAAI,GAAGJ,OAAO,CAACG,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IACJE,QAAQ;IACRC,MAAM;IACNC,UAAU;IACVC,QAAQ;IACRC,IAAI;IACJC;EACF,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACV,MAAgB,CAAC;EAEhC,MAAMW,YAAY,GAAGvB,kBAAkB,CAAC;IAAEgB,MAAM;IAAED,QAAQ;IAAEZ;EAAW,CAAC,EAAE,CACxE;IACEqB,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAK,IAAK3B,cAAc,CAAC2B,KAAK;EAC7C,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAK,IAAKC,MAAM,CAACC,MAAM,CAAC1B,QAAQ,CAAC,CAAC2B,QAAQ,CAACH,KAAK;EAC/D,CAAC,EACD;IACEF,IAAI,EAAE;EACR,CAAC,CAAC,CAAC;EAELb,IAAI,CAACmB,MAAM,CACTjC,KAAA,CAAAkC,aAAA,CAAC9B,iBAAiB;IAChBE,UAAU,EAAEA,UAAW;IACvBa,MAAM,EAAEA,MAAO;IACfD,QAAQ,EAAEA,QAAS;IACnBiB,KAAK,EAAElB,IAAc;IACrBS,YAAY,EAAEA,YAAa;IAC3BN,UAAU,EAAEA,UAAW;IACvBC,QAAQ,EAAEA,QAAS;IACnBC,IAAI,EAAEA,IAAK;IACXC,QAAQ,EAAEA;EAAS,CACpB,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"render.js","names":["validateLocale","validateToolParams","React","createRoot","Division","ValueAtRiskWidget","graphqlUrl","window","widgetsConfig","valueAtRiskParamsElements","document","querySelectorAll","forEach","element","root","params","getAttribute","mode","division","locale","instrument","duration","bars","logoLink","JSON","parse","isParamError","name","valueCheck","value","Object","values","includes","render","createElement","theme"],"sources":["../../../src/ValueAtRiskWidget/render.tsx"],"sourcesContent":["import type { Theme } from '@oanda/labs-widget-common';\nimport { validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Division } from '../gql/types/graphql';\nimport { ValueAtRiskWidget } from './ValueAtRiskWidget';\n\nconst { graphqlUrl } = window.widgetsConfig || {};\n\nconst valueAtRiskParamsElements = document.querySelectorAll(\n 'div[data-value-at-risk-params]'\n);\n\nvalueAtRiskParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-value-at-risk-params');\n const mode = element.getAttribute('data-mode');\n const { division, locale, instrument, duration, bars, logoLink } = JSON.parse(\n params as string\n );\n\n const isParamError = validateToolParams({ locale, division, graphqlUrl }, [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'division',\n valueCheck: (value: Division) => Object.values(Division).includes(value),\n },\n {\n name: 'graphqlUrl',\n },\n ]);\n\n root.render(\n <ValueAtRiskWidget\n bars={bars}\n division={division}\n duration={duration}\n graphqlUrl={graphqlUrl}\n instrument={instrument}\n isParamError={isParamError}\n locale={locale}\n logoLink={logoLink}\n theme={mode as Theme}\n />\n );\n});\n"],"mappings":"AACA,SAASA,cAAc,EAAEC,kBAAkB,QAAQ,2BAA2B;AAC9E,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,kBAAkB;AAE7C,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,iBAAiB,QAAQ,qBAAqB;AAEvD,MAAM;EAAEC;AAAW,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAEjD,MAAMC,yBAAyB,GAAGC,QAAQ,CAACC,gBAAgB,CACzD,gCACF,CAAC;AAEDF,yBAAyB,CAACG,OAAO,CAAEC,OAAO,IAAK;EAC7C,MAAMC,IAAI,GAAGX,UAAU,CAACU,OAAO,CAAC;EAChC,MAAME,MAAM,GAAGF,OAAO,CAACG,YAAY,CAAC,2BAA2B,CAAC;EAChE,MAAMC,IAAI,GAAGJ,OAAO,CAACG,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IAAEE,QAAQ;IAAEC,MAAM;IAAEC,UAAU;IAAEC,QAAQ;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGC,IAAI,CAACC,KAAK,CAC3EV,MACF,CAAC;EAED,MAAMW,YAAY,GAAGzB,kBAAkB,CAAC;IAAEkB,MAAM;IAAED,QAAQ;IAAEZ;EAAW,CAAC,EAAE,CACxE;IACEqB,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAyB,IAAK7B,cAAc,CAAC6B,KAAK;EACjE,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAe,IAAKC,MAAM,CAACC,MAAM,CAAC3B,QAAQ,CAAC,CAAC4B,QAAQ,CAACH,KAAK;EACzE,CAAC,EACD;IACEF,IAAI,EAAE;EACR,CAAC,CACF,CAAC;EAEFb,IAAI,CAACmB,MAAM,CACT/B,KAAA,CAAAgC,aAAA,CAAC7B,iBAAiB;IAChBiB,IAAI,EAAEA,IAAK;IACXJ,QAAQ,EAAEA,QAAS;IACnBG,QAAQ,EAAEA,QAAS;IACnBf,UAAU,EAAEA,UAAW;IACvBc,UAAU,EAAEA,UAAW;IACvBM,YAAY,EAAEA,YAAa;IAC3BP,MAAM,EAAEA,MAAO;IACfI,QAAQ,EAAEA,QAAS;IACnBY,KAAK,EAAElB;EAAc,CACtB,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/ValueAtRiskWidget/types.ts"],"sourcesContent":["import { WidgetConfig } from '@oanda/labs-widget-common';\nimport {\n Division, GetValueAtRiskAssetClassesQuery, ValueAtRiskBars, ValueAtRiskDuration,\n} from '../gql/types/graphql';\n\nexport interface ValueAtRiskConfig extends WidgetConfig {\n division: Division;\n instrument?: string;\n duration?: ValueAtRiskDuration;\n bars?: ValueAtRiskBars;\n}\n\nexport interface ValueAtRiskWrapperConfig extends ValueAtRiskConfig {\n renderElementId: string;\n}\n\nexport interface WidgetProps {\n instrument: string;\n duration: ValueAtRiskDuration;\n bars: ValueAtRiskBars;\n division: Division;\n}\n\nexport interface ToolProps {\n data: GetValueAtRiskAssetClassesQuery;\n division: Division;\n}\n\nexport interface ToolWithDataProps {\n division: Division;\n}\n\nexport interface ChartWithDataProps {\n instrument: string;\n duration: ValueAtRiskDuration;\n bars: ValueAtRiskBars;\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/ValueAtRiskWidget/types.ts"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type {\n Division,\n GetValueAtRiskAssetClassesQuery,\n ValueAtRiskBars,\n ValueAtRiskDuration,\n} from '../gql/types/graphql';\n\nexport interface ValueAtRiskConfig extends WidgetConfig {\n division: Division;\n instrument?: string;\n duration?: ValueAtRiskDuration;\n bars?: ValueAtRiskBars;\n}\n\nexport interface ValueAtRiskWrapperConfig extends ValueAtRiskConfig {\n renderElementId: string;\n}\n\nexport interface WidgetProps {\n instrument: string;\n duration: ValueAtRiskDuration;\n bars: ValueAtRiskBars;\n division: Division;\n}\n\nexport interface ToolProps {\n data: GetValueAtRiskAssetClassesQuery;\n division: Division;\n}\n\nexport interface ToolWithDataProps {\n division: Division;\n}\n\nexport interface ChartWithDataProps {\n instrument: string;\n duration: ValueAtRiskDuration;\n bars: ValueAtRiskBars;\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}
@@ -37,5 +37,5 @@ const getInstrumentsByAssetClassId = (data, id) => {
37
37
  });
38
38
  return mapInstrumentsList(instruments);
39
39
  };
40
- export { getAssetClassesList, sortAlphabetically, getInstrumentsByAssetClassId };
40
+ export { getAssetClassesList, getInstrumentsByAssetClassId, sortAlphabetically };
41
41
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["capitalize","name","toUpperCase","substring","sortAlphabetically","paramName","items","sort","itemA","itemB","localeCompare","sensitivity","getAssetClassesList","data","list","map","_ref","id","toLowerCase","label","mapInstrumentsList","_ref2","displayName","getInstrumentsByAssetClassId","instruments","filter","_ref3"],"sources":["../../../src/ValueAtRiskWidget/utils.ts"],"sourcesContent":["import { AssetClass, Instrument } from '../gql/types/graphql';\n\nconst capitalize = (name: string) => `${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]\n .sort((itemA, itemB) => itemA[paramName].localeCompare(itemB[paramName], 'en', { sensitivity: 'base' }));\n}\n\nconst getAssetClassesList = (data: AssetClass[]) => {\n const list = data\n .map(({ name }) => ({ id: name.toLowerCase(), label: capitalize(name) }));\n\n return sortAlphabetically('label', list);\n};\n\nconst mapInstrumentsList = (data: Instrument[]) => sortAlphabetically('displayName', data)\n .map(({ name: id, displayName: label }) => ({ id, label }));\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 sortAlphabetically,\n getInstrumentsByAssetClassId,\n};\n"],"mappings":"AAEA,MAAMA,UAAU,GAAIC,IAAY,IAAK,GAAGA,IAAI,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGD,IAAI,CAACE,SAAS,CAAC,CAAC,CAAC,EAAE;AAEnF,SAASC,kBAAkBA,CACzBC,SAAkB,EAClBC,KAAU,EACL;EACL,OAAO,CAAC,GAAGA,KAAK,CAAC,CACdC,IAAI,CAAC,CAACC,KAAK,EAAEC,KAAK,KAAKD,KAAK,CAACH,SAAS,CAAC,CAACK,aAAa,CAACD,KAAK,CAACJ,SAAS,CAAC,EAAE,IAAI,EAAE;IAAEM,WAAW,EAAE;EAAO,CAAC,CAAC,CAAC;AAC5G;AAEA,MAAMC,mBAAmB,GAAIC,IAAkB,IAAK;EAClD,MAAMC,IAAI,GAAGD,IAAI,CACdE,GAAG,CAACC,IAAA;IAAA,IAAC;MAAEf;IAAK,CAAC,GAAAe,IAAA;IAAA,OAAM;MAAEC,EAAE,EAAEhB,IAAI,CAACiB,WAAW,CAAC,CAAC;MAAEC,KAAK,EAAEnB,UAAU,CAACC,IAAI;IAAE,CAAC;EAAA,CAAC,CAAC;EAE3E,OAAOG,kBAAkB,CAAC,OAAO,EAAEU,IAAI,CAAC;AAC1C,CAAC;AAED,MAAMM,kBAAkB,GAAIP,IAAkB,IAAKT,kBAAkB,CAAC,aAAa,EAAES,IAAI,CAAC,CACvFE,GAAG,CAACM,KAAA;EAAA,IAAC;IAAEpB,IAAI,EAAEgB,EAAE;IAAEK,WAAW,EAAEH;EAAM,CAAC,GAAAE,KAAA;EAAA,OAAM;IAAEJ,EAAE;IAAEE;EAAM,CAAC;AAAA,CAAC,CAAC;AAE7D,MAAMI,4BAA4B,GAAGA,CAACV,IAAkB,EAAEI,EAAU,KAAK;EACvE,MAAM,CAAC;IAAEO;EAAY,CAAC,CAAC,GAAGX,IAAI,CAACY,MAAM,CAACC,KAAA;IAAA,IAAC;MAAEzB;IAAK,CAAC,GAAAyB,KAAA;IAAA,OAAKT,EAAE,KAAKhB,IAAI;EAAA,EAAC;EAEhE,OAAOmB,kBAAkB,CAACI,WAAW,CAAC;AACxC,CAAC;AAED,SACEZ,mBAAmB,EACnBR,kBAAkB,EAClBmB,4BAA4B","ignoreList":[]}
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","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;AAED,MAAMM,kBAAkB,GAAIP,IAAkB,IAC5CT,kBAAkB,CAAC,aAAa,EAAES,IAAI,CAAC,CAACE,GAAG,CACzCM,KAAA;EAAA,IAAC;IAAEpB,IAAI,EAAEgB,EAAE;IAAEK,WAAW,EAAEH;EAAM,CAAC,GAAAE,KAAA;EAAA,OAAM;IAAEJ,EAAE;IAAEE;EAAM,CAAC;AAAA,CACtD,CAAC;AAEH,MAAMI,4BAA4B,GAAGA,CAACV,IAAkB,EAAEI,EAAU,KAAK;EACvE,MAAM,CAAC;IAAEO;EAAY,CAAC,CAAC,GAAGX,IAAI,CAACY,MAAM,CAACC,KAAA;IAAA,IAAC;MAAEzB;IAAK,CAAC,GAAAyB,KAAA;IAAA,OAAKT,EAAE,KAAKhB,IAAI;EAAA,EAAC;EAEhE,OAAOmB,kBAAkB,CAACI,WAAW,CAAC;AACxC,CAAC;AAED,SACEZ,mBAAmB,EACnBW,4BAA4B,EAC5BnB,kBAAkB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { gql } from '@apollo/client';
2
2
  export const getValueAtRiskAssetClasses = gql`
3
3
  query GetValueAtRiskAssetClasses($division: Division) {
4
- valueAtRiskAssetClasses(division: $division) {
4
+ valueAtRiskAssetClasses(division: $division) {
5
5
  name
6
6
  instruments {
7
7
  name
@@ -1 +1 @@
1
- {"version":3,"file":"getValueAtRiskAssetClasses.js","names":["gql","getValueAtRiskAssetClasses"],"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,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,OAAO,MAAMC,0BAA0B,GAAGD,GAAG;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getValueAtRiskAssetClasses.js","names":["gql","getValueAtRiskAssetClasses"],"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,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,OAAO,MAAMC,0BAA0B,GAAGD,GAAG;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -1,7 +1,17 @@
1
1
  import { gql } from '@apollo/client';
2
2
  export const getValueAtRiskChart = gql`
3
- query getValueAtRiskChart($instrument: String!, $division: Division!, $duration: ValueAtRiskDuration!, $bars: ValueAtRiskBars!) {
4
- valueAtRiskChart(instrument: $instrument, division: $division, duration: $duration, bars: $bars) {
3
+ query getValueAtRiskChart(
4
+ $instrument: String!
5
+ $division: Division!
6
+ $duration: ValueAtRiskDuration!
7
+ $bars: ValueAtRiskBars!
8
+ ) {
9
+ valueAtRiskChart(
10
+ instrument: $instrument
11
+ division: $division
12
+ duration: $duration
13
+ bars: $bars
14
+ ) {
5
15
  up {
6
16
  points {
7
17
  pips
@@ -1 +1 @@
1
- {"version":3,"file":"getValueAtRiskChart.js","names":["gql","getValueAtRiskChart"],"sources":["../../../src/gql/getValueAtRiskChart.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nexport const getValueAtRiskChart = gql`\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"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,OAAO,MAAMC,mBAAmB,GAAGD,GAAG;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,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getValueAtRiskChart.js","names":["gql","getValueAtRiskChart"],"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,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,OAAO,MAAMC,mBAAmB,GAAGD,GAAG;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":[]}