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

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,34 +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 estimateItemHeight = () => {
14702
- let height22 = 37;
14703
- if (list2.items.length > 0) {
14704
- const item2 = list2.items[list2.items.length - 1];
14705
- if (item2.details) height22 += 20;
14706
- if (item2.metadata) height22 += 20;
14707
- }
14708
- return height22;
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);
14709
14373
  };
14710
- const virtualizer = useVirtualizer({
14711
- count: list2.items.length,
14712
- getScrollElement: () => listContainerRef.current,
14713
- estimateSize: () => estimateItemHeight(),
14714
- overscan: 5
14715
- });
14716
14374
  const findFirstActiveItemIndex = (items) => items.findIndex((item2) => item2.active === true);
14717
14375
  const setScrollToActiveItem = (activeItemIndex) => {
14718
- if (activeItemIndex >= 0) {
14719
- virtualizer.scrollToIndex(activeItemIndex, {
14720
- align: "center",
14721
- behavior: "smooth"
14722
- });
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;
14723
14393
  }
14724
14394
  };
14725
14395
  useEffect(() => {
@@ -14727,19 +14397,24 @@ const List = ({
14727
14397
  const activeItemIndex = findFirstActiveItemIndex(list2 == null ? void 0 : list2.items);
14728
14398
  setScrollToActiveItem(activeItemIndex);
14729
14399
  }
14730
- }, [triggerScrollToActiveItem]);
14731
- return /* @__PURE__ */ jsxs(
14400
+ }, [
14401
+ listContainerRef.current,
14402
+ listHeadingRef.current,
14403
+ triggerScrollToActiveItem
14404
+ ]);
14405
+ return /* @__PURE__ */ jsx(
14732
14406
  "div",
14733
14407
  {
14734
14408
  className: cx$2(
14735
- listStyles.list,
14736
14409
  narrow2 ? listStyles.narrow : "",
14737
- bordered2 ? listStyles.bordered : ""
14410
+ scrollable ? listStyles.scrollableList : "",
14411
+ hideScrollbar2 ? listStyles.hideScrollbar : ""
14738
14412
  ),
14739
14413
  "data-testid": testId,
14740
- style: { height: height2, marginBottom },
14741
14414
  id: "scrollableDiv",
14742
- children: [
14415
+ style: { height: height2, marginBottom },
14416
+ ref: listContainerRef,
14417
+ children: /* @__PURE__ */ jsxs(Card, { bordered: bordered2, padding: false, children: [
14743
14418
  !noHeader && /* @__PURE__ */ jsx(
14744
14419
  ListHeading,
14745
14420
  {
@@ -14747,123 +14422,53 @@ const List = ({
14747
14422
  actions: list2.actions,
14748
14423
  toggleNarrow: toggleNarrow2,
14749
14424
  onToggleNarrow,
14750
- stickyHeader: stickyHeader2
14425
+ stickyHeader: stickyHeader2,
14426
+ ref: listHeadingRef
14751
14427
  }
14752
14428
  ),
14753
- /* @__PURE__ */ jsx(
14429
+ /* @__PURE__ */ jsx("div", { className: cx$2(listStyles.list, bordered2 ? listStyles.bordered : ""), children: /* @__PURE__ */ jsx(
14754
14430
  ListDragWrapper,
14755
14431
  {
14756
14432
  draggable,
14757
14433
  list: list2,
14758
14434
  onListReorder,
14759
- children: /* @__PURE__ */ jsx(
14760
- "div",
14435
+ children: infiniteScroll ? /* @__PURE__ */ jsx(
14436
+ InfiniteScroll,
14761
14437
  {
14762
- className: cx$2(
14763
- listStyles.listContent,
14764
- hideScrollbar2 ? listStyles.hideScrollbar : ""
14765
- ),
14766
- ref: listContainerRef,
14767
- children: /* @__PURE__ */ jsx(
14768
- "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,
14769
14446
  {
14770
- className: listStyles.virtualRows,
14771
- style: { height: `${virtualizer.getTotalSize()}px` },
14772
- children: virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
14773
- "div",
14774
- {
14775
- "data-index": virtualRow2.index,
14776
- className: listStyles.virtualRow,
14777
- style: {
14778
- transform: `translateY(${virtualRow2.start}px)`
14779
- },
14780
- ref: virtualizer.measureElement,
14781
- children: /* @__PURE__ */ jsx(
14782
- ListRow,
14783
- {
14784
- index: virtualRow2.index,
14785
- draggable,
14786
- item: list2.items[virtualRow2.index],
14787
- expanding,
14788
- invokeEditOnRowClick
14789
- }
14790
- )
14791
- },
14792
- virtualRow2.key
14793
- ))
14794
- }
14795
- )
14796
- }
14797
- )
14798
- }
14799
- )
14800
- ]
14801
- }
14802
- );
14803
- };
14804
- const loader = "_loader_477i5_1";
14805
- const fullViewPortSize = "_fullViewPortSize_477i5_7";
14806
- const cover = "_cover_477i5_14";
14807
- const dimmer = "_dimmer_477i5_21";
14808
- const content$2 = "_content_477i5_44";
14809
- const text$1 = "_text_477i5_49";
14810
- const details$1 = "_details_477i5_53";
14811
- const styles$t = {
14812
- loader,
14813
- fullViewPortSize,
14814
- cover,
14815
- dimmer,
14816
- content: content$2,
14817
- text: text$1,
14818
- details: details$1
14819
- };
14820
- const Loader = ({
14821
- width: width2,
14822
- height: height2,
14823
- text: text2 = "",
14824
- details: details2 = "",
14825
- fullViewPortSize: fullViewPortSize2 = false,
14826
- cover: cover2 = false,
14827
- children = null,
14828
- theme = Theme.DARK,
14829
- testId = null
14830
- }) => {
14831
- const color2 = theme === Theme.DARK ? Theme.WHITE : Theme.INHERIT;
14832
- const background2 = theme === "white" ? "var(--color-background-raised)" : theme === "light" ? "var(--color-background)" : "black";
14833
- return /* @__PURE__ */ jsx(
14834
- "div",
14835
- {
14836
- className: cx$2(styles$t.loader, cover2 ? styles$t.cover : "", {
14837
- [styles$t.fullViewPortSize]: fullViewPortSize2
14838
- }),
14839
- style: { width: width2, height: height2 },
14840
- "data-testid": testId,
14841
- children: /* @__PURE__ */ jsx("div", { className: styles$t.dimmer, style: { background: background2, color: color2 }, children: /* @__PURE__ */ jsxs(
14842
- "div",
14843
- {
14844
- className: styles$t.content,
14845
- "data-testid": testId && `${testId}-content`,
14846
- children: [
14847
- children,
14848
- text2 && /* @__PURE__ */ jsx(
14849
- "div",
14850
- {
14851
- className: styles$t.text,
14852
- "data-testid": testId && `${testId}-text`,
14853
- children: text2
14447
+ index: index2,
14448
+ draggable,
14449
+ item: item2,
14450
+ expanding,
14451
+ invokeEditOnRowClick,
14452
+ ref: listRowRefs
14453
+ },
14454
+ index2
14455
+ ))
14854
14456
  }
14855
- ),
14856
- details2 && /* @__PURE__ */ jsx(
14857
- "div",
14457
+ ) : list2.items.map((item2, index2) => /* @__PURE__ */ jsx(
14458
+ ListRow,
14858
14459
  {
14859
- className: styles$t.details,
14860
- "data-testid": testId && `${testId}-details`,
14861
- children: details2
14862
- }
14863
- )
14864
- ]
14865
- }
14866
- ) })
14460
+ index: index2,
14461
+ draggable,
14462
+ item: item2,
14463
+ expanding,
14464
+ invokeEditOnRowClick,
14465
+ ref: listRowRefs
14466
+ },
14467
+ index2
14468
+ ))
14469
+ }
14470
+ ) })
14471
+ ] })
14867
14472
  }
14868
14473
  );
14869
14474
  };
@@ -15637,7 +15242,7 @@ const useFontsReady = () => {
15637
15242
  const getWidth = () => window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
15638
15243
  const useWindowWidth = () => {
15639
15244
  const [width2, setWidth] = useState(getWidth());
15640
- const resizeListener = debounce$3(() => setWidth(getWidth()), 150);
15245
+ const resizeListener = debounce$2(() => setWidth(getWidth()), 150);
15641
15246
  useEffect(() => {
15642
15247
  window.addEventListener("resize", resizeListener);
15643
15248
  return () => {
@@ -48399,7 +48004,7 @@ const styles$d = {
48399
48004
  active: active$2,
48400
48005
  icon: icon$1
48401
48006
  };
48402
- const TooltipIcon = memo$1(
48007
+ const TooltipIcon = memo(
48403
48008
  ({ isOpen: isOpen2, label: label2, icon: icon2, invalid }) => {
48404
48009
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
48405
48010
  /* @__PURE__ */ jsx(
@@ -48474,7 +48079,7 @@ const Sections = ({
48474
48079
  )
48475
48080
  ] }, i)) });
48476
48081
  };
48477
- const SideBar = memo$1(
48082
+ const SideBar = memo(
48478
48083
  ({
48479
48084
  options,
48480
48085
  startOpen = false,
@@ -51100,19 +50705,19 @@ const Spacer = ({
51100
50705
  }
51101
50706
  }
51102
50707
  );
51103
- const inputInTable$2 = "_inputInTable_xkoxm_1";
51104
- const inputHover$2 = "_inputHover_xkoxm_13";
51105
- const inputFocus$2 = "_inputFocus_xkoxm_18";
51106
- const inputError$2 = "_inputError_xkoxm_25";
51107
- const inputWarning$2 = "_inputWarning_xkoxm_26";
51108
- const inputDisabled$2 = "_inputDisabled_xkoxm_61";
51109
- const hideScrollbars$2 = "_hideScrollbars_xkoxm_67";
51110
- const wrapper = "_wrapper_xkoxm_85";
51111
- const bordered = "_bordered_xkoxm_93";
51112
- const scroll = "_scroll_xkoxm_98";
51113
- const table = "_table_xkoxm_109";
51114
- const dragOverlay = "_dragOverlay_xkoxm_145";
51115
- const striped = "_striped_xkoxm_194";
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";
51116
50721
  const styles$b = {
51117
50722
  inputInTable: inputInTable$2,
51118
50723
  inputHover: inputHover$2,
@@ -51218,6 +50823,36 @@ const hasActions = (rows) => rows.reduce(
51218
50823
  const hasRowActions = (rows, headers) => {
51219
50824
  return hasActions(headers) > 0 || hasActions(rows) > 0;
51220
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
+ };
51221
50856
  const clickableRow = "_clickableRow_10f34_1";
51222
50857
  const hoverableRow = "_hoverableRow_10f34_4";
51223
50858
  const rowActive = "_rowActive_10f34_4";
@@ -51931,7 +51566,6 @@ const Row = ({
51931
51566
  hasRowActions: hasRowActions2,
51932
51567
  draggableTable = false,
51933
51568
  columnWidths,
51934
- height: height2,
51935
51569
  testId
51936
51570
  //TODO: add testId
51937
51571
  }) => {
@@ -51988,8 +51622,7 @@ const Row = ({
51988
51622
  animateLayoutChanges: () => false
51989
51623
  });
51990
51624
  const style = {
51991
- height: height2,
51992
- transform: CSS.Transform.toString(transform),
51625
+ transform: CSS.Translate.toString(transform),
51993
51626
  transition,
51994
51627
  opacity: isDragging ? 0 : void 0
51995
51628
  };
@@ -52047,8 +51680,6 @@ const Row = ({
52047
51680
  ),
52048
51681
  "data-error": error2 || null,
52049
51682
  "data-warning": warning2 || null,
52050
- "data-index": rowIndex,
52051
- "data-even": rowIndex % 2 === 0,
52052
51683
  style,
52053
51684
  children: [
52054
51685
  draggableTable ? getDragItem() : null,
@@ -52140,36 +51771,6 @@ const TableDragWrapper = (props) => {
52140
51771
  }
52141
51772
  );
52142
51773
  };
52143
- const TableScrollWrapper = ({
52144
- table: table2,
52145
- theadRef,
52146
- children
52147
- }) => {
52148
- var _a2, _b;
52149
- const { infiniteScroll = false } = table2;
52150
- if (!infiniteScroll) {
52151
- return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, children: children({}) });
52152
- }
52153
- const containerRef = useRef(null);
52154
- const MIN_ITEM_HEIGHT = 31;
52155
- const virtualizer = useVirtualizer({
52156
- count: ((_a2 = table2.rows) == null ? void 0 : _a2.length) ?? 0,
52157
- getScrollElement: () => containerRef.current,
52158
- estimateSize: () => MIN_ITEM_HEIGHT,
52159
- overscan: 10
52160
- });
52161
- const theadHeight = ((_b = theadRef.current) == null ? void 0 : _b.clientHeight) ?? 0;
52162
- const totalHeight = virtualizer.getTotalSize() + theadHeight;
52163
- const items = virtualizer.getVirtualItems();
52164
- const paddingTop = items.length > 0 ? items[0].start : 0;
52165
- const paddingBottom = items.length > 0 ? virtualizer.getTotalSize() - items[items.length - 1].end : 0;
52166
- const tableStyle = {
52167
- "--virtualPaddingTop": paddingTop + "px",
52168
- "--virtualPaddingBottom": paddingBottom + "px",
52169
- height: totalHeight
52170
- };
52171
- return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, ref: containerRef, children: children({ virtualizer, tableStyle }) });
52172
- };
52173
51774
  const Table = (props) => {
52174
51775
  var _a2, _b, _c, _d, _e2, _f, _g;
52175
51776
  const { onListReorder = () => {
@@ -52192,7 +51793,6 @@ const Table = (props) => {
52192
51793
  maxHeight,
52193
51794
  fixedWidth: width2
52194
51795
  } = propTable;
52195
- const theadRef = useRef(null);
52196
51796
  const tbodyRef = useRef(null);
52197
51797
  const headers = get$2(props, "table.headers", []);
52198
51798
  const columnCount = getColumnCount(propRows, headers);
@@ -52254,7 +51854,7 @@ const Table = (props) => {
52254
51854
  testId: testId && `${testId}-title`
52255
51855
  }
52256
51856
  ),
52257
- /* @__PURE__ */ jsx(
51857
+ /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, children: ({ visibleRows }) => /* @__PURE__ */ jsx(
52258
51858
  TableDragWrapper,
52259
51859
  {
52260
51860
  colSpan,
@@ -52265,66 +51865,49 @@ const Table = (props) => {
52265
51865
  rowActions,
52266
51866
  rows,
52267
51867
  tbodyRef,
52268
- children: /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, theadRef, children: ({ virtualizer, tableStyle }) => {
52269
- return /* @__PURE__ */ jsxs(
52270
- "table",
52271
- {
52272
- className: cx$2(styles$b.table, striped2 ? styles$b.striped : ""),
52273
- "data-testid": testId,
52274
- style: tableStyle,
52275
- children: [
52276
- /* @__PURE__ */ jsx("thead", { ref: theadRef, children: headers.map((row2, rowIndex) => {
52277
- return /* @__PURE__ */ jsx(
52278
- Row,
52279
- {
52280
- rowIndex,
52281
- isHeader: true,
52282
- row: row2,
52283
- columnCount,
52284
- columnWidths,
52285
- colSpan,
52286
- hasRowActions: rowActions,
52287
- columnAlignment,
52288
- columnHeaderAlignments,
52289
- draggableTable: draggable
52290
- },
52291
- `0_${rowIndex}`
52292
- );
52293
- }) }),
52294
- /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: virtualizer ? virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
52295
- Row,
52296
- {
52297
- rowIndex: virtualRow2.index,
52298
- row: rows[virtualRow2.index],
52299
- columnCount,
52300
- columnWidths,
52301
- colSpan,
52302
- hasRowActions: rowActions,
52303
- columnAlignment,
52304
- draggableTable: draggable,
52305
- height: virtualRow2.size
52306
- },
52307
- `1_${virtualRow2.index}`
52308
- )) : rows.map((row2, index2) => /* @__PURE__ */ jsx(
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(
52309
51876
  Row,
52310
51877
  {
52311
- rowIndex: index2,
51878
+ rowIndex,
51879
+ isHeader: true,
52312
51880
  row: row2,
52313
51881
  columnCount,
52314
51882
  columnWidths,
52315
51883
  colSpan,
52316
51884
  hasRowActions: rowActions,
52317
51885
  columnAlignment,
51886
+ columnHeaderAlignments,
52318
51887
  draggableTable: draggable
52319
51888
  },
52320
- `1_${index2}`
52321
- )) })
52322
- ]
52323
- }
52324
- );
52325
- } })
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
+ )
52326
51909
  }
52327
- ),
51910
+ ) }),
52328
51911
  footer2 && /* @__PURE__ */ jsx(
52329
51912
  Footer,
52330
51913
  {
@@ -55437,7 +55020,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
55437
55020
  }
55438
55021
  let refCount = 0;
55439
55022
  const INSTANCE_SYM = Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");
55440
- var DndProvider = /* @__PURE__ */ memo$1(function DndProvider2(_param) {
55023
+ var DndProvider = /* @__PURE__ */ memo(function DndProvider2(_param) {
55441
55024
  var { children } = _param, props = _objectWithoutProperties(_param, [
55442
55025
  "children"
55443
55026
  ]);
@@ -57798,7 +57381,7 @@ function useFeatures(props, visualElement2, preloadedFeatures) {
57798
57381
  var name_1 = featureNames[i];
57799
57382
  var _a2 = featureDefinitions[name_1], isEnabled = _a2.isEnabled, Component2 = _a2.Component;
57800
57383
  if (isEnabled(props) && Component2) {
57801
- 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 })));
57802
57385
  }
57803
57386
  }
57804
57387
  return features;
@@ -58039,7 +57622,7 @@ function useProjection(projectionId, _a2, visualElement2, ProjectionNodeConstruc
58039
57622
  var VisualElementHandler = (
58040
57623
  /** @class */
58041
57624
  function(_super) {
58042
- __extends(VisualElementHandler2, _super);
57625
+ __extends$1(VisualElementHandler2, _super);
58043
57626
  function VisualElementHandler2() {
58044
57627
  return _super !== null && _super.apply(this, arguments) || this;
58045
57628
  }
@@ -58065,20 +57648,20 @@ function createMotionComponent(_a2) {
58065
57648
  preloadedFeatures && loadFeatures(preloadedFeatures);
58066
57649
  function MotionComponent(props, externalRef) {
58067
57650
  var layoutId = useLayoutId(props);
58068
- props = __assign$3(__assign$3({}, props), { layoutId });
57651
+ props = __assign$4(__assign$4({}, props), { layoutId });
58069
57652
  var config = useContext(MotionConfigContext);
58070
57653
  var features = null;
58071
57654
  var context2 = useCreateMotionContext(props);
58072
57655
  var projectionId = config.isStatic ? void 0 : useProjectionId();
58073
57656
  var visualState = useVisualState(props, config.isStatic);
58074
57657
  if (!config.isStatic && isBrowser) {
58075
- 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);
58076
57659
  useProjection(projectionId, props, context2.visualElement, projectionNodeConstructor || featureDefinitions.projectionNodeConstructor);
58077
57660
  features = useFeatures(props, context2.visualElement, preloadedFeatures);
58078
57661
  }
58079
57662
  return React$4.createElement(
58080
57663
  VisualElementHandler,
58081
- { visualElement: context2.visualElement, props: __assign$3(__assign$3({}, config), props) },
57664
+ { visualElement: context2.visualElement, props: __assign$4(__assign$4({}, config), props) },
58082
57665
  features,
58083
57666
  React$4.createElement(MotionContext.Provider, { value: context2 }, useRender(Component2, props, projectionId, useMotionRef(visualState, context2.visualElement, externalRef), visualState, config.isStatic, context2.visualElement))
58084
57667
  );
@@ -58404,7 +57987,7 @@ const filter = Object.assign(Object.assign({}, complex), { getAnimatableNone: (v
58404
57987
  const functions = v2.match(functionRegex);
58405
57988
  return functions ? functions.map(applyDefaultFilter).join(" ") : v2;
58406
57989
  } });
58407
- var int = __assign$3(__assign$3({}, number), { transform: Math.round });
57990
+ var int = __assign$4(__assign$4({}, number), { transform: Math.round });
58408
57991
  var numberValueTypes = {
58409
57992
  // Border props
58410
57993
  borderWidth: px,
@@ -58534,7 +58117,7 @@ function useInitialMotionValues(_a2, visualState, isStatic) {
58534
58117
  var state = createHtmlRenderState();
58535
58118
  buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);
58536
58119
  var vars = state.vars, style = state.style;
58537
- return __assign$3(__assign$3({}, vars), style);
58120
+ return __assign$4(__assign$4({}, vars), style);
58538
58121
  }, [visualState]);
58539
58122
  }
58540
58123
  function useStyle(props, visualState, isStatic) {
@@ -58692,18 +58275,18 @@ function buildSVGAttrs(state, _a2, options, transformTemplate) {
58692
58275
  }
58693
58276
  }
58694
58277
  var createSvgRenderState = function() {
58695
- return __assign$3(__assign$3({}, createHtmlRenderState()), { attrs: {} });
58278
+ return __assign$4(__assign$4({}, createHtmlRenderState()), { attrs: {} });
58696
58279
  };
58697
58280
  function useSVGProps(props, visualState) {
58698
58281
  var visualProps = useMemo(function() {
58699
58282
  var state = createSvgRenderState();
58700
58283
  buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, props.transformTemplate);
58701
- 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) });
58702
58285
  }, [visualState]);
58703
58286
  if (props.style) {
58704
58287
  var rawStyles = {};
58705
58288
  copyRawValuesOnly(rawStyles, props.style, props);
58706
- visualProps.style = __assign$3(__assign$3({}, rawStyles), visualProps.style);
58289
+ visualProps.style = __assign$4(__assign$4({}, rawStyles), visualProps.style);
58707
58290
  }
58708
58291
  return visualProps;
58709
58292
  }
@@ -58716,7 +58299,7 @@ function createUseRender(forwardMotionProps) {
58716
58299
  var useVisualProps = isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
58717
58300
  var visualProps = useVisualProps(props, latestValues, isStatic);
58718
58301
  var filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
58719
- var elementProps = __assign$3(__assign$3(__assign$3({}, filteredProps), visualProps), { ref });
58302
+ var elementProps = __assign$4(__assign$4(__assign$4({}, filteredProps), visualProps), { ref });
58720
58303
  if (projectionId) {
58721
58304
  elementProps["data-projection-id"] = projectionId;
58722
58305
  }
@@ -58893,7 +58476,7 @@ var htmlMotionConfig = {
58893
58476
  function createDomMotionConfig(Component2, _a2, preloadedFeatures, createVisualElement, projectionNodeConstructor) {
58894
58477
  var _b = _a2.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b;
58895
58478
  var baseConfig = isSVGComponent(Component2) ? svgMotionConfig : htmlMotionConfig;
58896
- 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 });
58897
58480
  }
58898
58481
  var AnimationType;
58899
58482
  (function(AnimationType2) {
@@ -59980,7 +59563,7 @@ function initIntersectionObserver(_a2) {
59980
59563
  var rootObservers = observers.get(lookupRoot);
59981
59564
  var key2 = JSON.stringify(options);
59982
59565
  if (!rootObservers[key2]) {
59983
- rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$3({ root: root2 }, options));
59566
+ rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$4({ root: root2 }, options));
59984
59567
  }
59985
59568
  return rootObservers[key2];
59986
59569
  }
@@ -60198,9 +59781,9 @@ var getDefaultTransition = function(valueKey, to2) {
60198
59781
  } else {
60199
59782
  transitionFactory = defaultTransitions[valueKey] || defaultTransitions.default;
60200
59783
  }
60201
- return __assign$3({ to: to2 }, transitionFactory(to2));
59784
+ return __assign$4({ to: to2 }, transitionFactory(to2));
60202
59785
  };
60203
- var defaultValueTypes = __assign$3(__assign$3({}, numberValueTypes), {
59786
+ var defaultValueTypes = __assign$4(__assign$4({}, numberValueTypes), {
60204
59787
  // Color props
60205
59788
  color,
60206
59789
  backgroundColor: color,
@@ -60242,7 +59825,7 @@ function isTransitionDefined(_a2) {
60242
59825
  var legacyRepeatWarning = false;
60243
59826
  function convertTransitionToAnimationOptions(_a2) {
60244
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"]);
60245
- var options = __assign$3({}, transition);
59828
+ var options = __assign$4({}, transition);
60246
59829
  if (times)
60247
59830
  options["offset"] = times;
60248
59831
  if (transition.duration)
@@ -60289,9 +59872,9 @@ function getPopmotionAnimationOptions(transition, options, key2) {
60289
59872
  }
60290
59873
  hydrateKeyframes(options);
60291
59874
  if (!isTransitionDefined(transition)) {
60292
- transition = __assign$3(__assign$3({}, transition), getDefaultTransition(key2, options.to));
59875
+ transition = __assign$4(__assign$4({}, transition), getDefaultTransition(key2, options.to));
60293
59876
  }
60294
- return __assign$3(__assign$3({}, options), convertTransitionToAnimationOptions(transition));
59877
+ return __assign$4(__assign$4({}, options), convertTransitionToAnimationOptions(transition));
60295
59878
  }
60296
59879
  function getAnimation(key2, value, target, transition, onComplete) {
60297
59880
  var _a2;
@@ -60317,7 +59900,7 @@ function getAnimation(key2, value, target, transition, onComplete) {
60317
59900
  return value.set(v2);
60318
59901
  }
60319
59902
  };
60320
- return valueTransition.type === "inertia" || valueTransition.type === "decay" ? inertia(__assign$3(__assign$3({}, options), valueTransition)) : animate$1(__assign$3(__assign$3({}, getPopmotionAnimationOptions(valueTransition, options, key2)), { onUpdate: function(v2) {
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) {
60321
59904
  var _a3;
60322
59905
  options.onUpdate(v2);
60323
59906
  (_a3 = valueTransition.onUpdate) === null || _a3 === void 0 ? void 0 : _a3.call(valueTransition, v2);
@@ -60570,7 +60153,7 @@ function setTarget(visualElement2, definition) {
60570
60153
  var _a2 = resolved ? visualElement2.makeTargetAnimatable(resolved, false) : {}, _b = _a2.transitionEnd, transitionEnd = _b === void 0 ? {} : _b;
60571
60154
  _a2.transition;
60572
60155
  var target = __rest$1(_a2, ["transitionEnd", "transition"]);
60573
- target = __assign$3(__assign$3({}, target), transitionEnd);
60156
+ target = __assign$4(__assign$4({}, target), transitionEnd);
60574
60157
  for (var key2 in target) {
60575
60158
  var value = resolveFinalValueInKeyframes(target[key2]);
60576
60159
  setMotionValue(visualElement2, key2, value);
@@ -60688,9 +60271,9 @@ function animateTarget(visualElement2, definition, _a2) {
60688
60271
  if (!value || valueTarget === void 0 || animationTypeState && shouldBlockAnimation(animationTypeState, key2)) {
60689
60272
  continue;
60690
60273
  }
60691
- var valueTransition = __assign$3({ delay }, transition);
60274
+ var valueTransition = __assign$4({ delay }, transition);
60692
60275
  if (visualElement2.shouldReduceMotion && isTransformProp(key2)) {
60693
- valueTransition = __assign$3(__assign$3({}, valueTransition), { type: false, delay: 0 });
60276
+ valueTransition = __assign$4(__assign$4({}, valueTransition), { type: false, delay: 0 });
60694
60277
  }
60695
60278
  var animation = startAnimation(key2, value, valueTarget, valueTransition);
60696
60279
  animations2.push(animation);
@@ -60723,7 +60306,7 @@ function animateChildren(visualElement2, variant, delayChildren, staggerChildren
60723
60306
  return maxStaggerDuration - i * staggerChildren;
60724
60307
  };
60725
60308
  Array.from(visualElement2.variantChildren).sort(sortByTreeOrder).forEach(function(child, i) {
60726
- 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() {
60727
60310
  return child.notifyAnimationComplete(variant);
60728
60311
  }));
60729
60312
  });
@@ -60767,7 +60350,7 @@ function createAnimationState(visualElement2) {
60767
60350
  if (resolved) {
60768
60351
  resolved.transition;
60769
60352
  var transitionEnd = resolved.transitionEnd, target = __rest$1(resolved, ["transition", "transitionEnd"]);
60770
- acc = __assign$3(__assign$3(__assign$3({}, acc), target), transitionEnd);
60353
+ acc = __assign$4(__assign$4(__assign$4({}, acc), target), transitionEnd);
60771
60354
  }
60772
60355
  return acc;
60773
60356
  };
@@ -60797,7 +60380,7 @@ function createAnimationState(visualElement2) {
60797
60380
  if (isInherited && isInitialRender && visualElement2.manuallyAnimateOnMount) {
60798
60381
  isInherited = false;
60799
60382
  }
60800
- typeState.protectedKeys = __assign$3({}, encounteredKeys);
60383
+ typeState.protectedKeys = __assign$4({}, encounteredKeys);
60801
60384
  if (
60802
60385
  // If it isn't active and hasn't *just* been set as inactive
60803
60386
  !typeState.isActive && activeDelta === null || // If we didn't and don't have any defined prop for this animation type
@@ -60815,7 +60398,7 @@ function createAnimationState(visualElement2) {
60815
60398
  if (activeDelta === false)
60816
60399
  resolvedValues = {};
60817
60400
  var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b;
60818
- var allKeys = __assign$3(__assign$3({}, prevResolvedValues), resolvedValues);
60401
+ var allKeys = __assign$4(__assign$4({}, prevResolvedValues), resolvedValues);
60819
60402
  var markToAnimate = function(key3) {
60820
60403
  shouldAnimateType = true;
60821
60404
  removedKeys.delete(key3);
@@ -60847,7 +60430,7 @@ function createAnimationState(visualElement2) {
60847
60430
  typeState.prevProp = prop;
60848
60431
  typeState.prevResolvedValues = resolvedValues;
60849
60432
  if (typeState.isActive) {
60850
- encounteredKeys = __assign$3(__assign$3({}, encounteredKeys), resolvedValues);
60433
+ encounteredKeys = __assign$4(__assign$4({}, encounteredKeys), resolvedValues);
60851
60434
  }
60852
60435
  if (isInitialRender && visualElement2.blockInitialAnimation) {
60853
60436
  shouldAnimateType = false;
@@ -60856,7 +60439,7 @@ function createAnimationState(visualElement2) {
60856
60439
  animations2.push.apply(animations2, __spreadArray$2([], __read(definitionList.map(function(animation) {
60857
60440
  return {
60858
60441
  animation,
60859
- options: __assign$3({ type }, options)
60442
+ options: __assign$4({ type }, options)
60860
60443
  };
60861
60444
  })), false));
60862
60445
  }
@@ -60864,7 +60447,7 @@ function createAnimationState(visualElement2) {
60864
60447
  for (var i = 0; i < numAnimationTypes; i++) {
60865
60448
  _loop_1(i);
60866
60449
  }
60867
- allAnimatedKeys = __assign$3({}, encounteredKeys);
60450
+ allAnimatedKeys = __assign$4({}, encounteredKeys);
60868
60451
  if (removedKeys.size) {
60869
60452
  var fallbackAnimation_1 = {};
60870
60453
  removedKeys.forEach(function(key2) {
@@ -60972,7 +60555,7 @@ var PanSession = (
60972
60555
  return;
60973
60556
  var point2 = info3.point;
60974
60557
  var timestamp2 = getFrameData().timestamp;
60975
- _this.history.push(__assign$3(__assign$3({}, point2), { timestamp: timestamp2 }));
60558
+ _this.history.push(__assign$4(__assign$4({}, point2), { timestamp: timestamp2 }));
60976
60559
  var _a3 = _this.handlers, onStart = _a3.onStart, onMove = _a3.onMove;
60977
60560
  if (!isPanStarted) {
60978
60561
  onStart && onStart(_this.lastMoveEvent, info3);
@@ -61006,7 +60589,7 @@ var PanSession = (
61006
60589
  var initialInfo = transformPoint(info2, this.transformPagePoint);
61007
60590
  var point = initialInfo.point;
61008
60591
  var timestamp = getFrameData().timestamp;
61009
- this.history = [__assign$3(__assign$3({}, point), { timestamp })];
60592
+ this.history = [__assign$4(__assign$4({}, point), { timestamp })];
61010
60593
  var onSessionStart = handlers2.onSessionStart;
61011
60594
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
61012
60595
  this.removeListeners = pipe(addPointerEvent(window, "pointermove", this.handlePointerMove), addPointerEvent(window, "pointerup", this.handlePointerUp), addPointerEvent(window, "pointercancel", this.handlePointerUp));
@@ -61527,7 +61110,7 @@ var VisualElementDragControls = (
61527
61110
  transition = { min: 0, max: 0 };
61528
61111
  var bounceStiffness = dragElastic ? 200 : 1e6;
61529
61112
  var bounceDamping = dragElastic ? 40 : 1e7;
61530
- 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);
61531
61114
  return _this.startAxisValueAnimation(axis, inertia2);
61532
61115
  });
61533
61116
  return Promise.all(momentumAnimations).then(onDragTransitionEnd);
@@ -61638,7 +61221,7 @@ var VisualElementDragControls = (
61638
61221
  VisualElementDragControls2.prototype.getProps = function() {
61639
61222
  var props = this.visualElement.getProps();
61640
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;
61641
- 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 });
61642
61225
  };
61643
61226
  return VisualElementDragControls2;
61644
61227
  }()
@@ -61795,7 +61378,7 @@ var visualElement = function(_a2) {
61795
61378
  var values2 = /* @__PURE__ */ new Map();
61796
61379
  var valueSubscriptions = /* @__PURE__ */ new Map();
61797
61380
  var prevMotionValues = {};
61798
- var baseTarget = __assign$3({}, latestValues);
61381
+ var baseTarget = __assign$4({}, latestValues);
61799
61382
  var removeFromVariantTree;
61800
61383
  function render2() {
61801
61384
  if (!instance || !isMounted)
@@ -61829,7 +61412,7 @@ var visualElement = function(_a2) {
61829
61412
  }
61830
61413
  var isControllingVariants = checkIfControllingVariants(props);
61831
61414
  var isVariantNode = checkIfVariantNode(props);
61832
- var element = __assign$3(__assign$3({
61415
+ var element = __assign$4(__assign$4({
61833
61416
  treeType,
61834
61417
  /**
61835
61418
  * This is a mirror of the internal instance prop, which keeps
@@ -62194,7 +61777,7 @@ function resolveCSSVariables(visualElement2, _a2, transitionEnd) {
62194
61777
  if (!(element instanceof Element))
62195
61778
  return { target, transitionEnd };
62196
61779
  if (transitionEnd) {
62197
- transitionEnd = __assign$3({}, transitionEnd);
61780
+ transitionEnd = __assign$4({}, transitionEnd);
62198
61781
  }
62199
61782
  visualElement2.forEachValue(function(value) {
62200
61783
  var current2 = value.get();
@@ -62349,8 +61932,8 @@ var checkAndConvertChangedValueTypes = function(visualElement2, target, origin,
62349
61932
  if (transitionEnd === void 0) {
62350
61933
  transitionEnd = {};
62351
61934
  }
62352
- target = __assign$3({}, target);
62353
- transitionEnd = __assign$3({}, transitionEnd);
61935
+ target = __assign$4({}, target);
61936
+ transitionEnd = __assign$4({}, transitionEnd);
62354
61937
  var targetPositionalKeys = Object.keys(target).filter(isPositionalKey);
62355
61938
  var removedTransformValues = [];
62356
61939
  var hasAttemptedToRemoveTransformValues = false;
@@ -62503,7 +62086,7 @@ var htmlConfig = {
62503
62086
  transitionEnd = parsed.transitionEnd;
62504
62087
  target = parsed.target;
62505
62088
  }
62506
- return __assign$3({ transition, transitionEnd }, target);
62089
+ return __assign$4({ transition, transitionEnd }, target);
62507
62090
  },
62508
62091
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps$1,
62509
62092
  build: function(element, renderState, latestValues, options, props) {
@@ -62515,7 +62098,7 @@ var htmlConfig = {
62515
62098
  render: renderHTML
62516
62099
  };
62517
62100
  var htmlVisualElement = visualElement(htmlConfig);
62518
- 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) {
62519
62102
  return props[key2];
62520
62103
  }, readValueFromInstance: function(domElement, key2) {
62521
62104
  var _a2;
@@ -62593,7 +62176,7 @@ var correctBoxShadow = {
62593
62176
  var MeasureLayoutWithContext = (
62594
62177
  /** @class */
62595
62178
  function(_super) {
62596
- __extends(MeasureLayoutWithContext2, _super);
62179
+ __extends$1(MeasureLayoutWithContext2, _super);
62597
62180
  function MeasureLayoutWithContext2() {
62598
62181
  return _super !== null && _super.apply(this, arguments) || this;
62599
62182
  }
@@ -62612,7 +62195,7 @@ var MeasureLayoutWithContext = (
62612
62195
  projection.addEventListener("animationComplete", function() {
62613
62196
  _this.safeToRemove();
62614
62197
  });
62615
- projection.setOptions(__assign$3(__assign$3({}, projection.options), { onExitComplete: function() {
62198
+ projection.setOptions(__assign$4(__assign$4({}, projection.options), { onExitComplete: function() {
62616
62199
  return _this.safeToRemove();
62617
62200
  } }));
62618
62201
  }
@@ -62677,10 +62260,10 @@ var MeasureLayoutWithContext = (
62677
62260
  function MeasureLayout(props) {
62678
62261
  var _a2 = __read(usePresence(), 2), isPresent = _a2[0], safeToRemove = _a2[1];
62679
62262
  var layoutGroup = useContext(LayoutGroupContext);
62680
- 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 }));
62681
62264
  }
62682
62265
  var defaultScaleCorrectors = {
62683
- borderRadius: __assign$3(__assign$3({}, correctBorderRadius), { applyTo: [
62266
+ borderRadius: __assign$4(__assign$4({}, correctBorderRadius), { applyTo: [
62684
62267
  "borderTopLeftRadius",
62685
62268
  "borderTopRightRadius",
62686
62269
  "borderBottomLeftRadius",
@@ -63103,7 +62686,7 @@ function createProjectionNode(_a2) {
63103
62686
  _this.resumingFrom.resumingFrom = void 0;
63104
62687
  }
63105
62688
  _this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
63106
- 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 });
63107
62690
  if (visualElement2.shouldReduceMotion) {
63108
62691
  animationOptions.delay = 0;
63109
62692
  animationOptions.type = false;
@@ -63357,7 +62940,7 @@ function createProjectionNode(_a2) {
63357
62940
  };
63358
62941
  ProjectionNode.prototype.setOptions = function(options) {
63359
62942
  var _a3;
63360
- 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 });
63361
62944
  };
63362
62945
  ProjectionNode.prototype.clearMeasurements = function() {
63363
62946
  this.scroll = void 0;
@@ -63475,7 +63058,7 @@ function createProjectionNode(_a2) {
63475
63058
  }
63476
63059
  var snapshot = this.snapshot;
63477
63060
  var snapshotLatestValues = (snapshot === null || snapshot === void 0 ? void 0 : snapshot.latestValues) || {};
63478
- var mixedValues = __assign$3({}, this.latestValues);
63061
+ var mixedValues = __assign$4({}, this.latestValues);
63479
63062
  var targetDelta = createDelta();
63480
63063
  this.relativeTarget = this.relativeTargetOrigin = void 0;
63481
63064
  this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;
@@ -63518,7 +63101,7 @@ function createProjectionNode(_a2) {
63518
63101
  }
63519
63102
  this.pendingAnimation = sync.update(function() {
63520
63103
  globalProjectionState.hasAnimatedSinceResize = true;
63521
- _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) {
63522
63105
  var _a4;
63523
63106
  _this.mixTargetDelta(latest);
63524
63107
  (_a4 = options.onUpdate) === null || _a4 === void 0 ? void 0 : _a4.call(options, latest);
@@ -63886,7 +63469,7 @@ var HTMLProjectionNode = createProjectionNode({
63886
63469
  return Boolean(window.getComputedStyle(instance).position === "fixed");
63887
63470
  }
63888
63471
  });
63889
- 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);
63890
63473
  var motion = /* @__PURE__ */ createMotionProxy(function(Component2, config) {
63891
63474
  return createDomMotionConfig(Component2, config, featureBundle, createDomVisualElement, HTMLProjectionNode);
63892
63475
  });
@@ -66962,6 +66545,41 @@ const SmartUploadModal = ({
66962
66545
  }
66963
66546
  ) });
66964
66547
  };
66548
+ const SettingField = ({
66549
+ helpText,
66550
+ active: active2 = true,
66551
+ children,
66552
+ noPermission = false,
66553
+ selectedOption,
66554
+ handleSelectChange
66555
+ }) => {
66556
+ const options = [
66557
+ { label: "All users", value: "all_users" },
66558
+ { label: "Admin only", value: "superusers_admin" }
66559
+ ];
66560
+ return /* @__PURE__ */ jsxs("div", { children: [
66561
+ /* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", children: [
66562
+ children,
66563
+ !noPermission && /* @__PURE__ */ jsx(
66564
+ Select,
66565
+ {
66566
+ small: true,
66567
+ searchable: false,
66568
+ name: "userType",
66569
+ options,
66570
+ value: selectedOption,
66571
+ disabled: !active2,
66572
+ onChange: handleSelectChange ? (e2) => handleSelectChange(
66573
+ e2.target.value
66574
+ ) : void 0,
66575
+ "aria-label": "Select user type",
66576
+ width: "auto"
66577
+ }
66578
+ )
66579
+ ] }),
66580
+ /* @__PURE__ */ jsx(Text, { muted: true, children: helpText })
66581
+ ] });
66582
+ };
66965
66583
  export {
66966
66584
  Accordion,
66967
66585
  AccordionWithDefaultToggle,
@@ -67025,6 +66643,7 @@ export {
67025
66643
  RichTextInput,
67026
66644
  Row$1 as Row,
67027
66645
  Select,
66646
+ SettingField,
67028
66647
  SideBar,
67029
66648
  Slider,
67030
66649
  SmartUploadModal,