@atlaskit/smart-card 36.9.0 → 36.10.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 (110) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/extractors/common/context/index.js +41 -1
  3. package/dist/cjs/extractors/common/icon/extractIconFromDocument.js +7 -61
  4. package/dist/cjs/extractors/embed/index.js +3 -35
  5. package/dist/cjs/extractors/flexible/extract-preview.js +24 -2
  6. package/dist/cjs/extractors/flexible/icon/extract-provider-icon.js +40 -2
  7. package/dist/cjs/extractors/flexible/icon/index.js +15 -1
  8. package/dist/cjs/extractors/flexible/index.js +77 -3
  9. package/dist/cjs/extractors/inline/index.js +5 -1
  10. package/dist/cjs/utils/analytics/analytics.js +1 -1
  11. package/dist/cjs/utils/index.js +2 -256
  12. package/dist/cjs/utils/mocks.js +12 -2
  13. package/dist/cjs/view/BlockCard/views/ErroredView.js +1 -12
  14. package/dist/cjs/view/BlockCard/views/ForbiddenView.js +2 -11
  15. package/dist/cjs/view/BlockCard/views/NotFoundView.js +5 -15
  16. package/dist/cjs/view/BlockCard/views/UnauthorisedView.js +3 -3
  17. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -5
  18. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolving/index.js +12 -36
  19. package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +4 -17
  20. package/dist/cjs/view/FlexibleCard/components/common/loading-skeleton/index.js +2 -10
  21. package/dist/cjs/view/FlexibleCard/utils.js +21 -10
  22. package/dist/cjs/view/HoverCard/components/views/resolving/index.js +5 -18
  23. package/dist/cjs/view/InlineCard/ErroredView/index.js +5 -15
  24. package/dist/cjs/view/InlineCard/ForbiddenView/index.js +1 -7
  25. package/dist/cjs/view/InlineCard/Icon.compiled.css +0 -1
  26. package/dist/cjs/view/InlineCard/Icon.js +4 -24
  27. package/dist/cjs/view/InlineCard/UnauthorisedView/index.js +7 -15
  28. package/dist/cjs/view/LinkUrl/index.js +1 -1
  29. package/dist/es2019/extractors/common/context/index.js +36 -1
  30. package/dist/es2019/extractors/common/icon/extractIconFromDocument.js +6 -61
  31. package/dist/es2019/extractors/embed/index.js +2 -35
  32. package/dist/es2019/extractors/flexible/extract-preview.js +25 -2
  33. package/dist/es2019/extractors/flexible/icon/extract-provider-icon.js +42 -2
  34. package/dist/es2019/extractors/flexible/icon/index.js +14 -0
  35. package/dist/es2019/extractors/flexible/index.js +75 -5
  36. package/dist/es2019/extractors/inline/index.js +5 -1
  37. package/dist/es2019/utils/analytics/analytics.js +1 -1
  38. package/dist/es2019/utils/index.js +2 -56
  39. package/dist/es2019/utils/mocks.js +13 -2
  40. package/dist/es2019/view/BlockCard/views/ErroredView.js +1 -12
  41. package/dist/es2019/view/BlockCard/views/ForbiddenView.js +3 -12
  42. package/dist/es2019/view/BlockCard/views/NotFoundView.js +8 -16
  43. package/dist/es2019/view/BlockCard/views/UnauthorisedView.js +4 -4
  44. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +4 -6
  45. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolving/index.js +11 -33
  46. package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +5 -18
  47. package/dist/es2019/view/FlexibleCard/components/common/loading-skeleton/index.js +2 -10
  48. package/dist/es2019/view/FlexibleCard/utils.js +19 -11
  49. package/dist/es2019/view/HoverCard/components/views/resolving/index.js +5 -18
  50. package/dist/es2019/view/InlineCard/ErroredView/index.js +5 -15
  51. package/dist/es2019/view/InlineCard/ForbiddenView/index.js +2 -8
  52. package/dist/es2019/view/InlineCard/Icon.compiled.css +0 -1
  53. package/dist/es2019/view/InlineCard/Icon.js +0 -19
  54. package/dist/es2019/view/InlineCard/UnauthorisedView/index.js +8 -16
  55. package/dist/es2019/view/LinkUrl/index.js +1 -1
  56. package/dist/esm/extractors/common/context/index.js +38 -1
  57. package/dist/esm/extractors/common/icon/extractIconFromDocument.js +6 -61
  58. package/dist/esm/extractors/embed/index.js +2 -34
  59. package/dist/esm/extractors/flexible/extract-preview.js +25 -2
  60. package/dist/esm/extractors/flexible/icon/extract-provider-icon.js +41 -2
  61. package/dist/esm/extractors/flexible/icon/index.js +14 -0
  62. package/dist/esm/extractors/flexible/index.js +76 -5
  63. package/dist/esm/extractors/inline/index.js +5 -1
  64. package/dist/esm/utils/analytics/analytics.js +1 -1
  65. package/dist/esm/utils/index.js +2 -156
  66. package/dist/esm/utils/mocks.js +12 -2
  67. package/dist/esm/view/BlockCard/views/ErroredView.js +1 -12
  68. package/dist/esm/view/BlockCard/views/ForbiddenView.js +3 -12
  69. package/dist/esm/view/BlockCard/views/NotFoundView.js +6 -16
  70. package/dist/esm/view/BlockCard/views/UnauthorisedView.js +4 -4
  71. package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -5
  72. package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolving/index.js +11 -33
  73. package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +5 -18
  74. package/dist/esm/view/FlexibleCard/components/common/loading-skeleton/index.js +2 -10
  75. package/dist/esm/view/FlexibleCard/utils.js +19 -11
  76. package/dist/esm/view/HoverCard/components/views/resolving/index.js +5 -18
  77. package/dist/esm/view/InlineCard/ErroredView/index.js +5 -15
  78. package/dist/esm/view/InlineCard/ForbiddenView/index.js +2 -8
  79. package/dist/esm/view/InlineCard/Icon.compiled.css +0 -1
  80. package/dist/esm/view/InlineCard/Icon.js +3 -23
  81. package/dist/esm/view/InlineCard/UnauthorisedView/index.js +8 -16
  82. package/dist/esm/view/LinkUrl/index.js +1 -1
  83. package/dist/types/__fixtures__/figma-entity.d.ts +58 -0
  84. package/dist/types/extractors/common/context/index.d.ts +8 -0
  85. package/dist/types/extractors/flexible/extract-preview.d.ts +5 -0
  86. package/dist/types/extractors/flexible/icon/extract-provider-icon.d.ts +5 -0
  87. package/dist/types/extractors/flexible/icon/index.d.ts +13 -0
  88. package/dist/types/extractors/flexible/index.d.ts +1 -1
  89. package/dist/types/view/FlexibleCard/components/blocks/title-block/resolving/index.d.ts +2 -6
  90. package/dist/types/view/FlexibleCard/components/common/loading-skeleton/index.d.ts +2 -4
  91. package/dist/types/view/FlexibleCard/components/common/loading-skeleton/types.d.ts +1 -17
  92. package/dist/types/view/FlexibleCard/types.d.ts +2 -2
  93. package/dist/types/view/FlexibleCard/utils.d.ts +2 -2
  94. package/dist/types/view/InlineCard/Icon.d.ts +0 -1
  95. package/dist/types-ts4.5/__fixtures__/figma-entity.d.ts +58 -0
  96. package/dist/types-ts4.5/extractors/common/context/index.d.ts +8 -0
  97. package/dist/types-ts4.5/extractors/flexible/extract-preview.d.ts +5 -0
  98. package/dist/types-ts4.5/extractors/flexible/icon/extract-provider-icon.d.ts +5 -0
  99. package/dist/types-ts4.5/extractors/flexible/icon/index.d.ts +13 -0
  100. package/dist/types-ts4.5/extractors/flexible/index.d.ts +1 -1
  101. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/title-block/resolving/index.d.ts +2 -6
  102. package/dist/types-ts4.5/view/FlexibleCard/components/common/loading-skeleton/index.d.ts +2 -4
  103. package/dist/types-ts4.5/view/FlexibleCard/components/common/loading-skeleton/types.d.ts +1 -17
  104. package/dist/types-ts4.5/view/FlexibleCard/types.d.ts +2 -2
  105. package/dist/types-ts4.5/view/FlexibleCard/utils.d.ts +2 -2
  106. package/dist/types-ts4.5/view/InlineCard/Icon.d.ts +0 -1
  107. package/package.json +2 -2
  108. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolving/index.compiled.css +0 -55
  109. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolving/index.compiled.css +0 -55
  110. package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolving/index.compiled.css +0 -55
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 36.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#145328](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/145328)
8
+ [`ef59f8d0752c4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ef59f8d0752c4) -
9
+ EDM-11533 cleaning up sl icon migration fg - part 1
10
+
11
+ ### Patch Changes
12
+
13
+ - [#144842](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/144842)
14
+ [`cdb734473a3c5`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cdb734473a3c5) -
15
+ Enable resolve flexible/block-view with nounData behind ff: smart_links_noun_support
16
+ - Updated dependencies
17
+
3
18
  ## 36.9.0
4
19
 
5
20
  ### Minor Changes
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -9,4 +10,43 @@ Object.defineProperty(exports, "extractRequestAccessContextImproved", {
9
10
  return _extractAccessContext.extractRequestAccessContextImproved;
10
11
  }
11
12
  });
12
- var _extractAccessContext = require("./extractAccessContext");
13
+ exports.extractSmartLinkContext = extractSmartLinkContext;
14
+ exports.generateContext = generateContext;
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _linkExtractors = require("@atlaskit/link-extractors");
17
+ var _prioritiseIcon = require("../icon/prioritiseIcon");
18
+ var _extractAccessContext = require("./extractAccessContext");
19
+ 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; }
20
+ 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; }
21
+ function generateContext(jsonLd) {
22
+ var provider = (0, _linkExtractors.extractProvider)(jsonLd);
23
+ if (!provider) {
24
+ return undefined;
25
+ }
26
+
27
+ // If no icon is supplied, return existing context
28
+ if (!jsonLd.icon) {
29
+ return provider;
30
+ }
31
+ var generator = jsonLd.generator;
32
+ var icon = (0, _prioritiseIcon.prioritiseIcon)({
33
+ fileFormatIcon: undefined,
34
+ documentTypeIcon: undefined,
35
+ urlIcon: (0, _linkExtractors.extractUrlFromIconJsonLd)(jsonLd.icon),
36
+ // We still attempt to follow the icon priority function even if no generator (and therefore provider icon) is defined
37
+ providerIcon: generator && typeof generator !== 'string' && generator['@type'] !== 'Link' && (0, _linkExtractors.extractProviderIcon)(generator.icon)
38
+ });
39
+ return _objectSpread(_objectSpread({}, provider), {}, {
40
+ icon: icon ? icon : provider.icon
41
+ });
42
+ }
43
+
44
+ /**
45
+ * Should be moved to link-extractors when jsonLd is deprecated
46
+ */
47
+ function extractSmartLinkContext(response) {
48
+ if ((0, _linkExtractors.isEntityPresent)(response)) {
49
+ return (0, _linkExtractors.extractEntityProvider)(response);
50
+ }
51
+ return generateContext(response === null || response === void 0 ? void 0 : response.data);
52
+ }
@@ -6,15 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.extractIconFromDocument = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _ = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/document/16"));
10
- var _2 = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/generic/16"));
11
- var _3 = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/presentation/16"));
12
- var _4 = _interopRequireDefault(require("@atlaskit/icon-file-type/glyph/spreadsheet/16"));
13
- var _5 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/blog/16"));
14
9
  var _fileDocumentFilled = _interopRequireDefault(require("@atlaskit/icon/core/migration/file--document-filled"));
15
- var _pageDocumentFilled = _interopRequireDefault(require("@atlaskit/icon/core/migration/page--document-filled"));
16
10
  var _linkExtractors = require("@atlaskit/link-extractors");
17
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
11
  var _blogIcon = _interopRequireDefault(require("../../../common/ui/icons/blog-icon"));
19
12
  var _chartBarIcon = _interopRequireDefault(require("../../../common/ui/icons/chart-bar-icon"));
20
13
  var _fileIcon = _interopRequireDefault(require("../../../common/ui/icons/file-icon"));
@@ -23,53 +16,6 @@ var _liveDocumentIcon = _interopRequireDefault(require("../../../common/ui/icons
23
16
  var _pageIcon = _interopRequireDefault(require("../../../common/ui/icons/page-icon"));
24
17
  var _utils = require("../../../utils");
25
18
  var _prioritiseIcon = require("./prioritiseIcon");
26
- // TODO Delete this and rename BlogIconNew to BlogIcon when cleaning platform-smart-card-icon-migration
27
- var BlogIcon = function BlogIcon(props) {
28
- if ((0, _platformFeatureFlags.fg)('platform-smart-card-icon-migration')) {
29
- return /*#__PURE__*/_react.default.createElement(_blogIcon.default, props);
30
- }
31
- return /*#__PURE__*/_react.default.createElement(_5.default, props);
32
- };
33
-
34
- // TODO Delete this and rename FileIconNew to FileIcon when cleaning platform-smart-card-icon-migration
35
- var FileIcon = function FileIcon(props) {
36
- if ((0, _platformFeatureFlags.fg)('platform-smart-card-icon-migration')) {
37
- return /*#__PURE__*/_react.default.createElement(_fileIcon.default, props);
38
- }
39
- return /*#__PURE__*/_react.default.createElement(_2.default, props);
40
- };
41
-
42
- // TODO Delete this and rename DocumentIconNew to DocumentIcon when cleaning platform-smart-card-icon-migration
43
- var DocumentIcon = function DocumentIcon(props) {
44
- if ((0, _platformFeatureFlags.fg)('platform-smart-card-icon-migration')) {
45
- return /*#__PURE__*/_react.default.createElement(_pageIcon.default, props);
46
- }
47
- return /*#__PURE__*/_react.default.createElement(_.default, props);
48
- };
49
-
50
- // TODO Delete this and rename PresentationIconNew to PresentationIcon when cleaning platform-smart-card-icon-migration
51
- var PresentationIcon = function PresentationIcon(props) {
52
- if ((0, _platformFeatureFlags.fg)('platform-smart-card-icon-migration')) {
53
- return /*#__PURE__*/_react.default.createElement(_chartBarIcon.default, props);
54
- }
55
- return /*#__PURE__*/_react.default.createElement(_3.default, props);
56
- };
57
-
58
- // TODO Delete this and rename SpreadsheetIconNew to SpreadsheetIcon when cleaning platform-smart-card-icon-migration
59
- var SpreadsheetIcon = function SpreadsheetIcon(props) {
60
- if ((0, _platformFeatureFlags.fg)('platform-smart-card-icon-migration')) {
61
- return /*#__PURE__*/_react.default.createElement(_listBulletIcon.default, props);
62
- }
63
- return /*#__PURE__*/_react.default.createElement(_4.default, props);
64
- };
65
-
66
- // TODO Delete this and rename DocumentFilledIconNew to DocumentFilledIcon when cleaning platform-smart-card-icon-migration
67
- var DocumentFilledIcon = function DocumentFilledIcon(props) {
68
- if ((0, _platformFeatureFlags.fg)('platform-smart-card-icon-migration')) {
69
- return /*#__PURE__*/_react.default.createElement(_fileDocumentFilled.default, props);
70
- }
71
- return /*#__PURE__*/_react.default.createElement(_pageDocumentFilled.default, props);
72
- };
73
19
  /**
74
20
  * Extracts an icon for a document pbject
75
21
  *
@@ -96,35 +42,35 @@ var documentFileFormatToIcon = function documentFileFormatToIcon(opts) {
96
42
  var documentTypeToIcon = function documentTypeToIcon(type, opts) {
97
43
  switch (type) {
98
44
  case 'schema:BlogPosting':
99
- return /*#__PURE__*/_react.default.createElement(BlogIcon, {
45
+ return /*#__PURE__*/_react.default.createElement(_blogIcon.default, {
100
46
  label: opts.showIconLabel ? opts.title || 'blog' : '',
101
47
  testId: "blog-icon"
102
48
  });
103
49
  case 'schema:DigitalDocument':
104
50
  return digitalDocumentToIcon(opts);
105
51
  case 'schema:TextDigitalDocument':
106
- return /*#__PURE__*/_react.default.createElement(DocumentIcon, {
52
+ return /*#__PURE__*/_react.default.createElement(_pageIcon.default, {
107
53
  label: opts.showIconLabel ? opts.title || 'document' : '',
108
54
  testId: "document-icon"
109
55
  });
110
56
  case 'schema:PresentationDigitalDocument':
111
- return /*#__PURE__*/_react.default.createElement(PresentationIcon, {
57
+ return /*#__PURE__*/_react.default.createElement(_chartBarIcon.default, {
112
58
  label: opts.showIconLabel ? opts.title || 'presentation' : '',
113
59
  testId: "presentation-icon"
114
60
  });
115
61
  case 'schema:SpreadsheetDigitalDocument':
116
- return /*#__PURE__*/_react.default.createElement(SpreadsheetIcon, {
62
+ return /*#__PURE__*/_react.default.createElement(_listBulletIcon.default, {
117
63
  label: opts.showIconLabel ? opts.title || 'spreadsheet' : '',
118
64
  testId: "spreadsheet-icon"
119
65
  });
120
66
  case 'atlassian:Template':
121
- return /*#__PURE__*/_react.default.createElement(DocumentFilledIcon, {
67
+ return /*#__PURE__*/_react.default.createElement(_fileDocumentFilled.default, {
122
68
  color: "currentColor",
123
69
  label: opts.showIconLabel ? opts.title || 'template' : '',
124
70
  testId: "document-filled-icon"
125
71
  });
126
72
  case 'atlassian:UndefinedLink':
127
- return /*#__PURE__*/_react.default.createElement(DocumentIcon, {
73
+ return /*#__PURE__*/_react.default.createElement(_pageIcon.default, {
128
74
  label: opts.showIconLabel ? opts.title || 'undefinedLink' : '',
129
75
  testId: "document-icon"
130
76
  });
@@ -147,7 +93,7 @@ var digitalDocumentToIcon = function digitalDocumentToIcon(opts) {
147
93
  testId: "live-doc-icon"
148
94
  });
149
95
  } else {
150
- return /*#__PURE__*/_react.default.createElement(FileIcon, {
96
+ return /*#__PURE__*/_react.default.createElement(_fileIcon.default, {
151
97
  label: opts.showIconLabel ? opts.title || 'file' : '',
152
98
  testId: "file-icon"
153
99
  });
@@ -9,7 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
9
9
  var _linkExtractors = require("@atlaskit/link-extractors");
10
10
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
11
  var _jsonld = require("../../utils/jsonld");
12
- var _icon = require("../common/icon");
12
+ var _context = require("../common/context");
13
13
  var _extractIsSupportTheming = require("../common/meta/extractIsSupportTheming");
14
14
  var _extractIsTrusted = require("../common/meta/extractIsTrusted");
15
15
  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; }
@@ -22,38 +22,6 @@ var extractEmbedPreview = function extractEmbedPreview(jsonLd, platform, iframeU
22
22
  });
23
23
  }
24
24
  };
25
- function generateContext(jsonLd) {
26
- var provider = (0, _linkExtractors.extractProvider)(jsonLd);
27
- if (!provider) {
28
- return undefined;
29
- }
30
-
31
- // If no icon is supplied, return existing context
32
- if (!jsonLd.icon) {
33
- return provider;
34
- }
35
- var generator = jsonLd.generator;
36
- var icon = (0, _icon.prioritiseIcon)({
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
- }
47
-
48
- /**
49
- * We can migrate this to link extractors once we have deprecated JsonLd
50
- */
51
- function extractSmartLinkContext(response) {
52
- if ((0, _linkExtractors.isEntityPresent)(response)) {
53
- return (0, _linkExtractors.extractEntityProvider)(response);
54
- }
55
- return generateContext(response === null || response === void 0 ? void 0 : response.data);
56
- }
57
25
  var extractEmbedProps = exports.extractEmbedProps = function extractEmbedProps(response, platform, iframeUrlType) {
58
26
  var meta = response === null || response === void 0 ? void 0 : response.meta;
59
27
  var jsonLd = (response === null || response === void 0 ? void 0 : response.data) || (0, _jsonld.getEmptyJsonLd)();
@@ -61,7 +29,7 @@ var extractEmbedProps = exports.extractEmbedProps = function extractEmbedProps(r
61
29
  return {
62
30
  link: (0, _linkExtractors.extractSmartLinkUrl)(response) || '',
63
31
  title: (0, _linkExtractors.extractSmartLinkTitle)(response),
64
- context: extractSmartLinkContext(response),
32
+ context: (0, _context.extractSmartLinkContext)(response),
65
33
  preview: (0, _linkExtractors.extractSmartLinkEmbed)(response, iframeUrlType),
66
34
  isTrusted: (0, _extractIsTrusted.extractIsTrusted)(meta),
67
35
  isSupportTheming: (0, _extractIsSupportTheming.extractIsSupportTheming)(meta)
@@ -70,7 +38,7 @@ var extractEmbedProps = exports.extractEmbedProps = function extractEmbedProps(r
70
38
  return {
71
39
  link: (0, _linkExtractors.extractLink)(jsonLd) || '',
72
40
  title: (0, _linkExtractors.extractTitle)(jsonLd),
73
- context: generateContext(jsonLd),
41
+ context: (0, _context.generateContext)(jsonLd),
74
42
  preview: extractEmbedPreview(jsonLd, platform, iframeUrlType),
75
43
  isTrusted: (0, _extractIsTrusted.extractIsTrusted)(meta),
76
44
  isSupportTheming: (0, _extractIsSupportTheming.extractIsSupportTheming)(meta)
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.extractSmartLinkPreviewImage = exports.default = void 0;
7
7
  var _linkExtractors = require("@atlaskit/link-extractors");
8
8
  var _constants = require("../../constants");
9
9
  var extractPreview = function extractPreview(data) {
@@ -16,4 +16,26 @@ var extractPreview = function extractPreview(data) {
16
16
  url: url
17
17
  } : undefined;
18
18
  };
19
- var _default = exports.default = extractPreview;
19
+ var _default = exports.default = extractPreview;
20
+ /**
21
+ * Should be moved to link-extractors when jsonLd is deprecated
22
+ */
23
+ var extractSmartLinkPreviewImage = exports.extractSmartLinkPreviewImage = function extractSmartLinkPreviewImage(response) {
24
+ if (!response || !(response !== null && response !== void 0 && response.data)) {
25
+ return undefined;
26
+ }
27
+ if ((0, _linkExtractors.isEntityPresent)(response)) {
28
+ var _entity$thumbnail;
29
+ var entity = (0, _linkExtractors.extractEntity)(response);
30
+ var url = entity === null || entity === void 0 || (_entity$thumbnail = entity.thumbnail) === null || _entity$thumbnail === void 0 ? void 0 : _entity$thumbnail.externalUrl;
31
+ if (!url) {
32
+ var provider = (0, _linkExtractors.extractEntityProvider)(response);
33
+ url = provider === null || provider === void 0 ? void 0 : provider.image;
34
+ }
35
+ return url ? {
36
+ type: _constants.MediaType.Image,
37
+ url: url
38
+ } : undefined;
39
+ }
40
+ return extractPreview(response.data);
41
+ };
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = void 0;
7
+ exports.extractSmartLinkProviderIcon = exports.default = void 0;
8
8
  var _linkExtractors = require("@atlaskit/link-extractors");
9
9
  var _constants = require("../../../constants");
10
10
  var _constants2 = require("../../constants");
@@ -41,4 +41,42 @@ var extractProviderIcon = function extractProviderIcon(data) {
41
41
  }
42
42
  return (0, _extractUrlIcon.default)(icon, label);
43
43
  };
44
- var _default = exports.default = extractProviderIcon;
44
+ var _default = exports.default = extractProviderIcon;
45
+ /**
46
+ * Should be moved to link-extractors when jsonLd is deprecated
47
+ */
48
+ var extractSmartLinkProviderIcon = exports.extractSmartLinkProviderIcon = function extractSmartLinkProviderIcon(response) {
49
+ var _extractEntity, _generator$icon;
50
+ if (!response || !(response !== null && response !== void 0 && response.data)) {
51
+ return undefined;
52
+ }
53
+ if ((0, _linkExtractors.isEntityPresent)(response)) {
54
+ var provider = (0, _linkExtractors.extractEntityProvider)(response);
55
+ if (!provider) {
56
+ return undefined;
57
+ }
58
+ switch (provider.id) {
59
+ case _constants2.CONFLUENCE_GENERATOR_ID:
60
+ return {
61
+ icon: _constants.IconType.Confluence,
62
+ label: provider.text || 'Confluence'
63
+ };
64
+ case _constants2.JIRA_GENERATOR_ID:
65
+ return {
66
+ icon: _constants.IconType.Jira,
67
+ label: provider.text || 'Jira'
68
+ };
69
+ default:
70
+ var _ref = response.meta,
71
+ generator = _ref.generator;
72
+ if (!generator) {
73
+ return undefined;
74
+ }
75
+ return {
76
+ label: generator.name || ((_extractEntity = (0, _linkExtractors.extractEntity)(response)) === null || _extractEntity === void 0 ? void 0 : _extractEntity.displayName),
77
+ url: (_generator$icon = generator.icon) === null || _generator$icon === void 0 ? void 0 : _generator$icon.url
78
+ };
79
+ }
80
+ }
81
+ return extractProviderIcon(response.data);
82
+ };
@@ -4,8 +4,9 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.extractLinkIcon = exports.extractErrorIcon = void 0;
7
+ exports.extractSmartLinkIcon = exports.extractLinkIcon = exports.extractErrorIcon = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _linkExtractors = require("@atlaskit/link-extractors");
9
10
  var _constants = require("../../../constants");
10
11
  var _extractIconRenderer = _interopRequireDefault(require("./extract-icon-renderer"));
11
12
  var _extractJsonldDataIcon = _interopRequireDefault(require("./extract-jsonld-data-icon"));
@@ -52,4 +53,17 @@ var extractErrorIcon = exports.extractErrorIcon = function extractErrorIcon(resp
52
53
  icon: _constants.IconType.Default
53
54
  };
54
55
  }
56
+ };
57
+
58
+ /**
59
+ * Should be moved to link-extractors when jsonLd is deprecated
60
+ */
61
+ var extractSmartLinkIcon = exports.extractSmartLinkIcon = function extractSmartLinkIcon(response, renderers) {
62
+ if (!response || !(response !== null && response !== void 0 && response.data)) {
63
+ return undefined;
64
+ }
65
+ if ((0, _linkExtractors.isEntityPresent)(response)) {
66
+ return (0, _linkExtractors.extractEntityIcon)(response);
67
+ }
68
+ return extractLinkIcon(response, renderers);
55
69
  };
@@ -1,24 +1,28 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
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;
8
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
10
  var _linkExtractors = require("@atlaskit/link-extractors");
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
12
  var _primitives = require("../common/primitives");
11
13
  var _actions = require("./actions");
12
14
  var _collaboratorGroup = require("./collaboratorGroup");
13
- var _extractPreview = _interopRequireDefault(require("./extract-preview"));
15
+ var _extractPreview = _interopRequireWildcard(require("./extract-preview"));
14
16
  var _extractPriority = _interopRequireDefault(require("./extract-priority"));
15
17
  var _extractState = _interopRequireDefault(require("./extract-state"));
16
18
  var _icon = require("./icon");
17
- var _extractProviderIcon = _interopRequireDefault(require("./icon/extract-provider-icon"));
19
+ var _extractProviderIcon = _interopRequireWildcard(require("./icon/extract-provider-icon"));
18
20
  var _latestCommit = require("./latest-commit");
19
21
  var _utils = require("./utils");
20
22
  var _excluded = ["appearance", "fireEvent", "id", "origin", "renderers", "resolve", "actionOptions", "response", "aiSummaryConfig"];
21
- var extractFlexibleUiContext = function extractFlexibleUiContext() {
23
+ 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); }
24
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
25
+ var extractFlexibleUiContextFromJsonLd = function extractFlexibleUiContextFromJsonLd() {
22
26
  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
27
  var appearance = _ref.appearance,
24
28
  fireEvent = _ref.fireEvent,
@@ -86,4 +90,74 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
86
90
  ari: (0, _linkExtractors.extractAri)(data)
87
91
  };
88
92
  };
93
+ var extractFlexibleUiContextFromEntity = function extractFlexibleUiContextFromEntity() {
94
+ var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
95
+ actionOptions = _ref2.actionOptions,
96
+ appearance = _ref2.appearance,
97
+ fireEvent = _ref2.fireEvent,
98
+ id = _ref2.id,
99
+ origin = _ref2.origin,
100
+ resolve = _ref2.resolve,
101
+ response = _ref2.response;
102
+ if (!response) {
103
+ return undefined;
104
+ }
105
+ var data = response.data;
106
+ var url = (0, _linkExtractors.extractSmartLinkUrl)(response);
107
+ return {
108
+ actions: (0, _actions.extractFlexibleCardActions)({
109
+ response: response,
110
+ actionOptions: actionOptions,
111
+ id: id,
112
+ appearance: appearance,
113
+ fireEvent: fireEvent
114
+ }),
115
+ url: url,
116
+ ari: (0, _linkExtractors.extractSmartLinkAri)(response),
117
+ title: (0, _linkExtractors.extractSmartLinkTitle)(response) || url,
118
+ linkIcon: (0, _icon.extractSmartLinkIcon)(response),
119
+ preview: (0, _extractPreview.extractSmartLinkPreviewImage)(response),
120
+ provider: (0, _extractProviderIcon.extractSmartLinkProviderIcon)(response),
121
+ modifiedOn: (0, _linkExtractors.extractSmartLinkModifiedOn)(response),
122
+ createdOn: (0, _linkExtractors.extractSmartLinkCreatedOn)(response),
123
+ createdBy: (0, _linkExtractors.extractSmartLinkCreatedBy)(response),
124
+ modifiedBy: (0, _linkExtractors.extractSmartLinkModifiedBy)(response),
125
+ // We need to add/remove these as we support new entity types
126
+ assignedToGroup: (0, _utils.extractPersonAssignedToAsArray)(data),
127
+ appliedToComponentsCount: (0, _utils.extractAppliedToComponentsCount)(data),
128
+ attachmentCount: (0, _utils.extractAttachmentCount)(data),
129
+ authorGroup: (0, _linkExtractors.extractPersonCreatedBy)(data),
130
+ ownedByGroup: (0, _linkExtractors.extractPersonOwnedBy)(data),
131
+ collaboratorGroup: (0, _collaboratorGroup.extractPersonsUpdatedBy)(data),
132
+ commentCount: (0, _utils.extractCommentCount)(data),
133
+ viewCount: (0, _utils.extractViewCount)(data),
134
+ reactCount: (0, _utils.extractReactCount)(data),
135
+ voteCount: (0, _utils.extractVoteCount)(data),
136
+ checklistProgress: (0, _utils.extractChecklistProgress)(data),
137
+ ownedBy: (0, _utils.extractOwnedBy)(data),
138
+ assignedTo: (0, _utils.extractAssignedTo)(data),
139
+ dueOn: (0, _utils.extractDueOn)(data),
140
+ latestCommit: (0, _latestCommit.extractLatestCommit)(data),
141
+ location: (0, _utils.extractLocation)(data),
142
+ priority: (0, _extractPriority.default)(data),
143
+ programmingLanguage: (0, _utils.extractProgrammingLanguage)(data),
144
+ readTime: (0, _utils.extractReadTime)(data),
145
+ sentOn: (0, _utils.extractSentOn)(data),
146
+ snippet: (0, _primitives.extractSummary)(data) || undefined,
147
+ // Explicitly set here to remove an empty string
148
+ sourceBranch: (0, _utils.extractSourceBranch)(data),
149
+ state: (0, _extractState.default)(response, actionOptions, id, appearance, origin, fireEvent, resolve),
150
+ subscriberCount: (0, _utils.extractSubscriberCount)(data),
151
+ subTasksProgress: (0, _utils.extractSubTasksProgress)(data),
152
+ storyPoints: (0, _utils.extractStoryPoints)(data),
153
+ targetBranch: (0, _utils.extractTargetBranch)(data)
154
+ };
155
+ };
156
+ var extractFlexibleUiContext = function extractFlexibleUiContext() {
157
+ var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
158
+ if ((0, _platformFeatureFlags.fg)('smart_links_noun_support')) {
159
+ return extractFlexibleUiContextFromEntity(props);
160
+ }
161
+ return extractFlexibleUiContextFromJsonLd(props);
162
+ };
89
163
  var _default = exports.default = extractFlexibleUiContext;
@@ -21,6 +21,10 @@ var extractInlineIcon = function extractInlineIcon(jsonLd) {
21
21
  }
22
22
  return (0, _icon.extractIcon)(jsonLd, 'provider', showIconLabel);
23
23
  };
24
+
25
+ /**
26
+ * Should be moved to the smart link-extractor when jsonld is deprecated
27
+ */
24
28
  var extractSmartLinkInlineIcon = function extractSmartLinkInlineIcon(response) {
25
29
  var showLabel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
26
30
  if ((0, _linkExtractors.isEntityPresent)(response)) {
@@ -41,9 +45,9 @@ var extractInlineProps = exports.extractInlineProps = function extractInlineProp
41
45
  var jsonLd = response === null || response === void 0 ? void 0 : response.data;
42
46
  if ((0, _platformFeatureFlags.fg)('smart_links_noun_support')) {
43
47
  return {
44
- icon: extractSmartLinkInlineIcon(response, showLabel),
45
48
  link: (0, _linkExtractors.extractSmartLinkUrl)(response),
46
49
  title: (0, _linkExtractors.extractSmartLinkTitle)(response, removeTextHighlightingFromTitle),
50
+ icon: extractSmartLinkInlineIcon(response, showLabel),
47
51
  // As we migrate to support more nouns we can incorporate these fields
48
52
  lozenge: (0, _lozenge.extractLozenge)(jsonLd),
49
53
  titleTextColor: (0, _primitives.extractTitleTextColor)(jsonLd),
@@ -11,7 +11,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
11
11
  var context = exports.context = {
12
12
  componentName: 'smart-cards',
13
13
  packageName: "@atlaskit/smart-card",
14
- packageVersion: "36.9.0"
14
+ packageVersion: "36.10.0"
15
15
  };
16
16
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
17
17
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";