astro-reactive-form/packages/form/components/controls/RadioGroup.astro
2022-10-28 19:48:26 +02:00

36 lines
612 B
Text

---
/**
* RADIO GROUP COMPONENT
*/
import type { Radio, ControlOption } from '@astro-reactive/common';
export interface Props {
control: Radio;
}
const { control } = Astro.props;
const options = control.options.map((option: string | ControlOption) => {
if (typeof option === 'string') {
return {
label: option,
value: option,
};
}
return option;
});
---
{
options.map((option: ControlOption) => (
<div class="radio-option">
<input
type="radio"
name={control.name}
value={option.value}
checked={option.value === control.value}
/>{' '}
{option.label}
</div>
))
}