@mskcc/carbon-react
Version:
Carbon react components for the MSKCC DSM
52 lines (48 loc) • 1.75 kB
JavaScript
/**
* MSKCC 2021, 2024
*/
import { extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
import React__default from 'react';
import PropTypes from 'prop-types';
import cx from 'classnames';
import { Icon } from '../../Icon/MskIcon.js';
var _Icon;
function HeaderName(_ref) {
let {
as: LinkComponent = 'a',
linkProps = {},
logoSrc,
children,
className
} = _ref;
const fallbackImg = 'https://cdn.jsdelivr.net/npm/@mskcc/fundamentals@latest/dist/logo/assets/logo-arrow-sans-medium-navy.svg';
const containerClassName = cx('msk-header-product', className);
const defaultProps = typeof LinkComponent === 'string' && LinkComponent === 'a' ? {
href: '/'
} : {};
return /*#__PURE__*/React__default.createElement("div", {
className: containerClassName
}, /*#__PURE__*/React__default.createElement(LinkComponent, _extends({}, defaultProps, linkProps, {
className: cx('msk-header-product-link', linkProps.className)
}), /*#__PURE__*/React__default.createElement("span", {
className: "msk-header--product-logo-container"
}, logoSrc ? /*#__PURE__*/React__default.createElement("img", {
alt: "msk header",
className: "msk-header-product-logo",
src: logoSrc || fallbackImg
}) : _Icon || (_Icon = /*#__PURE__*/React__default.createElement(Icon, {
icon: "msk",
className: "msk-header--product-logo"
}))), /*#__PURE__*/React__default.createElement("span", {
className: "msk-header-product-name"
}, children)));
}
HeaderName.displayName = 'HeaderName';
HeaderName.propTypes = {
as: PropTypes.elementType,
children: PropTypes.node,
className: PropTypes.string,
linkProps: PropTypes.object,
logoSrc: PropTypes.string
};
export { HeaderName };