@atlaskit/smart-card 18.0.14 → 18.0.15

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 (154) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +9 -0
  3. package/dist/cjs/state/flexible-ui-context/index.js +4 -0
  4. package/dist/cjs/utils/analytics/analytics.js +52 -2
  5. package/dist/cjs/utils/analytics/index.js +18 -0
  6. package/dist/cjs/version.json +1 -1
  7. package/dist/cjs/view/CardWithUrl/component.js +4 -2
  8. package/dist/cjs/view/CardWithUrl/loader.js +4 -2
  9. package/dist/cjs/view/FlexibleCard/components/actions/action/index.js +26 -4
  10. package/dist/cjs/view/FlexibleCard/components/actions/index.js +18 -2
  11. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +6 -0
  12. package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +9 -2
  13. package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +9 -2
  14. package/dist/cjs/view/FlexibleCard/components/blocks/footer-block/index.js +6 -0
  15. package/dist/cjs/view/FlexibleCard/components/blocks/metadata-block/index.js +9 -2
  16. package/dist/cjs/view/FlexibleCard/components/blocks/preview-block/index.js +5 -0
  17. package/dist/cjs/view/FlexibleCard/components/blocks/snippet-block/index.js +5 -0
  18. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/errored/index.js +39 -19
  19. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/index.js +92 -17
  20. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolved/index.js +45 -9
  21. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/resolving/index.js +23 -12
  22. package/dist/cjs/view/FlexibleCard/components/container/index.js +5 -0
  23. package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +12 -1
  24. package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +18 -3
  25. package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +9 -1
  26. package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +9 -1
  27. package/dist/cjs/view/FlexibleCard/components/elements/index.js +96 -0
  28. package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +9 -1
  29. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +11 -3
  30. package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +9 -2
  31. package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +12 -6
  32. package/dist/cjs/view/FlexibleCard/components/elements/utils.js +7 -3
  33. package/dist/cjs/view/FlexibleCard/index.js +6 -0
  34. package/dist/cjs/view/HoverCard/index.js +48 -10
  35. package/dist/cjs/view/HoverCard/styled.js +3 -1
  36. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +7 -2
  37. package/dist/es2019/state/flexible-ui-context/index.js +5 -0
  38. package/dist/es2019/utils/analytics/analytics.js +35 -0
  39. package/dist/es2019/utils/analytics/index.js +1 -1
  40. package/dist/es2019/version.json +1 -1
  41. package/dist/es2019/view/CardWithUrl/component.js +4 -2
  42. package/dist/es2019/view/CardWithUrl/loader.js +4 -2
  43. package/dist/es2019/view/FlexibleCard/components/actions/action/index.js +37 -4
  44. package/dist/es2019/view/FlexibleCard/components/actions/index.js +18 -2
  45. package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +6 -0
  46. package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +9 -2
  47. package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +8 -2
  48. package/dist/es2019/view/FlexibleCard/components/blocks/footer-block/index.js +6 -0
  49. package/dist/es2019/view/FlexibleCard/components/blocks/metadata-block/index.js +9 -2
  50. package/dist/es2019/view/FlexibleCard/components/blocks/preview-block/index.js +5 -0
  51. package/dist/es2019/view/FlexibleCard/components/blocks/snippet-block/index.js +5 -0
  52. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/errored/index.js +31 -15
  53. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/index.js +77 -15
  54. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolved/index.js +35 -8
  55. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/resolving/index.js +20 -11
  56. package/dist/es2019/view/FlexibleCard/components/container/index.js +5 -0
  57. package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +12 -1
  58. package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +18 -3
  59. package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +9 -1
  60. package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +9 -1
  61. package/dist/es2019/view/FlexibleCard/components/elements/index.js +96 -0
  62. package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +9 -1
  63. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +11 -3
  64. package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +8 -1
  65. package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +11 -4
  66. package/dist/es2019/view/FlexibleCard/components/elements/utils.js +5 -2
  67. package/dist/es2019/view/FlexibleCard/index.js +6 -0
  68. package/dist/es2019/view/HoverCard/index.js +40 -10
  69. package/dist/es2019/view/HoverCard/styled.js +6 -1
  70. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +10 -1
  71. package/dist/esm/state/flexible-ui-context/index.js +5 -0
  72. package/dist/esm/utils/analytics/analytics.js +41 -0
  73. package/dist/esm/utils/analytics/index.js +1 -1
  74. package/dist/esm/version.json +1 -1
  75. package/dist/esm/view/CardWithUrl/component.js +4 -2
  76. package/dist/esm/view/CardWithUrl/loader.js +4 -2
  77. package/dist/esm/view/FlexibleCard/components/actions/action/index.js +25 -4
  78. package/dist/esm/view/FlexibleCard/components/actions/index.js +18 -2
  79. package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +6 -0
  80. package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +9 -2
  81. package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +8 -2
  82. package/dist/esm/view/FlexibleCard/components/blocks/footer-block/index.js +6 -0
  83. package/dist/esm/view/FlexibleCard/components/blocks/metadata-block/index.js +9 -2
  84. package/dist/esm/view/FlexibleCard/components/blocks/preview-block/index.js +5 -0
  85. package/dist/esm/view/FlexibleCard/components/blocks/snippet-block/index.js +5 -0
  86. package/dist/esm/view/FlexibleCard/components/blocks/title-block/errored/index.js +33 -16
  87. package/dist/esm/view/FlexibleCard/components/blocks/title-block/index.js +79 -17
  88. package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolved/index.js +39 -8
  89. package/dist/esm/view/FlexibleCard/components/blocks/title-block/resolving/index.js +22 -11
  90. package/dist/esm/view/FlexibleCard/components/container/index.js +5 -0
  91. package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +12 -1
  92. package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +18 -3
  93. package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +9 -1
  94. package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +9 -1
  95. package/dist/esm/view/FlexibleCard/components/elements/index.js +96 -0
  96. package/dist/esm/view/FlexibleCard/components/elements/link/index.js +9 -1
  97. package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +11 -3
  98. package/dist/esm/view/FlexibleCard/components/elements/media/index.js +9 -2
  99. package/dist/esm/view/FlexibleCard/components/elements/text/index.js +12 -6
  100. package/dist/esm/view/FlexibleCard/components/elements/utils.js +5 -3
  101. package/dist/esm/view/FlexibleCard/index.js +6 -0
  102. package/dist/esm/view/HoverCard/index.js +42 -10
  103. package/dist/esm/view/HoverCard/styled.js +2 -1
  104. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +4 -0
  105. package/dist/types/state/flexible-ui-context/index.d.ts +4 -0
  106. package/dist/types/state/flexible-ui-context/types.d.ts +102 -0
  107. package/dist/types/state/hooks/useSmartLink.d.ts +3 -0
  108. package/dist/types/utils/analytics/analytics.d.ts +4 -0
  109. package/dist/types/utils/analytics/index.d.ts +1 -1
  110. package/dist/types/utils/types.d.ts +2 -2
  111. package/dist/types/view/Card/index.d.ts +1 -1
  112. package/dist/types/view/Card/types.d.ts +1 -0
  113. package/dist/types/view/CardWithUrl/component.d.ts +1 -1
  114. package/dist/types/view/CardWithUrl/types.d.ts +1 -0
  115. package/dist/types/view/FlexibleCard/components/actions/action/index.d.ts +8 -0
  116. package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +4 -2
  117. package/dist/types/view/FlexibleCard/components/actions/index.d.ts +15 -0
  118. package/dist/types/view/FlexibleCard/components/blocks/action-group/index.d.ts +6 -0
  119. package/dist/types/view/FlexibleCard/components/blocks/action-group/types.d.ts +1 -1
  120. package/dist/types/view/FlexibleCard/components/blocks/block/index.d.ts +6 -0
  121. package/dist/types/view/FlexibleCard/components/blocks/element-group/index.d.ts +6 -0
  122. package/dist/types/view/FlexibleCard/components/blocks/element-group/types.d.ts +2 -2
  123. package/dist/types/view/FlexibleCard/components/blocks/footer-block/index.d.ts +6 -0
  124. package/dist/types/view/FlexibleCard/components/blocks/metadata-block/index.d.ts +6 -0
  125. package/dist/types/view/FlexibleCard/components/blocks/preview-block/index.d.ts +5 -0
  126. package/dist/types/view/FlexibleCard/components/blocks/snippet-block/index.d.ts +5 -0
  127. package/dist/types/view/FlexibleCard/components/blocks/title-block/errored/index.d.ts +9 -2
  128. package/dist/types/view/FlexibleCard/components/blocks/title-block/index.d.ts +11 -0
  129. package/dist/types/view/FlexibleCard/components/blocks/title-block/resolved/index.d.ts +7 -3
  130. package/dist/types/view/FlexibleCard/components/blocks/title-block/resolving/index.d.ts +8 -2
  131. package/dist/types/view/FlexibleCard/components/blocks/title-block/types.d.ts +10 -1
  132. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +7 -5
  133. package/dist/types/view/FlexibleCard/components/container/index.d.ts +4 -0
  134. package/dist/types/view/FlexibleCard/components/container/types.d.ts +2 -2
  135. package/dist/types/view/FlexibleCard/components/elements/avatar-group/index.d.ts +7 -0
  136. package/dist/types/view/FlexibleCard/components/elements/badge/index.d.ts +13 -0
  137. package/dist/types/view/FlexibleCard/components/elements/date-time/index.d.ts +7 -0
  138. package/dist/types/view/FlexibleCard/components/elements/icon/index.d.ts +6 -0
  139. package/dist/types/view/FlexibleCard/components/elements/icon/types.d.ts +5 -1
  140. package/dist/types/view/FlexibleCard/components/elements/index.d.ts +77 -0
  141. package/dist/types/view/FlexibleCard/components/elements/link/index.d.ts +6 -0
  142. package/dist/types/view/FlexibleCard/components/elements/lozenge/index.d.ts +6 -0
  143. package/dist/types/view/FlexibleCard/components/elements/media/index.d.ts +6 -0
  144. package/dist/types/view/FlexibleCard/components/elements/text/index.d.ts +6 -0
  145. package/dist/types/view/FlexibleCard/components/elements/text/types.d.ts +1 -2
  146. package/dist/types/view/FlexibleCard/components/elements/types.d.ts +2 -0
  147. package/dist/types/view/FlexibleCard/index.d.ts +6 -0
  148. package/dist/types/view/HoverCard/index.d.ts +3 -2
  149. package/dist/types/view/HoverCard/types.d.ts +5 -2
  150. package/package.json +1 -1
  151. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/utils.js +0 -105
  152. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/utils.js +0 -71
  153. package/dist/esm/view/FlexibleCard/components/blocks/title-block/utils.js +0 -76
  154. package/dist/types/view/FlexibleCard/components/blocks/title-block/utils.d.ts +0 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 18.0.15
4
+
5
+ ### Patch Changes
6
+
7
+ - [`c2a240de738`](https://bitbucket.org/atlassian/atlassian-frontend/commits/c2a240de738) - Add inline documentation for Flexible UI
8
+ - [`6976489a51a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6976489a51a) - Flexible UI: Enable css override for actions
9
+ - [`7d4e18ffddb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/7d4e18ffddb) - instrument analytics events for hover card
10
+ - [`a123e96fc62`](https://bitbucket.org/atlassian/atlassian-frontend/commits/a123e96fc62) - expose prop on smart card
11
+ - [`5af3b7aba2a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5af3b7aba2a) - Flexible UI: Fix icon-only action padding
12
+ - [`3e19e206713`](https://bitbucket.org/atlassian/atlassian-frontend/commits/3e19e206713) - Flexible UI: Enable css override on elements
13
+ - [`750cb867124`](https://bitbucket.org/atlassian/atlassian-frontend/commits/750cb867124) - Flexible UI: Enable css override on blocks
14
+
3
15
  ## 18.0.14
4
16
 
5
17
  ### Patch Changes
@@ -32,6 +32,9 @@ var useSmartLinkAnalytics = function useSmartLinkAnalytics(dispatchAnalytics) {
32
32
  });
33
33
  dispatchAnalytics((0, _analytics.uiActionClickedEvent)(extensionKey, actionType, display));
34
34
  },
35
+ hoverCardOpenLinkClickedEvent: function hoverCardOpenLinkClickedEvent(previewDisplay, definitionId, extensionKey, previewInvokeMethod) {
36
+ dispatchAnalytics((0, _analytics.uiHoverCardOpenLinkClickedEvent)(previewDisplay, definitionId, extensionKey, previewInvokeMethod));
37
+ },
35
38
  closedAuthEvent: function closedAuthEvent(display, definitionId, extensionKey) {
36
39
  return dispatchAnalytics((0, _analytics.uiClosedAuthEvent)(display, definitionId, extensionKey));
37
40
  },
@@ -45,6 +48,12 @@ var useSmartLinkAnalytics = function useSmartLinkAnalytics(dispatchAnalytics) {
45
48
  display: display
46
49
  });
47
50
  dispatchAnalytics((0, _analytics.uiRenderSuccessEvent)(display, definitionId, extensionKey));
51
+ },
52
+ hoverCardViewedEvent: function hoverCardViewedEvent(hoverDisplay, definitionId, extensionKey, previewInvokeMethod) {
53
+ return dispatchAnalytics((0, _analytics.uiHoverCardViewedEvent)(hoverDisplay, definitionId, extensionKey, previewInvokeMethod));
54
+ },
55
+ hoverCardDismissedEvent: function hoverCardDismissedEvent(hoverDisplay, hoverTime, definitionId, extensionKey, previewInvokeMethod) {
56
+ return dispatchAnalytics((0, _analytics.uiHoverCardDismissedEvent)(hoverDisplay, hoverTime, definitionId, extensionKey, previewInvokeMethod));
48
57
  }
49
58
  };
50
59
  }, [dispatchAnalytics]);
@@ -7,6 +7,10 @@ exports.useFlexibleUiContext = exports.FlexibleUiContext = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
+ /**
11
+ * This provides the data that will be used by Smart Links Flexible UI to populate it's
12
+ * underlying elements.
13
+ */
10
14
  var FlexibleUiContext = /*#__PURE__*/(0, _react.createContext)(undefined);
11
15
  exports.FlexibleUiContext = FlexibleUiContext;
12
16
 
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.unresolvedEvent = exports.uiRenderSuccessEvent = exports.uiRenderFailedEvent = exports.uiClosedAuthEvent = exports.uiCardClickedEvent = exports.uiAuthEvent = exports.uiAuthAlternateAccountEvent = exports.uiActionClickedEvent = exports.trackAppAccountConnected = exports.screenAuthPopupEvent = exports.resolvedEvent = exports.invokeSucceededEvent = exports.invokeFailedEvent = exports.fireSmartLinkEvent = exports.context = exports.connectSucceededEvent = exports.connectFailedEvent = exports.SmartLinkEvents = exports.ANALYTICS_CHANNEL = void 0;
8
+ exports.unresolvedEvent = exports.uiRenderSuccessEvent = exports.uiRenderFailedEvent = exports.uiHoverCardViewedEvent = exports.uiHoverCardOpenLinkClickedEvent = exports.uiHoverCardDismissedEvent = exports.uiClosedAuthEvent = exports.uiCardClickedEvent = exports.uiAuthEvent = exports.uiAuthAlternateAccountEvent = exports.uiActionClickedEvent = exports.trackAppAccountConnected = exports.screenAuthPopupEvent = exports.resolvedEvent = exports.invokeSucceededEvent = exports.invokeFailedEvent = exports.fireSmartLinkEvent = exports.context = exports.connectSucceededEvent = exports.connectFailedEvent = exports.SmartLinkEvents = exports.ANALYTICS_CHANNEL = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
@@ -317,4 +317,54 @@ var uiRenderFailedEvent = function uiRenderFailedEvent(display, error, errorInfo
317
317
  };
318
318
  };
319
319
 
320
- exports.uiRenderFailedEvent = uiRenderFailedEvent;
320
+ exports.uiRenderFailedEvent = uiRenderFailedEvent;
321
+
322
+ var uiHoverCardViewedEvent = function uiHoverCardViewedEvent(hoverDisplay, definitionId, extensionKey, previewInvokeMethod) {
323
+ return {
324
+ action: 'viewed',
325
+ actionSubject: 'hoverCard',
326
+ eventType: 'ui',
327
+ attributes: _objectSpread(_objectSpread({}, context), {}, {
328
+ definitionId: definitionId || '',
329
+ extensionKey: extensionKey || '',
330
+ hoverDisplay: hoverDisplay,
331
+ previewInvokeMethod: previewInvokeMethod
332
+ })
333
+ };
334
+ };
335
+
336
+ exports.uiHoverCardViewedEvent = uiHoverCardViewedEvent;
337
+
338
+ var uiHoverCardDismissedEvent = function uiHoverCardDismissedEvent(hoverDisplay, hoverTime, definitionId, extensionKey, previewInvokeMethod) {
339
+ return {
340
+ action: 'dismissed',
341
+ actionSubject: 'hoverCard',
342
+ eventType: 'ui',
343
+ attributes: _objectSpread(_objectSpread({}, context), {}, {
344
+ definitionId: definitionId || '',
345
+ extensionKey: extensionKey || '',
346
+ hoverTime: hoverTime,
347
+ hoverDisplay: hoverDisplay,
348
+ previewInvokeMethod: previewInvokeMethod
349
+ })
350
+ };
351
+ };
352
+
353
+ exports.uiHoverCardDismissedEvent = uiHoverCardDismissedEvent;
354
+
355
+ var uiHoverCardOpenLinkClickedEvent = function uiHoverCardOpenLinkClickedEvent(previewDisplay, definitionId, extensionKey, previewInvokeMethod) {
356
+ return {
357
+ action: 'clicked',
358
+ actionSubject: 'button',
359
+ actionSubjectId: 'shortcutGoToLink',
360
+ eventType: 'ui',
361
+ attributes: _objectSpread(_objectSpread({}, context), {}, {
362
+ definitionId: definitionId || '',
363
+ extensionKey: extensionKey || '',
364
+ previewDisplay: previewDisplay,
365
+ previewInvokeMethod: previewInvokeMethod
366
+ })
367
+ };
368
+ };
369
+
370
+ exports.uiHoverCardOpenLinkClickedEvent = uiHoverCardOpenLinkClickedEvent;
@@ -96,6 +96,24 @@ Object.defineProperty(exports, "uiClosedAuthEvent", {
96
96
  return _analytics.uiClosedAuthEvent;
97
97
  }
98
98
  });
99
+ Object.defineProperty(exports, "uiHoverCardDismissedEvent", {
100
+ enumerable: true,
101
+ get: function get() {
102
+ return _analytics.uiHoverCardDismissedEvent;
103
+ }
104
+ });
105
+ Object.defineProperty(exports, "uiHoverCardOpenLinkClickedEvent", {
106
+ enumerable: true,
107
+ get: function get() {
108
+ return _analytics.uiHoverCardOpenLinkClickedEvent;
109
+ }
110
+ });
111
+ Object.defineProperty(exports, "uiHoverCardViewedEvent", {
112
+ enumerable: true,
113
+ get: function get() {
114
+ return _analytics.uiHoverCardViewedEvent;
115
+ }
116
+ });
99
117
  Object.defineProperty(exports, "uiRenderFailedEvent", {
100
118
  enumerable: true,
101
119
  get: function get() {
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "18.0.14",
3
+ "version": "18.0.15",
4
4
  "sideEffects": false
5
5
  }
@@ -51,7 +51,8 @@ function CardWithUrlContent(_ref) {
51
51
  embedIframeRef = _ref.embedIframeRef,
52
52
  inlinePreloaderStyle = _ref.inlinePreloaderStyle,
53
53
  ui = _ref.ui,
54
- children = _ref.children;
54
+ children = _ref.children,
55
+ showHoverPreview = _ref.showHoverPreview;
55
56
 
56
57
  // Get state, actions for this card.
57
58
  var _useSmartLink = (0, _state.useSmartLink)(id, url, dispatchAnalytics),
@@ -155,7 +156,8 @@ function CardWithUrlContent(_ref) {
155
156
  isSelected: isSelected,
156
157
  onResolve: onResolve,
157
158
  testId: testId,
158
- inlinePreloaderStyle: inlinePreloaderStyle
159
+ inlinePreloaderStyle: inlinePreloaderStyle,
160
+ showHoverPreview: showHoverPreview
159
161
  });
160
162
 
161
163
  case 'block':
@@ -69,7 +69,8 @@ function CardWithURLRenderer(props) {
69
69
  inlinePreloaderStyle = props.inlinePreloaderStyle,
70
70
  createAnalyticsEvent = props.createAnalyticsEvent,
71
71
  children = props.children,
72
- ui = props.ui; // Wrapper around analytics.
72
+ ui = props.ui,
73
+ showHoverPreview = props.showHoverPreview; // Wrapper around analytics.
73
74
 
74
75
  var dispatchAnalytics = (0, _react.useCallback)(function (analyticsPayload) {
75
76
  if (analyticsPayload && analyticsPayload.attributes) {
@@ -122,7 +123,8 @@ function CardWithURLRenderer(props) {
122
123
  platform: platform,
123
124
  embedIframeRef: embedIframeRef,
124
125
  inlinePreloaderStyle: inlinePreloaderStyle,
125
- ui: ui
126
+ ui: ui,
127
+ showHoverPreview: showHoverPreview
126
128
  };
127
129
  return /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
128
130
  FallbackComponent: ErrorFallback,
@@ -29,7 +29,7 @@ var _token = require("../../../../../utils/token");
29
29
 
30
30
  var _utils2 = require("../../../../../utils");
31
31
 
32
- var _templateObject, _templateObject2, _sizeToSpacing;
32
+ var _templateObject, _templateObject2, _templateObject3, _sizeToSpacing;
33
33
 
34
34
  var getIconWidth = function getIconWidth(size) {
35
35
  switch (size) {
@@ -49,7 +49,18 @@ var getIconStyles = function getIconStyles(size) {
49
49
  };
50
50
 
51
51
  var getButtonStyle = function getButtonStyle(size, iconOnly) {
52
- return size === _constants.SmartLinkSize.Small ? (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1rem;\n button,\n button:hover,\n button:focus,\n button:active {\n line-height: 1rem;\n ", "\n }\n "])), iconOnly ? "\n padding: 0.125rem;\n " : "\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n ") : '';
52
+ switch (size) {
53
+ case _constants.SmartLinkSize.Large:
54
+ return iconOnly ? (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n button,\n button:hover,\n button:focus,\n button:active {\n padding: 0;\n > span {\n margin: 0;\n }\n }\n "]))) : '';
55
+
56
+ case _constants.SmartLinkSize.Small:
57
+ return (0, _core.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n font-size: 0.75rem;\n font-weight: 500;\n line-height: 1rem;\n button,\n button:hover,\n button:focus,\n button:active {\n line-height: 1rem;\n ", "\n }\n "])), iconOnly ? "\n padding: 0.125rem;\n " : "\n padding-left: 0.25rem;\n padding-right: 0.25rem;\n ");
58
+
59
+ case _constants.SmartLinkSize.XLarge:
60
+ case _constants.SmartLinkSize.Medium:
61
+ default:
62
+ return '';
63
+ }
53
64
  };
54
65
 
55
66
  var ActionIcon = function ActionIcon(_ref) {
@@ -63,6 +74,15 @@ var ActionIcon = function ActionIcon(_ref) {
63
74
  };
64
75
 
65
76
  var sizeToSpacing = (_sizeToSpacing = {}, (0, _defineProperty2.default)(_sizeToSpacing, _constants.SmartLinkSize.Small, 'none'), (0, _defineProperty2.default)(_sizeToSpacing, _constants.SmartLinkSize.Medium, 'compact'), (0, _defineProperty2.default)(_sizeToSpacing, _constants.SmartLinkSize.Large, 'compact'), (0, _defineProperty2.default)(_sizeToSpacing, _constants.SmartLinkSize.XLarge, 'default'), _sizeToSpacing);
77
+ /**
78
+ * An action that can be triggered with an on click.
79
+ * @public
80
+ * @param {ActionProps} ActionProps - The props necessary for the Action.
81
+ * @see DeleteAction
82
+ * @see EditAction
83
+ * @see CustomAction
84
+ */
85
+
66
86
  exports.sizeToSpacing = sizeToSpacing;
67
87
 
68
88
  var Action = function Action(_ref2) {
@@ -78,7 +98,8 @@ var Action = function Action(_ref2) {
78
98
  _ref2$iconPosition = _ref2.iconPosition,
79
99
  iconPosition = _ref2$iconPosition === void 0 ? 'before' : _ref2$iconPosition,
80
100
  tooltipMessage = _ref2.tooltipMessage,
81
- asDropDownItem = _ref2.asDropDownItem;
101
+ asDropDownItem = _ref2.asDropDownItem,
102
+ overrideCss = _ref2.overrideCss;
82
103
 
83
104
  if (!onClick) {
84
105
  return null;
@@ -107,7 +128,8 @@ var Action = function Action(_ref2) {
107
128
  return (0, _core.jsx)(_tooltip.default, {
108
129
  content: tooltipMessage
109
130
  }, (0, _core.jsx)("div", {
110
- css: getButtonStyle(size, iconOnly)
131
+ css: [getButtonStyle(size, iconOnly), overrideCss],
132
+ "data-testid": "".concat(testId, "-button-wrapper")
111
133
  }, (0, _core.jsx)(_customThemeButton.default, {
112
134
  spacing: sizeToSpacing[size],
113
135
  appearance: appearance,
@@ -12,11 +12,27 @@ var _utils = require("./utils");
12
12
  // Attention: Keep the export name and action name the same.
13
13
  // This will help reducing the code for mapping action inside
14
14
  // createAction and renderActionItems
15
- // UIActions infer that you do not need to get any data from the context.
16
- // DataActions infer that the action depends on the data from the context.
15
+
16
+ /**
17
+ * Creates a DeleteAction component. Accepts default ActionProps, but defaults
18
+ * the icon to a cross icon.
19
+ * @see Action
20
+ */
17
21
  var DeleteAction = (0, _utils.createUIAction)(_constants.ActionName.DeleteAction);
22
+ /**
23
+ * Creates a EditAction component. Accepts default ActionProps, but defaults
24
+ * the icon to an edit (pencil) icon.
25
+ * @see Action
26
+ */
27
+
18
28
  exports.DeleteAction = DeleteAction;
19
29
  var EditAction = (0, _utils.createUIAction)(_constants.ActionName.EditAction);
30
+ /**
31
+ * Creates a CustomAction component. Accepts default ActionProps. Required to provide
32
+ * your own icon or text.
33
+ * @see Action
34
+ */
35
+
20
36
  exports.EditAction = EditAction;
21
37
  var CustomAction = (0, _utils.createUIAction)(_constants.ActionName.CustomAction);
22
38
  exports.CustomAction = CustomAction;
@@ -34,6 +34,12 @@ var _excluded = ["triggerRef"];
34
34
  var _templateObject;
35
35
 
36
36
  var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: inline-flex;\n line-height: 1rem;\n"])));
37
+ /**
38
+ * Creates a group of Action components. Accepts an array of Actions, in addition to some styling
39
+ * preferences.
40
+ * @param {ActionGroupProps} ActionGroupProps
41
+ * @see Action
42
+ */
37
43
 
38
44
  var ActionGroup = function ActionGroup(_ref) {
39
45
  var _ref$items = _ref.items,
@@ -22,6 +22,13 @@ var _templateObject;
22
22
  var getBlockStyles = function getBlockStyles(direction, size) {
23
23
  return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n justify-content: flex-start;\n [data-separator] + [data-separator]:before {\n content: '\u2022';\n margin-right: ", "rem;\n }\n"])), (0, _utils.getBaseStyles)(direction, size), (0, _utils.getGapSize)(size));
24
24
  };
25
+ /**
26
+ * A block represents a collection of elements and actions that are arranged in a row.
27
+ * All elements and actions should be contained within a Block.
28
+ * @param {ActionGroupProps} ActionGroupProps
29
+ * @see Action
30
+ */
31
+
25
32
 
26
33
  var Block = function Block(_ref) {
27
34
  var children = _ref.children,
@@ -31,9 +38,9 @@ var Block = function Block(_ref) {
31
38
  size = _ref$size === void 0 ? _constants.SmartLinkSize.Medium : _ref$size,
32
39
  _ref$testId = _ref.testId,
33
40
  testId = _ref$testId === void 0 ? 'smart-block' : _ref$testId,
34
- extraCss = _ref.extraCss;
41
+ overrideCss = _ref.overrideCss;
35
42
  return (0, _core.jsx)("div", {
36
- css: [getBlockStyles(direction, size), extraCss],
43
+ css: [getBlockStyles(direction, size), overrideCss],
37
44
  "data-smart-block": true,
38
45
  "data-testid": testId
39
46
  }, (0, _utils.renderChildren)(children, size));
@@ -33,6 +33,13 @@ var getAlignmentStyles = function getAlignmentStyles(align) {
33
33
  var getElementGroupStyles = function getElementGroupStyles(direction, size, align, width) {
34
34
  return (0, _core.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n min-width: 10%;\n ", "\n"])), (0, _utils.getBaseStyles)(direction, size), getAlignmentStyles(align), width === _constants.SmartLinkWidth.Flexible ? "flex: 1 3;" : '');
35
35
  };
36
+ /**
37
+ * Creates a group of Action components. Accepts an array of Actions, in addition to some styling
38
+ * preferences.
39
+ * @param {ActionGroupProps} ActionGroupProps
40
+ * @see Action
41
+ */
42
+
36
43
 
37
44
  exports.getElementGroupStyles = getElementGroupStyles;
38
45
 
@@ -40,7 +47,7 @@ var ElementGroup = function ElementGroup(_ref) {
40
47
  var _ref$align = _ref.align,
41
48
  align = _ref$align === void 0 ? _constants.SmartLinkAlignment.Left : _ref$align,
42
49
  children = _ref.children,
43
- css = _ref.css,
50
+ overrideCss = _ref.overrideCss,
44
51
  _ref$direction = _ref.direction,
45
52
  direction = _ref$direction === void 0 ? _constants.SmartLinkDirection.Horizontal : _ref$direction,
46
53
  _ref$size = _ref.size,
@@ -50,7 +57,7 @@ var ElementGroup = function ElementGroup(_ref) {
50
57
  _ref$width = _ref.width,
51
58
  width = _ref$width === void 0 ? _constants.SmartLinkWidth.FitToContent : _ref$width;
52
59
  return (0, _core.jsx)("div", {
53
- css: [getElementGroupStyles(direction, size, align, width), css],
60
+ css: [getElementGroupStyles(direction, size, align, width), overrideCss],
54
61
  "data-smart-element-group": true,
55
62
  "data-testid": testId
56
63
  }, (0, _utils.renderChildren)(children, size));
@@ -21,6 +21,12 @@ var _elements = require("../../elements");
21
21
 
22
22
  var _actionGroup = _interopRequireDefault(require("../action-group"));
23
23
 
24
+ /**
25
+ * Represents a FooterBlock, designed to contain elements and actions that should appear
26
+ * at the bottom of a link card.
27
+ * @param {FooterBlockProps} FooterBlockProps
28
+ * @see Block
29
+ */
24
30
  var FooterBlock = function FooterBlock(props) {
25
31
  var status = props.status,
26
32
  actions = props.actions,
@@ -74,6 +74,13 @@ var getMaxLines = function getMaxLines(maxLines) {
74
74
 
75
75
  return maxLines;
76
76
  };
77
+ /**
78
+ * Represents a MetadataBlock, designed to contain groups of metadata in the form of elements.
79
+ * Accepts an array of elements to be shown either primary (left hand side) or secondary (right hand side).
80
+ * @param {MetadataBlockProps} MetadataBlockProps
81
+ * @see Block
82
+ */
83
+
77
84
 
78
85
  var MetadataBlock = function MetadataBlock(_ref) {
79
86
  var _ref$maxLines = _ref.maxLines,
@@ -101,12 +108,12 @@ var MetadataBlock = function MetadataBlock(_ref) {
101
108
  testId: "".concat(testId, "-resolved-view")
102
109
  }), primaryElements && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
103
110
  align: _constants.SmartLinkAlignment.Left,
104
- css: elementGroupStyles,
111
+ overrideCss: elementGroupStyles,
105
112
  direction: _constants.SmartLinkDirection.Horizontal,
106
113
  width: _constants.SmartLinkWidth.Flexible
107
114
  }, primaryElements), secondaryElements && /*#__PURE__*/_react.default.createElement(_elementGroup.default, {
108
115
  align: _constants.SmartLinkAlignment.Right,
109
- css: elementGroupStyles,
116
+ overrideCss: elementGroupStyles,
110
117
  direction: _constants.SmartLinkDirection.Horizontal,
111
118
  width: _constants.SmartLinkWidth.Flexible
112
119
  }, secondaryElements));
@@ -21,6 +21,11 @@ var _elements = require("../../elements");
21
21
 
22
22
  var _excluded = ["status", "testId"];
23
23
 
24
+ /**
25
+ * Represents a PreviewBlock, which typically contains media or other large format content.
26
+ * @param {PreviewBlock} PreviewBlock
27
+ * @see Block
28
+ */
24
29
  var PreviewBlock = function PreviewBlock(_ref) {
25
30
  var _ref$status = _ref.status,
26
31
  status = _ref$status === void 0 ? _constants.SmartLinkStatus.Fallback : _ref$status,
@@ -25,6 +25,11 @@ var _excluded = ["maxLines", "status", "testId"];
25
25
  var DEFAULT_MAX_LINES = 3;
26
26
  var MAXIMUM_MAX_LINES = 3;
27
27
  var MINIMUM_MAX_LINES = 1;
28
+ /**
29
+ * Represents a SnippetBlock, which is used to display longer form text content, like descriptions.
30
+ * @param {SnippetBlock} SnippetBlock
31
+ * @see Block
32
+ */
28
33
 
29
34
  var SnippetBlock = function SnippetBlock(_ref) {
30
35
  var _ref$maxLines = _ref.maxLines,
@@ -9,6 +9,8 @@ exports.default = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
12
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
15
 
14
16
  var _react = _interopRequireDefault(require("react"));
@@ -17,6 +19,10 @@ var _reactIntlNext = require("react-intl-next");
17
19
 
18
20
  var _core = require("@emotion/core");
19
21
 
22
+ var _elements = require("../../../elements");
23
+
24
+ var _block = _interopRequireDefault(require("../../block"));
25
+
20
26
  var _constants = require("../../../../../../constants");
21
27
 
22
28
  var _utils = require("../../../utils");
@@ -25,7 +31,7 @@ var _elementGroup = _interopRequireDefault(require("../../element-group"));
25
31
 
26
32
  var _token = require("../../../../../../utils/token");
27
33
 
28
- var _utils2 = require("../utils");
34
+ var _excluded = ["actionGroup", "retry", "position", "testId", "title"];
29
35
 
30
36
  var _templateObject, _templateObject2;
31
37
 
@@ -35,31 +41,45 @@ var getMessageStyles = function getMessageStyles(size, hasAction) {
35
41
  var sizeStyles = (0, _utils.getLinkSizeStyles)(size);
36
42
  return (0, _core.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n flex: 1 1 auto;\n justify-content: flex-end;\n ", "\n ", "\n ", "\n color: ", ";\n "])), hasAction ? actionStyles : '', sizeStyles, (0, _utils.getTruncateStyles)(1, (0, _utils.getLinkLineHeight)(size)), _token.tokens.errorMessage);
37
43
  };
38
-
39
- var TitleBlockErroredView = function TitleBlockErroredView(props) {
40
- var _props$size = props.size,
41
- size = _props$size === void 0 ? _constants.SmartLinkSize.Medium : _props$size,
42
- retry = props.retry,
43
- testId = props.testId;
44
-
45
- var _ref = retry || {},
46
- retryDescriptor = _ref.descriptor,
47
- onClick = _ref.onClick,
48
- retryValues = _ref.values;
49
-
44
+ /**
45
+ * Represents an Errored TitleBlock view.
46
+ * This will render when a Smart Link did not successfully resolve.
47
+ * This may be a result of a Smart Link not having the correct credentials,
48
+ * or the backend response was errored or malformed.
49
+ * @see TitleBlock
50
+ */
51
+
52
+
53
+ var TitleBlockErroredView = function TitleBlockErroredView(_ref) {
54
+ var actionGroup = _ref.actionGroup,
55
+ retry = _ref.retry,
56
+ position = _ref.position,
57
+ testId = _ref.testId,
58
+ title = _ref.title,
59
+ blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
60
+
61
+ var _ref2 = retry || {},
62
+ descriptor = _ref2.descriptor,
63
+ onClick = _ref2.onClick,
64
+ values = _ref2.values;
65
+
66
+ var _blockProps$size = blockProps.size,
67
+ size = _blockProps$size === void 0 ? _constants.SmartLinkSize.Medium : _blockProps$size;
50
68
  var hasAction = onClick !== undefined;
51
- return (0, _core.jsx)(_utils2.BaseTitleBlockComponent, (0, _extends2.default)({}, props, {
52
- blockTestIdPostfix: "errored-view"
53
- }), retryDescriptor && (0, _core.jsx)(_elementGroup.default, {
69
+ return (0, _core.jsx)(_block.default, (0, _extends2.default)({}, blockProps, {
70
+ testId: "".concat(testId, "-errored-view")
71
+ }), (0, _core.jsx)(_elements.LinkIcon, {
72
+ position: position
73
+ }), title, descriptor && (0, _core.jsx)(_elementGroup.default, {
54
74
  direction: _constants.SmartLinkDirection.Horizontal,
55
75
  align: _constants.SmartLinkAlignment.Right
56
76
  }, (0, _core.jsx)("span", {
57
77
  css: getMessageStyles(size, hasAction),
58
78
  onClick: onClick,
59
79
  "data-testid": "".concat(testId, "-errored-view-message")
60
- }, (0, _core.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, retryDescriptor, {
61
- values: retryValues
62
- })))));
80
+ }, (0, _core.jsx)(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, descriptor, {
81
+ values: values
82
+ })))), actionGroup);
63
83
  };
64
84
 
65
85
  var _default = TitleBlockErroredView;