@vitessce/all 3.6.13 → 3.6.14
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/{ReactNeuroglancer-D4Xivd2K.js → ReactNeuroglancer-BCLqTed3.js} +1 -1
- package/dist/{deflate-B2CAUF5S.js → deflate-Bt_dyQeb.js} +1 -1
- package/dist/{higlass-DNEa7gM7.js → higlass-DISnb5Ei.js} +1 -1
- package/dist/{index-DG6RbZza.js → index-07ia_ScM.js} +2 -2
- package/dist/{index-DcZv7teI.js → index-CHatE_p-.js} +128 -70
- package/dist/index.js +1 -1
- package/dist/{jpeg-DY_DkYi3.js → jpeg-D4jHWX80.js} +1 -1
- package/dist/{lerc-Bz6jtDu9.js → lerc-B8-eHLyr.js} +1 -1
- package/dist/{lzw-kKlj6Pam.js → lzw-DfqXKt2J.js} +1 -1
- package/dist/{packbits-DzhxlAeC.js → packbits-DefNknXY.js} +1 -1
- package/dist/{raw-DqALOEt-.js → raw-C7WxxrTS.js} +1 -1
- package/dist/{troika-three-text.esm-DLsbwboO.js → troika-three-text.esm-CheqkRn_.js} +1 -1
- package/dist/{webimage-B46sb8Pc.js → webimage-DIFjmNJy.js} +1 -1
- package/dist-tsc/base-plugins.d.ts +38 -0
- package/dist-tsc/base-plugins.d.ts.map +1 -1
- package/dist-tsc/base-plugins.js +3 -2
- package/dist-tsc/joint-file-types.d.ts +1 -27
- package/dist-tsc/joint-file-types.d.ts.map +1 -1
- package/dist-tsc/joint-file-types.js +33 -1
- package/package.json +32 -32
- package/src/base-plugins.ts +3 -0
- package/src/joint-file-types.ts +35 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
import { g as getDefaultExportFromCjs, aV as requireAssign, aW as require_export, aX as require_core, aY as require_fails, aZ as require_toObject, a_ as require_objectKeys, a$ as require_cof, b0 as require_wks, b1 as require_iterators, b2 as requireWeb_dom_iterable, b3 as requireEs6_string_iterator, b4 as require_anObject, b5 as require_hide, b6 as require_ctx, b7 as require_toLength, b8 as require_global, b9 as require_objectDp, ba as require_descriptors, bb as require_isObject, bc as require_objectCreate, bd as require_iterDefine, be as require_iterStep, bf as require_meta, bg as require_isArray, bh as require_iobject, bi as require_setToStringTag, bj as require_aFunction, bk as requireIterator, bl as require_propertyDesc, aS as commonjsGlobal, bm as requireEs6_symbol, bn as requireDefineProperty, bo as require_toIobject, bp as require_objectGopd, bq as require_html, br as require_domCreate, bs as require_library, bt as requireSymbol, bu as require_objectPie, bv as require_has, bw as require_redefine, bx as require_objectAssign, by as getAugmentedNamespace, bz as requirePropTypes, aI as jsxRuntimeExports } from "./index-
|
1
|
+
import { g as getDefaultExportFromCjs, aV as requireAssign, aW as require_export, aX as require_core, aY as require_fails, aZ as require_toObject, a_ as require_objectKeys, a$ as require_cof, b0 as require_wks, b1 as require_iterators, b2 as requireWeb_dom_iterable, b3 as requireEs6_string_iterator, b4 as require_anObject, b5 as require_hide, b6 as require_ctx, b7 as require_toLength, b8 as require_global, b9 as require_objectDp, ba as require_descriptors, bb as require_isObject, bc as require_objectCreate, bd as require_iterDefine, be as require_iterStep, bf as require_meta, bg as require_isArray, bh as require_iobject, bi as require_setToStringTag, bj as require_aFunction, bk as requireIterator, bl as require_propertyDesc, aS as commonjsGlobal, bm as requireEs6_symbol, bn as requireDefineProperty, bo as require_toIobject, bp as require_objectGopd, bq as require_html, br as require_domCreate, bs as require_library, bt as requireSymbol, bu as require_objectPie, bv as require_has, bw as require_redefine, bx as require_objectAssign, by as getAugmentedNamespace, bz as requirePropTypes, aI as jsxRuntimeExports } from "./index-CHatE_p-.js";
|
2
2
|
import React__default from "react";
|
3
3
|
var lib = {};
|
4
4
|
var assignExports = requireAssign();
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-SxljTded.js";
|
2
|
-
import { aP as BaseDecoder } from "./index-
|
2
|
+
import { aP as BaseDecoder } from "./index-CHatE_p-.js";
|
3
3
|
class DeflateDecoder extends BaseDecoder {
|
4
4
|
decodeBlock(buffer) {
|
5
5
|
return inflate_1(new Uint8Array(buffer)).buffer;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as React$7 from "react";
|
2
2
|
import React__default, { isValidElement, PureComponent, Component, createElement, createContext, createRef } from "react";
|
3
3
|
import ReactDOM__default, { findDOMNode as findDOMNode$1 } from "react-dom";
|
4
|
-
import { aS as commonjsGlobal$1, aT as requireObjectAssign, g as getDefaultExportFromCjs$1, aU as earcut } from "./index-
|
4
|
+
import { aS as commonjsGlobal$1, aT as requireObjectAssign, g as getDefaultExportFromCjs$1, aU as earcut } from "./index-CHatE_p-.js";
|
5
5
|
var promise = {};
|
6
6
|
var hasRequiredPromise;
|
7
7
|
function requirePromise() {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { g as getDefaultExportFromCjs, R as Raycaster, O as OrthographicCamera, P as PerspectiveCamera, S as Scene, a as PCFSoftShadowMap, V as VSMShadowMap, b as PCFShadowMap, B as BasicShadowMap, N as NoToneMapping, A as ACESFilmicToneMapping, c as Vector3, d as Vector2, C as Clock, W as WebGLRenderer, e as Camera, f as BufferGeometry, M as Material, L as Layers, T as Texture, h as RGBAFormat, U as UnsignedByteType, i as Color, _ as _extends, j as THREE, G as Group, k as Matrix4, l as TrianglesDrawMode, m as TriangleFanDrawMode, n as TriangleStripDrawMode, o as REVISION, E as EventDispatcher, p as MOUSE, q as TOUCH, r as Spherical, Q as Quaternion, s as Ray$1, t as Plane, u as Loader, v as LoaderUtils, F as FileLoader, w as MeshPhysicalMaterial, x as SpotLight, y as PointLight, D as DirectionalLight, I as InstancedMesh, z as Object3D, H as TextureLoader, J as ImageBitmapLoader, K as BufferAttribute, X as InterleavedBuffer, Y as LinearMipmapLinearFilter, Z as NearestMipmapLinearFilter, $ as LinearMipmapNearestFilter, a0 as NearestMipmapNearestFilter, a1 as LinearFilter, a2 as NearestFilter, a3 as RepeatWrapping, a4 as MirroredRepeatWrapping, a5 as ClampToEdgeWrapping, a6 as PointsMaterial, a7 as LineBasicMaterial, a8 as MeshStandardMaterial, a9 as DoubleSide, aa as MeshBasicMaterial, ab as PropertyBinding, ac as SkinnedMesh, ad as Mesh, ae as LineSegments, af as Line$1, ag as LineLoop, ah as Points, ai as MathUtils, aj as Skeleton, ak as InterpolateDiscrete, al as InterpolateLinear, am as AnimationClip, an as Bone, ao as InterleavedBufferAttribute, ap as VectorKeyframeTrack, aq as QuaternionKeyframeTrack, ar as NumberKeyframeTrack, as as FrontSide, at as Interpolant, au as Box3, av as Sphere, aw as InstancedBufferGeometry, ax as Float32BufferAttribute, ay as InstancedInterleavedBuffer, az as WireframeGeometry, aA as ShaderMaterial, aB as UniformsUtils, aC as UniformsLib, aD as Vector4, aE as Line3, aF as SphereGeometry, aG as Triangle, aH as BackSide, aI as jsxRuntimeExports, aJ as Matrix3, aK as CoordinationType, aL as Data3DTexture, aM as RedFormat, aN as FloatType, aO as getImageSize } from "./index-
|
1
|
+
import { g as getDefaultExportFromCjs, R as Raycaster, O as OrthographicCamera, P as PerspectiveCamera, S as Scene, a as PCFSoftShadowMap, V as VSMShadowMap, b as PCFShadowMap, B as BasicShadowMap, N as NoToneMapping, A as ACESFilmicToneMapping, c as Vector3, d as Vector2, C as Clock, W as WebGLRenderer, e as Camera, f as BufferGeometry, M as Material, L as Layers, T as Texture, h as RGBAFormat, U as UnsignedByteType, i as Color, _ as _extends, j as THREE, G as Group, k as Matrix4, l as TrianglesDrawMode, m as TriangleFanDrawMode, n as TriangleStripDrawMode, o as REVISION, E as EventDispatcher, p as MOUSE, q as TOUCH, r as Spherical, Q as Quaternion, s as Ray$1, t as Plane, u as Loader, v as LoaderUtils, F as FileLoader, w as MeshPhysicalMaterial, x as SpotLight, y as PointLight, D as DirectionalLight, I as InstancedMesh, z as Object3D, H as TextureLoader, J as ImageBitmapLoader, K as BufferAttribute, X as InterleavedBuffer, Y as LinearMipmapLinearFilter, Z as NearestMipmapLinearFilter, $ as LinearMipmapNearestFilter, a0 as NearestMipmapNearestFilter, a1 as LinearFilter, a2 as NearestFilter, a3 as RepeatWrapping, a4 as MirroredRepeatWrapping, a5 as ClampToEdgeWrapping, a6 as PointsMaterial, a7 as LineBasicMaterial, a8 as MeshStandardMaterial, a9 as DoubleSide, aa as MeshBasicMaterial, ab as PropertyBinding, ac as SkinnedMesh, ad as Mesh, ae as LineSegments, af as Line$1, ag as LineLoop, ah as Points, ai as MathUtils, aj as Skeleton, ak as InterpolateDiscrete, al as InterpolateLinear, am as AnimationClip, an as Bone, ao as InterleavedBufferAttribute, ap as VectorKeyframeTrack, aq as QuaternionKeyframeTrack, ar as NumberKeyframeTrack, as as FrontSide, at as Interpolant, au as Box3, av as Sphere, aw as InstancedBufferGeometry, ax as Float32BufferAttribute, ay as InstancedInterleavedBuffer, az as WireframeGeometry, aA as ShaderMaterial, aB as UniformsUtils, aC as UniformsLib, aD as Vector4, aE as Line3, aF as SphereGeometry, aG as Triangle, aH as BackSide, aI as jsxRuntimeExports, aJ as Matrix3, aK as CoordinationType, aL as Data3DTexture, aM as RedFormat, aN as FloatType, aO as getImageSize } from "./index-CHatE_p-.js";
|
2
2
|
import * as React from "react";
|
3
3
|
import React__default, { useReducer, useRef, useEffect, useLayoutEffect, useDebugValue, useState, useMemo, forwardRef } from "react";
|
4
4
|
var constants = { exports: {} };
|
@@ -23637,7 +23637,7 @@ const Text = /* @__PURE__ */ React.forwardRef(({
|
|
23637
23637
|
const {
|
23638
23638
|
Text: TextMeshImpl,
|
23639
23639
|
preloadFont
|
23640
|
-
} = suspend(async () => import("./troika-three-text.esm-
|
23640
|
+
} = suspend(async () => import("./troika-three-text.esm-CheqkRn_.js"), []);
|
23641
23641
|
const invalidate2 = useThree(({
|
23642
23642
|
invalidate: invalidate3
|
23643
23643
|
}) => invalidate3);
|
@@ -9169,6 +9169,7 @@ const FileType$1 = {
|
|
9169
9169
|
OBS_SPOTS_SPATIALDATA_ZARR: "obsSpots.spatialdata.zarr",
|
9170
9170
|
FEATURE_LABELS_SPATIALDATA_ZARR: "featureLabels.spatialdata.zarr",
|
9171
9171
|
OBS_POINTS_SPATIALDATA_ZARR: "obsPoints.spatialdata.zarr",
|
9172
|
+
OBS_EMBEDDING_SPATIALDATA_ZARR: "obsEmbedding.spatialdata.zarr",
|
9172
9173
|
// SpatialData - zipped
|
9173
9174
|
IMAGE_SPATIALDATA_ZARR_ZIP: "image.spatialdata.zarr.zip",
|
9174
9175
|
LABELS_SPATIALDATA_ZARR_ZIP: "labels.spatialdata.zarr.zip",
|
@@ -9178,6 +9179,7 @@ const FileType$1 = {
|
|
9178
9179
|
OBS_SPOTS_SPATIALDATA_ZARR_ZIP: "obsSpots.spatialdata.zarr.zip",
|
9179
9180
|
FEATURE_LABELS_SPATIALDATA_ZARR_ZIP: "featureLabels.spatialdata.zarr.zip",
|
9180
9181
|
OBS_POINTS_SPATIALDATA_ZARR_ZIP: "obsPoints.spatialdata.zarr.zip",
|
9182
|
+
OBS_EMBEDDING_SPATIALDATA_ZARR_ZIP: "obsEmbedding.spatialdata.zarr.zip",
|
9181
9183
|
// MuData
|
9182
9184
|
OBS_FEATURE_MATRIX_MUDATA_ZARR: "obsFeatureMatrix.mudata.zarr",
|
9183
9185
|
OBS_SETS_MUDATA_ZARR: "obsSets.mudata.zarr",
|
@@ -9455,6 +9457,7 @@ const ViewHelpMapping = {
|
|
9455
9457
|
[FileType$1.OBS_SETS_SPATIALDATA_ZARR]: DataType$3.OBS_SETS,
|
9456
9458
|
[FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR]: DataType$3.FEATURE_LABELS,
|
9457
9459
|
[FileType$1.OBS_POINTS_SPATIALDATA_ZARR]: DataType$3.OBS_POINTS,
|
9460
|
+
[FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR]: DataType$3.OBS_EMBEDDING,
|
9458
9461
|
// For new file types to support old file types
|
9459
9462
|
[FileType$1.OBS_EMBEDDING_CELLS_JSON]: DataType$3.OBS_EMBEDDING,
|
9460
9463
|
[FileType$1.OBS_LOCATIONS_CELLS_JSON]: DataType$3.OBS_LOCATIONS,
|
@@ -9631,6 +9634,9 @@ const ALT_ZARR_STORE_TYPES = {
|
|
9631
9634
|
},
|
9632
9635
|
[FileType$1.OBS_POINTS_SPATIALDATA_ZARR]: {
|
9633
9636
|
zip: FileType$1.OBS_POINTS_SPATIALDATA_ZARR_ZIP
|
9637
|
+
},
|
9638
|
+
[FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR]: {
|
9639
|
+
zip: FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR_ZIP
|
9634
9640
|
}
|
9635
9641
|
};
|
9636
9642
|
[
|
@@ -10744,6 +10750,16 @@ const obsSetsSpatialdataSchema = z.object({
|
|
10744
10750
|
tablePath: z.string().optional().describe("The path to a table which contains the index for the set values."),
|
10745
10751
|
obsSets: annDataObsSetsArr
|
10746
10752
|
});
|
10753
|
+
const obsEmbeddingSpatialdataSchema = annDataObsEmbedding.extend({
|
10754
|
+
// We extend anndataObsEmbedding which already has properties like `dims` and `path`.
|
10755
|
+
region: z.string().describe("The name of a region to use to filter instances (i.e., rows) in the table").optional(),
|
10756
|
+
tablePath: z.string().optional().describe("The path to a table which contains the index for the set values.")
|
10757
|
+
});
|
10758
|
+
const obsEmbeddingSpatialdataSchemaConvenience = z.union([
|
10759
|
+
annDataObsEmbedding,
|
10760
|
+
// For convenience, allow an array of items with `embeddingType` properties.
|
10761
|
+
z.array(annDataConvenienceObsEmbeddingItem)
|
10762
|
+
]);
|
10747
10763
|
const meshGlbSchema = z.object({
|
10748
10764
|
targetX: z.number(),
|
10749
10765
|
targetY: z.number(),
|
@@ -10868,9 +10884,10 @@ const spatialdataZarrSchema = z.object({
|
|
10868
10884
|
// TODO: obsPoints
|
10869
10885
|
// TODO: obsLocations
|
10870
10886
|
obsSets: obsSetsSpatialdataSchema,
|
10871
|
-
|
10887
|
+
obsEmbedding: obsEmbeddingSpatialdataSchemaConvenience,
|
10872
10888
|
// TODO: obsLabels
|
10873
10889
|
// TODO: featureLabels
|
10890
|
+
// TODO: allow specifying tablePath and region at the top-level here.
|
10874
10891
|
coordinateSystem: z.string().optional().describe("The name of a coordinate transformation output used to transform all elements which lack a per-element coordinateSystem property.")
|
10875
10892
|
}).partial();
|
10876
10893
|
const cellsJsonSchema = z.object({
|
@@ -19082,7 +19099,7 @@ const { tss } = createTss({
|
|
19082
19099
|
},
|
19083
19100
|
"usePlugin": useMuiThemeStyleOverridesPlugin
|
19084
19101
|
});
|
19085
|
-
const useStyles$
|
19102
|
+
const useStyles$v = tss.create({});
|
19086
19103
|
function chainPropTypes(propType1, propType2) {
|
19087
19104
|
return function validate2(...args) {
|
19088
19105
|
return propType1(...args) || propType2(...args);
|
@@ -73141,7 +73158,7 @@ const Popper = React.forwardRef((props, ref2) => {
|
|
73141
73158
|
}, [handlePopperRef]);
|
73142
73159
|
React.useImperativeHandle(popperRefProp, () => popperRef.current, []);
|
73143
73160
|
const [exited, setExited] = React.useState(true);
|
73144
|
-
const { theme } = useStyles$
|
73161
|
+
const { theme } = useStyles$v();
|
73145
73162
|
const rtlPlacement = flipPlacement(initialPlacement, theme);
|
73146
73163
|
const [placement, setPlacement] = React.useState(rtlPlacement);
|
73147
73164
|
React.useEffect(() => {
|
@@ -82788,7 +82805,7 @@ function defaultUrlTransform(value2) {
|
|
82788
82805
|
}
|
82789
82806
|
return "";
|
82790
82807
|
}
|
82791
|
-
const useStyles$
|
82808
|
+
const useStyles$u = makeStyles()((theme) => ({
|
82792
82809
|
description: {
|
82793
82810
|
"& p, details, table": {
|
82794
82811
|
fontSize: "80%",
|
@@ -82825,7 +82842,7 @@ const useStyles$t = makeStyles()((theme) => ({
|
|
82825
82842
|
}));
|
82826
82843
|
function Description(props) {
|
82827
82844
|
const { description: description2, metadata: metadata2, descriptionType } = props;
|
82828
|
-
const { classes: classes2 } = useStyles$
|
82845
|
+
const { classes: classes2 } = useStyles$u();
|
82829
82846
|
return jsxRuntimeExports.jsxs("div", { className: classes2.description, children: [descriptionType && descriptionType === DescriptionType.MARKDOWN ? jsxRuntimeExports.jsx(Markdown, { children: description2 }) : jsxRuntimeExports.jsx("p", { children: description2 }), metadata2 && Array.from(metadata2.entries()).map(([layerIndex, { name: layerName, metadata: metadataRecord }]) => metadataRecord && Object.entries(metadataRecord).length > 0 ? jsxRuntimeExports.jsxs("details", { children: [jsxRuntimeExports.jsx("summary", { children: layerName }), jsxRuntimeExports.jsx("div", { className: classes2.metadataContainer, children: jsxRuntimeExports.jsx("table", { children: jsxRuntimeExports.jsx("tbody", { children: Object.entries(metadataRecord).map(([key2, value2]) => jsxRuntimeExports.jsxs("tr", { children: [jsxRuntimeExports.jsx("th", { title: key2, children: key2 }), jsxRuntimeExports.jsx("td", { title: value2, children: value2 })] }, key2)) }) }) })] }, layerIndex) : null)] });
|
82830
82847
|
}
|
82831
82848
|
function DescriptionSubscriber(props) {
|
@@ -97924,7 +97941,7 @@ const Tooltip$2 = /* @__PURE__ */ React.forwardRef((props, ref2) => {
|
|
97924
97941
|
}, extraProps), getChildren());
|
97925
97942
|
});
|
97926
97943
|
const nodeHeight = 32;
|
97927
|
-
const useStyles$
|
97944
|
+
const useStyles$t = makeStyles()((theme) => ({
|
97928
97945
|
setsManager: {
|
97929
97946
|
position: "relative",
|
97930
97947
|
width: "100%",
|
@@ -98091,7 +98108,7 @@ const useStyles$s = makeStyles()((theme) => ({
|
|
98091
98108
|
}));
|
98092
98109
|
function SetsManagerTreeGlobalStyles(props) {
|
98093
98110
|
const { classes: classes2 } = props;
|
98094
|
-
const { theme } = useStyles$
|
98111
|
+
const { theme } = useStyles$v();
|
98095
98112
|
return jsxRuntimeExports.jsx(ScopedGlobalStyles, { parentClassName: classes2.setsManagerTree, styles: {
|
98096
98113
|
".rc-tree": {
|
98097
98114
|
paddingLeft: "0",
|
@@ -98432,7 +98449,7 @@ function HelpTooltipGlobalStyles(props) {
|
|
98432
98449
|
}
|
98433
98450
|
function PopoverGlobalStyles(props) {
|
98434
98451
|
const { classes: classes2 } = props;
|
98435
|
-
const { theme } = useStyles$
|
98452
|
+
const { theme } = useStyles$v();
|
98436
98453
|
return jsxRuntimeExports.jsx(ScopedGlobalStyles, { parentClassName: classes2.popover, styles: {
|
98437
98454
|
".rc-tooltip-inner": {
|
98438
98455
|
boxSizing: "border-box",
|
@@ -103116,7 +103133,7 @@ function NamedSetNodeStatic(props) {
|
|
103116
103133
|
const onClick = level === 0 && !expanded ? () => onCheckLevel(nodeKey, nextLevelToCheck) : () => onNodeView(path2);
|
103117
103134
|
const tooltipProps = disableTooltip ? { visible: false } : {};
|
103118
103135
|
const popoverMenuConfig = makeNodeViewMenuConfig(props);
|
103119
|
-
const { classes: classes2 } = useStyles$
|
103136
|
+
const { classes: classes2 } = useStyles$t();
|
103120
103137
|
return jsxRuntimeExports.jsxs("span", { children: [jsxRuntimeExports.jsx(HelpTooltip, { title: tooltipText, ...tooltipProps, children: jsxRuntimeExports.jsx("button", { type: "button", onClick, onKeyPress: (e3) => callbackOnKeyPress(e3, "v", () => onNodeView(path2)), className: classes2.titleButton, children: title2 }) }), popoverMenuConfig.length > 0 ? jsxRuntimeExports.jsx(PopoverMenu, { menuConfig: makeNodeViewMenuConfig(props), color: level > 0 && editable ? color2 || getDefaultColor(theme) : null, setColor: (c2) => onNodeSetColor(path2, c2), children: jsxRuntimeExports.jsx("span", { children: jsxRuntimeExports.jsx(SvgMenu, { className: classes2.nodeMenuIcon, "aria-label": "Open Node View Menu" }) }) }) : null, level > 0 && isChecking ? checkbox2 : null, level > 0 && jsxRuntimeExports.jsx("span", { className: classes2.nodeSizeLabel, children: niceSize })] });
|
103121
103138
|
}
|
103122
103139
|
function NamedSetNodeEditing(props) {
|
@@ -103128,7 +103145,7 @@ function NamedSetNodeEditing(props) {
|
|
103128
103145
|
onNodeSetName(path2, currentTitle, true);
|
103129
103146
|
}
|
103130
103147
|
}
|
103131
|
-
const { classes: classes2 } = useStyles$
|
103148
|
+
const { classes: classes2 } = useStyles$t();
|
103132
103149
|
return jsxRuntimeExports.jsxs("span", { className: classes2.titleButtonWithInput, children: [jsxRuntimeExports.jsx("input", {
|
103133
103150
|
// eslint-disable-next-line jsx-a11y/no-autofocus
|
103134
103151
|
autoFocus: true,
|
@@ -103154,7 +103171,7 @@ function LevelsButtons(props) {
|
|
103154
103171
|
onCheckLevel(nodeKey, newLevel);
|
103155
103172
|
}
|
103156
103173
|
}
|
103157
|
-
const { classes: classes2 } = useStyles$
|
103174
|
+
const { classes: classes2 } = useStyles$t();
|
103158
103175
|
return jsxRuntimeExports.jsx("div", { className: classes2.levelButtonsContainer, children: range$e(1, height2 + 1).map((i2) => {
|
103159
103176
|
const isChecked = isEqual$3(path2, checkedLevelPath) && i2 === checkedLevelIndex;
|
103160
103177
|
return jsxRuntimeExports.jsx("div", { children: jsxRuntimeExports.jsx(HelpTooltip, { title: getLevelTooltipText(i2), children: jsxRuntimeExports.jsx("input", { className: clsx(classes2.levelRadioButton, { [classes2.levelRadioButtonChecked]: isChecked && !hasColorEncoding }), type: "checkbox", value: i2, checked: isChecked && hasColorEncoding, onChange: onCheck }) }) }, i2);
|
@@ -103241,7 +103258,7 @@ let TreeNode$1 = class TreeNode extends TreeNode$2 {
|
|
103241
103258
|
};
|
103242
103259
|
function PlusButton(props) {
|
103243
103260
|
const { datatype, onError, onImportTree, onCreateLevelZeroNode, importable, editable } = props;
|
103244
|
-
const { classes: classes2 } = useStyles$
|
103261
|
+
const { classes: classes2 } = useStyles$t();
|
103245
103262
|
const onImport = useCallback((importHandler, mimeType) => () => {
|
103246
103263
|
const uploadInputNode = document.createElement("input");
|
103247
103264
|
uploadInputNode.setAttribute("type", "file");
|
@@ -103359,7 +103376,7 @@ function SetsManager(props) {
|
|
103359
103376
|
}, onNodeCheckNewName, onNodeSetIsEditing: setIsEditingNodeName, onNodeRemove, onExportLevelZeroNodeJSON, onExportLevelZeroNodeTabular, onExportSetJSON, disableTooltip: isDragging, onDragStart: () => setIsDragging(true), onDragEnd: () => setIsDragging(false), children: renderTreeNodes(node2.children, readOnly, newPath) }, pathToKey(newPath));
|
103360
103377
|
});
|
103361
103378
|
}
|
103362
|
-
const { classes: classes2 } = useStyles$
|
103379
|
+
const { classes: classes2 } = useStyles$t();
|
103363
103380
|
return jsxRuntimeExports.jsxs("div", { className: classes2.setsManager, children: [jsxRuntimeExports.jsx(SetsManagerTreeGlobalStyles, { classes: classes2 }), jsxRuntimeExports.jsxs("div", { className: classes2.setsManagerTree, children: [jsxRuntimeExports.jsx(Tree$1, { draggable: false, checkable, checkedKeys: setSelectionKeys, expandedKeys: setExpansionKeys, autoExpandParent, onCheck: (checkedKeys, info2) => onCheckNode(info2.node.props.nodeKey, info2.checked), onExpand: (expandedKeys, info2) => onExpandNode(expandedKeys, info2.node.props.nodeKey, info2.expanded), children: renderTreeNodes(processedSets.tree, true, []) }), jsxRuntimeExports.jsx(Tree$1, { draggable: true, checkable, checkedKeys: additionalSetSelectionKeys, expandedKeys: additionalSetExpansionKeys, autoExpandParent, onCheck: (checkedKeys, info2) => onCheckNode(info2.node.props.nodeKey, info2.checked), onExpand: (expandedKeys, info2) => onExpandNode(expandedKeys, info2.node.props.nodeKey, info2.expanded), onDrop: (info2) => {
|
103364
103381
|
const { eventKey: dropKey } = info2.node.props;
|
103365
103382
|
const { eventKey: dragKey } = info2.dragNode.props;
|
@@ -209669,22 +209686,22 @@ async function getDecoder(fileDirectory) {
|
|
209669
209686
|
const Decoder = await importFn();
|
209670
209687
|
return new Decoder(fileDirectory);
|
209671
209688
|
}
|
209672
|
-
addDecoder([void 0, 1], () => import("./raw-
|
209673
|
-
addDecoder(5, () => import("./lzw-
|
209689
|
+
addDecoder([void 0, 1], () => import("./raw-C7WxxrTS.js").then((m2) => m2.default));
|
209690
|
+
addDecoder(5, () => import("./lzw-DfqXKt2J.js").then((m2) => m2.default));
|
209674
209691
|
addDecoder(6, () => {
|
209675
209692
|
throw new Error("old style JPEG compression is not supported.");
|
209676
209693
|
});
|
209677
|
-
addDecoder(7, () => import("./jpeg-
|
209678
|
-
addDecoder([8, 32946], () => import("./deflate-
|
209679
|
-
addDecoder(32773, () => import("./packbits-
|
209694
|
+
addDecoder(7, () => import("./jpeg-D4jHWX80.js").then((m2) => m2.default));
|
209695
|
+
addDecoder([8, 32946], () => import("./deflate-Bt_dyQeb.js").then((m2) => m2.default));
|
209696
|
+
addDecoder(32773, () => import("./packbits-DefNknXY.js").then((m2) => m2.default));
|
209680
209697
|
addDecoder(
|
209681
209698
|
34887,
|
209682
|
-
() => import("./lerc-
|
209699
|
+
() => import("./lerc-B8-eHLyr.js").then(async (m2) => {
|
209683
209700
|
await m2.zstd.init();
|
209684
209701
|
return m2;
|
209685
209702
|
}).then((m2) => m2.default)
|
209686
209703
|
);
|
209687
|
-
addDecoder(50001, () => import("./webimage-
|
209704
|
+
addDecoder(50001, () => import("./webimage-DIFjmNJy.js").then((m2) => m2.default));
|
209688
209705
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
209689
209706
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
209690
209707
|
}
|
@@ -226453,7 +226470,7 @@ class ContourLayerWithText extends ContourLayer {
|
|
226453
226470
|
}
|
226454
226471
|
ContourLayerWithText.layerName = "ContourLayerWithText";
|
226455
226472
|
ContourLayerWithText.defaultProps = defaultProps;
|
226456
|
-
const useStyles$
|
226473
|
+
const useStyles$s = makeStyles()(() => ({
|
226457
226474
|
toolButton: {
|
226458
226475
|
display: "inline-flex",
|
226459
226476
|
"&:active": {
|
@@ -226515,12 +226532,12 @@ const useStyles$r = makeStyles()(() => ({
|
|
226515
226532
|
}));
|
226516
226533
|
function IconTool(props) {
|
226517
226534
|
const { alt, onClick, isActive: isActive2, children: children3 } = props;
|
226518
|
-
const { classes: classes2 } = useStyles$
|
226535
|
+
const { classes: classes2 } = useStyles$s();
|
226519
226536
|
return jsxRuntimeExports.jsx("button", { className: clsx(classes2.toolIcon, { [classes2.toolActive]: isActive2 }), onClick, type: "button", title: alt, children: children3 });
|
226520
226537
|
}
|
226521
226538
|
function IconButton(props) {
|
226522
226539
|
const { alt, onClick, children: children3 } = props;
|
226523
|
-
const { classes: classes2 } = useStyles$
|
226540
|
+
const { classes: classes2 } = useStyles$s();
|
226524
226541
|
return jsxRuntimeExports.jsx("button", { className: clsx(classes2.toolIcon, classes2.toolButton), onClick, type: "button", title: alt, children: children3 });
|
226525
226542
|
}
|
226526
226543
|
function ToolMenu(props) {
|
@@ -226528,7 +226545,7 @@ function ToolMenu(props) {
|
|
226528
226545
|
const lassoIconAltText = "Select lasso";
|
226529
226546
|
const { setActiveTool, activeTool, visibleTools = { pan: true, selectLasso: true }, recenterOnClick = () => {
|
226530
226547
|
} } = props;
|
226531
|
-
const { classes: classes2 } = useStyles$
|
226548
|
+
const { classes: classes2 } = useStyles$s();
|
226532
226549
|
const onRecenterButtonCLick = () => {
|
226533
226550
|
recenterOnClick();
|
226534
226551
|
};
|
@@ -227697,7 +227714,7 @@ function ScatterplotOptions(props) {
|
|
227697
227714
|
id: `feature-aggregation-strategy-${scatterplotOptionsId}`
|
227698
227715
|
}, children: FEATURE_AGGREGATION_STRATEGIES$1.map((opt) => jsxRuntimeExports.jsx("option", { value: opt, children: capitalize$3(opt) }, opt)) }) })] }) : null] });
|
227699
227716
|
}
|
227700
|
-
const useStyles$
|
227717
|
+
const useStyles$r = makeStyles()((theme) => ({
|
227701
227718
|
tooltipAnchor: {
|
227702
227719
|
position: "relative",
|
227703
227720
|
width: "0px",
|
@@ -227728,7 +227745,7 @@ const useStyles$q = makeStyles()((theme) => ({
|
|
227728
227745
|
function Tooltip3(props) {
|
227729
227746
|
const { x: x2, y: y2, parentWidth, parentHeight, children: children3 } = props;
|
227730
227747
|
const ref2 = useRef();
|
227731
|
-
const { classes: classes2 } = useStyles$
|
227748
|
+
const { classes: classes2 } = useStyles$r();
|
227732
227749
|
const [placementX, setPlacementX] = useState("start");
|
227733
227750
|
const [placementY, setPlacementY] = useState("bottom");
|
227734
227751
|
const getTooltipContainer = useVitessceContainer(ref2);
|
@@ -227744,7 +227761,7 @@ function Tooltip3(props) {
|
|
227744
227761
|
}, [x2, y2, parentWidth, parentHeight]);
|
227745
227762
|
return jsxRuntimeExports.jsx("div", { ref: ref2, className: classes2.tooltipAnchor, children: ref2 && ref2.current ? jsxRuntimeExports.jsx(Popper, { open: true, anchorEl: ref2.current, container: getTooltipContainer, transition: true, placement: `${placementY}-${placementX}`, children: jsxRuntimeExports.jsx(Paper, { elevation: 8, className: classes2.tooltipContent, children: children3 }) }) : null });
|
227746
227763
|
}
|
227747
|
-
const useStyles$
|
227764
|
+
const useStyles$q = makeStyles()((theme) => ({
|
227748
227765
|
cellEmphasisCrosshair: {
|
227749
227766
|
zIndex: 50,
|
227750
227767
|
position: "absolute",
|
@@ -227755,7 +227772,7 @@ const useStyles$p = makeStyles()((theme) => ({
|
|
227755
227772
|
}));
|
227756
227773
|
function Tooltip2D(props) {
|
227757
227774
|
const { parentUuid, sourceUuid, x: x2, y: y2, parentWidth, parentHeight, children: children3 } = props;
|
227758
|
-
const { classes: classes2 } = useStyles$
|
227775
|
+
const { classes: classes2 } = useStyles$q();
|
227759
227776
|
if (x2 < 0 || x2 > parentWidth || y2 < 0 || y2 > parentHeight) {
|
227760
227777
|
return null;
|
227761
227778
|
}
|
@@ -231642,7 +231659,7 @@ function getXlinkHref(cmap) {
|
|
231642
231659
|
const xlinkHref = ramp(color2.copy().domain(quantize$3(interpolate$1$1(0, 1), n3))).toDataURL();
|
231643
231660
|
return xlinkHref;
|
231644
231661
|
}
|
231645
|
-
const useStyles$
|
231662
|
+
const useStyles$p = makeStyles()(() => ({
|
231646
231663
|
legend: {
|
231647
231664
|
top: "2px",
|
231648
231665
|
right: "2px",
|
@@ -231730,7 +231747,7 @@ function combineMissings(missings, featureAggregationStrategy) {
|
|
231730
231747
|
function Legend(props) {
|
231731
231748
|
const { visible: visibleProp, positionRelative = false, highContrast = false, obsType, featureValueType, considerSelections = true, obsColorEncoding, featureSelection, featureLabelsMap, featureValueColormap, featureValueColormapRange, spatialChannelColor, spatialLayerColor, obsSetSelection, obsSetColor, featureAggregationStrategy, extent: extent2, missing, width: width2 = 100, height: height2 = 36, theme, showObsLabel = false, pointsVisible = true, contoursVisible = false, contoursFilled, contourPercentiles, contourThresholds } = props;
|
231732
231749
|
const svgRef = useRef();
|
231733
|
-
const { classes: classes2 } = useStyles$
|
231750
|
+
const { classes: classes2 } = useStyles$p();
|
231734
231751
|
const isDarkTheme = theme === "dark";
|
231735
231752
|
const isStaticColor = obsColorEncoding === "spatialChannelColor" || obsColorEncoding === "spatialLayerColor";
|
231736
231753
|
const isSetColor = obsColorEncoding === "cellSetSelection";
|
@@ -231825,6 +231842,8 @@ function Legend(props) {
|
|
231825
231842
|
featureSelectionLabelRawStr = "Sum of features";
|
231826
231843
|
} else if (featureAggregationStrategy === "mean") {
|
231827
231844
|
featureSelectionLabelRawStr = "Mean of features";
|
231845
|
+
} else {
|
231846
|
+
featureSelectionLabelRawStr = featureSelectionLabelRaw == null ? void 0 : featureSelectionLabelRaw[0];
|
231828
231847
|
}
|
231829
231848
|
const combinedMissing = combineMissings(missing, featureAggregationStrategy);
|
231830
231849
|
const featureSelectionLabel = combinedMissing ? `${featureSelectionLabelRawStr} (${Math.round(combinedMissing * 100)}% NaN)` : featureSelectionLabelRawStr;
|
@@ -231875,7 +231894,7 @@ function Legend(props) {
|
|
231875
231894
|
height: `${dynamicHeight}px`
|
231876
231895
|
} }) });
|
231877
231896
|
}
|
231878
|
-
const useStyles$
|
231897
|
+
const useStyles$o = makeStyles()(() => ({
|
231879
231898
|
multiLegend: {
|
231880
231899
|
position: "absolute",
|
231881
231900
|
top: "0px",
|
@@ -231900,7 +231919,7 @@ function MultiLegend(props) {
|
|
231900
231919
|
pointLayerScopes,
|
231901
231920
|
pointLayerCoordination
|
231902
231921
|
} = props;
|
231903
|
-
const { classes: classes2 } = useStyles$
|
231922
|
+
const { classes: classes2 } = useStyles$o();
|
231904
231923
|
const reversedSegmentationLayerScopes = useMemo$1(() => [...segmentationLayerScopes || []].reverse(), [segmentationLayerScopes]);
|
231905
231924
|
const reversedSpotLayerScopes = useMemo$1(() => [...spotLayerScopes || []].reverse(), [spotLayerScopes]);
|
231906
231925
|
const reversedPointLayerScopes = useMemo$1(() => [...pointLayerScopes || []].reverse(), [pointLayerScopes]);
|
@@ -231974,7 +231993,7 @@ function MultiLegend(props) {
|
|
231974
231993
|
}) : null;
|
231975
231994
|
}) : null] });
|
231976
231995
|
}
|
231977
|
-
const useStyles$
|
231996
|
+
const useStyles$n = makeStyles()(() => ({
|
231978
231997
|
channelNamesLegendContainer: {
|
231979
231998
|
position: "absolute",
|
231980
231999
|
bottom: "0px",
|
@@ -231997,7 +232016,7 @@ const useStyles$m = makeStyles()(() => ({
|
|
231997
232016
|
}));
|
231998
232017
|
function ChannelNamesLegend(props) {
|
231999
232018
|
const { images, imageLayerScopes, imageLayerCoordination, imageChannelScopesByLayer, imageChannelCoordination } = props;
|
232000
|
-
const { classes: classes2 } = useStyles$
|
232019
|
+
const { classes: classes2 } = useStyles$n();
|
232001
232020
|
const reversedImageLayerScopes = useMemo$1(() => [...imageLayerScopes || []].reverse(), [imageLayerScopes]);
|
232002
232021
|
return jsxRuntimeExports.jsx("div", { className: classes2.channelNamesLegendContainer, children: imageLayerScopes ? reversedImageLayerScopes.map((layerScope) => {
|
232003
232022
|
const layerCoordination = imageLayerCoordination[0][layerScope];
|
@@ -252465,11 +252484,11 @@ class Spatial2 extends AbstractSpatialOrScatterplot {
|
|
252465
252484
|
obsColorEncoding,
|
252466
252485
|
staticColor,
|
252467
252486
|
layerColors
|
252468
|
-
]
|
252487
|
+
],
|
252488
|
+
getExpressionValue: [getExpressionValue]
|
252469
252489
|
/*
|
252470
252490
|
getLineWidth: [stroked],
|
252471
252491
|
isSelected: cellSelection,
|
252472
|
-
getExpressionValue,
|
252473
252492
|
getFillColor: [opacity, cellColorEncoding, cellSelection, cellColors],
|
252474
252493
|
getLineColor: [cellColorEncoding, cellSelection, cellColors],
|
252475
252494
|
getPolygon: [radius],
|
@@ -253560,7 +253579,7 @@ class ErrorBoundary extends React__default.Component {
|
|
253560
253579
|
}
|
253561
253580
|
}
|
253562
253581
|
const LazySpatialThree = React__default.lazy(async () => {
|
253563
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
253582
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-07ia_ScM.js");
|
253564
253583
|
return { default: SpatialWrapper2 };
|
253565
253584
|
});
|
253566
253585
|
const SpatialThreeAdapter = React__default.forwardRef((props, ref2) => jsxRuntimeExports.jsx("div", { ref: ref2, style: { width: "100%", height: "100%" }, children: jsxRuntimeExports.jsx(ErrorBoundary, { children: jsxRuntimeExports.jsx(Suspense, { fallback: jsxRuntimeExports.jsx("div", { children: "Loading..." }), children: jsxRuntimeExports.jsx(LazySpatialThree, { ...props }) }) }) }));
|
@@ -261636,7 +261655,7 @@ _defineProperty$3(WindowScroller, "defaultProps", {
|
|
261636
261655
|
serverHeight: 0,
|
261637
261656
|
serverWidth: 0
|
261638
261657
|
});
|
261639
|
-
const useStyles$
|
261658
|
+
const useStyles$m = makeStyles()((theme) => ({
|
261640
261659
|
selectableTable: {
|
261641
261660
|
flex: "1 1 auto",
|
261642
261661
|
outline: "none"
|
@@ -261669,7 +261688,8 @@ const useStyles$l = makeStyles()((theme) => ({
|
|
261669
261688
|
flexBasis: 0,
|
261670
261689
|
flexGrow: 1,
|
261671
261690
|
textOverflow: "ellipsis",
|
261672
|
-
whiteSpace: "nowrap"
|
261691
|
+
whiteSpace: "nowrap",
|
261692
|
+
paddingLeft: "10px"
|
261673
261693
|
},
|
261674
261694
|
inputContainer: {
|
261675
261695
|
width: "1em",
|
@@ -261713,7 +261733,7 @@ const useStyles$l = makeStyles()((theme) => ({
|
|
261713
261733
|
}));
|
261714
261734
|
const SHIFT_KEYCODE = 16;
|
261715
261735
|
function SelectableTable(props) {
|
261716
|
-
const { hasColorEncoding, columns: columns2, columnLabels, data: data2, onChange, idKey = "id", valueKey = "value", allowMultiple = false, allowUncheck = false, showTableHead = true, showTableInputs = false, testHeight = void 0, testWidth = void 0 } = props;
|
261736
|
+
const { hasColorEncoding, columns: columns2, columnLabels, data: data2, onChange, idKey = "id", valueKey = "value", allowMultiple = false, allowUncheck = false, showTableHead = true, showTableInputs = false, testHeight = void 0, testWidth = void 0, width: width2, height: height2 } = props;
|
261717
261737
|
const [selectedRows, setSelectedRows] = useState(null);
|
261718
261738
|
const [isCheckingMultiple, setIsCheckingMultiple] = useState(false);
|
261719
261739
|
useEffect(() => {
|
@@ -261784,14 +261804,14 @@ function SelectableTable(props) {
|
|
261784
261804
|
onChange(null);
|
261785
261805
|
}
|
261786
261806
|
}, [selectedRows, allowMultiple]);
|
261787
|
-
const { classes: classes2 } = useStyles$
|
261807
|
+
const { classes: classes2 } = useStyles$m();
|
261788
261808
|
const inputUuid = v4$1();
|
261789
261809
|
const rowRenderer = ({ index: index2, style: style2 }) => (
|
261790
261810
|
// eslint-disable-next-line jsx-a11y/interactive-supports-focus
|
261791
261811
|
jsxRuntimeExports.jsxs("div", { className: clsx(classes2.tableItem, classes2.tableRow, { "row-checked": isSelected(data2[index2][idKey]) }), style: style2, role: "button", onClick: () => onSelectRow(data2[index2][idKey], !isSelected(data2[index2][idKey]) || !hasColorEncoding), children: [jsxRuntimeExports.jsx("div", { className: clsx(classes2.inputContainer, classes2.tableCell, { [classes2.hiddenInputColumn]: !showTableInputs }), children: jsxRuntimeExports.jsx("label", { htmlFor: `${inputUuid}_${data2[index2][idKey]}`, children: jsxRuntimeExports.jsx("input", { id: `${inputUuid}_${data2[index2][idKey]}`, type: "checkbox", className: clsx(classes2.radioOrCheckbox, isCheckingMultiple ? classes2.tableCheckbox : classes2.tableRadio), name: inputUuid, value: data2[index2][idKey], onChange: handleInputChange, checked: isSelected(data2[index2][idKey]) }) }) }), columns2.map((column2) => jsxRuntimeExports.jsx("div", { className: classes2.tableCell, children: data2[index2][column2] }, column2))] }, data2[index2][idKey])
|
261792
261812
|
);
|
261793
261813
|
const headerRowRenderer = ({ style: style2 }) => jsxRuntimeExports.jsx("div", { className: classes2.tableRow, style: style2, children: columnLabels.map((columnLabel) => jsxRuntimeExports.jsx("div", { className: classes2.tableCell, style: { fontWeight: "bold" }, children: columnLabel }, columnLabel)) });
|
261794
|
-
return jsxRuntimeExports.jsx("div", { className: classes2.selectableTable, children: jsxRuntimeExports.jsx(
|
261814
|
+
return jsxRuntimeExports.jsx("div", { className: classes2.selectableTable, children: jsxRuntimeExports.jsx(Table$1, {
|
261795
261815
|
height: testHeight || height2,
|
261796
261816
|
gridStyle: { outline: "none" },
|
261797
261817
|
rowCount: data2.length,
|
@@ -261802,15 +261822,18 @@ function SelectableTable(props) {
|
|
261802
261822
|
width: testWidth || width2,
|
261803
261823
|
headerRowRenderer: showTableHead ? headerRowRenderer : void 0,
|
261804
261824
|
rowGetter: ({ index: index2 }) => data2[index2]
|
261805
|
-
}) })
|
261825
|
+
}) });
|
261806
261826
|
}
|
261807
261827
|
const FEATURELIST_SORT_OPTIONS = [
|
261808
261828
|
"alphabetical",
|
261809
261829
|
"original"
|
261810
261830
|
];
|
261811
261831
|
const ALT_COLNAME = "Alternate ID";
|
261812
|
-
const useStyles$
|
261832
|
+
const useStyles$l = makeStyles()(() => ({
|
261813
261833
|
searchBar: {
|
261834
|
+
marginTop: "10px",
|
261835
|
+
marginLeft: "10px",
|
261836
|
+
marginRight: "10px",
|
261814
261837
|
marginBottom: "4px",
|
261815
261838
|
border: "0",
|
261816
261839
|
padding: "2px",
|
@@ -261818,8 +261841,8 @@ const useStyles$k = makeStyles()(() => ({
|
|
261818
261841
|
}
|
261819
261842
|
}));
|
261820
261843
|
function FeatureList(props) {
|
261821
|
-
const { hasColorEncoding, geneList = [], featureLabelsMap, geneSelection = [], geneFilter = null, setGeneSelection, enableMultiSelect, showFeatureTable, featureListSort, featureListSortKey, hasFeatureLabels, primaryColumnName } = props;
|
261822
|
-
const { classes: classes2 } = useStyles$
|
261844
|
+
const { width: width2, height: height2, hasColorEncoding, geneList = [], featureLabelsMap, geneSelection = [], geneFilter = null, setGeneSelection, enableMultiSelect, showFeatureTable, featureListSort, featureListSortKey, hasFeatureLabels, primaryColumnName } = props;
|
261845
|
+
const { classes: classes2 } = useStyles$l();
|
261823
261846
|
const [searchTerm, setSearchTerm] = useState("");
|
261824
261847
|
const [searchResults, setSearchResults] = useState(geneList);
|
261825
261848
|
const selectableTableSortKey = featureListSortKey === "featureIndex" ? "key" : "name";
|
@@ -261876,7 +261899,7 @@ function FeatureList(props) {
|
|
261876
261899
|
[primaryColumnName]
|
261877
261900
|
];
|
261878
261901
|
}, [showFeatureTable, primaryColumnName, hasFeatureLabels]);
|
261879
|
-
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("input", { className: classes2.searchBar, type: "text", placeholder: "Search", value: searchTerm, onChange: handleChange }), jsxRuntimeExports.jsx(SelectableTable, { columns: columns2, columnLabels, data: data2, hasColorEncoding, idKey: "key", valueKey: "value", onChange, allowMultiple: enableMultiSelect, allowUncheck: enableMultiSelect, showTableHead: columnLabels.length > 1 })] });
|
261902
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx("input", { className: classes2.searchBar, type: "text", placeholder: "Search", value: searchTerm, onChange: handleChange }), jsxRuntimeExports.jsx(SelectableTable, { columns: columns2, columnLabels, data: data2, hasColorEncoding, idKey: "key", valueKey: "value", onChange, allowMultiple: enableMultiSelect, allowUncheck: enableMultiSelect, showTableHead: columnLabels.length > 1, width: width2, height: height2 - 34 })] });
|
261880
261903
|
}
|
261881
261904
|
function FeatureListOptions(props) {
|
261882
261905
|
const { children: children3, featureListSort, setFeatureListSort, featureListSortKey, setFeatureListSortKey, showFeatureTable, setShowFeatureTable, hasFeatureLabels, primaryColumnName } = props;
|
@@ -261901,9 +261924,21 @@ function FeatureListOptions(props) {
|
|
261901
261924
|
id: `feature-list-show-alternative-ids-${featureListId}`
|
261902
261925
|
} } }) })] })] }) : null] });
|
261903
261926
|
}
|
261927
|
+
const useStyles$k = makeStyles()((theme) => ({
|
261928
|
+
featureListContainer: {
|
261929
|
+
width: "100%",
|
261930
|
+
height: "100%",
|
261931
|
+
display: "flex",
|
261932
|
+
flexDirection: "column",
|
261933
|
+
backgroundColor: theme.palette.primaryBackground,
|
261934
|
+
color: theme.palette.primaryForeground
|
261935
|
+
}
|
261936
|
+
}));
|
261904
261937
|
function FeatureListSubscriber(props) {
|
261905
261938
|
const { coordinationScopes, removeGridComponent, variablesLabelOverride, theme, title: titleOverride, enableMultiSelect = false, showTable = false, sort: sort2 = "alphabetical", sortKey: sortKey2 = null, closeButtonVisible, downloadButtonVisible, helpText = ViewHelpMapping.FEATURE_LIST } = props;
|
261906
261939
|
const loaders = useLoaders();
|
261940
|
+
const [width2, height2, containerRef] = useGridItemSize();
|
261941
|
+
const { classes: classes2 } = useStyles$k();
|
261907
261942
|
const [{ dataset, obsType, featureType, featureSelection: geneSelection, featureFilter: geneFilter, obsColorEncoding: cellColorEncoding }, { setFeatureSelection: setGeneSelection, setFeatureFilter: setGeneFilter, setFeatureHighlight: setGeneHighlight, setObsColorEncoding: setCellColorEncoding }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.FEATURE_LIST], coordinationScopes);
|
261908
261943
|
const variablesLabel = variablesLabelOverride || featureType;
|
261909
261944
|
const title2 = titleOverride || `${capitalize$3(variablesLabel)} List`;
|
@@ -261935,24 +261970,7 @@ function FeatureListSubscriber(props) {
|
|
261935
261970
|
const [featureListSortKey, setFeatureListSortKey] = useState(null);
|
261936
261971
|
const initialSortKey = sortKey2 || (hasFeatureLabels ? "featureLabels" : "featureIndex");
|
261937
261972
|
const primaryColumnName = `${capitalize$3(featureType)} ID`;
|
261938
|
-
return jsxRuntimeExports.jsx(TitleInfo, {
|
261939
|
-
title: title2,
|
261940
|
-
info: `${commaNumber(numGenes)} ${pluralize(variablesLabel, numGenes)}`,
|
261941
|
-
theme,
|
261942
|
-
// Virtual scroll is used but this allows for the same styling as a scroll component
|
261943
|
-
// even though this no longer uses the TitleInfo component's
|
261944
|
-
// scroll css (SelectableTable is virtual scroll).
|
261945
|
-
isScroll: true,
|
261946
|
-
closeButtonVisible,
|
261947
|
-
downloadButtonVisible,
|
261948
|
-
removeGridComponent,
|
261949
|
-
isReady,
|
261950
|
-
urls: urls2,
|
261951
|
-
helpText,
|
261952
|
-
errors,
|
261953
|
-
options: jsxRuntimeExports.jsx(FeatureListOptions, { featureListSort, setFeatureListSort, featureListSortKey: featureListSortKey || initialSortKey, setFeatureListSortKey, showFeatureTable, setShowFeatureTable, hasFeatureLabels, primaryColumnName }),
|
261954
|
-
children: jsxRuntimeExports.jsx(FeatureList, { hasColorEncoding: cellColorEncoding === "geneSelection", showFeatureTable, geneList, featureListSort, featureListSortKey: featureListSortKey || initialSortKey, featureLabelsMap: expandedFeatureLabelsMap, featureType, geneSelection, geneFilter, setGeneSelection: setGeneSelectionAndColorEncoding, setGeneFilter, setGeneHighlight, enableMultiSelect, hasFeatureLabels, primaryColumnName })
|
261955
|
-
});
|
261973
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, info: `${commaNumber(numGenes)} ${pluralize(variablesLabel, numGenes)}`, theme, withPadding: false, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady, urls: urls2, helpText, errors, options: jsxRuntimeExports.jsx(FeatureListOptions, { featureListSort, setFeatureListSort, featureListSortKey: featureListSortKey || initialSortKey, setFeatureListSortKey, showFeatureTable, setShowFeatureTable, hasFeatureLabels, primaryColumnName }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes2.featureListContainer, children: jsxRuntimeExports.jsx(FeatureList, { width: width2, height: height2, hasColorEncoding: cellColorEncoding === "geneSelection", showFeatureTable, geneList, featureListSort, featureListSortKey: featureListSortKey || initialSortKey, featureLabelsMap: expandedFeatureLabelsMap, featureType, geneSelection, geneFilter, setGeneSelection: setGeneSelectionAndColorEncoding, setGeneFilter, setGeneHighlight, enableMultiSelect, hasFeatureLabels, primaryColumnName }) }) });
|
261956
261974
|
}
|
261957
261975
|
const useSpanStyles = makeStyles()(() => ({
|
261958
261976
|
span: {
|
@@ -265401,7 +265419,7 @@ function HiglassGlobalStyles(props) {
|
|
265401
265419
|
}
|
265402
265420
|
register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
|
265403
265421
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
265404
|
-
const { HiGlassComponent } = await import("./higlass-
|
265422
|
+
const { HiGlassComponent } = await import("./higlass-DISnb5Ei.js");
|
265405
265423
|
return { default: HiGlassComponent };
|
265406
265424
|
});
|
265407
265425
|
const HG_SIZE = 800;
|
@@ -268345,7 +268363,7 @@ function NeuroglancerGlobalStyles(props) {
|
|
268345
268363
|
const { classes: classes2 } = props;
|
268346
268364
|
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
|
268347
268365
|
}
|
268348
|
-
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-
|
268366
|
+
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-BCLqTed3.js"));
|
268349
268367
|
function createWorker() {
|
268350
268368
|
return new WorkerFactory();
|
268351
268369
|
}
|
@@ -321471,7 +321489,7 @@ const VEGA_THEMES = {
|
|
321471
321489
|
};
|
321472
321490
|
const DATASET_NAME = "table";
|
321473
321491
|
function VegaGlobalStyles() {
|
321474
|
-
const { theme } = useStyles$
|
321492
|
+
const { theme } = useStyles$v();
|
321475
321493
|
return jsxRuntimeExports.jsx(GlobalStyles$3, { styles: {
|
321476
321494
|
"#vg-tooltip-element.vg-tooltip.custom-theme": {
|
321477
321495
|
boxShadow: "0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12)",
|
@@ -321505,7 +321523,7 @@ function renderTooltipContents(tooltipText) {
|
|
321505
321523
|
}
|
321506
321524
|
function VegaPlot(props) {
|
321507
321525
|
const { spec: partialSpec, data: data2, getTooltipText, signalListeners, renderer = "svg", onNewView } = props;
|
321508
|
-
const { classes: tooltipClasses2 } = useStyles$
|
321526
|
+
const { classes: tooltipClasses2 } = useStyles$r();
|
321509
321527
|
const tooltipHandler = useMemo$1(() => {
|
321510
321528
|
if (typeof getTooltipText === "function") {
|
321511
321529
|
const tooltipConfig = {
|
@@ -326712,6 +326730,13 @@ class SpatialDataObsSetsLoader extends ObsSetsAnndataLoader {
|
|
326712
326730
|
this.tablePath = this.options.tablePath;
|
326713
326731
|
}
|
326714
326732
|
}
|
326733
|
+
class SpatialDataObsEmbeddingLoader extends ObsEmbeddingAnndataLoader {
|
326734
|
+
constructor(dataSource, params2) {
|
326735
|
+
super(dataSource, params2);
|
326736
|
+
this.region = this.options.region;
|
326737
|
+
this.tablePath = this.options.tablePath;
|
326738
|
+
}
|
326739
|
+
}
|
326715
326740
|
const decoder = new TextDecoder("utf-8");
|
326716
326741
|
const decodeUtf8 = (buffer2) => decoder.decode(buffer2);
|
326717
326742
|
const encoder = new TextEncoder();
|
@@ -377634,7 +377659,39 @@ function expandSpatialdataZarr(fileDef) {
|
|
377634
377659
|
// TODO: obsLocations?
|
377635
377660
|
// TODO: obsLabels
|
377636
377661
|
// TODO: featureLabels
|
377637
|
-
//
|
377662
|
+
// obsEmbedding
|
377663
|
+
// eslint-disable-next-line no-nested-ternary
|
377664
|
+
...options.obsEmbedding ? Array.isArray(options.obsEmbedding) ? options.obsEmbedding.map((oe) => ({
|
377665
|
+
// obsEmbedding was an array, process each element.
|
377666
|
+
...baseFileDef,
|
377667
|
+
fileType: getFileType(FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR),
|
377668
|
+
options: {
|
377669
|
+
path: oe.path,
|
377670
|
+
dims: oe.dims,
|
377671
|
+
tablePath: options.tablePath,
|
377672
|
+
region: options.region
|
377673
|
+
},
|
377674
|
+
coordinationValues: {
|
377675
|
+
...extraCoordinationValues,
|
377676
|
+
obsType: baseFileDef.coordinationValues.obsType,
|
377677
|
+
// Move embedding type property out of options and into coordinationValues.
|
377678
|
+
embeddingType: oe.embeddingType
|
377679
|
+
}
|
377680
|
+
})) : [{
|
377681
|
+
// obsEmbedding was an object.
|
377682
|
+
...baseFileDef,
|
377683
|
+
fileType: getFileType(FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR),
|
377684
|
+
options: {
|
377685
|
+
...options.obsEmbedding,
|
377686
|
+
tablePath: options.tablePath,
|
377687
|
+
region: options.region
|
377688
|
+
},
|
377689
|
+
coordinationValues: {
|
377690
|
+
...extraCoordinationValues,
|
377691
|
+
obsType: baseFileDef.coordinationValues.obsType,
|
377692
|
+
embeddingType: baseFileDef.coordinationValues.embeddingType
|
377693
|
+
}
|
377694
|
+
}] : [],
|
377638
377695
|
// image
|
377639
377696
|
// TODO: handle multiple image elements?
|
377640
377697
|
...options.image ? [{
|
@@ -378061,6 +378118,7 @@ const baseFileTypes = [
|
|
378061
378118
|
...makeZarrFileTypes(FileType$1.OBS_POINTS_SPATIALDATA_ZARR, DataType$3.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
|
378062
378119
|
...makeZarrFileTypes(FileType$1.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType$3.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
|
378063
378120
|
...makeZarrFileTypes(FileType$1.OBS_SETS_SPATIALDATA_ZARR, DataType$3.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
|
378121
|
+
...makeZarrFileTypes(FileType$1.OBS_EMBEDDING_SPATIALDATA_ZARR, DataType$3.OBS_EMBEDDING, SpatialDataObsEmbeddingLoader, SpatialDataTableSource, obsEmbeddingSpatialdataSchema),
|
378064
378122
|
...makeZarrFileTypes(FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR, DataType$3.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
|
378065
378123
|
makeFileType(FileType$1.OBS_SEGMENTATIONS_GLB, DataType$3.OBS_SEGMENTATIONS, GlbDataLoader, GlbSource, meshGlbSchema),
|
378066
378124
|
// All legacy file types
|
package/dist/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { bL, bJ, bH, bK, bI, bG, bM } from "./index-
|
1
|
+
import { bL, bJ, bH, bK, bI, bG, bM } from "./index-CHatE_p-.js";
|
2
2
|
import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
|
3
3
|
export {
|
4
4
|
bL as PluginAsyncFunction,
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-SxljTded.js";
|
2
|
-
import { g as getDefaultExportFromCjs, aP as BaseDecoder, aQ as LercParameters, aR as LercAddCompression } from "./index-
|
2
|
+
import { g as getDefaultExportFromCjs, aP as BaseDecoder, aQ as LercParameters, aR as LercAddCompression } from "./index-CHatE_p-.js";
|
3
3
|
var LercDecode = { exports: {} };
|
4
4
|
var hasRequiredLercDecode;
|
5
5
|
function requireLercDecode() {
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { bA as MeshDistanceMaterial, bB as MeshDepthMaterial, bC as RGBADepthPacking, aB as UniformsUtils, bD as ShaderChunk, aw as InstancedBufferGeometry, av as Sphere, au as Box3, aH as BackSide, a9 as DoubleSide, ad as Mesh, as as FrontSide, aa as MeshBasicMaterial, i as Color, c as Vector3, k as Matrix4, d as Vector2, aJ as Matrix3, aD as Vector4, T as Texture, a1 as LinearFilter, bE as PlaneGeometry, f as BufferGeometry, ax as Float32BufferAttribute, bF as InstancedBufferAttribute } from "./index-
|
1
|
+
import { bA as MeshDistanceMaterial, bB as MeshDepthMaterial, bC as RGBADepthPacking, aB as UniformsUtils, bD as ShaderChunk, aw as InstancedBufferGeometry, av as Sphere, au as Box3, aH as BackSide, a9 as DoubleSide, ad as Mesh, as as FrontSide, aa as MeshBasicMaterial, i as Color, c as Vector3, k as Matrix4, d as Vector2, aJ as Matrix3, aD as Vector4, T as Texture, a1 as LinearFilter, bE as PlaneGeometry, f as BufferGeometry, ax as Float32BufferAttribute, bF as InstancedBufferAttribute } from "./index-CHatE_p-.js";
|
2
2
|
function workerBootstrap() {
|
3
3
|
var modules = /* @__PURE__ */ Object.create(null);
|
4
4
|
function registerModule(ref, callback) {
|
@@ -341,6 +341,28 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
|
|
341
341
|
region?: string | undefined;
|
342
342
|
tablePath?: string | undefined;
|
343
343
|
}>>;
|
344
|
+
obsEmbedding: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
|
345
|
+
path: z.ZodString;
|
346
|
+
dims: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
347
|
+
}, "strip", z.ZodTypeAny, {
|
348
|
+
path: string;
|
349
|
+
dims?: number[] | undefined;
|
350
|
+
}, {
|
351
|
+
path: string;
|
352
|
+
dims?: number[] | undefined;
|
353
|
+
}>, z.ZodArray<z.ZodObject<{
|
354
|
+
path: z.ZodString;
|
355
|
+
dims: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
|
356
|
+
embeddingType: z.ZodString;
|
357
|
+
}, "strip", z.ZodTypeAny, {
|
358
|
+
path: string;
|
359
|
+
embeddingType: string;
|
360
|
+
dims?: number[] | undefined;
|
361
|
+
}, {
|
362
|
+
path: string;
|
363
|
+
embeddingType: string;
|
364
|
+
dims?: number[] | undefined;
|
365
|
+
}>, "many">]>>;
|
344
366
|
coordinateSystem: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
345
367
|
}, "strip", z.ZodTypeAny, {
|
346
368
|
image?: {
|
@@ -378,6 +400,14 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
|
|
378
400
|
region?: string | undefined;
|
379
401
|
tablePath?: string | undefined;
|
380
402
|
} | undefined;
|
403
|
+
obsEmbedding?: {
|
404
|
+
path: string;
|
405
|
+
dims?: number[] | undefined;
|
406
|
+
} | {
|
407
|
+
path: string;
|
408
|
+
embeddingType: string;
|
409
|
+
dims?: number[] | undefined;
|
410
|
+
}[] | undefined;
|
381
411
|
coordinateSystem?: string | undefined;
|
382
412
|
}, {
|
383
413
|
image?: {
|
@@ -415,6 +445,14 @@ export declare const baseJointFileTypes: (PluginJointFileType<z.ZodObject<{
|
|
415
445
|
region?: string | undefined;
|
416
446
|
tablePath?: string | undefined;
|
417
447
|
} | undefined;
|
448
|
+
obsEmbedding?: {
|
449
|
+
path: string;
|
450
|
+
dims?: number[] | undefined;
|
451
|
+
} | {
|
452
|
+
path: string;
|
453
|
+
embeddingType: string;
|
454
|
+
dims?: number[] | undefined;
|
455
|
+
}[] | undefined;
|
418
456
|
coordinateSystem?: string | undefined;
|
419
457
|
}>> | PluginJointFileType<z.ZodObject<{
|
420
458
|
xy: z.ZodOptional<z.ZodString>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,CAAC,
|
1
|
+
{"version":3,"file":"base-plugins.d.ts","sourceRoot":"","sources":["../src/base-plugins.ts"],"names":[],"mappings":"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"}
|
package/dist-tsc/base-plugins.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { FileType, DataType, ViewType, CoordinationType, AsyncFunctionType, COMPONENT_COORDINATION_TYPES, ALT_ZARR_STORE_TYPES, } from '@vitessce/constants-internal';
|
2
2
|
import { PluginFileType, PluginJointFileType, PluginViewType, PluginCoordinationType, PluginAsyncFunction, } from '@vitessce/plugins';
|
3
|
-
import { z, obsEmbeddingCsvSchema, obsSetsCsvSchema, obsSpotsCsvSchema, obsPointsCsvSchema, obsLocationsCsvSchema, obsLabelsCsvSchema, featureLabelsCsvSchema, sampleSetsCsvSchema, obsSetsAnndataSchema, sampleSetsAnndataSchema, obsEmbeddingAnndataSchema, obsSpotsAnndataSchema, obsPointsAnndataSchema, obsLocationsAnndataSchema, obsLabelsAnndataSchema, obsFeatureMatrixAnndataSchema, obsFeatureColumnsAnndataSchema, obsSegmentationsAnndataSchema, featureLabelsAnndataSchema, sampleEdgesAnndataSchema, comparisonMetadataAnndataSchema, featureStatsAnndataSchema, featureSetStatsAnndataSchema, obsSetStatsAnndataSchema, rasterJsonSchema, anndataZarrSchema, anndataH5adSchema, spatialdataZarrSchema, anndataCellsZarrSchema, anndataCellSetsZarrSchema, anndataExpressionMatrixZarrSchema, cellsJsonSchema, imageOmeZarrSchema, imageOmeTiffSchema, imageSpatialdataSchema, obsSegmentationsOmeTiffSchema, obsSegmentationsOmeZarrSchema, obsSegmentationsSpatialdataSchema, obsFeatureMatrixSpatialdataSchema, obsSpotsSpatialdataSchema, obsPointsSpatialdataSchema, obsSetsSpatialdataSchema, obsSetPath, rgbArray, obsSetsSchema, imageLayerObj, cellsLayerObj, neighborhoodsLayerObj, moleculesLayerObj, meshGlbSchema, } from '@vitessce/schemas';
|
3
|
+
import { z, obsEmbeddingCsvSchema, obsSetsCsvSchema, obsSpotsCsvSchema, obsPointsCsvSchema, obsLocationsCsvSchema, obsLabelsCsvSchema, featureLabelsCsvSchema, sampleSetsCsvSchema, obsSetsAnndataSchema, sampleSetsAnndataSchema, obsEmbeddingAnndataSchema, obsSpotsAnndataSchema, obsPointsAnndataSchema, obsLocationsAnndataSchema, obsLabelsAnndataSchema, obsFeatureMatrixAnndataSchema, obsFeatureColumnsAnndataSchema, obsSegmentationsAnndataSchema, featureLabelsAnndataSchema, sampleEdgesAnndataSchema, comparisonMetadataAnndataSchema, featureStatsAnndataSchema, featureSetStatsAnndataSchema, obsSetStatsAnndataSchema, rasterJsonSchema, anndataZarrSchema, anndataH5adSchema, spatialdataZarrSchema, anndataCellsZarrSchema, anndataCellSetsZarrSchema, anndataExpressionMatrixZarrSchema, cellsJsonSchema, imageOmeZarrSchema, imageOmeTiffSchema, imageSpatialdataSchema, obsSegmentationsOmeTiffSchema, obsSegmentationsOmeZarrSchema, obsSegmentationsSpatialdataSchema, obsFeatureMatrixSpatialdataSchema, obsSpotsSpatialdataSchema, obsPointsSpatialdataSchema, obsSetsSpatialdataSchema, obsEmbeddingSpatialdataSchema, obsSetPath, rgbArray, obsSetsSchema, imageLayerObj, cellsLayerObj, neighborhoodsLayerObj, moleculesLayerObj, meshGlbSchema, } from '@vitessce/schemas';
|
4
4
|
// Register view type plugins
|
5
5
|
import { DescriptionSubscriber } from '@vitessce/description';
|
6
6
|
import { ObsSetsManagerSubscriber } from '@vitessce/obs-sets-manager';
|
@@ -37,7 +37,7 @@ import {
|
|
37
37
|
// OME
|
38
38
|
OmeZarrLoader, OmeZarrAsObsSegmentationsLoader,
|
39
39
|
// SpatialData
|
40
|
-
SpatialDataTableSource, SpatialDataShapesSource, SpatialDataPointsSource, SpatialDataImageLoader, SpatialDataLabelsLoader, SpatialDataObsSpotsLoader, SpatialDataObsPointsLoader, SpatialDataObsSegmentationsLoader, SpatialDataObsSetsLoader, } from '@vitessce/spatial-zarr';
|
40
|
+
SpatialDataTableSource, SpatialDataShapesSource, SpatialDataPointsSource, SpatialDataImageLoader, SpatialDataLabelsLoader, SpatialDataObsSpotsLoader, SpatialDataObsPointsLoader, SpatialDataObsSegmentationsLoader, SpatialDataObsSetsLoader, SpatialDataObsEmbeddingLoader, } from '@vitessce/spatial-zarr';
|
41
41
|
import { OmeTiffAsObsSegmentationsLoader, OmeTiffLoader, OmeTiffSource, } from '@vitessce/ome-tiff';
|
42
42
|
import { GlbSource, GlbLoader, } from '@vitessce/glb';
|
43
43
|
// Joint file types
|
@@ -154,6 +154,7 @@ export const baseFileTypes = [
|
|
154
154
|
...makeZarrFileTypes(FileType.OBS_POINTS_SPATIALDATA_ZARR, DataType.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
|
155
155
|
...makeZarrFileTypes(FileType.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
|
156
156
|
...makeZarrFileTypes(FileType.OBS_SETS_SPATIALDATA_ZARR, DataType.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
|
157
|
+
...makeZarrFileTypes(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR, DataType.OBS_EMBEDDING, SpatialDataObsEmbeddingLoader, SpatialDataTableSource, obsEmbeddingSpatialdataSchema),
|
157
158
|
...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
|
158
159
|
makeFileType(FileType.OBS_SEGMENTATIONS_GLB, DataType.OBS_SEGMENTATIONS, GlbLoader, GlbSource, meshGlbSchema),
|
159
160
|
// All legacy file types
|
@@ -1,31 +1,5 @@
|
|
1
1
|
import type { z } from 'zod';
|
2
2
|
import type { latestFileDefSchema } from '@vitessce/schemas';
|
3
3
|
export declare function expandAnndataZarr(fileDef: z.infer<typeof latestFileDefSchema>): any[];
|
4
|
-
export declare function expandSpatialdataZarr(fileDef: z.infer<typeof latestFileDefSchema>):
|
5
|
-
fileType: string;
|
6
|
-
options: any;
|
7
|
-
coordinationValues: {
|
8
|
-
obsType: string;
|
9
|
-
featureType: string;
|
10
|
-
featureValueType: string;
|
11
|
-
};
|
12
|
-
url?: string;
|
13
|
-
requestInit?: any;
|
14
|
-
} | {
|
15
|
-
fileType: string;
|
16
|
-
options: any;
|
17
|
-
coordinationValues: {
|
18
|
-
obsType: string;
|
19
|
-
};
|
20
|
-
url?: string;
|
21
|
-
requestInit?: any;
|
22
|
-
} | {
|
23
|
-
fileType: string;
|
24
|
-
options: any;
|
25
|
-
coordinationValues: {
|
26
|
-
featureType: string;
|
27
|
-
};
|
28
|
-
url?: string;
|
29
|
-
requestInit?: any;
|
30
|
-
})[];
|
4
|
+
export declare function expandSpatialdataZarr(fileDef: z.infer<typeof latestFileDefSchema>): any[];
|
31
5
|
//# sourceMappingURL=joint-file-types.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"joint-file-types.d.ts","sourceRoot":"","sources":["../src/joint-file-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA6B7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAsO7E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC
|
1
|
+
{"version":3,"file":"joint-file-types.d.ts","sourceRoot":"","sources":["../src/joint-file-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AA6B7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAsO7E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,SAoJjF"}
|
@@ -304,7 +304,39 @@ export function expandSpatialdataZarr(fileDef) {
|
|
304
304
|
// TODO: obsLocations?
|
305
305
|
// TODO: obsLabels
|
306
306
|
// TODO: featureLabels
|
307
|
-
//
|
307
|
+
// obsEmbedding
|
308
|
+
// eslint-disable-next-line no-nested-ternary
|
309
|
+
...(options.obsEmbedding ? (Array.isArray(options.obsEmbedding) ? options.obsEmbedding.map((oe) => ({
|
310
|
+
// obsEmbedding was an array, process each element.
|
311
|
+
...baseFileDef,
|
312
|
+
fileType: getFileType(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR),
|
313
|
+
options: {
|
314
|
+
path: oe.path,
|
315
|
+
dims: oe.dims,
|
316
|
+
tablePath: options.tablePath,
|
317
|
+
region: options.region,
|
318
|
+
},
|
319
|
+
coordinationValues: {
|
320
|
+
...extraCoordinationValues,
|
321
|
+
obsType: baseFileDef.coordinationValues.obsType,
|
322
|
+
// Move embedding type property out of options and into coordinationValues.
|
323
|
+
embeddingType: oe.embeddingType,
|
324
|
+
},
|
325
|
+
})) : [{
|
326
|
+
// obsEmbedding was an object.
|
327
|
+
...baseFileDef,
|
328
|
+
fileType: getFileType(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR),
|
329
|
+
options: {
|
330
|
+
...options.obsEmbedding,
|
331
|
+
tablePath: options.tablePath,
|
332
|
+
region: options.region,
|
333
|
+
},
|
334
|
+
coordinationValues: {
|
335
|
+
...extraCoordinationValues,
|
336
|
+
obsType: baseFileDef.coordinationValues.obsType,
|
337
|
+
embeddingType: baseFileDef.coordinationValues.embeddingType,
|
338
|
+
},
|
339
|
+
}]) : []),
|
308
340
|
// image
|
309
341
|
// TODO: handle multiple image elements?
|
310
342
|
...(options.image ? [{
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vitessce/all",
|
3
|
-
"version": "3.6.
|
3
|
+
"version": "3.6.14",
|
4
4
|
"author": "HIDIVE Lab at HMS",
|
5
5
|
"homepage": "http://vitessce.io",
|
6
6
|
"repository": {
|
@@ -17,37 +17,37 @@
|
|
17
17
|
],
|
18
18
|
"dependencies": {
|
19
19
|
"zod": "^3.21.4",
|
20
|
-
"@vitessce/styles": "3.6.
|
21
|
-
"@vitessce/constants-internal": "3.6.
|
22
|
-
"@vitessce/abstract": "3.6.
|
23
|
-
"@vitessce/error": "3.6.
|
24
|
-
"@vitessce/csv": "3.6.
|
25
|
-
"@vitessce/description": "3.6.
|
26
|
-
"@vitessce/feature-list": "3.6.
|
27
|
-
"@vitessce/genomic-profiles": "3.6.
|
28
|
-
"@vitessce/heatmap": "3.6.
|
29
|
-
"@vitessce/glb": "3.6.
|
30
|
-
"@vitessce/json": "3.6.
|
31
|
-
"@vitessce/layer-controller": "3.6.
|
32
|
-
"@vitessce/layer-controller-beta": "3.6.
|
33
|
-
"@vitessce/link-controller": "3.6.
|
34
|
-
"@vitessce/obs-sets-manager": "3.6.
|
35
|
-
"@vitessce/ome-tiff": "3.6.
|
36
|
-
"@vitessce/plugins": "3.6.
|
37
|
-
"@vitessce/scatterplot-embedding": "3.6.
|
38
|
-
"@vitessce/scatterplot-gating": "3.6.
|
39
|
-
"@vitessce/schemas": "3.6.
|
40
|
-
"@vitessce/spatial": "3.6.
|
41
|
-
"@vitessce/spatial-beta": "3.6.
|
42
|
-
"@vitessce/statistical-plots": "3.6.
|
43
|
-
"@vitessce/status": "3.6.
|
44
|
-
"@vitessce/vit-s": "3.6.
|
45
|
-
"@vitessce/zarr": "3.6.
|
46
|
-
"@vitessce/globals": "3.6.
|
47
|
-
"@vitessce/spatial-zarr": "3.6.
|
48
|
-
"@vitessce/spatial-three": "3.6.
|
49
|
-
"@vitessce/biomarker-select": "3.6.
|
50
|
-
"@vitessce/neuroglancer": "3.6.
|
20
|
+
"@vitessce/styles": "3.6.14",
|
21
|
+
"@vitessce/constants-internal": "3.6.14",
|
22
|
+
"@vitessce/abstract": "3.6.14",
|
23
|
+
"@vitessce/error": "3.6.14",
|
24
|
+
"@vitessce/csv": "3.6.14",
|
25
|
+
"@vitessce/description": "3.6.14",
|
26
|
+
"@vitessce/feature-list": "3.6.14",
|
27
|
+
"@vitessce/genomic-profiles": "3.6.14",
|
28
|
+
"@vitessce/heatmap": "3.6.14",
|
29
|
+
"@vitessce/glb": "3.6.14",
|
30
|
+
"@vitessce/json": "3.6.14",
|
31
|
+
"@vitessce/layer-controller": "3.6.14",
|
32
|
+
"@vitessce/layer-controller-beta": "3.6.14",
|
33
|
+
"@vitessce/link-controller": "3.6.14",
|
34
|
+
"@vitessce/obs-sets-manager": "3.6.14",
|
35
|
+
"@vitessce/ome-tiff": "3.6.14",
|
36
|
+
"@vitessce/plugins": "3.6.14",
|
37
|
+
"@vitessce/scatterplot-embedding": "3.6.14",
|
38
|
+
"@vitessce/scatterplot-gating": "3.6.14",
|
39
|
+
"@vitessce/schemas": "3.6.14",
|
40
|
+
"@vitessce/spatial": "3.6.14",
|
41
|
+
"@vitessce/spatial-beta": "3.6.14",
|
42
|
+
"@vitessce/statistical-plots": "3.6.14",
|
43
|
+
"@vitessce/status": "3.6.14",
|
44
|
+
"@vitessce/vit-s": "3.6.14",
|
45
|
+
"@vitessce/zarr": "3.6.14",
|
46
|
+
"@vitessce/globals": "3.6.14",
|
47
|
+
"@vitessce/spatial-zarr": "3.6.14",
|
48
|
+
"@vitessce/spatial-three": "3.6.14",
|
49
|
+
"@vitessce/biomarker-select": "3.6.14",
|
50
|
+
"@vitessce/neuroglancer": "3.6.14"
|
51
51
|
},
|
52
52
|
"devDependencies": {
|
53
53
|
"@types/react": "^18.0.28",
|
package/src/base-plugins.ts
CHANGED
@@ -64,6 +64,7 @@ import {
|
|
64
64
|
obsSpotsSpatialdataSchema,
|
65
65
|
obsPointsSpatialdataSchema,
|
66
66
|
obsSetsSpatialdataSchema,
|
67
|
+
obsEmbeddingSpatialdataSchema,
|
67
68
|
obsSetPath,
|
68
69
|
rgbArray,
|
69
70
|
obsSetsSchema,
|
@@ -178,6 +179,7 @@ import {
|
|
178
179
|
SpatialDataObsPointsLoader,
|
179
180
|
SpatialDataObsSegmentationsLoader,
|
180
181
|
SpatialDataObsSetsLoader,
|
182
|
+
SpatialDataObsEmbeddingLoader,
|
181
183
|
} from '@vitessce/spatial-zarr';
|
182
184
|
|
183
185
|
import {
|
@@ -333,6 +335,7 @@ export const baseFileTypes = [
|
|
333
335
|
...makeZarrFileTypes(FileType.OBS_POINTS_SPATIALDATA_ZARR, DataType.OBS_POINTS, SpatialDataObsPointsLoader, SpatialDataPointsSource, obsPointsSpatialdataSchema),
|
334
336
|
...makeZarrFileTypes(FileType.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR, DataType.OBS_FEATURE_MATRIX, ObsFeatureMatrixAnndataLoader, SpatialDataTableSource, obsFeatureMatrixSpatialdataSchema),
|
335
337
|
...makeZarrFileTypes(FileType.OBS_SETS_SPATIALDATA_ZARR, DataType.OBS_SETS, SpatialDataObsSetsLoader, SpatialDataTableSource, obsSetsSpatialdataSchema),
|
338
|
+
...makeZarrFileTypes(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR, DataType.OBS_EMBEDDING, SpatialDataObsEmbeddingLoader, SpatialDataTableSource, obsEmbeddingSpatialdataSchema),
|
336
339
|
...makeZarrFileTypes(FileType.FEATURE_LABELS_SPATIALDATA_ZARR, DataType.FEATURE_LABELS, FeatureLabelsAnndataLoader, SpatialDataTableSource, featureLabelsAnndataSchema),
|
337
340
|
|
338
341
|
makeFileType(FileType.OBS_SEGMENTATIONS_GLB, DataType.OBS_SEGMENTATIONS, GlbLoader, GlbSource, meshGlbSchema),
|
package/src/joint-file-types.ts
CHANGED
@@ -323,7 +323,41 @@ export function expandSpatialdataZarr(fileDef: z.infer<typeof latestFileDefSchem
|
|
323
323
|
// TODO: obsLocations?
|
324
324
|
// TODO: obsLabels
|
325
325
|
// TODO: featureLabels
|
326
|
-
//
|
326
|
+
// obsEmbedding
|
327
|
+
// eslint-disable-next-line no-nested-ternary
|
328
|
+
...(options.obsEmbedding ? (
|
329
|
+
Array.isArray(options.obsEmbedding) ? options.obsEmbedding.map((oe: any) => ({
|
330
|
+
// obsEmbedding was an array, process each element.
|
331
|
+
...baseFileDef,
|
332
|
+
fileType: getFileType(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR),
|
333
|
+
options: {
|
334
|
+
path: oe.path,
|
335
|
+
dims: oe.dims,
|
336
|
+
tablePath: options.tablePath,
|
337
|
+
region: options.region,
|
338
|
+
},
|
339
|
+
coordinationValues: {
|
340
|
+
...extraCoordinationValues,
|
341
|
+
obsType: baseFileDef.coordinationValues.obsType,
|
342
|
+
// Move embedding type property out of options and into coordinationValues.
|
343
|
+
embeddingType: oe.embeddingType,
|
344
|
+
},
|
345
|
+
})) : [{
|
346
|
+
// obsEmbedding was an object.
|
347
|
+
...baseFileDef,
|
348
|
+
fileType: getFileType(FileType.OBS_EMBEDDING_SPATIALDATA_ZARR),
|
349
|
+
options: {
|
350
|
+
...options.obsEmbedding,
|
351
|
+
tablePath: options.tablePath,
|
352
|
+
region: options.region,
|
353
|
+
},
|
354
|
+
coordinationValues: {
|
355
|
+
...extraCoordinationValues,
|
356
|
+
obsType: baseFileDef.coordinationValues.obsType,
|
357
|
+
embeddingType: baseFileDef.coordinationValues.embeddingType,
|
358
|
+
},
|
359
|
+
}]
|
360
|
+
) : []),
|
327
361
|
// image
|
328
362
|
// TODO: handle multiple image elements?
|
329
363
|
...(options.image ? [{
|