@atlaskit/smart-card 18.0.21 → 19.0.1

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 (257) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/dist/cjs/client/index.js +6 -379
  3. package/dist/cjs/constants.js +4 -4
  4. package/dist/cjs/extractors/embed/index.js +2 -2
  5. package/dist/cjs/extractors/hover/extractMetadata.js +31 -0
  6. package/dist/cjs/index.js +7 -13
  7. package/dist/cjs/state/actions/constants.js +1 -13
  8. package/dist/cjs/state/actions/index.js +20 -22
  9. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +2 -2
  10. package/dist/cjs/state/config/index.js +2 -2
  11. package/dist/cjs/state/helpers.js +1 -9
  12. package/dist/cjs/state/hooks/usePrefetch.js +2 -2
  13. package/dist/cjs/state/index.js +4 -4
  14. package/dist/cjs/state/renderers/index.js +2 -2
  15. package/dist/cjs/state/store/index.js +5 -5
  16. package/dist/cjs/utils/mocks.js +2 -2
  17. package/dist/cjs/utils/test-utils.js +2 -2
  18. package/dist/cjs/version.json +1 -1
  19. package/dist/cjs/view/FlexibleCard/components/actions/action/index.js +2 -2
  20. package/dist/cjs/view/FlexibleCard/components/blocks/action-group/index.js +1 -0
  21. package/dist/cjs/view/FlexibleCard/components/blocks/block/index.js +3 -2
  22. package/dist/cjs/view/FlexibleCard/components/blocks/element-group/index.js +1 -0
  23. package/dist/cjs/view/FlexibleCard/components/blocks/footer-block/index.js +1 -0
  24. package/dist/cjs/view/FlexibleCard/components/blocks/metadata-block/index.js +1 -0
  25. package/dist/cjs/view/FlexibleCard/components/blocks/preview-block/index.js +1 -0
  26. package/dist/cjs/view/FlexibleCard/components/blocks/snippet-block/index.js +1 -0
  27. package/dist/cjs/view/FlexibleCard/components/blocks/title-block/index.js +2 -1
  28. package/dist/cjs/view/FlexibleCard/components/container/index.js +19 -6
  29. package/dist/cjs/view/FlexibleCard/components/container/layered-link/index.js +5 -0
  30. package/dist/cjs/view/FlexibleCard/components/elements/avatar-group/index.js +2 -2
  31. package/dist/cjs/view/FlexibleCard/components/elements/badge/index.js +2 -2
  32. package/dist/cjs/view/FlexibleCard/components/elements/date-time/index.js +2 -2
  33. package/dist/cjs/view/FlexibleCard/components/elements/icon/index.js +2 -2
  34. package/dist/cjs/view/FlexibleCard/components/elements/index.js +2 -2
  35. package/dist/cjs/view/FlexibleCard/components/elements/link/index.js +3 -3
  36. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/index.js +2 -2
  37. package/dist/cjs/view/FlexibleCard/components/elements/media/index.js +2 -2
  38. package/dist/cjs/view/FlexibleCard/components/elements/text/index.js +2 -2
  39. package/dist/cjs/view/HoverCard/index.js +11 -2
  40. package/dist/cjs/view/HoverCard/utils.js +36 -0
  41. package/dist/es2019/client/index.js +1 -214
  42. package/dist/es2019/constants.js +4 -4
  43. package/dist/es2019/extractors/embed/index.js +1 -1
  44. package/dist/es2019/extractors/hover/extractMetadata.js +18 -0
  45. package/dist/es2019/index.js +4 -4
  46. package/dist/es2019/state/actions/constants.js +0 -6
  47. package/dist/es2019/state/actions/index.js +4 -4
  48. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +1 -1
  49. package/dist/es2019/state/config/index.js +1 -1
  50. package/dist/es2019/state/helpers.js +0 -5
  51. package/dist/es2019/state/hooks/usePrefetch.js +1 -1
  52. package/dist/es2019/state/index.js +1 -1
  53. package/dist/es2019/state/renderers/index.js +1 -1
  54. package/dist/es2019/state/store/index.js +2 -2
  55. package/dist/es2019/utils/mocks.js +1 -1
  56. package/dist/es2019/utils/test-utils.js +1 -1
  57. package/dist/es2019/version.json +1 -1
  58. package/dist/es2019/view/FlexibleCard/components/actions/action/index.js +2 -2
  59. package/dist/es2019/view/FlexibleCard/components/blocks/action-group/index.js +1 -0
  60. package/dist/es2019/view/FlexibleCard/components/blocks/block/index.js +3 -2
  61. package/dist/es2019/view/FlexibleCard/components/blocks/element-group/index.js +1 -0
  62. package/dist/es2019/view/FlexibleCard/components/blocks/footer-block/index.js +1 -0
  63. package/dist/es2019/view/FlexibleCard/components/blocks/metadata-block/index.js +1 -0
  64. package/dist/es2019/view/FlexibleCard/components/blocks/preview-block/index.js +1 -0
  65. package/dist/es2019/view/FlexibleCard/components/blocks/snippet-block/index.js +1 -0
  66. package/dist/es2019/view/FlexibleCard/components/blocks/title-block/index.js +2 -1
  67. package/dist/es2019/view/FlexibleCard/components/container/index.js +19 -6
  68. package/dist/es2019/view/FlexibleCard/components/container/layered-link/index.js +5 -0
  69. package/dist/es2019/view/FlexibleCard/components/elements/avatar-group/index.js +2 -2
  70. package/dist/es2019/view/FlexibleCard/components/elements/badge/index.js +2 -2
  71. package/dist/es2019/view/FlexibleCard/components/elements/date-time/index.js +2 -2
  72. package/dist/es2019/view/FlexibleCard/components/elements/icon/index.js +2 -2
  73. package/dist/es2019/view/FlexibleCard/components/elements/index.js +2 -2
  74. package/dist/es2019/view/FlexibleCard/components/elements/link/index.js +3 -3
  75. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/index.js +2 -2
  76. package/dist/es2019/view/FlexibleCard/components/elements/media/index.js +2 -2
  77. package/dist/es2019/view/FlexibleCard/components/elements/text/index.js +2 -2
  78. package/dist/es2019/view/HoverCard/index.js +27 -18
  79. package/dist/es2019/view/HoverCard/utils.js +27 -0
  80. package/dist/esm/client/index.js +1 -360
  81. package/dist/esm/constants.js +4 -4
  82. package/dist/esm/extractors/embed/index.js +1 -1
  83. package/dist/esm/extractors/hover/extractMetadata.js +22 -0
  84. package/dist/esm/index.js +4 -4
  85. package/dist/esm/state/actions/constants.js +0 -6
  86. package/dist/esm/state/actions/index.js +4 -4
  87. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +1 -1
  88. package/dist/esm/state/config/index.js +1 -1
  89. package/dist/esm/state/helpers.js +0 -5
  90. package/dist/esm/state/hooks/usePrefetch.js +1 -1
  91. package/dist/esm/state/index.js +1 -1
  92. package/dist/esm/state/renderers/index.js +1 -1
  93. package/dist/esm/state/store/index.js +2 -2
  94. package/dist/esm/utils/mocks.js +1 -1
  95. package/dist/esm/utils/test-utils.js +1 -1
  96. package/dist/esm/version.json +1 -1
  97. package/dist/esm/view/FlexibleCard/components/actions/action/index.js +2 -2
  98. package/dist/esm/view/FlexibleCard/components/blocks/action-group/index.js +1 -0
  99. package/dist/esm/view/FlexibleCard/components/blocks/block/index.js +3 -2
  100. package/dist/esm/view/FlexibleCard/components/blocks/element-group/index.js +1 -0
  101. package/dist/esm/view/FlexibleCard/components/blocks/footer-block/index.js +1 -0
  102. package/dist/esm/view/FlexibleCard/components/blocks/metadata-block/index.js +1 -0
  103. package/dist/esm/view/FlexibleCard/components/blocks/preview-block/index.js +1 -0
  104. package/dist/esm/view/FlexibleCard/components/blocks/snippet-block/index.js +1 -0
  105. package/dist/esm/view/FlexibleCard/components/blocks/title-block/index.js +2 -1
  106. package/dist/esm/view/FlexibleCard/components/container/index.js +19 -6
  107. package/dist/esm/view/FlexibleCard/components/container/layered-link/index.js +5 -0
  108. package/dist/esm/view/FlexibleCard/components/elements/avatar-group/index.js +2 -2
  109. package/dist/esm/view/FlexibleCard/components/elements/badge/index.js +2 -2
  110. package/dist/esm/view/FlexibleCard/components/elements/date-time/index.js +2 -2
  111. package/dist/esm/view/FlexibleCard/components/elements/icon/index.js +2 -2
  112. package/dist/esm/view/FlexibleCard/components/elements/index.js +2 -2
  113. package/dist/esm/view/FlexibleCard/components/elements/link/index.js +3 -3
  114. package/dist/esm/view/FlexibleCard/components/elements/lozenge/index.js +2 -2
  115. package/dist/esm/view/FlexibleCard/components/elements/media/index.js +2 -2
  116. package/dist/esm/view/FlexibleCard/components/elements/text/index.js +2 -2
  117. package/dist/esm/view/HoverCard/index.js +10 -3
  118. package/dist/esm/view/HoverCard/utils.js +27 -0
  119. package/dist/types/__tests_external__/page-objects/BaseCard.d.ts +1 -2
  120. package/dist/types/client/index.d.ts +1 -18
  121. package/dist/types/constants.d.ts +4 -4
  122. package/dist/types/extractors/block/index.d.ts +1 -1
  123. package/dist/types/extractors/common/title-prefix/extractTitlePrefix.d.ts +1 -1
  124. package/dist/types/extractors/flexible/icon/extract-icon-renderer.d.ts +1 -1
  125. package/dist/types/extractors/flexible/icon/index.d.ts +1 -1
  126. package/dist/types/extractors/flexible/index.d.ts +1 -1
  127. package/dist/types/extractors/hover/extractMetadata.d.ts +3 -0
  128. package/dist/types/extractors/inline/index.d.ts +1 -1
  129. package/dist/types/index.d.ts +6 -6
  130. package/dist/types/model/invoke-opts.d.ts +1 -14
  131. package/dist/types/state/actions/constants.d.ts +0 -6
  132. package/dist/types/state/actions/types.d.ts +2 -13
  133. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +1 -2
  134. package/dist/types/state/config/index.d.ts +1 -1
  135. package/dist/types/state/helpers.d.ts +1 -3
  136. package/dist/types/state/hooks/useSmartLink.d.ts +6 -6
  137. package/dist/types/state/index.d.ts +3 -3
  138. package/dist/types/state/reducers/types.d.ts +1 -1
  139. package/dist/types/state/renderers/index.d.ts +1 -1
  140. package/dist/types/state/store/index.d.ts +2 -2
  141. package/dist/types/state/types.d.ts +1 -1
  142. package/dist/types/types.d.ts +2 -2
  143. package/dist/types/utils/analytics/analytics.d.ts +1 -1
  144. package/dist/types/utils/analytics/index.d.ts +1 -2
  145. package/dist/types/utils/performance.d.ts +1 -1
  146. package/dist/types/view/BlockCard/types.d.ts +1 -1
  147. package/dist/types/view/Card/types.d.ts +2 -3
  148. package/dist/types/view/FlexibleCard/components/actions/action/index.d.ts +2 -2
  149. package/dist/types/view/FlexibleCard/components/actions/action/types.d.ts +43 -0
  150. package/dist/types/view/FlexibleCard/components/blocks/action-group/index.d.ts +1 -0
  151. package/dist/types/view/FlexibleCard/components/blocks/action-group/types.d.ts +25 -0
  152. package/dist/types/view/FlexibleCard/components/blocks/block/index.d.ts +3 -2
  153. package/dist/types/view/FlexibleCard/components/blocks/element-group/index.d.ts +1 -0
  154. package/dist/types/view/FlexibleCard/components/blocks/footer-block/index.d.ts +1 -0
  155. package/dist/types/view/FlexibleCard/components/blocks/footer-block/types.d.ts +8 -2
  156. package/dist/types/view/FlexibleCard/components/blocks/metadata-block/index.d.ts +1 -0
  157. package/dist/types/view/FlexibleCard/components/blocks/metadata-block/types.d.ts +22 -2
  158. package/dist/types/view/FlexibleCard/components/blocks/preview-block/index.d.ts +1 -0
  159. package/dist/types/view/FlexibleCard/components/blocks/snippet-block/index.d.ts +1 -0
  160. package/dist/types/view/FlexibleCard/components/blocks/snippet-block/types.d.ts +6 -2
  161. package/dist/types/view/FlexibleCard/components/blocks/title-block/index.d.ts +2 -1
  162. package/dist/types/view/FlexibleCard/components/blocks/title-block/types.d.ts +63 -13
  163. package/dist/types/view/FlexibleCard/components/blocks/types.d.ts +68 -2
  164. package/dist/types/view/FlexibleCard/components/common/loading-skeleton/types.d.ts +5 -0
  165. package/dist/types/view/FlexibleCard/components/container/index.d.ts +5 -1
  166. package/dist/types/view/FlexibleCard/components/container/layered-link/index.d.ts +5 -0
  167. package/dist/types/view/FlexibleCard/components/container/types.d.ts +20 -10
  168. package/dist/types/view/FlexibleCard/components/elements/avatar-group/index.d.ts +2 -2
  169. package/dist/types/view/FlexibleCard/components/elements/avatar-group/types.d.ts +12 -0
  170. package/dist/types/view/FlexibleCard/components/elements/badge/index.d.ts +2 -2
  171. package/dist/types/view/FlexibleCard/components/elements/badge/types.d.ts +10 -0
  172. package/dist/types/view/FlexibleCard/components/elements/date-time/index.d.ts +2 -2
  173. package/dist/types/view/FlexibleCard/components/elements/date-time/types.d.ts +6 -0
  174. package/dist/types/view/FlexibleCard/components/elements/icon/index.d.ts +2 -2
  175. package/dist/types/view/FlexibleCard/components/elements/icon/types.d.ts +16 -3
  176. package/dist/types/view/FlexibleCard/components/elements/index.d.ts +2 -2
  177. package/dist/types/view/FlexibleCard/components/elements/link/index.d.ts +3 -3
  178. package/dist/types/view/FlexibleCard/components/elements/link/types.d.ts +21 -1
  179. package/dist/types/view/FlexibleCard/components/elements/lozenge/index.d.ts +2 -2
  180. package/dist/types/view/FlexibleCard/components/elements/lozenge/types.d.ts +6 -0
  181. package/dist/types/view/FlexibleCard/components/elements/media/index.d.ts +2 -2
  182. package/dist/types/view/FlexibleCard/components/elements/media/types.d.ts +6 -0
  183. package/dist/types/view/FlexibleCard/components/elements/text/index.d.ts +2 -2
  184. package/dist/types/view/FlexibleCard/components/elements/text/types.d.ts +10 -0
  185. package/dist/types/view/FlexibleCard/components/elements/types.d.ts +11 -0
  186. package/dist/types/view/FlexibleCard/components/types.d.ts +1 -0
  187. package/dist/types/view/FlexibleCard/types.d.ts +73 -3
  188. package/dist/types/view/FlexibleCard/utils.d.ts +1 -1
  189. package/dist/types/view/HoverCard/types.d.ts +5 -0
  190. package/dist/types/view/HoverCard/utils.d.ts +2 -0
  191. package/dist/types/view/InlineCard/types.d.ts +1 -1
  192. package/docs-helpers/flexible-ui-action-item.tsx +6 -0
  193. package/docs-helpers/flexible-ui-actions-prop.tsx +6 -0
  194. package/docs-helpers/flexible-ui-element-item.tsx +6 -0
  195. package/docs-helpers/flexible-ui-prop.tsx +6 -0
  196. package/docs-helpers/flexible-ui.tsx +28 -0
  197. package/package.json +3 -9
  198. package/dist/cjs/client/api.js +0 -119
  199. package/dist/cjs/client/errors.js +0 -55
  200. package/dist/cjs/client/types/index.js +0 -5
  201. package/dist/cjs/client/types/requests.js +0 -5
  202. package/dist/cjs/client/types/responses.js +0 -31
  203. package/dist/cjs/client/utils/environments.js +0 -47
  204. package/dist/cjs/providers/editor/index.js +0 -283
  205. package/dist/cjs/providers/editor/transformer.js +0 -90
  206. package/dist/cjs/providers/editor/types.js +0 -5
  207. package/dist/cjs/state/actions/helpers.js +0 -18
  208. package/dist/cjs/state/context/index.js +0 -34
  209. package/dist/cjs/state/context/provider.js +0 -74
  210. package/dist/cjs/state/context/types.js +0 -5
  211. package/dist/cjs/state/reducers/index.js +0 -89
  212. package/dist/cjs/state/store/types.js +0 -5
  213. package/dist/es2019/client/api.js +0 -38
  214. package/dist/es2019/client/errors.js +0 -19
  215. package/dist/es2019/client/types/index.js +0 -1
  216. package/dist/es2019/client/types/requests.js +0 -1
  217. package/dist/es2019/client/types/responses.js +0 -19
  218. package/dist/es2019/client/utils/environments.js +0 -33
  219. package/dist/es2019/providers/editor/index.js +0 -82
  220. package/dist/es2019/providers/editor/transformer.js +0 -57
  221. package/dist/es2019/providers/editor/types.js +0 -1
  222. package/dist/es2019/state/actions/helpers.js +0 -8
  223. package/dist/es2019/state/context/index.js +0 -14
  224. package/dist/es2019/state/context/provider.js +0 -51
  225. package/dist/es2019/state/context/types.js +0 -1
  226. package/dist/es2019/state/reducers/index.js +0 -74
  227. package/dist/es2019/state/store/types.js +0 -1
  228. package/dist/esm/client/api.js +0 -98
  229. package/dist/esm/client/errors.js +0 -40
  230. package/dist/esm/client/types/index.js +0 -1
  231. package/dist/esm/client/types/requests.js +0 -1
  232. package/dist/esm/client/types/responses.js +0 -19
  233. package/dist/esm/client/utils/environments.js +0 -33
  234. package/dist/esm/providers/editor/index.js +0 -257
  235. package/dist/esm/providers/editor/transformer.js +0 -79
  236. package/dist/esm/providers/editor/types.js +0 -1
  237. package/dist/esm/state/actions/helpers.js +0 -9
  238. package/dist/esm/state/context/index.js +0 -14
  239. package/dist/esm/state/context/provider.js +0 -50
  240. package/dist/esm/state/context/types.js +0 -1
  241. package/dist/esm/state/reducers/index.js +0 -69
  242. package/dist/esm/state/store/types.js +0 -1
  243. package/dist/types/client/api.d.ts +0 -5
  244. package/dist/types/client/errors.d.ts +0 -9
  245. package/dist/types/client/types/index.d.ts +0 -13
  246. package/dist/types/client/types/requests.d.ts +0 -9
  247. package/dist/types/client/types/responses.d.ts +0 -19
  248. package/dist/types/client/utils/environments.d.ts +0 -12
  249. package/dist/types/providers/editor/index.d.ts +0 -22
  250. package/dist/types/providers/editor/transformer.d.ts +0 -8
  251. package/dist/types/providers/editor/types.d.ts +0 -19
  252. package/dist/types/state/actions/helpers.d.ts +0 -2
  253. package/dist/types/state/context/index.d.ts +0 -8
  254. package/dist/types/state/context/provider.d.ts +0 -5
  255. package/dist/types/state/context/types.d.ts +0 -39
  256. package/dist/types/state/reducers/index.d.ts +0 -4
  257. package/dist/types/state/store/types.d.ts +0 -18
@@ -17,18 +17,16 @@ var _react = require("react");
17
17
 
18
18
  var _outboundAuthFlowClient = require("@atlaskit/outbound-auth-flow-client");
19
19
 
20
- var _helpers = require("./helpers");
20
+ var _linkingCommon = require("@atlaskit/linking-common");
21
21
 
22
- var _helpers2 = require("../helpers");
22
+ var _linkProvider = require("@atlaskit/link-provider");
23
23
 
24
- var _constants = require("./constants");
24
+ var _helpers = require("../helpers");
25
25
 
26
- var _context3 = require("../context");
26
+ var _constants = require("./constants");
27
27
 
28
28
  var measure = _interopRequireWildcard(require("../../utils/performance"));
29
29
 
30
- var _errors = require("../../client/errors");
31
-
32
30
  var _jsonld = require("../../utils/jsonld");
33
31
 
34
32
  var _analytics = require("../analytics");
@@ -38,7 +36,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
38
36
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
37
 
40
38
  var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
41
- var _useSmartLinkContext = (0, _context3.useSmartLinkContext)(),
39
+ var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
42
40
  store = _useSmartLinkContext.store,
43
41
  connections = _useSmartLinkContext.connections,
44
42
  config = _useSmartLinkContext.config;
@@ -60,7 +58,7 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
60
58
  // If there's no previous data in the store for this URL, then bail
61
59
  // out and let the editor handle fallbacks (returns to a blue link).
62
60
  if (!hasData && status !== 'resolved') {
63
- dispatch((0, _helpers.cardAction)(_constants.ACTION_ERROR, {
61
+ dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_ERROR, {
64
62
  url: url
65
63
  }, details, error));
66
64
  throw error;
@@ -69,25 +67,25 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
69
67
 
70
68
 
71
69
  if (hasData) {
72
- dispatch((0, _helpers.cardAction)(_constants.ACTION_RESOLVED, {
70
+ dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RESOLVED, {
73
71
  url: url
74
72
  }, details));
75
73
  } // Handle AuthErrors (user did not have access to resource) -
76
74
  // Missing AAID in ASAP claims, or missing UserContext, or 403 from downstream
77
75
 
78
76
  } else if (error.kind === 'auth') {
79
- dispatch((0, _helpers.cardAction)(_constants.ACTION_RESOLVED, {
77
+ dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RESOLVED, {
80
78
  url: url
81
79
  }, (0, _jsonld.getUnauthorizedJsonLd)()));
82
80
  } else {
83
81
  if (error.kind === 'fallback') {
84
82
  // Fallback to blue link with smart link formatting. Not part of reliability.
85
- dispatch((0, _helpers.cardAction)(_constants.ACTION_ERROR_FALLBACK, {
83
+ dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_ERROR_FALLBACK, {
86
84
  url: url
87
85
  }, undefined, error));
88
86
  } else {
89
87
  // Fallback to blue link with smart link formatting. Part of reliability.
90
- dispatch((0, _helpers.cardAction)(_constants.ACTION_ERROR, {
88
+ dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_ERROR, {
91
89
  url: url
92
90
  }, undefined, error));
93
91
  }
@@ -95,22 +93,22 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
95
93
  }, [hasData, status, dispatch, details]);
96
94
  var handleResolvedLinkResponse = (0, _react.useCallback)(function (resourceUrl, response) {
97
95
  var hostname = new URL(resourceUrl).hostname;
98
- var nextStatus = response ? (0, _helpers2.getStatus)(response) : 'fatal'; // If we require authorization & do not have an authFlow available,
96
+ var nextStatus = response ? (0, _helpers.getStatus)(response) : 'fatal'; // If we require authorization & do not have an authFlow available,
99
97
  // throw an error and render as a normal blue link.
100
98
 
101
99
  if ((nextStatus === 'unauthorized' || nextStatus === 'forbidden') && !hasAuthFlowSupported) {
102
- handleResolvedLinkError(resourceUrl, new _errors.APIError('fallback', hostname, _constants.ERROR_MESSAGE_OAUTH));
100
+ handleResolvedLinkError(resourceUrl, new _linkingCommon.APIError('fallback', hostname, _constants.ERROR_MESSAGE_OAUTH));
103
101
  return;
104
102
  } // Handle any other errors
105
103
 
106
104
 
107
105
  if (nextStatus === 'fatal') {
108
- handleResolvedLinkError(resourceUrl, new _errors.APIError('fatal', hostname, _constants.ERROR_MESSAGE_FATAL));
106
+ handleResolvedLinkError(resourceUrl, new _linkingCommon.APIError('fatal', hostname, _constants.ERROR_MESSAGE_FATAL));
109
107
  return;
110
108
  } // Dispatch Analytics and resolved card action - including unauthorized states.
111
109
 
112
110
 
113
- dispatch((0, _helpers.cardAction)(_constants.ACTION_RESOLVED, {
111
+ dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_RESOLVED, {
114
112
  url: resourceUrl
115
113
  }, response));
116
114
  }, [dispatch, handleResolvedLinkError, hasAuthFlowSupported]);
@@ -150,7 +148,7 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
150
148
  })), [url, hasData, connections.client, handleResolvedLinkResponse, handleResolvedLinkError, id]);
151
149
  var register = (0, _react.useCallback)(function () {
152
150
  if (!details) {
153
- dispatch((0, _helpers.cardAction)(_constants.ACTION_PENDING, {
151
+ dispatch((0, _linkingCommon.cardAction)(_linkingCommon.ACTION_PENDING, {
154
152
  url: url
155
153
  }));
156
154
  }
@@ -158,10 +156,10 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
158
156
  return resolve();
159
157
  }, [url, resolve, details, dispatch]);
160
158
  var reload = (0, _react.useCallback)(function () {
161
- var definitionId = (0, _helpers2.getDefinitionId)(details);
159
+ var definitionId = (0, _helpers.getDefinitionId)(details);
162
160
 
163
161
  if (definitionId) {
164
- (0, _helpers2.getByDefinitionId)(definitionId, getState()).map(function (url) {
162
+ (0, _helpers.getByDefinitionId)(definitionId, getState()).map(function (url) {
165
163
  return resolve(url, true);
166
164
  });
167
165
  } else {
@@ -169,9 +167,9 @@ var useSmartCardActions = function useSmartCardActions(id, url, analytics) {
169
167
  }
170
168
  }, [url, details, getState, resolve]);
171
169
  var authorize = (0, _react.useCallback)(function (appearance) {
172
- var definitionId = (0, _helpers2.getDefinitionId)(details);
173
- var extensionKey = (0, _helpers2.getExtensionKey)(details);
174
- var services = (0, _helpers2.getServices)(details); // When authentication is triggered, let GAS know!
170
+ var definitionId = (0, _helpers.getDefinitionId)(details);
171
+ var extensionKey = (0, _helpers.getExtensionKey)(details);
172
+ var services = (0, _helpers.getServices)(details); // When authentication is triggered, let GAS know!
175
173
 
176
174
  if (status === 'unauthorized') {
177
175
  analytics.ui.authEvent(appearance, definitionId, extensionKey);
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useSmartLinkAnalytics = void 0;
7
7
 
8
- var _analytics = require("../../utils/analytics");
9
-
10
8
  var _react = require("react");
11
9
 
10
+ var _analytics = require("../../utils/analytics");
11
+
12
12
  var _ufoExperiences = require("./ufoExperiences");
13
13
 
14
14
  var useSmartLinkAnalytics = function useSmartLinkAnalytics(dispatchAnalytics) {
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useSmartLinkConfig = void 0;
7
7
 
8
- var _context = require("../context");
8
+ var _linkProvider = require("@atlaskit/link-provider");
9
9
 
10
10
  var useSmartLinkConfig = function useSmartLinkConfig() {
11
- var context = (0, _context.useSmartLinkContext)();
11
+ var context = (0, _linkProvider.useSmartLinkContext)();
12
12
 
13
13
  if (context) {
14
14
  return context.config;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.isVisible = exports.isFinalState = exports.isAccessible = exports.hasResolved = exports.getUrl = exports.getStatus = exports.getServices = exports.getResourceType = exports.getExtensionKey = exports.getDefinitionId = exports.getClickUrl = exports.getByDefinitionId = void 0;
6
+ exports.isVisible = exports.isFinalState = exports.isAccessible = exports.hasResolved = exports.getStatus = exports.getServices = exports.getResourceType = exports.getExtensionKey = exports.getDefinitionId = exports.getClickUrl = exports.getByDefinitionId = void 0;
7
7
 
8
8
  var _extractVisitUrl = require("../extractors/common/primitives/extractVisitUrl");
9
9
 
@@ -17,14 +17,6 @@ var getByDefinitionId = function getByDefinitionId(definitionId, store) {
17
17
 
18
18
  exports.getByDefinitionId = getByDefinitionId;
19
19
 
20
- var getUrl = function getUrl(store, url) {
21
- return store.getState()[url] || {
22
- status: 'pending'
23
- };
24
- };
25
-
26
- exports.getUrl = getUrl;
27
-
28
20
  var getClickUrl = function getClickUrl(url, jsonLd) {
29
21
  if (jsonLd && jsonLd.data) {
30
22
  var visitUrl = (0, _extractVisitUrl.extractVisitUrl)(jsonLd.data);
@@ -13,10 +13,10 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
13
13
 
14
14
  var _react = require("react");
15
15
 
16
- var _context2 = require("../context");
16
+ var _linkProvider = require("@atlaskit/link-provider");
17
17
 
18
18
  function usePrefetch(url) {
19
- var _useSmartLinkContext = (0, _context2.useSmartLinkContext)(),
19
+ var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
20
20
  store = _useSmartLinkContext.store,
21
21
  prefetchStore = _useSmartLinkContext.prefetchStore,
22
22
  connections = _useSmartLinkContext.connections;
@@ -6,13 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  Object.defineProperty(exports, "SmartCardContext", {
7
7
  enumerable: true,
8
8
  get: function get() {
9
- return _context.SmartCardContext;
9
+ return _linkProvider.SmartCardContext;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "SmartCardProvider", {
13
13
  enumerable: true,
14
14
  get: function get() {
15
- return _context.SmartCardProvider;
15
+ return _linkProvider.SmartCardProvider;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "usePrefetch", {
@@ -30,10 +30,10 @@ Object.defineProperty(exports, "useSmartLink", {
30
30
  Object.defineProperty(exports, "useSmartLinkContext", {
31
31
  enumerable: true,
32
32
  get: function get() {
33
- return _context.useSmartLinkContext;
33
+ return _linkProvider.useSmartLinkContext;
34
34
  }
35
35
  });
36
36
 
37
- var _context = require("./context");
37
+ var _linkProvider = require("@atlaskit/link-provider");
38
38
 
39
39
  var _hooks = require("./hooks");
@@ -7,10 +7,10 @@ exports.useSmartLinkRenderers = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- var _context = require("../context");
10
+ var _linkProvider = require("@atlaskit/link-provider");
11
11
 
12
12
  var useSmartLinkRenderers = function useSmartLinkRenderers() {
13
- var context = (0, _context.useSmartLinkContext)();
13
+ var context = (0, _linkProvider.useSmartLinkContext)();
14
14
  var renderers = context === null || context === void 0 ? void 0 : context.renderers;
15
15
  renderers = (0, _react.useMemo)(function () {
16
16
  return renderers;
@@ -11,16 +11,16 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
 
12
12
  var _react = require("react");
13
13
 
14
- var _context = require("../context");
14
+ var _linkProvider = require("@atlaskit/link-provider");
15
15
 
16
- var _helpers = require("../helpers");
16
+ var _linkingCommon = require("@atlaskit/linking-common");
17
17
 
18
18
  function useSmartCardState(url) {
19
- var _useSmartLinkContext = (0, _context.useSmartLinkContext)(),
19
+ var _useSmartLinkContext = (0, _linkProvider.useSmartLinkContext)(),
20
20
  store = _useSmartLinkContext.store; // Initially, card state should be pending and 'empty'.
21
21
 
22
22
 
23
- var _useState = (0, _react.useState)((0, _helpers.getUrl)(store, url)),
23
+ var _useState = (0, _react.useState)((0, _linkingCommon.getUrl)(store, url)),
24
24
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
25
25
  state = _useState2[0],
26
26
  setState = _useState2[1]; // Selector for initial and subsequent states.
@@ -28,7 +28,7 @@ function useSmartCardState(url) {
28
28
 
29
29
  (0, _react.useEffect)(function () {
30
30
  var unsubscribe = store.subscribe(function () {
31
- setState((0, _helpers.getUrl)(store, url));
31
+ setState((0, _linkingCommon.getUrl)(store, url));
32
32
  });
33
33
  return function () {
34
34
  return unsubscribe();
@@ -21,7 +21,7 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
21
21
 
22
22
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
23
 
24
- var _client = _interopRequireDefault(require("../client"));
24
+ var _linkProvider = require("@atlaskit/link-provider");
25
25
 
26
26
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
27
27
 
@@ -245,7 +245,7 @@ var fakeFactory = function fakeFactory(implementation, implementationPost, imple
245
245
  }()
246
246
  }]);
247
247
  return CustomClient;
248
- }(_client.default);
248
+ }(_linkProvider.CardClient);
249
249
  };
250
250
 
251
251
  exports.fakeFactory = fakeFactory;
@@ -11,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
 
12
12
  var _react = _interopRequireDefault(require("react"));
13
13
 
14
- var _client = _interopRequireDefault(require("../client"));
14
+ var _linkProvider = require("@atlaskit/link-provider");
15
15
 
16
16
  var _state = require("../state");
17
17
 
@@ -30,7 +30,7 @@ exports.renderHook = renderHook;
30
30
 
31
31
  var renderSmartLinkHook = function renderSmartLinkHook(callback, providerProps) {
32
32
  return /*#__PURE__*/_react.default.createElement(_state.SmartCardProvider, (0, _extends2.default)({
33
- client: new _client.default()
33
+ client: new _linkProvider.CardClient()
34
34
  }, providerProps), /*#__PURE__*/_react.default.createElement(Hook, {
35
35
  callback: callback
36
36
  }), ";");
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/smart-card",
3
- "version": "18.0.21",
3
+ "version": "19.0.1",
4
4
  "sideEffects": false
5
5
  }
@@ -75,8 +75,8 @@ var ActionIcon = function ActionIcon(_ref) {
75
75
 
76
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
77
  /**
78
- * An action that can be triggered with an on click.
79
- * @public
78
+ * A base action that can be triggered with an on click.
79
+ * @internal
80
80
  * @param {ActionProps} ActionProps - The props necessary for the Action.
81
81
  * @see DeleteAction
82
82
  * @see EditAction
@@ -39,6 +39,7 @@ var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTem
39
39
  /**
40
40
  * Creates a group of Action components. Accepts an array of Actions, in addition to some styling
41
41
  * preferences.
42
+ * @internal
42
43
  * @param {ActionGroupProps} ActionGroupProps
43
44
  * @see Action
44
45
  */
@@ -23,8 +23,9 @@ 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
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.
26
+ * A block represents a collection of elements and actions that are arranged
27
+ * in a row. All elements and actions should be contained within a Block.
28
+ * @internal
28
29
  * @param {ActionGroupProps} ActionGroupProps
29
30
  * @see Action
30
31
  */
@@ -36,6 +36,7 @@ var getElementGroupStyles = function getElementGroupStyles(direction, size, alig
36
36
  /**
37
37
  * Creates a group of Action components. Accepts an array of Actions, in addition to some styling
38
38
  * preferences.
39
+ * @internal
39
40
  * @param {ActionGroupProps} ActionGroupProps
40
41
  * @see Action
41
42
  */
@@ -24,6 +24,7 @@ var _actionGroup = _interopRequireDefault(require("../action-group"));
24
24
  /**
25
25
  * Represents a FooterBlock, designed to contain elements and actions that should appear
26
26
  * at the bottom of a link card.
27
+ * @public
27
28
  * @param {FooterBlockProps} FooterBlockProps
28
29
  * @see Block
29
30
  */
@@ -77,6 +77,7 @@ var getMaxLines = function getMaxLines(maxLines) {
77
77
  /**
78
78
  * Represents a MetadataBlock, designed to contain groups of metadata in the form of elements.
79
79
  * Accepts an array of elements to be shown either primary (left hand side) or secondary (right hand side).
80
+ * @public
80
81
  * @param {MetadataBlockProps} MetadataBlockProps
81
82
  * @see Block
82
83
  */
@@ -23,6 +23,7 @@ var _excluded = ["status", "testId"];
23
23
 
24
24
  /**
25
25
  * Represents a PreviewBlock, which typically contains media or other large format content.
26
+ * @public
26
27
  * @param {PreviewBlock} PreviewBlock
27
28
  * @see Block
28
29
  */
@@ -27,6 +27,7 @@ var MAXIMUM_MAX_LINES = 3;
27
27
  var MINIMUM_MAX_LINES = 1;
28
28
  /**
29
29
  * Represents a SnippetBlock, which is used to display longer form text content, like descriptions.
30
+ * @public
30
31
  * @param {SnippetBlock} SnippetBlock
31
32
  * @see Block
32
33
  */
@@ -66,10 +66,11 @@ var getTitleBlockViewComponent = function getTitleBlockViewComponent(status) {
66
66
  }
67
67
  };
68
68
  /**
69
- * Represents a TitleBlock, which is the foundation of all Flexible Smart Links.
69
+ * Represents a TitleBlock, which is the foundation of Flexible UI.
70
70
  * This contains an icon, the link, and any associated metadata and actions in one block.
71
71
  * The TitleBlock will also render differently given the state of the smart link.
72
72
  * This can be found in the corresponding Resolving, Resolved and Errored views.
73
+ * @public
73
74
  * @param {TitleBlockProps} TitleBlockProps
74
75
  * @see Block
75
76
  * @see TitleBlockResolvingView
@@ -79,12 +79,21 @@ var renderChildren = function renderChildren(children, containerSize, containerT
79
79
  return _react.default.Children.map(children, function (child) {
80
80
  if ( /*#__PURE__*/_react.default.isValidElement(child) && (0, _flexible.isFlexibleUiBlock)(child)) {
81
81
  var blockSize = child.props.size;
82
+ var size = blockSize || containerSize;
83
+
84
+ if ((0, _flexible.isFlexibleUiTitleBlock)(child)) {
85
+ return /*#__PURE__*/_react.default.cloneElement(child, {
86
+ onClick: onClick,
87
+ retry: retry,
88
+ size: size,
89
+ status: status,
90
+ theme: containerTheme
91
+ });
92
+ }
93
+
82
94
  return /*#__PURE__*/_react.default.cloneElement(child, {
83
- onClick: onClick,
84
- retry: (0, _flexible.isFlexibleUiTitleBlock)(child) ? retry : undefined,
85
- size: blockSize || containerSize,
86
- status: status,
87
- theme: containerTheme
95
+ size: size,
96
+ status: status
88
97
  });
89
98
  }
90
99
  });
@@ -118,7 +127,11 @@ var getLayeredLink = function getLayeredLink(testId, context, children) {
118
127
  });
119
128
  };
120
129
  /**
121
- * This represents the container in which all Flexible UI Smart Links are rendered.
130
+ * A container is a hidden component that build the Flexible Smart Link.
131
+ * All of the Flexible UI components are wrapped inside the container.
132
+ * It inherits the ui props from Card component and applies the custom styling
133
+ * accordingly.
134
+ * @internal
122
135
  * @see Block
123
136
  */
124
137
 
@@ -16,6 +16,11 @@ var _core = require("@emotion/core");
16
16
  var _templateObject;
17
17
 
18
18
  var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n // Stretch the invisible link over the whole of the post.\n // Hide the link\u2019s text.\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n overflow-x: hidden;\n text-indent: 100%;\n white-space: nowrap;\n\n // Needs a heightened specificity to trump other anchor.\n // Stack it under all other links in the post text.\n a&.layered-link {\n position: absolute;\n z-index: 0;\n }\n\n // When hovering over the layered link, any hidden action buttons inside\n // the Container should become visible.\n // As actions resides inside blocks and layered link is expected to be\n // on the same level of blocks. That makes the blocks, e.g. TitleBlock,\n // its sibling. Using general sibling combinator here to apply styling to\n // all the siblings of layered link.\n // The general sibling combinator (~) separates two selectors and matches all\n // iterations of the second element, that are following the first element\n // (though not necessarily immediately), and are children of the same parent\n // element.\n &:hover ~ * {\n .actions-button-group {\n opacity: 1;\n }\n }\n"])));
19
+ /**
20
+ * An anchor component to cover the entire container creating a clickable area.
21
+ * @internal
22
+ * @see `clickableContainer`
23
+ */
19
24
 
20
25
  var LayeredLink = function LayeredLink(_ref) {
21
26
  var target = _ref.target,
@@ -35,8 +35,8 @@ var getStyles = function getStyles(size) {
35
35
  }
36
36
  };
37
37
  /**
38
- * An element that displays a group of avatars.
39
- * @public
38
+ * A base element that displays a group of avatars.
39
+ * @internal
40
40
  * @param {AvatarGroupProps} AvatarGroupProps - The props necessary for the AvatarGroup.
41
41
  * @see AuthorGroup
42
42
  * @see CollaboratorGroup
@@ -65,8 +65,8 @@ var renderImageIcon = function renderImageIcon(url, testId) {
65
65
  }
66
66
  };
67
67
  /**
68
- * An element that displays some text with an associated icon.
69
- * @public
68
+ * A base element that displays some text with an associated icon.
69
+ * @internal
70
70
  * @param {BadgeProps} BadgeProps - The props necessary for the Badge.
71
71
  * @see CommentCount
72
72
  * @see ViewCount
@@ -33,8 +33,8 @@ var typeToDescriptorMap = {
33
33
  modified: _messages.messages.modified_on
34
34
  };
35
35
  /**
36
- * An element that displays an ISO Timestamp in text.
37
- * @public
36
+ * A base element that displays an ISO Timestamp in text.
37
+ * @internal
38
38
  * @param {DateTimeProps} DateTimeProps - The props necessary for the DateTime element.
39
39
  * @see CreatedOn
40
40
  * @see ModifiedOn
@@ -77,8 +77,8 @@ var renderImageIcon = function renderImageIcon(defaultIcon, icon, url, testId) {
77
77
  }
78
78
  };
79
79
  /**
80
- * An element that displays an Icon or favicon.
81
- * @public
80
+ * A base element that displays an Icon or favicon.
81
+ * @internal
82
82
  * @param {IconProps} IconProps - The props necessary for the Icon element.
83
83
  * @see LinkIcon
84
84
  */
@@ -14,12 +14,12 @@ var _constants = require("../../../../constants");
14
14
  // createElement and renderElementItems
15
15
 
16
16
  /**
17
- * Creates an AvatarGroup element using the data from AuthorGroup in the Flexible UI Context.
17
+ * An AvatarGroup element using the data from AuthorGroup in the Flexible UI Context.
18
18
  * @see AvatarGroup
19
19
  */
20
20
  var AuthorGroup = (0, _utils.createElement)(_constants.ElementName.AuthorGroup);
21
21
  /**
22
- * Creates an AvatarGroup element using the data from CollaboratorGroup in the Flexible UI Context.
22
+ * An AvatarGroup element using the data from CollaboratorGroup in the Flexible UI Context.
23
23
  * @see AvatarGroup
24
24
  */
25
25
 
@@ -63,9 +63,9 @@ var getMaxLines = function getMaxLines(maxLines) {
63
63
  return maxLines;
64
64
  };
65
65
  /**
66
- * An element that represent.
67
- * @public
68
- * @param {LinkProps} LinkProps - The props necessary for the Icon element.
66
+ * A base element that represent an anchor.
67
+ * @internal
68
+ * @param {LinkProps} LinkProps - The props necessary for the Link element.
69
69
  * @see LinkIcon
70
70
  */
71
71
 
@@ -19,8 +19,8 @@ var _templateObject;
19
19
 
20
20
  var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n line-height: inherit;\n"])));
21
21
  /**
22
- * An element that displays a Lozenge.
23
- * @public
22
+ * A base element that displays a Lozenge.
23
+ * @internal
24
24
  * @param {LozengeProps} LozengeProps - The props necessary for the Lozenge element.
25
25
  * @see State
26
26
  */
@@ -29,8 +29,8 @@ var _templateObject;
29
29
  */
30
30
  var styles = (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n aspect-ratio: 16 / 9;\n display: flex;\n width: 100%;\n\n // fallback\n @supports not (aspect-ratio: auto) {\n padding-top: 56.25%; // 16:9 ratio (9 / 16 = 0.5625)\n height: 0;\n position: relative;\n overflow: hidden;\n }\n\n > img {\n min-height: 100%;\n min-width: 100%;\n max-height: 100%;\n max-width: 100%;\n object-fit: cover;\n object-position: center center;\n\n // fallback\n @supports not (aspect-ratio: auto) {\n position: absolute;\n transform: translate(-50%, -50%);\n left: 50%;\n top: 50%;\n width: auto;\n height: auto;\n }\n }\n"])));
31
31
  /**
32
- * An element that displays a Media.
33
- * @public
32
+ * A base element that displays a Media.
33
+ * @internal
34
34
  * @param {MediaProps} MediaProps - The props necessary for the Media element.
35
35
  * @see Preview
36
36
  */
@@ -23,8 +23,8 @@ var getStyles = function getStyles(maxLines) {
23
23
  return (0, _core.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n font-size: 0.75rem;\n line-height: 1rem;\n ", "\n"])), _token.tokens.text, (0, _utils.getTruncateStyles)(maxLines));
24
24
  };
25
25
  /**
26
- * An element that displays some Text.
27
- * @public
26
+ * A base element that displays some Text.
27
+ * @internal
28
28
  * @param {TextProps} TextProps - The props necessary for the Text element.
29
29
  * @see Title
30
30
  */
@@ -41,6 +41,10 @@ var _analytics2 = require("../../state/analytics");
41
41
 
42
42
  var _helpers = require("../../state/helpers");
43
43
 
44
+ var _extractMetadata = require("../../extractors/hover/extractMetadata");
45
+
46
+ var _utils = require("./utils");
47
+
44
48
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
49
 
46
50
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -134,7 +138,9 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
134
138
  };
135
139
  }, [url, definitionId, extensionKey, analytics]);
136
140
 
137
- var cardComponent = function cardComponent() {
141
+ var CardComponent = function CardComponent() {
142
+ //TODO: EDM-3224 deleted simulated and use real JsonLd
143
+ var metadataElements = (0, _extractMetadata.extractMetadata)((0, _utils.getSimulatedMetadata)(extensionKey));
138
144
  return (0, _core.jsx)("div", {
139
145
  onMouseEnter: initShowCard,
140
146
  onMouseLeave: initHideCard,
@@ -148,6 +154,9 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
148
154
  }
149
155
  }, (0, _core.jsx)(_blocks.TitleBlock, {
150
156
  actions: [openAction]
157
+ }), (0, _core.jsx)(_blocks.MetadataBlock, {
158
+ primary: metadataElements.primary,
159
+ secondary: metadataElements.secondary
151
160
  }), (0, _core.jsx)(_blocks.SnippetBlock, null), (0, _core.jsx)(_blocks.FooterBlock, {
152
161
  actions: smartlinkActions
153
162
  })));
@@ -161,7 +170,7 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
161
170
  isOpen: isOpen,
162
171
  onClose: onClose,
163
172
  placement: "bottom-start",
164
- content: cardComponent,
173
+ content: CardComponent,
165
174
  trigger: function trigger(triggerProps) {
166
175
  return (0, _core.jsx)("span", (0, _extends2.default)({}, triggerProps, {
167
176
  onMouseEnter: initShowCard,