'use client'; import { useStore } from '@tanstack/react-form'; import { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group'; import { Label } from '@/components/ui/label'; import { FieldDescription, FieldLabel } from '@/components/ui/field'; import { useFieldContext, FormFieldSet, FormFieldError, createFormField } from '@/components/ui/form-context'; type Option = { value: string; label: string }; interface RadioGroupFieldProps { label: string; description?: string; required?: boolean; options: Option[]; } export function RadioGroupField({ label, description, required, options }: RadioGroupFieldProps) { const field = useFieldContext(); const value = useStore(field.store, (s) => s.value) as string; return ( {label} {required && ' *'} {description && {description}} {options.map((opt) => (
))}
); } export const FormRadioGroupField = createFormField(RadioGroupField);