@haniffalab/cherita-react 1.2.0-dev.2025-05-21.e8f5ce54 → 1.2.0-dev.2025-05-21.e57ef5f2

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 (75) hide show
  1. package/dist/cjs/components/dotplot/Dotplot.js +26 -19
  2. package/dist/cjs/components/dotplot/DotplotControls.js +17 -19
  3. package/dist/cjs/components/full-page/FullPage.js +9 -7
  4. package/dist/cjs/components/full-page/FullPagePseudospatial.js +9 -7
  5. package/dist/cjs/components/heatmap/Heatmap.js +22 -13
  6. package/dist/cjs/components/matrixplot/Matrixplot.js +22 -13
  7. package/dist/cjs/components/obs-list/ObsItem.js +37 -29
  8. package/dist/cjs/components/obs-list/ObsList.js +47 -44
  9. package/dist/cjs/components/obsm-list/ObsmList.js +9 -6
  10. package/dist/cjs/components/offcanvas/index.js +13 -9
  11. package/dist/cjs/components/pseudospatial/Pseudospatial.js +61 -53
  12. package/dist/cjs/components/pseudospatial/PseudospatialToolbar.js +17 -11
  13. package/dist/cjs/components/scatterplot/Scatterplot.js +52 -52
  14. package/dist/cjs/components/scatterplot/ScatterplotControls.js +3 -3
  15. package/dist/cjs/components/scatterplot/SpatialControls.js +4 -4
  16. package/dist/cjs/components/search-bar/SearchBar.js +12 -10
  17. package/dist/cjs/components/search-bar/SearchInfo.js +14 -13
  18. package/dist/cjs/components/search-bar/SearchResults.js +16 -14
  19. package/dist/cjs/components/var-list/VarItem.js +10 -7
  20. package/dist/cjs/components/var-list/VarList.js +14 -9
  21. package/dist/cjs/components/var-list/VarListToolbar.js +1 -2
  22. package/dist/cjs/components/var-list/VarSet.js +1 -2
  23. package/dist/cjs/components/violin/Violin.js +44 -35
  24. package/dist/cjs/context/DatasetContext.js +17 -11
  25. package/dist/cjs/context/FilterContext.js +9 -8
  26. package/dist/cjs/context/SettingsContext.js +169 -237
  27. package/dist/cjs/context/ZarrDataContext.js +1 -2
  28. package/dist/cjs/helpers/color-helper.js +3 -3
  29. package/dist/cjs/helpers/zarr-helper.js +15 -12
  30. package/dist/cjs/utils/Filter.js +13 -9
  31. package/dist/cjs/utils/Histogram.js +4 -3
  32. package/dist/cjs/utils/ImageViewer.js +1 -2
  33. package/dist/cjs/utils/Legend.js +3 -3
  34. package/dist/cjs/utils/LoadingIndicators.js +1 -1
  35. package/dist/cjs/utils/VirtualizedList.js +16 -13
  36. package/dist/cjs/utils/errors.js +20 -22
  37. package/dist/cjs/utils/requests.js +13 -10
  38. package/dist/cjs/utils/zarrData.js +12 -8
  39. package/dist/css/cherita.css +13 -9
  40. package/dist/css/cherita.css.map +1 -1
  41. package/dist/esm/components/dotplot/Dotplot.js +25 -17
  42. package/dist/esm/components/dotplot/DotplotControls.js +16 -17
  43. package/dist/esm/components/full-page/FullPage.js +8 -5
  44. package/dist/esm/components/full-page/FullPagePseudospatial.js +8 -5
  45. package/dist/esm/components/heatmap/Heatmap.js +21 -11
  46. package/dist/esm/components/matrixplot/Matrixplot.js +21 -11
  47. package/dist/esm/components/obs-list/ObsItem.js +36 -27
  48. package/dist/esm/components/obs-list/ObsList.js +46 -42
  49. package/dist/esm/components/obsm-list/ObsmList.js +8 -4
  50. package/dist/esm/components/offcanvas/index.js +13 -9
  51. package/dist/esm/components/pseudospatial/Pseudospatial.js +60 -51
  52. package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +16 -9
  53. package/dist/esm/components/scatterplot/Scatterplot.js +51 -50
  54. package/dist/esm/components/scatterplot/ScatterplotControls.js +2 -1
  55. package/dist/esm/components/scatterplot/SpatialControls.js +3 -2
  56. package/dist/esm/components/search-bar/SearchBar.js +11 -8
  57. package/dist/esm/components/search-bar/SearchInfo.js +13 -11
  58. package/dist/esm/components/search-bar/SearchResults.js +15 -12
  59. package/dist/esm/components/var-list/VarItem.js +9 -5
  60. package/dist/esm/components/var-list/VarList.js +13 -7
  61. package/dist/esm/components/violin/Violin.js +43 -33
  62. package/dist/esm/context/DatasetContext.js +16 -9
  63. package/dist/esm/context/FilterContext.js +8 -6
  64. package/dist/esm/context/SettingsContext.js +168 -235
  65. package/dist/esm/helpers/color-helper.js +3 -3
  66. package/dist/esm/helpers/zarr-helper.js +15 -12
  67. package/dist/esm/utils/Filter.js +13 -9
  68. package/dist/esm/utils/Histogram.js +4 -3
  69. package/dist/esm/utils/Legend.js +2 -1
  70. package/dist/esm/utils/LoadingIndicators.js +1 -1
  71. package/dist/esm/utils/VirtualizedList.js +15 -11
  72. package/dist/esm/utils/errors.js +20 -22
  73. package/dist/esm/utils/requests.js +13 -10
  74. package/dist/esm/utils/zarrData.js +12 -8
  75. package/package.json +4 -2
@@ -1,3 +1,8 @@
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
6
  import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
2
7
  import { library } from "@fortawesome/fontawesome-svg-core";
3
8
  import { faSliders } from "@fortawesome/free-solid-svg-icons";
@@ -15,6 +20,7 @@ import { LoadingSpinner } from "../../utils/LoadingIndicators";
15
20
  import { useDebouncedFetch } from "../../utils/requests";
16
21
  library.add(faSliders);
17
22
  function usePseudospatialData(plotType) {
23
+ var _settings$selectedVar5, _settings$selectedVar6, _settings$selectedVar7, _settings$selectedVar8;
18
24
  const ENDPOINT = "pseudospatial";
19
25
  const dataset = useDataset();
20
26
  const settings = useSettings();
@@ -35,40 +41,49 @@ function usePseudospatialData(plotType) {
35
41
  }, [dataset.url, settings.pseudospatial.maskSet, settings.pseudospatial.maskValues, dataset.varNamesCol, isSliced, obsIndices]);
36
42
  const getPlotParams = useCallback(() => {
37
43
  if (plotType === PLOT_TYPES.GENE) {
38
- return {
39
- varKey: settings.selectedVar?.isSet ? {
40
- name: settings.selectedVar?.name,
41
- indices: settings.selectedVar?.vars.map(v => v.index)
42
- } : settings.selectedVar?.index,
43
- ...(settings.sliceBy.obs ? {
44
- obsCol: settings.selectedObs,
45
- obsValues: !settings.selectedObs?.omit.length ? null : _.difference(_.values(settings.selectedObs?.codes), settings.selectedObs?.omit).map(c => settings.selectedObs?.codesMap[c])
46
- } : {})
47
- };
44
+ var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3, _settings$selectedVar4, _settings$selectedObs, _settings$selectedObs2, _settings$selectedObs3;
45
+ return _objectSpread({
46
+ varKey: (_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet ? {
47
+ name: (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.name,
48
+ indices: (_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars.map(v => v.index)
49
+ } : (_settings$selectedVar4 = settings.selectedVar) === null || _settings$selectedVar4 === void 0 ? void 0 : _settings$selectedVar4.index
50
+ }, settings.sliceBy.obs ? {
51
+ obsCol: settings.selectedObs,
52
+ obsValues: !((_settings$selectedObs = settings.selectedObs) !== null && _settings$selectedObs !== void 0 && _settings$selectedObs.omit.length) ? null : _.difference(_.values((_settings$selectedObs2 = settings.selectedObs) === null || _settings$selectedObs2 === void 0 ? void 0 : _settings$selectedObs2.codes), (_settings$selectedObs3 = settings.selectedObs) === null || _settings$selectedObs3 === void 0 ? void 0 : _settings$selectedObs3.omit).map(c => {
53
+ var _settings$selectedObs4;
54
+ return (_settings$selectedObs4 = settings.selectedObs) === null || _settings$selectedObs4 === void 0 ? void 0 : _settings$selectedObs4.codesMap[c];
55
+ })
56
+ } : {});
48
57
  } else if (plotType === PLOT_TYPES.CATEGORICAL) {
58
+ var _settings$selectedObs5, _settings$selectedObs6, _settings$selectedObs7;
49
59
  return {
50
60
  obsCol: settings.selectedObs,
51
- obsValues: !settings.selectedObs?.omit.length ? null : _.difference(_.values(settings.selectedObs?.codes), settings.selectedObs?.omit).map(c => settings.selectedObs?.codesMap[c]),
61
+ obsValues: !((_settings$selectedObs5 = settings.selectedObs) !== null && _settings$selectedObs5 !== void 0 && _settings$selectedObs5.omit.length) ? null : _.difference(_.values((_settings$selectedObs6 = settings.selectedObs) === null || _settings$selectedObs6 === void 0 ? void 0 : _settings$selectedObs6.codes), (_settings$selectedObs7 = settings.selectedObs) === null || _settings$selectedObs7 === void 0 ? void 0 : _settings$selectedObs7.omit).map(c => {
62
+ var _settings$selectedObs8;
63
+ return (_settings$selectedObs8 = settings.selectedObs) === null || _settings$selectedObs8 === void 0 ? void 0 : _settings$selectedObs8.codesMap[c];
64
+ }),
52
65
  mode: settings.pseudospatial.categoricalMode
53
66
  };
54
67
  } else if (plotType === "continuous") {
68
+ var _settings$selectedObs9, _settings$selectedObs0, _settings$selectedObs1;
55
69
  return {
56
70
  obsCol: settings.selectedObs,
57
- obsValues: !settings.selectedObs?.omit.length ? null : _.difference(_.values(settings.selectedObs?.codes), settings.selectedObs?.omit).map(c => settings.selectedObs?.codesMap[c])
71
+ obsValues: !((_settings$selectedObs9 = settings.selectedObs) !== null && _settings$selectedObs9 !== void 0 && _settings$selectedObs9.omit.length) ? null : _.difference(_.values((_settings$selectedObs0 = settings.selectedObs) === null || _settings$selectedObs0 === void 0 ? void 0 : _settings$selectedObs0.codes), (_settings$selectedObs1 = settings.selectedObs) === null || _settings$selectedObs1 === void 0 ? void 0 : _settings$selectedObs1.omit).map(c => {
72
+ var _settings$selectedObs10;
73
+ return (_settings$selectedObs10 = settings.selectedObs) === null || _settings$selectedObs10 === void 0 ? void 0 : _settings$selectedObs10.codesMap[c];
74
+ })
58
75
  };
59
76
  }
60
- }, [settings.pseudospatial.categoricalMode, settings.selectedObs, settings.selectedVar?.index, settings.selectedVar?.isSet, settings.selectedVar?.name, settings.selectedVar?.vars, settings.sliceBy.obs, plotType]);
77
+ }, [settings.pseudospatial.categoricalMode, settings.selectedObs, (_settings$selectedVar5 = settings.selectedVar) === null || _settings$selectedVar5 === void 0 ? void 0 : _settings$selectedVar5.index, (_settings$selectedVar6 = settings.selectedVar) === null || _settings$selectedVar6 === void 0 ? void 0 : _settings$selectedVar6.isSet, (_settings$selectedVar7 = settings.selectedVar) === null || _settings$selectedVar7 === void 0 ? void 0 : _settings$selectedVar7.name, (_settings$selectedVar8 = settings.selectedVar) === null || _settings$selectedVar8 === void 0 ? void 0 : _settings$selectedVar8.vars, settings.sliceBy.obs, plotType]);
61
78
  const params = useMemo(() => {
62
- return {
63
- ...baseParams,
64
- ...getPlotParams()
65
- };
79
+ return _objectSpread(_objectSpread({}, baseParams), getPlotParams());
66
80
  }, [baseParams, getPlotParams]);
67
81
  return useDebouncedFetch(ENDPOINT + "/" + plotType, params, 500, {
68
82
  enabled: !!plotType && !!settings.pseudospatial.maskSet
69
83
  });
70
84
  }
71
85
  export function Pseudospatial(_ref) {
86
+ var _settings$selectedObs14, _layout$coloraxis3, _layout$coloraxis4;
72
87
  let {
73
88
  showLegend = true,
74
89
  sharedScaleRange = false,
@@ -85,21 +100,21 @@ export function Pseudospatial(_ref) {
85
100
  } = useColor();
86
101
  const colorscale = useRef(settings.controls.colorScale);
87
102
  useEffect(() => {
88
- setPlotType(settings.colorEncoding === COLOR_ENCODINGS.VAR ? PLOT_TYPES.GENE : settings.selectedObs?.type === OBS_TYPES.CATEGORICAL || settings.selectedObs?.type === OBS_TYPES.BOOLEAN ? PLOT_TYPES.CATEGORICAL : settings.selectedObs?.type === OBS_TYPES.CONTINUOUS ? PLOT_TYPES.CONTINUOUS : PLOT_TYPES.MASKS);
89
- }, [settings.colorEncoding, settings.selectedObs?.type, setPlotType]);
103
+ var _settings$selectedObs11, _settings$selectedObs12, _settings$selectedObs13;
104
+ setPlotType(settings.colorEncoding === COLOR_ENCODINGS.VAR ? PLOT_TYPES.GENE : ((_settings$selectedObs11 = settings.selectedObs) === null || _settings$selectedObs11 === void 0 ? void 0 : _settings$selectedObs11.type) === OBS_TYPES.CATEGORICAL || ((_settings$selectedObs12 = settings.selectedObs) === null || _settings$selectedObs12 === void 0 ? void 0 : _settings$selectedObs12.type) === OBS_TYPES.BOOLEAN ? PLOT_TYPES.CATEGORICAL : ((_settings$selectedObs13 = settings.selectedObs) === null || _settings$selectedObs13 === void 0 ? void 0 : _settings$selectedObs13.type) === OBS_TYPES.CONTINUOUS ? PLOT_TYPES.CONTINUOUS : PLOT_TYPES.MASKS);
105
+ }, [settings.colorEncoding, (_settings$selectedObs14 = settings.selectedObs) === null || _settings$selectedObs14 === void 0 ? void 0 : _settings$selectedObs14.type, setPlotType]);
90
106
  const updateColorscale = useCallback(colorscale => {
91
107
  setLayout(l => {
92
- return {
93
- ...l,
94
- coloraxis: {
95
- ...l.coloraxis,
108
+ return _objectSpread(_objectSpread({}, l), {}, {
109
+ coloraxis: _objectSpread(_objectSpread({}, l.coloraxis), {}, {
96
110
  colorscale: colorscale
97
- }
98
- };
111
+ })
112
+ });
99
113
  });
100
114
  setData(d => {
101
- const min = layout?.coloraxis?.cmin;
102
- const max = layout?.coloraxis?.cmax;
115
+ var _layout$coloraxis, _layout$coloraxis2;
116
+ const min = layout === null || layout === void 0 || (_layout$coloraxis = layout.coloraxis) === null || _layout$coloraxis === void 0 ? void 0 : _layout$coloraxis.cmin;
117
+ const max = layout === null || layout === void 0 || (_layout$coloraxis2 = layout.coloraxis) === null || _layout$coloraxis2 === void 0 ? void 0 : _layout$coloraxis2.cmax;
103
118
  return _.map(d, trace => {
104
119
  const v = trace.meta.value;
105
120
  if (v === null) {
@@ -108,17 +123,15 @@ export function Pseudospatial(_ref) {
108
123
  const color = rgbToHex(getColor({
109
124
  value: (v - min) / (max - min)
110
125
  }));
111
- return {
112
- ...trace,
126
+ return _objectSpread(_objectSpread({}, trace), {}, {
113
127
  fillcolor: color,
114
- line: {
115
- ...trace.line,
128
+ line: _objectSpread(_objectSpread({}, trace.line), {}, {
116
129
  color: color
117
- }
118
- };
130
+ })
131
+ });
119
132
  });
120
133
  });
121
- }, [getColor, layout?.coloraxis?.cmax, layout?.coloraxis?.cmin]);
134
+ }, [getColor, layout === null || layout === void 0 || (_layout$coloraxis3 = layout.coloraxis) === null || _layout$coloraxis3 === void 0 ? void 0 : _layout$coloraxis3.cmax, layout === null || layout === void 0 || (_layout$coloraxis4 = layout.coloraxis) === null || _layout$coloraxis4 === void 0 ? void 0 : _layout$coloraxis4.cmin]);
122
135
  const {
123
136
  fetchedData,
124
137
  isPending,
@@ -153,40 +166,36 @@ export function Pseudospatial(_ref) {
153
166
  const color = rgbToHex(getColor({
154
167
  value: (v - min) / (max - min)
155
168
  }));
156
- return {
157
- ...trace,
169
+ return _objectSpread(_objectSpread({}, trace), {}, {
158
170
  fillcolor: color,
159
- line: {
160
- ...trace.line,
171
+ line: _objectSpread(_objectSpread({}, trace.line), {}, {
161
172
  color: color
162
- }
163
- };
173
+ })
174
+ });
164
175
  });
165
176
  });
166
177
  setLayout(l => {
167
- return {
168
- ...l,
169
- coloraxis: {
170
- ...l.coloraxis,
178
+ return _objectSpread(_objectSpread({}, l), {}, {
179
+ coloraxis: _objectSpread(_objectSpread({}, l.coloraxis), {}, {
171
180
  cmin: min,
172
181
  cmax: max
173
- }
174
- };
182
+ })
183
+ });
175
184
  });
176
185
  }
177
186
  }, [settings.controls.range, settings.controls.valueMax, settings.controls.valueMin, settings.controls.valueRange, getColor, sharedScaleRange]);
178
187
  const hasSelections = !!plotType && !!settings.pseudospatial.maskSet;
179
188
  const faSlidersPath = faSliders.icon[4];
180
189
  if (!serverError) {
190
+ var _layout$coloraxis5, _layout$coloraxis6;
181
191
  return /*#__PURE__*/React.createElement("div", {
182
192
  className: "cherita-pseudospatial"
183
193
  }, /*#__PURE__*/React.createElement(React.Fragment, null, hasSelections && isPending && /*#__PURE__*/React.createElement(LoadingSpinner, null), hasSelections && /*#__PURE__*/React.createElement(Plot, {
184
194
  data: data,
185
- layout: {
186
- ...layout,
195
+ layout: _objectSpread(_objectSpread({}, layout), {}, {
187
196
  autosize: true,
188
197
  height: height
189
- },
198
+ }),
190
199
  useResizeHandler: true,
191
200
  className: "cherita-pseudospatial-plot",
192
201
  config: {
@@ -205,8 +214,8 @@ export function Pseudospatial(_ref) {
205
214
  }]
206
215
  }
207
216
  }), hasSelections && showLegend && /*#__PURE__*/React.createElement(Legend, {
208
- min: layout?.coloraxis?.cmin,
209
- max: layout?.coloraxis?.cmax,
217
+ min: layout === null || layout === void 0 || (_layout$coloraxis5 = layout.coloraxis) === null || _layout$coloraxis5 === void 0 ? void 0 : _layout$coloraxis5.cmin,
218
+ max: layout === null || layout === void 0 || (_layout$coloraxis6 = layout.coloraxis) === null || _layout$coloraxis6 === void 0 ? void 0 : _layout$coloraxis6.cmax,
210
219
  addText: plotType === PLOT_TYPES.GENE ? " - Mean expression" : plotType === PLOT_TYPES.CATEGORICAL ? " - %" : plotType === PLOT_TYPES.CONTINUOUS ? " - Mean value" : ""
211
220
  })));
212
221
  } else {
@@ -1,3 +1,8 @@
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
6
  import React, { useEffect, useState } from "react";
2
7
  import _ from "lodash";
3
8
  import { ButtonGroup, Dropdown, Form } from "react-bootstrap";
@@ -26,6 +31,7 @@ function CategoricalMode() {
26
31
  }, _.capitalize(mode.name)), /*#__PURE__*/React.createElement(Dropdown.Menu, null, modeList));
27
32
  }
28
33
  function MaskSet() {
34
+ var _settings$pseudospati5, _settings$pseudospati6, _maskSets$settings$ps2, _settings$pseudospati7, _settings$pseudospati8, _maskSets$settings$ps3, _settings$pseudospati9;
29
35
  const ENDPOINT = "masks";
30
36
  const dataset = useDataset();
31
37
  const settings = useSettings();
@@ -36,10 +42,9 @@ function MaskSet() {
36
42
  });
37
43
  useEffect(() => {
38
44
  setParams(p => {
39
- return {
40
- ...p,
45
+ return _objectSpread(_objectSpread({}, p), {}, {
41
46
  url: dataset.url
42
- };
47
+ });
43
48
  });
44
49
  }, [dataset.url]);
45
50
  const {
@@ -65,9 +70,10 @@ function MaskSet() {
65
70
  }
66
71
  }, _.capitalize(key)));
67
72
  const handleMaskChange = mask => {
68
- let newMasks = settings.pseudospatial.maskValues || maskSets?.[settings.pseudospatial?.maskSet];
73
+ var _settings$pseudospati, _settings$pseudospati2;
74
+ let newMasks = settings.pseudospatial.maskValues || (maskSets === null || maskSets === void 0 ? void 0 : maskSets[(_settings$pseudospati = settings.pseudospatial) === null || _settings$pseudospati === void 0 ? void 0 : _settings$pseudospati.maskSet]);
69
75
  newMasks = newMasks.includes(mask) ? newMasks.filter(m => m !== mask) : [...newMasks, mask];
70
- if (!_.difference(maskSets?.[settings.pseudospatial?.maskSet], newMasks).length) {
76
+ if (!_.difference(maskSets === null || maskSets === void 0 ? void 0 : maskSets[(_settings$pseudospati2 = settings.pseudospatial) === null || _settings$pseudospati2 === void 0 ? void 0 : _settings$pseudospati2.maskSet], newMasks).length) {
71
77
  newMasks = null;
72
78
  }
73
79
  dispatch({
@@ -76,7 +82,8 @@ function MaskSet() {
76
82
  });
77
83
  };
78
84
  const toggleMasks = () => {
79
- if (!settings.pseudospatial.maskValues || settings.pseudospatial.maskValues?.length === maskSets?.[settings.pseudospatial?.maskSet]?.length) {
85
+ var _settings$pseudospati3, _maskSets$settings$ps, _settings$pseudospati4;
86
+ if (!settings.pseudospatial.maskValues || ((_settings$pseudospati3 = settings.pseudospatial.maskValues) === null || _settings$pseudospati3 === void 0 ? void 0 : _settings$pseudospati3.length) === (maskSets === null || maskSets === void 0 || (_maskSets$settings$ps = maskSets[(_settings$pseudospati4 = settings.pseudospatial) === null || _settings$pseudospati4 === void 0 ? void 0 : _settings$pseudospati4.maskSet]) === null || _maskSets$settings$ps === void 0 ? void 0 : _maskSets$settings$ps.length)) {
80
87
  dispatch({
81
88
  type: "set.pseudospatial.maskValues",
82
89
  maskValues: []
@@ -88,7 +95,7 @@ function MaskSet() {
88
95
  });
89
96
  }
90
97
  };
91
- const masksList = _.map(maskSets?.[settings.pseudospatial?.maskSet], mask => /*#__PURE__*/React.createElement(Dropdown.ItemText, {
98
+ const masksList = _.map(maskSets === null || maskSets === void 0 ? void 0 : maskSets[(_settings$pseudospati5 = settings.pseudospatial) === null || _settings$pseudospati5 === void 0 ? void 0 : _settings$pseudospati5.maskSet], mask => /*#__PURE__*/React.createElement(Dropdown.ItemText, {
92
99
  key: mask
93
100
  }, /*#__PURE__*/React.createElement(Form.Check, {
94
101
  type: "checkbox",
@@ -96,8 +103,8 @@ function MaskSet() {
96
103
  checked: !settings.pseudospatial.maskValues || settings.pseudospatial.maskValues.includes(mask),
97
104
  onChange: () => handleMaskChange(mask)
98
105
  })));
99
- const nMasks = settings.pseudospatial.maskValues ? settings.pseudospatial.maskValues?.length : maskSets?.[settings.pseudospatial?.maskSet]?.length || "No";
100
- const toggleAllChecked = !settings.pseudospatial.maskValues || settings.pseudospatial.maskValues?.length === maskSets?.[settings.pseudospatial?.maskSet]?.length;
106
+ const nMasks = settings.pseudospatial.maskValues ? (_settings$pseudospati6 = settings.pseudospatial.maskValues) === null || _settings$pseudospati6 === void 0 ? void 0 : _settings$pseudospati6.length : (maskSets === null || maskSets === void 0 || (_maskSets$settings$ps2 = maskSets[(_settings$pseudospati7 = settings.pseudospatial) === null || _settings$pseudospati7 === void 0 ? void 0 : _settings$pseudospati7.maskSet]) === null || _maskSets$settings$ps2 === void 0 ? void 0 : _maskSets$settings$ps2.length) || "No";
107
+ const toggleAllChecked = !settings.pseudospatial.maskValues || ((_settings$pseudospati8 = settings.pseudospatial.maskValues) === null || _settings$pseudospati8 === void 0 ? void 0 : _settings$pseudospati8.length) === (maskSets === null || maskSets === void 0 || (_maskSets$settings$ps3 = maskSets[(_settings$pseudospati9 = settings.pseudospatial) === null || _settings$pseudospati9 === void 0 ? void 0 : _settings$pseudospati9.maskSet]) === null || _maskSets$settings$ps3 === void 0 ? void 0 : _maskSets$settings$ps3.length);
101
108
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Dropdown, null, /*#__PURE__*/React.createElement(Dropdown.Toggle, {
102
109
  variant: "light"
103
110
  }, _.capitalize(settings.pseudospatial.maskSet || "Select a mask set")), /*#__PURE__*/React.createElement(Dropdown.Menu, null, /*#__PURE__*/React.createElement(Dropdown.Header, null, "Mask set"), maskSetList)), /*#__PURE__*/React.createElement(Dropdown, null, /*#__PURE__*/React.createElement(Dropdown.Toggle, {
@@ -1,3 +1,8 @@
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
6
  import React, { useCallback, useDeferredValue, useEffect, useMemo, useRef, useState } from "react";
2
7
  import { ScatterplotLayer } from "@deck.gl/layers";
3
8
  import { DeckGL } from "@deck.gl/react";
@@ -29,6 +34,7 @@ const INITIAL_VIEW_STATE = {
29
34
  bearing: 0
30
35
  };
31
36
  export function Scatterplot(_ref) {
37
+ var _settings$selectedObs3, _features$features2, _obsmData$serverError, _xData$serverError, _obsData$serverError, _labelObsData$serverE, _settings$selectedVar, _settings$selectedObs4, _obsmData$data;
32
38
  let {
33
39
  radius = 30,
34
40
  setShowObs,
@@ -73,12 +79,12 @@ export function Scatterplot(_ref) {
73
79
 
74
80
  useEffect(() => {
75
81
  if (!obsmData.isPending && !obsmData.serverError) {
82
+ var _deckRef$current, _deckRef$current2;
76
83
  setIsRendering(true);
77
84
  setData(d => {
78
- return {
79
- ...d,
85
+ return _objectSpread(_objectSpread({}, d), {}, {
80
86
  positions: obsmData.data
81
- };
87
+ });
82
88
  });
83
89
  const mapHelper = new MapHelper();
84
90
  const {
@@ -86,35 +92,34 @@ export function Scatterplot(_ref) {
86
92
  longitude,
87
93
  zoom
88
94
  } = mapHelper.fitBounds(obsmData.data, {
89
- width: deckRef?.current?.deck?.width,
90
- height: deckRef?.current?.deck?.height
95
+ width: deckRef === null || deckRef === void 0 || (_deckRef$current = deckRef.current) === null || _deckRef$current === void 0 || (_deckRef$current = _deckRef$current.deck) === null || _deckRef$current === void 0 ? void 0 : _deckRef$current.width,
96
+ height: deckRef === null || deckRef === void 0 || (_deckRef$current2 = deckRef.current) === null || _deckRef$current2 === void 0 || (_deckRef$current2 = _deckRef$current2.deck) === null || _deckRef$current2 === void 0 ? void 0 : _deckRef$current2.height
91
97
  });
92
98
  setViewState(v => {
93
- return {
94
- ...v,
99
+ return _objectSpread(_objectSpread({}, v), {}, {
95
100
  longitude: longitude,
96
101
  latitude: latitude,
97
102
  zoom: zoom
98
- };
103
+ });
99
104
  });
100
105
  } else if (!obsmData.isPending && obsmData.serverError) {
101
106
  setIsRendering(true);
102
107
  setData(d => {
103
- return {
104
- ...d,
108
+ return _objectSpread(_objectSpread({}, d), {}, {
105
109
  positions: []
106
- };
110
+ });
107
111
  });
108
112
  }
109
113
  }, [settings.selectedObsm, obsmData.data, obsmData.isPending, obsmData.serverError]);
110
114
  const getBounds = useCallback(() => {
115
+ var _deckRef$current3, _deckRef$current4;
111
116
  const {
112
117
  latitude,
113
118
  longitude,
114
119
  zoom
115
120
  } = new MapHelper().fitBounds(data.positions, {
116
- width: deckRef?.current?.deck?.width,
117
- height: deckRef?.current?.deck?.height
121
+ width: deckRef === null || deckRef === void 0 || (_deckRef$current3 = deckRef.current) === null || _deckRef$current3 === void 0 || (_deckRef$current3 = _deckRef$current3.deck) === null || _deckRef$current3 === void 0 ? void 0 : _deckRef$current3.width,
122
+ height: deckRef === null || deckRef === void 0 || (_deckRef$current4 = deckRef.current) === null || _deckRef$current4 === void 0 || (_deckRef$current4 = _deckRef$current4.deck) === null || _deckRef$current4 === void 0 ? void 0 : _deckRef$current4.height
118
123
  });
119
124
  return {
120
125
  latitude,
@@ -128,17 +133,15 @@ export function Scatterplot(_ref) {
128
133
  if (!xData.isPending && !xData.serverError) {
129
134
  // @TODO: add condition to check obs slicing
130
135
  setData(d => {
131
- return {
132
- ...d,
136
+ return _objectSpread(_objectSpread({}, d), {}, {
133
137
  values: xData.data
134
- };
138
+ });
135
139
  });
136
140
  } else if (!xData.isPending && xData.serverError) {
137
141
  setData(d => {
138
- return {
139
- ...d,
142
+ return _objectSpread(_objectSpread({}, d), {}, {
140
143
  values: []
141
- };
144
+ });
142
145
  });
143
146
  }
144
147
  }
@@ -148,44 +151,41 @@ export function Scatterplot(_ref) {
148
151
  setIsRendering(true);
149
152
  if (!obsData.isPending && !obsData.serverError) {
150
153
  setData(d => {
151
- return {
152
- ...d,
154
+ return _objectSpread(_objectSpread({}, d), {}, {
153
155
  values: obsData.data
154
- };
156
+ });
155
157
  });
156
158
  } else if (!obsData.isPending && obsData.serverError) {
157
159
  setData(d => {
158
- return {
159
- ...d,
160
+ return _objectSpread(_objectSpread({}, d), {}, {
160
161
  values: []
161
- };
162
+ });
162
163
  });
163
164
  }
164
165
  } else if (settings.colorEncoding === COLOR_ENCODINGS.VAR && settings.sliceBy.obs) {
165
166
  if (!obsData.isPending && !obsData.serverError) {
166
167
  setData(d => {
167
- return {
168
- ...d,
168
+ return _objectSpread(_objectSpread({}, d), {}, {
169
169
  sliceValues: obsData.data
170
- };
170
+ });
171
171
  });
172
172
  } else if (!obsData.isPending && obsData.serverError) {
173
173
  setData(d => {
174
- return {
175
- ...d,
174
+ return _objectSpread(_objectSpread({}, d), {}, {
176
175
  sliceValues: []
177
- };
176
+ });
178
177
  });
179
178
  }
180
179
  }
181
180
  }, [settings.colorEncoding, obsData.data, obsData.isPending, obsData.serverError, settings.sliceBy.obs]);
182
181
  const isCategorical = useMemo(() => {
183
182
  if (settings.colorEncoding === COLOR_ENCODINGS.OBS) {
184
- return settings.selectedObs?.type === OBS_TYPES.CATEGORICAL || settings.selectedObs?.type === OBS_TYPES.BOOLEAN;
183
+ var _settings$selectedObs, _settings$selectedObs2;
184
+ return ((_settings$selectedObs = settings.selectedObs) === null || _settings$selectedObs === void 0 ? void 0 : _settings$selectedObs.type) === OBS_TYPES.CATEGORICAL || ((_settings$selectedObs2 = settings.selectedObs) === null || _settings$selectedObs2 === void 0 ? void 0 : _settings$selectedObs2.type) === OBS_TYPES.BOOLEAN;
185
185
  } else {
186
186
  return false;
187
187
  }
188
- }, [settings.colorEncoding, settings.selectedObs?.type]);
188
+ }, [settings.colorEncoding, (_settings$selectedObs3 = settings.selectedObs) === null || _settings$selectedObs3 === void 0 ? void 0 : _settings$selectedObs3.type]);
189
189
  useEffect(() => {
190
190
  dispatch({
191
191
  type: "set.controls.valueRange",
@@ -271,17 +271,18 @@ export function Scatterplot(_ref) {
271
271
  const layers = useDeferredValue(mode === ViewMode ? memoizedLayers.reverse() : memoizedLayers); // draw scatterplot on top of polygons when in ViewMode
272
272
 
273
273
  useEffect(() => {
274
- if (!features?.features?.length) {
274
+ var _features$features;
275
+ if (!(features !== null && features !== void 0 && (_features$features = features.features) !== null && _features$features !== void 0 && _features$features.length)) {
275
276
  dispatch({
276
277
  type: "disable.slice.polygons"
277
278
  });
278
279
  }
279
- }, [dispatch, features?.features?.length]);
280
+ }, [dispatch, features === null || features === void 0 || (_features$features2 = features.features) === null || _features$features2 === void 0 ? void 0 : _features$features2.length]);
280
281
  useEffect(() => {
281
282
  dispatch({
282
283
  type: "set.polygons",
283
284
  obsm: settings.selectedObsm,
284
- polygons: features?.features || []
285
+ polygons: (features === null || features === void 0 ? void 0 : features.features) || []
285
286
  });
286
287
  }, [settings.selectedObsm, dispatch, features.features]);
287
288
  function onLayerClick(info) {
@@ -294,9 +295,9 @@ export function Scatterplot(_ref) {
294
295
  const getLabel = function (o, v) {
295
296
  let isVar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
296
297
  if (isVar || o.type === OBS_TYPES.CONTINUOUS) {
297
- return `${o.name}: ${formatNumerical(parseFloat(v))}`;
298
+ return "".concat(o.name, ": ").concat(formatNumerical(parseFloat(v)));
298
299
  } else {
299
- return `${o.name}: ${o.codesMap[v]}`;
300
+ return "".concat(o.name, ": ").concat(o.codesMap[v]);
300
301
  }
301
302
  };
302
303
  const getTooltip = _ref5 => {
@@ -304,15 +305,17 @@ export function Scatterplot(_ref) {
304
305
  object,
305
306
  index
306
307
  } = _ref5;
307
- if (!object || object?.type === "Feature") return;
308
+ if (!object || (object === null || object === void 0 ? void 0 : object.type) === "Feature") return;
308
309
  const text = [];
309
310
  if (settings.colorEncoding === COLOR_ENCODINGS.OBS && settings.selectedObs && !_.some(settings.labelObs, {
310
311
  name: settings.selectedObs.name
311
312
  })) {
312
- text.push(getLabel(settings.selectedObs, obsData.data?.[index]));
313
+ var _obsData$data;
314
+ text.push(getLabel(settings.selectedObs, (_obsData$data = obsData.data) === null || _obsData$data === void 0 ? void 0 : _obsData$data[index]));
313
315
  }
314
316
  if (settings.colorEncoding === COLOR_ENCODINGS.VAR && settings.selectedVar) {
315
- text.push(getLabel(settings.selectedVar, xData.data?.[index], true));
317
+ var _xData$data;
318
+ text.push(getLabel(settings.selectedVar, (_xData$data = xData.data) === null || _xData$data === void 0 ? void 0 : _xData$data[index], true));
316
319
  }
317
320
  if (settings.labelObs.length) {
318
321
  text.push(..._.map(labelObsData.data, (v, k) => {
@@ -326,16 +329,16 @@ export function Scatterplot(_ref) {
326
329
  text: text.length ? _.compact(text).join("\n") : null,
327
330
  className: grayOut ? "tooltip-grayout" : "deck-tooltip",
328
331
  style: !grayOut ? {
329
- "border-left": `3px solid ${rgbToHex(getFillColor(null, {
332
+ "border-left": "3px solid ".concat(rgbToHex(getFillColor(null, {
330
333
  index
331
- }))}`
334
+ })))
332
335
  } : {
333
336
  "border-left": "none"
334
337
  }
335
338
  };
336
339
  };
337
340
  const isPending = (isRendering || xData.isPending || obsmData.isPending) && !obsmData.isPending;
338
- const error = settings.selectedObsm && obsmData.serverError?.length || settings.colorEncoding === COLOR_ENCODINGS.VAR && xData.serverError?.length || settings.colorEncoding === COLOR_ENCODINGS.OBS && obsData.serverError?.length || settings.labelObs.lengh && labelObsData.serverError?.length;
341
+ const error = settings.selectedObsm && ((_obsmData$serverError = obsmData.serverError) === null || _obsmData$serverError === void 0 ? void 0 : _obsmData$serverError.length) || settings.colorEncoding === COLOR_ENCODINGS.VAR && ((_xData$serverError = xData.serverError) === null || _xData$serverError === void 0 ? void 0 : _xData$serverError.length) || settings.colorEncoding === COLOR_ENCODINGS.OBS && ((_obsData$serverError = obsData.serverError) === null || _obsData$serverError === void 0 ? void 0 : _obsData$serverError.length) || settings.labelObs.lengh && ((_labelObsData$serverE = labelObsData.serverError) === null || _labelObsData$serverE === void 0 ? void 0 : _labelObsData$serverE.length);
339
342
  return /*#__PURE__*/React.createElement("div", {
340
343
  className: "cherita-container-scatterplot"
341
344
  }, /*#__PURE__*/React.createElement("div", {
@@ -369,12 +372,10 @@ export function Scatterplot(_ref) {
369
372
  setFeatures: setFeatures,
370
373
  selectedFeatureIndexes: selectedFeatureIndexes,
371
374
  resetBounds: () => setViewState(getBounds()),
372
- increaseZoom: () => setViewState(v => ({
373
- ...v,
375
+ increaseZoom: () => setViewState(v => _objectSpread(_objectSpread({}, v), {}, {
374
376
  zoom: v.zoom + 1
375
377
  })),
376
- decreaseZoom: () => setViewState(v => ({
377
- ...v,
378
+ decreaseZoom: () => setViewState(v => _objectSpread(_objectSpread({}, v), {}, {
378
379
  zoom: v.zoom - 1
379
380
  })),
380
381
  setShowObs: setShowObs,
@@ -389,8 +390,8 @@ export function Scatterplot(_ref) {
389
390
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
390
391
  icon: faTriangleExclamation
391
392
  }), "\xA0Error loading data"), /*#__PURE__*/React.createElement(Toolbox, {
392
- mode: settings.colorEncoding === COLOR_ENCODINGS.VAR ? settings.selectedVar?.name : settings.colorEncoding === COLOR_ENCODINGS.OBS ? settings.selectedObs?.name : null,
393
- obsLength: parseInt(obsmData.data?.length),
393
+ mode: settings.colorEncoding === COLOR_ENCODINGS.VAR ? (_settings$selectedVar = settings.selectedVar) === null || _settings$selectedVar === void 0 ? void 0 : _settings$selectedVar.name : settings.colorEncoding === COLOR_ENCODINGS.OBS ? (_settings$selectedObs4 = settings.selectedObs) === null || _settings$selectedObs4 === void 0 ? void 0 : _settings$selectedObs4.name : null,
394
+ obsLength: parseInt((_obsmData$data = obsmData.data) === null || _obsmData$data === void 0 ? void 0 : _obsmData$data.length),
394
395
  slicedLength: parseInt(slicedLength)
395
396
  })), /*#__PURE__*/React.createElement(Legend, {
396
397
  isCategorical: isCategorical,
@@ -6,10 +6,11 @@ import { COLORSCALES } from "../../constants/colorscales";
6
6
  import { COLOR_ENCODINGS, OBS_TYPES } from "../../constants/constants";
7
7
  import { useSettings, useSettingsDispatch } from "../../context/SettingsContext";
8
8
  export const ScatterplotControls = () => {
9
+ var _settings$selectedObs;
9
10
  const settings = useSettings();
10
11
  const dispatch = useSettingsDispatch();
11
12
  const [sliderValue, setSliderValue] = React.useState(settings.controls.range || [0, 1]);
12
- const isCategorical = settings.colorEncoding === COLOR_ENCODINGS.OBS ? settings.selectedObs?.type === OBS_TYPES.CATEGORICAL : false;
13
+ const isCategorical = settings.colorEncoding === COLOR_ENCODINGS.OBS ? ((_settings$selectedObs = settings.selectedObs) === null || _settings$selectedObs === void 0 ? void 0 : _settings$selectedObs.type) === OBS_TYPES.CATEGORICAL : false;
13
14
  const colormapList = _.keys(COLORSCALES).map(key => /*#__PURE__*/React.createElement(Dropdown.Item, {
14
15
  key: key,
15
16
  active: settings.controls.colorScale === key,
@@ -13,6 +13,7 @@ import { OffcanvasControls } from "../offcanvas";
13
13
  import { ScatterplotControls } from "./ScatterplotControls";
14
14
  import { useSettings, useSettingsDispatch } from "../../context/SettingsContext";
15
15
  export function SpatialControls(_ref) {
16
+ var _features$features;
16
17
  let {
17
18
  mode,
18
19
  setMode,
@@ -140,7 +141,7 @@ export function SpatialControls(_ref) {
140
141
  onSelect: onSelect
141
142
  }, /*#__PURE__*/React.createElement(Dropdown.Toggle, {
142
143
  id: "dropdown-autoclose-outside",
143
- className: `caret-off ${mode === DrawPolygonByDraggingMode || mode === ModifyMode ? "active" : ""}`
144
+ className: "caret-off ".concat(mode === DrawPolygonByDraggingMode || mode === ModifyMode ? "active" : "")
144
145
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
145
146
  icon: faDrawPolygon
146
147
  })), /*#__PURE__*/React.createElement(Dropdown.Menu, null, /*#__PURE__*/React.createElement(Dropdown.Header, null, "Polygon tools"), /*#__PURE__*/React.createElement(Dropdown.Item, {
@@ -158,7 +159,7 @@ export function SpatialControls(_ref) {
158
159
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
159
160
  icon: faTrash,
160
161
  className: "nav-icon"
161
- }), "Delete polygons"))), !!features?.features?.length && polygonControls, /*#__PURE__*/React.createElement(Button, {
162
+ }), "Delete polygons"))), !!(features !== null && features !== void 0 && (_features$features = features.features) !== null && _features$features !== void 0 && _features$features.length) && polygonControls, /*#__PURE__*/React.createElement(Button, {
162
163
  onClick: handleShowControls
163
164
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
164
165
  icon: faSliders
@@ -1,3 +1,8 @@
1
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
2
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
3
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
4
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
6
  import React, { useState } from "react";
2
7
  import CloseIcon from "@mui/icons-material/Close";
3
8
  import SearchIcon from "@mui/icons-material/Search";
@@ -111,9 +116,9 @@ export function SearchModal(_ref2) {
111
116
  className: "flex-column"
112
117
  }, searchVar && /*#__PURE__*/React.createElement(Nav.Item, null, /*#__PURE__*/React.createElement(Nav.Link, {
113
118
  eventKey: FEATURE_TYPE.VAR
114
- }, "Genes", " ", !!varResultsLength && `(${varResultsLength})`)), searchDiseases && /*#__PURE__*/React.createElement(Nav.Item, null, /*#__PURE__*/React.createElement(Nav.Link, {
119
+ }, "Genes", " ", !!varResultsLength && "(".concat(varResultsLength, ")"))), searchDiseases && /*#__PURE__*/React.createElement(Nav.Item, null, /*#__PURE__*/React.createElement(Nav.Link, {
115
120
  eventKey: FEATURE_TYPE.DISEASE
116
- }, "Diseases", " ", !!diseaseResultsLength && `(${diseaseResultsLength})`)))), /*#__PURE__*/React.createElement(Col, {
121
+ }, "Diseases", " ", !!diseaseResultsLength && "(".concat(diseaseResultsLength, ")"))))), /*#__PURE__*/React.createElement(Col, {
117
122
  sm: 9,
118
123
  className: "py-3"
119
124
  }, /*#__PURE__*/React.createElement(Tab.Content, null, searchVar && /*#__PURE__*/React.createElement(Tab.Pane, {
@@ -123,10 +128,9 @@ export function SearchModal(_ref2) {
123
128
  handleSelect: handleSelect,
124
129
  selectedResult: selectedResult.var,
125
130
  setSelectedResult: item => setSelectedResult(prev => {
126
- return {
127
- ...prev,
131
+ return _objectSpread(_objectSpread({}, prev), {}, {
128
132
  var: item
129
- };
133
+ });
130
134
  }),
131
135
  setResultsLength: setVarResultsLength
132
136
  })), searchDiseases && /*#__PURE__*/React.createElement(Tab.Pane, {
@@ -135,10 +139,9 @@ export function SearchModal(_ref2) {
135
139
  text: text,
136
140
  selectedResult: selectedResult.disease,
137
141
  setSelectedResult: item => setSelectedResult(prev => {
138
- return {
139
- ...prev,
142
+ return _objectSpread(_objectSpread({}, prev), {}, {
140
143
  disease: item
141
- };
144
+ });
142
145
  }),
143
146
  setResultsLength: setDiseaseResultsLength
144
147
  }))))))), /*#__PURE__*/React.createElement(Col, {