@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,55 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.extractTitle = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _context = require("../context");
13
-
14
- var _extractType = require("./extractType");
15
-
16
- var extractTitle = function extractTitle(jsonLd) {
17
- var name = jsonLd.name;
18
- var id = jsonLd['@id'] || ''; // Check if this is a reference to something _inside_ a Repository.
19
- // We format these titles to represent more metadata.
20
-
21
- var context = (0, _context.extractContext)(jsonLd);
22
- var type = (0, _extractType.extractType)(jsonLd);
23
- var hasContextType = context && context.type;
24
- var hasContextRepo = hasContextType && context.type.includes('atlassian:SourceCodeRepository');
25
-
26
- if (hasContextRepo && type) {
27
- var contextName = context.name && "".concat(context.name, ": ") || ''; // COMMIT: `repo-name: abf137c title of commit message`
28
-
29
- if (type.includes('atlassian:SourceCodeCommit')) {
30
- var _id$split = id.split(':'),
31
- _id$split2 = (0, _slicedToArray2.default)(_id$split, 2),
32
- hashContent = _id$split2[1];
33
-
34
- var hash = hashContent && "".concat(hashContent.substring(0, 8), " ");
35
- return contextName + (hash || '') + name;
36
- } // PR: `repo-name: #42 title of pull request`
37
-
38
-
39
- if (type.includes('atlassian:SourceCodePullRequest')) {
40
- var pullRequest = jsonLd;
41
- var internalId = pullRequest['atlassian:internalId'];
42
- var internalIdRef = internalId && "#".concat(internalId, " ");
43
- return contextName + (internalIdRef || '') + name;
44
- } // BRANCH: `repo-name/branch-name`
45
-
46
-
47
- if (type.includes('atlassian:SourceCodeReference')) {
48
- return contextName + name;
49
- }
50
- }
51
-
52
- return name;
53
- };
54
-
55
- exports.extractTitle = extractTitle;
@@ -1,20 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractType = void 0;
7
-
8
- var extractType = function extractType(jsonLd) {
9
- var type = jsonLd['@type'];
10
-
11
- if (type) {
12
- if (Array.isArray(jsonLd['@type'])) {
13
- return type;
14
- } else {
15
- return [type];
16
- }
17
- }
18
- };
19
-
20
- exports.extractType = extractType;
@@ -1,43 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractUrlFromIconJsonLd = exports.extractPersonFromJsonLd = void 0;
7
-
8
- var _linkingCommon = require("@atlaskit/linking-common");
9
-
10
- var extractUrlFromIconJsonLd = function extractUrlFromIconJsonLd(icon) {
11
- if (typeof icon === 'string') {
12
- return icon;
13
- } else if (icon['@type'] === 'Link') {
14
- return (0, _linkingCommon.extractUrlFromLinkJsonLd)(icon);
15
- } else {
16
- if (icon.url) {
17
- return (0, _linkingCommon.extractUrlFromLinkJsonLd)(icon.url);
18
- }
19
- }
20
- };
21
-
22
- exports.extractUrlFromIconJsonLd = extractUrlFromIconJsonLd;
23
-
24
- var extractPersonFromJsonLd = function extractPersonFromJsonLd(person) {
25
- if (typeof person === 'string') {
26
- throw Error('Link.person needs to be an object.');
27
- } else if (person['@type'] === 'Link') {
28
- if (person.name) {
29
- return {
30
- name: person.name
31
- };
32
- }
33
- } else {
34
- if (person.name) {
35
- return {
36
- name: person.name,
37
- src: person.icon && extractUrlFromIconJsonLd(person.icon)
38
- };
39
- }
40
- }
41
- };
42
-
43
- exports.extractPersonFromJsonLd = extractPersonFromJsonLd;
@@ -1,27 +0,0 @@
1
- import { extractUrlFromIconJsonLd } from '../utils';
2
- import { extractType } from '../primitives/extractType';
3
- export const extractContext = jsonLd => {
4
- const context = jsonLd.context;
5
-
6
- if (context) {
7
- if (typeof context === 'string') {
8
- return {
9
- name: context
10
- };
11
- } else if (context['@type'] === 'Link') {
12
- if (context.name) {
13
- return {
14
- name: context.name
15
- };
16
- }
17
- } else {
18
- if (context.name) {
19
- return {
20
- name: context.name,
21
- icon: context.icon && extractUrlFromIconJsonLd(context.icon),
22
- type: extractType(context)
23
- };
24
- }
25
- }
26
- }
27
- };
@@ -1,65 +0,0 @@
1
- import React from 'react';
2
- import { N700, B200, B400 } from '@atlaskit/theme/colors';
3
- import { token } from '@atlaskit/tokens';
4
- import { ConfluenceIcon } from '@atlaskit/logo/confluence-icon';
5
- import { JiraIcon } from '@atlaskit/logo/jira-icon';
6
- import { extractUrlFromIconJsonLd } from '../utils';
7
- import { CONFLUENCE_GENERATOR_ID, JIRA_GENERATOR_ID } from '../../constants';
8
- export const extractProvider = jsonLd => {
9
- const generator = jsonLd.generator;
10
-
11
- if (generator) {
12
- if (typeof generator === 'string') {
13
- throw Error('Link.generator requires a name and icon.');
14
- } else if (generator['@type'] === 'Link') {
15
- if (generator.name) {
16
- return {
17
- text: generator.name
18
- };
19
- }
20
- } else {
21
- if (generator.name) {
22
- const id = generator['@id'];
23
- return {
24
- text: generator.name,
25
- icon: extractProviderIcon(generator.icon, id),
26
- id
27
- };
28
- }
29
- }
30
- }
31
- };
32
-
33
- const extractProviderIcon = (icon, id) => {
34
- if (id) {
35
- if (id === CONFLUENCE_GENERATOR_ID) {
36
- return /*#__PURE__*/React.createElement(ConfluenceIcon, {
37
- textColor: token('color.text.subtle', N700)
38
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
39
- ,
40
- iconColor: B200,
41
- iconGradientStart: B400,
42
- iconGradientStop: B200
43
- /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
44
- ,
45
- size: "xsmall"
46
- });
47
- } else if (id === JIRA_GENERATOR_ID) {
48
- return /*#__PURE__*/React.createElement(JiraIcon, {
49
- textColor: token('color.text.subtle', N700)
50
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
51
- ,
52
- iconColor: B200,
53
- iconGradientStart: B400,
54
- iconGradientStop: B200
55
- /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
56
- ,
57
- size: "xsmall"
58
- });
59
- }
60
- }
61
-
62
- if (icon) {
63
- return extractUrlFromIconJsonLd(icon);
64
- }
65
- };
@@ -1,5 +0,0 @@
1
- export const extractDateCreated = jsonLd => {
2
- if (jsonLd['schema:dateCreated']) {
3
- return jsonLd['schema:dateCreated'];
4
- }
5
- };
@@ -1,5 +0,0 @@
1
- export const extractDateUpdated = jsonLd => {
2
- if (jsonLd.updated) {
3
- return jsonLd.updated;
4
- }
5
- };
@@ -1,23 +0,0 @@
1
- import { extractPersonFromJsonLd } from '../utils';
2
- export const extractMembers = jsonLd => {
3
- const members = jsonLd['atlassian:member'];
4
-
5
- if (members) {
6
- if (typeof members === 'string') {
7
- throw Error('Link[atlassian:members] must be an array or object.');
8
- } else if (members.hasOwnProperty('totalItems')) {
9
- const collection = members;
10
-
11
- if (collection.items) {
12
- return collection.items.map(member => extractPersonFromJsonLd(member)).filter(member => !!member);
13
- }
14
- } else {
15
- const memberItem = members;
16
- const memberItemForLink = extractPersonFromJsonLd(memberItem);
17
-
18
- if (memberItemForLink) {
19
- return [memberItemForLink];
20
- }
21
- }
22
- }
23
- };
@@ -1,8 +0,0 @@
1
- import { extractPersonFromJsonLd } from '../utils';
2
- export const extractPersonAssignedTo = jsonLd => {
3
- const assignedTo = jsonLd['atlassian:assignedTo'];
4
-
5
- if (assignedTo) {
6
- return extractPersonFromJsonLd(assignedTo);
7
- }
8
- };
@@ -1,16 +0,0 @@
1
- import { extractPersonFromJsonLd } from '../utils';
2
- export const extractPersonCreatedBy = jsonLd => {
3
- const attributedTo = jsonLd.attributedTo;
4
-
5
- if (attributedTo) {
6
- if (Array.isArray(attributedTo)) {
7
- return attributedTo.map(extractPersonFromJsonLd).filter(item => !!item);
8
- } else {
9
- const item = extractPersonFromJsonLd(attributedTo);
10
-
11
- if (item) {
12
- return [item];
13
- }
14
- }
15
- }
16
- };
@@ -1,8 +0,0 @@
1
- import { extractPersonFromJsonLd } from '../utils';
2
- export const extractPersonUpdatedBy = jsonLd => {
3
- const updatedBy = jsonLd['atlassian:updatedBy'];
4
-
5
- if (updatedBy) {
6
- return extractPersonFromJsonLd(updatedBy);
7
- }
8
- };
@@ -1,4 +0,0 @@
1
- export { extractMembers } from './extractMembers';
2
- export { extractPersonAssignedTo } from './extractPersonAssignedTo';
3
- export { extractPersonCreatedBy } from './extractPersonCreatedBy';
4
- export { extractPersonUpdatedBy } from './extractPersonUpdatedBy';
@@ -1 +0,0 @@
1
- export {};
@@ -1,16 +0,0 @@
1
- import { extractUrlFromLinkJsonLd } from '@atlaskit/linking-common';
2
- export const extractImage = jsonLd => {
3
- const image = jsonLd.image;
4
-
5
- if (image) {
6
- if (typeof image === 'string') {
7
- return image;
8
- } else if (image['@type'] === 'Link') {
9
- return extractUrlFromLinkJsonLd(image);
10
- } else if (image['@type'] === 'Image') {
11
- if (image.url) {
12
- return extractUrlFromLinkJsonLd(image.url);
13
- }
14
- }
15
- }
16
- };
@@ -1,2 +0,0 @@
1
- export { extractPreview } from '@atlaskit/linking-common';
2
- export { extractImage } from './extractImage';
@@ -1,12 +0,0 @@
1
- import { extractUrlFromLinkJsonLd } from '@atlaskit/linking-common';
2
- export const extractLink = jsonLd => {
3
- const url = jsonLd.url;
4
-
5
- if (url) {
6
- if (typeof url === 'string') {
7
- return url;
8
- } else {
9
- return extractUrlFromLinkJsonLd(url);
10
- }
11
- }
12
- };
@@ -1,37 +0,0 @@
1
- import { extractContext } from '../context';
2
- import { extractType } from './extractType';
3
- export const extractTitle = jsonLd => {
4
- const name = jsonLd.name;
5
- const id = jsonLd['@id'] || ''; // Check if this is a reference to something _inside_ a Repository.
6
- // We format these titles to represent more metadata.
7
-
8
- const context = extractContext(jsonLd);
9
- const type = extractType(jsonLd);
10
- const hasContextType = context && context.type;
11
- const hasContextRepo = hasContextType && context.type.includes('atlassian:SourceCodeRepository');
12
-
13
- if (hasContextRepo && type) {
14
- const contextName = context.name && `${context.name}: ` || ''; // COMMIT: `repo-name: abf137c title of commit message`
15
-
16
- if (type.includes('atlassian:SourceCodeCommit')) {
17
- const [, hashContent] = id.split(':');
18
- const hash = hashContent && `${hashContent.substring(0, 8)} `;
19
- return contextName + (hash || '') + name;
20
- } // PR: `repo-name: #42 title of pull request`
21
-
22
-
23
- if (type.includes('atlassian:SourceCodePullRequest')) {
24
- const pullRequest = jsonLd;
25
- const internalId = pullRequest['atlassian:internalId'];
26
- const internalIdRef = internalId && `#${internalId} `;
27
- return contextName + (internalIdRef || '') + name;
28
- } // BRANCH: `repo-name/branch-name`
29
-
30
-
31
- if (type.includes('atlassian:SourceCodeReference')) {
32
- return contextName + name;
33
- }
34
- }
35
-
36
- return name;
37
- };
@@ -1,11 +0,0 @@
1
- export const extractType = jsonLd => {
2
- const type = jsonLd['@type'];
3
-
4
- if (type) {
5
- if (Array.isArray(jsonLd['@type'])) {
6
- return type;
7
- } else {
8
- return [type];
9
- }
10
- }
11
- };
@@ -1,30 +0,0 @@
1
- import { extractUrlFromLinkJsonLd } from '@atlaskit/linking-common';
2
- export const extractUrlFromIconJsonLd = icon => {
3
- if (typeof icon === 'string') {
4
- return icon;
5
- } else if (icon['@type'] === 'Link') {
6
- return extractUrlFromLinkJsonLd(icon);
7
- } else {
8
- if (icon.url) {
9
- return extractUrlFromLinkJsonLd(icon.url);
10
- }
11
- }
12
- };
13
- export const extractPersonFromJsonLd = person => {
14
- if (typeof person === 'string') {
15
- throw Error('Link.person needs to be an object.');
16
- } else if (person['@type'] === 'Link') {
17
- if (person.name) {
18
- return {
19
- name: person.name
20
- };
21
- }
22
- } else {
23
- if (person.name) {
24
- return {
25
- name: person.name,
26
- src: person.icon && extractUrlFromIconJsonLd(person.icon)
27
- };
28
- }
29
- }
30
- };
@@ -1,27 +0,0 @@
1
- import { extractUrlFromIconJsonLd } from '../utils';
2
- import { extractType } from '../primitives/extractType';
3
- export var extractContext = function extractContext(jsonLd) {
4
- var context = jsonLd.context;
5
-
6
- if (context) {
7
- if (typeof context === 'string') {
8
- return {
9
- name: context
10
- };
11
- } else if (context['@type'] === 'Link') {
12
- if (context.name) {
13
- return {
14
- name: context.name
15
- };
16
- }
17
- } else {
18
- if (context.name) {
19
- return {
20
- name: context.name,
21
- icon: context.icon && extractUrlFromIconJsonLd(context.icon),
22
- type: extractType(context)
23
- };
24
- }
25
- }
26
- }
27
- };
@@ -1,65 +0,0 @@
1
- import React from 'react';
2
- import { N700, B200, B400 } from '@atlaskit/theme/colors';
3
- import { token } from '@atlaskit/tokens';
4
- import { ConfluenceIcon } from '@atlaskit/logo/confluence-icon';
5
- import { JiraIcon } from '@atlaskit/logo/jira-icon';
6
- import { extractUrlFromIconJsonLd } from '../utils';
7
- import { CONFLUENCE_GENERATOR_ID, JIRA_GENERATOR_ID } from '../../constants';
8
- export var extractProvider = function extractProvider(jsonLd) {
9
- var generator = jsonLd.generator;
10
-
11
- if (generator) {
12
- if (typeof generator === 'string') {
13
- throw Error('Link.generator requires a name and icon.');
14
- } else if (generator['@type'] === 'Link') {
15
- if (generator.name) {
16
- return {
17
- text: generator.name
18
- };
19
- }
20
- } else {
21
- if (generator.name) {
22
- var id = generator['@id'];
23
- return {
24
- text: generator.name,
25
- icon: extractProviderIcon(generator.icon, id),
26
- id: id
27
- };
28
- }
29
- }
30
- }
31
- };
32
-
33
- var extractProviderIcon = function extractProviderIcon(icon, id) {
34
- if (id) {
35
- if (id === CONFLUENCE_GENERATOR_ID) {
36
- return /*#__PURE__*/React.createElement(ConfluenceIcon, {
37
- textColor: token('color.text.subtle', N700)
38
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
39
- ,
40
- iconColor: B200,
41
- iconGradientStart: B400,
42
- iconGradientStop: B200
43
- /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
44
- ,
45
- size: "xsmall"
46
- });
47
- } else if (id === JIRA_GENERATOR_ID) {
48
- return /*#__PURE__*/React.createElement(JiraIcon, {
49
- textColor: token('color.text.subtle', N700)
50
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
51
- ,
52
- iconColor: B200,
53
- iconGradientStart: B400,
54
- iconGradientStop: B200
55
- /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
56
- ,
57
- size: "xsmall"
58
- });
59
- }
60
- }
61
-
62
- if (icon) {
63
- return extractUrlFromIconJsonLd(icon);
64
- }
65
- };
@@ -1,5 +0,0 @@
1
- export var extractDateCreated = function extractDateCreated(jsonLd) {
2
- if (jsonLd['schema:dateCreated']) {
3
- return jsonLd['schema:dateCreated'];
4
- }
5
- };
@@ -1,5 +0,0 @@
1
- export var extractDateUpdated = function extractDateUpdated(jsonLd) {
2
- if (jsonLd.updated) {
3
- return jsonLd.updated;
4
- }
5
- };
@@ -1,27 +0,0 @@
1
- import { extractPersonFromJsonLd } from '../utils';
2
- export var extractMembers = function extractMembers(jsonLd) {
3
- var members = jsonLd['atlassian:member'];
4
-
5
- if (members) {
6
- if (typeof members === 'string') {
7
- throw Error('Link[atlassian:members] must be an array or object.');
8
- } else if (members.hasOwnProperty('totalItems')) {
9
- var collection = members;
10
-
11
- if (collection.items) {
12
- return collection.items.map(function (member) {
13
- return extractPersonFromJsonLd(member);
14
- }).filter(function (member) {
15
- return !!member;
16
- });
17
- }
18
- } else {
19
- var memberItem = members;
20
- var memberItemForLink = extractPersonFromJsonLd(memberItem);
21
-
22
- if (memberItemForLink) {
23
- return [memberItemForLink];
24
- }
25
- }
26
- }
27
- };
@@ -1,8 +0,0 @@
1
- import { extractPersonFromJsonLd } from '../utils';
2
- export var extractPersonAssignedTo = function extractPersonAssignedTo(jsonLd) {
3
- var assignedTo = jsonLd['atlassian:assignedTo'];
4
-
5
- if (assignedTo) {
6
- return extractPersonFromJsonLd(assignedTo);
7
- }
8
- };
@@ -1,18 +0,0 @@
1
- import { extractPersonFromJsonLd } from '../utils';
2
- export var extractPersonCreatedBy = function extractPersonCreatedBy(jsonLd) {
3
- var attributedTo = jsonLd.attributedTo;
4
-
5
- if (attributedTo) {
6
- if (Array.isArray(attributedTo)) {
7
- return attributedTo.map(extractPersonFromJsonLd).filter(function (item) {
8
- return !!item;
9
- });
10
- } else {
11
- var item = extractPersonFromJsonLd(attributedTo);
12
-
13
- if (item) {
14
- return [item];
15
- }
16
- }
17
- }
18
- };
@@ -1,8 +0,0 @@
1
- import { extractPersonFromJsonLd } from '../utils';
2
- export var extractPersonUpdatedBy = function extractPersonUpdatedBy(jsonLd) {
3
- var updatedBy = jsonLd['atlassian:updatedBy'];
4
-
5
- if (updatedBy) {
6
- return extractPersonFromJsonLd(updatedBy);
7
- }
8
- };
@@ -1,4 +0,0 @@
1
- export { extractMembers } from './extractMembers';
2
- export { extractPersonAssignedTo } from './extractPersonAssignedTo';
3
- export { extractPersonCreatedBy } from './extractPersonCreatedBy';
4
- export { extractPersonUpdatedBy } from './extractPersonUpdatedBy';
@@ -1 +0,0 @@
1
- export {};
@@ -1,16 +0,0 @@
1
- import { extractUrlFromLinkJsonLd } from '@atlaskit/linking-common';
2
- export var extractImage = function extractImage(jsonLd) {
3
- var image = jsonLd.image;
4
-
5
- if (image) {
6
- if (typeof image === 'string') {
7
- return image;
8
- } else if (image['@type'] === 'Link') {
9
- return extractUrlFromLinkJsonLd(image);
10
- } else if (image['@type'] === 'Image') {
11
- if (image.url) {
12
- return extractUrlFromLinkJsonLd(image.url);
13
- }
14
- }
15
- }
16
- };
@@ -1,2 +0,0 @@
1
- export { extractPreview } from '@atlaskit/linking-common';
2
- export { extractImage } from './extractImage';
@@ -1,12 +0,0 @@
1
- import { extractUrlFromLinkJsonLd } from '@atlaskit/linking-common';
2
- export var extractLink = function extractLink(jsonLd) {
3
- var url = jsonLd.url;
4
-
5
- if (url) {
6
- if (typeof url === 'string') {
7
- return url;
8
- } else {
9
- return extractUrlFromLinkJsonLd(url);
10
- }
11
- }
12
- };