@haniffalab/cherita-react 0.2.0-dev.2025-01-22.f523ac5e → 0.2.0-dev.2025-01-28.4d5ab0a4

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 (43) hide show
  1. package/README.md +5 -0
  2. package/dist/components/dotplot/Dotplot.js +19 -26
  3. package/dist/components/dotplot/DotplotControls.js +106 -147
  4. package/dist/components/full-page/FullPage.js +99 -148
  5. package/dist/components/heatmap/Heatmap.js +19 -26
  6. package/dist/components/heatmap/HeatmapControls.js +7 -13
  7. package/dist/components/matrixplot/Matrixplot.js +19 -26
  8. package/dist/components/matrixplot/MatrixplotControls.js +14 -35
  9. package/dist/components/obs-list/ObsItem.js +182 -239
  10. package/dist/components/obs-list/ObsList.js +40 -49
  11. package/dist/components/obs-list/ObsToolbar.js +44 -55
  12. package/dist/components/obsm-list/ObsmList.js +15 -23
  13. package/dist/components/offcanvas/index.js +45 -75
  14. package/dist/components/pseudospatial/Pseudospatial.js +26 -34
  15. package/dist/components/pseudospatial/PseudospatialControls.js +1 -2
  16. package/dist/components/pseudospatial/PseudospatialToolbar.js +37 -65
  17. package/dist/components/scatterplot/Scatterplot.js +74 -89
  18. package/dist/components/scatterplot/ScatterplotControls.js +28 -39
  19. package/dist/components/scatterplot/SpatialControls.js +94 -117
  20. package/dist/components/scatterplot/Toolbox.js +16 -24
  21. package/dist/components/search-bar/SearchBar.js +45 -54
  22. package/dist/components/search-bar/SearchResults.js +36 -49
  23. package/dist/components/var-list/VarItem.js +112 -160
  24. package/dist/components/var-list/VarList.js +81 -124
  25. package/dist/components/var-list/VarListToolbar.js +48 -59
  26. package/dist/components/var-list/VarSet.js +95 -120
  27. package/dist/components/violin/Violin.js +31 -46
  28. package/dist/components/violin/ViolinControls.js +8 -22
  29. package/dist/context/DatasetContext.js +17 -27
  30. package/dist/context/FilterContext.js +8 -12
  31. package/dist/context/ZarrDataContext.js +6 -9
  32. package/dist/helpers/color-helper.js +11 -12
  33. package/dist/helpers/map-helper.js +7 -8
  34. package/dist/helpers/zarr-helper.js +9 -15
  35. package/dist/utils/Histogram.js +34 -41
  36. package/dist/utils/ImageViewer.js +9 -14
  37. package/dist/utils/Legend.js +30 -40
  38. package/dist/utils/LoadingIndicators.js +16 -19
  39. package/dist/utils/VirtualizedList.js +32 -39
  40. package/dist/utils/requests.js +15 -25
  41. package/dist/utils/string.js +4 -9
  42. package/dist/utils/zarrData.js +2 -8
  43. package/package.json +40 -34
@@ -15,14 +15,12 @@ var _DatasetContext = require("../../context/DatasetContext");
15
15
  var _FilterContext = require("../../context/FilterContext");
16
16
  var _LoadingIndicators = require("../../utils/LoadingIndicators");
17
17
  var _requests = require("../../utils/requests");
18
- var _jsxRuntime = require("react/jsx-runtime");
19
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
22
- function Violin(_ref) {
23
- let {
24
- mode = _constants.VIOLIN_MODES.MULTIKEY
25
- } = _ref;
21
+ function Violin({
22
+ mode = _constants.VIOLIN_MODES.MULTIKEY
23
+ }) {
26
24
  const ENDPOINT = "violin";
27
25
  const dataset = (0, _DatasetContext.useDataset)();
28
26
  const {
@@ -117,48 +115,35 @@ function Violin(_ref) {
117
115
  }, [fetchedData, hasSelections, isPending, serverError]);
118
116
  if (!serverError) {
119
117
  if (hasSelections) {
120
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
121
- className: "cherita-violin position-relative",
122
- children: [isPending && /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicators.LoadingSpinner, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactPlotly.default, {
123
- data: data,
124
- layout: layout,
125
- useResizeHandler: true,
126
- style: {
127
- maxWidth: "100%",
128
- maxHeight: "100%"
129
- }
130
- }), fetchedData?.resampled && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Alert, {
131
- variant: "warning",
132
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("b", {
133
- children: "Warning:"
134
- }), " 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__*/(0, _jsxRuntime.jsx)(_reactBootstrap.OverlayTrigger, {
135
- placement: "top",
136
- overlay: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Tooltip, {
137
- children: "Resampled to 100K values following a Monte Carlo style approach to help ensure resampled data is a good representation of the original dataset's distribution."
138
- }),
139
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
140
- icon: _freeSolidSvgIcons.faCircleInfo
141
- })
142
- })]
143
- })]
144
- });
118
+ return /*#__PURE__*/_react.default.createElement("div", {
119
+ className: "cherita-violin position-relative"
120
+ }, isPending && /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingSpinner, null), /*#__PURE__*/_react.default.createElement(_reactPlotly.default, {
121
+ data: data,
122
+ layout: layout,
123
+ useResizeHandler: true,
124
+ style: {
125
+ maxWidth: "100%",
126
+ maxHeight: "100%"
127
+ }
128
+ }), fetchedData?.resampled && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
129
+ variant: "warning"
130
+ }, /*#__PURE__*/_react.default.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.default.createElement(_reactBootstrap.OverlayTrigger, {
131
+ placement: "top",
132
+ overlay: /*#__PURE__*/_react.default.createElement(_reactBootstrap.Tooltip, null, "Resampled to 100K values following a Monte Carlo style approach to help ensure resampled data is a good representation of the original dataset's distribution.")
133
+ }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
134
+ icon: _freeSolidSvgIcons.faCircleInfo
135
+ }))));
145
136
  }
146
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
147
- className: "cherita-violin",
148
- children: [mode === _constants.VIOLIN_MODES.MULTIKEY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Alert, {
149
- variant: "light",
150
- children: "Select features"
151
- }), mode === _constants.VIOLIN_MODES.GROUPBY && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Alert, {
152
- variant: "light",
153
- children: "Select categories and a feature"
154
- })]
155
- });
137
+ return /*#__PURE__*/_react.default.createElement("div", {
138
+ className: "cherita-violin"
139
+ }, mode === _constants.VIOLIN_MODES.MULTIKEY && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
140
+ variant: "light"
141
+ }, "Select features"), mode === _constants.VIOLIN_MODES.GROUPBY && /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
142
+ variant: "light"
143
+ }, "Select categories and a feature"));
156
144
  } else {
157
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
158
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Alert, {
159
- variant: "danger",
160
- children: serverError.message
161
- })
162
- });
145
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
146
+ variant: "danger"
147
+ }, serverError.message));
163
148
  }
164
149
  }
@@ -9,12 +9,12 @@ var _lodash = _interopRequireDefault(require("lodash"));
9
9
  var _reactBootstrap = require("react-bootstrap");
10
10
  var _constants = require("../../constants/constants");
11
11
  var _DatasetContext = require("../../context/DatasetContext");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
13
  function ViolinControls() {
15
14
  const dataset = (0, _DatasetContext.useDataset)();
16
15
  const dispatch = (0, _DatasetContext.useDatasetDispatch)();
17
- const scaleList = _lodash.default.values(_constants.VIOLINPLOT_SCALES).map(scale => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Item, {
16
+ const scaleList = _lodash.default.values(_constants.VIOLINPLOT_SCALES).map(scale => /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Item, {
17
+ key: scale.value,
18
18
  active: dataset.controls.scale.violinplot === scale,
19
19
  onClick: () => {
20
20
  dispatch({
@@ -22,24 +22,10 @@ function ViolinControls() {
22
22
  plot: "violinplot",
23
23
  scale: scale
24
24
  });
25
- },
26
- children: scale.name
27
- }, scale.value));
28
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ButtonToolbar, {
29
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.ButtonGroup, {
30
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.InputGroup, {
31
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.InputGroup.Text, {
32
- children: "Scale"
33
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactBootstrap.Dropdown, {
34
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Toggle, {
35
- id: "dropdownStandardScale",
36
- variant: "light",
37
- children: dataset.controls.scale.violinplot.name
38
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Dropdown.Menu, {
39
- children: scaleList
40
- })]
41
- })]
42
- })
43
- })
44
- });
25
+ }
26
+ }, scale.name));
27
+ return /*#__PURE__*/_react.default.createElement(_reactBootstrap.ButtonToolbar, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.ButtonGroup, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.InputGroup, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.InputGroup.Text, null, "Scale"), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Toggle, {
28
+ id: "dropdownStandardScale",
29
+ variant: "light"
30
+ }, dataset.controls.scale.violinplot.name), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Dropdown.Menu, null, scaleList)))));
45
31
  }
@@ -15,7 +15,6 @@ var _lodash = _interopRequireDefault(require("lodash"));
15
15
  var _FilterContext = require("./FilterContext");
16
16
  var _ZarrDataContext = require("./ZarrDataContext");
17
17
  var _constants = require("../constants/constants");
18
- var _jsxRuntime = require("react/jsx-runtime");
19
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
21
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -40,11 +39,10 @@ const persistOptions = {
40
39
  storage: window.localStorage
41
40
  }),
42
41
  dehydrateOptions: {
43
- shouldDehydrateQuery: _ref => {
44
- let {
45
- queryKey,
46
- state
47
- } = _ref;
42
+ shouldDehydrateQuery: ({
43
+ queryKey,
44
+ state
45
+ }) => {
48
46
  if (state.status === "success") {
49
47
  return persistKeys.includes(queryKey?.[0]);
50
48
  }
@@ -113,12 +111,11 @@ const initializer = initialState => {
113
111
  const localValues = _lodash.default.pick(localObj, keys);
114
112
  return _lodash.default.assign(initialState, localValues);
115
113
  };
116
- function DatasetProvider(_ref2) {
117
- let {
118
- dataset_url,
119
- children,
120
- ...dataset_params
121
- } = _ref2;
114
+ function DatasetProvider({
115
+ dataset_url,
116
+ children,
117
+ ...dataset_params
118
+ }) {
122
119
  const [dataset, dispatch] = (0, _react.useReducer)(datasetReducer, _lodash.default.assign(initializer({
123
120
  url: dataset_url,
124
121
  ...initialDataset
@@ -138,21 +135,14 @@ function DatasetProvider(_ref2) {
138
135
  }
139
136
  }
140
137
  }, [dataset]);
141
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(DatasetContext.Provider, {
142
- value: dataset,
143
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(DatasetDispatchContext.Provider, {
144
- value: dispatch,
145
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactQueryPersistClient.PersistQueryClientProvider, {
146
- client: queryClient,
147
- persistOptions: persistOptions,
148
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FilterContext.FilterProvider, {
149
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ZarrDataContext.ZarrDataProvider, {
150
- children: children
151
- })
152
- })
153
- })
154
- })
155
- });
138
+ return /*#__PURE__*/_react.default.createElement(DatasetContext.Provider, {
139
+ value: dataset
140
+ }, /*#__PURE__*/_react.default.createElement(DatasetDispatchContext.Provider, {
141
+ value: dispatch
142
+ }, /*#__PURE__*/_react.default.createElement(_reactQueryPersistClient.PersistQueryClientProvider, {
143
+ client: queryClient,
144
+ persistOptions: persistOptions
145
+ }, /*#__PURE__*/_react.default.createElement(_FilterContext.FilterProvider, null, /*#__PURE__*/_react.default.createElement(_ZarrDataContext.ZarrDataProvider, null, children)))));
156
146
  }
157
147
  function useDataset() {
158
148
  return (0, _react.useContext)(DatasetContext);
@@ -8,7 +8,6 @@ exports.FilteredDataDispatchContext = exports.FilteredDataContext = void 0;
8
8
  exports.useFilteredData = useFilteredData;
9
9
  exports.useFilteredDataDispatch = useFilteredDataDispatch;
10
10
  var _react = _interopRequireWildcard(require("react"));
11
- var _jsxRuntime = require("react/jsx-runtime");
12
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
13
  const FilteredDataContext = exports.FilteredDataContext = /*#__PURE__*/(0, _react.createContext)(null);
@@ -20,20 +19,17 @@ const initialFilterData = {
20
19
  slicedLength: null,
21
20
  isSliced: false
22
21
  };
23
- function FilterProvider(_ref) {
24
- let {
25
- children
26
- } = _ref;
22
+ function FilterProvider({
23
+ children
24
+ }) {
27
25
  const [filteredData, dispatch] = (0, _react.useReducer)(filterReducer, {
28
26
  ...initialFilterData
29
27
  });
30
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(FilteredDataContext.Provider, {
31
- value: filteredData,
32
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(FilteredDataDispatchContext.Provider, {
33
- value: dispatch,
34
- children: children
35
- })
36
- });
28
+ return /*#__PURE__*/_react.default.createElement(FilteredDataContext.Provider, {
29
+ value: filteredData
30
+ }, /*#__PURE__*/_react.default.createElement(FilteredDataDispatchContext.Provider, {
31
+ value: dispatch
32
+ }, children));
37
33
  }
38
34
  function useFilteredData() {
39
35
  return (0, _react.useContext)(FilteredDataContext);
@@ -8,14 +8,12 @@ exports.useZarrData = useZarrData;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _Filter = require("../utils/Filter");
10
10
  var _zarrData = require("../utils/zarrData");
11
- var _jsxRuntime = require("react/jsx-runtime");
12
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
13
  const ZarrDataContext = /*#__PURE__*/(0, _react.createContext)(null);
15
- function ZarrDataProvider(_ref) {
16
- let {
17
- children
18
- } = _ref;
14
+ function ZarrDataProvider({
15
+ children
16
+ }) {
19
17
  const obsmData = (0, _zarrData.useObsmData)();
20
18
  const obsData = (0, _zarrData.useObsData)();
21
19
  const xData = (0, _zarrData.useXData)();
@@ -27,10 +25,9 @@ function ZarrDataProvider(_ref) {
27
25
  serverError: obsmData.serverError || obsData.serverError || xData.serverError
28
26
  };
29
27
  (0, _Filter.useFilter)(data);
30
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(ZarrDataContext.Provider, {
31
- value: data,
32
- children: children
33
- });
28
+ return /*#__PURE__*/_react.default.createElement(ZarrDataContext.Provider, {
29
+ value: data
30
+ }, children);
34
31
  }
35
32
  function useZarrData() {
36
33
  return (0, _react.useContext)(ZarrDataContext);
@@ -42,18 +42,17 @@ const rgbToHex = color => {
42
42
  exports.rgbToHex = rgbToHex;
43
43
  const useColor = () => {
44
44
  const dataset = (0, _DatasetContext.useDataset)();
45
- const getColor = (0, _react.useCallback)(_ref => {
46
- let {
47
- value,
48
- categorical = false,
49
- grayOut = false,
50
- grayParams: {
51
- alpha = 0.75,
52
- gray = 0.95
53
- } = {},
54
- colorEncoding = dataset.colorEncoding,
55
- colorscale = null
56
- } = _ref;
45
+ const getColor = (0, _react.useCallback)(({
46
+ value,
47
+ categorical = false,
48
+ grayOut = false,
49
+ grayParams: {
50
+ alpha = 0.75,
51
+ gray = 0.95
52
+ } = {},
53
+ colorEncoding = dataset.colorEncoding,
54
+ colorscale = null
55
+ }) => {
57
56
  const colormap = colorscale || _colorscales.COLORSCALES[categorical ? "Accent" : dataset.controls.colorScale];
58
57
  if (colorEncoding) {
59
58
  if (grayOut) {
@@ -6,14 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.MapHelper = void 0;
7
7
  var _core = require("@deck.gl/core");
8
8
  class MapHelper {
9
- fitBounds(coords) {
10
- let {
11
- width = 400,
12
- height = 600
13
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
14
- width: 400,
15
- height: 600
16
- };
9
+ fitBounds(coords, {
10
+ width = 400,
11
+ height = 600
12
+ } = {
13
+ width: 400,
14
+ height: 600
15
+ }) {
17
16
  let view = new _core.WebMercatorViewport({
18
17
  width: width,
19
18
  height: height,
@@ -9,11 +9,10 @@ var _zarr = require("zarr");
9
9
  const GET_OPTIONS = exports.GET_OPTIONS = {
10
10
  concurrencyLimit: 10,
11
11
  // max number of concurrent requests (default 10)
12
- progressCallback: _ref => {
13
- let {
14
- progress,
15
- queueSize
16
- } = _ref;
12
+ progressCallback: ({
13
+ progress,
14
+ queueSize
15
+ }) => {
17
16
  console.log(`${progress / queueSize * 100}% complete.`);
18
17
  } // callback executed after each request
19
18
  };
@@ -38,13 +37,10 @@ const fetchDataFromZarr = async (url, path, s, opts) => {
38
37
  throw new Error(error.message);
39
38
  }
40
39
  };
41
- const useZarr = function (_ref2) {
42
- let {
43
- url,
44
- path
45
- } = _ref2;
46
- let s = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
47
- let opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
40
+ const useZarr = ({
41
+ url,
42
+ path
43
+ }, s = null, opts = {}) => {
48
44
  const {
49
45
  enabled = true
50
46
  } = opts;
@@ -93,9 +89,7 @@ const aggregateData = (inputs, data) => {
93
89
  };
94
90
 
95
91
  // @TODO: return response of successfully fetched data when error occurs
96
- const useMultipleZarr = function (inputs) {
97
- let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
98
- let agg = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : aggregateData;
92
+ const useMultipleZarr = (inputs, opts = {}, agg = aggregateData) => {
99
93
  const {
100
94
  enabled = true
101
95
  } = opts;
@@ -9,46 +9,39 @@ var _xCharts = require("@mui/x-charts");
9
9
  var _lodash = _interopRequireDefault(require("lodash"));
10
10
  var _LoadingIndicators = require("./LoadingIndicators");
11
11
  var _string = require("./string");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- function Histogram(_ref) {
15
- let {
16
- data,
17
- isPending,
18
- altColor = false
19
- } = _ref;
20
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
21
- className: "feature-histogram-container",
22
- children: isPending ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicators.LoadingLinear, {}) : data ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
23
- className: "feature-histogram m-1",
24
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_xCharts.SparkLineChart, {
25
- plotType: "bar",
26
- data: data.log10,
27
- margin: {
28
- top: 0,
29
- right: 0,
30
- bottom: 0,
31
- left: 0
32
- },
33
- colors: altColor ? _xCharts.mangoFusionPalette : _xCharts.blueberryTwilightPalette,
34
- showHighlight: true,
35
- showTooltip: true,
36
- valueFormatter: (v, _ref2) => {
37
- let {
38
- dataIndex
39
- } = _ref2;
40
- return `${(0, _string.formatNumerical)(data.hist[dataIndex])}`;
41
- },
42
- xAxis: {
43
- data: _lodash.default.range(data.bin_edges?.length) || null,
44
- valueFormatter: v => `Bin [${(0, _string.formatNumerical)(data.bin_edges[v][0], _string.FORMATS.EXPONENTIAL)}, ${(0, _string.formatNumerical)(data.bin_edges[v][1], _string.FORMATS.EXPONENTIAL)}${v === data.bin_edges.length - 1 ? "]" : ")"}`
45
- },
46
- slotProps: {
47
- popper: {
48
- className: "feature-histogram-tooltip"
49
- }
50
- }
51
- })
52
- }) : null
53
- });
13
+ function Histogram({
14
+ data,
15
+ isPending,
16
+ altColor = false
17
+ }) {
18
+ return /*#__PURE__*/_react.default.createElement("div", {
19
+ className: "feature-histogram-container"
20
+ }, isPending ? /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingLinear, null) : data ? /*#__PURE__*/_react.default.createElement("div", {
21
+ className: "feature-histogram m-1"
22
+ }, /*#__PURE__*/_react.default.createElement(_xCharts.SparkLineChart, {
23
+ plotType: "bar",
24
+ data: data.log10,
25
+ margin: {
26
+ top: 0,
27
+ right: 0,
28
+ bottom: 0,
29
+ left: 0
30
+ },
31
+ colors: altColor ? _xCharts.mangoFusionPalette : _xCharts.blueberryTwilightPalette,
32
+ showHighlight: true,
33
+ showTooltip: true,
34
+ valueFormatter: (v, {
35
+ dataIndex
36
+ }) => `${(0, _string.formatNumerical)(data.hist[dataIndex])}`,
37
+ xAxis: {
38
+ data: _lodash.default.range(data.bin_edges?.length) || null,
39
+ valueFormatter: v => `Bin [${(0, _string.formatNumerical)(data.bin_edges[v][0], _string.FORMATS.EXPONENTIAL)}, ${(0, _string.formatNumerical)(data.bin_edges[v][1], _string.FORMATS.EXPONENTIAL)}${v === data.bin_edges.length - 1 ? "]" : ")"}`
40
+ },
41
+ slotProps: {
42
+ popper: {
43
+ className: "feature-histogram-tooltip"
44
+ }
45
+ }
46
+ })) : null);
54
47
  }
@@ -6,22 +6,20 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.ImageViewer = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactBootstrap = require("react-bootstrap");
9
- var _jsxRuntime = require("react/jsx-runtime");
10
9
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
10
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
- const ImageViewer = _ref => {
13
- let {
14
- src,
15
- alt,
16
- className = "img-fluid"
17
- } = _ref;
11
+ const ImageViewer = ({
12
+ src,
13
+ alt,
14
+ className = "img-fluid"
15
+ }) => {
18
16
  const [error, setError] = (0, _react.useState)(false);
19
17
  const handleError = () => {
20
18
  console.error("Error loading image from src:", src);
21
19
  setError(true);
22
20
  };
23
21
  if (!error) {
24
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
22
+ return /*#__PURE__*/_react.default.createElement("img", {
25
23
  src: src,
26
24
  alt: alt,
27
25
  className: className,
@@ -29,12 +27,9 @@ const ImageViewer = _ref => {
29
27
  onError: handleError
30
28
  });
31
29
  } else {
32
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
33
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Alert, {
34
- variant: "danger",
35
- children: "Failed to load image"
36
- })
37
- });
30
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
31
+ variant: "danger"
32
+ }, "Failed to load image"));
38
33
  }
39
34
  };
40
35
  exports.ImageViewer = ImageViewer;
@@ -10,16 +10,14 @@ var _string = require("./string");
10
10
  var _constants = require("../constants/constants");
11
11
  var _DatasetContext = require("../context/DatasetContext");
12
12
  var _colorHelper = require("../helpers/color-helper");
13
- var _jsxRuntime = require("react/jsx-runtime");
14
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- function Legend(_ref) {
16
- let {
17
- isCategorical = false,
18
- min = 0,
19
- max = 1,
20
- colorscale = null,
21
- addText = ""
22
- } = _ref;
14
+ function Legend({
15
+ isCategorical = false,
16
+ min = 0,
17
+ max = 1,
18
+ colorscale = null,
19
+ addText = ""
20
+ }) {
23
21
  const dataset = (0, _DatasetContext.useDataset)();
24
22
  const {
25
23
  getColor
@@ -31,44 +29,36 @@ function Legend(_ref) {
31
29
  categorical: isCategorical,
32
30
  colorscale: colorscale
33
31
  }));
34
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
32
+ return /*#__PURE__*/_react.React.createElement("span", {
33
+ key: i,
35
34
  className: "grad-step",
36
35
  style: {
37
36
  backgroundColor: color
38
37
  }
39
- }, i);
38
+ });
40
39
  });
41
40
  }, [colorscale, getColor, isCategorical]);
42
41
  if (dataset.colorEncoding && !isCategorical) {
43
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
44
- className: "cherita-legend",
45
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
46
- className: "gradient",
47
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
48
- className: "small m-0 p-0",
49
- children: (dataset.colorEncoding === _constants.COLOR_ENCODINGS.VAR ? dataset.selectedVar?.name : dataset.selectedObs?.name) + addText
50
- }), spanList, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
51
- className: "domain-min",
52
- children: (0, _string.formatNumerical)(min, _string.FORMATS.EXPONENTIAL)
53
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
54
- className: "domain-med",
55
- children: (0, _string.formatNumerical)((min + max) * 0.5, _string.FORMATS.EXPONENTIAL)
56
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
57
- className: "domain-max",
58
- children: (0, _string.formatNumerical)(max, _string.FORMATS.EXPONENTIAL)
59
- })]
60
- })
61
- });
42
+ return /*#__PURE__*/_react.React.createElement("div", {
43
+ className: "cherita-legend"
44
+ }, /*#__PURE__*/_react.React.createElement("div", {
45
+ className: "gradient"
46
+ }, /*#__PURE__*/_react.React.createElement("p", {
47
+ className: "small m-0 p-0"
48
+ }, (dataset.colorEncoding === _constants.COLOR_ENCODINGS.VAR ? dataset.selectedVar?.name : dataset.selectedObs?.name) + addText), spanList, /*#__PURE__*/_react.React.createElement("span", {
49
+ className: "domain-min"
50
+ }, (0, _string.formatNumerical)(min, _string.FORMATS.EXPONENTIAL)), /*#__PURE__*/_react.React.createElement("span", {
51
+ className: "domain-med"
52
+ }, (0, _string.formatNumerical)((min + max) * 0.5, _string.FORMATS.EXPONENTIAL)), /*#__PURE__*/_react.React.createElement("span", {
53
+ className: "domain-max"
54
+ }, (0, _string.formatNumerical)(max, _string.FORMATS.EXPONENTIAL))));
62
55
  } else {
63
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
64
- className: "cherita-legend",
65
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
66
- className: "gradient",
67
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
68
- className: "small m-0 p-0",
69
- children: dataset.colorEncoding === _constants.COLOR_ENCODINGS.OBS && dataset.selectedObs ? dataset.selectedObs.name : ""
70
- })
71
- })
72
- });
56
+ return /*#__PURE__*/_react.React.createElement("div", {
57
+ className: "cherita-legend"
58
+ }, /*#__PURE__*/_react.React.createElement("div", {
59
+ className: "gradient"
60
+ }, /*#__PURE__*/_react.React.createElement("p", {
61
+ className: "small m-0 p-0"
62
+ }, dataset.colorEncoding === _constants.COLOR_ENCODINGS.OBS && dataset.selectedObs ? dataset.selectedObs.name : "")));
73
63
  }
74
64
  }