Radio Group

Rich radio group variants for selecting plans, payment methods, team members, and more. Each variant provides a unique card-based selection experience.

Icon Simple

A list of selectable cards with icon, title, description, and radio indicator.

Icon Simple

Checkbox

Cards with a checkbox-style indicator, title, price, and description.

Checkbox

Payment Icon

Payment method selection with logos, card details, and radio indicator.

Payment Icon

Avatar

Team member selection with avatar, name, username, and role.

Avatar

Icon Card

A card grid with icon, pricing, description, and optional badge.

Icon Card

Usage

Import RadioGroups and use the desired variant.

tsx
import { RadioGroups } from "@/components/ui/RadioGroup";

// Icon Simple
<RadioGroups.IconSimple aria-label="Plans" defaultValue="basic" items={plans} />

// Checkbox
<RadioGroups.Checkbox aria-label="Plans" defaultValue="basic" items={plans} />

// Payment Icon
<RadioGroups.PaymentIcon aria-label="Payment" items={paymentCards} />

// Avatar
<RadioGroups.Avatar aria-label="Users" defaultValue="@olivia" items={people} />

// Icon Card
<RadioGroups.IconCard aria-label="Plans" defaultValue="basic" items={iconCardPlans} />

Shared Props

Props

PropTypeDefaultDescription
itemsarrayArray of option items (see variant-specific types).
defaultValuestringInitially selected value.
aria-labelstringAccessible label for the group.

Variants

Props

PropTypeDefaultDescription
RadioGroups.IconSimplecomponentList with icon, title, secondary title, description, radio indicator, optional badge.
RadioGroups.CheckboxcomponentList with checkbox indicator, title, price, description.
RadioGroups.PaymentIconcomponentList with payment logo, title, description, radio indicator.
RadioGroups.AvatarcomponentList with avatar image, name, username, title, radio indicator.
RadioGroups.IconCardcomponentCard grid with icon, title, price, description, radio indicator, optional badge.