@vitessce/scatterplot-gating 3.8.10 → 3.8.13

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-SxljTded.js";
2
- import { B as BaseDecoder } from "./index-3JLSEmls.js";
2
+ import { B as BaseDecoder } from "./index-JCI2kghh.js";
3
3
  class DeflateDecoder extends BaseDecoder {
4
4
  decodeBlock(buffer) {
5
5
  return inflate_1(new Uint8Array(buffer)).buffer;
@@ -9791,6 +9791,8 @@ const CoordinationType$1 = {
9791
9791
  // Per-spatial-layer
9792
9792
  SPATIAL_MAX_RESOLUTION: "spatialMaxResolution",
9793
9793
  // Per-image-channel (for spatial-accelerated)
9794
+ SPATIAL_LOD_FACTOR: "spatialLodFactor",
9795
+ // LOD factor for 3D volume rendering
9794
9796
  // For clipping plane sliders
9795
9797
  SPATIAL_SLICE_X: "spatialSliceX",
9796
9798
  SPATIAL_SLICE_Y: "spatialSliceY",
@@ -123149,22 +123151,22 @@ function addDecoder(cases, importFn) {
123149
123151
  }
123150
123152
  cases.forEach((c2) => registry$1.set(c2, importFn));
123151
123153
  }
123152
- addDecoder([void 0, 1], () => import("./raw-CKB_LRT8.js").then((m2) => m2.default));
123153
- addDecoder(5, () => import("./lzw-DWJkCyJc.js").then((m2) => m2.default));
123154
+ addDecoder([void 0, 1], () => import("./raw-BeITcWgG.js").then((m2) => m2.default));
123155
+ addDecoder(5, () => import("./lzw-DDRPaMz6.js").then((m2) => m2.default));
123154
123156
  addDecoder(6, () => {
123155
123157
  throw new Error("old style JPEG compression is not supported.");
123156
123158
  });
123157
- addDecoder(7, () => import("./jpeg-CmWYaDwo.js").then((m2) => m2.default));
123158
- addDecoder([8, 32946], () => import("./deflate-cHZ5BtL4.js").then((m2) => m2.default));
123159
- addDecoder(32773, () => import("./packbits-FBcM5Pu3.js").then((m2) => m2.default));
123159
+ addDecoder(7, () => import("./jpeg-bh0nWZgm.js").then((m2) => m2.default));
123160
+ addDecoder([8, 32946], () => import("./deflate-BvMzmd5B.js").then((m2) => m2.default));
123161
+ addDecoder(32773, () => import("./packbits-B_Y9zZx3.js").then((m2) => m2.default));
123160
123162
  addDecoder(
123161
123163
  34887,
123162
- () => import("./lerc-xs2XgP1_.js").then(async (m2) => {
123164
+ () => import("./lerc-ojSyWx0X.js").then(async (m2) => {
123163
123165
  await m2.zstd.init();
123164
123166
  return m2;
123165
123167
  }).then((m2) => m2.default)
123166
123168
  );
123167
- addDecoder(50001, () => import("./webimage-lagAsDWD.js").then((m2) => m2.default));
123169
+ addDecoder(50001, () => import("./webimage-1jbZlwam.js").then((m2) => m2.default));
123168
123170
  function decodeRowAcc(row, stride) {
123169
123171
  let length2 = row.length - stride;
123170
123172
  let offset2 = 0;
@@ -143316,10 +143318,17 @@ const { tss } = createTss({
143316
143318
  "usePlugin": useMuiThemeStyleOverridesPlugin
143317
143319
  });
143318
143320
  const useStyles$3 = tss.create({});
143319
- function chainPropTypes(propType1, propType2) {
143320
- return function validate2(...args) {
143321
- return propType1(...args) || propType2(...args);
143322
- };
143321
+ function createChainedFunction$1(...funcs) {
143322
+ return funcs.reduce((acc, func) => {
143323
+ if (func == null) {
143324
+ return acc;
143325
+ }
143326
+ return function chainedFunction(...args) {
143327
+ acc.apply(this, args);
143328
+ func.apply(this, args);
143329
+ };
143330
+ }, () => {
143331
+ });
143323
143332
  }
143324
143333
  function GlobalStyles(props) {
143325
143334
  return /* @__PURE__ */ jsxRuntimeExports.jsx(GlobalStyles$1, {
@@ -143369,6 +143378,468 @@ const memoTheme = unstable_memoTheme;
143369
143378
  function useDefaultProps(params) {
143370
143379
  return useDefaultProps$1(params);
143371
143380
  }
143381
+ function getSvgIconUtilityClass(slot) {
143382
+ return generateUtilityClass("MuiSvgIcon", slot);
143383
+ }
143384
+ generateUtilityClasses("MuiSvgIcon", ["root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge"]);
143385
+ const useUtilityClasses$o = (ownerState) => {
143386
+ const {
143387
+ color: color2,
143388
+ fontSize,
143389
+ classes
143390
+ } = ownerState;
143391
+ const slots = {
143392
+ root: ["root", color2 !== "inherit" && `color${capitalize(color2)}`, `fontSize${capitalize(fontSize)}`]
143393
+ };
143394
+ return composeClasses(slots, getSvgIconUtilityClass, classes);
143395
+ };
143396
+ const SvgIconRoot = styled("svg", {
143397
+ name: "MuiSvgIcon",
143398
+ slot: "Root",
143399
+ overridesResolver: (props, styles2) => {
143400
+ const {
143401
+ ownerState
143402
+ } = props;
143403
+ return [styles2.root, ownerState.color !== "inherit" && styles2[`color${capitalize(ownerState.color)}`], styles2[`fontSize${capitalize(ownerState.fontSize)}`]];
143404
+ }
143405
+ })(memoTheme(({
143406
+ theme
143407
+ }) => {
143408
+ var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
143409
+ return {
143410
+ userSelect: "none",
143411
+ width: "1em",
143412
+ height: "1em",
143413
+ display: "inline-block",
143414
+ flexShrink: 0,
143415
+ transition: (_d = (_a3 = theme.transitions) == null ? void 0 : _a3.create) == null ? void 0 : _d.call(_a3, "fill", {
143416
+ duration: (_c = (_b2 = (theme.vars ?? theme).transitions) == null ? void 0 : _b2.duration) == null ? void 0 : _c.shorter
143417
+ }),
143418
+ variants: [
143419
+ {
143420
+ props: (props) => !props.hasSvgAsChild,
143421
+ style: {
143422
+ // the <svg> will define the property that has `currentColor`
143423
+ // for example heroicons uses fill="none" and stroke="currentColor"
143424
+ fill: "currentColor"
143425
+ }
143426
+ },
143427
+ {
143428
+ props: {
143429
+ fontSize: "inherit"
143430
+ },
143431
+ style: {
143432
+ fontSize: "inherit"
143433
+ }
143434
+ },
143435
+ {
143436
+ props: {
143437
+ fontSize: "small"
143438
+ },
143439
+ style: {
143440
+ fontSize: ((_f = (_e = theme.typography) == null ? void 0 : _e.pxToRem) == null ? void 0 : _f.call(_e, 20)) || "1.25rem"
143441
+ }
143442
+ },
143443
+ {
143444
+ props: {
143445
+ fontSize: "medium"
143446
+ },
143447
+ style: {
143448
+ fontSize: ((_h = (_g = theme.typography) == null ? void 0 : _g.pxToRem) == null ? void 0 : _h.call(_g, 24)) || "1.5rem"
143449
+ }
143450
+ },
143451
+ {
143452
+ props: {
143453
+ fontSize: "large"
143454
+ },
143455
+ style: {
143456
+ fontSize: ((_j = (_i = theme.typography) == null ? void 0 : _i.pxToRem) == null ? void 0 : _j.call(_i, 35)) || "2.1875rem"
143457
+ }
143458
+ },
143459
+ // TODO v5 deprecate color prop, v6 remove for sx
143460
+ ...Object.entries((theme.vars ?? theme).palette).filter(([, value]) => value && value.main).map(([color2]) => {
143461
+ var _a4, _b3;
143462
+ return {
143463
+ props: {
143464
+ color: color2
143465
+ },
143466
+ style: {
143467
+ color: (_b3 = (_a4 = (theme.vars ?? theme).palette) == null ? void 0 : _a4[color2]) == null ? void 0 : _b3.main
143468
+ }
143469
+ };
143470
+ }),
143471
+ {
143472
+ props: {
143473
+ color: "action"
143474
+ },
143475
+ style: {
143476
+ color: (_l = (_k = (theme.vars ?? theme).palette) == null ? void 0 : _k.action) == null ? void 0 : _l.active
143477
+ }
143478
+ },
143479
+ {
143480
+ props: {
143481
+ color: "disabled"
143482
+ },
143483
+ style: {
143484
+ color: (_n = (_m = (theme.vars ?? theme).palette) == null ? void 0 : _m.action) == null ? void 0 : _n.disabled
143485
+ }
143486
+ },
143487
+ {
143488
+ props: {
143489
+ color: "inherit"
143490
+ },
143491
+ style: {
143492
+ color: void 0
143493
+ }
143494
+ }
143495
+ ]
143496
+ };
143497
+ }));
143498
+ const SvgIcon = /* @__PURE__ */ React.forwardRef(function SvgIcon2(inProps, ref) {
143499
+ const props = useDefaultProps({
143500
+ props: inProps,
143501
+ name: "MuiSvgIcon"
143502
+ });
143503
+ const {
143504
+ children,
143505
+ className,
143506
+ color: color2 = "inherit",
143507
+ component = "svg",
143508
+ fontSize = "medium",
143509
+ htmlColor,
143510
+ inheritViewBox = false,
143511
+ titleAccess,
143512
+ viewBox = "0 0 24 24",
143513
+ ...other
143514
+ } = props;
143515
+ const hasSvgAsChild = /* @__PURE__ */ React.isValidElement(children) && children.type === "svg";
143516
+ const ownerState = {
143517
+ ...props,
143518
+ color: color2,
143519
+ component,
143520
+ fontSize,
143521
+ instanceFontSize: inProps.fontSize,
143522
+ inheritViewBox,
143523
+ viewBox,
143524
+ hasSvgAsChild
143525
+ };
143526
+ const more = {};
143527
+ if (!inheritViewBox) {
143528
+ more.viewBox = viewBox;
143529
+ }
143530
+ const classes = useUtilityClasses$o(ownerState);
143531
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(SvgIconRoot, {
143532
+ as: component,
143533
+ className: clsx(classes.root, className),
143534
+ focusable: "false",
143535
+ color: htmlColor,
143536
+ "aria-hidden": titleAccess ? void 0 : true,
143537
+ role: titleAccess ? "img" : void 0,
143538
+ ref,
143539
+ ...more,
143540
+ ...other,
143541
+ ...hasSvgAsChild && children.props,
143542
+ ownerState,
143543
+ children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /* @__PURE__ */ jsxRuntimeExports.jsx("title", {
143544
+ children: titleAccess
143545
+ }) : null]
143546
+ });
143547
+ });
143548
+ SvgIcon.propTypes = {
143549
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
143550
+ // │ These PropTypes are generated from the TypeScript type definitions. │
143551
+ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
143552
+ // └─────────────────────────────────────────────────────────────────────┘
143553
+ /**
143554
+ * Node passed into the SVG element.
143555
+ */
143556
+ children: PropTypes.node,
143557
+ /**
143558
+ * Override or extend the styles applied to the component.
143559
+ */
143560
+ classes: PropTypes.object,
143561
+ /**
143562
+ * @ignore
143563
+ */
143564
+ className: PropTypes.string,
143565
+ /**
143566
+ * The color of the component.
143567
+ * It supports both default and custom theme colors, which can be added as shown in the
143568
+ * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
143569
+ * You can use the `htmlColor` prop to apply a color attribute to the SVG element.
143570
+ * @default 'inherit'
143571
+ */
143572
+ color: PropTypes.oneOfType([PropTypes.oneOf(["inherit", "action", "disabled", "primary", "secondary", "error", "info", "success", "warning"]), PropTypes.string]),
143573
+ /**
143574
+ * The component used for the root node.
143575
+ * Either a string to use a HTML element or a component.
143576
+ */
143577
+ component: PropTypes.elementType,
143578
+ /**
143579
+ * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.
143580
+ * @default 'medium'
143581
+ */
143582
+ fontSize: PropTypes.oneOfType([PropTypes.oneOf(["inherit", "large", "medium", "small"]), PropTypes.string]),
143583
+ /**
143584
+ * Applies a color attribute to the SVG element.
143585
+ */
143586
+ htmlColor: PropTypes.string,
143587
+ /**
143588
+ * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`
143589
+ * prop will be ignored.
143590
+ * Useful when you want to reference a custom `component` and have `SvgIcon` pass that
143591
+ * `component`'s viewBox to the root node.
143592
+ * @default false
143593
+ */
143594
+ inheritViewBox: PropTypes.bool,
143595
+ /**
143596
+ * The shape-rendering attribute. The behavior of the different options is described on the
143597
+ * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/shape-rendering).
143598
+ * If you are having issues with blurry icons you should investigate this prop.
143599
+ */
143600
+ shapeRendering: PropTypes.string,
143601
+ /**
143602
+ * The system prop that allows defining system overrides as well as additional CSS styles.
143603
+ */
143604
+ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
143605
+ /**
143606
+ * Provides a human-readable title for the element that contains it.
143607
+ * https://www.w3.org/TR/SVG-access/#Equivalent
143608
+ */
143609
+ titleAccess: PropTypes.string,
143610
+ /**
143611
+ * Allows you to redefine what the coordinates without units mean inside an SVG element.
143612
+ * For example, if the SVG element is 500 (width) by 200 (height),
143613
+ * and you pass viewBox="0 0 50 20",
143614
+ * this means that the coordinates inside the SVG will go from the top left corner (0,0)
143615
+ * to bottom right (50,20) and each unit will be worth 10px.
143616
+ * @default '0 0 24 24'
143617
+ */
143618
+ viewBox: PropTypes.string
143619
+ };
143620
+ SvgIcon.muiName = "SvgIcon";
143621
+ function createSvgIcon(path, displayName) {
143622
+ function Component2(props, ref) {
143623
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(SvgIcon, {
143624
+ "data-testid": `${displayName}Icon`,
143625
+ ref,
143626
+ ...props,
143627
+ children: path
143628
+ });
143629
+ }
143630
+ {
143631
+ Component2.displayName = `${displayName}Icon`;
143632
+ }
143633
+ Component2.muiName = SvgIcon.muiName;
143634
+ return /* @__PURE__ */ React.memo(/* @__PURE__ */ React.forwardRef(Component2));
143635
+ }
143636
+ function debounce$1(func, wait = 166) {
143637
+ let timeout3;
143638
+ function debounced(...args) {
143639
+ const later = () => {
143640
+ func.apply(this, args);
143641
+ };
143642
+ clearTimeout(timeout3);
143643
+ timeout3 = setTimeout(later, wait);
143644
+ }
143645
+ debounced.clear = () => {
143646
+ clearTimeout(timeout3);
143647
+ };
143648
+ return debounced;
143649
+ }
143650
+ function ownerDocument(node2) {
143651
+ return node2 && node2.ownerDocument || document;
143652
+ }
143653
+ function ownerWindow(node2) {
143654
+ const doc = ownerDocument(node2);
143655
+ return doc.defaultView || window;
143656
+ }
143657
+ function setRef$1(ref, value) {
143658
+ if (typeof ref === "function") {
143659
+ ref(value);
143660
+ } else if (ref) {
143661
+ ref.current = value;
143662
+ }
143663
+ }
143664
+ let globalId = 0;
143665
+ function useGlobalId(idOverride) {
143666
+ const [defaultId, setDefaultId] = React.useState(idOverride);
143667
+ const id = idOverride || defaultId;
143668
+ React.useEffect(() => {
143669
+ if (defaultId == null) {
143670
+ globalId += 1;
143671
+ setDefaultId(`mui-${globalId}`);
143672
+ }
143673
+ }, [defaultId]);
143674
+ return id;
143675
+ }
143676
+ const safeReact = {
143677
+ ...React
143678
+ };
143679
+ const maybeReactUseId = safeReact.useId;
143680
+ function useId(idOverride) {
143681
+ if (maybeReactUseId !== void 0) {
143682
+ const reactId = maybeReactUseId();
143683
+ return idOverride ?? reactId;
143684
+ }
143685
+ return useGlobalId(idOverride);
143686
+ }
143687
+ function useControlled(props) {
143688
+ const {
143689
+ controlled,
143690
+ default: defaultProp,
143691
+ name: name2,
143692
+ state = "value"
143693
+ } = props;
143694
+ const {
143695
+ current: isControlled
143696
+ } = React.useRef(controlled !== void 0);
143697
+ const [valueState, setValue] = React.useState(defaultProp);
143698
+ const value = isControlled ? controlled : valueState;
143699
+ {
143700
+ React.useEffect(() => {
143701
+ if (isControlled !== (controlled !== void 0)) {
143702
+ console.error([`MUI: A component is changing the ${isControlled ? "" : "un"}controlled ${state} state of ${name2} to be ${isControlled ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${name2} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join("\n"));
143703
+ }
143704
+ }, [state, name2, controlled]);
143705
+ const {
143706
+ current: defaultValue2
143707
+ } = React.useRef(defaultProp);
143708
+ React.useEffect(() => {
143709
+ if (!isControlled && !Object.is(defaultValue2, defaultProp)) {
143710
+ console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name2} after being initialized. To suppress this warning opt to use a controlled ${name2}.`].join("\n"));
143711
+ }
143712
+ }, [JSON.stringify(defaultProp)]);
143713
+ }
143714
+ const setValueIfUncontrolled = React.useCallback((newValue) => {
143715
+ if (!isControlled) {
143716
+ setValue(newValue);
143717
+ }
143718
+ }, []);
143719
+ return [value, setValueIfUncontrolled];
143720
+ }
143721
+ function useEventCallback(fn) {
143722
+ const ref = React.useRef(fn);
143723
+ useEnhancedEffect$1(() => {
143724
+ ref.current = fn;
143725
+ });
143726
+ return React.useRef((...args) => (
143727
+ // @ts-expect-error hide `this`
143728
+ (0, ref.current)(...args)
143729
+ )).current;
143730
+ }
143731
+ function useForkRef$1(...refs) {
143732
+ const cleanupRef = React.useRef(void 0);
143733
+ const refEffect = React.useCallback((instance) => {
143734
+ const cleanups = refs.map((ref) => {
143735
+ if (ref == null) {
143736
+ return null;
143737
+ }
143738
+ if (typeof ref === "function") {
143739
+ const refCallback = ref;
143740
+ const refCleanup = refCallback(instance);
143741
+ return typeof refCleanup === "function" ? refCleanup : () => {
143742
+ refCallback(null);
143743
+ };
143744
+ }
143745
+ ref.current = instance;
143746
+ return () => {
143747
+ ref.current = null;
143748
+ };
143749
+ });
143750
+ return () => {
143751
+ cleanups.forEach((refCleanup) => refCleanup == null ? void 0 : refCleanup());
143752
+ };
143753
+ }, refs);
143754
+ return React.useMemo(() => {
143755
+ if (refs.every((ref) => ref == null)) {
143756
+ return null;
143757
+ }
143758
+ return (value) => {
143759
+ if (cleanupRef.current) {
143760
+ cleanupRef.current();
143761
+ cleanupRef.current = void 0;
143762
+ }
143763
+ if (value != null) {
143764
+ cleanupRef.current = refEffect(value);
143765
+ }
143766
+ };
143767
+ }, refs);
143768
+ }
143769
+ function isEventHandler(key, value) {
143770
+ const thirdCharCode = key.charCodeAt(2);
143771
+ return key[0] === "o" && key[1] === "n" && thirdCharCode >= 65 && thirdCharCode <= 90 && typeof value === "function";
143772
+ }
143773
+ function mergeSlotProps$1(externalSlotProps, defaultSlotProps) {
143774
+ if (!externalSlotProps) {
143775
+ return defaultSlotProps;
143776
+ }
143777
+ function extractHandlers(externalSlotPropsValue, defaultSlotPropsValue) {
143778
+ const handlers2 = {};
143779
+ Object.keys(defaultSlotPropsValue).forEach((key) => {
143780
+ if (isEventHandler(key, defaultSlotPropsValue[key]) && typeof externalSlotPropsValue[key] === "function") {
143781
+ handlers2[key] = (...args) => {
143782
+ externalSlotPropsValue[key](...args);
143783
+ defaultSlotPropsValue[key](...args);
143784
+ };
143785
+ }
143786
+ });
143787
+ return handlers2;
143788
+ }
143789
+ if (typeof externalSlotProps === "function" || typeof defaultSlotProps === "function") {
143790
+ return (ownerState) => {
143791
+ const defaultSlotPropsValue = typeof defaultSlotProps === "function" ? defaultSlotProps(ownerState) : defaultSlotProps;
143792
+ const externalSlotPropsValue = typeof externalSlotProps === "function" ? externalSlotProps({
143793
+ ...ownerState,
143794
+ ...defaultSlotPropsValue
143795
+ }) : externalSlotProps;
143796
+ const className2 = clsx(ownerState == null ? void 0 : ownerState.className, defaultSlotPropsValue == null ? void 0 : defaultSlotPropsValue.className, externalSlotPropsValue == null ? void 0 : externalSlotPropsValue.className);
143797
+ const handlers2 = extractHandlers(externalSlotPropsValue, defaultSlotPropsValue);
143798
+ return {
143799
+ ...defaultSlotPropsValue,
143800
+ ...externalSlotPropsValue,
143801
+ ...handlers2,
143802
+ ...!!className2 && {
143803
+ className: className2
143804
+ },
143805
+ ...(defaultSlotPropsValue == null ? void 0 : defaultSlotPropsValue.style) && (externalSlotPropsValue == null ? void 0 : externalSlotPropsValue.style) && {
143806
+ style: {
143807
+ ...defaultSlotPropsValue.style,
143808
+ ...externalSlotPropsValue.style
143809
+ }
143810
+ },
143811
+ ...(defaultSlotPropsValue == null ? void 0 : defaultSlotPropsValue.sx) && (externalSlotPropsValue == null ? void 0 : externalSlotPropsValue.sx) && {
143812
+ sx: [...Array.isArray(defaultSlotPropsValue.sx) ? defaultSlotPropsValue.sx : [defaultSlotPropsValue.sx], ...Array.isArray(externalSlotPropsValue.sx) ? externalSlotPropsValue.sx : [externalSlotPropsValue.sx]]
143813
+ }
143814
+ };
143815
+ };
143816
+ }
143817
+ const typedDefaultSlotProps = defaultSlotProps;
143818
+ const handlers = extractHandlers(externalSlotProps, typedDefaultSlotProps);
143819
+ const className = clsx(typedDefaultSlotProps == null ? void 0 : typedDefaultSlotProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);
143820
+ return {
143821
+ ...defaultSlotProps,
143822
+ ...externalSlotProps,
143823
+ ...handlers,
143824
+ ...!!className && {
143825
+ className
143826
+ },
143827
+ ...(typedDefaultSlotProps == null ? void 0 : typedDefaultSlotProps.style) && (externalSlotProps == null ? void 0 : externalSlotProps.style) && {
143828
+ style: {
143829
+ ...typedDefaultSlotProps.style,
143830
+ ...externalSlotProps.style
143831
+ }
143832
+ },
143833
+ ...(typedDefaultSlotProps == null ? void 0 : typedDefaultSlotProps.sx) && (externalSlotProps == null ? void 0 : externalSlotProps.sx) && {
143834
+ sx: [...Array.isArray(typedDefaultSlotProps.sx) ? typedDefaultSlotProps.sx : [typedDefaultSlotProps.sx], ...Array.isArray(externalSlotProps.sx) ? externalSlotProps.sx : [externalSlotProps.sx]]
143835
+ }
143836
+ };
143837
+ }
143838
+ function chainPropTypes(propType1, propType2) {
143839
+ return function validate2(...args) {
143840
+ return propType1(...args) || propType2(...args);
143841
+ };
143842
+ }
143372
143843
  function _extends$1() {
143373
143844
  return _extends$1 = Object.assign ? Object.assign.bind() : function(n2) {
143374
143845
  for (var e2 = 1; e2 < arguments.length; e2++) {
@@ -144153,475 +144624,6 @@ function getTransitionProps(props, options) {
144153
144624
  delay: style2.transitionDelay
144154
144625
  };
144155
144626
  }
144156
- function createChainedFunction$1(...funcs) {
144157
- return funcs.reduce((acc, func) => {
144158
- if (func == null) {
144159
- return acc;
144160
- }
144161
- return function chainedFunction(...args) {
144162
- acc.apply(this, args);
144163
- func.apply(this, args);
144164
- };
144165
- }, () => {
144166
- });
144167
- }
144168
- function getSvgIconUtilityClass(slot) {
144169
- return generateUtilityClass("MuiSvgIcon", slot);
144170
- }
144171
- generateUtilityClasses("MuiSvgIcon", ["root", "colorPrimary", "colorSecondary", "colorAction", "colorError", "colorDisabled", "fontSizeInherit", "fontSizeSmall", "fontSizeMedium", "fontSizeLarge"]);
144172
- const useUtilityClasses$o = (ownerState) => {
144173
- const {
144174
- color: color2,
144175
- fontSize,
144176
- classes
144177
- } = ownerState;
144178
- const slots = {
144179
- root: ["root", color2 !== "inherit" && `color${capitalize(color2)}`, `fontSize${capitalize(fontSize)}`]
144180
- };
144181
- return composeClasses(slots, getSvgIconUtilityClass, classes);
144182
- };
144183
- const SvgIconRoot = styled("svg", {
144184
- name: "MuiSvgIcon",
144185
- slot: "Root",
144186
- overridesResolver: (props, styles2) => {
144187
- const {
144188
- ownerState
144189
- } = props;
144190
- return [styles2.root, ownerState.color !== "inherit" && styles2[`color${capitalize(ownerState.color)}`], styles2[`fontSize${capitalize(ownerState.fontSize)}`]];
144191
- }
144192
- })(memoTheme(({
144193
- theme
144194
- }) => {
144195
- var _a3, _b2, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
144196
- return {
144197
- userSelect: "none",
144198
- width: "1em",
144199
- height: "1em",
144200
- display: "inline-block",
144201
- flexShrink: 0,
144202
- transition: (_d = (_a3 = theme.transitions) == null ? void 0 : _a3.create) == null ? void 0 : _d.call(_a3, "fill", {
144203
- duration: (_c = (_b2 = (theme.vars ?? theme).transitions) == null ? void 0 : _b2.duration) == null ? void 0 : _c.shorter
144204
- }),
144205
- variants: [
144206
- {
144207
- props: (props) => !props.hasSvgAsChild,
144208
- style: {
144209
- // the <svg> will define the property that has `currentColor`
144210
- // for example heroicons uses fill="none" and stroke="currentColor"
144211
- fill: "currentColor"
144212
- }
144213
- },
144214
- {
144215
- props: {
144216
- fontSize: "inherit"
144217
- },
144218
- style: {
144219
- fontSize: "inherit"
144220
- }
144221
- },
144222
- {
144223
- props: {
144224
- fontSize: "small"
144225
- },
144226
- style: {
144227
- fontSize: ((_f = (_e = theme.typography) == null ? void 0 : _e.pxToRem) == null ? void 0 : _f.call(_e, 20)) || "1.25rem"
144228
- }
144229
- },
144230
- {
144231
- props: {
144232
- fontSize: "medium"
144233
- },
144234
- style: {
144235
- fontSize: ((_h = (_g = theme.typography) == null ? void 0 : _g.pxToRem) == null ? void 0 : _h.call(_g, 24)) || "1.5rem"
144236
- }
144237
- },
144238
- {
144239
- props: {
144240
- fontSize: "large"
144241
- },
144242
- style: {
144243
- fontSize: ((_j = (_i = theme.typography) == null ? void 0 : _i.pxToRem) == null ? void 0 : _j.call(_i, 35)) || "2.1875rem"
144244
- }
144245
- },
144246
- // TODO v5 deprecate color prop, v6 remove for sx
144247
- ...Object.entries((theme.vars ?? theme).palette).filter(([, value]) => value && value.main).map(([color2]) => {
144248
- var _a4, _b3;
144249
- return {
144250
- props: {
144251
- color: color2
144252
- },
144253
- style: {
144254
- color: (_b3 = (_a4 = (theme.vars ?? theme).palette) == null ? void 0 : _a4[color2]) == null ? void 0 : _b3.main
144255
- }
144256
- };
144257
- }),
144258
- {
144259
- props: {
144260
- color: "action"
144261
- },
144262
- style: {
144263
- color: (_l = (_k = (theme.vars ?? theme).palette) == null ? void 0 : _k.action) == null ? void 0 : _l.active
144264
- }
144265
- },
144266
- {
144267
- props: {
144268
- color: "disabled"
144269
- },
144270
- style: {
144271
- color: (_n = (_m = (theme.vars ?? theme).palette) == null ? void 0 : _m.action) == null ? void 0 : _n.disabled
144272
- }
144273
- },
144274
- {
144275
- props: {
144276
- color: "inherit"
144277
- },
144278
- style: {
144279
- color: void 0
144280
- }
144281
- }
144282
- ]
144283
- };
144284
- }));
144285
- const SvgIcon = /* @__PURE__ */ React.forwardRef(function SvgIcon2(inProps, ref) {
144286
- const props = useDefaultProps({
144287
- props: inProps,
144288
- name: "MuiSvgIcon"
144289
- });
144290
- const {
144291
- children,
144292
- className,
144293
- color: color2 = "inherit",
144294
- component = "svg",
144295
- fontSize = "medium",
144296
- htmlColor,
144297
- inheritViewBox = false,
144298
- titleAccess,
144299
- viewBox = "0 0 24 24",
144300
- ...other
144301
- } = props;
144302
- const hasSvgAsChild = /* @__PURE__ */ React.isValidElement(children) && children.type === "svg";
144303
- const ownerState = {
144304
- ...props,
144305
- color: color2,
144306
- component,
144307
- fontSize,
144308
- instanceFontSize: inProps.fontSize,
144309
- inheritViewBox,
144310
- viewBox,
144311
- hasSvgAsChild
144312
- };
144313
- const more = {};
144314
- if (!inheritViewBox) {
144315
- more.viewBox = viewBox;
144316
- }
144317
- const classes = useUtilityClasses$o(ownerState);
144318
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(SvgIconRoot, {
144319
- as: component,
144320
- className: clsx(classes.root, className),
144321
- focusable: "false",
144322
- color: htmlColor,
144323
- "aria-hidden": titleAccess ? void 0 : true,
144324
- role: titleAccess ? "img" : void 0,
144325
- ref,
144326
- ...more,
144327
- ...other,
144328
- ...hasSvgAsChild && children.props,
144329
- ownerState,
144330
- children: [hasSvgAsChild ? children.props.children : children, titleAccess ? /* @__PURE__ */ jsxRuntimeExports.jsx("title", {
144331
- children: titleAccess
144332
- }) : null]
144333
- });
144334
- });
144335
- SvgIcon.propTypes = {
144336
- // ┌────────────────────────────── Warning ──────────────────────────────┐
144337
- // │ These PropTypes are generated from the TypeScript type definitions. │
144338
- // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
144339
- // └─────────────────────────────────────────────────────────────────────┘
144340
- /**
144341
- * Node passed into the SVG element.
144342
- */
144343
- children: PropTypes.node,
144344
- /**
144345
- * Override or extend the styles applied to the component.
144346
- */
144347
- classes: PropTypes.object,
144348
- /**
144349
- * @ignore
144350
- */
144351
- className: PropTypes.string,
144352
- /**
144353
- * The color of the component.
144354
- * It supports both default and custom theme colors, which can be added as shown in the
144355
- * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
144356
- * You can use the `htmlColor` prop to apply a color attribute to the SVG element.
144357
- * @default 'inherit'
144358
- */
144359
- color: PropTypes.oneOfType([PropTypes.oneOf(["inherit", "action", "disabled", "primary", "secondary", "error", "info", "success", "warning"]), PropTypes.string]),
144360
- /**
144361
- * The component used for the root node.
144362
- * Either a string to use a HTML element or a component.
144363
- */
144364
- component: PropTypes.elementType,
144365
- /**
144366
- * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.
144367
- * @default 'medium'
144368
- */
144369
- fontSize: PropTypes.oneOfType([PropTypes.oneOf(["inherit", "large", "medium", "small"]), PropTypes.string]),
144370
- /**
144371
- * Applies a color attribute to the SVG element.
144372
- */
144373
- htmlColor: PropTypes.string,
144374
- /**
144375
- * If `true`, the root node will inherit the custom `component`'s viewBox and the `viewBox`
144376
- * prop will be ignored.
144377
- * Useful when you want to reference a custom `component` and have `SvgIcon` pass that
144378
- * `component`'s viewBox to the root node.
144379
- * @default false
144380
- */
144381
- inheritViewBox: PropTypes.bool,
144382
- /**
144383
- * The shape-rendering attribute. The behavior of the different options is described on the
144384
- * [MDN Web Docs](https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/shape-rendering).
144385
- * If you are having issues with blurry icons you should investigate this prop.
144386
- */
144387
- shapeRendering: PropTypes.string,
144388
- /**
144389
- * The system prop that allows defining system overrides as well as additional CSS styles.
144390
- */
144391
- sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
144392
- /**
144393
- * Provides a human-readable title for the element that contains it.
144394
- * https://www.w3.org/TR/SVG-access/#Equivalent
144395
- */
144396
- titleAccess: PropTypes.string,
144397
- /**
144398
- * Allows you to redefine what the coordinates without units mean inside an SVG element.
144399
- * For example, if the SVG element is 500 (width) by 200 (height),
144400
- * and you pass viewBox="0 0 50 20",
144401
- * this means that the coordinates inside the SVG will go from the top left corner (0,0)
144402
- * to bottom right (50,20) and each unit will be worth 10px.
144403
- * @default '0 0 24 24'
144404
- */
144405
- viewBox: PropTypes.string
144406
- };
144407
- SvgIcon.muiName = "SvgIcon";
144408
- function createSvgIcon(path, displayName) {
144409
- function Component2(props, ref) {
144410
- return /* @__PURE__ */ jsxRuntimeExports.jsx(SvgIcon, {
144411
- "data-testid": `${displayName}Icon`,
144412
- ref,
144413
- ...props,
144414
- children: path
144415
- });
144416
- }
144417
- {
144418
- Component2.displayName = `${displayName}Icon`;
144419
- }
144420
- Component2.muiName = SvgIcon.muiName;
144421
- return /* @__PURE__ */ React.memo(/* @__PURE__ */ React.forwardRef(Component2));
144422
- }
144423
- function debounce$1(func, wait = 166) {
144424
- let timeout3;
144425
- function debounced(...args) {
144426
- const later = () => {
144427
- func.apply(this, args);
144428
- };
144429
- clearTimeout(timeout3);
144430
- timeout3 = setTimeout(later, wait);
144431
- }
144432
- debounced.clear = () => {
144433
- clearTimeout(timeout3);
144434
- };
144435
- return debounced;
144436
- }
144437
- function ownerDocument(node2) {
144438
- return node2 && node2.ownerDocument || document;
144439
- }
144440
- function ownerWindow(node2) {
144441
- const doc = ownerDocument(node2);
144442
- return doc.defaultView || window;
144443
- }
144444
- function setRef$1(ref, value) {
144445
- if (typeof ref === "function") {
144446
- ref(value);
144447
- } else if (ref) {
144448
- ref.current = value;
144449
- }
144450
- }
144451
- let globalId = 0;
144452
- function useGlobalId(idOverride) {
144453
- const [defaultId, setDefaultId] = React.useState(idOverride);
144454
- const id = idOverride || defaultId;
144455
- React.useEffect(() => {
144456
- if (defaultId == null) {
144457
- globalId += 1;
144458
- setDefaultId(`mui-${globalId}`);
144459
- }
144460
- }, [defaultId]);
144461
- return id;
144462
- }
144463
- const safeReact = {
144464
- ...React
144465
- };
144466
- const maybeReactUseId = safeReact.useId;
144467
- function useId(idOverride) {
144468
- if (maybeReactUseId !== void 0) {
144469
- const reactId = maybeReactUseId();
144470
- return idOverride ?? reactId;
144471
- }
144472
- return useGlobalId(idOverride);
144473
- }
144474
- function useControlled(props) {
144475
- const {
144476
- controlled,
144477
- default: defaultProp,
144478
- name: name2,
144479
- state = "value"
144480
- } = props;
144481
- const {
144482
- current: isControlled
144483
- } = React.useRef(controlled !== void 0);
144484
- const [valueState, setValue] = React.useState(defaultProp);
144485
- const value = isControlled ? controlled : valueState;
144486
- {
144487
- React.useEffect(() => {
144488
- if (isControlled !== (controlled !== void 0)) {
144489
- console.error([`MUI: A component is changing the ${isControlled ? "" : "un"}controlled ${state} state of ${name2} to be ${isControlled ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled ${name2} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join("\n"));
144490
- }
144491
- }, [state, name2, controlled]);
144492
- const {
144493
- current: defaultValue2
144494
- } = React.useRef(defaultProp);
144495
- React.useEffect(() => {
144496
- if (!isControlled && !Object.is(defaultValue2, defaultProp)) {
144497
- console.error([`MUI: A component is changing the default ${state} state of an uncontrolled ${name2} after being initialized. To suppress this warning opt to use a controlled ${name2}.`].join("\n"));
144498
- }
144499
- }, [JSON.stringify(defaultProp)]);
144500
- }
144501
- const setValueIfUncontrolled = React.useCallback((newValue) => {
144502
- if (!isControlled) {
144503
- setValue(newValue);
144504
- }
144505
- }, []);
144506
- return [value, setValueIfUncontrolled];
144507
- }
144508
- function useEventCallback(fn) {
144509
- const ref = React.useRef(fn);
144510
- useEnhancedEffect$1(() => {
144511
- ref.current = fn;
144512
- });
144513
- return React.useRef((...args) => (
144514
- // @ts-expect-error hide `this`
144515
- (0, ref.current)(...args)
144516
- )).current;
144517
- }
144518
- function useForkRef$1(...refs) {
144519
- const cleanupRef = React.useRef(void 0);
144520
- const refEffect = React.useCallback((instance) => {
144521
- const cleanups = refs.map((ref) => {
144522
- if (ref == null) {
144523
- return null;
144524
- }
144525
- if (typeof ref === "function") {
144526
- const refCallback = ref;
144527
- const refCleanup = refCallback(instance);
144528
- return typeof refCleanup === "function" ? refCleanup : () => {
144529
- refCallback(null);
144530
- };
144531
- }
144532
- ref.current = instance;
144533
- return () => {
144534
- ref.current = null;
144535
- };
144536
- });
144537
- return () => {
144538
- cleanups.forEach((refCleanup) => refCleanup == null ? void 0 : refCleanup());
144539
- };
144540
- }, refs);
144541
- return React.useMemo(() => {
144542
- if (refs.every((ref) => ref == null)) {
144543
- return null;
144544
- }
144545
- return (value) => {
144546
- if (cleanupRef.current) {
144547
- cleanupRef.current();
144548
- cleanupRef.current = void 0;
144549
- }
144550
- if (value != null) {
144551
- cleanupRef.current = refEffect(value);
144552
- }
144553
- };
144554
- }, refs);
144555
- }
144556
- function isEventHandler(key, value) {
144557
- const thirdCharCode = key.charCodeAt(2);
144558
- return key[0] === "o" && key[1] === "n" && thirdCharCode >= 65 && thirdCharCode <= 90 && typeof value === "function";
144559
- }
144560
- function mergeSlotProps$1(externalSlotProps, defaultSlotProps) {
144561
- if (!externalSlotProps) {
144562
- return defaultSlotProps;
144563
- }
144564
- function extractHandlers(externalSlotPropsValue, defaultSlotPropsValue) {
144565
- const handlers2 = {};
144566
- Object.keys(defaultSlotPropsValue).forEach((key) => {
144567
- if (isEventHandler(key, defaultSlotPropsValue[key]) && typeof externalSlotPropsValue[key] === "function") {
144568
- handlers2[key] = (...args) => {
144569
- externalSlotPropsValue[key](...args);
144570
- defaultSlotPropsValue[key](...args);
144571
- };
144572
- }
144573
- });
144574
- return handlers2;
144575
- }
144576
- if (typeof externalSlotProps === "function" || typeof defaultSlotProps === "function") {
144577
- return (ownerState) => {
144578
- const defaultSlotPropsValue = typeof defaultSlotProps === "function" ? defaultSlotProps(ownerState) : defaultSlotProps;
144579
- const externalSlotPropsValue = typeof externalSlotProps === "function" ? externalSlotProps({
144580
- ...ownerState,
144581
- ...defaultSlotPropsValue
144582
- }) : externalSlotProps;
144583
- const className2 = clsx(ownerState == null ? void 0 : ownerState.className, defaultSlotPropsValue == null ? void 0 : defaultSlotPropsValue.className, externalSlotPropsValue == null ? void 0 : externalSlotPropsValue.className);
144584
- const handlers2 = extractHandlers(externalSlotPropsValue, defaultSlotPropsValue);
144585
- return {
144586
- ...defaultSlotPropsValue,
144587
- ...externalSlotPropsValue,
144588
- ...handlers2,
144589
- ...!!className2 && {
144590
- className: className2
144591
- },
144592
- ...(defaultSlotPropsValue == null ? void 0 : defaultSlotPropsValue.style) && (externalSlotPropsValue == null ? void 0 : externalSlotPropsValue.style) && {
144593
- style: {
144594
- ...defaultSlotPropsValue.style,
144595
- ...externalSlotPropsValue.style
144596
- }
144597
- },
144598
- ...(defaultSlotPropsValue == null ? void 0 : defaultSlotPropsValue.sx) && (externalSlotPropsValue == null ? void 0 : externalSlotPropsValue.sx) && {
144599
- sx: [...Array.isArray(defaultSlotPropsValue.sx) ? defaultSlotPropsValue.sx : [defaultSlotPropsValue.sx], ...Array.isArray(externalSlotPropsValue.sx) ? externalSlotPropsValue.sx : [externalSlotPropsValue.sx]]
144600
- }
144601
- };
144602
- };
144603
- }
144604
- const typedDefaultSlotProps = defaultSlotProps;
144605
- const handlers = extractHandlers(externalSlotProps, typedDefaultSlotProps);
144606
- const className = clsx(typedDefaultSlotProps == null ? void 0 : typedDefaultSlotProps.className, externalSlotProps == null ? void 0 : externalSlotProps.className);
144607
- return {
144608
- ...defaultSlotProps,
144609
- ...externalSlotProps,
144610
- ...handlers,
144611
- ...!!className && {
144612
- className
144613
- },
144614
- ...(typedDefaultSlotProps == null ? void 0 : typedDefaultSlotProps.style) && (externalSlotProps == null ? void 0 : externalSlotProps.style) && {
144615
- style: {
144616
- ...typedDefaultSlotProps.style,
144617
- ...externalSlotProps.style
144618
- }
144619
- },
144620
- ...(typedDefaultSlotProps == null ? void 0 : typedDefaultSlotProps.sx) && (externalSlotProps == null ? void 0 : externalSlotProps.sx) && {
144621
- sx: [...Array.isArray(typedDefaultSlotProps.sx) ? typedDefaultSlotProps.sx : [typedDefaultSlotProps.sx], ...Array.isArray(externalSlotProps.sx) ? externalSlotProps.sx : [externalSlotProps.sx]]
144622
- }
144623
- };
144624
- }
144625
144627
  function getTypeByValue(value) {
144626
144628
  const valueType = typeof value;
144627
144629
  switch (valueType) {
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { G } from "./index-3JLSEmls.js";
1
+ import { G } from "./index-JCI2kghh.js";
2
2
  export {
3
3
  G as GatingSubscriber
4
4
  };
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-3JLSEmls.js";
1
+ import { B as BaseDecoder } from "./index-JCI2kghh.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 { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-3JLSEmls.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-JCI2kghh.js";
3
3
  const LercParameters = {
4
4
  AddCompression: 1
5
5
  };
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-3JLSEmls.js";
1
+ import { B as BaseDecoder } from "./index-JCI2kghh.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 { B as BaseDecoder } from "./index-3JLSEmls.js";
1
+ import { B as BaseDecoder } from "./index-JCI2kghh.js";
2
2
  class PackbitsDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  const dataView = new DataView(buffer);
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-3JLSEmls.js";
1
+ import { B as BaseDecoder } from "./index-JCI2kghh.js";
2
2
  class RawDecoder extends BaseDecoder {
3
3
  decodeBlock(buffer) {
4
4
  return buffer;
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-3JLSEmls.js";
1
+ import { B as BaseDecoder } from "./index-JCI2kghh.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/scatterplot-gating",
3
- "version": "3.8.10",
3
+ "version": "3.8.13",
4
4
  "author": "HIDIVE Lab at HMS",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -19,12 +19,12 @@
19
19
  "d3-array": "^2.4.0",
20
20
  "lodash-es": "^4.17.21",
21
21
  "react-aria": "^3.28.0",
22
- "@vitessce/styles": "3.8.10",
23
- "@vitessce/constants-internal": "3.8.10",
24
- "@vitessce/scatterplot": "3.8.10",
25
- "@vitessce/sets-utils": "3.8.10",
26
- "@vitessce/utils": "3.8.10",
27
- "@vitessce/vit-s": "3.8.10"
22
+ "@vitessce/styles": "3.8.13",
23
+ "@vitessce/constants-internal": "3.8.13",
24
+ "@vitessce/scatterplot": "3.8.13",
25
+ "@vitessce/sets-utils": "3.8.13",
26
+ "@vitessce/utils": "3.8.13",
27
+ "@vitessce/vit-s": "3.8.13"
28
28
  },
29
29
  "devDependencies": {
30
30
  "react": "18.3.1",