@atlaskit/smart-card 26.34.1 → 26.34.2
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 +6 -0
- package/dist/cjs/utils/analytics/analytics.js +1 -1
- package/dist/cjs/view/BlockCard/actions/flexible/ForbiddenAction.js +4 -5
- package/dist/cjs/view/BlockCard/index.js +5 -2
- package/dist/cjs/view/BlockCard/views/flexible/FlexibleForbiddenView.js +43 -17
- package/dist/cjs/view/BlockCard/views/flexible/FlexibleForbiddenViewOld.js +103 -0
- package/dist/cjs/view/BlockCard/views/flexible/styled.js +4 -3
- package/dist/cjs/view/HoverCard/components/views/forbidden/index.js +2 -1
- package/dist/cjs/view/LinkUrl/index.js +1 -1
- package/dist/es2019/utils/analytics/analytics.js +1 -1
- package/dist/es2019/view/BlockCard/actions/flexible/ForbiddenAction.js +4 -5
- package/dist/es2019/view/BlockCard/index.js +5 -2
- package/dist/es2019/view/BlockCard/views/flexible/FlexibleForbiddenView.js +44 -17
- package/dist/es2019/view/BlockCard/views/flexible/FlexibleForbiddenViewOld.js +95 -0
- package/dist/es2019/view/BlockCard/views/flexible/styled.js +4 -1
- package/dist/es2019/view/HoverCard/components/views/forbidden/index.js +2 -1
- package/dist/es2019/view/LinkUrl/index.js +1 -1
- package/dist/esm/utils/analytics/analytics.js +1 -1
- package/dist/esm/view/BlockCard/actions/flexible/ForbiddenAction.js +4 -5
- package/dist/esm/view/BlockCard/index.js +5 -2
- package/dist/esm/view/BlockCard/views/flexible/FlexibleForbiddenView.js +43 -17
- package/dist/esm/view/BlockCard/views/flexible/FlexibleForbiddenViewOld.js +94 -0
- package/dist/esm/view/BlockCard/views/flexible/styled.js +3 -2
- package/dist/esm/view/HoverCard/components/views/forbidden/index.js +2 -1
- package/dist/esm/view/LinkUrl/index.js +1 -1
- package/dist/types/view/BlockCard/actions/flexible/ForbiddenAction.d.ts +2 -1
- package/dist/types/view/BlockCard/views/flexible/FlexibleForbiddenViewOld.d.ts +8 -0
- package/dist/types/view/BlockCard/views/flexible/styled.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/types.d.ts +2 -1
- package/dist/types-ts4.5/view/BlockCard/actions/flexible/ForbiddenAction.d.ts +2 -1
- package/dist/types-ts4.5/view/BlockCard/views/flexible/FlexibleForbiddenViewOld.d.ts +8 -0
- package/dist/types-ts4.5/view/BlockCard/views/flexible/styled.d.ts +1 -0
- package/dist/types-ts4.5/view/FlexibleCard/components/types.d.ts +2 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 26.34.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#41147](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/41147) [`38e8635bbf9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/38e8635bbf9) - [ux] Update block card view styling behind cross-join feature flag
|
|
8
|
+
|
|
3
9
|
## 26.34.1
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
|
@@ -22,7 +22,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
|
|
|
22
22
|
var context = exports.context = {
|
|
23
23
|
componentName: 'smart-cards',
|
|
24
24
|
packageName: "@atlaskit/smart-card",
|
|
25
|
-
packageVersion: "26.34.
|
|
25
|
+
packageVersion: "26.34.2"
|
|
26
26
|
};
|
|
27
27
|
var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
28
28
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
|
@@ -18,15 +18,14 @@ var _messages = require("../../../../messages");
|
|
|
18
18
|
* @param content is a message key for a message to be displayed in the action
|
|
19
19
|
* @param context is a variable for a message in case a message contains a placeholder
|
|
20
20
|
*/
|
|
21
|
-
var ForbiddenAction = exports.ForbiddenAction = function ForbiddenAction(onClick, content, context) {
|
|
21
|
+
var ForbiddenAction = exports.ForbiddenAction = function ForbiddenAction(onClick, content, context, isDisabled) {
|
|
22
22
|
return {
|
|
23
23
|
name: _constants.ActionName.CustomAction,
|
|
24
24
|
content: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages[content], {
|
|
25
|
-
values:
|
|
26
|
-
context: context
|
|
27
|
-
}
|
|
25
|
+
values: context
|
|
28
26
|
})),
|
|
29
27
|
onClick: onClick,
|
|
30
|
-
testId: 'smart-action-connect-other-account'
|
|
28
|
+
testId: 'smart-action-connect-other-account',
|
|
29
|
+
isDisabled: isDisabled
|
|
31
30
|
};
|
|
32
31
|
};
|
|
@@ -77,8 +77,9 @@ var _ErroredView = require("./views/ErroredView");
|
|
|
77
77
|
var _FlexibleResolvedView = _interopRequireDefault(require("./views/flexible/FlexibleResolvedView"));
|
|
78
78
|
var _FlexibleUnauthorisedView = _interopRequireDefault(require("./views/flexible/FlexibleUnauthorisedView"));
|
|
79
79
|
var _FlexibleNotFoundView = _interopRequireDefault(require("./views/flexible/FlexibleNotFoundView"));
|
|
80
|
-
var _FlexibleErroredView = _interopRequireDefault(require("./views/flexible/FlexibleErroredView"));
|
|
81
80
|
var _FlexibleForbiddenView = _interopRequireDefault(require("./views/flexible/FlexibleForbiddenView"));
|
|
81
|
+
var _FlexibleForbiddenViewOld = _interopRequireDefault(require("./views/flexible/FlexibleForbiddenViewOld"));
|
|
82
|
+
var _FlexibleErroredView = _interopRequireDefault(require("./views/flexible/FlexibleErroredView"));
|
|
82
83
|
var _react = require("@emotion/react");
|
|
83
84
|
var _handlers = require("./utils/handlers");
|
|
84
85
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
@@ -156,7 +157,9 @@ var BlockCard = exports.BlockCard = function BlockCard(_ref) {
|
|
|
156
157
|
onAuthorize: handleAuthorize
|
|
157
158
|
}));
|
|
158
159
|
case 'forbidden':
|
|
159
|
-
return (0, _react.jsx)(_FlexibleForbiddenView.default, (0, _extends2.default)({}, flexibleBlockCardProps, {
|
|
160
|
+
return (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.cross-join') ? (0, _react.jsx)(_FlexibleForbiddenView.default, (0, _extends2.default)({}, flexibleBlockCardProps, {
|
|
161
|
+
onAuthorize: handleAuthorize
|
|
162
|
+
})) : (0, _react.jsx)(_FlexibleForbiddenViewOld.default, (0, _extends2.default)({}, flexibleBlockCardProps, {
|
|
160
163
|
onAuthorize: handleAuthorize
|
|
161
164
|
}));
|
|
162
165
|
case 'not_found':
|
|
@@ -10,18 +10,21 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
10
10
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _FlexibleCard = _interopRequireDefault(require("../../../FlexibleCard"));
|
|
13
|
-
var _titleBlock = _interopRequireDefault(require("../../../FlexibleCard/components/blocks/title-block"));
|
|
14
13
|
var _blocks = require("../../../FlexibleCard/components/blocks");
|
|
15
14
|
var _colors = require("@atlaskit/theme/colors");
|
|
16
15
|
var _messages = require("../../../../messages");
|
|
17
|
-
var
|
|
16
|
+
var _lock = _interopRequireDefault(require("@atlaskit/icon/glyph/lock"));
|
|
18
17
|
var _footer = _interopRequireDefault(require("../../components/flexible/footer"));
|
|
19
18
|
var _ForbiddenAction = require("../../actions/flexible/ForbiddenAction");
|
|
20
19
|
var _text = _interopRequireDefault(require("../../../FlexibleCard/components/elements/text"));
|
|
20
|
+
var _constants = require("../../../../constants");
|
|
21
21
|
var _jsonld = require("../../../../utils/jsonld");
|
|
22
22
|
var _linkExtractors = require("@atlaskit/link-extractors");
|
|
23
|
-
var _context = require("../../../../extractors/common/context");
|
|
24
23
|
var _withFlexibleUIBlockCardStyle = require("./utils/withFlexibleUIBlockCardStyle");
|
|
24
|
+
var _extractAccessContext = require("../../../../extractors/common/context/extractAccessContext");
|
|
25
|
+
var _reactIntlNext = require("react-intl-next");
|
|
26
|
+
var _styled = require("./styled");
|
|
27
|
+
var _extractHostname = _interopRequireDefault(require("../../../../extractors/common/hostname/extractHostname"));
|
|
25
28
|
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); }
|
|
26
29
|
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; }
|
|
27
30
|
/**
|
|
@@ -47,22 +50,34 @@ var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
|
|
|
47
50
|
var cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : (0, _jsonld.getForbiddenJsonLd)().meta;
|
|
48
51
|
var provider = (0, _linkExtractors.extractProvider)(details === null || details === void 0 ? void 0 : details.data);
|
|
49
52
|
var providerName = (provider === null || provider === void 0 ? void 0 : provider.text) || '';
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
var messageContext = (0, _react.useMemo)(function () {
|
|
54
|
+
var hostname = /*#__PURE__*/_react.default.createElement("b", null, (0, _extractHostname.default)(url));
|
|
55
|
+
return {
|
|
56
|
+
product: providerName,
|
|
57
|
+
hostname: hostname
|
|
58
|
+
};
|
|
59
|
+
}, [providerName, url]);
|
|
60
|
+
var requestAccessContext = (0, _react.useMemo)(function () {
|
|
61
|
+
return (0, _extractAccessContext.extractRequestAccessContextImproved)({
|
|
62
|
+
jsonLd: cardMetadata,
|
|
63
|
+
url: url,
|
|
64
|
+
product: providerName
|
|
65
|
+
});
|
|
66
|
+
}, [cardMetadata, providerName, url]);
|
|
55
67
|
var descriptiveMessageKey = requestAccessContext && requestAccessContext.descriptiveMessageKey ? requestAccessContext.descriptiveMessageKey : 'invalid_permissions_description';
|
|
68
|
+
var _ref2 = requestAccessContext !== null && requestAccessContext !== void 0 ? requestAccessContext : {},
|
|
69
|
+
titleMessageKey = _ref2.titleMessageKey,
|
|
70
|
+
buttonDisabled = _ref2.buttonDisabled;
|
|
56
71
|
var actions = (0, _react.useMemo)(function () {
|
|
57
72
|
var actionFromAccessContext = [];
|
|
58
73
|
var tryAnotherAccountAction = onAuthorize ? [(0, _ForbiddenAction.ForbiddenAction)(onAuthorize, 'try_another_account')] : [];
|
|
59
74
|
if (requestAccessContext) {
|
|
60
75
|
var action = requestAccessContext.action,
|
|
61
76
|
callToActionMessageKey = requestAccessContext.callToActionMessageKey;
|
|
62
|
-
actionFromAccessContext = action && callToActionMessageKey ? [(0, _ForbiddenAction.ForbiddenAction)(action.promise, callToActionMessageKey,
|
|
77
|
+
actionFromAccessContext = action && callToActionMessageKey ? [(0, _ForbiddenAction.ForbiddenAction)(action.promise, callToActionMessageKey, messageContext, buttonDisabled)] : [];
|
|
63
78
|
}
|
|
64
79
|
return [].concat(tryAnotherAccountAction, (0, _toConsumableArray2.default)(actionFromAccessContext));
|
|
65
|
-
}, [onAuthorize, requestAccessContext,
|
|
80
|
+
}, [onAuthorize, requestAccessContext, messageContext, buttonDisabled]);
|
|
66
81
|
return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
|
|
67
82
|
appearance: "block",
|
|
68
83
|
cardState: cardState,
|
|
@@ -71,25 +86,36 @@ var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
|
|
|
71
86
|
onError: onError,
|
|
72
87
|
testId: testId,
|
|
73
88
|
ui: {
|
|
74
|
-
hideElevation: true
|
|
89
|
+
hideElevation: true,
|
|
90
|
+
size: _constants.SmartLinkSize.Medium
|
|
75
91
|
},
|
|
76
92
|
url: url
|
|
77
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
93
|
+
}, titleMessageKey ? /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, {
|
|
94
|
+
overrideCss: _styled.forbiddenViewTitleStyle,
|
|
95
|
+
testId: "".concat(testId, "-title")
|
|
96
|
+
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
97
|
+
target: anchorTarget,
|
|
98
|
+
href: url
|
|
99
|
+
}, /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages[titleMessageKey], {
|
|
100
|
+
values: messageContext
|
|
101
|
+
})))) : /*#__PURE__*/_react.default.createElement(_blocks.TitleBlock, (0, _extends2.default)({
|
|
78
102
|
hideRetry: true,
|
|
79
103
|
anchorTarget: anchorTarget
|
|
80
|
-
}, titleBlockProps)), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(
|
|
104
|
+
}, titleBlockProps)), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_lock.default, {
|
|
81
105
|
label: "forbidden-lock-icon",
|
|
82
106
|
size: "small",
|
|
83
107
|
primaryColor: "var(--ds-icon-danger, ".concat(_colors.R300, ")"),
|
|
84
108
|
testId: "".concat(testId, "-lock-icon")
|
|
85
109
|
}), /*#__PURE__*/_react.default.createElement(_text.default, {
|
|
110
|
+
maxLines: 2,
|
|
86
111
|
message: {
|
|
87
112
|
descriptor: _messages.messages[descriptiveMessageKey],
|
|
88
|
-
values:
|
|
89
|
-
context: providerName
|
|
90
|
-
}
|
|
113
|
+
values: messageContext
|
|
91
114
|
}
|
|
92
|
-
})), /*#__PURE__*/_react.default.createElement(_blocks.
|
|
115
|
+
})), /*#__PURE__*/_react.default.createElement(_blocks.PreviewBlock, {
|
|
116
|
+
placement: _constants.MediaPlacement.Right,
|
|
117
|
+
ignoreContainerPadding: true
|
|
118
|
+
}), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_footer.default, {
|
|
93
119
|
actions: actions,
|
|
94
120
|
status: status
|
|
95
121
|
})));
|
|
@@ -0,0 +1,103 @@
|
|
|
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var _FlexibleCard = _interopRequireDefault(require("../../../FlexibleCard"));
|
|
13
|
+
var _titleBlock = _interopRequireDefault(require("../../../FlexibleCard/components/blocks/title-block"));
|
|
14
|
+
var _blocks = require("../../../FlexibleCard/components/blocks");
|
|
15
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
16
|
+
var _messages = require("../../../../messages");
|
|
17
|
+
var _lockFilled = _interopRequireDefault(require("@atlaskit/icon/glyph/lock-filled"));
|
|
18
|
+
var _footer = _interopRequireDefault(require("../../components/flexible/footer"));
|
|
19
|
+
var _ForbiddenAction = require("../../actions/flexible/ForbiddenAction");
|
|
20
|
+
var _text = _interopRequireDefault(require("../../../FlexibleCard/components/elements/text"));
|
|
21
|
+
var _jsonld = require("../../../../utils/jsonld");
|
|
22
|
+
var _linkExtractors = require("@atlaskit/link-extractors");
|
|
23
|
+
var _context = require("../../../../extractors/common/context");
|
|
24
|
+
var _withFlexibleUIBlockCardStyle = require("./utils/withFlexibleUIBlockCardStyle");
|
|
25
|
+
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); }
|
|
26
|
+
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; }
|
|
27
|
+
/**
|
|
28
|
+
* @private
|
|
29
|
+
* @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
|
|
30
|
+
* @deprecated Replaced by FlexibleForbiddenView
|
|
31
|
+
*/
|
|
32
|
+
var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
|
|
33
|
+
var _details$meta;
|
|
34
|
+
var anchorTarget = _ref.anchorTarget,
|
|
35
|
+
cardState = _ref.cardState,
|
|
36
|
+
onAuthorize = _ref.onAuthorize,
|
|
37
|
+
onClick = _ref.onClick,
|
|
38
|
+
onError = _ref.onError,
|
|
39
|
+
_ref$testId = _ref.testId,
|
|
40
|
+
testId = _ref$testId === void 0 ? 'smart-block-forbidden-view' : _ref$testId,
|
|
41
|
+
url = _ref.url,
|
|
42
|
+
titleBlockProps = _ref.titleBlockProps;
|
|
43
|
+
var status = cardState.status;
|
|
44
|
+
var details = cardState === null || cardState === void 0 ? void 0 : cardState.details;
|
|
45
|
+
var cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : (0, _jsonld.getForbiddenJsonLd)().meta;
|
|
46
|
+
var provider = (0, _linkExtractors.extractProvider)(details === null || details === void 0 ? void 0 : details.data);
|
|
47
|
+
var providerName = (provider === null || provider === void 0 ? void 0 : provider.text) || '';
|
|
48
|
+
var requestAccessContext = (0, _context.extractRequestAccessContext)({
|
|
49
|
+
jsonLd: cardMetadata,
|
|
50
|
+
url: url,
|
|
51
|
+
context: providerName
|
|
52
|
+
});
|
|
53
|
+
var descriptiveMessageKey = requestAccessContext && requestAccessContext.descriptiveMessageKey ? requestAccessContext.descriptiveMessageKey : 'invalid_permissions_description';
|
|
54
|
+
var actions = (0, _react.useMemo)(function () {
|
|
55
|
+
var actionFromAccessContext = [];
|
|
56
|
+
var tryAnotherAccountAction = onAuthorize ? [(0, _ForbiddenAction.ForbiddenAction)(onAuthorize, 'try_another_account')] : [];
|
|
57
|
+
if (requestAccessContext) {
|
|
58
|
+
var action = requestAccessContext.action,
|
|
59
|
+
callToActionMessageKey = requestAccessContext.callToActionMessageKey;
|
|
60
|
+
actionFromAccessContext = action && callToActionMessageKey ? [(0, _ForbiddenAction.ForbiddenAction)(action.promise, callToActionMessageKey, {
|
|
61
|
+
context: providerName
|
|
62
|
+
})] : [];
|
|
63
|
+
}
|
|
64
|
+
return [].concat(tryAnotherAccountAction, (0, _toConsumableArray2.default)(actionFromAccessContext));
|
|
65
|
+
}, [onAuthorize, requestAccessContext, providerName]);
|
|
66
|
+
return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
|
|
67
|
+
appearance: "block",
|
|
68
|
+
cardState: cardState,
|
|
69
|
+
onAuthorize: onAuthorize,
|
|
70
|
+
onClick: onClick,
|
|
71
|
+
onError: onError,
|
|
72
|
+
testId: testId,
|
|
73
|
+
ui: {
|
|
74
|
+
hideElevation: true
|
|
75
|
+
},
|
|
76
|
+
url: url
|
|
77
|
+
}, /*#__PURE__*/_react.default.createElement(_titleBlock.default, (0, _extends2.default)({
|
|
78
|
+
hideRetry: true,
|
|
79
|
+
anchorTarget: anchorTarget
|
|
80
|
+
}, titleBlockProps)), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_lockFilled.default, {
|
|
81
|
+
label: "forbidden-lock-icon",
|
|
82
|
+
size: "small",
|
|
83
|
+
primaryColor: "var(--ds-icon-danger, ".concat(_colors.R300, ")"),
|
|
84
|
+
testId: "".concat(testId, "-lock-icon")
|
|
85
|
+
}), /*#__PURE__*/_react.default.createElement(_text.default, {
|
|
86
|
+
message: {
|
|
87
|
+
descriptor: _messages.messages[descriptiveMessageKey],
|
|
88
|
+
values: {
|
|
89
|
+
context: providerName
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
})), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_footer.default, {
|
|
93
|
+
actions: actions,
|
|
94
|
+
status: status
|
|
95
|
+
})));
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @private
|
|
100
|
+
* @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
|
|
101
|
+
* @deprecated Replaced by FlexibleForbiddenView
|
|
102
|
+
*/
|
|
103
|
+
var _default = exports.default = (0, _withFlexibleUIBlockCardStyle.withFlexibleUIBlockCardStyle)(FlexibleForbiddenView);
|
|
@@ -4,17 +4,18 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.titleBlockCss = exports.metadataBlockCss = exports.footerBlockCss = exports.flexibleBlockCardStyle = void 0;
|
|
7
|
+
exports.titleBlockCss = exports.metadataBlockCss = exports.forbiddenViewTitleStyle = exports.footerBlockCss = exports.flexibleBlockCardStyle = void 0;
|
|
8
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
9
9
|
var _token = require("../../../../utils/token");
|
|
10
10
|
var _react = require("@emotion/react");
|
|
11
11
|
var _colors = require("@atlaskit/theme/colors");
|
|
12
12
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
13
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
13
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
14
14
|
// in editor prosemirror adds padding-left so we need to overwrite it
|
|
15
15
|
var metadataBlockCss = exports.metadataBlockCss = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n /* primary element group */\n span[data-smart-element-avatar-group] {\n > ul {\n padding-left: 0px;\n }\n }\n [data-smart-element-group] {\n line-height: 1rem;\n }\n"])));
|
|
16
16
|
var titleBlockCss = exports.titleBlockCss = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n"])), (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.enable-better-metadata_iojwg') ? "gap: 0.5em;" : "", (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.show-smart-links-refreshed-design') ? "[data-smart-element=\"Title\"] {\n font-weight: 600;\n }" : "");
|
|
17
17
|
var footerBlockCss = exports.footerBlockCss = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n height: 1.5rem;\n\n .actions-button-group {\n button,\n button:hover,\n button:focus,\n button:active {\n font-size: 0.875rem;\n }\n }\n"])));
|
|
18
18
|
var flexibleBlockCardElevationStyle = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n border-radius: 1.5px;\n box-shadow: ", ";\n margin: ", ";\n"])), _token.tokens.elevation, "var(--ds-space-025, 2px)");
|
|
19
19
|
var refreshedFlexibleBlockCardStyle = (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n & > div {\n border-radius: ", ";\n border: 1px solid ", ";\n }\n"])), "var(--ds-border-radius-200, 8px)", "var(--ds-border, ".concat(_colors.N40, ")"));
|
|
20
|
-
var flexibleBlockCardStyle = exports.flexibleBlockCardStyle = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.show-smart-links-refreshed-design') ? refreshedFlexibleBlockCardStyle : flexibleBlockCardElevationStyle;
|
|
20
|
+
var flexibleBlockCardStyle = exports.flexibleBlockCardStyle = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.show-smart-links-refreshed-design') ? refreshedFlexibleBlockCardStyle : flexibleBlockCardElevationStyle;
|
|
21
|
+
var forbiddenViewTitleStyle = exports.forbiddenViewTitleStyle = (0, _react.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n font-weight: 600;\n"])));
|
|
@@ -16,6 +16,7 @@ var _linkExtractors = require("@atlaskit/link-extractors");
|
|
|
16
16
|
var _styled = require("./styled");
|
|
17
17
|
var _styled2 = require("../../../styled");
|
|
18
18
|
var _extractAccessContext = require("../../../../../extractors/common/context/extractAccessContext");
|
|
19
|
+
var _extractHostname = _interopRequireDefault(require("../../../../../extractors/common/hostname/extractHostname"));
|
|
19
20
|
var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
|
|
20
21
|
var _cardState$details, _cardState$details2, _extractProvider$text, _extractProvider, _extractRequestAccess;
|
|
21
22
|
var flexibleCardProps = _ref.flexibleCardProps,
|
|
@@ -26,7 +27,7 @@ var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
|
|
|
26
27
|
var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
|
|
27
28
|
var meta = (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.meta;
|
|
28
29
|
var product = (_extractProvider$text = (_extractProvider = (0, _linkExtractors.extractProvider)(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text) !== null && _extractProvider$text !== void 0 ? _extractProvider$text : '';
|
|
29
|
-
var hostname = /*#__PURE__*/_react.default.createElement("b", null,
|
|
30
|
+
var hostname = /*#__PURE__*/_react.default.createElement("b", null, (0, _extractHostname.default)(url));
|
|
30
31
|
var _ref2 = (_extractRequestAccess = (0, _extractAccessContext.extractRequestAccessContextImproved)({
|
|
31
32
|
jsonLd: meta,
|
|
32
33
|
url: url,
|
|
@@ -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.34.
|
|
21
|
+
packageVersion: "26.34.2",
|
|
22
22
|
componentName: 'linkUrl'
|
|
23
23
|
};
|
|
24
24
|
var Link = (0, _click.withLinkClickedEvent)('a');
|
|
@@ -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.34.
|
|
7
|
+
packageVersion: "26.34.2"
|
|
8
8
|
};
|
|
9
9
|
export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
10
10
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
|
@@ -12,13 +12,12 @@ import { messages } from '../../../../messages';
|
|
|
12
12
|
* @param content is a message key for a message to be displayed in the action
|
|
13
13
|
* @param context is a variable for a message in case a message contains a placeholder
|
|
14
14
|
*/
|
|
15
|
-
export const ForbiddenAction = (onClick, content, context) => ({
|
|
15
|
+
export const ForbiddenAction = (onClick, content, context, isDisabled) => ({
|
|
16
16
|
name: ActionName.CustomAction,
|
|
17
17
|
content: /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages[content], {
|
|
18
|
-
values:
|
|
19
|
-
context
|
|
20
|
-
}
|
|
18
|
+
values: context
|
|
21
19
|
})),
|
|
22
20
|
onClick,
|
|
23
|
-
testId: 'smart-action-connect-other-account'
|
|
21
|
+
testId: 'smart-action-connect-other-account',
|
|
22
|
+
isDisabled
|
|
24
23
|
});
|
|
@@ -17,8 +17,9 @@ import { ErroredView as BlockCardErroredView } from './views/ErroredView';
|
|
|
17
17
|
import FlexibleResolvedView from './views/flexible/FlexibleResolvedView';
|
|
18
18
|
import FlexibleUnauthorisedView from './views/flexible/FlexibleUnauthorisedView';
|
|
19
19
|
import FlexibleNotFoundView from './views/flexible/FlexibleNotFoundView';
|
|
20
|
-
import FlexibleErroredView from './views/flexible/FlexibleErroredView';
|
|
21
20
|
import FlexibleForbiddenView from './views/flexible/FlexibleForbiddenView';
|
|
21
|
+
import FlexibleForbiddenViewOld from './views/flexible/FlexibleForbiddenViewOld';
|
|
22
|
+
import FlexibleErroredView from './views/flexible/FlexibleErroredView';
|
|
22
23
|
import { jsx } from '@emotion/react';
|
|
23
24
|
import { handleClickCommon } from './utils/handlers';
|
|
24
25
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
@@ -98,7 +99,9 @@ export const BlockCard = ({
|
|
|
98
99
|
onAuthorize: handleAuthorize
|
|
99
100
|
}));
|
|
100
101
|
case 'forbidden':
|
|
101
|
-
return jsx(FlexibleForbiddenView, _extends({}, flexibleBlockCardProps, {
|
|
102
|
+
return getBooleanFF('platform.linking-platform.smart-card.cross-join') ? jsx(FlexibleForbiddenView, _extends({}, flexibleBlockCardProps, {
|
|
103
|
+
onAuthorize: handleAuthorize
|
|
104
|
+
})) : jsx(FlexibleForbiddenViewOld, _extends({}, flexibleBlockCardProps, {
|
|
102
105
|
onAuthorize: handleAuthorize
|
|
103
106
|
}));
|
|
104
107
|
case 'not_found':
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import React, { useMemo } from 'react';
|
|
3
3
|
import FlexibleCard from '../../../FlexibleCard';
|
|
4
|
-
import TitleBlock from '../../../FlexibleCard/components/blocks
|
|
5
|
-
import { CustomBlock } from '../../../FlexibleCard/components/blocks';
|
|
4
|
+
import { CustomBlock, PreviewBlock, TitleBlock } from '../../../FlexibleCard/components/blocks';
|
|
6
5
|
import { R300 } from '@atlaskit/theme/colors';
|
|
7
6
|
import { messages } from '../../../../messages';
|
|
8
|
-
import LockIcon from '@atlaskit/icon/glyph/lock
|
|
7
|
+
import LockIcon from '@atlaskit/icon/glyph/lock';
|
|
9
8
|
import BlockCardFooter from '../../components/flexible/footer';
|
|
10
9
|
import { ForbiddenAction } from '../../actions/flexible/ForbiddenAction';
|
|
11
10
|
import Text from '../../../FlexibleCard/components/elements/text';
|
|
11
|
+
import { MediaPlacement, SmartLinkSize } from '../../../../constants';
|
|
12
12
|
import { getForbiddenJsonLd } from '../../../../utils/jsonld';
|
|
13
13
|
import { extractProvider } from '@atlaskit/link-extractors';
|
|
14
|
-
import { extractRequestAccessContext } from '../../../../extractors/common/context';
|
|
15
14
|
import { withFlexibleUIBlockCardStyle } from './utils/withFlexibleUIBlockCardStyle';
|
|
15
|
+
import { extractRequestAccessContextImproved } from '../../../../extractors/common/context/extractAccessContext';
|
|
16
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
17
|
+
import { forbiddenViewTitleStyle } from './styled';
|
|
18
|
+
import extractHostname from '../../../../extractors/common/hostname/extractHostname';
|
|
16
19
|
|
|
17
20
|
/**
|
|
18
21
|
* This view represent a Block Card with the 'Forbidden' status.
|
|
@@ -37,12 +40,25 @@ const FlexibleForbiddenView = ({
|
|
|
37
40
|
const cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : getForbiddenJsonLd().meta;
|
|
38
41
|
const provider = extractProvider(details === null || details === void 0 ? void 0 : details.data);
|
|
39
42
|
const providerName = (provider === null || provider === void 0 ? void 0 : provider.text) || '';
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const messageContext = useMemo(() => {
|
|
44
|
+
const hostname = /*#__PURE__*/React.createElement("b", null, extractHostname(url));
|
|
45
|
+
return {
|
|
46
|
+
product: providerName,
|
|
47
|
+
hostname
|
|
48
|
+
};
|
|
49
|
+
}, [providerName, url]);
|
|
50
|
+
const requestAccessContext = useMemo(() => {
|
|
51
|
+
return extractRequestAccessContextImproved({
|
|
52
|
+
jsonLd: cardMetadata,
|
|
53
|
+
url,
|
|
54
|
+
product: providerName
|
|
55
|
+
});
|
|
56
|
+
}, [cardMetadata, providerName, url]);
|
|
45
57
|
const descriptiveMessageKey = requestAccessContext && requestAccessContext.descriptiveMessageKey ? requestAccessContext.descriptiveMessageKey : 'invalid_permissions_description';
|
|
58
|
+
const {
|
|
59
|
+
titleMessageKey,
|
|
60
|
+
buttonDisabled
|
|
61
|
+
} = requestAccessContext !== null && requestAccessContext !== void 0 ? requestAccessContext : {};
|
|
46
62
|
const actions = useMemo(() => {
|
|
47
63
|
let actionFromAccessContext = [];
|
|
48
64
|
const tryAnotherAccountAction = onAuthorize ? [ForbiddenAction(onAuthorize, 'try_another_account')] : [];
|
|
@@ -51,10 +67,10 @@ const FlexibleForbiddenView = ({
|
|
|
51
67
|
action,
|
|
52
68
|
callToActionMessageKey
|
|
53
69
|
} = requestAccessContext;
|
|
54
|
-
actionFromAccessContext = action && callToActionMessageKey ? [ForbiddenAction(action.promise, callToActionMessageKey,
|
|
70
|
+
actionFromAccessContext = action && callToActionMessageKey ? [ForbiddenAction(action.promise, callToActionMessageKey, messageContext, buttonDisabled)] : [];
|
|
55
71
|
}
|
|
56
72
|
return [...tryAnotherAccountAction, ...actionFromAccessContext];
|
|
57
|
-
}, [onAuthorize, requestAccessContext,
|
|
73
|
+
}, [onAuthorize, requestAccessContext, messageContext, buttonDisabled]);
|
|
58
74
|
return /*#__PURE__*/React.createElement(FlexibleCard, {
|
|
59
75
|
appearance: "block",
|
|
60
76
|
cardState: cardState,
|
|
@@ -63,10 +79,19 @@ const FlexibleForbiddenView = ({
|
|
|
63
79
|
onError: onError,
|
|
64
80
|
testId: testId,
|
|
65
81
|
ui: {
|
|
66
|
-
hideElevation: true
|
|
82
|
+
hideElevation: true,
|
|
83
|
+
size: SmartLinkSize.Medium
|
|
67
84
|
},
|
|
68
85
|
url: url
|
|
69
|
-
}, /*#__PURE__*/React.createElement(
|
|
86
|
+
}, titleMessageKey ? /*#__PURE__*/React.createElement(CustomBlock, {
|
|
87
|
+
overrideCss: forbiddenViewTitleStyle,
|
|
88
|
+
testId: `${testId}-title`
|
|
89
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
90
|
+
target: anchorTarget,
|
|
91
|
+
href: url
|
|
92
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages[titleMessageKey], {
|
|
93
|
+
values: messageContext
|
|
94
|
+
})))) : /*#__PURE__*/React.createElement(TitleBlock, _extends({
|
|
70
95
|
hideRetry: true,
|
|
71
96
|
anchorTarget: anchorTarget
|
|
72
97
|
}, titleBlockProps)), /*#__PURE__*/React.createElement(CustomBlock, null, /*#__PURE__*/React.createElement(LockIcon, {
|
|
@@ -75,13 +100,15 @@ const FlexibleForbiddenView = ({
|
|
|
75
100
|
primaryColor: `var(--ds-icon-danger, ${R300})`,
|
|
76
101
|
testId: `${testId}-lock-icon`
|
|
77
102
|
}), /*#__PURE__*/React.createElement(Text, {
|
|
103
|
+
maxLines: 2,
|
|
78
104
|
message: {
|
|
79
105
|
descriptor: messages[descriptiveMessageKey],
|
|
80
|
-
values:
|
|
81
|
-
context: providerName
|
|
82
|
-
}
|
|
106
|
+
values: messageContext
|
|
83
107
|
}
|
|
84
|
-
})), /*#__PURE__*/React.createElement(
|
|
108
|
+
})), /*#__PURE__*/React.createElement(PreviewBlock, {
|
|
109
|
+
placement: MediaPlacement.Right,
|
|
110
|
+
ignoreContainerPadding: true
|
|
111
|
+
}), /*#__PURE__*/React.createElement(CustomBlock, null, /*#__PURE__*/React.createElement(BlockCardFooter, {
|
|
85
112
|
actions: actions,
|
|
86
113
|
status: status
|
|
87
114
|
})));
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import React, { useMemo } from 'react';
|
|
3
|
+
import FlexibleCard from '../../../FlexibleCard';
|
|
4
|
+
import TitleBlock from '../../../FlexibleCard/components/blocks/title-block';
|
|
5
|
+
import { CustomBlock } from '../../../FlexibleCard/components/blocks';
|
|
6
|
+
import { R300 } from '@atlaskit/theme/colors';
|
|
7
|
+
import { messages } from '../../../../messages';
|
|
8
|
+
import LockIcon from '@atlaskit/icon/glyph/lock-filled';
|
|
9
|
+
import BlockCardFooter from '../../components/flexible/footer';
|
|
10
|
+
import { ForbiddenAction } from '../../actions/flexible/ForbiddenAction';
|
|
11
|
+
import Text from '../../../FlexibleCard/components/elements/text';
|
|
12
|
+
import { getForbiddenJsonLd } from '../../../../utils/jsonld';
|
|
13
|
+
import { extractProvider } from '@atlaskit/link-extractors';
|
|
14
|
+
import { extractRequestAccessContext } from '../../../../extractors/common/context';
|
|
15
|
+
import { withFlexibleUIBlockCardStyle } from './utils/withFlexibleUIBlockCardStyle';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @private
|
|
19
|
+
* @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
|
|
20
|
+
* @deprecated Replaced by FlexibleForbiddenView
|
|
21
|
+
*/
|
|
22
|
+
const FlexibleForbiddenView = ({
|
|
23
|
+
anchorTarget,
|
|
24
|
+
cardState,
|
|
25
|
+
onAuthorize,
|
|
26
|
+
onClick,
|
|
27
|
+
onError,
|
|
28
|
+
testId = 'smart-block-forbidden-view',
|
|
29
|
+
url,
|
|
30
|
+
titleBlockProps
|
|
31
|
+
}) => {
|
|
32
|
+
var _details$meta;
|
|
33
|
+
const status = cardState.status;
|
|
34
|
+
const details = cardState === null || cardState === void 0 ? void 0 : cardState.details;
|
|
35
|
+
const cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : getForbiddenJsonLd().meta;
|
|
36
|
+
const provider = extractProvider(details === null || details === void 0 ? void 0 : details.data);
|
|
37
|
+
const providerName = (provider === null || provider === void 0 ? void 0 : provider.text) || '';
|
|
38
|
+
const requestAccessContext = extractRequestAccessContext({
|
|
39
|
+
jsonLd: cardMetadata,
|
|
40
|
+
url,
|
|
41
|
+
context: providerName
|
|
42
|
+
});
|
|
43
|
+
const descriptiveMessageKey = requestAccessContext && requestAccessContext.descriptiveMessageKey ? requestAccessContext.descriptiveMessageKey : 'invalid_permissions_description';
|
|
44
|
+
const actions = useMemo(() => {
|
|
45
|
+
let actionFromAccessContext = [];
|
|
46
|
+
const tryAnotherAccountAction = onAuthorize ? [ForbiddenAction(onAuthorize, 'try_another_account')] : [];
|
|
47
|
+
if (requestAccessContext) {
|
|
48
|
+
const {
|
|
49
|
+
action,
|
|
50
|
+
callToActionMessageKey
|
|
51
|
+
} = requestAccessContext;
|
|
52
|
+
actionFromAccessContext = action && callToActionMessageKey ? [ForbiddenAction(action.promise, callToActionMessageKey, {
|
|
53
|
+
context: providerName
|
|
54
|
+
})] : [];
|
|
55
|
+
}
|
|
56
|
+
return [...tryAnotherAccountAction, ...actionFromAccessContext];
|
|
57
|
+
}, [onAuthorize, requestAccessContext, providerName]);
|
|
58
|
+
return /*#__PURE__*/React.createElement(FlexibleCard, {
|
|
59
|
+
appearance: "block",
|
|
60
|
+
cardState: cardState,
|
|
61
|
+
onAuthorize: onAuthorize,
|
|
62
|
+
onClick: onClick,
|
|
63
|
+
onError: onError,
|
|
64
|
+
testId: testId,
|
|
65
|
+
ui: {
|
|
66
|
+
hideElevation: true
|
|
67
|
+
},
|
|
68
|
+
url: url
|
|
69
|
+
}, /*#__PURE__*/React.createElement(TitleBlock, _extends({
|
|
70
|
+
hideRetry: true,
|
|
71
|
+
anchorTarget: anchorTarget
|
|
72
|
+
}, titleBlockProps)), /*#__PURE__*/React.createElement(CustomBlock, null, /*#__PURE__*/React.createElement(LockIcon, {
|
|
73
|
+
label: "forbidden-lock-icon",
|
|
74
|
+
size: "small",
|
|
75
|
+
primaryColor: `var(--ds-icon-danger, ${R300})`,
|
|
76
|
+
testId: `${testId}-lock-icon`
|
|
77
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
78
|
+
message: {
|
|
79
|
+
descriptor: messages[descriptiveMessageKey],
|
|
80
|
+
values: {
|
|
81
|
+
context: providerName
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
})), /*#__PURE__*/React.createElement(CustomBlock, null, /*#__PURE__*/React.createElement(BlockCardFooter, {
|
|
85
|
+
actions: actions,
|
|
86
|
+
status: status
|
|
87
|
+
})));
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @private
|
|
92
|
+
* @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
|
|
93
|
+
* @deprecated Replaced by FlexibleForbiddenView
|
|
94
|
+
*/
|
|
95
|
+
export default withFlexibleUIBlockCardStyle(FlexibleForbiddenView);
|
|
@@ -44,4 +44,7 @@ const refreshedFlexibleBlockCardStyle = css`
|
|
|
44
44
|
border: 1px solid ${`var(--ds-border, ${N40})`};
|
|
45
45
|
}
|
|
46
46
|
`;
|
|
47
|
-
export const flexibleBlockCardStyle = getBooleanFF('platform.linking-platform.smart-card.show-smart-links-refreshed-design') ? refreshedFlexibleBlockCardStyle : flexibleBlockCardElevationStyle;
|
|
47
|
+
export const flexibleBlockCardStyle = getBooleanFF('platform.linking-platform.smart-card.show-smart-links-refreshed-design') ? refreshedFlexibleBlockCardStyle : flexibleBlockCardElevationStyle;
|
|
48
|
+
export const forbiddenViewTitleStyle = css`
|
|
49
|
+
font-weight: 600;
|
|
50
|
+
`;
|
|
@@ -9,6 +9,7 @@ import { extractProvider } from '@atlaskit/link-extractors';
|
|
|
9
9
|
import { connectButtonStyles, mainTextStyles, titleBlockStyles } from './styled';
|
|
10
10
|
import { getPreviewBlockStyles } from '../../../styled';
|
|
11
11
|
import { extractRequestAccessContextImproved } from '../../../../../extractors/common/context/extractAccessContext';
|
|
12
|
+
import extractHostname from '../../../../../extractors/common/hostname/extractHostname';
|
|
12
13
|
const HoverCardForbiddenView = ({
|
|
13
14
|
flexibleCardProps,
|
|
14
15
|
testId = 'hover-card-forbidden-view'
|
|
@@ -21,7 +22,7 @@ const HoverCardForbiddenView = ({
|
|
|
21
22
|
const data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
|
|
22
23
|
const meta = (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.meta;
|
|
23
24
|
const product = (_extractProvider$text = (_extractProvider = extractProvider(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text) !== null && _extractProvider$text !== void 0 ? _extractProvider$text : '';
|
|
24
|
-
const hostname = /*#__PURE__*/React.createElement("b", null,
|
|
25
|
+
const hostname = /*#__PURE__*/React.createElement("b", null, extractHostname(url));
|
|
25
26
|
const {
|
|
26
27
|
action,
|
|
27
28
|
descriptiveMessageKey,
|
|
@@ -8,7 +8,7 @@ import LinkWarningModal from './LinkWarningModal';
|
|
|
8
8
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
9
9
|
const PACKAGE_DATA = {
|
|
10
10
|
packageName: "@atlaskit/smart-card",
|
|
11
|
-
packageVersion: "26.34.
|
|
11
|
+
packageVersion: "26.34.2",
|
|
12
12
|
componentName: 'linkUrl'
|
|
13
13
|
};
|
|
14
14
|
const Link = withLinkClickedEvent('a');
|
|
@@ -15,7 +15,7 @@ export var ANALYTICS_CHANNEL = 'media';
|
|
|
15
15
|
export var context = {
|
|
16
16
|
componentName: 'smart-cards',
|
|
17
17
|
packageName: "@atlaskit/smart-card",
|
|
18
|
-
packageVersion: "26.34.
|
|
18
|
+
packageVersion: "26.34.2"
|
|
19
19
|
};
|
|
20
20
|
export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
21
21
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
|
@@ -12,15 +12,14 @@ import { messages } from '../../../../messages';
|
|
|
12
12
|
* @param content is a message key for a message to be displayed in the action
|
|
13
13
|
* @param context is a variable for a message in case a message contains a placeholder
|
|
14
14
|
*/
|
|
15
|
-
export var ForbiddenAction = function ForbiddenAction(onClick, content, context) {
|
|
15
|
+
export var ForbiddenAction = function ForbiddenAction(onClick, content, context, isDisabled) {
|
|
16
16
|
return {
|
|
17
17
|
name: ActionName.CustomAction,
|
|
18
18
|
content: /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages[content], {
|
|
19
|
-
values:
|
|
20
|
-
context: context
|
|
21
|
-
}
|
|
19
|
+
values: context
|
|
22
20
|
})),
|
|
23
21
|
onClick: onClick,
|
|
24
|
-
testId: 'smart-action-connect-other-account'
|
|
22
|
+
testId: 'smart-action-connect-other-account',
|
|
23
|
+
isDisabled: isDisabled
|
|
25
24
|
};
|
|
26
25
|
};
|
|
@@ -20,8 +20,9 @@ import { ErroredView as BlockCardErroredView } from './views/ErroredView';
|
|
|
20
20
|
import FlexibleResolvedView from './views/flexible/FlexibleResolvedView';
|
|
21
21
|
import FlexibleUnauthorisedView from './views/flexible/FlexibleUnauthorisedView';
|
|
22
22
|
import FlexibleNotFoundView from './views/flexible/FlexibleNotFoundView';
|
|
23
|
-
import FlexibleErroredView from './views/flexible/FlexibleErroredView';
|
|
24
23
|
import FlexibleForbiddenView from './views/flexible/FlexibleForbiddenView';
|
|
24
|
+
import FlexibleForbiddenViewOld from './views/flexible/FlexibleForbiddenViewOld';
|
|
25
|
+
import FlexibleErroredView from './views/flexible/FlexibleErroredView';
|
|
25
26
|
import { jsx } from '@emotion/react';
|
|
26
27
|
import { handleClickCommon } from './utils/handlers';
|
|
27
28
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
@@ -98,7 +99,9 @@ export var BlockCard = function BlockCard(_ref) {
|
|
|
98
99
|
onAuthorize: handleAuthorize
|
|
99
100
|
}));
|
|
100
101
|
case 'forbidden':
|
|
101
|
-
return jsx(FlexibleForbiddenView, _extends({}, flexibleBlockCardProps, {
|
|
102
|
+
return getBooleanFF('platform.linking-platform.smart-card.cross-join') ? jsx(FlexibleForbiddenView, _extends({}, flexibleBlockCardProps, {
|
|
103
|
+
onAuthorize: handleAuthorize
|
|
104
|
+
})) : jsx(FlexibleForbiddenViewOld, _extends({}, flexibleBlockCardProps, {
|
|
102
105
|
onAuthorize: handleAuthorize
|
|
103
106
|
}));
|
|
104
107
|
case 'not_found':
|
|
@@ -2,18 +2,21 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
3
|
import React, { useMemo } from 'react';
|
|
4
4
|
import FlexibleCard from '../../../FlexibleCard';
|
|
5
|
-
import TitleBlock from '../../../FlexibleCard/components/blocks
|
|
6
|
-
import { CustomBlock } from '../../../FlexibleCard/components/blocks';
|
|
5
|
+
import { CustomBlock, PreviewBlock, TitleBlock } from '../../../FlexibleCard/components/blocks';
|
|
7
6
|
import { R300 } from '@atlaskit/theme/colors';
|
|
8
7
|
import { messages } from '../../../../messages';
|
|
9
|
-
import LockIcon from '@atlaskit/icon/glyph/lock
|
|
8
|
+
import LockIcon from '@atlaskit/icon/glyph/lock';
|
|
10
9
|
import BlockCardFooter from '../../components/flexible/footer';
|
|
11
10
|
import { ForbiddenAction } from '../../actions/flexible/ForbiddenAction';
|
|
12
11
|
import Text from '../../../FlexibleCard/components/elements/text';
|
|
12
|
+
import { MediaPlacement, SmartLinkSize } from '../../../../constants';
|
|
13
13
|
import { getForbiddenJsonLd } from '../../../../utils/jsonld';
|
|
14
14
|
import { extractProvider } from '@atlaskit/link-extractors';
|
|
15
|
-
import { extractRequestAccessContext } from '../../../../extractors/common/context';
|
|
16
15
|
import { withFlexibleUIBlockCardStyle } from './utils/withFlexibleUIBlockCardStyle';
|
|
16
|
+
import { extractRequestAccessContextImproved } from '../../../../extractors/common/context/extractAccessContext';
|
|
17
|
+
import { FormattedMessage } from 'react-intl-next';
|
|
18
|
+
import { forbiddenViewTitleStyle } from './styled';
|
|
19
|
+
import extractHostname from '../../../../extractors/common/hostname/extractHostname';
|
|
17
20
|
|
|
18
21
|
/**
|
|
19
22
|
* This view represent a Block Card with the 'Forbidden' status.
|
|
@@ -38,22 +41,34 @@ var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
|
|
|
38
41
|
var cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : getForbiddenJsonLd().meta;
|
|
39
42
|
var provider = extractProvider(details === null || details === void 0 ? void 0 : details.data);
|
|
40
43
|
var providerName = (provider === null || provider === void 0 ? void 0 : provider.text) || '';
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
var messageContext = useMemo(function () {
|
|
45
|
+
var hostname = /*#__PURE__*/React.createElement("b", null, extractHostname(url));
|
|
46
|
+
return {
|
|
47
|
+
product: providerName,
|
|
48
|
+
hostname: hostname
|
|
49
|
+
};
|
|
50
|
+
}, [providerName, url]);
|
|
51
|
+
var requestAccessContext = useMemo(function () {
|
|
52
|
+
return extractRequestAccessContextImproved({
|
|
53
|
+
jsonLd: cardMetadata,
|
|
54
|
+
url: url,
|
|
55
|
+
product: providerName
|
|
56
|
+
});
|
|
57
|
+
}, [cardMetadata, providerName, url]);
|
|
46
58
|
var descriptiveMessageKey = requestAccessContext && requestAccessContext.descriptiveMessageKey ? requestAccessContext.descriptiveMessageKey : 'invalid_permissions_description';
|
|
59
|
+
var _ref2 = requestAccessContext !== null && requestAccessContext !== void 0 ? requestAccessContext : {},
|
|
60
|
+
titleMessageKey = _ref2.titleMessageKey,
|
|
61
|
+
buttonDisabled = _ref2.buttonDisabled;
|
|
47
62
|
var actions = useMemo(function () {
|
|
48
63
|
var actionFromAccessContext = [];
|
|
49
64
|
var tryAnotherAccountAction = onAuthorize ? [ForbiddenAction(onAuthorize, 'try_another_account')] : [];
|
|
50
65
|
if (requestAccessContext) {
|
|
51
66
|
var action = requestAccessContext.action,
|
|
52
67
|
callToActionMessageKey = requestAccessContext.callToActionMessageKey;
|
|
53
|
-
actionFromAccessContext = action && callToActionMessageKey ? [ForbiddenAction(action.promise, callToActionMessageKey,
|
|
68
|
+
actionFromAccessContext = action && callToActionMessageKey ? [ForbiddenAction(action.promise, callToActionMessageKey, messageContext, buttonDisabled)] : [];
|
|
54
69
|
}
|
|
55
70
|
return [].concat(tryAnotherAccountAction, _toConsumableArray(actionFromAccessContext));
|
|
56
|
-
}, [onAuthorize, requestAccessContext,
|
|
71
|
+
}, [onAuthorize, requestAccessContext, messageContext, buttonDisabled]);
|
|
57
72
|
return /*#__PURE__*/React.createElement(FlexibleCard, {
|
|
58
73
|
appearance: "block",
|
|
59
74
|
cardState: cardState,
|
|
@@ -62,10 +77,19 @@ var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
|
|
|
62
77
|
onError: onError,
|
|
63
78
|
testId: testId,
|
|
64
79
|
ui: {
|
|
65
|
-
hideElevation: true
|
|
80
|
+
hideElevation: true,
|
|
81
|
+
size: SmartLinkSize.Medium
|
|
66
82
|
},
|
|
67
83
|
url: url
|
|
68
|
-
}, /*#__PURE__*/React.createElement(
|
|
84
|
+
}, titleMessageKey ? /*#__PURE__*/React.createElement(CustomBlock, {
|
|
85
|
+
overrideCss: forbiddenViewTitleStyle,
|
|
86
|
+
testId: "".concat(testId, "-title")
|
|
87
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
88
|
+
target: anchorTarget,
|
|
89
|
+
href: url
|
|
90
|
+
}, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages[titleMessageKey], {
|
|
91
|
+
values: messageContext
|
|
92
|
+
})))) : /*#__PURE__*/React.createElement(TitleBlock, _extends({
|
|
69
93
|
hideRetry: true,
|
|
70
94
|
anchorTarget: anchorTarget
|
|
71
95
|
}, titleBlockProps)), /*#__PURE__*/React.createElement(CustomBlock, null, /*#__PURE__*/React.createElement(LockIcon, {
|
|
@@ -74,13 +98,15 @@ var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
|
|
|
74
98
|
primaryColor: "var(--ds-icon-danger, ".concat(R300, ")"),
|
|
75
99
|
testId: "".concat(testId, "-lock-icon")
|
|
76
100
|
}), /*#__PURE__*/React.createElement(Text, {
|
|
101
|
+
maxLines: 2,
|
|
77
102
|
message: {
|
|
78
103
|
descriptor: messages[descriptiveMessageKey],
|
|
79
|
-
values:
|
|
80
|
-
context: providerName
|
|
81
|
-
}
|
|
104
|
+
values: messageContext
|
|
82
105
|
}
|
|
83
|
-
})), /*#__PURE__*/React.createElement(
|
|
106
|
+
})), /*#__PURE__*/React.createElement(PreviewBlock, {
|
|
107
|
+
placement: MediaPlacement.Right,
|
|
108
|
+
ignoreContainerPadding: true
|
|
109
|
+
}), /*#__PURE__*/React.createElement(CustomBlock, null, /*#__PURE__*/React.createElement(BlockCardFooter, {
|
|
84
110
|
actions: actions,
|
|
85
111
|
status: status
|
|
86
112
|
})));
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
|
+
import React, { useMemo } from 'react';
|
|
4
|
+
import FlexibleCard from '../../../FlexibleCard';
|
|
5
|
+
import TitleBlock from '../../../FlexibleCard/components/blocks/title-block';
|
|
6
|
+
import { CustomBlock } from '../../../FlexibleCard/components/blocks';
|
|
7
|
+
import { R300 } from '@atlaskit/theme/colors';
|
|
8
|
+
import { messages } from '../../../../messages';
|
|
9
|
+
import LockIcon from '@atlaskit/icon/glyph/lock-filled';
|
|
10
|
+
import BlockCardFooter from '../../components/flexible/footer';
|
|
11
|
+
import { ForbiddenAction } from '../../actions/flexible/ForbiddenAction';
|
|
12
|
+
import Text from '../../../FlexibleCard/components/elements/text';
|
|
13
|
+
import { getForbiddenJsonLd } from '../../../../utils/jsonld';
|
|
14
|
+
import { extractProvider } from '@atlaskit/link-extractors';
|
|
15
|
+
import { extractRequestAccessContext } from '../../../../extractors/common/context';
|
|
16
|
+
import { withFlexibleUIBlockCardStyle } from './utils/withFlexibleUIBlockCardStyle';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @private
|
|
20
|
+
* @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
|
|
21
|
+
* @deprecated Replaced by FlexibleForbiddenView
|
|
22
|
+
*/
|
|
23
|
+
var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
|
|
24
|
+
var _details$meta;
|
|
25
|
+
var anchorTarget = _ref.anchorTarget,
|
|
26
|
+
cardState = _ref.cardState,
|
|
27
|
+
onAuthorize = _ref.onAuthorize,
|
|
28
|
+
onClick = _ref.onClick,
|
|
29
|
+
onError = _ref.onError,
|
|
30
|
+
_ref$testId = _ref.testId,
|
|
31
|
+
testId = _ref$testId === void 0 ? 'smart-block-forbidden-view' : _ref$testId,
|
|
32
|
+
url = _ref.url,
|
|
33
|
+
titleBlockProps = _ref.titleBlockProps;
|
|
34
|
+
var status = cardState.status;
|
|
35
|
+
var details = cardState === null || cardState === void 0 ? void 0 : cardState.details;
|
|
36
|
+
var cardMetadata = (_details$meta = details === null || details === void 0 ? void 0 : details.meta) !== null && _details$meta !== void 0 ? _details$meta : getForbiddenJsonLd().meta;
|
|
37
|
+
var provider = extractProvider(details === null || details === void 0 ? void 0 : details.data);
|
|
38
|
+
var providerName = (provider === null || provider === void 0 ? void 0 : provider.text) || '';
|
|
39
|
+
var requestAccessContext = extractRequestAccessContext({
|
|
40
|
+
jsonLd: cardMetadata,
|
|
41
|
+
url: url,
|
|
42
|
+
context: providerName
|
|
43
|
+
});
|
|
44
|
+
var descriptiveMessageKey = requestAccessContext && requestAccessContext.descriptiveMessageKey ? requestAccessContext.descriptiveMessageKey : 'invalid_permissions_description';
|
|
45
|
+
var actions = useMemo(function () {
|
|
46
|
+
var actionFromAccessContext = [];
|
|
47
|
+
var tryAnotherAccountAction = onAuthorize ? [ForbiddenAction(onAuthorize, 'try_another_account')] : [];
|
|
48
|
+
if (requestAccessContext) {
|
|
49
|
+
var action = requestAccessContext.action,
|
|
50
|
+
callToActionMessageKey = requestAccessContext.callToActionMessageKey;
|
|
51
|
+
actionFromAccessContext = action && callToActionMessageKey ? [ForbiddenAction(action.promise, callToActionMessageKey, {
|
|
52
|
+
context: providerName
|
|
53
|
+
})] : [];
|
|
54
|
+
}
|
|
55
|
+
return [].concat(tryAnotherAccountAction, _toConsumableArray(actionFromAccessContext));
|
|
56
|
+
}, [onAuthorize, requestAccessContext, providerName]);
|
|
57
|
+
return /*#__PURE__*/React.createElement(FlexibleCard, {
|
|
58
|
+
appearance: "block",
|
|
59
|
+
cardState: cardState,
|
|
60
|
+
onAuthorize: onAuthorize,
|
|
61
|
+
onClick: onClick,
|
|
62
|
+
onError: onError,
|
|
63
|
+
testId: testId,
|
|
64
|
+
ui: {
|
|
65
|
+
hideElevation: true
|
|
66
|
+
},
|
|
67
|
+
url: url
|
|
68
|
+
}, /*#__PURE__*/React.createElement(TitleBlock, _extends({
|
|
69
|
+
hideRetry: true,
|
|
70
|
+
anchorTarget: anchorTarget
|
|
71
|
+
}, titleBlockProps)), /*#__PURE__*/React.createElement(CustomBlock, null, /*#__PURE__*/React.createElement(LockIcon, {
|
|
72
|
+
label: "forbidden-lock-icon",
|
|
73
|
+
size: "small",
|
|
74
|
+
primaryColor: "var(--ds-icon-danger, ".concat(R300, ")"),
|
|
75
|
+
testId: "".concat(testId, "-lock-icon")
|
|
76
|
+
}), /*#__PURE__*/React.createElement(Text, {
|
|
77
|
+
message: {
|
|
78
|
+
descriptor: messages[descriptiveMessageKey],
|
|
79
|
+
values: {
|
|
80
|
+
context: providerName
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
})), /*#__PURE__*/React.createElement(CustomBlock, null, /*#__PURE__*/React.createElement(BlockCardFooter, {
|
|
84
|
+
actions: actions,
|
|
85
|
+
status: status
|
|
86
|
+
})));
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* @private
|
|
91
|
+
* @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
|
|
92
|
+
* @deprecated Replaced by FlexibleForbiddenView
|
|
93
|
+
*/
|
|
94
|
+
export default withFlexibleUIBlockCardStyle(FlexibleForbiddenView);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
3
3
|
import { tokens } from '../../../../utils/token';
|
|
4
4
|
import { css } from '@emotion/react';
|
|
5
5
|
import { N40 } from '@atlaskit/theme/colors';
|
|
@@ -11,4 +11,5 @@ export var titleBlockCss = css(_templateObject2 || (_templateObject2 = _taggedTe
|
|
|
11
11
|
export var footerBlockCss = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n height: 1.5rem;\n\n .actions-button-group {\n button,\n button:hover,\n button:focus,\n button:active {\n font-size: 0.875rem;\n }\n }\n"])));
|
|
12
12
|
var flexibleBlockCardElevationStyle = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n border-radius: 1.5px;\n box-shadow: ", ";\n margin: ", ";\n"])), tokens.elevation, "var(--ds-space-025, 2px)");
|
|
13
13
|
var refreshedFlexibleBlockCardStyle = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n & > div {\n border-radius: ", ";\n border: 1px solid ", ";\n }\n"])), "var(--ds-border-radius-200, 8px)", "var(--ds-border, ".concat(N40, ")"));
|
|
14
|
-
export var flexibleBlockCardStyle = getBooleanFF('platform.linking-platform.smart-card.show-smart-links-refreshed-design') ? refreshedFlexibleBlockCardStyle : flexibleBlockCardElevationStyle;
|
|
14
|
+
export var flexibleBlockCardStyle = getBooleanFF('platform.linking-platform.smart-card.show-smart-links-refreshed-design') ? refreshedFlexibleBlockCardStyle : flexibleBlockCardElevationStyle;
|
|
15
|
+
export var forbiddenViewTitleStyle = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n font-weight: 600;\n"])));
|
|
@@ -9,6 +9,7 @@ import { extractProvider } from '@atlaskit/link-extractors';
|
|
|
9
9
|
import { connectButtonStyles, mainTextStyles, titleBlockStyles } from './styled';
|
|
10
10
|
import { getPreviewBlockStyles } from '../../../styled';
|
|
11
11
|
import { extractRequestAccessContextImproved } from '../../../../../extractors/common/context/extractAccessContext';
|
|
12
|
+
import extractHostname from '../../../../../extractors/common/hostname/extractHostname';
|
|
12
13
|
var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
|
|
13
14
|
var _cardState$details, _cardState$details2, _extractProvider$text, _extractProvider, _extractRequestAccess;
|
|
14
15
|
var flexibleCardProps = _ref.flexibleCardProps,
|
|
@@ -19,7 +20,7 @@ var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
|
|
|
19
20
|
var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
|
|
20
21
|
var meta = (_cardState$details2 = cardState.details) === null || _cardState$details2 === void 0 ? void 0 : _cardState$details2.meta;
|
|
21
22
|
var product = (_extractProvider$text = (_extractProvider = extractProvider(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text) !== null && _extractProvider$text !== void 0 ? _extractProvider$text : '';
|
|
22
|
-
var hostname = /*#__PURE__*/React.createElement("b", null,
|
|
23
|
+
var hostname = /*#__PURE__*/React.createElement("b", null, extractHostname(url));
|
|
23
24
|
var _ref2 = (_extractRequestAccess = extractRequestAccessContextImproved({
|
|
24
25
|
jsonLd: meta,
|
|
25
26
|
url: url,
|
|
@@ -11,7 +11,7 @@ import LinkWarningModal from './LinkWarningModal';
|
|
|
11
11
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
12
12
|
var PACKAGE_DATA = {
|
|
13
13
|
packageName: "@atlaskit/smart-card",
|
|
14
|
-
packageVersion: "26.34.
|
|
14
|
+
packageVersion: "26.34.2",
|
|
15
15
|
componentName: 'linkUrl'
|
|
16
16
|
};
|
|
17
17
|
var Link = withLinkClickedEvent('a');
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { CustomActionItem } from '../../../FlexibleCard/components/blocks/types';
|
|
2
3
|
import { MessageKey, RequestAccessMessageKey } from '../../../../messages';
|
|
3
4
|
/**
|
|
@@ -8,4 +9,4 @@ import { MessageKey, RequestAccessMessageKey } from '../../../../messages';
|
|
|
8
9
|
* @param content is a message key for a message to be displayed in the action
|
|
9
10
|
* @param context is a variable for a message in case a message contains a placeholder
|
|
10
11
|
*/
|
|
11
|
-
export declare const ForbiddenAction: (onClick: () => void, content: RequestAccessMessageKey | MessageKey, context?: string) => CustomActionItem;
|
|
12
|
+
export declare const ForbiddenAction: (onClick: () => void, content: RequestAccessMessageKey | MessageKey, context?: Record<string, ReactNode>, isDisabled?: boolean) => CustomActionItem;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FlexibleBlockCardProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
* @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
|
|
5
|
+
* @deprecated Replaced by FlexibleForbiddenView
|
|
6
|
+
*/
|
|
7
|
+
declare const _default: (props: FlexibleBlockCardProps) => import("@emotion/react").jsx.JSX.Element;
|
|
8
|
+
export default _default;
|
|
@@ -2,3 +2,4 @@ export declare const metadataBlockCss: import("@emotion/react").SerializedStyles
|
|
|
2
2
|
export declare const titleBlockCss: import("@emotion/react").SerializedStyles;
|
|
3
3
|
export declare const footerBlockCss: import("@emotion/react").SerializedStyles;
|
|
4
4
|
export declare const flexibleBlockCardStyle: import("@emotion/react").SerializedStyles;
|
|
5
|
+
export declare const forbiddenViewTitleStyle: import("@emotion/react").SerializedStyles;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { MessageDescriptor } from 'react-intl-next';
|
|
2
3
|
export type AnchorTarget = '_blank' | '_self' | '_top' | '_parent';
|
|
3
4
|
export type MessageProps = {
|
|
4
5
|
descriptor: MessageDescriptor;
|
|
5
|
-
values?: Record<string,
|
|
6
|
+
values?: Record<string, ReactNode>;
|
|
6
7
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { CustomActionItem } from '../../../FlexibleCard/components/blocks/types';
|
|
2
3
|
import { MessageKey, RequestAccessMessageKey } from '../../../../messages';
|
|
3
4
|
/**
|
|
@@ -8,4 +9,4 @@ import { MessageKey, RequestAccessMessageKey } from '../../../../messages';
|
|
|
8
9
|
* @param content is a message key for a message to be displayed in the action
|
|
9
10
|
* @param context is a variable for a message in case a message contains a placeholder
|
|
10
11
|
*/
|
|
11
|
-
export declare const ForbiddenAction: (onClick: () => void, content: RequestAccessMessageKey | MessageKey, context?: string) => CustomActionItem;
|
|
12
|
+
export declare const ForbiddenAction: (onClick: () => void, content: RequestAccessMessageKey | MessageKey, context?: Record<string, ReactNode>, isDisabled?: boolean) => CustomActionItem;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FlexibleBlockCardProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* @private
|
|
4
|
+
* @deprecated {@link https://product-fabric.atlassian.net/browse/EDM-7977 Internal documentation for deprecation (no external access)}
|
|
5
|
+
* @deprecated Replaced by FlexibleForbiddenView
|
|
6
|
+
*/
|
|
7
|
+
declare const _default: (props: FlexibleBlockCardProps) => import("@emotion/react").jsx.JSX.Element;
|
|
8
|
+
export default _default;
|
|
@@ -2,3 +2,4 @@ export declare const metadataBlockCss: import("@emotion/react").SerializedStyles
|
|
|
2
2
|
export declare const titleBlockCss: import("@emotion/react").SerializedStyles;
|
|
3
3
|
export declare const footerBlockCss: import("@emotion/react").SerializedStyles;
|
|
4
4
|
export declare const flexibleBlockCardStyle: import("@emotion/react").SerializedStyles;
|
|
5
|
+
export declare const forbiddenViewTitleStyle: import("@emotion/react").SerializedStyles;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
1
2
|
import { MessageDescriptor } from 'react-intl-next';
|
|
2
3
|
export type AnchorTarget = '_blank' | '_self' | '_top' | '_parent';
|
|
3
4
|
export type MessageProps = {
|
|
4
5
|
descriptor: MessageDescriptor;
|
|
5
|
-
values?: Record<string,
|
|
6
|
+
values?: Record<string, ReactNode>;
|
|
6
7
|
};
|