@atlaskit/smart-card 19.1.28 → 19.1.31

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 (99) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/constants.js +4 -1
  3. package/dist/cjs/extractors/common/icon/extractIcon.js +7 -0
  4. package/dist/cjs/extractors/common/icon/priority.js +1 -0
  5. package/dist/cjs/extractors/common/lozenge/extractLozenge.js +7 -1
  6. package/dist/cjs/extractors/common/lozenge/extractState.js +2 -2
  7. package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +6 -0
  8. package/dist/cjs/extractors/flexible/index.js +5 -2
  9. package/dist/cjs/extractors/flexible/utils.js +30 -2
  10. package/dist/cjs/extractors/hover/extractMetadata.js +3 -2
  11. package/dist/cjs/version.json +1 -1
  12. package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +1 -1
  13. package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +1 -1
  14. package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
  15. package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +2 -0
  16. package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +2 -0
  17. package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +2 -0
  18. package/dist/cjs/view/FlexibleCard/components/elements/index.js +25 -4
  19. package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +2 -0
  20. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
  21. package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +3 -1
  22. package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +2 -0
  23. package/dist/cjs/view/FlexibleCard/components/elements/utils.js +42 -12
  24. package/dist/cjs/view/HoverCard/components/hover-card-content.js +12 -5
  25. package/dist/cjs/view/HoverCard/index.js +1 -1
  26. package/dist/cjs/view/HoverCard/styled.js +8 -5
  27. package/dist/cjs/view/HoverCard/utils.js +46 -3
  28. package/dist/es2019/constants.js +4 -1
  29. package/dist/es2019/extractors/common/icon/extractIcon.js +6 -0
  30. package/dist/es2019/extractors/common/icon/priority.js +1 -0
  31. package/dist/es2019/extractors/common/lozenge/extractLozenge.js +4 -0
  32. package/dist/es2019/extractors/common/lozenge/extractState.js +2 -2
  33. package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +6 -0
  34. package/dist/es2019/extractors/flexible/index.js +6 -3
  35. package/dist/es2019/extractors/flexible/utils.js +10 -1
  36. package/dist/es2019/extractors/hover/extractMetadata.js +3 -2
  37. package/dist/es2019/version.json +1 -1
  38. package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +11 -1
  39. package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +6 -3
  40. package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
  41. package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +2 -0
  42. package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +2 -0
  43. package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +2 -0
  44. package/dist/es2019/view/FlexibleCard/components/elements/index.js +18 -0
  45. package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +2 -0
  46. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
  47. package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +2 -0
  48. package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +2 -0
  49. package/dist/es2019/view/FlexibleCard/components/elements/utils.js +48 -16
  50. package/dist/es2019/view/HoverCard/components/hover-card-content.js +11 -5
  51. package/dist/es2019/view/HoverCard/index.js +1 -1
  52. package/dist/es2019/view/HoverCard/styled.js +31 -5
  53. package/dist/es2019/view/HoverCard/utils.js +46 -4
  54. package/dist/esm/constants.js +4 -1
  55. package/dist/esm/extractors/common/icon/extractIcon.js +6 -0
  56. package/dist/esm/extractors/common/icon/priority.js +1 -0
  57. package/dist/esm/extractors/common/lozenge/extractLozenge.js +7 -1
  58. package/dist/esm/extractors/common/lozenge/extractState.js +2 -2
  59. package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +6 -0
  60. package/dist/esm/extractors/flexible/index.js +6 -3
  61. package/dist/esm/extractors/flexible/utils.js +16 -0
  62. package/dist/esm/extractors/hover/extractMetadata.js +3 -2
  63. package/dist/esm/state/actions/index.js +1 -1
  64. package/dist/esm/state/hooks/usePrefetch.js +1 -1
  65. package/dist/esm/utils/mocks.js +1 -1
  66. package/dist/esm/version.json +1 -1
  67. package/dist/esm/view/BlockCard/actions/DownloadAction.js +1 -1
  68. package/dist/esm/view/BlockCard/actions/PreviewAction.js +1 -1
  69. package/dist/esm/view/BlockCard/actions/RetryAction.js +1 -1
  70. package/dist/esm/view/BlockCard/actions/ViewAction.js +1 -1
  71. package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +2 -2
  72. package/dist/esm/view/FlexibleCard/components/blocks/utils.js +1 -1
  73. package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
  74. package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +2 -0
  75. package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +2 -0
  76. package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +2 -0
  77. package/dist/esm/view/FlexibleCard/components/elements/index.js +18 -0
  78. package/dist/esm/view/FlexibleCard/components/elements/link/index.js +2 -0
  79. package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
  80. package/dist/esm/view/FlexibleCard/components/elements/media/index.js +3 -1
  81. package/dist/esm/view/FlexibleCard/components/elements/text/index.js +2 -0
  82. package/dist/esm/view/FlexibleCard/components/elements/utils.js +41 -12
  83. package/dist/esm/view/HoverCard/components/hover-card-content.js +11 -5
  84. package/dist/esm/view/HoverCard/index.js +1 -1
  85. package/dist/esm/view/HoverCard/styled.js +8 -5
  86. package/dist/esm/view/HoverCard/utils.js +46 -3
  87. package/dist/types/constants.d.ts +4 -1
  88. package/dist/types/extractors/common/__mocks__/jsonld.d.ts +11 -6
  89. package/dist/types/extractors/common/lozenge/extractState.d.ts +1 -1
  90. package/dist/types/extractors/flexible/utils.d.ts +3 -0
  91. package/dist/types/state/flexible-ui-context/types.d.ts +29 -10
  92. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +22 -1
  93. package/dist/types/view/FlexibleCard/components/elements/index.d.ts +15 -0
  94. package/dist/types/view/FlexibleCard/components/elements/lozenge/types.d.ts +2 -1
  95. package/dist/types/view/FlexibleCard/components/elements/types.d.ts +7 -1
  96. package/dist/types/view/HoverCard/types.d.ts +1 -0
  97. package/dist/types/view/HoverCard/utils.d.ts +1 -1
  98. package/package.json +2 -2
  99. package/report.api.md +6 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 19.1.31
4
+
5
+ ### Patch Changes
6
+
7
+ - [`34d17437062`](https://bitbucket.org/atlassian/atlassian-frontend/commits/34d17437062) - Flexible UI: Add DueOn element
8
+ Hover Preview: Update Atlas metadata
9
+
10
+ ## 19.1.30
11
+
12
+ ### Patch Changes
13
+
14
+ - [`3a2bc5af606`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3a2bc5af606) - Flexible UI: Add pull request source and target branch element (text)
15
+ Hover Preview: Update Bitbucket metadata for pull request link
16
+
17
+ ## 19.1.29
18
+
19
+ ### Patch Changes
20
+
21
+ - [`acfb4cbb01f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/acfb4cbb01f) - set hover card z-index to 511 to go over issue view modal
22
+
3
23
  ## 19.1.28
4
24
 
5
25
  ### Patch Changes
@@ -102,7 +102,7 @@ var SmartLinkWidth;
102
102
  * When adding an element...
103
103
  * 1) Create base element if it doesn't already exist.
104
104
  * Base element are inside src/view/FlexibleCard/components/elements.
105
- * E.g. Badge,DateTime, Icon, Lozenge, etc.
105
+ * E.g. Badge, DateTime, Icon, Lozenge, etc.
106
106
  * 2) Update FlexibleUiContext with the new prop for data representing
107
107
  * the element, preferably with the same name as the element itself.
108
108
  * (src/state/flexible-ui-context/types.ts)
@@ -134,6 +134,7 @@ exports.ElementName = ElementName;
134
134
  ElementName["CommentCount"] = "CommentCount";
135
135
  ElementName["CreatedBy"] = "CreatedBy";
136
136
  ElementName["CreatedOn"] = "CreatedOn";
137
+ ElementName["DueOn"] = "DueOn";
137
138
  ElementName["LinkIcon"] = "LinkIcon";
138
139
  ElementName["ModifiedBy"] = "ModifiedBy";
139
140
  ElementName["ModifiedOn"] = "ModifiedOn";
@@ -143,8 +144,10 @@ exports.ElementName = ElementName;
143
144
  ElementName["Provider"] = "Provider";
144
145
  ElementName["ReactCount"] = "ReactCount";
145
146
  ElementName["Snippet"] = "Snippet";
147
+ ElementName["SourceBranch"] = "SourceBranch";
146
148
  ElementName["State"] = "State";
147
149
  ElementName["SubscriberCount"] = "SubscriberCount";
150
+ ElementName["TargetBranch"] = "TargetBranch";
148
151
  ElementName["Title"] = "Title";
149
152
  ElementName["ViewCount"] = "ViewCount";
150
153
  ElementName["VoteCount"] = "VoteCount";
@@ -19,6 +19,8 @@ var _3 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/branch/16")
19
19
 
20
20
  var _4 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/code/16"));
21
21
 
22
+ var _5 = _interopRequireDefault(require("@atlaskit/icon-object/glyph/task/16"));
23
+
22
24
  var _priority = require("./priority");
23
25
 
24
26
  var _extractProvider = require("../context/extractProvider");
@@ -71,6 +73,11 @@ var extractIconByType = function extractIconByType(type, opts) {
71
73
  case 'atlassian:UndefinedLink':
72
74
  return (0, _extractIconFromDocument.extractIconFromDocument)(type, opts);
73
75
 
76
+ case 'atlassian:Goal':
77
+ return opts.icon || /*#__PURE__*/_react.default.createElement(_5.default, {
78
+ label: opts.title || 'goal'
79
+ });
80
+
74
81
  case 'atlassian:Project':
75
82
  return opts.icon || /*#__PURE__*/_react.default.createElement(_peopleGroup.default, {
76
83
  label: opts.title || 'project',
@@ -12,6 +12,7 @@ var extractorPriorityMap = {
12
12
  'schema:BlogPosting': 10,
13
13
  'schema:SpreadsheetDigitalDocument': 10,
14
14
  'schema:PresentationDigitalDocument': 10,
15
+ 'atlassian:Goal': 10,
15
16
  'atlassian:Task': 10,
16
17
  'atlassian:Project': 10,
17
18
  'atlassian:Template': 10,
@@ -35,12 +35,18 @@ var extractLozenge = function extractLozenge(jsonLd) {
35
35
  var jsonLdDocument = jsonLd;
36
36
  var lozengeFromState = (0, _extractState.extractState)(jsonLdDocument);
37
37
  return lozengeFromState;
38
- } else if (type.includes('atlassian:Project')) {
38
+ } else if (type.includes('atlassian:Goal')) {
39
39
  var jsonLdProject = jsonLd;
40
40
 
41
41
  var _lozengeFromState = (0, _extractState.extractState)(jsonLdProject);
42
42
 
43
43
  return _lozengeFromState;
44
+ } else if (type.includes('atlassian:Project')) {
45
+ var _jsonLdProject = jsonLd;
46
+
47
+ var _lozengeFromState2 = (0, _extractState.extractState)(_jsonLdProject);
48
+
49
+ return _lozengeFromState2;
44
50
  } else if (type.includes('atlassian:UndefinedLink')) {
45
51
  return {
46
52
  text: 'UNDEFINED',
@@ -24,14 +24,14 @@ var extractState = function extractState(jsonLd) {
24
24
  if (state.name) {
25
25
  return {
26
26
  text: state.name,
27
- appearance: 'default'
27
+ appearance: state.appearance || 'default'
28
28
  };
29
29
  }
30
30
  } else if (state['@type'] === 'Object') {
31
31
  if (state.name) {
32
32
  return {
33
33
  text: state.name,
34
- appearance: 'default'
34
+ appearance: state.appearance || 'default'
35
35
  };
36
36
  }
37
37
  }
@@ -108,6 +108,12 @@ var extractJsonldDataIcon = function extractJsonldDataIcon(data) {
108
108
  label: taskLabel
109
109
  };
110
110
 
111
+ case 'atlassian:Goal':
112
+ return urlIcon || {
113
+ icon: _constants2.IconType.Task,
114
+ label: label || 'Goal'
115
+ };
116
+
111
117
  case 'atlassian:Project':
112
118
  return urlIcon || {
113
119
  icon: _constants2.IconType.Project,
@@ -47,19 +47,22 @@ var extractFlexibleUiContext = function extractFlexibleUiContext(response, rende
47
47
  voteCount: (0, _utils.extractVoteCount)(data),
48
48
  createdBy: (0, _utils.extractCreatedBy)(data),
49
49
  createdOn: (0, _extractDateCreated.extractDateCreated)(data),
50
+ dueOn: (0, _utils.extractDueOn)(data),
51
+ latestCommit: (0, _latestCommit.extractLatestCommit)(data),
50
52
  linkIcon: (0, _icon.extractLinkIcon)(response, renderers),
51
53
  modifiedBy: (0, _utils.extractModifiedBy)(data),
52
54
  modifiedOn: (0, _extractDateUpdated.extractDateUpdated)(data),
53
55
  preview: (0, _extractPreview.default)(data),
54
56
  priority: (0, _extractPriority.default)(data),
57
+ provider: (0, _extractProviderIcon.default)(data),
55
58
  programmingLanguage: (0, _utils.extractProgrammingLanguage)(data),
56
59
  snippet: (0, _primitives.extractSummary)(data) || undefined,
57
60
  // Explicitly set here to remove an empty string
61
+ sourceBranch: (0, _utils.extractSourceBranch)(data),
58
62
  state: (0, _lozenge.extractLozenge)(data),
59
63
  subscriberCount: (0, _utils.extractSubscriberCount)(data),
64
+ targetBranch: (0, _utils.extractTargetBranch)(data),
60
65
  title: (0, _primitives.extractTitle)(data) || url,
61
- provider: (0, _extractProviderIcon.default)(data),
62
- latestCommit: (0, _latestCommit.extractLatestCommit)(data),
63
66
  url: url
64
67
  };
65
68
  };
@@ -1,12 +1,22 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.extractVoteCount = exports.extractViewCount = exports.extractSubscriberCount = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractModifiedBy = exports.extractCreatedBy = exports.extractCommentCount = void 0;
8
+ exports.extractVoteCount = exports.extractViewCount = exports.extractTargetBranch = exports.extractSubscriberCount = exports.extractSourceBranch = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractModifiedBy = exports.extractDueOn = exports.extractCreatedBy = exports.extractCommentCount = void 0;
9
+
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
7
11
 
8
12
  var _person = require("../common/person");
9
13
 
14
+ var extractLinkName = function extractLinkName(link) {
15
+ if (link && (0, _typeof2.default)(link) === 'object' && link['@type'] === 'Link') {
16
+ return link.name;
17
+ }
18
+ };
19
+
10
20
  var extractValue = function extractValue(data, key) {
11
21
  return data === null || data === void 0 ? void 0 : data[key];
12
22
  };
@@ -17,6 +27,12 @@ var extractCommentCount = function extractCommentCount(data) {
17
27
 
18
28
  exports.extractCommentCount = extractCommentCount;
19
29
 
30
+ var extractDueOn = function extractDueOn(data) {
31
+ return extractValue(data, 'endTime');
32
+ };
33
+
34
+ exports.extractDueOn = extractDueOn;
35
+
20
36
  var extractViewCount = function extractViewCount(data) {
21
37
  return extractValue(data, 'atlassian:viewCount');
22
38
  };
@@ -61,8 +77,20 @@ var extractProgrammingLanguage = function extractProgrammingLanguage(data) {
61
77
 
62
78
  exports.extractProgrammingLanguage = extractProgrammingLanguage;
63
79
 
80
+ var extractSourceBranch = function extractSourceBranch(data) {
81
+ return extractLinkName(data['atlassian:mergeSource']);
82
+ };
83
+
84
+ exports.extractSourceBranch = extractSourceBranch;
85
+
64
86
  var extractSubscriberCount = function extractSubscriberCount(data) {
65
87
  return extractValue(data, 'atlassian:subscriberCount');
66
88
  };
67
89
 
68
- exports.extractSubscriberCount = extractSubscriberCount;
90
+ exports.extractSubscriberCount = extractSubscriberCount;
91
+
92
+ var extractTargetBranch = function extractTargetBranch(data) {
93
+ return extractLinkName(data['atlassian:mergeDestination']);
94
+ };
95
+
96
+ exports.extractTargetBranch = extractTargetBranch;
@@ -19,12 +19,13 @@ var elementNamesToItems = function elementNamesToItems(elementNames) {
19
19
  };
20
20
 
21
21
  var extractMetadata = function extractMetadata(jsonLd) {
22
- var _jsonLd$metadata, _metadata$primary, _metadata$secondary;
22
+ var _jsonLd$metadata, _metadata$primary, _metadata$secondary, _metadata$subtitle;
23
23
 
24
24
  var metadata = (_jsonLd$metadata = jsonLd.metadata) !== null && _jsonLd$metadata !== void 0 ? _jsonLd$metadata : [];
25
25
  return {
26
26
  primary: elementNamesToItems((_metadata$primary = metadata.primary) !== null && _metadata$primary !== void 0 ? _metadata$primary : []),
27
- secondary: elementNamesToItems((_metadata$secondary = metadata.secondary) !== null && _metadata$secondary !== void 0 ? _metadata$secondary : [])
27
+ secondary: elementNamesToItems((_metadata$secondary = metadata.secondary) !== null && _metadata$secondary !== void 0 ? _metadata$secondary : []),
28
+ subtitle: elementNamesToItems((_metadata$subtitle = metadata.subtitle) !== null && _metadata$subtitle !== void 0 ? _metadata$subtitle : [])
28
29
  };
29
30
  };
30
31
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.1.28",
3
+ "version": "19.1.31",
4
4
  "sideEffects": false
5
5
  }
@@ -20,7 +20,7 @@ var _utils = require("../utils");
20
20
  var _templateObject;
21
21
 
22
22
  var getBlockStyles = function getBlockStyles(direction, size) {
23
- return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n justify-content: flex-start;\n [data-separator] + [data-separator]:before {\n content: '\u2022';\n margin-right: ", "rem;\n }\n"])), (0, _utils.getBaseStyles)(direction, size), (0, _utils.getGapSize)(size));
23
+ return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n justify-content: flex-start;\n [data-separator] + [data-separator]:before {\n content: '\u2022';\n margin-right: ", "rem;\n }\n // Pull request elements: source branch \u2192 target branch\n [data-smart-element='", "']\n + [data-smart-element='", "']:before {\n content: '\u2192';\n }\n // Pull request elements: target branch \u2190 source branch\n [data-smart-element='", "']\n + [data-smart-element='", "']:before {\n content: '\u2190';\n }\n"])), (0, _utils.getBaseStyles)(direction, size), (0, _utils.getGapSize)(size), _constants.ElementName.SourceBranch, _constants.ElementName.TargetBranch, _constants.ElementName.TargetBranch, _constants.ElementName.SourceBranch);
24
24
  };
25
25
  /**
26
26
  * A block represents a collection of elements and actions that are arranged
@@ -48,7 +48,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
48
48
 
49
49
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
50
50
 
51
- var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ViewCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ReactCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.VoteCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LinkIcon, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedOn, ['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.Snippet, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.State, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SubscriberCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Title, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Provider, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LatestCommit, ['inline']), _ElementDisplaySchema);
51
+ var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ViewCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ReactCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.VoteCount, ['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.ModifiedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedOn, ['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.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']), _ElementDisplaySchema);
52
52
  exports.ElementDisplaySchema = ElementDisplaySchema;
53
53
 
54
54
  var getDirectionStyles = function getDirectionStyles(direction) {
@@ -50,6 +50,7 @@ var AvatarGroup = function AvatarGroup(_ref) {
50
50
  items = _ref$items === void 0 ? [] : _ref$items,
51
51
  _ref$maxCount = _ref.maxCount,
52
52
  maxCount = _ref$maxCount === void 0 ? MAX_COUNT : _ref$maxCount,
53
+ name = _ref.name,
53
54
  overrideCss = _ref.overrideCss,
54
55
  _ref$size = _ref.size,
55
56
  size = _ref$size === void 0 ? _constants.SmartLinkSize.Medium : _ref$size,
@@ -63,6 +64,7 @@ var AvatarGroup = function AvatarGroup(_ref) {
63
64
  return (0, _core.jsx)("span", {
64
65
  css: [getStyles(size), overrideCss],
65
66
  "data-fit-to-content": true,
67
+ "data-smart-element": name,
66
68
  "data-smart-element-avatar-group": true,
67
69
  "data-testid": testId
68
70
  }, (0, _core.jsx)(_avatarGroup.default, {
@@ -82,6 +82,7 @@ var renderImageIcon = function renderImageIcon(url, testId) {
82
82
  var Badge = function Badge(_ref) {
83
83
  var icon = _ref.icon,
84
84
  label = _ref.label,
85
+ name = _ref.name,
85
86
  overrideCss = _ref.overrideCss,
86
87
  _ref$testId = _ref.testId,
87
88
  testId = _ref$testId === void 0 ? 'smart-element-badge' : _ref$testId,
@@ -96,6 +97,7 @@ var Badge = function Badge(_ref) {
96
97
  return (0, _core.jsx)("span", {
97
98
  css: [badgeStyles, overrideCss],
98
99
  "data-fit-to-content": true,
100
+ "data-smart-element": name,
99
101
  "data-smart-element-badge": true,
100
102
  "data-testid": testId
101
103
  }, (0, _core.jsx)("span", {
@@ -48,6 +48,7 @@ var typeToDescriptorMap = {
48
48
 
49
49
  var DateTime = function DateTime(_ref) {
50
50
  var date = _ref.date,
51
+ name = _ref.name,
51
52
  overrideCss = _ref.overrideCss,
52
53
  type = _ref.type,
53
54
  _ref$testId = _ref.testId,
@@ -87,6 +88,7 @@ var DateTime = function DateTime(_ref) {
87
88
  return (0, _core.jsx)("span", {
88
89
  css: [styles, overrideCss],
89
90
  "data-separator": true,
91
+ "data-smart-element": name,
90
92
  "data-smart-element-date-time": true,
91
93
  "data-testid": testId
92
94
  }, text ? "".concat(text, " ").concat(context) : (0, _core.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, typeToDescriptorMap[type][typeVariant], {
@@ -88,6 +88,7 @@ var Icon = function Icon(_ref) {
88
88
  var icon = _ref.icon,
89
89
  _ref$label = _ref.label,
90
90
  label = _ref$label === void 0 ? 'Link' : _ref$label,
91
+ name = _ref.name,
91
92
  _ref$position = _ref.position,
92
93
  position = _ref$position === void 0 ? _constants.SmartLinkPosition.Top : _ref$position,
93
94
  overrideCss = _ref.overrideCss,
@@ -107,6 +108,7 @@ var Icon = function Icon(_ref) {
107
108
  return (0, _core.jsx)("div", {
108
109
  css: [styles, renderStyles, overrideCss],
109
110
  "data-fit-to-content": true,
111
+ "data-smart-element": name,
110
112
  "data-smart-element-icon": true,
111
113
  "data-testid": testId
112
114
  }, element);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.VoteCount = exports.ViewCount = exports.Title = exports.SubscriberCount = exports.State = exports.Snippet = exports.ReactCount = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.Preview = exports.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.LatestCommit = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.AuthorGroup = void 0;
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.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.LatestCommit = exports.DueOn = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.AuthorGroup = void 0;
7
7
 
8
8
  var _utils = require("./utils");
9
9
 
@@ -47,10 +47,17 @@ var CreatedOn = (0, _utils.createElement)(_constants.ElementName.CreatedOn);
47
47
  exports.CreatedOn = CreatedOn;
48
48
  var CreatedBy = (0, _utils.createElement)(_constants.ElementName.CreatedBy);
49
49
  /**
50
- * Creates an element that contains Last Commit hash
50
+ * Creates a DueOn Lozenge element using the data from dueOn in the Flexible UI Context.
51
+ * @see Lozenge
51
52
  */
52
53
 
53
54
  exports.CreatedBy = CreatedBy;
55
+ var DueOn = (0, _utils.createElement)(_constants.ElementName.DueOn);
56
+ /**
57
+ * Creates an element that contains Last Commit hash
58
+ */
59
+
60
+ exports.DueOn = DueOn;
54
61
  var LatestCommit = (0, _utils.createElement)(_constants.ElementName.LatestCommit);
55
62
  /**
56
63
  * Creates a LinkIcon Icon element using the data from LinkIcon in the Flexible UI Context.
@@ -115,12 +122,19 @@ var ReactCount = (0, _utils.createElement)(_constants.ElementName.ReactCount);
115
122
 
116
123
  exports.ReactCount = ReactCount;
117
124
  var Snippet = (0, _utils.createElement)(_constants.ElementName.Snippet);
125
+ /**
126
+ * Creates a SourceBranch Text element using the data from sourceBranch in the Flexible UI Context.
127
+ * @see Text
128
+ */
129
+
130
+ exports.Snippet = Snippet;
131
+ var SourceBranch = (0, _utils.createElement)(_constants.ElementName.SourceBranch);
118
132
  /**
119
133
  * Creates a State Lozenge element using the data from State in the Flexible UI Context.
120
134
  * @see Lozenge
121
135
  */
122
136
 
123
- exports.Snippet = Snippet;
137
+ exports.SourceBranch = SourceBranch;
124
138
  var State = (0, _utils.createElement)(_constants.ElementName.State);
125
139
  /**
126
140
  * Creates a SubscriberCount Badge element using the data from SubscriberCount in the Flexible UI Context.
@@ -129,13 +143,20 @@ var State = (0, _utils.createElement)(_constants.ElementName.State);
129
143
 
130
144
  exports.State = State;
131
145
  var SubscriberCount = (0, _utils.createElement)(_constants.ElementName.SubscriberCount);
146
+ /**
147
+ * Creates a TargetBranch Text element using the data from targetBranch in the Flexible UI Context.
148
+ * @see Text
149
+ */
150
+
151
+ exports.SubscriberCount = SubscriberCount;
152
+ var TargetBranch = (0, _utils.createElement)(_constants.ElementName.TargetBranch);
132
153
  /**
133
154
  * Creates a Title Link element using the data from Title in the Flexible UI Context.
134
155
  * This represents the main link text within the Smart Link.
135
156
  * @see Link
136
157
  */
137
158
 
138
- exports.SubscriberCount = SubscriberCount;
159
+ exports.TargetBranch = TargetBranch;
139
160
  var Title = (0, _utils.createElement)(_constants.ElementName.Title);
140
161
  /**
141
162
  * Creates a ViewCount Badge element using the data from ViewCount in the Flexible UI Context.
@@ -82,6 +82,7 @@ var Link = function Link(_ref) {
82
82
  var hideTooltip = _ref.hideTooltip,
83
83
  _ref$maxLines = _ref.maxLines,
84
84
  maxLines = _ref$maxLines === void 0 ? DEFAULT_MAX_LINES : _ref$maxLines,
85
+ name = _ref.name,
85
86
  overrideCss = _ref.overrideCss,
86
87
  _ref$size = _ref.size,
87
88
  size = _ref$size === void 0 ? _constants.SmartLinkSize.Medium : _ref$size,
@@ -98,6 +99,7 @@ var Link = function Link(_ref) {
98
99
  }, [text]);
99
100
  var anchor = (0, _core.jsx)("a", {
100
101
  css: [getAnchorStyles(size, theme, getMaxLines(maxLines), hasSpace), overrideCss],
102
+ "data-smart-element": name,
101
103
  "data-smart-element-link": true,
102
104
  "data-testid": testId,
103
105
  onClick: onClick,
@@ -28,6 +28,7 @@ var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTem
28
28
  var Lozenge = function Lozenge(_ref) {
29
29
  var _ref$appearance = _ref.appearance,
30
30
  appearance = _ref$appearance === void 0 ? 'default' : _ref$appearance,
31
+ name = _ref.name,
31
32
  overrideCss = _ref.overrideCss,
32
33
  text = _ref.text,
33
34
  _ref$testId = _ref.testId,
@@ -40,6 +41,7 @@ var Lozenge = function Lozenge(_ref) {
40
41
  return (0, _core.jsx)("span", {
41
42
  css: [styles, overrideCss],
42
43
  "data-fit-to-content": true,
44
+ "data-smart-element": name,
43
45
  "data-smart-element-lozenge": true,
44
46
  "data-testid": testId
45
47
  }, (0, _core.jsx)(_lozenge.default, {
@@ -36,7 +36,8 @@ var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTem
36
36
  */
37
37
 
38
38
  var Media = function Media(_ref) {
39
- var overrideCss = _ref.overrideCss,
39
+ var name = _ref.name,
40
+ overrideCss = _ref.overrideCss,
40
41
  _ref$testId = _ref.testId,
41
42
  testId = _ref$testId === void 0 ? 'smart-element-media' : _ref$testId,
42
43
  type = _ref.type,
@@ -48,6 +49,7 @@ var Media = function Media(_ref) {
48
49
 
49
50
  return (0, _core.jsx)("div", {
50
51
  css: [styles, overrideCss],
52
+ "data-smart-element": name,
51
53
  "data-smart-element-media": true,
52
54
  "data-testid": testId
53
55
  }, (0, _core.jsx)(_imageIcon.default, {
@@ -35,6 +35,7 @@ var Text = function Text(_ref) {
35
35
  _ref$maxLines = _ref.maxLines,
36
36
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
37
37
  message = _ref.message,
38
+ name = _ref.name,
38
39
  overrideCss = _ref.overrideCss,
39
40
  _ref$testId = _ref.testId,
40
41
  testId = _ref$testId === void 0 ? 'smart-element-text' : _ref$testId;
@@ -46,6 +47,7 @@ var Text = function Text(_ref) {
46
47
  return (0, _core.jsx)("span", {
47
48
  css: [getStyles(maxLines), overrideCss],
48
49
  "data-separator": true,
50
+ "data-smart-element": name,
49
51
  "data-smart-element-text": true,
50
52
  "data-testid": testId
51
53
  }, (0, _utils.getFormattedMessage)(message) || content);
@@ -17,6 +17,8 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
17
17
 
18
18
  var _react = _interopRequireWildcard(require("react"));
19
19
 
20
+ var _reactIntlNext = require("react-intl-next");
21
+
20
22
  var _core = require("@emotion/core");
21
23
 
22
24
  var _constants = require("../../../../constants");
@@ -76,10 +78,21 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
76
78
  }
77
79
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedBy, {
78
80
  component: _text.default
81
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedOn, {
82
+ component: _dateTime.default
83
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.DueOn, {
84
+ component: _lozenge.default
85
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.LatestCommit, {
86
+ component: _badge.default,
87
+ props: {
88
+ icon: _constants.IconType.Commit
89
+ }
79
90
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.LinkIcon, {
80
91
  component: _icon.default
81
92
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.ModifiedBy, {
82
93
  component: _text.default
94
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.ModifiedOn, {
95
+ component: _dateTime.default
83
96
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Preview, {
84
97
  component: _media.default
85
98
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Priority, {
@@ -89,12 +102,16 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
89
102
  props: {
90
103
  icon: _constants.IconType.ProgrammingLanguage
91
104
  }
105
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Provider, {
106
+ component: _badge.default
92
107
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Snippet, {
93
108
  component: _text.default,
94
109
  props: {
95
110
  maxLines: SNIPPET_DEFAULT_MAX_LINES,
96
111
  overrideCss: (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n "])), _token.tokens.snippet)
97
112
  }
113
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.SourceBranch, {
114
+ component: _text.default
98
115
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.State, {
99
116
  component: _lozenge.default
100
117
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.SubscriberCount, {
@@ -102,19 +119,10 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
102
119
  props: {
103
120
  icon: _constants.IconType.Subscriber
104
121
  }
122
+ }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.TargetBranch, {
123
+ component: _text.default
105
124
  }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Title, {
106
125
  component: _link.default
107
- }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.CreatedOn, {
108
- component: _dateTime.default
109
- }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.ModifiedOn, {
110
- component: _dateTime.default
111
- }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Provider, {
112
- component: _badge.default
113
- }), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.LatestCommit, {
114
- component: _badge.default,
115
- props: {
116
- icon: _constants.IconType.Commit
117
- }
118
126
  }), _elementMappings);
119
127
 
120
128
  var getContextKey = function getContextKey(name) {
@@ -150,6 +158,9 @@ var getData = function getData(elementName, contextKey, context) {
150
158
  case _constants.ElementName.CreatedOn:
151
159
  return toDateTimeProps('created', context.createdOn);
152
160
 
161
+ case _constants.ElementName.DueOn:
162
+ return toDateLozengeProps(context.dueOn);
163
+
153
164
  case _constants.ElementName.ModifiedBy:
154
165
  return toFormattedTextProps(_messages.messages.modified_by, context.modifiedBy);
155
166
 
@@ -157,6 +168,8 @@ var getData = function getData(elementName, contextKey, context) {
157
168
  return toDateTimeProps('modified', context.modifiedOn);
158
169
 
159
170
  case _constants.ElementName.Snippet:
171
+ case _constants.ElementName.SourceBranch:
172
+ case _constants.ElementName.TargetBranch:
160
173
  return toTextProps(data);
161
174
 
162
175
  case _constants.ElementName.Title:
@@ -179,6 +192,21 @@ var toBadgeProps = function toBadgeProps(label) {
179
192
  } : undefined;
180
193
  };
181
194
 
195
+ var toDateLozengeProps = function toDateLozengeProps(dateString) {
196
+ if (dateString) {
197
+ var text = Date.parse(dateString) ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedDate, {
198
+ value: new Date(dateString),
199
+ year: "numeric",
200
+ month: "short",
201
+ day: "numeric",
202
+ formatMatcher: "best fit"
203
+ }) : dateString;
204
+ return {
205
+ text: text
206
+ };
207
+ }
208
+ };
209
+
182
210
  var toDateTimeProps = function toDateTimeProps(type, dateString) {
183
211
  return dateString ? {
184
212
  date: new Date(dateString),
@@ -224,7 +252,9 @@ var createElement = function createElement(name) {
224
252
  return function (overrides) {
225
253
  var context = (0, _react.useContext)(_flexibleUiContext.FlexibleUiContext);
226
254
  var data = getData(name, contextKey, context);
227
- return data ? /*#__PURE__*/_react.default.createElement(BaseElement, (0, _extends2.default)({}, props, data, overrides)) : null;
255
+ return data ? /*#__PURE__*/_react.default.createElement(BaseElement, (0, _extends2.default)({}, props, data, overrides, {
256
+ name: name
257
+ })) : null;
228
258
  };
229
259
  };
230
260
 
@@ -31,6 +31,8 @@ var _helpers = require("../../../state/helpers");
31
31
 
32
32
  var _styled = require("../styled");
33
33
 
34
+ var _extractType = require("../../../extractors/common/primitives/extractType");
35
+
34
36
  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); }
35
37
 
36
38
  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; }
@@ -99,13 +101,16 @@ var HoverCardContent = function HoverCardContent(_ref) {
99
101
  }, [url, analytics]);
100
102
  var footerActions = (0, _react.useMemo)(function () {
101
103
  return toFooterActions(cardActions);
102
- }, [cardActions]); //TODO: EDM-3224 deleted simulated and use real JsonLd
104
+ }, [cardActions]);
105
+ var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
106
+ var types = data ? (0, _extractType.extractType)(data) : undefined; //TODO: EDM-3224 deleted simulated and use real JsonLd
103
107
 
104
- var _extractMetadata = (0, _extractMetadata2.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey)),
108
+ var _extractMetadata = (0, _extractMetadata2.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey, types)),
105
109
  primary = _extractMetadata.primary,
106
- secondary = _extractMetadata.secondary;
110
+ secondary = _extractMetadata.secondary,
111
+ subtitle = _extractMetadata.subtitle;
107
112
 
108
- var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
113
+ var titleMaxLines = subtitle && subtitle.length > 0 ? 1 : 2;
109
114
  var body = data && (0, _extractPreview.default)(data) ? /*#__PURE__*/_react.default.createElement(_blocks.PreviewBlock, null) : /*#__PURE__*/_react.default.createElement(_blocks.SnippetBlock, null);
110
115
  return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
111
116
  cardState: cardState,
@@ -116,9 +121,11 @@ var HoverCardContent = function HoverCardContent(_ref) {
116
121
  url: url
117
122
  }, /*#__PURE__*/_react.default.createElement(_blocks.TitleBlock, {
118
123
  actions: titleActions,
124
+ maxLines: titleMaxLines,
119
125
  overrideCss: _styled.titleBlockCss,
120
126
  size: _constants.SmartLinkSize.Large,
121
- position: _constants.SmartLinkPosition.Center
127
+ position: _constants.SmartLinkPosition.Center,
128
+ subtitle: subtitle
122
129
  }), /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
123
130
  primary: primary,
124
131
  secondary: secondary,