November 24, 2021 Release

As we head into the holiday season, our latest release focuses on kick-starting some of our pre-release components as well a whole list of fixes, and to top it all off, a new selection mode!

Our @react-aria/interactions package now includes a new useLongPress hook for handling long press interactions across both mouse and touch devices. This hook automatically supports preventing text selection and context menus, allowing customizable time thresholds, and an accessibility description to help discoverability with assistive technology users. Take a look at the documentation in our React Aria docs.

Highlight selection is an alternative selection behavior that works similarly to native platforms such as macOS and Windows, which can be used when checkboxes on each item are undesired. The onAction prop enables actions on each item, such as navigating to a detail view, to be triggered via double click or the Enter key. It also takes advantage of the new useLongPress hook to provide a multi-selection mode on touch devices. For examples on use and implementation, visit our TableView and useTable docs.

Thank you to all our contributors for their help with this release.

New features#


  • Add additional loading message to Combobox - @reidbarber - PR
  • Add support for highlight selection and onAction to React Aria selection hooks, and TableView component in React Spectrum - @devongovett - PR
  • Add new useLongPress hook to @react-aria/interactions - @devongovett - PR

Fixed#


  • Restrict resize updates to TextArea only - @snowystinger - PR
  • Add focus hook to useLink to fix Tooltips on Link - @LFDanLu - PR
  • Update CheckboxGroup, RadioGroup, useToggle to use aria-required - @paulkenney - PR
  • Update generic types for useTextField - @solimant - PR
  • Remove browser added UI for invalid form validation - @devongovett - PR
  • Add noValidate prop to Form to hide native validation - @devongovett - PR
  • Fix help text alignment - @snowystinger - PR
  • Add shouldFocusWrap to useComboBox - @alexichristakis - PR
  • Fix ComboBox id association with help text - @LFDanLu - PR
  • Update useHover to always return currentTarget - @cedeber - PR
  • Remove additional stopPropagation in useMenuTrigger - @Anuragtech02 - PR
  • Add missing AsyncListOptions type for useAsyncList - @mattywong - PR
  • Restrict disabled text selection in usePress to iOS - @LFDanLu - PR
  • Fix id association when switching between help text props - @majornista - PR
  • Fix sort icon overflow in TableView - @snowystinger - PR
  • Restore focus when error in help text is loaded - @majornista - PR
  • Enable Enter keypress on ActionMenu with Tooltip - @snowystinger - PR
  • Update NumberField to take allowed DOM props - @hayes - PR
  • Only update when breakpoints change in BreakpointProvider - @solimant - PR
  • Remove unsupported aria props from Radio - @devongovett - PR
  • Update useObjectRef to use useLayoutEffect - @solimant - PR
  • Add useFormProps to ComboBox - @ktabors - PR
  • Remove additional onChangeEnd event in useColorWheel - @reidbarber - PR
  • Update ActionGroup to honor disabledKeys when collapsed - @solimant - PR
  • Improve content visibility in Dialogs when zoomed - @ktabors - PR
  • Add checks in useCloseOnScroll when target is window - @alirezamirian - PR
  • Add autocomplete aria prop to HiddenSelect for autofill functionality - @majornista - PR
  • Clean removed selections when items are updated in TableView - @snowystinger - PR
  • Update Menu and ComboBox to stop interactions when disabled - @Onyinye91-ctrl - PR
  • Add additional null check on key in Virtualizer - @snowystinger - PR
  • Fix generate function overload types in Parcel patch - @kherock - PR

Documentation#


  • Fix prop table layout in docs template - @LFDanLu - PR

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.15.0
- @internationalized/date@3.0.0-alpha.0
- @react-aria/autocomplete@3.0.0-alpha.1
- @react-aria/calendar@3.0.0-alpha.0
- @react-aria/color@3.0.0-beta.5
- @react-aria/combobox@3.2.0
- @react-aria/datepicker@3.0.0-alpha.0
- @react-aria/grid@3.1.0
- @react-aria/i18n@3.3.3
- @react-aria/interactions@3.7.0
- @react-aria/label@3.2.1
- @react-aria/link@3.2.0
- @react-aria/listbox@3.4.0
- @react-aria/menu@3.3.0
- @react-aria/numberfield@3.1.1
- @react-aria/overlays@3.7.3
- @react-aria/radio@3.1.6
- @react-aria/searchfield@3.2.1
- @react-aria/select@3.6.0
- @react-aria/selection@3.7.0
- @react-aria/table@3.1.0
- @react-aria/tabs@3.1.0
- @react-aria/textfield@3.5.0
- @react-aria/toggle@3.1.5
- @react-aria/utils@3.10.0
- @react-aria/virtualizer@3.3.5
- @react-spectrum/accordion@3.0.0-alpha.3
- @react-spectrum/actiongroup@3.3.1
- @react-spectrum/autocomplete@3.0.0-alpha.1
- @react-spectrum/breadcrumbs@3.2.4
- @react-spectrum/buttongroup@3.2.3
- @react-spectrum/calendar@3.0.0-alpha.0
- @react-spectrum/card@3.0.0-alpha.1
- @react-spectrum/color@3.0.0-beta.5
- @react-spectrum/combobox@3.2.0
- @react-spectrum/datepicker@3.0.0-alpha.0
- @react-spectrum/form@3.2.4
- @react-spectrum/label@3.4.1
- @react-spectrum/list@3.0.0-alpha.4
- @react-spectrum/numberfield@3.1.1
- @react-spectrum/picker@3.5.0
- @react-spectrum/radio@3.1.5
- @react-spectrum/searchfield@3.2.1
- @react-spectrum/searchwithin@3.0.0-alpha.1
- @react-spectrum/table@3.1.0
- @react-spectrum/tabs@3.1.0
- @react-spectrum/textfield@3.3.0
- @react-spectrum/utils@3.6.3
- @react-stately/calendar@3.0.0-alpha.0
- @react-stately/color@3.0.0-beta.5
- @react-stately/data@3.4.3
- @react-stately/datepicker@3.0.0-alpha.0
- @react-stately/grid@3.1.0
- @react-stately/list@3.4.0
- @react-stately/selection@3.8.0
- @react-stately/table@3.1.0
- @react-stately/utils@3.3.0
- @react-stately/virtualizer@3.1.6
- @react-types/calendar@3.0.0-alpha.0
- @react-types/card@3.0.0-alpha.1
- @react-types/combobox@3.2.0
- @react-types/datepicker@3.0.0-alpha.0
- @react-types/link@3.2.0
- @react-types/select@3.5.0
- @react-types/shared@3.10.0
- @react-types/table@3.1.0
- react-aria@3.11.0
- react-stately@3.10.0