@haniffalab/cherita-react 1.3.0 → 1.3.1-dev.2025-10-29.def77f5f

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 (137) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/components/controls/Controls.js +38 -30
  3. package/dist/cjs/components/dotplot/Dotplot.js +85 -57
  4. package/dist/cjs/components/dotplot/DotplotControls.js +103 -83
  5. package/dist/cjs/components/full-page/FullPage.js +167 -114
  6. package/dist/cjs/components/full-page/PlotAlert.js +45 -0
  7. package/dist/cjs/components/full-page/PlotTypeSelector.js +102 -0
  8. package/dist/cjs/components/heatmap/Heatmap.js +83 -53
  9. package/dist/cjs/components/heatmap/HeatmapControls.js +6 -3
  10. package/dist/cjs/components/icons/DotPlotIcon.js +64 -0
  11. package/dist/cjs/components/icons/HeatmapIcon.js +45 -0
  12. package/dist/cjs/components/icons/MatrixPlotIcon.1.js +57 -0
  13. package/dist/cjs/components/icons/MatrixPlotIcon.js +59 -0
  14. package/dist/cjs/components/icons/ScatterplotIcon.1.js +164 -0
  15. package/dist/cjs/components/icons/ScatterplotIcon.js +144 -0
  16. package/dist/cjs/components/icons/ViolinPlotIcon.js +42 -0
  17. package/dist/cjs/components/matrixplot/Matrixplot.js +83 -54
  18. package/dist/cjs/components/matrixplot/MatrixplotControls.js +8 -5
  19. package/dist/cjs/components/obs-list/ObsItem.js +305 -216
  20. package/dist/cjs/components/obs-list/ObsList.js +164 -128
  21. package/dist/cjs/components/obs-list/ObsToolbar.js +2 -3
  22. package/dist/cjs/components/obsm-list/ObsmList.js +67 -28
  23. package/dist/cjs/components/offcanvas/index.js +62 -27
  24. package/dist/cjs/components/pseudospatial/Pseudospatial.js +132 -76
  25. package/dist/cjs/components/pseudospatial/PseudospatialToolbar.js +122 -74
  26. package/dist/cjs/components/scatterplot/Scatterplot.js +223 -175
  27. package/dist/cjs/components/scatterplot/ScatterplotControls.js +45 -31
  28. package/dist/cjs/components/scatterplot/SpatialControls.js +143 -116
  29. package/dist/cjs/components/scatterplot/Toolbox.js +41 -30
  30. package/dist/cjs/components/search-bar/SearchBar.js +176 -120
  31. package/dist/cjs/components/search-bar/SearchInfo.js +79 -85
  32. package/dist/cjs/components/search-bar/SearchResults.js +93 -71
  33. package/dist/cjs/components/toolbar/Toolbar.js +111 -0
  34. package/dist/cjs/components/var-list/VarItem.js +131 -103
  35. package/dist/cjs/components/var-list/VarList.js +96 -74
  36. package/dist/cjs/components/var-list/VarListToolbar.js +59 -54
  37. package/dist/cjs/components/var-list/VarSet.js +126 -108
  38. package/dist/cjs/components/violin/Violin.js +124 -81
  39. package/dist/cjs/components/violin/ViolinControls.js +8 -5
  40. package/dist/cjs/constants/colorscales.js +19 -19
  41. package/dist/cjs/constants/constants.js +54 -39
  42. package/dist/cjs/context/DatasetContext.js +27 -17
  43. package/dist/cjs/context/FilterContext.js +11 -9
  44. package/dist/cjs/context/SettingsContext.js +339 -125
  45. package/dist/cjs/context/ZarrDataContext.js +6 -5
  46. package/dist/cjs/helpers/color-helper.js +2 -2
  47. package/dist/cjs/helpers/map-helper.js +2 -1
  48. package/dist/cjs/helpers/zarr-helper.js +3 -3
  49. package/dist/cjs/index.js +15 -21
  50. package/dist/cjs/utils/Filter.js +16 -11
  51. package/dist/cjs/utils/Histogram.js +35 -33
  52. package/dist/cjs/utils/ImageViewer.js +11 -8
  53. package/dist/cjs/utils/Legend.js +37 -30
  54. package/dist/cjs/utils/LoadingIndicators.js +15 -13
  55. package/dist/cjs/utils/Resolver.js +213 -0
  56. package/dist/cjs/utils/Skeleton.js +10 -10
  57. package/dist/cjs/utils/StyledTooltip.js +44 -0
  58. package/dist/cjs/utils/VirtualizedList.js +36 -29
  59. package/dist/cjs/utils/errors.js +15 -15
  60. package/dist/cjs/utils/requests.js +21 -9
  61. package/dist/cjs/utils/search.js +4 -4
  62. package/dist/cjs/utils/string.js +6 -6
  63. package/dist/cjs/utils/zarrData.js +20 -21
  64. package/dist/css/cherita.css +188 -65
  65. package/dist/css/cherita.css.map +1 -1
  66. package/dist/esm/components/controls/Controls.js +43 -35
  67. package/dist/esm/components/dotplot/Dotplot.js +93 -64
  68. package/dist/esm/components/dotplot/DotplotControls.js +106 -85
  69. package/dist/esm/components/full-page/FullPage.js +180 -124
  70. package/dist/esm/components/full-page/PlotAlert.js +39 -0
  71. package/dist/esm/components/full-page/PlotTypeSelector.js +95 -0
  72. package/dist/esm/components/heatmap/Heatmap.js +91 -60
  73. package/dist/esm/components/heatmap/HeatmapControls.js +8 -4
  74. package/dist/esm/components/icons/DotPlotIcon.js +58 -0
  75. package/dist/esm/components/icons/HeatmapIcon.js +39 -0
  76. package/dist/esm/components/icons/MatrixPlotIcon.1.js +51 -0
  77. package/dist/esm/components/icons/MatrixPlotIcon.js +53 -0
  78. package/dist/esm/components/icons/ScatterplotIcon.1.js +158 -0
  79. package/dist/esm/components/icons/ScatterplotIcon.js +138 -0
  80. package/dist/esm/components/icons/ViolinPlotIcon.js +36 -0
  81. package/dist/esm/components/matrixplot/Matrixplot.js +91 -61
  82. package/dist/esm/components/matrixplot/MatrixplotControls.js +10 -6
  83. package/dist/esm/components/obs-list/ObsItem.js +320 -228
  84. package/dist/esm/components/obs-list/ObsList.js +179 -142
  85. package/dist/esm/components/obs-list/ObsToolbar.js +3 -3
  86. package/dist/esm/components/obsm-list/ObsmList.js +71 -32
  87. package/dist/esm/components/offcanvas/index.js +68 -33
  88. package/dist/esm/components/pseudospatial/Pseudospatial.js +145 -88
  89. package/dist/esm/components/pseudospatial/PseudospatialToolbar.js +127 -78
  90. package/dist/esm/components/scatterplot/Scatterplot.js +243 -194
  91. package/dist/esm/components/scatterplot/ScatterplotControls.js +50 -35
  92. package/dist/esm/components/scatterplot/SpatialControls.js +155 -127
  93. package/dist/esm/components/scatterplot/Toolbox.js +44 -32
  94. package/dist/esm/components/search-bar/SearchBar.js +187 -130
  95. package/dist/esm/components/search-bar/SearchInfo.js +86 -91
  96. package/dist/esm/components/search-bar/SearchResults.js +100 -77
  97. package/dist/esm/components/toolbar/Toolbar.js +101 -0
  98. package/dist/esm/components/var-list/VarItem.js +142 -113
  99. package/dist/esm/components/var-list/VarList.js +108 -88
  100. package/dist/esm/components/var-list/VarListToolbar.js +64 -58
  101. package/dist/esm/components/var-list/VarSet.js +134 -115
  102. package/dist/esm/components/violin/Violin.js +135 -91
  103. package/dist/esm/components/violin/ViolinControls.js +10 -6
  104. package/dist/esm/constants/colorscales.js +19 -19
  105. package/dist/esm/constants/constants.js +53 -38
  106. package/dist/esm/context/DatasetContext.js +34 -23
  107. package/dist/esm/context/FilterContext.js +11 -8
  108. package/dist/esm/context/SettingsContext.js +341 -126
  109. package/dist/esm/context/ZarrDataContext.js +8 -6
  110. package/dist/esm/helpers/color-helper.js +5 -5
  111. package/dist/esm/helpers/map-helper.js +4 -3
  112. package/dist/esm/helpers/zarr-helper.js +6 -6
  113. package/dist/esm/index.js +22 -22
  114. package/dist/esm/utils/Filter.js +22 -17
  115. package/dist/esm/utils/Histogram.js +39 -37
  116. package/dist/esm/utils/ImageViewer.js +12 -8
  117. package/dist/esm/utils/Legend.js +44 -36
  118. package/dist/esm/utils/LoadingIndicators.js +16 -13
  119. package/dist/esm/utils/Resolver.js +201 -0
  120. package/dist/esm/utils/Skeleton.js +11 -10
  121. package/dist/esm/utils/StyledTooltip.js +38 -0
  122. package/dist/esm/utils/VirtualizedList.js +37 -29
  123. package/dist/esm/utils/errors.js +15 -15
  124. package/dist/esm/utils/requests.js +24 -12
  125. package/dist/esm/utils/search.js +7 -7
  126. package/dist/esm/utils/string.js +7 -7
  127. package/dist/esm/utils/zarrData.js +27 -28
  128. package/package.json +24 -10
  129. package/scss/cherita-bootstrap.scss +2 -2
  130. package/scss/cherita.scss +65 -17
  131. package/scss/components/accordions.scss +15 -2
  132. package/scss/components/layouts.scss +116 -30
  133. package/scss/components/lists.scss +16 -5
  134. package/scss/components/plotly.scss +40 -23
  135. package/scss/components/plots.scss +14 -1
  136. package/dist/cjs/components/full-page/FullPagePseudospatial.js +0 -157
  137. package/dist/esm/components/full-page/FullPagePseudospatial.js +0 -149
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ZarrDataProvider = ZarrDataProvider;
7
7
  exports.useZarrData = useZarrData;
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = require("react");
9
9
  var _Filter = require("../utils/Filter");
10
10
  var _zarrData = require("../utils/zarrData");
11
- 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); }
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
12
  const ZarrDataContext = /*#__PURE__*/(0, _react.createContext)(null);
13
13
  function ZarrDataProvider(_ref) {
14
14
  let {
@@ -25,9 +25,10 @@ function ZarrDataProvider(_ref) {
25
25
  serverError: obsmData.serverError || obsData.serverError || xData.serverError
26
26
  };
27
27
  (0, _Filter.useFilter)(data);
28
- return /*#__PURE__*/_react.default.createElement(ZarrDataContext.Provider, {
29
- value: data
30
- }, children);
28
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ZarrDataContext.Provider, {
29
+ value: data,
30
+ children: children
31
+ });
31
32
  }
32
33
  function useZarrData() {
33
34
  return (0, _react.useContext)(ZarrDataContext);
@@ -37,7 +37,7 @@ const computeColor = (colormap, value) => {
37
37
  };
38
38
  const rgbToHex = color => {
39
39
  const [r, g, b] = color || [0, 0, 0, 0];
40
- return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
40
+ return '#' + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);
41
41
  };
42
42
  exports.rgbToHex = rgbToHex;
43
43
  const useColor = () => {
@@ -54,7 +54,7 @@ const useColor = () => {
54
54
  colorEncoding = settings.colorEncoding,
55
55
  colorscale = null
56
56
  } = _ref;
57
- const colormap = colorscale || _colorscales.COLORSCALES[categorical ? "Accent" : settings.controls.colorScale];
57
+ const colormap = colorscale || _colorscales.COLORSCALES[categorical ? 'Accent' : settings.controls.colorScale];
58
58
  if (colorEncoding) {
59
59
  if (grayOut) {
60
60
  // Mix color with gray manually instead of chroma.mix to get better performance with deck.gl
@@ -54,7 +54,8 @@ class MapHelper {
54
54
  return {
55
55
  longitude,
56
56
  latitude,
57
- zoom
57
+ zoom,
58
+ bounds
58
59
  };
59
60
  }
60
61
  }
@@ -28,7 +28,7 @@ class ZarrHelper {
28
28
  const z = await (0, _zarr.openArray)({
29
29
  store: url,
30
30
  path: path,
31
- mode: "r"
31
+ mode: 'r'
32
32
  });
33
33
  return z;
34
34
  }
@@ -60,7 +60,7 @@ const useZarr = function (_ref2) {
60
60
  isLoading: isPending = false,
61
61
  error: serverError = null
62
62
  } = (0, _reactQuery.useQuery)(_objectSpread({
63
- queryKey: ["zarr", url, path, s],
63
+ queryKey: ['zarr', url, path, s],
64
64
  queryFn: () => fetchDataFromZarr(url, path, s, options),
65
65
  retry: (failureCount, _ref3) => {
66
66
  let {
@@ -102,7 +102,7 @@ const useMultipleZarr = function (inputs) {
102
102
  serverError = null
103
103
  } = (0, _reactQuery.useQueries)({
104
104
  queries: inputs.map(input => _objectSpread({
105
- queryKey: ["zarr", input.url, input.path, input.s],
105
+ queryKey: ['zarr', input.url, input.path, input.s],
106
106
  queryFn: () => fetchDataFromZarr(input.url, input.path, input.s, options),
107
107
  retry: (failureCount, _ref4) => {
108
108
  let {
package/dist/cjs/index.js CHANGED
@@ -39,24 +39,6 @@ Object.defineProperty(exports, "FullPage", {
39
39
  return _FullPage.FullPage;
40
40
  }
41
41
  });
42
- Object.defineProperty(exports, "FullPagePlots", {
43
- enumerable: true,
44
- get: function () {
45
- return _FullPage.FullPagePlots;
46
- }
47
- });
48
- Object.defineProperty(exports, "FullPagePseudospatial", {
49
- enumerable: true,
50
- get: function () {
51
- return _FullPagePseudospatial.FullPagePseudospatial;
52
- }
53
- });
54
- Object.defineProperty(exports, "FullPageScatterplot", {
55
- enumerable: true,
56
- get: function () {
57
- return _FullPage.FullPageScatterplot;
58
- }
59
- });
60
42
  Object.defineProperty(exports, "Heatmap", {
61
43
  enumerable: true,
62
44
  get: function () {
@@ -117,6 +99,12 @@ Object.defineProperty(exports, "OffcanvasVars", {
117
99
  return _offcanvas.OffcanvasVars;
118
100
  }
119
101
  });
102
+ Object.defineProperty(exports, "PLOT_TYPES", {
103
+ enumerable: true,
104
+ get: function () {
105
+ return _constants.PLOT_TYPES;
106
+ }
107
+ });
120
108
  Object.defineProperty(exports, "Pseudospatial", {
121
109
  enumerable: true,
122
110
  get: function () {
@@ -147,6 +135,12 @@ Object.defineProperty(exports, "SearchBar", {
147
135
  return _SearchBar.SearchBar;
148
136
  }
149
137
  });
138
+ Object.defineProperty(exports, "Toolbar", {
139
+ enumerable: true,
140
+ get: function () {
141
+ return _Toolbar.Toolbar;
142
+ }
143
+ });
150
144
  Object.defineProperty(exports, "VIOLIN_MODES", {
151
145
  enumerable: true,
152
146
  get: function () {
@@ -173,22 +167,22 @@ Object.defineProperty(exports, "ViolinControls", {
173
167
  });
174
168
  var _Dotplot = require("./components/dotplot/Dotplot");
175
169
  var _DotplotControls = require("./components/dotplot/DotplotControls");
170
+ var _FullPage = require("./components/full-page/FullPage");
176
171
  var _Heatmap = require("./components/heatmap/Heatmap");
177
172
  var _HeatmapControls = require("./components/heatmap/HeatmapControls");
178
173
  var _Matrixplot = require("./components/matrixplot/Matrixplot");
179
174
  var _MatrixplotControls = require("./components/matrixplot/MatrixplotControls");
180
175
  var _ObsList = require("./components/obs-list/ObsList");
181
176
  var _ObsmList = require("./components/obsm-list/ObsmList");
177
+ var _offcanvas = require("./components/offcanvas");
182
178
  var _Pseudospatial = require("./components/pseudospatial/Pseudospatial");
183
179
  var _Scatterplot = require("./components/scatterplot/Scatterplot");
184
180
  var _ScatterplotControls = require("./components/scatterplot/ScatterplotControls");
185
181
  var _SearchBar = require("./components/search-bar/SearchBar");
182
+ var _Toolbar = require("./components/toolbar/Toolbar");
186
183
  var _VarList = require("./components/var-list/VarList");
187
184
  var _Violin = require("./components/violin/Violin");
188
185
  var _ViolinControls = require("./components/violin/ViolinControls");
189
- var _FullPage = require("./components/full-page/FullPage");
190
- var _FullPagePseudospatial = require("./components/full-page/FullPagePseudospatial");
191
- var _offcanvas = require("./components/offcanvas");
192
186
  var _colorscales = require("./constants/colorscales");
193
187
  var _constants = require("./constants/constants");
194
188
  var _DatasetContext = require("./context/DatasetContext");
@@ -7,6 +7,7 @@ exports.useFilter = void 0;
7
7
  var _react = require("react");
8
8
  var _turf = require("@turf/turf");
9
9
  var _lodash = _interopRequireDefault(require("lodash"));
10
+ var _Resolver = require("./Resolver");
10
11
  var _constants = require("../constants/constants");
11
12
  var _FilterContext = require("../context/FilterContext");
12
13
  var _SettingsContext = require("../context/SettingsContext");
@@ -36,9 +37,14 @@ const isInValues = (omit, value) => {
36
37
  return !_lodash.default.includes(omit, value);
37
38
  };
38
39
  const useFilter = data => {
39
- var _settings$selectedObs, _settings$selectedObs2, _settings$selectedObs3, _settings$selectedObs4, _settings$selectedObs7, _settings$selectedObs8;
40
+ var _selectedObs$omit, _selectedObs$bins2;
40
41
  const settings = (0, _SettingsContext.useSettings)();
41
42
  const filterDataDispatch = (0, _FilterContext.useFilteredDataDispatch)();
43
+ const selectedObs = (0, _Resolver.useSelectedObs)();
44
+ const omitCodes = _lodash.default.map((selectedObs === null || selectedObs === void 0 ? void 0 : selectedObs.omit) || [], o => {
45
+ var _selectedObs$codes;
46
+ return selectedObs === null || selectedObs === void 0 || (_selectedObs$codes = selectedObs.codes) === null || _selectedObs$codes === void 0 ? void 0 : _selectedObs$codes[o];
47
+ });
42
48
  const {
43
49
  obsmData,
44
50
  xData,
@@ -46,26 +52,25 @@ const useFilter = data => {
46
52
  isPending,
47
53
  serverError
48
54
  } = data;
49
- const isCategorical = ((_settings$selectedObs = settings.selectedObs) === null || _settings$selectedObs === void 0 ? void 0 : _settings$selectedObs.type) === _constants.OBS_TYPES.CATEGORICAL || ((_settings$selectedObs2 = settings.selectedObs) === null || _settings$selectedObs2 === void 0 ? void 0 : _settings$selectedObs2.type) === _constants.OBS_TYPES.BOOLEAN;
50
- const isContinuous = ((_settings$selectedObs3 = settings.selectedObs) === null || _settings$selectedObs3 === void 0 ? void 0 : _settings$selectedObs3.type) === _constants.OBS_TYPES.CONTINUOUS;
51
- const sliceByObs = settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS && !!((_settings$selectedObs4 = settings.selectedObs) !== null && _settings$selectedObs4 !== void 0 && _settings$selectedObs4.omit.length) || settings.sliceBy.obs;
55
+ const isCategorical = (selectedObs === null || selectedObs === void 0 ? void 0 : selectedObs.type) === _constants.OBS_TYPES.CATEGORICAL || (selectedObs === null || selectedObs === void 0 ? void 0 : selectedObs.type) === _constants.OBS_TYPES.BOOLEAN;
56
+ const isContinuous = (selectedObs === null || selectedObs === void 0 ? void 0 : selectedObs.type) === _constants.OBS_TYPES.CONTINUOUS;
57
+ const sliceByObs = settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS && !!(selectedObs !== null && selectedObs !== void 0 && (_selectedObs$omit = selectedObs.omit) !== null && _selectedObs$omit !== void 0 && _selectedObs$omit.length) || settings.sliceBy.obs;
52
58
  const isInObsSlice = (0, _react.useCallback)((index, values) => {
53
59
  let inSlice = true;
54
60
  if (values && sliceByObs) {
55
61
  if (isCategorical) {
56
- var _settings$selectedObs5;
57
- inSlice &= isInValues((_settings$selectedObs5 = settings.selectedObs) === null || _settings$selectedObs5 === void 0 ? void 0 : _settings$selectedObs5.omit, values[index]);
62
+ inSlice &= isInValues(omitCodes, values[index]);
58
63
  } else if (isContinuous) {
59
64
  if (isNaN(values[index])) {
60
- var _settings$selectedObs6;
61
- inSlice &= isInValues((_settings$selectedObs6 = settings.selectedObs) === null || _settings$selectedObs6 === void 0 ? void 0 : _settings$selectedObs6.omit, -1);
65
+ inSlice &= isInValues(omitCodes, -1);
62
66
  } else {
63
- inSlice &= isInBins(values[index], settings.selectedObs.bins.binEdges, _lodash.default.without(settings.selectedObs.omit, -1));
67
+ var _selectedObs$bins;
68
+ inSlice &= isInBins(values[index], selectedObs === null || selectedObs === void 0 || (_selectedObs$bins = selectedObs.bins) === null || _selectedObs$bins === void 0 ? void 0 : _selectedObs$bins.binEdges, _lodash.default.without(omitCodes, -1));
64
69
  }
65
70
  }
66
71
  }
67
72
  return inSlice;
68
- }, [(_settings$selectedObs7 = settings.selectedObs) === null || _settings$selectedObs7 === void 0 || (_settings$selectedObs7 = _settings$selectedObs7.bins) === null || _settings$selectedObs7 === void 0 ? void 0 : _settings$selectedObs7.binEdges, (_settings$selectedObs8 = settings.selectedObs) === null || _settings$selectedObs8 === void 0 ? void 0 : _settings$selectedObs8.omit, isCategorical, isContinuous, sliceByObs]);
73
+ }, [sliceByObs, isCategorical, isContinuous, omitCodes, selectedObs === null || selectedObs === void 0 || (_selectedObs$bins2 = selectedObs.bins) === null || _selectedObs$bins2 === void 0 ? void 0 : _selectedObs$bins2.binEdges]);
69
74
  const isInPolygonsSlice = (0, _react.useCallback)((index, positions) => {
70
75
  let inSlice = true;
71
76
  if (settings.sliceBy.polygons && positions) {
@@ -146,7 +151,7 @@ const useFilter = data => {
146
151
  (0, _react.useEffect)(() => {
147
152
  if (!isPending && !serverError) {
148
153
  filterDataDispatch({
149
- type: "set.obs.indices",
154
+ type: 'set.obs.indices',
150
155
  indices: isSliced ? filteredIndices : null,
151
156
  valueMin: valueMin,
152
157
  valueMax: valueMax,
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Histogram = Histogram;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _xCharts = require("@mui/x-charts");
9
8
  var _lodash = _interopRequireDefault(require("lodash"));
10
9
  var _LoadingIndicators = require("./LoadingIndicators");
11
10
  var _string = require("./string");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
13
  function Histogram(_ref) {
14
14
  var _data$bin_edges;
@@ -17,36 +17,38 @@ function Histogram(_ref) {
17
17
  isPending,
18
18
  altColor = false
19
19
  } = _ref;
20
- return /*#__PURE__*/_react.default.createElement("div", {
21
- className: "feature-histogram-container"
22
- }, isPending ? /*#__PURE__*/_react.default.createElement(_LoadingIndicators.LoadingLinear, null) : data ? /*#__PURE__*/_react.default.createElement("div", {
23
- className: "feature-histogram m-1"
24
- }, /*#__PURE__*/_react.default.createElement(_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 "".concat((0, _string.formatNumerical)(data.hist[dataIndex]));
41
- },
42
- xAxis: {
43
- data: _lodash.default.range((_data$bin_edges = data.bin_edges) === null || _data$bin_edges === void 0 ? void 0 : _data$bin_edges.length) || null,
44
- valueFormatter: v => "Bin [".concat((0, _string.formatNumerical)(data.bin_edges[v][0], _string.FORMATS.EXPONENTIAL), ", ").concat((0, _string.formatNumerical)(data.bin_edges[v][1], _string.FORMATS.EXPONENTIAL)).concat(v === data.bin_edges.length - 1 ? "]" : ")")
45
- },
46
- slotProps: {
47
- popper: {
48
- className: "feature-histogram-tooltip"
49
- }
50
- }
51
- })) : null);
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 "".concat((0, _string.formatNumerical)(data.hist[dataIndex]));
41
+ },
42
+ xAxis: {
43
+ data: _lodash.default.range((_data$bin_edges = data.bin_edges) === null || _data$bin_edges === void 0 ? void 0 : _data$bin_edges.length) || null,
44
+ valueFormatter: v => "Bin [".concat((0, _string.formatNumerical)(data.bin_edges[v][0], _string.FORMATS.EXPONENTIAL), ", ").concat((0, _string.formatNumerical)(data.bin_edges[v][1], _string.FORMATS.EXPONENTIAL)).concat(v === data.bin_edges.length - 1 ? ']' : ')')
45
+ },
46
+ slotProps: {
47
+ popper: {
48
+ className: 'feature-histogram-tooltip'
49
+ }
50
+ }
51
+ })
52
+ }) : null
53
+ });
52
54
  }
@@ -4,22 +4,22 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ImageViewer = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = require("react");
8
8
  var _reactBootstrap = require("react-bootstrap");
9
- 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); }
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
10
  const ImageViewer = _ref => {
11
11
  let {
12
12
  src,
13
13
  alt,
14
- className = "img-fluid"
14
+ className = 'img-fluid'
15
15
  } = _ref;
16
16
  const [error, setError] = (0, _react.useState)(false);
17
17
  const handleError = () => {
18
- console.error("Error loading image from src:", src);
18
+ console.error('Error loading image from src:', src);
19
19
  setError(true);
20
20
  };
21
21
  if (!error) {
22
- return /*#__PURE__*/_react.default.createElement("img", {
22
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("img", {
23
23
  src: src,
24
24
  alt: alt,
25
25
  className: className,
@@ -27,9 +27,12 @@ const ImageViewer = _ref => {
27
27
  onError: handleError
28
28
  });
29
29
  } else {
30
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Alert, {
31
- variant: "danger"
32
- }, "Failed to load image"));
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
31
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactBootstrap.Alert, {
32
+ variant: "danger",
33
+ children: "Failed to load image"
34
+ })
35
+ });
33
36
  }
34
37
  };
35
38
  exports.ImageViewer = ImageViewer;
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.Legend = Legend;
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"));
@@ -12,15 +12,15 @@ var _string = require("./string");
12
12
  var _constants = require("../constants/constants");
13
13
  var _SettingsContext = require("../context/SettingsContext");
14
14
  var _colorHelper = require("../helpers/color-helper");
15
+ var _jsxRuntime = require("react/jsx-runtime");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
- 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); }
17
17
  function Legend(_ref) {
18
18
  let {
19
19
  isCategorical = false,
20
20
  min = 0,
21
21
  max = 1,
22
22
  colorscale = null,
23
- addText = ""
23
+ addText = ''
24
24
  } = _ref;
25
25
  const settings = (0, _SettingsContext.useSettings)();
26
26
  const {
@@ -33,41 +33,48 @@ function Legend(_ref) {
33
33
  categorical: isCategorical,
34
34
  colorscale: colorscale
35
35
  }));
36
- return /*#__PURE__*/_react.default.createElement("span", {
37
- key: i,
36
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
38
37
  className: "grad-step",
39
38
  style: {
40
39
  backgroundColor: color
41
40
  }
42
- });
41
+ }, i);
43
42
  });
44
43
  }, [colorscale, getColor, isCategorical]);
45
44
  if (settings.colorEncoding && !isCategorical) {
46
45
  var _settings$selectedVar, _settings$selectedObs;
47
- return /*#__PURE__*/_react.default.createElement("div", {
48
- className: "cherita-legend"
49
- }, /*#__PURE__*/_react.default.createElement("div", {
50
- className: "gradient"
51
- }, /*#__PURE__*/_react.default.createElement("p", {
52
- className: "small m-0 p-0"
53
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
54
- icon: _freeSolidSvgIcons.faDroplet,
55
- className: "me-1"
56
- }), (settings.colorEncoding === _constants.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.default.createElement("span", {
57
- className: "domain-min"
58
- }, (0, _string.formatNumerical)(min, _string.FORMATS.EXPONENTIAL)), /*#__PURE__*/_react.default.createElement("span", {
59
- className: "domain-med"
60
- }, (0, _string.formatNumerical)((min + max) * 0.5, _string.FORMATS.EXPONENTIAL)), /*#__PURE__*/_react.default.createElement("span", {
61
- className: "domain-max"
62
- }, (0, _string.formatNumerical)(max, _string.FORMATS.EXPONENTIAL))));
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
47
+ className: "cherita-legend",
48
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
49
+ className: "gradient",
50
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
51
+ className: "small m-0 p-0",
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
53
+ icon: _freeSolidSvgIcons.faDroplet,
54
+ className: "me-1"
55
+ }), (settings.colorEncoding === _constants.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]
56
+ }), spanList, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
57
+ className: "domain-min",
58
+ children: (0, _string.formatNumerical)(min, _string.FORMATS.EXPONENTIAL)
59
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
60
+ className: "domain-med",
61
+ children: (0, _string.formatNumerical)((min + max) * 0.5, _string.FORMATS.EXPONENTIAL)
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
63
+ className: "domain-max",
64
+ children: (0, _string.formatNumerical)(max, _string.FORMATS.EXPONENTIAL)
65
+ })]
66
+ })
67
+ });
63
68
  } else if (settings.colorEncoding === _constants.COLOR_ENCODINGS.OBS && settings.selectedObs) {
64
- return /*#__PURE__*/_react.default.createElement("div", {
65
- className: "cherita-legend categorical"
66
- }, /*#__PURE__*/_react.default.createElement("p", {
67
- className: "legend-text text-end m-0 p-0"
68
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
69
- icon: _freeSolidSvgIcons.faDroplet,
70
- className: "me-2"
71
- }), settings.selectedObs.name));
69
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
70
+ className: "cherita-legend categorical",
71
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
72
+ className: "legend-text text-end m-0 p-0",
73
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactFontawesome.FontAwesomeIcon, {
74
+ icon: _freeSolidSvgIcons.faDroplet,
75
+ className: "me-2"
76
+ }), settings.selectedObs.name]
77
+ })
78
+ });
72
79
  }
73
80
  }
@@ -4,28 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LoadingSpinner = exports.LoadingLinear = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
7
  var _material = require("@mui/material");
9
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
8
+ var _jsxRuntime = require("react/jsx-runtime");
10
9
  const LoadingSpinner = _ref => {
11
10
  let {
12
11
  text = null,
13
12
  disableShrink = false
14
13
  } = _ref;
15
- return /*#__PURE__*/_react.default.createElement("div", {
16
- className: "loading-spinner"
17
- }, /*#__PURE__*/_react.default.createElement(_material.CircularProgress, {
18
- disableShrink: disableShrink
19
- }), (text === null || text === void 0 ? void 0 : text.length) && /*#__PURE__*/_react.default.createElement("span", {
20
- className: "visually-hidden"
21
- }, text));
14
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
15
+ className: "loading-spinner",
16
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_material.CircularProgress, {
17
+ disableShrink: disableShrink
18
+ }), (text === null || text === void 0 ? void 0 : text.length) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
19
+ className: "visually-hidden",
20
+ children: text
21
+ })]
22
+ });
22
23
  };
23
24
  exports.LoadingSpinner = LoadingSpinner;
24
25
  const LoadingLinear = () => {
25
- return /*#__PURE__*/_react.default.createElement(_material.Box, {
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.Box, {
26
27
  sx: {
27
- width: "100%"
28
- }
29
- }, /*#__PURE__*/_react.default.createElement(_material.LinearProgress, null));
28
+ width: '100%'
29
+ },
30
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_material.LinearProgress, {})
31
+ });
30
32
  };
31
33
  exports.LoadingLinear = LoadingLinear;