@vitessce/all 3.3.0 → 3.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{deflate-2f8bc9ba.js → deflate-71cf29f7.js} +1 -1
- package/dist/{hglib-c31dff2a.js → hglib-872ad77b.js} +1 -1
- package/dist/{index-bef59a57.js → index-e1f3ff32.js} +160 -101
- package/dist/index.js +1 -1
- package/dist/{jpeg-92e88990.js → jpeg-b2781c48.js} +1 -1
- package/dist/{lerc-7d9f0083.js → lerc-69270d36.js} +1 -1
- package/dist/{lzw-fddb0b81.js → lzw-3f41da4f.js} +1 -1
- package/dist/{packbits-f19f0a34.js → packbits-19b767c9.js} +1 -1
- package/dist/{raw-e3409593.js → raw-bd484be0.js} +1 -1
- package/dist/{webimage-e1f702e2.js → webimage-c810ada2.js} +1 -1
- package/package.json +22 -22
@@ -1,6 +1,6 @@
|
|
1
1
|
import React__default from "react";
|
2
2
|
import ReactDOM__default from "react-dom";
|
3
|
-
import { c as commonjsGlobal, o as objectAssign, g as getDefaultExportFromCjs, e as earcut, b as getAugmentedNamespace } from "./index-
|
3
|
+
import { c as commonjsGlobal, o as objectAssign, g as getDefaultExportFromCjs, e as earcut, b as getAugmentedNamespace } from "./index-e1f3ff32.js";
|
4
4
|
function _mergeNamespaces(n, m) {
|
5
5
|
for (var i = 0; i < m.length; i++) {
|
6
6
|
const e = m[i];
|
@@ -38827,7 +38827,7 @@ function Description(props2) {
|
|
38827
38827
|
return jsxRuntimeExports.jsxs("div", { className: classes.description, children: [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: classes.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)] });
|
38828
38828
|
}
|
38829
38829
|
function DescriptionSubscriber(props2) {
|
38830
|
-
const { coordinationScopes, description: descriptionOverride, removeGridComponent, theme, title: title2 = "Description" } = props2;
|
38830
|
+
const { coordinationScopes, description: descriptionOverride, removeGridComponent, theme, title: title2 = "Description", closeButtonVisible } = props2;
|
38831
38831
|
const loaders = useLoaders();
|
38832
38832
|
const [{ dataset, spatialImageLayer: rasterLayers }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.DESCRIPTION], coordinationScopes);
|
38833
38833
|
const [description2] = useDescription(loaders, dataset);
|
@@ -38849,7 +38849,7 @@ function DescriptionSubscriber(props2) {
|
|
38849
38849
|
}
|
38850
38850
|
return result;
|
38851
38851
|
}, [rasterLayers, imageLayerMeta, imageLayerLoaders]);
|
38852
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, isScroll: true, theme, isReady, children: jsxRuntimeExports.jsx(Description, { description: descriptionOverride || description2, metadata: metadata2 }) });
|
38852
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, removeGridComponent, isScroll: true, theme, isReady, children: jsxRuntimeExports.jsx(Description, { description: descriptionOverride || description2, metadata: metadata2 }) });
|
38853
38853
|
}
|
38854
38854
|
var _global = { exports: {} };
|
38855
38855
|
var global$6 = _global.exports = typeof window != "undefined" && window.Math == Math ? window : typeof self != "undefined" && self.Math == Math ? self : Function("return this")();
|
@@ -52163,7 +52163,7 @@ function SetsManager(props2) {
|
|
52163
52163
|
}
|
52164
52164
|
const packageJson = { name: "vitessce" };
|
52165
52165
|
function ObsSetsManagerSubscriber(props2) {
|
52166
|
-
const { coordinationScopes, removeGridComponent, theme, title: titleOverride } = props2;
|
52166
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: titleOverride } = props2;
|
52167
52167
|
const loaders = useLoaders();
|
52168
52168
|
const setWarning = useSetWarning();
|
52169
52169
|
const [{ dataset, obsType, obsSetSelection: cellSetSelection, obsSetExpansion: cellSetExpansion, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, obsColorEncoding: cellColorEncoding }, { setObsSetSelection: setCellSetSelection, setObsColorEncoding: setCellColorEncoding, setObsSetColor: setCellSetColor, setObsSetExpansion: setCellSetExpansion, setAdditionalObsSets: setAdditionalCellSets }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.OBS_SETS], coordinationScopes);
|
@@ -52556,7 +52556,7 @@ function ObsSetsManagerSubscriber(props2) {
|
|
52556
52556
|
setWarning,
|
52557
52557
|
theme
|
52558
52558
|
]);
|
52559
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, removeGridComponent, urls: urls2, theme, isReady, children: manager });
|
52559
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, children: manager });
|
52560
52560
|
}
|
52561
52561
|
function ascending$6(a2, b2) {
|
52562
52562
|
return a2 < b2 ? -1 : a2 > b2 ? 1 : a2 >= b2 ? 0 : NaN;
|
@@ -56356,7 +56356,7 @@ const jsonLoader = {
|
|
56356
56356
|
testText: isJSON,
|
56357
56357
|
parseTextSync: JSON.parse
|
56358
56358
|
};
|
56359
|
-
const version$5 = "8.8.
|
56359
|
+
const version$5 = "8.8.27";
|
56360
56360
|
const existingVersion = globalThis.deck && globalThis.deck.VERSION;
|
56361
56361
|
if (existingVersion && existingVersion !== version$5) {
|
56362
56362
|
throw new Error("deck.gl - multiple versions detected: ".concat(existingVersion, " vs ").concat(version$5));
|
@@ -57555,9 +57555,8 @@ function cssToDeviceRatio(gl) {
|
|
57555
57555
|
luma
|
57556
57556
|
} = gl;
|
57557
57557
|
if (gl.canvas && luma) {
|
57558
|
-
const
|
57559
|
-
|
57560
|
-
} = luma.canvasSizeInfo;
|
57558
|
+
const cachedSize = luma.canvasSizeInfo;
|
57559
|
+
const clientWidth = "clientWidth" in cachedSize ? cachedSize.clientWidth : gl.canvas.clientWidth;
|
57561
57560
|
return clientWidth ? gl.drawingBufferWidth / clientWidth : 1;
|
57562
57561
|
}
|
57563
57562
|
return 1;
|
@@ -57813,7 +57812,7 @@ function setDevicePixelRatio(gl, devicePixelRatio2, options) {
|
|
57813
57812
|
});
|
57814
57813
|
}
|
57815
57814
|
}
|
57816
|
-
const VERSION$8 = "8.5.
|
57815
|
+
const VERSION$8 = "8.5.21";
|
57817
57816
|
const STARTUP_MESSAGE = "set luma.log.level=1 (or higher) to trace rendering";
|
57818
57817
|
class StatsManager {
|
57819
57818
|
constructor() {
|
@@ -57934,7 +57933,6 @@ let Resource$1 = class Resource {
|
|
57934
57933
|
this._handle = this._createHandle();
|
57935
57934
|
}
|
57936
57935
|
this.byteLength = 0;
|
57937
|
-
this._initStats();
|
57938
57936
|
this._addStats();
|
57939
57937
|
}
|
57940
57938
|
toString() {
|
@@ -58070,9 +58068,6 @@ let Resource$1 = class Resource {
|
|
58070
58068
|
this.gl.luma = this.gl.luma || {};
|
58071
58069
|
return this.gl.luma;
|
58072
58070
|
}
|
58073
|
-
_initStats() {
|
58074
|
-
this.gl.stats = this.gl.stats || new StatsManager();
|
58075
|
-
}
|
58076
58071
|
_addStats() {
|
58077
58072
|
const name2 = this[Symbol.toStringTag];
|
58078
58073
|
const stats = lumaStats.get("Resource Counts");
|
@@ -58087,27 +58082,29 @@ let Resource$1 = class Resource {
|
|
58087
58082
|
}
|
58088
58083
|
_trackAllocatedMemory(bytes) {
|
58089
58084
|
let name2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this[Symbol.toStringTag];
|
58090
|
-
this.
|
58091
|
-
this.
|
58085
|
+
this._trackAllocatedMemoryForContext(bytes, name2);
|
58086
|
+
this._trackAllocatedMemoryForContext(bytes, name2, this.gl.canvas && this.gl.canvas.id);
|
58087
|
+
this.byteLength = bytes;
|
58092
58088
|
}
|
58093
|
-
|
58089
|
+
_trackAllocatedMemoryForContext(bytes) {
|
58094
58090
|
let name2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : this[Symbol.toStringTag];
|
58095
|
-
let
|
58091
|
+
let id2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "";
|
58092
|
+
const stats = lumaStats.get("Memory Usage".concat(id2));
|
58096
58093
|
stats.get("GPU Memory").addCount(bytes);
|
58097
58094
|
stats.get("".concat(name2, " Memory")).addCount(bytes);
|
58098
|
-
this.byteLength = bytes;
|
58099
58095
|
}
|
58100
58096
|
_trackDeallocatedMemory() {
|
58101
58097
|
let name2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this[Symbol.toStringTag];
|
58102
|
-
this.
|
58103
|
-
this.
|
58098
|
+
this._trackDeallocatedMemoryForContext(name2);
|
58099
|
+
this._trackDeallocatedMemoryForContext(name2, this.gl.canvas && this.gl.canvas.id);
|
58100
|
+
this.byteLength = 0;
|
58104
58101
|
}
|
58105
|
-
|
58102
|
+
_trackDeallocatedMemoryForContext() {
|
58106
58103
|
let name2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this[Symbol.toStringTag];
|
58107
|
-
let
|
58104
|
+
let id2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
|
58105
|
+
const stats = lumaStats.get("Memory Usage".concat(id2));
|
58108
58106
|
stats.get("GPU Memory").subtractCount(this.byteLength);
|
58109
58107
|
stats.get("".concat(name2, " Memory")).subtractCount(this.byteLength);
|
58110
|
-
this.byteLength = 0;
|
58111
58108
|
}
|
58112
58109
|
};
|
58113
58110
|
const ERR_TYPE_DEDUCTION = "Failed to deduce GL constant from typed array";
|
@@ -71323,6 +71320,7 @@ const picking = {
|
|
71323
71320
|
inject: {
|
71324
71321
|
"vs:DECKGL_FILTER_GL_POSITION": "\n // for picking depth values\n picking_setPickingAttribute(position.z / position.w);\n ",
|
71325
71322
|
"vs:DECKGL_FILTER_COLOR": "\n picking_setPickingColor(geometry.pickingColor);\n ",
|
71323
|
+
"fs:#decl": "\nuniform bool picking_uAttribute;\n ",
|
71326
71324
|
"fs:DECKGL_FILTER_COLOR": {
|
71327
71325
|
order: 99,
|
71328
71326
|
injection: "\n // use highlight color if this fragment belongs to the selected object.\n color = picking_filterHighlightColor(color);\n\n // use picking color if rendering to picking FBO.\n color = picking_filterPickingColor(color);\n "
|
@@ -72133,6 +72131,9 @@ class Viewport {
|
|
72133
72131
|
this.projectFlat = this.projectFlat.bind(this);
|
72134
72132
|
this.unprojectFlat = this.unprojectFlat.bind(this);
|
72135
72133
|
}
|
72134
|
+
get subViewports() {
|
72135
|
+
return null;
|
72136
|
+
}
|
72136
72137
|
get metersPerPixel() {
|
72137
72138
|
return this.distanceScales.metersPerUnit[2] / this.scale;
|
72138
72139
|
}
|
@@ -81024,7 +81025,7 @@ class Attribute extends DataColumn {
|
|
81024
81025
|
const {
|
81025
81026
|
startIndices
|
81026
81027
|
} = this;
|
81027
|
-
const vertexIndex = startIndices ? startIndices[row] : row;
|
81028
|
+
const vertexIndex = startIndices ? row < startIndices.length ? startIndices[row] : this.numInstances : row;
|
81028
81029
|
return vertexIndex * this.size;
|
81029
81030
|
}
|
81030
81031
|
getShaderAttributes() {
|
@@ -83668,7 +83669,7 @@ class Layer extends Component {
|
|
83668
83669
|
if (Array.isArray(highlightColor)) {
|
83669
83670
|
parameters.pickingHighlightColor = highlightColor;
|
83670
83671
|
}
|
83671
|
-
if (
|
83672
|
+
if (forceUpdate || highlightedObjectIndex !== oldProps.highlightedObjectIndex) {
|
83672
83673
|
parameters.pickingSelectedColor = Number.isFinite(highlightedObjectIndex) && highlightedObjectIndex >= 0 ? this.encodePickingColor(highlightedObjectIndex) : null;
|
83673
83674
|
}
|
83674
83675
|
this.setModuleParameters(parameters);
|
@@ -85031,7 +85032,7 @@ function interpolateQuad(quad2, ut, vt) {
|
|
85031
85032
|
}
|
85032
85033
|
const vs$g = "\n#define SHADER_NAME bitmap-layer-vertex-shader\n\nattribute vec2 texCoords;\nattribute vec3 positions;\nattribute vec3 positions64Low;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float coordinateConversion;\n\nconst vec3 pickingColor = vec3(1.0, 0.0, 0.0);\n\nvoid main(void) {\n geometry.worldPosition = positions;\n geometry.uv = texCoords;\n geometry.pickingColor = pickingColor;\n\n gl_Position = project_position_to_clipspace(positions, positions64Low, vec3(0.0), geometry.position);\n DECKGL_FILTER_GL_POSITION(gl_Position, geometry);\n\n vTexCoord = texCoords;\n\n if (coordinateConversion < -0.5) {\n vTexPos = geometry.position.xy + project_uCommonOrigin.xy;\n } else if (coordinateConversion > 0.5) {\n vTexPos = geometry.worldPosition.xy;\n }\n\n vec4 color = vec4(0.0);\n DECKGL_FILTER_COLOR(color, geometry);\n}\n";
|
85033
85034
|
const packUVsIntoRGB = "\nvec3 packUVsIntoRGB(vec2 uv) {\n // Extract the top 8 bits. We want values to be truncated down so we can add a fraction\n vec2 uv8bit = floor(uv * 256.);\n\n // Calculate the normalized remainders of u and v parts that do not fit into 8 bits\n // Scale and clamp to 0-1 range\n vec2 uvFraction = fract(uv * 256.);\n vec2 uvFraction4bit = floor(uvFraction * 16.);\n\n // Remainder can be encoded in blue channel, encode as 4 bits for pixel coordinates\n float fractions = uvFraction4bit.x + uvFraction4bit.y * 16.;\n\n return vec3(uv8bit, fractions) / 255.;\n}\n";
|
85034
|
-
const fs$i = "\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n return mix(transparentColor, vec4(color, 1.0), alpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n".concat(packUVsIntoRGB, "\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n");
|
85035
|
+
const fs$i = "\n#define SHADER_NAME bitmap-layer-fragment-shader\n\n#ifdef GL_ES\nprecision highp float;\n#endif\n\nuniform sampler2D bitmapTexture;\n\nvarying vec2 vTexCoord;\nvarying vec2 vTexPos;\n\nuniform float desaturate;\nuniform vec4 transparentColor;\nuniform vec3 tintColor;\nuniform float opacity;\n\nuniform float coordinateConversion;\nuniform vec4 bounds;\n\n/* projection utils */\nconst float TILE_SIZE = 512.0;\nconst float PI = 3.1415926536;\nconst float WORLD_SCALE = TILE_SIZE / PI / 2.0;\n\n// from degrees to Web Mercator\nvec2 lnglat_to_mercator(vec2 lnglat) {\n float x = lnglat.x;\n float y = clamp(lnglat.y, -89.9, 89.9);\n return vec2(\n radians(x) + PI,\n PI + log(tan(PI * 0.25 + radians(y) * 0.5))\n ) * WORLD_SCALE;\n}\n\n// from Web Mercator to degrees\nvec2 mercator_to_lnglat(vec2 xy) {\n xy /= WORLD_SCALE;\n return degrees(vec2(\n xy.x - PI,\n atan(exp(xy.y - PI)) * 2.0 - PI * 0.5\n ));\n}\n/* End projection utils */\n\n// apply desaturation\nvec3 color_desaturate(vec3 color) {\n float luminance = (color.r + color.g + color.b) * 0.333333333;\n return mix(color, vec3(luminance), desaturate);\n}\n\n// apply tint\nvec3 color_tint(vec3 color) {\n return color * tintColor;\n}\n\n// blend with background color\nvec4 apply_opacity(vec3 color, float alpha) {\n return mix(transparentColor, vec4(color, 1.0), alpha);\n}\n\nvec2 getUV(vec2 pos) {\n return vec2(\n (pos.x - bounds[0]) / (bounds[2] - bounds[0]),\n (pos.y - bounds[3]) / (bounds[1] - bounds[3])\n );\n}\n\n".concat(packUVsIntoRGB, "\n\nvoid main(void) {\n vec2 uv = vTexCoord;\n if (coordinateConversion < -0.5) {\n vec2 lnglat = mercator_to_lnglat(vTexPos);\n uv = getUV(lnglat);\n } else if (coordinateConversion > 0.5) {\n vec2 commonPos = lnglat_to_mercator(vTexPos);\n uv = getUV(commonPos);\n }\n vec4 bitmapColor = texture2D(bitmapTexture, uv);\n\n gl_FragColor = apply_opacity(color_tint(color_desaturate(bitmapColor.rgb)), bitmapColor.a * opacity);\n\n geometry.uv = uv;\n DECKGL_FILTER_COLOR(gl_FragColor, geometry);\n\n if (picking_uActive && !picking_uAttribute) {\n // Since instance information is not used, we can use picking color for pixel index\n gl_FragColor.rgb = packUVsIntoRGB(uv);\n }\n}\n");
|
85035
85036
|
const defaultProps$I = {
|
85036
85037
|
image: {
|
85037
85038
|
type: "image",
|
@@ -93171,18 +93172,22 @@ function getBoundingBox(viewport, zRange, extent2) {
|
|
93171
93172
|
}
|
93172
93173
|
function getCullBounds({
|
93173
93174
|
viewport,
|
93174
|
-
z: z2,
|
93175
|
+
z: z2 = 0,
|
93175
93176
|
cullRect
|
93176
93177
|
}) {
|
93177
|
-
const
|
93178
|
-
|
93179
|
-
|
93180
|
-
|
93181
|
-
height: height2
|
93182
|
-
} = cullRect;
|
93178
|
+
const subViewports = viewport.subViewports || [viewport];
|
93179
|
+
return subViewports.map((v) => getCullBoundsInViewport(v, z2, cullRect));
|
93180
|
+
}
|
93181
|
+
function getCullBoundsInViewport(viewport, z2, cullRect) {
|
93183
93182
|
if (!Array.isArray(z2)) {
|
93183
|
+
const x2 = cullRect.x - viewport.x;
|
93184
|
+
const y2 = cullRect.y - viewport.y;
|
93185
|
+
const {
|
93186
|
+
width: width2,
|
93187
|
+
height: height2
|
93188
|
+
} = cullRect;
|
93184
93189
|
const unprojectOption = {
|
93185
|
-
targetZ: z2
|
93190
|
+
targetZ: z2
|
93186
93191
|
};
|
93187
93192
|
const topLeft = viewport.unproject([x2, y2], unprojectOption);
|
93188
93193
|
const topRight = viewport.unproject([x2 + width2, y2], unprojectOption);
|
@@ -93190,16 +93195,8 @@ function getCullBounds({
|
|
93190
93195
|
const bottomRight = viewport.unproject([x2 + width2, y2 + height2], unprojectOption);
|
93191
93196
|
return [Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]), Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]), Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]), Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1])];
|
93192
93197
|
}
|
93193
|
-
const bounds0 =
|
93194
|
-
|
93195
|
-
z: z2[0],
|
93196
|
-
cullRect
|
93197
|
-
});
|
93198
|
-
const bounds1 = getCullBounds({
|
93199
|
-
viewport,
|
93200
|
-
z: z2[1],
|
93201
|
-
cullRect
|
93202
|
-
});
|
93198
|
+
const bounds0 = getCullBoundsInViewport(viewport, z2[0], cullRect);
|
93199
|
+
const bounds1 = getCullBoundsInViewport(viewport, z2[1], cullRect);
|
93203
93200
|
return [Math.min(bounds0[0], bounds1[0]), Math.min(bounds0[1], bounds1[1]), Math.max(bounds0[2], bounds1[2]), Math.max(bounds0[3], bounds1[3])];
|
93204
93201
|
}
|
93205
93202
|
function getIndexingCoords(bbox2, scale2, modelMatrixInverse) {
|
@@ -93429,7 +93426,7 @@ class Tileset2D {
|
|
93429
93426
|
return false;
|
93430
93427
|
}
|
93431
93428
|
if (cullRect && this._viewport) {
|
93432
|
-
const
|
93429
|
+
const boundsArr = this._getCullBounds({
|
93433
93430
|
viewport: this._viewport,
|
93434
93431
|
z: this._zRange,
|
93435
93432
|
cullRect
|
@@ -93437,12 +93434,20 @@ class Tileset2D {
|
|
93437
93434
|
const {
|
93438
93435
|
bbox: bbox2
|
93439
93436
|
} = tile;
|
93440
|
-
|
93441
|
-
|
93437
|
+
for (const [minX, minY, maxX, maxY2] of boundsArr) {
|
93438
|
+
let overlaps;
|
93439
|
+
if ("west" in bbox2) {
|
93440
|
+
overlaps = bbox2.west < maxX && bbox2.east > minX && bbox2.south < maxY2 && bbox2.north > minY;
|
93441
|
+
} else {
|
93442
|
+
const y02 = Math.min(bbox2.top, bbox2.bottom);
|
93443
|
+
const y12 = Math.max(bbox2.top, bbox2.bottom);
|
93444
|
+
overlaps = bbox2.left < maxX && bbox2.right > minX && y02 < maxY2 && y12 > minY;
|
93445
|
+
}
|
93446
|
+
if (overlaps) {
|
93447
|
+
return true;
|
93448
|
+
}
|
93442
93449
|
}
|
93443
|
-
|
93444
|
-
const y12 = Math.max(bbox2.top, bbox2.bottom);
|
93445
|
-
return bbox2.left < maxX && bbox2.right > minX && y02 < maxY2 && y12 > minY;
|
93450
|
+
return false;
|
93446
93451
|
}
|
93447
93452
|
return true;
|
93448
93453
|
}
|
@@ -93891,14 +93896,19 @@ class TileLayer extends CompositeLayer {
|
|
93891
93896
|
info: info2,
|
93892
93897
|
sourceLayer
|
93893
93898
|
}) {
|
93899
|
+
const sourceTile = sourceLayer.props.tile;
|
93894
93900
|
if (info2.picked) {
|
93895
|
-
info2.tile =
|
93901
|
+
info2.tile = sourceTile;
|
93896
93902
|
}
|
93903
|
+
info2.sourceTile = sourceTile;
|
93897
93904
|
return info2;
|
93898
93905
|
}
|
93899
93906
|
_updateAutoHighlight(info2) {
|
93900
|
-
|
93901
|
-
|
93907
|
+
const sourceTile = info2.sourceTile;
|
93908
|
+
if (sourceTile && sourceTile.layers) {
|
93909
|
+
for (const layer of sourceTile.layers) {
|
93910
|
+
layer.updateAutoHighlight(info2);
|
93911
|
+
}
|
93902
93912
|
}
|
93903
93913
|
}
|
93904
93914
|
renderLayers() {
|
@@ -106216,6 +106226,9 @@ class ScenegraphNode {
|
|
106216
106226
|
toString() {
|
106217
106227
|
return "{type: ScenegraphNode, id: ".concat(this.id, ")}");
|
106218
106228
|
}
|
106229
|
+
getBounds() {
|
106230
|
+
return null;
|
106231
|
+
}
|
106219
106232
|
setPosition(position2) {
|
106220
106233
|
assert$9(position2.length === 3, "setPosition requires vector argument");
|
106221
106234
|
this.position = position2;
|
@@ -106366,6 +106379,34 @@ class GroupNode extends ScenegraphNode {
|
|
106366
106379
|
this.removeAll();
|
106367
106380
|
super.delete();
|
106368
106381
|
}
|
106382
|
+
getBounds() {
|
106383
|
+
const result = [[Infinity, Infinity, Infinity], [-Infinity, -Infinity, -Infinity]];
|
106384
|
+
this.traverse((node, _ref3) => {
|
106385
|
+
let {
|
106386
|
+
worldMatrix
|
106387
|
+
} = _ref3;
|
106388
|
+
const bounds2 = node.getBounds();
|
106389
|
+
if (!bounds2) {
|
106390
|
+
return;
|
106391
|
+
}
|
106392
|
+
const [min2, max2] = bounds2;
|
106393
|
+
const center2 = new Vector3(min2).add(max2).divide([2, 2, 2]);
|
106394
|
+
worldMatrix.transformAsPoint(center2, center2);
|
106395
|
+
const halfSize = new Vector3(max2).subtract(min2).divide([2, 2, 2]);
|
106396
|
+
worldMatrix.transformAsVector(halfSize, halfSize);
|
106397
|
+
for (let v = 0; v < 8; v++) {
|
106398
|
+
const position2 = new Vector3(v & 1 ? -1 : 1, v & 2 ? -1 : 1, v & 4 ? -1 : 1).multiply(halfSize).add(center2);
|
106399
|
+
for (let i2 = 0; i2 < 3; i2++) {
|
106400
|
+
result[0][i2] = Math.min(result[0][i2], position2[i2]);
|
106401
|
+
result[1][i2] = Math.max(result[1][i2], position2[i2]);
|
106402
|
+
}
|
106403
|
+
}
|
106404
|
+
});
|
106405
|
+
if (!Number.isFinite(result[0][0])) {
|
106406
|
+
return null;
|
106407
|
+
}
|
106408
|
+
return result;
|
106409
|
+
}
|
106369
106410
|
traverse(visitor) {
|
106370
106411
|
let {
|
106371
106412
|
worldMatrix = new Matrix4()
|
@@ -106615,6 +106656,7 @@ class ModelNode extends ScenegraphNode {
|
|
106615
106656
|
} else {
|
106616
106657
|
this.model = new Model$1(gl, props2);
|
106617
106658
|
}
|
106659
|
+
this.bounds = null;
|
106618
106660
|
this.managedResources = props2.managedResources || [];
|
106619
106661
|
}
|
106620
106662
|
setProps(props2) {
|
@@ -106622,6 +106664,9 @@ class ModelNode extends ScenegraphNode {
|
|
106622
106664
|
this._setModelNodeProps(props2);
|
106623
106665
|
return this;
|
106624
106666
|
}
|
106667
|
+
getBounds() {
|
106668
|
+
return this.bounds;
|
106669
|
+
}
|
106625
106670
|
delete() {
|
106626
106671
|
if (this.model) {
|
106627
106672
|
this.model.delete();
|
@@ -106806,17 +106851,21 @@ function createGLTFModel(gl, options) {
|
|
106806
106851
|
const managedResources = [];
|
106807
106852
|
managedResources.push(...materialParser.generatedTextures);
|
106808
106853
|
managedResources.push(...Object.values(attributes).map((attribute) => attribute.buffer));
|
106809
|
-
const model = new ModelNode(gl,
|
106854
|
+
const model = new ModelNode(gl, {
|
106810
106855
|
id: id2,
|
106811
106856
|
drawMode,
|
106812
106857
|
vertexCount,
|
106813
106858
|
modules: [pbr],
|
106814
|
-
defines: materialParser.defines,
|
106815
106859
|
parameters: materialParser.parameters,
|
106816
106860
|
vs: addVersionToShader(gl, vs$7),
|
106817
106861
|
fs: addVersionToShader(gl, fs$7),
|
106818
|
-
managedResources
|
106819
|
-
|
106862
|
+
managedResources,
|
106863
|
+
...modelOptions,
|
106864
|
+
defines: {
|
106865
|
+
...materialParser.defines,
|
106866
|
+
...modelOptions.defines
|
106867
|
+
}
|
106868
|
+
});
|
106820
106869
|
model.setProps({
|
106821
106870
|
attributes
|
106822
106871
|
});
|
@@ -106911,13 +106960,15 @@ class GLTFInstantiator {
|
|
106911
106960
|
log$8.warn("getVertexCount() not found")();
|
106912
106961
|
}
|
106913
106962
|
createPrimitive(gltfPrimitive, i2, gltfMesh) {
|
106914
|
-
|
106963
|
+
const model = createGLTFModel(this.gl, Object.assign({
|
106915
106964
|
id: gltfPrimitive.name || "".concat(gltfMesh.name || gltfMesh.id, "-primitive-").concat(i2),
|
106916
106965
|
drawMode: gltfPrimitive.mode || 4,
|
106917
106966
|
vertexCount: gltfPrimitive.indices ? gltfPrimitive.indices.count : this.getVertexCount(gltfPrimitive.attributes),
|
106918
106967
|
attributes: this.createAttributes(gltfPrimitive.attributes, gltfPrimitive.indices),
|
106919
106968
|
material: gltfPrimitive.material
|
106920
106969
|
}, this.options));
|
106970
|
+
model.bounds = [gltfPrimitive.attributes.POSITION.min, gltfPrimitive.attributes.POSITION.max];
|
106971
|
+
return model;
|
106921
106972
|
}
|
106922
106973
|
createAttributes(attributes, indices) {
|
106923
106974
|
const loadedAttributes = {};
|
@@ -114845,15 +114896,11 @@ class Tile3DLayer extends CompositeLayer {
|
|
114845
114896
|
info: info2,
|
114846
114897
|
sourceLayer
|
114847
114898
|
}) {
|
114848
|
-
const
|
114849
|
-
|
114850
|
-
|
114851
|
-
const layerId = sourceLayer && sourceLayer.id;
|
114852
|
-
if (layerId) {
|
114853
|
-
const substr = layerId.substring(this.id.length + 1);
|
114854
|
-
const tileId = substr.substring(substr.indexOf("-") + 1);
|
114855
|
-
info2.object = layerMap[tileId] && layerMap[tileId].tile;
|
114899
|
+
const sourceTile = sourceLayer && sourceLayer.props.tile;
|
114900
|
+
if (info2.picked) {
|
114901
|
+
info2.object = sourceTile;
|
114856
114902
|
}
|
114903
|
+
info2.sourceTile = sourceTile;
|
114857
114904
|
return info2;
|
114858
114905
|
}
|
114859
114906
|
filterSubLayer({
|
@@ -114869,8 +114916,10 @@ class Tile3DLayer extends CompositeLayer {
|
|
114869
114916
|
return tile.selected && tile.viewportIds.includes(viewportId);
|
114870
114917
|
}
|
114871
114918
|
_updateAutoHighlight(info2) {
|
114872
|
-
|
114873
|
-
|
114919
|
+
const sourceTile = info2.sourceTile;
|
114920
|
+
const layerCache = this.state.layerMap[sourceTile === null || sourceTile === void 0 ? void 0 : sourceTile.id];
|
114921
|
+
if (layerCache && layerCache.layer) {
|
114922
|
+
layerCache.layer.updateAutoHighlight(info2);
|
114874
114923
|
}
|
114875
114924
|
}
|
114876
114925
|
async _loadTileset(tilesetUrl) {
|
@@ -156032,16 +156081,16 @@ async function getDecoder(fileDirectory) {
|
|
156032
156081
|
const Decoder = await importFn();
|
156033
156082
|
return new Decoder(fileDirectory);
|
156034
156083
|
}
|
156035
|
-
addDecoder([void 0, 1], () => import("./raw-
|
156036
|
-
addDecoder(5, () => import("./lzw-
|
156084
|
+
addDecoder([void 0, 1], () => import("./raw-bd484be0.js").then((m2) => m2.default));
|
156085
|
+
addDecoder(5, () => import("./lzw-3f41da4f.js").then((m2) => m2.default));
|
156037
156086
|
addDecoder(6, () => {
|
156038
156087
|
throw new Error("old style JPEG compression is not supported.");
|
156039
156088
|
});
|
156040
|
-
addDecoder(7, () => import("./jpeg-
|
156041
|
-
addDecoder([8, 32946], () => import("./deflate-
|
156042
|
-
addDecoder(32773, () => import("./packbits-
|
156043
|
-
addDecoder(34887, () => import("./lerc-
|
156044
|
-
addDecoder(50001, () => import("./webimage-
|
156089
|
+
addDecoder(7, () => import("./jpeg-b2781c48.js").then((m2) => m2.default));
|
156090
|
+
addDecoder([8, 32946], () => import("./deflate-71cf29f7.js").then((m2) => m2.default));
|
156091
|
+
addDecoder(32773, () => import("./packbits-19b767c9.js").then((m2) => m2.default));
|
156092
|
+
addDecoder(34887, () => import("./lerc-69270d36.js").then((m2) => m2.default));
|
156093
|
+
addDecoder(50001, () => import("./webimage-c810ada2.js").then((m2) => m2.default));
|
156045
156094
|
function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
|
156046
156095
|
return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
|
156047
156096
|
}
|
@@ -173918,6 +173967,8 @@ function EmbeddingScatterplotSubscriber(props2) {
|
|
173918
173967
|
const {
|
173919
173968
|
uuid,
|
173920
173969
|
coordinationScopes,
|
173970
|
+
closeButtonVisible,
|
173971
|
+
downloadButtonVisible,
|
173921
173972
|
removeGridComponent,
|
173922
173973
|
theme,
|
173923
173974
|
observationsLabelOverride,
|
@@ -174077,7 +174128,7 @@ function EmbeddingScatterplotSubscriber(props2) {
|
|
174077
174128
|
setTargetY(target2[1]);
|
174078
174129
|
setTargetZ(target2[2] || 0);
|
174079
174130
|
};
|
174080
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)}`, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, tooltipsVisible, setTooltipsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange }), children: [jsxRuntimeExports.jsx(ScatterplotWrapper, { ref: deckRef, uuid, theme, viewState: { zoom: zoom2, target: [targetX2, targetY2, targetZ] }, setViewState, originalViewState, obsEmbeddingIndex, obsEmbedding, cellFilter, cellSelection, cellHighlight, cellColors, cellSetPolygons, cellSetLabelSize, cellSetLabelsVisible, cellSetPolygonsVisible, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, cellRadius, cellOpacity, cellColorEncoding, geneExpressionColormap, geneExpressionColormapRange, setComponentHover: () => {
|
174131
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, tooltipsVisible, setTooltipsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange }), children: [jsxRuntimeExports.jsx(ScatterplotWrapper, { ref: deckRef, uuid, theme, viewState: { zoom: zoom2, target: [targetX2, targetY2, targetZ] }, setViewState, originalViewState, obsEmbeddingIndex, obsEmbedding, cellFilter, cellSelection, cellHighlight, cellColors, cellSetPolygons, cellSetLabelSize, cellSetLabelsVisible, cellSetPolygonsVisible, setCellFilter, setCellSelection: setCellSelectionProp, setCellHighlight, cellRadius, cellOpacity, cellColorEncoding, geneExpressionColormap, geneExpressionColormapRange, setComponentHover: () => {
|
174081
174132
|
setComponentHover(uuid);
|
174082
174133
|
}, updateViewInfo: setComponentViewInfo, getExpressionValue, getCellIsSelected }), tooltipsVisible && jsxRuntimeExports.jsx(ScatterplotTooltipSubscriber, { parentUuid: uuid, obsHighlight: cellHighlight, width: width2, height: height2, getObsInfo }), jsxRuntimeExports.jsx(Legend, { visible: true, theme, featureType, featureValueType, obsColorEncoding: cellColorEncoding, featureSelection: geneSelection, featureLabelsMap, featureValueColormap: geneExpressionColormap, featureValueColormapRange: geneExpressionColormapRange, extent: expressionExtents == null ? void 0 : expressionExtents[0] })] });
|
174083
174134
|
}
|
@@ -174126,6 +174177,8 @@ function GatingSubscriber(props2) {
|
|
174126
174177
|
const {
|
174127
174178
|
uuid,
|
174128
174179
|
coordinationScopes,
|
174180
|
+
closeButtonVisible,
|
174181
|
+
downloadButtonVisible,
|
174129
174182
|
removeGridComponent,
|
174130
174183
|
theme,
|
174131
174184
|
disableTooltip = false,
|
@@ -174320,7 +174373,7 @@ function GatingSubscriber(props2) {
|
|
174320
174373
|
gatingFeatureSelectionY,
|
174321
174374
|
obsType
|
174322
174375
|
]);
|
174323
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(obsType, cellsCount)}`, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, children: jsxRuntimeExports.jsx(GatingScatterplotOptions, { featureType, gatingFeatureSelectionX, setGatingFeatureSelectionX, gatingFeatureSelectionY, setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
|
174376
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(obsType, cellsCount)}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode, setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, children: jsxRuntimeExports.jsx(GatingScatterplotOptions, { featureType, gatingFeatureSelectionX, setGatingFeatureSelectionX, gatingFeatureSelectionY, setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
|
174324
174377
|
setFeatureValueTransform(newValue);
|
174325
174378
|
setTargetX(null);
|
174326
174379
|
setTargetY(null);
|
@@ -192120,7 +192173,7 @@ function SpatialTooltipSubscriber$1(props2) {
|
|
192120
192173
|
return cellInfo ? jsxRuntimeExports.jsx(Tooltip2D, { x: x2, y: y2, parentUuid, sourceUuid, parentWidth: width2, parentHeight: height2, children: jsxRuntimeExports.jsx(TooltipContent, { info: cellInfo }) }) : null;
|
192121
192174
|
}
|
192122
192175
|
function SpatialSubscriber$1(props2) {
|
192123
|
-
const { uuid, coordinationScopes, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, title: title2 = "Spatial", disable3d, globalDisable3d, useFullResolutionImage = {}, channelNamesVisible = false } = props2;
|
192176
|
+
const { uuid, coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, title: title2 = "Spatial", disable3d, globalDisable3d, useFullResolutionImage = {}, channelNamesVisible = false } = props2;
|
192124
192177
|
const loaders = useLoaders();
|
192125
192178
|
const setComponentHover = useSetComponentHover();
|
192126
192179
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
@@ -192369,7 +192422,7 @@ function SpatialSubscriber$1(props2) {
|
|
192369
192422
|
}
|
192370
192423
|
return [names, colors2];
|
192371
192424
|
}, [imageLayers, imageLayerLoaders]);
|
192372
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, removeGridComponent, isReady, options, children: [jsxRuntimeExports.jsx("div", { style: {
|
192425
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady, options, children: [jsxRuntimeExports.jsx("div", { style: {
|
192373
192426
|
position: "absolute",
|
192374
192427
|
bottom: "5px",
|
192375
192428
|
left: "5px",
|
@@ -193769,7 +193822,7 @@ function getHoverData(hoverInfo, layerType) {
|
|
193769
193822
|
return null;
|
193770
193823
|
}
|
193771
193824
|
function SpatialSubscriber(props2) {
|
193772
|
-
const { uuid, coordinationScopes: coordinationScopesRaw, coordinationScopesBy: coordinationScopesByRaw, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, disableTooltip = false, title: title2 = "Spatial" } = props2;
|
193825
|
+
const { uuid, coordinationScopes: coordinationScopesRaw, coordinationScopesBy: coordinationScopesByRaw, closeButtonVisible, downloadButtonVisible, removeGridComponent, observationsLabelOverride, subobservationsLabelOverride: subobservationsLabel = "molecule", theme, disableTooltip = false, title: title2 = "Spatial" } = props2;
|
193773
193826
|
const loaders = useLoaders();
|
193774
193827
|
const setComponentHover = useSetComponentHover();
|
193775
193828
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
@@ -194119,7 +194172,7 @@ function SpatialSubscriber(props2) {
|
|
194119
194172
|
var _a3;
|
194120
194173
|
return (_a3 = obsSegmentationsLocationsData == null ? void 0 : obsSegmentationsLocationsData[layerScope]) == null ? void 0 : _a3[channelScope];
|
194121
194174
|
})).length > 0;
|
194122
|
-
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, removeGridComponent, isReady, children: [jsxRuntimeExports.jsx(SpatialWrapper, {
|
194175
|
+
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: subtitle, isSpatial: true, urls: urls2, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady, children: [jsxRuntimeExports.jsx(SpatialWrapper, {
|
194123
194176
|
ref: deckRef,
|
194124
194177
|
uuid,
|
194125
194178
|
width: width2,
|
@@ -195082,7 +195135,7 @@ function HeatmapOptions(props2) {
|
|
195082
195135
|
}) })] }), jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.labelCell, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `heatmap-gene-expression-colormap-range-${heatmapOptionsId}`, children: "Gene Expression Colormap Range" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.inputCell, variant: "body", children: jsxRuntimeExports.jsx(Slider$1, { classes: { root: classes.slider, valueLabel: classes.sliderValueLabel }, value: geneExpressionColormapRange, onChange: handleColormapRangeChangeDebounced, getAriaLabel: (index2) => index2 === 0 ? "Low value colormap range slider" : "High value colormap range slider", id: `heatmap-gene-expression-colormap-range-${heatmapOptionsId}`, valueLabelDisplay: "auto", step: 5e-3, min: 0, max: 1 }) })] })] });
|
195083
195136
|
}
|
195084
195137
|
function HeatmapSubscriber(props2) {
|
195085
|
-
const { uuid, coordinationScopes, removeGridComponent, theme, transpose: transpose2, observationsLabelOverride, variablesLabelOverride, title: title2 = "Heatmap" } = props2;
|
195138
|
+
const { uuid, coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, transpose: transpose2, observationsLabelOverride, variablesLabelOverride, title: title2 = "Heatmap" } = props2;
|
195086
195139
|
const loaders = useLoaders();
|
195087
195140
|
const setComponentHover = useSetComponentHover();
|
195088
195141
|
const setComponentViewInfo = useSetComponentViewInfo(uuid);
|
@@ -195158,7 +195211,7 @@ function HeatmapSubscriber(props2) {
|
|
195158
195211
|
], [observationsLabel]);
|
195159
195212
|
const selectedCount = cellColors.size;
|
195160
195213
|
return jsxRuntimeExports.jsxs(TitleInfo, { title: title2, info: `${commaNumber(cellsCount)} ${pluralize(observationsLabel, cellsCount)} × ${commaNumber(genesCount)} ${pluralize(variablesLabel, genesCount)},
|
195161
|
-
with ${commaNumber(selectedCount)} ${pluralize(observationsLabel, selectedCount)} selected`, urls: urls2, theme, removeGridComponent, isReady: isReady && !isRendering, options: jsxRuntimeExports.jsx(HeatmapOptions, { geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, tooltipsVisible, setTooltipsVisible }), children: [jsxRuntimeExports.jsx(Heatmap$1, { ref: deckRef, transpose: transpose2, viewState: { zoom: zoomX, target: [targetX2, targetY2] }, setViewState: ({ zoom: zoom2, target: target2 }) => {
|
195214
|
+
with ${commaNumber(selectedCount)} ${pluralize(observationsLabel, selectedCount)} selected`, urls: urls2, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, isReady: isReady && !isRendering, options: jsxRuntimeExports.jsx(HeatmapOptions, { geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, tooltipsVisible, setTooltipsVisible }), children: [jsxRuntimeExports.jsx(Heatmap$1, { ref: deckRef, transpose: transpose2, viewState: { zoom: zoomX, target: [targetX2, targetY2] }, setViewState: ({ zoom: zoom2, target: target2 }) => {
|
195162
195215
|
setZoomX(zoom2);
|
195163
195216
|
setZoomY(zoom2);
|
195164
195217
|
setTargetX(target2[0]);
|
@@ -199564,7 +199617,7 @@ function FeatureListOptions(props2) {
|
|
199564
199617
|
} }) })] })] }) : null] });
|
199565
199618
|
}
|
199566
199619
|
function FeatureListSubscriber(props2) {
|
199567
|
-
const { coordinationScopes, removeGridComponent, variablesLabelOverride, theme, title: titleOverride, enableMultiSelect = false, showTable = false, sort: sort2 = "alphabetical", sortKey: sortKey2 = null } = props2;
|
199620
|
+
const { coordinationScopes, removeGridComponent, variablesLabelOverride, theme, title: titleOverride, enableMultiSelect = false, showTable = false, sort: sort2 = "alphabetical", sortKey: sortKey2 = null, closeButtonVisible, downloadButtonVisible } = props2;
|
199568
199621
|
const loaders = useLoaders();
|
199569
199622
|
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);
|
199570
199623
|
const variablesLabel = variablesLabelOverride || featureType;
|
@@ -199599,6 +199652,8 @@ function FeatureListSubscriber(props2) {
|
|
199599
199652
|
// even though this no longer uses the TitleInfo component's
|
199600
199653
|
// scroll css (SelectableTable is virtual scroll).
|
199601
199654
|
isScroll: true,
|
199655
|
+
closeButtonVisible,
|
199656
|
+
downloadButtonVisible,
|
199602
199657
|
removeGridComponent,
|
199603
199658
|
isReady,
|
199604
199659
|
urls: urls2,
|
@@ -200379,6 +200434,8 @@ function ImageAddButton({ imageOptions, handleImageAdd }) {
|
|
200379
200434
|
const LayerControllerMemoized = React__default.memo(forwardRef((props2, ref2) => {
|
200380
200435
|
const {
|
200381
200436
|
title: title2,
|
200437
|
+
closeButtonVisible,
|
200438
|
+
downloadButtonVisible,
|
200382
200439
|
removeGridComponent,
|
200383
200440
|
theme,
|
200384
200441
|
isReady,
|
@@ -200424,7 +200481,7 @@ const LayerControllerMemoized = React__default.memo(forwardRef((props2, ref2) =>
|
|
200424
200481
|
enableLayerButtonsWithOneLayer
|
200425
200482
|
} = props2;
|
200426
200483
|
const shouldShowImageLayerButton = Boolean(enableLayerButtonsWithOneLayer || (imageLayerLoaders == null ? void 0 : imageLayerLoaders.length) > 1);
|
200427
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, removeGridComponent, theme, isReady, children: jsxRuntimeExports.jsxs("div", { className: "layer-controller-container", ref: ref2, children: [moleculesLayer && jsxRuntimeExports.jsx(VectorLayerController, { label: "Molecules", layerType: "molecules", layer: moleculesLayer, handleLayerChange: setMoleculesLayer }, `${dataset}-molecules`), cellsLayer && obsSegmentationsType === "polygon" && jsxRuntimeExports.jsx(VectorLayerController, { label: `${capitalize$2(obsType)} Segmentations`, layerType: "cells", layer: cellsLayer, handleLayerChange: setCellsLayer }, `${dataset}-cells`), cellsLayer && obsSegmentationsType === "bitmask" && cellsLayer.map((layer, i2) => {
|
200484
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, isReady, children: jsxRuntimeExports.jsxs("div", { className: "layer-controller-container", ref: ref2, children: [moleculesLayer && jsxRuntimeExports.jsx(VectorLayerController, { label: "Molecules", layerType: "molecules", layer: moleculesLayer, handleLayerChange: setMoleculesLayer }, `${dataset}-molecules`), cellsLayer && obsSegmentationsType === "polygon" && jsxRuntimeExports.jsx(VectorLayerController, { label: `${capitalize$2(obsType)} Segmentations`, layerType: "cells", layer: cellsLayer, handleLayerChange: setCellsLayer }, `${dataset}-cells`), cellsLayer && obsSegmentationsType === "bitmask" && cellsLayer.map((layer, i2) => {
|
200428
200485
|
const { index: index2 } = layer;
|
200429
200486
|
const loader2 = segmentationLayerLoaders == null ? void 0 : segmentationLayerLoaders[index2];
|
200430
200487
|
const layerMeta = segmentationLayerMeta == null ? void 0 : segmentationLayerMeta[index2];
|
@@ -200539,7 +200596,7 @@ const LayerControllerMemoized = React__default.memo(forwardRef((props2, ref2) =>
|
|
200539
200596
|
}), shouldShowImageLayerButton ? jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(ImageAddButton, { imageOptions: imageLayerMeta, handleImageAdd }) }) : null] }) });
|
200540
200597
|
}));
|
200541
200598
|
function LayerControllerSubscriber$1(props2) {
|
200542
|
-
const { coordinationScopes, removeGridComponent, theme, title: title2 = "Spatial Layers", disable3d, globalDisable3d, disableChannelsIfRgbDetected, enableLayerButtonsWithOneLayer } = props2;
|
200599
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: title2 = "Spatial Layers", disable3d, globalDisable3d, disableChannelsIfRgbDetected, enableLayerButtonsWithOneLayer } = props2;
|
200543
200600
|
const loaders = useLoaders();
|
200544
200601
|
const [{ dataset, obsType, spatialImageLayer: rasterLayers, spatialSegmentationLayer: cellsLayer, spatialPointLayer: moleculesLayer }, { setSpatialImageLayer: setRasterLayers, setSpatialSegmentationLayer: setCellsLayer, setSpatialPointLayer: setMoleculesLayer, setSpatialTargetX: setTargetX, setSpatialTargetY: setTargetY, setSpatialTargetZ: setTargetZ, setSpatialRotationX: setRotationX, setSpatialRotationOrbit: setRotationOrbit, setSpatialZoom: setZoom }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.LAYER_CONTROLLER], coordinationScopes);
|
200545
200602
|
const [{ imageLayerCallbacks, areLoadingImageChannels, segmentationLayerCallbacks, areLoadingSegmentationChannels }, { setImageLayerCallbacks, setAreLoadingImageChannels, setSegmentationLayerCallbacks, setAreLoadingSegmentationChannels }] = useAuxiliaryCoordination(COMPONENT_COORDINATION_TYPES.layerController, coordinationScopes);
|
@@ -200596,6 +200653,8 @@ function LayerControllerSubscriber$1(props2) {
|
|
200596
200653
|
return jsxRuntimeExports.jsx(LayerControllerMemoized, {
|
200597
200654
|
ref: layerControllerRef,
|
200598
200655
|
title: title2,
|
200656
|
+
closeButtonVisible,
|
200657
|
+
downloadButtonVisible,
|
200599
200658
|
removeGridComponent,
|
200600
200659
|
theme,
|
200601
200660
|
isReady,
|
@@ -202232,7 +202291,7 @@ function LayerController(props2) {
|
|
202232
202291
|
})] });
|
202233
202292
|
}
|
202234
202293
|
function LayerControllerSubscriber(props2) {
|
202235
|
-
const { coordinationScopes: coordinationScopesRaw, coordinationScopesBy: coordinationScopesByRaw, removeGridComponent, theme, title: title2 = "Spatial Layers" } = props2;
|
202294
|
+
const { coordinationScopes: coordinationScopesRaw, coordinationScopesBy: coordinationScopesByRaw, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: title2 = "Spatial Layers" } = props2;
|
202236
202295
|
const loaders = useLoaders();
|
202237
202296
|
const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
|
202238
202297
|
const coordinationScopesBy = useCoordinationScopesBy(coordinationScopes, coordinationScopesByRaw);
|
@@ -202333,7 +202392,7 @@ function LayerControllerSubscriber(props2) {
|
|
202333
202392
|
obsSegmentationsDataStatus,
|
202334
202393
|
imageDataStatus
|
202335
202394
|
]);
|
202336
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, removeGridComponent, theme, isReady, children: jsxRuntimeExports.jsx(LayerController, { theme, coordinationScopesRaw, segmentationLayerScopes, segmentationLayerCoordination, segmentationChannelScopesByLayer, segmentationChannelCoordination, images: imageData, imageLayerScopes, imageLayerCoordination, targetT, targetZ, setTargetT, setTargetZ, spatialRenderingMode, setSpatialRenderingMode, imageChannelScopesByLayer, imageChannelCoordination, spotLayerScopes, spotLayerCoordination, pointLayerScopes, pointLayerCoordination }) });
|
202395
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, isScroll: true, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, isReady, children: jsxRuntimeExports.jsx(LayerController, { theme, coordinationScopesRaw, segmentationLayerScopes, segmentationLayerCoordination, segmentationChannelScopesByLayer, segmentationChannelCoordination, images: imageData, imageLayerScopes, imageLayerCoordination, targetT, targetZ, setTargetT, setTargetZ, spatialRenderingMode, setSpatialRenderingMode, imageChannelScopesByLayer, imageChannelCoordination, spotLayerScopes, spotLayerCoordination, pointLayerScopes, pointLayerCoordination }) });
|
202337
202396
|
}
|
202338
202397
|
const useStyles$3 = makeStyles(() => ({
|
202339
202398
|
info: {
|
@@ -202367,7 +202426,7 @@ function Status(props2) {
|
|
202367
202426
|
return messages2;
|
202368
202427
|
}
|
202369
202428
|
function StatusSubscriber(props2) {
|
202370
|
-
const { coordinationScopes, removeGridComponent, theme, title: title2 = "Status" } = props2;
|
202429
|
+
const { coordinationScopes, closeButtonVisible, removeGridComponent, theme, title: title2 = "Status" } = props2;
|
202371
202430
|
const [{ obsHighlight: cellHighlight, featureHighlight: geneHighlight, moleculeHighlight }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.STATUS], coordinationScopes);
|
202372
202431
|
const warn2 = useWarning();
|
202373
202432
|
const infos = [
|
@@ -202376,7 +202435,7 @@ function StatusSubscriber(props2) {
|
|
202376
202435
|
...moleculeHighlight ? [`Hovered gene ${moleculeHighlight}`] : []
|
202377
202436
|
];
|
202378
202437
|
const info2 = infos.join("; ");
|
202379
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, theme, removeGridComponent, isScroll: true, isReady: true, children: jsxRuntimeExports.jsx(Status, { warn: warn2, info: info2 }) });
|
202438
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, theme, closeButtonVisible, removeGridComponent, isScroll: true, isReady: true, children: jsxRuntimeExports.jsx(Status, { warn: warn2, info: info2 }) });
|
202380
202439
|
}
|
202381
202440
|
window.higlassTracks = window.higlassTracks || {};
|
202382
202441
|
window.higlassTracksByType = window.higlassTracksByType || {};
|
@@ -202628,7 +202687,7 @@ const HIGLASS_BUNDLE_VERSION = "1.11.13";
|
|
202628
202687
|
const HIGLASS_CSS_URL = `https://unpkg.com/${HIGLASS_PKG_NAME}@${HIGLASS_BUNDLE_VERSION}/dist/hglib.css`;
|
202629
202688
|
register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
|
202630
202689
|
const LazyHiGlassComponent = React__default.lazy(async () => {
|
202631
|
-
const { HiGlassComponent } = await import("./hglib-
|
202690
|
+
const { HiGlassComponent } = await import("./hglib-872ad77b.js").then((n3) => n3.h);
|
202632
202691
|
return { default: HiGlassComponent };
|
202633
202692
|
});
|
202634
202693
|
const HG_SIZE = 800;
|
@@ -202757,10 +202816,10 @@ HiGlassLazy.defaultProps = {
|
|
202757
202816
|
};
|
202758
202817
|
const urls = [];
|
202759
202818
|
function HiGlassSubscriber(props2) {
|
202760
|
-
const { coordinationScopes, theme, hgViewConfig, removeGridComponent } = props2;
|
202819
|
+
const { coordinationScopes, theme, hgViewConfig, closeButtonVisible, downloadButtonVisible, removeGridComponent } = props2;
|
202761
202820
|
const [width2, height2, containerRef] = useGridItemSize();
|
202762
202821
|
const classes = useStyles$2();
|
202763
|
-
return jsxRuntimeExports.jsx("div", { className: classes.higlassTitleWrapper, children: jsxRuntimeExports.jsx(TitleInfo, { title: "HiGlass", removeGridComponent, theme, isReady: true, urls, children: jsxRuntimeExports.jsx("div", { className: classes.higlassLazyWrapper, ref: containerRef, children: jsxRuntimeExports.jsx(HiGlassLazy, { coordinationScopes, theme, hgViewConfig, height: height2 }) }) }) });
|
202822
|
+
return jsxRuntimeExports.jsx("div", { className: classes.higlassTitleWrapper, children: jsxRuntimeExports.jsx(TitleInfo, { title: "HiGlass", closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, isReady: true, urls, children: jsxRuntimeExports.jsx("div", { className: classes.higlassLazyWrapper, ref: containerRef, children: jsxRuntimeExports.jsx(HiGlassLazy, { coordinationScopes, theme, hgViewConfig, height: height2 }) }) }) });
|
202764
202823
|
}
|
202765
202824
|
const REFERENCE_TILESETS = {
|
202766
202825
|
hg38: {
|
@@ -202781,7 +202840,7 @@ const REFERENCE_TILESETS = {
|
|
202781
202840
|
}
|
202782
202841
|
};
|
202783
202842
|
function GenomicProfilesSubscriber(props2) {
|
202784
|
-
const { coordinationScopes, theme, removeGridComponent, profileTrackUidKey = "path", profileTrackNameKey = null, higlassServer = "https://higlass.io/api/v1", assembly = "hg38", title: title2 = "Genomic Profiles" } = props2;
|
202843
|
+
const { coordinationScopes, theme, closeButtonVisible, downloadButtonVisible, removeGridComponent, profileTrackUidKey = "path", profileTrackNameKey = null, higlassServer = "https://higlass.io/api/v1", assembly = "hg38", title: title2 = "Genomic Profiles" } = props2;
|
202785
202844
|
const [width2, height2, containerRef] = useGridItemSize();
|
202786
202845
|
const loaders = useLoaders();
|
202787
202846
|
const [{ dataset, obsSetColor: cellSetColor, obsSetSelection: cellSetSelection }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.GENOMIC_PROFILES], coordinationScopes);
|
@@ -202912,7 +202971,7 @@ function GenomicProfilesSubscriber(props2) {
|
|
202912
202971
|
assembly
|
202913
202972
|
]);
|
202914
202973
|
const classes = useStyles$2();
|
202915
|
-
return jsxRuntimeExports.jsx("div", { className: classes.higlassTitleWrapper, children: jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, theme, isReady, urls: urls2, children: jsxRuntimeExports.jsx("div", { className: classes.higlassLazyWrapper, ref: containerRef, children: hgViewConfig ? jsxRuntimeExports.jsx(HiGlassLazy, { coordinationScopes, theme, hgViewConfig, height: height2 }) : null }) }) });
|
202974
|
+
return jsxRuntimeExports.jsx("div", { className: classes.higlassTitleWrapper, children: jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, isReady, urls: urls2, children: jsxRuntimeExports.jsx("div", { className: classes.higlassLazyWrapper, ref: containerRef, children: hgViewConfig ? jsxRuntimeExports.jsx(HiGlassLazy, { coordinationScopes, theme, hgViewConfig, height: height2 }) : null }) }) });
|
202916
202975
|
}
|
202917
202976
|
function CellSetExpressionPlotOptions(props2) {
|
202918
202977
|
const { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions } = props2;
|
@@ -259551,7 +259610,7 @@ function useExpressionByCellSet(expressionData, obsIndex, cellSets, additionalCe
|
|
259551
259610
|
}
|
259552
259611
|
function CellSetExpressionPlotSubscriber(props2) {
|
259553
259612
|
var _a3;
|
259554
|
-
const { coordinationScopes, removeGridComponent, theme } = props2;
|
259613
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme } = props2;
|
259555
259614
|
const classes = useStyles();
|
259556
259615
|
const loaders = useLoaders();
|
259557
259616
|
const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, featureValueTransform, featureValueTransformCoefficient, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets }, { setFeatureValueTransform, setFeatureValueTransformCoefficient }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.OBS_SET_FEATURE_VALUE_DISTRIBUTION], coordinationScopes);
|
@@ -259575,7 +259634,7 @@ function CellSetExpressionPlotSubscriber(props2) {
|
|
259575
259634
|
const [expressionArr, setArr, expressionMax] = useExpressionByCellSet(expressionData, obsIndex, cellSets, additionalCellSets, geneSelection, cellSetSelection, cellSetColor, featureValueTransform, featureValueTransformCoefficient, theme);
|
259576
259635
|
const firstGeneSelected = geneSelection && geneSelection.length >= 1 ? (featureLabelsMap == null ? void 0 : featureLabelsMap.get(geneSelection[0])) || geneSelection[0] : null;
|
259577
259636
|
const selectedTransformName = (_a3 = transformOptions.find((o2) => o2.value === featureValueTransform)) == null ? void 0 : _a3.name;
|
259578
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: `Expression by ${capitalize$2(obsType)} Set${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(CellSetExpressionPlotOptions, { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: expressionArr ? jsxRuntimeExports.jsx(CellSetExpressionPlot, { domainMax: expressionMax, colors: setArr, data: expressionArr, theme, width: width2, height: height2, obsType, featureValueType, featureValueTransformName: selectedTransformName }) : jsxRuntimeExports.jsxs("span", { children: ["Select a ", featureType, "."] }) }) });
|
259637
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: `Expression by ${capitalize$2(obsType)} Set${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, options: jsxRuntimeExports.jsx(CellSetExpressionPlotOptions, { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions }), children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: expressionArr ? jsxRuntimeExports.jsx(CellSetExpressionPlot, { domainMax: expressionMax, colors: setArr, data: expressionArr, theme, width: width2, height: height2, obsType, featureValueType, featureValueTransformName: selectedTransformName }) : jsxRuntimeExports.jsxs("span", { children: ["Select a ", featureType, "."] }) }) });
|
259579
259638
|
}
|
259580
259639
|
function CellSetSizesPlot(props2) {
|
259581
259640
|
const { data: rawData, theme, width: width2, height: height2, marginRight = 90, marginBottom = 120, keyLength = 36, obsType, onBarSelect } = props2;
|
@@ -259695,7 +259754,7 @@ function CellSetSizesPlot(props2) {
|
|
259695
259754
|
return jsxRuntimeExports.jsx(VegaPlot, { data: data2, spec, signalListeners, getTooltipText });
|
259696
259755
|
}
|
259697
259756
|
function CellSetSizesPlotSubscriber(props2) {
|
259698
|
-
const { coordinationScopes, removeGridComponent, theme, title: titleOverride } = props2;
|
259757
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, title: titleOverride } = props2;
|
259699
259758
|
const classes = useStyles();
|
259700
259759
|
const loaders = useLoaders();
|
259701
259760
|
const [{ dataset, obsType, obsSetSelection: cellSetSelection, obsSetColor: cellSetColor, additionalObsSets: additionalCellSets, obsSetExpansion: cellSetExpansion }, { setObsSetSelection: setCellSetSelection, setObsSetColor: setCellSetColor }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.OBS_SET_SIZES], coordinationScopes);
|
@@ -259742,7 +259801,7 @@ function CellSetSizesPlotSubscriber(props2) {
|
|
259742
259801
|
setCellSetSelection([...cellSetSelection, setNamePath]);
|
259743
259802
|
}
|
259744
259803
|
};
|
259745
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, urls: urls2, theme, isReady, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: jsxRuntimeExports.jsx(CellSetSizesPlot, { data: data2, onBarSelect, theme, width: width2, height: height2, obsType }) }) });
|
259804
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: title2, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: jsxRuntimeExports.jsx(CellSetSizesPlot, { data: data2, onBarSelect, theme, width: width2, height: height2, obsType }) }) });
|
259746
259805
|
}
|
259747
259806
|
function ExpressionHistogram(props2) {
|
259748
259807
|
const { geneSelection, data: data2, theme, width: width2, height: height2, marginRight = 90, marginBottom = 50, onSelect } = props2;
|
@@ -259800,7 +259859,7 @@ function ExpressionHistogram(props2) {
|
|
259800
259859
|
return jsxRuntimeExports.jsx(VegaPlot, { data: data2, signalListeners, spec });
|
259801
259860
|
}
|
259802
259861
|
function ExpressionHistogramSubscriber(props2) {
|
259803
|
-
const { coordinationScopes, removeGridComponent, theme } = props2;
|
259862
|
+
const { coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme } = props2;
|
259804
259863
|
const classes = useStyles();
|
259805
259864
|
const loaders = useLoaders();
|
259806
259865
|
const [{ dataset, obsType, featureType, featureValueType, featureSelection: geneSelection, additionalObsSets: additionalCellSets, obsSetColor: cellSetColor }, { setAdditionalObsSets: setAdditionalCellSets, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setObsSetSelection: setCellSetSelection }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.FEATURE_VALUE_HISTOGRAM], coordinationScopes);
|
@@ -259849,7 +259908,7 @@ function ExpressionHistogramSubscriber(props2) {
|
|
259849
259908
|
setCellSetSelection,
|
259850
259909
|
firstGeneSelected
|
259851
259910
|
]);
|
259852
|
-
return jsxRuntimeExports.jsx(TitleInfo, { title: `Expression Histogram${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, removeGridComponent, urls: urls2, theme, isReady, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: jsxRuntimeExports.jsx(ExpressionHistogram, { geneSelection, onSelect, data: data2, theme, width: width2, height: height2 }) }) });
|
259911
|
+
return jsxRuntimeExports.jsx(TitleInfo, { title: `Expression Histogram${firstGeneSelected ? ` (${firstGeneSelected})` : ""}`, closeButtonVisible, downloadButtonVisible, removeGridComponent, urls: urls2, theme, isReady, children: jsxRuntimeExports.jsx("div", { ref: containerRef, className: classes.vegaContainer, children: jsxRuntimeExports.jsx(ExpressionHistogram, { geneSelection, onSelect, data: data2, theme, width: width2, height: height2 }) }) });
|
259853
259912
|
}
|
259854
259913
|
class CsvSource {
|
259855
259914
|
constructor({ url, requestInit: requestInit2 }) {
|
package/dist/index.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { i as inflate_1 } from "./pako.esm-68f84e2a.js";
|
2
|
-
import { g as getDefaultExportFromCjs, B as BaseDecoder, L as LercParameters, a as LercAddCompression } from "./index-
|
2
|
+
import { g as getDefaultExportFromCjs, B as BaseDecoder, L as LercParameters, a as LercAddCompression } from "./index-e1f3ff32.js";
|
3
3
|
import "react";
|
4
4
|
import "@vitessce/vit-s";
|
5
5
|
import "react-dom";
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vitessce/all",
|
3
|
-
"version": "3.3.
|
3
|
+
"version": "3.3.2",
|
4
4
|
"author": "Gehlenborg Lab",
|
5
5
|
"homepage": "http://vitessce.io",
|
6
6
|
"repository": {
|
@@ -18,27 +18,27 @@
|
|
18
18
|
"dependencies": {
|
19
19
|
"@material-ui/core": "~4.12.3",
|
20
20
|
"zod": "^3.21.4",
|
21
|
-
"@vitessce/constants-internal": "3.3.
|
22
|
-
"@vitessce/
|
23
|
-
"@vitessce/
|
24
|
-
"@vitessce/feature-list": "3.3.
|
25
|
-
"@vitessce/
|
26
|
-
"@vitessce/
|
27
|
-
"@vitessce/json": "3.3.
|
28
|
-
"@vitessce/layer-controller": "3.3.
|
29
|
-
"@vitessce/layer-controller-beta": "3.3.
|
30
|
-
"@vitessce/
|
31
|
-
"@vitessce/
|
32
|
-
"@vitessce/plugins": "3.3.
|
33
|
-
"@vitessce/scatterplot-embedding": "3.3.
|
34
|
-
"@vitessce/scatterplot-gating": "3.3.
|
35
|
-
"@vitessce/schemas": "3.3.
|
36
|
-
"@vitessce/spatial": "3.3.
|
37
|
-
"@vitessce/spatial-beta": "3.3.
|
38
|
-
"@vitessce/statistical-plots": "3.3.
|
39
|
-
"@vitessce/
|
40
|
-
"@vitessce/
|
41
|
-
"@vitessce/zarr": "3.3.
|
21
|
+
"@vitessce/constants-internal": "3.3.2",
|
22
|
+
"@vitessce/csv": "3.3.2",
|
23
|
+
"@vitessce/description": "3.3.2",
|
24
|
+
"@vitessce/feature-list": "3.3.2",
|
25
|
+
"@vitessce/genomic-profiles": "3.3.2",
|
26
|
+
"@vitessce/heatmap": "3.3.2",
|
27
|
+
"@vitessce/json": "3.3.2",
|
28
|
+
"@vitessce/layer-controller": "3.3.2",
|
29
|
+
"@vitessce/layer-controller-beta": "3.3.2",
|
30
|
+
"@vitessce/obs-sets-manager": "3.3.2",
|
31
|
+
"@vitessce/ome-tiff": "3.3.2",
|
32
|
+
"@vitessce/plugins": "3.3.2",
|
33
|
+
"@vitessce/scatterplot-embedding": "3.3.2",
|
34
|
+
"@vitessce/scatterplot-gating": "3.3.2",
|
35
|
+
"@vitessce/schemas": "3.3.2",
|
36
|
+
"@vitessce/spatial": "3.3.2",
|
37
|
+
"@vitessce/spatial-beta": "3.3.2",
|
38
|
+
"@vitessce/statistical-plots": "3.3.2",
|
39
|
+
"@vitessce/status": "3.3.2",
|
40
|
+
"@vitessce/vit-s": "3.3.2",
|
41
|
+
"@vitessce/zarr": "3.3.2"
|
42
42
|
},
|
43
43
|
"devDependencies": {
|
44
44
|
"@types/react": "^18.0.28",
|