@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
@@ -1,8 +1,8 @@
1
- import React from "react";
2
1
  import { SparkLineChart, mangoFusionPalette, blueberryTwilightPalette } from "@mui/x-charts";
3
2
  import _ from "lodash";
4
3
  import { LoadingLinear } from "./LoadingIndicators";
5
4
  import { formatNumerical, FORMATS } from "./string";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
6
  export function Histogram(_ref) {
7
7
  var _data$bin_edges;
8
8
  let {
@@ -10,36 +10,38 @@ export function Histogram(_ref) {
10
10
  isPending,
11
11
  altColor = false
12
12
  } = _ref;
13
- return /*#__PURE__*/React.createElement("div", {
14
- className: "feature-histogram-container"
15
- }, isPending ? /*#__PURE__*/React.createElement(LoadingLinear, null) : data ? /*#__PURE__*/React.createElement("div", {
16
- className: "feature-histogram m-1"
17
- }, /*#__PURE__*/React.createElement(SparkLineChart, {
18
- plotType: "bar",
19
- data: data.log10,
20
- margin: {
21
- top: 0,
22
- right: 0,
23
- bottom: 0,
24
- left: 0
25
- },
26
- colors: altColor ? mangoFusionPalette : blueberryTwilightPalette,
27
- showHighlight: true,
28
- showTooltip: true,
29
- valueFormatter: (v, _ref2) => {
30
- let {
31
- dataIndex
32
- } = _ref2;
33
- return "".concat(formatNumerical(data.hist[dataIndex]));
34
- },
35
- xAxis: {
36
- data: _.range((_data$bin_edges = data.bin_edges) === null || _data$bin_edges === void 0 ? void 0 : _data$bin_edges.length) || null,
37
- valueFormatter: v => "Bin [".concat(formatNumerical(data.bin_edges[v][0], FORMATS.EXPONENTIAL), ", ").concat(formatNumerical(data.bin_edges[v][1], FORMATS.EXPONENTIAL)).concat(v === data.bin_edges.length - 1 ? "]" : ")")
38
- },
39
- slotProps: {
40
- popper: {
41
- className: "feature-histogram-tooltip"
42
- }
43
- }
44
- })) : null);
13
+ return /*#__PURE__*/_jsx("div", {
14
+ className: "feature-histogram-container",
15
+ children: isPending ? /*#__PURE__*/_jsx(LoadingLinear, {}) : data ? /*#__PURE__*/_jsx("div", {
16
+ className: "feature-histogram m-1",
17
+ children: /*#__PURE__*/_jsx(SparkLineChart, {
18
+ plotType: "bar",
19
+ data: data.log10,
20
+ margin: {
21
+ top: 0,
22
+ right: 0,
23
+ bottom: 0,
24
+ left: 0
25
+ },
26
+ colors: altColor ? mangoFusionPalette : blueberryTwilightPalette,
27
+ showHighlight: true,
28
+ showTooltip: true,
29
+ valueFormatter: (v, _ref2) => {
30
+ let {
31
+ dataIndex
32
+ } = _ref2;
33
+ return "".concat(formatNumerical(data.hist[dataIndex]));
34
+ },
35
+ xAxis: {
36
+ data: _.range((_data$bin_edges = data.bin_edges) === null || _data$bin_edges === void 0 ? void 0 : _data$bin_edges.length) || null,
37
+ valueFormatter: v => "Bin [".concat(formatNumerical(data.bin_edges[v][0], FORMATS.EXPONENTIAL), ", ").concat(formatNumerical(data.bin_edges[v][1], FORMATS.EXPONENTIAL)).concat(v === data.bin_edges.length - 1 ? "]" : ")")
38
+ },
39
+ slotProps: {
40
+ popper: {
41
+ className: "feature-histogram-tooltip"
42
+ }
43
+ }
44
+ })
45
+ }) : null
46
+ });
45
47
  }
@@ -1,5 +1,6 @@
1
- import React, { useState } from "react";
1
+ import { useState } from "react";
2
2
  import { Alert } from "react-bootstrap";
3
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
4
  export const ImageViewer = _ref => {
4
5
  let {
5
6
  src,
@@ -12,7 +13,7 @@ export const ImageViewer = _ref => {
12
13
  setError(true);
13
14
  };
14
15
  if (!error) {
15
- return /*#__PURE__*/React.createElement("img", {
16
+ return /*#__PURE__*/_jsx("img", {
16
17
  src: src,
17
18
  alt: alt,
18
19
  className: className,
@@ -20,8 +21,11 @@ export const ImageViewer = _ref => {
20
21
  onError: handleError
21
22
  });
22
23
  } else {
23
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Alert, {
24
- variant: "danger"
25
- }, "Failed to load image"));
24
+ return /*#__PURE__*/_jsx(_Fragment, {
25
+ children: /*#__PURE__*/_jsx(Alert, {
26
+ variant: "danger",
27
+ children: "Failed to load image"
28
+ })
29
+ });
26
30
  }
27
31
  };
@@ -1,4 +1,4 @@
1
- import React, { useMemo } from "react";
1
+ import { useMemo } from "react";
2
2
  import { faDroplet } from "@fortawesome/free-solid-svg-icons";
3
3
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
4
4
  import _ from "lodash";
@@ -6,6 +6,7 @@ import { formatNumerical, FORMATS } from "./string";
6
6
  import { COLOR_ENCODINGS } from "../constants/constants";
7
7
  import { useSettings } from "../context/SettingsContext";
8
8
  import { rgbToHex, useColor } from "../helpers/color-helper";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
10
  export function Legend(_ref) {
10
11
  let {
11
12
  isCategorical = false,
@@ -25,41 +26,48 @@ export function Legend(_ref) {
25
26
  categorical: isCategorical,
26
27
  colorscale: colorscale
27
28
  }));
28
- return /*#__PURE__*/React.createElement("span", {
29
- key: i,
29
+ return /*#__PURE__*/_jsx("span", {
30
30
  className: "grad-step",
31
31
  style: {
32
32
  backgroundColor: color
33
33
  }
34
- });
34
+ }, i);
35
35
  });
36
36
  }, [colorscale, getColor, isCategorical]);
37
37
  if (settings.colorEncoding && !isCategorical) {
38
38
  var _settings$selectedVar, _settings$selectedObs;
39
- return /*#__PURE__*/React.createElement("div", {
40
- className: "cherita-legend"
41
- }, /*#__PURE__*/React.createElement("div", {
42
- className: "gradient"
43
- }, /*#__PURE__*/React.createElement("p", {
44
- className: "small m-0 p-0"
45
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
46
- icon: faDroplet,
47
- className: "me-1"
48
- }), (settings.colorEncoding === COLOR_ENCODINGS.VAR ? (_settings$selectedVar = settings.selectedVar) === null || _settings$selectedVar === void 0 ? void 0 : _settings$selectedVar.name : (_settings$selectedObs = settings.selectedObs) === null || _settings$selectedObs === void 0 ? void 0 : _settings$selectedObs.name) + addText), spanList, /*#__PURE__*/React.createElement("span", {
49
- className: "domain-min"
50
- }, formatNumerical(min, FORMATS.EXPONENTIAL)), /*#__PURE__*/React.createElement("span", {
51
- className: "domain-med"
52
- }, formatNumerical((min + max) * 0.5, FORMATS.EXPONENTIAL)), /*#__PURE__*/React.createElement("span", {
53
- className: "domain-max"
54
- }, formatNumerical(max, FORMATS.EXPONENTIAL))));
39
+ return /*#__PURE__*/_jsx("div", {
40
+ className: "cherita-legend",
41
+ children: /*#__PURE__*/_jsxs("div", {
42
+ className: "gradient",
43
+ children: [/*#__PURE__*/_jsxs("p", {
44
+ className: "small m-0 p-0",
45
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
46
+ icon: faDroplet,
47
+ className: "me-1"
48
+ }), (settings.colorEncoding === COLOR_ENCODINGS.VAR ? (_settings$selectedVar = settings.selectedVar) === null || _settings$selectedVar === void 0 ? void 0 : _settings$selectedVar.name : (_settings$selectedObs = settings.selectedObs) === null || _settings$selectedObs === void 0 ? void 0 : _settings$selectedObs.name) + addText]
49
+ }), spanList, /*#__PURE__*/_jsx("span", {
50
+ className: "domain-min",
51
+ children: formatNumerical(min, FORMATS.EXPONENTIAL)
52
+ }), /*#__PURE__*/_jsx("span", {
53
+ className: "domain-med",
54
+ children: formatNumerical((min + max) * 0.5, FORMATS.EXPONENTIAL)
55
+ }), /*#__PURE__*/_jsx("span", {
56
+ className: "domain-max",
57
+ children: formatNumerical(max, FORMATS.EXPONENTIAL)
58
+ })]
59
+ })
60
+ });
55
61
  } else if (settings.colorEncoding === COLOR_ENCODINGS.OBS && settings.selectedObs) {
56
- return /*#__PURE__*/React.createElement("div", {
57
- className: "cherita-legend categorical"
58
- }, /*#__PURE__*/React.createElement("p", {
59
- className: "legend-text text-end m-0 p-0"
60
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
61
- icon: faDroplet,
62
- className: "me-2"
63
- }), settings.selectedObs.name));
62
+ return /*#__PURE__*/_jsx("div", {
63
+ className: "cherita-legend categorical",
64
+ children: /*#__PURE__*/_jsxs("p", {
65
+ className: "legend-text text-end m-0 p-0",
66
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
67
+ icon: faDroplet,
68
+ className: "me-2"
69
+ }), settings.selectedObs.name]
70
+ })
71
+ });
64
72
  }
65
73
  }
@@ -1,22 +1,25 @@
1
- import React from 'react';
2
1
  import { Box, CircularProgress, LinearProgress } from "@mui/material";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  export const LoadingSpinner = _ref => {
4
4
  let {
5
5
  text = null,
6
6
  disableShrink = false
7
7
  } = _ref;
8
- return /*#__PURE__*/React.createElement("div", {
9
- className: "loading-spinner"
10
- }, /*#__PURE__*/React.createElement(CircularProgress, {
11
- disableShrink: disableShrink
12
- }), (text === null || text === void 0 ? void 0 : text.length) && /*#__PURE__*/React.createElement("span", {
13
- className: "visually-hidden"
14
- }, text));
8
+ return /*#__PURE__*/_jsxs("div", {
9
+ className: "loading-spinner",
10
+ children: [/*#__PURE__*/_jsx(CircularProgress, {
11
+ disableShrink: disableShrink
12
+ }), (text === null || text === void 0 ? void 0 : text.length) && /*#__PURE__*/_jsx("span", {
13
+ className: "visually-hidden",
14
+ children: text
15
+ })]
16
+ });
15
17
  };
16
18
  export const LoadingLinear = () => {
17
- return /*#__PURE__*/React.createElement(Box, {
19
+ return /*#__PURE__*/_jsx(Box, {
18
20
  sx: {
19
21
  width: "100%"
20
- }
21
- }, /*#__PURE__*/React.createElement(LinearProgress, null));
22
+ },
23
+ children: /*#__PURE__*/_jsx(LinearProgress, {})
24
+ });
22
25
  };
@@ -1,13 +1,14 @@
1
- import React from "react";
2
1
  import { Button, Placeholder } from "react-bootstrap";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  export const ObsmKeysListBtn = () => {
4
- return /*#__PURE__*/React.createElement(Placeholder, {
4
+ return /*#__PURE__*/_jsx(Placeholder, {
5
5
  as: Button,
6
- animation: "glow"
7
- }, /*#__PURE__*/React.createElement(Placeholder, {
8
- xs: 6,
9
- style: {
10
- width: "40px"
11
- }
12
- }));
6
+ animation: "glow",
7
+ children: /*#__PURE__*/_jsx(Placeholder, {
8
+ xs: 6,
9
+ style: {
10
+ width: "40px"
11
+ }
12
+ })
13
+ });
13
14
  };
@@ -1,14 +1,19 @@
1
1
  const _excluded = ["className"];
2
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
3
7
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
8
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
9
  import { styled, Tooltip, tooltipClasses } from "@mui/material";
10
+ import { jsx as _jsx } from "react/jsx-runtime";
6
11
  export const StyledTooltip = styled(_ref => {
7
12
  let {
8
13
  className
9
14
  } = _ref,
10
15
  props = _objectWithoutProperties(_ref, _excluded);
11
- return /*#__PURE__*/React.createElement(Tooltip, _extends({}, props, {
16
+ return /*#__PURE__*/_jsx(Tooltip, _objectSpread(_objectSpread({}, props), {}, {
12
17
  classes: {
13
18
  popper: className
14
19
  }
@@ -1,9 +1,14 @@
1
1
  const _excluded = ["getDataAtIndex", "count", "ItemComponent", "estimateSize", "overscan", "maxHeight"];
2
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
3
7
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
4
8
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
5
- import React, { useCallback, useEffect, useState } from "react";
9
+ import { useCallback, useEffect, useState } from "react";
6
10
  import { useVirtualizer } from "@tanstack/react-virtual";
11
+ import { jsx as _jsx } from "react/jsx-runtime";
7
12
  export function VirtualizedList(_ref) {
8
13
  var _virtualItems$0$start, _virtualItems$;
9
14
  let {
@@ -29,31 +34,34 @@ export function VirtualizedList(_ref) {
29
34
  useEffect(() => {
30
35
  itemVirtualizer.measure();
31
36
  }, [itemVirtualizer, parentNode === null || parentNode === void 0 ? void 0 : parentNode.clientHeight, getDataAtIndex]);
32
- return /*#__PURE__*/React.createElement("div", {
37
+ return /*#__PURE__*/_jsx("div", {
33
38
  ref: refCallback,
34
39
  style: {
35
40
  overflowY: "auto",
36
41
  maxHeight: maxHeight
37
42
  },
38
- className: "modern-scrollbars"
39
- }, /*#__PURE__*/React.createElement("div", {
40
- style: {
41
- height: "".concat(itemVirtualizer.getTotalSize(), "px"),
42
- width: "100%",
43
- position: "relative",
44
- willChange: "transform"
45
- }
46
- }, /*#__PURE__*/React.createElement("div", {
47
- style: {
48
- position: "absolute",
49
- top: 0,
50
- left: 0,
51
- width: "100%",
52
- transform: "translateY(".concat((_virtualItems$0$start = (_virtualItems$ = virtualItems[0]) === null || _virtualItems$ === void 0 ? void 0 : _virtualItems$.start) !== null && _virtualItems$0$start !== void 0 ? _virtualItems$0$start : 0, "px)")
53
- }
54
- }, virtualItems.map(virtualItem => /*#__PURE__*/React.createElement("div", {
55
- key: virtualItem.key,
56
- "data-index": virtualItem.index,
57
- ref: itemVirtualizer.measureElement
58
- }, /*#__PURE__*/React.createElement(ItemComponent, _extends({}, getDataAtIndex(virtualItem.index), props)))))));
43
+ className: "modern-scrollbars",
44
+ children: /*#__PURE__*/_jsx("div", {
45
+ style: {
46
+ height: "".concat(itemVirtualizer.getTotalSize(), "px"),
47
+ width: "100%",
48
+ position: "relative",
49
+ willChange: "transform"
50
+ },
51
+ children: /*#__PURE__*/_jsx("div", {
52
+ style: {
53
+ position: "absolute",
54
+ top: 0,
55
+ left: 0,
56
+ width: "100%",
57
+ transform: "translateY(".concat((_virtualItems$0$start = (_virtualItems$ = virtualItems[0]) === null || _virtualItems$ === void 0 ? void 0 : _virtualItems$.start) !== null && _virtualItems$0$start !== void 0 ? _virtualItems$0$start : 0, "px)")
58
+ },
59
+ children: virtualItems.map(virtualItem => /*#__PURE__*/_jsx("div", {
60
+ "data-index": virtualItem.index,
61
+ ref: itemVirtualizer.measureElement,
62
+ children: /*#__PURE__*/_jsx(ItemComponent, _objectSpread(_objectSpread({}, getDataAtIndex(virtualItem.index)), props))
63
+ }, virtualItem.key))
64
+ })
65
+ })
66
+ });
59
67
  }
@@ -29,7 +29,7 @@ export const parseError = err => {
29
29
  });
30
30
  case "InvalidKey":
31
31
  return _objectSpread(_objectSpread({}, err), {}, {
32
- message: "Key not found in datset"
32
+ message: "Key not found in dataset"
33
33
  });
34
34
  case "BadRequest":
35
35
  return _objectSpread(_objectSpread({}, err), {}, {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haniffalab/cherita-react",
3
- "version": "1.4.1-dev.2025-10-22.61540191",
3
+ "version": "1.4.1-dev.2025-10-23.3179e534",
4
4
  "author": "Haniffa Lab",
5
5
  "license": "MIT",
6
6
  "keywords": [
@@ -93,7 +93,7 @@
93
93
  "copy:scss": "cpx 'src/scss/**/*' 'scss'",
94
94
  "copy:assets": "cpx 'src/assets/**/*' 'dist/assets'",
95
95
  "build": "npm run build:babel && npm run build:scss && npm run copy:scss && npm run copy:assets",
96
- "test": "jest --watchAll",
96
+ "test": "jest",
97
97
  "test:ci": "jest --coverage --ci --no-watch",
98
98
  "lint:scss": "stylelint 'src/**/*.scss' --fix",
99
99
  "lint:js": "eslint 'src/**/*.js' --fix",
@@ -128,5 +128,5 @@
128
128
  "url": "https://github.com/haniffalab/cherita-react/issues"
129
129
  },
130
130
  "homepage": "https://github.com/haniffalab/cherita-react#readme",
131
- "prereleaseSha": "615401914075590f2159adb28a6db12e0d02b720"
131
+ "prereleaseSha": "3179e53458e4da1158925c45812fd62956ccd143"
132
132
  }