@gobolt/genesis 0.4.14 → 0.4.17

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
@@ -19,7 +19,7 @@ function requireClassnames() {
19
19
  hasRequiredClassnames = 1;
20
20
  (function(module2) {
21
21
  (function() {
22
- var hasOwn2 = {}.hasOwnProperty;
22
+ var hasOwn = {}.hasOwnProperty;
23
23
  function classNames2() {
24
24
  var classes = "";
25
25
  for (var i = 0; i < arguments.length; i++) {
@@ -45,7 +45,7 @@ function requireClassnames() {
45
45
  }
46
46
  var classes = "";
47
47
  for (var key in arg) {
48
- if (hasOwn2.call(arg, key) && arg[key]) {
48
+ if (hasOwn.call(arg, key) && arg[key]) {
49
49
  classes = appendClass(classes, key);
50
50
  }
51
51
  }
@@ -3154,14 +3154,14 @@ function merge$2() {
3154
3154
  });
3155
3155
  return clone;
3156
3156
  }
3157
- function noop$5() {
3157
+ function noop$4() {
3158
3158
  }
3159
3159
  let deprecatedWarnList = null;
3160
3160
  function resetWarned() {
3161
3161
  deprecatedWarnList = null;
3162
3162
  resetWarned$1();
3163
3163
  }
3164
- let _warning = noop$5;
3164
+ let _warning = noop$4;
3165
3165
  if (process.env.NODE_ENV !== "production") {
3166
3166
  _warning = (valid2, component, message2) => {
3167
3167
  warningOnce(valid2, `[antd: ${component}] ${message2}`);
@@ -3202,7 +3202,7 @@ const devUseWarning = process.env.NODE_ENV !== "production" ? (component) => {
3202
3202
  } : () => {
3203
3203
  const noopWarning = () => {
3204
3204
  };
3205
- noopWarning.deprecated = noop$5;
3205
+ noopWarning.deprecated = noop$4;
3206
3206
  return noopWarning;
3207
3207
  };
3208
3208
  const ValidateMessagesContext = /* @__PURE__ */ createContext$1(void 0);
@@ -4910,12 +4910,12 @@ function merge$1() {
4910
4910
  return ret;
4911
4911
  }
4912
4912
  var statistic = {};
4913
- function noop$4() {
4913
+ function noop$3() {
4914
4914
  }
4915
4915
  var statisticToken = function statisticToken2(token2) {
4916
4916
  var tokenKeys2;
4917
4917
  var proxy = token2;
4918
- var flush = noop$4;
4918
+ var flush = noop$3;
4919
4919
  if (enableStatistic && typeof Proxy !== "undefined") {
4920
4920
  tokenKeys2 = /* @__PURE__ */ new Set();
4921
4921
  proxy = new Proxy(token2, {
@@ -44883,7 +44883,7 @@ if (process.env.NODE_ENV !== "production") {
44883
44883
  var defaultItemRender = function defaultItemRender2(page, type4, element2) {
44884
44884
  return element2;
44885
44885
  };
44886
- function noop$3() {
44886
+ function noop$2() {
44887
44887
  }
44888
44888
  function isInteger(v) {
44889
44889
  var value2 = Number(v);
@@ -44894,7 +44894,7 @@ function calculatePage(p, pageSize, total) {
44894
44894
  return Math.floor((total - 1) / _pageSize) + 1;
44895
44895
  }
44896
44896
  var Pagination$1 = function Pagination(props) {
44897
- var _props$prefixCls = props.prefixCls, prefixCls = _props$prefixCls === void 0 ? "rc-pagination" : _props$prefixCls, _props$selectPrefixCl = props.selectPrefixCls, selectPrefixCls = _props$selectPrefixCl === void 0 ? "rc-select" : _props$selectPrefixCl, className = props.className, currentProp = props.current, _props$defaultCurrent = props.defaultCurrent, defaultCurrent = _props$defaultCurrent === void 0 ? 1 : _props$defaultCurrent, _props$total = props.total, total = _props$total === void 0 ? 0 : _props$total, pageSizeProp = props.pageSize, _props$defaultPageSiz = props.defaultPageSize, defaultPageSize = _props$defaultPageSiz === void 0 ? 10 : _props$defaultPageSiz, _props$onChange = props.onChange, onChange = _props$onChange === void 0 ? noop$3 : _props$onChange, hideOnSinglePage = props.hideOnSinglePage, align = props.align, _props$showPrevNextJu = props.showPrevNextJumpers, showPrevNextJumpers = _props$showPrevNextJu === void 0 ? true : _props$showPrevNextJu, showQuickJumper = props.showQuickJumper, showLessItems = props.showLessItems, _props$showTitle = props.showTitle, showTitle = _props$showTitle === void 0 ? true : _props$showTitle, _props$onShowSizeChan = props.onShowSizeChange, onShowSizeChange = _props$onShowSizeChan === void 0 ? noop$3 : _props$onShowSizeChan, _props$locale = props.locale, locale2 = _props$locale === void 0 ? locale$1 : _props$locale, style2 = props.style, _props$totalBoundaryS = props.totalBoundaryShowSizeChanger, totalBoundaryShowSizeChanger = _props$totalBoundaryS === void 0 ? 50 : _props$totalBoundaryS, disabled2 = props.disabled, simple = props.simple, showTotal = props.showTotal, _props$showSizeChange = props.showSizeChanger, showSizeChanger = _props$showSizeChange === void 0 ? total > totalBoundaryShowSizeChanger : _props$showSizeChange, sizeChangerRender = props.sizeChangerRender, pageSizeOptions = props.pageSizeOptions, _props$itemRender = props.itemRender, itemRender = _props$itemRender === void 0 ? defaultItemRender : _props$itemRender, jumpPrevIcon = props.jumpPrevIcon, jumpNextIcon = props.jumpNextIcon, prevIcon = props.prevIcon, nextIcon = props.nextIcon;
44897
+ var _props$prefixCls = props.prefixCls, prefixCls = _props$prefixCls === void 0 ? "rc-pagination" : _props$prefixCls, _props$selectPrefixCl = props.selectPrefixCls, selectPrefixCls = _props$selectPrefixCl === void 0 ? "rc-select" : _props$selectPrefixCl, className = props.className, currentProp = props.current, _props$defaultCurrent = props.defaultCurrent, defaultCurrent = _props$defaultCurrent === void 0 ? 1 : _props$defaultCurrent, _props$total = props.total, total = _props$total === void 0 ? 0 : _props$total, pageSizeProp = props.pageSize, _props$defaultPageSiz = props.defaultPageSize, defaultPageSize = _props$defaultPageSiz === void 0 ? 10 : _props$defaultPageSiz, _props$onChange = props.onChange, onChange = _props$onChange === void 0 ? noop$2 : _props$onChange, hideOnSinglePage = props.hideOnSinglePage, align = props.align, _props$showPrevNextJu = props.showPrevNextJumpers, showPrevNextJumpers = _props$showPrevNextJu === void 0 ? true : _props$showPrevNextJu, showQuickJumper = props.showQuickJumper, showLessItems = props.showLessItems, _props$showTitle = props.showTitle, showTitle = _props$showTitle === void 0 ? true : _props$showTitle, _props$onShowSizeChan = props.onShowSizeChange, onShowSizeChange = _props$onShowSizeChan === void 0 ? noop$2 : _props$onShowSizeChan, _props$locale = props.locale, locale2 = _props$locale === void 0 ? locale$1 : _props$locale, style2 = props.style, _props$totalBoundaryS = props.totalBoundaryShowSizeChanger, totalBoundaryShowSizeChanger = _props$totalBoundaryS === void 0 ? 50 : _props$totalBoundaryS, disabled2 = props.disabled, simple = props.simple, showTotal = props.showTotal, _props$showSizeChange = props.showSizeChanger, showSizeChanger = _props$showSizeChange === void 0 ? total > totalBoundaryShowSizeChanger : _props$showSizeChange, sizeChangerRender = props.sizeChangerRender, pageSizeOptions = props.pageSizeOptions, _props$itemRender = props.itemRender, itemRender = _props$itemRender === void 0 ? defaultItemRender : _props$itemRender, jumpPrevIcon = props.jumpPrevIcon, jumpNextIcon = props.jumpNextIcon, prevIcon = props.prevIcon, nextIcon = props.nextIcon;
44898
44898
  var paginationRef = React__default.useRef(null);
44899
44899
  var _useMergedState = useMergedState(10, {
44900
44900
  value: pageSizeProp,
@@ -44911,7 +44911,7 @@ var Pagination$1 = function Pagination(props) {
44911
44911
  useEffect(function() {
44912
44912
  setInternalInputVal(current);
44913
44913
  }, [current]);
44914
- var hasOnChange = onChange !== noop$3;
44914
+ var hasOnChange = onChange !== noop$2;
44915
44915
  var hasCurrent = "current" in props;
44916
44916
  if (process.env.NODE_ENV !== "production") {
44917
44917
  warningOnce(hasCurrent ? hasOnChange : true, "You provided a `current` prop to a Pagination component without an `onChange` handler. This will render a read-only component.");
@@ -53135,7 +53135,7 @@ var HIDDEN_STYLE = {
53135
53135
  padding: 0,
53136
53136
  margin: 0
53137
53137
  };
53138
- var noop$2 = function noop() {
53138
+ var noop$1 = function noop() {
53139
53139
  };
53140
53140
  var MOTION_KEY = "RC_TREE_MOTION_".concat(Math.random());
53141
53141
  var MotionNode = {
@@ -53271,7 +53271,7 @@ var NodeList = /* @__PURE__ */ React.forwardRef(function(props, ref) {
53271
53271
  onFocus,
53272
53272
  onBlur,
53273
53273
  value: "",
53274
- onChange: noop$2,
53274
+ onChange: noop$1,
53275
53275
  "aria-label": "for screen reader"
53276
53276
  })), /* @__PURE__ */ React.createElement("div", {
53277
53277
  className: "".concat(prefixCls, "-treenode"),
@@ -72288,7 +72288,7 @@ var hasRequiredExtend;
72288
72288
  function requireExtend() {
72289
72289
  if (hasRequiredExtend) return extend$2;
72290
72290
  hasRequiredExtend = 1;
72291
- var hasOwn2 = Object.prototype.hasOwnProperty;
72291
+ var hasOwn = Object.prototype.hasOwnProperty;
72292
72292
  var toStr = Object.prototype.toString;
72293
72293
  var defineProperty = Object.defineProperty;
72294
72294
  var gOPD = Object.getOwnPropertyDescriptor;
@@ -72302,15 +72302,15 @@ function requireExtend() {
72302
72302
  if (!obj || toStr.call(obj) !== "[object Object]") {
72303
72303
  return false;
72304
72304
  }
72305
- var hasOwnConstructor = hasOwn2.call(obj, "constructor");
72306
- var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn2.call(obj.constructor.prototype, "isPrototypeOf");
72305
+ var hasOwnConstructor = hasOwn.call(obj, "constructor");
72306
+ var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, "isPrototypeOf");
72307
72307
  if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {
72308
72308
  return false;
72309
72309
  }
72310
72310
  var key;
72311
72311
  for (key in obj) {
72312
72312
  }
72313
- return typeof key === "undefined" || hasOwn2.call(obj, key);
72313
+ return typeof key === "undefined" || hasOwn.call(obj, key);
72314
72314
  };
72315
72315
  var setProperty = function setProperty2(target, options) {
72316
72316
  if (defineProperty && options.name === "__proto__") {
@@ -72326,7 +72326,7 @@ function requireExtend() {
72326
72326
  };
72327
72327
  var getProperty = function getProperty2(obj, name2) {
72328
72328
  if (name2 === "__proto__") {
72329
- if (!hasOwn2.call(obj, name2)) {
72329
+ if (!hasOwn.call(obj, name2)) {
72330
72330
  return void 0;
72331
72331
  } else if (gOPD) {
72332
72332
  return gOPD(obj, name2).value;
@@ -72376,7 +72376,7 @@ function requireExtend() {
72376
72376
  }
72377
72377
  var extendExports = requireExtend();
72378
72378
  const extend$1 = /* @__PURE__ */ getDefaultExportFromCjs(extendExports);
72379
- function isPlainObject$1(value2) {
72379
+ function isPlainObject(value2) {
72380
72380
  if (typeof value2 !== "object" || value2 === null) {
72381
72381
  return false;
72382
72382
  }
@@ -73780,7 +73780,7 @@ class Processor extends CallableInstance {
73780
73780
  } else if (parameters2.length > 0) {
73781
73781
  let [primary, ...rest] = parameters2;
73782
73782
  const currentPrimary = attachers[entryIndex][1];
73783
- if (isPlainObject$1(currentPrimary) && isPlainObject$1(primary)) {
73783
+ if (isPlainObject(currentPrimary) && isPlainObject(primary)) {
73784
73784
  primary = extend$1(true, currentPrimary, primary);
73785
73785
  }
73786
73786
  attachers[entryIndex] = [plugin, primary, ...rest];
@@ -73807,7 +73807,7 @@ function assertUnfrozen(name2, frozen) {
73807
73807
  }
73808
73808
  }
73809
73809
  function assertNode(node2) {
73810
- if (!isPlainObject$1(node2) || typeof node2.type !== "string") {
73810
+ if (!isPlainObject(node2) || typeof node2.type !== "string") {
73811
73811
  throw new TypeError("Expected node, got `" + node2 + "`");
73812
73812
  }
73813
73813
  }
@@ -74704,7 +74704,7 @@ function range2(start2, stop, step) {
74704
74704
  }
74705
74705
  return range3;
74706
74706
  }
74707
- var noop$1 = { value: () => {
74707
+ var noop2 = { value: () => {
74708
74708
  } };
74709
74709
  function dispatch() {
74710
74710
  for (var i = 0, n2 = arguments.length, _ = {}, t2; i < n2; ++i) {
@@ -74764,7 +74764,7 @@ function get$1(type4, name2) {
74764
74764
  function set$1(type4, name2, callback) {
74765
74765
  for (var i = 0, n2 = type4.length; i < n2; ++i) {
74766
74766
  if (type4[i].name === name2) {
74767
- type4[i] = noop$1, type4 = type4.slice(0, i).concat(type4.slice(i + 1));
74767
+ type4[i] = noop2, type4 = type4.slice(0, i).concat(type4.slice(i + 1));
74768
74768
  break;
74769
74769
  }
74770
74770
  }
@@ -80896,16 +80896,21 @@ const OverflowMenuContainer = styled.div`
80896
80896
  animation: ${({ $placement, $isAnimating }) => {
80897
80897
  if (!$isAnimating) return "none";
80898
80898
  switch ($placement) {
80899
- case "bottom":
80899
+ case "bottom": {
80900
80900
  return slideDown;
80901
- case "top":
80901
+ }
80902
+ case "top": {
80902
80903
  return slideUp;
80903
- case "left":
80904
+ }
80905
+ case "left": {
80904
80906
  return slideLeft;
80905
- case "right":
80907
+ }
80908
+ case "right": {
80906
80909
  return slideRight;
80907
- default:
80910
+ }
80911
+ default: {
80908
80912
  return slideDown;
80913
+ }
80909
80914
  }
80910
80915
  }}
80911
80916
  0.15s cubic-bezier(0.4, 0, 0.2, 1);
@@ -84313,1231 +84318,105 @@ const CustomPagination = ({
84313
84318
  }
84314
84319
  return null;
84315
84320
  };
84316
- var Subscribable = class {
84317
- constructor() {
84318
- this.listeners = /* @__PURE__ */ new Set();
84319
- this.subscribe = this.subscribe.bind(this);
84320
- }
84321
- subscribe(listener) {
84322
- this.listeners.add(listener);
84323
- this.onSubscribe();
84324
- return () => {
84325
- this.listeners.delete(listener);
84326
- this.onUnsubscribe();
84327
- };
84328
- }
84329
- hasListeners() {
84330
- return this.listeners.size > 0;
84331
- }
84332
- onSubscribe() {
84333
- }
84334
- onUnsubscribe() {
84335
- }
84336
- };
84337
- var defaultTimeoutProvider = {
84338
- // We need the wrapper function syntax below instead of direct references to
84339
- // global setTimeout etc.
84340
- //
84341
- // BAD: `setTimeout: setTimeout`
84342
- // GOOD: `setTimeout: (cb, delay) => setTimeout(cb, delay)`
84343
- //
84344
- // If we use direct references here, then anything that wants to spy on or
84345
- // replace the global setTimeout (like tests) won't work since we'll already
84346
- // have a hard reference to the original implementation at the time when this
84347
- // file was imported.
84348
- setTimeout: (callback, delay) => setTimeout(callback, delay),
84349
- clearTimeout: (timeoutId) => clearTimeout(timeoutId),
84350
- setInterval: (callback, delay) => setInterval(callback, delay),
84351
- clearInterval: (intervalId) => clearInterval(intervalId)
84352
- };
84353
- var TimeoutManager = class {
84354
- // We cannot have TimeoutManager<T> as we must instantiate it with a concrete
84355
- // type at app boot; and if we leave that type, then any new timer provider
84356
- // would need to support ReturnType<typeof setTimeout>, which is infeasible.
84357
- //
84358
- // We settle for type safety for the TimeoutProvider type, and accept that
84359
- // this class is unsafe internally to allow for extension.
84360
- #provider = defaultTimeoutProvider;
84361
- #providerCalled = false;
84362
- setTimeoutProvider(provider) {
84363
- if (process.env.NODE_ENV !== "production") {
84364
- if (this.#providerCalled && provider !== this.#provider) {
84365
- console.error(
84366
- `[timeoutManager]: Switching provider after calls to previous provider might result in unexpected behavior.`,
84367
- { previous: this.#provider, provider }
84368
- );
84369
- }
84370
- }
84371
- this.#provider = provider;
84372
- if (process.env.NODE_ENV !== "production") {
84373
- this.#providerCalled = false;
84374
- }
84375
- }
84376
- setTimeout(callback, delay) {
84377
- if (process.env.NODE_ENV !== "production") {
84378
- this.#providerCalled = true;
84379
- }
84380
- return this.#provider.setTimeout(callback, delay);
84381
- }
84382
- clearTimeout(timeoutId) {
84383
- this.#provider.clearTimeout(timeoutId);
84384
- }
84385
- setInterval(callback, delay) {
84386
- if (process.env.NODE_ENV !== "production") {
84387
- this.#providerCalled = true;
84388
- }
84389
- return this.#provider.setInterval(callback, delay);
84390
- }
84391
- clearInterval(intervalId) {
84392
- this.#provider.clearInterval(intervalId);
84393
- }
84394
- };
84395
- var timeoutManager = new TimeoutManager();
84396
- function systemSetTimeoutZero(callback) {
84397
- setTimeout(callback, 0);
84398
- }
84399
- var isServer = typeof window === "undefined" || "Deno" in globalThis;
84400
- function noop2() {
84401
- }
84402
- function isValidTimeout(value2) {
84403
- return typeof value2 === "number" && value2 >= 0 && value2 !== Infinity;
84404
- }
84405
- function timeUntilStale(updatedAt, staleTime) {
84406
- return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);
84407
- }
84408
- function resolveStaleTime(staleTime, query) {
84409
- return typeof staleTime === "function" ? staleTime(query) : staleTime;
84410
- }
84411
- function resolveEnabled(enabled, query) {
84412
- return typeof enabled === "function" ? enabled(query) : enabled;
84413
- }
84414
- var hasOwn = Object.prototype.hasOwnProperty;
84415
- function replaceEqualDeep(a, b) {
84416
- if (a === b) {
84417
- return a;
84418
- }
84419
- const array4 = isPlainArray(a) && isPlainArray(b);
84420
- if (!array4 && !(isPlainObject(a) && isPlainObject(b))) return b;
84421
- const aItems = array4 ? a : Object.keys(a);
84422
- const aSize = aItems.length;
84423
- const bItems = array4 ? b : Object.keys(b);
84424
- const bSize = bItems.length;
84425
- const copy2 = array4 ? new Array(bSize) : {};
84426
- let equalItems = 0;
84427
- for (let i = 0; i < bSize; i++) {
84428
- const key = array4 ? i : bItems[i];
84429
- const aItem = a[key];
84430
- const bItem = b[key];
84431
- if (aItem === bItem) {
84432
- copy2[key] = aItem;
84433
- if (array4 ? i < aSize : hasOwn.call(a, key)) equalItems++;
84434
- continue;
84435
- }
84436
- if (aItem === null || bItem === null || typeof aItem !== "object" || typeof bItem !== "object") {
84437
- copy2[key] = bItem;
84438
- continue;
84439
- }
84440
- const v = replaceEqualDeep(aItem, bItem);
84441
- copy2[key] = v;
84442
- if (v === aItem) equalItems++;
84443
- }
84444
- return aSize === bSize && equalItems === aSize ? a : copy2;
84445
- }
84446
- function shallowEqualObjects(a, b) {
84447
- if (!b || Object.keys(a).length !== Object.keys(b).length) {
84448
- return false;
84449
- }
84450
- for (const key in a) {
84451
- if (a[key] !== b[key]) {
84452
- return false;
84453
- }
84454
- }
84455
- return true;
84456
- }
84457
- function isPlainArray(value2) {
84458
- return Array.isArray(value2) && value2.length === Object.keys(value2).length;
84459
- }
84460
- function isPlainObject(o2) {
84461
- if (!hasObjectPrototype(o2)) {
84462
- return false;
84463
- }
84464
- const ctor = o2.constructor;
84465
- if (ctor === void 0) {
84466
- return true;
84467
- }
84468
- const prot = ctor.prototype;
84469
- if (!hasObjectPrototype(prot)) {
84470
- return false;
84471
- }
84472
- if (!prot.hasOwnProperty("isPrototypeOf")) {
84473
- return false;
84474
- }
84475
- if (Object.getPrototypeOf(o2) !== Object.prototype) {
84476
- return false;
84477
- }
84478
- return true;
84479
- }
84480
- function hasObjectPrototype(o2) {
84481
- return Object.prototype.toString.call(o2) === "[object Object]";
84482
- }
84483
- function replaceData(prevData, data, options) {
84484
- if (typeof options.structuralSharing === "function") {
84485
- return options.structuralSharing(prevData, data);
84486
- } else if (options.structuralSharing !== false) {
84487
- if (process.env.NODE_ENV !== "production") {
84488
- try {
84489
- return replaceEqualDeep(prevData, data);
84490
- } catch (error2) {
84491
- console.error(
84492
- `Structural sharing requires data to be JSON serializable. To fix this, turn off structuralSharing or return JSON-serializable data from your queryFn. [${options.queryHash}]: ${error2}`
84493
- );
84494
- throw error2;
84495
- }
84496
- }
84497
- return replaceEqualDeep(prevData, data);
84498
- }
84499
- return data;
84500
- }
84501
- function addToEnd(items, item, max2 = 0) {
84502
- const newItems = [...items, item];
84503
- return max2 && newItems.length > max2 ? newItems.slice(1) : newItems;
84504
- }
84505
- function addToStart(items, item, max2 = 0) {
84506
- const newItems = [item, ...items];
84507
- return max2 && newItems.length > max2 ? newItems.slice(0, -1) : newItems;
84508
- }
84509
- var skipToken = Symbol();
84510
- function ensureQueryFn(options, fetchOptions) {
84511
- if (process.env.NODE_ENV !== "production") {
84512
- if (options.queryFn === skipToken) {
84513
- console.error(
84514
- `Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${options.queryHash}'`
84515
- );
84516
- }
84517
- }
84518
- if (!options.queryFn && fetchOptions?.initialPromise) {
84519
- return () => fetchOptions.initialPromise;
84520
- }
84521
- if (!options.queryFn || options.queryFn === skipToken) {
84522
- return () => Promise.reject(new Error(`Missing queryFn: '${options.queryHash}'`));
84523
- }
84524
- return options.queryFn;
84525
- }
84526
- function shouldThrowError(throwOnError, params) {
84527
- if (typeof throwOnError === "function") {
84528
- return throwOnError(...params);
84529
- }
84530
- return !!throwOnError;
84531
- }
84532
- var FocusManager = class extends Subscribable {
84533
- #focused;
84534
- #cleanup;
84535
- #setup;
84536
- constructor() {
84537
- super();
84538
- this.#setup = (onFocus) => {
84539
- if (!isServer && window.addEventListener) {
84540
- const listener = () => onFocus();
84541
- window.addEventListener("visibilitychange", listener, false);
84542
- return () => {
84543
- window.removeEventListener("visibilitychange", listener);
84544
- };
84545
- }
84546
- return;
84547
- };
84548
- }
84549
- onSubscribe() {
84550
- if (!this.#cleanup) {
84551
- this.setEventListener(this.#setup);
84552
- }
84553
- }
84554
- onUnsubscribe() {
84555
- if (!this.hasListeners()) {
84556
- this.#cleanup?.();
84557
- this.#cleanup = void 0;
84558
- }
84559
- }
84560
- setEventListener(setup) {
84561
- this.#setup = setup;
84562
- this.#cleanup?.();
84563
- this.#cleanup = setup((focused) => {
84564
- if (typeof focused === "boolean") {
84565
- this.setFocused(focused);
84566
- } else {
84567
- this.onFocus();
84568
- }
84569
- });
84570
- }
84571
- setFocused(focused) {
84572
- const changed = this.#focused !== focused;
84573
- if (changed) {
84574
- this.#focused = focused;
84575
- this.onFocus();
84576
- }
84577
- }
84578
- onFocus() {
84579
- const isFocused = this.isFocused();
84580
- this.listeners.forEach((listener) => {
84581
- listener(isFocused);
84582
- });
84583
- }
84584
- isFocused() {
84585
- if (typeof this.#focused === "boolean") {
84586
- return this.#focused;
84587
- }
84588
- return globalThis.document?.visibilityState !== "hidden";
84589
- }
84590
- };
84591
- var focusManager = new FocusManager();
84592
- function pendingThenable() {
84593
- let resolve;
84594
- let reject;
84595
- const thenable = new Promise((_resolve, _reject) => {
84596
- resolve = _resolve;
84597
- reject = _reject;
84598
- });
84599
- thenable.status = "pending";
84600
- thenable.catch(() => {
84601
- });
84602
- function finalize(data) {
84603
- Object.assign(thenable, data);
84604
- delete thenable.resolve;
84605
- delete thenable.reject;
84606
- }
84607
- thenable.resolve = (value2) => {
84608
- finalize({
84609
- status: "fulfilled",
84610
- value: value2
84611
- });
84612
- resolve(value2);
84613
- };
84614
- thenable.reject = (reason) => {
84615
- finalize({
84616
- status: "rejected",
84617
- reason
84618
- });
84619
- reject(reason);
84620
- };
84621
- return thenable;
84622
- }
84623
- var defaultScheduler = systemSetTimeoutZero;
84624
- function createNotifyManager() {
84625
- let queue = [];
84626
- let transactions = 0;
84627
- let notifyFn = (callback) => {
84628
- callback();
84629
- };
84630
- let batchNotifyFn = (callback) => {
84631
- callback();
84632
- };
84633
- let scheduleFn = defaultScheduler;
84634
- const schedule2 = (callback) => {
84635
- if (transactions) {
84636
- queue.push(callback);
84637
- } else {
84638
- scheduleFn(() => {
84639
- notifyFn(callback);
84640
- });
84641
- }
84642
- };
84643
- const flush = () => {
84644
- const originalQueue = queue;
84645
- queue = [];
84646
- if (originalQueue.length) {
84647
- scheduleFn(() => {
84648
- batchNotifyFn(() => {
84649
- originalQueue.forEach((callback) => {
84650
- notifyFn(callback);
84651
- });
84652
- });
84653
- });
84654
- }
84655
- };
84656
- return {
84657
- batch: (callback) => {
84658
- let result;
84659
- transactions++;
84321
+ const useInfiniteQuery = ({
84322
+ queryKey: queryKey2,
84323
+ queryFn,
84324
+ initialPageParam,
84325
+ getNextPageParam
84326
+ }) => {
84327
+ const [pages, setPages] = useState([]);
84328
+ const [error2, setError] = useState(null);
84329
+ const [isFetchingNextPage, setIsFetchingNextPage] = useState(false);
84330
+ const [status, setStatus] = useState(
84331
+ "pending"
84332
+ );
84333
+ const [hasNextPage, setHasNextPage] = useState(true);
84334
+ const [isInitialLoad, setIsInitialLoad] = useState(true);
84335
+ const abortControllerRef = useRef(null);
84336
+ const isFetchingRef = useRef(false);
84337
+ useEffect(() => {
84338
+ setPages([]);
84339
+ setError(null);
84340
+ setStatus("pending");
84341
+ setHasNextPage(true);
84342
+ setIsInitialLoad(true);
84343
+ isFetchingRef.current = false;
84344
+ }, [queryKey2]);
84345
+ const fetchPage = useCallback(
84346
+ async (pageParam) => {
84347
+ if (isFetchingRef.current) return;
84348
+ isFetchingRef.current = true;
84349
+ setError(null);
84350
+ if (abortControllerRef.current) {
84351
+ abortControllerRef.current.abort();
84352
+ }
84353
+ abortControllerRef.current = new AbortController();
84660
84354
  try {
84661
- result = callback();
84662
- } finally {
84663
- transactions--;
84664
- if (!transactions) {
84665
- flush();
84355
+ const result = await queryFn({ pageParam });
84356
+ if (abortControllerRef.current?.signal.aborted) {
84357
+ return;
84666
84358
  }
84667
- }
84668
- return result;
84669
- },
84670
- /**
84671
- * All calls to the wrapped function will be batched.
84672
- */
84673
- batchCalls: (callback) => {
84674
- return (...args) => {
84675
- schedule2(() => {
84676
- callback(...args);
84677
- });
84678
- };
84679
- },
84680
- schedule: schedule2,
84681
- /**
84682
- * Use this method to set a custom notify function.
84683
- * This can be used to for example wrap notifications with `React.act` while running tests.
84684
- */
84685
- setNotifyFunction: (fn) => {
84686
- notifyFn = fn;
84687
- },
84688
- /**
84689
- * Use this method to set a custom function to batch notifications together into a single tick.
84690
- * By default React Query will use the batch function provided by ReactDOM or React Native.
84691
- */
84692
- setBatchNotifyFunction: (fn) => {
84693
- batchNotifyFn = fn;
84694
- },
84695
- setScheduler: (fn) => {
84696
- scheduleFn = fn;
84697
- }
84698
- };
84699
- }
84700
- var notifyManager = createNotifyManager();
84701
- var OnlineManager = class extends Subscribable {
84702
- #online = true;
84703
- #cleanup;
84704
- #setup;
84705
- constructor() {
84706
- super();
84707
- this.#setup = (onOnline) => {
84708
- if (!isServer && window.addEventListener) {
84709
- const onlineListener = () => onOnline(true);
84710
- const offlineListener = () => onOnline(false);
84711
- window.addEventListener("online", onlineListener, false);
84712
- window.addEventListener("offline", offlineListener, false);
84713
- return () => {
84714
- window.removeEventListener("online", onlineListener);
84715
- window.removeEventListener("offline", offlineListener);
84716
- };
84717
- }
84718
- return;
84719
- };
84720
- }
84721
- onSubscribe() {
84722
- if (!this.#cleanup) {
84723
- this.setEventListener(this.#setup);
84724
- }
84725
- }
84726
- onUnsubscribe() {
84727
- if (!this.hasListeners()) {
84728
- this.#cleanup?.();
84729
- this.#cleanup = void 0;
84730
- }
84731
- }
84732
- setEventListener(setup) {
84733
- this.#setup = setup;
84734
- this.#cleanup?.();
84735
- this.#cleanup = setup(this.setOnline.bind(this));
84736
- }
84737
- setOnline(online) {
84738
- const changed = this.#online !== online;
84739
- if (changed) {
84740
- this.#online = online;
84741
- this.listeners.forEach((listener) => {
84742
- listener(online);
84743
- });
84744
- }
84745
- }
84746
- isOnline() {
84747
- return this.#online;
84748
- }
84749
- };
84750
- var onlineManager = new OnlineManager();
84751
- function canFetch(networkMode) {
84752
- return (networkMode ?? "online") === "online" ? onlineManager.isOnline() : true;
84753
- }
84754
- function fetchState(data, options) {
84755
- return {
84756
- fetchFailureCount: 0,
84757
- fetchFailureReason: null,
84758
- fetchStatus: canFetch(options.networkMode) ? "fetching" : "paused",
84759
- ...data === void 0 && {
84760
- error: null,
84761
- status: "pending"
84762
- }
84763
- };
84764
- }
84765
- var QueryObserver = class extends Subscribable {
84766
- constructor(client, options) {
84767
- super();
84768
- this.options = options;
84769
- this.#client = client;
84770
- this.#selectError = null;
84771
- this.#currentThenable = pendingThenable();
84772
- this.bindMethods();
84773
- this.setOptions(options);
84774
- }
84775
- #client;
84776
- #currentQuery = void 0;
84777
- #currentQueryInitialState = void 0;
84778
- #currentResult = void 0;
84779
- #currentResultState;
84780
- #currentResultOptions;
84781
- #currentThenable;
84782
- #selectError;
84783
- #selectFn;
84784
- #selectResult;
84785
- // This property keeps track of the last query with defined data.
84786
- // It will be used to pass the previous data and query to the placeholder function between renders.
84787
- #lastQueryWithDefinedData;
84788
- #staleTimeoutId;
84789
- #refetchIntervalId;
84790
- #currentRefetchInterval;
84791
- #trackedProps = /* @__PURE__ */ new Set();
84792
- bindMethods() {
84793
- this.refetch = this.refetch.bind(this);
84794
- }
84795
- onSubscribe() {
84796
- if (this.listeners.size === 1) {
84797
- this.#currentQuery.addObserver(this);
84798
- if (shouldFetchOnMount(this.#currentQuery, this.options)) {
84799
- this.#executeFetch();
84800
- } else {
84801
- this.updateResult();
84802
- }
84803
- this.#updateTimers();
84804
- }
84805
- }
84806
- onUnsubscribe() {
84807
- if (!this.hasListeners()) {
84808
- this.destroy();
84809
- }
84810
- }
84811
- shouldFetchOnReconnect() {
84812
- return shouldFetchOn(
84813
- this.#currentQuery,
84814
- this.options,
84815
- this.options.refetchOnReconnect
84816
- );
84817
- }
84818
- shouldFetchOnWindowFocus() {
84819
- return shouldFetchOn(
84820
- this.#currentQuery,
84821
- this.options,
84822
- this.options.refetchOnWindowFocus
84823
- );
84824
- }
84825
- destroy() {
84826
- this.listeners = /* @__PURE__ */ new Set();
84827
- this.#clearStaleTimeout();
84828
- this.#clearRefetchInterval();
84829
- this.#currentQuery.removeObserver(this);
84830
- }
84831
- setOptions(options) {
84832
- const prevOptions = this.options;
84833
- const prevQuery = this.#currentQuery;
84834
- this.options = this.#client.defaultQueryOptions(options);
84835
- if (this.options.enabled !== void 0 && typeof this.options.enabled !== "boolean" && typeof this.options.enabled !== "function" && typeof resolveEnabled(this.options.enabled, this.#currentQuery) !== "boolean") {
84836
- throw new Error(
84837
- "Expected enabled to be a boolean or a callback that returns a boolean"
84838
- );
84839
- }
84840
- this.#updateQuery();
84841
- this.#currentQuery.setOptions(this.options);
84842
- if (prevOptions._defaulted && !shallowEqualObjects(this.options, prevOptions)) {
84843
- this.#client.getQueryCache().notify({
84844
- type: "observerOptionsUpdated",
84845
- query: this.#currentQuery,
84846
- observer: this
84847
- });
84848
- }
84849
- const mounted = this.hasListeners();
84850
- if (mounted && shouldFetchOptionally(
84851
- this.#currentQuery,
84852
- prevQuery,
84853
- this.options,
84854
- prevOptions
84855
- )) {
84856
- this.#executeFetch();
84857
- }
84858
- this.updateResult();
84859
- if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || resolveStaleTime(this.options.staleTime, this.#currentQuery) !== resolveStaleTime(prevOptions.staleTime, this.#currentQuery))) {
84860
- this.#updateStaleTimeout();
84861
- }
84862
- const nextRefetchInterval = this.#computeRefetchInterval();
84863
- if (mounted && (this.#currentQuery !== prevQuery || resolveEnabled(this.options.enabled, this.#currentQuery) !== resolveEnabled(prevOptions.enabled, this.#currentQuery) || nextRefetchInterval !== this.#currentRefetchInterval)) {
84864
- this.#updateRefetchInterval(nextRefetchInterval);
84865
- }
84866
- }
84867
- getOptimisticResult(options) {
84868
- const query = this.#client.getQueryCache().build(this.#client, options);
84869
- const result = this.createResult(query, options);
84870
- if (shouldAssignObserverCurrentProperties(this, result)) {
84871
- this.#currentResult = result;
84872
- this.#currentResultOptions = this.options;
84873
- this.#currentResultState = this.#currentQuery.state;
84874
- }
84875
- return result;
84876
- }
84877
- getCurrentResult() {
84878
- return this.#currentResult;
84879
- }
84880
- trackResult(result, onPropTracked) {
84881
- return new Proxy(result, {
84882
- get: (target, key) => {
84883
- this.trackProp(key);
84884
- onPropTracked?.(key);
84885
- if (key === "promise" && !this.options.experimental_prefetchInRender && this.#currentThenable.status === "pending") {
84886
- this.#currentThenable.reject(
84887
- new Error(
84888
- "experimental_prefetchInRender feature flag is not enabled"
84889
- )
84359
+ setPages((prevPages) => {
84360
+ const pageExists = prevPages.some(
84361
+ (page) => page.page === result.page
84890
84362
  );
84363
+ if (pageExists) {
84364
+ return prevPages;
84365
+ }
84366
+ return [...prevPages, result];
84367
+ });
84368
+ setStatus("success");
84369
+ setHasNextPage(result.hasNextPage);
84370
+ if (isInitialLoad) {
84371
+ setIsInitialLoad(false);
84891
84372
  }
84892
- return Reflect.get(target, key);
84893
- }
84894
- });
84895
- }
84896
- trackProp(key) {
84897
- this.#trackedProps.add(key);
84898
- }
84899
- getCurrentQuery() {
84900
- return this.#currentQuery;
84901
- }
84902
- refetch({ ...options } = {}) {
84903
- return this.fetch({
84904
- ...options
84905
- });
84906
- }
84907
- fetchOptimistic(options) {
84908
- const defaultedOptions = this.#client.defaultQueryOptions(options);
84909
- const query = this.#client.getQueryCache().build(this.#client, defaultedOptions);
84910
- return query.fetch().then(() => this.createResult(query, defaultedOptions));
84911
- }
84912
- fetch(fetchOptions) {
84913
- return this.#executeFetch({
84914
- ...fetchOptions,
84915
- cancelRefetch: fetchOptions.cancelRefetch ?? true
84916
- }).then(() => {
84917
- this.updateResult();
84918
- return this.#currentResult;
84919
- });
84920
- }
84921
- #executeFetch(fetchOptions) {
84922
- this.#updateQuery();
84923
- let promise = this.#currentQuery.fetch(
84924
- this.options,
84925
- fetchOptions
84926
- );
84927
- if (!fetchOptions?.throwOnError) {
84928
- promise = promise.catch(noop2);
84929
- }
84930
- return promise;
84931
- }
84932
- #updateStaleTimeout() {
84933
- this.#clearStaleTimeout();
84934
- const staleTime = resolveStaleTime(
84935
- this.options.staleTime,
84936
- this.#currentQuery
84937
- );
84938
- if (isServer || this.#currentResult.isStale || !isValidTimeout(staleTime)) {
84939
- return;
84940
- }
84941
- const time = timeUntilStale(this.#currentResult.dataUpdatedAt, staleTime);
84942
- const timeout2 = time + 1;
84943
- this.#staleTimeoutId = timeoutManager.setTimeout(() => {
84944
- if (!this.#currentResult.isStale) {
84945
- this.updateResult();
84946
- }
84947
- }, timeout2);
84948
- }
84949
- #computeRefetchInterval() {
84950
- return (typeof this.options.refetchInterval === "function" ? this.options.refetchInterval(this.#currentQuery) : this.options.refetchInterval) ?? false;
84951
- }
84952
- #updateRefetchInterval(nextInterval) {
84953
- this.#clearRefetchInterval();
84954
- this.#currentRefetchInterval = nextInterval;
84955
- if (isServer || resolveEnabled(this.options.enabled, this.#currentQuery) === false || !isValidTimeout(this.#currentRefetchInterval) || this.#currentRefetchInterval === 0) {
84956
- return;
84957
- }
84958
- this.#refetchIntervalId = timeoutManager.setInterval(() => {
84959
- if (this.options.refetchIntervalInBackground || focusManager.isFocused()) {
84960
- this.#executeFetch();
84961
- }
84962
- }, this.#currentRefetchInterval);
84963
- }
84964
- #updateTimers() {
84965
- this.#updateStaleTimeout();
84966
- this.#updateRefetchInterval(this.#computeRefetchInterval());
84967
- }
84968
- #clearStaleTimeout() {
84969
- if (this.#staleTimeoutId) {
84970
- timeoutManager.clearTimeout(this.#staleTimeoutId);
84971
- this.#staleTimeoutId = void 0;
84972
- }
84973
- }
84974
- #clearRefetchInterval() {
84975
- if (this.#refetchIntervalId) {
84976
- timeoutManager.clearInterval(this.#refetchIntervalId);
84977
- this.#refetchIntervalId = void 0;
84978
- }
84979
- }
84980
- createResult(query, options) {
84981
- const prevQuery = this.#currentQuery;
84982
- const prevOptions = this.options;
84983
- const prevResult = this.#currentResult;
84984
- const prevResultState = this.#currentResultState;
84985
- const prevResultOptions = this.#currentResultOptions;
84986
- const queryChange = query !== prevQuery;
84987
- const queryInitialState = queryChange ? query.state : this.#currentQueryInitialState;
84988
- const { state } = query;
84989
- let newState = { ...state };
84990
- let isPlaceholderData = false;
84991
- let data;
84992
- if (options._optimisticResults) {
84993
- const mounted = this.hasListeners();
84994
- const fetchOnMount = !mounted && shouldFetchOnMount(query, options);
84995
- const fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);
84996
- if (fetchOnMount || fetchOptionally) {
84997
- newState = {
84998
- ...newState,
84999
- ...fetchState(state.data, query.options)
85000
- };
85001
- }
85002
- if (options._optimisticResults === "isRestoring") {
85003
- newState.fetchStatus = "idle";
85004
- }
85005
- }
85006
- let { error: error2, errorUpdatedAt, status } = newState;
85007
- data = newState.data;
85008
- let skipSelect = false;
85009
- if (options.placeholderData !== void 0 && data === void 0 && status === "pending") {
85010
- let placeholderData;
85011
- if (prevResult?.isPlaceholderData && options.placeholderData === prevResultOptions?.placeholderData) {
85012
- placeholderData = prevResult.data;
85013
- skipSelect = true;
85014
- } else {
85015
- placeholderData = typeof options.placeholderData === "function" ? options.placeholderData(
85016
- this.#lastQueryWithDefinedData?.state.data,
85017
- this.#lastQueryWithDefinedData
85018
- ) : options.placeholderData;
85019
- }
85020
- if (placeholderData !== void 0) {
85021
- status = "success";
85022
- data = replaceData(
85023
- prevResult?.data,
85024
- placeholderData,
85025
- options
85026
- );
85027
- isPlaceholderData = true;
85028
- }
85029
- }
85030
- if (options.select && data !== void 0 && !skipSelect) {
85031
- if (prevResult && data === prevResultState?.data && options.select === this.#selectFn) {
85032
- data = this.#selectResult;
85033
- } else {
85034
- try {
85035
- this.#selectFn = options.select;
85036
- data = options.select(data);
85037
- data = replaceData(prevResult?.data, data, options);
85038
- this.#selectResult = data;
85039
- this.#selectError = null;
85040
- } catch (selectError) {
85041
- this.#selectError = selectError;
85042
- }
85043
- }
85044
- }
85045
- if (this.#selectError) {
85046
- error2 = this.#selectError;
85047
- data = this.#selectResult;
85048
- errorUpdatedAt = Date.now();
85049
- status = "error";
85050
- }
85051
- const isFetching = newState.fetchStatus === "fetching";
85052
- const isPending = status === "pending";
85053
- const isError = status === "error";
85054
- const isLoading = isPending && isFetching;
85055
- const hasData = data !== void 0;
85056
- const result = {
85057
- status,
85058
- fetchStatus: newState.fetchStatus,
85059
- isPending,
85060
- isSuccess: status === "success",
85061
- isError,
85062
- isInitialLoading: isLoading,
85063
- isLoading,
85064
- data,
85065
- dataUpdatedAt: newState.dataUpdatedAt,
85066
- error: error2,
85067
- errorUpdatedAt,
85068
- failureCount: newState.fetchFailureCount,
85069
- failureReason: newState.fetchFailureReason,
85070
- errorUpdateCount: newState.errorUpdateCount,
85071
- isFetched: newState.dataUpdateCount > 0 || newState.errorUpdateCount > 0,
85072
- isFetchedAfterMount: newState.dataUpdateCount > queryInitialState.dataUpdateCount || newState.errorUpdateCount > queryInitialState.errorUpdateCount,
85073
- isFetching,
85074
- isRefetching: isFetching && !isPending,
85075
- isLoadingError: isError && !hasData,
85076
- isPaused: newState.fetchStatus === "paused",
85077
- isPlaceholderData,
85078
- isRefetchError: isError && hasData,
85079
- isStale: isStale(query, options),
85080
- refetch: this.refetch,
85081
- promise: this.#currentThenable,
85082
- isEnabled: resolveEnabled(options.enabled, query) !== false
85083
- };
85084
- const nextResult = result;
85085
- if (this.options.experimental_prefetchInRender) {
85086
- const finalizeThenableIfPossible = (thenable) => {
85087
- if (nextResult.status === "error") {
85088
- thenable.reject(nextResult.error);
85089
- } else if (nextResult.data !== void 0) {
85090
- thenable.resolve(nextResult.data);
84373
+ } catch (error_) {
84374
+ if (abortControllerRef.current?.signal.aborted) {
84375
+ return;
85091
84376
  }
85092
- };
85093
- const recreateThenable = () => {
85094
- const pending = this.#currentThenable = nextResult.promise = pendingThenable();
85095
- finalizeThenableIfPossible(pending);
85096
- };
85097
- const prevThenable = this.#currentThenable;
85098
- switch (prevThenable.status) {
85099
- case "pending":
85100
- if (query.queryHash === prevQuery.queryHash) {
85101
- finalizeThenableIfPossible(prevThenable);
85102
- }
85103
- break;
85104
- case "fulfilled":
85105
- if (nextResult.status === "error" || nextResult.data !== prevThenable.value) {
85106
- recreateThenable();
85107
- }
85108
- break;
85109
- case "rejected":
85110
- if (nextResult.status !== "error" || nextResult.error !== prevThenable.reason) {
85111
- recreateThenable();
85112
- }
85113
- break;
85114
- }
85115
- }
85116
- return nextResult;
85117
- }
85118
- updateResult() {
85119
- const prevResult = this.#currentResult;
85120
- const nextResult = this.createResult(this.#currentQuery, this.options);
85121
- this.#currentResultState = this.#currentQuery.state;
85122
- this.#currentResultOptions = this.options;
85123
- if (this.#currentResultState.data !== void 0) {
85124
- this.#lastQueryWithDefinedData = this.#currentQuery;
85125
- }
85126
- if (shallowEqualObjects(nextResult, prevResult)) {
85127
- return;
85128
- }
85129
- this.#currentResult = nextResult;
85130
- const shouldNotifyListeners = () => {
85131
- if (!prevResult) {
85132
- return true;
85133
- }
85134
- const { notifyOnChangeProps } = this.options;
85135
- const notifyOnChangePropsValue = typeof notifyOnChangeProps === "function" ? notifyOnChangeProps() : notifyOnChangeProps;
85136
- if (notifyOnChangePropsValue === "all" || !notifyOnChangePropsValue && !this.#trackedProps.size) {
85137
- return true;
85138
- }
85139
- const includedProps = new Set(
85140
- notifyOnChangePropsValue ?? this.#trackedProps
85141
- );
85142
- if (this.options.throwOnError) {
85143
- includedProps.add("error");
84377
+ const error22 = error_ instanceof Error ? error_ : new Error("Unknown error occurred");
84378
+ setError(error22);
84379
+ setStatus("error");
84380
+ } finally {
84381
+ isFetchingRef.current = false;
84382
+ setIsFetchingNextPage(false);
85144
84383
  }
85145
- return Object.keys(this.#currentResult).some((key) => {
85146
- const typedKey = key;
85147
- const changed = this.#currentResult[typedKey] !== prevResult[typedKey];
85148
- return changed && includedProps.has(typedKey);
85149
- });
85150
- };
85151
- this.#notify({ listeners: shouldNotifyListeners() });
85152
- }
85153
- #updateQuery() {
85154
- const query = this.#client.getQueryCache().build(this.#client, this.options);
85155
- if (query === this.#currentQuery) {
84384
+ },
84385
+ [queryFn, isInitialLoad]
84386
+ );
84387
+ const fetchNextPage = useCallback(() => {
84388
+ if (isFetchingRef.current || !hasNextPage) return;
84389
+ const lastPage = pages.at(-1);
84390
+ if (!lastPage) return;
84391
+ const nextPageParam = getNextPageParam(lastPage);
84392
+ if (nextPageParam === void 0) {
84393
+ setHasNextPage(false);
85156
84394
  return;
85157
84395
  }
85158
- const prevQuery = this.#currentQuery;
85159
- this.#currentQuery = query;
85160
- this.#currentQueryInitialState = query.state;
85161
- if (this.hasListeners()) {
85162
- prevQuery?.removeObserver(this);
85163
- query.addObserver(this);
85164
- }
85165
- }
85166
- onQueryUpdate() {
85167
- this.updateResult();
85168
- if (this.hasListeners()) {
85169
- this.#updateTimers();
85170
- }
85171
- }
85172
- #notify(notifyOptions) {
85173
- notifyManager.batch(() => {
85174
- if (notifyOptions.listeners) {
85175
- this.listeners.forEach((listener) => {
85176
- listener(this.#currentResult);
85177
- });
85178
- }
85179
- this.#client.getQueryCache().notify({
85180
- query: this.#currentQuery,
85181
- type: "observerResultsUpdated"
85182
- });
85183
- });
85184
- }
85185
- };
85186
- function shouldLoadOnMount(query, options) {
85187
- return resolveEnabled(options.enabled, query) !== false && query.state.data === void 0 && !(query.state.status === "error" && options.retryOnMount === false);
85188
- }
85189
- function shouldFetchOnMount(query, options) {
85190
- return shouldLoadOnMount(query, options) || query.state.data !== void 0 && shouldFetchOn(query, options, options.refetchOnMount);
85191
- }
85192
- function shouldFetchOn(query, options, field) {
85193
- if (resolveEnabled(options.enabled, query) !== false && resolveStaleTime(options.staleTime, query) !== "static") {
85194
- const value2 = typeof field === "function" ? field(query) : field;
85195
- return value2 === "always" || value2 !== false && isStale(query, options);
85196
- }
85197
- return false;
85198
- }
85199
- function shouldFetchOptionally(query, prevQuery, options, prevOptions) {
85200
- return (query !== prevQuery || resolveEnabled(prevOptions.enabled, query) === false) && (!options.suspense || query.state.status !== "error") && isStale(query, options);
85201
- }
85202
- function isStale(query, options) {
85203
- return resolveEnabled(options.enabled, query) !== false && query.isStaleByTime(resolveStaleTime(options.staleTime, query));
85204
- }
85205
- function shouldAssignObserverCurrentProperties(observer, optimisticResult) {
85206
- if (!shallowEqualObjects(observer.getCurrentResult(), optimisticResult)) {
85207
- return true;
85208
- }
85209
- return false;
85210
- }
85211
- function infiniteQueryBehavior(pages) {
85212
- return {
85213
- onFetch: (context, query) => {
85214
- const options = context.options;
85215
- const direction = context.fetchOptions?.meta?.fetchMore?.direction;
85216
- const oldPages = context.state.data?.pages || [];
85217
- const oldPageParams = context.state.data?.pageParams || [];
85218
- let result = { pages: [], pageParams: [] };
85219
- let currentPage = 0;
85220
- const fetchFn = async () => {
85221
- let cancelled = false;
85222
- const addSignalProperty = (object4) => {
85223
- Object.defineProperty(object4, "signal", {
85224
- enumerable: true,
85225
- get: () => {
85226
- if (context.signal.aborted) {
85227
- cancelled = true;
85228
- } else {
85229
- context.signal.addEventListener("abort", () => {
85230
- cancelled = true;
85231
- });
85232
- }
85233
- return context.signal;
85234
- }
85235
- });
85236
- };
85237
- const queryFn = ensureQueryFn(context.options, context.fetchOptions);
85238
- const fetchPage = async (data, param, previous2) => {
85239
- if (cancelled) {
85240
- return Promise.reject();
85241
- }
85242
- if (param == null && data.pages.length) {
85243
- return Promise.resolve(data);
85244
- }
85245
- const createQueryFnContext = () => {
85246
- const queryFnContext2 = {
85247
- client: context.client,
85248
- queryKey: context.queryKey,
85249
- pageParam: param,
85250
- direction: previous2 ? "backward" : "forward",
85251
- meta: context.options.meta
85252
- };
85253
- addSignalProperty(queryFnContext2);
85254
- return queryFnContext2;
85255
- };
85256
- const queryFnContext = createQueryFnContext();
85257
- const page = await queryFn(queryFnContext);
85258
- const { maxPages } = context.options;
85259
- const addTo = previous2 ? addToStart : addToEnd;
85260
- return {
85261
- pages: addTo(data.pages, page, maxPages),
85262
- pageParams: addTo(data.pageParams, param, maxPages)
85263
- };
85264
- };
85265
- if (direction && oldPages.length) {
85266
- const previous2 = direction === "backward";
85267
- const pageParamFn = previous2 ? getPreviousPageParam : getNextPageParam;
85268
- const oldData = {
85269
- pages: oldPages,
85270
- pageParams: oldPageParams
85271
- };
85272
- const param = pageParamFn(options, oldData);
85273
- result = await fetchPage(oldData, param, previous2);
85274
- } else {
85275
- const remainingPages = oldPages.length;
85276
- do {
85277
- const param = currentPage === 0 ? oldPageParams[0] ?? options.initialPageParam : getNextPageParam(options, result);
85278
- if (currentPage > 0 && param == null) {
85279
- break;
85280
- }
85281
- result = await fetchPage(result, param);
85282
- currentPage++;
85283
- } while (currentPage < remainingPages);
85284
- }
85285
- return result;
85286
- };
85287
- if (context.options.persister) {
85288
- context.fetchFn = () => {
85289
- return context.options.persister?.(
85290
- fetchFn,
85291
- {
85292
- client: context.client,
85293
- queryKey: context.queryKey,
85294
- meta: context.options.meta,
85295
- signal: context.signal
85296
- },
85297
- query
85298
- );
85299
- };
85300
- } else {
85301
- context.fetchFn = fetchFn;
85302
- }
84396
+ setIsFetchingNextPage(true);
84397
+ fetchPage(nextPageParam);
84398
+ }, [pages, hasNextPage, getNextPageParam, fetchPage]);
84399
+ useEffect(() => {
84400
+ if (isInitialLoad && pages.length === 0) {
84401
+ fetchPage(initialPageParam);
85303
84402
  }
85304
- };
85305
- }
85306
- function getNextPageParam(options, { pages, pageParams }) {
85307
- const lastIndex = pages.length - 1;
85308
- return pages.length > 0 ? options.getNextPageParam(
85309
- pages[lastIndex],
85310
- pages,
85311
- pageParams[lastIndex],
85312
- pageParams
85313
- ) : void 0;
85314
- }
85315
- function getPreviousPageParam(options, { pages, pageParams }) {
85316
- return pages.length > 0 ? options.getPreviousPageParam?.(pages[0], pages, pageParams[0], pageParams) : void 0;
85317
- }
85318
- function hasNextPage(options, data) {
85319
- if (!data) return false;
85320
- return getNextPageParam(options, data) != null;
85321
- }
85322
- function hasPreviousPage(options, data) {
85323
- if (!data || !options.getPreviousPageParam) return false;
85324
- return getPreviousPageParam(options, data) != null;
85325
- }
85326
- var InfiniteQueryObserver = class extends QueryObserver {
85327
- constructor(client, options) {
85328
- super(client, options);
85329
- }
85330
- bindMethods() {
85331
- super.bindMethods();
85332
- this.fetchNextPage = this.fetchNextPage.bind(this);
85333
- this.fetchPreviousPage = this.fetchPreviousPage.bind(this);
85334
- }
85335
- setOptions(options) {
85336
- super.setOptions({
85337
- ...options,
85338
- behavior: infiniteQueryBehavior()
85339
- });
85340
- }
85341
- getOptimisticResult(options) {
85342
- options.behavior = infiniteQueryBehavior();
85343
- return super.getOptimisticResult(options);
85344
- }
85345
- fetchNextPage(options) {
85346
- return this.fetch({
85347
- ...options,
85348
- meta: {
85349
- fetchMore: { direction: "forward" }
85350
- }
85351
- });
85352
- }
85353
- fetchPreviousPage(options) {
85354
- return this.fetch({
85355
- ...options,
85356
- meta: {
85357
- fetchMore: { direction: "backward" }
84403
+ }, [isInitialLoad, pages.length, fetchPage, initialPageParam]);
84404
+ useEffect(() => {
84405
+ return () => {
84406
+ if (abortControllerRef.current) {
84407
+ abortControllerRef.current.abort();
85358
84408
  }
85359
- });
85360
- }
85361
- createResult(query, options) {
85362
- const { state } = query;
85363
- const parentResult = super.createResult(query, options);
85364
- const { isFetching, isRefetching, isError, isRefetchError } = parentResult;
85365
- const fetchDirection = state.fetchMeta?.fetchMore?.direction;
85366
- const isFetchNextPageError = isError && fetchDirection === "forward";
85367
- const isFetchingNextPage = isFetching && fetchDirection === "forward";
85368
- const isFetchPreviousPageError = isError && fetchDirection === "backward";
85369
- const isFetchingPreviousPage = isFetching && fetchDirection === "backward";
85370
- const result = {
85371
- ...parentResult,
85372
- fetchNextPage: this.fetchNextPage,
85373
- fetchPreviousPage: this.fetchPreviousPage,
85374
- hasNextPage: hasNextPage(options, state.data),
85375
- hasPreviousPage: hasPreviousPage(options, state.data),
85376
- isFetchNextPageError,
85377
- isFetchingNextPage,
85378
- isFetchPreviousPageError,
85379
- isFetchingPreviousPage,
85380
- isRefetchError: isRefetchError && !isFetchNextPageError && !isFetchPreviousPageError,
85381
- isRefetching: isRefetching && !isFetchingNextPage && !isFetchingPreviousPage
85382
84409
  };
85383
- return result;
85384
- }
85385
- };
85386
- var QueryClientContext = React.createContext(
85387
- void 0
85388
- );
85389
- var useQueryClient = (queryClient) => {
85390
- const client = React.useContext(QueryClientContext);
85391
- if (!client) {
85392
- throw new Error("No QueryClient set, use QueryClientProvider to set one");
85393
- }
85394
- return client;
85395
- };
85396
- var IsRestoringContext = React.createContext(false);
85397
- var useIsRestoring = () => React.useContext(IsRestoringContext);
85398
- IsRestoringContext.Provider;
85399
- function createValue() {
85400
- let isReset = false;
84410
+ }, []);
85401
84411
  return {
85402
- clearReset: () => {
85403
- isReset = false;
85404
- },
85405
- reset: () => {
85406
- isReset = true;
85407
- },
85408
- isReset: () => {
85409
- return isReset;
85410
- }
84412
+ data: pages.length > 0 ? { pages } : void 0,
84413
+ error: error2,
84414
+ fetchNextPage,
84415
+ hasNextPage,
84416
+ isFetchingNextPage,
84417
+ status
85411
84418
  };
85412
- }
85413
- var QueryErrorResetBoundaryContext = React.createContext(createValue());
85414
- var useQueryErrorResetBoundary = () => React.useContext(QueryErrorResetBoundaryContext);
85415
- var ensurePreventErrorBoundaryRetry = (options, errorResetBoundary) => {
85416
- if (options.suspense || options.throwOnError || options.experimental_prefetchInRender) {
85417
- if (!errorResetBoundary.isReset()) {
85418
- options.retryOnMount = false;
85419
- }
85420
- }
85421
84419
  };
85422
- var useClearResetErrorBoundary = (errorResetBoundary) => {
85423
- React.useEffect(() => {
85424
- errorResetBoundary.clearReset();
85425
- }, [errorResetBoundary]);
85426
- };
85427
- var getHasError = ({
85428
- result,
85429
- errorResetBoundary,
85430
- throwOnError,
85431
- query,
85432
- suspense
85433
- }) => {
85434
- return result.isError && !errorResetBoundary.isReset() && !result.isFetching && query && (suspense && result.data === void 0 || shouldThrowError(throwOnError, [result.error, query]));
85435
- };
85436
- var ensureSuspenseTimers = (defaultedOptions) => {
85437
- if (defaultedOptions.suspense) {
85438
- const MIN_SUSPENSE_TIME_MS = 1e3;
85439
- const clamp = (value2) => value2 === "static" ? value2 : Math.max(value2 ?? MIN_SUSPENSE_TIME_MS, MIN_SUSPENSE_TIME_MS);
85440
- const originalStaleTime = defaultedOptions.staleTime;
85441
- defaultedOptions.staleTime = typeof originalStaleTime === "function" ? (...args) => clamp(originalStaleTime(...args)) : clamp(originalStaleTime);
85442
- if (typeof defaultedOptions.gcTime === "number") {
85443
- defaultedOptions.gcTime = Math.max(
85444
- defaultedOptions.gcTime,
85445
- MIN_SUSPENSE_TIME_MS
85446
- );
85447
- }
85448
- }
85449
- };
85450
- var willFetch = (result, isRestoring) => result.isLoading && result.isFetching && !isRestoring;
85451
- var shouldSuspend = (defaultedOptions, result) => defaultedOptions?.suspense && result.isPending;
85452
- var fetchOptimistic = (defaultedOptions, observer, errorResetBoundary) => observer.fetchOptimistic(defaultedOptions).catch(() => {
85453
- errorResetBoundary.clearReset();
85454
- });
85455
- function useBaseQuery(options, Observer, queryClient) {
85456
- if (process.env.NODE_ENV !== "production") {
85457
- if (typeof options !== "object" || Array.isArray(options)) {
85458
- throw new Error(
85459
- 'Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object'
85460
- );
85461
- }
85462
- }
85463
- const isRestoring = useIsRestoring();
85464
- const errorResetBoundary = useQueryErrorResetBoundary();
85465
- const client = useQueryClient();
85466
- const defaultedOptions = client.defaultQueryOptions(options);
85467
- client.getDefaultOptions().queries?._experimental_beforeQuery?.(
85468
- defaultedOptions
85469
- );
85470
- if (process.env.NODE_ENV !== "production") {
85471
- if (!defaultedOptions.queryFn) {
85472
- console.error(
85473
- `[${defaultedOptions.queryHash}]: No queryFn was passed as an option, and no default queryFn was found. The queryFn parameter is only optional when using a default queryFn. More info here: https://tanstack.com/query/latest/docs/framework/react/guides/default-query-function`
85474
- );
85475
- }
85476
- }
85477
- defaultedOptions._optimisticResults = isRestoring ? "isRestoring" : "optimistic";
85478
- ensureSuspenseTimers(defaultedOptions);
85479
- ensurePreventErrorBoundaryRetry(defaultedOptions, errorResetBoundary);
85480
- useClearResetErrorBoundary(errorResetBoundary);
85481
- const isNewCacheEntry = !client.getQueryCache().get(defaultedOptions.queryHash);
85482
- const [observer] = React.useState(
85483
- () => new Observer(
85484
- client,
85485
- defaultedOptions
85486
- )
85487
- );
85488
- const result = observer.getOptimisticResult(defaultedOptions);
85489
- const shouldSubscribe = !isRestoring && options.subscribed !== false;
85490
- React.useSyncExternalStore(
85491
- React.useCallback(
85492
- (onStoreChange) => {
85493
- const unsubscribe = shouldSubscribe ? observer.subscribe(notifyManager.batchCalls(onStoreChange)) : noop2;
85494
- observer.updateResult();
85495
- return unsubscribe;
85496
- },
85497
- [observer, shouldSubscribe]
85498
- ),
85499
- () => observer.getCurrentResult(),
85500
- () => observer.getCurrentResult()
85501
- );
85502
- React.useEffect(() => {
85503
- observer.setOptions(defaultedOptions);
85504
- }, [defaultedOptions, observer]);
85505
- if (shouldSuspend(defaultedOptions, result)) {
85506
- throw fetchOptimistic(defaultedOptions, observer, errorResetBoundary);
85507
- }
85508
- if (getHasError({
85509
- result,
85510
- errorResetBoundary,
85511
- throwOnError: defaultedOptions.throwOnError,
85512
- query: client.getQueryCache().get(defaultedOptions.queryHash),
85513
- suspense: defaultedOptions.suspense
85514
- })) {
85515
- throw result.error;
85516
- }
85517
- client.getDefaultOptions().queries?._experimental_afterQuery?.(
85518
- defaultedOptions,
85519
- result
85520
- );
85521
- if (defaultedOptions.experimental_prefetchInRender && !isServer && willFetch(result, isRestoring)) {
85522
- const promise = isNewCacheEntry ? (
85523
- // Fetch immediately on render in order to ensure `.promise` is resolved even if the component is unmounted
85524
- fetchOptimistic(defaultedOptions, observer, errorResetBoundary)
85525
- ) : (
85526
- // subscribe to the "cache promise" so that we can finalize the currentThenable once data comes in
85527
- client.getQueryCache().get(defaultedOptions.queryHash)?.promise
85528
- );
85529
- promise?.catch(noop2).finally(() => {
85530
- observer.updateResult();
85531
- });
85532
- }
85533
- return !defaultedOptions.notifyOnChangeProps ? observer.trackResult(result) : result;
85534
- }
85535
- function useInfiniteQuery(options, queryClient) {
85536
- return useBaseQuery(
85537
- options,
85538
- InfiniteQueryObserver
85539
- );
85540
- }
85541
84420
  const ResizableTitle = (props) => {
85542
84421
  const { onResize: onResize2, width, ...restProps } = props;
85543
84422
  if (!width || !onResize2) {
@@ -85581,12 +84460,11 @@ const ResizableTitle = (props) => {
85581
84460
  ] });
85582
84461
  };
85583
84462
  const InfiniteScrollTable = ({
85584
- instanceId,
85585
84463
  columns: initialColumns,
85586
84464
  fetchService,
85587
- title,
85588
84465
  scrollHeight = 600,
85589
- scrollWidth = 1300
84466
+ scrollWidth = 1300,
84467
+ onChange
85590
84468
  }) => {
85591
84469
  const observer = useRef();
85592
84470
  const [scrollableNode, setScrollableNode] = useState(
@@ -85602,7 +84480,7 @@ const InfiniteScrollTable = ({
85602
84480
  data,
85603
84481
  error: error2,
85604
84482
  fetchNextPage,
85605
- hasNextPage: hasNextPage2,
84483
+ hasNextPage,
85606
84484
  isFetchingNextPage,
85607
84485
  status
85608
84486
  } = useInfiniteQuery({
@@ -85632,7 +84510,7 @@ const InfiniteScrollTable = ({
85632
84510
  if (observer.current) observer.current.disconnect();
85633
84511
  observer.current = new IntersectionObserver(
85634
84512
  (entries) => {
85635
- if (entries[0].isIntersecting && hasNextPage2) {
84513
+ if (entries[0].isIntersecting && hasNextPage) {
85636
84514
  fetchNextPage();
85637
84515
  }
85638
84516
  },
@@ -85640,10 +84518,21 @@ const InfiniteScrollTable = ({
85640
84518
  );
85641
84519
  if (node2) observer.current.observe(node2);
85642
84520
  },
85643
- [isFetchingNextPage, hasNextPage2, fetchNextPage, scrollableNode]
84521
+ [isFetchingNextPage, hasNextPage, fetchNextPage, scrollableNode]
85644
84522
  );
85645
84523
  const dataSource = data?.pages.flatMap((page) => page.docs) ?? [];
85646
- data?.pages?.[0]?.totalDocs ?? 0;
84524
+ const totalDocs = data?.pages?.[0]?.totalDocs ?? 0;
84525
+ useEffect(() => {
84526
+ if (onChange) {
84527
+ const dataChangeEvent = {
84528
+ totalPages: data?.pages?.length ?? 0,
84529
+ currentPage: data?.pages?.[0]?.page ?? 0,
84530
+ resultsShown: dataSource.length,
84531
+ totalResults: totalDocs
84532
+ };
84533
+ onChange(dataChangeEvent);
84534
+ }
84535
+ }, [data]);
85647
84536
  if (status === "pending") {
85648
84537
  return /* @__PURE__ */ jsx(
85649
84538
  "div",
@@ -85723,7 +84612,7 @@ const InfiniteScrollTable = ({
85723
84612
  }
85724
84613
  )
85725
84614
  ] }),
85726
- !hasNextPage2 && /* @__PURE__ */ jsx(
84615
+ !hasNextPage && /* @__PURE__ */ jsx(
85727
84616
  "div",
85728
84617
  {
85729
84618
  style: {
@@ -86395,7 +85284,8 @@ const GroupsRow = ({ groups, onGroupItemClick }) => {
86395
85284
  const SecondaryTableControlsRow = ({
86396
85285
  groups,
86397
85286
  totalRecords,
86398
- onChange
85287
+ onChange,
85288
+ infiniteScrollData
86399
85289
  }) => {
86400
85290
  const onGroupItemClick = (title, item) => {
86401
85291
  const groupItemClickEvent = {
@@ -86415,7 +85305,8 @@ const SecondaryTableControlsRow = ({
86415
85305
  },
86416
85306
  children: [
86417
85307
  /* @__PURE__ */ jsx(GroupsRow, { groups, onGroupItemClick }),
86418
- (totalRecords ?? 0) > 0 ? /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "#6C6C6C", children: `${totalRecords} results` }) : null
85308
+ (totalRecords ?? 0) > 0 && !infiniteScrollData ? /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "#6C6C6C", children: `${totalRecords} results` }) : null,
85309
+ infiniteScrollData ? /* @__PURE__ */ jsx(Typography, { variant: "body2", color: "#6C6C6C", children: `Loaded ${infiniteScrollData.resultsShown} of ${infiniteScrollData.totalResults} Results` }) : null
86419
85310
  ]
86420
85311
  }
86421
85312
  );
@@ -86450,7 +85341,8 @@ const TableControls = ({
86450
85341
  {
86451
85342
  groups: secondaryTableRowData.groups,
86452
85343
  totalRecords: secondaryTableRowData.totalRecords,
86453
- onChange: onSecondaryChange
85344
+ onChange: onSecondaryChange,
85345
+ infiniteScrollData: secondaryTableRowData.infiniteScrollData
86454
85346
  }
86455
85347
  ) : null
86456
85348
  ] });
@@ -86466,6 +85358,12 @@ const TableWithControls = ({
86466
85358
  infiniteScrollConfig,
86467
85359
  paginationStyle
86468
85360
  }) => {
85361
+ const [infiniteScrollData, setInfiniteScrollData] = useState({
85362
+ totalPages: 0,
85363
+ currentPage: 0,
85364
+ resultsShown: 0,
85365
+ totalResults: 0
85366
+ });
86469
85367
  const { primaryTableRowData, secondaryTableRowData } = tableControlsData2;
86470
85368
  const { dataSource, columns, rowSelection, hasSettings, hasFilter } = tableData;
86471
85369
  const actualTableType = isInfiniteScroll ? "infiniteScroll" : tableType;
@@ -86478,6 +85376,12 @@ const TableWithControls = ({
86478
85376
  payload: { value: "tableChange", pagination, filters, sorter }
86479
85377
  });
86480
85378
  };
85379
+ const onInfiniteScrollTableChange = (event) => {
85380
+ onChange({
85381
+ event: "infiniteScrollTableChange",
85382
+ payload: { value: "infiniteScrollTableChange", event }
85383
+ });
85384
+ };
86481
85385
  const renderTable = () => {
86482
85386
  switch (actualTableType) {
86483
85387
  case "infiniteScroll": {
@@ -86500,7 +85404,8 @@ const TableWithControls = ({
86500
85404
  fetchService: infiniteScrollConfig.fetchService,
86501
85405
  title: infiniteScrollConfig.title,
86502
85406
  scrollHeight: infiniteScrollConfig.scrollHeight,
86503
- scrollWidth: infiniteScrollConfig.scrollWidth
85407
+ scrollWidth: infiniteScrollConfig.scrollWidth,
85408
+ onChange: onInfiniteScrollTableChange
86504
85409
  }
86505
85410
  );
86506
85411
  }
@@ -87040,6 +85945,7 @@ const staticTableData = [
87040
85945
  state: "CA",
87041
85946
  zip: "90210"
87042
85947
  },
85948
+ job_subtype: "delivery",
87043
85949
  progress: {
87044
85950
  currentStep: 1,
87045
85951
  totalSteps: 4,
@@ -87079,6 +85985,7 @@ const staticTableData = [
87079
85985
  state: "CA",
87080
85986
  zip: "90211"
87081
85987
  },
85988
+ job_subtype: "delivery",
87082
85989
  progress: {
87083
85990
  currentStep: 4,
87084
85991
  totalSteps: 4,
@@ -87118,6 +86025,7 @@ const staticTableData = [
87118
86025
  state: "CA",
87119
86026
  zip: "90212"
87120
86027
  },
86028
+ job_subtype: "delivery",
87121
86029
  progress: {
87122
86030
  currentStep: 2,
87123
86031
  totalSteps: 4,
@@ -87157,6 +86065,7 @@ const staticTableData = [
87157
86065
  state: "CA",
87158
86066
  zip: "90213"
87159
86067
  },
86068
+ job_subtype: "pickup",
87160
86069
  progress: {
87161
86070
  currentStep: 1,
87162
86071
  totalSteps: 4,
@@ -87196,6 +86105,7 @@ const staticTableData = [
87196
86105
  state: "CA",
87197
86106
  zip: "90214"
87198
86107
  },
86108
+ job_subtype: "delivery",
87199
86109
  progress: {
87200
86110
  currentStep: 1,
87201
86111
  totalSteps: 4,
@@ -87235,6 +86145,7 @@ const staticTableData = [
87235
86145
  state: "CA",
87236
86146
  zip: "90215"
87237
86147
  },
86148
+ job_subtype: "delivery",
87238
86149
  progress: {
87239
86150
  currentStep: 3,
87240
86151
  totalSteps: 4,
@@ -87274,6 +86185,7 @@ const staticTableData = [
87274
86185
  state: "CA",
87275
86186
  zip: "90216"
87276
86187
  },
86188
+ job_subtype: "delivery",
87277
86189
  progress: {
87278
86190
  currentStep: 4,
87279
86191
  totalSteps: 4,
@@ -87313,6 +86225,7 @@ const staticTableData = [
87313
86225
  state: "CA",
87314
86226
  zip: "90217"
87315
86227
  },
86228
+ job_subtype: "delivery",
87316
86229
  progress: {
87317
86230
  currentStep: 1,
87318
86231
  totalSteps: 4,
@@ -87352,6 +86265,7 @@ const staticTableData = [
87352
86265
  state: "CA",
87353
86266
  zip: "90218"
87354
86267
  },
86268
+ job_subtype: "delivery",
87355
86269
  progress: {
87356
86270
  currentStep: 2,
87357
86271
  totalSteps: 4,
@@ -87443,9 +86357,25 @@ const mockColumns = [
87443
86357
  dataIndex: "progress",
87444
86358
  render: (progress) => {
87445
86359
  if (!progress) return null;
86360
+ let firstBarData, secondBarData;
86361
+ if ("firstBarData" in progress) {
86362
+ firstBarData = progress.firstBarData;
86363
+ secondBarData = progress.secondBarData;
86364
+ } else {
86365
+ firstBarData = {
86366
+ text: progress.steps.pickup.text,
86367
+ status: progress.steps.pickup.status,
86368
+ value: progress.steps.pickup.value
86369
+ };
86370
+ secondBarData = {
86371
+ text: progress.steps.transit.text,
86372
+ status: progress.steps.transit.status,
86373
+ value: progress.steps.transit.value
86374
+ };
86375
+ }
87446
86376
  return React__default.createElement(Progress, {
87447
- firstBarData: progress.firstBarData,
87448
- secondBarData: progress.secondBarData,
86377
+ firstBarData,
86378
+ secondBarData,
87449
86379
  width: 150,
87450
86380
  height: 20,
87451
86381
  isProgressCombined: true