@orfeas126/box-ui-elements
Version:
Box UI Elements
65 lines • 2.55 kB
JavaScript
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