@haniffalab/cherita-react 1.4.1-dev.2025-10-23.e95b5a90 → 1.4.1-dev.2025-10-23.55fbe6ff

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 (126) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/controls/Controls.js +4 -4
  3. package/dist/cjs/components/dotplot/Dotplot.js +8 -8
  4. package/dist/cjs/components/dotplot/DotplotControls.js +5 -5
  5. package/dist/cjs/components/full-page/FullPage.js +1 -2
  6. package/dist/cjs/components/full-page/PlotAlert.js +1 -1
  7. package/dist/cjs/components/full-page/PlotTypeSelector.js +13 -13
  8. package/dist/cjs/components/heatmap/Heatmap.js +7 -7
  9. package/dist/cjs/components/icons/DotPlotIcon.js +1 -1
  10. package/dist/cjs/components/icons/HeatmapIcon.js +1 -1
  11. package/dist/cjs/components/icons/MatrixPlotIcon.1.js +1 -1
  12. package/dist/cjs/components/icons/MatrixPlotIcon.js +1 -1
  13. package/dist/cjs/components/icons/ScatterplotIcon.1.js +1 -1
  14. package/dist/cjs/components/icons/ScatterplotIcon.js +1 -1
  15. package/dist/cjs/components/icons/ViolinPlotIcon.js +1 -1
  16. package/dist/cjs/components/matrixplot/Matrixplot.js +7 -7
  17. package/dist/cjs/components/obs-list/ObsItem.js +19 -19
  18. package/dist/cjs/components/obs-list/ObsList.js +17 -17
  19. package/dist/cjs/components/obsm-list/ObsmList.js +7 -7
  20. package/dist/cjs/components/pseudospatial/Pseudospatial.js +16 -16
  21. package/dist/cjs/components/pseudospatial/PseudospatialToolbar.js +10 -10
  22. package/dist/cjs/components/scatterplot/Scatterplot.js +16 -16
  23. package/dist/cjs/components/scatterplot/ScatterplotControls.js +1 -1
  24. package/dist/cjs/components/scatterplot/SpatialControls.js +9 -9
  25. package/dist/cjs/components/scatterplot/Toolbox.js +4 -4
  26. package/dist/cjs/components/search-bar/SearchBar.js +14 -14
  27. package/dist/cjs/components/search-bar/SearchInfo.js +3 -3
  28. package/dist/cjs/components/search-bar/SearchResults.js +2 -2
  29. package/dist/cjs/components/toolbar/Toolbar.js +3 -3
  30. package/dist/cjs/components/var-list/VarItem.js +15 -15
  31. package/dist/cjs/components/var-list/VarList.js +5 -5
  32. package/dist/cjs/components/var-list/VarListToolbar.js +4 -4
  33. package/dist/cjs/components/var-list/VarSet.js +13 -13
  34. package/dist/cjs/components/violin/Violin.js +10 -10
  35. package/dist/cjs/constants/colorscales.js +19 -19
  36. package/dist/cjs/constants/constants.js +47 -47
  37. package/dist/cjs/context/DatasetContext.js +3 -3
  38. package/dist/cjs/context/FilterContext.js +2 -2
  39. package/dist/cjs/context/SettingsContext.js +57 -57
  40. package/dist/cjs/helpers/color-helper.js +2 -2
  41. package/dist/cjs/helpers/zarr-helper.js +3 -3
  42. package/dist/cjs/utils/Filter.js +1 -1
  43. package/dist/cjs/utils/Histogram.js +2 -2
  44. package/dist/cjs/utils/ImageViewer.js +2 -2
  45. package/dist/cjs/utils/Legend.js +1 -1
  46. package/dist/cjs/utils/LoadingIndicators.js +1 -1
  47. package/dist/cjs/utils/Resolver.js +7 -7
  48. package/dist/cjs/utils/Skeleton.js +1 -1
  49. package/dist/cjs/utils/StyledTooltip.js +5 -5
  50. package/dist/cjs/utils/VirtualizedList.js +7 -7
  51. package/dist/cjs/utils/errors.js +15 -15
  52. package/dist/cjs/utils/requests.js +5 -5
  53. package/dist/cjs/utils/search.js +4 -4
  54. package/dist/cjs/utils/string.js +6 -6
  55. package/dist/cjs/utils/zarrData.js +5 -5
  56. package/dist/css/cherita.css +21 -20
  57. package/dist/css/cherita.css.map +1 -1
  58. package/dist/esm/components/controls/Controls.js +9 -9
  59. package/dist/esm/components/dotplot/Dotplot.js +21 -21
  60. package/dist/esm/components/dotplot/DotplotControls.js +9 -9
  61. package/dist/esm/components/full-page/FullPage.js +22 -23
  62. package/dist/esm/components/full-page/PlotAlert.js +5 -5
  63. package/dist/esm/components/full-page/PlotTypeSelector.js +21 -21
  64. package/dist/esm/components/heatmap/Heatmap.js +20 -20
  65. package/dist/esm/components/heatmap/HeatmapControls.js +2 -2
  66. package/dist/esm/components/icons/DotPlotIcon.js +1 -1
  67. package/dist/esm/components/icons/HeatmapIcon.js +1 -1
  68. package/dist/esm/components/icons/MatrixPlotIcon.1.js +1 -1
  69. package/dist/esm/components/icons/MatrixPlotIcon.js +1 -1
  70. package/dist/esm/components/icons/ScatterplotIcon.1.js +1 -1
  71. package/dist/esm/components/icons/ScatterplotIcon.js +1 -1
  72. package/dist/esm/components/icons/ViolinPlotIcon.js +1 -1
  73. package/dist/esm/components/matrixplot/Matrixplot.js +20 -20
  74. package/dist/esm/components/matrixplot/MatrixplotControls.js +2 -2
  75. package/dist/esm/components/obs-list/ObsItem.js +37 -37
  76. package/dist/esm/components/obs-list/ObsList.js +34 -34
  77. package/dist/esm/components/obs-list/ObsToolbar.js +1 -1
  78. package/dist/esm/components/obsm-list/ObsmList.js +15 -15
  79. package/dist/esm/components/offcanvas/index.js +6 -6
  80. package/dist/esm/components/pseudospatial/Pseudospatial.js +31 -31
  81. package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +17 -17
  82. package/dist/esm/components/scatterplot/Scatterplot.js +38 -38
  83. package/dist/esm/components/scatterplot/ScatterplotControls.js +9 -9
  84. package/dist/esm/components/scatterplot/SpatialControls.js +23 -23
  85. package/dist/esm/components/scatterplot/Toolbox.js +7 -7
  86. package/dist/esm/components/search-bar/SearchBar.js +27 -27
  87. package/dist/esm/components/search-bar/SearchInfo.js +14 -14
  88. package/dist/esm/components/search-bar/SearchResults.js +10 -10
  89. package/dist/esm/components/toolbar/Toolbar.js +6 -6
  90. package/dist/esm/components/var-list/VarItem.js +27 -27
  91. package/dist/esm/components/var-list/VarList.js +21 -21
  92. package/dist/esm/components/var-list/VarListToolbar.js +10 -10
  93. package/dist/esm/components/var-list/VarSet.js +22 -22
  94. package/dist/esm/components/violin/Violin.js +26 -26
  95. package/dist/esm/components/violin/ViolinControls.js +2 -2
  96. package/dist/esm/constants/colorscales.js +19 -19
  97. package/dist/esm/constants/constants.js +47 -47
  98. package/dist/esm/context/DatasetContext.js +11 -11
  99. package/dist/esm/context/FilterContext.js +3 -3
  100. package/dist/esm/context/SettingsContext.js +61 -61
  101. package/dist/esm/context/ZarrDataContext.js +3 -3
  102. package/dist/esm/helpers/color-helper.js +5 -5
  103. package/dist/esm/helpers/map-helper.js +2 -2
  104. package/dist/esm/helpers/zarr-helper.js +6 -6
  105. package/dist/esm/index.js +22 -22
  106. package/dist/esm/utils/Filter.js +8 -8
  107. package/dist/esm/utils/Histogram.js +6 -6
  108. package/dist/esm/utils/ImageViewer.js +4 -4
  109. package/dist/esm/utils/Legend.js +9 -9
  110. package/dist/esm/utils/LoadingIndicators.js +2 -2
  111. package/dist/esm/utils/Resolver.js +13 -13
  112. package/dist/esm/utils/Skeleton.js +2 -2
  113. package/dist/esm/utils/StyledTooltip.js +6 -6
  114. package/dist/esm/utils/VirtualizedList.js +9 -9
  115. package/dist/esm/utils/errors.js +15 -15
  116. package/dist/esm/utils/requests.js +8 -8
  117. package/dist/esm/utils/search.js +7 -7
  118. package/dist/esm/utils/string.js +7 -7
  119. package/dist/esm/utils/zarrData.js +13 -13
  120. package/package.json +11 -7
  121. package/scss/cherita-bootstrap.scss +2 -2
  122. package/scss/cherita.scss +24 -17
  123. package/scss/components/accordions.scss +4 -1
  124. package/scss/components/layouts.scss +13 -12
  125. package/scss/components/lists.scss +8 -4
  126. package/scss/components/plotly.scss +1 -0
@@ -27,22 +27,22 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
27
27
  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); }
28
28
  const select = (dispatch, item) => {
29
29
  dispatch({
30
- type: "select.var",
30
+ type: 'select.var',
31
31
  var: item
32
32
  });
33
33
  dispatch({
34
- type: "select.multivar",
34
+ type: 'select.multivar',
35
35
  var: item
36
36
  });
37
37
  dispatch({
38
- type: "set.colorEncoding",
38
+ type: 'set.colorEncoding',
39
39
  value: _constants.COLOR_ENCODINGS.VAR
40
40
  });
41
41
  };
42
42
  const debounceSelect = _lodash.default.debounce(select, 500);
43
43
  function onVarSelect(dispatch, item) {
44
44
  dispatch({
45
- type: "add.var",
45
+ type: 'add.var',
46
46
  var: item
47
47
  });
48
48
  debounceSelect(dispatch, item);
@@ -53,7 +53,7 @@ function addVarSet(dispatch, _ref) {
53
53
  vars
54
54
  } = _ref;
55
55
  dispatch({
56
- type: "add.var",
56
+ type: 'add.var',
57
57
  var: {
58
58
  name: name,
59
59
  vars: vars,
@@ -62,8 +62,8 @@ function addVarSet(dispatch, _ref) {
62
62
  });
63
63
  }
64
64
  const FEATURE_TYPE = {
65
- VAR: "var",
66
- DISEASE: "disease"
65
+ VAR: 'var',
66
+ DISEASE: 'disease'
67
67
  };
68
68
  function SearchModal(_ref2) {
69
69
  let {
@@ -76,7 +76,7 @@ function SearchModal(_ref2) {
76
76
  searchVar,
77
77
  searchDiseases
78
78
  } = _ref2;
79
- const [tab, setTab] = (0, _react.useState)("var");
79
+ const [tab, setTab] = (0, _react.useState)('var');
80
80
  const [selectedResult, setSelectedResult] = (0, _react.useState)({
81
81
  var: null,
82
82
  disease: null
@@ -107,7 +107,7 @@ function SearchModal(_ref2) {
107
107
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Form.Control, {
108
108
  autoFocus: true,
109
109
  type: "text",
110
- placeholder: "Search " + displayText,
110
+ placeholder: 'Search ' + displayText,
111
111
  value: text,
112
112
  onChange: e => {
113
113
  setText(e.target.value);
@@ -151,12 +151,12 @@ function SearchModal(_ref2) {
151
151
  children: [searchVar && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Nav.default.Item, {
152
152
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Nav.default.Link, {
153
153
  eventKey: FEATURE_TYPE.VAR,
154
- children: ["Genes", " ", !!varResultsLength && "(".concat(varResultsLength, ")")]
154
+ children: ["Genes", ' ', !!varResultsLength && "(".concat(varResultsLength, ")")]
155
155
  })
156
156
  }), searchDiseases && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Nav.default.Item, {
157
157
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Nav.default.Link, {
158
158
  eventKey: FEATURE_TYPE.DISEASE,
159
- children: ["Diseases", " ", !!diseaseResultsLength && "(".concat(diseaseResultsLength, ")")]
159
+ children: ["Diseases", ' ', !!diseaseResultsLength && "(".concat(diseaseResultsLength, ")")]
160
160
  })
161
161
  })]
162
162
  })
@@ -219,8 +219,8 @@ function SearchBar(_ref3) {
219
219
  searchVar = true,
220
220
  searchDiseases = false
221
221
  } = _ref3;
222
- const [text, setText] = (0, _react.useState)("");
223
- const displayText = [...(searchVar ? ["features"] : []), ...(searchDiseases ? ["diseases"] : [])].join(" and ");
222
+ const [text, setText] = (0, _react.useState)('');
223
+ const displayText = [...(searchVar ? ['features'] : []), ...(searchDiseases ? ['diseases'] : [])].join(' and ');
224
224
  const [showModal, setShowModal] = (0, _react.useState)(false);
225
225
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
226
226
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Form, {
@@ -234,7 +234,7 @@ function SearchBar(_ref3) {
234
234
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Form.Control, {
235
235
  onClick: () => setShowModal(true),
236
236
  type: "text",
237
- placeholder: "Search " + displayText,
237
+ placeholder: 'Search ' + displayText,
238
238
  defaultValue: text
239
239
  })]
240
240
  })
@@ -27,7 +27,7 @@ function VarInfo(_ref) {
27
27
  let {
28
28
  varItem
29
29
  } = _ref;
30
- const ENDPOINT = "disease/gene";
30
+ const ENDPOINT = 'disease/gene';
31
31
  const dataset = (0, _DatasetContext.useDataset)();
32
32
  const [params, setParams] = (0, _react.useState)({
33
33
  geneName: varItem.name,
@@ -69,7 +69,7 @@ function DiseaseInfo(_ref2) {
69
69
  handleSelect,
70
70
  addVarSet
71
71
  } = _ref2;
72
- const ENDPOINT = "disease/genes";
72
+ const ENDPOINT = 'disease/genes';
73
73
  const dataset = (0, _DatasetContext.useDataset)();
74
74
  const settings = (0, _SettingsContext.useSettings)();
75
75
  const dispatch = (0, _SettingsContext.useSettingsDispatch)();
@@ -106,7 +106,7 @@ function DiseaseInfo(_ref2) {
106
106
  }, settings.varSort.disease.sortOrder));
107
107
  }
108
108
  } else if (settings.varSort.disease.sort === _constants.VAR_SORT.NAME) {
109
- setSortedDiseaseVars(_lodash.default.orderBy(diseaseVars, "name", settings.varSort.disease.sortOrder));
109
+ setSortedDiseaseVars(_lodash.default.orderBy(diseaseVars, 'name', settings.varSort.disease.sortOrder));
110
110
  } else {
111
111
  setSortedDiseaseVars(diseaseVars);
112
112
  }
@@ -112,7 +112,7 @@ function VarSearchResults(_ref) {
112
112
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup.Item, {
113
113
  as: "button",
114
114
  disabled: true,
115
- children: !text.length ? "Search features" : !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data"
115
+ children: !text.length ? 'Search features' : !serverError ? isStale || isPending ? 'Loading...' : 'No items found' : 'Failed to fetch data'
116
116
  }, "empty")
117
117
  })
118
118
  })
@@ -193,7 +193,7 @@ function DiseasesSearchResults(_ref2) {
193
193
  }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup.Item, {
194
194
  as: "button",
195
195
  disabled: true,
196
- children: !text.length ? "Search diseases" : !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data"
196
+ children: !text.length ? 'Search diseases' : !serverError ? isStale || isPending ? 'Loading...' : 'No items found' : 'Failed to fetch data'
197
197
  }, "empty")
198
198
  })
199
199
  })
@@ -69,7 +69,7 @@ const ObsPlotlyToolbar = _ref2 => {
69
69
  onClick
70
70
  } = _ref2;
71
71
  return {
72
- name: "Categories",
72
+ name: 'Categories',
73
73
  icon: {
74
74
  width: 512,
75
75
  height: 512,
@@ -84,7 +84,7 @@ const VarPlotlyToolbar = _ref3 => {
84
84
  onClick
85
85
  } = _ref3;
86
86
  return {
87
- name: "Features",
87
+ name: 'Features',
88
88
  icon: {
89
89
  width: 512,
90
90
  height: 512,
@@ -99,7 +99,7 @@ const ControlsPlotlyToolbar = _ref4 => {
99
99
  onClick
100
100
  } = _ref4;
101
101
  return {
102
- name: "Controls",
102
+ name: 'Controls',
103
103
  icon: {
104
104
  width: 512,
105
105
  height: 512,
@@ -29,7 +29,7 @@ function VarHistogram(_ref) {
29
29
  let {
30
30
  item
31
31
  } = _ref;
32
- const ENDPOINT = "var/histograms";
32
+ const ENDPOINT = 'var/histograms';
33
33
  const dataset = (0, _DatasetContext.useDataset)();
34
34
  const settings = (0, _SettingsContext.useSettings)();
35
35
  const {
@@ -79,13 +79,13 @@ function VarDiseaseInfoItem(item) {
79
79
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
80
80
  children: "Confidence"
81
81
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
82
- children: item.confidence || "unknown"
82
+ children: item.confidence || 'unknown'
83
83
  })]
84
84
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("tr", {
85
85
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("td", {
86
- children: ["Organ", item.organs.length > 1 ? "s" : ""]
86
+ children: ["Organ", item.organs.length > 1 ? 's' : '']
87
87
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("td", {
88
- children: item.organs.map(o => o.name).join(", ")
88
+ children: item.organs.map(o => o.name).join(', ')
89
89
  })]
90
90
  }), !_lodash.default.isEmpty(item.metadata) && _lodash.default.map(item.metadata, (value, key) => {
91
91
  if (value !== null && value !== undefined) {
@@ -123,7 +123,7 @@ function SelectionItem(_ref3) {
123
123
  showRemove = true,
124
124
  isMultiple = false
125
125
  } = _ref3;
126
- const ENDPOINT = "disease/gene";
126
+ const ENDPOINT = 'disease/gene';
127
127
  const [openInfo, setOpenInfo] = (0, _react.useState)(false);
128
128
  const dataset = (0, _DatasetContext.useDataset)();
129
129
  const params = {
@@ -142,7 +142,7 @@ function SelectionItem(_ref3) {
142
142
  const hasDiseaseInfo = !isPending && !serverError && !!(fetchedData !== null && fetchedData !== void 0 && fetchedData.length);
143
143
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
144
144
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
145
- className: hasDiseaseInfo ? "cursor-pointer" : "",
145
+ className: hasDiseaseInfo ? 'cursor-pointer' : '',
146
146
  onClick: () => {
147
147
  setOpenInfo(o => !o);
148
148
  },
@@ -158,14 +158,14 @@ function SelectionItem(_ref3) {
158
158
  item: item
159
159
  }), showSetColorEncoding && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Button, {
160
160
  type: "button",
161
- variant: isActive ? "primary" : isNotInData ? "outline-secondary" : "outline-primary",
161
+ variant: isActive ? 'primary' : isNotInData ? 'outline-secondary' : 'outline-primary',
162
162
  className: "m-0 p-0 px-1",
163
163
  onClick: e => {
164
164
  e.stopPropagation();
165
165
  selectVar();
166
166
  },
167
167
  disabled: isNotInData,
168
- title: isNotInData ? "Not present in data" : "Set as color encoding",
168
+ title: isNotInData ? 'Not present in data' : 'Set as color encoding',
169
169
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
170
170
  icon: _freeSolidSvgIcons.faDroplet
171
171
  }), isMultiple && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
@@ -202,17 +202,17 @@ function SelectionItem(_ref3) {
202
202
  const select = (dispatch, mode, item) => {
203
203
  if (mode === _constants.SELECTION_MODES.SINGLE) {
204
204
  dispatch({
205
- type: "select.var",
205
+ type: 'select.var',
206
206
  var: item
207
207
  });
208
208
  } else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
209
209
  dispatch({
210
- type: "select.multivar",
210
+ type: 'select.multivar',
211
211
  var: item
212
212
  });
213
213
  }
214
214
  dispatch({
215
- type: "set.colorEncoding",
215
+ type: 'set.colorEncoding',
216
216
  value: _constants.COLOR_ENCODINGS.VAR
217
217
  });
218
218
  };
@@ -228,19 +228,19 @@ function VarItem(_ref4) {
228
228
  const selectVar = () => debounceSelect(dispatch, mode, item);
229
229
  const removeVar = () => {
230
230
  dispatch({
231
- type: "remove.var",
231
+ type: 'remove.var',
232
232
  var: item
233
233
  });
234
234
  if (mode === _constants.SELECTION_MODES.SINGLE) {
235
235
  if (active === item.matrix_index) {
236
236
  dispatch({
237
- type: "reset.var"
237
+ type: 'reset.var'
238
238
  });
239
239
  }
240
240
  } else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
241
241
  if (active.includes(item.matrix_index)) {
242
242
  dispatch({
243
- type: "deselect.multivar",
243
+ type: 'deselect.multivar',
244
244
  var: item
245
245
  });
246
246
  }
@@ -248,7 +248,7 @@ function VarItem(_ref4) {
248
248
  };
249
249
  const toggleVar = () => {
250
250
  dispatch({
251
- type: "toggle.multivar",
251
+ type: 'toggle.multivar',
252
252
  var: item
253
253
  });
254
254
  };
@@ -30,7 +30,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
30
30
  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); }
31
31
  const useVarMean = function (varKeys) {
32
32
  let enabled = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
33
- const ENDPOINT = "matrix/mean";
33
+ const ENDPOINT = 'matrix/mean';
34
34
  const dataset = (0, _DatasetContext.useDataset)();
35
35
  const {
36
36
  obsIndices
@@ -70,7 +70,7 @@ exports.sortMeans = sortMeans;
70
70
  function VarNamesList(_ref) {
71
71
  let {
72
72
  mode = _constants.SELECTION_MODES.SINGLE,
73
- displayName = "genes"
73
+ displayName = 'genes'
74
74
  } = _ref;
75
75
  const settings = (0, _SettingsContext.useSettings)();
76
76
  const dispatch = (0, _SettingsContext.useSettingsDispatch)();
@@ -100,7 +100,7 @@ function VarNamesList(_ref) {
100
100
  }, settings.varSort.var.sortOrder));
101
101
  }
102
102
  } else if (settings.varSort.var.sort === _constants.VAR_SORT.NAME) {
103
- setSortedVars(_lodash.default.orderBy(settingsVars, "name", settings.varSort.var.sortOrder));
103
+ setSortedVars(_lodash.default.orderBy(settingsVars, 'name', settings.varSort.var.sortOrder));
104
104
  } else {
105
105
  setSortedVars(settingsVars);
106
106
  }
@@ -156,7 +156,7 @@ function VarNamesList(_ref) {
156
156
  variant: "info",
157
157
  onClick: () => {
158
158
  dispatch({
159
- type: "add.var",
159
+ type: 'add.var',
160
160
  var: {
161
161
  name: newSetName(),
162
162
  vars: [],
@@ -169,7 +169,7 @@ function VarNamesList(_ref) {
169
169
  variant: "info",
170
170
  onClick: () => {
171
171
  dispatch({
172
- type: "reset.vars"
172
+ type: 'reset.vars'
173
173
  });
174
174
  },
175
175
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
@@ -14,7 +14,7 @@ var _jsxRuntime = require("react/jsx-runtime");
14
14
  // @TODO: set option for "var" and "disease"
15
15
  function VarListToolbar(_ref) {
16
16
  let {
17
- varType = "var"
17
+ varType = 'var'
18
18
  } = _ref;
19
19
  const settings = (0, _SettingsContext.useSettings)();
20
20
  const dispatch = (0, _SettingsContext.useSettingsDispatch)();
@@ -25,7 +25,7 @@ function VarListToolbar(_ref) {
25
25
  if (sort !== sortValue) {
26
26
  setSort(sortValue);
27
27
  dispatch({
28
- type: "set.varSort",
28
+ type: 'set.varSort',
29
29
  var: varType,
30
30
  sort: sortValue,
31
31
  sortOrder: sortOrder
@@ -34,7 +34,7 @@ function VarListToolbar(_ref) {
34
34
  const newSortOrder = sortOrder === _constants.VAR_SORT_ORDER.ASC ? _constants.VAR_SORT_ORDER.DESC : _constants.VAR_SORT_ORDER.ASC;
35
35
  setSortOrder(newSortOrder);
36
36
  dispatch({
37
- type: "set.varSort",
37
+ type: 'set.varSort',
38
38
  var: varType,
39
39
  sort: sortValue,
40
40
  sortOrder: newSortOrder
@@ -84,7 +84,7 @@ function VarListToolbar(_ref) {
84
84
  onClick: () => {
85
85
  setSort(_constants.VAR_SORT.NONE);
86
86
  dispatch({
87
- type: "set.varSort.sort",
87
+ type: 'set.varSort.sort',
88
88
  var: varType,
89
89
  sort: _constants.VAR_SORT.NONE
90
90
  });
@@ -18,7 +18,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
18
18
  // @TODO: add button to score genes and plot
19
19
  const addVarToSet = (dispatch, set, v) => {
20
20
  dispatch({
21
- type: "add.varSet.var",
21
+ type: 'add.varSet.var',
22
22
  varSet: set,
23
23
  var: v
24
24
  });
@@ -34,7 +34,7 @@ function SelectionSet(_ref) {
34
34
  } = _ref;
35
35
  const [openSet, setOpenSet] = (0, _react.useState)(false);
36
36
  const [showModal, setShowModal] = (0, _react.useState)(false);
37
- const [searchText, setSearchText] = (0, _react.useState)("");
37
+ const [searchText, setSearchText] = (0, _react.useState)('');
38
38
  const varList = set.vars.length ? _lodash.default.map(set.vars, v => {
39
39
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup.Item, {
40
40
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_VarItem.SelectionItem, {
@@ -94,7 +94,7 @@ function SelectionSet(_ref) {
94
94
  })
95
95
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Button, {
96
96
  type: "button",
97
- variant: isActive ? "primary" : "outline-primary",
97
+ variant: isActive ? 'primary' : 'outline-primary',
98
98
  className: "m-0 p-0 px-1",
99
99
  onClick: e => {
100
100
  e.stopPropagation();
@@ -139,7 +139,7 @@ function SelectionSet(_ref) {
139
139
  handleClose: () => setShowModal(false),
140
140
  text: searchText,
141
141
  setText: setSearchText,
142
- displayText: "features",
142
+ displayText: 'features',
143
143
  handleSelect: (d, i) => {
144
144
  addVarToSet(d, set, i);
145
145
  },
@@ -159,16 +159,16 @@ function VarSet(_ref2) {
159
159
  const selectSet = () => {
160
160
  if (mode === _constants.SELECTION_MODES.SINGLE) {
161
161
  dispatch({
162
- type: "select.var",
162
+ type: 'select.var',
163
163
  var: set
164
164
  });
165
165
  dispatch({
166
- type: "set.colorEncoding",
167
- value: "var"
166
+ type: 'set.colorEncoding',
167
+ value: 'var'
168
168
  });
169
169
  } else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
170
170
  dispatch({
171
- type: "select.multivar",
171
+ type: 'select.multivar',
172
172
  var: set
173
173
  });
174
174
  }
@@ -177,32 +177,32 @@ function VarSet(_ref2) {
177
177
  if (mode === _constants.SELECTION_MODES.SINGLE) {
178
178
  if (active === set.name) {
179
179
  dispatch({
180
- type: "reset.var"
180
+ type: 'reset.var'
181
181
  });
182
182
  }
183
183
  } else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
184
184
  if (active.includes(set.name)) {
185
185
  dispatch({
186
- type: "deselect.multivar",
186
+ type: 'deselect.multivar',
187
187
  var: set
188
188
  });
189
189
  }
190
190
  }
191
191
  dispatch({
192
- type: "remove.var",
192
+ type: 'remove.var',
193
193
  var: set
194
194
  });
195
195
  };
196
196
  const removeSetVar = v => {
197
197
  dispatch({
198
- type: "remove.varSet.var",
198
+ type: 'remove.varSet.var',
199
199
  varSet: set,
200
200
  var: v
201
201
  });
202
202
  };
203
203
  const toggleSet = () => {
204
204
  dispatch({
205
- type: "toggle.multivar",
205
+ type: 'toggle.multivar',
206
206
  var: set
207
207
  });
208
208
  };
@@ -39,7 +39,7 @@ function Violin(_ref) {
39
39
  plotType,
40
40
  setPlotType
41
41
  } = _ref;
42
- const ENDPOINT = "violin";
42
+ const ENDPOINT = 'violin';
43
43
  const dataset = (0, _DatasetContext.useDataset)();
44
44
  const settings = (0, _SettingsContext.useSettings)();
45
45
  const {
@@ -125,15 +125,15 @@ function Violin(_ref) {
125
125
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
126
126
  className: "flex-grow-1 position-relative",
127
127
  style: {
128
- minHeight: "0"
128
+ minHeight: '0'
129
129
  },
130
130
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactPlotly.default, {
131
131
  data: data,
132
132
  layout: layout,
133
133
  useResizeHandler: true,
134
134
  style: {
135
- width: "100%",
136
- height: "100%"
135
+ width: '100%',
136
+ height: '100%'
137
137
  },
138
138
  config: {
139
139
  displaylogo: false,
@@ -171,25 +171,25 @@ function Violin(_ref) {
171
171
  setPlotType: setPlotType,
172
172
  children: [mode === _constants.VIOLIN_MODES.MULTIKEY && /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
173
173
  className: "p-0 m-0",
174
- children: ["Select one or more", " ", showVarsBtn ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
174
+ children: ["Select one or more", ' ', showVarsBtn ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
175
175
  variant: "link",
176
176
  className: "border-0 p-0 align-baseline",
177
177
  onClick: setShowVars,
178
178
  children: "features"
179
- }) : "features", " ", "to display their expression distributions across all observations."]
179
+ }) : 'features', ' ', "to display their expression distributions across all observations."]
180
180
  }), mode === _constants.VIOLIN_MODES.GROUPBY && /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
181
181
  className: "p-0 m-0",
182
- children: ["Select a", " ", showObsBtn ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
182
+ children: ["Select a", ' ', showObsBtn ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
183
183
  variant: "link",
184
184
  className: "border-0 p-0 align-baseline",
185
185
  onClick: setShowObs,
186
186
  children: "category"
187
- }) : "category", " ", "to group observations, and choose a", " ", showVarsBtn ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
187
+ }) : 'category', ' ', "to group observations, and choose a", ' ', showVarsBtn ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
188
188
  variant: "link",
189
189
  className: "border-0 p-0 align-baseline",
190
190
  onClick: setShowVars,
191
191
  children: "feature"
192
- }) : "feature", " ", "to view its distribution within each group."]
192
+ }) : 'feature', ' ', "to view its distribution within each group."]
193
193
  })]
194
194
  });
195
195
  } else {
@@ -198,7 +198,7 @@ function Violin(_ref) {
198
198
  heading: "Error displaying the violin plot",
199
199
  plotType: plotType,
200
200
  setPlotType: setPlotType,
201
- children: serverError.message || "An unexpected error occurred while generating the plot."
201
+ children: serverError.message || 'An unexpected error occurred while generating the plot.'
202
202
  });
203
203
  }
204
204
  }
@@ -6,23 +6,23 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.COLORSCALES = void 0;
7
7
  // From plotly https://github.com/plotly/plotly.js/blob/5bc25b490702e5ed61265207833dbd58e8ab27f1/src/components/colorscale/scales.js
8
8
  const COLORSCALES = exports.COLORSCALES = {
9
- Greys: ["#000000", "#ffffff"],
10
- YlGnBu: ["#081d58", "#253494", "#225ea8", "#1d91c0", "#41b6c4", "#7fcdbb", "#c7e9b4", "#edf8d9", "#ffffd9"],
11
- Greens: ["#00441b", "#006d2c", "#238b45", "#41ab5d", "#74c476", "#a1d9a5", "#c7e9c0", "#e5f5e0", "#f7fcf5"],
12
- YlOrRd: ["#800026", "#bd0026", "#e31a1c", "#fc4e2a", "#fd8d3c", "#feb24c", "#fed976", "#ffed9f", "#ffffcc"],
13
- Bluered: ["#0000ff", "#ff0000"],
14
- RdBu: ["#050aac", "#6a89f7", "#bebebe", "#dcaa84", "#e6915a", "#b20a1c"],
15
- Reds: ["#dcdcdc", "#f5c39d", "#f5a069", "#b20a1c"],
16
- Blues: ["#050aac", "#283cba", "#4664f5", "#5a78f5", "#6a89f7", "#dcdcdc"],
17
- Picnic: ["#0000ff", "#3399ff", "#66ccff", "#99ccff", "#ccccff", "#ffffff", "#ffccff", "#ff99ff", "#ff66cc", "#ff6666", "#ff0000"],
18
- Rainbow: ["#96005a", "#0000c8", "#0019ff", "#0098ff", "#2cff96", "#97ff00", "#ffe600", "#ff6f00", "#ff0000"],
19
- Portland: ["#0c3383", "#0a88ba", "#f2d338", "#f28f38", "#d91e1e"],
20
- Jet: ["#000083", "#003caa", "#05ffff", "#ffff00", "#fa0000", "#800000"],
21
- Hot: ["#000000", "#e60000", "#ffd200", "#ffffff"],
22
- Blackbody: ["#000000", "#e60000", "#e6d200", "#ffffff", "#a0c8ff"],
23
- Earth: ["#000082", "#00b4b4", "#28d228", "#e6e632", "#784614", "#ffffff"],
24
- Electric: ["#000000", "#1e0064", "#780064", "#a05a00", "#e6c800", "#fffadc"],
25
- Viridis: ["#440154", "#48186a", "#472d7b", "#424086", "#3b528b", "#33638d", "#2c728e", "#26828e", "#21918c", "#1fa088", "#28ae80", "#3fbc73", "#5ec962", "#84d44b", "#addc30", "#d8e219", "#fde725"],
26
- Cividis: ["#00204c", "#002a66", "#00346e", "#273f6c", "#3c4a6c", "#4c556b", "#5b5f6d", "#686a70", "#757575", "#838178", "#929c78", "#a19676", "#b0a572", "#c0af6d", "#d1ba65", "#e1c75c", "#f3db4f", "#ffe945"],
27
- Accent: ["#7fc97f", "#beaed4", "#fdc086", "#ffff99", "#386cb0", "#f0027f", "#bf5b17", "#666666"]
9
+ Greys: ['#000000', '#ffffff'],
10
+ YlGnBu: ['#081d58', '#253494', '#225ea8', '#1d91c0', '#41b6c4', '#7fcdbb', '#c7e9b4', '#edf8d9', '#ffffd9'],
11
+ Greens: ['#00441b', '#006d2c', '#238b45', '#41ab5d', '#74c476', '#a1d9a5', '#c7e9c0', '#e5f5e0', '#f7fcf5'],
12
+ YlOrRd: ['#800026', '#bd0026', '#e31a1c', '#fc4e2a', '#fd8d3c', '#feb24c', '#fed976', '#ffed9f', '#ffffcc'],
13
+ Bluered: ['#0000ff', '#ff0000'],
14
+ RdBu: ['#050aac', '#6a89f7', '#bebebe', '#dcaa84', '#e6915a', '#b20a1c'],
15
+ Reds: ['#dcdcdc', '#f5c39d', '#f5a069', '#b20a1c'],
16
+ Blues: ['#050aac', '#283cba', '#4664f5', '#5a78f5', '#6a89f7', '#dcdcdc'],
17
+ Picnic: ['#0000ff', '#3399ff', '#66ccff', '#99ccff', '#ccccff', '#ffffff', '#ffccff', '#ff99ff', '#ff66cc', '#ff6666', '#ff0000'],
18
+ Rainbow: ['#96005a', '#0000c8', '#0019ff', '#0098ff', '#2cff96', '#97ff00', '#ffe600', '#ff6f00', '#ff0000'],
19
+ Portland: ['#0c3383', '#0a88ba', '#f2d338', '#f28f38', '#d91e1e'],
20
+ Jet: ['#000083', '#003caa', '#05ffff', '#ffff00', '#fa0000', '#800000'],
21
+ Hot: ['#000000', '#e60000', '#ffd200', '#ffffff'],
22
+ Blackbody: ['#000000', '#e60000', '#e6d200', '#ffffff', '#a0c8ff'],
23
+ Earth: ['#000082', '#00b4b4', '#28d228', '#e6e632', '#784614', '#ffffff'],
24
+ Electric: ['#000000', '#1e0064', '#780064', '#a05a00', '#e6c800', '#fffadc'],
25
+ Viridis: ['#440154', '#48186a', '#472d7b', '#424086', '#3b528b', '#33638d', '#2c728e', '#26828e', '#21918c', '#1fa088', '#28ae80', '#3fbc73', '#5ec962', '#84d44b', '#addc30', '#d8e219', '#fde725'],
26
+ Cividis: ['#00204c', '#002a66', '#00346e', '#273f6c', '#3c4a6c', '#4c556b', '#5b5f6d', '#686a70', '#757575', '#838178', '#929c78', '#a19676', '#b0a572', '#c0af6d', '#d1ba65', '#e1c75c', '#f3db4f', '#ffe945'],
27
+ Accent: ['#7fc97f', '#beaed4', '#fdc086', '#ffff99', '#386cb0', '#f0027f', '#bf5b17', '#666666']
28
28
  };