@atlaskit/smart-card 26.28.2 → 26.30.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 +405 -389
- package/dist/cjs/extractors/common/context/extractAccessContext.js +2 -1
- package/dist/cjs/extractors/flexible/extract-preview.js +3 -0
- package/dist/cjs/messages.js +11 -15
- package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +4 -5
- package/dist/cjs/utils/analytics/LinkAnalyticsContext.js +1 -3
- package/dist/cjs/utils/analytics/analytics.js +1 -1
- package/dist/cjs/utils/mocks.js +4 -3
- package/dist/cjs/view/BlockCard/views/ResolvedView.js +1 -2
- package/dist/cjs/view/BlockCard/views/flexible/FlexibleResolvedView.js +1 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +1 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/preview-block/index.js +0 -3
- package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +6 -6
- package/dist/cjs/view/FlexibleCard/utils.js +4 -1
- package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +1 -1
- package/dist/cjs/view/HoverCard/components/HoverCardContent.js +9 -0
- package/dist/cjs/view/HoverCard/components/views/forbidden/index.js +82 -0
- package/dist/cjs/view/HoverCard/components/views/forbidden/styled.js +18 -0
- package/dist/cjs/view/HoverCard/components/views/forbidden/types.js +5 -0
- package/dist/cjs/view/HoverCard/components/views/resolved/index.js +0 -3
- package/dist/cjs/view/HoverCard/styled.js +2 -2
- package/dist/cjs/view/LinkUrl/index.js +1 -1
- package/dist/es2019/extractors/common/context/extractAccessContext.js +2 -1
- package/dist/es2019/extractors/flexible/extract-preview.js +3 -0
- package/dist/es2019/messages.js +11 -15
- package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +1 -2
- package/dist/es2019/utils/analytics/LinkAnalyticsContext.js +0 -1
- package/dist/es2019/utils/analytics/analytics.js +1 -1
- package/dist/es2019/utils/mocks.js +3 -0
- package/dist/es2019/view/BlockCard/views/ResolvedView.js +1 -2
- package/dist/es2019/view/BlockCard/views/flexible/FlexibleResolvedView.js +0 -1
- package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +1 -2
- package/dist/es2019/view/FlexibleCard/components/blocks/preview-block/index.js +0 -3
- package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +6 -6
- package/dist/es2019/view/FlexibleCard/utils.js +4 -1
- package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +1 -1
- package/dist/es2019/view/HoverCard/components/HoverCardContent.js +9 -0
- package/dist/es2019/view/HoverCard/components/views/forbidden/index.js +72 -0
- package/dist/es2019/view/HoverCard/components/views/forbidden/styled.js +17 -0
- package/dist/es2019/view/HoverCard/components/views/forbidden/types.js +1 -0
- package/dist/es2019/view/HoverCard/components/views/resolved/index.js +0 -2
- package/dist/es2019/view/HoverCard/styled.js +3 -2
- package/dist/es2019/view/LinkUrl/index.js +1 -1
- package/dist/esm/extractors/common/context/extractAccessContext.js +2 -1
- package/dist/esm/extractors/flexible/extract-preview.js +3 -0
- package/dist/esm/messages.js +11 -15
- package/dist/esm/state/analytics/useSmartLinkAnalytics.js +4 -5
- package/dist/esm/utils/analytics/LinkAnalyticsContext.js +1 -3
- package/dist/esm/utils/analytics/analytics.js +1 -1
- package/dist/esm/utils/mocks.js +4 -3
- package/dist/esm/view/BlockCard/views/ResolvedView.js +1 -2
- package/dist/esm/view/BlockCard/views/flexible/FlexibleResolvedView.js +1 -2
- package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +1 -2
- package/dist/esm/view/FlexibleCard/components/blocks/preview-block/index.js +0 -3
- package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +6 -6
- package/dist/esm/view/FlexibleCard/utils.js +4 -1
- package/dist/esm/view/HoverCard/components/HoverCardComponent.js +1 -1
- package/dist/esm/view/HoverCard/components/HoverCardContent.js +9 -0
- package/dist/esm/view/HoverCard/components/views/forbidden/index.js +71 -0
- package/dist/esm/view/HoverCard/components/views/forbidden/styled.js +8 -0
- package/dist/esm/view/HoverCard/components/views/forbidden/types.js +1 -0
- package/dist/esm/view/HoverCard/components/views/resolved/index.js +0 -3
- package/dist/esm/view/HoverCard/styled.js +2 -2
- package/dist/esm/view/LinkUrl/index.js +1 -1
- package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +3 -5
- package/dist/types/state/hooks/useSmartLink.d.ts +2 -4
- package/dist/types/utils/analytics/LinkAnalyticsContext.d.ts +1 -1
- package/dist/types/utils/mocks.d.ts +2 -4
- package/dist/types/view/BlockCard/views/ResolvedView.d.ts +1 -1
- package/dist/types/view/HoverCard/components/views/forbidden/index.d.ts +4 -0
- package/dist/types/view/HoverCard/components/views/forbidden/styled.d.ts +3 -0
- package/dist/types/view/HoverCard/components/views/forbidden/types.d.ts +13 -0
- package/dist/types/view/HoverCard/styled.d.ts +1 -1
- package/dist/types-ts4.5/state/analytics/useSmartLinkAnalytics.d.ts +3 -5
- package/dist/types-ts4.5/state/hooks/useSmartLink.d.ts +2 -4
- package/dist/types-ts4.5/utils/analytics/LinkAnalyticsContext.d.ts +1 -1
- package/dist/types-ts4.5/utils/mocks.d.ts +2 -4
- package/dist/types-ts4.5/view/BlockCard/views/ResolvedView.d.ts +1 -1
- package/dist/types-ts4.5/view/HoverCard/components/views/forbidden/index.d.ts +4 -0
- package/dist/types-ts4.5/view/HoverCard/components/views/forbidden/styled.d.ts +3 -0
- package/dist/types-ts4.5/view/HoverCard/components/views/forbidden/types.d.ts +13 -0
- package/dist/types-ts4.5/view/HoverCard/styled.d.ts +1 -1
- package/package.json +7 -3
- package/report.api.md +1 -6
- package/tmp/api-report-tmp.d.ts +2 -4
|
@@ -104,7 +104,8 @@ var extractRequestAccessContextImproved = function extractRequestAccessContextIm
|
|
|
104
104
|
});
|
|
105
105
|
case 'FORBIDDEN':
|
|
106
106
|
return _objectSpread(_objectSpread({}, jsonLd === null || jsonLd === void 0 ? void 0 : jsonLd.requestAccess), {}, {
|
|
107
|
-
|
|
107
|
+
titleMessageKey: 'forbidden_title_crossjoin',
|
|
108
|
+
descriptiveMessageKey: 'forbidden_description_crossjoin'
|
|
108
109
|
});
|
|
109
110
|
default:
|
|
110
111
|
return jsonLd === null || jsonLd === void 0 ? void 0 : jsonLd.requestAccess;
|
|
@@ -7,6 +7,9 @@ exports.default = void 0;
|
|
|
7
7
|
var _linkExtractors = require("@atlaskit/link-extractors");
|
|
8
8
|
var _constants = require("../../constants");
|
|
9
9
|
var extractPreview = function extractPreview(data) {
|
|
10
|
+
if (!data) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
10
13
|
var url = (0, _linkExtractors.extractImage)(data);
|
|
11
14
|
return url ? {
|
|
12
15
|
type: _constants.MediaType.Image,
|
package/dist/cjs/messages.js
CHANGED
|
@@ -480,7 +480,7 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
480
480
|
},
|
|
481
481
|
direct_access_description_crossjoin: {
|
|
482
482
|
id: 'fabric.linking.direct_access_description_crossjoin',
|
|
483
|
-
defaultMessage: 'All
|
|
483
|
+
defaultMessage: 'All accounts with your same email domain are approved to access {hostname} in {product}.',
|
|
484
484
|
description: 'Informs the user that they have access to this product, and can sign up or join right away.'
|
|
485
485
|
},
|
|
486
486
|
direct_access_crossjoin: {
|
|
@@ -532,20 +532,16 @@ var messages = (0, _reactIntlNext.defineMessages)({
|
|
|
532
532
|
id: 'fabric.linking.not_found_title_crossjoin',
|
|
533
533
|
defaultMessage: "We can't show you this {product} page",
|
|
534
534
|
description: 'Error case for when a provided link is not found'
|
|
535
|
+
},
|
|
536
|
+
forbidden_title_crossjoin: {
|
|
537
|
+
id: 'fabric.linking.forbidden_title_crossjoin',
|
|
538
|
+
defaultMessage: "You don't have access to this content",
|
|
539
|
+
description: 'Informs the user that they do not have access to the linked content.'
|
|
540
|
+
},
|
|
541
|
+
forbidden_description_crossjoin: {
|
|
542
|
+
id: 'fabric.linking.forbidden_description_crossjoin',
|
|
543
|
+
defaultMessage: 'Contact your admin to request access.',
|
|
544
|
+
description: 'Informs the user that they must contact the site administrator for access.'
|
|
535
545
|
}
|
|
536
|
-
|
|
537
|
-
// Pending designs:
|
|
538
|
-
// forbidden_access_crossjoin: {
|
|
539
|
-
// id: 'fabric.linking.forbidden_access_crossjoin',
|
|
540
|
-
// defaultMessage: 'Your access is forbidden',
|
|
541
|
-
// description:
|
|
542
|
-
// 'Shown when a user does not have access to a resource behind the link.',
|
|
543
|
-
// },
|
|
544
|
-
// forbidden_description_crossjoin: {
|
|
545
|
-
// id: 'fabric.linking.forbidden_description_crossjoin',
|
|
546
|
-
// defaultMessage:
|
|
547
|
-
// "You don't have access to this preview. Contact the site admin if you need access.",
|
|
548
|
-
// description: 'Informs the user that they cannot view this content.',
|
|
549
|
-
// },
|
|
550
546
|
});
|
|
551
547
|
exports.messages = messages;
|
|
@@ -21,10 +21,10 @@ var applyCommonAttributes = function applyCommonAttributes(event, commonAttribut
|
|
|
21
21
|
if (event && event.attributes) {
|
|
22
22
|
for (var _i = 0, _Object$entries = Object.entries(commonAttributes); _i < _Object$entries.length; _i++) {
|
|
23
23
|
var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
|
|
24
|
-
|
|
24
|
+
key = _Object$entries$_i[0],
|
|
25
25
|
value = _Object$entries$_i[1];
|
|
26
|
-
if (event.attributes[
|
|
27
|
-
event.attributes[
|
|
26
|
+
if (event.attributes[key] === undefined) {
|
|
27
|
+
event.attributes[key] = value;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -261,7 +261,6 @@ var useSmartLinkAnalytics = function useSmartLinkAnalytics(url, _dispatchAnalyti
|
|
|
261
261
|
var id = _ref6.id,
|
|
262
262
|
actionType = _ref6.actionType,
|
|
263
263
|
display = _ref6.display,
|
|
264
|
-
invokeType = _ref6.invokeType,
|
|
265
264
|
overrideExtensionKey = _ref6.extensionKey,
|
|
266
265
|
definitionId = _ref6.definitionId,
|
|
267
266
|
resourceType = _ref6.resourceType,
|
|
@@ -758,7 +757,7 @@ var useSmartLinkAnalytics = function useSmartLinkAnalytics(url, _dispatchAnalyti
|
|
|
758
757
|
* Removed in EDM-5153: This is an even from an experiment.
|
|
759
758
|
* @deprecated
|
|
760
759
|
*/
|
|
761
|
-
linkUpdated: function linkUpdated(
|
|
760
|
+
linkUpdated: function linkUpdated() {},
|
|
762
761
|
/**
|
|
763
762
|
* This fires a tracking event before an action invoke api call is made
|
|
764
763
|
*/
|
|
@@ -11,9 +11,7 @@ var _analyticsNext = require("@atlaskit/analytics-next");
|
|
|
11
11
|
* Provides an analytics context to supply attributes to events based on a URL
|
|
12
12
|
*/
|
|
13
13
|
var LinkAnalyticsContext = function LinkAnalyticsContext(_ref) {
|
|
14
|
-
var
|
|
15
|
-
url = _ref$url === void 0 ? '' : _ref$url,
|
|
16
|
-
display = _ref.display,
|
|
14
|
+
var display = _ref.display,
|
|
17
15
|
id = _ref.id,
|
|
18
16
|
children = _ref.children,
|
|
19
17
|
source = _ref.source;
|
|
@@ -23,7 +23,7 @@ exports.ANALYTICS_CHANNEL = ANALYTICS_CHANNEL;
|
|
|
23
23
|
var context = {
|
|
24
24
|
componentName: 'smart-cards',
|
|
25
25
|
packageName: "@atlaskit/smart-card",
|
|
26
|
-
packageVersion: "26.
|
|
26
|
+
packageVersion: "26.30.0"
|
|
27
27
|
};
|
|
28
28
|
exports.context = context;
|
|
29
29
|
var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
package/dist/cjs/utils/mocks.js
CHANGED
|
@@ -208,7 +208,8 @@ var fakeFactory = function fakeFactory(implementation, implementationPost, imple
|
|
|
208
208
|
}
|
|
209
209
|
(0, _createClass2.default)(CustomClient, [{
|
|
210
210
|
key: "fetchData",
|
|
211
|
-
value:
|
|
211
|
+
value: // @ts-ignore
|
|
212
|
+
function () {
|
|
212
213
|
var _fetchData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(url) {
|
|
213
214
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
214
215
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -227,7 +228,7 @@ var fakeFactory = function fakeFactory(implementation, implementationPost, imple
|
|
|
227
228
|
return _fetchData.apply(this, arguments);
|
|
228
229
|
}
|
|
229
230
|
return fetchData;
|
|
230
|
-
}()
|
|
231
|
+
}() // @ts-ignore
|
|
231
232
|
}, {
|
|
232
233
|
key: "postData",
|
|
233
234
|
value: function () {
|
|
@@ -249,7 +250,7 @@ var fakeFactory = function fakeFactory(implementation, implementationPost, imple
|
|
|
249
250
|
return _postData.apply(this, arguments);
|
|
250
251
|
}
|
|
251
252
|
return postData;
|
|
252
|
-
}()
|
|
253
|
+
}() // @ts-ignore
|
|
253
254
|
}, {
|
|
254
255
|
key: "prefetchData",
|
|
255
256
|
value: function () {
|
|
@@ -63,8 +63,7 @@ var ResolvedView = function ResolvedView(_ref) {
|
|
|
63
63
|
_ref$testId = _ref.testId,
|
|
64
64
|
testId = _ref$testId === void 0 ? 'block-card-resolved-view' : _ref$testId,
|
|
65
65
|
_ref$showActions = _ref.showActions,
|
|
66
|
-
showActions = _ref$showActions === void 0 ? true : _ref$showActions
|
|
67
|
-
isSupportTheming = _ref.isSupportTheming;
|
|
66
|
+
showActions = _ref$showActions === void 0 ? true : _ref$showActions;
|
|
68
67
|
var resolvedMetadata = details.length > 0 ? (0, _react.jsx)(_MetadataList.MetadataList, {
|
|
69
68
|
testId: testId ? "".concat(testId, "-meta") : undefined,
|
|
70
69
|
items: details
|
|
@@ -24,8 +24,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
24
24
|
* @see FlexibleCardProps
|
|
25
25
|
*/
|
|
26
26
|
var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
|
|
27
|
-
var
|
|
28
|
-
cardState = _ref.cardState,
|
|
27
|
+
var cardState = _ref.cardState,
|
|
29
28
|
onClick = _ref.onClick,
|
|
30
29
|
onError = _ref.onError,
|
|
31
30
|
onResolve = _ref.onResolve,
|
|
@@ -60,8 +60,7 @@ var ActionGroup = function ActionGroup(_ref) {
|
|
|
60
60
|
appearance = _ref.appearance,
|
|
61
61
|
_ref$visibleButtonsNu = _ref.visibleButtonsNum,
|
|
62
62
|
visibleButtonsNum = _ref$visibleButtonsNu === void 0 ? 2 : _ref$visibleButtonsNu,
|
|
63
|
-
onDropdownOpenChange = _ref.onDropdownOpenChange
|
|
64
|
-
testId = _ref.testId;
|
|
63
|
+
onDropdownOpenChange = _ref.onDropdownOpenChange;
|
|
65
64
|
var context = (0, _flexibleUiContext.useFlexibleUiContext)();
|
|
66
65
|
var ui = (0, _flexibleUiContext.useFlexibleUiOptionContext)();
|
|
67
66
|
var _useState = (0, _react.useState)(false),
|
|
@@ -26,9 +26,6 @@ var PreviewBlock = function PreviewBlock(_ref) {
|
|
|
26
26
|
testId = _ref$testId === void 0 ? 'smart-block-preview' : _ref$testId,
|
|
27
27
|
overrideUrl = _ref.overrideUrl,
|
|
28
28
|
blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
29
|
-
if (status !== _constants.SmartLinkStatus.Resolved) {
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
29
|
return (0, _react2.jsx)(_resolved.default, (0, _extends2.default)({}, blockProps, {
|
|
33
30
|
testId: testId,
|
|
34
31
|
overrideUrl: overrideUrl
|
|
@@ -18,7 +18,7 @@ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
|
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; }
|
|
21
|
-
var getPositionStyles = function getPositionStyles(
|
|
21
|
+
var getPositionStyles = function getPositionStyles(position) {
|
|
22
22
|
switch (position) {
|
|
23
23
|
case _constants.SmartLinkPosition.Center:
|
|
24
24
|
return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n align-self: center;\n "])));
|
|
@@ -27,8 +27,8 @@ var getPositionStyles = function getPositionStyles(size, position) {
|
|
|
27
27
|
return (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n align-self: flex-start;\n margin: 0;\n "])));
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
|
-
var getIconStyles = function getIconStyles(
|
|
31
|
-
return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n"])), getPositionStyles(
|
|
30
|
+
var getIconStyles = function getIconStyles(position, width) {
|
|
31
|
+
return (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n"])), getPositionStyles(position), (0, _utils.getIconSizeStyles)(width));
|
|
32
32
|
};
|
|
33
33
|
var getCustomRenderStyles = function getCustomRenderStyles(value) {
|
|
34
34
|
return (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n line-height: ", ";\n font-size: ", ";\n text-align: center;\n text-overflow: clip;\n -webkit-box-orient: unset;\n span {\n margin: 0;\n padding: 0;\n vertical-align: baseline;\n }\n"])), (0, _utils.getTruncateStyles)(1, value), value, value);
|
|
@@ -48,7 +48,7 @@ var renderDefaultIcon = function renderDefaultIcon(label, testId) {
|
|
|
48
48
|
testId: "".concat(testId, "-default")
|
|
49
49
|
});
|
|
50
50
|
};
|
|
51
|
-
var renderImageIcon = function renderImageIcon(defaultIcon,
|
|
51
|
+
var renderImageIcon = function renderImageIcon(defaultIcon, url, testId) {
|
|
52
52
|
if (url) {
|
|
53
53
|
return (0, _react2.jsx)(_imageIcon.default, {
|
|
54
54
|
defaultIcon: defaultIcon,
|
|
@@ -80,10 +80,10 @@ var Icon = function Icon(_ref) {
|
|
|
80
80
|
url = _ref.url;
|
|
81
81
|
var element = (0, _react.useMemo)(function () {
|
|
82
82
|
var defaultIcon = renderDefaultIcon(label, testId);
|
|
83
|
-
return (render === null || render === void 0 ? void 0 : render()) || renderImageIcon(defaultIcon,
|
|
83
|
+
return (render === null || render === void 0 ? void 0 : render()) || renderImageIcon(defaultIcon, url, testId) || renderAtlaskitIcon(icon, label, testId) || defaultIcon;
|
|
84
84
|
}, [icon, label, render, testId, url]);
|
|
85
85
|
var width = (0, _utils.getIconWidth)(size);
|
|
86
|
-
var styles = getIconStyles(
|
|
86
|
+
var styles = getIconStyles(position, width);
|
|
87
87
|
var renderStyles = render ? getCustomRenderStyles(width) : undefined;
|
|
88
88
|
return (0, _react2.jsx)("div", {
|
|
89
89
|
css: [styles, renderStyles, overrideCss],
|
|
@@ -14,6 +14,7 @@ var _icon = require("../../extractors/flexible/icon");
|
|
|
14
14
|
var _utils = require("../../utils");
|
|
15
15
|
var _linkExtractors = require("@atlaskit/link-extractors");
|
|
16
16
|
var _extractProviderIcon = _interopRequireDefault(require("../../extractors/flexible/icon/extract-provider-icon"));
|
|
17
|
+
var _extractPreview = _interopRequireDefault(require("../../extractors/flexible/extract-preview"));
|
|
17
18
|
var getContextByStatus = function getContextByStatus(params) {
|
|
18
19
|
var _ref = params !== null && params !== void 0 ? params : {},
|
|
19
20
|
response = _ref.response,
|
|
@@ -34,13 +35,15 @@ var getContextByStatus = function getContextByStatus(params) {
|
|
|
34
35
|
case _constants.SmartLinkStatus.Errored:
|
|
35
36
|
case _constants.SmartLinkStatus.Fallback:
|
|
36
37
|
default:
|
|
38
|
+
var preview = (0, _extractPreview.default)(response === null || response === void 0 ? void 0 : response.data);
|
|
37
39
|
var linkIcon = (0, _icon.extractErrorIcon)(response, status);
|
|
38
40
|
var provider = (0, _extractProviderIcon.default)(response === null || response === void 0 ? void 0 : response.data);
|
|
39
41
|
return {
|
|
40
42
|
linkIcon: linkIcon,
|
|
41
43
|
title: url,
|
|
42
44
|
url: url,
|
|
43
|
-
provider: provider
|
|
45
|
+
provider: provider,
|
|
46
|
+
preview: preview
|
|
44
47
|
};
|
|
45
48
|
}
|
|
46
49
|
};
|
|
@@ -219,7 +219,7 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
219
219
|
id: id,
|
|
220
220
|
source: HOVER_CARD_SOURCE
|
|
221
221
|
}, (0, _react.jsx)(_HoverCardContent.default, hoverCardContentProps));
|
|
222
|
-
}, [
|
|
222
|
+
}, [initShowCard, initHideCard, filteredActions, linkState, onActionClick, renderers, showServerActions, url, id]);
|
|
223
223
|
var trigger = (0, _react2.useCallback)(function (triggerProps) {
|
|
224
224
|
return (0, _react.jsx)("span", {
|
|
225
225
|
ref: parentSpan
|
|
@@ -26,6 +26,8 @@ var _reactIntlNext = require("react-intl-next");
|
|
|
26
26
|
var _messages = require("../../../messages");
|
|
27
27
|
var _click = require("../../../utils/analytics/click");
|
|
28
28
|
var _store = require("../../../state/store");
|
|
29
|
+
var _forbidden = _interopRequireDefault(require("./views/forbidden"));
|
|
30
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
29
31
|
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); }
|
|
30
32
|
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; }
|
|
31
33
|
/** @jsx jsx */
|
|
@@ -182,6 +184,13 @@ var HoverCardContent = function HoverCardContent(_ref) {
|
|
|
182
184
|
url: url
|
|
183
185
|
});
|
|
184
186
|
}
|
|
187
|
+
if ((0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.cross-join')) {
|
|
188
|
+
if (cardState.status === 'forbidden') {
|
|
189
|
+
return (0, _react.jsx)(_forbidden.default, {
|
|
190
|
+
flexibleCardProps: flexibleCardProps
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
}
|
|
185
194
|
if (cardState.status === 'resolved') {
|
|
186
195
|
return (0, _react.jsx)(_resolved.default, {
|
|
187
196
|
id: id,
|
|
@@ -0,0 +1,82 @@
|
|
|
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.default = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _reactIntlNext = require("react-intl-next");
|
|
12
|
+
var _FlexibleCard = _interopRequireDefault(require("../../../../FlexibleCard"));
|
|
13
|
+
var _messages = require("../../../../../messages");
|
|
14
|
+
var _blocks = require("../../../../FlexibleCard/components/blocks");
|
|
15
|
+
var _linkExtractors = require("@atlaskit/link-extractors");
|
|
16
|
+
var _styled = require("./styled");
|
|
17
|
+
var _actionGroup = _interopRequireDefault(require("../../../../FlexibleCard/components/blocks/action-group"));
|
|
18
|
+
var _constants = require("../../../../../constants");
|
|
19
|
+
var _styled2 = require("../../../styled");
|
|
20
|
+
var _extractAccessContext = require("../../../../../extractors/common/context/extractAccessContext");
|
|
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); }
|
|
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; }
|
|
23
|
+
var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
|
|
24
|
+
var _cardState$details, _cardState$details2, _extractProvider$text, _extractProvider;
|
|
25
|
+
var flexibleCardProps = _ref.flexibleCardProps,
|
|
26
|
+
_ref$testId = _ref.testId,
|
|
27
|
+
testId = _ref$testId === void 0 ? 'hover-card-forbidden-view' : _ref$testId;
|
|
28
|
+
var cardState = flexibleCardProps.cardState,
|
|
29
|
+
url = flexibleCardProps.url;
|
|
30
|
+
var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
|
|
31
|
+
var meta = (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.meta;
|
|
32
|
+
var product = (_extractProvider$text = (_extractProvider = (0, _linkExtractors.extractProvider)(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text) !== null && _extractProvider$text !== void 0 ? _extractProvider$text : '';
|
|
33
|
+
var hostname = new URL(url).hostname;
|
|
34
|
+
var _extractRequestAccess = (0, _extractAccessContext.extractRequestAccessContextImproved)({
|
|
35
|
+
jsonLd: meta,
|
|
36
|
+
url: url,
|
|
37
|
+
product: product
|
|
38
|
+
}),
|
|
39
|
+
action = _extractRequestAccess.action,
|
|
40
|
+
descriptiveMessageKey = _extractRequestAccess.descriptiveMessageKey,
|
|
41
|
+
titleMessageKey = _extractRequestAccess.titleMessageKey;
|
|
42
|
+
var actions = (0, _react.useMemo)(function () {
|
|
43
|
+
return [{
|
|
44
|
+
name: _constants.ActionName.CustomAction,
|
|
45
|
+
content: action === null || action === void 0 ? void 0 : action.text,
|
|
46
|
+
onClick: action === null || action === void 0 ? void 0 : action.promise
|
|
47
|
+
}];
|
|
48
|
+
}, [action]);
|
|
49
|
+
if (!titleMessageKey || !descriptiveMessageKey) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, (0, _extends2.default)({}, flexibleCardProps, {
|
|
53
|
+
testId: testId
|
|
54
|
+
}), /*#__PURE__*/_react.default.createElement(_blocks.PreviewBlock, {
|
|
55
|
+
ignoreContainerPadding: true,
|
|
56
|
+
overrideCss: (0, _styled2.getPreviewBlockStyles)(),
|
|
57
|
+
testId: testId
|
|
58
|
+
}), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, {
|
|
59
|
+
overrideCss: _styled.titleBlockStyles,
|
|
60
|
+
testId: "".concat(testId, "-title")
|
|
61
|
+
}, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages[titleMessageKey], {
|
|
62
|
+
values: {
|
|
63
|
+
product: product
|
|
64
|
+
}
|
|
65
|
+
}))), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, {
|
|
66
|
+
overrideCss: _styled.mainTextStyles,
|
|
67
|
+
testId: "".concat(testId, "-content")
|
|
68
|
+
}, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages[descriptiveMessageKey], {
|
|
69
|
+
values: {
|
|
70
|
+
product: product,
|
|
71
|
+
hostname: hostname
|
|
72
|
+
}
|
|
73
|
+
}))), action && /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, {
|
|
74
|
+
overrideCss: _styled.connectButtonStyles,
|
|
75
|
+
testId: "".concat(testId, "-button")
|
|
76
|
+
}, /*#__PURE__*/_react.default.createElement(_actionGroup.default, {
|
|
77
|
+
items: actions,
|
|
78
|
+
appearance: "primary"
|
|
79
|
+
})));
|
|
80
|
+
};
|
|
81
|
+
var _default = HoverCardForbiddenView;
|
|
82
|
+
exports.default = _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.titleBlockStyles = exports.mainTextStyles = exports.connectButtonStyles = void 0;
|
|
8
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
|
+
var _react = require("@emotion/react");
|
|
10
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
11
|
+
var blockGap = '0rem';
|
|
12
|
+
var titleFontWeight = '600';
|
|
13
|
+
var titleBlockStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n justify-content: center;\n font-weight: ", ";\n"])), titleFontWeight);
|
|
14
|
+
exports.titleBlockStyles = titleBlockStyles;
|
|
15
|
+
var mainTextStyles = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n justify-content: center;\n margin-top: ", ";\n font-size: 0.75rem;\n text-align: center;\n"])), blockGap);
|
|
16
|
+
exports.mainTextStyles = mainTextStyles;
|
|
17
|
+
var connectButtonStyles = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n justify-content: center;\n margin-top: ", ";\n"])), blockGap);
|
|
18
|
+
exports.connectButtonStyles = connectButtonStyles;
|
|
@@ -62,9 +62,6 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref) {
|
|
|
62
62
|
var flexibleCardProps = _ref.flexibleCardProps,
|
|
63
63
|
titleBlockProps = _ref.titleBlockProps,
|
|
64
64
|
analytics = _ref.analytics,
|
|
65
|
-
_ref$id = _ref.id,
|
|
66
|
-
id = _ref$id === void 0 ? '' : _ref$id,
|
|
67
|
-
url = _ref.url,
|
|
68
65
|
cardState = _ref.cardState,
|
|
69
66
|
_ref$cardActions = _ref.cardActions,
|
|
70
67
|
cardActions = _ref$cardActions === void 0 ? [] : _ref$cardActions,
|
|
@@ -55,7 +55,7 @@ var popupContainerStyles = (0, _react.css)(_templateObject5 || (_templateObject5
|
|
|
55
55
|
dark: "var(--ds-shadow-overlay, 0px 0px 0px rgba(188, 214, 240, 0.12),0px 8px 12px rgba(3, 4, 4, 0.36),0px 0px 1px rgba(3, 4, 4, 0.5))"
|
|
56
56
|
})());
|
|
57
57
|
exports.popupContainerStyles = popupContainerStyles;
|
|
58
|
-
var getPreviewBlockStyles = function getPreviewBlockStyles(
|
|
59
|
-
return (0, _react.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n
|
|
58
|
+
var getPreviewBlockStyles = function getPreviewBlockStyles(previewHeight) {
|
|
59
|
+
return (0, _react.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n\n ", "\n"])), previewHeight ? "height: ".concat(previewHeight, "px;") : '', (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.show-smart-links-refreshed-design') ? " border-top-left-radius: ".concat("var(--ds-border-radius-200, 8px)", ";\n border-top-right-radius: ", "var(--ds-border-radius-200, 8px)", ";\n margin-bottom: ", blockGap, ";\n }") : "");
|
|
60
60
|
};
|
|
61
61
|
exports.getPreviewBlockStyles = getPreviewBlockStyles;
|
|
@@ -18,7 +18,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId"],
|
|
|
18
18
|
_excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
|
|
19
19
|
var PACKAGE_DATA = {
|
|
20
20
|
packageName: "@atlaskit/smart-card",
|
|
21
|
-
packageVersion: "26.
|
|
21
|
+
packageVersion: "26.30.0",
|
|
22
22
|
componentName: 'linkUrl'
|
|
23
23
|
};
|
|
24
24
|
var Link = (0, _click.withLinkClickedEvent)('a');
|
|
@@ -94,7 +94,8 @@ export const extractRequestAccessContextImproved = ({
|
|
|
94
94
|
case 'FORBIDDEN':
|
|
95
95
|
return {
|
|
96
96
|
...(jsonLd === null || jsonLd === void 0 ? void 0 : jsonLd.requestAccess),
|
|
97
|
-
|
|
97
|
+
titleMessageKey: 'forbidden_title_crossjoin',
|
|
98
|
+
descriptiveMessageKey: 'forbidden_description_crossjoin'
|
|
98
99
|
};
|
|
99
100
|
default:
|
|
100
101
|
return jsonLd === null || jsonLd === void 0 ? void 0 : jsonLd.requestAccess;
|
package/dist/es2019/messages.js
CHANGED
|
@@ -474,7 +474,7 @@ export const messages = defineMessages({
|
|
|
474
474
|
},
|
|
475
475
|
direct_access_description_crossjoin: {
|
|
476
476
|
id: 'fabric.linking.direct_access_description_crossjoin',
|
|
477
|
-
defaultMessage: 'All
|
|
477
|
+
defaultMessage: 'All accounts with your same email domain are approved to access {hostname} in {product}.',
|
|
478
478
|
description: 'Informs the user that they have access to this product, and can sign up or join right away.'
|
|
479
479
|
},
|
|
480
480
|
direct_access_crossjoin: {
|
|
@@ -526,19 +526,15 @@ export const messages = defineMessages({
|
|
|
526
526
|
id: 'fabric.linking.not_found_title_crossjoin',
|
|
527
527
|
defaultMessage: "We can't show you this {product} page",
|
|
528
528
|
description: 'Error case for when a provided link is not found'
|
|
529
|
+
},
|
|
530
|
+
forbidden_title_crossjoin: {
|
|
531
|
+
id: 'fabric.linking.forbidden_title_crossjoin',
|
|
532
|
+
defaultMessage: "You don't have access to this content",
|
|
533
|
+
description: 'Informs the user that they do not have access to the linked content.'
|
|
534
|
+
},
|
|
535
|
+
forbidden_description_crossjoin: {
|
|
536
|
+
id: 'fabric.linking.forbidden_description_crossjoin',
|
|
537
|
+
defaultMessage: 'Contact your admin to request access.',
|
|
538
|
+
description: 'Informs the user that they must contact the site administrator for access.'
|
|
529
539
|
}
|
|
530
|
-
|
|
531
|
-
// Pending designs:
|
|
532
|
-
// forbidden_access_crossjoin: {
|
|
533
|
-
// id: 'fabric.linking.forbidden_access_crossjoin',
|
|
534
|
-
// defaultMessage: 'Your access is forbidden',
|
|
535
|
-
// description:
|
|
536
|
-
// 'Shown when a user does not have access to a resource behind the link.',
|
|
537
|
-
// },
|
|
538
|
-
// forbidden_description_crossjoin: {
|
|
539
|
-
// id: 'fabric.linking.forbidden_description_crossjoin',
|
|
540
|
-
// defaultMessage:
|
|
541
|
-
// "You don't have access to this preview. Contact the site admin if you need access.",
|
|
542
|
-
// description: 'Informs the user that they cannot view this content.',
|
|
543
|
-
// },
|
|
544
540
|
});
|
|
@@ -242,7 +242,6 @@ export const useSmartLinkAnalytics = (url, _dispatchAnalytics, id, defaultLocati
|
|
|
242
242
|
id,
|
|
243
243
|
actionType,
|
|
244
244
|
display,
|
|
245
|
-
invokeType,
|
|
246
245
|
extensionKey: overrideExtensionKey,
|
|
247
246
|
definitionId,
|
|
248
247
|
resourceType,
|
|
@@ -735,7 +734,7 @@ export const useSmartLinkAnalytics = (url, _dispatchAnalytics, id, defaultLocati
|
|
|
735
734
|
* Removed in EDM-5153: This is an even from an experiment.
|
|
736
735
|
* @deprecated
|
|
737
736
|
*/
|
|
738
|
-
linkUpdated:
|
|
737
|
+
linkUpdated: () => {},
|
|
739
738
|
/**
|
|
740
739
|
* This fires a tracking event before an action invoke api call is made
|
|
741
740
|
*/
|
|
@@ -4,7 +4,7 @@ export const ANALYTICS_CHANNEL = 'media';
|
|
|
4
4
|
export const context = {
|
|
5
5
|
componentName: 'smart-cards',
|
|
6
6
|
packageName: "@atlaskit/smart-card",
|
|
7
|
-
packageVersion: "26.
|
|
7
|
+
packageVersion: "26.30.0"
|
|
8
8
|
};
|
|
9
9
|
export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
10
10
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
|
@@ -175,12 +175,15 @@ export const mocks = {
|
|
|
175
175
|
};
|
|
176
176
|
export const fakeResponse = () => Promise.resolve(mocks.success);
|
|
177
177
|
export const fakeFactory = (implementation, implementationPost, implementationPrefetch) => class CustomClient extends CardClient {
|
|
178
|
+
// @ts-ignore
|
|
178
179
|
async fetchData(url) {
|
|
179
180
|
return await implementation(url);
|
|
180
181
|
}
|
|
182
|
+
// @ts-ignore
|
|
181
183
|
async postData() {
|
|
182
184
|
return await implementationPost();
|
|
183
185
|
}
|
|
186
|
+
// @ts-ignore
|
|
184
187
|
async prefetchData() {
|
|
185
188
|
return await implementationPrefetch();
|
|
186
189
|
}
|
|
@@ -39,8 +39,7 @@ export const ResolvedView = ({
|
|
|
39
39
|
lozenge,
|
|
40
40
|
details = [],
|
|
41
41
|
testId = 'block-card-resolved-view',
|
|
42
|
-
showActions = true
|
|
43
|
-
isSupportTheming
|
|
42
|
+
showActions = true
|
|
44
43
|
}) => {
|
|
45
44
|
const resolvedMetadata = details.length > 0 ? jsx(MetadataList, {
|
|
46
45
|
testId: testId ? `${testId}-meta` : undefined,
|