@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
@@ -1,14 +1,19 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
3
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
5
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
5
- var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes", "profileCardType", "fireAnalytics"],
6
+ var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes", "profileCardType", "testId", "fireAnalytics", "fireAnalyticsNext"],
6
7
  _excluded2 = ["aria-expanded", "aria-haspopup"];
7
8
  import _regeneratorRuntime from "@babel/runtime/regenerator";
9
+ 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; }
10
+ 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) { _defineProperty(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; }
8
11
  import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';
12
+ import { fg } from '@atlaskit/platform-feature-flags';
9
13
  import Popup from '@atlaskit/popup';
10
14
  import { layers } from '@atlaskit/theme/constants';
11
- import { cardTriggered } from '../../util/analytics';
15
+ import { cardTriggered, getActionSubject, PACKAGE_META_DATA } from '../../util/analytics';
16
+ import { getPageTime } from '../../util/performance';
12
17
  import { useProfileInfo } from '../../util/useProfileInfo';
13
18
  import { LoadingState } from './LoadingState';
14
19
  import { PopupTrigger } from './PopupTrigger';
@@ -24,7 +29,9 @@ function ProfileCardTriggerInner(_ref, ref) {
24
29
  fetchProfile = _ref.fetchProfile,
25
30
  disabledAriaAttributes = _ref.disabledAriaAttributes,
26
31
  profileCardType = _ref.profileCardType,
32
+ testId = _ref.testId,
27
33
  fireAnalytics = _ref.fireAnalytics,
34
+ fireAnalyticsNext = _ref.fireAnalyticsNext,
28
35
  popupProps = _objectWithoutProperties(_ref, _excluded);
29
36
  var showDelay = _trigger === 'click' ? 0 : DELAY_MS_SHOW;
30
37
  var hideDelay = _trigger === 'click' ? 0 : DELAY_MS_HIDE;
@@ -69,8 +76,18 @@ function ProfileCardTriggerInner(_ref, ref) {
69
76
  if (!visible) {
70
77
  getProfileData === null || getProfileData === void 0 || getProfileData();
71
78
  setVisible(true);
72
- if (fireAnalytics) {
73
- fireAnalytics(cardTriggered(profileCardType, _trigger));
79
+ if (fg('ptc-enable-profile-card-analytics-refactor')) {
80
+ if (fireAnalyticsNext) {
81
+ fireAnalyticsNext("ui.".concat(getActionSubject(profileCardType), ".triggered"), _objectSpread(_objectSpread({
82
+ method: _trigger
83
+ }, PACKAGE_META_DATA), {}, {
84
+ firedAt: Math.round(getPageTime())
85
+ }));
86
+ }
87
+ } else {
88
+ if (fireAnalytics) {
89
+ fireAnalytics(cardTriggered(profileCardType, _trigger));
90
+ }
74
91
  }
75
92
  }
76
93
  }, showDelay);
@@ -79,7 +96,7 @@ function ProfileCardTriggerInner(_ref, ref) {
79
96
  return _context.stop();
80
97
  }
81
98
  }, _callee);
82
- })), [showDelay, visible, getProfileData, fireAnalytics, profileCardType, _trigger]);
99
+ })), [showDelay, visible, getProfileData, fireAnalytics, profileCardType, _trigger, fireAnalyticsNext]);
83
100
  var onMouseEnter = useCallback(function () {
84
101
  showProfilecard();
85
102
  }, [showProfilecard]);
@@ -100,7 +117,8 @@ function ProfileCardTriggerInner(_ref, ref) {
100
117
  showProfilecard: showProfilecard,
101
118
  children: children,
102
119
  ariaLabelledBy: ariaLabelledBy,
103
- trigger: _trigger
120
+ trigger: _trigger,
121
+ "data-testid": testId
104
122
  }));
105
123
  },
106
124
  content: function content() {
@@ -110,9 +128,13 @@ function ProfileCardTriggerInner(_ref, ref) {
110
128
  React.createElement("div", {
111
129
  onMouseEnter: onMouseEnter,
112
130
  onMouseLeave: hideProfilecard,
113
- onFocus: showProfilecard
114
- }, isLoading ? /*#__PURE__*/React.createElement(ProfileCardWrapper, null, /*#__PURE__*/React.createElement(LoadingState, {
131
+ onFocus: showProfilecard,
132
+ "data-testid": "profile-card--trigger-content"
133
+ }, isLoading ? /*#__PURE__*/React.createElement(ProfileCardWrapper, {
134
+ testId: "profilecard.profilecardtrigger.loading"
135
+ }, /*#__PURE__*/React.createElement(LoadingState, {
115
136
  fireAnalytics: fireAnalytics,
137
+ fireAnalyticsNext: fireAnalyticsNext,
116
138
  profileType: profileCardType
117
139
  })) : renderProfileCard({
118
140
  profileData: profileData,
@@ -6,8 +6,10 @@ var styles = xcss({
6
6
  width: '360px'
7
7
  });
8
8
  export var ProfileCardWrapper = function ProfileCardWrapper(_ref) {
9
- var children = _ref.children;
9
+ var children = _ref.children,
10
+ testId = _ref.testId;
10
11
  return /*#__PURE__*/React.createElement(Box, {
11
- xcss: styles
12
+ xcss: styles,
13
+ testId: testId
12
14
  }, children);
13
15
  };
@@ -5,6 +5,10 @@ import { getPageTime } from './performance';
5
5
 
6
6
  /** Below lines are copied from teams common analytics */
7
7
  var ANALYTICS_CHANNEL = 'peopleTeams';
8
+ export var PACKAGE_META_DATA = {
9
+ packageName: "@atlaskit/profilecard",
10
+ packageVersion: "24.13.7"
11
+ };
8
12
  var runItLater = function runItLater(cb) {
9
13
  var requestIdleCallback = window.requestIdleCallback;
10
14
  if (typeof requestIdleCallback === 'function') {
@@ -48,13 +52,13 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
48
52
  actionSubjectId: actionSubjectId,
49
53
  attributes: _objectSpread(_objectSpread({
50
54
  packageName: "@atlaskit/profilecard",
51
- packageVersion: "24.13.6"
55
+ packageVersion: "24.13.7"
52
56
  }, attributes), {}, {
53
57
  firedAt: Math.round(getPageTime())
54
58
  })
55
59
  };
56
60
  };
57
- var getActionSubject = function getActionSubject(type) {
61
+ export var getActionSubject = function getActionSubject(type) {
58
62
  switch (type) {
59
63
  case 'user':
60
64
  return USER_SUBJECT;
@@ -1,4 +1,5 @@
1
1
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
+ import type { FireEventType } from '@atlaskit/teams-app-internal-analytics';
2
3
  import { type AgentIdType, type ClientOverrides, type ProfileClient, type ProfileClientOptions, type TeamCentralReportingLinesData } from '../types';
3
4
  import RovoAgentCardClient from './RovoAgentCardClient';
4
5
  import TeamCentralCardClient from './TeamCentralCardClient';
@@ -15,7 +16,7 @@ declare class ProfileCardClient implements ProfileClient {
15
16
  rovoAgentClient: RovoAgentCardClient;
16
17
  constructor(config: ProfileClientOptions, clients?: ClientOverrides);
17
18
  flushCache(): void;
18
- getProfile(cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void): Promise<any>;
19
+ getProfile(cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void, analyticsNext?: FireEventType): Promise<any>;
19
20
  getTeamProfile(teamId: string, orgId?: string, analytics?: (event: AnalyticsEventPayload) => void): Promise<import("../types").Team>;
20
21
  getReportingLines(userId: string): Promise<TeamCentralReportingLinesData>;
21
22
  getTeamCentralBaseUrl(teamCentralScopes?: TeamCentralScopes): Promise<string | undefined>;
@@ -1,4 +1,5 @@
1
1
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
+ import { type FireEventType } from '@atlaskit/teams-app-internal-analytics';
2
3
  import type { ApiClientResponse, ProfileCardClientData, ProfileClientOptions } from '../types';
3
4
  import CachingClient from './CachingClient';
4
5
  /**
@@ -20,5 +21,5 @@ export default class UserProfileCardClient extends CachingClient<any> {
20
21
  options: ProfileClientOptions;
21
22
  constructor(options: ProfileClientOptions);
22
23
  makeRequest(cloudId: string, userId: string): Promise<ProfileCardClientData>;
23
- getProfile(cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void): Promise<any>;
24
+ getProfile(cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void, analyticsNext?: FireEventType): Promise<any>;
24
25
  }
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
2
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
3
+ import type { AnalyticsEventAttributes } from '@atlaskit/teams-app-internal-analytics';
3
4
  import { type ProfileCardErrorType } from '../../types';
4
5
  interface Props {
5
6
  reload?: () => void | undefined;
6
7
  errorType?: ProfileCardErrorType;
7
8
  fireAnalytics: (payload: AnalyticsEventPayload) => void;
9
+ fireAnalyticsNext: <K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]) => void;
8
10
  }
9
11
  declare const ErrorMessage: (props: Props) => React.JSX.Element;
10
12
  export default ErrorMessage;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { type AnalyticsProps, type ProfilecardProps } from '../../types';
2
+ import { type AnalyticsProps, type AnalyticsWithDurationProps, type ProfilecardProps } from '../../types';
3
3
  export declare const ProfilecardInternal: (props: ProfilecardProps & AnalyticsProps) => React.JSX.Element | null;
4
- declare const _default: React.ForwardRefExoticComponent<Omit<ProfilecardProps & AnalyticsProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any>>;
4
+ export declare const LoadingView: ({ fireAnalyticsWithDuration, fireAnalyticsWithDurationNext, }: AnalyticsWithDurationProps) => React.JSX.Element;
5
+ declare const _default: React.FC<ProfilecardProps & AnalyticsProps & Omit<Omit<ProfilecardProps & AnalyticsProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any>, "ref"> & React.RefAttributes<any>>;
5
6
  export default _default;
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
2
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
3
+ import { type FireEventType } from '@atlaskit/teams-app-internal-analytics';
3
4
  import { type AnalyticsProps, type ProfileCardAction, type ProfileCardClientData, type ProfileCardResourcedProps, type ProfileCardResourcedState, type TeamCentralReportingLinesData } from '../../types';
4
5
  declare class ProfileCardResourced extends React.PureComponent<ProfileCardResourcedProps & AnalyticsProps, ProfileCardResourcedState> {
5
6
  static defaultProps: Partial<ProfileCardResourcedProps>;
6
7
  _isMounted: boolean;
7
8
  state: ProfileCardResourcedState;
8
9
  fireAnalytics: (payload: AnalyticsEventPayload) => void;
10
+ fireAnalyticsNext: FireEventType;
9
11
  componentDidMount(): void;
10
12
  componentDidUpdate(prevProps: ProfileCardResourcedProps): void;
11
13
  componentWillUnmount(): void;
@@ -18,7 +20,7 @@ declare class ProfileCardResourced extends React.PureComponent<ProfileCardResour
18
20
  render(): React.ReactNode;
19
21
  }
20
22
  export declare const ProfileCardResourcedInternal: typeof ProfileCardResourced;
21
- declare const _default: React.ForwardRefExoticComponent<Pick<Omit<ProfileCardResourcedProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, never> & {
23
+ declare const _default: React.FC<ProfileCardResourcedProps & Omit<Pick<Omit<ProfileCardResourcedProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, never> & {
22
24
  cloudId?: string | undefined;
23
25
  resourceClient?: import("../../types").ProfileClient | undefined;
24
26
  actions?: ProfileCardAction[] | undefined;
@@ -29,5 +31,5 @@ declare const _default: React.ForwardRefExoticComponent<Pick<Omit<ProfileCardRes
29
31
  userId?: string | undefined;
30
32
  reportingLinesProfileUrl?: string | undefined;
31
33
  onReportingLinesClick?: ((user: import("../../types").ReportingLinesUser) => void) | undefined;
32
- } & {} & React.RefAttributes<any>>;
34
+ } & {} & React.RefAttributes<any>, "ref"> & React.RefAttributes<any>>;
33
35
  export default _default;
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
3
+ import { type FireEventType } from '@atlaskit/teams-app-internal-analytics';
3
4
  interface AnalyticsProps {
4
5
  fireAnalytics: (payload: AnalyticsEventPayload) => void;
6
+ fireAnalyticsNext: FireEventType;
5
7
  }
6
- declare const UserLoadingState: ({ fireAnalytics }: AnalyticsProps) => React.JSX.Element;
8
+ declare const UserLoadingState: ({ fireAnalytics, fireAnalyticsNext }: AnalyticsProps) => React.JSX.Element;
7
9
  export default UserLoadingState;
@@ -1 +1 @@
1
- export declare const ProfileCardLazy: import("react").LazyExoticComponent<import("react").ForwardRefExoticComponent<Omit<import("../..").ProfilecardProps & import("../../types").AnalyticsProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & import("react").RefAttributes<any>>>;
1
+ export declare const ProfileCardLazy: import("react").LazyExoticComponent<import("react").FC<import("../..").ProfilecardProps & import("../../types").AnalyticsProps & Omit<Omit<import("../..").ProfilecardProps & import("../../types").AnalyticsProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & import("react").RefAttributes<any>, "ref"> & import("react").RefAttributes<any>>>;
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
3
+ import type { AnalyticsEventAttributes } from '@atlaskit/teams-app-internal-analytics';
3
4
  import { type ProfileType } from '../../types';
4
5
  interface AnalyticsProps {
5
6
  fireAnalytics?: (payload: AnalyticsEventPayload) => void;
7
+ fireAnalyticsNext?: <K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]) => void;
6
8
  profileType: ProfileType;
7
9
  }
8
- export declare const LoadingState: ({ fireAnalytics, profileType }: AnalyticsProps) => React.JSX.Element;
10
+ export declare const LoadingState: ({ fireAnalytics, fireAnalyticsNext, profileType }: AnalyticsProps) => React.JSX.Element;
9
11
  export {};
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
- export declare const ProfileCardWrapper: ({ children }: {
2
+ export declare const ProfileCardWrapper: ({ children, testId, }: {
3
3
  children: React.ReactNode;
4
+ testId?: string;
4
5
  }) => React.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
2
  import { type PopupProps } from '@atlaskit/popup';
3
+ import type { AnalyticsEventAttributes } from '@atlaskit/teams-app-internal-analytics';
3
4
  import { type ProfileCardErrorType, type ProfileType } from '../../types';
4
5
  export type ProfileCardTriggerProps<T> = {
5
6
  trigger: 'hover' | 'click';
@@ -12,5 +13,7 @@ export type ProfileCardTriggerProps<T> = {
12
13
  }) => React.ReactNode;
13
14
  fetchProfile?: () => Promise<T>;
14
15
  profileCardType: ProfileType;
16
+ testId?: string;
15
17
  fireAnalytics?: (payload: AnalyticsEventPayload) => void;
18
+ fireAnalyticsNext?: <K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]) => void;
16
19
  } & Omit<PopupProps, 'trigger' | 'isOpen' | 'content'>;
@@ -2,6 +2,7 @@ import type React from 'react';
2
2
  import { type IntlShape } from 'react-intl-next';
3
3
  import { type AnalyticsEventPayload, type CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
4
4
  import { type ConversationStarter } from '@atlaskit/rovo-agent-components';
5
+ import type { AnalyticsEventAttributes, FireEventType, useAnalyticsEvents } from '@atlaskit/teams-app-internal-analytics';
5
6
  import { type TeamCentralScopes } from './client/ProfileCardClient';
6
7
  import type RovoAgentCardClient from './client/RovoAgentCardClient';
7
8
  import { type default as TeamCentralCardClient, type TeamCentralCardClientOptions } from './client/TeamCentralCardClient';
@@ -428,12 +429,18 @@ export interface ProfilecardProps {
428
429
  agentActions?: AgentActionsType;
429
430
  }
430
431
  export type AnalyticsFromDuration = (duration: number) => AnalyticsEventPayload;
432
+ export type AnalyticsFromDurationNext = <K extends keyof AnalyticsEventAttributes>(eventKey: K, duration: number) => {
433
+ attributes: AnalyticsEventAttributes[K];
434
+ };
431
435
  export type AnalyticsFunction = (generator: AnalyticsFromDuration) => void;
436
+ export type AnalyticsFunctionNext = <K extends keyof AnalyticsEventAttributes>(eventKey: K, generator: (duration: number) => AnalyticsEventAttributes[K]) => void;
432
437
  export interface AnalyticsProps {
433
438
  createAnalyticsEvent?: CreateUIAnalyticsEvent;
439
+ fireEvent?: ReturnType<typeof useAnalyticsEvents>['fireEvent'];
434
440
  }
435
441
  export interface AnalyticsWithDurationProps {
436
442
  fireAnalyticsWithDuration: AnalyticsFunction;
443
+ fireAnalyticsWithDurationNext: AnalyticsFunctionNext;
437
444
  }
438
445
  export interface TeamProfilecardProps extends TeamProfilecardCoreProps {
439
446
  /** Indicates whether the team's details are still loading. */
@@ -468,15 +475,15 @@ export type AgentPermissions = {
468
475
  };
469
476
  export interface ProfileClient {
470
477
  flushCache: () => void;
471
- getProfile: (cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void) => Promise<ProfileCardClientData>;
472
- getTeamProfile: (teamId: string, orgId?: string, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<Team>;
478
+ getProfile: (cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void, analyticsNext?: FireEventType) => Promise<ProfileCardClientData>;
479
+ getTeamProfile: (teamId: string, orgId?: string, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<Team>;
473
480
  getReportingLines: (userId: string) => Promise<TeamCentralReportingLinesData>;
474
481
  shouldShowGiveKudos: () => Promise<boolean>;
475
482
  getTeamCentralBaseUrl: (teamCentralScopes?: TeamCentralScopes) => Promise<string | undefined>;
476
- getRovoAgentProfile: (id: AgentIdType, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<RovoAgent>;
477
- getRovoAgentPermissions: (id: string, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<AgentPermissions>;
478
- deleteAgent: (id: string, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<void>;
479
- setFavouriteAgent: (id: string, isFavourite: boolean, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<void>;
483
+ getRovoAgentProfile: (id: AgentIdType, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<RovoAgent>;
484
+ getRovoAgentPermissions: (id: string, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<AgentPermissions>;
485
+ deleteAgent: (id: string, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<void>;
486
+ setFavouriteAgent: (id: string, isFavourite: boolean, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<void>;
480
487
  }
481
488
  export type ProfilecardTriggerPosition = 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'top-end' | 'top' | 'top-start' | 'right-end' | 'right' | 'right-start';
482
489
  export type ProfileCardErrorType = {
@@ -2,6 +2,10 @@ import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
2
  import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';
3
3
  import { type ErrorAttributes } from '../client/types';
4
4
  import { type ProfileType } from '../types';
5
+ export declare const PACKAGE_META_DATA: {
6
+ packageName: string;
7
+ packageVersion: string;
8
+ };
5
9
  type GenericAttributes = Record<string, string | number | boolean | undefined | string[]> | ErrorAttributes;
6
10
  interface AnalyticsEvent {
7
11
  action?: string;
@@ -16,6 +20,7 @@ interface AnalyticsEvent {
16
20
  * @deprecated Analytics events should be fired using the `@atlaskit/teams-app-internal-analytics` package.
17
21
  */
18
22
  export declare const fireEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent | undefined, body: AnalyticsEvent) => void;
23
+ export declare const getActionSubject: (type: string) => "teamProfileCard" | "profilecard" | "rovoAgentProfilecard" | "user";
19
24
  export declare const cardTriggered: (type: ProfileType, method: "hover" | "click", teamId?: string) => AnalyticsEventPayload;
20
25
  export declare const teamRequestAnalytics: (action: "triggered" | "succeeded" | "failed", attributes?: {
21
26
  duration: number;
@@ -1,4 +1,5 @@
1
1
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
+ import type { FireEventType } from '@atlaskit/teams-app-internal-analytics';
2
3
  import { type AgentIdType, type ClientOverrides, type ProfileClient, type ProfileClientOptions, type TeamCentralReportingLinesData } from '../types';
3
4
  import RovoAgentCardClient from './RovoAgentCardClient';
4
5
  import TeamCentralCardClient from './TeamCentralCardClient';
@@ -15,7 +16,7 @@ declare class ProfileCardClient implements ProfileClient {
15
16
  rovoAgentClient: RovoAgentCardClient;
16
17
  constructor(config: ProfileClientOptions, clients?: ClientOverrides);
17
18
  flushCache(): void;
18
- getProfile(cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void): Promise<any>;
19
+ getProfile(cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void, analyticsNext?: FireEventType): Promise<any>;
19
20
  getTeamProfile(teamId: string, orgId?: string, analytics?: (event: AnalyticsEventPayload) => void): Promise<import("../types").Team>;
20
21
  getReportingLines(userId: string): Promise<TeamCentralReportingLinesData>;
21
22
  getTeamCentralBaseUrl(teamCentralScopes?: TeamCentralScopes): Promise<string | undefined>;
@@ -1,4 +1,5 @@
1
1
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
+ import { type FireEventType } from '@atlaskit/teams-app-internal-analytics';
2
3
  import type { ApiClientResponse, ProfileCardClientData, ProfileClientOptions } from '../types';
3
4
  import CachingClient from './CachingClient';
4
5
  /**
@@ -20,5 +21,5 @@ export default class UserProfileCardClient extends CachingClient<any> {
20
21
  options: ProfileClientOptions;
21
22
  constructor(options: ProfileClientOptions);
22
23
  makeRequest(cloudId: string, userId: string): Promise<ProfileCardClientData>;
23
- getProfile(cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void): Promise<any>;
24
+ getProfile(cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void, analyticsNext?: FireEventType): Promise<any>;
24
25
  }
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
2
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
3
+ import type { AnalyticsEventAttributes } from '@atlaskit/teams-app-internal-analytics';
3
4
  import { type ProfileCardErrorType } from '../../types';
4
5
  interface Props {
5
6
  reload?: () => void | undefined;
6
7
  errorType?: ProfileCardErrorType;
7
8
  fireAnalytics: (payload: AnalyticsEventPayload) => void;
9
+ fireAnalyticsNext: <K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]) => void;
8
10
  }
9
11
  declare const ErrorMessage: (props: Props) => React.JSX.Element;
10
12
  export default ErrorMessage;
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { type AnalyticsProps, type ProfilecardProps } from '../../types';
2
+ import { type AnalyticsProps, type AnalyticsWithDurationProps, type ProfilecardProps } from '../../types';
3
3
  export declare const ProfilecardInternal: (props: ProfilecardProps & AnalyticsProps) => React.JSX.Element | null;
4
- declare const _default: React.ForwardRefExoticComponent<Omit<ProfilecardProps & AnalyticsProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any>>;
4
+ export declare const LoadingView: ({ fireAnalyticsWithDuration, fireAnalyticsWithDurationNext, }: AnalyticsWithDurationProps) => React.JSX.Element;
5
+ declare const _default: React.FC<ProfilecardProps & AnalyticsProps & Omit<Omit<ProfilecardProps & AnalyticsProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & React.RefAttributes<any>, "ref"> & React.RefAttributes<any>>;
5
6
  export default _default;
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
2
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
3
+ import { type FireEventType } from '@atlaskit/teams-app-internal-analytics';
3
4
  import { type AnalyticsProps, type ProfileCardAction, type ProfileCardClientData, type ProfileCardResourcedProps, type ProfileCardResourcedState, type TeamCentralReportingLinesData } from '../../types';
4
5
  declare class ProfileCardResourced extends React.PureComponent<ProfileCardResourcedProps & AnalyticsProps, ProfileCardResourcedState> {
5
6
  static defaultProps: Partial<ProfileCardResourcedProps>;
6
7
  _isMounted: boolean;
7
8
  state: ProfileCardResourcedState;
8
9
  fireAnalytics: (payload: AnalyticsEventPayload) => void;
10
+ fireAnalyticsNext: FireEventType;
9
11
  componentDidMount(): void;
10
12
  componentDidUpdate(prevProps: ProfileCardResourcedProps): void;
11
13
  componentWillUnmount(): void;
@@ -18,7 +20,7 @@ declare class ProfileCardResourced extends React.PureComponent<ProfileCardResour
18
20
  render(): React.ReactNode;
19
21
  }
20
22
  export declare const ProfileCardResourcedInternal: typeof ProfileCardResourced;
21
- declare const _default: React.ForwardRefExoticComponent<Pick<Omit<ProfileCardResourcedProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, never> & {
23
+ declare const _default: React.FC<ProfileCardResourcedProps & Omit<Pick<Omit<ProfileCardResourcedProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps>, never> & {
22
24
  cloudId?: string | undefined;
23
25
  resourceClient?: import("../../types").ProfileClient | undefined;
24
26
  actions?: ProfileCardAction[] | undefined;
@@ -29,5 +31,5 @@ declare const _default: React.ForwardRefExoticComponent<Pick<Omit<ProfileCardRes
29
31
  userId?: string | undefined;
30
32
  reportingLinesProfileUrl?: string | undefined;
31
33
  onReportingLinesClick?: ((user: import("../../types").ReportingLinesUser) => void) | undefined;
32
- } & {} & React.RefAttributes<any>>;
34
+ } & {} & React.RefAttributes<any>, "ref"> & React.RefAttributes<any>>;
33
35
  export default _default;
@@ -1,7 +1,9 @@
1
1
  import React from 'react';
2
2
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
3
+ import { type FireEventType } from '@atlaskit/teams-app-internal-analytics';
3
4
  interface AnalyticsProps {
4
5
  fireAnalytics: (payload: AnalyticsEventPayload) => void;
6
+ fireAnalyticsNext: FireEventType;
5
7
  }
6
- declare const UserLoadingState: ({ fireAnalytics }: AnalyticsProps) => React.JSX.Element;
8
+ declare const UserLoadingState: ({ fireAnalytics, fireAnalyticsNext }: AnalyticsProps) => React.JSX.Element;
7
9
  export default UserLoadingState;
@@ -1 +1 @@
1
- export declare const ProfileCardLazy: import("react").LazyExoticComponent<import("react").ForwardRefExoticComponent<Omit<import("../..").ProfilecardProps & import("../../types").AnalyticsProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & import("react").RefAttributes<any>>>;
1
+ export declare const ProfileCardLazy: import("react").LazyExoticComponent<import("react").FC<import("../..").ProfilecardProps & import("../../types").AnalyticsProps & Omit<Omit<import("../..").ProfilecardProps & import("../../types").AnalyticsProps, keyof import("@atlaskit/analytics-next").WithAnalyticsEventsProps> & import("react").RefAttributes<any>, "ref"> & import("react").RefAttributes<any>>>;
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
3
+ import type { AnalyticsEventAttributes } from '@atlaskit/teams-app-internal-analytics';
3
4
  import { type ProfileType } from '../../types';
4
5
  interface AnalyticsProps {
5
6
  fireAnalytics?: (payload: AnalyticsEventPayload) => void;
7
+ fireAnalyticsNext?: <K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]) => void;
6
8
  profileType: ProfileType;
7
9
  }
8
- export declare const LoadingState: ({ fireAnalytics, profileType }: AnalyticsProps) => React.JSX.Element;
10
+ export declare const LoadingState: ({ fireAnalytics, fireAnalyticsNext, profileType }: AnalyticsProps) => React.JSX.Element;
9
11
  export {};
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
- export declare const ProfileCardWrapper: ({ children }: {
2
+ export declare const ProfileCardWrapper: ({ children, testId, }: {
3
3
  children: React.ReactNode;
4
+ testId?: string;
4
5
  }) => React.JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
2
  import { type PopupProps } from '@atlaskit/popup';
3
+ import type { AnalyticsEventAttributes } from '@atlaskit/teams-app-internal-analytics';
3
4
  import { type ProfileCardErrorType, type ProfileType } from '../../types';
4
5
  export type ProfileCardTriggerProps<T> = {
5
6
  trigger: 'hover' | 'click';
@@ -12,5 +13,7 @@ export type ProfileCardTriggerProps<T> = {
12
13
  }) => React.ReactNode;
13
14
  fetchProfile?: () => Promise<T>;
14
15
  profileCardType: ProfileType;
16
+ testId?: string;
15
17
  fireAnalytics?: (payload: AnalyticsEventPayload) => void;
18
+ fireAnalyticsNext?: <K extends keyof AnalyticsEventAttributes>(eventKey: K, attributes: AnalyticsEventAttributes[K]) => void;
16
19
  } & Omit<PopupProps, 'trigger' | 'isOpen' | 'content'>;
@@ -2,6 +2,7 @@ import type React from 'react';
2
2
  import { type IntlShape } from 'react-intl-next';
3
3
  import { type AnalyticsEventPayload, type CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
4
4
  import { type ConversationStarter } from '@atlaskit/rovo-agent-components';
5
+ import type { AnalyticsEventAttributes, FireEventType, useAnalyticsEvents } from '@atlaskit/teams-app-internal-analytics';
5
6
  import { type TeamCentralScopes } from './client/ProfileCardClient';
6
7
  import type RovoAgentCardClient from './client/RovoAgentCardClient';
7
8
  import { type default as TeamCentralCardClient, type TeamCentralCardClientOptions } from './client/TeamCentralCardClient';
@@ -434,12 +435,18 @@ export interface ProfilecardProps {
434
435
  agentActions?: AgentActionsType;
435
436
  }
436
437
  export type AnalyticsFromDuration = (duration: number) => AnalyticsEventPayload;
438
+ export type AnalyticsFromDurationNext = <K extends keyof AnalyticsEventAttributes>(eventKey: K, duration: number) => {
439
+ attributes: AnalyticsEventAttributes[K];
440
+ };
437
441
  export type AnalyticsFunction = (generator: AnalyticsFromDuration) => void;
442
+ export type AnalyticsFunctionNext = <K extends keyof AnalyticsEventAttributes>(eventKey: K, generator: (duration: number) => AnalyticsEventAttributes[K]) => void;
438
443
  export interface AnalyticsProps {
439
444
  createAnalyticsEvent?: CreateUIAnalyticsEvent;
445
+ fireEvent?: ReturnType<typeof useAnalyticsEvents>['fireEvent'];
440
446
  }
441
447
  export interface AnalyticsWithDurationProps {
442
448
  fireAnalyticsWithDuration: AnalyticsFunction;
449
+ fireAnalyticsWithDurationNext: AnalyticsFunctionNext;
443
450
  }
444
451
  export interface TeamProfilecardProps extends TeamProfilecardCoreProps {
445
452
  /** Indicates whether the team's details are still loading. */
@@ -474,15 +481,15 @@ export type AgentPermissions = {
474
481
  };
475
482
  export interface ProfileClient {
476
483
  flushCache: () => void;
477
- getProfile: (cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void) => Promise<ProfileCardClientData>;
478
- getTeamProfile: (teamId: string, orgId?: string, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<Team>;
484
+ getProfile: (cloudId: string, userId: string, analytics?: (event: AnalyticsEventPayload) => void, analyticsNext?: FireEventType) => Promise<ProfileCardClientData>;
485
+ getTeamProfile: (teamId: string, orgId?: string, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<Team>;
479
486
  getReportingLines: (userId: string) => Promise<TeamCentralReportingLinesData>;
480
487
  shouldShowGiveKudos: () => Promise<boolean>;
481
488
  getTeamCentralBaseUrl: (teamCentralScopes?: TeamCentralScopes) => Promise<string | undefined>;
482
- getRovoAgentProfile: (id: AgentIdType, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<RovoAgent>;
483
- getRovoAgentPermissions: (id: string, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<AgentPermissions>;
484
- deleteAgent: (id: string, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<void>;
485
- setFavouriteAgent: (id: string, isFavourite: boolean, fireAnalytics?: (event: AnalyticsEventPayload) => void) => Promise<void>;
489
+ getRovoAgentProfile: (id: AgentIdType, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<RovoAgent>;
490
+ getRovoAgentPermissions: (id: string, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<AgentPermissions>;
491
+ deleteAgent: (id: string, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<void>;
492
+ setFavouriteAgent: (id: string, isFavourite: boolean, fireAnalytics?: (event: AnalyticsEventPayload) => void, fireAnalyticsNext?: FireEventType) => Promise<void>;
486
493
  }
487
494
  export type ProfilecardTriggerPosition = 'bottom-start' | 'bottom' | 'bottom-end' | 'left-start' | 'left' | 'left-end' | 'top-end' | 'top' | 'top-start' | 'right-end' | 'right' | 'right-start';
488
495
  export type ProfileCardErrorType = {
@@ -2,6 +2,10 @@ import { type AnalyticsEventPayload } from '@atlaskit/analytics-next';
2
2
  import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';
3
3
  import { type ErrorAttributes } from '../client/types';
4
4
  import { type ProfileType } from '../types';
5
+ export declare const PACKAGE_META_DATA: {
6
+ packageName: string;
7
+ packageVersion: string;
8
+ };
5
9
  type GenericAttributes = Record<string, string | number | boolean | undefined | string[]> | ErrorAttributes;
6
10
  interface AnalyticsEvent {
7
11
  action?: string;
@@ -16,6 +20,7 @@ interface AnalyticsEvent {
16
20
  * @deprecated Analytics events should be fired using the `@atlaskit/teams-app-internal-analytics` package.
17
21
  */
18
22
  export declare const fireEvent: (createAnalyticsEvent: CreateUIAnalyticsEvent | undefined, body: AnalyticsEvent) => void;
23
+ export declare const getActionSubject: (type: string) => "teamProfileCard" | "profilecard" | "rovoAgentProfilecard" | "user";
19
24
  export declare const cardTriggered: (type: ProfileType, method: "hover" | "click", teamId?: string) => AnalyticsEventPayload;
20
25
  export declare const teamRequestAnalytics: (action: "triggered" | "succeeded" | "failed", attributes?: {
21
26
  duration: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/profilecard",
3
- "version": "24.13.7",
3
+ "version": "24.14.0",
4
4
  "description": "A React component to display a card with user information.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -51,22 +51,24 @@
51
51
  "@atlaskit/feature-gate-js-client": "^5.5.0",
52
52
  "@atlaskit/give-kudos": "^4.3.0",
53
53
  "@atlaskit/heading": "^5.2.0",
54
- "@atlaskit/icon": "^28.2.0",
54
+ "@atlaskit/icon": "^28.3.0",
55
55
  "@atlaskit/link": "^3.2.0",
56
56
  "@atlaskit/logo": "^19.7.0",
57
57
  "@atlaskit/lozenge": "^13.0.0",
58
58
  "@atlaskit/menu": "^8.4.0",
59
- "@atlaskit/modal-dialog": "^14.3.0",
59
+ "@atlaskit/modal-dialog": "^14.4.0",
60
60
  "@atlaskit/people-teams-ui-public": "^3.3.0",
61
61
  "@atlaskit/platform-feature-flags": "^1.1.0",
62
+ "@atlaskit/platform-feature-flags-react": "^0.3.0",
62
63
  "@atlaskit/popup": "^4.4.0",
63
64
  "@atlaskit/primitives": "^14.15.0",
64
- "@atlaskit/rovo-agent-components": "^3.4.0",
65
+ "@atlaskit/rovo-agent-components": "^3.5.0",
65
66
  "@atlaskit/rovo-triggers": "^3.10.0",
66
67
  "@atlaskit/spinner": "^19.0.0",
67
68
  "@atlaskit/teams-app-config": "^1.11.0",
69
+ "@atlaskit/teams-app-internal-analytics": "^1.6.0",
68
70
  "@atlaskit/teams-avatar": "^2.3.0",
69
- "@atlaskit/teams-public": "^0.59.0",
71
+ "@atlaskit/teams-public": "^0.60.0",
70
72
  "@atlaskit/theme": "^21.0.0",
71
73
  "@atlaskit/tokens": "^6.3.0",
72
74
  "@atlaskit/tooltip": "^20.4.0",
@@ -159,6 +161,9 @@
159
161
  },
160
162
  "enable_absolute_positioning_profile_card": {
161
163
  "type": "boolean"
164
+ },
165
+ "ptc-enable-profile-card-analytics-refactor": {
166
+ "type": "boolean"
162
167
  }
163
168
  },
164
169
  "sideEffects": [