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

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 (246) hide show
  1. package/CHANGELOG.md +220 -0
  2. package/dist/main/CrowdViewWidget/Main.js +4 -2
  3. package/dist/main/CrowdViewWidget/Main.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +5 -28
  5. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +3 -10
  7. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  8. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js +18 -0
  9. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js.map +1 -0
  10. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +30 -0
  11. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -0
  12. package/dist/main/CrowdViewWidget/components/Chart/{utils → chartOptions}/getGridLines.js +5 -52
  13. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -0
  14. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js +54 -0
  15. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js.map +1 -0
  16. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js +65 -0
  17. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js.map +1 -0
  18. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js +60 -0
  19. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js.map +1 -0
  20. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +53 -0
  21. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -0
  22. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.js +31 -0
  23. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.js.map +1 -0
  24. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +42 -0
  25. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -0
  26. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +75 -0
  27. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -0
  28. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/index.js +116 -0
  29. package/dist/main/CrowdViewWidget/components/Chart/chartOptions/index.js.map +1 -0
  30. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +18 -0
  31. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -0
  32. package/dist/main/CrowdViewWidget/components/Chart/{utils → chartUtils}/getChartStyles.js +4 -4
  33. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getChartStyles.js.map +1 -0
  34. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.js +14 -0
  35. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.js.map +1 -0
  36. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js +42 -0
  37. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js.map +1 -0
  38. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getRectColor.js +14 -0
  39. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getRectColor.js.map +1 -0
  40. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +108 -0
  41. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -0
  42. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js +83 -0
  43. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -0
  44. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.js +15 -0
  45. package/dist/main/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.js.map +1 -0
  46. package/dist/main/CrowdViewWidget/{utils/instrumentUtils.js → components/Chart/dataUtils/getInstrumentConfigForDivision.js} +3 -3
  47. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/getInstrumentConfigForDivision.js.map +1 -0
  48. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.js +18 -0
  49. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.js.map +1 -0
  50. package/dist/main/CrowdViewWidget/components/Chart/{utils → dataUtils}/index.js +8 -8
  51. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -0
  52. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.js.map +1 -0
  53. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -0
  54. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -0
  55. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/validateData.js.map +1 -0
  56. package/dist/main/CrowdViewWidget/components/Chart/getOption.js +103 -0
  57. package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +1 -0
  58. package/dist/main/CrowdViewWidget/components/Chart/index.js +11 -11
  59. package/dist/main/CrowdViewWidget/components/Chart/index.js.map +1 -1
  60. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +9 -9
  61. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  62. package/dist/main/CrowdViewWidget/components/Legend/Legend.js +15 -12
  63. package/dist/main/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  64. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +5 -16
  65. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  66. package/dist/main/CrowdViewWidget/constants.js +11 -13
  67. package/dist/main/CrowdViewWidget/constants.js.map +1 -1
  68. package/dist/main/translations/sources/en.json +2 -1
  69. package/dist/module/CrowdViewWidget/Main.js +4 -2
  70. package/dist/module/CrowdViewWidget/Main.js.map +1 -1
  71. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +6 -29
  72. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  73. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +3 -10
  74. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  75. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js +11 -0
  76. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js.map +1 -0
  77. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +23 -0
  78. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -0
  79. package/dist/module/CrowdViewWidget/components/Chart/{utils → chartOptions}/getGridLines.js +5 -52
  80. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -0
  81. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js +46 -0
  82. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js.map +1 -0
  83. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js +58 -0
  84. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js.map +1 -0
  85. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js +53 -0
  86. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js.map +1 -0
  87. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +46 -0
  88. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -0
  89. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.js +24 -0
  90. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.js.map +1 -0
  91. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +35 -0
  92. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -0
  93. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +68 -0
  94. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -0
  95. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js +11 -0
  96. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js.map +1 -0
  97. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +11 -0
  98. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -0
  99. package/dist/module/CrowdViewWidget/components/Chart/{utils → chartUtils}/getChartStyles.js +4 -4
  100. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getChartStyles.js.map +1 -0
  101. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.js +6 -0
  102. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.js.map +1 -0
  103. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js +35 -0
  104. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js.map +1 -0
  105. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getRectColor.js +7 -0
  106. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getRectColor.js.map +1 -0
  107. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +101 -0
  108. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -0
  109. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js +8 -0
  110. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -0
  111. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.js +8 -0
  112. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.js.map +1 -0
  113. package/dist/module/CrowdViewWidget/{utils/instrumentUtils.js → components/Chart/dataUtils/getInstrumentConfigForDivision.js} +3 -3
  114. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getInstrumentConfigForDivision.js.map +1 -0
  115. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.js +11 -0
  116. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.js.map +1 -0
  117. package/dist/module/CrowdViewWidget/components/Chart/{utils → dataUtils}/index.js +2 -2
  118. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -0
  119. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.js.map +1 -0
  120. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -0
  121. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -0
  122. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/validateData.js.map +1 -0
  123. package/dist/module/CrowdViewWidget/components/Chart/getOption.js +96 -0
  124. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +1 -0
  125. package/dist/module/CrowdViewWidget/components/Chart/index.js +1 -1
  126. package/dist/module/CrowdViewWidget/components/Chart/index.js.map +1 -1
  127. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +2 -2
  128. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  129. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +15 -12
  130. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  131. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +5 -16
  132. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  133. package/dist/module/CrowdViewWidget/constants.js +9 -12
  134. package/dist/module/CrowdViewWidget/constants.js.map +1 -1
  135. package/dist/module/translations/sources/en.json +2 -1
  136. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.d.ts +2 -0
  137. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.d.ts +6 -0
  138. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getGridLines.d.ts +6 -0
  139. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.d.ts +9 -0
  140. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.d.ts +11 -0
  141. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.d.ts +7 -0
  142. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.d.ts +16 -0
  143. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.d.ts +7 -0
  144. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.d.ts +7 -0
  145. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.d.ts +9 -0
  146. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/index.d.ts +10 -0
  147. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.d.ts +1 -0
  148. package/dist/types/CrowdViewWidget/components/Chart/{utils → chartUtils}/getChartStyles.d.ts +2 -2
  149. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.d.ts +1 -0
  150. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getLabelData.d.ts +17 -0
  151. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getRectColor.d.ts +1 -0
  152. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.d.ts +10 -0
  153. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/index.d.ts +7 -0
  154. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.d.ts +1 -0
  155. package/dist/types/CrowdViewWidget/{utils/instrumentUtils.d.ts → components/Chart/dataUtils/getInstrumentConfigForDivision.d.ts} +2 -2
  156. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.d.ts +2 -0
  157. package/dist/types/CrowdViewWidget/components/Chart/{utils → dataUtils}/index.d.ts +2 -2
  158. package/dist/types/CrowdViewWidget/components/Chart/index.d.ts +1 -1
  159. package/dist/types/CrowdViewWidget/components/Legend/Legend.d.ts +1 -4
  160. package/dist/types/CrowdViewWidget/components/Legend/LegendBar.d.ts +1 -3
  161. package/dist/types/CrowdViewWidget/constants.d.ts +3 -7
  162. package/package.json +3 -3
  163. package/src/CrowdViewWidget/Main.tsx +3 -2
  164. package/src/CrowdViewWidget/components/Chart/Chart.tsx +10 -34
  165. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +2 -15
  166. package/src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts +13 -0
  167. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts +29 -0
  168. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridLines.ts +84 -0
  169. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.ts +52 -0
  170. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.ts +82 -0
  171. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.ts +63 -0
  172. package/src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts +63 -0
  173. package/src/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.ts +32 -0
  174. package/src/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.ts +43 -0
  175. package/src/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.ts +77 -0
  176. package/src/CrowdViewWidget/components/Chart/chartOptions/index.ts +10 -0
  177. package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.ts +16 -0
  178. package/src/CrowdViewWidget/components/Chart/{utils → chartUtils}/getChartStyles.ts +9 -6
  179. package/src/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.ts +16 -0
  180. package/src/CrowdViewWidget/components/Chart/chartUtils/getLabelData.ts +42 -0
  181. package/src/CrowdViewWidget/components/Chart/chartUtils/getRectColor.ts +27 -0
  182. package/src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts +183 -0
  183. package/src/CrowdViewWidget/components/Chart/chartUtils/index.ts +7 -0
  184. package/src/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.ts +13 -0
  185. package/src/CrowdViewWidget/{utils/instrumentUtils.ts → components/Chart/dataUtils/getInstrumentConfigForDivision.ts} +2 -2
  186. package/src/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.ts +14 -0
  187. package/src/CrowdViewWidget/components/Chart/{utils → dataUtils}/index.ts +2 -2
  188. package/src/CrowdViewWidget/components/Chart/getOption.ts +114 -0
  189. package/src/CrowdViewWidget/components/Chart/index.ts +1 -1
  190. package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +3 -3
  191. package/src/CrowdViewWidget/components/Legend/Legend.tsx +24 -22
  192. package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +13 -26
  193. package/src/CrowdViewWidget/constants.ts +20 -17
  194. package/src/translations/sources/en.json +2 -1
  195. package/test/components/Chart/utils/chartUtils.test.ts +7 -7
  196. package/test/components/Chart/utils/getChartStyles.test.ts +10 -10
  197. package/test/components/Chart/utils/processSentiments.test.ts +1 -1
  198. package/test/components/Legend.test.tsx +13 -21
  199. package/test/components/LegendBar.test.tsx +31 -51
  200. package/test/utils/instrumentUtils.test.ts +1 -1
  201. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js +0 -399
  202. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js.map +0 -1
  203. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js +0 -126
  204. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +0 -1
  205. package/dist/main/CrowdViewWidget/components/Chart/utils/getChartStyles.js.map +0 -1
  206. package/dist/main/CrowdViewWidget/components/Chart/utils/getGridLines.js.map +0 -1
  207. package/dist/main/CrowdViewWidget/components/Chart/utils/index.js.map +0 -1
  208. package/dist/main/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.js.map +0 -1
  209. package/dist/main/CrowdViewWidget/components/Chart/utils/processPriceCandles.js.map +0 -1
  210. package/dist/main/CrowdViewWidget/components/Chart/utils/processSentiments.js.map +0 -1
  211. package/dist/main/CrowdViewWidget/components/Chart/utils/validateData.js.map +0 -1
  212. package/dist/main/CrowdViewWidget/utils/instrumentUtils.js.map +0 -1
  213. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js +0 -391
  214. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js.map +0 -1
  215. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js +0 -113
  216. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +0 -1
  217. package/dist/module/CrowdViewWidget/components/Chart/utils/getChartStyles.js.map +0 -1
  218. package/dist/module/CrowdViewWidget/components/Chart/utils/getGridLines.js.map +0 -1
  219. package/dist/module/CrowdViewWidget/components/Chart/utils/index.js.map +0 -1
  220. package/dist/module/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.js.map +0 -1
  221. package/dist/module/CrowdViewWidget/components/Chart/utils/processPriceCandles.js.map +0 -1
  222. package/dist/module/CrowdViewWidget/components/Chart/utils/processSentiments.js.map +0 -1
  223. package/dist/module/CrowdViewWidget/components/Chart/utils/validateData.js.map +0 -1
  224. package/dist/module/CrowdViewWidget/utils/instrumentUtils.js.map +0 -1
  225. package/dist/types/CrowdViewWidget/components/Chart/utils/chartUtils.d.ts +0 -30
  226. package/dist/types/CrowdViewWidget/components/Chart/utils/getGridLines.d.ts +0 -97
  227. package/src/CrowdViewWidget/components/Chart/chartOptions.ts +0 -449
  228. package/src/CrowdViewWidget/components/Chart/utils/chartUtils.ts +0 -228
  229. package/src/CrowdViewWidget/components/Chart/utils/getGridLines.ts +0 -148
  230. /package/dist/main/CrowdViewWidget/components/Chart/{utils → dataUtils}/processOrderPositionBooks.js +0 -0
  231. /package/dist/main/CrowdViewWidget/components/Chart/{utils → dataUtils}/processPriceCandles.js +0 -0
  232. /package/dist/main/CrowdViewWidget/components/Chart/{utils → dataUtils}/processSentiments.js +0 -0
  233. /package/dist/main/CrowdViewWidget/components/Chart/{utils → dataUtils}/validateData.js +0 -0
  234. /package/dist/module/CrowdViewWidget/components/Chart/{utils → dataUtils}/processOrderPositionBooks.js +0 -0
  235. /package/dist/module/CrowdViewWidget/components/Chart/{utils → dataUtils}/processPriceCandles.js +0 -0
  236. /package/dist/module/CrowdViewWidget/components/Chart/{utils → dataUtils}/processSentiments.js +0 -0
  237. /package/dist/module/CrowdViewWidget/components/Chart/{utils → dataUtils}/validateData.js +0 -0
  238. /package/dist/types/CrowdViewWidget/components/Chart/{utils → dataUtils}/processOrderPositionBooks.d.ts +0 -0
  239. /package/dist/types/CrowdViewWidget/components/Chart/{utils → dataUtils}/processPriceCandles.d.ts +0 -0
  240. /package/dist/types/CrowdViewWidget/components/Chart/{utils → dataUtils}/processSentiments.d.ts +0 -0
  241. /package/dist/types/CrowdViewWidget/components/Chart/{utils → dataUtils}/validateData.d.ts +0 -0
  242. /package/dist/types/CrowdViewWidget/components/Chart/{chartOptions.d.ts → getOption.d.ts} +0 -0
  243. /package/src/CrowdViewWidget/components/Chart/{utils → dataUtils}/processOrderPositionBooks.ts +0 -0
  244. /package/src/CrowdViewWidget/components/Chart/{utils → dataUtils}/processPriceCandles.ts +0 -0
  245. /package/src/CrowdViewWidget/components/Chart/{utils → dataUtils}/processSentiments.ts +0 -0
  246. /package/src/CrowdViewWidget/components/Chart/{utils → dataUtils}/validateData.ts +0 -0
@@ -36,6 +36,17 @@ Object.keys(_ChartWithData).forEach(function (key) {
36
36
  }
37
37
  });
38
38
  });
39
+ var _dataUtils = require("./dataUtils");
40
+ Object.keys(_dataUtils).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _dataUtils[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _dataUtils[key];
47
+ }
48
+ });
49
+ });
39
50
  var _types = require("./types");
40
51
  Object.keys(_types).forEach(function (key) {
41
52
  if (key === "default" || key === "__esModule") return;
@@ -58,15 +69,4 @@ Object.keys(_useCrowdViewData).forEach(function (key) {
58
69
  }
59
70
  });
60
71
  });
61
- var _utils = require("./utils");
62
- Object.keys(_utils).forEach(function (key) {
63
- if (key === "default" || key === "__esModule") return;
64
- if (key in exports && exports[key] === _utils[key]) return;
65
- Object.defineProperty(exports, key, {
66
- enumerable: true,
67
- get: function () {
68
- return _utils[key];
69
- }
70
- });
71
- });
72
72
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_Chart","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_chartOptions","_ChartWithData","_types","_useCrowdViewData","_utils"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/index.ts"],"sourcesContent":["export * from './Chart';\nexport * from './chartOptions';\nexport * from './ChartWithData';\nexport * from './types';\nexport * from './useCrowdViewData';\nexport * from './utils';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,MAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,MAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,MAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,MAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,iBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,iBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,iBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,iBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,MAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,MAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,MAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,MAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Chart","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_chartOptions","_ChartWithData","_dataUtils","_types","_useCrowdViewData"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/index.ts"],"sourcesContent":["export * from './Chart';\nexport * from './chartOptions';\nexport * from './ChartWithData';\nexport * from './dataUtils';\nexport * from './types';\nexport * from './useCrowdViewData';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,UAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,UAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,UAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,UAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,MAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,MAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,MAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,iBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,iBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,iBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,iBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -11,7 +11,7 @@ var _getPriceCandles = require("../../../gql/getPriceCandles");
11
11
  var _getSentiments = require("../../../gql/getSentiments");
12
12
  var _graphql = require("../../../gql/types/graphql");
13
13
  var _constants = require("../../constants");
14
- var _utils = require("./utils");
14
+ var _dataUtils = require("./dataUtils");
15
15
  const useCrowdViewData = _ref => {
16
16
  let {
17
17
  instrument,
@@ -30,7 +30,7 @@ const useCrowdViewData = _ref => {
30
30
  division,
31
31
  instrument: dataSource === _graphql.DataSource.Mt5 ? _constants.INSTRUMENTS_CONFIG[instrument].mt5name : _constants.INSTRUMENTS_CONFIG[instrument].v20name,
32
32
  granularity,
33
- timeSpan: (0, _utils.getTimeSpanForGranularity)(granularity)
33
+ timeSpan: (0, _dataUtils.getTimeSpanForGranularity)(granularity)
34
34
  },
35
35
  fetchPolicy: 'no-cache'
36
36
  });
@@ -44,7 +44,7 @@ const useCrowdViewData = _ref => {
44
44
  candlesLow,
45
45
  candlesHigh,
46
46
  pipsLocation
47
- } = (0, _react.useMemo)(() => (0, _utils.processPriceCandles)(priceCandlesData), [priceCandlesData]);
47
+ } = (0, _react.useMemo)(() => (0, _dataUtils.processPriceCandles)(priceCandlesData), [priceCandlesData]);
48
48
  const {
49
49
  loading: orderPositionLoading,
50
50
  data: orderPositionData,
@@ -53,11 +53,11 @@ const useCrowdViewData = _ref => {
53
53
  variables: {
54
54
  instrument: _constants.INSTRUMENTS_CONFIG[instrument].v20name,
55
55
  bookType: bookType || _graphql.BookType.Order,
56
- timeSpan: (0, _utils.getTimeSpanForGranularity)(granularity),
56
+ timeSpan: (0, _dataUtils.getTimeSpanForGranularity)(granularity),
57
57
  granularity,
58
58
  maxBookPrice: maxPrice,
59
59
  minBookPrice: minPrice,
60
- bucketMultiplier: 3,
60
+ bucketMultiplier: 2,
61
61
  bucketMargin: _constants.BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER
62
62
  },
63
63
  fetchPolicy: 'no-cache',
@@ -71,7 +71,7 @@ const useCrowdViewData = _ref => {
71
71
  sentimentThresholdMin,
72
72
  sentimentThresholdMax,
73
73
  hasValidBooks
74
- } = (0, _react.useMemo)(() => (0, _utils.processOrderPositionBooks)(orderPositionData, dates), [orderPositionData, dates]);
74
+ } = (0, _react.useMemo)(() => (0, _dataUtils.processOrderPositionBooks)(orderPositionData, dates), [orderPositionData, dates]);
75
75
  const {
76
76
  loading: sentimentsLoading,
77
77
  data: sentimentsData,
@@ -80,7 +80,7 @@ const useCrowdViewData = _ref => {
80
80
  variables: {
81
81
  instrument: _constants.INSTRUMENTS_CONFIG[instrument].v20name,
82
82
  granularity,
83
- timeSpan: (0, _utils.getTimeSpanForGranularity)(granularity)
83
+ timeSpan: (0, _dataUtils.getTimeSpanForGranularity)(granularity)
84
84
  },
85
85
  fetchPolicy: 'no-cache',
86
86
  skip: priceCandlesLoading || !!priceCandlesError
@@ -89,7 +89,7 @@ const useCrowdViewData = _ref => {
89
89
  sentimentLongs,
90
90
  sentimentShorts,
91
91
  hasValidSentiments
92
- } = (0, _react.useMemo)(() => (0, _utils.processSentiments)(sentimentsData, dates), [sentimentsData, dates]);
92
+ } = (0, _react.useMemo)(() => (0, _dataUtils.processSentiments)(sentimentsData, dates), [sentimentsData, dates]);
93
93
  const loading = priceCandlesLoading || orderPositionLoading || sentimentsLoading;
94
94
  const error = (0, _react.useMemo)(() => {
95
95
  if (priceCandlesError) {
@@ -104,7 +104,7 @@ const useCrowdViewData = _ref => {
104
104
  if (loading) {
105
105
  return null;
106
106
  }
107
- return (0, _utils.validateData)(priceCandlesData, orderPositionData, hasValidCandles, hasValidBooks, hasValidSentiments);
107
+ return (0, _dataUtils.validateData)(priceCandlesData, orderPositionData, hasValidCandles, hasValidBooks, hasValidSentiments);
108
108
  }, [priceCandlesError, orderPositionError, sentimentsError, loading, priceCandlesData, orderPositionData, hasValidCandles, hasValidBooks, hasValidSentiments]);
109
109
  const data = (0, _react.useMemo)(() => {
110
110
  if (!priceCandlesData || !orderPositionData || !sentimentsData || error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useCrowdViewData.js","names":["_client","require","_react","_getOrderPositionBooks","_getPriceCandles","_getSentiments","_graphql","_constants","_utils","useCrowdViewData","_ref","instrument","bookType","division","granularity","dataSource","Division","Ogm","Oj","DataSource","Mt5","V20","loading","priceCandlesLoading","data","priceCandlesData","error","priceCandlesError","useQuery","getPriceCandles","variables","INSTRUMENTS_CONFIG","mt5name","v20name","timeSpan","getTimeSpanForGranularity","fetchPolicy","minPrice","maxPrice","hasValidCandles","dates","candlesOpen","candlesClose","candlesLow","candlesHigh","pipsLocation","useMemo","processPriceCandles","orderPositionLoading","orderPositionData","orderPositionError","getOrderPositionBooks","BookType","Order","maxBookPrice","minBookPrice","bucketMultiplier","bucketMargin","BUCKET_CONFIG","PRICE_MARGIN_MULTIPLIER","skip","bookPrices","bookIndexes","buckets","bucketWidth","sentimentThresholdMin","sentimentThresholdMax","hasValidBooks","processOrderPositionBooks","sentimentsLoading","sentimentsData","sentimentsError","getSentiments","sentimentLongs","sentimentShorts","hasValidSentiments","processSentiments","Error","concat","message","validateData","mainData","additionalData","displayPrecision","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/useCrowdViewData.ts"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { useMemo } from 'react';\n\nimport { getOrderPositionBooks } from '../../../gql/getOrderPositionBooks';\nimport { getPriceCandles } from '../../../gql/getPriceCandles';\nimport { getSentiments } from '../../../gql/getSentiments';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables,\n GetSentimentsQuery,\n GetSentimentsQueryVariables,\n} from '../../../gql/types/graphql';\nimport { BookType, DataSource, Division } from '../../../gql/types/graphql';\nimport { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../constants';\nimport type { UseCrowdViewDataProps, UseCrowdViewDataReturn } from './types';\nimport {\n getTimeSpanForGranularity,\n processOrderPositionBooks,\n processPriceCandles,\n processSentiments,\n validateData,\n} from './utils';\n\nexport const useCrowdViewData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: UseCrowdViewDataProps): UseCrowdViewDataReturn => {\n const dataSource =\n division === Division.Ogm || division === Division.Oj\n ? DataSource.Mt5\n : DataSource.V20;\n\n // Get price candles data\n const {\n loading: priceCandlesLoading,\n data: priceCandlesData,\n error: priceCandlesError,\n } = useQuery<GetPriceCandlesQuery, GetPriceCandlesQueryVariables>(\n getPriceCandles,\n {\n variables: {\n dataSource,\n division,\n instrument:\n dataSource === DataSource.Mt5\n ? INSTRUMENTS_CONFIG[instrument].mt5name\n : INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n }\n );\n\n const {\n minPrice,\n maxPrice,\n hasValidCandles,\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n pipsLocation,\n } = useMemo(() => processPriceCandles(priceCandlesData), [priceCandlesData]);\n\n // Get order position books data\n const {\n loading: orderPositionLoading,\n data: orderPositionData,\n error: orderPositionError,\n } = useQuery<GetOrderPositionBooksQuery, GetOrderPositionBooksQueryVariables>(\n getOrderPositionBooks,\n {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n bookType: bookType || BookType.Order,\n timeSpan: getTimeSpanForGranularity(granularity),\n granularity,\n maxBookPrice: maxPrice,\n minBookPrice: minPrice,\n bucketMultiplier: 3,\n bucketMargin: BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER,\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n }\n );\n\n const {\n bookPrices,\n bookIndexes,\n buckets,\n bucketWidth,\n sentimentThresholdMin,\n sentimentThresholdMax,\n hasValidBooks,\n } = useMemo(\n () => processOrderPositionBooks(orderPositionData, dates),\n [orderPositionData, dates]\n );\n\n // Get sentiments data\n const {\n loading: sentimentsLoading,\n data: sentimentsData,\n error: sentimentsError,\n } = useQuery<GetSentimentsQuery, GetSentimentsQueryVariables>(getSentiments, {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n });\n\n const { sentimentLongs, sentimentShorts, hasValidSentiments } = useMemo(\n () => processSentiments(sentimentsData, dates),\n [sentimentsData, dates]\n );\n\n // Gather all results\n const loading =\n priceCandlesLoading || orderPositionLoading || sentimentsLoading;\n\n const error = useMemo((): Error | null => {\n if (priceCandlesError) {\n return new Error(`Price candles error: ${priceCandlesError.message}`);\n }\n if (orderPositionError) {\n return new Error(`Order position error: ${orderPositionError.message}`);\n }\n if (sentimentsError) {\n return new Error(`Sentiments error: ${sentimentsError.message}`);\n }\n if (loading) {\n return null;\n }\n return validateData(\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n hasValidBooks,\n hasValidSentiments\n );\n }, [\n priceCandlesError,\n orderPositionError,\n sentimentsError,\n loading,\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n hasValidBooks,\n hasValidSentiments,\n ]);\n\n const data = useMemo(() => {\n if (!priceCandlesData || !orderPositionData || !sentimentsData || error) {\n return null;\n }\n\n return {\n mainData: {\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n bookPrices,\n bookIndexes,\n sentimentShorts,\n sentimentLongs,\n },\n additionalData: {\n bucketWidth,\n buckets,\n displayPrecision: pipsLocation,\n bookType,\n sentimentThresholdMin,\n sentimentThresholdMax,\n },\n };\n }, [\n priceCandlesData,\n orderPositionData,\n sentimentsData,\n error,\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n bookPrices,\n bookIndexes,\n sentimentShorts,\n sentimentLongs,\n bucketWidth,\n buckets,\n pipsLocation,\n bookType,\n sentimentThresholdMin,\n sentimentThresholdMax,\n ]);\n\n return {\n mainData: data?.mainData,\n additionalData: data?.additionalData,\n loading,\n error: !!error,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AASA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAEA,IAAAO,MAAA,GAAAP,OAAA;AAQO,MAAMQ,gBAAgB,GAAGC,IAAA,IAKqB;EAAA,IALpB;IAC/BC,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC;EACqB,CAAC,GAAAJ,IAAA;EACtB,MAAMK,UAAU,GACdF,QAAQ,KAAKG,iBAAQ,CAACC,GAAG,IAAIJ,QAAQ,KAAKG,iBAAQ,CAACE,EAAE,GACjDC,mBAAU,CAACC,GAAG,GACdD,mBAAU,CAACE,GAAG;EAGpB,MAAM;IACJC,OAAO,EAAEC,mBAAmB;IAC5BC,IAAI,EAAEC,gBAAgB;IACtBC,KAAK,EAAEC;EACT,CAAC,GAAG,IAAAC,gBAAQ,EACVC,gCAAe,EACf;IACEC,SAAS,EAAE;MACTf,UAAU;MACVF,QAAQ;MACRF,UAAU,EACRI,UAAU,KAAKI,mBAAU,CAACC,GAAG,GACzBW,6BAAkB,CAACpB,UAAU,CAAC,CAACqB,OAAO,GACtCD,6BAAkB,CAACpB,UAAU,CAAC,CAACsB,OAAO;MAC5CnB,WAAW;MACXoB,QAAQ,EAAE,IAAAC,gCAAyB,EAACrB,WAAW;IACjD,CAAC;IACDsB,WAAW,EAAE;EACf,CACF,CAAC;EAED,MAAM;IACJC,QAAQ;IACRC,QAAQ;IACRC,eAAe;IACfC,KAAK;IACLC,WAAW;IACXC,YAAY;IACZC,UAAU;IACVC,WAAW;IACXC;EACF,CAAC,GAAG,IAAAC,cAAO,EAAC,MAAM,IAAAC,0BAAmB,EAACtB,gBAAgB,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAG5E,MAAM;IACJH,OAAO,EAAE0B,oBAAoB;IAC7BxB,IAAI,EAAEyB,iBAAiB;IACvBvB,KAAK,EAAEwB;EACT,CAAC,GAAG,IAAAtB,gBAAQ,EACVuB,4CAAqB,EACrB;IACErB,SAAS,EAAE;MACTnB,UAAU,EAAEoB,6BAAkB,CAACpB,UAAU,CAAC,CAACsB,OAAO;MAClDrB,QAAQ,EAAEA,QAAQ,IAAIwC,iBAAQ,CAACC,KAAK;MACpCnB,QAAQ,EAAE,IAAAC,gCAAyB,EAACrB,WAAW,CAAC;MAChDA,WAAW;MACXwC,YAAY,EAAEhB,QAAQ;MACtBiB,YAAY,EAAElB,QAAQ;MACtBmB,gBAAgB,EAAE,CAAC;MACnBC,YAAY,EAAEC,wBAAa,CAACC;IAC9B,CAAC;IACDvB,WAAW,EAAE,UAAU;IACvBwB,IAAI,EAAErC,mBAAmB,IAAI,CAAC,CAACI;EACjC,CACF,CAAC;EAED,MAAM;IACJkC,UAAU;IACVC,WAAW;IACXC,OAAO;IACPC,WAAW;IACXC,qBAAqB;IACrBC,qBAAqB;IACrBC;EACF,CAAC,GAAG,IAAArB,cAAO,EACT,MAAM,IAAAsB,gCAAyB,EAACnB,iBAAiB,EAAET,KAAK,CAAC,EACzD,CAACS,iBAAiB,EAAET,KAAK,CAC3B,CAAC;EAGD,MAAM;IACJlB,OAAO,EAAE+C,iBAAiB;IAC1B7C,IAAI,EAAE8C,cAAc;IACpB5C,KAAK,EAAE6C;EACT,CAAC,GAAG,IAAA3C,gBAAQ,EAAkD4C,4BAAa,EAAE;IAC3E1C,SAAS,EAAE;MACTnB,UAAU,EAAEoB,6BAAkB,CAACpB,UAAU,CAAC,CAACsB,OAAO;MAClDnB,WAAW;MACXoB,QAAQ,EAAE,IAAAC,gCAAyB,EAACrB,WAAW;IACjD,CAAC;IACDsB,WAAW,EAAE,UAAU;IACvBwB,IAAI,EAAErC,mBAAmB,IAAI,CAAC,CAACI;EACjC,CAAC,CAAC;EAEF,MAAM;IAAE8C,cAAc;IAAEC,eAAe;IAAEC;EAAmB,CAAC,GAAG,IAAA7B,cAAO,EACrE,MAAM,IAAA8B,wBAAiB,EAACN,cAAc,EAAE9B,KAAK,CAAC,EAC9C,CAAC8B,cAAc,EAAE9B,KAAK,CACxB,CAAC;EAGD,MAAMlB,OAAO,GACXC,mBAAmB,IAAIyB,oBAAoB,IAAIqB,iBAAiB;EAElE,MAAM3C,KAAK,GAAG,IAAAoB,cAAO,EAAC,MAAoB;IACxC,IAAInB,iBAAiB,EAAE;MACrB,OAAO,IAAIkD,KAAK,yBAAAC,MAAA,CAAyBnD,iBAAiB,CAACoD,OAAO,CAAE,CAAC;IACvE;IACA,IAAI7B,kBAAkB,EAAE;MACtB,OAAO,IAAI2B,KAAK,0BAAAC,MAAA,CAA0B5B,kBAAkB,CAAC6B,OAAO,CAAE,CAAC;IACzE;IACA,IAAIR,eAAe,EAAE;MACnB,OAAO,IAAIM,KAAK,sBAAAC,MAAA,CAAsBP,eAAe,CAACQ,OAAO,CAAE,CAAC;IAClE;IACA,IAAIzD,OAAO,EAAE;MACX,OAAO,IAAI;IACb;IACA,OAAO,IAAA0D,mBAAY,EACjBvD,gBAAgB,EAChBwB,iBAAiB,EACjBV,eAAe,EACf4B,aAAa,EACbQ,kBACF,CAAC;EACH,CAAC,EAAE,CACDhD,iBAAiB,EACjBuB,kBAAkB,EAClBqB,eAAe,EACfjD,OAAO,EACPG,gBAAgB,EAChBwB,iBAAiB,EACjBV,eAAe,EACf4B,aAAa,EACbQ,kBAAkB,CACnB,CAAC;EAEF,MAAMnD,IAAI,GAAG,IAAAsB,cAAO,EAAC,MAAM;IACzB,IAAI,CAACrB,gBAAgB,IAAI,CAACwB,iBAAiB,IAAI,CAACqB,cAAc,IAAI5C,KAAK,EAAE;MACvE,OAAO,IAAI;IACb;IAEA,OAAO;MACLuD,QAAQ,EAAE;QACRzC,KAAK;QACLC,WAAW;QACXC,YAAY;QACZC,UAAU;QACVC,WAAW;QACXiB,UAAU;QACVC,WAAW;QACXY,eAAe;QACfD;MACF,CAAC;MACDS,cAAc,EAAE;QACdlB,WAAW;QACXD,OAAO;QACPoB,gBAAgB,EAAEtC,YAAY;QAC9BjC,QAAQ;QACRqD,qBAAqB;QACrBC;MACF;IACF,CAAC;EACH,CAAC,EAAE,CACDzC,gBAAgB,EAChBwB,iBAAiB,EACjBqB,cAAc,EACd5C,KAAK,EACLc,KAAK,EACLC,WAAW,EACXC,YAAY,EACZC,UAAU,EACVC,WAAW,EACXiB,UAAU,EACVC,WAAW,EACXY,eAAe,EACfD,cAAc,EACdT,WAAW,EACXD,OAAO,EACPlB,YAAY,EACZjC,QAAQ,EACRqD,qBAAqB,EACrBC,qBAAqB,CACtB,CAAC;EAEF,OAAO;IACLe,QAAQ,EAAEzD,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEyD,QAAQ;IACxBC,cAAc,EAAE1D,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE0D,cAAc;IACpC5D,OAAO;IACPI,KAAK,EAAE,CAAC,CAACA;EACX,CAAC;AACH,CAAC;AAAC0D,OAAA,CAAA3E,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"file":"useCrowdViewData.js","names":["_client","require","_react","_getOrderPositionBooks","_getPriceCandles","_getSentiments","_graphql","_constants","_dataUtils","useCrowdViewData","_ref","instrument","bookType","division","granularity","dataSource","Division","Ogm","Oj","DataSource","Mt5","V20","loading","priceCandlesLoading","data","priceCandlesData","error","priceCandlesError","useQuery","getPriceCandles","variables","INSTRUMENTS_CONFIG","mt5name","v20name","timeSpan","getTimeSpanForGranularity","fetchPolicy","minPrice","maxPrice","hasValidCandles","dates","candlesOpen","candlesClose","candlesLow","candlesHigh","pipsLocation","useMemo","processPriceCandles","orderPositionLoading","orderPositionData","orderPositionError","getOrderPositionBooks","BookType","Order","maxBookPrice","minBookPrice","bucketMultiplier","bucketMargin","BUCKET_CONFIG","PRICE_MARGIN_MULTIPLIER","skip","bookPrices","bookIndexes","buckets","bucketWidth","sentimentThresholdMin","sentimentThresholdMax","hasValidBooks","processOrderPositionBooks","sentimentsLoading","sentimentsData","sentimentsError","getSentiments","sentimentLongs","sentimentShorts","hasValidSentiments","processSentiments","Error","concat","message","validateData","mainData","additionalData","displayPrecision","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/useCrowdViewData.ts"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { useMemo } from 'react';\n\nimport { getOrderPositionBooks } from '../../../gql/getOrderPositionBooks';\nimport { getPriceCandles } from '../../../gql/getPriceCandles';\nimport { getSentiments } from '../../../gql/getSentiments';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables,\n GetSentimentsQuery,\n GetSentimentsQueryVariables,\n} from '../../../gql/types/graphql';\nimport { BookType, DataSource, Division } from '../../../gql/types/graphql';\nimport { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../constants';\nimport {\n getTimeSpanForGranularity,\n processOrderPositionBooks,\n processPriceCandles,\n processSentiments,\n validateData,\n} from './dataUtils';\nimport type { UseCrowdViewDataProps, UseCrowdViewDataReturn } from './types';\n\nexport const useCrowdViewData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: UseCrowdViewDataProps): UseCrowdViewDataReturn => {\n const dataSource =\n division === Division.Ogm || division === Division.Oj\n ? DataSource.Mt5\n : DataSource.V20;\n\n // Get price candles data\n const {\n loading: priceCandlesLoading,\n data: priceCandlesData,\n error: priceCandlesError,\n } = useQuery<GetPriceCandlesQuery, GetPriceCandlesQueryVariables>(\n getPriceCandles,\n {\n variables: {\n dataSource,\n division,\n instrument:\n dataSource === DataSource.Mt5\n ? INSTRUMENTS_CONFIG[instrument].mt5name\n : INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n }\n );\n\n const {\n minPrice,\n maxPrice,\n hasValidCandles,\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n pipsLocation,\n } = useMemo(() => processPriceCandles(priceCandlesData), [priceCandlesData]);\n\n // Get order position books data\n const {\n loading: orderPositionLoading,\n data: orderPositionData,\n error: orderPositionError,\n } = useQuery<GetOrderPositionBooksQuery, GetOrderPositionBooksQueryVariables>(\n getOrderPositionBooks,\n {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n bookType: bookType || BookType.Order,\n timeSpan: getTimeSpanForGranularity(granularity),\n granularity,\n maxBookPrice: maxPrice,\n minBookPrice: minPrice,\n bucketMultiplier: 2,\n bucketMargin: BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER,\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n }\n );\n\n const {\n bookPrices,\n bookIndexes,\n buckets,\n bucketWidth,\n sentimentThresholdMin,\n sentimentThresholdMax,\n hasValidBooks,\n } = useMemo(\n () => processOrderPositionBooks(orderPositionData, dates),\n [orderPositionData, dates]\n );\n\n // Get sentiments data\n const {\n loading: sentimentsLoading,\n data: sentimentsData,\n error: sentimentsError,\n } = useQuery<GetSentimentsQuery, GetSentimentsQueryVariables>(getSentiments, {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n });\n\n const { sentimentLongs, sentimentShorts, hasValidSentiments } = useMemo(\n () => processSentiments(sentimentsData, dates),\n [sentimentsData, dates]\n );\n\n // Gather all results\n const loading =\n priceCandlesLoading || orderPositionLoading || sentimentsLoading;\n\n const error = useMemo((): Error | null => {\n if (priceCandlesError) {\n return new Error(`Price candles error: ${priceCandlesError.message}`);\n }\n if (orderPositionError) {\n return new Error(`Order position error: ${orderPositionError.message}`);\n }\n if (sentimentsError) {\n return new Error(`Sentiments error: ${sentimentsError.message}`);\n }\n if (loading) {\n return null;\n }\n return validateData(\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n hasValidBooks,\n hasValidSentiments\n );\n }, [\n priceCandlesError,\n orderPositionError,\n sentimentsError,\n loading,\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n hasValidBooks,\n hasValidSentiments,\n ]);\n\n const data = useMemo(() => {\n if (!priceCandlesData || !orderPositionData || !sentimentsData || error) {\n return null;\n }\n\n return {\n mainData: {\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n bookPrices,\n bookIndexes,\n sentimentShorts,\n sentimentLongs,\n },\n additionalData: {\n bucketWidth,\n buckets,\n displayPrecision: pipsLocation,\n bookType,\n sentimentThresholdMin,\n sentimentThresholdMax,\n },\n };\n }, [\n priceCandlesData,\n orderPositionData,\n sentimentsData,\n error,\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n bookPrices,\n bookIndexes,\n sentimentShorts,\n sentimentLongs,\n bucketWidth,\n buckets,\n pipsLocation,\n bookType,\n sentimentThresholdMin,\n sentimentThresholdMax,\n ]);\n\n return {\n mainData: data?.mainData,\n additionalData: data?.additionalData,\n loading,\n error: !!error,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Legend = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
7
8
  var _monoI18n = require("@oanda/mono-i18n");
8
9
  var _react = _interopRequireDefault(require("react"));
9
10
  var _graphql = require("../../../gql/types/graphql");
@@ -11,27 +12,29 @@ var _LegendBar = require("./LegendBar");
11
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
13
  const Legend = _ref => {
13
14
  let {
14
- longValues,
15
- shortValues,
16
- bookType,
17
- isDark
15
+ bookType
18
16
  } = _ref;
17
+ const {
18
+ isDark
19
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
19
20
  const {
20
21
  lang
21
22
  } = (0, _monoI18n.useLocale)();
22
23
  return _react.default.createElement("div", {
23
- className: "lw-mx-auto lw-mt-4 lw-flex lw-w-full lw-flex-col lw-items-center lw-space-y-4 lw-pb-6 lw-pt-0 sm:lw-max-w-md lg:lw-max-w-xl"
24
+ className: "lw-my-4 lw-w-full"
25
+ }, _react.default.createElement("div", {
26
+ className: "lw-mb-1 lw-flex lw-w-full lw-flex-row lw-justify-between"
24
27
  }, _react.default.createElement(_LegendBar.LegendBar, {
25
28
  isDark: isDark,
26
- label: lang(bookType === _graphql.BookType.Order ? 'buy' : 'long'),
27
- type: "long",
28
- values: longValues
29
+ type: "long"
30
+ }), _react.default.createElement("div", {
31
+ className: "lw-w-[250px]"
29
32
  }), _react.default.createElement(_LegendBar.LegendBar, {
30
33
  isDark: isDark,
31
- label: lang(bookType === _graphql.BookType.Order ? 'sell' : 'short'),
32
- type: "short",
33
- values: shortValues
34
- }));
34
+ type: "short"
35
+ })), _react.default.createElement("div", {
36
+ className: "lw-flex lw-w-full lw-flex-row lw-justify-between lw-pb-2 lw-font-sans lw-text-xs lw-text-text-primary"
37
+ }, _react.default.createElement("span", null, lang(bookType === _graphql.BookType.Order ? 'buy_overbalance' : 'long_overbalance')), _react.default.createElement("span", null, lang('even_market_demand')), _react.default.createElement("span", null, lang(bookType === _graphql.BookType.Order ? 'sell_overbalance' : 'short_overbalance'))));
35
38
  };
36
39
  exports.Legend = Legend;
37
40
  //# sourceMappingURL=Legend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","names":["_monoI18n","require","_react","_interopRequireDefault","_graphql","_LegendBar","e","__esModule","default","Legend","_ref","longValues","shortValues","bookType","isDark","lang","useLocale","createElement","className","LegendBar","label","BookType","Order","type","values","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { BookType } from '../../../gql/types/graphql';\nimport { LegendBar } from './LegendBar';\n\ninterface LegendProps {\n longValues: (number | undefined)[];\n shortValues: (number | undefined)[];\n bookType: BookType;\n isDark: boolean;\n}\n\nexport const Legend = ({\n longValues,\n shortValues,\n bookType,\n isDark,\n}: LegendProps) => {\n const { lang } = useLocale();\n\n return (\n <div className=\"lw-mx-auto lw-mt-4 lw-flex lw-w-full lw-flex-col lw-items-center lw-space-y-4 lw-pb-6 lw-pt-0 sm:lw-max-w-md lg:lw-max-w-xl\">\n <LegendBar\n isDark={isDark}\n label={lang(bookType === BookType.Order ? 'buy' : 'long')}\n type=\"long\"\n values={longValues}\n />\n <LegendBar\n isDark={isDark}\n label={lang(bookType === BookType.Order ? 'sell' : 'short')}\n type=\"short\"\n values={shortValues}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAwC,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASjC,MAAMG,MAAM,GAAGC,IAAA,IAKH;EAAA,IALI;IACrBC,UAAU;IACVC,WAAW;IACXC,QAAQ;IACRC;EACW,CAAC,GAAAJ,IAAA;EACZ,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAE5B,OACEd,MAAA,CAAAM,OAAA,CAAAS,aAAA;IAAKC,SAAS,EAAC;EAA6H,GAC1IhB,MAAA,CAAAM,OAAA,CAAAS,aAAA,CAACZ,UAAA,CAAAc,SAAS;IACRL,MAAM,EAAEA,MAAO;IACfM,KAAK,EAAEL,IAAI,CAACF,QAAQ,KAAKQ,iBAAQ,CAACC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAE;IAC1DC,IAAI,EAAC,MAAM;IACXC,MAAM,EAAEb;EAAW,CACpB,CAAC,EACFT,MAAA,CAAAM,OAAA,CAAAS,aAAA,CAACZ,UAAA,CAAAc,SAAS;IACRL,MAAM,EAAEA,MAAO;IACfM,KAAK,EAAEL,IAAI,CAACF,QAAQ,KAAKQ,iBAAQ,CAACC,KAAK,GAAG,MAAM,GAAG,OAAO,CAAE;IAC5DC,IAAI,EAAC,OAAO;IACZC,MAAM,EAAEZ;EAAY,CACrB,CACE,CAAC;AAEV,CAAC;AAACa,OAAA,CAAAhB,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"Legend.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireDefault","_graphql","_LegendBar","e","__esModule","default","Legend","_ref","bookType","isDark","useLayoutProvider","lang","useLocale","createElement","className","LegendBar","type","BookType","Order","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { BookType } from '../../../gql/types/graphql';\nimport { LegendBar } from './LegendBar';\n\ninterface LegendProps {\n bookType: BookType;\n}\n\nexport const Legend = ({ bookType }: LegendProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n\n return (\n <div className=\"lw-my-4 lw-w-full\">\n <div className=\"lw-mb-1 lw-flex lw-w-full lw-flex-row lw-justify-between\">\n <LegendBar isDark={isDark} type=\"long\" />\n <div className=\"lw-w-[250px]\" />\n <LegendBar isDark={isDark} type=\"short\" />\n </div>\n <div className=\"lw-flex lw-w-full lw-flex-row lw-justify-between lw-pb-2 lw-font-sans lw-text-xs lw-text-text-primary\">\n <span>\n {lang(\n bookType === BookType.Order ? 'buy_overbalance' : 'long_overbalance'\n )}\n </span>\n <span>{lang('even_market_demand')}</span>\n <span>\n {lang(\n bookType === BookType.Order\n ? 'sell_overbalance'\n : 'short_overbalance'\n )}\n </span>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAAwC,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMjC,MAAMG,MAAM,GAAGC,IAAA,IAA+B;EAAA,IAA9B;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAC9C,MAAM;IAAEE;EAAO,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACtC,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAE5B,OACEb,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAmB,GAChCf,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAA0D,GACvEf,MAAA,CAAAM,OAAA,CAAAQ,aAAA,CAACX,UAAA,CAAAa,SAAS;IAACN,MAAM,EAAEA,MAAO;IAACO,IAAI,EAAC;EAAM,CAAE,CAAC,EACzCjB,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAc,CAAE,CAAC,EAChCf,MAAA,CAAAM,OAAA,CAAAQ,aAAA,CAACX,UAAA,CAAAa,SAAS;IAACN,MAAM,EAAEA,MAAO;IAACO,IAAI,EAAC;EAAO,CAAE,CACtC,CAAC,EACNjB,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAuG,GACpHf,MAAA,CAAAM,OAAA,CAAAQ,aAAA,eACGF,IAAI,CACHH,QAAQ,KAAKS,iBAAQ,CAACC,KAAK,GAAG,iBAAiB,GAAG,kBACpD,CACI,CAAC,EACPnB,MAAA,CAAAM,OAAA,CAAAQ,aAAA,eAAOF,IAAI,CAAC,oBAAoB,CAAQ,CAAC,EACzCZ,MAAA,CAAAM,OAAA,CAAAQ,aAAA,eACGF,IAAI,CACHH,QAAQ,KAAKS,iBAAQ,CAACC,KAAK,GACvB,kBAAkB,GAClB,mBACN,CACI,CACH,CACF,CAAC;AAEV,CAAC;AAACC,OAAA,CAAAb,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -9,32 +9,21 @@ var _constants = require("../../constants");
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  const LegendBar = _ref => {
11
11
  let {
12
- values,
13
12
  type,
14
- label,
15
13
  isDark
16
14
  } = _ref;
17
15
  const colorPalette = isDark ? _constants.COLOR_MAP.dark : _constants.COLOR_MAP.light;
18
- const colors = type === 'long' ? colorPalette.long : colorPalette.short;
16
+ const startColor = type === 'long' ? colorPalette.long[1] : colorPalette.short[0];
17
+ const endColor = type === 'long' ? colorPalette.long[0] : colorPalette.short[1];
19
18
  return _react.default.createElement("div", {
20
- className: "lw-flex lw-w-full lw-flex-col lw-space-y-1 lw-border-border-primary"
21
- }, _react.default.createElement("span", {
22
- className: "lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary"
23
- }, label), _react.default.createElement("div", {
24
- className: "lw-flex lw-h-2 lw-w-full lw-overflow-hidden lw-border lw-border-border-primary"
19
+ className: "lw-flex lw-h-2 lw-w-full lw-overflow-hidden"
25
20
  }, _react.default.createElement("div", {
26
21
  className: "lw-h-full lw-flex-1",
27
22
  "data-testid": "legend-bar-segment",
28
23
  style: {
29
- background: "linear-gradient(90deg,".concat(colors[0], " 0%, ").concat(colors[1], " 100%)")
24
+ background: "linear-gradient(90deg,".concat(startColor, " 0%, ").concat(endColor, " 100%)")
30
25
  }
31
- })), _react.default.createElement("div", {
32
- className: "lw-flex lw-w-full lw-justify-between"
33
- }, _react.default.createElement("span", {
34
- className: "lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary"
35
- }, values[0] ? "".concat(values[0].toFixed(2), "%") : '—'), _react.default.createElement("span", {
36
- className: "lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary"
37
- }, values[1] ? "\u2264 ".concat(values[1].toFixed(2), "%") : '—')));
26
+ }));
38
27
  };
39
28
  exports.LegendBar = LegendBar;
40
29
  //# sourceMappingURL=LegendBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegendBar.js","names":["_react","_interopRequireDefault","require","_constants","e","__esModule","default","LegendBar","_ref","values","type","label","isDark","colorPalette","COLOR_MAP","dark","light","colors","long","short","createElement","className","style","background","concat","toFixed","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/LegendBar.tsx"],"sourcesContent":["import React from 'react';\n\nimport { COLOR_MAP } from '../../constants';\n\nexport type LegendType = 'long' | 'short';\n\ninterface LegendBarProps {\n values: (number | undefined)[];\n type: LegendType;\n label: string;\n isDark: boolean;\n}\n\nexport const LegendBar = ({ values, type, label, isDark }: LegendBarProps) => {\n const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;\n const colors = type === 'long' ? colorPalette.long : colorPalette.short;\n\n return (\n <div className=\"lw-flex lw-w-full lw-flex-col lw-space-y-1 lw-border-border-primary\">\n <span className=\"lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary\">\n {label}\n </span>\n <div className=\"lw-flex lw-h-2 lw-w-full lw-overflow-hidden lw-border lw-border-border-primary\">\n <div\n className=\"lw-h-full lw-flex-1\"\n data-testid=\"legend-bar-segment\"\n style={{\n background: `linear-gradient(90deg,${colors[0]} 0%, ${colors[1]} 100%)`,\n }}\n />\n </div>\n\n <div className=\"lw-flex lw-w-full lw-justify-between\">\n <span className=\"lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary\">\n {values[0] ? `${values[0].toFixed(2)}%` : '—'}\n </span>\n <span className=\"lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary\">\n {values[1] ? `≤ ${values[1].toFixed(2)}%` : '—'}\n </span>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAA4C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAWrC,MAAMG,SAAS,GAAGC,IAAA,IAAqD;EAAA,IAApD;IAAEC,MAAM;IAAEC,IAAI;IAAEC,KAAK;IAAEC;EAAuB,CAAC,GAAAJ,IAAA;EACvE,MAAMK,YAAY,GAAGD,MAAM,GAAGE,oBAAS,CAACC,IAAI,GAAGD,oBAAS,CAACE,KAAK;EAC9D,MAAMC,MAAM,GAAGP,IAAI,KAAK,MAAM,GAAGG,YAAY,CAACK,IAAI,GAAGL,YAAY,CAACM,KAAK;EAEvE,OACEnB,MAAA,CAAAM,OAAA,CAAAc,aAAA;IAAKC,SAAS,EAAC;EAAqE,GAClFrB,MAAA,CAAAM,OAAA,CAAAc,aAAA;IAAMC,SAAS,EAAC;EAAmE,GAChFV,KACG,CAAC,EACPX,MAAA,CAAAM,OAAA,CAAAc,aAAA;IAAKC,SAAS,EAAC;EAAgF,GAC7FrB,MAAA,CAAAM,OAAA,CAAAc,aAAA;IACEC,SAAS,EAAC,qBAAqB;IAC/B,eAAY,oBAAoB;IAChCC,KAAK,EAAE;MACLC,UAAU,2BAAAC,MAAA,CAA2BP,MAAM,CAAC,CAAC,CAAC,WAAAO,MAAA,CAAQP,MAAM,CAAC,CAAC,CAAC;IACjE;EAAE,CACH,CACE,CAAC,EAENjB,MAAA,CAAAM,OAAA,CAAAc,aAAA;IAAKC,SAAS,EAAC;EAAsC,GACnDrB,MAAA,CAAAM,OAAA,CAAAc,aAAA;IAAMC,SAAS,EAAC;EAAmE,GAChFZ,MAAM,CAAC,CAAC,CAAC,MAAAe,MAAA,CAAMf,MAAM,CAAC,CAAC,CAAC,CAACgB,OAAO,CAAC,CAAC,CAAC,SAAM,GACtC,CAAC,EACPzB,MAAA,CAAAM,OAAA,CAAAc,aAAA;IAAMC,SAAS,EAAC;EAAmE,GAChFZ,MAAM,CAAC,CAAC,CAAC,aAAAe,MAAA,CAAQf,MAAM,CAAC,CAAC,CAAC,CAACgB,OAAO,CAAC,CAAC,CAAC,SAAM,GACxC,CACH,CACF,CAAC;AAEV,CAAC;AAACC,OAAA,CAAAnB,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"file":"LegendBar.js","names":["_react","_interopRequireDefault","require","_constants","e","__esModule","default","LegendBar","_ref","type","isDark","colorPalette","COLOR_MAP","dark","light","startColor","long","short","endColor","createElement","className","style","background","concat","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/LegendBar.tsx"],"sourcesContent":["import React from 'react';\n\nimport { COLOR_MAP } from '../../constants';\n\nexport type LegendType = 'long' | 'short';\n\ninterface LegendBarProps {\n type: LegendType;\n isDark: boolean;\n}\n\nexport const LegendBar = ({ type, isDark }: LegendBarProps) => {\n const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;\n const startColor =\n type === 'long' ? colorPalette.long[1] : colorPalette.short[0];\n const endColor =\n type === 'long' ? colorPalette.long[0] : colorPalette.short[1];\n\n return (\n <div className=\"lw-flex lw-h-2 lw-w-full lw-overflow-hidden\">\n <div\n className=\"lw-h-full lw-flex-1\"\n data-testid=\"legend-bar-segment\"\n style={{\n background: `linear-gradient(90deg,${startColor} 0%, ${endColor} 100%)`,\n }}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AAA4C,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASrC,MAAMG,SAAS,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,IAAI;IAAEC;EAAuB,CAAC,GAAAF,IAAA;EACxD,MAAMG,YAAY,GAAGD,MAAM,GAAGE,oBAAS,CAACC,IAAI,GAAGD,oBAAS,CAACE,KAAK;EAC9D,MAAMC,UAAU,GACdN,IAAI,KAAK,MAAM,GAAGE,YAAY,CAACK,IAAI,CAAC,CAAC,CAAC,GAAGL,YAAY,CAACM,KAAK,CAAC,CAAC,CAAC;EAChE,MAAMC,QAAQ,GACZT,IAAI,KAAK,MAAM,GAAGE,YAAY,CAACK,IAAI,CAAC,CAAC,CAAC,GAAGL,YAAY,CAACM,KAAK,CAAC,CAAC,CAAC;EAEhE,OACEjB,MAAA,CAAAM,OAAA,CAAAa,aAAA;IAAKC,SAAS,EAAC;EAA6C,GAC1DpB,MAAA,CAAAM,OAAA,CAAAa,aAAA;IACEC,SAAS,EAAC,qBAAqB;IAC/B,eAAY,oBAAoB;IAChCC,KAAK,EAAE;MACLC,UAAU,2BAAAC,MAAA,CAA2BR,UAAU,WAAAQ,MAAA,CAAQL,QAAQ;IACjE;EAAE,CACH,CACE,CAAC;AAEV,CAAC;AAACM,OAAA,CAAAjB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -3,9 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TIME_THRESHOLDS = exports.INSTRUMENTS_CONFIG = exports.COLOR_MAP = exports.CHART_CONFIG_CALCULATED = exports.CHART_CONFIG = exports.BUCKET_CONFIG = void 0;
6
+ exports.TIME_THRESHOLDS = exports.INSTRUMENTS_CONFIG = exports.COLOR_MAP = exports.CHART_CONFIG = exports.BUCKET_CONFIG = void 0;
7
7
  var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _chromaJs = _interopRequireDefault(require("chroma-js"));
8
9
  var _types = require("./types");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
11
  const BUCKET_CONFIG = exports.BUCKET_CONFIG = {
10
12
  MULTIPLIER: 4,
11
13
  PRICE_MARGIN_MULTIPLIER: 2
@@ -14,6 +16,7 @@ const TIME_THRESHOLDS = exports.TIME_THRESHOLDS = {
14
16
  TWO_WEEKS_MS: 14 * 24 * 60 * 60 * 1000
15
17
  };
16
18
  const CHART_CONFIG = exports.CHART_CONFIG = {
19
+ HEIGHT: 440,
17
20
  MAIN_HEIGHT: 400,
18
21
  MARGIN_BETWEEN: 50,
19
22
  SENTIMENT_HEIGHT: 120,
@@ -21,26 +24,21 @@ const CHART_CONFIG = exports.CHART_CONFIG = {
21
24
  X_LABEL_SIZE: 40,
22
25
  Y_LABEL_SIZE_DESKTOP: 60,
23
26
  Y_LABEL_SIZE_MOBILE: 40,
24
- INITIAL_START_ZOOM: 80,
27
+ Y_SENTIMENT_LABEL_SIZE: 40,
28
+ INITIAL_START_ZOOM: 90,
25
29
  INITIAL_END_ZOOM: 100,
26
30
  X_AXIS_DATE_PADDING: ' ',
27
31
  SENTIMENT_MIN: 0,
28
- SENTIMENT_MAX: 100,
29
- SENTIMENT_INTERVAL: 25,
30
- SENTIMENT_TEXT_OFFSET: 16
31
- };
32
- const CHART_CONFIG_CALCULATED = exports.CHART_CONFIG_CALCULATED = {
33
- FULL_HEIGHT: CHART_CONFIG.MAIN_HEIGHT + CHART_CONFIG.MARGIN_BETWEEN + CHART_CONFIG.SENTIMENT_HEIGHT + CHART_CONFIG.X_LABEL_SIZE,
34
- SENTIMENT_TEXT_POSITION: CHART_CONFIG.SENTIMENT_HEIGHT + CHART_CONFIG.SENTIMENT_TEXT_OFFSET
32
+ SENTIMENT_MAX: 100
35
33
  };
36
34
  const COLOR_MAP = exports.COLOR_MAP = {
37
35
  dark: {
38
- long: [_labsWidgetCommon.colorPalette.darkBlue10, _labsWidgetCommon.colorPalette.darkBlue90],
39
- short: [_labsWidgetCommon.colorPalette.darkYellow10, _labsWidgetCommon.colorPalette.darkYellow90]
36
+ long: [(0, _chromaJs.default)(_labsWidgetCommon.colorPalette.darkBlue10).shade(0.5).hex(), (0, _chromaJs.default)(_labsWidgetCommon.colorPalette.darkBlue90).shade(0.5).hex()],
37
+ short: [(0, _chromaJs.default)(_labsWidgetCommon.colorPalette.darkYellow10).shade(0.5).hex(), (0, _chromaJs.default)(_labsWidgetCommon.colorPalette.darkYellow90).shade(0.5).hex()]
40
38
  },
41
39
  light: {
42
- long: [_labsWidgetCommon.colorPalette.lightBlue10, _labsWidgetCommon.colorPalette.lightBlue90],
43
- short: [_labsWidgetCommon.colorPalette.lightYellow10, _labsWidgetCommon.colorPalette.lightYellow90]
40
+ long: [(0, _chromaJs.default)(_labsWidgetCommon.colorPalette.lightBlue10).tint(0.5).hex(), (0, _chromaJs.default)(_labsWidgetCommon.colorPalette.lightBlue90).tint(0.5).hex()],
41
+ short: [(0, _chromaJs.default)(_labsWidgetCommon.colorPalette.lightYellow10).tint(0.5).hex(), (0, _chromaJs.default)(_labsWidgetCommon.colorPalette.lightYellow90).tint(0.5).hex()]
44
42
  }
45
43
  };
46
44
  const INSTRUMENTS_CONFIG = exports.INSTRUMENTS_CONFIG = {
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["_labsWidgetCommon","require","_types","BUCKET_CONFIG","exports","MULTIPLIER","PRICE_MARGIN_MULTIPLIER","TIME_THRESHOLDS","TWO_WEEKS_MS","CHART_CONFIG","MAIN_HEIGHT","MARGIN_BETWEEN","SENTIMENT_HEIGHT","WIDTH","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","INITIAL_START_ZOOM","INITIAL_END_ZOOM","X_AXIS_DATE_PADDING","SENTIMENT_MIN","SENTIMENT_MAX","SENTIMENT_INTERVAL","SENTIMENT_TEXT_OFFSET","CHART_CONFIG_CALCULATED","FULL_HEIGHT","SENTIMENT_TEXT_POSITION","COLOR_MAP","dark","long","colorPalette","darkBlue10","darkBlue90","short","darkYellow10","darkYellow90","light","lightBlue10","lightBlue90","lightYellow10","lightYellow90","INSTRUMENTS_CONFIG","InstrumentId","EUR_AUD","mt5name","v20name","precision","defaultBucketWidth","EUR_GBP","EUR_JPY","EUR_USD","EUR_CHF","USD_CHF","USD_JPY","USD_CAD","GBP_USD","GBP_JPY","GBP_CHF","AUD_JPY","AUD_USD","NZD_USD","XAU_USD","XAG_USD"],"sources":["../../../src/CrowdViewWidget/constants.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\n\nimport { InstrumentId } from './types';\n\nexport const BUCKET_CONFIG = {\n MULTIPLIER: 4,\n PRICE_MARGIN_MULTIPLIER: 2,\n} as const;\n\nexport const TIME_THRESHOLDS = {\n TWO_WEEKS_MS: 14 * 24 * 60 * 60 * 1000,\n} as const;\n\nexport const CHART_CONFIG = {\n MAIN_HEIGHT: 400,\n MARGIN_BETWEEN: 50,\n SENTIMENT_HEIGHT: 120,\n WIDTH: 9999,\n X_LABEL_SIZE: 40,\n Y_LABEL_SIZE_DESKTOP: 60,\n Y_LABEL_SIZE_MOBILE: 40,\n INITIAL_START_ZOOM: 80,\n INITIAL_END_ZOOM: 100,\n X_AXIS_DATE_PADDING: ' ',\n SENTIMENT_MIN: 0,\n SENTIMENT_MAX: 100,\n SENTIMENT_INTERVAL: 25,\n SENTIMENT_TEXT_OFFSET: 16,\n} as const;\n\nexport const CHART_CONFIG_CALCULATED = {\n FULL_HEIGHT:\n CHART_CONFIG.MAIN_HEIGHT +\n CHART_CONFIG.MARGIN_BETWEEN +\n CHART_CONFIG.SENTIMENT_HEIGHT +\n CHART_CONFIG.X_LABEL_SIZE,\n SENTIMENT_TEXT_POSITION:\n CHART_CONFIG.SENTIMENT_HEIGHT + CHART_CONFIG.SENTIMENT_TEXT_OFFSET,\n};\n\nexport const COLOR_MAP = {\n dark: {\n long: [colorPalette.darkBlue10, colorPalette.darkBlue90],\n short: [colorPalette.darkYellow10, colorPalette.darkYellow90],\n },\n light: {\n long: [colorPalette.lightBlue10, colorPalette.lightBlue90],\n short: [colorPalette.lightYellow10, colorPalette.lightYellow90],\n },\n} as const;\n\nexport const INSTRUMENTS_CONFIG: Record<\n InstrumentId,\n {\n precision: number;\n defaultBucketWidth: number;\n v20name: string;\n mt5name: string;\n }\n> = {\n [InstrumentId.EUR_AUD]: {\n mt5name: 'EURAUD',\n v20name: 'EUR_AUD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_GBP]: {\n mt5name: 'EURGBP',\n v20name: 'EUR_GBP',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_JPY]: {\n mt5name: 'EURJPY',\n v20name: 'EUR_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.EUR_USD]: {\n mt5name: 'EURUSD',\n v20name: 'EUR_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_CHF]: {\n mt5name: 'EURCHF',\n v20name: 'EUR_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.USD_CHF]: {\n mt5name: 'USDCHF',\n v20name: 'USD_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.USD_JPY]: {\n mt5name: 'USDJPY',\n v20name: 'USD_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.USD_CAD]: {\n mt5name: 'USDCAD',\n v20name: 'USD_CAD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.GBP_USD]: {\n mt5name: 'GBPUSD',\n v20name: 'GBP_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.GBP_JPY]: {\n mt5name: 'GBPJPY',\n v20name: 'GBP_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.GBP_CHF]: {\n mt5name: 'GBPCHF',\n v20name: 'GBP_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.AUD_JPY]: {\n mt5name: 'AUDJPY',\n v20name: 'AUD_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.AUD_USD]: {\n mt5name: 'AUDUSD',\n v20name: 'AUD_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.NZD_USD]: {\n mt5name: 'NZDUSD',\n v20name: 'NZD_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.XAU_USD]: {\n mt5name: 'XAUUSD',\n v20name: 'XAU_USD',\n precision: 3,\n defaultBucketWidth: 0.5,\n },\n [InstrumentId.XAG_USD]: {\n mt5name: 'XAGUSD',\n v20name: 'XAG_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"constants.js","names":["_labsWidgetCommon","require","_chromaJs","_interopRequireDefault","_types","e","__esModule","default","BUCKET_CONFIG","exports","MULTIPLIER","PRICE_MARGIN_MULTIPLIER","TIME_THRESHOLDS","TWO_WEEKS_MS","CHART_CONFIG","HEIGHT","MAIN_HEIGHT","MARGIN_BETWEEN","SENTIMENT_HEIGHT","WIDTH","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","Y_SENTIMENT_LABEL_SIZE","INITIAL_START_ZOOM","INITIAL_END_ZOOM","X_AXIS_DATE_PADDING","SENTIMENT_MIN","SENTIMENT_MAX","COLOR_MAP","dark","long","chroma","colorPalette","darkBlue10","shade","hex","darkBlue90","short","darkYellow10","darkYellow90","light","lightBlue10","tint","lightBlue90","lightYellow10","lightYellow90","INSTRUMENTS_CONFIG","InstrumentId","EUR_AUD","mt5name","v20name","precision","defaultBucketWidth","EUR_GBP","EUR_JPY","EUR_USD","EUR_CHF","USD_CHF","USD_JPY","USD_CAD","GBP_USD","GBP_JPY","GBP_CHF","AUD_JPY","AUD_USD","NZD_USD","XAU_USD","XAG_USD"],"sources":["../../../src/CrowdViewWidget/constants.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\nimport chroma from 'chroma-js';\n\nimport { InstrumentId } from './types';\n\nexport const BUCKET_CONFIG = {\n MULTIPLIER: 4,\n PRICE_MARGIN_MULTIPLIER: 2,\n} as const;\n\nexport const TIME_THRESHOLDS = {\n TWO_WEEKS_MS: 14 * 24 * 60 * 60 * 1000,\n} as const;\n\nexport const CHART_CONFIG = {\n HEIGHT: 440,\n MAIN_HEIGHT: 400,\n MARGIN_BETWEEN: 50,\n SENTIMENT_HEIGHT: 120,\n WIDTH: 9999,\n X_LABEL_SIZE: 40,\n Y_LABEL_SIZE_DESKTOP: 60,\n Y_LABEL_SIZE_MOBILE: 40,\n Y_SENTIMENT_LABEL_SIZE: 40,\n INITIAL_START_ZOOM: 90,\n INITIAL_END_ZOOM: 100,\n X_AXIS_DATE_PADDING: ' ',\n SENTIMENT_MIN: 0,\n SENTIMENT_MAX: 100,\n} as const;\n\nexport const COLOR_MAP = {\n dark: {\n long: [\n chroma(colorPalette.darkBlue10).shade(0.5).hex(),\n chroma(colorPalette.darkBlue90).shade(0.5).hex(),\n ],\n short: [\n chroma(colorPalette.darkYellow10).shade(0.5).hex(),\n chroma(colorPalette.darkYellow90).shade(0.5).hex(),\n ],\n },\n light: {\n long: [\n chroma(colorPalette.lightBlue10).tint(0.5).hex(),\n chroma(colorPalette.lightBlue90).tint(0.5).hex(),\n ],\n short: [\n chroma(colorPalette.lightYellow10).tint(0.5).hex(),\n chroma(colorPalette.lightYellow90).tint(0.5).hex(),\n ],\n },\n} as const;\n\nexport const INSTRUMENTS_CONFIG: Record<\n InstrumentId,\n {\n precision: number;\n defaultBucketWidth: number;\n v20name: string;\n mt5name: string;\n }\n> = {\n [InstrumentId.EUR_AUD]: {\n mt5name: 'EURAUD',\n v20name: 'EUR_AUD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_GBP]: {\n mt5name: 'EURGBP',\n v20name: 'EUR_GBP',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_JPY]: {\n mt5name: 'EURJPY',\n v20name: 'EUR_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.EUR_USD]: {\n mt5name: 'EURUSD',\n v20name: 'EUR_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.EUR_CHF]: {\n mt5name: 'EURCHF',\n v20name: 'EUR_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.USD_CHF]: {\n mt5name: 'USDCHF',\n v20name: 'USD_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.USD_JPY]: {\n mt5name: 'USDJPY',\n v20name: 'USD_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.USD_CAD]: {\n mt5name: 'USDCAD',\n v20name: 'USD_CAD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.GBP_USD]: {\n mt5name: 'GBPUSD',\n v20name: 'GBP_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.GBP_JPY]: {\n mt5name: 'GBPJPY',\n v20name: 'GBP_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.GBP_CHF]: {\n mt5name: 'GBPCHF',\n v20name: 'GBP_CHF',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.AUD_JPY]: {\n mt5name: 'AUDJPY',\n v20name: 'AUD_JPY',\n precision: 3,\n defaultBucketWidth: 0.05,\n },\n [InstrumentId.AUD_USD]: {\n mt5name: 'AUDUSD',\n v20name: 'AUD_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.NZD_USD]: {\n mt5name: 'NZDUSD',\n v20name: 'NZD_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n [InstrumentId.XAU_USD]: {\n mt5name: 'XAUUSD',\n v20name: 'XAU_USD',\n precision: 3,\n defaultBucketWidth: 0.5,\n },\n [InstrumentId.XAG_USD]: {\n mt5name: 'XAGUSD',\n v20name: 'XAG_USD',\n precision: 5,\n defaultBucketWidth: 0.0005,\n },\n};\n"],"mappings":"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","ignoreList":[]}
@@ -27,5 +27,6 @@
27
27
  "sell": "Sell",
28
28
  "sentiment": "Sentiment",
29
29
  "short_overbalance": "Short overbalance",
30
- "short": "Short"
30
+ "short": "Short",
31
+ "even_market_demand": "Even market demand"
31
32
  }
@@ -7,9 +7,9 @@ import { cn, Select, Size, Tabs, useLayoutProvider } from '@oanda/labs-widget-co
7
7
  import { useLocale } from '@oanda/mono-i18n';
8
8
  import React, { useEffect, useMemo, useState } from 'react';
9
9
  import { BookType } from '../gql/types/graphql';
10
- import { ChartWithData } from './components';
10
+ import { ChartWithData, Legend } from './components';
11
+ import { getInstrumentConfigForDivision } from './components/Chart/dataUtils/getInstrumentConfigForDivision';
11
12
  import { granularitySelectConfig, navigationConfig } from './selectConfig';
12
- import { getInstrumentConfigForDivision } from './utils/instrumentUtils';
13
13
  const Main = _ref => {
14
14
  let {
15
15
  division
@@ -71,6 +71,8 @@ const Main = _ref => {
71
71
  division: division,
72
72
  granularity: granularity.id,
73
73
  instrument: instrument.id
74
+ }), React.createElement(Legend, {
75
+ bookType: bookType
74
76
  })));
75
77
  };
76
78
  export { Main };
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["cn","Select","Size","Tabs","useLayoutProvider","useLocale","React","useEffect","useMemo","useState","BookType","ChartWithData","granularitySelectConfig","navigationConfig","getInstrumentConfigForDivision","Main","_ref","division","lang","size","isDesktop","DESKTOP","bookType","setBookType","Order","granularitySelectConfigWithLang","map","opt","_objectSpread","label","instrumentSelectConfigWithDivision","instrument","setInstrument","granularity","setGranularity","createElement","Fragment","className","mobileFullWidth","activeTab","handleClick","e","currentTarget","value","items","labelCallback","options","searchPlaceholder","selectLabel","selectedOption","setSelectedOption","val","id"],"sources":["../../../src/CrowdViewWidget/Main.tsx"],"sourcesContent":["import {\n cn,\n Select,\n Size,\n Tabs,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport type { Granularity } from '../gql/types/graphql';\nimport { BookType } from '../gql/types/graphql';\nimport { ChartWithData } from './components';\nimport { granularitySelectConfig, navigationConfig } from './selectConfig';\nimport type { InstrumentId, MainProps } from './types';\nimport { getInstrumentConfigForDivision } from './utils/instrumentUtils';\n\nconst Main = ({ division }: MainProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const [bookType, setBookType] = useState(BookType.Order);\n\n const granularitySelectConfigWithLang = useMemo(\n () =>\n granularitySelectConfig.map((opt) => ({\n ...opt,\n label: lang(opt.label),\n })),\n [lang]\n );\n\n const instrumentSelectConfigWithDivision =\n getInstrumentConfigForDivision(division);\n const [instrument, setInstrument] = useState(\n instrumentSelectConfigWithDivision[0]\n );\n\n const [granularity, setGranularity] = useState(\n granularitySelectConfigWithLang[0]\n );\n\n useEffect(() => {\n setGranularity(granularitySelectConfigWithLang[0]);\n }, [granularitySelectConfigWithLang]);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-text-sm lw-tracking-normal\"\n data-testid=\"crowd-view-widget\"\n >\n <div>\n <Tabs\n mobileFullWidth\n activeTab={bookType}\n handleClick={(e) =>\n setBookType(e.currentTarget.value as BookType)\n }\n items={navigationConfig}\n labelCallback={lang}\n />\n <div\n className={cn('lw-mb-6 lw-mt-12', {\n 'lw-flex': isDesktop,\n })}\n >\n <div\n className={cn('lw-mr-2', {\n 'lw-w-full lw-mb-2': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={instrumentSelectConfigWithDivision}\n searchPlaceholder={lang('search')}\n selectLabel={lang('instrument')}\n selectedOption={instrument}\n setSelectedOption={(val) =>\n setInstrument(val as { id: InstrumentId; label: string })\n }\n />\n </div>\n <div\n className={cn({\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={granularitySelectConfigWithLang}\n searchPlaceholder={lang('search')}\n selectLabel={lang('granularity')}\n selectedOption={granularity}\n setSelectedOption={(val) =>\n setGranularity(val as { id: Granularity; label: string })\n }\n />\n </div>\n </div>\n </div>\n <ChartWithData\n bookType={bookType}\n division={division}\n granularity={granularity.id}\n instrument={instrument.id}\n />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["cn","Select","Size","Tabs","useLayoutProvider","useLocale","React","useEffect","useMemo","useState","BookType","ChartWithData","Legend","getInstrumentConfigForDivision","granularitySelectConfig","navigationConfig","Main","_ref","division","lang","size","isDesktop","DESKTOP","bookType","setBookType","Order","granularitySelectConfigWithLang","map","opt","_objectSpread","label","instrumentSelectConfigWithDivision","instrument","setInstrument","granularity","setGranularity","createElement","Fragment","className","mobileFullWidth","activeTab","handleClick","e","currentTarget","value","items","labelCallback","options","searchPlaceholder","selectLabel","selectedOption","setSelectedOption","val","id"],"sources":["../../../src/CrowdViewWidget/Main.tsx"],"sourcesContent":["import {\n cn,\n Select,\n Size,\n Tabs,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport type { Granularity } from '../gql/types/graphql';\nimport { BookType } from '../gql/types/graphql';\nimport { ChartWithData, Legend } from './components';\nimport { getInstrumentConfigForDivision } from './components/Chart/dataUtils/getInstrumentConfigForDivision';\nimport { granularitySelectConfig, navigationConfig } from './selectConfig';\nimport type { InstrumentId, MainProps } from './types';\n\nconst Main = ({ division }: MainProps) => {\n const { lang } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n\n const [bookType, setBookType] = useState(BookType.Order);\n\n const granularitySelectConfigWithLang = useMemo(\n () =>\n granularitySelectConfig.map((opt) => ({\n ...opt,\n label: lang(opt.label),\n })),\n [lang]\n );\n\n const instrumentSelectConfigWithDivision =\n getInstrumentConfigForDivision(division);\n const [instrument, setInstrument] = useState(\n instrumentSelectConfigWithDivision[0]\n );\n\n const [granularity, setGranularity] = useState(\n granularitySelectConfigWithLang[0]\n );\n\n useEffect(() => {\n setGranularity(granularitySelectConfigWithLang[0]);\n }, [granularitySelectConfigWithLang]);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-text-sm lw-tracking-normal\"\n data-testid=\"crowd-view-widget\"\n >\n <div>\n <Tabs\n mobileFullWidth\n activeTab={bookType}\n handleClick={(e) =>\n setBookType(e.currentTarget.value as BookType)\n }\n items={navigationConfig}\n labelCallback={lang}\n />\n <div\n className={cn('lw-mb-6 lw-mt-12', {\n 'lw-flex': isDesktop,\n })}\n >\n <div\n className={cn('lw-mr-2', {\n 'lw-w-full lw-mb-2': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={instrumentSelectConfigWithDivision}\n searchPlaceholder={lang('search')}\n selectLabel={lang('instrument')}\n selectedOption={instrument}\n setSelectedOption={(val) =>\n setInstrument(val as { id: InstrumentId; label: string })\n }\n />\n </div>\n <div\n className={cn({\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={granularitySelectConfigWithLang}\n searchPlaceholder={lang('search')}\n selectLabel={lang('granularity')}\n selectedOption={granularity}\n setSelectedOption={(val) =>\n setGranularity(val as { id: Granularity; label: string })\n }\n />\n </div>\n </div>\n </div>\n <ChartWithData\n bookType={bookType}\n division={division}\n granularity={granularity.id}\n instrument={instrument.id}\n />\n <Legend bookType={bookType} />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
@@ -1,14 +1,14 @@
1
1
  import { BaseChart, getChartTheme, Theme, useLayoutProvider } from '@oanda/labs-widget-common';
2
2
  import { useLocale } from '@oanda/mono-i18n';
3
3
  import { CandlestickChart, CustomChart, LineChart } from 'echarts/charts';
4
- import { DatasetComponent, DataZoomInsideComponent, GraphicComponent, GridSimpleComponent, MarkAreaComponent, MarkPointComponent, TooltipComponent, VisualMapComponent } from 'echarts/components';
4
+ import { DatasetComponent, DataZoomInsideComponent, GraphicComponent, GridSimpleComponent, MarkLineComponent, TooltipComponent, VisualMapComponent } from 'echarts/components';
5
5
  import * as echarts from 'echarts/core';
6
6
  import { CanvasRenderer } from 'echarts/renderers';
7
7
  import React from 'react';
8
- import { CHART_CONFIG_CALCULATED } from '../../constants';
9
- import { getOption } from './chartOptions';
10
- import { formatXAxisLabel, getLabelData, isDifferenceGreaterThanTwoWeeks } from './utils/chartUtils';
11
- echarts.use([GridSimpleComponent, GraphicComponent, CanvasRenderer, DataZoomInsideComponent, CustomChart, TooltipComponent, CandlestickChart, MarkPointComponent, MarkAreaComponent, LineChart, VisualMapComponent, DatasetComponent]);
8
+ import { CHART_CONFIG } from '../../constants';
9
+ import { formatXAxisLabel, getLabelData, isDifferenceGreaterThanTwoWeeks } from './chartUtils';
10
+ import { getOption } from './getOption';
11
+ echarts.use([GridSimpleComponent, GraphicComponent, CanvasRenderer, DataZoomInsideComponent, CustomChart, TooltipComponent, CandlestickChart, MarkLineComponent, LineChart, VisualMapComponent, DatasetComponent]);
12
12
  echarts.registerTheme('dark_theme', getChartTheme(Theme.Dark));
13
13
  echarts.registerTheme('light_theme', getChartTheme(Theme.Light));
14
14
  const Chart = _ref => {
@@ -24,7 +24,7 @@ const Chart = _ref => {
24
24
  lang
25
25
  } = useLocale();
26
26
  return React.createElement(BaseChart, {
27
- chartHeight: CHART_CONFIG_CALCULATED.FULL_HEIGHT,
27
+ chartHeight: CHART_CONFIG.HEIGHT,
28
28
  echarts: echarts,
29
29
  isDark: isDark,
30
30
  lazyUpdate: true,
@@ -47,11 +47,6 @@ const Chart = _ref => {
47
47
  const {
48
48
  dates
49
49
  } = mainData;
50
- const batchItem = params.batch[0];
51
- const {
52
- start,
53
- end
54
- } = batchItem;
55
50
  const {
56
51
  dataZoom,
57
52
  xAxis
@@ -63,24 +58,6 @@ const Chart = _ref => {
63
58
  startValue,
64
59
  endValue
65
60
  } = dataZoom[0];
66
- if (batchItem.dataZoomId === 'main') {
67
- instance.dispatchAction({
68
- type: 'dataZoom',
69
- dataZoomId: 'sentiment',
70
- start,
71
- end,
72
- filterMode: 'none'
73
- });
74
- }
75
- if (batchItem.dataZoomId === 'sentiment') {
76
- instance.dispatchAction({
77
- type: 'dataZoom',
78
- dataZoomId: 'main',
79
- start,
80
- end,
81
- filterMode: 'filter'
82
- });
83
- }
84
61
  if (!dates[startValue] || !dates[endValue]) {
85
62
  return;
86
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["BaseChart","getChartTheme","Theme","useLayoutProvider","useLocale","CandlestickChart","CustomChart","LineChart","DatasetComponent","DataZoomInsideComponent","GraphicComponent","GridSimpleComponent","MarkAreaComponent","MarkPointComponent","TooltipComponent","VisualMapComponent","echarts","CanvasRenderer","React","CHART_CONFIG_CALCULATED","getOption","formatXAxisLabel","getLabelData","isDifferenceGreaterThanTwoWeeks","use","registerTheme","Dark","Light","Chart","_ref","mainData","additionalData","isDesktop","isDark","lang","createElement","chartHeight","FULL_HEIGHT","lazyUpdate","option","labelCallback","opts","renderer","onEvents","datazoom","params","instance","_params$batch","_","batch","dates","batchItem","start","end","dataZoom","xAxis","Array","isArray","length","startValue","endValue","dataZoomId","dispatchAction","type","filterMode","isGreaterThanTwoWeeks","wasGreaterThanTwoWeeks","name","labelsData","setOption","id","axisLabel","formatter","value","series","markPoint","data"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CandlestickChart, CustomChart, LineChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkAreaComponent,\n MarkPointComponent,\n TooltipComponent,\n VisualMapComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React from 'react';\n\nimport { CHART_CONFIG_CALCULATED } from '../../constants';\nimport { getOption } from './chartOptions';\nimport type {\n ChartProps,\n DataZoomArray,\n DataZoomEvent,\n XAxisArray,\n} from './types';\nimport {\n formatXAxisLabel,\n getLabelData,\n isDifferenceGreaterThanTwoWeeks,\n} from './utils/chartUtils';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n CanvasRenderer,\n DataZoomInsideComponent,\n CustomChart,\n TooltipComponent,\n CandlestickChart,\n MarkPointComponent,\n MarkAreaComponent,\n LineChart,\n VisualMapComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ mainData, additionalData, isDesktop }: ChartProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n\n return (\n <BaseChart\n chartHeight={CHART_CONFIG_CALCULATED.FULL_HEIGHT}\n echarts={echarts}\n isDark={isDark}\n lazyUpdate={true}\n option={getOption({\n mainData,\n additionalData,\n isDark,\n isDesktop,\n labelCallback: lang,\n })}\n opts={{ renderer: 'canvas' }}\n onEvents={{\n datazoom: (params: DataZoomEvent, instance: EChartsType) => {\n if (!params.batch?.[0]) {\n return;\n }\n\n const { dates } = mainData;\n const batchItem = params.batch[0];\n const { start, end } = batchItem;\n\n const { dataZoom, xAxis } = instance.getOption();\n if (\n !Array.isArray(dataZoom) ||\n dataZoom.length === 0 ||\n !dataZoom[0] ||\n typeof dataZoom[0].startValue !== 'number' ||\n typeof dataZoom[0].endValue !== 'number'\n ) {\n return;\n }\n\n const { startValue, endValue } = dataZoom[0] as DataZoomArray[0];\n\n if (batchItem.dataZoomId === 'main') {\n instance.dispatchAction({\n type: 'dataZoom',\n dataZoomId: 'sentiment',\n start,\n end,\n filterMode: 'none',\n });\n }\n\n if (batchItem.dataZoomId === 'sentiment') {\n instance.dispatchAction({\n type: 'dataZoom',\n dataZoomId: 'main',\n start,\n end,\n filterMode: 'filter',\n });\n }\n\n if (!dates[startValue] || !dates[endValue]) {\n return;\n }\n\n const isGreaterThanTwoWeeks = isDifferenceGreaterThanTwoWeeks(\n dates[startValue],\n dates[endValue]\n );\n\n const wasGreaterThanTwoWeeks =\n Array.isArray(xAxis) &&\n xAxis.length > 0 &&\n (xAxis as XAxisArray)[0]?.name === 'xAxis-greater-than-two-weeks';\n\n if (isGreaterThanTwoWeeks !== wasGreaterThanTwoWeeks) {\n const labelsData = getLabelData({\n dates,\n isGreaterThanTwoWeeks,\n });\n\n instance.setOption({\n xAxis: {\n id: 'main-xAxis',\n name: isGreaterThanTwoWeeks\n ? 'xAxis-greater-than-two-weeks'\n : 'xAxis-less-than-two-weeks',\n axisLabel: {\n formatter: (value: string) =>\n formatXAxisLabel(value, isGreaterThanTwoWeeks),\n },\n },\n series: [\n {\n id: 'candlestick',\n markPoint: {\n data: labelsData,\n },\n },\n ],\n });\n }\n },\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["BaseChart","getChartTheme","Theme","useLayoutProvider","useLocale","CandlestickChart","CustomChart","LineChart","DatasetComponent","DataZoomInsideComponent","GraphicComponent","GridSimpleComponent","MarkLineComponent","TooltipComponent","VisualMapComponent","echarts","CanvasRenderer","React","CHART_CONFIG","formatXAxisLabel","getLabelData","isDifferenceGreaterThanTwoWeeks","getOption","use","registerTheme","Dark","Light","Chart","_ref","mainData","additionalData","isDesktop","isDark","lang","createElement","chartHeight","HEIGHT","lazyUpdate","option","labelCallback","opts","renderer","onEvents","datazoom","params","instance","_params$batch","_","batch","dates","dataZoom","xAxis","Array","isArray","length","startValue","endValue","isGreaterThanTwoWeeks","wasGreaterThanTwoWeeks","name","labelsData","setOption","id","axisLabel","formatter","value","series","markPoint","data"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CandlestickChart, CustomChart, LineChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TooltipComponent,\n VisualMapComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React from 'react';\n\nimport { CHART_CONFIG } from '../../constants';\nimport {\n formatXAxisLabel,\n getLabelData,\n isDifferenceGreaterThanTwoWeeks,\n} from './chartUtils';\nimport { getOption } from './getOption';\nimport type {\n ChartProps,\n DataZoomArray,\n DataZoomEvent,\n XAxisArray,\n} from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n CanvasRenderer,\n DataZoomInsideComponent,\n CustomChart,\n TooltipComponent,\n CandlestickChart,\n MarkLineComponent,\n LineChart,\n VisualMapComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({ mainData, additionalData, isDesktop }: ChartProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n\n return (\n <BaseChart\n chartHeight={CHART_CONFIG.HEIGHT}\n echarts={echarts}\n isDark={isDark}\n lazyUpdate={true}\n option={getOption({\n mainData,\n additionalData,\n isDark,\n isDesktop,\n labelCallback: lang,\n })}\n opts={{ renderer: 'canvas' }}\n onEvents={{\n datazoom: (params: DataZoomEvent, instance: EChartsType) => {\n if (!params.batch?.[0]) {\n return;\n }\n\n const { dates } = mainData;\n\n const { dataZoom, xAxis } = instance.getOption();\n if (\n !Array.isArray(dataZoom) ||\n dataZoom.length === 0 ||\n !dataZoom[0] ||\n typeof dataZoom[0].startValue !== 'number' ||\n typeof dataZoom[0].endValue !== 'number'\n ) {\n return;\n }\n\n const { startValue, endValue } = dataZoom[0] as DataZoomArray[0];\n\n if (!dates[startValue] || !dates[endValue]) {\n return;\n }\n\n const isGreaterThanTwoWeeks = isDifferenceGreaterThanTwoWeeks(\n dates[startValue],\n dates[endValue]\n );\n\n const wasGreaterThanTwoWeeks =\n Array.isArray(xAxis) &&\n xAxis.length > 0 &&\n (xAxis as XAxisArray)[0]?.name === 'xAxis-greater-than-two-weeks';\n\n if (isGreaterThanTwoWeeks !== wasGreaterThanTwoWeeks) {\n const labelsData = getLabelData({\n dates,\n isGreaterThanTwoWeeks,\n });\n\n instance.setOption({\n xAxis: {\n id: 'main-xAxis',\n name: isGreaterThanTwoWeeks\n ? 'xAxis-greater-than-two-weeks'\n : 'xAxis-less-than-two-weeks',\n axisLabel: {\n formatter: (value: string) =>\n formatXAxisLabel(value, isGreaterThanTwoWeeks),\n },\n },\n series: [\n {\n id: 'candlestick',\n markPoint: {\n data: labelsData,\n },\n },\n ],\n });\n }\n },\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"AAAA,SACEA,SAAS,EACTC,aAAa,EACbC,KAAK,EACLC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,SAASC,gBAAgB,EAAEC,WAAW,EAAEC,SAAS,QAAQ,gBAAgB;AACzE,SACEC,gBAAgB,EAChBC,uBAAuB,EACvBC,gBAAgB,EAChBC,mBAAmB,EACnBC,iBAAiB,EACjBC,gBAAgB,EAChBC,kBAAkB,QACb,oBAAoB;AAC3B,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SACEC,gBAAgB,EAChBC,YAAY,EACZC,+BAA+B,QAC1B,cAAc;AACrB,SAASC,SAAS,QAAQ,aAAa;AAQvCP,OAAO,CAACQ,GAAG,CAAC,CACVZ,mBAAmB,EACnBD,gBAAgB,EAChBM,cAAc,EACdP,uBAAuB,EACvBH,WAAW,EACXO,gBAAgB,EAChBR,gBAAgB,EAChBO,iBAAiB,EACjBL,SAAS,EACTO,kBAAkB,EAClBN,gBAAgB,CACjB,CAAC;AAEFO,OAAO,CAACS,aAAa,CAAC,YAAY,EAAEvB,aAAa,CAACC,KAAK,CAACuB,IAAI,CAAC,CAAC;AAC9DV,OAAO,CAACS,aAAa,CAAC,aAAa,EAAEvB,aAAa,CAACC,KAAK,CAACwB,KAAK,CAAC,CAAC;AAEhE,MAAMC,KAAK,GAAGC,IAAA,IAAyD;EAAA,IAAxD;IAAEC,QAAQ;IAAEC,cAAc;IAAEC;EAAsB,CAAC,GAAAH,IAAA;EAChE,MAAM;IAAEI;EAAO,CAAC,GAAG7B,iBAAiB,CAAC,CAAC;EACtC,MAAM;IAAE8B;EAAK,CAAC,GAAG7B,SAAS,CAAC,CAAC;EAE5B,OACEa,KAAA,CAAAiB,aAAA,CAAClC,SAAS;IACRmC,WAAW,EAAEjB,YAAY,CAACkB,MAAO;IACjCrB,OAAO,EAAEA,OAAQ;IACjBiB,MAAM,EAAEA,MAAO;IACfK,UAAU,EAAE,IAAK;IACjBC,MAAM,EAAEhB,SAAS,CAAC;MAChBO,QAAQ;MACRC,cAAc;MACdE,MAAM;MACND,SAAS;MACTQ,aAAa,EAAEN;IACjB,CAAC,CAAE;IACHO,IAAI,EAAE;MAAEC,QAAQ,EAAE;IAAS,CAAE;IAC7BC,QAAQ,EAAE;MACRC,QAAQ,EAAEA,CAACC,MAAqB,EAAEC,QAAqB,KAAK;QAAA,IAAAC,aAAA,EAAAC,CAAA;QAC1D,IAAI,GAAAD,aAAA,GAACF,MAAM,CAACI,KAAK,cAAAF,aAAA,eAAZA,aAAA,CAAe,CAAC,CAAC,GAAE;UACtB;QACF;QAEA,MAAM;UAAEG;QAAM,CAAC,GAAGpB,QAAQ;QAE1B,MAAM;UAAEqB,QAAQ;UAAEC;QAAM,CAAC,GAAGN,QAAQ,CAACvB,SAAS,CAAC,CAAC;QAChD,IACE,CAAC8B,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,IACxBA,QAAQ,CAACI,MAAM,KAAK,CAAC,IACrB,CAACJ,QAAQ,CAAC,CAAC,CAAC,IACZ,OAAOA,QAAQ,CAAC,CAAC,CAAC,CAACK,UAAU,KAAK,QAAQ,IAC1C,OAAOL,QAAQ,CAAC,CAAC,CAAC,CAACM,QAAQ,KAAK,QAAQ,EACxC;UACA;QACF;QAEA,MAAM;UAAED,UAAU;UAAEC;QAAS,CAAC,GAAGN,QAAQ,CAAC,CAAC,CAAqB;QAEhE,IAAI,CAACD,KAAK,CAACM,UAAU,CAAC,IAAI,CAACN,KAAK,CAACO,QAAQ,CAAC,EAAE;UAC1C;QACF;QAEA,MAAMC,qBAAqB,GAAGpC,+BAA+B,CAC3D4B,KAAK,CAACM,UAAU,CAAC,EACjBN,KAAK,CAACO,QAAQ,CAChB,CAAC;QAED,MAAME,sBAAsB,GAC1BN,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,IACpBA,KAAK,CAACG,MAAM,GAAG,CAAC,IAChB,EAAAP,CAAA,GAACI,KAAK,CAAgB,CAAC,CAAC,cAAAJ,CAAA,uBAAxBA,CAAA,CAA0BY,IAAI,MAAK,8BAA8B;QAEnE,IAAIF,qBAAqB,KAAKC,sBAAsB,EAAE;UACpD,MAAME,UAAU,GAAGxC,YAAY,CAAC;YAC9B6B,KAAK;YACLQ;UACF,CAAC,CAAC;UAEFZ,QAAQ,CAACgB,SAAS,CAAC;YACjBV,KAAK,EAAE;cACLW,EAAE,EAAE,YAAY;cAChBH,IAAI,EAAEF,qBAAqB,GACvB,8BAA8B,GAC9B,2BAA2B;cAC/BM,SAAS,EAAE;gBACTC,SAAS,EAAGC,KAAa,IACvB9C,gBAAgB,CAAC8C,KAAK,EAAER,qBAAqB;cACjD;YACF,CAAC;YACDS,MAAM,EAAE,CACN;cACEJ,EAAE,EAAE,aAAa;cACjBK,SAAS,EAAE;gBACTC,IAAI,EAAER;cACR;YACF,CAAC;UAEL,CAAC,CAAC;QACJ;MACF;IACF;EAAE,CACH,CAAC;AAEN,CAAC;AAED,SAASjC,KAAK","ignoreList":[]}