@atlaskit/smart-card 21.3.0 → 22.0.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 +43 -0
- package/dist/cjs/extractors/common/actions/extractPreviewAction.js +10 -2
- package/dist/cjs/state/actions/index.js +54 -10
- package/dist/cjs/state/analytics/types.js +5 -0
- package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +386 -109
- package/dist/cjs/utils/analytics/analytics.js +239 -72
- package/dist/cjs/utils/analytics/index.js +32 -5
- package/dist/cjs/version.json +1 -1
- package/dist/cjs/view/CardWithUrl/component.js +25 -3
- package/dist/cjs/view/CardWithUrl/loader.js +6 -1
- package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +9 -2
- package/dist/cjs/view/HoverCard/components/HoverCardContent.js +15 -4
- package/dist/cjs/view/HoverCard/index.js +6 -1
- package/dist/es2019/extractors/common/actions/extractPreviewAction.js +10 -2
- package/dist/es2019/state/actions/index.js +54 -10
- package/dist/es2019/state/analytics/types.js +1 -0
- package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +379 -39
- package/dist/es2019/utils/analytics/analytics.js +253 -78
- package/dist/es2019/utils/analytics/index.js +32 -4
- package/dist/es2019/version.json +1 -1
- package/dist/es2019/view/CardWithUrl/component.js +25 -3
- package/dist/es2019/view/CardWithUrl/loader.js +6 -1
- package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +9 -2
- package/dist/es2019/view/HoverCard/components/HoverCardContent.js +15 -4
- package/dist/es2019/view/HoverCard/index.js +6 -1
- package/dist/esm/extractors/common/actions/extractPreviewAction.js +10 -2
- package/dist/esm/state/actions/index.js +54 -10
- package/dist/esm/state/analytics/types.js +1 -0
- package/dist/esm/state/analytics/useSmartLinkAnalytics.js +383 -109
- package/dist/esm/utils/analytics/analytics.js +239 -72
- package/dist/esm/utils/analytics/index.js +31 -4
- package/dist/esm/version.json +1 -1
- package/dist/esm/view/CardWithUrl/component.js +25 -3
- package/dist/esm/view/CardWithUrl/loader.js +6 -1
- package/dist/esm/view/HoverCard/components/HoverCardComponent.js +9 -2
- package/dist/esm/view/HoverCard/components/HoverCardContent.js +15 -4
- package/dist/esm/view/HoverCard/index.js +6 -1
- package/dist/types/state/analytics/types.d.ts +9 -0
- package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +18 -23
- package/dist/types/state/hooks/useSmartLink.d.ts +17 -18
- package/dist/types/utils/analytics/analytics.d.ts +19 -21
- package/dist/types/utils/analytics/index.d.ts +2 -2
- package/dist/types/utils/analytics/types.d.ts +91 -0
- package/package.json +1 -1
- package/report.api.md +271 -108
|
@@ -75,7 +75,11 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
75
75
|
//Check its previously open to avoid firing events when moving between the child and hover card components
|
|
76
76
|
if (isOpen === true && cardOpenTime.current) {
|
|
77
77
|
var hoverTime = Date.now() - cardOpenTime.current;
|
|
78
|
-
analytics.ui.hoverCardDismissedEvent(
|
|
78
|
+
analytics.ui.hoverCardDismissedEvent({
|
|
79
|
+
previewDisplay: 'card',
|
|
80
|
+
hoverTime: hoverTime,
|
|
81
|
+
previewInvokeMethod: 'mouse_hover'
|
|
82
|
+
});
|
|
79
83
|
}
|
|
80
84
|
|
|
81
85
|
setIsOpen(false);
|
|
@@ -100,7 +104,10 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
|
|
|
100
104
|
//Check if its previously closed to avoid firing events when moving between the child and hover card components
|
|
101
105
|
if (isOpen === false) {
|
|
102
106
|
cardOpenTime.current = Date.now();
|
|
103
|
-
analytics.ui.hoverCardViewedEvent(
|
|
107
|
+
analytics.ui.hoverCardViewedEvent({
|
|
108
|
+
previewDisplay: hoverDisplay,
|
|
109
|
+
previewInvokeMethod: invokeMethod
|
|
110
|
+
});
|
|
104
111
|
} //If these are undefined then popupOffset is undefined and we fallback to default bottom-start placement
|
|
105
112
|
|
|
106
113
|
|
|
@@ -55,7 +55,9 @@ var getOpenAction = function getOpenAction(url, analytics, onActionClick) {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
window.open(url, '_blank');
|
|
58
|
-
analytics.ui.hoverCardOpenLinkClickedEvent(
|
|
58
|
+
analytics.ui.hoverCardOpenLinkClickedEvent({
|
|
59
|
+
previewDisplay: 'card'
|
|
60
|
+
});
|
|
59
61
|
},
|
|
60
62
|
testId: 'hover-card-open-button'
|
|
61
63
|
};
|
|
@@ -102,15 +104,24 @@ var HoverCardContent = function HoverCardContent(_ref) {
|
|
|
102
104
|
(0, _react.useEffect)(function () {
|
|
103
105
|
// Since hover preview only render on resolved status,
|
|
104
106
|
// there is no need to check for statuses.
|
|
105
|
-
analytics.ui.renderSuccessEvent(
|
|
107
|
+
analytics.ui.renderSuccessEvent({
|
|
108
|
+
display: _utils2.SMART_CARD_ANALYTICS_DISPLAY,
|
|
109
|
+
status: cardState.status
|
|
110
|
+
});
|
|
106
111
|
}, [analytics.ui, cardState.status]);
|
|
107
112
|
var extensionKey = (0, _react.useMemo)(function () {
|
|
108
113
|
return (0, _helpers.getExtensionKey)(cardState.details);
|
|
109
114
|
}, [cardState.details]);
|
|
110
115
|
var onClick = (0, _react.useCallback)(function (event) {
|
|
111
116
|
var isModifierKeyPressed = (0, _utils.isSpecialEvent)(event);
|
|
112
|
-
analytics.ui.cardClickedEvent(
|
|
113
|
-
|
|
117
|
+
analytics.ui.cardClickedEvent({
|
|
118
|
+
id: id,
|
|
119
|
+
display: _utils2.SMART_CARD_ANALYTICS_DISPLAY,
|
|
120
|
+
status: cardState.status,
|
|
121
|
+
isModifierKeyPressed: isModifierKeyPressed,
|
|
122
|
+
actionSubjectId: 'titleGoToLink'
|
|
123
|
+
});
|
|
124
|
+
}, [cardState.status, analytics.ui, id]);
|
|
114
125
|
var titleActions = (0, _react.useMemo)(function () {
|
|
115
126
|
return [getOpenAction(url, analytics, onActionClick)];
|
|
116
127
|
}, [url, analytics, onActionClick]);
|
|
@@ -36,7 +36,12 @@ var HoverCardWithErrorBoundary = function HoverCardWithErrorBoundary(props) {
|
|
|
36
36
|
}, [createAnalyticsEvent]);
|
|
37
37
|
var analytics = (0, _analytics.useSmartLinkAnalytics)(url, analyticsHandler, id);
|
|
38
38
|
var onError = (0, _react.useCallback)(function (error, info) {
|
|
39
|
-
analytics.ui.renderFailedEvent(
|
|
39
|
+
analytics.ui.renderFailedEvent({
|
|
40
|
+
display: _utils.SMART_CARD_ANALYTICS_DISPLAY,
|
|
41
|
+
id: id,
|
|
42
|
+
error: error,
|
|
43
|
+
errorInfo: info
|
|
44
|
+
});
|
|
40
45
|
}, [analytics.ui, id]);
|
|
41
46
|
return (0, _core.jsx)(_reactErrorBoundary.ErrorBoundary, {
|
|
42
47
|
fallback: children,
|
|
@@ -54,10 +54,18 @@ export const extractPreviewAction = (extensionKey = 'empty-object-provider', vie
|
|
|
54
54
|
featureFlags,
|
|
55
55
|
testId,
|
|
56
56
|
onOpen: () => {
|
|
57
|
-
handleAnalytics(uiRenderSuccessEvent(
|
|
57
|
+
handleAnalytics(uiRenderSuccessEvent({
|
|
58
|
+
display: 'preview',
|
|
59
|
+
status: 'resolved',
|
|
60
|
+
extensionKey: key
|
|
61
|
+
}));
|
|
58
62
|
},
|
|
59
63
|
onOpenFailed: (error, errorInfo) => {
|
|
60
|
-
handleAnalytics(uiRenderFailedEvent(
|
|
64
|
+
handleAnalytics(uiRenderFailedEvent({
|
|
65
|
+
display: 'preview',
|
|
66
|
+
error,
|
|
67
|
+
errorInfo
|
|
68
|
+
}));
|
|
61
69
|
},
|
|
62
70
|
onDownloadActionClick: () => {
|
|
63
71
|
handleInvoke(getInvokeOpts(key, 'DownloadAction'));
|
|
@@ -155,24 +155,51 @@ export const useSmartCardActions = (id, url, analytics) => {
|
|
|
155
155
|
const services = getServices(details); // When authentication is triggered, let GAS know!
|
|
156
156
|
|
|
157
157
|
if (status === 'unauthorized') {
|
|
158
|
-
analytics.ui.authEvent(
|
|
158
|
+
analytics.ui.authEvent({
|
|
159
|
+
display: appearance,
|
|
160
|
+
definitionId,
|
|
161
|
+
extensionKey
|
|
162
|
+
});
|
|
159
163
|
}
|
|
160
164
|
|
|
161
165
|
if (status === 'forbidden') {
|
|
162
|
-
analytics.ui.authAlternateAccountEvent(
|
|
166
|
+
analytics.ui.authAlternateAccountEvent({
|
|
167
|
+
display: appearance,
|
|
168
|
+
definitionId,
|
|
169
|
+
extensionKey
|
|
170
|
+
});
|
|
163
171
|
}
|
|
164
172
|
|
|
165
173
|
if (services.length > 0) {
|
|
166
|
-
analytics.screen.authPopupEvent(
|
|
174
|
+
analytics.screen.authPopupEvent({
|
|
175
|
+
definitionId,
|
|
176
|
+
extensionKey
|
|
177
|
+
});
|
|
167
178
|
auth(services[0].url).then(() => {
|
|
168
|
-
analytics.track.appAccountConnected(
|
|
169
|
-
|
|
179
|
+
analytics.track.appAccountConnected({
|
|
180
|
+
definitionId,
|
|
181
|
+
extensionKey
|
|
182
|
+
});
|
|
183
|
+
analytics.operational.connectSucceededEvent({
|
|
184
|
+
id,
|
|
185
|
+
definitionId,
|
|
186
|
+
extensionKey
|
|
187
|
+
});
|
|
170
188
|
reload();
|
|
171
189
|
}, err => {
|
|
172
|
-
analytics.operational.connectFailedEvent(
|
|
190
|
+
analytics.operational.connectFailedEvent({
|
|
191
|
+
id,
|
|
192
|
+
definitionId,
|
|
193
|
+
extensionKey,
|
|
194
|
+
reason: err.type
|
|
195
|
+
});
|
|
173
196
|
|
|
174
197
|
if (err.type === 'auth_window_closed') {
|
|
175
|
-
analytics.ui.closedAuthEvent(
|
|
198
|
+
analytics.ui.closedAuthEvent({
|
|
199
|
+
display: appearance,
|
|
200
|
+
definitionId,
|
|
201
|
+
extensionKey
|
|
202
|
+
});
|
|
176
203
|
}
|
|
177
204
|
|
|
178
205
|
reload();
|
|
@@ -191,7 +218,13 @@ export const useSmartCardActions = (id, url, analytics) => {
|
|
|
191
218
|
|
|
192
219
|
try {
|
|
193
220
|
// Begin analytics instrumentation.
|
|
194
|
-
analytics.ui.actionClickedEvent(
|
|
221
|
+
analytics.ui.actionClickedEvent({
|
|
222
|
+
id,
|
|
223
|
+
extensionKey: key,
|
|
224
|
+
actionType: action.type,
|
|
225
|
+
display: source,
|
|
226
|
+
invokeType: opts.type
|
|
227
|
+
}); // Invoke action - either client-side or server-side.
|
|
195
228
|
|
|
196
229
|
let response;
|
|
197
230
|
|
|
@@ -202,11 +235,22 @@ export const useSmartCardActions = (id, url, analytics) => {
|
|
|
202
235
|
}
|
|
203
236
|
|
|
204
237
|
measure.mark(markName, 'resolved');
|
|
205
|
-
analytics.operational.invokeSucceededEvent(
|
|
238
|
+
analytics.operational.invokeSucceededEvent({
|
|
239
|
+
id,
|
|
240
|
+
extensionKey: key,
|
|
241
|
+
actionType: action.type,
|
|
242
|
+
display: source
|
|
243
|
+
});
|
|
206
244
|
return response;
|
|
207
245
|
} catch (err) {
|
|
208
246
|
measure.mark(markName, 'errored');
|
|
209
|
-
analytics.operational.invokeFailedEvent(
|
|
247
|
+
analytics.operational.invokeFailedEvent({
|
|
248
|
+
id,
|
|
249
|
+
extensionKey: key,
|
|
250
|
+
actionType: action.type,
|
|
251
|
+
display: source,
|
|
252
|
+
reason: err.message
|
|
253
|
+
});
|
|
210
254
|
throw err;
|
|
211
255
|
}
|
|
212
256
|
}, [id, analytics.ui, analytics.operational, connections.client]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|