# All files / react/Radio index.jsx

100% Statements 5/5
100% Branches 0/0
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37

    1x
    3x
    3x

    1x

    1x

     import React from 'react'
    import cx from 'classnames'
    import PropTypes from 'prop-types'
    import styles from './styles.styl'

    const Radio = props => {
      const { className, value, name, label, error, ...restProps } = props
      return (
        <label
          className={cx(
            styles['c-input-radio'],
            {
              [styles['is-error']]: error
            },
            className
          )}
        >
          <input type="radio" value={value} name={name} {...restProps} />
          <span>{label}</span>
        </label>
      )
    }

    Radio.propTypes = {
      className: PropTypes.string,
      value: PropTypes.string.isRequired,
      name: PropTypes.string.isRequired,
      error: PropTypes.bool,
      label: PropTypes.string.isRequired
    }

    Radio.defaultProps = {
      error: false
    }

    export default Radio