React Aria Components

Buttons#


Button
A button allows a user to perform an action with a mouse, touch, or keyboard.
ToggleButton
A toggle button allows a user to toggle between two states.
ToggleButtonGroup
A toggle button group allows a user to toggle multiple options, with single or multiple selection.
FileTrigger
A file trigger allows a user to access the file system with a Button.

Pickers#


ComboBox
A combobox combines a text input with a listbox, and allows a user to filter a list of options.
Select
A select displays a collapsible list of options, and allows a user to select one of them.

Collections#


Menu
A menu displays a list of actions or options that a user can choose.
ListBox
A listbox displays a list of options, and allows a user to select one or more of them.
GridList
A grid list displays a list of interactive items, with keyboard navigation, row selection, and actions.
Table
A table displays data in rows and columns, with row selection and sorting.
TagGroup
A tag group displays a list of items, with support for keyboard navigation, selection, and removal.

Date and time#


DatePicker
A date picker combines a DateField and a Calendar popover.
DateRangePicker
A date range picker combines two DateFields and a RangeCalendar popover.
DateField
A date field allows a user to enter and edit date values using a keyboard.
TimeField
A time field allows a user to enter and edit time values using a keyboard.
Calendar
A calendar allows a user to select a single date from a date grid.
RangeCalendar
A range calendar allows a user to select a contiguous range of dates.

Color#


ColorPicker
A color picker synchronizes a color value between multiple React Aria color components.
ColorArea
A color area allows users to adjust two channels of a color value.
ColorSlider
A color slider allows users to adjust an individual channel of a color value.
ColorWheel
A color wheel allows users to adjust the hue of a color value on a circular track.
ColorField
A color field allows users to edit a hex color or individual color channel value.
ColorSwatch
A color swatch displays a preview of a selected color.
ColorSwatchPicker
A color swatch picker displays a list of color swatches and allows a user to select one of them.

Overlays#


Dialog
A dialog is an overlay shown above other content in an application.
Popover
A popover displays interactive content in context with a trigger element.
Tooltip
A tooltip displays a description of an element on hover or focus.

Forms#


Checkbox
A checkbox allows a user to select an individual option.
CheckboxGroup
A checkbox group allows a user to select one or more items in a list of options.
RadioGroup
A radio group allows a user to select a single item from a list of options.
Switch
A switch allows a user to turn a setting on or off.
TextField
A text field allows a user to enter a plain text value with a keyboard.
SearchField
A search field allows a user to enter and clear a search query.
NumberField
A number field allows a user to enter, increment, or decrement a numeric value.
Slider
A slider allows a user to select one or more values within a range.
Form
A form allows users to submit data to a server, with support for validation.

Tabs
Tabs organize content into multiple sections, and allow a user to view one at a time.
Link
A link allows a user to navigate to another page.
Breadcrumbs
Breadcrumbs display a hierarchy of links to the current page or resource.
Disclosure
A disclosure is a collapsible section of content.
DisclosureGroup
A disclosure group is a grouping of related disclosures, sometimes called an accordion.

Status#


ProgressBar
A progress bar shows progress of an operation over time.
Meter
A meter represents a quantity within a known range, or a fractional value.

Drag and drop#


DropZone
A drop zone is an area into which one or multiple objects can be dragged and dropped.

Interactions#


usePress
Handles press interactions across mouse, touch, keyboard, and screen reader input.
useLongPress
Handles long press interactions for mouse and touch devices.
useHover
Handles mouse hover interactions, ignoring touch emulation.
useMove
Handles move interactions, including mouse and touch drag gestures, and arrow key equivalents.
useKeyboard
Handles keyboard interactions for a focusable element.
useFocus
Handles focus interactions for an element, ignoring its descendants.
useFocusWithin
Handles focus interactions for an element and its descendants.
useFocusRing
A focus ring is an indication of the active element when interacting with a keyboard.
FocusScope
A focus scope contains, restores, and manages focus for its descendant elements.