@oanda/labs-crowd-view-widget 1.0.52 → 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 (312) hide show
  1. package/CHANGELOG.md +436 -0
  2. package/dist/main/CrowdViewWidget/Main.js +4 -6
  3. package/dist/main/CrowdViewWidget/Main.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +18 -31
  5. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +7 -5
  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 -41
  51. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -0
  52. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.js +65 -0
  53. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.js.map +1 -0
  54. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +65 -0
  55. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -0
  56. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js +43 -0
  57. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -0
  58. package/dist/main/CrowdViewWidget/components/Chart/{utils → dataUtils}/validateData.js +8 -2
  59. package/dist/main/CrowdViewWidget/components/Chart/dataUtils/validateData.js.map +1 -0
  60. package/dist/main/CrowdViewWidget/components/Chart/getOption.js +103 -0
  61. package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +1 -0
  62. package/dist/main/CrowdViewWidget/components/Chart/index.js +11 -11
  63. package/dist/main/CrowdViewWidget/components/Chart/index.js.map +1 -1
  64. package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
  65. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +53 -30
  66. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  67. package/dist/main/CrowdViewWidget/components/Legend/Legend.js +15 -13
  68. package/dist/main/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  69. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +5 -16
  70. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  71. package/dist/main/CrowdViewWidget/constants.js +12 -18
  72. package/dist/main/CrowdViewWidget/constants.js.map +1 -1
  73. package/dist/main/gql/getOrderPositionBooks.js +1 -1
  74. package/dist/main/gql/getOrderPositionBooks.js.map +1 -1
  75. package/dist/main/gql/getPriceCandles.js +1 -1
  76. package/dist/main/gql/getPriceCandles.js.map +1 -1
  77. package/dist/main/gql/types/gql.js +2 -2
  78. package/dist/main/gql/types/gql.js.map +1 -1
  79. package/dist/main/gql/types/graphql.js +111 -18
  80. package/dist/main/gql/types/graphql.js.map +1 -1
  81. package/dist/main/translations/sources/en.json +2 -1
  82. package/dist/module/CrowdViewWidget/Main.js +3 -5
  83. package/dist/module/CrowdViewWidget/Main.js.map +1 -1
  84. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +20 -33
  85. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  86. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +7 -5
  87. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  88. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js +11 -0
  89. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js.map +1 -0
  90. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +23 -0
  91. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -0
  92. package/dist/module/CrowdViewWidget/components/Chart/{utils → chartOptions}/getGridLines.js +5 -52
  93. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -0
  94. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js +46 -0
  95. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js.map +1 -0
  96. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js +58 -0
  97. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js.map +1 -0
  98. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js +53 -0
  99. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js.map +1 -0
  100. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +46 -0
  101. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -0
  102. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.js +24 -0
  103. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.js.map +1 -0
  104. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +35 -0
  105. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -0
  106. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +68 -0
  107. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -0
  108. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js +11 -0
  109. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js.map +1 -0
  110. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +11 -0
  111. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -0
  112. package/dist/module/CrowdViewWidget/components/Chart/{utils → chartUtils}/getChartStyles.js +4 -4
  113. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getChartStyles.js.map +1 -0
  114. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.js +6 -0
  115. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.js.map +1 -0
  116. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js +35 -0
  117. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js.map +1 -0
  118. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getRectColor.js +7 -0
  119. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getRectColor.js.map +1 -0
  120. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +101 -0
  121. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -0
  122. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js +8 -0
  123. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -0
  124. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.js +8 -0
  125. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.js.map +1 -0
  126. package/dist/module/CrowdViewWidget/{utils/instrumentUtils.js → components/Chart/dataUtils/getInstrumentConfigForDivision.js} +3 -3
  127. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getInstrumentConfigForDivision.js.map +1 -0
  128. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.js +11 -0
  129. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.js.map +1 -0
  130. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js +7 -0
  131. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -0
  132. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.js +58 -0
  133. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.js.map +1 -0
  134. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +58 -0
  135. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -0
  136. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js +36 -0
  137. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -0
  138. package/dist/module/CrowdViewWidget/components/Chart/{utils → dataUtils}/validateData.js +8 -2
  139. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/validateData.js.map +1 -0
  140. package/dist/module/CrowdViewWidget/components/Chart/getOption.js +96 -0
  141. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +1 -0
  142. package/dist/module/CrowdViewWidget/components/Chart/index.js +1 -1
  143. package/dist/module/CrowdViewWidget/components/Chart/index.js.map +1 -1
  144. package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
  145. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +50 -27
  146. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  147. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +15 -13
  148. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  149. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +5 -16
  150. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  151. package/dist/module/CrowdViewWidget/constants.js +10 -17
  152. package/dist/module/CrowdViewWidget/constants.js.map +1 -1
  153. package/dist/module/gql/getOrderPositionBooks.js +1 -1
  154. package/dist/module/gql/getOrderPositionBooks.js.map +1 -1
  155. package/dist/module/gql/getPriceCandles.js +1 -1
  156. package/dist/module/gql/getPriceCandles.js.map +1 -1
  157. package/dist/module/gql/types/gql.js +2 -2
  158. package/dist/module/gql/types/gql.js.map +1 -1
  159. package/dist/module/gql/types/graphql.js +111 -18
  160. package/dist/module/gql/types/graphql.js.map +1 -1
  161. package/dist/module/translations/sources/en.json +2 -1
  162. package/dist/types/CrowdViewWidget/components/Chart/Chart.d.ts +1 -1
  163. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.d.ts +2 -0
  164. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.d.ts +6 -0
  165. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getGridLines.d.ts +6 -0
  166. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.d.ts +9 -0
  167. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.d.ts +11 -0
  168. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.d.ts +7 -0
  169. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.d.ts +16 -0
  170. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.d.ts +7 -0
  171. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.d.ts +7 -0
  172. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.d.ts +9 -0
  173. package/dist/types/CrowdViewWidget/components/Chart/chartOptions/index.d.ts +10 -0
  174. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.d.ts +1 -0
  175. package/dist/types/CrowdViewWidget/components/Chart/{utils → chartUtils}/getChartStyles.d.ts +2 -2
  176. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.d.ts +1 -0
  177. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getLabelData.d.ts +17 -0
  178. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getRectColor.d.ts +1 -0
  179. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.d.ts +10 -0
  180. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/index.d.ts +7 -0
  181. package/dist/types/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.d.ts +1 -0
  182. package/dist/types/CrowdViewWidget/{utils/instrumentUtils.d.ts → components/Chart/dataUtils/getInstrumentConfigForDivision.d.ts} +2 -2
  183. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.d.ts +2 -0
  184. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/index.d.ts +6 -0
  185. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.d.ts +11 -0
  186. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.d.ts +12 -0
  187. package/dist/types/CrowdViewWidget/components/Chart/dataUtils/processSentiments.d.ts +6 -0
  188. package/dist/types/CrowdViewWidget/components/Chart/{utils → dataUtils}/validateData.d.ts +1 -1
  189. package/dist/types/CrowdViewWidget/components/Chart/index.d.ts +1 -1
  190. package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +28 -11
  191. package/dist/types/CrowdViewWidget/components/Legend/Legend.d.ts +1 -4
  192. package/dist/types/CrowdViewWidget/components/Legend/LegendBar.d.ts +1 -3
  193. package/dist/types/CrowdViewWidget/constants.d.ts +4 -12
  194. package/dist/types/gql/types/gql.d.ts +6 -4
  195. package/dist/types/gql/types/graphql.d.ts +30 -11
  196. package/package.json +3 -3
  197. package/src/CrowdViewWidget/Main.tsx +3 -4
  198. package/src/CrowdViewWidget/components/Chart/Chart.tsx +25 -40
  199. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +8 -4
  200. package/src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts +13 -0
  201. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.ts +29 -0
  202. package/src/CrowdViewWidget/components/Chart/chartOptions/getGridLines.ts +84 -0
  203. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.ts +52 -0
  204. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.ts +82 -0
  205. package/src/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.ts +63 -0
  206. package/src/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.ts +63 -0
  207. package/src/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.ts +32 -0
  208. package/src/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.ts +43 -0
  209. package/src/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.ts +77 -0
  210. package/src/CrowdViewWidget/components/Chart/chartOptions/index.ts +10 -0
  211. package/src/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.ts +16 -0
  212. package/src/CrowdViewWidget/components/Chart/{utils → chartUtils}/getChartStyles.ts +9 -6
  213. package/src/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.ts +16 -0
  214. package/src/CrowdViewWidget/components/Chart/chartUtils/getLabelData.ts +42 -0
  215. package/src/CrowdViewWidget/components/Chart/chartUtils/getRectColor.ts +27 -0
  216. package/src/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.ts +183 -0
  217. package/src/CrowdViewWidget/components/Chart/chartUtils/index.ts +7 -0
  218. package/src/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.ts +13 -0
  219. package/src/CrowdViewWidget/{utils/instrumentUtils.ts → components/Chart/dataUtils/getInstrumentConfigForDivision.ts} +2 -2
  220. package/src/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.ts +14 -0
  221. package/src/CrowdViewWidget/components/Chart/dataUtils/index.ts +6 -0
  222. package/src/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.ts +92 -0
  223. package/src/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.ts +67 -0
  224. package/src/CrowdViewWidget/components/Chart/dataUtils/processSentiments.ts +55 -0
  225. package/src/CrowdViewWidget/components/Chart/{utils → dataUtils}/validateData.ts +10 -2
  226. package/src/CrowdViewWidget/components/Chart/getOption.ts +114 -0
  227. package/src/CrowdViewWidget/components/Chart/index.ts +1 -1
  228. package/src/CrowdViewWidget/components/Chart/types.ts +30 -19
  229. package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +84 -67
  230. package/src/CrowdViewWidget/components/Legend/Legend.tsx +24 -23
  231. package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +13 -26
  232. package/src/CrowdViewWidget/constants.ts +21 -23
  233. package/src/gql/getOrderPositionBooks.ts +13 -5
  234. package/src/gql/getPriceCandles.ts +1 -0
  235. package/src/gql/types/gql.ts +6 -6
  236. package/src/gql/types/graphql.ts +98 -16
  237. package/src/translations/sources/en.json +2 -1
  238. package/test/components/Chart/utils/chartUtils.test.ts +39 -21
  239. package/test/components/Chart/utils/getChartStyles.test.ts +10 -10
  240. package/test/components/Chart/utils/processSentiments.test.ts +138 -30
  241. package/test/components/Legend.test.tsx +13 -21
  242. package/test/components/LegendBar.test.tsx +31 -51
  243. package/test/utils/instrumentUtils.test.ts +1 -1
  244. package/test/utils/processOrderPositionBooks.test.ts +201 -84
  245. package/test/utils/processPriceCandles.test.ts +93 -67
  246. package/test/utils/validateData.test.ts +136 -38
  247. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js +0 -359
  248. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js.map +0 -1
  249. package/dist/main/CrowdViewWidget/components/Chart/utils/aggregateBuckets.js +0 -37
  250. package/dist/main/CrowdViewWidget/components/Chart/utils/aggregateBuckets.js.map +0 -1
  251. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js +0 -127
  252. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +0 -1
  253. package/dist/main/CrowdViewWidget/components/Chart/utils/getChartStyles.js.map +0 -1
  254. package/dist/main/CrowdViewWidget/components/Chart/utils/getGridLines.js.map +0 -1
  255. package/dist/main/CrowdViewWidget/components/Chart/utils/getTargetBucketWidth.js +0 -14
  256. package/dist/main/CrowdViewWidget/components/Chart/utils/getTargetBucketWidth.js.map +0 -1
  257. package/dist/main/CrowdViewWidget/components/Chart/utils/index.js.map +0 -1
  258. package/dist/main/CrowdViewWidget/components/Chart/utils/processBuckets.js +0 -29
  259. package/dist/main/CrowdViewWidget/components/Chart/utils/processBuckets.js.map +0 -1
  260. package/dist/main/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.js +0 -23
  261. package/dist/main/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.js.map +0 -1
  262. package/dist/main/CrowdViewWidget/components/Chart/utils/processPriceCandles.js +0 -43
  263. package/dist/main/CrowdViewWidget/components/Chart/utils/processPriceCandles.js.map +0 -1
  264. package/dist/main/CrowdViewWidget/components/Chart/utils/processSentiments.js +0 -28
  265. package/dist/main/CrowdViewWidget/components/Chart/utils/processSentiments.js.map +0 -1
  266. package/dist/main/CrowdViewWidget/components/Chart/utils/validateData.js.map +0 -1
  267. package/dist/main/CrowdViewWidget/utils/instrumentUtils.js.map +0 -1
  268. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js +0 -351
  269. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js.map +0 -1
  270. package/dist/module/CrowdViewWidget/components/Chart/utils/aggregateBuckets.js +0 -29
  271. package/dist/module/CrowdViewWidget/components/Chart/utils/aggregateBuckets.js.map +0 -1
  272. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js +0 -114
  273. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +0 -1
  274. package/dist/module/CrowdViewWidget/components/Chart/utils/getChartStyles.js.map +0 -1
  275. package/dist/module/CrowdViewWidget/components/Chart/utils/getGridLines.js.map +0 -1
  276. package/dist/module/CrowdViewWidget/components/Chart/utils/getTargetBucketWidth.js +0 -7
  277. package/dist/module/CrowdViewWidget/components/Chart/utils/getTargetBucketWidth.js.map +0 -1
  278. package/dist/module/CrowdViewWidget/components/Chart/utils/index.js +0 -10
  279. package/dist/module/CrowdViewWidget/components/Chart/utils/index.js.map +0 -1
  280. package/dist/module/CrowdViewWidget/components/Chart/utils/processBuckets.js +0 -22
  281. package/dist/module/CrowdViewWidget/components/Chart/utils/processBuckets.js.map +0 -1
  282. package/dist/module/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.js +0 -16
  283. package/dist/module/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.js.map +0 -1
  284. package/dist/module/CrowdViewWidget/components/Chart/utils/processPriceCandles.js +0 -36
  285. package/dist/module/CrowdViewWidget/components/Chart/utils/processPriceCandles.js.map +0 -1
  286. package/dist/module/CrowdViewWidget/components/Chart/utils/processSentiments.js +0 -21
  287. package/dist/module/CrowdViewWidget/components/Chart/utils/processSentiments.js.map +0 -1
  288. package/dist/module/CrowdViewWidget/components/Chart/utils/validateData.js.map +0 -1
  289. package/dist/module/CrowdViewWidget/utils/instrumentUtils.js.map +0 -1
  290. package/dist/types/CrowdViewWidget/components/Chart/utils/aggregateBuckets.d.ts +0 -2
  291. package/dist/types/CrowdViewWidget/components/Chart/utils/chartUtils.d.ts +0 -31
  292. package/dist/types/CrowdViewWidget/components/Chart/utils/getGridLines.d.ts +0 -97
  293. package/dist/types/CrowdViewWidget/components/Chart/utils/getTargetBucketWidth.d.ts +0 -3
  294. package/dist/types/CrowdViewWidget/components/Chart/utils/index.d.ts +0 -9
  295. package/dist/types/CrowdViewWidget/components/Chart/utils/processBuckets.d.ts +0 -3
  296. package/dist/types/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.d.ts +0 -8
  297. package/dist/types/CrowdViewWidget/components/Chart/utils/processPriceCandles.d.ts +0 -27
  298. package/dist/types/CrowdViewWidget/components/Chart/utils/processSentiments.d.ts +0 -3
  299. package/src/CrowdViewWidget/components/Chart/chartOptions.ts +0 -401
  300. package/src/CrowdViewWidget/components/Chart/utils/aggregateBuckets.ts +0 -44
  301. package/src/CrowdViewWidget/components/Chart/utils/chartUtils.ts +0 -216
  302. package/src/CrowdViewWidget/components/Chart/utils/getGridLines.ts +0 -148
  303. package/src/CrowdViewWidget/components/Chart/utils/getTargetBucketWidth.ts +0 -13
  304. package/src/CrowdViewWidget/components/Chart/utils/index.ts +0 -9
  305. package/src/CrowdViewWidget/components/Chart/utils/processBuckets.ts +0 -43
  306. package/src/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.ts +0 -30
  307. package/src/CrowdViewWidget/components/Chart/utils/processPriceCandles.ts +0 -53
  308. package/src/CrowdViewWidget/components/Chart/utils/processSentiments.ts +0 -42
  309. package/test/utils/aggregateBuckets.test.ts +0 -82
  310. package/test/utils/getTargetBucketWidth.test.ts +0 -37
  311. package/test/utils/processBuckets.test.ts +0 -153
  312. /package/dist/types/CrowdViewWidget/components/Chart/{chartOptions.d.ts → getOption.d.ts} +0 -0
@@ -1,114 +0,0 @@
1
- import chroma from 'chroma-js';
2
- import { BookType, Granularity, TimeSpan } from '../../../../gql/types/graphql';
3
- import { BOOKS_THRESHOLDS, CHART_CONFIG, COLOR_MAP, TIME_THRESHOLDS } from '../../../constants';
4
- export const getLabelData = _ref => {
5
- let {
6
- xAxisData,
7
- isGreaterThanTwoWeeks
8
- } = _ref;
9
- return xAxisData.filter((record, index, arr) => {
10
- if (index === 0) {
11
- return false;
12
- }
13
- const previousTimestamp = arr[index - 1];
14
- const currentDate = new Date(record);
15
- const previousDate = new Date(previousTimestamp);
16
- return isGreaterThanTwoWeeks ? currentDate.getDate() !== previousDate.getDate() : currentDate.getMonth() !== previousDate.getMonth();
17
- }).map(item => ({
18
- name: new Date(item).toLocaleDateString(undefined, {
19
- month: isGreaterThanTwoWeeks ? 'short' : 'long',
20
- day: isGreaterThanTwoWeeks ? 'numeric' : undefined
21
- }),
22
- xAxis: item,
23
- y: CHART_CONFIG.MAIN_HEIGHT + CHART_CONFIG.X_LABEL_SIZE - 22,
24
- silent: true,
25
- emphasis: {
26
- disabled: true
27
- },
28
- label: {
29
- fontFamily: 'Sofia W03',
30
- fontSize: 10,
31
- position: 'bottom',
32
- align: 'center',
33
- formatter: '{b}'
34
- }
35
- }));
36
- };
37
- export const isDifferenceGreaterThanTwoWeeks = (startDate, endDate) => {
38
- const date1 = new Date(startDate);
39
- const date2 = new Date(endDate);
40
- const differenceInMs = Math.abs(date2.getTime() - date1.getTime());
41
- return differenceInMs < TIME_THRESHOLDS.TWO_WEEKS_MS;
42
- };
43
- export const getTimeSpanForGranularity = granularity => {
44
- const granularityTimeSpanMap = {
45
- [Granularity.M5]: TimeSpan.TwoDays,
46
- [Granularity.M15]: TimeSpan.FiveDays,
47
- [Granularity.H1]: TimeSpan.TwentyDays,
48
- [Granularity.H4]: TimeSpan.NinetyDays
49
- };
50
- return granularityTimeSpanMap[granularity] || TimeSpan.TwoDays;
51
- };
52
- const getGradientColor = (value, startColor, targetColor) => {
53
- const startThreshold = BOOKS_THRESHOLDS.MIN;
54
- const endThreshold = BOOKS_THRESHOLDS.MAX;
55
- const colorScale = chroma.scale([startColor, targetColor]).domain([startThreshold, endThreshold]).mode('rgb');
56
- return colorScale(value).hex();
57
- };
58
- export const getRectColor = (sentiment, isDark) => {
59
- const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;
60
- return sentiment < 0 ? getGradientColor(sentiment * -1, colorPalette.short[0], colorPalette.short[1]) : getGradientColor(sentiment, colorPalette.long[0], colorPalette.long[1]);
61
- };
62
- export const getTooltipFormatter = _ref2 => {
63
- let {
64
- params,
65
- buckets,
66
- bucketWidth,
67
- selectedPrice,
68
- precision,
69
- bookType,
70
- labelCallback
71
- } = _ref2;
72
- if (!params || !Array.isArray(params) || params.length === 0) {
73
- return undefined;
74
- }
75
- const candleParam = params.find(series => series.seriesId === 'candlestick');
76
- const booksParam = params.find(series => series.seriesId === 'heatmap');
77
- const sentimentParam = params.find(series => series.seriesId === 'sentiment');
78
- if (!candleParam) {
79
- return undefined;
80
- }
81
- const time = new Date(candleParam.axisValue);
82
- const candleData = candleParam.value;
83
- const bucketsIndex = booksParam === null || booksParam === void 0 ? void 0 : booksParam.value[2];
84
- const selectedBuckets = bucketsIndex !== undefined ? buckets[bucketsIndex] : undefined;
85
- const matchedBucket = selectedBuckets === null || selectedBuckets === void 0 ? void 0 : selectedBuckets.find(_ref3 => {
86
- let {
87
- price
88
- } = _ref3;
89
- return selectedPrice >= price && selectedPrice < price + bucketWidth;
90
- });
91
- const showCandles = !!candleData[1] && !!candleData[2] && !!candleData[3] && !!candleData[4];
92
- if (!showCandles && !matchedBucket) {
93
- return undefined;
94
- }
95
- const showSentiment = !!(sentimentParam !== null && sentimentParam !== void 0 && sentimentParam.value[1]) && !!(sentimentParam !== null && sentimentParam !== void 0 && sentimentParam.value[2]);
96
- return "<p>".concat(time.toLocaleString(undefined, {
97
- hour: '2-digit',
98
- minute: '2-digit',
99
- year: 'numeric',
100
- day: 'numeric',
101
- month: 'numeric',
102
- timeZoneName: 'short'
103
- }), "</p><br />\n").concat(showCandles ? "<p><b>".concat(labelCallback('candle'), ":</b></p>\n<p>").concat(labelCallback('open_price'), ": ").concat(candleData[1], " </p>\n<p>").concat(labelCallback('close_price'), ": ").concat(candleData[2], " </p>\n<p>").concat(labelCallback('low'), ": ").concat(candleData[3], " </p>\n<p>").concat(labelCallback('high'), ": ").concat(candleData[4], " </p>\n") : '', "\n").concat(matchedBucket ? "<br /><p><b>".concat(labelCallback(bookType === BookType.Order ? 'orders' : 'positions'), ":</b></p>\n<p>").concat(labelCallback('price_range'), ": ").concat(matchedBucket.price.toFixed(precision - 1), " - ").concat(Number(matchedBucket.price + bucketWidth).toFixed(precision - 1), " </p>\n<p>").concat(matchedBucket.sentiment < 0 ? labelCallback(bookType === BookType.Order ? 'sell_overbalance' : 'short_overbalance') : labelCallback(bookType === BookType.Order ? 'buy_overbalance' : 'long_overbalance'), ": ").concat(Math.abs(matchedBucket.sentiment), "% </p>") : '').concat(showSentiment && sentimentParam ? "<br /><p><b>".concat(labelCallback('sentiment'), ":</b></p>\n<p>").concat(labelCallback('long'), ": ").concat(sentimentParam.value[2].toFixed(2), "% </p>\n<p>").concat(labelCallback('short'), ": ").concat(sentimentParam.value[1].toFixed(2), "% </p>") : '');
104
- };
105
- export const formatXAxisLabel = (value, isGreaterThanTwoWeeks) => {
106
- const date = new Date(value);
107
- return isGreaterThanTwoWeeks ? "".concat(date.toLocaleTimeString(undefined, {
108
- hour: '2-digit',
109
- minute: '2-digit'
110
- })) : "".concat(CHART_CONFIG.X_AXIS_DATE_PADDING).concat(date.toLocaleDateString(undefined, {
111
- day: 'numeric'
112
- })).concat(CHART_CONFIG.X_AXIS_DATE_PADDING);
113
- };
114
- //# sourceMappingURL=chartUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chartUtils.js","names":["chroma","BookType","Granularity","TimeSpan","BOOKS_THRESHOLDS","CHART_CONFIG","COLOR_MAP","TIME_THRESHOLDS","getLabelData","_ref","xAxisData","isGreaterThanTwoWeeks","filter","record","index","arr","previousTimestamp","currentDate","Date","previousDate","getDate","getMonth","map","item","name","toLocaleDateString","undefined","month","day","xAxis","y","MAIN_HEIGHT","X_LABEL_SIZE","silent","emphasis","disabled","label","fontFamily","fontSize","position","align","formatter","isDifferenceGreaterThanTwoWeeks","startDate","endDate","date1","date2","differenceInMs","Math","abs","getTime","TWO_WEEKS_MS","getTimeSpanForGranularity","granularity","granularityTimeSpanMap","M5","TwoDays","M15","FiveDays","H1","TwentyDays","H4","NinetyDays","getGradientColor","value","startColor","targetColor","startThreshold","MIN","endThreshold","MAX","colorScale","scale","domain","mode","hex","getRectColor","sentiment","isDark","colorPalette","dark","light","short","long","getTooltipFormatter","_ref2","params","buckets","bucketWidth","selectedPrice","precision","bookType","labelCallback","Array","isArray","length","candleParam","find","series","seriesId","booksParam","sentimentParam","time","axisValue","candleData","bucketsIndex","selectedBuckets","matchedBucket","_ref3","price","showCandles","showSentiment","concat","toLocaleString","hour","minute","year","timeZoneName","Order","toFixed","Number","formatXAxisLabel","date","toLocaleTimeString","X_AXIS_DATE_PADDING"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/chartUtils.ts"],"sourcesContent":["import chroma from 'chroma-js';\n\nimport { BookType, Granularity, TimeSpan } from '../../../../gql/types/graphql';\nimport {\n BOOKS_THRESHOLDS,\n CHART_CONFIG,\n COLOR_MAP,\n TIME_THRESHOLDS,\n} from '../../../constants';\nimport type { Bucket, GetLabelsDataProps, TooltipParam } from '../types';\n\nexport const getLabelData = ({\n xAxisData,\n isGreaterThanTwoWeeks,\n}: GetLabelsDataProps) =>\n xAxisData\n .filter((record, index, arr) => {\n if (index === 0) {\n return false;\n }\n const previousTimestamp = arr[index - 1];\n const currentDate = new Date(record);\n const previousDate = new Date(previousTimestamp);\n\n return isGreaterThanTwoWeeks\n ? currentDate.getDate() !== previousDate.getDate()\n : currentDate.getMonth() !== previousDate.getMonth();\n })\n .map((item) => ({\n name: new Date(item).toLocaleDateString(undefined, {\n month: isGreaterThanTwoWeeks ? 'short' : 'long',\n day: isGreaterThanTwoWeeks ? 'numeric' : undefined,\n }),\n xAxis: item,\n y: CHART_CONFIG.MAIN_HEIGHT + CHART_CONFIG.X_LABEL_SIZE - 22,\n silent: true,\n emphasis: {\n disabled: true,\n },\n label: {\n fontFamily: 'Sofia W03',\n fontSize: 10,\n position: 'bottom',\n align: 'center',\n formatter: '{b}',\n },\n }));\n\nexport const isDifferenceGreaterThanTwoWeeks = (\n startDate: string,\n endDate: string\n) => {\n const date1 = new Date(startDate);\n const date2 = new Date(endDate);\n\n const differenceInMs = Math.abs(date2.getTime() - date1.getTime());\n\n return differenceInMs < TIME_THRESHOLDS.TWO_WEEKS_MS;\n};\n\nexport const getTimeSpanForGranularity = (\n granularity: Granularity\n): TimeSpan => {\n const granularityTimeSpanMap: Record<Granularity, TimeSpan> = {\n [Granularity.M5]: TimeSpan.TwoDays,\n [Granularity.M15]: TimeSpan.FiveDays,\n [Granularity.H1]: TimeSpan.TwentyDays,\n [Granularity.H4]: TimeSpan.NinetyDays,\n };\n\n return granularityTimeSpanMap[granularity] || TimeSpan.TwoDays;\n};\n\nconst getGradientColor = (\n value: number,\n startColor: string,\n targetColor: string\n): string => {\n const startThreshold = BOOKS_THRESHOLDS.MIN;\n const endThreshold = BOOKS_THRESHOLDS.MAX;\n\n const colorScale = chroma\n .scale([startColor, targetColor])\n .domain([startThreshold, endThreshold])\n .mode('rgb');\n\n return colorScale(value).hex();\n};\n\nexport const getRectColor = (sentiment: number, isDark: boolean) => {\n const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;\n\n return sentiment < 0\n ? getGradientColor(\n sentiment * -1,\n colorPalette.short[0],\n colorPalette.short[1]\n )\n : getGradientColor(sentiment, colorPalette.long[0], colorPalette.long[1]);\n};\n\nexport const getTooltipFormatter = ({\n params,\n buckets,\n bucketWidth,\n selectedPrice,\n precision,\n bookType,\n labelCallback,\n}: {\n params: TooltipParam[];\n buckets: Bucket[][];\n bucketWidth: number;\n selectedPrice: number;\n precision: number;\n bookType: BookType;\n labelCallback: (key: string) => string;\n}) => {\n if (!params || !Array.isArray(params) || params.length === 0) {\n return undefined;\n }\n const candleParam = params.find(\n (series): series is Extract<TooltipParam, { seriesId: 'candlestick' }> =>\n series.seriesId === 'candlestick'\n );\n const booksParam = params.find(\n (series): series is Extract<TooltipParam, { seriesId: 'heatmap' }> =>\n series.seriesId === 'heatmap'\n );\n const sentimentParam = params.find(\n (series): series is Extract<TooltipParam, { seriesId: 'sentiment' }> =>\n series.seriesId === 'sentiment'\n );\n\n if (!candleParam) {\n return undefined;\n }\n const time = new Date(candleParam.axisValue as string);\n\n const candleData = candleParam.value;\n const bucketsIndex = booksParam?.value[2];\n const selectedBuckets =\n bucketsIndex !== undefined ? buckets[bucketsIndex] : undefined;\n\n const matchedBucket = selectedBuckets?.find(\n ({ price }) => selectedPrice >= price && selectedPrice < price + bucketWidth\n );\n const showCandles =\n !!candleData[1] && !!candleData[2] && !!candleData[3] && !!candleData[4];\n\n if (!showCandles && !matchedBucket) {\n return undefined;\n }\n\n const showSentiment =\n !!sentimentParam?.value[1] && !!sentimentParam?.value[2];\n\n return `<p>${time.toLocaleString(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n year: 'numeric',\n day: 'numeric',\n month: 'numeric',\n timeZoneName: 'short',\n })}</p><br />\n${\n showCandles\n ? `<p><b>${labelCallback('candle')}:</b></p>\n<p>${labelCallback('open_price')}: ${candleData[1]} </p>\n<p>${labelCallback('close_price')}: ${candleData[2]} </p>\n<p>${labelCallback('low')}: ${candleData[3]} </p>\n<p>${labelCallback('high')}: ${candleData[4]} </p>\n`\n : ''\n}\n${\n matchedBucket\n ? `<br /><p><b>${labelCallback(bookType === BookType.Order ? 'orders' : 'positions')}:</b></p>\n<p>${labelCallback('price_range')}: ${matchedBucket.price.toFixed(precision - 1)} - ${Number(matchedBucket.price + bucketWidth).toFixed(precision - 1)} </p>\n<p>${\n matchedBucket.sentiment < 0\n ? labelCallback(\n bookType === BookType.Order\n ? 'sell_overbalance'\n : 'short_overbalance'\n )\n : labelCallback(\n bookType === BookType.Order\n ? 'buy_overbalance'\n : 'long_overbalance'\n )\n }: ${Math.abs(matchedBucket.sentiment)}% </p>`\n : ''\n}${\n showSentiment && sentimentParam\n ? `<br /><p><b>${labelCallback('sentiment')}:</b></p>\n<p>${labelCallback('long')}: ${sentimentParam.value[2].toFixed(2)}% </p>\n<p>${labelCallback('short')}: ${sentimentParam.value[1].toFixed(2)}% </p>`\n : ''\n }`;\n};\n\nexport const formatXAxisLabel = (\n value: unknown,\n isGreaterThanTwoWeeks: boolean\n) => {\n const date = new Date(value as string);\n return isGreaterThanTwoWeeks\n ? `${date.toLocaleTimeString(undefined, {\n hour: '2-digit',\n minute: '2-digit',\n })}`\n : `${CHART_CONFIG.X_AXIS_DATE_PADDING}${date.toLocaleDateString(undefined, {\n day: 'numeric',\n })}${CHART_CONFIG.X_AXIS_DATE_PADDING}`;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getChartStyles.js","names":["colorPalette","getChartStyles","isDark","sentimentLongColor","darkBlue90","lightBlue90","sentimentShortColor","darkYellow90","lightYellow90","candleLongColor","bottleGreenDark","bottleGreenLight","candleShortColor","orange","raspberryLight","sentimentAreaOpacity","tooltipLinesColor","sentimentLabelColor","white","black"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/getChartStyles.ts"],"sourcesContent":["import { colorPalette } from '@oanda/labs-widget-common';\n\nexport interface ChartStyles {\n sentimentLongColor: string;\n sentimentShortColor: string;\n candleLongColor: string;\n candleShortColor: string;\n sentimentAreaOpacity: number;\n tooltipLinesColor: string;\n sentimentLabelColor: string;\n}\n\nexport const getChartStyles = (isDark: boolean): ChartStyles => {\n const sentimentLongColor = isDark\n ? colorPalette.darkBlue90\n : colorPalette.lightBlue90;\n const sentimentShortColor = isDark\n ? colorPalette.darkYellow90\n : colorPalette.lightYellow90;\n\n const candleLongColor = isDark\n ? colorPalette.bottleGreenDark\n : colorPalette.bottleGreenLight;\n const candleShortColor = isDark\n ? colorPalette.orange\n : colorPalette.raspberryLight;\n const sentimentAreaOpacity = isDark ? 0.5 : 0.2;\n const tooltipLinesColor = isDark\n ? colorPalette.orange\n : colorPalette.bottleGreenLight;\n const sentimentLabelColor = isDark ? colorPalette.white : colorPalette.black;\n\n return {\n sentimentLongColor,\n sentimentShortColor,\n candleLongColor,\n candleShortColor,\n sentimentAreaOpacity,\n tooltipLinesColor,\n sentimentLabelColor,\n };\n};\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,2BAA2B;AAYxD,OAAO,MAAMC,cAAc,GAAIC,MAAe,IAAkB;EAC9D,MAAMC,kBAAkB,GAAGD,MAAM,GAC7BF,YAAY,CAACI,UAAU,GACvBJ,YAAY,CAACK,WAAW;EAC5B,MAAMC,mBAAmB,GAAGJ,MAAM,GAC9BF,YAAY,CAACO,YAAY,GACzBP,YAAY,CAACQ,aAAa;EAE9B,MAAMC,eAAe,GAAGP,MAAM,GAC1BF,YAAY,CAACU,eAAe,GAC5BV,YAAY,CAACW,gBAAgB;EACjC,MAAMC,gBAAgB,GAAGV,MAAM,GAC3BF,YAAY,CAACa,MAAM,GACnBb,YAAY,CAACc,cAAc;EAC/B,MAAMC,oBAAoB,GAAGb,MAAM,GAAG,GAAG,GAAG,GAAG;EAC/C,MAAMc,iBAAiB,GAAGd,MAAM,GAC5BF,YAAY,CAACa,MAAM,GACnBb,YAAY,CAACW,gBAAgB;EACjC,MAAMM,mBAAmB,GAAGf,MAAM,GAAGF,YAAY,CAACkB,KAAK,GAAGlB,YAAY,CAACmB,KAAK;EAE5E,OAAO;IACLhB,kBAAkB;IAClBG,mBAAmB;IACnBG,eAAe;IACfG,gBAAgB;IAChBG,oBAAoB;IACpBC,iBAAiB;IACjBC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getGridLines.js","names":["getLineCommons","CHART_CONFIG","getGridLines","_ref","isDark","isDesktop","WIDTH","MAIN_HEIGHT","MARGIN_BETWEEN","SENTIMENT_HEIGHT","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","Y_LABEL_SIZE_MOBILE","_objectSpread","top","shape","x1","y1","x2","y2","right","left"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/getGridLines.ts"],"sourcesContent":["import { getLineCommons } from '@oanda/labs-widget-common';\n\nimport { CHART_CONFIG } from '../../../constants';\n\nexport const getGridLines = ({\n isDark,\n isDesktop,\n}: {\n isDark: boolean;\n isDesktop: boolean;\n}) => {\n const {\n WIDTH,\n MAIN_HEIGHT,\n MARGIN_BETWEEN,\n SENTIMENT_HEIGHT,\n X_LABEL_SIZE,\n Y_LABEL_SIZE_DESKTOP,\n Y_LABEL_SIZE_MOBILE,\n } = CHART_CONFIG;\n return [\n // Main Top\n {\n ...getLineCommons(isDark),\n top: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Main Right\n {\n ...getLineCommons(isDark),\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT + X_LABEL_SIZE + 2,\n },\n },\n // Main Bottom\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Main Left\n {\n ...getLineCommons(isDark),\n left: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT + X_LABEL_SIZE + 2,\n },\n },\n // Main Y Label\n {\n ...getLineCommons(isDark),\n right: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 2,\n top: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: MAIN_HEIGHT,\n },\n },\n // Main X Label\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Sentiment Top\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Sentiment Right\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,\n right: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: SENTIMENT_HEIGHT,\n },\n },\n // Sentiment Bottom\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN + SENTIMENT_HEIGHT - 3,\n shape: {\n x1: 0,\n y1: 0,\n x2: WIDTH,\n y2: 0,\n },\n },\n // Sentiment Left\n {\n ...getLineCommons(isDark),\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,\n left: -2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: SENTIMENT_HEIGHT,\n },\n },\n // Sentiment Y Label\n {\n ...getLineCommons(isDark),\n right: (isDesktop ? Y_LABEL_SIZE_DESKTOP : Y_LABEL_SIZE_MOBILE) - 3,\n top: MAIN_HEIGHT + X_LABEL_SIZE + MARGIN_BETWEEN - 2,\n shape: {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: SENTIMENT_HEIGHT,\n },\n },\n ];\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import { Granularity } from '../../../../gql/types/graphql';
2
- import { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../../constants';
3
- export const getTargetBucketWidth = (granularity, instrument) => {
4
- const bucketWidth = INSTRUMENTS_CONFIG[instrument].defaultBucketWidth;
5
- return granularity === Granularity.H1 || granularity === Granularity.H4 ? bucketWidth * BUCKET_CONFIG.MULTIPLIER : bucketWidth;
6
- };
7
- //# sourceMappingURL=getTargetBucketWidth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTargetBucketWidth.js","names":["Granularity","BUCKET_CONFIG","INSTRUMENTS_CONFIG","getTargetBucketWidth","granularity","instrument","bucketWidth","defaultBucketWidth","H1","H4","MULTIPLIER"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/getTargetBucketWidth.ts"],"sourcesContent":["import { Granularity } from '../../../../gql/types/graphql';\nimport { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../../constants';\nimport type { InstrumentId } from '../../../types';\n\nexport const getTargetBucketWidth = (\n granularity: Granularity,\n instrument: InstrumentId\n): number => {\n const bucketWidth = INSTRUMENTS_CONFIG[instrument].defaultBucketWidth;\n return granularity === Granularity.H1 || granularity === Granularity.H4\n ? bucketWidth * BUCKET_CONFIG.MULTIPLIER\n : bucketWidth;\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,+BAA+B;AAC3D,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,oBAAoB;AAGtE,OAAO,MAAMC,oBAAoB,GAAGA,CAClCC,WAAwB,EACxBC,UAAwB,KACb;EACX,MAAMC,WAAW,GAAGJ,kBAAkB,CAACG,UAAU,CAAC,CAACE,kBAAkB;EACrE,OAAOH,WAAW,KAAKJ,WAAW,CAACQ,EAAE,IAAIJ,WAAW,KAAKJ,WAAW,CAACS,EAAE,GACnEH,WAAW,GAAGL,aAAa,CAACS,UAAU,GACtCJ,WAAW;AACjB,CAAC","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- export * from './aggregateBuckets';
2
- export * from './chartUtils';
3
- export * from './getChartStyles';
4
- export * from './getTargetBucketWidth';
5
- export * from './processBuckets';
6
- export * from './processOrderPositionBooks';
7
- export * from './processPriceCandles';
8
- export * from './processSentiments';
9
- export * from './validateData';
10
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/index.ts"],"sourcesContent":["export * from './aggregateBuckets';\nexport * from './chartUtils';\nexport * from './getChartStyles';\nexport * from './getTargetBucketWidth';\nexport * from './processBuckets';\nexport * from './processOrderPositionBooks';\nexport * from './processPriceCandles';\nexport * from './processSentiments';\nexport * from './validateData';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,cAAc;AAC5B,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,kBAAkB;AAChC,cAAc,6BAA6B;AAC3C,cAAc,uBAAuB;AACrC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB","ignoreList":[]}
@@ -1,22 +0,0 @@
1
- import { BOOKS_THRESHOLDS } from '../../../constants';
2
- import { aggregateBuckets } from './aggregateBuckets';
3
- export const processBuckets = (orderPositionData, targetBucketWidth) => {
4
- var _orderPositionData$or;
5
- if (!(orderPositionData !== null && orderPositionData !== void 0 && (_orderPositionData$or = orderPositionData.orderPositionBooks) !== null && _orderPositionData$or !== void 0 && _orderPositionData$or.length)) {
6
- return [];
7
- }
8
- return orderPositionData.orderPositionBooks.filter(book => {
9
- var _book$buckets;
10
- return book !== null && ((_book$buckets = book.buckets) === null || _book$buckets === void 0 ? void 0 : _book$buckets.length) > 0;
11
- }).map(book => {
12
- var _book$bucketWidth;
13
- const validBuckets = book.buckets.filter(bucket => bucket !== null && bucket.price !== undefined && bucket.sentiment !== undefined && bucket.sentiment !== null).map(bucket => ({
14
- price: bucket.price,
15
- sentiment: bucket.sentiment
16
- }));
17
- const bucketsToFilter = targetBucketWidth > ((_book$bucketWidth = book.bucketWidth) !== null && _book$bucketWidth !== void 0 ? _book$bucketWidth : 0) ? aggregateBuckets(validBuckets, targetBucketWidth) : validBuckets;
18
- const filteredBuckets = bucketsToFilter.filter(bucket => Math.abs(bucket.sentiment) >= BOOKS_THRESHOLDS.MIN);
19
- return filteredBuckets;
20
- });
21
- };
22
- //# sourceMappingURL=processBuckets.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processBuckets.js","names":["BOOKS_THRESHOLDS","aggregateBuckets","processBuckets","orderPositionData","targetBucketWidth","_orderPositionData$or","orderPositionBooks","length","filter","book","_book$buckets","buckets","map","_book$bucketWidth","validBuckets","bucket","price","undefined","sentiment","bucketsToFilter","bucketWidth","filteredBuckets","Math","abs","MIN"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/processBuckets.ts"],"sourcesContent":["import type { GetOrderPositionBooksQuery } from '../../../../gql/types/graphql';\nimport { BOOKS_THRESHOLDS } from '../../../constants';\nimport type { Bucket } from '../types';\nimport { aggregateBuckets } from './aggregateBuckets';\n\nexport const processBuckets = (\n orderPositionData: GetOrderPositionBooksQuery | undefined,\n targetBucketWidth: number\n): Bucket[][] => {\n if (!orderPositionData?.orderPositionBooks?.length) {\n return [];\n }\n\n return orderPositionData.orderPositionBooks\n .filter((book): book is NonNullable<typeof book> => {\n return book !== null && book.buckets?.length > 0;\n })\n .map((book) => {\n const validBuckets = book.buckets\n .filter(\n (bucket): bucket is NonNullable<typeof bucket> =>\n bucket !== null &&\n bucket.price !== undefined &&\n bucket.sentiment !== undefined &&\n bucket.sentiment !== null\n )\n .map((bucket) => ({\n price: bucket.price!,\n sentiment: bucket.sentiment!,\n }));\n\n const bucketsToFilter =\n targetBucketWidth > (book.bucketWidth ?? 0)\n ? aggregateBuckets(validBuckets, targetBucketWidth)\n : validBuckets;\n\n const filteredBuckets = bucketsToFilter.filter(\n (bucket: Bucket) => Math.abs(bucket.sentiment) >= BOOKS_THRESHOLDS.MIN\n );\n\n return filteredBuckets;\n });\n};\n"],"mappings":"AACA,SAASA,gBAAgB,QAAQ,oBAAoB;AAErD,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,OAAO,MAAMC,cAAc,GAAGA,CAC5BC,iBAAyD,EACzDC,iBAAyB,KACV;EAAA,IAAAC,qBAAA;EACf,IAAI,EAACF,iBAAiB,aAAjBA,iBAAiB,gBAAAE,qBAAA,GAAjBF,iBAAiB,CAAEG,kBAAkB,cAAAD,qBAAA,eAArCA,qBAAA,CAAuCE,MAAM,GAAE;IAClD,OAAO,EAAE;EACX;EAEA,OAAOJ,iBAAiB,CAACG,kBAAkB,CACxCE,MAAM,CAAEC,IAAI,IAAuC;IAAA,IAAAC,aAAA;IAClD,OAAOD,IAAI,KAAK,IAAI,IAAI,EAAAC,aAAA,GAAAD,IAAI,CAACE,OAAO,cAAAD,aAAA,uBAAZA,aAAA,CAAcH,MAAM,IAAG,CAAC;EAClD,CAAC,CAAC,CACDK,GAAG,CAAEH,IAAI,IAAK;IAAA,IAAAI,iBAAA;IACb,MAAMC,YAAY,GAAGL,IAAI,CAACE,OAAO,CAC9BH,MAAM,CACJO,MAAM,IACLA,MAAM,KAAK,IAAI,IACfA,MAAM,CAACC,KAAK,KAAKC,SAAS,IAC1BF,MAAM,CAACG,SAAS,KAAKD,SAAS,IAC9BF,MAAM,CAACG,SAAS,KAAK,IACzB,CAAC,CACAN,GAAG,CAAEG,MAAM,KAAM;MAChBC,KAAK,EAAED,MAAM,CAACC,KAAM;MACpBE,SAAS,EAAEH,MAAM,CAACG;IACpB,CAAC,CAAC,CAAC;IAEL,MAAMC,eAAe,GACnBf,iBAAiB,KAAAS,iBAAA,GAAIJ,IAAI,CAACW,WAAW,cAAAP,iBAAA,cAAAA,iBAAA,GAAI,CAAC,CAAC,GACvCZ,gBAAgB,CAACa,YAAY,EAAEV,iBAAiB,CAAC,GACjDU,YAAY;IAElB,MAAMO,eAAe,GAAGF,eAAe,CAACX,MAAM,CAC3CO,MAAc,IAAKO,IAAI,CAACC,GAAG,CAACR,MAAM,CAACG,SAAS,CAAC,IAAIlB,gBAAgB,CAACwB,GACrE,CAAC;IAED,OAAOH,eAAe;EACxB,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- export const processOrderPositionBooks = (orderPositionData, candleMap) => {
2
- var _orderPositionData$or;
3
- if (!(orderPositionData !== null && orderPositionData !== void 0 && (_orderPositionData$or = orderPositionData.orderPositionBooks) !== null && _orderPositionData$or !== void 0 && _orderPositionData$or.length)) {
4
- return [];
5
- }
6
- return orderPositionData.orderPositionBooks.filter(book => {
7
- var _book$buckets;
8
- return book !== null && ((_book$buckets = book.buckets) === null || _book$buckets === void 0 ? void 0 : _book$buckets.length) > 0;
9
- }).map((book, index) => {
10
- var _candle$high;
11
- const candle = candleMap.get(book.time);
12
- const price = (_candle$high = candle === null || candle === void 0 ? void 0 : candle.high) !== null && _candle$high !== void 0 ? _candle$high : null;
13
- return [book.time, price, index];
14
- });
15
- };
16
- //# sourceMappingURL=processOrderPositionBooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processOrderPositionBooks.js","names":["processOrderPositionBooks","orderPositionData","candleMap","_orderPositionData$or","orderPositionBooks","length","filter","book","_book$buckets","buckets","map","index","_candle$high","candle","get","time","price","high"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/processOrderPositionBooks.ts"],"sourcesContent":["import type { GetOrderPositionBooksQuery } from '../../../../gql/types/graphql';\n\nexport const processOrderPositionBooks = (\n orderPositionData: GetOrderPositionBooksQuery | undefined,\n candleMap: Map<\n string,\n {\n point?: string;\n high?: number;\n low?: number;\n open?: number;\n close?: number;\n }\n >\n): [string, number | null, number][] => {\n if (!orderPositionData?.orderPositionBooks?.length) {\n return [];\n }\n\n return orderPositionData.orderPositionBooks\n .filter((book): book is NonNullable<typeof book> => {\n return book !== null && book.buckets?.length > 0;\n })\n .map((book, index) => {\n const candle = candleMap.get(book.time);\n const price = candle?.high ?? null;\n\n return [book.time, price, index] as [string, number | null, number];\n });\n};\n"],"mappings":"AAEA,OAAO,MAAMA,yBAAyB,GAAGA,CACvCC,iBAAyD,EACzDC,SASC,KACqC;EAAA,IAAAC,qBAAA;EACtC,IAAI,EAACF,iBAAiB,aAAjBA,iBAAiB,gBAAAE,qBAAA,GAAjBF,iBAAiB,CAAEG,kBAAkB,cAAAD,qBAAA,eAArCA,qBAAA,CAAuCE,MAAM,GAAE;IAClD,OAAO,EAAE;EACX;EAEA,OAAOJ,iBAAiB,CAACG,kBAAkB,CACxCE,MAAM,CAAEC,IAAI,IAAuC;IAAA,IAAAC,aAAA;IAClD,OAAOD,IAAI,KAAK,IAAI,IAAI,EAAAC,aAAA,GAAAD,IAAI,CAACE,OAAO,cAAAD,aAAA,uBAAZA,aAAA,CAAcH,MAAM,IAAG,CAAC;EAClD,CAAC,CAAC,CACDK,GAAG,CAAC,CAACH,IAAI,EAAEI,KAAK,KAAK;IAAA,IAAAC,YAAA;IACpB,MAAMC,MAAM,GAAGX,SAAS,CAACY,GAAG,CAACP,IAAI,CAACQ,IAAI,CAAC;IACvC,MAAMC,KAAK,IAAAJ,YAAA,GAAGC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEI,IAAI,cAAAL,YAAA,cAAAA,YAAA,GAAI,IAAI;IAElC,OAAO,CAACL,IAAI,CAACQ,IAAI,EAAEC,KAAK,EAAEL,KAAK,CAAC;EAClC,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
@@ -1,36 +0,0 @@
1
- export const processPriceCandles = priceCandlesData => {
2
- var _priceCandlesData$pri;
3
- if (!(priceCandlesData !== null && priceCandlesData !== void 0 && (_priceCandlesData$pri = priceCandlesData.priceCandles) !== null && _priceCandlesData$pri !== void 0 && (_priceCandlesData$pri = _priceCandlesData$pri.candle) !== null && _priceCandlesData$pri !== void 0 && _priceCandlesData$pri.length)) {
4
- return {
5
- minPrice: 0,
6
- maxPrice: 0,
7
- hasValidCandles: false,
8
- candleMap: new Map(),
9
- candles: []
10
- };
11
- }
12
- const candles = priceCandlesData.priceCandles.candle;
13
- let calculatedMinPrice = Number.MAX_VALUE;
14
- let calculatedMaxPrice = Number.MIN_VALUE;
15
- const candleMap = new Map();
16
- candles.forEach(candle => {
17
- if (!candle) return;
18
- if (candle.high > calculatedMaxPrice) {
19
- calculatedMaxPrice = candle.high;
20
- }
21
- if (candle.low < calculatedMinPrice) {
22
- calculatedMinPrice = candle.low;
23
- }
24
- if (candle.point) {
25
- candleMap.set(candle.point, candle);
26
- }
27
- });
28
- return {
29
- minPrice: calculatedMinPrice,
30
- maxPrice: calculatedMaxPrice,
31
- hasValidCandles: true,
32
- candleMap,
33
- candles
34
- };
35
- };
36
- //# sourceMappingURL=processPriceCandles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processPriceCandles.js","names":["processPriceCandles","priceCandlesData","_priceCandlesData$pri","priceCandles","candle","length","minPrice","maxPrice","hasValidCandles","candleMap","Map","candles","calculatedMinPrice","Number","MAX_VALUE","calculatedMaxPrice","MIN_VALUE","forEach","high","low","point","set"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/processPriceCandles.ts"],"sourcesContent":["import type { GetPriceCandlesQuery } from '../../../../gql/types/graphql';\n\nexport const processPriceCandles = (\n priceCandlesData: GetPriceCandlesQuery | undefined\n) => {\n if (!priceCandlesData?.priceCandles?.candle?.length) {\n return {\n minPrice: 0,\n maxPrice: 0,\n hasValidCandles: false,\n candleMap: new Map(),\n candles: [],\n };\n }\n\n const candles = priceCandlesData.priceCandles.candle;\n let calculatedMinPrice = Number.MAX_VALUE;\n let calculatedMaxPrice = Number.MIN_VALUE;\n\n const candleMap = new Map<\n string,\n {\n point?: string;\n high?: number;\n low?: number;\n open?: number;\n close?: number;\n }\n >();\n\n candles.forEach((candle) => {\n if (!candle) return;\n\n if (candle.high > calculatedMaxPrice) {\n calculatedMaxPrice = candle.high;\n }\n if (candle.low < calculatedMinPrice) {\n calculatedMinPrice = candle.low;\n }\n\n if (candle.point) {\n candleMap.set(candle.point, candle);\n }\n });\n\n return {\n minPrice: calculatedMinPrice,\n maxPrice: calculatedMaxPrice,\n hasValidCandles: true,\n candleMap,\n candles,\n };\n};\n"],"mappings":"AAEA,OAAO,MAAMA,mBAAmB,GAC9BC,gBAAkD,IAC/C;EAAA,IAAAC,qBAAA;EACH,IAAI,EAACD,gBAAgB,aAAhBA,gBAAgB,gBAAAC,qBAAA,GAAhBD,gBAAgB,CAAEE,YAAY,cAAAD,qBAAA,gBAAAA,qBAAA,GAA9BA,qBAAA,CAAgCE,MAAM,cAAAF,qBAAA,eAAtCA,qBAAA,CAAwCG,MAAM,GAAE;IACnD,OAAO;MACLC,QAAQ,EAAE,CAAC;MACXC,QAAQ,EAAE,CAAC;MACXC,eAAe,EAAE,KAAK;MACtBC,SAAS,EAAE,IAAIC,GAAG,CAAC,CAAC;MACpBC,OAAO,EAAE;IACX,CAAC;EACH;EAEA,MAAMA,OAAO,GAAGV,gBAAgB,CAACE,YAAY,CAACC,MAAM;EACpD,IAAIQ,kBAAkB,GAAGC,MAAM,CAACC,SAAS;EACzC,IAAIC,kBAAkB,GAAGF,MAAM,CAACG,SAAS;EAEzC,MAAMP,SAAS,GAAG,IAAIC,GAAG,CASvB,CAAC;EAEHC,OAAO,CAACM,OAAO,CAAEb,MAAM,IAAK;IAC1B,IAAI,CAACA,MAAM,EAAE;IAEb,IAAIA,MAAM,CAACc,IAAI,GAAGH,kBAAkB,EAAE;MACpCA,kBAAkB,GAAGX,MAAM,CAACc,IAAI;IAClC;IACA,IAAId,MAAM,CAACe,GAAG,GAAGP,kBAAkB,EAAE;MACnCA,kBAAkB,GAAGR,MAAM,CAACe,GAAG;IACjC;IAEA,IAAIf,MAAM,CAACgB,KAAK,EAAE;MAChBX,SAAS,CAACY,GAAG,CAACjB,MAAM,CAACgB,KAAK,EAAEhB,MAAM,CAAC;IACrC;EACF,CAAC,CAAC;EAEF,OAAO;IACLE,QAAQ,EAAEM,kBAAkB;IAC5BL,QAAQ,EAAEQ,kBAAkB;IAC5BP,eAAe,EAAE,IAAI;IACrBC,SAAS;IACTE;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,21 +0,0 @@
1
- export const processSentiments = (sentimentsData, xAxisData) => {
2
- var _sentimentsData$senti;
3
- if (!(sentimentsData !== null && sentimentsData !== void 0 && (_sentimentsData$senti = sentimentsData.sentiments) !== null && _sentimentsData$senti !== void 0 && (_sentimentsData$senti = _sentimentsData$senti.sentiments) !== null && _sentimentsData$senti !== void 0 && _sentimentsData$senti.length)) {
4
- return [];
5
- }
6
- const sentimentMap = new Map(sentimentsData.sentiments.sentiments.filter(item => {
7
- var _item$sentiment, _item$sentiment2;
8
- return (item === null || item === void 0 ? void 0 : item.time) != null && ((_item$sentiment = item.sentiment) === null || _item$sentiment === void 0 ? void 0 : _item$sentiment.shortPercent) != null && ((_item$sentiment2 = item.sentiment) === null || _item$sentiment2 === void 0 ? void 0 : _item$sentiment2.longPercent) != null;
9
- }).map(item => [item.time, {
10
- shortPercent: item.sentiment.shortPercent,
11
- longPercent: item.sentiment.longPercent
12
- }]));
13
- return xAxisData.map(time => {
14
- const sentiment = sentimentMap.get(time);
15
- if (!sentiment) {
16
- return undefined;
17
- }
18
- return [time, sentiment.shortPercent, sentiment.longPercent];
19
- }).filter(item => item !== undefined);
20
- };
21
- //# sourceMappingURL=processSentiments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processSentiments.js","names":["processSentiments","sentimentsData","xAxisData","_sentimentsData$senti","sentiments","length","sentimentMap","Map","filter","item","_item$sentiment","_item$sentiment2","time","sentiment","shortPercent","longPercent","map","get","undefined"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/processSentiments.ts"],"sourcesContent":["import type { GetSentimentsQuery } from '../../../../gql/types/graphql';\nimport type { ProcessedSentiment } from '../types';\n\nexport const processSentiments = (\n sentimentsData: GetSentimentsQuery | undefined,\n xAxisData: string[]\n): ProcessedSentiment[] => {\n if (!sentimentsData?.sentiments?.sentiments?.length) {\n return [];\n }\n\n const sentimentMap = new Map(\n sentimentsData.sentiments.sentiments\n .filter(\n (item): item is NonNullable<typeof item> =>\n item?.time != null &&\n item.sentiment?.shortPercent != null &&\n item.sentiment?.longPercent != null\n )\n .map((item) => [\n item.time,\n {\n shortPercent: item.sentiment.shortPercent,\n longPercent: item.sentiment.longPercent,\n },\n ])\n );\n\n return xAxisData\n .map((time) => {\n const sentiment = sentimentMap.get(time);\n if (!sentiment) {\n return undefined;\n }\n return [\n time,\n sentiment.shortPercent,\n sentiment.longPercent,\n ] as ProcessedSentiment;\n })\n .filter((item): item is ProcessedSentiment => item !== undefined);\n};\n"],"mappings":"AAGA,OAAO,MAAMA,iBAAiB,GAAGA,CAC/BC,cAA8C,EAC9CC,SAAmB,KACM;EAAA,IAAAC,qBAAA;EACzB,IAAI,EAACF,cAAc,aAAdA,cAAc,gBAAAE,qBAAA,GAAdF,cAAc,CAAEG,UAAU,cAAAD,qBAAA,gBAAAA,qBAAA,GAA1BA,qBAAA,CAA4BC,UAAU,cAAAD,qBAAA,eAAtCA,qBAAA,CAAwCE,MAAM,GAAE;IACnD,OAAO,EAAE;EACX;EAEA,MAAMC,YAAY,GAAG,IAAIC,GAAG,CAC1BN,cAAc,CAACG,UAAU,CAACA,UAAU,CACjCI,MAAM,CACJC,IAAI;IAAA,IAAAC,eAAA,EAAAC,gBAAA;IAAA,OACH,CAAAF,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,IAAI,KAAI,IAAI,IAClB,EAAAF,eAAA,GAAAD,IAAI,CAACI,SAAS,cAAAH,eAAA,uBAAdA,eAAA,CAAgBI,YAAY,KAAI,IAAI,IACpC,EAAAH,gBAAA,GAAAF,IAAI,CAACI,SAAS,cAAAF,gBAAA,uBAAdA,gBAAA,CAAgBI,WAAW,KAAI,IAAI;EAAA,CACvC,CAAC,CACAC,GAAG,CAAEP,IAAI,IAAK,CACbA,IAAI,CAACG,IAAI,EACT;IACEE,YAAY,EAAEL,IAAI,CAACI,SAAS,CAACC,YAAY;IACzCC,WAAW,EAAEN,IAAI,CAACI,SAAS,CAACE;EAC9B,CAAC,CACF,CACL,CAAC;EAED,OAAOb,SAAS,CACbc,GAAG,CAAEJ,IAAI,IAAK;IACb,MAAMC,SAAS,GAAGP,YAAY,CAACW,GAAG,CAACL,IAAI,CAAC;IACxC,IAAI,CAACC,SAAS,EAAE;MACd,OAAOK,SAAS;IAClB;IACA,OAAO,CACLN,IAAI,EACJC,SAAS,CAACC,YAAY,EACtBD,SAAS,CAACE,WAAW,CACtB;EACH,CAAC,CAAC,CACDP,MAAM,CAAEC,IAAI,IAAiCA,IAAI,KAAKS,SAAS,CAAC;AACrE,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validateData.js","names":["validateData","priceCandlesData","orderPositionData","hasValidCandles","_priceCandlesData$pri","_priceCandlesData$pri2","_orderPositionData$or","_orderPositionData$or2","hasValidPriceData","priceCandles","candle","length","hasValidOrderData","orderPositionBooks","Error"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/validateData.ts"],"sourcesContent":["import type {\n GetOrderPositionBooksQuery,\n GetPriceCandlesQuery,\n} from '../../../../gql/types/graphql';\n\nexport const validateData = (\n priceCandlesData: GetPriceCandlesQuery | undefined,\n orderPositionData: GetOrderPositionBooksQuery | undefined,\n hasValidCandles: boolean\n): Error | null => {\n const hasValidPriceData =\n (priceCandlesData?.priceCandles?.candle?.length ?? 0) >= 1;\n const hasValidOrderData =\n (orderPositionData?.orderPositionBooks?.length ?? 0) >= 1;\n\n if (!hasValidPriceData) {\n return new Error('Insufficient price candle data');\n }\n if (!hasValidOrderData) {\n return new Error('Insufficient order position data');\n }\n if (!hasValidCandles) {\n return new Error('Invalid candle data');\n }\n\n return null;\n};\n"],"mappings":"AAKA,OAAO,MAAMA,YAAY,GAAGA,CAC1BC,gBAAkD,EAClDC,iBAAyD,EACzDC,eAAwB,KACP;EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,sBAAA;EACjB,MAAMC,iBAAiB,GACrB,EAAAJ,qBAAA,GAACH,gBAAgB,aAAhBA,gBAAgB,gBAAAI,sBAAA,GAAhBJ,gBAAgB,CAAEQ,YAAY,cAAAJ,sBAAA,gBAAAA,sBAAA,GAA9BA,sBAAA,CAAgCK,MAAM,cAAAL,sBAAA,uBAAtCA,sBAAA,CAAwCM,MAAM,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,CAAC,KAAK,CAAC;EAC5D,MAAMQ,iBAAiB,GACrB,EAAAN,qBAAA,GAACJ,iBAAiB,aAAjBA,iBAAiB,gBAAAK,sBAAA,GAAjBL,iBAAiB,CAAEW,kBAAkB,cAAAN,sBAAA,uBAArCA,sBAAA,CAAuCI,MAAM,cAAAL,qBAAA,cAAAA,qBAAA,GAAI,CAAC,KAAK,CAAC;EAE3D,IAAI,CAACE,iBAAiB,EAAE;IACtB,OAAO,IAAIM,KAAK,CAAC,gCAAgC,CAAC;EACpD;EACA,IAAI,CAACF,iBAAiB,EAAE;IACtB,OAAO,IAAIE,KAAK,CAAC,kCAAkC,CAAC;EACtD;EACA,IAAI,CAACX,eAAe,EAAE;IACpB,OAAO,IAAIW,KAAK,CAAC,qBAAqB,CAAC;EACzC;EAEA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instrumentUtils.js","names":["Division","instrumentSelectConfig","instrumentSelectConfigOC","getInstrumentConfigForDivision","division","Oc"],"sources":["../../../../src/CrowdViewWidget/utils/instrumentUtils.ts"],"sourcesContent":["import { Division } from '../../gql/types/graphql';\nimport {\n instrumentSelectConfig,\n instrumentSelectConfigOC,\n} from '../selectConfig';\n\nexport const getInstrumentConfigForDivision = (division: Division) => {\n return division === Division.Oc\n ? instrumentSelectConfigOC\n : instrumentSelectConfig;\n};\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,yBAAyB;AAClD,SACEC,sBAAsB,EACtBC,wBAAwB,QACnB,iBAAiB;AAExB,OAAO,MAAMC,8BAA8B,GAAIC,QAAkB,IAAK;EACpE,OAAOA,QAAQ,KAAKJ,QAAQ,CAACK,EAAE,GAC3BH,wBAAwB,GACxBD,sBAAsB;AAC5B,CAAC","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import type { Bucket } from '../types';
2
- export declare const aggregateBuckets: (buckets: Bucket[], newBucketWidth: number) => Bucket[];
@@ -1,31 +0,0 @@
1
- import { BookType, Granularity, TimeSpan } from '../../../../gql/types/graphql';
2
- import type { Bucket, GetLabelsDataProps, TooltipParam } from '../types';
3
- export declare const getLabelData: ({ xAxisData, isGreaterThanTwoWeeks, }: GetLabelsDataProps) => {
4
- name: string;
5
- xAxis: string;
6
- y: number;
7
- silent: boolean;
8
- emphasis: {
9
- disabled: boolean;
10
- };
11
- label: {
12
- fontFamily: string;
13
- fontSize: number;
14
- position: string;
15
- align: string;
16
- formatter: string;
17
- };
18
- }[];
19
- export declare const isDifferenceGreaterThanTwoWeeks: (startDate: string, endDate: string) => boolean;
20
- export declare const getTimeSpanForGranularity: (granularity: Granularity) => TimeSpan;
21
- export declare const getRectColor: (sentiment: number, isDark: boolean) => string;
22
- export declare const getTooltipFormatter: ({ params, buckets, bucketWidth, selectedPrice, precision, bookType, labelCallback, }: {
23
- params: TooltipParam[];
24
- buckets: Bucket[][];
25
- bucketWidth: number;
26
- selectedPrice: number;
27
- precision: number;
28
- bookType: BookType;
29
- labelCallback: (key: string) => string;
30
- }) => string | undefined;
31
- export declare const formatXAxisLabel: (value: unknown, isGreaterThanTwoWeeks: boolean) => string;
@@ -1,97 +0,0 @@
1
- export declare const getGridLines: ({ isDark, isDesktop, }: {
2
- isDark: boolean;
3
- isDesktop: boolean;
4
- }) => ({
5
- top: number;
6
- shape: {
7
- x1: number;
8
- y1: number;
9
- x2: 9999;
10
- y2: number;
11
- };
12
- type: string;
13
- silent: boolean;
14
- z: number;
15
- style: {
16
- stroke: string;
17
- lineWidth: number;
18
- };
19
- } | {
20
- right: number;
21
- shape: {
22
- x1: number;
23
- y1: number;
24
- x2: number;
25
- y2: number;
26
- };
27
- type: string;
28
- silent: boolean;
29
- z: number;
30
- style: {
31
- stroke: string;
32
- lineWidth: number;
33
- };
34
- } | {
35
- left: number;
36
- shape: {
37
- x1: number;
38
- y1: number;
39
- x2: number;
40
- y2: number;
41
- };
42
- type: string;
43
- silent: boolean;
44
- z: number;
45
- style: {
46
- stroke: string;
47
- lineWidth: number;
48
- };
49
- } | {
50
- right: number;
51
- top: number;
52
- shape: {
53
- x1: number;
54
- y1: number;
55
- x2: number;
56
- y2: 400;
57
- };
58
- type: string;
59
- silent: boolean;
60
- z: number;
61
- style: {
62
- stroke: string;
63
- lineWidth: number;
64
- };
65
- } | {
66
- top: number;
67
- right: number;
68
- shape: {
69
- x1: number;
70
- y1: number;
71
- x2: number;
72
- y2: 120;
73
- };
74
- type: string;
75
- silent: boolean;
76
- z: number;
77
- style: {
78
- stroke: string;
79
- lineWidth: number;
80
- };
81
- } | {
82
- top: number;
83
- left: number;
84
- shape: {
85
- x1: number;
86
- y1: number;
87
- x2: number;
88
- y2: 120;
89
- };
90
- type: string;
91
- silent: boolean;
92
- z: number;
93
- style: {
94
- stroke: string;
95
- lineWidth: number;
96
- };
97
- })[];
@@ -1,3 +0,0 @@
1
- import { Granularity } from '../../../../gql/types/graphql';
2
- import type { InstrumentId } from '../../../types';
3
- export declare const getTargetBucketWidth: (granularity: Granularity, instrument: InstrumentId) => number;
@@ -1,9 +0,0 @@
1
- export * from './aggregateBuckets';
2
- export * from './chartUtils';
3
- export * from './getChartStyles';
4
- export * from './getTargetBucketWidth';
5
- export * from './processBuckets';
6
- export * from './processOrderPositionBooks';
7
- export * from './processPriceCandles';
8
- export * from './processSentiments';
9
- export * from './validateData';
@@ -1,3 +0,0 @@
1
- import type { GetOrderPositionBooksQuery } from '../../../../gql/types/graphql';
2
- import type { Bucket } from '../types';
3
- export declare const processBuckets: (orderPositionData: GetOrderPositionBooksQuery | undefined, targetBucketWidth: number) => Bucket[][];
@@ -1,8 +0,0 @@
1
- import type { GetOrderPositionBooksQuery } from '../../../../gql/types/graphql';
2
- export declare const processOrderPositionBooks: (orderPositionData: GetOrderPositionBooksQuery | undefined, candleMap: Map<string, {
3
- point?: string;
4
- high?: number;
5
- low?: number;
6
- open?: number;
7
- close?: number;
8
- }>) => [string, number | null, number][];
@@ -1,27 +0,0 @@
1
- import type { GetPriceCandlesQuery } from '../../../../gql/types/graphql';
2
- export declare const processPriceCandles: (priceCandlesData: GetPriceCandlesQuery | undefined) => {
3
- minPrice: number;
4
- maxPrice: number;
5
- hasValidCandles: boolean;
6
- candleMap: Map<any, any>;
7
- candles: never[];
8
- } | {
9
- minPrice: number;
10
- maxPrice: number;
11
- hasValidCandles: boolean;
12
- candleMap: Map<string, {
13
- point?: string;
14
- high?: number;
15
- low?: number;
16
- open?: number;
17
- close?: number;
18
- }>;
19
- candles: ({
20
- __typename?: "Candle";
21
- point: string;
22
- high: number;
23
- low: number;
24
- open: number;
25
- close: number;
26
- } | null)[];
27
- };
@@ -1,3 +0,0 @@
1
- import type { GetSentimentsQuery } from '../../../../gql/types/graphql';
2
- import type { ProcessedSentiment } from '../types';
3
- export declare const processSentiments: (sentimentsData: GetSentimentsQuery | undefined, xAxisData: string[]) => ProcessedSentiment[];