@atlaskit/smart-card 25.8.0 → 25.9.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.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/constants.js +13 -7
- package/dist/cjs/extractors/flexible/index.js +1 -0
- package/dist/cjs/extractors/flexible/utils.js +14 -2
- package/dist/cjs/state/actions/index.js +11 -27
- package/dist/cjs/state/hooks/use-resolve/index.js +12 -21
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/BlockCard/views/flexible/FlexibleResolvedView.js +4 -1
- package/dist/cjs/view/CardWithUrl/component.js +3 -12
- package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +6 -4
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +7 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/utils.js +1 -1
- package/dist/cjs/view/FlexibleCard/components/elements/index.js +9 -2
- package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +8 -4
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +5 -0
- package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +4 -11
- package/dist/cjs/view/HoverCard/styled.js +1 -1
- package/dist/cjs/view/HoverCard/utils.js +1 -1
- package/dist/es2019/constants.js +10 -5
- package/dist/es2019/extractors/flexible/index.js +2 -1
- package/dist/es2019/extractors/flexible/utils.js +12 -0
- package/dist/es2019/state/actions/index.js +12 -32
- package/dist/es2019/state/hooks/use-resolve/index.js +12 -21
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/BlockCard/views/flexible/FlexibleResolvedView.js +4 -1
- package/dist/es2019/view/CardWithUrl/component.js +2 -8
- package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +6 -4
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +8 -3
- package/dist/es2019/view/FlexibleCard/components/blocks/utils.js +5 -4
- package/dist/es2019/view/FlexibleCard/components/elements/index.js +6 -0
- package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +17 -1
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +7 -1
- package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +3 -10
- package/dist/es2019/view/HoverCard/styled.js +1 -1
- package/dist/es2019/view/HoverCard/utils.js +1 -1
- package/dist/esm/constants.js +10 -5
- package/dist/esm/extractors/flexible/index.js +2 -1
- package/dist/esm/extractors/flexible/utils.js +11 -0
- package/dist/esm/state/actions/index.js +11 -27
- package/dist/esm/state/hooks/use-resolve/index.js +12 -21
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/BlockCard/views/flexible/FlexibleResolvedView.js +4 -1
- package/dist/esm/view/CardWithUrl/component.js +2 -10
- package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +7 -5
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +8 -3
- package/dist/esm/view/FlexibleCard/components/blocks/utils.js +1 -1
- package/dist/esm/view/FlexibleCard/components/elements/index.js +6 -0
- package/dist/esm/view/FlexibleCard/components/elements/link/index.js +9 -5
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +6 -1
- package/dist/esm/view/HoverCard/components/HoverCardComponent.js +4 -11
- package/dist/esm/view/HoverCard/styled.js +1 -1
- package/dist/esm/view/HoverCard/utils.js +1 -1
- package/dist/types/constants.d.ts +6 -2
- package/dist/types/extractors/flexible/utils.d.ts +2 -0
- package/dist/types/state/flexible-ui-context/types.d.ts +10 -0
- package/dist/types/view/CardWithUrl/component.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/blocks/element-group/index.d.ts +2 -2
- package/dist/types/view/FlexibleCard/components/blocks/element-group/types.d.ts +2 -1
- package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +7 -1
- package/dist/types/view/FlexibleCard/components/elements/index.d.ts +6 -0
- package/package.json +2 -3
- package/report.api.md +8 -0
- package/tmp/api-report-tmp.d.ts +8 -1
- package/dist/cjs/utils/analytics/SmartLinkAnalyticsContext.js +0 -47
- package/dist/es2019/utils/analytics/SmartLinkAnalyticsContext.js +0 -35
- package/dist/esm/utils/analytics/SmartLinkAnalyticsContext.js +0 -36
- package/dist/types/utils/analytics/SmartLinkAnalyticsContext.d.ts +0 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 25.9.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`b76602c1619`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b76602c1619) - Revert 25.8.0 changes "Include additional attributes (urlHash, display, id) and resolved attributes for link clicked analytics events" due to regression
|
|
8
|
+
- [`1aedc244e41`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1aedc244e41) - [ux] Smart Links Internal Grey theme is now more specific to prevent Confluence override
|
|
9
|
+
|
|
10
|
+
## 25.9.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- [`7f248766888`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7f248766888) - [ux] Add container names which mark the location in which the linked resource sits within. This funtionality will be used to show the container names for Trello links.
|
|
15
|
+
|
|
16
|
+
FlexUI: Reduced gap between title and subtitle in TitleBlock.
|
|
17
|
+
|
|
3
18
|
## 25.8.0
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
package/dist/cjs/constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.SmartLinkWidth = exports.SmartLinkTheme = exports.SmartLinkStatus = exports.SmartLinkSize = exports.SmartLinkPosition = exports.SmartLinkDirection = exports.SmartLinkAlignment = exports.MediaType = exports.MediaPlacement = exports.IconType = exports.ElementName = exports.CardDisplay = exports.CONTENT_URL_SECURITY_AND_PERMISSIONS = exports.ActionName = void 0;
|
|
6
|
+
exports.SmartLinkWidth = exports.SmartLinkTheme = exports.SmartLinkStatus = exports.SmartLinkSize = exports.SmartLinkPosition = exports.SmartLinkInternalTheme = exports.SmartLinkDirection = exports.SmartLinkAlignment = exports.MediaType = exports.MediaPlacement = exports.IconType = exports.ElementName = exports.CardDisplay = exports.CONTENT_URL_SECURITY_AND_PERMISSIONS = exports.ActionName = void 0;
|
|
7
7
|
var CONTENT_URL_SECURITY_AND_PERMISSIONS = 'https://support.atlassian.com/confluence-cloud/docs/insert-links-and-anchors/#Smart-links';
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -70,16 +70,21 @@ exports.SmartLinkStatus = SmartLinkStatus;
|
|
|
70
70
|
SmartLinkStatus["Fallback"] = "fallback";
|
|
71
71
|
})(SmartLinkStatus || (exports.SmartLinkStatus = SmartLinkStatus = {}));
|
|
72
72
|
var SmartLinkTheme;
|
|
73
|
-
/**
|
|
74
|
-
* Determines whether the container size will fit to the content
|
|
75
|
-
* or expand to the available width or the parent component.
|
|
76
|
-
* Similar to flex's flex-grow concept.
|
|
77
|
-
*/
|
|
78
73
|
exports.SmartLinkTheme = SmartLinkTheme;
|
|
79
74
|
(function (SmartLinkTheme) {
|
|
80
75
|
SmartLinkTheme["Black"] = "black";
|
|
81
76
|
SmartLinkTheme["Link"] = "link";
|
|
82
77
|
})(SmartLinkTheme || (exports.SmartLinkTheme = SmartLinkTheme = {}));
|
|
78
|
+
var SmartLinkInternalTheme;
|
|
79
|
+
/**
|
|
80
|
+
* Determines whether the container size will fit to the content
|
|
81
|
+
* or expand to the available width or the parent component.
|
|
82
|
+
* Similar to flex's flex-grow concept.
|
|
83
|
+
*/
|
|
84
|
+
exports.SmartLinkInternalTheme = SmartLinkInternalTheme;
|
|
85
|
+
(function (SmartLinkInternalTheme) {
|
|
86
|
+
SmartLinkInternalTheme["Grey"] = "grey";
|
|
87
|
+
})(SmartLinkInternalTheme || (exports.SmartLinkInternalTheme = SmartLinkInternalTheme = {}));
|
|
83
88
|
var SmartLinkWidth;
|
|
84
89
|
/**
|
|
85
90
|
* Flexible UI element name - each reflecting the link data its represented.
|
|
@@ -116,7 +121,9 @@ exports.ElementName = ElementName;
|
|
|
116
121
|
ElementName["CreatedBy"] = "CreatedBy";
|
|
117
122
|
ElementName["CreatedOn"] = "CreatedOn";
|
|
118
123
|
ElementName["DueOn"] = "DueOn";
|
|
124
|
+
ElementName["LatestCommit"] = "LatestCommit";
|
|
119
125
|
ElementName["LinkIcon"] = "LinkIcon";
|
|
126
|
+
ElementName["Location"] = "Location";
|
|
120
127
|
ElementName["ModifiedBy"] = "ModifiedBy";
|
|
121
128
|
ElementName["ModifiedOn"] = "ModifiedOn";
|
|
122
129
|
ElementName["OwnedBy"] = "OwnedBy";
|
|
@@ -133,7 +140,6 @@ exports.ElementName = ElementName;
|
|
|
133
140
|
ElementName["Title"] = "Title";
|
|
134
141
|
ElementName["ViewCount"] = "ViewCount";
|
|
135
142
|
ElementName["VoteCount"] = "VoteCount";
|
|
136
|
-
ElementName["LatestCommit"] = "LatestCommit";
|
|
137
143
|
})(ElementName || (exports.ElementName = ElementName = {}));
|
|
138
144
|
var ActionName;
|
|
139
145
|
/**
|
|
@@ -49,6 +49,7 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
|
|
|
49
49
|
downloadAction: (0, _extractDownloadAction.extractDownloadAction)(data),
|
|
50
50
|
latestCommit: (0, _latestCommit.extractLatestCommit)(data),
|
|
51
51
|
linkIcon: (0, _icon.extractLinkIcon)(response, renderers),
|
|
52
|
+
location: (0, _utils.extractLocation)(data),
|
|
52
53
|
modifiedBy: (0, _utils.extractModifiedBy)(data),
|
|
53
54
|
modifiedOn: (0, _extractors.extractDateUpdated)(data),
|
|
54
55
|
preview: (0, _extractPreview.default)(data),
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.extractVoteCount = exports.extractViewCount = exports.extractTargetBranch = exports.extractSubscriberCount = exports.extractSourceBranch = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractOwnedBy = exports.extractModifiedBy = exports.extractDueOn = exports.extractCreatedBy = exports.extractCommentCount = exports.extractChecklistProgress = exports.extractAttachmentCount = void 0;
|
|
7
|
+
exports.extractVoteCount = exports.extractViewCount = exports.extractTargetBranch = exports.extractSubscriberCount = exports.extractSourceBranch = exports.extractReactCount = exports.extractProgrammingLanguage = exports.extractOwnedBy = exports.extractModifiedBy = exports.extractLocation = exports.extractDueOn = exports.extractCreatedBy = exports.extractCommentCount = exports.extractChecklistProgress = exports.extractAttachmentCount = void 0;
|
|
8
8
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
9
|
var _extractors = require("@atlaskit/linking-common/extractors");
|
|
10
10
|
var extractLinkName = function extractLinkName(link) {
|
|
@@ -80,4 +80,16 @@ var extractChecklistProgress = function extractChecklistProgress(data) {
|
|
|
80
80
|
var checkItemsObj = extractValue(data, 'atlassian:checkItems');
|
|
81
81
|
return checkItemsObj ? "".concat(checkItemsObj.checkedItems, "/").concat(checkItemsObj.totalItems) : undefined;
|
|
82
82
|
};
|
|
83
|
-
exports.extractChecklistProgress = extractChecklistProgress;
|
|
83
|
+
exports.extractChecklistProgress = extractChecklistProgress;
|
|
84
|
+
var extractLocation = function extractLocation(data) {
|
|
85
|
+
var _ref = extractValue(data, 'location') || {},
|
|
86
|
+
url = _ref.url,
|
|
87
|
+
name = _ref.name;
|
|
88
|
+
if (url && name && typeof url === 'string') {
|
|
89
|
+
return {
|
|
90
|
+
text: name,
|
|
91
|
+
url: url
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
exports.extractLocation = extractLocation;
|
|
@@ -25,20 +25,13 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
25
25
|
connections = _useSmartLinkContext.connections;
|
|
26
26
|
var getState = store.getState,
|
|
27
27
|
dispatch = store.dispatch;
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
metadataStatus = _ref.metadataStatus;
|
|
36
|
-
return {
|
|
37
|
-
details: details,
|
|
38
|
-
status: status,
|
|
39
|
-
metadataStatus: metadataStatus
|
|
40
|
-
};
|
|
41
|
-
}, [getState, url]);
|
|
28
|
+
var _ref = getState()[url] || {
|
|
29
|
+
status: _constants.SmartLinkStatus.Pending,
|
|
30
|
+
details: undefined
|
|
31
|
+
},
|
|
32
|
+
details = _ref.details,
|
|
33
|
+
status = _ref.status,
|
|
34
|
+
metadataStatus = _ref.metadataStatus;
|
|
42
35
|
var setMetadataStatus = (0, _react.useCallback)(function (metadataStatus) {
|
|
43
36
|
dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_UPDATE_METADATA_STATUS, {
|
|
44
37
|
url: url
|
|
@@ -65,8 +58,6 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
65
58
|
}, _callee);
|
|
66
59
|
})), [id, resolveUrl, url]);
|
|
67
60
|
var register = (0, _react.useCallback)(function () {
|
|
68
|
-
var _getSmartLinkState = getSmartLinkState(),
|
|
69
|
-
details = _getSmartLinkState.details;
|
|
70
61
|
if (!details) {
|
|
71
62
|
dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RESOLVING, {
|
|
72
63
|
url: url
|
|
@@ -74,10 +65,8 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
74
65
|
setMetadataStatus('pending');
|
|
75
66
|
}
|
|
76
67
|
return resolve();
|
|
77
|
-
}, [
|
|
68
|
+
}, [details, resolve, dispatch, url, setMetadataStatus]);
|
|
78
69
|
var reload = (0, _react.useCallback)(function () {
|
|
79
|
-
var _getSmartLinkState2 = getSmartLinkState(),
|
|
80
|
-
details = _getSmartLinkState2.details;
|
|
81
70
|
var definitionId = (0, _helpers.getDefinitionId)(details);
|
|
82
71
|
if (definitionId) {
|
|
83
72
|
(0, _helpers.getByDefinitionId)(definitionId, getState()).map(function (url) {
|
|
@@ -86,20 +75,15 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
86
75
|
} else {
|
|
87
76
|
resolve(url, true);
|
|
88
77
|
}
|
|
89
|
-
}, [
|
|
78
|
+
}, [details, url, getState, resolve]);
|
|
90
79
|
var loadMetadata = (0, _react.useCallback)(function () {
|
|
91
|
-
var _getSmartLinkState3 = getSmartLinkState(),
|
|
92
|
-
metadataStatus = _getSmartLinkState3.metadataStatus;
|
|
93
80
|
//metadataStatus will be undefined for SSR links only
|
|
94
81
|
if (metadataStatus === undefined) {
|
|
95
82
|
setMetadataStatus('pending');
|
|
96
83
|
return resolve(url, false, true);
|
|
97
84
|
}
|
|
98
|
-
}, [
|
|
85
|
+
}, [metadataStatus, resolve, setMetadataStatus, url]);
|
|
99
86
|
var authorize = (0, _react.useCallback)(function (appearance) {
|
|
100
|
-
var _getSmartLinkState4 = getSmartLinkState(),
|
|
101
|
-
details = _getSmartLinkState4.details,
|
|
102
|
-
status = _getSmartLinkState4.status;
|
|
103
87
|
var definitionId = (0, _helpers.getDefinitionId)(details);
|
|
104
88
|
var extensionKey = (0, _helpers.getExtensionKey)(details);
|
|
105
89
|
var services = (0, _helpers.getServices)(details);
|
|
@@ -151,7 +135,7 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
151
135
|
reload();
|
|
152
136
|
});
|
|
153
137
|
}
|
|
154
|
-
}, [
|
|
138
|
+
}, [analytics.ui, analytics.screen, analytics.track, analytics.operational, id, reload, details, status]);
|
|
155
139
|
var invoke = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
156
140
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts, appearance) {
|
|
157
141
|
var key, action, source, markName, response;
|
|
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _react = require("react");
|
|
11
|
-
var _reactDom = require("react-dom");
|
|
12
11
|
var _analytics = require("../../analytics");
|
|
13
12
|
var _helpers = require("../../helpers");
|
|
14
13
|
var _linkingCommon = require("@atlaskit/linking-common");
|
|
@@ -107,26 +106,18 @@ var useResolve = function useResolve() {
|
|
|
107
106
|
return;
|
|
108
107
|
}
|
|
109
108
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
url: resourceUrl
|
|
123
|
-
}, response));
|
|
124
|
-
} else {
|
|
125
|
-
dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RESOLVED, {
|
|
126
|
-
url: resourceUrl
|
|
127
|
-
}, response, undefined, undefined, isMetadataRequest));
|
|
128
|
-
}
|
|
129
|
-
});
|
|
109
|
+
//if a link resolves normally, metadata will also always be resolved
|
|
110
|
+
setMetadataStatus(resourceUrl, 'resolved');
|
|
111
|
+
// Dispatch Analytics and resolved card action - including unauthorized states.
|
|
112
|
+
if (isReloading) {
|
|
113
|
+
dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RELOADING, {
|
|
114
|
+
url: resourceUrl
|
|
115
|
+
}, response));
|
|
116
|
+
} else {
|
|
117
|
+
dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RESOLVED, {
|
|
118
|
+
url: resourceUrl
|
|
119
|
+
}, response, undefined, undefined, isMetadataRequest));
|
|
120
|
+
}
|
|
130
121
|
}, [dispatch, handleResolvedLinkError, hasAuthFlowSupported, setMetadataStatus]);
|
|
131
122
|
return (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
132
123
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(url) {
|
package/dist/cjs/version.json
CHANGED
|
@@ -89,7 +89,10 @@ var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
|
|
|
89
89
|
}, {
|
|
90
90
|
name: _constants.ElementName.State
|
|
91
91
|
}],
|
|
92
|
-
hideRetry: true
|
|
92
|
+
hideRetry: true,
|
|
93
|
+
subtitle: [{
|
|
94
|
+
name: _constants.ElementName.Location
|
|
95
|
+
}]
|
|
93
96
|
}), /*#__PURE__*/_react.default.createElement(_blocks.MetadataBlock, {
|
|
94
97
|
primary: metadata,
|
|
95
98
|
maxLines: 1
|
|
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.CardWithUrlContent =
|
|
8
|
+
exports.CardWithUrlContent = CardWithUrlContent;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
11
11
|
var _linkProvider = require("@atlaskit/link-provider");
|
|
@@ -20,10 +20,9 @@ var _flexible = require("../../utils/flexible");
|
|
|
20
20
|
var _FlexibleCard = _interopRequireDefault(require("../FlexibleCard"));
|
|
21
21
|
var _constants = require("../../constants");
|
|
22
22
|
var _click = require("../../utils/analytics/click");
|
|
23
|
-
var _SmartLinkAnalyticsContext = require("../../utils/analytics/SmartLinkAnalyticsContext");
|
|
24
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
26
|
-
function
|
|
25
|
+
function CardWithUrlContent(_ref) {
|
|
27
26
|
var id = _ref.id,
|
|
28
27
|
url = _ref.url,
|
|
29
28
|
isSelected = _ref.isSelected,
|
|
@@ -268,12 +267,4 @@ function Component(_ref) {
|
|
|
268
267
|
onIframeFocus: onIframeFocus
|
|
269
268
|
});
|
|
270
269
|
}
|
|
271
|
-
}
|
|
272
|
-
var CardWithUrlContent = function CardWithUrlContent(props) {
|
|
273
|
-
return /*#__PURE__*/_react.default.createElement(_SmartLinkAnalyticsContext.SmartLinkAnalyticsContext, {
|
|
274
|
-
url: props.url,
|
|
275
|
-
appearance: props.appearance,
|
|
276
|
-
id: props.id
|
|
277
|
-
}, /*#__PURE__*/_react.default.createElement(Component, props));
|
|
278
|
-
};
|
|
279
|
-
exports.CardWithUrlContent = CardWithUrlContent;
|
|
270
|
+
}
|
|
@@ -33,8 +33,8 @@ var getHorizontalDirectionStyles = function getHorizontalDirectionStyles(size, a
|
|
|
33
33
|
var lineHeight = (0, _utils2.getMaxLineHeight)(size);
|
|
34
34
|
return (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n display: block;\n vertical-align: middle;\n ", "\n\n > span, > div {\n vertical-align: middle;\n\n &[data-smart-element-date-time],\n &[data-smart-element-text] {\n // Show all/wrapped/truncated\n display: inline;\n }\n }\n\n ", "\n "])), (0, _utils2.getTruncateStyles)(1, lineHeight + 'rem'), getGapStyles(size, align));
|
|
35
35
|
};
|
|
36
|
-
var getElementGroupStyles = function getElementGroupStyles(direction, size, align, width) {
|
|
37
|
-
return (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n min-width: 10%;\n ", "\n ", "\n"])), (0, _utils.getBaseStyles)(direction, size), getAlignmentStyles(align), width === _constants.SmartLinkWidth.Flexible ? "flex: 1 3;" : '', direction === _constants.SmartLinkDirection.Horizontal ? getHorizontalDirectionStyles(size, align) : '');
|
|
36
|
+
var getElementGroupStyles = function getElementGroupStyles(direction, size, align, width, position) {
|
|
37
|
+
return (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n min-width: 10%;\n ", "\n ", "\n ", "\n"])), (0, _utils.getBaseStyles)(direction, size), getAlignmentStyles(align), width === _constants.SmartLinkWidth.Flexible ? "flex: 1 3;" : '', direction === _constants.SmartLinkDirection.Horizontal ? getHorizontalDirectionStyles(size, align) : '', position === _constants.SmartLinkPosition.Top ? 'align-self: flex-start;' : '');
|
|
38
38
|
};
|
|
39
39
|
|
|
40
40
|
/**
|
|
@@ -57,9 +57,11 @@ var ElementGroup = function ElementGroup(_ref) {
|
|
|
57
57
|
_ref$testId = _ref.testId,
|
|
58
58
|
testId = _ref$testId === void 0 ? 'smart-element-group' : _ref$testId,
|
|
59
59
|
_ref$width = _ref.width,
|
|
60
|
-
width = _ref$width === void 0 ? _constants.SmartLinkWidth.FitToContent : _ref$width
|
|
60
|
+
width = _ref$width === void 0 ? _constants.SmartLinkWidth.FitToContent : _ref$width,
|
|
61
|
+
_ref$position = _ref.position,
|
|
62
|
+
position = _ref$position === void 0 ? _constants.SmartLinkPosition.Center : _ref$position;
|
|
61
63
|
return (0, _react2.jsx)("div", {
|
|
62
|
-
css: [getElementGroupStyles(direction, size, align, width), overrideCss],
|
|
64
|
+
css: [getElementGroupStyles(direction, size, align, width, position), overrideCss],
|
|
63
65
|
"data-smart-element-group": true,
|
|
64
66
|
"data-testid": testId
|
|
65
67
|
}, (0, _utils.renderChildren)(children, size));
|
|
@@ -6,13 +6,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
11
|
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _react2 = require("@emotion/react");
|
|
11
13
|
var _elements = require("../../../elements");
|
|
12
14
|
var _block = _interopRequireDefault(require("../../block"));
|
|
13
15
|
var _elementGroup = _interopRequireDefault(require("../../element-group"));
|
|
14
16
|
var _constants = require("../../../../../../constants");
|
|
15
17
|
var _utils = require("../../utils");
|
|
18
|
+
var _templateObject;
|
|
16
19
|
var _excluded = ["actionGroup", "metadata", "position", "subtitle", "testId", "text", "title"];
|
|
17
20
|
/**
|
|
18
21
|
* This renders a fully resolved TitleBlock.
|
|
@@ -38,12 +41,14 @@ var TitleBlockResolvedView = function TitleBlockResolvedView(_ref) {
|
|
|
38
41
|
position: position
|
|
39
42
|
}), /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
|
|
40
43
|
direction: _constants.SmartLinkDirection.Vertical,
|
|
41
|
-
width: _constants.SmartLinkWidth.Flexible
|
|
44
|
+
width: _constants.SmartLinkWidth.Flexible,
|
|
45
|
+
overrideCss: (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n gap: 0.25rem;\n "])))
|
|
42
46
|
}, title, subtitleElements && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
|
|
43
47
|
direction: _constants.SmartLinkDirection.Horizontal
|
|
44
48
|
}, subtitleElements)), metadataElements && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
|
|
45
49
|
direction: _constants.SmartLinkDirection.Horizontal,
|
|
46
|
-
align: _constants.SmartLinkAlignment.Right
|
|
50
|
+
align: _constants.SmartLinkAlignment.Right,
|
|
51
|
+
position: _constants.SmartLinkPosition.Top
|
|
47
52
|
}, metadataElements), actionGroup);
|
|
48
53
|
};
|
|
49
54
|
var _default = TitleBlockResolvedView;
|
|
@@ -24,7 +24,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
24
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
25
|
// Determine whether the element can be display as inline/block.
|
|
26
26
|
|
|
27
|
-
var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AttachmentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ChecklistProgress, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.
|
|
27
|
+
var ElementDisplaySchema = (_ElementDisplaySchema = {}, (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AttachmentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.AuthorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ChecklistProgress, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CollaboratorGroup, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CommentCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.CreatedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.DueOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LatestCommit, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.LinkIcon, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Location, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ModifiedOn, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.OwnedBy, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Preview, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Priority, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ProgrammingLanguage, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Provider, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ReactCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Snippet, ['block']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SourceBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.State, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.SubscriberCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.TargetBranch, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.Title, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.ViewCount, ['inline']), (0, _defineProperty2.default)(_ElementDisplaySchema, _constants.ElementName.VoteCount, ['inline']), _ElementDisplaySchema);
|
|
28
28
|
exports.ElementDisplaySchema = ElementDisplaySchema;
|
|
29
29
|
var getDirectionStyles = function getDirectionStyles(direction) {
|
|
30
30
|
switch (direction) {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.VoteCount = exports.ViewCount = exports.Title = exports.TargetBranch = exports.SubscriberCount = exports.State = exports.SourceBranch = exports.Snippet = exports.ReactCount = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.Preview = exports.OwnedBy = exports.ModifiedOn = exports.ModifiedBy = exports.LinkIcon = exports.LatestCommit = exports.DueOn = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.ChecklistProgress = exports.AuthorGroup = exports.AttachmentCount = void 0;
|
|
6
|
+
exports.VoteCount = exports.ViewCount = exports.Title = exports.TargetBranch = exports.SubscriberCount = exports.State = exports.SourceBranch = exports.Snippet = exports.ReactCount = exports.Provider = exports.ProgrammingLanguage = exports.Priority = exports.Preview = exports.OwnedBy = exports.ModifiedOn = exports.ModifiedBy = exports.Location = exports.LinkIcon = exports.LatestCommit = exports.DueOn = exports.CreatedOn = exports.CreatedBy = exports.CommentCount = exports.CollaboratorGroup = exports.ChecklistProgress = exports.AuthorGroup = exports.AttachmentCount = void 0;
|
|
7
7
|
var _utils = require("./utils");
|
|
8
8
|
var _constants = require("../../../../constants");
|
|
9
9
|
// Attention: Keep the export name and element name the same.
|
|
@@ -67,11 +67,18 @@ var LatestCommit = (0, _utils.createElement)(_constants.ElementName.LatestCommit
|
|
|
67
67
|
*/
|
|
68
68
|
exports.LatestCommit = LatestCommit;
|
|
69
69
|
var LinkIcon = (0, _utils.createElement)(_constants.ElementName.LinkIcon);
|
|
70
|
+
/**
|
|
71
|
+
* Creates a Location Link element.
|
|
72
|
+
* This represents the location or container of the resource.
|
|
73
|
+
* @see Link
|
|
74
|
+
*/
|
|
75
|
+
exports.LinkIcon = LinkIcon;
|
|
76
|
+
var Location = (0, _utils.createElement)(_constants.ElementName.Location);
|
|
70
77
|
/**
|
|
71
78
|
* Creates a ModifiedBy Text element using the data from ModifiedBy in the Flexible UI Context.
|
|
72
79
|
* @see Text
|
|
73
80
|
*/
|
|
74
|
-
exports.
|
|
81
|
+
exports.Location = Location;
|
|
75
82
|
var ModifiedBy = (0, _utils.createElement)(_constants.ElementName.ModifiedBy);
|
|
76
83
|
/**
|
|
77
84
|
* Creates a ModifiedOn DateTime element using the data from ModifiedOn in the Flexible UI Context.
|
|
@@ -14,7 +14,7 @@ var _constants = require("../../../../../constants");
|
|
|
14
14
|
var _utils = require("../../utils");
|
|
15
15
|
var _token = require("../../../../../utils/token");
|
|
16
16
|
var _useMouseDownEvent = _interopRequireDefault(require("../../../../../state/analytics/useMouseDownEvent"));
|
|
17
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
17
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
18
18
|
/** @jsx jsx */
|
|
19
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20
20
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -24,17 +24,21 @@ var MINIMUM_MAX_LINES = 1;
|
|
|
24
24
|
var containerStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n flex: 1 1 auto;\n"])));
|
|
25
25
|
var getThemeStyles = function getThemeStyles(theme) {
|
|
26
26
|
switch (theme) {
|
|
27
|
+
case _constants.SmartLinkInternalTheme.Grey:
|
|
28
|
+
// We are being specifc with the CSS selectors to ensure that Confluence overrides
|
|
29
|
+
// do not affect our internal Smart Card styles
|
|
30
|
+
return (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n a& {\n color: ", ";\n &:active,\n &:visited,\n &:focus,\n &:hover {\n color: ", ";\n text-decoration: underline;\n }\n font-size: 12px;\n }\n "])), "var(--ds-text-subtlest, #626F86)", "var(--ds-text-subtlest, #626F86)");
|
|
27
31
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
28
32
|
case _constants.SmartLinkTheme.Black:
|
|
29
|
-
return (0, _react2.css)(
|
|
33
|
+
return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n :active {\n color: ", ";\n }\n :hover {\n color: ", ";\n text-decoration: underline;\n }\n "])), _token.tokens.blackLink, _token.tokens.blackLinkPressed, _token.tokens.blackLink);
|
|
30
34
|
case _constants.SmartLinkTheme.Link:
|
|
31
35
|
default:
|
|
32
|
-
return (0, _react2.css)(
|
|
36
|
+
return (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n :active {\n color: ", ";\n }\n :hover {\n color: ", ";\n text-decoration: underline;\n }\n "])), _token.tokens.blueLink, _token.tokens.blueLinkPressed, _token.tokens.blueLink);
|
|
33
37
|
}
|
|
34
38
|
};
|
|
35
39
|
var getAnchorStyles = function getAnchorStyles(size, theme, maxLines, hasSpace) {
|
|
36
40
|
var sizeStyles = (0, _utils.getLinkSizeStyles)(size);
|
|
37
|
-
return (0, _react2.css)(
|
|
41
|
+
return (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1 1 auto;\n ", "\n ", "\n // Theme should be last to be spread because it contains override values\n ", "\n "])), sizeStyles, (0, _utils.getTruncateStyles)(maxLines, (0, _utils.getLinkLineHeight)(size), hasSpace ? 'break-word' : 'break-all'), getThemeStyles(theme));
|
|
38
42
|
};
|
|
39
43
|
var getMaxLines = function getMaxLines(maxLines) {
|
|
40
44
|
if (maxLines > MAXIMUM_MAX_LINES) {
|
|
@@ -111,6 +111,11 @@ var elementMappings = (_elementMappings = {}, (0, _defineProperty2.default)(_ele
|
|
|
111
111
|
component: _text.default
|
|
112
112
|
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Title, {
|
|
113
113
|
component: _link.default
|
|
114
|
+
}), (0, _defineProperty2.default)(_elementMappings, _constants.ElementName.Location, {
|
|
115
|
+
component: _link.default,
|
|
116
|
+
props: {
|
|
117
|
+
theme: _constants.SmartLinkInternalTheme.Grey
|
|
118
|
+
}
|
|
114
119
|
}), _elementMappings);
|
|
115
120
|
var getContextKey = function getContextKey(name) {
|
|
116
121
|
// Attempt to predict context prop name in advance to reduce the amount of
|
|
@@ -17,7 +17,6 @@ var _store = require("../../../state/store");
|
|
|
17
17
|
var _HoverCardContent = _interopRequireDefault(require("../components/HoverCardContent"));
|
|
18
18
|
var _styled = require("../styled");
|
|
19
19
|
var _constants = require("../../../constants");
|
|
20
|
-
var _SmartLinkAnalyticsContext = require("../../../utils/analytics/SmartLinkAnalyticsContext");
|
|
21
20
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
22
21
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
22
|
/** @jsx jsx */
|
|
@@ -25,7 +24,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
25
24
|
var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
26
25
|
var children = _ref.children,
|
|
27
26
|
url = _ref.url,
|
|
28
|
-
id = _ref.id,
|
|
29
27
|
analyticsHandler = _ref.analyticsHandler,
|
|
30
28
|
analytics = _ref.analytics,
|
|
31
29
|
_ref$canOpen = _ref.canOpen,
|
|
@@ -135,11 +133,7 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
135
133
|
}, [closeOnChildClick, hideCard]);
|
|
136
134
|
var content = (0, _react2.useCallback)(function (_ref2) {
|
|
137
135
|
var update = _ref2.update;
|
|
138
|
-
return (0, _react.jsx)(
|
|
139
|
-
url: url,
|
|
140
|
-
appearance: _constants.CardDisplay.HoverCardPreview,
|
|
141
|
-
id: id
|
|
142
|
-
}, (0, _react.jsx)(_HoverCardContent.default, {
|
|
136
|
+
return (0, _react.jsx)(_HoverCardContent.default, {
|
|
143
137
|
onMouseEnter: initShowCard,
|
|
144
138
|
onMouseLeave: initHideCard,
|
|
145
139
|
analytics: analytics,
|
|
@@ -149,10 +143,9 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
149
143
|
onResolve: update,
|
|
150
144
|
renderers: renderers,
|
|
151
145
|
showServerActions: showServerActions,
|
|
152
|
-
url: url
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}, [analytics, initHideCard, initShowCard, filteredActions, linkState, onActionClick, renderers, showServerActions, url, id]);
|
|
146
|
+
url: url
|
|
147
|
+
});
|
|
148
|
+
}, [analytics, initHideCard, initShowCard, filteredActions, linkState, onActionClick, renderers, showServerActions, url]);
|
|
156
149
|
var trigger = (0, _react2.useCallback)(function (triggerProps) {
|
|
157
150
|
return (0, _react.jsx)("span", {
|
|
158
151
|
ref: parentSpan
|
|
@@ -35,7 +35,7 @@ var separatorCss = (0, _react.css)(_templateObject || (_templateObject = (0, _ta
|
|
|
35
35
|
exports.separatorCss = separatorCss;
|
|
36
36
|
var HoverCardContainer = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: none;\n border-width: 0;\n box-sizing: border-box;\n width: ", "rem;\n padding: 1rem;\n\n .", " {\n display: none;\n }\n"])), CARD_WIDTH_REM, _index.loadingPlaceholderClassName);
|
|
37
37
|
exports.HoverCardContainer = HoverCardContainer;
|
|
38
|
-
var titleBlockCss = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n gap: ", ";\n\n ", "\n\n // title and subtitle element group\n [data-smart-element-group] {\n // gap between title and subtitle\n gap: 0.06rem;\n
|
|
38
|
+
var titleBlockCss = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n gap: ", ";\n\n ", "\n\n // title and subtitle element group\n [data-smart-element-group] {\n // gap between title and subtitle\n gap: 0.06rem;\n display: flex;\n /* subtitle element group */\n > [data-smart-element-group] {\n > span {\n margin-right: ", ";\n }\n }\n }\n"])), blockGap, separatorCss, elementGap);
|
|
39
39
|
exports.titleBlockCss = titleBlockCss;
|
|
40
40
|
var getTransitionStyles = function getTransitionStyles(snippetHeight) {
|
|
41
41
|
return (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n transition: height 300ms ease-in-out;\n height: ", "px;\n"])), snippetHeight);
|
|
@@ -56,7 +56,7 @@ var getSimulatedMetadata = function getSimulatedMetadata() {
|
|
|
56
56
|
metadata: {
|
|
57
57
|
primary: [_constants.ElementName.AuthorGroup, _constants.ElementName.State, _constants.ElementName.DueOn],
|
|
58
58
|
secondary: [_constants.ElementName.ReactCount, _constants.ElementName.CommentCount, _constants.ElementName.AttachmentCount, _constants.ElementName.ChecklistProgress],
|
|
59
|
-
subtitle: []
|
|
59
|
+
subtitle: [_constants.ElementName.Location]
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
62
|
case 'watermelon-object-provider':
|
package/dist/es2019/constants.js
CHANGED
|
@@ -63,16 +63,20 @@ export let SmartLinkStatus;
|
|
|
63
63
|
SmartLinkStatus["Fallback"] = "fallback";
|
|
64
64
|
})(SmartLinkStatus || (SmartLinkStatus = {}));
|
|
65
65
|
export let SmartLinkTheme;
|
|
66
|
+
(function (SmartLinkTheme) {
|
|
67
|
+
SmartLinkTheme["Black"] = "black";
|
|
68
|
+
SmartLinkTheme["Link"] = "link";
|
|
69
|
+
})(SmartLinkTheme || (SmartLinkTheme = {}));
|
|
70
|
+
export let SmartLinkInternalTheme;
|
|
66
71
|
|
|
67
72
|
/**
|
|
68
73
|
* Determines whether the container size will fit to the content
|
|
69
74
|
* or expand to the available width or the parent component.
|
|
70
75
|
* Similar to flex's flex-grow concept.
|
|
71
76
|
*/
|
|
72
|
-
(function (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
})(SmartLinkTheme || (SmartLinkTheme = {}));
|
|
77
|
+
(function (SmartLinkInternalTheme) {
|
|
78
|
+
SmartLinkInternalTheme["Grey"] = "grey";
|
|
79
|
+
})(SmartLinkInternalTheme || (SmartLinkInternalTheme = {}));
|
|
76
80
|
export let SmartLinkWidth;
|
|
77
81
|
|
|
78
82
|
/**
|
|
@@ -109,7 +113,9 @@ export let ElementName;
|
|
|
109
113
|
ElementName["CreatedBy"] = "CreatedBy";
|
|
110
114
|
ElementName["CreatedOn"] = "CreatedOn";
|
|
111
115
|
ElementName["DueOn"] = "DueOn";
|
|
116
|
+
ElementName["LatestCommit"] = "LatestCommit";
|
|
112
117
|
ElementName["LinkIcon"] = "LinkIcon";
|
|
118
|
+
ElementName["Location"] = "Location";
|
|
113
119
|
ElementName["ModifiedBy"] = "ModifiedBy";
|
|
114
120
|
ElementName["ModifiedOn"] = "ModifiedOn";
|
|
115
121
|
ElementName["OwnedBy"] = "OwnedBy";
|
|
@@ -126,7 +132,6 @@ export let ElementName;
|
|
|
126
132
|
ElementName["Title"] = "Title";
|
|
127
133
|
ElementName["ViewCount"] = "ViewCount";
|
|
128
134
|
ElementName["VoteCount"] = "VoteCount";
|
|
129
|
-
ElementName["LatestCommit"] = "LatestCommit";
|
|
130
135
|
})(ElementName || (ElementName = {}));
|
|
131
136
|
export let ActionName;
|
|
132
137
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { extractSummary } from '../common/primitives';
|
|
2
2
|
import { extractLinkIcon } from './icon';
|
|
3
|
-
import { extractAttachmentCount, extractChecklistProgress, extractCommentCount, extractCreatedBy, extractModifiedBy, extractProgrammingLanguage, extractSubscriberCount, extractViewCount, extractReactCount, extractVoteCount, extractSourceBranch, extractTargetBranch, extractDueOn, extractOwnedBy } from './utils';
|
|
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
5
|
import { extractPersonCreatedBy, extractTitle, extractDateUpdated, extractDateCreated, extractLink } from '@atlaskit/linking-common/extractors';
|
|
6
6
|
import extractPriority from './extract-priority';
|
|
@@ -42,6 +42,7 @@ const extractFlexibleUiContext = ({
|
|
|
42
42
|
downloadAction: extractDownloadAction(data),
|
|
43
43
|
latestCommit: extractLatestCommit(data),
|
|
44
44
|
linkIcon: extractLinkIcon(response, renderers),
|
|
45
|
+
location: extractLocation(data),
|
|
45
46
|
modifiedBy: extractModifiedBy(data),
|
|
46
47
|
modifiedOn: extractDateUpdated(data),
|
|
47
48
|
preview: extractPreview(data),
|
|
@@ -38,4 +38,16 @@ export const extractTargetBranch = data => extractLinkName(data['atlassian:merge
|
|
|
38
38
|
export const extractChecklistProgress = data => {
|
|
39
39
|
const checkItemsObj = extractValue(data, 'atlassian:checkItems');
|
|
40
40
|
return checkItemsObj ? `${checkItemsObj.checkedItems}/${checkItemsObj.totalItems}` : undefined;
|
|
41
|
+
};
|
|
42
|
+
export const extractLocation = data => {
|
|
43
|
+
const {
|
|
44
|
+
url,
|
|
45
|
+
name
|
|
46
|
+
} = extractValue(data, 'location') || {};
|
|
47
|
+
if (url && name && typeof url === 'string') {
|
|
48
|
+
return {
|
|
49
|
+
text: name,
|
|
50
|
+
url
|
|
51
|
+
};
|
|
52
|
+
}
|
|
41
53
|
};
|