@oliasoft-open-source/react-ui-library 4.16.1 → 4.16.2-beta-2

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, 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,18 @@ 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
+ children: [
14418
14734
  !noHeader && /* @__PURE__ */ jsx(
14419
14735
  ListHeading,
14420
14736
  {
@@ -14422,53 +14738,126 @@ const List = ({
14422
14738
  actions: list2.actions,
14423
14739
  toggleNarrow: toggleNarrow2,
14424
14740
  onToggleNarrow,
14425
- stickyHeader: stickyHeader2,
14426
- ref: listHeadingRef
14741
+ stickyHeader: stickyHeader2
14427
14742
  }
14428
14743
  ),
14429
- /* @__PURE__ */ jsx("div", { className: cx$2(listStyles.list, bordered2 ? listStyles.bordered : ""), children: /* @__PURE__ */ jsx(
14744
+ /* @__PURE__ */ jsx(
14430
14745
  ListDragWrapper,
14431
14746
  {
14432
14747
  draggable,
14433
14748
  list: list2,
14434
14749
  onListReorder,
14435
- children: infiniteScroll ? /* @__PURE__ */ jsx(
14436
- InfiniteScroll,
14750
+ children: /* @__PURE__ */ jsx(
14751
+ "div",
14437
14752
  {
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,
14753
+ className: cx$2(
14754
+ listStyles.listContent,
14755
+ hideScrollbar2 ? listStyles.hideScrollbar : ""
14756
+ ),
14757
+ ref: listContainerRef,
14758
+ children: /* @__PURE__ */ jsx(
14759
+ "div",
14446
14760
  {
14447
- index: index2,
14448
- draggable,
14449
- item: item2,
14450
- expanding,
14451
- invokeEditOnRowClick,
14452
- ref: listRowRefs
14453
- },
14454
- index2
14455
- ))
14761
+ className: listStyles.virtualRows,
14762
+ style: { height: `${virtualizer.getTotalSize()}px` },
14763
+ children: virtualizer.getVirtualItems().map((virtualRow2) => {
14764
+ return /* @__PURE__ */ jsx(
14765
+ "div",
14766
+ {
14767
+ "data-index": virtualRow2.index,
14768
+ className: listStyles.virtualRow,
14769
+ style: {
14770
+ transform: `translateY(${virtualRow2.start}px)`,
14771
+ height: `${virtualRow2.size}px`
14772
+ },
14773
+ ref: virtualizer.measureElement,
14774
+ children: /* @__PURE__ */ jsx(
14775
+ ListRow,
14776
+ {
14777
+ index: virtualRow2.index,
14778
+ draggable,
14779
+ item: list2.items[virtualRow2.index],
14780
+ expanding,
14781
+ invokeEditOnRowClick
14782
+ }
14783
+ )
14784
+ },
14785
+ virtualRow2.key
14786
+ );
14787
+ })
14788
+ }
14789
+ )
14456
14790
  }
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
- ))
14791
+ )
14469
14792
  }
14470
- ) })
14471
- ] })
14793
+ )
14794
+ ]
14795
+ }
14796
+ );
14797
+ };
14798
+ const loader = "_loader_477i5_1";
14799
+ const fullViewPortSize = "_fullViewPortSize_477i5_7";
14800
+ const cover = "_cover_477i5_14";
14801
+ const dimmer = "_dimmer_477i5_21";
14802
+ const content$2 = "_content_477i5_44";
14803
+ const text$1 = "_text_477i5_49";
14804
+ const details$1 = "_details_477i5_53";
14805
+ const styles$t = {
14806
+ loader,
14807
+ fullViewPortSize,
14808
+ cover,
14809
+ dimmer,
14810
+ content: content$2,
14811
+ text: text$1,
14812
+ details: details$1
14813
+ };
14814
+ const Loader = ({
14815
+ width: width2,
14816
+ height: height2,
14817
+ text: text2 = "",
14818
+ details: details2 = "",
14819
+ fullViewPortSize: fullViewPortSize2 = false,
14820
+ cover: cover2 = false,
14821
+ children = null,
14822
+ theme = Theme.DARK,
14823
+ testId = null
14824
+ }) => {
14825
+ const color2 = theme === Theme.DARK ? Theme.WHITE : Theme.INHERIT;
14826
+ const background2 = theme === "white" ? "var(--color-background-raised)" : theme === "light" ? "var(--color-background)" : "black";
14827
+ return /* @__PURE__ */ jsx(
14828
+ "div",
14829
+ {
14830
+ className: cx$2(styles$t.loader, cover2 ? styles$t.cover : "", {
14831
+ [styles$t.fullViewPortSize]: fullViewPortSize2
14832
+ }),
14833
+ style: { width: width2, height: height2 },
14834
+ "data-testid": testId,
14835
+ children: /* @__PURE__ */ jsx("div", { className: styles$t.dimmer, style: { background: background2, color: color2 }, children: /* @__PURE__ */ jsxs(
14836
+ "div",
14837
+ {
14838
+ className: styles$t.content,
14839
+ "data-testid": testId && `${testId}-content`,
14840
+ children: [
14841
+ children,
14842
+ text2 && /* @__PURE__ */ jsx(
14843
+ "div",
14844
+ {
14845
+ className: styles$t.text,
14846
+ "data-testid": testId && `${testId}-text`,
14847
+ children: text2
14848
+ }
14849
+ ),
14850
+ details2 && /* @__PURE__ */ jsx(
14851
+ "div",
14852
+ {
14853
+ className: styles$t.details,
14854
+ "data-testid": testId && `${testId}-details`,
14855
+ children: details2
14856
+ }
14857
+ )
14858
+ ]
14859
+ }
14860
+ ) })
14472
14861
  }
14473
14862
  );
14474
14863
  };
@@ -15242,7 +15631,7 @@ const useFontsReady = () => {
15242
15631
  const getWidth = () => window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
15243
15632
  const useWindowWidth = () => {
15244
15633
  const [width2, setWidth] = useState(getWidth());
15245
- const resizeListener = debounce$2(() => setWidth(getWidth()), 150);
15634
+ const resizeListener = debounce$3(() => setWidth(getWidth()), 150);
15246
15635
  useEffect(() => {
15247
15636
  window.addEventListener("resize", resizeListener);
15248
15637
  return () => {
@@ -48004,7 +48393,7 @@ const styles$d = {
48004
48393
  active: active$2,
48005
48394
  icon: icon$1
48006
48395
  };
48007
- const TooltipIcon = memo(
48396
+ const TooltipIcon = memo$1(
48008
48397
  ({ isOpen: isOpen2, label: label2, icon: icon2, invalid }) => {
48009
48398
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
48010
48399
  /* @__PURE__ */ jsx(
@@ -48079,7 +48468,7 @@ const Sections = ({
48079
48468
  )
48080
48469
  ] }, i)) });
48081
48470
  };
48082
- const SideBar = memo(
48471
+ const SideBar = memo$1(
48083
48472
  ({
48084
48473
  options,
48085
48474
  startOpen = false,
@@ -50705,19 +51094,19 @@ const Spacer = ({
50705
51094
  }
50706
51095
  }
50707
51096
  );
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";
51097
+ const inputInTable$2 = "_inputInTable_1p5u4_1";
51098
+ const inputHover$2 = "_inputHover_1p5u4_13";
51099
+ const inputFocus$2 = "_inputFocus_1p5u4_18";
51100
+ const inputError$2 = "_inputError_1p5u4_25";
51101
+ const inputWarning$2 = "_inputWarning_1p5u4_26";
51102
+ const inputDisabled$2 = "_inputDisabled_1p5u4_61";
51103
+ const hideScrollbars$2 = "_hideScrollbars_1p5u4_67";
51104
+ const wrapper = "_wrapper_1p5u4_85";
51105
+ const bordered = "_bordered_1p5u4_93";
51106
+ const scroll = "_scroll_1p5u4_98";
51107
+ const table = "_table_1p5u4_109";
51108
+ const dragOverlay = "_dragOverlay_1p5u4_145";
51109
+ const striped = "_striped_1p5u4_194";
50721
51110
  const styles$b = {
50722
51111
  inputInTable: inputInTable$2,
50723
51112
  inputHover: inputHover$2,
@@ -50823,36 +51212,6 @@ const hasActions = (rows) => rows.reduce(
50823
51212
  const hasRowActions = (rows, headers) => {
50824
51213
  return hasActions(headers) > 0 || hasActions(rows) > 0;
50825
51214
  };
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
51215
  const clickableRow = "_clickableRow_10f34_1";
50857
51216
  const hoverableRow = "_hoverableRow_10f34_4";
50858
51217
  const rowActive = "_rowActive_10f34_4";
@@ -51566,6 +51925,8 @@ const Row = ({
51566
51925
  hasRowActions: hasRowActions2,
51567
51926
  draggableTable = false,
51568
51927
  columnWidths,
51928
+ height: height2,
51929
+ translateY,
51569
51930
  testId
51570
51931
  //TODO: add testId
51571
51932
  }) => {
@@ -51622,7 +51983,9 @@ const Row = ({
51622
51983
  animateLayoutChanges: () => false
51623
51984
  });
51624
51985
  const style = {
51625
- transform: CSS.Translate.toString(transform),
51986
+ height: `${height2}px`,
51987
+ // Combine 1. offset from virtualized list + 2. drag and drop offset
51988
+ transform: `translateY(${(translateY ?? 0) + ((transform == null ? void 0 : transform.y) ?? 0)}px)`,
51626
51989
  transition,
51627
51990
  opacity: isDragging ? 0 : void 0
51628
51991
  };
@@ -51680,6 +52043,8 @@ const Row = ({
51680
52043
  ),
51681
52044
  "data-error": error2 || null,
51682
52045
  "data-warning": warning2 || null,
52046
+ "data-index": rowIndex,
52047
+ "data-even": rowIndex % 2 === 0,
51683
52048
  style,
51684
52049
  children: [
51685
52050
  draggableTable ? getDragItem() : null,
@@ -51771,6 +52136,27 @@ const TableDragWrapper = (props) => {
51771
52136
  }
51772
52137
  );
51773
52138
  };
52139
+ const TableScrollWrapper = ({
52140
+ table: table2,
52141
+ theadRef,
52142
+ children
52143
+ }) => {
52144
+ var _a2, _b;
52145
+ if (!table2.infiniteScroll || table2.draggable) {
52146
+ return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, children: /* @__PURE__ */ jsx("div", { className: styles$b.virtualRows, children: children({}) }) });
52147
+ }
52148
+ const containerRef = useRef(null);
52149
+ const MIN_ITEM_HEIGHT = 31;
52150
+ const virtualizer = useVirtualizer({
52151
+ count: ((_a2 = table2.rows) == null ? void 0 : _a2.length) ?? 0,
52152
+ getScrollElement: () => containerRef.current,
52153
+ estimateSize: () => MIN_ITEM_HEIGHT,
52154
+ overscan: 10
52155
+ });
52156
+ const theadHeight = ((_b = theadRef.current) == null ? void 0 : _b.clientHeight) ?? 0;
52157
+ const totalHeight = virtualizer.getTotalSize() + theadHeight;
52158
+ return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, ref: containerRef, children: /* @__PURE__ */ jsx("div", { className: styles$b.virtualRows, style: { height: totalHeight }, children: children({ virtualizer }) }) });
52159
+ };
51774
52160
  const Table = (props) => {
51775
52161
  var _a2, _b, _c, _d, _e2, _f, _g;
51776
52162
  const { onListReorder = () => {
@@ -51793,6 +52179,7 @@ const Table = (props) => {
51793
52179
  maxHeight,
51794
52180
  fixedWidth: width2
51795
52181
  } = propTable;
52182
+ const theadRef = useRef(null);
51796
52183
  const tbodyRef = useRef(null);
51797
52184
  const headers = get$2(props, "table.headers", []);
51798
52185
  const columnCount = getColumnCount(propRows, headers);
@@ -51854,7 +52241,7 @@ const Table = (props) => {
51854
52241
  testId: testId && `${testId}-title`
51855
52242
  }
51856
52243
  ),
51857
- /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, children: ({ visibleRows }) => /* @__PURE__ */ jsx(
52244
+ /* @__PURE__ */ jsx(
51858
52245
  TableDragWrapper,
51859
52246
  {
51860
52247
  colSpan,
@@ -51865,34 +52252,60 @@ const Table = (props) => {
51865
52252
  rowActions,
51866
52253
  rows,
51867
52254
  tbodyRef,
51868
- children: /* @__PURE__ */ jsxs(
52255
+ children: /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, theadRef, children: ({ virtualizer }) => /* @__PURE__ */ jsxs(
51869
52256
  "table",
51870
52257
  {
51871
52258
  className: cx$2(styles$b.table, striped2 ? styles$b.striped : ""),
51872
52259
  "data-testid": testId,
51873
52260
  children: [
51874
- /* @__PURE__ */ jsx("thead", { children: headers.map((row2, rowIndex) => {
51875
- return /* @__PURE__ */ jsx(
51876
- Row,
51877
- {
51878
- rowIndex,
51879
- isHeader: true,
51880
- row: row2,
51881
- columnCount,
51882
- columnWidths,
51883
- colSpan,
51884
- hasRowActions: rowActions,
51885
- columnAlignment,
51886
- columnHeaderAlignments,
51887
- draggableTable: draggable
51888
- },
51889
- `0_${rowIndex}`
51890
- );
51891
- }) }),
51892
- /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: rows.slice(0, visibleRows).map((row2, rowIndex) => /* @__PURE__ */ jsx(
52261
+ /* @__PURE__ */ jsx(
52262
+ "thead",
52263
+ {
52264
+ ref: theadRef,
52265
+ style: virtualizer ? {
52266
+ position: "relative",
52267
+ transition: "transform 0.2s",
52268
+ transform: `translateY(${!virtualizer.isScrolling ? virtualizer.scrollOffset : 0}px)`
52269
+ } : {},
52270
+ children: headers.map((row2, rowIndex) => {
52271
+ return /* @__PURE__ */ jsx(
52272
+ Row,
52273
+ {
52274
+ rowIndex,
52275
+ isHeader: true,
52276
+ row: row2,
52277
+ columnCount,
52278
+ columnWidths,
52279
+ colSpan,
52280
+ hasRowActions: rowActions,
52281
+ columnAlignment,
52282
+ columnHeaderAlignments,
52283
+ draggableTable: draggable
52284
+ },
52285
+ `0_${rowIndex}`
52286
+ );
52287
+ })
52288
+ }
52289
+ ),
52290
+ /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: virtualizer ? virtualizer.getVirtualItems().map((virtualRow2, rowIndex) => /* @__PURE__ */ jsx(
51893
52291
  Row,
51894
52292
  {
51895
- rowIndex,
52293
+ rowIndex: virtualRow2.index,
52294
+ row: rows[virtualRow2.index],
52295
+ columnCount,
52296
+ columnWidths,
52297
+ colSpan,
52298
+ hasRowActions: rowActions,
52299
+ columnAlignment,
52300
+ draggableTable: draggable,
52301
+ height: virtualRow2.size,
52302
+ translateY: virtualRow2.start - rowIndex * virtualRow2.size
52303
+ },
52304
+ `1_${rowIndex}`
52305
+ )) : rows.map((row2, index2) => /* @__PURE__ */ jsx(
52306
+ Row,
52307
+ {
52308
+ rowIndex: index2,
51896
52309
  row: row2,
51897
52310
  columnCount,
51898
52311
  columnWidths,
@@ -51901,13 +52314,13 @@ const Table = (props) => {
51901
52314
  columnAlignment,
51902
52315
  draggableTable: draggable
51903
52316
  },
51904
- `1_${rowIndex}`
52317
+ `1_${index2}`
51905
52318
  )) })
51906
52319
  ]
51907
52320
  }
51908
- )
52321
+ ) })
51909
52322
  }
51910
- ) }),
52323
+ ),
51911
52324
  footer2 && /* @__PURE__ */ jsx(
51912
52325
  Footer,
51913
52326
  {
@@ -55020,7 +55433,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
55020
55433
  }
55021
55434
  let refCount = 0;
55022
55435
  const INSTANCE_SYM = Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");
55023
- var DndProvider = /* @__PURE__ */ memo(function DndProvider2(_param) {
55436
+ var DndProvider = /* @__PURE__ */ memo$1(function DndProvider2(_param) {
55024
55437
  var { children } = _param, props = _objectWithoutProperties(_param, [
55025
55438
  "children"
55026
55439
  ]);
@@ -57381,7 +57794,7 @@ function useFeatures(props, visualElement2, preloadedFeatures) {
57381
57794
  var name_1 = featureNames[i];
57382
57795
  var _a2 = featureDefinitions[name_1], isEnabled = _a2.isEnabled, Component2 = _a2.Component;
57383
57796
  if (isEnabled(props) && Component2) {
57384
- features.push(React$4.createElement(Component2, __assign$4({ key: name_1 }, props, { visualElement: visualElement2 })));
57797
+ features.push(React$4.createElement(Component2, __assign$3({ key: name_1 }, props, { visualElement: visualElement2 })));
57385
57798
  }
57386
57799
  }
57387
57800
  return features;
@@ -57622,7 +58035,7 @@ function useProjection(projectionId, _a2, visualElement2, ProjectionNodeConstruc
57622
58035
  var VisualElementHandler = (
57623
58036
  /** @class */
57624
58037
  function(_super) {
57625
- __extends$1(VisualElementHandler2, _super);
58038
+ __extends(VisualElementHandler2, _super);
57626
58039
  function VisualElementHandler2() {
57627
58040
  return _super !== null && _super.apply(this, arguments) || this;
57628
58041
  }
@@ -57648,20 +58061,20 @@ function createMotionComponent(_a2) {
57648
58061
  preloadedFeatures && loadFeatures(preloadedFeatures);
57649
58062
  function MotionComponent(props, externalRef) {
57650
58063
  var layoutId = useLayoutId(props);
57651
- props = __assign$4(__assign$4({}, props), { layoutId });
58064
+ props = __assign$3(__assign$3({}, props), { layoutId });
57652
58065
  var config = useContext(MotionConfigContext);
57653
58066
  var features = null;
57654
58067
  var context2 = useCreateMotionContext(props);
57655
58068
  var projectionId = config.isStatic ? void 0 : useProjectionId();
57656
58069
  var visualState = useVisualState(props, config.isStatic);
57657
58070
  if (!config.isStatic && isBrowser) {
57658
- context2.visualElement = useVisualElement(Component2, visualState, __assign$4(__assign$4({}, config), props), createVisualElement);
58071
+ context2.visualElement = useVisualElement(Component2, visualState, __assign$3(__assign$3({}, config), props), createVisualElement);
57659
58072
  useProjection(projectionId, props, context2.visualElement, projectionNodeConstructor || featureDefinitions.projectionNodeConstructor);
57660
58073
  features = useFeatures(props, context2.visualElement, preloadedFeatures);
57661
58074
  }
57662
58075
  return React$4.createElement(
57663
58076
  VisualElementHandler,
57664
- { visualElement: context2.visualElement, props: __assign$4(__assign$4({}, config), props) },
58077
+ { visualElement: context2.visualElement, props: __assign$3(__assign$3({}, config), props) },
57665
58078
  features,
57666
58079
  React$4.createElement(MotionContext.Provider, { value: context2 }, useRender(Component2, props, projectionId, useMotionRef(visualState, context2.visualElement, externalRef), visualState, config.isStatic, context2.visualElement))
57667
58080
  );
@@ -57987,7 +58400,7 @@ const filter = Object.assign(Object.assign({}, complex), { getAnimatableNone: (v
57987
58400
  const functions = v2.match(functionRegex);
57988
58401
  return functions ? functions.map(applyDefaultFilter).join(" ") : v2;
57989
58402
  } });
57990
- var int = __assign$4(__assign$4({}, number), { transform: Math.round });
58403
+ var int = __assign$3(__assign$3({}, number), { transform: Math.round });
57991
58404
  var numberValueTypes = {
57992
58405
  // Border props
57993
58406
  borderWidth: px,
@@ -58117,7 +58530,7 @@ function useInitialMotionValues(_a2, visualState, isStatic) {
58117
58530
  var state = createHtmlRenderState();
58118
58531
  buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);
58119
58532
  var vars = state.vars, style = state.style;
58120
- return __assign$4(__assign$4({}, vars), style);
58533
+ return __assign$3(__assign$3({}, vars), style);
58121
58534
  }, [visualState]);
58122
58535
  }
58123
58536
  function useStyle(props, visualState, isStatic) {
@@ -58275,18 +58688,18 @@ function buildSVGAttrs(state, _a2, options, transformTemplate) {
58275
58688
  }
58276
58689
  }
58277
58690
  var createSvgRenderState = function() {
58278
- return __assign$4(__assign$4({}, createHtmlRenderState()), { attrs: {} });
58691
+ return __assign$3(__assign$3({}, createHtmlRenderState()), { attrs: {} });
58279
58692
  };
58280
58693
  function useSVGProps(props, visualState) {
58281
58694
  var visualProps = useMemo(function() {
58282
58695
  var state = createSvgRenderState();
58283
58696
  buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, props.transformTemplate);
58284
- return __assign$4(__assign$4({}, state.attrs), { style: __assign$4({}, state.style) });
58697
+ return __assign$3(__assign$3({}, state.attrs), { style: __assign$3({}, state.style) });
58285
58698
  }, [visualState]);
58286
58699
  if (props.style) {
58287
58700
  var rawStyles = {};
58288
58701
  copyRawValuesOnly(rawStyles, props.style, props);
58289
- visualProps.style = __assign$4(__assign$4({}, rawStyles), visualProps.style);
58702
+ visualProps.style = __assign$3(__assign$3({}, rawStyles), visualProps.style);
58290
58703
  }
58291
58704
  return visualProps;
58292
58705
  }
@@ -58299,7 +58712,7 @@ function createUseRender(forwardMotionProps) {
58299
58712
  var useVisualProps = isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
58300
58713
  var visualProps = useVisualProps(props, latestValues, isStatic);
58301
58714
  var filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
58302
- var elementProps = __assign$4(__assign$4(__assign$4({}, filteredProps), visualProps), { ref });
58715
+ var elementProps = __assign$3(__assign$3(__assign$3({}, filteredProps), visualProps), { ref });
58303
58716
  if (projectionId) {
58304
58717
  elementProps["data-projection-id"] = projectionId;
58305
58718
  }
@@ -58476,7 +58889,7 @@ var htmlMotionConfig = {
58476
58889
  function createDomMotionConfig(Component2, _a2, preloadedFeatures, createVisualElement, projectionNodeConstructor) {
58477
58890
  var _b = _a2.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b;
58478
58891
  var baseConfig = isSVGComponent(Component2) ? svgMotionConfig : htmlMotionConfig;
58479
- return __assign$4(__assign$4({}, baseConfig), { preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement, projectionNodeConstructor, Component: Component2 });
58892
+ return __assign$3(__assign$3({}, baseConfig), { preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement, projectionNodeConstructor, Component: Component2 });
58480
58893
  }
58481
58894
  var AnimationType;
58482
58895
  (function(AnimationType2) {
@@ -59563,7 +59976,7 @@ function initIntersectionObserver(_a2) {
59563
59976
  var rootObservers = observers.get(lookupRoot);
59564
59977
  var key2 = JSON.stringify(options);
59565
59978
  if (!rootObservers[key2]) {
59566
- rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$4({ root: root2 }, options));
59979
+ rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$3({ root: root2 }, options));
59567
59980
  }
59568
59981
  return rootObservers[key2];
59569
59982
  }
@@ -59781,9 +60194,9 @@ var getDefaultTransition = function(valueKey, to2) {
59781
60194
  } else {
59782
60195
  transitionFactory = defaultTransitions[valueKey] || defaultTransitions.default;
59783
60196
  }
59784
- return __assign$4({ to: to2 }, transitionFactory(to2));
60197
+ return __assign$3({ to: to2 }, transitionFactory(to2));
59785
60198
  };
59786
- var defaultValueTypes = __assign$4(__assign$4({}, numberValueTypes), {
60199
+ var defaultValueTypes = __assign$3(__assign$3({}, numberValueTypes), {
59787
60200
  // Color props
59788
60201
  color,
59789
60202
  backgroundColor: color,
@@ -59825,7 +60238,7 @@ function isTransitionDefined(_a2) {
59825
60238
  var legacyRepeatWarning = false;
59826
60239
  function convertTransitionToAnimationOptions(_a2) {
59827
60240
  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);
60241
+ var options = __assign$3({}, transition);
59829
60242
  if (times)
59830
60243
  options["offset"] = times;
59831
60244
  if (transition.duration)
@@ -59872,9 +60285,9 @@ function getPopmotionAnimationOptions(transition, options, key2) {
59872
60285
  }
59873
60286
  hydrateKeyframes(options);
59874
60287
  if (!isTransitionDefined(transition)) {
59875
- transition = __assign$4(__assign$4({}, transition), getDefaultTransition(key2, options.to));
60288
+ transition = __assign$3(__assign$3({}, transition), getDefaultTransition(key2, options.to));
59876
60289
  }
59877
- return __assign$4(__assign$4({}, options), convertTransitionToAnimationOptions(transition));
60290
+ return __assign$3(__assign$3({}, options), convertTransitionToAnimationOptions(transition));
59878
60291
  }
59879
60292
  function getAnimation(key2, value, target, transition, onComplete) {
59880
60293
  var _a2;
@@ -59900,7 +60313,7 @@ function getAnimation(key2, value, target, transition, onComplete) {
59900
60313
  return value.set(v2);
59901
60314
  }
59902
60315
  };
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) {
60316
+ 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
60317
  var _a3;
59905
60318
  options.onUpdate(v2);
59906
60319
  (_a3 = valueTransition.onUpdate) === null || _a3 === void 0 ? void 0 : _a3.call(valueTransition, v2);
@@ -60153,7 +60566,7 @@ function setTarget(visualElement2, definition) {
60153
60566
  var _a2 = resolved ? visualElement2.makeTargetAnimatable(resolved, false) : {}, _b = _a2.transitionEnd, transitionEnd = _b === void 0 ? {} : _b;
60154
60567
  _a2.transition;
60155
60568
  var target = __rest$1(_a2, ["transitionEnd", "transition"]);
60156
- target = __assign$4(__assign$4({}, target), transitionEnd);
60569
+ target = __assign$3(__assign$3({}, target), transitionEnd);
60157
60570
  for (var key2 in target) {
60158
60571
  var value = resolveFinalValueInKeyframes(target[key2]);
60159
60572
  setMotionValue(visualElement2, key2, value);
@@ -60271,9 +60684,9 @@ function animateTarget(visualElement2, definition, _a2) {
60271
60684
  if (!value || valueTarget === void 0 || animationTypeState && shouldBlockAnimation(animationTypeState, key2)) {
60272
60685
  continue;
60273
60686
  }
60274
- var valueTransition = __assign$4({ delay }, transition);
60687
+ var valueTransition = __assign$3({ delay }, transition);
60275
60688
  if (visualElement2.shouldReduceMotion && isTransformProp(key2)) {
60276
- valueTransition = __assign$4(__assign$4({}, valueTransition), { type: false, delay: 0 });
60689
+ valueTransition = __assign$3(__assign$3({}, valueTransition), { type: false, delay: 0 });
60277
60690
  }
60278
60691
  var animation = startAnimation(key2, value, valueTarget, valueTransition);
60279
60692
  animations2.push(animation);
@@ -60306,7 +60719,7 @@ function animateChildren(visualElement2, variant, delayChildren, staggerChildren
60306
60719
  return maxStaggerDuration - i * staggerChildren;
60307
60720
  };
60308
60721
  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() {
60722
+ animations2.push(animateVariant(child, variant, __assign$3(__assign$3({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function() {
60310
60723
  return child.notifyAnimationComplete(variant);
60311
60724
  }));
60312
60725
  });
@@ -60350,7 +60763,7 @@ function createAnimationState(visualElement2) {
60350
60763
  if (resolved) {
60351
60764
  resolved.transition;
60352
60765
  var transitionEnd = resolved.transitionEnd, target = __rest$1(resolved, ["transition", "transitionEnd"]);
60353
- acc = __assign$4(__assign$4(__assign$4({}, acc), target), transitionEnd);
60766
+ acc = __assign$3(__assign$3(__assign$3({}, acc), target), transitionEnd);
60354
60767
  }
60355
60768
  return acc;
60356
60769
  };
@@ -60380,7 +60793,7 @@ function createAnimationState(visualElement2) {
60380
60793
  if (isInherited && isInitialRender && visualElement2.manuallyAnimateOnMount) {
60381
60794
  isInherited = false;
60382
60795
  }
60383
- typeState.protectedKeys = __assign$4({}, encounteredKeys);
60796
+ typeState.protectedKeys = __assign$3({}, encounteredKeys);
60384
60797
  if (
60385
60798
  // If it isn't active and hasn't *just* been set as inactive
60386
60799
  !typeState.isActive && activeDelta === null || // If we didn't and don't have any defined prop for this animation type
@@ -60398,7 +60811,7 @@ function createAnimationState(visualElement2) {
60398
60811
  if (activeDelta === false)
60399
60812
  resolvedValues = {};
60400
60813
  var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b;
60401
- var allKeys = __assign$4(__assign$4({}, prevResolvedValues), resolvedValues);
60814
+ var allKeys = __assign$3(__assign$3({}, prevResolvedValues), resolvedValues);
60402
60815
  var markToAnimate = function(key3) {
60403
60816
  shouldAnimateType = true;
60404
60817
  removedKeys.delete(key3);
@@ -60430,7 +60843,7 @@ function createAnimationState(visualElement2) {
60430
60843
  typeState.prevProp = prop;
60431
60844
  typeState.prevResolvedValues = resolvedValues;
60432
60845
  if (typeState.isActive) {
60433
- encounteredKeys = __assign$4(__assign$4({}, encounteredKeys), resolvedValues);
60846
+ encounteredKeys = __assign$3(__assign$3({}, encounteredKeys), resolvedValues);
60434
60847
  }
60435
60848
  if (isInitialRender && visualElement2.blockInitialAnimation) {
60436
60849
  shouldAnimateType = false;
@@ -60439,7 +60852,7 @@ function createAnimationState(visualElement2) {
60439
60852
  animations2.push.apply(animations2, __spreadArray$2([], __read(definitionList.map(function(animation) {
60440
60853
  return {
60441
60854
  animation,
60442
- options: __assign$4({ type }, options)
60855
+ options: __assign$3({ type }, options)
60443
60856
  };
60444
60857
  })), false));
60445
60858
  }
@@ -60447,7 +60860,7 @@ function createAnimationState(visualElement2) {
60447
60860
  for (var i = 0; i < numAnimationTypes; i++) {
60448
60861
  _loop_1(i);
60449
60862
  }
60450
- allAnimatedKeys = __assign$4({}, encounteredKeys);
60863
+ allAnimatedKeys = __assign$3({}, encounteredKeys);
60451
60864
  if (removedKeys.size) {
60452
60865
  var fallbackAnimation_1 = {};
60453
60866
  removedKeys.forEach(function(key2) {
@@ -60555,7 +60968,7 @@ var PanSession = (
60555
60968
  return;
60556
60969
  var point2 = info3.point;
60557
60970
  var timestamp2 = getFrameData().timestamp;
60558
- _this.history.push(__assign$4(__assign$4({}, point2), { timestamp: timestamp2 }));
60971
+ _this.history.push(__assign$3(__assign$3({}, point2), { timestamp: timestamp2 }));
60559
60972
  var _a3 = _this.handlers, onStart = _a3.onStart, onMove = _a3.onMove;
60560
60973
  if (!isPanStarted) {
60561
60974
  onStart && onStart(_this.lastMoveEvent, info3);
@@ -60589,7 +61002,7 @@ var PanSession = (
60589
61002
  var initialInfo = transformPoint(info2, this.transformPagePoint);
60590
61003
  var point = initialInfo.point;
60591
61004
  var timestamp = getFrameData().timestamp;
60592
- this.history = [__assign$4(__assign$4({}, point), { timestamp })];
61005
+ this.history = [__assign$3(__assign$3({}, point), { timestamp })];
60593
61006
  var onSessionStart = handlers2.onSessionStart;
60594
61007
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
60595
61008
  this.removeListeners = pipe(addPointerEvent(window, "pointermove", this.handlePointerMove), addPointerEvent(window, "pointerup", this.handlePointerUp), addPointerEvent(window, "pointercancel", this.handlePointerUp));
@@ -61110,7 +61523,7 @@ var VisualElementDragControls = (
61110
61523
  transition = { min: 0, max: 0 };
61111
61524
  var bounceStiffness = dragElastic ? 200 : 1e6;
61112
61525
  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);
61526
+ var inertia2 = __assign$3(__assign$3({ type: "inertia", velocity: dragMomentum ? velocity[axis] : 0, bounceStiffness, bounceDamping, timeConstant: 750, restDelta: 1, restSpeed: 10 }, dragTransition), transition);
61114
61527
  return _this.startAxisValueAnimation(axis, inertia2);
61115
61528
  });
61116
61529
  return Promise.all(momentumAnimations).then(onDragTransitionEnd);
@@ -61221,7 +61634,7 @@ var VisualElementDragControls = (
61221
61634
  VisualElementDragControls2.prototype.getProps = function() {
61222
61635
  var props = this.visualElement.getProps();
61223
61636
  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 });
61637
+ return __assign$3(__assign$3({}, props), { drag: drag2, dragDirectionLock, dragPropagation, dragConstraints, dragElastic, dragMomentum });
61225
61638
  };
61226
61639
  return VisualElementDragControls2;
61227
61640
  }()
@@ -61378,7 +61791,7 @@ var visualElement = function(_a2) {
61378
61791
  var values2 = /* @__PURE__ */ new Map();
61379
61792
  var valueSubscriptions = /* @__PURE__ */ new Map();
61380
61793
  var prevMotionValues = {};
61381
- var baseTarget = __assign$4({}, latestValues);
61794
+ var baseTarget = __assign$3({}, latestValues);
61382
61795
  var removeFromVariantTree;
61383
61796
  function render2() {
61384
61797
  if (!instance || !isMounted)
@@ -61412,7 +61825,7 @@ var visualElement = function(_a2) {
61412
61825
  }
61413
61826
  var isControllingVariants = checkIfControllingVariants(props);
61414
61827
  var isVariantNode = checkIfVariantNode(props);
61415
- var element = __assign$4(__assign$4({
61828
+ var element = __assign$3(__assign$3({
61416
61829
  treeType,
61417
61830
  /**
61418
61831
  * This is a mirror of the internal instance prop, which keeps
@@ -61777,7 +62190,7 @@ function resolveCSSVariables(visualElement2, _a2, transitionEnd) {
61777
62190
  if (!(element instanceof Element))
61778
62191
  return { target, transitionEnd };
61779
62192
  if (transitionEnd) {
61780
- transitionEnd = __assign$4({}, transitionEnd);
62193
+ transitionEnd = __assign$3({}, transitionEnd);
61781
62194
  }
61782
62195
  visualElement2.forEachValue(function(value) {
61783
62196
  var current2 = value.get();
@@ -61932,8 +62345,8 @@ var checkAndConvertChangedValueTypes = function(visualElement2, target, origin,
61932
62345
  if (transitionEnd === void 0) {
61933
62346
  transitionEnd = {};
61934
62347
  }
61935
- target = __assign$4({}, target);
61936
- transitionEnd = __assign$4({}, transitionEnd);
62348
+ target = __assign$3({}, target);
62349
+ transitionEnd = __assign$3({}, transitionEnd);
61937
62350
  var targetPositionalKeys = Object.keys(target).filter(isPositionalKey);
61938
62351
  var removedTransformValues = [];
61939
62352
  var hasAttemptedToRemoveTransformValues = false;
@@ -62086,7 +62499,7 @@ var htmlConfig = {
62086
62499
  transitionEnd = parsed.transitionEnd;
62087
62500
  target = parsed.target;
62088
62501
  }
62089
- return __assign$4({ transition, transitionEnd }, target);
62502
+ return __assign$3({ transition, transitionEnd }, target);
62090
62503
  },
62091
62504
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps$1,
62092
62505
  build: function(element, renderState, latestValues, options, props) {
@@ -62098,7 +62511,7 @@ var htmlConfig = {
62098
62511
  render: renderHTML
62099
62512
  };
62100
62513
  var htmlVisualElement = visualElement(htmlConfig);
62101
- var svgVisualElement = visualElement(__assign$4(__assign$4({}, htmlConfig), { getBaseTarget: function(props, key2) {
62514
+ var svgVisualElement = visualElement(__assign$3(__assign$3({}, htmlConfig), { getBaseTarget: function(props, key2) {
62102
62515
  return props[key2];
62103
62516
  }, readValueFromInstance: function(domElement, key2) {
62104
62517
  var _a2;
@@ -62176,7 +62589,7 @@ var correctBoxShadow = {
62176
62589
  var MeasureLayoutWithContext = (
62177
62590
  /** @class */
62178
62591
  function(_super) {
62179
- __extends$1(MeasureLayoutWithContext2, _super);
62592
+ __extends(MeasureLayoutWithContext2, _super);
62180
62593
  function MeasureLayoutWithContext2() {
62181
62594
  return _super !== null && _super.apply(this, arguments) || this;
62182
62595
  }
@@ -62195,7 +62608,7 @@ var MeasureLayoutWithContext = (
62195
62608
  projection.addEventListener("animationComplete", function() {
62196
62609
  _this.safeToRemove();
62197
62610
  });
62198
- projection.setOptions(__assign$4(__assign$4({}, projection.options), { onExitComplete: function() {
62611
+ projection.setOptions(__assign$3(__assign$3({}, projection.options), { onExitComplete: function() {
62199
62612
  return _this.safeToRemove();
62200
62613
  } }));
62201
62614
  }
@@ -62260,10 +62673,10 @@ var MeasureLayoutWithContext = (
62260
62673
  function MeasureLayout(props) {
62261
62674
  var _a2 = __read(usePresence(), 2), isPresent = _a2[0], safeToRemove = _a2[1];
62262
62675
  var layoutGroup = useContext(LayoutGroupContext);
62263
- return React__default.createElement(MeasureLayoutWithContext, __assign$4({}, props, { layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove }));
62676
+ return React__default.createElement(MeasureLayoutWithContext, __assign$3({}, props, { layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove }));
62264
62677
  }
62265
62678
  var defaultScaleCorrectors = {
62266
- borderRadius: __assign$4(__assign$4({}, correctBorderRadius), { applyTo: [
62679
+ borderRadius: __assign$3(__assign$3({}, correctBorderRadius), { applyTo: [
62267
62680
  "borderTopLeftRadius",
62268
62681
  "borderTopRightRadius",
62269
62682
  "borderBottomLeftRadius",
@@ -62686,7 +63099,7 @@ function createProjectionNode(_a2) {
62686
63099
  _this.resumingFrom.resumingFrom = void 0;
62687
63100
  }
62688
63101
  _this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
62689
- var animationOptions = __assign$4(__assign$4({}, getValueTransition(layoutTransition, "layout")), { onPlay: onLayoutAnimationStart, onComplete: onLayoutAnimationComplete });
63102
+ var animationOptions = __assign$3(__assign$3({}, getValueTransition(layoutTransition, "layout")), { onPlay: onLayoutAnimationStart, onComplete: onLayoutAnimationComplete });
62690
63103
  if (visualElement2.shouldReduceMotion) {
62691
63104
  animationOptions.delay = 0;
62692
63105
  animationOptions.type = false;
@@ -62940,7 +63353,7 @@ function createProjectionNode(_a2) {
62940
63353
  };
62941
63354
  ProjectionNode.prototype.setOptions = function(options) {
62942
63355
  var _a3;
62943
- this.options = __assign$4(__assign$4(__assign$4({}, this.options), options), { crossfade: (_a3 = options.crossfade) !== null && _a3 !== void 0 ? _a3 : true });
63356
+ this.options = __assign$3(__assign$3(__assign$3({}, this.options), options), { crossfade: (_a3 = options.crossfade) !== null && _a3 !== void 0 ? _a3 : true });
62944
63357
  };
62945
63358
  ProjectionNode.prototype.clearMeasurements = function() {
62946
63359
  this.scroll = void 0;
@@ -63058,7 +63471,7 @@ function createProjectionNode(_a2) {
63058
63471
  }
63059
63472
  var snapshot = this.snapshot;
63060
63473
  var snapshotLatestValues = (snapshot === null || snapshot === void 0 ? void 0 : snapshot.latestValues) || {};
63061
- var mixedValues = __assign$4({}, this.latestValues);
63474
+ var mixedValues = __assign$3({}, this.latestValues);
63062
63475
  var targetDelta = createDelta();
63063
63476
  this.relativeTarget = this.relativeTargetOrigin = void 0;
63064
63477
  this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;
@@ -63101,7 +63514,7 @@ function createProjectionNode(_a2) {
63101
63514
  }
63102
63515
  this.pendingAnimation = sync.update(function() {
63103
63516
  globalProjectionState.hasAnimatedSinceResize = true;
63104
- _this.currentAnimation = animate(0, animationTarget, __assign$4(__assign$4({}, options), { onUpdate: function(latest) {
63517
+ _this.currentAnimation = animate(0, animationTarget, __assign$3(__assign$3({}, options), { onUpdate: function(latest) {
63105
63518
  var _a4;
63106
63519
  _this.mixTargetDelta(latest);
63107
63520
  (_a4 = options.onUpdate) === null || _a4 === void 0 ? void 0 : _a4.call(options, latest);
@@ -63469,7 +63882,7 @@ var HTMLProjectionNode = createProjectionNode({
63469
63882
  return Boolean(window.getComputedStyle(instance).position === "fixed");
63470
63883
  }
63471
63884
  });
63472
- var featureBundle = __assign$4(__assign$4(__assign$4(__assign$4({}, animations), gestureAnimations), drag), layoutFeatures);
63885
+ var featureBundle = __assign$3(__assign$3(__assign$3(__assign$3({}, animations), gestureAnimations), drag), layoutFeatures);
63473
63886
  var motion = /* @__PURE__ */ createMotionProxy(function(Component2, config) {
63474
63887
  return createDomMotionConfig(Component2, config, featureBundle, createDomVisualElement, HTMLProjectionNode);
63475
63888
  });