Button
3 examplesA button, with every variant and size you need — nothing you don’t.
Accessible building blocks you copy into your project with the shadcn CLI and then own: change the markup, the styles and the behaviour like any other file.
55 components
A button, with every variant and size you need — nothing you don’t.
A small status or category label, in four variants.
A text input for forms — text, email, file and every native type.
A multi-line text input for longer form answers.
An accessible label for form controls.
A checkbox with checked, unchecked and indeterminate states.
A toggle switch for on/off settings.
A set of layered panels, one visible at a time.
A vertically stacked set of collapsible panels.
A short, prominent message calling out information.
A container for grouping related content and actions.
A short popup shown on hover or focus.
A modal window layered above the page, with focus trapped inside.
A panel that slides in from an edge of the screen.
A rich popup anchored to a trigger, opened by click.
A menu of actions and options, opened from a trigger.
A dropdown for choosing one option from a list.
An input for choosing a numeric value from a range.
A bar showing the completion progress of a task.
A short, auto-dismissing notification.
A user's profile picture, with initials as a fallback.
A placeholder shown while content is loading.
A thin line separating content, horizontal or vertical.
Semantic parts for laying out tabular data.
A modal that interrupts to ask for confirmation before an important action.
A trail of links showing where the current page sits in the site.
Page links with previous and next controls for moving through a long list.
A set of radio buttons where exactly one option can be chosen.
A two-state button that can be pressed on or off.
A row of toggles where one or several can be pressed.
A panel that expands and collapses, with a height animation.
A preview card that appears when a link is hovered or focused.
A menu of actions opened by right-click or long-press.
Holds content to a fixed width-to-height ratio.
A scrollable region with slim, themed scrollbars.
Keycaps for showing keyboard keys and shortcuts.
An accessible loading indicator that rotates.
A one-time-code input split into slots, with paste and autofill.
A bottom sheet you can drag down to dismiss.
A fast, keyboard-driven command palette with search, groups and shortcuts.
An input with a filterable list of options — pick one, or several as chips.
A month grid for picking a date or a range, fully keyboard navigable.
A button that opens a calendar in a popover to choose a date or a range.
A swipeable set of slides with previous and next controls.
Panels separated by draggable handles — resize by mouse, touch or keyboard.
A labelled form control with a description and validation errors, plus a form that checks them all.
An input with icons, text and buttons attached on either side.
Buttons joined into one segmented control — horizontal, vertical or split.
The browser’s own select, styled to match.
An empty state with an icon, a message and actions.
A row with media, text and actions — for settings and lists.
A top navigation bar with animated dropdown panels and links.
A desktop-style menu bar with submenus, checkboxes, radios and shortcuts.
An app sidebar that collapses to icons, and becomes a sheet on mobile.
A sortable, filterable, paginated table built on TanStack Table.