@haniffalab/cherita-react 1.4.1-dev.2025-10-22.61540191 → 1.4.1-dev.2025-10-23.3179e534

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 (103) hide show
  1. package/dist/cjs/components/controls/Controls.js +38 -30
  2. package/dist/cjs/components/dotplot/Dotplot.js +40 -33
  3. package/dist/cjs/components/dotplot/DotplotControls.js +103 -83
  4. package/dist/cjs/components/full-page/FullPage.js +92 -69
  5. package/dist/cjs/components/full-page/PlotAlert.js +25 -16
  6. package/dist/cjs/components/full-page/PlotTypeSelector.js +43 -36
  7. package/dist/cjs/components/heatmap/Heatmap.js +40 -33
  8. package/dist/cjs/components/heatmap/HeatmapControls.js +6 -3
  9. package/dist/cjs/components/icons/DotPlotIcon.js +16 -10
  10. package/dist/cjs/components/icons/HeatmapIcon.js +17 -11
  11. package/dist/cjs/components/icons/MatrixPlotIcon.1.js +22 -16
  12. package/dist/cjs/components/icons/MatrixPlotIcon.js +22 -16
  13. package/dist/cjs/components/icons/ScatterplotIcon.1.js +21 -15
  14. package/dist/cjs/components/icons/ScatterplotIcon.js +21 -15
  15. package/dist/cjs/components/icons/ViolinPlotIcon.js +22 -14
  16. package/dist/cjs/components/matrixplot/Matrixplot.js +40 -33
  17. package/dist/cjs/components/matrixplot/MatrixplotControls.js +8 -5
  18. package/dist/cjs/components/obs-list/ObsItem.js +238 -190
  19. package/dist/cjs/components/obs-list/ObsList.js +106 -87
  20. package/dist/cjs/components/obs-list/ObsToolbar.js +2 -3
  21. package/dist/cjs/components/obsm-list/ObsmList.js +47 -32
  22. package/dist/cjs/components/offcanvas/index.js +61 -31
  23. package/dist/cjs/components/pseudospatial/Pseudospatial.js +46 -36
  24. package/dist/cjs/components/pseudospatial/PseudospatialToolbar.js +98 -68
  25. package/dist/cjs/components/scatterplot/Scatterplot.js +87 -65
  26. package/dist/cjs/components/scatterplot/ScatterplotControls.js +35 -27
  27. package/dist/cjs/components/scatterplot/SpatialControls.js +134 -107
  28. package/dist/cjs/components/scatterplot/Toolbox.js +41 -30
  29. package/dist/cjs/components/search-bar/SearchBar.js +157 -110
  30. package/dist/cjs/components/search-bar/SearchInfo.js +73 -47
  31. package/dist/cjs/components/search-bar/SearchResults.js +93 -71
  32. package/dist/cjs/components/toolbar/Toolbar.js +43 -34
  33. package/dist/cjs/components/var-list/VarItem.js +106 -79
  34. package/dist/cjs/components/var-list/VarList.js +67 -53
  35. package/dist/cjs/components/var-list/VarListToolbar.js +56 -51
  36. package/dist/cjs/components/var-list/VarSet.js +115 -97
  37. package/dist/cjs/components/violin/Violin.js +77 -58
  38. package/dist/cjs/components/violin/ViolinControls.js +8 -5
  39. package/dist/cjs/context/DatasetContext.js +20 -13
  40. package/dist/cjs/context/FilterContext.js +9 -7
  41. package/dist/cjs/context/SettingsContext.js +11 -9
  42. package/dist/cjs/context/ZarrDataContext.js +6 -5
  43. package/dist/cjs/utils/Histogram.js +35 -33
  44. package/dist/cjs/utils/ImageViewer.js +9 -6
  45. package/dist/cjs/utils/Legend.js +36 -29
  46. package/dist/cjs/utils/LoadingIndicators.js +14 -12
  47. package/dist/cjs/utils/Skeleton.js +10 -10
  48. package/dist/cjs/utils/StyledTooltip.js +7 -2
  49. package/dist/cjs/utils/VirtualizedList.js +32 -25
  50. package/dist/cjs/utils/errors.js +1 -1
  51. package/dist/css/cherita.css +6 -1
  52. package/dist/css/cherita.css.map +1 -1
  53. package/dist/esm/components/controls/Controls.js +38 -30
  54. package/dist/esm/components/dotplot/Dotplot.js +40 -33
  55. package/dist/esm/components/dotplot/DotplotControls.js +103 -82
  56. package/dist/esm/components/full-page/FullPage.js +92 -69
  57. package/dist/esm/components/full-page/PlotAlert.js +25 -16
  58. package/dist/esm/components/full-page/PlotTypeSelector.js +43 -36
  59. package/dist/esm/components/heatmap/Heatmap.js +40 -33
  60. package/dist/esm/components/heatmap/HeatmapControls.js +6 -2
  61. package/dist/esm/components/icons/DotPlotIcon.js +16 -10
  62. package/dist/esm/components/icons/HeatmapIcon.js +17 -11
  63. package/dist/esm/components/icons/MatrixPlotIcon.1.js +22 -16
  64. package/dist/esm/components/icons/MatrixPlotIcon.js +22 -16
  65. package/dist/esm/components/icons/ScatterplotIcon.1.js +21 -15
  66. package/dist/esm/components/icons/ScatterplotIcon.js +21 -15
  67. package/dist/esm/components/icons/ViolinPlotIcon.js +22 -14
  68. package/dist/esm/components/matrixplot/Matrixplot.js +40 -33
  69. package/dist/esm/components/matrixplot/MatrixplotControls.js +8 -4
  70. package/dist/esm/components/obs-list/ObsItem.js +237 -186
  71. package/dist/esm/components/obs-list/ObsList.js +106 -86
  72. package/dist/esm/components/obs-list/ObsToolbar.js +2 -2
  73. package/dist/esm/components/obsm-list/ObsmList.js +47 -31
  74. package/dist/esm/components/offcanvas/index.js +61 -31
  75. package/dist/esm/components/pseudospatial/Pseudospatial.js +46 -36
  76. package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +98 -68
  77. package/dist/esm/components/scatterplot/Scatterplot.js +87 -64
  78. package/dist/esm/components/scatterplot/ScatterplotControls.js +35 -26
  79. package/dist/esm/components/scatterplot/SpatialControls.js +134 -106
  80. package/dist/esm/components/scatterplot/Toolbox.js +41 -29
  81. package/dist/esm/components/search-bar/SearchBar.js +157 -109
  82. package/dist/esm/components/search-bar/SearchInfo.js +73 -46
  83. package/dist/esm/components/search-bar/SearchResults.js +93 -70
  84. package/dist/esm/components/toolbar/Toolbar.js +43 -33
  85. package/dist/esm/components/var-list/VarItem.js +106 -78
  86. package/dist/esm/components/var-list/VarList.js +67 -52
  87. package/dist/esm/components/var-list/VarListToolbar.js +56 -50
  88. package/dist/esm/components/var-list/VarSet.js +115 -96
  89. package/dist/esm/components/violin/Violin.js +77 -58
  90. package/dist/esm/components/violin/ViolinControls.js +8 -4
  91. package/dist/esm/context/DatasetContext.js +20 -12
  92. package/dist/esm/context/FilterContext.js +9 -6
  93. package/dist/esm/context/SettingsContext.js +11 -8
  94. package/dist/esm/context/ZarrDataContext.js +6 -4
  95. package/dist/esm/utils/Histogram.js +35 -33
  96. package/dist/esm/utils/ImageViewer.js +9 -5
  97. package/dist/esm/utils/Legend.js +36 -28
  98. package/dist/esm/utils/LoadingIndicators.js +14 -11
  99. package/dist/esm/utils/Skeleton.js +10 -9
  100. package/dist/esm/utils/StyledTooltip.js +7 -2
  101. package/dist/esm/utils/VirtualizedList.js +32 -24
  102. package/dist/esm/utils/errors.js +1 -1
  103. package/package.json +3 -3
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.VarNamesList = VarNamesList;
7
7
  exports.useVarMean = exports.sortMeans = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = require("react");
9
9
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
10
10
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
11
11
  var _lodash = _interopRequireDefault(require("lodash"));
@@ -21,8 +21,8 @@ var _SettingsContext = require("../../context/SettingsContext");
21
21
  var _LoadingIndicators = require("../../utils/LoadingIndicators");
22
22
  var _requests = require("../../utils/requests");
23
23
  var _Resolver = require("../../utils/Resolver");
24
+ var _jsxRuntime = require("react/jsx-runtime");
24
25
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
26
26
  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; }
27
27
  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; }
28
28
  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; }
@@ -106,22 +106,22 @@ function VarNamesList(_ref) {
106
106
  }
107
107
  }, [settings.varSort.var.sort, settings.varSort.var.sortOrder, varMeans.isPending, varMeans.serverError, varMeans.fetchedData, settingsVars]);
108
108
  const makeListItem = item => {
109
- return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
110
- key: item.matrix_index
111
- }, /*#__PURE__*/_react.default.createElement(_VarItem.VarItem, {
112
- item: item,
113
- active: active,
114
- mode: mode
115
- }));
109
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup.Item, {
110
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_VarItem.VarItem, {
111
+ item: item,
112
+ active: active,
113
+ mode: mode
114
+ })
115
+ }, item.matrix_index);
116
116
  };
117
117
  const makeSetListItem = set => {
118
- return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
119
- key: set.name
120
- }, /*#__PURE__*/_react.default.createElement(_VarSet.VarSet, {
121
- set: set,
122
- active: active,
123
- mode: mode
124
- }));
118
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup.Item, {
119
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_VarSet.VarSet, {
120
+ set: set,
121
+ active: active,
122
+ mode: mode
123
+ })
124
+ }, set.name);
125
125
  };
126
126
  const varList = _lodash.default.map(sortedVars, item => {
127
127
  if (item.isSet) {
@@ -143,41 +143,55 @@ function VarNamesList(_ref) {
143
143
  return setName;
144
144
  };
145
145
  const isPending = varMeans.isPending && settings.varSort.var.sort === _constants.VAR_SORT.MATRIX;
146
- return /*#__PURE__*/_react.default.createElement("div", {
147
- className: "mt-3 d-flex flex-column h-100"
148
- }, /*#__PURE__*/_react.default.createElement("div", {
149
- className: "d-flex justify-content-between mb-2"
150
- }, /*#__PURE__*/_react.default.createElement("h5", null, _lodash.default.capitalize(displayName)), /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
151
- "aria-label": "Feature options",
152
- size: "sm"
153
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
154
- variant: "info",
155
- onClick: () => {
156
- dispatch({
157
- type: "add.var",
158
- var: {
159
- name: newSetName(),
160
- vars: [],
161
- isSet: true
162
- }
163
- });
164
- }
165
- }, "New set"), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
166
- variant: "info",
167
- onClick: () => {
168
- dispatch({
169
- type: "reset.vars"
170
- });
171
- }
172
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
173
- icon: _freeSolidSvgIcons.faTimes,
174
- className: "me-1"
175
- }), "Clear"))), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !varList.length ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
176
- variant: "light"
177
- }, "Search for a feature.") : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_VarListToolbar.VarListToolbar, null), /*#__PURE__*/_react.default.createElement("div", {
178
- className: "overflow-auto flex-grow-1 modern-scrollbars"
179
- }, isPending && /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
180
- variant: "flush",
181
- className: "cherita-list"
182
- }, varList)))));
146
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
147
+ className: "mt-3 d-flex flex-column h-100",
148
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
149
+ className: "d-flex justify-content-between mb-2",
150
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h5", {
151
+ children: _lodash.default.capitalize(displayName)
152
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
153
+ "aria-label": "Feature options",
154
+ size: "sm",
155
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
156
+ variant: "info",
157
+ onClick: () => {
158
+ dispatch({
159
+ type: "add.var",
160
+ var: {
161
+ name: newSetName(),
162
+ vars: [],
163
+ isSet: true
164
+ }
165
+ });
166
+ },
167
+ children: "New set"
168
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Button, {
169
+ variant: "info",
170
+ onClick: () => {
171
+ dispatch({
172
+ type: "reset.vars"
173
+ });
174
+ },
175
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
176
+ icon: _freeSolidSvgIcons.faTimes,
177
+ className: "me-1"
178
+ }), "Clear"]
179
+ })]
180
+ })]
181
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
182
+ children: !varList.length ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Alert, {
183
+ variant: "light",
184
+ children: "Search for a feature."
185
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
186
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_VarListToolbar.VarListToolbar, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
187
+ className: "overflow-auto flex-grow-1 modern-scrollbars",
188
+ children: [isPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicators.LoadingSpinner, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup, {
189
+ variant: "flush",
190
+ className: "cherita-list",
191
+ children: varList
192
+ })]
193
+ })]
194
+ })
195
+ })]
196
+ });
183
197
  }
@@ -4,13 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VarListToolbar = VarListToolbar;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("react");
8
8
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
9
9
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
10
10
  var _reactBootstrap = require("react-bootstrap");
11
11
  var _constants = require("../../constants/constants");
12
12
  var _SettingsContext = require("../../context/SettingsContext");
13
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
14
  // @TODO: set option for "var" and "disease"
15
15
  function VarListToolbar(_ref) {
16
16
  let {
@@ -41,53 +41,58 @@ function VarListToolbar(_ref) {
41
41
  });
42
42
  }
43
43
  };
44
- return /*#__PURE__*/_react.default.createElement("div", {
45
- className: "d-flex justify-content-end align-items-center mb-2"
46
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ToggleButtonGroup, {
47
- name: "sortfeatures",
48
- "aria-label": "Sort features by",
49
- size: "sm",
50
- type: "radio"
51
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ToggleButton, {
52
- id: _constants.VAR_SORT.NAME,
53
- value: _constants.VAR_SORT.NAME,
54
- "aria-label": "alphabetical",
55
- title: "Sort alphabetically",
56
- selected: sort === _constants.VAR_SORT.NAME,
57
- onChange: () => {
58
- handleSort(_constants.VAR_SORT.NAME, nameSortOrder, setNameSortOrder);
59
- }
60
- }, nameSortOrder === _constants.VAR_SORT_ORDER.ASC ? /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
61
- icon: _freeSolidSvgIcons.faArrowDownAZ
62
- }) : /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
63
- icon: _freeSolidSvgIcons.faArrowUpZA
64
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ToggleButton, {
65
- id: _constants.VAR_SORT.MATRIX,
66
- value: _constants.VAR_SORT.MATRIX,
67
- "aria-label": "matrix value",
68
- title: "Sort by matrix value",
69
- selected: sort === _constants.VAR_SORT.MATRIX,
70
- onChange: () => {
71
- handleSort(_constants.VAR_SORT.MATRIX, matrixSortOrder, setMatrixSortOrder);
72
- }
73
- }, matrixSortOrder === _constants.VAR_SORT_ORDER.ASC ? /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
74
- icon: _freeSolidSvgIcons.faArrowDown19
75
- }) : /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
76
- icon: _freeSolidSvgIcons.faArrowUp91
77
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.ToggleButton, {
78
- id: "none",
79
- value: "none",
80
- "aria-label": "none",
81
- title: "No sorting",
82
- onClick: () => {
83
- setSort(_constants.VAR_SORT.NONE);
84
- dispatch({
85
- type: "set.varSort.sort",
86
- var: varType,
87
- sort: _constants.VAR_SORT.NONE
88
- });
89
- }
90
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
91
- icon: _freeSolidSvgIcons.faXmark
92
- }))));
44
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
45
+ className: "d-flex justify-content-end align-items-center mb-2",
46
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.ToggleButtonGroup, {
47
+ name: "sortfeatures",
48
+ "aria-label": "Sort features by",
49
+ size: "sm",
50
+ type: "radio",
51
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ToggleButton, {
52
+ id: _constants.VAR_SORT.NAME,
53
+ value: _constants.VAR_SORT.NAME,
54
+ "aria-label": "alphabetical",
55
+ title: "Sort alphabetically",
56
+ selected: sort === _constants.VAR_SORT.NAME,
57
+ onChange: () => {
58
+ handleSort(_constants.VAR_SORT.NAME, nameSortOrder, setNameSortOrder);
59
+ },
60
+ children: nameSortOrder === _constants.VAR_SORT_ORDER.ASC ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
61
+ icon: _freeSolidSvgIcons.faArrowDownAZ
62
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
63
+ icon: _freeSolidSvgIcons.faArrowUpZA
64
+ })
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ToggleButton, {
66
+ id: _constants.VAR_SORT.MATRIX,
67
+ value: _constants.VAR_SORT.MATRIX,
68
+ "aria-label": "matrix value",
69
+ title: "Sort by matrix value",
70
+ selected: sort === _constants.VAR_SORT.MATRIX,
71
+ onChange: () => {
72
+ handleSort(_constants.VAR_SORT.MATRIX, matrixSortOrder, setMatrixSortOrder);
73
+ },
74
+ children: matrixSortOrder === _constants.VAR_SORT_ORDER.ASC ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
75
+ icon: _freeSolidSvgIcons.faArrowDown19
76
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
77
+ icon: _freeSolidSvgIcons.faArrowUp91
78
+ })
79
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ToggleButton, {
80
+ id: "none",
81
+ value: "none",
82
+ "aria-label": "none",
83
+ title: "No sorting",
84
+ onClick: () => {
85
+ setSort(_constants.VAR_SORT.NONE);
86
+ dispatch({
87
+ type: "set.varSort.sort",
88
+ var: varType,
89
+ sort: _constants.VAR_SORT.NONE
90
+ });
91
+ },
92
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
93
+ icon: _freeSolidSvgIcons.faXmark
94
+ })
95
+ })]
96
+ })
97
+ });
93
98
  }
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VarSet = VarSet;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("react");
8
8
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
9
9
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
10
10
  var _lodash = _interopRequireDefault(require("lodash"));
@@ -13,10 +13,9 @@ var _VarItem = require("./VarItem");
13
13
  var _constants = require("../../constants/constants");
14
14
  var _SettingsContext = require("../../context/SettingsContext");
15
15
  var _SearchBar = require("../search-bar/SearchBar");
16
+ var _jsxRuntime = require("react/jsx-runtime");
16
17
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
18
18
  // @TODO: add button to score genes and plot
19
-
20
19
  const addVarToSet = (dispatch, set, v) => {
21
20
  dispatch({
22
21
  type: "add.varSet.var",
@@ -37,98 +36,117 @@ function SelectionSet(_ref) {
37
36
  const [showModal, setShowModal] = (0, _react.useState)(false);
38
37
  const [searchText, setSearchText] = (0, _react.useState)("");
39
38
  const varList = set.vars.length ? _lodash.default.map(set.vars, v => {
40
- return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, {
41
- key: v.name
42
- }, /*#__PURE__*/_react.default.createElement(_VarItem.SelectionItem, {
43
- item: v,
44
- showSetColorEncoding: false,
45
- removeVar: () => removeSetVar(v)
46
- }));
47
- }) : /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup.Item, null, /*#__PURE__*/_react.default.createElement("div", {
48
- className: "text-muted"
49
- }, "No features in this set"));
50
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
51
- className: "d-flex justify-content-between cursor-pointer",
52
- onClick: () => {
53
- setOpenSet(o => !o);
54
- }
55
- }, /*#__PURE__*/_react.default.createElement("div", {
56
- className: "d-flex justify-content-between align-items-center w-100"
57
- }, /*#__PURE__*/_react.default.createElement("div", {
58
- className: "ellipsis-text",
59
- title: set.name
60
- }, set.name), /*#__PURE__*/_react.default.createElement("div", {
61
- className: "d-flex align-items-center gap-1"
62
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
63
- placement: "top",
64
- overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, null, "This set represents the mean value of its features")
65
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
66
- icon: _freeSolidSvgIcons.faCircleInfo
67
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
68
- type: "button",
69
- variant: "outline-primary",
70
- className: "m-0 p-0 px-1",
71
- disabled: !set.vars.length,
72
- title: "Open set"
73
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
74
- icon: openSet ? _freeSolidSvgIcons.faChevronUp : _freeSolidSvgIcons.faChevronDown
75
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
76
- type: "button",
77
- variant: "outline-primary",
78
- className: "m-0 p-0 px-1",
79
- onClick: e => {
80
- e.stopPropagation();
81
- setShowModal(true);
82
- },
83
- title: "Add to set"
84
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
85
- icon: _freeSolidSvgIcons.faPlus
86
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
87
- type: "button",
88
- variant: isActive ? "primary" : "outline-primary",
89
- className: "m-0 p-0 px-1",
90
- onClick: e => {
91
- e.stopPropagation();
92
- selectSet();
93
- },
94
- disabled: !set.vars.length,
95
- title: "Set as color encoding"
96
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
97
- icon: _freeSolidSvgIcons.faDroplet
98
- }), isMultiple && /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
99
- icon: _freeSolidSvgIcons.faPlus,
100
- size: "xs",
101
- className: "ps-xs-1"
102
- })), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
103
- type: "button",
104
- className: "m-0 p-0 px-1",
105
- variant: "outline-secondary",
106
- title: "Remove from list",
107
- onClick: e => {
108
- e.stopPropagation();
109
- removeSet();
110
- }
111
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
112
- icon: _freeSolidSvgIcons.faTrash
113
- }))))), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Collapse, {
114
- in: openSet
115
- }, /*#__PURE__*/_react.default.createElement("div", {
116
- className: "mt-2"
117
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ListGroup, {
118
- variant: "flush",
119
- className: "cherita-list var-set-list"
120
- }, varList))), /*#__PURE__*/_react.default.createElement(_SearchBar.SearchModal, {
121
- show: showModal,
122
- handleClose: () => setShowModal(false),
123
- text: searchText,
124
- setText: setSearchText,
125
- displayText: "features",
126
- handleSelect: (d, i) => {
127
- addVarToSet(d, set, i);
128
- },
129
- searchVar: true,
130
- searchDiseases: false
131
- }));
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup.Item, {
40
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_VarItem.SelectionItem, {
41
+ item: v,
42
+ showSetColorEncoding: false,
43
+ removeVar: () => removeSetVar(v)
44
+ })
45
+ }, v.name);
46
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup.Item, {
47
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
48
+ className: "text-muted",
49
+ children: "No features in this set"
50
+ })
51
+ });
52
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
54
+ className: "d-flex justify-content-between cursor-pointer",
55
+ onClick: () => {
56
+ setOpenSet(o => !o);
57
+ },
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
59
+ className: "d-flex justify-content-between align-items-center w-100",
60
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
61
+ className: "ellipsis-text",
62
+ title: set.name,
63
+ children: set.name
64
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
65
+ className: "d-flex align-items-center gap-1",
66
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.OverlayTrigger, {
67
+ placement: "top",
68
+ overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Tooltip, {
69
+ children: "This set represents the mean value of its features"
70
+ }),
71
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
72
+ icon: _freeSolidSvgIcons.faCircleInfo
73
+ })
74
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
75
+ type: "button",
76
+ variant: "outline-primary",
77
+ className: "m-0 p-0 px-1",
78
+ disabled: !set.vars.length,
79
+ title: "Open set",
80
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
81
+ icon: openSet ? _freeSolidSvgIcons.faChevronUp : _freeSolidSvgIcons.faChevronDown
82
+ })
83
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
84
+ type: "button",
85
+ variant: "outline-primary",
86
+ className: "m-0 p-0 px-1",
87
+ onClick: e => {
88
+ e.stopPropagation();
89
+ setShowModal(true);
90
+ },
91
+ title: "Add to set",
92
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
93
+ icon: _freeSolidSvgIcons.faPlus
94
+ })
95
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Button, {
96
+ type: "button",
97
+ variant: isActive ? "primary" : "outline-primary",
98
+ className: "m-0 p-0 px-1",
99
+ onClick: e => {
100
+ e.stopPropagation();
101
+ selectSet();
102
+ },
103
+ disabled: !set.vars.length,
104
+ title: "Set as color encoding",
105
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
106
+ icon: _freeSolidSvgIcons.faDroplet
107
+ }), isMultiple && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
108
+ icon: _freeSolidSvgIcons.faPlus,
109
+ size: "xs",
110
+ className: "ps-xs-1"
111
+ })]
112
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Button, {
113
+ type: "button",
114
+ className: "m-0 p-0 px-1",
115
+ variant: "outline-secondary",
116
+ title: "Remove from list",
117
+ onClick: e => {
118
+ e.stopPropagation();
119
+ removeSet();
120
+ },
121
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
122
+ icon: _freeSolidSvgIcons.faTrash
123
+ })
124
+ })]
125
+ })]
126
+ })
127
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Collapse, {
128
+ in: openSet,
129
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
130
+ className: "mt-2",
131
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ListGroup, {
132
+ variant: "flush",
133
+ className: "cherita-list var-set-list",
134
+ children: varList
135
+ })
136
+ })
137
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SearchBar.SearchModal, {
138
+ show: showModal,
139
+ handleClose: () => setShowModal(false),
140
+ text: searchText,
141
+ setText: setSearchText,
142
+ displayText: "features",
143
+ handleSelect: (d, i) => {
144
+ addVarToSet(d, set, i);
145
+ },
146
+ searchVar: true,
147
+ searchDiseases: false
148
+ })]
149
+ });
132
150
  }
133
151
  function VarSet(_ref2) {
134
152
  let {
@@ -189,7 +207,7 @@ function VarSet(_ref2) {
189
207
  });
190
208
  };
191
209
  if (set && mode === _constants.SELECTION_MODES.SINGLE) {
192
- return /*#__PURE__*/_react.default.createElement(SelectionSet, {
210
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SelectionSet, {
193
211
  set: set,
194
212
  isActive: settings.colorEncoding === _constants.COLOR_ENCODINGS.VAR && active === set.name,
195
213
  selectSet: selectSet,
@@ -197,7 +215,7 @@ function VarSet(_ref2) {
197
215
  removeSetVar: v => removeSetVar(v)
198
216
  });
199
217
  } else if (mode === _constants.SELECTION_MODES.MULTIPLE) {
200
- return /*#__PURE__*/_react.default.createElement(SelectionSet, {
218
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SelectionSet, {
201
219
  set: set,
202
220
  isActive: _lodash.default.includes(active, set.name),
203
221
  selectSet: toggleSet,