import React from 'react'
import PropTypes from 'prop-types'
import { RadioGroup, RadioButton } from 'react-toolbox/lib/radio'
import theme from './theme.scss'

class RadioButtons extends React.Component {
  render () {
    let props = {...this.props}
    let radioButtonProps = props.radioButtonProps
    let radioButtonClassName = ''
    if (props.accent || props.secondary) {
      radioButtonClassName += theme.accent
      delete props.accent
      delete props.secondary
    }
    if (radioButtonProps && radioButtonProps.className) {
      radioButtonClassName += ' ' + radioButtonProps.className
    }
    delete props.radioButtonProps
    let radioButtons = []
    this.props.source.forEach((s, i) => {
      radioButtons.push(
        <RadioButton
          key={i}
          theme={theme}
          label={s.label}
          value={s.value}
          className={radioButtonClassName}
          {...radioButtonProps} />
      )
    })
    delete props.source
    return (
      <RadioGroup {...props}>
        {radioButtons}
      </RadioGroup>
    )
  }
}

RadioButtons.propTypes = {
  source: PropTypes.array.isRequired
}

export default RadioButtons
