July 22, 2025 Release
Happy summer! This release adds support for async loading and infinite scrolling, improves form integration and drag and drop interactions, and adds support for additional DOM events and attributes.
The new LoadMoreItem components supported in ListBox, GridList, Table, and Tree enables infinite scrolling. These trigger loading of additional pages of items and display a loading spinner. Multiple LoadMoreItems can be rendered within a collection too, enabling loading multiple levels of a tree, or sections of data from different APIs.
We've also opened up the React Aria Components API to pass through more DOM events and attributes. This improves integration with other libraries, for example making it possible to use another library's menu with a React Aria button.
As always, thanks so much to everyone who contributed to this release!
Enhancements#
- AlertDialog
- Drag and Drop
- Add support for custom drag preview pointer offset - @reidbarber - PR
- Forms
- Add support for form autocomplete to React Aria DateField and DatePicker - @yihuiliao - PR
- Add support for automatic reset after React 19 form actions - @devongovett - PR
- Support associating components with external forms - @devongovett - PR
- Select
- Add
hiddenSelectProps
touseSelect
- @snowystinger - PR
- Add
- Tag
- Add
escapeKeyBehavior
prop to React Aria TagGroup - @snowystinger - PR
- Add
- TextField
- Provide
GroupContext
in React Aria TextField - @devongovett - PR - Add proper ARIA labeling to Spectrum validation icon - @razvanborsan - PR, @LFDanLu - PR
- Provide
- Toast
- Tree
- Miscellaneous
- Pass through more DOM events and attributes - @devongovett - PR, PR
- Use
inert
instead ofaria-hidden
inariaHideOutside
- @devongovett - PR, PR - @LFDanLu - PR - Pass
crossOrigin
prop in Spectrum Image - @mofojed - PR
Fixes#
- CardView
- Fix A11y warning on Spectrum CardView - @snowystinger - PR
- Drag and Drop
- Fix React 19 StrictMode drag and drop bug - @devongovett - PR
- Date/Time
- FileTrigger
acceptedFileTypes
accepts a readonly array in FileTrigger - @lixiaoyan - PR
- ListView
- Fix Badge text color inside Spectrum ListView - @snowystinger - PR
- Menu
- Fix text alignment for Spectrum Keyboard component - @snowystinger - PR
- Modals
- Warn users of correct state usage for modals - @snowystinger - PR
- NumberField
- RadioGroup
- Fix
RadioGroup
keyboard navigation inFocusScope
- @snowystinger - PR
- Fix
- Select/Picker
- Allow
selectedKey={null}
to clear value inHiddenSelect
- @chirokas - PR - Fix
HiddenSelect
causing page scrolling - @devongovett - PR - Fix keyboard selection in
Select
typeahead when options include spaces - @snowystinger - PR - Prevent form submission when required
Select
has more than 300 options - @lucasweng - PR
- Allow
- Tabs
- TableView
- Miscellaneous
- Include missing
page.css.map
in published npm package - @snowystinger - PR - Check user agent brands - @reidbarber - PR
- Fix
Rect
intersection check so that users don't need to provide Virtualizer mocks for tests - @LFDanLu - PR - Fix
createLeafComponent
ref typing - @snowystinger - PR - Add permission element to focusable elements list - @gabrielchl - PR
- Minimize unnecessary global events in
useHover
- @qmhc - PR - Do not dispatch
loadMore
if hook is still in loading state - @jluyau = PR
- Include missing
Docs#
- Remove duplicate "color" in
ColorWheelRenderProps
comment - @GuiEpi - PR - Fix
Calendar
example - @chirokas - PR - Use
lucide-react
for React Aria example's icons - @reidbarber - PR - Fix TanStack Router example - @brmzkw - PR
- Fix checkbox in dark mode in the Tailwind Starter - @tomer-yechiel - PR
Under Construction#
- Autocomplete
- Tree:
- Support virtualized Tree drag and drop - @reidbarber - PR, PR, PR
- Fix dragging a root item after itself - @chirokas - PR
- Fix reordering top-level items via drag and drop - @reidbarber - PR