@oliasoft-open-source/react-ui-library 4.18.0-beta-1 → 4.18.0-beta-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -11,11 +11,11 @@ var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "
11
11
  var _docChanged, _ignoreNextExit, _suggesters, _next, _prev, _handlerMatches, _ignored, _removed, _lastChangeFromAppend, _a;
12
12
  import { jsx, jsxs, Fragment as Fragment$1 } from "react/jsx-runtime";
13
13
  import * as React$4 from "react";
14
- import React__default, { useContext, isValidElement, useState, useRef, useEffect, useCallback, createElement, forwardRef, useMemo, useLayoutEffect as useLayoutEffect$1, createContext, useReducer, useDebugValue, Fragment as Fragment$2, memo as memo$1, 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, Component as Component$1, memo, 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, 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";
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";
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 = function(d2, b2) {
226
- extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
225
+ var extendStatics$1 = function(d2, b2) {
226
+ extendStatics$1 = 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(d2, b2);
231
+ return extendStatics$1(d2, b2);
232
232
  };
233
- function __extends(d2, b2) {
233
+ function __extends$1(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(d2, b2);
236
+ extendStatics$1(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$3 = function() {
243
- __assign$3 = Object.assign || function __assign2(t) {
242
+ var __assign$4 = function() {
243
+ __assign$4 = 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$3.apply(this, arguments);
250
+ return __assign$4.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$2 = function() {
887
- __assign$2 = Object.assign || function(t) {
886
+ var __assign$3 = function() {
887
+ __assign$3 = 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$2.apply(this, arguments);
894
+ return __assign$3.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$2({
906
+ return React__default.createElement(node2.tag, __assign$3({
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$2({
914
- attr: __assign$2({}, data.attr)
913
+ return React__default.createElement(IconBase, __assign$3({
914
+ attr: __assign$3({}, 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$2({
925
+ return React__default.createElement("svg", __assign$3({
926
926
  stroke: "currentColor",
927
927
  fill: "currentColor",
928
928
  strokeWidth: "0"
929
929
  }, conf.attr, attr, svgProps, {
930
930
  className,
931
- style: __assign$2(__assign$2({
931
+ style: __assign$3(__assign$3({
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$1(callback, delay) {
1811
+ function throttle$2(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$1(this.refresh.bind(this), REFRESH_DELAY);
1853
+ this.refresh = throttle$2(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$6 = typeof window !== "undefined" ? useLayoutEffect$1 : useEffect;
2357
+ var useIsomorphicLayoutEffect$5 = 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$6(function() {
2605
+ useIsomorphicLayoutEffect$5(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$6(function() {
2615
+ useIsomorphicLayoutEffect$5(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$6(function() {
2627
+ useIsomorphicLayoutEffect$5(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$1 = function() {
5312
- __assign$1 = Object.assign || function __assign2(t) {
5311
+ var __assign$2 = function() {
5312
+ __assign$2 = 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$1.apply(this, arguments);
5319
+ return __assign$2.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$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() {
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() {
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$1(__assign$1({}, this.options), n2), this.gs, o && this.names || void 0);
6175
+ return void 0 === o && (o = true), new e2(__assign$2(__assign$2({}, 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$1(__assign$1({}, n2), { className: void 0, theme: o }), i3 = 0; i3 < e5.length; i3 += 1) {
6348
+ for (var r5, s3 = __assign$2(__assign$2({}, 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$1(__assign$1({}, 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$2(__assign$2({}, 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$1(__assign$1({}, r2), { attrs: Array.prototype.concat(r2.attrs, e2).filter(Boolean) }));
6406
+ return ut(n2, o, __assign$2(__assign$2({}, r2), { attrs: Array.prototype.concat(r2.attrs, e2).filter(Boolean) }));
6407
6407
  }, s.withConfig = function(e2) {
6408
- return ut(n2, o, __assign$1(__assign$1({}, r2), e2));
6408
+ return ut(n2, o, __assign$2(__assign$2({}, r2), e2));
6409
6409
  }, s;
6410
6410
  }
6411
6411
  var pt$1 = function(e2) {
@@ -9501,803 +9501,383 @@ 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
- 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;
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];
9545
9523
  };
9546
- }
9547
- function notUndefined(value, msg2) {
9548
- if (value === void 0) {
9549
- throw new Error(`Unexpected undefined${""}`);
9550
- } else {
9551
- return value;
9524
+ return extendStatics(d2, b2);
9525
+ };
9526
+ function __extends(d2, b2) {
9527
+ extendStatics(d2, b2);
9528
+ function __() {
9529
+ this.constructor = d2;
9552
9530
  }
9531
+ d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __());
9553
9532
  }
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);
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;
9560
9540
  };
9541
+ return __assign$1.apply(this, arguments);
9561
9542
  };
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);
9569
- }
9570
- return arr;
9571
- };
9572
- const observeElementRect = (instance, cb2) => {
9573
- const element = instance.scrollElement;
9574
- if (!element) {
9575
- return;
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
+ }
9576
9551
  }
9577
- const targetWindow = instance.targetWindow;
9578
- if (!targetWindow) {
9579
- return;
9552
+ function cancel() {
9553
+ clearExistingTimeout();
9554
+ cancelled = true;
9580
9555
  }
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
- };
9556
+ if (typeof noTrailing !== "boolean") {
9557
+ debounceMode = callback;
9558
+ callback = noTrailing;
9559
+ noTrailing = void 0;
9589
9560
  }
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
- }
9561
+ function wrapper2() {
9562
+ var self2 = this;
9563
+ var elapsed = Date.now() - lastExec;
9564
+ var args = arguments;
9565
+ if (cancelled) {
9566
+ return;
9598
9567
  }
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;
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();
9577
+ }
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);
9651
9583
  }
9652
9584
  }
9653
- return Math.round(
9654
- element.getBoundingClientRect()[instance.options.horizontal ? "width" : "height"]
9655
- );
9585
+ wrapper2.cancel = cancel;
9586
+ return wrapper2;
9587
+ }
9588
+ var ThresholdUnits = {
9589
+ Pixel: "Pixel",
9590
+ Percent: "Percent"
9656
9591
  };
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
- });
9592
+ var defaultThreshold$1 = {
9593
+ unit: ThresholdUnits.Percent,
9594
+ value: 0.8
9667
9595
  };
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
- });
9697
- };
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$/)) {
9698
9605
  return {
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);
9711
- }
9606
+ unit: ThresholdUnits.Pixel,
9607
+ value: parseFloat(scrollThreshold)
9712
9608
  };
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
9609
+ }
9610
+ if (scrollThreshold.match(/^(\d*(\.\d+)?)%$/)) {
9611
+ return {
9612
+ unit: ThresholdUnits.Percent,
9613
+ value: parseFloat(scrollThreshold)
9744
9614
  };
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();
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 ");
9642
+ }
9643
+ return null;
9782
9644
  };
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();
9645
+ _this.onStart = function(evt) {
9646
+ if (_this.lastScrollTop)
9791
9647
  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;
9792
9653
  }
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;
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)";
9798
9658
  }
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;
9846
- }
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);
9854
- }
9855
- if (furthestMeasurementsFound.size === this.options.lanes) {
9856
- break;
9857
- }
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;
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;
9862
9667
  }
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);
9668
+ if (_this.currentY < _this.startY)
9669
+ return;
9670
+ if (_this.currentY - _this.startY >= Number(_this.props.pullDownToRefreshThreshold)) {
9671
+ _this.setState({
9672
+ pullToRefreshThresholdBreached: true
9900
9673
  });
9901
9674
  }
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
- };
9921
- }
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);
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)";
9986
9680
  }
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));
9992
- }
9993
- };
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
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
10009
9690
  });
10010
9691
  }
10011
- this.pendingMeasuredCacheIndexes.push(item2.index);
10012
- this.itemSizeCache = new Map(this.itemSizeCache.set(item2.key, size2));
10013
- this.notify(false);
10014
- }
10015
- };
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);
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";
10022
9697
  }
10023
9698
  });
10024
- return;
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
- );
10057
- };
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";
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);
9705
+ }
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();
9714
+ }
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'`);
10068
9753
  }
10069
9754
  }
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);
10081
9755
  };
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;
10087
- }
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];
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);
10097
9766
  }
10098
9767
  }
10099
- const toOffset = align === "end" ? item2.end + this.options.scrollPaddingEnd : item2.start - this.options.scrollPaddingStart;
10100
- return [this.getOffsetForAlignment(toOffset, align), align];
10101
9768
  };
10102
- this.isDynamicMode = () => this.elementsCache.size > 0;
10103
- this.cancelScrollToIndex = () => {
10104
- if (this.scrollToIndexTimeoutId !== null && this.targetWindow) {
10105
- this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId);
10106
- this.scrollToIndexTimeoutId = null;
10107
- }
9769
+ InfiniteScroll2.prototype.componentDidUpdate = function(prevProps) {
9770
+ if (this.props.dataLength === prevProps.dataLength)
9771
+ return;
9772
+ this.actionTriggered = false;
9773
+ this.setState({
9774
+ showLoader: false
9775
+ });
10108
9776
  };
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
- );
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 });
10115
9781
  }
10116
- this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {
10117
- adjustments: void 0,
10118
- behavior
10119
- });
9782
+ return null;
10120
9783
  };
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
- );
9784
+ InfiniteScroll2.prototype.isElementAtTop = function(target, scrollThreshold) {
9785
+ if (scrollThreshold === void 0) {
9786
+ scrollThreshold = 0.8;
10128
9787
  }
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
- });
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;
10150
9792
  }
9793
+ return target.scrollTop <= threshold.value / 100 + clientHeight - target.scrollHeight + 1;
10151
9794
  };
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
- );
9795
+ InfiniteScroll2.prototype.isElementAtBottom = function(target, scrollThreshold) {
9796
+ if (scrollThreshold === void 0) {
9797
+ scrollThreshold = 0.8;
10158
9798
  }
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
- );
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;
10174
9803
  }
10175
- return Math.max(
10176
- end - this.options.scrollMargin + this.options.paddingEnd,
10177
- 0
10178
- );
10179
- };
10180
- this._scrollToOffset = (offset, {
10181
- adjustments,
10182
- behavior
10183
- }) => {
10184
- this.options.scrollToFn(offset, { behavior, adjustments }, this);
9804
+ return target.scrollTop + clientHeight >= threshold.value / 100 * target.scrollHeight;
10185
9805
  };
10186
- this.measure = () => {
10187
- this.itemSizeCache = /* @__PURE__ */ new Map();
10188
- this.notify(false);
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
+ )
9836
+ );
10189
9837
  };
10190
- this.setOptions(opts);
10191
- }
10192
- }
10193
- const findNearestBinarySearch = (low, high, getCurrentValue, value) => {
10194
- while (low <= high) {
10195
- const middle = (low + high) / 2 | 0;
10196
- const currentValue = getCurrentValue(middle);
10197
- if (currentValue < value) {
10198
- low = middle + 1;
10199
- } else if (currentValue > value) {
10200
- high = middle - 1;
10201
- } else {
10202
- return middle;
10203
- }
10204
- }
10205
- if (low > 0) {
10206
- return low - 1;
10207
- } else {
10208
- return 0;
10209
- }
10210
- };
10211
- function calculateRange({
10212
- measurements,
10213
- outerSize,
10214
- scrollOffset
10215
- }) {
10216
- const count = measurements.length - 1;
10217
- const getOffset2 = (index2) => measurements[index2].start;
10218
- const startIndex = findNearestBinarySearch(0, count, getOffset2, scrollOffset);
10219
- let endIndex = startIndex;
10220
- while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {
10221
- endIndex++;
10222
- }
10223
- return { startIndex, endIndex };
10224
- }
10225
- const useIsomorphicLayoutEffect$5 = typeof document !== "undefined" ? React$4.useLayoutEffect : React$4.useEffect;
10226
- function useVirtualizerBase(options) {
10227
- const rerender = React$4.useReducer(() => ({}), {})[1];
10228
- const resolvedOptions = {
10229
- ...options,
10230
- onChange: (instance2, sync2) => {
10231
- var _a2;
10232
- if (sync2) {
10233
- flushSync$1(rerender);
10234
- } else {
10235
- rerender();
10236
- }
10237
- (_a2 = options.onChange) == null ? void 0 : _a2.call(options, instance2, sync2);
10238
- }
10239
- };
10240
- const [instance] = React$4.useState(
10241
- () => new Virtualizer(resolvedOptions)
10242
- );
10243
- instance.setOptions(resolvedOptions);
10244
- React$4.useEffect(() => {
10245
- return instance._didMount();
10246
- }, []);
10247
- useIsomorphicLayoutEffect$5(() => {
10248
- return instance._willUpdate();
10249
- });
10250
- return instance;
10251
- }
10252
- function useVirtualizer(options) {
10253
- return useVirtualizerBase({
10254
- observeElementRect,
10255
- observeElementOffset,
10256
- scrollToFn: elementScroll,
10257
- ...options
10258
- });
10259
- }
10260
- const inputInTable$8 = "_inputInTable_snjei_1";
10261
- const inputHover$8 = "_inputHover_snjei_13";
10262
- const inputFocus$8 = "_inputFocus_snjei_18";
10263
- const inputError$8 = "_inputError_snjei_25";
10264
- const inputWarning$8 = "_inputWarning_snjei_26";
10265
- const inputDisabled$8 = "_inputDisabled_snjei_61";
10266
- const hideScrollbars$8 = "_hideScrollbars_snjei_67";
10267
- const list$1 = "_list_snjei_77";
10268
- const bordered$1 = "_bordered_snjei_83";
10269
- const virtualRow = "_virtualRow_snjei_87";
10270
- const item$4 = "_item_snjei_87";
10271
- const header$1 = "_header_snjei_90";
10272
- const headerTitle = "_headerTitle_snjei_90";
10273
- const heading$3 = "_heading_snjei_91";
10274
- const itemHeader = "_itemHeader_snjei_91";
10275
- const narrow = "_narrow_snjei_94";
10276
- const stickyHeader = "_stickyHeader_snjei_98";
10277
- const title$3 = "_title_snjei_109";
10278
- const name = "_name_snjei_115";
10279
- const iconTooltipMargin = "_iconTooltipMargin_snjei_118";
10280
- const bold = "_bold_snjei_121";
10281
- const toggleNarrow = "_toggleNarrow_snjei_132";
10282
- const drag$1 = "_drag_snjei_150";
10283
- const dragOverlay$1 = "_dragOverlay_snjei_171";
10284
- const listContent = "_listContent_snjei_176";
10285
- const action = "_action_snjei_203";
10286
- const active$3 = "_active_snjei_206";
10287
- const indented = "_indented_snjei_213";
10288
- const disabled$5 = "_disabled_snjei_226";
10289
- const label$6 = "_label_snjei_237";
10290
- const details$2 = "_details_snjei_248";
10291
- const metadata = "_metadata_snjei_249";
10292
- const itemContent = "_itemContent_snjei_257";
10293
- const indentIcon = "_indentIcon_snjei_264";
10294
- const expandIcon = "_expandIcon_snjei_269";
10295
- const expanded = "_expanded_snjei_276";
10296
- const right$4 = "_right_snjei_279";
10297
- const actions = "_actions_snjei_287";
10298
- const hideScrollbar = "_hideScrollbar_snjei_67";
10299
- const noPointerEvents = "_noPointerEvents_snjei_302";
10300
- const virtualRows = "_virtualRows_snjei_305";
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";
10301
9881
  const listStyles = {
10302
9882
  inputInTable: inputInTable$8,
10303
9883
  inputHover: inputHover$8,
@@ -10306,10 +9886,6 @@ const listStyles = {
10306
9886
  inputWarning: inputWarning$8,
10307
9887
  inputDisabled: inputDisabled$8,
10308
9888
  hideScrollbars: hideScrollbars$8,
10309
- list: list$1,
10310
- bordered: bordered$1,
10311
- virtualRow,
10312
- item: item$4,
10313
9889
  header: header$1,
10314
9890
  headerTitle,
10315
9891
  heading: heading$3,
@@ -10323,7 +9899,9 @@ const listStyles = {
10323
9899
  toggleNarrow,
10324
9900
  drag: drag$1,
10325
9901
  dragOverlay: dragOverlay$1,
10326
- listContent,
9902
+ list: list$1,
9903
+ bordered: bordered$1,
9904
+ item: item$4,
10327
9905
  action,
10328
9906
  active: active$3,
10329
9907
  indented,
@@ -10337,9 +9915,10 @@ const listStyles = {
10337
9915
  expanded,
10338
9916
  right: right$4,
10339
9917
  actions,
9918
+ scrollableList,
9919
+ infiniteScrollContainer,
10340
9920
  hideScrollbar,
10341
- noPointerEvents,
10342
- virtualRows
9921
+ noPointerEvents
10343
9922
  };
10344
9923
  const ToggleNarrow = ({
10345
9924
  toggleNarrow: toggleNarrow2,
@@ -10564,9 +10143,9 @@ function isTouchEvent$2(event) {
10564
10143
  return false;
10565
10144
  }
10566
10145
  const {
10567
- TouchEvent
10146
+ TouchEvent: TouchEvent2
10568
10147
  } = getWindow(event.target);
10569
- return TouchEvent && event instanceof TouchEvent;
10148
+ return TouchEvent2 && event instanceof TouchEvent2;
10570
10149
  }
10571
10150
  function getEventCoordinates(event) {
10572
10151
  if (isTouchEvent$2(event)) {
@@ -12984,7 +12563,7 @@ var Status;
12984
12563
  Status2[Status2["Initializing"] = 1] = "Initializing";
12985
12564
  Status2[Status2["Initialized"] = 2] = "Initialized";
12986
12565
  })(Status || (Status = {}));
12987
- const DndContext$1 = /* @__PURE__ */ memo$1(function DndContext(_ref) {
12566
+ const DndContext$1 = /* @__PURE__ */ memo(function DndContext(_ref) {
12988
12567
  var _sensorContext$curren, _dragOverlay$nodeRef$, _dragOverlay$rect, _over$rect;
12989
12568
  let {
12990
12569
  id: id2,
@@ -14622,6 +14201,72 @@ const ListRow = forwardRef(
14622
14201
  return isSubheading ? /* @__PURE__ */ jsx(ListSubheading, { ref: listRowRefs, item: item2, index: index2 }, index2) : draggable ? listElementWithDrag(index2, item2) : listElement(index2, item2);
14623
14202
  }
14624
14203
  );
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
+ };
14625
14270
  const ListDragWrapper = ({
14626
14271
  children,
14627
14272
  draggable,
@@ -14636,14 +14281,15 @@ const ListDragWrapper = ({
14636
14281
  setDragIndex(event.active.id);
14637
14282
  };
14638
14283
  const handleDragEnd = (event) => {
14284
+ var _a2, _b, _c, _d, _e2, _f, _g, _h;
14639
14285
  setDragIndex(null);
14640
14286
  const { active: active2, over } = event;
14641
- const from3 = active2 == null ? void 0 : active2.id;
14642
- const to2 = over == null ? void 0 : over.id;
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;
14643
14289
  if (from3 !== to2) {
14644
14290
  onListReorder({
14645
- from: Number(from3),
14646
- to: Number(to2)
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
14647
14293
  });
14648
14294
  }
14649
14295
  };
@@ -14692,26 +14338,58 @@ const List = ({
14692
14338
  height: height2,
14693
14339
  testId,
14694
14340
  scrollDetails = {
14341
+ scrollable: false,
14695
14342
  hideScrollbar: false,
14696
- triggerScrollToActiveItem: false
14343
+ triggerScrollToActiveItem: false,
14344
+ infiniteScroll: false,
14345
+ limit: 10,
14346
+ infiniteScrollTarget: void 0
14697
14347
  }
14698
14348
  }) => {
14699
- const { hideScrollbar: hideScrollbar2, triggerScrollToActiveItem } = scrollDetails;
14349
+ const {
14350
+ scrollable,
14351
+ hideScrollbar: hideScrollbar2,
14352
+ triggerScrollToActiveItem,
14353
+ infiniteScroll,
14354
+ infiniteScrollTarget
14355
+ } = scrollDetails;
14356
+ const listHeadingRef = useRef(null);
14357
+ const listRowRefs = useRef([]);
14700
14358
  const listContainerRef = useRef(null);
14701
- const MIN_ITEM_HEIGHT = 37;
14702
- const virtualizer = useVirtualizer({
14703
- count: list2.items.length,
14704
- getScrollElement: () => listContainerRef.current,
14705
- estimateSize: () => MIN_ITEM_HEIGHT,
14706
- overscan: 5
14707
- });
14359
+ const MIN_ITEM_HEIGHT = 44;
14360
+ const pageSize = infiniteScroll ? Math.ceil(window.innerHeight / MIN_ITEM_HEIGHT) : list2.items.length;
14361
+ const [numVisibleRows, setNumVisibleRows] = useState(pageSize);
14362
+ const [hasMore, setHasMore] = useState(numVisibleRows < (list2 == null ? void 0 : list2.items.length));
14363
+ useEffect(() => {
14364
+ listRowRefs.current = listRowRefs.current.slice(0, list2.items.length);
14365
+ }, [list2.items.length]);
14366
+ const loadMoreItems = () => {
14367
+ if (numVisibleRows >= list2.items.length) {
14368
+ setHasMore(false);
14369
+ return;
14370
+ }
14371
+ const newVisibleRows = pageSize + numVisibleRows;
14372
+ setNumVisibleRows(newVisibleRows);
14373
+ };
14708
14374
  const findFirstActiveItemIndex = (items) => items.findIndex((item2) => item2.active === true);
14709
14375
  const setScrollToActiveItem = (activeItemIndex) => {
14710
- if (activeItemIndex >= 0) {
14711
- virtualizer.scrollToIndex(activeItemIndex, {
14712
- align: "center",
14713
- behavior: "smooth"
14714
- });
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;
14715
14393
  }
14716
14394
  };
14717
14395
  useEffect(() => {
@@ -14719,19 +14397,24 @@ const List = ({
14719
14397
  const activeItemIndex = findFirstActiveItemIndex(list2 == null ? void 0 : list2.items);
14720
14398
  setScrollToActiveItem(activeItemIndex);
14721
14399
  }
14722
- }, [triggerScrollToActiveItem]);
14723
- return /* @__PURE__ */ jsxs(
14400
+ }, [
14401
+ listContainerRef.current,
14402
+ listHeadingRef.current,
14403
+ triggerScrollToActiveItem
14404
+ ]);
14405
+ return /* @__PURE__ */ jsx(
14724
14406
  "div",
14725
14407
  {
14726
14408
  className: cx$2(
14727
- listStyles.list,
14728
14409
  narrow2 ? listStyles.narrow : "",
14729
- bordered2 ? listStyles.bordered : ""
14410
+ scrollable ? listStyles.scrollableList : "",
14411
+ hideScrollbar2 ? listStyles.hideScrollbar : ""
14730
14412
  ),
14731
14413
  "data-testid": testId,
14732
- style: { height: height2, marginBottom },
14733
14414
  id: "scrollableDiv",
14734
- children: [
14415
+ style: { height: height2, marginBottom },
14416
+ ref: listContainerRef,
14417
+ children: /* @__PURE__ */ jsxs(Card, { bordered: bordered2, padding: false, children: [
14735
14418
  !noHeader && /* @__PURE__ */ jsx(
14736
14419
  ListHeading,
14737
14420
  {
@@ -14739,123 +14422,53 @@ const List = ({
14739
14422
  actions: list2.actions,
14740
14423
  toggleNarrow: toggleNarrow2,
14741
14424
  onToggleNarrow,
14742
- stickyHeader: stickyHeader2
14425
+ stickyHeader: stickyHeader2,
14426
+ ref: listHeadingRef
14743
14427
  }
14744
14428
  ),
14745
- /* @__PURE__ */ jsx(
14429
+ /* @__PURE__ */ jsx("div", { className: cx$2(listStyles.list, bordered2 ? listStyles.bordered : ""), children: /* @__PURE__ */ jsx(
14746
14430
  ListDragWrapper,
14747
14431
  {
14748
14432
  draggable,
14749
14433
  list: list2,
14750
14434
  onListReorder,
14751
- children: /* @__PURE__ */ jsx(
14752
- "div",
14435
+ children: infiniteScroll ? /* @__PURE__ */ jsx(
14436
+ InfiniteScroll,
14753
14437
  {
14754
- className: cx$2(
14755
- listStyles.listContent,
14756
- hideScrollbar2 ? listStyles.hideScrollbar : ""
14757
- ),
14758
- ref: listContainerRef,
14759
- children: /* @__PURE__ */ jsx(
14760
- "div",
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,
14761
14446
  {
14762
- className: listStyles.virtualRows,
14763
- style: { height: `${virtualizer.getTotalSize()}px` },
14764
- children: virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
14765
- "div",
14766
- {
14767
- "data-index": virtualRow2.index,
14768
- className: listStyles.virtualRow,
14769
- style: {
14770
- transform: `translateY(${virtualRow2.start}px)`
14771
- },
14772
- ref: virtualizer.measureElement,
14773
- children: /* @__PURE__ */ jsx(
14774
- ListRow,
14775
- {
14776
- index: virtualRow2.index,
14777
- draggable,
14778
- item: list2.items[virtualRow2.index],
14779
- expanding,
14780
- invokeEditOnRowClick
14781
- }
14782
- )
14783
- },
14784
- virtualRow2.key
14785
- ))
14786
- }
14787
- )
14788
- }
14789
- )
14790
- }
14791
- )
14792
- ]
14793
- }
14794
- );
14795
- };
14796
- const loader = "_loader_477i5_1";
14797
- const fullViewPortSize = "_fullViewPortSize_477i5_7";
14798
- const cover = "_cover_477i5_14";
14799
- const dimmer = "_dimmer_477i5_21";
14800
- const content$2 = "_content_477i5_44";
14801
- const text$1 = "_text_477i5_49";
14802
- const details$1 = "_details_477i5_53";
14803
- const styles$t = {
14804
- loader,
14805
- fullViewPortSize,
14806
- cover,
14807
- dimmer,
14808
- content: content$2,
14809
- text: text$1,
14810
- details: details$1
14811
- };
14812
- const Loader = ({
14813
- width: width2,
14814
- height: height2,
14815
- text: text2 = "",
14816
- details: details2 = "",
14817
- fullViewPortSize: fullViewPortSize2 = false,
14818
- cover: cover2 = false,
14819
- children = null,
14820
- theme = Theme.DARK,
14821
- testId = null
14822
- }) => {
14823
- const color2 = theme === Theme.DARK ? Theme.WHITE : Theme.INHERIT;
14824
- const background2 = theme === "white" ? "var(--color-background-raised)" : theme === "light" ? "var(--color-background)" : "black";
14825
- return /* @__PURE__ */ jsx(
14826
- "div",
14827
- {
14828
- className: cx$2(styles$t.loader, cover2 ? styles$t.cover : "", {
14829
- [styles$t.fullViewPortSize]: fullViewPortSize2
14830
- }),
14831
- style: { width: width2, height: height2 },
14832
- "data-testid": testId,
14833
- children: /* @__PURE__ */ jsx("div", { className: styles$t.dimmer, style: { background: background2, color: color2 }, children: /* @__PURE__ */ jsxs(
14834
- "div",
14835
- {
14836
- className: styles$t.content,
14837
- "data-testid": testId && `${testId}-content`,
14838
- children: [
14839
- children,
14840
- text2 && /* @__PURE__ */ jsx(
14841
- "div",
14842
- {
14843
- className: styles$t.text,
14844
- "data-testid": testId && `${testId}-text`,
14845
- children: text2
14447
+ index: index2,
14448
+ draggable,
14449
+ item: item2,
14450
+ expanding,
14451
+ invokeEditOnRowClick,
14452
+ ref: listRowRefs
14453
+ },
14454
+ index2
14455
+ ))
14846
14456
  }
14847
- ),
14848
- details2 && /* @__PURE__ */ jsx(
14849
- "div",
14457
+ ) : list2.items.map((item2, index2) => /* @__PURE__ */ jsx(
14458
+ ListRow,
14850
14459
  {
14851
- className: styles$t.details,
14852
- "data-testid": testId && `${testId}-details`,
14853
- children: details2
14854
- }
14855
- )
14856
- ]
14857
- }
14858
- ) })
14460
+ index: index2,
14461
+ draggable,
14462
+ item: item2,
14463
+ expanding,
14464
+ invokeEditOnRowClick,
14465
+ ref: listRowRefs
14466
+ },
14467
+ index2
14468
+ ))
14469
+ }
14470
+ ) })
14471
+ ] })
14859
14472
  }
14860
14473
  );
14861
14474
  };
@@ -15629,7 +15242,7 @@ const useFontsReady = () => {
15629
15242
  const getWidth = () => window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
15630
15243
  const useWindowWidth = () => {
15631
15244
  const [width2, setWidth] = useState(getWidth());
15632
- const resizeListener = debounce$3(() => setWidth(getWidth()), 150);
15245
+ const resizeListener = debounce$2(() => setWidth(getWidth()), 150);
15633
15246
  useEffect(() => {
15634
15247
  window.addEventListener("resize", resizeListener);
15635
15248
  return () => {
@@ -48391,7 +48004,7 @@ const styles$d = {
48391
48004
  active: active$2,
48392
48005
  icon: icon$1
48393
48006
  };
48394
- const TooltipIcon = memo$1(
48007
+ const TooltipIcon = memo(
48395
48008
  ({ isOpen: isOpen2, label: label2, icon: icon2, invalid }) => {
48396
48009
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
48397
48010
  /* @__PURE__ */ jsx(
@@ -48466,7 +48079,7 @@ const Sections = ({
48466
48079
  )
48467
48080
  ] }, i)) });
48468
48081
  };
48469
- const SideBar = memo$1(
48082
+ const SideBar = memo(
48470
48083
  ({
48471
48084
  options,
48472
48085
  startOpen = false,
@@ -51092,19 +50705,19 @@ const Spacer = ({
51092
50705
  }
51093
50706
  }
51094
50707
  );
51095
- const inputInTable$2 = "_inputInTable_xkoxm_1";
51096
- const inputHover$2 = "_inputHover_xkoxm_13";
51097
- const inputFocus$2 = "_inputFocus_xkoxm_18";
51098
- const inputError$2 = "_inputError_xkoxm_25";
51099
- const inputWarning$2 = "_inputWarning_xkoxm_26";
51100
- const inputDisabled$2 = "_inputDisabled_xkoxm_61";
51101
- const hideScrollbars$2 = "_hideScrollbars_xkoxm_67";
51102
- const wrapper = "_wrapper_xkoxm_85";
51103
- const bordered = "_bordered_xkoxm_93";
51104
- const scroll = "_scroll_xkoxm_98";
51105
- const table = "_table_xkoxm_109";
51106
- const dragOverlay = "_dragOverlay_xkoxm_145";
51107
- const striped = "_striped_xkoxm_194";
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";
51108
50721
  const styles$b = {
51109
50722
  inputInTable: inputInTable$2,
51110
50723
  inputHover: inputHover$2,
@@ -51210,6 +50823,36 @@ const hasActions = (rows) => rows.reduce(
51210
50823
  const hasRowActions = (rows, headers) => {
51211
50824
  return hasActions(headers) > 0 || hasActions(rows) > 0;
51212
50825
  };
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
+ };
51213
50856
  const clickableRow = "_clickableRow_10f34_1";
51214
50857
  const hoverableRow = "_hoverableRow_10f34_4";
51215
50858
  const rowActive = "_rowActive_10f34_4";
@@ -51979,7 +51622,7 @@ const Row = ({
51979
51622
  animateLayoutChanges: () => false
51980
51623
  });
51981
51624
  const style = {
51982
- transform: CSS.Transform.toString(transform),
51625
+ transform: CSS.Translate.toString(transform),
51983
51626
  transition,
51984
51627
  opacity: isDragging ? 0 : void 0
51985
51628
  };
@@ -52037,8 +51680,6 @@ const Row = ({
52037
51680
  ),
52038
51681
  "data-error": error2 || null,
52039
51682
  "data-warning": warning2 || null,
52040
- "data-index": rowIndex,
52041
- "data-even": rowIndex % 2 === 0,
52042
51683
  style,
52043
51684
  children: [
52044
51685
  draggableTable ? getDragItem() : null,
@@ -52130,35 +51771,6 @@ const TableDragWrapper = (props) => {
52130
51771
  }
52131
51772
  );
52132
51773
  };
52133
- const TableScrollWrapper = ({
52134
- table: table2,
52135
- theadRef,
52136
- children
52137
- }) => {
52138
- var _a2, _b;
52139
- if (!table2.infiniteScroll) {
52140
- return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, children: children({}) });
52141
- }
52142
- const containerRef = useRef(null);
52143
- const MIN_ITEM_HEIGHT = 31;
52144
- const virtualizer = useVirtualizer({
52145
- count: ((_a2 = table2.rows) == null ? void 0 : _a2.length) ?? 0,
52146
- getScrollElement: () => containerRef.current,
52147
- estimateSize: () => MIN_ITEM_HEIGHT,
52148
- overscan: 10
52149
- });
52150
- const theadHeight = ((_b = theadRef.current) == null ? void 0 : _b.clientHeight) ?? 0;
52151
- const totalHeight = virtualizer.getTotalSize() + theadHeight;
52152
- const items = virtualizer.getVirtualItems();
52153
- const paddingTop = items.length > 0 ? items[0].start : 0;
52154
- const paddingBottom = items.length > 0 ? virtualizer.getTotalSize() - items[items.length - 1].end : 0;
52155
- const tableStyle = {
52156
- "--virtualPaddingTop": paddingTop + "px",
52157
- "--virtualPaddingBottom": paddingBottom + "px",
52158
- height: totalHeight
52159
- };
52160
- return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, ref: containerRef, children: children({ virtualizer, tableStyle }) });
52161
- };
52162
51774
  const Table = (props) => {
52163
51775
  var _a2, _b, _c, _d, _e2, _f, _g;
52164
51776
  const { onListReorder = () => {
@@ -52181,7 +51793,6 @@ const Table = (props) => {
52181
51793
  maxHeight,
52182
51794
  fixedWidth: width2
52183
51795
  } = propTable;
52184
- const theadRef = useRef(null);
52185
51796
  const tbodyRef = useRef(null);
52186
51797
  const headers = get$2(props, "table.headers", []);
52187
51798
  const columnCount = getColumnCount(propRows, headers);
@@ -52243,7 +51854,7 @@ const Table = (props) => {
52243
51854
  testId: testId && `${testId}-title`
52244
51855
  }
52245
51856
  ),
52246
- /* @__PURE__ */ jsx(
51857
+ /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, children: ({ visibleRows }) => /* @__PURE__ */ jsx(
52247
51858
  TableDragWrapper,
52248
51859
  {
52249
51860
  colSpan,
@@ -52254,65 +51865,49 @@ const Table = (props) => {
52254
51865
  rowActions,
52255
51866
  rows,
52256
51867
  tbodyRef,
52257
- children: /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, theadRef, children: ({ virtualizer, tableStyle }) => {
52258
- return /* @__PURE__ */ jsxs(
52259
- "table",
52260
- {
52261
- className: cx$2(styles$b.table, striped2 ? styles$b.striped : ""),
52262
- "data-testid": testId,
52263
- style: tableStyle,
52264
- children: [
52265
- /* @__PURE__ */ jsx("thead", { ref: theadRef, children: headers.map((row2, rowIndex) => {
52266
- return /* @__PURE__ */ jsx(
52267
- Row,
52268
- {
52269
- rowIndex,
52270
- isHeader: true,
52271
- row: row2,
52272
- columnCount,
52273
- columnWidths,
52274
- colSpan,
52275
- hasRowActions: rowActions,
52276
- columnAlignment,
52277
- columnHeaderAlignments,
52278
- draggableTable: draggable
52279
- },
52280
- `0_${rowIndex}`
52281
- );
52282
- }) }),
52283
- /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: virtualizer ? virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
52284
- Row,
52285
- {
52286
- rowIndex: virtualRow2.index,
52287
- row: rows[virtualRow2.index],
52288
- columnCount,
52289
- columnWidths,
52290
- colSpan,
52291
- hasRowActions: rowActions,
52292
- columnAlignment,
52293
- draggableTable: draggable
52294
- },
52295
- `1_${virtualRow2.index}`
52296
- )) : rows.map((row2, index2) => /* @__PURE__ */ jsx(
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(
52297
51876
  Row,
52298
51877
  {
52299
- rowIndex: index2,
51878
+ rowIndex,
51879
+ isHeader: true,
52300
51880
  row: row2,
52301
51881
  columnCount,
52302
51882
  columnWidths,
52303
51883
  colSpan,
52304
51884
  hasRowActions: rowActions,
52305
51885
  columnAlignment,
51886
+ columnHeaderAlignments,
52306
51887
  draggableTable: draggable
52307
51888
  },
52308
- `1_${index2}`
52309
- )) })
52310
- ]
52311
- }
52312
- );
52313
- } })
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
+ )
52314
51909
  }
52315
- ),
51910
+ ) }),
52316
51911
  footer2 && /* @__PURE__ */ jsx(
52317
51912
  Footer,
52318
51913
  {
@@ -55425,7 +55020,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
55425
55020
  }
55426
55021
  let refCount = 0;
55427
55022
  const INSTANCE_SYM = Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");
55428
- var DndProvider = /* @__PURE__ */ memo$1(function DndProvider2(_param) {
55023
+ var DndProvider = /* @__PURE__ */ memo(function DndProvider2(_param) {
55429
55024
  var { children } = _param, props = _objectWithoutProperties(_param, [
55430
55025
  "children"
55431
55026
  ]);
@@ -57786,7 +57381,7 @@ function useFeatures(props, visualElement2, preloadedFeatures) {
57786
57381
  var name_1 = featureNames[i];
57787
57382
  var _a2 = featureDefinitions[name_1], isEnabled = _a2.isEnabled, Component2 = _a2.Component;
57788
57383
  if (isEnabled(props) && Component2) {
57789
- features.push(React$4.createElement(Component2, __assign$3({ key: name_1 }, props, { visualElement: visualElement2 })));
57384
+ features.push(React$4.createElement(Component2, __assign$4({ key: name_1 }, props, { visualElement: visualElement2 })));
57790
57385
  }
57791
57386
  }
57792
57387
  return features;
@@ -58027,7 +57622,7 @@ function useProjection(projectionId, _a2, visualElement2, ProjectionNodeConstruc
58027
57622
  var VisualElementHandler = (
58028
57623
  /** @class */
58029
57624
  function(_super) {
58030
- __extends(VisualElementHandler2, _super);
57625
+ __extends$1(VisualElementHandler2, _super);
58031
57626
  function VisualElementHandler2() {
58032
57627
  return _super !== null && _super.apply(this, arguments) || this;
58033
57628
  }
@@ -58053,20 +57648,20 @@ function createMotionComponent(_a2) {
58053
57648
  preloadedFeatures && loadFeatures(preloadedFeatures);
58054
57649
  function MotionComponent(props, externalRef) {
58055
57650
  var layoutId = useLayoutId(props);
58056
- props = __assign$3(__assign$3({}, props), { layoutId });
57651
+ props = __assign$4(__assign$4({}, props), { layoutId });
58057
57652
  var config = useContext(MotionConfigContext);
58058
57653
  var features = null;
58059
57654
  var context2 = useCreateMotionContext(props);
58060
57655
  var projectionId = config.isStatic ? void 0 : useProjectionId();
58061
57656
  var visualState = useVisualState(props, config.isStatic);
58062
57657
  if (!config.isStatic && isBrowser) {
58063
- context2.visualElement = useVisualElement(Component2, visualState, __assign$3(__assign$3({}, config), props), createVisualElement);
57658
+ context2.visualElement = useVisualElement(Component2, visualState, __assign$4(__assign$4({}, config), props), createVisualElement);
58064
57659
  useProjection(projectionId, props, context2.visualElement, projectionNodeConstructor || featureDefinitions.projectionNodeConstructor);
58065
57660
  features = useFeatures(props, context2.visualElement, preloadedFeatures);
58066
57661
  }
58067
57662
  return React$4.createElement(
58068
57663
  VisualElementHandler,
58069
- { visualElement: context2.visualElement, props: __assign$3(__assign$3({}, config), props) },
57664
+ { visualElement: context2.visualElement, props: __assign$4(__assign$4({}, config), props) },
58070
57665
  features,
58071
57666
  React$4.createElement(MotionContext.Provider, { value: context2 }, useRender(Component2, props, projectionId, useMotionRef(visualState, context2.visualElement, externalRef), visualState, config.isStatic, context2.visualElement))
58072
57667
  );
@@ -58392,7 +57987,7 @@ const filter = Object.assign(Object.assign({}, complex), { getAnimatableNone: (v
58392
57987
  const functions = v2.match(functionRegex);
58393
57988
  return functions ? functions.map(applyDefaultFilter).join(" ") : v2;
58394
57989
  } });
58395
- var int = __assign$3(__assign$3({}, number), { transform: Math.round });
57990
+ var int = __assign$4(__assign$4({}, number), { transform: Math.round });
58396
57991
  var numberValueTypes = {
58397
57992
  // Border props
58398
57993
  borderWidth: px,
@@ -58522,7 +58117,7 @@ function useInitialMotionValues(_a2, visualState, isStatic) {
58522
58117
  var state = createHtmlRenderState();
58523
58118
  buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);
58524
58119
  var vars = state.vars, style = state.style;
58525
- return __assign$3(__assign$3({}, vars), style);
58120
+ return __assign$4(__assign$4({}, vars), style);
58526
58121
  }, [visualState]);
58527
58122
  }
58528
58123
  function useStyle(props, visualState, isStatic) {
@@ -58680,18 +58275,18 @@ function buildSVGAttrs(state, _a2, options, transformTemplate) {
58680
58275
  }
58681
58276
  }
58682
58277
  var createSvgRenderState = function() {
58683
- return __assign$3(__assign$3({}, createHtmlRenderState()), { attrs: {} });
58278
+ return __assign$4(__assign$4({}, createHtmlRenderState()), { attrs: {} });
58684
58279
  };
58685
58280
  function useSVGProps(props, visualState) {
58686
58281
  var visualProps = useMemo(function() {
58687
58282
  var state = createSvgRenderState();
58688
58283
  buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, props.transformTemplate);
58689
- return __assign$3(__assign$3({}, state.attrs), { style: __assign$3({}, state.style) });
58284
+ return __assign$4(__assign$4({}, state.attrs), { style: __assign$4({}, state.style) });
58690
58285
  }, [visualState]);
58691
58286
  if (props.style) {
58692
58287
  var rawStyles = {};
58693
58288
  copyRawValuesOnly(rawStyles, props.style, props);
58694
- visualProps.style = __assign$3(__assign$3({}, rawStyles), visualProps.style);
58289
+ visualProps.style = __assign$4(__assign$4({}, rawStyles), visualProps.style);
58695
58290
  }
58696
58291
  return visualProps;
58697
58292
  }
@@ -58704,7 +58299,7 @@ function createUseRender(forwardMotionProps) {
58704
58299
  var useVisualProps = isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
58705
58300
  var visualProps = useVisualProps(props, latestValues, isStatic);
58706
58301
  var filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
58707
- var elementProps = __assign$3(__assign$3(__assign$3({}, filteredProps), visualProps), { ref });
58302
+ var elementProps = __assign$4(__assign$4(__assign$4({}, filteredProps), visualProps), { ref });
58708
58303
  if (projectionId) {
58709
58304
  elementProps["data-projection-id"] = projectionId;
58710
58305
  }
@@ -58881,7 +58476,7 @@ var htmlMotionConfig = {
58881
58476
  function createDomMotionConfig(Component2, _a2, preloadedFeatures, createVisualElement, projectionNodeConstructor) {
58882
58477
  var _b = _a2.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b;
58883
58478
  var baseConfig = isSVGComponent(Component2) ? svgMotionConfig : htmlMotionConfig;
58884
- return __assign$3(__assign$3({}, baseConfig), { preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement, projectionNodeConstructor, Component: Component2 });
58479
+ return __assign$4(__assign$4({}, baseConfig), { preloadedFeatures, useRender: createUseRender(forwardMotionProps), createVisualElement, projectionNodeConstructor, Component: Component2 });
58885
58480
  }
58886
58481
  var AnimationType;
58887
58482
  (function(AnimationType2) {
@@ -59968,7 +59563,7 @@ function initIntersectionObserver(_a2) {
59968
59563
  var rootObservers = observers.get(lookupRoot);
59969
59564
  var key2 = JSON.stringify(options);
59970
59565
  if (!rootObservers[key2]) {
59971
- rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$3({ root: root2 }, options));
59566
+ rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$4({ root: root2 }, options));
59972
59567
  }
59973
59568
  return rootObservers[key2];
59974
59569
  }
@@ -60186,9 +59781,9 @@ var getDefaultTransition = function(valueKey, to2) {
60186
59781
  } else {
60187
59782
  transitionFactory = defaultTransitions[valueKey] || defaultTransitions.default;
60188
59783
  }
60189
- return __assign$3({ to: to2 }, transitionFactory(to2));
59784
+ return __assign$4({ to: to2 }, transitionFactory(to2));
60190
59785
  };
60191
- var defaultValueTypes = __assign$3(__assign$3({}, numberValueTypes), {
59786
+ var defaultValueTypes = __assign$4(__assign$4({}, numberValueTypes), {
60192
59787
  // Color props
60193
59788
  color,
60194
59789
  backgroundColor: color,
@@ -60230,7 +59825,7 @@ function isTransitionDefined(_a2) {
60230
59825
  var legacyRepeatWarning = false;
60231
59826
  function convertTransitionToAnimationOptions(_a2) {
60232
59827
  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"]);
60233
- var options = __assign$3({}, transition);
59828
+ var options = __assign$4({}, transition);
60234
59829
  if (times)
60235
59830
  options["offset"] = times;
60236
59831
  if (transition.duration)
@@ -60277,9 +59872,9 @@ function getPopmotionAnimationOptions(transition, options, key2) {
60277
59872
  }
60278
59873
  hydrateKeyframes(options);
60279
59874
  if (!isTransitionDefined(transition)) {
60280
- transition = __assign$3(__assign$3({}, transition), getDefaultTransition(key2, options.to));
59875
+ transition = __assign$4(__assign$4({}, transition), getDefaultTransition(key2, options.to));
60281
59876
  }
60282
- return __assign$3(__assign$3({}, options), convertTransitionToAnimationOptions(transition));
59877
+ return __assign$4(__assign$4({}, options), convertTransitionToAnimationOptions(transition));
60283
59878
  }
60284
59879
  function getAnimation(key2, value, target, transition, onComplete) {
60285
59880
  var _a2;
@@ -60305,7 +59900,7 @@ function getAnimation(key2, value, target, transition, onComplete) {
60305
59900
  return value.set(v2);
60306
59901
  }
60307
59902
  };
60308
- 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) {
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) {
60309
59904
  var _a3;
60310
59905
  options.onUpdate(v2);
60311
59906
  (_a3 = valueTransition.onUpdate) === null || _a3 === void 0 ? void 0 : _a3.call(valueTransition, v2);
@@ -60558,7 +60153,7 @@ function setTarget(visualElement2, definition) {
60558
60153
  var _a2 = resolved ? visualElement2.makeTargetAnimatable(resolved, false) : {}, _b = _a2.transitionEnd, transitionEnd = _b === void 0 ? {} : _b;
60559
60154
  _a2.transition;
60560
60155
  var target = __rest$1(_a2, ["transitionEnd", "transition"]);
60561
- target = __assign$3(__assign$3({}, target), transitionEnd);
60156
+ target = __assign$4(__assign$4({}, target), transitionEnd);
60562
60157
  for (var key2 in target) {
60563
60158
  var value = resolveFinalValueInKeyframes(target[key2]);
60564
60159
  setMotionValue(visualElement2, key2, value);
@@ -60676,9 +60271,9 @@ function animateTarget(visualElement2, definition, _a2) {
60676
60271
  if (!value || valueTarget === void 0 || animationTypeState && shouldBlockAnimation(animationTypeState, key2)) {
60677
60272
  continue;
60678
60273
  }
60679
- var valueTransition = __assign$3({ delay }, transition);
60274
+ var valueTransition = __assign$4({ delay }, transition);
60680
60275
  if (visualElement2.shouldReduceMotion && isTransformProp(key2)) {
60681
- valueTransition = __assign$3(__assign$3({}, valueTransition), { type: false, delay: 0 });
60276
+ valueTransition = __assign$4(__assign$4({}, valueTransition), { type: false, delay: 0 });
60682
60277
  }
60683
60278
  var animation = startAnimation(key2, value, valueTarget, valueTransition);
60684
60279
  animations2.push(animation);
@@ -60711,7 +60306,7 @@ function animateChildren(visualElement2, variant, delayChildren, staggerChildren
60711
60306
  return maxStaggerDuration - i * staggerChildren;
60712
60307
  };
60713
60308
  Array.from(visualElement2.variantChildren).sort(sortByTreeOrder).forEach(function(child, i) {
60714
- animations2.push(animateVariant(child, variant, __assign$3(__assign$3({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function() {
60309
+ animations2.push(animateVariant(child, variant, __assign$4(__assign$4({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function() {
60715
60310
  return child.notifyAnimationComplete(variant);
60716
60311
  }));
60717
60312
  });
@@ -60755,7 +60350,7 @@ function createAnimationState(visualElement2) {
60755
60350
  if (resolved) {
60756
60351
  resolved.transition;
60757
60352
  var transitionEnd = resolved.transitionEnd, target = __rest$1(resolved, ["transition", "transitionEnd"]);
60758
- acc = __assign$3(__assign$3(__assign$3({}, acc), target), transitionEnd);
60353
+ acc = __assign$4(__assign$4(__assign$4({}, acc), target), transitionEnd);
60759
60354
  }
60760
60355
  return acc;
60761
60356
  };
@@ -60785,7 +60380,7 @@ function createAnimationState(visualElement2) {
60785
60380
  if (isInherited && isInitialRender && visualElement2.manuallyAnimateOnMount) {
60786
60381
  isInherited = false;
60787
60382
  }
60788
- typeState.protectedKeys = __assign$3({}, encounteredKeys);
60383
+ typeState.protectedKeys = __assign$4({}, encounteredKeys);
60789
60384
  if (
60790
60385
  // If it isn't active and hasn't *just* been set as inactive
60791
60386
  !typeState.isActive && activeDelta === null || // If we didn't and don't have any defined prop for this animation type
@@ -60803,7 +60398,7 @@ function createAnimationState(visualElement2) {
60803
60398
  if (activeDelta === false)
60804
60399
  resolvedValues = {};
60805
60400
  var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b;
60806
- var allKeys = __assign$3(__assign$3({}, prevResolvedValues), resolvedValues);
60401
+ var allKeys = __assign$4(__assign$4({}, prevResolvedValues), resolvedValues);
60807
60402
  var markToAnimate = function(key3) {
60808
60403
  shouldAnimateType = true;
60809
60404
  removedKeys.delete(key3);
@@ -60835,7 +60430,7 @@ function createAnimationState(visualElement2) {
60835
60430
  typeState.prevProp = prop;
60836
60431
  typeState.prevResolvedValues = resolvedValues;
60837
60432
  if (typeState.isActive) {
60838
- encounteredKeys = __assign$3(__assign$3({}, encounteredKeys), resolvedValues);
60433
+ encounteredKeys = __assign$4(__assign$4({}, encounteredKeys), resolvedValues);
60839
60434
  }
60840
60435
  if (isInitialRender && visualElement2.blockInitialAnimation) {
60841
60436
  shouldAnimateType = false;
@@ -60844,7 +60439,7 @@ function createAnimationState(visualElement2) {
60844
60439
  animations2.push.apply(animations2, __spreadArray$2([], __read(definitionList.map(function(animation) {
60845
60440
  return {
60846
60441
  animation,
60847
- options: __assign$3({ type }, options)
60442
+ options: __assign$4({ type }, options)
60848
60443
  };
60849
60444
  })), false));
60850
60445
  }
@@ -60852,7 +60447,7 @@ function createAnimationState(visualElement2) {
60852
60447
  for (var i = 0; i < numAnimationTypes; i++) {
60853
60448
  _loop_1(i);
60854
60449
  }
60855
- allAnimatedKeys = __assign$3({}, encounteredKeys);
60450
+ allAnimatedKeys = __assign$4({}, encounteredKeys);
60856
60451
  if (removedKeys.size) {
60857
60452
  var fallbackAnimation_1 = {};
60858
60453
  removedKeys.forEach(function(key2) {
@@ -60960,7 +60555,7 @@ var PanSession = (
60960
60555
  return;
60961
60556
  var point2 = info3.point;
60962
60557
  var timestamp2 = getFrameData().timestamp;
60963
- _this.history.push(__assign$3(__assign$3({}, point2), { timestamp: timestamp2 }));
60558
+ _this.history.push(__assign$4(__assign$4({}, point2), { timestamp: timestamp2 }));
60964
60559
  var _a3 = _this.handlers, onStart = _a3.onStart, onMove = _a3.onMove;
60965
60560
  if (!isPanStarted) {
60966
60561
  onStart && onStart(_this.lastMoveEvent, info3);
@@ -60994,7 +60589,7 @@ var PanSession = (
60994
60589
  var initialInfo = transformPoint(info2, this.transformPagePoint);
60995
60590
  var point = initialInfo.point;
60996
60591
  var timestamp = getFrameData().timestamp;
60997
- this.history = [__assign$3(__assign$3({}, point), { timestamp })];
60592
+ this.history = [__assign$4(__assign$4({}, point), { timestamp })];
60998
60593
  var onSessionStart = handlers2.onSessionStart;
60999
60594
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
61000
60595
  this.removeListeners = pipe(addPointerEvent(window, "pointermove", this.handlePointerMove), addPointerEvent(window, "pointerup", this.handlePointerUp), addPointerEvent(window, "pointercancel", this.handlePointerUp));
@@ -61515,7 +61110,7 @@ var VisualElementDragControls = (
61515
61110
  transition = { min: 0, max: 0 };
61516
61111
  var bounceStiffness = dragElastic ? 200 : 1e6;
61517
61112
  var bounceDamping = dragElastic ? 40 : 1e7;
61518
- var inertia2 = __assign$3(__assign$3({ type: "inertia", velocity: dragMomentum ? velocity[axis] : 0, bounceStiffness, bounceDamping, timeConstant: 750, restDelta: 1, restSpeed: 10 }, dragTransition), transition);
61113
+ var inertia2 = __assign$4(__assign$4({ type: "inertia", velocity: dragMomentum ? velocity[axis] : 0, bounceStiffness, bounceDamping, timeConstant: 750, restDelta: 1, restSpeed: 10 }, dragTransition), transition);
61519
61114
  return _this.startAxisValueAnimation(axis, inertia2);
61520
61115
  });
61521
61116
  return Promise.all(momentumAnimations).then(onDragTransitionEnd);
@@ -61626,7 +61221,7 @@ var VisualElementDragControls = (
61626
61221
  VisualElementDragControls2.prototype.getProps = function() {
61627
61222
  var props = this.visualElement.getProps();
61628
61223
  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;
61629
- return __assign$3(__assign$3({}, props), { drag: drag2, dragDirectionLock, dragPropagation, dragConstraints, dragElastic, dragMomentum });
61224
+ return __assign$4(__assign$4({}, props), { drag: drag2, dragDirectionLock, dragPropagation, dragConstraints, dragElastic, dragMomentum });
61630
61225
  };
61631
61226
  return VisualElementDragControls2;
61632
61227
  }()
@@ -61783,7 +61378,7 @@ var visualElement = function(_a2) {
61783
61378
  var values2 = /* @__PURE__ */ new Map();
61784
61379
  var valueSubscriptions = /* @__PURE__ */ new Map();
61785
61380
  var prevMotionValues = {};
61786
- var baseTarget = __assign$3({}, latestValues);
61381
+ var baseTarget = __assign$4({}, latestValues);
61787
61382
  var removeFromVariantTree;
61788
61383
  function render2() {
61789
61384
  if (!instance || !isMounted)
@@ -61817,7 +61412,7 @@ var visualElement = function(_a2) {
61817
61412
  }
61818
61413
  var isControllingVariants = checkIfControllingVariants(props);
61819
61414
  var isVariantNode = checkIfVariantNode(props);
61820
- var element = __assign$3(__assign$3({
61415
+ var element = __assign$4(__assign$4({
61821
61416
  treeType,
61822
61417
  /**
61823
61418
  * This is a mirror of the internal instance prop, which keeps
@@ -62182,7 +61777,7 @@ function resolveCSSVariables(visualElement2, _a2, transitionEnd) {
62182
61777
  if (!(element instanceof Element))
62183
61778
  return { target, transitionEnd };
62184
61779
  if (transitionEnd) {
62185
- transitionEnd = __assign$3({}, transitionEnd);
61780
+ transitionEnd = __assign$4({}, transitionEnd);
62186
61781
  }
62187
61782
  visualElement2.forEachValue(function(value) {
62188
61783
  var current2 = value.get();
@@ -62337,8 +61932,8 @@ var checkAndConvertChangedValueTypes = function(visualElement2, target, origin,
62337
61932
  if (transitionEnd === void 0) {
62338
61933
  transitionEnd = {};
62339
61934
  }
62340
- target = __assign$3({}, target);
62341
- transitionEnd = __assign$3({}, transitionEnd);
61935
+ target = __assign$4({}, target);
61936
+ transitionEnd = __assign$4({}, transitionEnd);
62342
61937
  var targetPositionalKeys = Object.keys(target).filter(isPositionalKey);
62343
61938
  var removedTransformValues = [];
62344
61939
  var hasAttemptedToRemoveTransformValues = false;
@@ -62491,7 +62086,7 @@ var htmlConfig = {
62491
62086
  transitionEnd = parsed.transitionEnd;
62492
62087
  target = parsed.target;
62493
62088
  }
62494
- return __assign$3({ transition, transitionEnd }, target);
62089
+ return __assign$4({ transition, transitionEnd }, target);
62495
62090
  },
62496
62091
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps$1,
62497
62092
  build: function(element, renderState, latestValues, options, props) {
@@ -62503,7 +62098,7 @@ var htmlConfig = {
62503
62098
  render: renderHTML
62504
62099
  };
62505
62100
  var htmlVisualElement = visualElement(htmlConfig);
62506
- var svgVisualElement = visualElement(__assign$3(__assign$3({}, htmlConfig), { getBaseTarget: function(props, key2) {
62101
+ var svgVisualElement = visualElement(__assign$4(__assign$4({}, htmlConfig), { getBaseTarget: function(props, key2) {
62507
62102
  return props[key2];
62508
62103
  }, readValueFromInstance: function(domElement, key2) {
62509
62104
  var _a2;
@@ -62581,7 +62176,7 @@ var correctBoxShadow = {
62581
62176
  var MeasureLayoutWithContext = (
62582
62177
  /** @class */
62583
62178
  function(_super) {
62584
- __extends(MeasureLayoutWithContext2, _super);
62179
+ __extends$1(MeasureLayoutWithContext2, _super);
62585
62180
  function MeasureLayoutWithContext2() {
62586
62181
  return _super !== null && _super.apply(this, arguments) || this;
62587
62182
  }
@@ -62600,7 +62195,7 @@ var MeasureLayoutWithContext = (
62600
62195
  projection.addEventListener("animationComplete", function() {
62601
62196
  _this.safeToRemove();
62602
62197
  });
62603
- projection.setOptions(__assign$3(__assign$3({}, projection.options), { onExitComplete: function() {
62198
+ projection.setOptions(__assign$4(__assign$4({}, projection.options), { onExitComplete: function() {
62604
62199
  return _this.safeToRemove();
62605
62200
  } }));
62606
62201
  }
@@ -62665,10 +62260,10 @@ var MeasureLayoutWithContext = (
62665
62260
  function MeasureLayout(props) {
62666
62261
  var _a2 = __read(usePresence(), 2), isPresent = _a2[0], safeToRemove = _a2[1];
62667
62262
  var layoutGroup = useContext(LayoutGroupContext);
62668
- return React__default.createElement(MeasureLayoutWithContext, __assign$3({}, props, { layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove }));
62263
+ return React__default.createElement(MeasureLayoutWithContext, __assign$4({}, props, { layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove }));
62669
62264
  }
62670
62265
  var defaultScaleCorrectors = {
62671
- borderRadius: __assign$3(__assign$3({}, correctBorderRadius), { applyTo: [
62266
+ borderRadius: __assign$4(__assign$4({}, correctBorderRadius), { applyTo: [
62672
62267
  "borderTopLeftRadius",
62673
62268
  "borderTopRightRadius",
62674
62269
  "borderBottomLeftRadius",
@@ -63091,7 +62686,7 @@ function createProjectionNode(_a2) {
63091
62686
  _this.resumingFrom.resumingFrom = void 0;
63092
62687
  }
63093
62688
  _this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
63094
- var animationOptions = __assign$3(__assign$3({}, getValueTransition(layoutTransition, "layout")), { onPlay: onLayoutAnimationStart, onComplete: onLayoutAnimationComplete });
62689
+ var animationOptions = __assign$4(__assign$4({}, getValueTransition(layoutTransition, "layout")), { onPlay: onLayoutAnimationStart, onComplete: onLayoutAnimationComplete });
63095
62690
  if (visualElement2.shouldReduceMotion) {
63096
62691
  animationOptions.delay = 0;
63097
62692
  animationOptions.type = false;
@@ -63345,7 +62940,7 @@ function createProjectionNode(_a2) {
63345
62940
  };
63346
62941
  ProjectionNode.prototype.setOptions = function(options) {
63347
62942
  var _a3;
63348
- this.options = __assign$3(__assign$3(__assign$3({}, this.options), options), { crossfade: (_a3 = options.crossfade) !== null && _a3 !== void 0 ? _a3 : true });
62943
+ this.options = __assign$4(__assign$4(__assign$4({}, this.options), options), { crossfade: (_a3 = options.crossfade) !== null && _a3 !== void 0 ? _a3 : true });
63349
62944
  };
63350
62945
  ProjectionNode.prototype.clearMeasurements = function() {
63351
62946
  this.scroll = void 0;
@@ -63463,7 +63058,7 @@ function createProjectionNode(_a2) {
63463
63058
  }
63464
63059
  var snapshot = this.snapshot;
63465
63060
  var snapshotLatestValues = (snapshot === null || snapshot === void 0 ? void 0 : snapshot.latestValues) || {};
63466
- var mixedValues = __assign$3({}, this.latestValues);
63061
+ var mixedValues = __assign$4({}, this.latestValues);
63467
63062
  var targetDelta = createDelta();
63468
63063
  this.relativeTarget = this.relativeTargetOrigin = void 0;
63469
63064
  this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;
@@ -63506,7 +63101,7 @@ function createProjectionNode(_a2) {
63506
63101
  }
63507
63102
  this.pendingAnimation = sync.update(function() {
63508
63103
  globalProjectionState.hasAnimatedSinceResize = true;
63509
- _this.currentAnimation = animate(0, animationTarget, __assign$3(__assign$3({}, options), { onUpdate: function(latest) {
63104
+ _this.currentAnimation = animate(0, animationTarget, __assign$4(__assign$4({}, options), { onUpdate: function(latest) {
63510
63105
  var _a4;
63511
63106
  _this.mixTargetDelta(latest);
63512
63107
  (_a4 = options.onUpdate) === null || _a4 === void 0 ? void 0 : _a4.call(options, latest);
@@ -63874,7 +63469,7 @@ var HTMLProjectionNode = createProjectionNode({
63874
63469
  return Boolean(window.getComputedStyle(instance).position === "fixed");
63875
63470
  }
63876
63471
  });
63877
- var featureBundle = __assign$3(__assign$3(__assign$3(__assign$3({}, animations), gestureAnimations), drag), layoutFeatures);
63472
+ var featureBundle = __assign$4(__assign$4(__assign$4(__assign$4({}, animations), gestureAnimations), drag), layoutFeatures);
63878
63473
  var motion = /* @__PURE__ */ createMotionProxy(function(Component2, config) {
63879
63474
  return createDomMotionConfig(Component2, config, featureBundle, createDomVisualElement, HTMLProjectionNode);
63880
63475
  });
@@ -66950,6 +66545,42 @@ const SmartUploadModal = ({
66950
66545
  }
66951
66546
  ) });
66952
66547
  };
66548
+ const SettingField = ({
66549
+ helpText,
66550
+ active: active2 = true,
66551
+ children,
66552
+ isLastField = false,
66553
+ noPermission = false,
66554
+ selectedOption,
66555
+ handleSelectChange
66556
+ }) => {
66557
+ const options = [
66558
+ { label: "All users", value: "all_users" },
66559
+ { label: "Superusers and Admin only", value: "superusers_admin" }
66560
+ ];
66561
+ const onSelectChange = (event) => {
66562
+ handleSelectChange(event.target.value);
66563
+ };
66564
+ return /* @__PURE__ */ jsxs("div", { children: [
66565
+ /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", children: [
66566
+ children,
66567
+ !noPermission && /* @__PURE__ */ jsx(
66568
+ Select,
66569
+ {
66570
+ name: "userType",
66571
+ options,
66572
+ value: selectedOption,
66573
+ disabled: !active2,
66574
+ onChange: onSelectChange,
66575
+ "aria-label": "Select user type",
66576
+ width: "auto"
66577
+ }
66578
+ )
66579
+ ] }),
66580
+ /* @__PURE__ */ jsx(Text, { muted: true, children: helpText }),
66581
+ !isLastField && /* @__PURE__ */ jsx(Divider, {})
66582
+ ] });
66583
+ };
66953
66584
  export {
66954
66585
  Accordion,
66955
66586
  AccordionWithDefaultToggle,
@@ -67013,6 +66644,7 @@ export {
67013
66644
  RichTextInput,
67014
66645
  Row$1 as Row,
67015
66646
  Select,
66647
+ SettingField,
67016
66648
  SideBar,
67017
66649
  Slider,
67018
66650
  SmartUploadModal,