@atlaskit/smart-card 21.1.4 → 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 (105) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/dist/cjs/extractors/block/index.js +3 -2
  3. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +12 -2
  4. package/dist/cjs/state/actions/index.js +54 -10
  5. package/dist/cjs/state/analytics/types.js +5 -0
  6. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +386 -109
  7. package/dist/cjs/state/hooks-external/useSmartLinkActions.js +12 -2
  8. package/dist/cjs/utils/analytics/analytics.js +239 -72
  9. package/dist/cjs/utils/analytics/index.js +32 -5
  10. package/dist/cjs/version.json +1 -1
  11. package/dist/cjs/view/BlockCard/actions/PreviewAction.js +1 -1
  12. package/dist/cjs/view/BlockCard/index.js +10 -0
  13. package/dist/cjs/view/CardWithUrl/component.js +26 -4
  14. package/dist/cjs/view/CardWithUrl/loader.js +6 -1
  15. package/dist/cjs/view/EmbedModal/components/size-experiment/index.js +41 -0
  16. package/dist/cjs/view/EmbedModal/components/size-experiment/types.js +5 -0
  17. package/dist/cjs/view/EmbedModal/index.js +7 -3
  18. package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +17 -3
  19. package/dist/cjs/view/FlexibleCard/components/blocks/preview-block/index.js +5 -2
  20. package/dist/cjs/view/FlexibleCard/components/common/atlaskit-icon/index.js +20 -8
  21. package/dist/cjs/view/FlexibleCard/components/common/image-icon/index.js +4 -2
  22. package/dist/cjs/view/FlexibleCard/components/common/loading-skeleton/index.js +1 -2
  23. package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +5 -2
  24. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +9 -2
  25. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +36 -8
  26. package/dist/cjs/view/HoverCard/components/SnippetOrPreview.js +74 -0
  27. package/dist/cjs/view/HoverCard/index.js +6 -1
  28. package/dist/cjs/view/HoverCard/styled.js +11 -3
  29. package/dist/es2019/extractors/block/index.js +2 -1
  30. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +12 -3
  31. package/dist/es2019/state/actions/index.js +54 -10
  32. package/dist/es2019/state/analytics/types.js +1 -0
  33. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +379 -39
  34. package/dist/es2019/state/hooks-external/useSmartLinkActions.js +11 -2
  35. package/dist/es2019/utils/analytics/analytics.js +253 -78
  36. package/dist/es2019/utils/analytics/index.js +32 -4
  37. package/dist/es2019/version.json +1 -1
  38. package/dist/es2019/view/BlockCard/actions/PreviewAction.js +1 -1
  39. package/dist/es2019/view/BlockCard/index.js +9 -0
  40. package/dist/es2019/view/CardWithUrl/component.js +26 -4
  41. package/dist/es2019/view/CardWithUrl/loader.js +6 -1
  42. package/dist/es2019/view/EmbedModal/components/size-experiment/index.js +28 -0
  43. package/dist/es2019/view/EmbedModal/components/size-experiment/types.js +1 -0
  44. package/dist/es2019/view/EmbedModal/index.js +5 -3
  45. package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +17 -7
  46. package/dist/es2019/view/FlexibleCard/components/blocks/preview-block/index.js +4 -1
  47. package/dist/es2019/view/FlexibleCard/components/common/atlaskit-icon/index.js +17 -6
  48. package/dist/es2019/view/FlexibleCard/components/common/image-icon/index.js +4 -2
  49. package/dist/es2019/view/FlexibleCard/components/common/loading-skeleton/index.js +2 -3
  50. package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +5 -2
  51. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +9 -2
  52. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +36 -10
  53. package/dist/es2019/view/HoverCard/components/SnippetOrPreview.js +42 -0
  54. package/dist/es2019/view/HoverCard/index.js +6 -1
  55. package/dist/es2019/view/HoverCard/styled.js +8 -0
  56. package/dist/esm/extractors/block/index.js +3 -2
  57. package/dist/esm/extractors/common/actions/extractPreviewAction.js +12 -2
  58. package/dist/esm/state/actions/index.js +54 -10
  59. package/dist/esm/state/analytics/types.js +1 -0
  60. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +383 -109
  61. package/dist/esm/state/hooks-external/useSmartLinkActions.js +11 -2
  62. package/dist/esm/utils/analytics/analytics.js +239 -72
  63. package/dist/esm/utils/analytics/index.js +31 -4
  64. package/dist/esm/version.json +1 -1
  65. package/dist/esm/view/BlockCard/actions/PreviewAction.js +1 -1
  66. package/dist/esm/view/BlockCard/index.js +9 -0
  67. package/dist/esm/view/CardWithUrl/component.js +26 -4
  68. package/dist/esm/view/CardWithUrl/loader.js +6 -1
  69. package/dist/esm/view/EmbedModal/components/size-experiment/index.js +28 -0
  70. package/dist/esm/view/EmbedModal/components/size-experiment/types.js +1 -0
  71. package/dist/esm/view/EmbedModal/index.js +6 -3
  72. package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +11 -3
  73. package/dist/esm/view/FlexibleCard/components/blocks/preview-block/index.js +5 -2
  74. package/dist/esm/view/FlexibleCard/components/common/atlaskit-icon/index.js +18 -8
  75. package/dist/esm/view/FlexibleCard/components/common/image-icon/index.js +4 -2
  76. package/dist/esm/view/FlexibleCard/components/common/loading-skeleton/index.js +1 -2
  77. package/dist/esm/view/FlexibleCard/components/elements/media/index.js +5 -2
  78. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +9 -2
  79. package/dist/esm/view/HoverCard/components/HoverCardContent.js +36 -10
  80. package/dist/esm/view/HoverCard/components/SnippetOrPreview.js +53 -0
  81. package/dist/esm/view/HoverCard/index.js +6 -1
  82. package/dist/esm/view/HoverCard/styled.js +6 -2
  83. package/dist/types/extractors/block/types.d.ts +2 -0
  84. package/dist/types/extractors/common/actions/extractPreviewAction.d.ts +2 -1
  85. package/dist/types/state/analytics/types.d.ts +9 -0
  86. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +18 -23
  87. package/dist/types/state/hooks/useSmartLink.d.ts +17 -18
  88. package/dist/types/utils/analytics/analytics.d.ts +19 -21
  89. package/dist/types/utils/analytics/index.d.ts +2 -2
  90. package/dist/types/utils/analytics/types.d.ts +91 -0
  91. package/dist/types/view/BlockCard/actions/PreviewAction.d.ts +4 -2
  92. package/dist/types/view/Card/index.d.ts +1 -1
  93. package/dist/types/view/EmbedModal/components/size-experiment/index.d.ts +6 -0
  94. package/dist/types/view/EmbedModal/components/size-experiment/types.d.ts +4 -0
  95. package/dist/types/view/EmbedModal/index.d.ts +1 -1
  96. package/dist/types/view/EmbedModal/types.d.ts +4 -0
  97. package/dist/types/view/FlexibleCard/components/blocks/preview-block/types.d.ts +7 -1
  98. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +15 -0
  99. package/dist/types/view/FlexibleCard/components/common/image-icon/types.d.ts +1 -0
  100. package/dist/types/view/FlexibleCard/components/elements/media/types.d.ts +5 -0
  101. package/dist/types/view/HoverCard/components/SnippetOrPreview.d.ts +4 -0
  102. package/dist/types/view/HoverCard/styled.d.ts +2 -0
  103. package/dist/types/view/HoverCard/types.d.ts +5 -0
  104. package/package.json +2 -2
  105. package/report.api.md +294 -110
package/CHANGELOG.md CHANGED
@@ -1,5 +1,66 @@
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
+
46
+ ## 21.3.0
47
+
48
+ ### Minor Changes
49
+
50
+ - [`1c76ddcd2f3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/1c76ddcd2f3) - [ux] Flex-UI: - Add props to generic block: - onRender - onTransitionEnd - blockRef
51
+ HoverCard: - use the above properties in Hover Card to apply transition to preview block and fallback to snippet
52
+
53
+ ## 21.2.0
54
+
55
+ ### Minor Changes
56
+
57
+ - [`d2439a3c65d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d2439a3c65d) - [ux] Embed Preview Modal: Add experiment modal with new UX and resize functionality (behind feature flag)
58
+
59
+ ### Patch Changes
60
+
61
+ - [`6dd64ce82a8`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6dd64ce82a8) - [ux] This changes icon loading for Flexible Smart Links. Previously, all `@atlaskit/icon-file-type/glyph/` icons in Flexible Smart Links would be loaded asynchronously. This change makes it so that the `@atlaskit/icon-file-type/glyph/blog` and `@atlaskit/icon-file-type/glyph/document`icons load synchronously in order to better support SSR use cases.
62
+ - Updated dependencies
63
+
3
64
  ## 21.1.4
4
65
 
5
66
  ### Patch Changes
@@ -55,13 +55,14 @@ var extractBlockDetails = function extractBlockDetails(jsonLd) {
55
55
 
56
56
  var extractBlockActions = function extractBlockActions(props, jsonLd, opts, platform) {
57
57
  if (opts) {
58
- var handleInvoke = opts.handleInvoke,
58
+ var featureFlags = opts.featureFlags,
59
+ handleInvoke = opts.handleInvoke,
59
60
  handleAnalytics = opts.handleAnalytics,
60
61
  extensionKey = opts.extensionKey,
61
62
  source = opts.source,
62
63
  testId = opts.testId;
63
64
  var actions = (0, _extractActions.extractActions)(jsonLd, handleInvoke);
64
- var previewAction = (0, _extractPreviewAction.extractPreviewAction)(extensionKey, props, jsonLd, handleInvoke, handleAnalytics, testId, platform, source); // The previewAction should always be the last action
65
+ var previewAction = (0, _extractPreviewAction.extractPreviewAction)(extensionKey, props, jsonLd, handleInvoke, handleAnalytics, testId, platform, source, featureFlags); // The previewAction should always be the last action
65
66
 
66
67
  if (previewAction) {
67
68
  actions.push(previewAction);
@@ -72,6 +72,7 @@ var extractPreviewAction = function extractPreviewAction() {
72
72
  var testId = arguments.length > 5 ? arguments[5] : undefined;
73
73
  var platform = arguments.length > 6 ? arguments[6] : undefined;
74
74
  var source = arguments.length > 7 ? arguments[7] : undefined;
75
+ var featureFlags = arguments.length > 8 ? arguments[8] : undefined;
75
76
  // Extract metadata from view props & raw JSON-LD.
76
77
  var metadataFromJsonLd = getMetadataFromJsonLd(jsonLd, platform);
77
78
  var metadataFromViewProps = getMetadataFromResolvedProps(viewProps);
@@ -83,12 +84,21 @@ var extractPreviewAction = function extractPreviewAction() {
83
84
  // Build action using instrumentation hooks.
84
85
  var key = extensionKey;
85
86
  var previewAction = (0, _BlockCard.PreviewAction)(_objectSpread(_objectSpread({}, metadata), {}, {
87
+ featureFlags: featureFlags,
86
88
  testId: testId,
87
89
  onOpen: function onOpen() {
88
- handleAnalytics((0, _analytics.uiRenderSuccessEvent)('preview', 'resolved', key));
90
+ handleAnalytics((0, _analytics.uiRenderSuccessEvent)({
91
+ display: 'preview',
92
+ status: 'resolved',
93
+ extensionKey: key
94
+ }));
89
95
  },
90
96
  onOpenFailed: function onOpenFailed(error, errorInfo) {
91
- handleAnalytics((0, _analytics.uiRenderFailedEvent)('preview', error, errorInfo));
97
+ handleAnalytics((0, _analytics.uiRenderFailedEvent)({
98
+ display: 'preview',
99
+ error: error,
100
+ errorInfo: errorInfo
101
+ }));
92
102
  },
93
103
  onDownloadActionClick: function onDownloadActionClick() {
94
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
+ });