You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
902 B

  1. import PureRenderMixin from 'react-addons-pure-render-mixin';
  2. const Button = React.createClass({
  3. propTypes: {
  4. text: React.PropTypes.string.isRequired,
  5. onClick: React.PropTypes.func,
  6. disabled: React.PropTypes.bool
  7. },
  8. mixins: [PureRenderMixin],
  9. handleClick (e) {
  10. if (!this.props.disabled) {
  11. this.props.onClick();
  12. }
  13. },
  14. render () {
  15. return (
  16. <button className='button' disabled={this.props.disabled} onClick={this.handleClick} style={{ display: 'inline-block', position: 'relative', boxSizing: 'border-box', textAlign: 'center', border: '10px none', color: '#fff', fontSize: '14px', fontWeight: '500', letterSpacing: '0', textTransform: 'uppercase', padding: '0 16px', height: '36px', cursor: 'pointer', lineHeight: '36px', borderRadius: '4px', textDecoration: 'none' }}>
  17. {this.props.text}
  18. </button>
  19. );
  20. }
  21. });
  22. export default Button;