@mskcc/carbon-react
Version:
Carbon react components for the MSKCC DSM
51 lines (47 loc) • 1.22 kB
JavaScript
/**
* MSKCC 2021, 2024
*/
import React__default from 'react';
import PropTypes from 'prop-types';
import cx from 'classnames';
/**
*
* TODO:
* Child for flexibility
*/
function HeaderNavItem(_ref) {
let {
as,
active,
className,
url,
children,
label,
urlPropName = 'href'
} = _ref;
const containerClassName = cx('msk-header-app-nav-li', className);
const navigationClass = cx('msk-header-app-nav-item', {
active: active
});
const linkProps = {
[urlPropName]: url,
className: navigationClass
};
const LinkComponent = as || 'a';
return /*#__PURE__*/React__default.createElement("li", {
className: containerClassName
}, !!children && children !== null ? children : /*#__PURE__*/React__default.createElement(LinkComponent, linkProps, /*#__PURE__*/React__default.createElement("span", {
className: "msk-header-app-nav-item-text"
}, label)));
}
HeaderNavItem.displayName = 'HeaderNavItem';
HeaderNavItem.propTypes = {
active: PropTypes.bool,
as: PropTypes.elementType,
children: PropTypes.node,
className: PropTypes.string,
label: PropTypes.node,
url: PropTypes.string,
urlPropName: PropTypes.string
};
export { HeaderNavItem };