@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, { useState, useEffect } from "react";
2
7
  import { faPlus } from "@fortawesome/free-solid-svg-icons";
3
8
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
@@ -20,10 +25,9 @@ export function VarInfo(_ref) {
20
25
  });
21
26
  useEffect(() => {
22
27
  setParams(p => {
23
- return {
24
- ...p,
28
+ return _objectSpread(_objectSpread({}, p), {}, {
25
29
  geneName: varItem.name
26
- };
30
+ });
27
31
  });
28
32
  }, [varItem.name]);
29
33
  const {
@@ -34,7 +38,7 @@ export function VarInfo(_ref) {
34
38
  refetchOnMount: false,
35
39
  enabled: !!dataset.diseaseDatasets.length
36
40
  });
37
- const hasDiseaseInfo = !isPending && !serverError && !!fetchedData?.length;
41
+ const hasDiseaseInfo = !isPending && !serverError && !!(fetchedData !== null && fetchedData !== void 0 && fetchedData.length);
38
42
  return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h5", null, varItem.name), !!dataset.diseaseDatasets.length && isPending && /*#__PURE__*/React.createElement("p", null, "Loading..."), hasDiseaseInfo && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h6", null, "Associated diseases"), /*#__PURE__*/React.createElement(VarDiseaseInfo, {
39
43
  data: fetchedData
40
44
  })));
@@ -54,13 +58,12 @@ const useVarMean = function (varKeys) {
54
58
  });
55
59
  useEffect(() => {
56
60
  setParams(p => {
57
- return {
58
- ...p,
61
+ return _objectSpread(_objectSpread({}, p), {}, {
59
62
  varKeys: _.map(varKeys, v => v.isSet ? {
60
63
  name: v.name,
61
64
  indices: v.vars.map(v => v.index)
62
65
  } : v.index)
63
- };
66
+ });
64
67
  });
65
68
  }, [varKeys]);
66
69
  return useFetch(ENDPOINT, params, {
@@ -93,10 +96,9 @@ export function DiseaseInfo(_ref2) {
93
96
  });
94
97
  useEffect(() => {
95
98
  setParams(p => {
96
- return {
97
- ...p,
99
+ return _objectSpread(_objectSpread({}, p), {}, {
98
100
  diseaseId: disease.id
99
- };
101
+ });
100
102
  });
101
103
  }, [disease]);
102
104
  const diseaseData = useFetch(ENDPOINT, params, {
@@ -108,7 +110,7 @@ export function DiseaseInfo(_ref2) {
108
110
  setDiseaseVars(diseaseData.fetchedData);
109
111
  }
110
112
  }, [diseaseData.fetchedData, diseaseData.isPending, diseaseData.serverError]);
111
- const varMeans = useVarMean(diseaseVars, !!diseaseVars?.length && settings.varSort.disease.sort === VAR_SORT.MATRIX);
113
+ const varMeans = useVarMean(diseaseVars, !!(diseaseVars !== null && diseaseVars !== void 0 && diseaseVars.length) && settings.varSort.disease.sort === VAR_SORT.MATRIX);
112
114
  useEffect(() => {
113
115
  if (settings.varSort.disease.sort === VAR_SORT.MATRIX) {
114
116
  if (!varMeans.isPending && !varMeans.serverError) {
@@ -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, { useDeferredValue, useEffect, useMemo, useState } from "react";
2
7
  import { faPlus } from "@fortawesome/free-solid-svg-icons";
3
8
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
@@ -30,10 +35,9 @@ export function VarSearchResults(_ref) {
30
35
  const setData = text => {
31
36
  if (text.length) {
32
37
  setParams(p => {
33
- return {
34
- ...p,
38
+ return _objectSpread(_objectSpread({}, p), {}, {
35
39
  text: text
36
- };
40
+ });
37
41
  });
38
42
  } else {
39
43
  setSuggestions([]);
@@ -47,7 +51,7 @@ export function VarSearchResults(_ref) {
47
51
  useEffect(() => {
48
52
  if (!isPending && !serverError) {
49
53
  setSuggestions(fetchedData);
50
- setResultsLength(fetchedData?.length);
54
+ setResultsLength(fetchedData === null || fetchedData === void 0 ? void 0 : fetchedData.length);
51
55
  }
52
56
  }, [fetchedData, isPending, serverError, setResultsLength]);
53
57
  const getDataAtIndex = index => deferredData[index];
@@ -58,7 +62,7 @@ export function VarSearchResults(_ref) {
58
62
  onClick: () => {
59
63
  setSelectedResult(item);
60
64
  },
61
- active: selectedResult?.index === item.index
65
+ active: (selectedResult === null || selectedResult === void 0 ? void 0 : selectedResult.index) === item.index
62
66
  }, /*#__PURE__*/React.createElement("div", {
63
67
  className: "d-flex justify-content-between align-items-center w-100"
64
68
  }, /*#__PURE__*/React.createElement("div", null, item.name), /*#__PURE__*/React.createElement("div", {
@@ -80,7 +84,7 @@ export function VarSearchResults(_ref) {
80
84
  }, /*#__PURE__*/React.createElement(ListGroup, {
81
85
  variant: "flush",
82
86
  className: "cherita-list"
83
- }, deferredData?.length ? /*#__PURE__*/React.createElement(VirtualizedList, {
87
+ }, deferredData !== null && deferredData !== void 0 && deferredData.length ? /*#__PURE__*/React.createElement(VirtualizedList, {
84
88
  getDataAtIndex: getDataAtIndex,
85
89
  count: deferredData.length,
86
90
  ItemComponent: ItemComponent,
@@ -115,10 +119,9 @@ export function DiseasesSearchResults(_ref2) {
115
119
  const setData = text => {
116
120
  if (text.length) {
117
121
  setParams(p => {
118
- return {
119
- ...p,
122
+ return _objectSpread(_objectSpread({}, p), {}, {
120
123
  text: text
121
- };
124
+ });
122
125
  });
123
126
  } else {
124
127
  setSuggestions([]);
@@ -132,7 +135,7 @@ export function DiseasesSearchResults(_ref2) {
132
135
  useEffect(() => {
133
136
  if (!isPending && !serverError) {
134
137
  setSuggestions(fetchedData);
135
- setResultsLength(fetchedData?.length);
138
+ setResultsLength(fetchedData === null || fetchedData === void 0 ? void 0 : fetchedData.length);
136
139
  }
137
140
  }, [fetchedData, isPending, serverError, setResultsLength]);
138
141
  const getDataAtIndex = index => deferredData[index];
@@ -143,7 +146,7 @@ export function DiseasesSearchResults(_ref2) {
143
146
  onClick: () => {
144
147
  setSelectedResult(item);
145
148
  },
146
- active: selectedResult?.id === item.id
149
+ active: (selectedResult === null || selectedResult === void 0 ? void 0 : selectedResult.id) === item.id
147
150
  }, /*#__PURE__*/React.createElement("div", {
148
151
  className: "d-flex justify-content-between align-items-center w-100"
149
152
  }, /*#__PURE__*/React.createElement("div", null, item.disease_name)))));
@@ -152,7 +155,7 @@ export function DiseasesSearchResults(_ref2) {
152
155
  }, /*#__PURE__*/React.createElement(ListGroup, {
153
156
  variant: "flush",
154
157
  className: "cherita-list"
155
- }, deferredData?.length ? /*#__PURE__*/React.createElement(VirtualizedList, {
158
+ }, deferredData !== null && deferredData !== void 0 && deferredData.length ? /*#__PURE__*/React.createElement(VirtualizedList, {
156
159
  getDataAtIndex: getDataAtIndex,
157
160
  count: deferredData.length,
158
161
  ItemComponent: ItemComponent,
@@ -1,4 +1,9 @@
1
1
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
+ 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); }
2
7
  import React, { useEffect, useState } from "react";
3
8
  import { faDroplet, faPlus, faTrash } from "@fortawesome/free-solid-svg-icons";
4
9
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
@@ -31,10 +36,9 @@ function VarHistogram(_ref) {
31
36
  });
32
37
  useEffect(() => {
33
38
  setParams(p => {
34
- return {
35
- ...p,
39
+ return _objectSpread(_objectSpread({}, p), {}, {
36
40
  obsIndices: isSliced ? [...(obsIndices || [])] : null
37
- };
41
+ });
38
42
  });
39
43
  }, [obsIndices, isSliced]);
40
44
  const {
@@ -107,9 +111,9 @@ export function SelectionItem(_ref3) {
107
111
  refetchOnMount: false,
108
112
  enabled: !!dataset.diseaseDatasets.length
109
113
  });
110
- const hasDiseaseInfo = !isPending && !serverError && !!fetchedData?.length;
114
+ const hasDiseaseInfo = !isPending && !serverError && !!(fetchedData !== null && fetchedData !== void 0 && fetchedData.length);
111
115
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
112
- className: `d-flex justify-content-between ${hasDiseaseInfo ? "cursor-pointer" : ""}`,
116
+ className: "d-flex justify-content-between ".concat(hasDiseaseInfo ? "cursor-pointer" : ""),
113
117
  onClick: () => {
114
118
  setOpenInfo(o => !o);
115
119
  }
@@ -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 { faTimes } from "@fortawesome/free-solid-svg-icons";
3
8
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
@@ -27,13 +32,12 @@ const useVarMean = function (varKeys) {
27
32
  });
28
33
  useEffect(() => {
29
34
  setParams(p => {
30
- return {
31
- ...p,
35
+ return _objectSpread(_objectSpread({}, p), {}, {
32
36
  varKeys: _.map(varKeys, v => v.isSet ? {
33
37
  name: v.name,
34
38
  indices: v.vars.map(v => v.index)
35
39
  } : v.index)
36
- };
40
+ });
37
41
  });
38
42
  }, [varKeys]);
39
43
  return useFetch(ENDPOINT, params, {
@@ -47,17 +51,19 @@ const sortMeans = (i, means) => {
47
51
  return means[i.name] || _.min(_.values(means)) - 1;
48
52
  };
49
53
  export function VarNamesList(_ref) {
54
+ var _settings$selectedVar, _settings$selectedVar2;
50
55
  let {
51
56
  mode = SELECTION_MODES.SINGLE,
52
57
  displayName = "genes"
53
58
  } = _ref;
54
59
  const settings = useSettings();
55
60
  const dispatch = useSettingsDispatch();
56
- const [active, setActive] = useState(mode === SELECTION_MODES.SINGLE ? settings.selectedVar?.matrix_index || settings.selectedVar?.name : settings.selectedMultiVar.map(i => i.matrix_index || i.name));
61
+ const [active, setActive] = useState(mode === SELECTION_MODES.SINGLE ? ((_settings$selectedVar = settings.selectedVar) === null || _settings$selectedVar === void 0 ? void 0 : _settings$selectedVar.matrix_index) || ((_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.name) : settings.selectedMultiVar.map(i => i.matrix_index || i.name));
57
62
  const [sortedVars, setSortedVars] = useState([]);
58
63
  useEffect(() => {
59
64
  if (mode === SELECTION_MODES.SINGLE) {
60
- setActive(settings.selectedVar?.matrix_index || settings.selectedVar?.name);
65
+ var _settings$selectedVar3, _settings$selectedVar4;
66
+ setActive(((_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.matrix_index) || ((_settings$selectedVar4 = settings.selectedVar) === null || _settings$selectedVar4 === void 0 ? void 0 : _settings$selectedVar4.name));
61
67
  }
62
68
  }, [mode, settings.selectedVar]);
63
69
  useEffect(() => {
@@ -108,13 +114,13 @@ export function VarNamesList(_ref) {
108
114
  });
109
115
  const newSetName = () => {
110
116
  let n = 1;
111
- let setName = `Set ${n}`;
117
+ let setName = "Set ".concat(n);
112
118
  const nameExists = name => {
113
119
  return settings.vars.some(v => v.name === name);
114
120
  };
115
121
  while (nameExists(setName)) {
116
122
  n++;
117
- setName = `Set ${n}`;
123
+ setName = "Set ".concat(n);
118
124
  }
119
125
  return setName;
120
126
  };
@@ -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 { faCircleInfo } from "@fortawesome/free-solid-svg-icons";
3
8
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
@@ -11,6 +16,7 @@ import { useSettings } from "../../context/SettingsContext";
11
16
  import { LoadingSpinner } from "../../utils/LoadingIndicators";
12
17
  import { useDebouncedFetch } from "../../utils/requests";
13
18
  export function Violin(_ref) {
19
+ var _settings$selectedVar, _settings$selectedVar2, _settings$selectedVar3, _settings$selectedVar4, _settings$selectedObs, _settings$selectedObs2, _settings$selectedObs3;
14
20
  let {
15
21
  mode = VIOLIN_MODES.MULTIKEY
16
22
  } = _ref;
@@ -24,30 +30,32 @@ export function Violin(_ref) {
24
30
  const [data, setData] = useState([]);
25
31
  const [layout, setLayout] = useState({});
26
32
  const [hasSelections, setHasSelections] = useState(false);
27
- const [params, setParams] = useState({
33
+ const [params, setParams] = useState(_objectSpread({
28
34
  url: dataset.url,
29
35
  mode: mode,
30
36
  scale: settings.controls.scale.violinplot.value,
31
- varNamesCol: dataset.varNamesCol,
32
- ...{
33
- [VIOLIN_MODES.MULTIKEY]: {
34
- varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
35
- name: i.name,
36
- indices: i.vars.map(v => v.index)
37
- } : i.index),
38
- obsKeys: [] // @TODO: implement
39
- },
40
- [VIOLIN_MODES.GROUPBY]: {
41
- varKey: settings.selectedVar?.isSet ? {
42
- name: settings.selectedVar?.name,
43
- indices: settings.selectedVar?.vars.map(v => v.index)
44
- } : settings.selectedVar?.index,
45
- obsCol: settings.selectedObs,
46
- obsValues: !settings.selectedObs?.omit.length ? null : _.difference(_.values(settings.selectedObs?.codes), settings.selectedObs?.omit).map(c => settings.selectedObs?.codesMap[c]),
47
- obsIndices: isSliced ? [...(obsIndices || [])] : null
48
- }
49
- }[mode]
50
- });
37
+ varNamesCol: dataset.varNamesCol
38
+ }, {
39
+ [VIOLIN_MODES.MULTIKEY]: {
40
+ varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
41
+ name: i.name,
42
+ indices: i.vars.map(v => v.index)
43
+ } : i.index),
44
+ obsKeys: [] // @TODO: implement
45
+ },
46
+ [VIOLIN_MODES.GROUPBY]: {
47
+ varKey: (_settings$selectedVar = settings.selectedVar) !== null && _settings$selectedVar !== void 0 && _settings$selectedVar.isSet ? {
48
+ name: (_settings$selectedVar2 = settings.selectedVar) === null || _settings$selectedVar2 === void 0 ? void 0 : _settings$selectedVar2.name,
49
+ indices: (_settings$selectedVar3 = settings.selectedVar) === null || _settings$selectedVar3 === void 0 ? void 0 : _settings$selectedVar3.vars.map(v => v.index)
50
+ } : (_settings$selectedVar4 = settings.selectedVar) === null || _settings$selectedVar4 === void 0 ? void 0 : _settings$selectedVar4.index,
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
+ obsIndices: isSliced ? [...(obsIndices || [])] : null
57
+ }
58
+ }[mode]));
51
59
  // @TODO: set default scale
52
60
 
53
61
  useEffect(() => {
@@ -58,8 +66,7 @@ export function Violin(_ref) {
58
66
  setHasSelections(false);
59
67
  }
60
68
  setParams(p => {
61
- return {
62
- ...p,
69
+ return _objectSpread(_objectSpread({}, p), {}, {
63
70
  url: dataset.url,
64
71
  mode: mode,
65
72
  varKeys: settings.selectedMultiVar.map(i => i.isSet ? {
@@ -68,7 +75,7 @@ export function Violin(_ref) {
68
75
  } : i.index),
69
76
  scale: settings.controls.scale.violinplot.value,
70
77
  varNamesCol: dataset.varNamesCol
71
- };
78
+ });
72
79
  });
73
80
  } else if (mode === VIOLIN_MODES.GROUPBY) {
74
81
  if (settings.selectedObs && settings.selectedVar) {
@@ -77,20 +84,23 @@ export function Violin(_ref) {
77
84
  setHasSelections(false);
78
85
  }
79
86
  setParams(p => {
80
- return {
81
- ...p,
87
+ var _settings$selectedVar5, _settings$selectedVar6, _settings$selectedVar7, _settings$selectedVar8, _settings$selectedObs5, _settings$selectedObs6, _settings$selectedObs7;
88
+ return _objectSpread(_objectSpread({}, p), {}, {
82
89
  url: dataset.url,
83
90
  mode: mode,
84
- varKey: settings.selectedVar?.isSet ? {
85
- name: settings.selectedVar?.name,
86
- indices: settings.selectedVar?.vars.map(v => v.index)
87
- } : settings.selectedVar?.index,
91
+ varKey: (_settings$selectedVar5 = settings.selectedVar) !== null && _settings$selectedVar5 !== void 0 && _settings$selectedVar5.isSet ? {
92
+ name: (_settings$selectedVar6 = settings.selectedVar) === null || _settings$selectedVar6 === void 0 ? void 0 : _settings$selectedVar6.name,
93
+ indices: (_settings$selectedVar7 = settings.selectedVar) === null || _settings$selectedVar7 === void 0 ? void 0 : _settings$selectedVar7.vars.map(v => v.index)
94
+ } : (_settings$selectedVar8 = settings.selectedVar) === null || _settings$selectedVar8 === void 0 ? void 0 : _settings$selectedVar8.index,
88
95
  obsCol: settings.selectedObs,
89
- obsValues: !settings.selectedObs?.omit.length ? null : _.difference(_.values(settings.selectedObs?.codes), settings.selectedObs?.omit).map(c => settings.selectedObs?.codesMap[c]),
96
+ 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 => {
97
+ var _settings$selectedObs8;
98
+ return (_settings$selectedObs8 = settings.selectedObs) === null || _settings$selectedObs8 === void 0 ? void 0 : _settings$selectedObs8.codesMap[c];
99
+ }),
90
100
  obsIndices: isSliced ? [...(obsIndices || [])] : null,
91
101
  scale: settings.controls.scale.violinplot.value,
92
102
  varNamesCol: dataset.varNamesCol
93
- };
103
+ });
94
104
  });
95
105
  }
96
106
  }, [settings.controls.scale.violinplot.value, settings.selectedMultiVar, settings.selectedObs, settings.selectedVar, dataset.url, dataset.varNamesCol, obsIndices, isSliced, mode]);
@@ -119,7 +129,7 @@ export function Violin(_ref) {
119
129
  maxWidth: "100%",
120
130
  maxHeight: "100%"
121
131
  }
122
- }), fetchedData?.resampled && /*#__PURE__*/React.createElement(Alert, {
132
+ }), (fetchedData === null || fetchedData === void 0 ? void 0 : fetchedData.resampled) && /*#__PURE__*/React.createElement(Alert, {
123
133
  variant: "warning"
124
134
  }, /*#__PURE__*/React.createElement("b", null, "Warning:"), " For performance reasons this plot was generated with resampled data. It will not be exactly the same as one produced with the entire dataset. \xA0", /*#__PURE__*/React.createElement(OverlayTrigger, {
125
135
  placement: "top",
@@ -1,3 +1,11 @@
1
+ const _excluded = ["dataset_url", "children"];
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
+ 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); }
7
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
1
9
  import React, { createContext, useContext } from "react";
2
10
  import { createSyncStoragePersister } from "@tanstack/query-sync-storage-persister";
3
11
  import { QueryClient, QueryCache } from "@tanstack/react-query";
@@ -37,7 +45,7 @@ const persistOptions = {
37
45
  state
38
46
  } = _ref;
39
47
  if (state.status === "success") {
40
- return persistKeys.includes(queryKey?.[0]);
48
+ return persistKeys.includes(queryKey === null || queryKey === void 0 ? void 0 : queryKey[0]);
41
49
  }
42
50
  return false;
43
51
  }
@@ -55,14 +63,13 @@ const initialDataset = {
55
63
  };
56
64
  export function DatasetProvider(_ref2) {
57
65
  let {
58
- dataset_url,
59
- children,
60
- ...dataset_params
61
- } = _ref2;
62
- const dataset = _.assign(initialDataset, {
63
- url: dataset_url,
64
- ...dataset_params
65
- });
66
+ dataset_url,
67
+ children
68
+ } = _ref2,
69
+ dataset_params = _objectWithoutProperties(_ref2, _excluded);
70
+ const dataset = _.assign(initialDataset, _objectSpread({
71
+ url: dataset_url
72
+ }, dataset_params));
66
73
  return /*#__PURE__*/React.createElement(DatasetContext.Provider, {
67
74
  value: dataset
68
75
  }, /*#__PURE__*/React.createElement(SettingsProvider, {
@@ -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, { useReducer, createContext, useContext } from "react";
2
7
  export const FilteredDataContext = /*#__PURE__*/createContext(null);
3
8
  export const FilteredDataDispatchContext = /*#__PURE__*/createContext(null);
@@ -12,9 +17,7 @@ export function FilterProvider(_ref) {
12
17
  let {
13
18
  children
14
19
  } = _ref;
15
- const [filteredData, dispatch] = useReducer(filterReducer, {
16
- ...initialFilterData
17
- });
20
+ const [filteredData, dispatch] = useReducer(filterReducer, _objectSpread({}, initialFilterData));
18
21
  return /*#__PURE__*/React.createElement(FilteredDataContext.Provider, {
19
22
  value: filteredData
20
23
  }, /*#__PURE__*/React.createElement(FilteredDataDispatchContext.Provider, {
@@ -31,14 +34,13 @@ function filterReducer(filteredData, action) {
31
34
  switch (action.type) {
32
35
  case "set.obs.indices":
33
36
  {
34
- return {
35
- ...filteredData,
37
+ return _objectSpread(_objectSpread({}, filteredData), {}, {
36
38
  obsIndices: action.indices,
37
39
  valueMin: action.valueMin,
38
40
  valueMax: action.valueMax,
39
41
  slicedLength: action.slicedLength,
40
42
  isSliced: action.isSliced
41
- };
43
+ });
42
44
  }
43
45
  default:
44
46
  {