@oanda/labs-crowd-view-widget 1.0.54 → 1.0.56

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 (193) hide show
  1. package/CHANGELOG.md +452 -0
  2. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +42 -58
  3. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +33 -8
  5. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js +15 -9
  7. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js.map +1 -1
  8. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +28 -14
  9. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
  10. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +55 -15
  11. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
  12. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +171 -0
  13. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -0
  14. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js +7 -14
  15. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js.map +1 -1
  16. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js +20 -2
  17. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js.map +1 -1
  18. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js +13 -5
  19. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js.map +1 -1
  20. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +51 -5
  21. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  22. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +30 -7
  23. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
  24. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +27 -29
  25. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
  26. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/index.js +11 -0
  27. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/index.js.map +1 -1
  28. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +18 -0
  29. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -0
  30. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +6 -5
  31. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -1
  32. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js +1 -20
  33. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js.map +1 -1
  34. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +91 -21
  35. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  36. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +59 -0
  37. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -0
  38. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js +34 -0
  39. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js.map +1 -0
  40. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js +44 -0
  41. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
  42. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js +11 -0
  43. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js.map +1 -0
  44. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.js +19 -0
  45. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.js.map +1 -0
  46. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/index.js +11 -0
  47. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -1
  48. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +1 -1
  49. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -1
  50. package/dist/main/CrowdViewWidget/components/Chart/getOption.js +41 -23
  51. package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
  52. package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
  53. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +7 -4
  54. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  55. package/dist/main/CrowdViewWidget/components/Chart/useResizeObserver.js +47 -0
  56. package/dist/main/CrowdViewWidget/components/Chart/useResizeObserver.js.map +1 -0
  57. package/dist/main/CrowdViewWidget/components/Legend/Legend.js +1 -1
  58. package/dist/main/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  59. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +11 -1
  60. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  61. package/dist/main/CrowdViewWidget/constants.js +31 -10
  62. package/dist/main/CrowdViewWidget/constants.js.map +1 -1
  63. package/dist/main/CrowdViewWidget/selectConfig.js +3 -9
  64. package/dist/main/CrowdViewWidget/selectConfig.js.map +1 -1
  65. package/dist/main/translations/sources/en.json +10 -8
  66. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +43 -58
  67. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  68. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +32 -7
  69. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  70. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js +15 -9
  71. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js.map +1 -1
  72. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +28 -14
  73. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
  74. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +55 -15
  75. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
  76. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +163 -0
  77. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -0
  78. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js +7 -14
  79. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js.map +1 -1
  80. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js +20 -2
  81. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js.map +1 -1
  82. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js +13 -5
  83. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js.map +1 -1
  84. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +50 -5
  85. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  86. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +31 -8
  87. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
  88. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +28 -30
  89. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
  90. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js +1 -0
  91. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js.map +1 -1
  92. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +11 -0
  93. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -0
  94. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +6 -5
  95. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -1
  96. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js +1 -20
  97. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js.map +1 -1
  98. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +91 -21
  99. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  100. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +52 -0
  101. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -0
  102. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js +27 -0
  103. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js.map +1 -0
  104. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js +4 -0
  105. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
  106. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js +4 -0
  107. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js.map +1 -0
  108. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.js +12 -0
  109. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.js.map +1 -0
  110. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js +1 -0
  111. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -1
  112. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +1 -1
  113. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -1
  114. package/dist/module/CrowdViewWidget/components/Chart/getOption.js +42 -24
  115. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
  116. package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
  117. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +8 -5
  118. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  119. package/dist/module/CrowdViewWidget/components/Chart/useResizeObserver.js +40 -0
  120. package/dist/module/CrowdViewWidget/components/Chart/useResizeObserver.js.map +1 -0
  121. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +1 -1
  122. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  123. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +11 -1
  124. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  125. package/dist/module/CrowdViewWidget/constants.js +31 -10
  126. package/dist/module/CrowdViewWidget/constants.js.map +1 -1
  127. package/dist/module/CrowdViewWidget/selectConfig.js +3 -9
  128. package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -1
  129. package/dist/module/translations/sources/en.json +10 -8
  130. package/dist/types/CrowdViewWidget/components/Chart/Chart.d.ts +1 -1
  131. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.d.ts +5 -1
  132. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getGridLines.d.ts +2 -1
  133. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.d.ts +8 -0
  134. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.d.ts +2 -3
  135. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.d.ts +2 -1
  136. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.d.ts +2 -1
  137. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.d.ts +6 -1
  138. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.d.ts +2 -1
  139. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.d.ts +1 -2
  140. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/index.d.ts +1 -0
  141. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.d.ts +1 -0
  142. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.d.ts +1 -1
  143. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getLabelData.d.ts +1 -16
  144. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.d.ts +6 -1
  145. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.d.ts +4 -0
  146. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.d.ts +3 -0
  147. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/index.d.ts +4 -0
  148. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.d.ts +1 -0
  149. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.d.ts +2 -0
  150. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/index.d.ts +1 -0
  151. package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +6 -0
  152. package/dist/types/CrowdViewWidget/components/Chart/useResizeObserver.d.ts +5 -0
  153. package/dist/types/CrowdViewWidget/constants.d.ts +28 -15
  154. package/package.json +3 -3
  155. package/src/CrowdViewWidget/components/Chart/Chart.tsx +78 -80
  156. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +51 -14
  157. package/src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts +11 -2
  158. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts +34 -19
  159. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridLines.ts +71 -8
  160. package/src/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.ts +207 -0
  161. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.ts +7 -15
  162. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.ts +22 -1
  163. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.ts +13 -4
  164. package/src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts +91 -37
  165. package/src/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.ts +62 -30
  166. package/src/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.ts +22 -33
  167. package/src/CrowdViewWidget/components/Chart/chartOptions/index.ts +1 -0
  168. package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.ts +14 -0
  169. package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.ts +6 -4
  170. package/src/CrowdViewWidget/components/Chart/chartUtils/getLabelData.ts +11 -35
  171. package/src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts +157 -31
  172. package/src/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.ts +80 -0
  173. package/src/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.ts +37 -0
  174. package/src/CrowdViewWidget/components/Chart/chartUtils/index.ts +4 -0
  175. package/src/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.ts +3 -0
  176. package/src/CrowdViewWidget/components/Chart/dataUtils/getMultiplayerForTimeSpan.ts +13 -0
  177. package/src/CrowdViewWidget/components/Chart/dataUtils/index.ts +1 -0
  178. package/src/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.ts +1 -1
  179. package/src/CrowdViewWidget/components/Chart/getOption.ts +47 -17
  180. package/src/CrowdViewWidget/components/Chart/types.ts +6 -0
  181. package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +12 -5
  182. package/src/CrowdViewWidget/components/Chart/useResizeObserver.ts +51 -0
  183. package/src/CrowdViewWidget/components/Legend/Legend.tsx +1 -1
  184. package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +18 -1
  185. package/src/CrowdViewWidget/constants.ts +34 -7
  186. package/src/CrowdViewWidget/selectConfig.ts +4 -12
  187. package/src/translations/sources/en.json +10 -8
  188. package/test/components/Chart/utils/chartUtils.test.ts +29 -6
  189. package/test/components/Chart/utils/handleLabelUpdate.test.ts +435 -0
  190. package/test/components/Chart/utils/handleTooltipUpdate.test.ts +140 -0
  191. package/test/components/Legend.test.tsx +3 -3
  192. package/test/components/LegendBar.test.tsx +22 -20
  193. package/test/utils/processPriceCandles.test.ts +4 -4
@@ -5,10 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ChartWithData = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _usehooksTs = require("usehooks-ts");
10
+ var _constants = require("../../constants");
9
11
  var _Chart = require("./Chart");
10
12
  var _useCrowdViewData = require("./useCrowdViewData");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ var _useResizeObserver = require("./useResizeObserver");
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
15
  const ChartWithData = _ref => {
13
16
  let {
14
17
  instrument,
@@ -19,11 +22,16 @@ const ChartWithData = _ref => {
19
22
  const {
20
23
  size
21
24
  } = (0, _labsWidgetCommon.useLayoutProvider)();
25
+ const [debouncedLoading, setDebouncedLoading] = (0, _react.useState)(true);
26
+ const [containerRef, isResizing] = (0, _useResizeObserver.useResizeObserver)({
27
+ debounceDelay: 150
28
+ });
22
29
  const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
23
30
  const {
24
31
  mainData,
25
32
  additionalData,
26
33
  loading,
34
+ priceCandlesLoading,
27
35
  error
28
36
  } = (0, _useCrowdViewData.useCrowdViewData)({
29
37
  instrument,
@@ -31,20 +39,37 @@ const ChartWithData = _ref => {
31
39
  division,
32
40
  granularity
33
41
  });
42
+ const hideLoading = (0, _usehooksTs.useDebounceCallback)(() => setDebouncedLoading(false), 500);
43
+ (0, _react.useEffect)(() => {
44
+ if (loading === false) {
45
+ hideLoading();
46
+ }
47
+ if (loading === true) {
48
+ setDebouncedLoading(true);
49
+ }
50
+ }, [loading, hideLoading]);
51
+ const showChart = !priceCandlesLoading && !error && !!mainData && !!additionalData && !isResizing;
52
+ const showLoader = loading || isResizing;
53
+ const chartHeight = isDesktop ? _constants.CHART_CONFIG.HEIGHT_DESKTOP : _constants.CHART_CONFIG.HEIGHT_MOBILE;
34
54
  return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
35
- className: "lw-relative lw-h-[440px] lw-w-full lw-overflow-hidden"
55
+ ref: containerRef,
56
+ className: "lw-relative lw-w-full lw-overflow-hidden",
57
+ style: {
58
+ height: chartHeight
59
+ }
36
60
  }, error && _react.default.createElement("div", {
37
61
  className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary"
38
- }, _react.default.createElement(_labsWidgetCommon.ChartError, null)), loading && _react.default.createElement("div", {
39
- className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary"
40
- }, _react.default.createElement(_labsWidgetCommon.Spinner, {
41
- size: _labsWidgetCommon.SpinnerSize.lg
42
- })), !loading && !error && !!mainData && !!additionalData && _react.default.createElement("div", {
62
+ }, _react.default.createElement(_labsWidgetCommon.ChartError, null)), showChart && _react.default.createElement("div", {
43
63
  className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full"
44
64
  }, _react.default.createElement(_Chart.Chart, {
45
65
  additionalData: additionalData,
46
66
  isDesktop: isDesktop,
67
+ isLoading: debouncedLoading,
47
68
  mainData: mainData
69
+ })), showLoader && _react.default.createElement("div", {
70
+ className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-bg-bg-transparent-50"
71
+ }, _react.default.createElement(_labsWidgetCommon.Spinner, {
72
+ size: _labsWidgetCommon.SpinnerSize.lg
48
73
  }))));
49
74
  };
50
75
  exports.ChartWithData = ChartWithData;
@@ -1 +1 @@
1
- {"version":3,"file":"ChartWithData.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_Chart","_useCrowdViewData","e","__esModule","default","ChartWithData","_ref","instrument","bookType","division","granularity","size","useLayoutProvider","isDesktop","Size","DESKTOP","mainData","additionalData","loading","error","useCrowdViewData","createElement","Fragment","className","ChartError","Spinner","SpinnerSize","lg","Chart","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/ChartWithData.tsx"],"sourcesContent":["import {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { Chart } from './Chart';\nimport type { ChartWithDataProps } from './types';\nimport { useCrowdViewData } from './useCrowdViewData';\n\nconst ChartWithData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const { mainData, additionalData, loading, error } = useCrowdViewData({\n instrument,\n bookType,\n division,\n granularity,\n });\n\n return (\n <>\n <div className=\"lw-relative lw-h-[440px] lw-w-full lw-overflow-hidden\">\n {error && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n {loading && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary\">\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && !error && !!mainData && !!additionalData && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n additionalData={additionalData}\n isDesktop={isDesktop}\n mainData={mainData}\n />\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAOA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,iBAAA,GAAAJ,OAAA;AAAsD,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtD,MAAMG,aAAa,GAAGC,IAAA,IAKI;EAAA,IALH;IACrBC,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC;EACkB,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACpC,MAAMC,SAAS,GAAGF,IAAI,KAAKG,sBAAI,CAACC,OAAO;EAEvC,MAAM;IAAEC,QAAQ;IAAEC,cAAc;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAG,IAAAC,kCAAgB,EAAC;IACpEb,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC;EACF,CAAC,CAAC;EAEF,OACEZ,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAAAvB,MAAA,CAAAM,OAAA,CAAAkB,QAAA,QACExB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAAuD,GACnEJ,KAAK,IACJrB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAAiJ,GAC9JzB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACzB,iBAAA,CAAA4B,UAAU,MAAE,CACV,CACN,EACAN,OAAO,IACNpB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAAiJ,GAC9JzB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACzB,iBAAA,CAAA6B,OAAO;IAACd,IAAI,EAAEe,6BAAW,CAACC;EAAG,CAAE,CAC7B,CACN,EACA,CAACT,OAAO,IAAI,CAACC,KAAK,IAAI,CAAC,CAACH,QAAQ,IAAI,CAAC,CAACC,cAAc,IACnDnB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAA4D,GACzEzB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACrB,MAAA,CAAA4B,KAAK;IACJX,cAAc,EAAEA,cAAe;IAC/BJ,SAAS,EAAEA,SAAU;IACrBG,QAAQ,EAAEA;EAAS,CACpB,CACE,CAEJ,CACL,CAAC;AAEP,CAAC;AAACa,OAAA,CAAAxB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"ChartWithData.js","names":["_labsWidgetCommon","require","_react","_interopRequireWildcard","_usehooksTs","_constants","_Chart","_useCrowdViewData","_useResizeObserver","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChartWithData","_ref","instrument","bookType","division","granularity","size","useLayoutProvider","debouncedLoading","setDebouncedLoading","useState","containerRef","isResizing","useResizeObserver","debounceDelay","isDesktop","Size","DESKTOP","mainData","additionalData","loading","priceCandlesLoading","error","useCrowdViewData","hideLoading","useDebounceCallback","useEffect","showChart","showLoader","chartHeight","CHART_CONFIG","HEIGHT_DESKTOP","HEIGHT_MOBILE","createElement","Fragment","ref","className","style","height","ChartError","Chart","isLoading","Spinner","SpinnerSize","lg","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/ChartWithData.tsx"],"sourcesContent":["import {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\nimport { useDebounceCallback } from 'usehooks-ts';\n\nimport { CHART_CONFIG } from '../../constants';\nimport { Chart } from './Chart';\nimport type { ChartWithDataProps } from './types';\nimport { useCrowdViewData } from './useCrowdViewData';\nimport { useResizeObserver } from './useResizeObserver';\n\nconst ChartWithData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const [debouncedLoading, setDebouncedLoading] = useState(true);\n const [containerRef, isResizing] = useResizeObserver({ debounceDelay: 150 });\n const isDesktop = size === Size.DESKTOP;\n\n const { mainData, additionalData, loading, priceCandlesLoading, error } =\n useCrowdViewData({\n instrument,\n bookType,\n division,\n granularity,\n });\n\n const hideLoading = useDebounceCallback(\n () => setDebouncedLoading(false),\n 500\n );\n\n useEffect(() => {\n if (loading === false) {\n hideLoading();\n }\n if (loading === true) {\n setDebouncedLoading(true);\n }\n }, [loading, hideLoading]);\n\n const showChart =\n !priceCandlesLoading &&\n !error &&\n !!mainData &&\n !!additionalData &&\n !isResizing;\n const showLoader = loading || isResizing;\n\n const chartHeight = isDesktop\n ? CHART_CONFIG.HEIGHT_DESKTOP\n : CHART_CONFIG.HEIGHT_MOBILE;\n\n return (\n <>\n <div\n ref={containerRef}\n className=\"lw-relative lw-w-full lw-overflow-hidden\"\n style={{ height: chartHeight }}\n >\n {error && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n {showChart && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n additionalData={additionalData}\n isDesktop={isDesktop}\n isLoading={debouncedLoading}\n mainData={mainData}\n />\n </div>\n )}\n {showLoader && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-bg-bg-transparent-50\">\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"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","ignoreList":[]}
@@ -5,14 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getDataZoomConfig = void 0;
7
7
  var _constants = require("../../../constants");
8
- const getDataZoomConfig = () => ({
9
- type: 'inside',
10
- id: 'main',
11
- xAxisIndex: [0, 1],
12
- start: _constants.CHART_CONFIG.INITIAL_START_ZOOM,
13
- end: _constants.CHART_CONFIG.INITIAL_END_ZOOM,
14
- filterMode: 'filter',
15
- minSpan: 10
16
- });
8
+ const getDataZoomConfig = _ref => {
9
+ let {
10
+ isDesktop
11
+ } = _ref;
12
+ return {
13
+ type: 'inside',
14
+ id: 'main',
15
+ xAxisIndex: [0, 1],
16
+ start: isDesktop ? _constants.CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP : _constants.CHART_CONFIG.INITIAL_START_ZOOM_MOBILE,
17
+ end: _constants.CHART_CONFIG.INITIAL_END_ZOOM,
18
+ filterMode: 'filter',
19
+ minSpan: 10,
20
+ preventDefaultMouseMove: true
21
+ };
22
+ };
17
23
  exports.getDataZoomConfig = getDataZoomConfig;
18
24
  //# sourceMappingURL=getDataZoomConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDataZoomConfig.js","names":["_constants","require","getDataZoomConfig","type","id","xAxisIndex","start","CHART_CONFIG","INITIAL_START_ZOOM","end","INITIAL_END_ZOOM","filterMode","minSpan","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts"],"sourcesContent":["import type { DataZoomComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\nexport const getDataZoomConfig = (): DataZoomComponentOption => ({\n type: 'inside',\n id: 'main',\n xAxisIndex: [0, 1],\n start: CHART_CONFIG.INITIAL_START_ZOOM,\n end: CHART_CONFIG.INITIAL_END_ZOOM,\n filterMode: 'filter',\n minSpan: 10,\n});\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAEO,MAAMC,iBAAiB,GAAGA,CAAA,MAAgC;EAC/DC,IAAI,EAAE,QAAQ;EACdC,EAAE,EAAE,MAAM;EACVC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAClBC,KAAK,EAAEC,uBAAY,CAACC,kBAAkB;EACtCC,GAAG,EAAEF,uBAAY,CAACG,gBAAgB;EAClCC,UAAU,EAAE,QAAQ;EACpBC,OAAO,EAAE;AACX,CAAC,CAAC;AAACC,OAAA,CAAAX,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"getDataZoomConfig.js","names":["_constants","require","getDataZoomConfig","_ref","isDesktop","type","id","xAxisIndex","start","CHART_CONFIG","INITIAL_START_ZOOM_DESKTOP","INITIAL_START_ZOOM_MOBILE","end","INITIAL_END_ZOOM","filterMode","minSpan","preventDefaultMouseMove","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts"],"sourcesContent":["import type { DataZoomComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetDataZoomConfigParams {\n isDesktop: boolean;\n}\n\nexport const getDataZoomConfig = ({\n isDesktop,\n}: GetDataZoomConfigParams): DataZoomComponentOption => ({\n type: 'inside',\n id: 'main',\n xAxisIndex: [0, 1],\n start: isDesktop\n ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP\n : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE,\n end: CHART_CONFIG.INITIAL_END_ZOOM,\n filterMode: 'filter',\n minSpan: 10,\n preventDefaultMouseMove: true,\n});\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAMO,MAAMC,iBAAiB,GAAGC,IAAA;EAAA,IAAC;IAChCC;EACuB,CAAC,GAAAD,IAAA;EAAA,OAA+B;IACvDE,IAAI,EAAE,QAAQ;IACdC,EAAE,EAAE,MAAM;IACVC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,KAAK,EAAEJ,SAAS,GACZK,uBAAY,CAACC,0BAA0B,GACvCD,uBAAY,CAACE,yBAAyB;IAC1CC,GAAG,EAAEH,uBAAY,CAACI,gBAAgB;IAClCC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,EAAE;IACXC,uBAAuB,EAAE;EAC3B,CAAC;AAAA,CAAC;AAACC,OAAA,CAAAf,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -5,26 +5,40 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getGridConfig = void 0;
7
7
  var _constants = require("../../../constants");
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
8
13
  const getGridConfig = _ref => {
9
14
  let {
10
15
  isDesktop
11
16
  } = _ref;
12
- return [{
17
+ const {
18
+ Y_SENTIMENT_LABEL_DESKTOP_SIZE,
19
+ Y_SENTIMENT_LABEL_MOBILE_SIZE,
20
+ Y_LABEL_SIZE_DESKTOP,
21
+ Y_LABEL_SIZE_MOBILE,
22
+ TOP_MARGIN_DESKTOP,
23
+ TOP_MARGIN_MOBILE,
24
+ MAIN_HEIGHT_DESKTOP,
25
+ MAIN_HEIGHT_MOBILE,
26
+ MOBILE_TOOLTIP_HEIGHT
27
+ } = _constants.CHART_CONFIG;
28
+ const mainHeight = isDesktop ? MAIN_HEIGHT_DESKTOP : MAIN_HEIGHT_MOBILE;
29
+ const position = {
30
+ left: "".concat(isDesktop ? Y_SENTIMENT_LABEL_DESKTOP_SIZE : Y_SENTIMENT_LABEL_MOBILE_SIZE, "px"),
31
+ right: "".concat(isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE, "px"),
32
+ top: "".concat(isDesktop ? TOP_MARGIN_DESKTOP : TOP_MARGIN_MOBILE + MOBILE_TOOLTIP_HEIGHT, "px"),
33
+ height: "".concat(mainHeight, "px")
34
+ };
35
+ return [_objectSpread({
13
36
  id: 'main-grid',
14
- name: 'main-grid',
15
- left: "".concat(_constants.CHART_CONFIG.Y_SENTIMENT_LABEL_SIZE, "px"),
16
- right: "".concat(isDesktop ? _constants.CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : _constants.CHART_CONFIG.Y_LABEL_SIZE_MOBILE, "px"),
17
- top: '0px',
18
- bottom: "".concat(_constants.CHART_CONFIG.X_LABEL_SIZE, "px"),
19
- height: "".concat(_constants.CHART_CONFIG.MAIN_HEIGHT, "px")
20
- }, {
37
+ name: 'main-grid'
38
+ }, position), _objectSpread({
21
39
  id: 'sentiment-grid',
22
- name: 'sentiment-grid',
23
- left: "".concat(_constants.CHART_CONFIG.Y_SENTIMENT_LABEL_SIZE, "px"),
24
- right: "".concat(isDesktop ? _constants.CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : _constants.CHART_CONFIG.Y_LABEL_SIZE_MOBILE, "px"),
25
- top: "0px",
26
- height: "".concat(_constants.CHART_CONFIG.MAIN_HEIGHT, "px")
27
- }];
40
+ name: 'sentiment-grid'
41
+ }, position)];
28
42
  };
29
43
  exports.getGridConfig = getGridConfig;
30
44
  //# sourceMappingURL=getGridConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGridConfig.js","names":["_constants","require","getGridConfig","_ref","isDesktop","id","name","left","concat","CHART_CONFIG","Y_SENTIMENT_LABEL_SIZE","right","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","top","bottom","X_LABEL_SIZE","height","MAIN_HEIGHT","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts"],"sourcesContent":["import type { GridComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetGridConfigParams {\n isDesktop: boolean;\n}\n\nexport const getGridConfig = ({\n isDesktop,\n}: GetGridConfigParams): GridComponentOption[] => [\n {\n id: 'main-grid',\n name: 'main-grid',\n left: `${CHART_CONFIG.Y_SENTIMENT_LABEL_SIZE}px`,\n right: `${isDesktop ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : CHART_CONFIG.Y_LABEL_SIZE_MOBILE}px`,\n top: '0px',\n bottom: `${CHART_CONFIG.X_LABEL_SIZE}px`,\n height: `${CHART_CONFIG.MAIN_HEIGHT}px`,\n },\n {\n id: 'sentiment-grid',\n name: 'sentiment-grid',\n left: `${CHART_CONFIG.Y_SENTIMENT_LABEL_SIZE}px`,\n right: `${isDesktop ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : CHART_CONFIG.Y_LABEL_SIZE_MOBILE}px`,\n top: `0px`,\n height: `${CHART_CONFIG.MAIN_HEIGHT}px`,\n },\n];\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAMO,MAAMC,aAAa,GAAGC,IAAA;EAAA,IAAC;IAC5BC;EACmB,CAAC,GAAAD,IAAA;EAAA,OAA4B,CAChD;IACEE,EAAE,EAAE,WAAW;IACfC,IAAI,EAAE,WAAW;IACjBC,IAAI,KAAAC,MAAA,CAAKC,uBAAY,CAACC,sBAAsB,OAAI;IAChDC,KAAK,KAAAH,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACG,oBAAoB,GAAGH,uBAAY,CAACI,mBAAmB,OAAI;IAC9FC,GAAG,EAAE,KAAK;IACVC,MAAM,KAAAP,MAAA,CAAKC,uBAAY,CAACO,YAAY,OAAI;IACxCC,MAAM,KAAAT,MAAA,CAAKC,uBAAY,CAACS,WAAW;EACrC,CAAC,EACD;IACEb,EAAE,EAAE,gBAAgB;IACpBC,IAAI,EAAE,gBAAgB;IACtBC,IAAI,KAAAC,MAAA,CAAKC,uBAAY,CAACC,sBAAsB,OAAI;IAChDC,KAAK,KAAAH,MAAA,CAAKJ,SAAS,GAAGK,uBAAY,CAACG,oBAAoB,GAAGH,uBAAY,CAACI,mBAAmB,OAAI;IAC9FC,GAAG,OAAO;IACVG,MAAM,KAAAT,MAAA,CAAKC,uBAAY,CAACS,WAAW;EACrC,CAAC,CACF;AAAA;AAACC,OAAA,CAAAjB,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"getGridConfig.js","names":["_constants","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","getGridConfig","_ref","isDesktop","Y_SENTIMENT_LABEL_DESKTOP_SIZE","Y_SENTIMENT_LABEL_MOBILE_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","TOP_MARGIN_DESKTOP","TOP_MARGIN_MOBILE","MAIN_HEIGHT_DESKTOP","MAIN_HEIGHT_MOBILE","MOBILE_TOOLTIP_HEIGHT","CHART_CONFIG","mainHeight","position","left","concat","right","top","height","id","name","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts"],"sourcesContent":["import type { GridComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetGridConfigParams {\n isDesktop: boolean;\n}\n\nexport const getGridConfig = ({\n isDesktop,\n}: GetGridConfigParams): GridComponentOption[] => {\n const {\n Y_SENTIMENT_LABEL_DESKTOP_SIZE,\n Y_SENTIMENT_LABEL_MOBILE_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n TOP_MARGIN_DESKTOP,\n TOP_MARGIN_MOBILE,\n MAIN_HEIGHT_DESKTOP,\n MAIN_HEIGHT_MOBILE,\n MOBILE_TOOLTIP_HEIGHT,\n } = CHART_CONFIG;\n\n const mainHeight = isDesktop ? MAIN_HEIGHT_DESKTOP : MAIN_HEIGHT_MOBILE;\n\n const position = {\n left: `${isDesktop ? Y_SENTIMENT_LABEL_DESKTOP_SIZE : Y_SENTIMENT_LABEL_MOBILE_SIZE}px`,\n right: `${isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE}px`,\n top: `${isDesktop ? TOP_MARGIN_DESKTOP : TOP_MARGIN_MOBILE + MOBILE_TOOLTIP_HEIGHT}px`,\n height: `${mainHeight}px`,\n };\n return [\n {\n id: 'main-grid',\n name: 'main-grid',\n ...position,\n },\n {\n id: 'sentiment-grid',\n name: 'sentiment-grid',\n ...position,\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -13,14 +13,20 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
13
13
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
14
  const getGridLines = _ref => {
15
15
  let {
16
- isDark
16
+ isDark,
17
+ isDesktop
17
18
  } = _ref;
18
19
  const {
19
20
  WIDTH,
20
- MAIN_HEIGHT,
21
+ MAIN_HEIGHT_DESKTOP,
22
+ MAIN_HEIGHT_MOBILE,
21
23
  X_LABEL_SIZE,
22
- Y_SENTIMENT_LABEL_SIZE
24
+ MOBILE_TOOLTIP_HEIGHT
23
25
  } = _constants.CHART_CONFIG;
26
+ const mainHeight = isDesktop ? MAIN_HEIGHT_DESKTOP : MAIN_HEIGHT_MOBILE;
27
+ const ySentimentLabelSize = isDesktop ? _constants.CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE : _constants.CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE;
28
+ const yLabelSize = isDesktop ? _constants.CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : _constants.CHART_CONFIG.Y_LABEL_SIZE_MOBILE;
29
+ const topMargin = isDesktop ? _constants.CHART_CONFIG.TOP_MARGIN_DESKTOP : _constants.CHART_CONFIG.TOP_MARGIN_MOBILE + _constants.CHART_CONFIG.MOBILE_TOOLTIP_HEIGHT;
24
30
  return [_objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
25
31
  top: -2,
26
32
  shape: {
@@ -28,15 +34,17 @@ const getGridLines = _ref => {
28
34
  y1: 0,
29
35
  x2: WIDTH,
30
36
  y2: 0
31
- }
37
+ },
38
+ z: 30
32
39
  }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
33
40
  right: -2,
34
41
  shape: {
35
42
  x1: 0,
36
43
  y1: 0,
37
44
  x2: 0,
38
- y2: MAIN_HEIGHT + X_LABEL_SIZE + 2
39
- }
45
+ y2: mainHeight + topMargin + X_LABEL_SIZE + 2
46
+ },
47
+ z: 30
40
48
  }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
41
49
  bottom: -2,
42
50
  shape: {
@@ -44,32 +52,64 @@ const getGridLines = _ref => {
44
52
  y1: 0,
45
53
  x2: WIDTH,
46
54
  y2: 0
47
- }
55
+ },
56
+ z: 30
48
57
  }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
49
58
  left: -2,
50
59
  shape: {
51
60
  x1: 0,
52
61
  y1: 0,
53
62
  x2: 0,
54
- y2: MAIN_HEIGHT + X_LABEL_SIZE + 2
55
- }
63
+ y2: mainHeight + X_LABEL_SIZE + topMargin + 2
64
+ },
65
+ z: 30
56
66
  }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
57
- left: Y_SENTIMENT_LABEL_SIZE - 2,
58
- top: -2,
67
+ right: yLabelSize - 3,
68
+ top: topMargin - 2,
59
69
  shape: {
60
70
  x1: 0,
61
71
  y1: 0,
62
72
  x2: 0,
63
- y2: MAIN_HEIGHT
64
- }
73
+ y2: mainHeight
74
+ },
75
+ z: 30
65
76
  }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
66
- top: MAIN_HEIGHT - 2,
77
+ left: ySentimentLabelSize - 2,
78
+ top: topMargin - 2,
79
+ shape: {
80
+ x1: 0,
81
+ y1: 0,
82
+ x2: 0,
83
+ y2: mainHeight
84
+ },
85
+ z: 30
86
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
87
+ bottom: X_LABEL_SIZE - 3,
67
88
  shape: {
68
89
  x1: 0,
69
90
  y1: 0,
70
91
  x2: WIDTH,
71
92
  y2: 0
72
- }
93
+ },
94
+ z: 30
95
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
96
+ top: topMargin - 3,
97
+ shape: {
98
+ x1: 0,
99
+ y1: 0,
100
+ x2: WIDTH,
101
+ y2: 0
102
+ },
103
+ z: 30
104
+ }), _objectSpread(_objectSpread({}, (0, _labsWidgetCommon.getLineCommons)(isDark)), {}, {
105
+ top: MOBILE_TOOLTIP_HEIGHT - 2,
106
+ shape: {
107
+ x1: 0,
108
+ y1: 0,
109
+ x2: isDesktop ? 0 : WIDTH,
110
+ y2: 0
111
+ },
112
+ z: 30
73
113
  })];
74
114
  };
75
115
  exports.getGridLines = getGridLines;
@@ -1 +1 @@
1
- {"version":3,"file":"getGridLines.js","names":["_labsWidgetCommon","require","_constants","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","getGridLines","_ref","isDark","WIDTH","MAIN_HEIGHT","X_LABEL_SIZE","Y_SENTIMENT_LABEL_SIZE","CHART_CONFIG","getLineCommons","top","shape","x1","y1","x2","y2","right","bottom","left","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getGridLines.ts"],"sourcesContent":["import { getLineCommons } from '@oanda/labs-widget-common';\nimport type { GraphicComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetGridLinesParams {\n isDark: boolean;\n}\n\nexport const getGridLines = ({\n isDark,\n}: GetGridLinesParams): GraphicComponentOption[] => {\n const { WIDTH, MAIN_HEIGHT, X_LABEL_SIZE, Y_SENTIMENT_LABEL_SIZE } =\n CHART_CONFIG;\n return [\n // Top\n {\n ...getLineCommons(isDark),\n top: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Right\n {\n ...getLineCommons(isDark),\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT + X_LABEL_SIZE + 2,\n },\n },\n // Bottom\n {\n ...getLineCommons(isDark),\n bottom: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Left\n {\n ...getLineCommons(isDark),\n left: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT + X_LABEL_SIZE + 2,\n },\n },\n // Y Sentiment Label\n {\n ...getLineCommons(isDark),\n left: Y_SENTIMENT_LABEL_SIZE - 2,\n top: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT,\n },\n },\n // X Label\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getGridLines.js","names":["_labsWidgetCommon","require","_constants","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","getGridLines","_ref","isDark","isDesktop","WIDTH","MAIN_HEIGHT_DESKTOP","MAIN_HEIGHT_MOBILE","X_LABEL_SIZE","MOBILE_TOOLTIP_HEIGHT","CHART_CONFIG","mainHeight","ySentimentLabelSize","Y_SENTIMENT_LABEL_DESKTOP_SIZE","Y_SENTIMENT_LABEL_MOBILE_SIZE","yLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","topMargin","TOP_MARGIN_DESKTOP","TOP_MARGIN_MOBILE","getLineCommons","top","shape","x1","y1","x2","y2","z","right","bottom","left","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getGridLines.ts"],"sourcesContent":["import { getLineCommons } from '@oanda/labs-widget-common';\nimport type { GraphicComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetGridLinesParams {\n isDark: boolean;\n isDesktop: boolean;\n}\n\nexport const getGridLines = ({\n isDark,\n isDesktop,\n}: GetGridLinesParams): GraphicComponentOption[] => {\n const {\n WIDTH,\n MAIN_HEIGHT_DESKTOP,\n MAIN_HEIGHT_MOBILE,\n X_LABEL_SIZE,\n MOBILE_TOOLTIP_HEIGHT,\n } = CHART_CONFIG;\n const mainHeight = isDesktop ? MAIN_HEIGHT_DESKTOP : MAIN_HEIGHT_MOBILE;\n const ySentimentLabelSize = isDesktop\n ? CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE\n : CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE;\n\n const yLabelSize = isDesktop\n ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP\n : CHART_CONFIG.Y_LABEL_SIZE_MOBILE;\n\n const topMargin = isDesktop\n ? CHART_CONFIG.TOP_MARGIN_DESKTOP\n : CHART_CONFIG.TOP_MARGIN_MOBILE + CHART_CONFIG.MOBILE_TOOLTIP_HEIGHT;\n\n return [\n // Top\n {\n ...getLineCommons(isDark),\n top: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n z: 30,\n },\n // Right\n {\n ...getLineCommons(isDark),\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: mainHeight + topMargin + X_LABEL_SIZE + 2,\n },\n z: 30,\n },\n // Bottom\n {\n ...getLineCommons(isDark),\n bottom: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n z: 30,\n },\n // Left\n {\n ...getLineCommons(isDark),\n left: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: mainHeight + X_LABEL_SIZE + topMargin + 2,\n },\n z: 30,\n },\n // Y Label\n {\n ...getLineCommons(isDark),\n right: yLabelSize - 3,\n top: topMargin - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: mainHeight,\n },\n z: 30,\n },\n // Y Sentiment Label\n {\n ...getLineCommons(isDark),\n left: ySentimentLabelSize - 2,\n top: topMargin - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: mainHeight,\n },\n z: 30,\n },\n // X Label\n {\n ...getLineCommons(isDark),\n bottom: X_LABEL_SIZE - 3,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n z: 30,\n },\n // X Mobile Label\n {\n ...getLineCommons(isDark),\n top: topMargin - 3,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n z: 30,\n },\n // Mobile tooltip,\n {\n ...getLineCommons(isDark),\n top: MOBILE_TOOLTIP_HEIGHT - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: isDesktop ? 0 : WIDTH,\n y2: 0,\n },\n z: 30,\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getLabelsConfig = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _chromaJs = _interopRequireDefault(require("chroma-js"));
9
+ var _constants = require("../../../constants");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const getLabelsConfig = _ref => {
12
+ let {
13
+ isDark,
14
+ isDesktop,
15
+ labelCallback
16
+ } = _ref;
17
+ const ySentimentLabelSize = isDesktop ? _constants.CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE : _constants.CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE;
18
+ const yMainLabelSize = isDesktop ? _constants.CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : _constants.CHART_CONFIG.Y_LABEL_SIZE_MOBILE;
19
+ const textColor = isDark ? _labsWidgetCommon.colorPalette.white : _labsWidgetCommon.colorPalette.black;
20
+ const labelBackgroundColor = isDark ? _labsWidgetCommon.colorPalette.darkGray : _labsWidgetCommon.colorPalette.white;
21
+ const backgroundColor = isDark ? _labsWidgetCommon.colorPalette.black : _labsWidgetCommon.colorPalette.white;
22
+ const shadowColor = (0, _chromaJs.default)(_labsWidgetCommon.colorPalette.black).alpha(0.1).hex();
23
+ const sentimentText = labelCallback('sentiment').toUpperCase();
24
+ const priceText = labelCallback('price').toUpperCase();
25
+ const sentimentEstimatedWidth = 10 * sentimentText.length * 0.65;
26
+ const priceEstimatedWidth = 10 * priceText.length * 0.65;
27
+ const sentimentVerticalOffset = sentimentEstimatedWidth / 2;
28
+ const priceVerticalOffset = priceEstimatedWidth / 2;
29
+ const topMargin = isDesktop ? _constants.CHART_CONFIG.TOP_MARGIN_DESKTOP : _constants.CHART_CONFIG.TOP_MARGIN_MOBILE + _constants.CHART_CONFIG.MOBILE_TOOLTIP_HEIGHT;
30
+ const mainHeight = isDesktop ? _constants.CHART_CONFIG.MAIN_HEIGHT_DESKTOP : _constants.CHART_CONFIG.MAIN_HEIGHT_MOBILE;
31
+ return [{
32
+ type: 'group',
33
+ left: "".concat(ySentimentLabelSize + 5, "px'"),
34
+ top: "".concat(topMargin + 5, "px"),
35
+ silent: true,
36
+ children: [{
37
+ type: 'rect',
38
+ z: 100,
39
+ right: 'center',
40
+ top: 'middle',
41
+ shape: {
42
+ width: 50,
43
+ height: 24
44
+ },
45
+ style: {
46
+ fill: labelBackgroundColor,
47
+ shadowBlur: 8,
48
+ shadowOffsetX: 0,
49
+ shadowOffsetY: 1,
50
+ shadowColor: shadowColor
51
+ }
52
+ }, {
53
+ type: 'text',
54
+ z: 100,
55
+ right: 'center',
56
+ top: 'middle',
57
+ style: {
58
+ fontSize: 11,
59
+ fontFamily: 'Sofia W03',
60
+ fontWeight: 500,
61
+ fill: textColor,
62
+ width: 70,
63
+ height: 30,
64
+ text: labelCallback('short')
65
+ }
66
+ }]
67
+ }, {
68
+ type: 'group',
69
+ left: "".concat(ySentimentLabelSize + 5, "px'"),
70
+ top: "".concat(topMargin + mainHeight - 24 - 5, "px"),
71
+ silent: true,
72
+ children: [{
73
+ type: 'rect',
74
+ z: 100,
75
+ right: 'center',
76
+ top: 'middle',
77
+ shape: {
78
+ width: 50,
79
+ height: 24
80
+ },
81
+ style: {
82
+ fill: labelBackgroundColor,
83
+ shadowBlur: 8,
84
+ shadowOffsetX: 0,
85
+ shadowOffsetY: 1,
86
+ shadowColor: shadowColor
87
+ }
88
+ }, {
89
+ type: 'text',
90
+ z: 100,
91
+ right: 'center',
92
+ top: 'middle',
93
+ style: {
94
+ fontSize: 11,
95
+ fontFamily: 'Sofia W03',
96
+ fontWeight: 500,
97
+ fill: textColor,
98
+ width: 70,
99
+ height: 30,
100
+ text: labelCallback('long')
101
+ }
102
+ }]
103
+ }, {
104
+ type: 'text',
105
+ z: 30,
106
+ rotation: isDesktop ? Math.PI / 2 : 0,
107
+ left: "5px",
108
+ top: isDesktop ? "".concat(topMargin + mainHeight / 2 - sentimentVerticalOffset, "px") : "".concat(topMargin - 16, "px"),
109
+ silent: true,
110
+ style: {
111
+ fontSize: 10,
112
+ fontFamily: 'Sofia W03',
113
+ fontWeight: 300,
114
+ fill: textColor,
115
+ text: sentimentText
116
+ }
117
+ }, {
118
+ type: 'text',
119
+ z: 30,
120
+ rotation: isDesktop ? -Math.PI / 2 : 0,
121
+ right: "5px",
122
+ top: isDesktop ? "".concat(topMargin + mainHeight / 2 - priceVerticalOffset, "px") : "".concat(topMargin - 16, "px"),
123
+ silent: true,
124
+ style: {
125
+ fontSize: 10,
126
+ fontFamily: 'Sofia W03',
127
+ fontWeight: 300,
128
+ fill: textColor,
129
+ text: priceText
130
+ }
131
+ }, {
132
+ type: 'rect',
133
+ z: 20,
134
+ right: '0px',
135
+ top: "".concat(topMargin, "px"),
136
+ shape: {
137
+ width: yMainLabelSize,
138
+ height: mainHeight
139
+ },
140
+ silent: true,
141
+ style: {
142
+ fill: backgroundColor
143
+ }
144
+ }, {
145
+ type: 'rect',
146
+ z: 20,
147
+ left: '0px',
148
+ top: "".concat(topMargin, "px"),
149
+ shape: {
150
+ width: ySentimentLabelSize,
151
+ height: mainHeight
152
+ },
153
+ silent: true,
154
+ style: {
155
+ fill: backgroundColor
156
+ }
157
+ }, {
158
+ type: 'text',
159
+ z: 20,
160
+ left: 'center',
161
+ top: _constants.CHART_CONFIG.MOBILE_TOOLTIP_HEIGHT / 2 - 5,
162
+ silent: true,
163
+ style: {
164
+ fontSize: isDesktop ? 0 : 11,
165
+ fill: textColor,
166
+ text: isDesktop ? '' : labelCallback('tap_chart_to_see_more_details')
167
+ }
168
+ }];
169
+ };
170
+ exports.getLabelsConfig = getLabelsConfig;
171
+ //# sourceMappingURL=getLabelsConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getLabelsConfig.js","names":["_labsWidgetCommon","require","_chromaJs","_interopRequireDefault","_constants","e","__esModule","default","getLabelsConfig","_ref","isDark","isDesktop","labelCallback","ySentimentLabelSize","CHART_CONFIG","Y_SENTIMENT_LABEL_DESKTOP_SIZE","Y_SENTIMENT_LABEL_MOBILE_SIZE","yMainLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","textColor","colorPalette","white","black","labelBackgroundColor","darkGray","backgroundColor","shadowColor","chroma","alpha","hex","sentimentText","toUpperCase","priceText","sentimentEstimatedWidth","length","priceEstimatedWidth","sentimentVerticalOffset","priceVerticalOffset","topMargin","TOP_MARGIN_DESKTOP","TOP_MARGIN_MOBILE","MOBILE_TOOLTIP_HEIGHT","mainHeight","MAIN_HEIGHT_DESKTOP","MAIN_HEIGHT_MOBILE","type","left","concat","top","silent","children","z","right","shape","width","height","style","fill","shadowBlur","shadowOffsetX","shadowOffsetY","fontSize","fontFamily","fontWeight","text","rotation","Math","PI","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\nimport chroma from 'chroma-js';\nimport type { GraphicComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface getLabelsConfigParams {\n isDark: boolean;\n isDesktop: boolean;\n labelCallback: (key: string, params?: Record<string, unknown>) => string;\n}\n\nexport const getLabelsConfig = ({\n isDark,\n isDesktop,\n labelCallback,\n}: getLabelsConfigParams): GraphicComponentOption[] => {\n const ySentimentLabelSize = isDesktop\n ? CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE\n : CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE;\n\n const yMainLabelSize = isDesktop\n ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP\n : CHART_CONFIG.Y_LABEL_SIZE_MOBILE;\n\n const textColor = isDark ? colorPalette.white : colorPalette.black;\n const labelBackgroundColor = isDark\n ? colorPalette.darkGray\n : colorPalette.white;\n const backgroundColor = isDark ? colorPalette.black : colorPalette.white;\n const shadowColor = chroma(colorPalette.black).alpha(0.1).hex();\n\n // Estimate text width for centering rotated text\n // Approximate: fontSize * characterCount * 0.65 (typical character width ratio)\n const sentimentText = labelCallback('sentiment').toUpperCase();\n const priceText = labelCallback('price').toUpperCase();\n const sentimentEstimatedWidth = 10 * sentimentText.length * 0.65;\n const priceEstimatedWidth = 10 * priceText.length * 0.65;\n const sentimentVerticalOffset = sentimentEstimatedWidth / 2;\n const priceVerticalOffset = priceEstimatedWidth / 2;\n\n const topMargin = isDesktop\n ? CHART_CONFIG.TOP_MARGIN_DESKTOP\n : CHART_CONFIG.TOP_MARGIN_MOBILE + CHART_CONFIG.MOBILE_TOOLTIP_HEIGHT;\n\n const mainHeight = isDesktop\n ? CHART_CONFIG.MAIN_HEIGHT_DESKTOP\n : CHART_CONFIG.MAIN_HEIGHT_MOBILE;\n\n return [\n {\n type: 'group',\n left: `${ySentimentLabelSize + 5}px'`,\n top: `${topMargin + 5}px`,\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n right: 'center',\n top: 'middle',\n shape: {\n width: 50,\n height: 24,\n },\n style: {\n fill: labelBackgroundColor,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: shadowColor,\n },\n },\n {\n type: 'text',\n z: 100,\n right: 'center',\n top: 'middle',\n style: {\n fontSize: 11,\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n fill: textColor,\n width: 70,\n height: 30,\n text: labelCallback('short'),\n },\n },\n ],\n },\n {\n type: 'group',\n left: `${ySentimentLabelSize + 5}px'`,\n top: `${topMargin + mainHeight - 24 - 5}px`,\n silent: true,\n children: [\n {\n type: 'rect',\n z: 100,\n right: 'center',\n top: 'middle',\n shape: {\n width: 50,\n height: 24,\n },\n style: {\n fill: labelBackgroundColor,\n shadowBlur: 8,\n shadowOffsetX: 0,\n shadowOffsetY: 1,\n shadowColor: shadowColor,\n },\n },\n {\n type: 'text',\n z: 100,\n right: 'center',\n top: 'middle',\n style: {\n fontSize: 11,\n fontFamily: 'Sofia W03',\n fontWeight: 500,\n fill: textColor,\n width: 70,\n height: 30,\n text: labelCallback('long'),\n },\n },\n ],\n },\n\n {\n type: 'text',\n z: 30,\n rotation: isDesktop ? Math.PI / 2 : 0,\n left: `5px`,\n top: isDesktop\n ? `${topMargin + mainHeight / 2 - sentimentVerticalOffset}px`\n : `${topMargin - 16}px`,\n silent: true,\n style: {\n fontSize: 10,\n fontFamily: 'Sofia W03',\n fontWeight: 300,\n fill: textColor,\n text: sentimentText,\n },\n },\n {\n type: 'text',\n z: 30,\n rotation: isDesktop ? -Math.PI / 2 : 0,\n right: `5px`,\n top: isDesktop\n ? `${topMargin + mainHeight / 2 - priceVerticalOffset}px`\n : `${topMargin - 16}px`,\n silent: true,\n style: {\n fontSize: 10,\n fontFamily: 'Sofia W03',\n fontWeight: 300,\n fill: textColor,\n text: priceText,\n },\n },\n {\n type: 'rect',\n z: 20,\n right: '0px',\n top: `${topMargin}px`,\n shape: {\n width: yMainLabelSize,\n height: mainHeight,\n },\n silent: true,\n style: {\n fill: backgroundColor,\n },\n },\n {\n type: 'rect',\n z: 20,\n left: '0px',\n top: `${topMargin}px`,\n shape: {\n width: ySentimentLabelSize,\n height: mainHeight,\n },\n silent: true,\n style: {\n fill: backgroundColor,\n },\n },\n {\n type: 'text',\n z: 20,\n left: 'center',\n top: CHART_CONFIG.MOBILE_TOOLTIP_HEIGHT / 2 - 5,\n silent: true,\n style: {\n fontSize: isDesktop ? 0 : 11,\n fill: textColor,\n text: isDesktop ? '' : labelCallback('tap_chart_to_see_more_details'),\n },\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,27 +5,25 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getSeriesCandlestickConfig = void 0;
7
7
  var _chromaJs = _interopRequireDefault(require("chroma-js"));
8
- var _chartUtils = require("../chartUtils");
9
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
9
  const getSeriesCandlestickConfig = _ref => {
11
10
  let {
12
- dates,
13
- isGreaterThanTwoWeeks,
14
- styles
11
+ styles,
12
+ isLoading
15
13
  } = _ref;
16
14
  const {
17
15
  candleLongColor,
18
16
  candleShortColor
19
17
  } = styles;
20
- const labelsData = (0, _chartUtils.getLabelData)({
21
- dates,
22
- isGreaterThanTwoWeeks
23
- });
24
18
  return {
19
+ animation: isLoading,
25
20
  type: 'candlestick',
26
21
  id: 'candlestick',
27
22
  xAxisIndex: 0,
28
23
  yAxisIndex: 0,
24
+ silent: true,
25
+ clip: true,
26
+ large: true,
29
27
  encode: {
30
28
  x: 'dates',
31
29
  y: ['open', 'close', 'low', 'high']
@@ -42,12 +40,7 @@ const getSeriesCandlestickConfig = _ref => {
42
40
  color0: candleShortColor
43
41
  }
44
42
  },
45
- markPoint: {
46
- data: labelsData,
47
- symbol: 'circle',
48
- symbolSize: 0
49
- },
50
- z: 2
43
+ z: 3
51
44
  };
52
45
  };
53
46
  exports.getSeriesCandlestickConfig = getSeriesCandlestickConfig;