Files
upstream-mirror 1416db152c
All checks were successful
Release / Create Version PR or Publish Stable Release (push) Has been skipped
Release / Publish Prerelease to NPM (push) Has been skipped
Monitor Registries / Monitor registry health (push) Has been skipped
snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 22:44:43 +05:00

48 lines
1.3 KiB
TypeScript

"use client"
import { cn } from "cn"
import {
composeRenderProps,
RadioGroup as RadioGroupPrimitive,
Radio as RadioPrimitive,
type RadioGroupProps,
type RadioProps,
} from "react-aria-components"
function RadioGroup({ className, ...props }: RadioGroupProps) {
return (
<RadioGroupPrimitive
data-slot="radio-group"
className={cn("cn-radio-group w-full", className)}
{...props}
/>
)
}
function RadioGroupItem({ className, children, ...props }: RadioProps) {
return (
<RadioPrimitive
data-slot="radio-group-item"
className={cn(
"cn-radio-group-item cn-radio-group-item-aria group/radio-group-item peer relative aspect-square shrink-0 border outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50",
className
)}
{...props}
>
{composeRenderProps(children, (children, { isSelected }) => (
<>
<span
data-slot="radio-group-indicator"
className="cn-radio-group-indicator"
>
{isSelected && <span className="cn-radio-group-indicator-icon" />}
</span>
{children}
</>
))}
</RadioPrimitive>
)
}
export { RadioGroup, RadioGroupItem }