UNPKG

@mskcc/carbon-react

Version:

Carbon react components for the MSKCC DSM

51 lines (47 loc) 1.22 kB
/** * 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 };