// License: LGPL-3.0-or-later
const R = require('ramda')
const h = require('flimflam/h')

// example:
//  select({
//     name: 'contact'
//   , options: ['email', 'SMS', 'phone']
//   , placeholder: 'How would you like to be contacted'
//   , selected:  'email' 
//   })

const option = selected => o => 
  h('option', {props: {value: o, selected: selected && selected === o}}, o)

module.exports = obj => 
  h('select', {props: {name: obj.name}}
  , R.concat(
      [h('option', {props: {disabled: 'true', selected: obj.selected === undefined}}, obj.placeholder || 'Select One')]
    , R.map(option(obj.selected), obj.options)
    )
  )