@atlaskit/smart-card 26.9.2 → 26.9.5

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 (108) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/extractors/block/index.js +10 -10
  3. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +3 -3
  4. package/dist/cjs/extractors/common/byline/extractByline.js +5 -5
  5. package/dist/cjs/extractors/common/icon/extractIcon.js +4 -4
  6. package/dist/cjs/extractors/common/lozenge/extractLozenge.js +2 -2
  7. package/dist/cjs/extractors/common/lozenge/extractTaskType.js +2 -2
  8. package/dist/cjs/extractors/embed/index.js +5 -5
  9. package/dist/cjs/extractors/flexible/actions/extract-preview-action.js +5 -6
  10. package/dist/cjs/extractors/flexible/actions/extract-view-action.js +2 -2
  11. package/dist/cjs/extractors/flexible/collaboratorGroup/index.js +3 -3
  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/extract-state.js +2 -2
  15. package/dist/cjs/extractors/flexible/icon/extract-jsonld-data-icon.js +2 -2
  16. package/dist/cjs/extractors/flexible/icon/extract-provider-icon.js +2 -2
  17. package/dist/cjs/extractors/flexible/icon/extract-url-icon.js +2 -2
  18. package/dist/cjs/extractors/flexible/index.js +6 -6
  19. package/dist/cjs/extractors/flexible/utils.js +4 -4
  20. package/dist/cjs/extractors/inline/index.js +4 -4
  21. package/dist/cjs/version.json +1 -1
  22. package/dist/cjs/view/BlockCard/views/flexible/FlexibleForbiddenView.js +2 -2
  23. package/dist/cjs/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +2 -2
  24. package/dist/cjs/view/CardWithUrl/component.js +2 -4
  25. package/dist/cjs/view/FlexibleCard/components/container/hover-card-control/index.js +74 -0
  26. package/dist/cjs/view/FlexibleCard/components/container/hover-card-control/types.js +5 -0
  27. package/dist/cjs/view/FlexibleCard/components/container/index.js +11 -41
  28. package/dist/cjs/view/FlexibleCard/utils.js +2 -2
  29. package/dist/cjs/view/HoverCard/components/views/unauthorised/index.js +2 -2
  30. package/dist/cjs/view/HoverCard/utils.js +2 -2
  31. package/dist/cjs/view/InlineCard/index.js +4 -4
  32. package/dist/es2019/extractors/block/index.js +1 -1
  33. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +1 -1
  34. package/dist/es2019/extractors/common/byline/extractByline.js +1 -1
  35. package/dist/es2019/extractors/common/icon/extractIcon.js +1 -1
  36. package/dist/es2019/extractors/common/lozenge/extractLozenge.js +1 -1
  37. package/dist/es2019/extractors/common/lozenge/extractTaskType.js +1 -1
  38. package/dist/es2019/extractors/embed/index.js +1 -1
  39. package/dist/es2019/extractors/flexible/actions/extract-preview-action.js +1 -2
  40. package/dist/es2019/extractors/flexible/actions/extract-view-action.js +1 -1
  41. package/dist/es2019/extractors/flexible/collaboratorGroup/index.js +1 -1
  42. package/dist/es2019/extractors/flexible/extract-preview.js +1 -1
  43. package/dist/es2019/extractors/flexible/extract-priority.js +1 -1
  44. package/dist/es2019/extractors/flexible/extract-state.js +1 -1
  45. package/dist/es2019/extractors/flexible/icon/extract-jsonld-data-icon.js +1 -1
  46. package/dist/es2019/extractors/flexible/icon/extract-provider-icon.js +1 -1
  47. package/dist/es2019/extractors/flexible/icon/extract-url-icon.js +1 -1
  48. package/dist/es2019/extractors/flexible/index.js +1 -1
  49. package/dist/es2019/extractors/flexible/utils.js +1 -1
  50. package/dist/es2019/extractors/inline/index.js +1 -1
  51. package/dist/es2019/version.json +1 -1
  52. package/dist/es2019/view/BlockCard/views/flexible/FlexibleForbiddenView.js +1 -1
  53. package/dist/es2019/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +1 -1
  54. package/dist/es2019/view/CardWithUrl/component.js +2 -4
  55. package/dist/es2019/view/FlexibleCard/components/container/hover-card-control/index.js +60 -0
  56. package/dist/es2019/view/FlexibleCard/components/container/hover-card-control/types.js +1 -0
  57. package/dist/es2019/view/FlexibleCard/components/container/index.js +13 -39
  58. package/dist/es2019/view/FlexibleCard/utils.js +1 -1
  59. package/dist/es2019/view/HoverCard/components/views/unauthorised/index.js +1 -1
  60. package/dist/es2019/view/HoverCard/utils.js +1 -1
  61. package/dist/es2019/view/InlineCard/index.js +1 -1
  62. package/dist/esm/extractors/block/index.js +1 -1
  63. package/dist/esm/extractors/common/actions/extractPreviewAction.js +1 -1
  64. package/dist/esm/extractors/common/byline/extractByline.js +1 -1
  65. package/dist/esm/extractors/common/icon/extractIcon.js +1 -1
  66. package/dist/esm/extractors/common/lozenge/extractLozenge.js +1 -1
  67. package/dist/esm/extractors/common/lozenge/extractTaskType.js +1 -1
  68. package/dist/esm/extractors/embed/index.js +1 -1
  69. package/dist/esm/extractors/flexible/actions/extract-preview-action.js +1 -2
  70. package/dist/esm/extractors/flexible/actions/extract-view-action.js +1 -1
  71. package/dist/esm/extractors/flexible/collaboratorGroup/index.js +1 -1
  72. package/dist/esm/extractors/flexible/extract-preview.js +1 -1
  73. package/dist/esm/extractors/flexible/extract-priority.js +1 -1
  74. package/dist/esm/extractors/flexible/extract-state.js +1 -1
  75. package/dist/esm/extractors/flexible/icon/extract-jsonld-data-icon.js +1 -1
  76. package/dist/esm/extractors/flexible/icon/extract-provider-icon.js +1 -1
  77. package/dist/esm/extractors/flexible/icon/extract-url-icon.js +1 -1
  78. package/dist/esm/extractors/flexible/index.js +1 -1
  79. package/dist/esm/extractors/flexible/utils.js +1 -1
  80. package/dist/esm/extractors/inline/index.js +1 -1
  81. package/dist/esm/version.json +1 -1
  82. package/dist/esm/view/BlockCard/views/flexible/FlexibleForbiddenView.js +1 -1
  83. package/dist/esm/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +1 -1
  84. package/dist/esm/view/CardWithUrl/component.js +2 -4
  85. package/dist/esm/view/FlexibleCard/components/container/hover-card-control/index.js +63 -0
  86. package/dist/esm/view/FlexibleCard/components/container/hover-card-control/types.js +1 -0
  87. package/dist/esm/view/FlexibleCard/components/container/index.js +13 -43
  88. package/dist/esm/view/FlexibleCard/utils.js +1 -1
  89. package/dist/esm/view/HoverCard/components/views/unauthorised/index.js +1 -1
  90. package/dist/esm/view/HoverCard/utils.js +1 -1
  91. package/dist/esm/view/InlineCard/index.js +1 -1
  92. package/dist/types/extractors/block/index.d.ts +1 -1
  93. package/dist/types/extractors/common/icon/extractIcon.d.ts +1 -1
  94. package/dist/types/extractors/flexible/collaboratorGroup/index.d.ts +1 -1
  95. package/dist/types/state/flexible-ui-context/types.d.ts +1 -1
  96. package/dist/types/view/Card/types.d.ts +2 -1
  97. package/dist/types/view/FlexibleCard/components/container/hover-card-control/index.d.ts +4 -0
  98. package/dist/types/view/FlexibleCard/components/container/hover-card-control/types.d.ts +6 -0
  99. package/dist/types-ts4.5/extractors/block/index.d.ts +1 -1
  100. package/dist/types-ts4.5/extractors/common/icon/extractIcon.d.ts +1 -1
  101. package/dist/types-ts4.5/extractors/flexible/collaboratorGroup/index.d.ts +1 -1
  102. package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +1 -1
  103. package/dist/types-ts4.5/view/Card/types.d.ts +2 -1
  104. package/dist/types-ts4.5/view/FlexibleCard/components/container/hover-card-control/index.d.ts +4 -0
  105. package/dist/types-ts4.5/view/FlexibleCard/components/container/hover-card-control/types.d.ts +6 -0
  106. package/package.json +3 -2
  107. package/report.api.md +1 -1
  108. package/tmp/api-report-tmp.d.ts +937 -0
@@ -5,7 +5,7 @@ import { messages } from '../../messages';
5
5
  import extractFlexibleUiContext 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
+ import { extractProvider } from '@atlaskit/link-extractors';
9
9
  import extractProviderIcon from '../../extractors/flexible/icon/extract-provider-icon';
10
10
  export const getContextByStatus = params => {
11
11
  const {
@@ -4,7 +4,7 @@ import { FormattedMessage } from 'react-intl-next';
4
4
  import FlexibleCard from '../../../../FlexibleCard';
5
5
  import { messages } from '../../../../../messages';
6
6
  import { CustomBlock } from '../../../../FlexibleCard/components/blocks';
7
- import { extractProvider } from '@atlaskit/linking-common/extractors';
7
+ import { extractProvider } from '@atlaskit/link-extractors';
8
8
  import { connectButtonStyles, mainTextStyles, titleBlockStyles } from './styled';
9
9
  import UnauthorisedViewContent from '../../../../common/UnauthorisedViewContent';
10
10
  import ActionGroup from '../../../../FlexibleCard/components/blocks/action-group';
@@ -1,5 +1,5 @@
1
1
  import { ElementName } from '../../constants';
2
- import { extractType } from '@atlaskit/linking-common/extractors';
2
+ import { extractType } from '@atlaskit/link-extractors';
3
3
  import { extractOwnedBy } from '../../extractors/flexible/utils';
4
4
  export const getSimulatedMetadata = (extensionKey = '', data) => {
5
5
  const types = data ? extractType(data) : undefined;
@@ -9,7 +9,7 @@ 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
+ import { extractProvider } from '@atlaskit/link-extractors';
13
13
  import { useFeatureFlag } from '@atlaskit/link-provider';
14
14
  import { getExtensionKey } from '../../state/helpers';
15
15
  export { InlineCardResolvedView, InlineCardResolvingView, InlineCardErroredView, InlineCardForbiddenView, InlineCardUnauthorizedView };
@@ -5,7 +5,7 @@ import { extractTitleTextColor, extractSummary } from '../common/primitives';
5
5
  import { extractLozenge } from '../common/lozenge';
6
6
  import { extractIcon } from '../common/icon';
7
7
  import { extractCommentCount, extractProgrammingLanguage, extractSubscriberCount, extractAttachmentCount } from '../common/detail';
8
- import { extractLink, extractTitle, extractProvider, extractMembers, extractPersonAssignedTo, extractPersonCreatedBy, extractPersonUpdatedBy, extractImage } from '@atlaskit/linking-common/extractors';
8
+ import { extractLink, extractTitle, extractProvider, extractMembers, extractPersonAssignedTo, extractPersonCreatedBy, extractPersonUpdatedBy, extractImage } from '@atlaskit/link-extractors';
9
9
  import { extractByline } from '../common/byline/extractByline';
10
10
  import { extractTitlePrefix } from '../common/title-prefix/extractTitlePrefix';
11
11
  import { extractActions } from '../common/actions/extractActions';
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
4
  import { extractDownloadUrl } from '../detail';
5
- import { extractPreview, extractProvider } from '@atlaskit/linking-common/extractors';
5
+ import { extractPreview, extractProvider } from '@atlaskit/link-extractors';
6
6
  import { PreviewAction } from '../../../view/BlockCard';
7
7
  import { CardDisplay } from '../../../constants';
8
8
  import { extractIsSupportTheming } from '../../common/meta/extractIsSupportTheming';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { FormattedRelativeTime } from 'react-intl-next';
3
3
  import { selectUnit } from '@formatjs/intl-utils';
4
- import { extractDateCreated, extractDateUpdated, extractPersonCreatedBy, extractPersonUpdatedBy } from '@atlaskit/linking-common/extractors';
4
+ import { extractDateCreated, extractDateUpdated, extractPersonCreatedBy, extractPersonUpdatedBy } from '@atlaskit/link-extractors';
5
5
  export var extractByline = function extractByline(jsonLd) {
6
6
  var updatedAt = extractDateUpdated(jsonLd);
7
7
  var createdAt = extractDateCreated(jsonLd);
@@ -6,7 +6,7 @@ import BranchIcon from '@atlaskit/icon-object/glyph/branch/16';
6
6
  import RepoIcon from '@atlaskit/icon-object/glyph/code/16';
7
7
  import TaskIcon from '@atlaskit/icon-object/glyph/task/16';
8
8
  import { extractorPriorityMap } from './priority';
9
- import { extractProvider, extractUrlFromIconJsonLd, extractTitle } from '@atlaskit/linking-common/extractors';
9
+ import { extractProvider, extractUrlFromIconJsonLd, extractTitle } from '@atlaskit/link-extractors';
10
10
  import { extractFileFormat } from './extractFileFormat';
11
11
  import { extractIconFromDocument } from './extractIconFromDocument';
12
12
  import { extractIconFromTask } from './extractIconFromTask';
@@ -1,7 +1,7 @@
1
1
  import { extractState } from './extractState';
2
2
  import { extractTag } from './extractTag';
3
3
  import { extractTaskStatus } from './extractTaskStatus';
4
- import { extractType } from '@atlaskit/linking-common/extractors';
4
+ import { extractType } from '@atlaskit/link-extractors';
5
5
  import { extractTaskType } from './extractTaskType';
6
6
  var DOC_TYPES = ['schema:BlogPosting', 'schema:TextDigitalDocument', 'schema:DigitalDocument', 'schema:PresentationDigitalDocument', 'schema:SpreadsheetDigitalDocument'];
7
7
  export var extractLozenge = function extractLozenge(jsonLd) {
@@ -1,4 +1,4 @@
1
- import { extractUrlFromIconJsonLd } from '@atlaskit/linking-common/extractors';
1
+ import { extractUrlFromIconJsonLd } from '@atlaskit/link-extractors';
2
2
  export var extractTaskType = function extractTaskType(jsonLd) {
3
3
  // TODO: Remove once Jira migrate to the correct type.
4
4
  var taskType = jsonLd['atlassian:taskType'] || jsonLd.taskType;
@@ -1,7 +1,7 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
3
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
4
- import { extractLink, extractTitle, extractProvider, extractPreview } from '@atlaskit/linking-common/extractors';
4
+ import { extractLink, extractTitle, extractProvider, extractPreview } from '@atlaskit/link-extractors';
5
5
  import { extractIsTrusted } from '../common/meta/extractIsTrusted';
6
6
  import { extractIsSupportTheming } from '../common/meta/extractIsSupportTheming';
7
7
  var extractEmbedPreview = function extractEmbedPreview(jsonLd, platform, iframeUrlType) {
@@ -1,6 +1,5 @@
1
1
  import { extractDownloadUrl } from '../../common/detail';
2
- import { extractPreview as extractPreviewData } from '@atlaskit/linking-common';
3
- import { extractLink, extractProvider, extractTitle } from '@atlaskit/linking-common/extractors';
2
+ import { extractPreview as extractPreviewData, extractLink, extractProvider, extractTitle } from '@atlaskit/link-extractors';
4
3
  import { extractLinkIcon } from '../icon';
5
4
  import { extractIsSupportTheming } from '../../common/meta/extractIsSupportTheming';
6
5
  export var extractPreviewAction = function extractPreviewAction(response) {
@@ -1,4 +1,4 @@
1
- import { extractLink } from '@atlaskit/linking-common/extractors';
1
+ import { extractLink } from '@atlaskit/link-extractors';
2
2
  import { getActionsFromJsonLd } from '../../common/actions/extractActions';
3
3
  export var extractViewAction = function extractViewAction(data) {
4
4
  var viewActionExists = getActionsFromJsonLd(data).find(function (action) {
@@ -1,4 +1,4 @@
1
- import { extractMembers, extractPersonFromJsonLd } from '@atlaskit/linking-common/extractors';
1
+ import { extractMembers, extractPersonFromJsonLd } from '@atlaskit/link-extractors';
2
2
  export var extractPersonsUpdatedBy = function extractPersonsUpdatedBy(jsonLd) {
3
3
  if (jsonLd['@type'] === 'atlassian:Project') {
4
4
  var members = extractMembers(jsonLd);
@@ -1,4 +1,4 @@
1
- import { extractImage } from '@atlaskit/linking-common/extractors';
1
+ import { extractImage } from '@atlaskit/link-extractors';
2
2
  import { MediaType } from '../../constants';
3
3
  var extractPreview = function extractPreview(data) {
4
4
  var url = extractImage(data);
@@ -1,5 +1,5 @@
1
1
  import { IconType } from '../../constants';
2
- import { extractUrlFromIconJsonLd } from '@atlaskit/linking-common/extractors';
2
+ import { extractUrlFromIconJsonLd } from '@atlaskit/link-extractors';
3
3
  var priorityMapper = {
4
4
  blocker: IconType.PriorityBlocker,
5
5
  critical: IconType.PriorityCritical,
@@ -4,7 +4,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
4
4
  import { extractLozenge } from '../common/lozenge';
5
5
  import { getExtensionKey } from '../../state/helpers';
6
6
  import extractServerAction from './extract-server-action';
7
- import { extractLink } from '@atlaskit/linking-common/extractors';
7
+ import { extractLink } from '@atlaskit/link-extractors';
8
8
  import { extractPreviewAction } from './actions/extract-preview-action';
9
9
  var toInvokeRequest = function toInvokeRequest(extensionKey, resourceIdentifiers, actionType, details) {
10
10
  if (!actionType) {
@@ -5,7 +5,7 @@ import extractJiraTaskIcon from './extract-jira-task-icon';
5
5
  import extractProviderIcon from './extract-provider-icon';
6
6
  import extractUrlIcon from './extract-url-icon';
7
7
  import { extractTaskType } from '../../common/lozenge';
8
- import { extractTitle } from '@atlaskit/linking-common/extractors';
8
+ import { extractTitle } from '@atlaskit/link-extractors';
9
9
  import { extractorPriorityMap as priorityMap } from '../../common/icon/priority';
10
10
  import { IconType } from '../../../constants';
11
11
  var extractTask = function extractTask(data, label) {
@@ -1,7 +1,7 @@
1
1
  import { CONFLUENCE_GENERATOR_ID, JIRA_GENERATOR_ID } from '../../constants';
2
2
  import { IconType } from '../../../constants';
3
3
  import extractUrlIcon from './extract-url-icon';
4
- import { extractTitle } from '@atlaskit/linking-common/extractors';
4
+ import { extractTitle } from '@atlaskit/link-extractors';
5
5
  var extractProviderIcon = function extractProviderIcon(data) {
6
6
  if (!data) {
7
7
  return undefined;
@@ -1,4 +1,4 @@
1
- import { extractUrlFromIconJsonLd } from '@atlaskit/linking-common/extractors';
1
+ import { extractUrlFromIconJsonLd } from '@atlaskit/link-extractors';
2
2
  var extractUrlIcon = function extractUrlIcon(icon, label) {
3
3
  var url = icon && extractUrlFromIconJsonLd(icon);
4
4
  return url ? {
@@ -2,7 +2,7 @@ import { extractSummary } from '../common/primitives';
2
2
  import { extractLinkIcon } from './icon';
3
3
  import { extractAttachmentCount, extractChecklistProgress, extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch, extractDueOn, extractLocation, extractOwnedBy } from './utils';
4
4
  import { extractPersonsUpdatedBy } from './collaboratorGroup';
5
- import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink } from '@atlaskit/linking-common/extractors';
5
+ import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink } from '@atlaskit/link-extractors';
6
6
  import extractPriority from './extract-priority';
7
7
  import extractProviderIcon from './icon/extract-provider-icon';
8
8
  import extractPreview from './extract-preview';
@@ -1,5 +1,5 @@
1
1
  import _typeof from "@babel/runtime/helpers/typeof";
2
- import { extractPersonOwnedBy, extractPersonCreatedBy, extractPersonUpdatedBy } from '@atlaskit/linking-common/extractors';
2
+ import { extractPersonOwnedBy, extractPersonCreatedBy, extractPersonUpdatedBy } from '@atlaskit/link-extractors';
3
3
  var extractLinkName = function extractLinkName(link) {
4
4
  if (link && _typeof(link) === 'object' && link['@type'] === 'Link') {
5
5
  return link.name;
@@ -2,7 +2,7 @@ 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 { extractLink, extractTitle, extractProvider } from '@atlaskit/linking-common/extractors';
5
+ import { extractLink, extractTitle, extractProvider } from '@atlaskit/link-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": "26.9.2",
3
+ "version": "26.9.5",
4
4
  "sideEffects": false
5
5
  }
@@ -10,7 +10,7 @@ import BlockCardFooter from '../../components/flexible/footer';
10
10
  import { ForbiddenAction } from '../../actions/flexible/ForbiddenAction';
11
11
  import Text from '../../../FlexibleCard/components/elements/text';
12
12
  import { getForbiddenJsonLd } from '../../../../utils/jsonld';
13
- import { extractProvider } from '@atlaskit/linking-common/extractors';
13
+ import { extractProvider } from '@atlaskit/link-extractors';
14
14
  import { extractRequestAccessContext } from '../../../../extractors/common/context';
15
15
 
16
16
  /**
@@ -6,7 +6,7 @@ import { AuthorizeAction } from '../../actions/flexible/AuthorizeAction';
6
6
  import BlockCardFooter from '../../components/flexible/footer';
7
7
  import { CustomBlock, TitleBlock } from '../../../FlexibleCard/components/blocks';
8
8
  import { SmartLinkStatus } from '../../../../constants';
9
- import { extractProvider } from '@atlaskit/linking-common/extractors';
9
+ import { extractProvider } from '@atlaskit/link-extractors';
10
10
  import UnauthorisedViewContent from '../../../common/UnauthorisedViewContent';
11
11
  import { css } from '@emotion/react';
12
12
  import { tokens } from '../../../../utils/token';
@@ -35,7 +35,7 @@ function Component(_ref) {
35
35
  ui = _ref.ui,
36
36
  children = _ref.children,
37
37
  showHoverPreview = _ref.showHoverPreview,
38
- showAuthTooltipProp = _ref.showAuthTooltip,
38
+ showAuthTooltip = _ref.showAuthTooltip,
39
39
  analyticsEvents = _ref.analyticsEvents;
40
40
  var _useAnalyticsEvents = useAnalyticsEvents(),
41
41
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
@@ -58,8 +58,6 @@ function Component(_ref) {
58
58
  var isFlexibleUi = useMemo(function () {
59
59
  return isFlexibleUiCard(children);
60
60
  }, [children]);
61
- var showAuthTooltipFeatureFlagValue = useFeatureFlag('showAuthTooltip');
62
- var showAuthTooltip = showAuthTooltipFeatureFlagValue !== undefined ? showAuthTooltipFeatureFlagValue === 'experiment' : showAuthTooltipProp;
63
61
  var enableFlexibleBlockCardFlag = Boolean(useFeatureFlag('enableFlexibleBlockCard'));
64
62
  var showServerActions = showServerActionsProp && platform !== 'mobile';
65
63
 
@@ -181,7 +179,7 @@ function Component(_ref) {
181
179
  renderers: renderers,
182
180
  ui: ui,
183
181
  showHoverPreview: showHoverPreview,
184
- showAuthTooltip: showAuthTooltipProp,
182
+ showAuthTooltip: showAuthTooltip,
185
183
  showServerActions: showServerActions,
186
184
  url: url,
187
185
  testId: testId,
@@ -0,0 +1,63 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
3
+ import { HoverCard } from '../../../../HoverCard';
4
+ import { ElementName } from '../../../../../constants';
5
+ var FLEXIBLE_HOVER_CARD_CAN_OPEN_DELAY = 100;
6
+ var HoverCardControl = function HoverCardControl(_ref) {
7
+ var children = _ref.children,
8
+ hideHoverCardPreviewButton = _ref.hideHoverCardPreviewButton,
9
+ isHoverPreview = _ref.isHoverPreview,
10
+ isAuthTooltip = _ref.isAuthTooltip,
11
+ showServerActions = _ref.showServerActions,
12
+ url = _ref.url;
13
+ var _useState = useState(true),
14
+ _useState2 = _slicedToArray(_useState, 2),
15
+ canOpen = _useState2[0],
16
+ setCanOpen = _useState2[1];
17
+ var mouseStopTimer = useRef();
18
+ useEffect(function () {
19
+ return function () {
20
+ if (mouseStopTimer.current) {
21
+ clearTimeout(mouseStopTimer.current);
22
+ }
23
+ };
24
+ }, []);
25
+ var onMouseMove = useCallback(function (e) {
26
+ var _e$target$closest;
27
+ if (mouseStopTimer.current) {
28
+ clearTimeout(mouseStopTimer.current);
29
+ }
30
+
31
+ // Never show hover card on action or when action dropdown opens.
32
+ // The code below can be simplified by using :is() and :has()
33
+ // but the pseudo-class isn't support by Firefox yet.
34
+ var action =
35
+ // Any action button group (title/footer block)
36
+ e.target.closest('.actions-button-group') || ( // When action dropdown list is opened on action button group or lozenge action
37
+ (_e$target$closest = e.target.closest('[data-smart-link-container]')) === null || _e$target$closest === void 0 ? void 0 : _e$target$closest.querySelector('[data-action-open="true"]'));
38
+ var canOpenOnElement = isAuthTooltip && !action ||
39
+ // EDM-7060: For hover preview, also hide hover card on all elements
40
+ // except title element (link title)
41
+ isHoverPreview && !action && !e.target.closest("[data-smart-element]:not([data-smart-element=\"".concat(ElementName.Title, "\"])"));
42
+ mouseStopTimer.current = setTimeout(function () {
43
+ if (canOpen !== canOpenOnElement) {
44
+ setCanOpen(Boolean(canOpenOnElement));
45
+ }
46
+ }, FLEXIBLE_HOVER_CARD_CAN_OPEN_DELAY);
47
+ }, [isAuthTooltip, isHoverPreview, canOpen]);
48
+ return /*#__PURE__*/React.createElement(HoverCard, {
49
+ allowEventPropagation: true,
50
+ canOpen: canOpen,
51
+ closeOnChildClick: true,
52
+ hidePreviewButton: hideHoverCardPreviewButton
53
+ // EDM-6709 extends the internal prop for showServerActions type to be
54
+ // an object. If we decide to use expose the type for hover preview
55
+ // remove the Boolean() conversion here.
56
+ ,
57
+ showServerActions: Boolean(showServerActions),
58
+ url: url
59
+ }, /*#__PURE__*/React.createElement("span", {
60
+ onMouseMove: onMouseMove
61
+ }, children));
62
+ };
63
+ export default HoverCardControl;
@@ -1,16 +1,14 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
4
2
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
5
3
  /** @jsx jsx */
6
- import React, { useContext, useState, useCallback } from 'react';
4
+ import React, { useContext } from 'react';
7
5
  import { css, jsx } from '@emotion/react';
8
- import { ElementName, MediaPlacement, SmartLinkSize, SmartLinkTheme } from '../../../../constants';
6
+ import { MediaPlacement, SmartLinkSize, SmartLinkTheme } from '../../../../constants';
9
7
  import { isFlexibleUiBlock, isFlexibleUiPreviewBlock, isFlexibleUiTitleBlock } from '../../../../utils/flexible';
10
8
  import { tokens } from '../../../../utils/token';
11
9
  import { FlexibleUiContext } from '../../../../state/flexible-ui-context';
12
10
  import LayeredLink from './layered-link';
13
- import { HoverCard } from '../../../HoverCard';
11
+ import HoverCardControl from './hover-card-control';
14
12
  import { isFlexUiPreviewPresent } from '../../../../state/flexible-ui-context/utils';
15
13
  var elevationStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border: 1px solid transparent;\n border-radius: 1.5px;\n box-shadow: ", ";\n margin: ", ";\n"])), tokens.elevation, "var(--ds-space-025, 2px)");
16
14
  var getGap = function getGap(size) {
@@ -156,50 +154,22 @@ var Container = function Container(_ref3) {
156
154
  theme = _ref3$theme === void 0 ? SmartLinkTheme.Link : _ref3$theme;
157
155
  var context = useContext(FlexibleUiContext);
158
156
  var childrenOptions = getChildrenOptions(children, context);
159
- var _useState = useState(true),
160
- _useState2 = _slicedToArray(_useState, 2),
161
- hoverCardCanOpen = _useState2[0],
162
- setHoverCardCanOpen = _useState2[1];
163
157
  var canShowHoverPreview = showHoverPreview && status === 'resolved';
164
158
  var canShowAuthTooltip = showAuthTooltip && status === 'unauthorized';
165
- var onMouseOver = useCallback(function (e) {
166
- var _e$target$closest;
167
- // Never show hover card on action or when action dropdown opens.
168
- // The code below can be simplified by using :is() and :has()
169
- // but the pseudo-class isn't support by Firefox yet.
170
- var action =
171
- // Any action button group (title/footer block)
172
- e.target.closest('.actions-button-group') || ( // When action dropdown list is opened on action button group or lozenge action
173
- (_e$target$closest = e.target.closest('[data-smart-link-container]')) === null || _e$target$closest === void 0 ? void 0 : _e$target$closest.querySelector('[data-action-open="true"]'));
174
- var canOpen = canShowAuthTooltip && !action ||
175
- // EDM-7060: For hover preview, also hide hover card on all elements
176
- // except title element (link title)
177
- canShowHoverPreview && !action && !e.target.closest("[data-smart-element]:not([data-smart-element=\"".concat(ElementName.Title, "\"])"));
178
- if (hoverCardCanOpen !== canOpen) {
179
- setHoverCardCanOpen(canOpen);
180
- }
181
- }, [canShowAuthTooltip, canShowHoverPreview, hoverCardCanOpen]);
182
- var containerContent = jsx("div", _extends({
159
+ var container = jsx("div", {
183
160
  css: getContainerStyles(size, hideBackground, hideElevation, hidePadding, clickableContainer, childrenOptions),
184
161
  "data-smart-link-container": true,
185
162
  "data-testid": testId
186
- }, canShowHoverPreview || canShowAuthTooltip ? {
187
- onMouseOver: onMouseOver
188
- } : undefined), clickableContainer ? getLayeredLink(testId, context, children, onClick) : null, renderChildren(children, size, theme, status, retry, onClick));
163
+ }, clickableContainer ? getLayeredLink(testId, context, children, onClick) : null, renderChildren(children, size, theme, status, retry, onClick));
189
164
  if (context !== null && context !== void 0 && context.url && (canShowHoverPreview || canShowAuthTooltip)) {
190
- return jsx(HoverCard, {
191
- url: context === null || context === void 0 ? void 0 : context.url,
192
- allowEventPropagation: true,
193
- canOpen: hoverCardCanOpen,
194
- closeOnChildClick: true,
195
- hidePreviewButton: hideHoverCardPreviewButton
196
- // EDM-6709 extends the internal prop for showServerActions type to be
197
- // an object. If we decide to use expose the type for hover preview
198
- // remove the Boolean() conversion here.
199
- ,
200
- showServerActions: Boolean(showServerActions)
201
- }, containerContent);
165
+ return jsx(HoverCardControl, {
166
+ hideHoverCardPreviewButton: hideHoverCardPreviewButton,
167
+ isHoverPreview: canShowHoverPreview,
168
+ isAuthTooltip: canShowAuthTooltip,
169
+ showServerActions: showServerActions,
170
+ url: context.url
171
+ }, container);
202
172
  }
203
- return containerContent;
173
+ return container;
204
174
  };
205
175
  export default Container;
@@ -5,7 +5,7 @@ import { messages } from '../../messages';
5
5
  import extractFlexibleUiContext 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
+ import { extractProvider } from '@atlaskit/link-extractors';
9
9
  import extractProviderIcon from '../../extractors/flexible/icon/extract-provider-icon';
10
10
  export var getContextByStatus = function getContextByStatus(params) {
11
11
  var _ref = params !== null && params !== void 0 ? params : {},
@@ -4,7 +4,7 @@ import { FormattedMessage } from 'react-intl-next';
4
4
  import FlexibleCard from '../../../../FlexibleCard';
5
5
  import { messages } from '../../../../../messages';
6
6
  import { CustomBlock } from '../../../../FlexibleCard/components/blocks';
7
- import { extractProvider } from '@atlaskit/linking-common/extractors';
7
+ import { extractProvider } from '@atlaskit/link-extractors';
8
8
  import { connectButtonStyles, mainTextStyles, titleBlockStyles } from './styled';
9
9
  import UnauthorisedViewContent from '../../../../common/UnauthorisedViewContent';
10
10
  import ActionGroup from '../../../../FlexibleCard/components/blocks/action-group';
@@ -1,5 +1,5 @@
1
1
  import { ElementName } from '../../constants';
2
- import { extractType } from '@atlaskit/linking-common/extractors';
2
+ import { extractType } from '@atlaskit/link-extractors';
3
3
  import { extractOwnedBy } from '../../extractors/flexible/utils';
4
4
  export var getSimulatedMetadata = function getSimulatedMetadata() {
5
5
  var extensionKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
@@ -9,7 +9,7 @@ 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
+ import { extractProvider } from '@atlaskit/link-extractors';
13
13
  import { useFeatureFlag } from '@atlaskit/link-provider';
14
14
  import { getExtensionKey } from '../../state/helpers';
15
15
  export { InlineCardResolvedView, InlineCardResolvingView, InlineCardErroredView, InlineCardForbiddenView, InlineCardUnauthorizedView };
@@ -1,6 +1,6 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
2
  import { CardProviderRenderers } from '@atlaskit/link-provider';
3
- import { LinkPerson } from '@atlaskit/linking-common/extractors';
3
+ import { LinkPerson } from '@atlaskit/link-extractors';
4
4
  import { ExtractBlockOpts } from './types';
5
5
  import { CardPlatform } from '../../view/Card';
6
6
  import { BlockCardResolvedViewProps } from '../../view/BlockCard';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { JsonLd } from 'json-ld-types';
3
- import { LinkProvider } from '@atlaskit/linking-common/extractors';
3
+ import { LinkProvider } from '@atlaskit/link-extractors';
4
4
  import { LinkTaskType } from '../lozenge/extractTaskType';
5
5
  export type IconPriority = 'type' | 'provider';
6
6
  export interface IconOpts {
@@ -1,4 +1,4 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
- import { LinkPerson } from '@atlaskit/linking-common/extractors';
2
+ import { LinkPerson } from '@atlaskit/link-extractors';
3
3
  export 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 '@atlaskit/linking-common/extractors';
2
+ import { LinkPerson } from '@atlaskit/link-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
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
- import { CardAppearance, CardPlatform } from '@atlaskit/linking-common';
3
+ import { CardAppearance } from '@atlaskit/linking-common';
4
+ import { CardPlatform } from '@atlaskit/link-extractors';
4
5
  import { AnalyticsFacade } from '../../state/analytics';
5
6
  import { FlexibleUiOptions } from '../FlexibleCard/types';
6
7
  import { InlinePreloaderStyle, OnErrorCallback } from '../types';
@@ -0,0 +1,4 @@
1
+ import type { FC } from 'react';
2
+ import { HoverCardDelayProps } from './types';
3
+ declare const HoverCardControl: FC<HoverCardDelayProps>;
4
+ export default HoverCardControl;
@@ -0,0 +1,6 @@
1
+ import { ContainerProps } from '../types';
2
+ export type HoverCardDelayProps = Pick<ContainerProps, 'hideHoverCardPreviewButton' | 'showServerActions'> & {
3
+ isHoverPreview?: boolean;
4
+ isAuthTooltip?: boolean;
5
+ url: string;
6
+ };
@@ -1,6 +1,6 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
2
  import { CardProviderRenderers } from '@atlaskit/link-provider';
3
- import { LinkPerson } from '@atlaskit/linking-common/extractors';
3
+ import { LinkPerson } from '@atlaskit/link-extractors';
4
4
  import { ExtractBlockOpts } from './types';
5
5
  import { CardPlatform } from '../../view/Card';
6
6
  import { BlockCardResolvedViewProps } from '../../view/BlockCard';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { JsonLd } from 'json-ld-types';
3
- import { LinkProvider } from '@atlaskit/linking-common/extractors';
3
+ import { LinkProvider } from '@atlaskit/link-extractors';
4
4
  import { LinkTaskType } from '../lozenge/extractTaskType';
5
5
  export type IconPriority = 'type' | 'provider';
6
6
  export interface IconOpts {
@@ -1,4 +1,4 @@
1
1
  import { JsonLd } from 'json-ld-types';
2
- import { LinkPerson } from '@atlaskit/linking-common/extractors';
2
+ import { LinkPerson } from '@atlaskit/link-extractors';
3
3
  export 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 '@atlaskit/linking-common/extractors';
2
+ import { LinkPerson } from '@atlaskit/link-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
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
- import { CardAppearance, CardPlatform } from '@atlaskit/linking-common';
3
+ import { CardAppearance } from '@atlaskit/linking-common';
4
+ import { CardPlatform } from '@atlaskit/link-extractors';
4
5
  import { AnalyticsFacade } from '../../state/analytics';
5
6
  import { FlexibleUiOptions } from '../FlexibleCard/types';
6
7
  import { InlinePreloaderStyle, OnErrorCallback } from '../types';
@@ -0,0 +1,4 @@
1
+ import type { FC } from 'react';
2
+ import { HoverCardDelayProps } from './types';
3
+ declare const HoverCardControl: FC<HoverCardDelayProps>;
4
+ export default HoverCardControl;
@@ -0,0 +1,6 @@
1
+ import { ContainerProps } from '../types';
2
+ export type HoverCardDelayProps = Pick<ContainerProps, 'hideHoverCardPreviewButton' | 'showServerActions'> & {
3
+ isHoverPreview?: boolean;
4
+ isAuthTooltip?: boolean;
5
+ url: string;
6
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "26.9.2",
3
+ "version": "26.9.5",
4
4
  "description": "Smart card component",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -44,7 +44,8 @@
44
44
  "@atlaskit/in-product-testing": "^0.2.0",
45
45
  "@atlaskit/link-analytics": "^8.2.0",
46
46
  "@atlaskit/link-client-extension": "^1.5.0",
47
- "@atlaskit/linking-common": "^3.2.0",
47
+ "@atlaskit/link-extractors": "^1.1.0",
48
+ "@atlaskit/linking-common": "^3.3.0",
48
49
  "@atlaskit/linking-types": "^8.1.0",
49
50
  "@atlaskit/logo": "^13.14.0",
50
51
  "@atlaskit/lozenge": "^11.4.0",