@atlaskit/smart-card 38.8.0 → 38.9.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 (109) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/extractors/common/context/index.js +2 -1
  3. package/dist/cjs/extractors/embed/index.js +4 -16
  4. package/dist/cjs/extractors/flexible/extract-link-title.js +2 -4
  5. package/dist/cjs/extractors/flexible/index.js +12 -14
  6. package/dist/cjs/extractors/inline/index.js +7 -18
  7. package/dist/cjs/state/hooks/use-resolve/index.js +1 -2
  8. package/dist/cjs/utils/analytics/analytics.js +1 -1
  9. package/dist/cjs/view/BlockCard/index.js +4 -2
  10. package/dist/cjs/view/BlockCard/views/ForbiddenView.js +1 -1
  11. package/dist/cjs/view/BlockCard/views/NotFoundView.js +1 -1
  12. package/dist/cjs/view/BlockCard/views/ResolvedView.js +3 -1
  13. package/dist/cjs/view/BlockCard/views/UnauthorisedView.js +2 -3
  14. package/dist/cjs/view/CardWithUrl/component.js +15 -10
  15. package/dist/cjs/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +3 -2
  16. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/index.js +3 -1
  17. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +4 -2
  18. package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +47 -15
  19. package/dist/cjs/view/FlexibleCard/components/elements/common/base-icon-element/index.js +7 -3
  20. package/dist/cjs/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-trigger/index.js +5 -3
  21. package/dist/cjs/view/FlexibleCard/utils.js +5 -8
  22. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +2 -1
  23. package/dist/cjs/view/HoverCard/components/ImagePreview.js +2 -15
  24. package/dist/cjs/view/HoverCard/components/views/forbidden/index.js +3 -4
  25. package/dist/cjs/view/HoverCard/components/views/unauthorised/index.js +2 -3
  26. package/dist/cjs/view/InlineCard/ErroredView/index.js +3 -3
  27. package/dist/cjs/view/InlineCard/index.js +3 -5
  28. package/dist/cjs/view/LinkUrl/index.js +1 -1
  29. package/dist/es2019/extractors/common/context/index.js +2 -1
  30. package/dist/es2019/extractors/embed/index.js +6 -19
  31. package/dist/es2019/extractors/flexible/extract-link-title.js +3 -5
  32. package/dist/es2019/extractors/flexible/index.js +15 -15
  33. package/dist/es2019/extractors/inline/index.js +8 -22
  34. package/dist/es2019/state/hooks/use-resolve/index.js +1 -2
  35. package/dist/es2019/utils/analytics/analytics.js +1 -1
  36. package/dist/es2019/view/BlockCard/index.js +4 -2
  37. package/dist/es2019/view/BlockCard/views/ForbiddenView.js +2 -2
  38. package/dist/es2019/view/BlockCard/views/NotFoundView.js +2 -2
  39. package/dist/es2019/view/BlockCard/views/ResolvedView.js +3 -1
  40. package/dist/es2019/view/BlockCard/views/UnauthorisedView.js +3 -4
  41. package/dist/es2019/view/CardWithUrl/component.js +16 -11
  42. package/dist/es2019/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +3 -2
  43. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/index.js +2 -0
  44. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -1
  45. package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +49 -22
  46. package/dist/es2019/view/FlexibleCard/components/elements/common/base-icon-element/index.js +7 -4
  47. package/dist/es2019/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-trigger/index.js +5 -3
  48. package/dist/es2019/view/FlexibleCard/utils.js +7 -8
  49. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +2 -1
  50. package/dist/es2019/view/HoverCard/components/ImagePreview.js +2 -15
  51. package/dist/es2019/view/HoverCard/components/views/forbidden/index.js +4 -5
  52. package/dist/es2019/view/HoverCard/components/views/unauthorised/index.js +3 -4
  53. package/dist/es2019/view/InlineCard/ErroredView/index.js +4 -4
  54. package/dist/es2019/view/InlineCard/index.js +5 -7
  55. package/dist/es2019/view/LinkUrl/index.js +1 -1
  56. package/dist/esm/extractors/common/context/index.js +2 -1
  57. package/dist/esm/extractors/embed/index.js +6 -18
  58. package/dist/esm/extractors/flexible/extract-link-title.js +3 -5
  59. package/dist/esm/extractors/flexible/index.js +15 -15
  60. package/dist/esm/extractors/inline/index.js +8 -21
  61. package/dist/esm/state/hooks/use-resolve/index.js +1 -2
  62. package/dist/esm/utils/analytics/analytics.js +1 -1
  63. package/dist/esm/view/BlockCard/index.js +4 -2
  64. package/dist/esm/view/BlockCard/views/ForbiddenView.js +2 -2
  65. package/dist/esm/view/BlockCard/views/NotFoundView.js +2 -2
  66. package/dist/esm/view/BlockCard/views/ResolvedView.js +3 -1
  67. package/dist/esm/view/BlockCard/views/UnauthorisedView.js +3 -4
  68. package/dist/esm/view/CardWithUrl/component.js +16 -11
  69. package/dist/esm/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +3 -2
  70. package/dist/esm/view/FlexibleCard/components/blocks/title-block/index.js +3 -1
  71. package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +4 -2
  72. package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +46 -14
  73. package/dist/esm/view/FlexibleCard/components/elements/common/base-icon-element/index.js +7 -3
  74. package/dist/esm/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-trigger/index.js +5 -3
  75. package/dist/esm/view/FlexibleCard/utils.js +7 -8
  76. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +2 -1
  77. package/dist/esm/view/HoverCard/components/ImagePreview.js +2 -15
  78. package/dist/esm/view/HoverCard/components/views/forbidden/index.js +4 -5
  79. package/dist/esm/view/HoverCard/components/views/unauthorised/index.js +3 -4
  80. package/dist/esm/view/InlineCard/ErroredView/index.js +4 -4
  81. package/dist/esm/view/InlineCard/index.js +5 -7
  82. package/dist/esm/view/LinkUrl/index.js +1 -1
  83. package/dist/types/ssr.d.ts +1 -0
  84. package/dist/types/view/BlockCard/index.d.ts +1 -1
  85. package/dist/types/view/BlockCard/types.d.ts +1 -0
  86. package/dist/types/view/BlockCard/views/types.d.ts +1 -1
  87. package/dist/types/view/Card/types.d.ts +1 -0
  88. package/dist/types/view/CardWithUrl/types.d.ts +1 -0
  89. package/dist/types/view/FlexibleCard/components/blocks/title-block/index.d.ts +1 -1
  90. package/dist/types/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +1 -1
  91. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +4 -0
  92. package/dist/types/view/FlexibleCard/components/common/image-icon/index.d.ts +1 -1
  93. package/dist/types/view/FlexibleCard/components/common/image-icon/types.d.ts +1 -0
  94. package/dist/types/view/FlexibleCard/components/elements/common/base-icon-element/index.d.ts +5 -1
  95. package/dist/types/view/FlexibleCard/types.d.ts +4 -0
  96. package/dist/types-ts4.5/ssr.d.ts +1 -0
  97. package/dist/types-ts4.5/view/BlockCard/index.d.ts +1 -1
  98. package/dist/types-ts4.5/view/BlockCard/types.d.ts +1 -0
  99. package/dist/types-ts4.5/view/BlockCard/views/types.d.ts +1 -1
  100. package/dist/types-ts4.5/view/Card/types.d.ts +1 -0
  101. package/dist/types-ts4.5/view/CardWithUrl/types.d.ts +1 -0
  102. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/title-block/index.d.ts +1 -1
  103. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +1 -1
  104. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +4 -0
  105. package/dist/types-ts4.5/view/FlexibleCard/components/common/image-icon/index.d.ts +1 -1
  106. package/dist/types-ts4.5/view/FlexibleCard/components/common/image-icon/types.d.ts +1 -0
  107. package/dist/types-ts4.5/view/FlexibleCard/components/elements/common/base-icon-element/index.d.ts +5 -1
  108. package/dist/types-ts4.5/view/FlexibleCard/types.d.ts +4 -0
  109. package/package.json +10 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 38.9.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#167423](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/167423)
8
+ [`064579ff3e75c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/064579ff3e75c) -
9
+ Move smart_links_noun_support feature gate to link-extractor
10
+ - Updated dependencies
11
+
12
+ ## 38.9.0
13
+
14
+ ### Minor Changes
15
+
16
+ - [#166270](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/166270)
17
+ [`231ec9798652d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/231ec9798652d) -
18
+ [ux] Added hideIconLoadingSkeleton prop to CardSSR to allow for hiding the loading skeleton for
19
+ image icons in the title of block cards. Set to true in the renderer.
20
+
3
21
  ## 38.8.0
4
22
 
5
23
  ### Minor Changes
@@ -14,6 +14,7 @@ exports.extractSmartLinkContext = extractSmartLinkContext;
14
14
  exports.generateContext = generateContext;
15
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
16
  var _linkExtractors = require("@atlaskit/link-extractors");
17
+ var _jsonld = require("../../../utils/jsonld");
17
18
  var _prioritiseIcon = require("../icon/prioritiseIcon");
18
19
  var _extractAccessContext = require("./extractAccessContext");
19
20
  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; }
@@ -48,5 +49,5 @@ function extractSmartLinkContext(response) {
48
49
  if ((0, _linkExtractors.isEntityPresent)(response)) {
49
50
  return (0, _linkExtractors.extractEntityProvider)(response);
50
51
  }
51
- return generateContext(response === null || response === void 0 ? void 0 : response.data);
52
+ return generateContext((response === null || response === void 0 ? void 0 : response.data) || (0, _jsonld.getEmptyJsonLd)());
52
53
  }
@@ -25,23 +25,11 @@ var extractEmbedPreview = function extractEmbedPreview(jsonLd, platform, iframeU
25
25
  var extractEmbedProps = exports.extractEmbedProps = function extractEmbedProps(response, platform, iframeUrlType) {
26
26
  var meta = response === null || response === void 0 ? void 0 : response.meta;
27
27
  var jsonLd = (response === null || response === void 0 ? void 0 : response.data) || (0, _jsonld.getEmptyJsonLd)();
28
- if ((0, _platformFeatureFlags.fg)('smart_links_noun_support')) {
29
- return _objectSpread({
30
- link: (0, _linkExtractors.extractSmartLinkUrl)(response) || '',
31
- title: (0, _linkExtractors.extractSmartLinkTitle)(response),
32
- context: (0, _context.extractSmartLinkContext)(response),
33
- preview: (0, _linkExtractors.extractSmartLinkEmbed)(response, iframeUrlType),
34
- isTrusted: (0, _extractIsTrusted.extractIsTrusted)(meta),
35
- isSupportTheming: (0, _extractIsSupportTheming.extractIsSupportTheming)(meta)
36
- }, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && {
37
- type: (0, _linkExtractors.extractType)(jsonLd)
38
- });
39
- }
40
28
  return _objectSpread({
41
- link: (0, _linkExtractors.extractLink)(jsonLd) || '',
42
- title: (0, _linkExtractors.extractTitle)(jsonLd),
43
- context: (0, _context.generateContext)(jsonLd),
44
- preview: extractEmbedPreview(jsonLd, platform, iframeUrlType),
29
+ link: (0, _linkExtractors.extractSmartLinkUrl)(response) || '',
30
+ title: (0, _linkExtractors.extractSmartLinkTitle)(response),
31
+ context: (0, _context.extractSmartLinkContext)(response),
32
+ preview: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkEmbed)(response, iframeUrlType) : extractEmbedPreview(jsonLd, platform, iframeUrlType),
45
33
  isTrusted: (0, _extractIsTrusted.extractIsTrusted)(meta),
46
34
  isSupportTheming: (0, _extractIsSupportTheming.extractIsSupportTheming)(meta)
47
35
  }, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && {
@@ -5,14 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _linkExtractors = require("@atlaskit/link-extractors");
8
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
9
8
  var _constants = require("../../constants");
10
9
  var extractLinkTitle = function extractLinkTitle(status, propUrl, response, onClick) {
11
10
  var _ref;
12
- var data = response === null || response === void 0 ? void 0 : response.data;
13
- var responseUrl = (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkUrl)(response) : (0, _linkExtractors.extractLink)(data);
11
+ var responseUrl = (0, _linkExtractors.extractSmartLinkUrl)(response);
14
12
  var url = status === _constants.SmartLinkStatus.Resolved ? responseUrl !== null && responseUrl !== void 0 ? responseUrl : propUrl : propUrl;
15
- var name = (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkTitle)(response) : (0, _linkExtractors.extractTitle)(data);
13
+ var name = (0, _linkExtractors.extractSmartLinkTitle)(response);
16
14
  var text = status === _constants.SmartLinkStatus.Resolved ? (_ref = name !== null && name !== void 0 ? name : responseUrl) !== null && _ref !== void 0 ? _ref : propUrl : propUrl;
17
15
  return {
18
16
  onClick: onClick,
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -14,15 +13,14 @@ var _primitives = require("../common/primitives");
14
13
  var _actions = require("./actions");
15
14
  var _collaboratorGroup = require("./collaboratorGroup");
16
15
  var _extractLinkTitle = _interopRequireDefault(require("./extract-link-title"));
17
- var _extractPreview = _interopRequireWildcard(require("./extract-preview"));
16
+ var _extractPreview = require("./extract-preview");
18
17
  var _extractPriority = _interopRequireDefault(require("./extract-priority"));
19
18
  var _extractState = _interopRequireDefault(require("./extract-state"));
20
19
  var _icon = require("./icon");
21
- var _extractProviderIcon = _interopRequireWildcard(require("./icon/extract-provider-icon"));
20
+ var _extractProviderIcon = require("./icon/extract-provider-icon");
22
21
  var _latestCommit = require("./latest-commit");
23
22
  var _utils = require("./utils");
24
23
  var _excluded = ["appearance", "fireEvent", "id", "onClick", "origin", "renderers", "resolve", "actionOptions", "response", "status", "aiSummaryConfig"];
25
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
26
24
  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; }
27
25
  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; }
28
26
  var extractFlexibleUiContext = function extractFlexibleUiContext() {
@@ -44,7 +42,7 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
44
42
  }
45
43
  var data = response.data;
46
44
  var meta = response.meta;
47
- var url = (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkUrl)(response) : (0, _linkExtractors.extractLink)(data);
45
+ var url = (0, _linkExtractors.extractSmartLinkUrl)(response);
48
46
  return _objectSpread(_objectSpread(_objectSpread(_objectSpread({
49
47
  actions: (0, _actions.extractFlexibleCardActions)({
50
48
  actionOptions: actionOptions,
@@ -67,22 +65,22 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
67
65
  reactCount: (0, _utils.extractReactCount)(data),
68
66
  voteCount: (0, _utils.extractVoteCount)(data),
69
67
  checklistProgress: (0, _utils.extractChecklistProgress)(data),
70
- createdBy: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkCreatedBy)(response) : (0, _utils.extractCreatedBy)(data),
68
+ createdBy: (0, _linkExtractors.extractSmartLinkCreatedBy)(response),
71
69
  ownedBy: (0, _utils.extractOwnedBy)(data),
72
70
  assignedTo: (0, _utils.extractAssignedTo)(data),
73
- createdOn: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkCreatedOn)(response) : (0, _linkExtractors.extractDateCreated)(data),
71
+ createdOn: (0, _linkExtractors.extractSmartLinkCreatedOn)(response),
74
72
  dueOn: (0, _utils.extractDueOn)(data),
75
73
  latestCommit: (0, _latestCommit.extractLatestCommit)(data),
76
- linkIcon: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _icon.extractSmartLinkIcon)(response) : (0, _icon.extractLinkIcon)(response, renderers)
74
+ linkIcon: (0, _icon.extractSmartLinkIcon)(response)
77
75
  }, (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') && {
78
76
  linkTitle: (0, _extractLinkTitle.default)(status, props.url, response, onClick)
79
77
  }), {}, {
80
78
  location: (0, _utils.extractLocation)(data),
81
- modifiedBy: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkModifiedBy)(response) : (0, _utils.extractModifiedBy)(data),
82
- modifiedOn: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkModifiedOn)(response) : (0, _linkExtractors.extractDateUpdated)(data),
83
- preview: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _extractPreview.extractSmartLinkPreviewImage)(response) : (0, _extractPreview.default)(data),
79
+ modifiedBy: (0, _linkExtractors.extractSmartLinkModifiedBy)(response),
80
+ modifiedOn: (0, _linkExtractors.extractSmartLinkModifiedOn)(response),
81
+ preview: (0, _extractPreview.extractSmartLinkPreviewImage)(response),
84
82
  priority: (0, _extractPriority.default)(data),
85
- provider: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _extractProviderIcon.extractSmartLinkProviderIcon)(response) : (0, _extractProviderIcon.default)(data),
83
+ provider: (0, _extractProviderIcon.extractSmartLinkProviderIcon)(response),
86
84
  programmingLanguage: (0, _utils.extractProgrammingLanguage)(data),
87
85
  readTime: (0, _utils.extractReadTime)(data),
88
86
  sentOn: (0, _utils.extractSentOn)(data),
@@ -95,10 +93,10 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
95
93
  storyPoints: (0, _utils.extractStoryPoints)(data),
96
94
  targetBranch: (0, _utils.extractTargetBranch)(data)
97
95
  }, (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') ? undefined : {
98
- title: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkTitle)(response) || url : (0, _linkExtractors.extractTitle)(data) || url
96
+ title: (0, _linkExtractors.extractSmartLinkTitle)(response) || url
99
97
  }), {}, {
100
98
  url: url,
101
- ari: (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkAri)(response) : (0, _linkExtractors.extractAri)(data)
99
+ ari: (0, _linkExtractors.extractSmartLinkAri)(response)
102
100
  }, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && {
103
101
  type: (0, _linkExtractors.extractType)(data)
104
102
  }), (0, _platformFeatureFlags.fg)('cc-ai-linking-platform-snippet-renderer') && {
@@ -8,6 +8,7 @@ exports.extractInlineProps = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _linkExtractors = require("@atlaskit/link-extractors");
10
10
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
+ var _jsonld = require("../../utils/jsonld");
11
12
  var _icon = require("../common/icon");
12
13
  var _lozenge = require("../common/lozenge");
13
14
  var _primitives = require("../common/primitives");
@@ -42,29 +43,17 @@ var extractSmartLinkInlineIcon = function extractSmartLinkInlineIcon(response) {
42
43
  // see: https://product-fabric.atlassian.net/browse/EDM-12375
43
44
  // return extractSmartLinkIcon(response);
44
45
  }
45
- return extractInlineIcon(response === null || response === void 0 ? void 0 : response.data, showLabel);
46
+ return extractInlineIcon((response === null || response === void 0 ? void 0 : response.data) || (0, _jsonld.getEmptyJsonLd)(), showLabel);
46
47
  };
47
48
  var extractInlineProps = exports.extractInlineProps = function extractInlineProps(response, renderers, removeTextHighlightingFromTitle) {
48
49
  var showLabel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
49
- var jsonLd = response === null || response === void 0 ? void 0 : response.data;
50
- if ((0, _platformFeatureFlags.fg)('smart_links_noun_support')) {
51
- return _objectSpread({
52
- link: (0, _linkExtractors.extractSmartLinkUrl)(response),
53
- title: (0, _linkExtractors.extractSmartLinkTitle)(response, removeTextHighlightingFromTitle),
54
- icon: extractSmartLinkInlineIcon(response, showLabel),
55
- // As we migrate to support more entities we can incorporate these fields
56
- lozenge: (0, _lozenge.extractLozenge)(jsonLd),
57
- titleTextColor: (0, _primitives.extractTitleTextColor)(jsonLd),
58
- titlePrefix: (0, _titlePrefix.extractTitlePrefix)(jsonLd, renderers, 'inline')
59
- }, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && {
60
- type: (0, _linkExtractors.extractType)(jsonLd)
61
- });
62
- }
50
+ var jsonLd = (response === null || response === void 0 ? void 0 : response.data) || (0, _jsonld.getEmptyJsonLd)();
63
51
  return _objectSpread({
64
- link: (0, _linkExtractors.extractLink)(jsonLd),
65
- title: (0, _linkExtractors.extractTitle)(jsonLd, removeTextHighlightingFromTitle),
52
+ link: (0, _linkExtractors.extractSmartLinkUrl)(response),
53
+ title: (0, _linkExtractors.extractSmartLinkTitle)(response, removeTextHighlightingFromTitle),
54
+ icon: extractSmartLinkInlineIcon(response, showLabel),
55
+ // As we migrate to support more entities we can incorporate these fields
66
56
  lozenge: (0, _lozenge.extractLozenge)(jsonLd),
67
- icon: extractInlineIcon(jsonLd, showLabel),
68
57
  titleTextColor: (0, _primitives.extractTitleTextColor)(jsonLd),
69
58
  titlePrefix: (0, _titlePrefix.extractTitlePrefix)(jsonLd, renderers, 'inline')
70
59
  }, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && {
@@ -10,7 +10,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
10
10
  var _react = require("react");
11
11
  var _linkExtractors = require("@atlaskit/link-extractors");
12
12
  var _linkProvider = require("@atlaskit/link-provider");
13
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
13
  var _constants = require("../../../constants");
15
14
  var _analytics = require("../../analytics");
16
15
  var _useResponse2 = _interopRequireDefault(require("../use-response"));
@@ -45,7 +44,7 @@ var useResolve = function useResolve() {
45
44
  status: _constants.SmartLinkStatus.Pending,
46
45
  details: undefined
47
46
  }, details = _ref2.details;
48
- hasData = (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? !!(details && details.data || (0, _linkExtractors.isEntityPresent)(details)) : !!(details && details.data);
47
+ hasData = !!(details && details.data || (0, _linkExtractors.isEntityPresent)(details));
49
48
  if (!(isReloading || !hasData || isMetadataRequest)) {
50
49
  _context.next = 9;
51
50
  break;
@@ -11,7 +11,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
11
11
  var context = exports.context = {
12
12
  componentName: 'smart-cards',
13
13
  packageName: "@atlaskit/smart-card",
14
- packageVersion: "38.8.0"
14
+ packageVersion: "38.9.1"
15
15
  };
16
16
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
17
17
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -30,7 +30,8 @@ var BlockCard = exports.BlockCard = function BlockCard(_ref) {
30
30
  onError = _ref.onError,
31
31
  testId = _ref.testId,
32
32
  actionOptions = _ref.actionOptions,
33
- CompetitorPrompt = _ref.CompetitorPrompt;
33
+ CompetitorPrompt = _ref.CompetitorPrompt,
34
+ hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton;
34
35
  var status = cardState.status;
35
36
  var blockCardProps = {
36
37
  id: id,
@@ -44,7 +45,8 @@ var BlockCard = exports.BlockCard = function BlockCard(_ref) {
44
45
  onResolve: onResolve,
45
46
  renderers: renderers,
46
47
  actionOptions: actionOptions,
47
- CompetitorPrompt: CompetitorPrompt
48
+ CompetitorPrompt: CompetitorPrompt,
49
+ hideIconLoadingSkeleton: hideIconLoadingSkeleton
48
50
  };
49
51
  var _useControlDataExport = (0, _useControlDataExportConfig.useControlDataExportConfig)(),
50
52
  _useControlDataExport2 = _useControlDataExport.shouldControlDataExport,
@@ -53,7 +53,7 @@ var ForbiddenView = function ForbiddenView(_ref) {
53
53
  url = props.url;
54
54
  var details = cardState === null || cardState === void 0 ? void 0 : cardState.details;
55
55
  var cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : (0, _jsonld.getForbiddenJsonLd)().meta;
56
- var provider = (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkProvider)(details) : (0, _linkExtractors.extractProvider)(details === null || details === void 0 ? void 0 : details.data);
56
+ var provider = (0, _linkExtractors.extractSmartLinkProvider)(details);
57
57
  var providerName = (provider === null || provider === void 0 ? void 0 : provider.text) || '';
58
58
  var messageContext = (0, _react.useMemo)(function () {
59
59
  var hostname = /*#__PURE__*/React.createElement("b", null, (0, _extractHostname.default)(url));
@@ -40,7 +40,7 @@ var NotFoundView = function NotFoundView(_ref) {
40
40
  var details = props.cardState.details;
41
41
  var product = (0, _react.useMemo)(function () {
42
42
  var _provider$text;
43
- var provider = (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (0, _linkExtractors.extractSmartLinkProvider)(details) : (0, _linkExtractors.extractProvider)(details === null || details === void 0 ? void 0 : details.data);
43
+ var provider = (0, _linkExtractors.extractSmartLinkProvider)(details);
44
44
  return (_provider$text = provider === null || provider === void 0 ? void 0 : provider.text) !== null && _provider$text !== void 0 ? _provider$text : '';
45
45
  }, [details]);
46
46
  var title = (0, _react.useMemo)(function () {
@@ -42,7 +42,8 @@ var ResolvedView = function ResolvedView(_ref) {
42
42
  _ref$testId = _ref.testId,
43
43
  testId = _ref$testId === void 0 ? 'smart-block-resolved-view' : _ref$testId,
44
44
  url = _ref.url,
45
- CompetitorPrompt = _ref.CompetitorPrompt;
45
+ CompetitorPrompt = _ref.CompetitorPrompt,
46
+ hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton;
46
47
  var _useState = (0, _react.useState)(false),
47
48
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
48
49
  isPreviewBlockErrored = _useState2[0],
@@ -100,6 +101,7 @@ var ResolvedView = function ResolvedView(_ref) {
100
101
  }, {
101
102
  CompetitorPrompt: CompetitorPrompt,
102
103
  url: url,
104
+ hideIconLoadingSkeleton: hideIconLoadingSkeleton,
103
105
  className: (0, _runtime.ax)([(0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v1') ? "_zulpu2gc _13mh1pd9 _2yhz14q2" : "_zulpcxkx _13mh1pd9"])
104
106
  })), /*#__PURE__*/React.createElement(_blocks.MetadataBlock, (0, _extends2.default)({
105
107
  primary: topMetadata,
@@ -36,14 +36,13 @@ var contentStyles = null;
36
36
  * @see FlexibleCardProps
37
37
  */
38
38
  var UnauthorisedView = function UnauthorisedView(_ref) {
39
- var _cardState$details, _extractSmartLinkProv, _extractProvider;
39
+ var _extractSmartLinkProv;
40
40
  var _ref$testId = _ref.testId,
41
41
  testId = _ref$testId === void 0 ? 'smart-block-unauthorized-view' : _ref$testId,
42
42
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
43
43
  var cardState = props.cardState,
44
44
  onAuthorize = props.onAuthorize;
45
- var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
46
- var providerName = (0, _platformFeatureFlags.fg)('smart_links_noun_support') ? (_extractSmartLinkProv = (0, _linkExtractors.extractSmartLinkProvider)(cardState.details)) === null || _extractSmartLinkProv === void 0 ? void 0 : _extractSmartLinkProv.text : (_extractProvider = (0, _linkExtractors.extractProvider)(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text;
45
+ var providerName = (_extractSmartLinkProv = (0, _linkExtractors.extractSmartLinkProvider)(cardState.details)) === null || _extractSmartLinkProv === void 0 ? void 0 : _extractSmartLinkProv.text;
47
46
  var isProductIntegrationSupported = (0, _helpers.hasAuthScopeOverrides)(cardState.details);
48
47
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
49
48
  fireEvent = _useAnalyticsEvents.fireEvent;
@@ -50,7 +50,8 @@ function Component(_ref) {
50
50
  removeTextHighlightingFromTitle = _ref.removeTextHighlightingFromTitle,
51
51
  resolvingPlaceholder = _ref.resolvingPlaceholder,
52
52
  truncateInline = _ref.truncateInline,
53
- CompetitorPrompt = _ref.CompetitorPrompt;
53
+ CompetitorPrompt = _ref.CompetitorPrompt,
54
+ hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton;
54
55
  var _useAnalyticsEventsNe = (0, _analyticsNext.useAnalyticsEvents)(),
55
56
  createAnalyticsEvent = _useAnalyticsEventsNe.createAnalyticsEvent;
56
57
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
@@ -80,12 +81,7 @@ function Component(_ref) {
80
81
 
81
82
  // Setup UI handlers.
82
83
  var handleClickWrapper = (0, _react.useCallback)(function (event) {
83
- var isModifierKeyPressed = (0, _utils.isSpecialEvent)(event);
84
- // Ctrl+left click on mac typically doesn't trigger onClick
85
- // The event could have potentially had `e.preventDefault()` called on it by now
86
- // event by smart card internally
87
- // If it has been called then only then can `isModifierKeyPressed` be true.
88
- var target = isModifierKeyPressed ? '_blank' : '_self';
84
+ var isModifierKeyPressed = (0, _utils.isSpecialKey)(event) || (0, _utils.isSpecialClick)(event);
89
85
  fireEvent('ui.smartLink.clicked', {
90
86
  id: id,
91
87
  display: isFlexibleUi ? _constants.CardDisplay.Flexible : appearance,
@@ -97,9 +93,11 @@ function Component(_ref) {
97
93
  // delegate the click to the glance panel handler
98
94
  if (
99
95
  // eslint-disable-next-line @atlaskit/platform/no-preconditioning
100
- (0, _platformFeatureFlags.fg)('fun-1765_wire_up_glance_panel_to_smart_cards') && target !== '_blank' && ari && isGlancePanelAvailable !== null && isGlancePanelAvailable !== void 0 && isGlancePanelAvailable({
96
+ (0, _platformFeatureFlags.fg)('fun-1765_wire_up_glance_panel_to_smart_cards') && !isModifierKeyPressed && ari && openGlancePanel && isGlancePanelAvailable !== null && isGlancePanelAvailable !== void 0 && isGlancePanelAvailable({
101
97
  ari: ari
102
- }) && openGlancePanel) {
98
+ })) {
99
+ event.preventDefault();
100
+ event.stopPropagation();
103
101
  openGlancePanel({
104
102
  url: url,
105
103
  ari: ari,
@@ -113,6 +111,12 @@ function Component(_ref) {
113
111
  });
114
112
  } else if (!onClick && !isFlexibleUi) {
115
113
  var clickUrl = (0, _helpers.getClickUrl)(url, state.details);
114
+
115
+ // Ctrl+left click on mac typically doesn't trigger onClick
116
+ // The event could have potentially had `e.preventDefault()` called on it by now
117
+ // event by smart card internally
118
+ // If it has been called then only then can `isSpecialEvent` be true.
119
+ var target = (0, _utils.isSpecialEvent)(event) ? '_blank' : '_self';
116
120
  window.open(clickUrl, target);
117
121
  (0, _click.fireLinkClickedEvent)(createAnalyticsEvent)(event, {
118
122
  attributes: {
@@ -268,7 +272,8 @@ function Component(_ref) {
268
272
  onError: onError,
269
273
  testId: testId,
270
274
  actionOptions: actionOptions,
271
- CompetitorPrompt: CompetitorPrompt
275
+ CompetitorPrompt: CompetitorPrompt,
276
+ hideIconLoadingSkeleton: hideIconLoadingSkeleton
272
277
  });
273
278
  case 'embed':
274
279
  return /*#__PURE__*/_react.default.createElement(_EmbedCard.EmbedCard, {
@@ -10,7 +10,7 @@ exports.ActionFooter = void 0;
10
10
  require("./index.compiled.css");
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _runtime = require("@compiled/react/runtime");
13
- var _error = _interopRequireDefault(require("@atlaskit/icon/utility/migration/error"));
13
+ var _error = _interopRequireDefault(require("@atlaskit/icon/core/migration/error"));
14
14
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
15
  var _compiled = require("@atlaskit/primitives/compiled");
16
16
  var _motionWrapper = _interopRequireDefault(require("../../../common/motion-wrapper"));
@@ -31,7 +31,8 @@ var getIcon = function getIcon(appearance) {
31
31
  label: "Error",
32
32
  LEGACY_size: "small",
33
33
  testId: "action-error-icon",
34
- LEGACY_margin: "0 ".concat("var(--ds-space-negative-025, -2px)")
34
+ LEGACY_margin: "0 ".concat("var(--ds-space-negative-025, -2px)"),
35
+ size: "small"
35
36
  });
36
37
  default:
37
38
  return null;
@@ -23,7 +23,7 @@ var _actionGroup = _interopRequireDefault(require("../action-group"));
23
23
  var _errored = _interopRequireDefault(require("./errored"));
24
24
  var _resolved = _interopRequireDefault(require("./resolved"));
25
25
  var _resolving = _interopRequireDefault(require("./resolving"));
26
- var _excluded = ["actions", "anchorTarget", "hideTitleTooltip", "maxLines", "onActionMenuOpenChange", "onClick", "status", "showActionOnHover", "testId", "text", "icon", "theme", "hideRetry", "metadataPosition", "hideIcon", "className", "anchorRef", "CompetitorPrompt", "url"];
26
+ var _excluded = ["actions", "anchorTarget", "hideTitleTooltip", "maxLines", "onActionMenuOpenChange", "onClick", "status", "showActionOnHover", "testId", "text", "icon", "theme", "hideRetry", "metadataPosition", "hideIcon", "className", "anchorRef", "CompetitorPrompt", "url", "hideIconLoadingSkeleton"];
27
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28
28
  var actionStyles = null;
29
29
  var getTitleBlockViewComponent = function getTitleBlockViewComponent(status) {
@@ -80,6 +80,7 @@ var TitleBlock = function TitleBlock(_ref) {
80
80
  anchorRef = _ref.anchorRef,
81
81
  CompetitorPrompt = _ref.CompetitorPrompt,
82
82
  url = _ref.url,
83
+ hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton,
83
84
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
84
85
  var cardContext = (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') ?
85
86
  // eslint-disable-next-line react-hooks/rules-of-hooks
@@ -139,6 +140,7 @@ var TitleBlock = function TitleBlock(_ref) {
139
140
  hideRetry: hideRetry
140
141
  } : undefined, {
141
142
  icon: icon,
143
+ hideIconLoadingSkeleton: hideIconLoadingSkeleton,
142
144
  size: (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') ? (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : ui === null || ui === void 0 ? void 0 : ui.size : props === null || props === void 0 ? void 0 : props.size
143
145
  }, (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') ? undefined : {
144
146
  theme: theme
@@ -19,7 +19,7 @@ var _elements = require("../../../elements");
19
19
  var _block = _interopRequireDefault(require("../../block"));
20
20
  var _elementGroup = _interopRequireDefault(require("../../element-group"));
21
21
  var _utils = require("../../utils");
22
- var _excluded = ["actionGroup", "metadata", "position", "subtitle", "testId", "text", "icon", "title", "metadataPosition", "hideIcon", "CompetitorPrompt", "url"];
22
+ var _excluded = ["actionGroup", "metadata", "position", "subtitle", "testId", "text", "icon", "title", "metadataPosition", "hideIcon", "CompetitorPrompt", "url", "hideIconLoadingSkeleton"];
23
23
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
24
24
  var style = null;
25
25
  var styles = {
@@ -46,6 +46,7 @@ var TitleBlockResolvedView = function TitleBlockResolvedView(_ref) {
46
46
  hideIcon = _ref.hideIcon,
47
47
  CompetitorPrompt = _ref.CompetitorPrompt,
48
48
  url = _ref.url,
49
+ hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton,
49
50
  blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
50
51
  var size = blockProps.size;
51
52
  var metadataElements = (0, _utils.renderElementItems)(metadata);
@@ -55,7 +56,8 @@ var TitleBlockResolvedView = function TitleBlockResolvedView(_ref) {
55
56
  }), !hideIcon && /*#__PURE__*/React.createElement(_elements.LinkIcon, {
56
57
  overrideIcon: icon,
57
58
  position: position,
58
- size: size
59
+ size: size,
60
+ hideLoadingSkeleton: hideIconLoadingSkeleton
59
61
  }), /*#__PURE__*/React.createElement(_elementGroup.default, {
60
62
  direction: _constants.SmartLinkDirection.Vertical,
61
63
  width: _constants.SmartLinkWidth.Flexible,
@@ -8,8 +8,10 @@ Object.defineProperty(exports, "__esModule", {
8
8
  });
9
9
  exports.default = void 0;
10
10
  require("./index.compiled.css");
11
- var React = _interopRequireWildcard(require("react"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var React = _react;
12
13
  var _runtime = require("@compiled/react/runtime");
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
15
  var _reactRenderImage = _interopRequireDefault(require("react-render-image"));
14
16
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
17
  var _loadingSkeleton = require("../loading-skeleton");
@@ -26,15 +28,23 @@ var ImageIcon = function ImageIcon(_ref) {
26
28
  _ref$appearance = _ref.appearance,
27
29
  appearance = _ref$appearance === void 0 ? 'square' : _ref$appearance,
28
30
  onError = _ref.onError,
29
- onLoad = _ref.onLoad;
30
- return /*#__PURE__*/React.createElement(_reactRenderImage.default, {
31
- src: url,
32
- loading: /*#__PURE__*/React.createElement(_loadingSkeleton.LoadingSkeleton, {
33
- testId: "".concat(testId, "-loading"),
34
- width: width,
35
- height: height
36
- }),
37
- loaded: /*#__PURE__*/React.createElement("img", {
31
+ onLoad = _ref.onLoad,
32
+ _ref$hideLoadingSkele = _ref.hideLoadingSkeleton,
33
+ hideLoadingSkeleton = _ref$hideLoadingSkele === void 0 ? false : _ref$hideLoadingSkele;
34
+ var _useState = (0, _react.useState)(false),
35
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
36
+ hasImageErrored = _useState2[0],
37
+ setHasImageErrored = _useState2[1];
38
+
39
+ // If url changes, reset state
40
+ (0, _react.useEffect)(function () {
41
+ setHasImageErrored(false);
42
+ }, [url]);
43
+ if (hasImageErrored) {
44
+ return defaultIcon;
45
+ }
46
+ if (hideLoadingSkeleton && (0, _platformFeatureFlags.fg)('platform_fix_block_card_img_icon_vc')) {
47
+ return /*#__PURE__*/React.createElement("img", {
38
48
  src: url,
39
49
  "data-testid": "".concat(testId, "-image"),
40
50
  alt: "",
@@ -42,11 +52,33 @@ var ImageIcon = function ImageIcon(_ref) {
42
52
  width: width,
43
53
  height: height
44
54
  },
55
+ onError: function onError() {
56
+ return setHasImageErrored(true);
57
+ },
45
58
  className: (0, _runtime.ax)([appearance === 'round' && (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && styles.roundImg])
46
- }),
47
- errored: defaultIcon,
48
- onError: onError,
49
- onLoad: onLoad
50
- });
59
+ });
60
+ } else {
61
+ return /*#__PURE__*/React.createElement(_reactRenderImage.default, {
62
+ src: url,
63
+ loading: /*#__PURE__*/React.createElement(_loadingSkeleton.LoadingSkeleton, {
64
+ testId: "".concat(testId, "-loading"),
65
+ width: width,
66
+ height: height
67
+ }),
68
+ loaded: /*#__PURE__*/React.createElement("img", {
69
+ src: url,
70
+ "data-testid": "".concat(testId, "-image"),
71
+ alt: "",
72
+ style: {
73
+ width: width,
74
+ height: height
75
+ },
76
+ className: (0, _runtime.ax)([appearance === 'round' && (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && styles.roundImg])
77
+ }),
78
+ errored: defaultIcon,
79
+ onError: onError,
80
+ onLoad: onLoad
81
+ });
82
+ }
51
83
  };
52
84
  var _default = exports.default = ImageIcon;
@@ -62,6 +62,7 @@ var renderDefaultIcon = function renderDefaultIcon(label, testId) {
62
62
  var renderImageIcon = function renderImageIcon(defaultIcon, url, testId) {
63
63
  var size = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants.SmartLinkSize.Medium;
64
64
  var appearance = arguments.length > 4 ? arguments[4] : undefined;
65
+ var hideLoadingSkeleton = arguments.length > 5 ? arguments[5] : undefined;
65
66
  var width = size === _constants.SmartLinkSize.Large ? "var(--ds-space-300, 24px)" : "var(--ds-space-200, 16px)";
66
67
  if (url) {
67
68
  return /*#__PURE__*/React.createElement(_imageIcon.default, (0, _extends2.default)({
@@ -72,6 +73,8 @@ var renderImageIcon = function renderImageIcon(defaultIcon, url, testId) {
72
73
  height: width
73
74
  }, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && {
74
75
  appearance: appearance
76
+ }, {
77
+ hideLoadingSkeleton: hideLoadingSkeleton
75
78
  }));
76
79
  }
77
80
  };
@@ -98,11 +101,12 @@ var IconElement = function IconElement(_ref) {
98
101
  testId = _ref$testId === void 0 ? 'smart-element-icon' : _ref$testId,
99
102
  url = _ref.url,
100
103
  _ref$appearance = _ref.appearance,
101
- appearance = _ref$appearance === void 0 ? 'square' : _ref$appearance;
104
+ appearance = _ref$appearance === void 0 ? 'square' : _ref$appearance,
105
+ hideLoadingSkeleton = _ref.hideLoadingSkeleton;
102
106
  var element = (0, _react.useMemo)(function () {
103
107
  var defaultIcon = renderDefaultIcon(label, testId);
104
- return overrideIcon || (render === null || render === void 0 ? void 0 : render()) || renderImageIcon(defaultIcon, url, testId, size, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') ? appearance : undefined) || renderAtlaskitIcon(icon, testId, size) || defaultIcon;
105
- }, [label, testId, overrideIcon, render, url, size, appearance, icon]);
108
+ return overrideIcon || (render === null || render === void 0 ? void 0 : render()) || renderImageIcon(defaultIcon, url, testId, size, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') ? appearance : undefined, hideLoadingSkeleton) || renderAtlaskitIcon(icon, testId, size) || defaultIcon;
109
+ }, [label, testId, overrideIcon, render, url, size, appearance, hideLoadingSkeleton, icon]);
106
110
  var width = (0, _utils2.getIconWidth)(size);
107
111
  return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v1') ? {} : (0, _defineProperty2.default)({}, 'data-fit-to-content', true), {
108
112
  "data-smart-element": name,
@@ -15,7 +15,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
15
15
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
16
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
17
  var _react2 = require("@compiled/react");
18
- var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/utility/migration/chevron-down"));
18
+ var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/migration/chevron-down"));
19
19
  var _linkingCommon = require("@atlaskit/linking-common");
20
20
  var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
21
21
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
@@ -61,7 +61,8 @@ var LozengeActionTriggerOld = function LozengeActionTriggerOld(_ref) {
61
61
  color: "currentColor",
62
62
  label: "options",
63
63
  LEGACY_size: "medium",
64
- LEGACY_margin: "-4px -8px -4px -7px"
64
+ LEGACY_margin: "-4px -8px -4px -7px",
65
+ size: "small"
65
66
  }))));
66
67
  }, [appearance, isBold, text]);
67
68
  return /*#__PURE__*/React.createElement("button", (0, _extends2.default)({
@@ -151,7 +152,8 @@ var LozengeActionTrigger = function LozengeActionTrigger(_ref2) {
151
152
  color: "currentColor",
152
153
  label: "options",
153
154
  LEGACY_size: "medium",
154
- LEGACY_margin: "-4px -8px -4px -7px"
155
+ LEGACY_margin: "-4px -8px -4px -7px",
156
+ size: "small"
155
157
  })))));
156
158
  }, [appearance, isHovering, isPressing, text, isOpen, lozengeBackgroundColor, lozengeForegroundColor]);
157
159
  return /*#__PURE__*/React.createElement("button", (0, _extends2.default)({