@atlaskit/smart-card 19.1.29 → 19.2.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 (203) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/constants.js +4 -1
  3. package/dist/cjs/extractors/block/index.js +9 -19
  4. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +3 -5
  5. package/dist/cjs/extractors/common/byline/extractByline.js +5 -11
  6. package/dist/cjs/extractors/common/context/index.js +0 -16
  7. package/dist/cjs/extractors/common/icon/extractIcon.js +11 -8
  8. package/dist/cjs/extractors/common/icon/priority.js +1 -0
  9. package/dist/cjs/extractors/common/lozenge/extractLozenge.js +9 -3
  10. package/dist/cjs/extractors/common/lozenge/extractState.js +2 -2
  11. package/dist/cjs/extractors/common/lozenge/extractTaskType.js +2 -2
  12. package/dist/cjs/extractors/common/primitives/index.js +0 -16
  13. package/dist/cjs/extractors/embed/index.js +5 -9
  14. package/dist/cjs/extractors/flexible/collaboratorGroup/index.js +2 -2
  15. package/dist/cjs/extractors/flexible/extract-preview.js +2 -2
  16. package/dist/cjs/extractors/flexible/extract-priority.js +2 -2
  17. package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +8 -2
  18. package/dist/cjs/extractors/flexible/icon/extract-provider-icon.js +2 -2
  19. package/dist/cjs/extractors/flexible/icon/extract-url-icon.js +2 -2
  20. package/dist/cjs/extractors/flexible/index.js +11 -12
  21. package/dist/cjs/extractors/flexible/utils.js +33 -5
  22. package/dist/cjs/extractors/hover/extractMetadata.js +3 -2
  23. package/dist/cjs/extractors/inline/index.js +4 -4
  24. package/dist/cjs/version.json +1 -1
  25. package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +1 -1
  26. package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +1 -1
  27. package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
  28. package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +2 -0
  29. package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +2 -0
  30. package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +2 -0
  31. package/dist/cjs/view/FlexibleCard/components/elements/index.js +25 -4
  32. package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +2 -0
  33. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
  34. package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +3 -1
  35. package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +2 -0
  36. package/dist/cjs/view/FlexibleCard/components/elements/utils.js +42 -12
  37. package/dist/cjs/view/FlexibleCard/utils.js +3 -1
  38. package/dist/cjs/view/HoverCard/components/hover-card-content.js +12 -5
  39. package/dist/cjs/view/HoverCard/styled.js +8 -5
  40. package/dist/cjs/view/HoverCard/utils.js +46 -3
  41. package/dist/cjs/view/InlineCard/index.js +5 -3
  42. package/dist/es2019/constants.js +4 -1
  43. package/dist/es2019/extractors/block/index.js +2 -7
  44. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +1 -2
  45. package/dist/es2019/extractors/common/byline/extractByline.js +1 -4
  46. package/dist/es2019/extractors/common/context/index.js +0 -2
  47. package/dist/es2019/extractors/common/icon/extractIcon.js +7 -3
  48. package/dist/es2019/extractors/common/icon/priority.js +1 -0
  49. package/dist/es2019/extractors/common/lozenge/extractLozenge.js +5 -1
  50. package/dist/es2019/extractors/common/lozenge/extractState.js +2 -2
  51. package/dist/es2019/extractors/common/lozenge/extractTaskType.js +1 -1
  52. package/dist/es2019/extractors/common/primitives/index.js +0 -2
  53. package/dist/es2019/extractors/embed/index.js +1 -3
  54. package/dist/es2019/extractors/flexible/collaboratorGroup/index.js +1 -1
  55. package/dist/es2019/extractors/flexible/extract-preview.js +1 -1
  56. package/dist/es2019/extractors/flexible/extract-priority.js +1 -1
  57. package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +7 -1
  58. package/dist/es2019/extractors/flexible/icon/extract-provider-icon.js +1 -1
  59. package/dist/es2019/extractors/flexible/icon/extract-url-icon.js +1 -1
  60. package/dist/es2019/extractors/flexible/index.js +8 -7
  61. package/dist/es2019/extractors/flexible/utils.js +11 -2
  62. package/dist/es2019/extractors/hover/extractMetadata.js +3 -2
  63. package/dist/es2019/extractors/inline/index.js +2 -2
  64. package/dist/es2019/version.json +1 -1
  65. package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +11 -1
  66. package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +6 -3
  67. package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
  68. package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +2 -0
  69. package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +2 -0
  70. package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +2 -0
  71. package/dist/es2019/view/FlexibleCard/components/elements/index.js +18 -0
  72. package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +2 -0
  73. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
  74. package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +2 -0
  75. package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +2 -0
  76. package/dist/es2019/view/FlexibleCard/components/elements/utils.js +48 -16
  77. package/dist/es2019/view/FlexibleCard/utils.js +2 -1
  78. package/dist/es2019/view/HoverCard/components/hover-card-content.js +11 -5
  79. package/dist/es2019/view/HoverCard/styled.js +31 -5
  80. package/dist/es2019/view/HoverCard/utils.js +46 -4
  81. package/dist/es2019/view/InlineCard/index.js +2 -1
  82. package/dist/esm/constants.js +4 -1
  83. package/dist/esm/extractors/block/index.js +2 -7
  84. package/dist/esm/extractors/common/actions/extractPreviewAction.js +1 -2
  85. package/dist/esm/extractors/common/byline/extractByline.js +1 -4
  86. package/dist/esm/extractors/common/context/index.js +0 -2
  87. package/dist/esm/extractors/common/icon/extractIcon.js +7 -3
  88. package/dist/esm/extractors/common/icon/priority.js +1 -0
  89. package/dist/esm/extractors/common/lozenge/extractLozenge.js +8 -2
  90. package/dist/esm/extractors/common/lozenge/extractState.js +2 -2
  91. package/dist/esm/extractors/common/lozenge/extractTaskType.js +1 -1
  92. package/dist/esm/extractors/common/primitives/index.js +0 -2
  93. package/dist/esm/extractors/embed/index.js +1 -3
  94. package/dist/esm/extractors/flexible/collaboratorGroup/index.js +1 -1
  95. package/dist/esm/extractors/flexible/extract-preview.js +1 -1
  96. package/dist/esm/extractors/flexible/extract-priority.js +1 -1
  97. package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +7 -1
  98. package/dist/esm/extractors/flexible/icon/extract-provider-icon.js +1 -1
  99. package/dist/esm/extractors/flexible/icon/extract-url-icon.js +1 -1
  100. package/dist/esm/extractors/flexible/index.js +8 -7
  101. package/dist/esm/extractors/flexible/utils.js +17 -1
  102. package/dist/esm/extractors/hover/extractMetadata.js +3 -2
  103. package/dist/esm/extractors/inline/index.js +2 -2
  104. package/dist/esm/version.json +1 -1
  105. package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +2 -2
  106. package/dist/esm/view/FlexibleCard/components/blocks/utils.js +1 -1
  107. package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +2 -0
  108. package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +2 -0
  109. package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +2 -0
  110. package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +2 -0
  111. package/dist/esm/view/FlexibleCard/components/elements/index.js +18 -0
  112. package/dist/esm/view/FlexibleCard/components/elements/link/index.js +2 -0
  113. package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +2 -0
  114. package/dist/esm/view/FlexibleCard/components/elements/media/index.js +3 -1
  115. package/dist/esm/view/FlexibleCard/components/elements/text/index.js +2 -0
  116. package/dist/esm/view/FlexibleCard/components/elements/utils.js +41 -12
  117. package/dist/esm/view/FlexibleCard/utils.js +2 -1
  118. package/dist/esm/view/HoverCard/components/hover-card-content.js +11 -5
  119. package/dist/esm/view/HoverCard/styled.js +8 -5
  120. package/dist/esm/view/HoverCard/utils.js +46 -3
  121. package/dist/esm/view/InlineCard/index.js +2 -1
  122. package/dist/types/constants.d.ts +4 -1
  123. package/dist/types/extractors/block/index.d.ts +1 -1
  124. package/dist/types/extractors/common/__mocks__/jsonld.d.ts +1 -0
  125. package/dist/types/extractors/common/context/index.d.ts +0 -2
  126. package/dist/types/extractors/common/icon/extractIcon.d.ts +1 -1
  127. package/dist/types/extractors/common/lozenge/extractState.d.ts +1 -1
  128. package/dist/types/extractors/common/primitives/index.d.ts +0 -2
  129. package/dist/types/extractors/flexible/collaboratorGroup/index.d.ts +1 -1
  130. package/dist/types/extractors/flexible/utils.d.ts +3 -0
  131. package/dist/types/state/flexible-ui-context/types.d.ts +30 -11
  132. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +22 -1
  133. package/dist/types/view/FlexibleCard/components/elements/index.d.ts +15 -0
  134. package/dist/types/view/FlexibleCard/components/elements/lozenge/types.d.ts +2 -1
  135. package/dist/types/view/FlexibleCard/components/elements/types.d.ts +7 -1
  136. package/dist/types/view/HoverCard/types.d.ts +1 -0
  137. package/dist/types/view/HoverCard/utils.d.ts +1 -1
  138. package/package.json +3 -3
  139. package/report.api.md +6 -0
  140. package/dist/cjs/extractors/common/context/extractContext.js +0 -38
  141. package/dist/cjs/extractors/common/context/extractProvider.js +0 -83
  142. package/dist/cjs/extractors/common/date/extractDateCreated.js +0 -14
  143. package/dist/cjs/extractors/common/date/extractDateUpdated.js +0 -14
  144. package/dist/cjs/extractors/common/person/extractMembers.js +0 -37
  145. package/dist/cjs/extractors/common/person/extractPersonAssignedTo.js +0 -18
  146. package/dist/cjs/extractors/common/person/extractPersonCreatedBy.js +0 -28
  147. package/dist/cjs/extractors/common/person/extractPersonUpdatedBy.js +0 -18
  148. package/dist/cjs/extractors/common/person/index.js +0 -37
  149. package/dist/cjs/extractors/common/person/types.js +0 -5
  150. package/dist/cjs/extractors/common/preview/extractImage.js +0 -26
  151. package/dist/cjs/extractors/common/preview/index.js +0 -21
  152. package/dist/cjs/extractors/common/primitives/extractLink.js +0 -22
  153. package/dist/cjs/extractors/common/primitives/extractTitle.js +0 -55
  154. package/dist/cjs/extractors/common/primitives/extractType.js +0 -20
  155. package/dist/cjs/extractors/common/utils.js +0 -43
  156. package/dist/es2019/extractors/common/context/extractContext.js +0 -27
  157. package/dist/es2019/extractors/common/context/extractProvider.js +0 -65
  158. package/dist/es2019/extractors/common/date/extractDateCreated.js +0 -5
  159. package/dist/es2019/extractors/common/date/extractDateUpdated.js +0 -5
  160. package/dist/es2019/extractors/common/person/extractMembers.js +0 -23
  161. package/dist/es2019/extractors/common/person/extractPersonAssignedTo.js +0 -8
  162. package/dist/es2019/extractors/common/person/extractPersonCreatedBy.js +0 -16
  163. package/dist/es2019/extractors/common/person/extractPersonUpdatedBy.js +0 -8
  164. package/dist/es2019/extractors/common/person/index.js +0 -4
  165. package/dist/es2019/extractors/common/person/types.js +0 -1
  166. package/dist/es2019/extractors/common/preview/extractImage.js +0 -16
  167. package/dist/es2019/extractors/common/preview/index.js +0 -2
  168. package/dist/es2019/extractors/common/primitives/extractLink.js +0 -12
  169. package/dist/es2019/extractors/common/primitives/extractTitle.js +0 -37
  170. package/dist/es2019/extractors/common/primitives/extractType.js +0 -11
  171. package/dist/es2019/extractors/common/utils.js +0 -30
  172. package/dist/esm/extractors/common/context/extractContext.js +0 -27
  173. package/dist/esm/extractors/common/context/extractProvider.js +0 -65
  174. package/dist/esm/extractors/common/date/extractDateCreated.js +0 -5
  175. package/dist/esm/extractors/common/date/extractDateUpdated.js +0 -5
  176. package/dist/esm/extractors/common/person/extractMembers.js +0 -27
  177. package/dist/esm/extractors/common/person/extractPersonAssignedTo.js +0 -8
  178. package/dist/esm/extractors/common/person/extractPersonCreatedBy.js +0 -18
  179. package/dist/esm/extractors/common/person/extractPersonUpdatedBy.js +0 -8
  180. package/dist/esm/extractors/common/person/index.js +0 -4
  181. package/dist/esm/extractors/common/person/types.js +0 -1
  182. package/dist/esm/extractors/common/preview/extractImage.js +0 -16
  183. package/dist/esm/extractors/common/preview/index.js +0 -2
  184. package/dist/esm/extractors/common/primitives/extractLink.js +0 -12
  185. package/dist/esm/extractors/common/primitives/extractTitle.js +0 -41
  186. package/dist/esm/extractors/common/primitives/extractType.js +0 -11
  187. package/dist/esm/extractors/common/utils.js +0 -30
  188. package/dist/types/extractors/common/context/extractContext.d.ts +0 -7
  189. package/dist/types/extractors/common/context/extractProvider.d.ts +0 -8
  190. package/dist/types/extractors/common/date/extractDateCreated.d.ts +0 -3
  191. package/dist/types/extractors/common/date/extractDateUpdated.d.ts +0 -2
  192. package/dist/types/extractors/common/person/extractMembers.d.ts +0 -3
  193. package/dist/types/extractors/common/person/extractPersonAssignedTo.d.ts +0 -4
  194. package/dist/types/extractors/common/person/extractPersonCreatedBy.d.ts +0 -3
  195. package/dist/types/extractors/common/person/extractPersonUpdatedBy.d.ts +0 -5
  196. package/dist/types/extractors/common/person/index.d.ts +0 -5
  197. package/dist/types/extractors/common/person/types.d.ts +0 -4
  198. package/dist/types/extractors/common/preview/extractImage.d.ts +0 -2
  199. package/dist/types/extractors/common/preview/index.d.ts +0 -3
  200. package/dist/types/extractors/common/primitives/extractLink.d.ts +0 -2
  201. package/dist/types/extractors/common/primitives/extractTitle.d.ts +0 -2
  202. package/dist/types/extractors/common/primitives/extractType.d.ts +0 -2
  203. package/dist/types/extractors/common/utils.d.ts +0 -4
@@ -1,4 +1,11 @@
1
- import { extractPersonCreatedBy, extractPersonUpdatedBy } from '../common/person';
1
+ import _typeof from "@babel/runtime/helpers/typeof";
2
+ import { extractPersonCreatedBy, extractPersonUpdatedBy } from '@atlaskit/linking-common/extractors';
3
+
4
+ var extractLinkName = function extractLinkName(link) {
5
+ if (link && _typeof(link) === 'object' && link['@type'] === 'Link') {
6
+ return link.name;
7
+ }
8
+ };
2
9
 
3
10
  var extractValue = function extractValue(data, key) {
4
11
  return data === null || data === void 0 ? void 0 : data[key];
@@ -7,6 +14,9 @@ var extractValue = function extractValue(data, key) {
7
14
  export var extractCommentCount = function extractCommentCount(data) {
8
15
  return extractValue(data, 'schema:commentCount');
9
16
  };
17
+ export var extractDueOn = function extractDueOn(data) {
18
+ return extractValue(data, 'endTime');
19
+ };
10
20
  export var extractViewCount = function extractViewCount(data) {
11
21
  return extractValue(data, 'atlassian:viewCount');
12
22
  };
@@ -33,6 +43,12 @@ export var extractModifiedBy = function extractModifiedBy(data) {
33
43
  export var extractProgrammingLanguage = function extractProgrammingLanguage(data) {
34
44
  return extractValue(data, 'schema:programmingLanguage');
35
45
  };
46
+ export var extractSourceBranch = function extractSourceBranch(data) {
47
+ return extractLinkName(data['atlassian:mergeSource']);
48
+ };
36
49
  export var extractSubscriberCount = function extractSubscriberCount(data) {
37
50
  return extractValue(data, 'atlassian:subscriberCount');
51
+ };
52
+ export var extractTargetBranch = function extractTargetBranch(data) {
53
+ return extractLinkName(data['atlassian:mergeDestination']);
38
54
  };
@@ -12,11 +12,12 @@ var elementNamesToItems = function elementNamesToItems(elementNames) {
12
12
  };
13
13
 
14
14
  export var extractMetadata = function extractMetadata(jsonLd) {
15
- var _jsonLd$metadata, _metadata$primary, _metadata$secondary;
15
+ var _jsonLd$metadata, _metadata$primary, _metadata$secondary, _metadata$subtitle;
16
16
 
17
17
  var metadata = (_jsonLd$metadata = jsonLd.metadata) !== null && _jsonLd$metadata !== void 0 ? _jsonLd$metadata : [];
18
18
  return {
19
19
  primary: elementNamesToItems((_metadata$primary = metadata.primary) !== null && _metadata$primary !== void 0 ? _metadata$primary : []),
20
- secondary: elementNamesToItems((_metadata$secondary = metadata.secondary) !== null && _metadata$secondary !== void 0 ? _metadata$secondary : [])
20
+ secondary: elementNamesToItems((_metadata$secondary = metadata.secondary) !== null && _metadata$secondary !== void 0 ? _metadata$secondary : []),
21
+ subtitle: elementNamesToItems((_metadata$subtitle = metadata.subtitle) !== null && _metadata$subtitle !== void 0 ? _metadata$subtitle : [])
21
22
  };
22
23
  };
@@ -1,8 +1,8 @@
1
- import { extractLink, extractTitle, extractTitleTextColor } from '../common/primitives';
1
+ import { extractTitleTextColor } from '../common/primitives';
2
2
  import { extractLozenge } from '../common/lozenge';
3
3
  import { extractIcon } from '../common/icon';
4
4
  import { extractTitlePrefix } from '../common/title-prefix';
5
- import { extractProvider } from '../common/context';
5
+ import { extractLink, extractTitle, extractProvider } from '@atlaskit/linking-common/extractors';
6
6
  import { CONFLUENCE_GENERATOR_ID, JIRA_GENERATOR_ID } from '../constants';
7
7
  export var extractInlineIcon = function extractInlineIcon(jsonLd) {
8
8
  var provider = extractProvider(jsonLd);
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.1.29",
3
+ "version": "19.2.0",
4
4
  "sideEffects": false
5
5
  }
@@ -5,11 +5,11 @@ var _templateObject;
5
5
  /** @jsx jsx */
6
6
  import React from 'react';
7
7
  import { css, jsx } from '@emotion/core';
8
- import { SmartLinkDirection, SmartLinkSize } from '../../../../../constants';
8
+ import { ElementName, SmartLinkDirection, SmartLinkSize } from '../../../../../constants';
9
9
  import { getBaseStyles, getGapSize, renderChildren } from '../utils';
10
10
 
11
11
  var getBlockStyles = function getBlockStyles(direction, size) {
12
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n justify-content: flex-start;\n [data-separator] + [data-separator]:before {\n content: '\u2022';\n margin-right: ", "rem;\n }\n"])), getBaseStyles(direction, size), getGapSize(size));
12
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\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"])), getBaseStyles(direction, size), getGapSize(size), ElementName.SourceBranch, ElementName.TargetBranch, ElementName.TargetBranch, ElementName.SourceBranch);
13
13
  };
14
14
  /**
15
15
  * A block represents a collection of elements and actions that are arranged
@@ -20,7 +20,7 @@ import * as Actions from '../actions';
20
20
  import { isFlexibleUiElement } from '../../../../utils/flexible';
21
21
  import ActionGroup from './action-group';
22
22
  import ElementGroup from './element-group';
23
- export var ElementDisplaySchema = (_ElementDisplaySchema = {}, _defineProperty(_ElementDisplaySchema, ElementName.AuthorGroup, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.CollaboratorGroup, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.CommentCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ViewCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ReactCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.VoteCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.CreatedBy, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.CreatedOn, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.LinkIcon, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ModifiedBy, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ModifiedOn, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.Preview, ['block']), _defineProperty(_ElementDisplaySchema, ElementName.Priority, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ProgrammingLanguage, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.Snippet, ['block']), _defineProperty(_ElementDisplaySchema, ElementName.State, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.SubscriberCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.Title, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.Provider, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.LatestCommit, ['inline']), _ElementDisplaySchema);
23
+ export var ElementDisplaySchema = (_ElementDisplaySchema = {}, _defineProperty(_ElementDisplaySchema, ElementName.AuthorGroup, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.CollaboratorGroup, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.CommentCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ViewCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ReactCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.VoteCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.CreatedBy, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.CreatedOn, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.DueOn, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.LatestCommit, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.LinkIcon, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ModifiedBy, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ModifiedOn, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.Preview, ['block']), _defineProperty(_ElementDisplaySchema, ElementName.Priority, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.ProgrammingLanguage, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.Provider, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.Snippet, ['block']), _defineProperty(_ElementDisplaySchema, ElementName.SourceBranch, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.State, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.SubscriberCount, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.TargetBranch, ['inline']), _defineProperty(_ElementDisplaySchema, ElementName.Title, ['inline']), _ElementDisplaySchema);
24
24
 
25
25
  var getDirectionStyles = function getDirectionStyles(direction) {
26
26
  switch (direction) {
@@ -38,6 +38,7 @@ var AvatarGroup = function AvatarGroup(_ref) {
38
38
  items = _ref$items === void 0 ? [] : _ref$items,
39
39
  _ref$maxCount = _ref.maxCount,
40
40
  maxCount = _ref$maxCount === void 0 ? MAX_COUNT : _ref$maxCount,
41
+ name = _ref.name,
41
42
  overrideCss = _ref.overrideCss,
42
43
  _ref$size = _ref.size,
43
44
  size = _ref$size === void 0 ? SmartLinkSize.Medium : _ref$size,
@@ -51,6 +52,7 @@ var AvatarGroup = function AvatarGroup(_ref) {
51
52
  return jsx("span", {
52
53
  css: [getStyles(size), overrideCss],
53
54
  "data-fit-to-content": true,
55
+ "data-smart-element": name,
54
56
  "data-smart-element-avatar-group": true,
55
57
  "data-testid": testId
56
58
  }, jsx(AtlaskitAvatarGroup, {
@@ -65,6 +65,7 @@ var renderImageIcon = function renderImageIcon(url, testId) {
65
65
  var Badge = function Badge(_ref) {
66
66
  var icon = _ref.icon,
67
67
  label = _ref.label,
68
+ name = _ref.name,
68
69
  overrideCss = _ref.overrideCss,
69
70
  _ref$testId = _ref.testId,
70
71
  testId = _ref$testId === void 0 ? 'smart-element-badge' : _ref$testId,
@@ -79,6 +80,7 @@ var Badge = function Badge(_ref) {
79
80
  return jsx("span", {
80
81
  css: [badgeStyles, overrideCss],
81
82
  "data-fit-to-content": true,
83
+ "data-smart-element": name,
82
84
  "data-smart-element-badge": true,
83
85
  "data-testid": testId
84
86
  }, jsx("span", {
@@ -32,6 +32,7 @@ var typeToDescriptorMap = {
32
32
 
33
33
  var DateTime = function DateTime(_ref) {
34
34
  var date = _ref.date,
35
+ name = _ref.name,
35
36
  overrideCss = _ref.overrideCss,
36
37
  type = _ref.type,
37
38
  _ref$testId = _ref.testId,
@@ -71,6 +72,7 @@ var DateTime = function DateTime(_ref) {
71
72
  return jsx("span", {
72
73
  css: [styles, overrideCss],
73
74
  "data-separator": true,
75
+ "data-smart-element": name,
74
76
  "data-smart-element-date-time": true,
75
77
  "data-testid": testId
76
78
  }, text ? "".concat(text, " ").concat(context) : jsx(FormattedMessage, _extends({}, typeToDescriptorMap[type][typeVariant], {
@@ -68,6 +68,7 @@ var Icon = function Icon(_ref) {
68
68
  var icon = _ref.icon,
69
69
  _ref$label = _ref.label,
70
70
  label = _ref$label === void 0 ? 'Link' : _ref$label,
71
+ name = _ref.name,
71
72
  _ref$position = _ref.position,
72
73
  position = _ref$position === void 0 ? SmartLinkPosition.Top : _ref$position,
73
74
  overrideCss = _ref.overrideCss,
@@ -87,6 +88,7 @@ var Icon = function Icon(_ref) {
87
88
  return jsx("div", {
88
89
  css: [styles, renderStyles, overrideCss],
89
90
  "data-fit-to-content": true,
91
+ "data-smart-element": name,
90
92
  "data-smart-element-icon": true,
91
93
  "data-testid": testId
92
94
  }, element);
@@ -33,6 +33,12 @@ export var CreatedOn = createElement(ElementName.CreatedOn);
33
33
  */
34
34
 
35
35
  export var CreatedBy = createElement(ElementName.CreatedBy);
36
+ /**
37
+ * Creates a DueOn Lozenge element using the data from dueOn in the Flexible UI Context.
38
+ * @see Lozenge
39
+ */
40
+
41
+ export var DueOn = createElement(ElementName.DueOn);
36
42
  /**
37
43
  * Creates an element that contains Last Commit hash
38
44
  */
@@ -92,6 +98,12 @@ export var ReactCount = createElement(ElementName.ReactCount);
92
98
  */
93
99
 
94
100
  export var Snippet = createElement(ElementName.Snippet);
101
+ /**
102
+ * Creates a SourceBranch Text element using the data from sourceBranch in the Flexible UI Context.
103
+ * @see Text
104
+ */
105
+
106
+ export var SourceBranch = createElement(ElementName.SourceBranch);
95
107
  /**
96
108
  * Creates a State Lozenge element using the data from State in the Flexible UI Context.
97
109
  * @see Lozenge
@@ -104,6 +116,12 @@ export var State = createElement(ElementName.State);
104
116
  */
105
117
 
106
118
  export var SubscriberCount = createElement(ElementName.SubscriberCount);
119
+ /**
120
+ * Creates a TargetBranch Text element using the data from targetBranch in the Flexible UI Context.
121
+ * @see Text
122
+ */
123
+
124
+ export var TargetBranch = createElement(ElementName.TargetBranch);
107
125
  /**
108
126
  * Creates a Title Link element using the data from Title in the Flexible UI Context.
109
127
  * This represents the main link text within the Smart Link.
@@ -62,6 +62,7 @@ var Link = function Link(_ref) {
62
62
  var hideTooltip = _ref.hideTooltip,
63
63
  _ref$maxLines = _ref.maxLines,
64
64
  maxLines = _ref$maxLines === void 0 ? DEFAULT_MAX_LINES : _ref$maxLines,
65
+ name = _ref.name,
65
66
  overrideCss = _ref.overrideCss,
66
67
  _ref$size = _ref.size,
67
68
  size = _ref$size === void 0 ? SmartLinkSize.Medium : _ref$size,
@@ -78,6 +79,7 @@ var Link = function Link(_ref) {
78
79
  }, [text]);
79
80
  var anchor = jsx("a", {
80
81
  css: [getAnchorStyles(size, theme, getMaxLines(maxLines), hasSpace), overrideCss],
82
+ "data-smart-element": name,
81
83
  "data-smart-element-link": true,
82
84
  "data-testid": testId,
83
85
  onClick: onClick,
@@ -17,6 +17,7 @@ var styles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["
17
17
  var Lozenge = function Lozenge(_ref) {
18
18
  var _ref$appearance = _ref.appearance,
19
19
  appearance = _ref$appearance === void 0 ? 'default' : _ref$appearance,
20
+ name = _ref.name,
20
21
  overrideCss = _ref.overrideCss,
21
22
  text = _ref.text,
22
23
  _ref$testId = _ref.testId,
@@ -29,6 +30,7 @@ var Lozenge = function Lozenge(_ref) {
29
30
  return jsx("span", {
30
31
  css: [styles, overrideCss],
31
32
  "data-fit-to-content": true,
33
+ "data-smart-element": name,
32
34
  "data-smart-element-lozenge": true,
33
35
  "data-testid": testId
34
36
  }, jsx(AtlaskitLozenge, {
@@ -26,7 +26,8 @@ var styles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["
26
26
  */
27
27
 
28
28
  var Media = function Media(_ref) {
29
- var overrideCss = _ref.overrideCss,
29
+ var name = _ref.name,
30
+ overrideCss = _ref.overrideCss,
30
31
  _ref$testId = _ref.testId,
31
32
  testId = _ref$testId === void 0 ? 'smart-element-media' : _ref$testId,
32
33
  type = _ref.type,
@@ -38,6 +39,7 @@ var Media = function Media(_ref) {
38
39
 
39
40
  return jsx("div", {
40
41
  css: [styles, overrideCss],
42
+ "data-smart-element": name,
41
43
  "data-smart-element-media": true,
42
44
  "data-testid": testId
43
45
  }, jsx(ImageIcon, {
@@ -24,6 +24,7 @@ var Text = function Text(_ref) {
24
24
  _ref$maxLines = _ref.maxLines,
25
25
  maxLines = _ref$maxLines === void 0 ? 1 : _ref$maxLines,
26
26
  message = _ref.message,
27
+ name = _ref.name,
27
28
  overrideCss = _ref.overrideCss,
28
29
  _ref$testId = _ref.testId,
29
30
  testId = _ref$testId === void 0 ? 'smart-element-text' : _ref$testId;
@@ -35,6 +36,7 @@ var Text = function Text(_ref) {
35
36
  return jsx("span", {
36
37
  css: [getStyles(maxLines), overrideCss],
37
38
  "data-separator": true,
39
+ "data-smart-element": name,
38
40
  "data-smart-element-text": true,
39
41
  "data-testid": testId
40
42
  }, getFormattedMessage(message) || content);
@@ -5,6 +5,7 @@ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral
5
5
  var _templateObject, _elementMappings;
6
6
 
7
7
  import React, { useContext } from 'react';
8
+ import { FormattedDate } from 'react-intl-next';
8
9
  import { css } from '@emotion/core';
9
10
  import { ElementName, IconType } from '../../../../constants';
10
11
  import Icon from './icon';
@@ -45,10 +46,21 @@ var elementMappings = (_elementMappings = {}, _defineProperty(_elementMappings,
45
46
  }
46
47
  }), _defineProperty(_elementMappings, ElementName.CreatedBy, {
47
48
  component: Text
49
+ }), _defineProperty(_elementMappings, ElementName.CreatedOn, {
50
+ component: DateTime
51
+ }), _defineProperty(_elementMappings, ElementName.DueOn, {
52
+ component: Lozenge
53
+ }), _defineProperty(_elementMappings, ElementName.LatestCommit, {
54
+ component: Badge,
55
+ props: {
56
+ icon: IconType.Commit
57
+ }
48
58
  }), _defineProperty(_elementMappings, ElementName.LinkIcon, {
49
59
  component: Icon
50
60
  }), _defineProperty(_elementMappings, ElementName.ModifiedBy, {
51
61
  component: Text
62
+ }), _defineProperty(_elementMappings, ElementName.ModifiedOn, {
63
+ component: DateTime
52
64
  }), _defineProperty(_elementMappings, ElementName.Preview, {
53
65
  component: Media
54
66
  }), _defineProperty(_elementMappings, ElementName.Priority, {
@@ -58,12 +70,16 @@ var elementMappings = (_elementMappings = {}, _defineProperty(_elementMappings,
58
70
  props: {
59
71
  icon: IconType.ProgrammingLanguage
60
72
  }
73
+ }), _defineProperty(_elementMappings, ElementName.Provider, {
74
+ component: Badge
61
75
  }), _defineProperty(_elementMappings, ElementName.Snippet, {
62
76
  component: Text,
63
77
  props: {
64
78
  maxLines: SNIPPET_DEFAULT_MAX_LINES,
65
79
  overrideCss: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n color: ", ";\n "])), tokens.snippet)
66
80
  }
81
+ }), _defineProperty(_elementMappings, ElementName.SourceBranch, {
82
+ component: Text
67
83
  }), _defineProperty(_elementMappings, ElementName.State, {
68
84
  component: Lozenge
69
85
  }), _defineProperty(_elementMappings, ElementName.SubscriberCount, {
@@ -71,19 +87,10 @@ var elementMappings = (_elementMappings = {}, _defineProperty(_elementMappings,
71
87
  props: {
72
88
  icon: IconType.Subscriber
73
89
  }
90
+ }), _defineProperty(_elementMappings, ElementName.TargetBranch, {
91
+ component: Text
74
92
  }), _defineProperty(_elementMappings, ElementName.Title, {
75
93
  component: Link
76
- }), _defineProperty(_elementMappings, ElementName.CreatedOn, {
77
- component: DateTime
78
- }), _defineProperty(_elementMappings, ElementName.ModifiedOn, {
79
- component: DateTime
80
- }), _defineProperty(_elementMappings, ElementName.Provider, {
81
- component: Badge
82
- }), _defineProperty(_elementMappings, ElementName.LatestCommit, {
83
- component: Badge,
84
- props: {
85
- icon: IconType.Commit
86
- }
87
94
  }), _elementMappings);
88
95
 
89
96
  var getContextKey = function getContextKey(name) {
@@ -119,6 +126,9 @@ var getData = function getData(elementName, contextKey, context) {
119
126
  case ElementName.CreatedOn:
120
127
  return toDateTimeProps('created', context.createdOn);
121
128
 
129
+ case ElementName.DueOn:
130
+ return toDateLozengeProps(context.dueOn);
131
+
122
132
  case ElementName.ModifiedBy:
123
133
  return toFormattedTextProps(messages.modified_by, context.modifiedBy);
124
134
 
@@ -126,6 +136,8 @@ var getData = function getData(elementName, contextKey, context) {
126
136
  return toDateTimeProps('modified', context.modifiedOn);
127
137
 
128
138
  case ElementName.Snippet:
139
+ case ElementName.SourceBranch:
140
+ case ElementName.TargetBranch:
129
141
  return toTextProps(data);
130
142
 
131
143
  case ElementName.Title:
@@ -148,6 +160,21 @@ var toBadgeProps = function toBadgeProps(label) {
148
160
  } : undefined;
149
161
  };
150
162
 
163
+ var toDateLozengeProps = function toDateLozengeProps(dateString) {
164
+ if (dateString) {
165
+ var text = Date.parse(dateString) ? /*#__PURE__*/React.createElement(FormattedDate, {
166
+ value: new Date(dateString),
167
+ year: "numeric",
168
+ month: "short",
169
+ day: "numeric",
170
+ formatMatcher: "best fit"
171
+ }) : dateString;
172
+ return {
173
+ text: text
174
+ };
175
+ }
176
+ };
177
+
151
178
  var toDateTimeProps = function toDateTimeProps(type, dateString) {
152
179
  return dateString ? {
153
180
  date: new Date(dateString),
@@ -193,6 +220,8 @@ export var createElement = function createElement(name) {
193
220
  return function (overrides) {
194
221
  var context = useContext(FlexibleUiContext);
195
222
  var data = getData(name, contextKey, context);
196
- return data ? /*#__PURE__*/React.createElement(BaseElement, _extends({}, props, data, overrides)) : null;
223
+ return data ? /*#__PURE__*/React.createElement(BaseElement, _extends({}, props, data, overrides, {
224
+ name: name
225
+ })) : null;
197
226
  };
198
227
  };
@@ -1,10 +1,11 @@
1
1
  import { SmartLinkStatus } from '../../constants';
2
2
  import { getEmptyJsonLd, getUnauthorizedJsonLd } from '../../utils/jsonld';
3
- import { extractProvider, extractRequestAccessContext } from '../../extractors/common/context';
3
+ import { extractRequestAccessContext } from '../../extractors/common/context';
4
4
  import { messages } from '../../messages';
5
5
  import extractFlexibleLinkContext from '../../extractors/flexible';
6
6
  import { extractErrorIcon } from '../../extractors/flexible/icon';
7
7
  import { handleOnClick } from '../../utils';
8
+ import { extractProvider } from '@atlaskit/linking-common/extractors';
8
9
  export var getContextByStatus = function getContextByStatus(url, status, details, renderers) {
9
10
  switch (status) {
10
11
  case SmartLinkStatus.Pending:
@@ -9,6 +9,7 @@ import { isSpecialEvent } from '../../../utils';
9
9
  import ShortcutIcon from '@atlaskit/icon/glyph/shortcut';
10
10
  import { getExtensionKey } from '../../../state/helpers';
11
11
  import { titleBlockCss, metadataBlockCss, footerBlockCss } from '../styled';
12
+ import { extractType } from '@atlaskit/linking-common/extractors';
12
13
  var flexibleUiOptions = {
13
14
  hideElevation: true,
14
15
  size: SmartLinkSize.Medium,
@@ -73,13 +74,16 @@ var HoverCardContent = function HoverCardContent(_ref) {
73
74
  }, [url, analytics]);
74
75
  var footerActions = useMemo(function () {
75
76
  return toFooterActions(cardActions);
76
- }, [cardActions]); //TODO: EDM-3224 deleted simulated and use real JsonLd
77
+ }, [cardActions]);
78
+ var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
79
+ var types = data ? extractType(data) : undefined; //TODO: EDM-3224 deleted simulated and use real JsonLd
77
80
 
78
- var _extractMetadata = extractMetadata(getSimulatedMetadata(extensionKey)),
81
+ var _extractMetadata = extractMetadata(getSimulatedMetadata(extensionKey, types)),
79
82
  primary = _extractMetadata.primary,
80
- secondary = _extractMetadata.secondary;
83
+ secondary = _extractMetadata.secondary,
84
+ subtitle = _extractMetadata.subtitle;
81
85
 
82
- var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
86
+ var titleMaxLines = subtitle && subtitle.length > 0 ? 1 : 2;
83
87
  var body = data && extractPreview(data) ? /*#__PURE__*/React.createElement(PreviewBlock, null) : /*#__PURE__*/React.createElement(SnippetBlock, null);
84
88
  return /*#__PURE__*/React.createElement(FlexibleCard, {
85
89
  cardState: cardState,
@@ -90,9 +94,11 @@ var HoverCardContent = function HoverCardContent(_ref) {
90
94
  url: url
91
95
  }, /*#__PURE__*/React.createElement(TitleBlock, {
92
96
  actions: titleActions,
97
+ maxLines: titleMaxLines,
93
98
  overrideCss: titleBlockCss,
94
99
  size: SmartLinkSize.Large,
95
- position: SmartLinkPosition.Center
100
+ position: SmartLinkPosition.Center,
101
+ subtitle: subtitle
96
102
  }), /*#__PURE__*/React.createElement(MetadataBlock, {
97
103
  primary: primary,
98
104
  secondary: secondary,
@@ -1,10 +1,13 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
2
 
3
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
3
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
4
4
 
5
5
  import { css } from '@emotion/core';
6
6
  import { loadingPlaceholderClassName } from '../../index';
7
- export var HoverCardContainer = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: none;\n border-width: 0;\n box-sizing: border-box;\n width: 24rem;\n padding: 1rem;\n\n .", " {\n display: none;\n }\n"])), loadingPlaceholderClassName);
8
- export var titleBlockCss = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n gap: 0.5rem;\n"])));
9
- export var metadataBlockCss = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n gap: 0px;\n\n /* primary element group */\n [data-smart-element-group]:first-of-type {\n flex-grow: 7;\n /* horizontal spacing between elements in group */\n > span {\n margin-right: 0.5rem;\n }\n }\n /* secondary element group */\n [data-smart-element-group]:last-of-type {\n flex-grow: 3;\n /* horizontal spacing between elements in group */\n > span {\n margin-left: 0.5rem;\n }\n }\n"])));
10
- export var footerBlockCss = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding-top: 0.25rem;\n"])));
7
+ var blockGap = '0.5rem';
8
+ var elementGap = '0.5rem';
9
+ var separatorCss = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n [data-separator] + [data-separator]:before {\n margin-right: ", ";\n }\n"])), elementGap);
10
+ export var HoverCardContainer = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: none;\n border-width: 0;\n box-sizing: border-box;\n width: 24rem;\n padding: 1rem;\n\n .", " {\n display: none;\n }\n"])), loadingPlaceholderClassName);
11
+ export var titleBlockCss = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n gap: ", ";\n\n ", "\n\n // title and subtitle element group\n [data-smart-element-group] {\n // gap between title and subtitle\n gap: 0.06rem;\n\n /* subtitle element group */\n > [data-smart-element-group] {\n > span {\n margin-right: ", ";\n }\n }\n }\n"])), blockGap, separatorCss, elementGap);
12
+ export var metadataBlockCss = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n gap: 0px;\n\n /* primary element group */\n [data-smart-element-group]:nth-of-type(1) {\n flex-grow: 7;\n\n // a separator between text-based element\n ", "\n\n /* horizontal spacing between elements in group */\n > span {\n margin-right: ", ";\n }\n }\n /* secondary element group */\n [data-smart-element-group]:nth-of-type(2) {\n flex-grow: 3;\n /* horizontal spacing between elements in group */\n > span {\n margin-left: ", ";\n }\n }\n"])), separatorCss, elementGap, elementGap);
13
+ export var footerBlockCss = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n padding-top: 0.25rem;\n"])));
@@ -2,13 +2,35 @@ import { ElementName } from '../../constants';
2
2
  export var HOVER_CARD_ANALYTICS_DISPLAY = 'flexible';
3
3
  export var getSimulatedMetadata = function getSimulatedMetadata() {
4
4
  var extensionKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
5
+ var types = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
5
6
 
6
7
  switch (extensionKey) {
8
+ case 'bitbucket-object-provider':
9
+ case 'native-bitbucket-object-provider':
10
+ if (types.includes('atlassian:SourceCodePullRequest')) {
11
+ return {
12
+ metadata: {
13
+ primary: [ElementName.AuthorGroup, ElementName.ModifiedOn, ElementName.SubscriberCount, ElementName.State],
14
+ secondary: [],
15
+ subtitle: [ElementName.SourceBranch, ElementName.TargetBranch]
16
+ }
17
+ };
18
+ }
19
+
20
+ return {
21
+ metadata: {
22
+ primary: [ElementName.ModifiedOn, ElementName.CreatedBy],
23
+ secondary: [],
24
+ subtitle: []
25
+ }
26
+ };
27
+
7
28
  case 'confluence-object-provider':
8
29
  return {
9
30
  metadata: {
10
31
  primary: [ElementName.AuthorGroup, ElementName.CreatedBy],
11
- secondary: [ElementName.CommentCount, ElementName.ReactCount]
32
+ secondary: [ElementName.CommentCount, ElementName.ReactCount],
33
+ subtitle: []
12
34
  }
13
35
  };
14
36
 
@@ -16,7 +38,27 @@ export var getSimulatedMetadata = function getSimulatedMetadata() {
16
38
  return {
17
39
  metadata: {
18
40
  primary: [ElementName.AuthorGroup, ElementName.State, ElementName.Priority],
19
- secondary: []
41
+ secondary: [],
42
+ subtitle: []
43
+ }
44
+ };
45
+
46
+ case 'watermelon-object-provider':
47
+ if (types.includes('atlassian:Project')) {
48
+ return {
49
+ metadata: {
50
+ primary: [ElementName.AuthorGroup, ElementName.ModifiedOn, ElementName.State, ElementName.DueOn],
51
+ secondary: [],
52
+ subtitle: []
53
+ }
54
+ };
55
+ }
56
+
57
+ return {
58
+ metadata: {
59
+ primary: [ElementName.AuthorGroup, ElementName.State, ElementName.DueOn],
60
+ secondary: [],
61
+ subtitle: []
20
62
  }
21
63
  };
22
64
 
@@ -24,7 +66,8 @@ export var getSimulatedMetadata = function getSimulatedMetadata() {
24
66
  return {
25
67
  metadata: {
26
68
  primary: [ElementName.ModifiedOn, ElementName.CreatedBy],
27
- secondary: []
69
+ secondary: [],
70
+ subtitle: []
28
71
  }
29
72
  };
30
73
  }
@@ -2,13 +2,14 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React from 'react';
3
3
  import { getEmptyJsonLd, getUnauthorizedJsonLd } from '../../utils/jsonld';
4
4
  import { extractInlineProps } from '../../extractors/inline';
5
- import { extractProvider, extractRequestAccessContext } from '../../extractors/common/context';
5
+ import { extractRequestAccessContext } from '../../extractors/common/context';
6
6
  import { CardLinkView } from '../LinkView';
7
7
  import { InlineCardErroredView } from './ErroredView';
8
8
  import { InlineCardForbiddenView } from './ForbiddenView';
9
9
  import { InlineCardResolvedView } from './ResolvedView';
10
10
  import { InlineCardResolvingView } from './ResolvingView';
11
11
  import { InlineCardUnauthorizedView } from './UnauthorisedView';
12
+ import { extractProvider } from '@atlaskit/linking-common/extractors';
12
13
  export { InlineCardResolvedView, InlineCardResolvingView, InlineCardErroredView, InlineCardForbiddenView, InlineCardUnauthorizedView };
13
14
  export var InlineCard = function InlineCard(_ref) {
14
15
  var _details$meta;
@@ -68,7 +68,7 @@ export declare enum SmartLinkWidth {
68
68
  * When adding an element...
69
69
  * 1) Create base element if it doesn't already exist.
70
70
  * Base element are inside src/view/FlexibleCard/components/elements.
71
- * E.g. Badge,DateTime, Icon, Lozenge, etc.
71
+ * E.g. Badge, DateTime, Icon, Lozenge, etc.
72
72
  * 2) Update FlexibleUiContext with the new prop for data representing
73
73
  * the element, preferably with the same name as the element itself.
74
74
  * (src/state/flexible-ui-context/types.ts)
@@ -85,6 +85,7 @@ export declare enum ElementName {
85
85
  CommentCount = "CommentCount",
86
86
  CreatedBy = "CreatedBy",
87
87
  CreatedOn = "CreatedOn",
88
+ DueOn = "DueOn",
88
89
  LinkIcon = "LinkIcon",
89
90
  ModifiedBy = "ModifiedBy",
90
91
  ModifiedOn = "ModifiedOn",
@@ -94,8 +95,10 @@ export declare enum ElementName {
94
95
  Provider = "Provider",
95
96
  ReactCount = "ReactCount",
96
97
  Snippet = "Snippet",
98
+ SourceBranch = "SourceBranch",
97
99
  State = "State",
98
100
  SubscriberCount = "SubscriberCount",
101
+ TargetBranch = "TargetBranch",
99
102
  Title = "Title",
100
103
  ViewCount = "ViewCount",
101
104
  VoteCount = "VoteCount",
@@ -1,6 +1,6 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
2
  import { CardProviderRenderers } from '@atlaskit/link-provider';
3
- import { LinkPerson } from '../common/person/types';
3
+ import { LinkPerson } from '@atlaskit/linking-common/extractors';
4
4
  import { ExtractBlockOpts } from './types';
5
5
  import { BlockCardResolvedViewProps } from '../../view/BlockCard';
6
6
  import { ActionProps } from '../../view/BlockCard/components/Action';
@@ -17,6 +17,7 @@ export declare const TEST_BASE_DATA: JsonLd.Data.BaseData;
17
17
  export declare const TEST_DATA_WITH_EMOJI: JsonLd.Data.BaseData;
18
18
  export declare const TEST_DATA_WITH_NO_PREFIX: JsonLd.Data.BaseData;
19
19
  export declare const TEST_PROJECT: JsonLd.Data.Project;
20
+ export declare const TEST_PULL_REQUEST: JsonLd.Data.SourceCodePullRequest;
20
21
  export declare const TEST_TASK: JsonLd.Data.Task;
21
22
  export declare const TEST_META_DATA: JsonLd.Meta.BaseMeta;
22
23
  export declare const TEST_DOCUMENT: JsonLd.Data.Document;
@@ -1,3 +1 @@
1
- export { extractContext } from './extractContext';
2
- export { extractProvider } from './extractProvider';
3
1
  export { extractRequestAccessContext } from './extractAccessContext';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { JsonLd } from 'json-ld-types';
3
- import { LinkProvider } from '../context/extractProvider';
3
+ import { LinkProvider } from '@atlaskit/linking-common/extractors';
4
4
  import { LinkTaskType } from '../lozenge/extractTaskType';
5
5
  export declare type IconPriority = 'type' | 'provider';
6
6
  export interface IconOpts {
@@ -1,3 +1,3 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
2
  import { LinkLozenge } from './types';
3
- export declare const extractState: (jsonLd: JsonLd.Data.SourceCodePullRequest | JsonLd.Data.Document | JsonLd.Data.Project) => LinkLozenge | undefined;
3
+ export declare const extractState: (jsonLd: JsonLd.Data.SourceCodePullRequest | JsonLd.Data.Document | JsonLd.Data.Project | JsonLd.Data.Goal) => LinkLozenge | undefined;
@@ -1,4 +1,2 @@
1
- export { extractLink } from './extractLink';
2
1
  export { extractSummary } from './extractSummary';
3
- export { extractTitle } from './extractTitle';
4
2
  export { extractTitleTextColor } from './extractTitleTextColor';