Skip to content

Commit 6d2e113

Browse files
authored
[release] 1.0.0-beta.3 (#2616)
1 parent 79840af commit 6d2e113

File tree

7 files changed

+299
-11
lines changed

7 files changed

+299
-11
lines changed

CHANGELOG.md

Lines changed: 153 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,158 @@
11
# Versions
22

3+
## v1.0.0-beta.3
4+
5+
_Sep 3, 2025_
6+
7+
### General changes
8+
9+
- **Breaking change:** Base UI event details.
10+
Custom event callbacks provide BaseUIEventDetails object as their second parameter.
11+
This object contains the source event, reason and methods to customize the behavior (where applicable).
12+
For example, `onOpenChange(open, event, reason)` becomes `onOpenChange(open, eventDetails)`, where `eventDetails` contains `event` and `reason` properties.
13+
```diff
14+
-onOpenChange: (open, event, reason) => {
15+
+onOpenChange: (open, eventDetails) => {
16+
- if (reason === 'escape-key') {
17+
+ if (eventDetails.reason === 'escape-key') {
18+
// ...
19+
}
20+
}
21+
```
22+
(#2382) by @atomiks
23+
24+
### Alert Dialog
25+
26+
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
27+
The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
28+
This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
29+
(#2536) by @atomiks
30+
31+
### Autocomplete
32+
33+
- New Autocomplete component (#2105) by @atomiks
34+
35+
### Checkbox
36+
37+
- Fix missing validity attributes when wrapped in `Field` (#2572) by @Copilot
38+
39+
### Combobox
40+
41+
- New Combobox component (#2105) by @atomiks
42+
43+
### Context Menu
44+
45+
- Fix default offsets when `align="center"` or `side` differs (#2601) by @atomiks
46+
47+
### Dialog
48+
49+
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
50+
The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
51+
This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
52+
(#2536) by @atomiks
53+
- Restore focus to popup when focused element is removed (#2479) by @atomiks
54+
55+
### Field
56+
57+
- Prevent defaultValue reset on focus for uncontrolled inputs (#2543) by @ingokpp
58+
- Allow `onValueChange` to fire when `defaultValue`/`value` are not set (#2600) by @atomiks
59+
60+
### Input
61+
62+
- Allow `onValueChange` to fire when `defaultValue`/`value` are not set (#2600) by @atomiks
63+
64+
### Menu
65+
66+
- **Breaking change:** Fix `closeParentOnEsc` default value.
67+
The default value of `closeParentOnEsc` in Menu.SubmenuRoot is now false.
68+
When the <kbd>Esc</kbd> key is pressed in a Submenu, the Submenu closes, and the focus correctly moves to the SubmenuTrigger.
69+
(#2493) by @seongminn
70+
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
71+
The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
72+
This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
73+
(#2536) by @atomiks
74+
- Fix menu not opening when inside context menu trigger (#2506) by @baptisteArno
75+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
76+
- Fix submenu events (#2483) by @atomiks
77+
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks
78+
79+
### Navigation Menu
80+
81+
- **Breaking change:** Semantic element structure and `active` page prop.
82+
`NavigationMenu.List` renders `<ul>` and `NavigationMenu.Item` renders `<li>` by default.
83+
(#2526) by @atomiks
84+
- Unshare `AbortController` instance (#2441) by @tomokinat
85+
- Close on link click by default (#2535) by @atomiks
86+
87+
### Number Field
88+
89+
- Fix duplicate `onValueChange` calls (#2591) by @atomiks
90+
91+
### Popover
92+
93+
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
94+
The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
95+
This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
96+
(#2536) by @atomiks
97+
- Fix outside click after right clicking in popup (#2508) by @baptisteArno
98+
- Fix unexpected close when nested inside two popovers (#2481) by @atomiks
99+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
100+
- Restore focus to popup when focused element is removed (#2479) by @atomiks
101+
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks
102+
103+
### Preview Card
104+
105+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
106+
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks
107+
108+
### Radio Group
109+
110+
- Return null in form data when no option selected (#2473) by @ingokpp
111+
112+
### Scroll Area
113+
114+
- Prevent pointer events from sibling portals triggering hover (#2542) by @KenanYusuf
115+
116+
### Select
117+
118+
- Fix stale `items` prop (#2397) by @atomiks
119+
- Fix unexpected close when nested inside two popovers (#2481) by @atomiks
120+
- Fix `onValueChange` type inference (#2372) by @atomiks
121+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
122+
- Reset state when selected item is removed (#2577) by @atomiks
123+
- Fix `data-highlighted` and DOM focus item desync (#2569) by @atomiks
124+
- Fix item click with `defaultOpen` prop (#2570) by @atomiks
125+
- Fix scroll arrows not propagating scroll fully to start/end of list (#2523) by @atomiks
126+
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks
127+
128+
### Slider
129+
130+
- **Breaking change:** Instead of the thumb div, the `input type="range"` element receives focus. Focus styles that were targeting the thumb, should be updated.
131+
For example `.Thumb:focus-visible` should be replaced with `.Thumb:has(:focus-visible)`.
132+
The `tabIndex` prop is moved from Root to Thumb where it gets forwarded to the input.
133+
The thumb's `render` prop no longer contains the third `inputProps` argument; the input element is instead merged with children.
134+
(#2578) by @mj12albert
135+
- Reduce bundle size (#2551) by @oliviertassinari
136+
- Fix thumb `:focus-visible` with mixed keyboard and pointer modality (#2584) by @mj12albert
137+
- Add `index` prop to `Slider.Thumb` (#2593) by @mj12albert
138+
139+
### Tabs
140+
141+
- Fix tab size rounding (#2488) by @atomiks
142+
- Fix highlight sync when focus is inside list (#2487) by @atomiks
143+
144+
### Tooltip
145+
146+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
147+
- Fix `limitShift` offset based on arrow size (#2571) by @atomiks
148+
149+
### useRender
150+
151+
- Add support for data-\* attributes (#2524) by @Raghuboi
152+
- Add `defaultTagName` parameter (#2527) by @atomiks
153+
154+
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
155+
3156
## v1.0.0-beta.2
4157

5158
_Jul 30, 2025_

docs/src/app/(public)/(content)/react/components/autocomplete/demos/hero/css-modules/index.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,7 @@ export default function ExampleAutocomplete() {
1616
<Autocomplete.Empty className={styles.Empty}>No tags found.</Autocomplete.Empty>
1717
<Autocomplete.List>
1818
{(tag: Tag) => (
19-
<Autocomplete.Item
20-
render={<a href="https://base-ui.com" aria-label={tag.value} />}
21-
key={tag.id}
22-
className={styles.Item}
23-
value={tag}
24-
>
19+
<Autocomplete.Item key={tag.id} className={styles.Item} value={tag}>
2520
{tag.value}
2621
</Autocomplete.Item>
2722
)}

docs/src/app/(public)/(content)/react/overview/releases/page.mdx

Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,148 @@
33
<Subtitle>Changelogs for each Base UI release.</Subtitle>
44
<Meta name="description" content="Changelogs for each Base UI release." />
55

6+
## v1.0.0-beta.3
7+
8+
**Sep 3, 2025**
9+
10+
### General changes
11+
12+
- **Breaking change:** Base UI event details.
13+
Custom event callbacks provide BaseUIEventDetails object as their second parameter.
14+
This object contains the source event, reason and methods to customize the behavior (where applicable).
15+
For example, `onOpenChange(open, event, reason)` becomes `onOpenChange(open, eventDetails)`, where `eventDetails` contains `event` and `reason` properties.
16+
([#2382](https://github.com/mui/base-ui/pull/2382))
17+
18+
### Alert Dialog
19+
20+
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
21+
The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
22+
This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
23+
([#2536](https://github.com/mui/base-ui/pull/2536))
24+
25+
### Autocomplete
26+
27+
- New Autocomplete component ([#2105](https://github.com/mui/base-ui/pull/2105))
28+
29+
### Checkbox
30+
31+
- Fix missing validity attributes when wrapped in `Field` ([#2572](https://github.com/mui/base-ui/pull/2572))
32+
33+
### Combobox
34+
35+
- New Combobox component ([#2105](https://github.com/mui/base-ui/pull/2105))
36+
37+
### Context Menu
38+
39+
- Fix default offsets when `align="center"` or `side` differs ([#2601](https://github.com/mui/base-ui/pull/2601))
40+
41+
### Dialog
42+
43+
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
44+
The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
45+
This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
46+
([#2536](https://github.com/mui/base-ui/pull/2536))
47+
- Restore focus to popup when focused element is removed ([#2479](https://github.com/mui/base-ui/pull/2479))
48+
49+
### Field
50+
51+
- Prevent defaultValue reset on focus for uncontrolled inputs ([#2543](https://github.com/mui/base-ui/pull/2543))
52+
- Allow `onValueChange` to fire when `defaultValue`/`value` are not set ([#2600](https://github.com/mui/base-ui/pull/2600))
53+
54+
### Input
55+
56+
- Allow `onValueChange` to fire when `defaultValue`/`value` are not set ([#2600](https://github.com/mui/base-ui/pull/2600))
57+
58+
### Menu
59+
60+
- **Breaking change:** Fix `closeParentOnEsc` default value.
61+
The default value of `closeParentOnEsc` in Menu.SubmenuRoot is now false.
62+
When the <kbd>Esc</kbd> key is pressed in a Submenu, the Submenu closes, and the focus correctly moves to the SubmenuTrigger.
63+
([#2493](https://github.com/mui/base-ui/pull/2493))
64+
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
65+
The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
66+
This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
67+
([#2536](https://github.com/mui/base-ui/pull/2536))
68+
- Fix menu not opening when inside context menu trigger ([#2506](https://github.com/mui/base-ui/pull/2506))
69+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function ([#2511](https://github.com/mui/base-ui/pull/2511))
70+
- Fix submenu events ([#2483](https://github.com/mui/base-ui/pull/2483))
71+
- Fix `limitShift` offset based on arrow size ([#2571](https://github.com/mui/base-ui/pull/2571))
72+
73+
### Navigation Menu
74+
75+
- **Breaking change:** Semantic element structure and `active` page prop.
76+
`NavigationMenu.List` renders `<ul>` and `NavigationMenu.Item` renders `<li>` by default.
77+
([#2526](https://github.com/mui/base-ui/pull/2526))
78+
- Unshare `AbortController` instance ([#2441](https://github.com/mui/base-ui/pull/2441))
79+
- Close on link click by default ([#2535](https://github.com/mui/base-ui/pull/2535))
80+
81+
### Number Field
82+
83+
- Fix duplicate `onValueChange` calls ([#2591](https://github.com/mui/base-ui/pull/2591))
84+
85+
### Popover
86+
87+
- **Breaking change:** Support `initialFocus` and `finalFocus` functions.
88+
The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
89+
This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
90+
([#2536](https://github.com/mui/base-ui/pull/2536))
91+
- Fix outside click after right clicking in popup ([#2508](https://github.com/mui/base-ui/pull/2508))
92+
- Fix unexpected close when nested inside two popovers ([#2481](https://github.com/mui/base-ui/pull/2481))
93+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function ([#2511](https://github.com/mui/base-ui/pull/2511))
94+
- Restore focus to popup when focused element is removed ([#2479](https://github.com/mui/base-ui/pull/2479))
95+
- Fix `limitShift` offset based on arrow size ([#2571](https://github.com/mui/base-ui/pull/2571))
96+
97+
### Preview Card
98+
99+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function ([#2511](https://github.com/mui/base-ui/pull/2511))
100+
- Fix `limitShift` offset based on arrow size ([#2571](https://github.com/mui/base-ui/pull/2571))
101+
102+
### Radio Group
103+
104+
- Return null in form data when no option selected ([#2473](https://github.com/mui/base-ui/pull/2473))
105+
106+
### Scroll Area
107+
108+
- Prevent pointer events from sibling portals triggering hover ([#2542](https://github.com/mui/base-ui/pull/2542))
109+
110+
### Select
111+
112+
- Fix stale `items` prop ([#2397](https://github.com/mui/base-ui/pull/2397))
113+
- Fix unexpected close when nested inside two popovers ([#2481](https://github.com/mui/base-ui/pull/2481))
114+
- Fix `onValueChange` type inference ([#2372](https://github.com/mui/base-ui/pull/2372))
115+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function ([#2511](https://github.com/mui/base-ui/pull/2511))
116+
- Reset state when selected item is removed ([#2577](https://github.com/mui/base-ui/pull/2577))
117+
- Fix `data-highlighted` and DOM focus item desync ([#2569](https://github.com/mui/base-ui/pull/2569))
118+
- Fix item click with `defaultOpen` prop ([#2570](https://github.com/mui/base-ui/pull/2570))
119+
- Fix scroll arrows not propagating scroll fully to start/end of list ([#2523](https://github.com/mui/base-ui/pull/2523))
120+
- Fix `limitShift` offset based on arrow size ([#2571](https://github.com/mui/base-ui/pull/2571))
121+
122+
### Slider
123+
124+
- **Breaking change:** Instead of the thumb div, the `input type="range"` element receives focus. Focus styles that were targeting the thumb, should be updated.
125+
For example `.Thumb:focus-visible` should be replaced with `.Thumb:has(:focus-visible)`.
126+
The `tabIndex` prop is moved from Root to Thumb where it gets forwarded to the input.
127+
The thumb's `render` prop no longer contains the third `inputProps` argument; the input element is instead merged with children.
128+
([#2578](https://github.com/mui/base-ui/pull/2578))
129+
- Reduce bundle size ([#2551](https://github.com/mui/base-ui/pull/2551))
130+
- Fix thumb `:focus-visible` with mixed keyboard and pointer modality ([#2584](https://github.com/mui/base-ui/pull/2584))
131+
- Add `index` prop to `Slider.Thumb` ([#2593](https://github.com/mui/base-ui/pull/2593))
132+
133+
### Tabs
134+
135+
- Fix tab size rounding ([#2488](https://github.com/mui/base-ui/pull/2488))
136+
- Fix highlight sync when focus is inside list ([#2487](https://github.com/mui/base-ui/pull/2487))
137+
138+
### Tooltip
139+
140+
- Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function ([#2511](https://github.com/mui/base-ui/pull/2511))
141+
- Fix `limitShift` offset based on arrow size ([#2571](https://github.com/mui/base-ui/pull/2571))
142+
143+
### useRender
144+
145+
- Add support for data-\* attributes ([#2524](https://github.com/mui/base-ui/pull/2524))
146+
- Add `defaultTagName` parameter ([#2527](https://github.com/mui/base-ui/pull/2527))
147+
6148
## v1.0.0-beta.2
7149

8150
**Jul 30, 2025**

docs/src/nav.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ export const nav: NavGroup[] = [
5151
label: 'llms.txt',
5252
external: true,
5353
href: '/llms.txt',
54-
isNew: true,
5554
},
5655
],
5756
},
@@ -159,7 +158,6 @@ export const nav: NavGroup[] = [
159158
{
160159
label: 'Select',
161160
href: '/react/components/select',
162-
isNew: true,
163161
},
164162
{
165163
label: 'Separator',

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@base-ui-components/monorepo",
3-
"version": "1.0.0-beta.2",
3+
"version": "1.0.0-beta.3",
44
"private": true,
55
"scripts": {
66
"preinstall": "npx only-allow pnpm",

packages/react/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@base-ui-components/react",
3-
"version": "1.0.0-beta.2",
3+
"version": "1.0.0-beta.3",
44
"author": "MUI Team",
55
"description": "Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.",
66
"keywords": [

packages/utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@base-ui-components/utils",
3-
"version": "0.1.0",
3+
"version": "0.1.1",
44
"description": "A collection of React utility functions for Base UI.",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)