UNPKG

@mskcc/carbon-react

Version:

Carbon react components for the MSKCC DSM

61 lines (53 loc) 1.83 kB
/** * MSKCC 2021, 2024 */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var React = require('react'); var PropTypes = require('prop-types'); var cx = require('classnames'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes); var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx); /** * * TODO: * Child for flexibility */ function HeaderNavItem(_ref) { let { as, active, className, url, children, label, urlPropName = 'href' } = _ref; const containerClassName = cx__default["default"]('msk-header-app-nav-li', className); const navigationClass = cx__default["default"]('msk-header-app-nav-item', { active: active }); const linkProps = { [urlPropName]: url, className: navigationClass }; const LinkComponent = as || 'a'; return /*#__PURE__*/React__default["default"].createElement("li", { className: containerClassName }, !!children && children !== null ? children : /*#__PURE__*/React__default["default"].createElement(LinkComponent, linkProps, /*#__PURE__*/React__default["default"].createElement("span", { className: "msk-header-app-nav-item-text" }, label))); } HeaderNavItem.displayName = 'HeaderNavItem'; HeaderNavItem.propTypes = { active: PropTypes__default["default"].bool, as: PropTypes__default["default"].elementType, children: PropTypes__default["default"].node, className: PropTypes__default["default"].string, label: PropTypes__default["default"].node, url: PropTypes__default["default"].string, urlPropName: PropTypes__default["default"].string }; exports.HeaderNavItem = HeaderNavItem;