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

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 +461 -5399
  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
@@ -28,4 +28,4 @@
28
28
  "short_overbalance": "売り超過",
29
29
  "tap_chart_to_see_more_details": "チャートをタップすると詳細を確認できます",
30
30
  "trades": "未決済のポジション"
31
- }
31
+ }
@@ -1,8 +1,15 @@
1
- import { ApolloClient, InMemoryCache } from '@apollo/client';
2
- import { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';
3
- import React from 'react';
4
- import { translations } from '../translations';
5
- import { Main } from './Main';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CrowdViewWidget = void 0;
7
+ var _client = require("@apollo/client");
8
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _translations = require("../translations");
11
+ var _Main = require("./Main");
12
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
6
13
  const CrowdViewWidget = _ref => {
7
14
  let {
8
15
  graphqlUrl,
@@ -12,22 +19,22 @@ const CrowdViewWidget = _ref => {
12
19
  logoLink,
13
20
  division
14
21
  } = _ref;
15
- const client = new ApolloClient({
22
+ const client = new _client.ApolloClient({
16
23
  uri: graphqlUrl,
17
- cache: new InMemoryCache()
24
+ cache: new _client.InMemoryCache()
18
25
  });
19
- return React.createElement(WidgetProvider, {
26
+ return _react.default.createElement(_labsWidgetCommon.WidgetProvider, {
20
27
  client: client,
21
28
  locale: locale,
22
29
  theme: theme,
23
- translations: translations
24
- }, React.createElement(WidgetWrapper, {
30
+ translations: _translations.translations
31
+ }, _react.default.createElement(_labsWidgetCommon.WidgetWrapper, {
25
32
  isParamError: isParamError,
26
33
  linkArea: "logo",
27
34
  logoLink: logoLink
28
- }, React.createElement(Main, {
35
+ }, _react.default.createElement(_Main.Main, {
29
36
  division: division
30
37
  })));
31
38
  };
32
- export { CrowdViewWidget };
39
+ exports.CrowdViewWidget = CrowdViewWidget;
33
40
  //# sourceMappingURL=CrowdViewWidget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CrowdViewWidget.js","names":["ApolloClient","InMemoryCache","WidgetProvider","WidgetWrapper","React","translations","Main","CrowdViewWidget","_ref","graphqlUrl","locale","theme","isParamError","logoLink","division","client","uri","cache","createElement","linkArea"],"sources":["../../../src/CrowdViewWidget/CrowdViewWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport type { CrowdViewConfig } from './types';\n\nconst CrowdViewWidget = ({\n graphqlUrl,\n locale,\n theme,\n isParamError,\n logoLink,\n division,\n}: CrowdViewConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n return (\n <WidgetProvider\n client={client}\n locale={locale}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n <Main division={division} />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { CrowdViewWidget };\n"],"mappings":"AAAA,SAASA,YAAY,EAAEC,aAAa,QAAQ,gBAAgB;AAC5D,SAASC,cAAc,EAAEC,aAAa,QAAQ,2BAA2B;AACzE,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,IAAI,QAAQ,QAAQ;AAG7B,MAAMC,eAAe,GAAGC,IAAA,IAOD;EAAA,IAPE;IACvBC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC;EACe,CAAC,GAAAN,IAAA;EAChB,MAAMO,MAAM,GAAG,IAAIf,YAAY,CAAC;IAC9BgB,GAAG,EAAEP,UAAU;IACfQ,KAAK,EAAE,IAAIhB,aAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACEG,KAAA,CAAAc,aAAA,CAAChB,cAAc;IACba,MAAM,EAAEA,MAAO;IACfL,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbN,YAAY,EAAEA;EAAa,GAE3BD,KAAA,CAAAc,aAAA,CAACf,aAAa;IACZS,YAAY,EAAEA,YAAa;IAC3BO,QAAQ,EAAC,MAAM;IACfN,QAAQ,EAAEA;EAAS,GAEnBT,KAAA,CAAAc,aAAA,CAACZ,IAAI;IAACQ,QAAQ,EAAEA;EAAS,CAAE,CACd,CACD,CAAC;AAErB,CAAC;AAED,SAASP,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"CrowdViewWidget.js","names":["_client","require","_labsWidgetCommon","_react","_interopRequireDefault","_translations","_Main","e","__esModule","default","CrowdViewWidget","_ref","graphqlUrl","locale","theme","isParamError","logoLink","division","client","ApolloClient","uri","cache","InMemoryCache","createElement","WidgetProvider","translations","WidgetWrapper","linkArea","Main","exports"],"sources":["../../../src/CrowdViewWidget/CrowdViewWidget.tsx"],"sourcesContent":["import { ApolloClient, InMemoryCache } from '@apollo/client';\nimport { WidgetProvider, WidgetWrapper } from '@oanda/labs-widget-common';\nimport React from 'react';\n\nimport { translations } from '../translations';\nimport { Main } from './Main';\nimport type { CrowdViewConfig } from './types';\n\nconst CrowdViewWidget = ({\n graphqlUrl,\n locale,\n theme,\n isParamError,\n logoLink,\n division,\n}: CrowdViewConfig) => {\n const client = new ApolloClient({\n uri: graphqlUrl,\n cache: new InMemoryCache(),\n });\n\n return (\n <WidgetProvider\n client={client}\n locale={locale}\n theme={theme}\n translations={translations}\n >\n <WidgetWrapper\n isParamError={isParamError}\n linkArea=\"logo\"\n logoLink={logoLink}\n >\n <Main division={division} />\n </WidgetWrapper>\n </WidgetProvider>\n );\n};\n\nexport { CrowdViewWidget };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AAEA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AAA8B,SAAAG,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAG9B,MAAMG,eAAe,GAAGC,IAAA,IAOD;EAAA,IAPE;IACvBC,UAAU;IACVC,MAAM;IACNC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC;EACe,CAAC,GAAAN,IAAA;EAChB,MAAMO,MAAM,GAAG,IAAIC,oBAAY,CAAC;IAC9BC,GAAG,EAAER,UAAU;IACfS,KAAK,EAAE,IAAIC,qBAAa,CAAC;EAC3B,CAAC,CAAC;EAEF,OACEnB,MAAA,CAAAM,OAAA,CAAAc,aAAA,CAACrB,iBAAA,CAAAsB,cAAc;IACbN,MAAM,EAAEA,MAAO;IACfL,MAAM,EAAEA,MAAO;IACfC,KAAK,EAAEA,KAAM;IACbW,YAAY,EAAEA;EAAa,GAE3BtB,MAAA,CAAAM,OAAA,CAAAc,aAAA,CAACrB,iBAAA,CAAAwB,aAAa;IACZX,YAAY,EAAEA,YAAa;IAC3BY,QAAQ,EAAC,MAAM;IACfX,QAAQ,EAAEA;EAAS,GAEnBb,MAAA,CAAAM,OAAA,CAAAc,aAAA,CAACjB,KAAA,CAAAsB,IAAI;IAACX,QAAQ,EAAEA;EAAS,CAAE,CACd,CACD,CAAC;AAErB,CAAC;AAACY,OAAA,CAAAnB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -1,9 +1,16 @@
1
- import { cn, Select, Size, Tabs, useLayoutProvider } from '@oanda/labs-widget-common';
2
- import { Locale, useLocale } from '@oanda/mono-i18n';
3
- import React, { useEffect, useMemo, useState } from 'react';
4
- import { BookType } from '../gql/types/graphql';
5
- import { ChartWithData, getInstrumentConfig, Legend } from './components';
6
- import { getGranularitySelectConfig, navigationConfig } from './selectConfig';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Main = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _monoI18n = require("@oanda/mono-i18n");
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _graphql = require("../gql/types/graphql");
11
+ var _components = require("./components");
12
+ var _selectConfig = require("./selectConfig");
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
7
14
  const Main = _ref => {
8
15
  let {
9
16
  division
@@ -11,63 +18,63 @@ const Main = _ref => {
11
18
  const {
12
19
  lang,
13
20
  locale
14
- } = useLocale();
21
+ } = (0, _monoI18n.useLocale)();
15
22
  const {
16
23
  size
17
- } = useLayoutProvider();
18
- const isDesktop = size === Size.DESKTOP;
19
- const isJapanese = locale === Locale.ja;
20
- const [bookType, setBookType] = useState(BookType.Order);
21
- const granularitySelectConfigWithLang = useMemo(() => getGranularitySelectConfig(lang, isJapanese), [lang, isJapanese]);
22
- const instrumentSelectConfig = getInstrumentConfig(division, isJapanese);
23
- const [instrument, setInstrument] = useState(instrumentSelectConfig[0]);
24
- const [granularity, setGranularity] = useState(granularitySelectConfigWithLang[0]);
25
- useEffect(() => {
24
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
25
+ const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
26
+ const isJapanese = locale === _monoI18n.Locale.ja;
27
+ const [bookType, setBookType] = (0, _react.useState)(_graphql.BookType.Order);
28
+ const granularitySelectConfigWithLang = (0, _react.useMemo)(() => (0, _selectConfig.getGranularitySelectConfig)(lang, isJapanese), [lang, isJapanese]);
29
+ const instrumentSelectConfig = (0, _components.getInstrumentConfig)(division, isJapanese);
30
+ const [instrument, setInstrument] = (0, _react.useState)(instrumentSelectConfig[0]);
31
+ const [granularity, setGranularity] = (0, _react.useState)(granularitySelectConfigWithLang[0]);
32
+ (0, _react.useEffect)(() => {
26
33
  setGranularity(granularitySelectConfigWithLang[0]);
27
34
  }, [granularitySelectConfigWithLang]);
28
- return React.createElement(React.Fragment, null, size && React.createElement("div", {
35
+ return _react.default.createElement(_react.default.Fragment, null, size && _react.default.createElement("div", {
29
36
  className: "lw-text-sm lw-tracking-normal",
30
37
  "data-testid": "crowd-view-widget"
31
- }, React.createElement("div", null, React.createElement(Tabs, {
38
+ }, _react.default.createElement("div", null, _react.default.createElement(_labsWidgetCommon.Tabs, {
32
39
  mobileFullWidth: true,
33
40
  activeTab: bookType,
34
41
  handleClick: e => setBookType(e.currentTarget.value),
35
- items: navigationConfig,
42
+ items: _selectConfig.navigationConfig,
36
43
  labelCallback: lang
37
- }), React.createElement("div", {
38
- className: cn('lw-mb-6 lw-mt-12', {
44
+ }), _react.default.createElement("div", {
45
+ className: (0, _labsWidgetCommon.cn)('lw-mb-6 lw-mt-12', {
39
46
  'lw-flex': isDesktop
40
47
  })
41
- }, React.createElement("div", {
42
- className: cn('lw-mr-2', {
48
+ }, _react.default.createElement("div", {
49
+ className: (0, _labsWidgetCommon.cn)('lw-mr-2', {
43
50
  'lw-w-full lw-mb-2': !isDesktop,
44
51
  'lw-w-[280px]': isDesktop
45
52
  })
46
- }, React.createElement(Select, {
53
+ }, _react.default.createElement(_labsWidgetCommon.Select, {
47
54
  options: instrumentSelectConfig,
48
55
  searchPlaceholder: lang('search'),
49
56
  selectLabel: lang('instrument'),
50
57
  selectedOption: instrument,
51
58
  setSelectedOption: val => setInstrument(val)
52
- })), React.createElement("div", {
53
- className: cn({
59
+ })), _react.default.createElement("div", {
60
+ className: (0, _labsWidgetCommon.cn)({
54
61
  'lw-w-full': !isDesktop,
55
62
  'lw-w-[280px]': isDesktop
56
63
  })
57
- }, React.createElement(Select, {
64
+ }, _react.default.createElement(_labsWidgetCommon.Select, {
58
65
  options: granularitySelectConfigWithLang,
59
66
  searchPlaceholder: lang('search'),
60
67
  selectLabel: lang('granularity'),
61
68
  selectedOption: granularity,
62
69
  setSelectedOption: val => setGranularity(val)
63
- })))), React.createElement(ChartWithData, {
70
+ })))), _react.default.createElement(_components.ChartWithData, {
64
71
  bookType: bookType,
65
72
  division: division,
66
73
  granularity: granularity.id,
67
74
  instrument: instrument.id
68
- }), React.createElement(Legend, {
75
+ }), _react.default.createElement(_components.Legend, {
69
76
  bookType: bookType
70
77
  })));
71
78
  };
72
- export { Main };
79
+ exports.Main = Main;
73
80
  //# sourceMappingURL=Main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["cn","Select","Size","Tabs","useLayoutProvider","Locale","useLocale","React","useEffect","useMemo","useState","BookType","ChartWithData","getInstrumentConfig","Legend","getGranularitySelectConfig","navigationConfig","Main","_ref","division","lang","locale","size","isDesktop","DESKTOP","isJapanese","ja","bookType","setBookType","Order","granularitySelectConfigWithLang","instrumentSelectConfig","instrument","setInstrument","granularity","setGranularity","createElement","Fragment","className","mobileFullWidth","activeTab","handleClick","e","currentTarget","value","items","labelCallback","options","searchPlaceholder","selectLabel","selectedOption","setSelectedOption","val","id"],"sources":["../../../src/CrowdViewWidget/Main.tsx"],"sourcesContent":["import {\n cn,\n Select,\n Size,\n Tabs,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { Locale, useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport type { Granularity } from '../gql/types/graphql';\nimport { BookType } from '../gql/types/graphql';\nimport { ChartWithData, getInstrumentConfig, Legend } from './components';\nimport { getGranularitySelectConfig, navigationConfig } from './selectConfig';\nimport type { InstrumentId, MainProps } from './types';\n\nconst Main = ({ division }: MainProps) => {\n const { lang, locale } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isJapanese = locale === Locale.ja;\n\n const [bookType, setBookType] = useState(BookType.Order);\n\n const granularitySelectConfigWithLang = useMemo(\n () => getGranularitySelectConfig(lang, isJapanese),\n [lang, isJapanese]\n );\n\n const instrumentSelectConfig = getInstrumentConfig(division, isJapanese);\n\n const [instrument, setInstrument] = useState(instrumentSelectConfig[0]);\n\n const [granularity, setGranularity] = useState(\n granularitySelectConfigWithLang[0]\n );\n\n useEffect(() => {\n setGranularity(granularitySelectConfigWithLang[0]);\n }, [granularitySelectConfigWithLang]);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-text-sm lw-tracking-normal\"\n data-testid=\"crowd-view-widget\"\n >\n <div>\n <Tabs\n mobileFullWidth\n activeTab={bookType}\n handleClick={(e) =>\n setBookType(e.currentTarget.value as BookType)\n }\n items={navigationConfig}\n labelCallback={lang}\n />\n <div\n className={cn('lw-mb-6 lw-mt-12', {\n 'lw-flex': isDesktop,\n })}\n >\n <div\n className={cn('lw-mr-2', {\n 'lw-w-full lw-mb-2': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={instrumentSelectConfig}\n searchPlaceholder={lang('search')}\n selectLabel={lang('instrument')}\n selectedOption={instrument}\n setSelectedOption={(val) =>\n setInstrument(val as { id: InstrumentId; label: string })\n }\n />\n </div>\n <div\n className={cn({\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={granularitySelectConfigWithLang}\n searchPlaceholder={lang('search')}\n selectLabel={lang('granularity')}\n selectedOption={granularity}\n setSelectedOption={(val) =>\n setGranularity(val as { id: Granularity; label: string })\n }\n />\n </div>\n </div>\n </div>\n <ChartWithData\n bookType={bookType}\n division={division}\n granularity={granularity.id}\n instrument={instrument.id}\n />\n <Legend bookType={bookType} />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"AAAA,SACEA,EAAE,EACFC,MAAM,EACNC,IAAI,EACJC,IAAI,EACJC,iBAAiB,QACZ,2BAA2B;AAClC,SAASC,MAAM,EAAEC,SAAS,QAAQ,kBAAkB;AACpD,OAAOC,KAAK,IAAIC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AAG3D,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,aAAa,EAAEC,mBAAmB,EAAEC,MAAM,QAAQ,cAAc;AACzE,SAASC,0BAA0B,EAAEC,gBAAgB,QAAQ,gBAAgB;AAG7E,MAAMC,IAAI,GAAGC,IAAA,IAA6B;EAAA,IAA5B;IAAEC;EAAoB,CAAC,GAAAD,IAAA;EACnC,MAAM;IAAEE,IAAI;IAAEC;EAAO,CAAC,GAAGf,SAAS,CAAC,CAAC;EACpC,MAAM;IAAEgB;EAAK,CAAC,GAAGlB,iBAAiB,CAAC,CAAC;EACpC,MAAMmB,SAAS,GAAGD,IAAI,KAAKpB,IAAI,CAACsB,OAAO;EACvC,MAAMC,UAAU,GAAGJ,MAAM,KAAKhB,MAAM,CAACqB,EAAE;EAEvC,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGlB,QAAQ,CAACC,QAAQ,CAACkB,KAAK,CAAC;EAExD,MAAMC,+BAA+B,GAAGrB,OAAO,CAC7C,MAAMM,0BAA0B,CAACK,IAAI,EAAEK,UAAU,CAAC,EAClD,CAACL,IAAI,EAAEK,UAAU,CACnB,CAAC;EAED,MAAMM,sBAAsB,GAAGlB,mBAAmB,CAACM,QAAQ,EAAEM,UAAU,CAAC;EAExE,MAAM,CAACO,UAAU,EAAEC,aAAa,CAAC,GAAGvB,QAAQ,CAACqB,sBAAsB,CAAC,CAAC,CAAC,CAAC;EAEvE,MAAM,CAACG,WAAW,EAAEC,cAAc,CAAC,GAAGzB,QAAQ,CAC5CoB,+BAA+B,CAAC,CAAC,CACnC,CAAC;EAEDtB,SAAS,CAAC,MAAM;IACd2B,cAAc,CAACL,+BAA+B,CAAC,CAAC,CAAC,CAAC;EACpD,CAAC,EAAE,CAACA,+BAA+B,CAAC,CAAC;EAErC,OACEvB,KAAA,CAAA6B,aAAA,CAAA7B,KAAA,CAAA8B,QAAA,QACGf,IAAI,IACHf,KAAA,CAAA6B,aAAA;IACEE,SAAS,EAAC,+BAA+B;IACzC,eAAY;EAAmB,GAE/B/B,KAAA,CAAA6B,aAAA,cACE7B,KAAA,CAAA6B,aAAA,CAACjC,IAAI;IACHoC,eAAe;IACfC,SAAS,EAAEb,QAAS;IACpBc,WAAW,EAAGC,CAAC,IACbd,WAAW,CAACc,CAAC,CAACC,aAAa,CAACC,KAAiB,CAC9C;IACDC,KAAK,EAAE7B,gBAAiB;IACxB8B,aAAa,EAAE1B;EAAK,CACrB,CAAC,EACFb,KAAA,CAAA6B,aAAA;IACEE,SAAS,EAAEtC,EAAE,CAAC,kBAAkB,EAAE;MAChC,SAAS,EAAEuB;IACb,CAAC;EAAE,GAEHhB,KAAA,CAAA6B,aAAA;IACEE,SAAS,EAAEtC,EAAE,CAAC,SAAS,EAAE;MACvB,mBAAmB,EAAE,CAACuB,SAAS;MAC/B,cAAc,EAAEA;IAClB,CAAC;EAAE,GAEHhB,KAAA,CAAA6B,aAAA,CAACnC,MAAM;IACL8C,OAAO,EAAEhB,sBAAuB;IAChCiB,iBAAiB,EAAE5B,IAAI,CAAC,QAAQ,CAAE;IAClC6B,WAAW,EAAE7B,IAAI,CAAC,YAAY,CAAE;IAChC8B,cAAc,EAAElB,UAAW;IAC3BmB,iBAAiB,EAAGC,GAAG,IACrBnB,aAAa,CAACmB,GAA0C;EACzD,CACF,CACE,CAAC,EACN7C,KAAA,CAAA6B,aAAA;IACEE,SAAS,EAAEtC,EAAE,CAAC;MACZ,WAAW,EAAE,CAACuB,SAAS;MACvB,cAAc,EAAEA;IAClB,CAAC;EAAE,GAEHhB,KAAA,CAAA6B,aAAA,CAACnC,MAAM;IACL8C,OAAO,EAAEjB,+BAAgC;IACzCkB,iBAAiB,EAAE5B,IAAI,CAAC,QAAQ,CAAE;IAClC6B,WAAW,EAAE7B,IAAI,CAAC,aAAa,CAAE;IACjC8B,cAAc,EAAEhB,WAAY;IAC5BiB,iBAAiB,EAAGC,GAAG,IACrBjB,cAAc,CAACiB,GAAyC;EACzD,CACF,CACE,CACF,CACF,CAAC,EACN7C,KAAA,CAAA6B,aAAA,CAACxB,aAAa;IACZe,QAAQ,EAAEA,QAAS;IACnBR,QAAQ,EAAEA,QAAS;IACnBe,WAAW,EAAEA,WAAW,CAACmB,EAAG;IAC5BrB,UAAU,EAAEA,UAAU,CAACqB;EAAG,CAC3B,CAAC,EACF9C,KAAA,CAAA6B,aAAA,CAACtB,MAAM;IAACa,QAAQ,EAAEA;EAAS,CAAE,CAC1B,CAEP,CAAC;AAEP,CAAC;AAED,SAASV,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_graphql","_components","_selectConfig","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Main","_ref","division","lang","locale","useLocale","size","useLayoutProvider","isDesktop","Size","DESKTOP","isJapanese","Locale","ja","bookType","setBookType","useState","BookType","Order","granularitySelectConfigWithLang","useMemo","getGranularitySelectConfig","instrumentSelectConfig","getInstrumentConfig","instrument","setInstrument","granularity","setGranularity","useEffect","createElement","Fragment","className","Tabs","mobileFullWidth","activeTab","handleClick","currentTarget","value","items","navigationConfig","labelCallback","cn","Select","options","searchPlaceholder","selectLabel","selectedOption","setSelectedOption","val","ChartWithData","id","Legend","exports"],"sources":["../../../src/CrowdViewWidget/Main.tsx"],"sourcesContent":["import {\n cn,\n Select,\n Size,\n Tabs,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { Locale, useLocale } from '@oanda/mono-i18n';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport type { Granularity } from '../gql/types/graphql';\nimport { BookType } from '../gql/types/graphql';\nimport { ChartWithData, getInstrumentConfig, Legend } from './components';\nimport { getGranularitySelectConfig, navigationConfig } from './selectConfig';\nimport type { InstrumentId, MainProps } from './types';\n\nconst Main = ({ division }: MainProps) => {\n const { lang, locale } = useLocale();\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const isJapanese = locale === Locale.ja;\n\n const [bookType, setBookType] = useState(BookType.Order);\n\n const granularitySelectConfigWithLang = useMemo(\n () => getGranularitySelectConfig(lang, isJapanese),\n [lang, isJapanese]\n );\n\n const instrumentSelectConfig = getInstrumentConfig(division, isJapanese);\n\n const [instrument, setInstrument] = useState(instrumentSelectConfig[0]);\n\n const [granularity, setGranularity] = useState(\n granularitySelectConfigWithLang[0]\n );\n\n useEffect(() => {\n setGranularity(granularitySelectConfigWithLang[0]);\n }, [granularitySelectConfigWithLang]);\n\n return (\n <>\n {size && (\n <div\n className=\"lw-text-sm lw-tracking-normal\"\n data-testid=\"crowd-view-widget\"\n >\n <div>\n <Tabs\n mobileFullWidth\n activeTab={bookType}\n handleClick={(e) =>\n setBookType(e.currentTarget.value as BookType)\n }\n items={navigationConfig}\n labelCallback={lang}\n />\n <div\n className={cn('lw-mb-6 lw-mt-12', {\n 'lw-flex': isDesktop,\n })}\n >\n <div\n className={cn('lw-mr-2', {\n 'lw-w-full lw-mb-2': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={instrumentSelectConfig}\n searchPlaceholder={lang('search')}\n selectLabel={lang('instrument')}\n selectedOption={instrument}\n setSelectedOption={(val) =>\n setInstrument(val as { id: InstrumentId; label: string })\n }\n />\n </div>\n <div\n className={cn({\n 'lw-w-full': !isDesktop,\n 'lw-w-[280px]': isDesktop,\n })}\n >\n <Select\n options={granularitySelectConfigWithLang}\n searchPlaceholder={lang('search')}\n selectLabel={lang('granularity')}\n selectedOption={granularity}\n setSelectedOption={(val) =>\n setGranularity(val as { id: Granularity; label: string })\n }\n />\n </div>\n </div>\n </div>\n <ChartWithData\n bookType={bookType}\n division={division}\n granularity={granularity.id}\n instrument={instrument.id}\n />\n <Legend bookType={bookType} />\n </div>\n )}\n </>\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,23 @@
1
- import { BaseChart, getChartTheme, Theme, useLayoutProvider } from '@oanda/labs-widget-common';
2
- import { useLocale } from '@oanda/mono-i18n';
3
- import { CandlestickChart, CustomChart, LineChart } from 'echarts/charts';
4
- import { DatasetComponent, DataZoomInsideComponent, GraphicComponent, GridSimpleComponent, MarkLineComponent, TooltipComponent, VisualMapComponent } from 'echarts/components';
5
- import * as echarts from 'echarts/core';
6
- import { CanvasRenderer } from 'echarts/renderers';
7
- import React, { useCallback, useEffect, useMemo, useRef } from 'react';
8
- import { CHART_CONFIG } from '../../constants';
9
- import { handleLabelUpdate, isDifferenceGreaterThanTwoWeeks, normalizeLocale } from './chartUtils';
10
- import { getOption } from './getOption';
11
- echarts.use([GridSimpleComponent, GraphicComponent, CanvasRenderer, DataZoomInsideComponent, CustomChart, TooltipComponent, CandlestickChart, MarkLineComponent, LineChart, VisualMapComponent, DatasetComponent]);
12
- echarts.registerTheme('dark_theme', getChartTheme(Theme.Dark));
13
- echarts.registerTheme('light_theme', getChartTheme(Theme.Light));
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Chart = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _monoI18n = require("@oanda/mono-i18n");
9
+ var _charts = require("echarts/charts");
10
+ var _components = require("echarts/components");
11
+ var echarts = _interopRequireWildcard(require("echarts/core"));
12
+ var _renderers = require("echarts/renderers");
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _constants = require("../../constants");
15
+ var _chartUtils = require("./chartUtils");
16
+ var _getOption = require("./getOption");
17
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
+ echarts.use([_components.GridSimpleComponent, _components.GraphicComponent, _renderers.CanvasRenderer, _components.DataZoomInsideComponent, _charts.CustomChart, _components.TooltipComponent, _charts.CandlestickChart, _components.MarkLineComponent, _charts.LineChart, _components.VisualMapComponent, _components.DatasetComponent]);
19
+ echarts.registerTheme('dark_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Dark));
20
+ echarts.registerTheme('light_theme', (0, _labsWidgetCommon.getChartTheme)(_labsWidgetCommon.Theme.Light));
14
21
  const Chart = _ref => {
15
22
  let {
16
23
  mainData,
@@ -20,41 +27,41 @@ const Chart = _ref => {
20
27
  } = _ref;
21
28
  const {
22
29
  isDark
23
- } = useLayoutProvider();
30
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
24
31
  const {
25
32
  lang,
26
33
  locale
27
- } = useLocale();
28
- const labelTimerRef = useRef(null);
29
- const isGreaterThanTwoWeeksRef = useRef(null);
30
- const initialIsGreaterThanTwoWeeks = useMemo(() => {
34
+ } = (0, _monoI18n.useLocale)();
35
+ const labelTimerRef = (0, _react.useRef)(null);
36
+ const isGreaterThanTwoWeeksRef = (0, _react.useRef)(null);
37
+ const initialIsGreaterThanTwoWeeks = (0, _react.useMemo)(() => {
31
38
  const {
32
39
  dates
33
40
  } = mainData;
34
- const initialStartZoom = isDesktop ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE;
35
- const visibleXAxisData = dates.slice(dates.length * initialStartZoom / 100, dates.length * CHART_CONFIG.INITIAL_END_ZOOM / 100);
41
+ const initialStartZoom = isDesktop ? _constants.CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP : _constants.CHART_CONFIG.INITIAL_START_ZOOM_MOBILE;
42
+ const visibleXAxisData = dates.slice(dates.length * initialStartZoom / 100, dates.length * _constants.CHART_CONFIG.INITIAL_END_ZOOM / 100);
36
43
  if (visibleXAxisData.length === 0) {
37
44
  return false;
38
45
  }
39
- return isDifferenceGreaterThanTwoWeeks(visibleXAxisData[0], visibleXAxisData[visibleXAxisData.length - 1]);
46
+ return (0, _chartUtils.isDifferenceGreaterThanTwoWeeks)(visibleXAxisData[0], visibleXAxisData[visibleXAxisData.length - 1]);
40
47
  }, [mainData, isDesktop]);
41
- useEffect(() => {
48
+ (0, _react.useEffect)(() => {
42
49
  isGreaterThanTwoWeeksRef.current = initialIsGreaterThanTwoWeeks;
43
50
  }, [initialIsGreaterThanTwoWeeks]);
44
- const chartOption = useMemo(() => getOption({
51
+ const chartOption = (0, _react.useMemo)(() => (0, _getOption.getOption)({
45
52
  mainData,
46
53
  additionalData,
47
54
  isDark,
48
55
  isDesktop,
49
56
  isLoading,
50
- locale: normalizeLocale(locale),
57
+ locale: (0, _chartUtils.normalizeLocale)(locale),
51
58
  labelCallback: lang
52
59
  }), [mainData, additionalData, isDark, isDesktop, isLoading, lang, locale]);
53
- const handleDataZoom = useCallback((_params, instance) => {
54
- handleLabelUpdate(instance, mainData, labelTimerRef, isGreaterThanTwoWeeksRef, normalizeLocale(locale));
60
+ const handleDataZoom = (0, _react.useCallback)((_params, instance) => {
61
+ (0, _chartUtils.handleLabelUpdate)(instance, mainData, labelTimerRef, isGreaterThanTwoWeeksRef, (0, _chartUtils.normalizeLocale)(locale));
55
62
  }, [mainData, locale]);
56
- const chartHeight = isDesktop ? CHART_CONFIG.HEIGHT_DESKTOP : CHART_CONFIG.HEIGHT_MOBILE;
57
- return React.createElement(BaseChart, {
63
+ const chartHeight = isDesktop ? _constants.CHART_CONFIG.HEIGHT_DESKTOP : _constants.CHART_CONFIG.HEIGHT_MOBILE;
64
+ return _react.default.createElement(_labsWidgetCommon.BaseChart, {
58
65
  chartHeight: chartHeight,
59
66
  echarts: echarts,
60
67
  isDark: isDark,
@@ -68,5 +75,5 @@ const Chart = _ref => {
68
75
  }
69
76
  });
70
77
  };
71
- export { Chart };
78
+ exports.Chart = Chart;
72
79
  //# sourceMappingURL=Chart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Chart.js","names":["BaseChart","getChartTheme","Theme","useLayoutProvider","useLocale","CandlestickChart","CustomChart","LineChart","DatasetComponent","DataZoomInsideComponent","GraphicComponent","GridSimpleComponent","MarkLineComponent","TooltipComponent","VisualMapComponent","echarts","CanvasRenderer","React","useCallback","useEffect","useMemo","useRef","CHART_CONFIG","handleLabelUpdate","isDifferenceGreaterThanTwoWeeks","normalizeLocale","getOption","use","registerTheme","Dark","Light","Chart","_ref","mainData","additionalData","isDesktop","isLoading","isDark","lang","locale","labelTimerRef","isGreaterThanTwoWeeksRef","initialIsGreaterThanTwoWeeks","dates","initialStartZoom","INITIAL_START_ZOOM_DESKTOP","INITIAL_START_ZOOM_MOBILE","visibleXAxisData","slice","length","INITIAL_END_ZOOM","current","chartOption","labelCallback","handleDataZoom","_params","instance","chartHeight","HEIGHT_DESKTOP","HEIGHT_MOBILE","createElement","lazyUpdate","option","opts","renderer","onEvents","datazoom"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CandlestickChart, CustomChart, LineChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TooltipComponent,\n VisualMapComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { CHART_CONFIG } from '../../constants';\nimport {\n handleLabelUpdate,\n isDifferenceGreaterThanTwoWeeks,\n normalizeLocale,\n} from './chartUtils';\nimport { getOption } from './getOption';\nimport type { ChartProps, DataZoomEvent } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n CanvasRenderer,\n DataZoomInsideComponent,\n CustomChart,\n TooltipComponent,\n CandlestickChart,\n MarkLineComponent,\n LineChart,\n VisualMapComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({\n mainData,\n additionalData,\n isDesktop,\n isLoading,\n}: ChartProps) => {\n const { isDark } = useLayoutProvider();\n const { lang, locale } = useLocale();\n const labelTimerRef = useRef<NodeJS.Timeout | null>(null);\n const isGreaterThanTwoWeeksRef = useRef<boolean | null>(null);\n\n const initialIsGreaterThanTwoWeeks = useMemo(() => {\n const { dates } = mainData;\n const initialStartZoom = isDesktop\n ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP\n : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE;\n\n const visibleXAxisData = dates.slice(\n (dates.length * initialStartZoom) / 100,\n (dates.length * CHART_CONFIG.INITIAL_END_ZOOM) / 100\n );\n\n if (visibleXAxisData.length === 0) {\n return false;\n }\n\n return isDifferenceGreaterThanTwoWeeks(\n visibleXAxisData[0],\n visibleXAxisData[visibleXAxisData.length - 1]\n );\n }, [mainData, isDesktop]);\n\n useEffect(() => {\n isGreaterThanTwoWeeksRef.current = initialIsGreaterThanTwoWeeks;\n }, [initialIsGreaterThanTwoWeeks]);\n\n const chartOption = useMemo(\n () =>\n getOption({\n mainData,\n additionalData,\n isDark,\n isDesktop,\n isLoading,\n locale: normalizeLocale(locale),\n labelCallback: lang,\n }),\n [mainData, additionalData, isDark, isDesktop, isLoading, lang, locale]\n );\n\n // Memoize event handler to prevent unnecessary re-renders\n const handleDataZoom = useCallback(\n (_params: DataZoomEvent, instance: EChartsType) => {\n handleLabelUpdate(\n instance,\n mainData,\n labelTimerRef,\n isGreaterThanTwoWeeksRef,\n normalizeLocale(locale)\n );\n },\n [mainData, locale]\n );\n\n const chartHeight = isDesktop\n ? CHART_CONFIG.HEIGHT_DESKTOP\n : CHART_CONFIG.HEIGHT_MOBILE;\n\n return (\n <BaseChart\n chartHeight={chartHeight}\n echarts={echarts}\n isDark={isDark}\n lazyUpdate={true}\n option={chartOption}\n opts={{ renderer: 'canvas' }}\n onEvents={{\n datazoom: handleDataZoom,\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Chart.js","names":["_labsWidgetCommon","require","_monoI18n","_charts","_components","echarts","_interopRequireWildcard","_renderers","_react","_constants","_chartUtils","_getOption","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","use","GridSimpleComponent","GraphicComponent","CanvasRenderer","DataZoomInsideComponent","CustomChart","TooltipComponent","CandlestickChart","MarkLineComponent","LineChart","VisualMapComponent","DatasetComponent","registerTheme","getChartTheme","Theme","Dark","Light","Chart","_ref","mainData","additionalData","isDesktop","isLoading","isDark","useLayoutProvider","lang","locale","useLocale","labelTimerRef","useRef","isGreaterThanTwoWeeksRef","initialIsGreaterThanTwoWeeks","useMemo","dates","initialStartZoom","CHART_CONFIG","INITIAL_START_ZOOM_DESKTOP","INITIAL_START_ZOOM_MOBILE","visibleXAxisData","slice","length","INITIAL_END_ZOOM","isDifferenceGreaterThanTwoWeeks","useEffect","current","chartOption","getOption","normalizeLocale","labelCallback","handleDataZoom","useCallback","_params","instance","handleLabelUpdate","chartHeight","HEIGHT_DESKTOP","HEIGHT_MOBILE","createElement","BaseChart","lazyUpdate","option","opts","renderer","onEvents","datazoom","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/Chart.tsx"],"sourcesContent":["import {\n BaseChart,\n getChartTheme,\n Theme,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport type { EChartsType } from 'echarts';\nimport { CandlestickChart, CustomChart, LineChart } from 'echarts/charts';\nimport {\n DatasetComponent,\n DataZoomInsideComponent,\n GraphicComponent,\n GridSimpleComponent,\n MarkLineComponent,\n TooltipComponent,\n VisualMapComponent,\n} from 'echarts/components';\nimport * as echarts from 'echarts/core';\nimport { CanvasRenderer } from 'echarts/renderers';\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\n\nimport { CHART_CONFIG } from '../../constants';\nimport {\n handleLabelUpdate,\n isDifferenceGreaterThanTwoWeeks,\n normalizeLocale,\n} from './chartUtils';\nimport { getOption } from './getOption';\nimport type { ChartProps, DataZoomEvent } from './types';\n\necharts.use([\n GridSimpleComponent,\n GraphicComponent,\n CanvasRenderer,\n DataZoomInsideComponent,\n CustomChart,\n TooltipComponent,\n CandlestickChart,\n MarkLineComponent,\n LineChart,\n VisualMapComponent,\n DatasetComponent,\n]);\n\necharts.registerTheme('dark_theme', getChartTheme(Theme.Dark));\necharts.registerTheme('light_theme', getChartTheme(Theme.Light));\n\nconst Chart = ({\n mainData,\n additionalData,\n isDesktop,\n isLoading,\n}: ChartProps) => {\n const { isDark } = useLayoutProvider();\n const { lang, locale } = useLocale();\n const labelTimerRef = useRef<NodeJS.Timeout | null>(null);\n const isGreaterThanTwoWeeksRef = useRef<boolean | null>(null);\n\n const initialIsGreaterThanTwoWeeks = useMemo(() => {\n const { dates } = mainData;\n const initialStartZoom = isDesktop\n ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP\n : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE;\n\n const visibleXAxisData = dates.slice(\n (dates.length * initialStartZoom) / 100,\n (dates.length * CHART_CONFIG.INITIAL_END_ZOOM) / 100\n );\n\n if (visibleXAxisData.length === 0) {\n return false;\n }\n\n return isDifferenceGreaterThanTwoWeeks(\n visibleXAxisData[0],\n visibleXAxisData[visibleXAxisData.length - 1]\n );\n }, [mainData, isDesktop]);\n\n useEffect(() => {\n isGreaterThanTwoWeeksRef.current = initialIsGreaterThanTwoWeeks;\n }, [initialIsGreaterThanTwoWeeks]);\n\n const chartOption = useMemo(\n () =>\n getOption({\n mainData,\n additionalData,\n isDark,\n isDesktop,\n isLoading,\n locale: normalizeLocale(locale),\n labelCallback: lang,\n }),\n [mainData, additionalData, isDark, isDesktop, isLoading, lang, locale]\n );\n\n // Memoize event handler to prevent unnecessary re-renders\n const handleDataZoom = useCallback(\n (_params: DataZoomEvent, instance: EChartsType) => {\n handleLabelUpdate(\n instance,\n mainData,\n labelTimerRef,\n isGreaterThanTwoWeeksRef,\n normalizeLocale(locale)\n );\n },\n [mainData, locale]\n );\n\n const chartHeight = isDesktop\n ? CHART_CONFIG.HEIGHT_DESKTOP\n : CHART_CONFIG.HEIGHT_MOBILE;\n\n return (\n <BaseChart\n chartHeight={chartHeight}\n echarts={echarts}\n isDark={isDark}\n lazyUpdate={true}\n option={chartOption}\n opts={{ renderer: 'canvas' }}\n onEvents={{\n datazoom: handleDataZoom,\n }}\n />\n );\n};\n\nexport { Chart };\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,17 @@
1
- import { ChartError, Size, Spinner, SpinnerSize, useLayoutProvider } from '@oanda/labs-widget-common';
2
- import React, { useEffect, useState } from 'react';
3
- import { useDebounceCallback } from 'usehooks-ts';
4
- import { CHART_CONFIG } from '../../constants';
5
- import { Chart } from './Chart';
6
- import { useCrowdViewData } from './useCrowdViewData';
7
- import { useResizeObserver } from './useResizeObserver';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ChartWithData = void 0;
7
+ var _labsWidgetCommon = require("@oanda/labs-widget-common");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _usehooksTs = require("usehooks-ts");
10
+ var _constants = require("../../constants");
11
+ var _Chart = require("./Chart");
12
+ var _useCrowdViewData = require("./useCrowdViewData");
13
+ var _useResizeObserver = require("./useResizeObserver");
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
8
15
  const ChartWithData = _ref => {
9
16
  let {
10
17
  instrument,
@@ -14,26 +21,26 @@ const ChartWithData = _ref => {
14
21
  } = _ref;
15
22
  const {
16
23
  size
17
- } = useLayoutProvider();
18
- const [debouncedLoading, setDebouncedLoading] = useState(true);
19
- const [containerRef, isResizing] = useResizeObserver({
24
+ } = (0, _labsWidgetCommon.useLayoutProvider)();
25
+ const [debouncedLoading, setDebouncedLoading] = (0, _react.useState)(true);
26
+ const [containerRef, isResizing] = (0, _useResizeObserver.useResizeObserver)({
20
27
  debounceDelay: 150
21
28
  });
22
- const isDesktop = size === Size.DESKTOP;
29
+ const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
23
30
  const {
24
31
  mainData,
25
32
  additionalData,
26
33
  loading,
27
34
  priceCandlesLoading,
28
35
  error
29
- } = useCrowdViewData({
36
+ } = (0, _useCrowdViewData.useCrowdViewData)({
30
37
  instrument,
31
38
  bookType,
32
39
  division,
33
40
  granularity
34
41
  });
35
- const hideLoading = useDebounceCallback(() => setDebouncedLoading(false), 500);
36
- useEffect(() => {
42
+ const hideLoading = (0, _usehooksTs.useDebounceCallback)(() => setDebouncedLoading(false), 500);
43
+ (0, _react.useEffect)(() => {
37
44
  if (loading === false) {
38
45
  hideLoading();
39
46
  }
@@ -43,27 +50,27 @@ const ChartWithData = _ref => {
43
50
  }, [loading, hideLoading]);
44
51
  const showChart = !priceCandlesLoading && !error && !!mainData && !!additionalData && !isResizing;
45
52
  const showLoader = loading || isResizing;
46
- const chartHeight = isDesktop ? CHART_CONFIG.HEIGHT_DESKTOP : CHART_CONFIG.HEIGHT_MOBILE;
47
- return React.createElement(React.Fragment, null, React.createElement("div", {
53
+ const chartHeight = isDesktop ? _constants.CHART_CONFIG.HEIGHT_DESKTOP : _constants.CHART_CONFIG.HEIGHT_MOBILE;
54
+ return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
48
55
  ref: containerRef,
49
56
  className: "lw-relative lw-w-full lw-overflow-hidden",
50
57
  style: {
51
58
  height: chartHeight
52
59
  }
53
- }, error && React.createElement("div", {
60
+ }, error && _react.default.createElement("div", {
54
61
  className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary"
55
- }, React.createElement(ChartError, null)), showChart && React.createElement("div", {
62
+ }, _react.default.createElement(_labsWidgetCommon.ChartError, null)), showChart && _react.default.createElement("div", {
56
63
  className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full"
57
- }, React.createElement(Chart, {
64
+ }, _react.default.createElement(_Chart.Chart, {
58
65
  additionalData: additionalData,
59
66
  isDesktop: isDesktop,
60
67
  isLoading: debouncedLoading,
61
68
  mainData: mainData
62
- })), showLoader && React.createElement("div", {
69
+ })), showLoader && _react.default.createElement("div", {
63
70
  className: "lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-bg-bg-transparent-50"
64
- }, React.createElement(Spinner, {
65
- size: SpinnerSize.lg
71
+ }, _react.default.createElement(_labsWidgetCommon.Spinner, {
72
+ size: _labsWidgetCommon.SpinnerSize.lg
66
73
  }))));
67
74
  };
68
- export { ChartWithData };
75
+ exports.ChartWithData = ChartWithData;
69
76
  //# sourceMappingURL=ChartWithData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartWithData.js","names":["ChartError","Size","Spinner","SpinnerSize","useLayoutProvider","React","useEffect","useState","useDebounceCallback","CHART_CONFIG","Chart","useCrowdViewData","useResizeObserver","ChartWithData","_ref","instrument","bookType","division","granularity","size","debouncedLoading","setDebouncedLoading","containerRef","isResizing","debounceDelay","isDesktop","DESKTOP","mainData","additionalData","loading","priceCandlesLoading","error","hideLoading","showChart","showLoader","chartHeight","HEIGHT_DESKTOP","HEIGHT_MOBILE","createElement","Fragment","ref","className","style","height","isLoading","lg"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/ChartWithData.tsx"],"sourcesContent":["import {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\nimport { useDebounceCallback } from 'usehooks-ts';\n\nimport { CHART_CONFIG } from '../../constants';\nimport { Chart } from './Chart';\nimport type { ChartWithDataProps } from './types';\nimport { useCrowdViewData } from './useCrowdViewData';\nimport { useResizeObserver } from './useResizeObserver';\n\nconst ChartWithData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const [debouncedLoading, setDebouncedLoading] = useState(true);\n const [containerRef, isResizing] = useResizeObserver({ debounceDelay: 150 });\n const isDesktop = size === Size.DESKTOP;\n\n const { mainData, additionalData, loading, priceCandlesLoading, error } =\n useCrowdViewData({\n instrument,\n bookType,\n division,\n granularity,\n });\n\n const hideLoading = useDebounceCallback(\n () => setDebouncedLoading(false),\n 500\n );\n\n useEffect(() => {\n if (loading === false) {\n hideLoading();\n }\n if (loading === true) {\n setDebouncedLoading(true);\n }\n }, [loading, hideLoading]);\n\n const showChart =\n !priceCandlesLoading &&\n !error &&\n !!mainData &&\n !!additionalData &&\n !isResizing;\n const showLoader = loading || isResizing;\n\n const chartHeight = isDesktop\n ? CHART_CONFIG.HEIGHT_DESKTOP\n : CHART_CONFIG.HEIGHT_MOBILE;\n\n return (\n <>\n <div\n ref={containerRef}\n className=\"lw-relative lw-w-full lw-overflow-hidden\"\n style={{ height: chartHeight }}\n >\n {error && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n {showChart && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n additionalData={additionalData}\n isDesktop={isDesktop}\n isLoading={debouncedLoading}\n mainData={mainData}\n />\n </div>\n )}\n {showLoader && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-bg-bg-transparent-50\">\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"AAAA,SACEA,UAAU,EACVC,IAAI,EACJC,OAAO,EACPC,WAAW,EACXC,iBAAiB,QACZ,2BAA2B;AAClC,OAAOC,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,SAASC,mBAAmB,QAAQ,aAAa;AAEjD,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,KAAK,QAAQ,SAAS;AAE/B,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,iBAAiB,QAAQ,qBAAqB;AAEvD,MAAMC,aAAa,GAAGC,IAAA,IAKI;EAAA,IALH;IACrBC,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC;EACkB,CAAC,GAAAJ,IAAA;EACnB,MAAM;IAAEK;EAAK,CAAC,GAAGf,iBAAiB,CAAC,CAAC;EACpC,MAAM,CAACgB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGd,QAAQ,CAAC,IAAI,CAAC;EAC9D,MAAM,CAACe,YAAY,EAAEC,UAAU,CAAC,GAAGX,iBAAiB,CAAC;IAAEY,aAAa,EAAE;EAAI,CAAC,CAAC;EAC5E,MAAMC,SAAS,GAAGN,IAAI,KAAKlB,IAAI,CAACyB,OAAO;EAEvC,MAAM;IAAEC,QAAQ;IAAEC,cAAc;IAAEC,OAAO;IAAEC,mBAAmB;IAAEC;EAAM,CAAC,GACrEpB,gBAAgB,CAAC;IACfI,UAAU;IACVC,QAAQ;IACRC,QAAQ;IACRC;EACF,CAAC,CAAC;EAEJ,MAAMc,WAAW,GAAGxB,mBAAmB,CACrC,MAAMa,mBAAmB,CAAC,KAAK,CAAC,EAChC,GACF,CAAC;EAEDf,SAAS,CAAC,MAAM;IACd,IAAIuB,OAAO,KAAK,KAAK,EAAE;MACrBG,WAAW,CAAC,CAAC;IACf;IACA,IAAIH,OAAO,KAAK,IAAI,EAAE;MACpBR,mBAAmB,CAAC,IAAI,CAAC;IAC3B;EACF,CAAC,EAAE,CAACQ,OAAO,EAAEG,WAAW,CAAC,CAAC;EAE1B,MAAMC,SAAS,GACb,CAACH,mBAAmB,IACpB,CAACC,KAAK,IACN,CAAC,CAACJ,QAAQ,IACV,CAAC,CAACC,cAAc,IAChB,CAACL,UAAU;EACb,MAAMW,UAAU,GAAGL,OAAO,IAAIN,UAAU;EAExC,MAAMY,WAAW,GAAGV,SAAS,GACzBhB,YAAY,CAAC2B,cAAc,GAC3B3B,YAAY,CAAC4B,aAAa;EAE9B,OACEhC,KAAA,CAAAiC,aAAA,CAAAjC,KAAA,CAAAkC,QAAA,QACElC,KAAA,CAAAiC,aAAA;IACEE,GAAG,EAAElB,YAAa;IAClBmB,SAAS,EAAC,0CAA0C;IACpDC,KAAK,EAAE;MAAEC,MAAM,EAAER;IAAY;EAAE,GAE9BJ,KAAK,IACJ1B,KAAA,CAAAiC,aAAA;IAAKG,SAAS,EAAC;EAAiJ,GAC9JpC,KAAA,CAAAiC,aAAA,CAACtC,UAAU,MAAE,CACV,CACN,EACAiC,SAAS,IACR5B,KAAA,CAAAiC,aAAA;IAAKG,SAAS,EAAC;EAA4D,GACzEpC,KAAA,CAAAiC,aAAA,CAAC5B,KAAK;IACJkB,cAAc,EAAEA,cAAe;IAC/BH,SAAS,EAAEA,SAAU;IACrBmB,SAAS,EAAExB,gBAAiB;IAC5BO,QAAQ,EAAEA;EAAS,CACpB,CACE,CACN,EACAO,UAAU,IACT7B,KAAA,CAAAiC,aAAA;IAAKG,SAAS,EAAC;EAAyK,GACtLpC,KAAA,CAAAiC,aAAA,CAACpC,OAAO;IAACiB,IAAI,EAAEhB,WAAW,CAAC0C;EAAG,CAAE,CAC7B,CAEJ,CACL,CAAC;AAEP,CAAC;AAED,SAAShC,aAAa","ignoreList":[]}
1
+ {"version":3,"file":"ChartWithData.js","names":["_labsWidgetCommon","require","_react","_interopRequireWildcard","_usehooksTs","_constants","_Chart","_useCrowdViewData","_useResizeObserver","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ChartWithData","_ref","instrument","bookType","division","granularity","size","useLayoutProvider","debouncedLoading","setDebouncedLoading","useState","containerRef","isResizing","useResizeObserver","debounceDelay","isDesktop","Size","DESKTOP","mainData","additionalData","loading","priceCandlesLoading","error","useCrowdViewData","hideLoading","useDebounceCallback","useEffect","showChart","showLoader","chartHeight","CHART_CONFIG","HEIGHT_DESKTOP","HEIGHT_MOBILE","createElement","Fragment","ref","className","style","height","ChartError","Chart","isLoading","Spinner","SpinnerSize","lg","exports"],"sources":["../../../../../src/CrowdViewWidget/components/Chart/ChartWithData.tsx"],"sourcesContent":["import {\n ChartError,\n Size,\n Spinner,\n SpinnerSize,\n useLayoutProvider,\n} from '@oanda/labs-widget-common';\nimport React, { useEffect, useState } from 'react';\nimport { useDebounceCallback } from 'usehooks-ts';\n\nimport { CHART_CONFIG } from '../../constants';\nimport { Chart } from './Chart';\nimport type { ChartWithDataProps } from './types';\nimport { useCrowdViewData } from './useCrowdViewData';\nimport { useResizeObserver } from './useResizeObserver';\n\nconst ChartWithData = ({\n instrument,\n bookType,\n division,\n granularity,\n}: ChartWithDataProps) => {\n const { size } = useLayoutProvider();\n const [debouncedLoading, setDebouncedLoading] = useState(true);\n const [containerRef, isResizing] = useResizeObserver({ debounceDelay: 150 });\n const isDesktop = size === Size.DESKTOP;\n\n const { mainData, additionalData, loading, priceCandlesLoading, error } =\n useCrowdViewData({\n instrument,\n bookType,\n division,\n granularity,\n });\n\n const hideLoading = useDebounceCallback(\n () => setDebouncedLoading(false),\n 500\n );\n\n useEffect(() => {\n if (loading === false) {\n hideLoading();\n }\n if (loading === true) {\n setDebouncedLoading(true);\n }\n }, [loading, hideLoading]);\n\n const showChart =\n !priceCandlesLoading &&\n !error &&\n !!mainData &&\n !!additionalData &&\n !isResizing;\n const showLoader = loading || isResizing;\n\n const chartHeight = isDesktop\n ? CHART_CONFIG.HEIGHT_DESKTOP\n : CHART_CONFIG.HEIGHT_MOBILE;\n\n return (\n <>\n <div\n ref={containerRef}\n className=\"lw-relative lw-w-full lw-overflow-hidden\"\n style={{ height: chartHeight }}\n >\n {error && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n {showChart && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full\">\n <Chart\n additionalData={additionalData}\n isDesktop={isDesktop}\n isLoading={debouncedLoading}\n mainData={mainData}\n />\n </div>\n )}\n {showLoader && (\n <div className=\"lw-absolute lw-left-0 lw-top-0 lw-flex lw-h-full lw-w-full lw-items-center lw-justify-center lw-border lw-border-solid lw-border-border-primary lw-bg-bg-transparent-50\">\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n </div>\n </>\n );\n};\n\nexport { ChartWithData };\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,11 @@
1
- import { CHART_CONFIG } from '../../../constants';
2
- export const getDataZoomConfig = _ref => {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDataZoomConfig = void 0;
7
+ var _constants = require("../../../constants");
8
+ const getDataZoomConfig = _ref => {
3
9
  let {
4
10
  isDesktop
5
11
  } = _ref;
@@ -7,11 +13,12 @@ export const getDataZoomConfig = _ref => {
7
13
  type: 'inside',
8
14
  id: 'main',
9
15
  xAxisIndex: [0, 1],
10
- start: isDesktop ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE,
11
- end: CHART_CONFIG.INITIAL_END_ZOOM,
16
+ start: isDesktop ? _constants.CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP : _constants.CHART_CONFIG.INITIAL_START_ZOOM_MOBILE,
17
+ end: _constants.CHART_CONFIG.INITIAL_END_ZOOM,
12
18
  filterMode: 'filter',
13
19
  minSpan: 10,
14
20
  preventDefaultMouseMove: true
15
21
  };
16
22
  };
23
+ exports.getDataZoomConfig = getDataZoomConfig;
17
24
  //# sourceMappingURL=getDataZoomConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getDataZoomConfig.js","names":["CHART_CONFIG","getDataZoomConfig","_ref","isDesktop","type","id","xAxisIndex","start","INITIAL_START_ZOOM_DESKTOP","INITIAL_START_ZOOM_MOBILE","end","INITIAL_END_ZOOM","filterMode","minSpan","preventDefaultMouseMove"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts"],"sourcesContent":["import type { DataZoomComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetDataZoomConfigParams {\n isDesktop: boolean;\n}\n\nexport const getDataZoomConfig = ({\n isDesktop,\n}: GetDataZoomConfigParams): DataZoomComponentOption => ({\n type: 'inside',\n id: 'main',\n xAxisIndex: [0, 1],\n start: isDesktop\n ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP\n : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE,\n end: CHART_CONFIG.INITIAL_END_ZOOM,\n filterMode: 'filter',\n minSpan: 10,\n preventDefaultMouseMove: true,\n});\n"],"mappings":"AAEA,SAASA,YAAY,QAAQ,oBAAoB;AAMjD,OAAO,MAAMC,iBAAiB,GAAGC,IAAA;EAAA,IAAC;IAChCC;EACuB,CAAC,GAAAD,IAAA;EAAA,OAA+B;IACvDE,IAAI,EAAE,QAAQ;IACdC,EAAE,EAAE,MAAM;IACVC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,KAAK,EAAEJ,SAAS,GACZH,YAAY,CAACQ,0BAA0B,GACvCR,YAAY,CAACS,yBAAyB;IAC1CC,GAAG,EAAEV,YAAY,CAACW,gBAAgB;IAClCC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,EAAE;IACXC,uBAAuB,EAAE;EAC3B,CAAC;AAAA,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"getDataZoomConfig.js","names":["_constants","require","getDataZoomConfig","_ref","isDesktop","type","id","xAxisIndex","start","CHART_CONFIG","INITIAL_START_ZOOM_DESKTOP","INITIAL_START_ZOOM_MOBILE","end","INITIAL_END_ZOOM","filterMode","minSpan","preventDefaultMouseMove","exports"],"sources":["../../../../../../src/CrowdViewWidget/components/Chart/chartOptions/getDataZoomConfig.ts"],"sourcesContent":["import type { DataZoomComponentOption } from 'echarts';\n\nimport { CHART_CONFIG } from '../../../constants';\n\ninterface GetDataZoomConfigParams {\n isDesktop: boolean;\n}\n\nexport const getDataZoomConfig = ({\n isDesktop,\n}: GetDataZoomConfigParams): DataZoomComponentOption => ({\n type: 'inside',\n id: 'main',\n xAxisIndex: [0, 1],\n start: isDesktop\n ? CHART_CONFIG.INITIAL_START_ZOOM_DESKTOP\n : CHART_CONFIG.INITIAL_START_ZOOM_MOBILE,\n end: CHART_CONFIG.INITIAL_END_ZOOM,\n filterMode: 'filter',\n minSpan: 10,\n preventDefaultMouseMove: true,\n});\n"],"mappings":";;;;;;AAEA,IAAAA,UAAA,GAAAC,OAAA;AAMO,MAAMC,iBAAiB,GAAGC,IAAA;EAAA,IAAC;IAChCC;EACuB,CAAC,GAAAD,IAAA;EAAA,OAA+B;IACvDE,IAAI,EAAE,QAAQ;IACdC,EAAE,EAAE,MAAM;IACVC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClBC,KAAK,EAAEJ,SAAS,GACZK,uBAAY,CAACC,0BAA0B,GACvCD,uBAAY,CAACE,yBAAyB;IAC1CC,GAAG,EAAEH,uBAAY,CAACI,gBAAgB;IAClCC,UAAU,EAAE,QAAQ;IACpBC,OAAO,EAAE,EAAE;IACXC,uBAAuB,EAAE;EAC3B,CAAC;AAAA,CAAC;AAACC,OAAA,CAAAf,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,5 +1,11 @@
1
- import { CHART_CONFIG } from '../../../constants';
2
- export const getGridConfig = _ref => {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getGridConfig = void 0;
7
+ var _constants = require("../../../constants");
8
+ const getGridConfig = _ref => {
3
9
  let {
4
10
  isDesktop
5
11
  } = _ref;
@@ -14,7 +20,7 @@ export const getGridConfig = _ref => {
14
20
  MAIN_HEIGHT_MOBILE,
15
21
  TOOLTIP_HEIGHT_MOBILE,
16
22
  TOOLTIP_HEIGHT_DESKTOP
17
- } = CHART_CONFIG;
23
+ } = _constants.CHART_CONFIG;
18
24
  const mainHeight = isDesktop ? MAIN_HEIGHT_DESKTOP : MAIN_HEIGHT_MOBILE;
19
25
  const position = {
20
26
  left: `${isDesktop ? Y_SENTIMENT_LABEL_DESKTOP_SIZE : Y_SENTIMENT_LABEL_MOBILE_SIZE}px`,
@@ -32,4 +38,5 @@ export const getGridConfig = _ref => {
32
38
  ...position
33
39
  }];
34
40
  };
41
+ exports.getGridConfig = getGridConfig;
35
42
  //# sourceMappingURL=getGridConfig.js.map