Component library

Every component available in the Bones design system, plus the color and typography guidelines behind them. Pick something from the nav to get started.

54 components

Accordion

A vertically stacked set of interactive headings that reveal a section of content.

Alert

Displays a short, important message in a way that attracts the user's attention.

Alert Dialog

A modal dialog that interrupts the user with important content and expects a response.

Aspect Ratio

Displays content within a fixed, desired ratio.

Avatar

An image element with a fallback for representing a user.

Badge

Displays a small count, label, or status indicator.

Breadcrumb

Displays the path to the current resource using a hierarchy of links.

Button

Triggers an action or event, such as submitting a form or opening a dialog.

Button Group

Groups related buttons together with a shared, connected border.

Calendar

A date field component that lets users enter and edit a date.

Card

A container for grouping related content and actions.

Carousel

A motion-aware, touch-friendly carousel for cycling through panels of content.

Chart

Composable charts built on Recharts, themed with design tokens.

Checkbox

A control that allows the user to toggle between checked and not checked.

Collapsible

An interactive component which expands and collapses a panel.

Combobox

Autocomplete input and command palette, built from Popover and Command.

Command

A fast, composable command menu for searching and running actions.

Context Menu

A menu triggered by a right click, positioned relative to the trigger.

Dialog

A window overlaid on the page, rendering content that requires focus or input.

Drawer

A panel that slides in from the edge of the screen, built on Vaul.

Dropdown Menu

Displays a menu of actions or options triggered by a button.

Empty

A placeholder for empty states, with an icon, title, and description.

Field

Layout primitives for building consistent, accessible form fields.

Hover Card

Preview content behind a link or trigger when a user hovers over it.

Input

Displays a form input field for collecting text from the user.

Input Group

Combines inputs with addons, icons, and buttons into a single control.

Input OTP (one time password)

An accessible one-time password input, built on top of input-otp.

Item

A flexible layout primitive for rows of content, like list and menu entries.

Kbd (keyboard shortcut)

Displays a keyboard shortcut or key combination.

Label

Renders an accessible label associated with a form control.

Menubar

A persistent, horizontal set of menus, common in desktop applications.

Native Select

A styled wrapper around the browser's native select element.

Navigation Menu

A collection of links and flyout content for site or app navigation.

Pagination

Navigate between pages of content with page numbers and controls.

Popover

Displays rich content in a portal, anchored to a trigger element.

Progress

Displays an indicator showing the completion progress of a task.

Radio Group

A set of checkable buttons where only one may be checked at a time.

Resizable

Accessible, resizable panel groups and layouts with keyboard support.

Scroll Area

Augments native scroll with a custom, cross-browser scrollbar.

Select

Displays a list of options for the user to pick from, triggered by a button.

Separator

Visually or semantically separates content.

Sheet

Extends the Dialog component to display content that complements the main view.

Sidebar

A composable, themeable sidebar. This is what powers the nav on this page.

Skeleton

Used to show a placeholder while content is loading.

Slider

An input for selecting a value or range from within a set range.

Sonner

An opinionated toast notification component.

Spinner

An animated loading indicator.

Switch

A control that toggles between checked and not checked, like a light switch.

Table

A responsive table for displaying rows and columns of data.

Tabs

A set of layered sections of content, shown one at a time.

Textarea

Displays a multi-line form input field for collecting text.

Toggle

A two-state button that can be either on or off.

Toggle Group

A set of two-state buttons that can be toggled on or off, single or multiple.

Tooltip

A popup that displays information related to an element on hover or focus.