UNPKG

react-bootstrap

Version:

Bootstrap 3 components build with React

58 lines (47 loc) 1.29 kB
"use strict"; /** @jsx React.DOM */ var React = require("./react-es6")["default"]; var classSet = require("./react-es6/lib/cx")["default"]; var BootstrapMixin = require("./BootstrapMixin")["default"]; var Button = React.createClass({displayName: 'Button', mixins: [BootstrapMixin], propTypes: { active: React.PropTypes.bool, disabled: React.PropTypes.bool, block: React.PropTypes.bool }, getDefaultProps: function () { return { bsClass: 'button', bsStyle: 'default', type: 'button' }; }, render: function () { var classes = this.getBsClassSet(); classes['active'] = this.props.active; classes['btn-block'] = this.props.block; var renderFuncName = this.props.href ? 'renderAnchor' : 'renderButton'; return this[renderFuncName](classes); }, renderAnchor: function (classes) { classes['disabled'] = this.props.disabled; return this.transferPropsTo( React.DOM.a( {className:classSet(classes), role:"button"}, this.props.children ) ); }, renderButton: function (classes) { return this.transferPropsTo( React.DOM.button( {className:classSet(classes)}, this.props.children ) ); } }); exports["default"] = Button;