@oanda/labs-crowd-view-widget 1.0.43 → 1.0.45

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 (180) hide show
  1. package/CHANGELOG.md +364 -0
  2. package/dist/main/CrowdViewWidget/CrowdViewWidget.js +3 -3
  3. package/dist/main/CrowdViewWidget/CrowdViewWidget.js.map +1 -1
  4. package/dist/main/CrowdViewWidget/Main.js +22 -12
  5. package/dist/main/CrowdViewWidget/Main.js.map +1 -1
  6. package/dist/main/CrowdViewWidget/components/Chart/Chart.js +16 -17
  7. package/dist/main/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  8. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js +16 -13
  9. package/dist/main/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  10. package/dist/main/CrowdViewWidget/components/Chart/{getOption.js → chartOptions.js} +79 -62
  11. package/dist/main/CrowdViewWidget/components/Chart/chartOptions.js.map +1 -0
  12. package/dist/main/CrowdViewWidget/components/Chart/index.js +44 -0
  13. package/dist/main/CrowdViewWidget/components/Chart/index.js.map +1 -1
  14. package/dist/main/CrowdViewWidget/components/Chart/types.js.map +1 -1
  15. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js +184 -0
  16. package/dist/main/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -0
  17. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js +107 -0
  18. package/dist/main/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +1 -0
  19. package/dist/main/CrowdViewWidget/components/Legend/Legend.js +3 -2
  20. package/dist/main/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  21. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js +9 -11
  22. package/dist/main/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  23. package/dist/main/CrowdViewWidget/constants.js +31 -0
  24. package/dist/main/CrowdViewWidget/constants.js.map +1 -0
  25. package/dist/main/CrowdViewWidget/render.js +1 -0
  26. package/dist/main/CrowdViewWidget/render.js.map +1 -1
  27. package/dist/main/CrowdViewWidget/selectConfig.js +121 -0
  28. package/dist/main/CrowdViewWidget/selectConfig.js.map +1 -0
  29. package/dist/main/CrowdViewWidget/types/index.js +17 -0
  30. package/dist/main/CrowdViewWidget/types/index.js.map +1 -0
  31. package/dist/main/CrowdViewWidget/types/instruments.js +45 -0
  32. package/dist/main/CrowdViewWidget/types/instruments.js.map +1 -0
  33. package/dist/main/CrowdViewWidget/types.js +0 -44
  34. package/dist/main/CrowdViewWidget/types.js.map +1 -1
  35. package/dist/main/CrowdViewWidget/utils/instrumentUtils.js +13 -0
  36. package/dist/main/CrowdViewWidget/utils/instrumentUtils.js.map +1 -0
  37. package/dist/main/gql/getOrderPositionBooks.js +1 -1
  38. package/dist/main/gql/getOrderPositionBooks.js.map +1 -1
  39. package/dist/main/gql/getPriceCandles.js +11 -0
  40. package/dist/main/gql/getPriceCandles.js.map +1 -0
  41. package/dist/main/gql/types/gql.js +2 -3
  42. package/dist/main/gql/types/gql.js.map +1 -1
  43. package/dist/main/gql/types/graphql.js +161 -160
  44. package/dist/main/gql/types/graphql.js.map +1 -1
  45. package/dist/main/translations/sources/en.json +24 -0
  46. package/dist/module/CrowdViewWidget/CrowdViewWidget.js +3 -3
  47. package/dist/module/CrowdViewWidget/CrowdViewWidget.js.map +1 -1
  48. package/dist/module/CrowdViewWidget/Main.js +23 -13
  49. package/dist/module/CrowdViewWidget/Main.js.map +1 -1
  50. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +15 -16
  51. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  52. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +16 -12
  53. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  54. package/dist/module/CrowdViewWidget/components/Chart/{getOption.js → chartOptions.js} +77 -59
  55. package/dist/module/CrowdViewWidget/components/Chart/chartOptions.js.map +1 -0
  56. package/dist/module/CrowdViewWidget/components/Chart/index.js +4 -0
  57. package/dist/module/CrowdViewWidget/components/Chart/index.js.map +1 -1
  58. package/dist/module/CrowdViewWidget/components/Chart/types.js.map +1 -1
  59. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +177 -0
  60. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -0
  61. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js +94 -0
  62. package/dist/module/CrowdViewWidget/components/Chart/utils/chartUtils.js.map +1 -0
  63. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +3 -2
  64. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  65. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +9 -11
  66. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  67. package/dist/module/CrowdViewWidget/constants.js +25 -0
  68. package/dist/module/CrowdViewWidget/constants.js.map +1 -0
  69. package/dist/module/CrowdViewWidget/render.js +1 -0
  70. package/dist/module/CrowdViewWidget/render.js.map +1 -1
  71. package/dist/module/CrowdViewWidget/selectConfig.js +116 -0
  72. package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -0
  73. package/dist/module/CrowdViewWidget/types/index.js +2 -0
  74. package/dist/module/CrowdViewWidget/types/index.js.map +1 -0
  75. package/dist/module/CrowdViewWidget/types/instruments.js +39 -0
  76. package/dist/module/CrowdViewWidget/types/instruments.js.map +1 -0
  77. package/dist/module/CrowdViewWidget/types.js +1 -43
  78. package/dist/module/CrowdViewWidget/types.js.map +1 -1
  79. package/dist/module/CrowdViewWidget/utils/instrumentUtils.js +6 -0
  80. package/dist/module/CrowdViewWidget/utils/instrumentUtils.js.map +1 -0
  81. package/dist/module/gql/getOrderPositionBooks.js +1 -1
  82. package/dist/module/gql/getOrderPositionBooks.js.map +1 -1
  83. package/dist/module/gql/getPriceCandles.js +6 -0
  84. package/dist/module/gql/getPriceCandles.js.map +1 -0
  85. package/dist/module/gql/types/gql.js +2 -3
  86. package/dist/module/gql/types/gql.js.map +1 -1
  87. package/dist/module/gql/types/graphql.js +160 -159
  88. package/dist/module/gql/types/graphql.js.map +1 -1
  89. package/dist/module/translations/sources/en.json +24 -0
  90. package/dist/types/CrowdViewWidget/CrowdViewWidget.d.ts +1 -1
  91. package/dist/types/CrowdViewWidget/components/Chart/ChartWithData.d.ts +1 -1
  92. package/dist/types/CrowdViewWidget/components/Chart/index.d.ts +4 -0
  93. package/dist/types/CrowdViewWidget/components/Chart/types.d.ts +23 -16
  94. package/dist/types/CrowdViewWidget/components/Chart/useCrowdViewData.d.ts +2 -0
  95. package/dist/types/CrowdViewWidget/components/Chart/{utils.d.ts → utils/chartUtils.d.ts} +9 -11
  96. package/dist/types/CrowdViewWidget/components/Legend/Legend.d.ts +3 -3
  97. package/dist/types/CrowdViewWidget/constants.d.ts +24 -0
  98. package/dist/types/CrowdViewWidget/selectConfig.d.ts +19 -0
  99. package/dist/types/CrowdViewWidget/types/index.d.ts +1 -0
  100. package/dist/types/CrowdViewWidget/types/instruments.d.ts +36 -0
  101. package/dist/types/CrowdViewWidget/types.d.ts +2 -50
  102. package/dist/types/CrowdViewWidget/utils/instrumentUtils.d.ts +8 -0
  103. package/dist/types/gql/types/gql.d.ts +10 -14
  104. package/dist/types/gql/types/graphql.d.ts +71 -63
  105. package/lokalise.config.json +1 -1
  106. package/package.json +6 -4
  107. package/src/CrowdViewWidget/CrowdViewWidget.tsx +2 -2
  108. package/src/CrowdViewWidget/Main.tsx +32 -22
  109. package/src/CrowdViewWidget/components/Chart/Chart.tsx +21 -17
  110. package/src/CrowdViewWidget/components/Chart/ChartWithData.tsx +12 -12
  111. package/src/CrowdViewWidget/components/Chart/chartOptions.ts +205 -0
  112. package/src/CrowdViewWidget/components/Chart/index.ts +4 -0
  113. package/src/CrowdViewWidget/components/Chart/types.ts +30 -24
  114. package/src/CrowdViewWidget/components/Chart/useCrowdViewData.ts +288 -0
  115. package/src/CrowdViewWidget/components/Chart/utils/chartUtils.ts +161 -0
  116. package/src/CrowdViewWidget/components/Legend/Legend.tsx +7 -3
  117. package/src/CrowdViewWidget/components/Legend/LegendBar.tsx +16 -20
  118. package/src/CrowdViewWidget/constants.ts +28 -0
  119. package/src/CrowdViewWidget/render.tsx +1 -0
  120. package/src/CrowdViewWidget/{config.ts → selectConfig.ts} +65 -43
  121. package/src/CrowdViewWidget/types/index.ts +1 -0
  122. package/src/CrowdViewWidget/types/instruments.ts +37 -0
  123. package/src/CrowdViewWidget/types.ts +4 -55
  124. package/src/CrowdViewWidget/utils/instrumentUtils.ts +11 -0
  125. package/src/gql/getOrderPositionBooks.ts +9 -4
  126. package/src/gql/{mock/getPriceCandles.ts → getPriceCandles.ts} +5 -5
  127. package/src/gql/types/gql.ts +6 -14
  128. package/src/gql/types/graphql.ts +170 -160
  129. package/src/translations/sources/en.json +24 -0
  130. package/test/Main.test.tsx +73 -27
  131. package/test/components/Chart/utils/chartUtils.test.ts +172 -0
  132. package/test/components/Legend.test.tsx +3 -6
  133. package/test/components/LegendBar.test.tsx +7 -8
  134. package/test/utils/instrumentUtils.test.ts +52 -0
  135. package/dist/main/CrowdViewWidget/components/Chart/constants.js +0 -14
  136. package/dist/main/CrowdViewWidget/components/Chart/constants.js.map +0 -1
  137. package/dist/main/CrowdViewWidget/components/Chart/getOption.js.map +0 -1
  138. package/dist/main/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js +0 -47
  139. package/dist/main/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js.map +0 -1
  140. package/dist/main/CrowdViewWidget/components/Chart/getPriceCandlesMock.js +0 -36
  141. package/dist/main/CrowdViewWidget/components/Chart/getPriceCandlesMock.js.map +0 -1
  142. package/dist/main/CrowdViewWidget/components/Chart/utils.js +0 -166
  143. package/dist/main/CrowdViewWidget/components/Chart/utils.js.map +0 -1
  144. package/dist/main/CrowdViewWidget/config.js +0 -107
  145. package/dist/main/CrowdViewWidget/config.js.map +0 -1
  146. package/dist/main/gql/mock/getPriceCandles.js +0 -11
  147. package/dist/main/gql/mock/getPriceCandles.js.map +0 -1
  148. package/dist/main/gql/mock/schema.graphqls +0 -62
  149. package/dist/main/gql/validateInstruments.js +0 -11
  150. package/dist/main/gql/validateInstruments.js.map +0 -1
  151. package/dist/module/CrowdViewWidget/components/Chart/constants.js +0 -8
  152. package/dist/module/CrowdViewWidget/components/Chart/constants.js.map +0 -1
  153. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +0 -1
  154. package/dist/module/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js +0 -40
  155. package/dist/module/CrowdViewWidget/components/Chart/getOrderPositionDataMock.js.map +0 -1
  156. package/dist/module/CrowdViewWidget/components/Chart/getPriceCandlesMock.js +0 -29
  157. package/dist/module/CrowdViewWidget/components/Chart/getPriceCandlesMock.js.map +0 -1
  158. package/dist/module/CrowdViewWidget/components/Chart/utils.js +0 -156
  159. package/dist/module/CrowdViewWidget/components/Chart/utils.js.map +0 -1
  160. package/dist/module/CrowdViewWidget/config.js +0 -102
  161. package/dist/module/CrowdViewWidget/config.js.map +0 -1
  162. package/dist/module/gql/mock/getPriceCandles.js +0 -6
  163. package/dist/module/gql/mock/getPriceCandles.js.map +0 -1
  164. package/dist/module/gql/mock/schema.graphqls +0 -62
  165. package/dist/module/gql/validateInstruments.js +0 -5
  166. package/dist/module/gql/validateInstruments.js.map +0 -1
  167. package/dist/types/CrowdViewWidget/components/Chart/constants.d.ts +0 -7
  168. package/dist/types/CrowdViewWidget/components/Chart/getOrderPositionDataMock.d.ts +0 -14
  169. package/dist/types/CrowdViewWidget/components/Chart/getPriceCandlesMock.d.ts +0 -2
  170. package/dist/types/CrowdViewWidget/config.d.ts +0 -22
  171. package/dist/types/gql/validateInstruments.d.ts +0 -1
  172. package/src/CrowdViewWidget/components/Chart/constants.tsx +0 -8
  173. package/src/CrowdViewWidget/components/Chart/getOption.ts +0 -200
  174. package/src/CrowdViewWidget/components/Chart/getOrderPositionDataMock.ts +0 -66
  175. package/src/CrowdViewWidget/components/Chart/getPriceCandlesMock.ts +0 -43
  176. package/src/CrowdViewWidget/components/Chart/utils.ts +0 -191
  177. package/src/gql/mock/schema.graphqls +0 -62
  178. package/src/gql/validateInstruments.ts +0 -10
  179. /package/dist/types/CrowdViewWidget/components/Chart/{getOption.d.ts → chartOptions.d.ts} +0 -0
  180. /package/dist/types/gql/{mock/getPriceCandles.d.ts → getPriceCandles.d.ts} +0 -0
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isDifferenceGreaterThanTwoWeeks = exports.getTooltipFormatter = exports.getTimeSpanForGranularity = exports.getRectColor = exports.getLabelData = exports.formatXAxisLabel = void 0;
7
+ var _chromaJs = _interopRequireDefault(require("chroma-js"));
8
+ var _graphql = require("../../../../gql/types/graphql");
9
+ var _constants = require("../../../constants");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const getLabelData = _ref => {
12
+ let {
13
+ xAxisData,
14
+ isGreaterThanTwoWeeks
15
+ } = _ref;
16
+ return xAxisData.filter((record, index, arr) => {
17
+ if (index === 0) {
18
+ return false;
19
+ }
20
+ const previousTimestamp = arr[index - 1];
21
+ const currentDate = new Date(record);
22
+ const previousDate = new Date(previousTimestamp);
23
+ return isGreaterThanTwoWeeks ? currentDate.getDate() !== previousDate.getDate() : currentDate.getMonth() !== previousDate.getMonth();
24
+ }).map(item => ({
25
+ name: new Date(item).toLocaleDateString(undefined, {
26
+ month: isGreaterThanTwoWeeks ? 'short' : 'long',
27
+ day: isGreaterThanTwoWeeks ? 'numeric' : undefined
28
+ }),
29
+ xAxis: item,
30
+ y: _constants.CHART_CONFIG.HEIGHT - 22,
31
+ silent: true,
32
+ emphasis: {
33
+ disabled: true
34
+ },
35
+ label: {
36
+ fontFamily: 'Sofia W03',
37
+ fontSize: 10,
38
+ position: 'bottom',
39
+ align: 'center',
40
+ formatter: '{b}'
41
+ }
42
+ }));
43
+ };
44
+ exports.getLabelData = getLabelData;
45
+ const isDifferenceGreaterThanTwoWeeks = (startDate, endDate) => {
46
+ const date1 = new Date(startDate);
47
+ const date2 = new Date(endDate);
48
+ const differenceInMs = Math.abs(date2.getTime() - date1.getTime());
49
+ return differenceInMs < _constants.TIME_THRESHOLDS.TWO_WEEKS_MS;
50
+ };
51
+ exports.isDifferenceGreaterThanTwoWeeks = isDifferenceGreaterThanTwoWeeks;
52
+ const getTimeSpanForGranularity = granularity => {
53
+ const granularityTimeSpanMap = {
54
+ [_graphql.Granularity.M5]: _graphql.TimeSpan.TwoDays,
55
+ [_graphql.Granularity.M15]: _graphql.TimeSpan.FiveDays,
56
+ [_graphql.Granularity.H1]: _graphql.TimeSpan.TwentyDays,
57
+ [_graphql.Granularity.H4]: _graphql.TimeSpan.NinetyDays
58
+ };
59
+ return granularityTimeSpanMap[granularity] || _graphql.TimeSpan.TwoDays;
60
+ };
61
+ exports.getTimeSpanForGranularity = getTimeSpanForGranularity;
62
+ const getGradientColor = (value, startColor, targetColor) => {
63
+ const startThreshold = _constants.BOOKS_THRESHOLDS.MIN;
64
+ const endThreshold = _constants.BOOKS_THRESHOLDS.MAX;
65
+ const colorScale = _chromaJs.default.scale([startColor, targetColor]).domain([startThreshold, endThreshold]).mode('rgb');
66
+ return colorScale(value).hex();
67
+ };
68
+ const getRectColor = sentiment => sentiment < 0 ? getGradientColor(sentiment * -1, _constants.COLOR_MAP.short[0], _constants.COLOR_MAP.short[1]) : getGradientColor(sentiment, _constants.COLOR_MAP.long[0], _constants.COLOR_MAP.long[1]);
69
+ exports.getRectColor = getRectColor;
70
+ const getTooltipFormatter = (params, buckets, bucketWidth, selectedPrice, labelCallback) => {
71
+ var _booksParam$value;
72
+ const arr = params;
73
+ const candleParam = arr[0];
74
+ const booksParam = arr[1];
75
+ const time = new Date(candleParam.axisValue);
76
+ const candleData = candleParam.value;
77
+ const booksData = (_booksParam$value = booksParam === null || booksParam === void 0 ? void 0 : booksParam.value) !== null && _booksParam$value !== void 0 ? _booksParam$value : [];
78
+ const bucketsIndex = booksData[2];
79
+ const selectedBuckets = buckets[bucketsIndex];
80
+ const matchedBucket = selectedBuckets === null || selectedBuckets === void 0 ? void 0 : selectedBuckets.find(_ref2 => {
81
+ let {
82
+ price
83
+ } = _ref2;
84
+ return selectedPrice >= price && selectedPrice < price + bucketWidth;
85
+ });
86
+ const showCandles = !!candleData[1] && !!candleData[2] && !!candleData[3] && !!candleData[4];
87
+ return "<p>".concat(time.toLocaleString(undefined, {
88
+ hour: '2-digit',
89
+ minute: '2-digit',
90
+ year: 'numeric',
91
+ day: 'numeric',
92
+ month: 'numeric',
93
+ timeZoneName: 'short'
94
+ }), "</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('orders'), ":</b></p>\n<p>").concat(labelCallback('price_range'), ": ").concat(matchedBucket.price, " - ").concat(Number(matchedBucket.price + bucketWidth).toFixed(4), " </p>\n<p>").concat(matchedBucket.sentiment < 0 ? labelCallback('sell_advantage') : labelCallback('buy_advantage'), ": ").concat(Math.abs(matchedBucket.sentiment), "% </p>") : '');
95
+ };
96
+ exports.getTooltipFormatter = getTooltipFormatter;
97
+ const formatXAxisLabel = (value, isGreaterThanTwoWeeks) => {
98
+ const date = new Date(value);
99
+ return isGreaterThanTwoWeeks ? "".concat(date.toLocaleTimeString(undefined, {
100
+ hour: '2-digit',
101
+ minute: '2-digit'
102
+ })) : "".concat(_constants.CHART_CONFIG.X_AXIS_DATE_PADDING).concat(date.toLocaleDateString(undefined, {
103
+ day: 'numeric'
104
+ })).concat(_constants.CHART_CONFIG.X_AXIS_DATE_PADDING);
105
+ };
106
+ exports.formatXAxisLabel = formatXAxisLabel;
107
+ //# sourceMappingURL=chartUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chartUtils.js","names":["_chromaJs","_interopRequireDefault","require","_graphql","_constants","e","__esModule","default","getLabelData","_ref","xAxisData","isGreaterThanTwoWeeks","filter","record","index","arr","previousTimestamp","currentDate","Date","previousDate","getDate","getMonth","map","item","name","toLocaleDateString","undefined","month","day","xAxis","y","CHART_CONFIG","HEIGHT","silent","emphasis","disabled","label","fontFamily","fontSize","position","align","formatter","exports","isDifferenceGreaterThanTwoWeeks","startDate","endDate","date1","date2","differenceInMs","Math","abs","getTime","TIME_THRESHOLDS","TWO_WEEKS_MS","getTimeSpanForGranularity","granularity","granularityTimeSpanMap","Granularity","M5","TimeSpan","TwoDays","M15","FiveDays","H1","TwentyDays","H4","NinetyDays","getGradientColor","value","startColor","targetColor","startThreshold","BOOKS_THRESHOLDS","MIN","endThreshold","MAX","colorScale","chroma","scale","domain","mode","hex","getRectColor","sentiment","COLOR_MAP","short","long","getTooltipFormatter","params","buckets","bucketWidth","selectedPrice","labelCallback","_booksParam$value","candleParam","booksParam","time","axisValue","candleData","booksData","bucketsIndex","selectedBuckets","matchedBucket","find","_ref2","price","showCandles","concat","toLocaleString","hour","minute","year","timeZoneName","Number","toFixed","formatXAxisLabel","date","toLocaleTimeString","X_AXIS_DATE_PADDING"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/utils/chartUtils.ts"],"sourcesContent":["import chroma from 'chroma-js';\n\nimport { Granularity, TimeSpan } from '../../../../gql/types/graphql';\nimport {\n BOOKS_THRESHOLDS,\n CHART_CONFIG,\n COLOR_MAP,\n TIME_THRESHOLDS,\n} from '../../../constants';\nimport type { GetLabelsDataProps } 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.HEIGHT - 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) =>\n sentiment < 0\n ? getGradientColor(sentiment * -1, COLOR_MAP.short[0], COLOR_MAP.short[1])\n : getGradientColor(sentiment, COLOR_MAP.long[0], COLOR_MAP.long[1]);\n\nexport const getTooltipFormatter = (\n params: unknown,\n buckets: Array<Array<{ price: number; sentiment: number }>>,\n bucketWidth: number,\n selectedPrice: number,\n labelCallback: (key: string) => string\n) => {\n const arr = params as unknown as Array<Record<string, unknown>>;\n const candleParam = arr[0] as {\n axisValue: string;\n value: [number, number, number, number, number];\n };\n const booksParam = arr[1] as { value: [string, number, number] };\n const time = new Date(candleParam.axisValue as string);\n\n const candleData = candleParam.value;\n const booksData = booksParam?.value ?? [];\n const bucketsIndex = booksData[2];\n const selectedBuckets = buckets[bucketsIndex];\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 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('orders')}:</b></p>\n<p>${labelCallback('price_range')}: ${matchedBucket.price} - ${Number(matchedBucket.price + bucketWidth).toFixed(4)} </p>\n<p>${matchedBucket.sentiment < 0 ? labelCallback('sell_advantage') : labelCallback('buy_advantage')}: ${Math.abs(matchedBucket.sentiment)}% </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":[]}
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Legend = void 0;
7
7
  var _monoI18n = require("@oanda/mono-i18n");
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _constants = require("../../constants");
9
10
  var _LegendBar = require("./LegendBar");
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
12
  const Legend = _ref => {
12
13
  let {
13
- longValues,
14
- shortValues
14
+ longValues = [_constants.BOOKS_THRESHOLDS.MIN, _constants.BOOKS_THRESHOLDS.MAX],
15
+ shortValues = [_constants.BOOKS_THRESHOLDS.MIN, _constants.BOOKS_THRESHOLDS.MAX]
15
16
  } = _ref;
16
17
  const {
17
18
  lang
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","names":["_monoI18n","require","_react","_interopRequireDefault","_LegendBar","e","__esModule","default","Legend","_ref","longValues","shortValues","lang","useLocale","createElement","className","LegendBar","label","type","values","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { LegendBar } from './LegendBar';\n\ninterface LegendProps {\n longValues: number[];\n shortValues: number[];\n}\n\nexport const Legend = ({ longValues, shortValues }: LegendProps) => {\n const { lang } = useLocale();\n\n return (\n <div className=\"lw-mx-auto lw-flex lw-w-full lw-flex-col lw-items-center lw-space-y-4 lw-py-6 sm:lw-max-w-md lg:lw-max-w-xl\">\n <LegendBar label={lang('long')} type=\"long\" values={longValues} />\n <LegendBar label={lang('short')} type=\"short\" values={shortValues} />\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAAwC,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOjC,MAAMG,MAAM,GAAGC,IAAA,IAA8C;EAAA,IAA7C;IAAEC,UAAU;IAAEC;EAAyB,CAAC,GAAAF,IAAA;EAC7D,MAAM;IAAEG;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAE5B,OACEX,MAAA,CAAAK,OAAA,CAAAO,aAAA;IAAKC,SAAS,EAAC;EAA6G,GAC1Hb,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACV,UAAA,CAAAY,SAAS;IAACC,KAAK,EAAEL,IAAI,CAAC,MAAM,CAAE;IAACM,IAAI,EAAC,MAAM;IAACC,MAAM,EAAET;EAAW,CAAE,CAAC,EAClER,MAAA,CAAAK,OAAA,CAAAO,aAAA,CAACV,UAAA,CAAAY,SAAS;IAACC,KAAK,EAAEL,IAAI,CAAC,OAAO,CAAE;IAACM,IAAI,EAAC,OAAO;IAACC,MAAM,EAAER;EAAY,CAAE,CACjE,CAAC;AAEV,CAAC;AAACS,OAAA,CAAAZ,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"Legend.js","names":["_monoI18n","require","_react","_interopRequireDefault","_constants","_LegendBar","e","__esModule","default","Legend","_ref","longValues","BOOKS_THRESHOLDS","MIN","MAX","shortValues","lang","useLocale","createElement","className","LegendBar","label","type","values","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { BOOKS_THRESHOLDS } from '../../constants';\nimport { LegendBar } from './LegendBar';\n\ninterface LegendProps {\n longValues?: [number, number];\n shortValues?: [number, number];\n}\n\nexport const Legend = ({\n longValues = [BOOKS_THRESHOLDS.MIN, BOOKS_THRESHOLDS.MAX],\n shortValues = [BOOKS_THRESHOLDS.MIN, BOOKS_THRESHOLDS.MAX],\n}: LegendProps) => {\n const { lang } = useLocale();\n\n return (\n <div className=\"lw-mx-auto lw-flex lw-w-full lw-flex-col lw-items-center lw-space-y-4 lw-py-6 sm:lw-max-w-md lg:lw-max-w-xl\">\n <LegendBar label={lang('long')} type=\"long\" values={longValues} />\n <LegendBar label={lang('short')} type=\"short\" values={shortValues} />\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAwC,SAAAE,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOjC,MAAMG,MAAM,GAAGC,IAAA,IAGH;EAAA,IAHI;IACrBC,UAAU,GAAG,CAACC,2BAAgB,CAACC,GAAG,EAAED,2BAAgB,CAACE,GAAG,CAAC;IACzDC,WAAW,GAAG,CAACH,2BAAgB,CAACC,GAAG,EAAED,2BAAgB,CAACE,GAAG;EAC9C,CAAC,GAAAJ,IAAA;EACZ,MAAM;IAAEM;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAE5B,OACEf,MAAA,CAAAM,OAAA,CAAAU,aAAA;IAAKC,SAAS,EAAC;EAA6G,GAC1HjB,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAACb,UAAA,CAAAe,SAAS;IAACC,KAAK,EAAEL,IAAI,CAAC,MAAM,CAAE;IAACM,IAAI,EAAC,MAAM;IAACC,MAAM,EAAEZ;EAAW,CAAE,CAAC,EAClET,MAAA,CAAAM,OAAA,CAAAU,aAAA,CAACb,UAAA,CAAAe,SAAS;IAACC,KAAK,EAAEL,IAAI,CAAC,OAAO,CAAE;IAACM,IAAI,EAAC,OAAO;IAACC,MAAM,EAAER;EAAY,CAAE,CACjE,CAAC;AAEV,CAAC;AAACS,OAAA,CAAAf,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.LegendBar = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _config = require("../../config");
8
+ var _constants = require("../../constants");
9
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
10
  const LegendBar = _ref => {
11
11
  let {
@@ -13,26 +13,24 @@ const LegendBar = _ref => {
13
13
  type,
14
14
  label
15
15
  } = _ref;
16
- const colors = _config.colorMap[type];
16
+ const colors = _constants.COLOR_MAP[type];
17
17
  return _react.default.createElement("div", {
18
18
  className: "lw-flex lw-w-full lw-flex-col lw-space-y-1 lw-border-border-primary"
19
19
  }, _react.default.createElement("div", {
20
20
  className: "lw-flex lw-h-2 lw-w-full lw-overflow-hidden lw-border lw-border-border-primary"
21
- }, values.map((_, index) => _react.default.createElement("div", {
22
- key: "".concat(label, "_").concat(colors[index], "__color"),
21
+ }, _react.default.createElement("div", {
23
22
  className: "lw-h-full lw-flex-1",
24
23
  "data-testid": "legend-bar-segment",
25
24
  style: {
26
- backgroundColor: colors[index]
25
+ background: "linear-gradient(90deg,".concat(colors[0], " 0%, ").concat(colors[1], " 100%)")
27
26
  }
28
- }))), _react.default.createElement("div", {
29
- className: "lw-flex lw-w-full"
30
- }, values.map(value => _react.default.createElement("div", {
31
- key: "".concat(value, "_").concat(type),
32
- className: "lw-flex lw-w-1/4"
27
+ })), _react.default.createElement("div", {
28
+ className: "lw-flex lw-w-full lw-justify-between"
33
29
  }, _react.default.createElement("span", {
34
30
  className: "lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary"
35
- }, value.toFixed(2), "% ", label)))));
31
+ }, values[0].toFixed(2), "% ", label), _react.default.createElement("span", {
32
+ className: "lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary"
33
+ }, values[1].toFixed(2), "% ", label)));
36
34
  };
37
35
  exports.LegendBar = LegendBar;
38
36
  //# sourceMappingURL=LegendBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegendBar.js","names":["_react","_interopRequireDefault","require","_config","e","__esModule","default","LegendBar","_ref","values","type","label","colors","colorMap","createElement","className","map","_","index","key","concat","style","backgroundColor","value","toFixed","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/LegendBar.tsx"],"sourcesContent":["import React from 'react';\n\nimport { colorMap } from '../../config';\n\nexport type LegendType = 'long' | 'short';\n\ninterface LegendBarProps {\n values: number[];\n type: LegendType;\n label: string;\n}\n\nexport const LegendBar = ({ values, type, label }: LegendBarProps) => {\n const colors = colorMap[type];\n\n return (\n <div className=\"lw-flex lw-w-full lw-flex-col lw-space-y-1 lw-border-border-primary\">\n <div className=\"lw-flex lw-h-2 lw-w-full lw-overflow-hidden lw-border lw-border-border-primary\">\n {values.map((_, index) => (\n <div\n key={`${label}_${colors[index]}__color`}\n className=\"lw-h-full lw-flex-1\"\n data-testid=\"legend-bar-segment\"\n style={{\n backgroundColor: colors[index],\n }}\n />\n ))}\n </div>\n\n <div className=\"lw-flex lw-w-full\">\n {values.map((value) => (\n <div key={`${value}_${type}`} className=\"lw-flex lw-w-1/4\">\n <span className=\"lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary\">\n {value.toFixed(2)}% {label}\n </span>\n </div>\n ))}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAAwC,SAAAD,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAUjC,MAAMG,SAAS,GAAGC,IAAA,IAA6C;EAAA,IAA5C;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAsB,CAAC,GAAAH,IAAA;EAC/D,MAAMI,MAAM,GAAGC,gBAAQ,CAACH,IAAI,CAAC;EAE7B,OACEV,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAqE,GAClFf,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAgF,GAC5FN,MAAM,CAACO,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,KACnBlB,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IACEK,GAAG,KAAAC,MAAA,CAAKT,KAAK,OAAAS,MAAA,CAAIR,MAAM,CAACM,KAAK,CAAC,YAAU;IACxCH,SAAS,EAAC,qBAAqB;IAC/B,eAAY,oBAAoB;IAChCM,KAAK,EAAE;MACLC,eAAe,EAAEV,MAAM,CAACM,KAAK;IAC/B;EAAE,CACH,CACF,CACE,CAAC,EAENlB,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAmB,GAC/BN,MAAM,CAACO,GAAG,CAAEO,KAAK,IAChBvB,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKK,GAAG,KAAAC,MAAA,CAAKG,KAAK,OAAAH,MAAA,CAAIV,IAAI,CAAG;IAACK,SAAS,EAAC;EAAkB,GACxDf,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAMC,SAAS,EAAC;EAAmE,GAChFQ,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,EAAC,IAAE,EAACb,KACjB,CACH,CACN,CACE,CACF,CAAC;AAEV,CAAC;AAACc,OAAA,CAAAlB,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"file":"LegendBar.js","names":["_react","_interopRequireDefault","require","_constants","e","__esModule","default","LegendBar","_ref","values","type","label","colors","COLOR_MAP","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[];\n type: LegendType;\n label: string;\n}\n\nexport const LegendBar = ({ values, type, label }: LegendBarProps) => {\n const colors = COLOR_MAP[type];\n\n return (\n <div className=\"lw-flex lw-w-full lw-flex-col lw-space-y-1 lw-border-border-primary\">\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].toFixed(2)}% {label}\n </span>\n <span className=\"lw-whitespace-nowrap lw-font-sans lw-text-xs lw-text-text-primary\">\n {values[1].toFixed(2)}% {label}\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;AAUrC,MAAMG,SAAS,GAAGC,IAAA,IAA6C;EAAA,IAA5C;IAAEC,MAAM;IAAEC,IAAI;IAAEC;EAAsB,CAAC,GAAAH,IAAA;EAC/D,MAAMI,MAAM,GAAGC,oBAAS,CAACH,IAAI,CAAC;EAE9B,OACEV,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAqE,GAClFf,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAgF,GAC7Ff,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IACEC,SAAS,EAAC,qBAAqB;IAC/B,eAAY,oBAAoB;IAChCC,KAAK,EAAE;MACLC,UAAU,2BAAAC,MAAA,CAA2BN,MAAM,CAAC,CAAC,CAAC,WAAAM,MAAA,CAAQN,MAAM,CAAC,CAAC,CAAC;IACjE;EAAE,CACH,CACE,CAAC,EAENZ,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAsC,GACnDf,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAMC,SAAS,EAAC;EAAmE,GAChFN,MAAM,CAAC,CAAC,CAAC,CAACU,OAAO,CAAC,CAAC,CAAC,EAAC,IAAE,EAACR,KACrB,CAAC,EACPX,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAMC,SAAS,EAAC;EAAmE,GAChFN,MAAM,CAAC,CAAC,CAAC,CAACU,OAAO,CAAC,CAAC,CAAC,EAAC,IAAE,EAACR,KACrB,CACH,CACF,CAAC;AAEV,CAAC;AAACS,OAAA,CAAAb,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.TIME_THRESHOLDS = exports.COLOR_MAP = exports.CHART_CONFIG = exports.BUCKET_CONFIG = exports.BOOKS_THRESHOLDS = void 0;
7
+ const BOOKS_THRESHOLDS = exports.BOOKS_THRESHOLDS = {
8
+ MIN: 0.15,
9
+ MAX: 0.55
10
+ };
11
+ const BUCKET_CONFIG = exports.BUCKET_CONFIG = {
12
+ DEFAULT_WIDTH: 0.0005,
13
+ PRICE_PADDING_MULTIPLIER: 2
14
+ };
15
+ const TIME_THRESHOLDS = exports.TIME_THRESHOLDS = {
16
+ TWO_WEEKS_MS: 14 * 24 * 60 * 60 * 1000
17
+ };
18
+ const CHART_CONFIG = exports.CHART_CONFIG = {
19
+ HEIGHT: 425,
20
+ WIDTH: 9999,
21
+ X_LABEL_SIZE: 40,
22
+ Y_LABEL_SIZE_DESKTOP: 60,
23
+ INITIAL_START_ZOOM: 0,
24
+ INITIAL_END_ZOOM: 100,
25
+ X_AXIS_DATE_PADDING: ' '
26
+ };
27
+ const COLOR_MAP = exports.COLOR_MAP = {
28
+ long: ['#fcedca', '#FAB313'],
29
+ short: ['#c8ebfa', '#309DCC']
30
+ };
31
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["BOOKS_THRESHOLDS","exports","MIN","MAX","BUCKET_CONFIG","DEFAULT_WIDTH","PRICE_PADDING_MULTIPLIER","TIME_THRESHOLDS","TWO_WEEKS_MS","CHART_CONFIG","HEIGHT","WIDTH","X_LABEL_SIZE","Y_LABEL_SIZE_DESKTOP","INITIAL_START_ZOOM","INITIAL_END_ZOOM","X_AXIS_DATE_PADDING","COLOR_MAP","long","short"],"sources":["../../../src/CrowdViewWidget/constants.ts"],"sourcesContent":["export const BOOKS_THRESHOLDS = {\n MIN: 0.15,\n MAX: 0.55,\n} as const;\n\nexport const BUCKET_CONFIG = {\n DEFAULT_WIDTH: 0.0005,\n PRICE_PADDING_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: 425,\n WIDTH: 9999,\n X_LABEL_SIZE: 40,\n Y_LABEL_SIZE_DESKTOP: 60,\n INITIAL_START_ZOOM: 0,\n INITIAL_END_ZOOM: 100,\n X_AXIS_DATE_PADDING: ' ',\n} as const;\n\nexport const COLOR_MAP = {\n long: ['#fcedca', '#FAB313'],\n short: ['#c8ebfa', '#309DCC'],\n} as const;\n"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EAC9BE,GAAG,EAAE,IAAI;EACTC,GAAG,EAAE;AACP,CAAU;AAEH,MAAMC,aAAa,GAAAH,OAAA,CAAAG,aAAA,GAAG;EAC3BC,aAAa,EAAE,MAAM;EACrBC,wBAAwB,EAAE;AAC5B,CAAU;AAEH,MAAMC,eAAe,GAAAN,OAAA,CAAAM,eAAA,GAAG;EAC7BC,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;AACpC,CAAU;AAEH,MAAMC,YAAY,GAAAR,OAAA,CAAAQ,YAAA,GAAG;EAC1BC,MAAM,EAAE,GAAG;EACXC,KAAK,EAAE,IAAI;EACXC,YAAY,EAAE,EAAE;EAChBC,oBAAoB,EAAE,EAAE;EACxBC,kBAAkB,EAAE,CAAC;EACrBC,gBAAgB,EAAE,GAAG;EACrBC,mBAAmB,EAAE;AACvB,CAAU;AAEH,MAAMC,SAAS,GAAAhB,OAAA,CAAAgB,SAAA,GAAG;EACvBC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;EAC5BC,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS;AAC9B,CAAU","ignoreList":[]}
@@ -32,6 +32,7 @@ dataCrowdViewParamsElements.forEach(element => {
32
32
  name: 'graphqlUrl'
33
33
  }]);
34
34
  root.render(_react.default.createElement(_CrowdViewWidget.CrowdViewWidget, {
35
+ division: division,
35
36
  graphqlUrl: graphqlUrl,
36
37
  isParamError: isParamError,
37
38
  locale: locale,
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_client","_graphql","_CrowdViewWidget","e","__esModule","default","graphqlUrl","window","widgetsConfig","dataCrowdViewParamsElements","document","querySelectorAll","forEach","element","root","createRoot","params","getAttribute","mode","division","locale","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","render","createElement","CrowdViewWidget","theme"],"sources":["../../../src/CrowdViewWidget/render.tsx"],"sourcesContent":["import type { Theme } from '@oanda/labs-widget-common';\nimport { validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Division } from '../gql/types/graphql';\nimport { CrowdViewWidget } from './CrowdViewWidget';\n\nconst { graphqlUrl } = window.widgetsConfig || {};\n\nconst dataCrowdViewParamsElements = document.querySelectorAll(\n 'div[data-crowd-view-params]'\n);\n\ndataCrowdViewParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-crowd-view-params');\n const mode = element.getAttribute('data-mode');\n const { division, locale } = JSON.parse(params as string);\n\n const isParamError = validateToolParams(\n {\n division,\n locale,\n graphqlUrl,\n },\n [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'division',\n valueCheck: (value: Division) =>\n Object.values(Division).includes(value),\n },\n {\n name: 'graphqlUrl',\n },\n ]\n );\n\n root.render(\n <CrowdViewWidget\n graphqlUrl={graphqlUrl}\n isParamError={isParamError}\n locale={locale}\n theme={mode as Theme}\n />\n );\n});\n"],"mappings":";;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAAoD,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpD,MAAM;EAAEG;AAAW,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAEjD,MAAMC,2BAA2B,GAAGC,QAAQ,CAACC,gBAAgB,CAC3D,6BACF,CAAC;AAEDF,2BAA2B,CAACG,OAAO,CAAEC,OAAO,IAAK;EAC/C,MAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;EAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,wBAAwB,CAAC;EAC7D,MAAMC,IAAI,GAAGL,OAAO,CAACI,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IAAEE,QAAQ;IAAEC;EAAO,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACN,MAAgB,CAAC;EAEzD,MAAMO,YAAY,GAAG,IAAAC,oCAAkB,EACrC;IACEL,QAAQ;IACRC,MAAM;IACNd;EACF,CAAC,EACD,CACE;IACEmB,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAyB,IAAK,IAAAC,gCAAc,EAACD,KAAK;EACjE,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAe,IAC1BE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;EAC1C,CAAC,EACD;IACEF,IAAI,EAAE;EACR,CAAC,CAEL,CAAC;EAEDX,IAAI,CAACmB,MAAM,CACTnC,MAAA,CAAAO,OAAA,CAAA6B,aAAA,CAAChC,gBAAA,CAAAiC,eAAe;IACd7B,UAAU,EAAEA,UAAW;IACvBiB,YAAY,EAAEA,YAAa;IAC3BH,MAAM,EAAEA,MAAO;IACfgB,KAAK,EAAElB;EAAc,CACtB,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"render.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_client","_graphql","_CrowdViewWidget","e","__esModule","default","graphqlUrl","window","widgetsConfig","dataCrowdViewParamsElements","document","querySelectorAll","forEach","element","root","createRoot","params","getAttribute","mode","division","locale","JSON","parse","isParamError","validateToolParams","name","valueCheck","value","validateLocale","Object","values","Division","includes","render","createElement","CrowdViewWidget","theme"],"sources":["../../../src/CrowdViewWidget/render.tsx"],"sourcesContent":["import type { Theme } from '@oanda/labs-widget-common';\nimport { validateLocale, validateToolParams } from '@oanda/labs-widget-common';\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { Division } from '../gql/types/graphql';\nimport { CrowdViewWidget } from './CrowdViewWidget';\n\nconst { graphqlUrl } = window.widgetsConfig || {};\n\nconst dataCrowdViewParamsElements = document.querySelectorAll(\n 'div[data-crowd-view-params]'\n);\n\ndataCrowdViewParamsElements.forEach((element) => {\n const root = createRoot(element);\n const params = element.getAttribute('data-crowd-view-params');\n const mode = element.getAttribute('data-mode');\n const { division, locale } = JSON.parse(params as string);\n\n const isParamError = validateToolParams(\n {\n division,\n locale,\n graphqlUrl,\n },\n [\n {\n name: 'locale',\n valueCheck: (value: string | undefined) => validateLocale(value),\n },\n {\n name: 'division',\n valueCheck: (value: Division) =>\n Object.values(Division).includes(value),\n },\n {\n name: 'graphqlUrl',\n },\n ]\n );\n\n root.render(\n <CrowdViewWidget\n division={division}\n graphqlUrl={graphqlUrl}\n isParamError={isParamError}\n locale={locale}\n theme={mode as Theme}\n />\n );\n});\n"],"mappings":";;AACA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAAoD,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpD,MAAM;EAAEG;AAAW,CAAC,GAAGC,MAAM,CAACC,aAAa,IAAI,CAAC,CAAC;AAEjD,MAAMC,2BAA2B,GAAGC,QAAQ,CAACC,gBAAgB,CAC3D,6BACF,CAAC;AAEDF,2BAA2B,CAACG,OAAO,CAAEC,OAAO,IAAK;EAC/C,MAAMC,IAAI,GAAG,IAAAC,kBAAU,EAACF,OAAO,CAAC;EAChC,MAAMG,MAAM,GAAGH,OAAO,CAACI,YAAY,CAAC,wBAAwB,CAAC;EAC7D,MAAMC,IAAI,GAAGL,OAAO,CAACI,YAAY,CAAC,WAAW,CAAC;EAC9C,MAAM;IAAEE,QAAQ;IAAEC;EAAO,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACN,MAAgB,CAAC;EAEzD,MAAMO,YAAY,GAAG,IAAAC,oCAAkB,EACrC;IACEL,QAAQ;IACRC,MAAM;IACNd;EACF,CAAC,EACD,CACE;IACEmB,IAAI,EAAE,QAAQ;IACdC,UAAU,EAAGC,KAAyB,IAAK,IAAAC,gCAAc,EAACD,KAAK;EACjE,CAAC,EACD;IACEF,IAAI,EAAE,UAAU;IAChBC,UAAU,EAAGC,KAAe,IAC1BE,MAAM,CAACC,MAAM,CAACC,iBAAQ,CAAC,CAACC,QAAQ,CAACL,KAAK;EAC1C,CAAC,EACD;IACEF,IAAI,EAAE;EACR,CAAC,CAEL,CAAC;EAEDX,IAAI,CAACmB,MAAM,CACTnC,MAAA,CAAAO,OAAA,CAAA6B,aAAA,CAAChC,gBAAA,CAAAiC,eAAe;IACdhB,QAAQ,EAAEA,QAAS;IACnBb,UAAU,EAAEA,UAAW;IACvBiB,YAAY,EAAEA,YAAa;IAC3BH,MAAM,EAAEA,MAAO;IACfgB,KAAK,EAAElB;EAAc,CACtB,CACH,CAAC;AACH,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.navigationConfig = exports.instrumentSelectConfigOC = exports.instrumentSelectConfig = exports.granularitySelectConfig = void 0;
7
+ var _graphql = require("../gql/types/graphql");
8
+ var _instruments = require("./types/instruments");
9
+ const navigationConfig = exports.navigationConfig = [{
10
+ id: _graphql.BookType.Order,
11
+ label: 'order_book'
12
+ }, {
13
+ id: _graphql.BookType.Position,
14
+ label: 'position_book'
15
+ }];
16
+ const instrumentSelectConfigOC = exports.instrumentSelectConfigOC = [{
17
+ id: _instruments.InstrumentIdOC.EUR_AUD,
18
+ label: 'EUR/AUD'
19
+ }, {
20
+ id: _instruments.InstrumentIdOC.EUR_GBP,
21
+ label: 'EUR/GBP'
22
+ }, {
23
+ id: _instruments.InstrumentIdOC.EUR_JPY,
24
+ label: 'EUR/JPY'
25
+ }, {
26
+ id: _instruments.InstrumentIdOC.EUR_USD,
27
+ label: 'EUR/USD'
28
+ }, {
29
+ id: _instruments.InstrumentIdOC.EUR_CHF,
30
+ label: 'EUR/CHF'
31
+ }, {
32
+ id: _instruments.InstrumentIdOC.USD_CHF,
33
+ label: 'USD/CHF'
34
+ }, {
35
+ id: _instruments.InstrumentIdOC.USD_JPY,
36
+ label: 'USD/JPY'
37
+ }, {
38
+ id: _instruments.InstrumentIdOC.USD_CAD,
39
+ label: 'USD/CAD'
40
+ }, {
41
+ id: _instruments.InstrumentIdOC.GBP_USD,
42
+ label: 'GBP/USD'
43
+ }, {
44
+ id: _instruments.InstrumentIdOC.GBP_JPY,
45
+ label: 'GBP/JPY'
46
+ }, {
47
+ id: _instruments.InstrumentIdOC.GBP_CHF,
48
+ label: 'GBP/CHF'
49
+ }, {
50
+ id: _instruments.InstrumentIdOC.AUD_JPY,
51
+ label: 'AUD/JPY'
52
+ }, {
53
+ id: _instruments.InstrumentIdOC.AUD_USD,
54
+ label: 'AUD/USD'
55
+ }, {
56
+ id: _instruments.InstrumentIdOC.NZD_USD,
57
+ label: 'NZD/USD'
58
+ }];
59
+ const instrumentSelectConfig = exports.instrumentSelectConfig = [{
60
+ id: _instruments.InstrumentId.EUR_AUD,
61
+ label: 'EUR/AUD'
62
+ }, {
63
+ id: _instruments.InstrumentId.EUR_GBP,
64
+ label: 'EUR/GBP'
65
+ }, {
66
+ id: _instruments.InstrumentId.EUR_JPY,
67
+ label: 'EUR/JPY'
68
+ }, {
69
+ id: _instruments.InstrumentId.EUR_USD,
70
+ label: 'EUR/USD'
71
+ }, {
72
+ id: _instruments.InstrumentId.EUR_CHF,
73
+ label: 'EUR/CHF'
74
+ }, {
75
+ id: _instruments.InstrumentId.USD_CHF,
76
+ label: 'USD/CHF'
77
+ }, {
78
+ id: _instruments.InstrumentId.USD_JPY,
79
+ label: 'USD/JPY'
80
+ }, {
81
+ id: _instruments.InstrumentId.USD_CAD,
82
+ label: 'USD/CAD'
83
+ }, {
84
+ id: _instruments.InstrumentId.GBP_USD,
85
+ label: 'GBP/USD'
86
+ }, {
87
+ id: _instruments.InstrumentId.GBP_JPY,
88
+ label: 'GBP/JPY'
89
+ }, {
90
+ id: _instruments.InstrumentId.GBP_CHF,
91
+ label: 'GBP/CHF'
92
+ }, {
93
+ id: _instruments.InstrumentId.AUD_JPY,
94
+ label: 'AUD/JPY'
95
+ }, {
96
+ id: _instruments.InstrumentId.AUD_USD,
97
+ label: 'AUD/USD'
98
+ }, {
99
+ id: _instruments.InstrumentId.NZD_USD,
100
+ label: 'NZD/USD'
101
+ }, {
102
+ id: _instruments.InstrumentId.XAU_USD,
103
+ label: 'XAU/USD'
104
+ }, {
105
+ id: _instruments.InstrumentId.XAG_USD,
106
+ label: 'XAG/USD'
107
+ }];
108
+ const granularitySelectConfig = exports.granularitySelectConfig = [{
109
+ id: _graphql.Granularity.M5,
110
+ label: '5_minutes'
111
+ }, {
112
+ id: _graphql.Granularity.M15,
113
+ label: '15_minutes'
114
+ }, {
115
+ id: _graphql.Granularity.H1,
116
+ label: '1_hour'
117
+ }, {
118
+ id: _graphql.Granularity.H4,
119
+ label: '4_hours'
120
+ }];
121
+ //# sourceMappingURL=selectConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectConfig.js","names":["_graphql","require","_instruments","navigationConfig","exports","id","BookType","Order","label","Position","instrumentSelectConfigOC","InstrumentIdOC","EUR_AUD","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","instrumentSelectConfig","InstrumentId","XAU_USD","XAG_USD","granularitySelectConfig","Granularity","M5","M15","H1","H4"],"sources":["../../../src/CrowdViewWidget/selectConfig.ts"],"sourcesContent":["import { BookType, Granularity } from '../gql/types/graphql';\nimport { InstrumentId, InstrumentIdOC } from './types/instruments';\n\nconst navigationConfig = [\n {\n id: BookType.Order,\n label: 'order_book',\n },\n {\n id: BookType.Position,\n label: 'position_book',\n },\n];\n\nconst instrumentSelectConfigOC = [\n {\n id: InstrumentIdOC.EUR_AUD,\n label: 'EUR/AUD',\n },\n {\n id: InstrumentIdOC.EUR_GBP,\n label: 'EUR/GBP',\n },\n {\n id: InstrumentIdOC.EUR_JPY,\n label: 'EUR/JPY',\n },\n {\n id: InstrumentIdOC.EUR_USD,\n label: 'EUR/USD',\n },\n {\n id: InstrumentIdOC.EUR_CHF,\n label: 'EUR/CHF',\n },\n {\n id: InstrumentIdOC.USD_CHF,\n label: 'USD/CHF',\n },\n {\n id: InstrumentIdOC.USD_JPY,\n label: 'USD/JPY',\n },\n {\n id: InstrumentIdOC.USD_CAD,\n label: 'USD/CAD',\n },\n {\n id: InstrumentIdOC.GBP_USD,\n label: 'GBP/USD',\n },\n {\n id: InstrumentIdOC.GBP_JPY,\n label: 'GBP/JPY',\n },\n {\n id: InstrumentIdOC.GBP_CHF,\n label: 'GBP/CHF',\n },\n {\n id: InstrumentIdOC.AUD_JPY,\n label: 'AUD/JPY',\n },\n {\n id: InstrumentIdOC.AUD_USD,\n label: 'AUD/USD',\n },\n {\n id: InstrumentIdOC.NZD_USD,\n label: 'NZD/USD',\n },\n];\n\nconst instrumentSelectConfig = [\n {\n id: InstrumentId.EUR_AUD,\n label: 'EUR/AUD',\n },\n {\n id: InstrumentId.EUR_GBP,\n label: 'EUR/GBP',\n },\n {\n id: InstrumentId.EUR_JPY,\n label: 'EUR/JPY',\n },\n {\n id: InstrumentId.EUR_USD,\n label: 'EUR/USD',\n },\n {\n id: InstrumentId.EUR_CHF,\n label: 'EUR/CHF',\n },\n {\n id: InstrumentId.USD_CHF,\n label: 'USD/CHF',\n },\n {\n id: InstrumentId.USD_JPY,\n label: 'USD/JPY',\n },\n {\n id: InstrumentId.USD_CAD,\n label: 'USD/CAD',\n },\n {\n id: InstrumentId.GBP_USD,\n label: 'GBP/USD',\n },\n {\n id: InstrumentId.GBP_JPY,\n label: 'GBP/JPY',\n },\n {\n id: InstrumentId.GBP_CHF,\n label: 'GBP/CHF',\n },\n {\n id: InstrumentId.AUD_JPY,\n label: 'AUD/JPY',\n },\n {\n id: InstrumentId.AUD_USD,\n label: 'AUD/USD',\n },\n {\n id: InstrumentId.NZD_USD,\n label: 'NZD/USD',\n },\n {\n id: InstrumentId.XAU_USD,\n label: 'XAU/USD',\n },\n {\n id: InstrumentId.XAG_USD,\n label: 'XAG/USD',\n },\n];\n\nconst granularitySelectConfig = [\n {\n id: Granularity.M5,\n label: '5_minutes',\n },\n {\n id: Granularity.M15,\n label: '15_minutes',\n },\n {\n id: Granularity.H1,\n label: '1_hour',\n },\n {\n id: Granularity.H4,\n label: '4_hours',\n },\n];\n\nexport {\n granularitySelectConfig,\n instrumentSelectConfig,\n instrumentSelectConfigOC,\n navigationConfig,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _instruments = require("./instruments");
7
+ Object.keys(_instruments).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _instruments[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _instruments[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_instruments","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/CrowdViewWidget/types/index.ts"],"sourcesContent":["export * from './instruments';\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.InstrumentIdOC = exports.InstrumentId = void 0;
7
+ let InstrumentId = exports.InstrumentId = function (InstrumentId) {
8
+ InstrumentId["EUR_AUD"] = "EURAUD";
9
+ InstrumentId["EUR_GBP"] = "EURGBP";
10
+ InstrumentId["EUR_JPY"] = "EURJPY";
11
+ InstrumentId["EUR_USD"] = "EURUSD";
12
+ InstrumentId["EUR_CHF"] = "EURCHF";
13
+ InstrumentId["USD_CHF"] = "USDCHF";
14
+ InstrumentId["USD_JPY"] = "USDJPY";
15
+ InstrumentId["USD_CAD"] = "USDCAD";
16
+ InstrumentId["GBP_USD"] = "GBPUSD";
17
+ InstrumentId["GBP_JPY"] = "GBPJPY";
18
+ InstrumentId["GBP_CHF"] = "GBPCHF";
19
+ InstrumentId["AUD_JPY"] = "AUDJPY";
20
+ InstrumentId["AUD_USD"] = "AUDUSD";
21
+ InstrumentId["NZD_USD"] = "NZDUSD";
22
+ InstrumentId["XAU_USD"] = "XAUUSD";
23
+ InstrumentId["XAG_USD"] = "XAGUSD";
24
+ return InstrumentId;
25
+ }({});
26
+ let InstrumentIdOC = exports.InstrumentIdOC = function (InstrumentIdOC) {
27
+ InstrumentIdOC["EUR_AUD"] = "EUR_AUD";
28
+ InstrumentIdOC["EUR_GBP"] = "EUR_GBP";
29
+ InstrumentIdOC["EUR_JPY"] = "EUR_JPY";
30
+ InstrumentIdOC["EUR_USD"] = "EUR_USD";
31
+ InstrumentIdOC["EUR_CHF"] = "EUR_CHF";
32
+ InstrumentIdOC["USD_CHF"] = "USD_CHF";
33
+ InstrumentIdOC["USD_JPY"] = "USD_JPY";
34
+ InstrumentIdOC["USD_CAD"] = "USD_CAD";
35
+ InstrumentIdOC["GBP_USD"] = "GBP_USD";
36
+ InstrumentIdOC["GBP_JPY"] = "GBP_JPY";
37
+ InstrumentIdOC["GBP_CHF"] = "GBP_CHF";
38
+ InstrumentIdOC["AUD_JPY"] = "AUD_JPY";
39
+ InstrumentIdOC["AUD_USD"] = "AUD_USD";
40
+ InstrumentIdOC["NZD_USD"] = "NZD_USD";
41
+ InstrumentIdOC["XAU_USD"] = "XAU_USD";
42
+ InstrumentIdOC["XAG_USD"] = "XAG_USD";
43
+ return InstrumentIdOC;
44
+ }({});
45
+ //# sourceMappingURL=instruments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instruments.js","names":["InstrumentId","exports","InstrumentIdOC"],"sources":["../../../../src/CrowdViewWidget/types/instruments.ts"],"sourcesContent":["export enum InstrumentId {\n EUR_AUD = 'EURAUD',\n EUR_GBP = 'EURGBP',\n EUR_JPY = 'EURJPY',\n EUR_USD = 'EURUSD',\n EUR_CHF = 'EURCHF',\n USD_CHF = 'USDCHF',\n USD_JPY = 'USDJPY',\n USD_CAD = 'USDCAD',\n GBP_USD = 'GBPUSD',\n GBP_JPY = 'GBPJPY',\n GBP_CHF = 'GBPCHF',\n AUD_JPY = 'AUDJPY',\n AUD_USD = 'AUDUSD',\n NZD_USD = 'NZDUSD',\n XAU_USD = 'XAUUSD',\n XAG_USD = 'XAGUSD',\n}\n\nexport enum InstrumentIdOC {\n EUR_AUD = 'EUR_AUD',\n EUR_GBP = 'EUR_GBP',\n EUR_JPY = 'EUR_JPY',\n EUR_USD = 'EUR_USD',\n EUR_CHF = 'EUR_CHF',\n USD_CHF = 'USD_CHF',\n USD_JPY = 'USD_JPY',\n USD_CAD = 'USD_CAD',\n GBP_USD = 'GBP_USD',\n GBP_JPY = 'GBP_JPY',\n GBP_CHF = 'GBP_CHF',\n AUD_JPY = 'AUD_JPY',\n AUD_USD = 'AUD_USD',\n NZD_USD = 'NZD_USD',\n XAU_USD = 'XAU_USD',\n XAG_USD = 'XAG_USD',\n}\n"],"mappings":";;;;;;IAAYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAA,IAmBZE,cAAc,GAAAD,OAAA,CAAAC,cAAA,aAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA","ignoreList":[]}
@@ -3,48 +3,4 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.TimeSpanId = exports.InstrumentId = exports.GranularityId = void 0;
7
- let InstrumentId = exports.InstrumentId = function (InstrumentId) {
8
- InstrumentId["EUR_AUD"] = "EURAUD";
9
- InstrumentId["EUR_GBP"] = "EURGBP";
10
- InstrumentId["EUR_JPY"] = "EURJPY";
11
- InstrumentId["EUR_USD"] = "EURUSD";
12
- InstrumentId["EUR_CHF"] = "EURCHF";
13
- InstrumentId["USD_CHF"] = "USDCHF";
14
- InstrumentId["USD_JPY"] = "USDJPY";
15
- InstrumentId["USD_CAD"] = "USDCAD";
16
- InstrumentId["GBP_USD"] = "GBPUSD";
17
- InstrumentId["GBP_JPY"] = "GBPJPY";
18
- InstrumentId["GBP_CHF"] = "GBPCHF";
19
- InstrumentId["AUD_JPY"] = "AUDJPY";
20
- InstrumentId["AUD_USD"] = "AUDUSD";
21
- InstrumentId["NZD_USD"] = "NZDUSD";
22
- InstrumentId["XAU_USD"] = "XAUUSD";
23
- InstrumentId["XAG_USD"] = "XAGUSD";
24
- return InstrumentId;
25
- }({});
26
- let GranularityId = exports.GranularityId = function (GranularityId) {
27
- GranularityId["MINUTE_5"] = "MINUTE_5";
28
- GranularityId["MINUTE_15"] = "MINUTE_15";
29
- GranularityId["MINUTE_30"] = "MINUTE_30";
30
- GranularityId["HOUR_1"] = "HOUR_1";
31
- GranularityId["HOUR_4"] = "HOUR_4";
32
- GranularityId["DAY_1"] = "DAY_1";
33
- return GranularityId;
34
- }({});
35
- let TimeSpanId = exports.TimeSpanId = function (TimeSpanId) {
36
- TimeSpanId["HOUR_1"] = "HOUR_1";
37
- TimeSpanId["HOUR_12"] = "HOUR_12";
38
- TimeSpanId["DAY_1"] = "DAY_1";
39
- TimeSpanId["DAY_2"] = "DAY_2";
40
- TimeSpanId["WEEK_1"] = "WEEK_1";
41
- TimeSpanId["WEEK_2"] = "WEEK_2";
42
- TimeSpanId["WEEK_3"] = "WEEK_3";
43
- TimeSpanId["MONTH_1"] = "MONTH_1";
44
- TimeSpanId["MONTH_3"] = "MONTH_3";
45
- TimeSpanId["MONTH_6"] = "MONTH_6";
46
- TimeSpanId["YEAR_1"] = "YEAR_1";
47
- TimeSpanId["YEAR_5"] = "YEAR_5";
48
- return TimeSpanId;
49
- }({});
50
6
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["InstrumentId","exports","GranularityId","TimeSpanId"],"sources":["../../../src/CrowdViewWidget/types.ts"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type { Division } from '../gql/types/graphql';\n\nexport interface CrowdViewConfig extends WidgetConfig {}\n\nexport interface MainProps {\n instrument?: InstrumentId;\n division: Division;\n}\n\nexport enum InstrumentId {\n EUR_AUD = 'EURAUD',\n EUR_GBP = 'EURGBP',\n EUR_JPY = 'EURJPY',\n EUR_USD = 'EURUSD',\n EUR_CHF = 'EURCHF',\n USD_CHF = 'USDCHF',\n USD_JPY = 'USDJPY',\n USD_CAD = 'USDCAD',\n GBP_USD = 'GBPUSD',\n GBP_JPY = 'GBPJPY',\n GBP_CHF = 'GBPCHF',\n AUD_JPY = 'AUDJPY',\n AUD_USD = 'AUDUSD',\n NZD_USD = 'NZDUSD',\n XAU_USD = 'XAUUSD',\n XAG_USD = 'XAGUSD',\n}\n\nexport enum GranularityId {\n MINUTE_5 = 'MINUTE_5',\n MINUTE_15 = 'MINUTE_15',\n MINUTE_30 = 'MINUTE_30',\n HOUR_1 = 'HOUR_1',\n HOUR_4 = 'HOUR_4',\n DAY_1 = 'DAY_1',\n}\n\nexport enum TimeSpanId {\n HOUR_1 = 'HOUR_1',\n HOUR_12 = 'HOUR_12',\n DAY_1 = 'DAY_1',\n DAY_2 = 'DAY_2',\n WEEK_1 = 'WEEK_1',\n WEEK_2 = 'WEEK_2',\n WEEK_3 = 'WEEK_3',\n MONTH_1 = 'MONTH_1',\n MONTH_3 = 'MONTH_3',\n MONTH_6 = 'MONTH_6',\n YEAR_1 = 'YEAR_1',\n YEAR_5 = 'YEAR_5',\n}\n\nexport interface OrdersPositionsData {\n price: number;\n buckets: {\n price: number;\n longCountPercent: number;\n shortCountPercent: number;\n }[];\n bucketWidth: number;\n timestamp: number;\n}\n"],"mappings":";;;;;;IAWYA,YAAY,GAAAC,OAAA,CAAAD,YAAA,aAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAZA,YAAY;EAAA,OAAZA,YAAY;AAAA;AAAA,IAmBZE,aAAa,GAAAD,OAAA,CAAAC,aAAA,aAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAAA,IASbC,UAAU,GAAAF,OAAA,CAAAE,UAAA,aAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/CrowdViewWidget/types.ts"],"sourcesContent":["import type { WidgetConfig } from '@oanda/labs-widget-common';\n\nimport type { Division } from '../gql/types/graphql';\nimport type { InstrumentId } from './types/instruments';\n\nexport interface CrowdViewConfig extends WidgetConfig {\n division: Division;\n}\n\nexport interface MainProps {\n instrument?: InstrumentId;\n division: Division;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getInstrumentConfigForDivision = void 0;
7
+ var _graphql = require("../../gql/types/graphql");
8
+ var _selectConfig = require("../selectConfig");
9
+ const getInstrumentConfigForDivision = division => {
10
+ return division === _graphql.Division.Oc ? _selectConfig.instrumentSelectConfigOC : _selectConfig.instrumentSelectConfig;
11
+ };
12
+ exports.getInstrumentConfigForDivision = getInstrumentConfigForDivision;
13
+ //# sourceMappingURL=instrumentUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentUtils.js","names":["_graphql","require","_selectConfig","getInstrumentConfigForDivision","division","Division","Oc","instrumentSelectConfigOC","instrumentSelectConfig","exports"],"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,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAKO,MAAME,8BAA8B,GAAIC,QAAkB,IAAK;EACpE,OAAOA,QAAQ,KAAKC,iBAAQ,CAACC,EAAE,GAC3BC,sCAAwB,GACxBC,oCAAsB;AAC5B,CAAC;AAACC,OAAA,CAAAN,8BAAA,GAAAA,8BAAA","ignoreList":[]}
@@ -7,5 +7,5 @@ exports.getOrderPositionBooks = void 0;
7
7
  var _client = require("@apollo/client");
8
8
  var _templateObject;
9
9
  function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
10
- const getOrderPositionBooks = exports.getOrderPositionBooks = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $recentHours: Int\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n"])));
10
+ const getOrderPositionBooks = exports.getOrderPositionBooks = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $timeSpan: TimeSpan!\n $granularity: Granularity!\n $maxBookPrice: Float\n $minBookPrice: Float\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n timeSpan: $timeSpan\n granularity: $granularity\n maxBookPrice: $maxBookPrice\n minBookPrice: $minBookPrice\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n sentiment\n }\n }\n }\n"])));
11
11
  //# sourceMappingURL=getOrderPositionBooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getOrderPositionBooks.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","getOrderPositionBooks","exports","gql"],"sources":["../../../src/gql/getOrderPositionBooks.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getOrderPositionBooks = gql`\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $recentHours: Int\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n recentHours: $recentHours\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n longCountPercent\n shortCountPercent\n }\n }\n }\n`;\n\nexport { getOrderPositionBooks };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,CAAA,EAAAC,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAD,CAAA,CAAAE,KAAA,MAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,CAAA,IAAAM,GAAA,IAAAC,KAAA,EAAAJ,MAAA,CAAAC,MAAA,CAAAH,CAAA;AAErC,MAAMO,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,+YAqBhC","ignoreList":[]}
1
+ {"version":3,"file":"getOrderPositionBooks.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","getOrderPositionBooks","exports","gql"],"sources":["../../../src/gql/getOrderPositionBooks.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getOrderPositionBooks = gql`\n query GetOrderPositionBooks(\n $instrument: String!\n $bookType: BookType!\n $timeSpan: TimeSpan!\n $granularity: Granularity!\n $maxBookPrice: Float\n $minBookPrice: Float\n ) {\n orderPositionBooks(\n instrument: $instrument\n bookType: $bookType\n timeSpan: $timeSpan\n granularity: $granularity\n maxBookPrice: $maxBookPrice\n minBookPrice: $minBookPrice\n ) {\n bucketWidth\n price\n time\n buckets {\n price\n sentiment\n }\n }\n }\n`;\n\nexport { getOrderPositionBooks };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,CAAA,EAAAC,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAD,CAAA,CAAAE,KAAA,MAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,CAAA,IAAAM,GAAA,IAAAC,KAAA,EAAAJ,MAAA,CAAAC,MAAA,CAAAH,CAAA;AAErC,MAAMO,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,qiBA0BhC","ignoreList":[]}