@vitessce/all 3.8.6 → 3.8.8
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/{OrbitControls-blC-_luf.js → OrbitControls-BdMjY3aO.js} +1 -1
- package/dist/{ReactNeuroglancer-BV_821il.js → ReactNeuroglancer-CQ8kS1mc.js} +1 -1
- package/dist/{deflate-CsetZFHb.js → deflate-BBtqPvhK.js} +1 -1
- package/dist/{higlass-BYlgWL_Y.js → higlass-CBYKVvZ1.js} +1 -1
- package/dist/{index-VG1RjUEu.js → index-CgBhVc6k.js} +3 -3
- package/dist/{index-CHxaVZhJ.js → index-CswI4QIv.js} +2 -2
- package/dist/{index-Z-pD1WnL.js → index-DeAJAaTB.js} +232 -64
- package/dist/index.js +1 -1
- package/dist/{jpeg-DdeYvQ7M.js → jpeg-BaWcE9pr.js} +1 -1
- package/dist/{lerc-D1O_lzXu.js → lerc-r2v3xhFU.js} +1 -1
- package/dist/{lzw-CE0HuE9L.js → lzw-r1g3fWt6.js} +1 -1
- package/dist/{packbits-z6O-xEjB.js → packbits-BP3_1WZ_.js} +1 -1
- package/dist/{raw-CRt4_45v.js → raw-CBSzyAnJ.js} +1 -1
- package/dist/{troika-three-text.esm-BsP89YlX.js → troika-three-text.esm-BAYcQ1OK.js} +1 -1
- package/dist/{webimage-CLacHpNV.js → webimage-d9adH7MC.js} +1 -1
- package/package.json +33 -33
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aF as getDefaultExportFromCjs, aG as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aH as PCFSoftShadowMap, aI as VSMShadowMap, aJ as PCFShadowMap, aK as BasicShadowMap, aL as NoToneMapping, aM as ACESFilmicToneMapping, e as Vector3, V as Vector2, aN as Clock, aO as WebGLRenderer, aP as Camera, x as BufferGeometry, r as Material, aQ as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aR as THREE, aS as EventDispatcher, aT as MOUSE, aU as TOUCH, aV as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-
|
|
1
|
+
import { aF as getDefaultExportFromCjs, aG as Raycaster, W as OrthographicCamera, K as PerspectiveCamera, av as Scene, aH as PCFSoftShadowMap, aI as VSMShadowMap, aJ as PCFShadowMap, aK as BasicShadowMap, aL as NoToneMapping, aM as ACESFilmicToneMapping, e as Vector3, V as Vector2, aN as Clock, aO as WebGLRenderer, aP as Camera, x as BufferGeometry, r as Material, aQ as Layers, a1 as Texture, aC as RGBAFormat, ay as UnsignedByteType, C as Color, aj as _extends, aR as THREE, aS as EventDispatcher, aT as MOUSE, aU as TOUCH, aV as Spherical, Q as Quaternion, an as Ray, ak as Plane } from "./index-DeAJAaTB.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import React__default, { useReducer, useRef, useEffect, useLayoutEffect, useDebugValue, useState, useMemo } from "react";
|
|
4
4
|
var constants = { exports: {} };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aF as getDefaultExportFromCjs, b0 as requireAssign, b1 as require_export, b2 as require_core, b3 as require_fails, b4 as require_toObject, b5 as require_objectKeys, b6 as require_cof, b7 as require_wks, b8 as require_iterators, b9 as requireWeb_dom_iterable, ba as requireEs6_string_iterator, bb as require_anObject, bc as require_hide, bd as require_ctx, be as require_toLength, bf as require_global, bg as require_objectDp, bh as require_descriptors, bi as require_isObject, bj as require_objectCreate, bk as require_iterDefine, bl as require_iterStep, bm as require_meta, bn as require_isArray, bo as require_iobject, bp as require_setToStringTag, bq as require_aFunction, br as requireIterator, bs as require_propertyDesc, aZ as commonjsGlobal, bt as requireEs6_symbol, bu as requireDefineProperty, bv as require_toIobject, bw as require_objectGopd, bx as require_html, by as require_domCreate, bz as require_library, bA as requireSymbol, bB as require_objectPie, bC as require_has, bD as require_redefine, bE as require_objectAssign, bF as diffCameraState, ao as jsxRuntimeExports } from "./index-
|
|
1
|
+
import { aF as getDefaultExportFromCjs, b0 as requireAssign, b1 as require_export, b2 as require_core, b3 as require_fails, b4 as require_toObject, b5 as require_objectKeys, b6 as require_cof, b7 as require_wks, b8 as require_iterators, b9 as requireWeb_dom_iterable, ba as requireEs6_string_iterator, bb as require_anObject, bc as require_hide, bd as require_ctx, be as require_toLength, bf as require_global, bg as require_objectDp, bh as require_descriptors, bi as require_isObject, bj as require_objectCreate, bk as require_iterDefine, bl as require_iterStep, bm as require_meta, bn as require_isArray, bo as require_iobject, bp as require_setToStringTag, bq as require_aFunction, br as requireIterator, bs as require_propertyDesc, aZ as commonjsGlobal, bt as requireEs6_symbol, bu as requireDefineProperty, bv as require_toIobject, bw as require_objectGopd, bx as require_html, by as require_domCreate, bz as require_library, bA as requireSymbol, bB as require_objectPie, bC as require_has, bD as require_redefine, bE as require_objectAssign, bF as diffCameraState, ao as jsxRuntimeExports } from "./index-DeAJAaTB.js";
|
|
2
2
|
import React__default from "react";
|
|
3
3
|
var assignExports = requireAssign();
|
|
4
4
|
const _Object$assign = /* @__PURE__ */ getDefaultExportFromCjs(assignExports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-SxljTded.js";
|
|
2
|
-
import { aW as BaseDecoder } from "./index-
|
|
2
|
+
import { aW as BaseDecoder } from "./index-DeAJAaTB.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 { aZ as commonjsGlobal$1, a_ as requireObjectAssign, aF as getDefaultExportFromCjs$1, a$ as earcut } from "./index-
|
|
4
|
+
import { aZ as commonjsGlobal$1, a_ as requireObjectAssign, aF as getDefaultExportFromCjs$1, a$ as earcut } from "./index-DeAJAaTB.js";
|
|
5
5
|
var promise = {};
|
|
6
6
|
var hasRequiredPromise;
|
|
7
7
|
function requirePromise() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { G as Group, M as Matrix4, T as TrianglesDrawMode, a as TriangleFanDrawMode, b as TriangleStripDrawMode, R as REVISION, L as Loader, c as LoaderUtils, F as FileLoader, d as MeshPhysicalMaterial, V as Vector2, C as Color, S as SpotLight, P as PointLight, D as DirectionalLight, e as Vector3, I as InstancedMesh, Q as Quaternion, O as Object3D, f as TextureLoader, g as ImageBitmapLoader, B as BufferAttribute, h as InterleavedBuffer, i as LinearMipmapLinearFilter, N as NearestMipmapLinearFilter, j as LinearMipmapNearestFilter, k as NearestMipmapNearestFilter, l as LinearFilter, m as NearestFilter, n as RepeatWrapping, o as MirroredRepeatWrapping, p as ClampToEdgeWrapping, q as PointsMaterial, r as Material, s as LineBasicMaterial, t as MeshStandardMaterial, u as DoubleSide, v as MeshBasicMaterial, w as PropertyBinding, x as BufferGeometry, y as SkinnedMesh, z as Mesh, A as LineSegments, E as Line$1, H as LineLoop, J as Points, K as PerspectiveCamera, U as MathUtils, W as OrthographicCamera, X as Skeleton, Y as InterpolateDiscrete, Z as InterpolateLinear, _ as AnimationClip, $ as Bone, a0 as InterleavedBufferAttribute, a1 as Texture, a2 as VectorKeyframeTrack, a3 as QuaternionKeyframeTrack, a4 as NumberKeyframeTrack, a5 as FrontSide, a6 as Interpolant, a7 as Box3, a8 as Sphere, a9 as InstancedBufferGeometry, aa as Float32BufferAttribute, ab as InstancedInterleavedBuffer, ac as WireframeGeometry, ad as ShaderMaterial, ae as UniformsUtils, af as UniformsLib, ag as Vector4, ah as Line3, ai as SphereGeometry, aj as _extends, ak as Plane, al as Triangle, am as BackSide, an as Ray$1, ao as jsxRuntimeExports, ap as Matrix3, aq as CoordinationType, ar as Data3DTexture, as as RedFormat, at as FloatType, au as getImageSize, av as Scene } from "./index-
|
|
1
|
+
import { G as Group, M as Matrix4, T as TrianglesDrawMode, a as TriangleFanDrawMode, b as TriangleStripDrawMode, R as REVISION, L as Loader, c as LoaderUtils, F as FileLoader, d as MeshPhysicalMaterial, V as Vector2, C as Color, S as SpotLight, P as PointLight, D as DirectionalLight, e as Vector3, I as InstancedMesh, Q as Quaternion, O as Object3D, f as TextureLoader, g as ImageBitmapLoader, B as BufferAttribute, h as InterleavedBuffer, i as LinearMipmapLinearFilter, N as NearestMipmapLinearFilter, j as LinearMipmapNearestFilter, k as NearestMipmapNearestFilter, l as LinearFilter, m as NearestFilter, n as RepeatWrapping, o as MirroredRepeatWrapping, p as ClampToEdgeWrapping, q as PointsMaterial, r as Material, s as LineBasicMaterial, t as MeshStandardMaterial, u as DoubleSide, v as MeshBasicMaterial, w as PropertyBinding, x as BufferGeometry, y as SkinnedMesh, z as Mesh, A as LineSegments, E as Line$1, H as LineLoop, J as Points, K as PerspectiveCamera, U as MathUtils, W as OrthographicCamera, X as Skeleton, Y as InterpolateDiscrete, Z as InterpolateLinear, _ as AnimationClip, $ as Bone, a0 as InterleavedBufferAttribute, a1 as Texture, a2 as VectorKeyframeTrack, a3 as QuaternionKeyframeTrack, a4 as NumberKeyframeTrack, a5 as FrontSide, a6 as Interpolant, a7 as Box3, a8 as Sphere, a9 as InstancedBufferGeometry, aa as Float32BufferAttribute, ab as InstancedInterleavedBuffer, ac as WireframeGeometry, ad as ShaderMaterial, ae as UniformsUtils, af as UniformsLib, ag as Vector4, ah as Line3, ai as SphereGeometry, aj as _extends, ak as Plane, al as Triangle, am as BackSide, an as Ray$1, ao as jsxRuntimeExports, ap as Matrix3, aq as CoordinationType, ar as Data3DTexture, as as RedFormat, at as FloatType, au as getImageSize, av as Scene } from "./index-DeAJAaTB.js";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { useRef, useEffect, useState, forwardRef } from "react";
|
|
4
|
-
import { u as useThree, a as useFrame, c as create, e as extend, b as createPortal, O as OrbitControls, C as Canvas } from "./OrbitControls-
|
|
4
|
+
import { u as useThree, a as useFrame, c as create, e as extend, b as createPortal, O as OrbitControls, C as Canvas } from "./OrbitControls-BdMjY3aO.js";
|
|
5
5
|
const isPromise = (promise) => typeof promise === "object" && typeof promise.then === "function";
|
|
6
6
|
const globalCache = [];
|
|
7
7
|
function shallowEqualArrays(arrA, arrB, equal = (a, b) => a === b) {
|
|
@@ -5027,7 +5027,7 @@ const Text = /* @__PURE__ */ React.forwardRef(({
|
|
|
5027
5027
|
const {
|
|
5028
5028
|
Text: TextMeshImpl,
|
|
5029
5029
|
preloadFont
|
|
5030
|
-
} = suspend(async () => import("./troika-three-text.esm-
|
|
5030
|
+
} = suspend(async () => import("./troika-three-text.esm-BAYcQ1OK.js"), []);
|
|
5031
5031
|
const invalidate = useThree(({
|
|
5032
5032
|
invalidate: invalidate2
|
|
5033
5033
|
}) => invalidate2);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { aw as log, ax as isEqual, ar as Data3DTexture, as as RedFormat, ay as UnsignedByteType, l as LinearFilter, az as RedIntegerFormat, aA as UnsignedIntType, m as NearestFilter, e as Vector3, V as Vector2, ag as Vector4, ae as UniformsUtils, aq as CoordinationType, aB as WebGLMultipleRenderTargets, aC as RGBAFormat, av as Scene, W as OrthographicCamera, ad as ShaderMaterial, z as Mesh, aD as PlaneGeometry, ao as jsxRuntimeExports, aE as GLSL3, am as BackSide } from "./index-
|
|
1
|
+
import { aw as log, ax as isEqual, ar as Data3DTexture, as as RedFormat, ay as UnsignedByteType, l as LinearFilter, az as RedIntegerFormat, aA as UnsignedIntType, m as NearestFilter, e as Vector3, V as Vector2, ag as Vector4, ae as UniformsUtils, aq as CoordinationType, aB as WebGLMultipleRenderTargets, aC as RGBAFormat, av as Scene, W as OrthographicCamera, ad as ShaderMaterial, z as Mesh, aD as PlaneGeometry, ao as jsxRuntimeExports, aE as GLSL3, am as BackSide } from "./index-DeAJAaTB.js";
|
|
2
2
|
import { useRef, useState, useMemo, useEffect, useCallback } from "react";
|
|
3
|
-
import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-
|
|
3
|
+
import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-BdMjY3aO.js";
|
|
4
4
|
const LogLevel = {
|
|
5
5
|
INFO: "info",
|
|
6
6
|
WARN: "warn",
|
|
@@ -209323,22 +209323,22 @@ async function getDecoder(fileDirectory) {
|
|
|
209323
209323
|
const Decoder = await importFn();
|
|
209324
209324
|
return new Decoder(fileDirectory);
|
|
209325
209325
|
}
|
|
209326
|
-
addDecoder([void 0, 1], () => import("./raw-
|
|
209327
|
-
addDecoder(5, () => import("./lzw-
|
|
209326
|
+
addDecoder([void 0, 1], () => import("./raw-CBSzyAnJ.js").then((m2) => m2.default));
|
|
209327
|
+
addDecoder(5, () => import("./lzw-r1g3fWt6.js").then((m2) => m2.default));
|
|
209328
209328
|
addDecoder(6, () => {
|
|
209329
209329
|
throw new Error("old style JPEG compression is not supported.");
|
|
209330
209330
|
});
|
|
209331
|
-
addDecoder(7, () => import("./jpeg-
|
|
209332
|
-
addDecoder([8, 32946], () => import("./deflate-
|
|
209333
|
-
addDecoder(32773, () => import("./packbits-
|
|
209331
|
+
addDecoder(7, () => import("./jpeg-BaWcE9pr.js").then((m2) => m2.default));
|
|
209332
|
+
addDecoder([8, 32946], () => import("./deflate-BBtqPvhK.js").then((m2) => m2.default));
|
|
209333
|
+
addDecoder(32773, () => import("./packbits-BP3_1WZ_.js").then((m2) => m2.default));
|
|
209334
209334
|
addDecoder(
|
|
209335
209335
|
34887,
|
|
209336
|
-
() => import("./lerc-
|
|
209336
|
+
() => import("./lerc-r2v3xhFU.js").then(async (m2) => {
|
|
209337
209337
|
await m2.zstd.init();
|
|
209338
209338
|
return m2;
|
|
209339
209339
|
}).then((m2) => m2.default)
|
|
209340
209340
|
);
|
|
209341
|
-
addDecoder(50001, () => import("./webimage-
|
|
209341
|
+
addDecoder(50001, () => import("./webimage-d9adH7MC.js").then((m2) => m2.default));
|
|
209342
209342
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
|
209343
209343
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
|
209344
209344
|
}
|
|
@@ -227465,11 +227465,11 @@ function TooltipContent(props) {
|
|
|
227465
227465
|
return jsxRuntimeExports.jsx("table", { children: jsxRuntimeExports.jsx("tbody", { children: Object.entries(mappedInfo).map(([key2, value2]) => jsxRuntimeExports.jsxs("tr", { children: [jsxRuntimeExports.jsx("th", { children: key2 }), jsxRuntimeExports.jsx("td", { children: value2 })] }, key2)) }) });
|
|
227466
227466
|
}
|
|
227467
227467
|
function ScatterplotTooltipSubscriber(props) {
|
|
227468
|
-
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo, featureType, featureLabelsMap } = props;
|
|
227468
|
+
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo: getObsInfo2, featureType, featureLabelsMap } = props;
|
|
227469
227469
|
const sourceUuid = useComponentHover();
|
|
227470
227470
|
const viewInfo = useComponentViewInfo(parentUuid);
|
|
227471
|
-
const [cellInfo, x2, y2] = obsHighlight &&
|
|
227472
|
-
|
|
227471
|
+
const [cellInfo, x2, y2] = obsHighlight && getObsInfo2 ? [
|
|
227472
|
+
getObsInfo2(obsHighlight),
|
|
227473
227473
|
...viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsHighlight) : [null, null]
|
|
227474
227474
|
] : [null, null, null];
|
|
227475
227475
|
return cellInfo ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: cellInfo, featureType, featureLabelsMap }) }) : null;
|
|
@@ -231881,7 +231881,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
231881
231881
|
initialTargetY,
|
|
231882
231882
|
averageFillDensity
|
|
231883
231883
|
]);
|
|
231884
|
-
const
|
|
231884
|
+
const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
|
|
231885
231885
|
const cellSelectionSet = useMemo$1(() => new Set(cellSelection), [cellSelection]);
|
|
231886
231886
|
const getCellIsSelected = useCallback((object2, { index: index2 }) => (cellSelectionSet || /* @__PURE__ */ new Set([])).has(obsEmbeddingIndex[index2]) ? 1 : 0, [cellSelectionSet, obsEmbeddingIndex]);
|
|
231887
231887
|
const cellRadius = cellRadiusMode === "manual" ? cellRadiusFixed : dynamicCellRadius;
|
|
@@ -232038,7 +232038,7 @@ function EmbeddingScatterplotSubscriber(props) {
|
|
|
232038
232038
|
embeddingContoursVisible,
|
|
232039
232039
|
circleInfo,
|
|
232040
232040
|
featureSelection: geneSelection
|
|
232041
|
-
}), tooltipsVisible && width2 && height2 ? jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo, featureType, featureLabelsMap }) : null, jsxRuntimeExports.jsx(Legend, {
|
|
232041
|
+
}), tooltipsVisible && width2 && height2 ? jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo: getObsInfo2, featureType, featureLabelsMap }) : null, jsxRuntimeExports.jsx(Legend, {
|
|
232042
232042
|
visible: true,
|
|
232043
232043
|
theme,
|
|
232044
232044
|
featureType,
|
|
@@ -232318,7 +232318,7 @@ function GatingSubscriber(props) {
|
|
|
232318
232318
|
matrixObsIndex: obsIndex,
|
|
232319
232319
|
expressionData: uint8ExpressionData
|
|
232320
232320
|
});
|
|
232321
|
-
const
|
|
232321
|
+
const getObsInfo2 = useCallback((obsId) => {
|
|
232322
232322
|
const selectedTransformName = VALUE_TRANSFORM_OPTIONS.find((o2) => o2.value === featureValueTransform)?.name;
|
|
232323
232323
|
const genePrefix = featureValueTransform ? `${selectedTransformName} ` : "";
|
|
232324
232324
|
const obsIdx = obsIndex?.indexOf(obsId);
|
|
@@ -232349,7 +232349,7 @@ function GatingSubscriber(props) {
|
|
|
232349
232349
|
setZoom(null);
|
|
232350
232350
|
}, gatingFeatureValueTransformCoefficient: featureValueTransformCoefficient, setGatingFeatureValueTransformCoefficient: setFeatureValueTransformCoefficient, geneSelectOptions: featureIndex, transformOptions: VALUE_TRANSFORM_OPTIONS }) }), children: [jsxRuntimeExports.jsx(EmptyMessage, { visible: !(gatingFeatureSelectionX && gatingFeatureSelectionY), message: `Select two ${pluralize(featureType, 2)} in the plot settings.` }), jsxRuntimeExports.jsx(ScatterplotWrapper, { ref: deckRef, uuid: uuid2, theme, hideTools: !(gatingFeatureSelectionX && gatingFeatureSelectionY), hideRecenter: !(gatingFeatureSelectionX && gatingFeatureSelectionY), viewState: { zoom: zoom2, target: [targetX2, targetY2, targetZ] }, setViewState, originalViewState, obsEmbeddingIndex: obsIndex, obsEmbedding: obsXY, cellFilter, cellSelection, cellHighlight, cellColors, cellSetPolygons, cellSetLabelSize, cellSetLabelsVisible, cellSetPolygonsVisible, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, cellRadius, cellOpacity, cellColorEncoding, geneExpressionColormap, geneExpressionColormapRange, setComponentHover: () => {
|
|
232351
232351
|
setComponentHover(uuid2);
|
|
232352
|
-
}, updateViewInfo: setComponentViewInfo, getExpressionValue, getCellIsSelected, embeddingPointsVisible: true }), !disableTooltip && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo })] });
|
|
232352
|
+
}, updateViewInfo: setComponentViewInfo, getExpressionValue, getCellIsSelected, embeddingPointsVisible: true }), !disableTooltip && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo: getObsInfo2 })] });
|
|
232353
232353
|
}
|
|
232354
232354
|
var DEFAULT_CONFIG = {
|
|
232355
232355
|
// minimum relative difference between two compared values,
|
|
@@ -251422,8 +251422,8 @@ function SpatialOptions(props) {
|
|
|
251422
251422
|
return `${labelPrefix} for spatial gene expression colormap range`;
|
|
251423
251423
|
}, id: `gene-expression-colormap-range-${spatialOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] }) : null] });
|
|
251424
251424
|
}
|
|
251425
|
-
function SpatialTooltipSubscriber(props) {
|
|
251426
|
-
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo, hoverData, hoverCoord, hoverMode, useHoverInfoForTooltip, getObsIdFromHoverData, featureType, featureLabelsMap } = props;
|
|
251425
|
+
function SpatialTooltipSubscriber$1(props) {
|
|
251426
|
+
const { parentUuid, obsHighlight, width: width2, height: height2, getObsInfo: getObsInfo2, hoverData, hoverCoord, hoverMode, useHoverInfoForTooltip, getObsIdFromHoverData, featureType, featureLabelsMap } = props;
|
|
251427
251427
|
const sourceUuid = useComponentHover();
|
|
251428
251428
|
const viewInfo = useComponentViewInfo(parentUuid);
|
|
251429
251429
|
let [cellInfo, x2, y2] = [null, null, null];
|
|
@@ -251431,7 +251431,7 @@ function SpatialTooltipSubscriber(props) {
|
|
|
251431
251431
|
const obsId = getObsIdFromHoverData(hoverData);
|
|
251432
251432
|
if (obsId) {
|
|
251433
251433
|
[cellInfo, x2, y2] = [
|
|
251434
|
-
|
|
251434
|
+
getObsInfo2(obsId, hoverMode),
|
|
251435
251435
|
...hoverCoord || [null, null]
|
|
251436
251436
|
];
|
|
251437
251437
|
}
|
|
@@ -251439,14 +251439,14 @@ function SpatialTooltipSubscriber(props) {
|
|
|
251439
251439
|
const obsId = getObsIdFromHoverData(hoverData);
|
|
251440
251440
|
if (obsId) {
|
|
251441
251441
|
[cellInfo, x2, y2] = [
|
|
251442
|
-
|
|
251442
|
+
getObsInfo2(obsId, hoverMode),
|
|
251443
251443
|
...hoverCoord || [null, null]
|
|
251444
251444
|
];
|
|
251445
251445
|
}
|
|
251446
|
-
} else if (!useHoverInfoForTooltip &&
|
|
251446
|
+
} else if (!useHoverInfoForTooltip && getObsInfo2 && obsHighlight) {
|
|
251447
251447
|
const obsId = obsHighlight;
|
|
251448
251448
|
[cellInfo, x2, y2] = [
|
|
251449
|
-
|
|
251449
|
+
getObsInfo2(obsId, hoverMode),
|
|
251450
251450
|
...viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsId) : [null, null]
|
|
251451
251451
|
];
|
|
251452
251452
|
}
|
|
@@ -251620,7 +251620,7 @@ function SpatialSubscriber$1(props) {
|
|
|
251620
251620
|
matrixObsIndex
|
|
251621
251621
|
]);
|
|
251622
251622
|
const cellSelection = useMemo$1(() => Array.from(cellColors.keys()), [cellColors]);
|
|
251623
|
-
const
|
|
251623
|
+
const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
|
|
251624
251624
|
const getTooltipObsInfo = useCallback((tooltipObsId, tooltipObsType) => {
|
|
251625
251625
|
if (tooltipObsType === HOVER_MODE.MOLECULE_LAYER) {
|
|
251626
251626
|
return {
|
|
@@ -251628,8 +251628,8 @@ function SpatialSubscriber$1(props) {
|
|
|
251628
251628
|
"Molecule Name": obsLocationsLabels[tooltipObsId]
|
|
251629
251629
|
};
|
|
251630
251630
|
}
|
|
251631
|
-
return
|
|
251632
|
-
}, [
|
|
251631
|
+
return getObsInfo2(tooltipObsId);
|
|
251632
|
+
}, [getObsInfo2, obsLocationsLabels]);
|
|
251633
251633
|
const [hoverData, setHoverData] = useState(null);
|
|
251634
251634
|
const [hoverCoord, setHoverCoord] = useState(null);
|
|
251635
251635
|
const [hoverMode, setHoverMode] = useState(null);
|
|
@@ -251757,7 +251757,7 @@ function SpatialSubscriber$1(props) {
|
|
|
251757
251757
|
orbitAxis
|
|
251758
251758
|
}, setViewState, originalViewState, imageLayerDefs: imageLayers, obsSegmentationsLayerDefs: cellsLayer, obsLocationsLayerDefs: moleculesLayer, neighborhoodLayerDefs: neighborhoodsLayer, obsLocationsIndex, obsSegmentationsIndex, obsLocations, obsLocationsLabels, obsLocationsFeatureIndex, hasSegmentations: hasSegmentationsData, obsSegmentations, obsSegmentationsType, obsCentroids, obsCentroidsIndex, cellFilter, cellSelection, cellHighlight, cellColors, neighborhoods, imageLayerLoaders: resolutionFilteredImageLayerLoaders, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, setHoverInfo, setMoleculeHighlight, setComponentHover: () => {
|
|
251759
251759
|
setComponentHover(uuid2);
|
|
251760
|
-
}, updateViewInfo: setComponentViewInfo, imageLayerCallbacks, segmentationLayerCallbacks, spatialAxisFixed, geneExpressionColormap, geneExpressionColormapRange, expressionData: shiftedExpressionDataForBitmask, cellColorEncoding, getExpressionValue, theme, useFullResolutionImage, photometricInterpretation }), tooltipsVisible && jsxRuntimeExports.jsx(SpatialTooltipSubscriber, { parentUuid: uuid2, obsHighlight: cellHighlight || moleculeHighlight, width: width2, height: height2, getObsInfo: getTooltipObsInfo, useHoverInfoForTooltip, hoverData, hoverCoord, hoverMode, getObsIdFromHoverData, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, {
|
|
251760
|
+
}, updateViewInfo: setComponentViewInfo, imageLayerCallbacks, segmentationLayerCallbacks, spatialAxisFixed, geneExpressionColormap, geneExpressionColormapRange, expressionData: shiftedExpressionDataForBitmask, cellColorEncoding, getExpressionValue, theme, useFullResolutionImage, photometricInterpretation }), tooltipsVisible && jsxRuntimeExports.jsx(SpatialTooltipSubscriber$1, { parentUuid: uuid2, obsHighlight: cellHighlight || moleculeHighlight, width: width2, height: height2, getObsInfo: getTooltipObsInfo, useHoverInfoForTooltip, hoverData, hoverCoord, hoverMode, getObsIdFromHoverData, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, {
|
|
251761
251761
|
visible: true,
|
|
251762
251762
|
// Fix to dark theme due to black background of spatial plot.
|
|
251763
251763
|
theme: "dark",
|
|
@@ -252183,7 +252183,7 @@ class Spatial2 extends AbstractSpatialOrScatterplot {
|
|
|
252183
252183
|
}
|
|
252184
252184
|
return target2;
|
|
252185
252185
|
};
|
|
252186
|
-
const { obsPointsModelMatrix, obsPoints } = this.obsPointsData[layerScope]
|
|
252186
|
+
const { obsPointsModelMatrix, obsPoints } = this.obsPointsData?.[layerScope]?.src ?? {};
|
|
252187
252187
|
const hasZ = obsPoints?.shape?.[0] === 3;
|
|
252188
252188
|
const modelMatrix2 = obsPointsModelMatrix?.clone();
|
|
252189
252189
|
if (hasZ && typeof targetZ !== "number") {
|
|
@@ -253018,6 +253018,117 @@ class Spatial2 extends AbstractSpatialOrScatterplot {
|
|
|
253018
253018
|
}
|
|
253019
253019
|
}
|
|
253020
253020
|
const SpatialWrapper = forwardRef$1((props, deckRef) => jsxRuntimeExports.jsx(Spatial2, { ...props, deckRef }));
|
|
253021
|
+
function TooltipChild(props) {
|
|
253022
|
+
const { x: x2, y: y2, parentUuid, sourceUuid, width: width2, height: height2, info: info2, tooltipsVisible, tooltipCrosshairsVisible, featureType, featureLabelsMap } = props;
|
|
253023
|
+
const visible = parentUuid === sourceUuid ? tooltipsVisible : tooltipCrosshairsVisible;
|
|
253024
|
+
return visible ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: info2, featureType, featureLabelsMap }) }) : null;
|
|
253025
|
+
}
|
|
253026
|
+
function getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord) {
|
|
253027
|
+
const hasObsCoordinates = useHoverInfoForTooltip ? true : obsIndex && obsLocations;
|
|
253028
|
+
if (!hasObsCoordinates)
|
|
253029
|
+
return null;
|
|
253030
|
+
const obsI = obsIndex?.indexOf(obsHighlight);
|
|
253031
|
+
if (obsI < 0)
|
|
253032
|
+
return null;
|
|
253033
|
+
if (useHoverInfoForTooltip) {
|
|
253034
|
+
return [projectedHoverCoord?.[0], projectedHoverCoord?.[1]];
|
|
253035
|
+
}
|
|
253036
|
+
const obsCoord = [obsLocations?.data[0][obsI] || 0, obsLocations?.data[1][obsI] || 0, 0];
|
|
253037
|
+
const projectedObsCoord = viewInfo?.project(obsCoord);
|
|
253038
|
+
return [projectedObsCoord?.[0], projectedObsCoord?.[1]];
|
|
253039
|
+
}
|
|
253040
|
+
function getObsInfo(obsSetsData, obsType, obsId) {
|
|
253041
|
+
let result = {
|
|
253042
|
+
[`${capitalize$3(obsType)} ID`]: obsId
|
|
253043
|
+
};
|
|
253044
|
+
if (obsSetsData?.obsSetsMembership) {
|
|
253045
|
+
const obsMembership = obsSetsData.obsSetsMembership.get(obsId) || [];
|
|
253046
|
+
if (obsMembership) {
|
|
253047
|
+
result = {
|
|
253048
|
+
...result,
|
|
253049
|
+
...Object.fromEntries(obsMembership.flatMap((path2) => path2.slice(1).map((pathEl, elLevel) => [
|
|
253050
|
+
`${path2[0]}${path2.length > 2 ? ` L${elLevel + 1}` : ""}`,
|
|
253051
|
+
pathEl
|
|
253052
|
+
])))
|
|
253053
|
+
};
|
|
253054
|
+
}
|
|
253055
|
+
}
|
|
253056
|
+
return result;
|
|
253057
|
+
}
|
|
253058
|
+
function SpatialTooltipSubscriber(props) {
|
|
253059
|
+
const {
|
|
253060
|
+
parentUuid,
|
|
253061
|
+
width: width2,
|
|
253062
|
+
height: height2,
|
|
253063
|
+
hoverCoord,
|
|
253064
|
+
featureType,
|
|
253065
|
+
featureLabelsMap,
|
|
253066
|
+
// Points
|
|
253067
|
+
obsPoints,
|
|
253068
|
+
pointLayerScopes,
|
|
253069
|
+
pointLayerCoordination,
|
|
253070
|
+
// Spots
|
|
253071
|
+
obsSpots,
|
|
253072
|
+
spotLayerScopes,
|
|
253073
|
+
spotLayerCoordination,
|
|
253074
|
+
// Segmentations
|
|
253075
|
+
obsSegmentationsLocations,
|
|
253076
|
+
segmentationLayerScopes,
|
|
253077
|
+
segmentationChannelScopesByLayer,
|
|
253078
|
+
segmentationChannelCoordination,
|
|
253079
|
+
obsSegmentationsSetsData,
|
|
253080
|
+
// Images
|
|
253081
|
+
imageLayerScopes,
|
|
253082
|
+
imageLayerCoordination
|
|
253083
|
+
} = props;
|
|
253084
|
+
const sourceUuid = useComponentHover();
|
|
253085
|
+
const viewInfo = useComponentViewInfo(parentUuid);
|
|
253086
|
+
const useHoverInfoForTooltip = sourceUuid === parentUuid && hoverCoord;
|
|
253087
|
+
const projectedHoverCoord = useHoverInfoForTooltip ? viewInfo?.project(hoverCoord) : null;
|
|
253088
|
+
let yOffset = -30;
|
|
253089
|
+
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [projectedHoverCoord && imageLayerScopes?.map((layerScope) => {
|
|
253090
|
+
const { pixelHighlight, tooltipsVisible, spatialLayerVisible } = imageLayerCoordination?.[0]?.[layerScope] || {};
|
|
253091
|
+
return tooltipsVisible && pixelHighlight && spatialLayerVisible ? jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, width: width2, height: height2, info: {
|
|
253092
|
+
"Pixel Value": JSON.stringify(pixelHighlight)
|
|
253093
|
+
}, x: projectedHoverCoord?.[0], y: projectedHoverCoord?.[1] + (yOffset += 30), featureType, featureLabelsMap }, layerScope) : null;
|
|
253094
|
+
}), segmentationLayerScopes?.flatMap((layerScope) => segmentationChannelScopesByLayer?.[layerScope]?.map((channelScope) => {
|
|
253095
|
+
const { obsType, obsHighlight, tooltipsVisible, tooltipCrosshairsVisible, spatialChannelVisible } = segmentationChannelCoordination?.[0]?.[layerScope]?.[channelScope] || {};
|
|
253096
|
+
const obsSetsData = obsSegmentationsSetsData?.[layerScope]?.[channelScope];
|
|
253097
|
+
const obsInfo = getObsInfo(obsSetsData, obsType, obsHighlight);
|
|
253098
|
+
if (!obsHighlight || !spatialChannelVisible || !tooltipsVisible && !tooltipCrosshairsVisible)
|
|
253099
|
+
return null;
|
|
253100
|
+
const { obsIndex, obsLocations } = obsSegmentationsLocations?.[layerScope]?.[channelScope] || {};
|
|
253101
|
+
const xy = getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord);
|
|
253102
|
+
if (!xy)
|
|
253103
|
+
return null;
|
|
253104
|
+
const [x2, y2] = xy;
|
|
253105
|
+
return jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, tooltipsVisible, tooltipCrosshairsVisible, width: width2, height: height2, info: obsInfo, x: x2, y: y2 + (yOffset += 20 + 15 * Object.keys(obsInfo).length), featureType, featureLabelsMap }, `${layerScope}-${channelScope}`);
|
|
253106
|
+
})), spotLayerScopes?.map((layerScope) => {
|
|
253107
|
+
const { obsType, obsHighlight, tooltipsVisible, tooltipCrosshairsVisible, spatialLayerVisible } = spotLayerCoordination?.[0]?.[layerScope] || {};
|
|
253108
|
+
if (!obsHighlight || !spatialLayerVisible || !tooltipsVisible && !tooltipCrosshairsVisible)
|
|
253109
|
+
return null;
|
|
253110
|
+
const { obsIndex, obsSpots: obsLocations } = obsSpots?.[layerScope] || {};
|
|
253111
|
+
const xy = getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord);
|
|
253112
|
+
if (!xy)
|
|
253113
|
+
return null;
|
|
253114
|
+
const [x2, y2] = xy;
|
|
253115
|
+
return jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, tooltipsVisible, tooltipCrosshairsVisible, width: width2, height: height2, info: {
|
|
253116
|
+
[`${capitalize$3(obsType)} ID`]: obsHighlight
|
|
253117
|
+
}, x: x2, y: y2 + (yOffset += 30), featureType, featureLabelsMap }, layerScope);
|
|
253118
|
+
}), pointLayerScopes?.map((layerScope) => {
|
|
253119
|
+
const { obsType, obsHighlight, tooltipsVisible, tooltipCrosshairsVisible, spatialLayerVisible } = pointLayerCoordination?.[0]?.[layerScope] || {};
|
|
253120
|
+
if (!obsHighlight || !spatialLayerVisible || !tooltipsVisible && !tooltipCrosshairsVisible)
|
|
253121
|
+
return null;
|
|
253122
|
+
const { obsIndex, obsPoints: obsLocations } = obsPoints?.[layerScope] || {};
|
|
253123
|
+
const xy = getXY(obsHighlight, viewInfo, obsIndex, obsLocations, useHoverInfoForTooltip, projectedHoverCoord);
|
|
253124
|
+
if (!xy)
|
|
253125
|
+
return null;
|
|
253126
|
+
const [x2, y2] = xy;
|
|
253127
|
+
return jsxRuntimeExports.jsx(TooltipChild, { parentUuid, sourceUuid, tooltipsVisible, tooltipCrosshairsVisible, width: width2, height: height2, info: {
|
|
253128
|
+
[`${capitalize$3(obsType)} ID`]: obsHighlight
|
|
253129
|
+
}, x: x2, y: y2 + (yOffset += 30), featureType, featureLabelsMap }, layerScope);
|
|
253130
|
+
})] });
|
|
253131
|
+
}
|
|
253021
253132
|
class ErrorBoundary extends React__default.Component {
|
|
253022
253133
|
constructor(props) {
|
|
253023
253134
|
super(props);
|
|
@@ -253036,12 +253147,12 @@ class ErrorBoundary extends React__default.Component {
|
|
|
253036
253147
|
}
|
|
253037
253148
|
}
|
|
253038
253149
|
const LazySpatialThree = React__default.lazy(async () => {
|
|
253039
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
253150
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-CgBhVc6k.js");
|
|
253040
253151
|
return { default: SpatialWrapper2 };
|
|
253041
253152
|
});
|
|
253042
253153
|
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 }) }) }) }));
|
|
253043
253154
|
const LazySpatialAccelerated = React__default.lazy(async () => {
|
|
253044
|
-
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-
|
|
253155
|
+
const { SpatialWrapper: SpatialWrapper2 } = await import("./index-CswI4QIv.js");
|
|
253045
253156
|
return { default: SpatialWrapper2 };
|
|
253046
253157
|
});
|
|
253047
253158
|
const SpatialAcceleratedAdapter = 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(LazySpatialAccelerated, { ...props }) }) }) }));
|
|
@@ -253530,7 +253641,29 @@ function SpatialSubscriber(props) {
|
|
|
253530
253641
|
target: [targetX2, targetY2, targetZ],
|
|
253531
253642
|
rotationX,
|
|
253532
253643
|
rotationOrbit
|
|
253533
|
-
} : DEFAULT_VIEW_STATE, orbitAxis, spatialAxisFixed, setViewState: isValidViewState ? setViewState : SET_VIEW_STATE_NOOP, originalViewState, spatialRenderingMode, updateViewInfo: setComponentViewInfo, delegateHover, obsPoints: obsPointsData, pointLayerScopes, pointLayerCoordination, pointMultiObsLabels: pointMultiObsLabelsData, obsSpots: obsSpotsData, spotLayerScopes, spotLayerCoordination, obsSpotsSets: obsSpotsSetsData, spotMatrixIndices: spotMultiIndicesData, spotMultiExpressionData: spotMultiExpressionNormData, segmentationLayerScopes, segmentationLayerCoordination, segmentationChannelScopesByLayer, segmentationChannelCoordination, obsSegmentations: obsSegmentationsData, obsSegmentationsLocations: obsSegmentationsLocationsData, obsSegmentationsSets: obsSegmentationsSetsData, segmentationMatrixIndices: segmentationMultiIndicesData, segmentationMultiExpressionData: segmentationMultiExpressionNormData, bitmaskValueIsIndex, images: imageData, imageLayerScopes, imageLayerCoordination, imageChannelScopesByLayer, imageChannelCoordination }), jsxRuntimeExports.jsx(
|
|
253644
|
+
} : DEFAULT_VIEW_STATE, orbitAxis, spatialAxisFixed, setViewState: isValidViewState ? setViewState : SET_VIEW_STATE_NOOP, originalViewState, spatialRenderingMode, updateViewInfo: setComponentViewInfo, delegateHover, obsPoints: obsPointsData, pointLayerScopes, pointLayerCoordination, pointMultiObsLabels: pointMultiObsLabelsData, obsSpots: obsSpotsData, spotLayerScopes, spotLayerCoordination, obsSpotsSets: obsSpotsSetsData, spotMatrixIndices: spotMultiIndicesData, spotMultiExpressionData: spotMultiExpressionNormData, segmentationLayerScopes, segmentationLayerCoordination, segmentationChannelScopesByLayer, segmentationChannelCoordination, obsSegmentations: obsSegmentationsData, obsSegmentationsLocations: obsSegmentationsLocationsData, obsSegmentationsSets: obsSegmentationsSetsData, segmentationMatrixIndices: segmentationMultiIndicesData, segmentationMultiExpressionData: segmentationMultiExpressionNormData, bitmaskValueIsIndex, images: imageData, imageLayerScopes, imageLayerCoordination, imageChannelScopesByLayer, imageChannelCoordination }), !disableTooltip && jsxRuntimeExports.jsx(SpatialTooltipSubscriber, {
|
|
253645
|
+
parentUuid: uuid2,
|
|
253646
|
+
width: width2,
|
|
253647
|
+
height: height2,
|
|
253648
|
+
hoverCoord,
|
|
253649
|
+
// Points
|
|
253650
|
+
obsPoints: obsPointsData,
|
|
253651
|
+
pointLayerScopes,
|
|
253652
|
+
pointLayerCoordination,
|
|
253653
|
+
// Spots
|
|
253654
|
+
obsSpots: obsSpotsData,
|
|
253655
|
+
spotLayerScopes,
|
|
253656
|
+
spotLayerCoordination,
|
|
253657
|
+
// Segmentations
|
|
253658
|
+
obsSegmentationsLocations: obsSegmentationsLocationsData,
|
|
253659
|
+
segmentationLayerScopes,
|
|
253660
|
+
segmentationChannelScopesByLayer,
|
|
253661
|
+
segmentationChannelCoordination,
|
|
253662
|
+
obsSegmentationsSetsData,
|
|
253663
|
+
// Images
|
|
253664
|
+
imageLayerScopes,
|
|
253665
|
+
imageLayerCoordination
|
|
253666
|
+
}), jsxRuntimeExports.jsx(
|
|
253534
253667
|
MultiLegend,
|
|
253535
253668
|
{
|
|
253536
253669
|
// Fix to dark theme due to black background of spatial plot.
|
|
@@ -254365,11 +254498,11 @@ const Heatmap$1 = forwardRef$1((props, deckRef) => {
|
|
|
254365
254498
|
});
|
|
254366
254499
|
Heatmap$1.displayName = "Heatmap";
|
|
254367
254500
|
function HeatmapTooltipSubscriber(props) {
|
|
254368
|
-
const { parentUuid, width: width2, height: height2, transpose: transpose2, getObsInfo, getFeatureInfo, obsHighlight, featureHighlight, featureType, featureLabelsMap } = props;
|
|
254501
|
+
const { parentUuid, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight, featureHighlight, featureType, featureLabelsMap } = props;
|
|
254369
254502
|
const sourceUuid = useComponentHover();
|
|
254370
254503
|
const viewInfo = useComponentViewInfo(parentUuid);
|
|
254371
|
-
const [cellInfo, cellCoord] = obsHighlight &&
|
|
254372
|
-
|
|
254504
|
+
const [cellInfo, cellCoord] = obsHighlight && getObsInfo2 ? [
|
|
254505
|
+
getObsInfo2(obsHighlight),
|
|
254373
254506
|
viewInfo && viewInfo.projectFromId ? viewInfo.projectFromId(obsHighlight, null)[transpose2 ? 0 : 1] : null
|
|
254374
254507
|
] : [null, null];
|
|
254375
254508
|
const [geneInfo, geneCoord] = featureHighlight && getFeatureInfo ? [
|
|
@@ -254477,7 +254610,7 @@ function HeatmapSubscriber(props) {
|
|
|
254477
254610
|
cellSetSelection,
|
|
254478
254611
|
obsIndex
|
|
254479
254612
|
]);
|
|
254480
|
-
const
|
|
254613
|
+
const getObsInfo2 = useGetObsInfo(observationsLabel, obsLabelsTypes, obsLabelsData, obsSetsMembership);
|
|
254481
254614
|
const getObsMembership = useGetObsMembership(obsSetsMembership);
|
|
254482
254615
|
const getFeatureInfo = useCallback((featureId2) => {
|
|
254483
254616
|
if (featureId2) {
|
|
@@ -254517,7 +254650,7 @@ function HeatmapSubscriber(props) {
|
|
|
254517
254650
|
setTargetY(target2[1]);
|
|
254518
254651
|
}, colormapRange: geneExpressionColormapRange, setColormapRange: setGeneExpressionColormapRange, height: height2, width: width2, theme, uuid: uuid2, uint8ObsFeatureMatrix: uint8ObsFeatureMatrix?.data, cellColors, colormap: geneExpressionColormap, setIsRendering, setCellHighlight, setGeneHighlight, featureLabelsMap, obsIndex, featureIndex, setTrackHighlight, setComponentHover: () => {
|
|
254519
254652
|
setComponentHover(uuid2);
|
|
254520
|
-
}, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid2, width: width2, height: height2, transpose: transpose2, getObsInfo, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
|
|
254653
|
+
}, updateViewInfo: setComponentViewInfo, observationsTitle, variablesTitle, variablesDashes: false, observationsDashes: false, cellColorLabels, useDevicePixels: true, onHeatmapClick, setColorEncoding: setHoveredColorEncoding }), tooltipsVisible && jsxRuntimeExports.jsx(HeatmapTooltipSubscriber, { parentUuid: uuid2, width: width2, height: height2, transpose: transpose2, getObsInfo: getObsInfo2, getFeatureInfo, obsHighlight: cellHighlight, featureHighlight: geneHighlight, featureType, featureLabelsMap }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: "geneExpression", considerSelections: false, featureSelection: geneSelection, obsSetSelection: cellSetSelection, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: obsFeatureMatrixExtent })] });
|
|
254521
254654
|
}
|
|
254522
254655
|
function _classCallCheck(a2, n3) {
|
|
254523
254656
|
if (!(a2 instanceof n3)) throw new TypeError("Cannot call a class as a function");
|
|
@@ -266159,7 +266292,7 @@ function HiglassGlobalStyles(props) {
|
|
|
266159
266292
|
}
|
|
266160
266293
|
register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
|
|
266161
266294
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
|
266162
|
-
const { HiGlassComponent } = await import("./higlass-
|
|
266295
|
+
const { HiGlassComponent } = await import("./higlass-CBYKVvZ1.js");
|
|
266163
266296
|
return { default: HiGlassComponent };
|
|
266164
266297
|
});
|
|
266165
266298
|
const HG_SIZE = 800;
|
|
@@ -269106,7 +269239,7 @@ function NeuroglancerGlobalStyles(props) {
|
|
|
269106
269239
|
const { classes: classes2 } = props;
|
|
269107
269240
|
return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
|
|
269108
269241
|
}
|
|
269109
|
-
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-
|
|
269242
|
+
const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-CQ8kS1mc.js"));
|
|
269110
269243
|
function createWorker() {
|
|
269111
269244
|
return new WorkerFactory();
|
|
269112
269245
|
}
|
|
@@ -367009,7 +367142,14 @@ function tableToIndexColumnName(arrowTable) {
|
|
|
367009
367142
|
if (pandasMetadata) {
|
|
367010
367143
|
const pandasMetadataJson = JSON.parse(pandasMetadata);
|
|
367011
367144
|
if (Array.isArray(pandasMetadataJson.index_columns) && pandasMetadataJson.index_columns.length === 1) {
|
|
367012
|
-
|
|
367145
|
+
const result = pandasMetadataJson.index_columns?.[0];
|
|
367146
|
+
if (typeof result === "string") {
|
|
367147
|
+
return result;
|
|
367148
|
+
}
|
|
367149
|
+
if (result?.kind === "range") {
|
|
367150
|
+
return null;
|
|
367151
|
+
}
|
|
367152
|
+
throw new Error("Unexpected type in the pandas metadata index_columns array.");
|
|
367013
367153
|
}
|
|
367014
367154
|
throw new Error("Expected a single index column in the pandas metadata.");
|
|
367015
367155
|
}
|
|
@@ -367156,7 +367296,14 @@ class SpatialDataTableSource extends AnnDataSource {
|
|
|
367156
367296
|
if (!tailBytes || tailBytes.length < TAIL_LENGTH) {
|
|
367157
367297
|
throw new Error(`Failed to load parquet footerLength for ${parquetPath}`);
|
|
367158
367298
|
}
|
|
367159
|
-
const footerLength = new DataView(
|
|
367299
|
+
const footerLength = new DataView(
|
|
367300
|
+
tailBytes.buffer,
|
|
367301
|
+
// It is possible that tailBytes is a subarray,
|
|
367302
|
+
// e.g., if the ArrayBuffer was created inside
|
|
367303
|
+
// FlatFileSystemStore.getRange.
|
|
367304
|
+
tailBytes.byteOffset,
|
|
367305
|
+
tailBytes.byteLength
|
|
367306
|
+
).getInt32(0, true);
|
|
367160
367307
|
const magic = new TextDecoder().decode(tailBytes.slice(4, 8));
|
|
367161
367308
|
if (magic !== "PAR1") {
|
|
367162
367309
|
throw new Error("Invalid Parquet file: missing PAR1 magic number");
|
|
@@ -373108,6 +373255,36 @@ function getDataView(source2) {
|
|
|
373108
373255
|
}
|
|
373109
373256
|
return null;
|
|
373110
373257
|
}
|
|
373258
|
+
function toFloat32Array(input) {
|
|
373259
|
+
if (input instanceof Float32Array) {
|
|
373260
|
+
return input;
|
|
373261
|
+
}
|
|
373262
|
+
if (input instanceof BigInt64Array) {
|
|
373263
|
+
const floats = new Float32Array(input.length);
|
|
373264
|
+
for (let i2 = 0; i2 < input.length; i2++) {
|
|
373265
|
+
floats[i2] = Number(input[i2]);
|
|
373266
|
+
}
|
|
373267
|
+
return floats;
|
|
373268
|
+
}
|
|
373269
|
+
if (input instanceof Float64Array) {
|
|
373270
|
+
return new Float32Array(input);
|
|
373271
|
+
}
|
|
373272
|
+
if (input instanceof Array) {
|
|
373273
|
+
return new Float32Array(input);
|
|
373274
|
+
}
|
|
373275
|
+
log$b.warn("toFloat32Array expected Float32Array, Float64Array, BigInt64Array, or Array input");
|
|
373276
|
+
return new Float32Array(input);
|
|
373277
|
+
}
|
|
373278
|
+
function downcastIfBigIntArray(input) {
|
|
373279
|
+
if (input instanceof BigInt64Array) {
|
|
373280
|
+
const downcasted = new Int32Array(input.length);
|
|
373281
|
+
for (let i2 = 0; i2 < input.length; i2++) {
|
|
373282
|
+
downcasted[i2] = Number(input[i2]);
|
|
373283
|
+
}
|
|
373284
|
+
return downcasted;
|
|
373285
|
+
}
|
|
373286
|
+
return input;
|
|
373287
|
+
}
|
|
373111
373288
|
const shapesElementRegex = /^shapes\/([^/]*)$/;
|
|
373112
373289
|
const shapesSubElementRegex = /^shapes\/([^/]*)\/(.*)$/;
|
|
373113
373290
|
function getShapesElementPath(arrPath) {
|
|
@@ -373133,26 +373310,6 @@ function getParquetPath$1(arrPath) {
|
|
|
373133
373310
|
}
|
|
373134
373311
|
throw new Error(`Cannot determine parquet path for shapes array path: ${arrPath}`);
|
|
373135
373312
|
}
|
|
373136
|
-
function toFloat32Array(input) {
|
|
373137
|
-
if (input instanceof Float32Array) {
|
|
373138
|
-
return input;
|
|
373139
|
-
}
|
|
373140
|
-
if (input instanceof BigInt64Array) {
|
|
373141
|
-
const floats = new Float32Array(input.length);
|
|
373142
|
-
for (let i2 = 0; i2 < input.length; i2++) {
|
|
373143
|
-
floats[i2] = Number(input[i2]);
|
|
373144
|
-
}
|
|
373145
|
-
return floats;
|
|
373146
|
-
}
|
|
373147
|
-
if (input instanceof Float64Array) {
|
|
373148
|
-
return new Float32Array(input);
|
|
373149
|
-
}
|
|
373150
|
-
if (input instanceof Array) {
|
|
373151
|
-
return new Float32Array(input);
|
|
373152
|
-
}
|
|
373153
|
-
log$b.warn("toFloat32Array expected Float32Array, Float64Array, BigInt64Array, or Array input");
|
|
373154
|
-
return new Float32Array(input);
|
|
373155
|
-
}
|
|
373156
373313
|
class SpatialDataShapesSource extends SpatialDataTableSource {
|
|
373157
373314
|
/**
|
|
373158
373315
|
*
|
|
@@ -373240,11 +373397,17 @@ class SpatialDataShapesSource extends SpatialDataTableSource {
|
|
|
373240
373397
|
_decodeWkbColumnFlat(geometryColumn) {
|
|
373241
373398
|
const wkb = new WKB();
|
|
373242
373399
|
const arr = geometryColumn.toArray();
|
|
373243
|
-
return arr.map((geom) =>
|
|
373244
|
-
|
|
373245
|
-
|
|
373246
|
-
|
|
373247
|
-
|
|
373400
|
+
return arr.map((geom) => {
|
|
373401
|
+
const coords = (
|
|
373402
|
+
/** @type {any} */
|
|
373403
|
+
wkb.readGeometry(geom).getFlatCoordinates()
|
|
373404
|
+
);
|
|
373405
|
+
const downcastedCoords = (
|
|
373406
|
+
/** @type {[number, number]} */
|
|
373407
|
+
coords.map((coord) => Number(coord))
|
|
373408
|
+
);
|
|
373409
|
+
return downcastedCoords;
|
|
373410
|
+
});
|
|
373248
373411
|
}
|
|
373249
373412
|
/**
|
|
373250
373413
|
* Helper to decode WKB geometry column as nested coordinates (for polygons).
|
|
@@ -373261,7 +373424,12 @@ class SpatialDataShapesSource extends SpatialDataTableSource {
|
|
|
373261
373424
|
/** @type {any} */
|
|
373262
373425
|
wkb.readGeometry(geom).getCoordinates()
|
|
373263
373426
|
);
|
|
373264
|
-
|
|
373427
|
+
const firstPolygon = coords[0];
|
|
373428
|
+
for (let i2 = 0; i2 < firstPolygon.length; i2++) {
|
|
373429
|
+
firstPolygon[i2] = /** @type {[number, number]} */
|
|
373430
|
+
firstPolygon[i2].map((coord) => Number(coord));
|
|
373431
|
+
}
|
|
373432
|
+
return firstPolygon;
|
|
373265
373433
|
});
|
|
373266
373434
|
}
|
|
373267
373435
|
/**
|
|
@@ -373421,7 +373589,7 @@ class SpatialDataPointsSource extends SpatialDataTableSource {
|
|
|
373421
373589
|
if (!column2) {
|
|
373422
373590
|
throw new Error(`Column "${name2}" not found in the arrow table.`);
|
|
373423
373591
|
}
|
|
373424
|
-
return column2.toArray();
|
|
373592
|
+
return downcastIfBigIntArray(column2.toArray());
|
|
373425
373593
|
});
|
|
373426
373594
|
return {
|
|
373427
373595
|
shape: [axisColumnArrs.length, arrowTable.numRows],
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { bQ, bO, bM, bP, bN, bL, bR } from "./index-
|
|
1
|
+
import { bQ, bO, bM, bP, bN, bL, bR } from "./index-DeAJAaTB.js";
|
|
2
2
|
import { useComplexCoordination, useComplexCoordinationSecondary, useCoordination, useCoordinationScopes, useCoordinationScopesBy, useGridItemSize, useMultiCoordinationScopesNonNull, useMultiCoordinationScopesSecondaryNonNull, usePageModeView } from "@vitessce/vit-s";
|
|
3
3
|
export {
|
|
4
4
|
bQ as PluginAsyncFunction,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-SxljTded.js";
|
|
2
|
-
import { aF as getDefaultExportFromCjs, aW as BaseDecoder, aX as LercParameters, aY as LercAddCompression } from "./index-
|
|
2
|
+
import { aF as getDefaultExportFromCjs, aW as BaseDecoder, aX as LercParameters, aY as LercAddCompression } from "./index-DeAJAaTB.js";
|
|
3
3
|
var LercDecode = { exports: {} };
|
|
4
4
|
var hasRequiredLercDecode;
|
|
5
5
|
function requireLercDecode() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { bG as MeshDistanceMaterial, bH as MeshDepthMaterial, bI as RGBADepthPacking, ae as UniformsUtils, bJ as ShaderChunk, a9 as InstancedBufferGeometry, a8 as Sphere, a7 as Box3, am as BackSide, u as DoubleSide, z as Mesh, a5 as FrontSide, v as MeshBasicMaterial, C as Color, e as Vector3, M as Matrix4, V as Vector2, ap as Matrix3, ag as Vector4, a1 as Texture, l as LinearFilter, aD as PlaneGeometry, x as BufferGeometry, aa as Float32BufferAttribute, bK as InstancedBufferAttribute } from "./index-
|
|
1
|
+
import { bG as MeshDistanceMaterial, bH as MeshDepthMaterial, bI as RGBADepthPacking, ae as UniformsUtils, bJ as ShaderChunk, a9 as InstancedBufferGeometry, a8 as Sphere, a7 as Box3, am as BackSide, u as DoubleSide, z as Mesh, a5 as FrontSide, v as MeshBasicMaterial, C as Color, e as Vector3, M as Matrix4, V as Vector2, ap as Matrix3, ag as Vector4, a1 as Texture, l as LinearFilter, aD as PlaneGeometry, x as BufferGeometry, aa as Float32BufferAttribute, bK as InstancedBufferAttribute } from "./index-DeAJAaTB.js";
|
|
2
2
|
function workerBootstrap() {
|
|
3
3
|
var modules = /* @__PURE__ */ Object.create(null);
|
|
4
4
|
function registerModule(ref, callback) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitessce/all",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.8",
|
|
4
4
|
"author": "HIDIVE Lab at HMS",
|
|
5
5
|
"homepage": "http://vitessce.io",
|
|
6
6
|
"repository": {
|
|
@@ -17,38 +17,38 @@
|
|
|
17
17
|
],
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"zod": "^3.21.4",
|
|
20
|
-
"@vitessce/styles": "3.8.
|
|
21
|
-
"@vitessce/constants-internal": "3.8.
|
|
22
|
-
"@vitessce/abstract": "3.8.
|
|
23
|
-
"@vitessce/error": "3.8.
|
|
24
|
-
"@vitessce/csv": "3.8.
|
|
25
|
-
"@vitessce/description": "3.8.
|
|
26
|
-
"@vitessce/feature-list": "3.8.
|
|
27
|
-
"@vitessce/genomic-profiles": "3.8.
|
|
28
|
-
"@vitessce/heatmap": "3.8.
|
|
29
|
-
"@vitessce/glb": "3.8.
|
|
30
|
-
"@vitessce/json": "3.8.
|
|
31
|
-
"@vitessce/layer-controller": "3.8.
|
|
32
|
-
"@vitessce/layer-controller-beta": "3.8.
|
|
33
|
-
"@vitessce/link-controller": "3.8.
|
|
34
|
-
"@vitessce/obs-sets-manager": "3.8.
|
|
35
|
-
"@vitessce/ome-tiff": "3.8.
|
|
36
|
-
"@vitessce/plugins": "3.8.
|
|
37
|
-
"@vitessce/scatterplot-embedding": "3.8.
|
|
38
|
-
"@vitessce/scatterplot-gating": "3.8.
|
|
39
|
-
"@vitessce/schemas": "3.8.
|
|
40
|
-
"@vitessce/spatial": "3.8.
|
|
41
|
-
"@vitessce/spatial-beta": "3.8.
|
|
42
|
-
"@vitessce/statistical-plots": "3.8.
|
|
43
|
-
"@vitessce/status": "3.8.
|
|
44
|
-
"@vitessce/vit-s": "3.8.
|
|
45
|
-
"@vitessce/zarr": "3.8.
|
|
46
|
-
"@vitessce/globals": "3.8.
|
|
47
|
-
"@vitessce/spatial-zarr": "3.8.
|
|
48
|
-
"@vitessce/spatial-three": "3.8.
|
|
49
|
-
"@vitessce/spatial-accelerated": "3.8.
|
|
50
|
-
"@vitessce/biomarker-select": "3.8.
|
|
51
|
-
"@vitessce/neuroglancer": "3.8.
|
|
20
|
+
"@vitessce/styles": "3.8.8",
|
|
21
|
+
"@vitessce/constants-internal": "3.8.8",
|
|
22
|
+
"@vitessce/abstract": "3.8.8",
|
|
23
|
+
"@vitessce/error": "3.8.8",
|
|
24
|
+
"@vitessce/csv": "3.8.8",
|
|
25
|
+
"@vitessce/description": "3.8.8",
|
|
26
|
+
"@vitessce/feature-list": "3.8.8",
|
|
27
|
+
"@vitessce/genomic-profiles": "3.8.8",
|
|
28
|
+
"@vitessce/heatmap": "3.8.8",
|
|
29
|
+
"@vitessce/glb": "3.8.8",
|
|
30
|
+
"@vitessce/json": "3.8.8",
|
|
31
|
+
"@vitessce/layer-controller": "3.8.8",
|
|
32
|
+
"@vitessce/layer-controller-beta": "3.8.8",
|
|
33
|
+
"@vitessce/link-controller": "3.8.8",
|
|
34
|
+
"@vitessce/obs-sets-manager": "3.8.8",
|
|
35
|
+
"@vitessce/ome-tiff": "3.8.8",
|
|
36
|
+
"@vitessce/plugins": "3.8.8",
|
|
37
|
+
"@vitessce/scatterplot-embedding": "3.8.8",
|
|
38
|
+
"@vitessce/scatterplot-gating": "3.8.8",
|
|
39
|
+
"@vitessce/schemas": "3.8.8",
|
|
40
|
+
"@vitessce/spatial": "3.8.8",
|
|
41
|
+
"@vitessce/spatial-beta": "3.8.8",
|
|
42
|
+
"@vitessce/statistical-plots": "3.8.8",
|
|
43
|
+
"@vitessce/status": "3.8.8",
|
|
44
|
+
"@vitessce/vit-s": "3.8.8",
|
|
45
|
+
"@vitessce/zarr": "3.8.8",
|
|
46
|
+
"@vitessce/globals": "3.8.8",
|
|
47
|
+
"@vitessce/spatial-zarr": "3.8.8",
|
|
48
|
+
"@vitessce/spatial-three": "3.8.8",
|
|
49
|
+
"@vitessce/spatial-accelerated": "3.8.8",
|
|
50
|
+
"@vitessce/biomarker-select": "3.8.8",
|
|
51
|
+
"@vitessce/neuroglancer": "3.8.8"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/react": "^18.0.28",
|