December 18, 2023 Release
Welcome to the last release of the year! In this release, we’re promoting React Aria Components from RC to GA 🎉, promoting React Spectrum's DropZone to RC, adding an option to optimize our included translation files, shipping a storybook based on all our React Aria Components with a starter theme, and fixing plenty of bugs.
As always, huge thanks to everyone in our community for their feedback and contributions to make this release and this year possible!
In a big year, there are a few accomplishments we wanted to highlight.
- ESM support
- React StrictMode support
- React Aria Components
- React Spectrum new components, DropZone, InlineAlert, TagGroup, ActionBar, Avatar, Table Col Resizing
- Docs Search
- Built-in support for form validation
- Native links support for collections
- Tailwind plugin for RAC
As a parting holiday gift, check out our new landing page for React Aria Components, replete with interactive examples! Happy coding and see you in the new year! ☃️
React Aria Components API updates#
In this release, we made a few last API updates to React Aria Components as they move along to GA.
Temporarily removed nested column support in Tables due to instability.
Enhancements#
- Improve behavior of usePreventScroll on iOS - @devongovett - PR
- Add data-trigger to Popover to style based on trigger component - @devongovett - PR
- Add menuWidth & expose align props in ComboBox and SearchAutocomplete - @sookmax - PR
- RAC Menu button and popover can have same width - @ktabors - PR
- Generate a starter storybook from the docs - @devongovett - PR
- Add directory support for FileTrigger - @ryo-manba - PR
- Provide access to portalContainer of react-aria-components popover element - @BenBeattieHood - PR
- Add capitalization settings support for useTextField - @ryo-manba - PR
- Add build plugins to optimize translated strings for unsupported languages - @devongovett - PR
- Render children in DropIndicators - @devongovett - PR
- Add support for onScroll event to RAC collection components - @devongovett - PR
- Add hover state to
TableColumnHeaderwhen 'allowSorting' is true - @sookmax - PR - Use owner document in FocusScope - @slye-stripe - PR
- Add 'use client' to components in build for Next.js app directory - @devongovett - PR
- Support for Avatar in ListBox, Picker, ComboBox, and SearchAutocomplete - @reidbarber - PR
Fixes#
- Additional TS StrictMode support - @yihuiliao - PR
- TS Strict for react-aria Checkbox - @ryo-manba - PR
- TS Strict internationalized - @snowystinger - PR
- TS Strict Checkbox State - @snowystinger - PR
- TS Strict for DropZone and VisuallyHidden - @ktabors - PR
- Update Toast label definition to be a string - @ktabors - PR
- Date components light theme placeholder color contrast - @ktabors - PR
- Selected checkbox fill color when checkbox group is disabled - @yihuiliao - PR
- Propagate isDisabled prop from RAC DatePicker/DateRangePicker to popover Button - @ryo-manba - PR, @snowystinger - PR
- Labelable option to Tab props for aria-label support - @ryo-manba - PR
- Announce change to pending for button - @iamwillpowell - PR, @majornista - PR
- Make order of tailwind variants match default - @devongovett - PR
- Upgrade clsx to v2.0.0 for ESM support - @reidbarber - PR
- RAC support overriding default styles in overlay components - @snowystinger - PR
- Clarifying menuWidth prop lower bound. - @LFDanLu - PR
- Close popover on scroll - @boutahlilsoufiane - PR
- Ensure DismissButton has a height so it works with iOS VO - @devongovett - PR
- Support TooltipTrigger with DialogTrigger - @devongovett - PR
- Ensure all refs go to the outer-most element - @devongovett - PR
- Prevent flicker from all items to filtered collection when combobox is animating closed - @devongovett - PR
- Normalize press handling for Checkbox, Radio, and Switch labels - @devongovett - PR
- Scroll into view when auto focusing regardless of modality - @devongovett - PR
- ActionGroup icon padding when overflow="collapse" and buttonLabelBehavior="hide" - @LFDanLu - PR
- RAC Table caching issues - @devongovett - PR
- Support for focus events in useRadioGroup hooks - @ryo-manba - PR
- Scroll menu with sections on iPad - @LFDanLu - PR
- Table warning in NextJS - @snowystinger - PR
- Escape strings used in query selectors - @reidbarber - PR
- Tailwind CSS plugin in RAC to use require instead of import - @tom-fletcher - PR
- Hover in RAC ListBox and remove onCellAction - @LFDanLu - PR
- Propagate SearchField escape key - @ktabors - PR
- restoreTextSelection on pointerUp event - @sookmax - PR
- Make value and defaultValue valid in number and slider fields - @snowystinger - PR
- Respect Tailwind hoverOnlyWhenSupported, and fix placeholder-shown with Input - @devongovett - PR
- Top margin of a button in a form - @yihuiliao - PR
- TableView resize observer loop limit - @snowystinger - PR
- TableView virtualizer crash - @devongovett - PR
Docs#
- Fix useToast example in docs - @devongovett - PR
- Extract CSS vars from RAC docs into reusable package - @devongovett - PR
- Update React Aria docs to clarify virtualization support - @reidbarber - PR
- Update React Aria docs to introduce components by default - @devongovett - PR
- Docs for useLandmark - @reidbarber - PR
- Fix prop table in docs - @yihuiliao - PR
- Update FileTrigger directory prop name and docs - @yihuiliao - PR
- Fix broken links in the the docs - @ktabors - PR
- Update collections and selection guides for React Aria Components - @devongovett - PR
Under construction#
Fixes to pre-released components are listed below. Please feel free to try them out, and report any issues you encounter.
React Spectrum Submenus (Alpha)
React Spectrum Steplist (Alpha)
- TS Strict Mode steplist - @snowystinger - PR
- Steplist CSS improvements / HCM - @snowystinger - PR