@atlaskit/profilecard 19.17.7 → 19.18.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 (75) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/client/RovoAgentCardClient.js +6 -3
  3. package/dist/cjs/client/getAgentInfo.js +7 -18
  4. package/dist/cjs/client/getTeamFromAGG.js +1 -1
  5. package/dist/cjs/components/Agent/Actions.js +175 -0
  6. package/dist/cjs/components/Agent/AgentProfileCard.js +65 -7
  7. package/dist/cjs/components/Agent/AgentProfileCardResourced.js +10 -4
  8. package/dist/cjs/components/Agent/AgentProfileCardTrigger.js +27 -13
  9. package/dist/cjs/components/Agent/AgentProfileCardWrapper.js +1 -2
  10. package/dist/cjs/components/Agent/ConversationStarters.js +26 -0
  11. package/dist/cjs/components/Agent/useAgentActions.js +39 -0
  12. package/dist/cjs/components/Agent/useSetFavouriteAgent.js +85 -0
  13. package/dist/cjs/index.js +21 -0
  14. package/dist/cjs/util/analytics.js +1 -1
  15. package/dist/cjs/util/rovoAgentUtils.js +24 -0
  16. package/dist/cjs/util/url.js +20 -0
  17. package/dist/es2019/client/RovoAgentCardClient.js +6 -3
  18. package/dist/es2019/client/getAgentInfo.js +5 -15
  19. package/dist/es2019/client/getTeamFromAGG.js +1 -1
  20. package/dist/es2019/components/Agent/Actions.js +168 -0
  21. package/dist/es2019/components/Agent/AgentProfileCard.js +59 -8
  22. package/dist/es2019/components/Agent/AgentProfileCardResourced.js +9 -5
  23. package/dist/es2019/components/Agent/AgentProfileCardTrigger.js +17 -6
  24. package/dist/es2019/components/Agent/AgentProfileCardWrapper.js +1 -2
  25. package/dist/es2019/components/Agent/ConversationStarters.js +20 -0
  26. package/dist/es2019/components/Agent/useAgentActions.js +34 -0
  27. package/dist/es2019/components/Agent/useSetFavouriteAgent.js +45 -0
  28. package/dist/es2019/index.js +4 -0
  29. package/dist/es2019/util/analytics.js +1 -1
  30. package/dist/es2019/util/rovoAgentUtils.js +16 -0
  31. package/dist/es2019/util/url.js +9 -0
  32. package/dist/esm/client/RovoAgentCardClient.js +6 -3
  33. package/dist/esm/client/getAgentInfo.js +7 -18
  34. package/dist/esm/client/getTeamFromAGG.js +1 -1
  35. package/dist/esm/components/Agent/Actions.js +165 -0
  36. package/dist/esm/components/Agent/AgentProfileCard.js +66 -8
  37. package/dist/esm/components/Agent/AgentProfileCardResourced.js +11 -5
  38. package/dist/esm/components/Agent/AgentProfileCardTrigger.js +24 -13
  39. package/dist/esm/components/Agent/AgentProfileCardWrapper.js +1 -2
  40. package/dist/esm/components/Agent/ConversationStarters.js +19 -0
  41. package/dist/esm/components/Agent/useAgentActions.js +33 -0
  42. package/dist/esm/components/Agent/useSetFavouriteAgent.js +78 -0
  43. package/dist/esm/index.js +4 -0
  44. package/dist/esm/util/analytics.js +1 -1
  45. package/dist/esm/util/rovoAgentUtils.js +17 -0
  46. package/dist/esm/util/url.js +13 -0
  47. package/dist/types/client/RovoAgentCardClient.d.ts +1 -1
  48. package/dist/types/client/getAgentInfo.d.ts +2 -2
  49. package/dist/types/components/Agent/Actions.d.ts +11 -0
  50. package/dist/types/components/Agent/AgentProfileCard.d.ts +5 -1
  51. package/dist/types/components/Agent/AgentProfileCardResourced.d.ts +2 -0
  52. package/dist/types/components/Agent/AgentProfileCardTrigger.d.ts +2 -2
  53. package/dist/types/components/Agent/ConversationStarters.d.ts +3 -0
  54. package/dist/types/components/Agent/lazyAgentProfileCard.d.ts +5 -1
  55. package/dist/types/components/Agent/useAgentActions.d.ts +7 -0
  56. package/dist/types/components/Agent/useSetFavouriteAgent.d.ts +10 -0
  57. package/dist/types/index.d.ts +5 -1
  58. package/dist/types/types.d.ts +24 -3
  59. package/dist/types/util/rovoAgentUtils.d.ts +2 -0
  60. package/dist/types/util/url.d.ts +1 -0
  61. package/dist/types-ts4.5/client/RovoAgentCardClient.d.ts +1 -1
  62. package/dist/types-ts4.5/client/getAgentInfo.d.ts +2 -2
  63. package/dist/types-ts4.5/components/Agent/Actions.d.ts +11 -0
  64. package/dist/types-ts4.5/components/Agent/AgentProfileCard.d.ts +5 -1
  65. package/dist/types-ts4.5/components/Agent/AgentProfileCardResourced.d.ts +2 -0
  66. package/dist/types-ts4.5/components/Agent/AgentProfileCardTrigger.d.ts +2 -2
  67. package/dist/types-ts4.5/components/Agent/ConversationStarters.d.ts +3 -0
  68. package/dist/types-ts4.5/components/Agent/lazyAgentProfileCard.d.ts +5 -1
  69. package/dist/types-ts4.5/components/Agent/useAgentActions.d.ts +7 -0
  70. package/dist/types-ts4.5/components/Agent/useSetFavouriteAgent.d.ts +10 -0
  71. package/dist/types-ts4.5/index.d.ts +5 -1
  72. package/dist/types-ts4.5/types.d.ts +27 -3
  73. package/dist/types-ts4.5/util/rovoAgentUtils.d.ts +2 -0
  74. package/dist/types-ts4.5/util/url.d.ts +1 -0
  75. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/profilecard
2
2
 
3
+ ## 19.18.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#131601](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/131601)
8
+ [`ab382e4004e40`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/ab382e4004e40) -
9
+ [ux] Profile card added for Rovo agents
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 19.17.7
4
16
 
5
17
  ### Patch Changes
@@ -32,11 +32,11 @@ var RovoAgentCardClient = exports.default = /*#__PURE__*/function (_CachingClien
32
32
  }
33
33
  (0, _createClass2.default)(RovoAgentCardClient, [{
34
34
  key: "makeRequest",
35
- value: function makeRequest(agentId) {
35
+ value: function makeRequest(agentId, 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);
39
+ return (0, _getAgentInfo.getAgentDetailsByAgentId)(agentId, this.options.productIdentifier, cloudId);
40
40
  }
41
41
  }, {
42
42
  key: "getProfile",
@@ -45,6 +45,9 @@ var RovoAgentCardClient = exports.default = /*#__PURE__*/function (_CachingClien
45
45
  if (!agentId) {
46
46
  return Promise.reject(new Error('agentId is missing'));
47
47
  }
48
+ if (!this.options.cloudId) {
49
+ return Promise.reject(new Error('cloudId is missing'));
50
+ }
48
51
  var cache = this.getCachedProfile(agentId);
49
52
  if (cache) {
50
53
  return Promise.resolve(cache);
@@ -54,7 +57,7 @@ var RovoAgentCardClient = exports.default = /*#__PURE__*/function (_CachingClien
54
57
  if (analytics) {
55
58
  analytics((0, _analytics.agentRequestAnalytics)('triggered'));
56
59
  }
57
- _this2.makeRequest(agentId).then(function (data) {
60
+ _this2.makeRequest(agentId, _this2.options.cloudId || '').then(function (data) {
58
61
  if (_this2.cache) {
59
62
  _this2.setCachedProfile(agentId, data);
60
63
  }
@@ -8,28 +8,17 @@ exports.getAgentDetailsByAgentId = getAgentDetailsByAgentId;
8
8
  exports.getAgentDetailsByUserId = getAgentDetailsByUserId;
9
9
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
- 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
- var createHeaders = function createHeaders(product) {
15
- var config = {
16
- headers: {
17
- 'x-product': product,
18
- 'x-experience-id': 'profile-card'
19
- }
20
- };
21
- return new Headers(_objectSpread({}, config.headers || {}));
22
- };
23
- function getAgentDetailsByAgentId(_x, _x2) {
11
+ var _rovoAgentUtils = require("../util/rovoAgentUtils");
12
+ function getAgentDetailsByAgentId(_x, _x2, _x3) {
24
13
  return _getAgentDetailsByAgentId.apply(this, arguments);
25
14
  }
26
15
  function _getAgentDetailsByAgentId() {
27
- _getAgentDetailsByAgentId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(agentId, product) {
16
+ _getAgentDetailsByAgentId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(agentId, product, cloudId) {
28
17
  var headers;
29
18
  return _regenerator.default.wrap(function _callee$(_context) {
30
19
  while (1) switch (_context.prev = _context.next) {
31
20
  case 0:
32
- headers = createHeaders(product);
21
+ headers = (0, _rovoAgentUtils.createHeaders)(product, cloudId);
33
22
  _context.next = 3;
34
23
  return fetch(new Request("assist/agents/v1/".concat(agentId), {
35
24
  method: 'GET',
@@ -49,16 +38,16 @@ function _getAgentDetailsByAgentId() {
49
38
  }));
50
39
  return _getAgentDetailsByAgentId.apply(this, arguments);
51
40
  }
52
- function getAgentDetailsByUserId(_x3, _x4) {
41
+ function getAgentDetailsByUserId(_x4, _x5, _x6) {
53
42
  return _getAgentDetailsByUserId.apply(this, arguments);
54
43
  }
55
44
  function _getAgentDetailsByUserId() {
56
- _getAgentDetailsByUserId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(userId, product) {
45
+ _getAgentDetailsByUserId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(userId, product, cloudId) {
57
46
  var headers;
58
47
  return _regenerator.default.wrap(function _callee2$(_context2) {
59
48
  while (1) switch (_context2.prev = _context2.next) {
60
49
  case 0:
61
- headers = createHeaders(product);
50
+ headers = (0, _rovoAgentUtils.createHeaders)(product, cloudId);
62
51
  _context2.next = 3;
63
52
  return fetch(new Request("assist/agents/v1/accountid/".concat(userId), {
64
53
  method: 'GET',
@@ -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.17.7");
60
+ headers.append('atl-client-version', "19.18.0");
61
61
  return headers;
62
62
  };
63
63
  function getTeamFromAGG(_x, _x2, _x3) {
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AgentActions = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireDefault(require("react"));
12
+ var _reactIntlNext = require("react-intl-next");
13
+ var _new = _interopRequireWildcard(require("@atlaskit/button/new"));
14
+ var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
15
+ var _showMoreHorizontalMore = _interopRequireDefault(require("@atlaskit/icon/core/migration/show-more-horizontal--more"));
16
+ var _primitives = require("@atlaskit/primitives");
17
+ var _rovoAgentComponents = require("@atlaskit/rovo-agent-components");
18
+ var _excluded = ["triggerRef"];
19
+ 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); }
20
+ 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; }
21
+ var chatToAgentButtonContainer = (0, _primitives.xcss)({
22
+ width: '100%'
23
+ });
24
+ var buttonStyles = (0, _primitives.xcss)({
25
+ borderRadius: '3px',
26
+ color: 'color.text',
27
+ backgroundColor: 'color.background.neutral',
28
+ ':hover': {
29
+ backgroundColor: 'color.background.neutral.hovered'
30
+ },
31
+ ':active': {
32
+ backgroundColor: 'color.background.neutral.pressed'
33
+ }
34
+ });
35
+ var chatToAgentButtonWrapper = (0, _primitives.xcss)({
36
+ display: 'flex',
37
+ justifyContent: 'center',
38
+ lineHeight: '20px',
39
+ padding: 'space.075',
40
+ fontWeight: '500'
41
+ });
42
+ var chatPillButtonInlineStyles = (0, _primitives.xcss)({
43
+ paddingInline: 'space.025'
44
+ });
45
+ var chatPillTextStyles = (0, _primitives.xcss)({
46
+ wordBreak: 'break-word',
47
+ textAlign: 'left',
48
+ whiteSpace: 'pre-wrap'
49
+ });
50
+ var chatPillIconWrapper = (0, _primitives.xcss)({
51
+ minWidth: '20px',
52
+ height: '20px'
53
+ });
54
+ var actopnsWrapperStyles = (0, _primitives.xcss)({
55
+ borderTop: '1px',
56
+ borderTopStyle: 'solid',
57
+ borderColor: 'color.border',
58
+ padding: 'space.200',
59
+ marginBlockStart: 'space.200',
60
+ color: 'color.text'
61
+ });
62
+ var buildAgentActions = function buildAgentActions(_ref) {
63
+ var onDuplicateAgent = _ref.onDuplicateAgent,
64
+ onCopyAgent = _ref.onCopyAgent;
65
+ return [{
66
+ text: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.actionDuplicate),
67
+ onClick: onDuplicateAgent
68
+ }, {
69
+ text: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.actionCopyLink),
70
+ onClick: onCopyAgent
71
+ }];
72
+ };
73
+ var buildAgentSettings = function buildAgentSettings(_ref2) {
74
+ var onEditAgent = _ref2.onEditAgent,
75
+ onDeleteAgent = _ref2.onDeleteAgent;
76
+ return [{
77
+ text: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.actionEdit),
78
+ onClick: onEditAgent
79
+ }, {
80
+ text: /*#__PURE__*/_react.default.createElement(_reactIntlNext.FormattedMessage, messages.actionDelete),
81
+ onClick: onDeleteAgent
82
+ }];
83
+ };
84
+ var AgentActions = exports.AgentActions = function AgentActions(_ref3) {
85
+ var isAgentCreatedByCurrentUser = _ref3.isAgentCreatedByCurrentUser,
86
+ onEditAgent = _ref3.onEditAgent,
87
+ onDeleteAgent = _ref3.onDeleteAgent,
88
+ onDuplicateAgent = _ref3.onDuplicateAgent,
89
+ onCopyAgent = _ref3.onCopyAgent,
90
+ onChatClick = _ref3.onChatClick;
91
+ var _useIntl = (0, _reactIntlNext.useIntl)(),
92
+ formatMessage = _useIntl.formatMessage;
93
+ var agentActions = buildAgentActions({
94
+ onDuplicateAgent: onDuplicateAgent,
95
+ onCopyAgent: onCopyAgent
96
+ });
97
+ var agentSetting = buildAgentSettings({
98
+ onEditAgent: onEditAgent,
99
+ onDeleteAgent: onDeleteAgent
100
+ });
101
+ return /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
102
+ space: "space.100",
103
+ xcss: actopnsWrapperStyles
104
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
105
+ xcss: [chatToAgentButtonContainer, buttonStyles]
106
+ }, /*#__PURE__*/_react.default.createElement(_new.default, {
107
+ shouldFitContainer: true,
108
+ onClick: onChatClick
109
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
110
+ xcss: chatToAgentButtonWrapper
111
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Inline, {
112
+ space: "space.050",
113
+ xcss: chatPillButtonInlineStyles
114
+ }, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
115
+ xcss: chatPillIconWrapper
116
+ }, /*#__PURE__*/_react.default.createElement(_rovoAgentComponents.ChatPillIcon, null)), /*#__PURE__*/_react.default.createElement(_primitives.Box, {
117
+ xcss: chatPillTextStyles
118
+ }, formatMessage(messages.actionChatToAgent)))))), /*#__PURE__*/_react.default.createElement(_dropdownMenu.default, {
119
+ trigger: function trigger(_ref4) {
120
+ var triggerRef = _ref4.triggerRef,
121
+ props = (0, _objectWithoutProperties2.default)(_ref4, _excluded);
122
+ return /*#__PURE__*/_react.default.createElement(_primitives.Box, {
123
+ xcss: buttonStyles
124
+ }, /*#__PURE__*/_react.default.createElement(_new.IconButton, (0, _extends2.default)({}, props, {
125
+ icon: _showMoreHorizontalMore.default,
126
+ label: "more",
127
+ ref: triggerRef
128
+ })));
129
+ },
130
+ placement: "bottom-end"
131
+ }, /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, null, agentActions.map(function (_ref5, idx) {
132
+ var text = _ref5.text,
133
+ onClick = _ref5.onClick;
134
+ return /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
135
+ key: idx,
136
+ onClick: onClick
137
+ }, text);
138
+ })), isAgentCreatedByCurrentUser && /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItemGroup, {
139
+ hasSeparator: true
140
+ }, agentSetting.map(function (_ref6, idx) {
141
+ var text = _ref6.text,
142
+ onClick = _ref6.onClick;
143
+ return /*#__PURE__*/_react.default.createElement(_dropdownMenu.DropdownItem, {
144
+ key: idx,
145
+ onClick: onClick
146
+ }, text);
147
+ }))));
148
+ };
149
+ var messages = (0, _reactIntlNext.defineMessages)({
150
+ actionChatToAgent: {
151
+ id: 'ptc-directory.agent-profile.action.dropdown.chat-to-agent.nonfinal',
152
+ defaultMessage: 'Chat to Agent',
153
+ description: 'Text for the "chat to agent" action to chat to the agent'
154
+ },
155
+ actionDelete: {
156
+ id: 'ptc-directory.agent-profile.action.dropdown.delete.nonfinal',
157
+ defaultMessage: 'Delete Agent',
158
+ description: 'Text for the "Delete" action to delete an agent'
159
+ },
160
+ actionEdit: {
161
+ id: 'ptc-directory.agent-profile.action.dropdown.edit.nonfinal',
162
+ defaultMessage: 'Edit Agent',
163
+ description: 'Text for the "Edit" action to edit an agent'
164
+ },
165
+ actionCopyLink: {
166
+ id: 'ptc-directory.agent-profile.action.dropdown.copy-link.nonfinal',
167
+ defaultMessage: 'Copy link',
168
+ description: 'Text for the Copy link of an agent'
169
+ },
170
+ actionDuplicate: {
171
+ id: 'ptc-directory.agent-profile.action.dropdown.duplicate.nonfinal',
172
+ defaultMessage: 'Duplicate Agent',
173
+ description: 'Text for the Duplicate Agent action to create a duplicate'
174
+ }
175
+ });
@@ -9,19 +9,48 @@ var _react = _interopRequireDefault(require("react"));
9
9
  var _primitives = require("@atlaskit/primitives");
10
10
  var _rovoAgentComponents = require("@atlaskit/rovo-agent-components");
11
11
  var _LoadingState = _interopRequireDefault(require("../common/LoadingState"));
12
+ var _Actions = require("./Actions");
12
13
  var _AgentProfileCardWrapper = require("./AgentProfileCardWrapper");
14
+ var _ConversationStarters = require("./ConversationStarters");
15
+ var _useAgentActions = require("./useAgentActions");
16
+ var _useSetFavouriteAgent2 = require("./useSetFavouriteAgent");
13
17
  var styles = (0, _primitives.xcss)({
14
- paddingBlock: 'space.0',
18
+ paddingBlockStart: 'space.400',
15
19
  paddingInline: 'space.200'
16
20
  });
21
+ var avatarStyles = (0, _primitives.xcss)({
22
+ position: 'absolute',
23
+ top: 'space.300',
24
+ left: 'space.200'
25
+ });
17
26
  var cardContainerStyles = (0, _primitives.xcss)({
18
27
  borderRadius: 'border.radius.200',
19
- boxShadow: 'elevation.shadow.overlay'
28
+ boxShadow: 'elevation.shadow.overlay',
29
+ position: 'relative'
20
30
  });
21
31
  var AgentProfileCard = function AgentProfileCard(_ref) {
22
32
  var _agent$creatorInfo, _agent$creatorInfo2, _agent$creatorInfo3, _agent$creatorInfo4;
23
33
  var agent = _ref.agent,
24
- isLoading = _ref.isLoading;
34
+ isLoading = _ref.isLoading,
35
+ isCreatedByViewingUser = _ref.isCreatedByViewingUser,
36
+ cloudId = _ref.cloudId,
37
+ onOpenChat = _ref.onOpenChat,
38
+ _ref$product = _ref.product,
39
+ product = _ref$product === void 0 ? 'rovo' : _ref$product;
40
+ var _useAgentUrlActions = (0, _useAgentActions.useAgentUrlActions)({
41
+ cloudId: cloudId || ''
42
+ }),
43
+ _onEditAgent = _useAgentUrlActions.onEditAgent,
44
+ _onCopyAgent = _useAgentUrlActions.onCopyAgent,
45
+ _onDuplicateAgent = _useAgentUrlActions.onDuplicateAgent;
46
+ var _useSetFavouriteAgent = (0, _useSetFavouriteAgent2.useSetFavouriteAgent)({
47
+ agentId: agent.id,
48
+ cloudId: cloudId || '',
49
+ isStarred: agent.favourite,
50
+ product: product
51
+ }),
52
+ isStarred = _useSetFavouriteAgent.isStarred,
53
+ setFavourite = _useSetFavouriteAgent.setFavourite;
25
54
  if (isLoading) {
26
55
  return /*#__PURE__*/_react.default.createElement(_AgentProfileCardWrapper.AgentProfileCardWrapper, null, /*#__PURE__*/_react.default.createElement(_LoadingState.default, {
27
56
  profileType: "agent"
@@ -29,13 +58,19 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
29
58
  }
30
59
  return /*#__PURE__*/_react.default.createElement(_AgentProfileCardWrapper.AgentProfileCardWrapper, null, /*#__PURE__*/_react.default.createElement(_primitives.Box, {
31
60
  xcss: cardContainerStyles
32
- }, /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
61
+ }, /*#__PURE__*/_react.default.createElement(_rovoAgentComponents.AgentBanner, {
62
+ height: 96
63
+ }), /*#__PURE__*/_react.default.createElement(_primitives.Box, {
64
+ xcss: avatarStyles
65
+ }, /*#__PURE__*/_react.default.createElement(_rovoAgentComponents.AgentAvatar, {
66
+ size: "xlarge"
67
+ })), /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
33
68
  space: "space.100",
34
69
  xcss: styles
35
70
  }, /*#__PURE__*/_react.default.createElement(_rovoAgentComponents.AgentProfileInfo, {
36
71
  agentName: agent.name,
37
- isStarred: agent.favourite,
38
- onStarToggle: function onStarToggle() {},
72
+ isStarred: isStarred,
73
+ onStarToggle: setFavourite,
39
74
  creatorRender: ((_agent$creatorInfo = agent.creatorInfo) === null || _agent$creatorInfo === void 0 ? void 0 : _agent$creatorInfo.type) && /*#__PURE__*/_react.default.createElement(_rovoAgentComponents.AgentProfileCreator, {
40
75
  creator: {
41
76
  type: (_agent$creatorInfo2 = agent.creatorInfo) === null || _agent$creatorInfo2 === void 0 ? void 0 : _agent$creatorInfo2.type,
@@ -50,6 +85,29 @@ var AgentProfileCard = function AgentProfileCard(_ref) {
50
85
  isLoading: false
51
86
  }),
52
87
  agentDescription: agent.description
53
- }))));
88
+ }), /*#__PURE__*/_react.default.createElement(_ConversationStarters.ConversationStarters, {
89
+ isAgentDefault: agent.is_default,
90
+ userDefinedConversationStarters: agent.user_defined_conversation_starters,
91
+ onConversationStarterClick: function onConversationStarterClick(conversationStarter) {
92
+ throw new Error('Function not implemented.');
93
+ }
94
+ })), /*#__PURE__*/_react.default.createElement(_Actions.AgentActions, {
95
+ isAgentCreatedByCurrentUser: isCreatedByViewingUser,
96
+ onEditAgent: function onEditAgent() {
97
+ return _onEditAgent(agent.id);
98
+ },
99
+ onCopyAgent: function onCopyAgent() {
100
+ return _onCopyAgent(agent.id);
101
+ },
102
+ onDuplicateAgent: function onDuplicateAgent() {
103
+ return _onDuplicateAgent(agent.id);
104
+ },
105
+ onDeleteAgent: function onDeleteAgent() {
106
+ throw new Error('Function not implemented.');
107
+ },
108
+ onChatClick: function onChatClick() {
109
+ return onOpenChat === null || onOpenChat === void 0 ? void 0 : onOpenChat(agent.id);
110
+ }
111
+ })));
54
112
  };
55
113
  var _default = exports.default = AgentProfileCard;
@@ -11,6 +11,7 @@ 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 _rovoAgentUtils = require("../../util/rovoAgentUtils");
14
15
  var _ErrorMessage = _interopRequireDefault(require("../Error/ErrorMessage"));
15
16
  var _AgentProfileCardWrapper = require("./AgentProfileCardWrapper");
16
17
  var _lazyAgentProfileCard = require("./lazyAgentProfileCard");
@@ -31,6 +32,9 @@ var AgentProfileCardResourced = exports.AgentProfileCardResourced = function Age
31
32
  _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
32
33
  error = _useState6[0],
33
34
  setError = _useState6[1];
35
+ var creatorUserId = (0, _react.useMemo)(function () {
36
+ return (agentData === null || agentData === void 0 ? void 0 : agentData.creator_type) === 'CUSTOMER' && agentData.creator ? (0, _rovoAgentUtils.getAAIDFromARI)(agentData.creator) : '';
37
+ }, [agentData === null || agentData === void 0 ? void 0 : agentData.creator_type, agentData === null || agentData === void 0 ? void 0 : agentData.creator]);
34
38
  var getCreator = (0, _react.useCallback)( /*#__PURE__*/function () {
35
39
  var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(creator_type, creator) {
36
40
  var creatorInfo;
@@ -57,13 +61,13 @@ var AgentProfileCardResourced = exports.AgentProfileCardResourced = function Age
57
61
  });
58
62
  case 7:
59
63
  _context.next = 9;
60
- return props.resourceClient.getProfile(creator, props.cloudId || '');
64
+ return props.resourceClient.getProfile(creatorUserId || '', props.cloudId || '');
61
65
  case 9:
62
66
  creatorInfo = _context.sent;
63
67
  return _context.abrupt("return", {
64
68
  type: 'CUSTOMER',
65
69
  name: creatorInfo.fullName,
66
- profileLink: "/people/".concat(creator)
70
+ profileLink: "/people/".concat(creatorUserId)
67
71
  });
68
72
  case 11:
69
73
  return _context.abrupt("return", undefined);
@@ -76,7 +80,7 @@ var AgentProfileCardResourced = exports.AgentProfileCardResourced = function Age
76
80
  return function (_x, _x2) {
77
81
  return _ref.apply(this, arguments);
78
82
  };
79
- }(), [props.cloudId, props.resourceClient]);
83
+ }(), [creatorUserId, props.cloudId, props.resourceClient]);
80
84
  var getAgentInfo = (0, _react.useCallback)(function () {
81
85
  return props.resourceClient.getRovoAgentProfile(props.agentId);
82
86
  }, [props.agentId, props.resourceClient]);
@@ -146,7 +150,9 @@ var AgentProfileCardResourced = exports.AgentProfileCardResourced = function Age
146
150
  return /*#__PURE__*/_react.default.createElement(_lazyAgentProfileCard.AgentProfileCardLazy, {
147
151
  agent: agentData,
148
152
  isLoading: isLoading,
149
- hasError: !!error
153
+ hasError: !!error,
154
+ isCreatedByViewingUser: creatorUserId === props.viewingUserId,
155
+ product: props.product
150
156
  });
151
157
  }
152
158
  return null;
@@ -1,6 +1,7 @@
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
  });
@@ -10,22 +11,27 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
10
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
13
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
- var _react = _interopRequireDefault(require("react"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _rovoAgentUtils = require("../../util/rovoAgentUtils");
14
16
  var _ProfileCardTrigger = _interopRequireDefault(require("../common/ProfileCardTrigger"));
15
17
  var _lazyAgentProfileCard = require("./lazyAgentProfileCard");
16
- var _excluded = ["trigger"];
18
+ var _excluded = ["trigger", "viewingUserId", "product"];
19
+ 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); }
20
+ 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
21
  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
22
  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; }
19
23
  var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
20
24
  var _ref$trigger = _ref.trigger,
21
25
  trigger = _ref$trigger === void 0 ? 'hover' : _ref$trigger,
26
+ viewingUserId = _ref.viewingUserId,
27
+ product = _ref.product,
22
28
  props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
23
29
  var resourceClient = props.resourceClient,
24
30
  userId = props.userId,
25
31
  cloudId = props.cloudId;
26
32
  var getCreator = /*#__PURE__*/function () {
27
33
  var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(creator_type, creator) {
28
- var creatorInfo;
34
+ var _userId, creatorInfo;
29
35
  return _regenerator.default.wrap(function _callee$(_context) {
30
36
  while (1) switch (_context.prev = _context.next) {
31
37
  case 0:
@@ -36,7 +42,7 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
36
42
  return _context.abrupt("return", undefined);
37
43
  case 2:
38
44
  _context.t0 = creator_type;
39
- _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 11;
45
+ _context.next = _context.t0 === 'SYSTEM' ? 5 : _context.t0 === 'THIRD_PARTY' ? 6 : _context.t0 === 'CUSTOMER' ? 7 : 12;
40
46
  break;
41
47
  case 5:
42
48
  return _context.abrupt("return", {
@@ -48,18 +54,20 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
48
54
  name: creator !== null && creator !== void 0 ? creator : ''
49
55
  });
50
56
  case 7:
51
- _context.next = 9;
52
- return props.resourceClient.getProfile(creator, cloudId || '');
53
- case 9:
57
+ _userId = (0, _rovoAgentUtils.getAAIDFromARI)(creator) || '';
58
+ _context.next = 10;
59
+ return props.resourceClient.getProfile(_userId, cloudId || '');
60
+ case 10:
54
61
  creatorInfo = _context.sent;
55
62
  return _context.abrupt("return", {
56
63
  type: 'CUSTOMER',
57
64
  name: creatorInfo.fullName,
58
- profileLink: "/people/".concat(creator)
65
+ profileLink: "/people/".concat(_userId),
66
+ id: _userId
59
67
  });
60
- case 11:
61
- return _context.abrupt("return", undefined);
62
68
  case 12:
69
+ return _context.abrupt("return", undefined);
70
+ case 13:
63
71
  case "end":
64
72
  return _context.stop();
65
73
  }
@@ -97,15 +105,21 @@ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentPr
97
105
  };
98
106
  }();
99
107
  var renderProfileCard = function renderProfileCard(_ref4) {
108
+ var _profileData$creatorI;
100
109
  var profileData = _ref4.profileData,
101
110
  isLoading = _ref4.isLoading;
102
111
  if (!profileData) {
103
112
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
104
113
  }
105
- return /*#__PURE__*/_react.default.createElement(_lazyAgentProfileCard.AgentProfileCardLazy, {
114
+ return /*#__PURE__*/_react.default.createElement(_react.Suspense, {
115
+ fallback: null
116
+ }, /*#__PURE__*/_react.default.createElement(_lazyAgentProfileCard.AgentProfileCardLazy, {
106
117
  agent: profileData,
107
- isLoading: isLoading
108
- });
118
+ isLoading: isLoading,
119
+ isCreatedByViewingUser: ((_profileData$creatorI = profileData.creatorInfo) === null || _profileData$creatorI === void 0 ? void 0 : _profileData$creatorI.id) === viewingUserId,
120
+ cloudId: props.cloudId,
121
+ product: product
122
+ }));
109
123
  };
110
124
  return /*#__PURE__*/_react.default.createElement(_ProfileCardTrigger.default, (0, _extends2.default)({}, props, {
111
125
  renderProfileCard: renderProfileCard,
@@ -8,8 +8,7 @@ exports.AgentProfileCardWrapper = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _primitives = require("@atlaskit/primitives");
10
10
  var styles = (0, _primitives.xcss)({
11
- width: '360px',
12
- borderRadius: '6px'
11
+ width: '360px'
13
12
  });
14
13
  var AgentProfileCardWrapper = exports.AgentProfileCardWrapper = function AgentProfileCardWrapper(_ref) {
15
14
  var children = _ref.children;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.ConversationStarters = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _primitives = require("@atlaskit/primitives");
10
+ var _rovoAgentComponents = require("@atlaskit/rovo-agent-components");
11
+ var ConversationStarters = exports.ConversationStarters = function ConversationStarters(_ref) {
12
+ var isAgentDefault = _ref.isAgentDefault,
13
+ onConversationStarterClick = _ref.onConversationStarterClick,
14
+ userDefinedConversationStarters = _ref.userDefinedConversationStarters;
15
+ var handleConversationStarterClick = function handleConversationStarterClick(conversationStarter) {
16
+ onConversationStarterClick(conversationStarter);
17
+ };
18
+ return /*#__PURE__*/_react.default.createElement(_primitives.Stack, {
19
+ space: "space.050",
20
+ alignInline: "start"
21
+ }, /*#__PURE__*/_react.default.createElement(_rovoAgentComponents.AgentConversationStarters, {
22
+ isAgentDefault: isAgentDefault,
23
+ onConversationStarterClick: handleConversationStarterClick,
24
+ userDefinedConversationStarters: userDefinedConversationStarters
25
+ }));
26
+ };
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAgentUrlActions = void 0;
7
+ var _react = require("react");
8
+ var _atlassianContext = require("@atlaskit/atlassian-context");
9
+ var _url = require("../../util/url");
10
+ var useAgentUrlActions = exports.useAgentUrlActions = function useAgentUrlActions(_ref) {
11
+ var cloudId = _ref.cloudId;
12
+ var onEditAgent = (0, _react.useCallback)(function (agentId) {
13
+ var url = "".concat((0, _atlassianContext.getATLContextUrl)('home'), "/chat/agents/").concat(agentId, "/edit?cloudId=").concat(cloudId);
14
+ window.open(url, '_blank', 'noopener, noreferrer');
15
+ }, [cloudId]);
16
+ var onCopyAgent = (0, _react.useCallback)(function (agentId) {
17
+ var baseUrl = "".concat((0, _atlassianContext.getATLContextUrl)('home'), "/chat");
18
+ var urlWithParams = (0, _url.encodeParamsToUrl)(baseUrl, {
19
+ cloudId: cloudId,
20
+ pathway: 'chat',
21
+ agentId: agentId
22
+ });
23
+ navigator.clipboard.writeText(urlWithParams);
24
+ }, [cloudId]);
25
+ var onDuplicateAgent = (0, _react.useCallback)(function (agentId) {
26
+ var baseUrl = "".concat((0, _atlassianContext.getATLContextUrl)('home'), "/chat/agents/new");
27
+ var urlWithParams = (0, _url.encodeParamsToUrl)(baseUrl, {
28
+ cloudId: cloudId,
29
+ pathway: 'agents-create',
30
+ agentId: agentId
31
+ });
32
+ window.open(urlWithParams, '_blank', 'noopener, noreferrer');
33
+ }, [cloudId]);
34
+ return {
35
+ onEditAgent: onEditAgent,
36
+ onCopyAgent: onCopyAgent,
37
+ onDuplicateAgent: onDuplicateAgent
38
+ };
39
+ };