@oanda/labs-crowd-view-widget 1.0.55 → 1.0.57

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 (129) hide show
  1. package/CHANGELOG.md +460 -0
  2. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +8 -10
  3. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +15 -3
  5. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +29 -14
  7. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
  8. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +28 -9
  9. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
  10. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +20 -8
  11. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -1
  12. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +21 -16
  13. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  14. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +29 -6
  15. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
  16. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +24 -4
  17. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
  18. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.js +27 -0
  19. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.js.map +1 -0
  20. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +2 -2
  21. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -1
  22. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +6 -5
  23. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -1
  24. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +71 -22
  25. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  26. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +3 -3
  27. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -1
  28. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js +22 -0
  29. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
  30. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js +11 -0
  31. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js.map +1 -0
  32. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +1 -1
  33. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -1
  34. package/dist/main/CrowdViewWidget/components/Chart/getOption.js +11 -5
  35. package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
  36. package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
  37. package/dist/main/CrowdViewWidget/components/Chart/useResizeObserver.js +47 -0
  38. package/dist/main/CrowdViewWidget/components/Chart/useResizeObserver.js.map +1 -0
  39. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +1 -1
  40. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  41. package/dist/main/CrowdViewWidget/constants.js +22 -8
  42. package/dist/main/CrowdViewWidget/constants.js.map +1 -1
  43. package/dist/main/CrowdViewWidget/selectConfig.js +3 -3
  44. package/dist/main/CrowdViewWidget/selectConfig.js.map +1 -1
  45. package/dist/main/translations/sources/en.json +11 -9
  46. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +9 -11
  47. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  48. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +15 -3
  49. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  50. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +29 -14
  51. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
  52. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +28 -9
  53. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
  54. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +20 -8
  55. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -1
  56. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +21 -16
  57. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  58. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +30 -7
  59. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
  60. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +25 -5
  61. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
  62. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.js +20 -0
  63. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.js.map +1 -0
  64. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +2 -2
  65. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -1
  66. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +6 -5
  67. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -1
  68. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +71 -22
  69. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  70. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +3 -3
  71. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -1
  72. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js +2 -0
  73. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
  74. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js +4 -0
  75. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js.map +1 -0
  76. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +1 -1
  77. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -1
  78. package/dist/module/CrowdViewWidget/components/Chart/getOption.js +11 -5
  79. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
  80. package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
  81. package/dist/module/CrowdViewWidget/components/Chart/useResizeObserver.js +40 -0
  82. package/dist/module/CrowdViewWidget/components/Chart/useResizeObserver.js.map +1 -0
  83. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +1 -1
  84. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  85. package/dist/module/CrowdViewWidget/constants.js +22 -8
  86. package/dist/module/CrowdViewWidget/constants.js.map +1 -1
  87. package/dist/module/CrowdViewWidget/selectConfig.js +3 -3
  88. package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -1
  89. package/dist/module/translations/sources/en.json +11 -9
  90. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.d.ts +4 -2
  91. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.d.ts +3 -1
  92. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.d.ts +4 -1
  93. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.d.ts +1 -0
  94. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.d.ts +1 -1
  95. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.d.ts +1 -1
  96. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.d.ts +4 -1
  97. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.d.ts +1 -1
  98. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/index.d.ts +2 -0
  99. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.d.ts +1 -0
  100. package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +1 -0
  101. package/dist/types/CrowdViewWidget/components/Chart/useResizeObserver.d.ts +5 -0
  102. package/dist/types/CrowdViewWidget/constants.d.ts +25 -19
  103. package/package.json +3 -3
  104. package/src/CrowdViewWidget/components/Chart/Chart.tsx +12 -11
  105. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +22 -3
  106. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts +35 -19
  107. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridLines.ts +41 -11
  108. package/src/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.ts +31 -11
  109. package/src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts +24 -22
  110. package/src/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.ts +36 -5
  111. package/src/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.ts +29 -6
  112. package/src/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.ts +26 -0
  113. package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.ts +3 -2
  114. package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.ts +6 -4
  115. package/src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts +143 -32
  116. package/src/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.ts +8 -3
  117. package/src/CrowdViewWidget/components/Chart/chartUtils/index.ts +2 -0
  118. package/src/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.ts +3 -0
  119. package/src/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.ts +1 -1
  120. package/src/CrowdViewWidget/components/Chart/getOption.ts +7 -1
  121. package/src/CrowdViewWidget/components/Chart/types.ts +1 -0
  122. package/src/CrowdViewWidget/components/Chart/useResizeObserver.ts +51 -0
  123. package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +3 -2
  124. package/src/CrowdViewWidget/constants.ts +27 -6
  125. package/src/CrowdViewWidget/selectConfig.ts +4 -4
  126. package/src/translations/sources/en.json +11 -9
  127. package/test/components/Chart/utils/chartUtils.test.ts +16 -4
  128. package/test/components/Chart/utils/handleLabelUpdate.test.ts +32 -16
  129. package/test/utils/processPriceCandles.test.ts +4 -4
@@ -12,12 +12,22 @@ export const getGridLines = _ref => {
12
12
  } = _ref;
13
13
  const {
14
14
  WIDTH,
15
- MAIN_HEIGHT,
16
- X_LABEL_SIZE
15
+ MAIN_HEIGHT_DESKTOP,
16
+ MAIN_HEIGHT_MOBILE,
17
+ X_LABEL_SIZE,
18
+ TOOLTIP_HEIGHT_MOBILE,
19
+ TOOLTIP_HEIGHT_DESKTOP,
20
+ Y_SENTIMENT_LABEL_DESKTOP_SIZE,
21
+ Y_SENTIMENT_LABEL_MOBILE_SIZE,
22
+ Y_LABEL_SIZE_DESKTOP,
23
+ Y_LABEL_SIZE_MOBILE,
24
+ TOP_LABEL_SPACE_MOBILE
17
25
  } = CHART_CONFIG;
18
- const ySentimentLabelSize = isDesktop ? CHART_CONFIG.Y_SENTIMENT_LABEL_DESKTOP_SIZE : CHART_CONFIG.Y_SENTIMENT_LABEL_MOBILE_SIZE;
19
- const yLabelSize = isDesktop ? CHART_CONFIG.Y_LABEL_SIZE_DESKTOP : CHART_CONFIG.Y_LABEL_SIZE_MOBILE;
20
- const topMargin = isDesktop ? 0 : CHART_CONFIG.TOP_MARGIN_MOBILE;
26
+ const mainHeight = isDesktop ? MAIN_HEIGHT_DESKTOP : MAIN_HEIGHT_MOBILE;
27
+ const ySentimentLabelSize = isDesktop ? Y_SENTIMENT_LABEL_DESKTOP_SIZE : Y_SENTIMENT_LABEL_MOBILE_SIZE;
28
+ const yLabelSize = isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE;
29
+ const topMargin = isDesktop ? CHART_CONFIG.TOP_LABEL_SPACE_DESKTOP + TOOLTIP_HEIGHT_DESKTOP : TOP_LABEL_SPACE_MOBILE + TOOLTIP_HEIGHT_MOBILE;
30
+ const tooltipHeight = isDesktop ? TOOLTIP_HEIGHT_DESKTOP : TOOLTIP_HEIGHT_MOBILE;
21
31
  return [_objectSpread(_objectSpread({}, getLineCommons(isDark)), {}, {
22
32
  top: -2,
23
33
  shape: {
@@ -33,7 +43,7 @@ export const getGridLines = _ref => {
33
43
  x1: 0,
34
44
  y1: 0,
35
45
  x2: 0,
36
- y2: MAIN_HEIGHT + X_LABEL_SIZE + 2
46
+ y2: mainHeight + topMargin + X_LABEL_SIZE + 2
37
47
  },
38
48
  z: 30
39
49
  }), _objectSpread(_objectSpread({}, getLineCommons(isDark)), {}, {
@@ -51,7 +61,7 @@ export const getGridLines = _ref => {
51
61
  x1: 0,
52
62
  y1: 0,
53
63
  x2: 0,
54
- y2: MAIN_HEIGHT + X_LABEL_SIZE + 2
64
+ y2: mainHeight + X_LABEL_SIZE + topMargin + 2
55
65
  },
56
66
  z: 30
57
67
  }), _objectSpread(_objectSpread({}, getLineCommons(isDark)), {}, {
@@ -61,7 +71,7 @@ export const getGridLines = _ref => {
61
71
  x1: 0,
62
72
  y1: 0,
63
73
  x2: 0,
64
- y2: MAIN_HEIGHT - topMargin
74
+ y2: mainHeight
65
75
  },
66
76
  z: 30
67
77
  }), _objectSpread(_objectSpread({}, getLineCommons(isDark)), {}, {
@@ -71,7 +81,7 @@ export const getGridLines = _ref => {
71
81
  x1: 0,
72
82
  y1: 0,
73
83
  x2: 0,
74
- y2: MAIN_HEIGHT - topMargin
84
+ y2: mainHeight
75
85
  },
76
86
  z: 30
77
87
  }), _objectSpread(_objectSpread({}, getLineCommons(isDark)), {}, {
@@ -92,6 +102,15 @@ export const getGridLines = _ref => {
92
102
  y2: 0
93
103
  },
94
104
  z: 30
105
+ }), _objectSpread(_objectSpread({}, getLineCommons(isDark)), {}, {
106
+ top: tooltipHeight - 3,
107
+ shape: {
108
+ x1: 0,
109
+ y1: 0,
110
+ x2: WIDTH,
111
+ y2: 0
112
+ },
113
+ z: 30
95
114
  })];
96
115
  };
97
116
  //# sourceMappingURL=getGridLines.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGridLines.js","names":["getLineCommons","CHART_CONFIG","getGridLines","_ref","isDark","isDesktop","WIDTH","MAIN_HEIGHT","X_LABEL_SIZE","ySentimentLabelSize","Y_SENTIMENT_LABEL_DESKTOP_SIZE","Y_SENTIMENT_LABEL_MOBILE_SIZE","yLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","topMargin","TOP_MARGIN_MOBILE","_objectSpread","top","shape","x1","y1","x2","y2","z","right","bottom","left"],"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 { WIDTH, MAIN_HEIGHT, X_LABEL_SIZE } = CHART_CONFIG;\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 ? 0 : CHART_CONFIG.TOP_MARGIN_MOBILE;\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: MAIN_HEIGHT + 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: MAIN_HEIGHT + X_LABEL_SIZE + 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: MAIN_HEIGHT - topMargin,\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: MAIN_HEIGHT - topMargin,\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 ];\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getGridLines.js","names":["getLineCommons","CHART_CONFIG","getGridLines","_ref","isDark","isDesktop","WIDTH","MAIN_HEIGHT_DESKTOP","MAIN_HEIGHT_MOBILE","X_LABEL_SIZE","TOOLTIP_HEIGHT_MOBILE","TOOLTIP_HEIGHT_DESKTOP","Y_SENTIMENT_LABEL_DESKTOP_SIZE","Y_SENTIMENT_LABEL_MOBILE_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","TOP_LABEL_SPACE_MOBILE","mainHeight","ySentimentLabelSize","yLabelSize","topMargin","TOP_LABEL_SPACE_DESKTOP","tooltipHeight","_objectSpread","top","shape","x1","y1","x2","y2","z","right","bottom","left"],"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 TOOLTIP_HEIGHT_MOBILE,\n TOOLTIP_HEIGHT_DESKTOP,\n Y_SENTIMENT_LABEL_DESKTOP_SIZE,\n Y_SENTIMENT_LABEL_MOBILE_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n TOP_LABEL_SPACE_MOBILE,\n } = CHART_CONFIG;\n\n const mainHeight = isDesktop ? MAIN_HEIGHT_DESKTOP : MAIN_HEIGHT_MOBILE;\n const ySentimentLabelSize = isDesktop\n ? Y_SENTIMENT_LABEL_DESKTOP_SIZE\n : Y_SENTIMENT_LABEL_MOBILE_SIZE;\n\n const yLabelSize = isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE;\n\n const topMargin = isDesktop\n ? CHART_CONFIG.TOP_LABEL_SPACE_DESKTOP + TOOLTIP_HEIGHT_DESKTOP\n : TOP_LABEL_SPACE_MOBILE + TOOLTIP_HEIGHT_MOBILE;\n\n const tooltipHeight = isDesktop\n ? TOOLTIP_HEIGHT_DESKTOP\n : TOOLTIP_HEIGHT_MOBILE;\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: tooltipHeight - 3,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n z: 30,\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -19,7 +19,8 @@ export const getLabelsConfig = _ref => {
19
19
  const priceEstimatedWidth = 10 * priceText.length * 0.65;
20
20
  const sentimentVerticalOffset = sentimentEstimatedWidth / 2;
21
21
  const priceVerticalOffset = priceEstimatedWidth / 2;
22
- const topMargin = isDesktop ? CHART_CONFIG.TOP_MARGIN_DESKTOP : CHART_CONFIG.TOP_MARGIN_MOBILE;
22
+ const topMargin = isDesktop ? CHART_CONFIG.TOP_LABEL_SPACE_DESKTOP + CHART_CONFIG.TOOLTIP_HEIGHT_DESKTOP : CHART_CONFIG.TOP_LABEL_SPACE_MOBILE + CHART_CONFIG.TOOLTIP_HEIGHT_MOBILE;
23
+ const mainHeight = isDesktop ? CHART_CONFIG.MAIN_HEIGHT_DESKTOP : CHART_CONFIG.MAIN_HEIGHT_MOBILE;
23
24
  return [{
24
25
  type: 'group',
25
26
  left: "".concat(ySentimentLabelSize + 5, "px'"),
@@ -59,7 +60,7 @@ export const getLabelsConfig = _ref => {
59
60
  }, {
60
61
  type: 'group',
61
62
  left: "".concat(ySentimentLabelSize + 5, "px'"),
62
- top: "".concat(CHART_CONFIG.MAIN_HEIGHT - 24 - 5, "px"),
63
+ top: "".concat(topMargin + mainHeight - 24 - 5, "px"),
63
64
  silent: true,
64
65
  children: [{
65
66
  type: 'rect',
@@ -97,7 +98,7 @@ export const getLabelsConfig = _ref => {
97
98
  z: 30,
98
99
  rotation: isDesktop ? Math.PI / 2 : 0,
99
100
  left: "5px",
100
- top: isDesktop ? "".concat(topMargin + CHART_CONFIG.MAIN_HEIGHT / 2 - sentimentVerticalOffset, "px") : "".concat(topMargin - 18, "px"),
101
+ top: isDesktop ? "".concat(topMargin + mainHeight / 2 - sentimentVerticalOffset, "px") : "".concat(topMargin - 16, "px"),
101
102
  silent: true,
102
103
  style: {
103
104
  fontSize: 10,
@@ -111,7 +112,7 @@ export const getLabelsConfig = _ref => {
111
112
  z: 30,
112
113
  rotation: isDesktop ? -Math.PI / 2 : 0,
113
114
  right: "5px",
114
- top: isDesktop ? "".concat(topMargin + CHART_CONFIG.MAIN_HEIGHT / 2 - priceVerticalOffset, "px") : "".concat(topMargin - 18, "px"),
115
+ top: isDesktop ? "".concat(topMargin + mainHeight / 2 - priceVerticalOffset, "px") : "".concat(topMargin - 16, "px"),
115
116
  silent: true,
116
117
  style: {
117
118
  fontSize: 10,
@@ -124,10 +125,10 @@ export const getLabelsConfig = _ref => {
124
125
  type: 'rect',
125
126
  z: 20,
126
127
  right: '0px',
127
- top: '0px',
128
+ top: "".concat(topMargin, "px"),
128
129
  shape: {
129
130
  width: yMainLabelSize,
130
- height: CHART_CONFIG.MAIN_HEIGHT
131
+ height: mainHeight
131
132
  },
132
133
  silent: true,
133
134
  style: {
@@ -137,15 +138,26 @@ export const getLabelsConfig = _ref => {
137
138
  type: 'rect',
138
139
  z: 20,
139
140
  left: '0px',
140
- top: '0px',
141
+ top: "".concat(topMargin, "px"),
141
142
  shape: {
142
143
  width: ySentimentLabelSize,
143
- height: CHART_CONFIG.MAIN_HEIGHT
144
+ height: mainHeight
144
145
  },
145
146
  silent: true,
146
147
  style: {
147
148
  fill: backgroundColor
148
149
  }
150
+ }, {
151
+ type: 'text',
152
+ z: 20,
153
+ left: 'center',
154
+ top: isDesktop ? CHART_CONFIG.TOOLTIP_HEIGHT_DESKTOP / 2 - 5 : CHART_CONFIG.TOOLTIP_HEIGHT_MOBILE / 2 - 5,
155
+ silent: true,
156
+ style: {
157
+ fontSize: isDesktop ? 12 : 11,
158
+ fill: textColor,
159
+ text: isDesktop ? labelCallback('hover_chart_to_see_more_details') : labelCallback('tap_chart_to_see_more_details')
160
+ }
149
161
  }];
150
162
  };
151
163
  //# sourceMappingURL=getLabelsConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getLabelsConfig.js","names":["colorPalette","chroma","CHART_CONFIG","getLabelsConfig","_ref","isDark","isDesktop","labelCallback","ySentimentLabelSize","Y_SENTIMENT_LABEL_DESKTOP_SIZE","Y_SENTIMENT_LABEL_MOBILE_SIZE","yMainLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","textColor","white","black","labelBackgroundColor","darkGray","backgroundColor","shadowColor","alpha","hex","sentimentText","toUpperCase","priceText","sentimentEstimatedWidth","length","priceEstimatedWidth","sentimentVerticalOffset","priceVerticalOffset","topMargin","TOP_MARGIN_DESKTOP","TOP_MARGIN_MOBILE","type","left","concat","top","silent","children","z","right","shape","width","height","style","fill","shadowBlur","shadowOffsetX","shadowOffsetY","fontSize","fontFamily","fontWeight","text","MAIN_HEIGHT","rotation","Math","PI"],"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;\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: `${CHART_CONFIG.MAIN_HEIGHT - 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 + CHART_CONFIG.MAIN_HEIGHT / 2 - sentimentVerticalOffset}px`\n : `${topMargin - 18}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 + CHART_CONFIG.MAIN_HEIGHT / 2 - priceVerticalOffset}px`\n : `${topMargin - 18}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: '0px',\n shape: {\n width: yMainLabelSize,\n height: CHART_CONFIG.MAIN_HEIGHT,\n },\n silent: true,\n style: {\n fill: backgroundColor,\n },\n },\n {\n type: 'rect',\n z: 20,\n left: '0px',\n top: '0px',\n shape: {\n width: ySentimentLabelSize,\n height: CHART_CONFIG.MAIN_HEIGHT,\n },\n silent: true,\n style: {\n fill: backgroundColor,\n },\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"getLabelsConfig.js","names":["colorPalette","chroma","CHART_CONFIG","getLabelsConfig","_ref","isDark","isDesktop","labelCallback","ySentimentLabelSize","Y_SENTIMENT_LABEL_DESKTOP_SIZE","Y_SENTIMENT_LABEL_MOBILE_SIZE","yMainLabelSize","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","textColor","white","black","labelBackgroundColor","darkGray","backgroundColor","shadowColor","alpha","hex","sentimentText","toUpperCase","priceText","sentimentEstimatedWidth","length","priceEstimatedWidth","sentimentVerticalOffset","priceVerticalOffset","topMargin","TOP_LABEL_SPACE_DESKTOP","TOOLTIP_HEIGHT_DESKTOP","TOP_LABEL_SPACE_MOBILE","TOOLTIP_HEIGHT_MOBILE","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"],"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_LABEL_SPACE_DESKTOP + CHART_CONFIG.TOOLTIP_HEIGHT_DESKTOP\n : CHART_CONFIG.TOP_LABEL_SPACE_MOBILE + CHART_CONFIG.TOOLTIP_HEIGHT_MOBILE;\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: isDesktop\n ? CHART_CONFIG.TOOLTIP_HEIGHT_DESKTOP / 2 - 5\n : CHART_CONFIG.TOOLTIP_HEIGHT_MOBILE / 2 - 5,\n silent: true,\n style: {\n fontSize: isDesktop ? 12 : 11,\n fill: textColor,\n text: isDesktop\n ? labelCallback('hover_chart_to_see_more_details')\n : labelCallback('tap_chart_to_see_more_details'),\n },\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,18 +1,30 @@
1
- import { CHART_CONFIG } from '../../../constants';
2
1
  import { getTooltipFormatter } from '../chartUtils';
3
2
  export const getTooltipConfig = _ref => {
4
3
  let {
5
4
  bookType,
6
5
  bucketWidth,
7
6
  buckets,
8
- displayPrecision,
9
7
  labelCallback,
10
8
  selectedPriceRef,
11
9
  tooltipLinesColor,
12
10
  sentimentLongs,
13
- sentimentShorts
11
+ sentimentShorts,
12
+ isDesktop,
13
+ isDark,
14
+ locale
14
15
  } = _ref;
15
16
  return {
17
+ backgroundColor: 'transparent',
18
+ shadowColor: 'transparent',
19
+ extraCssText: 'width: 100%; z-index: 5;',
20
+ padding: 4,
21
+ textStyle: isDesktop ? {
22
+ fontSize: 12
23
+ } : {
24
+ fontSize: 10,
25
+ lineHeight: 12
26
+ },
27
+ alwaysShowContent: true,
16
28
  trigger: 'axis',
17
29
  formatter: params => getTooltipFormatter({
18
30
  bookType,
@@ -22,7 +34,10 @@ export const getTooltipConfig = _ref => {
22
34
  params: params,
23
35
  selectedPrice: selectedPriceRef.current,
24
36
  sentimentLongs,
25
- sentimentShorts
37
+ sentimentShorts,
38
+ isDesktop,
39
+ locale,
40
+ isDark
26
41
  }),
27
42
  hideDelay: 0,
28
43
  axisPointer: {
@@ -34,20 +49,10 @@ export const getTooltipConfig = _ref => {
34
49
  crossStyle: {
35
50
  color: tooltipLinesColor
36
51
  },
37
- label: {
38
- padding: 0,
39
- lineHeight: 24,
40
- formatter: params => {
41
- if (params.axisDimension === 'y' && params.axisIndex === 0) {
42
- selectedPriceRef.current = Number(params.value);
43
- return " ".concat(Number(params.value).toFixed(displayPrecision), " ");
44
- }
45
- return '';
46
- }
47
- }
52
+ z: 30
48
53
  },
49
54
  confine: true,
50
- position: point => [point[0] + CHART_CONFIG.TOOLTIP_OFFSET, point[1] + CHART_CONFIG.TOOLTIP_OFFSET]
55
+ position: [0, 0]
51
56
  };
52
57
  };
53
58
  //# sourceMappingURL=getTooltipConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getTooltipConfig.js","names":["CHART_CONFIG","getTooltipFormatter","getTooltipConfig","_ref","bookType","bucketWidth","buckets","displayPrecision","labelCallback","selectedPriceRef","tooltipLinesColor","sentimentLongs","sentimentShorts","trigger","formatter","params","selectedPrice","current","hideDelay","axisPointer","type","axis","lineStyle","color","crossStyle","label","padding","lineHeight","axisDimension","axisIndex","Number","value","concat","toFixed","confine","position","point","TOOLTIP_OFFSET"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts"],"sourcesContent":["import type { TooltipComponentOption } from 'echarts';\n\nimport type { BookType } from '../../../../gql/types/graphql';\nimport { CHART_CONFIG } from '../../../constants';\nimport { getTooltipFormatter } from '../chartUtils';\nimport type { Bucket, TooltipParam } from '../types';\n\ninterface GetTooltipConfigParams {\n bookType: BookType;\n bucketWidth: number;\n buckets: Bucket[][];\n displayPrecision: number;\n labelCallback: (key: string, params?: Record<string, unknown>) => string;\n selectedPriceRef: { current: number };\n tooltipLinesColor: string;\n sentimentLongs: (number | null)[];\n sentimentShorts: (number | null)[];\n}\n\nexport const getTooltipConfig = ({\n bookType,\n bucketWidth,\n buckets,\n displayPrecision,\n labelCallback,\n selectedPriceRef,\n tooltipLinesColor,\n sentimentLongs,\n sentimentShorts,\n}: GetTooltipConfigParams): TooltipComponentOption => ({\n trigger: 'axis' as const,\n formatter: (params) =>\n getTooltipFormatter({\n bookType,\n bucketWidth,\n buckets,\n labelCallback,\n params: params as unknown as TooltipParam[],\n selectedPrice: selectedPriceRef.current,\n sentimentLongs,\n sentimentShorts,\n }),\n hideDelay: 0,\n axisPointer: {\n type: 'cross' as const,\n axis: 'x' as const,\n lineStyle: {\n color: tooltipLinesColor,\n },\n crossStyle: {\n color: tooltipLinesColor,\n },\n label: {\n padding: 0,\n lineHeight: 24,\n formatter: (params: {\n axisDimension?: string;\n axisIndex?: number;\n value: unknown;\n }) => {\n if (params.axisDimension === 'y' && params.axisIndex === 0) {\n selectedPriceRef.current = Number(params.value);\n return ` ${Number(params.value).toFixed(displayPrecision)} `;\n }\n return '';\n },\n },\n },\n confine: true,\n position: (point) => [\n point[0] + CHART_CONFIG.TOOLTIP_OFFSET,\n point[1] + CHART_CONFIG.TOOLTIP_OFFSET,\n ],\n});\n"],"mappings":"AAGA,SAASA,YAAY,QAAQ,oBAAoB;AACjD,SAASC,mBAAmB,QAAQ,eAAe;AAenD,OAAO,MAAMC,gBAAgB,GAAGC,IAAA;EAAA,IAAC;IAC/BC,QAAQ;IACRC,WAAW;IACXC,OAAO;IACPC,gBAAgB;IAChBC,aAAa;IACbC,gBAAgB;IAChBC,iBAAiB;IACjBC,cAAc;IACdC;EACsB,CAAC,GAAAT,IAAA;EAAA,OAA8B;IACrDU,OAAO,EAAE,MAAe;IACxBC,SAAS,EAAGC,MAAM,IAChBd,mBAAmB,CAAC;MAClBG,QAAQ;MACRC,WAAW;MACXC,OAAO;MACPE,aAAa;MACbO,MAAM,EAAEA,MAAmC;MAC3CC,aAAa,EAAEP,gBAAgB,CAACQ,OAAO;MACvCN,cAAc;MACdC;IACF,CAAC,CAAC;IACJM,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE;MACXC,IAAI,EAAE,OAAgB;MACtBC,IAAI,EAAE,GAAY;MAClBC,SAAS,EAAE;QACTC,KAAK,EAAEb;MACT,CAAC;MACDc,UAAU,EAAE;QACVD,KAAK,EAAEb;MACT,CAAC;MACDe,KAAK,EAAE;QACLC,OAAO,EAAE,CAAC;QACVC,UAAU,EAAE,EAAE;QACdb,SAAS,EAAGC,MAIX,IAAK;UACJ,IAAIA,MAAM,CAACa,aAAa,KAAK,GAAG,IAAIb,MAAM,CAACc,SAAS,KAAK,CAAC,EAAE;YAC1DpB,gBAAgB,CAACQ,OAAO,GAAGa,MAAM,CAACf,MAAM,CAACgB,KAAK,CAAC;YAC/C,WAAAC,MAAA,CAAWF,MAAM,CAACf,MAAM,CAACgB,KAAK,CAAC,CAACE,OAAO,CAAC1B,gBAAgB,CAAC;UAC3D;UACA,OAAO,EAAE;QACX;MACF;IACF,CAAC;IACD2B,OAAO,EAAE,IAAI;IACbC,QAAQ,EAAGC,KAAK,IAAK,CACnBA,KAAK,CAAC,CAAC,CAAC,GAAGpC,YAAY,CAACqC,cAAc,EACtCD,KAAK,CAAC,CAAC,CAAC,GAAGpC,YAAY,CAACqC,cAAc;EAE1C,CAAC;AAAA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getTooltipConfig.js","names":["getTooltipFormatter","getTooltipConfig","_ref","bookType","bucketWidth","buckets","labelCallback","selectedPriceRef","tooltipLinesColor","sentimentLongs","sentimentShorts","isDesktop","isDark","locale","backgroundColor","shadowColor","extraCssText","padding","textStyle","fontSize","lineHeight","alwaysShowContent","trigger","formatter","params","selectedPrice","current","hideDelay","axisPointer","type","axis","lineStyle","color","crossStyle","z","confine","position"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts"],"sourcesContent":["import type { TooltipComponentOption } from 'echarts';\n\nimport type { BookType } from '../../../../gql/types/graphql';\nimport { getTooltipFormatter } from '../chartUtils';\nimport type { Bucket, TooltipParam } from '../types';\n\ninterface GetTooltipConfigParams {\n bookType: BookType;\n bucketWidth: number;\n buckets: Bucket[][];\n labelCallback: (key: string, params?: Record<string, unknown>) => string;\n selectedPriceRef: { current: number };\n tooltipLinesColor: string;\n sentimentLongs: (number | null)[];\n sentimentShorts: (number | null)[];\n isDesktop: boolean;\n isDark: boolean;\n locale: string;\n}\n\nexport const getTooltipConfig = ({\n bookType,\n bucketWidth,\n buckets,\n labelCallback,\n selectedPriceRef,\n tooltipLinesColor,\n sentimentLongs,\n sentimentShorts,\n isDesktop,\n isDark,\n locale,\n}: GetTooltipConfigParams): TooltipComponentOption => ({\n backgroundColor: 'transparent',\n shadowColor: 'transparent',\n extraCssText: 'width: 100%; z-index: 5;',\n padding: 4,\n textStyle: isDesktop\n ? {\n fontSize: 12,\n }\n : {\n fontSize: 10,\n lineHeight: 12,\n },\n alwaysShowContent: true,\n trigger: 'axis' as const,\n formatter: (params) =>\n getTooltipFormatter({\n bookType,\n bucketWidth,\n buckets,\n labelCallback,\n params: params as unknown as TooltipParam[],\n selectedPrice: selectedPriceRef.current,\n sentimentLongs,\n sentimentShorts,\n isDesktop,\n locale,\n isDark,\n }),\n hideDelay: 0,\n axisPointer: {\n type: 'cross' as const,\n axis: 'x' as const,\n lineStyle: {\n color: tooltipLinesColor,\n },\n crossStyle: {\n color: tooltipLinesColor,\n },\n z: 30,\n },\n confine: true,\n position: [0, 0],\n});\n"],"mappings":"AAGA,SAASA,mBAAmB,QAAQ,eAAe;AAiBnD,OAAO,MAAMC,gBAAgB,GAAGC,IAAA;EAAA,IAAC;IAC/BC,QAAQ;IACRC,WAAW;IACXC,OAAO;IACPC,aAAa;IACbC,gBAAgB;IAChBC,iBAAiB;IACjBC,cAAc;IACdC,eAAe;IACfC,SAAS;IACTC,MAAM;IACNC;EACsB,CAAC,GAAAX,IAAA;EAAA,OAA8B;IACrDY,eAAe,EAAE,aAAa;IAC9BC,WAAW,EAAE,aAAa;IAC1BC,YAAY,EAAE,0BAA0B;IACxCC,OAAO,EAAE,CAAC;IACVC,SAAS,EAAEP,SAAS,GAChB;MACEQ,QAAQ,EAAE;IACZ,CAAC,GACD;MACEA,QAAQ,EAAE,EAAE;MACZC,UAAU,EAAE;IACd,CAAC;IACLC,iBAAiB,EAAE,IAAI;IACvBC,OAAO,EAAE,MAAe;IACxBC,SAAS,EAAGC,MAAM,IAChBxB,mBAAmB,CAAC;MAClBG,QAAQ;MACRC,WAAW;MACXC,OAAO;MACPC,aAAa;MACbkB,MAAM,EAAEA,MAAmC;MAC3CC,aAAa,EAAElB,gBAAgB,CAACmB,OAAO;MACvCjB,cAAc;MACdC,eAAe;MACfC,SAAS;MACTE,MAAM;MACND;IACF,CAAC,CAAC;IACJe,SAAS,EAAE,CAAC;IACZC,WAAW,EAAE;MACXC,IAAI,EAAE,OAAgB;MACtBC,IAAI,EAAE,GAAY;MAClBC,SAAS,EAAE;QACTC,KAAK,EAAExB;MACT,CAAC;MACDyB,UAAU,EAAE;QACVD,KAAK,EAAExB;MACT,CAAC;MACD0B,CAAC,EAAE;IACL,CAAC;IACDC,OAAO,EAAE,IAAI;IACbC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC;EACjB,CAAC;AAAA,CAAC","ignoreList":[]}
@@ -1,8 +1,10 @@
1
- import { formatXAxisAdditionalLabel, formatXAxisLabel, getLabelData } from '../chartUtils';
1
+ import { formatFullDate, formatXAxisAdditionalLabel, formatXAxisLabel, getLabelData } from '../chartUtils';
2
2
  export const getXAxisConfig = _ref => {
3
3
  let {
4
4
  dates,
5
- isGreaterThanTwoWeeks
5
+ isGreaterThanTwoWeeks,
6
+ locale,
7
+ isDesktop
6
8
  } = _ref;
7
9
  const labelsData = getLabelData({
8
10
  dates,
@@ -11,19 +13,36 @@ export const getXAxisConfig = _ref => {
11
13
  return [{
12
14
  type: 'category',
13
15
  id: 'main-xAxis',
14
- name: isGreaterThanTwoWeeks ? 'xAxis-greater-than-two-weeks' : 'xAxis-less-than-two-weeks',
15
16
  nameTextStyle: {
16
17
  fontSize: 0
17
18
  },
18
19
  axisTick: {
19
20
  show: false
20
21
  },
22
+ splitLine: {
23
+ lineStyle: {
24
+ opacity: 0.5
25
+ }
26
+ },
21
27
  axisLabel: {
22
28
  padding: [8, 16, 8, 16],
23
29
  margin: 0,
24
- formatter: value => formatXAxisLabel(value, isGreaterThanTwoWeeks)
30
+ formatter: value => value === dates[dates.length - 1] ? '' : formatXAxisLabel(value, isGreaterThanTwoWeeks, locale)
25
31
  },
26
- boundaryGap: false
32
+ boundaryGap: false,
33
+ z: 2,
34
+ axisPointer: {
35
+ label: {
36
+ lineHeight: 22,
37
+ margin: -22,
38
+ padding: [0, 8, 0, 8],
39
+ formatter: params => {
40
+ const date = new Date(params.value);
41
+ return isDesktop ? formatFullDate(date, locale) : '';
42
+ }
43
+ },
44
+ z: 100
45
+ }
27
46
  }, {
28
47
  type: 'category',
29
48
  id: 'additional-xAxis',
@@ -41,10 +60,14 @@ export const getXAxisConfig = _ref => {
41
60
  margin: 24,
42
61
  hideOverlap: true,
43
62
  customValues: labelsData,
44
- formatter: value => formatXAxisAdditionalLabel(value, isGreaterThanTwoWeeks)
63
+ formatter: value => formatXAxisAdditionalLabel(value, isGreaterThanTwoWeeks, locale)
64
+ },
65
+ axisPointer: {
66
+ show: false
45
67
  },
46
68
  data: dates,
47
- boundaryGap: false
69
+ boundaryGap: false,
70
+ z: 2
48
71
  }];
49
72
  };
50
73
  //# sourceMappingURL=getXAxisConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getXAxisConfig.js","names":["formatXAxisAdditionalLabel","formatXAxisLabel","getLabelData","getXAxisConfig","_ref","dates","isGreaterThanTwoWeeks","labelsData","type","id","name","nameTextStyle","fontSize","axisTick","show","axisLabel","padding","margin","formatter","value","boundaryGap","gridIndex","axisLine","splitLine","hideOverlap","customValues","data"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.ts"],"sourcesContent":["import type { XAXisComponentOption } from 'echarts';\n\nimport {\n formatXAxisAdditionalLabel,\n formatXAxisLabel,\n getLabelData,\n} from '../chartUtils';\n\ninterface GetXAxisConfigParams {\n dates: string[];\n isGreaterThanTwoWeeks: boolean;\n}\n\nexport const getXAxisConfig = ({\n dates,\n isGreaterThanTwoWeeks,\n}: GetXAxisConfigParams): XAXisComponentOption[] => {\n const labelsData = getLabelData({\n dates,\n isGreaterThanTwoWeeks,\n });\n\n return [\n {\n type: 'category',\n id: 'main-xAxis',\n name: isGreaterThanTwoWeeks\n ? 'xAxis-greater-than-two-weeks'\n : 'xAxis-less-than-two-weeks',\n nameTextStyle: {\n fontSize: 0,\n },\n axisTick: {\n show: false,\n },\n axisLabel: {\n padding: [8, 16, 8, 16],\n margin: 0,\n formatter: (value: unknown) =>\n formatXAxisLabel(value, isGreaterThanTwoWeeks),\n },\n boundaryGap: false,\n },\n {\n type: 'category',\n id: 'additional-xAxis',\n gridIndex: 1,\n axisTick: {\n show: false,\n },\n axisLine: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n axisLabel: {\n margin: 24,\n hideOverlap: true,\n customValues: labelsData,\n formatter: (value: unknown) =>\n formatXAxisAdditionalLabel(value, isGreaterThanTwoWeeks),\n },\n data: dates,\n boundaryGap: false,\n },\n ];\n};\n"],"mappings":"AAEA,SACEA,0BAA0B,EAC1BC,gBAAgB,EAChBC,YAAY,QACP,eAAe;AAOtB,OAAO,MAAMC,cAAc,GAAGC,IAAA,IAGsB;EAAA,IAHrB;IAC7BC,KAAK;IACLC;EACoB,CAAC,GAAAF,IAAA;EACrB,MAAMG,UAAU,GAAGL,YAAY,CAAC;IAC9BG,KAAK;IACLC;EACF,CAAC,CAAC;EAEF,OAAO,CACL;IACEE,IAAI,EAAE,UAAU;IAChBC,EAAE,EAAE,YAAY;IAChBC,IAAI,EAAEJ,qBAAqB,GACvB,8BAA8B,GAC9B,2BAA2B;IAC/BK,aAAa,EAAE;MACbC,QAAQ,EAAE;IACZ,CAAC;IACDC,QAAQ,EAAE;MACRC,IAAI,EAAE;IACR,CAAC;IACDC,SAAS,EAAE;MACTC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;MACvBC,MAAM,EAAE,CAAC;MACTC,SAAS,EAAGC,KAAc,IACxBlB,gBAAgB,CAACkB,KAAK,EAAEb,qBAAqB;IACjD,CAAC;IACDc,WAAW,EAAE;EACf,CAAC,EACD;IACEZ,IAAI,EAAE,UAAU;IAChBC,EAAE,EAAE,kBAAkB;IACtBY,SAAS,EAAE,CAAC;IACZR,QAAQ,EAAE;MACRC,IAAI,EAAE;IACR,CAAC;IACDQ,QAAQ,EAAE;MACRR,IAAI,EAAE;IACR,CAAC;IACDS,SAAS,EAAE;MACTT,IAAI,EAAE;IACR,CAAC;IACDC,SAAS,EAAE;MACTE,MAAM,EAAE,EAAE;MACVO,WAAW,EAAE,IAAI;MACjBC,YAAY,EAAElB,UAAU;MACxBW,SAAS,EAAGC,KAAc,IACxBnB,0BAA0B,CAACmB,KAAK,EAAEb,qBAAqB;IAC3D,CAAC;IACDoB,IAAI,EAAErB,KAAK;IACXe,WAAW,EAAE;EACf,CAAC,CACF;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getXAxisConfig.js","names":["formatFullDate","formatXAxisAdditionalLabel","formatXAxisLabel","getLabelData","getXAxisConfig","_ref","dates","isGreaterThanTwoWeeks","locale","isDesktop","labelsData","type","id","nameTextStyle","fontSize","axisTick","show","splitLine","lineStyle","opacity","axisLabel","padding","margin","formatter","value","length","boundaryGap","z","axisPointer","label","lineHeight","params","date","Date","gridIndex","axisLine","hideOverlap","customValues","data"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.ts"],"sourcesContent":["import type { XAXisComponentOption } from 'echarts';\n\nimport {\n formatFullDate,\n formatXAxisAdditionalLabel,\n formatXAxisLabel,\n getLabelData,\n} from '../chartUtils';\n\ninterface GetXAxisConfigParams {\n dates: string[];\n isGreaterThanTwoWeeks: boolean;\n locale: string;\n isDesktop: boolean;\n}\n\nexport const getXAxisConfig = ({\n dates,\n isGreaterThanTwoWeeks,\n locale,\n isDesktop,\n}: GetXAxisConfigParams): XAXisComponentOption[] => {\n const labelsData = getLabelData({\n dates,\n isGreaterThanTwoWeeks,\n });\n\n return [\n {\n type: 'category',\n id: 'main-xAxis',\n nameTextStyle: {\n fontSize: 0,\n },\n axisTick: {\n show: false,\n },\n splitLine: {\n lineStyle: {\n opacity: 0.5,\n },\n },\n axisLabel: {\n padding: [8, 16, 8, 16],\n margin: 0,\n formatter: (value: unknown) =>\n value === dates[dates.length - 1]\n ? ''\n : formatXAxisLabel(value, isGreaterThanTwoWeeks, locale),\n },\n boundaryGap: false,\n z: 2,\n axisPointer: {\n label: {\n lineHeight: 22,\n margin: -22,\n padding: [0, 8, 0, 8],\n formatter: (params: {\n axisDimension?: string;\n axisIndex?: number;\n value: unknown;\n }) => {\n const date = new Date(params.value as string);\n\n return isDesktop ? formatFullDate(date, locale) : '';\n },\n },\n z: 100,\n },\n },\n {\n type: 'category',\n id: 'additional-xAxis',\n gridIndex: 1,\n axisTick: {\n show: false,\n },\n axisLine: {\n show: false,\n },\n splitLine: {\n show: false,\n },\n axisLabel: {\n margin: 24,\n hideOverlap: true,\n customValues: labelsData,\n formatter: (value: unknown) =>\n formatXAxisAdditionalLabel(value, isGreaterThanTwoWeeks, locale),\n },\n axisPointer: {\n show: false,\n },\n data: dates,\n boundaryGap: false,\n z: 2,\n },\n ];\n};\n"],"mappings":"AAEA,SACEA,cAAc,EACdC,0BAA0B,EAC1BC,gBAAgB,EAChBC,YAAY,QACP,eAAe;AAStB,OAAO,MAAMC,cAAc,GAAGC,IAAA,IAKsB;EAAA,IALrB;IAC7BC,KAAK;IACLC,qBAAqB;IACrBC,MAAM;IACNC;EACoB,CAAC,GAAAJ,IAAA;EACrB,MAAMK,UAAU,GAAGP,YAAY,CAAC;IAC9BG,KAAK;IACLC;EACF,CAAC,CAAC;EAEF,OAAO,CACL;IACEI,IAAI,EAAE,UAAU;IAChBC,EAAE,EAAE,YAAY;IAChBC,aAAa,EAAE;MACbC,QAAQ,EAAE;IACZ,CAAC;IACDC,QAAQ,EAAE;MACRC,IAAI,EAAE;IACR,CAAC;IACDC,SAAS,EAAE;MACTC,SAAS,EAAE;QACTC,OAAO,EAAE;MACX;IACF,CAAC;IACDC,SAAS,EAAE;MACTC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;MACvBC,MAAM,EAAE,CAAC;MACTC,SAAS,EAAGC,KAAc,IACxBA,KAAK,KAAKlB,KAAK,CAACA,KAAK,CAACmB,MAAM,GAAG,CAAC,CAAC,GAC7B,EAAE,GACFvB,gBAAgB,CAACsB,KAAK,EAAEjB,qBAAqB,EAAEC,MAAM;IAC7D,CAAC;IACDkB,WAAW,EAAE,KAAK;IAClBC,CAAC,EAAE,CAAC;IACJC,WAAW,EAAE;MACXC,KAAK,EAAE;QACLC,UAAU,EAAE,EAAE;QACdR,MAAM,EAAE,CAAC,EAAE;QACXD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrBE,SAAS,EAAGQ,MAIX,IAAK;UACJ,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACF,MAAM,CAACP,KAAe,CAAC;UAE7C,OAAOf,SAAS,GAAGT,cAAc,CAACgC,IAAI,EAAExB,MAAM,CAAC,GAAG,EAAE;QACtD;MACF,CAAC;MACDmB,CAAC,EAAE;IACL;EACF,CAAC,EACD;IACEhB,IAAI,EAAE,UAAU;IAChBC,EAAE,EAAE,kBAAkB;IACtBsB,SAAS,EAAE,CAAC;IACZnB,QAAQ,EAAE;MACRC,IAAI,EAAE;IACR,CAAC;IACDmB,QAAQ,EAAE;MACRnB,IAAI,EAAE;IACR,CAAC;IACDC,SAAS,EAAE;MACTD,IAAI,EAAE;IACR,CAAC;IACDI,SAAS,EAAE;MACTE,MAAM,EAAE,EAAE;MACVc,WAAW,EAAE,IAAI;MACjBC,YAAY,EAAE3B,UAAU;MACxBa,SAAS,EAAGC,KAAc,IACxBvB,0BAA0B,CAACuB,KAAK,EAAEjB,qBAAqB,EAAEC,MAAM;IACnE,CAAC;IACDoB,WAAW,EAAE;MACXZ,IAAI,EAAE;IACR,CAAC;IACDsB,IAAI,EAAEhC,KAAK;IACXoB,WAAW,EAAE,KAAK;IAClBC,CAAC,EAAE;EACL,CAAC,CACF;AACH,CAAC","ignoreList":[]}
@@ -1,15 +1,22 @@
1
- import { BUCKET_CONFIG, CHART_CONFIG } from '../../../constants';
1
+ import { CHART_CONFIG } from '../../../constants';
2
2
  export const getYAxisConfig = _ref => {
3
3
  let {
4
4
  bucketWidth,
5
- displayPrecision
5
+ displayPrecision,
6
+ selectedPriceRef
6
7
  } = _ref;
7
8
  return [{
8
9
  type: 'value',
9
10
  gridIndex: 0,
10
11
  position: 'right',
11
- min: val => val.min - bucketWidth * BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER,
12
- max: val => val.max + bucketWidth * BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER,
12
+ min: val => {
13
+ const adjustedMin = val.min - bucketWidth;
14
+ return Math.floor(adjustedMin / bucketWidth) * bucketWidth;
15
+ },
16
+ max: val => {
17
+ const adjustedMax = val.max + bucketWidth;
18
+ return Math.ceil(adjustedMax / bucketWidth) * bucketWidth;
19
+ },
13
20
  axisLine: {
14
21
  show: false
15
22
  },
@@ -26,6 +33,19 @@ export const getYAxisConfig = _ref => {
26
33
  verticalAlignMaxLabel: 'top',
27
34
  formatter: value => value.toFixed(displayPrecision)
28
35
  },
36
+ axisPointer: {
37
+ label: {
38
+ padding: [4, 4, 4, 4],
39
+ margin: -1,
40
+ formatter: params => {
41
+ if (params.axisDimension === 'y' && params.axisIndex === 0) {
42
+ selectedPriceRef.current = Number(params.value);
43
+ return Number(params.value).toFixed(displayPrecision);
44
+ }
45
+ return '';
46
+ }
47
+ }
48
+ },
29
49
  z: 30
30
50
  }, {
31
51
  type: 'value',
@@ -49,7 +69,7 @@ export const getYAxisConfig = _ref => {
49
69
  margin: 4,
50
70
  lineHeight: 20,
51
71
  verticalAlignMinLabel: 'bottom',
52
- verticalAlignMaxLabel: 'middle',
72
+ verticalAlignMaxLabel: 'top',
53
73
  customValues: [CHART_CONFIG.SENTIMENT_MIN, CHART_CONFIG.SENTIMENT_MAX / 5, CHART_CONFIG.SENTIMENT_MAX / 2, CHART_CONFIG.SENTIMENT_MAX * 4 / 5, CHART_CONFIG.SENTIMENT_MAX],
54
74
  formatter: value => "".concat(value, "%")
55
75
  },
@@ -1 +1 @@
1
- {"version":3,"file":"getYAxisConfig.js","names":["BUCKET_CONFIG","CHART_CONFIG","getYAxisConfig","_ref","bucketWidth","displayPrecision","type","gridIndex","position","min","val","PRICE_MARGIN_MULTIPLIER","max","axisLine","show","axisTick","splitLine","axisLabel","lineHeight","margin","verticalAlignMinLabel","verticalAlignMaxLabel","formatter","value","toFixed","z","SENTIMENT_MIN","SENTIMENT_MAX","axisPointer","customValues","concat"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.ts"],"sourcesContent":["import type { YAXisComponentOption } from 'echarts';\n\nimport { BUCKET_CONFIG, CHART_CONFIG } from '../../../constants';\n\ninterface GetYAxisConfigParams {\n bucketWidth: number;\n displayPrecision: number;\n}\n\nexport const getYAxisConfig = ({\n bucketWidth,\n displayPrecision,\n}: GetYAxisConfigParams): YAXisComponentOption[] => [\n {\n type: 'value',\n gridIndex: 0,\n position: 'right',\n min: (val: { min: number }) =>\n val.min - bucketWidth * BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER,\n max: (val: { max: number }) =>\n val.max + bucketWidth * BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER,\n axisLine: { show: false },\n axisTick: { show: false },\n splitLine: { show: false },\n axisLabel: {\n lineHeight: 20,\n margin: 4,\n verticalAlignMinLabel: 'bottom',\n verticalAlignMaxLabel: 'top',\n formatter: (value: number) => value.toFixed(displayPrecision),\n },\n z: 30,\n },\n {\n type: 'value',\n gridIndex: 1,\n position: 'left',\n min: CHART_CONFIG.SENTIMENT_MIN,\n max: CHART_CONFIG.SENTIMENT_MAX,\n axisLine: { show: false },\n axisTick: { show: false },\n axisPointer: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 4,\n lineHeight: 20,\n verticalAlignMinLabel: 'bottom',\n verticalAlignMaxLabel: 'middle',\n customValues: [\n CHART_CONFIG.SENTIMENT_MIN,\n CHART_CONFIG.SENTIMENT_MAX / 5,\n CHART_CONFIG.SENTIMENT_MAX / 2,\n (CHART_CONFIG.SENTIMENT_MAX * 4) / 5,\n CHART_CONFIG.SENTIMENT_MAX,\n ],\n formatter: (value: number) => `${value}%`,\n },\n z: 30,\n },\n];\n"],"mappings":"AAEA,SAASA,aAAa,EAAEC,YAAY,QAAQ,oBAAoB;AAOhE,OAAO,MAAMC,cAAc,GAAGC,IAAA;EAAA,IAAC;IAC7BC,WAAW;IACXC;EACoB,CAAC,GAAAF,IAAA;EAAA,OAA6B,CAClD;IACEG,IAAI,EAAE,OAAO;IACbC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE,OAAO;IACjBC,GAAG,EAAGC,GAAoB,IACxBA,GAAG,CAACD,GAAG,GAAGL,WAAW,GAAGJ,aAAa,CAACW,uBAAuB;IAC/DC,GAAG,EAAGF,GAAoB,IACxBA,GAAG,CAACE,GAAG,GAAGR,WAAW,GAAGJ,aAAa,CAACW,uBAAuB;IAC/DE,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAM,CAAC;IACzBC,QAAQ,EAAE;MAAED,IAAI,EAAE;IAAM,CAAC;IACzBE,SAAS,EAAE;MAAEF,IAAI,EAAE;IAAM,CAAC;IAC1BG,SAAS,EAAE;MACTC,UAAU,EAAE,EAAE;MACdC,MAAM,EAAE,CAAC;MACTC,qBAAqB,EAAE,QAAQ;MAC/BC,qBAAqB,EAAE,KAAK;MAC5BC,SAAS,EAAGC,KAAa,IAAKA,KAAK,CAACC,OAAO,CAACnB,gBAAgB;IAC9D,CAAC;IACDoB,CAAC,EAAE;EACL,CAAC,EACD;IACEnB,IAAI,EAAE,OAAO;IACbC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE,MAAM;IAChBC,GAAG,EAAER,YAAY,CAACyB,aAAa;IAC/Bd,GAAG,EAAEX,YAAY,CAAC0B,aAAa;IAC/Bd,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAM,CAAC;IACzBC,QAAQ,EAAE;MAAED,IAAI,EAAE;IAAM,CAAC;IACzBc,WAAW,EAAE;MAAEd,IAAI,EAAE;IAAM,CAAC;IAC5BE,SAAS,EAAE;MAAEF,IAAI,EAAE;IAAM,CAAC;IAC1BG,SAAS,EAAE;MACTE,MAAM,EAAE,CAAC;MACTD,UAAU,EAAE,EAAE;MACdE,qBAAqB,EAAE,QAAQ;MAC/BC,qBAAqB,EAAE,QAAQ;MAC/BQ,YAAY,EAAE,CACZ5B,YAAY,CAACyB,aAAa,EAC1BzB,YAAY,CAAC0B,aAAa,GAAG,CAAC,EAC9B1B,YAAY,CAAC0B,aAAa,GAAG,CAAC,EAC7B1B,YAAY,CAAC0B,aAAa,GAAG,CAAC,GAAI,CAAC,EACpC1B,YAAY,CAAC0B,aAAa,CAC3B;MACDL,SAAS,EAAGC,KAAa,OAAAO,MAAA,CAAQP,KAAK;IACxC,CAAC;IACDE,CAAC,EAAE;EACL,CAAC,CACF;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"getYAxisConfig.js","names":["CHART_CONFIG","getYAxisConfig","_ref","bucketWidth","displayPrecision","selectedPriceRef","type","gridIndex","position","min","val","adjustedMin","Math","floor","max","adjustedMax","ceil","axisLine","show","axisTick","splitLine","axisLabel","lineHeight","margin","verticalAlignMinLabel","verticalAlignMaxLabel","formatter","value","toFixed","axisPointer","label","padding","params","axisDimension","axisIndex","current","Number","z","SENTIMENT_MIN","SENTIMENT_MAX","customValues","concat"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.ts"],"sourcesContent":["import type { YAXisComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetYAxisConfigParams {\n bucketWidth: number;\n displayPrecision: number;\n selectedPriceRef: { current: number };\n}\n\nexport const getYAxisConfig = ({\n bucketWidth,\n displayPrecision,\n selectedPriceRef,\n}: GetYAxisConfigParams): YAXisComponentOption[] => [\n {\n type: 'value',\n gridIndex: 0,\n position: 'right',\n min: (val: { min: number }) => {\n const adjustedMin = val.min - bucketWidth;\n return Math.floor(adjustedMin / bucketWidth) * bucketWidth;\n },\n max: (val: { max: number }) => {\n const adjustedMax = val.max + bucketWidth;\n return Math.ceil(adjustedMax / bucketWidth) * bucketWidth;\n },\n axisLine: { show: false },\n axisTick: { show: false },\n splitLine: { show: false },\n axisLabel: {\n lineHeight: 20,\n margin: 4,\n verticalAlignMinLabel: 'bottom',\n verticalAlignMaxLabel: 'top',\n formatter: (value: number) => value.toFixed(displayPrecision),\n },\n axisPointer: {\n label: {\n padding: [4, 4, 4, 4],\n margin: -1,\n formatter: (params: {\n axisDimension?: string;\n axisIndex?: number;\n value: unknown;\n }) => {\n if (params.axisDimension === 'y' && params.axisIndex === 0) {\n selectedPriceRef.current = Number(params.value);\n return Number(params.value).toFixed(displayPrecision);\n }\n return '';\n },\n },\n },\n z: 30,\n },\n {\n type: 'value',\n gridIndex: 1,\n position: 'left',\n min: CHART_CONFIG.SENTIMENT_MIN,\n max: CHART_CONFIG.SENTIMENT_MAX,\n axisLine: { show: false },\n axisTick: { show: false },\n axisPointer: { show: false },\n splitLine: { show: false },\n axisLabel: {\n margin: 4,\n lineHeight: 20,\n verticalAlignMinLabel: 'bottom',\n verticalAlignMaxLabel: 'top',\n customValues: [\n CHART_CONFIG.SENTIMENT_MIN,\n CHART_CONFIG.SENTIMENT_MAX / 5,\n CHART_CONFIG.SENTIMENT_MAX / 2,\n (CHART_CONFIG.SENTIMENT_MAX * 4) / 5,\n CHART_CONFIG.SENTIMENT_MAX,\n ],\n formatter: (value: number) => `${value}%`,\n },\n z: 30,\n },\n];\n"],"mappings":"AAEA,SAASA,YAAY,QAAQ,oBAAoB;AAQjD,OAAO,MAAMC,cAAc,GAAGC,IAAA;EAAA,IAAC;IAC7BC,WAAW;IACXC,gBAAgB;IAChBC;EACoB,CAAC,GAAAH,IAAA;EAAA,OAA6B,CAClD;IACEI,IAAI,EAAE,OAAO;IACbC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE,OAAO;IACjBC,GAAG,EAAGC,GAAoB,IAAK;MAC7B,MAAMC,WAAW,GAAGD,GAAG,CAACD,GAAG,GAAGN,WAAW;MACzC,OAAOS,IAAI,CAACC,KAAK,CAACF,WAAW,GAAGR,WAAW,CAAC,GAAGA,WAAW;IAC5D,CAAC;IACDW,GAAG,EAAGJ,GAAoB,IAAK;MAC7B,MAAMK,WAAW,GAAGL,GAAG,CAACI,GAAG,GAAGX,WAAW;MACzC,OAAOS,IAAI,CAACI,IAAI,CAACD,WAAW,GAAGZ,WAAW,CAAC,GAAGA,WAAW;IAC3D,CAAC;IACDc,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAM,CAAC;IACzBC,QAAQ,EAAE;MAAED,IAAI,EAAE;IAAM,CAAC;IACzBE,SAAS,EAAE;MAAEF,IAAI,EAAE;IAAM,CAAC;IAC1BG,SAAS,EAAE;MACTC,UAAU,EAAE,EAAE;MACdC,MAAM,EAAE,CAAC;MACTC,qBAAqB,EAAE,QAAQ;MAC/BC,qBAAqB,EAAE,KAAK;MAC5BC,SAAS,EAAGC,KAAa,IAAKA,KAAK,CAACC,OAAO,CAACxB,gBAAgB;IAC9D,CAAC;IACDyB,WAAW,EAAE;MACXC,KAAK,EAAE;QACLC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrBR,MAAM,EAAE,CAAC,CAAC;QACVG,SAAS,EAAGM,MAIX,IAAK;UACJ,IAAIA,MAAM,CAACC,aAAa,KAAK,GAAG,IAAID,MAAM,CAACE,SAAS,KAAK,CAAC,EAAE;YAC1D7B,gBAAgB,CAAC8B,OAAO,GAAGC,MAAM,CAACJ,MAAM,CAACL,KAAK,CAAC;YAC/C,OAAOS,MAAM,CAACJ,MAAM,CAACL,KAAK,CAAC,CAACC,OAAO,CAACxB,gBAAgB,CAAC;UACvD;UACA,OAAO,EAAE;QACX;MACF;IACF,CAAC;IACDiC,CAAC,EAAE;EACL,CAAC,EACD;IACE/B,IAAI,EAAE,OAAO;IACbC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE,MAAM;IAChBC,GAAG,EAAET,YAAY,CAACsC,aAAa;IAC/BxB,GAAG,EAAEd,YAAY,CAACuC,aAAa;IAC/BtB,QAAQ,EAAE;MAAEC,IAAI,EAAE;IAAM,CAAC;IACzBC,QAAQ,EAAE;MAAED,IAAI,EAAE;IAAM,CAAC;IACzBW,WAAW,EAAE;MAAEX,IAAI,EAAE;IAAM,CAAC;IAC5BE,SAAS,EAAE;MAAEF,IAAI,EAAE;IAAM,CAAC;IAC1BG,SAAS,EAAE;MACTE,MAAM,EAAE,CAAC;MACTD,UAAU,EAAE,EAAE;MACdE,qBAAqB,EAAE,QAAQ;MAC/BC,qBAAqB,EAAE,KAAK;MAC5Be,YAAY,EAAE,CACZxC,YAAY,CAACsC,aAAa,EAC1BtC,YAAY,CAACuC,aAAa,GAAG,CAAC,EAC9BvC,YAAY,CAACuC,aAAa,GAAG,CAAC,EAC7BvC,YAAY,CAACuC,aAAa,GAAG,CAAC,GAAI,CAAC,EACpCvC,YAAY,CAACuC,aAAa,CAC3B;MACDb,SAAS,EAAGC,KAAa,OAAAc,MAAA,CAAQd,KAAK;IACxC,CAAC;IACDU,CAAC,EAAE;EACL,CAAC,CACF;AAAA","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ export const formatFullDate = (date, locale) => {
2
+ var _parts$find;
3
+ const formattedDate = date.toLocaleDateString(locale, {
4
+ day: 'numeric',
5
+ month: '2-digit',
6
+ year: '2-digit'
7
+ }).replace(/\//g, '.');
8
+ const formattedTime = date.toLocaleTimeString(locale, {
9
+ hour: 'numeric',
10
+ minute: '2-digit',
11
+ hour12: false
12
+ });
13
+ const formatter = new Intl.DateTimeFormat('en-US', {
14
+ timeZoneName: 'shortOffset'
15
+ });
16
+ const parts = formatter.formatToParts(date);
17
+ const timeZoneOffset = (_parts$find = parts.find(part => part.type === 'timeZoneName')) === null || _parts$find === void 0 ? void 0 : _parts$find.value;
18
+ return "".concat(formattedDate, " ").concat(formattedTime, " ").concat(timeZoneOffset);
19
+ };
20
+ //# sourceMappingURL=formatFullDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatFullDate.js","names":["formatFullDate","date","locale","_parts$find","formattedDate","toLocaleDateString","day","month","year","replace","formattedTime","toLocaleTimeString","hour","minute","hour12","formatter","Intl","DateTimeFormat","timeZoneName","parts","formatToParts","timeZoneOffset","find","part","type","value","concat"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.ts"],"sourcesContent":["export const formatFullDate = (date: Date, locale: string): string => {\n const formattedDate = date\n .toLocaleDateString(locale, {\n day: 'numeric',\n month: '2-digit',\n year: '2-digit',\n })\n .replace(/\\//g, '.');\n\n const formattedTime = date.toLocaleTimeString(locale, {\n hour: 'numeric',\n minute: '2-digit',\n hour12: false,\n });\n\n const formatter = new Intl.DateTimeFormat('en-US', {\n timeZoneName: 'shortOffset',\n });\n\n const parts = formatter.formatToParts(date);\n const timeZoneOffset = parts.find(\n (part) => part.type === 'timeZoneName'\n )?.value;\n\n return `${formattedDate} ${formattedTime} ${timeZoneOffset}`;\n};\n"],"mappings":"AAAA,OAAO,MAAMA,cAAc,GAAGA,CAACC,IAAU,EAAEC,MAAc,KAAa;EAAA,IAAAC,WAAA;EACpE,MAAMC,aAAa,GAAGH,IAAI,CACvBI,kBAAkB,CAACH,MAAM,EAAE;IAC1BI,GAAG,EAAE,SAAS;IACdC,KAAK,EAAE,SAAS;IAChBC,IAAI,EAAE;EACR,CAAC,CAAC,CACDC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;EAEtB,MAAMC,aAAa,GAAGT,IAAI,CAACU,kBAAkB,CAACT,MAAM,EAAE;IACpDU,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE,SAAS;IACjBC,MAAM,EAAE;EACV,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAG,IAAIC,IAAI,CAACC,cAAc,CAAC,OAAO,EAAE;IACjDC,YAAY,EAAE;EAChB,CAAC,CAAC;EAEF,MAAMC,KAAK,GAAGJ,SAAS,CAACK,aAAa,CAACnB,IAAI,CAAC;EAC3C,MAAMoB,cAAc,IAAAlB,WAAA,GAAGgB,KAAK,CAACG,IAAI,CAC9BC,IAAI,IAAKA,IAAI,CAACC,IAAI,KAAK,cAC1B,CAAC,cAAArB,WAAA,uBAFsBA,WAAA,CAEpBsB,KAAK;EAER,UAAAC,MAAA,CAAUtB,aAAa,OAAAsB,MAAA,CAAIhB,aAAa,OAAAgB,MAAA,CAAIL,cAAc;AAC5D,CAAC","ignoreList":[]}
@@ -1,9 +1,9 @@
1
- export const formatXAxisAdditionalLabel = (value, isGreaterThanTwoWeeks) => {
1
+ export const formatXAxisAdditionalLabel = (value, isGreaterThanTwoWeeks, locale) => {
2
2
  const date = new Date(value);
3
3
  if (isNaN(date.getTime())) {
4
4
  return '';
5
5
  }
6
- return "".concat(date.toLocaleDateString(undefined, {
6
+ return "".concat(date.toLocaleDateString(locale, {
7
7
  month: isGreaterThanTwoWeeks ? 'short' : 'long',
8
8
  day: isGreaterThanTwoWeeks ? 'numeric' : undefined
9
9
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"formatXAxisAdditionalLabel.js","names":["formatXAxisAdditionalLabel","value","isGreaterThanTwoWeeks","date","Date","isNaN","getTime","concat","toLocaleDateString","undefined","month","day"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.ts"],"sourcesContent":["export const formatXAxisAdditionalLabel = (\n value: unknown,\n isGreaterThanTwoWeeks: boolean\n) => {\n const date = new Date(value as string);\n if (isNaN(date.getTime())) {\n return '';\n }\n return `${date.toLocaleDateString(undefined, {\n month: isGreaterThanTwoWeeks ? 'short' : 'long',\n day: isGreaterThanTwoWeeks ? 'numeric' : undefined,\n })}`;\n};\n"],"mappings":"AAAA,OAAO,MAAMA,0BAA0B,GAAGA,CACxCC,KAAc,EACdC,qBAA8B,KAC3B;EACH,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACH,KAAe,CAAC;EACtC,IAAII,KAAK,CAACF,IAAI,CAACG,OAAO,CAAC,CAAC,CAAC,EAAE;IACzB,OAAO,EAAE;EACX;EACA,UAAAC,MAAA,CAAUJ,IAAI,CAACK,kBAAkB,CAACC,SAAS,EAAE;IAC3CC,KAAK,EAAER,qBAAqB,GAAG,OAAO,GAAG,MAAM;IAC/CS,GAAG,EAAET,qBAAqB,GAAG,SAAS,GAAGO;EAC3C,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"formatXAxisAdditionalLabel.js","names":["formatXAxisAdditionalLabel","value","isGreaterThanTwoWeeks","locale","date","Date","isNaN","getTime","concat","toLocaleDateString","month","day","undefined"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.ts"],"sourcesContent":["export const formatXAxisAdditionalLabel = (\n value: unknown,\n isGreaterThanTwoWeeks: boolean,\n locale: string\n) => {\n const date = new Date(value as string);\n if (isNaN(date.getTime())) {\n return '';\n }\n return `${date.toLocaleDateString(locale, {\n month: isGreaterThanTwoWeeks ? 'short' : 'long',\n day: isGreaterThanTwoWeeks ? 'numeric' : undefined,\n })}`;\n};\n"],"mappings":"AAAA,OAAO,MAAMA,0BAA0B,GAAGA,CACxCC,KAAc,EACdC,qBAA8B,EAC9BC,MAAc,KACX;EACH,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACJ,KAAe,CAAC;EACtC,IAAIK,KAAK,CAACF,IAAI,CAACG,OAAO,CAAC,CAAC,CAAC,EAAE;IACzB,OAAO,EAAE;EACX;EACA,UAAAC,MAAA,CAAUJ,IAAI,CAACK,kBAAkB,CAACN,MAAM,EAAE;IACxCO,KAAK,EAAER,qBAAqB,GAAG,OAAO,GAAG,MAAM;IAC/CS,GAAG,EAAET,qBAAqB,GAAG,SAAS,GAAGU;EAC3C,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  import { CHART_CONFIG } from '../../../constants';
2
- export const formatXAxisLabel = (value, isGreaterThanTwoWeeks) => {
2
+ export const formatXAxisLabel = (value, isGreaterThanTwoWeeks, locale) => {
3
3
  const date = new Date(value);
4
- return isGreaterThanTwoWeeks ? "".concat(date.toLocaleTimeString(undefined, {
5
- hour: '2-digit',
6
- minute: '2-digit'
7
- })) : "".concat(CHART_CONFIG.X_AXIS_DATE_PADDING).concat(date.toLocaleDateString(undefined, {
4
+ return isGreaterThanTwoWeeks ? "".concat(date.toLocaleTimeString(locale, {
5
+ hour: 'numeric',
6
+ minute: '2-digit',
7
+ hour12: false
8
+ })) : "".concat(CHART_CONFIG.X_AXIS_DATE_PADDING).concat(date.toLocaleDateString(locale, {
8
9
  day: 'numeric'
9
10
  })).concat(CHART_CONFIG.X_AXIS_DATE_PADDING);
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"formatXAxisLabel.js","names":["CHART_CONFIG","formatXAxisLabel","value","isGreaterThanTwoWeeks","date","Date","concat","toLocaleTimeString","undefined","hour","minute","X_AXIS_DATE_PADDING","toLocaleDateString","day"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.ts"],"sourcesContent":["import { CHART_CONFIG } from '../../../constants';\n\nexport const formatXAxisLabel = (\n value: unknown,\n isGreaterThanTwoWeeks: boolean\n) => {\n const date = new Date(value as string);\n return isGreaterThanTwoWeeks\n ? `${date.toLocaleTimeString(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n })}`\n : `${CHART_CONFIG.X_AXIS_DATE_PADDING}${date.toLocaleDateString(undefined, {\n day: 'numeric',\n })}${CHART_CONFIG.X_AXIS_DATE_PADDING}`;\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,oBAAoB;AAEjD,OAAO,MAAMC,gBAAgB,GAAGA,CAC9BC,KAAc,EACdC,qBAA8B,KAC3B;EACH,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACH,KAAe,CAAC;EACtC,OAAOC,qBAAqB,MAAAG,MAAA,CACrBF,IAAI,CAACG,kBAAkB,CAACC,SAAS,EAAE;IACpCC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC,CAAC,OAAAJ,MAAA,CACCN,YAAY,CAACW,mBAAmB,EAAAL,MAAA,CAAGF,IAAI,CAACQ,kBAAkB,CAACJ,SAAS,EAAE;IACvEK,GAAG,EAAE;EACP,CAAC,CAAC,EAAAP,MAAA,CAAGN,YAAY,CAACW,mBAAmB,CAAE;AAC7C,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"formatXAxisLabel.js","names":["CHART_CONFIG","formatXAxisLabel","value","isGreaterThanTwoWeeks","locale","date","Date","concat","toLocaleTimeString","hour","minute","hour12","X_AXIS_DATE_PADDING","toLocaleDateString","day"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.ts"],"sourcesContent":["import { CHART_CONFIG } from '../../../constants';\n\nexport const formatXAxisLabel = (\n value: unknown,\n isGreaterThanTwoWeeks: boolean,\n locale: string\n) => {\n const date = new Date(value as string);\n return isGreaterThanTwoWeeks\n ? `${date.toLocaleTimeString(locale, {\n hour: 'numeric',\n minute: '2-digit',\n hour12: false,\n })}`\n : `${CHART_CONFIG.X_AXIS_DATE_PADDING}${date.toLocaleDateString(locale, {\n day: 'numeric',\n })}${CHART_CONFIG.X_AXIS_DATE_PADDING}`;\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,oBAAoB;AAEjD,OAAO,MAAMC,gBAAgB,GAAGA,CAC9BC,KAAc,EACdC,qBAA8B,EAC9BC,MAAc,KACX;EACH,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACJ,KAAe,CAAC;EACtC,OAAOC,qBAAqB,MAAAI,MAAA,CACrBF,IAAI,CAACG,kBAAkB,CAACJ,MAAM,EAAE;IACjCK,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE,SAAS;IACjBC,MAAM,EAAE;EACV,CAAC,CAAC,OAAAJ,MAAA,CACCP,YAAY,CAACY,mBAAmB,EAAAL,MAAA,CAAGF,IAAI,CAACQ,kBAAkB,CAACT,MAAM,EAAE;IACpEU,GAAG,EAAE;EACP,CAAC,CAAC,EAAAP,MAAA,CAAGP,YAAY,CAACY,mBAAmB,CAAE;AAC7C,CAAC","ignoreList":[]}