@atlaskit/profilecard 19.17.2 → 19.17.4

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 (52) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/client/RovoAgentCardClient.js +82 -0
  3. package/dist/cjs/client/getAgentInfo.js +80 -0
  4. package/dist/cjs/client/getTeamFromAGG.js +1 -1
  5. package/dist/cjs/components/Agent/AgentProfileCard.js +13 -0
  6. package/dist/cjs/components/Agent/AgentProfileCardTrigger.js +25 -0
  7. package/dist/cjs/components/Agent/lazyAgentProfileCard.js +17 -0
  8. package/dist/cjs/components/common/PopupTrigger.js +54 -0
  9. package/dist/cjs/components/common/ProfileCardTrigger.js +94 -0
  10. package/dist/cjs/components/common/types.js +5 -0
  11. package/dist/cjs/util/analytics.js +6 -2
  12. package/dist/es2019/client/RovoAgentCardClient.js +53 -0
  13. package/dist/es2019/client/getAgentInfo.js +29 -0
  14. package/dist/es2019/client/getTeamFromAGG.js +1 -1
  15. package/dist/es2019/components/Agent/AgentProfileCard.js +7 -0
  16. package/dist/es2019/components/Agent/AgentProfileCardTrigger.js +16 -0
  17. package/dist/es2019/components/Agent/lazyAgentProfileCard.js +3 -0
  18. package/dist/es2019/components/common/PopupTrigger.js +41 -0
  19. package/dist/es2019/components/common/ProfileCardTrigger.js +78 -0
  20. package/dist/es2019/components/common/types.js +1 -0
  21. package/dist/es2019/util/analytics.js +4 -2
  22. package/dist/esm/client/RovoAgentCardClient.js +76 -0
  23. package/dist/esm/client/getAgentInfo.js +72 -0
  24. package/dist/esm/client/getTeamFromAGG.js +1 -1
  25. package/dist/esm/components/Agent/AgentProfileCard.js +6 -0
  26. package/dist/esm/components/Agent/AgentProfileCardTrigger.js +18 -0
  27. package/dist/esm/components/Agent/lazyAgentProfileCard.js +5 -0
  28. package/dist/esm/components/common/PopupTrigger.js +44 -0
  29. package/dist/esm/components/common/ProfileCardTrigger.js +84 -0
  30. package/dist/esm/components/common/types.js +1 -0
  31. package/dist/esm/util/analytics.js +5 -1
  32. package/dist/types/client/RovoAgentCardClient.d.ts +9 -0
  33. package/dist/types/client/getAgentInfo.d.ts +3 -0
  34. package/dist/types/components/Agent/AgentProfileCard.d.ts +6 -0
  35. package/dist/types/components/Agent/AgentProfileCardTrigger.d.ts +3 -0
  36. package/dist/types/components/Agent/lazyAgentProfileCard.d.ts +4 -0
  37. package/dist/types/components/common/PopupTrigger.d.ts +8 -0
  38. package/dist/types/components/common/ProfileCardTrigger.d.ts +4 -0
  39. package/dist/types/components/common/types.d.ts +10 -0
  40. package/dist/types/types.d.ts +4 -0
  41. package/dist/types/util/analytics.d.ts +3 -0
  42. package/dist/types-ts4.5/client/RovoAgentCardClient.d.ts +9 -0
  43. package/dist/types-ts4.5/client/getAgentInfo.d.ts +3 -0
  44. package/dist/types-ts4.5/components/Agent/AgentProfileCard.d.ts +6 -0
  45. package/dist/types-ts4.5/components/Agent/AgentProfileCardTrigger.d.ts +3 -0
  46. package/dist/types-ts4.5/components/Agent/lazyAgentProfileCard.d.ts +4 -0
  47. package/dist/types-ts4.5/components/common/PopupTrigger.d.ts +8 -0
  48. package/dist/types-ts4.5/components/common/ProfileCardTrigger.d.ts +4 -0
  49. package/dist/types-ts4.5/components/common/types.d.ts +10 -0
  50. package/dist/types-ts4.5/types.d.ts +4 -0
  51. package/dist/types-ts4.5/util/analytics.d.ts +3 -0
  52. package/package.json +17 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/profilecard
2
2
 
3
+ ## 19.17.4
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 19.17.3
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 19.17.2
4
16
 
5
17
  ### Patch Changes
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _analytics = require("../util/analytics");
15
+ var _performance = require("../util/performance");
16
+ var _CachingClient2 = _interopRequireDefault(require("./CachingClient"));
17
+ var _errorUtils = require("./errorUtils");
18
+ var _getAgentInfo = require("./getAgentInfo");
19
+ 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; }
20
+ 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; }
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
22
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
23
+ var RovoAgentCardClient = exports.default = /*#__PURE__*/function (_CachingClient) {
24
+ (0, _inherits2.default)(RovoAgentCardClient, _CachingClient);
25
+ var _super = _createSuper(RovoAgentCardClient);
26
+ function RovoAgentCardClient(options) {
27
+ var _this;
28
+ (0, _classCallCheck2.default)(this, RovoAgentCardClient);
29
+ _this = _super.call(this, options);
30
+ _this.options = options;
31
+ return _this;
32
+ }
33
+ (0, _createClass2.default)(RovoAgentCardClient, [{
34
+ key: "makeRequest",
35
+ value: function makeRequest(agentId) {
36
+ if (!this.options.productIdentifier) {
37
+ throw new Error('Trying to fetch agents data with no specified config.productIdentifier');
38
+ }
39
+ return (0, _getAgentInfo.getAgentDetailsByAgentId)(agentId, this.options.productIdentifier);
40
+ }
41
+ }, {
42
+ key: "getProfile",
43
+ value: function getProfile(agentId, analytics) {
44
+ var _this2 = this;
45
+ if (!agentId) {
46
+ return Promise.reject(new Error('agentId is missing'));
47
+ }
48
+ var cache = this.getCachedProfile(agentId);
49
+ if (cache) {
50
+ return Promise.resolve(cache);
51
+ }
52
+ return new Promise(function (resolve, reject) {
53
+ var startTime = (0, _performance.getPageTime)();
54
+ if (analytics) {
55
+ analytics((0, _analytics.agentRequestAnalytics)('triggered'));
56
+ }
57
+ _this2.makeRequest(agentId).then(function (data) {
58
+ if (_this2.cache) {
59
+ _this2.setCachedProfile(agentId, data);
60
+ }
61
+ if (analytics) {
62
+ analytics((0, _analytics.agentRequestAnalytics)('succeeded', {
63
+ duration: (0, _performance.getPageTime)() - startTime,
64
+ gateway: true
65
+ }));
66
+ }
67
+ resolve(data);
68
+ }).catch(function (error) {
69
+ if (analytics) {
70
+ analytics((0, _analytics.agentRequestAnalytics)('failed', _objectSpread(_objectSpread({
71
+ duration: (0, _performance.getPageTime)() - startTime
72
+ }, (0, _errorUtils.getErrorAttributes)(error)), {}, {
73
+ gateway: true
74
+ })));
75
+ }
76
+ reject(error);
77
+ });
78
+ });
79
+ }
80
+ }]);
81
+ return RovoAgentCardClient;
82
+ }(_CachingClient2.default);
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getAgentDetailsByAgentId = getAgentDetailsByAgentId;
8
+ exports.getAgentDetailsByUserId = getAgentDetailsByUserId;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
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) {
24
+ return _getAgentDetailsByAgentId.apply(this, arguments);
25
+ }
26
+ function _getAgentDetailsByAgentId() {
27
+ _getAgentDetailsByAgentId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(agentId, product) {
28
+ var headers;
29
+ return _regenerator.default.wrap(function _callee$(_context) {
30
+ while (1) switch (_context.prev = _context.next) {
31
+ case 0:
32
+ headers = createHeaders(product);
33
+ _context.next = 3;
34
+ return fetch(new Request("assist/agents/v1/".concat(agentId), {
35
+ method: 'GET',
36
+ credentials: 'include',
37
+ mode: 'cors',
38
+ headers: headers
39
+ })).then(function (response) {
40
+ return response.json();
41
+ });
42
+ case 3:
43
+ return _context.abrupt("return", _context.sent);
44
+ case 4:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }, _callee);
49
+ }));
50
+ return _getAgentDetailsByAgentId.apply(this, arguments);
51
+ }
52
+ function getAgentDetailsByUserId(_x3, _x4) {
53
+ return _getAgentDetailsByUserId.apply(this, arguments);
54
+ }
55
+ function _getAgentDetailsByUserId() {
56
+ _getAgentDetailsByUserId = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(userId, product) {
57
+ var headers;
58
+ return _regenerator.default.wrap(function _callee2$(_context2) {
59
+ while (1) switch (_context2.prev = _context2.next) {
60
+ case 0:
61
+ headers = createHeaders(product);
62
+ _context2.next = 3;
63
+ return fetch(new Request("assist/agents/v1/accountid/".concat(userId), {
64
+ method: 'GET',
65
+ credentials: 'include',
66
+ mode: 'cors',
67
+ headers: headers
68
+ })).then(function (response) {
69
+ return response.json();
70
+ });
71
+ case 3:
72
+ return _context2.abrupt("return", _context2.sent);
73
+ case 4:
74
+ case "end":
75
+ return _context2.stop();
76
+ }
77
+ }, _callee2);
78
+ }));
79
+ return _getAgentDetailsByUserId.apply(this, arguments);
80
+ }
@@ -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.2");
60
+ headers.append('atl-client-version', "19.17.4");
61
61
  return headers;
62
62
  };
63
63
  function getTeamFromAGG(_x, _x2, _x3) {
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var AgentProfileCard = function AgentProfileCard(_ref) {
10
+ var agent = _ref.agent;
11
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "ROVO AGENT PROFILE CARD");
12
+ };
13
+ var _default = exports.default = AgentProfileCard;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AgentProfileCardTrigger = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _ProfileCardTrigger = _interopRequireDefault(require("../common/ProfileCardTrigger"));
12
+ var _lazyAgentProfileCard = require("./lazyAgentProfileCard");
13
+ var _excluded = ["trigger"];
14
+ var AgentProfileCardTrigger = exports.AgentProfileCardTrigger = function AgentProfileCardTrigger(_ref) {
15
+ var _ref$trigger = _ref.trigger,
16
+ trigger = _ref$trigger === void 0 ? 'hover' : _ref$trigger,
17
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
18
+ var renderProfileCard = function renderProfileCard() {
19
+ return /*#__PURE__*/_react.default.createElement(_lazyAgentProfileCard.AgentProfileCardLazy, null);
20
+ };
21
+ return /*#__PURE__*/_react.default.createElement(_ProfileCardTrigger.default, (0, _extends2.default)({}, props, {
22
+ renderProfileCard: renderProfileCard,
23
+ trigger: trigger
24
+ }));
25
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.AgentProfileCardLazy = void 0;
8
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
+ var _react = require("react");
10
+ 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); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != (0, _typeof2.default)(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; }
12
+ var AgentProfileCardLazy = exports.AgentProfileCardLazy = /*#__PURE__*/(0, _react.lazy)(function () {
13
+ return Promise.resolve().then(function () {
14
+ return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_lazy-agent-profilecard" */
15
+ './AgentProfileCard'));
16
+ });
17
+ });
@@ -0,0 +1,54 @@
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.PopupTrigger = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _excluded = ["children", "trigger", "forwardRef", "showProfilecard", "hideProfilecard", "ariaLabelledBy"];
13
+ 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); }
14
+ 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; }
15
+ var PopupTrigger = exports.PopupTrigger = function PopupTrigger(_ref) {
16
+ var children = _ref.children,
17
+ trigger = _ref.trigger,
18
+ forwardRef = _ref.forwardRef,
19
+ showProfilecard = _ref.showProfilecard,
20
+ hideProfilecard = _ref.hideProfilecard,
21
+ ariaLabelledBy = _ref.ariaLabelledBy,
22
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
23
+ var onMouseEnter = (0, _react.useCallback)(function () {
24
+ showProfilecard();
25
+ }, [showProfilecard]);
26
+ var onKeyPress = (0, _react.useCallback)(function (event) {
27
+ if (event.key === 'Enter' || event.key === ' ') {
28
+ event.preventDefault();
29
+ showProfilecard();
30
+ }
31
+ }, [showProfilecard]);
32
+ var onClick = (0, _react.useCallback)(function (event) {
33
+ // If the user clicks on the trigger then we don't want that click event to
34
+ // propagate out to parent containers. For example when clicking a mention
35
+ // lozenge in an inline-edit.
36
+ event.stopPropagation();
37
+ showProfilecard();
38
+ }, [showProfilecard]);
39
+ var containerListeners = (0, _react.useMemo)(function () {
40
+ return trigger === 'hover' ? {
41
+ onMouseEnter: onMouseEnter,
42
+ onMouseLeave: hideProfilecard,
43
+ onBlur: hideProfilecard,
44
+ onKeyPress: onKeyPress
45
+ } : {
46
+ onClick: onClick,
47
+ onKeyPress: onKeyPress
48
+ };
49
+ }, [hideProfilecard, onClick, onKeyPress, onMouseEnter, trigger]);
50
+ return /*#__PURE__*/_react.default.createElement("span", (0, _extends2.default)({}, props, containerListeners, {
51
+ ref: forwardRef,
52
+ "aria-labelledby": ariaLabelledBy
53
+ }), children);
54
+ };
@@ -0,0 +1,94 @@
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.default = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireWildcard(require("react"));
13
+ var _popup = _interopRequireDefault(require("@atlaskit/popup"));
14
+ var _constants = require("@atlaskit/theme/constants");
15
+ var _PopupTrigger = require("./PopupTrigger");
16
+ var _excluded = ["trigger", "ariaLabelledBy", "children", "renderProfileCard", "fetchProfile", "disabledAriaAttributes"],
17
+ _excluded2 = ["aria-expanded", "aria-haspopup"];
18
+ 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); }
19
+ 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; }
20
+ var DELAY_MS_SHOW = 800;
21
+ var DELAY_MS_HIDE = 200;
22
+ function ProfileCardTrigger(_ref) {
23
+ var _popupProps$autoFocus;
24
+ var _trigger = _ref.trigger,
25
+ ariaLabelledBy = _ref.ariaLabelledBy,
26
+ children = _ref.children,
27
+ renderProfileCard = _ref.renderProfileCard,
28
+ fetchProfile = _ref.fetchProfile,
29
+ disabledAriaAttributes = _ref.disabledAriaAttributes,
30
+ popupProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
31
+ var showDelay = _trigger === 'click' ? 0 : DELAY_MS_SHOW;
32
+ var hideDelay = _trigger === 'click' ? 0 : DELAY_MS_HIDE;
33
+ var showTimer = (0, _react.useRef)(0);
34
+ var hideTimer = (0, _react.useRef)(0);
35
+ var _useState = (0, _react.useState)(false),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ visible = _useState2[0],
38
+ setVisible = _useState2[1];
39
+ (0, _react.useEffect)(function () {
40
+ return function () {
41
+ clearTimeout(showTimer.current);
42
+ clearTimeout(hideTimer.current);
43
+ };
44
+ }, []);
45
+ var hideProfilecard = (0, _react.useCallback)(function () {
46
+ clearTimeout(showTimer.current);
47
+ clearTimeout(hideTimer.current);
48
+ hideTimer.current = window.setTimeout(function () {
49
+ setVisible(false);
50
+ }, hideDelay);
51
+ }, [hideDelay]);
52
+ var showProfilecard = (0, _react.useCallback)(function () {
53
+ clearTimeout(hideTimer.current);
54
+ clearTimeout(showTimer.current);
55
+ showTimer.current = window.setTimeout(function () {
56
+ if (!visible) {
57
+ void (fetchProfile === null || fetchProfile === void 0 ? void 0 : fetchProfile());
58
+ setVisible(true);
59
+ }
60
+ }, showDelay);
61
+ }, [showDelay, visible, fetchProfile]);
62
+ var onMouseEnter = (0, _react.useCallback)(function () {
63
+ showProfilecard();
64
+ }, [showProfilecard]);
65
+ return /*#__PURE__*/_react.default.createElement(_popup.default, (0, _extends2.default)({}, popupProps, {
66
+ isOpen: !!visible,
67
+ onClose: hideProfilecard,
68
+ shouldUseCaptureOnOutsideClick: true,
69
+ autoFocus: (_popupProps$autoFocus = popupProps.autoFocus) !== null && _popupProps$autoFocus !== void 0 ? _popupProps$autoFocus : _trigger === 'click',
70
+ zIndex: _constants.layers.modal(),
71
+ shouldFitContainer: false,
72
+ trigger: function trigger(triggerProps) {
73
+ var _ = triggerProps['aria-expanded'],
74
+ __ = triggerProps['aria-haspopup'],
75
+ restInnerProps = (0, _objectWithoutProperties2.default)(triggerProps, _excluded2);
76
+ return /*#__PURE__*/_react.default.createElement(_PopupTrigger.PopupTrigger, (0, _extends2.default)({}, disabledAriaAttributes ? restInnerProps : triggerProps, {
77
+ forwardRef: triggerProps.ref,
78
+ hideProfilecard: hideProfilecard,
79
+ showProfilecard: showProfilecard,
80
+ children: children,
81
+ ariaLabelledBy: ariaLabelledBy,
82
+ trigger: _trigger
83
+ }));
84
+ },
85
+ content: function content() {
86
+ return /*#__PURE__*/_react.default.createElement("div", {
87
+ onMouseEnter: onMouseEnter,
88
+ onMouseLeave: hideProfilecard,
89
+ onFocus: showProfilecard
90
+ }, renderProfileCard());
91
+ }
92
+ }));
93
+ }
94
+ var _default = exports.default = ProfileCardTrigger;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.userRequestAnalytics = exports.teamRequestAnalytics = exports.teamAvatarClicked = exports.reportingLinesClicked = exports.profileCardRendered = exports.moreMembersClicked = exports.moreActionsClicked = exports.fireEvent = exports.errorRetryClicked = exports.cardTriggered = exports.actionClicked = void 0;
7
+ exports.userRequestAnalytics = exports.teamRequestAnalytics = exports.teamAvatarClicked = exports.reportingLinesClicked = exports.profileCardRendered = exports.moreMembersClicked = exports.moreActionsClicked = exports.fireEvent = exports.errorRetryClicked = exports.cardTriggered = exports.agentRequestAnalytics = exports.actionClicked = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _performance = require("./performance");
10
10
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -35,6 +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
39
  var createEvent = function createEvent(eventType, action, actionSubject, actionSubjectId) {
39
40
  var attributes = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
40
41
  return {
@@ -44,7 +45,7 @@ var createEvent = function createEvent(eventType, action, actionSubject, actionS
44
45
  actionSubjectId: actionSubjectId,
45
46
  attributes: _objectSpread(_objectSpread({
46
47
  packageName: "@atlaskit/profilecard",
47
- packageVersion: "19.17.2"
48
+ packageVersion: "19.17.4"
48
49
  }, attributes), {}, {
49
50
  firedAt: Math.round((0, _performance.getPageTime)())
50
51
  })
@@ -81,4 +82,7 @@ var moreMembersClicked = exports.moreMembersClicked = function moreMembersClicke
81
82
  };
82
83
  var errorRetryClicked = exports.errorRetryClicked = function errorRetryClicked(attributes) {
83
84
  return createEvent('ui', 'clicked', TEAM_SUBJECT, 'errorRetry', attributes);
85
+ };
86
+ var agentRequestAnalytics = exports.agentRequestAnalytics = function agentRequestAnalytics(action, attributes) {
87
+ return createEvent('operational', action, RovoAgent, 'request', attributes);
84
88
  };
@@ -0,0 +1,53 @@
1
+ import { agentRequestAnalytics } from '../util/analytics';
2
+ import { getPageTime } from '../util/performance';
3
+ import CachingClient from './CachingClient';
4
+ import { getErrorAttributes } from './errorUtils';
5
+ import { getAgentDetailsByAgentId } from './getAgentInfo';
6
+ export default class RovoAgentCardClient extends CachingClient {
7
+ constructor(options) {
8
+ super(options);
9
+ this.options = options;
10
+ }
11
+ makeRequest(agentId) {
12
+ if (!this.options.productIdentifier) {
13
+ throw new Error('Trying to fetch agents data with no specified config.productIdentifier');
14
+ }
15
+ return getAgentDetailsByAgentId(agentId, this.options.productIdentifier);
16
+ }
17
+ getProfile(agentId, analytics) {
18
+ if (!agentId) {
19
+ return Promise.reject(new Error('agentId is missing'));
20
+ }
21
+ const cache = this.getCachedProfile(agentId);
22
+ if (cache) {
23
+ return Promise.resolve(cache);
24
+ }
25
+ return new Promise((resolve, reject) => {
26
+ const startTime = getPageTime();
27
+ if (analytics) {
28
+ analytics(agentRequestAnalytics('triggered'));
29
+ }
30
+ this.makeRequest(agentId).then(data => {
31
+ if (this.cache) {
32
+ this.setCachedProfile(agentId, data);
33
+ }
34
+ if (analytics) {
35
+ analytics(agentRequestAnalytics('succeeded', {
36
+ duration: getPageTime() - startTime,
37
+ gateway: true
38
+ }));
39
+ }
40
+ resolve(data);
41
+ }).catch(error => {
42
+ if (analytics) {
43
+ analytics(agentRequestAnalytics('failed', {
44
+ duration: getPageTime() - startTime,
45
+ ...getErrorAttributes(error),
46
+ gateway: true
47
+ }));
48
+ }
49
+ reject(error);
50
+ });
51
+ });
52
+ }
53
+ }
@@ -0,0 +1,29 @@
1
+ const createHeaders = product => {
2
+ const config = {
3
+ headers: {
4
+ 'x-product': product,
5
+ 'x-experience-id': 'profile-card'
6
+ }
7
+ };
8
+ return new Headers({
9
+ ...(config.headers || {})
10
+ });
11
+ };
12
+ export async function getAgentDetailsByAgentId(agentId, product) {
13
+ const headers = createHeaders(product);
14
+ return await fetch(new Request(`assist/agents/v1/${agentId}`, {
15
+ method: 'GET',
16
+ credentials: 'include',
17
+ mode: 'cors',
18
+ headers
19
+ })).then(response => response.json());
20
+ }
21
+ export async function getAgentDetailsByUserId(userId, product) {
22
+ const headers = createHeaders(product);
23
+ return await fetch(new Request(`assist/agents/v1/accountid/${userId}`, {
24
+ method: 'GET',
25
+ credentials: 'include',
26
+ mode: 'cors',
27
+ headers
28
+ })).then(response => response.json());
29
+ }
@@ -67,7 +67,7 @@ export const addHeaders = headers => {
67
67
  headers.append('X-ExperimentalApi', 'teams-beta');
68
68
  headers.append('X-ExperimentalApi', 'team-members-beta');
69
69
  headers.append('atl-client-name', "@atlaskit/profilecard");
70
- headers.append('atl-client-version', "19.17.2");
70
+ headers.append('atl-client-version', "19.17.4");
71
71
  return headers;
72
72
  };
73
73
  export async function getTeamFromAGG(url, teamId, siteId) {
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ const AgentProfileCard = ({
3
+ agent
4
+ }) => {
5
+ return /*#__PURE__*/React.createElement(React.Fragment, null, "ROVO AGENT PROFILE CARD");
6
+ };
7
+ export default AgentProfileCard;
@@ -0,0 +1,16 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React from 'react';
3
+ import ProfileCardTrigger from '../common/ProfileCardTrigger';
4
+ import { AgentProfileCardLazy } from './lazyAgentProfileCard';
5
+ export const AgentProfileCardTrigger = ({
6
+ trigger = 'hover',
7
+ ...props
8
+ }) => {
9
+ const renderProfileCard = () => {
10
+ return /*#__PURE__*/React.createElement(AgentProfileCardLazy, null);
11
+ };
12
+ return /*#__PURE__*/React.createElement(ProfileCardTrigger, _extends({}, props, {
13
+ renderProfileCard: renderProfileCard,
14
+ trigger: trigger
15
+ }));
16
+ };
@@ -0,0 +1,3 @@
1
+ import { lazy } from 'react';
2
+ export const AgentProfileCardLazy = /*#__PURE__*/lazy(() => import( /* webpackChunkName: "@atlaskit-internal_lazy-agent-profilecard" */
3
+ './AgentProfileCard'));
@@ -0,0 +1,41 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React, { useCallback, useMemo } from 'react';
3
+ export const PopupTrigger = ({
4
+ children,
5
+ trigger,
6
+ forwardRef,
7
+ showProfilecard,
8
+ hideProfilecard,
9
+ ariaLabelledBy,
10
+ ...props
11
+ }) => {
12
+ const onMouseEnter = useCallback(() => {
13
+ showProfilecard();
14
+ }, [showProfilecard]);
15
+ const onKeyPress = useCallback(event => {
16
+ if (event.key === 'Enter' || event.key === ' ') {
17
+ event.preventDefault();
18
+ showProfilecard();
19
+ }
20
+ }, [showProfilecard]);
21
+ const onClick = useCallback(event => {
22
+ // If the user clicks on the trigger then we don't want that click event to
23
+ // propagate out to parent containers. For example when clicking a mention
24
+ // lozenge in an inline-edit.
25
+ event.stopPropagation();
26
+ showProfilecard();
27
+ }, [showProfilecard]);
28
+ const containerListeners = useMemo(() => trigger === 'hover' ? {
29
+ onMouseEnter: onMouseEnter,
30
+ onMouseLeave: hideProfilecard,
31
+ onBlur: hideProfilecard,
32
+ onKeyPress: onKeyPress
33
+ } : {
34
+ onClick: onClick,
35
+ onKeyPress: onKeyPress
36
+ }, [hideProfilecard, onClick, onKeyPress, onMouseEnter, trigger]);
37
+ return /*#__PURE__*/React.createElement("span", _extends({}, props, containerListeners, {
38
+ ref: forwardRef,
39
+ "aria-labelledby": ariaLabelledBy
40
+ }), children);
41
+ };