Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
parkpow
GitHub Repository: parkpow/deep-license-plate-recognition
Path: blob/master/gate-controller/components/ui/radio-group.tsx
1093 views
1
"use client"
2
3
import * as React from "react"
4
import * as RadioGroupPrimitive from "@radix-ui/react-radio-group"
5
import { CircleIcon } from "lucide-react"
6
7
import { cn } from "@/lib/utils"
8
9
function RadioGroup({
10
className,
11
...props
12
}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {
13
return (
14
<RadioGroupPrimitive.Root
15
data-slot="radio-group"
16
className={cn("grid gap-3", className)}
17
{...props}
18
/>
19
)
20
}
21
22
function RadioGroupItem({
23
className,
24
...props
25
}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {
26
return (
27
<RadioGroupPrimitive.Item
28
data-slot="radio-group-item"
29
className={cn(
30
"border-input text-primary 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:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
31
className
32
)}
33
{...props}
34
>
35
<RadioGroupPrimitive.Indicator
36
data-slot="radio-group-indicator"
37
className="relative flex items-center justify-center"
38
>
39
<CircleIcon className="fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" />
40
</RadioGroupPrimitive.Indicator>
41
</RadioGroupPrimitive.Item>
42
)
43
}
44
45
export { RadioGroup, RadioGroupItem }
46
47