Skip to contents

v1.0.0-beta.3

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) becomes onOpenChange(open, eventDetails), where eventDetails contains event and reason properties. (#2382)

Alert Dialog

  • Breaking change: Support initialFocus and finalFocus functions. The initialFocus and finalFocus props can be functions that return DOM elements to focus. This is a new feature for finalFocus and a breaking change for initialFocus as 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" or side differs (#2601)

Dialog

  • Breaking change: Support initialFocus and finalFocus functions. The initialFocus and finalFocus props can be functions that return DOM elements to focus. This is a new feature for finalFocus and a breaking change for initialFocus as 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 onValueChange to fire when defaultValue/value are not set (#2600)

Input

  • Allow onValueChange to fire when defaultValue/value are not set (#2600)
  • Breaking change: Fix closeParentOnEsc default value. The default value of closeParentOnEsc in 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 initialFocus and finalFocus functions. The initialFocus and finalFocus props can be functions that return DOM elements to focus. This is a new feature for finalFocus and a breaking change for initialFocus as the element must be returned directly (not as a ref). (#2536)
  • Fix menu not opening when inside context menu trigger (#2506)
  • Fix transform-origin variable calculation when Positioner sideOffset is a function (#2511)
  • Fix submenu events (#2483)
  • Fix limitShift offset based on arrow size (#2571)
  • Breaking change: Semantic element structure and active page prop. <NavigationMenu.List> renders <ul> and <NavigationMenu.Item> renders <li> by default. (#2526)
  • Unshare AbortController instance (#2441)
  • Close on link click by default (#2535)

Number Field

  • Fix duplicate onValueChange calls (#2591)

Popover

  • Breaking change: Support initialFocus and finalFocus functions. The initialFocus and finalFocus props can be functions that return DOM elements to focus. This is a new feature for finalFocus and a breaking change for initialFocus as 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-origin variable calculation when Positioner sideOffset is a function (#2511)
  • Restore focus to popup when focused element is removed (#2479)
  • Fix limitShift offset based on arrow size (#2571)

Preview Card

  • Fix transform-origin variable calculation when Positioner sideOffset is a function (#2511)
  • Fix limitShift offset 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 items prop (#2397)
  • Fix unexpected close when nested inside two popovers (#2481)
  • Fix onValueChange type inference (#2372)
  • Fix transform-origin variable calculation when Positioner sideOffset is a function (#2511)
  • Reset state when selected item is removed (#2577)
  • Fix data-highlighted and DOM focus item desync (#2569)
  • Fix item click with defaultOpen prop (#2570)
  • Fix scroll arrows not propagating scroll fully to start/end of list (#2523)
  • Fix limitShift offset 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-visible should be replaced with .Thumb:has(:focus-visible). The tabIndex prop is moved from Root to Thumb where it gets forwarded to the input. The thumb’s render prop no longer contains the third inputProps argument; the input element is instead merged with children. (#2578)
  • Reduce bundle size (#2551)
  • Fix thumb :focus-visible with mixed keyboard and pointer modality (#2584)
  • Add index prop to <Slider.Thumb> (#2593)

Tabs

  • Fix tab size rounding (#2488)
  • Fix highlight sync when focus is inside list (#2487)

Tooltip

  • Fix transform-origin variable calculation when Positioner sideOffset is a function (#2511)
  • Fix limitShift offset based on arrow size (#2571)

useRender

  • Add support for data-* attributes (#2524)
  • Add defaultTagName parameter (#2527)