@atlaskit/smart-card 19.1.31 → 20.0.1

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 (145) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/extractors/block/index.js +9 -19
  3. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +3 -5
  4. package/dist/cjs/extractors/common/byline/extractByline.js +5 -11
  5. package/dist/cjs/extractors/common/context/index.js +0 -16
  6. package/dist/cjs/extractors/common/icon/extractIcon.js +4 -8
  7. package/dist/cjs/extractors/common/lozenge/extractLozenge.js +2 -2
  8. package/dist/cjs/extractors/common/lozenge/extractTaskType.js +2 -2
  9. package/dist/cjs/extractors/common/primitives/index.js +0 -16
  10. package/dist/cjs/extractors/embed/index.js +5 -9
  11. package/dist/cjs/extractors/flexible/collaboratorGroup/index.js +2 -2
  12. package/dist/cjs/extractors/flexible/extract-preview.js +2 -2
  13. package/dist/cjs/extractors/flexible/extract-priority.js +2 -2
  14. package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +2 -2
  15. package/dist/cjs/extractors/flexible/icon/extract-provider-icon.js +2 -2
  16. package/dist/cjs/extractors/flexible/icon/extract-url-icon.js +2 -2
  17. package/dist/cjs/extractors/flexible/index.js +6 -10
  18. package/dist/cjs/extractors/flexible/utils.js +3 -3
  19. package/dist/cjs/extractors/inline/index.js +4 -4
  20. package/dist/cjs/version.json +1 -1
  21. package/dist/cjs/view/FlexibleCard/utils.js +3 -1
  22. package/dist/cjs/view/HoverCard/components/hover-card-content.js +17 -8
  23. package/dist/cjs/view/HoverCard/index.js +18 -12
  24. package/dist/cjs/view/InlineCard/index.js +5 -3
  25. package/dist/cjs/view/common/Modal.js +2 -1
  26. package/dist/es2019/extractors/block/index.js +2 -7
  27. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +1 -2
  28. package/dist/es2019/extractors/common/byline/extractByline.js +1 -4
  29. package/dist/es2019/extractors/common/context/index.js +0 -2
  30. package/dist/es2019/extractors/common/icon/extractIcon.js +1 -3
  31. package/dist/es2019/extractors/common/lozenge/extractLozenge.js +1 -1
  32. package/dist/es2019/extractors/common/lozenge/extractTaskType.js +1 -1
  33. package/dist/es2019/extractors/common/primitives/index.js +0 -2
  34. package/dist/es2019/extractors/embed/index.js +1 -3
  35. package/dist/es2019/extractors/flexible/collaboratorGroup/index.js +1 -1
  36. package/dist/es2019/extractors/flexible/extract-preview.js +1 -1
  37. package/dist/es2019/extractors/flexible/extract-priority.js +1 -1
  38. package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +1 -1
  39. package/dist/es2019/extractors/flexible/icon/extract-provider-icon.js +1 -1
  40. package/dist/es2019/extractors/flexible/icon/extract-url-icon.js +1 -1
  41. package/dist/es2019/extractors/flexible/index.js +2 -4
  42. package/dist/es2019/extractors/flexible/utils.js +1 -1
  43. package/dist/es2019/extractors/inline/index.js +2 -2
  44. package/dist/es2019/version.json +1 -1
  45. package/dist/es2019/view/FlexibleCard/utils.js +2 -1
  46. package/dist/es2019/view/HoverCard/components/hover-card-content.js +17 -6
  47. package/dist/es2019/view/HoverCard/index.js +18 -12
  48. package/dist/es2019/view/InlineCard/index.js +2 -1
  49. package/dist/es2019/view/common/Modal.js +1 -1
  50. package/dist/esm/extractors/block/index.js +2 -7
  51. package/dist/esm/extractors/common/actions/extractPreviewAction.js +1 -2
  52. package/dist/esm/extractors/common/byline/extractByline.js +1 -4
  53. package/dist/esm/extractors/common/context/index.js +0 -2
  54. package/dist/esm/extractors/common/icon/extractIcon.js +1 -3
  55. package/dist/esm/extractors/common/lozenge/extractLozenge.js +1 -1
  56. package/dist/esm/extractors/common/lozenge/extractTaskType.js +1 -1
  57. package/dist/esm/extractors/common/primitives/index.js +0 -2
  58. package/dist/esm/extractors/embed/index.js +1 -3
  59. package/dist/esm/extractors/flexible/collaboratorGroup/index.js +1 -1
  60. package/dist/esm/extractors/flexible/extract-preview.js +1 -1
  61. package/dist/esm/extractors/flexible/extract-priority.js +1 -1
  62. package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +1 -1
  63. package/dist/esm/extractors/flexible/icon/extract-provider-icon.js +1 -1
  64. package/dist/esm/extractors/flexible/icon/extract-url-icon.js +1 -1
  65. package/dist/esm/extractors/flexible/index.js +2 -4
  66. package/dist/esm/extractors/flexible/utils.js +1 -1
  67. package/dist/esm/extractors/inline/index.js +2 -2
  68. package/dist/esm/version.json +1 -1
  69. package/dist/esm/view/FlexibleCard/utils.js +2 -1
  70. package/dist/esm/view/HoverCard/components/hover-card-content.js +16 -7
  71. package/dist/esm/view/HoverCard/index.js +18 -12
  72. package/dist/esm/view/InlineCard/index.js +2 -1
  73. package/dist/esm/view/common/Modal.js +2 -1
  74. package/dist/types/extractors/block/index.d.ts +1 -1
  75. package/dist/types/extractors/common/context/index.d.ts +0 -2
  76. package/dist/types/extractors/common/icon/extractIcon.d.ts +1 -1
  77. package/dist/types/extractors/common/primitives/index.d.ts +0 -2
  78. package/dist/types/extractors/flexible/collaboratorGroup/index.d.ts +1 -1
  79. package/dist/types/state/flexible-ui-context/types.d.ts +1 -1
  80. package/dist/types/view/HoverCard/types.d.ts +1 -0
  81. package/package.json +3 -3
  82. package/dist/cjs/extractors/common/context/extractContext.js +0 -38
  83. package/dist/cjs/extractors/common/context/extractProvider.js +0 -83
  84. package/dist/cjs/extractors/common/date/extractDateCreated.js +0 -14
  85. package/dist/cjs/extractors/common/date/extractDateUpdated.js +0 -14
  86. package/dist/cjs/extractors/common/person/extractMembers.js +0 -37
  87. package/dist/cjs/extractors/common/person/extractPersonAssignedTo.js +0 -18
  88. package/dist/cjs/extractors/common/person/extractPersonCreatedBy.js +0 -28
  89. package/dist/cjs/extractors/common/person/extractPersonUpdatedBy.js +0 -18
  90. package/dist/cjs/extractors/common/person/index.js +0 -37
  91. package/dist/cjs/extractors/common/person/types.js +0 -5
  92. package/dist/cjs/extractors/common/preview/extractImage.js +0 -26
  93. package/dist/cjs/extractors/common/preview/index.js +0 -21
  94. package/dist/cjs/extractors/common/primitives/extractLink.js +0 -22
  95. package/dist/cjs/extractors/common/primitives/extractTitle.js +0 -55
  96. package/dist/cjs/extractors/common/primitives/extractType.js +0 -20
  97. package/dist/cjs/extractors/common/utils.js +0 -43
  98. package/dist/es2019/extractors/common/context/extractContext.js +0 -27
  99. package/dist/es2019/extractors/common/context/extractProvider.js +0 -65
  100. package/dist/es2019/extractors/common/date/extractDateCreated.js +0 -5
  101. package/dist/es2019/extractors/common/date/extractDateUpdated.js +0 -5
  102. package/dist/es2019/extractors/common/person/extractMembers.js +0 -23
  103. package/dist/es2019/extractors/common/person/extractPersonAssignedTo.js +0 -8
  104. package/dist/es2019/extractors/common/person/extractPersonCreatedBy.js +0 -16
  105. package/dist/es2019/extractors/common/person/extractPersonUpdatedBy.js +0 -8
  106. package/dist/es2019/extractors/common/person/index.js +0 -4
  107. package/dist/es2019/extractors/common/person/types.js +0 -1
  108. package/dist/es2019/extractors/common/preview/extractImage.js +0 -16
  109. package/dist/es2019/extractors/common/preview/index.js +0 -2
  110. package/dist/es2019/extractors/common/primitives/extractLink.js +0 -12
  111. package/dist/es2019/extractors/common/primitives/extractTitle.js +0 -37
  112. package/dist/es2019/extractors/common/primitives/extractType.js +0 -11
  113. package/dist/es2019/extractors/common/utils.js +0 -30
  114. package/dist/esm/extractors/common/context/extractContext.js +0 -27
  115. package/dist/esm/extractors/common/context/extractProvider.js +0 -65
  116. package/dist/esm/extractors/common/date/extractDateCreated.js +0 -5
  117. package/dist/esm/extractors/common/date/extractDateUpdated.js +0 -5
  118. package/dist/esm/extractors/common/person/extractMembers.js +0 -27
  119. package/dist/esm/extractors/common/person/extractPersonAssignedTo.js +0 -8
  120. package/dist/esm/extractors/common/person/extractPersonCreatedBy.js +0 -18
  121. package/dist/esm/extractors/common/person/extractPersonUpdatedBy.js +0 -8
  122. package/dist/esm/extractors/common/person/index.js +0 -4
  123. package/dist/esm/extractors/common/person/types.js +0 -1
  124. package/dist/esm/extractors/common/preview/extractImage.js +0 -16
  125. package/dist/esm/extractors/common/preview/index.js +0 -2
  126. package/dist/esm/extractors/common/primitives/extractLink.js +0 -12
  127. package/dist/esm/extractors/common/primitives/extractTitle.js +0 -41
  128. package/dist/esm/extractors/common/primitives/extractType.js +0 -11
  129. package/dist/esm/extractors/common/utils.js +0 -30
  130. package/dist/types/extractors/common/context/extractContext.d.ts +0 -7
  131. package/dist/types/extractors/common/context/extractProvider.d.ts +0 -8
  132. package/dist/types/extractors/common/date/extractDateCreated.d.ts +0 -3
  133. package/dist/types/extractors/common/date/extractDateUpdated.d.ts +0 -2
  134. package/dist/types/extractors/common/person/extractMembers.d.ts +0 -3
  135. package/dist/types/extractors/common/person/extractPersonAssignedTo.d.ts +0 -4
  136. package/dist/types/extractors/common/person/extractPersonCreatedBy.d.ts +0 -3
  137. package/dist/types/extractors/common/person/extractPersonUpdatedBy.d.ts +0 -5
  138. package/dist/types/extractors/common/person/index.d.ts +0 -5
  139. package/dist/types/extractors/common/person/types.d.ts +0 -4
  140. package/dist/types/extractors/common/preview/extractImage.d.ts +0 -2
  141. package/dist/types/extractors/common/preview/index.d.ts +0 -3
  142. package/dist/types/extractors/common/primitives/extractLink.d.ts +0 -2
  143. package/dist/types/extractors/common/primitives/extractTitle.d.ts +0 -2
  144. package/dist/types/extractors/common/primitives/extractType.d.ts +0 -2
  145. package/dist/types/extractors/common/utils.d.ts +0 -4
@@ -1,11 +1,9 @@
1
- import { extractLink, extractSummary, extractTitle } from '../common/primitives';
1
+ import { extractSummary } from '../common/primitives';
2
2
  import { extractLozenge } from '../common/lozenge';
3
3
  import { extractLinkIcon } from './icon';
4
4
  import { extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch, extractDueOn } from './utils';
5
- import { extractPersonCreatedBy } from '../common/person';
6
5
  import { extractPersonsUpdatedBy } from './collaboratorGroup';
7
- import { extractDateUpdated } from '../common/date/extractDateUpdated';
8
- import { extractDateCreated } from '../common/date/extractDateCreated';
6
+ import { extractPersonCreatedBy, extractLink, extractTitle, extractDateUpdated, extractDateCreated } from '@atlaskit/linking-common/extractors';
9
7
  import extractPriority from './extract-priority';
10
8
  import extractProviderIcon from './icon/extract-provider-icon';
11
9
  import extractPreview from './extract-preview';
@@ -1,5 +1,5 @@
1
1
  import _typeof from "@babel/runtime/helpers/typeof";
2
- import { extractPersonCreatedBy, extractPersonUpdatedBy } from '../common/person';
2
+ import { extractPersonCreatedBy, extractPersonUpdatedBy } from '@atlaskit/linking-common/extractors';
3
3
 
4
4
  var extractLinkName = function extractLinkName(link) {
5
5
  if (link && _typeof(link) === 'object' && link['@type'] === 'Link') {
@@ -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.31",
3
+ "version": "20.0.1",
4
4
  "sideEffects": false
5
5
  }
@@ -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,7 +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 '../../../extractors/common/primitives/extractType';
12
+ import { extractType } from '@atlaskit/linking-common/extractors';
13
13
  var flexibleUiOptions = {
14
14
  hideElevation: true,
15
15
  size: SmartLinkSize.Medium,
@@ -18,7 +18,7 @@ var flexibleUiOptions = {
18
18
  hidePadding: true
19
19
  };
20
20
 
21
- var getOpenAction = function getOpenAction(url, analytics) {
21
+ var getOpenAction = function getOpenAction(url, analytics, onActionClick) {
22
22
  return {
23
23
  name: ActionName.CustomAction,
24
24
  icon: /*#__PURE__*/React.createElement(ShortcutIcon, {
@@ -27,6 +27,10 @@ var getOpenAction = function getOpenAction(url, analytics) {
27
27
  }),
28
28
  iconPosition: 'before',
29
29
  onClick: function onClick() {
30
+ if (onActionClick) {
31
+ onActionClick('open-content');
32
+ }
33
+
30
34
  window.open(url, '_blank');
31
35
  analytics.ui.hoverCardOpenLinkClickedEvent('card');
32
36
  },
@@ -34,12 +38,16 @@ var getOpenAction = function getOpenAction(url, analytics) {
34
38
  };
35
39
  };
36
40
 
37
- var toFooterActions = function toFooterActions(cardActions) {
41
+ var toFooterActions = function toFooterActions(cardActions, onActionClick) {
38
42
  return cardActions.map(function (action) {
39
43
  return {
40
44
  content: action.text,
41
45
  name: ActionName.CustomAction,
42
46
  onClick: function onClick() {
47
+ if (onActionClick) {
48
+ onActionClick(action.id);
49
+ }
50
+
43
51
  return action.invoke();
44
52
  },
45
53
  testId: action.id
@@ -54,6 +62,7 @@ var HoverCardContent = function HoverCardContent(_ref) {
54
62
  _ref$cardActions = _ref.cardActions,
55
63
  cardActions = _ref$cardActions === void 0 ? [] : _ref$cardActions,
56
64
  cardState = _ref.cardState,
65
+ onActionClick = _ref.onActionClick,
57
66
  onResolve = _ref.onResolve,
58
67
  renderers = _ref.renderers,
59
68
  url = _ref.url;
@@ -70,11 +79,11 @@ var HoverCardContent = function HoverCardContent(_ref) {
70
79
  analytics.ui.cardClickedEvent(undefined, HOVER_CARD_ANALYTICS_DISPLAY, cardState.status, undefined, undefined, isModifierKeyPressed, undefined, undefined, undefined, 'titleGoToLink');
71
80
  }, [cardState.status, analytics.ui]);
72
81
  var titleActions = useMemo(function () {
73
- return [getOpenAction(url, analytics)];
74
- }, [url, analytics]);
82
+ return [getOpenAction(url, analytics, onActionClick)];
83
+ }, [url, analytics, onActionClick]);
75
84
  var footerActions = useMemo(function () {
76
- return toFooterActions(cardActions);
77
- }, [cardActions]);
85
+ return toFooterActions(cardActions, onActionClick);
86
+ }, [cardActions, onActionClick]);
78
87
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
79
88
  var types = data ? extractType(data) : undefined; //TODO: EDM-3224 deleted simulated and use real JsonLd
80
89
 
@@ -35,21 +35,24 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
35
35
  var renderers = useSmartLinkRenderers();
36
36
  var linkState = useLinkState(url);
37
37
  var analytics = useSmartLinkAnalytics(url, analyticsHandler, id);
38
+ var hideCard = useCallback(function () {
39
+ //Check its previously open to avoid firing events when moving between the child and hover card components
40
+ if (isOpen === true && cardOpenTime.current) {
41
+ var hoverTime = Date.now() - cardOpenTime.current;
42
+ analytics.ui.hoverCardDismissedEvent('card', hoverTime, 'mouse_hover');
43
+ }
44
+
45
+ setIsOpen(false);
46
+ }, [analytics.ui, isOpen]);
38
47
  var initHideCard = useCallback(function () {
39
48
  if (fadeInTimeoutId.current) {
40
49
  clearTimeout(fadeInTimeoutId.current);
41
50
  }
42
51
 
43
52
  fadeOutTimeoutId.current = setTimeout(function () {
44
- //Check its previously open to avoid firing events when moving between the child and hover card components
45
- if (isOpen === true && cardOpenTime.current) {
46
- var hoverTime = Date.now() - cardOpenTime.current;
47
- analytics.ui.hoverCardDismissedEvent('card', hoverTime, 'mouse_hover');
48
- }
49
-
50
- setIsOpen(false);
53
+ return hideCard();
51
54
  }, delay);
52
- }, [delay, isOpen, analytics.ui]);
55
+ }, [hideCard]);
53
56
  var initShowCard = useCallback(function () {
54
57
  if (fadeOutTimeoutId.current) {
55
58
  clearTimeout(fadeOutTimeoutId.current);
@@ -70,13 +73,15 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
70
73
  appearance: HOVER_CARD_ANALYTICS_DISPLAY,
71
74
  analyticsHandler: analyticsHandler
72
75
  });
73
- var onClose = useCallback(function () {
74
- return setIsOpen(false);
75
- }, []);
76
+ var onActionClick = useCallback(function (actionId) {
77
+ if (actionId === 'preview-content') {
78
+ hideCard();
79
+ }
80
+ }, [hideCard]);
76
81
  return jsx(Popup, {
77
82
  testId: "hover-card",
78
83
  isOpen: isOpen,
79
- onClose: onClose,
84
+ onClose: hideCard,
80
85
  placement: "bottom-start",
81
86
  content: function content(_ref2) {
82
87
  var update = _ref2.update;
@@ -88,6 +93,7 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
88
93
  analytics: analytics,
89
94
  cardActions: linkActions,
90
95
  cardState: linkState,
96
+ onActionClick: onActionClick,
91
97
  onResolve: update,
92
98
  renderers: renderers,
93
99
  url: url
@@ -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;
@@ -66,7 +66,8 @@ var Modal = function Modal(_ref) {
66
66
  var onClose = _ref.onClose,
67
67
  onOpen = _ref.onOpen,
68
68
  src = _ref.src,
69
- testId = _ref.testId,
69
+ _ref$testId = _ref.testId,
70
+ testId = _ref$testId === void 0 ? 'smart-links-preview-modal' : _ref$testId,
70
71
  showModal = _ref.showModal,
71
72
  providerName = _ref.providerName,
72
73
  metadata = _ref.metadata,
@@ -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';
@@ -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,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';
@@ -1,4 +1,4 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
- import { LinkPerson } from '../../common/person/types';
2
+ import { LinkPerson } from '@atlaskit/linking-common/extractors';
3
3
  export declare type LinkTypeUpdatedBy = JsonLd.Data.Document | JsonLd.Data.Project | JsonLd.Data.SourceCodePullRequest | JsonLd.Data.SourceCodeReference | JsonLd.Data.SourceCodeRepository | JsonLd.Data.Task;
4
4
  export declare const extractPersonsUpdatedBy: (jsonLd: LinkTypeUpdatedBy) => LinkPerson[] | undefined;
@@ -1,5 +1,5 @@
1
1
  import { LinkLozenge } from '../../extractors/common/lozenge/types';
2
- import { LinkPerson } from '../../extractors/common/person/types';
2
+ import { LinkPerson } from '@atlaskit/linking-common/extractors';
3
3
  import { IconType, MediaType } from '../../constants';
4
4
  /**
5
5
  * This provides the data that will be used by Smart Links Flexible UI to populate it's
@@ -20,6 +20,7 @@ export declare type HoverCardContentProps = {
20
20
  cardActions?: LinkAction[];
21
21
  cardState: CardState;
22
22
  renderers?: CardProviderRenderers;
23
+ onActionClick: (actionId: string) => void;
23
24
  onResolve: () => void;
24
25
  url: string;
25
26
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "19.1.31",
3
+ "version": "20.0.1",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -33,7 +33,7 @@
33
33
  "@atlaskit/icon-object": "^6.2.0",
34
34
  "@atlaskit/icon-priority": "^6.3.0",
35
35
  "@atlaskit/in-product-testing": "^0.1.0",
36
- "@atlaskit/linking-common": "^1.1.0",
36
+ "@atlaskit/linking-common": "^1.2.0",
37
37
  "@atlaskit/logo": "^13.7.0",
38
38
  "@atlaskit/lozenge": "^11.1.0",
39
39
  "@atlaskit/media-common": "^2.15.0",
@@ -58,7 +58,7 @@
58
58
  "uuid": "^3.1.0"
59
59
  },
60
60
  "peerDependencies": {
61
- "@atlaskit/link-provider": "^1.0.4",
61
+ "@atlaskit/link-provider": "^1.1.0",
62
62
  "react": "^16.8.0",
63
63
  "react-dom": "^16.8.0",
64
64
  "react-intl-next": "npm:react-intl@^5.18.1"
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractContext = void 0;
7
-
8
- var _utils = require("../utils");
9
-
10
- var _extractType = require("../primitives/extractType");
11
-
12
- var extractContext = function extractContext(jsonLd) {
13
- var context = jsonLd.context;
14
-
15
- if (context) {
16
- if (typeof context === 'string') {
17
- return {
18
- name: context
19
- };
20
- } else if (context['@type'] === 'Link') {
21
- if (context.name) {
22
- return {
23
- name: context.name
24
- };
25
- }
26
- } else {
27
- if (context.name) {
28
- return {
29
- name: context.name,
30
- icon: context.icon && (0, _utils.extractUrlFromIconJsonLd)(context.icon),
31
- type: (0, _extractType.extractType)(context)
32
- };
33
- }
34
- }
35
- }
36
- };
37
-
38
- exports.extractContext = extractContext;
@@ -1,83 +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.extractProvider = void 0;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _colors = require("@atlaskit/theme/colors");
13
-
14
- var _tokens = require("@atlaskit/tokens");
15
-
16
- var _confluenceIcon = require("@atlaskit/logo/confluence-icon");
17
-
18
- var _jiraIcon = require("@atlaskit/logo/jira-icon");
19
-
20
- var _utils = require("../utils");
21
-
22
- var _constants = require("../../constants");
23
-
24
- var extractProvider = function extractProvider(jsonLd) {
25
- var generator = jsonLd.generator;
26
-
27
- if (generator) {
28
- if (typeof generator === 'string') {
29
- throw Error('Link.generator requires a name and icon.');
30
- } else if (generator['@type'] === 'Link') {
31
- if (generator.name) {
32
- return {
33
- text: generator.name
34
- };
35
- }
36
- } else {
37
- if (generator.name) {
38
- var id = generator['@id'];
39
- return {
40
- text: generator.name,
41
- icon: extractProviderIcon(generator.icon, id),
42
- id: id
43
- };
44
- }
45
- }
46
- }
47
- };
48
-
49
- exports.extractProvider = extractProvider;
50
-
51
- var extractProviderIcon = function extractProviderIcon(icon, id) {
52
- if (id) {
53
- if (id === _constants.CONFLUENCE_GENERATOR_ID) {
54
- return /*#__PURE__*/_react.default.createElement(_confluenceIcon.ConfluenceIcon, {
55
- textColor: (0, _tokens.token)('color.text.subtle', _colors.N700)
56
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
57
- ,
58
- iconColor: _colors.B200,
59
- iconGradientStart: _colors.B400,
60
- iconGradientStop: _colors.B200
61
- /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
62
- ,
63
- size: "xsmall"
64
- });
65
- } else if (id === _constants.JIRA_GENERATOR_ID) {
66
- return /*#__PURE__*/_react.default.createElement(_jiraIcon.JiraIcon, {
67
- textColor: (0, _tokens.token)('color.text.subtle', _colors.N700)
68
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
69
- ,
70
- iconColor: _colors.B200,
71
- iconGradientStart: _colors.B400,
72
- iconGradientStop: _colors.B200
73
- /* eslint-enable @atlaskit/design-system/ensure-design-token-usage */
74
- ,
75
- size: "xsmall"
76
- });
77
- }
78
- }
79
-
80
- if (icon) {
81
- return (0, _utils.extractUrlFromIconJsonLd)(icon);
82
- }
83
- };
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractDateCreated = void 0;
7
-
8
- var extractDateCreated = function extractDateCreated(jsonLd) {
9
- if (jsonLd['schema:dateCreated']) {
10
- return jsonLd['schema:dateCreated'];
11
- }
12
- };
13
-
14
- exports.extractDateCreated = extractDateCreated;
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractDateUpdated = void 0;
7
-
8
- var extractDateUpdated = function extractDateUpdated(jsonLd) {
9
- if (jsonLd.updated) {
10
- return jsonLd.updated;
11
- }
12
- };
13
-
14
- exports.extractDateUpdated = extractDateUpdated;
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractMembers = void 0;
7
-
8
- var _utils = require("../utils");
9
-
10
- var extractMembers = function extractMembers(jsonLd) {
11
- var members = jsonLd['atlassian:member'];
12
-
13
- if (members) {
14
- if (typeof members === 'string') {
15
- throw Error('Link[atlassian:members] must be an array or object.');
16
- } else if (members.hasOwnProperty('totalItems')) {
17
- var collection = members;
18
-
19
- if (collection.items) {
20
- return collection.items.map(function (member) {
21
- return (0, _utils.extractPersonFromJsonLd)(member);
22
- }).filter(function (member) {
23
- return !!member;
24
- });
25
- }
26
- } else {
27
- var memberItem = members;
28
- var memberItemForLink = (0, _utils.extractPersonFromJsonLd)(memberItem);
29
-
30
- if (memberItemForLink) {
31
- return [memberItemForLink];
32
- }
33
- }
34
- }
35
- };
36
-
37
- exports.extractMembers = extractMembers;
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractPersonAssignedTo = void 0;
7
-
8
- var _utils = require("../utils");
9
-
10
- var extractPersonAssignedTo = function extractPersonAssignedTo(jsonLd) {
11
- var assignedTo = jsonLd['atlassian:assignedTo'];
12
-
13
- if (assignedTo) {
14
- return (0, _utils.extractPersonFromJsonLd)(assignedTo);
15
- }
16
- };
17
-
18
- exports.extractPersonAssignedTo = extractPersonAssignedTo;
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractPersonCreatedBy = void 0;
7
-
8
- var _utils = require("../utils");
9
-
10
- var extractPersonCreatedBy = function extractPersonCreatedBy(jsonLd) {
11
- var attributedTo = jsonLd.attributedTo;
12
-
13
- if (attributedTo) {
14
- if (Array.isArray(attributedTo)) {
15
- return attributedTo.map(_utils.extractPersonFromJsonLd).filter(function (item) {
16
- return !!item;
17
- });
18
- } else {
19
- var item = (0, _utils.extractPersonFromJsonLd)(attributedTo);
20
-
21
- if (item) {
22
- return [item];
23
- }
24
- }
25
- }
26
- };
27
-
28
- exports.extractPersonCreatedBy = extractPersonCreatedBy;
@@ -1,18 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractPersonUpdatedBy = void 0;
7
-
8
- var _utils = require("../utils");
9
-
10
- var extractPersonUpdatedBy = function extractPersonUpdatedBy(jsonLd) {
11
- var updatedBy = jsonLd['atlassian:updatedBy'];
12
-
13
- if (updatedBy) {
14
- return (0, _utils.extractPersonFromJsonLd)(updatedBy);
15
- }
16
- };
17
-
18
- exports.extractPersonUpdatedBy = extractPersonUpdatedBy;
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "extractMembers", {
7
- enumerable: true,
8
- get: function get() {
9
- return _extractMembers.extractMembers;
10
- }
11
- });
12
- Object.defineProperty(exports, "extractPersonAssignedTo", {
13
- enumerable: true,
14
- get: function get() {
15
- return _extractPersonAssignedTo.extractPersonAssignedTo;
16
- }
17
- });
18
- Object.defineProperty(exports, "extractPersonCreatedBy", {
19
- enumerable: true,
20
- get: function get() {
21
- return _extractPersonCreatedBy.extractPersonCreatedBy;
22
- }
23
- });
24
- Object.defineProperty(exports, "extractPersonUpdatedBy", {
25
- enumerable: true,
26
- get: function get() {
27
- return _extractPersonUpdatedBy.extractPersonUpdatedBy;
28
- }
29
- });
30
-
31
- var _extractMembers = require("./extractMembers");
32
-
33
- var _extractPersonAssignedTo = require("./extractPersonAssignedTo");
34
-
35
- var _extractPersonCreatedBy = require("./extractPersonCreatedBy");
36
-
37
- var _extractPersonUpdatedBy = require("./extractPersonUpdatedBy");
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,26 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.extractImage = void 0;
7
-
8
- var _linkingCommon = require("@atlaskit/linking-common");
9
-
10
- var extractImage = function extractImage(jsonLd) {
11
- var image = jsonLd.image;
12
-
13
- if (image) {
14
- if (typeof image === 'string') {
15
- return image;
16
- } else if (image['@type'] === 'Link') {
17
- return (0, _linkingCommon.extractUrlFromLinkJsonLd)(image);
18
- } else if (image['@type'] === 'Image') {
19
- if (image.url) {
20
- return (0, _linkingCommon.extractUrlFromLinkJsonLd)(image.url);
21
- }
22
- }
23
- }
24
- };
25
-
26
- exports.extractImage = extractImage;
@@ -1,21 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "extractImage", {
7
- enumerable: true,
8
- get: function get() {
9
- return _extractImage.extractImage;
10
- }
11
- });
12
- Object.defineProperty(exports, "extractPreview", {
13
- enumerable: true,
14
- get: function get() {
15
- return _linkingCommon.extractPreview;
16
- }
17
- });
18
-
19
- var _linkingCommon = require("@atlaskit/linking-common");
20
-
21
- var _extractImage = require("./extractImage");