@vitessce/vit-s 3.9.1 → 3.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -19,7 +19,7 @@ var __privateWrapper = (obj, member, setter, getter) => ({
19
19
  });
20
20
  var _overrides, _overrides2, _use_suffix_request, _FetchStore_instances, merge_init_fn, _bytes, _encoder, _data, _stride, _TypedArray, _BYTES_PER_ELEMENT, _shape, _endian, _encoder_config, _decoder_config, _order, _inverseOrder, _shape2, _strides, _metadata, _metadata2, _a2, _focused, _cleanup, _setup, _b, _online, _cleanup2, _setup2, _c, _gcTimeout, _d, _initialState, _revertState, _cache, _client, _retryer, _defaultOptions, _abortSignalConsumed, _Query_instances, dispatch_fn, _e, _queries, _f, _observers, _mutationCache, _retryer2, _Mutation_instances, dispatch_fn2, _g, _mutations, _scopes, _mutationId, _h, _queryCache, _mutationCache2, _defaultOptions2, _queryDefaults, _mutationDefaults, _mountCount, _unsubscribeFocus, _unsubscribeOnline, _i, _client2, _currentQuery, _currentQueryInitialState, _currentResult, _currentResultState, _currentResultOptions, _currentThenable, _selectError, _selectFn, _selectResult, _lastQueryWithDefinedData, _staleTimeoutId, _refetchIntervalId, _currentRefetchInterval, _trackedProps, _QueryObserver_instances, executeFetch_fn, updateStaleTimeout_fn, computeRefetchInterval_fn, updateRefetchInterval_fn, updateTimers_fn, clearStaleTimeout_fn, clearRefetchInterval_fn, updateQuery_fn, notify_fn, _j, _client3, _result, _queries2, _options, _observers2, _combinedResult, _lastCombine, _lastResult, _observerMatches, _QueriesObserver_instances, trackResult_fn, combineResult_fn, findMatchingObservers_fn, onUpdate_fn, notify_fn2, _k;
21
21
  import * as React$1 from "react";
22
- import React__default, { useContext, forwardRef, useRef, useMemo, createContext, createElement, isValidElement, cloneElement, Children, useCallback, Component, useState, useEffect, useLayoutEffect } from "react";
22
+ import React__default, { useContext, forwardRef, useRef, useMemo, createContext, createElement, isValidElement, cloneElement, Children, PureComponent, useEffect, useCallback, Component, useState, useLayoutEffect } from "react";
23
23
  import * as ReactDOM from "react-dom";
24
24
  import ReactDOM__default from "react-dom";
25
25
  function sheetForTag(tag) {
@@ -415,9 +415,9 @@ function parse(value, root2, parent, rule, rules, rulesets, pseudo, points, decl
415
415
  function ruleset(value, root2, parent, index, offset2, rules, points, type, props, children, length2) {
416
416
  var post = offset2 - 1;
417
417
  var rule = offset2 === 0 ? rules : [""];
418
- var size = sizeof(rule);
418
+ var size2 = sizeof(rule);
419
419
  for (var i2 = 0, j = 0, k = 0; i2 < index; ++i2)
420
- for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i2])), z2 = value; x < size; ++x)
420
+ for (var x = 0, y = substr(value, post + 1, post = abs(j = points[i2])), z2 = value; x < size2; ++x)
421
421
  if (z2 = trim(j > 0 ? rule[x] + " " + y : replace(y, /&\f/g, rule[x])))
422
422
  props[k++] = z2;
423
423
  return node(value, root2, parent, offset2 === 0 ? RULESET : type, props, children, length2);
@@ -810,14 +810,14 @@ var createCache = function createCache2(options) {
810
810
  cache.sheet.hydrate(nodesToHydrate);
811
811
  return cache;
812
812
  };
813
- function _extends$2() {
814
- return _extends$2 = Object.assign ? Object.assign.bind() : function(n2) {
813
+ function _extends$3() {
814
+ return _extends$3 = Object.assign ? Object.assign.bind() : function(n2) {
815
815
  for (var e2 = 1; e2 < arguments.length; e2++) {
816
816
  var t2 = arguments[e2];
817
817
  for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n2[r2] = t2[r2]);
818
818
  }
819
819
  return n2;
820
- }, _extends$2.apply(null, arguments);
820
+ }, _extends$3.apply(null, arguments);
821
821
  }
822
822
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
823
823
  function getDefaultExportFromCjs(x) {
@@ -2389,7 +2389,7 @@ var createStyled$1 = function createStyled(tag, options) {
2389
2389
  }
2390
2390
  });
2391
2391
  Styled.withComponent = function(nextTag, nextOptions) {
2392
- var newStyled2 = createStyled(nextTag, _extends$2({}, options, nextOptions, {
2392
+ var newStyled2 = createStyled(nextTag, _extends$3({}, options, nextOptions, {
2393
2393
  shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)
2394
2394
  }));
2395
2395
  return newStyled2.apply(void 0, styles2);
@@ -7671,17 +7671,17 @@ function createTypography(palette, typography) {
7671
7671
  }
7672
7672
  }
7673
7673
  const coef = fontSize / 14;
7674
- const pxToRem = pxToRem2 || ((size) => `${size / htmlFontSize * coef}rem`);
7675
- const buildVariant = (fontWeight, size, lineHeight, letterSpacing, casing) => ({
7674
+ const pxToRem = pxToRem2 || ((size2) => `${size2 / htmlFontSize * coef}rem`);
7675
+ const buildVariant = (fontWeight, size2, lineHeight, letterSpacing, casing) => ({
7676
7676
  fontFamily,
7677
7677
  fontWeight,
7678
- fontSize: pxToRem(size),
7678
+ fontSize: pxToRem(size2),
7679
7679
  // Unitless following https://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/
7680
7680
  lineHeight,
7681
7681
  // The letter spacing was designed for the Roboto font-family. Using the same letter-spacing
7682
7682
  // across font-families can cause issues with the kerning.
7683
7683
  ...fontFamily === defaultFontFamily ? {
7684
- letterSpacing: `${round$1(letterSpacing / size)}em`
7684
+ letterSpacing: `${round$1(letterSpacing / size2)}em`
7685
7685
  } : {},
7686
7686
  ...casing,
7687
7687
  ...allVariants
@@ -9026,14 +9026,14 @@ function chainPropTypes(propType1, propType2) {
9026
9026
  return propType1(...args) || propType2(...args);
9027
9027
  };
9028
9028
  }
9029
- function _extends$1() {
9030
- return _extends$1 = Object.assign ? Object.assign.bind() : function(n2) {
9029
+ function _extends$2() {
9030
+ return _extends$2 = Object.assign ? Object.assign.bind() : function(n2) {
9031
9031
  for (var e2 = 1; e2 < arguments.length; e2++) {
9032
9032
  var t2 = arguments[e2];
9033
9033
  for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n2[r2] = t2[r2]);
9034
9034
  }
9035
9035
  return n2;
9036
- }, _extends$1.apply(null, arguments);
9036
+ }, _extends$2.apply(null, arguments);
9037
9037
  }
9038
9038
  function _objectWithoutPropertiesLoose(r2, e2) {
9039
9039
  if (null == r2) return {};
@@ -9044,13 +9044,13 @@ function _objectWithoutPropertiesLoose(r2, e2) {
9044
9044
  }
9045
9045
  return t2;
9046
9046
  }
9047
- function _setPrototypeOf(t2, e2) {
9048
- return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t3, e3) {
9047
+ function _setPrototypeOf$1(t2, e2) {
9048
+ return _setPrototypeOf$1 = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t3, e3) {
9049
9049
  return t3.__proto__ = e3, t3;
9050
- }, _setPrototypeOf(t2, e2);
9050
+ }, _setPrototypeOf$1(t2, e2);
9051
9051
  }
9052
- function _inheritsLoose(t2, o2) {
9053
- t2.prototype = Object.create(o2.prototype), t2.prototype.constructor = t2, _setPrototypeOf(t2, o2);
9052
+ function _inheritsLoose$1(t2, o2) {
9053
+ t2.prototype = Object.create(o2.prototype), t2.prototype.constructor = t2, _setPrototypeOf$1(t2, o2);
9054
9054
  }
9055
9055
  const config$1 = {
9056
9056
  disabled: false
@@ -9082,7 +9082,7 @@ var ENTERING = "entering";
9082
9082
  var ENTERED = "entered";
9083
9083
  var EXITING = "exiting";
9084
9084
  var Transition = /* @__PURE__ */ function(_React$Component) {
9085
- _inheritsLoose(Transition2, _React$Component);
9085
+ _inheritsLoose$1(Transition2, _React$Component);
9086
9086
  function Transition2(props, context) {
9087
9087
  var _this;
9088
9088
  _this = _React$Component.call(this, props, context) || this;
@@ -9498,7 +9498,7 @@ Transition.EXITED = EXITED;
9498
9498
  Transition.ENTERING = ENTERING;
9499
9499
  Transition.ENTERED = ENTERED;
9500
9500
  Transition.EXITING = EXITING;
9501
- function _assertThisInitialized(e2) {
9501
+ function _assertThisInitialized$1(e2) {
9502
9502
  if (void 0 === e2) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
9503
9503
  return e2;
9504
9504
  }
@@ -9606,11 +9606,11 @@ var defaultProps = {
9606
9606
  }
9607
9607
  };
9608
9608
  var TransitionGroup = /* @__PURE__ */ function(_React$Component) {
9609
- _inheritsLoose(TransitionGroup2, _React$Component);
9609
+ _inheritsLoose$1(TransitionGroup2, _React$Component);
9610
9610
  function TransitionGroup2(props, context) {
9611
9611
  var _this;
9612
9612
  _this = _React$Component.call(this, props, context) || this;
9613
- var handleExited = _this.handleExited.bind(_assertThisInitialized(_this));
9613
+ var handleExited = _this.handleExited.bind(_assertThisInitialized$1(_this));
9614
9614
  _this.state = {
9615
9615
  contextValue: {
9616
9616
  isMounting: true
@@ -9647,7 +9647,7 @@ var TransitionGroup = /* @__PURE__ */ function(_React$Component) {
9647
9647
  }
9648
9648
  if (this.mounted) {
9649
9649
  this.setState(function(state) {
9650
- var children = _extends$1({}, state.children);
9650
+ var children = _extends$2({}, state.children);
9651
9651
  delete children[child.key];
9652
9652
  return {
9653
9653
  children
@@ -11195,7 +11195,7 @@ const CircularProgress = /* @__PURE__ */ React$1.forwardRef(function CircularPro
11195
11195
  className,
11196
11196
  color: color2 = "primary",
11197
11197
  disableShrink = false,
11198
- size = 40,
11198
+ size: size2 = 40,
11199
11199
  style: style2,
11200
11200
  thickness = 3.6,
11201
11201
  value = 0,
@@ -11206,7 +11206,7 @@ const CircularProgress = /* @__PURE__ */ React$1.forwardRef(function CircularPro
11206
11206
  ...props,
11207
11207
  color: color2,
11208
11208
  disableShrink,
11209
- size,
11209
+ size: size2,
11210
11210
  thickness,
11211
11211
  value,
11212
11212
  variant
@@ -11225,8 +11225,8 @@ const CircularProgress = /* @__PURE__ */ React$1.forwardRef(function CircularPro
11225
11225
  return /* @__PURE__ */ jsxRuntimeExports.jsx(CircularProgressRoot, {
11226
11226
  className: clsx$1(classes.root, className),
11227
11227
  style: {
11228
- width: size,
11229
- height: size,
11228
+ width: size2,
11229
+ height: size2,
11230
11230
  ...rootStyle,
11231
11231
  ...style2
11232
11232
  },
@@ -11326,11 +11326,11 @@ const useUtilityClasses$f = (ownerState) => {
11326
11326
  disabled,
11327
11327
  color: color2,
11328
11328
  edge,
11329
- size,
11329
+ size: size2,
11330
11330
  loading
11331
11331
  } = ownerState;
11332
11332
  const slots = {
11333
- root: ["root", loading && "loading", disabled && "disabled", color2 !== "default" && `color${capitalize$1(color2)}`, edge && `edge${capitalize$1(edge)}`, `size${capitalize$1(size)}`],
11333
+ root: ["root", loading && "loading", disabled && "disabled", color2 !== "default" && `color${capitalize$1(color2)}`, edge && `edge${capitalize$1(edge)}`, `size${capitalize$1(size2)}`],
11334
11334
  loadingIndicator: ["loadingIndicator"],
11335
11335
  loadingWrapper: ["loadingWrapper"]
11336
11336
  };
@@ -11483,7 +11483,7 @@ const IconButton = /* @__PURE__ */ React$1.forwardRef(function IconButton2(inPro
11483
11483
  color: color2 = "default",
11484
11484
  disabled = false,
11485
11485
  disableFocusRipple = false,
11486
- size = "medium",
11486
+ size: size2 = "medium",
11487
11487
  id: idProp,
11488
11488
  loading = null,
11489
11489
  loadingIndicator: loadingIndicatorProp,
@@ -11503,7 +11503,7 @@ const IconButton = /* @__PURE__ */ React$1.forwardRef(function IconButton2(inPro
11503
11503
  disableFocusRipple,
11504
11504
  loading,
11505
11505
  loadingIndicator,
11506
- size
11506
+ size: size2
11507
11507
  };
11508
11508
  const classes = useUtilityClasses$f(ownerState);
11509
11509
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(IconButtonRoot, {
@@ -14249,13 +14249,13 @@ const useUtilityClasses$c = (ownerState) => {
14249
14249
  hiddenLabel,
14250
14250
  multiline,
14251
14251
  readOnly,
14252
- size,
14252
+ size: size2,
14253
14253
  startAdornment,
14254
14254
  type
14255
14255
  } = ownerState;
14256
14256
  const slots = {
14257
- root: ["root", `color${capitalize$1(color2)}`, disabled && "disabled", error && "error", fullWidth && "fullWidth", focused && "focused", formControl && "formControl", size && size !== "medium" && `size${capitalize$1(size)}`, multiline && "multiline", startAdornment && "adornedStart", endAdornment && "adornedEnd", hiddenLabel && "hiddenLabel", readOnly && "readOnly"],
14258
- input: ["input", disabled && "disabled", type === "search" && "inputTypeSearch", multiline && "inputMultiline", size === "small" && "inputSizeSmall", hiddenLabel && "inputHiddenLabel", startAdornment && "inputAdornedStart", endAdornment && "inputAdornedEnd", readOnly && "readOnly"]
14257
+ root: ["root", `color${capitalize$1(color2)}`, disabled && "disabled", error && "error", fullWidth && "fullWidth", focused && "focused", formControl && "formControl", size2 && size2 !== "medium" && `size${capitalize$1(size2)}`, multiline && "multiline", startAdornment && "adornedStart", endAdornment && "adornedEnd", hiddenLabel && "hiddenLabel", readOnly && "readOnly"],
14258
+ input: ["input", disabled && "disabled", type === "search" && "inputTypeSearch", multiline && "inputMultiline", size2 === "small" && "inputSizeSmall", hiddenLabel && "inputHiddenLabel", startAdornment && "inputAdornedStart", endAdornment && "inputAdornedEnd", readOnly && "readOnly"]
14259
14259
  };
14260
14260
  return composeClasses(slots, getInputBaseUtilityClass, classes);
14261
14261
  };
@@ -14290,8 +14290,8 @@ const InputBaseRoot = styled("div", {
14290
14290
  }, {
14291
14291
  props: ({
14292
14292
  ownerState,
14293
- size
14294
- }) => ownerState.multiline && size === "small",
14293
+ size: size2
14294
+ }) => ownerState.multiline && size2 === "small",
14295
14295
  style: {
14296
14296
  paddingTop: 1
14297
14297
  }
@@ -14473,7 +14473,7 @@ const InputBase = /* @__PURE__ */ React$1.forwardRef(function InputBase2(inProps
14473
14473
  readOnly,
14474
14474
  renderSuffix,
14475
14475
  rows,
14476
- size,
14476
+ size: size2,
14477
14477
  slotProps = {},
14478
14478
  slots = {},
14479
14479
  startAdornment,
@@ -15129,6 +15129,10 @@ ClickAwayListener.propTypes = {
15129
15129
  {
15130
15130
  ClickAwayListener["propTypes"] = exactProp(ClickAwayListener.propTypes);
15131
15131
  }
15132
+ function getScrollbarSize$1(win = window) {
15133
+ const documentWidth = win.document.documentElement.clientWidth;
15134
+ return win.innerWidth - documentWidth;
15135
+ }
15132
15136
  const styles = {
15133
15137
  entering: {
15134
15138
  opacity: 1
@@ -15990,10 +15994,6 @@ List.propTypes = {
15990
15994
  };
15991
15995
  const listItemTextClasses = generateUtilityClasses("MuiListItemText", ["root", "multiline", "dense", "inset", "primary", "secondary"]);
15992
15996
  const listItemIconClasses = generateUtilityClasses("MuiListItemIcon", ["root", "alignItemsFlexStart"]);
15993
- function getScrollbarSize(win = window) {
15994
- const documentWidth = win.document.documentElement.clientWidth;
15995
- return win.innerWidth - documentWidth;
15996
- }
15997
15997
  function nextItem(list, item, disableListWrap) {
15998
15998
  if (list === item) {
15999
15999
  return list.firstChild;
@@ -16082,7 +16082,7 @@ const MenuList = /* @__PURE__ */ React$1.forwardRef(function MenuList2(props, re
16082
16082
  }) => {
16083
16083
  const noExplicitWidth = !listRef.current.style.width;
16084
16084
  if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {
16085
- const scrollbarSize = `${getScrollbarSize(ownerWindow(containerElement))}px`;
16085
+ const scrollbarSize = `${getScrollbarSize$1(ownerWindow(containerElement))}px`;
16086
16086
  listRef.current.style[direction === "rtl" ? "paddingLeft" : "paddingRight"] = scrollbarSize;
16087
16087
  listRef.current.style.width = `calc(100% + ${scrollbarSize})`;
16088
16088
  }
@@ -17254,7 +17254,7 @@ const Table = /* @__PURE__ */ React$1.forwardRef(function Table2(inProps, ref) {
17254
17254
  className,
17255
17255
  component = defaultComponent$2,
17256
17256
  padding: padding2 = "normal",
17257
- size = "medium",
17257
+ size: size2 = "medium",
17258
17258
  stickyHeader = false,
17259
17259
  ...other
17260
17260
  } = props;
@@ -17262,15 +17262,15 @@ const Table = /* @__PURE__ */ React$1.forwardRef(function Table2(inProps, ref) {
17262
17262
  ...props,
17263
17263
  component,
17264
17264
  padding: padding2,
17265
- size,
17265
+ size: size2,
17266
17266
  stickyHeader
17267
17267
  };
17268
17268
  const classes = useUtilityClasses$4(ownerState);
17269
17269
  const table = React$1.useMemo(() => ({
17270
17270
  padding: padding2,
17271
- size,
17271
+ size: size2,
17272
17272
  stickyHeader
17273
- }), [padding2, size, stickyHeader]);
17273
+ }), [padding2, size2, stickyHeader]);
17274
17274
  return /* @__PURE__ */ jsxRuntimeExports.jsx(TableContext.Provider, {
17275
17275
  value: table,
17276
17276
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(TableRoot, {
@@ -17416,11 +17416,11 @@ const useUtilityClasses$2 = (ownerState) => {
17416
17416
  variant,
17417
17417
  align,
17418
17418
  padding: padding2,
17419
- size,
17419
+ size: size2,
17420
17420
  stickyHeader
17421
17421
  } = ownerState;
17422
17422
  const slots = {
17423
- root: ["root", variant, stickyHeader && "stickyHeader", align !== "inherit" && `align${capitalize$1(align)}`, padding2 !== "normal" && `padding${capitalize$1(padding2)}`, `size${capitalize$1(size)}`]
17423
+ root: ["root", variant, stickyHeader && "stickyHeader", align !== "inherit" && `align${capitalize$1(align)}`, padding2 !== "normal" && `padding${capitalize$1(padding2)}`, `size${capitalize$1(size2)}`]
17424
17424
  };
17425
17425
  return composeClasses(slots, getTableCellUtilityClass, classes);
17426
17426
  };
@@ -18099,7 +18099,7 @@ var defineProperty$1 = function(obj, key, value) {
18099
18099
  }
18100
18100
  return obj;
18101
18101
  };
18102
- var _extends = Object.assign || function(target) {
18102
+ var _extends$1 = Object.assign || function(target) {
18103
18103
  for (var i2 = 1; i2 < arguments.length; i2++) {
18104
18104
  var source = arguments[i2];
18105
18105
  for (var key in source) {
@@ -18111,7 +18111,7 @@ var _extends = Object.assign || function(target) {
18111
18111
  return target;
18112
18112
  };
18113
18113
  function getClientRect(offsets) {
18114
- return _extends({}, offsets, {
18114
+ return _extends$1({}, offsets, {
18115
18115
  right: offsets.left + offsets.width,
18116
18116
  bottom: offsets.top + offsets.height
18117
18117
  });
@@ -18295,7 +18295,7 @@ function computeAutoPlacement(placement, refRect, popper2, reference2, boundarie
18295
18295
  }
18296
18296
  };
18297
18297
  var sortedAreas = Object.keys(rects).map(function(key) {
18298
- return _extends({
18298
+ return _extends$1({
18299
18299
  key
18300
18300
  }, rects[key], {
18301
18301
  area: getArea(rects[key])
@@ -18603,9 +18603,9 @@ function computeStyle(data, options) {
18603
18603
  var attributes = {
18604
18604
  "x-placement": data.placement
18605
18605
  };
18606
- data.attributes = _extends({}, attributes, data.attributes);
18607
- data.styles = _extends({}, styles2, data.styles);
18608
- data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);
18606
+ data.attributes = _extends$1({}, attributes, data.attributes);
18607
+ data.styles = _extends$1({}, styles2, data.styles);
18608
+ data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles);
18609
18609
  return data;
18610
18610
  }
18611
18611
  function isModifierRequired(modifiers2, requestingName, requestedName) {
@@ -18740,7 +18740,7 @@ function flip(data, options) {
18740
18740
  variation = getOppositeVariation(variation);
18741
18741
  }
18742
18742
  data.placement = placement + (variation ? "-" + variation : "");
18743
- data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
18743
+ data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
18744
18744
  data = runModifiers(data.instance.modifiers, data, "flip");
18745
18745
  }
18746
18746
  });
@@ -18783,13 +18783,13 @@ function toValue(str, measurement, popperOffsets2, referenceOffsets) {
18783
18783
  var rect = getClientRect(element);
18784
18784
  return rect[measurement] / 100 * value;
18785
18785
  } else if (unit === "vh" || unit === "vw") {
18786
- var size = void 0;
18786
+ var size2 = void 0;
18787
18787
  if (unit === "vh") {
18788
- size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
18788
+ size2 = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
18789
18789
  } else {
18790
- size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
18790
+ size2 = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
18791
18791
  }
18792
- return size / 100 * value;
18792
+ return size2 / 100 * value;
18793
18793
  } else {
18794
18794
  return value;
18795
18795
  }
@@ -18899,7 +18899,7 @@ function preventOverflow(data, options) {
18899
18899
  };
18900
18900
  order2.forEach(function(placement) {
18901
18901
  var side = ["left", "top"].indexOf(placement) !== -1 ? "primary" : "secondary";
18902
- popper2 = _extends({}, popper2, check[side](placement));
18902
+ popper2 = _extends$1({}, popper2, check[side](placement));
18903
18903
  });
18904
18904
  data.offsets.popper = popper2;
18905
18905
  return data;
@@ -18917,7 +18917,7 @@ function shift(data) {
18917
18917
  start: defineProperty$1({}, side, reference2[side]),
18918
18918
  end: defineProperty$1({}, side, reference2[side] + reference2[measurement] - popper2[measurement])
18919
18919
  };
18920
- data.offsets.popper = _extends({}, popper2, shiftOffsets[shiftvariation]);
18920
+ data.offsets.popper = _extends$1({}, popper2, shiftOffsets[shiftvariation]);
18921
18921
  }
18922
18922
  return data;
18923
18923
  }
@@ -19320,7 +19320,7 @@ var Popper = function() {
19320
19320
  return requestAnimationFrame(_this.update);
19321
19321
  };
19322
19322
  this.update = debounce$1(this.update.bind(this));
19323
- this.options = _extends({}, Popper3.Defaults, options);
19323
+ this.options = _extends$1({}, Popper3.Defaults, options);
19324
19324
  this.state = {
19325
19325
  isDestroyed: false,
19326
19326
  isCreated: false,
@@ -19329,11 +19329,11 @@ var Popper = function() {
19329
19329
  this.reference = reference2 && reference2.jquery ? reference2[0] : reference2;
19330
19330
  this.popper = popper2 && popper2.jquery ? popper2[0] : popper2;
19331
19331
  this.options.modifiers = {};
19332
- Object.keys(_extends({}, Popper3.Defaults.modifiers, options.modifiers)).forEach(function(name) {
19333
- _this.options.modifiers[name] = _extends({}, Popper3.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
19332
+ Object.keys(_extends$1({}, Popper3.Defaults.modifiers, options.modifiers)).forEach(function(name) {
19333
+ _this.options.modifiers[name] = _extends$1({}, Popper3.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
19334
19334
  });
19335
19335
  this.modifiers = Object.keys(this.options.modifiers).map(function(name) {
19336
- return _extends({
19336
+ return _extends$1({
19337
19337
  name
19338
19338
  }, _this.options.modifiers[name]);
19339
19339
  }).sort(function(a2, b) {
@@ -19399,21 +19399,20 @@ Popper.Utils = (typeof window !== "undefined" ? window : global).PopperUtils;
19399
19399
  Popper.placements = placements;
19400
19400
  Popper.Defaults = Defaults;
19401
19401
  function createChainedFunction(...funcs) {
19402
- return funcs.reduce((acc, func) => {
19403
- if (func == null) {
19404
- return acc;
19405
- }
19406
- {
19407
- if (typeof func !== "function") {
19408
- console.error("Material-UI: Invalid Argument Type, must only provide functions, undefined, or null.");
19402
+ return funcs.reduce(
19403
+ (acc, func) => {
19404
+ if (func == null) {
19405
+ return acc;
19409
19406
  }
19407
+ return function chainedFunction(...args) {
19408
+ acc.apply(this, args);
19409
+ func.apply(this, args);
19410
+ };
19411
+ },
19412
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
19413
+ () => {
19410
19414
  }
19411
- return function chainedFunction(...args) {
19412
- acc.apply(this, args);
19413
- func.apply(this, args);
19414
- };
19415
- }, () => {
19416
- });
19415
+ );
19417
19416
  }
19418
19417
  function setRef(ref, value) {
19419
19418
  if (typeof ref === "function") {
@@ -19452,7 +19451,7 @@ function flipPlacement(placement, theme) {
19452
19451
  }
19453
19452
  }
19454
19453
  function getAnchorEl(anchorEl) {
19455
- return typeof anchorEl === "function" ? anchorEl() : anchorEl;
19454
+ return typeof anchorEl === "function" ? anchorEl(document.body) : anchorEl;
19456
19455
  }
19457
19456
  const useEnhancedEffect = typeof window !== "undefined" ? React$1.useLayoutEffect : React$1.useEffect;
19458
19457
  const defaultPopperOptions = {};
@@ -19482,25 +19481,18 @@ React$1.forwardRef((props, ref) => {
19482
19481
  }
19483
19482
  if (popperRef.current) {
19484
19483
  popperRef.current.destroy();
19485
- handlePopperRefRef.current(null);
19484
+ if (handlePopperRefRef.current) {
19485
+ setRef(handlePopperRefRef.current, null);
19486
+ }
19486
19487
  }
19487
19488
  const handlePopperUpdate = (data) => {
19488
19489
  setPlacement(data.placement);
19489
19490
  };
19490
- const resolvedAnchorEl = getAnchorEl(anchorEl);
19491
- {
19492
- if (resolvedAnchorEl && resolvedAnchorEl.nodeType === 1) {
19493
- const box = resolvedAnchorEl.getBoundingClientRect();
19494
- if (box.top === 0 && box.left === 0 && box.right === 0 && box.bottom === 0) {
19495
- console.warn([
19496
- "Material-UI: The `anchorEl` prop provided to the component is invalid.",
19497
- "The anchor element should be part of the document layout.",
19498
- "Make sure the element is present in the document or that it's not display none."
19499
- ].join("\n"));
19500
- }
19501
- }
19491
+ const anchorElement = getAnchorEl(anchorEl);
19492
+ if (!anchorElement) {
19493
+ return;
19502
19494
  }
19503
- const popper2 = new Popper(getAnchorEl(anchorEl), tooltipRef.current, {
19495
+ const popper2 = new Popper(anchorElement, tooltipRef.current, {
19504
19496
  placement: rtlPlacement,
19505
19497
  ...popperOptions,
19506
19498
  modifiers: {
@@ -19518,7 +19510,9 @@ React$1.forwardRef((props, ref) => {
19518
19510
  onCreate: createChainedFunction(handlePopperUpdate, popperOptions.onCreate),
19519
19511
  onUpdate: createChainedFunction(handlePopperUpdate, popperOptions.onUpdate)
19520
19512
  });
19521
- handlePopperRefRef.current(popper2);
19513
+ if (handlePopperRefRef.current) {
19514
+ setRef(handlePopperRefRef.current, popper2);
19515
+ }
19522
19516
  }, [anchorEl, disablePortal, modifiers2, open2, rtlPlacement, popperOptions]);
19523
19517
  const handleRef = React$1.useCallback((node2) => {
19524
19518
  setRef(ownRef, node2);
@@ -19532,7 +19526,9 @@ React$1.forwardRef((props, ref) => {
19532
19526
  return;
19533
19527
  }
19534
19528
  popperRef.current.destroy();
19535
- handlePopperRefRef.current(null);
19529
+ if (handlePopperRefRef.current) {
19530
+ setRef(handlePopperRefRef.current, null);
19531
+ }
19536
19532
  };
19537
19533
  const handleExited = () => {
19538
19534
  setExited(true);
@@ -19563,7 +19559,7 @@ React$1.forwardRef((props, ref) => {
19563
19559
  // Fix Popper.js display issue
19564
19560
  top: 0,
19565
19561
  left: 0,
19566
- display: !open2 && keepMounted && !transition ? "none" : null,
19562
+ display: !open2 && keepMounted && !transition ? "none" : void 0,
19567
19563
  ...style2
19568
19564
  }, children: typeof children === "function" ? children(childProps) : children }) });
19569
19565
  });
@@ -19578,9 +19574,703 @@ function ScopedGlobalStyles(props) {
19578
19574
  const component = useMemo(() => {
19579
19575
  const computedStyles = prependParentClassName(styles2, parentClassName);
19580
19576
  return jsxRuntimeExports.jsx(GlobalStyles$3, { styles: computedStyles });
19581
- }, [parentClassName]);
19577
+ }, [parentClassName, styles2]);
19582
19578
  return component;
19583
19579
  }
19580
+ function _extends() {
19581
+ _extends = Object.assign ? Object.assign.bind() : function(target) {
19582
+ for (var i2 = 1; i2 < arguments.length; i2++) {
19583
+ var source = arguments[i2];
19584
+ for (var key in source) {
19585
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
19586
+ target[key] = source[key];
19587
+ }
19588
+ }
19589
+ }
19590
+ return target;
19591
+ };
19592
+ return _extends.apply(this, arguments);
19593
+ }
19594
+ function _assertThisInitialized(self2) {
19595
+ if (self2 === void 0) {
19596
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
19597
+ }
19598
+ return self2;
19599
+ }
19600
+ function _setPrototypeOf(o2, p) {
19601
+ _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf2(o3, p2) {
19602
+ o3.__proto__ = p2;
19603
+ return o3;
19604
+ };
19605
+ return _setPrototypeOf(o2, p);
19606
+ }
19607
+ function _inheritsLoose(subClass, superClass) {
19608
+ subClass.prototype = Object.create(superClass.prototype);
19609
+ subClass.prototype.constructor = subClass;
19610
+ _setPrototypeOf(subClass, superClass);
19611
+ }
19612
+ var safeIsNaN = Number.isNaN || function ponyfill(value) {
19613
+ return typeof value === "number" && value !== value;
19614
+ };
19615
+ function isEqual$1(first, second) {
19616
+ if (first === second) {
19617
+ return true;
19618
+ }
19619
+ if (safeIsNaN(first) && safeIsNaN(second)) {
19620
+ return true;
19621
+ }
19622
+ return false;
19623
+ }
19624
+ function areInputsEqual(newInputs, lastInputs) {
19625
+ if (newInputs.length !== lastInputs.length) {
19626
+ return false;
19627
+ }
19628
+ for (var i2 = 0; i2 < newInputs.length; i2++) {
19629
+ if (!isEqual$1(newInputs[i2], lastInputs[i2])) {
19630
+ return false;
19631
+ }
19632
+ }
19633
+ return true;
19634
+ }
19635
+ function memoizeOne(resultFn, isEqual2) {
19636
+ if (isEqual2 === void 0) {
19637
+ isEqual2 = areInputsEqual;
19638
+ }
19639
+ var lastThis;
19640
+ var lastArgs = [];
19641
+ var lastResult;
19642
+ var calledOnce = false;
19643
+ function memoized() {
19644
+ var newArgs = [];
19645
+ for (var _i2 = 0; _i2 < arguments.length; _i2++) {
19646
+ newArgs[_i2] = arguments[_i2];
19647
+ }
19648
+ if (calledOnce && lastThis === this && isEqual2(newArgs, lastArgs)) {
19649
+ return lastResult;
19650
+ }
19651
+ lastResult = resultFn.apply(this, newArgs);
19652
+ calledOnce = true;
19653
+ lastThis = this;
19654
+ lastArgs = newArgs;
19655
+ return lastResult;
19656
+ }
19657
+ return memoized;
19658
+ }
19659
+ var hasNativePerformanceNow = typeof performance === "object" && typeof performance.now === "function";
19660
+ var now$1 = hasNativePerformanceNow ? function() {
19661
+ return performance.now();
19662
+ } : function() {
19663
+ return Date.now();
19664
+ };
19665
+ function cancelTimeout(timeoutID) {
19666
+ cancelAnimationFrame(timeoutID.id);
19667
+ }
19668
+ function requestTimeout(callback, delay) {
19669
+ var start2 = now$1();
19670
+ function tick() {
19671
+ if (now$1() - start2 >= delay) {
19672
+ callback.call(null);
19673
+ } else {
19674
+ timeoutID.id = requestAnimationFrame(tick);
19675
+ }
19676
+ }
19677
+ var timeoutID = {
19678
+ id: requestAnimationFrame(tick)
19679
+ };
19680
+ return timeoutID;
19681
+ }
19682
+ var size = -1;
19683
+ function getScrollbarSize(recalculate) {
19684
+ if (recalculate === void 0) {
19685
+ recalculate = false;
19686
+ }
19687
+ if (size === -1 || recalculate) {
19688
+ var div = document.createElement("div");
19689
+ var style2 = div.style;
19690
+ style2.width = "50px";
19691
+ style2.height = "50px";
19692
+ style2.overflow = "scroll";
19693
+ document.body.appendChild(div);
19694
+ size = div.offsetWidth - div.clientWidth;
19695
+ document.body.removeChild(div);
19696
+ }
19697
+ return size;
19698
+ }
19699
+ var cachedRTLResult = null;
19700
+ function getRTLOffsetType(recalculate) {
19701
+ if (recalculate === void 0) {
19702
+ recalculate = false;
19703
+ }
19704
+ if (cachedRTLResult === null || recalculate) {
19705
+ var outerDiv = document.createElement("div");
19706
+ var outerStyle = outerDiv.style;
19707
+ outerStyle.width = "50px";
19708
+ outerStyle.height = "50px";
19709
+ outerStyle.overflow = "scroll";
19710
+ outerStyle.direction = "rtl";
19711
+ var innerDiv = document.createElement("div");
19712
+ var innerStyle = innerDiv.style;
19713
+ innerStyle.width = "100px";
19714
+ innerStyle.height = "100px";
19715
+ outerDiv.appendChild(innerDiv);
19716
+ document.body.appendChild(outerDiv);
19717
+ if (outerDiv.scrollLeft > 0) {
19718
+ cachedRTLResult = "positive-descending";
19719
+ } else {
19720
+ outerDiv.scrollLeft = 1;
19721
+ if (outerDiv.scrollLeft === 0) {
19722
+ cachedRTLResult = "negative";
19723
+ } else {
19724
+ cachedRTLResult = "positive-ascending";
19725
+ }
19726
+ }
19727
+ document.body.removeChild(outerDiv);
19728
+ return cachedRTLResult;
19729
+ }
19730
+ return cachedRTLResult;
19731
+ }
19732
+ var IS_SCROLLING_DEBOUNCE_INTERVAL$1 = 150;
19733
+ var defaultItemKey$1 = function defaultItemKey3(index, data) {
19734
+ return index;
19735
+ };
19736
+ var devWarningsDirection = null;
19737
+ var devWarningsTagName$1 = null;
19738
+ {
19739
+ if (typeof window !== "undefined" && typeof window.WeakSet !== "undefined") {
19740
+ devWarningsDirection = /* @__PURE__ */ new WeakSet();
19741
+ devWarningsTagName$1 = /* @__PURE__ */ new WeakSet();
19742
+ }
19743
+ }
19744
+ function createListComponent(_ref) {
19745
+ var _class;
19746
+ var getItemOffset3 = _ref.getItemOffset, getEstimatedTotalSize4 = _ref.getEstimatedTotalSize, getItemSize3 = _ref.getItemSize, getOffsetForIndexAndAlignment5 = _ref.getOffsetForIndexAndAlignment, getStartIndexForOffset3 = _ref.getStartIndexForOffset, getStopIndexForStartIndex3 = _ref.getStopIndexForStartIndex, initInstanceProps5 = _ref.initInstanceProps, shouldResetStyleCacheOnItemSizeChange = _ref.shouldResetStyleCacheOnItemSizeChange, validateProps5 = _ref.validateProps;
19747
+ return _class = /* @__PURE__ */ function(_PureComponent) {
19748
+ _inheritsLoose(List3, _PureComponent);
19749
+ function List3(props) {
19750
+ var _this;
19751
+ _this = _PureComponent.call(this, props) || this;
19752
+ _this._instanceProps = initInstanceProps5(_this.props, _assertThisInitialized(_this));
19753
+ _this._outerRef = void 0;
19754
+ _this._resetIsScrollingTimeoutId = null;
19755
+ _this.state = {
19756
+ instance: _assertThisInitialized(_this),
19757
+ isScrolling: false,
19758
+ scrollDirection: "forward",
19759
+ scrollOffset: typeof _this.props.initialScrollOffset === "number" ? _this.props.initialScrollOffset : 0,
19760
+ scrollUpdateWasRequested: false
19761
+ };
19762
+ _this._callOnItemsRendered = void 0;
19763
+ _this._callOnItemsRendered = memoizeOne(function(overscanStartIndex, overscanStopIndex, visibleStartIndex, visibleStopIndex) {
19764
+ return _this.props.onItemsRendered({
19765
+ overscanStartIndex,
19766
+ overscanStopIndex,
19767
+ visibleStartIndex,
19768
+ visibleStopIndex
19769
+ });
19770
+ });
19771
+ _this._callOnScroll = void 0;
19772
+ _this._callOnScroll = memoizeOne(function(scrollDirection, scrollOffset, scrollUpdateWasRequested) {
19773
+ return _this.props.onScroll({
19774
+ scrollDirection,
19775
+ scrollOffset,
19776
+ scrollUpdateWasRequested
19777
+ });
19778
+ });
19779
+ _this._getItemStyle = void 0;
19780
+ _this._getItemStyle = function(index) {
19781
+ var _this$props = _this.props, direction = _this$props.direction, itemSize = _this$props.itemSize, layout = _this$props.layout;
19782
+ var itemStyleCache = _this._getItemStyleCache(shouldResetStyleCacheOnItemSizeChange && itemSize, shouldResetStyleCacheOnItemSizeChange && layout, shouldResetStyleCacheOnItemSizeChange && direction);
19783
+ var style2;
19784
+ if (itemStyleCache.hasOwnProperty(index)) {
19785
+ style2 = itemStyleCache[index];
19786
+ } else {
19787
+ var _offset = getItemOffset3(_this.props, index, _this._instanceProps);
19788
+ var size2 = getItemSize3(_this.props, index, _this._instanceProps);
19789
+ var isHorizontal = direction === "horizontal" || layout === "horizontal";
19790
+ var isRtl = direction === "rtl";
19791
+ var offsetHorizontal = isHorizontal ? _offset : 0;
19792
+ itemStyleCache[index] = style2 = {
19793
+ position: "absolute",
19794
+ left: isRtl ? void 0 : offsetHorizontal,
19795
+ right: isRtl ? offsetHorizontal : void 0,
19796
+ top: !isHorizontal ? _offset : 0,
19797
+ height: !isHorizontal ? size2 : "100%",
19798
+ width: isHorizontal ? size2 : "100%"
19799
+ };
19800
+ }
19801
+ return style2;
19802
+ };
19803
+ _this._getItemStyleCache = void 0;
19804
+ _this._getItemStyleCache = memoizeOne(function(_, __, ___) {
19805
+ return {};
19806
+ });
19807
+ _this._onScrollHorizontal = function(event) {
19808
+ var _event$currentTarget = event.currentTarget, clientWidth = _event$currentTarget.clientWidth, scrollLeft = _event$currentTarget.scrollLeft, scrollWidth = _event$currentTarget.scrollWidth;
19809
+ _this.setState(function(prevState) {
19810
+ if (prevState.scrollOffset === scrollLeft) {
19811
+ return null;
19812
+ }
19813
+ var direction = _this.props.direction;
19814
+ var scrollOffset = scrollLeft;
19815
+ if (direction === "rtl") {
19816
+ switch (getRTLOffsetType()) {
19817
+ case "negative":
19818
+ scrollOffset = -scrollLeft;
19819
+ break;
19820
+ case "positive-descending":
19821
+ scrollOffset = scrollWidth - clientWidth - scrollLeft;
19822
+ break;
19823
+ }
19824
+ }
19825
+ scrollOffset = Math.max(0, Math.min(scrollOffset, scrollWidth - clientWidth));
19826
+ return {
19827
+ isScrolling: true,
19828
+ scrollDirection: prevState.scrollOffset < scrollOffset ? "forward" : "backward",
19829
+ scrollOffset,
19830
+ scrollUpdateWasRequested: false
19831
+ };
19832
+ }, _this._resetIsScrollingDebounced);
19833
+ };
19834
+ _this._onScrollVertical = function(event) {
19835
+ var _event$currentTarget2 = event.currentTarget, clientHeight = _event$currentTarget2.clientHeight, scrollHeight = _event$currentTarget2.scrollHeight, scrollTop = _event$currentTarget2.scrollTop;
19836
+ _this.setState(function(prevState) {
19837
+ if (prevState.scrollOffset === scrollTop) {
19838
+ return null;
19839
+ }
19840
+ var scrollOffset = Math.max(0, Math.min(scrollTop, scrollHeight - clientHeight));
19841
+ return {
19842
+ isScrolling: true,
19843
+ scrollDirection: prevState.scrollOffset < scrollOffset ? "forward" : "backward",
19844
+ scrollOffset,
19845
+ scrollUpdateWasRequested: false
19846
+ };
19847
+ }, _this._resetIsScrollingDebounced);
19848
+ };
19849
+ _this._outerRefSetter = function(ref) {
19850
+ var outerRef = _this.props.outerRef;
19851
+ _this._outerRef = ref;
19852
+ if (typeof outerRef === "function") {
19853
+ outerRef(ref);
19854
+ } else if (outerRef != null && typeof outerRef === "object" && outerRef.hasOwnProperty("current")) {
19855
+ outerRef.current = ref;
19856
+ }
19857
+ };
19858
+ _this._resetIsScrollingDebounced = function() {
19859
+ if (_this._resetIsScrollingTimeoutId !== null) {
19860
+ cancelTimeout(_this._resetIsScrollingTimeoutId);
19861
+ }
19862
+ _this._resetIsScrollingTimeoutId = requestTimeout(_this._resetIsScrolling, IS_SCROLLING_DEBOUNCE_INTERVAL$1);
19863
+ };
19864
+ _this._resetIsScrolling = function() {
19865
+ _this._resetIsScrollingTimeoutId = null;
19866
+ _this.setState({
19867
+ isScrolling: false
19868
+ }, function() {
19869
+ _this._getItemStyleCache(-1, null);
19870
+ });
19871
+ };
19872
+ return _this;
19873
+ }
19874
+ List3.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, prevState) {
19875
+ validateSharedProps$1(nextProps, prevState);
19876
+ validateProps5(nextProps);
19877
+ return null;
19878
+ };
19879
+ var _proto = List3.prototype;
19880
+ _proto.scrollTo = function scrollTo(scrollOffset) {
19881
+ scrollOffset = Math.max(0, scrollOffset);
19882
+ this.setState(function(prevState) {
19883
+ if (prevState.scrollOffset === scrollOffset) {
19884
+ return null;
19885
+ }
19886
+ return {
19887
+ scrollDirection: prevState.scrollOffset < scrollOffset ? "forward" : "backward",
19888
+ scrollOffset,
19889
+ scrollUpdateWasRequested: true
19890
+ };
19891
+ }, this._resetIsScrollingDebounced);
19892
+ };
19893
+ _proto.scrollToItem = function scrollToItem(index, align) {
19894
+ if (align === void 0) {
19895
+ align = "auto";
19896
+ }
19897
+ var _this$props2 = this.props, itemCount = _this$props2.itemCount, layout = _this$props2.layout;
19898
+ var scrollOffset = this.state.scrollOffset;
19899
+ index = Math.max(0, Math.min(index, itemCount - 1));
19900
+ var scrollbarSize = 0;
19901
+ if (this._outerRef) {
19902
+ var outerRef = this._outerRef;
19903
+ if (layout === "vertical") {
19904
+ scrollbarSize = outerRef.scrollWidth > outerRef.clientWidth ? getScrollbarSize() : 0;
19905
+ } else {
19906
+ scrollbarSize = outerRef.scrollHeight > outerRef.clientHeight ? getScrollbarSize() : 0;
19907
+ }
19908
+ }
19909
+ this.scrollTo(getOffsetForIndexAndAlignment5(this.props, index, align, scrollOffset, this._instanceProps, scrollbarSize));
19910
+ };
19911
+ _proto.componentDidMount = function componentDidMount() {
19912
+ var _this$props3 = this.props, direction = _this$props3.direction, initialScrollOffset = _this$props3.initialScrollOffset, layout = _this$props3.layout;
19913
+ if (typeof initialScrollOffset === "number" && this._outerRef != null) {
19914
+ var outerRef = this._outerRef;
19915
+ if (direction === "horizontal" || layout === "horizontal") {
19916
+ outerRef.scrollLeft = initialScrollOffset;
19917
+ } else {
19918
+ outerRef.scrollTop = initialScrollOffset;
19919
+ }
19920
+ }
19921
+ this._callPropsCallbacks();
19922
+ };
19923
+ _proto.componentDidUpdate = function componentDidUpdate() {
19924
+ var _this$props4 = this.props, direction = _this$props4.direction, layout = _this$props4.layout;
19925
+ var _this$state = this.state, scrollOffset = _this$state.scrollOffset, scrollUpdateWasRequested = _this$state.scrollUpdateWasRequested;
19926
+ if (scrollUpdateWasRequested && this._outerRef != null) {
19927
+ var outerRef = this._outerRef;
19928
+ if (direction === "horizontal" || layout === "horizontal") {
19929
+ if (direction === "rtl") {
19930
+ switch (getRTLOffsetType()) {
19931
+ case "negative":
19932
+ outerRef.scrollLeft = -scrollOffset;
19933
+ break;
19934
+ case "positive-ascending":
19935
+ outerRef.scrollLeft = scrollOffset;
19936
+ break;
19937
+ default:
19938
+ var clientWidth = outerRef.clientWidth, scrollWidth = outerRef.scrollWidth;
19939
+ outerRef.scrollLeft = scrollWidth - clientWidth - scrollOffset;
19940
+ break;
19941
+ }
19942
+ } else {
19943
+ outerRef.scrollLeft = scrollOffset;
19944
+ }
19945
+ } else {
19946
+ outerRef.scrollTop = scrollOffset;
19947
+ }
19948
+ }
19949
+ this._callPropsCallbacks();
19950
+ };
19951
+ _proto.componentWillUnmount = function componentWillUnmount() {
19952
+ if (this._resetIsScrollingTimeoutId !== null) {
19953
+ cancelTimeout(this._resetIsScrollingTimeoutId);
19954
+ }
19955
+ };
19956
+ _proto.render = function render() {
19957
+ var _this$props5 = this.props, children = _this$props5.children, className = _this$props5.className, direction = _this$props5.direction, height2 = _this$props5.height, innerRef = _this$props5.innerRef, innerElementType = _this$props5.innerElementType, innerTagName = _this$props5.innerTagName, itemCount = _this$props5.itemCount, itemData = _this$props5.itemData, _this$props5$itemKey = _this$props5.itemKey, itemKey = _this$props5$itemKey === void 0 ? defaultItemKey$1 : _this$props5$itemKey, layout = _this$props5.layout, outerElementType = _this$props5.outerElementType, outerTagName = _this$props5.outerTagName, style2 = _this$props5.style, useIsScrolling = _this$props5.useIsScrolling, width2 = _this$props5.width;
19958
+ var isScrolling = this.state.isScrolling;
19959
+ var isHorizontal = direction === "horizontal" || layout === "horizontal";
19960
+ var onScroll = isHorizontal ? this._onScrollHorizontal : this._onScrollVertical;
19961
+ var _this$_getRangeToRend = this._getRangeToRender(), startIndex = _this$_getRangeToRend[0], stopIndex = _this$_getRangeToRend[1];
19962
+ var items = [];
19963
+ if (itemCount > 0) {
19964
+ for (var _index = startIndex; _index <= stopIndex; _index++) {
19965
+ items.push(createElement(children, {
19966
+ data: itemData,
19967
+ key: itemKey(_index, itemData),
19968
+ index: _index,
19969
+ isScrolling: useIsScrolling ? isScrolling : void 0,
19970
+ style: this._getItemStyle(_index)
19971
+ }));
19972
+ }
19973
+ }
19974
+ var estimatedTotalSize = getEstimatedTotalSize4(this.props, this._instanceProps);
19975
+ return createElement(outerElementType || outerTagName || "div", {
19976
+ className,
19977
+ onScroll,
19978
+ ref: this._outerRefSetter,
19979
+ style: _extends({
19980
+ position: "relative",
19981
+ height: height2,
19982
+ width: width2,
19983
+ overflow: "auto",
19984
+ WebkitOverflowScrolling: "touch",
19985
+ willChange: "transform",
19986
+ direction
19987
+ }, style2)
19988
+ }, createElement(innerElementType || innerTagName || "div", {
19989
+ children: items,
19990
+ ref: innerRef,
19991
+ style: {
19992
+ height: isHorizontal ? "100%" : estimatedTotalSize,
19993
+ pointerEvents: isScrolling ? "none" : void 0,
19994
+ width: isHorizontal ? estimatedTotalSize : "100%"
19995
+ }
19996
+ }));
19997
+ };
19998
+ _proto._callPropsCallbacks = function _callPropsCallbacks() {
19999
+ if (typeof this.props.onItemsRendered === "function") {
20000
+ var itemCount = this.props.itemCount;
20001
+ if (itemCount > 0) {
20002
+ var _this$_getRangeToRend2 = this._getRangeToRender(), _overscanStartIndex = _this$_getRangeToRend2[0], _overscanStopIndex = _this$_getRangeToRend2[1], _visibleStartIndex = _this$_getRangeToRend2[2], _visibleStopIndex = _this$_getRangeToRend2[3];
20003
+ this._callOnItemsRendered(_overscanStartIndex, _overscanStopIndex, _visibleStartIndex, _visibleStopIndex);
20004
+ }
20005
+ }
20006
+ if (typeof this.props.onScroll === "function") {
20007
+ var _this$state2 = this.state, _scrollDirection = _this$state2.scrollDirection, _scrollOffset = _this$state2.scrollOffset, _scrollUpdateWasRequested = _this$state2.scrollUpdateWasRequested;
20008
+ this._callOnScroll(_scrollDirection, _scrollOffset, _scrollUpdateWasRequested);
20009
+ }
20010
+ };
20011
+ _proto._getRangeToRender = function _getRangeToRender() {
20012
+ var _this$props6 = this.props, itemCount = _this$props6.itemCount, overscanCount = _this$props6.overscanCount;
20013
+ var _this$state3 = this.state, isScrolling = _this$state3.isScrolling, scrollDirection = _this$state3.scrollDirection, scrollOffset = _this$state3.scrollOffset;
20014
+ if (itemCount === 0) {
20015
+ return [0, 0, 0, 0];
20016
+ }
20017
+ var startIndex = getStartIndexForOffset3(this.props, scrollOffset, this._instanceProps);
20018
+ var stopIndex = getStopIndexForStartIndex3(this.props, startIndex, scrollOffset, this._instanceProps);
20019
+ var overscanBackward = !isScrolling || scrollDirection === "backward" ? Math.max(1, overscanCount) : 1;
20020
+ var overscanForward = !isScrolling || scrollDirection === "forward" ? Math.max(1, overscanCount) : 1;
20021
+ return [Math.max(0, startIndex - overscanBackward), Math.max(0, Math.min(itemCount - 1, stopIndex + overscanForward)), startIndex, stopIndex];
20022
+ };
20023
+ return List3;
20024
+ }(PureComponent), _class.defaultProps = {
20025
+ direction: "ltr",
20026
+ itemData: void 0,
20027
+ layout: "vertical",
20028
+ overscanCount: 2,
20029
+ useIsScrolling: false
20030
+ }, _class;
20031
+ }
20032
+ var validateSharedProps$1 = function validateSharedProps3(_ref2, _ref3) {
20033
+ var children = _ref2.children, direction = _ref2.direction, height2 = _ref2.height, layout = _ref2.layout, innerTagName = _ref2.innerTagName, outerTagName = _ref2.outerTagName, width2 = _ref2.width;
20034
+ var instance = _ref3.instance;
20035
+ {
20036
+ if (innerTagName != null || outerTagName != null) {
20037
+ if (devWarningsTagName$1 && !devWarningsTagName$1.has(instance)) {
20038
+ devWarningsTagName$1.add(instance);
20039
+ console.warn("The innerTagName and outerTagName props have been deprecated. Please use the innerElementType and outerElementType props instead.");
20040
+ }
20041
+ }
20042
+ var isHorizontal = direction === "horizontal" || layout === "horizontal";
20043
+ switch (direction) {
20044
+ case "horizontal":
20045
+ case "vertical":
20046
+ if (devWarningsDirection && !devWarningsDirection.has(instance)) {
20047
+ devWarningsDirection.add(instance);
20048
+ console.warn('The direction prop should be either "ltr" (default) or "rtl". Please use the layout prop to specify "vertical" (default) or "horizontal" orientation.');
20049
+ }
20050
+ break;
20051
+ case "ltr":
20052
+ case "rtl":
20053
+ break;
20054
+ default:
20055
+ throw Error('An invalid "direction" prop has been specified. Value should be either "ltr" or "rtl". ' + ('"' + direction + '" was specified.'));
20056
+ }
20057
+ switch (layout) {
20058
+ case "horizontal":
20059
+ case "vertical":
20060
+ break;
20061
+ default:
20062
+ throw Error('An invalid "layout" prop has been specified. Value should be either "horizontal" or "vertical". ' + ('"' + layout + '" was specified.'));
20063
+ }
20064
+ if (children == null) {
20065
+ throw Error('An invalid "children" prop has been specified. Value should be a React component. ' + ('"' + (children === null ? "null" : typeof children) + '" was specified.'));
20066
+ }
20067
+ if (isHorizontal && typeof width2 !== "number") {
20068
+ throw Error('An invalid "width" prop has been specified. Horizontal lists must specify a number for width. ' + ('"' + (width2 === null ? "null" : typeof width2) + '" was specified.'));
20069
+ } else if (!isHorizontal && typeof height2 !== "number") {
20070
+ throw Error('An invalid "height" prop has been specified. Vertical lists must specify a number for height. ' + ('"' + (height2 === null ? "null" : typeof height2) + '" was specified.'));
20071
+ }
20072
+ }
20073
+ };
20074
+ var DEFAULT_ESTIMATED_ITEM_SIZE$1 = 50;
20075
+ var getItemMetadata$1 = function getItemMetadata3(props, index, instanceProps) {
20076
+ var _ref = props, itemSize = _ref.itemSize;
20077
+ var itemMetadataMap = instanceProps.itemMetadataMap, lastMeasuredIndex = instanceProps.lastMeasuredIndex;
20078
+ if (index > lastMeasuredIndex) {
20079
+ var offset2 = 0;
20080
+ if (lastMeasuredIndex >= 0) {
20081
+ var itemMetadata = itemMetadataMap[lastMeasuredIndex];
20082
+ offset2 = itemMetadata.offset + itemMetadata.size;
20083
+ }
20084
+ for (var i2 = lastMeasuredIndex + 1; i2 <= index; i2++) {
20085
+ var size2 = itemSize(i2);
20086
+ itemMetadataMap[i2] = {
20087
+ offset: offset2,
20088
+ size: size2
20089
+ };
20090
+ offset2 += size2;
20091
+ }
20092
+ instanceProps.lastMeasuredIndex = index;
20093
+ }
20094
+ return itemMetadataMap[index];
20095
+ };
20096
+ var findNearestItem$1 = function findNearestItem3(props, instanceProps, offset2) {
20097
+ var itemMetadataMap = instanceProps.itemMetadataMap, lastMeasuredIndex = instanceProps.lastMeasuredIndex;
20098
+ var lastMeasuredItemOffset = lastMeasuredIndex > 0 ? itemMetadataMap[lastMeasuredIndex].offset : 0;
20099
+ if (lastMeasuredItemOffset >= offset2) {
20100
+ return findNearestItemBinarySearch$1(props, instanceProps, lastMeasuredIndex, 0, offset2);
20101
+ } else {
20102
+ return findNearestItemExponentialSearch$1(props, instanceProps, Math.max(0, lastMeasuredIndex), offset2);
20103
+ }
20104
+ };
20105
+ var findNearestItemBinarySearch$1 = function findNearestItemBinarySearch3(props, instanceProps, high, low, offset2) {
20106
+ while (low <= high) {
20107
+ var middle = low + Math.floor((high - low) / 2);
20108
+ var currentOffset = getItemMetadata$1(props, middle, instanceProps).offset;
20109
+ if (currentOffset === offset2) {
20110
+ return middle;
20111
+ } else if (currentOffset < offset2) {
20112
+ low = middle + 1;
20113
+ } else if (currentOffset > offset2) {
20114
+ high = middle - 1;
20115
+ }
20116
+ }
20117
+ if (low > 0) {
20118
+ return low - 1;
20119
+ } else {
20120
+ return 0;
20121
+ }
20122
+ };
20123
+ var findNearestItemExponentialSearch$1 = function findNearestItemExponentialSearch3(props, instanceProps, index, offset2) {
20124
+ var itemCount = props.itemCount;
20125
+ var interval = 1;
20126
+ while (index < itemCount && getItemMetadata$1(props, index, instanceProps).offset < offset2) {
20127
+ index += interval;
20128
+ interval *= 2;
20129
+ }
20130
+ return findNearestItemBinarySearch$1(props, instanceProps, Math.min(index, itemCount - 1), Math.floor(index / 2), offset2);
20131
+ };
20132
+ var getEstimatedTotalSize = function getEstimatedTotalSize2(_ref2, _ref3) {
20133
+ var itemCount = _ref2.itemCount;
20134
+ var itemMetadataMap = _ref3.itemMetadataMap, estimatedItemSize = _ref3.estimatedItemSize, lastMeasuredIndex = _ref3.lastMeasuredIndex;
20135
+ var totalSizeOfMeasuredItems = 0;
20136
+ if (lastMeasuredIndex >= itemCount) {
20137
+ lastMeasuredIndex = itemCount - 1;
20138
+ }
20139
+ if (lastMeasuredIndex >= 0) {
20140
+ var itemMetadata = itemMetadataMap[lastMeasuredIndex];
20141
+ totalSizeOfMeasuredItems = itemMetadata.offset + itemMetadata.size;
20142
+ }
20143
+ var numUnmeasuredItems = itemCount - lastMeasuredIndex - 1;
20144
+ var totalSizeOfUnmeasuredItems = numUnmeasuredItems * estimatedItemSize;
20145
+ return totalSizeOfMeasuredItems + totalSizeOfUnmeasuredItems;
20146
+ };
20147
+ var VariableSizeList$1 = /* @__PURE__ */ createListComponent({
20148
+ getItemOffset: function getItemOffset(props, index, instanceProps) {
20149
+ return getItemMetadata$1(props, index, instanceProps).offset;
20150
+ },
20151
+ getItemSize: function getItemSize(props, index, instanceProps) {
20152
+ return instanceProps.itemMetadataMap[index].size;
20153
+ },
20154
+ getEstimatedTotalSize,
20155
+ getOffsetForIndexAndAlignment: function getOffsetForIndexAndAlignment3(props, index, align, scrollOffset, instanceProps, scrollbarSize) {
20156
+ var direction = props.direction, height2 = props.height, layout = props.layout, width2 = props.width;
20157
+ var isHorizontal = direction === "horizontal" || layout === "horizontal";
20158
+ var size2 = isHorizontal ? width2 : height2;
20159
+ var itemMetadata = getItemMetadata$1(props, index, instanceProps);
20160
+ var estimatedTotalSize = getEstimatedTotalSize(props, instanceProps);
20161
+ var maxOffset = Math.max(0, Math.min(estimatedTotalSize - size2, itemMetadata.offset));
20162
+ var minOffset = Math.max(0, itemMetadata.offset - size2 + itemMetadata.size + scrollbarSize);
20163
+ if (align === "smart") {
20164
+ if (scrollOffset >= minOffset - size2 && scrollOffset <= maxOffset + size2) {
20165
+ align = "auto";
20166
+ } else {
20167
+ align = "center";
20168
+ }
20169
+ }
20170
+ switch (align) {
20171
+ case "start":
20172
+ return maxOffset;
20173
+ case "end":
20174
+ return minOffset;
20175
+ case "center":
20176
+ return Math.round(minOffset + (maxOffset - minOffset) / 2);
20177
+ case "auto":
20178
+ default:
20179
+ if (scrollOffset >= minOffset && scrollOffset <= maxOffset) {
20180
+ return scrollOffset;
20181
+ } else if (scrollOffset < minOffset) {
20182
+ return minOffset;
20183
+ } else {
20184
+ return maxOffset;
20185
+ }
20186
+ }
20187
+ },
20188
+ getStartIndexForOffset: function getStartIndexForOffset(props, offset2, instanceProps) {
20189
+ return findNearestItem$1(props, instanceProps, offset2);
20190
+ },
20191
+ getStopIndexForStartIndex: function getStopIndexForStartIndex(props, startIndex, scrollOffset, instanceProps) {
20192
+ var direction = props.direction, height2 = props.height, itemCount = props.itemCount, layout = props.layout, width2 = props.width;
20193
+ var isHorizontal = direction === "horizontal" || layout === "horizontal";
20194
+ var size2 = isHorizontal ? width2 : height2;
20195
+ var itemMetadata = getItemMetadata$1(props, startIndex, instanceProps);
20196
+ var maxOffset = scrollOffset + size2;
20197
+ var offset2 = itemMetadata.offset + itemMetadata.size;
20198
+ var stopIndex = startIndex;
20199
+ while (stopIndex < itemCount - 1 && offset2 < maxOffset) {
20200
+ stopIndex++;
20201
+ offset2 += getItemMetadata$1(props, stopIndex, instanceProps).size;
20202
+ }
20203
+ return stopIndex;
20204
+ },
20205
+ initInstanceProps: function initInstanceProps2(props, instance) {
20206
+ var _ref4 = props, estimatedItemSize = _ref4.estimatedItemSize;
20207
+ var instanceProps = {
20208
+ itemMetadataMap: {},
20209
+ estimatedItemSize: estimatedItemSize || DEFAULT_ESTIMATED_ITEM_SIZE$1,
20210
+ lastMeasuredIndex: -1
20211
+ };
20212
+ instance.resetAfterIndex = function(index, shouldForceUpdate) {
20213
+ if (shouldForceUpdate === void 0) {
20214
+ shouldForceUpdate = true;
20215
+ }
20216
+ instanceProps.lastMeasuredIndex = Math.min(instanceProps.lastMeasuredIndex, index - 1);
20217
+ instance._getItemStyleCache(-1);
20218
+ if (shouldForceUpdate) {
20219
+ instance.forceUpdate();
20220
+ }
20221
+ };
20222
+ return instanceProps;
20223
+ },
20224
+ shouldResetStyleCacheOnItemSizeChange: false,
20225
+ validateProps: function validateProps2(_ref5) {
20226
+ var itemSize = _ref5.itemSize;
20227
+ {
20228
+ if (typeof itemSize !== "function") {
20229
+ throw Error('An invalid "itemSize" prop has been specified. Value should be a function. ' + ('"' + (itemSize === null ? "null" : typeof itemSize) + '" was specified.'));
20230
+ }
20231
+ }
20232
+ }
20233
+ });
20234
+ const VariableSizeList = VariableSizeList$1;
20235
+ const LIST_ROW_HEIGHT = 48;
20236
+ makeStyles()(() => ({
20237
+ searchInput: {
20238
+ lineHeight: "initial",
20239
+ height: "auto !important"
20240
+ }
20241
+ }));
20242
+ const OuterElementContext = React__default.createContext({});
20243
+ const OuterElementType = React__default.forwardRef((props, ref) => {
20244
+ const outerProps = React__default.useContext(OuterElementContext);
20245
+ return jsxRuntimeExports.jsx("div", { ref, ...props, ...outerProps });
20246
+ });
20247
+ function ListRow(props) {
20248
+ const { data, index, style: style2 } = props;
20249
+ const dataSet = data[index];
20250
+ const inlineStyle = {
20251
+ ...style2,
20252
+ top: style2.top + 8
20253
+ };
20254
+ const [props0, option, getItemLabel] = dataSet;
20255
+ const { key, ...optionProps } = props0;
20256
+ return jsxRuntimeExports.jsx(Typography, { component: "li", ...optionProps, noWrap: true, style: inlineStyle, children: getItemLabel(option) }, key);
20257
+ }
20258
+ function useResetCache(itemCount) {
20259
+ const ref = useRef(null);
20260
+ useEffect(() => {
20261
+ if (ref.current != null) {
20262
+ ref.current.resetAfterIndex(0, true);
20263
+ }
20264
+ }, [itemCount]);
20265
+ return ref;
20266
+ }
20267
+ React__default.forwardRef((props, ref) => {
20268
+ const { children, ...other } = props;
20269
+ const items = children;
20270
+ const itemCount = items.length;
20271
+ const gridRef = useResetCache(itemCount);
20272
+ return jsxRuntimeExports.jsx("div", { ref, children: jsxRuntimeExports.jsx(OuterElementContext.Provider, { value: other, children: jsxRuntimeExports.jsx(VariableSizeList, { height: Math.min(8, itemCount) * LIST_ROW_HEIGHT, itemSize: () => LIST_ROW_HEIGHT, width: "100%", innerElementType: "ul", outerElementType: OuterElementType, overscanCount: 5, ref: gridRef, itemCount, itemData: items, children: ListRow }) }) });
20273
+ });
19584
20274
  function readBlobAsArrayBuffer(blob) {
19585
20275
  if (blob.arrayBuffer) {
19586
20276
  return blob.arrayBuffer();
@@ -20107,10 +20797,10 @@ function decodeBuffer(uint8View, isUTF8) {
20107
20797
  return utf8Decoder.decode(uint8View);
20108
20798
  }
20109
20799
  async function findEndOfCentralDirector(reader, totalLength) {
20110
- const size = Math.min(EOCDR_WITHOUT_COMMENT_SIZE + MAX_COMMENT_SIZE, totalLength);
20111
- const readStart = totalLength - size;
20112
- const data = await readAs(reader, readStart, size);
20113
- for (let i2 = size - EOCDR_WITHOUT_COMMENT_SIZE; i2 >= 0; --i2) {
20800
+ const size2 = Math.min(EOCDR_WITHOUT_COMMENT_SIZE + MAX_COMMENT_SIZE, totalLength);
20801
+ const readStart = totalLength - size2;
20802
+ const data = await readAs(reader, readStart, size2);
20803
+ for (let i2 = size2 - EOCDR_WITHOUT_COMMENT_SIZE; i2 >= 0; --i2) {
20114
20804
  if (getUint32LE(data, i2) !== EOCDR_SIGNATURE) {
20115
20805
  continue;
20116
20806
  }
@@ -20399,6 +21089,13 @@ function assert$1(expression, msg = "") {
20399
21089
  if (!expression)
20400
21090
  throw new Error(msg);
20401
21091
  }
21092
+ function isZipEntryInternal(entry) {
21093
+ if (!("compressionMethod" in entry) || !("_rawEntry" in entry)) {
21094
+ return false;
21095
+ }
21096
+ const rawEntry = entry._rawEntry;
21097
+ return typeof entry.compressionMethod === "number" && typeof rawEntry === "object" && rawEntry !== null && "relativeOffsetOfLocalHeader" in rawEntry && typeof rawEntry.relativeOffsetOfLocalHeader === "number";
21098
+ }
20402
21099
  class BlobReader2 {
20403
21100
  constructor(blob) {
20404
21101
  this.blob = blob;
@@ -20431,18 +21128,19 @@ class HTTPRangeReader {
20431
21128
  }
20432
21129
  return this.length;
20433
21130
  }
20434
- async read(offset2, size) {
20435
- if (size === 0) {
21131
+ async read(offset2, size2) {
21132
+ if (size2 === 0) {
20436
21133
  return new Uint8Array(0);
20437
21134
  }
20438
- const req = await fetch_range(this.url, offset2, size, __privateGet(this, _overrides));
20439
- assert$1(req.ok, `failed http request ${this.url}, status: ${req.status} offset: ${offset2} size: ${size}: ${req.statusText}`);
21135
+ const req = await fetch_range(this.url, offset2, size2, __privateGet(this, _overrides));
21136
+ assert$1(req.ok, `failed http request ${this.url}, status: ${req.status} offset: ${offset2} size: ${size2}: ${req.statusText}`);
20440
21137
  return new Uint8Array(await req.arrayBuffer());
20441
21138
  }
20442
21139
  }
20443
21140
  _overrides = new WeakMap();
20444
21141
  class ZipFileStore {
20445
21142
  constructor(reader, opts = {}) {
21143
+ this.reader = reader;
20446
21144
  this.info = unzip(reader).then((info) => {
20447
21145
  if (opts.transformEntries) {
20448
21146
  info.entries = opts.transformEntries(info.entries);
@@ -20450,12 +21148,46 @@ class ZipFileStore {
20450
21148
  return info;
20451
21149
  });
20452
21150
  }
21151
+ /**
21152
+ * Compute the byte offset where entry data begins in the zip file.
21153
+ * This requires reading the local file header to get filename and extra field lengths.
21154
+ */
21155
+ async getEntryDataOffset(entry) {
21156
+ const localHeaderOffset = entry._rawEntry.relativeOffsetOfLocalHeader;
21157
+ const header = await this.reader.read(localHeaderOffset, 30);
21158
+ const fileNameLength = header[26] + header[27] * 256;
21159
+ const extraFieldLength = header[28] + header[29] * 256;
21160
+ return localHeaderOffset + 30 + fileNameLength + extraFieldLength;
21161
+ }
20453
21162
  async get(key) {
20454
21163
  let entry = (await this.info).entries[strip_prefix(key)];
20455
21164
  if (!entry)
20456
21165
  return;
20457
21166
  return new Uint8Array(await entry.arrayBuffer());
20458
21167
  }
21168
+ async getRange(key, range2) {
21169
+ const entry = (await this.info).entries[strip_prefix(key)];
21170
+ if (!entry)
21171
+ return void 0;
21172
+ if (!isZipEntryInternal(entry)) {
21173
+ throw new Error("ZipFileStore.getRange requires internal unzipit properties that are not available. This may indicate an incompatible version of unzipit.");
21174
+ }
21175
+ if (entry.compressionMethod !== 0) {
21176
+ const bytes = await this.get(key);
21177
+ if (!bytes)
21178
+ return void 0;
21179
+ if ("suffixLength" in range2) {
21180
+ return bytes.slice(-range2.suffixLength);
21181
+ }
21182
+ return bytes.slice(range2.offset, range2.offset + range2.length);
21183
+ }
21184
+ const dataOffset = await this.getEntryDataOffset(entry);
21185
+ if ("suffixLength" in range2) {
21186
+ const start2 = dataOffset + entry.size - range2.suffixLength;
21187
+ return this.reader.read(start2, range2.suffixLength);
21188
+ }
21189
+ return this.reader.read(dataOffset + range2.offset, range2.length);
21190
+ }
20459
21191
  async has(key) {
20460
21192
  return strip_prefix(key) in (await this.info).entries;
20461
21193
  }
@@ -20726,6 +21458,9 @@ function get_ctr(data_type) {
20726
21458
  let [, kind, chars] = match2;
20727
21459
  return (kind === "U" ? UnicodeStringArray : ByteStringArray).bind(null, Number(chars));
20728
21460
  }
21461
+ if (data_type === "string") {
21462
+ return globalThis.Array;
21463
+ }
20729
21464
  let ctr = {
20730
21465
  int8: Int8Array,
20731
21466
  int16: Int16Array,
@@ -20847,7 +21582,7 @@ function is_dtype(dtype, query) {
20847
21582
  let is_boolean = dtype === "bool";
20848
21583
  if (query === "boolean")
20849
21584
  return is_boolean;
20850
- let is_string = dtype.startsWith("v2:U") || dtype.startsWith("v2:S");
21585
+ let is_string = dtype.startsWith("v2:U") || dtype.startsWith("v2:S") || dtype === "string";
20851
21586
  if (query === "string")
20852
21587
  return is_string;
20853
21588
  let is_bigint = dtype === "int64" || dtype === "uint64";
@@ -21122,11 +21857,11 @@ function empty_like(chunk, order2) {
21122
21857
  function convert_array_order(src, target) {
21123
21858
  let out = empty_like(src, target);
21124
21859
  let n_dims = src.shape.length;
21125
- let size = src.data.length;
21860
+ let size2 = src.data.length;
21126
21861
  let index = Array(n_dims).fill(0);
21127
21862
  let src_data = proxy(src.data);
21128
21863
  let out_data = proxy(out.data);
21129
- for (let src_idx = 0; src_idx < size; src_idx++) {
21864
+ for (let src_idx = 0; src_idx < size2; src_idx++) {
21130
21865
  let out_idx = 0;
21131
21866
  for (let dim = 0; dim < n_dims; dim++) {
21132
21867
  out_idx += index[dim] * out.stride[dim];
@@ -21313,7 +22048,7 @@ async function load_codecs(chunk_meta) {
21313
22048
  return { array_to_array, array_to_bytes, bytes_to_bytes };
21314
22049
  }
21315
22050
  function is_typed_array_like_meta(meta) {
21316
- return meta.data_type !== "v2:object";
22051
+ return meta.data_type !== "v2:object" && meta.data_type !== "string";
21317
22052
  }
21318
22053
  class NodeNotFoundError extends Error {
21319
22054
  constructor(context, options = {}) {
@@ -21398,7 +22133,7 @@ function create_sharded_chunk_getter(location, shard_shape, encode_shard_key, sh
21398
22133
  codecs: sharding_config.index_codecs
21399
22134
  });
21400
22135
  let cache = {};
21401
- return async (chunk_coord) => {
22136
+ return async (chunk_coord, options) => {
21402
22137
  let shard_coord = chunk_coord.map((d, i2) => Math.floor(d / index_shape[i2]));
21403
22138
  let shard_path = location.resolve(encode_shard_key(shard_coord)).path;
21404
22139
  let index;
@@ -21409,7 +22144,7 @@ function create_sharded_chunk_getter(location, shard_shape, encode_shard_key, sh
21409
22144
  let index_size = 16 * index_shape.reduce((a2, b) => a2 * b, 1);
21410
22145
  let bytes = await get_range(shard_path, {
21411
22146
  suffixLength: index_size + checksum_size
21412
- });
22147
+ }, options);
21413
22148
  index = cache[shard_path] = bytes ? await index_codec.decode(bytes) : null;
21414
22149
  }
21415
22150
  if (index === null) {
@@ -21425,7 +22160,7 @@ function create_sharded_chunk_getter(location, shard_shape, encode_shard_key, sh
21425
22160
  return get_range(shard_path, {
21426
22161
  offset: Number(offset2),
21427
22162
  length: Number(length2)
21428
- });
22163
+ }, options);
21429
22164
  };
21430
22165
  }
21431
22166
  var _a;
@@ -21528,8 +22263,8 @@ let Array$1 = (_a2 = class extends (_a = Location, _a) {
21528
22263
  let context = this[CONTEXT_MARKER];
21529
22264
  let maybe_bytes = await context.get_chunk_bytes(chunk_coords, options);
21530
22265
  if (!maybe_bytes) {
21531
- let size = context.chunk_shape.reduce((a2, b) => a2 * b, 1);
21532
- let data = new context.TypedArray(size);
22266
+ let size2 = context.chunk_shape.reduce((a2, b) => a2 * b, 1);
22267
+ let data = new context.TypedArray(size2);
21533
22268
  data.fill(context.fill_value);
21534
22269
  return {
21535
22270
  data,
@@ -25264,9 +25999,9 @@ function mapCacheHas(key) {
25264
25999
  return getMapData(this, key).has(key);
25265
26000
  }
25266
26001
  function mapCacheSet(key, value) {
25267
- var data = getMapData(this, key), size = data.size;
26002
+ var data = getMapData(this, key), size2 = data.size;
25268
26003
  data.set(key, value);
25269
- this.size += data.size == size ? 0 : 1;
26004
+ this.size += data.size == size2 ? 0 : 1;
25270
26005
  return this;
25271
26006
  }
25272
26007
  function MapCache(entries) {
@@ -29056,8 +29791,8 @@ class ZodSet extends ZodType {
29056
29791
  maxSize: { value: maxSize, message: errorUtil.toString(message) }
29057
29792
  });
29058
29793
  }
29059
- size(size, message) {
29060
- return this.min(size, message).max(size, message);
29794
+ size(size2, message) {
29795
+ return this.min(size2, message).max(size2, message);
29061
29796
  }
29062
29797
  nonempty(message) {
29063
29798
  return this.min(1, message);
@@ -33124,6 +33859,7 @@ const ViewType$1 = {
33124
33859
  OBS_SET_COMPOSITION_BAR_PLOT: "obsSetCompositionBarPlot",
33125
33860
  FEATURE_SET_ENRICHMENT_BAR_PLOT: "featureSetEnrichmentBarPlot",
33126
33861
  BIOMARKER_SELECT: "biomarkerSelect",
33862
+ BIOMARKER_SELECT_ALT: "biomarkerSelectAlt",
33127
33863
  COMPARATIVE_HEADING: "comparativeHeading",
33128
33864
  LINK_CONTROLLER: "linkController",
33129
33865
  NEUROGLANCER: "neuroglancer",
@@ -34326,6 +35062,17 @@ const AUTO_INDEPENDENT_COORDINATION_TYPES = [
34326
35062
  CoordinationType$1.OBS_SET_FILTER
34327
35063
  // TODO: create coordination types for internal state of the biomarker selection view?
34328
35064
  ],
35065
+ [ViewType$1.BIOMARKER_SELECT_ALT]: [
35066
+ CoordinationType$1.DATASET,
35067
+ CoordinationType$1.OBS_TYPE,
35068
+ CoordinationType$1.SAMPLE_TYPE,
35069
+ CoordinationType$1.FEATURE_SELECTION,
35070
+ CoordinationType$1.SAMPLE_SET_SELECTION,
35071
+ CoordinationType$1.SAMPLE_SET_FILTER,
35072
+ CoordinationType$1.OBS_SET_SELECTION,
35073
+ CoordinationType$1.OBS_SET_FILTER
35074
+ // TODO: create coordination types for internal state of the biomarker selection view?
35075
+ ],
34329
35076
  [ViewType$1.COMPARATIVE_HEADING]: [
34330
35077
  CoordinationType$1.DATASET,
34331
35078
  CoordinationType$1.OBS_TYPE,
@@ -34371,7 +35118,7 @@ const AUTO_INDEPENDENT_COORDINATION_TYPES = [
34371
35118
  CoordinationType$1.HIERARCHY_LEVELS
34372
35119
  ]
34373
35120
  });
34374
- const version = "3.9.1";
35121
+ const version = "3.9.3";
34375
35122
  const META_VERSION = {
34376
35123
  version
34377
35124
  };
@@ -35042,7 +35789,7 @@ const sharedThemeOptions = {
35042
35789
  // Use px instead of rem, so that sizing is consistent despite the root element font-size.
35043
35790
  // Reference: https://github.com/mui/material-ui/blob/627c08fc/src/styles/createTypography.js
35044
35791
  typography: {
35045
- pxToRem: (size) => `${size}px`,
35792
+ pxToRem: (size2) => `${size2}px`,
35046
35793
  display4: {
35047
35794
  fontSize: "112px"
35048
35795
  },
@@ -35106,6 +35853,7 @@ const lightPalette = {
35106
35853
  gridLayoutBackground: "#FFFFFF",
35107
35854
  paperBackground: "#FFFFFF",
35108
35855
  cardBorder: "rgba(241, 241, 241, 0.125)",
35856
+ cardInfoBorder: "#ccc",
35109
35857
  tooltipText: "rgba(0, 0, 0, 0.87)"
35110
35858
  };
35111
35859
  const muiTheme = {
@@ -35131,6 +35879,7 @@ const muiTheme = {
35131
35879
  gridLayoutBackground: "#333333",
35132
35880
  paperBackground: "#2b2b2b",
35133
35881
  cardBorder: "rgba(0, 0, 0, 0.125)",
35882
+ cardInfoBorder: "#222222",
35134
35883
  tooltipText: "#FFFFFF",
35135
35884
  ...globalColors
35136
35885
  },
@@ -35140,6 +35889,7 @@ const muiTheme = {
35140
35889
  light: createTheme({
35141
35890
  palette: {
35142
35891
  ...lightPalette,
35892
+ cardInfoBorder: "#F1F1F1",
35143
35893
  ...globalColors
35144
35894
  },
35145
35895
  ...sharedThemeOptions,
@@ -35157,7 +35907,7 @@ const muiTheme = {
35157
35907
  ...globalColors
35158
35908
  },
35159
35909
  ...sharedThemeOptions,
35160
- cardBorderSize: "2px"
35910
+ cardBorderSize: "1px"
35161
35911
  })
35162
35912
  };
35163
35913
  const createStoreImpl = (createState) => {
@@ -38049,9 +38799,9 @@ function require_mapCacheSet() {
38049
38799
  hasRequired_mapCacheSet = 1;
38050
38800
  var getMapData2 = require_getMapData();
38051
38801
  function mapCacheSet2(key, value) {
38052
- var data = getMapData2(this, key), size = data.size;
38802
+ var data = getMapData2(this, key), size2 = data.size;
38053
38803
  data.set(key, value);
38054
- this.size += data.size == size ? 0 : 1;
38804
+ this.size += data.size == size2 ? 0 : 1;
38055
38805
  return this;
38056
38806
  }
38057
38807
  _mapCacheSet = mapCacheSet2;
@@ -41611,14 +42361,14 @@ function requireResizableBox() {
41611
42361
  propsHeight: _this.props.height
41612
42362
  };
41613
42363
  _this.onResize = function(e2, data) {
41614
- var size = data.size;
42364
+ var size2 = data.size;
41615
42365
  if (_this.props.onResize) {
41616
42366
  e2.persist == null ? void 0 : e2.persist();
41617
- _this.setState(size, function() {
42367
+ _this.setState(size2, function() {
41618
42368
  return _this.props.onResize && _this.props.onResize(e2, data);
41619
42369
  });
41620
42370
  } else {
41621
- _this.setState(size);
42371
+ _this.setState(size2);
41622
42372
  }
41623
42373
  };
41624
42374
  return _this;
@@ -42228,23 +42978,23 @@ function requireGridItem() {
42228
42978
  * @return {Function} Handler function.
42229
42979
  */
42230
42980
  function onResizeHandler(e2, _ref4, handlerName) {
42231
- var node2 = _ref4.node, size = _ref4.size;
42981
+ var node2 = _ref4.node, size2 = _ref4.size;
42232
42982
  var handler = this.props[handlerName];
42233
42983
  if (!handler) return;
42234
42984
  var _this$props7 = this.props, cols = _this$props7.cols, x = _this$props7.x, y = _this$props7.y, i2 = _this$props7.i, maxH = _this$props7.maxH, minH = _this$props7.minH;
42235
42985
  var _this$props8 = this.props, minW = _this$props8.minW, maxW = _this$props8.maxW;
42236
- var _calcWH = (0, _calculateUtils.calcWH)(this.getPositionParams(), size.width, size.height, x, y), w = _calcWH.w, h = _calcWH.h;
42986
+ var _calcWH = (0, _calculateUtils.calcWH)(this.getPositionParams(), size2.width, size2.height, x, y), w = _calcWH.w, h = _calcWH.h;
42237
42987
  minW = Math.max(minW, 1);
42238
42988
  maxW = Math.min(maxW, cols - x);
42239
42989
  w = (0, _calculateUtils.clamp)(w, minW, maxW);
42240
42990
  h = (0, _calculateUtils.clamp)(h, minH, maxH);
42241
42991
  this.setState({
42242
- resizing: handlerName === "onResizeStop" ? null : size
42992
+ resizing: handlerName === "onResizeStop" ? null : size2
42243
42993
  });
42244
42994
  handler.call(this, i2, w, h, {
42245
42995
  e: e2,
42246
42996
  node: node2,
42247
- size
42997
+ size: size2
42248
42998
  });
42249
42999
  }
42250
43000
  )
@@ -44714,7 +45464,7 @@ const gridLayoutStyles = {
44714
45464
  },
44715
45465
  ".react-grid-item > .react-resizable-handle.react-resizable-handle-se": {
44716
45466
  bottom: "0",
44717
- right: "0",
45467
+ right: "10px",
44718
45468
  cursor: "se-resize"
44719
45469
  },
44720
45470
  ".react-grid-item > .react-resizable-handle.react-resizable-handle-nw": {
@@ -44856,18 +45606,23 @@ const useTitleStyles = makeStyles()((theme) => ({
44856
45606
  textOverflow: "ellipsis",
44857
45607
  whiteSpace: "nowrap"
44858
45608
  },
44859
- titleInfo: {
45609
+ infoText: {
45610
+ color: theme.palette.primaryForeground,
44860
45611
  width: "100%",
44861
45612
  textOverflow: "ellipsis",
44862
45613
  whiteSpace: "nowrap",
44863
45614
  overflow: "hidden",
44864
- fontSize: "80% !important",
45615
+ fontSize: "60% !important",
44865
45616
  opacity: ".8",
44866
- padding: "0 4px",
45617
+ padding: "0",
44867
45618
  justifyContent: "center",
44868
- lineHeight: "25px !important",
44869
- flexShrink: "1",
44870
- textAlign: "right !important"
45619
+ textAlign: "center !important",
45620
+ borderTop: "0px",
45621
+ borderBottom: `1px solid ${theme.palette.cardInfoBorder}`,
45622
+ borderLeft: `1px solid ${theme.palette.cardInfoBorder}`,
45623
+ borderRight: `1px solid ${theme.palette.cardInfoBorder}`,
45624
+ borderBottomLeftRadius: "4px",
45625
+ borderBottomRightRadius: "4px"
44871
45626
  },
44872
45627
  titleButtons: {
44873
45628
  display: "flex",
@@ -44883,15 +45638,20 @@ const useTitleStyles = makeStyles()((theme) => ({
44883
45638
  border: `${theme.cardBorderSize} solid ${theme.palette.cardBorder}`,
44884
45639
  flex: "1 1 auto",
44885
45640
  minHeight: "1px",
44886
- marginTop: "8px",
44887
- marginBottom: "8px",
45641
+ marginTop: "0",
45642
+ marginBottom: "0",
44888
45643
  position: "relative",
44889
45644
  display: "flex",
44890
45645
  flexDirection: "column",
44891
45646
  minWidth: "0",
44892
45647
  wordWrap: "break-word",
44893
45648
  backgroundClip: "border-box",
44894
- borderRadius: "4px"
45649
+ borderTopLeftRadius: "4px",
45650
+ borderTopRightRadius: "4px"
45651
+ },
45652
+ cardWithoutInfoText: {
45653
+ borderBottomLeftRadius: "4px",
45654
+ borderBottomRightRadius: "4px"
44895
45655
  },
44896
45656
  paddingCard: {
44897
45657
  padding: "12px"
@@ -45824,9 +46584,10 @@ function TitleInfo(props) {
45824
46584
  } = props;
45825
46585
  const errors = errorsProp == null ? void 0 : errorsProp.filter(Boolean);
45826
46586
  const { classes } = useTitleStyles();
46587
+ const hasInfoText = Boolean(info);
45827
46588
  return (
45828
46589
  // d-flex without wrapping div is not always full height; I don't understand the root cause.
45829
- /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", { className: classes.title, role: "banner" }, /* @__PURE__ */ React__default.createElement("div", { className: classes.titleLeft, role: "heading", "aria-level": "1" }, title), /* @__PURE__ */ React__default.createElement("div", { className: classes.titleInfo, title: info, role: "note" }, info), /* @__PURE__ */ React__default.createElement("div", { className: classes.titleButtons, role: "toolbar", "aria-label": "Plot options and controls" }, /* @__PURE__ */ React__default.createElement(
46590
+ /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement("div", { className: classes.title, role: "banner" }, /* @__PURE__ */ React__default.createElement("div", { className: classes.titleLeft, role: "heading", "aria-level": "1" }, title), /* @__PURE__ */ React__default.createElement("div", { className: classes.titleButtons, role: "toolbar", "aria-label": "Plot options and controls" }, /* @__PURE__ */ React__default.createElement(
45830
46591
  PlotOptions,
45831
46592
  {
45832
46593
  options
@@ -45862,7 +46623,8 @@ function TitleInfo(props) {
45862
46623
  [classes.spatialCard]: isSpatial,
45863
46624
  [classes.noScrollCard]: !isScroll && !isSpatial,
45864
46625
  [classes.noPaddingCard]: !withPadding,
45865
- [classes.paddingCard]: withPadding
46626
+ [classes.paddingCard]: withPadding,
46627
+ [classes.cardWithoutInfoText]: !hasInfoText
45866
46628
  }
45867
46629
  ),
45868
46630
  "aria-busy": !isReady,
@@ -45870,7 +46632,7 @@ function TitleInfo(props) {
45870
46632
  },
45871
46633
  !isReady ? /* @__PURE__ */ React__default.createElement(LoadingIndicator, null) : null,
45872
46634
  children
45873
- ))
46635
+ ), hasInfoText ? /* @__PURE__ */ React__default.createElement("div", { className: classes.infoText, title: info, role: "note" }, info) : null)
45874
46636
  );
45875
46637
  }
45876
46638
  class VitessceError extends Error {