@haniffalab/cherita-react 1.3.0 → 1.3.1

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 +21 -8
  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
@@ -1,11 +1,24 @@
1
1
  .cherita-spatial-controls {
2
2
  position: absolute;
3
- z-index: 10;
4
3
  top: 1rem;
5
4
  left: 1rem;
5
+ z-index: 10;
6
6
  width: 3rem;
7
+
8
+ // Target buttons inside the controls
7
9
  .btn {
8
10
  padding-left: 0;
9
11
  padding-right: 0;
10
12
  }
11
13
  }
14
+
15
+ .plotselector {
16
+ padding: 0 10px;
17
+ border-bottom: 1px solid #dee2e6;
18
+
19
+ // Individual plot selector icons
20
+ .plotselector-icon {
21
+ padding: 6px;
22
+ cursor: pointer;
23
+ }
24
+ }
@@ -1,157 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.FullPage = FullPage;
7
- exports.FullPagePseudospatial = FullPagePseudospatial;
8
- var _react = _interopRequireWildcard(require("react"));
9
- var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
10
- var _reactFontawesome = require("@fortawesome/react-fontawesome");
11
- var _reactBootstrap = require("react-bootstrap");
12
- var _constants = require("../../constants/constants");
13
- var _DatasetContext = require("../../context/DatasetContext");
14
- var _ObsList = require("../obs-list/ObsList");
15
- var _offcanvas = require("../offcanvas");
16
- var _Pseudospatial = require("../pseudospatial/Pseudospatial");
17
- var _PseudospatialToolbar = require("../pseudospatial/PseudospatialToolbar");
18
- var _Scatterplot = require("../scatterplot/Scatterplot");
19
- var _ScatterplotControls = require("../scatterplot/ScatterplotControls");
20
- var _SearchBar = require("../search-bar/SearchBar");
21
- var _VarList = require("../var-list/VarList");
22
- const _excluded = ["children", "varMode", "searchDiseases"];
23
- 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); }
24
- 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); }
25
- 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; }
26
- 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; }
27
- function FullPage(_ref) {
28
- let {
29
- children,
30
- varMode = _constants.SELECTION_MODES.SINGLE,
31
- searchDiseases = false
32
- } = _ref,
33
- props = _objectWithoutProperties(_ref, _excluded);
34
- const appRef = (0, _react.useRef)();
35
- const [appDimensions, setAppDimensions] = (0, _react.useState)({
36
- width: 0,
37
- height: 0
38
- });
39
- const [showObs, setShowObs] = (0, _react.useState)(false);
40
- const [showObsm, setShowObsm] = (0, _react.useState)(false);
41
- const [showVars, setShowVars] = (0, _react.useState)(false);
42
- const [showControls, setShowControls] = (0, _react.useState)(false);
43
- const [showPseudospatialControls, setShowPseudospatialControls] = (0, _react.useState)(false);
44
- const [showModal, setShowModal] = (0, _react.useState)(false);
45
- const [pseudospatialPlotType, setpseudospatialPlotType] = (0, _react.useState)(null);
46
- (0, _react.useEffect)(() => {
47
- const updateDimensions = () => {
48
- if (appRef.current) {
49
- // Get the distance from the top of the page to the target element
50
- const rect = appRef.current.getBoundingClientRect();
51
- const distanceFromTop = rect.top + window.scrollY;
52
-
53
- // Calculate the available height for the Cherita app
54
- const availableHeight = window.innerHeight - distanceFromTop;
55
-
56
- // Update the dimensions to fit the viewport minus the navbar height
57
- setAppDimensions({
58
- width: appRef.current.offsetWidth,
59
- height: availableHeight
60
- });
61
- }
62
- };
63
- window.addEventListener("resize", updateDimensions);
64
- updateDimensions(); // Initial update
65
- return () => window.removeEventListener("resize", updateDimensions);
66
- }, []);
67
- return /*#__PURE__*/_react.default.createElement("div", {
68
- ref: appRef,
69
- className: "cherita-app",
70
- style: {
71
- height: appDimensions.height
72
- }
73
- }, /*#__PURE__*/_react.default.createElement(_DatasetContext.DatasetProvider, props, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Container, {
74
- fluid: true,
75
- className: "d-flex g-0",
76
- style: {
77
- height: appDimensions.height
78
- }
79
- }, /*#__PURE__*/_react.default.createElement("div", {
80
- className: "cherita-app-obs modern-scrollbars border-end h-100"
81
- }, /*#__PURE__*/_react.default.createElement(_ObsList.ObsColsList, props)), /*#__PURE__*/_react.default.createElement("div", {
82
- className: "cherita-app-canvas flex-grow-1"
83
- }, children({
84
- setShowObs,
85
- setShowVars
86
- })), /*#__PURE__*/_react.default.createElement("div", {
87
- className: "cherita-app-sidebar p-3"
88
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card.Header, {
89
- className: "d-flex justify-content-evenly align-items-center"
90
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
91
- variant: "link",
92
- onClick: () => setShowModal(true)
93
- }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
94
- icon: _freeSolidSvgIcons.faArrowUpRightFromSquare
95
- }))), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Card.Body, {
96
- className: "d-flex flex-column p-0"
97
- }, /*#__PURE__*/_react.default.createElement("div", {
98
- className: "sidebar-pseudospatial"
99
- }, /*#__PURE__*/_react.default.createElement(_Pseudospatial.Pseudospatial, {
100
- className: "sidebar-pseudospatial",
101
- plotType: pseudospatialPlotType,
102
- setPlotType: setpseudospatialPlotType,
103
- setShowControls: setShowPseudospatialControls
104
- })), /*#__PURE__*/_react.default.createElement("div", {
105
- className: "sidebar-features modern-scrollbars"
106
- }, /*#__PURE__*/_react.default.createElement(_SearchBar.SearchBar, {
107
- searchDiseases: searchDiseases,
108
- searchVar: true
109
- }), /*#__PURE__*/_react.default.createElement(_VarList.VarNamesList, {
110
- mode: varMode
111
- })))))), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Modal, {
112
- show: showModal,
113
- onHide: () => setShowModal(false),
114
- centered: true
115
- }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Modal.Header, {
116
- closeButton: true
117
- }), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Modal.Body, null, /*#__PURE__*/_react.default.createElement(_Pseudospatial.Pseudospatial, {
118
- plotType: pseudospatialPlotType,
119
- setPlotType: setpseudospatialPlotType,
120
- setShowControls: setShowPseudospatialControls,
121
- height: 500
122
- }))), /*#__PURE__*/_react.default.createElement(_offcanvas.OffcanvasObs, {
123
- show: showObs,
124
- handleClose: () => setShowObs(false)
125
- }), /*#__PURE__*/_react.default.createElement(_offcanvas.OffcanvasVars, {
126
- show: showVars,
127
- handleClose: () => setShowVars(false),
128
- mode: varMode
129
- }), /*#__PURE__*/_react.default.createElement(_offcanvas.OffcanvasControls, {
130
- show: showControls,
131
- handleClose: () => setShowControls(false),
132
- Controls: _ScatterplotControls.ScatterplotControls
133
- }), /*#__PURE__*/_react.default.createElement(_offcanvas.OffcanvasControls, {
134
- show: showPseudospatialControls,
135
- handleClose: () => setShowPseudospatialControls(false),
136
- Controls: _PseudospatialToolbar.PseudospatialToolbar,
137
- plotType: pseudospatialPlotType
138
- }), /*#__PURE__*/_react.default.createElement(_offcanvas.OffcanvasObsm, {
139
- show: showObsm,
140
- handleClose: () => setShowObsm(false)
141
- }))));
142
- }
143
- function FullPagePseudospatial(props) {
144
- return /*#__PURE__*/_react.default.createElement(FullPage, _extends({}, props, {
145
- varMode: _constants.SELECTION_MODES.SINGLE
146
- }), _ref2 => {
147
- let {
148
- setShowObs,
149
- setShowVars
150
- } = _ref2;
151
- return /*#__PURE__*/_react.default.createElement(_Scatterplot.Scatterplot, {
152
- setShowObs: setShowObs,
153
- setShowVars: setShowVars,
154
- isFullscreen: true
155
- });
156
- });
157
- }
@@ -1,149 +0,0 @@
1
- const _excluded = ["children", "varMode", "searchDiseases"];
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); }
3
- 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
- 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, { useEffect, useRef, useState } from "react";
6
- import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons";
7
- import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
8
- import { Button, Card, Container, Modal } from "react-bootstrap";
9
- import { SELECTION_MODES } from "../../constants/constants";
10
- import { DatasetProvider } from "../../context/DatasetContext";
11
- import { ObsColsList } from "../obs-list/ObsList";
12
- import { OffcanvasControls, OffcanvasObs, OffcanvasObsm, OffcanvasVars } from "../offcanvas";
13
- import { Pseudospatial } from "../pseudospatial/Pseudospatial";
14
- import { PseudospatialToolbar } from "../pseudospatial/PseudospatialToolbar";
15
- import { Scatterplot } from "../scatterplot/Scatterplot";
16
- import { ScatterplotControls } from "../scatterplot/ScatterplotControls";
17
- import { SearchBar } from "../search-bar/SearchBar";
18
- import { VarNamesList } from "../var-list/VarList";
19
- export function FullPage(_ref) {
20
- let {
21
- children,
22
- varMode = SELECTION_MODES.SINGLE,
23
- searchDiseases = false
24
- } = _ref,
25
- props = _objectWithoutProperties(_ref, _excluded);
26
- const appRef = useRef();
27
- const [appDimensions, setAppDimensions] = useState({
28
- width: 0,
29
- height: 0
30
- });
31
- const [showObs, setShowObs] = useState(false);
32
- const [showObsm, setShowObsm] = useState(false);
33
- const [showVars, setShowVars] = useState(false);
34
- const [showControls, setShowControls] = useState(false);
35
- const [showPseudospatialControls, setShowPseudospatialControls] = useState(false);
36
- const [showModal, setShowModal] = useState(false);
37
- const [pseudospatialPlotType, setpseudospatialPlotType] = useState(null);
38
- useEffect(() => {
39
- const updateDimensions = () => {
40
- if (appRef.current) {
41
- // Get the distance from the top of the page to the target element
42
- const rect = appRef.current.getBoundingClientRect();
43
- const distanceFromTop = rect.top + window.scrollY;
44
-
45
- // Calculate the available height for the Cherita app
46
- const availableHeight = window.innerHeight - distanceFromTop;
47
-
48
- // Update the dimensions to fit the viewport minus the navbar height
49
- setAppDimensions({
50
- width: appRef.current.offsetWidth,
51
- height: availableHeight
52
- });
53
- }
54
- };
55
- window.addEventListener("resize", updateDimensions);
56
- updateDimensions(); // Initial update
57
- return () => window.removeEventListener("resize", updateDimensions);
58
- }, []);
59
- return /*#__PURE__*/React.createElement("div", {
60
- ref: appRef,
61
- className: "cherita-app",
62
- style: {
63
- height: appDimensions.height
64
- }
65
- }, /*#__PURE__*/React.createElement(DatasetProvider, props, /*#__PURE__*/React.createElement(Container, {
66
- fluid: true,
67
- className: "d-flex g-0",
68
- style: {
69
- height: appDimensions.height
70
- }
71
- }, /*#__PURE__*/React.createElement("div", {
72
- className: "cherita-app-obs modern-scrollbars border-end h-100"
73
- }, /*#__PURE__*/React.createElement(ObsColsList, props)), /*#__PURE__*/React.createElement("div", {
74
- className: "cherita-app-canvas flex-grow-1"
75
- }, children({
76
- setShowObs,
77
- setShowVars
78
- })), /*#__PURE__*/React.createElement("div", {
79
- className: "cherita-app-sidebar p-3"
80
- }, /*#__PURE__*/React.createElement(Card, null, /*#__PURE__*/React.createElement(Card.Header, {
81
- className: "d-flex justify-content-evenly align-items-center"
82
- }, /*#__PURE__*/React.createElement(Button, {
83
- variant: "link",
84
- onClick: () => setShowModal(true)
85
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
86
- icon: faArrowUpRightFromSquare
87
- }))), /*#__PURE__*/React.createElement(Card.Body, {
88
- className: "d-flex flex-column p-0"
89
- }, /*#__PURE__*/React.createElement("div", {
90
- className: "sidebar-pseudospatial"
91
- }, /*#__PURE__*/React.createElement(Pseudospatial, {
92
- className: "sidebar-pseudospatial",
93
- plotType: pseudospatialPlotType,
94
- setPlotType: setpseudospatialPlotType,
95
- setShowControls: setShowPseudospatialControls
96
- })), /*#__PURE__*/React.createElement("div", {
97
- className: "sidebar-features modern-scrollbars"
98
- }, /*#__PURE__*/React.createElement(SearchBar, {
99
- searchDiseases: searchDiseases,
100
- searchVar: true
101
- }), /*#__PURE__*/React.createElement(VarNamesList, {
102
- mode: varMode
103
- })))))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Modal, {
104
- show: showModal,
105
- onHide: () => setShowModal(false),
106
- centered: true
107
- }, /*#__PURE__*/React.createElement(Modal.Header, {
108
- closeButton: true
109
- }), /*#__PURE__*/React.createElement(Modal.Body, null, /*#__PURE__*/React.createElement(Pseudospatial, {
110
- plotType: pseudospatialPlotType,
111
- setPlotType: setpseudospatialPlotType,
112
- setShowControls: setShowPseudospatialControls,
113
- height: 500
114
- }))), /*#__PURE__*/React.createElement(OffcanvasObs, {
115
- show: showObs,
116
- handleClose: () => setShowObs(false)
117
- }), /*#__PURE__*/React.createElement(OffcanvasVars, {
118
- show: showVars,
119
- handleClose: () => setShowVars(false),
120
- mode: varMode
121
- }), /*#__PURE__*/React.createElement(OffcanvasControls, {
122
- show: showControls,
123
- handleClose: () => setShowControls(false),
124
- Controls: ScatterplotControls
125
- }), /*#__PURE__*/React.createElement(OffcanvasControls, {
126
- show: showPseudospatialControls,
127
- handleClose: () => setShowPseudospatialControls(false),
128
- Controls: PseudospatialToolbar,
129
- plotType: pseudospatialPlotType
130
- }), /*#__PURE__*/React.createElement(OffcanvasObsm, {
131
- show: showObsm,
132
- handleClose: () => setShowObsm(false)
133
- }))));
134
- }
135
- export function FullPagePseudospatial(props) {
136
- return /*#__PURE__*/React.createElement(FullPage, _extends({}, props, {
137
- varMode: SELECTION_MODES.SINGLE
138
- }), _ref2 => {
139
- let {
140
- setShowObs,
141
- setShowVars
142
- } = _ref2;
143
- return /*#__PURE__*/React.createElement(Scatterplot, {
144
- setShowObs: setShowObs,
145
- setShowVars: setShowVars,
146
- isFullscreen: true
147
- });
148
- });
149
- }