@atlaskit/smart-card 25.7.3 → 25.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 +14 -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 +27 -11
- package/dist/cjs/state/hooks/use-resolve/index.js +21 -12
- package/dist/cjs/utils/analytics/SmartLinkAnalyticsContext.js +47 -0
- 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 +12 -3
- 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 +6 -4
- package/dist/cjs/view/FlexibleCard/components/elements/utils.js +5 -0
- package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +11 -4
- 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 +32 -12
- package/dist/es2019/state/hooks/use-resolve/index.js +21 -12
- package/dist/es2019/utils/analytics/SmartLinkAnalyticsContext.js +35 -0
- 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 +8 -2
- 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 +10 -1
- package/dist/es2019/view/FlexibleCard/components/elements/utils.js +7 -1
- package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +10 -3
- 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 +27 -11
- package/dist/esm/state/hooks/use-resolve/index.js +21 -12
- package/dist/esm/utils/analytics/SmartLinkAnalyticsContext.js +36 -0
- 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 +10 -2
- 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 +7 -5
- package/dist/esm/view/FlexibleCard/components/elements/utils.js +6 -1
- package/dist/esm/view/HoverCard/components/HoverCardComponent.js +11 -4
- 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/utils/analytics/SmartLinkAnalyticsContext.d.ts +9 -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 +3 -2
- package/report.api.md +8 -0
- package/tmp/api-report-tmp.d.ts +8 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 25.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`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.
|
|
8
|
+
|
|
9
|
+
FlexUI: Reduced gap between title and subtitle in TitleBlock.
|
|
10
|
+
|
|
11
|
+
## 25.8.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [`44b76af1d5f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/44b76af1d5f) - Include additional attributes (`urlHash`, `display`, `id`) and resolved attributes for `link clicked` analytics events
|
|
16
|
+
|
|
3
17
|
## 25.7.3
|
|
4
18
|
|
|
5
19
|
### Patch 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,13 +25,20 @@ 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
|
-
|
|
28
|
+
var getSmartLinkState = (0, _react.useCallback)(function () {
|
|
29
|
+
var _getState$url;
|
|
30
|
+
var _ref = (_getState$url = getState()[url]) !== null && _getState$url !== void 0 ? _getState$url : {
|
|
31
|
+
status: _constants.SmartLinkStatus.Pending
|
|
32
|
+
},
|
|
33
|
+
details = _ref.details,
|
|
34
|
+
status = _ref.status,
|
|
35
|
+
metadataStatus = _ref.metadataStatus;
|
|
36
|
+
return {
|
|
37
|
+
details: details,
|
|
38
|
+
status: status,
|
|
39
|
+
metadataStatus: metadataStatus
|
|
40
|
+
};
|
|
41
|
+
}, [getState, url]);
|
|
35
42
|
var setMetadataStatus = (0, _react.useCallback)(function (metadataStatus) {
|
|
36
43
|
dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_UPDATE_METADATA_STATUS, {
|
|
37
44
|
url: url
|
|
@@ -58,6 +65,8 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
58
65
|
}, _callee);
|
|
59
66
|
})), [id, resolveUrl, url]);
|
|
60
67
|
var register = (0, _react.useCallback)(function () {
|
|
68
|
+
var _getSmartLinkState = getSmartLinkState(),
|
|
69
|
+
details = _getSmartLinkState.details;
|
|
61
70
|
if (!details) {
|
|
62
71
|
dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RESOLVING, {
|
|
63
72
|
url: url
|
|
@@ -65,8 +74,10 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
65
74
|
setMetadataStatus('pending');
|
|
66
75
|
}
|
|
67
76
|
return resolve();
|
|
68
|
-
}, [
|
|
77
|
+
}, [getSmartLinkState, resolve, dispatch, url, setMetadataStatus]);
|
|
69
78
|
var reload = (0, _react.useCallback)(function () {
|
|
79
|
+
var _getSmartLinkState2 = getSmartLinkState(),
|
|
80
|
+
details = _getSmartLinkState2.details;
|
|
70
81
|
var definitionId = (0, _helpers.getDefinitionId)(details);
|
|
71
82
|
if (definitionId) {
|
|
72
83
|
(0, _helpers.getByDefinitionId)(definitionId, getState()).map(function (url) {
|
|
@@ -75,15 +86,20 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
75
86
|
} else {
|
|
76
87
|
resolve(url, true);
|
|
77
88
|
}
|
|
78
|
-
}, [
|
|
89
|
+
}, [getSmartLinkState, url, getState, resolve]);
|
|
79
90
|
var loadMetadata = (0, _react.useCallback)(function () {
|
|
91
|
+
var _getSmartLinkState3 = getSmartLinkState(),
|
|
92
|
+
metadataStatus = _getSmartLinkState3.metadataStatus;
|
|
80
93
|
//metadataStatus will be undefined for SSR links only
|
|
81
94
|
if (metadataStatus === undefined) {
|
|
82
95
|
setMetadataStatus('pending');
|
|
83
96
|
return resolve(url, false, true);
|
|
84
97
|
}
|
|
85
|
-
}, [
|
|
98
|
+
}, [getSmartLinkState, resolve, setMetadataStatus, url]);
|
|
86
99
|
var authorize = (0, _react.useCallback)(function (appearance) {
|
|
100
|
+
var _getSmartLinkState4 = getSmartLinkState(),
|
|
101
|
+
details = _getSmartLinkState4.details,
|
|
102
|
+
status = _getSmartLinkState4.status;
|
|
87
103
|
var definitionId = (0, _helpers.getDefinitionId)(details);
|
|
88
104
|
var extensionKey = (0, _helpers.getExtensionKey)(details);
|
|
89
105
|
var services = (0, _helpers.getServices)(details);
|
|
@@ -135,7 +151,7 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
|
|
|
135
151
|
reload();
|
|
136
152
|
});
|
|
137
153
|
}
|
|
138
|
-
}, [analytics.ui, analytics.screen, analytics.track, analytics.operational, id, reload
|
|
154
|
+
}, [getSmartLinkState, analytics.ui, analytics.screen, analytics.track, analytics.operational, id, reload]);
|
|
139
155
|
var invoke = (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
140
156
|
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(opts, appearance) {
|
|
141
157
|
var key, action, source, markName, response;
|
|
@@ -8,6 +8,7 @@ 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");
|
|
11
12
|
var _analytics = require("../../analytics");
|
|
12
13
|
var _helpers = require("../../helpers");
|
|
13
14
|
var _linkingCommon = require("@atlaskit/linking-common");
|
|
@@ -106,18 +107,26 @@ var useResolve = function useResolve() {
|
|
|
106
107
|
return;
|
|
107
108
|
}
|
|
108
109
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
110
|
+
/**
|
|
111
|
+
* Using unstable_batchedUpdates because this store update happens async and trigers a rerender
|
|
112
|
+
* more info:
|
|
113
|
+
* https://github.com/facebook/react/blob/v18.2.0/packages/use-sync-external-store/src/useSyncExternalStoreShimClient.js#L113
|
|
114
|
+
* https://react-redux.js.org/api/batch
|
|
115
|
+
*/
|
|
116
|
+
(0, _reactDom.unstable_batchedUpdates)(function () {
|
|
117
|
+
//if a link resolves normally, metadata will also always be resolved
|
|
118
|
+
setMetadataStatus(resourceUrl, 'resolved');
|
|
119
|
+
// Dispatch Analytics and resolved card action - including unauthorized states.
|
|
120
|
+
if (isReloading) {
|
|
121
|
+
dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RELOADING, {
|
|
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
|
+
});
|
|
121
130
|
}, [dispatch, handleResolvedLinkError, hasAuthFlowSupported, setMetadataStatus]);
|
|
122
131
|
return (0, _react.useCallback)( /*#__PURE__*/function () {
|
|
123
132
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(url) {
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SmartLinkAnalyticsContext = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
12
|
+
var _resolvedAttributes = require("@atlaskit/link-analytics/resolved-attributes");
|
|
13
|
+
var _flexible = require("../flexible");
|
|
14
|
+
var _constants = require("../../constants");
|
|
15
|
+
var _store = require("../../state/store");
|
|
16
|
+
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); }
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
19
|
+
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) { (0, _defineProperty2.default)(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; }
|
|
20
|
+
var SmartLinkAnalyticsContext = function SmartLinkAnalyticsContext(_ref) {
|
|
21
|
+
var children = _ref.children,
|
|
22
|
+
url = _ref.url,
|
|
23
|
+
appearance = _ref.appearance,
|
|
24
|
+
id = _ref.id;
|
|
25
|
+
var _useSmartLinkState = (0, _store.useSmartCardState)(url),
|
|
26
|
+
details = _useSmartLinkState.details,
|
|
27
|
+
status = _useSmartLinkState.status;
|
|
28
|
+
var resolvedAttributes = (0, _resolvedAttributes.getResolvedAttributes)({
|
|
29
|
+
url: url
|
|
30
|
+
}, details, status);
|
|
31
|
+
var _getUrlAttributes = (0, _resolvedAttributes.getUrlAttributes)(url),
|
|
32
|
+
urlHash = _getUrlAttributes.urlHash;
|
|
33
|
+
var isFlexibleUi = (0, _react.useMemo)(function () {
|
|
34
|
+
return (0, _flexible.isFlexibleUiCard)(children);
|
|
35
|
+
}, [children]);
|
|
36
|
+
var display = isFlexibleUi ? _constants.CardDisplay.Flexible : appearance;
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsContext, {
|
|
38
|
+
data: {
|
|
39
|
+
attributes: _objectSpread(_objectSpread({}, resolvedAttributes), {}, {
|
|
40
|
+
urlHash: urlHash,
|
|
41
|
+
display: display,
|
|
42
|
+
id: id
|
|
43
|
+
})
|
|
44
|
+
}
|
|
45
|
+
}, children);
|
|
46
|
+
};
|
|
47
|
+
exports.SmartLinkAnalyticsContext = SmartLinkAnalyticsContext;
|
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 = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
11
11
|
var _linkProvider = require("@atlaskit/link-provider");
|
|
@@ -20,9 +20,10 @@ 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");
|
|
23
24
|
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); }
|
|
24
25
|
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
|
-
function
|
|
26
|
+
function Component(_ref) {
|
|
26
27
|
var id = _ref.id,
|
|
27
28
|
url = _ref.url,
|
|
28
29
|
isSelected = _ref.isSelected,
|
|
@@ -267,4 +268,12 @@ function CardWithUrlContent(_ref) {
|
|
|
267
268
|
onIframeFocus: onIframeFocus
|
|
268
269
|
});
|
|
269
270
|
}
|
|
270
|
-
}
|
|
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;
|
|
@@ -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,19 @@ 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
|
+
return (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n :hover {\n color: ", ";\n text-decoration: underline;\n }\n font-size: 12px;\n "])), "var(--ds-text-subtlest, #626F86)", "var(--ds-text-subtlest, #626F86)");
|
|
27
29
|
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
28
30
|
case _constants.SmartLinkTheme.Black:
|
|
29
|
-
return (0, _react2.css)(
|
|
31
|
+
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
32
|
case _constants.SmartLinkTheme.Link:
|
|
31
33
|
default:
|
|
32
|
-
return (0, _react2.css)(
|
|
34
|
+
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
35
|
}
|
|
34
36
|
};
|
|
35
37
|
var getAnchorStyles = function getAnchorStyles(size, theme, maxLines, hasSpace) {
|
|
36
38
|
var sizeStyles = (0, _utils.getLinkSizeStyles)(size);
|
|
37
|
-
return (0, _react2.css)(
|
|
39
|
+
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
40
|
};
|
|
39
41
|
var getMaxLines = function getMaxLines(maxLines) {
|
|
40
42
|
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,6 +17,7 @@ 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");
|
|
20
21
|
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); }
|
|
21
22
|
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; }
|
|
22
23
|
/** @jsx jsx */
|
|
@@ -24,6 +25,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
24
25
|
var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
25
26
|
var children = _ref.children,
|
|
26
27
|
url = _ref.url,
|
|
28
|
+
id = _ref.id,
|
|
27
29
|
analyticsHandler = _ref.analyticsHandler,
|
|
28
30
|
analytics = _ref.analytics,
|
|
29
31
|
_ref$canOpen = _ref.canOpen,
|
|
@@ -133,7 +135,11 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
133
135
|
}, [closeOnChildClick, hideCard]);
|
|
134
136
|
var content = (0, _react2.useCallback)(function (_ref2) {
|
|
135
137
|
var update = _ref2.update;
|
|
136
|
-
return (0, _react.jsx)(
|
|
138
|
+
return (0, _react.jsx)(_SmartLinkAnalyticsContext.SmartLinkAnalyticsContext, {
|
|
139
|
+
url: url,
|
|
140
|
+
appearance: _constants.CardDisplay.HoverCardPreview,
|
|
141
|
+
id: id
|
|
142
|
+
}, (0, _react.jsx)(_HoverCardContent.default, {
|
|
137
143
|
onMouseEnter: initShowCard,
|
|
138
144
|
onMouseLeave: initHideCard,
|
|
139
145
|
analytics: analytics,
|
|
@@ -143,9 +149,10 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
143
149
|
onResolve: update,
|
|
144
150
|
renderers: renderers,
|
|
145
151
|
showServerActions: showServerActions,
|
|
146
|
-
url: url
|
|
147
|
-
|
|
148
|
-
|
|
152
|
+
url: url,
|
|
153
|
+
id: id
|
|
154
|
+
}));
|
|
155
|
+
}, [analytics, initHideCard, initShowCard, filteredActions, linkState, onActionClick, renderers, showServerActions, url, id]);
|
|
149
156
|
var trigger = (0, _react2.useCallback)(function (triggerProps) {
|
|
150
157
|
return (0, _react.jsx)("span", {
|
|
151
158
|
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
|
|