@atlaskit/smart-card 25.3.1 → 25.3.3

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 (93) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/extractors/action/extract-lozenge-action-items.js +25 -0
  3. package/dist/cjs/state/actions/index.js +5 -5
  4. package/dist/cjs/state/hooks/use-invoke/index.js +16 -10
  5. package/dist/cjs/state/hooks/use-invoke/types.js +1 -6
  6. package/dist/cjs/state/hooks/usePrefetch.js +4 -3
  7. package/dist/cjs/utils/actions/create-status-update-request.js +21 -0
  8. package/dist/cjs/utils/index.js +3 -3
  9. package/dist/cjs/utils/mocks.js +8 -7
  10. package/dist/cjs/version.json +1 -1
  11. package/dist/cjs/view/BlockCard/actions/DownloadAction.js +4 -3
  12. package/dist/cjs/view/BlockCard/actions/PreviewAction.js +3 -3
  13. package/dist/cjs/view/BlockCard/actions/RetryAction.js +4 -3
  14. package/dist/cjs/view/BlockCard/actions/ViewAction.js +4 -3
  15. package/dist/cjs/view/BlockCard/components/ActionList.js +1 -0
  16. package/dist/cjs/view/BlockCard/components/Frame.js +1 -1
  17. package/dist/cjs/view/BlockCard/components/Thumbnail.js +1 -1
  18. package/dist/cjs/view/BlockCard/index.js +1 -0
  19. package/dist/cjs/view/BlockCard/views/ErroredView.js +1 -1
  20. package/dist/cjs/view/BlockCard/views/NotFoundView.js +1 -1
  21. package/dist/cjs/view/BlockCard/views/UnauthorizedView.js +1 -1
  22. package/dist/cjs/view/EmbedCard/components/styled.js +2 -2
  23. package/dist/cjs/view/EmbedModal/components/embed-content/index.js +1 -0
  24. package/dist/cjs/view/FlexibleCard/components/actions/action/action-button/index.js +1 -0
  25. package/dist/cjs/view/FlexibleCard/components/actions/action/action-icon/index.js +1 -0
  26. package/dist/cjs/view/FlexibleCard/components/actions/action/download-action/index.js +4 -3
  27. package/dist/cjs/view/FlexibleCard/components/actions/action/preview-action/index.js +3 -3
  28. package/dist/cjs/view/FlexibleCard/components/actions/action/view-action/index.js +4 -3
  29. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/action-group-item/index.js +1 -0
  30. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +1 -0
  31. package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +1 -0
  32. package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +1 -0
  33. package/dist/cjs/view/FlexibleCard/components/blocks/preview-block/index.js +1 -0
  34. package/dist/cjs/view/FlexibleCard/components/blocks/preview-block/resolved/index.js +1 -0
  35. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/errored/index.js +1 -0
  36. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolving/index.js +1 -0
  37. package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +2 -0
  38. package/dist/cjs/view/FlexibleCard/components/common/loading-skeleton/index.js +1 -0
  39. package/dist/cjs/view/FlexibleCard/components/common/lozenge-action/error-boundary/index.js +2 -1
  40. package/dist/cjs/view/FlexibleCard/components/common/lozenge-action/index.js +103 -55
  41. package/dist/cjs/view/FlexibleCard/components/common/lozenge-action/lozenge-action-item/index.js +13 -2
  42. package/dist/cjs/view/FlexibleCard/components/common/lozenge-action/lozenge-action-trigger/index.js +1 -0
  43. package/dist/cjs/view/FlexibleCard/components/container/index.js +1 -0
  44. package/dist/cjs/view/FlexibleCard/components/container/layered-link/index.js +1 -0
  45. package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +1 -0
  46. package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +1 -0
  47. package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +1 -0
  48. package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +1 -0
  49. package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +1 -0
  50. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +1 -0
  51. package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +1 -0
  52. package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +1 -0
  53. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +3 -5
  54. package/dist/cjs/view/common/Icon.js +1 -0
  55. package/dist/es2019/extractors/action/extract-lozenge-action-items.js +17 -0
  56. package/dist/es2019/state/hooks/use-invoke/index.js +15 -6
  57. package/dist/es2019/state/hooks/use-invoke/types.js +0 -4
  58. package/dist/es2019/utils/actions/create-status-update-request.js +10 -0
  59. package/dist/es2019/version.json +1 -1
  60. package/dist/es2019/view/EmbedCard/components/styled.js +5 -5
  61. package/dist/es2019/view/FlexibleCard/components/actions/index.js +0 -1
  62. package/dist/es2019/view/FlexibleCard/components/common/lozenge-action/error-boundary/index.js +7 -4
  63. package/dist/es2019/view/FlexibleCard/components/common/lozenge-action/index.js +47 -23
  64. package/dist/es2019/view/FlexibleCard/components/common/lozenge-action/lozenge-action-item/index.js +13 -2
  65. package/dist/esm/extractors/action/extract-lozenge-action-items.js +18 -0
  66. package/dist/esm/state/actions/index.js +6 -5
  67. package/dist/esm/state/hooks/use-invoke/index.js +16 -10
  68. package/dist/esm/state/hooks/use-invoke/types.js +0 -4
  69. package/dist/esm/state/hooks/usePrefetch.js +4 -3
  70. package/dist/esm/utils/actions/create-status-update-request.js +13 -0
  71. package/dist/esm/utils/index.js +4 -3
  72. package/dist/esm/utils/mocks.js +8 -7
  73. package/dist/esm/version.json +1 -1
  74. package/dist/esm/view/BlockCard/actions/DownloadAction.js +4 -3
  75. package/dist/esm/view/BlockCard/actions/PreviewAction.js +4 -3
  76. package/dist/esm/view/BlockCard/actions/RetryAction.js +4 -3
  77. package/dist/esm/view/BlockCard/actions/ViewAction.js +4 -3
  78. package/dist/esm/view/EmbedCard/components/styled.js +2 -2
  79. package/dist/esm/view/FlexibleCard/components/actions/action/download-action/index.js +4 -3
  80. package/dist/esm/view/FlexibleCard/components/actions/action/preview-action/index.js +4 -3
  81. package/dist/esm/view/FlexibleCard/components/actions/action/view-action/index.js +4 -3
  82. package/dist/esm/view/FlexibleCard/components/actions/index.js +0 -1
  83. package/dist/esm/view/FlexibleCard/components/common/lozenge-action/error-boundary/index.js +2 -1
  84. package/dist/esm/view/FlexibleCard/components/common/lozenge-action/index.js +104 -53
  85. package/dist/esm/view/FlexibleCard/components/common/lozenge-action/lozenge-action-item/index.js +13 -2
  86. package/dist/esm/view/HoverCard/components/HoverCardContent.js +4 -3
  87. package/dist/types/extractors/action/extract-lozenge-action-items.d.ts +4 -0
  88. package/dist/types/state/hooks/use-invoke/index.d.ts +2 -2
  89. package/dist/types/state/hooks/use-invoke/types.d.ts +6 -5
  90. package/dist/types/utils/actions/create-status-update-request.d.ts +4 -0
  91. package/dist/types/view/FlexibleCard/components/common/lozenge-action/lozenge-action-item/types.d.ts +3 -4
  92. package/dist/types/view/FlexibleCard/components/common/lozenge-action/types.d.ts +3 -2
  93. package/package.json +5 -2
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -17,13 +16,21 @@ var _lozengeActionItem = _interopRequireDefault(require("./lozenge-action-item")
17
16
  var _lozengeActionTrigger = _interopRequireDefault(require("./lozenge-action-trigger"));
18
17
  var _lozengeActionError = _interopRequireDefault(require("./lozenge-action-error"));
19
18
  var _errorBoundary = _interopRequireDefault(require("./error-boundary"));
19
+ var _styled = require("./styled");
20
20
  var _useInvoke = _interopRequireDefault(require("../../../../../state/hooks/use-invoke"));
21
21
  var _types = require("../../../../../state/hooks/use-invoke/types");
22
- var _styled = require("./styled");
22
+ var _extractLozengeActionItems = _interopRequireDefault(require("../../../../../extractors/action/extract-lozenge-action-items"));
23
+ var _createStatusUpdateRequest = _interopRequireDefault(require("../../../../../utils/actions/create-status-update-request"));
23
24
  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); }
24
25
  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; }
25
- /** @jsx jsx */
26
-
26
+ 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) { ["next", "throw", "return"].forEach(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" }], tryLocsList.forEach(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 keys.reverse(), 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) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(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; } /** @jsx jsx */
27
+ var validateItems = function validateItems() {
28
+ var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
29
+ var text = arguments.length > 1 ? arguments[1] : undefined;
30
+ return items.filter(function (item) {
31
+ return item.text !== text;
32
+ });
33
+ };
27
34
  var LozengeAction = function LozengeAction(_ref) {
28
35
  var action = _ref.action,
29
36
  appearance = _ref.appearance,
@@ -38,66 +45,69 @@ var LozengeAction = function LozengeAction(_ref) {
38
45
  _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
39
46
  isLoading = _useState4[0],
40
47
  setIsLoading = _useState4[1];
41
- var _useState5 = (0, _react2.useState)(),
48
+ var _useState5 = (0, _react2.useState)(false),
42
49
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
43
- items = _useState6[0],
44
- setItems = _useState6[1];
50
+ isOpen = _useState6[0],
51
+ setIsOpen = _useState6[1];
45
52
  var _useState7 = (0, _react2.useState)(),
46
53
  _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
47
- errorCode = _useState8[0],
48
- setErrorCode = _useState8[1];
54
+ items = _useState8[0],
55
+ setItems = _useState8[1];
56
+ var _useState9 = (0, _react2.useState)(),
57
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
58
+ errorCode = _useState10[0],
59
+ setErrorCode = _useState10[1];
49
60
  var invoke = (0, _useInvoke.default)();
50
- var onOpenChange = (0, _react2.useCallback)( /*#__PURE__*/function () {
51
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(args) {
52
- var lozengeItems;
53
- return _regenerator.default.wrap(function _callee$(_context) {
61
+ var handleOpenChange = (0, _react2.useCallback)( /*#__PURE__*/function () {
62
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(args) {
63
+ var responseItems, validItems;
64
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
54
65
  while (1) {
55
66
  switch (_context.prev = _context.next) {
56
67
  case 0:
57
- if (!(args.isOpen && !isLoaded && action)) {
58
- _context.next = 20;
68
+ setIsOpen(args.isOpen);
69
+ if (!(args.isOpen && !isLoaded && action !== null && action !== void 0 && action.read)) {
70
+ _context.next = 19;
59
71
  break;
60
72
  }
61
- _context.prev = 1;
73
+ _context.prev = 2;
62
74
  setIsLoading(true);
63
- _context.next = 5;
64
- return invoke(action);
65
- case 5:
66
- _context.t0 = _context.sent;
67
- if (_context.t0) {
68
- _context.next = 8;
69
- break;
70
- }
71
- _context.t0 = [];
72
- case 8:
73
- lozengeItems = _context.t0;
74
- setItems(lozengeItems);
75
+ _context.next = 6;
76
+ return invoke(action.read, _extractLozengeActionItems.default);
77
+ case 6:
78
+ responseItems = _context.sent;
79
+ validItems = validateItems(responseItems, text);
80
+ setItems(validItems);
75
81
  setIsLoaded(true);
76
- if (lozengeItems.length === 0) {
82
+ if ((validItems === null || validItems === void 0 ? void 0 : validItems.length) === 0) {
77
83
  setErrorCode(_types.InvokeActionError.NoData);
78
84
  }
79
- _context.next = 17;
85
+ _context.next = 16;
80
86
  break;
81
- case 14:
82
- _context.prev = 14;
83
- _context.t1 = _context["catch"](1);
84
- // TODO: EDM-5746 and EDM-5782
87
+ case 13:
88
+ _context.prev = 13;
89
+ _context.t0 = _context["catch"](2);
90
+ // TODO: EDM-6261: Error state
85
91
  setErrorCode(_types.InvokeActionError.Unknown);
86
- case 17:
87
- _context.prev = 17;
92
+ case 16:
93
+ _context.prev = 16;
88
94
  setIsLoading(false);
89
- return _context.finish(17);
95
+ return _context.finish(16);
96
+ case 19:
97
+ if (!args.isOpen) {
98
+ setErrorCode(undefined);
99
+ }
90
100
  case 20:
91
101
  case "end":
92
102
  return _context.stop();
93
103
  }
94
104
  }
95
- }, _callee, null, [[1, 14, 17, 20]]);
105
+ }, _callee, null, [[2, 13, 16, 19]]);
96
106
  }));
97
107
  return function (_x) {
98
108
  return _ref2.apply(this, arguments);
99
109
  };
100
- }(), [action, invoke, isLoaded]);
110
+ }(), [action === null || action === void 0 ? void 0 : action.read, invoke, isLoaded, text]);
101
111
  var trigger = (0, _react2.useCallback)(function (props) {
102
112
  return (0, _react.jsx)(_lozengeActionTrigger.default, (0, _extends2.default)({}, props, {
103
113
  appearance: appearance,
@@ -105,31 +115,69 @@ var LozengeAction = function LozengeAction(_ref) {
105
115
  text: text
106
116
  }));
107
117
  }, [appearance, testId, text]);
118
+ var handleItemClick = (0, _react2.useCallback)( /*#__PURE__*/function () {
119
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(id) {
120
+ var request;
121
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
122
+ while (1) {
123
+ switch (_context2.prev = _context2.next) {
124
+ case 0:
125
+ _context2.prev = 0;
126
+ if (!(action !== null && action !== void 0 && action.update && id)) {
127
+ _context2.next = 8;
128
+ break;
129
+ }
130
+ setIsLoading(true);
131
+ request = (0, _createStatusUpdateRequest.default)(action.update, id);
132
+ _context2.next = 6;
133
+ return invoke(request);
134
+ case 6:
135
+ setIsLoading(false);
136
+ setIsOpen(false);
137
+ case 8:
138
+ _context2.next = 14;
139
+ break;
140
+ case 10:
141
+ _context2.prev = 10;
142
+ _context2.t0 = _context2["catch"](0);
143
+ // TODO: EDM-6261: Error state
144
+ setIsLoading(false);
145
+ setErrorCode(_types.InvokeActionError.Unknown);
146
+ case 14:
147
+ case "end":
148
+ return _context2.stop();
149
+ }
150
+ }
151
+ }, _callee2, null, [[0, 10]]);
152
+ }));
153
+ return function (_x2) {
154
+ return _ref3.apply(this, arguments);
155
+ };
156
+ }(), [action === null || action === void 0 ? void 0 : action.update, invoke]);
108
157
  var dropdownItemGroup = (0, _react2.useMemo)(function () {
109
- if (items && items.length > 0) {
110
- return (0, _react.jsx)("span", {
111
- css: _styled.dropdownItemGroupStyles
112
- }, (0, _react.jsx)(_dropdownMenu.DropdownItemGroup, null, items.map(function (_ref3, idx) {
113
- var appearance = _ref3.appearance,
114
- text = _ref3.text;
115
- return (0, _react.jsx)(_lozengeActionItem.default, {
116
- appearance: appearance,
117
- key: idx,
118
- testId: "".concat(testId, "-item-").concat(idx),
119
- text: text
120
- });
121
- })));
122
- }
123
158
  if (errorCode) {
124
159
  return (0, _react.jsx)(_lozengeActionError.default, {
125
160
  errorCode: errorCode,
126
161
  testId: testId
127
162
  });
128
163
  }
129
- }, [errorCode, items, testId]);
164
+ if (items && items.length > 0) {
165
+ return (0, _react.jsx)("span", {
166
+ css: _styled.dropdownItemGroupStyles,
167
+ "data-testid": "".concat(testId, "-item-group")
168
+ }, (0, _react.jsx)(_dropdownMenu.DropdownItemGroup, null, items.map(function (item, idx) {
169
+ return (0, _react.jsx)(_lozengeActionItem.default, (0, _extends2.default)({}, item, {
170
+ key: idx,
171
+ onClick: handleItemClick,
172
+ testId: "".concat(testId, "-item-").concat(idx)
173
+ }));
174
+ })));
175
+ }
176
+ }, [errorCode, handleItemClick, items, testId]);
130
177
  return (0, _react.jsx)(_dropdownMenu.default, {
131
178
  isLoading: isLoading,
132
- onOpenChange: onOpenChange,
179
+ isOpen: isOpen,
180
+ onOpenChange: handleOpenChange,
133
181
  testId: testId,
134
182
  trigger: trigger
135
183
  }, dropdownItemGroup);
@@ -13,15 +13,26 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
13
13
  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; }
14
14
  var LozengeActionItem = function LozengeActionItem(_ref) {
15
15
  var appearance = _ref.appearance,
16
+ id = _ref.id,
17
+ onClick = _ref.onClick,
16
18
  testId = _ref.testId,
17
19
  text = _ref.text;
18
- var onMouseEnter = (0, _react.useCallback)(function (e) {
20
+ var handleClick = (0, _react.useCallback)(function (e) {
21
+ // Prevent dropdown to close on select item.
22
+ // We want to show loading screen.
23
+ e.stopPropagation();
24
+ if (onClick) {
25
+ onClick(id);
26
+ }
27
+ }, [id, onClick]);
28
+ var handleMouseEnter = (0, _react.useCallback)(function (e) {
19
29
  var _e$currentTarget, _e$currentTarget$firs;
20
30
  (_e$currentTarget = e.currentTarget) === null || _e$currentTarget === void 0 ? void 0 : (_e$currentTarget$firs = _e$currentTarget.firstElementChild) === null || _e$currentTarget$firs === void 0 ? void 0 : _e$currentTarget$firs.focus();
21
31
  }, []);
22
32
  return /*#__PURE__*/_react.default.createElement("span", {
23
- onMouseEnter: onMouseEnter
33
+ onMouseEnter: handleMouseEnter
24
34
  }, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
35
+ onClick: handleClick,
25
36
  testId: testId
26
37
  }, /*#__PURE__*/_react.default.createElement(_lozenge.default, {
27
38
  appearance: appearance
@@ -14,6 +14,7 @@ var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
14
14
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
15
15
  var _styled = require("../styled");
16
16
  var _excluded = ["appearance", "testId", "text", "triggerRef"];
17
+ /** @jsx jsx */
17
18
  var LozengeActionTrigger = function LozengeActionTrigger(_ref) {
18
19
  var appearance = _ref.appearance,
19
20
  testId = _ref.testId,
@@ -18,6 +18,7 @@ var _layeredLink = _interopRequireDefault(require("./layered-link"));
18
18
  var _HoverCard = require("../../../HoverCard");
19
19
  var _utils = require("../../../../state/flexible-ui-context/utils");
20
20
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
21
+ /** @jsx jsx */
21
22
  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); }
22
23
  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; }
23
24
  var elevationStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n border: 1px solid transparent;\n border-radius: 1.5px;\n box-shadow: ", ";\n margin: 2px;\n"])), _token.tokens.elevation);
@@ -10,6 +10,7 @@ var _react = _interopRequireDefault(require("react"));
10
10
  var _react2 = require("@emotion/react");
11
11
  var _useMouseDownEvent = _interopRequireDefault(require("../../../../../state/analytics/useMouseDownEvent"));
12
12
  var _templateObject;
13
+ /** @jsx jsx */
13
14
  var styles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n // Stretch the invisible link over the whole of the post.\n // Hide the link\u2019s text.\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow: hidden;\n text-indent: 100%;\n white-space: nowrap;\n\n // Needs a heightened specificity to trump other anchor.\n // Stack it under all other links in the post text.\n a&.layered-link {\n position: absolute;\n z-index: 0;\n }\n\n // When hovering over the layered link, any hidden action buttons inside\n // the Container should become visible.\n // As actions resides inside blocks and layered link is expected to be\n // on the same level of blocks. That makes the blocks, e.g. TitleBlock,\n // its sibling. Using general sibling combinator here to apply styling to\n // all the siblings of layered link.\n // The general sibling combinator (~) separates two selectors and matches all\n // iterations of the second element, that are following the first element\n // (though not necessarily immediately), and are children of the same parent\n // element.\n &:hover ~ * {\n .actions-button-group {\n opacity: 1;\n }\n }\n"])));
14
15
 
15
16
  /**
@@ -11,6 +11,7 @@ var _react2 = require("@emotion/react");
11
11
  var _avatarGroup = _interopRequireDefault(require("@atlaskit/avatar-group"));
12
12
  var _constants = require("../../../../../constants");
13
13
  var _templateObject, _templateObject2;
14
+ /** @jsx jsx */
14
15
  var MAX_COUNT = 4;
15
16
  var getStyles = function getStyles(size) {
16
17
  var styles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n "])));
@@ -16,6 +16,7 @@ var _messages = require("../../../../../messages");
16
16
  var _imageIcon = _interopRequireDefault(require("../../common/image-icon"));
17
17
  var _atlaskitIcon = _interopRequireDefault(require("../../common/atlaskit-icon"));
18
18
  var _templateObject, _templateObject2, _templateObject3, _messageMapper;
19
+ /** @jsx jsx */
19
20
  var badgeStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-items: center;\n display: inline-flex;\n min-width: fit-content;\n"])));
20
21
  var iconStyles = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n line-height: 0;\n vertical-align: middle;\n ", "\n img,\n span,\n svg {\n line-height: 0;\n vertical-align: middle;\n }\n"])), _token.tokens.badgeIcon, (0, _utils.getIconSizeStyles)('1rem'));
21
22
  var labelStyles = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n padding-left: 0.125rem;\n vertical-align: middle;\n"])), _token.tokens.badgeText);
@@ -15,6 +15,7 @@ var _token = require("../../../../../utils/token");
15
15
  var _intlUtils = require("@formatjs/intl-utils");
16
16
  var _messages = require("../../../../../messages");
17
17
  var _templateObject;
18
+ /** @jsx jsx */
18
19
  var styles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n ", "\n"])), _token.tokens.text, (0, _utils.getTruncateStyles)(1));
19
20
  var typeToDescriptorMap = {
20
21
  created: {
@@ -15,6 +15,7 @@ var _atlaskitIcon = _interopRequireDefault(require("../../common/atlaskit-icon")
15
15
  var _imageIcon = _interopRequireDefault(require("../../common/image-icon"));
16
16
  var _utils = require("../../utils");
17
17
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
18
+ /** @jsx jsx */
18
19
  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); }
19
20
  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; }
20
21
  var getPositionStyles = function getPositionStyles(size, position) {
@@ -15,6 +15,7 @@ var _utils = require("../../utils");
15
15
  var _token = require("../../../../../utils/token");
16
16
  var _useMouseDownEvent = _interopRequireDefault(require("../../../../../state/analytics/useMouseDownEvent"));
17
17
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
18
+ /** @jsx jsx */
18
19
  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); }
19
20
  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; }
20
21
  var DEFAULT_MAX_LINES = 2;
@@ -13,6 +13,7 @@ var _react2 = require("@emotion/react");
13
13
  var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
14
14
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
15
15
  var _templateObject, _templateObject2;
16
+ /** @jsx jsx */
16
17
  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); }
17
18
  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; }
18
19
  var styles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n line-height: inherit;\n"])));
@@ -10,6 +10,7 @@ var _react = _interopRequireDefault(require("react"));
10
10
  var _react2 = require("@emotion/react");
11
11
  var _imageIcon = _interopRequireDefault(require("../../common/image-icon"));
12
12
  var _templateObject;
13
+ /** @jsx jsx */
13
14
  /**
14
15
  * Media: Image
15
16
  * [aspect-ratio: 16 / 9] The context box is fixed to aspect ratio of 16:9.
@@ -11,6 +11,7 @@ var _react2 = require("@emotion/react");
11
11
  var _utils = require("../../utils");
12
12
  var _token = require("../../../../../utils/token");
13
13
  var _templateObject;
14
+ /** @jsx jsx */
14
15
  var getStyles = function getStyles(maxLines) {
15
16
  return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n white-space: normal;\n ", "\n"])), _token.tokens.text, (0, _utils.getTruncateStyles)(maxLines));
16
17
  };
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.hoverCardClassName = exports.getOpenAction = exports.getCopyAction = exports.default = void 0;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
10
  var _react = require("@emotion/react");
12
11
  var _shortcut = _interopRequireDefault(require("@atlaskit/icon/glyph/shortcut"));
@@ -29,8 +28,7 @@ var _actions = require("../../../state/actions");
29
28
  var _click = require("../../../utils/analytics/click");
30
29
  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); }
31
30
  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; }
32
- /** @jsx jsx */
33
-
31
+ 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) { ["next", "throw", "return"].forEach(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" }], tryLocsList.forEach(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 keys.reverse(), 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) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(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; } /** @jsx jsx */
34
32
  var hoverCardClassName = 'smart-links-hover-preview';
35
33
  exports.hoverCardClassName = hoverCardClassName;
36
34
  var getOpenAction = function getOpenAction(url, analytics, onActionClick) {
@@ -64,8 +62,8 @@ var getCopyAction = function getCopyAction(url) {
64
62
  }),
65
63
  iconPosition: 'before',
66
64
  onClick: function () {
67
- var _onClick = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
68
- return _regenerator.default.wrap(function _callee$(_context) {
65
+ var _onClick = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
66
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
69
67
  while (1) {
70
68
  switch (_context.prev = _context.next) {
71
69
  case 0:
@@ -12,6 +12,7 @@ var _reactRenderImage = _interopRequireDefault(require("react-render-image"));
12
12
  var _link = _interopRequireDefault(require("@atlaskit/icon/glyph/link"));
13
13
  var _utils = require("./utils");
14
14
  var _templateObject, _templateObject2;
15
+ /** @jsx jsx */
15
16
  var blockCardIconImageClassName = 'block-card-icon-image';
16
17
  exports.blockCardIconImageClassName = blockCardIconImageClassName;
17
18
  var getImageStyles = function getImageStyles(isFlexibleUi) {
@@ -0,0 +1,17 @@
1
+ const extractLozengeActionItems = response => {
2
+ var _response$transitions, _response$transitions2;
3
+ const items = (_response$transitions = response === null || response === void 0 ? void 0 : (_response$transitions2 = response.transitions) === null || _response$transitions2 === void 0 ? void 0 : _response$transitions2.map(({
4
+ appearance,
5
+ id,
6
+ name
7
+ }) => {
8
+ var _ref;
9
+ return {
10
+ appearance: (_ref = appearance) !== null && _ref !== void 0 ? _ref : 'default',
11
+ id,
12
+ text: name
13
+ };
14
+ })) !== null && _response$transitions !== void 0 ? _response$transitions : [];
15
+ return items.sort((a, b) => a.appearance.localeCompare(b.appearance) || a.text.localeCompare(b.text));
16
+ };
17
+ export default extractLozengeActionItems;
@@ -1,10 +1,19 @@
1
1
  import { useCallback } from 'react';
2
+ import { useSmartLinkClientExtension } from '@atlaskit/link-client-extension';
3
+ import { useSmartLinkContext } from '@atlaskit/link-provider';
2
4
  const useInvoke = () => {
3
- return useCallback(async action => {
4
- // TODO: EDM-5746 and EDM-5782
5
- return await new Promise(resolve => {
6
- resolve();
7
- });
8
- }, []);
5
+ const {
6
+ connections
7
+ } = useSmartLinkContext();
8
+ const clientExt = useSmartLinkClientExtension(connections.client);
9
+ return useCallback(async (req, cb) => {
10
+ // TODO: EDM-6140: Check cache from store
11
+
12
+ const response = await clientExt.invoke(req);
13
+
14
+ // TODO: EDM-6140: Cache response in store
15
+
16
+ return cb ? cb(response) : response;
17
+ }, [clientExt]);
9
18
  };
10
19
  export default useInvoke;
@@ -1,7 +1,3 @@
1
- export let InvokeActionName;
2
- (function (InvokeActionName) {
3
- InvokeActionName["UpdateAction"] = "UpdateAction";
4
- })(InvokeActionName || (InvokeActionName = {}));
5
1
  export let InvokeActionError;
6
2
  (function (InvokeActionError) {
7
3
  InvokeActionError["NoData"] = "NoData";
@@ -0,0 +1,10 @@
1
+ const createStatusUpdateRequest = (request, id) => ({
2
+ ...request,
3
+ action: {
4
+ ...request.action,
5
+ payload: {
6
+ newStatusId: id
7
+ }
8
+ }
9
+ });
10
+ export default createStatusUpdateRequest;
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "25.3.1",
3
+ "version": "25.3.3",
4
4
  "sideEffects": false
5
5
  }
@@ -102,9 +102,9 @@ const wrapperStyles = props => `
102
102
  background: transparent;
103
103
  transition: background 0.3s, box-shadow 0.3s;
104
104
  position: absolute;
105
- width: calc(100% + ${gridSize(2)});
106
- height: calc(100% + ${gridSize(1)});
107
- left: -${gridSize(1)};
105
+ width: calc(100% + ${"var(--ds-space-200, 16px)"});
106
+ height: calc(100% + ${"var(--ds-space-100, 8px)"});
107
+ left: calc(-1 * ${"var(--ds-space-100, 8px)"});
108
108
  ${borderRadius}
109
109
  }
110
110
  `;
@@ -221,8 +221,8 @@ export const Content = styled.div`
221
221
  ${({
222
222
  frameStyle
223
223
  }) => frameStyle === 'hide' ? 'height: 100%;' : `
224
- height: calc(100% - ${gridSize(4)});
225
- top: ${gridSize(4)};
224
+ height: calc(100% - ${"var(--ds-space-400, 32px)"});
225
+ top: ${"var(--ds-space-400, 32px)"};
226
226
  `}
227
227
  `;
228
228
  export const Image = styled.img`
@@ -3,7 +3,6 @@ import { createDataAction, createUIAction } from './utils';
3
3
  // Attention: Keep the export name and action name the same.
4
4
  // This will help reducing the code for mapping action inside
5
5
  // createAction and renderActionItems
6
-
7
6
  /**
8
7
  * Creates a DeleteAction component. Accepts default ActionProps, but defaults
9
8
  * the icon to a cross icon.
@@ -2,10 +2,13 @@ import React, { useMemo } from 'react';
2
2
  import { ErrorBoundary } from 'react-error-boundary';
3
3
  import Lozenge from '@atlaskit/lozenge';
4
4
  const withErrorBoundary = Component => props => {
5
- const fallback = useMemo(() => /*#__PURE__*/React.createElement(Lozenge, {
6
- appearance: props === null || props === void 0 ? void 0 : props.appearance,
7
- testId: `${props === null || props === void 0 ? void 0 : props.testId}-fallback`
8
- }, props === null || props === void 0 ? void 0 : props.text), [props === null || props === void 0 ? void 0 : props.appearance, props === null || props === void 0 ? void 0 : props.testId, props === null || props === void 0 ? void 0 : props.text]);
5
+ const fallback = useMemo(() => {
6
+ var _props$testId;
7
+ return /*#__PURE__*/React.createElement(Lozenge, {
8
+ appearance: props === null || props === void 0 ? void 0 : props.appearance,
9
+ testId: `${(_props$testId = props === null || props === void 0 ? void 0 : props.testId) !== null && _props$testId !== void 0 ? _props$testId : 'smart-element-lozenge-action'}-fallback`
10
+ }, props === null || props === void 0 ? void 0 : props.text);
11
+ }, [props === null || props === void 0 ? void 0 : props.appearance, props === null || props === void 0 ? void 0 : props.testId, props === null || props === void 0 ? void 0 : props.text]);
9
12
  return /*#__PURE__*/React.createElement(ErrorBoundary, {
10
13
  fallback: fallback
11
14
  }, /*#__PURE__*/React.createElement(Component, props));