@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
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SpatialControls = SpatialControls;
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 _iconsMaterial = require("@mui/icons-material");
@@ -18,8 +18,8 @@ var _offcanvas = require("../offcanvas");
18
18
  var _ScatterplotControls = require("./ScatterplotControls");
19
19
  var _constants = require("../../constants/constants");
20
20
  var _SettingsContext = require("../../context/SettingsContext");
21
+ var _jsxRuntime = require("react/jsx-runtime");
21
22
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
- 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); }
23
23
  function SpatialControls(_ref) {
24
24
  var _features$features;
25
25
  let {
@@ -71,109 +71,136 @@ function SpatialControls(_ref) {
71
71
  features: []
72
72
  });
73
73
  };
74
- const polygonControls = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
75
- active: settings.sliceBy.polygons,
76
- title: "Filter data with polygons",
77
- onClick: () => {
78
- setMode(() => _editModes.ViewMode);
79
- dispatch({
80
- type: "toggle.slice.polygons"
81
- });
82
- }
83
- }, /*#__PURE__*/_react.default.createElement(_iconsMaterial.JoinInner, null)), /*#__PURE__*/_react.default.createElement(_Button.default, {
84
- title: "Delete selected polygons",
85
- onClick: () => {
86
- const newFeatures = features.features.filter((_f, i) => !selectedFeatureIndexes.includes(i));
87
- setFeatures({
88
- type: "FeatureCollection",
89
- features: newFeatures
90
- });
91
- },
92
- disabled: !selectedFeatureIndexes.length
93
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
94
- icon: _freeSolidSvgIcons.faTrash
95
- })));
96
- return /*#__PURE__*/_react.default.createElement("div", {
97
- className: "cherita-spatial-controls"
98
- }, (showObsBtn || showVarsBtn) && /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
99
- vertical: true,
100
- className: "w-100 mb-1"
101
- }, showObsBtn && /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
102
- placement: "right",
103
- overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
104
- id: "tooltip-obs"
105
- }, "Browse categories")
106
- }, /*#__PURE__*/_react.default.createElement(_Button.default, {
107
- onClick: () => setShowObs(true)
108
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
109
- icon: _freeSolidSvgIcons.faList
110
- }))), showVarsBtn && /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
111
- placement: "right",
112
- overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
113
- id: "tooltip-vars"
114
- }, "Search features")
115
- }, /*#__PURE__*/_react.default.createElement(_Button.default, {
116
- onClick: () => setShowVars(true)
117
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
118
- icon: _freeSolidSvgIcons.faSearch
119
- })))), /*#__PURE__*/_react.default.createElement(_ButtonGroup.default, {
120
- vertical: true,
121
- className: "w-100"
122
- }, /*#__PURE__*/_react.default.createElement(_Button.default, {
123
- onClick: () => setMode(() => _editModes.ViewMode),
124
- title: "Set dragging mode",
125
- active: mode === _editModes.ViewMode
126
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
127
- icon: _freeSolidSvgIcons.faHand
128
- })), /*#__PURE__*/_react.default.createElement(_Button.default, {
129
- onClick: increaseZoom,
130
- title: "Increase zoom"
131
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
132
- icon: _freeSolidSvgIcons.faPlus
133
- })), /*#__PURE__*/_react.default.createElement(_Button.default, {
134
- onClick: decreaseZoom,
135
- title: "Decrease zoom"
136
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
137
- icon: _freeSolidSvgIcons.faMinus
138
- })), /*#__PURE__*/_react.default.createElement("div", {
139
- className: "border-bottom"
140
- }), " ", /*#__PURE__*/_react.default.createElement(_Button.default, {
141
- onClick: resetBounds,
142
- title: "Reset zoom and center"
143
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
144
- icon: _freeSolidSvgIcons.faCrosshairs
145
- })), /*#__PURE__*/_react.default.createElement(_Dropdown.default, {
146
- as: _ButtonGroup.default,
147
- className: "caret-off",
148
- drop: "end",
149
- onSelect: onSelect
150
- }, /*#__PURE__*/_react.default.createElement(_Dropdown.default.Toggle, {
151
- id: "dropdown-autoclose-outside",
152
- className: "caret-off ".concat(mode === _editModes.DrawPolygonByDraggingMode || mode === _editModes.ModifyMode ? "active" : "")
153
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
154
- icon: _freeSolidSvgIcons.faDrawPolygon
155
- })), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Menu, null, /*#__PURE__*/_react.default.createElement(_Dropdown.default.Header, null, "Polygon tools"), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Item, {
156
- eventKey: "DrawPolygonByDraggingMode"
157
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
158
- icon: _freeSolidSvgIcons.faDrawPolygon,
159
- className: "nav-icon"
160
- }), "Draw a polygon"), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Item, {
161
- eventKey: "ModifyMode"
162
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
163
- icon: _freeSolidSvgIcons.faPen,
164
- className: "nav-icon"
165
- }), "Modify polygons"), /*#__PURE__*/_react.default.createElement(_Dropdown.default.Item, {
166
- onClick: deleteFeatures
167
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
168
- icon: _freeSolidSvgIcons.faTrash,
169
- className: "nav-icon"
170
- }), "Delete polygons"))), !!(features !== null && features !== void 0 && (_features$features = features.features) !== null && _features$features !== void 0 && _features$features.length) && polygonControls, /*#__PURE__*/_react.default.createElement(_Button.default, {
171
- onClick: handleShowControls
172
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
173
- icon: _freeSolidSvgIcons.faSliders
174
- }))), /*#__PURE__*/_react.default.createElement(_offcanvas.OffcanvasControls, {
175
- show: showControls,
176
- handleClose: handleCloseControls,
177
- Controls: _ScatterplotControls.ScatterplotControls
178
- }));
74
+ const polygonControls = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
75
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
76
+ active: settings.sliceBy.polygons,
77
+ title: "Filter data with polygons",
78
+ onClick: () => {
79
+ setMode(() => _editModes.ViewMode);
80
+ dispatch({
81
+ type: "toggle.slice.polygons"
82
+ });
83
+ },
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_iconsMaterial.JoinInner, {})
85
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
86
+ title: "Delete selected polygons",
87
+ onClick: () => {
88
+ const newFeatures = features.features.filter((_f, i) => !selectedFeatureIndexes.includes(i));
89
+ setFeatures({
90
+ type: "FeatureCollection",
91
+ features: newFeatures
92
+ });
93
+ },
94
+ disabled: !selectedFeatureIndexes.length,
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
96
+ icon: _freeSolidSvgIcons.faTrash
97
+ })
98
+ })]
99
+ });
100
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
101
+ className: "cherita-spatial-controls",
102
+ children: [(showObsBtn || showVarsBtn) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
103
+ vertical: true,
104
+ className: "w-100 mb-1",
105
+ children: [showObsBtn && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.OverlayTrigger, {
106
+ placement: "right",
107
+ overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Tooltip, {
108
+ id: "tooltip-obs",
109
+ children: "Browse categories"
110
+ }),
111
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
112
+ onClick: () => setShowObs(true),
113
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
114
+ icon: _freeSolidSvgIcons.faList
115
+ })
116
+ })
117
+ }), showVarsBtn && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.OverlayTrigger, {
118
+ placement: "right",
119
+ overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Tooltip, {
120
+ id: "tooltip-vars",
121
+ children: "Search features"
122
+ }),
123
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
124
+ onClick: () => setShowVars(true),
125
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
126
+ icon: _freeSolidSvgIcons.faSearch
127
+ })
128
+ })
129
+ })]
130
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_ButtonGroup.default, {
131
+ vertical: true,
132
+ className: "w-100",
133
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
134
+ onClick: () => setMode(() => _editModes.ViewMode),
135
+ title: "Set dragging mode",
136
+ active: mode === _editModes.ViewMode,
137
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
138
+ icon: _freeSolidSvgIcons.faHand
139
+ })
140
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
141
+ onClick: increaseZoom,
142
+ title: "Increase zoom",
143
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
144
+ icon: _freeSolidSvgIcons.faPlus
145
+ })
146
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
147
+ onClick: decreaseZoom,
148
+ title: "Decrease zoom",
149
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
150
+ icon: _freeSolidSvgIcons.faMinus
151
+ })
152
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
153
+ className: "border-bottom"
154
+ }), " ", /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
155
+ onClick: resetBounds,
156
+ title: "Reset zoom and center",
157
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
158
+ icon: _freeSolidSvgIcons.faCrosshairs
159
+ })
160
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dropdown.default, {
161
+ as: _ButtonGroup.default,
162
+ className: "caret-off",
163
+ drop: "end",
164
+ onSelect: onSelect,
165
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.default.Toggle, {
166
+ id: "dropdown-autoclose-outside",
167
+ className: "caret-off ".concat(mode === _editModes.DrawPolygonByDraggingMode || mode === _editModes.ModifyMode ? "active" : ""),
168
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
169
+ icon: _freeSolidSvgIcons.faDrawPolygon
170
+ })
171
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dropdown.default.Menu, {
172
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.default.Header, {
173
+ children: "Polygon tools"
174
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dropdown.default.Item, {
175
+ eventKey: "DrawPolygonByDraggingMode",
176
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
177
+ icon: _freeSolidSvgIcons.faDrawPolygon,
178
+ className: "nav-icon"
179
+ }), "Draw a polygon"]
180
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dropdown.default.Item, {
181
+ eventKey: "ModifyMode",
182
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
183
+ icon: _freeSolidSvgIcons.faPen,
184
+ className: "nav-icon"
185
+ }), "Modify polygons"]
186
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Dropdown.default.Item, {
187
+ onClick: deleteFeatures,
188
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
189
+ icon: _freeSolidSvgIcons.faTrash,
190
+ className: "nav-icon"
191
+ }), "Delete polygons"]
192
+ })]
193
+ })]
194
+ }), !!(features !== null && features !== void 0 && (_features$features = features.features) !== null && _features$features !== void 0 && _features$features.length) && polygonControls, /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
195
+ onClick: handleShowControls,
196
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
197
+ icon: _freeSolidSvgIcons.faSliders
198
+ })
199
+ })]
200
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_offcanvas.OffcanvasControls, {
201
+ show: showControls,
202
+ handleClose: handleCloseControls,
203
+ Controls: _ScatterplotControls.ScatterplotControls
204
+ })]
205
+ });
179
206
  }
@@ -4,42 +4,53 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Toolbox = Toolbox;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _reactBootstrap = require("react-bootstrap");
9
8
  var _string = require("../../utils/string");
10
9
  var _ObsmList = require("../obsm-list/ObsmList");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ var _jsxRuntime = require("react/jsx-runtime");
12
11
  function Toolbox(_ref) {
13
12
  let {
14
13
  mode,
15
14
  obsLength,
16
- slicedLength
15
+ slicedLength,
16
+ setHasObsm
17
17
  } = _ref;
18
- return /*#__PURE__*/_react.default.createElement("div", {
19
- className: "cherita-toolbox"
20
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_ObsmList.ObsmKeysList, null), (mode || !isNaN(obsLength)) && (mode !== null && !isNaN(slicedLength) && slicedLength !== obsLength ? /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
21
- placement: "top",
22
- overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
23
- id: "tooltip-dropped-mode"
24
- }, "You have selected ", (0, _string.formatNumerical)(slicedLength), " out of", " ", (0, _string.formatNumerical)(obsLength), " cells")
25
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
26
- size: "sm",
27
- variant: "primary",
28
- style: {
29
- cursor: "default"
30
- },
31
- "aria-disabled": "true"
32
- }, (0, _string.formatNumerical)(slicedLength), " of ", (0, _string.formatNumerical)(obsLength), " ", "cells")) : /*#__PURE__*/_react.default.createElement(_reactBootstrap.OverlayTrigger, {
33
- placement: "top",
34
- overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, {
35
- id: "tooltip-dropped-mode"
36
- }, "You are viewing ", (0, _string.formatNumerical)(obsLength), " cells")
37
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
38
- size: "sm",
39
- variant: "primary",
40
- style: {
41
- cursor: "default"
42
- },
43
- "aria-disabled": "true"
44
- }, (0, _string.formatNumerical)(obsLength), " cells")))));
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
19
+ className: "cherita-toolbox",
20
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.ButtonGroup, {
21
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ObsmList.ObsmKeysList, {
22
+ setHasObsm: setHasObsm
23
+ }), (mode || !isNaN(obsLength)) && (mode !== null && !isNaN(slicedLength) && slicedLength !== obsLength ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.OverlayTrigger, {
24
+ placement: "top",
25
+ overlay: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Tooltip, {
26
+ id: "tooltip-dropped-mode",
27
+ children: ["You have selected ", (0, _string.formatNumerical)(slicedLength), " out of", " ", (0, _string.formatNumerical)(obsLength), " cells"]
28
+ }),
29
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Button, {
30
+ size: "sm",
31
+ variant: "primary",
32
+ style: {
33
+ cursor: "default"
34
+ },
35
+ "aria-disabled": "true",
36
+ children: [(0, _string.formatNumerical)(slicedLength), " of ", (0, _string.formatNumerical)(obsLength), " ", "cells"]
37
+ })
38
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.OverlayTrigger, {
39
+ placement: "top",
40
+ overlay: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Tooltip, {
41
+ id: "tooltip-dropped-mode",
42
+ children: ["You are viewing ", (0, _string.formatNumerical)(obsLength), " cells"]
43
+ }),
44
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Button, {
45
+ size: "sm",
46
+ variant: "primary",
47
+ style: {
48
+ cursor: "default"
49
+ },
50
+ "aria-disabled": "true",
51
+ children: [(0, _string.formatNumerical)(obsLength), " cells"]
52
+ })
53
+ }))]
54
+ })
55
+ });
45
56
  }