houdini/client/js/components/radios.js

24 lines
662 B
JavaScript
Raw Normal View History

const R = require('ramda')
const h = require('flimflam/h')
const uuid = require('uuid')
// example:
// radios('frequency', [
// {label: 'Monthly', checked: true}
// , {label: 'Quarterly'}
// , {label: 'Yearly'}
// ])
const radios = name => label => {
if(typeof label === 'string') label = {label: label}
const id = uuid.v1()
return h('div', [
h('input', {props: {type: 'radio', id, name: name, value: label.label, checked: label.checked}})
, h('label', {attrs: {for: id}},[h('span.sub.pl-1.font-weight-1', label.label)])
])
}
module.exports = (name, labels) =>
h('div.no-padding-last-child', R.map(radios(name), labels))