General Changes
- Warn when a component function is rendered directly (#4077) by @atomiks
- Reset
openMethodafter close transition (#4128) by @atomiks - Fire Space activation on
keydownin composite widgets (#4053) by @atomiks - Skip CSS-hidden items during keyboard navigation in composite widgets (#4195) by @atomiks
- Optimize hot paths in
useHoverhooks andsafePolygon(#4199) by @atomiks - Snap
--anchor-widthand--anchor-heightto device pixel grid (#4082) by @flaviendelangle - Fix outside press dismissal when a component is portaled into a shadow DOM (#4230) by @dmitri-gb
- Fix nested hoverable popups (#4206) by @dmitri-gb
- Apply
data-base-ui-inertto highest-level node (#3955) by @atomiks - Fix portable types (#4058) by @cgatian
Accordion
Autocomplete
Avatar
Button
- Avoid checking
disabledtwice inonKeyDownandonKeyUp(#4132) by @flaviendelangle
Checkbox
Combobox
- Avoid applying field attributes to input when it is inside popup (#4154) by @atomiks
- Preserve inline input on
Enterwhen nothing is highlighted (#4235) by @atomiks - Fix ARIA attributes during SSR (#4179) by @atomiks
- Fix wrapping in virtualized grid arrow-key navigation (#4164) by @atomiks
- Add
InputGrouppart (#3745) by @atomiks - Add support for a visually hidden close button and improve modal focus trapping (#4084) by @atomiks
- Add
Labelpart (#4167) by @atomiks
Context Menu
Drawer
- Breaking change:
Draweris no longer marked as preview
Draweris now stable and should be imported as{ Drawer } from '@base-ui/react/drawer'(#4293) by @atomiks - Fix React 17 support (#4178) by @atomiks
- Include border in frontmost height variable (#4202) by @atomiks
- Improve touch selection (#4104) by @atomiks
- Preserve cross-axis scrolling during touch gestures (#4187) by @atomiks
- Prevent swipe dismissal when component is controlled (#4133) by @flaviendelangle
- Add
SwipeAreapart (#4102) by @atomiks - Make
data-base-ui-swipe-ignoreexplicit for touch interactions (#4295) by @atomiks - Disable inheritance for swipe CSS variables (#4099) by @atomiks
Field
- Fix field validation when
Formerrors orinvalidprop are present at same time (#4112) by @mj12albert
Menu
- Prevent
pointerleavefrom stealing focus from dialogs (#4125) by @atomiks - Optimize
pointer-eventsfor submenu hover interactions (#4231) by @atomiks - Fix
closeDelaynot being applied toMenu.SubmenuTrigger(#4134) by @flaviendelangle - Implement content transitions with
Viewport(#4060) by @michaldudak
Meter
- Fix label announcements in NVDA (#4200) by @mj12albert
Navigation Menu
- Fix support for nested inline menus (#4198) by @atomiks
- Fix close propagation in nested hover menus (#4285) by @atomiks
- Close parent menus when nested link with
closeOnClickis clicked (#4276) by @CiscoFran10 - Fix duplicate
aria-orientation(#4309) by @atomiks - Fix delayed trigger switches in Safari (#4310) by @atomiks
Number Field
- Fix increment/decrement press
reasonvalues inonValueCommitted(#4259) by @jijiseong
Popover
- Trap focus when
<Popover.Close>is rendered inside andmodalistrue, and add support for a visually hidden close button (#4084) by @atomiks - Fix nested hoverable popups (#3798) by @flaviendelangle
Preview Card
- Fix nested hoverable popups (#3798) by @flaviendelangle
Progress
- Fix label announcements in NVDA (#4200) by @mj12albert
Radio Group
Scroll Area
- Fix focus trapping with a non-scrollable viewport (#4220) by @atomiks
- Fix thumb size after remounting (#4107) by @atomiks
Select
- Fix hidden input
idfallback (#4135) by @atomiks - Fix
Valueplaceholder not rendering withRecorditems (#4137) by @vcode-sh - Fire
onClickduring drag-to-select (#3969) by @obeattie - Fix
itemstype definition for groups (#3884) by @aarongarciah - Fix
alignItemWithTriggerfallback with browser zoom (#4292) by @atomiks - Add
Labelpart (#4167) by @atomiks
Slider
- Add
Labelpart (#4167) by @atomiks - Stop committing validation on
touchend(#4091) by @jijiseong
Switch
Tabs
Toast
- Enable closing all toasts (#3979) by @chuganzy
- Prevent duplicate
onClosecalls for ending toasts (#4280) by @chuganzy
Tooltip
All contributors of this release in alphabetical order : @aarongarciah, @atomiks, @cgatian, @chuganzy, @CiscoFran10, @dmitri-gb, @flaviendelangle, @jijiseong, @michaldudak, @mj12albert, @obeattie, @vcode-sh