@vitessce/all 3.2.0 → 3.2.1

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,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-68f84e2a.js";
2
- import { B as BaseDecoder } from "./index-d4cd1fef.js";
2
+ import { B as BaseDecoder } from "./index-f32678b1.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -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-d4cd1fef.js";
3
+ import { c as commonjsGlobal, o as objectAssign, g as getDefaultExportFromCjs, e as earcut, b as getAugmentedNamespace } from "./index-f32678b1.js";
4
4
  function _mergeNamespaces(n, m) {
5
5
  for (var i = 0; i < m.length; i++) {
6
6
  const e = m[i];
@@ -5,7 +5,7 @@ var __publicField = (obj, key2, value2) => {
5
5
  return value2;
6
6
  };
7
7
  import * as React from "react";
8
- import React__default, { Children, isValidElement, cloneElement, useMemo, forwardRef, useRef, useImperativeHandle, useEffect, useLayoutEffect as useLayoutEffect$1, useState, PureComponent, Component as Component$1, useCallback, createElement, useId, useReducer, Suspense } from "react";
8
+ import React__default, { Children, isValidElement, cloneElement, useMemo, forwardRef, useRef, useImperativeHandle, useEffect, useLayoutEffect as useLayoutEffect$1, useState, PureComponent, Component as Component$1, useCallback, createElement, useContext, useReducer, Suspense } from "react";
9
9
  import { useLoaders, useCoordination, useDescription, useImageData, useReady, TitleInfo, useVitessceContainer, useSetWarning, useObsSetsData, useUrls, usePlotOptionsStyles, OptionsContainer, CellColorEncodingOption, OptionSelect, useComponentHover, useComponentViewInfo, useSetComponentHover, useSetComponentViewInfo, useInitialCoordination, useDeckCanvasSize, useMultiObsLabels, useObsEmbeddingData, useFeatureSelection, useObsFeatureMatrixIndices, useFeatureLabelsData, useGetObsInfo, useUint8FeatureSelection, useExpressionValueGetter, useAuxiliaryCoordination, useHasLoader, useObsLocationsData, useObsLabelsData, useObsSegmentationsData, useNeighborhoodsData, useCoordinationScopes, useCoordinationScopesBy, useMultiCoordinationScopesSecondaryNonNull, useMultiCoordinationScopesNonNull, useComplexCoordination, useComplexCoordinationSecondary, useMultiObsPoints, usePointMultiObsLabels, useMultiObsSpots, useSpotMultiObsSets, useSpotMultiFeatureSelection, useSpotMultiObsFeatureMatrixIndices, useSegmentationMultiObsLocations, useMultiObsSegmentations, useSegmentationMultiObsSets, useSegmentationMultiFeatureSelection, useSegmentationMultiObsFeatureMatrixIndices, useMultiImages, useObsFeatureMatrixData, useUint8ObsFeatureMatrix, useGetObsMembership, PopperMenu, useComponentLayout, useClosestVitessceContainerSize, useWindowDimensions, useRemoveImageChannelInMetaCoordinationScopes, useAddImageChannelInMetaCoordinationScopes, useWarning, useGridItemSize, useGenomicProfilesData, DataSourceFetchError, AbstractLoaderError, AbstractTwoStepLoader, LoaderResult, LoaderValidationError, logConfig, VitS } from "@vitessce/vit-s";
10
10
  import * as ReactDOM from "react-dom";
11
11
  import ReactDOM__default from "react-dom";
@@ -155975,16 +155975,16 @@ async function getDecoder(fileDirectory) {
155975
155975
  const Decoder = await importFn();
155976
155976
  return new Decoder(fileDirectory);
155977
155977
  }
155978
- addDecoder([void 0, 1], () => import("./raw-ed9deb25.js").then((m2) => m2.default));
155979
- addDecoder(5, () => import("./lzw-2b4715b3.js").then((m2) => m2.default));
155978
+ addDecoder([void 0, 1], () => import("./raw-7ca3593c.js").then((m2) => m2.default));
155979
+ addDecoder(5, () => import("./lzw-39de0b59.js").then((m2) => m2.default));
155980
155980
  addDecoder(6, () => {
155981
155981
  throw new Error("old style JPEG compression is not supported.");
155982
155982
  });
155983
- addDecoder(7, () => import("./jpeg-3b40fe93.js").then((m2) => m2.default));
155984
- addDecoder([8, 32946], () => import("./deflate-6b735acc.js").then((m2) => m2.default));
155985
- addDecoder(32773, () => import("./packbits-494352d8.js").then((m2) => m2.default));
155986
- addDecoder(34887, () => import("./lerc-e0d6f9e6.js").then((m2) => m2.default));
155987
- addDecoder(50001, () => import("./webimage-f9e0ebc3.js").then((m2) => m2.default));
155983
+ addDecoder(7, () => import("./jpeg-9980f30b.js").then((m2) => m2.default));
155984
+ addDecoder([8, 32946], () => import("./deflate-5a5940c6.js").then((m2) => m2.default));
155985
+ addDecoder(32773, () => import("./packbits-85aa5ade.js").then((m2) => m2.default));
155986
+ addDecoder(34887, () => import("./lerc-38105022.js").then((m2) => m2.default));
155987
+ addDecoder(50001, () => import("./webimage-73569cb7.js").then((m2) => m2.default));
155988
155988
  function copyNewSize(array2, width2, height2, samplesPerPixel = 1) {
155989
155989
  return new (Object.getPrototypeOf(array2)).constructor(width2 * height2 * samplesPerPixel);
155990
155990
  }
@@ -173717,9 +173717,135 @@ class Scatterplot extends AbstractSpatialOrScatterplot {
173717
173717
  }
173718
173718
  const ScatterplotWrapper = forwardRef((props2, deckRef) => jsxRuntimeExports.jsx(Scatterplot, { ...props2, deckRef }));
173719
173719
  ScatterplotWrapper.displayName = "ScatterplotWrapper";
173720
+ const $b5e257d569688ac6$var$defaultContext = {
173721
+ prefix: String(Math.round(Math.random() * 1e10)),
173722
+ current: 0
173723
+ };
173724
+ const $b5e257d569688ac6$var$SSRContext = /* @__PURE__ */ React__default.createContext($b5e257d569688ac6$var$defaultContext);
173725
+ const $b5e257d569688ac6$var$IsSSRContext = /* @__PURE__ */ React__default.createContext(false);
173726
+ let $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== "undefined" && window.document && window.document.createElement);
173727
+ let $b5e257d569688ac6$var$componentIds = /* @__PURE__ */ new WeakMap();
173728
+ function $b5e257d569688ac6$var$useCounter(isDisabled = false) {
173729
+ let ctx2 = useContext($b5e257d569688ac6$var$SSRContext);
173730
+ let ref2 = useRef(null);
173731
+ if (ref2.current === null && !isDisabled) {
173732
+ var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner;
173733
+ let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = React__default.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;
173734
+ if (currentOwner) {
173735
+ let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);
173736
+ if (prevComponentValue == null)
173737
+ $b5e257d569688ac6$var$componentIds.set(currentOwner, {
173738
+ id: ctx2.current,
173739
+ state: currentOwner.memoizedState
173740
+ });
173741
+ else if (currentOwner.memoizedState !== prevComponentValue.state) {
173742
+ ctx2.current = prevComponentValue.id;
173743
+ $b5e257d569688ac6$var$componentIds.delete(currentOwner);
173744
+ }
173745
+ }
173746
+ ref2.current = ++ctx2.current;
173747
+ }
173748
+ return ref2.current;
173749
+ }
173750
+ function $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId2) {
173751
+ let ctx2 = useContext($b5e257d569688ac6$var$SSRContext);
173752
+ if (ctx2 === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM)
173753
+ console.warn("When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.");
173754
+ let counter2 = $b5e257d569688ac6$var$useCounter(!!defaultId2);
173755
+ let prefix2 = ctx2 === $b5e257d569688ac6$var$defaultContext && false ? "react-aria" : `react-aria${ctx2.prefix}`;
173756
+ return defaultId2 || `${prefix2}-${counter2}`;
173757
+ }
173758
+ function $b5e257d569688ac6$var$useModernSSRSafeId(defaultId2) {
173759
+ let id2 = React__default.useId();
173760
+ let [didSSR] = useState($b5e257d569688ac6$export$535bd6ca7f90a273());
173761
+ let prefix2 = didSSR || false ? "react-aria" : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;
173762
+ return defaultId2 || `${prefix2}-${id2}`;
173763
+ }
173764
+ const $b5e257d569688ac6$export$619500959fc48b26 = typeof React__default["useId"] === "function" ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;
173765
+ function $b5e257d569688ac6$var$getSnapshot() {
173766
+ return false;
173767
+ }
173768
+ function $b5e257d569688ac6$var$getServerSnapshot() {
173769
+ return true;
173770
+ }
173771
+ function $b5e257d569688ac6$var$subscribe(onStoreChange) {
173772
+ return () => {
173773
+ };
173774
+ }
173775
+ function $b5e257d569688ac6$export$535bd6ca7f90a273() {
173776
+ if (typeof React__default["useSyncExternalStore"] === "function")
173777
+ return React__default["useSyncExternalStore"]($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);
173778
+ return useContext($b5e257d569688ac6$var$IsSSRContext);
173779
+ }
173780
+ const $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c = typeof document !== "undefined" ? React__default.useLayoutEffect : () => {
173781
+ };
173782
+ let $bdb11010cef70236$var$idsUpdaterMap = /* @__PURE__ */ new Map();
173783
+ function $bdb11010cef70236$export$f680877a34711e37(defaultId2) {
173784
+ let [value2, setValue] = useState(defaultId2);
173785
+ let nextId = useRef(null);
173786
+ let res = $b5e257d569688ac6$export$619500959fc48b26(value2);
173787
+ let updateValue = useCallback((val) => {
173788
+ nextId.current = val;
173789
+ }, []);
173790
+ $bdb11010cef70236$var$idsUpdaterMap.set(res, updateValue);
173791
+ $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
173792
+ let r3 = res;
173793
+ return () => {
173794
+ $bdb11010cef70236$var$idsUpdaterMap.delete(r3);
173795
+ };
173796
+ }, [
173797
+ res
173798
+ ]);
173799
+ useEffect(() => {
173800
+ let newId = nextId.current;
173801
+ if (newId) {
173802
+ nextId.current = null;
173803
+ setValue(newId);
173804
+ }
173805
+ });
173806
+ return res;
173807
+ }
173808
+ let $bbed8b41f857bcc0$var$transitionsByElement = /* @__PURE__ */ new Map();
173809
+ let $bbed8b41f857bcc0$var$transitionCallbacks = /* @__PURE__ */ new Set();
173810
+ function $bbed8b41f857bcc0$var$setupGlobalEvents() {
173811
+ if (typeof window === "undefined")
173812
+ return;
173813
+ let onTransitionStart = (e3) => {
173814
+ let transitions2 = $bbed8b41f857bcc0$var$transitionsByElement.get(e3.target);
173815
+ if (!transitions2) {
173816
+ transitions2 = /* @__PURE__ */ new Set();
173817
+ $bbed8b41f857bcc0$var$transitionsByElement.set(e3.target, transitions2);
173818
+ e3.target.addEventListener("transitioncancel", onTransitionEnd);
173819
+ }
173820
+ transitions2.add(e3.propertyName);
173821
+ };
173822
+ let onTransitionEnd = (e3) => {
173823
+ let properties = $bbed8b41f857bcc0$var$transitionsByElement.get(e3.target);
173824
+ if (!properties)
173825
+ return;
173826
+ properties.delete(e3.propertyName);
173827
+ if (properties.size === 0) {
173828
+ e3.target.removeEventListener("transitioncancel", onTransitionEnd);
173829
+ $bbed8b41f857bcc0$var$transitionsByElement.delete(e3.target);
173830
+ }
173831
+ if ($bbed8b41f857bcc0$var$transitionsByElement.size === 0) {
173832
+ for (let cb of $bbed8b41f857bcc0$var$transitionCallbacks)
173833
+ cb();
173834
+ $bbed8b41f857bcc0$var$transitionCallbacks.clear();
173835
+ }
173836
+ };
173837
+ document.body.addEventListener("transitionrun", onTransitionStart);
173838
+ document.body.addEventListener("transitionend", onTransitionEnd);
173839
+ }
173840
+ if (typeof document !== "undefined") {
173841
+ if (document.readyState !== "loading")
173842
+ $bbed8b41f857bcc0$var$setupGlobalEvents();
173843
+ else
173844
+ document.addEventListener("DOMContentLoaded", $bbed8b41f857bcc0$var$setupGlobalEvents);
173845
+ }
173720
173846
  function ScatterplotOptions(props2) {
173721
173847
  const { children: children2, observationsLabel, cellRadius, setCellRadius, cellRadiusMode, setCellRadiusMode, cellOpacity, setCellOpacity, cellOpacityMode, setCellOpacityMode, cellSetLabelsVisible, setCellSetLabelsVisible, tooltipsVisible, setTooltipsVisible, cellSetLabelSize, setCellSetLabelSize, cellSetPolygonsVisible, setCellSetPolygonsVisible, cellColorEncoding, setCellColorEncoding, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange } = props2;
173722
- const scatterplotOptionsId = useId();
173848
+ const scatterplotOptionsId = $bdb11010cef70236$export$f680877a34711e37();
173723
173849
  const observationsLabelNice = capitalize$2(observationsLabel);
173724
173850
  const classes = usePlotOptionsStyles();
173725
173851
  function handleCellRadiusModeChange(event2) {
@@ -176244,7 +176370,7 @@ function EmbeddingScatterplotSubscriber(props2) {
176244
176370
  }
176245
176371
  function GatingScatterplotOptions(props2) {
176246
176372
  const { featureType, gatingFeatureSelectionX, setGatingFeatureSelectionX, gatingFeatureSelectionY, setGatingFeatureSelectionY, gatingFeatureValueTransform, setGatingFeatureValueTransform, gatingFeatureValueTransformCoefficient, setGatingFeatureValueTransformCoefficient, geneSelectOptions, transformOptions } = props2;
176247
- const gatingScatterplotOptionsId = useId();
176373
+ const gatingScatterplotOptionsId = $bdb11010cef70236$export$f680877a34711e37();
176248
176374
  const classes = usePlotOptionsStyles();
176249
176375
  const handleGeneSelectChange = (event2) => {
176250
176376
  const { options } = event2.target;
@@ -192735,7 +192861,7 @@ const useToggleStyles = makeStyles(() => ({
192735
192861
  }
192736
192862
  }));
192737
192863
  const ToggleFixedAxisButton = ({ setSpatialAxisFixed, spatialAxisFixed, use3d }) => {
192738
- const toggleAxisId = useId();
192864
+ const toggleAxisId = $bdb11010cef70236$export$f680877a34711e37();
192739
192865
  const classes = useToggleStyles();
192740
192866
  return jsxRuntimeExports.jsxs(TableRow$1, { children: [jsxRuntimeExports.jsx(TableCell$1, { className: classes.cameraLabel, variant: "head", scope: "row", children: jsxRuntimeExports.jsx("label", { htmlFor: `spatial-camera-axis-${toggleAxisId}`, children: "Fix Camera Axis" }) }), jsxRuntimeExports.jsx(TableCell$1, { className: classes.toggleBox, variant: "body", children: jsxRuntimeExports.jsx(Checkbox$1, { onClick: () => setSpatialAxisFixed(!spatialAxisFixed), disabled: !use3d, checked: Boolean(spatialAxisFixed), inputProps: {
192741
192867
  "aria-label": "Fix or not fix spatial camera axis",
@@ -192744,7 +192870,7 @@ const ToggleFixedAxisButton = ({ setSpatialAxisFixed, spatialAxisFixed, use3d })
192744
192870
  };
192745
192871
  function SpatialOptions(props2) {
192746
192872
  const { observationsLabel, cellColorEncoding, setCellColorEncoding, setSpatialAxisFixed, spatialAxisFixed, use3d, tooltipsVisible, setTooltipsVisible, geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, canShowExpressionOptions, canShowColorEncodingOption, canShow3DOptions } = props2;
192747
- const spatialOptionsId = useId();
192873
+ const spatialOptionsId = $bdb11010cef70236$export$f680877a34711e37();
192748
192874
  function handleGeneExpressionColormapChange(event2) {
192749
192875
  setGeneExpressionColormap(event2.target.value);
192750
192876
  }
@@ -195730,7 +195856,7 @@ function HeatmapTooltipSubscriber(props2) {
195730
195856
  function HeatmapOptions(props2) {
195731
195857
  const { geneExpressionColormap, setGeneExpressionColormap, geneExpressionColormapRange, setGeneExpressionColormapRange, tooltipsVisible, setTooltipsVisible } = props2;
195732
195858
  const classes = usePlotOptionsStyles();
195733
- const heatmapOptionsId = useId();
195859
+ const heatmapOptionsId = $bdb11010cef70236$export$f680877a34711e37();
195734
195860
  function handleGeneExpressionColormapChange(event2) {
195735
195861
  setGeneExpressionColormap(event2.target.value);
195736
195862
  }
@@ -200222,7 +200348,7 @@ function FeatureList(props2) {
200222
200348
  }
200223
200349
  function FeatureListOptions(props2) {
200224
200350
  const { children: children2, featureListSort, setFeatureListSort, featureListSortKey, setFeatureListSortKey, showFeatureTable, setShowFeatureTable, hasFeatureLabels, primaryColumnName } = props2;
200225
- const featureListId = useId();
200351
+ const featureListId = $bdb11010cef70236$export$f680877a34711e37();
200226
200352
  function handleFeatureListSortChange(event2) {
200227
200353
  setFeatureListSort(event2.target.value);
200228
200354
  }
@@ -200672,11 +200798,11 @@ function LayerOptions({ colormap, opacity: opacity2, handleColormapChange, handl
200672
200798
  const hasViewableResolutions = Boolean(Array.from({
200673
200799
  length: loader2.data.length
200674
200800
  }).filter((_, res) => canLoadResolution(loader2.data, res)).length);
200675
- const globalSelectionSliderId = useId();
200676
- const colormapSelectId = useId();
200677
- const domainSelectorId = useId();
200678
- const opacitySliderId = useId();
200679
- const zeroTransparentId = useId();
200801
+ const globalSelectionSliderId = $bdb11010cef70236$export$f680877a34711e37();
200802
+ const colormapSelectId = $bdb11010cef70236$export$f680877a34711e37();
200803
+ const domainSelectorId = $bdb11010cef70236$export$f680877a34711e37();
200804
+ const opacitySliderId = $bdb11010cef70236$export$f680877a34711e37();
200805
+ const zeroTransparentId = $bdb11010cef70236$export$f680877a34711e37();
200680
200806
  return jsxRuntimeExports.jsxs(Grid$3, { container: true, direction: "column", style: { width: "100%" }, children: [hasZStack && !disable3d && hasViewableResolutions && jsxRuntimeExports.jsx(VolumeDropdown, { loader: loader2, handleSliderChange, handleDomainChange, channels: channels2, handleMultiPropertyChange, resolution, disable3d, setRasterLayerCallback, setAreAllChannelsLoading, setViewState, spatialHeight, spatialWidth, use3d, modelMatrix: modelMatrix2 }), hasDimensionsAndChannels && !use3d && globalControlLabels.map((field2) => shape2[labels2.indexOf(field2)] > 1 && jsxRuntimeExports.jsx(LayerOption, { name: field2, inputId: `${field2}-${globalSelectionSliderId}`, children: jsxRuntimeExports.jsx(GlobalSelectionSlider, { field: field2, inputId: `${field2}-${globalSelectionSliderId}`, value: globalLabelValues[field2], handleChange: handleGlobalChannelsSelectionChange, possibleValues: range$b(shape2[labels2.indexOf(field2)]) }) }, field2)), !disableChannelsIfRgbDetected ? jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [shouldShowColormap && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Colormap", inputId: colormapSelectId, children: jsxRuntimeExports.jsx(ColormapSelect, { value: colormap || "", inputId: colormapSelectId, handleChange: handleColormapChange }) }) }), shouldShowDomain && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Domain", inputId: domainSelectorId, children: jsxRuntimeExports.jsx(SliderDomainSelector, { value: domainType || DEFAULT_RASTER_DOMAIN_TYPE, inputId: domainSelectorId, handleChange: (value2) => {
200681
200807
  handleDomainChange(value2);
200682
200808
  } }) }) })] }) : null, !use3d && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Opacity", inputId: opacitySliderId, children: jsxRuntimeExports.jsx(OpacitySlider, { value: opacity2, handleChange: handleOpacityChange, inputId: opacitySliderId }) }) }), shouldShowTransparentColor && !use3d && jsxRuntimeExports.jsx(Grid$3, { item: true, children: jsxRuntimeExports.jsx(LayerOption, { name: "Zero Transparent", inputId: zeroTransparentId, children: jsxRuntimeExports.jsx(TransparentColorCheckbox, { value: transparentColor, handleChange: handleTransparentColorChange, inputId: zeroTransparentId }) }) })] });
@@ -200779,7 +200905,7 @@ function LayerController$1(props2) {
200779
200905
  channelRef.current = channels2;
200780
200906
  return void 0;
200781
200907
  }, [channels2]);
200782
- const layerControlsId = useId();
200908
+ const layerControlsId = $bdb11010cef70236$export$f680877a34711e37();
200783
200909
  const firstSelection = ((_a2 = channels2[0]) == null ? void 0 : _a2.selection) || {};
200784
200910
  const { data: data2, channels: channelOptions } = loader2;
200785
200911
  const [tab, setTab] = useState(0);
@@ -201419,13 +201545,13 @@ function SpotLayerEllipsisMenu(props2) {
201419
201545
  useStyles$c();
201420
201546
  const selectClasses = useSelectStyles();
201421
201547
  const menuClasses = useEllipsisMenuStyles();
201422
- const filledId = useId();
201423
- const strokeWidthId = useId();
201424
- const quantitativeColormapId = useId();
201425
- const colormapRangeId = useId();
201426
- const tooltipsVisibleId = useId();
201427
- const crosshairsVisibleId = useId();
201428
- const legendVisibleId = useId();
201548
+ const filledId = $bdb11010cef70236$export$f680877a34711e37();
201549
+ const strokeWidthId = $bdb11010cef70236$export$f680877a34711e37();
201550
+ const quantitativeColormapId = $bdb11010cef70236$export$f680877a34711e37();
201551
+ const colormapRangeId = $bdb11010cef70236$export$f680877a34711e37();
201552
+ const tooltipsVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201553
+ const crosshairsVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201554
+ const legendVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201429
201555
  return jsxRuntimeExports.jsxs(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(MoreVertIcon, {}), buttonClassName: menuClasses.imageLayerMenuButton, containerClassName: menuClasses.imageLayerPopperContainer, withPaper: true, "aria-label": "Open spot layer options menu", children: [jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: filledId, children: "Filled: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: filled, onChange: (e3, v) => setFilled(v), inputProps: { id: filledId, "aria-label": "Toggle between filled and stroked spots" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: strokeWidthId, children: "Stroke Width:" }), jsxRuntimeExports.jsx(Slider$1, { disabled: filled, value: strokeWidth, min: 0.01, max: 5, step: 0.01, onChange: (e3, v) => setStrokeWidth(v), className: menuClasses.menuItemSlider, orientation: "horizontal", id: strokeWidthId, "aria-label": "Stroke width slider" })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: quantitativeColormapId, children: "Color Encoding: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, onChange: (e3) => setObsColorEncoding(e3.target.value), value: obsColorEncoding, inputProps: { id: quantitativeColormapId, "aria-label": "Color encoding selector" }, classes: { root: selectClasses.selectRoot }, children: [jsxRuntimeExports.jsx("option", { value: "spatialLayerColor", children: "Static Color" }), jsxRuntimeExports.jsx("option", { value: "geneSelection", children: "Feature Value" }), jsxRuntimeExports.jsx("option", { value: "cellSetSelection", children: "Set Selection" })] })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: colormapRangeId, children: "Colormap Range: " }), jsxRuntimeExports.jsx(Slider$1, { disabled: obsColorEncoding !== "geneSelection", value: featureValueColormapRange, min: 0, max: 1, step: 0.01, onChange: (e3, v) => setFeatureValueColormapRange(v), className: menuClasses.menuItemSlider, orientation: "horizontal", id: colormapRangeId, getAriaLabel: (index2) => index2 === 0 ? "Low value colormap range slider" : "High value colormap range slider" })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: tooltipsVisibleId, children: "Tooltips Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: tooltipsVisible, onChange: (e3, v) => setTooltipsVisible(v), inputProps: { id: tooltipsVisibleId, "aria-label": "Toggle tooltip visibility" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: crosshairsVisibleId, children: "Tooltip Crosshairs Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: tooltipCrosshairsVisible, onChange: (e3, v) => setTooltipCrosshairsVisible(v), inputProps: { id: crosshairsVisibleId, "aria-label": "Toggle tooltip crosshair visibility" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: legendVisibleId, children: "Legend Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: legendVisible, onChange: (e3, v) => setLegendVisible(v), inputProps: { id: legendVisibleId, "aria-label": "Toggle legend visibility" } })] })] });
201430
201556
  }
201431
201557
  function SpotLayerController(props2) {
@@ -201462,11 +201588,11 @@ function PointLayerEllipsisMenu(props2) {
201462
201588
  const [open, setOpen] = useState(false);
201463
201589
  const selectClasses = useSelectStyles();
201464
201590
  const menuClasses = useEllipsisMenuStyles();
201465
- const quantitativeColormapId = useId();
201466
- const colormapRangeId = useId();
201467
- const tooltipsVisibleId = useId();
201468
- const crosshairsVisibleId = useId();
201469
- const legendVisibleId = useId();
201591
+ const quantitativeColormapId = $bdb11010cef70236$export$f680877a34711e37();
201592
+ const colormapRangeId = $bdb11010cef70236$export$f680877a34711e37();
201593
+ const tooltipsVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201594
+ const crosshairsVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201595
+ const legendVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201470
201596
  return jsxRuntimeExports.jsxs(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(MoreVertIcon, {}), buttonClassName: menuClasses.imageLayerMenuButton, containerClassName: menuClasses.imageLayerPopperContainer, withPaper: true, "aria-label": "Open point layer options menu", children: [jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: quantitativeColormapId, children: "Color Encoding: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, onChange: (e3) => setObsColorEncoding(e3.target.value), value: obsColorEncoding, inputProps: { id: quantitativeColormapId, "aria-label": "Color encoding selector" }, classes: { root: selectClasses.selectRoot }, children: [jsxRuntimeExports.jsx("option", { value: "spatialLayerColor", children: "Static Color" }), jsxRuntimeExports.jsx("option", { value: "obsLabels", children: "Label Value" })] })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: colormapRangeId, children: "Colormap Range: " }), jsxRuntimeExports.jsx(Slider$1, { disabled: obsColorEncoding !== "geneSelection", value: featureValueColormapRange, min: 0, max: 1, step: 0.01, onChange: (e3, v) => setFeatureValueColormapRange(v), className: menuClasses.menuItemSlider, orientation: "horizontal", id: colormapRangeId, getAriaLabel: (index2) => index2 === 0 ? "Low value colormap range slider" : "High value colormap range slider" })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: tooltipsVisibleId, children: "Tooltips Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: tooltipsVisible, onChange: (e3, v) => setTooltipsVisible(v), inputProps: { id: tooltipsVisibleId, "aria-label": "Toggle tooltip visibility" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: crosshairsVisibleId, children: "Tooltip Crosshairs Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: tooltipCrosshairsVisible, onChange: (e3, v) => setTooltipCrosshairsVisible(v), inputProps: { id: crosshairsVisibleId, "aria-label": "Toggle tooltip crosshair visibility" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: legendVisibleId, children: "Legend Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: legendVisible, onChange: (e3, v) => setLegendVisible(v), inputProps: { id: legendVisibleId, "aria-label": "Toggle legend visibility" } })] })] });
201471
201597
  }
201472
201598
  function PointLayerController(props2) {
@@ -201504,13 +201630,13 @@ function SegmentationChannelEllipsisMenu(props2) {
201504
201630
  useStyles$a();
201505
201631
  const selectClasses = useSelectStyles();
201506
201632
  const menuClasses = useEllipsisMenuStyles();
201507
- const filledId = useId();
201508
- const strokeWidthId = useId();
201509
- const quantitativeColormapId = useId();
201510
- const colormapRangeId = useId();
201511
- const tooltipsVisibleId = useId();
201512
- const crosshairsVisibleId = useId();
201513
- const legendVisibleId = useId();
201633
+ const filledId = $bdb11010cef70236$export$f680877a34711e37();
201634
+ const strokeWidthId = $bdb11010cef70236$export$f680877a34711e37();
201635
+ const quantitativeColormapId = $bdb11010cef70236$export$f680877a34711e37();
201636
+ const colormapRangeId = $bdb11010cef70236$export$f680877a34711e37();
201637
+ const tooltipsVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201638
+ const crosshairsVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201639
+ const legendVisibleId = $bdb11010cef70236$export$f680877a34711e37();
201514
201640
  return jsxRuntimeExports.jsxs(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(MoreVertIcon, {}), buttonClassName: menuClasses.imageLayerMenuButton, containerClassName: menuClasses.imageLayerPopperContainer, withPaper: true, "aria-label": "Open segmentation channel options menu", children: [jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: filledId, children: "Filled: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: filled, onChange: (e3, v) => setFilled(v), inputProps: { id: filledId, "aria-label": "Toggle between filled and stroked segmentations" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: strokeWidthId, children: "Stroke Width:" }), jsxRuntimeExports.jsx(Slider$1, { disabled: filled, value: strokeWidth, min: 0.01, max: 5, step: 0.01, onChange: (e3, v) => setStrokeWidth(v), className: menuClasses.menuItemSlider, orientation: "horizontal", id: strokeWidthId, "aria-label": "Stroke width slider" })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: quantitativeColormapId, children: "Color Encoding: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, onChange: (e3) => setObsColorEncoding(e3.target.value), value: obsColorEncoding, inputProps: { id: quantitativeColormapId, "aria-label": "Color encoding selector" }, classes: { root: selectClasses.selectRoot }, children: [jsxRuntimeExports.jsx("option", { value: "spatialChannelColor", children: "Static Color" }), jsxRuntimeExports.jsx("option", { value: "geneSelection", children: "Feature Value" }), jsxRuntimeExports.jsx("option", { value: "cellSetSelection", children: "Set Selection" })] })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: colormapRangeId, children: "Colormap Range: " }), jsxRuntimeExports.jsx(Slider$1, { disabled: obsColorEncoding !== "geneSelection", value: featureValueColormapRange, min: 0, max: 1, step: 0.01, onChange: (e3, v) => setFeatureValueColormapRange(v), className: menuClasses.menuItemSlider, orientation: "horizontal", id: colormapRangeId, getAriaLabel: (index2) => index2 === 0 ? "Low value colormap range slider" : "High value colormap range slider" })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: tooltipsVisibleId, children: "Tooltips Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: tooltipsVisible, onChange: (e3, v) => setTooltipsVisible(v), inputProps: { id: tooltipsVisibleId, "aria-label": "Toggle tooltip visibility" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: crosshairsVisibleId, children: "Tooltip Crosshairs Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: tooltipCrosshairsVisible, onChange: (e3, v) => setTooltipCrosshairsVisible(v), inputProps: { id: crosshairsVisibleId, "aria-label": "Toggle tooltip crosshair visibility" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: legendVisibleId, children: "Legend Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: legendVisible, onChange: (e3, v) => setLegendVisible(v), inputProps: { id: legendVisibleId, "aria-label": "Toggle legend visibility" } })] })] });
201515
201641
  }
201516
201642
  function SegmentationChannelController(props2) {
@@ -202611,7 +202737,7 @@ function ChannelOptions(props2) {
202611
202737
  function handleDomainTypeChange(event2) {
202612
202738
  setShowValueExtent(event2.target.value === "Value Min/Max");
202613
202739
  }
202614
- const domainTypeId = useId();
202740
+ const domainTypeId = $bdb11010cef70236$export$f680877a34711e37();
202615
202741
  return jsxRuntimeExports.jsxs(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(MoreVertIcon, { fontSize: "small" }), buttonClassName: classes.channelMenuButton, containerClassName: menuClasses.imageLayerPopperContainer, placement: "bottom-end", withPaper: true, "aria-label": "Open channel options menu", children: [jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: domainTypeId, children: "Slider Extent: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, onChange: handleDomainTypeChange, value: showValueExtent ? "Value Min/Max" : "Dtype Min/Max", inputProps: { id: domainTypeId, "aria-label": "Slider extent selector" }, classes: { root: selectClasses.selectRoot }, children: [jsxRuntimeExports.jsx("option", { value: "Value Min/Max", children: "Value Min/Max" }), jsxRuntimeExports.jsx("option", { value: "Dtype Min/Max", children: "Dtype Min/Max" })] })] }), jsxRuntimeExports.jsx(MenuItem$1, { dense: true, disableGutters: true, component: "button", onClick: onResetWindowUsingIQR, className: classes.menuItemButton, "aria-label": "Click to use IQR for channel", children: "Reset window using IQR" }), jsxRuntimeExports.jsx(MenuItem$1, { dense: true, disableGutters: true, component: "button", onClick: handleRemove, className: classes.menuItemButton, "aria-label": "Click to remove channel", children: "Remove channel" })] });
202616
202742
  }
202617
202743
  const useStyles$8 = makeStyles(() => ({
@@ -202795,15 +202921,15 @@ function ImageLayerEllipsisMenu(props2) {
202795
202921
  function handleChannelLabelsOrientationChange(event2) {
202796
202922
  setChannelLabelsOrientation(event2.target.value);
202797
202923
  }
202798
- const colormapId = useId();
202799
- const interpretationId = useId();
202800
- const transparentId = useId();
202801
- const volumetricId = useId();
202802
- const resolutionId = useId();
202803
- const tooltipsVisibleId = useId();
202804
- const channelLabelsVisibleId = useId();
202805
- const channelLabelsOrientationId = useId();
202806
- const channelLabelSizeId = useId();
202924
+ const colormapId = $bdb11010cef70236$export$f680877a34711e37();
202925
+ const interpretationId = $bdb11010cef70236$export$f680877a34711e37();
202926
+ const transparentId = $bdb11010cef70236$export$f680877a34711e37();
202927
+ const volumetricId = $bdb11010cef70236$export$f680877a34711e37();
202928
+ const resolutionId = $bdb11010cef70236$export$f680877a34711e37();
202929
+ const tooltipsVisibleId = $bdb11010cef70236$export$f680877a34711e37();
202930
+ const channelLabelsVisibleId = $bdb11010cef70236$export$f680877a34711e37();
202931
+ const channelLabelsOrientationId = $bdb11010cef70236$export$f680877a34711e37();
202932
+ const channelLabelSizeId = $bdb11010cef70236$export$f680877a34711e37();
202807
202933
  return jsxRuntimeExports.jsxs(PopperMenu, { open, setOpen, buttonIcon: jsxRuntimeExports.jsx(MoreVertIcon, {}), buttonClassName: menuClasses.imageLayerMenuButton, containerClassName: menuClasses.imageLayerPopperContainer, withPaper: true, "aria-label": "Open image layer options menu", children: [jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: colormapId, children: "Colormap: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, disabled: photometricInterpretation === "RGB", onChange: handleColormapChange, value: colormap === null ? "" : colormap, inputProps: { id: colormapId, "aria-label": "Colormap selector" }, classes: { root: selectClasses.selectRoot }, children: [jsxRuntimeExports.jsx("option", { "aria-label": "None", value: "", children: "None" }), COLORMAP_OPTIONS.map((name2) => jsxRuntimeExports.jsx("option", { value: name2, children: name2 }, name2))] })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: interpretationId, children: "Photometric Interpretation: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, onChange: handleInterpretationChange, value: photometricInterpretation, inputProps: { id: interpretationId, "aria-label": "Photometric interpretation selector" }, classes: { root: selectClasses.selectRoot }, children: [jsxRuntimeExports.jsx("option", { "aria-label": "RGB", value: "RGB", children: "RGB" }), channelScopes.length > 0 ? jsxRuntimeExports.jsx("option", { "aria-label": "BlackIsZero", value: "BlackIsZero", children: "BlackIsZero" }) : null] })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: transparentId, children: "Zero Transparent: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: spatialLayerTransparentColor !== null, onChange: (e3, v) => setSpatialLayerTransparentColor(v ? [0, 0, 0] : null), inputProps: { id: transparentId, "aria-label": "Render zero-value pixels as transparent" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: volumetricId, children: "Volumetric Rendering: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, onChange: handleVolumetricChange, value: volumetricRenderingAlgorithm, inputProps: { id: volumetricId, "aria-label": "Volumetric rendering algorithm selector" }, classes: { root: selectClasses.selectRoot }, disabled: !is3dMode, children: [jsxRuntimeExports.jsx("option", { "aria-label": "Additive", value: "additive", children: "Additive" }), jsxRuntimeExports.jsx("option", { "aria-label": "Maximum Intensity Projection", value: "maximumIntensityProjection", children: "Maximum Intensity Projection" })] })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: resolutionId, children: "Volume Resolution: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, disabled: !is3dMode || !isMultiResolution, onChange: handleResolutionChange, value: spatialTargetResolution === null ? "auto" : spatialTargetResolution, inputProps: { id: resolutionId, "aria-label": "Volumetric resolution selector" }, classes: { root: selectClasses.selectRoot }, children: [jsxRuntimeExports.jsx("option", { value: "auto", children: "Auto" }), Array.isArray(multiResolutionStats) ? multiResolutionStats.map((stats, resolution) => stats.canLoad ? jsxRuntimeExports.jsx("option", { value: resolution, children: `3D: ${resolution}x Downsampled, ~${formatBytes(stats.totalBytes)} per channel, (${stats.height}, ${stats.width}, ${stats.depthDownsampled})` }, `(${stats.height}, ${stats.width}, ${stats.depthDownsampled})`) : null) : null] })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: tooltipsVisibleId, children: "Tooltips Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { color: "primary", checked: tooltipsVisible, onChange: (e3, v) => setTooltipsVisible(v), inputProps: { id: tooltipsVisibleId, "aria-label": "Render pixel value tooltips" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: channelLabelsVisibleId, children: "Channel Labels Visible: " }), jsxRuntimeExports.jsx(Checkbox$1, { disabled: photometricInterpretation === "RGB", color: "primary", checked: channelLabelsVisible, onChange: (e3, v) => setChannelLabelsVisible(v), inputProps: { id: channelLabelsVisibleId, "aria-label": "Render channel labels" } })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: channelLabelsOrientationId, children: "Channel Labels Orientation: " }), jsxRuntimeExports.jsxs(Select$1, { native: true, disabled: photometricInterpretation === "RGB", onChange: handleChannelLabelsOrientationChange, value: channelLabelsOrientation, inputProps: { id: channelLabelsOrientationId, "aria-label": "Channel labels orientation selector" }, classes: { root: selectClasses.selectRoot }, children: [jsxRuntimeExports.jsx("option", { "aria-label": "Vertical", value: "vertical", children: "Vertical" }), jsxRuntimeExports.jsx("option", { "aria-label": "Horizontal", value: "horizontal", children: "Horizontal" })] })] }), jsxRuntimeExports.jsxs(MenuItem$1, { dense: true, disableGutters: true, children: [jsxRuntimeExports.jsx("label", { className: menuClasses.imageLayerMenuLabel, htmlFor: channelLabelSizeId, children: "Channel Labels Size: " }), jsxRuntimeExports.jsx(Slider$1, { disabled: photometricInterpretation === "RGB", value: channelLabelSize, min: 8, max: 36, step: 1, onChange: (e3, v) => setChannelLabelSize(v), className: menuClasses.menuItemSlider, orientation: "horizontal", id: channelLabelSizeId, "aria-label": "Channel labels text size slider" })] })] });
202808
202934
  }
202809
202935
  function ImageLayerController(props2) {
@@ -203541,7 +203667,7 @@ const HIGLASS_BUNDLE_VERSION = "1.11.13";
203541
203667
  const HIGLASS_CSS_URL = `https://unpkg.com/${HIGLASS_PKG_NAME}@${HIGLASS_BUNDLE_VERSION}/dist/hglib.css`;
203542
203668
  register({ dataFetcher: ZarrMultivecDataFetcher, config: ZarrMultivecDataFetcher.config }, { pluginType: "dataFetcher" });
203543
203669
  const LazyHiGlassComponent = React__default.lazy(async () => {
203544
- const { HiGlassComponent } = await import("./hglib-2b8cd9d8.js").then((n3) => n3.h);
203670
+ const { HiGlassComponent } = await import("./hglib-40512a35.js").then((n3) => n3.h);
203545
203671
  return { default: HiGlassComponent };
203546
203672
  });
203547
203673
  const HG_SIZE = 800;
@@ -203829,7 +203955,7 @@ function GenomicProfilesSubscriber(props2) {
203829
203955
  }
203830
203956
  function CellSetExpressionPlotOptions(props2) {
203831
203957
  const { featureValueTransform, setFeatureValueTransform, featureValueTransformCoefficient, setFeatureValueTransformCoefficient, transformOptions } = props2;
203832
- const cellSetExpressionPlotOptionsId = useId();
203958
+ const cellSetExpressionPlotOptionsId = $bdb11010cef70236$export$f680877a34711e37();
203833
203959
  const classes = usePlotOptionsStyles();
203834
203960
  const handleTransformChange = (event2) => {
203835
203961
  setFeatureValueTransform(event2.target.value === "" ? null : event2.target.value);
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { f, P, h, d, V, z } from "./index-d4cd1fef.js";
1
+ import { f, P, h, d, V, z } from "./index-f32678b1.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d4cd1fef.js";
1
+ import { B as BaseDecoder } from "./index-f32678b1.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -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-d4cd1fef.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder, L as LercParameters, a as LercAddCompression } from "./index-f32678b1.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d4cd1fef.js";
1
+ import { B as BaseDecoder } from "./index-f32678b1.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d4cd1fef.js";
1
+ import { B as BaseDecoder } from "./index-f32678b1.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d4cd1fef.js";
1
+ import { B as BaseDecoder } from "./index-f32678b1.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d4cd1fef.js";
1
+ import { B as BaseDecoder } from "./index-f32678b1.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/all",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
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.2.0",
22
- "@vitessce/csv": "3.2.0",
23
- "@vitessce/description": "3.2.0",
24
- "@vitessce/feature-list": "3.2.0",
25
- "@vitessce/genomic-profiles": "3.2.0",
26
- "@vitessce/heatmap": "3.2.0",
27
- "@vitessce/json": "3.2.0",
28
- "@vitessce/layer-controller": "3.2.0",
29
- "@vitessce/layer-controller-beta": "3.2.0",
30
- "@vitessce/obs-sets-manager": "3.2.0",
31
- "@vitessce/ome-tiff": "3.2.0",
32
- "@vitessce/plugins": "3.2.0",
33
- "@vitessce/scatterplot-embedding": "3.2.0",
34
- "@vitessce/scatterplot-gating": "3.2.0",
35
- "@vitessce/schemas": "3.2.0",
36
- "@vitessce/spatial": "3.2.0",
37
- "@vitessce/spatial-beta": "3.2.0",
38
- "@vitessce/statistical-plots": "3.2.0",
39
- "@vitessce/status": "3.2.0",
40
- "@vitessce/vit-s": "3.2.0",
41
- "@vitessce/zarr": "3.2.0"
21
+ "@vitessce/constants-internal": "3.2.1",
22
+ "@vitessce/csv": "3.2.1",
23
+ "@vitessce/description": "3.2.1",
24
+ "@vitessce/feature-list": "3.2.1",
25
+ "@vitessce/genomic-profiles": "3.2.1",
26
+ "@vitessce/heatmap": "3.2.1",
27
+ "@vitessce/json": "3.2.1",
28
+ "@vitessce/layer-controller": "3.2.1",
29
+ "@vitessce/layer-controller-beta": "3.2.1",
30
+ "@vitessce/obs-sets-manager": "3.2.1",
31
+ "@vitessce/ome-tiff": "3.2.1",
32
+ "@vitessce/plugins": "3.2.1",
33
+ "@vitessce/scatterplot-embedding": "3.2.1",
34
+ "@vitessce/scatterplot-gating": "3.2.1",
35
+ "@vitessce/schemas": "3.2.1",
36
+ "@vitessce/spatial": "3.2.1",
37
+ "@vitessce/spatial-beta": "3.2.1",
38
+ "@vitessce/statistical-plots": "3.2.1",
39
+ "@vitessce/status": "3.2.1",
40
+ "@vitessce/vit-s": "3.2.1",
41
+ "@vitessce/zarr": "3.2.1"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/react": "^18.0.28",