@atlaskit/smart-card 36.8.1 → 36.9.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.
- package/CHANGELOG.md +24 -0
- package/dist/cjs/constants.js +2 -0
- package/dist/cjs/extractors/embed/index.js +25 -1
- package/dist/cjs/extractors/flexible/index.js +1 -0
- package/dist/cjs/extractors/flexible/utils.js +4 -1
- package/dist/cjs/messages.js +4 -0
- package/dist/cjs/utils/analytics/analytics.js +1 -1
- package/dist/cjs/utils/index.js +10 -4
- package/dist/cjs/view/BlockCard/views/utils/index.js +3 -1
- package/dist/cjs/view/EmbedCard/index.js +5 -7
- package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/elements/applied-to-components-count/index.js +35 -0
- package/dist/cjs/view/FlexibleCard/components/elements/index.js +7 -0
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +14 -7
- package/dist/cjs/view/LinkUrl/index.js +1 -1
- package/dist/cjs/view/common/UnauthorisedViewContent.js +2 -2
- package/dist/es2019/constants.js +2 -0
- package/dist/es2019/extractors/embed/index.js +35 -9
- package/dist/es2019/extractors/flexible/index.js +2 -1
- package/dist/es2019/extractors/flexible/utils.js +1 -0
- package/dist/es2019/messages.js +4 -0
- package/dist/es2019/utils/analytics/analytics.js +1 -1
- package/dist/es2019/utils/index.js +3 -0
- package/dist/es2019/view/BlockCard/views/utils/index.js +3 -1
- package/dist/es2019/view/EmbedCard/index.js +6 -8
- package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/elements/applied-to-components-count/index.js +26 -0
- package/dist/es2019/view/FlexibleCard/components/elements/index.js +2 -1
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +8 -0
- package/dist/es2019/view/LinkUrl/index.js +1 -1
- package/dist/es2019/view/common/UnauthorisedViewContent.js +1 -1
- package/dist/esm/constants.js +2 -0
- package/dist/esm/extractors/embed/index.js +26 -2
- package/dist/esm/extractors/flexible/index.js +2 -1
- package/dist/esm/extractors/flexible/utils.js +3 -0
- package/dist/esm/messages.js +4 -0
- package/dist/esm/utils/analytics/analytics.js +1 -1
- package/dist/esm/utils/index.js +8 -4
- package/dist/esm/view/BlockCard/views/utils/index.js +3 -1
- package/dist/esm/view/EmbedCard/index.js +6 -8
- package/dist/esm/view/FlexibleCard/components/blocks/utils.js +1 -1
- package/dist/esm/view/FlexibleCard/components/elements/applied-to-components-count/index.js +25 -0
- package/dist/esm/view/FlexibleCard/components/elements/index.js +2 -1
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +14 -7
- package/dist/esm/view/LinkUrl/index.js +1 -1
- package/dist/esm/view/common/UnauthorisedViewContent.js +1 -1
- package/dist/types/__fixtures__/compass-scorecard.d.ts +44 -0
- package/dist/types/constants.d.ts +2 -0
- package/dist/types/extractors/embed/index.d.ts +2 -2
- package/dist/types/extractors/flexible/utils.d.ts +1 -0
- package/dist/types/messages.d.ts +1 -1
- package/dist/types/state/flexible-ui-context/types.d.ts +6 -0
- package/dist/types/view/EmbedCard/views/ResolvedView.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +8 -1
- package/dist/types/view/FlexibleCard/components/elements/applied-to-components-count/index.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/elements/index.d.ts +1 -0
- package/dist/types-ts4.5/__fixtures__/compass-scorecard.d.ts +44 -0
- package/dist/types-ts4.5/constants.d.ts +2 -0
- package/dist/types-ts4.5/extractors/embed/index.d.ts +2 -2
- package/dist/types-ts4.5/extractors/flexible/utils.d.ts +1 -0
- package/dist/types-ts4.5/messages.d.ts +1 -1
- package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +6 -0
- package/dist/types-ts4.5/view/EmbedCard/views/ResolvedView.d.ts +1 -1
- package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +8 -1
- package/dist/types-ts4.5/view/FlexibleCard/components/elements/applied-to-components-count/index.d.ts +4 -0
- package/dist/types-ts4.5/view/FlexibleCard/components/elements/index.d.ts +1 -0
- package/package.json +5 -5
|
@@ -7,7 +7,7 @@ import { extractEmbedProps } from '../../extractors/embed';
|
|
|
7
7
|
import { extractInlineProps } from '../../extractors/inline';
|
|
8
8
|
import { getExtensionKey, hasAuthScopeOverrides } from '../../state/helpers';
|
|
9
9
|
import { useControlDataExportConfig } from '../../state/hooks/use-control-data-export-config';
|
|
10
|
-
import {
|
|
10
|
+
import { getForbiddenJsonLd } from '../../utils/jsonld';
|
|
11
11
|
import { getIsDataExportEnabled } from '../../utils/should-data-export';
|
|
12
12
|
import BlockCardResolvedView from '../BlockCard/views/ResolvedView';
|
|
13
13
|
import { InlineCardResolvedView } from '../InlineCard/ResolvedView';
|
|
@@ -43,8 +43,6 @@ export const EmbedCard = /*#__PURE__*/React.forwardRef(({
|
|
|
43
43
|
status,
|
|
44
44
|
details
|
|
45
45
|
} = cardState;
|
|
46
|
-
const data = details && details.data || getEmptyJsonLd();
|
|
47
|
-
const meta = details && details.meta;
|
|
48
46
|
const extensionKey = getExtensionKey(details);
|
|
49
47
|
const isProductIntegrationSupported = hasAuthScopeOverrides(details);
|
|
50
48
|
const {
|
|
@@ -64,7 +62,7 @@ export const EmbedCard = /*#__PURE__*/React.forwardRef(({
|
|
|
64
62
|
testId: testId ? `${testId}-resolving-view` : 'embed-card-resolving-view'
|
|
65
63
|
});
|
|
66
64
|
case 'resolved':
|
|
67
|
-
const resolvedViewProps = extractEmbedProps(
|
|
65
|
+
const resolvedViewProps = extractEmbedProps(details, platform, iframeUrlType);
|
|
68
66
|
if (onResolve) {
|
|
69
67
|
var _resolvedViewProps$pr;
|
|
70
68
|
onResolve({
|
|
@@ -75,7 +73,7 @@ export const EmbedCard = /*#__PURE__*/React.forwardRef(({
|
|
|
75
73
|
}
|
|
76
74
|
if (fg('platform_smart_links_controlled_dsp_export_view')) {
|
|
77
75
|
if (getIsDataExportEnabled(shouldControlDataExport, cardState.details)) {
|
|
78
|
-
const unauthViewProps = extractEmbedProps(
|
|
76
|
+
const unauthViewProps = extractEmbedProps(details, platform);
|
|
79
77
|
return /*#__PURE__*/React.createElement(UnauthorizedView, {
|
|
80
78
|
context: unauthViewProps.context,
|
|
81
79
|
extensionKey: extensionKey,
|
|
@@ -128,7 +126,7 @@ export const EmbedCard = /*#__PURE__*/React.forwardRef(({
|
|
|
128
126
|
status
|
|
129
127
|
});
|
|
130
128
|
}
|
|
131
|
-
const unauthorisedViewProps = extractEmbedProps(
|
|
129
|
+
const unauthorisedViewProps = extractEmbedProps(details, platform);
|
|
132
130
|
return /*#__PURE__*/React.createElement(UnauthorizedView, {
|
|
133
131
|
context: unauthorisedViewProps.context,
|
|
134
132
|
extensionKey: extensionKey,
|
|
@@ -148,7 +146,7 @@ export const EmbedCard = /*#__PURE__*/React.forwardRef(({
|
|
|
148
146
|
status
|
|
149
147
|
});
|
|
150
148
|
}
|
|
151
|
-
const forbiddenViewProps = extractEmbedProps(
|
|
149
|
+
const forbiddenViewProps = extractEmbedProps(details, platform);
|
|
152
150
|
const cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : getForbiddenJsonLd().meta;
|
|
153
151
|
if (forbiddenViewProps.preview) {
|
|
154
152
|
return /*#__PURE__*/React.createElement(EmbedCardResolvedView, _extends({}, forbiddenViewProps, {
|
|
@@ -183,7 +181,7 @@ export const EmbedCard = /*#__PURE__*/React.forwardRef(({
|
|
|
183
181
|
status
|
|
184
182
|
});
|
|
185
183
|
}
|
|
186
|
-
const notFoundViewProps = extractEmbedProps(
|
|
184
|
+
const notFoundViewProps = extractEmbedProps(details, platform);
|
|
187
185
|
const notFoundAccessContext = details !== null && details !== void 0 && details.meta ? extractRequestAccessContextImproved({
|
|
188
186
|
jsonLd: details === null || details === void 0 ? void 0 : details.meta,
|
|
189
187
|
url,
|
|
@@ -13,6 +13,7 @@ export const ElementDisplaySchema = {
|
|
|
13
13
|
[ElementName.AssignedToGroup]: ['inline'],
|
|
14
14
|
[ElementName.AttachmentCount]: ['inline'],
|
|
15
15
|
[ElementName.AuthorGroup]: ['inline'],
|
|
16
|
+
[ElementName.AppliedToComponentsCount]: ['inline'],
|
|
16
17
|
[ElementName.ChecklistProgress]: ['inline'],
|
|
17
18
|
[ElementName.CollaboratorGroup]: ['inline'],
|
|
18
19
|
[ElementName.CommentCount]: ['inline'],
|
package/dist/es2019/view/FlexibleCard/components/elements/applied-to-components-count/index.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
|
+
import { useIntl } from 'react-intl-next';
|
|
4
|
+
import { IconType } from '../../../../../constants';
|
|
5
|
+
import { messages } from '../../../../../messages';
|
|
6
|
+
import { FlexibleUiContext } from '../../../../../state/flexible-ui-context';
|
|
7
|
+
import Badge from '../badge';
|
|
8
|
+
const AppliedToComponentsCount = props => {
|
|
9
|
+
const {
|
|
10
|
+
formatMessage
|
|
11
|
+
} = useIntl();
|
|
12
|
+
const context = useContext(FlexibleUiContext);
|
|
13
|
+
if (
|
|
14
|
+
// Check for null and undefined, render if it's 0.
|
|
15
|
+
(context === null || context === void 0 ? void 0 : context.appliedToComponentsCount) === null || (context === null || context === void 0 ? void 0 : context.appliedToComponentsCount) === undefined) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
const label = formatMessage(messages.compass_applied_components_count, {
|
|
19
|
+
numberOfComponents: context.appliedToComponentsCount
|
|
20
|
+
});
|
|
21
|
+
return /*#__PURE__*/React.createElement(Badge, _extends({
|
|
22
|
+
icon: IconType.Component,
|
|
23
|
+
label: label
|
|
24
|
+
}, props));
|
|
25
|
+
};
|
|
26
|
+
export default AppliedToComponentsCount;
|
|
@@ -173,4 +173,5 @@ export const ViewCount = createElement(ElementName.ViewCount);
|
|
|
173
173
|
* Creates a VoteCount Badge element using the data from VoteCount in the Flexible UI Context.
|
|
174
174
|
* @see Badge
|
|
175
175
|
*/
|
|
176
|
-
export const VoteCount = createElement(ElementName.VoteCount);
|
|
176
|
+
export const VoteCount = createElement(ElementName.VoteCount);
|
|
177
|
+
export { default as AppliedToComponentsCount } from './applied-to-components-count';
|
|
@@ -4,6 +4,7 @@ import { FormattedDate } from 'react-intl-next';
|
|
|
4
4
|
import { ElementName, IconType, SmartLinkInternalTheme } from '../../../../constants';
|
|
5
5
|
import { messages } from '../../../../messages';
|
|
6
6
|
import { FlexibleUiContext } from '../../../../state/flexible-ui-context';
|
|
7
|
+
import AppliedToComponentsCount from './applied-to-components-count';
|
|
7
8
|
import AtlaskitBadge from './atlaskit-badge';
|
|
8
9
|
import AvatarGroup from './avatar-group';
|
|
9
10
|
import Badge from './badge';
|
|
@@ -14,6 +15,12 @@ import Lozenge from './lozenge';
|
|
|
14
15
|
import Media from './media';
|
|
15
16
|
import Text from './text';
|
|
16
17
|
const elementMappings = {
|
|
18
|
+
[ElementName.AppliedToComponentsCount]: {
|
|
19
|
+
component: AppliedToComponentsCount,
|
|
20
|
+
props: {
|
|
21
|
+
icon: IconType.Component
|
|
22
|
+
}
|
|
23
|
+
},
|
|
17
24
|
[ElementName.AttachmentCount]: {
|
|
18
25
|
component: Badge,
|
|
19
26
|
props: {
|
|
@@ -165,6 +172,7 @@ const getData = (elementName, contextKey, context) => {
|
|
|
165
172
|
const AvatarGroupsWithFallback = [ElementName.AssignedToGroup];
|
|
166
173
|
const showFallbackAvatar = AvatarGroupsWithFallback.includes(elementName);
|
|
167
174
|
return toAvatarGroupProps(data, showFallbackAvatar);
|
|
175
|
+
case ElementName.AppliedToComponentsCount:
|
|
168
176
|
case ElementName.AttachmentCount:
|
|
169
177
|
case ElementName.ChecklistProgress:
|
|
170
178
|
case ElementName.CommentCount:
|
|
@@ -10,7 +10,7 @@ import LinkWarningModal from './LinkWarningModal';
|
|
|
10
10
|
import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
|
|
11
11
|
const PACKAGE_DATA = {
|
|
12
12
|
packageName: "@atlaskit/smart-card",
|
|
13
|
-
packageVersion: "36.
|
|
13
|
+
packageVersion: "36.9.0",
|
|
14
14
|
componentName: 'linkUrl'
|
|
15
15
|
};
|
|
16
16
|
const Anchor = withLinkClickedEvent('a');
|
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import React, { useCallback } from 'react';
|
|
3
3
|
import { FormattedMessage } from 'react-intl-next';
|
|
4
4
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
5
|
-
import { Anchor } from '@atlaskit/primitives';
|
|
5
|
+
import { Anchor } from '@atlaskit/primitives/compiled';
|
|
6
6
|
import { useAnalyticsEvents } from '../../common/analytics/generated/use-analytics-events';
|
|
7
7
|
import { CONTENT_URL_3P_ACCOUNT_AUTH, CONTENT_URL_SECURITY_AND_PERMISSIONS } from '../../constants';
|
|
8
8
|
import { messages } from '../../messages';
|
package/dist/esm/constants.js
CHANGED
|
@@ -106,6 +106,7 @@ export var SmartLinkWidth = /*#__PURE__*/function (SmartLinkWidth) {
|
|
|
106
106
|
* (src/view/FlexibleCard/components/blocks/utils.tsx)
|
|
107
107
|
*/
|
|
108
108
|
export var ElementName = /*#__PURE__*/function (ElementName) {
|
|
109
|
+
ElementName["AppliedToComponentsCount"] = "AppliedToComponentsCount";
|
|
109
110
|
ElementName["AssignedTo"] = "AssignedTo";
|
|
110
111
|
ElementName["AssignedToGroup"] = "AssignedToGroup";
|
|
111
112
|
ElementName["AttachmentCount"] = "AttachmentCount";
|
|
@@ -220,6 +221,7 @@ export var IconType = /*#__PURE__*/function (IconType) {
|
|
|
220
221
|
IconType["Attachment"] = "Badge:Attachment";
|
|
221
222
|
IconType["CheckItem"] = "Badge:Task";
|
|
222
223
|
IconType["Comment"] = "Badge:Comment";
|
|
224
|
+
IconType["Component"] = "Badge:Component";
|
|
223
225
|
IconType["View"] = "Badge:View";
|
|
224
226
|
IconType["React"] = "Badge:React";
|
|
225
227
|
IconType["Vote"] = "Badge:Vote";
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
-
import { extractLink, extractPreview, extractProvider, extractProviderIcon, extractTitle, extractUrlFromIconJsonLd } from '@atlaskit/link-extractors';
|
|
4
|
+
import { extractEntityProvider, extractLink, extractPreview, extractProvider, extractProviderIcon, extractSmartLinkEmbed, extractSmartLinkTitle, extractSmartLinkUrl, extractTitle, extractUrlFromIconJsonLd, isEntityPresent } from '@atlaskit/link-extractors';
|
|
5
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
|
+
import { getEmptyJsonLd } from '../../utils/jsonld';
|
|
5
7
|
import { prioritiseIcon } from '../common/icon';
|
|
6
8
|
import { extractIsSupportTheming } from '../common/meta/extractIsSupportTheming';
|
|
7
9
|
import { extractIsTrusted } from '../common/meta/extractIsTrusted';
|
|
@@ -35,7 +37,29 @@ function generateContext(jsonLd) {
|
|
|
35
37
|
icon: icon ? icon : provider.icon
|
|
36
38
|
});
|
|
37
39
|
}
|
|
38
|
-
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* We can migrate this to link extractors once we have deprecated JsonLd
|
|
43
|
+
*/
|
|
44
|
+
function extractSmartLinkContext(response) {
|
|
45
|
+
if (isEntityPresent(response)) {
|
|
46
|
+
return extractEntityProvider(response);
|
|
47
|
+
}
|
|
48
|
+
return generateContext(response === null || response === void 0 ? void 0 : response.data);
|
|
49
|
+
}
|
|
50
|
+
export var extractEmbedProps = function extractEmbedProps(response, platform, iframeUrlType) {
|
|
51
|
+
var meta = response === null || response === void 0 ? void 0 : response.meta;
|
|
52
|
+
var jsonLd = (response === null || response === void 0 ? void 0 : response.data) || getEmptyJsonLd();
|
|
53
|
+
if (fg('smart_links_noun_support')) {
|
|
54
|
+
return {
|
|
55
|
+
link: extractSmartLinkUrl(response) || '',
|
|
56
|
+
title: extractSmartLinkTitle(response),
|
|
57
|
+
context: extractSmartLinkContext(response),
|
|
58
|
+
preview: extractSmartLinkEmbed(response, iframeUrlType),
|
|
59
|
+
isTrusted: extractIsTrusted(meta),
|
|
60
|
+
isSupportTheming: extractIsSupportTheming(meta)
|
|
61
|
+
};
|
|
62
|
+
}
|
|
39
63
|
return {
|
|
40
64
|
link: extractLink(jsonLd) || '',
|
|
41
65
|
title: extractTitle(jsonLd),
|
|
@@ -10,7 +10,7 @@ import extractState from './extract-state';
|
|
|
10
10
|
import { extractLinkIcon } from './icon';
|
|
11
11
|
import extractProviderIcon from './icon/extract-provider-icon';
|
|
12
12
|
import { extractLatestCommit } from './latest-commit';
|
|
13
|
-
import { extractAssignedTo, extractAttachmentCount, extractChecklistProgress, extractCommentCount, extractCreatedBy, extractDueOn, extractLocation, extractModifiedBy, extractOwnedBy, extractPersonAssignedToAsArray, extractProgrammingLanguage, extractReactCount, extractReadTime, extractSentOn, extractSourceBranch, extractStoryPoints, extractSubscriberCount, extractSubTasksProgress, extractTargetBranch, extractViewCount, extractVoteCount } from './utils';
|
|
13
|
+
import { extractAppliedToComponentsCount, extractAssignedTo, extractAttachmentCount, extractChecklistProgress, extractCommentCount, extractCreatedBy, extractDueOn, extractLocation, extractModifiedBy, extractOwnedBy, extractPersonAssignedToAsArray, extractProgrammingLanguage, extractReactCount, extractReadTime, extractSentOn, extractSourceBranch, extractStoryPoints, extractSubscriberCount, extractSubTasksProgress, extractTargetBranch, extractViewCount, extractVoteCount } from './utils';
|
|
14
14
|
var extractFlexibleUiContext = function extractFlexibleUiContext() {
|
|
15
15
|
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
16
16
|
var appearance = _ref.appearance,
|
|
@@ -39,6 +39,7 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
|
|
|
39
39
|
response: response,
|
|
40
40
|
url: props.url // Use the original URL in edge cases, such as short links for AI summary and copy link actions.
|
|
41
41
|
}),
|
|
42
|
+
appliedToComponentsCount: extractAppliedToComponentsCount(data),
|
|
42
43
|
assignedToGroup: extractPersonAssignedToAsArray(data),
|
|
43
44
|
attachmentCount: extractAttachmentCount(data),
|
|
44
45
|
authorGroup: extractPersonCreatedBy(data),
|
|
@@ -11,6 +11,9 @@ var extractValue = function extractValue(data, key) {
|
|
|
11
11
|
export var extractCommentCount = function extractCommentCount(data) {
|
|
12
12
|
return extractValue(data, 'schema:commentCount');
|
|
13
13
|
};
|
|
14
|
+
export var extractAppliedToComponentsCount = function extractAppliedToComponentsCount(data) {
|
|
15
|
+
return extractValue(data, 'atlassian:appliedToComponentsCount');
|
|
16
|
+
};
|
|
14
17
|
export var extractDueOn = function extractDueOn(data) {
|
|
15
18
|
return extractValue(data, 'endTime');
|
|
16
19
|
};
|
package/dist/esm/messages.js
CHANGED
|
@@ -130,6 +130,10 @@ export var messages = defineMessages({
|
|
|
130
130
|
defaultMessage: 'Check this link',
|
|
131
131
|
description: 'Link safety warning modal header'
|
|
132
132
|
},
|
|
133
|
+
compass_applied_components_count: {
|
|
134
|
+
id: 'compass.applied_components_count.non-final',
|
|
135
|
+
defaultMessage: 'Applied to {numberOfComponents, plural, one {{numberOfComponents, number} component} other {{numberOfComponents, number} components}}'
|
|
136
|
+
},
|
|
133
137
|
connect_to: {
|
|
134
138
|
id: 'fabric.linking.connect_to',
|
|
135
139
|
defaultMessage: 'Connect to {name}',
|
|
@@ -4,7 +4,7 @@ export var ANALYTICS_CHANNEL = 'media';
|
|
|
4
4
|
export var context = {
|
|
5
5
|
componentName: 'smart-cards',
|
|
6
6
|
packageName: "@atlaskit/smart-card",
|
|
7
|
-
packageVersion: "36.
|
|
7
|
+
packageVersion: "36.9.0"
|
|
8
8
|
};
|
|
9
9
|
export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
10
10
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -496,6 +496,10 @@ export var getLazyIcons = function getLazyIcons() {
|
|
|
496
496
|
default: function _default() {
|
|
497
497
|
return import( /* webpackChunkName: "@atlaskit-internal_glyphAttachment" */'@atlaskit/icon/core/migration/task');
|
|
498
498
|
}
|
|
499
|
+
}), IconType.Component, {
|
|
500
|
+
default: function _default() {
|
|
501
|
+
return import( /* webpackChunkName: "@atlaskit-internal_glyphComponent" */'@atlaskit/icon/core/migration/component');
|
|
502
|
+
}
|
|
499
503
|
}), IconType.Comment, {
|
|
500
504
|
default: function _default() {
|
|
501
505
|
return import( /* webpackChunkName: "@atlaskit-internal_glyphComment" */'@atlaskit/icon/core/migration/comment');
|
|
@@ -512,11 +516,11 @@ export var getLazyIcons = function getLazyIcons() {
|
|
|
512
516
|
default: function _default() {
|
|
513
517
|
return import( /* webpackChunkName: "@atlaskit-internal_glyphComment" */'@atlaskit/icon/core/migration/arrow-up');
|
|
514
518
|
}
|
|
515
|
-
}), IconType.PriorityBlocker, {
|
|
519
|
+
}), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref3, IconType.PriorityBlocker, {
|
|
516
520
|
default: function _default() {
|
|
517
521
|
return import( /* webpackChunkName: "@atlaskit-internal_glyphBlocker" */'@atlaskit/icon-priority/glyph/priority-blocker');
|
|
518
522
|
}
|
|
519
|
-
}),
|
|
523
|
+
}), IconType.PriorityCritical, {
|
|
520
524
|
default: function _default() {
|
|
521
525
|
return import( /* webpackChunkName: "@atlaskit-internal_glyphCritical" */'@atlaskit/icon-priority/glyph/priority-critical');
|
|
522
526
|
}
|
|
@@ -552,11 +556,11 @@ export var getLazyIcons = function getLazyIcons() {
|
|
|
552
556
|
default: function _default() {
|
|
553
557
|
return import( /* webpackChunkName: "@atlaskit-internal_glyphTrivial" */'@atlaskit/icon-priority/glyph/priority-trivial');
|
|
554
558
|
}
|
|
555
|
-
}), IconType.PriorityUndefined, {
|
|
559
|
+
}), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref3, IconType.PriorityUndefined, {
|
|
556
560
|
default: function _default() {
|
|
557
561
|
return import( /* webpackChunkName: "@atlaskit-internal_glyphUndefined" */'@atlaskit/icon/core/migration/question-circle--question');
|
|
558
562
|
}
|
|
559
|
-
}),
|
|
563
|
+
}), IconType.ProgrammingLanguage, {
|
|
560
564
|
default: function _default() {
|
|
561
565
|
return import( /* webpackChunkName: "@atlaskit-internal_glyphProgrammingLanguage" */'@atlaskit/icon/core/migration/angle-brackets--code');
|
|
562
566
|
}
|
|
@@ -65,7 +65,9 @@ export var getSimulatedBetterMetadata = function getSimulatedBetterMetadata(card
|
|
|
65
65
|
}, {
|
|
66
66
|
name: ElementName.OwnedBy
|
|
67
67
|
}].concat(baseTopMetadata) : defaultTopMetadata,
|
|
68
|
-
bottomMetadata:
|
|
68
|
+
bottomMetadata: [{
|
|
69
|
+
name: ElementName.AppliedToComponentsCount
|
|
70
|
+
}].concat(baseBottomMetaData)
|
|
69
71
|
};
|
|
70
72
|
} else {
|
|
71
73
|
return {
|
|
@@ -7,7 +7,7 @@ import { extractEmbedProps } from '../../extractors/embed';
|
|
|
7
7
|
import { extractInlineProps } from '../../extractors/inline';
|
|
8
8
|
import { getExtensionKey, hasAuthScopeOverrides } from '../../state/helpers';
|
|
9
9
|
import { useControlDataExportConfig } from '../../state/hooks/use-control-data-export-config';
|
|
10
|
-
import {
|
|
10
|
+
import { getForbiddenJsonLd } from '../../utils/jsonld';
|
|
11
11
|
import { getIsDataExportEnabled } from '../../utils/should-data-export';
|
|
12
12
|
import BlockCardResolvedView from '../BlockCard/views/ResolvedView';
|
|
13
13
|
import { InlineCardResolvedView } from '../InlineCard/ResolvedView';
|
|
@@ -39,8 +39,6 @@ export var EmbedCard = /*#__PURE__*/React.forwardRef(function (_ref, iframeRef)
|
|
|
39
39
|
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
40
40
|
var status = cardState.status,
|
|
41
41
|
details = cardState.details;
|
|
42
|
-
var data = details && details.data || getEmptyJsonLd();
|
|
43
|
-
var meta = details && details.meta;
|
|
44
42
|
var extensionKey = getExtensionKey(details);
|
|
45
43
|
var isProductIntegrationSupported = hasAuthScopeOverrides(details);
|
|
46
44
|
var _useControlDataExport = useControlDataExportConfig(),
|
|
@@ -60,7 +58,7 @@ export var EmbedCard = /*#__PURE__*/React.forwardRef(function (_ref, iframeRef)
|
|
|
60
58
|
testId: testId ? "".concat(testId, "-resolving-view") : 'embed-card-resolving-view'
|
|
61
59
|
});
|
|
62
60
|
case 'resolved':
|
|
63
|
-
var resolvedViewProps = extractEmbedProps(
|
|
61
|
+
var resolvedViewProps = extractEmbedProps(details, platform, iframeUrlType);
|
|
64
62
|
if (onResolve) {
|
|
65
63
|
var _resolvedViewProps$pr;
|
|
66
64
|
onResolve({
|
|
@@ -71,7 +69,7 @@ export var EmbedCard = /*#__PURE__*/React.forwardRef(function (_ref, iframeRef)
|
|
|
71
69
|
}
|
|
72
70
|
if (fg('platform_smart_links_controlled_dsp_export_view')) {
|
|
73
71
|
if (getIsDataExportEnabled(shouldControlDataExport, cardState.details)) {
|
|
74
|
-
var unauthViewProps = extractEmbedProps(
|
|
72
|
+
var unauthViewProps = extractEmbedProps(details, platform);
|
|
75
73
|
return /*#__PURE__*/React.createElement(UnauthorizedView, {
|
|
76
74
|
context: unauthViewProps.context,
|
|
77
75
|
extensionKey: extensionKey,
|
|
@@ -124,7 +122,7 @@ export var EmbedCard = /*#__PURE__*/React.forwardRef(function (_ref, iframeRef)
|
|
|
124
122
|
status: status
|
|
125
123
|
});
|
|
126
124
|
}
|
|
127
|
-
var unauthorisedViewProps = extractEmbedProps(
|
|
125
|
+
var unauthorisedViewProps = extractEmbedProps(details, platform);
|
|
128
126
|
return /*#__PURE__*/React.createElement(UnauthorizedView, {
|
|
129
127
|
context: unauthorisedViewProps.context,
|
|
130
128
|
extensionKey: extensionKey,
|
|
@@ -144,7 +142,7 @@ export var EmbedCard = /*#__PURE__*/React.forwardRef(function (_ref, iframeRef)
|
|
|
144
142
|
status: status
|
|
145
143
|
});
|
|
146
144
|
}
|
|
147
|
-
var forbiddenViewProps = extractEmbedProps(
|
|
145
|
+
var forbiddenViewProps = extractEmbedProps(details, platform);
|
|
148
146
|
var cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : getForbiddenJsonLd().meta;
|
|
149
147
|
if (forbiddenViewProps.preview) {
|
|
150
148
|
return /*#__PURE__*/React.createElement(EmbedCardResolvedView, _extends({}, forbiddenViewProps, {
|
|
@@ -179,7 +177,7 @@ export var EmbedCard = /*#__PURE__*/React.forwardRef(function (_ref, iframeRef)
|
|
|
179
177
|
status: status
|
|
180
178
|
});
|
|
181
179
|
}
|
|
182
|
-
var notFoundViewProps = extractEmbedProps(
|
|
180
|
+
var notFoundViewProps = extractEmbedProps(details, platform);
|
|
183
181
|
var notFoundAccessContext = details !== null && details !== void 0 && details.meta ? extractRequestAccessContextImproved({
|
|
184
182
|
jsonLd: details === null || details === void 0 ? void 0 : details.meta,
|
|
185
183
|
url: url,
|
|
@@ -13,7 +13,7 @@ import ElementGroup from './element-group';
|
|
|
13
13
|
|
|
14
14
|
// Determine whether the element can be display as inline/block.
|
|
15
15
|
|
|
16
|
-
export var ElementDisplaySchema = (_ElementDisplaySchema = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ElementDisplaySchema, ElementName.AssignedTo, ['inline']), ElementName.AssignedToGroup, ['inline']), ElementName.AttachmentCount, ['inline']), ElementName.AuthorGroup, ['inline']), ElementName.
|
|
16
|
+
export var ElementDisplaySchema = (_ElementDisplaySchema = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ElementDisplaySchema, ElementName.AssignedTo, ['inline']), ElementName.AssignedToGroup, ['inline']), ElementName.AttachmentCount, ['inline']), ElementName.AuthorGroup, ['inline']), ElementName.AppliedToComponentsCount, ['inline']), ElementName.ChecklistProgress, ['inline']), ElementName.CollaboratorGroup, ['inline']), ElementName.CommentCount, ['inline']), ElementName.CreatedBy, ['inline']), ElementName.CreatedOn, ['inline']), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ElementDisplaySchema, ElementName.DueOn, ['inline']), ElementName.LatestCommit, ['inline']), ElementName.LinkIcon, ['inline']), ElementName.Location, ['inline']), ElementName.ModifiedBy, ['inline']), ElementName.ModifiedOn, ['inline']), ElementName.OwnedBy, ['inline']), ElementName.OwnedByGroup, ['inline']), ElementName.Preview, ['block']), ElementName.Priority, ['inline']), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ElementDisplaySchema, ElementName.ProgrammingLanguage, ['inline']), ElementName.Provider, ['inline']), ElementName.ReactCount, ['inline']), ElementName.ReadTime, ['inline']), ElementName.Snippet, ['block']), ElementName.SourceBranch, ['inline']), ElementName.SentOn, ['inline']), ElementName.State, ['inline']), ElementName.SubscriberCount, ['inline']), ElementName.SubTasksProgress, ['inline']), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ElementDisplaySchema, ElementName.StoryPoints, ['inline']), ElementName.TargetBranch, ['inline']), ElementName.Title, ['inline']), ElementName.ViewCount, ['inline']), ElementName.VoteCount, ['inline']));
|
|
17
17
|
|
|
18
18
|
/**
|
|
19
19
|
* Get gap size between elements inside a block
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React, { useContext } from 'react';
|
|
3
|
+
import { useIntl } from 'react-intl-next';
|
|
4
|
+
import { IconType } from '../../../../../constants';
|
|
5
|
+
import { messages } from '../../../../../messages';
|
|
6
|
+
import { FlexibleUiContext } from '../../../../../state/flexible-ui-context';
|
|
7
|
+
import Badge from '../badge';
|
|
8
|
+
var AppliedToComponentsCount = function AppliedToComponentsCount(props) {
|
|
9
|
+
var _useIntl = useIntl(),
|
|
10
|
+
formatMessage = _useIntl.formatMessage;
|
|
11
|
+
var context = useContext(FlexibleUiContext);
|
|
12
|
+
if (
|
|
13
|
+
// Check for null and undefined, render if it's 0.
|
|
14
|
+
(context === null || context === void 0 ? void 0 : context.appliedToComponentsCount) === null || (context === null || context === void 0 ? void 0 : context.appliedToComponentsCount) === undefined) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
var label = formatMessage(messages.compass_applied_components_count, {
|
|
18
|
+
numberOfComponents: context.appliedToComponentsCount
|
|
19
|
+
});
|
|
20
|
+
return /*#__PURE__*/React.createElement(Badge, _extends({
|
|
21
|
+
icon: IconType.Component,
|
|
22
|
+
label: label
|
|
23
|
+
}, props));
|
|
24
|
+
};
|
|
25
|
+
export default AppliedToComponentsCount;
|
|
@@ -173,4 +173,5 @@ export var ViewCount = createElement(ElementName.ViewCount);
|
|
|
173
173
|
* Creates a VoteCount Badge element using the data from VoteCount in the Flexible UI Context.
|
|
174
174
|
* @see Badge
|
|
175
175
|
*/
|
|
176
|
-
export var VoteCount = createElement(ElementName.VoteCount);
|
|
176
|
+
export var VoteCount = createElement(ElementName.VoteCount);
|
|
177
|
+
export { default as AppliedToComponentsCount } from './applied-to-components-count';
|
|
@@ -7,6 +7,7 @@ import { FormattedDate } from 'react-intl-next';
|
|
|
7
7
|
import { ElementName, IconType, SmartLinkInternalTheme } from '../../../../constants';
|
|
8
8
|
import { messages } from '../../../../messages';
|
|
9
9
|
import { FlexibleUiContext } from '../../../../state/flexible-ui-context';
|
|
10
|
+
import AppliedToComponentsCount from './applied-to-components-count';
|
|
10
11
|
import AtlaskitBadge from './atlaskit-badge';
|
|
11
12
|
import AvatarGroup from './avatar-group';
|
|
12
13
|
import Badge from './badge';
|
|
@@ -16,7 +17,12 @@ import Link from './link';
|
|
|
16
17
|
import Lozenge from './lozenge';
|
|
17
18
|
import Media from './media';
|
|
18
19
|
import Text from './text';
|
|
19
|
-
var elementMappings = (_elementMappings = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_elementMappings, ElementName.
|
|
20
|
+
var elementMappings = (_elementMappings = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_elementMappings, ElementName.AppliedToComponentsCount, {
|
|
21
|
+
component: AppliedToComponentsCount,
|
|
22
|
+
props: {
|
|
23
|
+
icon: IconType.Component
|
|
24
|
+
}
|
|
25
|
+
}), ElementName.AttachmentCount, {
|
|
20
26
|
component: Badge,
|
|
21
27
|
props: {
|
|
22
28
|
icon: IconType.Attachment
|
|
@@ -52,9 +58,9 @@ var elementMappings = (_elementMappings = {}, _defineProperty(_defineProperty(_d
|
|
|
52
58
|
}
|
|
53
59
|
}), ElementName.CreatedBy, {
|
|
54
60
|
component: Text
|
|
55
|
-
}), ElementName.OwnedBy, {
|
|
61
|
+
}), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_elementMappings, ElementName.OwnedBy, {
|
|
56
62
|
component: Text
|
|
57
|
-
}),
|
|
63
|
+
}), ElementName.AssignedTo, {
|
|
58
64
|
component: Text
|
|
59
65
|
}), ElementName.AssignedToGroup, {
|
|
60
66
|
component: AvatarGroup
|
|
@@ -75,9 +81,9 @@ var elementMappings = (_elementMappings = {}, _defineProperty(_defineProperty(_d
|
|
|
75
81
|
component: Text
|
|
76
82
|
}), ElementName.ModifiedOn, {
|
|
77
83
|
component: DateTime
|
|
78
|
-
}), ElementName.Preview, {
|
|
84
|
+
}), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_elementMappings, ElementName.Preview, {
|
|
79
85
|
component: Media
|
|
80
|
-
}),
|
|
86
|
+
}), ElementName.Priority, {
|
|
81
87
|
component: Badge
|
|
82
88
|
}), ElementName.ProgrammingLanguage, {
|
|
83
89
|
component: Badge,
|
|
@@ -104,9 +110,9 @@ var elementMappings = (_elementMappings = {}, _defineProperty(_defineProperty(_d
|
|
|
104
110
|
props: {
|
|
105
111
|
icon: IconType.SubTasksProgress
|
|
106
112
|
}
|
|
107
|
-
}), ElementName.StoryPoints, {
|
|
113
|
+
}), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_elementMappings, ElementName.StoryPoints, {
|
|
108
114
|
component: AtlaskitBadge
|
|
109
|
-
}),
|
|
115
|
+
}), ElementName.TargetBranch, {
|
|
110
116
|
component: Text
|
|
111
117
|
}), ElementName.Title, {
|
|
112
118
|
component: Link
|
|
@@ -134,6 +140,7 @@ var getData = function getData(elementName, contextKey, context) {
|
|
|
134
140
|
var AvatarGroupsWithFallback = [ElementName.AssignedToGroup];
|
|
135
141
|
var showFallbackAvatar = AvatarGroupsWithFallback.includes(elementName);
|
|
136
142
|
return toAvatarGroupProps(data, showFallbackAvatar);
|
|
143
|
+
case ElementName.AppliedToComponentsCount:
|
|
137
144
|
case ElementName.AttachmentCount:
|
|
138
145
|
case ElementName.ChecklistProgress:
|
|
139
146
|
case ElementName.CommentCount:
|
|
@@ -13,7 +13,7 @@ import LinkWarningModal from './LinkWarningModal';
|
|
|
13
13
|
import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
|
|
14
14
|
var PACKAGE_DATA = {
|
|
15
15
|
packageName: "@atlaskit/smart-card",
|
|
16
|
-
packageVersion: "36.
|
|
16
|
+
packageVersion: "36.9.0",
|
|
17
17
|
componentName: 'linkUrl'
|
|
18
18
|
};
|
|
19
19
|
var Anchor = withLinkClickedEvent('a');
|
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import React, { useCallback } from 'react';
|
|
3
3
|
import { FormattedMessage } from 'react-intl-next';
|
|
4
4
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
5
|
-
import { Anchor } from '@atlaskit/primitives';
|
|
5
|
+
import { Anchor } from '@atlaskit/primitives/compiled';
|
|
6
6
|
import { useAnalyticsEvents } from '../../common/analytics/generated/use-analytics-events';
|
|
7
7
|
import { CONTENT_URL_3P_ACCOUNT_AUTH, CONTENT_URL_SECURITY_AND_PERMISSIONS } from '../../constants';
|
|
8
8
|
import { messages } from '../../messages';
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
meta: {
|
|
3
|
+
access: string;
|
|
4
|
+
visibility: string;
|
|
5
|
+
product: string;
|
|
6
|
+
resourceType: string;
|
|
7
|
+
key: string;
|
|
8
|
+
};
|
|
9
|
+
data: {
|
|
10
|
+
'@context': {
|
|
11
|
+
'@vocab': string;
|
|
12
|
+
atlassian: string;
|
|
13
|
+
schema: string;
|
|
14
|
+
};
|
|
15
|
+
'@type': string[];
|
|
16
|
+
url: string;
|
|
17
|
+
name: string;
|
|
18
|
+
icon: {
|
|
19
|
+
'@type': string;
|
|
20
|
+
url: string;
|
|
21
|
+
};
|
|
22
|
+
preview: {
|
|
23
|
+
'@type': string;
|
|
24
|
+
href: string;
|
|
25
|
+
'atlassian:supportedPlatforms': string[];
|
|
26
|
+
};
|
|
27
|
+
generator: {
|
|
28
|
+
'@type': string;
|
|
29
|
+
name: string;
|
|
30
|
+
icon: {
|
|
31
|
+
'@type': string;
|
|
32
|
+
url: string;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
'atlassian:ownedBy': {
|
|
36
|
+
'@type': string;
|
|
37
|
+
name: string;
|
|
38
|
+
icon: string;
|
|
39
|
+
};
|
|
40
|
+
'atlassian:appliedToComponentsCount': number;
|
|
41
|
+
summary: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export default _default;
|
|
@@ -88,6 +88,7 @@ export declare enum SmartLinkWidth {
|
|
|
88
88
|
* (src/view/FlexibleCard/components/blocks/utils.tsx)
|
|
89
89
|
*/
|
|
90
90
|
export declare enum ElementName {
|
|
91
|
+
AppliedToComponentsCount = "AppliedToComponentsCount",
|
|
91
92
|
AssignedTo = "AssignedTo",
|
|
92
93
|
AssignedToGroup = "AssignedToGroup",
|
|
93
94
|
AttachmentCount = "AttachmentCount",
|
|
@@ -192,6 +193,7 @@ export declare enum IconType {
|
|
|
192
193
|
Attachment = "Badge:Attachment",
|
|
193
194
|
CheckItem = "Badge:Task",
|
|
194
195
|
Comment = "Badge:Comment",
|
|
196
|
+
Component = "Badge:Component",
|
|
195
197
|
View = "Badge:View",
|
|
196
198
|
React = "Badge:React",
|
|
197
199
|
Vote = "Badge:Vote",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { SmartLinkResponse } from '@atlaskit/linking-types';
|
|
2
2
|
import { type CardPlatform, type EmbedIframeUrlType } from '../../view/Card/types';
|
|
3
3
|
import { type EmbedCardResolvedViewProps } from '../../view/EmbedCard/views/ResolvedView';
|
|
4
|
-
export declare const extractEmbedProps: (
|
|
4
|
+
export declare const extractEmbedProps: (response?: SmartLinkResponse, platform?: CardPlatform, iframeUrlType?: EmbedIframeUrlType) => EmbedCardResolvedViewProps;
|
|
@@ -3,6 +3,7 @@ import { type LinkPerson } from '@atlaskit/link-extractors';
|
|
|
3
3
|
import { type LinkLocation } from '../../state/flexible-ui-context/types';
|
|
4
4
|
export type LinkCommentType = JsonLd.Data.Document | JsonLd.Data.Page | JsonLd.Data.Project | JsonLd.Data.SourceCodeCommit | JsonLd.Data.TaskType;
|
|
5
5
|
export declare const extractCommentCount: (data: JsonLd.Data.BaseData) => number | undefined;
|
|
6
|
+
export declare const extractAppliedToComponentsCount: (data: JsonLd.Data.BaseData) => number | undefined;
|
|
6
7
|
export declare const extractDueOn: (data: JsonLd.Data.BaseData) => string | undefined;
|
|
7
8
|
export declare const extractViewCount: (data: JsonLd.Data.BaseData) => number | undefined;
|
|
8
9
|
export declare const extractReactCount: (data: JsonLd.Data.BaseData) => number | undefined;
|