@oanda/labs-correlation-widget 1.0.158 → 1.0.160

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 (39) hide show
  1. package/CHANGELOG.md +1284 -0
  2. package/dist/main/CorrelationWidget/Main.js +1 -1
  3. package/dist/main/CorrelationWidget/Main.js.map +1 -1
  4. package/dist/main/CorrelationWidget/components/Heatmap/Heatmap.js +4 -4
  5. package/dist/main/CorrelationWidget/components/Heatmap/Heatmap.js.map +1 -1
  6. package/dist/main/CorrelationWidget/components/Heatmap/HeatmapGrid.js +3 -3
  7. package/dist/main/CorrelationWidget/components/Heatmap/HeatmapGrid.js.map +1 -1
  8. package/dist/main/CorrelationWidget/components/Matrix/Matrix.js +4 -4
  9. package/dist/main/CorrelationWidget/components/Matrix/Matrix.js.map +1 -1
  10. package/dist/main/CorrelationWidget/components/Matrix/MatrixGrid.js +5 -5
  11. package/dist/main/CorrelationWidget/components/Matrix/MatrixGrid.js.map +1 -1
  12. package/dist/main/gql/getCorrelationHeatmap.js +28 -3
  13. package/dist/main/gql/getCorrelationHeatmap.js.map +1 -1
  14. package/dist/main/gql/getCorrelationMatrix.js +20 -3
  15. package/dist/main/gql/getCorrelationMatrix.js.map +1 -1
  16. package/dist/main/gql/types/fragment-masking.js +2 -3
  17. package/dist/main/gql/types/fragment-masking.js.map +1 -1
  18. package/dist/main/gql/types/gql.js +1 -2
  19. package/dist/main/gql/types/gql.js.map +1 -1
  20. package/dist/module/CorrelationWidget/Main.js +1 -1
  21. package/dist/module/CorrelationWidget/Main.js.map +1 -1
  22. package/dist/module/CorrelationWidget/components/Heatmap/Heatmap.js +4 -4
  23. package/dist/module/CorrelationWidget/components/Heatmap/Heatmap.js.map +1 -1
  24. package/dist/module/CorrelationWidget/components/Heatmap/HeatmapGrid.js +3 -3
  25. package/dist/module/CorrelationWidget/components/Heatmap/HeatmapGrid.js.map +1 -1
  26. package/dist/module/CorrelationWidget/components/Matrix/Matrix.js +4 -4
  27. package/dist/module/CorrelationWidget/components/Matrix/Matrix.js.map +1 -1
  28. package/dist/module/CorrelationWidget/components/Matrix/MatrixGrid.js +5 -5
  29. package/dist/module/CorrelationWidget/components/Matrix/MatrixGrid.js.map +1 -1
  30. package/dist/module/gql/getCorrelationHeatmap.js +28 -3
  31. package/dist/module/gql/getCorrelationHeatmap.js.map +1 -1
  32. package/dist/module/gql/getCorrelationMatrix.js +20 -3
  33. package/dist/module/gql/getCorrelationMatrix.js.map +1 -1
  34. package/dist/module/gql/types/fragment-masking.js +2 -3
  35. package/dist/module/gql/types/fragment-masking.js.map +1 -1
  36. package/dist/module/gql/types/gql.js +1 -2
  37. package/dist/module/gql/types/gql.js.map +1 -1
  38. package/package.json +3 -3
  39. package/src/CorrelationWidget/components/Heatmap/Heatmap.tsx +1 -1
@@ -22,7 +22,7 @@ const Main = _ref => {
22
22
  size
23
23
  } = (0, _labsWidgetCommon.useLayoutProvider)();
24
24
  const isDesktop = size === _labsWidgetCommon.Size.DESKTOP;
25
- const [selectedCorrelation, setSelectedCorrelation] = (0, _react.useState)((sort === null || sort === void 0 ? void 0 : sort.toLowerCase()) || _config.navigationConfigDesktop[0].id);
25
+ const [selectedCorrelation, setSelectedCorrelation] = (0, _react.useState)(sort?.toLowerCase() || _config.navigationConfigDesktop[0].id);
26
26
  const {
27
27
  lang
28
28
  } = (0, _monoI18n.useLocale)();
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_components","_Matrix","_config","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Main","_ref","division","sort","instruments","heatmapTimeUnits","size","useLayoutProvider","isDesktop","Size","DESKTOP","selectedCorrelation","setSelectedCorrelation","useState","toLowerCase","navigationConfigDesktop","id","lang","useLocale","createElement","Tabs","mobileFullWidth","activeTab","handleClick","_ref2","currentTarget","value","items","navigationConfigMobile","labelCallback","Heatmap","Matrix","exports"],"sources":["../../../src/CorrelationWidget/Main.tsx"],"sourcesContent":["import { Size, Tabs, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useState } from 'react';\n\nimport { Heatmap } from './components';\nimport { Matrix } from './components/Matrix';\nimport { navigationConfigDesktop, navigationConfigMobile } from './config';\nimport type { MainProps } from './types';\n\nconst Main = ({ division, sort, instruments, heatmapTimeUnits }: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const [selectedCorrelation, setSelectedCorrelation] = useState(\n sort?.toLowerCase() || navigationConfigDesktop[0].id\n );\n const { lang } = useLocale();\n\n return (\n size && (\n <div data-testid=\"correlation-wrapper\">\n {!sort && (\n <Tabs\n mobileFullWidth\n activeTab={selectedCorrelation}\n handleClick={({ currentTarget: { value } }) =>\n setSelectedCorrelation(value)\n }\n items={isDesktop ? navigationConfigDesktop : navigationConfigMobile}\n labelCallback={lang}\n />\n )}\n {selectedCorrelation === 'heatmap' && (\n <Heatmap\n division={division}\n heatmapTimeUnits={heatmapTimeUnits}\n instruments={instruments}\n />\n )}\n {selectedCorrelation === 'matrix' && (\n <Matrix division={division} instruments={instruments} />\n )}\n </div>\n )\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["_labsWidgetCommon","require","_monoI18n","_react","_interopRequireWildcard","_components","_Matrix","_config","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Main","_ref","division","sort","instruments","heatmapTimeUnits","size","useLayoutProvider","isDesktop","Size","DESKTOP","selectedCorrelation","setSelectedCorrelation","useState","toLowerCase","navigationConfigDesktop","id","lang","useLocale","createElement","Tabs","mobileFullWidth","activeTab","handleClick","_ref2","currentTarget","value","items","navigationConfigMobile","labelCallback","Heatmap","Matrix","exports"],"sources":["../../../src/CorrelationWidget/Main.tsx"],"sourcesContent":["import { Size, Tabs, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useState } from 'react';\n\nimport { Heatmap } from './components';\nimport { Matrix } from './components/Matrix';\nimport { navigationConfigDesktop, navigationConfigMobile } from './config';\nimport type { MainProps } from './types';\n\nconst Main = ({ division, sort, instruments, heatmapTimeUnits }: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const [selectedCorrelation, setSelectedCorrelation] = useState(\n sort?.toLowerCase() || navigationConfigDesktop[0].id\n );\n const { lang } = useLocale();\n\n return (\n size && (\n <div data-testid=\"correlation-wrapper\">\n {!sort && (\n <Tabs\n mobileFullWidth\n activeTab={selectedCorrelation}\n handleClick={({ currentTarget: { value } }) =>\n setSelectedCorrelation(value)\n }\n items={isDesktop ? navigationConfigDesktop : navigationConfigMobile}\n labelCallback={lang}\n />\n )}\n {selectedCorrelation === 'heatmap' && (\n <Heatmap\n division={division}\n heatmapTimeUnits={heatmapTimeUnits}\n instruments={instruments}\n />\n )}\n {selectedCorrelation === 'matrix' && (\n <Matrix division={division} instruments={instruments} />\n )}\n </div>\n )\n );\n};\n\nexport { Main };\n"],"mappings":"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","ignoreList":[]}
@@ -39,11 +39,11 @@ const Heatmap = _ref => {
39
39
  let {
40
40
  id
41
41
  } = _ref2;
42
- return (timeSpans === null || timeSpans === void 0 ? void 0 : timeSpans.length) > 0 ? timeSpans === null || timeSpans === void 0 ? void 0 : timeSpans.includes(id) : id;
42
+ return timeSpans?.length > 0 ? timeSpans?.includes(id) : id;
43
43
  });
44
44
  const showError = error || instruments && instruments.length === 1 || timeSpans && timeSpans.length === 1;
45
45
  return _react.default.createElement(_react.default.Fragment, null, !showError && _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
46
- className: (0, _classnames.default)('lw-flex lw-flex-col', {
46
+ className: (0, _classnames.default)('lw-flex lw-flex-col lw-text-text-primary', {
47
47
  'lw-min-h-[580px]': timeSpans === undefined
48
48
  })
49
49
  }, loading && _react.default.createElement("div", {
@@ -53,10 +53,10 @@ const Heatmap = _ref => {
53
53
  })
54
54
  }, _react.default.createElement(_labsWidgetCommon.Spinner, {
55
55
  size: _labsWidgetCommon.SpinnerSize.lg
56
- })), !loading && (data === null || data === void 0 ? void 0 : data.correlationHeatmap) && _react.default.createElement("div", {
56
+ })), !loading && data?.correlationHeatmap && _react.default.createElement("div", {
57
57
  "data-testid": "heatmap-wrapper"
58
58
  }, _react.default.createElement(_Grid.GridHeader, {
59
- label: "".concat(lang('reference_instrument'), ": ").concat(data === null || data === void 0 ? void 0 : data.correlationHeatmap.baseInstrument.displayName)
59
+ label: `${lang('reference_instrument')}: ${data?.correlationHeatmap.baseInstrument.displayName}`
60
60
  }), _react.default.createElement(_HeatmapGrid.HeatmapGrid, {
61
61
  data: data,
62
62
  headerData: headerData
@@ -1 +1 @@
1
- {"version":3,"file":"Heatmap.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_classnames","_interopRequireDefault","_react","_getCorrelationHeatmap","_config","_Grid","_HeatmapGrid","e","__esModule","default","Heatmap","_ref","division","instruments","heatmapTimeUnits","timeSpans","lang","useLocale","loading","data","error","useQuery","getCorrelationHeatmap","variables","fetchPolicy","headerData","heatmapGridHeader","filter","_ref2","id","length","includes","showError","createElement","Fragment","className","classnames","undefined","Spinner","size","SpinnerSize","lg","correlationHeatmap","GridHeader","label","concat","baseInstrument","displayName","HeatmapGrid","GridLegend","ChartError","exports"],"sources":["../../../../../src/CorrelationWidget/components/Heatmap/Heatmap.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { ChartError, Spinner, SpinnerSize } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCorrelationHeatmap } from '../../../gql/getCorrelationHeatmap';\nimport type {\n GetCorrelationHeatmapQuery,\n GetCorrelationHeatmapQueryVariables,\n} from '../../../gql/types/graphql';\nimport { heatmapGridHeader } from '../../config';\nimport type { HeatmapProps } from '../../types';\nimport { GridHeader, GridLegend } from '../Grid';\nimport { HeatmapGrid } from './HeatmapGrid';\n\nconst Heatmap = ({\n division,\n instruments,\n heatmapTimeUnits: timeSpans,\n}: HeatmapProps) => {\n const { lang } = useLocale();\n const { loading, data, error } = useQuery<\n GetCorrelationHeatmapQuery,\n GetCorrelationHeatmapQueryVariables\n >(getCorrelationHeatmap, {\n variables: {\n division,\n instruments,\n timeSpans,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const headerData = heatmapGridHeader.filter(({ id }) =>\n timeSpans?.length! > 0 ? timeSpans?.includes(id) : id\n );\n\n const showError =\n error ||\n (instruments && instruments.length === 1) ||\n (timeSpans && timeSpans.length === 1);\n\n return (\n <>\n {!showError && (\n <>\n <div\n className={classnames('lw-flex lw-flex-col', {\n 'lw-min-h-[580px]': timeSpans === undefined,\n })}\n >\n {loading && (\n <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[500px]': timeSpans === undefined,\n 'lw-h-[200px]': timeSpans !== undefined,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data?.correlationHeatmap && (\n <div data-testid=\"heatmap-wrapper\">\n <GridHeader\n label={`${lang('reference_instrument')}: ${data?.correlationHeatmap.baseInstrument.displayName}`}\n />\n <HeatmapGrid data={data} headerData={headerData} />\n </div>\n )}\n </div>\n <GridLegend />\n </>\n )}\n {!loading && showError && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { Heatmap };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Heatmap.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_classnames","_interopRequireDefault","_react","_getCorrelationHeatmap","_config","_Grid","_HeatmapGrid","e","__esModule","default","Heatmap","_ref","division","instruments","heatmapTimeUnits","timeSpans","lang","useLocale","loading","data","error","useQuery","getCorrelationHeatmap","variables","fetchPolicy","headerData","heatmapGridHeader","filter","_ref2","id","length","includes","showError","createElement","Fragment","className","classnames","undefined","Spinner","size","SpinnerSize","lg","correlationHeatmap","GridHeader","label","baseInstrument","displayName","HeatmapGrid","GridLegend","ChartError","exports"],"sources":["../../../../../src/CorrelationWidget/components/Heatmap/Heatmap.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { ChartError, Spinner, SpinnerSize } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCorrelationHeatmap } from '../../../gql/getCorrelationHeatmap';\nimport type {\n GetCorrelationHeatmapQuery,\n GetCorrelationHeatmapQueryVariables,\n} from '../../../gql/types/graphql';\nimport { heatmapGridHeader } from '../../config';\nimport type { HeatmapProps } from '../../types';\nimport { GridHeader, GridLegend } from '../Grid';\nimport { HeatmapGrid } from './HeatmapGrid';\n\nconst Heatmap = ({\n division,\n instruments,\n heatmapTimeUnits: timeSpans,\n}: HeatmapProps) => {\n const { lang } = useLocale();\n const { loading, data, error } = useQuery<\n GetCorrelationHeatmapQuery,\n GetCorrelationHeatmapQueryVariables\n >(getCorrelationHeatmap, {\n variables: {\n division,\n instruments,\n timeSpans,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const headerData = heatmapGridHeader.filter(({ id }) =>\n timeSpans?.length! > 0 ? timeSpans?.includes(id) : id\n );\n\n const showError =\n error ||\n (instruments && instruments.length === 1) ||\n (timeSpans && timeSpans.length === 1);\n\n return (\n <>\n {!showError && (\n <>\n <div\n className={classnames('lw-flex lw-flex-col lw-text-text-primary', {\n 'lw-min-h-[580px]': timeSpans === undefined,\n })}\n >\n {loading && (\n <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[500px]': timeSpans === undefined,\n 'lw-h-[200px]': timeSpans !== undefined,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data?.correlationHeatmap && (\n <div data-testid=\"heatmap-wrapper\">\n <GridHeader\n label={`${lang('reference_instrument')}: ${data?.correlationHeatmap.baseInstrument.displayName}`}\n />\n <HeatmapGrid data={data} headerData={headerData} />\n </div>\n )}\n </div>\n <GridLegend />\n </>\n )}\n {!loading && showError && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { Heatmap };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,sBAAA,GAAAN,OAAA;AAKA,IAAAO,OAAA,GAAAP,OAAA;AAEA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AAA4C,SAAAI,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5C,MAAMG,OAAO,GAAGC,IAAA,IAII;EAAA,IAJH;IACfC,QAAQ;IACRC,WAAW;IACXC,gBAAgB,EAAEC;EACN,CAAC,GAAAJ,IAAA;EACb,MAAM;IAAEK;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAC5B,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,4CAAqB,EAAE;IACvBC,SAAS,EAAE;MACTX,QAAQ;MACRC,WAAW;MACXE;IACF,CAAC;IACDS,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAGC,yBAAiB,CAACC,MAAM,CAACC,KAAA;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAD,KAAA;IAAA,OACjDb,SAAS,EAAEe,MAAM,GAAI,CAAC,GAAGf,SAAS,EAAEgB,QAAQ,CAACF,EAAE,CAAC,GAAGA,EAAE;EAAA,CACvD,CAAC;EAED,MAAMG,SAAS,GACbZ,KAAK,IACJP,WAAW,IAAIA,WAAW,CAACiB,MAAM,KAAK,CAAE,IACxCf,SAAS,IAAIA,SAAS,CAACe,MAAM,KAAK,CAAE;EAEvC,OACE5B,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAAA/B,MAAA,CAAAO,OAAA,CAAAyB,QAAA,QACG,CAACF,SAAS,IACT9B,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAAA/B,MAAA,CAAAO,OAAA,CAAAyB,QAAA,QACEhC,MAAA,CAAAO,OAAA,CAAAwB,aAAA;IACEE,SAAS,EAAE,IAAAC,mBAAU,EAAC,0CAA0C,EAAE;MAChE,kBAAkB,EAAErB,SAAS,KAAKsB;IACpC,CAAC;EAAE,GAEFnB,OAAO,IACNhB,MAAA,CAAAO,OAAA,CAAAwB,aAAA;IACEE,SAAS,EAAE,IAAAC,mBAAU,EACnB,sFAAsF,EACtF;MACE,cAAc,EAAErB,SAAS,KAAKsB,SAAS;MACvC,cAAc,EAAEtB,SAAS,KAAKsB;IAChC,CACF;EAAE,GAEFnC,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAACnC,iBAAA,CAAAwC,OAAO;IAACC,IAAI,EAAEC,6BAAW,CAACC;EAAG,CAAE,CAC7B,CACN,EACA,CAACvB,OAAO,IAAIC,IAAI,EAAEuB,kBAAkB,IACnCxC,MAAA,CAAAO,OAAA,CAAAwB,aAAA;IAAK,eAAY;EAAiB,GAChC/B,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAAC5B,KAAA,CAAAsC,UAAU;IACTC,KAAK,EAAE,GAAG5B,IAAI,CAAC,sBAAsB,CAAC,KAAKG,IAAI,EAAEuB,kBAAkB,CAACG,cAAc,CAACC,WAAW;EAAG,CAClG,CAAC,EACF5C,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAAC3B,YAAA,CAAAyC,WAAW;IAAC5B,IAAI,EAAEA,IAAK;IAACM,UAAU,EAAEA;EAAW,CAAE,CAC/C,CAEJ,CAAC,EACNvB,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAAC5B,KAAA,CAAA2C,UAAU,MAAE,CACb,CACH,EACA,CAAC9B,OAAO,IAAIc,SAAS,IACpB9B,MAAA,CAAAO,OAAA,CAAAwB,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChHjC,MAAA,CAAAO,OAAA,CAAAwB,aAAA,CAACnC,iBAAA,CAAAmD,UAAU,MAAE,CACV,CAEP,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAxC,OAAA,GAAAA,OAAA","ignoreList":[]}
@@ -39,7 +39,7 @@ const HeatmapGrid = _ref => {
39
39
  className: (0, _classnames.default)('lw-relative lw-grid lw-grid-cols-[var(--cols)] lw-overflow-x-auto lw-border-x lw-border-t lw-border-solid lw-border-border-primary lw-bg-border-primary lw-text-sm', {}),
40
40
  "data-testid": "heatmap-grid",
41
41
  style: {
42
- '--cols': "repeat(".concat(columnsNumber + 1, ",minmax(70px,1fr))")
42
+ '--cols': `repeat(${columnsNumber + 1},minmax(70px,1fr))`
43
43
  },
44
44
  onMouseLeave: resetHover
45
45
  }, _react.default.createElement(_Grid.GridCell, {
@@ -89,12 +89,12 @@ const HeatmapGrid = _ref => {
89
89
  value
90
90
  } = _ref7;
91
91
  return value === null ? _react.default.createElement(_Grid.GridCell, {
92
- key: "".concat(displayName, "-").concat(timeUnit),
92
+ key: `${displayName}-${timeUnit}`,
93
93
  empty: true,
94
94
  mouseEnterHandler: resetHover,
95
95
  noRightBorder: columnsNumber === index + 1
96
96
  }) : _react.default.createElement(_Grid.GridCell, {
97
- key: "".concat(displayName, "-").concat(timeUnit),
97
+ key: `${displayName}-${timeUnit}`,
98
98
  hovered: selectedInstrument === displayName && selectedTimeUnit === timeUnit,
99
99
  mouseEnterHandler: () => {
100
100
  setSelectedInstrument(displayName);
@@ -1 +1 @@
1
- {"version":3,"file":"HeatmapGrid.js","names":["_monoI18n","require","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_Grid","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","HeatmapGrid","_ref","data","correlationHeatmap","heatmap","headerData","lang","useLocale","selectedInstrument","setSelectedInstrument","useState","selectedTimeUnit","setSelectedTimeUnit","resetHover","timeUnitOrder","map","_ref2","id","columnsNumber","length","createElement","className","classnames","style","concat","onMouseLeave","GridCell","sticky","_ref3","index","label","translationKey","count","key","hovered","mouseEnterHandler","noRightBorder","value","_ref4","instrument","displayName","timeCorrelation","Fragment","sort","_ref5","_ref6","timeUnit","timeUnitA","timeUnitB","indexOf","_ref7","empty","exports"],"sources":["../../../../../src/CorrelationWidget/components/Heatmap/HeatmapGrid.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React, { Fragment, useState } from 'react';\n\nimport { GridCell } from '../Grid';\nimport type { HeatmapGridProps } from './types';\n\nconst HeatmapGrid = ({\n data: {\n correlationHeatmap: { heatmap },\n },\n headerData,\n}: HeatmapGridProps) => {\n const { lang } = useLocale();\n const [selectedInstrument, setSelectedInstrument] = useState('');\n const [selectedTimeUnit, setSelectedTimeUnit] = useState('');\n\n const resetHover = () => {\n setSelectedInstrument('');\n setSelectedTimeUnit('');\n };\n\n const timeUnitOrder = headerData.map(({ id }) => id);\n\n const columnsNumber = headerData.length;\n\n return (\n <div\n className={classnames(\n 'lw-relative lw-grid lw-grid-cols-[var(--cols)] lw-overflow-x-auto lw-border-x lw-border-t lw-border-solid lw-border-border-primary lw-bg-border-primary lw-text-sm',\n {}\n )}\n data-testid=\"heatmap-grid\"\n style={\n {\n '--cols': `repeat(${columnsNumber + 1},minmax(70px,1fr))`,\n } as React.CSSProperties\n }\n onMouseLeave={resetHover}\n >\n <GridCell sticky />\n {headerData.map(({ id, label: { translationKey, count } }, index) => (\n <GridCell\n key={id}\n hovered={selectedTimeUnit === id}\n mouseEnterHandler={resetHover}\n noRightBorder={columnsNumber === index + 1}\n value={lang(translationKey, { count })}\n />\n ))}\n {heatmap.map(({ instrument: { displayName }, timeCorrelation }) => (\n <Fragment key={displayName}>\n <GridCell\n sticky\n hovered={selectedInstrument === displayName}\n mouseEnterHandler={resetHover}\n value={displayName}\n />\n {[...timeCorrelation]\n .sort(\n ({ timeUnit: timeUnitA }, { timeUnit: timeUnitB }) =>\n timeUnitOrder.indexOf(timeUnitA) -\n timeUnitOrder.indexOf(timeUnitB)\n )\n .map(({ timeUnit, value }, index) =>\n value === null ? (\n <GridCell\n key={`${displayName}-${timeUnit}`}\n empty\n mouseEnterHandler={resetHover}\n noRightBorder={columnsNumber === index + 1}\n />\n ) : (\n <GridCell\n key={`${displayName}-${timeUnit}`}\n hovered={\n selectedInstrument === displayName &&\n selectedTimeUnit === timeUnit\n }\n mouseEnterHandler={() => {\n setSelectedInstrument(displayName);\n setSelectedTimeUnit(timeUnit);\n }}\n noRightBorder={columnsNumber === index + 1}\n value={value}\n />\n )\n )}\n </Fragment>\n ))}\n </div>\n );\n};\n\nexport { HeatmapGrid };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"HeatmapGrid.js","names":["_monoI18n","require","_classnames","_interopRequireDefault","_react","_interopRequireWildcard","_Grid","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","HeatmapGrid","_ref","data","correlationHeatmap","heatmap","headerData","lang","useLocale","selectedInstrument","setSelectedInstrument","useState","selectedTimeUnit","setSelectedTimeUnit","resetHover","timeUnitOrder","map","_ref2","id","columnsNumber","length","createElement","className","classnames","style","onMouseLeave","GridCell","sticky","_ref3","index","label","translationKey","count","key","hovered","mouseEnterHandler","noRightBorder","value","_ref4","instrument","displayName","timeCorrelation","Fragment","sort","_ref5","_ref6","timeUnit","timeUnitA","timeUnitB","indexOf","_ref7","empty","exports"],"sources":["../../../../../src/CorrelationWidget/components/Heatmap/HeatmapGrid.tsx"],"sourcesContent":["import { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React, { Fragment, useState } from 'react';\n\nimport { GridCell } from '../Grid';\nimport type { HeatmapGridProps } from './types';\n\nconst HeatmapGrid = ({\n data: {\n correlationHeatmap: { heatmap },\n },\n headerData,\n}: HeatmapGridProps) => {\n const { lang } = useLocale();\n const [selectedInstrument, setSelectedInstrument] = useState('');\n const [selectedTimeUnit, setSelectedTimeUnit] = useState('');\n\n const resetHover = () => {\n setSelectedInstrument('');\n setSelectedTimeUnit('');\n };\n\n const timeUnitOrder = headerData.map(({ id }) => id);\n\n const columnsNumber = headerData.length;\n\n return (\n <div\n className={classnames(\n 'lw-relative lw-grid lw-grid-cols-[var(--cols)] lw-overflow-x-auto lw-border-x lw-border-t lw-border-solid lw-border-border-primary lw-bg-border-primary lw-text-sm',\n {}\n )}\n data-testid=\"heatmap-grid\"\n style={\n {\n '--cols': `repeat(${columnsNumber + 1},minmax(70px,1fr))`,\n } as React.CSSProperties\n }\n onMouseLeave={resetHover}\n >\n <GridCell sticky />\n {headerData.map(({ id, label: { translationKey, count } }, index) => (\n <GridCell\n key={id}\n hovered={selectedTimeUnit === id}\n mouseEnterHandler={resetHover}\n noRightBorder={columnsNumber === index + 1}\n value={lang(translationKey, { count })}\n />\n ))}\n {heatmap.map(({ instrument: { displayName }, timeCorrelation }) => (\n <Fragment key={displayName}>\n <GridCell\n sticky\n hovered={selectedInstrument === displayName}\n mouseEnterHandler={resetHover}\n value={displayName}\n />\n {[...timeCorrelation]\n .sort(\n ({ timeUnit: timeUnitA }, { timeUnit: timeUnitB }) =>\n timeUnitOrder.indexOf(timeUnitA) -\n timeUnitOrder.indexOf(timeUnitB)\n )\n .map(({ timeUnit, value }, index) =>\n value === null ? (\n <GridCell\n key={`${displayName}-${timeUnit}`}\n empty\n mouseEnterHandler={resetHover}\n noRightBorder={columnsNumber === index + 1}\n />\n ) : (\n <GridCell\n key={`${displayName}-${timeUnit}`}\n hovered={\n selectedInstrument === displayName &&\n selectedTimeUnit === timeUnit\n }\n mouseEnterHandler={() => {\n setSelectedInstrument(displayName);\n setSelectedTimeUnit(timeUnit);\n }}\n noRightBorder={columnsNumber === index + 1}\n value={value}\n />\n )\n )}\n </Fragment>\n ))}\n </div>\n );\n};\n\nexport { HeatmapGrid };\n"],"mappings":"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","ignoreList":[]}
@@ -32,7 +32,7 @@ const Matrix = _ref => {
32
32
  },
33
33
  fetchPolicy: 'cache-and-network'
34
34
  });
35
- const columnNumber = instruments === null || instruments === void 0 ? void 0 : instruments.length;
35
+ const columnNumber = instruments?.length;
36
36
  const showError = error || instruments && instruments.length === 1;
37
37
  return _react.default.createElement(_react.default.Fragment, null, !showError && _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", {
38
38
  className: (0, _classnames.default)('lw-flex lw-flex-col', {
@@ -45,12 +45,12 @@ const Matrix = _ref => {
45
45
  })
46
46
  }, _react.default.createElement(_labsWidgetCommon.Spinner, {
47
47
  size: _labsWidgetCommon.SpinnerSize.lg
48
- })), !loading && (data === null || data === void 0 ? void 0 : data.correlationMatrix) && _react.default.createElement("div", {
48
+ })), !loading && data?.correlationMatrix && _react.default.createElement("div", {
49
49
  "data-testid": "matrix-wrapper"
50
50
  }, _react.default.createElement(_Grid.GridHeader, {
51
- label: "".concat(lang('time_period'), ": ").concat(lang('year', {
51
+ label: `${lang('time_period')}: ${lang('year', {
52
52
  count: 1
53
- }))
53
+ })}`
54
54
  }), _react.default.createElement(_MatrixGrid.MatrixGrid, {
55
55
  columnsNumber: columnNumber,
56
56
  data: data
@@ -1 +1 @@
1
- {"version":3,"file":"Matrix.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_classnames","_interopRequireDefault","_react","_getCorrelationMatrix","_Grid","_MatrixGrid","e","__esModule","default","Matrix","_ref","division","instruments","lang","useLocale","loading","data","error","useQuery","getCorrelationMatrix","variables","fetchPolicy","columnNumber","length","showError","createElement","Fragment","className","classnames","undefined","Spinner","size","SpinnerSize","lg","correlationMatrix","GridHeader","label","concat","count","MatrixGrid","columnsNumber","GridLegend","ChartError","exports"],"sources":["../../../../../src/CorrelationWidget/components/Matrix/Matrix.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { ChartError, Spinner, SpinnerSize } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCorrelationMatrix } from '../../../gql/getCorrelationMatrix';\nimport type {\n GetCorrelationMatrixQuery,\n GetCorrelationMatrixQueryVariables,\n} from '../../../gql/types/graphql';\nimport type { MatrixProps } from '../../types';\nimport { GridHeader, GridLegend } from '../Grid';\nimport { MatrixGrid } from './MatrixGrid';\n\nconst Matrix = ({ division, instruments }: MatrixProps) => {\n const { lang } = useLocale();\n const { loading, data, error } = useQuery<\n GetCorrelationMatrixQuery,\n GetCorrelationMatrixQueryVariables\n >(getCorrelationMatrix, {\n variables: {\n division,\n instruments,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const columnNumber = instruments?.length;\n\n const showError = error || (instruments && instruments.length === 1);\n\n return (\n <>\n {!showError && (\n <>\n <div\n className={classnames('lw-flex lw-flex-col', {\n 'lw-min-h-[580px]': columnNumber === undefined,\n })}\n >\n {loading && (\n <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[500px]': columnNumber === undefined,\n 'lw-h-[200px]': columnNumber !== undefined,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data?.correlationMatrix && (\n <div data-testid=\"matrix-wrapper\">\n <GridHeader\n label={`${lang('time_period')}: ${lang('year', { count: 1 })}`}\n />\n <MatrixGrid columnsNumber={columnNumber} data={data} />\n </div>\n )}\n </div>\n <GridLegend />\n </>\n )}\n {!loading && showError && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { Matrix };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Matrix.js","names":["_client","require","_labsWidgetCommon","_monoI18n","_classnames","_interopRequireDefault","_react","_getCorrelationMatrix","_Grid","_MatrixGrid","e","__esModule","default","Matrix","_ref","division","instruments","lang","useLocale","loading","data","error","useQuery","getCorrelationMatrix","variables","fetchPolicy","columnNumber","length","showError","createElement","Fragment","className","classnames","undefined","Spinner","size","SpinnerSize","lg","correlationMatrix","GridHeader","label","count","MatrixGrid","columnsNumber","GridLegend","ChartError","exports"],"sources":["../../../../../src/CorrelationWidget/components/Matrix/Matrix.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { ChartError, Spinner, SpinnerSize } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCorrelationMatrix } from '../../../gql/getCorrelationMatrix';\nimport type {\n GetCorrelationMatrixQuery,\n GetCorrelationMatrixQueryVariables,\n} from '../../../gql/types/graphql';\nimport type { MatrixProps } from '../../types';\nimport { GridHeader, GridLegend } from '../Grid';\nimport { MatrixGrid } from './MatrixGrid';\n\nconst Matrix = ({ division, instruments }: MatrixProps) => {\n const { lang } = useLocale();\n const { loading, data, error } = useQuery<\n GetCorrelationMatrixQuery,\n GetCorrelationMatrixQueryVariables\n >(getCorrelationMatrix, {\n variables: {\n division,\n instruments,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const columnNumber = instruments?.length;\n\n const showError = error || (instruments && instruments.length === 1);\n\n return (\n <>\n {!showError && (\n <>\n <div\n className={classnames('lw-flex lw-flex-col', {\n 'lw-min-h-[580px]': columnNumber === undefined,\n })}\n >\n {loading && (\n <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[500px]': columnNumber === undefined,\n 'lw-h-[200px]': columnNumber !== undefined,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data?.correlationMatrix && (\n <div data-testid=\"matrix-wrapper\">\n <GridHeader\n label={`${lang('time_period')}: ${lang('year', { count: 1 })}`}\n />\n <MatrixGrid columnsNumber={columnNumber} data={data} />\n </div>\n )}\n </div>\n <GridLegend />\n </>\n )}\n {!loading && showError && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { Matrix };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,qBAAA,GAAAN,OAAA;AAMA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AAA0C,SAAAI,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE1C,MAAMG,MAAM,GAAGC,IAAA,IAA4C;EAAA,IAA3C;IAAEC,QAAQ;IAAEC;EAAyB,CAAC,GAAAF,IAAA;EACpD,MAAM;IAAEG;EAAK,CAAC,GAAG,IAAAC,mBAAS,EAAC,CAAC;EAC5B,MAAM;IAAEC,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAG,IAAAC,gBAAQ,EAGvCC,0CAAoB,EAAE;IACtBC,SAAS,EAAE;MACTT,QAAQ;MACRC;IACF,CAAC;IACDS,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAMC,YAAY,GAAGV,WAAW,EAAEW,MAAM;EAExC,MAAMC,SAAS,GAAGP,KAAK,IAAKL,WAAW,IAAIA,WAAW,CAACW,MAAM,KAAK,CAAE;EAEpE,OACErB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAAAvB,MAAA,CAAAM,OAAA,CAAAkB,QAAA,QACG,CAACF,SAAS,IACTtB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAAAvB,MAAA,CAAAM,OAAA,CAAAkB,QAAA,QACExB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IACEE,SAAS,EAAE,IAAAC,mBAAU,EAAC,qBAAqB,EAAE;MAC3C,kBAAkB,EAAEN,YAAY,KAAKO;IACvC,CAAC;EAAE,GAEFd,OAAO,IACNb,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IACEE,SAAS,EAAE,IAAAC,mBAAU,EACnB,sFAAsF,EACtF;MACE,cAAc,EAAEN,YAAY,KAAKO,SAAS;MAC1C,cAAc,EAAEP,YAAY,KAAKO;IACnC,CACF;EAAE,GAEF3B,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAAC3B,iBAAA,CAAAgC,OAAO;IAACC,IAAI,EAAEC,6BAAW,CAACC;EAAG,CAAE,CAC7B,CACN,EACA,CAAClB,OAAO,IAAIC,IAAI,EAAEkB,iBAAiB,IAClChC,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAK,eAAY;EAAgB,GAC/BvB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACrB,KAAA,CAAA+B,UAAU;IACTC,KAAK,EAAE,GAAGvB,IAAI,CAAC,aAAa,CAAC,KAAKA,IAAI,CAAC,MAAM,EAAE;MAAEwB,KAAK,EAAE;IAAE,CAAC,CAAC;EAAG,CAChE,CAAC,EACFnC,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACpB,WAAA,CAAAiC,UAAU;IAACC,aAAa,EAAEjB,YAAa;IAACN,IAAI,EAAEA;EAAK,CAAE,CACnD,CAEJ,CAAC,EACNd,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAACrB,KAAA,CAAAoC,UAAU,MAAE,CACb,CACH,EACA,CAACzB,OAAO,IAAIS,SAAS,IACpBtB,MAAA,CAAAM,OAAA,CAAAiB,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChHzB,MAAA,CAAAM,OAAA,CAAAiB,aAAA,CAAC3B,iBAAA,CAAA2C,UAAU,MAAE,CACV,CAEP,CAAC;AAEP,CAAC;AAACC,OAAA,CAAAjC,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -28,7 +28,7 @@ const MatrixGrid = _ref => {
28
28
  className: (0, _classnames.default)('lw-relative lw-grid-cols-[var(--cols)] lw-grid lw-overflow-x-auto lw-border-x lw-border-t lw-border-solid lw-border-border-primary lw-bg-border-primary lw-text-sm', {}),
29
29
  "data-testid": "matrix-grid",
30
30
  style: {
31
- '--cols': "minmax(70px,1fr)repeat(".concat(columnsNumber, ",minmax(65px,1fr))")
31
+ '--cols': `minmax(70px,1fr)repeat(${columnsNumber},minmax(65px,1fr))`
32
32
  },
33
33
  onMouseLeave: resetHover
34
34
  }, _react.default.createElement(_Grid.GridCell, {
@@ -40,7 +40,7 @@ const MatrixGrid = _ref => {
40
40
  }
41
41
  } = _ref2;
42
42
  return _react.default.createElement(_Grid.GridCell, {
43
- key: "x-".concat(displayName),
43
+ key: `x-${displayName}`,
44
44
  hovered: selectedXInstrument === displayName,
45
45
  mouseEnterHandler: resetHover,
46
46
  noRightBorder: columnsNumber === index + 1,
@@ -54,7 +54,7 @@ const MatrixGrid = _ref => {
54
54
  instrumentCorrelation
55
55
  } = _ref3;
56
56
  return _react.default.createElement(_react.Fragment, {
57
- key: "y-".concat(yInstrument)
57
+ key: `y-${yInstrument}`
58
58
  }, _react.default.createElement(_Grid.GridCell, {
59
59
  sticky: true,
60
60
  hovered: selectedYInstrument === yInstrument,
@@ -69,12 +69,12 @@ const MatrixGrid = _ref => {
69
69
  } = _ref4;
70
70
  const noRightBorder = columnsNumber === index + 1;
71
71
  return xInstrument === yInstrument || value === null ? _react.default.createElement(_Grid.GridCell, {
72
- key: "".concat(xInstrument, "-").concat(yInstrument),
72
+ key: `${xInstrument}-${yInstrument}`,
73
73
  empty: true,
74
74
  mouseEnterHandler: resetHover,
75
75
  noRightBorder: noRightBorder
76
76
  }) : _react.default.createElement(_Grid.GridCell, {
77
- key: "".concat(xInstrument, "-").concat(yInstrument),
77
+ key: `${xInstrument}-${yInstrument}`,
78
78
  hovered: selectedXInstrument === xInstrument && selectedYInstrument === yInstrument,
79
79
  mouseEnterHandler: () => {
80
80
  setSelectedXInstrument(xInstrument);
@@ -1 +1 @@
1
- {"version":3,"file":"MatrixGrid.js","names":["_classnames","_interopRequireDefault","require","_react","_interopRequireWildcard","_Grid","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MatrixGrid","_ref","data","correlationMatrix","matrix","columnsNumber","selectedXInstrument","setSelectedXInstrument","useState","selectedYInstrument","setSelectedYInstrument","resetHover","createElement","className","classNames","style","concat","onMouseLeave","GridCell","sticky","map","_ref2","index","instrument","displayName","key","hovered","mouseEnterHandler","noRightBorder","value","_ref3","yInstrument","instrumentCorrelation","Fragment","_ref4","xInstrument","empty","exports"],"sources":["../../../../../src/CorrelationWidget/components/Matrix/MatrixGrid.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { Fragment, useState } from 'react';\n\nimport { GridCell } from '../Grid';\nimport type { MatrixGridProps } from './types';\n\nconst MatrixGrid = ({\n data: {\n correlationMatrix: { matrix },\n },\n columnsNumber = 10,\n}: MatrixGridProps) => {\n const [selectedXInstrument, setSelectedXInstrument] = useState('');\n const [selectedYInstrument, setSelectedYInstrument] = useState('');\n\n const resetHover = () => {\n setSelectedXInstrument('');\n setSelectedYInstrument('');\n };\n\n return (\n <div\n className={classNames(\n 'lw-relative lw-grid-cols-[var(--cols)] lw-grid lw-overflow-x-auto lw-border-x lw-border-t lw-border-solid lw-border-border-primary lw-bg-border-primary lw-text-sm',\n {}\n )}\n data-testid=\"matrix-grid\"\n style={\n {\n '--cols': `minmax(70px,1fr)repeat(${columnsNumber},minmax(65px,1fr))`,\n } as React.CSSProperties\n }\n onMouseLeave={resetHover}\n >\n <GridCell sticky />\n {matrix.map(({ instrument: { displayName } }, index) => (\n <GridCell\n key={`x-${displayName}`}\n hovered={selectedXInstrument === displayName}\n mouseEnterHandler={resetHover}\n noRightBorder={columnsNumber === index + 1}\n value={displayName}\n />\n ))}\n {matrix.map(\n ({\n instrument: { displayName: yInstrument },\n instrumentCorrelation,\n }) => (\n <Fragment key={`y-${yInstrument}`}>\n <GridCell\n sticky\n hovered={selectedYInstrument === yInstrument}\n mouseEnterHandler={resetHover}\n value={yInstrument}\n />\n {instrumentCorrelation.map(\n ({ instrument: { displayName: xInstrument }, value }, index) => {\n const noRightBorder = columnsNumber === index + 1;\n\n return xInstrument === yInstrument || value === null ? (\n <GridCell\n key={`${xInstrument}-${yInstrument}`}\n empty\n mouseEnterHandler={resetHover}\n noRightBorder={noRightBorder}\n />\n ) : (\n <GridCell\n key={`${xInstrument}-${yInstrument}`}\n hovered={\n selectedXInstrument === xInstrument &&\n selectedYInstrument === yInstrument\n }\n mouseEnterHandler={() => {\n setSelectedXInstrument(xInstrument);\n setSelectedYInstrument(yInstrument);\n }}\n noRightBorder={noRightBorder}\n value={value}\n />\n );\n }\n )}\n </Fragment>\n )\n )}\n </div>\n );\n};\n\nexport { MatrixGrid };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"MatrixGrid.js","names":["_classnames","_interopRequireDefault","require","_react","_interopRequireWildcard","_Grid","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","MatrixGrid","_ref","data","correlationMatrix","matrix","columnsNumber","selectedXInstrument","setSelectedXInstrument","useState","selectedYInstrument","setSelectedYInstrument","resetHover","createElement","className","classNames","style","onMouseLeave","GridCell","sticky","map","_ref2","index","instrument","displayName","key","hovered","mouseEnterHandler","noRightBorder","value","_ref3","yInstrument","instrumentCorrelation","Fragment","_ref4","xInstrument","empty","exports"],"sources":["../../../../../src/CorrelationWidget/components/Matrix/MatrixGrid.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React, { Fragment, useState } from 'react';\n\nimport { GridCell } from '../Grid';\nimport type { MatrixGridProps } from './types';\n\nconst MatrixGrid = ({\n data: {\n correlationMatrix: { matrix },\n },\n columnsNumber = 10,\n}: MatrixGridProps) => {\n const [selectedXInstrument, setSelectedXInstrument] = useState('');\n const [selectedYInstrument, setSelectedYInstrument] = useState('');\n\n const resetHover = () => {\n setSelectedXInstrument('');\n setSelectedYInstrument('');\n };\n\n return (\n <div\n className={classNames(\n 'lw-relative lw-grid-cols-[var(--cols)] lw-grid lw-overflow-x-auto lw-border-x lw-border-t lw-border-solid lw-border-border-primary lw-bg-border-primary lw-text-sm',\n {}\n )}\n data-testid=\"matrix-grid\"\n style={\n {\n '--cols': `minmax(70px,1fr)repeat(${columnsNumber},minmax(65px,1fr))`,\n } as React.CSSProperties\n }\n onMouseLeave={resetHover}\n >\n <GridCell sticky />\n {matrix.map(({ instrument: { displayName } }, index) => (\n <GridCell\n key={`x-${displayName}`}\n hovered={selectedXInstrument === displayName}\n mouseEnterHandler={resetHover}\n noRightBorder={columnsNumber === index + 1}\n value={displayName}\n />\n ))}\n {matrix.map(\n ({\n instrument: { displayName: yInstrument },\n instrumentCorrelation,\n }) => (\n <Fragment key={`y-${yInstrument}`}>\n <GridCell\n sticky\n hovered={selectedYInstrument === yInstrument}\n mouseEnterHandler={resetHover}\n value={yInstrument}\n />\n {instrumentCorrelation.map(\n ({ instrument: { displayName: xInstrument }, value }, index) => {\n const noRightBorder = columnsNumber === index + 1;\n\n return xInstrument === yInstrument || value === null ? (\n <GridCell\n key={`${xInstrument}-${yInstrument}`}\n empty\n mouseEnterHandler={resetHover}\n noRightBorder={noRightBorder}\n />\n ) : (\n <GridCell\n key={`${xInstrument}-${yInstrument}`}\n hovered={\n selectedXInstrument === xInstrument &&\n selectedYInstrument === yInstrument\n }\n mouseEnterHandler={() => {\n setSelectedXInstrument(xInstrument);\n setSelectedYInstrument(yInstrument);\n }}\n noRightBorder={noRightBorder}\n value={value}\n />\n );\n }\n )}\n </Fragment>\n )\n )}\n </div>\n );\n};\n\nexport { MatrixGrid };\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,32 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getCorrelationHeatmap = void 0;
7
7
  var _client = require("@apollo/client");
8
- var _templateObject;
9
- function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
10
- const getCorrelationHeatmap = exports.getCorrelationHeatmap = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetCorrelationHeatmap(\n $division: Division!\n $instruments: [String]\n $timeSpans: [CorrelationTimeUnit]\n ) {\n correlationHeatmap(\n division: $division\n instruments: $instruments\n timeSpans: $timeSpans\n ) {\n baseInstrument {\n name\n displayName\n }\n heatmap {\n instrument {\n name\n displayName\n }\n timeCorrelation {\n timeUnit\n value\n }\n }\n }\n }\n"])));
8
+ const getCorrelationHeatmap = exports.getCorrelationHeatmap = (0, _client.gql)`
9
+ query GetCorrelationHeatmap(
10
+ $division: Division!
11
+ $instruments: [String]
12
+ $timeSpans: [CorrelationTimeUnit]
13
+ ) {
14
+ correlationHeatmap(
15
+ division: $division
16
+ instruments: $instruments
17
+ timeSpans: $timeSpans
18
+ ) {
19
+ baseInstrument {
20
+ name
21
+ displayName
22
+ }
23
+ heatmap {
24
+ instrument {
25
+ name
26
+ displayName
27
+ }
28
+ timeCorrelation {
29
+ timeUnit
30
+ value
31
+ }
32
+ }
33
+ }
34
+ }
35
+ `;
11
36
  //# sourceMappingURL=getCorrelationHeatmap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCorrelationHeatmap.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","getCorrelationHeatmap","exports","gql"],"sources":["../../../src/gql/getCorrelationHeatmap.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getCorrelationHeatmap = gql`\n query GetCorrelationHeatmap(\n $division: Division!\n $instruments: [String]\n $timeSpans: [CorrelationTimeUnit]\n ) {\n correlationHeatmap(\n division: $division\n instruments: $instruments\n timeSpans: $timeSpans\n ) {\n baseInstrument {\n name\n displayName\n }\n heatmap {\n instrument {\n name\n displayName\n }\n timeCorrelation {\n timeUnit\n value\n }\n }\n }\n }\n`;\n\nexport { getCorrelationHeatmap };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,CAAA,EAAAC,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAD,CAAA,CAAAE,KAAA,MAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,CAAA,IAAAM,GAAA,IAAAC,KAAA,EAAAJ,MAAA,CAAAC,MAAA,CAAAH,CAAA;AAErC,MAAMO,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,sgBA2BhC","ignoreList":[]}
1
+ {"version":3,"file":"getCorrelationHeatmap.js","names":["_client","require","getCorrelationHeatmap","exports","gql"],"sources":["../../../src/gql/getCorrelationHeatmap.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getCorrelationHeatmap = gql`\n query GetCorrelationHeatmap(\n $division: Division!\n $instruments: [String]\n $timeSpans: [CorrelationTimeUnit]\n ) {\n correlationHeatmap(\n division: $division\n instruments: $instruments\n timeSpans: $timeSpans\n ) {\n baseInstrument {\n name\n displayName\n }\n heatmap {\n instrument {\n name\n displayName\n }\n timeCorrelation {\n timeUnit\n value\n }\n }\n }\n }\n`;\n\nexport { getCorrelationHeatmap };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAMC,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,IAAAE,WAAG;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -5,7 +5,24 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.getCorrelationMatrix = void 0;
7
7
  var _client = require("@apollo/client");
8
- var _templateObject;
9
- function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
10
- const getCorrelationMatrix = exports.getCorrelationMatrix = (0, _client.gql)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\n correlationMatrix(division: $division, instruments: $instruments) {\n baseTimeUnit\n matrix {\n instrument {\n name\n displayName\n }\n instrumentCorrelation {\n instrument {\n name\n displayName\n }\n value\n }\n }\n }\n }\n"])));
8
+ const getCorrelationMatrix = exports.getCorrelationMatrix = (0, _client.gql)`
9
+ query GetCorrelationMatrix($division: Division!, $instruments: [String]) {
10
+ correlationMatrix(division: $division, instruments: $instruments) {
11
+ baseTimeUnit
12
+ matrix {
13
+ instrument {
14
+ name
15
+ displayName
16
+ }
17
+ instrumentCorrelation {
18
+ instrument {
19
+ name
20
+ displayName
21
+ }
22
+ value
23
+ }
24
+ }
25
+ }
26
+ }
27
+ `;
11
28
  //# sourceMappingURL=getCorrelationMatrix.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getCorrelationMatrix.js","names":["_client","require","_templateObject","_taggedTemplateLiteral","e","t","slice","Object","freeze","defineProperties","raw","value","getCorrelationMatrix","exports","gql"],"sources":["../../../src/gql/getCorrelationMatrix.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getCorrelationMatrix = gql`\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\n correlationMatrix(division: $division, instruments: $instruments) {\n baseTimeUnit\n matrix {\n instrument {\n name\n displayName\n }\n instrumentCorrelation {\n instrument {\n name\n displayName\n }\n value\n }\n }\n }\n }\n`;\n\nexport { getCorrelationMatrix };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAqC,IAAAC,eAAA;AAAA,SAAAC,uBAAAC,CAAA,EAAAC,CAAA,WAAAA,CAAA,KAAAA,CAAA,GAAAD,CAAA,CAAAE,KAAA,MAAAC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAE,gBAAA,CAAAL,CAAA,IAAAM,GAAA,IAAAC,KAAA,EAAAJ,MAAA,CAAAC,MAAA,CAAAH,CAAA;AAErC,MAAMO,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,OAAGE,WAAG,EAAAZ,eAAA,KAAAA,eAAA,GAAAC,sBAAA,+aAmB/B","ignoreList":[]}
1
+ {"version":3,"file":"getCorrelationMatrix.js","names":["_client","require","getCorrelationMatrix","exports","gql"],"sources":["../../../src/gql/getCorrelationMatrix.ts"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst getCorrelationMatrix = gql`\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\n correlationMatrix(division: $division, instruments: $instruments) {\n baseTimeUnit\n matrix {\n instrument {\n name\n displayName\n }\n instrumentCorrelation {\n instrument {\n name\n displayName\n }\n value\n }\n }\n }\n }\n`;\n\nexport { getCorrelationMatrix };\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,MAAMC,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,IAAAE,WAAG;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC","ignoreList":[]}
@@ -13,11 +13,10 @@ function makeFragmentData(data, _fragment) {
13
13
  return data;
14
14
  }
15
15
  function isFragmentReady(queryNode, fragmentNode, data) {
16
- var _meta__, _fragDef$name;
17
- const deferredFields = (_meta__ = queryNode.__meta__) === null || _meta__ === void 0 ? void 0 : _meta__.deferredFields;
16
+ const deferredFields = queryNode.__meta__?.deferredFields;
18
17
  if (!deferredFields) return true;
19
18
  const fragDef = fragmentNode.definitions[0];
20
- const fragName = fragDef === null || fragDef === void 0 || (_fragDef$name = fragDef.name) === null || _fragDef$name === void 0 ? void 0 : _fragDef$name.value;
19
+ const fragName = fragDef?.name?.value;
21
20
  const fields = fragName && deferredFields[fragName] || [];
22
21
  return fields.length > 0 && fields.every(field => data && field in data);
23
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","_meta__","_fragDef$name","deferredFields","__meta__","fragDef","definitions","fragName","name","value","fields","length","every","field"],"sources":["../../../../src/gql/types/fragment-masking.ts"],"sourcesContent":["import {\n ResultOf,\n DocumentTypeDecoration,\n TypedDocumentNode,\n} from '@graphql-typed-document-node/core';\nimport { FragmentDefinitionNode } from 'graphql';\nimport { Incremental } from './graphql';\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ ' $fragmentName'?: infer TKey }]\n ? TKey extends string\n ? { ' $fragmentRefs'?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>\n): TType;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n): ReadonlyArray<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): TType | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n"],"mappings":";;;;;;;;AA6CO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAIa,EACoC;EACjD,OAAOA,YAAY;AACrB;AAEO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAGa,EAC8B;EAAA,IAAAK,OAAA,EAAAC,aAAA;EAC3C,MAAMC,cAAc,IAAAF,OAAA,GAClBF,SAAS,CAGTK,QAAQ,cAAAH,OAAA,uBAJaA,OAAA,CAIXE,cAAc;EAE1B,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGL,YAAY,CAACM,WAAW,CAAC,CAAC,CAE7B;EACb,MAAMC,QAAQ,GAAGF,OAAO,aAAPA,OAAO,gBAAAH,aAAA,GAAPG,OAAO,CAAEG,IAAI,cAAAN,aAAA,uBAAbA,aAAA,CAAeO,KAAK;EAErC,MAAMC,MAAM,GAAIH,QAAQ,IAAIJ,cAAc,CAACI,QAAQ,CAAC,IAAK,EAAE;EAC3D,OAAOG,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAAEC,KAAK,IAAKjB,IAAI,IAAIiB,KAAK,IAAIjB,IAAI,CAAC;AAC5E","ignoreList":[]}
1
+ {"version":3,"file":"fragment-masking.js","names":["useFragment","_documentNode","fragmentType","makeFragmentData","data","_fragment","isFragmentReady","queryNode","fragmentNode","deferredFields","__meta__","fragDef","definitions","fragName","name","value","fields","length","every","field"],"sources":["../../../../src/gql/types/fragment-masking.ts"],"sourcesContent":["import {\n ResultOf,\n DocumentTypeDecoration,\n TypedDocumentNode,\n} from '@graphql-typed-document-node/core';\nimport { FragmentDefinitionNode } from 'graphql';\nimport { Incremental } from './graphql';\n\nexport type FragmentType<\n TDocumentType extends DocumentTypeDecoration<any, any>,\n> =\n TDocumentType extends DocumentTypeDecoration<infer TType, any>\n ? [TType] extends [{ ' $fragmentName'?: infer TKey }]\n ? TKey extends string\n ? { ' $fragmentRefs'?: { [key in TKey]: TType } }\n : never\n : never\n : never;\n\n// return non-nullable if `fragmentType` is non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: FragmentType<DocumentTypeDecoration<TType, any>>\n): TType;\n// return nullable if `fragmentType` is nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | null\n | undefined\n): TType | null | undefined;\n// return array of non-nullable if `fragmentType` is array of non-nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType: ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n): ReadonlyArray<TType>;\n// return array of nullable if `fragmentType` is array of nullable\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): ReadonlyArray<TType> | null | undefined;\nexport function useFragment<TType>(\n _documentNode: DocumentTypeDecoration<TType, any>,\n fragmentType:\n | FragmentType<DocumentTypeDecoration<TType, any>>\n | ReadonlyArray<FragmentType<DocumentTypeDecoration<TType, any>>>\n | null\n | undefined\n): TType | ReadonlyArray<TType> | null | undefined {\n return fragmentType as any;\n}\n\nexport function makeFragmentData<\n F extends DocumentTypeDecoration<any, any>,\n FT extends ResultOf<F>,\n>(data: FT, _fragment: F): FragmentType<F> {\n return data as FragmentType<F>;\n}\nexport function isFragmentReady<TQuery, TFrag>(\n queryNode: DocumentTypeDecoration<TQuery, any>,\n fragmentNode: TypedDocumentNode<TFrag>,\n data:\n | FragmentType<TypedDocumentNode<Incremental<TFrag>, any>>\n | null\n | undefined\n): data is FragmentType<typeof fragmentNode> {\n const deferredFields = (\n queryNode as {\n __meta__?: { deferredFields: Record<string, (keyof TFrag)[]> };\n }\n ).__meta__?.deferredFields;\n\n if (!deferredFields) return true;\n\n const fragDef = fragmentNode.definitions[0] as\n | FragmentDefinitionNode\n | undefined;\n const fragName = fragDef?.name?.value;\n\n const fields = (fragName && deferredFields[fragName]) || [];\n return fields.length > 0 && fields.every((field) => data && field in data);\n}\n"],"mappings":";;;;;;;;AA6CO,SAASA,WAAWA,CACzBC,aAAiD,EACjDC,YAIa,EACoC;EACjD,OAAOA,YAAY;AACrB;AAEO,SAASC,gBAAgBA,CAG9BC,IAAQ,EAAEC,SAAY,EAAmB;EACzC,OAAOD,IAAI;AACb;AACO,SAASE,eAAeA,CAC7BC,SAA8C,EAC9CC,YAAsC,EACtCJ,IAGa,EAC8B;EAC3C,MAAMK,cAAc,GAClBF,SAAS,CAGTG,QAAQ,EAAED,cAAc;EAE1B,IAAI,CAACA,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAME,OAAO,GAAGH,YAAY,CAACI,WAAW,CAAC,CAAC,CAE7B;EACb,MAAMC,QAAQ,GAAGF,OAAO,EAAEG,IAAI,EAAEC,KAAK;EAErC,MAAMC,MAAM,GAAIH,QAAQ,IAAIJ,cAAc,CAACI,QAAQ,CAAC,IAAK,EAAE;EAC3D,OAAOG,MAAM,CAACC,MAAM,GAAG,CAAC,IAAID,MAAM,CAACE,KAAK,CAAEC,KAAK,IAAKf,IAAI,IAAIe,KAAK,IAAIf,IAAI,CAAC;AAC5E","ignoreList":[]}
@@ -11,7 +11,6 @@ const documents = {
11
11
  '\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\n correlationMatrix(division: $division, instruments: $instruments) {\n baseTimeUnit\n matrix {\n instrument {\n name\n displayName\n }\n instrumentCorrelation {\n instrument {\n name\n displayName\n }\n value\n }\n }\n }\n }\n': types.GetCorrelationMatrixDocument
12
12
  };
13
13
  function graphql(source) {
14
- var _source;
15
- return (_source = documents[source]) !== null && _source !== void 0 ? _source : {};
14
+ return documents[source] ?? {};
16
15
  }
17
16
  //# sourceMappingURL=gql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetCorrelationHeatmapDocument","GetCorrelationMatrixDocument","graphql","source","_source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetCorrelationHeatmap($division: Division!, $instruments: [String], $timeSpans: [CorrelationTimeUnit]) {\\n correlationHeatmap(division: $division, instruments: $instruments, timeSpans: $timeSpans){\\n baseInstrument {\\n name\\n displayName\\n }\\n heatmap {\\n instrument {\\n name\\n displayName\\n }\\n timeCorrelation {\\n timeUnit\\n value\\n }\\n }\\n }\\n }\\n':\n types.GetCorrelationHeatmapDocument,\n '\\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\\n correlationMatrix(division: $division, instruments: $instruments) {\\n baseTimeUnit\\n matrix {\\n instrument {\\n name\\n displayName\\n }\\n instrumentCorrelation {\\n instrument {\\n name\\n displayName\\n }\\n value\\n }\\n }\\n }\\n }\\n':\n types.GetCorrelationMatrixDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetCorrelationHeatmap($division: Division!, $instruments: [String], $timeSpans: [CorrelationTimeUnit]) {\\n correlationHeatmap(division: $division, instruments: $instruments, timeSpans: $timeSpans){\\n baseInstrument {\\n name\\n displayName\\n }\\n heatmap {\\n instrument {\\n name\\n displayName\\n }\\n timeCorrelation {\\n timeUnit\\n value\\n }\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetCorrelationHeatmap($division: Division!, $instruments: [String], $timeSpans: [CorrelationTimeUnit]) {\\n correlationHeatmap(division: $division, instruments: $instruments, timeSpans: $timeSpans){\\n baseInstrument {\\n name\\n displayName\\n }\\n heatmap {\\n instrument {\\n name\\n displayName\\n }\\n timeCorrelation {\\n timeUnit\\n value\\n }\\n }\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\\n correlationMatrix(division: $division, instruments: $instruments) {\\n baseTimeUnit\\n matrix {\\n instrument {\\n name\\n displayName\\n }\\n instrumentCorrelation {\\n instrument {\\n name\\n displayName\\n }\\n value\\n }\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\\n correlationMatrix(division: $division, instruments: $instruments) {\\n baseTimeUnit\\n matrix {\\n instrument {\\n name\\n displayName\\n }\\n instrumentCorrelation {\\n instrument {\\n name\\n displayName\\n }\\n value\\n }\\n }\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAanC,MAAMkB,SAAS,GAAG;EAChB,mdAAmd,EACjdtB,KAAK,CAACuB,6BAA6B;EACrC,yaAAya,EACvavB,KAAK,CAACwB;AACV,CAAC;AA6BM,SAASC,OAAOA,CAACC,MAAc,EAAE;EAAA,IAAAC,OAAA;EACtC,QAAAA,OAAA,GAAQL,SAAS,CAASI,MAAM,CAAC,cAAAC,OAAA,cAAAA,OAAA,GAAI,CAAC,CAAC;AACzC","ignoreList":[]}
1
+ {"version":3,"file":"gql.js","names":["types","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","documents","GetCorrelationHeatmapDocument","GetCorrelationMatrixDocument","graphql","source"],"sources":["../../../../src/gql/types/gql.ts"],"sourcesContent":["/* eslint-disable */\nimport * as types from './graphql';\nimport { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';\n\n/**\n * Map of all GraphQL operations in the project.\n *\n * This map has several performance disadvantages:\n * 1. It is not tree-shakeable, so it will include all operations in the project.\n * 2. It is not minifiable, so the string of a GraphQL query will be multiple times inside the bundle.\n * 3. It does not support dead code elimination, so it will add unused operations.\n *\n * Therefore it is highly recommended to use the babel or swc plugin for production.\n */\nconst documents = {\n '\\n query GetCorrelationHeatmap($division: Division!, $instruments: [String], $timeSpans: [CorrelationTimeUnit]) {\\n correlationHeatmap(division: $division, instruments: $instruments, timeSpans: $timeSpans){\\n baseInstrument {\\n name\\n displayName\\n }\\n heatmap {\\n instrument {\\n name\\n displayName\\n }\\n timeCorrelation {\\n timeUnit\\n value\\n }\\n }\\n }\\n }\\n':\n types.GetCorrelationHeatmapDocument,\n '\\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\\n correlationMatrix(division: $division, instruments: $instruments) {\\n baseTimeUnit\\n matrix {\\n instrument {\\n name\\n displayName\\n }\\n instrumentCorrelation {\\n instrument {\\n name\\n displayName\\n }\\n value\\n }\\n }\\n }\\n }\\n':\n types.GetCorrelationMatrixDocument,\n};\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n *\n *\n * @example\n * ```ts\n * const query = graphql(`query GetUser($id: ID!) { user(id: $id) { name } }`);\n * ```\n *\n * The query argument is unknown!\n * Please regenerate the types.\n */\nexport function graphql(source: string): unknown;\n\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetCorrelationHeatmap($division: Division!, $instruments: [String], $timeSpans: [CorrelationTimeUnit]) {\\n correlationHeatmap(division: $division, instruments: $instruments, timeSpans: $timeSpans){\\n baseInstrument {\\n name\\n displayName\\n }\\n heatmap {\\n instrument {\\n name\\n displayName\\n }\\n timeCorrelation {\\n timeUnit\\n value\\n }\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetCorrelationHeatmap($division: Division!, $instruments: [String], $timeSpans: [CorrelationTimeUnit]) {\\n correlationHeatmap(division: $division, instruments: $instruments, timeSpans: $timeSpans){\\n baseInstrument {\\n name\\n displayName\\n }\\n heatmap {\\n instrument {\\n name\\n displayName\\n }\\n timeCorrelation {\\n timeUnit\\n value\\n }\\n }\\n }\\n }\\n'];\n/**\n * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients.\n */\nexport function graphql(\n source: '\\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\\n correlationMatrix(division: $division, instruments: $instruments) {\\n baseTimeUnit\\n matrix {\\n instrument {\\n name\\n displayName\\n }\\n instrumentCorrelation {\\n instrument {\\n name\\n displayName\\n }\\n value\\n }\\n }\\n }\\n }\\n'\n): (typeof documents)['\\n query GetCorrelationMatrix($division: Division!, $instruments: [String]) {\\n correlationMatrix(division: $division, instruments: $instruments) {\\n baseTimeUnit\\n matrix {\\n instrument {\\n name\\n displayName\\n }\\n instrumentCorrelation {\\n instrument {\\n name\\n displayName\\n }\\n value\\n }\\n }\\n }\\n }\\n'];\n\nexport function graphql(source: string) {\n return (documents as any)[source] ?? {};\n}\n\nexport type DocumentType<TDocumentNode extends DocumentNode<any, any>> =\n TDocumentNode extends DocumentNode<infer TType, any> ? TType : never;\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAmC,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAJ,uBAAA,YAAAA,CAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAanC,MAAMkB,SAAS,GAAG;EAChB,mdAAmd,EACjdtB,KAAK,CAACuB,6BAA6B;EACrC,yaAAya,EACvavB,KAAK,CAACwB;AACV,CAAC;AA6BM,SAASC,OAAOA,CAACC,MAAc,EAAE;EACtC,OAAQJ,SAAS,CAASI,MAAM,CAAC,IAAI,CAAC,CAAC;AACzC","ignoreList":[]}
@@ -15,7 +15,7 @@ const Main = _ref => {
15
15
  size
16
16
  } = useLayoutProvider();
17
17
  const isDesktop = size === Size.DESKTOP;
18
- const [selectedCorrelation, setSelectedCorrelation] = useState((sort === null || sort === void 0 ? void 0 : sort.toLowerCase()) || navigationConfigDesktop[0].id);
18
+ const [selectedCorrelation, setSelectedCorrelation] = useState(sort?.toLowerCase() || navigationConfigDesktop[0].id);
19
19
  const {
20
20
  lang
21
21
  } = useLocale();
@@ -1 +1 @@
1
- {"version":3,"file":"Main.js","names":["Size","Tabs","useLayoutProvider","useLocale","React","useState","Heatmap","Matrix","navigationConfigDesktop","navigationConfigMobile","Main","_ref","division","sort","instruments","heatmapTimeUnits","size","isDesktop","DESKTOP","selectedCorrelation","setSelectedCorrelation","toLowerCase","id","lang","createElement","mobileFullWidth","activeTab","handleClick","_ref2","currentTarget","value","items","labelCallback"],"sources":["../../../src/CorrelationWidget/Main.tsx"],"sourcesContent":["import { Size, Tabs, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useState } from 'react';\n\nimport { Heatmap } from './components';\nimport { Matrix } from './components/Matrix';\nimport { navigationConfigDesktop, navigationConfigMobile } from './config';\nimport type { MainProps } from './types';\n\nconst Main = ({ division, sort, instruments, heatmapTimeUnits }: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const [selectedCorrelation, setSelectedCorrelation] = useState(\n sort?.toLowerCase() || navigationConfigDesktop[0].id\n );\n const { lang } = useLocale();\n\n return (\n size && (\n <div data-testid=\"correlation-wrapper\">\n {!sort && (\n <Tabs\n mobileFullWidth\n activeTab={selectedCorrelation}\n handleClick={({ currentTarget: { value } }) =>\n setSelectedCorrelation(value)\n }\n items={isDesktop ? navigationConfigDesktop : navigationConfigMobile}\n labelCallback={lang}\n />\n )}\n {selectedCorrelation === 'heatmap' && (\n <Heatmap\n division={division}\n heatmapTimeUnits={heatmapTimeUnits}\n instruments={instruments}\n />\n )}\n {selectedCorrelation === 'matrix' && (\n <Matrix division={division} instruments={instruments} />\n )}\n </div>\n )\n );\n};\n\nexport { Main };\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,IAAI,EAAEC,iBAAiB,QAAQ,2BAA2B;AACzE,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AAEvC,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,uBAAuB,EAAEC,sBAAsB,QAAQ,UAAU;AAG1E,MAAMC,IAAI,GAAGC,IAAA,IAAkE;EAAA,IAAjE;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,WAAW;IAAEC;EAA4B,CAAC,GAAAJ,IAAA;EACxE,MAAM;IAAEK;EAAK,CAAC,GAAGd,iBAAiB,CAAC,CAAC;EACpC,MAAMe,SAAS,GAAGD,IAAI,KAAKhB,IAAI,CAACkB,OAAO;EACvC,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGf,QAAQ,CAC5D,CAAAQ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEQ,WAAW,CAAC,CAAC,KAAIb,uBAAuB,CAAC,CAAC,CAAC,CAACc,EACpD,CAAC;EACD,MAAM;IAAEC;EAAK,CAAC,GAAGpB,SAAS,CAAC,CAAC;EAE5B,OACEa,IAAI,IACFZ,KAAA,CAAAoB,aAAA;IAAK,eAAY;EAAqB,GACnC,CAACX,IAAI,IACJT,KAAA,CAAAoB,aAAA,CAACvB,IAAI;IACHwB,eAAe;IACfC,SAAS,EAAEP,mBAAoB;IAC/BQ,WAAW,EAAEC,KAAA;MAAA,IAAC;QAAEC,aAAa,EAAE;UAAEC;QAAM;MAAE,CAAC,GAAAF,KAAA;MAAA,OACxCR,sBAAsB,CAACU,KAAK,CAAC;IAAA,CAC9B;IACDC,KAAK,EAAEd,SAAS,GAAGT,uBAAuB,GAAGC,sBAAuB;IACpEuB,aAAa,EAAET;EAAK,CACrB,CACF,EACAJ,mBAAmB,KAAK,SAAS,IAChCf,KAAA,CAAAoB,aAAA,CAAClB,OAAO;IACNM,QAAQ,EAAEA,QAAS;IACnBG,gBAAgB,EAAEA,gBAAiB;IACnCD,WAAW,EAAEA;EAAY,CAC1B,CACF,EACAK,mBAAmB,KAAK,QAAQ,IAC/Bf,KAAA,CAAAoB,aAAA,CAACjB,MAAM;IAACK,QAAQ,EAAEA,QAAS;IAACE,WAAW,EAAEA;EAAY,CAAE,CAEtD,CACN;AAEL,CAAC;AAED,SAASJ,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"Main.js","names":["Size","Tabs","useLayoutProvider","useLocale","React","useState","Heatmap","Matrix","navigationConfigDesktop","navigationConfigMobile","Main","_ref","division","sort","instruments","heatmapTimeUnits","size","isDesktop","DESKTOP","selectedCorrelation","setSelectedCorrelation","toLowerCase","id","lang","createElement","mobileFullWidth","activeTab","handleClick","_ref2","currentTarget","value","items","labelCallback"],"sources":["../../../src/CorrelationWidget/Main.tsx"],"sourcesContent":["import { Size, Tabs, useLayoutProvider } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport React, { useState } from 'react';\n\nimport { Heatmap } from './components';\nimport { Matrix } from './components/Matrix';\nimport { navigationConfigDesktop, navigationConfigMobile } from './config';\nimport type { MainProps } from './types';\n\nconst Main = ({ division, sort, instruments, heatmapTimeUnits }: MainProps) => {\n const { size } = useLayoutProvider();\n const isDesktop = size === Size.DESKTOP;\n const [selectedCorrelation, setSelectedCorrelation] = useState(\n sort?.toLowerCase() || navigationConfigDesktop[0].id\n );\n const { lang } = useLocale();\n\n return (\n size && (\n <div data-testid=\"correlation-wrapper\">\n {!sort && (\n <Tabs\n mobileFullWidth\n activeTab={selectedCorrelation}\n handleClick={({ currentTarget: { value } }) =>\n setSelectedCorrelation(value)\n }\n items={isDesktop ? navigationConfigDesktop : navigationConfigMobile}\n labelCallback={lang}\n />\n )}\n {selectedCorrelation === 'heatmap' && (\n <Heatmap\n division={division}\n heatmapTimeUnits={heatmapTimeUnits}\n instruments={instruments}\n />\n )}\n {selectedCorrelation === 'matrix' && (\n <Matrix division={division} instruments={instruments} />\n )}\n </div>\n )\n );\n};\n\nexport { Main };\n"],"mappings":"AAAA,SAASA,IAAI,EAAEC,IAAI,EAAEC,iBAAiB,QAAQ,2BAA2B;AACzE,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AAEvC,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,uBAAuB,EAAEC,sBAAsB,QAAQ,UAAU;AAG1E,MAAMC,IAAI,GAAGC,IAAA,IAAkE;EAAA,IAAjE;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,WAAW;IAAEC;EAA4B,CAAC,GAAAJ,IAAA;EACxE,MAAM;IAAEK;EAAK,CAAC,GAAGd,iBAAiB,CAAC,CAAC;EACpC,MAAMe,SAAS,GAAGD,IAAI,KAAKhB,IAAI,CAACkB,OAAO;EACvC,MAAM,CAACC,mBAAmB,EAAEC,sBAAsB,CAAC,GAAGf,QAAQ,CAC5DQ,IAAI,EAAEQ,WAAW,CAAC,CAAC,IAAIb,uBAAuB,CAAC,CAAC,CAAC,CAACc,EACpD,CAAC;EACD,MAAM;IAAEC;EAAK,CAAC,GAAGpB,SAAS,CAAC,CAAC;EAE5B,OACEa,IAAI,IACFZ,KAAA,CAAAoB,aAAA;IAAK,eAAY;EAAqB,GACnC,CAACX,IAAI,IACJT,KAAA,CAAAoB,aAAA,CAACvB,IAAI;IACHwB,eAAe;IACfC,SAAS,EAAEP,mBAAoB;IAC/BQ,WAAW,EAAEC,KAAA;MAAA,IAAC;QAAEC,aAAa,EAAE;UAAEC;QAAM;MAAE,CAAC,GAAAF,KAAA;MAAA,OACxCR,sBAAsB,CAACU,KAAK,CAAC;IAAA,CAC9B;IACDC,KAAK,EAAEd,SAAS,GAAGT,uBAAuB,GAAGC,sBAAuB;IACpEuB,aAAa,EAAET;EAAK,CACrB,CACF,EACAJ,mBAAmB,KAAK,SAAS,IAChCf,KAAA,CAAAoB,aAAA,CAAClB,OAAO;IACNM,QAAQ,EAAEA,QAAS;IACnBG,gBAAgB,EAAEA,gBAAiB;IACnCD,WAAW,EAAEA;EAAY,CAC1B,CACF,EACAK,mBAAmB,KAAK,QAAQ,IAC/Bf,KAAA,CAAAoB,aAAA,CAACjB,MAAM;IAACK,QAAQ,EAAEA,QAAS;IAACE,WAAW,EAAEA;EAAY,CAAE,CAEtD,CACN;AAEL,CAAC;AAED,SAASJ,IAAI","ignoreList":[]}
@@ -32,11 +32,11 @@ const Heatmap = _ref => {
32
32
  let {
33
33
  id
34
34
  } = _ref2;
35
- return (timeSpans === null || timeSpans === void 0 ? void 0 : timeSpans.length) > 0 ? timeSpans === null || timeSpans === void 0 ? void 0 : timeSpans.includes(id) : id;
35
+ return timeSpans?.length > 0 ? timeSpans?.includes(id) : id;
36
36
  });
37
37
  const showError = error || instruments && instruments.length === 1 || timeSpans && timeSpans.length === 1;
38
38
  return React.createElement(React.Fragment, null, !showError && React.createElement(React.Fragment, null, React.createElement("div", {
39
- className: classnames('lw-flex lw-flex-col', {
39
+ className: classnames('lw-flex lw-flex-col lw-text-text-primary', {
40
40
  'lw-min-h-[580px]': timeSpans === undefined
41
41
  })
42
42
  }, loading && React.createElement("div", {
@@ -46,10 +46,10 @@ const Heatmap = _ref => {
46
46
  })
47
47
  }, React.createElement(Spinner, {
48
48
  size: SpinnerSize.lg
49
- })), !loading && (data === null || data === void 0 ? void 0 : data.correlationHeatmap) && React.createElement("div", {
49
+ })), !loading && data?.correlationHeatmap && React.createElement("div", {
50
50
  "data-testid": "heatmap-wrapper"
51
51
  }, React.createElement(GridHeader, {
52
- label: "".concat(lang('reference_instrument'), ": ").concat(data === null || data === void 0 ? void 0 : data.correlationHeatmap.baseInstrument.displayName)
52
+ label: `${lang('reference_instrument')}: ${data?.correlationHeatmap.baseInstrument.displayName}`
53
53
  }), React.createElement(HeatmapGrid, {
54
54
  data: data,
55
55
  headerData: headerData
@@ -1 +1 @@
1
- {"version":3,"file":"Heatmap.js","names":["useQuery","ChartError","Spinner","SpinnerSize","useLocale","classnames","React","getCorrelationHeatmap","heatmapGridHeader","GridHeader","GridLegend","HeatmapGrid","Heatmap","_ref","division","instruments","heatmapTimeUnits","timeSpans","lang","loading","data","error","variables","fetchPolicy","headerData","filter","_ref2","id","length","includes","showError","createElement","Fragment","className","undefined","size","lg","correlationHeatmap","label","concat","baseInstrument","displayName"],"sources":["../../../../../src/CorrelationWidget/components/Heatmap/Heatmap.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { ChartError, Spinner, SpinnerSize } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCorrelationHeatmap } from '../../../gql/getCorrelationHeatmap';\nimport type {\n GetCorrelationHeatmapQuery,\n GetCorrelationHeatmapQueryVariables,\n} from '../../../gql/types/graphql';\nimport { heatmapGridHeader } from '../../config';\nimport type { HeatmapProps } from '../../types';\nimport { GridHeader, GridLegend } from '../Grid';\nimport { HeatmapGrid } from './HeatmapGrid';\n\nconst Heatmap = ({\n division,\n instruments,\n heatmapTimeUnits: timeSpans,\n}: HeatmapProps) => {\n const { lang } = useLocale();\n const { loading, data, error } = useQuery<\n GetCorrelationHeatmapQuery,\n GetCorrelationHeatmapQueryVariables\n >(getCorrelationHeatmap, {\n variables: {\n division,\n instruments,\n timeSpans,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const headerData = heatmapGridHeader.filter(({ id }) =>\n timeSpans?.length! > 0 ? timeSpans?.includes(id) : id\n );\n\n const showError =\n error ||\n (instruments && instruments.length === 1) ||\n (timeSpans && timeSpans.length === 1);\n\n return (\n <>\n {!showError && (\n <>\n <div\n className={classnames('lw-flex lw-flex-col', {\n 'lw-min-h-[580px]': timeSpans === undefined,\n })}\n >\n {loading && (\n <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[500px]': timeSpans === undefined,\n 'lw-h-[200px]': timeSpans !== undefined,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data?.correlationHeatmap && (\n <div data-testid=\"heatmap-wrapper\">\n <GridHeader\n label={`${lang('reference_instrument')}: ${data?.correlationHeatmap.baseInstrument.displayName}`}\n />\n <HeatmapGrid data={data} headerData={headerData} />\n </div>\n )}\n </div>\n <GridLegend />\n </>\n )}\n {!loading && showError && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { Heatmap };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,UAAU,EAAEC,OAAO,EAAEC,WAAW,QAAQ,2BAA2B;AAC5E,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,qBAAqB,QAAQ,oCAAoC;AAK1E,SAASC,iBAAiB,QAAQ,cAAc;AAEhD,SAASC,UAAU,EAAEC,UAAU,QAAQ,SAAS;AAChD,SAASC,WAAW,QAAQ,eAAe;AAE3C,MAAMC,OAAO,GAAGC,IAAA,IAII;EAAA,IAJH;IACfC,QAAQ;IACRC,WAAW;IACXC,gBAAgB,EAAEC;EACN,CAAC,GAAAJ,IAAA;EACb,MAAM;IAAEK;EAAK,CAAC,GAAGd,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEe,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGrB,QAAQ,CAGvCO,qBAAqB,EAAE;IACvBe,SAAS,EAAE;MACTR,QAAQ;MACRC,WAAW;MACXE;IACF,CAAC;IACDM,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAGhB,iBAAiB,CAACiB,MAAM,CAACC,KAAA;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAD,KAAA;IAAA,OACjD,CAAAT,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEW,MAAM,IAAI,CAAC,GAAGX,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEY,QAAQ,CAACF,EAAE,CAAC,GAAGA,EAAE;EAAA,CACvD,CAAC;EAED,MAAMG,SAAS,GACbT,KAAK,IACJN,WAAW,IAAIA,WAAW,CAACa,MAAM,KAAK,CAAE,IACxCX,SAAS,IAAIA,SAAS,CAACW,MAAM,KAAK,CAAE;EAEvC,OACEtB,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA0B,QAAA,QACG,CAACF,SAAS,IACTxB,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA0B,QAAA,QACE1B,KAAA,CAAAyB,aAAA;IACEE,SAAS,EAAE5B,UAAU,CAAC,qBAAqB,EAAE;MAC3C,kBAAkB,EAAEY,SAAS,KAAKiB;IACpC,CAAC;EAAE,GAEFf,OAAO,IACNb,KAAA,CAAAyB,aAAA;IACEE,SAAS,EAAE5B,UAAU,CACnB,sFAAsF,EACtF;MACE,cAAc,EAAEY,SAAS,KAAKiB,SAAS;MACvC,cAAc,EAAEjB,SAAS,KAAKiB;IAChC,CACF;EAAE,GAEF5B,KAAA,CAAAyB,aAAA,CAAC7B,OAAO;IAACiC,IAAI,EAAEhC,WAAW,CAACiC;EAAG,CAAE,CAC7B,CACN,EACA,CAACjB,OAAO,KAAIC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,kBAAkB,KACnC/B,KAAA,CAAAyB,aAAA;IAAK,eAAY;EAAiB,GAChCzB,KAAA,CAAAyB,aAAA,CAACtB,UAAU;IACT6B,KAAK,KAAAC,MAAA,CAAKrB,IAAI,CAAC,sBAAsB,CAAC,QAAAqB,MAAA,CAAKnB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,kBAAkB,CAACG,cAAc,CAACC,WAAW;EAAG,CAClG,CAAC,EACFnC,KAAA,CAAAyB,aAAA,CAACpB,WAAW;IAACS,IAAI,EAAEA,IAAK;IAACI,UAAU,EAAEA;EAAW,CAAE,CAC/C,CAEJ,CAAC,EACNlB,KAAA,CAAAyB,aAAA,CAACrB,UAAU,MAAE,CACb,CACH,EACA,CAACS,OAAO,IAAIW,SAAS,IACpBxB,KAAA,CAAAyB,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChH3B,KAAA,CAAAyB,aAAA,CAAC9B,UAAU,MAAE,CACV,CAEP,CAAC;AAEP,CAAC;AAED,SAASW,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"Heatmap.js","names":["useQuery","ChartError","Spinner","SpinnerSize","useLocale","classnames","React","getCorrelationHeatmap","heatmapGridHeader","GridHeader","GridLegend","HeatmapGrid","Heatmap","_ref","division","instruments","heatmapTimeUnits","timeSpans","lang","loading","data","error","variables","fetchPolicy","headerData","filter","_ref2","id","length","includes","showError","createElement","Fragment","className","undefined","size","lg","correlationHeatmap","label","baseInstrument","displayName"],"sources":["../../../../../src/CorrelationWidget/components/Heatmap/Heatmap.tsx"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { ChartError, Spinner, SpinnerSize } from '@oanda/labs-widget-common';\nimport { useLocale } from '@oanda/mono-i18n';\nimport classnames from 'classnames';\nimport React from 'react';\n\nimport { getCorrelationHeatmap } from '../../../gql/getCorrelationHeatmap';\nimport type {\n GetCorrelationHeatmapQuery,\n GetCorrelationHeatmapQueryVariables,\n} from '../../../gql/types/graphql';\nimport { heatmapGridHeader } from '../../config';\nimport type { HeatmapProps } from '../../types';\nimport { GridHeader, GridLegend } from '../Grid';\nimport { HeatmapGrid } from './HeatmapGrid';\n\nconst Heatmap = ({\n division,\n instruments,\n heatmapTimeUnits: timeSpans,\n}: HeatmapProps) => {\n const { lang } = useLocale();\n const { loading, data, error } = useQuery<\n GetCorrelationHeatmapQuery,\n GetCorrelationHeatmapQueryVariables\n >(getCorrelationHeatmap, {\n variables: {\n division,\n instruments,\n timeSpans,\n },\n fetchPolicy: 'cache-and-network',\n });\n\n const headerData = heatmapGridHeader.filter(({ id }) =>\n timeSpans?.length! > 0 ? timeSpans?.includes(id) : id\n );\n\n const showError =\n error ||\n (instruments && instruments.length === 1) ||\n (timeSpans && timeSpans.length === 1);\n\n return (\n <>\n {!showError && (\n <>\n <div\n className={classnames('lw-flex lw-flex-col lw-text-text-primary', {\n 'lw-min-h-[580px]': timeSpans === undefined,\n })}\n >\n {loading && (\n <div\n className={classnames(\n 'lw-flex lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary',\n {\n 'lw-h-[500px]': timeSpans === undefined,\n 'lw-h-[200px]': timeSpans !== undefined,\n }\n )}\n >\n <Spinner size={SpinnerSize.lg} />\n </div>\n )}\n {!loading && data?.correlationHeatmap && (\n <div data-testid=\"heatmap-wrapper\">\n <GridHeader\n label={`${lang('reference_instrument')}: ${data?.correlationHeatmap.baseInstrument.displayName}`}\n />\n <HeatmapGrid data={data} headerData={headerData} />\n </div>\n )}\n </div>\n <GridLegend />\n </>\n )}\n {!loading && showError && (\n <div className=\"lw-flex lw-h-[425px] lw-w-full lw-items-center lw-border lw-border-solid lw-border-border-primary\">\n <ChartError />\n </div>\n )}\n </>\n );\n};\n\nexport { Heatmap };\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,UAAU,EAAEC,OAAO,EAAEC,WAAW,QAAQ,2BAA2B;AAC5E,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,KAAK,MAAM,OAAO;AAEzB,SAASC,qBAAqB,QAAQ,oCAAoC;AAK1E,SAASC,iBAAiB,QAAQ,cAAc;AAEhD,SAASC,UAAU,EAAEC,UAAU,QAAQ,SAAS;AAChD,SAASC,WAAW,QAAQ,eAAe;AAE3C,MAAMC,OAAO,GAAGC,IAAA,IAII;EAAA,IAJH;IACfC,QAAQ;IACRC,WAAW;IACXC,gBAAgB,EAAEC;EACN,CAAC,GAAAJ,IAAA;EACb,MAAM;IAAEK;EAAK,CAAC,GAAGd,SAAS,CAAC,CAAC;EAC5B,MAAM;IAAEe,OAAO;IAAEC,IAAI;IAAEC;EAAM,CAAC,GAAGrB,QAAQ,CAGvCO,qBAAqB,EAAE;IACvBe,SAAS,EAAE;MACTR,QAAQ;MACRC,WAAW;MACXE;IACF,CAAC;IACDM,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAGhB,iBAAiB,CAACiB,MAAM,CAACC,KAAA;IAAA,IAAC;MAAEC;IAAG,CAAC,GAAAD,KAAA;IAAA,OACjDT,SAAS,EAAEW,MAAM,GAAI,CAAC,GAAGX,SAAS,EAAEY,QAAQ,CAACF,EAAE,CAAC,GAAGA,EAAE;EAAA,CACvD,CAAC;EAED,MAAMG,SAAS,GACbT,KAAK,IACJN,WAAW,IAAIA,WAAW,CAACa,MAAM,KAAK,CAAE,IACxCX,SAAS,IAAIA,SAAS,CAACW,MAAM,KAAK,CAAE;EAEvC,OACEtB,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA0B,QAAA,QACG,CAACF,SAAS,IACTxB,KAAA,CAAAyB,aAAA,CAAAzB,KAAA,CAAA0B,QAAA,QACE1B,KAAA,CAAAyB,aAAA;IACEE,SAAS,EAAE5B,UAAU,CAAC,0CAA0C,EAAE;MAChE,kBAAkB,EAAEY,SAAS,KAAKiB;IACpC,CAAC;EAAE,GAEFf,OAAO,IACNb,KAAA,CAAAyB,aAAA;IACEE,SAAS,EAAE5B,UAAU,CACnB,sFAAsF,EACtF;MACE,cAAc,EAAEY,SAAS,KAAKiB,SAAS;MACvC,cAAc,EAAEjB,SAAS,KAAKiB;IAChC,CACF;EAAE,GAEF5B,KAAA,CAAAyB,aAAA,CAAC7B,OAAO;IAACiC,IAAI,EAAEhC,WAAW,CAACiC;EAAG,CAAE,CAC7B,CACN,EACA,CAACjB,OAAO,IAAIC,IAAI,EAAEiB,kBAAkB,IACnC/B,KAAA,CAAAyB,aAAA;IAAK,eAAY;EAAiB,GAChCzB,KAAA,CAAAyB,aAAA,CAACtB,UAAU;IACT6B,KAAK,EAAE,GAAGpB,IAAI,CAAC,sBAAsB,CAAC,KAAKE,IAAI,EAAEiB,kBAAkB,CAACE,cAAc,CAACC,WAAW;EAAG,CAClG,CAAC,EACFlC,KAAA,CAAAyB,aAAA,CAACpB,WAAW;IAACS,IAAI,EAAEA,IAAK;IAACI,UAAU,EAAEA;EAAW,CAAE,CAC/C,CAEJ,CAAC,EACNlB,KAAA,CAAAyB,aAAA,CAACrB,UAAU,MAAE,CACb,CACH,EACA,CAACS,OAAO,IAAIW,SAAS,IACpBxB,KAAA,CAAAyB,aAAA;IAAKE,SAAS,EAAC;EAAmG,GAChH3B,KAAA,CAAAyB,aAAA,CAAC9B,UAAU,MAAE,CACV,CAEP,CAAC;AAEP,CAAC;AAED,SAASW,OAAO","ignoreList":[]}