import React, { PropTypes } from 'react'
import classNames from 'classnames'
import styles from './index.css'

const propTypes = {
  className: PropTypes.string,
  children: PropTypes.node,
  presetStyle: PropTypes.string,
}

const defaultProps = {
  className: '',
}

const Button = ({ className, children, presetStyle, ...other }) => {
  const buttonClassName = classNames({
    [styles.button]: presetStyle === undefined,
    [styles.primaryButton]: presetStyle === 'primary',
    [styles.ghostButton]: presetStyle === 'ghost',
  })

  return (
    <button {...other} className={`${buttonClassName} ${className}`}>
      {children}
    </button>
  )
}

Button.propTypes = propTypes
Button.defaultProps = defaultProps

export default Button
