September 13, 2021 Release

Today we're excited to announce the stable release of TableView! 🚀🚀 This component includes many useful features such as selection, keyboard navigation, sorting, tiered column headers, async data loading, infinite scrolling, virtualization and type ahead. You can see the TableView in action in the React Spectrum docs also view our React Aria docs for more details on the useTable hook.

Also included in this release is a new option for help text included with Combobox, Picker, TextField, TextArea, SearchField and NumberField via the new useField hook. This hook associates a form control with a label, and an optional description and/or error message. useField takes care of creating ids for each element and associating them with the correct ARIA attributes (aria-labelledby and aria-describedby). Many React Aria hooks have been updated to support this out of the box as well. See examples in the component docs, aria examples or the useField hook.

Plenty of other new features, bug fixes and updates to our documentation in the notes below. Thank you all for your contributions! 🤩

New component#


  • TableView
    • @react-spectrum/table - Docs
    • @react-aria/table - Docs
    • @react-stately/table - Docs

New features#


  • Add altKey modifier to usePress hook events - @jeroenwienk - PR
  • Add shouldCancelOnPointerExit option to usePress - @devongovett - PR
  • Add auto scroll-to-item for non-virtualized collections - @LFDanLu - PR
  • Added slots to ActionButton and ActionGroup - @jluyau - PR
  • Added description and error message support to TextField, TextArea, SearchField, NumberField, ComboBox, and Picker and associated React Aria hooks - @dkario - PR

Fixes#


  • Fix useListData to check when selection is all - @jluyau - PR
  • Fix NumberField for percentage without minimumFractionDigits - @garrettberg - PR
  • Update FocusScope to better handle nesting and restoring focus - @devongovett - PR
  • Update useListData to handle unloaded lists when selection is all - @jluyau - PR
  • Update translations for List, Menu, Table, Grid - @rgeraghty - PR
  • Update type for children in Flex - @solimant - PR
  • Improve plop script for file renaming - @neeraj3029 - PR
  • Append a prefix to avoid ID conflicts in SSRProvider - @jfuchs - PR
  • Omit duplicate type in ColorFieldProps - @kwoncharles - PR
  • Update TextArea to respect min-width when resizing - @snowystinger - PR
  • Restore scroll position when tabbing back into collection - @devongovett - PR

Docs#


Under construction#


Pre-release versions of the following components have been released. Please feel free to try them out, and report any issues you encounter.

Released packages#


- @adobe/react-spectrum@3.14.0
- @internationalized/number@3.0.3
- @react-aria/button@3.3.4
- @react-aria/color@3.0.0-beta.4
- @react-aria/combobox@3.1.0
- @react-aria/focus@3.5.0
- @react-aria/grid@3.0.0
- @react-aria/interactions@3.6.0
- @react-aria/label@3.2.0
- @react-aria/numberfield@3.1.0
- @react-aria/searchfield@3.2.0
- @react-aria/select@3.5.0
- @react-aria/selection@3.6.0
- @react-aria/ssr@3.1.0
- @react-aria/table@3.0.0
- @react-aria/tabs@3.0.2
- @react-aria/textfield@3.4.0
- @react-aria/utils@3.9.0
- @react-spectrum/actionbar@3.0.0-alpha.3
- @react-spectrum/actiongroup@3.3.0
- @react-spectrum/button@3.6.0
- @react-spectrum/color@3.0.0-beta.4
- @react-spectrum/combobox@3.1.0
- @react-spectrum/label@3.4.0
- @react-spectrum/link@3.2.0
- @react-spectrum/listbox@3.5.2
- @react-spectrum/menu@3.5.0
- @react-spectrum/numberfield@3.1.0
- @react-spectrum/picker@3.4.0
- @react-spectrum/searchfield@3.2.0
- @react-spectrum/table@3.0.0
- @react-spectrum/textfield@3.2.0
- @react-stately/color@3.0.0-beta.4
- @react-stately/data@3.4.2
- @react-stately/grid@3.0.0
- @react-stately/layout@3.4.2
- @react-stately/table@3.0.0
- @react-types/color@3.0.0-beta.3
- @react-types/combobox@3.1.0
- @react-types/grid@3.0.0
- @react-types/label@3.5.0
- @react-types/layout@3.2.0
- @react-types/menu@3.4.0
- @react-types/numberfield@3.1.0
- @react-types/select@3.4.0
- @react-types/shared@3.9.0
- @react-types/table@3.0.0
- @react-types/textfield@3.3.0
- react-aria@3.10.0
- react-stately@3.9.0