components
Components
The primitives. Grouped by form, interactive, and composed helpers. Every component is the canonical implementation for its role — pick it first, and only deviate with a written reason.
Form primitives
Controls that capture user input.
- InputText input primitive, sizing and state variants.
- TextareaMultiline text input, auto-sizing optional.
- LabelAccessible text label bound to a form control.
- SelectAccessible listbox for constrained choice.
- CheckboxUnchecked, checked, indeterminate, disabled.
- Radio groupSingle-choice group with keyboard roving focus.
- SwitchBinary on/off toggle for settings surfaces.
- Form fieldLabel + control + hint + error, bound to react-hook-form.
Interactive surfaces
Triggers, containers and navigational primitives.
- Button7 variants × 5 sizes, with icons, loading, disabled, asChild.
- BadgeSeven semantic variants, with and without icon.
- CardStatic, interactive-hover, selected, with media.
- TabsUnderline and pill variants, keyboard-navigable.
- PopoverNon-modal floating surface anchored to a trigger.
- TooltipContextual hint on hover and keyboard focus.
- AccordionCollapsible panels for progressive disclosure.
- DialogModal surface for focused tasks and confirmations.
- Alert dialogFocus-trapping confirmation for critical actions.
Compositions and helpers
Higher-level building blocks assembled from the primitives.