@atlaskit/smart-card 26.60.0 → 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 (47) hide show
  1. package/CHANGELOG.md +18 -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/icon/extract-jsonld-data-icon.js +33 -4
  6. package/dist/cjs/utils/analytics/analytics.js +1 -1
  7. package/dist/cjs/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  8. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  9. package/dist/cjs/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  10. package/dist/cjs/view/LinkUrl/index.js +1 -1
  11. package/dist/cjs/view/common/ai-icon/index.js +23 -20
  12. package/dist/cjs/view/common/ai-summary/index.js +1 -0
  13. package/dist/es2019/extractors/common/icon/extractIcon.js +21 -1
  14. package/dist/es2019/extractors/common/icon/index.js +1 -0
  15. package/dist/es2019/extractors/embed/index.js +28 -2
  16. package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +34 -3
  17. package/dist/es2019/utils/analytics/analytics.js +1 -1
  18. package/dist/es2019/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  19. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  20. package/dist/es2019/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  21. package/dist/es2019/view/LinkUrl/index.js +1 -1
  22. package/dist/es2019/view/common/ai-icon/index.js +104 -99
  23. package/dist/es2019/view/common/ai-summary/index.js +1 -0
  24. package/dist/esm/extractors/common/icon/extractIcon.js +19 -1
  25. package/dist/esm/extractors/common/icon/index.js +1 -0
  26. package/dist/esm/extractors/embed/index.js +27 -2
  27. package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +33 -3
  28. package/dist/esm/utils/analytics/analytics.js +1 -1
  29. package/dist/esm/view/FlexibleCard/components/actions/action/action-icon/index.js +0 -3
  30. package/dist/esm/view/FlexibleCard/components/actions/follow-action/goal-icon/index.js +1 -1
  31. package/dist/esm/view/FlexibleCard/components/actions/follow-action/projects-icon/index.js +1 -1
  32. package/dist/esm/view/LinkUrl/index.js +1 -1
  33. package/dist/esm/view/common/ai-icon/index.js +23 -20
  34. package/dist/esm/view/common/ai-summary/index.js +1 -0
  35. package/dist/types/extractors/common/icon/index.d.ts +1 -0
  36. package/dist/types/extractors/embed/index.d.ts +3 -3
  37. package/dist/types/view/FlexibleCard/components/actions/action/action-icon/index.d.ts +1 -1
  38. package/dist/types/view/FlexibleCard/components/actions/follow-action/goal-icon/index.d.ts +1 -1
  39. package/dist/types/view/FlexibleCard/components/actions/follow-action/projects-icon/index.d.ts +1 -1
  40. package/dist/types/view/common/ai-summary/index.d.ts +1 -1
  41. package/dist/types-ts4.5/extractors/common/icon/index.d.ts +1 -0
  42. package/dist/types-ts4.5/extractors/embed/index.d.ts +3 -3
  43. package/dist/types-ts4.5/view/FlexibleCard/components/actions/action/action-icon/index.d.ts +1 -1
  44. package/dist/types-ts4.5/view/FlexibleCard/components/actions/follow-action/goal-icon/index.d.ts +1 -1
  45. package/dist/types-ts4.5/view/FlexibleCard/components/actions/follow-action/projects-icon/index.d.ts +1 -1
  46. package/dist/types-ts4.5/view/common/ai-summary/index.d.ts +1 -1
  47. package/package.json +5 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 26.61.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#97142](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/97142)
8
+ [`a2a8c037302c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a2a8c037302c) -
9
+ EDM-9697 Fix embeds to use icon supplied by prioritiseIcon under FF
10
+
11
+ ### Patch Changes
12
+
13
+ - [#97654](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/97654)
14
+ [`98a9f3d7124f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/98a9f3d7124f) -
15
+ Hover preview redesign: Update action icon color
16
+ - [#97682](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/97682)
17
+ [`6c631fd32f18`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/6c631fd32f18) -
18
+ AI summary: Update word-break behavior for the summary content
19
+ - Updated dependencies
20
+
3
21
  ## 26.60.0
4
22
 
5
23
  ### Minor Changes
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.extractIcon = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
9
10
  var _peopleGroup = _interopRequireDefault(require("@atlaskit/icon/glyph/people-group"));
10
11
  var _ = _interopRequireDefault(require("@atlaskit/icon-object/glyph/commit/16"));
11
12
  var _2 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/pull-request/16"));
@@ -18,6 +19,7 @@ var _extractFileFormat = require("./extractFileFormat");
18
19
  var _extractIconFromDocument = require("./extractIconFromDocument");
19
20
  var _extractIconFromTask = require("./extractIconFromTask");
20
21
  var _extractTaskType = require("../lozenge/extractTaskType");
22
+ var _prioritiseIcon = require("./prioritiseIcon");
21
23
  var extractIcon = exports.extractIcon = function extractIcon(jsonLd) {
22
24
  var priority = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'type';
23
25
  var type = jsonLd['@type'];
@@ -94,6 +96,22 @@ var extractIconByType = function extractIconByType(type, opts) {
94
96
  case 'atlassian:Task':
95
97
  return (0, _extractIconFromTask.extractIconFromTask)(opts);
96
98
  default:
97
- return opts.provider && opts.provider.icon;
99
+ return (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? extractDefaultIcon(opts) : opts.provider && opts.provider.icon;
98
100
  }
101
+ };
102
+
103
+ /**
104
+ * Choose which icon to show when the type is not recognized.
105
+ */
106
+ var extractDefaultIcon = function extractDefaultIcon(opts) {
107
+ var _opts$provider;
108
+ var provider = opts.provider;
109
+ var providerId = provider === null || provider === void 0 ? void 0 : provider.id;
110
+ return (0, _prioritiseIcon.prioritiseIcon)({
111
+ providerId: providerId,
112
+ fileFormatIcon: undefined,
113
+ documentTypeIcon: undefined,
114
+ urlIcon: opts.icon,
115
+ providerIcon: (_opts$provider = opts.provider) === null || _opts$provider === void 0 ? void 0 : _opts$provider.icon
116
+ });
99
117
  };
@@ -27,7 +27,14 @@ Object.defineProperty(exports, "extractIconFromTask", {
27
27
  return _extractIconFromTask.extractIconFromTask;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "prioritiseIcon", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _prioritiseIcon.prioritiseIcon;
34
+ }
35
+ });
30
36
  var _extractFileFormat = require("./extractFileFormat");
37
+ var _prioritiseIcon = require("./prioritiseIcon");
31
38
  var _extractIcon = require("./extractIcon");
32
39
  var _extractIconFromDocument = require("./extractIconFromDocument");
33
40
  var _extractIconFromTask = require("./extractIconFromTask");
@@ -7,8 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.extractEmbedProps = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _linkExtractors = require("@atlaskit/link-extractors");
10
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
11
  var _extractIsTrusted = require("../common/meta/extractIsTrusted");
11
12
  var _extractIsSupportTheming = require("../common/meta/extractIsSupportTheming");
13
+ var _icon = require("../common/icon");
12
14
  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; }
13
15
  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; }
14
16
  var extractEmbedPreview = function extractEmbedPreview(jsonLd, platform, iframeUrlType) {
@@ -19,11 +21,34 @@ var extractEmbedPreview = function extractEmbedPreview(jsonLd, platform, iframeU
19
21
  });
20
22
  }
21
23
  };
24
+ function generateContext(jsonLd) {
25
+ var provider = (0, _linkExtractors.extractProvider)(jsonLd);
26
+ if (!provider) {
27
+ return undefined;
28
+ }
29
+
30
+ // If no icon is supplied, return existing context
31
+ if (!jsonLd.icon) {
32
+ return provider;
33
+ }
34
+ var generator = jsonLd.generator;
35
+ var icon = (0, _icon.prioritiseIcon)({
36
+ providerId: generator && typeof generator !== 'string' && generator['@type'] !== 'Link' ? generator['@id'] : undefined,
37
+ fileFormatIcon: undefined,
38
+ documentTypeIcon: undefined,
39
+ urlIcon: (0, _linkExtractors.extractUrlFromIconJsonLd)(jsonLd.icon),
40
+ // We still attempt to follow the icon priority function even if no generator (and therefore provider icon) is defined
41
+ providerIcon: generator && typeof generator !== 'string' && generator['@type'] !== 'Link' && (0, _linkExtractors.extractProviderIcon)(generator.icon)
42
+ });
43
+ return _objectSpread(_objectSpread({}, provider), {}, {
44
+ icon: icon ? icon : provider.icon
45
+ });
46
+ }
22
47
  var extractEmbedProps = exports.extractEmbedProps = function extractEmbedProps(jsonLd, meta, platform, iframeUrlType) {
23
48
  return {
24
49
  link: (0, _linkExtractors.extractLink)(jsonLd) || '',
25
50
  title: (0, _linkExtractors.extractTitle)(jsonLd),
26
- context: (0, _linkExtractors.extractProvider)(jsonLd),
51
+ context: (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? generateContext(jsonLd) : (0, _linkExtractors.extractProvider)(jsonLd),
27
52
  preview: extractEmbedPreview(jsonLd, platform, iframeUrlType),
28
53
  isTrusted: (0, _extractIsTrusted.extractIsTrusted)(meta),
29
54
  isSupportTheming: (0, _extractIsSupportTheming.extractIsSupportTheming)(meta)
@@ -16,7 +16,7 @@ var _lozenge = require("../../common/lozenge");
16
16
  var _linkExtractors = require("@atlaskit/link-extractors");
17
17
  var _priority = require("../../common/icon/priority");
18
18
  var _constants2 = require("../../../constants");
19
- var _prioritiseIcon = require("../../common/icon/prioritiseIcon");
19
+ var _icon = require("../../common/icon");
20
20
  var extractTask = function extractTask(data, label) {
21
21
  var _ref = (0, _lozenge.extractTaskType)(data) || {},
22
22
  id = _ref.id,
@@ -75,7 +75,7 @@ var extractJsonldDataIcon = function extractJsonldDataIcon(data) {
75
75
  var fileFormatIcon = (0, _extractFileFormatIcon.default)(fileFormat);
76
76
  var documentTypeIcon = (0, _extractDocumentTypeIcon.default)(type, label);
77
77
  if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour')) {
78
- return (0, _prioritiseIcon.prioritiseIcon)({
78
+ return (0, _icon.prioritiseIcon)({
79
79
  providerId: provider,
80
80
  fileFormatIcon: fileFormatIcon,
81
81
  documentTypeIcon: documentTypeIcon,
@@ -130,7 +130,36 @@ var extractJsonldDataIcon = function extractJsonldDataIcon(data) {
130
130
  label: label || 'Repository'
131
131
  };
132
132
  default:
133
- return providerIcon;
133
+ return (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.standardise-smart-link-icon-behaviour') ? extractDefaultIcon({
134
+ data: data,
135
+ type: type,
136
+ label: label,
137
+ provider: provider,
138
+ urlIcon: urlIcon,
139
+ providerIcon: providerIcon
140
+ }) : providerIcon;
134
141
  }
135
142
  };
136
- var _default = exports.default = extractJsonldDataIcon;
143
+ var _default = exports.default = extractJsonldDataIcon;
144
+ /**
145
+ * Choose which icon to show when the type is not recognized.
146
+ */
147
+ var extractDefaultIcon = function extractDefaultIcon(_ref2) {
148
+ var data = _ref2.data,
149
+ type = _ref2.type,
150
+ label = _ref2.label,
151
+ provider = _ref2.provider,
152
+ urlIcon = _ref2.urlIcon,
153
+ providerIcon = _ref2.providerIcon;
154
+ var documentData = data;
155
+ var fileFormat = documentData === null || documentData === void 0 ? void 0 : documentData['schema:fileFormat'];
156
+ var fileFormatIcon = (0, _extractFileFormatIcon.default)(fileFormat);
157
+ var documentTypeIcon = (0, _extractDocumentTypeIcon.default)(type, label);
158
+ return (0, _icon.prioritiseIcon)({
159
+ providerId: provider,
160
+ fileFormatIcon: fileFormatIcon,
161
+ documentTypeIcon: documentTypeIcon,
162
+ urlIcon: urlIcon,
163
+ providerIcon: providerIcon
164
+ });
165
+ };
@@ -22,7 +22,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
22
22
  var context = exports.context = {
23
23
  componentName: 'smart-cards',
24
24
  packageName: "@atlaskit/smart-card",
25
- packageVersion: "26.60.0"
25
+ packageVersion: "26.61.0"
26
26
  };
27
27
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
28
28
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -28,9 +28,6 @@ var getIconStyles = function getIconStyles(isDisabled) {
28
28
  });
29
29
  };
30
30
  var backgroundStyles = (0, _react2.css)({
31
- backgroundColor: "var(--ds-background-brand-subtlest, #E9F2FF)",
32
- borderRadius: "var(--ds-border-radius-050, 2px)",
33
- color: "var(--ds-icon-brand, #0C66E4)",
34
31
  display: 'inline-block',
35
32
  lineHeight: 0,
36
33
  padding: "var(--ds-space-025, 2px)",
@@ -19,7 +19,7 @@ var GoalGlyph = function GoalGlyph(props) {
19
19
  fillRule: "evenodd",
20
20
  clipRule: "evenodd",
21
21
  d: "M12.6667 8C12.6667 10.5773 10.5773 12.6667 8 12.6667C5.42267 12.6667 3.33333 10.5773 3.33333 8C3.33333 5.42267 5.42267 3.33333 8 3.33333C10.5773 3.33333 12.6667 5.42267 12.6667 8ZM14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8ZM9.33333 8C9.33333 8.73638 8.73638 9.33333 8 9.33333C7.26362 9.33333 6.66667 8.73638 6.66667 8C6.66667 7.26362 7.26362 6.66667 8 6.66667C8.73638 6.66667 9.33333 7.26362 9.33333 8ZM10.6667 8C10.6667 9.47276 9.47276 10.6667 8 10.6667C6.52724 10.6667 5.33333 9.47276 5.33333 8C5.33333 6.52724 6.52724 5.33333 8 5.33333C9.47276 5.33333 10.6667 6.52724 10.6667 8Z",
22
- fill: "#0C66E4"
22
+ fill: "var(--ds-icon, #44546F)"
23
23
  }));
24
24
  };
25
25
  var GoalIcon = exports.GoalIcon = function GoalIcon(props) {
@@ -19,7 +19,7 @@ var ProjectsGlyph = function ProjectsGlyph(props) {
19
19
  fillRule: "evenodd",
20
20
  clipRule: "evenodd",
21
21
  d: "M9.88573 4.00002C9.70892 4.00002 9.53935 4.07026 9.41433 4.19528L6.97282 6.63678L4.20525 6.94429C4.05479 6.96101 3.91451 7.02844 3.80746 7.13548L3.60959 7.33335L4.35367 8.07743C4.6791 8.40287 4.6791 8.93051 4.35367 9.25594L3.47152 10.1381C3.21117 10.3984 2.78906 10.3984 2.52871 10.1381C2.26836 9.87774 2.26836 9.45563 2.52871 9.19528L3.0573 8.66669L2.43108 8.04046C2.04055 7.64993 2.04055 7.01677 2.43108 6.62625L2.86465 6.19267C3.18578 5.87154 3.60664 5.66927 4.05801 5.61911L6.36073 5.36326L8.47152 3.25247C8.84659 2.8774 9.3553 2.66669 9.88573 2.66669H12.0001C12.7365 2.66669 13.3334 3.26364 13.3334 4.00002V6.1144C13.3334 6.64483 13.1227 7.15354 12.7477 7.52862L10.6369 9.6394L10.381 11.9421C10.3309 12.3935 10.1286 12.8143 9.80746 13.1355L9.37389 13.5691C8.98336 13.9596 8.3502 13.9596 7.95967 13.5691L7.33345 12.9428L6.80485 13.4714C6.5445 13.7318 6.12239 13.7318 5.86204 13.4714C5.60169 13.2111 5.60169 12.789 5.86204 12.5286L6.74419 11.6465C7.06963 11.321 7.59726 11.321 7.9227 11.6465L8.66678 12.3905L8.86466 12.1927C8.9717 12.0856 9.03912 11.9453 9.05584 11.7949L9.36335 9.02731L11.8049 6.58581C11.9299 6.46078 12.0001 6.29121 12.0001 6.1144V4.00002H9.88573ZM5.80486 10.1953C6.06521 10.4556 6.06521 10.8777 5.80486 11.1381L3.80486 13.1381C3.54451 13.3984 3.1224 13.3984 2.86205 13.1381C2.6017 12.8777 2.6017 12.4556 2.86205 12.1953L4.86205 10.1953C5.1224 9.93493 5.54451 9.93493 5.80486 10.1953ZM10.0001 6.66669C10.3683 6.66669 10.6668 6.36821 10.6668 6.00002C10.6668 5.63183 10.3683 5.33335 10.0001 5.33335C9.63193 5.33335 9.33346 5.63183 9.33346 6.00002C9.33346 6.36821 9.63193 6.66669 10.0001 6.66669Z",
22
- fill: "#0C66E4"
22
+ fill: "var(--ds-icon, #44546F)"
23
23
  }));
24
24
  };
25
25
  var ProjectsIcon = exports.ProjectsIcon = function ProjectsIcon(props) {
@@ -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.60.0",
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)
@@ -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
+ };
@@ -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.60.0"
7
+ packageVersion: "26.61.0"
8
8
  };
9
9
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -18,9 +18,6 @@ const getIconStyles = isDisabled => css({
18
18
  color: isDisabled ? "var(--ds-text-disabled, #6B778C)" : "var(--ds-icon, #44546F)"
19
19
  });
20
20
  const backgroundStyles = css({
21
- backgroundColor: "var(--ds-background-brand-subtlest, #E9F2FF)",
22
- borderRadius: "var(--ds-border-radius-050, 2px)",
23
- color: "var(--ds-icon-brand, #0C66E4)",
24
21
  display: 'inline-block',
25
22
  lineHeight: 0,
26
23
  padding: "var(--ds-space-025, 2px)",
@@ -11,7 +11,7 @@ const GoalGlyph = props => /*#__PURE__*/React.createElement("svg", {
11
11
  fillRule: "evenodd",
12
12
  clipRule: "evenodd",
13
13
  d: "M12.6667 8C12.6667 10.5773 10.5773 12.6667 8 12.6667C5.42267 12.6667 3.33333 10.5773 3.33333 8C3.33333 5.42267 5.42267 3.33333 8 3.33333C10.5773 3.33333 12.6667 5.42267 12.6667 8ZM14 8C14 11.3137 11.3137 14 8 14C4.68629 14 2 11.3137 2 8C2 4.68629 4.68629 2 8 2C11.3137 2 14 4.68629 14 8ZM9.33333 8C9.33333 8.73638 8.73638 9.33333 8 9.33333C7.26362 9.33333 6.66667 8.73638 6.66667 8C6.66667 7.26362 7.26362 6.66667 8 6.66667C8.73638 6.66667 9.33333 7.26362 9.33333 8ZM10.6667 8C10.6667 9.47276 9.47276 10.6667 8 10.6667C6.52724 10.6667 5.33333 9.47276 5.33333 8C5.33333 6.52724 6.52724 5.33333 8 5.33333C9.47276 5.33333 10.6667 6.52724 10.6667 8Z",
14
- fill: "#0C66E4"
14
+ fill: "var(--ds-icon, #44546F)"
15
15
  }));
16
16
  export const GoalIcon = props => /*#__PURE__*/React.createElement(Icon, _extends({
17
17
  glyph: GoalGlyph
@@ -11,7 +11,7 @@ const ProjectsGlyph = props => /*#__PURE__*/React.createElement("svg", {
11
11
  fillRule: "evenodd",
12
12
  clipRule: "evenodd",
13
13
  d: "M9.88573 4.00002C9.70892 4.00002 9.53935 4.07026 9.41433 4.19528L6.97282 6.63678L4.20525 6.94429C4.05479 6.96101 3.91451 7.02844 3.80746 7.13548L3.60959 7.33335L4.35367 8.07743C4.6791 8.40287 4.6791 8.93051 4.35367 9.25594L3.47152 10.1381C3.21117 10.3984 2.78906 10.3984 2.52871 10.1381C2.26836 9.87774 2.26836 9.45563 2.52871 9.19528L3.0573 8.66669L2.43108 8.04046C2.04055 7.64993 2.04055 7.01677 2.43108 6.62625L2.86465 6.19267C3.18578 5.87154 3.60664 5.66927 4.05801 5.61911L6.36073 5.36326L8.47152 3.25247C8.84659 2.8774 9.3553 2.66669 9.88573 2.66669H12.0001C12.7365 2.66669 13.3334 3.26364 13.3334 4.00002V6.1144C13.3334 6.64483 13.1227 7.15354 12.7477 7.52862L10.6369 9.6394L10.381 11.9421C10.3309 12.3935 10.1286 12.8143 9.80746 13.1355L9.37389 13.5691C8.98336 13.9596 8.3502 13.9596 7.95967 13.5691L7.33345 12.9428L6.80485 13.4714C6.5445 13.7318 6.12239 13.7318 5.86204 13.4714C5.60169 13.2111 5.60169 12.789 5.86204 12.5286L6.74419 11.6465C7.06963 11.321 7.59726 11.321 7.9227 11.6465L8.66678 12.3905L8.86466 12.1927C8.9717 12.0856 9.03912 11.9453 9.05584 11.7949L9.36335 9.02731L11.8049 6.58581C11.9299 6.46078 12.0001 6.29121 12.0001 6.1144V4.00002H9.88573ZM5.80486 10.1953C6.06521 10.4556 6.06521 10.8777 5.80486 11.1381L3.80486 13.1381C3.54451 13.3984 3.1224 13.3984 2.86205 13.1381C2.6017 12.8777 2.6017 12.4556 2.86205 12.1953L4.86205 10.1953C5.1224 9.93493 5.54451 9.93493 5.80486 10.1953ZM10.0001 6.66669C10.3683 6.66669 10.6668 6.36821 10.6668 6.00002C10.6668 5.63183 10.3683 5.33335 10.0001 5.33335C9.63193 5.33335 9.33346 5.63183 9.33346 6.00002C9.33346 6.36821 9.63193 6.66669 10.0001 6.66669Z",
14
- fill: "#0C66E4"
14
+ fill: "var(--ds-icon, #44546F)"
15
15
  }));
16
16
  export const ProjectsIcon = props => /*#__PURE__*/React.createElement(Icon, _extends({
17
17
  glyph: ProjectsGlyph
@@ -7,7 +7,7 @@ import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-m
7
7
  import LinkWarningModal from './LinkWarningModal';
8
8
  const PACKAGE_DATA = {
9
9
  packageName: "@atlaskit/smart-card",
10
- packageVersion: "26.60.0",
10
+ packageVersion: "26.61.0",
11
11
  componentName: 'linkUrl'
12
12
  };
13
13
  const Link = withLinkClickedEvent('a');