UNPKG

@boomerang-io/carbon-addons-boomerang-react

Version:
62 lines (59 loc) 2.9 kB
import React from 'react'; import { HeaderMenuItem as HeaderMenuItem$2 } from '@carbon/react'; import { ArrowRight } from '@carbon/react/icons'; import Avatar from '../Avatar/Avatar.js'; import cx from 'classnames'; import { prefix } from '../../internal/settings.js'; /* IBM Confidential 694970X, 69497O0 © Copyright IBM Corp. 2022, 2024 */ function HeaderMenuItem(props, ref) { if (props.type === "button") { const { icon, onClick, type, text, variant = "default", ...rest } = props; return (React.createElement(HeaderMenuItem$2 // eslint-disable-next-line no-script-url , { // eslint-disable-next-line no-script-url href: "javascript:void(0)", onClick: onClick, role: "menuitem", ref: ref, ...rest }, React.createElement("div", { className: `${prefix}--bmrg-header-menu-item__content ${variant === "danger" ? "--danger" : ""}` }, React.createElement("span", { className: `${prefix}--bmrg-header-menu-item__text` }, icon, text)))); } if (props.type === "link") { const { href, icon, kind, onClick, text, type, variant = "default", ...rest } = props; const externalProps = kind === "external" ? { target: "_blank", rel: "noopener noreferrer" } : {}; let linkTypeIcon; switch (kind) { case "external": break; case "internal": linkTypeIcon = React.createElement(ArrowRight, { title: "Opens link within same platform" }); break; // no-op } return (React.createElement(HeaderMenuItem$2, { href: href, ...externalProps, onClick: onClick, role: "menuitem", ref: ref, ...rest }, React.createElement("div", { className: cx(`${prefix}--bmrg-header-menu-item__content`, { "--danger": variant === "danger" }) }, React.createElement("span", { className: `${prefix}--bmrg-header-menu-item__text` }, icon, text), linkTypeIcon))); } if (props.type === "user") { const { icon, onClick = "default", src, type, userName, ...rest } = props; return ( // eslint-disable-next-line no-script-url React.createElement(HeaderMenuItem$2, { href: "javascript:void(0)", onClick: onClick, role: "menuitem", ref: ref, ...rest }, React.createElement("div", { className: `${prefix}--bmrg-header-menu-user` }, React.createElement(Avatar, { size: "medium", src: src, userName: userName }), React.createElement("p", { className: `${prefix}--bmrg-header-menu-user__name` }, " ", userName ? userName : "", " ")))); } return null; } var HeaderMenuItem$1 = React.forwardRef(HeaderMenuItem); export { HeaderMenuItem$1 as default };