@atlaskit/smart-card 23.7.2 → 23.8.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 (220) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/constants.js +14 -2
  3. package/dist/cjs/extractors/common/actions/extractPreviewAction.js +3 -1
  4. package/dist/cjs/i18n/cs.js +6 -1
  5. package/dist/cjs/i18n/da.js +7 -1
  6. package/dist/cjs/i18n/de.js +6 -1
  7. package/dist/cjs/i18n/en.js +8 -1
  8. package/dist/cjs/i18n/en_GB.js +8 -1
  9. package/dist/cjs/i18n/es.js +5 -1
  10. package/dist/cjs/i18n/fi.js +7 -1
  11. package/dist/cjs/i18n/fr.js +7 -1
  12. package/dist/cjs/i18n/hu.js +6 -1
  13. package/dist/cjs/i18n/it.js +7 -1
  14. package/dist/cjs/i18n/ja.js +11 -5
  15. package/dist/cjs/i18n/ko.js +7 -1
  16. package/dist/cjs/i18n/nb.js +6 -1
  17. package/dist/cjs/i18n/nl.js +7 -1
  18. package/dist/cjs/i18n/pl.js +6 -1
  19. package/dist/cjs/i18n/pt_BR.js +7 -1
  20. package/dist/cjs/i18n/ru.js +7 -1
  21. package/dist/cjs/i18n/sv.js +7 -1
  22. package/dist/cjs/i18n/th.js +7 -1
  23. package/dist/cjs/i18n/tr.js +6 -1
  24. package/dist/cjs/i18n/uk.js +6 -1
  25. package/dist/cjs/i18n/vi.js +7 -1
  26. package/dist/cjs/i18n/zh.js +6 -1
  27. package/dist/cjs/i18n/zh_TW.js +6 -1
  28. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +41 -13
  29. package/dist/cjs/utils/analytics/analytics.js +128 -96
  30. package/dist/cjs/utils/analytics/index.js +12 -0
  31. package/dist/cjs/version.json +1 -1
  32. package/dist/cjs/view/BlockCard/components/flexible/footer/index.js +1 -1
  33. package/dist/cjs/view/BlockCard/index.js +4 -2
  34. package/dist/cjs/view/BlockCard/views/flexible/FlexibleNotFoundView.js +1 -1
  35. package/dist/cjs/view/BlockCard/views/flexible/FlexibleResolvedView.js +3 -3
  36. package/dist/cjs/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +17 -4
  37. package/dist/cjs/view/CardWithUrl/component.js +3 -1
  38. package/dist/cjs/view/EmbedCard/index.js +6 -2
  39. package/dist/cjs/view/EmbedCard/views/UnauthorisedView.js +21 -4
  40. package/dist/cjs/view/EmbedModal/components/analytics/index.js +4 -2
  41. package/dist/cjs/view/HoverCard/components/HoverCardComponent.js +11 -10
  42. package/dist/cjs/view/HoverCard/components/HoverCardContent.js +6 -4
  43. package/dist/cjs/view/HoverCard/components/views/resolved/index.js +1 -1
  44. package/dist/cjs/view/HoverCard/components/views/unauthorised/index.js +26 -7
  45. package/dist/cjs/view/HoverCard/index.js +6 -3
  46. package/dist/cjs/view/HoverCard/utils.js +1 -4
  47. package/dist/cjs/view/InlineCard/ErroredView/index.js +6 -11
  48. package/dist/cjs/view/InlineCard/ForbiddenView/index.js +17 -21
  49. package/dist/cjs/view/InlineCard/Frame/index.js +4 -4
  50. package/dist/cjs/view/InlineCard/Frame/styled.js +22 -34
  51. package/dist/cjs/view/InlineCard/IconAndTitleLayout/index.js +52 -7
  52. package/dist/cjs/view/InlineCard/ResolvingView/index.js +3 -5
  53. package/dist/cjs/view/InlineCard/UnauthorisedView/index.js +10 -12
  54. package/dist/cjs/view/InlineCard/index.js +2 -1
  55. package/dist/cjs/view/InlineCard/styled.js +2 -2
  56. package/dist/cjs/view/common/UnauthorisedViewContent.js +14 -3
  57. package/dist/es2019/constants.js +12 -1
  58. package/dist/es2019/extractors/common/actions/extractPreviewAction.js +2 -1
  59. package/dist/es2019/i18n/cs.js +6 -1
  60. package/dist/es2019/i18n/da.js +7 -1
  61. package/dist/es2019/i18n/de.js +6 -1
  62. package/dist/es2019/i18n/en.js +8 -1
  63. package/dist/es2019/i18n/en_GB.js +8 -1
  64. package/dist/es2019/i18n/es.js +5 -1
  65. package/dist/es2019/i18n/fi.js +7 -1
  66. package/dist/es2019/i18n/fr.js +7 -1
  67. package/dist/es2019/i18n/hu.js +6 -1
  68. package/dist/es2019/i18n/it.js +7 -1
  69. package/dist/es2019/i18n/ja.js +11 -5
  70. package/dist/es2019/i18n/ko.js +7 -1
  71. package/dist/es2019/i18n/nb.js +6 -1
  72. package/dist/es2019/i18n/nl.js +7 -1
  73. package/dist/es2019/i18n/pl.js +6 -1
  74. package/dist/es2019/i18n/pt_BR.js +7 -1
  75. package/dist/es2019/i18n/ru.js +7 -1
  76. package/dist/es2019/i18n/sv.js +7 -1
  77. package/dist/es2019/i18n/th.js +7 -1
  78. package/dist/es2019/i18n/tr.js +6 -1
  79. package/dist/es2019/i18n/uk.js +6 -1
  80. package/dist/es2019/i18n/vi.js +7 -1
  81. package/dist/es2019/i18n/zh.js +6 -1
  82. package/dist/es2019/i18n/zh_TW.js +6 -1
  83. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +33 -8
  84. package/dist/es2019/utils/analytics/analytics.js +28 -4
  85. package/dist/es2019/utils/analytics/index.js +1 -1
  86. package/dist/es2019/version.json +1 -1
  87. package/dist/es2019/view/BlockCard/components/flexible/footer/index.js +1 -1
  88. package/dist/es2019/view/BlockCard/index.js +4 -2
  89. package/dist/es2019/view/BlockCard/views/flexible/FlexibleNotFoundView.js +1 -1
  90. package/dist/es2019/view/BlockCard/views/flexible/FlexibleResolvedView.js +4 -4
  91. package/dist/es2019/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +15 -3
  92. package/dist/es2019/view/CardWithUrl/component.js +2 -1
  93. package/dist/es2019/view/EmbedCard/index.js +6 -2
  94. package/dist/es2019/view/EmbedCard/views/UnauthorisedView.js +14 -3
  95. package/dist/es2019/view/EmbedModal/components/analytics/index.js +3 -2
  96. package/dist/es2019/view/HoverCard/components/HoverCardComponent.js +11 -10
  97. package/dist/es2019/view/HoverCard/components/HoverCardContent.js +8 -6
  98. package/dist/es2019/view/HoverCard/components/views/resolved/index.js +3 -3
  99. package/dist/es2019/view/HoverCard/components/views/unauthorised/index.js +23 -7
  100. package/dist/es2019/view/HoverCard/index.js +6 -3
  101. package/dist/es2019/view/HoverCard/utils.js +0 -1
  102. package/dist/es2019/view/InlineCard/ErroredView/index.js +7 -9
  103. package/dist/es2019/view/InlineCard/ForbiddenView/index.js +8 -9
  104. package/dist/es2019/view/InlineCard/Frame/index.js +4 -4
  105. package/dist/es2019/view/InlineCard/Frame/styled.js +18 -31
  106. package/dist/es2019/view/InlineCard/IconAndTitleLayout/index.js +47 -6
  107. package/dist/es2019/view/InlineCard/ResolvingView/index.js +3 -5
  108. package/dist/es2019/view/InlineCard/UnauthorisedView/index.js +11 -11
  109. package/dist/es2019/view/InlineCard/index.js +2 -1
  110. package/dist/es2019/view/InlineCard/styled.js +1 -6
  111. package/dist/es2019/view/common/UnauthorisedViewContent.js +18 -11
  112. package/dist/esm/constants.js +12 -1
  113. package/dist/esm/extractors/common/actions/extractPreviewAction.js +2 -1
  114. package/dist/esm/i18n/cs.js +6 -1
  115. package/dist/esm/i18n/da.js +7 -1
  116. package/dist/esm/i18n/de.js +6 -1
  117. package/dist/esm/i18n/en.js +8 -1
  118. package/dist/esm/i18n/en_GB.js +8 -1
  119. package/dist/esm/i18n/es.js +5 -1
  120. package/dist/esm/i18n/fi.js +7 -1
  121. package/dist/esm/i18n/fr.js +7 -1
  122. package/dist/esm/i18n/hu.js +6 -1
  123. package/dist/esm/i18n/it.js +7 -1
  124. package/dist/esm/i18n/ja.js +11 -5
  125. package/dist/esm/i18n/ko.js +7 -1
  126. package/dist/esm/i18n/nb.js +6 -1
  127. package/dist/esm/i18n/nl.js +7 -1
  128. package/dist/esm/i18n/pl.js +6 -1
  129. package/dist/esm/i18n/pt_BR.js +7 -1
  130. package/dist/esm/i18n/ru.js +7 -1
  131. package/dist/esm/i18n/sv.js +7 -1
  132. package/dist/esm/i18n/th.js +7 -1
  133. package/dist/esm/i18n/tr.js +6 -1
  134. package/dist/esm/i18n/uk.js +6 -1
  135. package/dist/esm/i18n/vi.js +7 -1
  136. package/dist/esm/i18n/zh.js +6 -1
  137. package/dist/esm/i18n/zh_TW.js +6 -1
  138. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +42 -14
  139. package/dist/esm/utils/analytics/analytics.js +118 -92
  140. package/dist/esm/utils/analytics/index.js +1 -1
  141. package/dist/esm/version.json +1 -1
  142. package/dist/esm/view/BlockCard/components/flexible/footer/index.js +1 -1
  143. package/dist/esm/view/BlockCard/index.js +4 -2
  144. package/dist/esm/view/BlockCard/views/flexible/FlexibleNotFoundView.js +1 -1
  145. package/dist/esm/view/BlockCard/views/flexible/FlexibleResolvedView.js +4 -4
  146. package/dist/esm/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +18 -5
  147. package/dist/esm/view/CardWithUrl/component.js +2 -1
  148. package/dist/esm/view/EmbedCard/index.js +6 -2
  149. package/dist/esm/view/EmbedCard/views/UnauthorisedView.js +15 -4
  150. package/dist/esm/view/EmbedModal/components/analytics/index.js +3 -2
  151. package/dist/esm/view/HoverCard/components/HoverCardComponent.js +11 -10
  152. package/dist/esm/view/HoverCard/components/HoverCardContent.js +8 -6
  153. package/dist/esm/view/HoverCard/components/views/resolved/index.js +3 -3
  154. package/dist/esm/view/HoverCard/components/views/unauthorised/index.js +27 -9
  155. package/dist/esm/view/HoverCard/index.js +6 -3
  156. package/dist/esm/view/HoverCard/utils.js +0 -1
  157. package/dist/esm/view/InlineCard/ErroredView/index.js +7 -9
  158. package/dist/esm/view/InlineCard/ForbiddenView/index.js +18 -20
  159. package/dist/esm/view/InlineCard/Frame/index.js +4 -4
  160. package/dist/esm/view/InlineCard/Frame/styled.js +17 -31
  161. package/dist/esm/view/InlineCard/IconAndTitleLayout/index.js +49 -7
  162. package/dist/esm/view/InlineCard/ResolvingView/index.js +3 -5
  163. package/dist/esm/view/InlineCard/UnauthorisedView/index.js +11 -11
  164. package/dist/esm/view/InlineCard/index.js +2 -1
  165. package/dist/esm/view/InlineCard/styled.js +2 -2
  166. package/dist/esm/view/common/UnauthorisedViewContent.js +8 -3
  167. package/dist/types/constants.d.ts +8 -0
  168. package/dist/types/i18n/cs.d.ts +5 -0
  169. package/dist/types/i18n/da.d.ts +6 -0
  170. package/dist/types/i18n/de.d.ts +5 -0
  171. package/dist/types/i18n/en.d.ts +7 -0
  172. package/dist/types/i18n/en_GB.d.ts +7 -0
  173. package/dist/types/i18n/es.d.ts +4 -0
  174. package/dist/types/i18n/fi.d.ts +6 -0
  175. package/dist/types/i18n/fr.d.ts +6 -0
  176. package/dist/types/i18n/hu.d.ts +5 -0
  177. package/dist/types/i18n/it.d.ts +6 -0
  178. package/dist/types/i18n/ja.d.ts +6 -0
  179. package/dist/types/i18n/ko.d.ts +6 -0
  180. package/dist/types/i18n/nb.d.ts +5 -0
  181. package/dist/types/i18n/nl.d.ts +6 -0
  182. package/dist/types/i18n/pl.d.ts +5 -0
  183. package/dist/types/i18n/pt_BR.d.ts +6 -0
  184. package/dist/types/i18n/ru.d.ts +6 -0
  185. package/dist/types/i18n/sv.d.ts +6 -0
  186. package/dist/types/i18n/th.d.ts +6 -0
  187. package/dist/types/i18n/tr.d.ts +5 -0
  188. package/dist/types/i18n/uk.d.ts +5 -0
  189. package/dist/types/i18n/vi.d.ts +6 -0
  190. package/dist/types/i18n/zh.d.ts +5 -0
  191. package/dist/types/i18n/zh_TW.d.ts +5 -0
  192. package/dist/types/state/actions/index.d.ts +1 -2
  193. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +17 -4
  194. package/dist/types/state/flexible-ui-context/index.d.ts +8 -4
  195. package/dist/types/state/hooks/useSmartLink.d.ts +5 -3
  196. package/dist/types/utils/analytics/analytics.d.ts +4 -2
  197. package/dist/types/utils/analytics/index.d.ts +1 -1
  198. package/dist/types/utils/analytics/types.d.ts +2 -0
  199. package/dist/types/utils/mocks.d.ts +4 -2
  200. package/dist/types/utils/types.d.ts +1 -1
  201. package/dist/types/view/BlockCard/components/flexible/footer/index.d.ts +1 -1
  202. package/dist/types/view/BlockCard/views/flexible/FlexibleUnauthorisedView.d.ts +1 -1
  203. package/dist/types/view/BlockCard/views/flexible/types.d.ts +17 -13
  204. package/dist/types/view/Card/types.d.ts +1 -1
  205. package/dist/types/view/EmbedCard/views/UnauthorisedView.d.ts +3 -0
  206. package/dist/types/view/HoverCard/components/views/unauthorised/types.d.ts +15 -4
  207. package/dist/types/view/HoverCard/types.d.ts +0 -2
  208. package/dist/types/view/HoverCard/utils.d.ts +0 -1
  209. package/dist/types/view/InlineCard/ErroredView/index.d.ts +1 -1
  210. package/dist/types/view/InlineCard/ForbiddenView/index.d.ts +1 -1
  211. package/dist/types/view/InlineCard/Frame/index.d.ts +0 -1
  212. package/dist/types/view/InlineCard/Frame/styled.d.ts +3 -2
  213. package/dist/types/view/InlineCard/IconAndTitleLayout/index.d.ts +5 -0
  214. package/dist/types/view/InlineCard/ResolvingView/index.d.ts +0 -1
  215. package/dist/types/view/InlineCard/UnauthorisedView/index.d.ts +3 -1
  216. package/dist/types/view/InlineCard/styled.d.ts +1 -1
  217. package/dist/types/view/common/UnauthorisedViewContent.d.ts +7 -1
  218. package/package.json +5 -5
  219. package/report.api.md +15 -1
  220. package/tmp/api-report-tmp.d.ts +8 -4
@@ -135,11 +135,12 @@ var BlockCard = function BlockCard(_ref) {
135
135
  details = cardState.details;
136
136
  var data = details && details.data || (0, _jsonld.getEmptyJsonLd)();
137
137
  var meta = details && details.meta;
138
+ var extensionKey = (0, _helpers.getExtensionKey)(details);
138
139
  var extractorOpts = {
139
140
  analytics: analytics,
140
141
  origin: 'smartLinkCard',
141
142
  handleInvoke: handleInvoke,
142
- extensionKey: (0, _helpers.getExtensionKey)(details)
143
+ extensionKey: extensionKey
143
144
  };
144
145
 
145
146
  if (enableFlexibleBlockCard) {
@@ -154,7 +155,8 @@ var BlockCard = function BlockCard(_ref) {
154
155
  onError: onError,
155
156
  renderers: renderers,
156
157
  ui: ui,
157
- analytics: analytics
158
+ analytics: analytics,
159
+ extensionKey: extensionKey
158
160
  };
159
161
 
160
162
  switch (status) {
@@ -63,7 +63,7 @@ var FlexibleNotFoundView = function FlexibleNotFoundView(_ref) {
63
63
  message: {
64
64
  descriptor: _messages.messages.not_found_description
65
65
  },
66
- testId: testId
66
+ testId: "".concat(testId, "-message")
67
67
  })), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_footer.default, {
68
68
  status: status
69
69
  })));
@@ -112,7 +112,7 @@ var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
112
112
  analytics.operational.invokeSucceededEvent({
113
113
  id: analyticsId,
114
114
  actionType: 'preview',
115
- display: 'block'
115
+ display: _constants.CardDisplay.Block
116
116
  });
117
117
  }
118
118
  }, {
@@ -122,7 +122,7 @@ var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
122
122
  analytics.operational.invokeSucceededEvent({
123
123
  id: analyticsId,
124
124
  actionType: 'view',
125
- display: 'block'
125
+ display: _constants.CardDisplay.Block
126
126
  });
127
127
  }
128
128
  }, {
@@ -132,7 +132,7 @@ var FlexibleResolvedView = function FlexibleResolvedView(_ref) {
132
132
  analytics.operational.invokeSucceededEvent({
133
133
  id: analyticsId,
134
134
  actionType: 'download',
135
- display: 'block'
135
+ display: _constants.CardDisplay.Block
136
136
  });
137
137
  }
138
138
  }]
@@ -49,7 +49,10 @@ var contentStyles = (0, _react2.css)(_templateObject || (_templateObject = (0, _
49
49
  var FlexibleUnauthorisedView = function FlexibleUnauthorisedView(_ref) {
50
50
  var _cardState$details, _extractProvider;
51
51
 
52
- var cardState = _ref.cardState,
52
+ var analytics = _ref.analytics,
53
+ cardState = _ref.cardState,
54
+ _ref$extensionKey = _ref.extensionKey,
55
+ extensionKey = _ref$extensionKey === void 0 ? '' : _ref$extensionKey,
53
56
  onAuthorize = _ref.onAuthorize,
54
57
  onClick = _ref.onClick,
55
58
  onError = _ref.onError,
@@ -59,9 +62,17 @@ var FlexibleUnauthorisedView = function FlexibleUnauthorisedView(_ref) {
59
62
  url = _ref.url;
60
63
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
61
64
  var providerName = (_extractProvider = (0, _extractors.extractProvider)(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text;
65
+ var handleAuthorize = (0, _react.useCallback)(function () {
66
+ if (onAuthorize) {
67
+ analytics.track.appAccountAuthStarted({
68
+ extensionKey: extensionKey
69
+ });
70
+ onAuthorize();
71
+ }
72
+ }, [onAuthorize, extensionKey, analytics.track]);
62
73
  var actions = (0, _react.useMemo)(function () {
63
- return onAuthorize ? [(0, _AuthorizeAction.AuthorizeAction)(onAuthorize, providerName)] : [];
64
- }, [onAuthorize, providerName]);
74
+ return onAuthorize ? [(0, _AuthorizeAction.AuthorizeAction)(handleAuthorize, providerName)] : [];
75
+ }, [handleAuthorize, onAuthorize, providerName]);
65
76
  return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, {
66
77
  appearance: "block",
67
78
  cardState: cardState,
@@ -77,7 +88,9 @@ var FlexibleUnauthorisedView = function FlexibleUnauthorisedView(_ref) {
77
88
  overrideCss: contentStyles,
78
89
  testId: "".concat(testId, "-content")
79
90
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_UnauthorisedViewContent.default, {
80
- providerName: providerName
91
+ providerName: providerName,
92
+ analytics: analytics,
93
+ testId: testId
81
94
  }))), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, null, /*#__PURE__*/_react.default.createElement(_footer.default, {
82
95
  actions: actions,
83
96
  status: _constants.SmartLinkStatus.Unauthorized,
@@ -33,6 +33,8 @@ var _FlexibleCard = _interopRequireDefault(require("../FlexibleCard"));
33
33
 
34
34
  var _ = require("../..");
35
35
 
36
+ var _constants = require("../../constants");
37
+
36
38
  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); }
37
39
 
38
40
  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; }
@@ -95,7 +97,7 @@ function CardWithUrlContent(_ref) {
95
97
  var isModifierKeyPressed = (0, _utils.isSpecialEvent)(event);
96
98
  analytics.ui.cardClickedEvent({
97
99
  id: id,
98
- display: isFlexibleUi ? 'flexible' : appearance,
100
+ display: isFlexibleUi ? _constants.CardDisplay.Flexible : appearance,
99
101
  status: state.status,
100
102
  definitionId: definitionId,
101
103
  extensionKey: extensionKey,
@@ -59,6 +59,7 @@ var EmbedCard = /*#__PURE__*/_react.default.forwardRef(function (_ref, iframeRef
59
59
  inheritDimensions = _ref.inheritDimensions;
60
60
  var data = details && details.data || (0, _jsonld.getEmptyJsonLd)();
61
61
  var meta = details && details.meta;
62
+ var extensionKey = (0, _helpers.getExtensionKey)(details);
62
63
 
63
64
  switch (status) {
64
65
  case 'pending':
@@ -104,7 +105,7 @@ var EmbedCard = /*#__PURE__*/_react.default.forwardRef(function (_ref, iframeRef
104
105
  analytics: analytics,
105
106
  origin: 'smartLinkEmbed',
106
107
  handleInvoke: handleInvoke,
107
- extensionKey: (0, _helpers.getExtensionKey)(details)
108
+ extensionKey: extensionKey
108
109
  });
109
110
  return /*#__PURE__*/_react.default.createElement(_BlockCard.BlockCardResolvedView, (0, _extends2.default)({}, resolvedBlockViewProps, {
110
111
  isSelected: isSelected,
@@ -127,7 +128,10 @@ var EmbedCard = /*#__PURE__*/_react.default.forwardRef(function (_ref, iframeRef
127
128
  isSelected: isSelected,
128
129
  onAuthorise: handleAuthorize,
129
130
  inheritDimensions: inheritDimensions,
130
- onClick: handleFrameClick
131
+ onClick: handleFrameClick,
132
+ analytics: analytics,
133
+ extensionKey: extensionKey,
134
+ testId: testId
131
135
  }));
132
136
 
133
137
  case 'forbidden':
@@ -2,12 +2,14 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports.EmbedCardUnauthorisedView = void 0;
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _UnresolvedView = require("./UnresolvedView");
13
15
 
@@ -19,22 +21,36 @@ var _ImageIcon = require("../components/ImageIcon");
19
21
 
20
22
  var _UnauthorisedViewContent = _interopRequireDefault(require("../../common/UnauthorisedViewContent"));
21
23
 
24
+ 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); }
25
+
26
+ 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; }
27
+
22
28
  var EmbedCardUnauthorisedView = function EmbedCardUnauthorisedView(_ref) {
23
29
  var _context$image;
24
30
 
25
- var link = _ref.link,
31
+ var analytics = _ref.analytics,
32
+ link = _ref.link,
26
33
  context = _ref.context,
27
34
  isSelected = _ref.isSelected,
28
35
  _ref$testId = _ref.testId,
29
36
  testId = _ref$testId === void 0 ? 'embed-card-unauthorized-view' : _ref$testId,
30
37
  onAuthorise = _ref.onAuthorise,
31
38
  inheritDimensions = _ref.inheritDimensions,
32
- onClick = _ref.onClick;
39
+ onClick = _ref.onClick,
40
+ extensionKey = _ref.extensionKey;
33
41
 
34
42
  var icon = context && context.icon && /*#__PURE__*/_react.default.createElement(_ImageIcon.ImageIcon, {
35
43
  src: typeof context.icon === 'string' ? context.icon : undefined
36
44
  });
37
45
 
46
+ var handleOnAuthorizeClick = (0, _react.useCallback)(function () {
47
+ if (onAuthorise) {
48
+ analytics.track.appAccountAuthStarted({
49
+ extensionKey: extensionKey
50
+ });
51
+ onAuthorise();
52
+ }
53
+ }, [onAuthorise, analytics.track, extensionKey]);
38
54
  return /*#__PURE__*/_react.default.createElement(_ExpandedFrame.ExpandedFrame, {
39
55
  href: link,
40
56
  icon: icon,
@@ -55,9 +71,10 @@ var EmbedCardUnauthorisedView = function EmbedCardUnauthorisedView(_ref) {
55
71
  text: 'connect_unauthorised_account_action',
56
72
  testId: 'connect-account'
57
73
  },
58
- onClick: onAuthorise,
74
+ onClick: handleOnAuthorizeClick,
59
75
  testId: testId
60
76
  }, /*#__PURE__*/_react.default.createElement(_UnauthorisedViewContent.default, {
77
+ analytics: analytics,
61
78
  providerName: context === null || context === void 0 ? void 0 : context.text,
62
79
  testId: testId
63
80
  })));
@@ -15,6 +15,8 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _types = require("../../types");
17
17
 
18
+ var _constants = require("../../../../constants");
19
+
18
20
  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); }
19
21
 
20
22
  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; }
@@ -41,7 +43,7 @@ var withAnalytics = function withAnalytics(Component) {
41
43
  });
42
44
  analytics.ui.renderSuccessEvent({
43
45
  status: 'resolved',
44
- display: 'preview'
46
+ display: _constants.CardDisplay.EmbedPreview
45
47
  });
46
48
 
47
49
  if (onOpen) {
@@ -50,7 +52,7 @@ var withAnalytics = function withAnalytics(Component) {
50
52
  }, [analytics.screen, analytics.ui, onOpen, origin]);
51
53
  var handleOnOpenFailed = (0, _react.useCallback)(function (error, errorInfo) {
52
54
  analytics.ui.renderFailedEvent({
53
- display: 'preview',
55
+ display: _constants.CardDisplay.EmbedPreview,
54
56
  error: error,
55
57
  errorInfo: errorInfo
56
58
  });
@@ -29,7 +29,7 @@ var _HoverCardContent = _interopRequireDefault(require("../components/HoverCardC
29
29
 
30
30
  var _styled = require("../styled");
31
31
 
32
- var _utils = require("../utils");
32
+ var _constants = require("../../../constants");
33
33
 
34
34
  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); }
35
35
 
@@ -43,8 +43,7 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
43
43
  var children = _ref.children,
44
44
  url = _ref.url,
45
45
  analyticsHandler = _ref.analyticsHandler,
46
- analytics = _ref.analytics,
47
- onAuthorize = _ref.onAuthorize;
46
+ analytics = _ref.analytics;
48
47
  var delay = 300;
49
48
 
50
49
  var _React$useState = _react2.default.useState(false),
@@ -60,6 +59,7 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
60
59
  var parentSpan = (0, _react2.useRef)(null);
61
60
  var renderers = (0, _renderers.useSmartLinkRenderers)();
62
61
  var linkState = (0, _store.useSmartCardState)(url);
62
+ var linkStatus = linkState.status;
63
63
  var hoverDisplay = 'card';
64
64
  var invokeMethod = 'mouse_hover';
65
65
  var setMousePosition = (0, _react2.useCallback)(function (event) {
@@ -79,12 +79,13 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
79
79
  analytics.ui.hoverCardDismissedEvent({
80
80
  previewDisplay: 'card',
81
81
  hoverTime: hoverTime,
82
- previewInvokeMethod: 'mouse_hover'
82
+ previewInvokeMethod: 'mouse_hover',
83
+ status: linkStatus
83
84
  });
84
85
  }
85
86
 
86
87
  setIsOpen(false);
87
- }, [analytics.ui, isOpen]);
88
+ }, [analytics.ui, isOpen, linkStatus]);
88
89
  var initHideCard = (0, _react2.useCallback)(function () {
89
90
  if (fadeInTimeoutId.current) {
90
91
  clearTimeout(fadeInTimeoutId.current);
@@ -107,7 +108,8 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
107
108
  cardOpenTime.current = Date.now();
108
109
  analytics.ui.hoverCardViewedEvent({
109
110
  previewDisplay: hoverDisplay,
110
- previewInvokeMethod: invokeMethod
111
+ previewInvokeMethod: invokeMethod,
112
+ status: linkStatus
111
113
  });
112
114
  } //If these are undefined then popupOffset is undefined and we fallback to default bottom-start placement
113
115
 
@@ -122,10 +124,10 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
122
124
 
123
125
  setIsOpen(true);
124
126
  }, delay);
125
- }, [isOpen, setMousePosition, analytics.ui]);
127
+ }, [isOpen, setMousePosition, analytics.ui, linkStatus]);
126
128
  var linkActions = (0, _useSmartLinkActions.useSmartLinkActions)({
127
129
  url: url,
128
- appearance: _utils.SMART_CARD_ANALYTICS_DISPLAY,
130
+ appearance: _constants.CardDisplay.HoverCardPreview,
129
131
  analyticsHandler: analyticsHandler,
130
132
  origin: 'smartLinkPreviewHoverCard'
131
133
  });
@@ -161,8 +163,7 @@ var HoverCardComponent = function HoverCardComponent(_ref) {
161
163
  onActionClick: onActionClick,
162
164
  onResolve: update,
163
165
  renderers: renderers,
164
- url: url,
165
- onAuthorize: onAuthorize
166
+ url: url
166
167
  }));
167
168
  },
168
169
  trigger: function trigger(triggerProps) {
@@ -78,8 +78,7 @@ var HoverCardContent = function HoverCardContent(_ref) {
78
78
  onActionClick = _ref.onActionClick,
79
79
  onResolve = _ref.onResolve,
80
80
  renderers = _ref.renderers,
81
- url = _ref.url,
82
- onAuthorize = _ref.onAuthorize;
81
+ url = _ref.url;
83
82
  var extensionKey = (0, _react.useMemo)(function () {
84
83
  return (0, _helpers.getExtensionKey)(cardState.details);
85
84
  }, [cardState.details]);
@@ -87,7 +86,7 @@ var HoverCardContent = function HoverCardContent(_ref) {
87
86
  var isModifierKeyPressed = (0, _utils.isSpecialEvent)(event);
88
87
  analytics.ui.cardClickedEvent({
89
88
  id: id,
90
- display: _utils2.SMART_CARD_ANALYTICS_DISPLAY,
89
+ display: _constants.CardDisplay.HoverCardPreview,
91
90
  status: cardState.status,
92
91
  isModifierKeyPressed: isModifierKeyPressed,
93
92
  actionSubjectId: 'titleGoToLink'
@@ -130,8 +129,11 @@ var HoverCardContent = function HoverCardContent(_ref) {
130
129
 
131
130
  if (cardState.status === 'unauthorized') {
132
131
  return /*#__PURE__*/_react.default.createElement(_unauthorised.default, {
132
+ analytics: analytics,
133
+ extensionKey: extensionKey,
134
+ id: id,
133
135
  flexibleCardProps: flexibleCardProps,
134
- onAuthorize: onAuthorize
136
+ url: url
135
137
  });
136
138
  } // if metadataStatus is 'errored' simply render using data available (normal path)
137
139
 
@@ -77,7 +77,7 @@ var HoverCardResolvedView = function HoverCardResolvedView(_ref) {
77
77
  // Since this hover view is only rendered on resolved status,
78
78
  // there is no need to check for statuses.
79
79
  analytics.ui.renderSuccessEvent({
80
- display: _utils.SMART_CARD_ANALYTICS_DISPLAY,
80
+ display: _constants.CardDisplay.HoverCardPreview,
81
81
  status: cardState.status
82
82
  });
83
83
  }, [analytics.ui, cardState.status]);
@@ -33,6 +33,8 @@ var _elements = require("../../../../FlexibleCard/components/elements");
33
33
 
34
34
  var _constants = require("../../../../../constants");
35
35
 
36
+ var _actions = require("../../../../../state/actions");
37
+
36
38
  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); }
37
39
 
38
40
  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; }
@@ -40,24 +42,40 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
40
42
  var HoverCardUnauthorisedView = function HoverCardUnauthorisedView(_ref) {
41
43
  var _cardState$details, _extractProvider;
42
44
 
43
- var flexibleCardProps = _ref.flexibleCardProps,
45
+ var analytics = _ref.analytics,
46
+ extensionKey = _ref.extensionKey,
47
+ _ref$id = _ref.id,
48
+ id = _ref$id === void 0 ? '' : _ref$id,
49
+ flexibleCardProps = _ref.flexibleCardProps,
44
50
  _ref$testId = _ref.testId,
45
51
  testId = _ref$testId === void 0 ? 'hover-card-unauthorised-view' : _ref$testId,
46
- onAuthorize = _ref.onAuthorize;
52
+ url = _ref.url;
47
53
  var cardState = flexibleCardProps.cardState;
48
54
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
49
55
  var providerName = (_extractProvider = (0, _extractors.extractProvider)(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text;
56
+
57
+ var _useSmartCardActions = (0, _actions.useSmartCardActions)(id, url, analytics),
58
+ authorize = _useSmartCardActions.authorize;
59
+
60
+ var handleAuthorize = (0, _react.useCallback)(function () {
61
+ if (authorize) {
62
+ analytics.track.appAccountAuthStarted({
63
+ extensionKey: extensionKey
64
+ });
65
+ authorize(_constants.CardDisplay.HoverCardPreview);
66
+ }
67
+ }, [authorize, extensionKey, analytics.track]);
50
68
  var actions = (0, _react.useMemo)(function () {
51
- return onAuthorize ? [{
69
+ return [{
52
70
  name: _constants.ActionName.CustomAction,
53
71
  content: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, (0, _extends2.default)({}, _messages.messages.connect_unauthorised_account_action, {
54
72
  values: {
55
73
  context: providerName
56
74
  }
57
75
  })),
58
- onClick: onAuthorize
59
- }] : [];
60
- }, [onAuthorize, providerName]);
76
+ onClick: handleAuthorize
77
+ }];
78
+ }, [handleAuthorize, providerName]);
61
79
  return /*#__PURE__*/_react.default.createElement(_FlexibleCard.default, (0, _extends2.default)({}, flexibleCardProps, {
62
80
  testId: testId
63
81
  }), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, {
@@ -71,7 +89,8 @@ var HoverCardUnauthorisedView = function HoverCardUnauthorisedView(_ref) {
71
89
  overrideCss: _styled.mainTextStyles,
72
90
  testId: "".concat(testId, "-content")
73
91
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_UnauthorisedViewContent.default, {
74
- providerName: providerName
92
+ providerName: providerName,
93
+ analytics: analytics
75
94
  }))), /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, {
76
95
  overrideCss: _styled.connectButtonStyles,
77
96
  testId: "".concat(testId, "-button")
@@ -23,7 +23,7 @@ var _analytics2 = require("../../utils/analytics");
23
23
 
24
24
  var _HoverCardComponent = require("./components/HoverCardComponent");
25
25
 
26
- var _utils = require("./utils");
26
+ var _constants = require("../../constants");
27
27
 
28
28
  /** @jsx jsx */
29
29
  var HoverCardWithErrorBoundary = function HoverCardWithErrorBoundary(props) {
@@ -37,7 +37,7 @@ var HoverCardWithErrorBoundary = function HoverCardWithErrorBoundary(props) {
37
37
  var analytics = (0, _analytics.useSmartLinkAnalytics)(url, analyticsHandler, id);
38
38
  var onError = (0, _react2.useCallback)(function (error, info) {
39
39
  analytics.ui.renderFailedEvent({
40
- display: _utils.SMART_CARD_ANALYTICS_DISPLAY,
40
+ display: _constants.CardDisplay.HoverCardPreview,
41
41
  id: id,
42
42
  error: error,
43
43
  errorInfo: info
@@ -53,6 +53,9 @@ var HoverCardWithErrorBoundary = function HoverCardWithErrorBoundary(props) {
53
53
  };
54
54
 
55
55
  var HoverCard = (0, _analyticsNext.withAnalyticsContext)({
56
- source: 'smartLinkPreviewHoverCard'
56
+ source: 'smartLinkPreviewHoverCard',
57
+ attributes: {
58
+ display: _constants.CardDisplay.HoverCardPreview
59
+ }
57
60
  })((0, _analyticsNext.withAnalyticsEvents)()(HoverCardWithErrorBoundary));
58
61
  exports.HoverCard = HoverCard;
@@ -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.toActionableMetadata = exports.getSimulatedMetadata = exports.SMART_CARD_ANALYTICS_DISPLAY = void 0;
8
+ exports.toActionableMetadata = exports.getSimulatedMetadata = void 0;
9
9
 
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
 
@@ -15,9 +15,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
15
15
 
16
16
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
17
 
18
- var SMART_CARD_ANALYTICS_DISPLAY = 'flexible';
19
- exports.SMART_CARD_ANALYTICS_DISPLAY = SMART_CARD_ANALYTICS_DISPLAY;
20
-
21
18
  var getSimulatedMetadata = function getSimulatedMetadata() {
22
19
  var extensionKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
23
20
  var types = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -71,17 +71,11 @@ var InlineCardErroredView = /*#__PURE__*/function (_React$Component) {
71
71
  onRetry();
72
72
  }
73
73
  });
74
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderMessage", function () {
74
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderRightSide", function () {
75
75
  var _this$props = _this.props,
76
76
  onRetry = _this$props.onRetry,
77
- url = _this$props.url,
78
77
  message = _this$props.message;
79
-
80
- var link = /*#__PURE__*/_react.default.createElement(_styled.LinkAppearance, null, url);
81
-
82
- var errorMessage = /*#__PURE__*/_react.default.createElement(_styled.NoLinkAppearance, null, message);
83
-
84
- return !onRetry ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, link, " - ", errorMessage) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, link, " - ", errorMessage, ",\xA0", /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
78
+ return !onRetry ? message : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, message, ', ', /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
85
79
  spacing: "none",
86
80
  appearance: "subtle-link",
87
81
  component: _styled.IconStyledButton,
@@ -105,8 +99,6 @@ var InlineCardErroredView = /*#__PURE__*/function (_React$Component) {
105
99
  icon = _this$props2.icon;
106
100
  return /*#__PURE__*/_react.default.createElement(_Frame.Frame, {
107
101
  testId: testId,
108
- link: url,
109
- onClick: onClick,
110
102
  isSelected: isSelected
111
103
  }, /*#__PURE__*/_react.default.createElement(_IconAndTitleLayout.IconAndTitleLayout, {
112
104
  icon: icon || /*#__PURE__*/_react.default.createElement(_Icon.AKIconWrapper, null, /*#__PURE__*/_react.default.createElement(_error.default, {
@@ -114,7 +106,10 @@ var InlineCardErroredView = /*#__PURE__*/function (_React$Component) {
114
106
  size: "small",
115
107
  primaryColor: (0, _tokens.token)('color.icon.danger', _colors.R300)
116
108
  })),
117
- title: this.renderMessage()
109
+ link: url,
110
+ title: url,
111
+ onClick: onClick,
112
+ rightSide: this.renderRightSide()
118
113
  }));
119
114
  }
120
115
  }]);
@@ -101,23 +101,18 @@ var InlineCardForbiddenView = /*#__PURE__*/function (_React$Component) {
101
101
  return /*#__PURE__*/_react.default.createElement(_styled.LowercaseAppearance, null, formattedMessage);
102
102
  }));
103
103
  });
104
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderMessage", function () {
105
- var _this$props4, _this$props4$requestA;
104
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderRightSide", function () {
105
+ var _this$props3, _this$props3$requestA;
106
106
 
107
- var _this$props3 = _this.props,
108
- url = _this$props3.url,
109
- onAuthorise = _this$props3.onAuthorise;
110
-
111
- var link = /*#__PURE__*/_react.default.createElement(_styled.LinkAppearance, null, url);
112
-
113
- var hasRequestAccessContextMessage = (_this$props4 = _this.props) === null || _this$props4 === void 0 ? void 0 : (_this$props4$requestA = _this$props4.requestAccessContext) === null || _this$props4$requestA === void 0 ? void 0 : _this$props4$requestA.callToActionMessageKey;
114
- return !onAuthorise && !hasRequestAccessContextMessage ? link : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, link, ' - ', /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
107
+ var onAuthorise = _this.props.onAuthorise;
108
+ var hasRequestAccessContextMessage = (_this$props3 = _this.props) === null || _this$props3 === void 0 ? void 0 : (_this$props3$requestA = _this$props3.requestAccessContext) === null || _this$props3$requestA === void 0 ? void 0 : _this$props3$requestA.callToActionMessageKey;
109
+ return onAuthorise || hasRequestAccessContextMessage ? /*#__PURE__*/_react.default.createElement(_customThemeButton.default, {
115
110
  spacing: "none",
116
111
  appearance: "subtle-link",
117
112
  onClick: _this.handleRetry,
118
113
  component: _styled.IconStyledButton,
119
114
  testId: "button-connect-other-account"
120
- }, _this.renderForbiddenAccessMessage()));
115
+ }, _this.renderForbiddenAccessMessage()) : null;
121
116
  });
122
117
  return _this;
123
118
  }
@@ -125,21 +120,22 @@ var InlineCardForbiddenView = /*#__PURE__*/function (_React$Component) {
125
120
  (0, _createClass2.default)(InlineCardForbiddenView, [{
126
121
  key: "render",
127
122
  value: function render() {
128
- var _this$props5 = this.props,
129
- url = _this$props5.url,
130
- icon = _this$props5.icon,
131
- onClick = _this$props5.onClick,
132
- isSelected = _this$props5.isSelected,
133
- _this$props5$testId = _this$props5.testId,
134
- testId = _this$props5$testId === void 0 ? 'inline-card-forbidden-view' : _this$props5$testId;
123
+ var _this$props4 = this.props,
124
+ url = _this$props4.url,
125
+ icon = _this$props4.icon,
126
+ onClick = _this$props4.onClick,
127
+ isSelected = _this$props4.isSelected,
128
+ _this$props4$testId = _this$props4.testId,
129
+ testId = _this$props4$testId === void 0 ? 'inline-card-forbidden-view' : _this$props4$testId;
135
130
  return /*#__PURE__*/_react.default.createElement(_Frame.Frame, {
136
131
  testId: testId,
137
- link: url,
138
- onClick: onClick,
139
132
  isSelected: isSelected
140
133
  }, /*#__PURE__*/_react.default.createElement(_IconAndTitleLayout.IconAndTitleLayout, {
141
134
  icon: icon ? icon : FallbackForbiddenIcon,
142
- title: this.renderMessage(),
135
+ link: url,
136
+ title: url,
137
+ onClick: onClick,
138
+ rightSide: this.renderRightSide(),
143
139
  titleColor: (0, _tokens.token)('color.text.subtle', _colors.N500)
144
140
  }));
145
141
  }
@@ -23,7 +23,6 @@ var Frame = function Frame(props) {
23
23
  onClick = props.onClick,
24
24
  link = props.link,
25
25
  withoutBackground = props.withoutBackground,
26
- withoutHover = props.withoutHover,
27
26
  testId = props.testId,
28
27
  className = props.className;
29
28
  var handleClick = (0, _react.useCallback)(function (event) {
@@ -44,14 +43,15 @@ var Frame = function Frame(props) {
44
43
  onClick(event);
45
44
  }
46
45
  }, [onClick]);
47
- var isInteractive = Boolean(onClick); // TODO Theming doesn't work right now in editor. Required React context does not trickle down atm.
46
+ var isInteractive = Boolean(onClick); // Depending on whenever Frame was given onClick or link itself we display span or anchor elements
47
+
48
+ var Wrapper = link || onClick ? _styled.WrapperAnchor : _styled.WrapperSpan; // TODO Theming doesn't work right now in editor. Required React context does not trickle down atm.
48
49
  // It will be worked as part of https://product-fabric.atlassian.net/jira/servicedesk/projects/DTR/queues/issue/DTR-154
49
50
 
50
- return /*#__PURE__*/_react.default.createElement(_styled.Wrapper, {
51
+ return /*#__PURE__*/_react.default.createElement(Wrapper, {
51
52
  theme: (0, _components.useGlobalTheme)(),
52
53
  href: link,
53
54
  withoutBackground: withoutBackground,
54
- withoutHover: withoutHover,
55
55
  isSelected: isSelected,
56
56
  isInteractive: isInteractive,
57
57
  tabIndex: isInteractive ? 0 : undefined,