touchstonejs-ui
Version:
React.js UI components for the TouchstoneJS platform http://touchstonejs.io
31 lines (24 loc) • 1.06 kB
JavaScript
;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var React = require('react/addons');
var Tappable = require('react-tappable');
var blacklist = require('blacklist');
var classnames = require('classnames');
module.exports = React.createClass({
displayName: 'Button',
propTypes: {
children: React.PropTypes.node.isRequired,
className: React.PropTypes.string,
type: React.PropTypes.oneOf(['default', 'info', 'primary', 'success', 'warning', 'danger'])
},
getDefaultProps: function getDefaultProps() {
return {
type: 'default'
};
},
render: function render() {
var className = classnames('Button', 'Button--' + this.props.type, this.props.className);
var props = blacklist(this.props, 'type');
return React.createElement(Tappable, _extends({}, props, { className: className, component: 'button' }));
}
});