/* * Copyright (C) 2019 CZ.NIC z.s.p.o. (http://www.nic.cz/) * * This is free software, licensed under the GNU General Public License v3. * See /LICENSE for more information. */ import React from 'react'; import PropTypes from 'prop-types'; import {useUID} from 'react-uid'; import {formFieldsSize} from './constants'; RadioSet.propTypes = { /** Name attribute of the input HTML tag.*/ name: PropTypes.string.isRequired, /** RadioSet label .*/ label: PropTypes.string, /** Choices .*/ choices: PropTypes.arrayOf(PropTypes.shape({ /** Choice lable .*/ label: PropTypes.string.isRequired, /** Choice value .*/ value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired, })).isRequired, /** Initial value .*/ value: PropTypes.string, /** Help text message .*/ helpText: PropTypes.string, }; export function RadioSet({name, label, choices, value, helpText, ...props}) { const uid = useUID(); const radios = choices.map((choice, key) => ); return
{label ? : null} {radios} {helpText ? {helpText} : null}
; } Radio.propTypes = { label: PropTypes.string.isRequired, id: PropTypes.string.isRequired, helpText: PropTypes.string }; function Radio({label, id, helpText, ...props}) { return <>
{helpText ? {helpText} : null} }