react-bootstrap
Version:
Bootstrap 3 components build with React
33 lines (28 loc) • 828 B
JSX
var React = require('react');
var joinClasses = require('./utils/joinClasses');
var ValidComponentChildren = require('./utils/ValidComponentChildren');
var classSet = require('./utils/classSet');
var Badge = React.createClass({
propTypes: {
pullRight: React.PropTypes.bool
},
hasContent: function () {
return ValidComponentChildren.hasValidComponent(this.props.children) ||
(typeof this.props.children === 'string') ||
(typeof this.props.children === 'number')
},
render: function () {
var classes = {
'pull-right': this.props.pullRight,
'badge': this.hasContent()
};
return (
<span
{...this.props}
className={joinClasses(this.props.className, classSet(classes))}>
{this.props.children}
</span>
);
}
});
module.exports = Badge;