@oliasoft-open-source/react-ui-library 4.18.0-beta-5 → 4.18.0-beta-7

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
@@ -11,11 +11,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
11
11
  var _docChanged, _ignoreNextExit, _suggesters, _next, _prev, _handlerMatches, _ignored, _removed, _lastChangeFromAppend, _a;
12
12
  import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
13
13
  import * as React$4 from "react";
14
- import React__default, { useContext, isValidElement, useState, useRef, useEffect, useCallback, createElement, forwardRef, useMemo, useLayoutEffect as useLayoutEffect$1, createContext, useReducer, useDebugValue, Fragment as Fragment$2, Component as Component$1, memo, cloneElement as cloneElement$1, PureComponent, useImperativeHandle } from "react";
14
+ import React__default, { useContext, isValidElement, useState, useRef, useEffect, useCallback, createElement, forwardRef, useMemo, useLayoutEffect as useLayoutEffect$1, createContext, useReducer, useDebugValue, Fragment as Fragment$2, memo as memo$1, cloneElement as cloneElement$1, PureComponent, useImperativeHandle } from "react";
15
15
  import * as PropTypes from "prop-types";
16
16
  import PropTypes__default from "prop-types";
17
- import ReactDOM, { createPortal, unstable_batchedUpdates, render } from "react-dom";
18
- import { noop as noop$2, set, get as get$2, isString as isString$3, isNumber as isNumber$1, isBoolean as isBoolean$1, isFunction as isFunction$3, isEmpty, isArray as isArray$1, toNumber, debounce as debounce$2, isObject as isObject$5, isEqual as isEqual$3 } from "lodash";
17
+ import ReactDOM, { createPortal, flushSync as flushSync$1, unstable_batchedUpdates, render } from "react-dom";
18
+ import { noop as noop$2, set, get as get$2, isString as isString$3, isNumber as isNumber$1, isBoolean as isBoolean$1, isFunction as isFunction$3, isEmpty, isArray as isArray$1, toNumber, debounce as debounce$3, isObject as isObject$5, isEqual as isEqual$3 } from "lodash";
19
19
  import { toString as toString$1, isScientificStringNum, roundToPrecision, toNum, validateNumber, cleanNumStr, stripLeadingZeros, roundToFixed, roundByMagnitude, unitFromQuantity, getUnit, KNOWN_UNITS, ALT_UNITS, isValueWithUnit, getValue, withUnit, convertSamePrecision, convertAndGetValue, split as split$1, label as label$b, isValidNum, getAltUnitsListByQuantity, altUnitsList, withPrettyUnitLabel, getUnitsForQuantity, roundByMagnitudeToFixed } from "@oliasoft-open-source/units";
20
20
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
21
21
  function getDefaultExportFromCjs(x2) {
@@ -222,32 +222,32 @@ function _setPrototypeOf$3(t, e2) {
222
222
  function _inheritsLoose$3(t, o) {
223
223
  t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf$3(t, o);
224
224
  }
225
- var extendStatics$1 = function(d2, b2) {
226
- extendStatics$1 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
225
+ var extendStatics = function(d2, b2) {
226
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
227
227
  d3.__proto__ = b3;
228
228
  } || function(d3, b3) {
229
229
  for (var p in b3) if (Object.prototype.hasOwnProperty.call(b3, p)) d3[p] = b3[p];
230
230
  };
231
- return extendStatics$1(d2, b2);
231
+ return extendStatics(d2, b2);
232
232
  };
233
- function __extends$1(d2, b2) {
233
+ function __extends(d2, b2) {
234
234
  if (typeof b2 !== "function" && b2 !== null)
235
235
  throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
236
- extendStatics$1(d2, b2);
236
+ extendStatics(d2, b2);
237
237
  function __() {
238
238
  this.constructor = d2;
239
239
  }
240
240
  d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __());
241
241
  }
242
- var __assign$4 = function() {
243
- __assign$4 = Object.assign || function __assign2(t) {
242
+ var __assign$3 = function() {
243
+ __assign$3 = Object.assign || function __assign2(t) {
244
244
  for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
245
245
  s = arguments[i];
246
246
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
247
247
  }
248
248
  return t;
249
249
  };
250
- return __assign$4.apply(this, arguments);
250
+ return __assign$3.apply(this, arguments);
251
251
  };
252
252
  function __rest$1(s, e2) {
253
253
  var t = {};
@@ -883,15 +883,15 @@ var DefaultContext = {
883
883
  attr: void 0
884
884
  };
885
885
  var IconContext = React__default.createContext && React__default.createContext(DefaultContext);
886
- var __assign$3 = function() {
887
- __assign$3 = Object.assign || function(t) {
886
+ var __assign$2 = function() {
887
+ __assign$2 = Object.assign || function(t) {
888
888
  for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
889
889
  s = arguments[i];
890
890
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
891
891
  }
892
892
  return t;
893
893
  };
894
- return __assign$3.apply(this, arguments);
894
+ return __assign$2.apply(this, arguments);
895
895
  };
896
896
  var __rest = function(s, e2) {
897
897
  var t = {};
@@ -903,15 +903,15 @@ var __rest = function(s, e2) {
903
903
  };
904
904
  function Tree2Element(tree2) {
905
905
  return tree2 && tree2.map(function(node2, i) {
906
- return React__default.createElement(node2.tag, __assign$3({
906
+ return React__default.createElement(node2.tag, __assign$2({
907
907
  key: i
908
908
  }, node2.attr), Tree2Element(node2.child));
909
909
  });
910
910
  }
911
911
  function GenIcon(data) {
912
912
  return function(props) {
913
- return React__default.createElement(IconBase, __assign$3({
914
- attr: __assign$3({}, data.attr)
913
+ return React__default.createElement(IconBase, __assign$2({
914
+ attr: __assign$2({}, data.attr)
915
915
  }, props), Tree2Element(data.child));
916
916
  };
917
917
  }
@@ -922,13 +922,13 @@ function IconBase(props) {
922
922
  var className;
923
923
  if (conf.className) className = conf.className;
924
924
  if (props.className) className = (className ? className + " " : "") + props.className;
925
- return React__default.createElement("svg", __assign$3({
925
+ return React__default.createElement("svg", __assign$2({
926
926
  stroke: "currentColor",
927
927
  fill: "currentColor",
928
928
  strokeWidth: "0"
929
929
  }, conf.attr, attr, svgProps, {
930
930
  className,
931
- style: __assign$3(__assign$3({
931
+ style: __assign$2(__assign$2({
932
932
  color: props.color || conf.color
933
933
  }, conf.style), props.style),
934
934
  height: computedSize,
@@ -1808,7 +1808,7 @@ var requestAnimationFrame$1 = function() {
1808
1808
  };
1809
1809
  }();
1810
1810
  var trailingTimeout = 2;
1811
- function throttle$2(callback, delay) {
1811
+ function throttle$1(callback, delay) {
1812
1812
  var leadingCall = false, trailingCall = false, lastCallTime = 0;
1813
1813
  function resolvePending() {
1814
1814
  if (leadingCall) {
@@ -1850,7 +1850,7 @@ var ResizeObserverController$1 = (
1850
1850
  this.mutationsObserver_ = null;
1851
1851
  this.observers_ = [];
1852
1852
  this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);
1853
- this.refresh = throttle$2(this.refresh.bind(this), REFRESH_DELAY);
1853
+ this.refresh = throttle$1(this.refresh.bind(this), REFRESH_DELAY);
1854
1854
  }
1855
1855
  ResizeObserverController2.prototype.addObserver = function(observer) {
1856
1856
  if (!~this.observers_.indexOf(observer)) {
@@ -2354,7 +2354,7 @@ function useEventSubscriptions() {
2354
2354
  };
2355
2355
  }, []);
2356
2356
  }
2357
- var useIsomorphicLayoutEffect$5 = typeof window !== "undefined" ? useLayoutEffect$1 : useEffect;
2357
+ var useIsomorphicLayoutEffect$6 = typeof window !== "undefined" ? useLayoutEffect$1 : useEffect;
2358
2358
  function useLastState(currentState, enabled) {
2359
2359
  var lastState = useRef(currentState);
2360
2360
  if (!enabled) {
@@ -2602,7 +2602,7 @@ function useTrackElements(_ref) {
2602
2602
  resetWhenReferenceChangedWhileTracking(previousTrigger, trigger2);
2603
2603
  }, [get3, set2, resetWhenReferenceChangedWhileTracking, getScrollContainers]));
2604
2604
  var triggerOptionParent = triggerOption == null ? void 0 : triggerOption.getParent == null ? void 0 : triggerOption.getParent();
2605
- useIsomorphicLayoutEffect$5(function() {
2605
+ useIsomorphicLayoutEffect$6(function() {
2606
2606
  if (!triggerOptionParent) {
2607
2607
  return;
2608
2608
  }
@@ -2612,7 +2612,7 @@ function useTrackElements(_ref) {
2612
2612
  });
2613
2613
  });
2614
2614
  }, [triggerOptionParent, set2, getScrollContainers]);
2615
- useIsomorphicLayoutEffect$5(function() {
2615
+ useIsomorphicLayoutEffect$6(function() {
2616
2616
  if (enabled) {
2617
2617
  if (!hasEventSubscriptions()) {
2618
2618
  addEventListeners();
@@ -2624,7 +2624,7 @@ function useTrackElements(_ref) {
2624
2624
  }
2625
2625
  };
2626
2626
  }, [enabled, hasEventSubscriptions, addEventListeners, removeAllEventSubscriptions]);
2627
- useIsomorphicLayoutEffect$5(function() {
2627
+ useIsomorphicLayoutEffect$6(function() {
2628
2628
  if (enabled) {
2629
2629
  handleChange();
2630
2630
  }
@@ -5308,15 +5308,15 @@ const Card = ({
5308
5308
  }
5309
5309
  );
5310
5310
  };
5311
- var __assign$2 = function() {
5312
- __assign$2 = Object.assign || function __assign2(t) {
5311
+ var __assign$1 = function() {
5312
+ __assign$1 = Object.assign || function __assign2(t) {
5313
5313
  for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
5314
5314
  s = arguments[i];
5315
5315
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
5316
5316
  }
5317
5317
  return t;
5318
5318
  };
5319
- return __assign$2.apply(this, arguments);
5319
+ return __assign$1.apply(this, arguments);
5320
5320
  };
5321
5321
  function __spreadArray$1(to2, from3, pack) {
5322
5322
  if (pack || arguments.length === 2) for (var i = 0, l = from3.length, ar2; i < l; i++) {
@@ -6149,7 +6149,7 @@ var Ie = function(e2) {
6149
6149
  function e2(e3, n2, o) {
6150
6150
  void 0 === e3 && (e3 = C), void 0 === n2 && (n2 = {});
6151
6151
  var r2 = this;
6152
- this.options = __assign$2(__assign$2({}, Te), e3), this.gs = n2, this.names = new Map(o), this.server = !!e3.isServer, !this.server && S && Re && (Re = false, _e(this)), ue(this, function() {
6152
+ this.options = __assign$1(__assign$1({}, Te), e3), this.gs = n2, this.names = new Map(o), this.server = !!e3.isServer, !this.server && S && Re && (Re = false, _e(this)), ue(this, function() {
6153
6153
  return function(e4) {
6154
6154
  for (var t = e4.getTag(), n3 = t.length, o2 = "", r3 = function(n4) {
6155
6155
  var r4 = function(e5) {
@@ -6172,7 +6172,7 @@ var Ie = function(e2) {
6172
6172
  }, e2.prototype.rehydrate = function() {
6173
6173
  !this.server && S && _e(this);
6174
6174
  }, e2.prototype.reconstructWithOptions = function(n2, o) {
6175
- return void 0 === o && (o = true), new e2(__assign$2(__assign$2({}, this.options), n2), this.gs, o && this.names || void 0);
6175
+ return void 0 === o && (o = true), new e2(__assign$1(__assign$1({}, this.options), n2), this.gs, o && this.names || void 0);
6176
6176
  }, e2.prototype.allocateGSInstance = function(e3) {
6177
6177
  return this.gs[e3] = (this.gs[e3] || 0) + 1;
6178
6178
  }, e2.prototype.getTag = function() {
@@ -6345,9 +6345,9 @@ function it$1(e2, r2, s) {
6345
6345
  var i2 = e4.attrs, a3 = e4.componentStyle, c3 = e4.defaultProps, p2 = e4.foldedComponentIds, d3 = e4.styledComponentId, h2 = e4.target, f3 = React__default.useContext(et$1), m3 = Ge(), y3 = e4.shouldForwardProp || m3.shouldForwardProp;
6346
6346
  "production" !== process.env.NODE_ENV && useDebugValue(d3);
6347
6347
  var v2 = I(r4, f3, c3) || C, g3 = function(e5, n2, o) {
6348
- for (var r5, s3 = __assign$2(__assign$2({}, n2), { className: void 0, theme: o }), i3 = 0; i3 < e5.length; i3 += 1) {
6348
+ for (var r5, s3 = __assign$1(__assign$1({}, n2), { className: void 0, theme: o }), i3 = 0; i3 < e5.length; i3 += 1) {
6349
6349
  var a4 = re(r5 = e5[i3]) ? r5(s3) : r5;
6350
- for (var c4 in a4) s3[c4] = "className" === c4 ? ie$2(s3[c4], a4[c4]) : "style" === c4 ? __assign$2(__assign$2({}, s3[c4]), a4[c4]) : a4[c4];
6350
+ for (var c4 in a4) s3[c4] = "className" === c4 ? ie$2(s3[c4], a4[c4]) : "style" === c4 ? __assign$1(__assign$1({}, s3[c4]), a4[c4]) : a4[c4];
6351
6351
  }
6352
6352
  return n2.className && (s3.className = ie$2(s3.className, n2.className)), s3;
6353
6353
  }(i2, r4, v2), S3 = g3.as || h2, w3 = {};
@@ -6403,9 +6403,9 @@ function ut(n2, o, r2) {
6403
6403
  return n2(o, r2, lt$1.apply(void 0, __spreadArray$1([t], s2, false)));
6404
6404
  };
6405
6405
  return s.attrs = function(e2) {
6406
- return ut(n2, o, __assign$2(__assign$2({}, r2), { attrs: Array.prototype.concat(r2.attrs, e2).filter(Boolean) }));
6406
+ return ut(n2, o, __assign$1(__assign$1({}, r2), { attrs: Array.prototype.concat(r2.attrs, e2).filter(Boolean) }));
6407
6407
  }, s.withConfig = function(e2) {
6408
- return ut(n2, o, __assign$2(__assign$2({}, r2), e2));
6408
+ return ut(n2, o, __assign$1(__assign$1({}, r2), e2));
6409
6409
  }, s;
6410
6410
  }
6411
6411
  var pt$1 = function(e2) {
@@ -9501,383 +9501,803 @@ const InputGroupAddon = ({
9501
9501
  })();
9502
9502
  return /* @__PURE__ */ jsx("span", { className: cx$2(styles$u.addon, order2, small2 ? styles$u.small : ""), children });
9503
9503
  };
9504
- /*! *****************************************************************************
9505
- Copyright (c) Microsoft Corporation. All rights reserved.
9506
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
9507
- this file except in compliance with the License. You may obtain a copy of the
9508
- License at http://www.apache.org/licenses/LICENSE-2.0
9509
-
9510
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
9511
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9512
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
9513
- MERCHANTABLITY OR NON-INFRINGEMENT.
9514
-
9515
- See the Apache Version 2.0 License for specific language governing permissions
9516
- and limitations under the License.
9517
- ***************************************************************************** */
9518
- var extendStatics = function(d2, b2) {
9519
- extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
9520
- d3.__proto__ = b3;
9521
- } || function(d3, b3) {
9522
- for (var p in b3) if (b3.hasOwnProperty(p)) d3[p] = b3[p];
9504
+ function memo(getDeps, fn, opts) {
9505
+ let deps = opts.initialDeps ?? [];
9506
+ let result;
9507
+ return () => {
9508
+ var _a2, _b, _c, _d;
9509
+ let depTime;
9510
+ if (opts.key && ((_a2 = opts.debug) == null ? void 0 : _a2.call(opts))) depTime = Date.now();
9511
+ const newDeps = getDeps();
9512
+ const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index2) => deps[index2] !== dep);
9513
+ if (!depsChanged) {
9514
+ return result;
9515
+ }
9516
+ deps = newDeps;
9517
+ let resultTime;
9518
+ if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();
9519
+ result = fn(...newDeps);
9520
+ if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {
9521
+ const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
9522
+ const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
9523
+ const resultFpsPercentage = resultEndTime / 16;
9524
+ const pad = (str, num) => {
9525
+ str = String(str);
9526
+ while (str.length < num) {
9527
+ str = " " + str;
9528
+ }
9529
+ return str;
9530
+ };
9531
+ console.info(
9532
+ `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,
9533
+ `
9534
+ font-size: .6rem;
9535
+ font-weight: bold;
9536
+ color: hsl(${Math.max(
9537
+ 0,
9538
+ Math.min(120 - 120 * resultFpsPercentage, 120)
9539
+ )}deg 100% 31%);`,
9540
+ opts == null ? void 0 : opts.key
9541
+ );
9542
+ }
9543
+ (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result);
9544
+ return result;
9523
9545
  };
9524
- return extendStatics(d2, b2);
9525
- };
9526
- function __extends(d2, b2) {
9527
- extendStatics(d2, b2);
9528
- function __() {
9529
- this.constructor = d2;
9546
+ }
9547
+ function notUndefined(value, msg2) {
9548
+ if (value === void 0) {
9549
+ throw new Error(`Unexpected undefined${""}`);
9550
+ } else {
9551
+ return value;
9530
9552
  }
9531
- d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __());
9532
9553
  }
9533
- var __assign$1 = function() {
9534
- __assign$1 = Object.assign || function __assign2(t) {
9535
- for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
9536
- s = arguments[i];
9537
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9538
- }
9539
- return t;
9554
+ const approxEqual = (a2, b2) => Math.abs(a2 - b2) < 1;
9555
+ const debounce$2 = (targetWindow, fn, ms2) => {
9556
+ let timeoutId;
9557
+ return function(...args) {
9558
+ targetWindow.clearTimeout(timeoutId);
9559
+ timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms2);
9540
9560
  };
9541
- return __assign$1.apply(this, arguments);
9542
9561
  };
9543
- function throttle$1(delay, noTrailing, callback, debounceMode) {
9544
- var timeoutID;
9545
- var cancelled = false;
9546
- var lastExec = 0;
9547
- function clearExistingTimeout() {
9548
- if (timeoutID) {
9549
- clearTimeout(timeoutID);
9550
- }
9562
+ const defaultKeyExtractor = (index2) => index2;
9563
+ const defaultRangeExtractor = (range2) => {
9564
+ const start = Math.max(range2.startIndex - range2.overscan, 0);
9565
+ const end = Math.min(range2.endIndex + range2.overscan, range2.count - 1);
9566
+ const arr = [];
9567
+ for (let i = start; i <= end; i++) {
9568
+ arr.push(i);
9551
9569
  }
9552
- function cancel() {
9553
- clearExistingTimeout();
9554
- cancelled = true;
9570
+ return arr;
9571
+ };
9572
+ const observeElementRect = (instance, cb2) => {
9573
+ const element = instance.scrollElement;
9574
+ if (!element) {
9575
+ return;
9555
9576
  }
9556
- if (typeof noTrailing !== "boolean") {
9557
- debounceMode = callback;
9558
- callback = noTrailing;
9559
- noTrailing = void 0;
9577
+ const targetWindow = instance.targetWindow;
9578
+ if (!targetWindow) {
9579
+ return;
9560
9580
  }
9561
- function wrapper2() {
9562
- var self2 = this;
9563
- var elapsed = Date.now() - lastExec;
9564
- var args = arguments;
9565
- if (cancelled) {
9566
- return;
9567
- }
9568
- function exec() {
9569
- lastExec = Date.now();
9570
- callback.apply(self2, args);
9571
- }
9572
- function clear() {
9573
- timeoutID = void 0;
9574
- }
9575
- if (debounceMode && !timeoutID) {
9576
- exec();
9581
+ const handler = (rect) => {
9582
+ const { width: width2, height: height2 } = rect;
9583
+ cb2({ width: Math.round(width2), height: Math.round(height2) });
9584
+ };
9585
+ handler(element.getBoundingClientRect());
9586
+ if (!targetWindow.ResizeObserver) {
9587
+ return () => {
9588
+ };
9589
+ }
9590
+ const observer = new targetWindow.ResizeObserver((entries2) => {
9591
+ const entry = entries2[0];
9592
+ if (entry == null ? void 0 : entry.borderBoxSize) {
9593
+ const box = entry.borderBoxSize[0];
9594
+ if (box) {
9595
+ handler({ width: box.inlineSize, height: box.blockSize });
9596
+ return;
9597
+ }
9577
9598
  }
9578
- clearExistingTimeout();
9579
- if (debounceMode === void 0 && elapsed > delay) {
9580
- exec();
9581
- } else if (noTrailing !== true) {
9582
- timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === void 0 ? delay - elapsed : delay);
9599
+ handler(element.getBoundingClientRect());
9600
+ });
9601
+ observer.observe(element, { box: "border-box" });
9602
+ return () => {
9603
+ observer.unobserve(element);
9604
+ };
9605
+ };
9606
+ const addEventListenerOptions = {
9607
+ passive: true
9608
+ };
9609
+ const supportsScrollend = typeof window == "undefined" ? true : "onscrollend" in window;
9610
+ const observeElementOffset = (instance, cb2) => {
9611
+ const element = instance.scrollElement;
9612
+ if (!element) {
9613
+ return;
9614
+ }
9615
+ const targetWindow = instance.targetWindow;
9616
+ if (!targetWindow) {
9617
+ return;
9618
+ }
9619
+ let offset = 0;
9620
+ const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce$2(
9621
+ targetWindow,
9622
+ () => {
9623
+ cb2(offset, false);
9624
+ },
9625
+ instance.options.isScrollingResetDelay
9626
+ );
9627
+ const createHandler = (isScrolling) => () => {
9628
+ const { horizontal, isRtl } = instance.options;
9629
+ offset = horizontal ? element["scrollLeft"] * (isRtl && -1 || 1) : element["scrollTop"];
9630
+ fallback();
9631
+ cb2(offset, isScrolling);
9632
+ };
9633
+ const handler = createHandler(true);
9634
+ const endHandler = createHandler(false);
9635
+ endHandler();
9636
+ element.addEventListener("scroll", handler, addEventListenerOptions);
9637
+ element.addEventListener("scrollend", endHandler, addEventListenerOptions);
9638
+ return () => {
9639
+ element.removeEventListener("scroll", handler);
9640
+ element.removeEventListener("scrollend", endHandler);
9641
+ };
9642
+ };
9643
+ const measureElement = (element, entry, instance) => {
9644
+ if (entry == null ? void 0 : entry.borderBoxSize) {
9645
+ const box = entry.borderBoxSize[0];
9646
+ if (box) {
9647
+ const size2 = Math.round(
9648
+ box[instance.options.horizontal ? "inlineSize" : "blockSize"]
9649
+ );
9650
+ return size2;
9583
9651
  }
9584
9652
  }
9585
- wrapper2.cancel = cancel;
9586
- return wrapper2;
9587
- }
9588
- var ThresholdUnits = {
9589
- Pixel: "Pixel",
9590
- Percent: "Percent"
9653
+ return Math.round(
9654
+ element.getBoundingClientRect()[instance.options.horizontal ? "width" : "height"]
9655
+ );
9591
9656
  };
9592
- var defaultThreshold$1 = {
9593
- unit: ThresholdUnits.Percent,
9594
- value: 0.8
9657
+ const elementScroll = (offset, {
9658
+ adjustments = 0,
9659
+ behavior
9660
+ }, instance) => {
9661
+ var _a2, _b;
9662
+ const toOffset = offset + adjustments;
9663
+ (_b = (_a2 = instance.scrollElement) == null ? void 0 : _a2.scrollTo) == null ? void 0 : _b.call(_a2, {
9664
+ [instance.options.horizontal ? "left" : "top"]: toOffset,
9665
+ behavior
9666
+ });
9595
9667
  };
9596
- function parseThreshold(scrollThreshold) {
9597
- if (typeof scrollThreshold === "number") {
9598
- return {
9599
- unit: ThresholdUnits.Percent,
9600
- value: scrollThreshold * 100
9601
- };
9602
- }
9603
- if (typeof scrollThreshold === "string") {
9604
- if (scrollThreshold.match(/^(\d*(\.\d+)?)px$/)) {
9605
- return {
9606
- unit: ThresholdUnits.Pixel,
9607
- value: parseFloat(scrollThreshold)
9668
+ class Virtualizer {
9669
+ constructor(opts) {
9670
+ this.unsubs = [];
9671
+ this.scrollElement = null;
9672
+ this.targetWindow = null;
9673
+ this.isScrolling = false;
9674
+ this.scrollToIndexTimeoutId = null;
9675
+ this.measurementsCache = [];
9676
+ this.itemSizeCache = /* @__PURE__ */ new Map();
9677
+ this.pendingMeasuredCacheIndexes = [];
9678
+ this.scrollRect = null;
9679
+ this.scrollOffset = null;
9680
+ this.scrollDirection = null;
9681
+ this.scrollAdjustments = 0;
9682
+ this.elementsCache = /* @__PURE__ */ new Map();
9683
+ this.observer = /* @__PURE__ */ (() => {
9684
+ let _ro = null;
9685
+ const get3 = () => {
9686
+ if (_ro) {
9687
+ return _ro;
9688
+ }
9689
+ if (!this.targetWindow || !this.targetWindow.ResizeObserver) {
9690
+ return null;
9691
+ }
9692
+ return _ro = new this.targetWindow.ResizeObserver((entries2) => {
9693
+ entries2.forEach((entry) => {
9694
+ this._measureElement(entry.target, entry);
9695
+ });
9696
+ });
9608
9697
  };
9609
- }
9610
- if (scrollThreshold.match(/^(\d*(\.\d+)?)%$/)) {
9611
9698
  return {
9612
- unit: ThresholdUnits.Percent,
9613
- value: parseFloat(scrollThreshold)
9614
- };
9615
- }
9616
- console.warn('scrollThreshold format is invalid. Valid formats: "120px", "50%"...');
9617
- return defaultThreshold$1;
9618
- }
9619
- console.warn("scrollThreshold should be string or number");
9620
- return defaultThreshold$1;
9621
- }
9622
- var InfiniteScroll = (
9623
- /** @class */
9624
- function(_super) {
9625
- __extends(InfiniteScroll2, _super);
9626
- function InfiniteScroll2(props) {
9627
- var _this = _super.call(this, props) || this;
9628
- _this.lastScrollTop = 0;
9629
- _this.actionTriggered = false;
9630
- _this.startY = 0;
9631
- _this.currentY = 0;
9632
- _this.dragging = false;
9633
- _this.maxPullDownDistance = 0;
9634
- _this.getScrollableTarget = function() {
9635
- if (_this.props.scrollableTarget instanceof HTMLElement)
9636
- return _this.props.scrollableTarget;
9637
- if (typeof _this.props.scrollableTarget === "string") {
9638
- return document.getElementById(_this.props.scrollableTarget);
9639
- }
9640
- if (_this.props.scrollableTarget === null) {
9641
- console.warn("You are trying to pass scrollableTarget but it is null. This might\n happen because the element may not have been added to DOM yet.\n See https://github.com/ankeetmaini/react-infinite-scroll-component/issues/59 for more info.\n ");
9699
+ disconnect: () => {
9700
+ var _a2;
9701
+ (_a2 = get3()) == null ? void 0 : _a2.disconnect();
9702
+ _ro = null;
9703
+ },
9704
+ observe: (target) => {
9705
+ var _a2;
9706
+ return (_a2 = get3()) == null ? void 0 : _a2.observe(target, { box: "border-box" });
9707
+ },
9708
+ unobserve: (target) => {
9709
+ var _a2;
9710
+ return (_a2 = get3()) == null ? void 0 : _a2.unobserve(target);
9642
9711
  }
9643
- return null;
9644
9712
  };
9645
- _this.onStart = function(evt) {
9646
- if (_this.lastScrollTop)
9713
+ })();
9714
+ this.range = null;
9715
+ this.setOptions = (opts2) => {
9716
+ Object.entries(opts2).forEach(([key2, value]) => {
9717
+ if (typeof value === "undefined") delete opts2[key2];
9718
+ });
9719
+ this.options = {
9720
+ debug: false,
9721
+ initialOffset: 0,
9722
+ overscan: 1,
9723
+ paddingStart: 0,
9724
+ paddingEnd: 0,
9725
+ scrollPaddingStart: 0,
9726
+ scrollPaddingEnd: 0,
9727
+ horizontal: false,
9728
+ getItemKey: defaultKeyExtractor,
9729
+ rangeExtractor: defaultRangeExtractor,
9730
+ onChange: () => {
9731
+ },
9732
+ measureElement,
9733
+ initialRect: { width: 0, height: 0 },
9734
+ scrollMargin: 0,
9735
+ gap: 0,
9736
+ indexAttribute: "data-index",
9737
+ initialMeasurementsCache: [],
9738
+ lanes: 1,
9739
+ isScrollingResetDelay: 150,
9740
+ enabled: true,
9741
+ isRtl: false,
9742
+ useScrollendEvent: true,
9743
+ ...opts2
9744
+ };
9745
+ };
9746
+ this.notify = (sync2) => {
9747
+ var _a2, _b;
9748
+ (_b = (_a2 = this.options).onChange) == null ? void 0 : _b.call(_a2, this, sync2);
9749
+ };
9750
+ this.maybeNotify = memo(
9751
+ () => {
9752
+ this.calculateRange();
9753
+ return [
9754
+ this.isScrolling,
9755
+ this.range ? this.range.startIndex : null,
9756
+ this.range ? this.range.endIndex : null
9757
+ ];
9758
+ },
9759
+ (isScrolling) => {
9760
+ this.notify(isScrolling);
9761
+ },
9762
+ {
9763
+ key: process.env.NODE_ENV !== "production" && "maybeNotify",
9764
+ debug: () => this.options.debug,
9765
+ initialDeps: [
9766
+ this.isScrolling,
9767
+ this.range ? this.range.startIndex : null,
9768
+ this.range ? this.range.endIndex : null
9769
+ ]
9770
+ }
9771
+ );
9772
+ this.cleanup = () => {
9773
+ this.unsubs.filter(Boolean).forEach((d2) => d2());
9774
+ this.unsubs = [];
9775
+ this.observer.disconnect();
9776
+ this.scrollElement = null;
9777
+ this.targetWindow = null;
9778
+ };
9779
+ this._didMount = () => {
9780
+ return () => {
9781
+ this.cleanup();
9782
+ };
9783
+ };
9784
+ this._willUpdate = () => {
9785
+ var _a2;
9786
+ const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;
9787
+ if (this.scrollElement !== scrollElement) {
9788
+ this.cleanup();
9789
+ if (!scrollElement) {
9790
+ this.maybeNotify();
9647
9791
  return;
9648
- _this.dragging = true;
9649
- if (evt instanceof MouseEvent) {
9650
- _this.startY = evt.pageY;
9651
- } else if (evt instanceof TouchEvent) {
9652
- _this.startY = evt.touches[0].pageY;
9653
9792
  }
9654
- _this.currentY = _this.startY;
9655
- if (_this._infScroll) {
9656
- _this._infScroll.style.willChange = "transform";
9657
- _this._infScroll.style.transition = "transform 0.2s cubic-bezier(0,0,0.31,1)";
9793
+ this.scrollElement = scrollElement;
9794
+ if (this.scrollElement && "ownerDocument" in this.scrollElement) {
9795
+ this.targetWindow = this.scrollElement.ownerDocument.defaultView;
9796
+ } else {
9797
+ this.targetWindow = ((_a2 = this.scrollElement) == null ? void 0 : _a2.window) ?? null;
9658
9798
  }
9659
- };
9660
- _this.onMove = function(evt) {
9661
- if (!_this.dragging)
9662
- return;
9663
- if (evt instanceof MouseEvent) {
9664
- _this.currentY = evt.pageY;
9665
- } else if (evt instanceof TouchEvent) {
9666
- _this.currentY = evt.touches[0].pageY;
9799
+ this.elementsCache.forEach((cached) => {
9800
+ this.observer.observe(cached);
9801
+ });
9802
+ this._scrollToOffset(this.getScrollOffset(), {
9803
+ adjustments: void 0,
9804
+ behavior: void 0
9805
+ });
9806
+ this.unsubs.push(
9807
+ this.options.observeElementRect(this, (rect) => {
9808
+ this.scrollRect = rect;
9809
+ this.maybeNotify();
9810
+ })
9811
+ );
9812
+ this.unsubs.push(
9813
+ this.options.observeElementOffset(this, (offset, isScrolling) => {
9814
+ this.scrollAdjustments = 0;
9815
+ this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? "forward" : "backward" : null;
9816
+ this.scrollOffset = offset;
9817
+ this.isScrolling = isScrolling;
9818
+ this.maybeNotify();
9819
+ })
9820
+ );
9821
+ }
9822
+ };
9823
+ this.getSize = () => {
9824
+ if (!this.options.enabled) {
9825
+ this.scrollRect = null;
9826
+ return 0;
9827
+ }
9828
+ this.scrollRect = this.scrollRect ?? this.options.initialRect;
9829
+ return this.scrollRect[this.options.horizontal ? "width" : "height"];
9830
+ };
9831
+ this.getScrollOffset = () => {
9832
+ if (!this.options.enabled) {
9833
+ this.scrollOffset = null;
9834
+ return 0;
9835
+ }
9836
+ this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === "function" ? this.options.initialOffset() : this.options.initialOffset);
9837
+ return this.scrollOffset;
9838
+ };
9839
+ this.getFurthestMeasurement = (measurements, index2) => {
9840
+ const furthestMeasurementsFound = /* @__PURE__ */ new Map();
9841
+ const furthestMeasurements = /* @__PURE__ */ new Map();
9842
+ for (let m2 = index2 - 1; m2 >= 0; m2--) {
9843
+ const measurement = measurements[m2];
9844
+ if (furthestMeasurementsFound.has(measurement.lane)) {
9845
+ continue;
9667
9846
  }
9668
- if (_this.currentY < _this.startY)
9669
- return;
9670
- if (_this.currentY - _this.startY >= Number(_this.props.pullDownToRefreshThreshold)) {
9671
- _this.setState({
9672
- pullToRefreshThresholdBreached: true
9673
- });
9847
+ const previousFurthestMeasurement = furthestMeasurements.get(
9848
+ measurement.lane
9849
+ );
9850
+ if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {
9851
+ furthestMeasurements.set(measurement.lane, measurement);
9852
+ } else if (measurement.end < previousFurthestMeasurement.end) {
9853
+ furthestMeasurementsFound.set(measurement.lane, true);
9674
9854
  }
9675
- if (_this.currentY - _this.startY > _this.maxPullDownDistance * 1.5)
9676
- return;
9677
- if (_this._infScroll) {
9678
- _this._infScroll.style.overflow = "visible";
9679
- _this._infScroll.style.transform = "translate3d(0px, " + (_this.currentY - _this.startY) + "px, 0px)";
9855
+ if (furthestMeasurementsFound.size === this.options.lanes) {
9856
+ break;
9680
9857
  }
9681
- };
9682
- _this.onEnd = function() {
9683
- _this.startY = 0;
9684
- _this.currentY = 0;
9685
- _this.dragging = false;
9686
- if (_this.state.pullToRefreshThresholdBreached) {
9687
- _this.props.refreshFunction && _this.props.refreshFunction();
9688
- _this.setState({
9689
- pullToRefreshThresholdBreached: false
9690
- });
9858
+ }
9859
+ return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a2, b2) => {
9860
+ if (a2.end === b2.end) {
9861
+ return a2.index - b2.index;
9691
9862
  }
9692
- requestAnimationFrame(function() {
9693
- if (_this._infScroll) {
9694
- _this._infScroll.style.overflow = "auto";
9695
- _this._infScroll.style.transform = "none";
9696
- _this._infScroll.style.willChange = "unset";
9697
- }
9698
- });
9699
- };
9700
- _this.onScrollListener = function(event) {
9701
- if (typeof _this.props.onScroll === "function") {
9702
- setTimeout(function() {
9703
- return _this.props.onScroll && _this.props.onScroll(event);
9704
- }, 0);
9863
+ return a2.end - b2.end;
9864
+ })[0] : void 0;
9865
+ };
9866
+ this.getMeasurementOptions = memo(
9867
+ () => [
9868
+ this.options.count,
9869
+ this.options.paddingStart,
9870
+ this.options.scrollMargin,
9871
+ this.options.getItemKey,
9872
+ this.options.enabled
9873
+ ],
9874
+ (count, paddingStart, scrollMargin, getItemKey, enabled) => {
9875
+ this.pendingMeasuredCacheIndexes = [];
9876
+ return {
9877
+ count,
9878
+ paddingStart,
9879
+ scrollMargin,
9880
+ getItemKey,
9881
+ enabled
9882
+ };
9883
+ },
9884
+ {
9885
+ key: false
9886
+ }
9887
+ );
9888
+ this.getMeasurements = memo(
9889
+ () => [this.getMeasurementOptions(), this.itemSizeCache],
9890
+ ({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => {
9891
+ if (!enabled) {
9892
+ this.measurementsCache = [];
9893
+ this.itemSizeCache.clear();
9894
+ return [];
9895
+ }
9896
+ if (this.measurementsCache.length === 0) {
9897
+ this.measurementsCache = this.options.initialMeasurementsCache;
9898
+ this.measurementsCache.forEach((item2) => {
9899
+ this.itemSizeCache.set(item2.key, item2.size);
9900
+ });
9705
9901
  }
9706
- var target = _this.props.height || _this._scrollableNode ? event.target : document.documentElement.scrollTop ? document.documentElement : document.body;
9707
- if (_this.actionTriggered)
9708
- return;
9709
- var atBottom = _this.props.inverse ? _this.isElementAtTop(target, _this.props.scrollThreshold) : _this.isElementAtBottom(target, _this.props.scrollThreshold);
9710
- if (atBottom && _this.props.hasMore) {
9711
- _this.actionTriggered = true;
9712
- _this.setState({ showLoader: true });
9713
- _this.props.next && _this.props.next();
9902
+ const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
9903
+ this.pendingMeasuredCacheIndexes = [];
9904
+ const measurements = this.measurementsCache.slice(0, min);
9905
+ for (let i = min; i < count; i++) {
9906
+ const key2 = getItemKey(i);
9907
+ const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);
9908
+ const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;
9909
+ const measuredSize = itemSizeCache.get(key2);
9910
+ const size2 = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
9911
+ const end = start + size2;
9912
+ const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;
9913
+ measurements[i] = {
9914
+ index: i,
9915
+ start,
9916
+ size: size2,
9917
+ end,
9918
+ key: key2,
9919
+ lane
9920
+ };
9714
9921
  }
9715
- _this.lastScrollTop = target.scrollTop;
9716
- };
9717
- _this.state = {
9718
- showLoader: false,
9719
- pullToRefreshThresholdBreached: false,
9720
- prevDataLength: props.dataLength
9721
- };
9722
- _this.throttledOnScrollListener = throttle$1(150, _this.onScrollListener).bind(_this);
9723
- _this.onStart = _this.onStart.bind(_this);
9724
- _this.onMove = _this.onMove.bind(_this);
9725
- _this.onEnd = _this.onEnd.bind(_this);
9726
- return _this;
9727
- }
9728
- InfiniteScroll2.prototype.componentDidMount = function() {
9729
- if (typeof this.props.dataLength === "undefined") {
9730
- throw new Error('mandatory prop "dataLength" is missing. The prop is needed when loading more content. Check README.md for usage');
9731
- }
9732
- this._scrollableNode = this.getScrollableTarget();
9733
- this.el = this.props.height ? this._infScroll : this._scrollableNode || window;
9734
- if (this.el) {
9735
- this.el.addEventListener("scroll", this.throttledOnScrollListener);
9736
- }
9737
- if (typeof this.props.initialScrollY === "number" && this.el && this.el instanceof HTMLElement && this.el.scrollHeight > this.props.initialScrollY) {
9738
- this.el.scrollTo(0, this.props.initialScrollY);
9739
- }
9740
- if (this.props.pullDownToRefresh && this.el) {
9741
- this.el.addEventListener("touchstart", this.onStart);
9742
- this.el.addEventListener("touchmove", this.onMove);
9743
- this.el.addEventListener("touchend", this.onEnd);
9744
- this.el.addEventListener("mousedown", this.onStart);
9745
- this.el.addEventListener("mousemove", this.onMove);
9746
- this.el.addEventListener("mouseup", this.onEnd);
9747
- this.maxPullDownDistance = this._pullDown && this._pullDown.firstChild && this._pullDown.firstChild.getBoundingClientRect().height || 0;
9748
- this.forceUpdate();
9749
- if (typeof this.props.refreshFunction !== "function") {
9750
- throw new Error(`Mandatory prop "refreshFunction" missing.
9751
- Pull Down To Refresh functionality will not work
9752
- as expected. Check README.md for usage'`);
9922
+ this.measurementsCache = measurements;
9923
+ return measurements;
9924
+ },
9925
+ {
9926
+ key: process.env.NODE_ENV !== "production" && "getMeasurements",
9927
+ debug: () => this.options.debug
9928
+ }
9929
+ );
9930
+ this.calculateRange = memo(
9931
+ () => [this.getMeasurements(), this.getSize(), this.getScrollOffset()],
9932
+ (measurements, outerSize, scrollOffset) => {
9933
+ return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({
9934
+ measurements,
9935
+ outerSize,
9936
+ scrollOffset
9937
+ }) : null;
9938
+ },
9939
+ {
9940
+ key: process.env.NODE_ENV !== "production" && "calculateRange",
9941
+ debug: () => this.options.debug
9942
+ }
9943
+ );
9944
+ this.getIndexes = memo(
9945
+ () => [
9946
+ this.options.rangeExtractor,
9947
+ this.calculateRange(),
9948
+ this.options.overscan,
9949
+ this.options.count
9950
+ ],
9951
+ (rangeExtractor, range2, overscan, count) => {
9952
+ return range2 === null ? [] : rangeExtractor({
9953
+ startIndex: range2.startIndex,
9954
+ endIndex: range2.endIndex,
9955
+ overscan,
9956
+ count
9957
+ });
9958
+ },
9959
+ {
9960
+ key: process.env.NODE_ENV !== "production" && "getIndexes",
9961
+ debug: () => this.options.debug
9962
+ }
9963
+ );
9964
+ this.indexFromElement = (node2) => {
9965
+ const attributeName = this.options.indexAttribute;
9966
+ const indexStr = node2.getAttribute(attributeName);
9967
+ if (!indexStr) {
9968
+ console.warn(
9969
+ `Missing attribute name '${attributeName}={index}' on measured element.`
9970
+ );
9971
+ return -1;
9972
+ }
9973
+ return parseInt(indexStr, 10);
9974
+ };
9975
+ this._measureElement = (node2, entry) => {
9976
+ const index2 = this.indexFromElement(node2);
9977
+ const item2 = this.measurementsCache[index2];
9978
+ if (!item2) {
9979
+ return;
9980
+ }
9981
+ const key2 = item2.key;
9982
+ const prevNode = this.elementsCache.get(key2);
9983
+ if (prevNode !== node2) {
9984
+ if (prevNode) {
9985
+ this.observer.unobserve(prevNode);
9753
9986
  }
9987
+ this.observer.observe(node2);
9988
+ this.elementsCache.set(key2, node2);
9989
+ }
9990
+ if (node2.isConnected) {
9991
+ this.resizeItem(index2, this.options.measureElement(node2, entry, this));
9754
9992
  }
9755
9993
  };
9756
- InfiniteScroll2.prototype.componentWillUnmount = function() {
9757
- if (this.el) {
9758
- this.el.removeEventListener("scroll", this.throttledOnScrollListener);
9759
- if (this.props.pullDownToRefresh) {
9760
- this.el.removeEventListener("touchstart", this.onStart);
9761
- this.el.removeEventListener("touchmove", this.onMove);
9762
- this.el.removeEventListener("touchend", this.onEnd);
9763
- this.el.removeEventListener("mousedown", this.onStart);
9764
- this.el.removeEventListener("mousemove", this.onMove);
9765
- this.el.removeEventListener("mouseup", this.onEnd);
9994
+ this.resizeItem = (index2, size2) => {
9995
+ const item2 = this.measurementsCache[index2];
9996
+ if (!item2) {
9997
+ return;
9998
+ }
9999
+ const itemSize = this.itemSizeCache.get(item2.key) ?? item2.size;
10000
+ const delta = size2 - itemSize;
10001
+ if (delta !== 0) {
10002
+ if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item2, delta, this) : item2.start < this.getScrollOffset() + this.scrollAdjustments) {
10003
+ if (process.env.NODE_ENV !== "production" && this.options.debug) {
10004
+ console.info("correction", delta);
10005
+ }
10006
+ this._scrollToOffset(this.getScrollOffset(), {
10007
+ adjustments: this.scrollAdjustments += delta,
10008
+ behavior: void 0
10009
+ });
9766
10010
  }
10011
+ this.pendingMeasuredCacheIndexes.push(item2.index);
10012
+ this.itemSizeCache = new Map(this.itemSizeCache.set(item2.key, size2));
10013
+ this.notify(false);
9767
10014
  }
9768
10015
  };
9769
- InfiniteScroll2.prototype.componentDidUpdate = function(prevProps) {
9770
- if (this.props.dataLength === prevProps.dataLength)
10016
+ this.measureElement = (node2) => {
10017
+ if (!node2) {
10018
+ this.elementsCache.forEach((cached, key2) => {
10019
+ if (!cached.isConnected) {
10020
+ this.observer.unobserve(cached);
10021
+ this.elementsCache.delete(key2);
10022
+ }
10023
+ });
9771
10024
  return;
9772
- this.actionTriggered = false;
9773
- this.setState({
9774
- showLoader: false
9775
- });
10025
+ }
10026
+ this._measureElement(node2, void 0);
9776
10027
  };
9777
- InfiniteScroll2.getDerivedStateFromProps = function(nextProps, prevState) {
9778
- var dataLengthChanged = nextProps.dataLength !== prevState.prevDataLength;
9779
- if (dataLengthChanged) {
9780
- return __assign$1(__assign$1({}, prevState), { prevDataLength: nextProps.dataLength });
10028
+ this.getVirtualItems = memo(
10029
+ () => [this.getIndexes(), this.getMeasurements()],
10030
+ (indexes, measurements) => {
10031
+ const virtualItems = [];
10032
+ for (let k2 = 0, len = indexes.length; k2 < len; k2++) {
10033
+ const i = indexes[k2];
10034
+ const measurement = measurements[i];
10035
+ virtualItems.push(measurement);
10036
+ }
10037
+ return virtualItems;
10038
+ },
10039
+ {
10040
+ key: process.env.NODE_ENV !== "production" && "getVirtualItems",
10041
+ debug: () => this.options.debug
9781
10042
  }
9782
- return null;
10043
+ );
10044
+ this.getVirtualItemForOffset = (offset) => {
10045
+ const measurements = this.getMeasurements();
10046
+ if (measurements.length === 0) {
10047
+ return void 0;
10048
+ }
10049
+ return notUndefined(
10050
+ measurements[findNearestBinarySearch(
10051
+ 0,
10052
+ measurements.length - 1,
10053
+ (index2) => notUndefined(measurements[index2]).start,
10054
+ offset
10055
+ )]
10056
+ );
9783
10057
  };
9784
- InfiniteScroll2.prototype.isElementAtTop = function(target, scrollThreshold) {
9785
- if (scrollThreshold === void 0) {
9786
- scrollThreshold = 0.8;
10058
+ this.getOffsetForAlignment = (toOffset, align) => {
10059
+ const size2 = this.getSize();
10060
+ const scrollOffset = this.getScrollOffset();
10061
+ if (align === "auto") {
10062
+ if (toOffset <= scrollOffset) {
10063
+ align = "start";
10064
+ } else if (toOffset >= scrollOffset + size2) {
10065
+ align = "end";
10066
+ } else {
10067
+ align = "start";
10068
+ }
9787
10069
  }
9788
- var clientHeight = target === document.body || target === document.documentElement ? window.screen.availHeight : target.clientHeight;
9789
- var threshold = parseThreshold(scrollThreshold);
9790
- if (threshold.unit === ThresholdUnits.Pixel) {
9791
- return target.scrollTop <= threshold.value + clientHeight - target.scrollHeight + 1;
10070
+ if (align === "start") {
10071
+ toOffset = toOffset;
10072
+ } else if (align === "end") {
10073
+ toOffset = toOffset - size2;
10074
+ } else if (align === "center") {
10075
+ toOffset = toOffset - size2 / 2;
9792
10076
  }
9793
- return target.scrollTop <= threshold.value / 100 + clientHeight - target.scrollHeight + 1;
10077
+ const scrollSizeProp = this.options.horizontal ? "scrollWidth" : "scrollHeight";
10078
+ const scrollSize = this.scrollElement ? "document" in this.scrollElement ? this.scrollElement.document.documentElement[scrollSizeProp] : this.scrollElement[scrollSizeProp] : 0;
10079
+ const maxOffset = scrollSize - size2;
10080
+ return Math.max(Math.min(maxOffset, toOffset), 0);
9794
10081
  };
9795
- InfiniteScroll2.prototype.isElementAtBottom = function(target, scrollThreshold) {
9796
- if (scrollThreshold === void 0) {
9797
- scrollThreshold = 0.8;
10082
+ this.getOffsetForIndex = (index2, align = "auto") => {
10083
+ index2 = Math.max(0, Math.min(index2, this.options.count - 1));
10084
+ const item2 = this.measurementsCache[index2];
10085
+ if (!item2) {
10086
+ return void 0;
9798
10087
  }
9799
- var clientHeight = target === document.body || target === document.documentElement ? window.screen.availHeight : target.clientHeight;
9800
- var threshold = parseThreshold(scrollThreshold);
9801
- if (threshold.unit === ThresholdUnits.Pixel) {
9802
- return target.scrollTop + clientHeight >= target.scrollHeight - threshold.value;
10088
+ const size2 = this.getSize();
10089
+ const scrollOffset = this.getScrollOffset();
10090
+ if (align === "auto") {
10091
+ if (item2.end >= scrollOffset + size2 - this.options.scrollPaddingEnd) {
10092
+ align = "end";
10093
+ } else if (item2.start <= scrollOffset + this.options.scrollPaddingStart) {
10094
+ align = "start";
10095
+ } else {
10096
+ return [scrollOffset, align];
10097
+ }
9803
10098
  }
9804
- return target.scrollTop + clientHeight >= threshold.value / 100 * target.scrollHeight;
10099
+ const toOffset = align === "end" ? item2.end + this.options.scrollPaddingEnd : item2.start - this.options.scrollPaddingStart;
10100
+ return [this.getOffsetForAlignment(toOffset, align), align];
9805
10101
  };
9806
- InfiniteScroll2.prototype.render = function() {
9807
- var _this = this;
9808
- var style = __assign$1({ height: this.props.height || "auto", overflow: "auto", WebkitOverflowScrolling: "touch" }, this.props.style);
9809
- var hasChildren2 = this.props.hasChildren || !!(this.props.children && this.props.children instanceof Array && this.props.children.length);
9810
- var outerDivStyle = this.props.pullDownToRefresh && this.props.height ? { overflow: "auto" } : {};
9811
- return React__default.createElement(
9812
- "div",
9813
- { style: outerDivStyle, className: "infinite-scroll-component__outerdiv" },
9814
- React__default.createElement(
9815
- "div",
9816
- { className: "infinite-scroll-component " + (this.props.className || ""), ref: function(infScroll) {
9817
- return _this._infScroll = infScroll;
9818
- }, style },
9819
- this.props.pullDownToRefresh && React__default.createElement(
9820
- "div",
9821
- { style: { position: "relative" }, ref: function(pullDown) {
9822
- return _this._pullDown = pullDown;
9823
- } },
9824
- React__default.createElement("div", { style: {
9825
- position: "absolute",
9826
- left: 0,
9827
- right: 0,
9828
- top: -1 * this.maxPullDownDistance
9829
- } }, this.state.pullToRefreshThresholdBreached ? this.props.releaseToRefreshContent : this.props.pullDownToRefreshContent)
9830
- ),
9831
- this.props.children,
9832
- !this.state.showLoader && !hasChildren2 && this.props.hasMore && this.props.loader,
9833
- this.state.showLoader && this.props.hasMore && this.props.loader,
9834
- !this.props.hasMore && this.props.endMessage
9835
- )
10102
+ this.isDynamicMode = () => this.elementsCache.size > 0;
10103
+ this.cancelScrollToIndex = () => {
10104
+ if (this.scrollToIndexTimeoutId !== null && this.targetWindow) {
10105
+ this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId);
10106
+ this.scrollToIndexTimeoutId = null;
10107
+ }
10108
+ };
10109
+ this.scrollToOffset = (toOffset, { align = "start", behavior } = {}) => {
10110
+ this.cancelScrollToIndex();
10111
+ if (behavior === "smooth" && this.isDynamicMode()) {
10112
+ console.warn(
10113
+ "The `smooth` scroll behavior is not fully supported with dynamic size."
10114
+ );
10115
+ }
10116
+ this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {
10117
+ adjustments: void 0,
10118
+ behavior
10119
+ });
10120
+ };
10121
+ this.scrollToIndex = (index2, { align: initialAlign = "auto", behavior } = {}) => {
10122
+ index2 = Math.max(0, Math.min(index2, this.options.count - 1));
10123
+ this.cancelScrollToIndex();
10124
+ if (behavior === "smooth" && this.isDynamicMode()) {
10125
+ console.warn(
10126
+ "The `smooth` scroll behavior is not fully supported with dynamic size."
10127
+ );
10128
+ }
10129
+ const offsetAndAlign = this.getOffsetForIndex(index2, initialAlign);
10130
+ if (!offsetAndAlign) return;
10131
+ const [offset, align] = offsetAndAlign;
10132
+ this._scrollToOffset(offset, { adjustments: void 0, behavior });
10133
+ if (behavior !== "smooth" && this.isDynamicMode() && this.targetWindow) {
10134
+ this.scrollToIndexTimeoutId = this.targetWindow.setTimeout(() => {
10135
+ this.scrollToIndexTimeoutId = null;
10136
+ const elementInDOM = this.elementsCache.has(
10137
+ this.options.getItemKey(index2)
10138
+ );
10139
+ if (elementInDOM) {
10140
+ const [latestOffset] = notUndefined(
10141
+ this.getOffsetForIndex(index2, align)
10142
+ );
10143
+ if (!approxEqual(latestOffset, this.getScrollOffset())) {
10144
+ this.scrollToIndex(index2, { align, behavior });
10145
+ }
10146
+ } else {
10147
+ this.scrollToIndex(index2, { align, behavior });
10148
+ }
10149
+ });
10150
+ }
10151
+ };
10152
+ this.scrollBy = (delta, { behavior } = {}) => {
10153
+ this.cancelScrollToIndex();
10154
+ if (behavior === "smooth" && this.isDynamicMode()) {
10155
+ console.warn(
10156
+ "The `smooth` scroll behavior is not fully supported with dynamic size."
10157
+ );
10158
+ }
10159
+ this._scrollToOffset(this.getScrollOffset() + delta, {
10160
+ adjustments: void 0,
10161
+ behavior
10162
+ });
10163
+ };
10164
+ this.getTotalSize = () => {
10165
+ var _a2;
10166
+ const measurements = this.getMeasurements();
10167
+ let end;
10168
+ if (measurements.length === 0) {
10169
+ end = this.options.paddingStart;
10170
+ } else {
10171
+ end = this.options.lanes === 1 ? ((_a2 = measurements[measurements.length - 1]) == null ? void 0 : _a2.end) ?? 0 : Math.max(
10172
+ ...measurements.slice(-this.options.lanes).map((m2) => m2.end)
10173
+ );
10174
+ }
10175
+ return Math.max(
10176
+ end - this.options.scrollMargin + this.options.paddingEnd,
10177
+ 0
9836
10178
  );
9837
10179
  };
9838
- return InfiniteScroll2;
9839
- }(Component$1)
9840
- );
9841
- const inputInTable$8 = "_inputInTable_7sjlf_1";
9842
- const inputHover$8 = "_inputHover_7sjlf_13";
9843
- const inputFocus$8 = "_inputFocus_7sjlf_18";
9844
- const inputError$8 = "_inputError_7sjlf_25";
9845
- const inputWarning$8 = "_inputWarning_7sjlf_26";
9846
- const inputDisabled$8 = "_inputDisabled_7sjlf_61";
9847
- const hideScrollbars$8 = "_hideScrollbars_7sjlf_67";
9848
- const header$1 = "_header_7sjlf_77";
9849
- const headerTitle = "_headerTitle_7sjlf_77";
9850
- const heading$3 = "_heading_7sjlf_78";
9851
- const itemHeader = "_itemHeader_7sjlf_78";
9852
- const narrow = "_narrow_7sjlf_81";
9853
- const stickyHeader = "_stickyHeader_7sjlf_85";
9854
- const title$3 = "_title_7sjlf_96";
9855
- const name = "_name_7sjlf_102";
9856
- const iconTooltipMargin = "_iconTooltipMargin_7sjlf_105";
9857
- const bold = "_bold_7sjlf_108";
9858
- const toggleNarrow = "_toggleNarrow_7sjlf_117";
9859
- const drag$1 = "_drag_7sjlf_135";
9860
- const dragOverlay$1 = "_dragOverlay_7sjlf_156";
9861
- const list$1 = "_list_7sjlf_161";
9862
- const bordered$1 = "_bordered_7sjlf_165";
9863
- const item$4 = "_item_7sjlf_78";
9864
- const action = "_action_7sjlf_198";
9865
- const active$3 = "_active_7sjlf_201";
9866
- const indented = "_indented_7sjlf_208";
9867
- const disabled$5 = "_disabled_7sjlf_221";
9868
- const label$6 = "_label_7sjlf_232";
9869
- const details$2 = "_details_7sjlf_243";
9870
- const metadata = "_metadata_7sjlf_244";
9871
- const itemContent = "_itemContent_7sjlf_252";
9872
- const indentIcon = "_indentIcon_7sjlf_259";
9873
- const expandIcon = "_expandIcon_7sjlf_264";
9874
- const expanded = "_expanded_7sjlf_271";
9875
- const right$4 = "_right_7sjlf_274";
9876
- const actions = "_actions_7sjlf_282";
9877
- const scrollableList = "_scrollableList_7sjlf_287";
9878
- const infiniteScrollContainer = "_infiniteScrollContainer_7sjlf_292";
9879
- const hideScrollbar = "_hideScrollbar_7sjlf_67";
9880
- const noPointerEvents = "_noPointerEvents_7sjlf_309";
10180
+ this._scrollToOffset = (offset, {
10181
+ adjustments,
10182
+ behavior
10183
+ }) => {
10184
+ this.options.scrollToFn(offset, { behavior, adjustments }, this);
10185
+ };
10186
+ this.measure = () => {
10187
+ this.itemSizeCache = /* @__PURE__ */ new Map();
10188
+ this.notify(false);
10189
+ };
10190
+ this.setOptions(opts);
10191
+ }
10192
+ }
10193
+ const findNearestBinarySearch = (low, high, getCurrentValue, value) => {
10194
+ while (low <= high) {
10195
+ const middle = (low + high) / 2 | 0;
10196
+ const currentValue = getCurrentValue(middle);
10197
+ if (currentValue < value) {
10198
+ low = middle + 1;
10199
+ } else if (currentValue > value) {
10200
+ high = middle - 1;
10201
+ } else {
10202
+ return middle;
10203
+ }
10204
+ }
10205
+ if (low > 0) {
10206
+ return low - 1;
10207
+ } else {
10208
+ return 0;
10209
+ }
10210
+ };
10211
+ function calculateRange({
10212
+ measurements,
10213
+ outerSize,
10214
+ scrollOffset
10215
+ }) {
10216
+ const count = measurements.length - 1;
10217
+ const getOffset2 = (index2) => measurements[index2].start;
10218
+ const startIndex = findNearestBinarySearch(0, count, getOffset2, scrollOffset);
10219
+ let endIndex = startIndex;
10220
+ while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {
10221
+ endIndex++;
10222
+ }
10223
+ return { startIndex, endIndex };
10224
+ }
10225
+ const useIsomorphicLayoutEffect$5 = typeof document !== "undefined" ? React$4.useLayoutEffect : React$4.useEffect;
10226
+ function useVirtualizerBase(options) {
10227
+ const rerender = React$4.useReducer(() => ({}), {})[1];
10228
+ const resolvedOptions = {
10229
+ ...options,
10230
+ onChange: (instance2, sync2) => {
10231
+ var _a2;
10232
+ if (sync2) {
10233
+ flushSync$1(rerender);
10234
+ } else {
10235
+ rerender();
10236
+ }
10237
+ (_a2 = options.onChange) == null ? void 0 : _a2.call(options, instance2, sync2);
10238
+ }
10239
+ };
10240
+ const [instance] = React$4.useState(
10241
+ () => new Virtualizer(resolvedOptions)
10242
+ );
10243
+ instance.setOptions(resolvedOptions);
10244
+ React$4.useEffect(() => {
10245
+ return instance._didMount();
10246
+ }, []);
10247
+ useIsomorphicLayoutEffect$5(() => {
10248
+ return instance._willUpdate();
10249
+ });
10250
+ return instance;
10251
+ }
10252
+ function useVirtualizer(options) {
10253
+ return useVirtualizerBase({
10254
+ observeElementRect,
10255
+ observeElementOffset,
10256
+ scrollToFn: elementScroll,
10257
+ ...options
10258
+ });
10259
+ }
10260
+ const inputInTable$8 = "_inputInTable_snjei_1";
10261
+ const inputHover$8 = "_inputHover_snjei_13";
10262
+ const inputFocus$8 = "_inputFocus_snjei_18";
10263
+ const inputError$8 = "_inputError_snjei_25";
10264
+ const inputWarning$8 = "_inputWarning_snjei_26";
10265
+ const inputDisabled$8 = "_inputDisabled_snjei_61";
10266
+ const hideScrollbars$8 = "_hideScrollbars_snjei_67";
10267
+ const list$1 = "_list_snjei_77";
10268
+ const bordered$1 = "_bordered_snjei_83";
10269
+ const virtualRow = "_virtualRow_snjei_87";
10270
+ const item$4 = "_item_snjei_87";
10271
+ const header$1 = "_header_snjei_90";
10272
+ const headerTitle = "_headerTitle_snjei_90";
10273
+ const heading$3 = "_heading_snjei_91";
10274
+ const itemHeader = "_itemHeader_snjei_91";
10275
+ const narrow = "_narrow_snjei_94";
10276
+ const stickyHeader = "_stickyHeader_snjei_98";
10277
+ const title$3 = "_title_snjei_109";
10278
+ const name = "_name_snjei_115";
10279
+ const iconTooltipMargin = "_iconTooltipMargin_snjei_118";
10280
+ const bold = "_bold_snjei_121";
10281
+ const toggleNarrow = "_toggleNarrow_snjei_132";
10282
+ const drag$1 = "_drag_snjei_150";
10283
+ const dragOverlay$1 = "_dragOverlay_snjei_171";
10284
+ const listContent = "_listContent_snjei_176";
10285
+ const action = "_action_snjei_203";
10286
+ const active$3 = "_active_snjei_206";
10287
+ const indented = "_indented_snjei_213";
10288
+ const disabled$5 = "_disabled_snjei_226";
10289
+ const label$6 = "_label_snjei_237";
10290
+ const details$2 = "_details_snjei_248";
10291
+ const metadata = "_metadata_snjei_249";
10292
+ const itemContent = "_itemContent_snjei_257";
10293
+ const indentIcon = "_indentIcon_snjei_264";
10294
+ const expandIcon = "_expandIcon_snjei_269";
10295
+ const expanded = "_expanded_snjei_276";
10296
+ const right$4 = "_right_snjei_279";
10297
+ const actions = "_actions_snjei_287";
10298
+ const hideScrollbar = "_hideScrollbar_snjei_67";
10299
+ const noPointerEvents = "_noPointerEvents_snjei_302";
10300
+ const virtualRows = "_virtualRows_snjei_305";
9881
10301
  const listStyles = {
9882
10302
  inputInTable: inputInTable$8,
9883
10303
  inputHover: inputHover$8,
@@ -9886,6 +10306,10 @@ const listStyles = {
9886
10306
  inputWarning: inputWarning$8,
9887
10307
  inputDisabled: inputDisabled$8,
9888
10308
  hideScrollbars: hideScrollbars$8,
10309
+ list: list$1,
10310
+ bordered: bordered$1,
10311
+ virtualRow,
10312
+ item: item$4,
9889
10313
  header: header$1,
9890
10314
  headerTitle,
9891
10315
  heading: heading$3,
@@ -9899,9 +10323,7 @@ const listStyles = {
9899
10323
  toggleNarrow,
9900
10324
  drag: drag$1,
9901
10325
  dragOverlay: dragOverlay$1,
9902
- list: list$1,
9903
- bordered: bordered$1,
9904
- item: item$4,
10326
+ listContent,
9905
10327
  action,
9906
10328
  active: active$3,
9907
10329
  indented,
@@ -9915,10 +10337,9 @@ const listStyles = {
9915
10337
  expanded,
9916
10338
  right: right$4,
9917
10339
  actions,
9918
- scrollableList,
9919
- infiniteScrollContainer,
9920
10340
  hideScrollbar,
9921
- noPointerEvents
10341
+ noPointerEvents,
10342
+ virtualRows
9922
10343
  };
9923
10344
  const ToggleNarrow = ({
9924
10345
  toggleNarrow: toggleNarrow2,
@@ -10143,9 +10564,9 @@ function isTouchEvent$2(event) {
10143
10564
  return false;
10144
10565
  }
10145
10566
  const {
10146
- TouchEvent: TouchEvent2
10567
+ TouchEvent
10147
10568
  } = getWindow(event.target);
10148
- return TouchEvent2 && event instanceof TouchEvent2;
10569
+ return TouchEvent && event instanceof TouchEvent;
10149
10570
  }
10150
10571
  function getEventCoordinates(event) {
10151
10572
  if (isTouchEvent$2(event)) {
@@ -12563,7 +12984,7 @@ var Status;
12563
12984
  Status2[Status2["Initializing"] = 1] = "Initializing";
12564
12985
  Status2[Status2["Initialized"] = 2] = "Initialized";
12565
12986
  })(Status || (Status = {}));
12566
- const DndContext$1 = /* @__PURE__ */ memo(function DndContext(_ref) {
12987
+ const DndContext$1 = /* @__PURE__ */ memo$1(function DndContext(_ref) {
12567
12988
  var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;
12568
12989
  let {
12569
12990
  id: id2,
@@ -14201,72 +14622,6 @@ const ListRow = forwardRef(
14201
14622
  return isSubheading ? /* @__PURE__ */ jsx(ListSubheading, { ref: listRowRefs, item: item2, index: index2 }, index2) : draggable ? listElementWithDrag(index2, item2) : listElement(index2, item2);
14202
14623
  }
14203
14624
  );
14204
- const loader = "_loader_477i5_1";
14205
- const fullViewPortSize = "_fullViewPortSize_477i5_7";
14206
- const cover = "_cover_477i5_14";
14207
- const dimmer = "_dimmer_477i5_21";
14208
- const content$2 = "_content_477i5_44";
14209
- const text$1 = "_text_477i5_49";
14210
- const details$1 = "_details_477i5_53";
14211
- const styles$t = {
14212
- loader,
14213
- fullViewPortSize,
14214
- cover,
14215
- dimmer,
14216
- content: content$2,
14217
- text: text$1,
14218
- details: details$1
14219
- };
14220
- const Loader = ({
14221
- width: width2,
14222
- height: height2,
14223
- text: text2 = "",
14224
- details: details2 = "",
14225
- fullViewPortSize: fullViewPortSize2 = false,
14226
- cover: cover2 = false,
14227
- children = null,
14228
- theme = Theme.DARK,
14229
- testId = null
14230
- }) => {
14231
- const color2 = theme === Theme.DARK ? Theme.WHITE : Theme.INHERIT;
14232
- const background2 = theme === "white" ? "var(--color-background-raised)" : theme === "light" ? "var(--color-background)" : "black";
14233
- return /* @__PURE__ */ jsx(
14234
- "div",
14235
- {
14236
- className: cx$2(styles$t.loader, cover2 ? styles$t.cover : "", {
14237
- [styles$t.fullViewPortSize]: fullViewPortSize2
14238
- }),
14239
- style: { width: width2, height: height2 },
14240
- "data-testid": testId,
14241
- children: /* @__PURE__ */ jsx("div", { className: styles$t.dimmer, style: { background: background2, color: color2 }, children: /* @__PURE__ */ jsxs(
14242
- "div",
14243
- {
14244
- className: styles$t.content,
14245
- "data-testid": testId && `${testId}-content`,
14246
- children: [
14247
- children,
14248
- text2 && /* @__PURE__ */ jsx(
14249
- "div",
14250
- {
14251
- className: styles$t.text,
14252
- "data-testid": testId && `${testId}-text`,
14253
- children: text2
14254
- }
14255
- ),
14256
- details2 && /* @__PURE__ */ jsx(
14257
- "div",
14258
- {
14259
- className: styles$t.details,
14260
- "data-testid": testId && `${testId}-details`,
14261
- children: details2
14262
- }
14263
- )
14264
- ]
14265
- }
14266
- ) })
14267
- }
14268
- );
14269
- };
14270
14625
  const ListDragWrapper = ({
14271
14626
  children,
14272
14627
  draggable,
@@ -14281,15 +14636,14 @@ const ListDragWrapper = ({
14281
14636
  setDragIndex(event.active.id);
14282
14637
  };
14283
14638
  const handleDragEnd = (event) => {
14284
- var _a2, _b, _c, _d, _e2, _f, _g, _h;
14285
14639
  setDragIndex(null);
14286
14640
  const { active: active2, over } = event;
14287
- const from3 = (_b = (_a2 = active2 == null ? void 0 : active2.data) == null ? void 0 : _a2.current) == null ? void 0 : _b.sortable.index;
14288
- const to2 = (_d = (_c = over == null ? void 0 : over.data) == null ? void 0 : _c.current) == null ? void 0 : _d.sortable.index;
14641
+ const from3 = active2 == null ? void 0 : active2.id;
14642
+ const to2 = over == null ? void 0 : over.id;
14289
14643
  if (from3 !== to2) {
14290
14644
  onListReorder({
14291
- from: (_f = (_e2 = active2 == null ? void 0 : active2.data) == null ? void 0 : _e2.current) == null ? void 0 : _f.sortable.index,
14292
- to: (_h = (_g = over == null ? void 0 : over.data) == null ? void 0 : _g.current) == null ? void 0 : _h.sortable.index
14645
+ from: Number(from3),
14646
+ to: Number(to2)
14293
14647
  });
14294
14648
  }
14295
14649
  };
@@ -14338,58 +14692,26 @@ const List = ({
14338
14692
  height: height2,
14339
14693
  testId,
14340
14694
  scrollDetails = {
14341
- scrollable: false,
14342
14695
  hideScrollbar: false,
14343
- triggerScrollToActiveItem: false,
14344
- infiniteScroll: false,
14345
- limit: 10,
14346
- infiniteScrollTarget: void 0
14696
+ triggerScrollToActiveItem: false
14347
14697
  }
14348
14698
  }) => {
14349
- const {
14350
- scrollable,
14351
- hideScrollbar: hideScrollbar2,
14352
- triggerScrollToActiveItem,
14353
- infiniteScroll,
14354
- infiniteScrollTarget
14355
- } = scrollDetails;
14356
- const listHeadingRef = useRef(null);
14357
- const listRowRefs = useRef([]);
14699
+ const { hideScrollbar: hideScrollbar2, triggerScrollToActiveItem } = scrollDetails;
14358
14700
  const listContainerRef = useRef(null);
14359
- const MIN_ITEM_HEIGHT = 44;
14360
- const pageSize = infiniteScroll ? Math.ceil(window.innerHeight / MIN_ITEM_HEIGHT) : list2.items.length;
14361
- const [numVisibleRows, setNumVisibleRows] = useState(pageSize);
14362
- const [hasMore, setHasMore] = useState(numVisibleRows < (list2 == null ? void 0 : list2.items.length));
14363
- useEffect(() => {
14364
- listRowRefs.current = listRowRefs.current.slice(0, list2.items.length);
14365
- }, [list2.items.length]);
14366
- const loadMoreItems = () => {
14367
- if (numVisibleRows >= list2.items.length) {
14368
- setHasMore(false);
14369
- return;
14370
- }
14371
- const newVisibleRows = pageSize + numVisibleRows;
14372
- setNumVisibleRows(newVisibleRows);
14373
- };
14701
+ const MIN_ITEM_HEIGHT = 37;
14702
+ const virtualizer = useVirtualizer({
14703
+ count: list2.items.length,
14704
+ getScrollElement: () => listContainerRef.current,
14705
+ estimateSize: () => MIN_ITEM_HEIGHT,
14706
+ overscan: 5
14707
+ });
14374
14708
  const findFirstActiveItemIndex = (items) => items.findIndex((item2) => item2.active === true);
14375
14709
  const setScrollToActiveItem = (activeItemIndex) => {
14376
- if (!listContainerRef.current || !listHeadingRef.current) return;
14377
- const itemBorderLength = 1;
14378
- if (triggerScrollToActiveItem && activeItemIndex >= 0) {
14379
- const itemOffsets = listRowRefs.current.reduce((acc, val, index2) => {
14380
- if (index2 < activeItemIndex) {
14381
- return acc + val.clientHeight + itemBorderLength;
14382
- }
14383
- return acc;
14384
- }, 0);
14385
- const centerOffset = listContainerRef.current.clientHeight / 2 - listRowRefs.current[activeItemIndex].clientHeight / 2;
14386
- const scrollOffset = itemOffsets - centerOffset;
14387
- if (stickyHeader2) {
14388
- const headingOffset2 = listHeadingRef.current.clientHeight / 2;
14389
- listContainerRef.current.scrollTop = scrollOffset + headingOffset2;
14390
- }
14391
- const headingOffset = listHeadingRef.current.clientHeight;
14392
- listContainerRef.current.scrollTop = scrollOffset + headingOffset;
14710
+ if (activeItemIndex >= 0) {
14711
+ virtualizer.scrollToIndex(activeItemIndex, {
14712
+ align: "center",
14713
+ behavior: "smooth"
14714
+ });
14393
14715
  }
14394
14716
  };
14395
14717
  useEffect(() => {
@@ -14397,24 +14719,19 @@ const List = ({
14397
14719
  const activeItemIndex = findFirstActiveItemIndex(list2 == null ? void 0 : list2.items);
14398
14720
  setScrollToActiveItem(activeItemIndex);
14399
14721
  }
14400
- }, [
14401
- listContainerRef.current,
14402
- listHeadingRef.current,
14403
- triggerScrollToActiveItem
14404
- ]);
14405
- return /* @__PURE__ */ jsx(
14722
+ }, [triggerScrollToActiveItem]);
14723
+ return /* @__PURE__ */ jsxs(
14406
14724
  "div",
14407
14725
  {
14408
14726
  className: cx$2(
14727
+ listStyles.list,
14409
14728
  narrow2 ? listStyles.narrow : "",
14410
- scrollable ? listStyles.scrollableList : "",
14411
- hideScrollbar2 ? listStyles.hideScrollbar : ""
14729
+ bordered2 ? listStyles.bordered : ""
14412
14730
  ),
14413
14731
  "data-testid": testId,
14414
- id: "scrollableDiv",
14415
14732
  style: { height: height2, marginBottom },
14416
- ref: listContainerRef,
14417
- children: /* @__PURE__ */ jsxs(Card, { bordered: bordered2, padding: false, children: [
14733
+ id: "scrollableDiv",
14734
+ children: [
14418
14735
  !noHeader && /* @__PURE__ */ jsx(
14419
14736
  ListHeading,
14420
14737
  {
@@ -14422,53 +14739,123 @@ const List = ({
14422
14739
  actions: list2.actions,
14423
14740
  toggleNarrow: toggleNarrow2,
14424
14741
  onToggleNarrow,
14425
- stickyHeader: stickyHeader2,
14426
- ref: listHeadingRef
14742
+ stickyHeader: stickyHeader2
14427
14743
  }
14428
14744
  ),
14429
- /* @__PURE__ */ jsx("div", { className: cx$2(listStyles.list, bordered2 ? listStyles.bordered : ""), children: /* @__PURE__ */ jsx(
14745
+ /* @__PURE__ */ jsx(
14430
14746
  ListDragWrapper,
14431
14747
  {
14432
14748
  draggable,
14433
14749
  list: list2,
14434
14750
  onListReorder,
14435
- children: infiniteScroll ? /* @__PURE__ */ jsx(
14436
- InfiniteScroll,
14751
+ children: /* @__PURE__ */ jsx(
14752
+ "div",
14437
14753
  {
14438
- dataLength: numVisibleRows,
14439
- next: loadMoreItems,
14440
- hasMore,
14441
- scrollableTarget: infiniteScrollTarget || "scrollableDiv",
14442
- loader: /* @__PURE__ */ jsx(Loader, {}),
14443
- className: listStyles.infiniteScrollContainer,
14444
- children: list2.items.slice(0, numVisibleRows).map((item2, index2) => /* @__PURE__ */ jsx(
14445
- ListRow,
14754
+ className: cx$2(
14755
+ listStyles.listContent,
14756
+ hideScrollbar2 ? listStyles.hideScrollbar : ""
14757
+ ),
14758
+ ref: listContainerRef,
14759
+ children: /* @__PURE__ */ jsx(
14760
+ "div",
14446
14761
  {
14447
- index: index2,
14448
- draggable,
14449
- item: item2,
14450
- expanding,
14451
- invokeEditOnRowClick,
14452
- ref: listRowRefs
14453
- },
14454
- index2
14455
- ))
14762
+ className: listStyles.virtualRows,
14763
+ style: { height: `${virtualizer.getTotalSize()}px` },
14764
+ children: virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
14765
+ "div",
14766
+ {
14767
+ "data-index": virtualRow2.index,
14768
+ className: listStyles.virtualRow,
14769
+ style: {
14770
+ transform: `translateY(${virtualRow2.start}px)`
14771
+ },
14772
+ ref: virtualizer.measureElement,
14773
+ children: /* @__PURE__ */ jsx(
14774
+ ListRow,
14775
+ {
14776
+ index: virtualRow2.index,
14777
+ draggable,
14778
+ item: list2.items[virtualRow2.index],
14779
+ expanding,
14780
+ invokeEditOnRowClick
14781
+ }
14782
+ )
14783
+ },
14784
+ virtualRow2.key
14785
+ ))
14786
+ }
14787
+ )
14456
14788
  }
14457
- ) : list2.items.map((item2, index2) => /* @__PURE__ */ jsx(
14458
- ListRow,
14459
- {
14460
- index: index2,
14461
- draggable,
14462
- item: item2,
14463
- expanding,
14464
- invokeEditOnRowClick,
14465
- ref: listRowRefs
14466
- },
14467
- index2
14468
- ))
14789
+ )
14469
14790
  }
14470
- ) })
14471
- ] })
14791
+ )
14792
+ ]
14793
+ }
14794
+ );
14795
+ };
14796
+ const loader = "_loader_477i5_1";
14797
+ const fullViewPortSize = "_fullViewPortSize_477i5_7";
14798
+ const cover = "_cover_477i5_14";
14799
+ const dimmer = "_dimmer_477i5_21";
14800
+ const content$2 = "_content_477i5_44";
14801
+ const text$1 = "_text_477i5_49";
14802
+ const details$1 = "_details_477i5_53";
14803
+ const styles$t = {
14804
+ loader,
14805
+ fullViewPortSize,
14806
+ cover,
14807
+ dimmer,
14808
+ content: content$2,
14809
+ text: text$1,
14810
+ details: details$1
14811
+ };
14812
+ const Loader = ({
14813
+ width: width2,
14814
+ height: height2,
14815
+ text: text2 = "",
14816
+ details: details2 = "",
14817
+ fullViewPortSize: fullViewPortSize2 = false,
14818
+ cover: cover2 = false,
14819
+ children = null,
14820
+ theme = Theme.DARK,
14821
+ testId = null
14822
+ }) => {
14823
+ const color2 = theme === Theme.DARK ? Theme.WHITE : Theme.INHERIT;
14824
+ const background2 = theme === "white" ? "var(--color-background-raised)" : theme === "light" ? "var(--color-background)" : "black";
14825
+ return /* @__PURE__ */ jsx(
14826
+ "div",
14827
+ {
14828
+ className: cx$2(styles$t.loader, cover2 ? styles$t.cover : "", {
14829
+ [styles$t.fullViewPortSize]: fullViewPortSize2
14830
+ }),
14831
+ style: { width: width2, height: height2 },
14832
+ "data-testid": testId,
14833
+ children: /* @__PURE__ */ jsx("div", { className: styles$t.dimmer, style: { background: background2, color: color2 }, children: /* @__PURE__ */ jsxs(
14834
+ "div",
14835
+ {
14836
+ className: styles$t.content,
14837
+ "data-testid": testId && `${testId}-content`,
14838
+ children: [
14839
+ children,
14840
+ text2 && /* @__PURE__ */ jsx(
14841
+ "div",
14842
+ {
14843
+ className: styles$t.text,
14844
+ "data-testid": testId && `${testId}-text`,
14845
+ children: text2
14846
+ }
14847
+ ),
14848
+ details2 && /* @__PURE__ */ jsx(
14849
+ "div",
14850
+ {
14851
+ className: styles$t.details,
14852
+ "data-testid": testId && `${testId}-details`,
14853
+ children: details2
14854
+ }
14855
+ )
14856
+ ]
14857
+ }
14858
+ ) })
14472
14859
  }
14473
14860
  );
14474
14861
  };
@@ -15242,7 +15629,7 @@ const useFontsReady = () => {
15242
15629
  const getWidth = () => window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
15243
15630
  const useWindowWidth = () => {
15244
15631
  const [width2, setWidth] = useState(getWidth());
15245
- const resizeListener = debounce$2(() => setWidth(getWidth()), 150);
15632
+ const resizeListener = debounce$3(() => setWidth(getWidth()), 150);
15246
15633
  useEffect(() => {
15247
15634
  window.addEventListener("resize", resizeListener);
15248
15635
  return () => {
@@ -48004,7 +48391,7 @@ const styles$d = {
48004
48391
  active: active$2,
48005
48392
  icon: icon$1
48006
48393
  };
48007
- const TooltipIcon = memo(
48394
+ const TooltipIcon = memo$1(
48008
48395
  ({ isOpen: isOpen2, label: label2, icon: icon2, invalid }) => {
48009
48396
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
48010
48397
  /* @__PURE__ */ jsx(
@@ -48079,7 +48466,7 @@ const Sections = ({
48079
48466
  )
48080
48467
  ] }, i)) });
48081
48468
  };
48082
- const SideBar = memo(
48469
+ const SideBar = memo$1(
48083
48470
  ({
48084
48471
  options,
48085
48472
  startOpen = false,
@@ -50705,19 +51092,19 @@ const Spacer = ({
50705
51092
  }
50706
51093
  }
50707
51094
  );
50708
- const inputInTable$2 = "_inputInTable_xzacf_1";
50709
- const inputHover$2 = "_inputHover_xzacf_13";
50710
- const inputFocus$2 = "_inputFocus_xzacf_18";
50711
- const inputError$2 = "_inputError_xzacf_25";
50712
- const inputWarning$2 = "_inputWarning_xzacf_26";
50713
- const inputDisabled$2 = "_inputDisabled_xzacf_61";
50714
- const hideScrollbars$2 = "_hideScrollbars_xzacf_67";
50715
- const wrapper = "_wrapper_xzacf_85";
50716
- const bordered = "_bordered_xzacf_93";
50717
- const scroll = "_scroll_xzacf_98";
50718
- const table = "_table_xzacf_108";
50719
- const dragOverlay = "_dragOverlay_xzacf_145";
50720
- const striped = "_striped_xzacf_194";
51095
+ const inputInTable$2 = "_inputInTable_xkoxm_1";
51096
+ const inputHover$2 = "_inputHover_xkoxm_13";
51097
+ const inputFocus$2 = "_inputFocus_xkoxm_18";
51098
+ const inputError$2 = "_inputError_xkoxm_25";
51099
+ const inputWarning$2 = "_inputWarning_xkoxm_26";
51100
+ const inputDisabled$2 = "_inputDisabled_xkoxm_61";
51101
+ const hideScrollbars$2 = "_hideScrollbars_xkoxm_67";
51102
+ const wrapper = "_wrapper_xkoxm_85";
51103
+ const bordered = "_bordered_xkoxm_93";
51104
+ const scroll = "_scroll_xkoxm_98";
51105
+ const table = "_table_xkoxm_109";
51106
+ const dragOverlay = "_dragOverlay_xkoxm_145";
51107
+ const striped = "_striped_xkoxm_194";
50721
51108
  const styles$b = {
50722
51109
  inputInTable: inputInTable$2,
50723
51110
  inputHover: inputHover$2,
@@ -50823,36 +51210,6 @@ const hasActions = (rows) => rows.reduce(
50823
51210
  const hasRowActions = (rows, headers) => {
50824
51211
  return hasActions(headers) > 0 || hasActions(rows) > 0;
50825
51212
  };
50826
- const TableScrollWrapper = ({
50827
- table: table2,
50828
- children
50829
- }) => {
50830
- const { rows, infiniteScroll } = table2;
50831
- const pageSize = Math.ceil(window.innerHeight / 30);
50832
- const [visibleRows, setVisibleRows] = infiniteScroll ? useState(pageSize) : [rows.length, null];
50833
- const [hasMore, setHasMore] = infiniteScroll ? useState(visibleRows < rows.length) : [false, null];
50834
- const loadMoreItems = () => {
50835
- if (visibleRows >= rows.length && setHasMore) {
50836
- setHasMore(false);
50837
- return;
50838
- }
50839
- if (setVisibleRows) {
50840
- setVisibleRows(visibleRows + pageSize);
50841
- }
50842
- };
50843
- return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, children: infiniteScroll ? /* @__PURE__ */ jsx(
50844
- InfiniteScroll,
50845
- {
50846
- dataLength: Math.min(rows.length, visibleRows + pageSize),
50847
- next: loadMoreItems,
50848
- hasMore,
50849
- scrollableTarget: "scrollWrapper",
50850
- style: { overflow: "initial" },
50851
- loader: null,
50852
- children: children({ visibleRows })
50853
- }
50854
- ) : children({ visibleRows }) });
50855
- };
50856
51213
  const clickableRow = "_clickableRow_10f34_1";
50857
51214
  const hoverableRow = "_hoverableRow_10f34_4";
50858
51215
  const rowActive = "_rowActive_10f34_4";
@@ -51566,6 +51923,7 @@ const Row = ({
51566
51923
  hasRowActions: hasRowActions2,
51567
51924
  draggableTable = false,
51568
51925
  columnWidths,
51926
+ height: height2,
51569
51927
  testId
51570
51928
  //TODO: add testId
51571
51929
  }) => {
@@ -51622,7 +51980,8 @@ const Row = ({
51622
51980
  animateLayoutChanges: () => false
51623
51981
  });
51624
51982
  const style = {
51625
- transform: CSS.Translate.toString(transform),
51983
+ height: height2,
51984
+ transform: CSS.Transform.toString(transform),
51626
51985
  transition,
51627
51986
  opacity: isDragging ? 0 : void 0
51628
51987
  };
@@ -51680,6 +52039,8 @@ const Row = ({
51680
52039
  ),
51681
52040
  "data-error": error2 || null,
51682
52041
  "data-warning": warning2 || null,
52042
+ "data-index": rowIndex,
52043
+ "data-even": rowIndex % 2 === 0,
51683
52044
  style,
51684
52045
  children: [
51685
52046
  draggableTable ? getDragItem() : null,
@@ -51771,6 +52132,36 @@ const TableDragWrapper = (props) => {
51771
52132
  }
51772
52133
  );
51773
52134
  };
52135
+ const TableScrollWrapper = ({
52136
+ table: table2,
52137
+ theadRef,
52138
+ children
52139
+ }) => {
52140
+ var _a2, _b;
52141
+ const { infiniteScroll = false } = table2;
52142
+ if (!infiniteScroll) {
52143
+ return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, children: children({}) });
52144
+ }
52145
+ const containerRef = useRef(null);
52146
+ const MIN_ITEM_HEIGHT = 31;
52147
+ const virtualizer = useVirtualizer({
52148
+ count: ((_a2 = table2.rows) == null ? void 0 : _a2.length) ?? 0,
52149
+ getScrollElement: () => containerRef.current,
52150
+ estimateSize: () => MIN_ITEM_HEIGHT,
52151
+ overscan: 10
52152
+ });
52153
+ const theadHeight = ((_b = theadRef.current) == null ? void 0 : _b.clientHeight) ?? 0;
52154
+ const totalHeight = virtualizer.getTotalSize() + theadHeight;
52155
+ const items = virtualizer.getVirtualItems();
52156
+ const paddingTop = items.length > 0 ? items[0].start : 0;
52157
+ const paddingBottom = items.length > 0 ? virtualizer.getTotalSize() - items[items.length - 1].end : 0;
52158
+ const tableStyle = {
52159
+ "--virtualPaddingTop": paddingTop + "px",
52160
+ "--virtualPaddingBottom": paddingBottom + "px",
52161
+ height: totalHeight
52162
+ };
52163
+ return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, ref: containerRef, children: children({ virtualizer, tableStyle }) });
52164
+ };
51774
52165
  const Table = (props) => {
51775
52166
  var _a2, _b, _c, _d, _e2, _f, _g;
51776
52167
  const { onListReorder = () => {
@@ -51793,6 +52184,7 @@ const Table = (props) => {
51793
52184
  maxHeight,
51794
52185
  fixedWidth: width2
51795
52186
  } = propTable;
52187
+ const theadRef = useRef(null);
51796
52188
  const tbodyRef = useRef(null);
51797
52189
  const headers = get$2(props, "table.headers", []);
51798
52190
  const columnCount = getColumnCount(propRows, headers);
@@ -51854,7 +52246,7 @@ const Table = (props) => {
51854
52246
  testId: testId && `${testId}-title`
51855
52247
  }
51856
52248
  ),
51857
- /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, children: ({ visibleRows }) => /* @__PURE__ */ jsx(
52249
+ /* @__PURE__ */ jsx(
51858
52250
  TableDragWrapper,
51859
52251
  {
51860
52252
  colSpan,
@@ -51865,49 +52257,66 @@ const Table = (props) => {
51865
52257
  rowActions,
51866
52258
  rows,
51867
52259
  tbodyRef,
51868
- children: /* @__PURE__ */ jsxs(
51869
- "table",
51870
- {
51871
- className: cx$2(styles$b.table, striped2 ? styles$b.striped : ""),
51872
- "data-testid": testId,
51873
- children: [
51874
- /* @__PURE__ */ jsx("thead", { children: headers.map((row2, rowIndex) => {
51875
- return /* @__PURE__ */ jsx(
52260
+ children: /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, theadRef, children: ({ virtualizer, tableStyle }) => {
52261
+ return /* @__PURE__ */ jsxs(
52262
+ "table",
52263
+ {
52264
+ className: cx$2(styles$b.table, striped2 ? styles$b.striped : ""),
52265
+ "data-testid": testId,
52266
+ style: tableStyle,
52267
+ children: [
52268
+ /* @__PURE__ */ jsx("thead", { ref: theadRef, children: headers.map((row2, rowIndex) => {
52269
+ return /* @__PURE__ */ jsx(
52270
+ Row,
52271
+ {
52272
+ rowIndex,
52273
+ isHeader: true,
52274
+ row: row2,
52275
+ columnCount,
52276
+ columnWidths,
52277
+ colSpan,
52278
+ hasRowActions: rowActions,
52279
+ columnAlignment,
52280
+ columnHeaderAlignments,
52281
+ draggableTable: draggable
52282
+ },
52283
+ `0_${rowIndex}`
52284
+ );
52285
+ }) }),
52286
+ /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: virtualizer ? virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
51876
52287
  Row,
51877
52288
  {
51878
- rowIndex,
51879
- isHeader: true,
52289
+ rowIndex: virtualRow2.index,
52290
+ row: rows[virtualRow2.index],
52291
+ columnCount,
52292
+ columnWidths,
52293
+ colSpan,
52294
+ hasRowActions: rowActions,
52295
+ columnAlignment,
52296
+ draggableTable: draggable,
52297
+ height: virtualRow2.size
52298
+ },
52299
+ `1_${virtualRow2.index}`
52300
+ )) : rows.map((row2, index2) => /* @__PURE__ */ jsx(
52301
+ Row,
52302
+ {
52303
+ rowIndex: index2,
51880
52304
  row: row2,
51881
52305
  columnCount,
51882
52306
  columnWidths,
51883
52307
  colSpan,
51884
52308
  hasRowActions: rowActions,
51885
52309
  columnAlignment,
51886
- columnHeaderAlignments,
51887
52310
  draggableTable: draggable
51888
52311
  },
51889
- `0_${rowIndex}`
51890
- );
51891
- }) }),
51892
- /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: rows.slice(0, visibleRows).map((row2, rowIndex) => /* @__PURE__ */ jsx(
51893
- Row,
51894
- {
51895
- rowIndex,
51896
- row: row2,
51897
- columnCount,
51898
- columnWidths,
51899
- colSpan,
51900
- hasRowActions: rowActions,
51901
- columnAlignment,
51902
- draggableTable: draggable
51903
- },
51904
- `1_${rowIndex}`
51905
- )) })
51906
- ]
51907
- }
51908
- )
52312
+ `1_${index2}`
52313
+ )) })
52314
+ ]
52315
+ }
52316
+ );
52317
+ } })
51909
52318
  }
51910
- ) }),
52319
+ ),
51911
52320
  footer2 && /* @__PURE__ */ jsx(
51912
52321
  Footer,
51913
52322
  {
@@ -55020,7 +55429,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
55020
55429
  }
55021
55430
  let refCount = 0;
55022
55431
  const INSTANCE_SYM = Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");
55023
- var DndProvider = /* @__PURE__ */ memo(function DndProvider2(_param) {
55432
+ var DndProvider = /* @__PURE__ */ memo$1(function DndProvider2(_param) {
55024
55433
  var { children } = _param, props = _objectWithoutProperties(_param, [
55025
55434
  "children"
55026
55435
  ]);
@@ -57381,7 +57790,7 @@ function useFeatures(props, visualElement2, preloadedFeatures) {
57381
57790
  var name_1 = featureNames[i];
57382
57791
  var _a2 = featureDefinitions[name_1], isEnabled = _a2.isEnabled, Component2 = _a2.Component;
57383
57792
  if (isEnabled(props) && Component2) {
57384
- features.push(React$4.createElement(Component2, __assign$4({ key: name_1 }, props, { visualElement: visualElement2 })));
57793
+ features.push(React$4.createElement(Component2, __assign$3({ key: name_1 }, props, { visualElement: visualElement2 })));
57385
57794
  }
57386
57795
  }
57387
57796
  return features;
@@ -57622,7 +58031,7 @@ function useProjection(projectionId, _a2, visualElement2, ProjectionNodeConstruc
57622
58031
  var VisualElementHandler = (
57623
58032
  /** @class */
57624
58033
  function(_super) {
57625
- __extends$1(VisualElementHandler2, _super);
58034
+ __extends(VisualElementHandler2, _super);
57626
58035
  function VisualElementHandler2() {
57627
58036
  return _super !== null && _super.apply(this, arguments) || this;
57628
58037
  }
@@ -57648,20 +58057,20 @@ function createMotionComponent(_a2) {
57648
58057
  preloadedFeatures && loadFeatures(preloadedFeatures);
57649
58058
  function MotionComponent(props, externalRef) {
57650
58059
  var layoutId = useLayoutId(props);
57651
- props = __assign$4(__assign$4({}, props), { layoutId });
58060
+ props = __assign$3(__assign$3({}, props), { layoutId });
57652
58061
  var config = useContext(MotionConfigContext);
57653
58062
  var features = null;
57654
58063
  var context2 = useCreateMotionContext(props);
57655
58064
  var projectionId = config.isStatic ? void 0 : useProjectionId();
57656
58065
  var visualState = useVisualState(props, config.isStatic);
57657
58066
  if (!config.isStatic && isBrowser) {
57658
- context2.visualElement = useVisualElement(Component2, visualState, __assign$4(__assign$4({}, config), props), createVisualElement);
58067
+ context2.visualElement = useVisualElement(Component2, visualState, __assign$3(__assign$3({}, config), props), createVisualElement);
57659
58068
  useProjection(projectionId, props, context2.visualElement, projectionNodeConstructor || featureDefinitions.projectionNodeConstructor);
57660
58069
  features = useFeatures(props, context2.visualElement, preloadedFeatures);
57661
58070
  }
57662
58071
  return React$4.createElement(
57663
58072
  VisualElementHandler,
57664
- { visualElement: context2.visualElement, props: __assign$4(__assign$4({}, config), props) },
58073
+ { visualElement: context2.visualElement, props: __assign$3(__assign$3({}, config), props) },
57665
58074
  features,
57666
58075
  React$4.createElement(MotionContext.Provider, { value: context2 }, useRender(Component2, props, projectionId, useMotionRef(visualState, context2.visualElement, externalRef), visualState, config.isStatic, context2.visualElement))
57667
58076
  );
@@ -57987,7 +58396,7 @@ const filter = Object.assign(Object.assign({}, complex), { getAnimatableNone: (v
57987
58396
  const functions = v2.match(functionRegex);
57988
58397
  return functions ? functions.map(applyDefaultFilter).join(" ") : v2;
57989
58398
  } });
57990
- var int = __assign$4(__assign$4({}, number), { transform: Math.round });
58399
+ var int = __assign$3(__assign$3({}, number), { transform: Math.round });
57991
58400
  var numberValueTypes = {
57992
58401
  // Border props
57993
58402
  borderWidth: px,
@@ -58117,7 +58526,7 @@ function useInitialMotionValues(_a2, visualState, isStatic) {
58117
58526
  var state = createHtmlRenderState();
58118
58527
  buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);
58119
58528
  var vars = state.vars, style = state.style;
58120
- return __assign$4(__assign$4({}, vars), style);
58529
+ return __assign$3(__assign$3({}, vars), style);
58121
58530
  }, [visualState]);
58122
58531
  }
58123
58532
  function useStyle(props, visualState, isStatic) {
@@ -58275,18 +58684,18 @@ function buildSVGAttrs(state, _a2, options, transformTemplate) {
58275
58684
  }
58276
58685
  }
58277
58686
  var createSvgRenderState = function() {
58278
- return __assign$4(__assign$4({}, createHtmlRenderState()), { attrs: {} });
58687
+ return __assign$3(__assign$3({}, createHtmlRenderState()), { attrs: {} });
58279
58688
  };
58280
58689
  function useSVGProps(props, visualState) {
58281
58690
  var visualProps = useMemo(function() {
58282
58691
  var state = createSvgRenderState();
58283
58692
  buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, props.transformTemplate);
58284
- return __assign$4(__assign$4({}, state.attrs), { style: __assign$4({}, state.style) });
58693
+ return __assign$3(__assign$3({}, state.attrs), { style: __assign$3({}, state.style) });
58285
58694
  }, [visualState]);
58286
58695
  if (props.style) {
58287
58696
  var rawStyles = {};
58288
58697
  copyRawValuesOnly(rawStyles, props.style, props);
58289
- visualProps.style = __assign$4(__assign$4({}, rawStyles), visualProps.style);
58698
+ visualProps.style = __assign$3(__assign$3({}, rawStyles), visualProps.style);
58290
58699
  }
58291
58700
  return visualProps;
58292
58701
  }
@@ -58299,7 +58708,7 @@ function createUseRender(forwardMotionProps) {
58299
58708
  var useVisualProps = isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
58300
58709
  var visualProps = useVisualProps(props, latestValues, isStatic);
58301
58710
  var filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
58302
- var elementProps = __assign$4(__assign$4(__assign$4({}, filteredProps), visualProps), { ref });
58711
+ var elementProps = __assign$3(__assign$3(__assign$3({}, filteredProps), visualProps), { ref });
58303
58712
  if (projectionId) {
58304
58713
  elementProps["data-projection-id"] = projectionId;
58305
58714
  }
@@ -58476,7 +58885,7 @@ var htmlMotionConfig = {
58476
58885
  function createDomMotionConfig(Component2, _a2, preloadedFeatures, createVisualElement, projectionNodeConstructor) {
58477
58886
  var _b = _a2.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b;
58478
58887
  var baseConfig = isSVGComponent(Component2) ? svgMotionConfig : htmlMotionConfig;
58479
- return __assign$4(__assign$4({}, baseConfig), { preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement, projectionNodeConstructor, Component: Component2 });
58888
+ return __assign$3(__assign$3({}, baseConfig), { preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement, projectionNodeConstructor, Component: Component2 });
58480
58889
  }
58481
58890
  var AnimationType;
58482
58891
  (function(AnimationType2) {
@@ -59563,7 +59972,7 @@ function initIntersectionObserver(_a2) {
59563
59972
  var rootObservers = observers.get(lookupRoot);
59564
59973
  var key2 = JSON.stringify(options);
59565
59974
  if (!rootObservers[key2]) {
59566
- rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$4({ root: root2 }, options));
59975
+ rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$3({ root: root2 }, options));
59567
59976
  }
59568
59977
  return rootObservers[key2];
59569
59978
  }
@@ -59781,9 +60190,9 @@ var getDefaultTransition = function(valueKey, to2) {
59781
60190
  } else {
59782
60191
  transitionFactory = defaultTransitions[valueKey] || defaultTransitions.default;
59783
60192
  }
59784
- return __assign$4({ to: to2 }, transitionFactory(to2));
60193
+ return __assign$3({ to: to2 }, transitionFactory(to2));
59785
60194
  };
59786
- var defaultValueTypes = __assign$4(__assign$4({}, numberValueTypes), {
60195
+ var defaultValueTypes = __assign$3(__assign$3({}, numberValueTypes), {
59787
60196
  // Color props
59788
60197
  color,
59789
60198
  backgroundColor: color,
@@ -59825,7 +60234,7 @@ function isTransitionDefined(_a2) {
59825
60234
  var legacyRepeatWarning = false;
59826
60235
  function convertTransitionToAnimationOptions(_a2) {
59827
60236
  var ease = _a2.ease, times = _a2.times, yoyo = _a2.yoyo, flip = _a2.flip, loop = _a2.loop, transition = __rest$1(_a2, ["ease", "times", "yoyo", "flip", "loop"]);
59828
- var options = __assign$4({}, transition);
60237
+ var options = __assign$3({}, transition);
59829
60238
  if (times)
59830
60239
  options["offset"] = times;
59831
60240
  if (transition.duration)
@@ -59872,9 +60281,9 @@ function getPopmotionAnimationOptions(transition, options, key2) {
59872
60281
  }
59873
60282
  hydrateKeyframes(options);
59874
60283
  if (!isTransitionDefined(transition)) {
59875
- transition = __assign$4(__assign$4({}, transition), getDefaultTransition(key2, options.to));
60284
+ transition = __assign$3(__assign$3({}, transition), getDefaultTransition(key2, options.to));
59876
60285
  }
59877
- return __assign$4(__assign$4({}, options), convertTransitionToAnimationOptions(transition));
60286
+ return __assign$3(__assign$3({}, options), convertTransitionToAnimationOptions(transition));
59878
60287
  }
59879
60288
  function getAnimation(key2, value, target, transition, onComplete) {
59880
60289
  var _a2;
@@ -59900,7 +60309,7 @@ function getAnimation(key2, value, target, transition, onComplete) {
59900
60309
  return value.set(v2);
59901
60310
  }
59902
60311
  };
59903
- return valueTransition.type === "inertia" || valueTransition.type === "decay" ? inertia(__assign$4(__assign$4({}, options), valueTransition)) : animate$1(__assign$4(__assign$4({}, getPopmotionAnimationOptions(valueTransition, options, key2)), { onUpdate: function(v2) {
60312
+ return valueTransition.type === "inertia" || valueTransition.type === "decay" ? inertia(__assign$3(__assign$3({}, options), valueTransition)) : animate$1(__assign$3(__assign$3({}, getPopmotionAnimationOptions(valueTransition, options, key2)), { onUpdate: function(v2) {
59904
60313
  var _a3;
59905
60314
  options.onUpdate(v2);
59906
60315
  (_a3 = valueTransition.onUpdate) === null || _a3 === void 0 ? void 0 : _a3.call(valueTransition, v2);
@@ -60153,7 +60562,7 @@ function setTarget(visualElement2, definition) {
60153
60562
  var _a2 = resolved ? visualElement2.makeTargetAnimatable(resolved, false) : {}, _b = _a2.transitionEnd, transitionEnd = _b === void 0 ? {} : _b;
60154
60563
  _a2.transition;
60155
60564
  var target = __rest$1(_a2, ["transitionEnd", "transition"]);
60156
- target = __assign$4(__assign$4({}, target), transitionEnd);
60565
+ target = __assign$3(__assign$3({}, target), transitionEnd);
60157
60566
  for (var key2 in target) {
60158
60567
  var value = resolveFinalValueInKeyframes(target[key2]);
60159
60568
  setMotionValue(visualElement2, key2, value);
@@ -60271,9 +60680,9 @@ function animateTarget(visualElement2, definition, _a2) {
60271
60680
  if (!value || valueTarget === void 0 || animationTypeState && shouldBlockAnimation(animationTypeState, key2)) {
60272
60681
  continue;
60273
60682
  }
60274
- var valueTransition = __assign$4({ delay }, transition);
60683
+ var valueTransition = __assign$3({ delay }, transition);
60275
60684
  if (visualElement2.shouldReduceMotion && isTransformProp(key2)) {
60276
- valueTransition = __assign$4(__assign$4({}, valueTransition), { type: false, delay: 0 });
60685
+ valueTransition = __assign$3(__assign$3({}, valueTransition), { type: false, delay: 0 });
60277
60686
  }
60278
60687
  var animation = startAnimation(key2, value, valueTarget, valueTransition);
60279
60688
  animations2.push(animation);
@@ -60306,7 +60715,7 @@ function animateChildren(visualElement2, variant, delayChildren, staggerChildren
60306
60715
  return maxStaggerDuration - i * staggerChildren;
60307
60716
  };
60308
60717
  Array.from(visualElement2.variantChildren).sort(sortByTreeOrder).forEach(function(child, i) {
60309
- animations2.push(animateVariant(child, variant, __assign$4(__assign$4({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function() {
60718
+ animations2.push(animateVariant(child, variant, __assign$3(__assign$3({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function() {
60310
60719
  return child.notifyAnimationComplete(variant);
60311
60720
  }));
60312
60721
  });
@@ -60350,7 +60759,7 @@ function createAnimationState(visualElement2) {
60350
60759
  if (resolved) {
60351
60760
  resolved.transition;
60352
60761
  var transitionEnd = resolved.transitionEnd, target = __rest$1(resolved, ["transition", "transitionEnd"]);
60353
- acc = __assign$4(__assign$4(__assign$4({}, acc), target), transitionEnd);
60762
+ acc = __assign$3(__assign$3(__assign$3({}, acc), target), transitionEnd);
60354
60763
  }
60355
60764
  return acc;
60356
60765
  };
@@ -60380,7 +60789,7 @@ function createAnimationState(visualElement2) {
60380
60789
  if (isInherited && isInitialRender && visualElement2.manuallyAnimateOnMount) {
60381
60790
  isInherited = false;
60382
60791
  }
60383
- typeState.protectedKeys = __assign$4({}, encounteredKeys);
60792
+ typeState.protectedKeys = __assign$3({}, encounteredKeys);
60384
60793
  if (
60385
60794
  // If it isn't active and hasn't *just* been set as inactive
60386
60795
  !typeState.isActive && activeDelta === null || // If we didn't and don't have any defined prop for this animation type
@@ -60398,7 +60807,7 @@ function createAnimationState(visualElement2) {
60398
60807
  if (activeDelta === false)
60399
60808
  resolvedValues = {};
60400
60809
  var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b;
60401
- var allKeys = __assign$4(__assign$4({}, prevResolvedValues), resolvedValues);
60810
+ var allKeys = __assign$3(__assign$3({}, prevResolvedValues), resolvedValues);
60402
60811
  var markToAnimate = function(key3) {
60403
60812
  shouldAnimateType = true;
60404
60813
  removedKeys.delete(key3);
@@ -60430,7 +60839,7 @@ function createAnimationState(visualElement2) {
60430
60839
  typeState.prevProp = prop;
60431
60840
  typeState.prevResolvedValues = resolvedValues;
60432
60841
  if (typeState.isActive) {
60433
- encounteredKeys = __assign$4(__assign$4({}, encounteredKeys), resolvedValues);
60842
+ encounteredKeys = __assign$3(__assign$3({}, encounteredKeys), resolvedValues);
60434
60843
  }
60435
60844
  if (isInitialRender && visualElement2.blockInitialAnimation) {
60436
60845
  shouldAnimateType = false;
@@ -60439,7 +60848,7 @@ function createAnimationState(visualElement2) {
60439
60848
  animations2.push.apply(animations2, __spreadArray$2([], __read(definitionList.map(function(animation) {
60440
60849
  return {
60441
60850
  animation,
60442
- options: __assign$4({ type }, options)
60851
+ options: __assign$3({ type }, options)
60443
60852
  };
60444
60853
  })), false));
60445
60854
  }
@@ -60447,7 +60856,7 @@ function createAnimationState(visualElement2) {
60447
60856
  for (var i = 0; i < numAnimationTypes; i++) {
60448
60857
  _loop_1(i);
60449
60858
  }
60450
- allAnimatedKeys = __assign$4({}, encounteredKeys);
60859
+ allAnimatedKeys = __assign$3({}, encounteredKeys);
60451
60860
  if (removedKeys.size) {
60452
60861
  var fallbackAnimation_1 = {};
60453
60862
  removedKeys.forEach(function(key2) {
@@ -60555,7 +60964,7 @@ var PanSession = (
60555
60964
  return;
60556
60965
  var point2 = info3.point;
60557
60966
  var timestamp2 = getFrameData().timestamp;
60558
- _this.history.push(__assign$4(__assign$4({}, point2), { timestamp: timestamp2 }));
60967
+ _this.history.push(__assign$3(__assign$3({}, point2), { timestamp: timestamp2 }));
60559
60968
  var _a3 = _this.handlers, onStart = _a3.onStart, onMove = _a3.onMove;
60560
60969
  if (!isPanStarted) {
60561
60970
  onStart && onStart(_this.lastMoveEvent, info3);
@@ -60589,7 +60998,7 @@ var PanSession = (
60589
60998
  var initialInfo = transformPoint(info2, this.transformPagePoint);
60590
60999
  var point = initialInfo.point;
60591
61000
  var timestamp = getFrameData().timestamp;
60592
- this.history = [__assign$4(__assign$4({}, point), { timestamp })];
61001
+ this.history = [__assign$3(__assign$3({}, point), { timestamp })];
60593
61002
  var onSessionStart = handlers2.onSessionStart;
60594
61003
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
60595
61004
  this.removeListeners = pipe(addPointerEvent(window, "pointermove", this.handlePointerMove), addPointerEvent(window, "pointerup", this.handlePointerUp), addPointerEvent(window, "pointercancel", this.handlePointerUp));
@@ -61110,7 +61519,7 @@ var VisualElementDragControls = (
61110
61519
  transition = { min: 0, max: 0 };
61111
61520
  var bounceStiffness = dragElastic ? 200 : 1e6;
61112
61521
  var bounceDamping = dragElastic ? 40 : 1e7;
61113
- var inertia2 = __assign$4(__assign$4({ type: "inertia", velocity: dragMomentum ? velocity[axis] : 0, bounceStiffness, bounceDamping, timeConstant: 750, restDelta: 1, restSpeed: 10 }, dragTransition), transition);
61522
+ var inertia2 = __assign$3(__assign$3({ type: "inertia", velocity: dragMomentum ? velocity[axis] : 0, bounceStiffness, bounceDamping, timeConstant: 750, restDelta: 1, restSpeed: 10 }, dragTransition), transition);
61114
61523
  return _this.startAxisValueAnimation(axis, inertia2);
61115
61524
  });
61116
61525
  return Promise.all(momentumAnimations).then(onDragTransitionEnd);
@@ -61221,7 +61630,7 @@ var VisualElementDragControls = (
61221
61630
  VisualElementDragControls2.prototype.getProps = function() {
61222
61631
  var props = this.visualElement.getProps();
61223
61632
  var _a2 = props.drag, drag2 = _a2 === void 0 ? false : _a2, _b = props.dragDirectionLock, dragDirectionLock = _b === void 0 ? false : _b, _c = props.dragPropagation, dragPropagation = _c === void 0 ? false : _c, _d = props.dragConstraints, dragConstraints = _d === void 0 ? false : _d, _e2 = props.dragElastic, dragElastic = _e2 === void 0 ? defaultElastic : _e2, _f = props.dragMomentum, dragMomentum = _f === void 0 ? true : _f;
61224
- return __assign$4(__assign$4({}, props), { drag: drag2, dragDirectionLock, dragPropagation, dragConstraints, dragElastic, dragMomentum });
61633
+ return __assign$3(__assign$3({}, props), { drag: drag2, dragDirectionLock, dragPropagation, dragConstraints, dragElastic, dragMomentum });
61225
61634
  };
61226
61635
  return VisualElementDragControls2;
61227
61636
  }()
@@ -61378,7 +61787,7 @@ var visualElement = function(_a2) {
61378
61787
  var values2 = /* @__PURE__ */ new Map();
61379
61788
  var valueSubscriptions = /* @__PURE__ */ new Map();
61380
61789
  var prevMotionValues = {};
61381
- var baseTarget = __assign$4({}, latestValues);
61790
+ var baseTarget = __assign$3({}, latestValues);
61382
61791
  var removeFromVariantTree;
61383
61792
  function render2() {
61384
61793
  if (!instance || !isMounted)
@@ -61412,7 +61821,7 @@ var visualElement = function(_a2) {
61412
61821
  }
61413
61822
  var isControllingVariants = checkIfControllingVariants(props);
61414
61823
  var isVariantNode = checkIfVariantNode(props);
61415
- var element = __assign$4(__assign$4({
61824
+ var element = __assign$3(__assign$3({
61416
61825
  treeType,
61417
61826
  /**
61418
61827
  * This is a mirror of the internal instance prop, which keeps
@@ -61777,7 +62186,7 @@ function resolveCSSVariables(visualElement2, _a2, transitionEnd) {
61777
62186
  if (!(element instanceof Element))
61778
62187
  return { target, transitionEnd };
61779
62188
  if (transitionEnd) {
61780
- transitionEnd = __assign$4({}, transitionEnd);
62189
+ transitionEnd = __assign$3({}, transitionEnd);
61781
62190
  }
61782
62191
  visualElement2.forEachValue(function(value) {
61783
62192
  var current2 = value.get();
@@ -61932,8 +62341,8 @@ var checkAndConvertChangedValueTypes = function(visualElement2, target, origin,
61932
62341
  if (transitionEnd === void 0) {
61933
62342
  transitionEnd = {};
61934
62343
  }
61935
- target = __assign$4({}, target);
61936
- transitionEnd = __assign$4({}, transitionEnd);
62344
+ target = __assign$3({}, target);
62345
+ transitionEnd = __assign$3({}, transitionEnd);
61937
62346
  var targetPositionalKeys = Object.keys(target).filter(isPositionalKey);
61938
62347
  var removedTransformValues = [];
61939
62348
  var hasAttemptedToRemoveTransformValues = false;
@@ -62086,7 +62495,7 @@ var htmlConfig = {
62086
62495
  transitionEnd = parsed.transitionEnd;
62087
62496
  target = parsed.target;
62088
62497
  }
62089
- return __assign$4({ transition, transitionEnd }, target);
62498
+ return __assign$3({ transition, transitionEnd }, target);
62090
62499
  },
62091
62500
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps$1,
62092
62501
  build: function(element, renderState, latestValues, options, props) {
@@ -62098,7 +62507,7 @@ var htmlConfig = {
62098
62507
  render: renderHTML
62099
62508
  };
62100
62509
  var htmlVisualElement = visualElement(htmlConfig);
62101
- var svgVisualElement = visualElement(__assign$4(__assign$4({}, htmlConfig), { getBaseTarget: function(props, key2) {
62510
+ var svgVisualElement = visualElement(__assign$3(__assign$3({}, htmlConfig), { getBaseTarget: function(props, key2) {
62102
62511
  return props[key2];
62103
62512
  }, readValueFromInstance: function(domElement, key2) {
62104
62513
  var _a2;
@@ -62176,7 +62585,7 @@ var correctBoxShadow = {
62176
62585
  var MeasureLayoutWithContext = (
62177
62586
  /** @class */
62178
62587
  function(_super) {
62179
- __extends$1(MeasureLayoutWithContext2, _super);
62588
+ __extends(MeasureLayoutWithContext2, _super);
62180
62589
  function MeasureLayoutWithContext2() {
62181
62590
  return _super !== null && _super.apply(this, arguments) || this;
62182
62591
  }
@@ -62195,7 +62604,7 @@ var MeasureLayoutWithContext = (
62195
62604
  projection.addEventListener("animationComplete", function() {
62196
62605
  _this.safeToRemove();
62197
62606
  });
62198
- projection.setOptions(__assign$4(__assign$4({}, projection.options), { onExitComplete: function() {
62607
+ projection.setOptions(__assign$3(__assign$3({}, projection.options), { onExitComplete: function() {
62199
62608
  return _this.safeToRemove();
62200
62609
  } }));
62201
62610
  }
@@ -62260,10 +62669,10 @@ var MeasureLayoutWithContext = (
62260
62669
  function MeasureLayout(props) {
62261
62670
  var _a2 = __read(usePresence(), 2), isPresent = _a2[0], safeToRemove = _a2[1];
62262
62671
  var layoutGroup = useContext(LayoutGroupContext);
62263
- return React__default.createElement(MeasureLayoutWithContext, __assign$4({}, props, { layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove }));
62672
+ return React__default.createElement(MeasureLayoutWithContext, __assign$3({}, props, { layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove }));
62264
62673
  }
62265
62674
  var defaultScaleCorrectors = {
62266
- borderRadius: __assign$4(__assign$4({}, correctBorderRadius), { applyTo: [
62675
+ borderRadius: __assign$3(__assign$3({}, correctBorderRadius), { applyTo: [
62267
62676
  "borderTopLeftRadius",
62268
62677
  "borderTopRightRadius",
62269
62678
  "borderBottomLeftRadius",
@@ -62686,7 +63095,7 @@ function createProjectionNode(_a2) {
62686
63095
  _this.resumingFrom.resumingFrom = void 0;
62687
63096
  }
62688
63097
  _this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
62689
- var animationOptions = __assign$4(__assign$4({}, getValueTransition(layoutTransition, "layout")), { onPlay: onLayoutAnimationStart, onComplete: onLayoutAnimationComplete });
63098
+ var animationOptions = __assign$3(__assign$3({}, getValueTransition(layoutTransition, "layout")), { onPlay: onLayoutAnimationStart, onComplete: onLayoutAnimationComplete });
62690
63099
  if (visualElement2.shouldReduceMotion) {
62691
63100
  animationOptions.delay = 0;
62692
63101
  animationOptions.type = false;
@@ -62940,7 +63349,7 @@ function createProjectionNode(_a2) {
62940
63349
  };
62941
63350
  ProjectionNode.prototype.setOptions = function(options) {
62942
63351
  var _a3;
62943
- this.options = __assign$4(__assign$4(__assign$4({}, this.options), options), { crossfade: (_a3 = options.crossfade) !== null && _a3 !== void 0 ? _a3 : true });
63352
+ this.options = __assign$3(__assign$3(__assign$3({}, this.options), options), { crossfade: (_a3 = options.crossfade) !== null && _a3 !== void 0 ? _a3 : true });
62944
63353
  };
62945
63354
  ProjectionNode.prototype.clearMeasurements = function() {
62946
63355
  this.scroll = void 0;
@@ -63058,7 +63467,7 @@ function createProjectionNode(_a2) {
63058
63467
  }
63059
63468
  var snapshot = this.snapshot;
63060
63469
  var snapshotLatestValues = (snapshot === null || snapshot === void 0 ? void 0 : snapshot.latestValues) || {};
63061
- var mixedValues = __assign$4({}, this.latestValues);
63470
+ var mixedValues = __assign$3({}, this.latestValues);
63062
63471
  var targetDelta = createDelta();
63063
63472
  this.relativeTarget = this.relativeTargetOrigin = void 0;
63064
63473
  this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;
@@ -63101,7 +63510,7 @@ function createProjectionNode(_a2) {
63101
63510
  }
63102
63511
  this.pendingAnimation = sync.update(function() {
63103
63512
  globalProjectionState.hasAnimatedSinceResize = true;
63104
- _this.currentAnimation = animate(0, animationTarget, __assign$4(__assign$4({}, options), { onUpdate: function(latest) {
63513
+ _this.currentAnimation = animate(0, animationTarget, __assign$3(__assign$3({}, options), { onUpdate: function(latest) {
63105
63514
  var _a4;
63106
63515
  _this.mixTargetDelta(latest);
63107
63516
  (_a4 = options.onUpdate) === null || _a4 === void 0 ? void 0 : _a4.call(options, latest);
@@ -63469,7 +63878,7 @@ var HTMLProjectionNode = createProjectionNode({
63469
63878
  return Boolean(window.getComputedStyle(instance).position === "fixed");
63470
63879
  }
63471
63880
  });
63472
- var featureBundle = __assign$4(__assign$4(__assign$4(__assign$4({}, animations), gestureAnimations), drag), layoutFeatures);
63881
+ var featureBundle = __assign$3(__assign$3(__assign$3(__assign$3({}, animations), gestureAnimations), drag), layoutFeatures);
63473
63882
  var motion = /* @__PURE__ */ createMotionProxy(function(Component2, config) {
63474
63883
  return createDomMotionConfig(Component2, config, featureBundle, createDomVisualElement, HTMLProjectionNode);
63475
63884
  });
@@ -66288,7 +66697,7 @@ const convertVisibleRows = ({
66288
66697
  fromUnit: storageUnit
66289
66698
  });
66290
66699
  const convertedValue = unitChanged ? resultValue : cell2.value;
66291
- const formattedDisplayValue = formatDisplayValue ? formatDisplayValue(convertedValue) : convertedValue;
66700
+ const formattedDisplayValue = formatDisplayValue ? formatDisplayValue(convertedValue, selectedUnit) : convertedValue;
66292
66701
  return {
66293
66702
  ...cell2,
66294
66703
  value: formattedDisplayValue,
@@ -66545,41 +66954,6 @@ const SmartUploadModal = ({
66545
66954
  }
66546
66955
  ) });
66547
66956
  };
66548
- const SettingField = ({
66549
- helpText,
66550
- active: active2 = true,
66551
- children,
66552
- noPermission = false,
66553
- selectedOption,
66554
- handleSelectChange
66555
- }) => {
66556
- const options = [
66557
- { label: "All users", value: "all_users" },
66558
- { label: "Admin only", value: "superusers_admin" }
66559
- ];
66560
- return /* @__PURE__ */ jsxs("div", { children: [
66561
- /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", children: [
66562
- children,
66563
- !noPermission && /* @__PURE__ */ jsx(
66564
- Select,
66565
- {
66566
- small: true,
66567
- searchable: false,
66568
- name: "userType",
66569
- options,
66570
- value: selectedOption,
66571
- disabled: !active2,
66572
- onChange: handleSelectChange ? (e2) => handleSelectChange(
66573
- e2.target.value
66574
- ) : void 0,
66575
- "aria-label": "Select user type",
66576
- width: "auto"
66577
- }
66578
- )
66579
- ] }),
66580
- /* @__PURE__ */ jsx(Text, { muted: true, children: helpText })
66581
- ] });
66582
- };
66583
66957
  export {
66584
66958
  Accordion,
66585
66959
  AccordionWithDefaultToggle,
@@ -66643,7 +67017,6 @@ export {
66643
67017
  RichTextInput,
66644
67018
  Row$1 as Row,
66645
67019
  Select,
66646
- SettingField,
66647
67020
  SideBar,
66648
67021
  Slider,
66649
67022
  SmartUploadModal,