@atlaskit/smart-card 27.1.0 → 27.2.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 (163) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/extractors/flexible/extract-state.js +1 -2
  3. package/dist/cjs/messages.js +17 -2
  4. package/dist/cjs/state/modal/index.js +69 -0
  5. package/dist/cjs/utils/analytics/analytics.js +1 -1
  6. package/dist/cjs/view/BlockCard/components/ActionIcon.js +22 -14
  7. package/dist/cjs/view/BlockCard/components/Content.js +3 -1
  8. package/dist/cjs/view/BlockCard/components/ContentFooter.js +3 -1
  9. package/dist/cjs/view/BlockCard/components/ContentHeader.js +3 -1
  10. package/dist/cjs/view/BlockCard/components/Frame.js +6 -2
  11. package/dist/cjs/view/BlockCard/components/Link.js +3 -1
  12. package/dist/cjs/view/BlockCard/components/Name.js +3 -1
  13. package/dist/cjs/view/BlockCard/components/Provider.js +1 -0
  14. package/dist/cjs/view/BlockCard/views/ErroredView.js +3 -1
  15. package/dist/cjs/view/BlockCard/views/ForbiddenView.js +6 -2
  16. package/dist/cjs/view/BlockCard/views/NotFoundView.js +3 -1
  17. package/dist/cjs/view/BlockCard/views/ResolvedView.js +6 -2
  18. package/dist/cjs/view/BlockCard/views/ResolvingView.js +3 -1
  19. package/dist/cjs/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +2 -0
  20. package/dist/cjs/view/CardWithUrl/component-lazy/LazyLazilyRenderCard.js +3 -1
  21. package/dist/cjs/view/CardWithUrl/component-lazy/LoadingCardLink.js +3 -1
  22. package/dist/cjs/view/CardWithUrl/component.js +3 -2
  23. package/dist/cjs/view/EmbedCard/components/ExpandedFrame.js +41 -29
  24. package/dist/cjs/view/EmbedCard/components/ImageIcon.js +3 -1
  25. package/dist/cjs/view/EmbedModal/components/link-info/index.js +11 -8
  26. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/unfollow-icon/index.js +3 -1
  27. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +3 -1
  28. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/errored/index.js +1 -0
  29. package/dist/cjs/view/FlexibleCard/components/common/motion-wrapper/index.js +3 -0
  30. package/dist/cjs/view/FlexibleCard/components/container/layered-link/index.js +1 -0
  31. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +3 -1
  32. package/dist/cjs/view/HoverCard/components/ContentContainer.js +2 -0
  33. package/dist/cjs/view/HoverCard/index.js +2 -1
  34. package/dist/cjs/view/InlineCard/Frame/index.js +3 -1
  35. package/dist/cjs/view/InlineCard/Icon.js +3 -1
  36. package/dist/cjs/view/InlineCard/IconAndTitleLayout/index.js +23 -13
  37. package/dist/cjs/view/InlineCard/ResolvedView/index.js +3 -1
  38. package/dist/cjs/view/LinkUrl/index.js +1 -1
  39. package/dist/cjs/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +10 -7
  40. package/dist/cjs/view/RelatedLinksModal/components/related-link-item/index.js +56 -0
  41. package/dist/cjs/view/RelatedLinksModal/components/related-links-list/index.js +41 -0
  42. package/dist/cjs/view/RelatedLinksModal/components/types.js +5 -0
  43. package/dist/cjs/view/RelatedLinksModal/views/resolved/index.js +31 -0
  44. package/dist/cjs/view/RelatedLinksModal/views/resolved/types.js +1 -0
  45. package/dist/cjs/view/common/Byline.js +3 -1
  46. package/dist/cjs/view/common/Icon.js +3 -1
  47. package/dist/cjs/view/common/MetadataList.js +3 -1
  48. package/dist/es2019/extractors/flexible/extract-state.js +1 -2
  49. package/dist/es2019/messages.js +17 -2
  50. package/dist/es2019/state/modal/index.js +47 -0
  51. package/dist/es2019/utils/analytics/analytics.js +1 -1
  52. package/dist/es2019/view/BlockCard/components/ActionIcon.js +22 -14
  53. package/dist/es2019/view/BlockCard/components/Content.js +3 -1
  54. package/dist/es2019/view/BlockCard/components/ContentFooter.js +3 -1
  55. package/dist/es2019/view/BlockCard/components/ContentHeader.js +3 -1
  56. package/dist/es2019/view/BlockCard/components/Frame.js +6 -2
  57. package/dist/es2019/view/BlockCard/components/Link.js +3 -1
  58. package/dist/es2019/view/BlockCard/components/Name.js +3 -1
  59. package/dist/es2019/view/BlockCard/components/Provider.js +1 -0
  60. package/dist/es2019/view/BlockCard/views/ErroredView.js +3 -1
  61. package/dist/es2019/view/BlockCard/views/ForbiddenView.js +6 -2
  62. package/dist/es2019/view/BlockCard/views/NotFoundView.js +3 -1
  63. package/dist/es2019/view/BlockCard/views/ResolvedView.js +6 -2
  64. package/dist/es2019/view/BlockCard/views/ResolvingView.js +3 -1
  65. package/dist/es2019/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +2 -0
  66. package/dist/es2019/view/CardWithUrl/component-lazy/LazyLazilyRenderCard.js +3 -1
  67. package/dist/es2019/view/CardWithUrl/component-lazy/LoadingCardLink.js +3 -1
  68. package/dist/es2019/view/CardWithUrl/component.js +3 -2
  69. package/dist/es2019/view/EmbedCard/components/ExpandedFrame.js +14 -4
  70. package/dist/es2019/view/EmbedCard/components/ImageIcon.js +3 -1
  71. package/dist/es2019/view/EmbedModal/components/link-info/index.js +11 -8
  72. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/unfollow-icon/index.js +3 -1
  73. package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +3 -1
  74. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/errored/index.js +1 -0
  75. package/dist/es2019/view/FlexibleCard/components/common/motion-wrapper/index.js +3 -0
  76. package/dist/es2019/view/FlexibleCard/components/container/layered-link/index.js +1 -0
  77. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +3 -1
  78. package/dist/es2019/view/HoverCard/components/ContentContainer.js +2 -0
  79. package/dist/es2019/view/HoverCard/index.js +2 -1
  80. package/dist/es2019/view/InlineCard/Frame/index.js +3 -1
  81. package/dist/es2019/view/InlineCard/Icon.js +3 -1
  82. package/dist/es2019/view/InlineCard/IconAndTitleLayout/index.js +23 -13
  83. package/dist/es2019/view/InlineCard/ResolvedView/index.js +3 -1
  84. package/dist/es2019/view/LinkUrl/index.js +1 -1
  85. package/dist/es2019/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +10 -7
  86. package/dist/es2019/view/RelatedLinksModal/components/related-link-item/index.js +50 -0
  87. package/dist/es2019/view/RelatedLinksModal/components/related-links-list/index.js +33 -0
  88. package/dist/es2019/view/RelatedLinksModal/views/resolved/index.js +23 -0
  89. package/dist/es2019/view/RelatedLinksModal/views/resolved/types.js +0 -0
  90. package/dist/es2019/view/common/Byline.js +3 -1
  91. package/dist/es2019/view/common/Icon.js +3 -1
  92. package/dist/es2019/view/common/MetadataList.js +3 -1
  93. package/dist/esm/extractors/flexible/extract-state.js +1 -2
  94. package/dist/esm/messages.js +17 -2
  95. package/dist/esm/state/modal/index.js +59 -0
  96. package/dist/esm/state/modal/types.js +1 -0
  97. package/dist/esm/utils/analytics/analytics.js +1 -1
  98. package/dist/esm/view/BlockCard/components/ActionIcon.js +22 -14
  99. package/dist/esm/view/BlockCard/components/Content.js +3 -1
  100. package/dist/esm/view/BlockCard/components/ContentFooter.js +3 -1
  101. package/dist/esm/view/BlockCard/components/ContentHeader.js +3 -1
  102. package/dist/esm/view/BlockCard/components/Frame.js +6 -2
  103. package/dist/esm/view/BlockCard/components/Link.js +3 -1
  104. package/dist/esm/view/BlockCard/components/Name.js +3 -1
  105. package/dist/esm/view/BlockCard/components/Provider.js +1 -0
  106. package/dist/esm/view/BlockCard/views/ErroredView.js +3 -1
  107. package/dist/esm/view/BlockCard/views/ForbiddenView.js +6 -2
  108. package/dist/esm/view/BlockCard/views/NotFoundView.js +3 -1
  109. package/dist/esm/view/BlockCard/views/ResolvedView.js +6 -2
  110. package/dist/esm/view/BlockCard/views/ResolvingView.js +3 -1
  111. package/dist/esm/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +2 -0
  112. package/dist/esm/view/CardWithUrl/component-lazy/LazyLazilyRenderCard.js +3 -1
  113. package/dist/esm/view/CardWithUrl/component-lazy/LoadingCardLink.js +3 -1
  114. package/dist/esm/view/CardWithUrl/component.js +3 -2
  115. package/dist/esm/view/EmbedCard/components/ExpandedFrame.js +41 -29
  116. package/dist/esm/view/EmbedCard/components/ImageIcon.js +3 -1
  117. package/dist/esm/view/EmbedModal/components/link-info/index.js +11 -8
  118. package/dist/esm/view/FlexibleCard/components/actions/follow-action/unfollow-icon/index.js +3 -1
  119. package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +3 -1
  120. package/dist/esm/view/FlexibleCard/components/blocks/title-block/errored/index.js +1 -0
  121. package/dist/esm/view/FlexibleCard/components/common/motion-wrapper/index.js +3 -0
  122. package/dist/esm/view/FlexibleCard/components/container/layered-link/index.js +1 -0
  123. package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +3 -1
  124. package/dist/esm/view/HoverCard/components/ContentContainer.js +2 -0
  125. package/dist/esm/view/HoverCard/index.js +2 -1
  126. package/dist/esm/view/InlineCard/Frame/index.js +3 -1
  127. package/dist/esm/view/InlineCard/Icon.js +3 -1
  128. package/dist/esm/view/InlineCard/IconAndTitleLayout/index.js +23 -13
  129. package/dist/esm/view/InlineCard/ResolvedView/index.js +3 -1
  130. package/dist/esm/view/LinkUrl/index.js +1 -1
  131. package/dist/esm/view/RelatedLinksModal/components/RelatedLinksBaseModal.js +10 -7
  132. package/dist/esm/view/RelatedLinksModal/components/related-link-item/index.js +49 -0
  133. package/dist/esm/view/RelatedLinksModal/components/related-links-list/index.js +34 -0
  134. package/dist/esm/view/RelatedLinksModal/components/types.js +1 -0
  135. package/dist/esm/view/RelatedLinksModal/views/resolved/index.js +24 -0
  136. package/dist/esm/view/RelatedLinksModal/views/resolved/types.js +0 -0
  137. package/dist/esm/view/common/Byline.js +3 -1
  138. package/dist/esm/view/common/Icon.js +3 -1
  139. package/dist/esm/view/common/MetadataList.js +3 -1
  140. package/dist/types/messages.d.ts +1 -1
  141. package/dist/types/state/modal/index.d.ts +19 -0
  142. package/dist/types/state/modal/types.d.ts +16 -0
  143. package/dist/types/view/RelatedLinksModal/components/RelatedLinksBaseModal.d.ts +5 -4
  144. package/dist/types/view/RelatedLinksModal/components/related-link-item/index.d.ts +5 -0
  145. package/dist/types/view/RelatedLinksModal/components/related-links-list/index.d.ts +5 -0
  146. package/dist/types/view/RelatedLinksModal/components/types.d.ts +16 -0
  147. package/dist/types/view/RelatedLinksModal/views/resolved/index.d.ts +5 -0
  148. package/dist/types/view/RelatedLinksModal/views/resolved/types.d.ts +4 -0
  149. package/dist/types-ts4.5/messages.d.ts +1 -1
  150. package/dist/types-ts4.5/state/modal/index.d.ts +19 -0
  151. package/dist/types-ts4.5/state/modal/types.d.ts +16 -0
  152. package/dist/types-ts4.5/view/RelatedLinksModal/components/RelatedLinksBaseModal.d.ts +5 -4
  153. package/dist/types-ts4.5/view/RelatedLinksModal/components/related-link-item/index.d.ts +5 -0
  154. package/dist/types-ts4.5/view/RelatedLinksModal/components/related-links-list/index.d.ts +5 -0
  155. package/dist/types-ts4.5/view/RelatedLinksModal/components/types.d.ts +16 -0
  156. package/dist/types-ts4.5/view/RelatedLinksModal/views/resolved/index.d.ts +5 -0
  157. package/dist/types-ts4.5/view/RelatedLinksModal/views/resolved/types.d.ts +4 -0
  158. package/package.json +2 -5
  159. package/dist/types/view/RelatedLinksModal/types.d.ts +0 -6
  160. package/dist/types-ts4.5/view/RelatedLinksModal/types.d.ts +0 -6
  161. /package/dist/cjs/{view/RelatedLinksModal → state/modal}/types.js +0 -0
  162. /package/dist/es2019/{view/RelatedLinksModal → state/modal}/types.js +0 -0
  163. /package/dist/{esm/view/RelatedLinksModal → es2019/view/RelatedLinksModal/components}/types.js +0 -0
@@ -44,7 +44,9 @@ var Lozenge = function Lozenge(_ref) {
44
44
  text: text,
45
45
  zIndex: ui === null || ui === void 0 ? void 0 : ui.zIndex
46
46
  }) : (0, _react2.jsx)(_lozenge.default, {
47
- appearance: appearance,
47
+ appearance: appearance
48
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
49
+ ,
48
50
  style: style,
49
51
  testId: "".concat(testId, "-lozenge")
50
52
  }, text);
@@ -55,6 +55,7 @@ var ConnectedAIPrismContainer = function ConnectedAIPrismContainer(_ref) {
55
55
  setShowPrism(status === 'loading');
56
56
  }, [status]);
57
57
  var container = (0, _react.jsx)("div", (0, _extends2.default)({
58
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
58
59
  className: _HoverCardContent.hoverCardClassName,
59
60
  css: [_styled.HoverCardContainer, !isAIEnabled ? _styled.popupContainerStyles : undefined],
60
61
  "data-testid": testId
@@ -79,6 +80,7 @@ var ContentContainer = function ContentContainer(_ref2) {
79
80
  }, props), children);
80
81
  }
81
82
  return (0, _react.jsx)("div", (0, _extends2.default)({
83
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
82
84
  className: _HoverCardContent.hoverCardClassName,
83
85
  css: _styled.HoverCardContainer,
84
86
  "data-testid": testId
@@ -9,6 +9,7 @@ var _react = require("@emotion/react");
9
9
  var _react2 = require("react");
10
10
  var _reactErrorBoundary = require("react-error-boundary");
11
11
  var _analytics = require("../../state/analytics");
12
+ var _modal = require("../../state/modal");
12
13
  var _HoverCardComponent = require("./components/HoverCardComponent");
13
14
  var _constants = require("../../constants");
14
15
  var _reactMagneticDi = require("react-magnetic-di");
@@ -30,7 +31,7 @@ var HoverCardWithErrorBoundary = function HoverCardWithErrorBoundary(props) {
30
31
  return (0, _react.jsx)(_reactErrorBoundary.ErrorBoundary, {
31
32
  fallback: children,
32
33
  onError: onError
33
- }, (0, _react.jsx)(_HoverCardComponent.HoverCardComponent, props, children));
34
+ }, (0, _react.jsx)(_modal.SmartLinkModalProvider, null, (0, _react.jsx)(_HoverCardComponent.HoverCardComponent, props, children)));
34
35
  };
35
36
  var HoverCardWithoutAnalyticsContext = (0, _analyticsNext.withAnalyticsEvents)()(HoverCardWithErrorBoundary);
36
37
 
@@ -51,7 +51,9 @@ var Frame = exports.Frame = /*#__PURE__*/(0, _react.forwardRef)(function (props,
51
51
  onClick: handleClick,
52
52
  onMouseDown: handleMouseDown,
53
53
  onKeyPress: handleKeyPress,
54
- "data-testid": testId,
54
+ "data-testid": testId
55
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
56
+ ,
55
57
  className: className,
56
58
  ref: ref,
57
59
  isHovered: isHovered
@@ -48,7 +48,9 @@ var Shimmer = exports.Shimmer = function Shimmer(_ref) {
48
48
  width: 14,
49
49
  height: 14,
50
50
  borderRadius: 2,
51
- testId: testId,
51
+ testId: testId
52
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
53
+ ,
52
54
  style: skeletonCustomStyles
53
55
  });
54
56
  };
@@ -74,7 +74,9 @@ var IconAndTitleLayout = exports.IconAndTitleLayout = /*#__PURE__*/function (_Re
74
74
  }
75
75
  return /*#__PURE__*/_react.default.createElement(_reactRenderImage.default, {
76
76
  src: url,
77
- loaded: /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
77
+ loaded: /*#__PURE__*/_react.default.createElement(_Icon.Icon
78
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
79
+ , {
78
80
  className: "smart-link-icon",
79
81
  src: url,
80
82
  "data-testid": "".concat(testId, "-image")
@@ -125,22 +127,30 @@ var IconAndTitleLayout = exports.IconAndTitleLayout = /*#__PURE__*/function (_Re
125
127
  rightSide = _this$props2.rightSide,
126
128
  _this$props2$testId = _this$props2.testId,
127
129
  testId = _this$props2$testId === void 0 ? 'inline-card-icon-and-title' : _this$props2$testId;
128
- var titlePart = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled.IconPositionWrapper, null, children || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled.IconEmptyWrapper, null), this.renderIcon(testId))), /*#__PURE__*/_react.default.createElement(_styled.TitleWrapper, {
130
+ var titlePart = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled.IconPositionWrapper, null, children || /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styled.IconEmptyWrapper, null), this.renderIcon(testId))), /*#__PURE__*/_react.default.createElement(_styled.TitleWrapper
131
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
132
+ , {
129
133
  style: {
130
134
  color: titleTextColor
131
- },
135
+ }
136
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
137
+ ,
132
138
  className: _styled.TitleWrapperClassName
133
139
  }, title));
134
- return /*#__PURE__*/_react.default.createElement(_styled.IconTitleWrapper, {
135
- style: {
136
- color: titleColor
137
- },
138
- "data-testid": testId
139
- }, link ? /*#__PURE__*/_react.default.createElement(_styled2.LinkAppearance, {
140
- href: link,
141
- onClick: this.handleClick,
142
- onKeyPress: this.handleKeyPress
143
- }, titlePart) : titlePart, rightSide ? /*#__PURE__*/_react.default.createElement(_styled2.NoLinkAppearance, null, rightSide) : null);
140
+ return (
141
+ /*#__PURE__*/
142
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
143
+ _react.default.createElement(_styled.IconTitleWrapper, {
144
+ style: {
145
+ color: titleColor
146
+ },
147
+ "data-testid": testId
148
+ }, link ? /*#__PURE__*/_react.default.createElement(_styled2.LinkAppearance, {
149
+ href: link,
150
+ onClick: this.handleClick,
151
+ onKeyPress: this.handleKeyPress
152
+ }, titlePart) : titlePart, rightSide ? /*#__PURE__*/_react.default.createElement(_styled2.NoLinkAppearance, null, rightSide) : null)
153
+ );
144
154
  }
145
155
  }]);
146
156
  return IconAndTitleLayout;
@@ -35,7 +35,9 @@ var InlineCardResolvedView = exports.InlineCardResolvedView = /*#__PURE__*/funct
35
35
  var appearance = lozenge.appearance || 'default';
36
36
  return /*#__PURE__*/_react.default.createElement(_styled.LozengeWrapper, null, /*#__PURE__*/_react.default.createElement(_lozenge.default, {
37
37
  testId: "inline-card-resolved-view-lozenge",
38
- appearance: appearance,
38
+ appearance: appearance
39
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
40
+ ,
39
41
  style: lozenge.style,
40
42
  isBold: lozenge.isBold
41
43
  }, lozenge.text));
@@ -17,7 +17,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId"],
17
17
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
18
18
  var PACKAGE_DATA = {
19
19
  packageName: "@atlaskit/smart-card",
20
- packageVersion: "27.1.0",
20
+ packageVersion: "27.2.1",
21
21
  componentName: 'linkUrl'
22
22
  };
23
23
  var Link = (0, _click.withLinkClickedEvent)('a');
@@ -6,22 +6,25 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _react = _interopRequireDefault(require("react"));
9
+ var _react = require("@emotion/react");
10
10
  var _reactIntlNext = require("react-intl-next");
11
11
  var _new = _interopRequireDefault(require("@atlaskit/button/new"));
12
12
  var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
13
13
  var _messages = require("../../../messages");
14
14
  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); }
15
15
  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 && Object.prototype.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; }
16
- var RelatedLinksModal = function RelatedLinksModal(_ref) {
16
+ /** @jsx jsx */
17
+
18
+ var RelatedLinksBaseModal = function RelatedLinksBaseModal(_ref) {
17
19
  var onClose = _ref.onClose,
18
20
  showModal = _ref.showModal,
19
21
  children = _ref.children;
20
- return /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTransition, null, showModal && /*#__PURE__*/_react.default.createElement(_modalDialog.default, {
21
- onClose: onClose
22
- }, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalHeader, null, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, null, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.related_links_modal_title_nonfinal))), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, children), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_new.default, {
22
+ return (0, _react.jsx)(_modalDialog.ModalTransition, null, showModal && (0, _react.jsx)(_modalDialog.default, {
23
+ onClose: onClose,
24
+ width: "small"
25
+ }, (0, _react.jsx)(_modalDialog.ModalHeader, null, (0, _react.jsx)(_modalDialog.ModalTitle, null, (0, _react.jsx)(_reactIntlNext.FormattedMessage, _messages.messages.related_links_modal_title))), (0, _react.jsx)(_modalDialog.ModalBody, null, children), (0, _react.jsx)(_modalDialog.ModalFooter, null, (0, _react.jsx)(_new.default, {
23
26
  appearance: "primary",
24
27
  onClick: onClose
25
- }, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.close)))));
28
+ }, (0, _react.jsx)(_reactIntlNext.FormattedMessage, _messages.messages.close)))));
26
29
  };
27
- var _default = exports.default = RelatedLinksModal;
30
+ var _default = exports.default = RelatedLinksBaseModal;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("@emotion/react");
8
+ var _primitives = require("@atlaskit/primitives");
9
+ var _index = require("../../../../index");
10
+ /** @jsx jsx */
11
+
12
+ var hoverStyles = (0, _primitives.xcss)({
13
+ ':hover': {
14
+ backgroundColor: 'color.background.input.hovered',
15
+ borderRadius: 'border.radius.100',
16
+ marginInline: 'space.negative.100',
17
+ paddingInline: 'space.100'
18
+ }
19
+ });
20
+ var relatedLinkItemStyles = (0, _react.css)({
21
+ paddingTop: "var(--ds-space-100, 8px)",
22
+ paddingBottom: "var(--ds-space-100, 8px)",
23
+ gap: "var(--ds-space-150, 12px)",
24
+ font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
25
+ });
26
+ var RelatedLinkItem = function RelatedLinkItem(_ref) {
27
+ var url = _ref.url,
28
+ testId = _ref.testId;
29
+ var subtitle = [{
30
+ name: _index.ElementName.Provider
31
+ }];
32
+ var ui = {
33
+ hideElevation: true,
34
+ hidePadding: true,
35
+ hideBackground: true,
36
+ theme: _index.SmartLinkTheme.Black,
37
+ clickableContainer: true,
38
+ size: _index.SmartLinkSize.Large
39
+ };
40
+ return (0, _react.jsx)(_primitives.Box, {
41
+ testId: testId,
42
+ xcss: hoverStyles
43
+ }, (0, _react.jsx)(_index.Card, {
44
+ appearance: "block",
45
+ ui: ui,
46
+ url: url
47
+ }, (0, _react.jsx)(_index.TitleBlock, {
48
+ maxLines: 1,
49
+ hideTitleTooltip: true,
50
+ position: _index.SmartLinkPosition.Center,
51
+ subtitle: subtitle,
52
+ overrideCss: relatedLinkItemStyles,
53
+ anchorTarget: "_blank"
54
+ })));
55
+ };
56
+ var _default = exports.default = RelatedLinkItem;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = require("@emotion/react");
9
+ var _reactIntlNext = require("react-intl-next");
10
+ var _primitives = require("@atlaskit/primitives");
11
+ var _relatedLinkItem = _interopRequireDefault(require("../related-link-item"));
12
+ var _messages = require("../../../../messages");
13
+ /** @jsx jsx */
14
+
15
+ var RelatedLinksList = function RelatedLinksList(_ref) {
16
+ var urls = _ref.urls,
17
+ title = _ref.title,
18
+ testId = _ref.testId;
19
+ return (0, _react.jsx)(_primitives.Stack, {
20
+ testId: testId
21
+ }, (0, _react.jsx)(_primitives.Box, {
22
+ paddingBlockStart: "space.050",
23
+ xcss: (0, _primitives.xcss)({
24
+ font: "var(--ds-font-heading-xxsmall, normal 600 12px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
25
+ textTransform: 'uppercase'
26
+ })
27
+ }, (0, _react.jsx)(_reactIntlNext.FormattedMessage, title)), urls.length > 0 && (0, _react.jsx)(_primitives.Box, null, urls.map(function (url, idx) {
28
+ return (0, _react.jsx)(_primitives.Stack, {
29
+ key: "".concat(idx, "-").concat(url)
30
+ }, (0, _react.jsx)(_relatedLinkItem.default, {
31
+ url: url,
32
+ testId: "".concat(testId, "-item-").concat(idx)
33
+ }));
34
+ })), urls.length === 0 && (0, _react.jsx)(_primitives.Box, {
35
+ paddingBlock: "space.100",
36
+ xcss: (0, _primitives.xcss)({
37
+ font: "var(--ds-font-body-small, normal 400 11px/16px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
38
+ })
39
+ }, (0, _react.jsx)(_reactIntlNext.FormattedMessage, _messages.messages.related_links_not_found)));
40
+ };
41
+ var _default = exports.default = RelatedLinksList;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = require("@emotion/react");
9
+ var _messages = require("../../../../messages");
10
+ var _relatedLinksList = _interopRequireDefault(require("../../components/related-links-list"));
11
+ var _primitives = require("@atlaskit/primitives");
12
+ /** @jsx jsx */
13
+
14
+ var RelatedLinksResolvedView = function RelatedLinksResolvedView(_ref) {
15
+ var _ref$incomingLinks = _ref.incomingLinks,
16
+ incomingLinks = _ref$incomingLinks === void 0 ? [] : _ref$incomingLinks,
17
+ _ref$outgoingLinks = _ref.outgoingLinks,
18
+ outgoingLinks = _ref$outgoingLinks === void 0 ? [] : _ref$outgoingLinks;
19
+ return (0, _react.jsx)(_primitives.Stack, {
20
+ space: "space.150"
21
+ }, (0, _react.jsx)(_relatedLinksList.default, {
22
+ urls: incomingLinks,
23
+ title: _messages.messages.related_links_found_in,
24
+ testId: "incoming-related-links-list"
25
+ }), (0, _react.jsx)(_relatedLinksList.default, {
26
+ urls: outgoingLinks,
27
+ title: _messages.messages.related_links_includes_links_to,
28
+ testId: "outgoing-related-links-list"
29
+ }));
30
+ };
31
+ var _default = exports.default = RelatedLinksResolvedView;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -36,7 +36,9 @@ var Byline = exports.Byline = function Byline(_ref) {
36
36
  // due to HTML its unwrapping behaviour on paste.
37
37
  MozUserSelect: 'none'
38
38
  }),
39
- "data-testid": testId,
39
+ "data-testid": testId
40
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
41
+ ,
40
42
  className: className
41
43
  }, text || children);
42
44
  };
@@ -64,7 +64,9 @@ var Icon = exports.Icon = function Icon(_ref) {
64
64
  });
65
65
  return (0, _react.jsx)("span", {
66
66
  css: getSpanStyles(isFlexibleUi),
67
- "data-testid": testId,
67
+ "data-testid": testId
68
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
69
+ ,
68
70
  className: blockCardIconImageClassName
69
71
  }, icon || image || placeholder);
70
72
  };
@@ -25,7 +25,9 @@ var MetadataList = exports.MetadataList = function MetadataList(_ref) {
25
25
  marginRight: '0px'
26
26
  }
27
27
  },
28
- "data-testid": testId,
28
+ "data-testid": testId
29
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
30
+ ,
29
31
  className: metadataListClassName
30
32
  }, items.map(function (item) {
31
33
  return (0, _react.jsx)(_Metadata.Metadata, (0, _extends2.default)({
@@ -1,5 +1,4 @@
1
1
  import { extractLozenge } from '../common/lozenge';
2
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
2
  import { getExtensionKey } from '../../state/helpers';
4
3
  import extractServerAction from './extract-server-action';
5
4
  import { extractLink } from '@atlaskit/link-extractors';
@@ -53,7 +52,7 @@ const extractState = (response, actionOptions, id) => {
53
52
  if (!lozenge) {
54
53
  return;
55
54
  }
56
- if (!canShowAction(CardAction.ChangeStatusAction, actionOptions) || getBooleanFF('platform.linking-platform.smart-card.disable-jira-status-action')) {
55
+ if (!canShowAction(CardAction.ChangeStatusAction, actionOptions)) {
57
56
  return lozenge;
58
57
  }
59
58
  const action = extractAction(response, id);
@@ -700,8 +700,8 @@ export const messages = defineMessages({
700
700
  defaultMessage: 'An error occurred',
701
701
  description: 'A generic error message to the user'
702
702
  },
703
- related_links_modal_title_nonfinal: {
704
- id: 'fabric.linking.related_links_modal_title.nonfinal',
703
+ related_links_modal_title: {
704
+ id: 'fabric.linking.related_links_modal_title',
705
705
  defaultMessage: 'Recent Links',
706
706
  description: 'Shown as the title for the related links modal'
707
707
  },
@@ -709,5 +709,20 @@ export const messages = defineMessages({
709
709
  id: 'fabric.linking.related_links_view_related_urls.nonfinal',
710
710
  defaultMessage: 'View recent links...',
711
711
  description: 'Action to view related links to the given resource'
712
+ },
713
+ related_links_found_in: {
714
+ id: 'fabric.linking.related_links_found_in',
715
+ defaultMessage: 'Found In',
716
+ description: 'Informs the user of the resources are found in the given url'
717
+ },
718
+ related_links_not_found: {
719
+ id: 'fabric.linking.related_links_not_found',
720
+ defaultMessage: 'We didn\'t find any links to show here.',
721
+ description: 'Informs the user that there are no related resources for the given url'
722
+ },
723
+ related_links_includes_links_to: {
724
+ id: 'fabric.linking.related_links_includes_links_to',
725
+ defaultMessage: 'Includes Links To',
726
+ description: 'Informs the user of the resources the url links to'
712
727
  }
713
728
  });
@@ -0,0 +1,47 @@
1
+ import React, { Suspense, useCallback, useContext, useMemo, useState } from 'react';
2
+ import { ErrorBoundary } from 'react-error-boundary';
3
+ const FALLBACK_API = {
4
+ open: () => {},
5
+ close: () => {}
6
+ };
7
+ export const SmartLinkModalContext = /*#__PURE__*/React.createContext(FALLBACK_API);
8
+ export const SmartLinkModalProvider = ({
9
+ children
10
+ }) => {
11
+ const [element, setElement] = useState(null);
12
+ const api = useMemo(() => ({
13
+ open: modal => setElement( /*#__PURE__*/React.createElement(Suspense, {
14
+ fallback: null
15
+ }, modal)),
16
+ close: () => setElement(null)
17
+ }), []);
18
+ const fallbackRender = useCallback(({
19
+ resetErrorBoundary
20
+ }) => {
21
+ resetErrorBoundary();
22
+ return null;
23
+ }, []);
24
+ const onReset = useCallback(() => setElement(null), []);
25
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SmartLinkModalContext.Provider, {
26
+ value: api
27
+ }, children), /*#__PURE__*/React.createElement(ErrorBoundary, {
28
+ fallbackRender: fallbackRender,
29
+ onReset: onReset
30
+ }, element));
31
+ };
32
+
33
+ /**
34
+ * Open (lazy load) modal
35
+ *
36
+ * This hook injects the element below Card and standalone HoverCard component.
37
+ * It is intended to solve the issue where modal triggered by the parent component
38
+ * disappear when the parent component is unmounted.
39
+ *
40
+ * For example, clicking on hover card action to open a modal. Once the modal is opened,
41
+ * hover card disappears.
42
+ *
43
+ * Usage:
44
+ * const modal = useSmartLinkModal()
45
+ * modal.open(<SomeLazyLoadModal isOpen={true} onClose={() => modal.close()} />);
46
+ */
47
+ export const useSmartLinkModal = () => useContext(SmartLinkModalContext);
@@ -4,7 +4,7 @@ export const ANALYTICS_CHANNEL = 'media';
4
4
  export const context = {
5
5
  componentName: 'smart-cards',
6
6
  packageName: "@atlaskit/smart-card",
7
- packageVersion: "27.1.0"
7
+ packageVersion: "27.2.1"
8
8
  };
9
9
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -22,20 +22,28 @@ export const ActionIcon = ({
22
22
  case 'loading':
23
23
  return null;
24
24
  case 'success':
25
- return /*#__PURE__*/React.createElement("div", {
26
- "data-testid": "check-icon",
27
- style: spinnerStyles
28
- }, /*#__PURE__*/React.createElement(CheckIcon, {
29
- size: "small",
30
- label: "check"
31
- }));
25
+ return (
26
+ /*#__PURE__*/
27
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
28
+ React.createElement("div", {
29
+ "data-testid": "check-icon",
30
+ style: spinnerStyles
31
+ }, /*#__PURE__*/React.createElement(CheckIcon, {
32
+ size: "small",
33
+ label: "check"
34
+ }))
35
+ );
32
36
  case 'failure':
33
- return /*#__PURE__*/React.createElement("div", {
34
- "data-testid": "cross-icon",
35
- style: spinnerStyles
36
- }, /*#__PURE__*/React.createElement(CrossIcon, {
37
- size: "small",
38
- label: "check"
39
- }));
37
+ return (
38
+ /*#__PURE__*/
39
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
40
+ React.createElement("div", {
41
+ "data-testid": "cross-icon",
42
+ style: spinnerStyles
43
+ }, /*#__PURE__*/React.createElement(CrossIcon, {
44
+ size: "small",
45
+ label: "check"
46
+ }))
47
+ );
40
48
  }
41
49
  };
@@ -20,6 +20,8 @@ export const Content = ({
20
20
  justifyContent: isCompact ? 'unset' : ['unset', 'space-between'],
21
21
  flexGrow: 1
22
22
  }),
23
- "data-trello-do-not-use-override": "block-card-content",
23
+ "data-trello-do-not-use-override": "block-card-content"
24
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
25
+ ,
24
26
  className: blockCardContentClassName
25
27
  }, children);
@@ -14,6 +14,8 @@ export const ContentFooter = ({
14
14
  alignItems: ['unset', 'center'],
15
15
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
16
16
  marginTop: [gs(1), gs(1.5)]
17
- }),
17
+ })
18
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
19
+ ,
18
20
  className: contentFooterClassName
19
21
  }, children);
@@ -26,7 +26,9 @@ export const ContentHeader = ({
26
26
  // due to HTML its unwrapping behaviour on paste.
27
27
  MozUserSelect: 'none'
28
28
  },
29
- "data-trello-do-not-use-override": "block-card-content-header",
29
+ "data-trello-do-not-use-override": "block-card-content-header"
30
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
31
+ ,
30
32
  className: blockCardContentHeaderClassName
31
33
  }, children);
32
34
  };
@@ -37,7 +37,9 @@ export const ExpandedFrame = ({
37
37
  overflow: 'hidden',
38
38
  boxShadow: `var(--ds-shadow-raised, ${`0 1px 1px ${N50A}, 0 0 1px 1px ${N40A}`})`
39
39
  }),
40
- "data-testid": testId,
40
+ "data-testid": testId
41
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
42
+ ,
41
43
  className: className,
42
44
  "data-trello-do-not-use-override": testId
43
45
  }, children);
@@ -66,7 +68,9 @@ export const CompactFrame = ({
66
68
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
67
69
  padding: [`0px ${gs(1)}`, '0']
68
70
  }),
69
- "data-testid": testId,
71
+ "data-testid": testId
72
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
73
+ ,
70
74
  className: className
71
75
  }, children);
72
76
  };
@@ -7,7 +7,9 @@ export const Link = ({
7
7
  className
8
8
  }) => {
9
9
  return jsx("span", {
10
- "data-testid": `${testId}-link`,
10
+ "data-testid": `${testId}-link`
11
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
12
+ ,
11
13
  className: className,
12
14
  css: {
13
15
  color: `var(--ds-link, ${B400})`,
@@ -33,6 +33,8 @@ export const Name = ({
33
33
  maxHeight: gs(6)
34
34
  },
35
35
  "data-testid": testId,
36
- "data-trello-do-not-use-override": "block-card-content-header-name",
36
+ "data-trello-do-not-use-override": "block-card-content-header-name"
37
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
38
+ ,
37
39
  className: blockCardContentHeaderNameClassName
38
40
  }, name);
@@ -9,6 +9,7 @@ export const Provider = ({
9
9
  let iconToRender = icon || null;
10
10
  if (typeof icon === 'string') {
11
11
  iconToRender = jsx("img", {
12
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
12
13
  className: "smart-link-icon",
13
14
  css: {
14
15
  height: gs(1.5),
@@ -37,7 +37,9 @@ export const ErroredView = ({
37
37
  const actions = useMemo(() => onRetry ? [RetryAction(onRetry)] : [], [onRetry]);
38
38
  return jsx(Frame, {
39
39
  isSelected: isSelected,
40
- testId: testId,
40
+ testId: testId
41
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
42
+ ,
41
43
  className: blockCardErroredViewClassName,
42
44
  isFluidHeight: true,
43
45
  inheritDimensions: inheritDimensions
@@ -52,7 +52,9 @@ export const ForbiddenView = ({
52
52
  const items = action !== undefined && !(buttonDisabled !== null && buttonDisabled !== void 0 ? buttonDisabled : false) ? [...actions, action] : actions;
53
53
  return jsx(Frame, {
54
54
  isSelected: isSelected,
55
- testId: testId,
55
+ testId: testId
56
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
57
+ ,
56
58
  className: blockCardForbiddenViewClassName,
57
59
  isFluidHeight: true
58
60
  }, jsx(Content, {
@@ -62,7 +64,9 @@ export const ForbiddenView = ({
62
64
  link: link
63
65
  }, jsx(Link, {
64
66
  url: link,
65
- testId: testId,
67
+ testId: testId
68
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
69
+ ,
66
70
  className: blockCardForbiddenViewLinkClassName
67
71
  })), jsx(Byline, null, jsx(UnresolvedText, {
68
72
  icon: jsx(LockIcon, {