@atlaskit/smart-card 26.41.3 → 26.42.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 (63) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/extractors/common/context/extractAccessContext.js +24 -4
  3. package/dist/cjs/utils/analytics/analytics.js +1 -1
  4. package/dist/cjs/view/BlockCard/views/flexible/FlexibleForbiddenView.js +6 -2
  5. package/dist/cjs/view/EmbedCard/index.js +7 -2
  6. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +30 -0
  7. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/index.js +19 -8
  8. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +11 -16
  9. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +9 -1
  10. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +51 -0
  11. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +54 -0
  12. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +5 -0
  13. package/dist/cjs/view/FlexibleCard/components/blocks/related-urls-block/types.js +5 -0
  14. package/dist/cjs/view/HoverCard/components/views/forbidden/index.js +7 -3
  15. package/dist/cjs/view/LinkUrl/index.js +1 -1
  16. package/dist/cjs/view/RedesignedInlineCard/index.js +5 -1
  17. package/dist/es2019/extractors/common/context/extractAccessContext.js +30 -4
  18. package/dist/es2019/utils/analytics/analytics.js +1 -1
  19. package/dist/es2019/view/BlockCard/views/flexible/FlexibleForbiddenView.js +7 -2
  20. package/dist/es2019/view/EmbedCard/index.js +8 -2
  21. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +19 -0
  22. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/index.js +14 -1
  23. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +12 -15
  24. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +11 -2
  25. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +42 -0
  26. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +44 -0
  27. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +1 -0
  28. package/dist/es2019/view/FlexibleCard/components/blocks/related-urls-block/types.js +1 -0
  29. package/dist/es2019/view/HoverCard/components/views/forbidden/index.js +8 -3
  30. package/dist/es2019/view/LinkUrl/index.js +1 -1
  31. package/dist/es2019/view/RedesignedInlineCard/index.js +6 -1
  32. package/dist/esm/extractors/common/context/extractAccessContext.js +24 -4
  33. package/dist/esm/utils/analytics/analytics.js +1 -1
  34. package/dist/esm/view/BlockCard/views/flexible/FlexibleForbiddenView.js +6 -2
  35. package/dist/esm/view/EmbedCard/index.js +7 -2
  36. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/analytics.js +23 -0
  37. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/index.js +19 -8
  38. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/index.js +12 -17
  39. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/related-url-item/index.js +10 -2
  40. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.js +44 -0
  41. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.js +44 -0
  42. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.js +1 -0
  43. package/dist/esm/view/FlexibleCard/components/blocks/related-urls-block/types.js +1 -0
  44. package/dist/esm/view/HoverCard/components/views/forbidden/index.js +7 -3
  45. package/dist/esm/view/LinkUrl/index.js +1 -1
  46. package/dist/esm/view/RedesignedInlineCard/index.js +5 -1
  47. package/dist/types/extractors/common/context/extractAccessContext.d.ts +3 -1
  48. package/dist/types/utils/types.d.ts +2 -2
  49. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/analytics.d.ts +3 -0
  50. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.d.ts +11 -0
  51. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.d.ts +4 -0
  52. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.d.ts +10 -0
  53. package/dist/types/view/FlexibleCard/components/blocks/related-urls-block/types.d.ts +3 -0
  54. package/dist/types-ts4.5/extractors/common/context/extractAccessContext.d.ts +3 -1
  55. package/dist/types-ts4.5/utils/types.d.ts +2 -2
  56. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/analytics.d.ts +3 -0
  57. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/analytics.d.ts +11 -0
  58. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/index.d.ts +4 -0
  59. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/resolved/related-url-list/resolved-result-stack/types.d.ts +10 -0
  60. package/dist/types-ts4.5/view/FlexibleCard/components/blocks/related-urls-block/types.d.ts +3 -0
  61. package/package.json +2 -2
  62. package/report.api.md +2 -0
  63. package/tmp/api-report-tmp.d.ts +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/smart-card
2
2
 
3
+ ## 26.42.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#42773](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42773) [`d2ff4012e8d`](https://bitbucket.org/atlassian/atlassian-frontend/commits/d2ff4012e8d) - [ux] fire additional analytics events within smart-card forbidden views
8
+
9
+ ## 26.42.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [#42696](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/42696) [`6191f76a929`](https://bitbucket.org/atlassian/atlassian-frontend/commits/6191f76a929) - Adds analytics for related links
14
+
3
15
  ## 26.41.3
4
16
 
5
17
  ### Patch Changes
@@ -9,6 +9,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
9
9
  var _messages = require("../../../messages");
10
10
  var _ForbiddenAction = require("../../../view/BlockCard/actions/ForbiddenAction");
11
11
  var _extractHostname = _interopRequireDefault(require("../hostname/extractHostname"));
12
+ var _analytics = require("../../../utils/analytics");
12
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
15
  var extractRequestAccessContext = exports.extractRequestAccessContext = function extractRequestAccessContext(_ref) {
@@ -57,7 +58,8 @@ var extractRequestAccessContextImproved = exports.extractRequestAccessContextImp
57
58
  var _jsonLd$requestAccess2;
58
59
  var jsonLd = _ref2.jsonLd,
59
60
  url = _ref2.url,
60
- product = _ref2.product;
61
+ product = _ref2.product,
62
+ createAnalyticsEvent = _ref2.createAnalyticsEvent;
61
63
  var requestAccess = jsonLd !== null && jsonLd !== void 0 && jsonLd.requestAccess ? _objectSpread(_objectSpread({}, jsonLd === null || jsonLd === void 0 ? void 0 : jsonLd.requestAccess), {}, {
62
64
  hostname: (0, _extractHostname.default)(url)
63
65
  }) : undefined;
@@ -68,7 +70,13 @@ var extractRequestAccessContextImproved = exports.extractRequestAccessContextImp
68
70
  descriptiveMessageKey: 'direct_access_description_crossjoin',
69
71
  callToActionMessageKey: 'direct_access_crossjoin',
70
72
  action: (0, _ForbiddenAction.ForbiddenAction)(function () {
71
- return window.open(url);
73
+ createAnalyticsEvent({
74
+ action: 'clicked',
75
+ actionSubject: 'button',
76
+ actionSubjectId: 'crossJoin',
77
+ eventType: 'ui'
78
+ }).fire(_analytics.ANALYTICS_CHANNEL);
79
+ window.open(url);
72
80
  }, 'direct_access', _messages.messages.direct_access_crossjoin, {
73
81
  product: product
74
82
  })
@@ -79,7 +87,13 @@ var extractRequestAccessContextImproved = exports.extractRequestAccessContextImp
79
87
  descriptiveMessageKey: 'request_access_description_crossjoin',
80
88
  callToActionMessageKey: 'request_access_crossjoin',
81
89
  action: (0, _ForbiddenAction.ForbiddenAction)(function () {
82
- return window.open(url);
90
+ createAnalyticsEvent({
91
+ action: 'clicked',
92
+ actionSubject: 'button',
93
+ actionSubjectId: 'requestAccess',
94
+ eventType: 'ui'
95
+ }).fire(_analytics.ANALYTICS_CHANNEL);
96
+ window.open(url);
83
97
  }, 'request_access', _messages.messages.request_access_crossjoin)
84
98
  });
85
99
  case 'PENDING_REQUEST_EXISTS':
@@ -109,7 +123,13 @@ var extractRequestAccessContextImproved = exports.extractRequestAccessContextImp
109
123
  descriptiveMessageKey: 'access_exists_description_crossjoin',
110
124
  callToActionMessageKey: 'request_access_crossjoin',
111
125
  action: (0, _ForbiddenAction.ForbiddenAction)(function () {
112
- return window.open(url);
126
+ createAnalyticsEvent({
127
+ action: 'clicked',
128
+ actionSubject: 'button',
129
+ actionSubjectId: 'requestAccess',
130
+ eventType: 'ui'
131
+ }).fire(_analytics.ANALYTICS_CHANNEL);
132
+ window.open(url);
113
133
  }, 'access_exists', _messages.messages.request_access_crossjoin)
114
134
  });
115
135
  case 'FORBIDDEN':
@@ -22,7 +22,7 @@ var ANALYTICS_CHANNEL = exports.ANALYTICS_CHANNEL = 'media';
22
22
  var context = exports.context = {
23
23
  componentName: 'smart-cards',
24
24
  packageName: "@atlaskit/smart-card",
25
- packageVersion: "26.41.3"
25
+ packageVersion: "26.42.1"
26
26
  };
27
27
  var TrackQuickActionType = exports.TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
28
28
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -23,6 +23,7 @@ var _withFlexibleUIBlockCardStyle = require("./utils/withFlexibleUIBlockCardStyl
23
23
  var _extractAccessContext = require("../../../../extractors/common/context/extractAccessContext");
24
24
  var _reactIntlNext = require("react-intl-next");
25
25
  var _extractHostname = _interopRequireDefault(require("../../../../extractors/common/hostname/extractHostname"));
26
+ var _analyticsNext = require("@atlaskit/analytics-next");
26
27
  var _excluded = ["testId"];
27
28
  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); }
28
29
  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; }
@@ -38,6 +39,8 @@ var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
38
39
  var _ref$testId = _ref.testId,
39
40
  testId = _ref$testId === void 0 ? 'smart-block-forbidden-view' : _ref$testId,
40
41
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
42
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
43
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
41
44
  var intl = (0, _reactIntlNext.useIntl)();
42
45
  var cardState = props.cardState,
43
46
  onAuthorize = props.onAuthorize,
@@ -57,9 +60,10 @@ var FlexibleForbiddenView = function FlexibleForbiddenView(_ref) {
57
60
  return (0, _extractAccessContext.extractRequestAccessContextImproved)({
58
61
  jsonLd: cardMetadata,
59
62
  url: url,
60
- product: providerName
63
+ product: providerName,
64
+ createAnalyticsEvent: createAnalyticsEvent
61
65
  });
62
- }, [cardMetadata, providerName, url]);
66
+ }, [cardMetadata, providerName, url, createAnalyticsEvent]);
63
67
  var title = (0, _react.useMemo)(function () {
64
68
  var descriptor = (0, _intlUtils.toMessage)(_messages.messages.invalid_permissions, requestAccessContext === null || requestAccessContext === void 0 ? void 0 : requestAccessContext.titleMessageKey);
65
69
  return intl.formatMessage(descriptor, {
@@ -25,6 +25,7 @@ var _ErroredView = require("./views/ErroredView");
25
25
  var _forbiddenView = _interopRequireDefault(require("./views/forbidden-view"));
26
26
  var _notFoundView = _interopRequireDefault(require("./views/not-found-view"));
27
27
  var _unauthorizedView = _interopRequireDefault(require("./views/unauthorized-view"));
28
+ var _analyticsNext = require("@atlaskit/analytics-next");
28
29
  var EmbedCard = exports.EmbedCard = /*#__PURE__*/_react.default.forwardRef(function (_ref, iframeRef) {
29
30
  var _details$meta, _forbiddenViewProps$c3;
30
31
  var url = _ref.url,
@@ -48,6 +49,8 @@ var EmbedCard = exports.EmbedCard = /*#__PURE__*/_react.default.forwardRef(funct
48
49
  onIframeDwell = _ref.onIframeDwell,
49
50
  onIframeFocus = _ref.onIframeFocus,
50
51
  iframeUrlType = _ref.iframeUrlType;
52
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
53
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
51
54
  var data = details && details.data || (0, _jsonld.getEmptyJsonLd)();
52
55
  var meta = details && details.meta;
53
56
  var extensionKey = (0, _helpers.getExtensionKey)(details);
@@ -157,7 +160,8 @@ var EmbedCard = exports.EmbedCard = /*#__PURE__*/_react.default.forwardRef(funct
157
160
  var accessContext = (0, _extractAccessContext.extractRequestAccessContextImproved)({
158
161
  jsonLd: cardMetadata,
159
162
  url: url,
160
- product: (_forbiddenViewProps$c = (_forbiddenViewProps$c2 = forbiddenViewProps.context) === null || _forbiddenViewProps$c2 === void 0 ? void 0 : _forbiddenViewProps$c2.text) !== null && _forbiddenViewProps$c !== void 0 ? _forbiddenViewProps$c : ''
163
+ product: (_forbiddenViewProps$c = (_forbiddenViewProps$c2 = forbiddenViewProps.context) === null || _forbiddenViewProps$c2 === void 0 ? void 0 : _forbiddenViewProps$c2.text) !== null && _forbiddenViewProps$c !== void 0 ? _forbiddenViewProps$c : '',
164
+ createAnalyticsEvent: createAnalyticsEvent
161
165
  });
162
166
  return /*#__PURE__*/_react.default.createElement(_forbiddenView.default, {
163
167
  context: forbiddenViewProps.context,
@@ -194,7 +198,8 @@ var EmbedCard = exports.EmbedCard = /*#__PURE__*/_react.default.forwardRef(funct
194
198
  var _accessContext = details !== null && details !== void 0 && details.meta ? (0, _extractAccessContext.extractRequestAccessContextImproved)({
195
199
  jsonLd: details === null || details === void 0 ? void 0 : details.meta,
196
200
  url: url,
197
- product: (_notFoundViewProps$co = (_notFoundViewProps$co2 = notFoundViewProps.context) === null || _notFoundViewProps$co2 === void 0 ? void 0 : _notFoundViewProps$co2.text) !== null && _notFoundViewProps$co !== void 0 ? _notFoundViewProps$co : ''
201
+ product: (_notFoundViewProps$co = (_notFoundViewProps$co2 = notFoundViewProps.context) === null || _notFoundViewProps$co2 === void 0 ? void 0 : _notFoundViewProps$co2.text) !== null && _notFoundViewProps$co !== void 0 ? _notFoundViewProps$co : '',
202
+ createAnalyticsEvent: createAnalyticsEvent
198
203
  }) : undefined;
199
204
  return /*#__PURE__*/_react.default.createElement(_notFoundView.default, {
200
205
  context: notFoundViewProps.context,
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.fireRelatedLinksLoadedEvent = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _analytics = require("../../../../../utils/analytics");
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ var createTrackRelatedLinksLoadedEventPayload = function createTrackRelatedLinksLoadedEventPayload(_ref) {
13
+ var relatedLinksCount = _ref.relatedLinksCount;
14
+ return {
15
+ action: 'loaded',
16
+ actionSubject: 'relatedLinks',
17
+ eventType: 'track',
18
+ attributes: {
19
+ relatedLinksCount: relatedLinksCount
20
+ }
21
+ };
22
+ };
23
+ var fireRelatedLinksLoadedEvent = exports.fireRelatedLinksLoadedEvent = function fireRelatedLinksLoadedEvent(createAnalyticsEvent) {
24
+ return function (attributes) {
25
+ var payload = createTrackRelatedLinksLoadedEventPayload(attributes);
26
+ if (payload) {
27
+ createAnalyticsEvent(_objectSpread({}, payload)).fire(_analytics.ANALYTICS_CHANNEL);
28
+ }
29
+ };
30
+ };
@@ -15,10 +15,12 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
15
15
  var _react = _interopRequireWildcard(require("react"));
16
16
  var _reactMagneticDi = require("react-magnetic-di");
17
17
  var _react2 = require("@emotion/react");
18
+ var _analyticsNext = require("@atlaskit/analytics-next");
18
19
  var _useRelatedUrls = _interopRequireDefault(require("../../../../../state/hooks/use-related-urls"));
19
20
  var _errored = require("./errored");
20
21
  var _resolved = require("./resolved");
21
22
  var _resolving = require("./resolving");
23
+ var _analytics = require("./analytics");
22
24
  var _templateObject;
23
25
  var _excluded = ["testId", "url", "renderers"];
24
26
  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); }
@@ -32,6 +34,8 @@ var RelatedUrlsBlock = function RelatedUrlsBlock(_ref) {
32
34
  url = _ref.url,
33
35
  renderers = _ref.renderers,
34
36
  blockProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
37
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
38
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
35
39
  var _useState = (0, _react.useState)(true),
36
40
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
41
  loadingRelatedUrls = _useState2[0],
@@ -48,7 +52,7 @@ var RelatedUrlsBlock = function RelatedUrlsBlock(_ref) {
48
52
  (0, _react.useEffect)(function () {
49
53
  var fetchRelatedUrls = /*#__PURE__*/function () {
50
54
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
51
- var relUrls;
55
+ var _relUrls$resolvedResu, _relUrls$resolvedResu2, relUrls;
52
56
  return _regenerator.default.wrap(function _callee$(_context) {
53
57
  while (1) switch (_context.prev = _context.next) {
54
58
  case 0:
@@ -58,26 +62,33 @@ var RelatedUrlsBlock = function RelatedUrlsBlock(_ref) {
58
62
  case 3:
59
63
  relUrls = _context.sent;
60
64
  setRelatedUrls(relUrls);
61
- _context.next = 10;
65
+
66
+ /**
67
+ * Fire TrackRelatedLinksLoadedEvent
68
+ */
69
+ (0, _analytics.fireRelatedLinksLoadedEvent)(createAnalyticsEvent)({
70
+ relatedLinksCount: (_relUrls$resolvedResu = (_relUrls$resolvedResu2 = relUrls.resolvedResults) === null || _relUrls$resolvedResu2 === void 0 ? void 0 : _relUrls$resolvedResu2.length) !== null && _relUrls$resolvedResu !== void 0 ? _relUrls$resolvedResu : 0
71
+ });
72
+ _context.next = 11;
62
73
  break;
63
- case 7:
64
- _context.prev = 7;
74
+ case 8:
75
+ _context.prev = 8;
65
76
  _context.t0 = _context["catch"](0);
66
77
  setErr(_context.t0);
67
- case 10:
68
- setLoadingRelatedUrls(false);
69
78
  case 11:
79
+ setLoadingRelatedUrls(false);
80
+ case 12:
70
81
  case "end":
71
82
  return _context.stop();
72
83
  }
73
- }, _callee, null, [[0, 7]]);
84
+ }, _callee, null, [[0, 8]]);
74
85
  }));
75
86
  return function fetchRelatedUrls() {
76
87
  return _ref2.apply(this, arguments);
77
88
  };
78
89
  }();
79
90
  fetchRelatedUrls();
80
- }, [getRelatedUrls, url]);
91
+ }, [createAnalyticsEvent, getRelatedUrls, url]);
81
92
  if (loadingRelatedUrls) {
82
93
  return /*#__PURE__*/_react.default.createElement(_resolving.RelatedUrlsBlockResolvingView, (0, _extends2.default)({
83
94
  testId: "".concat(testId, "-resolving-view")
@@ -17,7 +17,7 @@ var _react2 = require("@emotion/react");
17
17
  var _messages = require("../../../../../../../messages");
18
18
  var _utils = require("../../../../../components/utils");
19
19
  var _text = _interopRequireDefault(require("../../../../elements/text"));
20
- var _relatedUrlItem = _interopRequireDefault(require("./related-url-item"));
20
+ var _resolvedResultStack = _interopRequireDefault(require("./resolved-result-stack"));
21
21
  var _templateObject;
22
22
  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); }
23
23
  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; }
@@ -36,19 +36,6 @@ var RelatedUrlList = function RelatedUrlList(_ref) {
36
36
  }, [isOpen]);
37
37
  var ChevronComponent = isOpen ? _chevronUp.default : _chevronDown.default;
38
38
  var intl = (0, _reactIntlNext.useIntl)();
39
- var resolvedResultsStack = (0, _react.useMemo)(function () {
40
- return /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
41
- space: "space.050",
42
- testId: "".concat(testId, "-items-wrapper")
43
- }, resolvedResults.map(function (resolvedResults, idx) {
44
- return /*#__PURE__*/_react.default.createElement(_relatedUrlItem.default, {
45
- testId: "".concat(testId, "-item"),
46
- key: idx,
47
- results: resolvedResults,
48
- renderers: renderers
49
- });
50
- }));
51
- }, [renderers, resolvedResults, testId]);
52
39
  return resolvedResults.length > 0 ? /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
53
40
  testId: testId,
54
41
  xcss: (0, _primitives.xcss)({
@@ -56,7 +43,11 @@ var RelatedUrlList = function RelatedUrlList(_ref) {
56
43
  })
57
44
  }, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
58
45
  onClick: chevronClickHandler,
59
- testId: "".concat(testId, "-expand-title")
46
+ testId: "".concat(testId, "-expand-title"),
47
+ as: "button",
48
+ backgroundColor: "color.background.neutral.subtle",
49
+ "aria-expanded": !!isOpen,
50
+ padding: "space.0"
60
51
  }, /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
61
52
  alignBlock: "center",
62
53
  spread: "space-between"
@@ -68,7 +59,11 @@ var RelatedUrlList = function RelatedUrlList(_ref) {
68
59
  }), /*#__PURE__*/_react.default.createElement(ChevronComponent, {
69
60
  label: (0, _utils.getFormattedMessageAsString)(intl, title),
70
61
  size: 'medium'
71
- }))), isOpen && resolvedResultsStack) : /*#__PURE__*/_react.default.createElement(_text.default, {
62
+ }))), isOpen && /*#__PURE__*/_react.default.createElement(_resolvedResultStack.default, {
63
+ resolvedResults: resolvedResults,
64
+ testId: testId,
65
+ renderers: renderers
66
+ })) : /*#__PURE__*/_react.default.createElement(_text.default, {
72
67
  testId: testId,
73
68
  message: {
74
69
  descriptor: _messages.messages.related_work_items_not_found
@@ -9,22 +9,29 @@ exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _primitives = require("@atlaskit/primitives");
12
+ var _analyticsNext = require("@atlaskit/analytics-next");
12
13
  var _constants = require("../../../../../../../../constants");
13
14
  var _flexible = _interopRequireDefault(require("../../../../../../../../extractors/flexible"));
14
15
  var _icon = _interopRequireDefault(require("../../../../../elements/icon"));
15
16
  var _link = _interopRequireDefault(require("../../../../../elements/link"));
17
+ var _click = require("../../../../../../../../utils/analytics/click");
16
18
  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); }
17
19
  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; }
18
20
  var RelatedUrlItem = function RelatedUrlItem(_ref) {
19
21
  var results = _ref.results,
20
22
  renderers = _ref.renderers,
21
23
  testId = _ref.testId;
24
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
25
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
22
26
  var flexibleDataContext = (0, _react.useMemo)(function () {
23
27
  return (0, _flexible.default)({
24
28
  response: results,
25
29
  renderers: renderers
26
30
  });
27
31
  }, [renderers, results]);
32
+ var onClick = (0, _react.useCallback)(function (event) {
33
+ (0, _click.fireLinkClickedEvent)(createAnalyticsEvent)(event);
34
+ }, [createAnalyticsEvent]);
28
35
  return /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
29
36
  alignBlock: "center",
30
37
  space: "space.050",
@@ -37,7 +44,8 @@ var RelatedUrlItem = function RelatedUrlItem(_ref) {
37
44
  text: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.title,
38
45
  url: flexibleDataContext === null || flexibleDataContext === void 0 ? void 0 : flexibleDataContext.url,
39
46
  size: _constants.SmartLinkSize.Small,
40
- maxLines: 1
47
+ maxLines: 1,
48
+ onClick: onClick
41
49
  }));
42
50
  };
43
51
  var _default = exports.default = RelatedUrlItem;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.fireRelatedLinksViewedEvent = exports.RelatedUrlItemAnalyticsContext = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _analyticsNext = require("@atlaskit/analytics-next");
11
+ var _resolvedAttributes = require("@atlaskit/link-analytics/resolved-attributes");
12
+ var _analytics = require("../../../../../../../../utils/analytics");
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ var createUiRelatedLinksViewedEventPayload = function createUiRelatedLinksViewedEventPayload(_ref) {
16
+ var relatedLinksCount = _ref.relatedLinksCount;
17
+ return {
18
+ action: 'viewed',
19
+ actionSubject: 'relatedLinks',
20
+ eventType: 'ui',
21
+ attributes: {
22
+ relatedLinksCount: relatedLinksCount
23
+ }
24
+ };
25
+ };
26
+ var fireRelatedLinksViewedEvent = exports.fireRelatedLinksViewedEvent = function fireRelatedLinksViewedEvent(createAnalyticsEvent) {
27
+ return function (attributes) {
28
+ var payload = createUiRelatedLinksViewedEventPayload(attributes);
29
+ if (payload) {
30
+ createAnalyticsEvent(_objectSpread({}, payload)).fire(_analytics.ANALYTICS_CHANNEL);
31
+ }
32
+ };
33
+ };
34
+ var RelatedUrlItemAnalyticsContext = exports.RelatedUrlItemAnalyticsContext = function RelatedUrlItemAnalyticsContext(props) {
35
+ var children = props.children,
36
+ details = props.details;
37
+
38
+ /**
39
+ * We don't really need the `url` to get the attributes here so set
40
+ * it to an empty string to just make typescript happy
41
+ */
42
+ var attributes = (0, _resolvedAttributes.getResolvedAttributes)({
43
+ url: ''
44
+ }, details);
45
+ return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsContext, {
46
+ data: {
47
+ attributes: attributes,
48
+ component: 'relatedLink'
49
+ }
50
+ }, children);
51
+ };
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _primitives = require("@atlaskit/primitives");
11
+ var _analyticsNext = require("@atlaskit/analytics-next");
12
+ var _relatedUrlItem = _interopRequireDefault(require("../related-url-item"));
13
+ var _analytics = require("./analytics");
14
+ 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); }
15
+ 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; }
16
+ var ResolvedResultsStack = function ResolvedResultsStack(_ref) {
17
+ var resolvedResults = _ref.resolvedResults,
18
+ testId = _ref.testId,
19
+ renderers = _ref.renderers;
20
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
21
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
22
+ (0, _react.useEffect)(function () {
23
+ // This event will fire each time the component is loaded
24
+ (0, _analytics.fireRelatedLinksViewedEvent)(createAnalyticsEvent)({
25
+ relatedLinksCount: resolvedResults.length
26
+ });
27
+ }, [resolvedResults.length, createAnalyticsEvent]);
28
+ return /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
29
+ space: "space.050",
30
+ testId: "".concat(testId, "-items-wrapper"),
31
+ as: "ul",
32
+ xcss: (0, _primitives.xcss)({
33
+ paddingLeft: '0px',
34
+ marginTop: '0px'
35
+ })
36
+ }, resolvedResults.map(function (resolvedResults, idx) {
37
+ return /*#__PURE__*/_react.default.createElement(_analytics.RelatedUrlItemAnalyticsContext, {
38
+ details: resolvedResults,
39
+ key: idx
40
+ }, /*#__PURE__*/_react.default.createElement(_relatedUrlItem.default, {
41
+ testId: "".concat(testId, "-item"),
42
+ results: resolvedResults,
43
+ renderers: renderers
44
+ }));
45
+ }));
46
+ };
47
+ var ResolvedResultsStackWithAnalytics = function ResolvedResultsStackWithAnalytics(props) {
48
+ return /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsContext, {
49
+ data: {
50
+ component: 'relatedLinksSection'
51
+ }
52
+ }, /*#__PURE__*/_react.default.createElement(ResolvedResultsStack, props));
53
+ };
54
+ var _default = exports.default = ResolvedResultsStackWithAnalytics;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -17,11 +17,14 @@ var _styled = require("./styled");
17
17
  var _styled2 = require("../../../styled");
18
18
  var _extractAccessContext = require("../../../../../extractors/common/context/extractAccessContext");
19
19
  var _extractHostname = _interopRequireDefault(require("../../../../../extractors/common/hostname/extractHostname"));
20
+ var _analyticsNext = require("@atlaskit/analytics-next");
20
21
  var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
21
22
  var _cardState$details, _cardState$details2, _extractProvider$text, _extractProvider, _extractRequestAccess;
22
23
  var flexibleCardProps = _ref.flexibleCardProps,
23
24
  _ref$testId = _ref.testId,
24
25
  testId = _ref$testId === void 0 ? 'hover-card-forbidden-view' : _ref$testId;
26
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
27
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
25
28
  var cardState = flexibleCardProps.cardState,
26
29
  url = flexibleCardProps.url;
27
30
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
@@ -31,7 +34,8 @@ var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
31
34
  var _ref2 = (_extractRequestAccess = (0, _extractAccessContext.extractRequestAccessContextImproved)({
32
35
  jsonLd: meta,
33
36
  url: url,
34
- product: product
37
+ product: product,
38
+ createAnalyticsEvent: createAnalyticsEvent
35
39
  })) !== null && _extractRequestAccess !== void 0 ? _extractRequestAccess : {},
36
40
  action = _ref2.action,
37
41
  descriptiveMessageKey = _ref2.descriptiveMessageKey,
@@ -62,9 +66,9 @@ var HoverCardForbiddenView = function HoverCardForbiddenView(_ref) {
62
66
  hostname: hostname
63
67
  }
64
68
  }))), action && /*#__PURE__*/_react.default.createElement(_blocks.CustomBlock, {
65
- overrideCss: _styled.connectButtonStyles,
66
- testId: "".concat(testId, "-button")
69
+ overrideCss: _styled.connectButtonStyles
67
70
  }, /*#__PURE__*/_react.default.createElement(_button.default, {
71
+ testId: "".concat(testId, "-button"),
68
72
  onClick: action === null || action === void 0 ? void 0 : action.promise,
69
73
  appearance: "primary",
70
74
  isDisabled: buttonDisabled
@@ -18,7 +18,7 @@ var _excluded = ["href", "children", "checkSafety", "onClick", "testId"],
18
18
  _excluded2 = ["isLinkSafe", "showSafetyWarningModal"];
19
19
  var PACKAGE_DATA = {
20
20
  packageName: "@atlaskit/smart-card",
21
- packageVersion: "26.41.3",
21
+ packageVersion: "26.42.1",
22
22
  componentName: 'linkUrl'
23
23
  };
24
24
  var Link = (0, _click.withLinkClickedEvent)('a');
@@ -51,6 +51,7 @@ var _linkExtractors = require("@atlaskit/link-extractors");
51
51
  var _linkProvider = require("@atlaskit/link-provider");
52
52
  var _helpers = require("../../state/helpers");
53
53
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
54
+ var _analyticsNext = require("@atlaskit/analytics-next");
54
55
  var InlineCard = exports.InlineCard = function InlineCard(_ref) {
55
56
  var _details$meta, _providerForbidden$te;
56
57
  var analytics = _ref.analytics,
@@ -68,6 +69,8 @@ var InlineCard = exports.InlineCard = function InlineCard(_ref) {
68
69
  showHoverPreview = _ref.showHoverPreview,
69
70
  showAuthTooltip = _ref.showAuthTooltip,
70
71
  showServerActions = _ref.showServerActions;
72
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
73
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
71
74
  var status = cardState.status,
72
75
  details = cardState.details;
73
76
  var cardDetails = details && details.data || (0, _jsonld.getEmptyJsonLd)();
@@ -137,7 +140,8 @@ var InlineCard = exports.InlineCard = function InlineCard(_ref) {
137
140
  var requestAccessContext = (0, _platformFeatureFlags.getBooleanFF)('platform.linking-platform.smart-card.cross-join') ? (0, _extractAccessContext.extractRequestAccessContextImproved)({
138
141
  jsonLd: cardMetadata,
139
142
  url: url,
140
- product: (_providerForbidden$te = providerForbidden === null || providerForbidden === void 0 ? void 0 : providerForbidden.text) !== null && _providerForbidden$te !== void 0 ? _providerForbidden$te : ''
143
+ product: (_providerForbidden$te = providerForbidden === null || providerForbidden === void 0 ? void 0 : providerForbidden.text) !== null && _providerForbidden$te !== void 0 ? _providerForbidden$te : '',
144
+ createAnalyticsEvent: createAnalyticsEvent
141
145
  }) : (0, _context.extractRequestAccessContext)({
142
146
  jsonLd: cardMetadata,
143
147
  url: url,
@@ -1,6 +1,7 @@
1
1
  import { messages } from '../../../messages';
2
2
  import { ForbiddenAction } from '../../../view/BlockCard/actions/ForbiddenAction';
3
3
  import extractHostname from '../hostname/extractHostname';
4
+ import { ANALYTICS_CHANNEL } from '../../../utils/analytics';
4
5
  export const extractRequestAccessContext = ({
5
6
  jsonLd,
6
7
  url,
@@ -48,7 +49,8 @@ export const extractRequestAccessContext = ({
48
49
  export const extractRequestAccessContextImproved = ({
49
50
  jsonLd,
50
51
  url,
51
- product
52
+ product,
53
+ createAnalyticsEvent
52
54
  }) => {
53
55
  var _jsonLd$requestAccess2;
54
56
  const requestAccess = jsonLd !== null && jsonLd !== void 0 && jsonLd.requestAccess ? {
@@ -62,7 +64,15 @@ export const extractRequestAccessContextImproved = ({
62
64
  titleMessageKey: 'direct_access_title_crossjoin',
63
65
  descriptiveMessageKey: 'direct_access_description_crossjoin',
64
66
  callToActionMessageKey: 'direct_access_crossjoin',
65
- action: ForbiddenAction(() => window.open(url), 'direct_access', messages.direct_access_crossjoin, {
67
+ action: ForbiddenAction(() => {
68
+ createAnalyticsEvent({
69
+ action: 'clicked',
70
+ actionSubject: 'button',
71
+ actionSubjectId: 'crossJoin',
72
+ eventType: 'ui'
73
+ }).fire(ANALYTICS_CHANNEL);
74
+ window.open(url);
75
+ }, 'direct_access', messages.direct_access_crossjoin, {
66
76
  product
67
77
  })
68
78
  };
@@ -72,7 +82,15 @@ export const extractRequestAccessContextImproved = ({
72
82
  titleMessageKey: 'default_no_access_title_crossjoin',
73
83
  descriptiveMessageKey: 'request_access_description_crossjoin',
74
84
  callToActionMessageKey: 'request_access_crossjoin',
75
- action: ForbiddenAction(() => window.open(url), 'request_access', messages.request_access_crossjoin)
85
+ action: ForbiddenAction(() => {
86
+ createAnalyticsEvent({
87
+ action: 'clicked',
88
+ actionSubject: 'button',
89
+ actionSubjectId: 'requestAccess',
90
+ eventType: 'ui'
91
+ }).fire(ANALYTICS_CHANNEL);
92
+ window.open(url);
93
+ }, 'request_access', messages.request_access_crossjoin)
76
94
  };
77
95
  case 'PENDING_REQUEST_EXISTS':
78
96
  return {
@@ -102,7 +120,15 @@ export const extractRequestAccessContextImproved = ({
102
120
  titleMessageKey: 'forbidden_title_crossjoin',
103
121
  descriptiveMessageKey: 'access_exists_description_crossjoin',
104
122
  callToActionMessageKey: 'request_access_crossjoin',
105
- action: ForbiddenAction(() => window.open(url), 'access_exists', messages.request_access_crossjoin)
123
+ action: ForbiddenAction(() => {
124
+ createAnalyticsEvent({
125
+ action: 'clicked',
126
+ actionSubject: 'button',
127
+ actionSubjectId: 'requestAccess',
128
+ eventType: 'ui'
129
+ }).fire(ANALYTICS_CHANNEL);
130
+ window.open(url);
131
+ }, 'access_exists', messages.request_access_crossjoin)
106
132
  };
107
133
  case 'FORBIDDEN':
108
134
  return {
@@ -4,7 +4,7 @@ export const ANALYTICS_CHANNEL = 'media';
4
4
  export const context = {
5
5
  componentName: 'smart-cards',
6
6
  packageName: "@atlaskit/smart-card",
7
- packageVersion: "26.41.3"
7
+ packageVersion: "26.42.1"
8
8
  };
9
9
  export let TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
10
10
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";