@atlaskit/smart-card 38.8.0 → 38.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/cjs/utils/analytics/analytics.js +1 -1
- package/dist/cjs/view/BlockCard/index.js +4 -2
- package/dist/cjs/view/BlockCard/views/ResolvedView.js +3 -1
- package/dist/cjs/view/CardWithUrl/component.js +15 -10
- package/dist/cjs/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +3 -2
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/index.js +3 -1
- package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +4 -2
- package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +47 -15
- package/dist/cjs/view/FlexibleCard/components/elements/common/base-icon-element/index.js +7 -3
- package/dist/cjs/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-trigger/index.js +5 -3
- package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +2 -1
- package/dist/cjs/view/InlineCard/ErroredView/index.js +3 -3
- package/dist/cjs/view/LinkUrl/index.js +1 -1
- package/dist/es2019/utils/analytics/analytics.js +1 -1
- package/dist/es2019/view/BlockCard/index.js +4 -2
- package/dist/es2019/view/BlockCard/views/ResolvedView.js +3 -1
- package/dist/es2019/view/CardWithUrl/component.js +16 -11
- package/dist/es2019/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +3 -2
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/index.js +2 -0
- package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +3 -1
- package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +49 -22
- package/dist/es2019/view/FlexibleCard/components/elements/common/base-icon-element/index.js +7 -4
- package/dist/es2019/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-trigger/index.js +5 -3
- package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +2 -1
- package/dist/es2019/view/InlineCard/ErroredView/index.js +4 -4
- package/dist/es2019/view/LinkUrl/index.js +1 -1
- package/dist/esm/utils/analytics/analytics.js +1 -1
- package/dist/esm/view/BlockCard/index.js +4 -2
- package/dist/esm/view/BlockCard/views/ResolvedView.js +3 -1
- package/dist/esm/view/CardWithUrl/component.js +16 -11
- package/dist/esm/view/FlexibleCard/components/blocks/action-block/action-footer/index.js +3 -2
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/index.js +3 -1
- package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +4 -2
- package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +46 -14
- package/dist/esm/view/FlexibleCard/components/elements/common/base-icon-element/index.js +7 -3
- package/dist/esm/view/FlexibleCard/components/elements/common/base-lozenge-element/lozenge-action/lozenge-action-trigger/index.js +5 -3
- package/dist/esm/view/HoverCard/components/HoverCardComponent.js +2 -1
- package/dist/esm/view/InlineCard/ErroredView/index.js +4 -4
- package/dist/esm/view/LinkUrl/index.js +1 -1
- package/dist/types/ssr.d.ts +1 -0
- package/dist/types/view/BlockCard/index.d.ts +1 -1
- package/dist/types/view/BlockCard/types.d.ts +1 -0
- package/dist/types/view/BlockCard/views/types.d.ts +1 -1
- package/dist/types/view/CardWithUrl/types.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/blocks/title-block/index.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +4 -0
- package/dist/types/view/FlexibleCard/components/common/image-icon/index.d.ts +1 -1
- package/dist/types/view/FlexibleCard/components/common/image-icon/types.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/elements/common/base-icon-element/index.d.ts +5 -1
- package/dist/types/view/FlexibleCard/types.d.ts +4 -0
- package/dist/types-ts4.5/ssr.d.ts +1 -0
- package/dist/types-ts4.5/view/BlockCard/index.d.ts +1 -1
- package/dist/types-ts4.5/view/BlockCard/types.d.ts +1 -0
- package/dist/types-ts4.5/view/BlockCard/views/types.d.ts +1 -1
- package/dist/types-ts4.5/view/CardWithUrl/types.d.ts +1 -0
- package/dist/types-ts4.5/view/FlexibleCard/components/blocks/title-block/index.d.ts +1 -1
- package/dist/types-ts4.5/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +1 -1
- package/dist/types-ts4.5/view/FlexibleCard/components/blocks/types.d.ts +4 -0
- package/dist/types-ts4.5/view/FlexibleCard/components/common/image-icon/index.d.ts +1 -1
- package/dist/types-ts4.5/view/FlexibleCard/components/common/image-icon/types.d.ts +1 -0
- package/dist/types-ts4.5/view/FlexibleCard/components/elements/common/base-icon-element/index.d.ts +5 -1
- package/dist/types-ts4.5/view/FlexibleCard/types.d.ts +4 -0
- package/package.json +10 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# @atlaskit/smart-card
|
|
2
2
|
|
|
3
|
+
## 38.9.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#166270](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/166270)
|
|
8
|
+
[`231ec9798652d`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/231ec9798652d) -
|
|
9
|
+
[ux] Added hideIconLoadingSkeleton prop to CardSSR to allow for hiding the loading skeleton for
|
|
10
|
+
image icons in the title of block cards. Set to true in the renderer.
|
|
11
|
+
|
|
3
12
|
## 38.8.0
|
|
4
13
|
|
|
5
14
|
### Minor Changes
|
|
@@ -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: "38.
|
|
14
|
+
packageVersion: "38.9.0"
|
|
15
15
|
};
|
|
16
16
|
var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
17
17
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
|
@@ -30,7 +30,8 @@ var BlockCard = exports.BlockCard = function BlockCard(_ref) {
|
|
|
30
30
|
onError = _ref.onError,
|
|
31
31
|
testId = _ref.testId,
|
|
32
32
|
actionOptions = _ref.actionOptions,
|
|
33
|
-
CompetitorPrompt = _ref.CompetitorPrompt
|
|
33
|
+
CompetitorPrompt = _ref.CompetitorPrompt,
|
|
34
|
+
hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton;
|
|
34
35
|
var status = cardState.status;
|
|
35
36
|
var blockCardProps = {
|
|
36
37
|
id: id,
|
|
@@ -44,7 +45,8 @@ var BlockCard = exports.BlockCard = function BlockCard(_ref) {
|
|
|
44
45
|
onResolve: onResolve,
|
|
45
46
|
renderers: renderers,
|
|
46
47
|
actionOptions: actionOptions,
|
|
47
|
-
CompetitorPrompt: CompetitorPrompt
|
|
48
|
+
CompetitorPrompt: CompetitorPrompt,
|
|
49
|
+
hideIconLoadingSkeleton: hideIconLoadingSkeleton
|
|
48
50
|
};
|
|
49
51
|
var _useControlDataExport = (0, _useControlDataExportConfig.useControlDataExportConfig)(),
|
|
50
52
|
_useControlDataExport2 = _useControlDataExport.shouldControlDataExport,
|
|
@@ -42,7 +42,8 @@ var ResolvedView = function ResolvedView(_ref) {
|
|
|
42
42
|
_ref$testId = _ref.testId,
|
|
43
43
|
testId = _ref$testId === void 0 ? 'smart-block-resolved-view' : _ref$testId,
|
|
44
44
|
url = _ref.url,
|
|
45
|
-
CompetitorPrompt = _ref.CompetitorPrompt
|
|
45
|
+
CompetitorPrompt = _ref.CompetitorPrompt,
|
|
46
|
+
hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton;
|
|
46
47
|
var _useState = (0, _react.useState)(false),
|
|
47
48
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
48
49
|
isPreviewBlockErrored = _useState2[0],
|
|
@@ -100,6 +101,7 @@ var ResolvedView = function ResolvedView(_ref) {
|
|
|
100
101
|
}, {
|
|
101
102
|
CompetitorPrompt: CompetitorPrompt,
|
|
102
103
|
url: url,
|
|
104
|
+
hideIconLoadingSkeleton: hideIconLoadingSkeleton,
|
|
103
105
|
className: (0, _runtime.ax)([(0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v1') ? "_zulpu2gc _13mh1pd9 _2yhz14q2" : "_zulpcxkx _13mh1pd9"])
|
|
104
106
|
})), /*#__PURE__*/React.createElement(_blocks.MetadataBlock, (0, _extends2.default)({
|
|
105
107
|
primary: topMetadata,
|
|
@@ -50,7 +50,8 @@ function Component(_ref) {
|
|
|
50
50
|
removeTextHighlightingFromTitle = _ref.removeTextHighlightingFromTitle,
|
|
51
51
|
resolvingPlaceholder = _ref.resolvingPlaceholder,
|
|
52
52
|
truncateInline = _ref.truncateInline,
|
|
53
|
-
CompetitorPrompt = _ref.CompetitorPrompt
|
|
53
|
+
CompetitorPrompt = _ref.CompetitorPrompt,
|
|
54
|
+
hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton;
|
|
54
55
|
var _useAnalyticsEventsNe = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
55
56
|
createAnalyticsEvent = _useAnalyticsEventsNe.createAnalyticsEvent;
|
|
56
57
|
var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
|
|
@@ -80,12 +81,7 @@ function Component(_ref) {
|
|
|
80
81
|
|
|
81
82
|
// Setup UI handlers.
|
|
82
83
|
var handleClickWrapper = (0, _react.useCallback)(function (event) {
|
|
83
|
-
var isModifierKeyPressed = (0, _utils.
|
|
84
|
-
// Ctrl+left click on mac typically doesn't trigger onClick
|
|
85
|
-
// The event could have potentially had `e.preventDefault()` called on it by now
|
|
86
|
-
// event by smart card internally
|
|
87
|
-
// If it has been called then only then can `isModifierKeyPressed` be true.
|
|
88
|
-
var target = isModifierKeyPressed ? '_blank' : '_self';
|
|
84
|
+
var isModifierKeyPressed = (0, _utils.isSpecialKey)(event) || (0, _utils.isSpecialClick)(event);
|
|
89
85
|
fireEvent('ui.smartLink.clicked', {
|
|
90
86
|
id: id,
|
|
91
87
|
display: isFlexibleUi ? _constants.CardDisplay.Flexible : appearance,
|
|
@@ -97,9 +93,11 @@ function Component(_ref) {
|
|
|
97
93
|
// delegate the click to the glance panel handler
|
|
98
94
|
if (
|
|
99
95
|
// eslint-disable-next-line @atlaskit/platform/no-preconditioning
|
|
100
|
-
(0, _platformFeatureFlags.fg)('fun-1765_wire_up_glance_panel_to_smart_cards') &&
|
|
96
|
+
(0, _platformFeatureFlags.fg)('fun-1765_wire_up_glance_panel_to_smart_cards') && !isModifierKeyPressed && ari && openGlancePanel && isGlancePanelAvailable !== null && isGlancePanelAvailable !== void 0 && isGlancePanelAvailable({
|
|
101
97
|
ari: ari
|
|
102
|
-
})
|
|
98
|
+
})) {
|
|
99
|
+
event.preventDefault();
|
|
100
|
+
event.stopPropagation();
|
|
103
101
|
openGlancePanel({
|
|
104
102
|
url: url,
|
|
105
103
|
ari: ari,
|
|
@@ -113,6 +111,12 @@ function Component(_ref) {
|
|
|
113
111
|
});
|
|
114
112
|
} else if (!onClick && !isFlexibleUi) {
|
|
115
113
|
var clickUrl = (0, _helpers.getClickUrl)(url, state.details);
|
|
114
|
+
|
|
115
|
+
// Ctrl+left click on mac typically doesn't trigger onClick
|
|
116
|
+
// The event could have potentially had `e.preventDefault()` called on it by now
|
|
117
|
+
// event by smart card internally
|
|
118
|
+
// If it has been called then only then can `isSpecialEvent` be true.
|
|
119
|
+
var target = (0, _utils.isSpecialEvent)(event) ? '_blank' : '_self';
|
|
116
120
|
window.open(clickUrl, target);
|
|
117
121
|
(0, _click.fireLinkClickedEvent)(createAnalyticsEvent)(event, {
|
|
118
122
|
attributes: {
|
|
@@ -268,7 +272,8 @@ function Component(_ref) {
|
|
|
268
272
|
onError: onError,
|
|
269
273
|
testId: testId,
|
|
270
274
|
actionOptions: actionOptions,
|
|
271
|
-
CompetitorPrompt: CompetitorPrompt
|
|
275
|
+
CompetitorPrompt: CompetitorPrompt,
|
|
276
|
+
hideIconLoadingSkeleton: hideIconLoadingSkeleton
|
|
272
277
|
});
|
|
273
278
|
case 'embed':
|
|
274
279
|
return /*#__PURE__*/_react.default.createElement(_EmbedCard.EmbedCard, {
|
|
@@ -10,7 +10,7 @@ exports.ActionFooter = void 0;
|
|
|
10
10
|
require("./index.compiled.css");
|
|
11
11
|
var React = _interopRequireWildcard(require("react"));
|
|
12
12
|
var _runtime = require("@compiled/react/runtime");
|
|
13
|
-
var _error = _interopRequireDefault(require("@atlaskit/icon/
|
|
13
|
+
var _error = _interopRequireDefault(require("@atlaskit/icon/core/migration/error"));
|
|
14
14
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
15
15
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
16
16
|
var _motionWrapper = _interopRequireDefault(require("../../../common/motion-wrapper"));
|
|
@@ -31,7 +31,8 @@ var getIcon = function getIcon(appearance) {
|
|
|
31
31
|
label: "Error",
|
|
32
32
|
LEGACY_size: "small",
|
|
33
33
|
testId: "action-error-icon",
|
|
34
|
-
LEGACY_margin: "0 ".concat("var(--ds-space-negative-025, -2px)")
|
|
34
|
+
LEGACY_margin: "0 ".concat("var(--ds-space-negative-025, -2px)"),
|
|
35
|
+
size: "small"
|
|
35
36
|
});
|
|
36
37
|
default:
|
|
37
38
|
return null;
|
|
@@ -23,7 +23,7 @@ var _actionGroup = _interopRequireDefault(require("../action-group"));
|
|
|
23
23
|
var _errored = _interopRequireDefault(require("./errored"));
|
|
24
24
|
var _resolved = _interopRequireDefault(require("./resolved"));
|
|
25
25
|
var _resolving = _interopRequireDefault(require("./resolving"));
|
|
26
|
-
var _excluded = ["actions", "anchorTarget", "hideTitleTooltip", "maxLines", "onActionMenuOpenChange", "onClick", "status", "showActionOnHover", "testId", "text", "icon", "theme", "hideRetry", "metadataPosition", "hideIcon", "className", "anchorRef", "CompetitorPrompt", "url"];
|
|
26
|
+
var _excluded = ["actions", "anchorTarget", "hideTitleTooltip", "maxLines", "onActionMenuOpenChange", "onClick", "status", "showActionOnHover", "testId", "text", "icon", "theme", "hideRetry", "metadataPosition", "hideIcon", "className", "anchorRef", "CompetitorPrompt", "url", "hideIconLoadingSkeleton"];
|
|
27
27
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
28
|
var actionStyles = null;
|
|
29
29
|
var getTitleBlockViewComponent = function getTitleBlockViewComponent(status) {
|
|
@@ -80,6 +80,7 @@ var TitleBlock = function TitleBlock(_ref) {
|
|
|
80
80
|
anchorRef = _ref.anchorRef,
|
|
81
81
|
CompetitorPrompt = _ref.CompetitorPrompt,
|
|
82
82
|
url = _ref.url,
|
|
83
|
+
hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton,
|
|
83
84
|
props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
84
85
|
var cardContext = (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') ?
|
|
85
86
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
@@ -139,6 +140,7 @@ var TitleBlock = function TitleBlock(_ref) {
|
|
|
139
140
|
hideRetry: hideRetry
|
|
140
141
|
} : undefined, {
|
|
141
142
|
icon: icon,
|
|
143
|
+
hideIconLoadingSkeleton: hideIconLoadingSkeleton,
|
|
142
144
|
size: (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') ? (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : ui === null || ui === void 0 ? void 0 : ui.size : props === null || props === void 0 ? void 0 : props.size
|
|
143
145
|
}, (0, _platformFeatureFlags.fg)('platform-linking-flexible-card-context') ? undefined : {
|
|
144
146
|
theme: theme
|
|
@@ -19,7 +19,7 @@ var _elements = require("../../../elements");
|
|
|
19
19
|
var _block = _interopRequireDefault(require("../../block"));
|
|
20
20
|
var _elementGroup = _interopRequireDefault(require("../../element-group"));
|
|
21
21
|
var _utils = require("../../utils");
|
|
22
|
-
var _excluded = ["actionGroup", "metadata", "position", "subtitle", "testId", "text", "icon", "title", "metadataPosition", "hideIcon", "CompetitorPrompt", "url"];
|
|
22
|
+
var _excluded = ["actionGroup", "metadata", "position", "subtitle", "testId", "text", "icon", "title", "metadataPosition", "hideIcon", "CompetitorPrompt", "url", "hideIconLoadingSkeleton"];
|
|
23
23
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
24
24
|
var style = null;
|
|
25
25
|
var styles = {
|
|
@@ -46,6 +46,7 @@ var TitleBlockResolvedView = function TitleBlockResolvedView(_ref) {
|
|
|
46
46
|
hideIcon = _ref.hideIcon,
|
|
47
47
|
CompetitorPrompt = _ref.CompetitorPrompt,
|
|
48
48
|
url = _ref.url,
|
|
49
|
+
hideIconLoadingSkeleton = _ref.hideIconLoadingSkeleton,
|
|
49
50
|
blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
50
51
|
var size = blockProps.size;
|
|
51
52
|
var metadataElements = (0, _utils.renderElementItems)(metadata);
|
|
@@ -55,7 +56,8 @@ var TitleBlockResolvedView = function TitleBlockResolvedView(_ref) {
|
|
|
55
56
|
}), !hideIcon && /*#__PURE__*/React.createElement(_elements.LinkIcon, {
|
|
56
57
|
overrideIcon: icon,
|
|
57
58
|
position: position,
|
|
58
|
-
size: size
|
|
59
|
+
size: size,
|
|
60
|
+
hideLoadingSkeleton: hideIconLoadingSkeleton
|
|
59
61
|
}), /*#__PURE__*/React.createElement(_elementGroup.default, {
|
|
60
62
|
direction: _constants.SmartLinkDirection.Vertical,
|
|
61
63
|
width: _constants.SmartLinkWidth.Flexible,
|
|
@@ -8,8 +8,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
});
|
|
9
9
|
exports.default = void 0;
|
|
10
10
|
require("./index.compiled.css");
|
|
11
|
-
var
|
|
11
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
+
var React = _react;
|
|
12
13
|
var _runtime = require("@compiled/react/runtime");
|
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
15
|
var _reactRenderImage = _interopRequireDefault(require("react-render-image"));
|
|
14
16
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
15
17
|
var _loadingSkeleton = require("../loading-skeleton");
|
|
@@ -26,15 +28,23 @@ var ImageIcon = function ImageIcon(_ref) {
|
|
|
26
28
|
_ref$appearance = _ref.appearance,
|
|
27
29
|
appearance = _ref$appearance === void 0 ? 'square' : _ref$appearance,
|
|
28
30
|
onError = _ref.onError,
|
|
29
|
-
onLoad = _ref.onLoad
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
31
|
+
onLoad = _ref.onLoad,
|
|
32
|
+
_ref$hideLoadingSkele = _ref.hideLoadingSkeleton,
|
|
33
|
+
hideLoadingSkeleton = _ref$hideLoadingSkele === void 0 ? false : _ref$hideLoadingSkele;
|
|
34
|
+
var _useState = (0, _react.useState)(false),
|
|
35
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
|
+
hasImageErrored = _useState2[0],
|
|
37
|
+
setHasImageErrored = _useState2[1];
|
|
38
|
+
|
|
39
|
+
// If url changes, reset state
|
|
40
|
+
(0, _react.useEffect)(function () {
|
|
41
|
+
setHasImageErrored(false);
|
|
42
|
+
}, [url]);
|
|
43
|
+
if (hasImageErrored) {
|
|
44
|
+
return defaultIcon;
|
|
45
|
+
}
|
|
46
|
+
if (hideLoadingSkeleton && (0, _platformFeatureFlags.fg)('platform_fix_block_card_img_icon_vc')) {
|
|
47
|
+
return /*#__PURE__*/React.createElement("img", {
|
|
38
48
|
src: url,
|
|
39
49
|
"data-testid": "".concat(testId, "-image"),
|
|
40
50
|
alt: "",
|
|
@@ -42,11 +52,33 @@ var ImageIcon = function ImageIcon(_ref) {
|
|
|
42
52
|
width: width,
|
|
43
53
|
height: height
|
|
44
54
|
},
|
|
55
|
+
onError: function onError() {
|
|
56
|
+
return setHasImageErrored(true);
|
|
57
|
+
},
|
|
45
58
|
className: (0, _runtime.ax)([appearance === 'round' && (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && styles.roundImg])
|
|
46
|
-
})
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
59
|
+
});
|
|
60
|
+
} else {
|
|
61
|
+
return /*#__PURE__*/React.createElement(_reactRenderImage.default, {
|
|
62
|
+
src: url,
|
|
63
|
+
loading: /*#__PURE__*/React.createElement(_loadingSkeleton.LoadingSkeleton, {
|
|
64
|
+
testId: "".concat(testId, "-loading"),
|
|
65
|
+
width: width,
|
|
66
|
+
height: height
|
|
67
|
+
}),
|
|
68
|
+
loaded: /*#__PURE__*/React.createElement("img", {
|
|
69
|
+
src: url,
|
|
70
|
+
"data-testid": "".concat(testId, "-image"),
|
|
71
|
+
alt: "",
|
|
72
|
+
style: {
|
|
73
|
+
width: width,
|
|
74
|
+
height: height
|
|
75
|
+
},
|
|
76
|
+
className: (0, _runtime.ax)([appearance === 'round' && (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && styles.roundImg])
|
|
77
|
+
}),
|
|
78
|
+
errored: defaultIcon,
|
|
79
|
+
onError: onError,
|
|
80
|
+
onLoad: onLoad
|
|
81
|
+
});
|
|
82
|
+
}
|
|
51
83
|
};
|
|
52
84
|
var _default = exports.default = ImageIcon;
|
|
@@ -62,6 +62,7 @@ var renderDefaultIcon = function renderDefaultIcon(label, testId) {
|
|
|
62
62
|
var renderImageIcon = function renderImageIcon(defaultIcon, url, testId) {
|
|
63
63
|
var size = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : _constants.SmartLinkSize.Medium;
|
|
64
64
|
var appearance = arguments.length > 4 ? arguments[4] : undefined;
|
|
65
|
+
var hideLoadingSkeleton = arguments.length > 5 ? arguments[5] : undefined;
|
|
65
66
|
var width = size === _constants.SmartLinkSize.Large ? "var(--ds-space-300, 24px)" : "var(--ds-space-200, 16px)";
|
|
66
67
|
if (url) {
|
|
67
68
|
return /*#__PURE__*/React.createElement(_imageIcon.default, (0, _extends2.default)({
|
|
@@ -72,6 +73,8 @@ var renderImageIcon = function renderImageIcon(defaultIcon, url, testId) {
|
|
|
72
73
|
height: width
|
|
73
74
|
}, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') && {
|
|
74
75
|
appearance: appearance
|
|
76
|
+
}, {
|
|
77
|
+
hideLoadingSkeleton: hideLoadingSkeleton
|
|
75
78
|
}));
|
|
76
79
|
}
|
|
77
80
|
};
|
|
@@ -98,11 +101,12 @@ var IconElement = function IconElement(_ref) {
|
|
|
98
101
|
testId = _ref$testId === void 0 ? 'smart-element-icon' : _ref$testId,
|
|
99
102
|
url = _ref.url,
|
|
100
103
|
_ref$appearance = _ref.appearance,
|
|
101
|
-
appearance = _ref$appearance === void 0 ? 'square' : _ref$appearance
|
|
104
|
+
appearance = _ref$appearance === void 0 ? 'square' : _ref$appearance,
|
|
105
|
+
hideLoadingSkeleton = _ref.hideLoadingSkeleton;
|
|
102
106
|
var element = (0, _react.useMemo)(function () {
|
|
103
107
|
var defaultIcon = renderDefaultIcon(label, testId);
|
|
104
|
-
return overrideIcon || (render === null || render === void 0 ? void 0 : render()) || renderImageIcon(defaultIcon, url, testId, size, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') ? appearance : undefined) || renderAtlaskitIcon(icon, testId, size) || defaultIcon;
|
|
105
|
-
}, [label, testId, overrideIcon, render, url, size, appearance, icon]);
|
|
108
|
+
return overrideIcon || (render === null || render === void 0 ? void 0 : render()) || renderImageIcon(defaultIcon, url, testId, size, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v2') ? appearance : undefined, hideLoadingSkeleton) || renderAtlaskitIcon(icon, testId, size) || defaultIcon;
|
|
109
|
+
}, [label, testId, overrideIcon, render, url, size, appearance, hideLoadingSkeleton, icon]);
|
|
106
110
|
var width = (0, _utils2.getIconWidth)(size);
|
|
107
111
|
return /*#__PURE__*/React.createElement("div", (0, _extends2.default)({}, (0, _platformFeatureFlags.fg)('platform-linking-visual-refresh-v1') ? {} : (0, _defineProperty2.default)({}, 'data-fit-to-content', true), {
|
|
108
112
|
"data-smart-element": name,
|
|
@@ -15,7 +15,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
15
15
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
16
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
17
|
var _react2 = require("@compiled/react");
|
|
18
|
-
var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/
|
|
18
|
+
var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/core/migration/chevron-down"));
|
|
19
19
|
var _linkingCommon = require("@atlaskit/linking-common");
|
|
20
20
|
var _lozenge = _interopRequireDefault(require("@atlaskit/lozenge"));
|
|
21
21
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
@@ -61,7 +61,8 @@ var LozengeActionTriggerOld = function LozengeActionTriggerOld(_ref) {
|
|
|
61
61
|
color: "currentColor",
|
|
62
62
|
label: "options",
|
|
63
63
|
LEGACY_size: "medium",
|
|
64
|
-
LEGACY_margin: "-4px -8px -4px -7px"
|
|
64
|
+
LEGACY_margin: "-4px -8px -4px -7px",
|
|
65
|
+
size: "small"
|
|
65
66
|
}))));
|
|
66
67
|
}, [appearance, isBold, text]);
|
|
67
68
|
return /*#__PURE__*/React.createElement("button", (0, _extends2.default)({
|
|
@@ -151,7 +152,8 @@ var LozengeActionTrigger = function LozengeActionTrigger(_ref2) {
|
|
|
151
152
|
color: "currentColor",
|
|
152
153
|
label: "options",
|
|
153
154
|
LEGACY_size: "medium",
|
|
154
|
-
LEGACY_margin: "-4px -8px -4px -7px"
|
|
155
|
+
LEGACY_margin: "-4px -8px -4px -7px",
|
|
156
|
+
size: "small"
|
|
155
157
|
})))));
|
|
156
158
|
}, [appearance, isHovering, isPressing, text, isOpen, lozengeBackgroundColor, lozengeForegroundColor]);
|
|
157
159
|
return /*#__PURE__*/React.createElement("button", (0, _extends2.default)({
|
|
@@ -241,6 +241,7 @@ var HoverCardComponent = exports.HoverCardComponent = function HoverCardComponen
|
|
|
241
241
|
label: label
|
|
242
242
|
// @ts-ignore: [PIT-1685] Fails in post-office due to backwards incompatibility issue with React 18
|
|
243
243
|
,
|
|
244
|
-
popupComponent: _CustomPopupContainer.default
|
|
244
|
+
popupComponent: _CustomPopupContainer.default,
|
|
245
|
+
shouldRenderToParent: (0, _platformFeatureFlags.fg)('should-render-to-parent-should-be-true-linking-pla')
|
|
245
246
|
});
|
|
246
247
|
};
|
|
@@ -12,7 +12,6 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
12
12
|
var _reactIntlNext = require("react-intl-next");
|
|
13
13
|
var _button = _interopRequireDefault(require("@atlaskit/button"));
|
|
14
14
|
var _error = _interopRequireDefault(require("@atlaskit/icon/core/migration/error"));
|
|
15
|
-
var _error2 = _interopRequireDefault(require("@atlaskit/icon/utility/migration/error"));
|
|
16
15
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
17
16
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
18
17
|
var _messages = require("../../../messages");
|
|
@@ -37,11 +36,12 @@ var fallbackIcon = function fallbackIcon() {
|
|
|
37
36
|
return /*#__PURE__*/_react.default.createElement(_compiled.Box, {
|
|
38
37
|
as: "span",
|
|
39
38
|
xcss: styles.iconWrapper
|
|
40
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_error.default, {
|
|
41
40
|
color: "var(--ds-icon-danger, #C9372C)",
|
|
42
41
|
label: "error",
|
|
43
42
|
LEGACY_size: "small",
|
|
44
|
-
testId: "errored-view-default-icon"
|
|
43
|
+
testId: "errored-view-default-icon",
|
|
44
|
+
size: "small"
|
|
45
45
|
}));
|
|
46
46
|
};
|
|
47
47
|
var InlineCardErroredView = exports.InlineCardErroredView = function InlineCardErroredView(_ref) {
|
|
@@ -20,7 +20,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId", "isLink
|
|
|
20
20
|
_excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
|
|
21
21
|
var PACKAGE_DATA = {
|
|
22
22
|
packageName: "@atlaskit/smart-card",
|
|
23
|
-
packageVersion: "38.
|
|
23
|
+
packageVersion: "38.9.0",
|
|
24
24
|
componentName: 'linkUrl'
|
|
25
25
|
};
|
|
26
26
|
var Anchor = (0, _click.withLinkClickedEvent)('a');
|
|
@@ -2,7 +2,7 @@ export const ANALYTICS_CHANNEL = 'media';
|
|
|
2
2
|
export const context = {
|
|
3
3
|
componentName: 'smart-cards',
|
|
4
4
|
packageName: "@atlaskit/smart-card",
|
|
5
|
-
packageVersion: "38.
|
|
5
|
+
packageVersion: "38.9.0"
|
|
6
6
|
};
|
|
7
7
|
export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
|
|
8
8
|
TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
|
|
@@ -23,7 +23,8 @@ export const BlockCard = ({
|
|
|
23
23
|
onError,
|
|
24
24
|
testId,
|
|
25
25
|
actionOptions,
|
|
26
|
-
CompetitorPrompt
|
|
26
|
+
CompetitorPrompt,
|
|
27
|
+
hideIconLoadingSkeleton
|
|
27
28
|
}) => {
|
|
28
29
|
const {
|
|
29
30
|
status
|
|
@@ -38,7 +39,8 @@ export const BlockCard = ({
|
|
|
38
39
|
onResolve,
|
|
39
40
|
renderers,
|
|
40
41
|
actionOptions,
|
|
41
|
-
CompetitorPrompt
|
|
42
|
+
CompetitorPrompt,
|
|
43
|
+
hideIconLoadingSkeleton
|
|
42
44
|
};
|
|
43
45
|
const {
|
|
44
46
|
shouldControlDataExport = false
|
|
@@ -31,7 +31,8 @@ const ResolvedView = ({
|
|
|
31
31
|
actionOptions,
|
|
32
32
|
testId = 'smart-block-resolved-view',
|
|
33
33
|
url,
|
|
34
|
-
CompetitorPrompt
|
|
34
|
+
CompetitorPrompt,
|
|
35
|
+
hideIconLoadingSkeleton
|
|
35
36
|
}) => {
|
|
36
37
|
const [isPreviewBlockErrored, setIsPreviewBlockErrored] = useState(false);
|
|
37
38
|
const {
|
|
@@ -84,6 +85,7 @@ const ResolvedView = ({
|
|
|
84
85
|
}, {
|
|
85
86
|
CompetitorPrompt: CompetitorPrompt,
|
|
86
87
|
url: url,
|
|
88
|
+
hideIconLoadingSkeleton: hideIconLoadingSkeleton,
|
|
87
89
|
className: ax([fg('platform-linking-visual-refresh-v1') ? "_zulpu2gc _13mh1pd9 _2yhz14q2" : "_zulpcxkx _13mh1pd9"])
|
|
88
90
|
})), /*#__PURE__*/React.createElement(MetadataBlock, _extends({
|
|
89
91
|
primary: topMetadata,
|
|
@@ -7,7 +7,7 @@ import { useSmartLink } from '../../state';
|
|
|
7
7
|
import { succeedUfoExperience } from '../../state/analytics';
|
|
8
8
|
import { getClickUrl, getDefinitionId, getExtensionKey, getObjectAri, getObjectIconUrl, getObjectName, getResourceType, getServices, isFinalState } from '../../state/helpers';
|
|
9
9
|
import { SmartLinkModalProvider } from '../../state/modal';
|
|
10
|
-
import { isSpecialEvent } from '../../utils';
|
|
10
|
+
import { isSpecialClick, isSpecialEvent, isSpecialKey } from '../../utils';
|
|
11
11
|
import { combineActionOptions } from '../../utils/actions/combine-action-options';
|
|
12
12
|
import { fireLinkClickedEvent } from '../../utils/analytics/click';
|
|
13
13
|
import { SmartLinkAnalyticsContext } from '../../utils/analytics/SmartLinkAnalyticsContext';
|
|
@@ -41,7 +41,8 @@ function Component({
|
|
|
41
41
|
removeTextHighlightingFromTitle,
|
|
42
42
|
resolvingPlaceholder,
|
|
43
43
|
truncateInline,
|
|
44
|
-
CompetitorPrompt
|
|
44
|
+
CompetitorPrompt,
|
|
45
|
+
hideIconLoadingSkeleton
|
|
45
46
|
}) {
|
|
46
47
|
const {
|
|
47
48
|
createAnalyticsEvent
|
|
@@ -73,12 +74,7 @@ function Component({
|
|
|
73
74
|
|
|
74
75
|
// Setup UI handlers.
|
|
75
76
|
const handleClickWrapper = useCallback(event => {
|
|
76
|
-
const isModifierKeyPressed =
|
|
77
|
-
// Ctrl+left click on mac typically doesn't trigger onClick
|
|
78
|
-
// The event could have potentially had `e.preventDefault()` called on it by now
|
|
79
|
-
// event by smart card internally
|
|
80
|
-
// If it has been called then only then can `isModifierKeyPressed` be true.
|
|
81
|
-
const target = isModifierKeyPressed ? '_blank' : '_self';
|
|
77
|
+
const isModifierKeyPressed = isSpecialKey(event) || isSpecialClick(event);
|
|
82
78
|
fireEvent('ui.smartLink.clicked', {
|
|
83
79
|
id,
|
|
84
80
|
display: isFlexibleUi ? CardDisplay.Flexible : appearance,
|
|
@@ -90,9 +86,11 @@ function Component({
|
|
|
90
86
|
// delegate the click to the glance panel handler
|
|
91
87
|
if (
|
|
92
88
|
// eslint-disable-next-line @atlaskit/platform/no-preconditioning
|
|
93
|
-
fg('fun-1765_wire_up_glance_panel_to_smart_cards') &&
|
|
89
|
+
fg('fun-1765_wire_up_glance_panel_to_smart_cards') && !isModifierKeyPressed && ari && openGlancePanel && isGlancePanelAvailable !== null && isGlancePanelAvailable !== void 0 && isGlancePanelAvailable({
|
|
94
90
|
ari
|
|
95
|
-
})
|
|
91
|
+
})) {
|
|
92
|
+
event.preventDefault();
|
|
93
|
+
event.stopPropagation();
|
|
96
94
|
openGlancePanel({
|
|
97
95
|
url,
|
|
98
96
|
ari,
|
|
@@ -106,6 +104,12 @@ function Component({
|
|
|
106
104
|
});
|
|
107
105
|
} else if (!onClick && !isFlexibleUi) {
|
|
108
106
|
const clickUrl = getClickUrl(url, state.details);
|
|
107
|
+
|
|
108
|
+
// Ctrl+left click on mac typically doesn't trigger onClick
|
|
109
|
+
// The event could have potentially had `e.preventDefault()` called on it by now
|
|
110
|
+
// event by smart card internally
|
|
111
|
+
// If it has been called then only then can `isSpecialEvent` be true.
|
|
112
|
+
const target = isSpecialEvent(event) ? '_blank' : '_self';
|
|
109
113
|
window.open(clickUrl, target);
|
|
110
114
|
fireLinkClickedEvent(createAnalyticsEvent)(event, {
|
|
111
115
|
attributes: {
|
|
@@ -257,7 +261,8 @@ function Component({
|
|
|
257
261
|
onError: onError,
|
|
258
262
|
testId: testId,
|
|
259
263
|
actionOptions: actionOptions,
|
|
260
|
-
CompetitorPrompt: CompetitorPrompt
|
|
264
|
+
CompetitorPrompt: CompetitorPrompt,
|
|
265
|
+
hideIconLoadingSkeleton: hideIconLoadingSkeleton
|
|
261
266
|
});
|
|
262
267
|
case 'embed':
|
|
263
268
|
return /*#__PURE__*/React.createElement(EmbedCard, {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import "./index.compiled.css";
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { ax, ix } from "@compiled/react/runtime";
|
|
5
|
-
import ErrorIcon from '@atlaskit/icon/
|
|
5
|
+
import ErrorIcon from '@atlaskit/icon/core/migration/error';
|
|
6
6
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
7
|
import { Box, Inline } from '@atlaskit/primitives/compiled';
|
|
8
8
|
import MotionWrapper from '../../../common/motion-wrapper';
|
|
@@ -22,7 +22,8 @@ const getIcon = appearance => {
|
|
|
22
22
|
label: "Error",
|
|
23
23
|
LEGACY_size: "small",
|
|
24
24
|
testId: "action-error-icon",
|
|
25
|
-
LEGACY_margin: `0 ${"var(--ds-space-negative-025, -2px)"}
|
|
25
|
+
LEGACY_margin: `0 ${"var(--ds-space-negative-025, -2px)"}`,
|
|
26
|
+
size: "small"
|
|
26
27
|
});
|
|
27
28
|
default:
|
|
28
29
|
return null;
|
|
@@ -63,6 +63,7 @@ const TitleBlock = ({
|
|
|
63
63
|
anchorRef,
|
|
64
64
|
CompetitorPrompt,
|
|
65
65
|
url,
|
|
66
|
+
hideIconLoadingSkeleton,
|
|
66
67
|
...props
|
|
67
68
|
}) => {
|
|
68
69
|
var _props$size;
|
|
@@ -121,6 +122,7 @@ const TitleBlock = ({
|
|
|
121
122
|
hideRetry
|
|
122
123
|
} : undefined, {
|
|
123
124
|
icon: icon,
|
|
125
|
+
hideIconLoadingSkeleton: hideIconLoadingSkeleton,
|
|
124
126
|
size: fg('platform-linking-flexible-card-context') ? (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : ui === null || ui === void 0 ? void 0 : ui.size : props === null || props === void 0 ? void 0 : props.size
|
|
125
127
|
}, fg('platform-linking-flexible-card-context') ? undefined : {
|
|
126
128
|
theme
|
|
@@ -33,6 +33,7 @@ const TitleBlockResolvedView = ({
|
|
|
33
33
|
hideIcon,
|
|
34
34
|
CompetitorPrompt,
|
|
35
35
|
url,
|
|
36
|
+
hideIconLoadingSkeleton,
|
|
36
37
|
...blockProps
|
|
37
38
|
}) => {
|
|
38
39
|
const {
|
|
@@ -45,7 +46,8 @@ const TitleBlockResolvedView = ({
|
|
|
45
46
|
}), !hideIcon && /*#__PURE__*/React.createElement(LinkIcon, {
|
|
46
47
|
overrideIcon: icon,
|
|
47
48
|
position: position,
|
|
48
|
-
size: size
|
|
49
|
+
size: size,
|
|
50
|
+
hideLoadingSkeleton: hideIconLoadingSkeleton
|
|
49
51
|
}), /*#__PURE__*/React.createElement(ElementGroup, {
|
|
50
52
|
direction: SmartLinkDirection.Vertical,
|
|
51
53
|
width: SmartLinkWidth.Flexible,
|