@atlaskit/smart-card 19.1.15 → 19.1.18
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 +25 -0
- package/dist/cjs/extractors/block/index.js +2 -1
- package/dist/cjs/extractors/common/actions/extractPreviewAction.js +2 -1
- package/dist/cjs/i18n/cs.js +29 -115
- package/dist/cjs/i18n/da.js +31 -116
- package/dist/cjs/i18n/de.js +30 -116
- package/dist/cjs/i18n/en.js +29 -115
- package/dist/cjs/i18n/en_GB.js +29 -115
- package/dist/cjs/i18n/en_ZZ.js +10 -129
- package/dist/cjs/i18n/es.js +29 -115
- package/dist/cjs/i18n/fi.js +29 -115
- package/dist/cjs/i18n/fr.js +30 -116
- package/dist/cjs/i18n/hu.js +30 -116
- package/dist/cjs/i18n/it.js +29 -115
- package/dist/cjs/i18n/ja.js +29 -115
- package/dist/cjs/i18n/ko.js +29 -115
- package/dist/cjs/i18n/nb.js +30 -116
- package/dist/cjs/i18n/nl.js +29 -115
- package/dist/cjs/i18n/pl.js +30 -116
- package/dist/cjs/i18n/pt_BR.js +29 -115
- package/dist/cjs/i18n/ru.js +30 -116
- package/dist/cjs/i18n/sv.js +29 -115
- package/dist/cjs/i18n/th.js +29 -115
- package/dist/cjs/i18n/tr.js +30 -116
- package/dist/cjs/i18n/uk.js +29 -115
- package/dist/cjs/i18n/vi.js +29 -115
- package/dist/cjs/i18n/zh.js +30 -116
- package/dist/cjs/i18n/zh_TW.js +29 -115
- package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +12 -12
- package/dist/cjs/state/hooks-external/useSmartLinkActions.js +2 -1
- package/dist/cjs/utils/analytics/analytics.js +8 -4
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/CardWithUrl/component-lazy/LazyFallback.js +4 -2
- package/dist/cjs/view/CardWithUrl/loader.js +4 -2
- package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +3 -2
- package/dist/cjs/view/HoverCard/components/hover-card-content.js +125 -0
- package/dist/cjs/view/HoverCard/index.js +22 -89
- package/dist/cjs/view/HoverCard/utils.js +3 -1
- package/dist/cjs/view/LinkView/index.js +1 -1
- package/dist/es2019/extractors/block/index.js +2 -1
- package/dist/es2019/extractors/common/actions/extractPreviewAction.js +2 -2
- package/dist/es2019/i18n/cs.js +29 -115
- package/dist/es2019/i18n/da.js +31 -116
- package/dist/es2019/i18n/de.js +30 -116
- package/dist/es2019/i18n/en.js +29 -115
- package/dist/es2019/i18n/en_GB.js +29 -115
- package/dist/es2019/i18n/en_ZZ.js +10 -129
- package/dist/es2019/i18n/es.js +29 -115
- package/dist/es2019/i18n/fi.js +29 -115
- package/dist/es2019/i18n/fr.js +30 -116
- package/dist/es2019/i18n/hu.js +30 -116
- package/dist/es2019/i18n/it.js +29 -115
- package/dist/es2019/i18n/ja.js +29 -115
- package/dist/es2019/i18n/ko.js +29 -115
- package/dist/es2019/i18n/nb.js +30 -116
- package/dist/es2019/i18n/nl.js +29 -115
- package/dist/es2019/i18n/pl.js +30 -116
- package/dist/es2019/i18n/pt_BR.js +29 -115
- package/dist/es2019/i18n/ru.js +30 -116
- package/dist/es2019/i18n/sv.js +29 -115
- package/dist/es2019/i18n/th.js +29 -115
- package/dist/es2019/i18n/tr.js +30 -116
- package/dist/es2019/i18n/uk.js +29 -115
- package/dist/es2019/i18n/vi.js +29 -115
- package/dist/es2019/i18n/zh.js +30 -116
- package/dist/es2019/i18n/zh_TW.js +29 -115
- package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +4 -4
- package/dist/es2019/state/hooks-external/useSmartLinkActions.js +2 -1
- package/dist/es2019/utils/analytics/analytics.js +8 -4
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/CardWithUrl/component-lazy/LazyFallback.js +13 -9
- package/dist/es2019/view/CardWithUrl/loader.js +4 -2
- package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +3 -2
- package/dist/es2019/view/HoverCard/components/hover-card-content.js +85 -0
- package/dist/es2019/view/HoverCard/index.js +23 -78
- package/dist/es2019/view/HoverCard/utils.js +1 -0
- package/dist/es2019/view/LinkView/index.js +1 -1
- package/dist/esm/extractors/block/index.js +2 -1
- package/dist/esm/extractors/common/actions/extractPreviewAction.js +2 -1
- package/dist/esm/i18n/cs.js +29 -115
- package/dist/esm/i18n/da.js +31 -116
- package/dist/esm/i18n/de.js +30 -116
- package/dist/esm/i18n/en.js +29 -115
- package/dist/esm/i18n/en_GB.js +29 -115
- package/dist/esm/i18n/en_ZZ.js +10 -129
- package/dist/esm/i18n/es.js +29 -115
- package/dist/esm/i18n/fi.js +29 -115
- package/dist/esm/i18n/fr.js +30 -116
- package/dist/esm/i18n/hu.js +30 -116
- package/dist/esm/i18n/it.js +29 -115
- package/dist/esm/i18n/ja.js +29 -115
- package/dist/esm/i18n/ko.js +29 -115
- package/dist/esm/i18n/nb.js +30 -116
- package/dist/esm/i18n/nl.js +29 -115
- package/dist/esm/i18n/pl.js +30 -116
- package/dist/esm/i18n/pt_BR.js +29 -115
- package/dist/esm/i18n/ru.js +30 -116
- package/dist/esm/i18n/sv.js +29 -115
- package/dist/esm/i18n/th.js +29 -115
- package/dist/esm/i18n/tr.js +30 -116
- package/dist/esm/i18n/uk.js +29 -115
- package/dist/esm/i18n/vi.js +29 -115
- package/dist/esm/i18n/zh.js +30 -116
- package/dist/esm/i18n/zh_TW.js +29 -115
- package/dist/esm/state/analytics/useSmartLinkAnalytics.js +12 -12
- package/dist/esm/state/hooks-external/useSmartLinkActions.js +2 -1
- package/dist/esm/utils/analytics/analytics.js +8 -4
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/CardWithUrl/component-lazy/LazyFallback.js +4 -2
- package/dist/esm/view/CardWithUrl/loader.js +4 -2
- package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +3 -2
- package/dist/esm/view/HoverCard/components/hover-card-content.js +99 -0
- package/dist/esm/view/HoverCard/index.js +25 -87
- package/dist/esm/view/HoverCard/utils.js +1 -0
- package/dist/esm/view/LinkView/index.js +1 -1
- package/dist/types/extractors/block/types.d.ts +2 -0
- package/dist/types/extractors/common/actions/extractPreviewAction.d.ts +2 -1
- package/dist/types/i18n/cs.d.ts +28 -114
- package/dist/types/i18n/da.d.ts +28 -113
- package/dist/types/i18n/de.d.ts +28 -114
- package/dist/types/i18n/en.d.ts +28 -114
- package/dist/types/i18n/en_GB.d.ts +28 -114
- package/dist/types/i18n/en_ZZ.d.ts +9 -128
- package/dist/types/i18n/es.d.ts +28 -114
- package/dist/types/i18n/fi.d.ts +28 -114
- package/dist/types/i18n/fr.d.ts +28 -114
- package/dist/types/i18n/hu.d.ts +28 -114
- package/dist/types/i18n/it.d.ts +28 -114
- package/dist/types/i18n/ja.d.ts +28 -114
- package/dist/types/i18n/ko.d.ts +28 -114
- package/dist/types/i18n/nb.d.ts +28 -114
- package/dist/types/i18n/nl.d.ts +28 -114
- package/dist/types/i18n/pl.d.ts +28 -114
- package/dist/types/i18n/pt_BR.d.ts +28 -114
- package/dist/types/i18n/ru.d.ts +28 -114
- package/dist/types/i18n/sv.d.ts +28 -114
- package/dist/types/i18n/th.d.ts +28 -114
- package/dist/types/i18n/tr.d.ts +28 -114
- package/dist/types/i18n/uk.d.ts +28 -114
- package/dist/types/i18n/vi.d.ts +28 -114
- package/dist/types/i18n/zh.d.ts +28 -114
- package/dist/types/i18n/zh_TW.d.ts +28 -114
- package/dist/types/state/actions/index.d.ts +2 -1
- package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +2 -2
- package/dist/types/state/hooks/useSmartLink.d.ts +3 -3
- package/dist/types/state/hooks-external/useSmartLinkActions.d.ts +2 -2
- package/dist/types/utils/analytics/analytics.d.ts +4 -4
- package/dist/types/view/Card/index.d.ts +1 -1
- package/dist/types/view/Card/types.d.ts +1 -0
- package/dist/types/view/CardWithUrl/types.d.ts +1 -0
- package/dist/types/view/FlexibleCard/components/elements/date-time/types.d.ts +4 -0
- package/dist/types/view/HoverCard/components/hover-card-content.d.ts +4 -0
- package/dist/types/view/HoverCard/types.d.ts +12 -0
- package/dist/types/view/HoverCard/utils.d.ts +1 -0
- package/dist/types/view/LinkView/index.d.ts +4 -1
- package/package.json +1 -1
|
@@ -205,13 +205,14 @@ export var uiCardClickedEvent = function uiCardClickedEvent(id, display, status,
|
|
|
205
205
|
})
|
|
206
206
|
};
|
|
207
207
|
};
|
|
208
|
-
export var uiActionClickedEvent = function uiActionClickedEvent(actionType, extensionKey, display) {
|
|
208
|
+
export var uiActionClickedEvent = function uiActionClickedEvent(id, actionType, extensionKey, display) {
|
|
209
209
|
return {
|
|
210
210
|
action: 'clicked',
|
|
211
211
|
actionSubject: 'button',
|
|
212
212
|
actionSubjectId: uiActionSubjectIds[actionType],
|
|
213
213
|
eventType: 'ui',
|
|
214
214
|
attributes: _objectSpread(_objectSpread({}, context), {}, {
|
|
215
|
+
id: id,
|
|
215
216
|
display: display,
|
|
216
217
|
extensionKey: extensionKey || '',
|
|
217
218
|
actionType: actionType
|
|
@@ -265,12 +266,13 @@ export var uiRenderFailedEvent = function uiRenderFailedEvent(display, error, er
|
|
|
265
266
|
}
|
|
266
267
|
};
|
|
267
268
|
};
|
|
268
|
-
export var uiHoverCardViewedEvent = function uiHoverCardViewedEvent(previewDisplay, definitionId, extensionKey, previewInvokeMethod) {
|
|
269
|
+
export var uiHoverCardViewedEvent = function uiHoverCardViewedEvent(id, previewDisplay, definitionId, extensionKey, previewInvokeMethod) {
|
|
269
270
|
return {
|
|
270
271
|
action: 'viewed',
|
|
271
272
|
actionSubject: 'hoverCard',
|
|
272
273
|
eventType: 'ui',
|
|
273
274
|
attributes: _objectSpread(_objectSpread({}, context), {}, {
|
|
275
|
+
id: id,
|
|
274
276
|
definitionId: definitionId || '',
|
|
275
277
|
extensionKey: extensionKey || '',
|
|
276
278
|
previewDisplay: previewDisplay,
|
|
@@ -278,12 +280,13 @@ export var uiHoverCardViewedEvent = function uiHoverCardViewedEvent(previewDispl
|
|
|
278
280
|
})
|
|
279
281
|
};
|
|
280
282
|
};
|
|
281
|
-
export var uiHoverCardDismissedEvent = function uiHoverCardDismissedEvent(previewDisplay, hoverTime, definitionId, extensionKey, previewInvokeMethod) {
|
|
283
|
+
export var uiHoverCardDismissedEvent = function uiHoverCardDismissedEvent(id, previewDisplay, hoverTime, definitionId, extensionKey, previewInvokeMethod) {
|
|
282
284
|
return {
|
|
283
285
|
action: 'dismissed',
|
|
284
286
|
actionSubject: 'hoverCard',
|
|
285
287
|
eventType: 'ui',
|
|
286
288
|
attributes: _objectSpread(_objectSpread({}, context), {}, {
|
|
289
|
+
id: id,
|
|
287
290
|
definitionId: definitionId || '',
|
|
288
291
|
extensionKey: extensionKey || '',
|
|
289
292
|
hoverTime: hoverTime,
|
|
@@ -292,13 +295,14 @@ export var uiHoverCardDismissedEvent = function uiHoverCardDismissedEvent(previe
|
|
|
292
295
|
})
|
|
293
296
|
};
|
|
294
297
|
};
|
|
295
|
-
export var uiHoverCardOpenLinkClickedEvent = function uiHoverCardOpenLinkClickedEvent(previewDisplay, definitionId, extensionKey, previewInvokeMethod) {
|
|
298
|
+
export var uiHoverCardOpenLinkClickedEvent = function uiHoverCardOpenLinkClickedEvent(id, previewDisplay, definitionId, extensionKey, previewInvokeMethod) {
|
|
296
299
|
return {
|
|
297
300
|
action: 'clicked',
|
|
298
301
|
actionSubject: 'button',
|
|
299
302
|
actionSubjectId: 'shortcutGoToLink',
|
|
300
303
|
eventType: 'ui',
|
|
301
304
|
attributes: _objectSpread(_objectSpread({}, context), {}, {
|
|
305
|
+
id: id,
|
|
302
306
|
definitionId: definitionId || '',
|
|
303
307
|
extensionKey: extensionKey || '',
|
|
304
308
|
previewDisplay: previewDisplay,
|
package/dist/esm/version.json
CHANGED
|
@@ -3,13 +3,15 @@ import { CardLinkView } from '../../../view/LinkView';
|
|
|
3
3
|
export var loadingPlaceholderClassName = 'smart-link-loading-placeholder';
|
|
4
4
|
export var LoadingCardLink = function LoadingCardLink(_ref) {
|
|
5
5
|
var isSelected = _ref.isSelected,
|
|
6
|
-
url = _ref.url
|
|
6
|
+
url = _ref.url,
|
|
7
|
+
placeholder = _ref.placeholder;
|
|
7
8
|
return /*#__PURE__*/React.createElement(CardLinkView, {
|
|
8
9
|
key: 'lazy-render-key',
|
|
9
10
|
testId: 'lazy-render-placeholder',
|
|
10
11
|
"data-trello-do-not-use-override": "lazy-render-placeholder-trello",
|
|
11
12
|
isSelected: isSelected,
|
|
12
13
|
link: url,
|
|
13
|
-
className: loadingPlaceholderClassName
|
|
14
|
+
className: loadingPlaceholderClassName,
|
|
15
|
+
placeholder: placeholder
|
|
14
16
|
});
|
|
15
17
|
};
|
|
@@ -42,7 +42,8 @@ export function CardWithURLRenderer(props) {
|
|
|
42
42
|
children = props.children,
|
|
43
43
|
ui = props.ui,
|
|
44
44
|
showHoverPreview = props.showHoverPreview,
|
|
45
|
-
analyticsEvents = props.analyticsEvents
|
|
45
|
+
analyticsEvents = props.analyticsEvents,
|
|
46
|
+
placeholder = props.placeholder; // Wrapper around analytics.
|
|
46
47
|
|
|
47
48
|
var dispatchAnalytics = useCallback(function (analyticsPayload) {
|
|
48
49
|
if (analyticsPayload && analyticsPayload.attributes) {
|
|
@@ -100,7 +101,8 @@ export function CardWithURLRenderer(props) {
|
|
|
100
101
|
inlinePreloaderStyle: inlinePreloaderStyle,
|
|
101
102
|
ui: ui,
|
|
102
103
|
showHoverPreview: showHoverPreview,
|
|
103
|
-
analyticsEvents: analyticsEvents
|
|
104
|
+
analyticsEvents: analyticsEvents,
|
|
105
|
+
placeholder: placeholder
|
|
104
106
|
};
|
|
105
107
|
return /*#__PURE__*/React.createElement(ErrorBoundary, {
|
|
106
108
|
FallbackComponent: ErrorFallback,
|
|
@@ -35,7 +35,8 @@ var DateTime = function DateTime(_ref) {
|
|
|
35
35
|
overrideCss = _ref.overrideCss,
|
|
36
36
|
type = _ref.type,
|
|
37
37
|
_ref$testId = _ref.testId,
|
|
38
|
-
testId = _ref$testId === void 0 ? 'smart-element-date-time' : _ref$testId
|
|
38
|
+
testId = _ref$testId === void 0 ? 'smart-element-date-time' : _ref$testId,
|
|
39
|
+
text = _ref.text;
|
|
39
40
|
|
|
40
41
|
var _useIntl = useIntl(),
|
|
41
42
|
formatRelativeTime = _useIntl.formatRelativeTime,
|
|
@@ -72,7 +73,7 @@ var DateTime = function DateTime(_ref) {
|
|
|
72
73
|
"data-separator": true,
|
|
73
74
|
"data-smart-element-date-time": true,
|
|
74
75
|
"data-testid": testId
|
|
75
|
-
}, jsx(FormattedMessage, _extends({}, typeToDescriptorMap[type][typeVariant], {
|
|
76
|
+
}, text ? "".concat(text, " ").concat(context) : jsx(FormattedMessage, _extends({}, typeToDescriptorMap[type][typeVariant], {
|
|
76
77
|
values: {
|
|
77
78
|
context: context
|
|
78
79
|
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useMemo } from 'react';
|
|
2
|
+
import { extractMetadata } from '../../../extractors/hover/extractMetadata';
|
|
3
|
+
import { getSimulatedMetadata, HOVER_CARD_ANALYTICS_DISPLAY } from '../utils';
|
|
4
|
+
import extractPreview from '../../../extractors/flexible/extract-preview';
|
|
5
|
+
import { ActionName, SmartLinkSize, SmartLinkTheme } from '../../../constants';
|
|
6
|
+
import FlexibleCard from '../../FlexibleCard';
|
|
7
|
+
import { FooterBlock, MetadataBlock, PreviewBlock, SnippetBlock, TitleBlock } from '../../FlexibleCard/components/blocks';
|
|
8
|
+
import { isSpecialEvent } from '../../../utils';
|
|
9
|
+
import ShortcutIcon from '@atlaskit/icon/glyph/shortcut';
|
|
10
|
+
import { getExtensionKey } from '../../../state/helpers';
|
|
11
|
+
var flexibleUiOptions = {
|
|
12
|
+
hideElevation: true,
|
|
13
|
+
size: SmartLinkSize.Large,
|
|
14
|
+
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
15
|
+
theme: SmartLinkTheme.Black
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var getOpenAction = function getOpenAction(url, analytics) {
|
|
19
|
+
return {
|
|
20
|
+
name: ActionName.CustomAction,
|
|
21
|
+
icon: /*#__PURE__*/React.createElement(ShortcutIcon, {
|
|
22
|
+
label: "open in new tab",
|
|
23
|
+
size: "medium"
|
|
24
|
+
}),
|
|
25
|
+
iconPosition: 'before',
|
|
26
|
+
onClick: function onClick() {
|
|
27
|
+
window.open(url, '_blank');
|
|
28
|
+
analytics.ui.hoverCardOpenLinkClickedEvent('card');
|
|
29
|
+
},
|
|
30
|
+
testId: 'hover-card-open-button'
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
var toFooterActions = function toFooterActions(cardActions) {
|
|
35
|
+
return cardActions.map(function (action) {
|
|
36
|
+
return {
|
|
37
|
+
content: action.text,
|
|
38
|
+
name: ActionName.CustomAction,
|
|
39
|
+
onClick: function onClick() {
|
|
40
|
+
return action.invoke();
|
|
41
|
+
},
|
|
42
|
+
testId: action.id
|
|
43
|
+
};
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var HoverCardContent = function HoverCardContent(_ref) {
|
|
48
|
+
var _cardState$details;
|
|
49
|
+
|
|
50
|
+
var analytics = _ref.analytics,
|
|
51
|
+
_ref$cardActions = _ref.cardActions,
|
|
52
|
+
cardActions = _ref$cardActions === void 0 ? [] : _ref$cardActions,
|
|
53
|
+
cardState = _ref.cardState,
|
|
54
|
+
onResolve = _ref.onResolve,
|
|
55
|
+
renderers = _ref.renderers,
|
|
56
|
+
url = _ref.url;
|
|
57
|
+
useEffect(function () {
|
|
58
|
+
// Since hover preview only render on resolved status,
|
|
59
|
+
// there is no need to check for statuses.
|
|
60
|
+
analytics.ui.renderSuccessEvent(HOVER_CARD_ANALYTICS_DISPLAY, cardState.status);
|
|
61
|
+
}, [analytics.ui, cardState.status]);
|
|
62
|
+
var extensionKey = useMemo(function () {
|
|
63
|
+
return getExtensionKey(cardState.details);
|
|
64
|
+
}, [cardState.details]);
|
|
65
|
+
var onClick = useCallback(function (event) {
|
|
66
|
+
var isModifierKeyPressed = isSpecialEvent(event);
|
|
67
|
+
analytics.ui.cardClickedEvent(undefined, HOVER_CARD_ANALYTICS_DISPLAY, cardState.status, undefined, undefined, isModifierKeyPressed);
|
|
68
|
+
}, [cardState.status, analytics.ui]);
|
|
69
|
+
var titleActions = useMemo(function () {
|
|
70
|
+
return [getOpenAction(url, analytics)];
|
|
71
|
+
}, [url, analytics]);
|
|
72
|
+
var footerActions = useMemo(function () {
|
|
73
|
+
return toFooterActions(cardActions);
|
|
74
|
+
}, [cardActions]); //TODO: EDM-3224 deleted simulated and use real JsonLd
|
|
75
|
+
|
|
76
|
+
var _extractMetadata = extractMetadata(getSimulatedMetadata(extensionKey)),
|
|
77
|
+
primary = _extractMetadata.primary,
|
|
78
|
+
secondary = _extractMetadata.secondary;
|
|
79
|
+
|
|
80
|
+
var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
|
|
81
|
+
var body = data && extractPreview(data) ? /*#__PURE__*/React.createElement(PreviewBlock, null) : /*#__PURE__*/React.createElement(SnippetBlock, null);
|
|
82
|
+
return /*#__PURE__*/React.createElement(FlexibleCard, {
|
|
83
|
+
cardState: cardState,
|
|
84
|
+
onClick: onClick,
|
|
85
|
+
onResolve: onResolve,
|
|
86
|
+
renderers: renderers,
|
|
87
|
+
ui: flexibleUiOptions,
|
|
88
|
+
url: url
|
|
89
|
+
}, /*#__PURE__*/React.createElement(TitleBlock, {
|
|
90
|
+
actions: titleActions
|
|
91
|
+
}), /*#__PURE__*/React.createElement(MetadataBlock, {
|
|
92
|
+
primary: primary,
|
|
93
|
+
secondary: secondary
|
|
94
|
+
}), body, /*#__PURE__*/React.createElement(FooterBlock, {
|
|
95
|
+
actions: footerActions
|
|
96
|
+
}));
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export default HoverCardContent;
|
|
@@ -3,22 +3,17 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
3
3
|
|
|
4
4
|
/** @jsx jsx */
|
|
5
5
|
import { jsx } from '@emotion/core';
|
|
6
|
-
import React, { useCallback, useRef
|
|
7
|
-
import { TitleBlock, SnippetBlock, FooterBlock, MetadataBlock, PreviewBlock } from '../FlexibleCard/components/blocks';
|
|
8
|
-
import { Card } from '../Card';
|
|
6
|
+
import React, { useCallback, useRef } from 'react';
|
|
9
7
|
import Popup from '@atlaskit/popup';
|
|
10
|
-
import { SmartLinkSize, ActionName, SmartLinkTheme } from '../../constants';
|
|
11
8
|
import { useSmartLinkActions } from '../../state/hooks-external/useSmartLinkActions';
|
|
12
9
|
import { HoverCardContainer } from './styled';
|
|
13
|
-
import
|
|
14
|
-
import { withAnalyticsEvents, withAnalyticsContext } from '@atlaskit/analytics-next';
|
|
10
|
+
import { withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
15
11
|
import { fireSmartLinkEvent } from '../../utils/analytics';
|
|
16
12
|
import { useSmartCardState as useLinkState } from '../../state/store';
|
|
17
13
|
import { useSmartLinkAnalytics } from '../../state/analytics';
|
|
18
|
-
import {
|
|
19
|
-
import
|
|
20
|
-
import {
|
|
21
|
-
import extractPreview from '../../extractors/flexible/extract-preview';
|
|
14
|
+
import { useSmartLinkRenderers } from '../../state/renderers';
|
|
15
|
+
import HoverCardContent from './components/hover-card-content';
|
|
16
|
+
import { HOVER_CARD_ANALYTICS_DISPLAY } from './utils';
|
|
22
17
|
export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
23
18
|
var children = _ref.children,
|
|
24
19
|
id = _ref.id,
|
|
@@ -37,14 +32,9 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
37
32
|
var fadeOutTimeoutId = useRef();
|
|
38
33
|
var fadeInTimeoutId = useRef();
|
|
39
34
|
var cardOpenTime = useRef();
|
|
35
|
+
var renderers = useSmartLinkRenderers();
|
|
40
36
|
var linkState = useLinkState(url);
|
|
41
37
|
var analytics = useSmartLinkAnalytics(url, analyticsHandler, id);
|
|
42
|
-
var extensionKey = useMemo(function () {
|
|
43
|
-
return getExtensionKey(linkState.details);
|
|
44
|
-
}, [linkState]);
|
|
45
|
-
var definitionId = useMemo(function () {
|
|
46
|
-
return getDefinitionId(linkState.details);
|
|
47
|
-
}, [linkState]);
|
|
48
38
|
var initHideCard = useCallback(function () {
|
|
49
39
|
if (fadeInTimeoutId.current) {
|
|
50
40
|
clearTimeout(fadeInTimeoutId.current);
|
|
@@ -54,12 +44,12 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
54
44
|
//Check its previously open to avoid firing events when moving between the child and hover card components
|
|
55
45
|
if (isOpen === true && cardOpenTime.current) {
|
|
56
46
|
var hoverTime = Date.now() - cardOpenTime.current;
|
|
57
|
-
analytics.ui.hoverCardDismissedEvent('card', hoverTime,
|
|
47
|
+
analytics.ui.hoverCardDismissedEvent('card', hoverTime, 'mouse_hover');
|
|
58
48
|
}
|
|
59
49
|
|
|
60
50
|
setIsOpen(false);
|
|
61
51
|
}, delay);
|
|
62
|
-
}, [delay, isOpen,
|
|
52
|
+
}, [delay, isOpen, analytics.ui]);
|
|
63
53
|
var initShowCard = useCallback(function () {
|
|
64
54
|
if (fadeOutTimeoutId.current) {
|
|
65
55
|
clearTimeout(fadeOutTimeoutId.current);
|
|
@@ -69,78 +59,17 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
69
59
|
//Check if its previously closed to avoid firing events when moving between the child and hover card components
|
|
70
60
|
if (isOpen === false) {
|
|
71
61
|
cardOpenTime.current = Date.now();
|
|
72
|
-
analytics.ui.hoverCardViewedEvent('card',
|
|
62
|
+
analytics.ui.hoverCardViewedEvent('card', 'mouse_hover');
|
|
73
63
|
}
|
|
74
64
|
|
|
75
65
|
setIsOpen(true);
|
|
76
66
|
}, delay);
|
|
77
|
-
}, [delay, isOpen,
|
|
67
|
+
}, [delay, isOpen, analytics.ui]);
|
|
78
68
|
var linkActions = useSmartLinkActions({
|
|
79
69
|
url: url,
|
|
80
|
-
appearance:
|
|
70
|
+
appearance: HOVER_CARD_ANALYTICS_DISPLAY,
|
|
81
71
|
analyticsHandler: analyticsHandler
|
|
82
72
|
});
|
|
83
|
-
var smartlinkActions = useMemo(function () {
|
|
84
|
-
return linkActions.map(function (action) {
|
|
85
|
-
return {
|
|
86
|
-
content: action.text,
|
|
87
|
-
name: ActionName.CustomAction,
|
|
88
|
-
onClick: function onClick() {
|
|
89
|
-
return action.invoke();
|
|
90
|
-
},
|
|
91
|
-
testId: action.id
|
|
92
|
-
};
|
|
93
|
-
});
|
|
94
|
-
}, [linkActions]);
|
|
95
|
-
var openAction = useMemo(function () {
|
|
96
|
-
return {
|
|
97
|
-
name: ActionName.CustomAction,
|
|
98
|
-
icon: jsx(ShortcutIcon, {
|
|
99
|
-
label: "open in new tab",
|
|
100
|
-
size: "medium"
|
|
101
|
-
}),
|
|
102
|
-
iconPosition: 'before',
|
|
103
|
-
onClick: function onClick() {
|
|
104
|
-
window.open(url, '_blank');
|
|
105
|
-
analytics.ui.hoverCardOpenLinkClickedEvent('card', definitionId, extensionKey);
|
|
106
|
-
},
|
|
107
|
-
testId: 'hover-card-open-button'
|
|
108
|
-
};
|
|
109
|
-
}, [url, definitionId, extensionKey, analytics]);
|
|
110
|
-
|
|
111
|
-
var CardComponent = function CardComponent(_ref2) {
|
|
112
|
-
var _linkState$details;
|
|
113
|
-
|
|
114
|
-
var update = _ref2.update;
|
|
115
|
-
//TODO: EDM-3224 deleted simulated and use real JsonLd
|
|
116
|
-
var metadataElements = extractMetadata(getSimulatedMetadata(extensionKey));
|
|
117
|
-
var linkData = (_linkState$details = linkState.details) === null || _linkState$details === void 0 ? void 0 : _linkState$details.data;
|
|
118
|
-
var content = extractPreview(linkData) ? jsx(PreviewBlock, null) : jsx(SnippetBlock, null);
|
|
119
|
-
return jsx("div", {
|
|
120
|
-
onMouseEnter: initShowCard,
|
|
121
|
-
onMouseLeave: initHideCard,
|
|
122
|
-
css: HoverCardContainer
|
|
123
|
-
}, jsx(Card, {
|
|
124
|
-
id: id,
|
|
125
|
-
appearance: "block",
|
|
126
|
-
url: url,
|
|
127
|
-
ui: {
|
|
128
|
-
hideElevation: true,
|
|
129
|
-
size: SmartLinkSize.Large,
|
|
130
|
-
// eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage
|
|
131
|
-
theme: SmartLinkTheme.Black
|
|
132
|
-
},
|
|
133
|
-
onResolve: update
|
|
134
|
-
}, jsx(TitleBlock, {
|
|
135
|
-
actions: [openAction]
|
|
136
|
-
}), jsx(MetadataBlock, {
|
|
137
|
-
primary: metadataElements.primary,
|
|
138
|
-
secondary: metadataElements.secondary
|
|
139
|
-
}), content, jsx(FooterBlock, {
|
|
140
|
-
actions: smartlinkActions
|
|
141
|
-
})));
|
|
142
|
-
};
|
|
143
|
-
|
|
144
73
|
var onClose = useCallback(function () {
|
|
145
74
|
return setIsOpen(false);
|
|
146
75
|
}, []);
|
|
@@ -149,11 +78,20 @@ export var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
149
78
|
isOpen: isOpen,
|
|
150
79
|
onClose: onClose,
|
|
151
80
|
placement: "bottom-start",
|
|
152
|
-
content: function content(
|
|
153
|
-
var update =
|
|
154
|
-
return jsx(
|
|
155
|
-
|
|
156
|
-
|
|
81
|
+
content: function content(_ref2) {
|
|
82
|
+
var update = _ref2.update;
|
|
83
|
+
return jsx("div", {
|
|
84
|
+
onMouseEnter: initShowCard,
|
|
85
|
+
onMouseLeave: initHideCard,
|
|
86
|
+
css: HoverCardContainer
|
|
87
|
+
}, jsx(HoverCardContent, {
|
|
88
|
+
analytics: analytics,
|
|
89
|
+
cardActions: linkActions,
|
|
90
|
+
cardState: linkState,
|
|
91
|
+
onResolve: update,
|
|
92
|
+
renderers: renderers,
|
|
93
|
+
url: url
|
|
94
|
+
}));
|
|
157
95
|
},
|
|
158
96
|
trigger: function trigger(triggerProps) {
|
|
159
97
|
return jsx("span", _extends({}, triggerProps, {
|
|
@@ -27,7 +27,7 @@ export var CardLinkView = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
27
27
|
value: function render() {
|
|
28
28
|
return /*#__PURE__*/React.createElement(Frame, _extends({
|
|
29
29
|
withoutBackground: true
|
|
30
|
-
}, this.props), this.props.link);
|
|
30
|
+
}, this.props), this.props.placeholder || this.props.link);
|
|
31
31
|
}
|
|
32
32
|
}]);
|
|
33
33
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { InvokeHandler } from '../../model/invoke-handler';
|
|
2
2
|
import { AnalyticsHandler } from '../../utils/types';
|
|
3
|
+
import { CardInnerAppearance } from '../../view/Card/types';
|
|
3
4
|
export interface ExtractBlockOpts {
|
|
4
5
|
handleInvoke: InvokeHandler;
|
|
5
6
|
handleAnalytics: AnalyticsHandler;
|
|
6
7
|
extensionKey?: string;
|
|
8
|
+
source?: CardInnerAppearance;
|
|
7
9
|
testId?: string;
|
|
8
10
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JsonLd } from 'json-ld-types';
|
|
2
2
|
import { InvokeHandler } from '../../../model/invoke-handler';
|
|
3
|
+
import { CardInnerAppearance } from '../../../view/Card/types';
|
|
3
4
|
import { AnalyticsHandler } from '../../../utils/types';
|
|
4
5
|
import { BlockCardResolvedViewProps } from '../../../view/BlockCard';
|
|
5
|
-
export declare const extractPreviewAction: (extensionKey: string | undefined, viewProps: BlockCardResolvedViewProps, jsonLd: JsonLd.Data.BaseData, handleInvoke: InvokeHandler, handleAnalytics: AnalyticsHandler, testId?: string | undefined, platform?: JsonLd.Primitives.Platforms | undefined) => import("../../../view/BlockCard/components/Action").ActionProps | undefined;
|
|
6
|
+
export declare const extractPreviewAction: (extensionKey: string | undefined, viewProps: BlockCardResolvedViewProps, jsonLd: JsonLd.Data.BaseData, handleInvoke: InvokeHandler, handleAnalytics: AnalyticsHandler, testId?: string | undefined, platform?: JsonLd.Primitives.Platforms | undefined, source?: CardInnerAppearance | undefined) => import("../../../view/BlockCard/components/Action").ActionProps | undefined;
|
package/dist/types/i18n/cs.d.ts
CHANGED
|
@@ -1,152 +1,66 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
|
-
'fabric.linking.cannot_connect': string;
|
|
3
|
-
'fabric.linking.cannot_find_link': string;
|
|
4
|
-
'fabric.linking.join_to_view': string;
|
|
5
|
-
'fabric.linking.create_on': string;
|
|
6
|
-
'fabric.linking.created_by': string;
|
|
7
|
-
'fabric.linking.delete': string;
|
|
8
|
-
'fabric.linking.edit': string;
|
|
9
|
-
'fabric.linking.forbidden_access': string;
|
|
10
|
-
'fabric.linking.restricted_link': string;
|
|
11
|
-
'fabric.linking.modified_on': string;
|
|
12
|
-
'fabric.linking.pending_request': string;
|
|
13
|
-
'fabric.linking.priority_blocker': string;
|
|
14
|
-
'fabric.linking.priority_critical': string;
|
|
15
|
-
'fabric.linking.priority_high': string;
|
|
16
|
-
'fabric.linking.priority_highest': string;
|
|
17
|
-
'fabric.linking.priority_low': string;
|
|
18
|
-
'fabric.linking.priority_lowest': string;
|
|
19
|
-
'fabric.linking.priority_major': string;
|
|
20
|
-
'fabric.linking.priority_medium': string;
|
|
21
|
-
'fabric.linking.priority_minor': string;
|
|
22
|
-
'fabric.linking.priority_trivial': string;
|
|
23
|
-
'fabric.linking.priority_undefined': string;
|
|
24
|
-
'fabric.linking.request_access_to_view': string;
|
|
25
|
-
'fabric.linking.request_denied': string;
|
|
26
|
-
'fabric.linking.updated_by': string;
|
|
27
|
-
'fabric.linking.accounts': string;
|
|
28
2
|
'fabric.linking.actions': string;
|
|
29
3
|
'fabric.linking.add_account': string;
|
|
30
|
-
'fabric.linking.annotate': string;
|
|
31
|
-
'fabric.linking.annotate.confirmation.close.anyway': string;
|
|
32
|
-
'fabric.linking.annotate.confirmation.content': string;
|
|
33
|
-
'fabric.linking.annotate.confirmation.heading': string;
|
|
34
|
-
'fabric.linking.annotate.tool.arrow': string;
|
|
35
|
-
'fabric.linking.annotate.tool.blur': string;
|
|
36
|
-
'fabric.linking.annotate.tool.brush': string;
|
|
37
|
-
'fabric.linking.annotate.tool.color': string;
|
|
38
|
-
'fabric.linking.annotate.tool.line.thickness': string;
|
|
39
|
-
'fabric.linking.annotate.tool.shape': string;
|
|
40
|
-
'fabric.linking.annotate.tool.text': string;
|
|
41
|
-
'fabric.linking.archive': string;
|
|
42
|
-
'fabric.linking.audio': string;
|
|
43
4
|
'fabric.linking.cancel': string;
|
|
44
|
-
'fabric.linking.
|
|
45
|
-
'fabric.linking.
|
|
46
|
-
'fabric.linking.cant_retrieve_gifs': string;
|
|
47
|
-
'fabric.linking.change_view': string;
|
|
48
|
-
'fabric.linking.check_your_network': string;
|
|
5
|
+
'fabric.linking.cannot_connect': string;
|
|
6
|
+
'fabric.linking.cannot_find_link': string;
|
|
49
7
|
'fabric.linking.click_to_join': string;
|
|
50
8
|
'fabric.linking.click_to_join_description': string;
|
|
51
9
|
'fabric.linking.close': string;
|
|
52
|
-
'fabric.linking.close_and_reopen': string;
|
|
53
10
|
'fabric.linking.connect_account_description': string;
|
|
54
11
|
'fabric.linking.connect_link_account': string;
|
|
55
12
|
'fabric.linking.connect_link_account_card_view': string;
|
|
56
13
|
'fabric.linking.connect_link_account_card_view_description': string;
|
|
57
14
|
'fabric.linking.connect_link_account_card_view_name': string;
|
|
58
15
|
'fabric.linking.connect_to': string;
|
|
59
|
-
'fabric.linking.could_not_load_editor': string;
|
|
60
|
-
'fabric.linking.could_not_save_image': string;
|
|
61
|
-
'fabric.linking.couldnt_generate_encrypted_entry_preview': string;
|
|
62
|
-
'fabric.linking.couldnt_generate_preview': string;
|
|
63
|
-
'fabric.linking.couldnt_load_file': string;
|
|
64
16
|
'fabric.linking.couldnt_load_link': string;
|
|
65
|
-
'fabric.linking.
|
|
66
|
-
'fabric.linking.
|
|
67
|
-
'fabric.linking.
|
|
68
|
-
'fabric.linking.
|
|
69
|
-
'fabric.linking.document': string;
|
|
17
|
+
'fabric.linking.create_on_absolute': string;
|
|
18
|
+
'fabric.linking.create_on_relative': string;
|
|
19
|
+
'fabric.linking.created_by': string;
|
|
20
|
+
'fabric.linking.delete': string;
|
|
70
21
|
'fabric.linking.download': string;
|
|
71
|
-
'fabric.linking.
|
|
72
|
-
'fabric.linking.
|
|
73
|
-
'fabric.linking.drag_and_drop_your_files_and_folders': string;
|
|
74
|
-
'fabric.linking.drop_your_files': string;
|
|
75
|
-
'fabric.linking.drop_your_files_here': string;
|
|
76
|
-
'fabric.linking.email': string;
|
|
77
|
-
'fabric.linking.enable_fullscreen': string;
|
|
78
|
-
'fabric.linking.error_429': string;
|
|
79
|
-
'fabric.linking.error_generating_preview': string;
|
|
80
|
-
'fabric.linking.error_hint_critical': string;
|
|
81
|
-
'fabric.linking.error_hint_retry': string;
|
|
82
|
-
'fabric.linking.error_loading_file': string;
|
|
83
|
-
'fabric.linking.failed_to_load': string;
|
|
84
|
-
'fabric.linking.failed_to_upload': string;
|
|
22
|
+
'fabric.linking.edit': string;
|
|
23
|
+
'fabric.linking.forbidden_access': string;
|
|
85
24
|
'fabric.linking.forbidden_description': string;
|
|
86
|
-
'fabric.linking.give_feedback': string;
|
|
87
|
-
'fabric.linking.image': string;
|
|
88
|
-
'fabric.linking.image_format_invalid_error': string;
|
|
89
|
-
'fabric.linking.image_size_too_large_error': string;
|
|
90
|
-
'fabric.linking.image_url_invalid_error': string;
|
|
91
|
-
'fabric.linking.insert_files': string;
|
|
92
25
|
'fabric.linking.invalid_permissions': string;
|
|
93
26
|
'fabric.linking.invalid_permissions_description': string;
|
|
94
|
-
'fabric.linking.
|
|
95
|
-
'fabric.linking.learn_more': string;
|
|
96
|
-
'fabric.linking.load_more_gifs': string;
|
|
27
|
+
'fabric.linking.join_to_view': string;
|
|
97
28
|
'fabric.linking.loading': string;
|
|
98
|
-
'fabric.linking.
|
|
99
|
-
'fabric.linking.
|
|
100
|
-
'fabric.linking.
|
|
101
|
-
'fabric.linking.no_gifs_found_suggestion': string;
|
|
102
|
-
'fabric.linking.no_pdf_artifacts': string;
|
|
29
|
+
'fabric.linking.modified_on_absolute': string;
|
|
30
|
+
'fabric.linking.modified_on_relative': string;
|
|
31
|
+
'fabric.linking.more_actions': string;
|
|
103
32
|
'fabric.linking.not_found_description': string;
|
|
104
33
|
'fabric.linking.not_found_title': string;
|
|
105
|
-
'fabric.linking.
|
|
106
|
-
'fabric.linking.pause': string;
|
|
107
|
-
'fabric.linking.play': string;
|
|
108
|
-
'fabric.linking.playback_default_speed': string;
|
|
109
|
-
'fabric.linking.playback_speed': string;
|
|
34
|
+
'fabric.linking.pending_request': string;
|
|
110
35
|
'fabric.linking.preview': string;
|
|
111
|
-
'fabric.linking.
|
|
112
|
-
'fabric.linking.
|
|
113
|
-
'fabric.linking.
|
|
114
|
-
'fabric.linking.
|
|
36
|
+
'fabric.linking.priority_blocker': string;
|
|
37
|
+
'fabric.linking.priority_critical': string;
|
|
38
|
+
'fabric.linking.priority_high': string;
|
|
39
|
+
'fabric.linking.priority_highest': string;
|
|
40
|
+
'fabric.linking.priority_low': string;
|
|
41
|
+
'fabric.linking.priority_lowest': string;
|
|
42
|
+
'fabric.linking.priority_major': string;
|
|
43
|
+
'fabric.linking.priority_medium': string;
|
|
44
|
+
'fabric.linking.priority_minor': string;
|
|
45
|
+
'fabric.linking.priority_trivial': string;
|
|
46
|
+
'fabric.linking.priority_undefined': string;
|
|
115
47
|
'fabric.linking.request_access': string;
|
|
116
48
|
'fabric.linking.request_access_description': string;
|
|
117
49
|
'fabric.linking.request_access_pending': string;
|
|
118
50
|
'fabric.linking.request_access_pending_description': string;
|
|
51
|
+
'fabric.linking.request_access_to_view': string;
|
|
52
|
+
'fabric.linking.request_denied': string;
|
|
119
53
|
'fabric.linking.request_denied_description': string;
|
|
54
|
+
'fabric.linking.restricted_link': string;
|
|
120
55
|
'fabric.linking.retry': string;
|
|
121
56
|
'fabric.linking.save': string;
|
|
122
|
-
'fabric.linking.search': string;
|
|
123
|
-
'fabric.linking.search_all_gifs': string;
|
|
124
|
-
'fabric.linking.share_files_instantly': string;
|
|
125
|
-
'fabric.linking.skip_backward': string;
|
|
126
|
-
'fabric.linking.skip_forward': string;
|
|
127
|
-
'fabric.linking.something_went_wrong': string;
|
|
128
57
|
'fabric.linking.srclink': string;
|
|
129
58
|
'fabric.linking.srclinkunknown': string;
|
|
130
|
-
'fabric.linking.text': string;
|
|
131
59
|
'fabric.linking.try_again': string;
|
|
132
60
|
'fabric.linking.try_another_account': string;
|
|
133
|
-
'fabric.linking.try_downloading_file': string;
|
|
134
|
-
'fabric.linking.unable_to_annotate_image': string;
|
|
135
|
-
'fabric.linking.unknown': string;
|
|
136
61
|
'fabric.linking.unlink_account': string;
|
|
137
|
-
'fabric.linking.
|
|
138
|
-
'fabric.linking.upload_an_avatar': string;
|
|
139
|
-
'fabric.linking.upload_file': string;
|
|
140
|
-
'fabric.linking.upload_file_from': string;
|
|
141
|
-
'fabric.linking.upload_image': string;
|
|
142
|
-
'fabric.linking.upload_photo': string;
|
|
143
|
-
'fabric.linking.video': string;
|
|
62
|
+
'fabric.linking.updated_by': string;
|
|
144
63
|
'fabric.linking.view': string;
|
|
145
|
-
'fabric.linking.viewer_rateLimited': string;
|
|
146
|
-
'fabric.linking.webgl_warning_description': string;
|
|
147
|
-
'fabric.linking.zip_entry_load_failed': string;
|
|
148
|
-
'fabric.linking.zoom_in': string;
|
|
149
|
-
'fabric.linking.zoom_out': string;
|
|
150
64
|
};
|
|
151
65
|
/**
|
|
152
66
|
* NOTE:
|