@vitessce/vit-s 3.9.1 → 3.9.2
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.
- package/dist/index.js +58 -47
- package/dist-tsc/DebugWindow.d.ts +1 -1
- package/dist-tsc/DebugWindow.d.ts.map +1 -1
- package/dist-tsc/TitleInfo.d.ts.map +1 -1
- package/dist-tsc/TitleInfo.js +4 -2
- package/dist-tsc/Warning.d.ts +1 -1
- package/dist-tsc/Warning.d.ts.map +1 -1
- package/dist-tsc/shared-mui/container.js +1 -1
- package/dist-tsc/shared-mui/styles.js +4 -1
- package/dist-tsc/title-styles.d.ts.map +1 -1
- package/dist-tsc/title-styles.js +19 -9
- package/package.json +13 -13
- package/src/TitleInfo.js +7 -3
- package/src/shared-mui/container.js +1 -1
- package/src/shared-mui/styles.js +4 -1
- package/src/title-styles.js +19 -9
package/dist/index.js
CHANGED
|
@@ -19399,21 +19399,20 @@ Popper.Utils = (typeof window !== "undefined" ? window : global).PopperUtils;
|
|
|
19399
19399
|
Popper.placements = placements;
|
|
19400
19400
|
Popper.Defaults = Defaults;
|
|
19401
19401
|
function createChainedFunction(...funcs) {
|
|
19402
|
-
return funcs.reduce(
|
|
19403
|
-
|
|
19404
|
-
|
|
19405
|
-
|
|
19406
|
-
{
|
|
19407
|
-
if (typeof func !== "function") {
|
|
19408
|
-
console.error("Material-UI: Invalid Argument Type, must only provide functions, undefined, or null.");
|
|
19402
|
+
return funcs.reduce(
|
|
19403
|
+
(acc, func) => {
|
|
19404
|
+
if (func == null) {
|
|
19405
|
+
return acc;
|
|
19409
19406
|
}
|
|
19407
|
+
return function chainedFunction(...args) {
|
|
19408
|
+
acc.apply(this, args);
|
|
19409
|
+
func.apply(this, args);
|
|
19410
|
+
};
|
|
19411
|
+
},
|
|
19412
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
19413
|
+
() => {
|
|
19410
19414
|
}
|
|
19411
|
-
|
|
19412
|
-
acc.apply(this, args);
|
|
19413
|
-
func.apply(this, args);
|
|
19414
|
-
};
|
|
19415
|
-
}, () => {
|
|
19416
|
-
});
|
|
19415
|
+
);
|
|
19417
19416
|
}
|
|
19418
19417
|
function setRef(ref, value) {
|
|
19419
19418
|
if (typeof ref === "function") {
|
|
@@ -19452,7 +19451,7 @@ function flipPlacement(placement, theme) {
|
|
|
19452
19451
|
}
|
|
19453
19452
|
}
|
|
19454
19453
|
function getAnchorEl(anchorEl) {
|
|
19455
|
-
return typeof anchorEl === "function" ? anchorEl() : anchorEl;
|
|
19454
|
+
return typeof anchorEl === "function" ? anchorEl(document.body) : anchorEl;
|
|
19456
19455
|
}
|
|
19457
19456
|
const useEnhancedEffect = typeof window !== "undefined" ? React$1.useLayoutEffect : React$1.useEffect;
|
|
19458
19457
|
const defaultPopperOptions = {};
|
|
@@ -19482,25 +19481,18 @@ React$1.forwardRef((props, ref) => {
|
|
|
19482
19481
|
}
|
|
19483
19482
|
if (popperRef.current) {
|
|
19484
19483
|
popperRef.current.destroy();
|
|
19485
|
-
handlePopperRefRef.current
|
|
19484
|
+
if (handlePopperRefRef.current) {
|
|
19485
|
+
setRef(handlePopperRefRef.current, null);
|
|
19486
|
+
}
|
|
19486
19487
|
}
|
|
19487
19488
|
const handlePopperUpdate = (data) => {
|
|
19488
19489
|
setPlacement(data.placement);
|
|
19489
19490
|
};
|
|
19490
|
-
const
|
|
19491
|
-
{
|
|
19492
|
-
|
|
19493
|
-
const box = resolvedAnchorEl.getBoundingClientRect();
|
|
19494
|
-
if (box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
|
|
19495
|
-
console.warn([
|
|
19496
|
-
"Material-UI: The `anchorEl` prop provided to the component is invalid.",
|
|
19497
|
-
"The anchor element should be part of the document layout.",
|
|
19498
|
-
"Make sure the element is present in the document or that it's not display none."
|
|
19499
|
-
].join("\n"));
|
|
19500
|
-
}
|
|
19501
|
-
}
|
|
19491
|
+
const anchorElement = getAnchorEl(anchorEl);
|
|
19492
|
+
if (!anchorElement) {
|
|
19493
|
+
return;
|
|
19502
19494
|
}
|
|
19503
|
-
const popper2 = new Popper(
|
|
19495
|
+
const popper2 = new Popper(anchorElement, tooltipRef.current, {
|
|
19504
19496
|
placement: rtlPlacement,
|
|
19505
19497
|
...popperOptions,
|
|
19506
19498
|
modifiers: {
|
|
@@ -19518,7 +19510,9 @@ React$1.forwardRef((props, ref) => {
|
|
|
19518
19510
|
onCreate: createChainedFunction(handlePopperUpdate, popperOptions.onCreate),
|
|
19519
19511
|
onUpdate: createChainedFunction(handlePopperUpdate, popperOptions.onUpdate)
|
|
19520
19512
|
});
|
|
19521
|
-
handlePopperRefRef.current
|
|
19513
|
+
if (handlePopperRefRef.current) {
|
|
19514
|
+
setRef(handlePopperRefRef.current, popper2);
|
|
19515
|
+
}
|
|
19522
19516
|
}, [anchorEl, disablePortal, modifiers2, open2, rtlPlacement, popperOptions]);
|
|
19523
19517
|
const handleRef = React$1.useCallback((node2) => {
|
|
19524
19518
|
setRef(ownRef, node2);
|
|
@@ -19532,7 +19526,9 @@ React$1.forwardRef((props, ref) => {
|
|
|
19532
19526
|
return;
|
|
19533
19527
|
}
|
|
19534
19528
|
popperRef.current.destroy();
|
|
19535
|
-
handlePopperRefRef.current
|
|
19529
|
+
if (handlePopperRefRef.current) {
|
|
19530
|
+
setRef(handlePopperRefRef.current, null);
|
|
19531
|
+
}
|
|
19536
19532
|
};
|
|
19537
19533
|
const handleExited = () => {
|
|
19538
19534
|
setExited(true);
|
|
@@ -19563,7 +19559,7 @@ React$1.forwardRef((props, ref) => {
|
|
|
19563
19559
|
// Fix Popper.js display issue
|
|
19564
19560
|
top: 0,
|
|
19565
19561
|
left: 0,
|
|
19566
|
-
display: !open2 && keepMounted && !transition ? "none" :
|
|
19562
|
+
display: !open2 && keepMounted && !transition ? "none" : void 0,
|
|
19567
19563
|
...style2
|
|
19568
19564
|
}, children: typeof children === "function" ? children(childProps) : children }) });
|
|
19569
19565
|
});
|
|
@@ -19578,7 +19574,7 @@ function ScopedGlobalStyles(props) {
|
|
|
19578
19574
|
const component = useMemo(() => {
|
|
19579
19575
|
const computedStyles = prependParentClassName(styles2, parentClassName);
|
|
19580
19576
|
return jsxRuntimeExports.jsx(GlobalStyles$3, { styles: computedStyles });
|
|
19581
|
-
}, [parentClassName]);
|
|
19577
|
+
}, [parentClassName, styles2]);
|
|
19582
19578
|
return component;
|
|
19583
19579
|
}
|
|
19584
19580
|
function readBlobAsArrayBuffer(blob) {
|
|
@@ -34371,7 +34367,7 @@ const AUTO_INDEPENDENT_COORDINATION_TYPES = [
|
|
|
34371
34367
|
CoordinationType$1.HIERARCHY_LEVELS
|
|
34372
34368
|
]
|
|
34373
34369
|
});
|
|
34374
|
-
const version = "3.9.
|
|
34370
|
+
const version = "3.9.2";
|
|
34375
34371
|
const META_VERSION = {
|
|
34376
34372
|
version
|
|
34377
34373
|
};
|
|
@@ -35106,6 +35102,7 @@ const lightPalette = {
|
|
|
35106
35102
|
gridLayoutBackground: "#FFFFFF",
|
|
35107
35103
|
paperBackground: "#FFFFFF",
|
|
35108
35104
|
cardBorder: "rgba(241, 241, 241, 0.125)",
|
|
35105
|
+
cardInfoBorder: "#ccc",
|
|
35109
35106
|
tooltipText: "rgba(0, 0, 0, 0.87)"
|
|
35110
35107
|
};
|
|
35111
35108
|
const muiTheme = {
|
|
@@ -35131,6 +35128,7 @@ const muiTheme = {
|
|
|
35131
35128
|
gridLayoutBackground: "#333333",
|
|
35132
35129
|
paperBackground: "#2b2b2b",
|
|
35133
35130
|
cardBorder: "rgba(0, 0, 0, 0.125)",
|
|
35131
|
+
cardInfoBorder: "#222222",
|
|
35134
35132
|
tooltipText: "#FFFFFF",
|
|
35135
35133
|
...globalColors
|
|
35136
35134
|
},
|
|
@@ -35140,6 +35138,7 @@ const muiTheme = {
|
|
|
35140
35138
|
light: createTheme({
|
|
35141
35139
|
palette: {
|
|
35142
35140
|
...lightPalette,
|
|
35141
|
+
cardInfoBorder: "#F1F1F1",
|
|
35143
35142
|
...globalColors
|
|
35144
35143
|
},
|
|
35145
35144
|
...sharedThemeOptions,
|
|
@@ -35157,7 +35156,7 @@ const muiTheme = {
|
|
|
35157
35156
|
...globalColors
|
|
35158
35157
|
},
|
|
35159
35158
|
...sharedThemeOptions,
|
|
35160
|
-
cardBorderSize: "
|
|
35159
|
+
cardBorderSize: "1px"
|
|
35161
35160
|
})
|
|
35162
35161
|
};
|
|
35163
35162
|
const createStoreImpl = (createState) => {
|
|
@@ -44714,7 +44713,7 @@ const gridLayoutStyles = {
|
|
|
44714
44713
|
},
|
|
44715
44714
|
".react-grid-item > .react-resizable-handle.react-resizable-handle-se": {
|
|
44716
44715
|
bottom: "0",
|
|
44717
|
-
right: "
|
|
44716
|
+
right: "10px",
|
|
44718
44717
|
cursor: "se-resize"
|
|
44719
44718
|
},
|
|
44720
44719
|
".react-grid-item > .react-resizable-handle.react-resizable-handle-nw": {
|
|
@@ -44856,18 +44855,23 @@ const useTitleStyles = makeStyles()((theme) => ({
|
|
|
44856
44855
|
textOverflow: "ellipsis",
|
|
44857
44856
|
whiteSpace: "nowrap"
|
|
44858
44857
|
},
|
|
44859
|
-
|
|
44858
|
+
infoText: {
|
|
44859
|
+
color: theme.palette.primaryForeground,
|
|
44860
44860
|
width: "100%",
|
|
44861
44861
|
textOverflow: "ellipsis",
|
|
44862
44862
|
whiteSpace: "nowrap",
|
|
44863
44863
|
overflow: "hidden",
|
|
44864
|
-
fontSize: "
|
|
44864
|
+
fontSize: "60% !important",
|
|
44865
44865
|
opacity: ".8",
|
|
44866
|
-
padding: "0
|
|
44866
|
+
padding: "0",
|
|
44867
44867
|
justifyContent: "center",
|
|
44868
|
-
|
|
44869
|
-
|
|
44870
|
-
|
|
44868
|
+
textAlign: "center !important",
|
|
44869
|
+
borderTop: "0px",
|
|
44870
|
+
borderBottom: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
44871
|
+
borderLeft: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
44872
|
+
borderRight: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
44873
|
+
borderBottomLeftRadius: "4px",
|
|
44874
|
+
borderBottomRightRadius: "4px"
|
|
44871
44875
|
},
|
|
44872
44876
|
titleButtons: {
|
|
44873
44877
|
display: "flex",
|
|
@@ -44883,15 +44887,20 @@ const useTitleStyles = makeStyles()((theme) => ({
|
|
|
44883
44887
|
border: `${theme.cardBorderSize} solid ${theme.palette.cardBorder}`,
|
|
44884
44888
|
flex: "1 1 auto",
|
|
44885
44889
|
minHeight: "1px",
|
|
44886
|
-
marginTop: "
|
|
44887
|
-
marginBottom: "
|
|
44890
|
+
marginTop: "0",
|
|
44891
|
+
marginBottom: "0",
|
|
44888
44892
|
position: "relative",
|
|
44889
44893
|
display: "flex",
|
|
44890
44894
|
flexDirection: "column",
|
|
44891
44895
|
minWidth: "0",
|
|
44892
44896
|
wordWrap: "break-word",
|
|
44893
44897
|
backgroundClip: "border-box",
|
|
44894
|
-
|
|
44898
|
+
borderTopLeftRadius: "4px",
|
|
44899
|
+
borderTopRightRadius: "4px"
|
|
44900
|
+
},
|
|
44901
|
+
cardWithoutInfoText: {
|
|
44902
|
+
borderBottomLeftRadius: "4px",
|
|
44903
|
+
borderBottomRightRadius: "4px"
|
|
44895
44904
|
},
|
|
44896
44905
|
paddingCard: {
|
|
44897
44906
|
padding: "12px"
|
|
@@ -45824,9 +45833,10 @@ function TitleInfo(props) {
|
|
|
45824
45833
|
} = props;
|
|
45825
45834
|
const errors = errorsProp == null ? void 0 : errorsProp.filter(Boolean);
|
|
45826
45835
|
const { classes } = useTitleStyles();
|
|
45836
|
+
const hasInfoText = Boolean(info);
|
|
45827
45837
|
return (
|
|
45828
45838
|
// d-flex without wrapping div is not always full height; I don't understand the root cause.
|
|
45829
|
-
/* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", { className: classes.title, role: "banner" }, /* @__PURE__ */ React__default.createElement("div", { className: classes.titleLeft, role: "heading", "aria-level": "1" }, title), /* @__PURE__ */ React__default.createElement("div", { className: classes.
|
|
45839
|
+
/* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", { className: classes.title, role: "banner" }, /* @__PURE__ */ React__default.createElement("div", { className: classes.titleLeft, role: "heading", "aria-level": "1" }, title), /* @__PURE__ */ React__default.createElement("div", { className: classes.titleButtons, role: "toolbar", "aria-label": "Plot options and controls" }, /* @__PURE__ */ React__default.createElement(
|
|
45830
45840
|
PlotOptions,
|
|
45831
45841
|
{
|
|
45832
45842
|
options
|
|
@@ -45862,7 +45872,8 @@ function TitleInfo(props) {
|
|
|
45862
45872
|
[classes.spatialCard]: isSpatial,
|
|
45863
45873
|
[classes.noScrollCard]: !isScroll && !isSpatial,
|
|
45864
45874
|
[classes.noPaddingCard]: !withPadding,
|
|
45865
|
-
[classes.paddingCard]: withPadding
|
|
45875
|
+
[classes.paddingCard]: withPadding,
|
|
45876
|
+
[classes.cardWithoutInfoText]: !hasInfoText
|
|
45866
45877
|
}
|
|
45867
45878
|
),
|
|
45868
45879
|
"aria-busy": !isReady,
|
|
@@ -45870,7 +45881,7 @@ function TitleInfo(props) {
|
|
|
45870
45881
|
},
|
|
45871
45882
|
!isReady ? /* @__PURE__ */ React__default.createElement(LoadingIndicator, null) : null,
|
|
45872
45883
|
children
|
|
45873
|
-
))
|
|
45884
|
+
), hasInfoText ? /* @__PURE__ */ React__default.createElement("div", { className: classes.infoText, title: info, role: "note" }, info) : null)
|
|
45874
45885
|
);
|
|
45875
45886
|
}
|
|
45876
45887
|
class VitessceError extends Error {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DebugWindow.d.ts","sourceRoot":"","sources":["../src/DebugWindow.js"],"names":[],"mappings":"AAIA;;
|
|
1
|
+
{"version":3,"file":"DebugWindow.d.ts","sourceRoot":"","sources":["../src/DebugWindow.js"],"names":[],"mappings":"AAIA;;gCA8BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TitleInfo.d.ts","sourceRoot":"","sources":["../src/TitleInfo.js"],"names":[],"mappings":"AAmNA,
|
|
1
|
+
{"version":3,"file":"TitleInfo.d.ts","sourceRoot":"","sources":["../src/TitleInfo.js"],"names":[],"mappings":"AAmNA,mDAwEC"}
|
package/dist-tsc/TitleInfo.js
CHANGED
|
@@ -102,15 +102,17 @@ export function TitleInfo(props) {
|
|
|
102
102
|
const { title, info, children, isScroll, isSpatial, removeGridComponent, urls, isReady, options, closeButtonVisible = true, downloadButtonVisible = true, helpText, withPadding = true, errors: errorsProp, } = props;
|
|
103
103
|
const errors = errorsProp?.filter(Boolean);
|
|
104
104
|
const { classes } = useTitleStyles();
|
|
105
|
+
const hasInfoText = Boolean(info);
|
|
105
106
|
return (
|
|
106
107
|
// d-flex without wrapping div is not always full height; I don't understand the root cause.
|
|
107
|
-
_jsxs(_Fragment, { children: [_jsxs("div", { className: classes.title, role: "banner", children: [_jsx("div", { className: classes.titleLeft, role: "heading", "aria-level": "1", children: title }),
|
|
108
|
+
_jsxs(_Fragment, { children: [_jsxs("div", { className: classes.title, role: "banner", children: [_jsx("div", { className: classes.titleLeft, role: "heading", "aria-level": "1", children: title }), _jsxs("div", { className: classes.titleButtons, role: "toolbar", "aria-label": "Plot options and controls", children: [_jsx(PlotOptions, { options: options }), downloadButtonVisible ? (_jsx(DownloadOptions, { urls: urls })) : null, Array.isArray(errors) && errors.length > 0 ? (_jsx(ErrorInfo, { errors: errors })) : null, helpText ? (_jsx(HelpButton, { helpText: helpText })) : null, closeButtonVisible && removeGridComponent ? (_jsx(ClosePaneButton, { removeGridComponent: removeGridComponent })) : null] })] }), _jsxs("div", { className: clsx(TOOLTIP_ANCESTOR, classes.card, {
|
|
108
109
|
[classes.scrollCard]: isScroll,
|
|
109
110
|
[classes.spatialCard]: isSpatial,
|
|
110
111
|
[classes.noScrollCard]: !isScroll && !isSpatial,
|
|
111
112
|
[classes.noPaddingCard]: !withPadding,
|
|
112
113
|
[classes.paddingCard]: withPadding,
|
|
113
|
-
|
|
114
|
+
[classes.cardWithoutInfoText]: !hasInfoText,
|
|
115
|
+
}), "aria-busy": !isReady, role: "main", children: [!isReady ? _jsx(LoadingIndicator, {}) : null, children] }), hasInfoText ? (_jsx("div", { className: classes.infoText, title: info, role: "note", children: info })) : null] })
|
|
114
116
|
// "pl-2" only matters when the window is very narrow.
|
|
115
117
|
);
|
|
116
118
|
}
|
package/dist-tsc/Warning.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export function Warning(props: any): import("
|
|
1
|
+
export function Warning(props: any): import("react").JSX.Element;
|
|
2
2
|
//# sourceMappingURL=Warning.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Warning.d.ts","sourceRoot":"","sources":["../src/Warning.js"],"names":[],"mappings":"AAIA
|
|
1
|
+
{"version":3,"file":"Warning.d.ts","sourceRoot":"","sources":["../src/Warning.js"],"names":[],"mappings":"AAIA,iEAoBC"}
|
|
@@ -96,7 +96,7 @@ const gridLayoutStyles = {
|
|
|
96
96
|
},
|
|
97
97
|
'.react-grid-item > .react-resizable-handle.react-resizable-handle-se': {
|
|
98
98
|
bottom: '0',
|
|
99
|
-
right: '
|
|
99
|
+
right: '10px',
|
|
100
100
|
cursor: 'se-resize',
|
|
101
101
|
},
|
|
102
102
|
'.react-grid-item > .react-resizable-handle.react-resizable-handle-nw': {
|
|
@@ -75,6 +75,7 @@ const lightPalette = {
|
|
|
75
75
|
gridLayoutBackground: '#FFFFFF',
|
|
76
76
|
paperBackground: '#FFFFFF',
|
|
77
77
|
cardBorder: 'rgba(241, 241, 241, 0.125)',
|
|
78
|
+
cardInfoBorder: '#ccc',
|
|
78
79
|
tooltipText: 'rgba(0, 0, 0, 0.87)',
|
|
79
80
|
};
|
|
80
81
|
export const muiTheme = {
|
|
@@ -100,6 +101,7 @@ export const muiTheme = {
|
|
|
100
101
|
gridLayoutBackground: '#333333',
|
|
101
102
|
paperBackground: '#2b2b2b',
|
|
102
103
|
cardBorder: 'rgba(0, 0, 0, 0.125)',
|
|
104
|
+
cardInfoBorder: '#222222',
|
|
103
105
|
tooltipText: '#FFFFFF',
|
|
104
106
|
...globalColors,
|
|
105
107
|
},
|
|
@@ -109,6 +111,7 @@ export const muiTheme = {
|
|
|
109
111
|
light: createTheme({
|
|
110
112
|
palette: {
|
|
111
113
|
...lightPalette,
|
|
114
|
+
cardInfoBorder: '#F1F1F1',
|
|
112
115
|
...globalColors,
|
|
113
116
|
},
|
|
114
117
|
...sharedThemeOptions,
|
|
@@ -126,6 +129,6 @@ export const muiTheme = {
|
|
|
126
129
|
...globalColors,
|
|
127
130
|
},
|
|
128
131
|
...sharedThemeOptions,
|
|
129
|
-
cardBorderSize: '
|
|
132
|
+
cardBorderSize: '1px',
|
|
130
133
|
}),
|
|
131
134
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"title-styles.d.ts","sourceRoot":"","sources":["../src/title-styles.js"],"names":[],"mappings":"AAEA;;
|
|
1
|
+
{"version":3,"file":"title-styles.d.ts","sourceRoot":"","sources":["../src/title-styles.js"],"names":[],"mappings":"AAEA;;cAyBO,CAAC;;;kBAE+B,eACvC;gBAAyB,WAAU;eAAsB,WACpD;EAyDD"}
|
package/dist-tsc/title-styles.js
CHANGED
|
@@ -13,18 +13,23 @@ export const useTitleStyles = makeStyles()(theme => ({
|
|
|
13
13
|
textOverflow: 'ellipsis',
|
|
14
14
|
whiteSpace: 'nowrap',
|
|
15
15
|
},
|
|
16
|
-
|
|
16
|
+
infoText: {
|
|
17
|
+
color: theme.palette.primaryForeground,
|
|
17
18
|
width: '100%',
|
|
18
19
|
textOverflow: 'ellipsis',
|
|
19
20
|
whiteSpace: 'nowrap',
|
|
20
21
|
overflow: 'hidden',
|
|
21
|
-
fontSize: '
|
|
22
|
+
fontSize: '60% !important',
|
|
22
23
|
opacity: '.8',
|
|
23
|
-
padding: '0
|
|
24
|
+
padding: '0',
|
|
24
25
|
justifyContent: 'center',
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
textAlign: 'center !important',
|
|
27
|
+
borderTop: '0px',
|
|
28
|
+
borderBottom: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
29
|
+
borderLeft: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
30
|
+
borderRight: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
31
|
+
borderBottomLeftRadius: '4px',
|
|
32
|
+
borderBottomRightRadius: '4px',
|
|
28
33
|
},
|
|
29
34
|
titleButtons: {
|
|
30
35
|
display: 'flex',
|
|
@@ -40,15 +45,20 @@ export const useTitleStyles = makeStyles()(theme => ({
|
|
|
40
45
|
border: `${theme.cardBorderSize} solid ${theme.palette.cardBorder}`,
|
|
41
46
|
flex: '1 1 auto',
|
|
42
47
|
minHeight: '1px',
|
|
43
|
-
marginTop: '
|
|
44
|
-
marginBottom: '
|
|
48
|
+
marginTop: '0',
|
|
49
|
+
marginBottom: '0',
|
|
45
50
|
position: 'relative',
|
|
46
51
|
display: 'flex',
|
|
47
52
|
flexDirection: 'column',
|
|
48
53
|
minWidth: '0',
|
|
49
54
|
wordWrap: 'break-word',
|
|
50
55
|
backgroundClip: 'border-box',
|
|
51
|
-
|
|
56
|
+
borderTopLeftRadius: '4px',
|
|
57
|
+
borderTopRightRadius: '4px',
|
|
58
|
+
},
|
|
59
|
+
cardWithoutInfoText: {
|
|
60
|
+
borderBottomLeftRadius: '4px',
|
|
61
|
+
borderBottomRightRadius: '4px',
|
|
52
62
|
},
|
|
53
63
|
paddingCard: {
|
|
54
64
|
padding: '12px',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitessce/vit-s",
|
|
3
|
-
"version": "3.9.
|
|
3
|
+
"version": "3.9.2",
|
|
4
4
|
"author": "HIDIVE Lab at HMS",
|
|
5
5
|
"homepage": "http://vitessce.io",
|
|
6
6
|
"repository": {
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
"react-error-boundary": "^5.0.0",
|
|
32
32
|
"@placemarkio/flat-drop-files": "^1.0.2",
|
|
33
33
|
"zarrita": "0.5.4",
|
|
34
|
-
"@vitessce/styles": "3.9.
|
|
35
|
-
"@vitessce/
|
|
36
|
-
"@vitessce/
|
|
37
|
-
"@vitessce/constants-internal": "3.9.
|
|
38
|
-
"@vitessce/plugins": "3.9.
|
|
39
|
-
"@vitessce/
|
|
40
|
-
"@vitessce/sets-utils": "3.9.
|
|
41
|
-
"@vitessce/
|
|
42
|
-
"@vitessce/config": "3.9.
|
|
43
|
-
"@vitessce/
|
|
44
|
-
"@vitessce/globals": "3.9.
|
|
34
|
+
"@vitessce/styles": "3.9.2",
|
|
35
|
+
"@vitessce/abstract": "3.9.2",
|
|
36
|
+
"@vitessce/error": "3.9.2",
|
|
37
|
+
"@vitessce/constants-internal": "3.9.2",
|
|
38
|
+
"@vitessce/plugins": "3.9.2",
|
|
39
|
+
"@vitessce/schemas": "3.9.2",
|
|
40
|
+
"@vitessce/sets-utils": "3.9.2",
|
|
41
|
+
"@vitessce/zarr-utils": "3.9.2",
|
|
42
|
+
"@vitessce/config": "3.9.2",
|
|
43
|
+
"@vitessce/utils": "3.9.2",
|
|
44
|
+
"@vitessce/globals": "3.9.2"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@testing-library/jest-dom": "^6.6.3",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"react-dom": "18.3.1",
|
|
51
51
|
"vite": "^7.0.0",
|
|
52
52
|
"vitest": "^3.1.4",
|
|
53
|
-
"@vitessce/types": "3.9.
|
|
53
|
+
"@vitessce/types": "3.9.2"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
|
56
56
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
package/src/TitleInfo.js
CHANGED
|
@@ -219,6 +219,7 @@ export function TitleInfo(props) {
|
|
|
219
219
|
const errors = errorsProp?.filter(Boolean);
|
|
220
220
|
|
|
221
221
|
const { classes } = useTitleStyles();
|
|
222
|
+
const hasInfoText = Boolean(info);
|
|
222
223
|
|
|
223
224
|
return (
|
|
224
225
|
// d-flex without wrapping div is not always full height; I don't understand the root cause.
|
|
@@ -227,9 +228,6 @@ export function TitleInfo(props) {
|
|
|
227
228
|
<div className={classes.titleLeft} role="heading" aria-level="1">
|
|
228
229
|
{title}
|
|
229
230
|
</div>
|
|
230
|
-
<div className={classes.titleInfo} title={info} role="note">
|
|
231
|
-
{info}
|
|
232
|
-
</div>
|
|
233
231
|
<div className={classes.titleButtons} role="toolbar" aria-label="Plot options and controls">
|
|
234
232
|
<PlotOptions
|
|
235
233
|
options={options}
|
|
@@ -266,6 +264,7 @@ export function TitleInfo(props) {
|
|
|
266
264
|
[classes.noScrollCard]: !isScroll && !isSpatial,
|
|
267
265
|
[classes.noPaddingCard]: !withPadding,
|
|
268
266
|
[classes.paddingCard]: withPadding,
|
|
267
|
+
[classes.cardWithoutInfoText]: !hasInfoText,
|
|
269
268
|
},
|
|
270
269
|
)}
|
|
271
270
|
aria-busy={!isReady}
|
|
@@ -274,6 +273,11 @@ export function TitleInfo(props) {
|
|
|
274
273
|
{ !isReady ? <LoadingIndicator /> : null }
|
|
275
274
|
{children}
|
|
276
275
|
</div>
|
|
276
|
+
{hasInfoText ? (
|
|
277
|
+
<div className={classes.infoText} title={info} role="note">
|
|
278
|
+
{info}
|
|
279
|
+
</div>
|
|
280
|
+
) : null}
|
|
277
281
|
</>
|
|
278
282
|
// "pl-2" only matters when the window is very narrow.
|
|
279
283
|
);
|
|
@@ -97,7 +97,7 @@ const gridLayoutStyles = {
|
|
|
97
97
|
},
|
|
98
98
|
'.react-grid-item > .react-resizable-handle.react-resizable-handle-se': {
|
|
99
99
|
bottom: '0',
|
|
100
|
-
right: '
|
|
100
|
+
right: '10px',
|
|
101
101
|
cursor: 'se-resize',
|
|
102
102
|
},
|
|
103
103
|
'.react-grid-item > .react-resizable-handle.react-resizable-handle-nw': {
|
package/src/shared-mui/styles.js
CHANGED
|
@@ -78,6 +78,7 @@ const lightPalette = {
|
|
|
78
78
|
gridLayoutBackground: '#FFFFFF',
|
|
79
79
|
paperBackground: '#FFFFFF',
|
|
80
80
|
cardBorder: 'rgba(241, 241, 241, 0.125)',
|
|
81
|
+
cardInfoBorder: '#ccc',
|
|
81
82
|
tooltipText: 'rgba(0, 0, 0, 0.87)',
|
|
82
83
|
};
|
|
83
84
|
|
|
@@ -104,6 +105,7 @@ export const muiTheme = {
|
|
|
104
105
|
gridLayoutBackground: '#333333',
|
|
105
106
|
paperBackground: '#2b2b2b',
|
|
106
107
|
cardBorder: 'rgba(0, 0, 0, 0.125)',
|
|
108
|
+
cardInfoBorder: '#222222',
|
|
107
109
|
tooltipText: '#FFFFFF',
|
|
108
110
|
...globalColors,
|
|
109
111
|
},
|
|
@@ -113,6 +115,7 @@ export const muiTheme = {
|
|
|
113
115
|
light: createTheme({
|
|
114
116
|
palette: {
|
|
115
117
|
...lightPalette,
|
|
118
|
+
cardInfoBorder: '#F1F1F1',
|
|
116
119
|
...globalColors,
|
|
117
120
|
},
|
|
118
121
|
...sharedThemeOptions,
|
|
@@ -130,6 +133,6 @@ export const muiTheme = {
|
|
|
130
133
|
...globalColors,
|
|
131
134
|
},
|
|
132
135
|
...sharedThemeOptions,
|
|
133
|
-
cardBorderSize: '
|
|
136
|
+
cardBorderSize: '1px',
|
|
134
137
|
}),
|
|
135
138
|
};
|
package/src/title-styles.js
CHANGED
|
@@ -14,18 +14,23 @@ export const useTitleStyles = makeStyles()(theme => ({
|
|
|
14
14
|
textOverflow: 'ellipsis',
|
|
15
15
|
whiteSpace: 'nowrap',
|
|
16
16
|
},
|
|
17
|
-
|
|
17
|
+
infoText: {
|
|
18
|
+
color: theme.palette.primaryForeground,
|
|
18
19
|
width: '100%',
|
|
19
20
|
textOverflow: 'ellipsis',
|
|
20
21
|
whiteSpace: 'nowrap',
|
|
21
22
|
overflow: 'hidden',
|
|
22
|
-
fontSize: '
|
|
23
|
+
fontSize: '60% !important',
|
|
23
24
|
opacity: '.8',
|
|
24
|
-
padding: '0
|
|
25
|
+
padding: '0',
|
|
25
26
|
justifyContent: 'center',
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
textAlign: 'center !important',
|
|
28
|
+
borderTop: '0px',
|
|
29
|
+
borderBottom: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
30
|
+
borderLeft: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
31
|
+
borderRight: `1px solid ${theme.palette.cardInfoBorder}`,
|
|
32
|
+
borderBottomLeftRadius: '4px',
|
|
33
|
+
borderBottomRightRadius: '4px',
|
|
29
34
|
},
|
|
30
35
|
titleButtons: {
|
|
31
36
|
display: 'flex',
|
|
@@ -41,15 +46,20 @@ export const useTitleStyles = makeStyles()(theme => ({
|
|
|
41
46
|
border: `${theme.cardBorderSize} solid ${theme.palette.cardBorder}`,
|
|
42
47
|
flex: '1 1 auto',
|
|
43
48
|
minHeight: '1px',
|
|
44
|
-
marginTop: '
|
|
45
|
-
marginBottom: '
|
|
49
|
+
marginTop: '0',
|
|
50
|
+
marginBottom: '0',
|
|
46
51
|
position: 'relative',
|
|
47
52
|
display: 'flex',
|
|
48
53
|
flexDirection: 'column',
|
|
49
54
|
minWidth: '0',
|
|
50
55
|
wordWrap: 'break-word',
|
|
51
56
|
backgroundClip: 'border-box',
|
|
52
|
-
|
|
57
|
+
borderTopLeftRadius: '4px',
|
|
58
|
+
borderTopRightRadius: '4px',
|
|
59
|
+
},
|
|
60
|
+
cardWithoutInfoText: {
|
|
61
|
+
borderBottomLeftRadius: '4px',
|
|
62
|
+
borderBottomRightRadius: '4px',
|
|
53
63
|
},
|
|
54
64
|
paddingCard: {
|
|
55
65
|
padding: '12px',
|