@atlaskit/profilecard 24.13.7 → 24.14.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 (87) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/afm-cc/tsconfig.json +6 -0
  3. package/afm-dev-agents/tsconfig.json +6 -0
  4. package/afm-jira/tsconfig.json +6 -0
  5. package/afm-passionfruit/tsconfig.json +6 -0
  6. package/afm-post-office/tsconfig.json +6 -0
  7. package/afm-rovo-extension/tsconfig.json +6 -0
  8. package/afm-townsquare/tsconfig.json +6 -0
  9. package/dist/cjs/client/ProfileCardClient.js +2 -2
  10. package/dist/cjs/client/UserProfileCardClient.js +45 -11
  11. package/dist/cjs/client/getOrgIdForCloudIdFromAGG.js +1 -1
  12. package/dist/cjs/client/getTeamFromAGG.js +1 -1
  13. package/dist/cjs/components/Agent/AgentProfileCard.js +3 -0
  14. package/dist/cjs/components/Agent/AgentProfileCardResourced.js +2 -1
  15. package/dist/cjs/components/Error/ErrorMessage.js +18 -7
  16. package/dist/cjs/components/User/OverflowProfileCardButtons.js +22 -7
  17. package/dist/cjs/components/User/ProfileCard.js +80 -28
  18. package/dist/cjs/components/User/ProfileCardDetails.js +2 -1
  19. package/dist/cjs/components/User/ProfileCardResourced.js +40 -16
  20. package/dist/cjs/components/User/ProfileCardTrigger.js +52 -12
  21. package/dist/cjs/components/User/ReportingLinesDetails.js +36 -11
  22. package/dist/cjs/components/User/UserLoadingState.js +15 -3
  23. package/dist/cjs/components/common/LoadingState.js +17 -3
  24. package/dist/cjs/components/common/ProfileCardTrigger.js +29 -7
  25. package/dist/cjs/components/common/ProfileCardWrapper.js +4 -2
  26. package/dist/cjs/util/analytics.js +7 -3
  27. package/dist/es2019/client/ProfileCardClient.js +2 -2
  28. package/dist/es2019/client/UserProfileCardClient.js +50 -13
  29. package/dist/es2019/client/getOrgIdForCloudIdFromAGG.js +1 -1
  30. package/dist/es2019/client/getTeamFromAGG.js +1 -1
  31. package/dist/es2019/components/Agent/AgentProfileCard.js +3 -0
  32. package/dist/es2019/components/Agent/AgentProfileCardResourced.js +2 -1
  33. package/dist/es2019/components/Error/ErrorMessage.js +17 -6
  34. package/dist/es2019/components/User/OverflowProfileCardButtons.js +18 -7
  35. package/dist/es2019/components/User/ProfileCard.js +72 -25
  36. package/dist/es2019/components/User/ProfileCardDetails.js +2 -1
  37. package/dist/es2019/components/User/ProfileCardResourced.js +25 -4
  38. package/dist/es2019/components/User/ProfileCardTrigger.js +54 -13
  39. package/dist/es2019/components/User/ReportingLinesDetails.js +30 -9
  40. package/dist/es2019/components/User/UserLoadingState.js +14 -4
  41. package/dist/es2019/components/common/LoadingState.js +16 -4
  42. package/dist/es2019/components/common/ProfileCardTrigger.js +26 -7
  43. package/dist/es2019/components/common/ProfileCardWrapper.js +4 -2
  44. package/dist/es2019/util/analytics.js +6 -2
  45. package/dist/esm/client/ProfileCardClient.js +2 -2
  46. package/dist/esm/client/UserProfileCardClient.js +46 -12
  47. package/dist/esm/client/getOrgIdForCloudIdFromAGG.js +1 -1
  48. package/dist/esm/client/getTeamFromAGG.js +1 -1
  49. package/dist/esm/components/Agent/AgentProfileCard.js +3 -0
  50. package/dist/esm/components/Agent/AgentProfileCardResourced.js +2 -1
  51. package/dist/esm/components/Error/ErrorMessage.js +19 -6
  52. package/dist/esm/components/User/OverflowProfileCardButtons.js +23 -8
  53. package/dist/esm/components/User/ProfileCard.js +80 -28
  54. package/dist/esm/components/User/ProfileCardDetails.js +2 -1
  55. package/dist/esm/components/User/ProfileCardResourced.js +40 -16
  56. package/dist/esm/components/User/ProfileCardTrigger.js +53 -13
  57. package/dist/esm/components/User/ReportingLinesDetails.js +37 -11
  58. package/dist/esm/components/User/UserLoadingState.js +16 -4
  59. package/dist/esm/components/common/LoadingState.js +18 -4
  60. package/dist/esm/components/common/ProfileCardTrigger.js +30 -8
  61. package/dist/esm/components/common/ProfileCardWrapper.js +4 -2
  62. package/dist/esm/util/analytics.js +6 -2
  63. package/dist/types/client/ProfileCardClient.d.ts +2 -1
  64. package/dist/types/client/UserProfileCardClient.d.ts +2 -1
  65. package/dist/types/components/Error/ErrorMessage.d.ts +2 -0
  66. package/dist/types/components/User/ProfileCard.d.ts +3 -2
  67. package/dist/types/components/User/ProfileCardResourced.d.ts +4 -2
  68. package/dist/types/components/User/UserLoadingState.d.ts +3 -1
  69. package/dist/types/components/User/lazyProfileCard.d.ts +1 -1
  70. package/dist/types/components/common/LoadingState.d.ts +3 -1
  71. package/dist/types/components/common/ProfileCardWrapper.d.ts +2 -1
  72. package/dist/types/components/common/types.d.ts +3 -0
  73. package/dist/types/types.d.ts +13 -6
  74. package/dist/types/util/analytics.d.ts +5 -0
  75. package/dist/types-ts4.5/client/ProfileCardClient.d.ts +2 -1
  76. package/dist/types-ts4.5/client/UserProfileCardClient.d.ts +2 -1
  77. package/dist/types-ts4.5/components/Error/ErrorMessage.d.ts +2 -0
  78. package/dist/types-ts4.5/components/User/ProfileCard.d.ts +3 -2
  79. package/dist/types-ts4.5/components/User/ProfileCardResourced.d.ts +4 -2
  80. package/dist/types-ts4.5/components/User/UserLoadingState.d.ts +3 -1
  81. package/dist/types-ts4.5/components/User/lazyProfileCard.d.ts +1 -1
  82. package/dist/types-ts4.5/components/common/LoadingState.d.ts +3 -1
  83. package/dist/types-ts4.5/components/common/ProfileCardWrapper.d.ts +2 -1
  84. package/dist/types-ts4.5/components/common/types.d.ts +3 -0
  85. package/dist/types-ts4.5/types.d.ts +13 -6
  86. package/dist/types-ts4.5/util/analytics.d.ts +5 -0
  87. package/package.json +10 -5
@@ -17,6 +17,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
17
17
  var _react = _interopRequireWildcard(require("react"));
18
18
  var _analyticsNext = require("@atlaskit/analytics-next");
19
19
  var _giveKudos = require("@atlaskit/give-kudos");
20
+ var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react");
21
+ var _teamsAppInternalAnalytics = require("@atlaskit/teams-app-internal-analytics");
20
22
  var _filterActions = _interopRequireDefault(require("../../internal/filterActions"));
21
23
  var _UserTrigger = require("../../styled/UserTrigger");
22
24
  var _analytics = require("../../util/analytics");
@@ -57,10 +59,23 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
57
59
  (0, _analytics.fireEvent)(_this.props.createAnalyticsEvent, payload);
58
60
  }
59
61
  });
62
+ (0, _defineProperty2.default)(_this, "fireAnalyticsNext", function (eventKey) {
63
+ // Don't fire analytics if the component is unmounted
64
+ if (!_this._isMounted) {
65
+ return;
66
+ }
67
+ if (_this.props.fireEvent) {
68
+ var _this$props;
69
+ for (var _len2 = arguments.length, attributes = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
70
+ attributes[_key2 - 1] = arguments[_key2];
71
+ }
72
+ (_this$props = _this.props).fireEvent.apply(_this$props, [eventKey].concat(attributes));
73
+ }
74
+ });
60
75
  (0, _defineProperty2.default)(_this, "clientFetchProfile", function () {
61
- var _this$props = _this.props,
62
- cloudId = _this$props.cloudId,
63
- userId = _this$props.userId;
76
+ var _this$props2 = _this.props,
77
+ cloudId = _this$props2.cloudId,
78
+ userId = _this$props2.userId;
64
79
  var isLoading = _this.state.isLoading;
65
80
  if (isLoading === true) {
66
81
  // don't fetch data when fetching is in process
@@ -71,7 +86,7 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
71
86
  hasError: false,
72
87
  data: null
73
88
  }, function () {
74
- var requests = Promise.all([_this.props.resourceClient.getProfile(cloudId, userId, _this.fireAnalytics), _this.props.resourceClient.getReportingLines(userId), _this.props.resourceClient.shouldShowGiveKudos(), _this.props.resourceClient.getTeamCentralBaseUrl({
89
+ var requests = Promise.all([_this.props.resourceClient.getProfile(cloudId, userId, _this.fireAnalytics, _this.fireAnalyticsNext), _this.props.resourceClient.getReportingLines(userId), _this.props.resourceClient.shouldShowGiveKudos(), _this.props.resourceClient.getTeamCentralBaseUrl({
75
90
  withOrgContext: true,
76
91
  withSiteContext: true
77
92
  })]);
@@ -110,10 +125,10 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
110
125
  }, {
111
126
  key: "componentDidUpdate",
112
127
  value: function componentDidUpdate(prevProps) {
113
- var _this$props2 = this.props,
114
- userId = _this$props2.userId,
115
- cloudId = _this$props2.cloudId,
116
- resourceClient = _this$props2.resourceClient;
128
+ var _this$props3 = this.props,
129
+ userId = _this$props3.userId,
130
+ cloudId = _this$props3.cloudId,
131
+ resourceClient = _this$props3.resourceClient;
117
132
  if (userId !== prevProps.userId || cloudId !== prevProps.cloudId || resourceClient !== prevProps.resourceClient) {
118
133
  this.setState({
119
134
  isLoading: undefined
@@ -163,15 +178,16 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
163
178
  reportingLinesData = _this$state.reportingLinesData,
164
179
  isKudosEnabled = _this$state.isKudosEnabled,
165
180
  teamCentralBaseUrl = _this$state.teamCentralBaseUrl;
166
- var _this$props3 = this.props,
167
- onReportingLinesClick = _this$props3.onReportingLinesClick,
168
- cloudId = _this$props3.cloudId,
169
- userId = _this$props3.userId,
170
- addFlag = _this$props3.addFlag;
181
+ var _this$props4 = this.props,
182
+ onReportingLinesClick = _this$props4.onReportingLinesClick,
183
+ cloudId = _this$props4.cloudId,
184
+ userId = _this$props4.userId,
185
+ addFlag = _this$props4.addFlag;
171
186
  var isFetchingOrNotStartToFetchYet = isLoading === true || isLoading === undefined;
172
187
  if (isFetchingOrNotStartToFetchYet) {
173
188
  return /*#__PURE__*/_react.default.createElement(_UserTrigger.CardWrapper, null, /*#__PURE__*/_react.default.createElement(_UserLoadingState.default, {
174
- fireAnalytics: this.fireAnalytics
189
+ fireAnalytics: this.fireAnalytics,
190
+ fireAnalyticsNext: this.fireAnalyticsNext
175
191
  }));
176
192
  } else if (hasError) {
177
193
  return /*#__PURE__*/_react.default.createElement(_UserTrigger.CardWrapper, {
@@ -179,7 +195,8 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
179
195
  }, /*#__PURE__*/_react.default.createElement(_Error.ErrorMessage, {
180
196
  errorType: error,
181
197
  reload: this.clientFetchProfile,
182
- fireAnalytics: this.fireAnalytics
198
+ fireAnalytics: this.fireAnalytics,
199
+ fireAnalyticsNext: this.fireAnalyticsNext
183
200
  }));
184
201
  }
185
202
  var newProps = _objectSpread(_objectSpread({
@@ -219,4 +236,11 @@ var ProfileCardResourced = /*#__PURE__*/function (_React$PureComponent) {
219
236
  actions: []
220
237
  });
221
238
  var ProfileCardResourcedInternal = exports.ProfileCardResourcedInternal = ProfileCardResourced;
222
- var _default = exports.default = (0, _analyticsNext.withAnalyticsEvents)()(ProfileCardResourced);
239
+ var ProfileCardResourcedWithAnalytics = function ProfileCardResourcedWithAnalytics(props) {
240
+ var _useAnalyticsEvents = (0, _teamsAppInternalAnalytics.useAnalyticsEvents)(),
241
+ fireEvent = _useAnalyticsEvents.fireEvent;
242
+ return /*#__PURE__*/_react.default.createElement(ProfileCardResourced, (0, _extends2.default)({
243
+ fireEvent: fireEvent
244
+ }, props));
245
+ };
246
+ var _default = exports.default = (0, _platformFeatureFlagsReact.componentWithFG)('ptc-enable-profile-card-analytics-refactor', ProfileCardResourcedWithAnalytics, (0, _analyticsNext.withAnalyticsEvents)()(ProfileCardResourced));
@@ -23,12 +23,14 @@ var _giveKudos = require("@atlaskit/give-kudos");
23
23
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
24
24
  var _popup = _interopRequireDefault(require("@atlaskit/popup"));
25
25
  var _compiled = require("@atlaskit/primitives/compiled");
26
+ var _teamsAppInternalAnalytics = require("@atlaskit/teams-app-internal-analytics");
26
27
  var _constants = require("@atlaskit/theme/constants");
27
28
  var _filterActions = _interopRequireDefault(require("../../internal/filterActions"));
28
29
  var _getLabelMessage = _interopRequireDefault(require("../../internal/getLabelMessage"));
29
30
  var _UserTrigger = require("../../styled/UserTrigger");
30
31
  var _analytics = require("../../util/analytics");
31
32
  var _config = require("../../util/config");
33
+ var _performance = require("../../util/performance");
32
34
  var _AgentProfileCardResourced = require("../Agent/AgentProfileCardResourced");
33
35
  var _lazyProfileCard = require("./lazyProfileCard");
34
36
  var _UserLoadingState = _interopRequireDefault(require("./UserLoadingState"));
@@ -156,6 +158,8 @@ function ProfilecardTriggerNext(_ref2) {
156
158
  isTriggeredUsingKeyboard = _useState18[0],
157
159
  setTriggeredUsingKeyboard = _useState18[1];
158
160
  var triggerRef = (0, _react.useRef)(null);
161
+ var _useAnalyticsEventsNe = (0, _teamsAppInternalAnalytics.useAnalyticsEvents)(),
162
+ fireEventNext = _useAnalyticsEventsNe.fireEvent;
159
163
  (0, _react.useEffect)(function () {
160
164
  isMounted.current = true;
161
165
  return function () {
@@ -174,6 +178,17 @@ function ProfilecardTriggerNext(_ref2) {
174
178
  setShouldShowGiveKudos(false);
175
179
  setTeamCentralBaseUrl(undefined);
176
180
  }, [userId]);
181
+
182
+ // Create a wrapper function that has the same interface as fireEventNext but includes isMounted check
183
+ var fireAnalyticsNext = (0, _react.useCallback)(function (eventKey) {
184
+ if (!isMounted.current) {
185
+ return;
186
+ }
187
+ for (var _len = arguments.length, attributes = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
188
+ attributes[_key - 1] = arguments[_key];
189
+ }
190
+ fireEventNext.apply(void 0, [eventKey].concat(attributes));
191
+ }, [fireEventNext]);
177
192
  var fireAnalytics = (0, _react.useCallback)(function (payload) {
178
193
  // Don't fire any analytics if the component is unmounted
179
194
  if (!isMounted.current) {
@@ -237,7 +252,7 @@ function ProfilecardTriggerNext(_ref2) {
237
252
  setError(null);
238
253
  setData(null);
239
254
  _context.prev = 6;
240
- requests = Promise.all([resourceClient.getProfile(cloudId || '', userId, fireAnalytics), resourceClient.getReportingLines(userId), resourceClient.shouldShowGiveKudos(), resourceClient.getTeamCentralBaseUrl({
255
+ requests = Promise.all([resourceClient.getProfile(cloudId || '', userId, fireAnalytics, fireAnalyticsNext), resourceClient.getReportingLines(userId), resourceClient.shouldShowGiveKudos(), resourceClient.getTeamCentralBaseUrl({
241
256
  withOrgContext: true,
242
257
  withSiteContext: true
243
258
  })]);
@@ -257,7 +272,7 @@ function ProfilecardTriggerNext(_ref2) {
257
272
  return _context.stop();
258
273
  }
259
274
  }, _callee, null, [[6, 14]]);
260
- })), [cloudId, fireAnalytics, isLoading, resourceClient, userId, handleClientSuccess, handleClientError]);
275
+ })), [cloudId, fireAnalytics, fireAnalyticsNext, isLoading, resourceClient, userId, handleClientSuccess, handleClientError]);
261
276
  var showProfilecard = (0, _react.useCallback)(function () {
262
277
  clearTimeout(hideTimer.current);
263
278
  clearTimeout(showTimer.current);
@@ -276,25 +291,46 @@ function ProfilecardTriggerNext(_ref2) {
276
291
  event.stopPropagation();
277
292
  showProfilecard();
278
293
  if (!visible) {
279
- fireAnalytics((0, _analytics.cardTriggered)('user', 'click'));
294
+ if ((0, _platformFeatureFlags.fg)('ptc-enable-profile-card-analytics-refactor')) {
295
+ fireAnalyticsNext('ui.profilecard.triggered', _objectSpread({
296
+ method: 'click',
297
+ firedAt: Math.round((0, _performance.getPageTime)())
298
+ }, _analytics.PACKAGE_META_DATA));
299
+ } else {
300
+ fireAnalytics((0, _analytics.cardTriggered)('user', 'click'));
301
+ }
280
302
  }
281
- }, [fireAnalytics, showProfilecard, visible]);
303
+ }, [fireAnalytics, fireAnalyticsNext, showProfilecard, visible]);
282
304
  var onMouseEnter = (0, _react.useCallback)(function () {
283
305
  showProfilecard();
284
306
  if (!visible) {
285
- fireAnalytics((0, _analytics.cardTriggered)('user', 'hover'));
307
+ if ((0, _platformFeatureFlags.fg)('ptc-enable-profile-card-analytics-refactor')) {
308
+ fireAnalyticsNext('ui.profilecard.triggered', _objectSpread({
309
+ method: 'hover',
310
+ firedAt: Math.round((0, _performance.getPageTime)())
311
+ }, _analytics.PACKAGE_META_DATA));
312
+ } else {
313
+ fireAnalytics((0, _analytics.cardTriggered)('user', 'hover'));
314
+ }
286
315
  }
287
- }, [fireAnalytics, showProfilecard, visible]);
316
+ }, [fireAnalytics, fireAnalyticsNext, showProfilecard, visible]);
288
317
  var onKeyPress = (0, _react.useCallback)(function (event) {
289
318
  if (event.key === 'Enter' || event.key === ' ') {
290
319
  event.preventDefault();
291
320
  setTriggeredUsingKeyboard(true);
292
321
  showProfilecard();
293
322
  if (!visible) {
294
- fireAnalytics((0, _analytics.cardTriggered)('user', 'click'));
323
+ if ((0, _platformFeatureFlags.fg)('ptc-enable-profile-card-analytics-refactor')) {
324
+ fireAnalyticsNext('ui.profilecard.triggered', _objectSpread({
325
+ method: 'click',
326
+ firedAt: Math.round((0, _performance.getPageTime)())
327
+ }, _analytics.PACKAGE_META_DATA));
328
+ } else {
329
+ fireAnalytics((0, _analytics.cardTriggered)('user', 'click'));
330
+ }
295
331
  }
296
332
  }
297
- }, [fireAnalytics, showProfilecard, visible]);
333
+ }, [fireAnalytics, fireAnalyticsNext, showProfilecard, visible]);
298
334
  var onFocus = (0, _react.useCallback)(function () {
299
335
  showProfilecard();
300
336
  }, [showProfilecard]);
@@ -374,7 +410,8 @@ function ProfilecardTriggerNext(_ref2) {
374
410
  offset: offset !== null && offset !== void 0 ? offset : [0, 8],
375
411
  content: function content() {
376
412
  return /*#__PURE__*/_react.default.createElement("div", wrapperProps, showLoading ? /*#__PURE__*/_react.default.createElement(LoadingView, {
377
- fireAnalytics: fireAnalytics
413
+ fireAnalytics: fireAnalytics,
414
+ fireAnalyticsNext: fireAnalyticsNext
378
415
  }) : visible && /*#__PURE__*/_react.default.createElement(ProfileCardContent, {
379
416
  profilecardProps: profilecardProps,
380
417
  isAgent: !!(data !== null && data !== void 0 && data.isAgent),
@@ -449,7 +486,8 @@ function ProfilecardTriggerNext(_ref2) {
449
486
  offset: offset !== null && offset !== void 0 ? offset : [0, 8],
450
487
  content: function content() {
451
488
  return /*#__PURE__*/_react.default.createElement("div", wrapperProps, showLoading ? /*#__PURE__*/_react.default.createElement(LoadingView, {
452
- fireAnalytics: fireAnalytics
489
+ fireAnalytics: fireAnalytics,
490
+ fireAnalyticsNext: fireAnalyticsNext
453
491
  }) : visible && /*#__PURE__*/_react.default.createElement(ProfileCardContent, {
454
492
  profilecardProps: profilecardProps,
455
493
  isAgent: !!(data !== null && data !== void 0 && data.isAgent),
@@ -515,10 +553,12 @@ function ProfilecardTriggerNext(_ref2) {
515
553
  })));
516
554
  }
517
555
  var LoadingView = function LoadingView(_ref4) {
518
- var fireAnalytics = _ref4.fireAnalytics;
556
+ var fireAnalytics = _ref4.fireAnalytics,
557
+ fireAnalyticsNext = _ref4.fireAnalyticsNext;
519
558
  return /*#__PURE__*/_react.default.createElement(_UserTrigger.CardWrapper, {
520
559
  testId: "profilecard.profilecardtrigger.loading"
521
560
  }, /*#__PURE__*/_react.default.createElement(_UserLoadingState.default, {
522
- fireAnalytics: fireAnalytics
561
+ fireAnalytics: fireAnalytics,
562
+ fireAnalyticsNext: fireAnalyticsNext
523
563
  }));
524
564
  };
@@ -8,16 +8,20 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  require("./ReportingLinesDetails.compiled.css");
10
10
  var _runtime = require("@compiled/react/runtime");
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _react = _interopRequireDefault(require("react"));
12
13
  var _reactIntlNext = require("react-intl-next");
13
14
  var _avatar = _interopRequireDefault(require("@atlaskit/avatar"));
14
15
  var _avatarGroup = _interopRequireDefault(require("@atlaskit/avatar-group"));
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
17
  var _primitives = require("@atlaskit/primitives");
16
18
  var _compiled = require("@atlaskit/primitives/compiled");
17
19
  var _messages = _interopRequireDefault(require("../../messages"));
18
20
  var _ReportingLines = require("../../styled/ReportingLines");
19
21
  var _analytics = require("../../util/analytics");
20
- // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
22
+ var _performance = require("../../util/performance");
23
+ 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; }
24
+ 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; } // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
21
25
  function getProfileHref(userId, profileUrl) {
22
26
  return profileUrl ? profileUrl + userId : undefined;
23
27
  }
@@ -39,6 +43,7 @@ var ReportingLinesDetails = function ReportingLinesDetails(props) {
39
43
  var _useIntl = (0, _reactIntlNext.useIntl)(),
40
44
  formatMessage = _useIntl.formatMessage;
41
45
  var fireAnalyticsWithDuration = props.fireAnalyticsWithDuration,
46
+ fireAnalyticsWithDurationNext = props.fireAnalyticsWithDurationNext,
42
47
  _props$reportingLines = props.reportingLines,
43
48
  reportingLines = _props$reportingLines === void 0 ? {} : _props$reportingLines,
44
49
  reportingLinesProfileUrl = props.reportingLinesProfileUrl,
@@ -51,12 +56,22 @@ var ReportingLinesDetails = function ReportingLinesDetails(props) {
51
56
  var hasReports = reports.length > 0;
52
57
  var getReportingLinesOnClick = function getReportingLinesOnClick(user, userType) {
53
58
  return onReportingLinesClick ? function () {
54
- fireAnalyticsWithDuration(function (duration) {
55
- return (0, _analytics.reportingLinesClicked)({
56
- duration: duration,
57
- userType: userType
59
+ if ((0, _platformFeatureFlags.fg)('ptc-enable-profile-card-analytics-refactor')) {
60
+ fireAnalyticsWithDurationNext('ui.profilecard.clicked.reportingLines', function (duration) {
61
+ return _objectSpread({
62
+ duration: duration,
63
+ userType: userType,
64
+ firedAt: Math.round((0, _performance.getPageTime)())
65
+ }, _analytics.PACKAGE_META_DATA);
58
66
  });
59
- });
67
+ } else {
68
+ fireAnalyticsWithDuration(function (duration) {
69
+ return (0, _analytics.reportingLinesClicked)({
70
+ duration: duration,
71
+ userType: userType
72
+ });
73
+ });
74
+ }
60
75
  onReportingLinesClick(user);
61
76
  } : undefined;
62
77
  };
@@ -65,12 +80,22 @@ var ReportingLinesDetails = function ReportingLinesDetails(props) {
65
80
  if (onReportingLinesClick) {
66
81
  shouldPreventDefault = onReportingLinesClick(user) === false;
67
82
  }
68
- fireAnalyticsWithDuration(function (duration) {
69
- return (0, _analytics.reportingLinesClicked)({
70
- duration: duration,
71
- userType: userType
83
+ if ((0, _platformFeatureFlags.fg)('ptc-enable-profile-card-analytics-refactor')) {
84
+ fireAnalyticsWithDurationNext('ui.profilecard.clicked.reportingLines', function (duration) {
85
+ return _objectSpread({
86
+ duration: duration,
87
+ userType: userType,
88
+ firedAt: Math.round((0, _performance.getPageTime)())
89
+ }, _analytics.PACKAGE_META_DATA);
72
90
  });
73
- });
91
+ } else {
92
+ fireAnalyticsWithDuration(function (duration) {
93
+ return (0, _analytics.reportingLinesClicked)({
94
+ duration: duration,
95
+ userType: userType
96
+ });
97
+ });
98
+ }
74
99
  if (shouldPreventDefault) {
75
100
  return;
76
101
  }
@@ -6,16 +6,28 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _react = _interopRequireWildcard(require("react"));
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
12
  var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
11
13
  var _UserTrigger = require("../../styled/UserTrigger");
12
14
  var _analytics = require("../../util/analytics");
15
+ var _performance = require("../../util/performance");
13
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
+ 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; }
18
+ 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
19
  var UserLoadingState = function UserLoadingState(_ref) {
15
- var fireAnalytics = _ref.fireAnalytics;
20
+ var fireAnalytics = _ref.fireAnalytics,
21
+ fireAnalyticsNext = _ref.fireAnalyticsNext;
16
22
  (0, _react.useEffect)(function () {
17
- fireAnalytics((0, _analytics.profileCardRendered)('user', 'spinner'));
18
- }, [fireAnalytics]);
23
+ if ((0, _platformFeatureFlags.fg)('ptc-enable-profile-card-analytics-refactor')) {
24
+ fireAnalyticsNext('ui.profilecard.rendered.spinner', _objectSpread({
25
+ firedAt: Math.round((0, _performance.getPageTime)())
26
+ }, _analytics.PACKAGE_META_DATA));
27
+ } else {
28
+ fireAnalytics((0, _analytics.profileCardRendered)('user', 'spinner'));
29
+ }
30
+ }, [fireAnalytics, fireAnalyticsNext]);
19
31
  return /*#__PURE__*/_react.default.createElement(_UserTrigger.SpinnerContainer, null, /*#__PURE__*/_react.default.createElement(_spinner.default, null));
20
32
  };
21
33
  var _default = exports.default = UserLoadingState;
@@ -6,18 +6,32 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.LoadingState = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _react = _interopRequireWildcard(require("react"));
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
12
  var _spinner = _interopRequireDefault(require("@atlaskit/spinner"));
11
13
  var _UserTrigger = require("../../styled/UserTrigger");
12
14
  var _analytics = require("../../util/analytics");
15
+ var _performance = require("../../util/performance");
13
16
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
+ 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; }
18
+ 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
19
  var LoadingState = exports.LoadingState = function LoadingState(_ref) {
15
20
  var fireAnalytics = _ref.fireAnalytics,
21
+ fireAnalyticsNext = _ref.fireAnalyticsNext,
16
22
  profileType = _ref.profileType;
17
23
  (0, _react.useEffect)(function () {
18
- if (fireAnalytics) {
19
- fireAnalytics((0, _analytics.profileCardRendered)(profileType, 'spinner'));
24
+ if ((0, _platformFeatureFlags.fg)('ptc-enable-profile-card-analytics-refactor')) {
25
+ if (fireAnalyticsNext) {
26
+ fireAnalyticsNext("ui.".concat((0, _analytics.getActionSubject)(profileType), ".rendered.spinner"), _objectSpread({
27
+ firedAt: Math.round((0, _performance.getPageTime)())
28
+ }, _analytics.PACKAGE_META_DATA));
29
+ }
30
+ } else {
31
+ if (fireAnalytics) {
32
+ fireAnalytics((0, _analytics.profileCardRendered)(profileType, 'spinner'));
33
+ }
20
34
  }
21
- }, [fireAnalytics, profileType]);
35
+ }, [fireAnalytics, fireAnalyticsNext, profileType]);
22
36
  return /*#__PURE__*/_react.default.createElement(_UserTrigger.SpinnerContainer, null, /*#__PURE__*/_react.default.createElement(_spinner.default, null));
23
37
  };
@@ -8,20 +8,25 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
15
  var _react = _interopRequireWildcard(require("react"));
16
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
15
17
  var _popup = _interopRequireDefault(require("@atlaskit/popup"));
16
18
  var _constants = require("@atlaskit/theme/constants");
17
19
  var _analytics = require("../../util/analytics");
20
+ var _performance = require("../../util/performance");
18
21
  var _useProfileInfo2 = require("../../util/useProfileInfo");
19
22
  var _LoadingState = require("./LoadingState");
20
23
  var _PopupTrigger = require("./PopupTrigger");
21
24
  var _ProfileCardWrapper = require("./ProfileCardWrapper");
22
- var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes", "profileCardType", "fireAnalytics"],
25
+ var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes", "profileCardType", "testId", "fireAnalytics", "fireAnalyticsNext"],
23
26
  _excluded2 = ["aria-expanded", "aria-haspopup"];
24
27
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
28
+ 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; }
29
+ 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; }
25
30
  var DELAY_MS_SHOW = 800;
26
31
  var DELAY_MS_HIDE = 200;
27
32
  function ProfileCardTriggerInner(_ref, ref) {
@@ -33,7 +38,9 @@ function ProfileCardTriggerInner(_ref, ref) {
33
38
  fetchProfile = _ref.fetchProfile,
34
39
  disabledAriaAttributes = _ref.disabledAriaAttributes,
35
40
  profileCardType = _ref.profileCardType,
41
+ testId = _ref.testId,
36
42
  fireAnalytics = _ref.fireAnalytics,
43
+ fireAnalyticsNext = _ref.fireAnalyticsNext,
37
44
  popupProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
38
45
  var showDelay = _trigger === 'click' ? 0 : DELAY_MS_SHOW;
39
46
  var hideDelay = _trigger === 'click' ? 0 : DELAY_MS_HIDE;
@@ -78,8 +85,18 @@ function ProfileCardTriggerInner(_ref, ref) {
78
85
  if (!visible) {
79
86
  getProfileData === null || getProfileData === void 0 || getProfileData();
80
87
  setVisible(true);
81
- if (fireAnalytics) {
82
- fireAnalytics((0, _analytics.cardTriggered)(profileCardType, _trigger));
88
+ if ((0, _platformFeatureFlags.fg)('ptc-enable-profile-card-analytics-refactor')) {
89
+ if (fireAnalyticsNext) {
90
+ fireAnalyticsNext("ui.".concat((0, _analytics.getActionSubject)(profileCardType), ".triggered"), _objectSpread(_objectSpread({
91
+ method: _trigger
92
+ }, _analytics.PACKAGE_META_DATA), {}, {
93
+ firedAt: Math.round((0, _performance.getPageTime)())
94
+ }));
95
+ }
96
+ } else {
97
+ if (fireAnalytics) {
98
+ fireAnalytics((0, _analytics.cardTriggered)(profileCardType, _trigger));
99
+ }
83
100
  }
84
101
  }
85
102
  }, showDelay);
@@ -88,7 +105,7 @@ function ProfileCardTriggerInner(_ref, ref) {
88
105
  return _context.stop();
89
106
  }
90
107
  }, _callee);
91
- })), [showDelay, visible, getProfileData, fireAnalytics, profileCardType, _trigger]);
108
+ })), [showDelay, visible, getProfileData, fireAnalytics, profileCardType, _trigger, fireAnalyticsNext]);
92
109
  var onMouseEnter = (0, _react.useCallback)(function () {
93
110
  showProfilecard();
94
111
  }, [showProfilecard]);
@@ -109,7 +126,8 @@ function ProfileCardTriggerInner(_ref, ref) {
109
126
  showProfilecard: showProfilecard,
110
127
  children: children,
111
128
  ariaLabelledBy: ariaLabelledBy,
112
- trigger: _trigger
129
+ trigger: _trigger,
130
+ "data-testid": testId
113
131
  }));
114
132
  },
115
133
  content: function content() {
@@ -119,9 +137,13 @@ function ProfileCardTriggerInner(_ref, ref) {
119
137
  _react.default.createElement("div", {
120
138
  onMouseEnter: onMouseEnter,
121
139
  onMouseLeave: hideProfilecard,
122
- onFocus: showProfilecard
123
- }, isLoading ? /*#__PURE__*/_react.default.createElement(_ProfileCardWrapper.ProfileCardWrapper, null, /*#__PURE__*/_react.default.createElement(_LoadingState.LoadingState, {
140
+ onFocus: showProfilecard,
141
+ "data-testid": "profile-card--trigger-content"
142
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(_ProfileCardWrapper.ProfileCardWrapper, {
143
+ testId: "profilecard.profilecardtrigger.loading"
144
+ }, /*#__PURE__*/_react.default.createElement(_LoadingState.LoadingState, {
124
145
  fireAnalytics: fireAnalytics,
146
+ fireAnalyticsNext: fireAnalyticsNext,
125
147
  profileType: profileCardType
126
148
  })) : renderProfileCard({
127
149
  profileData: profileData,
@@ -13,8 +13,10 @@ var styles = (0, _primitives.xcss)({
13
13
  width: '360px'
14
14
  });
15
15
  var ProfileCardWrapper = exports.ProfileCardWrapper = function ProfileCardWrapper(_ref) {
16
- var children = _ref.children;
16
+ var children = _ref.children,
17
+ testId = _ref.testId;
17
18
  return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
18
- xcss: styles
19
+ xcss: styles,
20
+ testId: testId
19
21
  }, children);
20
22
  };
@@ -4,13 +4,17 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.userRequestAnalytics = exports.teamRequestAnalytics = exports.teamAvatarClicked = exports.reportingLinesClicked = exports.profileCardRendered = exports.moreMembersClicked = exports.moreActionsClicked = exports.fireEvent = exports.errorRetryClicked = exports.cardTriggered = exports.agentRequestAnalytics = exports.actionClicked = void 0;
7
+ exports.userRequestAnalytics = exports.teamRequestAnalytics = exports.teamAvatarClicked = exports.reportingLinesClicked = exports.profileCardRendered = exports.moreMembersClicked = exports.moreActionsClicked = exports.getActionSubject = exports.fireEvent = exports.errorRetryClicked = exports.cardTriggered = exports.agentRequestAnalytics = exports.actionClicked = exports.PACKAGE_META_DATA = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _performance = require("./performance");
10
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
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
12
  /** Below lines are copied from teams common analytics */
13
13
  var ANALYTICS_CHANNEL = 'peopleTeams';
14
+ var PACKAGE_META_DATA = exports.PACKAGE_META_DATA = {
15
+ packageName: "@atlaskit/profilecard",
16
+ packageVersion: "24.13.7"
17
+ };
14
18
  var runItLater = function runItLater(cb) {
15
19
  var requestIdleCallback = window.requestIdleCallback;
16
20
  if (typeof requestIdleCallback === 'function') {
@@ -54,13 +58,13 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
54
58
  actionSubjectId: actionSubjectId,
55
59
  attributes: _objectSpread(_objectSpread({
56
60
  packageName: "@atlaskit/profilecard",
57
- packageVersion: "24.13.6"
61
+ packageVersion: "24.13.7"
58
62
  }, attributes), {}, {
59
63
  firedAt: Math.round((0, _performance.getPageTime)())
60
64
  })
61
65
  };
62
66
  };
63
- var getActionSubject = function getActionSubject(type) {
67
+ var getActionSubject = exports.getActionSubject = function getActionSubject(type) {
64
68
  switch (type) {
65
69
  case 'user':
66
70
  return USER_SUBJECT;
@@ -29,8 +29,8 @@ class ProfileCardClient {
29
29
  (_this$tcClient = this.tcClient) === null || _this$tcClient === void 0 ? void 0 : _this$tcClient.flushCache();
30
30
  (_this$rovoAgentClient = this.rovoAgentClient) === null || _this$rovoAgentClient === void 0 ? void 0 : _this$rovoAgentClient.flushCache();
31
31
  }
32
- getProfile(cloudId, userId, analytics) {
33
- return this.userClient.getProfile(cloudId, userId, analytics);
32
+ getProfile(cloudId, userId, analytics, analyticsNext) {
33
+ return this.userClient.getProfile(cloudId, userId, analytics, analyticsNext);
34
34
  }
35
35
  getTeamProfile(teamId, orgId, analytics) {
36
36
  return this.teamClient.getProfile(teamId, orgId, analytics);