accordion.tsx | Accordion AccordionItem AccordionTrigger AccordionContent | Animated expand/collapse sections |
alert-dialog.tsx | AlertDialog AlertDialogTrigger AlertDialogContent AlertDialogHeader AlertDialogFooter AlertDialogTitle AlertDialogDescription AlertDialogAction AlertDialogCancel | Critical confirmation modal; supports optional icon/media |
alert.tsx | Alert AlertTitle AlertDescription | Inline banner; variants: default destructive |
aspect-ratio.tsx | AspectRatio | Maintain aspect ratio for containers |
avatar.tsx | Avatar AvatarImage AvatarFallback AvatarBadge AvatarGroup AvatarGroupCount | Avatar with fallback initials; sizes: sm default lg; group stacking |
badge.tsx | Badge badgeVariants | Small label pill; variants: default secondary destructive outline ghost link |
breadcrumb.tsx | Breadcrumb BreadcrumbList BreadcrumbItem BreadcrumbLink BreadcrumbPage BreadcrumbSeparator BreadcrumbEllipsis | Page path navigation |
button-group.tsx | ButtonGroup ButtonGroupSeparator ButtonGroupText buttonGroupVariants | Adjacent buttons with merged borders; orientation h/v |
button.tsx | Button | See full section below |
calendar.tsx | Calendar CalendarDayButton | DayPicker calendar; month/year dropdowns; week numbers |
card.tsx | Card CardHeader CardTitle CardDescription CardContent CardFooter CardAction | Content container; CardAction for top-right slot |
checkbox.tsx | Checkbox | Styled checkbox with focus ring and aria-invalid support |
collapsible.tsx | Collapsible CollapsibleTrigger CollapsibleContent | Uncontrolled collapsible; minimal styling |
combobox.tsx | Combobox ComboboxInput ComboboxContent ComboboxList ComboboxItem ComboboxGroup ComboboxLabel ComboboxEmpty ComboboxSeparator ComboboxChips ComboboxChip ComboboxChipsInput ComboboxTrigger ComboboxValue useComboboxAnchor | Searchable select with multi-chip support |
context-menu.tsx | ContextMenu ContextMenuTrigger ContextMenuContent ContextMenuItem ContextMenuCheckboxItem ContextMenuRadioItem ContextMenuLabel ContextMenuSeparator ContextMenuShortcut ContextMenuSub ContextMenuSubTrigger ContextMenuSubContent ContextMenuRadioGroup | Right-click menu with submenus, shortcuts |
dialog.tsx | Dialog DialogTrigger DialogContent DialogHeader DialogFooter DialogTitle DialogDescription DialogClose | Centered modal; max-w-lg default |
direction.tsx | DirectionProvider useDirection | RTL/LTR context; wrap app or subtree |
drawer.tsx | Drawer DrawerTrigger DrawerContent DrawerHeader DrawerFooter DrawerTitle DrawerDescription DrawerClose | Slide-in from any side; 80vh default |
dropdown-menu.tsx | DropdownMenu DropdownMenuTrigger DropdownMenuContent DropdownMenuItem DropdownMenuCheckboxItem DropdownMenuRadioItem DropdownMenuRadioGroup DropdownMenuLabel DropdownMenuSeparator DropdownMenuShortcut DropdownMenuSub DropdownMenuSubTrigger DropdownMenuSubContent | Drop-down with radio/checkbox items and submenus |
empty.tsx | Empty EmptyHeader EmptyTitle EmptyDescription EmptyContent EmptyMedia | Empty-state container with icon, title, description, action slots |
field.tsx | Field FieldLabel FieldDescription FieldError FieldGroup FieldLegend FieldSeparator FieldSet FieldContent FieldTitle | Form field layout; orientation: vertical horizontal responsive |
form.tsx | Form FormField FormItem FormLabel FormControl FormDescription FormMessage useFormField | React Hook Form integration; auto error display |
hover-card.tsx | HoverCard HoverCardTrigger HoverCardContent | On-hover popover; w-64 default |
input-group.tsx | InputGroup InputGroupAddon InputGroupButton InputGroupText InputGroupInput InputGroupTextarea | Input with prefix/suffix addons; merged borders |
input-otp.tsx | InputOTP InputOTPGroup InputOTPSlot InputOTPSeparator | OTP input with individual character slots |
input.tsx | Input | Styled <input> |
item.tsx | Item ItemMedia ItemContent ItemActions ItemGroup ItemSeparator ItemTitle ItemDescription ItemHeader ItemFooter | Rich list item; variants: default outline muted; sizes: default sm |
kbd.tsx | Kbd KbdGroup | Keyboard shortcut key display |
label.tsx | Label | Radix Label primitive |
menubar.tsx | Menubar MenubarMenu MenubarTrigger MenubarContent MenubarItem MenubarCheckboxItem MenubarRadioItem MenubarRadioGroup MenubarSeparator MenubarLabel MenubarShortcut MenubarSub MenubarSubTrigger MenubarSubContent | Top app menu bar; h-9 default |
native-select.tsx | NativeSelect NativeSelectOptGroup NativeSelectOption | Native <select> with chevron overlay; sizes: sm default |
navigation-menu.tsx | NavigationMenu NavigationMenuList NavigationMenuItem NavigationMenuContent NavigationMenuTrigger NavigationMenuLink NavigationMenuViewport navigationMenuTriggerStyle | Horizontal nav with viewport flyout; RTL support |
pagination.tsx | Pagination PaginationContent PaginationItem PaginationLink PaginationPrevious PaginationNext PaginationEllipsis | Page navigation with active state |
popover.tsx | Popover PopoverTrigger PopoverContent PopoverAnchor PopoverHeader PopoverTitle PopoverDescription | Floating popover; w-72 default |
progress.tsx | Progress | Progress bar with value prop (0–100) |
radio-group.tsx | RadioGroup RadioGroupItem | Radio buttons with circular indicator |
resizable.tsx | ResizablePanelGroup ResizablePanel ResizableHandle | Draggable resizable panels |
scroll-area.tsx | ScrollArea ScrollBar | Scrollable container with custom scrollbar |
select.tsx | Select SelectTrigger SelectContent SelectItem SelectValue SelectGroup SelectLabel SelectSeparator | Radix Select; prefer over NativeSelect unless in a form |
separator.tsx | Separator | Horizontal/vertical divider; decorative prop |
sheet.tsx | Sheet SheetTrigger SheetContent SheetHeader SheetFooter SheetTitle SheetDescription SheetClose | Side panel from 4 directions |
sidebar.tsx | SidebarProvider Sidebar SidebarHeader SidebarContent SidebarFooter SidebarGroup SidebarGroupLabel SidebarGroupAction SidebarGroupContent SidebarMenu SidebarMenuItem SidebarMenuButton SidebarMenuAction SidebarMenuBadge SidebarMenuSub SidebarMenuSubItem SidebarMenuSubButton SidebarMenuSkeleton SidebarInput SidebarInset SidebarRail SidebarSeparator SidebarTrigger useSidebar | Full sidebar system; variants: sidebar floating inset; mobile sheet fallback |
skeleton.tsx | Skeleton | Pulse loading placeholder |
slider.tsx | Slider | Range slider; Radix primitive |
sonner.tsx | Toaster | Toast notifications; place once in root; call toast() from sonner |
spinner.tsx | Spinner | Animated loading spinner; size-4 default |
switch.tsx | Switch | Toggle on/off switch; Radix primitive |
table.tsx | Table TableHeader TableBody TableFooter TableHead TableRow TableCell TableCaption | Semantic table with scroll wrapper |
tabs.tsx | Tabs TabsList TabsTrigger TabsContent tabsListVariants | Tab navigation; TabsList variants: default line; orientation: horizontal vertical |
textarea.tsx | Textarea | Styled <textarea> |
toggle-group.tsx | ToggleGroup ToggleGroupItem | Group of toggle buttons with shared variant/size context |
toggle.tsx | Toggle toggleVariants | On/off toggle button; variants: default outline; sizes: default sm lg |
tooltip.tsx | Tooltip TooltipTrigger TooltipContent TooltipProvider | Hover tooltip; requires <TooltipProvider> ancestor |