@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
30 lines (27 loc) • 2.23 kB
JavaScript
import React from 'react';
import { CloseOutline } from '@carbon/react/icons';
import cx from 'classnames';
import Avatar from '../Avatar/Avatar.js';
import { prefix } from '../../internal/settings.js';
/*
IBM Confidential
694970X, 69497O0
© Copyright IBM Corp. 2022, 2024
*/
function MemberBar({ addUser, avatarProps = {}, avatarSrc, buttonClassName = "", buttonProps = {}, email, id, isDetail = false, isPartner = false, isUserNotAllowed = false, liProps = {}, name, notAllowedMessage = "This Partner User is not on the allow-list", removeUser, }) {
const avatarOpacity = isUserNotAllowed ? "0.8" : "1";
return (React.createElement("li", { ...liProps },
React.createElement("button", { className: cx(`${prefix}--bmrg-member-bar`, buttonClassName, {
[`${prefix}--bmrg-member-bar--detail`]: isDetail,
}), disabled: isUserNotAllowed, onClick: addUser && !isUserNotAllowed ? () => addUser(id) : removeUser ? () => removeUser(id) : undefined, type: "button", ...buttonProps },
React.createElement("div", { className: `${prefix}--bmrg-member-bar__user` },
React.createElement(Avatar, { src: avatarSrc, ...avatarProps, style: { opacity: avatarOpacity } }),
React.createElement("div", { className: `${prefix}--bmrg-member-bar__data`, style: { opacity: avatarOpacity } },
React.createElement("p", { className: `${prefix}--bmrg-member-bar__name` }, name),
React.createElement("p", { className: `${prefix}--bmrg-member-bar__email` }, email))),
(isPartner || removeUser || isUserNotAllowed) && (React.createElement("div", { className: `${prefix}--bmrg-member-bar__right-section` },
isPartner && React.createElement("p", { className: `${prefix}--bmrg-member-bar__partner-text` }, "Partner User"),
isUserNotAllowed && (React.createElement("p", { className: `${prefix}--bmrg-member-bar__partner-not-allowed-text` }, notAllowedMessage)),
removeUser && (React.createElement(CloseOutline, { size: 32, className: `${prefix}--bmrg-member-bar__close-icon`, title: "Remove user", "data-testid": "remove-user-button" })))))));
}
export { MemberBar as default };