@atlaskit/smart-card 40.10.10 → 40.12.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 +18 -0
- package/dist/cjs/extractors/action/extract-invoke-preview-action.js +68 -41
- package/dist/cjs/extractors/flexible/actions/extract-preview-action.js +2 -4
- package/dist/cjs/extractors/flexible/actions/index.js +6 -2
- package/dist/cjs/extractors/flexible/extract-state.js +9 -7
- package/dist/cjs/extractors/flexible/index.js +8 -3
- package/dist/cjs/messages.js +25 -0
- package/dist/cjs/state/hooks-external/useSmartLinkActions.js +8 -2
- package/dist/cjs/utils/analytics/analytics.js +1 -1
- package/dist/cjs/view/CardWithUrl/component.js +1 -0
- package/dist/cjs/view/FlexibleCard/components/actions/preview-action/index.js +29 -4
- package/dist/cjs/view/FlexibleCard/index.js +8 -2
- package/dist/cjs/view/LinkUrl/index.js +1 -1
- package/dist/cjs/view/common/UnauthorisedViewContent.js +4 -3
- package/dist/es2019/extractors/action/extract-invoke-preview-action.js +49 -27
- package/dist/es2019/extractors/flexible/actions/extract-preview-action.js +2 -4
- package/dist/es2019/extractors/flexible/actions/index.js +6 -2
- package/dist/es2019/extractors/flexible/extract-state.js +9 -7
- package/dist/es2019/extractors/flexible/index.js +7 -2
- package/dist/es2019/messages.js +25 -0
- package/dist/es2019/state/hooks-external/useSmartLinkActions.js +9 -2
- package/dist/es2019/utils/analytics/analytics.js +1 -1
- package/dist/es2019/view/CardWithUrl/component.js +1 -0
- package/dist/es2019/view/FlexibleCard/components/actions/preview-action/index.js +29 -4
- package/dist/es2019/view/FlexibleCard/index.js +9 -2
- package/dist/es2019/view/LinkUrl/index.js +1 -1
- package/dist/es2019/view/common/UnauthorisedViewContent.js +4 -3
- package/dist/esm/extractors/action/extract-invoke-preview-action.js +69 -42
- package/dist/esm/extractors/flexible/actions/extract-preview-action.js +2 -4
- package/dist/esm/extractors/flexible/actions/index.js +6 -2
- package/dist/esm/extractors/flexible/extract-state.js +9 -7
- package/dist/esm/extractors/flexible/index.js +8 -3
- package/dist/esm/messages.js +25 -0
- package/dist/esm/state/hooks-external/useSmartLinkActions.js +8 -2
- package/dist/esm/utils/analytics/analytics.js +1 -1
- package/dist/esm/view/CardWithUrl/component.js +1 -0
- package/dist/esm/view/FlexibleCard/components/actions/preview-action/index.js +29 -4
- package/dist/esm/view/FlexibleCard/index.js +8 -2
- package/dist/esm/view/LinkUrl/index.js +1 -1
- package/dist/esm/view/common/UnauthorisedViewContent.js +4 -3
- package/dist/types/extractors/action/extract-invoke-preview-action.d.ts +15 -1
- package/dist/types/extractors/flexible/actions/index.d.ts +10 -1
- package/dist/types/extractors/flexible/extract-state.d.ts +8 -1
- package/dist/types/extractors/flexible/index.d.ts +1 -1
- package/dist/types/messages.d.ts +1 -1
- package/dist/types/state/flexible-ui-context/types.d.ts +1 -0
- package/dist/types/view/FlexibleCard/types.d.ts +9 -0
- package/dist/types-ts4.5/extractors/action/extract-invoke-preview-action.d.ts +15 -1
- package/dist/types-ts4.5/extractors/flexible/actions/index.d.ts +10 -1
- package/dist/types-ts4.5/extractors/flexible/extract-state.d.ts +8 -1
- package/dist/types-ts4.5/extractors/flexible/index.d.ts +1 -1
- package/dist/types-ts4.5/messages.d.ts +1 -1
- package/dist/types-ts4.5/state/flexible-ui-context/types.d.ts +1 -0
- package/dist/types-ts4.5/view/FlexibleCard/types.d.ts +9 -0
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 40.12.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`4b9dfa0c0bf0d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4b9dfa0c0bf0d) -
|
|
8
|
+
[ux] Adds support for preview panel triggers to the hover card
|
|
9
|
+
|
|
10
|
+
## 40.11.0
|
|
11
|
+
|
|
12
|
+
### Minor Changes
|
|
13
|
+
|
|
14
|
+
- [`cdc1b340de640`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cdc1b340de640) -
|
|
15
|
+
Product/App term refresh
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies
|
|
20
|
+
|
|
3
21
|
## 40.10.10
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -8,6 +8,7 @@ exports.extractInvokePreviewAction = void 0;
|
|
|
8
8
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
9
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
10
|
var _linkExtractors = require("@atlaskit/link-extractors");
|
|
11
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
11
12
|
var _index = require("../../index");
|
|
12
13
|
var _helpers = require("../../state/helpers");
|
|
13
14
|
var _canShowAction = require("../../utils/actions/can-show-action");
|
|
@@ -25,54 +26,80 @@ var extractInvokePreviewAction = exports.extractInvokePreviewAction = function e
|
|
|
25
26
|
onClose = param.onClose,
|
|
26
27
|
id = param.id,
|
|
27
28
|
origin = param.origin,
|
|
28
|
-
response = param.response
|
|
29
|
+
response = param.response,
|
|
30
|
+
isPreviewPanelAvailable = param.isPreviewPanelAvailable,
|
|
31
|
+
openPreviewPanel = param.openPreviewPanel;
|
|
32
|
+
var ari = (0, _linkExtractors.extractSmartLinkAri)(response);
|
|
33
|
+
var url = (0, _linkExtractors.extractSmartLinkUrl)(response);
|
|
34
|
+
var name = (0, _linkExtractors.extractSmartLinkTitle)(response);
|
|
35
|
+
var hasPreviewPanelParams = Boolean((0, _expValEquals.expValEquals)('platform_hover_card_preview_panel', 'cohort', 'test') && isPreviewPanelAvailable && openPreviewPanel && ari && url && name);
|
|
36
|
+
var hasPreviewPanel = hasPreviewPanelParams && isPreviewPanelAvailable({
|
|
37
|
+
ari: ari
|
|
38
|
+
});
|
|
39
|
+
var data = response.data;
|
|
40
|
+
var meta = response.meta;
|
|
29
41
|
if (!(0, _canShowAction.canShowAction)(_index.CardAction.PreviewAction, actionOptions)) {
|
|
30
42
|
return;
|
|
31
43
|
}
|
|
32
|
-
var data = response.data;
|
|
33
|
-
var meta = response.meta;
|
|
34
44
|
var src = (_extractPreviewData = (0, _linkExtractors.extractPreview)(data, 'web')) === null || _extractPreviewData === void 0 ? void 0 : _extractPreviewData.src;
|
|
35
45
|
if (src) {
|
|
36
46
|
var extensionKey = (0, _helpers.getExtensionKey)(response);
|
|
37
47
|
return {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
48
|
+
invokeAction: {
|
|
49
|
+
actionFn: function () {
|
|
50
|
+
var _actionFn = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
51
|
+
var _extractSmartLinkProv, _extractSmartLinkEmbe;
|
|
52
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
53
|
+
while (1) switch (_context.prev = _context.next) {
|
|
54
|
+
case 0:
|
|
55
|
+
if (!hasPreviewPanel) {
|
|
56
|
+
_context.next = 4;
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
openPreviewPanel({
|
|
60
|
+
ari: ari,
|
|
61
|
+
url: url,
|
|
62
|
+
name: name,
|
|
63
|
+
iconUrl: undefined
|
|
64
|
+
});
|
|
65
|
+
_context.next = 6;
|
|
66
|
+
break;
|
|
67
|
+
case 4:
|
|
68
|
+
_context.next = 6;
|
|
69
|
+
return (0, _utils.openEmbedModal)({
|
|
70
|
+
fireEvent: fireEvent,
|
|
71
|
+
extensionKey: extensionKey,
|
|
72
|
+
id: id,
|
|
73
|
+
invokeDownloadAction: (0, _extractInvokeDownloadAction.extractInvokeDownloadAction)(param),
|
|
74
|
+
invokeViewAction: (0, _extractInvokeViewAction.extractInvokeViewAction)(param, true),
|
|
75
|
+
isSupportTheming: (0, _extractIsSupportTheming.extractIsSupportTheming)(meta),
|
|
76
|
+
isTrusted: (0, _extractIsTrusted.extractIsTrusted)(meta),
|
|
77
|
+
linkIcon: (0, _icon.extractLinkIcon)(response),
|
|
78
|
+
providerName: (_extractSmartLinkProv = (0, _linkExtractors.extractSmartLinkProvider)(response)) === null || _extractSmartLinkProv === void 0 ? void 0 : _extractSmartLinkProv.text,
|
|
79
|
+
onClose: onClose,
|
|
80
|
+
origin: origin,
|
|
81
|
+
src: (_extractSmartLinkEmbe = (0, _linkExtractors.extractSmartLinkEmbed)(response)) === null || _extractSmartLinkEmbe === void 0 ? void 0 : _extractSmartLinkEmbe.src,
|
|
82
|
+
title: (0, _linkExtractors.extractSmartLinkTitle)(response),
|
|
83
|
+
url: url
|
|
84
|
+
});
|
|
85
|
+
case 6:
|
|
86
|
+
case "end":
|
|
87
|
+
return _context.stop();
|
|
88
|
+
}
|
|
89
|
+
}, _callee);
|
|
90
|
+
}));
|
|
91
|
+
function actionFn() {
|
|
92
|
+
return _actionFn.apply(this, arguments);
|
|
93
|
+
}
|
|
94
|
+
return actionFn;
|
|
95
|
+
}(),
|
|
96
|
+
actionSubjectId: 'invokePreviewScreen',
|
|
97
|
+
actionType: _index.ActionName.PreviewAction,
|
|
98
|
+
display: display,
|
|
99
|
+
extensionKey: extensionKey,
|
|
100
|
+
id: id
|
|
101
|
+
},
|
|
102
|
+
hasPreviewPanel: hasPreviewPanel
|
|
76
103
|
};
|
|
77
104
|
}
|
|
78
105
|
};
|
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.extractPreviewClientAction = void 0;
|
|
7
7
|
var _extractInvokePreviewAction = require("../../action/extract-invoke-preview-action");
|
|
8
8
|
var extractPreviewClientAction = exports.extractPreviewClientAction = function extractPreviewClientAction(param) {
|
|
9
|
-
var
|
|
10
|
-
return
|
|
11
|
-
invokeAction: invokeAction
|
|
12
|
-
} : undefined;
|
|
9
|
+
var result = (0, _extractInvokePreviewAction.extractInvokePreviewAction)(param);
|
|
10
|
+
return result ? result : undefined;
|
|
13
11
|
};
|
|
@@ -22,7 +22,9 @@ var extractFlexibleCardActions = exports.extractFlexibleCardActions = function e
|
|
|
22
22
|
id = _ref.id,
|
|
23
23
|
origin = _ref.origin,
|
|
24
24
|
response = _ref.response,
|
|
25
|
-
url = _ref.url
|
|
25
|
+
url = _ref.url,
|
|
26
|
+
isPreviewPanelAvailable = _ref.isPreviewPanelAvailable,
|
|
27
|
+
openPreviewPanel = _ref.openPreviewPanel;
|
|
26
28
|
var action = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _constants.ActionName.CopyLinkAction, (0, _extractCopyLinkAction.extractCopyLinkClientAction)({
|
|
27
29
|
actionOptions: actionOptions,
|
|
28
30
|
appearance: appearance,
|
|
@@ -39,7 +41,9 @@ var extractFlexibleCardActions = exports.extractFlexibleCardActions = function e
|
|
|
39
41
|
fireEvent: fireEvent,
|
|
40
42
|
id: id,
|
|
41
43
|
origin: origin,
|
|
42
|
-
response: response
|
|
44
|
+
response: response,
|
|
45
|
+
isPreviewPanelAvailable: isPreviewPanelAvailable,
|
|
46
|
+
openPreviewPanel: openPreviewPanel
|
|
43
47
|
})), _constants.ActionName.AutomationAction, (0, _extractAutomationAction.extractAutomationAction)(response)), _constants.InternalActionName.AISummaryAction, (0, _extractAiSummaryAction.extractAISummaryAction)(response, url, actionOptions, aiSummaryConfig)), _constants.InternalActionName.ViewRelatedLinksAction, (0, _extractViewRelatedLinksAction.extractViewRelatedLinksAction)(response));
|
|
44
48
|
return Object.values(action).some(function (value) {
|
|
45
49
|
return Boolean(value);
|
|
@@ -28,8 +28,8 @@ var toInvokeRequest = function toInvokeRequest(extensionKey, resourceIdentifiers
|
|
|
28
28
|
details: details
|
|
29
29
|
};
|
|
30
30
|
};
|
|
31
|
-
var extractAction = function extractAction(response, id, actionOptions, appearance, origin, fireEvent, resolve) {
|
|
32
|
-
var _action$dataRetrieval, _action$dataUpdateAct;
|
|
31
|
+
var extractAction = function extractAction(response, id, actionOptions, appearance, origin, fireEvent, resolve, isPreviewPanelAvailable, openPreviewPanel) {
|
|
32
|
+
var _action$dataRetrieval, _extractInvokePreview, _action$dataUpdateAct;
|
|
33
33
|
var extensionKey = (0, _helpers.getExtensionKey)(response);
|
|
34
34
|
var data = response === null || response === void 0 ? void 0 : response.data;
|
|
35
35
|
var actions = (0, _extractServerAction.default)(data);
|
|
@@ -44,7 +44,7 @@ var extractAction = function extractAction(response, id, actionOptions, appearan
|
|
|
44
44
|
}
|
|
45
45
|
var read = toInvokeRequest(extensionKey, action.resourceIdentifiers, (_action$dataRetrieval = action.dataRetrievalAction) === null || _action$dataRetrieval === void 0 ? void 0 : _action$dataRetrieval.name);
|
|
46
46
|
var url = (0, _linkExtractors.extractLink)(data);
|
|
47
|
-
var invokePreviewAction = response ? (0, _extractInvokePreviewAction.extractInvokePreviewAction)({
|
|
47
|
+
var invokePreviewAction = response ? (_extractInvokePreview = (0, _extractInvokePreviewAction.extractInvokePreviewAction)({
|
|
48
48
|
actionOptions: actionOptions,
|
|
49
49
|
appearance: appearance,
|
|
50
50
|
fireEvent: fireEvent,
|
|
@@ -53,8 +53,10 @@ var extractAction = function extractAction(response, id, actionOptions, appearan
|
|
|
53
53
|
return url && resolve(url, true);
|
|
54
54
|
} : undefined,
|
|
55
55
|
origin: origin,
|
|
56
|
-
response: response
|
|
57
|
-
|
|
56
|
+
response: response,
|
|
57
|
+
isPreviewPanelAvailable: isPreviewPanelAvailable,
|
|
58
|
+
openPreviewPanel: openPreviewPanel
|
|
59
|
+
})) === null || _extractInvokePreview === void 0 ? void 0 : _extractInvokePreview.invokeAction : undefined;
|
|
58
60
|
var details = {
|
|
59
61
|
id: id,
|
|
60
62
|
url: url,
|
|
@@ -66,7 +68,7 @@ var extractAction = function extractAction(response, id, actionOptions, appearan
|
|
|
66
68
|
update: update
|
|
67
69
|
} : undefined;
|
|
68
70
|
};
|
|
69
|
-
var extractState = function extractState(response, actionOptions, id, appearance, origin, fireEvent, resolve) {
|
|
71
|
+
var extractState = function extractState(response, actionOptions, id, appearance, origin, fireEvent, resolve, isPreviewPanelAvailable, openPreviewPanel) {
|
|
70
72
|
if (!response || !response.data) {
|
|
71
73
|
return;
|
|
72
74
|
}
|
|
@@ -77,7 +79,7 @@ var extractState = function extractState(response, actionOptions, id, appearance
|
|
|
77
79
|
if (!(0, _canShowAction.canShowAction)(_types.CardAction.ChangeStatusAction, actionOptions)) {
|
|
78
80
|
return lozenge;
|
|
79
81
|
}
|
|
80
|
-
var action = extractAction(response, id, actionOptions, appearance, origin, fireEvent, resolve);
|
|
82
|
+
var action = extractAction(response, id, actionOptions, appearance, origin, fireEvent, resolve, isPreviewPanelAvailable, openPreviewPanel);
|
|
81
83
|
return _objectSpread(_objectSpread({}, lozenge), {}, {
|
|
82
84
|
action: action
|
|
83
85
|
});
|
|
@@ -20,7 +20,7 @@ var _icon = require("./icon");
|
|
|
20
20
|
var _extractProviderIcon = require("./icon/extract-provider-icon");
|
|
21
21
|
var _latestCommit = require("./latest-commit");
|
|
22
22
|
var _utils = require("./utils");
|
|
23
|
-
var _excluded = ["appearance", "fireEvent", "id", "onClick", "origin", "renderers", "resolve", "actionOptions", "response", "status", "aiSummaryConfig"];
|
|
23
|
+
var _excluded = ["appearance", "fireEvent", "id", "onClick", "origin", "renderers", "resolve", "actionOptions", "response", "status", "aiSummaryConfig", "isPreviewPanelAvailable", "openPreviewPanel"];
|
|
24
24
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
25
25
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26
26
|
var extractFlexibleUiContext = function extractFlexibleUiContext() {
|
|
@@ -36,6 +36,8 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
|
|
|
36
36
|
response = _ref.response,
|
|
37
37
|
status = _ref.status,
|
|
38
38
|
aiSummaryConfig = _ref.aiSummaryConfig,
|
|
39
|
+
isPreviewPanelAvailable = _ref.isPreviewPanelAvailable,
|
|
40
|
+
openPreviewPanel = _ref.openPreviewPanel,
|
|
39
41
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
40
42
|
if (!response) {
|
|
41
43
|
return undefined;
|
|
@@ -52,7 +54,10 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
|
|
|
52
54
|
id: id,
|
|
53
55
|
origin: origin,
|
|
54
56
|
response: response,
|
|
55
|
-
url: props.url
|
|
57
|
+
url: props.url,
|
|
58
|
+
// Use the original URL in edge cases, such as short links for AI summary and copy link actions.
|
|
59
|
+
isPreviewPanelAvailable: isPreviewPanelAvailable,
|
|
60
|
+
openPreviewPanel: openPreviewPanel
|
|
56
61
|
}),
|
|
57
62
|
appliedToComponentsCount: (0, _utils.extractAppliedToComponentsCount)(data),
|
|
58
63
|
assignedToGroup: (0, _utils.extractPersonAssignedToAsArray)(data),
|
|
@@ -85,7 +90,7 @@ var extractFlexibleUiContext = function extractFlexibleUiContext() {
|
|
|
85
90
|
snippet: (0, _extractSummary.extractSmartLinkSummary)(response) || undefined,
|
|
86
91
|
// Explicitly set here to remove an empty string
|
|
87
92
|
sourceBranch: (0, _utils.extractSourceBranch)(data),
|
|
88
|
-
state: (0, _extractState.default)(response, actionOptions, id, appearance, origin, fireEvent, resolve),
|
|
93
|
+
state: (0, _extractState.default)(response, actionOptions, id, appearance, origin, fireEvent, resolve, isPreviewPanelAvailable, openPreviewPanel),
|
|
89
94
|
subscriberCount: (0, _utils.extractSubscriberCount)(data),
|
|
90
95
|
subTasksProgress: (0, _utils.extractSubTasksProgress)(data),
|
|
91
96
|
storyPoints: (0, _utils.extractStoryPoints)(data),
|
package/dist/cjs/messages.js
CHANGED
|
@@ -390,6 +390,16 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
|
|
|
390
390
|
defaultMessage: 'Open preview',
|
|
391
391
|
description: 'Click to view a richer view of your content, without needing to navigate to it.'
|
|
392
392
|
},
|
|
393
|
+
preview_modal: {
|
|
394
|
+
id: 'fabric.linking.preview_modal',
|
|
395
|
+
defaultMessage: 'Open preview modal',
|
|
396
|
+
description: 'Button used to view a modal view of your content without needing to navigate to it.'
|
|
397
|
+
},
|
|
398
|
+
preview_panel: {
|
|
399
|
+
id: 'fabric.linking.preview_panel',
|
|
400
|
+
defaultMessage: 'Open preview panel',
|
|
401
|
+
description: 'Button used to view a side panel view of your content without needing to navigate to it.'
|
|
402
|
+
},
|
|
393
403
|
preview_close: {
|
|
394
404
|
id: 'fabric.linking.preview_close',
|
|
395
405
|
defaultMessage: 'Close preview',
|
|
@@ -814,5 +824,20 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
|
|
|
814
824
|
id: 'fabric.linking.unfollow_project_error-galaxia',
|
|
815
825
|
defaultMessage: 'We encountered an error while trying to unfollow the space. Check your connection or refresh the page and try again.',
|
|
816
826
|
description: 'Shown when an unknown error occurs when unfollowing an Atlas project'
|
|
827
|
+
},
|
|
828
|
+
connect_unauthorised_account_description_appify: {
|
|
829
|
+
id: 'fabric.linking.connect_unauthorised_account_description-appify',
|
|
830
|
+
defaultMessage: 'Connect your {context} account to collaborate on work across Atlassian apps.',
|
|
831
|
+
description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view.'
|
|
832
|
+
},
|
|
833
|
+
connect_unauthorised_account_description_no_provider_appify: {
|
|
834
|
+
id: 'fabric.linking.connect_unauthorised_account_description_no_provider-appify',
|
|
835
|
+
defaultMessage: 'Connect your account to collaborate on work across Atlassian apps.',
|
|
836
|
+
description: 'Shown when a user does not have access to a link, but can connect their external account to view the link on card view and we do not have the providers name.'
|
|
837
|
+
},
|
|
838
|
+
learn_more_about_connecting_account_appify: {
|
|
839
|
+
id: 'fabric.linking.learn_more_about_connecting_account-appify',
|
|
840
|
+
defaultMessage: 'Learn more about connecting your account to Atlassian apps.',
|
|
841
|
+
description: 'An anchor link to redirect user to a page about authorization with 3rd party accounts.'
|
|
817
842
|
}
|
|
818
843
|
});
|
|
@@ -8,6 +8,7 @@ exports.useSmartLinkActions = useSmartLinkActions;
|
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _react = require("react");
|
|
10
10
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
11
|
+
var _linkProvider = require("@atlaskit/link-provider");
|
|
11
12
|
var _useAnalyticsEvents2 = require("../../common/analytics/generated/use-analytics-events");
|
|
12
13
|
var _extractInvokeDownloadAction = require("../../extractors/action/extract-invoke-download-action");
|
|
13
14
|
var _extractInvokePreviewAction = require("../../extractors/action/extract-invoke-preview-action");
|
|
@@ -29,6 +30,9 @@ function useSmartLinkActions(_ref) {
|
|
|
29
30
|
var linkState = (0, _store.useSmartCardState)(url);
|
|
30
31
|
var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
|
|
31
32
|
fireEvent = _useAnalyticsEvents.fireEvent;
|
|
33
|
+
var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
|
|
34
|
+
isPreviewPanelAvailable = _useSmartLinkContext.isPreviewPanelAvailable,
|
|
35
|
+
openPreviewPanel = _useSmartLinkContext.openPreviewPanel;
|
|
32
36
|
var invokeClientAction = (0, _useInvokeClientAction.default)({
|
|
33
37
|
fireEvent: fireEvent
|
|
34
38
|
});
|
|
@@ -50,10 +54,12 @@ function useSmartLinkActions(_ref) {
|
|
|
50
54
|
}
|
|
51
55
|
var previewActionProps = (0, _extractInvokePreviewAction.extractInvokePreviewAction)(_objectSpread(_objectSpread({}, invokeParam), {}, {
|
|
52
56
|
fireEvent: fireEvent,
|
|
53
|
-
origin: origin
|
|
57
|
+
origin: origin,
|
|
58
|
+
isPreviewPanelAvailable: isPreviewPanelAvailable,
|
|
59
|
+
openPreviewPanel: openPreviewPanel
|
|
54
60
|
}));
|
|
55
61
|
if (previewActionProps) {
|
|
56
|
-
actions.push((0, _toAction.toAction)(previewActionProps, invokeClientAction, _messages.messages.preview_improved, 'preview-content'));
|
|
62
|
+
actions.push((0, _toAction.toAction)(previewActionProps.invokeAction, invokeClientAction, _messages.messages.preview_improved, 'preview-content'));
|
|
57
63
|
}
|
|
58
64
|
return actions;
|
|
59
65
|
}
|
|
@@ -11,7 +11,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
|
|
|
11
11
|
var context = exports.context = {
|
|
12
12
|
componentName: 'smart-cards',
|
|
13
13
|
packageName: "@atlaskit/smart-card",
|
|
14
|
-
packageVersion: "40.
|
|
14
|
+
packageVersion: "40.11.0"
|
|
15
15
|
};
|
|
16
16
|
var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
17
17
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
|
@@ -11,6 +11,8 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
11
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _reactIntlNext = require("react-intl-next");
|
|
13
13
|
var _growDiagonalMediaServicesActualSize = _interopRequireDefault(require("@atlaskit/icon/core/migration/grow-diagonal--media-services-actual-size"));
|
|
14
|
+
var _panelRight = _interopRequireDefault(require("@atlaskit/icon/core/panel-right"));
|
|
15
|
+
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
14
16
|
var _constants = require("../../../../../constants");
|
|
15
17
|
var _messages = require("../../../../../messages");
|
|
16
18
|
var _flexibleUiContext = require("../../../../../state/flexible-ui-context");
|
|
@@ -25,6 +27,7 @@ var PreviewAction = function PreviewAction(_ref) {
|
|
|
25
27
|
var context = (0, _flexibleUiContext.useFlexibleUiContext)();
|
|
26
28
|
var invoke = (0, _useInvokeClientAction.default)({});
|
|
27
29
|
var data = context === null || context === void 0 || (_context$actions = context.actions) === null || _context$actions === void 0 ? void 0 : _context$actions[_constants.ActionName.PreviewAction];
|
|
30
|
+
var hasPreviewPanel = data === null || data === void 0 ? void 0 : data.hasPreviewPanel;
|
|
28
31
|
var onClick = (0, _react.useCallback)(function () {
|
|
29
32
|
if (data !== null && data !== void 0 && data.invokeAction) {
|
|
30
33
|
invoke(data.invokeAction);
|
|
@@ -33,13 +36,35 @@ var PreviewAction = function PreviewAction(_ref) {
|
|
|
33
36
|
}, [data, invoke, onClickCallback]);
|
|
34
37
|
var isStackItem = props.as === 'stack-item';
|
|
35
38
|
var tooltipMessage = isStackItem ? _messages.messages.preview_description : _messages.messages.preview_improved;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
var actionIcon = (0, _react.useCallback)(function () {
|
|
40
|
+
// Only use panel icon if experiment is enabled and hasPreviewPanel is true
|
|
41
|
+
if ((0, _expValEquals.expValEquals)('platform_hover_card_preview_panel', 'cohort', 'test') && hasPreviewPanel) {
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(_panelRight.default, {
|
|
43
|
+
color: "currentColor",
|
|
44
|
+
spacing: "spacious",
|
|
45
|
+
label: "Open preview panel"
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_growDiagonalMediaServicesActualSize.default, {
|
|
39
49
|
color: "currentColor",
|
|
40
50
|
spacing: "spacious",
|
|
41
51
|
label: "Open preview"
|
|
42
|
-
})
|
|
52
|
+
});
|
|
53
|
+
}, [hasPreviewPanel]);
|
|
54
|
+
var actionLabel = (0, _react.useCallback)(function () {
|
|
55
|
+
// Only use panel message if experiment is enabled and hasPreviewPanel is true
|
|
56
|
+
if ((0, _expValEquals.expValEquals)('platform_hover_card_preview_panel', 'cohort', 'test') && hasPreviewPanel) {
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.preview_panel);
|
|
58
|
+
}
|
|
59
|
+
// Fall back to modal message if experiment is enabled, otherwise use original preview message
|
|
60
|
+
if ((0, _expValEquals.expValEquals)('platform_hover_card_preview_panel', 'cohort', 'test')) {
|
|
61
|
+
return /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.preview_modal);
|
|
62
|
+
}
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.preview_improved);
|
|
64
|
+
}, [hasPreviewPanel]);
|
|
65
|
+
return data ? /*#__PURE__*/_react.default.createElement(_action.default, (0, _extends2.default)({
|
|
66
|
+
content: actionLabel(),
|
|
67
|
+
icon: actionIcon(),
|
|
43
68
|
onClick: onClick,
|
|
44
69
|
testId: "smart-action-preview-action",
|
|
45
70
|
tooltipMessage: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, tooltipMessage),
|
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
var _linkProvider = require("@atlaskit/link-provider");
|
|
11
12
|
var _useAnalyticsEvents2 = require("../../common/analytics/generated/use-analytics-events");
|
|
12
13
|
var _constants = require("../../constants");
|
|
13
14
|
var _flexibleUiContext = require("../../state/flexible-ui-context");
|
|
@@ -43,6 +44,9 @@ var FlexibleCard = function FlexibleCard(_ref) {
|
|
|
43
44
|
url = _ref.url;
|
|
44
45
|
var aiSummaryConfig = (0, _useAiSummaryConfig.useAISummaryConfig)();
|
|
45
46
|
var resolve = (0, _useResolve.default)();
|
|
47
|
+
var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
|
|
48
|
+
isPreviewPanelAvailable = _useSmartLinkContext.isPreviewPanelAvailable,
|
|
49
|
+
openPreviewPanel = _useSmartLinkContext.openPreviewPanel;
|
|
46
50
|
var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
|
|
47
51
|
fireEvent = _useAnalyticsEvents.fireEvent;
|
|
48
52
|
var cardType = cardState.status,
|
|
@@ -62,9 +66,11 @@ var FlexibleCard = function FlexibleCard(_ref) {
|
|
|
62
66
|
resolve: resolve,
|
|
63
67
|
actionOptions: actionOptions,
|
|
64
68
|
status: status,
|
|
65
|
-
url: url
|
|
69
|
+
url: url,
|
|
70
|
+
isPreviewPanelAvailable: isPreviewPanelAvailable,
|
|
71
|
+
openPreviewPanel: openPreviewPanel
|
|
66
72
|
});
|
|
67
|
-
}, [aiSummaryConfig, appearance, fireEvent, details, id, onAuthorize, onClick, origin, renderers, resolve, actionOptions, status, url]);
|
|
73
|
+
}, [aiSummaryConfig, appearance, fireEvent, details, id, onAuthorize, onClick, origin, renderers, resolve, actionOptions, status, url, isPreviewPanelAvailable, openPreviewPanel]);
|
|
68
74
|
var flexibleCardContext = (0, _react.useMemo)(function () {
|
|
69
75
|
return {
|
|
70
76
|
data: context,
|
|
@@ -19,7 +19,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId", "isLink
|
|
|
19
19
|
_excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
|
|
20
20
|
var PACKAGE_DATA = {
|
|
21
21
|
packageName: "@atlaskit/smart-card",
|
|
22
|
-
packageVersion: "40.
|
|
22
|
+
packageVersion: "40.11.0",
|
|
23
23
|
componentName: 'linkUrl'
|
|
24
24
|
};
|
|
25
25
|
var Anchor = (0, _click.withLinkClickedEvent)('a');
|
|
@@ -9,6 +9,7 @@ exports.default = void 0;
|
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _reactIntlNext = require("react-intl-next");
|
|
12
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
12
13
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
13
14
|
var _useAnalyticsEvents2 = require("../../common/analytics/generated/use-analytics-events");
|
|
14
15
|
var _constants = require("../../constants");
|
|
@@ -28,12 +29,12 @@ var UnauthorisedViewContent = function UnauthorisedViewContent(_ref) {
|
|
|
28
29
|
var handleLearnMoreClick = (0, _react.useCallback)(function () {
|
|
29
30
|
fireEvent('ui.button.clicked.learnMore', {});
|
|
30
31
|
}, [fireEvent]);
|
|
31
|
-
var learnMoreMessage = isProductIntegrationSupported ? _messages.messages.learn_more_about_connecting_account : _messages.messages.learn_more_about_smart_links;
|
|
32
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, providerName ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages.connect_unauthorised_account_description, {
|
|
32
|
+
var learnMoreMessage = isProductIntegrationSupported ? (0, _platformFeatureFlags.fg)('product-terminology-refresh') ? _messages.messages.learn_more_about_connecting_account_appify : _messages.messages.learn_more_about_connecting_account : _messages.messages.learn_more_about_smart_links;
|
|
33
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, providerName ? /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, (0, _platformFeatureFlags.fg)('product-terminology-refresh') ? _messages.messages.connect_unauthorised_account_description_appify : _messages.messages.connect_unauthorised_account_description, {
|
|
33
34
|
values: {
|
|
34
35
|
context: providerName
|
|
35
36
|
}
|
|
36
|
-
})) : /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, _messages.messages.connect_unauthorised_account_description_no_provider), ' ', /*#__PURE__*/_react.default.createElement(_compiled.Anchor, {
|
|
37
|
+
})) : /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _platformFeatureFlags.fg)('product-terminology-refresh') ? _messages.messages.connect_unauthorised_account_description_no_provider_appify : _messages.messages.connect_unauthorised_account_description_no_provider), ' ', /*#__PURE__*/_react.default.createElement(_compiled.Anchor, {
|
|
37
38
|
href: isProductIntegrationSupported ? _constants.CONTENT_URL_3P_ACCOUNT_AUTH : _constants.CONTENT_URL_SECURITY_AND_PERMISSIONS,
|
|
38
39
|
target: "_blank",
|
|
39
40
|
testId: "".concat(testId, "-learn-more"),
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { extractPreview as extractPreviewData, extractSmartLinkEmbed, extractSmartLinkProvider, extractSmartLinkTitle, extractSmartLinkUrl } from '@atlaskit/link-extractors';
|
|
1
|
+
import { extractPreview as extractPreviewData, extractSmartLinkAri, extractSmartLinkEmbed, extractSmartLinkProvider, extractSmartLinkTitle, extractSmartLinkUrl } from '@atlaskit/link-extractors';
|
|
2
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
2
3
|
import { ActionName, CardAction } from '../../index';
|
|
3
4
|
import { getExtensionKey } from '../../state/helpers';
|
|
4
5
|
import { canShowAction } from '../../utils/actions/can-show-action';
|
|
@@ -17,41 +18,62 @@ export const extractInvokePreviewAction = param => {
|
|
|
17
18
|
onClose,
|
|
18
19
|
id,
|
|
19
20
|
origin,
|
|
20
|
-
response
|
|
21
|
+
response,
|
|
22
|
+
isPreviewPanelAvailable,
|
|
23
|
+
openPreviewPanel
|
|
21
24
|
} = param;
|
|
25
|
+
const ari = extractSmartLinkAri(response);
|
|
26
|
+
const url = extractSmartLinkUrl(response);
|
|
27
|
+
const name = extractSmartLinkTitle(response);
|
|
28
|
+
const hasPreviewPanelParams = Boolean(expValEquals('platform_hover_card_preview_panel', 'cohort', 'test') && isPreviewPanelAvailable && openPreviewPanel && ari && url && name);
|
|
29
|
+
const hasPreviewPanel = hasPreviewPanelParams && isPreviewPanelAvailable({
|
|
30
|
+
ari: ari
|
|
31
|
+
});
|
|
32
|
+
const data = response.data;
|
|
33
|
+
const meta = response.meta;
|
|
22
34
|
if (!canShowAction(CardAction.PreviewAction, actionOptions)) {
|
|
23
35
|
return;
|
|
24
36
|
}
|
|
25
|
-
const data = response.data;
|
|
26
|
-
const meta = response.meta;
|
|
27
37
|
const src = (_extractPreviewData = extractPreviewData(data, 'web')) === null || _extractPreviewData === void 0 ? void 0 : _extractPreviewData.src;
|
|
28
38
|
if (src) {
|
|
29
39
|
const extensionKey = getExtensionKey(response);
|
|
30
40
|
return {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
invokeAction: {
|
|
42
|
+
actionFn: async () => {
|
|
43
|
+
if (hasPreviewPanel) {
|
|
44
|
+
openPreviewPanel({
|
|
45
|
+
ari: ari,
|
|
46
|
+
url: url,
|
|
47
|
+
name: name,
|
|
48
|
+
iconUrl: undefined
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
var _extractSmartLinkProv, _extractSmartLinkEmbe;
|
|
52
|
+
await openEmbedModal({
|
|
53
|
+
fireEvent,
|
|
54
|
+
extensionKey,
|
|
55
|
+
id,
|
|
56
|
+
invokeDownloadAction: extractInvokeDownloadAction(param),
|
|
57
|
+
invokeViewAction: extractInvokeViewAction(param, true),
|
|
58
|
+
isSupportTheming: extractIsSupportTheming(meta),
|
|
59
|
+
isTrusted: extractIsTrusted(meta),
|
|
60
|
+
linkIcon: extractLinkIcon(response),
|
|
61
|
+
providerName: (_extractSmartLinkProv = extractSmartLinkProvider(response)) === null || _extractSmartLinkProv === void 0 ? void 0 : _extractSmartLinkProv.text,
|
|
62
|
+
onClose,
|
|
63
|
+
origin,
|
|
64
|
+
src: (_extractSmartLinkEmbe = extractSmartLinkEmbed(response)) === null || _extractSmartLinkEmbe === void 0 ? void 0 : _extractSmartLinkEmbe.src,
|
|
65
|
+
title: extractSmartLinkTitle(response),
|
|
66
|
+
url
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
actionSubjectId: 'invokePreviewScreen',
|
|
71
|
+
actionType: ActionName.PreviewAction,
|
|
72
|
+
display,
|
|
73
|
+
extensionKey,
|
|
74
|
+
id
|
|
49
75
|
},
|
|
50
|
-
|
|
51
|
-
actionType: ActionName.PreviewAction,
|
|
52
|
-
display,
|
|
53
|
-
extensionKey,
|
|
54
|
-
id
|
|
76
|
+
hasPreviewPanel: hasPreviewPanel
|
|
55
77
|
};
|
|
56
78
|
}
|
|
57
79
|
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { extractInvokePreviewAction } from '../../action/extract-invoke-preview-action';
|
|
2
2
|
export const extractPreviewClientAction = param => {
|
|
3
|
-
const
|
|
4
|
-
return
|
|
5
|
-
invokeAction
|
|
6
|
-
} : undefined;
|
|
3
|
+
const result = extractInvokePreviewAction(param);
|
|
4
|
+
return result ? result : undefined;
|
|
7
5
|
};
|
|
@@ -14,7 +14,9 @@ export const extractFlexibleCardActions = ({
|
|
|
14
14
|
id,
|
|
15
15
|
origin,
|
|
16
16
|
response,
|
|
17
|
-
url
|
|
17
|
+
url,
|
|
18
|
+
isPreviewPanelAvailable,
|
|
19
|
+
openPreviewPanel
|
|
18
20
|
}) => {
|
|
19
21
|
const action = {
|
|
20
22
|
[ActionName.CopyLinkAction]: extractCopyLinkClientAction({
|
|
@@ -36,7 +38,9 @@ export const extractFlexibleCardActions = ({
|
|
|
36
38
|
fireEvent,
|
|
37
39
|
id,
|
|
38
40
|
origin,
|
|
39
|
-
response
|
|
41
|
+
response,
|
|
42
|
+
isPreviewPanelAvailable,
|
|
43
|
+
openPreviewPanel
|
|
40
44
|
}),
|
|
41
45
|
[ActionName.AutomationAction]: extractAutomationAction(response),
|
|
42
46
|
[InternalActionName.AISummaryAction]: extractAISummaryAction(response, url, actionOptions, aiSummaryConfig),
|