UNPKG

@talend/react-bootstrap

Version:

Bootstrap 3 components built with React

81 lines (79 loc) 2.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor")); var _createChainedFunction = _interopRequireDefault(require("./utils/createChainedFunction")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const propTypes = { active: _propTypes.default.bool, disabled: _propTypes.default.bool, role: _propTypes.default.string, href: _propTypes.default.string, onClick: _propTypes.default.func, onSelect: _propTypes.default.func, eventKey: _propTypes.default.any }; const defaultProps = { active: false, disabled: false }; class NavItem extends _react.default.Component { constructor(props, context) { super(props, context); this.handleClick = this.handleClick.bind(this); } handleClick(e) { if (this.props.disabled) { e.preventDefault(); return; } if (this.props.onSelect) { this.props.onSelect(this.props.eventKey, e); } } render() { const { active, disabled, onClick, className, style, ...props } = this.props; delete props.onSelect; delete props.eventKey; // These are injected down by `<Nav>` for building `<SubNav>`s. delete props.activeKey; delete props.activeHref; if (!props.role) { if (props.href === '#') { props.role = 'button'; } } else if (props.role === 'tab') { props['aria-selected'] = active; } return /*#__PURE__*/(0, _jsxRuntime.jsx)("li", { role: "presentation", className: (0, _classnames.default)(className, { active, disabled }), style: style, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SafeAnchor.default, { ...props, disabled: disabled, onClick: (0, _createChainedFunction.default)(onClick, this.handleClick) }) }); } } NavItem.propTypes = propTypes; NavItem.defaultProps = defaultProps; var _default = exports.default = NavItem; //# sourceMappingURL=NavItem.js.map