trilium/apps/client/src/widgets/react/FormRadioGroup.tsx
2025-08-03 21:18:18 +03:00

30 lines
954 B
TypeScript

interface FormRadioProps {
name: string;
currentValue?: string;
values: {
value: string;
label: string;
}[];
onChange(newValue: string): void;
}
export default function FormRadioGroup({ name, values, currentValue, onChange }: FormRadioProps) {
return (
<>
{(values || []).map(({ value, label }) => (
<div className="form-check">
<label className="form-check-label tn-radio">
<input
className="form-check-input"
type="radio"
name={name}
value={value}
checked={value === currentValue}
onChange={e => onChange((e.target as HTMLInputElement).value)} />
{label}
</label>
</div>
))}
</>
);
}