@atlaskit/smart-card 26.13.1 → 26.14.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 (66) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/cjs/constants.js +5 -0
  3. package/dist/cjs/extractors/flexible/index.js +5 -0
  4. package/dist/cjs/extractors/flexible/utils.js +23 -2
  5. package/dist/cjs/extractors/hover/extractMetadata.js +2 -1
  6. package/dist/cjs/messages.js +10 -0
  7. package/dist/cjs/version.json +1 -1
  8. package/dist/cjs/view/BlockCard/views/flexible/FlexibleResolvedView.js +21 -37
  9. package/dist/cjs/view/BlockCard/views/flexible/styled.js +15 -0
  10. package/dist/cjs/view/BlockCard/views/flexible/utils.js +116 -0
  11. package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +1 -1
  12. package/dist/cjs/view/FlexibleCard/components/elements/index.js +33 -4
  13. package/dist/cjs/view/FlexibleCard/components/elements/utils.js +20 -0
  14. package/dist/cjs/view/HoverCard/components/views/resolved/index.js +28 -12
  15. package/dist/cjs/view/HoverCard/utils.js +102 -3
  16. package/dist/es2019/constants.js +6 -0
  17. package/dist/es2019/extractors/flexible/index.js +7 -2
  18. package/dist/es2019/extractors/flexible/utils.js +18 -1
  19. package/dist/es2019/extractors/hover/extractMetadata.js +1 -1
  20. package/dist/es2019/messages.js +10 -0
  21. package/dist/es2019/version.json +1 -1
  22. package/dist/es2019/view/BlockCard/views/flexible/FlexibleResolvedView.js +24 -38
  23. package/dist/es2019/view/BlockCard/views/flexible/styled.js +14 -0
  24. package/dist/es2019/view/BlockCard/views/flexible/utils.js +108 -0
  25. package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +5 -0
  26. package/dist/es2019/view/FlexibleCard/components/elements/index.js +24 -0
  27. package/dist/es2019/view/FlexibleCard/components/elements/utils.js +25 -0
  28. package/dist/es2019/view/HoverCard/components/views/resolved/index.js +30 -14
  29. package/dist/es2019/view/HoverCard/utils.js +100 -1
  30. package/dist/esm/constants.js +6 -0
  31. package/dist/esm/extractors/flexible/index.js +7 -2
  32. package/dist/esm/extractors/flexible/utils.js +18 -1
  33. package/dist/esm/extractors/hover/extractMetadata.js +1 -1
  34. package/dist/esm/messages.js +10 -0
  35. package/dist/esm/version.json +1 -1
  36. package/dist/esm/view/BlockCard/views/flexible/FlexibleResolvedView.js +23 -38
  37. package/dist/esm/view/BlockCard/views/flexible/styled.js +7 -0
  38. package/dist/esm/view/BlockCard/views/flexible/utils.js +108 -0
  39. package/dist/esm/view/FlexibleCard/components/blocks/utils.js +1 -1
  40. package/dist/esm/view/FlexibleCard/components/elements/index.js +24 -0
  41. package/dist/esm/view/FlexibleCard/components/elements/utils.js +20 -0
  42. package/dist/esm/view/HoverCard/components/views/resolved/index.js +30 -14
  43. package/dist/esm/view/HoverCard/utils.js +98 -1
  44. package/dist/types/constants.d.ts +5 -0
  45. package/dist/types/extractors/flexible/utils.d.ts +5 -0
  46. package/dist/types/extractors/hover/extractMetadata.d.ts +2 -0
  47. package/dist/types/messages.d.ts +1 -1
  48. package/dist/types/state/flexible-ui-context/types.d.ts +25 -0
  49. package/dist/types/view/BlockCard/views/flexible/styled.d.ts +2 -0
  50. package/dist/types/view/BlockCard/views/flexible/utils.d.ts +10 -0
  51. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +35 -2
  52. package/dist/types/view/FlexibleCard/components/elements/index.d.ts +24 -0
  53. package/dist/types/view/HoverCard/utils.d.ts +1 -0
  54. package/dist/types-ts4.5/constants.d.ts +5 -0
  55. package/dist/types-ts4.5/extractors/flexible/utils.d.ts +5 -0
  56. package/dist/types-ts4.5/extractors/hover/extractMetadata.d.ts +2 -0
  57. package/dist/types-ts4.5/messages.d.ts +1 -1
  58. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +25 -0
  59. package/dist/types-ts4.5/view/BlockCard/views/flexible/styled.d.ts +2 -0
  60. package/dist/types-ts4.5/view/BlockCard/views/flexible/utils.d.ts +10 -0
  61. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +35 -2
  62. package/dist/types-ts4.5/view/FlexibleCard/components/elements/index.d.ts +24 -0
  63. package/dist/types-ts4.5/view/HoverCard/utils.d.ts +1 -0
  64. package/package.json +4 -1
  65. package/report.api.md +40 -0
  66. package/tmp/api-report-tmp.d.ts +36 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 26.14.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`d8799deba6e`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d8799deba6e) - Add new Flexui elements-OwnedByGroup, AssignedTogroup, AssignedTo, ReadTime & SubtasksProgress. Add provider specific logic for metadata display for Hover Cards & Block Cards.
8
+
3
9
  ## 26.13.1
4
10
 
5
11
  ### Patch Changes
@@ -108,6 +108,8 @@ var SmartLinkWidth = /*#__PURE__*/function (SmartLinkWidth) {
108
108
  */
109
109
  exports.SmartLinkWidth = SmartLinkWidth;
110
110
  var ElementName = /*#__PURE__*/function (ElementName) {
111
+ ElementName["AssignedTo"] = "AssignedTo";
112
+ ElementName["AssignedToGroup"] = "AssignedToGroup";
111
113
  ElementName["AttachmentCount"] = "AttachmentCount";
112
114
  ElementName["AuthorGroup"] = "AuthorGroup";
113
115
  ElementName["ChecklistProgress"] = "ChecklistProgress";
@@ -122,15 +124,18 @@ var ElementName = /*#__PURE__*/function (ElementName) {
122
124
  ElementName["ModifiedBy"] = "ModifiedBy";
123
125
  ElementName["ModifiedOn"] = "ModifiedOn";
124
126
  ElementName["OwnedBy"] = "OwnedBy";
127
+ ElementName["OwnedByGroup"] = "OwnedByGroup";
125
128
  ElementName["Preview"] = "Preview";
126
129
  ElementName["Priority"] = "Priority";
127
130
  ElementName["ProgrammingLanguage"] = "ProgrammingLanguage";
128
131
  ElementName["Provider"] = "Provider";
129
132
  ElementName["ReactCount"] = "ReactCount";
133
+ ElementName["ReadTime"] = "ReadTime";
130
134
  ElementName["Snippet"] = "Snippet";
131
135
  ElementName["SourceBranch"] = "SourceBranch";
132
136
  ElementName["State"] = "State";
133
137
  ElementName["SubscriberCount"] = "SubscriberCount";
138
+ ElementName["SubTasksProgress"] = "SubTasksProgress";
134
139
  ElementName["TargetBranch"] = "TargetBranch";
135
140
  ElementName["Title"] = "Title";
136
141
  ElementName["ViewCount"] = "ViewCount";
@@ -32,8 +32,10 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
32
32
  var url = (0, _linkExtractors.extractLink)(data);
33
33
  var showLozengeAction = (featureFlags === null || featureFlags === void 0 ? void 0 : featureFlags.useLozengeAction) === 'experiment';
34
34
  return {
35
+ assignedToGroup: (0, _utils.extractPersonAssignedToAsArray)(data),
35
36
  attachmentCount: (0, _utils.extractAttachmentCount)(data),
36
37
  authorGroup: (0, _linkExtractors.extractPersonCreatedBy)(data),
38
+ ownedByGroup: (0, _linkExtractors.extractPersonOwnedBy)(data),
37
39
  collaboratorGroup: (0, _collaboratorGroup.extractPersonsUpdatedBy)(data),
38
40
  commentCount: (0, _utils.extractCommentCount)(data),
39
41
  viewCount: (0, _utils.extractViewCount)(data),
@@ -42,6 +44,7 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
42
44
  checklistProgress: (0, _utils.extractChecklistProgress)(data),
43
45
  createdBy: (0, _utils.extractCreatedBy)(data),
44
46
  ownedBy: (0, _utils.extractOwnedBy)(data),
47
+ assignedTo: (0, _utils.extractAssignedTo)(data),
45
48
  createdOn: (0, _linkExtractors.extractDateCreated)(data),
46
49
  dueOn: (0, _utils.extractDueOn)(data),
47
50
  previewAction: (0, _extractPreviewAction.extractPreviewAction)(response),
@@ -56,11 +59,13 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
56
59
  priority: (0, _extractPriority.default)(data),
57
60
  provider: (0, _extractProviderIcon.default)(data),
58
61
  programmingLanguage: (0, _utils.extractProgrammingLanguage)(data),
62
+ readTime: (0, _utils.extractReadTime)(data),
59
63
  snippet: (0, _primitives.extractSummary)(data) || undefined,
60
64
  // Explicitly set here to remove an empty string
61
65
  sourceBranch: (0, _utils.extractSourceBranch)(data),
62
66
  state: (0, _extractState.default)(response, showServerActions || showLozengeAction, id),
63
67
  subscriberCount: (0, _utils.extractSubscriberCount)(data),
68
+ subTasksProgress: (0, _utils.extractSubTasksProgress)(data),
64
69
  targetBranch: (0, _utils.extractTargetBranch)(data),
65
70
  title: (0, _linkExtractors.extractTitle)(data) || url,
66
71
  url: url
@@ -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.extractVoteCount = exports.extractViewCount = exports.extractTargetBranch = exports.extractSubscriberCount = exports.extractSourceBranch = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractOwnedBy = exports.extractModifiedBy = exports.extractLocation = exports.extractDueOn = exports.extractCreatedBy = exports.extractCommentCount = exports.extractChecklistProgress = exports.extractAttachmentCount = void 0;
7
+ exports.extractVoteCount = exports.extractViewCount = exports.extractTargetBranch = exports.extractSubscriberCount = exports.extractSubTasksProgress = exports.extractSourceBranch = exports.extractReadTime = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractPersonAssignedToAsArray = exports.extractOwnedBy = exports.extractModifiedBy = exports.extractLocation = exports.extractDueOn = exports.extractCreatedBy = exports.extractCommentCount = exports.extractChecklistProgress = exports.extractAttachmentCount = exports.extractAssignedTo = void 0;
8
8
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
9
  var _linkExtractors = require("@atlaskit/link-extractors");
10
10
  var extractLinkName = function extractLinkName(link) {
@@ -42,6 +42,18 @@ var extractOwnedBy = function extractOwnedBy(data) {
42
42
  }
43
43
  };
44
44
  exports.extractOwnedBy = extractOwnedBy;
45
+ var extractAssignedTo = function extractAssignedTo(data) {
46
+ var person = (0, _linkExtractors.extractPersonAssignedTo)(data);
47
+ if (person) {
48
+ return person.name;
49
+ }
50
+ };
51
+ exports.extractAssignedTo = extractAssignedTo;
52
+ var extractPersonAssignedToAsArray = function extractPersonAssignedToAsArray(data) {
53
+ var person = (0, _linkExtractors.extractPersonAssignedTo)(data);
54
+ return person ? [person] : undefined;
55
+ };
56
+ exports.extractPersonAssignedToAsArray = extractPersonAssignedToAsArray;
45
57
  var extractCreatedBy = function extractCreatedBy(data) {
46
58
  var persons = (0, _linkExtractors.extractPersonCreatedBy)(data);
47
59
  if (persons && persons.length) {
@@ -92,4 +104,13 @@ var extractLocation = function extractLocation(data) {
92
104
  };
93
105
  }
94
106
  };
95
- exports.extractLocation = extractLocation;
107
+ exports.extractLocation = extractLocation;
108
+ var extractSubTasksProgress = function extractSubTasksProgress(data) {
109
+ var subTasksObject = extractValue(data, 'atlassian:subTasks');
110
+ return subTasksObject && subTasksObject.totalCount ? "".concat(subTasksObject.resolvedCount, "/").concat(subTasksObject.totalCount) : undefined;
111
+ };
112
+ exports.extractSubTasksProgress = extractSubTasksProgress;
113
+ var extractReadTime = function extractReadTime(data) {
114
+ return extractValue(data, 'atlassian:readTimeInMinutes');
115
+ };
116
+ exports.extractReadTime = extractReadTime;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.extractMetadata = void 0;
6
+ exports.extractMetadata = exports.elementNamesToItems = void 0;
7
7
  var _constants = require("../../constants");
8
8
  var elementNamesToItems = function elementNamesToItems(elementNames) {
9
9
  return elementNames.filter(function (element) {
@@ -15,6 +15,7 @@ var elementNamesToItems = function elementNamesToItems(elementNames) {
15
15
  };
16
16
  });
17
17
  };
18
+ exports.elementNamesToItems = elementNamesToItems;
18
19
  var extractMetadata = function extractMetadata(jsonLd) {
19
20
  var _jsonLd$metadata, _metadata$primary, _metadata$secondary, _metadata$subtitle;
20
21
  var metadata = (_jsonLd$metadata = jsonLd.metadata) !== null && _jsonLd$metadata !== void 0 ? _jsonLd$metadata : [];
@@ -16,6 +16,11 @@ var messages = (0, _reactIntlNext.defineMessages)({
16
16
  defaultMessage: 'Add account',
17
17
  description: 'Allows to add a new account'
18
18
  },
19
+ assigned_to: {
20
+ id: 'fabric.linking.assigned_to',
21
+ defaultMessage: 'Assigned to {context}',
22
+ description: 'Indicates the person or entity that the resource is assigned to.'
23
+ },
19
24
  cancel: {
20
25
  id: 'fabric.linking.cancel',
21
26
  defaultMessage: 'Cancel',
@@ -312,6 +317,11 @@ var messages = (0, _reactIntlNext.defineMessages)({
312
317
  defaultMessage: 'Your access request is pending',
313
318
  description: 'Shown when a user has requested an access but status is pending.'
314
319
  },
320
+ read_time: {
321
+ id: 'fabric.linking.read_time',
322
+ defaultMessage: '{context} min read',
323
+ description: 'Estimated time to read this resource'
324
+ },
315
325
  restricted_link: {
316
326
  id: 'fabric.linking.restricted_link',
317
327
  defaultMessage: 'Restricted link, try another account',
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.13.1",
3
+ "version": "26.14.0",
4
4
  "sideEffects": false
5
5
  }
@@ -6,14 +6,17 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
11
  var _react = _interopRequireWildcard(require("react"));
11
12
  var _FlexibleCard = _interopRequireDefault(require("../../../FlexibleCard"));
12
13
  var _titleBlock = _interopRequireDefault(require("../../../FlexibleCard/components/blocks/title-block"));
13
14
  var _blocks = require("../../../FlexibleCard/components/blocks");
15
+ var _styled = require("./styled");
14
16
  var _constants = require("../../../../constants");
15
17
  var _uuid = _interopRequireDefault(require("uuid"));
16
- var _utils = require("../../../../extractors/flexible/utils");
18
+ var _utils = require("./utils");
19
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
22
  /**
@@ -22,7 +25,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
22
25
  * @see FlexibleCardProps
23
26
  */
24
27
  var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
25
- var _cardState$details, _cardState$details2;
26
28
  var id = _ref.id,
27
29
  cardState = _ref.cardState,
28
30
  onClick = _ref.onClick,
@@ -47,30 +49,10 @@ var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
47
49
  }),
48
50
  _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
49
51
  analyticsId = _useState4[0];
50
- var baseMetadata = [{
51
- name: _constants.ElementName.ModifiedOn
52
- }, {
53
- name: _constants.ElementName.AttachmentCount
54
- }, {
55
- name: _constants.ElementName.CommentCount
56
- }, {
57
- name: _constants.ElementName.ReactCount
58
- }, {
59
- name: _constants.ElementName.SubscriberCount
60
- }, {
61
- name: _constants.ElementName.ViewCount
62
- }, {
63
- name: _constants.ElementName.VoteCount
64
- }, {
65
- name: _constants.ElementName.ChecklistProgress
66
- }, {
67
- name: _constants.ElementName.DueOn
68
- }];
69
- var metadata = cardState !== null && cardState !== void 0 && (_cardState$details = cardState.details) !== null && _cardState$details !== void 0 && _cardState$details.data && (0, _utils.extractOwnedBy)(cardState === null || cardState === void 0 ? void 0 : (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.data) ? [{
70
- name: _constants.ElementName.OwnedBy
71
- }].concat(baseMetadata) : [{
72
- name: _constants.ElementName.ModifiedBy
73
- }].concat(baseMetadata);
52
+ var _ref2 = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-better-metadata_iojwg') ? (0, _utils.getSimulatedBetterMetadata)(cardState.details) : (0, _utils.getSimulatedMetadata)(cardState.details),
53
+ titleMetadata = _ref2.titleMetadata,
54
+ topMetadata = _ref2.topMetadata,
55
+ bottomMetadata = _ref2.bottomMetadata;
74
56
  return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
75
57
  analytics: analytics,
76
58
  appearance: "block",
@@ -82,25 +64,27 @@ var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
82
64
  testId: testId,
83
65
  ui: ui,
84
66
  url: url
85
- }, /*#__PURE__*/_react.default.createElement(_titleBlock.default, {
67
+ }, /*#__PURE__*/_react.default.createElement(_titleBlock.default, (0, _extends2.default)({
86
68
  position: _constants.SmartLinkPosition.Center,
87
- metadata: [{
88
- name: _constants.ElementName.AuthorGroup
89
- }, {
90
- name: _constants.ElementName.Priority
91
- }, {
92
- name: _constants.ElementName.State
93
- }],
69
+ metadata: titleMetadata,
94
70
  hideRetry: true,
95
71
  subtitle: [{
96
72
  name: _constants.ElementName.Location
97
73
  }],
98
74
  metadataPosition: _constants.SmartLinkPosition.Top,
99
75
  anchorTarget: anchorTarget
100
- }), /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
101
- primary: metadata,
76
+ }, (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-better-metadata_iojwg') && {
77
+ overrideCss: _styled.titleBlockCss,
78
+ size: _constants.SmartLinkSize.Large
79
+ })), /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, (0, _extends2.default)({
80
+ primary: topMetadata,
81
+ maxLines: 1
82
+ }, (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-better-metadata_iojwg') && {
83
+ overrideCss: _styled.metadataBlockCss
84
+ })), /*#__PURE__*/_react.default.createElement(_blocks.SnippetBlock, null), (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-better-metadata_iojwg') && /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
85
+ primary: bottomMetadata,
102
86
  maxLines: 1
103
- }), /*#__PURE__*/_react.default.createElement(_blocks.SnippetBlock, null), !isPreviewBlockErrored ? /*#__PURE__*/_react.default.createElement(_blocks.PreviewBlock, {
87
+ }), !isPreviewBlockErrored ? /*#__PURE__*/_react.default.createElement(_blocks.PreviewBlock, {
104
88
  placement: _constants.MediaPlacement.Right,
105
89
  ignoreContainerPadding: true,
106
90
  onError: function onError() {
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.titleBlockCss = exports.metadataBlockCss = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _templateObject, _templateObject2;
11
+ // in editor prosemirror adds padding-left so we need to overwrite it
12
+ var metadataBlockCss = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n /* primary element group */\n [data-smart-element-avatar-group] {\n > ul {\n padding-left: 0px;\n }\n }\n"])));
13
+ exports.metadataBlockCss = metadataBlockCss;
14
+ var titleBlockCss = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n gap: 0.5em;\n"])));
15
+ exports.titleBlockCss = titleBlockCss;
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getSimulatedMetadata = exports.getSimulatedBetterMetadata = void 0;
7
+ var _constants = require("../../../../constants");
8
+ var _utils = require("../../../../extractors/flexible/utils");
9
+ var _helpers = require("../../../../state/helpers");
10
+ var baseTopMetadata = [{
11
+ name: _constants.ElementName.ModifiedOn
12
+ }, {
13
+ name: _constants.ElementName.AttachmentCount
14
+ }, {
15
+ name: _constants.ElementName.SubscriberCount
16
+ }, {
17
+ name: _constants.ElementName.VoteCount
18
+ }, {
19
+ name: _constants.ElementName.DueOn
20
+ }, {
21
+ name: _constants.ElementName.ReadTime
22
+ }];
23
+ var baseBottomMetaData = [{
24
+ name: _constants.ElementName.ReactCount
25
+ }, {
26
+ name: _constants.ElementName.CommentCount
27
+ }, {
28
+ name: _constants.ElementName.ViewCount
29
+ }, {
30
+ name: _constants.ElementName.Priority
31
+ }, {
32
+ name: _constants.ElementName.SubTasksProgress
33
+ }, {
34
+ name: _constants.ElementName.ChecklistProgress
35
+ }];
36
+ var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(cardDetails) {
37
+ var _getExtensionKey;
38
+ var extensionKey = (_getExtensionKey = (0, _helpers.getExtensionKey)(cardDetails)) !== null && _getExtensionKey !== void 0 ? _getExtensionKey : '';
39
+ var data = cardDetails === null || cardDetails === void 0 ? void 0 : cardDetails.data;
40
+ var defaultTitleMetadata = [{
41
+ name: _constants.ElementName.State
42
+ }];
43
+ var defaultTopMetadata = [{
44
+ name: _constants.ElementName.AuthorGroup
45
+ }, {
46
+ name: _constants.ElementName.CreatedBy
47
+ }].concat(baseTopMetadata);
48
+ var defaultBottomMetadata = baseBottomMetaData;
49
+ switch (extensionKey) {
50
+ case 'confluence-object-provider':
51
+ return {
52
+ titleMetadata: defaultTitleMetadata,
53
+ topMetadata: (0, _utils.extractOwnedBy)(data) ? [{
54
+ name: _constants.ElementName.OwnedByGroup
55
+ }, {
56
+ name: _constants.ElementName.OwnedBy
57
+ }].concat(baseTopMetadata) : defaultTopMetadata,
58
+ bottomMetadata: defaultBottomMetadata
59
+ };
60
+ case 'jira-object-provider':
61
+ return {
62
+ titleMetadata: defaultTitleMetadata,
63
+ topMetadata: (0, _utils.extractAssignedTo)(data) ? [{
64
+ name: _constants.ElementName.AssignedToGroup
65
+ }, {
66
+ name: _constants.ElementName.AssignedTo
67
+ }].concat(baseTopMetadata) : defaultTopMetadata,
68
+ bottomMetadata: defaultBottomMetadata
69
+ };
70
+ default:
71
+ return {
72
+ titleMetadata: defaultTitleMetadata,
73
+ topMetadata: defaultTopMetadata,
74
+ bottomMetadata: defaultBottomMetadata
75
+ };
76
+ }
77
+ };
78
+ exports.getSimulatedBetterMetadata = getSimulatedBetterMetadata;
79
+ var getSimulatedMetadata = function getSimulatedMetadata(cardDetails) {
80
+ var baseMetadata = [{
81
+ name: _constants.ElementName.ModifiedOn
82
+ }, {
83
+ name: _constants.ElementName.AttachmentCount
84
+ }, {
85
+ name: _constants.ElementName.CommentCount
86
+ }, {
87
+ name: _constants.ElementName.ReactCount
88
+ }, {
89
+ name: _constants.ElementName.SubscriberCount
90
+ }, {
91
+ name: _constants.ElementName.ViewCount
92
+ }, {
93
+ name: _constants.ElementName.VoteCount
94
+ }, {
95
+ name: _constants.ElementName.ChecklistProgress
96
+ }, {
97
+ name: _constants.ElementName.DueOn
98
+ }];
99
+ var topMetadata = cardDetails !== null && cardDetails !== void 0 && cardDetails.data && (0, _utils.extractOwnedBy)(cardDetails === null || cardDetails === void 0 ? void 0 : cardDetails.data) ? [{
100
+ name: _constants.ElementName.OwnedBy
101
+ }].concat(baseMetadata) : [{
102
+ name: _constants.ElementName.ModifiedBy
103
+ }].concat(baseMetadata);
104
+ var titleMetadata = [{
105
+ name: _constants.ElementName.AuthorGroup
106
+ }, {
107
+ name: _constants.ElementName.Priority
108
+ }, {
109
+ name: _constants.ElementName.State
110
+ }];
111
+ return {
112
+ titleMetadata: titleMetadata,
113
+ topMetadata: topMetadata
114
+ };
115
+ };
116
+ exports.getSimulatedMetadata = getSimulatedMetadata;
@@ -24,7 +24,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
  // Determine whether the element can be display as inline/block.
26
26
 
27
- var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AttachmentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ChecklistProgress, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.DueOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LatestCommit, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LinkIcon, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Location, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.OwnedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Preview, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Priority, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ProgrammingLanguage, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Provider, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ReactCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Snippet, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SourceBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.State, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SubscriberCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.TargetBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Title, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ViewCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.VoteCount, ['inline']), _ElementDisplaySchema);
27
+ var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AssignedTo, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AssignedToGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AttachmentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ChecklistProgress, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.DueOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LatestCommit, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LinkIcon, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Location, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.OwnedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.OwnedByGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Preview, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Priority, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ProgrammingLanguage, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Provider, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ReactCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ReadTime, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Snippet, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SourceBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.State, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SubscriberCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SubTasksProgress, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.TargetBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Title, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ViewCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.VoteCount, ['inline']), _ElementDisplaySchema);
28
28
  exports.ElementDisplaySchema = ElementDisplaySchema;
29
29
  var getDirectionStyles = function getDirectionStyles(direction) {
30
30
  switch (direction) {
@@ -3,16 +3,28 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VoteCount = exports.ViewCount = exports.Title = exports.TargetBranch = exports.SubscriberCount = exports.State = exports.SourceBranch = exports.Snippet = exports.ReactCount = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.Preview = exports.OwnedBy = exports.ModifiedOn = exports.ModifiedBy = exports.Location = exports.LinkIcon = exports.LatestCommit = exports.DueOn = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.ChecklistProgress = exports.AuthorGroup = exports.AttachmentCount = void 0;
6
+ exports.VoteCount = exports.ViewCount = exports.Title = exports.TargetBranch = exports.SubscriberCount = exports.SubTasksProgress = exports.State = exports.SourceBranch = exports.Snippet = exports.ReadTime = exports.ReactCount = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.Preview = exports.OwnedByGroup = exports.OwnedBy = exports.ModifiedOn = exports.ModifiedBy = exports.Location = exports.LinkIcon = exports.LatestCommit = exports.DueOn = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.ChecklistProgress = exports.AuthorGroup = exports.AttachmentCount = exports.AssignedToGroup = exports.AssignedTo = void 0;
7
7
  var _utils = require("./utils");
8
8
  var _constants = require("../../../../constants");
9
9
  // Attention: Keep the export name and element name the same.
10
10
  // This will help reducing the code for mapping elements inside
11
11
  // createElement and renderElementItems
12
+ /**
13
+ * Creates a AssignedTo text element using the data from AssignedTo in the Flexible UI Context.
14
+ * @see Text
15
+ */
16
+ var AssignedTo = (0, _utils.createElement)(_constants.ElementName.AssignedTo);
17
+ /**
18
+ * An AvatarGroup element using the data from AssignedToGroup in the Flexible UI Context.
19
+ * @see AvatarGroup
20
+ */
21
+ exports.AssignedTo = AssignedTo;
22
+ var AssignedToGroup = (0, _utils.createElement)(_constants.ElementName.AssignedToGroup);
12
23
  /**
13
24
  * Creates a AttachmentCount Badge element using the data from AttachmentCount in the Flexible UI Context.
14
25
  * @see Badge
15
26
  */
27
+ exports.AssignedToGroup = AssignedToGroup;
16
28
  var AttachmentCount = (0, _utils.createElement)(_constants.ElementName.AttachmentCount);
17
29
  /**
18
30
  * An AvatarGroup element using the data from AuthorGroup in the Flexible UI Context.
@@ -92,11 +104,17 @@ var ModifiedOn = (0, _utils.createElement)(_constants.ElementName.ModifiedOn);
92
104
  */
93
105
  exports.ModifiedOn = ModifiedOn;
94
106
  var OwnedBy = (0, _utils.createElement)(_constants.ElementName.OwnedBy);
107
+ /**
108
+ * An AvatarGroup element using the data from OwnedByGroup in the Flexible UI Context.
109
+ * @see AvatarGroup
110
+ */
111
+ exports.OwnedBy = OwnedBy;
112
+ var OwnedByGroup = (0, _utils.createElement)(_constants.ElementName.OwnedByGroup);
95
113
  /**
96
114
  * Creates a Preview element using the data from Preview in the Flexible UI Context.
97
115
  * @see Preview
98
116
  */
99
- exports.OwnedBy = OwnedBy;
117
+ exports.OwnedByGroup = OwnedByGroup;
100
118
  var Preview = (0, _utils.createElement)(_constants.ElementName.Preview);
101
119
  /**
102
120
  * Creates a Priority Badge element using the data from Priority in the Flexible UI Context.
@@ -122,11 +140,16 @@ var Provider = (0, _utils.createElement)(_constants.ElementName.Provider);
122
140
  */
123
141
  exports.Provider = Provider;
124
142
  var ReactCount = (0, _utils.createElement)(_constants.ElementName.ReactCount);
143
+ /**
144
+ * Creates a ReadTime Text element using the data from readTime in the Flexible UI Context
145
+ */
146
+ exports.ReactCount = ReactCount;
147
+ var ReadTime = (0, _utils.createElement)(_constants.ElementName.ReadTime);
125
148
  /**
126
149
  * Creates a Snippet element using the data from Snippet in the Flexible UI Context.
127
150
  * @see Text
128
151
  */
129
- exports.ReactCount = ReactCount;
152
+ exports.ReadTime = ReadTime;
130
153
  var Snippet = (0, _utils.createElement)(_constants.ElementName.Snippet);
131
154
  /**
132
155
  * Creates a SourceBranch Text element using the data from sourceBranch in the Flexible UI Context.
@@ -146,11 +169,17 @@ var State = (0, _utils.createElement)(_constants.ElementName.State);
146
169
  */
147
170
  exports.State = State;
148
171
  var SubscriberCount = (0, _utils.createElement)(_constants.ElementName.SubscriberCount);
172
+ /**
173
+ * Create a SubTasks Badge element using the data from subTasks in the Flexible UI Context.
174
+ * @see Badge
175
+ */
176
+ exports.SubscriberCount = SubscriberCount;
177
+ var SubTasksProgress = (0, _utils.createElement)(_constants.ElementName.SubTasksProgress);
149
178
  /**
150
179
  * Creates a TargetBranch Text element using the data from targetBranch in the Flexible UI Context.
151
180
  * @see Text
152
181
  */
153
- exports.SubscriberCount = SubscriberCount;
182
+ exports.SubTasksProgress = SubTasksProgress;
154
183
  var TargetBranch = (0, _utils.createElement)(_constants.ElementName.TargetBranch);
155
184
  /**
156
185
  * Creates a Title Link element using the data from Title in the Flexible UI Context.
@@ -67,6 +67,12 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
67
67
  component: _text.default
68
68
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.OwnedBy, {
69
69
  component: _text.default
70
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.AssignedTo, {
71
+ component: _text.default
72
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.AssignedToGroup, {
73
+ component: _avatarGroup.default
74
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.OwnedByGroup, {
75
+ component: _avatarGroup.default
70
76
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedOn, {
71
77
  component: _dateTime.default
72
78
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.DueOn, {
@@ -93,6 +99,8 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
93
99
  }
94
100
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Provider, {
95
101
  component: _badge.default
102
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.ReadTime, {
103
+ component: _text.default
96
104
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Snippet, {
97
105
  component: _text.default,
98
106
  props: {
@@ -108,6 +116,11 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
108
116
  props: {
109
117
  icon: _constants.IconType.Subscriber
110
118
  }
119
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.SubTasksProgress, {
120
+ component: _badge.default,
121
+ props: {
122
+ icon: _constants.IconType.CheckItem
123
+ }
111
124
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.TargetBranch, {
112
125
  component: _text.default
113
126
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Title, {
@@ -130,7 +143,9 @@ var getData = function getData(elementName, contextKey, context) {
130
143
  var data = context[contextKey];
131
144
  switch (elementName) {
132
145
  case _constants.ElementName.AuthorGroup:
146
+ case _constants.ElementName.AssignedToGroup:
133
147
  case _constants.ElementName.CollaboratorGroup:
148
+ case _constants.ElementName.OwnedByGroup:
134
149
  return toAvatarGroupProps(data);
135
150
  case _constants.ElementName.AttachmentCount:
136
151
  case _constants.ElementName.ChecklistProgress:
@@ -141,9 +156,12 @@ var getData = function getData(elementName, contextKey, context) {
141
156
  case _constants.ElementName.ProgrammingLanguage:
142
157
  case _constants.ElementName.SubscriberCount:
143
158
  case _constants.ElementName.LatestCommit:
159
+ case _constants.ElementName.SubTasksProgress:
144
160
  return toBadgeProps(data);
145
161
  case _constants.ElementName.CreatedBy:
146
162
  return toFormattedTextProps(_messages.messages.created_by, context.createdBy);
163
+ case _constants.ElementName.AssignedTo:
164
+ return toFormattedTextProps(_messages.messages.assigned_to, context.assignedTo);
147
165
  case _constants.ElementName.OwnedBy:
148
166
  return toFormattedTextProps(_messages.messages.owned_by, context.ownedBy);
149
167
  case _constants.ElementName.CreatedOn:
@@ -154,6 +172,8 @@ var getData = function getData(elementName, contextKey, context) {
154
172
  return toFormattedTextProps(_messages.messages.modified_by, context.modifiedBy);
155
173
  case _constants.ElementName.ModifiedOn:
156
174
  return toDateTimeProps('modified', context.modifiedOn);
175
+ case _constants.ElementName.ReadTime:
176
+ return toFormattedTextProps(_messages.messages.read_time, data);
157
177
  case _constants.ElementName.Snippet:
158
178
  case _constants.ElementName.SourceBranch:
159
179
  case _constants.ElementName.TargetBranch:
@@ -19,6 +19,7 @@ var _SnippetOrPreview = _interopRequireDefault(require("../../SnippetOrPreview")
19
19
  var _extractMetadata = require("../../../../../extractors/hover/extractMetadata");
20
20
  var _messages = require("../../../../../messages");
21
21
  var _reactIntlNext = require("react-intl-next");
22
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
22
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
25
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
@@ -83,16 +84,24 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref) {
83
84
  }, [cardActions, onActionClick, enableImprovedPreviewAction]);
84
85
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
85
86
  var _useMemo = (0, _react.useMemo)(function () {
86
- //TODO: EDM-3224 deleted simulated and use real JsonLd
87
+ if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-better-metadata_iojwg')) {
88
+ var betterMetadata = (0, _utils.getSimulatedBetterMetadata)(extensionKey, data);
89
+ return {
90
+ topPrimary: (0, _extractMetadata.elementNamesToItems)(betterMetadata.topMetadataBlock.primary),
91
+ topSecondary: (0, _extractMetadata.elementNamesToItems)(betterMetadata.topMetadataBlock.secondary),
92
+ bottomPrimary: (0, _extractMetadata.elementNamesToItems)(betterMetadata.bottomMetadataBlock.primary)
93
+ };
94
+ }
87
95
  var metadata = (0, _extractMetadata.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey, data));
88
96
  return {
89
- primary: metadata.primary,
90
- secondary: metadata.secondary,
91
- subtitle: metadata.subtitle
97
+ topPrimary: metadata.primary,
98
+ topSecondary: metadata.secondary,
99
+ bottomPrimary: []
92
100
  };
93
101
  }, [data, extensionKey]),
94
- primary = _useMemo.primary,
95
- secondary = _useMemo.secondary;
102
+ topPrimary = _useMemo.topPrimary,
103
+ topSecondary = _useMemo.topSecondary,
104
+ bottomPrimary = _useMemo.bottomPrimary;
96
105
  var snippetHeight = _react.default.useRef(0);
97
106
  var snippetBlockRef = (0, _react.useRef)(null);
98
107
  var onSnippetRender = (0, _react.useCallback)(function () {
@@ -105,17 +114,24 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref) {
105
114
  });
106
115
  return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, flexibleCardProps, /*#__PURE__*/_react.default.createElement(_blocks.TitleBlock, (0, _extends2.default)({}, titleBlockProps, {
107
116
  metadataPosition: _constants.SmartLinkPosition.Top
108
- })), /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
109
- primary: primary,
110
- secondary: secondary,
111
- size: _constants.SmartLinkSize.Large,
117
+ })), /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, (0, _extends2.default)({
118
+ primary: topPrimary,
119
+ secondary: topSecondary,
112
120
  overrideCss: _styled.metadataBlockCss,
113
- maxLines: 1
114
- }), body, /*#__PURE__*/_react.default.createElement(_blocks.SnippetBlock, {
121
+ maxLines: 1,
122
+ size: _constants.SmartLinkSize.Large
123
+ }, (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-better-metadata_iojwg') && {
124
+ size: _constants.SmartLinkSize.Medium
125
+ })), body, /*#__PURE__*/_react.default.createElement(_blocks.SnippetBlock, {
115
126
  testId: 'hidden-snippet',
116
127
  onRender: onSnippetRender,
117
128
  blockRef: snippetBlockRef,
118
129
  overrideCss: _styled.hiddenSnippetStyles
130
+ }), (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-better-metadata_iojwg') && /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
131
+ primary: bottomPrimary,
132
+ size: _constants.SmartLinkSize.Large,
133
+ overrideCss: _styled.metadataBlockCss,
134
+ maxLines: 1
119
135
  }), /*#__PURE__*/_react.default.createElement(_blocks.FooterBlock, {
120
136
  actions: footerActions,
121
137
  size: _constants.SmartLinkSize.Large,