@oanda/labs-crowd-view-widget 1.0.70 → 1.0.71

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 (132) hide show
  1. package/CHANGELOG.md +454 -5400
  2. package/dist/main/translations/sources/ja.json +1 -1
  3. package/dist/module/CrowdViewWidget/CrowdViewWidget.js +19 -12
  4. package/dist/module/CrowdViewWidget/CrowdViewWidget.js.map +1 -1
  5. package/dist/module/CrowdViewWidget/Main.js +37 -30
  6. package/dist/module/CrowdViewWidget/Main.js.map +1 -1
  7. package/dist/module/CrowdViewWidget/components/Chart/Chart.js +36 -29
  8. package/dist/module/CrowdViewWidget/components/Chart/Chart.js.map +1 -1
  9. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js +30 -23
  10. package/dist/module/CrowdViewWidget/components/Chart/ChartWithData.js.map +1 -1
  11. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js +11 -4
  12. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.js.map +1 -1
  13. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js +10 -3
  14. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridConfig.js.map +1 -1
  15. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js +21 -14
  16. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getGridLines.js.map +1 -1
  17. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js +23 -15
  18. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getLabelsConfig.js.map +1 -1
  19. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js +16 -8
  20. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesCandlestickConfig.js.map +1 -1
  21. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js +10 -3
  22. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesHeatmapConfig.js.map +1 -1
  23. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js +10 -3
  24. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getSeriesSentimentConfig.js.map +1 -1
  25. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js +12 -5
  26. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getTooltipConfig.js.map +1 -1
  27. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.js +13 -6
  28. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getVisualMapConfig.js.map +1 -1
  29. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js +13 -6
  30. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getXAxisConfig.js.map +1 -1
  31. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js +14 -7
  32. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/getYAxisConfig.js.map +1 -1
  33. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js +126 -11
  34. package/dist/module/CrowdViewWidget/components/Chart/chartOptions/index.js.map +1 -1
  35. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.js +8 -1
  36. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatFullDate.js.map +1 -1
  37. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js +8 -1
  38. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisAdditionalLabel.js.map +1 -1
  39. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js +11 -4
  40. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatXAxisLabel.js.map +1 -1
  41. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatYAxisLabel.js +10 -3
  42. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/formatYAxisLabel.js.map +1 -1
  43. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getChartStyles.js +15 -8
  44. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getChartStyles.js.map +1 -1
  45. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.js +11 -3
  46. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getGradientColor.js.map +1 -1
  47. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js +8 -1
  48. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getLabelData.js.map +1 -1
  49. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getRectColor.js +12 -5
  50. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getRectColor.js.map +1 -1
  51. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js +17 -10
  52. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/getTooltipFormatter.js.map +1 -1
  53. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js +16 -9
  54. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleLabelUpdate.js.map +1 -1
  55. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js +8 -1
  56. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/handleTooltipUpdate.js.map +1 -1
  57. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js +148 -13
  58. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/index.js.map +1 -1
  59. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.js +10 -3
  60. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/isDifferenceGreaterThanTwoWeeks.js.map +1 -1
  61. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js +8 -1
  62. package/dist/module/CrowdViewWidget/components/Chart/chartUtils/normalizeLocale.js.map +1 -1
  63. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getBucketWidthMultiplayer.js +11 -4
  64. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getBucketWidthMultiplayer.js.map +1 -1
  65. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getInstrumentConfig.js +14 -7
  66. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getInstrumentConfig.js.map +1 -1
  67. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.js +14 -7
  68. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/getTimeSpanForGranularity.js.map +1 -1
  69. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js +82 -7
  70. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/index.js.map +1 -1
  71. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.js +8 -1
  72. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processOrderPositionBooks.js.map +1 -1
  73. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js +8 -1
  74. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processPriceCandles.js.map +1 -1
  75. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js +8 -1
  76. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/processSentiments.js.map +1 -1
  77. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/validateData.js +8 -1
  78. package/dist/module/CrowdViewWidget/components/Chart/dataUtils/validateData.js.map +1 -1
  79. package/dist/module/CrowdViewWidget/components/Chart/getOption.js +27 -20
  80. package/dist/module/CrowdViewWidget/components/Chart/getOption.js.map +1 -1
  81. package/dist/module/CrowdViewWidget/components/Chart/index.js +71 -6
  82. package/dist/module/CrowdViewWidget/components/Chart/index.js.map +1 -1
  83. package/dist/module/CrowdViewWidget/components/Chart/types.js +5 -1
  84. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js +35 -28
  85. package/dist/module/CrowdViewWidget/components/Chart/useCrowdViewData.js.map +1 -1
  86. package/dist/module/CrowdViewWidget/components/Chart/useResizeObserver.js +13 -6
  87. package/dist/module/CrowdViewWidget/components/Chart/useResizeObserver.js.map +1 -1
  88. package/dist/module/CrowdViewWidget/components/Legend/Legend.js +23 -15
  89. package/dist/module/CrowdViewWidget/components/Legend/Legend.js.map +1 -1
  90. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js +17 -9
  91. package/dist/module/CrowdViewWidget/components/Legend/LegendBar.js.map +1 -1
  92. package/dist/module/CrowdViewWidget/components/Legend/index.js +27 -2
  93. package/dist/module/CrowdViewWidget/components/Legend/index.js.map +1 -1
  94. package/dist/module/CrowdViewWidget/components/index.js +27 -2
  95. package/dist/module/CrowdViewWidget/components/index.js.map +1 -1
  96. package/dist/module/CrowdViewWidget/constants.js +38 -31
  97. package/dist/module/CrowdViewWidget/constants.js.map +1 -1
  98. package/dist/module/CrowdViewWidget/index.js +27 -2
  99. package/dist/module/CrowdViewWidget/index.js.map +1 -1
  100. package/dist/module/CrowdViewWidget/render.js +13 -10
  101. package/dist/module/CrowdViewWidget/render.js.map +1 -1
  102. package/dist/module/CrowdViewWidget/selectConfig.js +49 -43
  103. package/dist/module/CrowdViewWidget/selectConfig.js.map +1 -1
  104. package/dist/module/CrowdViewWidget/types.js +7 -1
  105. package/dist/module/CrowdViewWidget/types.js.map +1 -1
  106. package/dist/module/gql/getOrderPositionBooks.js +8 -3
  107. package/dist/module/gql/getOrderPositionBooks.js.map +1 -1
  108. package/dist/module/gql/getPriceCandles.js +8 -3
  109. package/dist/module/gql/getPriceCandles.js.map +1 -1
  110. package/dist/module/gql/getSentiments.js +8 -3
  111. package/dist/module/gql/getSentiments.js.map +1 -1
  112. package/dist/module/gql/types/fragment-masking.js +11 -3
  113. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  114. package/dist/module/gql/types/gql.js +9 -2
  115. package/dist/module/gql/types/gql.js.map +1 -1
  116. package/dist/module/gql/types/graphql.js +27 -21
  117. package/dist/module/gql/types/graphql.js.map +1 -1
  118. package/dist/module/gql/types/index.js +27 -2
  119. package/dist/module/gql/types/index.js.map +1 -1
  120. package/dist/module/index.js +16 -1
  121. package/dist/module/index.js.map +1 -1
  122. package/dist/module/translations/index.js +15 -8
  123. package/dist/module/translations/index.js.map +1 -1
  124. package/dist/module/translations/sources/ja.json +1 -1
  125. package/dist/module/translations/translations.js +7 -1
  126. package/dist/module/translations/translations.js.map +1 -1
  127. package/dist/types/gql/getOrderPositionBooks.d.ts +1 -1
  128. package/dist/types/gql/getPriceCandles.d.ts +1 -1
  129. package/dist/types/gql/getSentiments.d.ts +1 -1
  130. package/package.json +8 -4
  131. package/src/translations/sources/ja.json +1 -1
  132. package/tsconfig.types.json +2 -4
@@ -1,12 +1,18 @@
1
- import { useQuery } from '@apollo/client';
2
- import { useMemo } from 'react';
3
- import { getOrderPositionBooks } from '../../../gql/getOrderPositionBooks';
4
- import { getPriceCandles } from '../../../gql/getPriceCandles';
5
- import { getSentiments } from '../../../gql/getSentiments';
6
- import { DataSource } from '../../../gql/types/graphql';
7
- import { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../constants';
8
- import { getBucketWidthMultiplayer, getTimeSpanForGranularity, processOrderPositionBooks, processPriceCandles, processSentiments, validateData } from './dataUtils';
9
- export const useCrowdViewData = _ref => {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCrowdViewData = void 0;
7
+ var _client = require("@apollo/client");
8
+ var _react = require("react");
9
+ var _getOrderPositionBooks = require("../../../gql/getOrderPositionBooks");
10
+ var _getPriceCandles = require("../../../gql/getPriceCandles");
11
+ var _getSentiments = require("../../../gql/getSentiments");
12
+ var _graphql = require("../../../gql/types/graphql");
13
+ var _constants = require("../../constants");
14
+ var _dataUtils = require("./dataUtils");
15
+ const useCrowdViewData = _ref => {
10
16
  let {
11
17
  instrument,
12
18
  bookType,
@@ -17,13 +23,13 @@ export const useCrowdViewData = _ref => {
17
23
  loading: priceCandlesLoading,
18
24
  data: priceCandlesData,
19
25
  error: priceCandlesError
20
- } = useQuery(getPriceCandles, {
26
+ } = (0, _client.useQuery)(_getPriceCandles.getPriceCandles, {
21
27
  variables: {
22
- dataSource: DataSource.V20,
28
+ dataSource: _graphql.DataSource.V20,
23
29
  division,
24
- instrument: INSTRUMENTS_CONFIG[instrument].v20name,
30
+ instrument: _constants.INSTRUMENTS_CONFIG[instrument].v20name,
25
31
  granularity,
26
- timeSpan: getTimeSpanForGranularity(granularity)
32
+ timeSpan: (0, _dataUtils.getTimeSpanForGranularity)(granularity)
27
33
  },
28
34
  fetchPolicy: 'no-cache'
29
35
  });
@@ -37,8 +43,8 @@ export const useCrowdViewData = _ref => {
37
43
  candlesLow,
38
44
  candlesHigh,
39
45
  pipsLocation
40
- } = useMemo(() => processPriceCandles(priceCandlesData), [priceCandlesData]);
41
- const bucketWidthMultiplayer = useMemo(() => getBucketWidthMultiplayer({
46
+ } = (0, _react.useMemo)(() => (0, _dataUtils.processPriceCandles)(priceCandlesData), [priceCandlesData]);
47
+ const bucketWidthMultiplayer = (0, _react.useMemo)(() => (0, _dataUtils.getBucketWidthMultiplayer)({
42
48
  minPrice,
43
49
  maxPrice,
44
50
  instrument
@@ -47,16 +53,16 @@ export const useCrowdViewData = _ref => {
47
53
  loading: orderPositionLoading,
48
54
  data: orderPositionData,
49
55
  error: orderPositionError
50
- } = useQuery(getOrderPositionBooks, {
56
+ } = (0, _client.useQuery)(_getOrderPositionBooks.getOrderPositionBooks, {
51
57
  variables: {
52
- instrument: INSTRUMENTS_CONFIG[instrument].v20name,
58
+ instrument: _constants.INSTRUMENTS_CONFIG[instrument].v20name,
53
59
  bookType,
54
- timeSpan: getTimeSpanForGranularity(granularity),
60
+ timeSpan: (0, _dataUtils.getTimeSpanForGranularity)(granularity),
55
61
  granularity,
56
62
  maxBookPrice: maxPrice,
57
63
  minBookPrice: minPrice,
58
64
  bucketMultiplier: bucketWidthMultiplayer,
59
- bucketMargin: BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER
65
+ bucketMargin: _constants.BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER
60
66
  },
61
67
  fetchPolicy: 'no-cache',
62
68
  skip: priceCandlesLoading || !!priceCandlesError
@@ -69,16 +75,16 @@ export const useCrowdViewData = _ref => {
69
75
  sentimentThresholdMin,
70
76
  sentimentThresholdMax,
71
77
  hasValidBooks
72
- } = useMemo(() => processOrderPositionBooks(orderPositionData, dates), [orderPositionData, dates]);
78
+ } = (0, _react.useMemo)(() => (0, _dataUtils.processOrderPositionBooks)(orderPositionData, dates), [orderPositionData, dates]);
73
79
  const {
74
80
  loading: sentimentsLoading,
75
81
  data: sentimentsData,
76
82
  error: sentimentsError
77
- } = useQuery(getSentiments, {
83
+ } = (0, _client.useQuery)(_getSentiments.getSentiments, {
78
84
  variables: {
79
- instrument: INSTRUMENTS_CONFIG[instrument].v20name,
85
+ instrument: _constants.INSTRUMENTS_CONFIG[instrument].v20name,
80
86
  granularity,
81
- timeSpan: getTimeSpanForGranularity(granularity)
87
+ timeSpan: (0, _dataUtils.getTimeSpanForGranularity)(granularity)
82
88
  },
83
89
  fetchPolicy: 'no-cache',
84
90
  skip: priceCandlesLoading || !!priceCandlesError
@@ -87,9 +93,9 @@ export const useCrowdViewData = _ref => {
87
93
  sentimentLongs,
88
94
  sentimentShorts,
89
95
  hasValidSentiments
90
- } = useMemo(() => processSentiments(sentimentsData, dates), [sentimentsData, dates]);
96
+ } = (0, _react.useMemo)(() => (0, _dataUtils.processSentiments)(sentimentsData, dates), [sentimentsData, dates]);
91
97
  const loading = priceCandlesLoading || orderPositionLoading || sentimentsLoading;
92
- const error = useMemo(() => {
98
+ const error = (0, _react.useMemo)(() => {
93
99
  if (priceCandlesError) {
94
100
  return new Error(`Price candles error: ${priceCandlesError.message}`);
95
101
  }
@@ -102,9 +108,9 @@ export const useCrowdViewData = _ref => {
102
108
  if (loading) {
103
109
  return null;
104
110
  }
105
- return validateData(priceCandlesData, orderPositionData, hasValidCandles, hasValidBooks, hasValidSentiments);
111
+ return (0, _dataUtils.validateData)(priceCandlesData, orderPositionData, hasValidCandles, hasValidBooks, hasValidSentiments);
106
112
  }, [priceCandlesError, orderPositionError, sentimentsError, loading, priceCandlesData, orderPositionData, hasValidCandles, hasValidBooks, hasValidSentiments]);
107
- const data = useMemo(() => {
113
+ const data = (0, _react.useMemo)(() => {
108
114
  if (!priceCandlesData || error) {
109
115
  return null;
110
116
  }
@@ -121,7 +127,7 @@ export const useCrowdViewData = _ref => {
121
127
  sentimentLongs
122
128
  },
123
129
  additionalData: {
124
- bucketWidth: bucketWidth || INSTRUMENTS_CONFIG[instrument].defaultBucketWidth * bucketWidthMultiplayer,
130
+ bucketWidth: bucketWidth || _constants.INSTRUMENTS_CONFIG[instrument].defaultBucketWidth * bucketWidthMultiplayer,
125
131
  buckets,
126
132
  displayPrecision: pipsLocation,
127
133
  bookType,
@@ -140,4 +146,5 @@ export const useCrowdViewData = _ref => {
140
146
  error: !!error
141
147
  };
142
148
  };
149
+ exports.useCrowdViewData = useCrowdViewData;
143
150
  //# sourceMappingURL=useCrowdViewData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useCrowdViewData.js","names":["useQuery","useMemo","getOrderPositionBooks","getPriceCandles","getSentiments","DataSource","BUCKET_CONFIG","INSTRUMENTS_CONFIG","getBucketWidthMultiplayer","getTimeSpanForGranularity","processOrderPositionBooks","processPriceCandles","processSentiments","validateData","useCrowdViewData","_ref","instrument","bookType","division","granularity","loading","priceCandlesLoading","data","priceCandlesData","error","priceCandlesError","variables","dataSource","V20","v20name","timeSpan","fetchPolicy","minPrice","maxPrice","hasValidCandles","dates","candlesOpen","candlesClose","candlesLow","candlesHigh","pipsLocation","bucketWidthMultiplayer","orderPositionLoading","orderPositionData","orderPositionError","maxBookPrice","minBookPrice","bucketMultiplier","bucketMargin","PRICE_MARGIN_MULTIPLIER","skip","bookPrices","bookIndexes","buckets","bucketWidth","sentimentThresholdMin","sentimentThresholdMax","hasValidBooks","sentimentsLoading","sentimentsData","sentimentsError","sentimentLongs","sentimentShorts","hasValidSentiments","Error","message","mainData","additionalData","defaultBucketWidth","displayPrecision"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/useCrowdViewData.ts"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { useMemo } from 'react';\n\nimport { getOrderPositionBooks } from '../../../gql/getOrderPositionBooks';\nimport { getPriceCandles } from '../../../gql/getPriceCandles';\nimport { getSentiments } from '../../../gql/getSentiments';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables,\n GetSentimentsQuery,\n GetSentimentsQueryVariables,\n} from '../../../gql/types/graphql';\nimport { DataSource } from '../../../gql/types/graphql';\nimport { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../constants';\nimport {\n getBucketWidthMultiplayer,\n getTimeSpanForGranularity,\n processOrderPositionBooks,\n processPriceCandles,\n processSentiments,\n validateData,\n} from './dataUtils';\nimport type { UseCrowdViewDataProps, UseCrowdViewDataReturn } from './types';\n\nexport const useCrowdViewData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: UseCrowdViewDataProps): UseCrowdViewDataReturn => {\n // Get price candles data\n const {\n loading: priceCandlesLoading,\n data: priceCandlesData,\n error: priceCandlesError,\n } = useQuery<GetPriceCandlesQuery, GetPriceCandlesQueryVariables>(\n getPriceCandles,\n {\n variables: {\n dataSource: DataSource.V20,\n division,\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n }\n );\n\n const {\n minPrice,\n maxPrice,\n hasValidCandles,\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n pipsLocation,\n } = useMemo(() => processPriceCandles(priceCandlesData), [priceCandlesData]);\n\n const bucketWidthMultiplayer = useMemo(\n () =>\n getBucketWidthMultiplayer({\n minPrice,\n maxPrice,\n instrument,\n }),\n [minPrice, maxPrice, instrument]\n );\n // Get order position books data\n const {\n loading: orderPositionLoading,\n data: orderPositionData,\n error: orderPositionError,\n } = useQuery<GetOrderPositionBooksQuery, GetOrderPositionBooksQueryVariables>(\n getOrderPositionBooks,\n {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n bookType,\n timeSpan: getTimeSpanForGranularity(granularity),\n granularity,\n maxBookPrice: maxPrice,\n minBookPrice: minPrice,\n bucketMultiplier: bucketWidthMultiplayer,\n bucketMargin: BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER,\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n }\n );\n\n const {\n bookPrices,\n bookIndexes,\n buckets,\n bucketWidth,\n sentimentThresholdMin,\n sentimentThresholdMax,\n hasValidBooks,\n } = useMemo(\n () => processOrderPositionBooks(orderPositionData, dates),\n [orderPositionData, dates]\n );\n\n // Get sentiments data\n const {\n loading: sentimentsLoading,\n data: sentimentsData,\n error: sentimentsError,\n } = useQuery<GetSentimentsQuery, GetSentimentsQueryVariables>(getSentiments, {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n });\n\n const { sentimentLongs, sentimentShorts, hasValidSentiments } = useMemo(\n () => processSentiments(sentimentsData, dates),\n [sentimentsData, dates]\n );\n\n // Gather all results\n const loading =\n priceCandlesLoading || orderPositionLoading || sentimentsLoading;\n\n const error = useMemo((): Error | null => {\n if (priceCandlesError) {\n return new Error(`Price candles error: ${priceCandlesError.message}`);\n }\n if (orderPositionError) {\n return new Error(`Order position error: ${orderPositionError.message}`);\n }\n if (sentimentsError) {\n return new Error(`Sentiments error: ${sentimentsError.message}`);\n }\n if (loading) {\n return null;\n }\n return validateData(\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n hasValidBooks,\n hasValidSentiments\n );\n }, [\n priceCandlesError,\n orderPositionError,\n sentimentsError,\n loading,\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n hasValidBooks,\n hasValidSentiments,\n ]);\n\n const data = useMemo(() => {\n if (!priceCandlesData || error) {\n return null;\n }\n\n return {\n mainData: {\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n bookPrices,\n bookIndexes,\n sentimentShorts,\n sentimentLongs,\n },\n additionalData: {\n bucketWidth:\n bucketWidth ||\n INSTRUMENTS_CONFIG[instrument].defaultBucketWidth *\n bucketWidthMultiplayer,\n buckets,\n displayPrecision: pipsLocation,\n bookType,\n sentimentThresholdMin,\n sentimentThresholdMax,\n },\n };\n }, [\n priceCandlesData,\n error,\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n bookPrices,\n bookIndexes,\n sentimentShorts,\n sentimentLongs,\n bucketWidth,\n instrument,\n bucketWidthMultiplayer,\n buckets,\n pipsLocation,\n bookType,\n sentimentThresholdMin,\n sentimentThresholdMax,\n ]);\n\n return {\n mainData: data?.mainData,\n additionalData: data?.additionalData,\n priceCandlesLoading,\n orderPositionLoading,\n sentimentsLoading,\n loading,\n error: !!error,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useCrowdViewData.js","names":["_client","require","_react","_getOrderPositionBooks","_getPriceCandles","_getSentiments","_graphql","_constants","_dataUtils","useCrowdViewData","_ref","instrument","bookType","division","granularity","loading","priceCandlesLoading","data","priceCandlesData","error","priceCandlesError","useQuery","getPriceCandles","variables","dataSource","DataSource","V20","INSTRUMENTS_CONFIG","v20name","timeSpan","getTimeSpanForGranularity","fetchPolicy","minPrice","maxPrice","hasValidCandles","dates","candlesOpen","candlesClose","candlesLow","candlesHigh","pipsLocation","useMemo","processPriceCandles","bucketWidthMultiplayer","getBucketWidthMultiplayer","orderPositionLoading","orderPositionData","orderPositionError","getOrderPositionBooks","maxBookPrice","minBookPrice","bucketMultiplier","bucketMargin","BUCKET_CONFIG","PRICE_MARGIN_MULTIPLIER","skip","bookPrices","bookIndexes","buckets","bucketWidth","sentimentThresholdMin","sentimentThresholdMax","hasValidBooks","processOrderPositionBooks","sentimentsLoading","sentimentsData","sentimentsError","getSentiments","sentimentLongs","sentimentShorts","hasValidSentiments","processSentiments","Error","message","validateData","mainData","additionalData","defaultBucketWidth","displayPrecision","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/useCrowdViewData.ts"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { useMemo } from 'react';\n\nimport { getOrderPositionBooks } from '../../../gql/getOrderPositionBooks';\nimport { getPriceCandles } from '../../../gql/getPriceCandles';\nimport { getSentiments } from '../../../gql/getSentiments';\nimport type {\n GetOrderPositionBooksQuery,\n GetOrderPositionBooksQueryVariables,\n GetPriceCandlesQuery,\n GetPriceCandlesQueryVariables,\n GetSentimentsQuery,\n GetSentimentsQueryVariables,\n} from '../../../gql/types/graphql';\nimport { DataSource } from '../../../gql/types/graphql';\nimport { BUCKET_CONFIG, INSTRUMENTS_CONFIG } from '../../constants';\nimport {\n getBucketWidthMultiplayer,\n getTimeSpanForGranularity,\n processOrderPositionBooks,\n processPriceCandles,\n processSentiments,\n validateData,\n} from './dataUtils';\nimport type { UseCrowdViewDataProps, UseCrowdViewDataReturn } from './types';\n\nexport const useCrowdViewData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: UseCrowdViewDataProps): UseCrowdViewDataReturn => {\n // Get price candles data\n const {\n loading: priceCandlesLoading,\n data: priceCandlesData,\n error: priceCandlesError,\n } = useQuery<GetPriceCandlesQuery, GetPriceCandlesQueryVariables>(\n getPriceCandles,\n {\n variables: {\n dataSource: DataSource.V20,\n division,\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n }\n );\n\n const {\n minPrice,\n maxPrice,\n hasValidCandles,\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n pipsLocation,\n } = useMemo(() => processPriceCandles(priceCandlesData), [priceCandlesData]);\n\n const bucketWidthMultiplayer = useMemo(\n () =>\n getBucketWidthMultiplayer({\n minPrice,\n maxPrice,\n instrument,\n }),\n [minPrice, maxPrice, instrument]\n );\n // Get order position books data\n const {\n loading: orderPositionLoading,\n data: orderPositionData,\n error: orderPositionError,\n } = useQuery<GetOrderPositionBooksQuery, GetOrderPositionBooksQueryVariables>(\n getOrderPositionBooks,\n {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n bookType,\n timeSpan: getTimeSpanForGranularity(granularity),\n granularity,\n maxBookPrice: maxPrice,\n minBookPrice: minPrice,\n bucketMultiplier: bucketWidthMultiplayer,\n bucketMargin: BUCKET_CONFIG.PRICE_MARGIN_MULTIPLIER,\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n }\n );\n\n const {\n bookPrices,\n bookIndexes,\n buckets,\n bucketWidth,\n sentimentThresholdMin,\n sentimentThresholdMax,\n hasValidBooks,\n } = useMemo(\n () => processOrderPositionBooks(orderPositionData, dates),\n [orderPositionData, dates]\n );\n\n // Get sentiments data\n const {\n loading: sentimentsLoading,\n data: sentimentsData,\n error: sentimentsError,\n } = useQuery<GetSentimentsQuery, GetSentimentsQueryVariables>(getSentiments, {\n variables: {\n instrument: INSTRUMENTS_CONFIG[instrument].v20name,\n granularity,\n timeSpan: getTimeSpanForGranularity(granularity),\n },\n fetchPolicy: 'no-cache',\n skip: priceCandlesLoading || !!priceCandlesError,\n });\n\n const { sentimentLongs, sentimentShorts, hasValidSentiments } = useMemo(\n () => processSentiments(sentimentsData, dates),\n [sentimentsData, dates]\n );\n\n // Gather all results\n const loading =\n priceCandlesLoading || orderPositionLoading || sentimentsLoading;\n\n const error = useMemo((): Error | null => {\n if (priceCandlesError) {\n return new Error(`Price candles error: ${priceCandlesError.message}`);\n }\n if (orderPositionError) {\n return new Error(`Order position error: ${orderPositionError.message}`);\n }\n if (sentimentsError) {\n return new Error(`Sentiments error: ${sentimentsError.message}`);\n }\n if (loading) {\n return null;\n }\n return validateData(\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n hasValidBooks,\n hasValidSentiments\n );\n }, [\n priceCandlesError,\n orderPositionError,\n sentimentsError,\n loading,\n priceCandlesData,\n orderPositionData,\n hasValidCandles,\n hasValidBooks,\n hasValidSentiments,\n ]);\n\n const data = useMemo(() => {\n if (!priceCandlesData || error) {\n return null;\n }\n\n return {\n mainData: {\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n bookPrices,\n bookIndexes,\n sentimentShorts,\n sentimentLongs,\n },\n additionalData: {\n bucketWidth:\n bucketWidth ||\n INSTRUMENTS_CONFIG[instrument].defaultBucketWidth *\n bucketWidthMultiplayer,\n buckets,\n displayPrecision: pipsLocation,\n bookType,\n sentimentThresholdMin,\n sentimentThresholdMax,\n },\n };\n }, [\n priceCandlesData,\n error,\n dates,\n candlesOpen,\n candlesClose,\n candlesLow,\n candlesHigh,\n bookPrices,\n bookIndexes,\n sentimentShorts,\n sentimentLongs,\n bucketWidth,\n instrument,\n bucketWidthMultiplayer,\n buckets,\n pipsLocation,\n bookType,\n sentimentThresholdMin,\n sentimentThresholdMax,\n ]);\n\n return {\n mainData: data?.mainData,\n additionalData: data?.additionalData,\n priceCandlesLoading,\n orderPositionLoading,\n sentimentsLoading,\n loading,\n error: !!error,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,19 @@
1
- import { useEffect, useRef, useState } from 'react';
2
- export const useResizeObserver = function () {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useResizeObserver = void 0;
7
+ var _react = require("react");
8
+ const useResizeObserver = function () {
3
9
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4
10
  const {
5
11
  debounceDelay = 150
6
12
  } = options;
7
- const [isResizing, setIsResizing] = useState(false);
8
- const containerRef = useRef(null);
9
- const resizeTimeoutRef = useRef(null);
10
- useEffect(() => {
13
+ const [isResizing, setIsResizing] = (0, _react.useState)(false);
14
+ const containerRef = (0, _react.useRef)(null);
15
+ const resizeTimeoutRef = (0, _react.useRef)(null);
16
+ (0, _react.useEffect)(() => {
11
17
  const container = containerRef.current;
12
18
  if (!container) {
13
19
  return undefined;
@@ -37,4 +43,5 @@ export const useResizeObserver = function () {
37
43
  }, [debounceDelay]);
38
44
  return [containerRef, isResizing];
39
45
  };
46
+ exports.useResizeObserver = useResizeObserver;
40
47
  //# sourceMappingURL=useResizeObserver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResizeObserver.js","names":["useEffect","useRef","useState","useResizeObserver","options","arguments","length","undefined","debounceDelay","isResizing","setIsResizing","containerRef","resizeTimeoutRef","container","current","ResizeObserver","console","warn","resizeObserver","clearTimeout","setTimeout","observe","disconnect"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/useResizeObserver.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\ninterface UseResizeObserverOptions {\n debounceDelay?: number;\n}\n\nexport const useResizeObserver = (\n options: UseResizeObserverOptions = {}\n): [React.RefObject<HTMLDivElement>, boolean] => {\n const { debounceDelay = 150 } = options;\n const [isResizing, setIsResizing] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const resizeTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) {\n return undefined;\n }\n\n if (typeof ResizeObserver === 'undefined') {\n console.warn('ResizeObserver is not supported in this browser');\n return undefined;\n }\n\n const resizeObserver = new ResizeObserver(() => {\n setIsResizing(true);\n\n if (resizeTimeoutRef.current) {\n clearTimeout(resizeTimeoutRef.current);\n }\n\n resizeTimeoutRef.current = setTimeout(() => {\n setIsResizing(false);\n resizeTimeoutRef.current = null;\n }, debounceDelay);\n });\n\n resizeObserver.observe(container);\n\n return () => {\n resizeObserver.disconnect();\n if (resizeTimeoutRef.current) {\n clearTimeout(resizeTimeoutRef.current);\n resizeTimeoutRef.current = null;\n }\n };\n }, [debounceDelay]);\n\n return [containerRef, isResizing];\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAMnD,OAAO,MAAMC,iBAAiB,GAAG,SAAAA,CAAA,EAEgB;EAAA,IAD/CC,OAAiC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEtC,MAAM;IAAEG,aAAa,GAAG;EAAI,CAAC,GAAGJ,OAAO;EACvC,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAMS,YAAY,GAAGV,MAAM,CAAiB,IAAI,CAAC;EACjD,MAAMW,gBAAgB,GAAGX,MAAM,CAAwB,IAAI,CAAC;EAE5DD,SAAS,CAAC,MAAM;IACd,MAAMa,SAAS,GAAGF,YAAY,CAACG,OAAO;IACtC,IAAI,CAACD,SAAS,EAAE;MACd,OAAON,SAAS;IAClB;IAEA,IAAI,OAAOQ,cAAc,KAAK,WAAW,EAAE;MACzCC,OAAO,CAACC,IAAI,CAAC,iDAAiD,CAAC;MAC/D,OAAOV,SAAS;IAClB;IAEA,MAAMW,cAAc,GAAG,IAAIH,cAAc,CAAC,MAAM;MAC9CL,aAAa,CAAC,IAAI,CAAC;MAEnB,IAAIE,gBAAgB,CAACE,OAAO,EAAE;QAC5BK,YAAY,CAACP,gBAAgB,CAACE,OAAO,CAAC;MACxC;MAEAF,gBAAgB,CAACE,OAAO,GAAGM,UAAU,CAAC,MAAM;QAC1CV,aAAa,CAAC,KAAK,CAAC;QACpBE,gBAAgB,CAACE,OAAO,GAAG,IAAI;MACjC,CAAC,EAAEN,aAAa,CAAC;IACnB,CAAC,CAAC;IAEFU,cAAc,CAACG,OAAO,CAACR,SAAS,CAAC;IAEjC,OAAO,MAAM;MACXK,cAAc,CAACI,UAAU,CAAC,CAAC;MAC3B,IAAIV,gBAAgB,CAACE,OAAO,EAAE;QAC5BK,YAAY,CAACP,gBAAgB,CAACE,OAAO,CAAC;QACtCF,gBAAgB,CAACE,OAAO,GAAG,IAAI;MACjC;IACF,CAAC;EACH,CAAC,EAAE,CAACN,aAAa,CAAC,CAAC;EAEnB,OAAO,CAACG,YAAY,EAAEF,UAAU,CAAC;AACnC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"useResizeObserver.js","names":["_react","require","useResizeObserver","options","arguments","length","undefined","debounceDelay","isResizing","setIsResizing","useState","containerRef","useRef","resizeTimeoutRef","useEffect","container","current","ResizeObserver","console","warn","resizeObserver","clearTimeout","setTimeout","observe","disconnect","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/useResizeObserver.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\n\ninterface UseResizeObserverOptions {\n debounceDelay?: number;\n}\n\nexport const useResizeObserver = (\n options: UseResizeObserverOptions = {}\n): [React.RefObject<HTMLDivElement>, boolean] => {\n const { debounceDelay = 150 } = options;\n const [isResizing, setIsResizing] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n const resizeTimeoutRef = useRef<NodeJS.Timeout | null>(null);\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) {\n return undefined;\n }\n\n if (typeof ResizeObserver === 'undefined') {\n console.warn('ResizeObserver is not supported in this browser');\n return undefined;\n }\n\n const resizeObserver = new ResizeObserver(() => {\n setIsResizing(true);\n\n if (resizeTimeoutRef.current) {\n clearTimeout(resizeTimeoutRef.current);\n }\n\n resizeTimeoutRef.current = setTimeout(() => {\n setIsResizing(false);\n resizeTimeoutRef.current = null;\n }, debounceDelay);\n });\n\n resizeObserver.observe(container);\n\n return () => {\n resizeObserver.disconnect();\n if (resizeTimeoutRef.current) {\n clearTimeout(resizeTimeoutRef.current);\n resizeTimeoutRef.current = null;\n }\n };\n }, [debounceDelay]);\n\n return [containerRef, isResizing];\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAMO,MAAMC,iBAAiB,GAAG,SAAAA,CAAA,EAEgB;EAAA,IAD/CC,OAAiC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEtC,MAAM;IAAEG,aAAa,GAAG;EAAI,CAAC,GAAGJ,OAAO;EACvC,MAAM,CAACK,UAAU,EAAEC,aAAa,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACnD,MAAMC,YAAY,GAAG,IAAAC,aAAM,EAAiB,IAAI,CAAC;EACjD,MAAMC,gBAAgB,GAAG,IAAAD,aAAM,EAAwB,IAAI,CAAC;EAE5D,IAAAE,gBAAS,EAAC,MAAM;IACd,MAAMC,SAAS,GAAGJ,YAAY,CAACK,OAAO;IACtC,IAAI,CAACD,SAAS,EAAE;MACd,OAAOT,SAAS;IAClB;IAEA,IAAI,OAAOW,cAAc,KAAK,WAAW,EAAE;MACzCC,OAAO,CAACC,IAAI,CAAC,iDAAiD,CAAC;MAC/D,OAAOb,SAAS;IAClB;IAEA,MAAMc,cAAc,GAAG,IAAIH,cAAc,CAAC,MAAM;MAC9CR,aAAa,CAAC,IAAI,CAAC;MAEnB,IAAII,gBAAgB,CAACG,OAAO,EAAE;QAC5BK,YAAY,CAACR,gBAAgB,CAACG,OAAO,CAAC;MACxC;MAEAH,gBAAgB,CAACG,OAAO,GAAGM,UAAU,CAAC,MAAM;QAC1Cb,aAAa,CAAC,KAAK,CAAC;QACpBI,gBAAgB,CAACG,OAAO,GAAG,IAAI;MACjC,CAAC,EAAET,aAAa,CAAC;IACnB,CAAC,CAAC;IAEFa,cAAc,CAACG,OAAO,CAACR,SAAS,CAAC;IAEjC,OAAO,MAAM;MACXK,cAAc,CAACI,UAAU,CAAC,CAAC;MAC3B,IAAIX,gBAAgB,CAACG,OAAO,EAAE;QAC5BK,YAAY,CAACR,gBAAgB,CAACG,OAAO,CAAC;QACtCH,gBAAgB,CAACG,OAAO,GAAG,IAAI;MACjC;IACF,CAAC;EACH,CAAC,EAAE,CAACT,aAAa,CAAC,CAAC;EAEnB,OAAO,CAACI,YAAY,EAAEH,UAAU,CAAC;AACnC,CAAC;AAACiB,OAAA,CAAAvB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,32 +1,40 @@
1
- import { useLayoutProvider } from '@oanda/labs-widget-common';
2
- import { useLocale } from '@oanda/mono-i18n';
3
- import React from 'react';
4
- import { BookType } from '../../../gql/types/graphql';
5
- import { LegendBar } from './LegendBar';
6
- export const Legend = _ref => {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Legend = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _monoI18n = require("@oanda/mono-i18n");
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _graphql = require("../../../gql/types/graphql");
11
+ var _LegendBar = require("./LegendBar");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
+ const Legend = _ref => {
7
14
  let {
8
15
  bookType
9
16
  } = _ref;
10
17
  const {
11
18
  isDark
12
- } = useLayoutProvider();
19
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
13
20
  const {
14
21
  lang
15
- } = useLocale();
16
- return React.createElement("div", {
22
+ } = (0, _monoI18n.useLocale)();
23
+ return _react.default.createElement("div", {
17
24
  className: "lw-my-4 lw-w-full"
18
- }, React.createElement("div", {
25
+ }, _react.default.createElement("div", {
19
26
  className: "lw-mb-1 lw-flex lw-w-full lw-flex-row lw-justify-between"
20
- }, React.createElement(LegendBar, {
27
+ }, _react.default.createElement(_LegendBar.LegendBar, {
21
28
  isDark: isDark,
22
29
  type: "long"
23
- }), React.createElement("div", {
30
+ }), _react.default.createElement("div", {
24
31
  className: "lw-w-[200px]"
25
- }), React.createElement(LegendBar, {
32
+ }), _react.default.createElement(_LegendBar.LegendBar, {
26
33
  isDark: isDark,
27
34
  type: "short"
28
- })), React.createElement("div", {
35
+ })), _react.default.createElement("div", {
29
36
  className: "lw-flex lw-w-full lw-flex-row lw-justify-between lw-pb-2 lw-font-sans lw-text-xs lw-text-text-primary"
30
- }, React.createElement("span", null, lang(bookType === BookType.Order ? 'buy_overbalance' : 'long_overbalance')), React.createElement("span", null, lang('even_market_demand')), React.createElement("span", null, lang(bookType === BookType.Order ? 'sell_overbalance' : 'short_overbalance'))));
37
+ }, _react.default.createElement("span", null, lang(bookType === _graphql.BookType.Order ? 'buy_overbalance' : 'long_overbalance')), _react.default.createElement("span", null, lang('even_market_demand')), _react.default.createElement("span", null, lang(bookType === _graphql.BookType.Order ? 'sell_overbalance' : 'short_overbalance'))));
31
38
  };
39
+ exports.Legend = Legend;
32
40
  //# sourceMappingURL=Legend.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Legend.js","names":["useLayoutProvider","useLocale","React","BookType","LegendBar","Legend","_ref","bookType","isDark","lang","createElement","className","type","Order"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { BookType } from '../../../gql/types/graphql';\nimport { LegendBar } from './LegendBar';\n\ninterface LegendProps {\n bookType: BookType;\n}\n\nexport const Legend = ({ bookType }: LegendProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n\n return (\n <div className=\"lw-my-4 lw-w-full\">\n <div className=\"lw-mb-1 lw-flex lw-w-full lw-flex-row lw-justify-between\">\n <LegendBar isDark={isDark} type=\"long\" />\n <div className=\"lw-w-[200px]\" />\n <LegendBar isDark={isDark} type=\"short\" />\n </div>\n <div className=\"lw-flex lw-w-full lw-flex-row lw-justify-between lw-pb-2 lw-font-sans lw-text-xs lw-text-text-primary\">\n <span>\n {lang(\n bookType === BookType.Order ? 'buy_overbalance' : 'long_overbalance'\n )}\n </span>\n <span>{lang('even_market_demand')}</span>\n <span>\n {lang(\n bookType === BookType.Order\n ? 'sell_overbalance'\n : 'short_overbalance'\n )}\n </span>\n </div>\n </div>\n );\n};\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,2BAA2B;AAC7D,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,QAAQ,QAAQ,4BAA4B;AACrD,SAASC,SAAS,QAAQ,aAAa;AAMvC,OAAO,MAAMC,MAAM,GAAGC,IAAA,IAA+B;EAAA,IAA9B;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAC9C,MAAM;IAAEE;EAAO,CAAC,GAAGR,iBAAiB,CAAC,CAAC;EACtC,MAAM;IAAES;EAAK,CAAC,GAAGR,SAAS,CAAC,CAAC;EAE5B,OACEC,KAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAmB,GAChCT,KAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAA0D,GACvET,KAAA,CAAAQ,aAAA,CAACN,SAAS;IAACI,MAAM,EAAEA,MAAO;IAACI,IAAI,EAAC;EAAM,CAAE,CAAC,EACzCV,KAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAc,CAAE,CAAC,EAChCT,KAAA,CAAAQ,aAAA,CAACN,SAAS;IAACI,MAAM,EAAEA,MAAO;IAACI,IAAI,EAAC;EAAO,CAAE,CACtC,CAAC,EACNV,KAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAuG,GACpHT,KAAA,CAAAQ,aAAA,eACGD,IAAI,CACHF,QAAQ,KAAKJ,QAAQ,CAACU,KAAK,GAAG,iBAAiB,GAAG,kBACpD,CACI,CAAC,EACPX,KAAA,CAAAQ,aAAA,eAAOD,IAAI,CAAC,oBAAoB,CAAQ,CAAC,EACzCP,KAAA,CAAAQ,aAAA,eACGD,IAAI,CACHF,QAAQ,KAAKJ,QAAQ,CAACU,KAAK,GACvB,kBAAkB,GAClB,mBACN,CACI,CACH,CACF,CAAC;AAEV,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Legend.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireDefault","_graphql","_LegendBar","e","__esModule","default","Legend","_ref","bookType","isDark","useLayoutProvider","lang","useLocale","createElement","className","LegendBar","type","BookType","Order","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/Legend.tsx"],"sourcesContent":["import { useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React from 'react';\n\nimport { BookType } from '../../../gql/types/graphql';\nimport { LegendBar } from './LegendBar';\n\ninterface LegendProps {\n bookType: BookType;\n}\n\nexport const Legend = ({ bookType }: LegendProps) => {\n const { isDark } = useLayoutProvider();\n const { lang } = useLocale();\n\n return (\n <div className=\"lw-my-4 lw-w-full\">\n <div className=\"lw-mb-1 lw-flex lw-w-full lw-flex-row lw-justify-between\">\n <LegendBar isDark={isDark} type=\"long\" />\n <div className=\"lw-w-[200px]\" />\n <LegendBar isDark={isDark} type=\"short\" />\n </div>\n <div className=\"lw-flex lw-w-full lw-flex-row lw-justify-between lw-pb-2 lw-font-sans lw-text-xs lw-text-text-primary\">\n <span>\n {lang(\n bookType === BookType.Order ? 'buy_overbalance' : 'long_overbalance'\n )}\n </span>\n <span>{lang('even_market_demand')}</span>\n <span>\n {lang(\n bookType === BookType.Order\n ? 'sell_overbalance'\n : 'short_overbalance'\n )}\n </span>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAAwC,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAMjC,MAAMG,MAAM,GAAGC,IAAA,IAA+B;EAAA,IAA9B;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAC9C,MAAM;IAAEE;EAAO,CAAC,GAAG,IAAAC,mCAAiB,EAAC,CAAC;EACtC,MAAM;IAAEC;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAE5B,OACEb,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAmB,GAChCf,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAA0D,GACvEf,MAAA,CAAAM,OAAA,CAAAQ,aAAA,CAACX,UAAA,CAAAa,SAAS;IAACN,MAAM,EAAEA,MAAO;IAACO,IAAI,EAAC;EAAM,CAAE,CAAC,EACzCjB,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAc,CAAE,CAAC,EAChCf,MAAA,CAAAM,OAAA,CAAAQ,aAAA,CAACX,UAAA,CAAAa,SAAS;IAACN,MAAM,EAAEA,MAAO;IAACO,IAAI,EAAC;EAAO,CAAE,CACtC,CAAC,EACNjB,MAAA,CAAAM,OAAA,CAAAQ,aAAA;IAAKC,SAAS,EAAC;EAAuG,GACpHf,MAAA,CAAAM,OAAA,CAAAQ,aAAA,eACGF,IAAI,CACHH,QAAQ,KAAKS,iBAAQ,CAACC,KAAK,GAAG,iBAAiB,GAAG,kBACpD,CACI,CAAC,EACPnB,MAAA,CAAAM,OAAA,CAAAQ,aAAA,eAAOF,IAAI,CAAC,oBAAoB,CAAQ,CAAC,EACzCZ,MAAA,CAAAM,OAAA,CAAAQ,aAAA,eACGF,IAAI,CACHH,QAAQ,KAAKS,iBAAQ,CAACC,KAAK,GACvB,kBAAkB,GAClB,mBACN,CACI,CACH,CACF,CAAC;AAEV,CAAC;AAACC,OAAA,CAAAb,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -1,26 +1,33 @@
1
- import { cn } from '@oanda/labs-widget-common';
2
- import React from 'react';
3
- import { COLOR_MAP } from '../../constants';
4
- export const LegendBar = _ref => {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.LegendBar = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _constants = require("../../constants");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const LegendBar = _ref => {
5
12
  let {
6
13
  type,
7
14
  isDark
8
15
  } = _ref;
9
- const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;
16
+ const colorPalette = isDark ? _constants.COLOR_MAP.dark : _constants.COLOR_MAP.light;
10
17
  const startColor = type === 'long' ? colorPalette.long[1] : colorPalette.short[0];
11
18
  const endColor = type === 'long' ? colorPalette.long[0] : colorPalette.short[1];
12
19
  const endGradient = type === 'long' ? `linear-gradient(90deg,${endColor} 0%, ${colorPalette.backgroundColor} 100%)` : `linear-gradient(270deg,${startColor} 0%, ${colorPalette.backgroundColor} 100%)`;
13
- return React.createElement("div", {
14
- className: cn('lw-flex lw-h-2 lw-w-full lw-overflow-hidden', {
20
+ return _react.default.createElement("div", {
21
+ className: (0, _labsWidgetCommon.cn)('lw-flex lw-h-2 lw-w-full lw-overflow-hidden', {
15
22
  'lw-flex-row-reverse': type === 'short'
16
23
  })
17
- }, React.createElement("div", {
24
+ }, _react.default.createElement("div", {
18
25
  className: "lw-h-full lw-flex-1",
19
26
  "data-testid": "legend-bar-segment",
20
27
  style: {
21
28
  background: `linear-gradient(90deg,${startColor} 0%, ${endColor} 100%)`
22
29
  }
23
- }), React.createElement("div", {
30
+ }), _react.default.createElement("div", {
24
31
  className: "lw-h-full lw-w-[10px]",
25
32
  "data-testid": "legend-bar-segment",
26
33
  style: {
@@ -28,4 +35,5 @@ export const LegendBar = _ref => {
28
35
  }
29
36
  }));
30
37
  };
38
+ exports.LegendBar = LegendBar;
31
39
  //# sourceMappingURL=LegendBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegendBar.js","names":["cn","React","COLOR_MAP","LegendBar","_ref","type","isDark","colorPalette","dark","light","startColor","long","short","endColor","endGradient","backgroundColor","createElement","className","style","background"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/LegendBar.tsx"],"sourcesContent":["import { cn } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { COLOR_MAP } from '../../constants';\n\nexport type LegendType = 'long' | 'short';\n\ninterface LegendBarProps {\n type: LegendType;\n isDark: boolean;\n}\n\nexport const LegendBar = ({ type, isDark }: LegendBarProps) => {\n const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;\n\n const startColor =\n type === 'long' ? colorPalette.long[1] : colorPalette.short[0];\n const endColor =\n type === 'long' ? colorPalette.long[0] : colorPalette.short[1];\n const endGradient =\n type === 'long'\n ? `linear-gradient(90deg,${endColor} 0%, ${colorPalette.backgroundColor} 100%)`\n : `linear-gradient(270deg,${startColor} 0%, ${colorPalette.backgroundColor} 100%)`;\n\n return (\n <div\n className={cn('lw-flex lw-h-2 lw-w-full lw-overflow-hidden', {\n 'lw-flex-row-reverse': type === 'short',\n })}\n >\n <div\n className=\"lw-h-full lw-flex-1\"\n data-testid=\"legend-bar-segment\"\n style={{\n background: `linear-gradient(90deg,${startColor} 0%, ${endColor} 100%)`,\n }}\n />\n <div\n className=\"lw-h-full lw-w-[10px]\"\n data-testid=\"legend-bar-segment\"\n style={{\n background: endGradient,\n }}\n />\n </div>\n );\n};\n"],"mappings":"AAAA,SAASA,EAAE,QAAQ,2BAA2B;AAC9C,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,SAAS,QAAQ,iBAAiB;AAS3C,OAAO,MAAMC,SAAS,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,IAAI;IAAEC;EAAuB,CAAC,GAAAF,IAAA;EACxD,MAAMG,YAAY,GAAGD,MAAM,GAAGJ,SAAS,CAACM,IAAI,GAAGN,SAAS,CAACO,KAAK;EAE9D,MAAMC,UAAU,GACdL,IAAI,KAAK,MAAM,GAAGE,YAAY,CAACI,IAAI,CAAC,CAAC,CAAC,GAAGJ,YAAY,CAACK,KAAK,CAAC,CAAC,CAAC;EAChE,MAAMC,QAAQ,GACZR,IAAI,KAAK,MAAM,GAAGE,YAAY,CAACI,IAAI,CAAC,CAAC,CAAC,GAAGJ,YAAY,CAACK,KAAK,CAAC,CAAC,CAAC;EAChE,MAAME,WAAW,GACfT,IAAI,KAAK,MAAM,GACX,yBAAyBQ,QAAQ,QAAQN,YAAY,CAACQ,eAAe,QAAQ,GAC7E,0BAA0BL,UAAU,QAAQH,YAAY,CAACQ,eAAe,QAAQ;EAEtF,OACEd,KAAA,CAAAe,aAAA;IACEC,SAAS,EAAEjB,EAAE,CAAC,6CAA6C,EAAE;MAC3D,qBAAqB,EAAEK,IAAI,KAAK;IAClC,CAAC;EAAE,GAEHJ,KAAA,CAAAe,aAAA;IACEC,SAAS,EAAC,qBAAqB;IAC/B,eAAY,oBAAoB;IAChCC,KAAK,EAAE;MACLC,UAAU,EAAE,yBAAyBT,UAAU,QAAQG,QAAQ;IACjE;EAAE,CACH,CAAC,EACFZ,KAAA,CAAAe,aAAA;IACEC,SAAS,EAAC,uBAAuB;IACjC,eAAY,oBAAoB;IAChCC,KAAK,EAAE;MACLC,UAAU,EAAEL;IACd;EAAE,CACH,CACE,CAAC;AAEV,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"LegendBar.js","names":["_labsWidgetCommon","require","_react","_interopRequireDefault","_constants","e","__esModule","default","LegendBar","_ref","type","isDark","colorPalette","COLOR_MAP","dark","light","startColor","long","short","endColor","endGradient","backgroundColor","createElement","className","cn","style","background","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/LegendBar.tsx"],"sourcesContent":["import { cn } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { COLOR_MAP } from '../../constants';\n\nexport type LegendType = 'long' | 'short';\n\ninterface LegendBarProps {\n type: LegendType;\n isDark: boolean;\n}\n\nexport const LegendBar = ({ type, isDark }: LegendBarProps) => {\n const colorPalette = isDark ? COLOR_MAP.dark : COLOR_MAP.light;\n\n const startColor =\n type === 'long' ? colorPalette.long[1] : colorPalette.short[0];\n const endColor =\n type === 'long' ? colorPalette.long[0] : colorPalette.short[1];\n const endGradient =\n type === 'long'\n ? `linear-gradient(90deg,${endColor} 0%, ${colorPalette.backgroundColor} 100%)`\n : `linear-gradient(270deg,${startColor} 0%, ${colorPalette.backgroundColor} 100%)`;\n\n return (\n <div\n className={cn('lw-flex lw-h-2 lw-w-full lw-overflow-hidden', {\n 'lw-flex-row-reverse': type === 'short',\n })}\n >\n <div\n className=\"lw-h-full lw-flex-1\"\n data-testid=\"legend-bar-segment\"\n style={{\n background: `linear-gradient(90deg,${startColor} 0%, ${endColor} 100%)`,\n }}\n />\n <div\n className=\"lw-h-full lw-w-[10px]\"\n data-testid=\"legend-bar-segment\"\n style={{\n background: endGradient,\n }}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAA4C,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AASrC,MAAMG,SAAS,GAAGC,IAAA,IAAsC;EAAA,IAArC;IAAEC,IAAI;IAAEC;EAAuB,CAAC,GAAAF,IAAA;EACxD,MAAMG,YAAY,GAAGD,MAAM,GAAGE,oBAAS,CAACC,IAAI,GAAGD,oBAAS,CAACE,KAAK;EAE9D,MAAMC,UAAU,GACdN,IAAI,KAAK,MAAM,GAAGE,YAAY,CAACK,IAAI,CAAC,CAAC,CAAC,GAAGL,YAAY,CAACM,KAAK,CAAC,CAAC,CAAC;EAChE,MAAMC,QAAQ,GACZT,IAAI,KAAK,MAAM,GAAGE,YAAY,CAACK,IAAI,CAAC,CAAC,CAAC,GAAGL,YAAY,CAACM,KAAK,CAAC,CAAC,CAAC;EAChE,MAAME,WAAW,GACfV,IAAI,KAAK,MAAM,GACX,yBAAyBS,QAAQ,QAAQP,YAAY,CAACS,eAAe,QAAQ,GAC7E,0BAA0BL,UAAU,QAAQJ,YAAY,CAACS,eAAe,QAAQ;EAEtF,OACEnB,MAAA,CAAAK,OAAA,CAAAe,aAAA;IACEC,SAAS,EAAE,IAAAC,oBAAE,EAAC,6CAA6C,EAAE;MAC3D,qBAAqB,EAAEd,IAAI,KAAK;IAClC,CAAC;EAAE,GAEHR,MAAA,CAAAK,OAAA,CAAAe,aAAA;IACEC,SAAS,EAAC,qBAAqB;IAC/B,eAAY,oBAAoB;IAChCE,KAAK,EAAE;MACLC,UAAU,EAAE,yBAAyBV,UAAU,QAAQG,QAAQ;IACjE;EAAE,CACH,CAAC,EACFjB,MAAA,CAAAK,OAAA,CAAAe,aAAA;IACEC,SAAS,EAAC,uBAAuB;IACjC,eAAY,oBAAoB;IAChCE,KAAK,EAAE;MACLC,UAAU,EAAEN;IACd;EAAE,CACH,CACE,CAAC;AAEV,CAAC;AAACO,OAAA,CAAAnB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -1,3 +1,28 @@
1
- export * from './Legend';
2
- export * from './LegendBar';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _Legend = require("./Legend");
7
+ Object.keys(_Legend).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Legend[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _Legend[key];
14
+ }
15
+ });
16
+ });
17
+ var _LegendBar = require("./LegendBar");
18
+ Object.keys(_LegendBar).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _LegendBar[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _LegendBar[key];
25
+ }
26
+ });
27
+ });
3
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/CrowdViewWidget/components/Legend/index.ts"],"sourcesContent":["export * from './Legend';\nexport * from './LegendBar';\n"],"mappings":"AAAA,cAAc,UAAU;AACxB,cAAc,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Legend","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_LegendBar"],"sources":["../../../../../src/CrowdViewWidget/components/Legend/index.ts"],"sourcesContent":["export * from './Legend';\nexport * from './LegendBar';\n"],"mappings":";;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,OAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,OAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,OAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,UAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,UAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,UAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,UAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
@@ -1,3 +1,28 @@
1
- export * from './Chart';
2
- export * from './Legend';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _Chart = require("./Chart");
7
+ Object.keys(_Chart).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _Chart[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _Chart[key];
14
+ }
15
+ });
16
+ });
17
+ var _Legend = require("./Legend");
18
+ Object.keys(_Legend).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _Legend[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _Legend[key];
25
+ }
26
+ });
27
+ });
3
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/CrowdViewWidget/components/index.ts"],"sourcesContent":["export * from './Chart';\nexport * from './Legend';\n"],"mappings":"AAAA,cAAc,SAAS;AACvB,cAAc,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_Chart","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_Legend"],"sources":["../../../../src/CrowdViewWidget/components/index.ts"],"sourcesContent":["export * from './Chart';\nexport * from './Legend';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,OAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,OAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,OAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,OAAA,CAAAL,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}