UNPKG

@orfeas126/box-ui-elements

Version:
65 lines 2.55 kB
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } import * as React from 'react'; import classnames from 'classnames'; import { FormattedMessage } from 'react-intl'; import { Link } from '../../components/link'; import { COLLAB_GROUP_TYPE, COLLAB_PENDING_TYPE } from './constants'; import messages from './messages'; import CollaboratorAvatarItem from './CollaboratorAvatarItem'; import './CollaboratorListItem.scss'; const CollaboratorListItem = props => { const { index, trackingProps } = props; const { usernameProps, emailProps } = trackingProps; const { email, expiration, hasCustomAvatar, name, type, imageURL, isExternalCollab, profileURL, translatedRole, userID } = props.collaborator; const userOrGroupNameContent = type !== COLLAB_GROUP_TYPE ? /*#__PURE__*/React.createElement("div", { className: classnames('name', type) }, /*#__PURE__*/React.createElement(Link, _extends({ href: profileURL || `/profile/${userID}`, rel: "noopener", target: "_blank" }, usernameProps), name)) : /*#__PURE__*/React.createElement("div", { className: classnames('name', type) }, name); const emailContent = type !== COLLAB_GROUP_TYPE && email ? /*#__PURE__*/React.createElement("div", { className: "email" }, /*#__PURE__*/React.createElement(Link, _extends({ href: `mailto:${email}` }, emailProps), email)) : null; return /*#__PURE__*/React.createElement("li", null, /*#__PURE__*/React.createElement("div", { className: "collaborator-list-item" }, /*#__PURE__*/React.createElement("div", { className: "bdl-CollaboratorListItem-user user" }, /*#__PURE__*/React.createElement("div", { className: "info" }, userOrGroupNameContent, emailContent), /*#__PURE__*/React.createElement(CollaboratorAvatarItem, { allowBadging: true, avatarUrl: imageURL, email: email, expiration: expiration, hasCustomAvatar: hasCustomAvatar, id: index, isExternalCollab: isExternalCollab, name: name })), /*#__PURE__*/React.createElement("div", { className: "role" }, type === COLLAB_PENDING_TYPE ? /*#__PURE__*/React.createElement(FormattedMessage, messages.pendingCollabText) : translatedRole))); }; export default CollaboratorListItem; //# sourceMappingURL=CollaboratorListItem.js.map