UNPKG

react-bootstrap

Version:

Bootstrap 3 components build with React

52 lines (43 loc) 1.52 kB
define( ["./react-es6","./react-es6/lib/cx","./BootstrapMixin","./utils","exports"], function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __exports__) { "use strict"; /** @jsx React.DOM */ var React = __dependency1__["default"]; var classSet = __dependency2__["default"]; var BootstrapMixin = __dependency3__["default"]; var utils = __dependency4__["default"]; var Nav = React.createClass({displayName: 'Nav', 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( React.DOM.nav(null, React.DOM.ul( {className:classSet(classes)}, utils.modifyChildren(this.props.children, this.renderNavItem) ) ) ); }, 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) } ); } }); __exports__["default"] = Nav; });