@atlaskit/smart-card 25.6.1 → 25.7.1

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 (81) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/messages.js +20 -0
  3. package/dist/cjs/state/flexible-ui-context/index.js +13 -2
  4. package/dist/cjs/state/hooks/use-invoke/types.js +1 -17
  5. package/dist/cjs/version.json +1 -1
  6. package/dist/cjs/view/CardWithUrl/component.js +2 -1
  7. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +4 -2
  8. package/dist/cjs/view/FlexibleCard/components/common/lozenge-action/index.js +42 -31
  9. package/dist/cjs/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/index.js +33 -12
  10. package/dist/cjs/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/styled.js +21 -0
  11. package/dist/cjs/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/types.js +15 -1
  12. package/dist/cjs/view/FlexibleCard/components/container/index.js +7 -3
  13. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +4 -1
  14. package/dist/cjs/view/FlexibleCard/index.js +5 -2
  15. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +6 -3
  16. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +3 -1
  17. package/dist/cjs/view/HoverCard/styled.js +6 -2
  18. package/dist/cjs/view/InlineCard/ResolvedView/index.js +4 -1
  19. package/dist/cjs/view/InlineCard/index.js +3 -1
  20. package/dist/es2019/messages.js +20 -0
  21. package/dist/es2019/state/flexible-ui-context/index.js +8 -1
  22. package/dist/es2019/state/hooks/use-invoke/types.js +1 -15
  23. package/dist/es2019/version.json +1 -1
  24. package/dist/es2019/view/CardWithUrl/component.js +2 -1
  25. package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +5 -3
  26. package/dist/es2019/view/FlexibleCard/components/common/lozenge-action/index.js +22 -13
  27. package/dist/es2019/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/index.js +30 -7
  28. package/dist/es2019/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/styled.js +41 -0
  29. package/dist/es2019/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/types.js +12 -1
  30. package/dist/es2019/view/FlexibleCard/components/container/index.js +5 -2
  31. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +4 -1
  32. package/dist/es2019/view/FlexibleCard/index.js +6 -3
  33. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +6 -4
  34. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +3 -1
  35. package/dist/es2019/view/HoverCard/styled.js +4 -1
  36. package/dist/es2019/view/InlineCard/ResolvedView/index.js +3 -1
  37. package/dist/es2019/view/InlineCard/index.js +3 -1
  38. package/dist/esm/messages.js +20 -0
  39. package/dist/esm/state/flexible-ui-context/index.js +9 -0
  40. package/dist/esm/state/hooks/use-invoke/types.js +1 -15
  41. package/dist/esm/version.json +1 -1
  42. package/dist/esm/view/CardWithUrl/component.js +2 -1
  43. package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +5 -3
  44. package/dist/esm/view/FlexibleCard/components/common/lozenge-action/index.js +42 -31
  45. package/dist/esm/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/index.js +30 -8
  46. package/dist/esm/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/styled.js +11 -0
  47. package/dist/esm/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/types.js +12 -1
  48. package/dist/esm/view/FlexibleCard/components/container/index.js +7 -3
  49. package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +4 -1
  50. package/dist/esm/view/FlexibleCard/index.js +6 -3
  51. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +7 -4
  52. package/dist/esm/view/HoverCard/components/HoverCardContent.js +3 -1
  53. package/dist/esm/view/HoverCard/styled.js +4 -1
  54. package/dist/esm/view/InlineCard/ResolvedView/index.js +4 -1
  55. package/dist/esm/view/InlineCard/index.js +3 -1
  56. package/dist/types/__fixtures__/bitbucket-pull-request.d.ts +73 -0
  57. package/dist/types/__fixtures__/confluence-blog.d.ts +49 -0
  58. package/dist/types/__fixtures__/confluence-page.d.ts +49 -0
  59. package/dist/types/__fixtures__/confluence-space.d.ts +36 -0
  60. package/dist/types/__fixtures__/confluence-template.d.ts +31 -0
  61. package/dist/types/__fixtures__/figma.d.ts +43 -0
  62. package/dist/types/__fixtures__/jira-roadmap.d.ts +35 -0
  63. package/dist/types/__fixtures__/jira-task.d.ts +78 -0
  64. package/dist/types/__fixtures__/youtube-video.d.ts +44 -0
  65. package/dist/types/messages.d.ts +1 -1
  66. package/dist/types/state/flexible-ui-context/index.d.ts +7 -0
  67. package/dist/types/state/hooks/use-invoke/types.d.ts +0 -4
  68. package/dist/types/view/Card/index.d.ts +1 -1
  69. package/dist/types/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/styled.d.ts +3 -0
  70. package/dist/types/view/FlexibleCard/components/common/lozenge-action/lozenge-action-error/types.d.ts +14 -2
  71. package/dist/types/view/FlexibleCard/components/common/lozenge-action/types.d.ts +1 -0
  72. package/dist/types/view/FlexibleCard/components/container/types.d.ts +2 -13
  73. package/dist/types/view/FlexibleCard/types.d.ts +8 -3
  74. package/dist/types/view/HoverCard/index.d.ts +1 -1
  75. package/dist/types/view/HoverCard/styled.d.ts +1 -0
  76. package/dist/types/view/HoverCard/types.d.ts +5 -0
  77. package/dist/types/view/InlineCard/ResolvedView/index.d.ts +2 -0
  78. package/dist/types/view/InlineCard/types.d.ts +1 -0
  79. package/package.json +2 -2
  80. package/report.api.md +2 -1
  81. package/tmp/api-report-tmp.d.ts +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 25.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`7a58d99e333`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7a58d99e333) - [ux] Added error handling for smart link action
8
+ - Updated dependencies
9
+
10
+ ## 25.7.0
11
+
12
+ ### Minor Changes
13
+
14
+ - [`9c49eef4c87`](https://bitbucket.org/atlassian/atlassian-frontend/commits/9c49eef4c87) - [ux]
15
+
16
+ - Add lozenge action to hover preview (wip, opt-in, feature flag)
17
+ - Fix hover preview's action dropdown menu showing behind container
18
+ - Allow setting z-index for portal component inside flexible smart links
19
+
3
20
  ## 25.6.1
4
21
 
5
22
  ### Patch Changes
@@ -206,6 +206,11 @@ var messages = (0, _reactIntlNext.defineMessages)({
206
206
  defaultMessage: "Uh oh. We can't find this link!",
207
207
  description: 'Error case for when a provided link is not found'
208
208
  },
209
+ open_issue_in_jira: {
210
+ id: 'fabric.linking.open_issue_in_jira',
211
+ defaultMessage: 'Open issue in Jira',
212
+ description: 'Click to open link in Jira'
213
+ },
209
214
  open_link_in_a_new_tab: {
210
215
  id: 'fabric.linking.open_link_in_a_new_tab',
211
216
  defaultMessage: 'Open link in a new tab',
@@ -351,6 +356,21 @@ var messages = (0, _reactIntlNext.defineMessages)({
351
356
  defaultMessage: 'Save',
352
357
  description: 'Just the "save" word'
353
358
  },
359
+ status_change_load_error: {
360
+ id: 'fabric.linking.status_change_load_error',
361
+ defaultMessage: 'We couldn’t load the statuses and transitions',
362
+ description: 'Informs the user that the loading of status transitions failed'
363
+ },
364
+ status_change_permission_error: {
365
+ id: 'fabric.linking.status_change_permission_error',
366
+ defaultMessage: 'You don’t have permission to transition this issue. ',
367
+ description: 'Informs the user that they do not have enough permissions to update a status'
368
+ },
369
+ status_change_update_error: {
370
+ id: 'fabric.linking.status_change_update_error',
371
+ defaultMessage: 'We couldn’t update the status',
372
+ description: "Occurs when a user tries to update an issue's status but fails to do so"
373
+ },
354
374
  try_again: {
355
375
  id: 'fabric.linking.try_again',
356
376
  defaultMessage: 'Try again',
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useFlexibleUiContext = exports.useFlexibleUiAnalyticsContext = exports.FlexibleUiContext = exports.FlexibleUiAnalyticsContext = void 0;
6
+ exports.useFlexibleUiOptionContext = exports.useFlexibleUiContext = exports.useFlexibleUiAnalyticsContext = exports.FlexibleUiOptionContext = exports.FlexibleUiContext = exports.FlexibleUiAnalyticsContext = void 0;
7
7
  var _react = require("react");
8
8
  /**
9
9
  * This provides the data that will be used by Smart Links Flexible UI to populate it's
@@ -25,4 +25,15 @@ exports.FlexibleUiAnalyticsContext = FlexibleUiAnalyticsContext;
25
25
  var useFlexibleUiAnalyticsContext = function useFlexibleUiAnalyticsContext() {
26
26
  return (0, _react.useContext)(FlexibleUiAnalyticsContext);
27
27
  };
28
- exports.useFlexibleUiAnalyticsContext = useFlexibleUiAnalyticsContext;
28
+
29
+ /**
30
+ * This provides the ui options that will be used by Smart Links Flexible UI
31
+ * to render its underlying elements.
32
+ */
33
+ exports.useFlexibleUiAnalyticsContext = useFlexibleUiAnalyticsContext;
34
+ var FlexibleUiOptionContext = /*#__PURE__*/(0, _react.createContext)(undefined);
35
+ exports.FlexibleUiOptionContext = FlexibleUiOptionContext;
36
+ var useFlexibleUiOptionContext = function useFlexibleUiOptionContext() {
37
+ return (0, _react.useContext)(FlexibleUiOptionContext);
38
+ };
39
+ exports.useFlexibleUiOptionContext = useFlexibleUiOptionContext;
@@ -2,20 +2,4 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
6
- exports.InvokeActionError = void 0;
7
- var InvokeActionError;
8
- /**
9
- * Additional details for invoke function that may be required for component
10
- */
11
- exports.InvokeActionError = InvokeActionError;
12
- (function (InvokeActionError) {
13
- InvokeActionError["NoData"] = "NoData";
14
- InvokeActionError["Unknown"] = "Unknown";
15
- })(InvokeActionError || (exports.InvokeActionError = InvokeActionError = {}));
16
- /**
17
- * Invoke request with additional details for the component
18
- */
19
- /**
20
- * CRUD invoke requests for the component that support server actions
21
- */
5
+ });
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "25.6.1",
3
+ "version": "25.7.1",
4
4
  "sideEffects": false
5
5
  }
@@ -218,7 +218,8 @@ function CardWithUrlContent(_ref) {
218
218
  testId: testId,
219
219
  inlinePreloaderStyle: inlinePreloaderStyle,
220
220
  showHoverPreview: showHoverPreview,
221
- showAuthTooltip: showAuthTooltip
221
+ showAuthTooltip: showAuthTooltip,
222
+ showServerActions: showServerActions
222
223
  });
223
224
  case 'block':
224
225
  return /*#__PURE__*/_react.default.createElement(_BlockCard.BlockCard, {
@@ -80,6 +80,7 @@ var ActionGroup = function ActionGroup(_ref) {
80
80
  onDropdownOpenChange = _ref.onDropdownOpenChange,
81
81
  testId = _ref.testId;
82
82
  var context = (0, _flexibleUiContext.useFlexibleUiContext)();
83
+ var ui = (0, _flexibleUiContext.useFlexibleUiOptionContext)();
83
84
  var _useState = (0, _react.useState)(false),
84
85
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
85
86
  isOpen = _useState2[0],
@@ -131,11 +132,12 @@ var ActionGroup = function ActionGroup(_ref) {
131
132
  ref: triggerRef
132
133
  })));
133
134
  },
134
- testId: "action-group-dropdown"
135
+ testId: "action-group-dropdown",
136
+ zIndex: ui === null || ui === void 0 ? void 0 : ui.zIndex
135
137
  }, renderActionItems(actionItems, size, appearance, true, onActionItemClick));
136
138
  }
137
139
  return null;
138
- }, [appearance, isMoreThenTwoItems, isOpen, onActionItemClick, onOpenChange, renderableActionItems, size, visibleButtonsNum]);
140
+ }, [appearance, isMoreThenTwoItems, isOpen, onActionItemClick, onOpenChange, renderableActionItems, size, ui === null || ui === void 0 ? void 0 : ui.zIndex, visibleButtonsNum]);
139
141
  return renderableActionItems.length > 0 ? (0, _react2.jsx)("div", {
140
142
  css: styles,
141
143
  className: "actions-button-group"
@@ -18,10 +18,10 @@ var _lozengeActionError = _interopRequireDefault(require("./lozenge-action-error
18
18
  var _errorBoundary = _interopRequireDefault(require("./error-boundary"));
19
19
  var _styled = require("./styled");
20
20
  var _useInvoke = _interopRequireDefault(require("../../../../../state/hooks/use-invoke"));
21
- var _types = require("../../../../../state/hooks/use-invoke/types");
22
21
  var _extractLozengeActionItems = _interopRequireDefault(require("../../../../../extractors/action/extract-lozenge-action-items"));
23
22
  var _createStatusUpdateRequest = _interopRequireDefault(require("../../../../../utils/actions/create-status-update-request"));
24
23
  var _useResolve = _interopRequireDefault(require("../../../../../state/hooks/use-resolve"));
24
+ var _types = require("./lozenge-action-error/types");
25
25
  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); }
26
26
  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; }
27
27
  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 */
@@ -32,12 +32,16 @@ var validateItems = function validateItems() {
32
32
  return item.text !== text;
33
33
  });
34
34
  };
35
+ var isInvokeCustomError = function isInvokeCustomError(err) {
36
+ return err.message !== undefined && err.errorCode !== undefined;
37
+ };
35
38
  var LozengeAction = function LozengeAction(_ref) {
36
39
  var action = _ref.action,
37
40
  appearance = _ref.appearance,
38
41
  _ref$testId = _ref.testId,
39
42
  testId = _ref$testId === void 0 ? 'smart-element-lozenge-action' : _ref$testId,
40
- text = _ref.text;
43
+ text = _ref.text,
44
+ zIndex = _ref.zIndex;
41
45
  var _useState = (0, _react2.useState)(false),
42
46
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
43
47
  isLoaded = _useState2[0],
@@ -56,8 +60,8 @@ var LozengeAction = function LozengeAction(_ref) {
56
60
  setItems = _useState8[1];
57
61
  var _useState9 = (0, _react2.useState)(),
58
62
  _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
59
- errorCode = _useState10[0],
60
- setErrorCode = _useState10[1];
63
+ errorMessage = _useState10[0],
64
+ setErrorMessage = _useState10[1];
61
65
  var invoke = (0, _useInvoke.default)();
62
66
  var reload = (0, _useResolve.default)();
63
67
  var handleOpenChange = (0, _react2.useCallback)( /*#__PURE__*/function () {
@@ -69,7 +73,7 @@ var LozengeAction = function LozengeAction(_ref) {
69
73
  case 0:
70
74
  setIsOpen(args.isOpen);
71
75
  if (!(args.isOpen && !isLoaded && action !== null && action !== void 0 && action.read)) {
72
- _context.next = 19;
76
+ _context.next = 20;
73
77
  break;
74
78
  }
75
79
  _context.prev = 2;
@@ -82,29 +86,30 @@ var LozengeAction = function LozengeAction(_ref) {
82
86
  setItems(validItems);
83
87
  setIsLoaded(true);
84
88
  if ((validItems === null || validItems === void 0 ? void 0 : validItems.length) === 0) {
85
- setErrorCode(_types.InvokeActionError.NoData);
89
+ setErrorMessage(_types.LozengeActionErrorMessages.noData);
90
+ setIsLoaded(false);
86
91
  }
87
- _context.next = 16;
92
+ _context.next = 17;
88
93
  break;
89
94
  case 13:
90
95
  _context.prev = 13;
91
96
  _context.t0 = _context["catch"](2);
92
- // TODO: EDM-6261: Error state
93
- setErrorCode(_types.InvokeActionError.Unknown);
94
- case 16:
95
- _context.prev = 16;
97
+ setErrorMessage(_types.LozengeActionErrorMessages.unknown);
98
+ setIsLoaded(false);
99
+ case 17:
100
+ _context.prev = 17;
96
101
  setIsLoading(false);
97
- return _context.finish(16);
98
- case 19:
102
+ return _context.finish(17);
103
+ case 20:
99
104
  if (!args.isOpen) {
100
- setErrorCode(undefined);
105
+ setErrorMessage(undefined);
101
106
  }
102
- case 20:
107
+ case 21:
103
108
  case "end":
104
109
  return _context.stop();
105
110
  }
106
111
  }
107
- }, _callee, null, [[2, 13, 16, 19]]);
112
+ }, _callee, null, [[2, 13, 17, 20]]);
108
113
  }));
109
114
  return function (_x) {
110
115
  return _ref2.apply(this, arguments);
@@ -127,7 +132,7 @@ var LozengeAction = function LozengeAction(_ref) {
127
132
  _context2.prev = 0;
128
133
  updateAction = action === null || action === void 0 ? void 0 : action.update;
129
134
  if (!(updateAction && id)) {
130
- _context2.next = 13;
135
+ _context2.next = 15;
131
136
  break;
132
137
  }
133
138
  setIsLoading(true);
@@ -136,38 +141,43 @@ var LozengeAction = function LozengeAction(_ref) {
136
141
  return invoke(request);
137
142
  case 7:
138
143
  setIsLoading(false);
144
+ setIsLoaded(false);
139
145
  setIsOpen(false);
146
+ setItems([]);
140
147
  _ref4 = updateAction.details || {}, url = _ref4.url, linkId = _ref4.id;
141
148
  if (!url) {
142
- _context2.next = 13;
149
+ _context2.next = 15;
143
150
  break;
144
151
  }
145
- _context2.next = 13;
152
+ _context2.next = 15;
146
153
  return reload(url, true, undefined, linkId);
147
- case 13:
148
- _context2.next = 19;
149
- break;
150
154
  case 15:
151
- _context2.prev = 15;
155
+ _context2.next = 21;
156
+ break;
157
+ case 17:
158
+ _context2.prev = 17;
152
159
  _context2.t0 = _context2["catch"](0);
153
- // TODO: EDM-6261: Error state
154
160
  setIsLoading(false);
155
- setErrorCode(_types.InvokeActionError.Unknown);
156
- case 19:
161
+ if (isInvokeCustomError(_context2.t0)) {
162
+ setErrorMessage(_context2.t0.message);
163
+ } else {
164
+ setErrorMessage(_types.LozengeActionErrorMessages.updateFailed);
165
+ }
166
+ case 21:
157
167
  case "end":
158
168
  return _context2.stop();
159
169
  }
160
170
  }
161
- }, _callee2, null, [[0, 15]]);
171
+ }, _callee2, null, [[0, 17]]);
162
172
  }));
163
173
  return function (_x2) {
164
174
  return _ref3.apply(this, arguments);
165
175
  };
166
176
  }(), [action === null || action === void 0 ? void 0 : action.update, invoke, reload]);
167
177
  var dropdownItemGroup = (0, _react2.useMemo)(function () {
168
- if (errorCode) {
178
+ if (errorMessage) {
169
179
  return (0, _react.jsx)(_lozengeActionError.default, {
170
- errorCode: errorCode,
180
+ errorMessage: errorMessage,
171
181
  testId: testId
172
182
  });
173
183
  }
@@ -183,13 +193,14 @@ var LozengeAction = function LozengeAction(_ref) {
183
193
  }));
184
194
  })));
185
195
  }
186
- }, [errorCode, handleItemClick, items, testId]);
196
+ }, [errorMessage, handleItemClick, items, testId]);
187
197
  return (0, _react.jsx)(_dropdownMenu.default, {
188
198
  isLoading: isLoading,
189
199
  isOpen: isOpen,
190
200
  onOpenChange: handleOpenChange,
191
201
  testId: testId,
192
- trigger: trigger
202
+ trigger: trigger,
203
+ zIndex: zIndex
193
204
  }, dropdownItemGroup);
194
205
  };
195
206
  var _default = (0, _errorBoundary.default)(LozengeAction);
@@ -1,24 +1,45 @@
1
1
  "use strict";
2
2
 
3
- var _typeof = require("@babel/runtime/helpers/typeof");
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = require("@emotion/react");
9
+ var _react2 = require("react");
9
10
  var _dropdownMenu = require("@atlaskit/dropdown-menu");
10
- 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); }
11
- 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; }
11
+ var _colors = require("@atlaskit/theme/colors");
12
+ var _error = _interopRequireDefault(require("@atlaskit/icon/glyph/error"));
13
+ var _styled = require("./styled");
14
+ var _utils = require("../../../utils");
15
+ /** @jsx jsx */
16
+
17
+ var MAX_LINE_NUMBER = 8;
12
18
  var LozengeActionError = function LozengeActionError(_ref) {
13
- var errorCode = _ref.errorCode,
14
- testId = _ref.testId;
15
- // TODO: EDM-5746 and EDM-5782
16
- var content = (0, _react.useMemo)(function () {
17
- return errorCode;
18
- }, [errorCode]);
19
- return /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, null, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
19
+ var errorMessage = _ref.errorMessage,
20
+ testId = _ref.testId,
21
+ _ref$maxLineNumber = _ref.maxLineNumber,
22
+ maxLineNumber = _ref$maxLineNumber === void 0 ? MAX_LINE_NUMBER : _ref$maxLineNumber;
23
+ var content = (0, _react2.useMemo)(function () {
24
+ return (0, _react.jsx)(_react2.Fragment, null, (0, _react.jsx)("div", {
25
+ css: _styled.contentStyles
26
+ }, (0, _react.jsx)(_error.default, {
27
+ testId: "".concat(testId, "-icon"),
28
+ size: "medium",
29
+ primaryColor: "var(--ds-icon-danger, ".concat(_colors.R500, ")"),
30
+ secondaryColor: "var(--ds-background-danger, ".concat(_colors.R50, ")"),
31
+ label: 'error'
32
+ }), (0, _react.jsx)("span", {
33
+ css: (0, _styled.textStyles)(maxLineNumber),
34
+ "data-testid": "".concat(testId, "-error-message")
35
+ }, typeof errorMessage === 'string' ? errorMessage : (0, _utils.getFormattedMessage)(errorMessage))));
36
+ }, [errorMessage, maxLineNumber, testId]);
37
+ return (0, _react.jsx)("span", {
38
+ css: _styled.dropdownItemGroupStyles,
39
+ "data-testid": "".concat(testId, "-error-item-group")
40
+ }, (0, _react.jsx)(_dropdownMenu.DropdownItemGroup, null, (0, _react.jsx)(_dropdownMenu.DropdownItem, {
20
41
  testId: "".concat(testId, "-error")
21
- }, content));
42
+ }, content)));
22
43
  };
23
44
  var _default = LozengeActionError;
24
45
  exports.default = _default;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.textStyles = exports.dropdownItemGroupStyles = exports.contentStyles = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _colors = require("@atlaskit/theme/colors");
11
+ var _utils = require("../../../utils");
12
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
13
+ var dropdownItemGroupStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n button {\n width: 220px;\n\n &:hover {\n background-color: inherit;\n cursor: default;\n }\n }\n"])));
14
+ exports.dropdownItemGroupStyles = dropdownItemGroupStyles;
15
+ var sharedBlockStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n gap: 0.5rem;\n line-height: 1rem;\n min-width: 0;\n overflow: hidden;\n flex-direction: row;\n align-items: center;\n"])));
16
+ var contentStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n\n margin-top: 2px;\n align-items: flex-start;\n\n > span,\n > div {\n &[data-smart-element-text] {\n font-size: 0.875rem;\n color: ", ";\n }\n }\n"])), sharedBlockStyles, "var(--ds-text, ".concat(_colors.N800, ")"));
17
+ exports.contentStyles = contentStyles;
18
+ var textStyles = function textStyles(maxLines) {
19
+ return (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n line-height: 1rem;\n white-space: normal;\n ", ";\n"])), (0, _utils.getTruncateStyles)(maxLines));
20
+ };
21
+ exports.textStyles = textStyles;
@@ -2,4 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
- });
5
+ });
6
+ exports.LozengeActionErrorMessages = void 0;
7
+ var _messages = require("../../../../../../messages");
8
+ var LozengeActionErrorMessages = {
9
+ noData: {
10
+ descriptor: _messages.messages['status_change_permission_error']
11
+ },
12
+ unknown: {
13
+ descriptor: _messages.messages['status_change_load_error']
14
+ },
15
+ updateFailed: {
16
+ descriptor: _messages.messages['status_change_update_error']
17
+ }
18
+ };
19
+ exports.LozengeActionErrorMessages = LozengeActionErrorMessages;
@@ -82,6 +82,7 @@ var getContainerStyles = function getContainerStyles(size, hideBackground, hideE
82
82
  exports.getContainerStyles = getContainerStyles;
83
83
  var renderChildren = function renderChildren(children, containerSize, containerTheme, status, retry, onClick, onActionMenuOpenChange) {
84
84
  return _react.default.Children.map(children, function (child) {
85
+ // TODO: EDM-6468: Use useFlexibleUiOptionContext for rendering options inside block/element instead
85
86
  if ( /*#__PURE__*/_react.default.isValidElement(child) && (0, _flexible.isFlexibleUiBlock)(child)) {
86
87
  var blockSize = child.props.size;
87
88
  var size = blockSize || containerSize;
@@ -152,10 +153,12 @@ var Container = function Container(_ref3) {
152
153
  hideHoverCardPreviewButton = _ref3$hideHoverCardPr === void 0 ? false : _ref3$hideHoverCardPr,
153
154
  _ref3$hidePadding = _ref3.hidePadding,
154
155
  hidePadding = _ref3$hidePadding === void 0 ? false : _ref3$hidePadding,
155
- _ref3$showHoverPrevie = _ref3.showHoverPreview,
156
- showHoverPreview = _ref3$showHoverPrevie === void 0 ? false : _ref3$showHoverPrevie,
157
156
  onClick = _ref3.onClick,
158
157
  retry = _ref3.retry,
158
+ _ref3$showHoverPrevie = _ref3.showHoverPreview,
159
+ showHoverPreview = _ref3$showHoverPrevie === void 0 ? false : _ref3$showHoverPrevie,
160
+ _ref3$showServerActio = _ref3.showServerActions,
161
+ showServerActions = _ref3$showServerActio === void 0 ? false : _ref3$showServerActio,
159
162
  _ref3$size = _ref3.size,
160
163
  size = _ref3$size === void 0 ? _constants.SmartLinkSize.Medium : _ref3$size,
161
164
  status = _ref3.status,
@@ -182,7 +185,8 @@ var Container = function Container(_ref3) {
182
185
  url: context === null || context === void 0 ? void 0 : context.url,
183
186
  canOpen: hoverCardCanOpen,
184
187
  closeOnChildClick: true,
185
- hidePreviewButton: hideHoverCardPreviewButton
188
+ hidePreviewButton: hideHoverCardPreviewButton,
189
+ showServerActions: showServerActions
186
190
  }, containerContent);
187
191
  }
188
192
  return containerContent;
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var _react2 = require("@emotion/react");
13
13
  var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
14
14
  var _lozengeAction = _interopRequireDefault(require("../../common/lozenge-action"));
15
+ var _flexibleUiContext = require("../../../../../state/flexible-ui-context");
15
16
  var _templateObject, _templateObject2;
16
17
  /** @jsx jsx */
17
18
  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); }
@@ -35,6 +36,7 @@ var Lozenge = function Lozenge(_ref) {
35
36
  text = _ref.text,
36
37
  _ref$testId = _ref.testId,
37
38
  testId = _ref$testId === void 0 ? 'smart-element-lozenge' : _ref$testId;
39
+ var ui = (0, _flexibleUiContext.useFlexibleUiOptionContext)();
38
40
  var _useState = (0, _react.useState)(false),
39
41
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
42
  isBold = _useState2[0],
@@ -57,7 +59,8 @@ var Lozenge = function Lozenge(_ref) {
57
59
  action: action,
58
60
  appearance: appearance,
59
61
  testId: testId,
60
- text: text
62
+ text: text,
63
+ zIndex: ui === null || ui === void 0 ? void 0 : ui.zIndex
61
64
  }) : (0, _react2.jsx)(_lozenge.default, {
62
65
  appearance: appearance,
63
66
  isBold: isBold,
@@ -85,16 +85,19 @@ var FlexibleCard = function FlexibleCard(_ref) {
85
85
  }, [onError, onResolve, status, title, url]);
86
86
  return /*#__PURE__*/_react.default.createElement(_flexibleUiContext.FlexibleUiAnalyticsContext.Provider, {
87
87
  value: analytics
88
+ }, /*#__PURE__*/_react.default.createElement(_flexibleUiContext.FlexibleUiOptionContext.Provider, {
89
+ value: ui
88
90
  }, /*#__PURE__*/_react.default.createElement(_flexibleUiContext.FlexibleUiContext.Provider, {
89
91
  value: context
90
92
  }, /*#__PURE__*/_react.default.createElement(_container.default, (0, _extends2.default)({
91
93
  testId: testId
92
94
  }, ui, {
93
- showHoverPreview: showHoverPreview,
94
95
  onClick: onClick,
95
96
  retry: retry,
97
+ showHoverPreview: showHoverPreview,
98
+ showServerActions: showServerActions,
96
99
  status: status
97
- }), children)));
100
+ }), children))));
98
101
  };
99
102
  var _default = FlexibleCard;
100
103
  exports.default = _default;
@@ -31,7 +31,9 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
31
31
  _ref$closeOnChildClic = _ref.closeOnChildClick,
32
32
  closeOnChildClick = _ref$closeOnChildClic === void 0 ? false : _ref$closeOnChildClic,
33
33
  _ref$hidePreviewButto = _ref.hidePreviewButton,
34
- hidePreviewButton = _ref$hidePreviewButto === void 0 ? false : _ref$hidePreviewButto;
34
+ hidePreviewButton = _ref$hidePreviewButto === void 0 ? false : _ref$hidePreviewButto,
35
+ _ref$showServerAction = _ref.showServerActions,
36
+ showServerActions = _ref$showServerAction === void 0 ? false : _ref$showServerAction;
35
37
  var delay = 300;
36
38
  var _React$useState = _react2.default.useState(false),
37
39
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
@@ -140,9 +142,10 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
140
142
  onActionClick: onActionClick,
141
143
  onResolve: update,
142
144
  renderers: renderers,
145
+ showServerActions: showServerActions,
143
146
  url: url
144
147
  });
145
- }, [analytics, initHideCard, initShowCard, filteredActions, linkState, onActionClick, renderers, url]);
148
+ }, [analytics, initHideCard, initShowCard, filteredActions, linkState, onActionClick, renderers, showServerActions, url]);
146
149
  var trigger = (0, _react2.useCallback)(function (triggerProps) {
147
150
  return (0, _react.jsx)("span", {
148
151
  ref: parentSpan
@@ -163,7 +166,7 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
163
166
  autoFocus: false,
164
167
  content: content,
165
168
  trigger: trigger,
166
- zIndex: 511 // Temporary fix for Confluence inline comment on editor mod has z-index of 500, Jira issue view has z-index of 510
169
+ zIndex: _styled.HOVER_CARD_Z_INDEX
167
170
  });
168
171
  };
169
172
  exports.HoverCardComponent = HoverCardComponent;
@@ -100,7 +100,8 @@ var HoverCardContent = function HoverCardContent(_ref) {
100
100
  renderers = _ref.renderers,
101
101
  url = _ref.url,
102
102
  onMouseEnter = _ref.onMouseEnter,
103
- onMouseLeave = _ref.onMouseLeave;
103
+ onMouseLeave = _ref.onMouseLeave,
104
+ showServerActions = _ref.showServerActions;
104
105
  var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
105
106
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
106
107
  var extensionKey = (0, _react2.useMemo)(function () {
@@ -141,6 +142,7 @@ var HoverCardContent = function HoverCardContent(_ref) {
141
142
  onClick: onClick,
142
143
  onResolve: onResolve,
143
144
  renderers: renderers,
145
+ showServerActions: showServerActions,
144
146
  ui: _styled.flexibleUiOptions,
145
147
  url: url,
146
148
  children: {}
@@ -4,12 +4,15 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.titleBlockCss = exports.separatorCss = exports.getTransitionStyles = exports.flexibleUiOptions = exports.HoverCardContainer = exports.CARD_WIDTH_REM = exports.CARD_GAP_PX = void 0;
7
+ exports.titleBlockCss = exports.separatorCss = exports.getTransitionStyles = exports.flexibleUiOptions = exports.HoverCardContainer = exports.HOVER_CARD_Z_INDEX = exports.CARD_WIDTH_REM = exports.CARD_GAP_PX = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = require("@emotion/react");
10
10
  var _index = require("../../index");
11
11
  var _constants = require("../../constants");
12
12
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
13
+ // Temporary fix for Confluence inline comment on editor mod has z-index of 500, Jira issue view has z-index of 510
14
+ var HOVER_CARD_Z_INDEX = 511;
15
+ exports.HOVER_CARD_Z_INDEX = HOVER_CARD_Z_INDEX;
13
16
  var flexibleUiOptions = {
14
17
  hideBackground: true,
15
18
  hideElevation: true,
@@ -17,7 +20,8 @@ var flexibleUiOptions = {
17
20
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
18
21
  theme: _constants.SmartLinkTheme.Black,
19
22
  hidePadding: true,
20
- hideHoverCardPreviewButton: false
23
+ hideHoverCardPreviewButton: false,
24
+ zIndex: HOVER_CARD_Z_INDEX + 1
21
25
  };
22
26
  exports.flexibleUiOptions = flexibleUiOptions;
23
27
  var CARD_WIDTH_REM = 24;
@@ -54,7 +54,9 @@ var InlineCardResolvedView = /*#__PURE__*/function (_React$Component) {
54
54
  titleTextColor = _this$props.titleTextColor,
55
55
  titlePrefix = _this$props.titlePrefix,
56
56
  _this$props$showHover = _this$props.showHoverPreview,
57
- showHoverPreview = _this$props$showHover === void 0 ? false : _this$props$showHover;
57
+ showHoverPreview = _this$props$showHover === void 0 ? false : _this$props$showHover,
58
+ _this$props$showServe = _this$props.showServerActions,
59
+ showServerActions = _this$props$showServe === void 0 ? false : _this$props$showServe;
58
60
  var inlineCardResolvedView = /*#__PURE__*/_react.default.createElement(_Frame.Frame, {
59
61
  testId: testId,
60
62
  link: link,
@@ -69,6 +71,7 @@ var InlineCardResolvedView = /*#__PURE__*/function (_React$Component) {
69
71
  if (showHoverPreview && link) {
70
72
  return /*#__PURE__*/_react.default.createElement(_index.HoverCard, {
71
73
  id: id,
74
+ showServerActions: showServerActions,
72
75
  url: link
73
76
  }, inlineCardResolvedView);
74
77
  }