Components
All 20 components. Click any card for live previews + source + accessibility notes.
Button
Detailed →A clickable button with appearance and size variants.
Input
Detailed →A styled text input with focus ring and disabled state.
Textarea
Detailed →A multi-line text input matching Input styling.
Label
Detailed →A form label with proper for/htmlFor accessibility wiring.
Card
Detailed →A container with header, title, description, content, and footer sub-components.
Badge
Detailed →A compact label for status, counts, and metadata.
Separator
Detailed →A visual divider with horizontal or vertical orientation.
Alert
Detailed →A box that displays a callout message with optional title and description.
Avatar
Detailed →A user avatar with image and a text/initials fallback.
Checkbox
Detailed →Accessible checkbox powered by Zag.js with focus ring and disabled state.
Switch
Detailed →Toggle switch powered by Zag.js, accessible via keyboard.
Select
Detailed →Accessible custom select with keyboard navigation, powered by Zag.js.
Dialog
Detailed →Modal dialog with focus trap, Escape dismiss, click-outside dismiss, and portal.
Drawer
Detailed →Side-anchored dialog (top/right/bottom/left). Shares the dialog state machine and controller.
Tooltip
Detailed →Floating hint anchored to a trigger. Opens on hover + focus, closes on leave + Escape.
Popover
Detailed →Floating panel anchored to a trigger. Opens on click; click-outside and Escape dismiss.
Dropdown Menu
Detailed →Floating menu with keyboard navigation, type-ahead, and click/Escape dismiss.
Toast
Detailed →Notification toaster + Toast. Sonner-style stacking, group pause-on-hover, swipe-to-dismiss, Turbo-Stream friendly.
Tabs
Detailed →Accessible tabs with keyboard arrow navigation, automatic and manual activation.
Accordion
Detailed →Accessible accordion with single/multiple open modes and keyboard navigation.
Toggle
Detailed →Pressable toggle button with on/off state.
Radio Group
Detailed →Group of radio inputs with keyboard navigation.
Toggle Group
Detailed →Group of toggle buttons with single or multiple selection.
Slider
Detailed →Value picker with single thumb, range mode, and vertical orientation.
Combobox
Detailed →Input with autocomplete dropdown. Static items only in v0.6.
Form
Detailed →Wrapper over Rails form_with with FormField, FormLabel, FormDescription, FormMessage.
Command
Detailed →Cmd+K command palette as Dialog + Combobox composition.
Table
Detailed →Composable, semantic table primitives (shadcn parity). Static, no JS.
Skeleton
Detailed →Loading placeholder — a pulsing muted box you size with utility classes.
Breadcrumb
Detailed →Composable breadcrumb trail (nav/list/item/link/page/separator/ellipsis). Static, no JS.
Pagination
Detailed →Composable, link-based pagination (server-driven). Static, no JS.
Progress
Detailed →Value-driven progress bar with progressbar a11y semantics. Static, no JS.
Alert Dialog
Detailed →Modal confirmation dialog — role=alertdialog, no click-outside dismiss, initial focus on Cancel.
Data Table
Detailed →Server-driven data table — sortable column headers + row selection. Composes Table + Pagination.
Number Input
Detailed →Numeric stepper input with − / + controls, formatting, and no native spinners.
Sidebar
Detailed →Composable, collapsible sidebar — icon rail on desktop, off-canvas on mobile, with menu primitives.
Date Picker
Detailed →Localized date field (input + popover calendar) and a standalone inline calendar. Single + range selection, Rails-friendly hidden inputs.
Input Otp
Detailed →One-time-code / PIN input — N single-character slots that submit one concatenated value.
File Upload
Detailed →Drag-and-drop file upload with a dropzone, browse button, file list with remove, and image previews. Submits via a real multipart file input.
Context Menu
Detailed →Right-click context menu — full menu parity (items, checkbox/radio, submenus) opening at the cursor.
Rating Group
Detailed →Star rating input with keyboard navigation, half-star support, and read-only mode.
Hover Card
Detailed →Rich preview card shown on hover or focus of a trigger, rendered through a portal.
Tags Input
Detailed →Multi-value text entry that collects free-form tags, with edit-in-place and array form submission.
Collapsible
Detailed →Toggle the visibility of a content region with a smooth height animation.
Splitter
Detailed →Resizable side-by-side panels with draggable gutters; horizontal or vertical.
Carousel
Detailed →Slideshow with snap scrolling, prev/next controls, indicators, and optional autoplay.
Navigation Menu
Detailed →Top-level site navigation with hover/focus dropdown panels per item.
Color Picker
Detailed →Popover color picker with a saturation/lightness area, hue and alpha sliders, a hex input, and preset swatches.
Tree View
Detailed →Data-driven tree view with expand/collapse, single or multiple selection, keyboard navigation, optional checkboxes, and folder/file icons.