@atlaskit/profilecard 19.18.0 → 19.19.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 (73) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/agent/package.json +14 -0
  3. package/dist/cjs/client/ProfileCardClient.js +2 -2
  4. package/dist/cjs/client/RovoAgentCardClient.js +11 -8
  5. package/dist/cjs/client/getAgentInfo.js +4 -7
  6. package/dist/cjs/client/getTeamFromAGG.js +1 -1
  7. package/dist/cjs/components/Agent/AgentProfileCard.js +34 -6
  8. package/dist/cjs/components/Agent/AgentProfileCardResourced.js +36 -12
  9. package/dist/cjs/components/Agent/AgentProfileCardTrigger.js +41 -16
  10. package/dist/cjs/components/Agent/index.js +8 -0
  11. package/dist/cjs/components/Agent/useSetFavouriteAgent.js +22 -16
  12. package/dist/cjs/components/common/ProfileCardTrigger.js +13 -5
  13. package/dist/cjs/mocks/simple-mock-clients.js +1 -1
  14. package/dist/cjs/util/analytics.js +16 -4
  15. package/dist/cjs/util/rovoAgentUtils.js +3 -3
  16. package/dist/cjs/util/useProfileInfo.js +11 -6
  17. package/dist/es2019/client/ProfileCardClient.js +2 -2
  18. package/dist/es2019/client/RovoAgentCardClient.js +12 -9
  19. package/dist/es2019/client/getAgentInfo.js +5 -3
  20. package/dist/es2019/client/getTeamFromAGG.js +1 -1
  21. package/dist/es2019/components/Agent/AgentProfileCard.js +32 -6
  22. package/dist/es2019/components/Agent/AgentProfileCardResourced.js +31 -10
  23. package/dist/es2019/components/Agent/AgentProfileCardTrigger.js +39 -17
  24. package/dist/es2019/components/Agent/index.js +2 -0
  25. package/dist/es2019/components/Agent/useSetFavouriteAgent.js +5 -2
  26. package/dist/es2019/components/common/ProfileCardTrigger.js +10 -3
  27. package/dist/es2019/mocks/simple-mock-clients.js +1 -1
  28. package/dist/es2019/util/analytics.js +20 -6
  29. package/dist/es2019/util/rovoAgentUtils.js +2 -2
  30. package/dist/es2019/util/useProfileInfo.js +3 -1
  31. package/dist/esm/client/ProfileCardClient.js +2 -2
  32. package/dist/esm/client/RovoAgentCardClient.js +12 -9
  33. package/dist/esm/client/getAgentInfo.js +4 -7
  34. package/dist/esm/client/getTeamFromAGG.js +1 -1
  35. package/dist/esm/components/Agent/AgentProfileCard.js +31 -6
  36. package/dist/esm/components/Agent/AgentProfileCardResourced.js +36 -12
  37. package/dist/esm/components/Agent/AgentProfileCardTrigger.js +42 -17
  38. package/dist/esm/components/Agent/index.js +2 -0
  39. package/dist/esm/components/Agent/useSetFavouriteAgent.js +22 -16
  40. package/dist/esm/components/common/ProfileCardTrigger.js +13 -5
  41. package/dist/esm/mocks/simple-mock-clients.js +1 -1
  42. package/dist/esm/util/analytics.js +16 -4
  43. package/dist/esm/util/rovoAgentUtils.js +2 -2
  44. package/dist/esm/util/useProfileInfo.js +11 -6
  45. package/dist/types/client/ProfileCardClient.d.ts +2 -2
  46. package/dist/types/client/RovoAgentCardClient.d.ts +3 -3
  47. package/dist/types/components/Agent/AgentProfileCard.d.ts +4 -3
  48. package/dist/types/components/Agent/AgentProfileCardResourced.d.ts +1 -1
  49. package/dist/types/components/Agent/index.d.ts +2 -0
  50. package/dist/types/components/Agent/lazyAgentProfileCard.d.ts +3 -2
  51. package/dist/types/components/Agent/useSetFavouriteAgent.d.ts +2 -2
  52. package/dist/types/components/common/ProfileCardTrigger.d.ts +1 -1
  53. package/dist/types/components/common/types.d.ts +6 -1
  54. package/dist/types/mocks/simple-mock-clients.d.ts +2 -2
  55. package/dist/types/types.d.ts +6 -1
  56. package/dist/types/util/analytics.d.ts +1 -1
  57. package/dist/types/util/rovoAgentUtils.d.ts +1 -0
  58. package/dist/types/util/useProfileInfo.d.ts +1 -0
  59. package/dist/types-ts4.5/client/ProfileCardClient.d.ts +2 -2
  60. package/dist/types-ts4.5/client/RovoAgentCardClient.d.ts +3 -3
  61. package/dist/types-ts4.5/components/Agent/AgentProfileCard.d.ts +4 -3
  62. package/dist/types-ts4.5/components/Agent/AgentProfileCardResourced.d.ts +1 -1
  63. package/dist/types-ts4.5/components/Agent/index.d.ts +2 -0
  64. package/dist/types-ts4.5/components/Agent/lazyAgentProfileCard.d.ts +3 -2
  65. package/dist/types-ts4.5/components/Agent/useSetFavouriteAgent.d.ts +2 -2
  66. package/dist/types-ts4.5/components/common/ProfileCardTrigger.d.ts +1 -1
  67. package/dist/types-ts4.5/components/common/types.d.ts +6 -1
  68. package/dist/types-ts4.5/mocks/simple-mock-clients.d.ts +2 -2
  69. package/dist/types-ts4.5/types.d.ts +6 -1
  70. package/dist/types-ts4.5/util/analytics.d.ts +1 -1
  71. package/dist/types-ts4.5/util/rovoAgentUtils.d.ts +1 -0
  72. package/dist/types-ts4.5/util/useProfileInfo.d.ts +1 -0
  73. package/package.json +3 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @atlaskit/profilecard
2
2
 
3
+ ## 19.19.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#131656](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/131656)
8
+ [`9c7dc5b037f60`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/9c7dc5b037f60) -
9
+ Add analyticts and update apis
10
+
11
+ ### Patch Changes
12
+
13
+ - [#132411](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/132411)
14
+ [`097911d8bb135`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/097911d8bb135) -
15
+ Added hidden icon to agent profile
16
+ - Updated dependencies
17
+
18
+ ## 19.18.1
19
+
20
+ ### Patch Changes
21
+
22
+ - Updated dependencies
23
+
3
24
  ## 19.18.0
4
25
 
5
26
  ### Minor Changes
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "@atlaskit/profilecard/agent",
3
+ "main": "../dist/cjs/components/Agent/index.js",
4
+ "module": "../dist/esm/components/Agent/index.js",
5
+ "module:es2019": "../dist/es2019/components/Agent/index.js",
6
+ "types": "../dist/types/components/Agent/index.d.ts",
7
+ "typesVersions": {
8
+ ">=4.5 <5.4": {
9
+ "*": [
10
+ "../dist/types-ts4.5/components/Agent/index.d.ts"
11
+ ]
12
+ }
13
+ }
14
+ }
@@ -67,9 +67,9 @@ var ProfileCardClient = /*#__PURE__*/function () {
67
67
  }
68
68
  }, {
69
69
  key: "getRovoAgentProfile",
70
- value: function getRovoAgentProfile(agentId, analytics) {
70
+ value: function getRovoAgentProfile(id, analytics) {
71
71
  var _this$rovoAgentClient2;
72
- return (_this$rovoAgentClient2 = this.rovoAgentClient) === null || _this$rovoAgentClient2 === void 0 ? void 0 : _this$rovoAgentClient2.getProfile(agentId, analytics);
72
+ return (_this$rovoAgentClient2 = this.rovoAgentClient) === null || _this$rovoAgentClient2 === void 0 ? void 0 : _this$rovoAgentClient2.getProfile(id, analytics);
73
73
  }
74
74
  }]);
75
75
  return ProfileCardClient;
@@ -32,23 +32,26 @@ var RovoAgentCardClient = exports.default = /*#__PURE__*/function (_CachingClien
32
32
  }
33
33
  (0, _createClass2.default)(RovoAgentCardClient, [{
34
34
  key: "makeRequest",
35
- value: function makeRequest(agentId, cloudId) {
35
+ value: function makeRequest(id, cloudId) {
36
36
  if (!this.options.productIdentifier) {
37
37
  throw new Error('Trying to fetch agents data with no specified config.productIdentifier');
38
38
  }
39
- return (0, _getAgentInfo.getAgentDetailsByAgentId)(agentId, this.options.productIdentifier, cloudId);
39
+ if (id.type === 'identity') {
40
+ return (0, _getAgentInfo.getAgentDetailsByUserId)(id.value, this.options.productIdentifier, cloudId);
41
+ }
42
+ return (0, _getAgentInfo.getAgentDetailsByAgentId)(id.value, this.options.productIdentifier, cloudId);
40
43
  }
41
44
  }, {
42
45
  key: "getProfile",
43
- value: function getProfile(agentId, analytics) {
46
+ value: function getProfile(id, analytics) {
44
47
  var _this2 = this;
45
- if (!agentId) {
46
- return Promise.reject(new Error('agentId is missing'));
48
+ if (!id.value) {
49
+ return Promise.reject(new Error('IF is missing'));
47
50
  }
48
51
  if (!this.options.cloudId) {
49
52
  return Promise.reject(new Error('cloudId is missing'));
50
53
  }
51
- var cache = this.getCachedProfile(agentId);
54
+ var cache = this.getCachedProfile(id.value);
52
55
  if (cache) {
53
56
  return Promise.resolve(cache);
54
57
  }
@@ -57,9 +60,9 @@ var RovoAgentCardClient = exports.default = /*#__PURE__*/function (_CachingClien
57
60
  if (analytics) {
58
61
  analytics((0, _analytics.agentRequestAnalytics)('triggered'));
59
62
  }
60
- _this2.makeRequest(agentId, _this2.options.cloudId || '').then(function (data) {
63
+ _this2.makeRequest(id, _this2.options.cloudId || '').then(function (data) {
61
64
  if (_this2.cache) {
62
- _this2.setCachedProfile(agentId, data);
65
+ _this2.setCachedProfile(id.value, data);
63
66
  }
64
67
  if (analytics) {
65
68
  analytics((0, _analytics.agentRequestAnalytics)('succeeded', {
@@ -20,7 +20,7 @@ function _getAgentDetailsByAgentId() {
20
20
  case 0:
21
21
  headers = (0, _rovoAgentUtils.createHeaders)(product, cloudId);
22
22
  _context.next = 3;
23
- return fetch(new Request("assist/agents/v1/".concat(agentId), {
23
+ return fetch(new Request("/gateway/api/assist/agents/v1/".concat(agentId), {
24
24
  method: 'GET',
25
25
  credentials: 'include',
26
26
  mode: 'cors',
@@ -48,18 +48,15 @@ function _getAgentDetailsByUserId() {
48
48
  while (1) switch (_context2.prev = _context2.next) {
49
49
  case 0:
50
50
  headers = (0, _rovoAgentUtils.createHeaders)(product, cloudId);
51
- _context2.next = 3;
52
- return fetch(new Request("assist/agents/v1/accountid/".concat(userId), {
51
+ return _context2.abrupt("return", fetch(new Request("/gateway/api/assist/agents/v1/accountid/".concat(userId), {
53
52
  method: 'GET',
54
53
  credentials: 'include',
55
54
  mode: 'cors',
56
55
  headers: headers
57
56
  })).then(function (response) {
58
57
  return response.json();
59
- });
60
- case 3:
61
- return _context2.abrupt("return", _context2.sent);
62
- case 4:
58
+ }));
59
+ case 2:
63
60
  case "end":
64
61
  return _context2.stop();
65
62
  }
@@ -57,7 +57,7 @@ var addHeaders = exports.addHeaders = function addHeaders(headers) {
57
57
  headers.append('X-ExperimentalApi', 'teams-beta');
58
58
  headers.append('X-ExperimentalApi', 'team-members-beta');
59
59
  headers.append('atl-client-name', "@atlaskit/profilecard");
60
- headers.append('atl-client-version', "19.18.0");
60
+ headers.append('atl-client-version', "19.19.0");
61
61
  return headers;
62
62
  };
63
63
  function getTeamFromAGG(_x, _x2, _x3) {
@@ -1,19 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _analyticsNext = require("@atlaskit/analytics-next");
9
11
  var _primitives = require("@atlaskit/primitives");
10
12
  var _rovoAgentComponents = require("@atlaskit/rovo-agent-components");
13
+ var _analytics = require("../../util/analytics");
11
14
  var _LoadingState = _interopRequireDefault(require("../common/LoadingState"));
15
+ var _Error = require("../Error");
12
16
  var _Actions = require("./Actions");
13
17
  var _AgentProfileCardWrapper = require("./AgentProfileCardWrapper");
14
18
  var _ConversationStarters = require("./ConversationStarters");
15
19
  var _useAgentActions = require("./useAgentActions");
16
20
  var _useSetFavouriteAgent2 = require("./useSetFavouriteAgent");
21
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
23
  var styles = (0, _primitives.xcss)({
18
24
  paddingBlockStart: 'space.400',
19
25
  paddingInline: 'space.200'
@@ -36,7 +42,9 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
36
42
  cloudId = _ref.cloudId,
37
43
  onOpenChat = _ref.onOpenChat,
38
44
  _ref$product = _ref.product,
39
- product = _ref$product === void 0 ? 'rovo' : _ref$product;
45
+ product = _ref$product === void 0 ? 'rovo' : _ref$product,
46
+ hasError = _ref.hasError,
47
+ errorType = _ref.errorType;
40
48
  var _useAgentUrlActions = (0, _useAgentActions.useAgentUrlActions)({
41
49
  cloudId: cloudId || ''
42
50
  }),
@@ -44,16 +52,35 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
44
52
  _onCopyAgent = _useAgentUrlActions.onCopyAgent,
45
53
  _onDuplicateAgent = _useAgentUrlActions.onDuplicateAgent;
46
54
  var _useSetFavouriteAgent = (0, _useSetFavouriteAgent2.useSetFavouriteAgent)({
47
- agentId: agent.id,
48
- cloudId: cloudId || '',
49
- isStarred: agent.favourite,
55
+ agentId: agent === null || agent === void 0 ? void 0 : agent.id,
56
+ cloudId: cloudId,
57
+ isStarred: !!(agent !== null && agent !== void 0 && agent.favourite),
50
58
  product: product
51
59
  }),
52
60
  isStarred = _useSetFavouriteAgent.isStarred,
53
61
  setFavourite = _useSetFavouriteAgent.setFavourite;
62
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
63
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
64
+ var fireAnalytics = (0, _react.useCallback)(function (payload) {
65
+ if (createAnalyticsEvent) {
66
+ (0, _analytics.fireEvent)(createAnalyticsEvent, payload);
67
+ }
68
+ }, [createAnalyticsEvent]);
69
+ (0, _react.useEffect)(function () {
70
+ if (!isLoading && agent) {
71
+ fireAnalytics((0, _analytics.profileCardRendered)('agent', 'content'));
72
+ }
73
+ }, [agent, fireAnalytics, isLoading]);
54
74
  if (isLoading) {
55
75
  return /*#__PURE__*/_react.default.createElement(_AgentProfileCardWrapper.AgentProfileCardWrapper, null, /*#__PURE__*/_react.default.createElement(_LoadingState.default, {
56
- profileType: "agent"
76
+ profileType: "agent",
77
+ fireAnalytics: fireAnalytics
78
+ }));
79
+ }
80
+ if (hasError || !agent) {
81
+ return /*#__PURE__*/_react.default.createElement(_AgentProfileCardWrapper.AgentProfileCardWrapper, null, /*#__PURE__*/_react.default.createElement(_Error.ErrorMessage, {
82
+ errorType: errorType,
83
+ fireAnalytics: fireAnalytics
57
84
  }));
58
85
  }
59
86
  return /*#__PURE__*/_react.default.createElement(_AgentProfileCardWrapper.AgentProfileCardWrapper, null, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
@@ -71,6 +98,7 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
71
98
  agentName: agent.name,
72
99
  isStarred: isStarred,
73
100
  onStarToggle: setFavourite,
101
+ isHidden: agent.visibility === 'PRIVATE',
74
102
  creatorRender: ((_agent$creatorInfo = agent.creatorInfo) === null || _agent$creatorInfo === void 0 ? void 0 : _agent$creatorInfo.type) && /*#__PURE__*/_react.default.createElement(_rovoAgentComponents.AgentProfileCreator, {
75
103
  creator: {
76
104
  type: (_agent$creatorInfo2 = agent.creatorInfo) === null || _agent$creatorInfo2 === void 0 ? void 0 : _agent$creatorInfo2.type,
@@ -11,6 +11,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
11
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _react = _interopRequireWildcard(require("react"));
14
+ var _analyticsNext = require("@atlaskit/analytics-next");
15
+ var _analytics = require("../../util/analytics");
14
16
  var _rovoAgentUtils = require("../../util/rovoAgentUtils");
15
17
  var _ErrorMessage = _interopRequireDefault(require("../Error/ErrorMessage"));
16
18
  var _AgentProfileCardWrapper = require("./AgentProfileCardWrapper");
@@ -32,6 +34,13 @@ var AgentProfileCardResourced = exports.AgentProfileCardResourced = function Age
32
34
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
33
35
  error = _useState6[0],
34
36
  setError = _useState6[1];
37
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
38
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
39
+ var fireAnalytics = (0, _react.useCallback)(function (payload) {
40
+ if (createAnalyticsEvent) {
41
+ (0, _analytics.fireEvent)(createAnalyticsEvent, payload);
42
+ }
43
+ }, [createAnalyticsEvent]);
35
44
  var creatorUserId = (0, _react.useMemo)(function () {
36
45
  return (agentData === null || agentData === void 0 ? void 0 : agentData.creator_type) === 'CUSTOMER' && agentData.creator ? (0, _rovoAgentUtils.getAAIDFromARI)(agentData.creator) : '';
37
46
  }, [agentData === null || agentData === void 0 ? void 0 : agentData.creator_type, agentData === null || agentData === void 0 ? void 0 : agentData.creator]);
@@ -48,7 +57,7 @@ var AgentProfileCardResourced = exports.AgentProfileCardResourced = function Age
48
57
  return _context.abrupt("return", undefined);
49
58
  case 2:
50
59
  _context.t0 = creator_type;
51
- _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 11;
60
+ _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 19;
52
61
  break;
53
62
  case 5:
54
63
  return _context.abrupt("return", {
@@ -60,30 +69,45 @@ var AgentProfileCardResourced = exports.AgentProfileCardResourced = function Age
60
69
  name: creator !== null && creator !== void 0 ? creator : ''
61
70
  });
62
71
  case 7:
63
- _context.next = 9;
64
- return props.resourceClient.getProfile(creatorUserId || '', props.cloudId || '');
65
- case 9:
72
+ _context.prev = 7;
73
+ if (!(!creatorUserId || !props.cloudId)) {
74
+ _context.next = 10;
75
+ break;
76
+ }
77
+ return _context.abrupt("return", undefined);
78
+ case 10:
79
+ _context.next = 12;
80
+ return props.resourceClient.getProfile(creatorUserId, props.cloudId, fireAnalytics);
81
+ case 12:
66
82
  creatorInfo = _context.sent;
67
83
  return _context.abrupt("return", {
68
84
  type: 'CUSTOMER',
69
85
  name: creatorInfo.fullName,
70
- profileLink: "/people/".concat(creatorUserId)
86
+ profileLink: "/people/".concat(creatorUserId),
87
+ id: creatorUserId
71
88
  });
72
- case 11:
89
+ case 16:
90
+ _context.prev = 16;
91
+ _context.t1 = _context["catch"](7);
73
92
  return _context.abrupt("return", undefined);
74
- case 12:
93
+ case 19:
94
+ return _context.abrupt("return", undefined);
95
+ case 20:
75
96
  case "end":
76
97
  return _context.stop();
77
98
  }
78
- }, _callee);
99
+ }, _callee, null, [[7, 16]]);
79
100
  }));
80
101
  return function (_x, _x2) {
81
102
  return _ref.apply(this, arguments);
82
103
  };
83
- }(), [creatorUserId, props.cloudId, props.resourceClient]);
104
+ }(), [creatorUserId, fireAnalytics, props.cloudId, props.resourceClient]);
84
105
  var getAgentInfo = (0, _react.useCallback)(function () {
85
- return props.resourceClient.getRovoAgentProfile(props.agentId);
86
- }, [props.agentId, props.resourceClient]);
106
+ return props.resourceClient.getRovoAgentProfile({
107
+ type: 'identity',
108
+ value: props.accountId
109
+ }, fireAnalytics);
110
+ }, [fireAnalytics, props.accountId, props.resourceClient]);
87
111
  var fetchData = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
88
112
  var getAgentData, agentData;
89
113
  return _regenerator.default.wrap(function _callee3$(_context3) {
@@ -136,7 +160,7 @@ var AgentProfileCardResourced = exports.AgentProfileCardResourced = function Age
136
160
  setIsLoading(false);
137
161
  setError(error);
138
162
  }
139
- }, [fetchData, getAgentInfo, getCreator, props.agentId, props.cloudId, props.resourceClient]);
163
+ }, [fetchData, getAgentInfo, getCreator, props.accountId, props.cloudId, props.resourceClient]);
140
164
  if (error || !isLoading && !agentData) {
141
165
  return /*#__PURE__*/_react.default.createElement(_AgentProfileCardWrapper.AgentProfileCardWrapper, null, /*#__PURE__*/_react.default.createElement(_ErrorMessage.default, {
142
166
  reload: function reload() {
@@ -12,6 +12,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
12
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
13
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
+ var _analyticsNext = require("@atlaskit/analytics-next");
16
+ var _analytics = require("../../util/analytics");
15
17
  var _rovoAgentUtils = require("../../util/rovoAgentUtils");
16
18
  var _ProfileCardTrigger = _interopRequireDefault(require("../common/ProfileCardTrigger"));
17
19
  var _lazyAgentProfileCard = require("./lazyAgentProfileCard");
@@ -29,6 +31,13 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
29
31
  var resourceClient = props.resourceClient,
30
32
  userId = props.userId,
31
33
  cloudId = props.cloudId;
34
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
35
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
36
+ var fireAnalytics = (0, _react.useCallback)(function (payload) {
37
+ if (createAnalyticsEvent) {
38
+ (0, _analytics.fireEvent)(createAnalyticsEvent, payload);
39
+ }
40
+ }, [createAnalyticsEvent]);
32
41
  var getCreator = /*#__PURE__*/function () {
33
42
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(creator_type, creator) {
34
43
  var _userId, creatorInfo;
@@ -42,7 +51,7 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
42
51
  return _context.abrupt("return", undefined);
43
52
  case 2:
44
53
  _context.t0 = creator_type;
45
- _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 12;
54
+ _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 20;
46
55
  break;
47
56
  case 5:
48
57
  return _context.abrupt("return", {
@@ -55,9 +64,16 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
55
64
  });
56
65
  case 7:
57
66
  _userId = (0, _rovoAgentUtils.getAAIDFromARI)(creator) || '';
58
- _context.next = 10;
59
- return props.resourceClient.getProfile(_userId, cloudId || '');
60
- case 10:
67
+ _context.prev = 8;
68
+ if (!(!_userId || !cloudId)) {
69
+ _context.next = 11;
70
+ break;
71
+ }
72
+ return _context.abrupt("return", undefined);
73
+ case 11:
74
+ _context.next = 13;
75
+ return props.resourceClient.getProfile(cloudId, _userId, fireAnalytics);
76
+ case 13:
61
77
  creatorInfo = _context.sent;
62
78
  return _context.abrupt("return", {
63
79
  type: 'CUSTOMER',
@@ -65,13 +81,17 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
65
81
  profileLink: "/people/".concat(_userId),
66
82
  id: _userId
67
83
  });
68
- case 12:
84
+ case 17:
85
+ _context.prev = 17;
86
+ _context.t1 = _context["catch"](8);
69
87
  return _context.abrupt("return", undefined);
70
- case 13:
88
+ case 20:
89
+ return _context.abrupt("return", undefined);
90
+ case 21:
71
91
  case "end":
72
92
  return _context.stop();
73
93
  }
74
- }, _callee);
94
+ }, _callee, null, [[8, 17]]);
75
95
  }));
76
96
  return function getCreator(_x, _x2) {
77
97
  return _ref2.apply(this, arguments);
@@ -84,7 +104,10 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
84
104
  while (1) switch (_context2.prev = _context2.next) {
85
105
  case 0:
86
106
  _context2.next = 2;
87
- return resourceClient.getRovoAgentProfile(userId);
107
+ return resourceClient.getRovoAgentProfile({
108
+ type: 'agent',
109
+ value: userId
110
+ }, fireAnalytics);
88
111
  case 2:
89
112
  agentInfo = _context2.sent;
90
113
  _context2.next = 5;
@@ -107,23 +130,25 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
107
130
  var renderProfileCard = function renderProfileCard(_ref4) {
108
131
  var _profileData$creatorI;
109
132
  var profileData = _ref4.profileData,
110
- isLoading = _ref4.isLoading;
111
- if (!profileData) {
112
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
113
- }
133
+ isLoading = _ref4.isLoading,
134
+ error = _ref4.error;
114
135
  return /*#__PURE__*/_react.default.createElement(_react.Suspense, {
115
136
  fallback: null
116
137
  }, /*#__PURE__*/_react.default.createElement(_lazyAgentProfileCard.AgentProfileCardLazy, {
117
138
  agent: profileData,
118
139
  isLoading: isLoading,
119
- isCreatedByViewingUser: ((_profileData$creatorI = profileData.creatorInfo) === null || _profileData$creatorI === void 0 ? void 0 : _profileData$creatorI.id) === viewingUserId,
140
+ hasError: !!error,
141
+ isCreatedByViewingUser: (profileData === null || profileData === void 0 || (_profileData$creatorI = profileData.creatorInfo) === null || _profileData$creatorI === void 0 ? void 0 : _profileData$creatorI.id) === viewingUserId,
120
142
  cloudId: props.cloudId,
121
- product: product
143
+ product: product,
144
+ errorType: error
122
145
  }));
123
146
  };
124
147
  return /*#__PURE__*/_react.default.createElement(_ProfileCardTrigger.default, (0, _extends2.default)({}, props, {
148
+ trigger: "hover",
125
149
  renderProfileCard: renderProfileCard,
126
- trigger: trigger,
127
- fetchProfile: fetchAgentProfile
150
+ fetchProfile: fetchAgentProfile,
151
+ fireAnalytics: fireAnalytics,
152
+ profileCardType: "agent"
128
153
  }));
129
154
  };
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _AgentProfileCardTrigger = require("./AgentProfileCardTrigger");
8
+ var _default = exports.default = _AgentProfileCardTrigger.AgentProfileCardTrigger;
@@ -29,15 +29,21 @@ var useSetFavouriteAgent = exports.useSetFavouriteAgent = function useSetFavouri
29
29
  return _regenerator.default.wrap(function _callee$(_context) {
30
30
  while (1) switch (_context.prev = _context.next) {
31
31
  case 0:
32
+ if (!(!agentId || !cloudId)) {
33
+ _context.next = 2;
34
+ break;
35
+ }
36
+ return _context.abrupt("return");
37
+ case 2:
32
38
  setIsLoading(true);
33
- _context.prev = 1;
39
+ _context.prev = 3;
34
40
  headers = (0, _rovoAgentUtils.createHeaders)(product, cloudId);
35
41
  if (!isFavourite) {
36
- _context.next = 8;
42
+ _context.next = 10;
37
43
  break;
38
44
  }
39
- _context.next = 6;
40
- return fetch(new Request("/agents/v1/".concat(agentId, "/favourite"), {
45
+ _context.next = 8;
46
+ return fetch(new Request("/gateway/api/assist/agents/v1/".concat(agentId, "/favourite"), {
41
47
  method: 'POST',
42
48
  credentials: 'include',
43
49
  mode: 'cors',
@@ -45,12 +51,12 @@ var useSetFavouriteAgent = exports.useSetFavouriteAgent = function useSetFavouri
45
51
  })).then(function () {
46
52
  setIsFavourite(true);
47
53
  });
48
- case 6:
49
- _context.next = 10;
50
- break;
51
54
  case 8:
52
- _context.next = 10;
53
- return fetch(new Request("/agents/v1/".concat(agentId, "/favourite"), {
55
+ _context.next = 12;
56
+ break;
57
+ case 10:
58
+ _context.next = 12;
59
+ return fetch(new Request("/gateway/api/assist/agents/v1/".concat(agentId, "/favourite"), {
54
60
  method: 'DELETE',
55
61
  credentials: 'include',
56
62
  mode: 'cors',
@@ -58,19 +64,19 @@ var useSetFavouriteAgent = exports.useSetFavouriteAgent = function useSetFavouri
58
64
  })).then(function () {
59
65
  setIsFavourite(false);
60
66
  });
61
- case 10:
67
+ case 12:
62
68
  setIsLoading(false);
63
- _context.next = 16;
69
+ _context.next = 18;
64
70
  break;
65
- case 13:
66
- _context.prev = 13;
67
- _context.t0 = _context["catch"](1);
71
+ case 15:
72
+ _context.prev = 15;
73
+ _context.t0 = _context["catch"](3);
68
74
  setIsLoading(false);
69
- case 16:
75
+ case 18:
70
76
  case "end":
71
77
  return _context.stop();
72
78
  }
73
- }, _callee, null, [[1, 13]]);
79
+ }, _callee, null, [[3, 15]]);
74
80
  }));
75
81
  return function setFavourite() {
76
82
  return _ref2.apply(this, arguments);
@@ -14,9 +14,10 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
14
14
  var _react = _interopRequireWildcard(require("react"));
15
15
  var _popup = _interopRequireDefault(require("@atlaskit/popup"));
16
16
  var _constants = require("@atlaskit/theme/constants");
17
+ var _analytics = require("../../util/analytics");
17
18
  var _useProfileInfo2 = require("../../util/useProfileInfo");
18
19
  var _PopupTrigger = require("./PopupTrigger");
19
- var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes"],
20
+ var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes", "profileCardType", "fireAnalytics"],
20
21
  _excluded2 = ["aria-expanded", "aria-haspopup"];
21
22
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
23
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -30,6 +31,8 @@ function ProfileCardTrigger(_ref) {
30
31
  renderProfileCard = _ref.renderProfileCard,
31
32
  fetchProfile = _ref.fetchProfile,
32
33
  disabledAriaAttributes = _ref.disabledAriaAttributes,
34
+ profileCardType = _ref.profileCardType,
35
+ fireAnalytics = _ref.fireAnalytics,
33
36
  popupProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
34
37
  var showDelay = _trigger === 'click' ? 0 : DELAY_MS_SHOW;
35
38
  var hideDelay = _trigger === 'click' ? 0 : DELAY_MS_HIDE;
@@ -44,6 +47,7 @@ function ProfileCardTrigger(_ref) {
44
47
  }),
45
48
  profileData = _useProfileInfo.profileData,
46
49
  isLoading = _useProfileInfo.isLoading,
50
+ error = _useProfileInfo.error,
47
51
  getProfileData = _useProfileInfo.getProfileData;
48
52
  (0, _react.useEffect)(function () {
49
53
  return function () {
@@ -69,14 +73,17 @@ function ProfileCardTrigger(_ref) {
69
73
  while (1) switch (_context.prev = _context.next) {
70
74
  case 0:
71
75
  if (visible) {
72
- _context.next = 4;
76
+ _context.next = 5;
73
77
  break;
74
78
  }
75
79
  _context.next = 3;
76
80
  return getProfileData === null || getProfileData === void 0 ? void 0 : getProfileData();
77
81
  case 3:
78
82
  setVisible(true);
79
- case 4:
83
+ if (fireAnalytics) {
84
+ fireAnalytics((0, _analytics.cardTriggered)(profileCardType, _trigger));
85
+ }
86
+ case 5:
80
87
  case "end":
81
88
  return _context.stop();
82
89
  }
@@ -87,7 +94,7 @@ function ProfileCardTrigger(_ref) {
87
94
  return _context2.stop();
88
95
  }
89
96
  }, _callee2);
90
- })), [showDelay, visible, getProfileData]);
97
+ })), [showDelay, visible, getProfileData, fireAnalytics, profileCardType, _trigger]);
91
98
  var onMouseEnter = (0, _react.useCallback)(function () {
92
99
  showProfilecard();
93
100
  }, [showProfilecard]);
@@ -118,7 +125,8 @@ function ProfileCardTrigger(_ref) {
118
125
  onFocus: showProfilecard
119
126
  }, renderProfileCard({
120
127
  profileData: profileData,
121
- isLoading: isLoading
128
+ isLoading: isLoading,
129
+ error: error
122
130
  }));
123
131
  }
124
132
  }));
@@ -73,7 +73,7 @@ var SimpleMockAgentClient = /*#__PURE__*/function (_RovoAgentCardClient) {
73
73
  }
74
74
  (0, _createClass2.default)(SimpleMockAgentClient, [{
75
75
  key: "makeRequest",
76
- value: function makeRequest(userId) {
76
+ value: function makeRequest(id, cloudId) {
77
77
  return Promise.resolve(_agentData.default);
78
78
  }
79
79
  }]);
@@ -35,7 +35,7 @@ var fireEvent = exports.fireEvent = function fireEvent(createAnalyticsEvent, bod
35
35
 
36
36
  var TEAM_SUBJECT = 'teamProfileCard';
37
37
  var USER_SUBJECT = 'profilecard';
38
- var RovoAgent = 'rovoAgenrProfilecard';
38
+ var AGENT_SUBJECT = 'rovoAgenrProfilecard';
39
39
  var createEvent = function createEvent(eventType, action, actionSubject, actionSubjectId) {
40
40
  var attributes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
41
41
  return {
@@ -45,14 +45,26 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
45
45
  actionSubjectId: actionSubjectId,
46
46
  attributes: _objectSpread(_objectSpread({
47
47
  packageName: "@atlaskit/profilecard",
48
- packageVersion: "19.18.0"
48
+ packageVersion: "19.19.0"
49
49
  }, attributes), {}, {
50
50
  firedAt: Math.round((0, _performance.getPageTime)())
51
51
  })
52
52
  };
53
53
  };
54
54
  var cardTriggered = exports.cardTriggered = function cardTriggered(type, method) {
55
- return createEvent('ui', 'triggered', type === 'user' ? USER_SUBJECT : TEAM_SUBJECT, undefined, {
55
+ var getActionSubject = function getActionSubject(type) {
56
+ switch (type) {
57
+ case 'user':
58
+ return USER_SUBJECT;
59
+ case 'team':
60
+ return TEAM_SUBJECT;
61
+ case 'agent':
62
+ return AGENT_SUBJECT;
63
+ default:
64
+ return 'user';
65
+ }
66
+ };
67
+ return createEvent('ui', 'triggered', getActionSubject(type), undefined, {
56
68
  method: method
57
69
  });
58
70
  };
@@ -84,5 +96,5 @@ var errorRetryClicked = exports.errorRetryClicked = function errorRetryClicked(a
84
96
  return createEvent('ui', 'clicked', TEAM_SUBJECT, 'errorRetry', attributes);
85
97
  };
86
98
  var agentRequestAnalytics = exports.agentRequestAnalytics = function agentRequestAnalytics(action, attributes) {
87
- return createEvent('operational', action, RovoAgent, 'request', attributes);
99
+ return createEvent('operational', action, AGENT_SUBJECT, 'request', attributes);
88
100
  };