@vitessce/all 3.8.4 → 3.8.5

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.
@@ -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-se6p8sp4.js";
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-diSsBj8e.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-se6p8sp4.js";
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-diSsBj8e.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-se6p8sp4.js";
2
+ import { aW as BaseDecoder } from "./index-diSsBj8e.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-se6p8sp4.js";
4
+ import { aZ as commonjsGlobal$1, a_ as requireObjectAssign, aF as getDefaultExportFromCjs$1, a$ as earcut } from "./index-diSsBj8e.js";
5
5
  var promise = {};
6
6
  var hasRequiredPromise;
7
7
  function requirePromise() {
@@ -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-se6p8sp4.js";
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-diSsBj8e.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-CYynRaKW.js";
3
+ import { u as useThree, a as useFrame, O as OrbitControls, C as Canvas } from "./OrbitControls-CRmdQgxj.js";
4
4
  const LogLevel = {
5
5
  INFO: "info",
6
6
  WARN: "warn",
@@ -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-se6p8sp4.js";
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-diSsBj8e.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-CYynRaKW.js";
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-CRmdQgxj.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-BtJXS2ob.js"), []);
5030
+ } = suspend(async () => import("./troika-three-text.esm-C4ffdO6D.js"), []);
5031
5031
  const invalidate = useThree(({
5032
5032
  invalidate: invalidate2
5033
5033
  }) => invalidate2);
@@ -10157,6 +10157,7 @@ const COMPONENT_COORDINATION_TYPES = {
10157
10157
  CoordinationType$1.FEATURE_SELECTION,
10158
10158
  CoordinationType$1.FEATURE_VALUE_COLORMAP,
10159
10159
  CoordinationType$1.FEATURE_VALUE_COLORMAP_RANGE,
10160
+ CoordinationType$1.FEATURE_AGGREGATION_STRATEGY,
10160
10161
  // TODO: CoordinationType.FEATURE_COLOR_ENCODING,
10161
10162
  // TODO: CoordinationType.ADDITIONAL_FEATURE_SETS,
10162
10163
  CoordinationType$1.TOOLTIPS_VISIBLE,
@@ -209322,22 +209323,22 @@ async function getDecoder(fileDirectory) {
209322
209323
  const Decoder = await importFn();
209323
209324
  return new Decoder(fileDirectory);
209324
209325
  }
209325
- addDecoder([void 0, 1], () => import("./raw-CGkykmix.js").then((m2) => m2.default));
209326
- addDecoder(5, () => import("./lzw-KgXyy-19.js").then((m2) => m2.default));
209326
+ addDecoder([void 0, 1], () => import("./raw-DLW6Ob0W.js").then((m2) => m2.default));
209327
+ addDecoder(5, () => import("./lzw-CVivhiK8.js").then((m2) => m2.default));
209327
209328
  addDecoder(6, () => {
209328
209329
  throw new Error("old style JPEG compression is not supported.");
209329
209330
  });
209330
- addDecoder(7, () => import("./jpeg-BUtzsoPi.js").then((m2) => m2.default));
209331
- addDecoder([8, 32946], () => import("./deflate-Bi9jTZa_.js").then((m2) => m2.default));
209332
- addDecoder(32773, () => import("./packbits-Bmv1iZNF.js").then((m2) => m2.default));
209331
+ addDecoder(7, () => import("./jpeg-CP3ptIzO.js").then((m2) => m2.default));
209332
+ addDecoder([8, 32946], () => import("./deflate-CMHXRV2s.js").then((m2) => m2.default));
209333
+ addDecoder(32773, () => import("./packbits-CSpmt53h.js").then((m2) => m2.default));
209333
209334
  addDecoder(
209334
209335
  34887,
209335
- () => import("./lerc-B9pxOoW2.js").then(async (m2) => {
209336
+ () => import("./lerc-DSNwBQly.js").then(async (m2) => {
209336
209337
  await m2.zstd.init();
209337
209338
  return m2;
209338
209339
  }).then((m2) => m2.default)
209339
209340
  );
209340
- addDecoder(50001, () => import("./webimage-C9QSeLIa.js").then((m2) => m2.default));
209341
+ addDecoder(50001, () => import("./webimage-TKddjYdZ.js").then((m2) => m2.default));
209341
209342
  function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
209342
209343
  return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
209343
209344
  }
@@ -231711,7 +231712,9 @@ function EmbeddingScatterplotSubscriber(props) {
231711
231712
  // Average fill density for dynamic opacity calculation.
231712
231713
  averageFillDensity,
231713
231714
  // For the dual scatterplot:
231714
- sampleSetSelection: sampleSetSelectionFromProps
231715
+ sampleSetSelection: sampleSetSelectionFromProps,
231716
+ // Circle scale factor:
231717
+ circleScaleFactor = 0.8
231715
231718
  } = props;
231716
231719
  const loaders = useLoaders();
231717
231720
  const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
@@ -231916,7 +231919,7 @@ function EmbeddingScatterplotSubscriber(props) {
231916
231919
  return null;
231917
231920
  }
231918
231921
  const size2 = Math.max(xRange, yRange);
231919
- const radius2 = size2 * Math.sqrt(2) / 2 * 0.8;
231922
+ const radius2 = size2 * Math.sqrt(2) / 2 * circleScaleFactor;
231920
231923
  const numPoints = 96;
231921
231924
  const options = { steps: numPoints, units: "degrees" };
231922
231925
  const circlePolygon = circle$5(center2, radius2, options);
@@ -231926,7 +231929,7 @@ function EmbeddingScatterplotSubscriber(props) {
231926
231929
  polygon: circlePolygon,
231927
231930
  steps: numPoints
231928
231931
  };
231929
- }, [originalViewState, width2, height2, xRange, yRange]);
231932
+ }, [originalViewState, width2, height2, xRange, yRange, circleScaleFactor]);
231930
231933
  const [alignedEmbeddingIndex, alignedEmbeddingData] = useMemo$1(() => {
231931
231934
  if (obsEmbedding?.data && obsEmbeddingIndex && matrixObsIndex) {
231932
231935
  const matrixIndexMap = new Map(matrixObsIndex.map((key2, i2) => [key2, i2]));
@@ -253033,12 +253036,12 @@ class ErrorBoundary extends React__default.Component {
253033
253036
  }
253034
253037
  }
253035
253038
  const LazySpatialThree = React__default.lazy(async () => {
253036
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-SV2fA7OO.js");
253039
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-De5hOIAN.js");
253037
253040
  return { default: SpatialWrapper2 };
253038
253041
  });
253039
253042
  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 }) }) }) }));
253040
253043
  const LazySpatialAccelerated = React__default.lazy(async () => {
253041
- const { SpatialWrapper: SpatialWrapper2 } = await import("./index-BiA0XI99.js");
253044
+ const { SpatialWrapper: SpatialWrapper2 } = await import("./index-CoLUuXiI.js");
253042
253045
  return { default: SpatialWrapper2 };
253043
253046
  });
253044
253047
  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 }) }) }) }));
@@ -266239,7 +266242,7 @@ function HiglassGlobalStyles(props) {
266239
266242
  }
266240
266243
  register({ dataFetcher: ZarrMultivecDataFetcher_default, config: ZarrMultivecDataFetcher_default.config }, { pluginType: "dataFetcher" });
266241
266244
  const LazyHiGlassComponent = React__default.lazy(async () => {
266242
- const { HiGlassComponent } = await import("./higlass-DlJQBL8o.js");
266245
+ const { HiGlassComponent } = await import("./higlass-DOnQ6srf.js");
266243
266246
  return { default: HiGlassComponent };
266244
266247
  });
266245
266248
  const HG_SIZE = 800;
@@ -269186,7 +269189,7 @@ function NeuroglancerGlobalStyles(props) {
269186
269189
  const { classes: classes2 } = props;
269187
269190
  return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [jsxRuntimeExports.jsx(GlobalStyles$3, { styles: globalNeuroglancerCss }), jsxRuntimeExports.jsx(ScopedGlobalStyles, { styles: globalNeuroglancerStyles, parentClassName: classes2.neuroglancerWrapper })] });
269188
269191
  }
269189
- const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-B784BBrr.js"));
269192
+ const LazyReactNeuroglancer = React__default.lazy(() => import("./ReactNeuroglancer-DLpKRSC5.js"));
269190
269193
  function createWorker() {
269191
269194
  return new WorkerFactory();
269192
269195
  }
@@ -299439,6 +299442,7 @@ accessor$1(() => 0, [], "zero");
299439
299442
  accessor$1(() => 1, [], "one");
299440
299443
  accessor$1(() => true, [], "true");
299441
299444
  accessor$1(() => false, [], "false");
299445
+ /* @__PURE__ */ new Set([...Object.getOwnPropertyNames(Object.prototype).filter((name2) => typeof Object.prototype[name2] === "function"), "__proto__"]);
299442
299446
  var isArray$2 = Array.isArray;
299443
299447
  function peek$2(array2) {
299444
299448
  return array2[array2.length - 1];
@@ -301721,8 +301725,7 @@ function splitAccessPath(p) {
301721
301725
  for (i2 = j = 0; j < n3; ++j) {
301722
301726
  c2 = p[j];
301723
301727
  if (c2 === "\\") {
301724
- s2 += p.substring(i2, j);
301725
- s2 += p.substring(++j, ++j);
301728
+ s2 += p.substring(i2, j++);
301726
301729
  i2 = j;
301727
301730
  } else if (c2 === q) {
301728
301731
  push2();
@@ -301780,7 +301783,8 @@ const Error$1 = 1;
301780
301783
  const Warn = 2;
301781
301784
  const Info2 = 3;
301782
301785
  const Debug = 4;
301783
- function logger(_, method2, handler = log$1$1) {
301786
+ function logger(_, method2) {
301787
+ let handler = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : log$1$1;
301784
301788
  let level = _ || None$2;
301785
301789
  return {
301786
301790
  level(_2) {
@@ -301814,7 +301818,10 @@ function isObject$2(_) {
301814
301818
  return _ === Object(_);
301815
301819
  }
301816
301820
  const isLegalKey = (key2) => key2 !== "__proto__";
301817
- function mergeConfig(...configs) {
301821
+ function mergeConfig() {
301822
+ for (var _len = arguments.length, configs = new Array(_len), _key = 0; _key < _len; _key++) {
301823
+ configs[_key] = arguments[_key];
301824
+ }
301818
301825
  return configs.reduce((out, source2) => {
301819
301826
  for (const key2 in source2) {
301820
301827
  if (key2 === "signals") {
@@ -302052,9 +302059,8 @@ function extentIndex(array2, f2) {
302052
302059
  }
302053
302060
  return [u2, v];
302054
302061
  }
302055
- const hop = Object.prototype.hasOwnProperty;
302056
302062
  function has$1(object2, property2) {
302057
- return hop.call(object2, property2);
302063
+ return Object.hasOwn(object2, property2);
302058
302064
  }
302059
302065
  const NULL = {};
302060
302066
  function fastmap(input) {
@@ -353838,7 +353844,7 @@ const initialState$1 = {
353838
353844
  };
353839
353845
  const pageSizeOptions$1 = [10];
353840
353846
  function FeatureStatsTable(props) {
353841
- const { obsType, featureType, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMappingReversed, sampleSetSelection, data: data2, setFeatureSelection, featurePointSignificanceThreshold, featurePointFoldChangeThreshold } = props;
353847
+ const { obsType, featureType, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMappingReversed, sampleSetSelection, data: data2, setFeatureSelection, setFeatureAggregationStrategy, featurePointSignificanceThreshold, featurePointFoldChangeThreshold } = props;
353842
353848
  const [
353843
353849
  // eslint-disable-next-line no-unused-vars
353844
353850
  computedData,
@@ -353898,6 +353904,7 @@ function FeatureStatsTable(props) {
353898
353904
  }, [filteredData, obsSetsColumnNameMappingReversed]);
353899
353905
  const onSelectionModelChange = useCallback((rowIds) => {
353900
353906
  const featureIds = Array.from(rowIds.ids).map((rowId) => rowId.split(ROW_ID_DELIMITER)[0]);
353907
+ setFeatureAggregationStrategy(null);
353901
353908
  setFeatureSelection(featureIds);
353902
353909
  }, []);
353903
353910
  const rowSelectionModel = useMemo$1(() => ({ ids: /* @__PURE__ */ new Set([]), type: "include" }), []);
@@ -353921,7 +353928,7 @@ function FeatureStatsTableSubscriber(props) {
353921
353928
  const { title: title2 = "Differential Expression Results", coordinationScopes: coordinationScopesRaw, removeGridComponent, theme, helpText = ViewHelpMapping.FEATURE_STATS_TABLE } = props;
353922
353929
  const loaders = useLoaders();
353923
353930
  const coordinationScopes = useCoordinationScopes(coordinationScopesRaw);
353924
- const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.FEATURE_STATS_TABLE], coordinationScopes);
353931
+ const [{ dataset, obsType, sampleType, featureType, featureValueType, obsFilter: cellFilter, obsHighlight: cellHighlight, obsSetSelection, obsSetColor, obsColorEncoding: cellColorEncoding, additionalObsSets: additionalCellSets, featurePointSignificanceThreshold, featurePointFoldChangeThreshold, featureValueTransform, featureValueTransformCoefficient, featureAggregationStrategy, gatingFeatureSelectionX, gatingFeatureSelectionY, featureSelection, sampleSetSelection, sampleSetColor }, { setObsFilter: setCellFilter, setObsSetSelection, setObsHighlight: setCellHighlight, setObsSetColor: setCellSetColor, setObsColorEncoding: setCellColorEncoding, setAdditionalObsSets: setAdditionalCellSets, setFeaturePointSignificanceThreshold, setFeaturePointFoldChangeThreshold, setFeatureValueTransform, setFeatureValueTransformCoefficient, setFeatureAggregationStrategy, setGatingFeatureSelectionX, setGatingFeatureSelectionY, setFeatureSelection, setSampleSetSelection, setSampleSetColor }] = useCoordination(COMPONENT_COORDINATION_TYPES[ViewType$1.FEATURE_STATS_TABLE], coordinationScopes);
353925
353932
  const obsSetsLoader = useMatchingLoader(loaders, dataset, DataType$3.OBS_SETS, { obsType });
353926
353933
  const sampleSetsLoader = useMatchingLoader(loaders, dataset, DataType$3.SAMPLE_SETS, { sampleType });
353927
353934
  const obsSetsColumnNameMapping = useColumnNameMapping(obsSetsLoader);
@@ -353944,7 +353951,7 @@ function FeatureStatsTableSubscriber(props) {
353944
353951
  const isReady = useReady([
353945
353952
  featureStatsStatus
353946
353953
  ]);
353947
- return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, theme, isReady, helpText, errors, withPadding: false, children: featureStats ? jsxRuntimeExports.jsx(FeatureStatsTable, { theme, obsType, featureType, obsSetsColumnNameMapping, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMapping, sampleSetsColumnNameMappingReversed, sampleSetSelection, obsSetSelection, obsSetColor, sampleSetColor, data: featureStats, featureSelection, setFeatureSelection, featurePointSignificanceThreshold, featurePointFoldChangeThreshold }) : jsxRuntimeExports.jsxs("p", { style: { padding: "12px" }, children: ["Select at least one ", obsType, " set."] }) });
353954
+ return jsxRuntimeExports.jsx(TitleInfo, { title: title2, removeGridComponent, theme, isReady, helpText, errors, withPadding: false, children: featureStats ? jsxRuntimeExports.jsx(FeatureStatsTable, { theme, obsType, featureType, obsSetsColumnNameMapping, obsSetsColumnNameMappingReversed, sampleSetsColumnNameMapping, sampleSetsColumnNameMappingReversed, sampleSetSelection, obsSetSelection, obsSetColor, sampleSetColor, data: featureStats, featureSelection, setFeatureSelection, setFeatureAggregationStrategy, featurePointSignificanceThreshold, featurePointFoldChangeThreshold }) : jsxRuntimeExports.jsxs("p", { style: { padding: "12px" }, children: ["Select at least one ", obsType, " set."] }) });
353948
353955
  }
353949
353956
  class CsvSource {
353950
353957
  constructor({ url, requestInit: requestInit2 }) {
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bQ, bO, bM, bP, bN, bL, bR } from "./index-se6p8sp4.js";
1
+ import { bQ, bO, bM, bP, bN, bL, bR } from "./index-diSsBj8e.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,4 +1,4 @@
1
- import { aW as BaseDecoder } from "./index-se6p8sp4.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.js";
2
2
  const dctZigZag = new Int32Array([
3
3
  0,
4
4
  1,
@@ -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-se6p8sp4.js";
2
+ import { aF as getDefaultExportFromCjs, aW as BaseDecoder, aX as LercParameters, aY as LercAddCompression } from "./index-diSsBj8e.js";
3
3
  var LercDecode = { exports: {} };
4
4
  var hasRequiredLercDecode;
5
5
  function requireLercDecode() {
@@ -1,4 +1,4 @@
1
- import { aW as BaseDecoder } from "./index-se6p8sp4.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.js";
2
2
  const MIN_BITS = 9;
3
3
  const CLEAR_CODE = 256;
4
4
  const EOI_CODE = 257;
@@ -1,4 +1,4 @@
1
- import { aW as BaseDecoder } from "./index-se6p8sp4.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { aW as BaseDecoder } from "./index-se6p8sp4.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -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-se6p8sp4.js";
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-diSsBj8e.js";
2
2
  function workerBootstrap() {
3
3
  var modules = /* @__PURE__ */ Object.create(null);
4
4
  function registerModule(ref, callback) {
@@ -1,4 +1,4 @@
1
- import { aW as BaseDecoder } from "./index-se6p8sp4.js";
1
+ import { aW as BaseDecoder } from "./index-diSsBj8e.js";
2
2
  class WebImageDecoder extends BaseDecoder {
3
3
  constructor() {
4
4
  super();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/all",
3
- "version": "3.8.4",
3
+ "version": "3.8.5",
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.4",
21
- "@vitessce/constants-internal": "3.8.4",
22
- "@vitessce/abstract": "3.8.4",
23
- "@vitessce/error": "3.8.4",
24
- "@vitessce/csv": "3.8.4",
25
- "@vitessce/description": "3.8.4",
26
- "@vitessce/feature-list": "3.8.4",
27
- "@vitessce/genomic-profiles": "3.8.4",
28
- "@vitessce/heatmap": "3.8.4",
29
- "@vitessce/glb": "3.8.4",
30
- "@vitessce/json": "3.8.4",
31
- "@vitessce/layer-controller": "3.8.4",
32
- "@vitessce/layer-controller-beta": "3.8.4",
33
- "@vitessce/link-controller": "3.8.4",
34
- "@vitessce/obs-sets-manager": "3.8.4",
35
- "@vitessce/ome-tiff": "3.8.4",
36
- "@vitessce/plugins": "3.8.4",
37
- "@vitessce/scatterplot-embedding": "3.8.4",
38
- "@vitessce/scatterplot-gating": "3.8.4",
39
- "@vitessce/schemas": "3.8.4",
40
- "@vitessce/spatial": "3.8.4",
41
- "@vitessce/spatial-beta": "3.8.4",
42
- "@vitessce/statistical-plots": "3.8.4",
43
- "@vitessce/status": "3.8.4",
44
- "@vitessce/vit-s": "3.8.4",
45
- "@vitessce/zarr": "3.8.4",
46
- "@vitessce/globals": "3.8.4",
47
- "@vitessce/spatial-zarr": "3.8.4",
48
- "@vitessce/spatial-three": "3.8.4",
49
- "@vitessce/spatial-accelerated": "3.8.4",
50
- "@vitessce/biomarker-select": "3.8.4",
51
- "@vitessce/neuroglancer": "3.8.4"
20
+ "@vitessce/styles": "3.8.5",
21
+ "@vitessce/constants-internal": "3.8.5",
22
+ "@vitessce/abstract": "3.8.5",
23
+ "@vitessce/error": "3.8.5",
24
+ "@vitessce/csv": "3.8.5",
25
+ "@vitessce/description": "3.8.5",
26
+ "@vitessce/feature-list": "3.8.5",
27
+ "@vitessce/genomic-profiles": "3.8.5",
28
+ "@vitessce/heatmap": "3.8.5",
29
+ "@vitessce/glb": "3.8.5",
30
+ "@vitessce/json": "3.8.5",
31
+ "@vitessce/layer-controller": "3.8.5",
32
+ "@vitessce/layer-controller-beta": "3.8.5",
33
+ "@vitessce/link-controller": "3.8.5",
34
+ "@vitessce/obs-sets-manager": "3.8.5",
35
+ "@vitessce/ome-tiff": "3.8.5",
36
+ "@vitessce/plugins": "3.8.5",
37
+ "@vitessce/scatterplot-embedding": "3.8.5",
38
+ "@vitessce/scatterplot-gating": "3.8.5",
39
+ "@vitessce/schemas": "3.8.5",
40
+ "@vitessce/spatial": "3.8.5",
41
+ "@vitessce/spatial-beta": "3.8.5",
42
+ "@vitessce/statistical-plots": "3.8.5",
43
+ "@vitessce/status": "3.8.5",
44
+ "@vitessce/vit-s": "3.8.5",
45
+ "@vitessce/zarr": "3.8.5",
46
+ "@vitessce/globals": "3.8.5",
47
+ "@vitessce/spatial-zarr": "3.8.5",
48
+ "@vitessce/spatial-three": "3.8.5",
49
+ "@vitessce/spatial-accelerated": "3.8.5",
50
+ "@vitessce/biomarker-select": "3.8.5",
51
+ "@vitessce/neuroglancer": "3.8.5"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@types/react": "^18.0.28",