@atlaskit/smart-card 30.2.5 → 30.2.6

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 (43) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/analytics.spec.yaml +81 -0
  3. package/dist/cjs/state/actions/index.js +15 -5
  4. package/dist/cjs/state/analytics/useSmartLinkAnalytics.js +6 -0
  5. package/dist/cjs/utils/analytics/analytics.js +33 -1
  6. package/dist/cjs/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +12 -4
  7. package/dist/cjs/view/EmbedCard/views/unauthorized-view/index.js +12 -4
  8. package/dist/cjs/view/FlexibleCard/components/actions/action/server-action/index.js +34 -11
  9. package/dist/cjs/view/FlexibleCard/components/elements/lozenge/lozenge-action/index.js +44 -12
  10. package/dist/cjs/view/HoverCard/components/views/unauthorised/index.js +12 -4
  11. package/dist/cjs/view/InlineCard/UnauthorisedView/index.js +75 -9
  12. package/dist/cjs/view/LinkUrl/index.js +1 -1
  13. package/dist/es2019/state/actions/index.js +16 -5
  14. package/dist/es2019/state/analytics/useSmartLinkAnalytics.js +6 -0
  15. package/dist/es2019/utils/analytics/analytics.js +33 -1
  16. package/dist/es2019/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +13 -4
  17. package/dist/es2019/view/EmbedCard/views/unauthorized-view/index.js +13 -4
  18. package/dist/es2019/view/FlexibleCard/components/actions/action/server-action/index.js +35 -11
  19. package/dist/es2019/view/FlexibleCard/components/elements/lozenge/lozenge-action/index.js +45 -12
  20. package/dist/es2019/view/HoverCard/components/views/unauthorised/index.js +13 -4
  21. package/dist/es2019/view/InlineCard/UnauthorisedView/index.js +69 -3
  22. package/dist/es2019/view/LinkUrl/index.js +1 -1
  23. package/dist/esm/state/actions/index.js +15 -5
  24. package/dist/esm/state/analytics/useSmartLinkAnalytics.js +6 -0
  25. package/dist/esm/utils/analytics/analytics.js +33 -1
  26. package/dist/esm/view/BlockCard/views/flexible/FlexibleUnauthorisedView.js +12 -4
  27. package/dist/esm/view/EmbedCard/views/unauthorized-view/index.js +12 -4
  28. package/dist/esm/view/FlexibleCard/components/actions/action/server-action/index.js +34 -11
  29. package/dist/esm/view/FlexibleCard/components/elements/lozenge/lozenge-action/index.js +44 -12
  30. package/dist/esm/view/HoverCard/components/views/unauthorised/index.js +12 -4
  31. package/dist/esm/view/InlineCard/UnauthorisedView/index.js +75 -9
  32. package/dist/esm/view/LinkUrl/index.js +1 -1
  33. package/dist/types/common/analytics/generated/analytics.types.d.ts +39 -1
  34. package/dist/types/state/analytics/useSmartLinkAnalytics.d.ts +6 -0
  35. package/dist/types/utils/analytics/analytics.d.ts +24 -0
  36. package/dist/types/view/Card/index.d.ts +1 -1
  37. package/dist/types/view/InlineCard/UnauthorisedView/index.d.ts +1 -6
  38. package/dist/types-ts4.5/common/analytics/generated/analytics.types.d.ts +39 -1
  39. package/dist/types-ts4.5/state/analytics/useSmartLinkAnalytics.d.ts +6 -0
  40. package/dist/types-ts4.5/utils/analytics/analytics.d.ts +24 -0
  41. package/dist/types-ts4.5/view/Card/index.d.ts +1 -1
  42. package/dist/types-ts4.5/view/InlineCard/UnauthorisedView/index.d.ts +1 -6
  43. package/package.json +4 -1
@@ -1,10 +1,12 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _extends from "@babel/runtime/helpers/extends";
3
3
  import React from 'react';
4
4
  import { FormattedMessage } from 'react-intl-next';
5
5
  import Button from '@atlaskit/button';
6
6
  import LockIcon from '@atlaskit/icon/glyph/lock-filled';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
7
8
  import { N500, R400 } from '@atlaskit/theme/colors';
9
+ import { useAnalyticsEvents } from '../../../common/analytics/generated/use-analytics-events';
8
10
  import { messages } from '../../../messages';
9
11
  import { HoverCard } from '../../HoverCard';
10
12
  import { Frame } from '../Frame';
@@ -17,7 +19,64 @@ const FallbackUnauthorizedIcon = /*#__PURE__*/React.createElement(AKIconWrapper,
17
19
  size: "small",
18
20
  primaryColor: `var(--ds-icon-danger, ${R400})`
19
21
  }));
20
- export class InlineCardUnauthorizedView extends React.Component {
22
+ const InlineCardUnauthorizedViewNew = ({
23
+ url,
24
+ id,
25
+ icon,
26
+ onAuthorise,
27
+ onClick,
28
+ isSelected,
29
+ testId = 'inline-card-unauthorized-view',
30
+ showAuthTooltip = false,
31
+ truncateInline,
32
+ context
33
+ }) => {
34
+ const frameRef = React.useRef(null);
35
+ const {
36
+ fireEvent
37
+ } = useAnalyticsEvents();
38
+ const handleConnectAccount = React.useCallback(event => {
39
+ event.preventDefault();
40
+ event.stopPropagation();
41
+ if (onAuthorise) {
42
+ fireEvent('track.applicationAccount.authStarted', {});
43
+ onAuthorise();
44
+ }
45
+ }, [fireEvent, onAuthorise]);
46
+ const renderActionButton = React.useCallback(() => {
47
+ const ActionButton = withFrameStyleControl(Button, frameRef);
48
+ return onAuthorise ? /*#__PURE__*/React.createElement(ActionButton, {
49
+ spacing: "none",
50
+ component: IconStyledButton,
51
+ onClick: handleConnectAccount,
52
+ testId: "button-connect-account"
53
+ }, /*#__PURE__*/React.createElement(FormattedMessage, _extends({}, messages.connect_link_account_card_name, {
54
+ values: {
55
+ context
56
+ }
57
+ }))) : undefined;
58
+ }, [handleConnectAccount, onAuthorise, context]);
59
+ const inlineCardUnauthenticatedView = /*#__PURE__*/React.createElement(Frame, {
60
+ testId: testId,
61
+ isSelected: isSelected,
62
+ ref: frameRef,
63
+ truncateInline: truncateInline
64
+ }, /*#__PURE__*/React.createElement(IconAndTitleLayout, {
65
+ icon: icon ? icon : FallbackUnauthorizedIcon,
66
+ title: url,
67
+ link: url,
68
+ onClick: onClick,
69
+ titleColor: `var(--ds-text-subtle, ${N500})`
70
+ }), renderActionButton());
71
+ if (onAuthorise && showAuthTooltip) {
72
+ return /*#__PURE__*/React.createElement(HoverCard, {
73
+ url: url,
74
+ id: id
75
+ }, inlineCardUnauthenticatedView);
76
+ }
77
+ return inlineCardUnauthenticatedView;
78
+ };
79
+ class InlineCardUnauthorizedViewOld extends React.Component {
21
80
  constructor(...args) {
22
81
  super(...args);
23
82
  _defineProperty(this, "frameRef", /*#__PURE__*/React.createRef());
@@ -85,4 +144,11 @@ export class InlineCardUnauthorizedView extends React.Component {
85
144
  }
86
145
  return inlineCardUnauthenticatedView;
87
146
  }
88
- }
147
+ }
148
+ export const InlineCardUnauthorizedView = props => {
149
+ if (fg('smart-card-migrate-track-analytics')) {
150
+ return /*#__PURE__*/React.createElement(InlineCardUnauthorizedViewNew, props);
151
+ } else {
152
+ return /*#__PURE__*/React.createElement(InlineCardUnauthorizedViewOld, props);
153
+ }
154
+ };
@@ -7,7 +7,7 @@ import LinkWarningModal from './LinkWarningModal';
7
7
  import { useLinkWarningModal } from './LinkWarningModal/hooks/use-link-warning-modal';
8
8
  const PACKAGE_DATA = {
9
9
  packageName: "@atlaskit/smart-card",
10
- packageVersion: "30.2.5",
10
+ packageVersion: "30.2.6",
11
11
  componentName: 'linkUrl'
12
12
  };
13
13
  const Link = withLinkClickedEvent('a');
@@ -4,6 +4,8 @@ import { useCallback, useMemo } from 'react';
4
4
  import { useSmartLinkContext } from '@atlaskit/link-provider';
5
5
  import { ACTION_RESOLVING, ACTION_UPDATE_METADATA_STATUS, cardAction } from '@atlaskit/linking-common';
6
6
  import { auth } from '@atlaskit/outbound-auth-flow-client';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
8
+ import { useAnalyticsEvents } from '../../common/analytics/generated/use-analytics-events';
7
9
  import { SmartLinkStatus } from '../../constants';
8
10
  import { getByDefinitionId, getDefinitionId, getExtensionKey, getServices } from '../helpers';
9
11
  import useInvokeClientAction from '../hooks/use-invoke-client-action';
@@ -13,6 +15,8 @@ export var useSmartCardActions = function useSmartCardActions(id, url, analytics
13
15
  var invokeClientAction = useInvokeClientAction({
14
16
  analytics: analytics
15
17
  });
18
+ var _useAnalyticsEvents = useAnalyticsEvents(),
19
+ fireEvent = _useAnalyticsEvents.fireEvent;
16
20
  var _useSmartLinkContext = useSmartLinkContext(),
17
21
  store = _useSmartLinkContext.store;
18
22
  var getState = store.getState,
@@ -114,10 +118,16 @@ export var useSmartCardActions = function useSmartCardActions(id, url, analytics
114
118
  extensionKey: extensionKey
115
119
  });
116
120
  auth(services[0].url).then(function () {
117
- analytics.track.appAccountConnected({
118
- definitionId: definitionId,
119
- extensionKey: extensionKey
120
- });
121
+ if (fg('smart-card-migrate-track-analytics')) {
122
+ fireEvent('track.applicationAccount.connected', {
123
+ definitionId: definitionId !== null && definitionId !== void 0 ? definitionId : null
124
+ });
125
+ } else {
126
+ analytics.track.appAccountConnected({
127
+ definitionId: definitionId,
128
+ extensionKey: extensionKey
129
+ });
130
+ }
121
131
  analytics.operational.connectSucceededEvent({
122
132
  id: id,
123
133
  definitionId: definitionId,
@@ -141,7 +151,7 @@ export var useSmartCardActions = function useSmartCardActions(id, url, analytics
141
151
  reload();
142
152
  });
143
153
  }
144
- }, [getSmartLinkState, analytics.ui, analytics.screen, analytics.track, analytics.operational, id, reload]);
154
+ }, [getSmartLinkState, analytics.ui, analytics.screen, analytics.track, analytics.operational, id, reload, fireEvent]);
145
155
  var invoke = useCallback( /*#__PURE__*/function () {
146
156
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(opts, appearance) {
147
157
  var key, action, source;
@@ -711,6 +711,7 @@ export var useSmartLinkAnalytics = function useSmartLinkAnalytics(url, id, defau
711
711
  * @param definitionId The definitionId of the Smart Link resolver invoked.
712
712
  * @param extensionKey The extensionKey of the Smart Link resovler invoked.
713
713
  * @returns
714
+ * @deprecated
714
715
  */
715
716
  appAccountConnected: function appAccountConnected(_ref19) {
716
717
  var extensionKey = _ref19.extensionKey,
@@ -733,6 +734,7 @@ export var useSmartLinkAnalytics = function useSmartLinkAnalytics(url, id, defau
733
734
  * @param location a location where the Smart Link auth action was initiated.
734
735
  * @param extensionKey The extensionKey of the Smart Link resolver invoked.
735
736
  * @returns
737
+ * @deprecated
736
738
  */
737
739
  appAccountAuthStarted: function appAccountAuthStarted(_ref20) {
738
740
  var extensionKey = _ref20.extensionKey,
@@ -744,24 +746,28 @@ export var useSmartLinkAnalytics = function useSmartLinkAnalytics(url, id, defau
744
746
  },
745
747
  /**
746
748
  * This fires a tracking event before an action invoke api call is made
749
+ * @deprecated
747
750
  */
748
751
  smartLinkQuickActionStarted: function smartLinkQuickActionStarted(props) {
749
752
  return dispatchAnalytics(applyCommonAttributes(trackSmartLinkQuickActionStarted(_objectSpread(_objectSpread({}, commonAttributes), props)), commonAttributes));
750
753
  },
751
754
  /**
752
755
  * This fires a tracking event after an action invoke api call is successful
756
+ * @deprecated
753
757
  */
754
758
  smartLinkQuickActionSuccess: function smartLinkQuickActionSuccess(props) {
755
759
  return dispatchAnalytics(applyCommonAttributes(trackSmartLinkQuickActionSuccess(_objectSpread(_objectSpread({}, commonAttributes), props)), commonAttributes));
756
760
  },
757
761
  /**
758
762
  * This fires a tracking event after an action invoke api call has failed
763
+ * @deprecated
759
764
  */
760
765
  smartLinkQuickActionFailed: function smartLinkQuickActionFailed(props) {
761
766
  return dispatchAnalytics(applyCommonAttributes(trackSmartLinkQuickActionFailed(_objectSpread(_objectSpread({}, commonAttributes), props)), commonAttributes));
762
767
  },
763
768
  /**
764
769
  * Fires a track event when we call loadMetadata() to get information for a hover card
770
+ * @deprecated
765
771
  */
766
772
  hoverCardResolutionStarted: function hoverCardResolutionStarted() {
767
773
  return dispatchAnalytics(applyCommonAttributes(trackHoverCardResolutionStarted(_objectSpread({
@@ -15,7 +15,7 @@ export var ANALYTICS_CHANNEL = 'media';
15
15
  export var context = {
16
16
  componentName: 'smart-cards',
17
17
  packageName: "@atlaskit/smart-card",
18
- packageVersion: "30.2.5"
18
+ packageVersion: "30.2.6"
19
19
  };
20
20
  export var TrackQuickActionType = /*#__PURE__*/function (TrackQuickActionType) {
21
21
  TrackQuickActionType["StatusUpdate"] = "StatusUpdate";
@@ -205,6 +205,10 @@ export var connectFailedEvent = function connectFailedEvent(_ref5) {
205
205
  })
206
206
  };
207
207
  };
208
+
209
+ /**
210
+ * @deprecated
211
+ */
208
212
  export var trackAppAccountConnected = function trackAppAccountConnected(_ref6) {
209
213
  var definitionId = _ref6.definitionId,
210
214
  extensionKey = _ref6.extensionKey,
@@ -224,6 +228,10 @@ export var trackAppAccountConnected = function trackAppAccountConnected(_ref6) {
224
228
  })
225
229
  };
226
230
  };
231
+
232
+ /**
233
+ * @deprecated
234
+ */
227
235
  export var trackAppAccountAuthStarted = function trackAppAccountAuthStarted(_ref7) {
228
236
  var extensionKey = _ref7.extensionKey,
229
237
  location = _ref7.location;
@@ -237,6 +245,10 @@ export var trackAppAccountAuthStarted = function trackAppAccountAuthStarted(_ref
237
245
  })
238
246
  };
239
247
  };
248
+
249
+ /**
250
+ * @deprecated
251
+ */
240
252
  export var trackSmartLinkQuickActionStarted = function trackSmartLinkQuickActionStarted(_ref8) {
241
253
  var _SmartLinkActionTypeT2;
242
254
  var smartLinkActionType = _ref8.smartLinkActionType,
@@ -250,6 +262,10 @@ export var trackSmartLinkQuickActionStarted = function trackSmartLinkQuickAction
250
262
  })
251
263
  };
252
264
  };
265
+
266
+ /**
267
+ * @deprecated
268
+ */
253
269
  export var trackSmartLinkQuickActionSuccess = function trackSmartLinkQuickActionSuccess(_ref9) {
254
270
  var _SmartLinkActionTypeT3;
255
271
  var smartLinkActionType = _ref9.smartLinkActionType,
@@ -263,6 +279,10 @@ export var trackSmartLinkQuickActionSuccess = function trackSmartLinkQuickAction
263
279
  })
264
280
  };
265
281
  };
282
+
283
+ /**
284
+ * @deprecated
285
+ */
266
286
  export var trackSmartLinkQuickActionFailed = function trackSmartLinkQuickActionFailed(_ref10) {
267
287
  var _SmartLinkActionTypeT4;
268
288
  var smartLinkActionType = _ref10.smartLinkActionType,
@@ -276,6 +296,10 @@ export var trackSmartLinkQuickActionFailed = function trackSmartLinkQuickActionF
276
296
  })
277
297
  };
278
298
  };
299
+
300
+ /**
301
+ * @deprecated
302
+ */
279
303
  export var trackHoverCardResolutionStarted = function trackHoverCardResolutionStarted(_ref11) {
280
304
  var display = _ref11.display,
281
305
  attributes = _objectWithoutProperties(_ref11, _excluded4);
@@ -361,6 +385,10 @@ export var uiCardClickedEvent = function uiCardClickedEvent(_ref14) {
361
385
  })
362
386
  };
363
387
  };
388
+
389
+ /**
390
+ * @deprecated
391
+ */
364
392
  export var uiIframeDwelledEvent = function uiIframeDwelledEvent(_ref15) {
365
393
  var id = _ref15.id,
366
394
  display = _ref15.display,
@@ -390,6 +418,10 @@ export var uiIframeDwelledEvent = function uiIframeDwelledEvent(_ref15) {
390
418
  })
391
419
  };
392
420
  };
421
+
422
+ /**
423
+ * @deprecated
424
+ */
393
425
  export var uiIframeFocusedEvent = function uiIframeFocusedEvent(_ref16) {
394
426
  var id = _ref16.id,
395
427
  display = _ref16.display,
@@ -11,6 +11,8 @@ import { useCallback, useMemo } from 'react';
11
11
  import { css, jsx } from '@emotion/react';
12
12
  import { FormattedMessage } from 'react-intl-next';
13
13
  import { extractProvider } from '@atlaskit/link-extractors';
14
+ import { fg } from '@atlaskit/platform-feature-flags';
15
+ import { useAnalyticsEvents } from '../../../../common/analytics/generated/use-analytics-events';
14
16
  import { messages } from '../../../../messages';
15
17
  import { getExtensionKey, hasAuthScopeOverrides } from '../../../../state/helpers';
16
18
  import UnauthorisedViewContent from '../../../common/UnauthorisedViewContent';
@@ -42,14 +44,20 @@ var FlexibleUnauthorisedView = function FlexibleUnauthorisedView(_ref) {
42
44
  var data = (_cardState$details = cardState.details) === null || _cardState$details === void 0 ? void 0 : _cardState$details.data;
43
45
  var providerName = (_extractProvider = extractProvider(data)) === null || _extractProvider === void 0 ? void 0 : _extractProvider.text;
44
46
  var isProductIntegrationSupported = hasAuthScopeOverrides(cardState === null || cardState === void 0 ? void 0 : cardState.details);
47
+ var _useAnalyticsEvents = useAnalyticsEvents(),
48
+ fireEvent = _useAnalyticsEvents.fireEvent;
45
49
  var handleAuthorize = useCallback(function () {
46
50
  if (onAuthorize) {
47
- analytics === null || analytics === void 0 || analytics.track.appAccountAuthStarted({
48
- extensionKey: extensionKey
49
- });
51
+ if (fg('smart-card-migrate-track-analytics')) {
52
+ fireEvent('track.applicationAccount.authStarted', {});
53
+ } else {
54
+ analytics === null || analytics === void 0 || analytics.track.appAccountAuthStarted({
55
+ extensionKey: extensionKey
56
+ });
57
+ }
50
58
  onAuthorize();
51
59
  }
52
- }, [onAuthorize, extensionKey, analytics === null || analytics === void 0 ? void 0 : analytics.track]);
60
+ }, [onAuthorize, extensionKey, analytics === null || analytics === void 0 ? void 0 : analytics.track, fireEvent]);
53
61
  var content = useMemo(function () {
54
62
  return onAuthorize ? jsx(UnauthorisedViewContent, {
55
63
  providerName: providerName,
@@ -4,6 +4,8 @@ var _excluded = ["analytics", "context", "extensionKey", "isProductIntegrationSu
4
4
  import React, { useCallback, useMemo } from 'react';
5
5
  import { FormattedMessage } from 'react-intl-next';
6
6
  import Button from '@atlaskit/button';
7
+ import { fg } from '@atlaskit/platform-feature-flags';
8
+ import { useAnalyticsEvents } from '../../../../common/analytics/generated/use-analytics-events';
7
9
  import { messages } from '../../../../messages';
8
10
  import UnauthorisedViewContent from '../../../common/UnauthorisedViewContent';
9
11
  import UnresolvedView from '../unresolved-view';
@@ -18,14 +20,20 @@ var UnauthorizedView = function UnauthorizedView(_ref) {
18
20
  _ref$testId = _ref.testId,
19
21
  testId = _ref$testId === void 0 ? 'embed-card-unauthorized-view' : _ref$testId,
20
22
  unresolvedViewProps = _objectWithoutProperties(_ref, _excluded);
23
+ var _useAnalyticsEvents = useAnalyticsEvents(),
24
+ fireEvent = _useAnalyticsEvents.fireEvent;
21
25
  var handleOnAuthorizeClick = useCallback(function () {
22
26
  if (onAuthorize) {
23
- analytics.track.appAccountAuthStarted({
24
- extensionKey: extensionKey
25
- });
27
+ if (fg('smart-card-migrate-track-analytics')) {
28
+ fireEvent('track.applicationAccount.authStarted', {});
29
+ } else {
30
+ analytics.track.appAccountAuthStarted({
31
+ extensionKey: extensionKey
32
+ });
33
+ }
26
34
  onAuthorize();
27
35
  }
28
- }, [onAuthorize, analytics.track, extensionKey]);
36
+ }, [onAuthorize, analytics.track, extensionKey, fireEvent]);
29
37
  var content = useMemo(function () {
30
38
  if (onAuthorize) {
31
39
  var _context$text;
@@ -5,6 +5,8 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
5
5
  var _excluded = ["action", "onClick", "onError"];
6
6
  import _regeneratorRuntime from "@babel/runtime/regenerator";
7
7
  import React, { useCallback, useState } from 'react';
8
+ import { fg } from '@atlaskit/platform-feature-flags';
9
+ import { useAnalyticsEvents } from '../../../../../../common/analytics/generated/use-analytics-events';
8
10
  import { useFlexibleUiAnalyticsContext } from '../../../../../../state/flexible-ui-context';
9
11
  import useInvoke from '../../../../../../state/hooks/use-invoke';
10
12
  import { getInvokeFailureReason } from '../../../../../../state/hooks/use-invoke/utils';
@@ -23,6 +25,8 @@ var ServerAction = function ServerAction(_ref) {
23
25
  var analytics = useFlexibleUiAnalyticsContext();
24
26
  var invoke = useInvoke();
25
27
  var reload = useResolve();
28
+ var _useAnalyticsEvents = useAnalyticsEvents(),
29
+ fireEvent = _useAnalyticsEvents.fireEvent;
26
30
  var handleClick = useCallback( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
27
31
  var _action$action, smartLinkActionType, request;
28
32
  return _regeneratorRuntime.wrap(function _callee$(_context) {
@@ -38,16 +42,28 @@ var ServerAction = function ServerAction(_ref) {
38
42
  analytics === null || analytics === void 0 || analytics.ui.smartLinkServerActionClickedEvent({
39
43
  smartLinkActionType: smartLinkActionType
40
44
  });
41
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionStarted({
42
- smartLinkActionType: smartLinkActionType
43
- });
45
+ if (fg('smart-card-migrate-track-analytics')) {
46
+ fireEvent('track.smartLinkQuickAction.started', {
47
+ smartLinkActionType: smartLinkActionType
48
+ });
49
+ } else {
50
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionStarted({
51
+ smartLinkActionType: smartLinkActionType
52
+ });
53
+ }
44
54
  request = createInvokeRequest(action);
45
55
  _context.next = 9;
46
56
  return invoke(request);
47
57
  case 9:
48
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionSuccess({
49
- smartLinkActionType: smartLinkActionType
50
- });
58
+ if (fg('smart-card-migrate-track-analytics')) {
59
+ fireEvent('track.smartLinkQuickAction.success', {
60
+ smartLinkActionType: smartLinkActionType
61
+ });
62
+ } else {
63
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionSuccess({
64
+ smartLinkActionType: smartLinkActionType
65
+ });
66
+ }
51
67
  if (!(action.reload && action.reload.url)) {
52
68
  _context.next = 13;
53
69
  break;
@@ -65,17 +81,24 @@ var ServerAction = function ServerAction(_ref) {
65
81
  _context.prev = 17;
66
82
  _context.t0 = _context["catch"](2);
67
83
  setIsLoading(false);
68
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed({
69
- smartLinkActionType: smartLinkActionType,
70
- reason: getInvokeFailureReason(_context.t0)
71
- });
84
+ if (fg('smart-card-migrate-track-analytics')) {
85
+ fireEvent('track.smartLinkQuickAction.failed', {
86
+ smartLinkActionType: smartLinkActionType,
87
+ reason: getInvokeFailureReason(_context.t0)
88
+ });
89
+ } else {
90
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed({
91
+ smartLinkActionType: smartLinkActionType,
92
+ reason: getInvokeFailureReason(_context.t0)
93
+ });
94
+ }
72
95
  onErrorCallback === null || onErrorCallback === void 0 || onErrorCallback();
73
96
  case 22:
74
97
  case "end":
75
98
  return _context.stop();
76
99
  }
77
100
  }, _callee, null, [[2, 17]]);
78
- })), [action, analytics === null || analytics === void 0 ? void 0 : analytics.track, analytics === null || analytics === void 0 ? void 0 : analytics.ui, invoke, onClick, onErrorCallback, reload]);
101
+ })), [action, analytics === null || analytics === void 0 ? void 0 : analytics.track, analytics === null || analytics === void 0 ? void 0 : analytics.ui, invoke, onClick, onErrorCallback, reload, fireEvent]);
79
102
  return /*#__PURE__*/React.createElement(Action, _extends({}, props, {
80
103
  isLoading: isLoading,
81
104
  onClick: handleClick
@@ -11,6 +11,8 @@ import { useCallback, useEffect, useMemo, useState } from 'react';
11
11
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
12
12
  import { jsx } from '@emotion/react';
13
13
  import DropdownMenu from '@atlaskit/dropdown-menu';
14
+ import { fg } from '@atlaskit/platform-feature-flags';
15
+ import { useAnalyticsEvents } from '../../../../../../common/analytics/generated/use-analytics-events';
14
16
  import extractLozengeActionItems from '../../../../../../extractors/action/extract-lozenge-action-items';
15
17
  import { useFlexibleUiAnalyticsContext } from '../../../../../../state/flexible-ui-context';
16
18
  import useInvoke from '../../../../../../state/hooks/use-invoke';
@@ -70,6 +72,8 @@ var LozengeAction = function LozengeAction(_ref) {
70
72
  //TODO EDM-6583 Replace usage of useFlexibleUiAnalyticsContext with linking platform analytics context from find team.
71
73
  var analytics = useFlexibleUiAnalyticsContext();
72
74
  var invoke = useInvoke();
75
+ var _useAnalyticsEvents = useAnalyticsEvents(),
76
+ fireEvent = _useAnalyticsEvents.fireEvent;
73
77
  useEffect(function () {
74
78
  setSelected({
75
79
  text: text,
@@ -92,9 +96,15 @@ var LozengeAction = function LozengeAction(_ref) {
92
96
  break;
93
97
  }
94
98
  analytics === null || analytics === void 0 || analytics.ui.smartLinkLozengeActionClickedEvent();
95
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionStarted({
96
- smartLinkActionType: TrackQuickActionType.StatusUpdate
97
- });
99
+ if (fg('smart-card-migrate-track-analytics')) {
100
+ fireEvent('track.smartLinkQuickAction.started', {
101
+ smartLinkActionType: TrackQuickActionType.StatusUpdate
102
+ });
103
+ } else {
104
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionStarted({
105
+ smartLinkActionType: TrackQuickActionType.StatusUpdate
106
+ });
107
+ }
98
108
  if (!(!isLoaded && action !== null && action !== void 0 && action.read)) {
99
109
  _context.next = 24;
100
110
  break;
@@ -109,7 +119,11 @@ var LozengeAction = function LozengeAction(_ref) {
109
119
  setItems(validItems);
110
120
  setIsLoaded(true);
111
121
  if ((validItems === null || validItems === void 0 ? void 0 : validItems.length) === 0) {
112
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed(permissionLoadErrorAnalyticsPayload);
122
+ if (fg('smart-card-migrate-track-analytics')) {
123
+ fireEvent('track.smartLinkQuickAction.failed', permissionLoadErrorAnalyticsPayload);
124
+ } else {
125
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed(permissionLoadErrorAnalyticsPayload);
126
+ }
113
127
  setErrorMessage(LozengeActionErrorMessages.noData);
114
128
  setIsLoaded(false);
115
129
  }
@@ -120,7 +134,11 @@ var LozengeAction = function LozengeAction(_ref) {
120
134
  _context.t0 = _context["catch"](5);
121
135
  setErrorMessage(LozengeActionErrorMessages.unknown);
122
136
  setIsLoaded(false);
123
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed(unknownLoadErrorAnalyticsPayload);
137
+ if (fg('smart-card-migrate-track-analytics')) {
138
+ fireEvent('track.smartLinkQuickAction.failed', unknownLoadErrorAnalyticsPayload);
139
+ } else {
140
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed(unknownLoadErrorAnalyticsPayload);
141
+ }
124
142
  case 21:
125
143
  _context.prev = 21;
126
144
  setIsLoading(false);
@@ -138,7 +156,7 @@ var LozengeAction = function LozengeAction(_ref) {
138
156
  return function (_x) {
139
157
  return _ref3.apply(this, arguments);
140
158
  };
141
- }(), [action.read, analytics, invoke, isLoaded, text]);
159
+ }(), [action.read, analytics, invoke, isLoaded, text, fireEvent]);
142
160
  var trigger = useCallback(function (props) {
143
161
  return jsx(LozengeActionTrigger, _extends({}, props, {
144
162
  appearance: selected.appearance,
@@ -173,9 +191,15 @@ var LozengeAction = function LozengeAction(_ref) {
173
191
  setIsLoaded(false);
174
192
  setIsOpen(false);
175
193
  setItems([]);
176
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionSuccess({
177
- smartLinkActionType: TrackQuickActionType.StatusUpdate
178
- });
194
+ if (fg('smart-card-migrate-track-analytics')) {
195
+ fireEvent('track.smartLinkQuickAction.success', {
196
+ smartLinkActionType: TrackQuickActionType.StatusUpdate
197
+ });
198
+ } else {
199
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionSuccess({
200
+ smartLinkActionType: TrackQuickActionType.StatusUpdate
201
+ });
202
+ }
179
203
  if (!url) {
180
204
  _context2.next = 17;
181
205
  break;
@@ -191,10 +215,18 @@ var LozengeAction = function LozengeAction(_ref) {
191
215
  setIsLoading(false);
192
216
  if (isInvokeCustomError(_context2.t0)) {
193
217
  setErrorMessage(_context2.t0.message);
194
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed(validationUpdateErrorAnalyticsPayload);
218
+ if (fg('smart-card-migrate-track-analytics')) {
219
+ fireEvent('track.smartLinkQuickAction.failed', validationUpdateErrorAnalyticsPayload);
220
+ } else {
221
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed(validationUpdateErrorAnalyticsPayload);
222
+ }
195
223
  } else {
196
224
  setErrorMessage(LozengeActionErrorMessages.updateFailed);
197
- analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed(unknownUpdateErrorAnalyticsPayload);
225
+ if (fg('smart-card-migrate-track-analytics')) {
226
+ fireEvent('track.smartLinkQuickAction.failed', unknownUpdateErrorAnalyticsPayload);
227
+ } else {
228
+ analytics === null || analytics === void 0 || analytics.track.smartLinkQuickActionFailed(unknownUpdateErrorAnalyticsPayload);
229
+ }
198
230
  }
199
231
  case 23:
200
232
  case "end":
@@ -205,7 +237,7 @@ var LozengeAction = function LozengeAction(_ref) {
205
237
  return function (_x2, _x3, _x4) {
206
238
  return _ref4.apply(this, arguments);
207
239
  };
208
- }(), [action === null || action === void 0 ? void 0 : action.update, analytics, invoke, linkId, reload, url]);
240
+ }(), [action === null || action === void 0 ? void 0 : action.update, analytics, invoke, linkId, reload, url, fireEvent]);
209
241
  var dropdownItemGroup = useMemo(function () {
210
242
  if (errorMessage) {
211
243
  return jsx(LozengeActionError, {
@@ -2,6 +2,8 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import React, { useCallback, useMemo } from 'react';
3
3
  import { FormattedMessage } from 'react-intl-next';
4
4
  import { extractProvider } from '@atlaskit/link-extractors';
5
+ import { fg } from '@atlaskit/platform-feature-flags';
6
+ import { useAnalyticsEvents } from '../../../../../common/analytics/generated/use-analytics-events';
5
7
  import { ActionName, CardDisplay } from '../../../../../constants';
6
8
  import { messages } from '../../../../../messages';
7
9
  import { useSmartCardActions } from '../../../../../state/actions';
@@ -28,14 +30,20 @@ var HoverCardUnauthorisedView = function HoverCardUnauthorisedView(_ref) {
28
30
  var isProductIntegrationSupported = hasAuthScopeOverrides(cardState.details);
29
31
  var _useSmartCardActions = useSmartCardActions(id, url, analytics),
30
32
  authorize = _useSmartCardActions.authorize;
33
+ var _useAnalyticsEvents = useAnalyticsEvents(),
34
+ fireEvent = _useAnalyticsEvents.fireEvent;
31
35
  var handleAuthorize = useCallback(function () {
32
36
  if (authorize) {
33
- analytics.track.appAccountAuthStarted({
34
- extensionKey: extensionKey
35
- });
37
+ if (fg('smart-card-migrate-track-analytics')) {
38
+ fireEvent('track.applicationAccount.authStarted', {});
39
+ } else {
40
+ analytics.track.appAccountAuthStarted({
41
+ extensionKey: extensionKey
42
+ });
43
+ }
36
44
  authorize(CardDisplay.HoverCardPreview);
37
45
  }
38
- }, [authorize, extensionKey, analytics.track]);
46
+ }, [authorize, extensionKey, analytics.track, fireEvent]);
39
47
  var actions = useMemo(function () {
40
48
  return [{
41
49
  name: ActionName.CustomAction,