Releases
Changelogs for each Base UI release.
View as Markdownv1.0.0-beta.4
Oct 1, 2025
General changes
- Breaking change: Generic event details.
The main exported type is now
BaseUIChangeEventDetails(with a pairedBaseUIGenericEventDetails), notBaseUIEventDetails. (#2796) - Update
disabledprop of buttons when ref changes (#2756) - Refine event details (#2698)
Accordion
- 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) - Breaking change: Rename
openMultipleprop tomultiple(#2764)
Autocomplete
- Breaking change:
onItemHighlightednow has areasonproperty instead oftypeto be consistent with theeventDetailsAPI. (#2796) - Breaking change: Rename
colstogridprop. Specifygrid={true}instead ofcols={number}— the columns are automatically inferred from<Autocomplete.Row>(#2683) - Fix duplicate
onOpenChangecalls and pass correct DOMevent. (#2682) - Fix controlled input value updates (#2707)
- Fix input focus on close when clicking trigger. Fixes a jump to the bottom of the page in Safari (#2723)
- Add
alwaysSubmitOnEnterprop and allow form submission on Enter if no item is highlighted by default (#2700) - Use
ReadonlyArraytype foritems(#2819)
Collapsible
- Fix
CollapsiblePaneltype to use its own state (#2697) - Respect user’s CSS
displayproperty on panel (#2772)
Combobox
- Breaking change:
onItemHighlightednow has areasonproperty instead oftypeto be consistent with theeventDetailsAPI. (#2796) - Breaking change: Rename
colstogridprop. Specifygrid={true}instead ofcols={number}— the columns are automatically inferred from<Combobox.Row>. (#2683) - Fix duplicate
onOpenChangecalls and pass correct DOMevent. (#2682) - Fix initial closed typeahead (#2665)
- Support
autoHighlightprop (#2668) - Set default input value based on
valueprop (#2680) - Fix controlled input value updates (#2707)
- Fix input focus on close when clicking trigger. Fixes a jump to the bottom of the page in Safari (#2723)
- Fix unexpected close with multiple selection and input inside popup (#2771)
- Allow form submission on Enter if no item is highlighted by default (#2700)
- Avoid refiltering with ending transition in multiple selection mode (#2681)
- Support object values with
isItemEqualToValueprop (#2704) - Use
ReadonlyArraytype foritems(#2819) - Fix misleading
item-pressreason inonInputValueChange(#2830) - Clear single-select value on input clear (#2860)
- Fix
focusoutof input not closing popup under certain conditions (#2864)
Context Menu
- Ensure submenus close when parents close (#2768)
- Fix
onClickfiring twice on first click of item (#2849)
Menu
- Ensure submenus close when parents close (#2768)
- Allow non-nested portals across differing popup trees (#2818)
Menubar
- Fix Menubar not disabling child Menus (#2736)
- Ensure submenus close when parents close (#2768)
- Fix
<CompositeList>not updating item order on reordering (#2675)
Navigation Menu
- Make link close on click configurable (#2740)
- Fix focus returning to trigger without animations (#2779)
Number Field
- Fix stuck virtual cursor after mouse tap (#2720)
- Improve parsing logic (#2725)
- Align value changes with
Slider. AnonValueCommittedcallback has been added. (#2726)
Popover
- Allow non-nested portals across differing popup trees (#2818)
Scroll Area
- Add overflow presence state attributes and CSS variables (#2478)
- Fix RTL horizontal scrollbar on Safari (#2776)
- Fix thumb size flicker (#2778)
Select
- Breaking change: Add
<Select.List>component. It is now possible for<Select.ScrollArrow>to 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) - Block opening the popup when provided
readOnly(#2717) - Add
openstate for<Select.Icon>and fixreftype (#2714) - Support object values with
isItemEqualToValueprop (#2704) - Use
ReadonlyArraytype foritems(#2819)
Slider
- Breaking change:
onValueChangehasactiveThumbIndexas part of theeventDetailsobject as a second parameter, not third. (#2796) - Breaking change: Remove redundant hidden inputs.
The
inputRefprop is moved from<Slider.Root>to<Slider.Thumb>. (#2631) - Fix pointer tracking bugs (#2688)
- Fix input attributes (#2728)
- Add
thumbAlignmentprop (#2540)
Switch
- Fix duplicate
nameattribute (#2763)
Toast
- 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) - Reduce stickiness of expanded state (#2770)
- Ensure toast is frozen at its current visual transform while swiping (#2769)
Toggle Group
- Breaking change: Rename
toggleMultipleprop tomultiple. (#2764)
Toolbar
- Fix
<CompositeList>not updating item order on reordering (#2675)
useRender
- Add div as a
defaultTagName(#2692)
v1.0.0-beta.3
Sep 3, 2025
General changes
- Breaking change: Base UI event details.
Custom event callbacks provide BaseUIChangeEventDetails 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)
Alert Dialog
- 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)
Autocomplete
- New Autocomplete component (#2105)
Checkbox
- Fix missing validity attributes when wrapped in
<Field>(#2572)
Combobox
- New Combobox component (#2105)
Context Menu
- Fix default offsets when
align="center"orsidediffers (#2601)
Dialog
- 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) - Restore focus to popup when focused element is removed (#2479)
Field
- Prevent defaultValue reset on focus for uncontrolled inputs (#2543)
- Allow
onValueChangeto fire whendefaultValue/valueare not set (#2600)
Input
- Allow
onValueChangeto fire whendefaultValue/valueare not set (#2600)
Menu
- 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) - 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) - Fix menu not opening when inside context menu trigger (#2506)
- Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) - Fix submenu events (#2483)
- Fix
limitShiftoffset based on arrow size (#2571)
Navigation Menu
- Breaking change: Semantic element structure and
activepage prop.<NavigationMenu.List>renders<ul>and<NavigationMenu.Item>renders<li>by default. (#2526) - Unshare
AbortControllerinstance (#2441) - Close on link click by default (#2535)
Number Field
- Fix duplicate
onValueChangecalls (#2591)
Popover
- 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) - Fix outside click after right clicking in popup (#2508)
- Fix unexpected close when nested inside two popovers (#2481)
- Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) - Restore focus to popup when focused element is removed (#2479)
- Fix
limitShiftoffset based on arrow size (#2571)
Preview Card
- Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) - Fix
limitShiftoffset based on arrow size (#2571)
Radio Group
- Return null in form data when no option selected (#2473)
Scroll Area
- Prevent pointer events from sibling portals triggering hover (#2542)
Select
- Fix stale
itemsprop (#2397) - Fix unexpected close when nested inside two popovers (#2481)
- Fix
onValueChangetype inference (#2372) - Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) - Reset state when selected item is removed (#2577)
- Fix
data-highlightedand DOM focus item desync (#2569) - Fix item click with
defaultOpenprop (#2570) - Fix scroll arrows not propagating scroll fully to start/end of list (#2523)
- Fix
limitShiftoffset based on arrow size (#2571)
Slider
- 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) - Reduce bundle size (#2551)
- Fix thumb
:focus-visiblewith mixed keyboard and pointer modality (#2584) - Add
indexprop to<Slider.Thumb>(#2593)
Tabs
Tooltip
- Fix
transform-originvariable calculation when PositionersideOffsetis a function (#2511) - Fix
limitShiftoffset based on arrow size (#2571)
useRender
v1.0.0-beta.2
Jul 30, 2025
General changes
- Fix navigator checks and ensure safe platform retrieval (#2273)
- Prevent Space key default on keydown (#2295)
- Check for
performanceexistence on server (#2316)
Accordion
- Destructure
renderprop (#2280) - Fix keyboard interactions with elements in the panel (#2321)
- Fix open transitions in Safari/Firefox (#2327)
Alert Dialog
- Support
ShadowRootcontainers (#2236) - Add
forceRenderprop toBackdroppart (#2037) - Improve outside press behavior with touch input (#2334)
Checkbox
- Fix focusing form controls with
inputRef(#2252)
Collapsible
Dialog
- Support
ShadowRootcontainers (#2236) - Add
forceRenderprop toBackdroppart (#2037) - Improve outside press behavior with touch input (#2334)
- Use
clickevent for outside press dismissal (#2275)
Field
- Deregister fields from
Formwhen unmounting (#2231)
Form
- Deregister fields from
Formwhen unmounting (#2231)
Menu
- Support
ShadowRootcontainers (#2236) - Avoid double
useRenderElementpasses (#2256) - Improve outside press behavior with touch input (#2334)
- Close submenus when focus is lost by shift-tabbing (#2290)
Menubar
- Fix triggers role (#2317)
Meter
- Fix ARIA attributes and update docs (#2267)
Navigation Menu
- Breaking change: Support inlined nesting.
Ensure the popup’s
widthis set tovar(--popup-width)unconditionally (without the media query) on the.Popupclass. (#2269) - Avoid double
useRenderElementpasses (#2256) - Add
useButtonintegration toTrigger(#2296) - Fix popup size transitions on iOS (#2387)
Number Field
Popover
- Support
ShadowRootcontainers (#2236) - Remove ancestor nodes from inside elements for outside press detection (#2339)
- Improve outside press behavior with touch input (#2334)
- Use
clickevent for outside press dismissal (#2275)
Preview Card
- Support
ShadowRootcontainers (#2236)
Progress
- Fix ARIA attributes and update docs (#2267)
Radio Group
- Add aria-required attribute (#2227)
- Extend state with
FieldRoot.State(#2251) - Fix focusing form controls with
inputRef(#2252) - Avoid double
useRenderElementpasses (#2256)
Scroll Area
- Disable
user-selecton scrollbar and non-main button interactions (#2338)
Select
- Support
ShadowRootcontainers (#2236) - Add
valueandreadOnlyto<Select.Trigger>state (#2237) - Add
multipleprop (#2173) - Allow typeahead while open for
multiplemode (#2274) - Ensure positionerElement is available in document mouseup (#2276)
- Fix
alignItemWithTriggerfallback scroll jump (#2241) - Support conditional
multipleprop in types (#2369) - Fix multiple ARIA behavior on touch (#2333)
- Improve outside press behavior with touch input (#2334)
Slider
- Fix focusing form controls with
inputRef(#2252)
Toast
- Fix
promisemethod timeout option handling (#2294) - Make
<Toast.Viewport>an announce container (#2246)
Toggle
- Avoid double
useRenderElementpasses (#2256)
Toggle Group
- Avoid double
useRenderElementpasses (#2256)
Toolbar
- Avoid double
useRenderElementpasses (#2256)
Tooltip
- Support
ShadowRootcontainers (#2236) - Memoize leftover object in tooltip (#2250)
- Fix error when combining
defaultOpenanddisabled(#2374)
v1.0.0-beta.1
Jul 1, 2025
General changes
- Make error messages consistent (#2049)
- Do not overwrite event handler when
undefinedis passed explicitly (#2151)
Accordion
- Allow content to resize naturally (#2043)
- Fix transition status mapping (#2169)
- Fix
aria-controlsreference (#2170) - Fix test warning about mixed animation types (#2180)
Checkbox
- Breaking change: Support implicit
<Field.Label>. If<Field.Label>encloses Switch/Checkbox/Radio, thehtmlFor/idattributes are no longer explicitly set to associate them. (#2036) - Refactor to
useRenderElement(#2053) - Always set
idon the<input>element (#2115)
Checkbox Group
- Fix
onCheckedChangenot running when parent checkbox is present (#2155)
Collapsible
- Allow content to resize naturally (#2043)
- Fix
aria-controlsreference (#2170) - Fix test warning about mixed animation types (#2180)
Context Menu
- Breaking change: Add
SubmenuRootpart. Nested menus should be defined with<Menu.SubmenuRoot>instead of<Menu.Root>to to avoid ambiguity. (#2042) - Fix CheckboxItemIndicator export (#2009)
Dialog
- Fix popup prop merging (#2119)
Field
- Breaking change: Support implicit
<Field.Label>. If<Field.Label>encloses Switch/Checkbox/Radio, thehtmlFor/idattributes are no longer explicitly set to associate them. (#2036) - Enable custom validation based on other form values (#1941)
- Fix
onValueChangevaluetype (#2112) - Fix
<Field.Label>focusing trigger (#2118) - Fix slider field label (#2154)
Fieldset
- Refactor to
useRenderElement(#2053)
Form
- Enable custom validation based on other form values (#1941)
Input
- Fix
onValueChangevaluetype (#2112)
Menu
- Breaking change: Add
SubmenuRootpart. Nested menus should be defined with<Menu.SubmenuRoot>instead of<Menu.Root>to to avoid ambiguity. (#2042) - Unset
rolefrom Trigger (#2047) - Emit
closeevent oncancel-open(#2067) - Fix close toggle when rendering non-native button (#2071)
- Add
highlightedto itemState(#2079) - Remove highlighted effect (#2162)
- Cut out internal backdrop to allow interacting with triggers (#2141)
- Fix active index sync on hover (#2163)
- Fix focus returning to root when submenus have exit transitions (#2171)
Menubar
- Fix
closeOnClick: falsenot working in nested menus (#2094)
Navigation Menu
- Breaking change: Handle layout resize while open (#2070).
For large scrollable content, add the
max-heightstyle to.Contentin addition to.Popup. - Fix positioner height when opening menu using the keyboard arrows (#2060)
Number Field
- Ensure
onValueChangeis called with already-formatted parsed value (#1905) - Fix revalidation on change (#2174)
Popover
- Fix close toggle when rendering non-native button (#2071)
- Cut out internal backdrop to allow interacting with triggers (#2141)
Radio Group
- Breaking change: Support implicit
<Field.Label>. If<Field.Label>encloses Radio, thehtmlFor/idattributes are no longer explicitly set to associate them. (#2036) - Refactor to
useRenderElement(#2053)
Scroll Area
- Ignore
data-scrollingduring programmatic scroll (#1908)
Select
- Breaking change: Print raw value in
<Select.Value>.<Select.Value>now prints the raw value by default unless anitemsprop is specified on<Select.Root>. See https://base-ui.com/react/components/select#formatting-the-value for more information. (#2087) - Performance: avoid re-renders (#1961)
- Fix close toggle when rendering non-native button (#2071)
- Fix
<Field.Label>focusing trigger (#2118) - Fix programmatic value changes and autofill handling (#2084)
- Add
highlightedto itemState(#2079) - Cut out internal backdrop to allow interacting with triggers (#2141)
- Pass
valueas state (#2153) - Extend
FieldRoot.Statetype (#2192)
Slider
Switch
- Breaking change: Support implicit
<Field.Label>. If<Field.Label>encloses Switch, thehtmlFor/idattributes are no longer explicitly set to associate them. (#2036)
Tabs
- Fix indicator positioning when TabsList overflows (#2093)
- Fix focus going out of sync when selected value is changed externally (#2107)
- Remove highlighted state (#2164)
Toolbar
- Set
disabledattr on toolbar button whenfocusableWhenDisabled={false}(#2176)
useRender
- Make useRender RSC-friendly (#2134)
v1.0.0-beta.0
May 29, 2025
General changes
- Remove proptypes (#1760)
- Unify component export patterns (#1478)
- Default
tabIndexto0on<button>parts (#1939)
Accordion
- Stop event propagation to allow composite components to be used within popups (#1871)
Alert Dialog
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) - Use basic scroll lock on iOS (#1890)
Checkbox
- Set
aria-required, useuseButton(#1777)
Checkbox Group
- Breaking change: Enable submitting checkbox group value as one field.
For parent checkboxes, use
valueinstead ofnameon each<Checkbox.Root>part to link as the values. (#1948) - Fix
validatefn incorrectly running twice (#1959)
Context Menu
- New
ContextMenucomponent (#1665)
Dialog
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) - Use basic scroll lock on iOS (#1890)
Field
- Breaking change: Consolidate
Field.ErrorforceShowintomatchprop. Usematch={true}(or implicit boolean) instead offorceShow. (#1919) - Improve
Labellogic that prevents text selection on double click (#1784) - Fix validation inconsistency (#1779)
- Fix integration of Base UI components (#1755)
- Set
valueMissingto false if only error and not dirtied (#1810) validatewith latest value on blur (#1850)- Revalidate only
requiredon change (#1840) - Run validate function after native validations (#1926)
- Fix
validatefn incorrectly running twice (#1959) - Integrate range sliders with Form and Field (#1929)
Form
- Fix integration of Base UI components (#1755)
- Select inputs on focus (#1858)
- Exclude number formatting from form value (#1957)
- Integrate range sliders with Form and Field (#1929)
Input
Menu
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) - Fix function dependency handling (#1787)
- Add missing
'use client'toRadioGrouppart (#1851) - Ensure
nullitems are removed from composite lists (#1847) - Avoid
:focus-visiblestyle appearing (#1846) - Better handle dynamic and non-string items (#1861)
- Add
collisionAvoidanceprop (#1849) - Add
finalFocusandcloseDelayprops (#1918) - Use basic scroll lock on iOS (#1890)
Menubar
- New
Menubarcomponent (#1684)
Navigation Menu
- New
NavigationMenucomponent (#1741)
Number Field
validatewith latest value on blur (#1850)- Move scrubbing logic to
ScrubAreacomponent (#1859) - Remove floating point errors when
snapOnStepis disabled (#1857) - Stop event propagation to allow composite components to be used within popups (#1871)
- Exclude number formatting from form value (#1957)
Popover
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) - Fix function dependency handling (#1787)
- Avoid prop getters when merging props (#1852)
- Add
collisionAvoidanceprop (#1849) - Fix nested
openOnHover(#1938) - Use basic scroll lock on iOS (#1890)
Preview Card
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) - Fix function dependency handling (#1787)
- Add
collisionAvoidanceprop (#1849)
Radio Group
- Fix composite focus of initially selected radio item (#1753)
- Add
inputRefprops (#1683) - Stop event propagation to allow composite components to be used within popups (#1871)
Select
- Breaking change: Move item anchoring prop to
Positioner. Use<Select.Positioner alignItemWithTrigger={false}>instead of<Select.Root alignItemToTrigger={false}>(note theWithinstead ofTo). (#1713) - 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) - Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) - Fix function dependency handling (#1787)
- Add
inputRefprops (#1683) - Refactor to
useRenderElement(#1797) - Ensure
nullitems are removed from composite lists (#1847) - Fix
idprop forwarding to hidden input (#1862) - Avoid
:focus-visiblestyle appearing (#1846) - Fix
transitionStatusmapping onItemIndicator(#1925) - Better handle dynamic and non-string items (#1861)
- Use
<Select.ItemText>ref to grab default text content (#1943) - Add
collisionAvoidanceprop (#1849) - Use basic scroll lock on iOS (#1890)
Slider
- Breaking change: Drop
inputIdprop from Thumb. (#1914) - Position thumb based on value instead of pointer location when dragging (#1750)
- Use
useRenderElement(#1772) - Add
inputRefprops (#1683) - Add
localeprop (#1796) - Stop event propagation to allow composite components to be used within popups (#1871)
- set
data-draggingon touchstart and pointerdown (#1874) - Integrate range sliders with Form and Field (#1929)
Toast
- Breaking change: Add
Portalpart. Place<Toast.Viewport>inside of<Toast.Portal>. (#1962) - 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) - Fix swipe jump on iOS (#1785)
Toggle
- Stop event propagation to allow composite components to be used within popups (#1871)
Toolbar
- Stop event propagation to allow composite components to be used within popups (#1871)
Tooltip
- Breaking change: Refine
OpenChangeReason.hoveris nowtrigger-hover;clickis nowtrigger-press;focusis nowtrigger-focus. (#1782) - Fix function dependency handling (#1787)
- Avoid prop getters when merging props (#1852)
- Remove
trackCursorAxistype fromPositioner(#1895) - Apply
pointer-events: nonetoPositionerwhen not hoverable (#1917) - Add
collisionAvoidanceprop (#1849)
useRender
- 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) - Skip most of useRenderElement logic when unnecessary (#1967)
v1.0.0-alpha.8
Apr 17, 2025
Accordion
AlertDialog
- Breaking change: Rename
data-has-nested-dialogstodata-nested-dialog-open(#1686) - Fix
onOpenChangetypes forevent/reasonpassing (#1721) - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) - Fix text selection & right-clicks (#1702)
CheckboxGroup
- Parent checkbox/nested demos (#1610)
Collapsible
- Fix ForwardedRef type of CollapsiblePanel (#1595)
- Recalculate panel dimensions on layout resize (#1704)
- Rework animations and transitions (#1601)
Dialog
- Breaking change: Rename
data-has-nested-dialogstodata-nested-dialog-open(#1686) - Breaking change: Add new
trap-focusvalue tomodalprop. Dialogs withmodal=falseno longer trap focus. (#1571) - Fix
onOpenChangetypes forevent/reasonpassing (#1721) - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) - Fix text selection & right-clicks (#1702)
- Allow document to slide input into view on iOS when keyboard opens (#1735)
Field
- Fix forwarding of
nameanddisabledprops (#1616)
Menu
- Add missing item data attributes docs (#1691)
- Fix
inertprop compatibility in React <19 (#1618) - Fix stuck highlight on submenu trigger when submenu opens with keyboard (#1698)
- Fix
onOpenChangetypes forevent/reasonpassing (#1721) - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) - Fix text selection & right-clicks (#1702)
Meter
- New Meter component (#1435)
NumberField
Popover
- Breaking change: Add new
trap-focusvalue tomodalprop (#1571) - Fix
inertprop compatibility in React <19 (#1618) - Fix
onOpenChangetypes forevent/reasonpassing (#1721) - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) - Fix text selection & right-clicks (#1702)
Progress
- Breaking change: Add
Progress.Labelandlocaleprop. ThegetAriaLabelprop was removed as<Progress.Label>should be used to provide an accessible name. (#1666)
Radio
- Fix value forwarding and null handling (#1697)
ScrollArea
- Breaking change: Add
Contentpart. It is now required to include the<ScrollArea.Content>within<ScrollArea.Viewport>part when the content is horizontally scrollable. (#1607) - Handle visibility change and nesting (#1598)
- Correct thumb sizing with scrollbar margins (#1606)
Select
- Breaking change: Improve item highlight performance.
The highlighted state is now removed. It’s not possible to customize the
data-highlightedattribute anymore. (#1570) - Avoid double commit on value change (#1597)
- Reset
selectedIndexwhen set tonull(#1596) - Add missing item data attributes docs (#1691)
- Fix
onOpenChangetypes forevent/reasonpassing (#1721) - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) - Fix text selection & right-clicks (#1702)
Slider
- Correct thumb positioning when control has padding (#1661)
- Prevent range slider thumbs from being dragged past each other (#1612)
- Fix incorrect CSS position on vertical slider indicator (#1599)
- Fix overlapping slider thumbs stuck at min or max (#1732)
Toast
- New Toast component (#1467)
Tooltip
- Avoid re-rendering unrelated consumers (#1677)
- Add
disabledprop (#1682) - Fix
onOpenChangetypes forevent/reasonpassing (#1721) - Use consistent
inertattr and map[data-popup-open]back toopen(#1650) - Fix text selection & right-clicks (#1702)
v1.0.0-alpha.7
Mar 20, 2025
Accordion
- Fix
aria-labelledbyon accordion panel (#1544)
AlertDialog
- Fix selection on outside press on Firefox with modal prop (#1573)
- Fix non-interactive button disabled state (#1473)
actionsRefprop (#1236)
Avatar
Collapsible
- Update props destructuring to fix Trigger disabled state (#1469)
Dialog
- Fix selection on outside press on Firefox with modal prop (#1573)
- Fix non-interactive button disabled state (#1473)
actionsRefprop (#1236)
Field
- Fix
FieldControl[data-filled] not reacting to external value changes (#1565)
Menu
- Ensure submenu triggers respond to clicks when
openOnHover=false(#1583) - Ensure
stickIfOpenis reset totruecorrectly (#1548) - Fix selection on outside press on Firefox with modal prop (#1573)
- Reset
hoverEnabledstate on close (#1461) - Fix prop merging issues (#1445)
- Set
pointer-events: nonestyle on backdrops when hoverable (#1351) actionsRefprop (#1236)
NumberField
- Fix ScrubArea on Safari ([#1584])(https://github.com/mui/base-ui/pull/1584/))
- Fix
large/smallStepgetting stuck (#1578) - Fix parse of numbers with spaces as thousands separators (#1577)
- Prevent virtual cursor overlapping native one (#1491)
- Fix disabled state on increment/decrement buttons (#1462)
- Correct virtual cursor rendering (#1484)
- Add
localeprop (#1488) - Improve virtual cursor perf (#1485)
Popover
- Ensure
stickIfOpenis reset totruecorrectly (#1548) - Fix selection on outside press on Firefox with modal prop (#1573)
- Set
pointer-events: nonestyle on backdrops when hoverable (#1351) - Fix non-interactive button disabled state (#1473)
modalprop (#1459)actionsRefprop (#1236)
PreviewCard
RadioGroup
Select
- Fix selection on outside press on Firefox with modal prop (#1573)
actionsRefprop (#1236)- Improve
ScrollArrowbehavior (#1564) - Ensure switching controlled value to
nullupdates<Select.Value>label (#1561) - Pass
valueas second argument to function children<Select.Value>(#1562) - Fix focus jump while hovering while navigating with keyboard (#1563)
- Fix disabled state changing (#1526)
Slider
- Fix thumb positioning when controlled value violates min/max/step (#1541)
- Warn when
minis not less thanmax(#1475) - Narrow the type of
valuein callbacks (#1241)
Tabs
Toolbar
- Add Toolbar components (#1349)
Tooltip
useRender
v1.0.0-alpha.6
Feb 6, 2025
AlertDialog
Avatar
- Add Avatar component (#1210)
Checkbox
- Avoid applying
hiddenattr whenkeepMounted=truefor indicators (#1329)
Dialog
- Remove
modal={open}state (#1352) - Support multiple non-nested modal backdrops (#1327)
- Fix missing
ids on Title and Description (#1326) onOpenChangeCompleteprop (#1305)- Fix jump with
scroll-behaviorstyle (#1343)
Field
Form
- Fix focusing of invalid field controls on errors prop change (#1364)
Menu
- Avoid applying
hiddenattr whenkeepMounted=truefor indicators (#1329) - Support submenus with
openOnHoverprop (#1338) - Fix iPad detection when applying scroll lock (#1342)
onOpenChangeCompleteprop (#1305)- Fix jump with
scroll-behaviorstyle (#1343) - Add
OffsetFunctionforsideOffsetandalignOffset(#1223) - Ensure
keepMountedis a private param onPositioner(#1410)
Popover
onOpenChangeCompleteprop (#1305)- Add
OffsetFunctionforsideOffsetandalignOffset(#1223) - Ensure
keepMountedis a private param onPositioner(#1410)
PreviewCard
onOpenChangeCompleteprop (#1305)- Add
OffsetFunctionforsideOffsetandalignOffset(#1223) - Ensure
keepMountedis a private param onPositioner(#1410)
Progress
- Add
formatprop andValuecomponent (#1355)
Radio
- Avoid applying
hiddenattr whenkeepMounted=truefor indicators (#1329)
Select
onOpenChangeCompleteprop (#1305)- Fix jump with
scroll-behaviorstyle (#1343) - Add
OffsetFunctionforsideOffsetandalignOffset(#1223) - Ensure
keepMountedis a private param onPositioner(#1410)
Slider
- Fix thumb positioning (#1411)
Tabs
- Fix being able to activate a disabled tab (#1359)
- Fix tabs activating incorrectly on non-primary button clicks (#1318)
Tooltip
onOpenChangeCompleteprop (#1305)- Add
OffsetFunctionforsideOffsetandalignOffset(#1223) - Ensure
keepMountedis a private param onPositioner(#1410)
v1.0.0-alpha.5
Jan 10, 2025
AlertDialog
- 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 - Don’t call
onNestedDialogOpenwhen unmounting a closed nested dialog #1280 - Fix the nesting of different dialogs #1167
- Remove
useFloatingcall from the Popup #1300 - Set
pointer-eventsonInternalBackdropbased onopenstate #1221 - Use internal backdrop for pointer modality #1161
Dialog
- 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 - Don’t call
onNestedDialogOpenwhen unmounting a closed nested dialog #1280 - Fix the nesting of different dialogs #1167
- Remove
useFloatingcall from the Popup #1300 - Set
pointer-eventsonInternalBackdropbased onopenstate #1221 - Use internal backdrop for pointer modality #1161
Menu
- 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 - Apply
aria-hiddentoArrowparts #1196 - Fix
focusableWhenDisabledcomponents #1313 - Fix
openOnHoverissues #1191 - Fix closing the menu when clicking on checkboxitem/radioitem #1301
- Fix Enter key preventDefault when rendering links #1251
- Handle pseudo-element bounds in mouseup detection #1250
- Set
pointer-eventsonInternalBackdropbased onopenstate #1221 - Use internal backdrop for pointer modality #1161
NumberField
- Correctly handle quick touches #1294
Popover
- 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 - Apply
aria-hiddentoArrowparts #1196 - Fix PopoverTrigger and TooltipTrigger prop types #1209
PreviewCard
- 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 - Apply
aria-hiddentoArrowparts #1196 - Use
FloatingPortalLite#1278
Progress
- Set zero width when value is zero #1204
ScrollArea
- Differentiate
x/yorientationdata-scrolling#1188 - Read
DirectionProviderand use logical positioning CSS props #1194
Select
- 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 - Allow
idto be passed to trigger #1174 - Fallback to standard positioning when pinch-zoomed in Safari #1139
- Fix
focusableWhenDisabledcomponents #1313 - Fix highlight flash on Safari #1233
- Handle pseudo-element bounds in mouseup detection #1250
- Use internal backdrop for pointer modality #1161
Separator
- Support vertical orientation #1304
Slider
- Ensure
onValueCommittedis called with the same value as latestonValueChange#1296 - Replace internal map with
Compositemetadata #1082 - Set
position: relativeon range slider indicator #1175 - Use un-rounded values to position thumbs #1219
Tabs
- Expose width/height state in tabs indicator #1288
Tooltip
- 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 - Apply
aria-hiddentoArrowparts #1196 - Fix PopoverTrigger and TooltipTrigger prop types #1209
- Use
FloatingPortalLite#1278
1.0.0-alpha.4
December 17, 2024
Public alpha launch 🐣 Merry Xmas! 🎁