@pingux/astro 2.140.0-alpha.1 → 2.140.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/lib/api/users.js +22 -0
  2. package/lib/cjs/api/users.d.ts +2 -0
  3. package/lib/cjs/api/users.js +32 -0
  4. package/lib/cjs/components/ComboBoxField/ComboBoxField.stories.js +117 -91
  5. package/lib/cjs/components/DataTable/DataTable.stories.js +114 -67
  6. package/lib/cjs/components/LinkSelectField/LinkSelectField.stories.js +73 -47
  7. package/lib/cjs/components/MultivaluesField/MultivaluesField.stories.js +141 -119
  8. package/lib/cjs/components/SelectField/SelectField.stories.js +78 -51
  9. package/lib/cjs/mocks/browser.d.ts +1 -0
  10. package/lib/cjs/mocks/browser.js +11 -0
  11. package/lib/cjs/mocks/constants/index.d.ts +3 -0
  12. package/lib/cjs/mocks/constants/index.js +13 -0
  13. package/lib/cjs/mocks/handlers/users.d.ts +1 -0
  14. package/lib/cjs/mocks/handlers/users.js +107 -0
  15. package/lib/cjs/mocks/handlers.d.ts +1 -0
  16. package/lib/cjs/mocks/handlers.js +13 -0
  17. package/lib/cjs/mocks/responses/users.d.ts +14 -0
  18. package/lib/cjs/mocks/responses/users.js +3572 -0
  19. package/lib/cjs/mocks/types/users.d.ts +73 -0
  20. package/lib/cjs/mocks/types/users.js +6 -0
  21. package/lib/cjs/types/dataTable.d.ts +5 -4
  22. package/lib/components/ComboBoxField/ComboBoxField.stories.js +118 -91
  23. package/lib/components/DataTable/DataTable.stories.js +114 -67
  24. package/lib/components/LinkSelectField/LinkSelectField.stories.js +73 -46
  25. package/lib/components/MultivaluesField/MultivaluesField.stories.js +140 -119
  26. package/lib/components/SelectField/SelectField.stories.js +78 -50
  27. package/lib/mocks/browser.js +3 -0
  28. package/lib/mocks/constants/index.js +3 -0
  29. package/lib/mocks/handlers/users.js +97 -0
  30. package/lib/mocks/handlers.js +4 -0
  31. package/lib/mocks/responses/users.js +3564 -0
  32. package/lib/mocks/types/users.js +1 -0
  33. package/package.json +7 -1
@@ -10,8 +10,8 @@ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
10
10
  import _Object$create from "@babel/runtime-corejs3/core-js-stable/object/create";
11
11
  import _Object$getPrototypeOf from "@babel/runtime-corejs3/core-js-stable/object/get-prototype-of";
12
12
  import _Object$setPrototypeOf from "@babel/runtime-corejs3/core-js-stable/object/set-prototype-of";
13
+ import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
13
14
  import _reverseInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reverse";
14
- import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
15
15
  import _typeof from "@babel/runtime-corejs3/helpers/esm/typeof";
16
16
  import _slicedToArray from "@babel/runtime-corejs3/helpers/esm/slicedToArray";
17
17
  import _asyncToGenerator from "@babel/runtime-corejs3/helpers/esm/asyncToGenerator";
@@ -20,17 +20,20 @@ import _defineProperty from "@babel/runtime-corejs3/helpers/esm/defineProperty";
20
20
  import _Number$isNaN from "@babel/runtime-corejs3/core-js-stable/number/is-nan";
21
21
  import _parseFloat from "@babel/runtime-corejs3/core-js-stable/parse-float";
22
22
  import _sortInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/sort";
23
- import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
24
- import _setTimeout from "@babel/runtime-corejs3/core-js-stable/set-timeout";
25
- function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context8; _forEachInstanceProperty(_context8 = ["next", "throw", "return"]).call(_context8, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context9; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty(_context9 = this.tryEntries).call(_context9, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
23
+ import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
24
+ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
25
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context11; _forEachInstanceProperty(_context11 = ["next", "throw", "return"]).call(_context11, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context12; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty(_context12 = this.tryEntries).call(_context12, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
26
26
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context6, _context7; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context6 = ownKeys(Object(source), !0)).call(_context6, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context7 = ownKeys(Object(source))).call(_context7, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
28
- import React, { useEffect, useState } from 'react';
27
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context9, _context10; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context9 = ownKeys(Object(source), !0)).call(_context9, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context10 = ownKeys(Object(source))).call(_context10, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
28
+ import React, { useCallback, useEffect, useState } from 'react';
29
29
  import { useAsyncList } from 'react-stately';
30
30
  import { useCollator } from '@react-aria/i18n';
31
31
  import { action } from '@storybook/addon-actions';
32
32
  import DocsLayout from '../../../.storybook/storybookDocsLayout';
33
+ import { getAllUsers } from '../../api/users';
33
34
  import { Box, DataTable, DataTableBadge, DataTableBody, DataTableCell, DataTableColumn, DataTableHeader, DataTableMenu, DataTableRow } from '../../index';
35
+ import { LIMIT } from '../../mocks/constants';
36
+ import loadingStates from '../../utils/devUtils/constants/loadingStates';
34
37
  import { ariaAttributeBaseArgTypes } from '../../utils/docUtils/ariaAttributes';
35
38
  import DataTableReadme from './DataTable.mdx';
36
39
  import { jsx as ___EmotionJSX } from "@emotion/react";
@@ -799,85 +802,129 @@ ControlledSelection.parameters = {
799
802
  }
800
803
  };
801
804
  export var AsyncLoading = function AsyncLoading(args) {
802
- /**
803
- * isChromatic checks if the code is running in Chromatic environment
804
- * @returns {Boolean}
805
- * Source: https://www.chromatic.com/docs/ischromatic
806
- * */
807
-
808
805
  var columns = [{
809
806
  name: 'Name',
810
- key: 'name'
807
+ key: 'name',
808
+ isSortable: false
811
809
  }, {
812
- name: 'Height',
813
- key: 'height'
810
+ name: 'Username',
811
+ key: 'username',
812
+ isSortable: true
814
813
  }, {
815
- name: 'Mass',
816
- key: 'mass'
814
+ name: 'Email',
815
+ key: 'email',
816
+ isSortable: true
817
817
  }, {
818
- name: 'Birth Year',
819
- key: 'birth_year'
818
+ name: 'Updated At',
819
+ key: 'updatedAt',
820
+ isSortable: true
820
821
  }];
821
- var list = useAsyncList({
822
- load: function load(_ref2) {
823
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
824
- var signal, cursor, res, json;
825
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
826
- while (1) switch (_context5.prev = _context5.next) {
827
- case 0:
828
- signal = _ref2.signal, cursor = _ref2.cursor;
829
- if (cursor) {
830
- // eslint-disable-next-line no-param-reassign
831
- cursor = cursor.replace(/^http:\/\//i, 'https://');
832
- }
833
- _context5.next = 4;
834
- return fetch(cursor || 'https://swapi.py4e.com/api/people/?search=', {
835
- signal: signal
836
- });
837
- case 4:
838
- res = _context5.sent;
839
- _context5.next = 7;
840
- return res.json();
841
- case 7:
842
- json = _context5.sent;
843
- _context5.next = 10;
844
- return new _Promise(function (resolve) {
845
- return _setTimeout(resolve, cursor ? 2000 : 3000);
846
- });
847
- case 10:
848
- return _context5.abrupt("return", {
849
- items: json.results,
850
- cursor: json.next
851
- });
852
- case 11:
853
- case "end":
854
- return _context5.stop();
855
- }
856
- }, _callee5);
857
- }))();
858
- }
859
- });
822
+ var _useState5 = useState([]),
823
+ _useState6 = _slicedToArray(_useState5, 2),
824
+ data = _useState6[0],
825
+ setData = _useState6[1];
826
+ var _useState7 = useState(LIMIT),
827
+ _useState8 = _slicedToArray(_useState7, 2),
828
+ limit = _useState8[0],
829
+ setLimit = _useState8[1];
830
+ var _useState9 = useState(0),
831
+ _useState10 = _slicedToArray(_useState9, 2),
832
+ dataSize = _useState10[0],
833
+ setDataSize = _useState10[1];
834
+ var _useState11 = useState(loadingStates.LOADING),
835
+ _useState12 = _slicedToArray(_useState11, 2),
836
+ loading = _useState12[0],
837
+ setLoading = _useState12[1];
838
+ var _useState13 = useState(undefined),
839
+ _useState14 = _slicedToArray(_useState13, 2),
840
+ sortDescriptor = _useState14[0],
841
+ setSortDescriptor = _useState14[1];
842
+ var fetchData = useCallback( /*#__PURE__*/function () {
843
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(currentLimit) {
844
+ var response, json;
845
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
846
+ while (1) switch (_context5.prev = _context5.next) {
847
+ case 0:
848
+ _context5.prev = 0;
849
+ _context5.next = 3;
850
+ return getAllUsers(currentLimit, '', 3000);
851
+ case 3:
852
+ response = _context5.sent;
853
+ _context5.next = 6;
854
+ return response.json();
855
+ case 6:
856
+ json = _context5.sent;
857
+ if (response.ok) {
858
+ setData(json.body._embedded.users || []);
859
+ setDataSize(json.body.count);
860
+ }
861
+ setLoading(loadingStates.IDLE);
862
+ _context5.next = 15;
863
+ break;
864
+ case 11:
865
+ _context5.prev = 11;
866
+ _context5.t0 = _context5["catch"](0);
867
+ console.error('Fetch error:', _context5.t0);
868
+ setLoading(loadingStates.ERROR);
869
+ case 15:
870
+ case "end":
871
+ return _context5.stop();
872
+ }
873
+ }, _callee5, null, [[0, 11]]);
874
+ }));
875
+ return function (_x) {
876
+ return _ref2.apply(this, arguments);
877
+ };
878
+ }(), []);
879
+ var handleLoadMore = function handleLoadMore() {
880
+ if (limit >= dataSize) return;
881
+ setLoading(loadingStates.LOADING_MORE);
882
+ setLimit(function (prev) {
883
+ return prev + LIMIT;
884
+ });
885
+ };
886
+ useEffect(function () {
887
+ fetchData(limit);
888
+ }, [fetchData, limit]);
889
+ var handleSortChange = function handleSortChange(descriptor) {
890
+ var _context6, _context7;
891
+ var _descriptor$direction = descriptor.direction,
892
+ direction = _descriptor$direction === void 0 ? 'ascending' : _descriptor$direction,
893
+ _descriptor$column = descriptor.column,
894
+ column = _descriptor$column === void 0 ? 'username' : _descriptor$column;
895
+ var sorted = _sortInstanceProperty(_context6 = _sliceInstanceProperty(data).call(data)).call(_context6, function (a, b) {
896
+ var cmp = a[column] < b[column] ? -1 : 1;
897
+ if (direction === 'descending') {
898
+ cmp *= -1;
899
+ }
900
+ return cmp;
901
+ });
902
+ setData(_concatInstanceProperty(_context7 = []).call(_context7, sorted));
903
+ setSortDescriptor(descriptor);
904
+ };
860
905
  return ___EmotionJSX(DataTable, _extends({}, args, {
861
906
  "aria-label": "Custom content table",
862
907
  onAction: action('onAction'),
863
908
  density: "compact",
864
- scale: "medium"
909
+ scale: "medium",
910
+ sortDescriptor: sortDescriptor,
911
+ onSortChange: handleSortChange
865
912
  }), ___EmotionJSX(DataTableHeader, {
866
913
  columns: columns
867
914
  }, function (column) {
868
915
  return ___EmotionJSX(DataTableColumn, _extends({}, getCellProps(column.key, false), {
869
- minWidth: 155
916
+ minWidth: 155,
917
+ allowsSorting: column.isSortable
870
918
  }), column.name);
871
919
  }), ___EmotionJSX(DataTableBody, {
872
- items: list.items,
873
- loadingState: list.loadingState,
874
- onLoadMore: list.loadMore
920
+ items: data,
921
+ loadingState: loading,
922
+ onLoadMore: handleLoadMore
875
923
  }, function (item) {
924
+ var _context8;
876
925
  return ___EmotionJSX(DataTableRow, {
877
- key: item.name
878
- }, function (columnKey) {
879
- return ___EmotionJSX(DataTableCell, getCellProps(columnKey, false), item[columnKey]);
880
- });
926
+ key: item.id
927
+ }, ___EmotionJSX(DataTableCell, getCellProps('name', false), _concatInstanceProperty(_context8 = "".concat(item.name.given, " ")).call(_context8, item.name.family)), ___EmotionJSX(DataTableCell, getCellProps('username', false), item.username), ___EmotionJSX(DataTableCell, getCellProps('email', false), item.email), ___EmotionJSX(DataTableCell, getCellProps('updatedAt', false), new Date(item.updatedAt).toLocaleDateString()));
881
928
  }));
882
929
  };
883
930
 
@@ -10,6 +10,7 @@ import _Symbol from "@babel/runtime-corejs3/core-js-stable/symbol";
10
10
  import _Object$create from "@babel/runtime-corejs3/core-js-stable/object/create";
11
11
  import _Object$getPrototypeOf from "@babel/runtime-corejs3/core-js-stable/object/get-prototype-of";
12
12
  import _Object$setPrototypeOf from "@babel/runtime-corejs3/core-js-stable/object/set-prototype-of";
13
+ import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
13
14
  import _reverseInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/reverse";
14
15
  import _sliceInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/slice";
15
16
  import _typeof from "@babel/runtime-corejs3/helpers/esm/typeof";
@@ -21,15 +22,14 @@ var _context, _context2;
21
22
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = _Object$defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof _Symbol ? _Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return _Object$defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = _Object$create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = _Object$getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype); function defineIteratorMethods(prototype) { var _context6; _forEachInstanceProperty(_context6 = ["next", "throw", "return"]).call(_context6, function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], _forEachInstanceProperty(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = _Object$create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = _Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return _reverseInstanceProperty(keys).call(keys), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { var _context7; if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, _forEachInstanceProperty(_context7 = this.tryEntries).call(_context7, resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
22
23
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
23
24
  import _fillInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/fill";
24
- import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
25
- import _setTimeout from "@babel/runtime-corejs3/core-js-stable/set-timeout";
26
25
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
27
26
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context4, _context5; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context4 = ownKeys(Object(source), !0)).call(_context4, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context5 = ownKeys(Object(source))).call(_context5, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
28
- import React, { useState } from 'react';
27
+ import React, { useCallback, useEffect, useState } from 'react';
29
28
  import { OverlayProvider } from 'react-aria';
30
- import { useAsyncList } from 'react-stately';
31
29
  import DocsLayout from '../../../.storybook/storybookDocsLayout';
30
+ import { getAllUsers } from '../../api/users';
32
31
  import { Box, Item, LinkSelectField, Section } from '../../index';
32
+ import { LIMIT } from '../../mocks/constants';
33
33
  import { ariaAttributeBaseArgTypes } from '../../utils/docUtils/ariaAttributes';
34
34
  import { inputFieldAttributeBaseArgTypes } from '../../utils/docUtils/fieldAttributes';
35
35
  import { statusArgTypes } from '../../utils/docUtils/statusProp';
@@ -243,50 +243,77 @@ DynamicItems.parameters = {
243
243
  }
244
244
  };
245
245
  export var AsyncLoading = function AsyncLoading() {
246
- // This example uses `useAsyncList` from "@react-stately/data"
247
- var list = useAsyncList({
248
- load: function load(_ref) {
249
- return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
250
- var signal, cursor, res, json;
251
- return _regeneratorRuntime().wrap(function _callee$(_context3) {
252
- while (1) switch (_context3.prev = _context3.next) {
253
- case 0:
254
- signal = _ref.signal, cursor = _ref.cursor;
255
- _context3.next = 3;
256
- return fetch(cursor || 'https://pokeapi.co/api/v2/pokemon', {
257
- signal: signal
258
- });
259
- case 3:
260
- res = _context3.sent;
261
- _context3.next = 6;
262
- return res.json();
263
- case 6:
264
- json = _context3.sent;
265
- _context3.next = 9;
266
- return new _Promise(function (resolve) {
267
- return _setTimeout(resolve, cursor ? 2000 : 3000);
268
- });
269
- case 9:
270
- return _context3.abrupt("return", {
271
- items: json.results,
272
- cursor: json.next
273
- });
274
- case 10:
275
- case "end":
276
- return _context3.stop();
277
- }
278
- }, _callee);
279
- }))();
280
- }
281
- });
246
+ var _useState5 = useState([]),
247
+ _useState6 = _slicedToArray(_useState5, 2),
248
+ data = _useState6[0],
249
+ setData = _useState6[1];
250
+ var _useState7 = useState(LIMIT),
251
+ _useState8 = _slicedToArray(_useState7, 2),
252
+ limit = _useState8[0],
253
+ setLimit = _useState8[1];
254
+ var _useState9 = useState(0),
255
+ _useState10 = _slicedToArray(_useState9, 2),
256
+ dataSize = _useState10[0],
257
+ setDataSize = _useState10[1];
258
+ var _useState11 = useState(true),
259
+ _useState12 = _slicedToArray(_useState11, 2),
260
+ loading = _useState12[0],
261
+ setLoading = _useState12[1];
262
+ var fetchData = useCallback( /*#__PURE__*/function () {
263
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(currentLimit) {
264
+ var response, json;
265
+ return _regeneratorRuntime().wrap(function _callee$(_context3) {
266
+ while (1) switch (_context3.prev = _context3.next) {
267
+ case 0:
268
+ _context3.prev = 0;
269
+ _context3.next = 3;
270
+ return getAllUsers(currentLimit);
271
+ case 3:
272
+ response = _context3.sent;
273
+ _context3.next = 6;
274
+ return response.json();
275
+ case 6:
276
+ json = _context3.sent;
277
+ if (response.ok) {
278
+ setData(json.body._embedded.users || []);
279
+ setDataSize(json.body.count);
280
+ }
281
+ setLoading(false);
282
+ _context3.next = 15;
283
+ break;
284
+ case 11:
285
+ _context3.prev = 11;
286
+ _context3.t0 = _context3["catch"](0);
287
+ console.error('Fetch error:', _context3.t0);
288
+ setLoading(false);
289
+ case 15:
290
+ case "end":
291
+ return _context3.stop();
292
+ }
293
+ }, _callee, null, [[0, 11]]);
294
+ }));
295
+ return function (_x) {
296
+ return _ref.apply(this, arguments);
297
+ };
298
+ }(), []);
299
+ var handleLoadMore = function handleLoadMore() {
300
+ if (limit >= dataSize) return;
301
+ setLoading(true);
302
+ setLimit(function (prevLimit) {
303
+ return prevLimit + LIMIT;
304
+ });
305
+ };
306
+ useEffect(function () {
307
+ fetchData(limit);
308
+ }, [fetchData, limit]);
282
309
  return ___EmotionJSX(OverlayProvider, null, ___EmotionJSX(LinkSelectField, {
283
- label: "Pick a Pokemon",
284
- items: list.items,
285
- isLoading: list.isLoading,
286
- onLoadMore: list.loadMore
310
+ label: "Pick a User",
311
+ items: data,
312
+ isLoading: loading,
313
+ onLoadMore: handleLoadMore
287
314
  }, function (item) {
288
315
  return ___EmotionJSX(Item, {
289
- key: item.name
290
- }, item.name);
316
+ key: item.id
317
+ }, item.name.given);
291
318
  }));
292
319
  };