@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
@@ -3,7 +3,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
3
3
  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; }
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
5
  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); }
6
- import React, { useState, useEffect } from "react";
6
+ import { useState, useEffect } from "react";
7
7
  import { faPlus } from "@fortawesome/free-solid-svg-icons";
8
8
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
9
9
  import _ from "lodash";
@@ -14,6 +14,7 @@ import { useSettings, useSettingsDispatch } from "../../context/SettingsContext"
14
14
  import { useFetch } from "../../utils/requests";
15
15
  import { VarDiseaseInfo } from "../var-list/VarItem";
16
16
  import { sortMeans, useVarMean } from "../var-list/VarList";
17
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
17
18
  export function VarInfo(_ref) {
18
19
  let {
19
20
  varItem
@@ -40,9 +41,19 @@ export function VarInfo(_ref) {
40
41
  enabled: !!dataset.diseaseDatasets.length
41
42
  });
42
43
  const hasDiseaseInfo = !isPending && !serverError && !!(fetchedData !== null && fetchedData !== void 0 && fetchedData.length);
43
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h5", null, varItem.name), !!dataset.diseaseDatasets.length && isPending && /*#__PURE__*/React.createElement("p", null, "Loading..."), hasDiseaseInfo && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("h6", null, "Associated diseases"), /*#__PURE__*/React.createElement(VarDiseaseInfo, {
44
- data: fetchedData
45
- })));
44
+ return /*#__PURE__*/_jsxs("div", {
45
+ children: [/*#__PURE__*/_jsx("h5", {
46
+ children: varItem.name
47
+ }), !!dataset.diseaseDatasets.length && isPending && /*#__PURE__*/_jsx("p", {
48
+ children: "Loading..."
49
+ }), hasDiseaseInfo && /*#__PURE__*/_jsxs(_Fragment, {
50
+ children: [/*#__PURE__*/_jsx("h6", {
51
+ children: "Associated diseases"
52
+ }), /*#__PURE__*/_jsx(VarDiseaseInfo, {
53
+ data: fetchedData
54
+ })]
55
+ })]
56
+ });
46
57
  }
47
58
  export function DiseaseInfo(_ref2) {
48
59
  let {
@@ -93,49 +104,65 @@ export function DiseaseInfo(_ref2) {
93
104
  }
94
105
  }, [settings.varSort.disease.sort, settings.varSort.disease.sortOrder, diseaseVars, varMeans.fetchedData, varMeans.isPending, varMeans.serverError]);
95
106
  const diseaseVarList = _.map(sortedDiseaseVars, v => {
96
- return /*#__PURE__*/React.createElement(ListGroup.Item, {
97
- key: v.gene_id
98
- }, /*#__PURE__*/React.createElement("div", {
99
- className: "d-flex justify-content-between align-items-center w-100"
100
- }, v.name, /*#__PURE__*/React.createElement("div", {
101
- className: "d-flex align-items-center gap-1"
102
- }, /*#__PURE__*/React.createElement(Button, {
103
- type: "button",
104
- className: "m-0 p-0 px-1",
105
- variant: "outline-secondary",
106
- title: "Add to list",
107
- onClick: () => {
108
- handleSelect(dispatch, {
109
- name: v.name,
110
- index: v.index,
111
- matrix_index: v.matrix_index
112
- });
113
- }
114
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
115
- icon: faPlus
116
- })))));
107
+ return /*#__PURE__*/_jsx(ListGroup.Item, {
108
+ children: /*#__PURE__*/_jsxs("div", {
109
+ className: "d-flex justify-content-between align-items-center w-100",
110
+ children: [v.name, /*#__PURE__*/_jsx("div", {
111
+ className: "d-flex align-items-center gap-1",
112
+ children: /*#__PURE__*/_jsx(Button, {
113
+ type: "button",
114
+ className: "m-0 p-0 px-1",
115
+ variant: "outline-secondary",
116
+ title: "Add to list",
117
+ onClick: () => {
118
+ handleSelect(dispatch, {
119
+ name: v.name,
120
+ index: v.index,
121
+ matrix_index: v.matrix_index
122
+ });
123
+ },
124
+ children: /*#__PURE__*/_jsx(FontAwesomeIcon, {
125
+ icon: faPlus
126
+ })
127
+ })
128
+ })]
129
+ })
130
+ }, v.gene_id);
117
131
  });
118
132
  const isPending = diseaseData.isPending || varMeans.isPending && settings.varSort.disease.sort === VAR_SORT.MATRIX;
119
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h5", null, disease.disease_name), /*#__PURE__*/React.createElement("h6", null, "Implicated genes"), isPending ? /*#__PURE__*/React.createElement("p", null, "Loading...") : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
120
- className: "d-flex justify-content-end mb-2"
121
- }, /*#__PURE__*/React.createElement(Button, {
122
- size: "sm",
123
- title: "Add all as a set",
124
- onClick: () => {
125
- addVarSet(dispatch, {
126
- name: disease.disease_name,
127
- vars: _.map(diseaseVars, v => {
128
- return {
129
- index: v.index,
130
- name: v.name,
131
- matrix_index: v.matrix_index
132
- };
133
+ return /*#__PURE__*/_jsxs("div", {
134
+ children: [/*#__PURE__*/_jsx("h5", {
135
+ children: disease.disease_name
136
+ }), /*#__PURE__*/_jsx("h6", {
137
+ children: "Implicated genes"
138
+ }), isPending ? /*#__PURE__*/_jsx("p", {
139
+ children: "Loading..."
140
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
141
+ children: [/*#__PURE__*/_jsx("div", {
142
+ className: "d-flex justify-content-end mb-2",
143
+ children: /*#__PURE__*/_jsxs(Button, {
144
+ size: "sm",
145
+ title: "Add all as a set",
146
+ onClick: () => {
147
+ addVarSet(dispatch, {
148
+ name: disease.disease_name,
149
+ vars: _.map(diseaseVars, v => {
150
+ return {
151
+ index: v.index,
152
+ name: v.name,
153
+ matrix_index: v.matrix_index
154
+ };
155
+ })
156
+ });
157
+ },
158
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
159
+ icon: faPlus
160
+ }), " Add all as a set"]
133
161
  })
134
- });
135
- }
136
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
137
- icon: faPlus
138
- }), " Add all as a set")), /*#__PURE__*/React.createElement(ListGroup, {
139
- className: "overflow-scroll"
140
- }, diseaseVarList)));
162
+ }), /*#__PURE__*/_jsx(ListGroup, {
163
+ className: "overflow-scroll",
164
+ children: diseaseVarList
165
+ })]
166
+ })]
167
+ });
141
168
  }
@@ -3,7 +3,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
3
3
  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; }
4
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
5
5
  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); }
6
- import React, { useDeferredValue, useEffect, useMemo, useState } from "react";
6
+ import { useDeferredValue, useEffect, useMemo, useState } from "react";
7
7
  import { faPlus } from "@fortawesome/free-solid-svg-icons";
8
8
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
9
9
  import _ from "lodash";
@@ -11,6 +11,7 @@ import { Button, ListGroup } from "react-bootstrap";
11
11
  import { useSettingsDispatch } from "../../context/SettingsContext";
12
12
  import { useDiseaseSearch, useVarSearch } from "../../utils/search";
13
13
  import { VirtualizedList } from "../../utils/VirtualizedList";
14
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
15
  export function VarSearchResults(_ref) {
15
16
  let {
16
17
  text,
@@ -55,47 +56,59 @@ export function VarSearchResults(_ref) {
55
56
  }
56
57
  }, [fetchedData, isPending, serverError, setResultsLength]);
57
58
  const getDataAtIndex = index => deferredData[index];
58
- const ItemComponent = item => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
59
- className: "virtualized-list-wrapper"
60
- }, /*#__PURE__*/React.createElement(ListGroup.Item, {
61
- key: item,
62
- onClick: () => {
63
- setSelectedResult(item);
64
- },
65
- active: (selectedResult === null || selectedResult === void 0 ? void 0 : selectedResult.index) === item.index
66
- }, /*#__PURE__*/React.createElement("div", {
67
- className: "d-flex justify-content-between align-items-center w-100"
68
- }, /*#__PURE__*/React.createElement("div", null, item.name), /*#__PURE__*/React.createElement("div", {
69
- className: "d-flex align-items-center gap-1"
70
- }, /*#__PURE__*/React.createElement(Button, {
71
- type: "button",
72
- className: "m-0 p-0 px-1",
73
- variant: "outline-secondary",
74
- title: "Add to list",
75
- disabled: isStale,
76
- onClick: () => {
77
- handleSelect(dispatch, item);
78
- }
79
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
80
- icon: faPlus
81
- })))))));
82
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
83
- className: "search-results"
84
- }, /*#__PURE__*/React.createElement(ListGroup, {
85
- variant: "flush",
86
- className: "cherita-list"
87
- }, deferredData !== null && deferredData !== void 0 && deferredData.length ? /*#__PURE__*/React.createElement(VirtualizedList, {
88
- getDataAtIndex: getDataAtIndex,
89
- count: deferredData.length,
90
- ItemComponent: ItemComponent,
91
- overscan: 500,
92
- estimateSize: () => 42,
93
- maxHeight: "70vh"
94
- }) : /*#__PURE__*/React.createElement(ListGroup.Item, {
95
- key: "empty",
96
- as: "button",
97
- disabled: true
98
- }, !text.length ? "Search features" : !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data"))));
59
+ const ItemComponent = item => /*#__PURE__*/_jsx(_Fragment, {
60
+ children: /*#__PURE__*/_jsx("div", {
61
+ className: "virtualized-list-wrapper",
62
+ children: /*#__PURE__*/_jsx(ListGroup.Item, {
63
+ onClick: () => {
64
+ setSelectedResult(item);
65
+ },
66
+ active: (selectedResult === null || selectedResult === void 0 ? void 0 : selectedResult.index) === item.index,
67
+ children: /*#__PURE__*/_jsxs("div", {
68
+ className: "d-flex justify-content-between align-items-center w-100",
69
+ children: [/*#__PURE__*/_jsx("div", {
70
+ children: item.name
71
+ }), /*#__PURE__*/_jsx("div", {
72
+ className: "d-flex align-items-center gap-1",
73
+ children: /*#__PURE__*/_jsx(Button, {
74
+ type: "button",
75
+ className: "m-0 p-0 px-1",
76
+ variant: "outline-secondary",
77
+ title: "Add to list",
78
+ disabled: isStale,
79
+ onClick: () => {
80
+ handleSelect(dispatch, item);
81
+ },
82
+ children: /*#__PURE__*/_jsx(FontAwesomeIcon, {
83
+ icon: faPlus
84
+ })
85
+ })
86
+ })]
87
+ })
88
+ }, item)
89
+ })
90
+ });
91
+ return /*#__PURE__*/_jsx("div", {
92
+ children: /*#__PURE__*/_jsx("div", {
93
+ className: "search-results",
94
+ children: /*#__PURE__*/_jsx(ListGroup, {
95
+ variant: "flush",
96
+ className: "cherita-list",
97
+ children: deferredData !== null && deferredData !== void 0 && deferredData.length ? /*#__PURE__*/_jsx(VirtualizedList, {
98
+ getDataAtIndex: getDataAtIndex,
99
+ count: deferredData.length,
100
+ ItemComponent: ItemComponent,
101
+ overscan: 500,
102
+ estimateSize: () => 42,
103
+ maxHeight: "70vh"
104
+ }) : /*#__PURE__*/_jsx(ListGroup.Item, {
105
+ as: "button",
106
+ disabled: true,
107
+ children: !text.length ? "Search features" : !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data"
108
+ }, "empty")
109
+ })
110
+ })
111
+ });
99
112
  }
100
113
  export function DiseasesSearchResults(_ref2) {
101
114
  let {
@@ -139,32 +152,42 @@ export function DiseasesSearchResults(_ref2) {
139
152
  }
140
153
  }, [fetchedData, isPending, serverError, setResultsLength]);
141
154
  const getDataAtIndex = index => deferredData[index];
142
- const ItemComponent = item => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
143
- className: "virtualized-list-wrapper"
144
- }, /*#__PURE__*/React.createElement(ListGroup.Item, {
145
- key: item.name,
146
- onClick: () => {
147
- setSelectedResult(item);
148
- },
149
- active: (selectedResult === null || selectedResult === void 0 ? void 0 : selectedResult.id) === item.id
150
- }, /*#__PURE__*/React.createElement("div", {
151
- className: "d-flex justify-content-between align-items-center w-100"
152
- }, /*#__PURE__*/React.createElement("div", null, item.disease_name)))));
153
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
154
- className: "search-results"
155
- }, /*#__PURE__*/React.createElement(ListGroup, {
156
- variant: "flush",
157
- className: "cherita-list"
158
- }, deferredData !== null && deferredData !== void 0 && deferredData.length ? /*#__PURE__*/React.createElement(VirtualizedList, {
159
- getDataAtIndex: getDataAtIndex,
160
- count: deferredData.length,
161
- ItemComponent: ItemComponent,
162
- overscan: 250,
163
- estimateSize: () => 32,
164
- maxHeight: "70vh"
165
- }) : /*#__PURE__*/React.createElement(ListGroup.Item, {
166
- key: "empty",
167
- as: "button",
168
- disabled: true
169
- }, !text.length ? "Search diseases" : !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data"))));
155
+ const ItemComponent = item => /*#__PURE__*/_jsx(_Fragment, {
156
+ children: /*#__PURE__*/_jsx("div", {
157
+ className: "virtualized-list-wrapper",
158
+ children: /*#__PURE__*/_jsx(ListGroup.Item, {
159
+ onClick: () => {
160
+ setSelectedResult(item);
161
+ },
162
+ active: (selectedResult === null || selectedResult === void 0 ? void 0 : selectedResult.id) === item.id,
163
+ children: /*#__PURE__*/_jsx("div", {
164
+ className: "d-flex justify-content-between align-items-center w-100",
165
+ children: /*#__PURE__*/_jsx("div", {
166
+ children: item.disease_name
167
+ })
168
+ })
169
+ }, item.name)
170
+ })
171
+ });
172
+ return /*#__PURE__*/_jsx("div", {
173
+ children: /*#__PURE__*/_jsx("div", {
174
+ className: "search-results",
175
+ children: /*#__PURE__*/_jsx(ListGroup, {
176
+ variant: "flush",
177
+ className: "cherita-list",
178
+ children: deferredData !== null && deferredData !== void 0 && deferredData.length ? /*#__PURE__*/_jsx(VirtualizedList, {
179
+ getDataAtIndex: getDataAtIndex,
180
+ count: deferredData.length,
181
+ ItemComponent: ItemComponent,
182
+ overscan: 250,
183
+ estimateSize: () => 32,
184
+ maxHeight: "70vh"
185
+ }) : /*#__PURE__*/_jsx(ListGroup.Item, {
186
+ as: "button",
187
+ disabled: true,
188
+ children: !text.length ? "Search diseases" : !serverError ? isStale || isPending ? "Loading..." : "No items found" : "Failed to fetch data"
189
+ }, "empty")
190
+ })
191
+ })
192
+ });
170
193
  }
@@ -1,7 +1,7 @@
1
- import React from "react";
2
1
  import { faList, faSearch, faSliders } from "@fortawesome/free-solid-svg-icons";
3
2
  import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
4
3
  import { Container, Nav, Navbar } from "react-bootstrap";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  export const Toolbar = _ref => {
6
6
  let {
7
7
  showObsBtn = true,
@@ -11,41 +11,51 @@ export const Toolbar = _ref => {
11
11
  setShowVars,
12
12
  setShowControls
13
13
  } = _ref;
14
- return /*#__PURE__*/React.createElement(Navbar, {
14
+ return /*#__PURE__*/_jsx(Navbar, {
15
15
  expand: "md",
16
16
  bg: "primary",
17
17
  variant: "dark",
18
- className: "cherita-navbar"
19
- }, /*#__PURE__*/React.createElement(Container, {
20
- fluid: true
21
- }, /*#__PURE__*/React.createElement(Navbar.Toggle, {
22
- "aria-controls": "navbarScroll"
23
- }), /*#__PURE__*/React.createElement(Navbar.Collapse, {
24
- id: "navbarScroll"
25
- }, /*#__PURE__*/React.createElement(Nav, {
26
- navbarScroll: true
27
- }, showObsBtn && /*#__PURE__*/React.createElement(Nav.Item, {
28
- className: "me-2"
29
- }, /*#__PURE__*/React.createElement(Nav.Link, {
30
- onClick: () => setShowObs(true)
31
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
32
- icon: faList,
33
- className: "me-2"
34
- }), "Explore Categories")), showVarsBtn && /*#__PURE__*/React.createElement(Nav.Item, {
35
- className: "me-2"
36
- }, /*#__PURE__*/React.createElement(Nav.Link, {
37
- onClick: () => setShowVars(true)
38
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
39
- icon: faSearch,
40
- className: "me-2"
41
- }), "Search Genes")), showCtrlsBtn && /*#__PURE__*/React.createElement(Nav.Item, {
42
- className: "me-2"
43
- }, /*#__PURE__*/React.createElement(Nav.Link, {
44
- onClick: () => setShowControls(true)
45
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
46
- icon: faSliders,
47
- className: "me-2"
48
- }), "Controls"))))));
18
+ className: "cherita-navbar",
19
+ children: /*#__PURE__*/_jsxs(Container, {
20
+ fluid: true,
21
+ children: [/*#__PURE__*/_jsx(Navbar.Toggle, {
22
+ "aria-controls": "navbarScroll"
23
+ }), /*#__PURE__*/_jsx(Navbar.Collapse, {
24
+ id: "navbarScroll",
25
+ children: /*#__PURE__*/_jsxs(Nav, {
26
+ navbarScroll: true,
27
+ children: [showObsBtn && /*#__PURE__*/_jsx(Nav.Item, {
28
+ className: "me-2",
29
+ children: /*#__PURE__*/_jsxs(Nav.Link, {
30
+ onClick: () => setShowObs(true),
31
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
32
+ icon: faList,
33
+ className: "me-2"
34
+ }), "Explore Categories"]
35
+ })
36
+ }), showVarsBtn && /*#__PURE__*/_jsx(Nav.Item, {
37
+ className: "me-2",
38
+ children: /*#__PURE__*/_jsxs(Nav.Link, {
39
+ onClick: () => setShowVars(true),
40
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
41
+ icon: faSearch,
42
+ className: "me-2"
43
+ }), "Search Genes"]
44
+ })
45
+ }), showCtrlsBtn && /*#__PURE__*/_jsx(Nav.Item, {
46
+ className: "me-2",
47
+ children: /*#__PURE__*/_jsxs(Nav.Link, {
48
+ onClick: () => setShowControls(true),
49
+ children: [/*#__PURE__*/_jsx(FontAwesomeIcon, {
50
+ icon: faSliders,
51
+ className: "me-2"
52
+ }), "Controls"]
53
+ })
54
+ })]
55
+ })
56
+ })]
57
+ })
58
+ });
49
59
  };
50
60
  export const ObsPlotlyToolbar = _ref2 => {
51
61
  let {