Skip to content
Extraits de code Groupes Projets
button.js 1,28 ko
Newer Older
  • Learn to ignore specific revisions
  • import React from 'react';
    
    import PropTypes from 'prop-types';
    
    import classNames from 'classnames';
    
    export default class Button extends React.PureComponent {
    
      static propTypes = {
        text: PropTypes.node,
        onClick: PropTypes.func,
        disabled: PropTypes.bool,
        block: PropTypes.bool,
        secondary: PropTypes.bool,
        size: PropTypes.number,
    
        className: PropTypes.string,
    
        style: PropTypes.object,
    
        children: PropTypes.node,
    
        if (!this.props.disabled) {
    
          this.props.onClick(e);
    
      setRef = (c) => {
        this.node = c;
      }
    
      focus() {
        this.node.focus();
      }
    
    
    Eugen Rochko's avatar
    Eugen Rochko a validé
        const style = {
    
          padding: `0 ${this.props.size / 2.25}px`,
          height: `${this.props.size}px`,
    
          lineHeight: `${this.props.size}px`,
    
          ...this.props.style,
    
    Eugen Rochko's avatar
    Eugen Rochko a validé
        };
    
        const className = classNames('button', this.props.className, {
          'button-secondary': this.props.secondary,
          'button--block': this.props.block,
        });
    
    
            className={className}
    
            disabled={this.props.disabled}
            onClick={this.handleClick}
    
            ref={this.setRef}
    
            {this.props.text || this.props.children}
    
          </button>