# React Aria Components Documentation > Plain-text markdown documentation for React Aria components. ## Documentation - [Accessible Color Descriptions for Improved Color Pickers](blog/accessible-color-descriptions.md): Recently, we released a suite of color picker components in React Aria and React Spectrum. These components help users choose a color in various ways, including a 2D [ColorArea](../ColorArea.md), channel-based [ColorSlider](../ColorSlider.md), circular [ColorWheel](../ColorWheel.md), preset [ColorSwatchPicker](../ColorSwatchPicker.md), and a hex value [ColorField](../ColorField.md). You can compose these individual pieces together to create a full [ColorPicker](../ColorPicker.md) with whatever custom layout or configuration you need. - [Autocomplete](Autocomplete.md): An autocomplete allows users to search or filter a list of suggestions. - [Blog](blog/index.md): - [FileTrigger](FileTrigger.md): A FileTrigger allows a user to access the file system with any pressable React Aria or React - [Filterable CRUD Table](examples/crud.md): A plant tracking app with CRUD operations, search, filters, table column resizing, form validation, and more. - [FocusRing](FocusRing.md): A utility component that applies a CSS class when an element has keyboard focus. - [FocusScope](FocusScope.md): A FocusScope manages focus for its descendants. It supports containing focus inside - [Form](Form.md): A form is a group of inputs that allows users to submit data to a server, - [Forms](forms.md): Learn how to integrate with HTML forms, validate and submit data, and use React Aria with form libraries. - [Framework setup](frameworks.md): Learn how to integrate React Aria with your framework. - [Gesture Driven Sheet](examples/sheet.md): An iOS-style gesture driven sheet built with React Aria Components, [Motion](https://motion.dev/), and [Tailwind CSS](https://tailwindcss.com/). - [Getting started](getting-started.md): How to install React Aria and build your first component. - [GridList](GridList.md): A grid list displays a list of interactive items, with support for keyboard navigation, - [Group](Group.md): A group represents a set of related UI controls, and supports interactive states for styling. - [How we internationalized our number field](blog/how-we-internationalized-our-numberfield.md): Number fields are commonly used form components, but are frequently not a great user experience. They often lack support for advanced formatting, such as currency and unit values, and do not provide a localized experience for users around the world. In this post, we'll discuss how we approached building our number field component with support for formatting and internationalization in mind. - [I18nProvider](I18nProvider.md): Provides the locale for the application to all child components. - [Improving Internationalization Support in Our Date and Time Components](blog/rtl-date-time.md): Internationalization is a core feature of our Date and Time components. We support 13 different calendar systems as well as locale-specific formatting, number systems, and 12 and 24 hour time. However, we identified an issue in our support for several right-to-left (RTL) languages where in some, the format of the date and time fields was incorrect. While investigating this bug, we faced several challenges in ensuring accurate date and time representation in RTL languages and implemented various strategies that we'd like to share. - [index](index.md) - [Internationalized Date](internationalized/date/index.md): The `@internationalized/date` package provides objects and functions for representing and manipulating dates and times in a locale-aware manner. - [Internationalized Number](internationalized/number/index.md): The `@internationalized/number` package provides utilities for formatting and parsing numbers across locales and numbering systems. - [Introducing React Spectrum](blog/introducing-react-spectrum.md): We're excited to announce [React Spectrum](https://react-spectrum.adobe.com/), a collection of libraries and tools that help you build adaptive, accessible, and robust user experiences. [Check it out on Github](https://github.com/adobe/react-spectrum)! React Spectrum includes three libraries: - [iOS List View](examples/ios-list.md): A re-creation of the iOS List View built with React Aria Components, [Motion](https://motion.dev/), and [Tailwind CSS](https://tailwindcss.com/) with support for swipe gestures, layout animations, and multiple selection mode. - [Kanban Board](examples/kanban.md): A kanban board with accessible drag and drop, styled with Tailwind CSS. - [Link](Link.md): A link allows a user to navigate to another page or resource within a web page - [ListBox](ListBox.md): A listbox displays a list of options and allows a user to select one or more of them. - [Menu](Menu.md): A menu displays a list of actions or options that a user can choose. - [mergeProps](mergeProps.md): Merges multiple props objects together. Event handlers are chained, - [Meter](Meter.md): A meter represents a quantity within a known range, or a fractional value. - [Modal](Modal.md): A modal is an overlay element which blocks interaction with elements outside it. - [NumberField](NumberField.md): A number field allows a user to enter a number, and increment or decrement the value using - [NumberFormatter](internationalized/number/NumberFormatter.md): A wrapper around Intl.NumberFormat providing additional options, polyfills, and caching for - [NumberParser](internationalized/number/NumberParser.md): A NumberParser can be used to perform locale-aware parsing of numbers from Unicode strings, - [Photo Library](examples/photos.md): A photo library app with virtualized scrolling, view transitions, adjustable waterfall layout, folder tree, search, multi-selection, and accessible drag and drop. - [Popover](Popover.md): A popover is an overlay element positioned relative to a trigger. - [PortalProvider](PortalProvider.md): Sets the portal container for all overlay elements rendered by its children. - [ProgressBar](ProgressBar.md): Progress bars show either determinate or indeterminate progress of an operation - [Quality](quality.md): React Aria is built around three core principles: **Accessibility**, **Internationalization**, and **Interactions**. Learn how to apply these tools to build high quality UIs that work for everyone, everywhere, and on every device. - [RadioGroup](RadioGroup.md): A radio group allows a user to select a single item from a list of mutually exclusive options. - [RangeCalendar](RangeCalendar.md): RangeCalendars display a grid of days in one or more months and allow users to select a - [Releases](releases/index.md): ` component that can be used within components that support single selection such as [Tabs](../Tabs.md) and [ToggleButtonGroup](../ToggleButtonGroup.md#animation) to animate selection changes. In addition, we have significantly improved the behavior of scrolling modals on iOS 26. Lastly, `onAction` can now be used on a [`ComboBoxItem`](../ComboBox.md#item-actions), enabling you to add a “create” option. - [v1.14.0](releases/v1-14-0.md): Wrapping up this year with a bang and our most exciting release yet! Meet our new website. We heard your feedback and have reimagined the docs to be more concise and make greater use of interactive examples using prop controls. Code examples have been refined to highlight what matters most, and real-world app examples show how all these pieces come together. The new search experience includes image previews and category and library filtering, helping you find what you need faster. There are more component examples, new guides, AI-friendly page markdown, and MCP servers, all wrapped up in a fresh new look. 🎁 Explore the updated experience of [React Aria](react-aria:.md). - [v1.15.0](releases/v1-15-0.md): New year, new release, and the shine hasn’t worn off from our new documentation website: we’ve already added new [Agent Skills](../ai.md#agent-skills) and improved the search experience 😍. This month’s release includes a big update to our compatibility, with DOM customization options via a [new `render` prop](../customization.md#dom-elements) for React Aria Components. This feature will help with cases such as rendering Router Link components, or for use with animation libraries. We have also fixed our most upvoted issue: we now constrain dates on blur instead of as you type, allowing more input flexibility and greatly improving the user experience of our date fields. - [v1.16.0](releases/v1-16-0.md): In today’s release, we are excited to announce support for [multi-select ComboBox](../ComboBox.md#taggroup), one of our most requested features! You can now use `selectionMode="multiple"` - [v1.17.0](releases/v1-17-0.md): This release brings support for several long-awaited features, including support for [expandable rows](../Table.md#expandable-rows) in Table, and window scrolling in [Virtualizer](../Virtualizer.md). Expandable rows enable macOS Finder-like file trees by designating a `treeColumn` and rendering a chevron button within its cells. Window scrolling in Virtualizer enables virtualized collections to automatically scroll with the rest of the page. We've also added support for horizontally virtualized GridLists and ListBoxes! Finally, we significantly improved how we manage our dependencies – see below for details. - [v1.18.0](releases/v1-18-0.md): This release packs in several new features! [Calendar](../Calendar.md) now supports multiple date selection, as well as new [CalendarHeading](../Calendar.md#calendarheading), [CalendarMonthPicker](../Calendar.md#month-and-year-pickers), and [CalendarYearPicker](../Calendar.md#month-and-year-pickers) components that allow the user to jump to a different month or year. [RangeCalendar](../RangeCalendar.md#validation) now supports determining the available dates based on the first date a user selects. We have also added a [TableFooter](../Table.md#content) component, description and error messages for [Checkbox](../Checkbox.md#forms), [Radio](../RadioGroup.md), and [Switch](../Switch.md#forms), and a [SliderFill](../Slider.md#value-scale) component that simplifies the process of styling the fill portion in a Slider. - [v1.19.0](releases/v1-19-0.md): This release adds support for full interaction with embedded text fields and other interactive elements in [GridList](../GridList.md#keyboard-navigation) and [Tree](../Tree.md#keyboard-navigation) with the `keyboardNavigationBehavior` prop. [Autocomplete](../Autocomplete.md) and [Popover](../Popover.md) gain several improvements to support [inline completions](../Autocomplete.md#inline-completions), including a new `getTargetRect` prop on Popover for positioning overlays relative to arbitrary character positions. Menu's `onAction` callback now provides both the item key and value, and `DragTypes.has()` accepts multiple MIME types and wildcards. - [v1.2.0](releases/v1-2-0.md): We have a huge release today! Its a GA bonanza 🎊 – [Submenu](../Menu.md#submenus), [unavailable menu items](s2:v3/Menu.md#unavailable-items), [DropZone](../DropZone.md) and [FileTrigger](../FileTrigger.md) components are now in GA. Check our [blog post](react-aria:blog/creating-a-pointer-friendly-submenu-experience.md) on the intricacies of the submenu interactions and how we handled them. - [v1.3.0](releases/v1-3-0.md): For this summer release, we have been busy working on improving virtualization in many of our Spectrum components including TableView, ListView, and ListBox. We have significantly reduced the complexity of our implementation, resulting in smaller bundle size, better performance, and improved stability. In our testing, this resulted in 14x faster per-frame render times on large tables due to better reuse of DOM nodes as you scroll. We are also working on bringing virtualization support to React Aria Components, which is available as an unstable API in this version. - [v1.4.0](releases/v1-4-0.md): Happy fall! 🍁 We're excited to announce that our color picker components are now generally available! This includes [ColorPicker](../ColorPicker.md), [ColorArea](../ColorArea.md), [ColorField](../ColorField.md), [ColorSlider](../ColorSlider.md), [ColorSwatch](../ColorSwatch.md), [ColorSwatchPicker](../ColorSwatchPicker.md), and [ColorWheel](../ColorWheel.md). These enable you to build fully customizable color pickers, including accessible color descriptions for screen reader support. - [v1.5.0](releases/v1-5-0.md): We're excited to announce that our Disclosure components are now generally available! This includes [Disclosure](../Disclosure.md) and [DisclosureGroup](../DisclosureGroup.md) in React Aria. These components now also use the `hidden="until-found"` API currently supported in Chrome to enable searching collapsed content with ctrl + F. - [v1.6.0](releases/v1-6-0.md): Happy New Year! Our first release of 2025 includes a new [firstDayOfWeek](../Calendar.md#display-options) prop for our calendar and date picker components, support for [CSS transitions](../styling.md#animation) in our overlay components, a new [Autocomplete](../Autocomplete.md) component in alpha, and a new [React Aria test utils](../testing.md#react-aria-test-utils) package. - [v1.7.0](releases/v1-7-0.md): Buckle in because this is a big one! In this React Aria release, we’re excited to announce three new components: [Toast](../Toast.md), [Tree](../Tree.md), and [Virtualizer](../Virtualizer.md). In addition, we have improved [Autocomplete](../Autocomplete.md) to enable UI patterns like [Searchable Menus](../Menu.md#autocomplete), [Searchable Selects](../Select.md#autocomplete), and [Command Palettes](../Autocomplete.md), added support for custom [Menu](../Menu.md#custom-trigger), [Popover](../Popover.md#custom-trigger), and [Tooltip](../Tooltip.md#custom-trigger) triggers, introduced `colSpan` support in Table, and upgraded to Tailwind CSS v4. Last but not least, we have a major refactor of [usePress](../usePress.md), which fixes many longstanding issues and improves compatibility with third party libraries. - [v1.8.0](releases/v1-8-0.md): In today's release, we are excited to announce custom calendar support in React Aria Components! This feature allows you to create your own calendar that implements custom business logic, such as a [4-5-4 fiscal calendar](https://nrf.com/resources/4-5-4-calendar), either by extending an existing Calendar implementation or building from scratch. Please see the [React Aria docs](../Calendar.md#custom-calendar-systems) for an example implementation. A special shout out to [@ToyWalrus](https://github.com/ToyWalrus) for all the hard work that went into this contribution! - [v1.9.0](releases/v1-9-0.md): This release includes a range of enhancements and fixes such as improved keyboard accessibility in TagGroup and increased stability for dynamic table updates. It also brings support for React 19's ref cleanup behavior, performance improvements for collection updates in React transitions and pressable elements, and TypeScript updates including backwards compatibility with older TypeScript and `@types/react` versions. - [Virtualizer](Virtualizer.md): A Virtualizer renders a scrollable collection of data using customizable layouts. - [VisuallyHidden](VisuallyHidden.md): VisuallyHidden hides its children visually, while keeping content visible - [Working with AI](ai.md): Learn how to use the React Aria MCP Server, Agent Skills, and more to help you build with AI. - [ZonedDateTime](internationalized/date/ZonedDateTime.md): A ZonedDateTime represents a date and time in a specific time zone and calendar system.