@atlaskit/smart-card 26.59.1 → 26.61.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 (164) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/extractors/common/icon/extractIcon.js +19 -1
  3. package/dist/cjs/extractors/common/icon/index.js +7 -0
  4. package/dist/cjs/extractors/embed/index.js +26 -1
  5. package/dist/cjs/extractors/flexible/actions/extract-ai-summary-action.js +2 -2
  6. package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +33 -4
  7. package/dist/cjs/state/hooks/use-ai-summary/ai-summary-service/index.js +2 -1
  8. package/dist/cjs/utils/{get-is-ai-summary-enabled.js → ai-summary.js} +21 -1
  9. package/dist/cjs/utils/analytics/analytics.js +1 -1
  10. package/dist/cjs/view/BlockCard/views/flexible/utils/index.js +8 -0
  11. package/dist/cjs/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +4 -51
  12. package/dist/cjs/view/EmbedCard/components/ExpandedFrame.js +2 -0
  13. package/dist/cjs/view/EmbedCard/components/styled.js +5 -1
  14. package/dist/cjs/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  15. package/dist/cjs/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +22 -14
  16. package/dist/cjs/view/FlexibleCard/components/actions/ai-summary-action/utils.js +32 -0
  17. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  18. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  19. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +67 -0
  20. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/index.js +23 -3
  21. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-done.js +1 -1
  22. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +5 -24
  23. package/dist/cjs/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +4 -4
  24. package/dist/cjs/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.js → common/ai-summary/ai-event-error-viewed.js} +1 -1
  25. package/dist/cjs/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.js +1 -1
  26. package/dist/cjs/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/index.js +3 -3
  27. package/dist/cjs/view/FlexibleCard/components/common/motion-wrapper/types.js +5 -0
  28. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +2 -2
  29. package/dist/cjs/view/HoverCard/components/views/resolved/index.js +1 -7
  30. package/dist/cjs/view/HoverCard/utils.js +1 -1
  31. package/dist/cjs/view/LinkUrl/index.js +1 -1
  32. package/dist/cjs/view/common/ai-icon/index.js +23 -20
  33. package/dist/cjs/view/common/ai-summary/index.js +1 -0
  34. package/dist/es2019/extractors/common/icon/extractIcon.js +21 -1
  35. package/dist/es2019/extractors/common/icon/index.js +1 -0
  36. package/dist/es2019/extractors/embed/index.js +28 -2
  37. package/dist/es2019/extractors/flexible/actions/extract-ai-summary-action.js +1 -1
  38. package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +34 -3
  39. package/dist/es2019/state/hooks/use-ai-summary/ai-summary-service/index.js +1 -0
  40. package/dist/es2019/utils/ai-summary.js +25 -0
  41. package/dist/es2019/utils/analytics/analytics.js +1 -1
  42. package/dist/es2019/view/BlockCard/views/flexible/utils/index.js +8 -0
  43. package/dist/es2019/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +2 -44
  44. package/dist/es2019/view/EmbedCard/components/ExpandedFrame.js +2 -0
  45. package/dist/es2019/view/EmbedCard/components/styled.js +8 -2
  46. package/dist/es2019/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  47. package/dist/es2019/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +21 -13
  48. package/dist/es2019/view/FlexibleCard/components/actions/ai-summary-action/utils.js +24 -0
  49. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  50. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  51. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +61 -0
  52. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/index.js +19 -4
  53. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-done.js +1 -1
  54. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +3 -22
  55. package/dist/es2019/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +4 -4
  56. package/dist/es2019/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.js → common/ai-summary/ai-event-error-viewed.js} +1 -1
  57. package/dist/es2019/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.js +1 -1
  58. package/dist/es2019/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/index.js +2 -2
  59. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +1 -1
  60. package/dist/es2019/view/HoverCard/components/views/resolved/index.js +1 -7
  61. package/dist/es2019/view/HoverCard/utils.js +1 -1
  62. package/dist/es2019/view/LinkUrl/index.js +1 -1
  63. package/dist/es2019/view/common/ai-icon/index.js +104 -99
  64. package/dist/es2019/view/common/ai-summary/index.js +1 -0
  65. package/dist/esm/extractors/common/icon/extractIcon.js +19 -1
  66. package/dist/esm/extractors/common/icon/index.js +1 -0
  67. package/dist/esm/extractors/embed/index.js +27 -2
  68. package/dist/esm/extractors/flexible/actions/extract-ai-summary-action.js +1 -1
  69. package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +33 -3
  70. package/dist/esm/state/hooks/use-ai-summary/ai-summary-service/index.js +2 -1
  71. package/dist/esm/utils/{get-is-ai-summary-enabled.js → ai-summary.js} +20 -0
  72. package/dist/esm/utils/analytics/analytics.js +1 -1
  73. package/dist/esm/view/BlockCard/views/flexible/utils/index.js +8 -0
  74. package/dist/esm/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.js +3 -50
  75. package/dist/esm/view/EmbedCard/components/ExpandedFrame.js +2 -0
  76. package/dist/esm/view/EmbedCard/components/styled.js +5 -1
  77. package/dist/esm/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  78. package/dist/esm/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.js +22 -14
  79. package/dist/esm/view/FlexibleCard/components/actions/ai-summary-action/utils.js +25 -0
  80. package/dist/esm/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  81. package/dist/esm/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  82. package/dist/esm/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +60 -0
  83. package/dist/esm/view/FlexibleCard/components/blocks/action-block/action-footer/types.js +1 -0
  84. package/dist/esm/view/FlexibleCard/components/blocks/action-block/index.js +23 -4
  85. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-done.js +1 -1
  86. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.js +5 -24
  87. package/dist/esm/view/FlexibleCard/components/blocks/ai-summary-block/resolved/index.js +4 -4
  88. package/dist/esm/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.js → common/ai-summary/ai-event-error-viewed.js} +1 -1
  89. package/dist/esm/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.js +1 -1
  90. package/dist/esm/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/index.js +2 -2
  91. package/dist/esm/view/FlexibleCard/components/common/motion-wrapper/types.js +1 -0
  92. package/dist/esm/view/HoverCard/components/HoverCardContent.js +1 -1
  93. package/dist/esm/view/HoverCard/components/views/resolved/index.js +1 -7
  94. package/dist/esm/view/HoverCard/utils.js +1 -1
  95. package/dist/esm/view/LinkUrl/index.js +1 -1
  96. package/dist/esm/view/common/ai-icon/index.js +23 -20
  97. package/dist/esm/view/common/ai-summary/index.js +1 -0
  98. package/dist/types/extractors/common/icon/index.d.ts +1 -0
  99. package/dist/types/extractors/embed/index.d.ts +3 -3
  100. package/dist/types/extractors/flexible/actions/extract-ai-summary-action.d.ts +3 -3
  101. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/index.d.ts +1 -1
  102. package/dist/types/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +1 -1
  103. package/dist/types/state/hooks/use-ai-summary/index.d.ts +1 -1
  104. package/dist/types/utils/ai-summary.d.ts +8 -0
  105. package/dist/types/view/BlockCard/views/flexible/utils/index.d.ts +2 -2
  106. package/dist/types/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.d.ts +1 -4
  107. package/dist/types/view/EmbedCard/components/ExpandedFrame.d.ts +2 -2
  108. package/dist/types/view/EmbedCard/components/styled.d.ts +1 -0
  109. package/dist/types/view/EmbedCard/views/ResolvedView.d.ts +1 -1
  110. package/dist/types/view/FlexibleCard/components/actions/action/action-icon/index.d.ts +1 -1
  111. package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +11 -1
  112. package/dist/types/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.d.ts +3 -3
  113. package/dist/types/view/FlexibleCard/components/actions/ai-summary-action/utils.d.ts +3 -0
  114. package/dist/types/view/FlexibleCard/components/actions/follow-action/goal-icon/index.d.ts +1 -1
  115. package/dist/types/view/FlexibleCard/components/actions/follow-action/projects-icon/index.d.ts +1 -1
  116. package/dist/types/view/FlexibleCard/components/blocks/action-block/action-footer/index.d.ts +3 -0
  117. package/dist/types/view/FlexibleCard/components/blocks/action-block/action-footer/types.d.ts +8 -0
  118. package/dist/types/view/FlexibleCard/components/blocks/action-block/index.d.ts +1 -1
  119. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.d.ts +1 -1
  120. package/dist/types/view/FlexibleCard/components/common/motion-wrapper/index.d.ts +4 -0
  121. package/dist/types/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/types.d.ts +1 -1
  122. package/dist/types/view/HoverCard/components/HoverCardContent.d.ts +2 -2
  123. package/dist/types/view/HoverCard/components/views/resolved/index.d.ts +3 -3
  124. package/dist/types/view/common/ai-summary/index.d.ts +1 -1
  125. package/dist/types-ts4.5/extractors/common/icon/index.d.ts +1 -0
  126. package/dist/types-ts4.5/extractors/embed/index.d.ts +3 -3
  127. package/dist/types-ts4.5/extractors/flexible/actions/extract-ai-summary-action.d.ts +3 -3
  128. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/index.d.ts +1 -1
  129. package/dist/types-ts4.5/state/hooks/use-ai-summary/ai-summary-service/types.d.ts +1 -1
  130. package/dist/types-ts4.5/state/hooks/use-ai-summary/index.d.ts +1 -1
  131. package/dist/types-ts4.5/utils/ai-summary.d.ts +8 -0
  132. package/dist/types-ts4.5/view/BlockCard/views/flexible/utils/index.d.ts +2 -2
  133. package/dist/types-ts4.5/view/CardWithUrl/component-lazy/LazyIntersectionObserverCard.d.ts +1 -4
  134. package/dist/types-ts4.5/view/EmbedCard/components/ExpandedFrame.d.ts +2 -2
  135. package/dist/types-ts4.5/view/EmbedCard/components/styled.d.ts +1 -0
  136. package/dist/types-ts4.5/view/EmbedCard/views/ResolvedView.d.ts +1 -1
  137. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-icon/index.d.ts +1 -1
  138. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/types.d.ts +11 -1
  139. package/dist/types-ts4.5/view/FlexibleCard/components/actions/ai-summary-action/ai-summary-action-component.d.ts +3 -3
  140. package/dist/types-ts4.5/view/FlexibleCard/components/actions/ai-summary-action/utils.d.ts +3 -0
  141. package/dist/types-ts4.5/view/FlexibleCard/components/actions/follow-action/goal-icon/index.d.ts +1 -1
  142. package/dist/types-ts4.5/view/FlexibleCard/components/actions/follow-action/projects-icon/index.d.ts +1 -1
  143. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-block/action-footer/index.d.ts +3 -0
  144. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-block/action-footer/types.d.ts +8 -0
  145. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/action-block/index.d.ts +1 -1
  146. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/ai-state-indicator/ai-state-error.d.ts +1 -1
  147. package/dist/types-ts4.5/view/FlexibleCard/components/common/motion-wrapper/index.d.ts +4 -0
  148. package/dist/types-ts4.5/view/FlexibleCard/components/{blocks/ai-summary-block/ai-motion-wrapper → common/motion-wrapper}/types.d.ts +1 -1
  149. package/dist/types-ts4.5/view/HoverCard/components/HoverCardContent.d.ts +2 -2
  150. package/dist/types-ts4.5/view/HoverCard/components/views/resolved/index.d.ts +3 -3
  151. package/dist/types-ts4.5/view/common/ai-summary/index.d.ts +1 -1
  152. package/package.json +9 -9
  153. package/dist/es2019/utils/get-is-ai-summary-enabled.js +0 -5
  154. package/dist/types/utils/get-is-ai-summary-enabled.d.ts +0 -2
  155. package/dist/types/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/index.d.ts +0 -4
  156. package/dist/types-ts4.5/utils/get-is-ai-summary-enabled.d.ts +0 -2
  157. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper/index.d.ts +0 -4
  158. /package/dist/cjs/view/FlexibleCard/components/blocks/{ai-summary-block/ai-motion-wrapper → action-block/action-footer}/types.js +0 -0
  159. /package/dist/es2019/view/FlexibleCard/components/blocks/{ai-summary-block/ai-motion-wrapper → action-block/action-footer}/types.js +0 -0
  160. /package/dist/{esm/view/FlexibleCard/components/blocks/ai-summary-block/ai-motion-wrapper → es2019/view/FlexibleCard/components/common/motion-wrapper}/types.js +0 -0
  161. /package/dist/types/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.d.ts → common/ai-summary/ai-event-error-viewed.d.ts} +0 -0
  162. /package/dist/types/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.d.ts +0 -0
  163. /package/dist/types-ts4.5/view/FlexibleCard/components/{blocks/ai-summary-block/ai-event-error-viewed/index.d.ts → common/ai-summary/ai-event-error-viewed.d.ts} +0 -0
  164. /package/dist/types-ts4.5/view/FlexibleCard/components/{blocks/ai-summary-block/ai-state-indicator → common/ai-summary}/ai-learn-more-anchor.d.ts +0 -0
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
10
  var _react = require("@emotion/react");
9
11
  var _primitives = require("@atlaskit/primitives");
10
12
  var _react2 = require("react");
@@ -12,6 +14,8 @@ var _constants = require("../../../../../constants");
12
14
  var _flexibleUiContext = require("../../../../../state/flexible-ui-context");
13
15
  var Actions = _interopRequireWildcard(require("../../actions"));
14
16
  var _utils = require("../../utils");
17
+ var _actionFooter = require("./action-footer");
18
+ var _reactMagneticDi = require("react-magnetic-di");
15
19
  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); }
16
20
  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; }
17
21
  /** @jsx jsx */
@@ -48,7 +52,18 @@ var ActionBlock = function ActionBlock(_ref) {
48
52
  testId = _ref$testId === void 0 ? 'smart-block-action' : _ref$testId;
49
53
  var context = (0, _flexibleUiContext.useFlexibleUiContext)();
50
54
  var ui = (0, _flexibleUiContext.useFlexibleUiOptionContext)();
55
+ var _useState = (0, _react2.useState)(),
56
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
57
+ message = _useState2[0],
58
+ setMessage = _useState2[1];
51
59
  var padding = !(ui !== null && ui !== void 0 && ui.hidePadding) ? (0, _utils.getPrimitivesPaddingSpaceBySize)((ui === null || ui === void 0 ? void 0 : ui.size) || _constants.SmartLinkSize.Medium) : undefined;
60
+ var _onClick = (0, _react2.useCallback)(function (name) {
61
+ setMessage(undefined);
62
+ onClickCallback === null || onClickCallback === void 0 || onClickCallback(name);
63
+ }, [onClickCallback]);
64
+ var onError = (0, _react2.useCallback)(function (error) {
65
+ setMessage(error);
66
+ }, []);
52
67
  var actions = (0, _react2.useMemo)(function () {
53
68
  if (!(context !== null && context !== void 0 && context.actions)) {
54
69
  return;
@@ -62,19 +77,24 @@ var ActionBlock = function ActionBlock(_ref) {
62
77
  spaceInline: spaceInline,
63
78
  key: name,
64
79
  onClick: function onClick() {
65
- return onClickCallback === null || onClickCallback === void 0 ? void 0 : onClickCallback(name);
80
+ return _onClick(name);
66
81
  },
82
+ onError: onError,
67
83
  size: size,
68
84
  xcss: (0, _primitives.xcss)({
69
85
  paddingInline: padding
70
86
  })
71
87
  }) : null;
72
88
  });
73
- }, [context === null || context === void 0 ? void 0 : context.actions, onClickCallback, padding, size, spaceInline]);
89
+ }, [context === null || context === void 0 ? void 0 : context.actions, _onClick, onError, padding, size, spaceInline]);
74
90
  return actions ? (0, _react.jsx)("div", {
75
91
  css: ignoreContainerPaddingStyles,
76
92
  ref: blockRef,
77
93
  "data-testid": testId
78
- }, actions) : null;
94
+ }, actions, (0, _react.jsx)(_actionFooter.ActionFooter, {
95
+ message: message,
96
+ paddingInline: padding,
97
+ testId: testId
98
+ })) : null;
79
99
  };
80
100
  var _default = exports.default = ActionBlock;
@@ -17,7 +17,7 @@ var _messages = require("../../../../../../messages");
17
17
  var _aiIcon = _interopRequireDefault(require("../../../../../common/ai-icon"));
18
18
  var _aiIndicatorTooltip = _interopRequireDefault(require("./ai-indicator-tooltip"));
19
19
  var _aiIndicatorContainer = _interopRequireDefault(require("./ai-indicator-container"));
20
- var _aiLearnMoreAnchor = _interopRequireDefault(require("./ai-learn-more-anchor"));
20
+ var _aiLearnMoreAnchor = _interopRequireDefault(require("../../../common/ai-summary/ai-learn-more-anchor"));
21
21
  /** @jsx jsx */
22
22
 
23
23
  var tooltipMsgStyles = (0, _primitives.xcss)({
@@ -10,10 +10,9 @@ var _react = _interopRequireDefault(require("react"));
10
10
  var _reactIntlNext = require("react-intl-next");
11
11
  var _error = _interopRequireDefault(require("@atlaskit/icon/glyph/error"));
12
12
  var _primitives = require("@atlaskit/primitives");
13
- var _messages = require("../../../../../../messages");
13
+ var _aiSummary = require("../../../../../../utils/ai-summary");
14
+ var _aiLearnMoreAnchor = _interopRequireDefault(require("../../../common/ai-summary/ai-learn-more-anchor"));
14
15
  var _aiIndicatorContainer = _interopRequireDefault(require("./ai-indicator-container"));
15
- var _aiLearnMoreAnchor = _interopRequireDefault(require("./ai-learn-more-anchor"));
16
- var _constants = require("../../../../../../constants");
17
16
  var contentStyles = (0, _primitives.xcss)({
18
17
  color: 'color.text.subtle',
19
18
  fontSize: '11px',
@@ -34,31 +33,13 @@ var FormattedErrorMessage = function FormattedErrorMessage(_ref) {
34
33
  }
35
34
  }));
36
35
  };
37
- var getErrorMesssageProps = function getErrorMesssageProps(error) {
38
- switch (error) {
39
- case 'ACCEPTABLE_USE_VIOLATIONS':
40
- return {
41
- message: _messages.messages.ai_summary_error_acceptable_use_violation,
42
- url: _constants.CONTENT_URL_ACCEPTABLE_USE_POLICY
43
- };
44
- case 'HIPAA_CONTENT_DETECTED':
45
- return {
46
- message: _messages.messages.ai_summary_error_hipaa_content_detected
47
- };
48
- default:
49
- return {
50
- message: _messages.messages.ai_summary_error_generic,
51
- url: _constants.CONTENT_URL_AI_TROUBLESHOOTING
52
- };
53
- }
54
- };
55
36
  var AIStateError = function AIStateError(_ref2) {
56
37
  var appearance = _ref2.appearance,
57
38
  testId = _ref2.testId,
58
39
  error = _ref2.error;
59
- var _getErrorMesssageProp = getErrorMesssageProps(error),
60
- message = _getErrorMesssageProp.message,
61
- url = _getErrorMesssageProp.url;
40
+ var _getAISummaryErrorMes = (0, _aiSummary.getAISummaryErrorMessage)(error),
41
+ message = _getAISummaryErrorMes.message,
42
+ url = _getAISummaryErrorMes.url;
62
43
  switch (appearance) {
63
44
  case 'icon-only':
64
45
  return null;
@@ -15,7 +15,7 @@ var _constants = require("../../../../../../constants");
15
15
  var _actionGroup = _interopRequireDefault(require("../../action-group"));
16
16
  var _block = _interopRequireDefault(require("../../block"));
17
17
  var _elementGroup = _interopRequireDefault(require("../../element-group"));
18
- var _aiMotionWrapper = _interopRequireDefault(require("../ai-motion-wrapper"));
18
+ var _motionWrapper = _interopRequireDefault(require("../../../common/motion-wrapper"));
19
19
  var _aiStateIndicator = _interopRequireDefault(require("../ai-state-indicator"));
20
20
  var _utils = require("../../utils");
21
21
  var _messages = require("../../../../../../messages");
@@ -24,7 +24,7 @@ var _aiIcon = _interopRequireDefault(require("../../../../../common/ai-icon"));
24
24
  var _aiSummary = _interopRequireDefault(require("../../../../../common/ai-summary"));
25
25
  var _useAnalyticsEvents2 = require("../../../../../../common/analytics/generated/use-analytics-events");
26
26
  var _aiEventSummaryViewed = _interopRequireDefault(require("../ai-event-summary-viewed"));
27
- var _aiEventErrorViewed = _interopRequireDefault(require("../ai-event-error-viewed"));
27
+ var _aiEventErrorViewed = _interopRequireDefault(require("../../../common/ai-summary/ai-event-error-viewed"));
28
28
  var _reactMagneticDi = require("react-magnetic-di");
29
29
  var _react2 = require("@emotion/react");
30
30
  var _featureDiscovery = _interopRequireDefault(require("../feature-discovery"));
@@ -38,7 +38,7 @@ var AISummaryBlockErrorIndicator = exports.AISummaryBlockErrorIndicator = functi
38
38
  error = _ref.error,
39
39
  showTransition = _ref.showTransition,
40
40
  testId = _ref.testId;
41
- return /*#__PURE__*/_react.default.createElement(_aiMotionWrapper.default, {
41
+ return /*#__PURE__*/_react.default.createElement(_motionWrapper.default, {
42
42
  isFadeIn: true,
43
43
  show: showErrorIndicator,
44
44
  showTransition: showTransition
@@ -150,7 +150,7 @@ var AISummaryBlockResolvedView = function AISummaryBlockResolvedView(props) {
150
150
  }, props.overrideCss)
151
151
  }), status === 'done' && /*#__PURE__*/_react.default.createElement(_aiEventSummaryViewed.default, {
152
152
  fromCache: isSummarisedOnMountRef.current
153
- }), /*#__PURE__*/_react.default.createElement(_aiMotionWrapper.default, {
153
+ }), /*#__PURE__*/_react.default.createElement(_motionWrapper.default, {
154
154
  minHeight: aiSummaryMinHeight,
155
155
  show: showAISummary,
156
156
  showTransition: !isSummarisedOnMountRef.current
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
- var _useAnalyticsEvents2 = require("../../../../../../common/analytics/generated/use-analytics-events");
8
+ var _useAnalyticsEvents2 = require("../../../../../common/analytics/generated/use-analytics-events");
9
9
  var AIEventErrorViewed = function AIEventErrorViewed(_ref) {
10
10
  var reason = _ref.reason;
11
11
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
@@ -8,7 +8,7 @@ exports.default = void 0;
8
8
  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
- var _constants = require("../../../../../../constants");
11
+ var _constants = require("../../../../../constants");
12
12
  var _excluded = ["children"];
13
13
  var AILearnMoreAnchor = function AILearnMoreAnchor(_ref) {
14
14
  var children = _ref.children,
@@ -5,13 +5,13 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = exports.AIMotionWrapper = void 0;
8
+ exports.default = exports.MotionWrapper = void 0;
9
9
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
10
  var _primitives = require("@atlaskit/primitives");
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  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); }
13
13
  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; }
14
- var AIMotionWrapper = exports.AIMotionWrapper = function AIMotionWrapper(_ref) {
14
+ var MotionWrapper = exports.MotionWrapper = function MotionWrapper(_ref) {
15
15
  var children = _ref.children,
16
16
  _ref$isFadeIn = _ref.isFadeIn,
17
17
  isFadeIn = _ref$isFadeIn === void 0 ? false : _ref$isFadeIn,
@@ -52,4 +52,4 @@ var AIMotionWrapper = exports.AIMotionWrapper = function AIMotionWrapper(_ref) {
52
52
  ref: ref
53
53
  }, children) : null;
54
54
  };
55
- var _default = exports.default = AIMotionWrapper;
55
+ var _default = exports.default = MotionWrapper;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -29,7 +29,7 @@ var _click = require("../../../utils/analytics/click");
29
29
  var _store = require("../../../state/store");
30
30
  var _forbidden = _interopRequireDefault(require("./views/forbidden"));
31
31
  var _ContentContainer = _interopRequireDefault(require("./ContentContainer"));
32
- var _getIsAiSummaryEnabled = require("../../../utils/get-is-ai-summary-enabled");
32
+ var _aiSummary = require("../../../utils/ai-summary");
33
33
  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); }
34
34
  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; }
35
35
  /** @jsx jsx */
@@ -93,7 +93,7 @@ var HoverCardContent = function HoverCardContent(_ref) {
93
93
  var linkStatus = (_linkState$status = linkState.status) !== null && _linkState$status !== void 0 ? _linkState$status : 'pending';
94
94
  var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
95
95
  isAdminHubAIEnabled = _useSmartLinkContext.isAdminHubAIEnabled;
96
- var isAISummaryEnabled = (0, _getIsAiSummaryEnabled.getIsAISummaryEnabled)(isAdminHubAIEnabled, cardState.details);
96
+ var isAISummaryEnabled = (0, _aiSummary.getIsAISummaryEnabled)(isAdminHubAIEnabled, cardState.details);
97
97
  var services = (0, _helpers.getServices)(linkState.details);
98
98
  var statusRef = (0, _react2.useRef)(linkStatus);
99
99
  var analyticsRef = (0, _react2.useRef)(analytics);
@@ -188,13 +188,7 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref2) {
188
188
  }), isActionBlockEnabled && /*#__PURE__*/_react.default.createElement(_blocks.ActionBlock, {
189
189
  onClick: onActionClick,
190
190
  spaceInline: "space.150"
191
- }), isActionBlockEnabled && /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
192
- secondary: [{
193
- name: _constants.ElementName.Provider,
194
- testId: 'smart-element-provider'
195
- }],
196
- testId: "smart-block-action-footer"
197
- }), !isAISummaryEnabled && !isActionBlockEnabled && /*#__PURE__*/_react.default.createElement(_blocks.FooterBlock, {
191
+ }), isActionBlockEnabled && /*#__PURE__*/_react.default.createElement(_blocks.FooterBlock, null), !isAISummaryEnabled && !isActionBlockEnabled && /*#__PURE__*/_react.default.createElement(_blocks.FooterBlock, {
198
192
  actions: footerActions,
199
193
  size: _constants.SmartLinkSize.Large,
200
194
  overrideCss: _styled.footerBlockCss
@@ -48,7 +48,7 @@ var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(extensionKe
48
48
  });
49
49
  case 'trello-object-provider':
50
50
  return {
51
- primary: [_constants.ElementName.AuthorGroup, _constants.ElementName.State, _constants.ElementName.DueOn],
51
+ primary: [_constants.ElementName.CollaboratorGroup, _constants.ElementName.State, _constants.ElementName.DueOn],
52
52
  secondary: [_constants.ElementName.ReactCount, _constants.ElementName.CommentCount, _constants.ElementName.AttachmentCount, _constants.ElementName.ChecklistProgress],
53
53
  subtitle: [_constants.ElementName.Location]
54
54
  };
@@ -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: "26.59.1",
20
+ packageVersion: "26.61.0",
21
21
  componentName: 'linkUrl'
22
22
  };
23
23
  var Link = (0, _click.withLinkClickedEvent)('a');
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _svg = _interopRequireDefault(require("@atlaskit/icon/svg"));
10
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
11
  var _colors = require("@atlaskit/theme/colors");
11
12
  /**
12
13
  * The bulk of this file is originally from
@@ -14,6 +15,8 @@ var _colors = require("@atlaskit/theme/colors");
14
15
  * with modifications
15
16
  */
16
17
  var AiIcon = function AiIcon(props) {
18
+ var iconColor = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.hover-card-action-redesign') ? "var(--ds-icon, #44546F)" : "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")");
19
+ var textColor = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.hover-card-action-redesign') ? "var(--ds-icon, #44546F)" : "var(--ds-text-accent-blue, ".concat(_colors.B400, ")");
17
20
  return /*#__PURE__*/_react.default.createElement(_svg.default, props, /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("linearGradient", {
18
21
  id: "ai_icon_lg0",
19
22
  x1: "21",
@@ -23,12 +26,12 @@ var AiIcon = function AiIcon(props) {
23
26
  gradientUnits: "userSpaceOnUse"
24
27
  }, /*#__PURE__*/_react.default.createElement("stop", {
25
28
  offset: "0.270833",
26
- stopColor: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")"),
27
- color: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")")
29
+ stopColor: iconColor,
30
+ color: iconColor
28
31
  }), /*#__PURE__*/_react.default.createElement("stop", {
29
32
  offset: "1",
30
- stopColor: "var(--ds-text-accent-blue, ".concat(_colors.B400, ")"),
31
- color: "var(--ds-text-accent-blue, ".concat(_colors.B400, ")")
33
+ stopColor: textColor,
34
+ color: textColor
32
35
  })), /*#__PURE__*/_react.default.createElement("linearGradient", {
33
36
  id: "ai_icon_lg1",
34
37
  x1: "12.5",
@@ -38,12 +41,12 @@ var AiIcon = function AiIcon(props) {
38
41
  gradientUnits: "userSpaceOnUse"
39
42
  }, /*#__PURE__*/_react.default.createElement("stop", {
40
43
  offset: "0.1875",
41
- stopColor: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")"),
42
- color: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")")
44
+ stopColor: iconColor,
45
+ color: iconColor
43
46
  }), /*#__PURE__*/_react.default.createElement("stop", {
44
47
  offset: "1",
45
- stopColor: "var(--ds-text-accent-blue, ".concat(_colors.B400, ")"),
46
- color: "var(--ds-text-accent-blue, ".concat(_colors.B400, ")")
48
+ stopColor: textColor,
49
+ color: textColor
47
50
  })), /*#__PURE__*/_react.default.createElement("linearGradient", {
48
51
  id: "ai_icon_lg2",
49
52
  x1: "6.82996",
@@ -52,12 +55,12 @@ var AiIcon = function AiIcon(props) {
52
55
  y2: "12",
53
56
  gradientUnits: "userSpaceOnUse"
54
57
  }, /*#__PURE__*/_react.default.createElement("stop", {
55
- stopColor: "var(--ds-text-accent-blue, ".concat(_colors.B400, ")"),
56
- color: "var(--ds-text-accent-blue, ".concat(_colors.B400, ")")
58
+ stopColor: textColor,
59
+ color: textColor
57
60
  }), /*#__PURE__*/_react.default.createElement("stop", {
58
61
  offset: "0.791667",
59
- stopColor: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")"),
60
- color: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")")
62
+ stopColor: iconColor,
63
+ color: iconColor
61
64
  })), /*#__PURE__*/_react.default.createElement("linearGradient", {
62
65
  id: "ai_icon_lg3",
63
66
  x1: "12.5",
@@ -66,12 +69,12 @@ var AiIcon = function AiIcon(props) {
66
69
  y2: "21",
67
70
  gradientUnits: "userSpaceOnUse"
68
71
  }, /*#__PURE__*/_react.default.createElement("stop", {
69
- stopColor: "var(--ds-text-accent-blue, ".concat(_colors.B400, ")"),
70
- color: "var(--ds-text-accent-blue, ".concat(_colors.B400, ")")
72
+ stopColor: textColor,
73
+ color: textColor
71
74
  }), /*#__PURE__*/_react.default.createElement("stop", {
72
75
  offset: "0.802083",
73
- stopColor: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")"),
74
- color: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")")
76
+ stopColor: iconColor,
77
+ color: iconColor
75
78
  }))), /*#__PURE__*/_react.default.createElement("g", null, /*#__PURE__*/_react.default.createElement("path", {
76
79
  fillRule: "evenodd",
77
80
  clipRule: "evenodd",
@@ -96,22 +99,22 @@ var AiIcon = function AiIcon(props) {
96
99
  fillRule: "evenodd",
97
100
  clipRule: "evenodd",
98
101
  d: "M14.2929 14.2929C14.6835 13.9024 15.3166 13.9024 15.7071 14.2929L19.7071 18.2929C20.0977 18.6834 20.0977 19.3166 19.7071 19.7071C19.3166 20.0976 18.6835 20.0976 18.2929 19.7071L14.2929 15.7071C13.9024 15.3166 13.9024 14.6834 14.2929 14.2929Z",
99
- fill: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")")
102
+ fill: iconColor
100
103
  }), /*#__PURE__*/_react.default.createElement("path", {
101
104
  fillRule: "evenodd",
102
105
  clipRule: "evenodd",
103
106
  d: "M19.7071 4.29289C20.0977 4.68342 20.0977 5.31658 19.7071 5.70711L15.7071 9.70711C15.3166 10.0976 14.6835 10.0976 14.2929 9.70711C13.9024 9.31658 13.9024 8.68342 14.2929 8.29289L18.2929 4.29289C18.6835 3.90237 19.3166 3.90237 19.7071 4.29289Z",
104
- fill: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")")
107
+ fill: iconColor
105
108
  }), /*#__PURE__*/_react.default.createElement("path", {
106
109
  fillRule: "evenodd",
107
110
  clipRule: "evenodd",
108
111
  d: "M4.29289 4.29289C4.68342 3.90237 5.31658 3.90237 5.70711 4.29289L9.70711 8.29289C10.0976 8.68342 10.0976 9.31658 9.70711 9.70711C9.31658 10.0976 8.68342 10.0976 8.29289 9.70711L4.29289 5.70711C3.90237 5.31658 3.90237 4.68342 4.29289 4.29289Z",
109
- fill: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")")
112
+ fill: iconColor
110
113
  }), /*#__PURE__*/_react.default.createElement("path", {
111
114
  fillRule: "evenodd",
112
115
  clipRule: "evenodd",
113
116
  d: "M9.70711 14.2929C10.0976 14.6834 10.0976 15.3166 9.70711 15.7071L5.70711 19.7071C5.31658 20.0976 4.68342 20.0976 4.29289 19.7071C3.90237 19.3166 3.90237 18.6834 4.29289 18.2929L8.29289 14.2929C8.68342 13.9024 9.31658 13.9024 9.70711 14.2929Z",
114
- fill: "var(--ds-icon-accent-blue, ".concat(_colors.B200, ")")
117
+ fill: iconColor
115
118
  })));
116
119
  };
117
120
  var _default = exports.default = AiIcon;
@@ -23,6 +23,7 @@ var AISummaryCSSStyles = (0, _react2.css)({
23
23
  fontSize: '0.75rem',
24
24
  lineHeight: '1rem',
25
25
  wordWrap: 'break-word',
26
+ wordBreak: 'break-word',
26
27
  whiteSpace: 'normal',
27
28
  WebkitUserSelect: 'text',
28
29
  MozUserSelect: 'text',
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
3
  import ProjectIcon from '@atlaskit/icon/glyph/people-group';
3
4
  import CommitIcon from '@atlaskit/icon-object/glyph/commit/16';
4
5
  import PullRequestIcon from '@atlaskit/icon-object/glyph/pull-request/16';
@@ -11,6 +12,7 @@ import { extractFileFormat } from './extractFileFormat';
11
12
  import { extractIconFromDocument } from './extractIconFromDocument';
12
13
  import { extractIconFromTask } from './extractIconFromTask';
13
14
  import { extractTaskType } from '../lozenge/extractTaskType';
15
+ import { prioritiseIcon } from './prioritiseIcon';
14
16
  export const extractIcon = (jsonLd, priority = 'type') => {
15
17
  const type = jsonLd['@type'];
16
18
  const opts = {
@@ -84,6 +86,24 @@ const extractIconByType = (type, opts) => {
84
86
  case 'atlassian:Task':
85
87
  return extractIconFromTask(opts);
86
88
  default:
87
- return opts.provider && opts.provider.icon;
89
+ return getBooleanFF('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? extractDefaultIcon(opts) : opts.provider && opts.provider.icon;
88
90
  }
91
+ };
92
+
93
+ /**
94
+ * Choose which icon to show when the type is not recognized.
95
+ */
96
+ const extractDefaultIcon = opts => {
97
+ var _opts$provider;
98
+ const {
99
+ provider
100
+ } = opts;
101
+ const providerId = provider === null || provider === void 0 ? void 0 : provider.id;
102
+ return prioritiseIcon({
103
+ providerId,
104
+ fileFormatIcon: undefined,
105
+ documentTypeIcon: undefined,
106
+ urlIcon: opts.icon,
107
+ providerIcon: (_opts$provider = opts.provider) === null || _opts$provider === void 0 ? void 0 : _opts$provider.icon
108
+ });
89
109
  };
@@ -1,4 +1,5 @@
1
1
  export { extractFileFormat } from './extractFileFormat';
2
+ export { prioritiseIcon } from './prioritiseIcon';
2
3
  export { extractIcon } from './extractIcon';
3
4
  export { extractIconFromDocument } from './extractIconFromDocument';
4
5
  export { extractIconFromTask } from './extractIconFromTask';
@@ -1,6 +1,8 @@
1
- import { extractLink, extractTitle, extractProvider, extractPreview } from '@atlaskit/link-extractors';
1
+ import { extractLink, extractTitle, extractProvider, extractProviderIcon, extractPreview, extractUrlFromIconJsonLd } from '@atlaskit/link-extractors';
2
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
3
  import { extractIsTrusted } from '../common/meta/extractIsTrusted';
3
4
  import { extractIsSupportTheming } from '../common/meta/extractIsSupportTheming';
5
+ import { prioritiseIcon } from '../common/icon';
4
6
  const extractEmbedPreview = (jsonLd, platform, iframeUrlType) => {
5
7
  const preview = extractPreview(jsonLd, platform, iframeUrlType);
6
8
  if (preview && preview.src) {
@@ -10,10 +12,34 @@ const extractEmbedPreview = (jsonLd, platform, iframeUrlType) => {
10
12
  };
11
13
  }
12
14
  };
15
+ function generateContext(jsonLd) {
16
+ const provider = extractProvider(jsonLd);
17
+ if (!provider) {
18
+ return undefined;
19
+ }
20
+
21
+ // If no icon is supplied, return existing context
22
+ if (!jsonLd.icon) {
23
+ return provider;
24
+ }
25
+ const generator = jsonLd.generator;
26
+ const icon = prioritiseIcon({
27
+ providerId: generator && typeof generator !== 'string' && generator['@type'] !== 'Link' ? generator['@id'] : undefined,
28
+ fileFormatIcon: undefined,
29
+ documentTypeIcon: undefined,
30
+ urlIcon: extractUrlFromIconJsonLd(jsonLd.icon),
31
+ // We still attempt to follow the icon priority function even if no generator (and therefore provider icon) is defined
32
+ providerIcon: generator && typeof generator !== 'string' && generator['@type'] !== 'Link' && extractProviderIcon(generator.icon)
33
+ });
34
+ return {
35
+ ...provider,
36
+ icon: icon ? icon : provider.icon
37
+ };
38
+ }
13
39
  export const extractEmbedProps = (jsonLd, meta, platform, iframeUrlType) => ({
14
40
  link: extractLink(jsonLd) || '',
15
41
  title: extractTitle(jsonLd),
16
- context: extractProvider(jsonLd),
42
+ context: getBooleanFF('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? generateContext(jsonLd) : extractProvider(jsonLd),
17
43
  preview: extractEmbedPreview(jsonLd, platform, iframeUrlType),
18
44
  isTrusted: extractIsTrusted(meta),
19
45
  isSupportTheming: extractIsSupportTheming(meta)
@@ -1,6 +1,6 @@
1
1
  import { CardAction } from '../../../view/Card/types';
2
2
  import { canShowAction } from '../../../utils/actions/can-show-action';
3
- import { getIsAISummaryEnabled } from '../../../utils/get-is-ai-summary-enabled';
3
+ import { getIsAISummaryEnabled } from '../../../utils/ai-summary';
4
4
  import { extractAri } from '@atlaskit/link-extractors';
5
5
  export const extractAISummaryAction = (response, url, actionOptions, aiSummaryConfig) => {
6
6
  if (!canShowAction(CardAction.AISummaryAction, actionOptions) || !getIsAISummaryEnabled(aiSummaryConfig === null || aiSummaryConfig === void 0 ? void 0 : aiSummaryConfig.isAdminHubAIEnabled, response) || !(aiSummaryConfig !== null && aiSummaryConfig !== void 0 && aiSummaryConfig.product) || !url) {
@@ -9,7 +9,7 @@ import { extractTaskType } from '../../common/lozenge';
9
9
  import { extractTitle } from '@atlaskit/link-extractors';
10
10
  import { extractorPriorityMap as priorityMap } from '../../common/icon/priority';
11
11
  import { IconType } from '../../../constants';
12
- import { prioritiseIcon } from '../../common/icon/prioritiseIcon';
12
+ import { prioritiseIcon } from '../../common/icon';
13
13
  const extractTask = (data, label) => {
14
14
  const {
15
15
  id,
@@ -117,7 +117,38 @@ const extractJsonldDataIcon = data => {
117
117
  label: label || 'Repository'
118
118
  };
119
119
  default:
120
- return providerIcon;
120
+ return getBooleanFF('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? extractDefaultIcon({
121
+ data,
122
+ type,
123
+ label,
124
+ provider,
125
+ urlIcon,
126
+ providerIcon
127
+ }) : providerIcon;
121
128
  }
122
129
  };
123
- export default extractJsonldDataIcon;
130
+ export default extractJsonldDataIcon;
131
+
132
+ /**
133
+ * Choose which icon to show when the type is not recognized.
134
+ */
135
+ const extractDefaultIcon = ({
136
+ data,
137
+ type,
138
+ label,
139
+ provider,
140
+ urlIcon,
141
+ providerIcon
142
+ }) => {
143
+ const documentData = data;
144
+ const fileFormat = documentData === null || documentData === void 0 ? void 0 : documentData['schema:fileFormat'];
145
+ const fileFormatIcon = extractFileFormatIcon(fileFormat);
146
+ const documentTypeIcon = extractDocumentTypeIcon(type, label);
147
+ return prioritiseIcon({
148
+ providerId: provider,
149
+ fileFormatIcon,
150
+ documentTypeIcon,
151
+ urlIcon,
152
+ providerIcon
153
+ });
154
+ };
@@ -102,6 +102,7 @@ export class AISummaryService {
102
102
  for (const subscriber of this.subscribedStateSetters) {
103
103
  subscriber(this.state);
104
104
  }
105
+ return this.state;
105
106
  }
106
107
  isExpectedError(value) {
107
108
  return typeof value === 'string' && errorMessages.some(a => a === value);
@@ -0,0 +1,25 @@
1
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
+ import { CONTENT_URL_ACCEPTABLE_USE_POLICY, CONTENT_URL_AI_TROUBLESHOOTING } from '../constants';
3
+ import { messages } from '../messages';
4
+ export const getIsAISummaryEnabled = (isAdminHubAIEnabled = false, response) => {
5
+ var _response$meta, _response$meta$suppor;
6
+ return Boolean(getBooleanFF('platform.linking-platform.smart-card.hover-card-ai-summaries') && isAdminHubAIEnabled && (response === null || response === void 0 ? void 0 : (_response$meta = response.meta) === null || _response$meta === void 0 ? void 0 : (_response$meta$suppor = _response$meta.supportedFeature) === null || _response$meta$suppor === void 0 ? void 0 : _response$meta$suppor.includes('AISummary')));
7
+ };
8
+ export const getAISummaryErrorMessage = error => {
9
+ switch (error) {
10
+ case 'ACCEPTABLE_USE_VIOLATIONS':
11
+ return {
12
+ message: messages.ai_summary_error_acceptable_use_violation,
13
+ url: CONTENT_URL_ACCEPTABLE_USE_POLICY
14
+ };
15
+ case 'HIPAA_CONTENT_DETECTED':
16
+ return {
17
+ message: messages.ai_summary_error_hipaa_content_detected
18
+ };
19
+ default:
20
+ return {
21
+ message: messages.ai_summary_error_generic,
22
+ url: CONTENT_URL_AI_TROUBLESHOOTING
23
+ };
24
+ }
25
+ };
@@ -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: "26.59.1"
7
+ packageVersion: "26.61.0"
8
8
  };
9
9
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -106,6 +106,14 @@ export const getSimulatedBetterMetadata = cardDetails => {
106
106
  name: ElementName.CommentCount
107
107
  }]
108
108
  };
109
+ case 'trello-object-provider':
110
+ return {
111
+ titleMetadata: defaultTitleMetadata,
112
+ topMetadata: [{
113
+ name: ElementName.CollaboratorGroup
114
+ }, ...baseTopMetadata],
115
+ bottomMetadata: defaultBottomMetadata
116
+ };
109
117
  default:
110
118
  return {
111
119
  titleMetadata: defaultTitleMetadata,