@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.
Files changed (45) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +10 -2
  3. package/dist/cjs/state/actions/index.js +54 -10
  4. package/dist/cjs/state/analytics/types.js +5 -0
  5. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +386 -109
  6. package/dist/cjs/utils/analytics/analytics.js +239 -72
  7. package/dist/cjs/utils/analytics/index.js +32 -5
  8. package/dist/cjs/version.json +1 -1
  9. package/dist/cjs/view/CardWithUrl/component.js +25 -3
  10. package/dist/cjs/view/CardWithUrl/loader.js +6 -1
  11. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +9 -2
  12. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +15 -4
  13. package/dist/cjs/view/HoverCard/index.js +6 -1
  14. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +10 -2
  15. package/dist/es2019/state/actions/index.js +54 -10
  16. package/dist/es2019/state/analytics/types.js +1 -0
  17. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +379 -39
  18. package/dist/es2019/utils/analytics/analytics.js +253 -78
  19. package/dist/es2019/utils/analytics/index.js +32 -4
  20. package/dist/es2019/version.json +1 -1
  21. package/dist/es2019/view/CardWithUrl/component.js +25 -3
  22. package/dist/es2019/view/CardWithUrl/loader.js +6 -1
  23. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +9 -2
  24. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +15 -4
  25. package/dist/es2019/view/HoverCard/index.js +6 -1
  26. package/dist/esm/extractors/common/actions/extractPreviewAction.js +10 -2
  27. package/dist/esm/state/actions/index.js +54 -10
  28. package/dist/esm/state/analytics/types.js +1 -0
  29. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +383 -109
  30. package/dist/esm/utils/analytics/analytics.js +239 -72
  31. package/dist/esm/utils/analytics/index.js +31 -4
  32. package/dist/esm/version.json +1 -1
  33. package/dist/esm/view/CardWithUrl/component.js +25 -3
  34. package/dist/esm/view/CardWithUrl/loader.js +6 -1
  35. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +9 -2
  36. package/dist/esm/view/HoverCard/components/HoverCardContent.js +15 -4
  37. package/dist/esm/view/HoverCard/index.js +6 -1
  38. package/dist/types/state/analytics/types.d.ts +9 -0
  39. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +18 -23
  40. package/dist/types/state/hooks/useSmartLink.d.ts +17 -18
  41. package/dist/types/utils/analytics/analytics.d.ts +19 -21
  42. package/dist/types/utils/analytics/index.d.ts +2 -2
  43. package/dist/types/utils/analytics/types.d.ts +91 -0
  44. package/package.json +1 -1
  45. package/report.api.md +271 -108
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 22.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - [`e2bd5c50884`](https://bitbucket.org/atlassian/atlassian-frontend/commits/e2bd5c50884) - This PR changes how Smart Link Analytics events are defined.
8
+ Analytics events now use object args rather than inline arguments.
9
+
10
+ Previously:
11
+
12
+ ```
13
+ const analytics = useSmartLinkAnalytics(
14
+ url,
15
+ analyticsHandler,
16
+ undefined,
17
+ location,
18
+ );
19
+ analytics.ui.cardClickedEvent(
20
+ id,
21
+ 'block',
22
+ 'resolved',
23
+ 'this-is-a-test-definition-id',
24
+ 'this-is-a-test-extension-key',
25
+ );
26
+ ```
27
+
28
+ After change:
29
+
30
+ ```
31
+ const analytics = useSmartLinkAnalytics(
32
+ url,
33
+ analyticsHandler,
34
+ undefined,
35
+ location,
36
+ );
37
+ analytics.ui.cardClickedEvent({
38
+ id,
39
+ display: 'block',
40
+ status: 'resolved',
41
+ definitionId: 'this-is-a-test-definition-id',
42
+ extensionKey: 'this-is-a-test-extension-key',
43
+ });
44
+ ```
45
+
3
46
  ## 21.3.0
4
47
 
5
48
  ### Minor Changes
@@ -87,10 +87,18 @@ var extractPreviewAction = function extractPreviewAction() {
87
87
  featureFlags: featureFlags,
88
88
  testId: testId,
89
89
  onOpen: function onOpen() {
90
- handleAnalytics((0, _analytics.uiRenderSuccessEvent)('preview', 'resolved', key));
90
+ handleAnalytics((0, _analytics.uiRenderSuccessEvent)({
91
+ display: 'preview',
92
+ status: 'resolved',
93
+ extensionKey: key
94
+ }));
91
95
  },
92
96
  onOpenFailed: function onOpenFailed(error, errorInfo) {
93
- handleAnalytics((0, _analytics.uiRenderFailedEvent)('preview', error, errorInfo));
97
+ handleAnalytics((0, _analytics.uiRenderFailedEvent)({
98
+ display: 'preview',
99
+ error: error,
100
+ errorInfo: errorInfo
101
+ }));
94
102
  },
95
103
  onDownloadActionClick: function onDownloadActionClick() {
96
104
  handleInvoke(getInvokeOpts(key, 'DownloadAction'));
@@ -210,24 +210,51 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
210
210
  var services = (0, _helpers.getServices)(details); // When authentication is triggered, let GAS know!
211
211
 
212
212
  if (status === 'unauthorized') {
213
- analytics.ui.authEvent(appearance, definitionId, extensionKey);
213
+ analytics.ui.authEvent({
214
+ display: appearance,
215
+ definitionId: definitionId,
216
+ extensionKey: extensionKey
217
+ });
214
218
  }
215
219
 
216
220
  if (status === 'forbidden') {
217
- analytics.ui.authAlternateAccountEvent(appearance, definitionId, extensionKey);
221
+ analytics.ui.authAlternateAccountEvent({
222
+ display: appearance,
223
+ definitionId: definitionId,
224
+ extensionKey: extensionKey
225
+ });
218
226
  }
219
227
 
220
228
  if (services.length > 0) {
221
- analytics.screen.authPopupEvent(definitionId, extensionKey);
229
+ analytics.screen.authPopupEvent({
230
+ definitionId: definitionId,
231
+ extensionKey: extensionKey
232
+ });
222
233
  (0, _outboundAuthFlowClient.auth)(services[0].url).then(function () {
223
- analytics.track.appAccountConnected(definitionId, extensionKey);
224
- analytics.operational.connectSucceededEvent(id, definitionId, extensionKey);
234
+ analytics.track.appAccountConnected({
235
+ definitionId: definitionId,
236
+ extensionKey: extensionKey
237
+ });
238
+ analytics.operational.connectSucceededEvent({
239
+ id: id,
240
+ definitionId: definitionId,
241
+ extensionKey: extensionKey
242
+ });
225
243
  reload();
226
244
  }, function (err) {
227
- analytics.operational.connectFailedEvent(id, definitionId, extensionKey, err.type);
245
+ analytics.operational.connectFailedEvent({
246
+ id: id,
247
+ definitionId: definitionId,
248
+ extensionKey: extensionKey,
249
+ reason: err.type
250
+ });
228
251
 
229
252
  if (err.type === 'auth_window_closed') {
230
- analytics.ui.closedAuthEvent(appearance, definitionId, extensionKey);
253
+ analytics.ui.closedAuthEvent({
254
+ display: appearance,
255
+ definitionId: definitionId,
256
+ extensionKey: extensionKey
257
+ });
231
258
  }
232
259
 
233
260
  reload();
@@ -248,7 +275,13 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
248
275
  measure.mark(markName, 'pending');
249
276
  _context2.prev = 4;
250
277
  // Begin analytics instrumentation.
251
- analytics.ui.actionClickedEvent(id, key, action.type, source, opts.type); // Invoke action - either client-side or server-side.
278
+ analytics.ui.actionClickedEvent({
279
+ id: id,
280
+ extensionKey: key,
281
+ actionType: action.type,
282
+ display: source,
283
+ invokeType: opts.type
284
+ }); // Invoke action - either client-side or server-side.
252
285
 
253
286
  if (!(opts.type === 'client')) {
254
287
  _context2.next = 12;
@@ -272,14 +305,25 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
272
305
 
273
306
  case 15:
274
307
  measure.mark(markName, 'resolved');
275
- analytics.operational.invokeSucceededEvent(id, key, action.type, source);
308
+ analytics.operational.invokeSucceededEvent({
309
+ id: id,
310
+ extensionKey: key,
311
+ actionType: action.type,
312
+ display: source
313
+ });
276
314
  return _context2.abrupt("return", response);
277
315
 
278
316
  case 20:
279
317
  _context2.prev = 20;
280
318
  _context2.t0 = _context2["catch"](4);
281
319
  measure.mark(markName, 'errored');
282
- analytics.operational.invokeFailedEvent(id, key, action.type, source, _context2.t0.message);
320
+ analytics.operational.invokeFailedEvent({
321
+ id: id,
322
+ extensionKey: key,
323
+ actionType: action.type,
324
+ display: source,
325
+ reason: _context2.t0.message
326
+ });
283
327
  throw _context2.t0;
284
328
 
285
329
  case 25:
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });