@boomerang-io/carbon-addons-boomerang-react
Version:
Carbon Addons for Boomerang apps
72 lines (65 loc) • 3.61 kB
JavaScript
'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;