@pingux/astro 2.41.0 → 2.42.0-alpha.0

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 (30) hide show
  1. package/lib/cjs/components/Card/Card.d.ts +4 -0
  2. package/lib/cjs/components/Card/Card.js +10 -51
  3. package/lib/cjs/components/Card/Card.stories.d.ts +24 -0
  4. package/lib/cjs/components/Card/Card.stories.js +13 -12
  5. package/lib/cjs/components/Card/Card.styles.d.ts +44 -0
  6. package/lib/cjs/components/Card/cardAttributes.d.ts +1 -0
  7. package/lib/cjs/components/Card/cardAttributes.js +33 -0
  8. package/lib/cjs/components/Card/index.d.ts +1 -0
  9. package/lib/cjs/components/TreeView/TreeView.js +10 -5
  10. package/lib/cjs/components/TreeView/TreeView.stories.js +169 -3
  11. package/lib/cjs/components/TreeView/TreeView.test.js +130 -9
  12. package/lib/cjs/components/TreeView/TreeViewRow.js +5 -3
  13. package/lib/cjs/components/TreeView/TreeViewSection.js +32 -3
  14. package/lib/cjs/hooks/useField/useField.d.ts +1 -0
  15. package/lib/cjs/types/box.d.ts +2 -0
  16. package/lib/cjs/types/card.d.ts +5 -0
  17. package/lib/cjs/types/card.js +6 -0
  18. package/lib/cjs/types/index.d.ts +1 -0
  19. package/lib/cjs/types/index.js +21 -10
  20. package/lib/components/Card/Card.js +11 -52
  21. package/lib/components/Card/Card.stories.js +14 -12
  22. package/lib/components/Card/cardAttributes.js +25 -0
  23. package/lib/components/TreeView/TreeView.js +10 -5
  24. package/lib/components/TreeView/TreeView.stories.js +161 -1
  25. package/lib/components/TreeView/TreeView.test.js +130 -9
  26. package/lib/components/TreeView/TreeViewRow.js +5 -3
  27. package/lib/components/TreeView/TreeViewSection.js +34 -5
  28. package/lib/types/card.js +1 -0
  29. package/lib/types/index.js +1 -0
  30. package/package.json +1 -1
@@ -40,8 +40,8 @@ var _context; // Needs to be added to each components test file
40
40
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
41
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
42
42
  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; }
43
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context5, _context6; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context5 = ownKeys(Object(source), !0)).call(_context5, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context6 = ownKeys(Object(source))).call(_context6, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
44
- 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 _context3; _forEachInstanceProperty(_context3 = ["next", "throw", "return"]).call(_context3, 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 _context4; 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(_context4 = this.tryEntries).call(_context4, 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; }
43
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context7, _context8; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context7 = ownKeys(Object(source), !0)).call(_context7, function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context8 = ownKeys(Object(source))).call(_context8, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
44
+ 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 _context5; _forEachInstanceProperty(_context5 = ["next", "throw", "return"]).call(_context5, 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 _context6; 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(_context6 = this.tryEntries).call(_context6, 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; }
45
45
  var testId = 'test-TreeView';
46
46
  var defaultProps = {
47
47
  'data-testid': testId,
@@ -158,6 +158,46 @@ var TreeViewComponent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref
158
158
  });
159
159
  });
160
160
  });
161
+ var asyncData = [{
162
+ title: 'Item1',
163
+ items: []
164
+ }, {
165
+ title: 'Item2',
166
+ items: []
167
+ }, {
168
+ title: 'Item3'
169
+ }, {
170
+ title: 'Item4',
171
+ items: []
172
+ }];
173
+ var AsyncTreeViewComponent = function AsyncTreeViewComponent(props) {
174
+ var tree = (0, _reactStately.useTreeData)({
175
+ initialItems: asyncData,
176
+ getKey: function getKey(item) {
177
+ return item.title;
178
+ },
179
+ getChildren: function getChildren(item) {
180
+ return item.items;
181
+ }
182
+ });
183
+ var loadingNodes = [];
184
+ return (0, _react2.jsx)(_["default"], (0, _extends2["default"])({}, defaultProps, props, {
185
+ items: tree.items,
186
+ tree: tree,
187
+ isLoading: loadingNodes,
188
+ "aria-label": "Example Tree"
189
+ }), function (section) {
190
+ return (0, _react2.jsx)(_index.Item, {
191
+ key: section.key,
192
+ items: section.children,
193
+ title: section.key,
194
+ hasChildren: section.value.items && true,
195
+ customProp: {
196
+ testp: 1
197
+ }
198
+ });
199
+ });
200
+ };
161
201
  TreeViewComponent.propTypes = {
162
202
  data: _propTypes["default"].arrayOf(_propTypes["default"].shape({}))
163
203
  };
@@ -313,6 +353,87 @@ test('disabledKeys prop disables items in the tree -- rendering them unclickable
313
353
  expect(thisItem).not.toHaveClass('is-selected');
314
354
  expect(thisItem).toHaveAttribute('aria-selected', 'false');
315
355
  });
356
+ describe('loadingState', function () {
357
+ test('should not render loader if tree item is not expanded', function () {
358
+ (0, _testWrapper.render)((0, _react2.jsx)(AsyncTreeViewComponent, {
359
+ loadingNodes: [{
360
+ node: 'Item2',
361
+ loadingState: true
362
+ }]
363
+ }));
364
+ expect(_testWrapper.screen.queryByRole('alert')).not.toBeInTheDocument();
365
+ });
366
+ test('should render loader if tree item is expanded', function () {
367
+ (0, _testWrapper.render)((0, _react2.jsx)(AsyncTreeViewComponent, {
368
+ loadingNodes: [{
369
+ node: 'Item1',
370
+ loadingState: true
371
+ }]
372
+ }));
373
+ var buttons = _testWrapper.screen.queryAllByRole('button');
374
+ _userEvent["default"].click(buttons[0]);
375
+ var listItems = _testWrapper.screen.getAllByRole('row');
376
+ var thisItem = listItems[0];
377
+ var loader = (0, _testWrapper.within)(thisItem).getByRole('alert');
378
+ expect(loader).toBeInTheDocument();
379
+ });
380
+ test('should hide loader after children are added to the tree item', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
381
+ var buttons;
382
+ return _regeneratorRuntime().wrap(function _callee$(_context2) {
383
+ while (1) switch (_context2.prev = _context2.next) {
384
+ case 0:
385
+ (0, _testWrapper.render)((0, _react2.jsx)(AsyncTreeViewComponent, {
386
+ loadingNodes: [{
387
+ node: 'Item1',
388
+ loadingState: true
389
+ }]
390
+ }));
391
+ buttons = _testWrapper.screen.queryAllByRole('button');
392
+ _testWrapper.fireEvent.click(buttons[0]);
393
+ (0, _testWrapper.render)((0, _react2.jsx)(AsyncTreeViewComponent, {
394
+ loadingNodes: [{
395
+ node: 'Item1',
396
+ loadingState: false
397
+ }]
398
+ }));
399
+ _testWrapper.fireEvent.click(buttons[0]);
400
+ expect(_testWrapper.screen.queryByRole('alert')).not.toBeInTheDocument();
401
+ case 6:
402
+ case "end":
403
+ return _context2.stop();
404
+ }
405
+ }, _callee);
406
+ })));
407
+ test('should add loader to item without children and not other expanded items', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
408
+ var buttons, loader;
409
+ return _regeneratorRuntime().wrap(function _callee2$(_context3) {
410
+ while (1) switch (_context3.prev = _context3.next) {
411
+ case 0:
412
+ (0, _testWrapper.render)((0, _react2.jsx)(AsyncTreeViewComponent, {
413
+ loadingNodes: [{
414
+ node: 'Item1',
415
+ loadingState: true
416
+ }, {
417
+ node: 'Item2',
418
+ loadingState: true
419
+ }, {
420
+ node: 'Item4',
421
+ loadingState: false
422
+ }]
423
+ }));
424
+ buttons = _testWrapper.screen.queryAllByRole('button');
425
+ _userEvent["default"].click(buttons[0]);
426
+ _userEvent["default"].click(buttons[1]);
427
+ _userEvent["default"].click(buttons[2]);
428
+ loader = _testWrapper.screen.getAllByRole('alert');
429
+ expect(loader).toHaveLength(2);
430
+ case 7:
431
+ case "end":
432
+ return _context3.stop();
433
+ }
434
+ }, _callee2);
435
+ })));
436
+ });
316
437
  test('displays correct aria attributes', function () {
317
438
  (0, _testWrapper.render)((0, _react2.jsx)(TreeViewComponent, {
318
439
  data: data
@@ -376,10 +497,10 @@ test('onKeyDown does not call passed in prop call back function', function () {
376
497
  _userEvent["default"].type(thisItem, '{arrowleft}');
377
498
  expect(callback).not.toHaveBeenCalled();
378
499
  });
379
- test('onDragStart calls passed in prop call back function', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
500
+ test('onDragStart calls passed in prop call back function', /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
380
501
  var callback, secondCallback, listItems, element, target, dataTransfer;
381
- return _regeneratorRuntime().wrap(function _callee$(_context2) {
382
- while (1) switch (_context2.prev = _context2.next) {
502
+ return _regeneratorRuntime().wrap(function _callee3$(_context4) {
503
+ while (1) switch (_context4.prev = _context4.next) {
383
504
  case 0:
384
505
  callback = jest.fn();
385
506
  secondCallback = jest.fn();
@@ -418,7 +539,7 @@ test('onDragStart calls passed in prop call back function', /*#__PURE__*/(0, _as
418
539
  clientY: 51
419
540
  }));
420
541
  expect(target).toHaveAttribute('data-droptarget', 'true');
421
- _context2.next = 17;
542
+ _context4.next = 17;
422
543
  return (0, _testWrapper.fireEvent)(target, new _dndMocks.DragEvent('drop', {
423
544
  dataTransfer: dataTransfer,
424
545
  clientX: 51,
@@ -428,7 +549,7 @@ test('onDragStart calls passed in prop call back function', /*#__PURE__*/(0, _as
428
549
  (0, _testWrapper.act)(function () {
429
550
  return jest.runAllTimers();
430
551
  });
431
- _context2.next = 20;
552
+ _context4.next = 20;
432
553
  return (0, _testWrapper.fireEvent)(element, new _dndMocks.DragEvent('dragend', {
433
554
  dataTransfer: dataTransfer,
434
555
  clientX: 51,
@@ -444,9 +565,9 @@ test('onDragStart calls passed in prop call back function', /*#__PURE__*/(0, _as
444
565
  });
445
566
  case 23:
446
567
  case "end":
447
- return _context2.stop();
568
+ return _context4.stop();
448
569
  }
449
- }, _callee);
570
+ }, _callee3);
450
571
  })));
451
572
  test('items still render if there is only one provided', function () {
452
573
  var callback = jest.fn();
@@ -37,7 +37,7 @@ var _hooks = require("../../hooks");
37
37
  var _index = require("../../index");
38
38
  var _TreeViewSection = require("./TreeViewSection");
39
39
  var _react2 = require("@emotion/react");
40
- var _excluded = ["title", "mainIcon", "lastIcon", "item", "items", "isExpanded", "isDragging", "onKeyDown"];
40
+ var _excluded = ["title", "mainIcon", "lastIcon", "item", "items", "isExpanded", "hasChildren", "isDragging", "onKeyDown"];
41
41
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
42
42
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
43
  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; }
@@ -51,6 +51,7 @@ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
51
51
  item = props.item,
52
52
  items = props.items,
53
53
  isExpanded = props.isExpanded,
54
+ hasChildren = props.hasChildren,
54
55
  isDragging = props.isDragging,
55
56
  _onKeyDown = props.onKeyDown,
56
57
  others = (0, _objectWithoutProperties2["default"])(props, _excluded);
@@ -192,7 +193,7 @@ var TreeViewRow = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
192
193
  onKeyDown: function onKeyDown(e) {
193
194
  _onKeyDown(e);
194
195
  }
195
- }), (items === null || items === void 0 ? void 0 : items.length) > 0 && (0, _react2.jsx)(_index.IconButtonToggle, {
196
+ }), ((items === null || items === void 0 ? void 0 : items.length) > 0 || hasChildren) && (0, _react2.jsx)(_index.IconButtonToggle, {
196
197
  onToggle: pressIcon,
197
198
  isToggled: isExpanded,
198
199
  defaultIcon: _MenuRightIcon["default"],
@@ -245,7 +246,8 @@ TreeViewRow.propTypes = {
245
246
  key: _propTypes["default"].string
246
247
  }),
247
248
  mainIcon: _propTypes["default"].elementType,
248
- lastIcon: _propTypes["default"].elementType
249
+ lastIcon: _propTypes["default"].elementType,
250
+ hasChildren: _propTypes["default"].bool
249
251
  };
250
252
  var _default = TreeViewRow;
251
253
  exports["default"] = _default;
@@ -9,13 +9,16 @@ _Object$defineProperty(exports, "__esModule", {
9
9
  value: true
10
10
  });
11
11
  exports.removeRefFromArrayHelper = exports.onKeyDownSection = exports["default"] = exports.addRefToArrayHelper = void 0;
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/slicedToArray"));
12
13
  var _some = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/some"));
13
14
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
14
15
  var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
16
+ var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
15
17
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
16
18
  var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
17
19
  var _react = _interopRequireWildcard(require("react"));
18
20
  var _listbox = require("@react-aria/listbox");
21
+ var _visuallyHidden = require("@react-aria/visually-hidden");
19
22
  var _propTypes = _interopRequireDefault(require("prop-types"));
20
23
  var _TreeViewContext = require("../../context/TreeViewContext");
21
24
  var _index2 = require("../../index");
@@ -110,6 +113,8 @@ var TreeViewSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
110
113
  var item = props.item,
111
114
  items = props.items,
112
115
  title = props.title,
116
+ hasChildren = props.hasChildren,
117
+ loadingNodes = props.loadingNodes,
113
118
  focusManager = props.focusManager,
114
119
  onKeyDown = props.onKeyDown,
115
120
  level = props.level,
@@ -117,6 +122,7 @@ var TreeViewSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
117
122
  setSize = props.setSize;
118
123
  var key = item.key;
119
124
  var treeSectionRef = (0, _react.useRef)();
125
+
120
126
  /* istanbul ignore next */
121
127
  (0, _react.useImperativeHandle)(ref, function () {
122
128
  return treeSectionRef.current;
@@ -136,6 +142,17 @@ var TreeViewSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
136
142
  isDisabled = _useOption.isDisabled;
137
143
  var isExpanded = state.expandedKeys.has(key);
138
144
  var isDragging = dragState.isDragging(item.key);
145
+ var _useState = (0, _react.useState)(),
146
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
147
+ loaderState = _useState2[0],
148
+ setLoaderState = _useState2[1];
149
+ (0, _react.useEffect)(function () {
150
+ if (loadingNodes) {
151
+ (0, _forEach["default"])(loadingNodes).call(loadingNodes, function (loader) {
152
+ if (loader.node === title) setLoaderState(loader.loadingState);
153
+ });
154
+ }
155
+ }, [loadingNodes, title]);
139
156
  var onKeyDownFunction = function onKeyDownFunction(e) {
140
157
  onKeyDownSection(e, state, key, tree, isSelected, isExpanded, focusManager, flatKeyArray, refArray, pageLength, true);
141
158
  if (onKeyDown) {
@@ -166,7 +183,8 @@ var TreeViewSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
166
183
  items: items,
167
184
  isDragging: isDragging,
168
185
  isExpanded: isExpanded,
169
- onKeyDown: onKeyDownFunction
186
+ onKeyDown: onKeyDownFunction,
187
+ hasChildren: hasChildren
170
188
  }), isExpanded && (0, _react2.jsx)(_index2.Box, {
171
189
  role: "rowgroup",
172
190
  key: "".concat(item.key, " ul"),
@@ -176,13 +194,22 @@ var TreeViewSection = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref)
176
194
  border: 'none'
177
195
  }
178
196
  }
179
- }, (0, _map["default"])(_context3 = (0, _from["default"])(items)).call(_context3, function (_item, _index) {
197
+ }, (0, _react2.jsx)(_visuallyHidden.VisuallyHidden, {
198
+ "aria-live": "polite"
199
+ }, loaderState === false && (isExpanded && items.length > 0 ? ' Loading successful' : 'Loading unsuccessful')), loaderState ? (0, _react2.jsx)(_index2.Loader, {
200
+ color: "active",
201
+ ml: "31px"
202
+ }) : (0, _map["default"])(_context3 = (0, _from["default"])(items)).call(_context3, function (_item, _index) {
180
203
  var _item$children;
181
- return (0, _TreeView.SectionOrItemRender)(((_item$children = _item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) > 0, (0, _react2.jsx)(TreeViewSection, {
204
+ return (0, _TreeView.SectionOrItemRender)(
205
+ // _item.value.items?.length > 0 || _item.value.items,
206
+ ((_item$children = _item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) > 0 || _item.value.items, (0, _react2.jsx)(TreeViewSection, {
182
207
  item: _item,
183
208
  items: _item.children,
184
209
  title: _item.value.title,
185
210
  key: _item.value.title,
211
+ hasChildren: _item.value.items && true,
212
+ loadingNodes: loadingNodes,
186
213
  focusManager: focusManager,
187
214
  level: level + 1,
188
215
  position: _index,
@@ -211,6 +238,8 @@ TreeViewSection.propTypes = {
211
238
  key: _propTypes["default"].string
212
239
  }),
213
240
  title: _propTypes["default"].string,
241
+ hasChildren: _propTypes["default"].bool,
242
+ loadingNodes: _propTypes["default"].arrayOf(_propTypes["default"].shape({})),
214
243
  focusManager: _propTypes["default"].shape({}),
215
244
  onKeyDown: _propTypes["default"].func,
216
245
  level: _propTypes["default"].number,
@@ -115,6 +115,7 @@ declare const useField: <T>(props: UseFieldProps<T>) => {
115
115
  bg?: import("theme-ui").StylePropertyValue<string | undefined>;
116
116
  isRow?: boolean | undefined;
117
117
  isDisabled?: boolean | undefined;
118
+ isFocused?: boolean | undefined;
118
119
  variant?: string | undefined;
119
120
  as?: string | number | boolean | import("react").ComponentClass<any, any> | import("react").FunctionComponent<any> | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | Iterable<import("react").ReactNode> | import("react").ReactPortal | null | undefined;
120
121
  style?: string | import("react").CSSProperties | undefined;
@@ -7,4 +7,6 @@ export interface BoxProps extends StyleProps, DOMAttributes {
7
7
  isRow?: boolean;
8
8
  /** Whether the box is disabled. */
9
9
  isDisabled?: boolean;
10
+ /** Whether the box is focused. */
11
+ isFocused?: boolean;
10
12
  }
@@ -0,0 +1,5 @@
1
+ import { BoxProps } from './box';
2
+ import { DOMAttributes, HoverProps, PressProps } from './shared';
3
+ export interface CardProps extends PressProps, HoverProps, BoxProps, DOMAttributes {
4
+ tabIndex?: number | string;
5
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
@@ -2,6 +2,7 @@ export * from './badge';
2
2
  export * from './box';
3
3
  export * from './bracket';
4
4
  export * from './button';
5
+ export * from './card';
5
6
  export * from './icon';
6
7
  export * from './item';
7
8
  export * from './link';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13;
3
+ var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8, _context9, _context10, _context11, _context12, _context13, _context14;
4
4
  var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property");
5
5
  var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each");
6
6
  var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
@@ -51,8 +51,19 @@ _forEachInstanceProperty(_context4 = _Object$keys(_button)).call(_context4, func
51
51
  }
52
52
  });
53
53
  });
54
+ var _card = require("./card");
55
+ _forEachInstanceProperty(_context5 = _Object$keys(_card)).call(_context5, function (key) {
56
+ if (key === "default" || key === "__esModule") return;
57
+ if (key in exports && exports[key] === _card[key]) return;
58
+ _Object$defineProperty(exports, key, {
59
+ enumerable: true,
60
+ get: function get() {
61
+ return _card[key];
62
+ }
63
+ });
64
+ });
54
65
  var _icon = require("./icon");
55
- _forEachInstanceProperty(_context5 = _Object$keys(_icon)).call(_context5, function (key) {
66
+ _forEachInstanceProperty(_context6 = _Object$keys(_icon)).call(_context6, function (key) {
56
67
  if (key === "default" || key === "__esModule") return;
57
68
  if (key in exports && exports[key] === _icon[key]) return;
58
69
  _Object$defineProperty(exports, key, {
@@ -63,7 +74,7 @@ _forEachInstanceProperty(_context5 = _Object$keys(_icon)).call(_context5, functi
63
74
  });
64
75
  });
65
76
  var _item = require("./item");
66
- _forEachInstanceProperty(_context6 = _Object$keys(_item)).call(_context6, function (key) {
77
+ _forEachInstanceProperty(_context7 = _Object$keys(_item)).call(_context7, function (key) {
67
78
  if (key === "default" || key === "__esModule") return;
68
79
  if (key in exports && exports[key] === _item[key]) return;
69
80
  _Object$defineProperty(exports, key, {
@@ -74,7 +85,7 @@ _forEachInstanceProperty(_context6 = _Object$keys(_item)).call(_context6, functi
74
85
  });
75
86
  });
76
87
  var _link = require("./link");
77
- _forEachInstanceProperty(_context7 = _Object$keys(_link)).call(_context7, function (key) {
88
+ _forEachInstanceProperty(_context8 = _Object$keys(_link)).call(_context8, function (key) {
78
89
  if (key === "default" || key === "__esModule") return;
79
90
  if (key in exports && exports[key] === _link[key]) return;
80
91
  _Object$defineProperty(exports, key, {
@@ -85,7 +96,7 @@ _forEachInstanceProperty(_context7 = _Object$keys(_link)).call(_context7, functi
85
96
  });
86
97
  });
87
98
  var _loader = require("./loader");
88
- _forEachInstanceProperty(_context8 = _Object$keys(_loader)).call(_context8, function (key) {
99
+ _forEachInstanceProperty(_context9 = _Object$keys(_loader)).call(_context9, function (key) {
89
100
  if (key === "default" || key === "__esModule") return;
90
101
  if (key in exports && exports[key] === _loader[key]) return;
91
102
  _Object$defineProperty(exports, key, {
@@ -96,7 +107,7 @@ _forEachInstanceProperty(_context8 = _Object$keys(_loader)).call(_context8, func
96
107
  });
97
108
  });
98
109
  var _popoverContainer = require("./popoverContainer");
99
- _forEachInstanceProperty(_context9 = _Object$keys(_popoverContainer)).call(_context9, function (key) {
110
+ _forEachInstanceProperty(_context10 = _Object$keys(_popoverContainer)).call(_context10, function (key) {
100
111
  if (key === "default" || key === "__esModule") return;
101
112
  if (key in exports && exports[key] === _popoverContainer[key]) return;
102
113
  _Object$defineProperty(exports, key, {
@@ -107,7 +118,7 @@ _forEachInstanceProperty(_context9 = _Object$keys(_popoverContainer)).call(_cont
107
118
  });
108
119
  });
109
120
  var _separator = require("./separator");
110
- _forEachInstanceProperty(_context10 = _Object$keys(_separator)).call(_context10, function (key) {
121
+ _forEachInstanceProperty(_context11 = _Object$keys(_separator)).call(_context11, function (key) {
111
122
  if (key === "default" || key === "__esModule") return;
112
123
  if (key in exports && exports[key] === _separator[key]) return;
113
124
  _Object$defineProperty(exports, key, {
@@ -118,7 +129,7 @@ _forEachInstanceProperty(_context10 = _Object$keys(_separator)).call(_context10,
118
129
  });
119
130
  });
120
131
  var _shared = require("./shared");
121
- _forEachInstanceProperty(_context11 = _Object$keys(_shared)).call(_context11, function (key) {
132
+ _forEachInstanceProperty(_context12 = _Object$keys(_shared)).call(_context12, function (key) {
122
133
  if (key === "default" || key === "__esModule") return;
123
134
  if (key in exports && exports[key] === _shared[key]) return;
124
135
  _Object$defineProperty(exports, key, {
@@ -129,7 +140,7 @@ _forEachInstanceProperty(_context11 = _Object$keys(_shared)).call(_context11, fu
129
140
  });
130
141
  });
131
142
  var _tableCell = require("./tableCell");
132
- _forEachInstanceProperty(_context12 = _Object$keys(_tableCell)).call(_context12, function (key) {
143
+ _forEachInstanceProperty(_context13 = _Object$keys(_tableCell)).call(_context13, function (key) {
133
144
  if (key === "default" || key === "__esModule") return;
134
145
  if (key in exports && exports[key] === _tableCell[key]) return;
135
146
  _Object$defineProperty(exports, key, {
@@ -140,7 +151,7 @@ _forEachInstanceProperty(_context12 = _Object$keys(_tableCell)).call(_context12,
140
151
  });
141
152
  });
142
153
  var _text = require("./text");
143
- _forEachInstanceProperty(_context13 = _Object$keys(_text)).call(_context13, function (key) {
154
+ _forEachInstanceProperty(_context14 = _Object$keys(_text)).call(_context14, function (key) {
144
155
  if (key === "default" || key === "__esModule") return;
145
156
  if (key in exports && exports[key] === _text[key]) return;
146
157
  _Object$defineProperty(exports, key, {
@@ -5,8 +5,7 @@ import React, { forwardRef } from 'react';
5
5
  import { useFocusRing } from '@react-aria/focus';
6
6
  import { useHover, usePress } from '@react-aria/interactions';
7
7
  import { mergeProps } from '@react-aria/utils';
8
- import PropTypes from 'prop-types';
9
- import { useStatusClasses } from '../../hooks';
8
+ import { useLocalOrForwardRef, useStatusClasses } from '../../hooks';
10
9
  import Box from '../Box';
11
10
  import { jsx as ___EmotionJSX } from "@emotion/react";
12
11
  var Card = /*#__PURE__*/forwardRef(function (props, ref) {
@@ -20,14 +19,19 @@ var Card = /*#__PURE__*/forwardRef(function (props, ref) {
20
19
  onPressChange = props.onPressChange,
21
20
  onPressUp = props.onPressUp,
22
21
  others = _objectWithoutProperties(props, _excluded);
23
- var _useHover = useHover(props),
22
+ var cardRef = useLocalOrForwardRef(ref);
23
+ var _useHover = useHover({
24
+ onHoverStart: onHoverStart,
25
+ onHoverChange: onHoverChange,
26
+ onHoverEnd: onHoverEnd
27
+ }),
24
28
  hoverProps = _useHover.hoverProps,
25
29
  isHovered = _useHover.isHovered;
26
30
  var _useFocusRing = useFocusRing(),
27
31
  focusProps = _useFocusRing.focusProps,
28
32
  isFocusVisible = _useFocusRing.isFocusVisible;
29
33
  var _usePress = usePress({
30
- ref: ref,
34
+ ref: cardRef,
31
35
  onPress: onPress,
32
36
  onPressStart: onPressStart,
33
37
  onPressEnd: onPressEnd,
@@ -48,59 +52,14 @@ var Card = /*#__PURE__*/forwardRef(function (props, ref) {
48
52
  }),
49
53
  classNames = _useStatusClasses.classNames;
50
54
  var ariaLabel = props['aria-label'];
55
+ var mergedProps = mergeProps(others, hoverProps, pressProps, focusProps, focusWithinProps);
51
56
  return ___EmotionJSX(Box, _extends({
52
57
  "aria-label": ariaLabel,
53
58
  variant: "cards.container",
54
59
  className: classNames,
55
- ref: ref,
60
+ ref: cardRef,
56
61
  isFocused: isFocusVisible
57
- }, others, mergeProps(hoverProps, pressProps, focusProps, focusWithinProps)));
62
+ }, mergedProps));
58
63
  });
59
- Card.propTypes = {
60
- /** Defines a string value that labels the current element. */
61
- 'aria-label': PropTypes.string,
62
- /**
63
- * Handler that is called when a hover interaction starts.
64
- * (e: HoverEvent) => void
65
- */
66
- onHoverStart: PropTypes.func,
67
- /**
68
- * Handler that is called when a hover interaction ends.
69
- * (e: HoverEvent) => void
70
- */
71
- onHoverEnd: PropTypes.func,
72
- /**
73
- * Handler that is called when the hover state changes.
74
- * (isHovering: boolean) => void
75
- */
76
- onHoverChange: PropTypes.func,
77
- /**
78
- * Handler that is called when the press is released over the target.
79
- * (e: PressEvent) => void
80
- */
81
- onPress: PropTypes.func,
82
- /**
83
- * Handler that is called when a press interaction starts.
84
- * (e: PressEvent) => void
85
- */
86
- onPressStart: PropTypes.func,
87
- /**
88
- * Handler that is called when a press interaction ends, either over the target or when the
89
- * pointer leaves the target.
90
- * (e: PressEvent) => void
91
- */
92
- onPressEnd: PropTypes.func,
93
- /**
94
- * Handler that is called when the press state changes.
95
- * (isPressed: boolean) => void
96
- */
97
- onPressChange: PropTypes.func,
98
- /**
99
- * Handler that is called when a press is released over the target, regardless of whether it
100
- * started on the target or not.
101
- * (e: PressEvent) => void
102
- */
103
- onPressUp: PropTypes.func
104
- };
105
64
  Card.displayName = 'Card';
106
65
  export default Card;