@oliasoft-open-source/react-ui-library 4.18.0-beta-8 → 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,26 +14338,58 @@ const List = ({
14692
14338
  height: height2,
14693
14339
  testId,
14694
14340
  scrollDetails = {
14341
+ scrollable: false,
14695
14342
  hideScrollbar: false,
14696
- triggerScrollToActiveItem: false
14343
+ triggerScrollToActiveItem: false,
14344
+ infiniteScroll: false,
14345
+ limit: 10,
14346
+ infiniteScrollTarget: void 0
14697
14347
  }
14698
14348
  }) => {
14699
- const { hideScrollbar: hideScrollbar2, triggerScrollToActiveItem } = scrollDetails;
14349
+ const {
14350
+ scrollable,
14351
+ hideScrollbar: hideScrollbar2,
14352
+ triggerScrollToActiveItem,
14353
+ infiniteScroll,
14354
+ infiniteScrollTarget
14355
+ } = scrollDetails;
14356
+ const listHeadingRef = useRef(null);
14357
+ const listRowRefs = useRef([]);
14700
14358
  const listContainerRef = useRef(null);
14701
- const MIN_ITEM_HEIGHT = 56;
14702
- const virtualizer = useVirtualizer({
14703
- count: list2.items.length,
14704
- getScrollElement: () => listContainerRef.current,
14705
- estimateSize: () => MIN_ITEM_HEIGHT,
14706
- overscan: 5
14707
- });
14359
+ const MIN_ITEM_HEIGHT = 44;
14360
+ const pageSize = infiniteScroll ? Math.ceil(window.innerHeight / MIN_ITEM_HEIGHT) : list2.items.length;
14361
+ const [numVisibleRows, setNumVisibleRows] = useState(pageSize);
14362
+ const [hasMore, setHasMore] = useState(numVisibleRows < (list2 == null ? void 0 : list2.items.length));
14363
+ useEffect(() => {
14364
+ listRowRefs.current = listRowRefs.current.slice(0, list2.items.length);
14365
+ }, [list2.items.length]);
14366
+ const loadMoreItems = () => {
14367
+ if (numVisibleRows >= list2.items.length) {
14368
+ setHasMore(false);
14369
+ return;
14370
+ }
14371
+ const newVisibleRows = pageSize + numVisibleRows;
14372
+ setNumVisibleRows(newVisibleRows);
14373
+ };
14708
14374
  const findFirstActiveItemIndex = (items) => items.findIndex((item2) => item2.active === true);
14709
14375
  const setScrollToActiveItem = (activeItemIndex) => {
14710
- if (activeItemIndex >= 0) {
14711
- virtualizer.scrollToIndex(activeItemIndex, {
14712
- align: "center",
14713
- behavior: "smooth"
14714
- });
14376
+ if (!listContainerRef.current || !listHeadingRef.current) return;
14377
+ const itemBorderLength = 1;
14378
+ if (triggerScrollToActiveItem && activeItemIndex >= 0) {
14379
+ const itemOffsets = listRowRefs.current.reduce((acc, val, index2) => {
14380
+ if (index2 < activeItemIndex) {
14381
+ return acc + val.clientHeight + itemBorderLength;
14382
+ }
14383
+ return acc;
14384
+ }, 0);
14385
+ const centerOffset = listContainerRef.current.clientHeight / 2 - listRowRefs.current[activeItemIndex].clientHeight / 2;
14386
+ const scrollOffset = itemOffsets - centerOffset;
14387
+ if (stickyHeader2) {
14388
+ const headingOffset2 = listHeadingRef.current.clientHeight / 2;
14389
+ listContainerRef.current.scrollTop = scrollOffset + headingOffset2;
14390
+ }
14391
+ const headingOffset = listHeadingRef.current.clientHeight;
14392
+ listContainerRef.current.scrollTop = scrollOffset + headingOffset;
14715
14393
  }
14716
14394
  };
14717
14395
  useEffect(() => {
@@ -14719,19 +14397,24 @@ const List = ({
14719
14397
  const activeItemIndex = findFirstActiveItemIndex(list2 == null ? void 0 : list2.items);
14720
14398
  setScrollToActiveItem(activeItemIndex);
14721
14399
  }
14722
- }, [triggerScrollToActiveItem]);
14723
- return /* @__PURE__ */ jsxs(
14400
+ }, [
14401
+ listContainerRef.current,
14402
+ listHeadingRef.current,
14403
+ triggerScrollToActiveItem
14404
+ ]);
14405
+ return /* @__PURE__ */ jsx(
14724
14406
  "div",
14725
14407
  {
14726
14408
  className: cx$2(
14727
- listStyles.list,
14728
14409
  narrow2 ? listStyles.narrow : "",
14729
- bordered2 ? listStyles.bordered : ""
14410
+ scrollable ? listStyles.scrollableList : "",
14411
+ hideScrollbar2 ? listStyles.hideScrollbar : ""
14730
14412
  ),
14731
14413
  "data-testid": testId,
14732
- style: { height: height2, marginBottom },
14733
14414
  id: "scrollableDiv",
14734
- children: [
14415
+ style: { height: height2, marginBottom },
14416
+ ref: listContainerRef,
14417
+ children: /* @__PURE__ */ jsxs(Card, { bordered: bordered2, padding: false, children: [
14735
14418
  !noHeader && /* @__PURE__ */ jsx(
14736
14419
  ListHeading,
14737
14420
  {
@@ -14739,123 +14422,53 @@ const List = ({
14739
14422
  actions: list2.actions,
14740
14423
  toggleNarrow: toggleNarrow2,
14741
14424
  onToggleNarrow,
14742
- stickyHeader: stickyHeader2
14425
+ stickyHeader: stickyHeader2,
14426
+ ref: listHeadingRef
14743
14427
  }
14744
14428
  ),
14745
- /* @__PURE__ */ jsx(
14429
+ /* @__PURE__ */ jsx("div", { className: cx$2(listStyles.list, bordered2 ? listStyles.bordered : ""), children: /* @__PURE__ */ jsx(
14746
14430
  ListDragWrapper,
14747
14431
  {
14748
14432
  draggable,
14749
14433
  list: list2,
14750
14434
  onListReorder,
14751
- children: /* @__PURE__ */ jsx(
14752
- "div",
14435
+ children: infiniteScroll ? /* @__PURE__ */ jsx(
14436
+ InfiniteScroll,
14753
14437
  {
14754
- className: cx$2(
14755
- listStyles.listContent,
14756
- hideScrollbar2 ? listStyles.hideScrollbar : ""
14757
- ),
14758
- ref: listContainerRef,
14759
- children: /* @__PURE__ */ jsx(
14760
- "div",
14438
+ dataLength: numVisibleRows,
14439
+ next: loadMoreItems,
14440
+ hasMore,
14441
+ scrollableTarget: infiniteScrollTarget || "scrollableDiv",
14442
+ loader: /* @__PURE__ */ jsx(Loader, {}),
14443
+ className: listStyles.infiniteScrollContainer,
14444
+ children: list2.items.slice(0, numVisibleRows).map((item2, index2) => /* @__PURE__ */ jsx(
14445
+ ListRow,
14761
14446
  {
14762
- className: listStyles.virtualRows,
14763
- style: { height: `${virtualizer.getTotalSize()}px` },
14764
- children: virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
14765
- "div",
14766
- {
14767
- "data-index": virtualRow2.index,
14768
- className: listStyles.virtualRow,
14769
- style: {
14770
- transform: `translateY(${virtualRow2.start}px)`
14771
- },
14772
- ref: virtualizer.measureElement,
14773
- children: /* @__PURE__ */ jsx(
14774
- ListRow,
14775
- {
14776
- index: virtualRow2.index,
14777
- draggable,
14778
- item: list2.items[virtualRow2.index],
14779
- expanding,
14780
- invokeEditOnRowClick
14781
- }
14782
- )
14783
- },
14784
- virtualRow2.key
14785
- ))
14786
- }
14787
- )
14788
- }
14789
- )
14790
- }
14791
- )
14792
- ]
14793
- }
14794
- );
14795
- };
14796
- const loader = "_loader_477i5_1";
14797
- const fullViewPortSize = "_fullViewPortSize_477i5_7";
14798
- const cover = "_cover_477i5_14";
14799
- const dimmer = "_dimmer_477i5_21";
14800
- const content$2 = "_content_477i5_44";
14801
- const text$1 = "_text_477i5_49";
14802
- const details$1 = "_details_477i5_53";
14803
- const styles$t = {
14804
- loader,
14805
- fullViewPortSize,
14806
- cover,
14807
- dimmer,
14808
- content: content$2,
14809
- text: text$1,
14810
- details: details$1
14811
- };
14812
- const Loader = ({
14813
- width: width2,
14814
- height: height2,
14815
- text: text2 = "",
14816
- details: details2 = "",
14817
- fullViewPortSize: fullViewPortSize2 = false,
14818
- cover: cover2 = false,
14819
- children = null,
14820
- theme = Theme.DARK,
14821
- testId = null
14822
- }) => {
14823
- const color2 = theme === Theme.DARK ? Theme.WHITE : Theme.INHERIT;
14824
- const background2 = theme === "white" ? "var(--color-background-raised)" : theme === "light" ? "var(--color-background)" : "black";
14825
- return /* @__PURE__ */ jsx(
14826
- "div",
14827
- {
14828
- className: cx$2(styles$t.loader, cover2 ? styles$t.cover : "", {
14829
- [styles$t.fullViewPortSize]: fullViewPortSize2
14830
- }),
14831
- style: { width: width2, height: height2 },
14832
- "data-testid": testId,
14833
- children: /* @__PURE__ */ jsx("div", { className: styles$t.dimmer, style: { background: background2, color: color2 }, children: /* @__PURE__ */ jsxs(
14834
- "div",
14835
- {
14836
- className: styles$t.content,
14837
- "data-testid": testId && `${testId}-content`,
14838
- children: [
14839
- children,
14840
- text2 && /* @__PURE__ */ jsx(
14841
- "div",
14842
- {
14843
- className: styles$t.text,
14844
- "data-testid": testId && `${testId}-text`,
14845
- children: text2
14447
+ index: index2,
14448
+ draggable,
14449
+ item: item2,
14450
+ expanding,
14451
+ invokeEditOnRowClick,
14452
+ ref: listRowRefs
14453
+ },
14454
+ index2
14455
+ ))
14846
14456
  }
14847
- ),
14848
- details2 && /* @__PURE__ */ jsx(
14849
- "div",
14457
+ ) : list2.items.map((item2, index2) => /* @__PURE__ */ jsx(
14458
+ ListRow,
14850
14459
  {
14851
- className: styles$t.details,
14852
- "data-testid": testId && `${testId}-details`,
14853
- children: details2
14854
- }
14855
- )
14856
- ]
14857
- }
14858
- ) })
14460
+ index: index2,
14461
+ draggable,
14462
+ item: item2,
14463
+ expanding,
14464
+ invokeEditOnRowClick,
14465
+ ref: listRowRefs
14466
+ },
14467
+ index2
14468
+ ))
14469
+ }
14470
+ ) })
14471
+ ] })
14859
14472
  }
14860
14473
  );
14861
14474
  };
@@ -15629,7 +15242,7 @@ const useFontsReady = () => {
15629
15242
  const getWidth = () => window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
15630
15243
  const useWindowWidth = () => {
15631
15244
  const [width2, setWidth] = useState(getWidth());
15632
- const resizeListener = debounce$3(() => setWidth(getWidth()), 150);
15245
+ const resizeListener = debounce$2(() => setWidth(getWidth()), 150);
15633
15246
  useEffect(() => {
15634
15247
  window.addEventListener("resize", resizeListener);
15635
15248
  return () => {
@@ -48391,7 +48004,7 @@ const styles$d = {
48391
48004
  active: active$2,
48392
48005
  icon: icon$1
48393
48006
  };
48394
- const TooltipIcon = memo$1(
48007
+ const TooltipIcon = memo(
48395
48008
  ({ isOpen: isOpen2, label: label2, icon: icon2, invalid }) => {
48396
48009
  return /* @__PURE__ */ jsxs(Fragment$1, { children: [
48397
48010
  /* @__PURE__ */ jsx(
@@ -48466,7 +48079,7 @@ const Sections = ({
48466
48079
  )
48467
48080
  ] }, i)) });
48468
48081
  };
48469
- const SideBar = memo$1(
48082
+ const SideBar = memo(
48470
48083
  ({
48471
48084
  options,
48472
48085
  startOpen = false,
@@ -51092,19 +50705,19 @@ const Spacer = ({
51092
50705
  }
51093
50706
  }
51094
50707
  );
51095
- const inputInTable$2 = "_inputInTable_xkoxm_1";
51096
- const inputHover$2 = "_inputHover_xkoxm_13";
51097
- const inputFocus$2 = "_inputFocus_xkoxm_18";
51098
- const inputError$2 = "_inputError_xkoxm_25";
51099
- const inputWarning$2 = "_inputWarning_xkoxm_26";
51100
- const inputDisabled$2 = "_inputDisabled_xkoxm_61";
51101
- const hideScrollbars$2 = "_hideScrollbars_xkoxm_67";
51102
- const wrapper = "_wrapper_xkoxm_85";
51103
- const bordered = "_bordered_xkoxm_93";
51104
- const scroll = "_scroll_xkoxm_98";
51105
- const table = "_table_xkoxm_109";
51106
- const dragOverlay = "_dragOverlay_xkoxm_145";
51107
- const striped = "_striped_xkoxm_194";
50708
+ const inputInTable$2 = "_inputInTable_xzacf_1";
50709
+ const inputHover$2 = "_inputHover_xzacf_13";
50710
+ const inputFocus$2 = "_inputFocus_xzacf_18";
50711
+ const inputError$2 = "_inputError_xzacf_25";
50712
+ const inputWarning$2 = "_inputWarning_xzacf_26";
50713
+ const inputDisabled$2 = "_inputDisabled_xzacf_61";
50714
+ const hideScrollbars$2 = "_hideScrollbars_xzacf_67";
50715
+ const wrapper = "_wrapper_xzacf_85";
50716
+ const bordered = "_bordered_xzacf_93";
50717
+ const scroll = "_scroll_xzacf_98";
50718
+ const table = "_table_xzacf_108";
50719
+ const dragOverlay = "_dragOverlay_xzacf_145";
50720
+ const striped = "_striped_xzacf_194";
51108
50721
  const styles$b = {
51109
50722
  inputInTable: inputInTable$2,
51110
50723
  inputHover: inputHover$2,
@@ -51210,6 +50823,36 @@ const hasActions = (rows) => rows.reduce(
51210
50823
  const hasRowActions = (rows, headers) => {
51211
50824
  return hasActions(headers) > 0 || hasActions(rows) > 0;
51212
50825
  };
50826
+ const TableScrollWrapper = ({
50827
+ table: table2,
50828
+ children
50829
+ }) => {
50830
+ const { rows, infiniteScroll } = table2;
50831
+ const pageSize = Math.ceil(window.innerHeight / 30);
50832
+ const [visibleRows, setVisibleRows] = infiniteScroll ? useState(pageSize) : [rows.length, null];
50833
+ const [hasMore, setHasMore] = infiniteScroll ? useState(visibleRows < rows.length) : [false, null];
50834
+ const loadMoreItems = () => {
50835
+ if (visibleRows >= rows.length && setHasMore) {
50836
+ setHasMore(false);
50837
+ return;
50838
+ }
50839
+ if (setVisibleRows) {
50840
+ setVisibleRows(visibleRows + pageSize);
50841
+ }
50842
+ };
50843
+ return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, children: infiniteScroll ? /* @__PURE__ */ jsx(
50844
+ InfiniteScroll,
50845
+ {
50846
+ dataLength: Math.min(rows.length, visibleRows + pageSize),
50847
+ next: loadMoreItems,
50848
+ hasMore,
50849
+ scrollableTarget: "scrollWrapper",
50850
+ style: { overflow: "initial" },
50851
+ loader: null,
50852
+ children: children({ visibleRows })
50853
+ }
50854
+ ) : children({ visibleRows }) });
50855
+ };
51213
50856
  const clickableRow = "_clickableRow_10f34_1";
51214
50857
  const hoverableRow = "_hoverableRow_10f34_4";
51215
50858
  const rowActive = "_rowActive_10f34_4";
@@ -51923,7 +51566,6 @@ const Row = ({
51923
51566
  hasRowActions: hasRowActions2,
51924
51567
  draggableTable = false,
51925
51568
  columnWidths,
51926
- height: height2,
51927
51569
  testId
51928
51570
  //TODO: add testId
51929
51571
  }) => {
@@ -51980,8 +51622,7 @@ const Row = ({
51980
51622
  animateLayoutChanges: () => false
51981
51623
  });
51982
51624
  const style = {
51983
- height: height2,
51984
- transform: CSS.Transform.toString(transform),
51625
+ transform: CSS.Translate.toString(transform),
51985
51626
  transition,
51986
51627
  opacity: isDragging ? 0 : void 0
51987
51628
  };
@@ -52039,8 +51680,6 @@ const Row = ({
52039
51680
  ),
52040
51681
  "data-error": error2 || null,
52041
51682
  "data-warning": warning2 || null,
52042
- "data-index": rowIndex,
52043
- "data-even": rowIndex % 2 === 0,
52044
51683
  style,
52045
51684
  children: [
52046
51685
  draggableTable ? getDragItem() : null,
@@ -52132,36 +51771,6 @@ const TableDragWrapper = (props) => {
52132
51771
  }
52133
51772
  );
52134
51773
  };
52135
- const TableScrollWrapper = ({
52136
- table: table2,
52137
- theadRef,
52138
- children
52139
- }) => {
52140
- var _a2, _b;
52141
- const { infiniteScroll = false } = table2;
52142
- if (!infiniteScroll) {
52143
- return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, children: children({}) });
52144
- }
52145
- const containerRef = useRef(null);
52146
- const MIN_ITEM_HEIGHT = 31;
52147
- const virtualizer = useVirtualizer({
52148
- count: ((_a2 = table2.rows) == null ? void 0 : _a2.length) ?? 0,
52149
- getScrollElement: () => containerRef.current,
52150
- estimateSize: () => MIN_ITEM_HEIGHT,
52151
- overscan: 10
52152
- });
52153
- const theadHeight = ((_b = theadRef.current) == null ? void 0 : _b.clientHeight) ?? 0;
52154
- const totalHeight = virtualizer.getTotalSize() + theadHeight;
52155
- const items = virtualizer.getVirtualItems();
52156
- const paddingTop = items.length > 0 ? items[0].start : 0;
52157
- const paddingBottom = items.length > 0 ? virtualizer.getTotalSize() - items[items.length - 1].end : 0;
52158
- const tableStyle = {
52159
- "--virtualPaddingTop": paddingTop + "px",
52160
- "--virtualPaddingBottom": paddingBottom + "px",
52161
- height: totalHeight
52162
- };
52163
- return /* @__PURE__ */ jsx("div", { id: "scrollWrapper", className: styles$b.scroll, ref: containerRef, children: children({ virtualizer, tableStyle }) });
52164
- };
52165
51774
  const Table = (props) => {
52166
51775
  var _a2, _b, _c, _d, _e2, _f, _g;
52167
51776
  const { onListReorder = () => {
@@ -52184,7 +51793,6 @@ const Table = (props) => {
52184
51793
  maxHeight,
52185
51794
  fixedWidth: width2
52186
51795
  } = propTable;
52187
- const theadRef = useRef(null);
52188
51796
  const tbodyRef = useRef(null);
52189
51797
  const headers = get$2(props, "table.headers", []);
52190
51798
  const columnCount = getColumnCount(propRows, headers);
@@ -52246,7 +51854,7 @@ const Table = (props) => {
52246
51854
  testId: testId && `${testId}-title`
52247
51855
  }
52248
51856
  ),
52249
- /* @__PURE__ */ jsx(
51857
+ /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, children: ({ visibleRows }) => /* @__PURE__ */ jsx(
52250
51858
  TableDragWrapper,
52251
51859
  {
52252
51860
  colSpan,
@@ -52257,66 +51865,49 @@ const Table = (props) => {
52257
51865
  rowActions,
52258
51866
  rows,
52259
51867
  tbodyRef,
52260
- children: /* @__PURE__ */ jsx(TableScrollWrapper, { table: table2, theadRef, children: ({ virtualizer, tableStyle }) => {
52261
- return /* @__PURE__ */ jsxs(
52262
- "table",
52263
- {
52264
- className: cx$2(styles$b.table, striped2 ? styles$b.striped : ""),
52265
- "data-testid": testId,
52266
- style: tableStyle,
52267
- children: [
52268
- /* @__PURE__ */ jsx("thead", { ref: theadRef, children: headers.map((row2, rowIndex) => {
52269
- return /* @__PURE__ */ jsx(
52270
- Row,
52271
- {
52272
- rowIndex,
52273
- isHeader: true,
52274
- row: row2,
52275
- columnCount,
52276
- columnWidths,
52277
- colSpan,
52278
- hasRowActions: rowActions,
52279
- columnAlignment,
52280
- columnHeaderAlignments,
52281
- draggableTable: draggable
52282
- },
52283
- `0_${rowIndex}`
52284
- );
52285
- }) }),
52286
- /* @__PURE__ */ jsx("tbody", { ref: tbodyRef, children: virtualizer ? virtualizer.getVirtualItems().map((virtualRow2) => /* @__PURE__ */ jsx(
52287
- Row,
52288
- {
52289
- rowIndex: virtualRow2.index,
52290
- row: rows[virtualRow2.index],
52291
- columnCount,
52292
- columnWidths,
52293
- colSpan,
52294
- hasRowActions: rowActions,
52295
- columnAlignment,
52296
- draggableTable: draggable,
52297
- height: virtualRow2.size
52298
- },
52299
- `1_${virtualRow2.index}`
52300
- )) : rows.map((row2, index2) => /* @__PURE__ */ jsx(
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(
52301
51876
  Row,
52302
51877
  {
52303
- rowIndex: index2,
51878
+ rowIndex,
51879
+ isHeader: true,
52304
51880
  row: row2,
52305
51881
  columnCount,
52306
51882
  columnWidths,
52307
51883
  colSpan,
52308
51884
  hasRowActions: rowActions,
52309
51885
  columnAlignment,
51886
+ columnHeaderAlignments,
52310
51887
  draggableTable: draggable
52311
51888
  },
52312
- `1_${index2}`
52313
- )) })
52314
- ]
52315
- }
52316
- );
52317
- } })
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
+ )
52318
51909
  }
52319
- ),
51910
+ ) }),
52320
51911
  footer2 && /* @__PURE__ */ jsx(
52321
51912
  Footer,
52322
51913
  {
@@ -55429,7 +55020,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
55429
55020
  }
55430
55021
  let refCount = 0;
55431
55022
  const INSTANCE_SYM = Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");
55432
- var DndProvider = /* @__PURE__ */ memo$1(function DndProvider2(_param) {
55023
+ var DndProvider = /* @__PURE__ */ memo(function DndProvider2(_param) {
55433
55024
  var { children } = _param, props = _objectWithoutProperties(_param, [
55434
55025
  "children"
55435
55026
  ]);
@@ -57790,7 +57381,7 @@ function useFeatures(props, visualElement2, preloadedFeatures) {
57790
57381
  var name_1 = featureNames[i];
57791
57382
  var _a2 = featureDefinitions[name_1], isEnabled = _a2.isEnabled, Component2 = _a2.Component;
57792
57383
  if (isEnabled(props) && Component2) {
57793
- 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 })));
57794
57385
  }
57795
57386
  }
57796
57387
  return features;
@@ -58031,7 +57622,7 @@ function useProjection(projectionId, _a2, visualElement2, ProjectionNodeConstruc
58031
57622
  var VisualElementHandler = (
58032
57623
  /** @class */
58033
57624
  function(_super) {
58034
- __extends(VisualElementHandler2, _super);
57625
+ __extends$1(VisualElementHandler2, _super);
58035
57626
  function VisualElementHandler2() {
58036
57627
  return _super !== null && _super.apply(this, arguments) || this;
58037
57628
  }
@@ -58057,20 +57648,20 @@ function createMotionComponent(_a2) {
58057
57648
  preloadedFeatures && loadFeatures(preloadedFeatures);
58058
57649
  function MotionComponent(props, externalRef) {
58059
57650
  var layoutId = useLayoutId(props);
58060
- props = __assign$3(__assign$3({}, props), { layoutId });
57651
+ props = __assign$4(__assign$4({}, props), { layoutId });
58061
57652
  var config = useContext(MotionConfigContext);
58062
57653
  var features = null;
58063
57654
  var context2 = useCreateMotionContext(props);
58064
57655
  var projectionId = config.isStatic ? void 0 : useProjectionId();
58065
57656
  var visualState = useVisualState(props, config.isStatic);
58066
57657
  if (!config.isStatic && isBrowser) {
58067
- 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);
58068
57659
  useProjection(projectionId, props, context2.visualElement, projectionNodeConstructor || featureDefinitions.projectionNodeConstructor);
58069
57660
  features = useFeatures(props, context2.visualElement, preloadedFeatures);
58070
57661
  }
58071
57662
  return React$4.createElement(
58072
57663
  VisualElementHandler,
58073
- { visualElement: context2.visualElement, props: __assign$3(__assign$3({}, config), props) },
57664
+ { visualElement: context2.visualElement, props: __assign$4(__assign$4({}, config), props) },
58074
57665
  features,
58075
57666
  React$4.createElement(MotionContext.Provider, { value: context2 }, useRender(Component2, props, projectionId, useMotionRef(visualState, context2.visualElement, externalRef), visualState, config.isStatic, context2.visualElement))
58076
57667
  );
@@ -58396,7 +57987,7 @@ const filter = Object.assign(Object.assign({}, complex), { getAnimatableNone: (v
58396
57987
  const functions = v2.match(functionRegex);
58397
57988
  return functions ? functions.map(applyDefaultFilter).join(" ") : v2;
58398
57989
  } });
58399
- var int = __assign$3(__assign$3({}, number), { transform: Math.round });
57990
+ var int = __assign$4(__assign$4({}, number), { transform: Math.round });
58400
57991
  var numberValueTypes = {
58401
57992
  // Border props
58402
57993
  borderWidth: px,
@@ -58526,7 +58117,7 @@ function useInitialMotionValues(_a2, visualState, isStatic) {
58526
58117
  var state = createHtmlRenderState();
58527
58118
  buildHTMLStyles(state, visualState, { enableHardwareAcceleration: !isStatic }, transformTemplate);
58528
58119
  var vars = state.vars, style = state.style;
58529
- return __assign$3(__assign$3({}, vars), style);
58120
+ return __assign$4(__assign$4({}, vars), style);
58530
58121
  }, [visualState]);
58531
58122
  }
58532
58123
  function useStyle(props, visualState, isStatic) {
@@ -58684,18 +58275,18 @@ function buildSVGAttrs(state, _a2, options, transformTemplate) {
58684
58275
  }
58685
58276
  }
58686
58277
  var createSvgRenderState = function() {
58687
- return __assign$3(__assign$3({}, createHtmlRenderState()), { attrs: {} });
58278
+ return __assign$4(__assign$4({}, createHtmlRenderState()), { attrs: {} });
58688
58279
  };
58689
58280
  function useSVGProps(props, visualState) {
58690
58281
  var visualProps = useMemo(function() {
58691
58282
  var state = createSvgRenderState();
58692
58283
  buildSVGAttrs(state, visualState, { enableHardwareAcceleration: false }, props.transformTemplate);
58693
- 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) });
58694
58285
  }, [visualState]);
58695
58286
  if (props.style) {
58696
58287
  var rawStyles = {};
58697
58288
  copyRawValuesOnly(rawStyles, props.style, props);
58698
- visualProps.style = __assign$3(__assign$3({}, rawStyles), visualProps.style);
58289
+ visualProps.style = __assign$4(__assign$4({}, rawStyles), visualProps.style);
58699
58290
  }
58700
58291
  return visualProps;
58701
58292
  }
@@ -58708,7 +58299,7 @@ function createUseRender(forwardMotionProps) {
58708
58299
  var useVisualProps = isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
58709
58300
  var visualProps = useVisualProps(props, latestValues, isStatic);
58710
58301
  var filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
58711
- var elementProps = __assign$3(__assign$3(__assign$3({}, filteredProps), visualProps), { ref });
58302
+ var elementProps = __assign$4(__assign$4(__assign$4({}, filteredProps), visualProps), { ref });
58712
58303
  if (projectionId) {
58713
58304
  elementProps["data-projection-id"] = projectionId;
58714
58305
  }
@@ -58885,7 +58476,7 @@ var htmlMotionConfig = {
58885
58476
  function createDomMotionConfig(Component2, _a2, preloadedFeatures, createVisualElement, projectionNodeConstructor) {
58886
58477
  var _b = _a2.forwardMotionProps, forwardMotionProps = _b === void 0 ? false : _b;
58887
58478
  var baseConfig = isSVGComponent(Component2) ? svgMotionConfig : htmlMotionConfig;
58888
- 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 });
58889
58480
  }
58890
58481
  var AnimationType;
58891
58482
  (function(AnimationType2) {
@@ -59972,7 +59563,7 @@ function initIntersectionObserver(_a2) {
59972
59563
  var rootObservers = observers.get(lookupRoot);
59973
59564
  var key2 = JSON.stringify(options);
59974
59565
  if (!rootObservers[key2]) {
59975
- rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$3({ root: root2 }, options));
59566
+ rootObservers[key2] = new IntersectionObserver(fireAllObserverCallbacks, __assign$4({ root: root2 }, options));
59976
59567
  }
59977
59568
  return rootObservers[key2];
59978
59569
  }
@@ -60190,9 +59781,9 @@ var getDefaultTransition = function(valueKey, to2) {
60190
59781
  } else {
60191
59782
  transitionFactory = defaultTransitions[valueKey] || defaultTransitions.default;
60192
59783
  }
60193
- return __assign$3({ to: to2 }, transitionFactory(to2));
59784
+ return __assign$4({ to: to2 }, transitionFactory(to2));
60194
59785
  };
60195
- var defaultValueTypes = __assign$3(__assign$3({}, numberValueTypes), {
59786
+ var defaultValueTypes = __assign$4(__assign$4({}, numberValueTypes), {
60196
59787
  // Color props
60197
59788
  color,
60198
59789
  backgroundColor: color,
@@ -60234,7 +59825,7 @@ function isTransitionDefined(_a2) {
60234
59825
  var legacyRepeatWarning = false;
60235
59826
  function convertTransitionToAnimationOptions(_a2) {
60236
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"]);
60237
- var options = __assign$3({}, transition);
59828
+ var options = __assign$4({}, transition);
60238
59829
  if (times)
60239
59830
  options["offset"] = times;
60240
59831
  if (transition.duration)
@@ -60281,9 +59872,9 @@ function getPopmotionAnimationOptions(transition, options, key2) {
60281
59872
  }
60282
59873
  hydrateKeyframes(options);
60283
59874
  if (!isTransitionDefined(transition)) {
60284
- transition = __assign$3(__assign$3({}, transition), getDefaultTransition(key2, options.to));
59875
+ transition = __assign$4(__assign$4({}, transition), getDefaultTransition(key2, options.to));
60285
59876
  }
60286
- return __assign$3(__assign$3({}, options), convertTransitionToAnimationOptions(transition));
59877
+ return __assign$4(__assign$4({}, options), convertTransitionToAnimationOptions(transition));
60287
59878
  }
60288
59879
  function getAnimation(key2, value, target, transition, onComplete) {
60289
59880
  var _a2;
@@ -60309,7 +59900,7 @@ function getAnimation(key2, value, target, transition, onComplete) {
60309
59900
  return value.set(v2);
60310
59901
  }
60311
59902
  };
60312
- return valueTransition.type === "inertia" || valueTransition.type === "decay" ? inertia(__assign$3(__assign$3({}, options), valueTransition)) : animate$1(__assign$3(__assign$3({}, getPopmotionAnimationOptions(valueTransition, options, key2)), { onUpdate: function(v2) {
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) {
60313
59904
  var _a3;
60314
59905
  options.onUpdate(v2);
60315
59906
  (_a3 = valueTransition.onUpdate) === null || _a3 === void 0 ? void 0 : _a3.call(valueTransition, v2);
@@ -60562,7 +60153,7 @@ function setTarget(visualElement2, definition) {
60562
60153
  var _a2 = resolved ? visualElement2.makeTargetAnimatable(resolved, false) : {}, _b = _a2.transitionEnd, transitionEnd = _b === void 0 ? {} : _b;
60563
60154
  _a2.transition;
60564
60155
  var target = __rest$1(_a2, ["transitionEnd", "transition"]);
60565
- target = __assign$3(__assign$3({}, target), transitionEnd);
60156
+ target = __assign$4(__assign$4({}, target), transitionEnd);
60566
60157
  for (var key2 in target) {
60567
60158
  var value = resolveFinalValueInKeyframes(target[key2]);
60568
60159
  setMotionValue(visualElement2, key2, value);
@@ -60680,9 +60271,9 @@ function animateTarget(visualElement2, definition, _a2) {
60680
60271
  if (!value || valueTarget === void 0 || animationTypeState && shouldBlockAnimation(animationTypeState, key2)) {
60681
60272
  continue;
60682
60273
  }
60683
- var valueTransition = __assign$3({ delay }, transition);
60274
+ var valueTransition = __assign$4({ delay }, transition);
60684
60275
  if (visualElement2.shouldReduceMotion && isTransformProp(key2)) {
60685
- valueTransition = __assign$3(__assign$3({}, valueTransition), { type: false, delay: 0 });
60276
+ valueTransition = __assign$4(__assign$4({}, valueTransition), { type: false, delay: 0 });
60686
60277
  }
60687
60278
  var animation = startAnimation(key2, value, valueTarget, valueTransition);
60688
60279
  animations2.push(animation);
@@ -60715,7 +60306,7 @@ function animateChildren(visualElement2, variant, delayChildren, staggerChildren
60715
60306
  return maxStaggerDuration - i * staggerChildren;
60716
60307
  };
60717
60308
  Array.from(visualElement2.variantChildren).sort(sortByTreeOrder).forEach(function(child, i) {
60718
- 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() {
60719
60310
  return child.notifyAnimationComplete(variant);
60720
60311
  }));
60721
60312
  });
@@ -60759,7 +60350,7 @@ function createAnimationState(visualElement2) {
60759
60350
  if (resolved) {
60760
60351
  resolved.transition;
60761
60352
  var transitionEnd = resolved.transitionEnd, target = __rest$1(resolved, ["transition", "transitionEnd"]);
60762
- acc = __assign$3(__assign$3(__assign$3({}, acc), target), transitionEnd);
60353
+ acc = __assign$4(__assign$4(__assign$4({}, acc), target), transitionEnd);
60763
60354
  }
60764
60355
  return acc;
60765
60356
  };
@@ -60789,7 +60380,7 @@ function createAnimationState(visualElement2) {
60789
60380
  if (isInherited && isInitialRender && visualElement2.manuallyAnimateOnMount) {
60790
60381
  isInherited = false;
60791
60382
  }
60792
- typeState.protectedKeys = __assign$3({}, encounteredKeys);
60383
+ typeState.protectedKeys = __assign$4({}, encounteredKeys);
60793
60384
  if (
60794
60385
  // If it isn't active and hasn't *just* been set as inactive
60795
60386
  !typeState.isActive && activeDelta === null || // If we didn't and don't have any defined prop for this animation type
@@ -60807,7 +60398,7 @@ function createAnimationState(visualElement2) {
60807
60398
  if (activeDelta === false)
60808
60399
  resolvedValues = {};
60809
60400
  var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b;
60810
- var allKeys = __assign$3(__assign$3({}, prevResolvedValues), resolvedValues);
60401
+ var allKeys = __assign$4(__assign$4({}, prevResolvedValues), resolvedValues);
60811
60402
  var markToAnimate = function(key3) {
60812
60403
  shouldAnimateType = true;
60813
60404
  removedKeys.delete(key3);
@@ -60839,7 +60430,7 @@ function createAnimationState(visualElement2) {
60839
60430
  typeState.prevProp = prop;
60840
60431
  typeState.prevResolvedValues = resolvedValues;
60841
60432
  if (typeState.isActive) {
60842
- encounteredKeys = __assign$3(__assign$3({}, encounteredKeys), resolvedValues);
60433
+ encounteredKeys = __assign$4(__assign$4({}, encounteredKeys), resolvedValues);
60843
60434
  }
60844
60435
  if (isInitialRender && visualElement2.blockInitialAnimation) {
60845
60436
  shouldAnimateType = false;
@@ -60848,7 +60439,7 @@ function createAnimationState(visualElement2) {
60848
60439
  animations2.push.apply(animations2, __spreadArray$2([], __read(definitionList.map(function(animation) {
60849
60440
  return {
60850
60441
  animation,
60851
- options: __assign$3({ type }, options)
60442
+ options: __assign$4({ type }, options)
60852
60443
  };
60853
60444
  })), false));
60854
60445
  }
@@ -60856,7 +60447,7 @@ function createAnimationState(visualElement2) {
60856
60447
  for (var i = 0; i < numAnimationTypes; i++) {
60857
60448
  _loop_1(i);
60858
60449
  }
60859
- allAnimatedKeys = __assign$3({}, encounteredKeys);
60450
+ allAnimatedKeys = __assign$4({}, encounteredKeys);
60860
60451
  if (removedKeys.size) {
60861
60452
  var fallbackAnimation_1 = {};
60862
60453
  removedKeys.forEach(function(key2) {
@@ -60964,7 +60555,7 @@ var PanSession = (
60964
60555
  return;
60965
60556
  var point2 = info3.point;
60966
60557
  var timestamp2 = getFrameData().timestamp;
60967
- _this.history.push(__assign$3(__assign$3({}, point2), { timestamp: timestamp2 }));
60558
+ _this.history.push(__assign$4(__assign$4({}, point2), { timestamp: timestamp2 }));
60968
60559
  var _a3 = _this.handlers, onStart = _a3.onStart, onMove = _a3.onMove;
60969
60560
  if (!isPanStarted) {
60970
60561
  onStart && onStart(_this.lastMoveEvent, info3);
@@ -60998,7 +60589,7 @@ var PanSession = (
60998
60589
  var initialInfo = transformPoint(info2, this.transformPagePoint);
60999
60590
  var point = initialInfo.point;
61000
60591
  var timestamp = getFrameData().timestamp;
61001
- this.history = [__assign$3(__assign$3({}, point), { timestamp })];
60592
+ this.history = [__assign$4(__assign$4({}, point), { timestamp })];
61002
60593
  var onSessionStart = handlers2.onSessionStart;
61003
60594
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
61004
60595
  this.removeListeners = pipe(addPointerEvent(window, "pointermove", this.handlePointerMove), addPointerEvent(window, "pointerup", this.handlePointerUp), addPointerEvent(window, "pointercancel", this.handlePointerUp));
@@ -61519,7 +61110,7 @@ var VisualElementDragControls = (
61519
61110
  transition = { min: 0, max: 0 };
61520
61111
  var bounceStiffness = dragElastic ? 200 : 1e6;
61521
61112
  var bounceDamping = dragElastic ? 40 : 1e7;
61522
- 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);
61523
61114
  return _this.startAxisValueAnimation(axis, inertia2);
61524
61115
  });
61525
61116
  return Promise.all(momentumAnimations).then(onDragTransitionEnd);
@@ -61630,7 +61221,7 @@ var VisualElementDragControls = (
61630
61221
  VisualElementDragControls2.prototype.getProps = function() {
61631
61222
  var props = this.visualElement.getProps();
61632
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;
61633
- 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 });
61634
61225
  };
61635
61226
  return VisualElementDragControls2;
61636
61227
  }()
@@ -61787,7 +61378,7 @@ var visualElement = function(_a2) {
61787
61378
  var values2 = /* @__PURE__ */ new Map();
61788
61379
  var valueSubscriptions = /* @__PURE__ */ new Map();
61789
61380
  var prevMotionValues = {};
61790
- var baseTarget = __assign$3({}, latestValues);
61381
+ var baseTarget = __assign$4({}, latestValues);
61791
61382
  var removeFromVariantTree;
61792
61383
  function render2() {
61793
61384
  if (!instance || !isMounted)
@@ -61821,7 +61412,7 @@ var visualElement = function(_a2) {
61821
61412
  }
61822
61413
  var isControllingVariants = checkIfControllingVariants(props);
61823
61414
  var isVariantNode = checkIfVariantNode(props);
61824
- var element = __assign$3(__assign$3({
61415
+ var element = __assign$4(__assign$4({
61825
61416
  treeType,
61826
61417
  /**
61827
61418
  * This is a mirror of the internal instance prop, which keeps
@@ -62186,7 +61777,7 @@ function resolveCSSVariables(visualElement2, _a2, transitionEnd) {
62186
61777
  if (!(element instanceof Element))
62187
61778
  return { target, transitionEnd };
62188
61779
  if (transitionEnd) {
62189
- transitionEnd = __assign$3({}, transitionEnd);
61780
+ transitionEnd = __assign$4({}, transitionEnd);
62190
61781
  }
62191
61782
  visualElement2.forEachValue(function(value) {
62192
61783
  var current2 = value.get();
@@ -62341,8 +61932,8 @@ var checkAndConvertChangedValueTypes = function(visualElement2, target, origin,
62341
61932
  if (transitionEnd === void 0) {
62342
61933
  transitionEnd = {};
62343
61934
  }
62344
- target = __assign$3({}, target);
62345
- transitionEnd = __assign$3({}, transitionEnd);
61935
+ target = __assign$4({}, target);
61936
+ transitionEnd = __assign$4({}, transitionEnd);
62346
61937
  var targetPositionalKeys = Object.keys(target).filter(isPositionalKey);
62347
61938
  var removedTransformValues = [];
62348
61939
  var hasAttemptedToRemoveTransformValues = false;
@@ -62495,7 +62086,7 @@ var htmlConfig = {
62495
62086
  transitionEnd = parsed.transitionEnd;
62496
62087
  target = parsed.target;
62497
62088
  }
62498
- return __assign$3({ transition, transitionEnd }, target);
62089
+ return __assign$4({ transition, transitionEnd }, target);
62499
62090
  },
62500
62091
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps$1,
62501
62092
  build: function(element, renderState, latestValues, options, props) {
@@ -62507,7 +62098,7 @@ var htmlConfig = {
62507
62098
  render: renderHTML
62508
62099
  };
62509
62100
  var htmlVisualElement = visualElement(htmlConfig);
62510
- 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) {
62511
62102
  return props[key2];
62512
62103
  }, readValueFromInstance: function(domElement, key2) {
62513
62104
  var _a2;
@@ -62585,7 +62176,7 @@ var correctBoxShadow = {
62585
62176
  var MeasureLayoutWithContext = (
62586
62177
  /** @class */
62587
62178
  function(_super) {
62588
- __extends(MeasureLayoutWithContext2, _super);
62179
+ __extends$1(MeasureLayoutWithContext2, _super);
62589
62180
  function MeasureLayoutWithContext2() {
62590
62181
  return _super !== null && _super.apply(this, arguments) || this;
62591
62182
  }
@@ -62604,7 +62195,7 @@ var MeasureLayoutWithContext = (
62604
62195
  projection.addEventListener("animationComplete", function() {
62605
62196
  _this.safeToRemove();
62606
62197
  });
62607
- projection.setOptions(__assign$3(__assign$3({}, projection.options), { onExitComplete: function() {
62198
+ projection.setOptions(__assign$4(__assign$4({}, projection.options), { onExitComplete: function() {
62608
62199
  return _this.safeToRemove();
62609
62200
  } }));
62610
62201
  }
@@ -62669,10 +62260,10 @@ var MeasureLayoutWithContext = (
62669
62260
  function MeasureLayout(props) {
62670
62261
  var _a2 = __read(usePresence(), 2), isPresent = _a2[0], safeToRemove = _a2[1];
62671
62262
  var layoutGroup = useContext(LayoutGroupContext);
62672
- 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 }));
62673
62264
  }
62674
62265
  var defaultScaleCorrectors = {
62675
- borderRadius: __assign$3(__assign$3({}, correctBorderRadius), { applyTo: [
62266
+ borderRadius: __assign$4(__assign$4({}, correctBorderRadius), { applyTo: [
62676
62267
  "borderTopLeftRadius",
62677
62268
  "borderTopRightRadius",
62678
62269
  "borderBottomLeftRadius",
@@ -63095,7 +62686,7 @@ function createProjectionNode(_a2) {
63095
62686
  _this.resumingFrom.resumingFrom = void 0;
63096
62687
  }
63097
62688
  _this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
63098
- 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 });
63099
62690
  if (visualElement2.shouldReduceMotion) {
63100
62691
  animationOptions.delay = 0;
63101
62692
  animationOptions.type = false;
@@ -63349,7 +62940,7 @@ function createProjectionNode(_a2) {
63349
62940
  };
63350
62941
  ProjectionNode.prototype.setOptions = function(options) {
63351
62942
  var _a3;
63352
- 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 });
63353
62944
  };
63354
62945
  ProjectionNode.prototype.clearMeasurements = function() {
63355
62946
  this.scroll = void 0;
@@ -63467,7 +63058,7 @@ function createProjectionNode(_a2) {
63467
63058
  }
63468
63059
  var snapshot = this.snapshot;
63469
63060
  var snapshotLatestValues = (snapshot === null || snapshot === void 0 ? void 0 : snapshot.latestValues) || {};
63470
- var mixedValues = __assign$3({}, this.latestValues);
63061
+ var mixedValues = __assign$4({}, this.latestValues);
63471
63062
  var targetDelta = createDelta();
63472
63063
  this.relativeTarget = this.relativeTargetOrigin = void 0;
63473
63064
  this.attemptToResolveRelativeTarget = !hasOnlyRelativeTargetChanged;
@@ -63510,7 +63101,7 @@ function createProjectionNode(_a2) {
63510
63101
  }
63511
63102
  this.pendingAnimation = sync.update(function() {
63512
63103
  globalProjectionState.hasAnimatedSinceResize = true;
63513
- _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) {
63514
63105
  var _a4;
63515
63106
  _this.mixTargetDelta(latest);
63516
63107
  (_a4 = options.onUpdate) === null || _a4 === void 0 ? void 0 : _a4.call(options, latest);
@@ -63878,7 +63469,7 @@ var HTMLProjectionNode = createProjectionNode({
63878
63469
  return Boolean(window.getComputedStyle(instance).position === "fixed");
63879
63470
  }
63880
63471
  });
63881
- 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);
63882
63473
  var motion = /* @__PURE__ */ createMotionProxy(function(Component2, config) {
63883
63474
  return createDomMotionConfig(Component2, config, featureBundle, createDomVisualElement, HTMLProjectionNode);
63884
63475
  });
@@ -66954,6 +66545,41 @@ const SmartUploadModal = ({
66954
66545
  }
66955
66546
  ) });
66956
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
+ };
66957
66583
  export {
66958
66584
  Accordion,
66959
66585
  AccordionWithDefaultToggle,
@@ -67017,6 +66643,7 @@ export {
67017
66643
  RichTextInput,
67018
66644
  Row$1 as Row,
67019
66645
  Select,
66646
+ SettingField,
67020
66647
  SideBar,
67021
66648
  Slider,
67022
66649
  SmartUploadModal,