@atlaskit/smart-card 36.12.0 → 36.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/constants.js +1 -0
  3. package/dist/cjs/index.js +6 -0
  4. package/dist/cjs/utils/analytics/analytics.js +1 -1
  5. package/dist/cjs/view/FlexibleCard/components/actions/index.js +7 -0
  6. package/dist/cjs/view/FlexibleCard/components/actions/unresolved-action/index.compiled.css +3 -0
  7. package/dist/cjs/view/FlexibleCard/components/actions/unresolved-action/index.js +51 -0
  8. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.compiled.css +9 -3
  9. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.js +2 -3
  10. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/errored/index.js +15 -2
  11. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/index.js +9 -3
  12. package/dist/cjs/view/FlexibleCard/components/container/index.js +6 -7
  13. package/dist/cjs/view/FlexibleCard/external.js +4 -1
  14. package/dist/cjs/view/FlexibleCard/index.js +4 -2
  15. package/dist/cjs/view/FlexibleCard/utils.js +6 -2
  16. package/dist/cjs/view/LinkUrl/index.js +1 -1
  17. package/dist/es2019/constants.js +1 -0
  18. package/dist/es2019/index.js +1 -1
  19. package/dist/es2019/utils/analytics/analytics.js +1 -1
  20. package/dist/es2019/view/FlexibleCard/components/actions/index.js +1 -0
  21. package/dist/es2019/view/FlexibleCard/components/actions/unresolved-action/index.compiled.css +3 -0
  22. package/dist/es2019/view/FlexibleCard/components/actions/unresolved-action/index.js +46 -0
  23. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.compiled.css +7 -2
  24. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.js +1 -1
  25. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/errored/index.js +15 -2
  26. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/index.js +9 -3
  27. package/dist/es2019/view/FlexibleCard/components/container/index.js +4 -2
  28. package/dist/es2019/view/FlexibleCard/external.js +3 -2
  29. package/dist/es2019/view/FlexibleCard/index.js +4 -2
  30. package/dist/es2019/view/FlexibleCard/utils.js +8 -3
  31. package/dist/es2019/view/LinkUrl/index.js +1 -1
  32. package/dist/esm/constants.js +1 -0
  33. package/dist/esm/index.js +1 -1
  34. package/dist/esm/utils/analytics/analytics.js +1 -1
  35. package/dist/esm/view/FlexibleCard/components/actions/index.js +1 -0
  36. package/dist/esm/view/FlexibleCard/components/actions/unresolved-action/index.compiled.css +3 -0
  37. package/dist/esm/view/FlexibleCard/components/actions/unresolved-action/index.js +44 -0
  38. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.compiled.css +9 -3
  39. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/feature-discovery/index.js +2 -3
  40. package/dist/esm/view/FlexibleCard/components/blocks/title-block/errored/index.js +16 -3
  41. package/dist/esm/view/FlexibleCard/components/blocks/title-block/index.js +9 -3
  42. package/dist/esm/view/FlexibleCard/components/container/index.js +5 -4
  43. package/dist/esm/view/FlexibleCard/external.js +4 -1
  44. package/dist/esm/view/FlexibleCard/index.js +4 -2
  45. package/dist/esm/view/FlexibleCard/utils.js +7 -3
  46. package/dist/esm/view/LinkUrl/index.js +1 -1
  47. package/dist/types/constants.d.ts +1 -0
  48. package/dist/types/index.d.ts +1 -1
  49. package/dist/types/state/flexible-ui-context/types.d.ts +3 -0
  50. package/dist/types/view/FlexibleCard/components/actions/index.d.ts +1 -0
  51. package/dist/types/view/FlexibleCard/components/actions/unresolved-action/index.d.ts +5 -0
  52. package/dist/types/view/FlexibleCard/components/blocks/title-block/errored/index.d.ts +1 -1
  53. package/dist/types/view/FlexibleCard/external.d.ts +1 -0
  54. package/dist/types/view/FlexibleCard/types.d.ts +1 -1
  55. package/dist/types-ts4.5/constants.d.ts +1 -0
  56. package/dist/types-ts4.5/index.d.ts +1 -1
  57. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +3 -0
  58. package/dist/types-ts4.5/view/FlexibleCard/components/actions/index.d.ts +1 -0
  59. package/dist/types-ts4.5/view/FlexibleCard/components/actions/unresolved-action/index.d.ts +5 -0
  60. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/title-block/errored/index.d.ts +1 -1
  61. package/dist/types-ts4.5/view/FlexibleCard/external.d.ts +1 -0
  62. package/dist/types-ts4.5/view/FlexibleCard/types.d.ts +1 -1
  63. package/package.json +6 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 36.13.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#148306](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/148306)
8
+ [`4bd610f4ddae6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4bd610f4ddae6) -
9
+ [ux] Export unresolved action behind platform-linking-flexible-card-unresolved-action fg
10
+
11
+ ## 36.12.1
12
+
13
+ ### Patch Changes
14
+
15
+ - [#148201](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/148201)
16
+ [`8e811f1840de7`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8e811f1840de7) -
17
+ Either actively or pre-emptively fixes a bug with keyframe animations in CJS and ESM distribution
18
+ targets for packages using Compiled CSS-in-JS. This may not affect this package, but the change
19
+ was made so a future migration does not accidentally break it.
20
+ - Updated dependencies
21
+
3
22
  ## 36.12.0
4
23
 
5
24
  ### Minor Changes
@@ -158,6 +158,7 @@ var ActionName = exports.ActionName = /*#__PURE__*/function (ActionName) {
158
158
  }({});
159
159
  var InternalActionName = exports.InternalActionName = /*#__PURE__*/function (InternalActionName) {
160
160
  InternalActionName["AISummaryAction"] = "AISummaryAction";
161
+ InternalActionName["UnresolvedAction"] = "UnresolvedAction";
161
162
  InternalActionName["ViewRelatedLinksAction"] = "ViewRelatedLinksAction";
162
163
  return InternalActionName;
163
164
  }({});
package/dist/cjs/index.js CHANGED
@@ -339,6 +339,12 @@ Object.defineProperty(exports, "TitleElement", {
339
339
  return _external.TitleElement;
340
340
  }
341
341
  });
342
+ Object.defineProperty(exports, "UnresolvedAction", {
343
+ enumerable: true,
344
+ get: function get() {
345
+ return _external.UnresolvedAction;
346
+ }
347
+ });
342
348
  Object.defineProperty(exports, "ViewCountElement", {
343
349
  enumerable: true,
344
350
  get: function get() {
@@ -11,7 +11,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
11
11
  var context = exports.context = {
12
12
  componentName: 'smart-cards',
13
13
  packageName: "@atlaskit/smart-card",
14
- packageVersion: "36.12.0"
14
+ packageVersion: "36.13.0"
15
15
  };
16
16
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
17
17
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -58,6 +58,12 @@ Object.defineProperty(exports, "PreviewAction", {
58
58
  return _previewAction.default;
59
59
  }
60
60
  });
61
+ Object.defineProperty(exports, "UnresolvedAction", {
62
+ enumerable: true,
63
+ get: function get() {
64
+ return _unresolvedAction.default;
65
+ }
66
+ });
61
67
  Object.defineProperty(exports, "ViewRelatedLinksAction", {
62
68
  enumerable: true,
63
69
  get: function get() {
@@ -71,6 +77,7 @@ var _downloadAction = _interopRequireDefault(require("./download-action"));
71
77
  var _followAction = _interopRequireDefault(require("./follow-action"));
72
78
  var _previewAction = _interopRequireDefault(require("./preview-action"));
73
79
  var _copyLinkAction = _interopRequireDefault(require("./copy-link-action"));
80
+ var _unresolvedAction = _interopRequireDefault(require("./unresolved-action"));
74
81
  var _aiSummaryAction = _interopRequireDefault(require("./ai-summary-action"));
75
82
  var _automationAction = _interopRequireDefault(require("./automation-action"));
76
83
  var _viewRelatedLinksAction = _interopRequireDefault(require("./view-related-links-action"));
@@ -0,0 +1,3 @@
1
+ ._18zrze3t{padding-inline:var(--ds-space-0,0)}
2
+ ._1rjcze3t{padding-block:var(--ds-space-0,0)}
3
+ ._1e0c1bgi{display:contents}
@@ -0,0 +1,51 @@
1
+ /* index.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ require("./index.compiled.css");
10
+ var _runtime = require("@compiled/react/runtime");
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+ var _react = _interopRequireDefault(require("react"));
13
+ var _reactIntlNext = require("react-intl-next");
14
+ var _compiled = require("@atlaskit/primitives/compiled");
15
+ var _constants = require("../../../../../constants");
16
+ var _flexibleUiContext = require("../../../../../state/flexible-ui-context");
17
+ var styles = {
18
+ button: "_1e0c1bgi",
19
+ message: "_1rjcze3t _18zrze3t"
20
+ };
21
+ var UnresolvedAction = function UnresolvedAction(_ref) {
22
+ var _context$actions;
23
+ var _ref$testId = _ref.testId,
24
+ testId = _ref$testId === void 0 ? 'unresolved-action' : _ref$testId;
25
+ var context = (0, _flexibleUiContext.useFlexibleUiContext)();
26
+ var data = context === null || context === void 0 || (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[_constants.InternalActionName.UnresolvedAction];
27
+ if (!data) {
28
+ return null;
29
+ }
30
+ var descriptor = data.descriptor,
31
+ onClick = data.onClick,
32
+ values = data.values;
33
+ var hasAction = onClick !== undefined;
34
+ var message = /*#__PURE__*/_react.default.createElement(_compiled.Box, {
35
+ testId: "".concat(testId, "-errored-view-message"),
36
+ tabIndex: hasAction ? 0 : undefined,
37
+ xcss: styles.message
38
+ }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, descriptor, {
39
+ values: values
40
+ })));
41
+ return hasAction ? /*#__PURE__*/_react.default.createElement(_compiled.Pressable, {
42
+ onClick: data.onClick,
43
+ style: {
44
+ color: "inherit",
45
+ font: "inherit",
46
+ textAlign: "inherit"
47
+ },
48
+ xcss: styles.button
49
+ }, message) : message;
50
+ };
51
+ var _default = exports.default = UnresolvedAction;
@@ -1,4 +1,10 @@
1
1
 
2
- ._2rko1l7b{border-radius:3px}
3
- ._y44v1kew{animation:var(--_d0o24t)}._16qs10kv{box-shadow:var(--_zsb6fb)}
4
- ._1e0c116y{display:inline-flex}
2
+ ._2rko1l7b{border-radius:3px}._16qs10kv{box-shadow:var(--_zsb6fb)}
3
+ ._1e0c116y{display:inline-flex}
4
+ ._1o511hrf{animation-fill-mode:both}
5
+ ._1pgl1trn{animation-timing-function:cubic-bezier(.5,0,0,1)}
6
+ ._5sagymdr{animation-duration:2s}
7
+ ._j7hq8j16{animation-name:k1kh5krz}
8
+ ._ju251doz{animation-delay:.25s}
9
+ ._tip8cs5v{animation-iteration-count:2}
10
+ @keyframes k1kh5krz{to{box-shadow:0 0 0 7px transparent}}
@@ -60,10 +60,9 @@ var FeatureDiscovery = function FeatureDiscovery(_ref) {
60
60
  if (!discovered) {
61
61
  return /*#__PURE__*/React.createElement("span", {
62
62
  "data-testid": "".concat(testId, "-discovery"),
63
- className: (0, _runtime.ax)(["_2rko1l7b _y44v1kew _1e0c116y _16qs10kv"]),
63
+ className: (0, _runtime.ax)(["_2rko1l7b _1e0c116y _16qs10kv _j7hq8j16 _5sagymdr _1pgl1trn _ju251doz _1o511hrf _tip8cs5v"]),
64
64
  style: {
65
- "--_zsb6fb": (0, _runtime.ix)("0 0 0 0 ".concat("var(--ds-border-discovery, #8270DB)")),
66
- "--_d0o24t": (0, _runtime.ix)("".concat(pulseKeyframes, " 2s cubic-bezier(0.5, 0, 0, 1) 0.25s both 2"))
65
+ "--_zsb6fb": (0, _runtime.ix)("0 0 0 0 ".concat("var(--ds-border-discovery, #8270DB)"))
67
66
  }
68
67
  }, children);
69
68
  }
@@ -9,12 +9,15 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
  var _reactIntlNext = require("react-intl-next");
12
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
12
13
  var _compiled = require("@atlaskit/primitives/compiled");
13
14
  var _constants = require("../../../../../../constants");
15
+ var _flexibleUiContext = require("../../../../../../state/flexible-ui-context");
16
+ var _actions = require("../../../actions");
14
17
  var _elements = require("../../../elements");
15
18
  var _block = _interopRequireDefault(require("../../block"));
16
19
  var _elementGroup = _interopRequireDefault(require("../../element-group"));
17
- var _excluded = ["actionGroup", "retry", "position", "testId", "title", "icon", "hideIcon"];
20
+ var _excluded = ["actionGroup", "hideRetry", "retry", "position", "testId", "title", "icon", "hideIcon"];
18
21
  /**
19
22
  * Represents an Errored TitleBlock view.
20
23
  * This will render when a Smart Link did not successfully resolve.
@@ -23,7 +26,9 @@ var _excluded = ["actionGroup", "retry", "position", "testId", "title", "icon",
23
26
  * @see TitleBlock
24
27
  */
25
28
  var TitleBlockErroredView = function TitleBlockErroredView(_ref) {
29
+ var _context$actions;
26
30
  var actionGroup = _ref.actionGroup,
31
+ hideRetry = _ref.hideRetry,
27
32
  retry = _ref.retry,
28
33
  position = _ref.position,
29
34
  testId = _ref.testId,
@@ -36,12 +41,20 @@ var TitleBlockErroredView = function TitleBlockErroredView(_ref) {
36
41
  onClick = _ref2.onClick,
37
42
  values = _ref2.values;
38
43
  var hasAction = onClick !== undefined;
44
+ var context = (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-unresolved-action') ?
45
+ // eslint-disable-next-line react-hooks/rules-of-hooks
46
+ (0, _flexibleUiContext.useFlexibleUiContext)() : {};
47
+ var showRetry = (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-unresolved-action') ? !hideRetry && Boolean(context === null || context === void 0 || (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[_constants.InternalActionName.UnresolvedAction]) : false;
39
48
  return /*#__PURE__*/_react.default.createElement(_block.default, (0, _extends2.default)({}, blockProps, {
40
49
  testId: "".concat(testId, "-errored-view")
41
50
  }), !hideIcon && /*#__PURE__*/_react.default.createElement(_elements.LinkIcon, {
42
51
  overrideIcon: icon,
43
52
  position: position
44
- }), title, descriptor && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
53
+ }), title, showRetry && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
54
+ align: _constants.SmartLinkAlignment.Right
55
+ }, /*#__PURE__*/_react.default.createElement(_actions.UnresolvedAction, {
56
+ testId: testId
57
+ })), !(0, _platformFeatureFlags.fg)('platform-linking-flexible-card-unresolved-action') && descriptor && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
45
58
  direction: _constants.SmartLinkDirection.Horizontal,
46
59
  align: _constants.SmartLinkAlignment.Right
47
60
  }, /*#__PURE__*/_react.default.createElement(_compiled.Box, {
@@ -14,6 +14,7 @@ var _runtime = require("@compiled/react/runtime");
14
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
15
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
18
  var _constants = require("../../../../../constants");
18
19
  var _useLinkClicked = require("../../../../../state/analytics/useLinkClicked");
19
20
  var _elements = require("../../elements");
@@ -76,8 +77,10 @@ var TitleBlock = function TitleBlock(_ref) {
76
77
  hideIcon = _ref$hideIcon === void 0 ? false : _ref$hideIcon,
77
78
  className = _ref.className,
78
79
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
79
- if (hideRetry && props.retry) {
80
- delete props.retry;
80
+ if (!(0, _platformFeatureFlags.fg)('platform-linking-flexible-card-unresolved-action')) {
81
+ if (hideRetry && props.retry) {
82
+ delete props.retry;
83
+ }
81
84
  }
82
85
  var _useState = (0, _react.useState)(false),
83
86
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
@@ -117,7 +120,10 @@ var TitleBlock = function TitleBlock(_ref) {
117
120
  testId: testId,
118
121
  title: title,
119
122
  metadataPosition: metadataPosition,
120
- hideIcon: hideIcon,
123
+ hideIcon: hideIcon
124
+ }, (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-unresolved-action') ? {
125
+ hideRetry: hideRetry
126
+ } : undefined, {
121
127
  icon: icon,
122
128
  size: props.size,
123
129
  theme: theme
@@ -9,8 +9,8 @@ Object.defineProperty(exports, "__esModule", {
9
9
  exports.getFlexibleUiBlock = exports.getChildrenOptions = exports.default = void 0;
10
10
  require("./index.compiled.css");
11
11
  var _runtime = require("@compiled/react/runtime");
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _reactMagneticDi = require("react-magnetic-di");
16
16
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
@@ -23,12 +23,10 @@ var _blocks = require("../blocks");
23
23
  var _hoverCardControl = _interopRequireDefault(require("./hover-card-control"));
24
24
  var _layeredLink = _interopRequireDefault(require("./layered-link"));
25
25
  var _excluded = ["containerSize"];
26
- /* eslint-disable @atlaskit/design-system/consistent-css-prop-usage */
27
- /* eslint-disable @atlaskit/ui-styling-standard/no-unsafe-values */
28
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
30
28
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
31
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* eslint-disable @atlaskit/design-system/consistent-css-prop-usage */ /* eslint-disable @atlaskit/ui-styling-standard/no-unsafe-values */
32
30
  var getChildrenOptions = exports.getChildrenOptions = function getChildrenOptions(children, context) {
33
31
  var options = {};
34
32
  if ((0, _utils.isFlexUiPreviewPresent)(context)) {
@@ -63,14 +61,15 @@ var renderChildren = function renderChildren(children, containerSize, containerT
63
61
  } else {
64
62
  var _blockSize = child.props.size;
65
63
  var _size = _blockSize || containerSize;
66
- return /*#__PURE__*/_react.default.cloneElement(child, {
64
+ return /*#__PURE__*/_react.default.cloneElement(child, _objectSpread({
67
65
  // @ts-expect-error
68
66
  onClick: onClick,
69
- retry: retry,
70
67
  size: _size,
71
68
  status: status,
72
69
  theme: containerTheme
73
- });
70
+ }, (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-unresolved-action') ? undefined : {
71
+ retry: retry
72
+ }));
74
73
  }
75
74
  }
76
75
  var blockSize = child.props.size;
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.toActionProps = exports.VoteCountElement = exports.ViewCountElement = exports.TitleElement = exports.TargetBranchElement = exports.SubscriberCountElement = exports.SubTasksProgressElement = exports.StoryPointsElement = exports.StateElement = exports.SourceBranchElement = exports.SnippetElement = exports.SentOnElement = exports.ReadTimeElement = exports.ReactCountElement = exports.ProviderElement = exports.ProgrammingLanguageElement = exports.PriorityElement = exports.PreviewElement = exports.PreviewAction = exports.OwnedByGroupElement = exports.OwnedByElement = exports.ModifiedOnElement = exports.ModifiedByElement = exports.LocationElement = exports.LinkIconElement = exports.LatestCommitElement = exports.FollowAction = exports.DueOnElement = exports.DownloadAction = exports.CustomAction = exports.CreatedOnElement = exports.CreatedByElement = exports.CopyLinkAction = exports.CommentCountElement = exports.CollaboratorGroupElement = exports.ChecklistProgressElement = exports.AuthorGroupElement = exports.AttachmentCountElement = exports.AssignedToGroupElement = exports.AssignedToElement = void 0;
7
+ exports.toActionProps = exports.VoteCountElement = exports.ViewCountElement = exports.UnresolvedAction = exports.TitleElement = exports.TargetBranchElement = exports.SubscriberCountElement = exports.SubTasksProgressElement = exports.StoryPointsElement = exports.StateElement = exports.SourceBranchElement = exports.SnippetElement = exports.SentOnElement = exports.ReadTimeElement = exports.ReactCountElement = exports.ProviderElement = exports.ProgrammingLanguageElement = exports.PriorityElement = exports.PreviewElement = exports.PreviewAction = exports.OwnedByGroupElement = exports.OwnedByElement = exports.ModifiedOnElement = exports.ModifiedByElement = exports.LocationElement = exports.LinkIconElement = exports.LatestCommitElement = exports.FollowAction = exports.DueOnElement = exports.DownloadAction = exports.CustomAction = exports.CreatedOnElement = exports.CreatedByElement = exports.CopyLinkAction = exports.CommentCountElement = exports.CollaboratorGroupElement = exports.ChecklistProgressElement = exports.AuthorGroupElement = exports.AttachmentCountElement = exports.AssignedToGroupElement = exports.AssignedToElement = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _actions = require("./components/actions");
@@ -157,4 +157,7 @@ var FollowAction = exports.FollowAction = function FollowAction(props) {
157
157
  };
158
158
  var PreviewAction = exports.PreviewAction = function PreviewAction(props) {
159
159
  return /*#__PURE__*/_react.default.createElement(_actions.PreviewAction, toActionProps(props));
160
+ };
161
+ var UnresolvedAction = exports.UnresolvedAction = function UnresolvedAction() {
162
+ return /*#__PURE__*/_react.default.createElement(_actions.UnresolvedAction, null);
160
163
  };
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _useAnalyticsEvents2 = require("../../common/analytics/generated/use-analytics-events");
12
13
  var _constants = require("../../constants");
13
14
  var _flexibleUiContext = require("../../state/flexible-ui-context");
@@ -55,6 +56,7 @@ var FlexibleCard = function FlexibleCard(_ref) {
55
56
  fireEvent: fireEvent,
56
57
  response: details,
57
58
  id: id,
59
+ onAuthorize: onAuthorize,
58
60
  origin: origin,
59
61
  renderers: renderers,
60
62
  resolve: resolve,
@@ -62,8 +64,8 @@ var FlexibleCard = function FlexibleCard(_ref) {
62
64
  status: status,
63
65
  url: url
64
66
  });
65
- }, [aiSummaryConfig, appearance, details, fireEvent, id, origin, renderers, actionOptions, resolve, status, url]);
66
- var retry = (0, _utils.getRetryOptions)(url, status, details, onAuthorize);
67
+ }, [aiSummaryConfig, appearance, details, fireEvent, id, onAuthorize, origin, renderers, actionOptions, resolve, status, url]);
68
+ var retry = (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-unresolved-action') ? undefined : (0, _utils.getRetryOptions)(url, status, details, onAuthorize);
67
69
  var _ref2 = context || {},
68
70
  title = _ref2.title;
69
71
  (0, _react.useEffect)(function () {
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.getRetryOptions = exports.getContextByStatus = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _linkExtractors = require("@atlaskit/link-extractors");
10
11
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _constants = require("../../constants");
@@ -39,6 +40,7 @@ var getContextByStatus = exports.getContextByStatus = function getContextByStatu
39
40
  case _constants.SmartLinkStatus.Errored:
40
41
  case _constants.SmartLinkStatus.Fallback:
41
42
  default:
43
+ var actions = (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-unresolved-action') ? (0, _defineProperty2.default)({}, _constants.InternalActionName.UnresolvedAction, getRetryOptions(url, status, response, params.onAuthorize)) : undefined;
42
44
  if ((0, _platformFeatureFlags.fg)('smart_links_noun_support')) {
43
45
  if ((0, _linkExtractors.isEntityPresent)(response)) {
44
46
  return {
@@ -46,7 +48,8 @@ var getContextByStatus = exports.getContextByStatus = function getContextByStatu
46
48
  title: url,
47
49
  linkIcon: (0, _icon.extractErrorIcon)(response, status),
48
50
  preview: (0, _extractPreview.extractSmartLinkPreviewImage)(response),
49
- provider: (0, _extractProviderIcon.extractSmartLinkProviderIcon)(response)
51
+ provider: (0, _extractProviderIcon.extractSmartLinkProviderIcon)(response),
52
+ actions: actions
50
53
  };
51
54
  }
52
55
  }
@@ -55,7 +58,8 @@ var getContextByStatus = exports.getContextByStatus = function getContextByStatu
55
58
  title: url,
56
59
  linkIcon: (0, _icon.extractErrorIcon)(response, status),
57
60
  preview: (0, _extractPreview.default)(response === null || response === void 0 ? void 0 : response.data),
58
- provider: (0, _extractProviderIcon.default)(response === null || response === void 0 ? void 0 : response.data)
61
+ provider: (0, _extractProviderIcon.default)(response === null || response === void 0 ? void 0 : response.data),
62
+ actions: actions
59
63
  };
60
64
  }
61
65
  };
@@ -20,7 +20,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId", "isLink
20
20
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
21
21
  var PACKAGE_DATA = {
22
22
  packageName: "@atlaskit/smart-card",
23
- packageVersion: "36.12.0",
23
+ packageVersion: "36.13.0",
24
24
  componentName: 'linkUrl'
25
25
  };
26
26
  var Anchor = (0, _click.withLinkClickedEvent)('a');
@@ -160,6 +160,7 @@ export let ActionName = /*#__PURE__*/function (ActionName) {
160
160
  }({});
161
161
  export let InternalActionName = /*#__PURE__*/function (InternalActionName) {
162
162
  InternalActionName["AISummaryAction"] = "AISummaryAction";
163
+ InternalActionName["UnresolvedAction"] = "UnresolvedAction";
163
164
  InternalActionName["ViewRelatedLinksAction"] = "ViewRelatedLinksAction";
164
165
  return InternalActionName;
165
166
  }({});
@@ -15,6 +15,6 @@ export { loadingPlaceholderClassName } from './view/CardWithUrl/component-lazy/L
15
15
  export { ActionName, ElementName, MediaPlacement, SmartLinkDirection, SmartLinkPosition, SmartLinkSize, SmartLinkTheme } from './constants';
16
16
  export { MetadataBlock, PreviewBlock, SnippetBlock, TitleBlock, FooterBlock, CustomBlock } from './view/FlexibleCard/components/blocks';
17
17
  export { AssignedToElement, AssignedToGroupElement, AttachmentCountElement, AuthorGroupElement, ChecklistProgressElement, CollaboratorGroupElement, CommentCountElement, CreatedOnElement, CreatedByElement, DueOnElement, LatestCommitElement, LinkIconElement, LocationElement, ModifiedByElement, ModifiedOnElement, OwnedByElement, OwnedByGroupElement, PreviewElement, PriorityElement, ProgrammingLanguageElement, ProviderElement, ReactCountElement, ReadTimeElement, SentOnElement, SnippetElement, SourceBranchElement, StateElement, StoryPointsElement, SubscriberCountElement, SubTasksProgressElement, TargetBranchElement, TitleElement, ViewCountElement, VoteCountElement } from './view/FlexibleCard/external';
18
- export { CopyLinkAction, CustomAction, DownloadAction, FollowAction, PreviewAction } from './view/FlexibleCard/external';
18
+ export { CopyLinkAction, CustomAction, DownloadAction, FollowAction, PreviewAction, UnresolvedAction } from './view/FlexibleCard/external';
19
19
  /** @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-661 Internal documentation for deprecation (no external access)} */
20
20
  export { editorCardProvider, EditorCardProvider } from '@atlaskit/link-provider';
@@ -2,7 +2,7 @@ export const ANALYTICS_CHANNEL = 'media';
2
2
  export const context = {
3
3
  componentName: 'smart-cards',
4
4
  packageName: "@atlaskit/smart-card",
5
- packageVersion: "36.12.0"
5
+ packageVersion: "36.13.0"
6
6
  };
7
7
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
8
8
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -5,6 +5,7 @@ export { default as DownloadAction } from './download-action';
5
5
  export { default as FollowAction } from './follow-action';
6
6
  export { default as PreviewAction } from './preview-action';
7
7
  export { default as CopyLinkAction } from './copy-link-action';
8
+ export { default as UnresolvedAction } from './unresolved-action';
8
9
  export { default as AISummaryAction } from './ai-summary-action';
9
10
  export { default as AutomationAction } from './automation-action';
10
11
  export { default as ViewRelatedLinksAction } from './view-related-links-action';
@@ -0,0 +1,3 @@
1
+ ._18zrze3t{padding-inline:var(--ds-space-0,0)}
2
+ ._1rjcze3t{padding-block:var(--ds-space-0,0)}
3
+ ._1e0c1bgi{display:contents}
@@ -0,0 +1,46 @@
1
+ /* index.tsx generated by @compiled/babel-plugin v0.36.1 */
2
+ import _extends from "@babel/runtime/helpers/extends";
3
+ import "./index.compiled.css";
4
+ import { ax, ix } from "@compiled/react/runtime";
5
+ import React from 'react';
6
+ import { FormattedMessage } from 'react-intl-next';
7
+ import { Box, Pressable } from '@atlaskit/primitives/compiled';
8
+ import { InternalActionName } from '../../../../../constants';
9
+ import { useFlexibleUiContext } from '../../../../../state/flexible-ui-context';
10
+ const styles = {
11
+ button: "_1e0c1bgi",
12
+ message: "_1rjcze3t _18zrze3t"
13
+ };
14
+ const UnresolvedAction = ({
15
+ testId = 'unresolved-action'
16
+ }) => {
17
+ var _context$actions;
18
+ const context = useFlexibleUiContext();
19
+ const data = context === null || context === void 0 ? void 0 : (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[InternalActionName.UnresolvedAction];
20
+ if (!data) {
21
+ return null;
22
+ }
23
+ const {
24
+ descriptor,
25
+ onClick,
26
+ values
27
+ } = data;
28
+ const hasAction = onClick !== undefined;
29
+ const message = /*#__PURE__*/React.createElement(Box, {
30
+ testId: `${testId}-errored-view-message`,
31
+ tabIndex: hasAction ? 0 : undefined,
32
+ xcss: styles.message
33
+ }, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, descriptor, {
34
+ values: values
35
+ })));
36
+ return hasAction ? /*#__PURE__*/React.createElement(Pressable, {
37
+ onClick: data.onClick,
38
+ style: {
39
+ color: `inherit`,
40
+ font: `inherit`,
41
+ textAlign: `inherit`
42
+ },
43
+ xcss: styles.button
44
+ }, message) : message;
45
+ };
46
+ export default UnresolvedAction;
@@ -1,5 +1,10 @@
1
1
 
2
- ._2rko1l7b{border-radius:3px}
3
- ._y44v1k6k{animation:k1kh5krz 2s cubic-bezier(.5,0,0,1) .25s 2 both}._16qslqk2{box-shadow:0 0 0 0 var(--ds-border-discovery,#8270db)}
2
+ ._2rko1l7b{border-radius:3px}._16qslqk2{box-shadow:0 0 0 0 var(--ds-border-discovery,#8270db)}
4
3
  ._1e0c116y{display:inline-flex}
4
+ ._1o511hrf{animation-fill-mode:both}
5
+ ._1pgl1trn{animation-timing-function:cubic-bezier(.5,0,0,1)}
6
+ ._5sagymdr{animation-duration:2s}
7
+ ._j7hq8j16{animation-name:k1kh5krz}
8
+ ._ju251doz{animation-delay:.25s}
9
+ ._tip8cs5v{animation-iteration-count:2}
5
10
  @keyframes k1kh5krz{to{box-shadow:0 0 0 7px transparent}}
@@ -50,7 +50,7 @@ const FeatureDiscovery = ({
50
50
  if (!discovered) {
51
51
  return /*#__PURE__*/React.createElement("span", {
52
52
  "data-testid": `${testId}-discovery`,
53
- className: ax(["_2rko1l7b _y44v1k6k _1e0c116y _16qslqk2"])
53
+ className: ax(["_2rko1l7b _1e0c116y _16qslqk2 _j7hq8j16 _5sagymdr _1pgl1trn _ju251doz _1o511hrf _tip8cs5v"])
54
54
  }, children);
55
55
  }
56
56
  }, [children, discovered, testId]);
@@ -1,8 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
+ import { fg } from '@atlaskit/platform-feature-flags';
4
5
  import { Box } from '@atlaskit/primitives/compiled';
5
- import { SmartLinkAlignment, SmartLinkDirection } from '../../../../../../constants';
6
+ import { InternalActionName, SmartLinkAlignment, SmartLinkDirection } from '../../../../../../constants';
7
+ import { useFlexibleUiContext } from '../../../../../../state/flexible-ui-context';
8
+ import { UnresolvedAction } from '../../../actions';
6
9
  import { LinkIcon } from '../../../elements';
7
10
  import Block from '../../block';
8
11
  import ElementGroup from '../../element-group';
@@ -15,6 +18,7 @@ import ElementGroup from '../../element-group';
15
18
  */
16
19
  const TitleBlockErroredView = ({
17
20
  actionGroup,
21
+ hideRetry,
18
22
  retry,
19
23
  position,
20
24
  testId,
@@ -23,18 +27,27 @@ const TitleBlockErroredView = ({
23
27
  hideIcon,
24
28
  ...blockProps
25
29
  }) => {
30
+ var _context$actions;
26
31
  const {
27
32
  descriptor,
28
33
  onClick,
29
34
  values
30
35
  } = retry || {};
31
36
  const hasAction = onClick !== undefined;
37
+ const context = fg('platform-linking-flexible-card-unresolved-action') ?
38
+ // eslint-disable-next-line react-hooks/rules-of-hooks
39
+ useFlexibleUiContext() : {};
40
+ const showRetry = fg('platform-linking-flexible-card-unresolved-action') ? !hideRetry && Boolean(context === null || context === void 0 ? void 0 : (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[InternalActionName.UnresolvedAction]) : false;
32
41
  return /*#__PURE__*/React.createElement(Block, _extends({}, blockProps, {
33
42
  testId: `${testId}-errored-view`
34
43
  }), !hideIcon && /*#__PURE__*/React.createElement(LinkIcon, {
35
44
  overrideIcon: icon,
36
45
  position: position
37
- }), title, descriptor && /*#__PURE__*/React.createElement(ElementGroup, {
46
+ }), title, showRetry && /*#__PURE__*/React.createElement(ElementGroup, {
47
+ align: SmartLinkAlignment.Right
48
+ }, /*#__PURE__*/React.createElement(UnresolvedAction, {
49
+ testId: testId
50
+ })), !fg('platform-linking-flexible-card-unresolved-action') && descriptor && /*#__PURE__*/React.createElement(ElementGroup, {
38
51
  direction: SmartLinkDirection.Horizontal,
39
52
  align: SmartLinkAlignment.Right
40
53
  }, /*#__PURE__*/React.createElement(Box, {
@@ -4,6 +4,7 @@ import "./index.compiled.css";
4
4
  import * as React from 'react';
5
5
  import { ax, ix } from "@compiled/react/runtime";
6
6
  import { useCallback, useState } from 'react';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
7
8
  import { SmartLinkStatus } from '../../../../../constants';
8
9
  import { useMouseDownEvent } from '../../../../../state/analytics/useLinkClicked';
9
10
  import { Title } from '../../elements';
@@ -60,8 +61,10 @@ const TitleBlock = ({
60
61
  className,
61
62
  ...props
62
63
  }) => {
63
- if (hideRetry && props.retry) {
64
- delete props.retry;
64
+ if (!fg('platform-linking-flexible-card-unresolved-action')) {
65
+ if (hideRetry && props.retry) {
66
+ delete props.retry;
67
+ }
65
68
  }
66
69
  const [actionDropdownOpen, setActionDropdownOpen] = useState(false);
67
70
  const onDropdownOpenChange = useCallback(isOpen => {
@@ -98,7 +101,10 @@ const TitleBlock = ({
98
101
  testId: testId,
99
102
  title: title,
100
103
  metadataPosition: metadataPosition,
101
- hideIcon: hideIcon,
104
+ hideIcon: hideIcon
105
+ }, fg('platform-linking-flexible-card-unresolved-action') ? {
106
+ hideRetry
107
+ } : undefined, {
102
108
  icon: icon,
103
109
  size: props.size,
104
110
  theme: theme
@@ -55,10 +55,12 @@ const renderChildren = (children, containerSize, containerTheme, status, retry,
55
55
  return /*#__PURE__*/React.cloneElement(child, {
56
56
  // @ts-expect-error
57
57
  onClick,
58
- retry,
59
58
  size,
60
59
  status,
61
- theme: containerTheme
60
+ theme: containerTheme,
61
+ ...(fg('platform-linking-flexible-card-unresolved-action') ? undefined : {
62
+ retry
63
+ })
62
64
  });
63
65
  }
64
66
  }
@@ -8,7 +8,7 @@ import _extends from "@babel/runtime/helpers/extends";
8
8
  * DO NOT add a new prop to these components until we are ready to support it externally.
9
9
  */
10
10
  import React from 'react';
11
- import { CopyLinkAction as CopyLinkActionComponent, CustomAction as CustomActionComponent, DownloadAction as DownloadActionComponent, FollowAction as FollowActionComponent, PreviewAction as PreviewActionComponent } from './components/actions';
11
+ import { CopyLinkAction as CopyLinkActionComponent, CustomAction as CustomActionComponent, DownloadAction as DownloadActionComponent, FollowAction as FollowActionComponent, PreviewAction as PreviewActionComponent, UnresolvedAction as UnresolvedActionComponent } from './components/actions';
12
12
  import { AssignedTo, AssignedToGroup, AttachmentCount, AuthorGroup, ChecklistProgress, CollaboratorGroup, CommentCount, CreatedBy, CreatedOn, DueOn, LatestCommit, LinkIcon, Location, ModifiedBy, ModifiedOn, OwnedBy, OwnedByGroup, Preview, Priority, ProgrammingLanguage, Provider, ReactCount, ReadTime, SentOn, Snippet, SourceBranch, State, StoryPoints, SubscriberCount, SubTasksProgress, TargetBranch, Title, ViewCount, VoteCount } from './components/elements';
13
13
  // ---- EXPORTED METADATA COMPONENT ---- //
14
14
  export const AssignedToElement = () => /*#__PURE__*/React.createElement(AssignedTo, null);
@@ -71,4 +71,5 @@ export const CustomAction = props => /*#__PURE__*/React.createElement(CustomActi
71
71
  }));
72
72
  export const DownloadAction = props => /*#__PURE__*/React.createElement(DownloadActionComponent, toActionProps(props));
73
73
  export const FollowAction = props => /*#__PURE__*/React.createElement(FollowActionComponent, toActionProps(props));
74
- export const PreviewAction = props => /*#__PURE__*/React.createElement(PreviewActionComponent, toActionProps(props));
74
+ export const PreviewAction = props => /*#__PURE__*/React.createElement(PreviewActionComponent, toActionProps(props));
75
+ export const UnresolvedAction = () => /*#__PURE__*/React.createElement(UnresolvedActionComponent, null);