We're excited to welcome a brand new component to the family! The new NavigationTree component displays a hierarchical set of links, perfect for building sidebars and complex app navigation. It comes fully loaded with keyboard navigation, and support for nested routes.
Menu also gets a big upgrade this release: it now supports async loading and empty states! Load menu items from an API as the user scrolls with the new MenuLoadMoreItem and use renderEmptyState to show a indicator when data is loading or when the menu is empty.
TokenField selection API update
TokenFieldValue now tracks the full selected range instead of a single caret position. The caretPosition property is replaced by selectedRange, which stores both the anchor and current offsets so a range selection can be restored after an undo or redo. Use withSelectedRange to update the selection going forward.
Finally, this release also features many fixes and updates from external contributors! As always, a big thank you for all the support!
Changelog
General Changes
- Re-export
FocusableElement,HoverEvent, andKeyboardEventtypes fromreact-aria-components- @sobol-sudo - PR - Export
setInteractionModality- @snowystinger - PR - Keep the interaction modality on window refocus so Safari doesn't show a focus ring - @daveycodez - PR
- Apply hook filters in
optimize-locales-pluginso unused locale strings are removed - @wojtekmaj - PR - Improve
setStyleand focus handling inusePreventScroll- @snowystinger - PR - Upgrade to TypeScript 7 - @devongovett - PR
Calendar
Checkbox
ColorField
Collections
Date and Time
- Fix Ethiopic and Coptic year estimation in
julianDayToCEon new year dates - @FrancoKaddour - PR
Dialog
- Allow DialogTrigger to work when nested inside Tabs - @RobHannay - PR
- Support Select and Combobox inside a Dialog - @yihuiliao - PR
Form
- Add Formisch to the form libraries section of the forms doc guide - @fabian-hiller - PR
Menu
- Add async loading and empty state support to Menu - @LFDanLu - PR
- Add typeahead support to Menu example in docs - @snowystinger - PR
NavigationTree
- Add NavigationTree component - @snowystinger - PR, PR
Overlays
- Fix position overlays on iOS 26 - @nwidynski - PR
- Guard against a null restore target in
FocusScoperestoreFocus- @Faithfinder - PR
RadioGroup
Switch
Table
- Insert at the end when dropping past the last row instead of failing to resolve the drop target - @meesvandongen - PR
Tabs
- Keep ArrowLeft and ArrowRight consistent in RTL vertical orientation - @starboyvarun - PR
TokenField
- Track the TokenField selection range to allow external control and restore selection on undo - @devongovett - PR, PR
- Fix IME composition in Firefox - @chirokas - PR
- Fix TokenField docs regex for IME - @LFDanLu - PR
Released packages
- @internationalized/date@3.12.4
- @internationalized/number@3.6.8
- @react-aria/test-utils@1.0.0-rc.1
- @react-aria/optimize-locales-plugin@2.0.2
- @react-aria/mcp@1.2.1
- react-aria@3.52.0
- react-aria-components@1.21.0
- react-stately@3.50.0