Mar 12, 2026
- 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
- Add generic
Valuetyping (#4138) by @atomiks
- Respect a
nullfilterprop (#4117) by @atomiks - Add
InputGrouppart (#3745) by @atomiks
- Remove fallback transition logic and prevent premature image display (#4110) by @atomiks
- Avoid checking
disabledtwice inonKeyDownandonKeyUp(#4132) by @flaviendelangle
- Add automatic
aria-labelledbysupport (#4142) by @atomiks
- 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
- Ignore
mouseupon non-Mac platforms (#3944) by @atomiks
- 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
- Fix field validation when
Formerrors orinvalidprop are present at same time (#4112) by @mj12albert
- 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
- Fix label announcements in NVDA (#4200) by @mj12albert
- 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
- Fix increment/decrement press
reasonvalues inonValueCommitted(#4259) by @jijiseong
- 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
- Fix nested hoverable popups (#3798) by @flaviendelangle
- Fix label announcements in NVDA (#4200) by @mj12albert
- Add automatic
aria-labelledbysupport (#4142) by @atomiks
- Fix focus trapping with a non-scrollable viewport (#4220) by @atomiks
- Fix thumb size after remounting (#4107) by @atomiks
- 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
- Add
Labelpart (#4167) by @atomiks - Stop committing validation on
touchend(#4091) by @jijiseong
- Add automatic
aria-labelledbysupport (#4142) by @atomiks
- Re-render indicator position on tab resize (#4165) by @atomiks
- Enable closing all toasts (#3979) by @chuganzy
- Prevent duplicate
onClosecalls for ending toasts (#4280) by @chuganzy
- Add
closeOnClickprop (#4140) by @atomiks
All contributors of this release in alphabetical order : @aarongarciah, @atomiks, @cgatian, @chuganzy, @CiscoFran10, @dmitri-gb, @flaviendelangle, @jijiseong, @michaldudak, @mj12albert, @obeattie, @vcode-sh
Feb 12, 2026
- Do not memoize
statewhen not needed (#3812) by @flaviendelangle - Support lazy element in
renderprop (#3856) by @oliviertassinari - Replace Firefox deprecated mozInputSource check for virtual click detection (#3942) by @CiscoFran10
- Use
WeakReffor previously focused elements (#3916) by @atomiks - Fix page scroll jump when input has focus on unmount in Safari (#3925) by @atomiks
- Fix flash at origin before positioning completes in Preact (#3975) by @OliverSpeir
- Reduce style recalculation with classic scrollbars (#3854) by @mdm317
- Fix event handling in useEnhancedClickHandler (#3981) by @sai6855
- Fix filter method's
useMemodependency (#3862) by @ZeeshanTamboli - Fix Autocomplete not using its internal filter method when
modeislist(#3936) by @ZeeshanTamboli - Remove unnecessary double stringification of item in filtering logic (#3945) by @ZeeshanTamboli
- Add
useFilteredItemshook (#3732) by @guisehn - Fix popup closing on iOS VoiceOver (#3859) by @atomiks
- Remove
aria-readonlyprop fromClearandPopupcomponents whenreadOnly(#3907) by @markocupic024
- Add transition attributes (#3939) by @atomiks
- Capture component stack for
nativeButtonerror message (#3861) by @atomiks
- Cleanup disabled state tracking (#3913) by @atomiks
- Preserve modifier key properties in the change event (#3935) by @mj12albert
- Allow exit animations on
<Checkbox.Indicator>whenkeepMounted={false}(#3939) by @atomiks
- Fix the type of the ref of the
Iconpart (#3796) by @flaviendelangle - Avoid clearing selected value if item is not present in items array (#3824) by @atomiks
- Fix highlight change reason in
ChipRemove(#3980) by @sai6855 - Keep highlight on last deselect (#3923) by @atomiks
- Fix inline filtering after selection in single mode (#3978) by @atomiks
- Clear highlight on inline blur when inline (#3973) by @atomiks
- Prevent opening popup on autofill change (#3924) by @atomiks
- Distinguish
input-pressfromtrigger-pressinonOpenChangereason (#4015) by @jijiseong - Fix async items while popup is open (#4034) by @atomiks
- Prevent
Chipfrom receiving focus whendisabled(#4044) by @jijiseong - Add
useFilteredItemshook (#3732) by @guisehn - Fix popup closing on iOS VoiceOver (#3859) by @atomiks
- Remove
aria-readonlyprop fromClearandPopupcomponents whenreadOnly(#3907) by @markocupic024 - Fix
onClickItemtype (#3964) by @atomiks - Use reactive
domReferenceElementsubscriptions (#4017) by @atomiks - Add
autoCompleteprop for explicit browser autofill support (#4005) by @mattrothenberg - Fix inconsistent isItemEqualToValue argument order (#4056) by @atomiks
- Fix
disabledprop not working (#3806) by @arturbien - Fix explicit
collisionAvoidancewithside: 'flip'not working (#3877) by @obeattie
- Create new Drawer / Sheet component (#3680) by @atomiks
- Prevent re-renders when
Field.Controlis uncontrolled (#3820) by @atomiks - Fix autofocus in SSR environments (#3871) by @mj12albert
- Fix max update depth loop when using
<React.Activity>(#3931) by @atomiks - Add transition attributes (#3939) by @atomiks
- Fix autofocus in SSR environments (#3871) by @mj12albert
- Update ref type to
HTMLElement(#3866) by @mj12albert
- Fix
onClickItemtype (#3964) by @atomiks - Fix submenu stuck glitch (#3783) by @atomiks
- Fix race conditions (#3821) by @atomiks
- Add
<Menu.LinkItem>part (#3400) by @mj12albert
- Fix forwarded ref types (#3775) by @CrawlerCode
- Add
keepMountedprop toContentpart (#3794) by @atomiks
- Fix click handlers on ScrubArea (#3827) by @mj12albert
- Remove
event.isTrusted(#3920) by @atomiks - Stop repeat change at bounds (#3915) by @atomiks
- Add
allowOutOfRangeprop (#3919) by @atomiks - Fix pen pointer handling (#3917) by @atomiks
- Fix missing field state data attributes (#3909) by @mj12albert
- Fix missing
aria-ownselement (#3959) by @atomiks - Use reactive
domReferenceElementsubscriptions (#4017) by @atomiks - Fix broken scale transition with detached triggers (#3810) by @michaldudak
- Fix broken scale transition with detached triggers (#3810) by @michaldudak
- De-duplicate
formatValuefunction (#3805) by @sai6855
- Preserve modifier key properties in the change event (#3935) by @mj12albert
- Allow exit animations on
<Radio.Indicator>whenkeepMounted={false}(#3939) by @atomiks - Rely on individual radio hidden inputs (#3826) by @atomiks
- Add generic
Valuetyping toRadio(#4033) by @atomiks
- Add
data-scrollingstate attribute toRootandViewportparts (#3823) by @arturbien - Fix overflow edge rounding (#3888) by @atomiks
- Add
finalFocusprop (#3785) by @markocupic024 - Fix
alignItemWithTriggertransform with CSS animations (#3831) by @atomiks - Fix
highlightItemOnHovernot being respected (#3868) by @sarthakmalik0810 - Reset typeahead on external blur (#2618) by @antonfrolovsky
- Fix scroll height loop (#3795) by @atomiks
- Add
autoCompleteprop for explicit browser autofill support (#4005) by @mattrothenberg - Fix inconsistent isItemEqualToValue argument order (#4056) by @atomiks
- Fix missing field state data attributes (#3909) by @mj12albert
- Fix change event cloning (#3960) by @atomiks
- Preserve modifier key properties in the change event (#3935) by @mj12albert
- Add transition attributes to
<Tabs.Panel>part (#3880) by @atomiks
- Make
useToastManagerandcreateToastManagergeneric functions (#3882) by @solastley - Prevent dismissed promise toast from reopening on updates (#4040) by @atomiks
- Introduce a store (#3464) by @flaviendelangle
- Improve type safety and inference (#3173) by @michaelhazan
- Type value as string to match Toggle (#3770) by @markocupic024
- Enable
Home/Endkey navigation (#3971) by @jijiseong - Improve type safety and inference (#3173) by @michaelhazan
- Prevent opening when focusing a disabled Trigger (#3902) by @michaldudak
- Fix broken scale transition with detached triggers (#3810) by @michaldudak
- Fix disabled prop on Triggers (#4049) by @michaldudak
All contributors of this release in alphabetical order : @antonfrolovsky, @arturbien, @atomiks, @CiscoFran10, @CrawlerCode, @flaviendelangle, @guisehn, @jijiseong, @LukasTy, @markocupic024, @mattrothenberg, @mdm317, @michaelhazan, @michaldudak, @mj12albert, @obeattie, @OliverSpeir, @oliviertassinari, @sai6855, @sarthakmalik0810, @solastley, @ZeeshanTamboli
Jan 15, 2026
- Fix
onOpenChangeComplete(true)timing (#3558) by @atomiks - Fix touch
openMethodwhen tapping outside element bounds on Safari (#3541) by @atomiks - Fix visually hidden input styles across form components (#3606) by @atomiks
- Fix click and drags outside a nested popup component from closing its parents (#3571) by @atomiks
- Fix forwarded ref types (#3638) by @atomiks
- Fix detached trigger remounting (#3724) by @atomiks
- Include
refinBaseUIComponentProps(#2813) by @atomiks - Remove duplicated
disabledprop (#3650) by @seongminn - Allow
actionsRefto benull(#3682) by @mj12albert
- Fix keyboard navigation with non-interactive trigger elements (#3684) by @ZeeshanTamboli
- Add
data-popup-sideanddata-list-emptystate attributes to<Autocomplete.Trigger>(#3491) by @atomiks - Add
loopFocusprop (#3592) by @atomiks - Fix hidden input
idandrequiredprops (#3640) by @atomiks
- Remove discriminated props union (#3643) by @atomiks
- Fix hidden input
idandrequiredprops (#3640) by @atomiks
- Add
data-popup-sideanddata-list-emptystate attributes to<Combobox.Trigger>(#3491) by @atomiks - Add
loopFocusprop (#3592) by @atomiks - Add
toolbarrole to<Combobox.Chips>to prevent NVDA from entering browse mode (#3647) by @atomiks - Add
placeholderprop to<Combobox.Value>(#3604) by @atomiks - Fix controlled
valueprop whenitemschange (#3607) by @atomiks - Fix
multiplevalues label resolution in<Combobox.Value>(#3314) by @atomiks - Forward root
idto visible form element (#3722) by @atomiks - Do not trigger Field
onBlurhandlers when opening popup (#3609) by @atomiks
- Avoid creating sibling elements next to trigger (#3645) by @atomiks
- Add
CSPProvider(#3553) by @atomiks
- Fix
Maximum update depth exceedederror with Suspense (#3700) by @michaldudak - Fix
<Dialog.Title>forwardedRef type (#3736) by @ZeeshanTamboli
- Add
actionsRefprop (#3395) by @mj12albert - Add
nativeLabelprop to<Field.Label>(#3723) by @atomiks - Add missing type export (#3702) by @DiegoAndai
- Add
actionsRefprop (#3395) by @mj12albert
- Fix focus guard handling (#3654) by @atomiks
- Avoid disabling modality on click after hover-open (#3455) by @atomiks
- Fix submenu outside-press dismiss on touch (#3556) by @atomiks
- Fix Field
data-focusedstate (#3563) by @atomiks - Fix hidden input focus on submit (#3581) by @atomiks
- Fix popup auto resize glitches (#3591) by @atomiks
- Fix focus guard handling (#3654) by @atomiks
- Prevent disabling focus management when clicking trigger before hover delay completes (#3572) by @atomiks
- Refactor popup auto resize logic. It is no longer necessary to specify
--positioner-width/--positioner-heightCSS variables on<Popover.Positioner>when using detached triggers unless theViewportpart has been added to the JSX. (#3652) by @atomiks
- Support detached triggers (#3566) by @michaldudak and @atomiks
- Fix
valuetype (#3582) by @atomiks - Fix hidden input
idandrequiredprops (#3640) by @atomiks
- Perf improvements (#3536) by @atomiks
- Add
placeholderprop to<Select.Value>(#3604) by @atomiks - Fix support for transform animations when
alignItemWithTriggeris active (#3532) by @atomiks - Fix support for
max-heightpopup style whenalignItemWithTriggeris active (#3573) by @atomiks - Fix
data-filledstate inmultiplemode (#3608) by @atomiks - Fix highlight being removed on popup mouseout when
highlightItemOnHoveris disabled (#3492) by @atomiks - Fix support for individual transform animations when
alignItemWithTriggeris active (#3637) by @atomiks - Fix
multiplevalues label resolution in<Select.Value>(#3314) by @atomiks - Forward root
idto visible form element (#3722) by @atomiks - Do not trigger Field
onBlurhandlers when opening popup (#3609) by @atomiks
- Fix
onValueCommittednot called for range sliders (#3600) by @mj12albert
- Add
valueprop (#3676) by @Grafikart - Fix hidden input
idandrequiredprops (#3640) by @atomiks
- Fix timers not being rescheduled when updated (#3564) by @atomiks
- Fix popup auto resize glitches (#3591) by @atomiks
- Fix
trackCursorAxishandling (#3679) by @atomiks - Refactor popup auto resize logic. It is no longer necessary to specify
--positioner-width/--positioner-heightCSS variables on<Tooltip.Positioner>when using detached triggers unless theViewportpart has been added to the JSX. (#3652) by @atomiks
- Make
mergePropspublic (#3642) by @michaldudak and @LukasTy
- Export missing types (#3565) by @michaldudak
All contributors of this release in alphabetical order: @albertdugba, @atomiks, @brijeshb42, @chuganzy, @colmtuite, @dav-is, @DiegoAndai, @Grafikart, @Janpot, @LukasTy, @michaldudak, @mj12albert, @oliviertassinari, @seongminn, @updbqn, @ZeeshanTamboli
Dec 11, 2025
- Breaking change: Rename packages to use the
@base-uiorg.
The package name has changed from@base-ui-components/reactto@base-ui/react. (#3462) by @mnajdova
- Respect
itemToStringValueforonFormSubmit(#3441) by @atomiks - Add
nullas an option for the value prop (#3488) by @mnajdova
- Fix submenu opens with 0 delay (#3459) by @atomiks
- Fix focus not returning to trigger on Esc while pointer rests on popup (#3482) by @atomiks
- Fix always
nullopen method (#3486) by @atomiks - Allow side axis fallback for submenus by default (#3470) by @atomiks
- Fix mount transitions on
Positionerin Firefox (#3424) by @atomiks
- Fix multiple scrub area support (#3471) by @atomiks
- Fix mount transitions on
Positionerin Firefox (#3424) by @atomiks - Fix skipped viewport transitions (#3453) by @atomiks
- Respect
itemToStringValueforonFormSubmit(#3441) by @atomiks - Add
nullas an option for the value prop (#3488) by @mnajdova
- Fix indicator positioning in transformed containers (#3439) by @atomiks
- Do not initially select a disabled tab (#3475) by @michaldudak
- Fix
flushSyncdev error when toast is added (#3443) by @atomiks - Fix
<Toast.Close>;emittingaria-hiddenwarning on click (#3469) by @atomiks
- More permissive towards falsy toggle values (#3477) by @mj12albert
- Fix mount transitions on
Positionerin Firefox (#3424) by @atomiks - Fix ignored "modal" setting in Popovers experiment (#3474) by @michaldudak
- Fix shared tooltip closing with trigger gaps (#3452) by @atomiks
- Fix skipped viewport transitions (#3453) by @atomiks
All contributors of this release in alphabetical order: @atomiks, @LukasTy, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @pondorasti, @romgrk, @ZeeshanTamboli
Dec 11, 2025
This release contains the same code as v1.0.0. Please refer to that version to see the changes.
Dec 11, 2025
This release contains the same code as v1.0.0. Please refer to that version to see the changes.
Dec 4, 2025
- Fix missing
'use client'directives (#3408) by @atomiks
- Fix
keepHighlightfocus sync (#3399) by @atomiks
- Breaking change: Match native unchecked state in form submission.
The Checkbox will not submit the"off"value with a form when unchecked anymore, unless the newuncheckedValueprop is set. (#3406) by @atomiks
- Remove
render={null}(#3407) by @mj12albert
- Breaking change: Removed the
keepHighlightprop (#3377) by @atomiks
- Close when pressing focusable element outside (#3380) by @atomiks
- Fix closing after pointer lock exit in Firefox (#3379) by @atomiks
- Add
highlightItemOnHoverprop (#3377) by @atomiks - Do not import client components from MenuStore (#3409) by @michaldudak
- Ensure hidden input participates in form validation (#3374) by @atomiks
- Improve symbol replacement logic (#3376) by @atomiks
- Fix fractional step snapping (#3375) by @atomiks
- Fix parsing numbers with Swiss locale (#3361) by @michaldudak
- Fix pointer lock release when soft clicking in Firefox (#3378) by @atomiks
- Close when pressing focusable element outside (#3380) by @atomiks
- Fix modal backdrop on touch (#3383) by @atomiks
- Fix popover glitching when flipped (#3364) by @michaldudak
- Add
highlightItemOnHoverprop (#3377) by @atomiks
- Breaking change: Match native off state in form submission.
The Switch will not submit the"off"value with a form when unchecked anymore, unless the newuncheckedValueprop is set. (#3406) by @atomiks
- Breaking change: Fix Panel
keepMountedbehavior.
Thevalueprop is now required on<Tabs.Tab>and<Tabs.Panel>parts. (#3372) by @atomiks
- Recalculate content height when layout size is fixed (#3359) by @atomiks
- Fix multiple swipe directions on same axis (#3392) by @mj12albert
- Improve contained triggers performance (#3385) by @michaldudak
All contributors of this release in alphabetical order: @atomiks, @michaldudak, @mj12albert, @oliviertassinari, @pondorasti, @romgrk
Nov 27, 2025
- Fix error about
props.refaccess in React <=18 (#3257) by @atomiks - Prefer non-adaptive anchoring position in
<Positioner>components and fixautoFocusscroll jumps (#3250) by @atomiks - Make popups'
data-anchor-hiddenstate attribute check for anchor presence in layout (#3267) by @atomiks - Prevent popups from sticking after hover when pressing
<a>tags inside them (#3318) by @atomiks - Improve performance when detached triggers are used (#3277)
- Fix iOS VoiceOver voice control accessibility in non-modal popups (#3340)
- Fix trigger registration loop (#3249) by @atomiks
- Fix focus restoration when focused element is hidden with CSS (#3313)
- Fix
aria-describedbyon checkbox group (#3269) by @mj12albert
- Revert overload types to ensure typed wrappers work correctly (#3254) by @atomiks
- Fix ignored
filteredItemsinstances (#3272) by @atomiks - Fix loop when passing
undefinedtoitemsprop (#3348)
- Block mouseup at initial cursor point (#3274) by @atomiks
- Fix trigger registration loop (#3249) by @atomiks
- Fix focus restoration when focused element is hidden with CSS (#3313)
- Fix cast
reftype (#3324) by @mj12albert
- Fix trigger registration loop (#3249) by @atomiks
- Do not pass
keyto the rendered element (#3255) by @michaldudak - Fix nested dialog from closing on Shift+Tab (#3346)
- Fix Safari 18 issue where
<Positioner>width may be set to 0 on hover (#3309) by @EmilNordling - Ensure submenu triggers participate in composite list (#3344) by @atomiks
- Fix literal space handling with symbols (#3334) by @atomiks
- Fix trigger registration loop (#3249) by @atomiks
- Do not pass
keyto the rendered element (#3255) by @michaldudak - Fix focus restoration when focused element is hidden with CSS (#3313)
- Revert overload types to ensure typed wrappers work correctly (#3254) by @atomiks
- Fix extra
onValueCommittedcalls (#3312) by @mj12albert - Fix cast
reftype (#3324) by @mj12albert
- Fix trigger registration loop (#3249) by @atomiks
All contributors of this release in alphabetical order: @atomiks, @brijeshb42, @Copilot, @EmilNordling, @michaldudak, @mj12albert, @oliviertassinari, @ZeeshanTamboli
Nov 17, 2025
This is a hotfix release with the following changes:
- Fix for rendering of Alert Dialog, Dialog, Menu, Popover, and Tooltip in React Server Components (#3241) by @michaldudak
- Fix of the types of the refs in the Checkbox, Switch and Radio components (#3246) by @mnajdova
- Fix of the value type error with mergeProps (#3247) by @atomiks
Nov 17, 2025
- Breaking change: Replace
trackAnchorwithdisableAnchorTracking.
If you were usingtrackAnchor={false}, be sure to update your usage todisableAnchorTrackinginstead. (#3188) by @mnajdova - Breaking change: Rename
looptoloopFocus(#3186) by @mnajdova - Fix type portability (#2912) by @atomiks
- Accept a function for the
styleprop (#3038) by @mnajdova - Create portal elements inside React (#2889) by @atomiks
- Avoid applying
hiddenattribute to indicator elements when they specifykeepMountedand are invisible (#3228) by @atomiks - Fix crash in Next.js 16 when accessing
render.props.ref(#3231) by @atomiks
- Breaking change: Change
multipleprop to be false by default and add a demo (#3141) by @mnajdova - Fix flaky exit transition (#3101) by @atomiks
- Fix
initialFocusas function being called on close (#2949) by @atomiks - Support detached triggers (#2974) by @michaldudak
- Place
overflow: hiddenon<body>for overlay scrollbars by default. Avoids sticky elements shifting if<body>has anoverflowstyle specified. (#3083) by @atomiks - Add
<AlertDialog.Viewport>part (#2808) by @atomiks
- Breaking change: Refactor
alwaysSubmitOnEntertosubmitOnItemClickprop.
If you were usingalwaysSubmitOnEnter, be sure to update your usage tosubmitOnItemClickinstead. (#3018) by @atomiks - Prevent blocking filtering while composing text on Android (#2944) by @atomiks
- Add empty state to
List.State(#2934) by @atomiks - Fix
initialFocusas function being called on close (#2949) by @atomiks - Add
role="combobox"to<Autocomplete.Trigger>if<Autocomplete.Input>is inside Popup (#2973) by @atomiks - Fix stale
onItemHighlighteddata when filtering withautoHighlight(#2829) by @atomiks - Add empty and side styling attributes on
<Autocomplete.Input>(#2926) by @atomiks - Fix
<Autocomplete.Value>component return type for React 17 (#3050) by @atomiks - Support
autoHighlight: "always", and addkeepHighlight,highlightItemOnHoverprops (#2976) by @atomiks - Keep focus on input when pressing list element (#3092) by @atomiks
- Allow Esc to bubble if
<Autocomplete.Empty>is not used (#2935) by @atomiks - Add
dialogrole to popup when input is inside (#3213) by @atomiks
- New
<Button>component (#2363) by @atomiks
- Breaking change: Render root as
<span>instead of<button>(#3205) by @mj12albert
- Fix
starting-stylestate (#2985) by @atomiks
- Take into account
isItemEqualToValuewhen selecting an option in multiple mode (#2893) by @epr3 - Move
CompositeListtoListcomponent to makeInputwork with composites (#2883) by @chuganzy - Fix
onValueChangetype inference whenvalueis unspecified (#2897) by @atomiks - Fix
requiredform submission with multiple values (#2925) by @atomiks - Fix Home/End Input scroll in Chrome/Safari (#2928) by @atomiks
- Prevent blocking filtering while composing text on Android (#2944) by @atomiks
- Add empty state to
List.State(#2934) by @atomiks - Fix
initialFocusas function being called on close (#2949) by @atomiks - Add
role="combobox"to<Combobox.Trigger>if<Combobox.Input>is inside Popup (#2973) by @atomiks - Fix
Fieldcontrol ref when input is inside popup (#2971) by @atomiks - Fix stale
onItemHighlighteddata when filtering withautoHighlight(#2829) by @atomiks - Add empty and side styling attributes on
<Combobox.Input>(#2926) by @atomiks - Fix
<Combobox.Value>component return type for React 17 (#3050) by @atomiks - Fix input value derivation on
valueanditemsprop updates (#3067) by @atomiks - Support
autoHighlight: "always", and addkeepHighlight,highlightItemOnHoverprops (#2976) by @atomiks - Keep focus on input when pressing list element (#3092) by @atomiks
- Fix support of dialog + combobox pattern (#3049) by @atomiks
- Support drag-to-select (#3167) by @atomiks
- Allow Esc to bubble if
<Combobox.Empty>is not used (#2935) by @atomiks - Fix stuck filtering with differing stringifiers (#3201) by @atomiks
- Add
dialogrole to popup when input is inside (#3213) by @atomiks
- Add
openstate to<ContextMenu.Trigger>(#3195) by @atomiks - Fix ignored
anchorprop on<ContextMenu.Positioner>(#3202) by @atomiks
- Breaking change: Replace
dismissiblewithdisablePointerDismissal.
If you were usingdismissible={false}, replace it withdisablePointerDismissal. (#3190) by @mnajdova - Fix
initialFocusas function being called on close (#2949) by @atomiks - Support detached triggers (#2974) by @michaldudak
- Place
overflow: hiddenon<body>for overlay scrollbars by default. Avoids sticky elements shifting if<body>has anoverflowstyle specified. (#3083) by @atomiks - Add
<Dialog.Viewport>part and scrollable demos on docs (#2808) by @atomiks
- Breaking change: Add
onSubmitvalidation mode and make it the default overonBlur.
Fields that use non-requiredattribute validation no longer validate the control on blur. Instead, validation first occursonSubmit, and afterwards revalidation occursonChange. (#3013) by @mj12albert - Add
dirtyandtouchedprops (#2950) by @mj12albert - New
<Field.Item>part (#2810) by @mj12albert - Fix
validationMode="onChange"not clearing custom error state (#3048) by @mj12albert - Fix external
onChangevalidation mode errors (#3137) by @atomiks
- Breaking change: The
onClearErrorsprop has been removed.
Errors from theerrorsprop are always cleared when the value changes. (#3136) by @mj12albert - Add
onSubmitvalidation mode.
Additionally,validationModecan be set on<Form>. (#3013) by @mj12albert - Add
onFormSubmitcallback (#3131) by @mj12albert
- Breaking change: Support detached triggers.
openOnHover,delay, andcloseDelayprops have been moved from<Menu.Root>to<Menu.Trigger>.
Additionally, menus now must have at least one<Menu.Trigger>element. (#3170) by @michaldudak - Ignore disabled item on initial focusing (#2604) by @mnajdova
- Fix stealing focus from dialogs on close (#2920) by @atomiks
- Place
overflow: hiddenon<body>for overlay scrollbars by default. Avoids sticky elements shifting if<body>has anoverflowstyle specified. (#3083) by @atomiks
- Fix nested popup dismiss actions (#2978) by @atomiks
- Fix error on React 17 (#3204) by @atomiks
- Granular change reasons (#3132) by @atomiks
- Breaking change: Support detached triggers and multiple triggers per popover.
openOnHover,delay, andcloseDelayprops have been moved from<Popover.Root>to<Popover.Trigger>. (#2336) by @michaldudak - Fix
initialFocusas function being called on close (#2949) by @atomiks - Fix swiping or scrolling on nested popup dismissing popover on touch (#3011) by @atomiks
- Place
overflow: hiddenon<body>for overlay scrollbars by default. Avoids sticky elements shifting if<body>has anoverflowstyle specified. (#3083) by @atomiks
- Breaking change: Move delay props to trigger.
If you were usingdelayorcloseDelayprops, be sure to move them to from<PreviewCard.Root>to the<PreviewCard.Trigger>component. (#3182) by @atomiks
- Breaking change: Render root as
<span>instead of<button>(#3205) by @mj12albert
- Breaking change: Improve CSS vars performance.
The CSS variables are now on the<ScrollArea.Viewport>part, not<ScrollArea.Root>, and inheritance is disabled for all child elements (or pseudo-elements). Children must manually opt in using--scroll-area-[variable-name]: inherit. (#3156) by @atomiks
- Breaking change: Make the trigger native button by default.
The trigger now renders a<button>element, be sure to adjust your code if necessary. (#3177) by @mnajdova - Add
openstate type onSelect.Iconinterface (#2919) by @komkanit - Fix
onValueChangetype inference whenvalueis unspecified (#2897) by @atomiks - Fix
requiredform submission with multiple values (#2925) by @atomiks - Avoid re-rendering on popup height expansion (#2972) by @atomiks
- Place
overflow: hiddenon<body>for overlay scrollbars by default. Avoids sticky elements shifting if<body>has anoverflowstyle specified. (#3083) by @atomiks - Add
data-placeholderattribute (#2737) by @seongminn
- Breaking change: Add
thumbCollisionBehaviorprop.
In range sliders, moving a thumb with a pointer will now push other thumbs it collides with to avoid blocking drag movements by default (the default value ispush).
The valueswapwas also added, which allows thumbs to be dragged past each other when they collide.
Lastly, the valuenoneis the same as the previous behavior, where thumbs can't be dragged past one another.
Keyboard interactions always usenonebehavior. (#2856) by @atomiks - Granular change reasons (#3132) by @atomiks
- Breaking change: Render root as
<span>instead of<button>(#3205) by @mj12albert
- Breaking change: Fix selected/active state naming consistency.
- Renamed
[data-selected]to[data-active]in<Tabs.Tab> - Removed
[data-highlighted](:focus-visiblewas already the recommendation in styles) selectedTabPosition/selectedTabSizeare nowactiveTabPosition/activeTabSizeinTabs.Indicator.State(#3024) by @atomiks
- Renamed
- Breaking change: Change
activateOnFocusto false.
If you need your Tabs to activate on focus, be sure to addactivateOnFocusprop. (#3176) by @mnajdova - Fix Next.js 16 error from
Math.randomid generation (#3051) by @atomiks - Fix indicator sizing and offsets (#3214) by @atomiks
- Allow
React.ReactNodefortitle/descriptionproperties (#2929) by @atomiks - Add ability to anchor to an element (#3096) by @atomiks
- Breaking change: The
colsprop has been removed.
This prop was not supposed to be exposed. (#3133) by @mj12albert
- Breaking change: Support detached triggers.
delayandcloseDelayprops have been moved from<Tooltip.Root>to<Tooltip.Trigger>. (#3071) by @michaldudak - Breaking change: Change
hoverabletodisableHoverablePopup.
In case you need to disable the hoverable popup behavior, be sure to add thedisableHoverablePopupprop. (#3178) by @mnajdova - Fix
data-instantending transition of same tooltip (#2962) by @atomiks
All contributors of this release in alphabetical order: @atomiks, @brianle1301, @brijeshb42, @chuganzy, @dav-is, @epr3, @fredericoo, @Janpot, @komkanit, @LukasTy, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @romgrk, @seongminn, @sukvvon, @ZeeshanTamboli
Oct 1, 2025
- Breaking change: Generic event details.
The main exported type is now
BaseUIChangeEventDetails(with a pairedBaseUIGenericEventDetails), notBaseUIEventDetails. (#2796) by @atomiks - Update
disabledprop of buttons when ref changes (#2756) by @chuganzy - Refine event details (#2698) by @atomiks
- Breaking change: Use
useIdinstead of composite index as fallback value. Accordion items must have an explicitvalueset in order to be initially open. Inferring the value by their DOM index is no longer supported. (#2664) by @mj12albert - Breaking change: Rename
openMultipleprop tomultiple(#2764) by @LukasTy
- Breaking change: Rename
colstogridprop. Specifygrid={true}instead ofcols={number}- the columns are automatically inferred fromAutocomplete.Row(#2683) by @atomiks - Fix duplicate
onOpenChangecalls and pass correct DOMevent. (#2682) by @atomiks - Fix controlled input value updates (#2707) by @atomiks
- Fix input focus on close when clicking trigger (#2723) by @atomiks
- Add
alwaysSubmitOnEnterprop and allow form submission on Enter if no item is highlighted by default (#2700) by @atomiks - Use
ReadonlyArraytype foritems(#2819) by @atomiks
- Fix CollapsiblePanel type to use its own state (#2697) by @chuganzy
- Respect user's CSS
displayproperty on panel (#2772) by @mj12albert
- Breaking change:
onItemHighlightednow has areasonproperty instead oftypeto be consistent with theeventDetailsAPI. (#2796) by @atomiks - Breaking change: Rename
colstogridprop. Specifygrid={true}instead ofcols={number}- the columns are automatically inferred fromCombobox.Row(#2683) by @atomiks - Fix duplicate
onOpenChangecalls and pass correct DOMevent. (#2682) by @atomiks - Fix initial closed typeahead (#2665) by @atomiks
- Support
autoHighlightprop (#2668) by @atomiks - Set default input value based on
valueprop (#2680) by @atomiks - Fix controlled input value updates (#2707) by @atomiks
- Fix input focus on close when clicking trigger. Fixes a jump to the bottom of the page in Safari (#2723) by @atomiks
- Fix unexpected close with multiple selection and input inside popup (#2771) by @atomiks
- Allow form submission on Enter if no item is highlighted by default (#2700) by @atomiks
- Avoid refiltering with ending transition in multiple selection mode (#2681) by @atomiks
- Support object values with
isItemEqualToValueprop (#2704) by @atomiks - Use
ReadonlyArraytype foritems(#2819) by @atomiks - Fix misleading
item-pressreason inonInputValueChange(#2830) by @atomiks - Clear single-select value on input clear (#2860) by @atomiks
- Fix
focusoutof input not closing popup under certain conditions (#2864)
- Ensure submenus close when parents close (#2768) by @atomiks
- Fix
onClickfiring twice on first click of item (#2849) by @atomiks
- Ensure submenus close when parents close (#2768) by @atomiks
- Allow non-nested portals across differing popup trees (#2818) by @atomiks
- Fix Menubar not disabling child Menus (#2736) by @aarongarciah
- Ensure submenus close when parents close (#2768) by @atomiks
- Fix
CompositeListnot updating item order on reordering (#2675) by @chuganzy
- Make link close on click configurable (#2740) by @atomiks
- Fix focus returning to trigger without animations (#2779) by @atomiks
- Fix
CompositeListnot updating item order on reordering (#2675) by @chuganzy
- Fix stuck virtual cursor after mouse tap (#2720) by @atomiks
- Improve parsing logic (#2725) by @atomiks
- Align value changes with
Slider. AnonValueCommittedcallback has been added. (#2726) by @atomiks
- Allow non-nested portals across differing popup trees (#2818) by @atomiks
- Add overflow presence state attributes and CSS variables (#2478) by @atomiks
- Fix RTL horizontal scrollbar on Safari (#2776) by @atomiks
- Fix thumb size flicker (#2778) by @atomiks
- Breaking change: Add
Select.Listcomponent. It is now possible forSelect.ScrollArrowto show when in fallback (alignItemWithTriggerdeactivated). As a result, if you want the scroll arrows to be hidden in this mode like before, change the styles to default todisplay: noneon.ScrollArrow, anddisplay: blockwhen[data-side="none"]. (#2596) by @atomiks - Block opening the popup when provided
readOnly(#2717) by @seongminn - Add
openstate forSelect.Iconand fixreftype (#2714) by @seongminn - Support object values with
isItemEqualToValueprop (#2704) by @atomiks - Use
ReadonlyArraytype foritems(#2819) by @atomiks
- Breaking change:
onValueChangehasactiveThumbIndexas part of theeventDetailsobject as a second parameter, not third. (#2796) by @atomiks - Breaking change: Remove redundant hidden inputs.
The
inputRefprop is moved fromRoottoThumb. (#2631) by @mj12albert - Fix pointer tracking bugs (#2688) by @mj12albert
- Fix input attributes (#2728) by @mj12albert
- Add
thumbAlignmentprop (#2540) by @mj12albert
- Fix duplicate
nameattribute (#2763) by @mj12albert
- Breaking change: Support variable height stacking.
Toasts that have varying heights no longer force a
data-expandedexpanded state on the viewport. CSS should be amended to ensure larger toasts don't overflow a small toast stacked at the front. See this diff for new styles, along with general improvements to stacking styles. (#2742) by @atomiks - Reduce stickiness of expanded state (#2770) by @atomiks
- Ensure toast is frozen at its current visual transform while swiping (#2769) by @atomiks
- Breaking change: Rename
toggleMultipleprop tomultiple. (#2764) by @LukasTy
- Fix
CompositeListnot updating item order on reordering (#2675) by @chuganzy
- Add div as a
defaultTagName(#2692) by @mnajdova
All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @chuganzy, @Copilot, @Janpot, @LukasTy, @martenbjork, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @seongminn, @sukvvon, @vladmoroz
Sep 3, 2025
- Breaking change: Base UI event details.
Custom event callbacks provide BaseUIEventDetails object as their second parameter.
This object contains the source event, reason and methods to customize the behavior (where applicable).
For example,
onOpenChange(open, event, reason)becomesonOpenChange(open, eventDetails), whereeventDetailscontainseventandreasonproperties.(#2382) by @atomiks-onOpenChange: (open, event, reason) => { +onOpenChange: (open, eventDetails) => { - if (reason === 'escape-key') { + if (eventDetails.reason === 'escape-key') { // ... } }
- Breaking change: Support
initialFocusandfinalFocusfunctions. TheinitialFocusandfinalFocusprops can be functions that return DOM elements to focus. This is a new feature forfinalFocusand a breaking change forinitialFocusas the element must be returned directly (not as a ref). (#2536) by @atomiks
- New Autocomplete component (#2105) by @atomiks
- Fix missing validity attributes when wrapped in
Field(#2572) by @Copilot
- New Combobox component (#2105) by @atomiks
- Fix default offsets when
align="center"orsidediffers (#2601) by @atomiks
- Breaking change: Support
initialFocusandfinalFocusfunctions. TheinitialFocusandfinalFocusprops can be functions that return DOM elements to focus. This is a new feature forfinalFocusand a breaking change forinitialFocusas the element must be returned directly (not as a ref). (#2536) by @atomiks - Restore focus to popup when focused element is removed (#2479) by @atomiks
- Prevent defaultValue reset on focus for uncontrolled inputs (#2543) by @ingokpp
- Allow
onValueChangeto fire whendefaultValue/valueare not set (#2600) by @atomiks
- Allow
onValueChangeto fire whendefaultValue/valueare not set (#2600) by @atomiks
- Breaking change: Fix
closeParentOnEscdefault value. The default value ofcloseParentOnEscin Menu.SubmenuRoot is now false. When the Esc key is pressed in a Submenu, the Submenu closes, and the focus correctly moves to the SubmenuTrigger. (#2493) by @seongminn - Breaking change: Support
initialFocusandfinalFocusfunctions. TheinitialFocusandfinalFocusprops can be functions that return DOM elements to focus. This is a new feature forfinalFocusand a breaking change forinitialFocusas the element must be returned directly (not as a ref). (#2536) by @atomiks - Fix menu not opening when inside context menu trigger (#2506) by @baptisteArno
- Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) by @atomiks - Fix submenu events (#2483) by @atomiks
- Fix
limitShiftoffset based on arrow size (#2571) by @atomiks
- Breaking change: Semantic element structure and
activepage prop.NavigationMenu.Listrenders<ul>andNavigationMenu.Itemrenders<li>by default. (#2526) by @atomiks - Unshare
AbortControllerinstance (#2441) by @tomokinat - Close on link click by default (#2535) by @atomiks
- Fix duplicate
onValueChangecalls (#2591) by @atomiks
- Breaking change: Support
initialFocusandfinalFocusfunctions. TheinitialFocusandfinalFocusprops can be functions that return DOM elements to focus. This is a new feature forfinalFocusand a breaking change forinitialFocusas the element must be returned directly (not as a ref). (#2536) by @atomiks - Fix outside click after right clicking in popup (#2508) by @baptisteArno
- Fix unexpected close when nested inside two popovers (#2481) by @atomiks
- Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) by @atomiks - Restore focus to popup when focused element is removed (#2479) by @atomiks
- Fix
limitShiftoffset based on arrow size (#2571) by @atomiks
- Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) by @atomiks - Fix
limitShiftoffset based on arrow size (#2571) by @atomiks
- Return null in form data when no option selected (#2473) by @ingokpp
- Prevent pointer events from sibling portals triggering hover (#2542) by @KenanYusuf
- Fix stale
itemsprop (#2397) by @atomiks - Fix unexpected close when nested inside two popovers (#2481) by @atomiks
- Fix
onValueChangetype inference (#2372) by @atomiks - Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) by @atomiks - Reset state when selected item is removed (#2577) by @atomiks
- Fix
data-highlightedand DOM focus item desync (#2569) by @atomiks - Fix item click with
defaultOpenprop (#2570) by @atomiks - Fix scroll arrows not propagating scroll fully to start/end of list (#2523) by @atomiks
- Fix
limitShiftoffset based on arrow size (#2571) by @atomiks
- Breaking change: Instead of the thumb div, the
input type="range"element receives focus. Focus styles that were targeting the thumb, should be updated. For example.Thumb:focus-visibleshould be replaced with.Thumb:has(:focus-visible). ThetabIndexprop is moved from Root to Thumb where it gets forwarded to the input. The thumb'srenderprop no longer contains the thirdinputPropsargument; the input element is instead merged with children. (#2578) by @mj12albert - Reduce bundle size (#2551) by @oliviertassinari
- Fix thumb
:focus-visiblewith mixed keyboard and pointer modality (#2584) by @mj12albert - Add
indexprop toSlider.Thumb(#2593) by @mj12albert
- Fix tab size rounding (#2488) by @atomiks
- Fix highlight sync when focus is inside list (#2487) by @atomiks
- Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) by @atomiks - Fix
limitShiftoffset based on arrow size (#2571) by @atomiks
- Add support for data-* attributes (#2524) by @Raghuboi
- Add
defaultTagNameparameter (#2527) by @atomiks
All contributors of this release in alphabetical order: @atomiks, @baptisteArno, @brijeshb42, @Copilot, @ingokpp, @Janpot, @KenanYusuf, @LukasTy, @michaldudak, @mirka, @mj12albert, @mnajdova, @oliviertassinari, @Powerplex, @Raghuboi, @seongminn, @tomokinat
Jul 30, 2025
- Fix navigator checks and ensure safe platform retrieval (#2273) by @mo36924
- Prevent
Spacekey default on keydown (#2295) by @atomiks - Check for
performanceexistence on server (#2316) by @atomiks
- Destructure
renderprop (#2280) by @atomiks - Fix keyboard interactions with elements in the panel (#2321) by @mj12albert
- Fix open transitions in Safari/Firefox (#2327) by @atomiks
- Support
ShadowRootcontainers (#2236) by @atomiks - Add
forceRenderprop toBackdroppart (#2037) by @atomiks - Improve outside press behavior with touch input (#2334) by @atomiks
- Fix focusing form controls with
inputRef(#2252) by @mj12albert
- Destructure render prop (#2323) by @atomiks
- Fix open transitions in Safari/Firefox (#2327) by @atomiks
- Support
ShadowRootcontainers (#2236) by @atomiks - Add
forceRenderprop toBackdroppart (#2037) by @atomiks - Improve outside press behavior with touch input (#2334) by @atomiks
- Use
clickevent for outside press dismissal (#2275) by @atomiks
- Deregister fields from
Formwhen unmounting (#2231) by @mj12albert
- Deregister fields from
Formwhen unmounting (#2231) by @mj12albert
- Support
ShadowRootcontainers (#2236) by @atomiks - Avoid double
useRenderElementpasses (#2256) by @atomiks - Improve outside press behavior with touch input (#2334) by @atomiks
- Close submenus when focus is lost by shift-tabbing (#2290) by @michaldudak
- Fix triggers role (#2317) by @atomiks
- Fix ARIA attributes and update docs (#2267) by @mj12albert
- Breaking change: Support inlined nesting.
Ensure the popup's
widthis set tovar(--popup-width)unconditionally (without the media query) on the.Popupclass. (#2269) by @atomiks - Avoid double
useRenderElementpasses (#2256) by @atomiks - Add
useButtonintegration toTrigger(#2296) by @atomiks - Fix popup size transitions on iOS (#2387) by @atomiks
- Remove
invalidprop (#2315) by @atomiks - Fix button disabled state only including root disabled state (#2268) by @mj12albert
- Support
ShadowRootcontainers (#2236) by @atomiks - Remove ancestor nodes from inside elements for outside press detection (#2339) by @atomiks
- Improve outside press behavior with touch input (#2334) by @atomiks
- Use
clickevent for outside press dismissal (#2275) by @atomiks
- Support
ShadowRootcontainers (#2236) by @atomiks
- Fix ARIA attributes and update docs (#2267) by @mj12albert
- Add aria-required attribute (#2227) by @cgatian
- Extend state with
FieldRoot.State(#2251) by @mj12albert - Fix focusing form controls with
inputRef(#2252) by @mj12albert - Avoid double
useRenderElementpasses (#2256) by @atomiks
- Disable
user-selecton scrollbar and non-main button interactions (#2338) by @atomiks
- Support
ShadowRootcontainers (#2236) by @atomiks - Add
valueandreadOnlytoSelect.Triggerstate (#2237) by @atomiks - Add
multipleprop (#2173) by @atomiks - Allow typeahead while open for
multiplemode (#2274) by @atomiks - Ensure positionerElement is available in document mouseup (#2276) by @atomiks
- Fix
alignItemWithTriggerfallback scroll jump (#2241) by @atomiks - Support conditional
multipleprop in types (#2369) by @atomiks - Fix multiple ARIA behavior on touch (#2333) by @atomiks
- Improve outside press behavior with touch input (#2334) by @atomiks
- Fix focusing form controls with
inputRef(#2252) by @mj12albert
- Fix
promisemethod timeout option handling (#2294) by @atomiks - Make
Toast.Viewportan announce container (#2246) by @atomiks
- Avoid double
useRenderElementpasses (#2256) by @atomiks
- Avoid double
useRenderElementpasses (#2256) by @atomiks
- Avoid double
useRenderElementpasses (#2256) by @atomiks
- Support
ShadowRootcontainers (#2236) by @atomiks - Memoize leftover object in tooltip (#2250) by @sai6855
- Fix error when combining
defaultOpenanddisabled(#2374) by @atomiks
All contributors of this release in alphabetical order: @aelfannir, @atomiks, @brijeshb42, @cgatian, @Janpot, @michaldudak, @mj12albert, @mo36924, @romgrk, @sai6855
Jul 1, 2025
- Make error messages consistent (#2049) by @michaldudak
- Do not overwrite event handler when
undefinedis passed explicitly (#2151) by @michaldudak
- Allow content to resize naturally (#2043) by @atomiks
- Fix transition status mapping (#2169) by @atomiks
- Fix
aria-controlsreference (#2170) by @atomiks - Fix test warning about mixed animation types (#2180) by @atomiks
- Breaking change: Support implicit
Field.Label. IfField.Labelencloses Switch/Checkbox/Radio, thehtmlFor/idattributes are no longer explicitly set to associate them. (#2036) by @mj12albert - Refactor to
useRenderElement(#2053) by @mj12albert - Always set
idon the<input>element (#2115) by @mj12albert
- Fix
onCheckedChangenot running when parent checkbox is present (#2155) by @mj12albert
- Allow content to resize naturally (#2043) by @atomiks
- Fix
aria-controlsreference (#2170) by @atomiks - Fix test warning about mixed animation types (#2180) by @atomiks
- Breaking change: Add
SubmenuRootpart. Nested menus should be defined withMenu.SubmenuRootinstead ofMenu.Rootto to avoid ambiguity. (#2042) by @atomiks - Fix CheckboxItemIndicator export (#2009) by @aarongarciah
- Fix popup prop merging (#2119) by @atomiks
- Breaking change: Support implicit
Field.Label. IfField.Labelencloses Switch/Checkbox/Radio, thehtmlFor/idattributes are no longer explicitly set to associate them. (#2036) by @mj12albert - Enable custom validation based on other form values (#1941) by @mj12albert
- Fix
onValueChangevaluetype (#2112) by @atomiks - Fix
Field.Labelfocusing trigger (#2118) by @atomiks - Fix slider field label (#2154) by @mj12albert
- Refactor to
useRenderElement(#2053) by @mj12albert
- Enable custom validation based on other form values (#1941) by @mj12albert
- Fix
onValueChangevaluetype (#2112) by @atomiks
- Breaking change: Add
SubmenuRootpart. Nested menus should be defined withMenu.SubmenuRootinstead ofMenu.Rootto to avoid ambiguity. (#2042) by @atomiks - Unset
rolefrom Trigger (#2047) by @atomiks - Emit
closeevent oncancel-open(#2067) by @atomiks - Fix close toggle when rendering non-native button (#2071) by @atomiks
- Add
highlightedto itemState(#2079) by @atomiks - Remove highlighted effect (#2162) by @atomiks
- Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
- Fix active index sync on hover (#2163) by @atomiks
- Fix focus returning to root when submenus have exit transitions (#2163) by @atomiks
- Fix
closeOnClick: falsenot working in nested menus (#2094) by @michaldudak
- Handle layout resize while open (#2070) by @atomiks
- Fix positioner height when opening menu using the keyboard arrows (#2060) by @juliomerisio
- Ensure
onValueChangeis called with already-formatted parsed value (#1905) by @atomiks - Fix revalidation on change (#2174) by @atomiks
- Fix close toggle when rendering non-native button (#2071) by @atomiks
- Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
- Breaking change: Support implicit
Field.Label. IfField.Labelencloses Radio, thehtmlFor/idattributes are no longer explicitly set to associate them. (#2036) by @mj12albert - Refactor to
useRenderElement(#2053) by @mj12albert
- Ignore
data-scrollingduring programmatic scroll (#1908) by @atomiks
- Breaking change: Print raw value in
Select.Value.<Select.Value>now prints the raw value by default unless anitemsprop is specified onSelect.Root. See https://base-ui.com/react/components/select#formatting-the-value for more information. (#2087) by @atomiks - Performance: avoid re-renders (#1961) by @romgrk
- Fix close toggle when rendering non-native button (#2071) by @atomiks
- Fix
Field.Labelfocusing trigger (#2118) by @atomiks - Fix programmatic value changes and autofill handling (#2084) by @atomiks
- Add
highlightedto itemState(#2079) by @atomiks - Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
- Pass
valueas state (#2153) by @atomiks - Extend
FieldRoot.Statetype (#2192) by @atomiks
- Use pointer capture when dragging (#2059) by @mj12albert
- Fix slider field label (#2154) by @mj12albert
- Breaking change: Support implicit
Field.Label. IfField.Labelencloses Switch, thehtmlFor/idattributes are no longer explicitly set to associate them. (#2036) by @mj12albert
- Fix indicator positioning when TabsList overflows (#2093) by @mj12albert
- Fix focus going out of sync when selected value is changed externally (#2107) by @atomiks
- Remove highlighted state (#2164) by @atomiks
- Set
disabledattr on toolbar button whenfocusableWhenDisabled={false}(#2176) by @mj12albert
- Make useRender RSC-friendly (#2134) by @michaldudak
All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @bernardobelchior, @brijeshb42, @Janpot, @juliomerisio, @lesha1201, @michaldudak, @mj12albert, @oliviertassinari, @romgrk
May 29, 2025
- Remove proptypes (#1760) by @michaldudak
- Unify component export patterns (#1478) by @michaldudak
- Default
tabIndexto0on<button>parts (#1939) by @atomiks
- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) by @atomiks - Use basic scroll lock on iOS (#1890) by @atomiks
- Set
aria-required, useuseButton(#1777) by @mj12albert
- Breaking change: Enable submitting checkbox group value as one field.
For parent checkboxes, use
valueinstead ofnameon eachCheckbox.Rootpart to link as the values. (#1948) by @mj12albert - Fix
validatefn incorrectly running twice (#1959) by @mj12albert
- New
ContextMenucomponent (#1665) by @atomiks
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) by @atomiks - Use basic scroll lock on iOS (#1890) by @atomiks
- Breaking change: Consolidate
Field.ErrorforceShowintomatchprop. Usematch={true}(or implicit boolean) instead offorceShow. (#1919) by @atomiks - Improve
Labellogic that prevents text selection on double click (#1784) by @atomiks - Fix validation inconsistency (#1779) by @atomiks
- Fix integration of Base UI components (#1755) by @atomiks
- Set
valueMissingto false if only error and not dirtied (#1810) by @atomiks validatewith latest value on blur (#1850) by @atomiks- Revalidate only
requiredon change (#1840) by @atomiks - Run validate function after native validations (#1926) by @mj12albert
- Fix
validatefn incorrectly running twice (#1959) by @mj12albert - Integrate range sliders with Form and Field (#1929) by @mj12albert
- Fix integration of Base UI components (#1755) by @atomiks
- Select inputs on focus (#1858) by @atomiks
- Exclude number formatting from form value (#1957) by @mj12albert
- Integrate range sliders with Form and Field (#1929) by @mj12albert
- Fix
Input.Propstype (#1915) by @mj12albert - Extend
Field.Control.State(#1954) by @atomiks
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) by @atomiks - Fix function dependency handling (#1787) by @atomiks
- Add missing
'use client'toRadioGrouppart (#1851) by @atomiks - Ensure
nullitems are removed from composite lists (#1847) by @atomiks - Avoid
:focus-visiblestyle appearing (#1846) by @atomiks - Better handle dynamic and non-string items (#1861) by @atomiks
- Add
collisionAvoidanceprop (#1849) by @atomiks - Add
finalFocusandcloseDelayprops (#1918) by @atomiks - Use basic scroll lock on iOS (#1890) by @atomiks
- New
Menubarcomponent (#1684) by @michaldudak
- New
NavigationMenucomponent (#1741) by @atomiks
validatewith latest value on blur (#1850) by @atomiks- Move scrubbing logic to
ScrubAreacomponent (#1859) by @atomiks - Remove floating point errors when
snapOnStepis disabled (#1857) by @atomiks - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
- Exclude number formatting from form value (#1957) by @mj12albert
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) by @atomiks - Fix function dependency handling (#1787) by @atomiks
- Avoid prop getters when merging props (#1852) by @atomiks
- Add
collisionAvoidanceprop (#1849) by @atomiks - Fix nested
openOnHover(#1938) by @atomiks - Use basic scroll lock on iOS (#1890) by @atomiks
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) by @atomiks - Fix function dependency handling (#1787) by @atomiks
- Add
collisionAvoidanceprop (#1849) by @atomiks
- Fix composite focus of initially selected radio item (#1753) by @atomiks
- Add
inputRefprops (#1683) by @atomiks - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
- Breaking change: Move item anchoring prop to
Positioner. Use<Select.Positioner alignItemWithTrigger={false}>instead of<Select.Root alignItemToTrigger={false}>(note theWithinstead ofTo). (#1713) by @atomiks - Breaking change: Defer mounting until typeahead is needed.
The
placeholderprop is now required. Previously, only SSR needed it to prevent a hydration flash, but client-side rendering now also requires it. (#1906) by @atomiks - Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) by @atomiks - Fix function dependency handling (#1787) by @atomiks
- Add
inputRefprops (#1683) by @atomiks - Refactor to
useRenderElement(#1797) by @atomiks - Ensure
nullitems are removed from composite lists (#1847) by @atomiks - Fix
idprop forwarding to hidden input (#1862) by @atomiks - Avoid
:focus-visiblestyle appearing (#1846) by @atomiks - Fix
transitionStatusmapping onItemIndicator(#1925) by @atomiks - Better handle dynamic and non-string items (#1861) by @atomiks
- Use
Select.ItemTextref to grab default text content (#1943) by @atomiks - Add
collisionAvoidanceprop (#1849) by @atomiks - Use basic scroll lock on iOS (#1890) by @atomiks
- Breaking change: Drop
inputIdprop from Thumb. (#1914) by @mj12albert - Position thumb based on value instead of pointer location when dragging (#1750) by @DarthSim
- Use
useRenderElement(#1772) by @mj12albert - Add
inputRefprops (#1683) by @atomiks - Add
localeprop (#1796) by @mj12albert - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
- set
data-draggingon touchstart and pointerdown (#1874) by @mj12albert - Integrate range sliders with Form and Field (#1929) by @mj12albert
- Breaking change: Add
Portalpart. Place<Toast.Viewport>inside of<Toast.Portal>. (#1962) by @atomiks - Breaking change: Avoid removing limited toasts from the DOM.
The
[data-limited]styles in the demos were updated to handle limited toasts remaining in the DOM. They should now be a standalone style as&[data-limited] { opacity: 0 }. (#1953) by @atomiks - Fix swipe jump on iOS (#1785) by @atomiks
- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
- Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) by @atomiks - Fix function dependency handling (#1787) by @atomiks
- Avoid prop getters when merging props (#1852) by @atomiks
- Remove
trackCursorAxistype fromPositioner(#1895) by @atomiks - Apply
pointer-events: nonetoPositionerwhen not hoverable (#1917) by @atomiks - Add
collisionAvoidanceprop (#1849) by @atomiks
- Breaking change: Performance/refactor:
useRender. An object with arenderElementproperty is no longer returned; instead, the hook returns the element directly (const element = useRender(...)). Therefsoption was also renamed toref. (#1934) by @romgrk - Skip most of useRenderElement logic when unnecessary (#1967) by @michaldudak
All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @DarthSim, @flaviendelangle, @Janpot, @JCQuintas, @michaldudak, @mj12albert, @oliviertassinari, @romgrk, @Yonava, @ZeeshanTamboli
Apr 17, 2025
- Recalculate panel dimensions on layout resize (#1704) @atomiks
- Rework animations and transitions (#1601) @mj12albert
- Breaking change: Rename
data-has-nested-dialogstodata-nested-dialog-open(#1686) @mj12albert - Fix
onOpenChangetypes forevent/reasonpassing (#1721) @atomiks - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) @atomiks - Fix text selection & right-clicks (#1702) @mj12albert
- Parent checkbox/nested demos (#1610) @atomiks
- Fix ForwardedRef type of CollapsiblePanel (#1595) @megos
- Recalculate panel dimensions on layout resize (#1704) @atomiks
- Rework animations and transitions (#1601) @mj12albert
- Breaking change: Rename
data-has-nested-dialogstodata-nested-dialog-open(#1686) @mj12albert - Breaking change: Add new
trap-focusvalue tomodalprop. Dialogs withmodal=falseno longer trap focus. (#1571) @atomiks - Fix
onOpenChangetypes forevent/reasonpassing (#1721) @atomiks - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) @atomiks - Fix text selection & right-clicks (#1702) @mj12albert
- Allow document to slide input into view on iOS when keyboard opens (#1735) @atomiks
- Fix forwarding of
nameanddisabledprops (#1616) @atomiks
- Add missing item data attributes docs (#1691) @atomiks
- Fix
inertprop compatibility in React <19 (#1618) @sebinsua - Fix stuck highlight on submenu trigger when submenu opens with keyboard (#1698) @atomiks
- Fix
onOpenChangetypes forevent/reasonpassing (#1721) @atomiks - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) @atomiks - Fix text selection & right-clicks (#1702) @mj12albert
- New Meter component (#1435) @mj12albert
- Correct percentage parse handling (#1676) @atomiks
- New
snapOnStepprop (#1560) @atomiks
- Breaking change: Add new
trap-focusvalue tomodalprop (#1571) @atomiks - Fix
inertprop compatibility in React <19 (#1618) @sebinsua - Fix
onOpenChangetypes forevent/reasonpassing (#1721) @atomiks - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) @atomiks - Fix text selection & right-clicks (#1702) @mj12albert
- Breaking change: Add
Progress.Labelandlocaleprop. ThegetAriaLabelprop was removed asProgress.Labelshould be used to provide an accessible name. (#1666) @mj12albert
- Fix value forwarding and null handling (#1697) @atomiks
- Breaking change: Add
Contentpart. It is now required to include theScrollArea.ContentwithinScrollArea.Viewportpart when the content is horizontally scrollable. (#1607) @atomiks - Handle visibility change and nesting (#1598) @atomiks
- Correct thumb sizing with scrollbar margins (#1606) @atomiks
- Breaking change: Improve item highlight performance.
The highlighted state is now removed. It's not possible to customize the
data-highlightedattribute anymore. (#1570) @atomiks - Avoid double commit on value change (#1597) @atomiks
- Reset
selectedIndexwhen set tonull(#1596) @atomiks - Add missing item data attributes docs (#1691) @atomiks
- Fix
onOpenChangetypes forevent/reasonpassing (#1721) @atomiks - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) @atomiks - Fix text selection & right-clicks (#1702) @mj12albert
- Correct thumb positioning when control has padding (#1661) @mj12albert
- Prevent range slider thumbs from being dragged past each other (#1612) @mj12albert
- Fix incorrect CSS position on vertical slider indicator (#1599) @ZeeshanTamboli
- Fix overlapping slider thumbs stuck at min or max (#1732) @mj12albert
- New Toast component (#1467) @atomiks
- Avoid re-rendering unrelated consumers (#1677) @atomiks
- Add
disabledprop (#1682) @atomiks - Fix
onOpenChangetypes forevent/reasonpassing (#1721) @atomiks - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) @atomiks - Fix text selection & right-clicks (#1702) @mj12albert
All contributors of this release in alphabetical order: @atomiks, @megos, @michaldudak, @mj12albert, @oliviertassinari, @sebinsua, @ZeeshanTamboli
Mar 20, 2025
- Fix
aria-labelledbyon accordion panel (#1544) @mj12albert
- Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Fix non-interactive button disabled state (#1473) @mj12albert
actionsRefprop (#1236) @atomiks
- Support cross origin in useImageLoadingStatus (#1433) @ISnackable
- Add missing Avatar export (#1428) @Gomah
- Update props destructuring to fix Trigger disabled state (#1469) @huijiewei
- Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Fix non-interactive button disabled state (#1473) @mj12albert
actionsRefprop (#1236) @atomiks
- Fix
FieldControl[data-filled] not reacting to external value changes (#1565) @atomiks
- Ensure submenu triggers respond to clicks when
openOnHover=false(#1583) @atomiks - Ensure
stickIfOpenis reset totruecorrectly (#1548) @atomiks - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Reset
hoverEnabledstate on close (#1461) @atomiks - Fix prop merging issues (#1445) @michaldudak
- Set
pointer-events: nonestyle on backdrops when hoverable (#1351) @atomiks actionsRefprop (#1236) @atomiks
- Fix ScrubArea on Safari (#1584) @atomiks
- Fix
large/smallStepgetting stuck (#1578) @atomiks - Fix parse of numbers with spaces as thousands separators (#1577) @michaldudak
- Prevent virtual cursor overlapping native one (#1491) @atomiks
- Fix disabled state on increment/decrement buttons (#1462) @mj12albert
- Correct virtual cursor rendering (#1484) @atomiks
- Add
localeprop (#1488) @atomiks - Improve virtual cursor perf (#1485) @atomiks
- Ensure
stickIfOpenis reset totruecorrectly (#1548) @atomiks - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Set
pointer-events: nonestyle on backdrops when hoverable (#1351) @atomiks - Fix non-interactive button disabled state (#1473) @mj12albert
modalprop (#1459) @atomiksactionsRefprop (#1236) @atomiks
- Set
pointer-events: nonestyle on backdrops when hoverable (#1351) @atomiks actionsRefprop (#1236) @atomiks
- Fix
Form/Fieldvalidation integration (#1448) @atomiks - Handle modifier keys (#1529) @mj12albert
- Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
- Improve
ScrollArrowbehavior (#1564) @atomiks - Ensure switching controlled value to
nullupdatesSelect.Valuelabel (#1561) @atomiks - Pass
valueas second argument to function childrenSelect.Value(#1562) @atomiks - Fix focus jump while hovering while navigating with keyboard (#1563) @atomiks
- Fix disabled state changing (#1526) @mj12albert
actionsRefprop (#1236) @atomiks
- Fix thumb positioning when controlled value violates min/max/step (#1541) @mj12albert
- Warn when
minis not less thanmax(#1475) @mj12albert - Narrow the type of
valuein callbacks (#1241) @seloner
- Fix keyboard navigation involving disabled Tabs (#1449) @mj12albert
- Handle modifier keys (#1529) @mj12albert
- Add Toolbar components (#1349) @mj12albert
actionsRefprop (#1236) @atomiks- Fix
Providerdelay=0not being respected (#1416) @atomiks
- Add public hook (#1418) @mnajdova
- Refine docs and APIs (#1551) @atomiks
- Fix CSS issues (#1585) @atomiks
- Clean up old experiments (#1572) @mj12albert
- Fix SEO site name description (#1520) @oliviertassinari
- Fix
actionsRefpropTypes (#1460) @atomiks - Tooltip guidelines (#1356) @atomiks
- Update the release instructions (#1444) @michaldudak
- Mention Progress.Value in API reference (#1429) @aarongarciah
- Update release instructions (#1417) @michaldudak
- [code-infra] Polish VS Code DX (#1238) @oliviertassinari
- [code-infra] Fix build:types not copying on some setups (#1482) @Janpot
- [Composite] Derive sorted map state (#1489) @atomiks
- Update release docs and scripts (#1245) @oliviertassinari
- Export namespaces consistently (#1472) @michaldudak
- Make
mergeReactPropswork with non-native event handlers (#1440) @michaldudak - Remove babel-plugin-istanbul (#1409) @michaldudak
- Fix stylelint violations (#1422) @michaldudak
- Misc cleaning (#1579) @atomiks
- [mergeProps] Convert as a top level import and export publicly (#1535) @mnajdova
- [test] Fix wrong env skip (#1490) @atomiks
- [test] Fix PreviewCard test flake (#1487) @atomiks
- [test] Extract common popup tests (#1358) @michaldudak
- [test] Verify root exports (#1431) @michaldudak
- [test] Fix flaky browser tests (#1371) @atomiks
- [test] Update vitest to ^3 (#1453) @michaldudak
- [test] Skip flaky FieldRoot tests in real browsers (#1446) @michaldudak
- [useMergedRefs] Support ref cleanup functions (#1553) @atomiks
- [utils] Change order of args in
mergeReactProps(#1533) @mnajdova
Feb 6, 2025
onOpenChangeCompleteprop (#1305) @atomiks- Fix jump with
scroll-behaviorstyle (#1343) @atomiks
- Add Avatar component (#1210) @acomanescu
- Avoid applying
hiddenattr whenkeepMounted=truefor indicators (#1329) @onehanddev
- Remove
modal={open}state (#1352) @atomiks - Support multiple non-nested modal backdrops (#1327) @atomiks
- Fix missing
ids on Title and Description (#1326) @mj12albert onOpenChangeCompleteprop (#1305) @atomiks- Fix jump with
scroll-behaviorstyle (#1343) @atomiks
- Respect
validationMode(#1053) @atomiks - Add
filledandfocusedstyle hooks (#1341) @atomiks
- Fix focusing of invalid field controls on errors prop change (#1364) @atomiks
- Avoid applying
hiddenattr whenkeepMounted=truefor indicators (#1329) @onehanddev - Support submenus with
openOnHoverprop (#1338) @atomiks - Fix iPad detection when applying scroll lock (#1342) @mj12albert
onOpenChangeCompleteprop (#1305) @atomiks- Fix jump with
scroll-behaviorstyle (#1343) @atomiks - Add
OffsetFunctionforsideOffsetandalignOffset(#1223) @atomiks - Ensure
keepMountedis a private param onPositioner(#1410) @atomiks
onOpenChangeCompleteprop (#1305) @atomiks- Add
OffsetFunctionforsideOffsetandalignOffset(#1223) @atomiks - Ensure
keepMountedis a private param onPositioner(#1410) @atomiks
onOpenChangeCompleteprop (#1305) @atomiks- Add
OffsetFunctionforsideOffsetandalignOffset(#1223) @atomiks - Ensure
keepMountedis a private param onPositioner(#1410) @atomiks
- Add
formatprop andValuecomponent (#1355) @mj12albert
- Avoid applying
hiddenattr whenkeepMounted=truefor indicators (#1329) @onehanddev
onOpenChangeCompleteprop (#1305) @atomiks- Fix jump with
scroll-behaviorstyle (#1343) @atomiks - Add
OffsetFunctionforsideOffsetandalignOffset(#1223) @atomiks - Ensure
keepMountedis a private param onPositioner(#1410) @atomiks
- Fix thumb positioning (#1411) @mj12albert
- Fix being able to activate a disabled tab (#1359) @michaldudak
- Fix tabs activating incorrectly on non-primary button clicks (#1318) @mj12albert
onOpenChangeCompleteprop (#1305) @atomiks- Add
OffsetFunctionforsideOffsetandalignOffset(#1223) @atomiks - Ensure
keepMountedis a private param onPositioner(#1410) @atomiks
Jan 10, 2025
- Breaking change: Require
Portalpart. The AlertDialog must explicitly include the Portal part wrapping the Popup. ThekeepMountedprop was removed from the Popup. It's only present on the Portal part. #1222 @atomiks - Don't call
onNestedDialogOpenwhen unmounting a closed nested dialog #1280 @mj12albert - Fix the nesting of different dialogs #1167 @mnajdova
- Remove
useFloatingcall from the Popup #1300 @michaldudak - Set
pointer-eventsonInternalBackdropbased onopenstate #1221 @atomiks - Use internal backdrop for pointer modality #1161 @atomiks
- Breaking change: Require
Portalpart. The Dialog must explicitly include the Portal part wrapping the Popup. ThekeepMountedprop was removed from the Popup. It's only present on the Portal part. #1222 @atomiks - Don't call
onNestedDialogOpenwhen unmounting a closed nested dialog #1280 @mj12albert - Fix the nesting of different dialogs #1167 @mnajdova
- Remove
useFloatingcall from the Popup #1300 @michaldudak - Set
pointer-eventsonInternalBackdropbased onopenstate #1221 @atomiks - Use internal backdrop for pointer modality #1161 @atomiks
- Breaking change: Require
Portalpart. The Menu must explicitly include the Portal part wrapping the Positioner. ThekeepMountedprop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks - Apply
aria-hiddentoArrowparts #1196 @atomiks - Fix
focusableWhenDisabledcomponents #1313 @mj12albert - Fix
openOnHoverissues #1191 @atomiks - Fix closing the menu when clicking on checkboxitem/radioitem #1301 @michaldudak
- Fix Enter key preventDefault when rendering links #1251 @mj12albert
- Handle pseudo-element bounds in mouseup detection #1250 @atomiks
- Set
pointer-eventsonInternalBackdropbased onopenstate #1221 @atomiks - Use internal backdrop for pointer modality #1161 @atomiks
- Correctly handle quick touches #1294 @atomiks
- Breaking change: Require
Portalpart. The Popover must explicitly include the Portal part wrapping the Positioner. ThekeepMountedprop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks - Apply
aria-hiddentoArrowparts #1196 @atomiks - Fix PopoverTrigger and TooltipTrigger prop types #1209 @mnajdova
- Breaking change: Require
Portalpart. The PreviewCard must explicitly include the Portal part wrapping the Positioner. ThekeepMountedprop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks - Apply
aria-hiddentoArrowparts #1196 @atomiks - Use
FloatingPortalLite#1278 @atomiks
- Set zero width when value is zero #1204 @mj12albert
- Differentiate
x/yorientationdata-scrolling#1188 @atomiks - Read
DirectionProviderand use logical positioning CSS props #1194 @mj12albert
- Breaking change: Require
Portalpart. The Select must explicitly include the Portal part wrapping the Positioner. ThekeepMountedprop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks - Allow
idto be passed to trigger #1174 @atomiks - Fallback to standard positioning when pinch-zoomed in Safari #1139 @atomiks
- Fix
focusableWhenDisabledcomponents #1313 @mj12albert - Fix highlight flash on Safari #1233 @atomiks
- Handle pseudo-element bounds in mouseup detection #1250 @atomiks
- Use internal backdrop for pointer modality #1161 @atomiks
- Support vertical orientation #1304 @mj12albert
- Ensure
onValueCommittedis called with the same value as latestonValueChange#1296 @mj12albert - Replace internal map with
Compositemetadata #1082 @mj12albert - Set
position: relativeon range slider indicator #1175 @mj12albert - Use un-rounded values to position thumbs #1219 @mj12albert
- Expose width/height state in tabs indicator #1288 @aarongarciah
- Breaking change: Require
Portalpart. The Tooltip must explicitly include the Portal part wrapping the Positioner. ThekeepMountedprop was removed from the Positioner. It's only present on the Portal part. #1222 @atomiks - Apply
aria-hiddentoArrowparts #1196 @atomiks - Fix PopoverTrigger and TooltipTrigger prop types #1209 @mnajdova
- Use
FloatingPortalLite#1278 @atomiks
Dec 17, 2024
Public alpha launch 🐣 Merry Xmas! 🎁