'use client'; import { Radio as RadioPrimitive } from '@base-ui/react/radio'; import { RadioGroup as RadioGroupPrimitive } from '@base-ui/react/radio-group'; import * as React from 'react'; import { cn } from '@/lib/utils'; type RadioGroupItemProps = React.ComponentProps & { label?: React.ReactNode; labelClassName?: string; size?: 'md' | 'sm'; }; type RadioGroupProps = React.ComponentProps; function RadioGroupItem({ className, disabled, id, label, labelClassName, size, ...props }: RadioGroupItemProps) { const generatedLabelId = React.useId(); if (!label) { return ( ); } return ( {label} ); } function RadioGroupItemControl({ className, size = 'md', ...props }: RadioGroupItemProps) { return ( ); } function RadioGroupItemLabel({ className, disabled, ...props }: React.ComponentProps<'label'> & { disabled?: boolean }) { return ( // react-doctor-disable-next-line react-doctor/label-has-associated-control -- Base UI radios are not native inputs, so the label must wrap the control for click and screen-reader association