@oliasoft-open-source/react-ui-library 4.18.0-beta-10 → 4.18.0-beta-12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -11,11 +11,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
11
11
  var _docChanged, _ignoreNextExit, _suggesters, _next, _prev, _handlerMatches, _ignored, _removed, _lastChangeFromAppend, _a;
12
12
  import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
13
13
  import * as React$4 from "react";
14
- import React__default, { useContext, isValidElement, useState, useRef, useEffect, useCallback, createElement, forwardRef, useMemo, useLayoutEffect as useLayoutEffect$1, createContext, useReducer, useDebugValue, Fragment as Fragment$2, Component as Component$1, memo, cloneElement as cloneElement$1, PureComponent, useImperativeHandle } from "react";
14
+ import React__default, { useContext, isValidElement, useState, useRef, useEffect, useCallback, createElement, forwardRef, useMemo, useLayoutEffect as useLayoutEffect$1, createContext, useReducer, useDebugValue, Fragment as Fragment$2, memo as memo$1, cloneElement as cloneElement$1, PureComponent, useImperativeHandle } from "react";
15
15
  import * as PropTypes from "prop-types";
16
16
  import PropTypes__default from "prop-types";
17
- import ReactDOM, { createPortal, unstable_batchedUpdates, render } from "react-dom";
18
- import { noop as noop$2, set, get as get$2, isString as isString$3, isNumber as isNumber$1, isBoolean as isBoolean$1, isFunction as isFunction$3, isEmpty, isArray as isArray$1, toNumber, debounce as debounce$2, isObject as isObject$5, isEqual as isEqual$3 } from "lodash";
17
+ import ReactDOM, { createPortal, flushSync as flushSync$1, unstable_batchedUpdates, render } from "react-dom";
18
+ import { noop as noop$2, set, get as get$2, isString as isString$3, isNumber as isNumber$1, isBoolean as isBoolean$1, isFunction as isFunction$3, isEmpty, isArray as isArray$1, toNumber, debounce as debounce$3, isObject as isObject$5, isEqual as isEqual$3 } from "lodash";
19
19
  import { toString as toString$1, isScientificStringNum, roundToPrecision, toNum, validateNumber, cleanNumStr, stripLeadingZeros, roundToFixed, roundByMagnitude, unitFromQuantity, getUnit, KNOWN_UNITS, ALT_UNITS, isValueWithUnit, getValue, withUnit, convertSamePrecision, convertAndGetValue, split as split$1, label as label$b, isValidNum, getAltUnitsListByQuantity, altUnitsList, withPrettyUnitLabel, getUnitsForQuantity, roundByMagnitudeToFixed } from "@oliasoft-open-source/units";
20
20
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
21
21
  function getDefaultExportFromCjs(x2) {
@@ -222,32 +222,32 @@ function _setPrototypeOf$3(t, e2) {
222
222
  function _inheritsLoose$3(t, o) {
223
223
  t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf$3(t, o);
224
224
  }
225
- var extendStatics$1 = function(d2, b2) {
226
- extendStatics$1 = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
225
+ var extendStatics = function(d2, b2) {
226
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
227
227
  d3.__proto__ = b3;
228
228
  } || function(d3, b3) {
229
229
  for (var p in b3) if (Object.prototype.hasOwnProperty.call(b3, p)) d3[p] = b3[p];
230
230
  };
231
- return extendStatics$1(d2, b2);
231
+ return extendStatics(d2, b2);
232
232
  };
233
- function __extends$1(d2, b2) {
233
+ function __extends(d2, b2) {
234
234
  if (typeof b2 !== "function" && b2 !== null)
235
235
  throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
236
- extendStatics$1(d2, b2);
236
+ extendStatics(d2, b2);
237
237
  function __() {
238
238
  this.constructor = d2;
239
239
  }
240
240
  d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __());
241
241
  }
242
- var __assign$4 = function() {
243
- __assign$4 = Object.assign || function __assign2(t) {
242
+ var __assign$3 = function() {
243
+ __assign$3 = Object.assign || function __assign2(t) {
244
244
  for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
245
245
  s = arguments[i];
246
246
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
247
247
  }
248
248
  return t;
249
249
  };
250
- return __assign$4.apply(this, arguments);
250
+ return __assign$3.apply(this, arguments);
251
251
  };
252
252
  function __rest$1(s, e2) {
253
253
  var t = {};
@@ -883,15 +883,15 @@ var DefaultContext = {
883
883
  attr: void 0
884
884
  };
885
885
  var IconContext = React__default.createContext && React__default.createContext(DefaultContext);
886
- var __assign$3 = function() {
887
- __assign$3 = Object.assign || function(t) {
886
+ var __assign$2 = function() {
887
+ __assign$2 = Object.assign || function(t) {
888
888
  for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
889
889
  s = arguments[i];
890
890
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
891
891
  }
892
892
  return t;
893
893
  };
894
- return __assign$3.apply(this, arguments);
894
+ return __assign$2.apply(this, arguments);
895
895
  };
896
896
  var __rest = function(s, e2) {
897
897
  var t = {};
@@ -903,15 +903,15 @@ var __rest = function(s, e2) {
903
903
  };
904
904
  function Tree2Element(tree2) {
905
905
  return tree2 && tree2.map(function(node2, i) {
906
- return React__default.createElement(node2.tag, __assign$3({
906
+ return React__default.createElement(node2.tag, __assign$2({
907
907
  key: i
908
908
  }, node2.attr), Tree2Element(node2.child));
909
909
  });
910
910
  }
911
911
  function GenIcon(data) {
912
912
  return function(props) {
913
- return React__default.createElement(IconBase, __assign$3({
914
- attr: __assign$3({}, data.attr)
913
+ return React__default.createElement(IconBase, __assign$2({
914
+ attr: __assign$2({}, data.attr)
915
915
  }, props), Tree2Element(data.child));
916
916
  };
917
917
  }
@@ -922,13 +922,13 @@ function IconBase(props) {
922
922
  var className;
923
923
  if (conf.className) className = conf.className;
924
924
  if (props.className) className = (className ? className + " " : "") + props.className;
925
- return React__default.createElement("svg", __assign$3({
925
+ return React__default.createElement("svg", __assign$2({
926
926
  stroke: "currentColor",
927
927
  fill: "currentColor",
928
928
  strokeWidth: "0"
929
929
  }, conf.attr, attr, svgProps, {
930
930
  className,
931
- style: __assign$3(__assign$3({
931
+ style: __assign$2(__assign$2({
932
932
  color: props.color || conf.color
933
933
  }, conf.style), props.style),
934
934
  height: computedSize,
@@ -1808,7 +1808,7 @@ var requestAnimationFrame$1 = function() {
1808
1808
  };
1809
1809
  }();
1810
1810
  var trailingTimeout = 2;
1811
- function throttle$2(callback, delay) {
1811
+ function throttle$1(callback, delay) {
1812
1812
  var leadingCall = false, trailingCall = false, lastCallTime = 0;
1813
1813
  function resolvePending() {
1814
1814
  if (leadingCall) {
@@ -1850,7 +1850,7 @@ var ResizeObserverController$1 = (
1850
1850
  this.mutationsObserver_ = null;
1851
1851
  this.observers_ = [];
1852
1852
  this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);
1853
- this.refresh = throttle$2(this.refresh.bind(this), REFRESH_DELAY);
1853
+ this.refresh = throttle$1(this.refresh.bind(this), REFRESH_DELAY);
1854
1854
  }
1855
1855
  ResizeObserverController2.prototype.addObserver = function(observer) {
1856
1856
  if (!~this.observers_.indexOf(observer)) {
@@ -2354,7 +2354,7 @@ function useEventSubscriptions() {
2354
2354
  };
2355
2355
  }, []);
2356
2356
  }
2357
- var useIsomorphicLayoutEffect$5 = typeof window !== "undefined" ? useLayoutEffect$1 : useEffect;
2357
+ var useIsomorphicLayoutEffect$6 = typeof window !== "undefined" ? useLayoutEffect$1 : useEffect;
2358
2358
  function useLastState(currentState, enabled) {
2359
2359
  var lastState = useRef(currentState);
2360
2360
  if (!enabled) {
@@ -2602,7 +2602,7 @@ function useTrackElements(_ref) {
2602
2602
  resetWhenReferenceChangedWhileTracking(previousTrigger, trigger2);
2603
2603
  }, [get3, set2, resetWhenReferenceChangedWhileTracking, getScrollContainers]));
2604
2604
  var triggerOptionParent = triggerOption == null ? void 0 : triggerOption.getParent == null ? void 0 : triggerOption.getParent();
2605
- useIsomorphicLayoutEffect$5(function() {
2605
+ useIsomorphicLayoutEffect$6(function() {
2606
2606
  if (!triggerOptionParent) {
2607
2607
  return;
2608
2608
  }
@@ -2612,7 +2612,7 @@ function useTrackElements(_ref) {
2612
2612
  });
2613
2613
  });
2614
2614
  }, [triggerOptionParent, set2, getScrollContainers]);
2615
- useIsomorphicLayoutEffect$5(function() {
2615
+ useIsomorphicLayoutEffect$6(function() {
2616
2616
  if (enabled) {
2617
2617
  if (!hasEventSubscriptions()) {
2618
2618
  addEventListeners();
@@ -2624,7 +2624,7 @@ function useTrackElements(_ref) {
2624
2624
  }
2625
2625
  };
2626
2626
  }, [enabled, hasEventSubscriptions, addEventListeners, removeAllEventSubscriptions]);
2627
- useIsomorphicLayoutEffect$5(function() {
2627
+ useIsomorphicLayoutEffect$6(function() {
2628
2628
  if (enabled) {
2629
2629
  handleChange();
2630
2630
  }
@@ -5308,15 +5308,15 @@ const Card = ({
5308
5308
  }
5309
5309
  );
5310
5310
  };
5311
- var __assign$2 = function() {
5312
- __assign$2 = Object.assign || function __assign2(t) {
5311
+ var __assign$1 = function() {
5312
+ __assign$1 = Object.assign || function __assign2(t) {
5313
5313
  for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
5314
5314
  s = arguments[i];
5315
5315
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
5316
5316
  }
5317
5317
  return t;
5318
5318
  };
5319
- return __assign$2.apply(this, arguments);
5319
+ return __assign$1.apply(this, arguments);
5320
5320
  };
5321
5321
  function __spreadArray$1(to2, from3, pack) {
5322
5322
  if (pack || arguments.length === 2) for (var i = 0, l = from3.length, ar2; i < l; i++) {
@@ -6149,7 +6149,7 @@ var Ie = function(e2) {
6149
6149
  function e2(e3, n2, o) {
6150
6150
  void 0 === e3 && (e3 = C), void 0 === n2 && (n2 = {});
6151
6151
  var r2 = this;
6152
- this.options = __assign$2(__assign$2({}, Te), e3), this.gs = n2, this.names = new Map(o), this.server = !!e3.isServer, !this.server && S && Re && (Re = false, _e(this)), ue(this, function() {
6152
+ this.options = __assign$1(__assign$1({}, Te), e3), this.gs = n2, this.names = new Map(o), this.server = !!e3.isServer, !this.server && S && Re && (Re = false, _e(this)), ue(this, function() {
6153
6153
  return function(e4) {
6154
6154
  for (var t = e4.getTag(), n3 = t.length, o2 = "", r3 = function(n4) {
6155
6155
  var r4 = function(e5) {
@@ -6172,7 +6172,7 @@ var Ie = function(e2) {
6172
6172
  }, e2.prototype.rehydrate = function() {
6173
6173
  !this.server && S && _e(this);
6174
6174
  }, e2.prototype.reconstructWithOptions = function(n2, o) {
6175
- return void 0 === o && (o = true), new e2(__assign$2(__assign$2({}, this.options), n2), this.gs, o && this.names || void 0);
6175
+ return void 0 === o && (o = true), new e2(__assign$1(__assign$1({}, this.options), n2), this.gs, o && this.names || void 0);
6176
6176
  }, e2.prototype.allocateGSInstance = function(e3) {
6177
6177
  return this.gs[e3] = (this.gs[e3] || 0) + 1;
6178
6178
  }, e2.prototype.getTag = function() {
@@ -6345,9 +6345,9 @@ function it$1(e2, r2, s) {
6345
6345
  var i2 = e4.attrs, a3 = e4.componentStyle, c3 = e4.defaultProps, p2 = e4.foldedComponentIds, d3 = e4.styledComponentId, h2 = e4.target, f3 = React__default.useContext(et$1), m3 = Ge(), y3 = e4.shouldForwardProp || m3.shouldForwardProp;
6346
6346
  "production" !== process.env.NODE_ENV && useDebugValue(d3);
6347
6347
  var v2 = I(r4, f3, c3) || C, g3 = function(e5, n2, o) {
6348
- for (var r5, s3 = __assign$2(__assign$2({}, n2), { className: void 0, theme: o }), i3 = 0; i3 < e5.length; i3 += 1) {
6348
+ for (var r5, s3 = __assign$1(__assign$1({}, n2), { className: void 0, theme: o }), i3 = 0; i3 < e5.length; i3 += 1) {
6349
6349
  var a4 = re(r5 = e5[i3]) ? r5(s3) : r5;
6350
- for (var c4 in a4) s3[c4] = "className" === c4 ? ie$2(s3[c4], a4[c4]) : "style" === c4 ? __assign$2(__assign$2({}, s3[c4]), a4[c4]) : a4[c4];
6350
+ for (var c4 in a4) s3[c4] = "className" === c4 ? ie$2(s3[c4], a4[c4]) : "style" === c4 ? __assign$1(__assign$1({}, s3[c4]), a4[c4]) : a4[c4];
6351
6351
  }
6352
6352
  return n2.className && (s3.className = ie$2(s3.className, n2.className)), s3;
6353
6353
  }(i2, r4, v2), S3 = g3.as || h2, w3 = {};
@@ -6403,9 +6403,9 @@ function ut(n2, o, r2) {
6403
6403
  return n2(o, r2, lt$1.apply(void 0, __spreadArray$1([t], s2, false)));
6404
6404
  };
6405
6405
  return s.attrs = function(e2) {
6406
- return ut(n2, o, __assign$2(__assign$2({}, r2), { attrs: Array.prototype.concat(r2.attrs, e2).filter(Boolean) }));
6406
+ return ut(n2, o, __assign$1(__assign$1({}, r2), { attrs: Array.prototype.concat(r2.attrs, e2).filter(Boolean) }));
6407
6407
  }, s.withConfig = function(e2) {
6408
- return ut(n2, o, __assign$2(__assign$2({}, r2), e2));
6408
+ return ut(n2, o, __assign$1(__assign$1({}, r2), e2));
6409
6409
  }, s;
6410
6410
  }
6411
6411
  var pt$1 = function(e2) {
@@ -9501,383 +9501,803 @@ const InputGroupAddon = ({
9501
9501
  })();
9502
9502
  return /* @__PURE__ */ jsx("span", { className: cx$2(styles$u.addon, order2, small2 ? styles$u.small : ""), children });
9503
9503
  };
9504
- /*! *****************************************************************************
9505
- Copyright (c) Microsoft Corporation. All rights reserved.
9506
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
9507
- this file except in compliance with the License. You may obtain a copy of the
9508
- License at http://www.apache.org/licenses/LICENSE-2.0
9509
-
9510
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
9511
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9512
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
9513
- MERCHANTABLITY OR NON-INFRINGEMENT.
9514
-
9515
- See the Apache Version 2.0 License for specific language governing permissions
9516
- and limitations under the License.
9517
- ***************************************************************************** */
9518
- var extendStatics = function(d2, b2) {
9519
- extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
9520
- d3.__proto__ = b3;
9521
- } || function(d3, b3) {
9522
- for (var p in b3) if (b3.hasOwnProperty(p)) d3[p] = b3[p];
9504
+ function memo(getDeps, fn, opts) {
9505
+ let deps = opts.initialDeps ?? [];
9506
+ let result;
9507
+ return () => {
9508
+ var _a2, _b, _c, _d;
9509
+ let depTime;
9510
+ if (opts.key && ((_a2 = opts.debug) == null ? void 0 : _a2.call(opts))) depTime = Date.now();
9511
+ const newDeps = getDeps();
9512
+ const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index2) => deps[index2] !== dep);
9513
+ if (!depsChanged) {
9514
+ return result;
9515
+ }
9516
+ deps = newDeps;
9517
+ let resultTime;
9518
+ if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();
9519
+ result = fn(...newDeps);
9520
+ if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {
9521
+ const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
9522
+ const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
9523
+ const resultFpsPercentage = resultEndTime / 16;
9524
+ const pad = (str, num) => {
9525
+ str = String(str);
9526
+ while (str.length < num) {
9527
+ str = " " + str;
9528
+ }
9529
+ return str;
9530
+ };
9531
+ console.info(
9532
+ `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,
9533
+ `
9534
+ font-size: .6rem;
9535
+ font-weight: bold;
9536
+ color: hsl(${Math.max(
9537
+ 0,
9538
+ Math.min(120 - 120 * resultFpsPercentage, 120)
9539
+ )}deg 100% 31%);`,
9540
+ opts == null ? void 0 : opts.key
9541
+ );
9542
+ }
9543
+ (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result);
9544
+ return result;
9523
9545
  };
9524
- return extendStatics(d2, b2);
9525
- };
9526
- function __extends(d2, b2) {
9527
- extendStatics(d2, b2);
9528
- function __() {
9529
- this.constructor = d2;
9546
+ }
9547
+ function notUndefined(value, msg2) {
9548
+ if (value === void 0) {
9549
+ throw new Error(`Unexpected undefined${""}`);
9550
+ } else {
9551
+ return value;
9530
9552
  }
9531
- d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __());
9532
9553
  }
9533
- var __assign$1 = function() {
9534
- __assign$1 = Object.assign || function __assign2(t) {
9535
- for (var s, i = 1, n2 = arguments.length; i < n2; i++) {
9536
- s = arguments[i];
9537
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
9538
- }
9539
- return t;
9554
+ const approxEqual = (a2, b2) => Math.abs(a2 - b2) < 1;
9555
+ const debounce$2 = (targetWindow, fn, ms2) => {
9556
+ let timeoutId;
9557
+ return function(...args) {
9558
+ targetWindow.clearTimeout(timeoutId);
9559
+ timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms2);
9540
9560
  };
9541
- return __assign$1.apply(this, arguments);
9542
9561
  };
9543
- function throttle$1(delay, noTrailing, callback, debounceMode) {
9544
- var timeoutID;
9545
- var cancelled = false;
9546
- var lastExec = 0;
9547
- function clearExistingTimeout() {
9548
- if (timeoutID) {
9549
- clearTimeout(timeoutID);
9550
- }
9562
+ const defaultKeyExtractor = (index2) => index2;
9563
+ const defaultRangeExtractor = (range2) => {
9564
+ const start = Math.max(range2.startIndex - range2.overscan, 0);
9565
+ const end = Math.min(range2.endIndex + range2.overscan, range2.count - 1);
9566
+ const arr = [];
9567
+ for (let i = start; i <= end; i++) {
9568
+ arr.push(i);
9551
9569
  }
9552
- function cancel() {
9553
- clearExistingTimeout();
9554
- cancelled = true;
9570
+ return arr;
9571
+ };
9572
+ const observeElementRect = (instance, cb2) => {
9573
+ const element = instance.scrollElement;
9574
+ if (!element) {
9575
+ return;
9555
9576
  }
9556
- if (typeof noTrailing !== "boolean") {
9557
- debounceMode = callback;
9558
- callback = noTrailing;
9559
- noTrailing = void 0;
9577
+ const targetWindow = instance.targetWindow;
9578
+ if (!targetWindow) {
9579
+ return;
9560
9580
  }
9561
- function wrapper2() {
9562
- var self2 = this;
9563
- var elapsed = Date.now() - lastExec;
9564
- var args = arguments;
9565
- if (cancelled) {
9566
- return;
9567
- }
9568
- function exec() {
9569
- lastExec = Date.now();
9570
- callback.apply(self2, args);
9571
- }
9572
- function clear() {
9573
- timeoutID = void 0;
9574
- }
9575
- if (debounceMode && !timeoutID) {
9576
- exec();
9581
+ const handler = (rect) => {
9582
+ const { width: width2, height: height2 } = rect;
9583
+ cb2({ width: Math.round(width2), height: Math.round(height2) });
9584
+ };
9585
+ handler(element.getBoundingClientRect());
9586
+ if (!targetWindow.ResizeObserver) {
9587
+ return () => {
9588
+ };
9589
+ }
9590
+ const observer = new targetWindow.ResizeObserver((entries2) => {
9591
+ const entry = entries2[0];
9592
+ if (entry == null ? void 0 : entry.borderBoxSize) {
9593
+ const box = entry.borderBoxSize[0];
9594
+ if (box) {
9595
+ handler({ width: box.inlineSize, height: box.blockSize });
9596
+ return;
9597
+ }
9577
9598
  }
9578
- clearExistingTimeout();
9579
- if (debounceMode === void 0 && elapsed > delay) {
9580
- exec();
9581
- } else if (noTrailing !== true) {
9582
- timeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === void 0 ? delay - elapsed : delay);
9599
+ handler(element.getBoundingClientRect());
9600
+ });
9601
+ observer.observe(element, { box: "border-box" });
9602
+ return () => {
9603
+ observer.unobserve(element);
9604
+ };
9605
+ };
9606
+ const addEventListenerOptions = {
9607
+ passive: true
9608
+ };
9609
+ const supportsScrollend = typeof window == "undefined" ? true : "onscrollend" in window;
9610
+ const observeElementOffset = (instance, cb2) => {
9611
+ const element = instance.scrollElement;
9612
+ if (!element) {
9613
+ return;
9614
+ }
9615
+ const targetWindow = instance.targetWindow;
9616
+ if (!targetWindow) {
9617
+ return;
9618
+ }
9619
+ let offset = 0;
9620
+ const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce$2(
9621
+ targetWindow,
9622
+ () => {
9623
+ cb2(offset, false);
9624
+ },
9625
+ instance.options.isScrollingResetDelay
9626
+ );
9627
+ const createHandler = (isScrolling) => () => {
9628
+ const { horizontal, isRtl } = instance.options;
9629
+ offset = horizontal ? element["scrollLeft"] * (isRtl && -1 || 1) : element["scrollTop"];
9630
+ fallback();
9631
+ cb2(offset, isScrolling);
9632
+ };
9633
+ const handler = createHandler(true);
9634
+ const endHandler = createHandler(false);
9635
+ endHandler();
9636
+ element.addEventListener("scroll", handler, addEventListenerOptions);
9637
+ element.addEventListener("scrollend", endHandler, addEventListenerOptions);
9638
+ return () => {
9639
+ element.removeEventListener("scroll", handler);
9640
+ element.removeEventListener("scrollend", endHandler);
9641
+ };
9642
+ };
9643
+ const measureElement = (element, entry, instance) => {
9644
+ if (entry == null ? void 0 : entry.borderBoxSize) {
9645
+ const box = entry.borderBoxSize[0];
9646
+ if (box) {
9647
+ const size2 = Math.round(
9648
+ box[instance.options.horizontal ? "inlineSize" : "blockSize"]
9649
+ );
9650
+ return size2;
9583
9651
  }
9584
9652
  }
9585
- wrapper2.cancel = cancel;
9586
- return wrapper2;
9587
- }
9588
- var ThresholdUnits = {
9589
- Pixel: "Pixel",
9590
- Percent: "Percent"
9653
+ return Math.round(
9654
+ element.getBoundingClientRect()[instance.options.horizontal ? "width" : "height"]
9655
+ );
9591
9656
  };
9592
- var defaultThreshold$1 = {
9593
- unit: ThresholdUnits.Percent,
9594
- value: 0.8
9657
+ const elementScroll = (offset, {
9658
+ adjustments = 0,
9659
+ behavior
9660
+ }, instance) => {
9661
+ var _a2, _b;
9662
+ const toOffset = offset + adjustments;
9663
+ (_b = (_a2 = instance.scrollElement) == null ? void 0 : _a2.scrollTo) == null ? void 0 : _b.call(_a2, {
9664
+ [instance.options.horizontal ? "left" : "top"]: toOffset,
9665
+ behavior
9666
+ });
9595
9667
  };
9596
- function parseThreshold(scrollThreshold) {
9597
- if (typeof scrollThreshold === "number") {
9598
- return {
9599
- unit: ThresholdUnits.Percent,
9600
- value: scrollThreshold * 100
9601
- };
9602
- }
9603
- if (typeof scrollThreshold === "string") {
9604
- if (scrollThreshold.match(/^(\d*(\.\d+)?)px$/)) {
9605
- return {
9606
- unit: ThresholdUnits.Pixel,
9607
- value: parseFloat(scrollThreshold)
9668
+ class Virtualizer {
9669
+ constructor(opts) {
9670
+ this.unsubs = [];
9671
+ this.scrollElement = null;
9672
+ this.targetWindow = null;
9673
+ this.isScrolling = false;
9674
+ this.scrollToIndexTimeoutId = null;
9675
+ this.measurementsCache = [];
9676
+ this.itemSizeCache = /* @__PURE__ */ new Map();
9677
+ this.pendingMeasuredCacheIndexes = [];
9678
+ this.scrollRect = null;
9679
+ this.scrollOffset = null;
9680
+ this.scrollDirection = null;
9681
+ this.scrollAdjustments = 0;
9682
+ this.elementsCache = /* @__PURE__ */ new Map();
9683
+ this.observer = /* @__PURE__ */ (() => {
9684
+ let _ro = null;
9685
+ const get3 = () => {
9686
+ if (_ro) {
9687
+ return _ro;
9688
+ }
9689
+ if (!this.targetWindow || !this.targetWindow.ResizeObserver) {
9690
+ return null;
9691
+ }
9692
+ return _ro = new this.targetWindow.ResizeObserver((entries2) => {
9693
+ entries2.forEach((entry) => {
9694
+ this._measureElement(entry.target, entry);
9695
+ });
9696
+ });
9608
9697
  };
9609
- }
9610
- if (scrollThreshold.match(/^(\d*(\.\d+)?)%$/)) {
9611
9698
  return {
9612
- unit: ThresholdUnits.Percent,
9613
- value: parseFloat(scrollThreshold)
9614
- };
9615
- }
9616
- console.warn('scrollThreshold format is invalid. Valid formats: "120px", "50%"...');
9617
- return defaultThreshold$1;
9618
- }
9619
- console.warn("scrollThreshold should be string or number");
9620
- return defaultThreshold$1;
9621
- }
9622
- var InfiniteScroll = (
9623
- /** @class */
9624
- function(_super) {
9625
- __extends(InfiniteScroll2, _super);
9626
- function InfiniteScroll2(props) {
9627
- var _this = _super.call(this, props) || this;
9628
- _this.lastScrollTop = 0;
9629
- _this.actionTriggered = false;
9630
- _this.startY = 0;
9631
- _this.currentY = 0;
9632
- _this.dragging = false;
9633
- _this.maxPullDownDistance = 0;
9634
- _this.getScrollableTarget = function() {
9635
- if (_this.props.scrollableTarget instanceof HTMLElement)
9636
- return _this.props.scrollableTarget;
9637
- if (typeof _this.props.scrollableTarget === "string") {
9638
- return document.getElementById(_this.props.scrollableTarget);
9639
- }
9640
- if (_this.props.scrollableTarget === null) {
9641
- console.warn("You are trying to pass scrollableTarget but it is null. This might\n happen because the element may not have been added to DOM yet.\n See https://github.com/ankeetmaini/react-infinite-scroll-component/issues/59 for more info.\n ");
9699
+ disconnect: () => {
9700
+ var _a2;
9701
+ (_a2 = get3()) == null ? void 0 : _a2.disconnect();
9702
+ _ro = null;
9703
+ },
9704
+ observe: (target) => {
9705
+ var _a2;
9706
+ return (_a2 = get3()) == null ? void 0 : _a2.observe(target, { box: "border-box" });
9707
+ },
9708
+ unobserve: (target) => {
9709
+ var _a2;
9710
+ return (_a2 = get3()) == null ? void 0 : _a2.unobserve(target);
9642
9711
  }
9643
- return null;
9644
9712
  };
9645
- _this.onStart = function(evt) {
9646
- if (_this.lastScrollTop)
9713
+ })();
9714
+ this.range = null;
9715
+ this.setOptions = (opts2) => {
9716
+ Object.entries(opts2).forEach(([key2, value]) => {
9717
+ if (typeof value === "undefined") delete opts2[key2];
9718
+ });
9719
+ this.options = {
9720
+ debug: false,
9721
+ initialOffset: 0,
9722
+ overscan: 1,
9723
+ paddingStart: 0,
9724
+ paddingEnd: 0,
9725
+ scrollPaddingStart: 0,
9726
+ scrollPaddingEnd: 0,
9727
+ horizontal: false,
9728
+ getItemKey: defaultKeyExtractor,
9729
+ rangeExtractor: defaultRangeExtractor,
9730
+ onChange: () => {
9731
+ },
9732
+ measureElement,
9733
+ initialRect: { width: 0, height: 0 },
9734
+ scrollMargin: 0,
9735
+ gap: 0,
9736
+ indexAttribute: "data-index",
9737
+ initialMeasurementsCache: [],
9738
+ lanes: 1,
9739
+ isScrollingResetDelay: 150,
9740
+ enabled: true,
9741
+ isRtl: false,
9742
+ useScrollendEvent: true,
9743
+ ...opts2
9744
+ };
9745
+ };
9746
+ this.notify = (sync2) => {
9747
+ var _a2, _b;
9748
+ (_b = (_a2 = this.options).onChange) == null ? void 0 : _b.call(_a2, this, sync2);
9749
+ };
9750
+ this.maybeNotify = memo(
9751
+ () => {
9752
+ this.calculateRange();
9753
+ return [
9754
+ this.isScrolling,
9755
+ this.range ? this.range.startIndex : null,
9756
+ this.range ? this.range.endIndex : null
9757
+ ];
9758
+ },
9759
+ (isScrolling) => {
9760
+ this.notify(isScrolling);
9761
+ },
9762
+ {
9763
+ key: process.env.NODE_ENV !== "production" && "maybeNotify",
9764
+ debug: () => this.options.debug,
9765
+ initialDeps: [
9766
+ this.isScrolling,
9767
+ this.range ? this.range.startIndex : null,
9768
+ this.range ? this.range.endIndex : null
9769
+ ]
9770
+ }
9771
+ );
9772
+ this.cleanup = () => {
9773
+ this.unsubs.filter(Boolean).forEach((d2) => d2());
9774
+ this.unsubs = [];
9775
+ this.observer.disconnect();
9776
+ this.scrollElement = null;
9777
+ this.targetWindow = null;
9778
+ };
9779
+ this._didMount = () => {
9780
+ return () => {
9781
+ this.cleanup();
9782
+ };
9783
+ };
9784
+ this._willUpdate = () => {
9785
+ var _a2;
9786
+ const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;
9787
+ if (this.scrollElement !== scrollElement) {
9788
+ this.cleanup();
9789
+ if (!scrollElement) {
9790
+ this.maybeNotify();
9647
9791
  return;
9648
- _this.dragging = true;
9649
- if (evt instanceof MouseEvent) {
9650
- _this.startY = evt.pageY;
9651
- } else if (evt instanceof TouchEvent) {
9652
- _this.startY = evt.touches[0].pageY;
9653
9792
  }
9654
- _this.currentY = _this.startY;
9655
- if (_this._infScroll) {
9656
- _this._infScroll.style.willChange = "transform";
9657
- _this._infScroll.style.transition = "transform 0.2s cubic-bezier(0,0,0.31,1)";
9793
+ this.scrollElement = scrollElement;
9794
+ if (this.scrollElement && "ownerDocument" in this.scrollElement) {
9795
+ this.targetWindow = this.scrollElement.ownerDocument.defaultView;
9796
+ } else {
9797
+ this.targetWindow = ((_a2 = this.scrollElement) == null ? void 0 : _a2.window) ?? null;
9658
9798
  }
9659
- };
9660
- _this.onMove = function(evt) {
9661
- if (!_this.dragging)
9662
- return;
9663
- if (evt instanceof MouseEvent) {
9664
- _this.currentY = evt.pageY;
9665
- } else if (evt instanceof TouchEvent) {
9666
- _this.currentY = evt.touches[0].pageY;
9799
+ this.elementsCache.forEach((cached) => {
9800
+ this.observer.observe(cached);
9801
+ });
9802
+ this._scrollToOffset(this.getScrollOffset(), {
9803
+ adjustments: void 0,
9804
+ behavior: void 0
9805
+ });
9806
+ this.unsubs.push(
9807
+ this.options.observeElementRect(this, (rect) => {
9808
+ this.scrollRect = rect;
9809
+ this.maybeNotify();
9810
+ })
9811
+ );
9812
+ this.unsubs.push(
9813
+ this.options.observeElementOffset(this, (offset, isScrolling) => {
9814
+ this.scrollAdjustments = 0;
9815
+ this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? "forward" : "backward" : null;
9816
+ this.scrollOffset = offset;
9817
+ this.isScrolling = isScrolling;
9818
+ this.maybeNotify();
9819
+ })
9820
+ );
9821
+ }
9822
+ };
9823
+ this.getSize = () => {
9824
+ if (!this.options.enabled) {
9825
+ this.scrollRect = null;
9826
+ return 0;
9827
+ }
9828
+ this.scrollRect = this.scrollRect ?? this.options.initialRect;
9829
+ return this.scrollRect[this.options.horizontal ? "width" : "height"];
9830
+ };
9831
+ this.getScrollOffset = () => {
9832
+ if (!this.options.enabled) {
9833
+ this.scrollOffset = null;
9834
+ return 0;
9835
+ }
9836
+ this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === "function" ? this.options.initialOffset() : this.options.initialOffset);
9837
+ return this.scrollOffset;
9838
+ };
9839
+ this.getFurthestMeasurement = (measurements, index2) => {
9840
+ const furthestMeasurementsFound = /* @__PURE__ */ new Map();
9841
+ const furthestMeasurements = /* @__PURE__ */ new Map();
9842
+ for (let m2 = index2 - 1; m2 >= 0; m2--) {
9843
+ const measurement = measurements[m2];
9844
+ if (furthestMeasurementsFound.has(measurement.lane)) {
9845
+ continue;
9667
9846
  }
9668
- if (_this.currentY < _this.startY)
9669
- return;
9670
- if (_this.currentY - _this.startY >= Number(_this.props.pullDownToRefreshThreshold)) {
9671
- _this.setState({
9672
- pullToRefreshThresholdBreached: true
9673
- });
9847
+ const previousFurthestMeasurement = furthestMeasurements.get(
9848
+ measurement.lane
9849
+ );
9850
+ if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {
9851
+ furthestMeasurements.set(measurement.lane, measurement);
9852
+ } else if (measurement.end < previousFurthestMeasurement.end) {
9853
+ furthestMeasurementsFound.set(measurement.lane, true);
9674
9854
  }
9675
- if (_this.currentY - _this.startY > _this.maxPullDownDistance * 1.5)
9676
- return;
9677
- if (_this._infScroll) {
9678
- _this._infScroll.style.overflow = "visible";
9679
- _this._infScroll.style.transform = "translate3d(0px, " + (_this.currentY - _this.startY) + "px, 0px)";
9855
+ if (furthestMeasurementsFound.size === this.options.lanes) {
9856
+ break;
9680
9857
  }
9681
- };
9682
- _this.onEnd = function() {
9683
- _this.startY = 0;
9684
- _this.currentY = 0;
9685
- _this.dragging = false;
9686
- if (_this.state.pullToRefreshThresholdBreached) {
9687
- _this.props.refreshFunction && _this.props.refreshFunction();
9688
- _this.setState({
9689
- pullToRefreshThresholdBreached: false
9690
- });
9858
+ }
9859
+ return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a2, b2) => {
9860
+ if (a2.end === b2.end) {
9861
+ return a2.index - b2.index;
9691
9862
  }
9692
- requestAnimationFrame(function() {
9693
- if (_this._infScroll) {
9694
- _this._infScroll.style.overflow = "auto";
9695
- _this._infScroll.style.transform = "none";
9696
- _this._infScroll.style.willChange = "unset";
9697
- }
9698
- });
9699
- };
9700
- _this.onScrollListener = function(event) {
9701
- if (typeof _this.props.onScroll === "function") {
9702
- setTimeout(function() {
9703
- return _this.props.onScroll && _this.props.onScroll(event);
9704
- }, 0);
9863
+ return a2.end - b2.end;
9864
+ })[0] : void 0;
9865
+ };
9866
+ this.getMeasurementOptions = memo(
9867
+ () => [
9868
+ this.options.count,
9869
+ this.options.paddingStart,
9870
+ this.options.scrollMargin,
9871
+ this.options.getItemKey,
9872
+ this.options.enabled
9873
+ ],
9874
+ (count, paddingStart, scrollMargin, getItemKey, enabled) => {
9875
+ this.pendingMeasuredCacheIndexes = [];
9876
+ return {
9877
+ count,
9878
+ paddingStart,
9879
+ scrollMargin,
9880
+ getItemKey,
9881
+ enabled
9882
+ };
9883
+ },
9884
+ {
9885
+ key: false
9886
+ }
9887
+ );
9888
+ this.getMeasurements = memo(
9889
+ () => [this.getMeasurementOptions(), this.itemSizeCache],
9890
+ ({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => {
9891
+ if (!enabled) {
9892
+ this.measurementsCache = [];
9893
+ this.itemSizeCache.clear();
9894
+ return [];
9895
+ }
9896
+ if (this.measurementsCache.length === 0) {
9897
+ this.measurementsCache = this.options.initialMeasurementsCache;
9898
+ this.measurementsCache.forEach((item2) => {
9899
+ this.itemSizeCache.set(item2.key, item2.size);
9900
+ });
9705
9901
  }
9706
- var target = _this.props.height || _this._scrollableNode ? event.target : document.documentElement.scrollTop ? document.documentElement : document.body;
9707
- if (_this.actionTriggered)
9708
- return;
9709
- var atBottom = _this.props.inverse ? _this.isElementAtTop(target, _this.props.scrollThreshold) : _this.isElementAtBottom(target, _this.props.scrollThreshold);
9710
- if (atBottom && _this.props.hasMore) {
9711
- _this.actionTriggered = true;
9712
- _this.setState({ showLoader: true });
9713
- _this.props.next && _this.props.next();
9902
+ const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;
9903
+ this.pendingMeasuredCacheIndexes = [];
9904
+ const measurements = this.measurementsCache.slice(0, min);
9905
+ for (let i = min; i < count; i++) {
9906
+ const key2 = getItemKey(i);
9907
+ const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);
9908
+ const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;
9909
+ const measuredSize = itemSizeCache.get(key2);
9910
+ const size2 = typeof measuredSize === "number" ? measuredSize : this.options.estimateSize(i);
9911
+ const end = start + size2;
9912
+ const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;
9913
+ measurements[i] = {
9914
+ index: i,
9915
+ start,
9916
+ size: size2,
9917
+ end,
9918
+ key: key2,
9919
+ lane
9920
+ };
9714
9921
  }
9715
- _this.lastScrollTop = target.scrollTop;
9716
- };
9717
- _this.state = {
9718
- showLoader: false,
9719
- pullToRefreshThresholdBreached: false,
9720
- prevDataLength: props.dataLength
9721
- };
9722
- _this.throttledOnScrollListener = throttle$1(150, _this.onScrollListener).bind(_this);
9723
- _this.onStart = _this.onStart.bind(_this);
9724
- _this.onMove = _this.onMove.bind(_this);
9725
- _this.onEnd = _this.onEnd.bind(_this);
9726
- return _this;
9727
- }
9728
- InfiniteScroll2.prototype.componentDidMount = function() {
9729
- if (typeof this.props.dataLength === "undefined") {
9730
- throw new Error('mandatory prop "dataLength" is missing. The prop is needed when loading more content. Check README.md for usage');
9731
- }
9732
- this._scrollableNode = this.getScrollableTarget();
9733
- this.el = this.props.height ? this._infScroll : this._scrollableNode || window;
9734
- if (this.el) {
9735
- this.el.addEventListener("scroll", this.throttledOnScrollListener);
9736
- }
9737
- if (typeof this.props.initialScrollY === "number" && this.el && this.el instanceof HTMLElement && this.el.scrollHeight > this.props.initialScrollY) {
9738
- this.el.scrollTo(0, this.props.initialScrollY);
9739
- }
9740
- if (this.props.pullDownToRefresh && this.el) {
9741
- this.el.addEventListener("touchstart", this.onStart);
9742
- this.el.addEventListener("touchmove", this.onMove);
9743
- this.el.addEventListener("touchend", this.onEnd);
9744
- this.el.addEventListener("mousedown", this.onStart);
9745
- this.el.addEventListener("mousemove", this.onMove);
9746
- this.el.addEventListener("mouseup", this.onEnd);
9747
- this.maxPullDownDistance = this._pullDown && this._pullDown.firstChild && this._pullDown.firstChild.getBoundingClientRect().height || 0;
9748
- this.forceUpdate();
9749
- if (typeof this.props.refreshFunction !== "function") {
9750
- throw new Error(`Mandatory prop "refreshFunction" missing.
9751
- Pull Down To Refresh functionality will not work
9752
- as expected. Check README.md for usage'`);
9922
+ this.measurementsCache = measurements;
9923
+ return measurements;
9924
+ },
9925
+ {
9926
+ key: process.env.NODE_ENV !== "production" && "getMeasurements",
9927
+ debug: () => this.options.debug
9928
+ }
9929
+ );
9930
+ this.calculateRange = memo(
9931
+ () => [this.getMeasurements(), this.getSize(), this.getScrollOffset()],
9932
+ (measurements, outerSize, scrollOffset) => {
9933
+ return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({
9934
+ measurements,
9935
+ outerSize,
9936
+ scrollOffset
9937
+ }) : null;
9938
+ },
9939
+ {
9940
+ key: process.env.NODE_ENV !== "production" && "calculateRange",
9941
+ debug: () => this.options.debug
9942
+ }
9943
+ );
9944
+ this.getIndexes = memo(
9945
+ () => [
9946
+ this.options.rangeExtractor,
9947
+ this.calculateRange(),
9948
+ this.options.overscan,
9949
+ this.options.count
9950
+ ],
9951
+ (rangeExtractor, range2, overscan, count) => {
9952
+ return range2 === null ? [] : rangeExtractor({
9953
+ startIndex: range2.startIndex,
9954
+ endIndex: range2.endIndex,
9955
+ overscan,
9956
+ count
9957
+ });
9958
+ },
9959
+ {
9960
+ key: process.env.NODE_ENV !== "production" && "getIndexes",
9961
+ debug: () => this.options.debug
9962
+ }
9963
+ );
9964
+ this.indexFromElement = (node2) => {
9965
+ const attributeName = this.options.indexAttribute;
9966
+ const indexStr = node2.getAttribute(attributeName);
9967
+ if (!indexStr) {
9968
+ console.warn(
9969
+ `Missing attribute name '${attributeName}={index}' on measured element.`
9970
+ );
9971
+ return -1;
9972
+ }
9973
+ return parseInt(indexStr, 10);
9974
+ };
9975
+ this._measureElement = (node2, entry) => {
9976
+ const index2 = this.indexFromElement(node2);
9977
+ const item2 = this.measurementsCache[index2];
9978
+ if (!item2) {
9979
+ return;
9980
+ }
9981
+ const key2 = item2.key;
9982
+ const prevNode = this.elementsCache.get(key2);
9983
+ if (prevNode !== node2) {
9984
+ if (prevNode) {
9985
+ this.observer.unobserve(prevNode);
9753
9986
  }
9987
+ this.observer.observe(node2);
9988
+ this.elementsCache.set(key2, node2);
9989
+ }
9990
+ if (node2.isConnected) {
9991
+ this.resizeItem(index2, this.options.measureElement(node2, entry, this));
9754
9992
  }
9755
9993
  };
9756
- InfiniteScroll2.prototype.componentWillUnmount = function() {
9757
- if (this.el) {
9758
- this.el.removeEventListener("scroll", this.throttledOnScrollListener);
9759
- if (this.props.pullDownToRefresh) {
9760
- this.el.removeEventListener("touchstart", this.onStart);
9761
- this.el.removeEventListener("touchmove", this.onMove);
9762
- this.el.removeEventListener("touchend", this.onEnd);
9763
- this.el.removeEventListener("mousedown", this.onStart);
9764
- this.el.removeEventListener("mousemove", this.onMove);
9765
- this.el.removeEventListener("mouseup", this.onEnd);
9994
+ this.resizeItem = (index2, size2) => {
9995
+ const item2 = this.measurementsCache[index2];
9996
+ if (!item2) {
9997
+ return;
9998
+ }
9999
+ const itemSize = this.itemSizeCache.get(item2.key) ?? item2.size;
10000
+ const delta = size2 - itemSize;
10001
+ if (delta !== 0) {
10002
+ if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item2, delta, this) : item2.start < this.getScrollOffset() + this.scrollAdjustments) {
10003
+ if (process.env.NODE_ENV !== "production" && this.options.debug) {
10004
+ console.info("correction", delta);
10005
+ }
10006
+ this._scrollToOffset(this.getScrollOffset(), {
10007
+ adjustments: this.scrollAdjustments += delta,
10008
+ behavior: void 0
10009
+ });
9766
10010
  }
10011
+ this.pendingMeasuredCacheIndexes.push(item2.index);
10012
+ this.itemSizeCache = new Map(this.itemSizeCache.set(item2.key, size2));
10013
+ this.notify(false);
9767
10014
  }
9768
10015
  };
9769
- InfiniteScroll2.prototype.componentDidUpdate = function(prevProps) {
9770
- if (this.props.dataLength === prevProps.dataLength)
10016
+ this.measureElement = (node2) => {
10017
+ if (!node2) {
10018
+ this.elementsCache.forEach((cached, key2) => {
10019
+ if (!cached.isConnected) {
10020
+ this.observer.unobserve(cached);
10021
+ this.elementsCache.delete(key2);
10022
+ }
10023
+ });
9771
10024
  return;
9772
- this.actionTriggered = false;
9773
- this.setState({
9774
- showLoader: false
9775
- });
10025
+ }
10026
+ this._measureElement(node2, void 0);
10027
+ };
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
10042
+ }
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
+ );
9776
10057
  };
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 });
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
+ }
9781
10069
  }
9782
- return null;
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;
10076
+ }
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);
9783
10081
  };
9784
- InfiniteScroll2.prototype.isElementAtTop = function(target, scrollThreshold) {
9785
- if (scrollThreshold === void 0) {
9786
- 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;
9787
10087
  }
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;
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
+ }
9792
10098
  }
9793
- return target.scrollTop <= threshold.value / 100 + clientHeight - target.scrollHeight + 1;
10099
+ const toOffset = align === "end" ? item2.end + this.options.scrollPaddingEnd : item2.start - this.options.scrollPaddingStart;
10100
+ return [this.getOffsetForAlignment(toOffset, align), align];
9794
10101
  };
9795
- InfiniteScroll2.prototype.isElementAtBottom = function(target, scrollThreshold) {
9796
- if (scrollThreshold === void 0) {
9797
- scrollThreshold = 0.8;
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;
9798
10107
  }
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;
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
+ );
9803
10115
  }
9804
- return target.scrollTop + clientHeight >= threshold.value / 100 * target.scrollHeight;
10116
+ this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {
10117
+ adjustments: void 0,
10118
+ behavior
10119
+ });
9805
10120
  };
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
- )
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_4cdnv_1";
10261
+ const inputHover$8 = "_inputHover_4cdnv_13";
10262
+ const inputFocus$8 = "_inputFocus_4cdnv_18";
10263
+ const inputError$8 = "_inputError_4cdnv_25";
10264
+ const inputWarning$8 = "_inputWarning_4cdnv_26";
10265
+ const inputDisabled$8 = "_inputDisabled_4cdnv_61";
10266
+ const hideScrollbars$8 = "_hideScrollbars_4cdnv_67";
10267
+ const list$1 = "_list_4cdnv_77";
10268
+ const bordered$1 = "_bordered_4cdnv_83";
10269
+ const virtualRow = "_virtualRow_4cdnv_87";
10270
+ const item$4 = "_item_4cdnv_87";
10271
+ const header$1 = "_header_4cdnv_90";
10272
+ const headerTitle = "_headerTitle_4cdnv_90";
10273
+ const heading$3 = "_heading_4cdnv_91";
10274
+ const itemHeader = "_itemHeader_4cdnv_91";
10275
+ const narrow = "_narrow_4cdnv_94";
10276
+ const stickyHeader = "_stickyHeader_4cdnv_98";
10277
+ const title$3 = "_title_4cdnv_109";
10278
+ const name = "_name_4cdnv_115";
10279
+ const iconTooltipMargin = "_iconTooltipMargin_4cdnv_119";
10280
+ const bold = "_bold_4cdnv_122";
10281
+ const toggleNarrow = "_toggleNarrow_4cdnv_133";
10282
+ const drag$1 = "_drag_4cdnv_151";
10283
+ const dragOverlay$1 = "_dragOverlay_4cdnv_172";
10284
+ const listContent = "_listContent_4cdnv_177";
10285
+ const action = "_action_4cdnv_204";
10286
+ const active$3 = "_active_4cdnv_207";
10287
+ const indented = "_indented_4cdnv_214";
10288
+ const disabled$5 = "_disabled_4cdnv_227";
10289
+ const label$6 = "_label_4cdnv_238";
10290
+ const details$2 = "_details_4cdnv_249";
10291
+ const metadata = "_metadata_4cdnv_250";
10292
+ const itemContent = "_itemContent_4cdnv_258";
10293
+ const indentIcon = "_indentIcon_4cdnv_265";
10294
+ const expandIcon = "_expandIcon_4cdnv_270";
10295
+ const expanded = "_expanded_4cdnv_277";
10296
+ const right$4 = "_right_4cdnv_280";
10297
+ const actions = "_actions_4cdnv_288";
10298
+ const hideScrollbar = "_hideScrollbar_4cdnv_67";
10299
+ const noPointerEvents = "_noPointerEvents_4cdnv_303";
10300
+ const virtualRows = "_virtualRows_4cdnv_306";
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,34 @@ 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);
14701
+ const estimateItemHeight = () => {
14702
+ let height22 = 37;
14703
+ if (list2.items.length > 0) {
14704
+ const item2 = list2.items[list2.items.length - 1];
14705
+ if (item2.details) height22 += 20;
14706
+ if (item2.metadata) height22 += 20;
14707
+ }
14708
+ return height22;
14373
14709
  };
14710
+ const virtualizer = useVirtualizer({
14711
+ count: list2.items.length,
14712
+ getScrollElement: () => listContainerRef.current,
14713
+ estimateSize: useCallback(estimateItemHeight, []),
14714
+ overscan: 5
14715
+ });
14374
14716
  const findFirstActiveItemIndex = (items) => items.findIndex((item2) => item2.active === true);
14375
14717
  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;
14718
+ if (activeItemIndex >= 0) {
14719
+ virtualizer.scrollToIndex(activeItemIndex, {
14720
+ align: "center",
14721
+ behavior: "smooth"
14722
+ });
14393
14723
  }
14394
14724
  };
14395
14725
  useEffect(() => {
@@ -14397,24 +14727,19 @@ const List = ({
14397
14727
  const activeItemIndex = findFirstActiveItemIndex(list2 == null ? void 0 : list2.items);
14398
14728
  setScrollToActiveItem(activeItemIndex);
14399
14729
  }
14400
- }, [
14401
- listContainerRef.current,
14402
- listHeadingRef.current,
14403
- triggerScrollToActiveItem
14404
- ]);
14405
- return /* @__PURE__ */ jsx(
14730
+ }, [triggerScrollToActiveItem]);
14731
+ return /* @__PURE__ */ jsxs(
14406
14732
  "div",
14407
14733
  {
14408
14734
  className: cx$2(
14735
+ listStyles.list,
14409
14736
  narrow2 ? listStyles.narrow : "",
14410
- scrollable ? listStyles.scrollableList : "",
14411
- hideScrollbar2 ? listStyles.hideScrollbar : ""
14737
+ bordered2 ? listStyles.bordered : ""
14412
14738
  ),
14413
14739
  "data-testid": testId,
14414
- id: "scrollableDiv",
14415
14740
  style: { height: height2, marginBottom },
14416
- ref: listContainerRef,
14417
- children: /* @__PURE__ */ jsxs(Card, { bordered: bordered2, padding: false, children: [
14741
+ id: "scrollableDiv",
14742
+ children: [
14418
14743
  !noHeader && /* @__PURE__ */ jsx(
14419
14744
  ListHeading,
14420
14745
  {
@@ -14422,53 +14747,123 @@ const List = ({
14422
14747
  actions: list2.actions,
14423
14748
  toggleNarrow: toggleNarrow2,
14424
14749
  onToggleNarrow,
14425
- stickyHeader: stickyHeader2,
14426
- ref: listHeadingRef
14750
+ stickyHeader: stickyHeader2
14427
14751
  }
14428
14752
  ),
14429
- /* @__PURE__ */ jsx("div", { className: cx$2(listStyles.list, bordered2 ? listStyles.bordered : ""), children: /* @__PURE__ */ jsx(
14753
+ /* @__PURE__ */ jsx(
14430
14754
  ListDragWrapper,
14431
14755
  {
14432
14756
  draggable,
14433
14757
  list: list2,
14434
14758
  onListReorder,
14435
- children: infiniteScroll ? /* @__PURE__ */ jsx(
14436
- InfiniteScroll,
14759
+ children: /* @__PURE__ */ jsx(
14760
+ "div",
14437
14761
  {
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,
14762
+ className: cx$2(
14763
+ listStyles.listContent,
14764
+ hideScrollbar2 ? listStyles.hideScrollbar : ""
14765
+ ),
14766
+ ref: listContainerRef,
14767
+ children: /* @__PURE__ */ jsx(
14768
+ "div",
14446
14769
  {
14447
- index: index2,
14448
- draggable,
14449
- item: item2,
14450
- expanding,
14451
- invokeEditOnRowClick,
14452
- ref: listRowRefs
14453
- },
14454
- index2
14455
- ))
14770
+ className: listStyles.virtualRows,
14771
+ style: { height: `${virtualizer.getTotalSize()}px` },
14772
+ children: virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
14773
+ "div",
14774
+ {
14775
+ "data-index": virtualRow2.index,
14776
+ className: listStyles.virtualRow,
14777
+ style: {
14778
+ transform: `translateY(${virtualRow2.start}px)`
14779
+ },
14780
+ ref: virtualizer.measureElement,
14781
+ children: /* @__PURE__ */ jsx(
14782
+ ListRow,
14783
+ {
14784
+ index: virtualRow2.index,
14785
+ draggable,
14786
+ item: list2.items[virtualRow2.index],
14787
+ expanding,
14788
+ invokeEditOnRowClick
14789
+ }
14790
+ )
14791
+ },
14792
+ virtualRow2.key
14793
+ ))
14794
+ }
14795
+ )
14456
14796
  }
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
- ))
14797
+ )
14469
14798
  }
14470
- ) })
14471
- ] })
14799
+ )
14800
+ ]
14801
+ }
14802
+ );
14803
+ };
14804
+ const loader = "_loader_477i5_1";
14805
+ const fullViewPortSize = "_fullViewPortSize_477i5_7";
14806
+ const cover = "_cover_477i5_14";
14807
+ const dimmer = "_dimmer_477i5_21";
14808
+ const content$2 = "_content_477i5_44";
14809
+ const text$1 = "_text_477i5_49";
14810
+ const details$1 = "_details_477i5_53";
14811
+ const styles$t = {
14812
+ loader,
14813
+ fullViewPortSize,
14814
+ cover,
14815
+ dimmer,
14816
+ content: content$2,
14817
+ text: text$1,
14818
+ details: details$1
14819
+ };
14820
+ const Loader = ({
14821
+ width: width2,
14822
+ height: height2,
14823
+ text: text2 = "",
14824
+ details: details2 = "",
14825
+ fullViewPortSize: fullViewPortSize2 = false,
14826
+ cover: cover2 = false,
14827
+ children = null,
14828
+ theme = Theme.DARK,
14829
+ testId = null
14830
+ }) => {
14831
+ const color2 = theme === Theme.DARK ? Theme.WHITE : Theme.INHERIT;
14832
+ const background2 = theme === "white" ? "var(--color-background-raised)" : theme === "light" ? "var(--color-background)" : "black";
14833
+ return /* @__PURE__ */ jsx(
14834
+ "div",
14835
+ {
14836
+ className: cx$2(styles$t.loader, cover2 ? styles$t.cover : "", {
14837
+ [styles$t.fullViewPortSize]: fullViewPortSize2
14838
+ }),
14839
+ style: { width: width2, height: height2 },
14840
+ "data-testid": testId,
14841
+ children: /* @__PURE__ */ jsx("div", { className: styles$t.dimmer, style: { background: background2, color: color2 }, children: /* @__PURE__ */ jsxs(
14842
+ "div",
14843
+ {
14844
+ className: styles$t.content,
14845
+ "data-testid": testId && `${testId}-content`,
14846
+ children: [
14847
+ children,
14848
+ text2 && /* @__PURE__ */ jsx(
14849
+ "div",
14850
+ {
14851
+ className: styles$t.text,
14852
+ "data-testid": testId && `${testId}-text`,
14853
+ children: text2
14854
+ }
14855
+ ),
14856
+ details2 && /* @__PURE__ */ jsx(
14857
+ "div",
14858
+ {
14859
+ className: styles$t.details,
14860
+ "data-testid": testId && `${testId}-details`,
14861
+ children: details2
14862
+ }
14863
+ )
14864
+ ]
14865
+ }
14866
+ ) })
14472
14867
  }
14473
14868
  );
14474
14869
  };
@@ -15242,7 +15637,7 @@ const useFontsReady = () => {
15242
15637
  const getWidth = () => window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
15243
15638
  const useWindowWidth = () => {
15244
15639
  const [width2, setWidth] = useState(getWidth());
15245
- const resizeListener = debounce$2(() => setWidth(getWidth()), 150);
15640
+ const resizeListener = debounce$3(() => setWidth(getWidth()), 150);
15246
15641
  useEffect(() => {
15247
15642
  window.addEventListener("resize", resizeListener);
15248
15643
  return () => {
@@ -48004,7 +48399,7 @@ const styles$d = {
48004
48399
  active: active$2,
48005
48400
  icon: icon$1
48006
48401
  };
48007
- const TooltipIcon = memo(
48402
+ const TooltipIcon = memo$1(
48008
48403
  ({ isOpen: isOpen2, label: label2, icon: icon2, invalid }) => {
48009
48404
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
48010
48405
  /* @__PURE__ */ jsx(
@@ -48079,7 +48474,7 @@ const Sections = ({
48079
48474
  )
48080
48475
  ] }, i)) });
48081
48476
  };
48082
- const SideBar = memo(
48477
+ const SideBar = memo$1(
48083
48478
  ({
48084
48479
  options,
48085
48480
  startOpen = false,
@@ -50705,19 +51100,19 @@ const Spacer = ({
50705
51100
  }
50706
51101
  }
50707
51102
  );
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";
51103
+ const inputInTable$2 = "_inputInTable_xkoxm_1";
51104
+ const inputHover$2 = "_inputHover_xkoxm_13";
51105
+ const inputFocus$2 = "_inputFocus_xkoxm_18";
51106
+ const inputError$2 = "_inputError_xkoxm_25";
51107
+ const inputWarning$2 = "_inputWarning_xkoxm_26";
51108
+ const inputDisabled$2 = "_inputDisabled_xkoxm_61";
51109
+ const hideScrollbars$2 = "_hideScrollbars_xkoxm_67";
51110
+ const wrapper = "_wrapper_xkoxm_85";
51111
+ const bordered = "_bordered_xkoxm_93";
51112
+ const scroll = "_scroll_xkoxm_98";
51113
+ const table = "_table_xkoxm_109";
51114
+ const dragOverlay = "_dragOverlay_xkoxm_145";
51115
+ const striped = "_striped_xkoxm_194";
50721
51116
  const styles$b = {
50722
51117
  inputInTable: inputInTable$2,
50723
51118
  inputHover: inputHover$2,
@@ -50823,36 +51218,6 @@ const hasActions = (rows) => rows.reduce(
50823
51218
  const hasRowActions = (rows, headers) => {
50824
51219
  return hasActions(headers) > 0 || hasActions(rows) > 0;
50825
51220
  };
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
51221
  const clickableRow = "_clickableRow_10f34_1";
50857
51222
  const hoverableRow = "_hoverableRow_10f34_4";
50858
51223
  const rowActive = "_rowActive_10f34_4";
@@ -51566,6 +51931,7 @@ const Row = ({
51566
51931
  hasRowActions: hasRowActions2,
51567
51932
  draggableTable = false,
51568
51933
  columnWidths,
51934
+ height: height2,
51569
51935
  testId
51570
51936
  //TODO: add testId
51571
51937
  }) => {
@@ -51622,7 +51988,8 @@ const Row = ({
51622
51988
  animateLayoutChanges: () => false
51623
51989
  });
51624
51990
  const style = {
51625
- transform: CSS.Translate.toString(transform),
51991
+ height: height2,
51992
+ transform: CSS.Transform.toString(transform),
51626
51993
  transition,
51627
51994
  opacity: isDragging ? 0 : void 0
51628
51995
  };
@@ -51680,6 +52047,8 @@ const Row = ({
51680
52047
  ),
51681
52048
  "data-error": error2 || null,
51682
52049
  "data-warning": warning2 || null,
52050
+ "data-index": rowIndex,
52051
+ "data-even": rowIndex % 2 === 0,
51683
52052
  style,
51684
52053
  children: [
51685
52054
  draggableTable ? getDragItem() : null,
@@ -51771,6 +52140,36 @@ const TableDragWrapper = (props) => {
51771
52140
  }
51772
52141
  );
51773
52142
  };
52143
+ const TableScrollWrapper = ({
52144
+ table: table2,
52145
+ theadRef,
52146
+ children
52147
+ }) => {
52148
+ var _a2, _b;
52149
+ const { infiniteScroll = false } = table2;
52150
+ if (!infiniteScroll) {
52151
+ return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, children: children({}) });
52152
+ }
52153
+ const containerRef = useRef(null);
52154
+ const MIN_ITEM_HEIGHT = 31;
52155
+ const virtualizer = useVirtualizer({
52156
+ count: ((_a2 = table2.rows) == null ? void 0 : _a2.length) ?? 0,
52157
+ getScrollElement: () => containerRef.current,
52158
+ estimateSize: () => MIN_ITEM_HEIGHT,
52159
+ overscan: 10
52160
+ });
52161
+ const theadHeight = ((_b = theadRef.current) == null ? void 0 : _b.clientHeight) ?? 0;
52162
+ const totalHeight = virtualizer.getTotalSize() + theadHeight;
52163
+ const items = virtualizer.getVirtualItems();
52164
+ const paddingTop = items.length > 0 ? items[0].start : 0;
52165
+ const paddingBottom = items.length > 0 ? virtualizer.getTotalSize() - items[items.length - 1].end : 0;
52166
+ const tableStyle = {
52167
+ "--virtualPaddingTop": paddingTop + "px",
52168
+ "--virtualPaddingBottom": paddingBottom + "px",
52169
+ height: totalHeight
52170
+ };
52171
+ return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, ref: containerRef, children: children({ virtualizer, tableStyle }) });
52172
+ };
51774
52173
  const Table = (props) => {
51775
52174
  var _a2, _b, _c, _d, _e2, _f, _g;
51776
52175
  const { onListReorder = () => {
@@ -51793,6 +52192,7 @@ const Table = (props) => {
51793
52192
  maxHeight,
51794
52193
  fixedWidth: width2
51795
52194
  } = propTable;
52195
+ const theadRef = useRef(null);
51796
52196
  const tbodyRef = useRef(null);
51797
52197
  const headers = get$2(props, "table.headers", []);
51798
52198
  const columnCount = getColumnCount(propRows, headers);
@@ -51854,7 +52254,7 @@ const Table = (props) => {
51854
52254
  testId: testId && `${testId}-title`
51855
52255
  }
51856
52256
  ),
51857
- /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, children: ({ visibleRows }) => /* @__PURE__ */ jsx(
52257
+ /* @__PURE__ */ jsx(
51858
52258
  TableDragWrapper,
51859
52259
  {
51860
52260
  colSpan,
@@ -51865,49 +52265,66 @@ const Table = (props) => {
51865
52265
  rowActions,
51866
52266
  rows,
51867
52267
  tbodyRef,
51868
- children: /* @__PURE__ */ jsxs(
51869
- "table",
51870
- {
51871
- className: cx$2(styles$b.table, striped2 ? styles$b.striped : ""),
51872
- "data-testid": testId,
51873
- children: [
51874
- /* @__PURE__ */ jsx("thead", { children: headers.map((row2, rowIndex) => {
51875
- return /* @__PURE__ */ jsx(
52268
+ children: /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, theadRef, children: ({ virtualizer, tableStyle }) => {
52269
+ return /* @__PURE__ */ jsxs(
52270
+ "table",
52271
+ {
52272
+ className: cx$2(styles$b.table, striped2 ? styles$b.striped : ""),
52273
+ "data-testid": testId,
52274
+ style: tableStyle,
52275
+ children: [
52276
+ /* @__PURE__ */ jsx("thead", { ref: theadRef, children: headers.map((row2, rowIndex) => {
52277
+ return /* @__PURE__ */ jsx(
52278
+ Row,
52279
+ {
52280
+ rowIndex,
52281
+ isHeader: true,
52282
+ row: row2,
52283
+ columnCount,
52284
+ columnWidths,
52285
+ colSpan,
52286
+ hasRowActions: rowActions,
52287
+ columnAlignment,
52288
+ columnHeaderAlignments,
52289
+ draggableTable: draggable
52290
+ },
52291
+ `0_${rowIndex}`
52292
+ );
52293
+ }) }),
52294
+ /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: virtualizer ? virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
51876
52295
  Row,
51877
52296
  {
51878
- rowIndex,
51879
- isHeader: true,
52297
+ rowIndex: virtualRow2.index,
52298
+ row: rows[virtualRow2.index],
52299
+ columnCount,
52300
+ columnWidths,
52301
+ colSpan,
52302
+ hasRowActions: rowActions,
52303
+ columnAlignment,
52304
+ draggableTable: draggable,
52305
+ height: virtualRow2.size
52306
+ },
52307
+ `1_${virtualRow2.index}`
52308
+ )) : rows.map((row2, index2) => /* @__PURE__ */ jsx(
52309
+ Row,
52310
+ {
52311
+ rowIndex: index2,
51880
52312
  row: row2,
51881
52313
  columnCount,
51882
52314
  columnWidths,
51883
52315
  colSpan,
51884
52316
  hasRowActions: rowActions,
51885
52317
  columnAlignment,
51886
- columnHeaderAlignments,
51887
52318
  draggableTable: draggable
51888
52319
  },
51889
- `0_${rowIndex}`
51890
- );
51891
- }) }),
51892
- /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: rows.slice(0, visibleRows).map((row2, rowIndex) => /* @__PURE__ */ jsx(
51893
- Row,
51894
- {
51895
- rowIndex,
51896
- row: row2,
51897
- columnCount,
51898
- columnWidths,
51899
- colSpan,
51900
- hasRowActions: rowActions,
51901
- columnAlignment,
51902
- draggableTable: draggable
51903
- },
51904
- `1_${rowIndex}`
51905
- )) })
51906
- ]
51907
- }
51908
- )
52320
+ `1_${index2}`
52321
+ )) })
52322
+ ]
52323
+ }
52324
+ );
52325
+ } })
51909
52326
  }
51910
- ) }),
52327
+ ),
51911
52328
  footer2 && /* @__PURE__ */ jsx(
51912
52329
  Footer,
51913
52330
  {
@@ -55020,7 +55437,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
55020
55437
  }
55021
55438
  let refCount = 0;
55022
55439
  const INSTANCE_SYM = Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");
55023
- var DndProvider = /* @__PURE__ */ memo(function DndProvider2(_param) {
55440
+ var DndProvider = /* @__PURE__ */ memo$1(function DndProvider2(_param) {
55024
55441
  var { children } = _param, props = _objectWithoutProperties(_param, [
55025
55442
  "children"
55026
55443
  ]);
@@ -57381,7 +57798,7 @@ function useFeatures(props, visualElement2, preloadedFeatures) {
57381
57798
  var name_1 = featureNames[i];
57382
57799
  var _a2 = featureDefinitions[name_1], isEnabled = _a2.isEnabled, Component2 = _a2.Component;
57383
57800
  if (isEnabled(props) && Component2) {
57384
- features.push(React$4.createElement(Component2, __assign$4({ key: name_1 }, props, { visualElement: visualElement2 })));
57801
+ features.push(React$4.createElement(Component2, __assign$3({ key: name_1 }, props, { visualElement: visualElement2 })));
57385
57802
  }
57386
57803
  }
57387
57804
  return features;
@@ -57622,7 +58039,7 @@ function useProjection(projectionId, _a2, visualElement2, ProjectionNodeConstruc
57622
58039
  var VisualElementHandler = (
57623
58040
  /** @class */
57624
58041
  function(_super) {
57625
- __extends$1(VisualElementHandler2, _super);
58042
+ __extends(VisualElementHandler2, _super);
57626
58043
  function VisualElementHandler2() {
57627
58044
  return _super !== null && _super.apply(this, arguments) || this;
57628
58045
  }
@@ -57648,20 +58065,20 @@ function createMotionComponent(_a2) {
57648
58065
  preloadedFeatures && loadFeatures(preloadedFeatures);
57649
58066
  function MotionComponent(props, externalRef) {
57650
58067
  var layoutId = useLayoutId(props);
57651
- props = __assign$4(__assign$4({}, props), { layoutId });
58068
+ props = __assign$3(__assign$3({}, props), { layoutId });
57652
58069
  var config = useContext(MotionConfigContext);
57653
58070
  var features = null;
57654
58071
  var context2 = useCreateMotionContext(props);
57655
58072
  var projectionId = config.isStatic ? void 0 : useProjectionId();
57656
58073
  var visualState = useVisualState(props, config.isStatic);
57657
58074
  if (!config.isStatic && isBrowser) {
57658
- context2.visualElement = useVisualElement(Component2, visualState, __assign$4(__assign$4({}, config), props), createVisualElement);
58075
+ context2.visualElement = useVisualElement(Component2, visualState, __assign$3(__assign$3({}, config), props), createVisualElement);
57659
58076
  useProjection(projectionId, props, context2.visualElement, projectionNodeConstructor || featureDefinitions.projectionNodeConstructor);
57660
58077
  features = useFeatures(props, context2.visualElement, preloadedFeatures);
57661
58078
  }
57662
58079
  return React$4.createElement(
57663
58080
  VisualElementHandler,
57664
- { visualElement: context2.visualElement, props: __assign$4(__assign$4({}, config), props) },
58081
+ { visualElement: context2.visualElement, props: __assign$3(__assign$3({}, config), props) },
57665
58082
  features,
57666
58083
  React$4.createElement(MotionContext.Provider, { value: context2 }, useRender(Component2, props, projectionId, useMotionRef(visualState, context2.visualElement, externalRef), visualState, config.isStatic, context2.visualElement))
57667
58084
  );
@@ -57987,7 +58404,7 @@ const filter = Object.assign(Object.assign({}, complex), { getAnimatableNone: (v
57987
58404
  const functions = v2.match(functionRegex);
57988
58405
  return functions ? functions.map(applyDefaultFilter).join(" ") : v2;
57989
58406
  } });
57990
- var int = __assign$4(__assign$4({}, number), { transform: Math.round });
58407
+ var int = __assign$3(__assign$3({}, number), { transform: Math.round });
57991
58408
  var numberValueTypes = {
57992
58409
  // Border props
57993
58410
  borderWidth: px,
@@ -58117,7 +58534,7 @@ function useInitialMotionValues(_a2, visualState, isStatic) {
58117
58534
  var state = createHtmlRenderState();
58118
58535
  buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);
58119
58536
  var vars = state.vars, style = state.style;
58120
- return __assign$4(__assign$4({}, vars), style);
58537
+ return __assign$3(__assign$3({}, vars), style);
58121
58538
  }, [visualState]);
58122
58539
  }
58123
58540
  function useStyle(props, visualState, isStatic) {
@@ -58275,18 +58692,18 @@ function buildSVGAttrs(state, _a2, options, transformTemplate) {
58275
58692
  }
58276
58693
  }
58277
58694
  var createSvgRenderState = function() {
58278
- return __assign$4(__assign$4({}, createHtmlRenderState()), { attrs: {} });
58695
+ return __assign$3(__assign$3({}, createHtmlRenderState()), { attrs: {} });
58279
58696
  };
58280
58697
  function useSVGProps(props, visualState) {
58281
58698
  var visualProps = useMemo(function() {
58282
58699
  var state = createSvgRenderState();
58283
58700
  buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, props.transformTemplate);
58284
- return __assign$4(__assign$4({}, state.attrs), { style: __assign$4({}, state.style) });
58701
+ return __assign$3(__assign$3({}, state.attrs), { style: __assign$3({}, state.style) });
58285
58702
  }, [visualState]);
58286
58703
  if (props.style) {
58287
58704
  var rawStyles = {};
58288
58705
  copyRawValuesOnly(rawStyles, props.style, props);
58289
- visualProps.style = __assign$4(__assign$4({}, rawStyles), visualProps.style);
58706
+ visualProps.style = __assign$3(__assign$3({}, rawStyles), visualProps.style);
58290
58707
  }
58291
58708
  return visualProps;
58292
58709
  }
@@ -58299,7 +58716,7 @@ function createUseRender(forwardMotionProps) {
58299
58716
  var useVisualProps = isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
58300
58717
  var visualProps = useVisualProps(props, latestValues, isStatic);
58301
58718
  var filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
58302
- var elementProps = __assign$4(__assign$4(__assign$4({}, filteredProps), visualProps), { ref });
58719
+ var elementProps = __assign$3(__assign$3(__assign$3({}, filteredProps), visualProps), { ref });
58303
58720
  if (projectionId) {
58304
58721
  elementProps["data-projection-id"] = projectionId;
58305
58722
  }
@@ -58476,7 +58893,7 @@ var htmlMotionConfig = {
58476
58893
  function createDomMotionConfig(Component2, _a2, preloadedFeatures, createVisualElement, projectionNodeConstructor) {
58477
58894
  var _b = _a2.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b;
58478
58895
  var baseConfig = isSVGComponent(Component2) ? svgMotionConfig : htmlMotionConfig;
58479
- return __assign$4(__assign$4({}, baseConfig), { preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement, projectionNodeConstructor, Component: Component2 });
58896
+ return __assign$3(__assign$3({}, baseConfig), { preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement, projectionNodeConstructor, Component: Component2 });
58480
58897
  }
58481
58898
  var AnimationType;
58482
58899
  (function(AnimationType2) {
@@ -59563,7 +59980,7 @@ function initIntersectionObserver(_a2) {
59563
59980
  var rootObservers = observers.get(lookupRoot);
59564
59981
  var key2 = JSON.stringify(options);
59565
59982
  if (!rootObservers[key2]) {
59566
- rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$4({ root: root2 }, options));
59983
+ rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$3({ root: root2 }, options));
59567
59984
  }
59568
59985
  return rootObservers[key2];
59569
59986
  }
@@ -59781,9 +60198,9 @@ var getDefaultTransition = function(valueKey, to2) {
59781
60198
  } else {
59782
60199
  transitionFactory = defaultTransitions[valueKey] || defaultTransitions.default;
59783
60200
  }
59784
- return __assign$4({ to: to2 }, transitionFactory(to2));
60201
+ return __assign$3({ to: to2 }, transitionFactory(to2));
59785
60202
  };
59786
- var defaultValueTypes = __assign$4(__assign$4({}, numberValueTypes), {
60203
+ var defaultValueTypes = __assign$3(__assign$3({}, numberValueTypes), {
59787
60204
  // Color props
59788
60205
  color,
59789
60206
  backgroundColor: color,
@@ -59825,7 +60242,7 @@ function isTransitionDefined(_a2) {
59825
60242
  var legacyRepeatWarning = false;
59826
60243
  function convertTransitionToAnimationOptions(_a2) {
59827
60244
  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);
60245
+ var options = __assign$3({}, transition);
59829
60246
  if (times)
59830
60247
  options["offset"] = times;
59831
60248
  if (transition.duration)
@@ -59872,9 +60289,9 @@ function getPopmotionAnimationOptions(transition, options, key2) {
59872
60289
  }
59873
60290
  hydrateKeyframes(options);
59874
60291
  if (!isTransitionDefined(transition)) {
59875
- transition = __assign$4(__assign$4({}, transition), getDefaultTransition(key2, options.to));
60292
+ transition = __assign$3(__assign$3({}, transition), getDefaultTransition(key2, options.to));
59876
60293
  }
59877
- return __assign$4(__assign$4({}, options), convertTransitionToAnimationOptions(transition));
60294
+ return __assign$3(__assign$3({}, options), convertTransitionToAnimationOptions(transition));
59878
60295
  }
59879
60296
  function getAnimation(key2, value, target, transition, onComplete) {
59880
60297
  var _a2;
@@ -59900,7 +60317,7 @@ function getAnimation(key2, value, target, transition, onComplete) {
59900
60317
  return value.set(v2);
59901
60318
  }
59902
60319
  };
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) {
60320
+ 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
60321
  var _a3;
59905
60322
  options.onUpdate(v2);
59906
60323
  (_a3 = valueTransition.onUpdate) === null || _a3 === void 0 ? void 0 : _a3.call(valueTransition, v2);
@@ -60153,7 +60570,7 @@ function setTarget(visualElement2, definition) {
60153
60570
  var _a2 = resolved ? visualElement2.makeTargetAnimatable(resolved, false) : {}, _b = _a2.transitionEnd, transitionEnd = _b === void 0 ? {} : _b;
60154
60571
  _a2.transition;
60155
60572
  var target = __rest$1(_a2, ["transitionEnd", "transition"]);
60156
- target = __assign$4(__assign$4({}, target), transitionEnd);
60573
+ target = __assign$3(__assign$3({}, target), transitionEnd);
60157
60574
  for (var key2 in target) {
60158
60575
  var value = resolveFinalValueInKeyframes(target[key2]);
60159
60576
  setMotionValue(visualElement2, key2, value);
@@ -60271,9 +60688,9 @@ function animateTarget(visualElement2, definition, _a2) {
60271
60688
  if (!value || valueTarget === void 0 || animationTypeState && shouldBlockAnimation(animationTypeState, key2)) {
60272
60689
  continue;
60273
60690
  }
60274
- var valueTransition = __assign$4({ delay }, transition);
60691
+ var valueTransition = __assign$3({ delay }, transition);
60275
60692
  if (visualElement2.shouldReduceMotion && isTransformProp(key2)) {
60276
- valueTransition = __assign$4(__assign$4({}, valueTransition), { type: false, delay: 0 });
60693
+ valueTransition = __assign$3(__assign$3({}, valueTransition), { type: false, delay: 0 });
60277
60694
  }
60278
60695
  var animation = startAnimation(key2, value, valueTarget, valueTransition);
60279
60696
  animations2.push(animation);
@@ -60306,7 +60723,7 @@ function animateChildren(visualElement2, variant, delayChildren, staggerChildren
60306
60723
  return maxStaggerDuration - i * staggerChildren;
60307
60724
  };
60308
60725
  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() {
60726
+ animations2.push(animateVariant(child, variant, __assign$3(__assign$3({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function() {
60310
60727
  return child.notifyAnimationComplete(variant);
60311
60728
  }));
60312
60729
  });
@@ -60350,7 +60767,7 @@ function createAnimationState(visualElement2) {
60350
60767
  if (resolved) {
60351
60768
  resolved.transition;
60352
60769
  var transitionEnd = resolved.transitionEnd, target = __rest$1(resolved, ["transition", "transitionEnd"]);
60353
- acc = __assign$4(__assign$4(__assign$4({}, acc), target), transitionEnd);
60770
+ acc = __assign$3(__assign$3(__assign$3({}, acc), target), transitionEnd);
60354
60771
  }
60355
60772
  return acc;
60356
60773
  };
@@ -60380,7 +60797,7 @@ function createAnimationState(visualElement2) {
60380
60797
  if (isInherited && isInitialRender && visualElement2.manuallyAnimateOnMount) {
60381
60798
  isInherited = false;
60382
60799
  }
60383
- typeState.protectedKeys = __assign$4({}, encounteredKeys);
60800
+ typeState.protectedKeys = __assign$3({}, encounteredKeys);
60384
60801
  if (
60385
60802
  // If it isn't active and hasn't *just* been set as inactive
60386
60803
  !typeState.isActive && activeDelta === null || // If we didn't and don't have any defined prop for this animation type
@@ -60398,7 +60815,7 @@ function createAnimationState(visualElement2) {
60398
60815
  if (activeDelta === false)
60399
60816
  resolvedValues = {};
60400
60817
  var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b;
60401
- var allKeys = __assign$4(__assign$4({}, prevResolvedValues), resolvedValues);
60818
+ var allKeys = __assign$3(__assign$3({}, prevResolvedValues), resolvedValues);
60402
60819
  var markToAnimate = function(key3) {
60403
60820
  shouldAnimateType = true;
60404
60821
  removedKeys.delete(key3);
@@ -60430,7 +60847,7 @@ function createAnimationState(visualElement2) {
60430
60847
  typeState.prevProp = prop;
60431
60848
  typeState.prevResolvedValues = resolvedValues;
60432
60849
  if (typeState.isActive) {
60433
- encounteredKeys = __assign$4(__assign$4({}, encounteredKeys), resolvedValues);
60850
+ encounteredKeys = __assign$3(__assign$3({}, encounteredKeys), resolvedValues);
60434
60851
  }
60435
60852
  if (isInitialRender && visualElement2.blockInitialAnimation) {
60436
60853
  shouldAnimateType = false;
@@ -60439,7 +60856,7 @@ function createAnimationState(visualElement2) {
60439
60856
  animations2.push.apply(animations2, __spreadArray$2([], __read(definitionList.map(function(animation) {
60440
60857
  return {
60441
60858
  animation,
60442
- options: __assign$4({ type }, options)
60859
+ options: __assign$3({ type }, options)
60443
60860
  };
60444
60861
  })), false));
60445
60862
  }
@@ -60447,7 +60864,7 @@ function createAnimationState(visualElement2) {
60447
60864
  for (var i = 0; i < numAnimationTypes; i++) {
60448
60865
  _loop_1(i);
60449
60866
  }
60450
- allAnimatedKeys = __assign$4({}, encounteredKeys);
60867
+ allAnimatedKeys = __assign$3({}, encounteredKeys);
60451
60868
  if (removedKeys.size) {
60452
60869
  var fallbackAnimation_1 = {};
60453
60870
  removedKeys.forEach(function(key2) {
@@ -60555,7 +60972,7 @@ var PanSession = (
60555
60972
  return;
60556
60973
  var point2 = info3.point;
60557
60974
  var timestamp2 = getFrameData().timestamp;
60558
- _this.history.push(__assign$4(__assign$4({}, point2), { timestamp: timestamp2 }));
60975
+ _this.history.push(__assign$3(__assign$3({}, point2), { timestamp: timestamp2 }));
60559
60976
  var _a3 = _this.handlers, onStart = _a3.onStart, onMove = _a3.onMove;
60560
60977
  if (!isPanStarted) {
60561
60978
  onStart && onStart(_this.lastMoveEvent, info3);
@@ -60589,7 +61006,7 @@ var PanSession = (
60589
61006
  var initialInfo = transformPoint(info2, this.transformPagePoint);
60590
61007
  var point = initialInfo.point;
60591
61008
  var timestamp = getFrameData().timestamp;
60592
- this.history = [__assign$4(__assign$4({}, point), { timestamp })];
61009
+ this.history = [__assign$3(__assign$3({}, point), { timestamp })];
60593
61010
  var onSessionStart = handlers2.onSessionStart;
60594
61011
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
60595
61012
  this.removeListeners = pipe(addPointerEvent(window, "pointermove", this.handlePointerMove), addPointerEvent(window, "pointerup", this.handlePointerUp), addPointerEvent(window, "pointercancel", this.handlePointerUp));
@@ -61110,7 +61527,7 @@ var VisualElementDragControls = (
61110
61527
  transition = { min: 0, max: 0 };
61111
61528
  var bounceStiffness = dragElastic ? 200 : 1e6;
61112
61529
  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);
61530
+ var inertia2 = __assign$3(__assign$3({ type: "inertia", velocity: dragMomentum ? velocity[axis] : 0, bounceStiffness, bounceDamping, timeConstant: 750, restDelta: 1, restSpeed: 10 }, dragTransition), transition);
61114
61531
  return _this.startAxisValueAnimation(axis, inertia2);
61115
61532
  });
61116
61533
  return Promise.all(momentumAnimations).then(onDragTransitionEnd);
@@ -61221,7 +61638,7 @@ var VisualElementDragControls = (
61221
61638
  VisualElementDragControls2.prototype.getProps = function() {
61222
61639
  var props = this.visualElement.getProps();
61223
61640
  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 });
61641
+ return __assign$3(__assign$3({}, props), { drag: drag2, dragDirectionLock, dragPropagation, dragConstraints, dragElastic, dragMomentum });
61225
61642
  };
61226
61643
  return VisualElementDragControls2;
61227
61644
  }()
@@ -61378,7 +61795,7 @@ var visualElement = function(_a2) {
61378
61795
  var values2 = /* @__PURE__ */ new Map();
61379
61796
  var valueSubscriptions = /* @__PURE__ */ new Map();
61380
61797
  var prevMotionValues = {};
61381
- var baseTarget = __assign$4({}, latestValues);
61798
+ var baseTarget = __assign$3({}, latestValues);
61382
61799
  var removeFromVariantTree;
61383
61800
  function render2() {
61384
61801
  if (!instance || !isMounted)
@@ -61412,7 +61829,7 @@ var visualElement = function(_a2) {
61412
61829
  }
61413
61830
  var isControllingVariants = checkIfControllingVariants(props);
61414
61831
  var isVariantNode = checkIfVariantNode(props);
61415
- var element = __assign$4(__assign$4({
61832
+ var element = __assign$3(__assign$3({
61416
61833
  treeType,
61417
61834
  /**
61418
61835
  * This is a mirror of the internal instance prop, which keeps
@@ -61777,7 +62194,7 @@ function resolveCSSVariables(visualElement2, _a2, transitionEnd) {
61777
62194
  if (!(element instanceof Element))
61778
62195
  return { target, transitionEnd };
61779
62196
  if (transitionEnd) {
61780
- transitionEnd = __assign$4({}, transitionEnd);
62197
+ transitionEnd = __assign$3({}, transitionEnd);
61781
62198
  }
61782
62199
  visualElement2.forEachValue(function(value) {
61783
62200
  var current2 = value.get();
@@ -61932,8 +62349,8 @@ var checkAndConvertChangedValueTypes = function(visualElement2, target, origin,
61932
62349
  if (transitionEnd === void 0) {
61933
62350
  transitionEnd = {};
61934
62351
  }
61935
- target = __assign$4({}, target);
61936
- transitionEnd = __assign$4({}, transitionEnd);
62352
+ target = __assign$3({}, target);
62353
+ transitionEnd = __assign$3({}, transitionEnd);
61937
62354
  var targetPositionalKeys = Object.keys(target).filter(isPositionalKey);
61938
62355
  var removedTransformValues = [];
61939
62356
  var hasAttemptedToRemoveTransformValues = false;
@@ -62086,7 +62503,7 @@ var htmlConfig = {
62086
62503
  transitionEnd = parsed.transitionEnd;
62087
62504
  target = parsed.target;
62088
62505
  }
62089
- return __assign$4({ transition, transitionEnd }, target);
62506
+ return __assign$3({ transition, transitionEnd }, target);
62090
62507
  },
62091
62508
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps$1,
62092
62509
  build: function(element, renderState, latestValues, options, props) {
@@ -62098,7 +62515,7 @@ var htmlConfig = {
62098
62515
  render: renderHTML
62099
62516
  };
62100
62517
  var htmlVisualElement = visualElement(htmlConfig);
62101
- var svgVisualElement = visualElement(__assign$4(__assign$4({}, htmlConfig), { getBaseTarget: function(props, key2) {
62518
+ var svgVisualElement = visualElement(__assign$3(__assign$3({}, htmlConfig), { getBaseTarget: function(props, key2) {
62102
62519
  return props[key2];
62103
62520
  }, readValueFromInstance: function(domElement, key2) {
62104
62521
  var _a2;
@@ -62176,7 +62593,7 @@ var correctBoxShadow = {
62176
62593
  var MeasureLayoutWithContext = (
62177
62594
  /** @class */
62178
62595
  function(_super) {
62179
- __extends$1(MeasureLayoutWithContext2, _super);
62596
+ __extends(MeasureLayoutWithContext2, _super);
62180
62597
  function MeasureLayoutWithContext2() {
62181
62598
  return _super !== null && _super.apply(this, arguments) || this;
62182
62599
  }
@@ -62195,7 +62612,7 @@ var MeasureLayoutWithContext = (
62195
62612
  projection.addEventListener("animationComplete", function() {
62196
62613
  _this.safeToRemove();
62197
62614
  });
62198
- projection.setOptions(__assign$4(__assign$4({}, projection.options), { onExitComplete: function() {
62615
+ projection.setOptions(__assign$3(__assign$3({}, projection.options), { onExitComplete: function() {
62199
62616
  return _this.safeToRemove();
62200
62617
  } }));
62201
62618
  }
@@ -62260,10 +62677,10 @@ var MeasureLayoutWithContext = (
62260
62677
  function MeasureLayout(props) {
62261
62678
  var _a2 = __read(usePresence(), 2), isPresent = _a2[0], safeToRemove = _a2[1];
62262
62679
  var layoutGroup = useContext(LayoutGroupContext);
62263
- return React__default.createElement(MeasureLayoutWithContext, __assign$4({}, props, { layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove }));
62680
+ return React__default.createElement(MeasureLayoutWithContext, __assign$3({}, props, { layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove }));
62264
62681
  }
62265
62682
  var defaultScaleCorrectors = {
62266
- borderRadius: __assign$4(__assign$4({}, correctBorderRadius), { applyTo: [
62683
+ borderRadius: __assign$3(__assign$3({}, correctBorderRadius), { applyTo: [
62267
62684
  "borderTopLeftRadius",
62268
62685
  "borderTopRightRadius",
62269
62686
  "borderBottomLeftRadius",
@@ -62686,7 +63103,7 @@ function createProjectionNode(_a2) {
62686
63103
  _this.resumingFrom.resumingFrom = void 0;
62687
63104
  }
62688
63105
  _this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
62689
- var animationOptions = __assign$4(__assign$4({}, getValueTransition(layoutTransition, "layout")), { onPlay: onLayoutAnimationStart, onComplete: onLayoutAnimationComplete });
63106
+ var animationOptions = __assign$3(__assign$3({}, getValueTransition(layoutTransition, "layout")), { onPlay: onLayoutAnimationStart, onComplete: onLayoutAnimationComplete });
62690
63107
  if (visualElement2.shouldReduceMotion) {
62691
63108
  animationOptions.delay = 0;
62692
63109
  animationOptions.type = false;
@@ -62940,7 +63357,7 @@ function createProjectionNode(_a2) {
62940
63357
  };
62941
63358
  ProjectionNode.prototype.setOptions = function(options) {
62942
63359
  var _a3;
62943
- this.options = __assign$4(__assign$4(__assign$4({}, this.options), options), { crossfade: (_a3 = options.crossfade) !== null && _a3 !== void 0 ? _a3 : true });
63360
+ this.options = __assign$3(__assign$3(__assign$3({}, this.options), options), { crossfade: (_a3 = options.crossfade) !== null && _a3 !== void 0 ? _a3 : true });
62944
63361
  };
62945
63362
  ProjectionNode.prototype.clearMeasurements = function() {
62946
63363
  this.scroll = void 0;
@@ -63058,7 +63475,7 @@ function createProjectionNode(_a2) {
63058
63475
  }
63059
63476
  var snapshot = this.snapshot;
63060
63477
  var snapshotLatestValues = (snapshot === null || snapshot === void 0 ? void 0 : snapshot.latestValues) || {};
63061
- var mixedValues = __assign$4({}, this.latestValues);
63478
+ var mixedValues = __assign$3({}, this.latestValues);
63062
63479
  var targetDelta = createDelta();
63063
63480
  this.relativeTarget = this.relativeTargetOrigin = void 0;
63064
63481
  this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;
@@ -63101,7 +63518,7 @@ function createProjectionNode(_a2) {
63101
63518
  }
63102
63519
  this.pendingAnimation = sync.update(function() {
63103
63520
  globalProjectionState.hasAnimatedSinceResize = true;
63104
- _this.currentAnimation = animate(0, animationTarget, __assign$4(__assign$4({}, options), { onUpdate: function(latest) {
63521
+ _this.currentAnimation = animate(0, animationTarget, __assign$3(__assign$3({}, options), { onUpdate: function(latest) {
63105
63522
  var _a4;
63106
63523
  _this.mixTargetDelta(latest);
63107
63524
  (_a4 = options.onUpdate) === null || _a4 === void 0 ? void 0 : _a4.call(options, latest);
@@ -63469,7 +63886,7 @@ var HTMLProjectionNode = createProjectionNode({
63469
63886
  return Boolean(window.getComputedStyle(instance).position === "fixed");
63470
63887
  }
63471
63888
  });
63472
- var featureBundle = __assign$4(__assign$4(__assign$4(__assign$4({}, animations), gestureAnimations), drag), layoutFeatures);
63889
+ var featureBundle = __assign$3(__assign$3(__assign$3(__assign$3({}, animations), gestureAnimations), drag), layoutFeatures);
63473
63890
  var motion = /* @__PURE__ */ createMotionProxy(function(Component2, config) {
63474
63891
  return createDomMotionConfig(Component2, config, featureBundle, createDomVisualElement, HTMLProjectionNode);
63475
63892
  });
@@ -66545,41 +66962,6 @@ const SmartUploadModal = ({
66545
66962
  }
66546
66963
  ) });
66547
66964
  };
66548
- const SettingField = ({
66549
- helpText,
66550
- active: active2 = true,
66551
- children,
66552
- noPermission = false,
66553
- selectedOption,
66554
- handleSelectChange
66555
- }) => {
66556
- const options = [
66557
- { label: "All users", value: "all_users" },
66558
- { label: "Admin only", value: "superusers_admin" }
66559
- ];
66560
- return /* @__PURE__ */ jsxs("div", { children: [
66561
- /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", children: [
66562
- children,
66563
- !noPermission && /* @__PURE__ */ jsx(
66564
- Select,
66565
- {
66566
- small: true,
66567
- searchable: false,
66568
- name: "userType",
66569
- options,
66570
- value: selectedOption,
66571
- disabled: !active2,
66572
- onChange: handleSelectChange ? (e2) => handleSelectChange(
66573
- e2.target.value
66574
- ) : void 0,
66575
- "aria-label": "Select user type",
66576
- width: "auto"
66577
- }
66578
- )
66579
- ] }),
66580
- /* @__PURE__ */ jsx(Text, { muted: true, children: helpText })
66581
- ] });
66582
- };
66583
66965
  export {
66584
66966
  Accordion,
66585
66967
  AccordionWithDefaultToggle,
@@ -66643,7 +67025,6 @@ export {
66643
67025
  RichTextInput,
66644
67026
  Row$1 as Row,
66645
67027
  Select,
66646
- SettingField,
66647
67028
  SideBar,
66648
67029
  Slider,
66649
67030
  SmartUploadModal,