UNPKG

react-bootstrap

Version:

Bootstrap 3 components build with React

47 lines (38 loc) 1.12 kB
/** @jsx React.DOM */ import React from './react-es6'; import classSet from './react-es6/lib/cx'; import BootstrapMixin from './BootstrapMixin'; import utils from './utils'; var Nav = React.createClass({ mixins: [BootstrapMixin], propTypes: { bsStyle: React.PropTypes.oneOf(['tabs','pills']).isRequired, bsVariation: React.PropTypes.oneOf(['stacked','justified']), onSelect: React.PropTypes.func }, getDefaultProps: function () { return { bsClass: 'nav' }; }, render: function () { var classes = this.getBsClassSet(); return this.transferPropsTo( <nav> <ul className={classSet(classes)}> {utils.modifyChildren(this.props.children, this.renderNavItem)} </ul> </nav> ); }, renderNavItem: function (child) { return utils.cloneWithProps( child, { isActive: this.props.activeKey != null ? child.props.key === this.props.activeKey : null, onSelect: utils.createChainedFunction(child.onSelect, this.props.onSelect) } ); } }); export default = Nav;