import * as React from "react" import { View } from "@tarojs/components" import { cn } from "@/lib/utils" const RadioGroupContext = React.createContext<{ value?: string onValueChange?: (value: string) => void } | null>(null) const RadioGroup = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef & { value?: string onValueChange?: (value: string) => void defaultValue?: string } >(({ className, value: valueProp, defaultValue, onValueChange, ...props }, ref) => { const [valueState, setValueState] = React.useState(defaultValue) const value = valueProp !== undefined ? valueProp : valueState const handleValueChange = (newValue: string) => { if (valueProp === undefined) { setValueState(newValue) } onValueChange?.(newValue) } return ( ) }) RadioGroup.displayName = "RadioGroup" const RadioGroupItem = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef & { value: string } >(({ className, value, ...props }, ref) => { const context = React.useContext(RadioGroupContext) const checked = context?.value === value return ( context?.onValueChange?.(value)} {...props} /> ) }) RadioGroupItem.displayName = "RadioGroupItem" export { RadioGroup, RadioGroupItem }