UNPKG

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

Version:
72 lines (65 loc) 3.61 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var react = require('@carbon/react'); var icons = require('@carbon/react/icons'); var Avatar = require('../Avatar/Avatar.js'); var cx = require('classnames'); var settings = require('../../internal/settings.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); var cx__default = /*#__PURE__*/_interopDefault(cx); /* 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__default.default.createElement(react.HeaderMenuItem // 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__default.default.createElement("div", { className: `${settings.prefix}--bmrg-header-menu-item__content ${variant === "danger" ? "--danger" : ""}` }, React__default.default.createElement("span", { className: `${settings.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": linkTypeIcon = React__default.default.createElement(icons.Launch, { title: "Opens link in new tab" }); break; case "internal": linkTypeIcon = React__default.default.createElement(icons.ArrowRight, { title: "Opens link within same platform" }); break; // no-op } return (React__default.default.createElement(react.HeaderMenuItem, { href: href, ...externalProps, onClick: onClick, role: "menuitem", ref: ref, ...rest }, React__default.default.createElement("div", { className: cx__default.default(`${settings.prefix}--bmrg-header-menu-item__content`, { "--danger": variant === "danger" }) }, React__default.default.createElement("span", { className: `${settings.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__default.default.createElement(react.HeaderMenuItem, { href: "javascript:void(0)", onClick: onClick, role: "menuitem", ref: ref, ...rest }, React__default.default.createElement("div", { className: `${settings.prefix}--bmrg-header-menu-user` }, React__default.default.createElement(Avatar.default, { size: "medium", src: src, userName: userName }), React__default.default.createElement("p", { className: `${settings.prefix}--bmrg-header-menu-user__name` }, " ", userName ? userName : "", " ")))); } return null; } var HeaderMenuItem$1 = React__default.default.forwardRef(HeaderMenuItem); exports.default = HeaderMenuItem$1;