# React Spectrum Libraries > Complete documentation for React Spectrum libraries including React Spectrum (S2), React Aria, and Internationalized. ## Getting Started - [error](error.md) - [index](index.md) ## React Spectrum (S2) - [Accordion](s2/Accordion.md): An accordion is a container for multiple disclosures. - [ActionBar](s2/ActionBar.md): Action bars are used for single and bulk selection patterns when a user needs to perform actions on one or more items at the same time. - [ActionButton](s2/ActionButton.md): ActionButtons allow users to perform an action. - [ActionButtonGroup](s2/ActionButtonGroup.md): An ActionButtonGroup is a grouping of related ActionButtons. - [ActionMenu](s2/ActionMenu.md): ActionMenu combines an ActionButton with a Menu for simple "more actions" use cases. - [Avatar](s2/Avatar.md): An avatar is a thumbnail representation of an entity, such as a user or an organization. - [AvatarGroup](s2/AvatarGroup.md): An avatar group is a grouping of avatars that are related to each other. - [Badge](s2/Badge.md): Badges are used for showing a small amount of color-categorized metadata, ideal for getting a user's attention. - [Breadcrumbs](s2/Breadcrumbs.md): Breadcrumbs show hierarchy and navigational context for a user's location within an application. - [Button](s2/Button.md): Buttons allow users to perform an action. - [ButtonGroup](s2/ButtonGroup.md): ButtonGroup handles overflow for a grouping of buttons whose actions are related to each other. - [Calendar](s2/Calendar.md): Calendars display a grid of days in one or more months and allow users to select a single date. - [Card](s2/Card.md): A Card summarizes an object that a user can select or navigate to. - [CardView](s2/CardView.md): A CardView displays a group of related objects, with support for selection and bulk actions. - [Checkbox](s2/Checkbox.md): Checkboxes allow users to select multiple items from a list of individual items, - [CheckboxGroup](s2/CheckboxGroup.md): A CheckboxGroup allows users to select one or more items from a list of choices. - [Client Side Routing](s2/routing.md): Many React Spectrum components support rendering as HTML links. This page discusses how to set up your app to integrate React Spectrum links with your framework or client side router. - [Collections](s2/collections.md): Many components display a collection of items, and provide functionality such as keyboard navigation, selection, and more. React Spectrum has a consistent, compositional API to define the items displayed in these components. - [ColorArea](s2/ColorArea.md): A ColorArea allows users to adjust two channels of an RGB, HSL or HSB color value against a two-dimensional gradient background. - [ColorField](s2/ColorField.md): A color field allows users to edit a hex color or individual color channel value. - [ColorSlider](s2/ColorSlider.md): A ColorSlider allows users to adjust an individual channel of a color value. - [ColorSwatch](s2/ColorSwatch.md): A ColorSwatch displays a preview of a selected color. - [ColorSwatchPicker](s2/ColorSwatchPicker.md): A ColorSwatchPicker displays a list of color swatches and allows a user to select one of them. - [ColorWheel](s2/ColorWheel.md): A ColorWheel allows users to adjust the hue of an HSL or HSB color value on a circular track. - [ComboBox](s2/ComboBox.md): ComboBox allow users to choose a single option from a collapsible list of options when space is limited. - [ContextualHelp](s2/ContextualHelp.md): Contextual help shows a user extra information about the state of an adjacent component, or a total view. - [DateField](s2/DateField.md): DateFields allow users to enter and edit date and time values using a keyboard. - [DatePicker](s2/DatePicker.md): DatePickers combine a DateField and a Calendar popover to allow users to enter or select a date and time value. - [DateRangePicker](s2/DateRangePicker.md): DateRangePickers combine two DateFields and a RangeCalendar popover to allow users - [Dialog](s2/Dialog.md): Dialogs are windows containing contextual information, tasks, or workflows that appear over the user interface. - [Disclosure](s2/Disclosure.md): A disclosure is a collapsible section of content. It is composed of a a header with a heading and trigger button, and a panel that contains the content. - [Divider](s2/Divider.md): Dividers bring clarity to a layout by grouping and dividing content in close proximity. - [Drag and Drop](s2/dnd.md): Drag and drop is an intuitive way for users to transfer data between locations. React Spectrum implements drag and drop for mouse and touch interactions, and provides full keyboard and screen reader accessibility. - [DropZone](s2/DropZone.md): A drop zone is an area into which one or multiple objects can be dragged and dropped. - [Form](s2/Form.md): Forms allow users to enter data that can be submitted while providing alignment and styling for form fields. - [Forms](s2/forms.md): Forms allow users to enter and submit data, and provide them with feedback along the way. React Spectrum includes many components that integrate with HTML forms, with support for custom validation, labels, and help text. - [Getting started](s2/getting-started.md): ## Installation - [Icons](s2/Icons.md): React Spectrum offers a set of open source icons that can be imported from . - [IllustratedMessage](s2/IllustratedMessage.md): An IllustratedMessage displays an illustration and a message, usually - [Illustrations](s2/Illustrations.md): React Spectrum offers a collection of illustrations that can be imported from . - [Image](s2/Image.md): An image with support for skeleton loading and custom error states. - [InlineAlert](s2/InlineAlert.md): Inline alerts display a non-modal message associated with objects in a view. - [Link](s2/Link.md): Links allow users to navigate to a different location. - [LinkButton](s2/LinkButton.md) - [MCP Server](s2/mcp.md): The `@react-spectrum/mcp` package allows you to run [Model Context Protocol (MCP)](https://modelcontextprotocol.io/docs/getting-started/intro) servers for React Spectrum (S2) and React Aria locally. It exposes a set of tools that MCP clients can discover and call to browse the docs. - [Menu](s2/Menu.md): Menus display a list of actions or options that a user can choose. - [Meter](s2/Meter.md): Meters are visual representations of a quantity or an achievement. - [Migrating to Spectrum 2](s2/migrating.md): An automated upgrade assistant is available by running the following command in the project you want to upgrade: - [NumberField](s2/NumberField.md): NumberFields allow users to input number values with a keyboard or increment/decrement with step buttons. - [Picker](s2/Picker.md): Pickers allow users to choose a single option from a collapsible list of options when space is limited. - [Popover](s2/Popover.md): A popover is an overlay element positioned relative to a trigger. - [ProgressBar](s2/ProgressBar.md): ProgressBars show the progression of a system operation: downloading, uploading, processing, etc., in a visual way. - [ProgressCircle](s2/ProgressCircle.md): ProgressCircles show the progression of a system operation such as downloading, uploading, or processing, in a visual way. - [Provider](s2/Provider.md): Provider is the container for all React Spectrum components. - [RadioGroup](s2/RadioGroup.md): Radio groups allow users to select a single option from a list of mutually exclusive options. - [RangeCalendar](s2/RangeCalendar.md): RangeCalendars display a grid of days in one or more months and allow users to select a contiguous range of dates. - [RangeSlider](s2/RangeSlider.md): RangeSliders allow users to quickly select a subset range. They should be used when the upper and lower bounds to the range are invariable. - [React Spectrum](s2/index.md): A React implementation of Spectrum, Adobe's design system. - [Releases](s2/releases/index.md): page.name.includes('s2') && page.name.includes('releases') && !page.name.includes('index.html')) ?? []}/> - [SearchField](s2/SearchField.md): A SearchField is a text field designed for searches. - [SegmentedControl](s2/SegmentedControl.md): A SegmentedControl is a mutually exclusive group of buttons used for view switching. - [SelectBoxGroup](s2/SelectBoxGroup.md): SelectBox is a single selectable item in a SelectBoxGroup. - [Selection](s2/selection.md): Many collection components support selecting items by clicking or tapping them, or by using the keyboard. This page discusses how to handle selection events, how to control selection programmatically, and the data structures used to represent a selection. - [Skeleton](s2/Skeleton.md): A Skeleton wraps around content to render it as a placeholder. - [Slider](s2/Slider.md): Sliders allow users to quickly select a value within a range. They should be used when the upper and lower bounds to the range are invariable. - [StatusLight](s2/StatusLight.md): Status lights are used to color code categories and labels commonly found in data visualization. - [Styling](s2/styling.md): React Spectrum includes a build-time style macro that generates atomic CSS and lets you apply Spectrum tokens directly in your components with type-safe autocompletion. - [Switch](s2/Switch.md): Switches allow users to turn an individual option on or off. - [TableView](s2/TableView.md): Tables are containers for displaying information. They allow users to quickly scan, sort, compare, and take action on large amounts of data. - [Tabs](s2/Tabs.md): Tabs organize content into multiple sections and allow users to navigate between them. The content under the set of tabs should be related and form a coherent unit. - [TagGroup](s2/TagGroup.md): Tags allow users to categorize content. They can represent keywords or people, and are grouped to describe an item or a search request. - [TextArea](s2/TextArea.md): A textarea allows a user to input mult-line text. - [TextField](s2/TextField.md): TextFields are text inputs that allow users to input custom text entries - [TimeField](s2/TimeField.md): TimeFields allow users to enter and edit time values using a keyboard. - [Toast](s2/Toast.md) - [ToggleButton](s2/ToggleButton.md): ToggleButtons allow users to toggle a selection on or off, for example - [ToggleButtonGroup](s2/ToggleButtonGroup.md): A ToggleButtonGroup is a grouping of related ToggleButtons, with single or multiple selection. - [Tooltip](s2/Tooltip.md): Display container for Tooltip content. Has a directional arrow dependent on its placement. - [TreeView](s2/TreeView.md): A tree view provides users with a way to navigate nested hierarchical information. - [v0.1.0](s2/releases/v0-1-0.md):