radio-group
formscn/radio-groupFreeComponent
Radio Group component
Install it
npx shadcn@latest add https://formscn.space/r/radio-group.jsonSource
1import { Radio as RadioPrimitive } from "@base-ui/react/radio"2import { RadioGroup as RadioGroupPrimitive } from "@base-ui/react/radio-group"34import { cn } from "@/lib/utils"5import { CircleIcon } from "lucide-react"67function RadioGroup({ className, ...props }: RadioGroupPrimitive.Props) {8 return (9 <RadioGroupPrimitive10 data-slot="radio-group"11 className={cn("grid gap-2 w-full", className)}12 {...props}13 />14 )15}1617function RadioGroupItem({ className, ...props }: RadioPrimitive.Root.Props) {18 return (19 <RadioPrimitive.Root20 data-slot="radio-group-item"21 className={cn(22 "border-input text-primary dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 flex size-4 rounded-full focus-visible:ring-[3px] aria-invalid:ring-[3px] group/radio-group-item peer relative aspect-square shrink-0 border outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50",23 className24 )}25 {...props}26 >27 <RadioPrimitive.Indicator28 data-slot="radio-group-indicator"29 className="group-aria-invalid/radio-group-item:text-destructive text-primary flex size-4 items-center justify-center"30 >31 <CircleIcon className="absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 fill-current" />32 </RadioPrimitive.Indicator>33 </RadioPrimitive.Root>34 )35}3637export { RadioGroup, RadioGroupItem }
What it pulls in
npm packages
Files it writes
More from formscn
All 30 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| buttonbutton | formscn | Components | Free | 2 deps | |
| calendarcalendar | formscn | Components | Free | 2 deps | |
| cardcard | formscn | Components | Free | no deps | |
| checkboxcheckbox | formscn | Components | Free | 1 dep | |
| fieldfield | formscn | Components | Free | no deps | |
| inputinput | formscn | Components | Free | 1 dep | |
| labellabel | formscn | Components | Free | 2 deps | |
| phone-inputphone-input | formscn | Components | Free | 2 deps |
