@tale-ui/react 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,2038 +1,5 @@
1
- # Versions
1
+ # Changelog — @tale-ui/react
2
2
 
3
- ## v1.2.0
3
+ All notable changes to the React component packages are documented in this file.
4
4
 
5
- _Feb 12, 2026_
6
-
7
- ### General changes
8
-
9
- - Do not memoize `state` when not needed (#3812) by @flaviendelangle
10
- - Support lazy element in `render` prop (#3856) by @oliviertassinari
11
- - Replace Firefox deprecated mozInputSource check for virtual click detection (#3942) by @CiscoFran10
12
- - Use `WeakRef` for previously focused elements (#3916) by @atomiks
13
- - Fix page scroll jump when input has focus on unmount in Safari (#3925) by @atomiks
14
- - Fix flash at origin before positioning completes in Preact (#3975) by @OliverSpeir
15
- - Reduce style recalculation with classic scrollbars (#3854) by @mdm317
16
- - Fix event handling in useEnhancedClickHandler (#3981) by @sai6855
17
-
18
- ### Autocomplete
19
-
20
- - Fix filter method's `useMemo` dependency (#3862) by @ZeeshanTamboli
21
- - Fix Autocomplete not using its internal filter method when `mode` is `list` (#3936) by @ZeeshanTamboli
22
- - Remove unnecessary double stringification of item in filtering logic (#3945) by @ZeeshanTamboli
23
- - Add `useFilteredItems` hook (#3732) by @guisehn
24
- - Fix popup closing on iOS VoiceOver (#3859) by @atomiks
25
- - Remove `aria-readonly` prop from `Clear` and `Popup` components when `readOnly` (#3907) by @markocupic024
26
-
27
- ### Avatar
28
-
29
- - Add transition attributes (#3939) by @atomiks
30
-
31
- ### Button
32
-
33
- - Capture component stack for `nativeButton` error message (#3861) by @atomiks
34
-
35
- ### Checkbox
36
-
37
- - Cleanup disabled state tracking (#3913) by @atomiks
38
- - Preserve modifier key properties in the change event (#3935) by @mj12albert
39
- - Allow exit animations on `<Checkbox.Indicator>` when `keepMounted={false}` (#3939) by @atomiks
40
-
41
- ### Combobox
42
-
43
- - Fix the type of the ref of the `Icon` part (#3796) by @flaviendelangle
44
- - Avoid clearing selected value if item is not present in items array (#3824) by @atomiks
45
- - Fix highlight change reason in `ChipRemove` (#3980) by @sai6855
46
- - Keep highlight on last deselect (#3923) by @atomiks
47
- - Fix inline filtering after selection in single mode (#3978) by @atomiks
48
- - Clear highlight on inline blur when inline (#3973) by @atomiks
49
- - Prevent opening popup on autofill change (#3924) by @atomiks
50
- - Distinguish `input-press` from `trigger-press` in `onOpenChange` reason (#4015) by @jijiseong
51
- - Fix async items while popup is open (#4034) by @atomiks
52
- - Prevent `Chip` from receiving focus when `disabled` (#4044) by @jijiseong
53
- - Add `useFilteredItems` hook (#3732) by @guisehn
54
- - Fix popup closing on iOS VoiceOver (#3859) by @atomiks
55
- - Remove `aria-readonly` prop from `Clear` and `Popup` components when `readOnly` (#3907) by @markocupic024
56
- - Fix `onClick` `Item` type (#3964) by @atomiks
57
- - Use reactive `domReferenceElement` subscriptions (#4017) by @atomiks
58
- - Add `autoComplete` prop for explicit browser autofill support (#4005) by @mattrothenberg
59
- - Fix inconsistent isItemEqualToValue argument order (#4056) by @atomiks
60
-
61
- ### Context Menu
62
-
63
- - Fix `disabled` prop not working (#3806) by @arturbien
64
- - Fix explicit `collisionAvoidance` with `side: 'flip'` not working (#3877) by @obeattie
65
-
66
- ### Drawer
67
-
68
- - Create new Drawer / Sheet component (#3680) by @atomiks
69
-
70
- ### Field
71
-
72
- - Prevent re-renders when `Field.Control` is uncontrolled (#3820) by @atomiks
73
- - Fix autofocus in SSR environments (#3871) by @mj12albert
74
- - Fix max update depth loop when using `<React.Activity>` (#3931) by @atomiks
75
- - Add transition attributes (#3939) by @atomiks
76
-
77
- ### Input
78
-
79
- - Fix autofocus in SSR environments (#3871) by @mj12albert
80
- - Update ref type to `HTMLElement` (#3866) by @mj12albert
81
-
82
- ### Menu
83
-
84
- - Fix `onClick` `Item` type (#3964) by @atomiks
85
- - Fix submenu stuck glitch (#3783) by @atomiks
86
- - Fix race conditions (#3821) by @atomiks
87
- - Add `<Menu.LinkItem>` part (#3400) by @mj12albert
88
-
89
- ### Navigation Menu
90
-
91
- - Fix forwarded ref types (#3775) by @CrawlerCode
92
- - Add `keepMounted` prop to `Content` part (#3794) by @atomiks
93
-
94
- ### Number Field
95
-
96
- - Fix click handlers on ScrubArea (#3827) by @mj12albert
97
- - Remove `event.isTrusted` (#3920) by @atomiks
98
- - Stop repeat change at bounds (#3915) by @atomiks
99
- - Add `allowOutOfRange` prop (#3919) by @atomiks
100
- - Fix pen pointer handling (#3917) by @atomiks
101
- - Fix missing field state data attributes (#3909) by @mj12albert
102
-
103
- ### Popover
104
-
105
- - Fix missing `aria-owns` element (#3959) by @atomiks
106
- - Use reactive `domReferenceElement` subscriptions (#4017) by @atomiks
107
- - Fix broken scale transition with detached triggers (#3810) by @michaldudak
108
-
109
- ### Preview Card
110
-
111
- - Fix broken scale transition with detached triggers (#3810) by @michaldudak
112
-
113
- ### Progress
114
-
115
- - De-duplicate `formatValue` function (#3805) by @sai6855
116
-
117
- ### Radio Group
118
-
119
- - Preserve modifier key properties in the change event (#3935) by @mj12albert
120
- - Allow exit animations on `<Radio.Indicator>` when `keepMounted={false}` (#3939) by @atomiks
121
- - Rely on individual radio hidden inputs (#3826) by @atomiks
122
- - Add generic `Value` typing to `Radio` (#4033) by @atomiks
123
-
124
- ### Scroll Area
125
-
126
- - Add `data-scrolling` state attribute to `Root` and `Viewport` parts (#3823) by @arturbien
127
- - Fix overflow edge rounding (#3888) by @atomiks
128
-
129
- ### Select
130
-
131
- - Add `finalFocus` prop (#3785) by @markocupic024
132
- - Fix `alignItemWithTrigger` transform with CSS animations (#3831) by @atomiks
133
- - Fix `highlightItemOnHover` not being respected (#3868) by @sarthakmalik0810
134
- - Reset typeahead on external blur (#2618) by @antonfrolovsky
135
- - Fix scroll height loop (#3795) by @atomiks
136
- - Add `autoComplete` prop for explicit browser autofill support (#4005) by @mattrothenberg
137
- - Fix inconsistent isItemEqualToValue argument order (#4056) by @atomiks
138
-
139
- ### Slider
140
-
141
- - Fix missing field state data attributes (#3909) by @mj12albert
142
- - Fix change event cloning (#3960) by @atomiks
143
-
144
- ### Switch
145
-
146
- - Preserve modifier key properties in the change event (#3935) by @mj12albert
147
-
148
- ### Tabs
149
-
150
- - Add transition attributes to `<Tabs.Panel>` part (#3880) by @atomiks
151
-
152
- ### Toast
153
-
154
- - Make `useToastManager` and `createToastManager` generic functions (#3882) by @solastley
155
- - Prevent dismissed promise toast from reopening on updates (#4040) by @atomiks
156
- - Introduce a store (#3464) by @flaviendelangle
157
-
158
- ### Toggle
159
-
160
- - Improve type safety and inference (#3173) by @michaelhazan
161
-
162
- ### Toggle Group
163
-
164
- - Type value as string to match Toggle (#3770) by @markocupic024
165
- - Enable `Home`/`End` key navigation (#3971) by @jijiseong
166
- - Improve type safety and inference (#3173) by @michaelhazan
167
-
168
- ### Tooltip
169
-
170
- - Prevent opening when focusing a disabled Trigger (#3902) by @michaldudak
171
- - Fix broken scale transition with detached triggers (#3810) by @michaldudak
172
- - Fix disabled prop on Triggers (#4049) by @michaldudak
173
-
174
- 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
175
-
176
- ## v1.1.0
177
-
178
- _Jan 15, 2026_
179
-
180
- ### General changes
181
-
182
- - Fix `onOpenChangeComplete(true)` timing (#3558) by @atomiks
183
- - Fix touch `openMethod` when tapping outside element bounds on Safari (#3541) by @atomiks
184
- - Fix visually hidden input styles across form components (#3606) by @atomiks
185
- - Fix click and drags outside a nested popup component from closing its parents (#3571) by @atomiks
186
- - Fix forwarded ref types (#3638) by @atomiks
187
- - Fix detached trigger remounting (#3724) by @atomiks
188
- - Include `ref` in `BaseUIComponentProps` (#2813) by @atomiks
189
- - Remove duplicated `disabled` prop (#3650) by @seongminn
190
- - Allow `actionsRef` to be `null` (#3682) by @mj12albert
191
-
192
- ### Accordion
193
-
194
- - Fix keyboard navigation with non-interactive trigger elements (#3684) by @ZeeshanTamboli
195
-
196
- ### Autocomplete
197
-
198
- - Add `data-popup-side` and `data-list-empty` state attributes to `<Autocomplete.Trigger>` (#3491) by @atomiks
199
- - Add `loopFocus` prop (#3592) by @atomiks
200
- - Fix hidden input `id` and `required` props (#3640) by @atomiks
201
-
202
- ### Button
203
-
204
- - Remove discriminated props union (#3643) by @atomiks
205
-
206
- ### Checkbox
207
-
208
- - Fix hidden input `id` and `required` props (#3640) by @atomiks
209
-
210
- ### Combobox
211
-
212
- - Add `data-popup-side` and `data-list-empty` state attributes to `<Combobox.Trigger>` (#3491) by @atomiks
213
- - Add `loopFocus` prop (#3592) by @atomiks
214
- - Add `toolbar` role to `<Combobox.Chips>` to prevent NVDA from entering browse mode (#3647) by @atomiks
215
- - Add `placeholder` prop to `<Combobox.Value>` (#3604) by @atomiks
216
- - Fix controlled `value` prop when `items` change (#3607) by @atomiks
217
- - Fix `multiple` values label resolution in `<Combobox.Value>` (#3314) by @atomiks
218
- - Forward root `id` to visible form element (#3722) by @atomiks
219
- - Do not trigger Field `onBlur` handlers when opening popup (#3609) by @atomiks
220
-
221
- ### Context Menu
222
-
223
- - Avoid creating sibling elements next to trigger (#3645) by @atomiks
224
-
225
- ### CSP Provider
226
-
227
- - Add `CSPProvider` (#3553) by @atomiks
228
-
229
- ### Dialog
230
-
231
- - Fix `Maximum update depth exceeded` error with Suspense (#3700) by @michaldudak
232
- - Fix `<Dialog.Title>` forwardedRef type (#3736) by @ZeeshanTamboli
233
-
234
- ### Field
235
-
236
- - Add `actionsRef` prop (#3395) by @mj12albert
237
- - Add `nativeLabel` prop to `<Field.Label>` (#3723) by @atomiks
238
- - Add missing type export (#3702) by @DiegoAndai
239
-
240
- ### Form
241
-
242
- - Add `actionsRef` prop (#3395) by @mj12albert
243
-
244
- ### Menu
245
-
246
- - Fix focus guard handling (#3654) by @atomiks
247
- - Avoid disabling modality on click after hover-open (#3455) by @atomiks
248
-
249
- ### Menubar
250
-
251
- - Fix submenu outside-press dismiss on touch (#3556) by @atomiks
252
-
253
- ### Number Field
254
-
255
- - Fix Field `data-focused` state (#3563) by @atomiks
256
- - Fix hidden input focus on submit (#3581) by @atomiks
257
-
258
- ### Popover
259
-
260
- - Fix popup auto resize glitches (#3591) by @atomiks
261
- - Fix focus guard handling (#3654) by @atomiks
262
- - Prevent disabling focus management when clicking trigger before hover delay completes (#3572) by @atomiks
263
- - Refactor popup auto resize logic. It is no longer necessary to specify `--positioner-width`/`--positioner-height` CSS variables on `<Popover.Positioner>` when using detached triggers unless the `Viewport` part has been added to the JSX. (#3652) by @atomiks
264
-
265
- ### Preview Card
266
-
267
- - Support detached triggers (#3566) by @michaldudak and @atomiks
268
-
269
- ### Radio Group
270
-
271
- - Fix `value` type (#3582) by @atomiks
272
- - Fix hidden input `id` and `required` props (#3640) by @atomiks
273
-
274
- ### Scroll Area
275
-
276
- - Perf improvements (#3536) by @atomiks
277
-
278
- ### Select
279
-
280
- - Add `placeholder` prop to `<Select.Value>` (#3604) by @atomiks
281
- - Fix support for transform animations when `alignItemWithTrigger` is active (#3532) by @atomiks
282
- - Fix support for `max-height` popup style when `alignItemWithTrigger` is active (#3573) by @atomiks
283
- - Fix `data-filled` state in `multiple` mode (#3608) by @atomiks
284
- - Fix highlight being removed on popup mouseout when `highlightItemOnHover` is disabled (#3492) by @atomiks
285
- - Fix support for individual transform animations when `alignItemWithTrigger` is active (#3637) by @atomiks
286
- - Fix `multiple` values label resolution in `<Select.Value>` (#3314) by @atomiks
287
- - Forward root `id` to visible form element (#3722) by @atomiks
288
- - Do not trigger Field `onBlur` handlers when opening popup (#3609) by @atomiks
289
-
290
- ### Slider
291
-
292
- - Fix `onValueCommitted` not called for range sliders (#3600) by @mj12albert
293
-
294
- ### Switch
295
-
296
- - Add `value` prop (#3676) by @Grafikart
297
- - Fix hidden input `id` and `required` props (#3640) by @atomiks
298
-
299
- ### Toast
300
-
301
- - Fix timers not being rescheduled when updated (#3564) by @atomiks
302
-
303
- ### Tooltip
304
-
305
- - Fix popup auto resize glitches (#3591) by @atomiks
306
- - Fix `trackCursorAxis` handling (#3679) by @atomiks
307
- - Refactor popup auto resize logic. It is no longer necessary to specify `--positioner-width`/`--positioner-height` CSS variables on `<Tooltip.Positioner>` when using detached triggers unless the `Viewport` part has been added to the JSX. (#3652) by @atomiks
308
-
309
- ### mergeProps
310
-
311
- - Make `mergeProps` public (#3642) by @michaldudak and @LukasTy
312
-
313
- ### useRender
314
-
315
- - Export missing types (#3565) by @michaldudak
316
-
317
- 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
318
-
319
- ## v1.0.0
320
-
321
- _Dec 11, 2025_
322
-
323
- ### General changes
324
-
325
- - **Breaking change:** Rename packages to use the `@base-ui` org.<br />
326
- The package name has changed from `@base-ui-components/react` to `@base-ui/react`.
327
- (#3462) by @mnajdova
328
-
329
- ### Combobox
330
-
331
- - Respect `itemToStringValue` for `onFormSubmit` (#3441) by @atomiks
332
- - Add `null` as an option for the value prop (#3488) by @mnajdova
333
-
334
- ### Menu
335
-
336
- - Fix submenu opens with 0 delay (#3459) by @atomiks
337
- - Fix focus not returning to trigger on <kbd>Esc</kbd> while pointer rests on popup (#3482) by @atomiks
338
- - Fix always `null` open method (#3486) by @atomiks
339
- - Allow side axis fallback for submenus by default (#3470) by @atomiks
340
-
341
- ### Navigation Menu
342
-
343
- - Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks
344
-
345
- ### Number Field
346
-
347
- - Fix multiple scrub area support (#3471) by @atomiks
348
-
349
- ### Popover
350
-
351
- - Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks
352
- - Fix skipped viewport transitions (#3453) by @atomiks
353
-
354
- ### Select
355
-
356
- - Respect `itemToStringValue` for `onFormSubmit` (#3441) by @atomiks
357
- - Add `null` as an option for the value prop (#3488) by @mnajdova
358
-
359
- ### Tabs
360
-
361
- - Fix indicator positioning in transformed containers (#3439) by @atomiks
362
- - Do not initially select a disabled tab (#3475) by @michaldudak
363
-
364
- ### Toast
365
-
366
- - Fix `flushSync` dev error when toast is added (#3443) by @atomiks
367
- - Fix `<Toast.Close>;` emitting `aria-hidden` warning on click (#3469) by @atomiks
368
-
369
- ### Toggle Group
370
-
371
- - More permissive towards falsy toggle values (#3477) by @mj12albert
372
-
373
- ### Tooltip
374
-
375
- - Fix mount transitions on `Positioner` in Firefox (#3424) by @atomiks
376
- - Fix ignored "modal" setting in Popovers experiment (#3474) by @michaldudak
377
- - Fix shared tooltip closing with trigger gaps (#3452) by @atomiks
378
- - Fix skipped viewport transitions (#3453) by @atomiks
379
-
380
- All contributors of this release in alphabetical order: @atomiks, @LukasTy, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @pondorasti, @romgrk, @ZeeshanTamboli
381
-
382
- ## v1.0.0-rc.2
383
-
384
- _Dec 11, 2025_
385
-
386
- This release contains the same code as v1.0.0.
387
- Please refer to that version to see the changes.
388
-
389
- ## v1.0.0-rc.1
390
-
391
- _Dec 11, 2025_
392
-
393
- This release contains the same code as v1.0.0.
394
- Please refer to that version to see the changes.
395
-
396
- ## v1.0.0-rc.0
397
-
398
- _Dec 4, 2025_
399
-
400
- ### General changes
401
-
402
- - Fix missing `'use client'` directives (#3408) by @atomiks
403
-
404
- ### Autocomplete
405
-
406
- - Fix `keepHighlight` focus sync (#3399) by @atomiks
407
-
408
- ### Checkbox
409
-
410
- - **Breaking change:** Match native unchecked state in form submission.<br />
411
- The Checkbox will not submit the `"off"` value with a form when unchecked anymore, unless the new `uncheckedValue` prop is set.
412
- (#3406) by @atomiks
413
-
414
- ### Collapsible
415
-
416
- - Remove `render={null}` (#3407) by @mj12albert
417
-
418
- ### Combobox
419
-
420
- - **Breaking change:** Removed the `keepHighlight` prop (#3377) by @atomiks
421
-
422
- ### Dialog
423
-
424
- - Close when pressing focusable element outside (#3380) by @atomiks
425
- - Fix closing after pointer lock exit in Firefox (#3379) by @atomiks
426
-
427
- ### Menu
428
-
429
- - Add `highlightItemOnHover` prop (#3377) by @atomiks
430
- - Do not import client components from MenuStore (#3409) by @michaldudak
431
-
432
- ### Number Field
433
-
434
- - Ensure hidden input participates in form validation (#3374) by @atomiks
435
- - Improve symbol replacement logic (#3376) by @atomiks
436
- - Fix fractional step snapping (#3375) by @atomiks
437
- - Fix parsing numbers with Swiss locale (#3361) by @michaldudak
438
- - Fix pointer lock release when soft clicking in Firefox (#3378) by @atomiks
439
-
440
- ### Popover
441
-
442
- - Close when pressing focusable element outside (#3380) by @atomiks
443
- - Fix modal backdrop on touch (#3383) by @atomiks
444
- - Fix popover glitching when flipped (#3364) by @michaldudak
445
-
446
- ### Select
447
-
448
- - Add `highlightItemOnHover` prop (#3377) by @atomiks
449
-
450
- ### Switch
451
-
452
- - **Breaking change:** Match native off state in form submission.<br />
453
- The Switch will not submit the `"off"` value with a form when unchecked anymore, unless the new `uncheckedValue` prop is set.
454
- (#3406) by @atomiks
455
-
456
- ### Tabs
457
-
458
- - **Breaking change:** Fix Panel `keepMounted` behavior.<br />
459
- The `value` prop is now required on `<Tabs.Tab>` and `<Tabs.Panel>` parts.
460
- (#3372) by @atomiks
461
-
462
- ### Toast
463
-
464
- - Recalculate content height when layout size is fixed (#3359) by @atomiks
465
- - Fix multiple swipe directions on same axis (#3392) by @mj12albert
466
-
467
- ### Tooltip
468
-
469
- - Improve contained triggers performance (#3385) by @michaldudak
470
-
471
- All contributors of this release in alphabetical order: @atomiks, @michaldudak, @mj12albert, @oliviertassinari, @pondorasti, @romgrk
472
-
473
- ## v1.0.0-beta.7
474
-
475
- _Nov 27, 2025_
476
-
477
- ### General changes
478
-
479
- - Fix error about `props.ref` access in React &lt;=18 (#3257) by @atomiks
480
- - Prefer non-adaptive anchoring position in `<Positioner>` components and fix `autoFocus` scroll jumps (#3250) by @atomiks
481
- - Make popups' `data-anchor-hidden` state attribute check for anchor presence in layout (#3267) by @atomiks
482
- - Prevent popups from sticking after hover when pressing `&lt;a&gt;` tags inside them (#3318) by @atomiks
483
- - Improve performance when detached triggers are used (#3277)
484
- - Fix iOS VoiceOver voice control accessibility in non-modal popups (#3340)
485
-
486
- ### Alert Dialog
487
-
488
- - Fix trigger registration loop (#3249) by @atomiks
489
- - Fix focus restoration when focused element is hidden with CSS (#3313)
490
-
491
- ### Checkbox Group
492
-
493
- - Fix `aria-describedby` on checkbox group (#3269) by @mj12albert
494
-
495
- ### Combobox
496
-
497
- - Revert overload types to ensure typed wrappers work correctly (#3254) by @atomiks
498
- - Fix ignored `filteredItems` instances (#3272) by @atomiks
499
- - Fix loop when passing `undefined` to `items` prop (#3348)
500
-
501
- ### Context Menu
502
-
503
- - Block mouseup at initial cursor point (#3274) by @atomiks
504
-
505
- ### Dialog
506
-
507
- - Fix trigger registration loop (#3249) by @atomiks
508
- - Fix focus restoration when focused element is hidden with CSS (#3313)
509
-
510
- ### Form
511
-
512
- - Fix cast `ref` type (#3324) by @mj12albert
513
-
514
- ### Menu
515
-
516
- - Fix trigger registration loop (#3249) by @atomiks
517
- - Do not pass `key` to the rendered element (#3255) by @michaldudak
518
- - Fix nested dialog from closing on <kbd>Shift+Tab</kbd> (#3346)
519
-
520
- ### Navigation Menu
521
-
522
- - Fix Safari 18 issue where `<Positioner>` width may be set to 0 on hover (#3309) by @EmilNordling
523
- - Ensure submenu triggers participate in composite list (#3344) by @atomiks
524
-
525
- ### Number Field
526
-
527
- - Fix literal space handling with symbols (#3334) by @atomiks
528
-
529
- ### Popover
530
-
531
- - Fix trigger registration loop (#3249) by @atomiks
532
- - Do not pass `key` to the rendered element (#3255) by @michaldudak
533
- - Fix focus restoration when focused element is hidden with CSS (#3313)
534
-
535
- ### Select
536
-
537
- - Revert overload types to ensure typed wrappers work correctly (#3254) by @atomiks
538
-
539
- ### Slider
540
-
541
- - Fix extra `onValueCommitted` calls (#3312) by @mj12albert
542
- - Fix cast `ref` type (#3324) by @mj12albert
543
-
544
- ### Tooltip
545
-
546
- - Fix trigger registration loop (#3249) by @atomiks
547
-
548
- All contributors of this release in alphabetical order: @atomiks, @brijeshb42, @Copilot, @EmilNordling, @michaldudak, @mj12albert, @oliviertassinari, @ZeeshanTamboli
549
-
550
- ## v1.0.0-beta.6
551
-
552
- _Nov 17, 2025_
553
-
554
- This is a hotfix release with the following changes:
555
-
556
- - Fix for rendering of Alert Dialog, Dialog, Menu, Popover, and Tooltip in React Server Components (#3241) by @michaldudak
557
- - Fix of the types of the refs in the Checkbox, Switch and Radio components (#3246) by @mnajdova
558
- - Fix of the value type error with mergeProps (#3247) by @atomiks
559
-
560
- ## v1.0.0-beta.5
561
-
562
- _Nov 17, 2025_
563
-
564
- ### General changes
565
-
566
- - **Breaking change:** Replace `trackAnchor` with `disableAnchorTracking`.<br />
567
- If you were using `trackAnchor={false}`, be sure to update your usage to `disableAnchorTracking` instead.
568
- (#3188) by @mnajdova
569
- - **Breaking change:** Rename `loop` to `loopFocus` (#3186) by @mnajdova
570
- - Fix type portability (#2912) by @atomiks
571
- - Accept a function for the `style` prop (#3038) by @mnajdova
572
- - Create portal elements inside React (#2889) by @atomiks
573
- - Avoid applying `hidden` attribute to indicator elements when they specify `keepMounted` and are invisible (#3228) by @atomiks
574
- - Fix crash in Next.js 16 when accessing `render.props.ref` (#3231) by @atomiks
575
-
576
- ### Accordion
577
-
578
- - **Breaking change:** Change `multiple` prop to be false by default and add a demo (#3141) by @mnajdova
579
- - Fix flaky exit transition (#3101) by @atomiks
580
-
581
- ### Alert Dialog
582
-
583
- - Fix `initialFocus` as function being called on close (#2949) by @atomiks
584
- - Support detached triggers (#2974) by @michaldudak
585
- - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
586
- - Add `<AlertDialog.Viewport>` part (#2808) by @atomiks
587
-
588
- ### Autocomplete
589
-
590
- - **Breaking change:** Refactor `alwaysSubmitOnEnter` to `submitOnItemClick` prop.<br />
591
- If you were using `alwaysSubmitOnEnter`, be sure to update your usage to `submitOnItemClick` instead.
592
- (#3018) by @atomiks
593
- - Prevent blocking filtering while composing text on Android (#2944) by @atomiks
594
- - Add empty state to `List.State` (#2934) by @atomiks
595
- - Fix `initialFocus` as function being called on close (#2949) by @atomiks
596
- - Add `role="combobox"` to `<Autocomplete.Trigger>` if `<Autocomplete.Input>` is inside Popup (#2973) by @atomiks
597
- - Fix stale `onItemHighlighted` data when filtering with `autoHighlight` (#2829) by @atomiks
598
- - Add empty and side styling attributes on `<Autocomplete.Input>` (#2926) by @atomiks
599
- - Fix `<Autocomplete.Value>` component return type for React 17 (#3050) by @atomiks
600
- - Support `autoHighlight: "always"`, and add `keepHighlight`, `highlightItemOnHover` props (#2976) by @atomiks
601
- - Keep focus on input when pressing list element (#3092) by @atomiks
602
- - Allow <kbd>Esc</kbd> to bubble if `<Autocomplete.Empty>` is not used (#2935) by @atomiks
603
- - Add `dialog` role to popup when input is inside (#3213) by @atomiks
604
-
605
- ### Button
606
-
607
- - New `<Button>` component (#2363) by @atomiks
608
-
609
- ### Checkbox
610
-
611
- - **Breaking change:** Render root as `<span>` instead of `<button>`
612
- (#3205) by @mj12albert
613
-
614
- ### Collapsible
615
-
616
- - Fix `starting-style` state (#2985) by @atomiks
617
-
618
- ### Combobox
619
-
620
- - Take into account `isItemEqualToValue` when selecting an option in multiple mode (#2893) by @epr3
621
- - Move `CompositeList` to `List` component to make `Input` work with composites (#2883) by @chuganzy
622
- - Fix `onValueChange` type inference when `value` is unspecified (#2897) by @atomiks
623
- - Fix `required` form submission with multiple values (#2925) by @atomiks
624
- - Fix <kbd>Home</kbd>/<kbd>End</kbd> Input scroll in Chrome/Safari (#2928) by @atomiks
625
- - Prevent blocking filtering while composing text on Android (#2944) by @atomiks
626
- - Add empty state to `List.State` (#2934) by @atomiks
627
- - Fix `initialFocus` as function being called on close (#2949) by @atomiks
628
- - Add `role="combobox"` to `<Combobox.Trigger>` if `<Combobox.Input>` is inside Popup (#2973) by @atomiks
629
- - Fix `Field` control ref when input is inside popup (#2971) by @atomiks
630
- - Fix stale `onItemHighlighted` data when filtering with `autoHighlight` (#2829) by @atomiks
631
- - Add empty and side styling attributes on `<Combobox.Input>` (#2926) by @atomiks
632
- - Fix `<Combobox.Value>` component return type for React 17 (#3050) by @atomiks
633
- - Fix input value derivation on `value` and `items` prop updates (#3067) by @atomiks
634
- - Support `autoHighlight: "always"`, and add `keepHighlight`, `highlightItemOnHover` props (#2976) by @atomiks
635
- - Keep focus on input when pressing list element (#3092) by @atomiks
636
- - Fix support of dialog + combobox pattern (#3049) by @atomiks
637
- - Support drag-to-select (#3167) by @atomiks
638
- - Allow <kbd>Esc</kbd> to bubble if `<Combobox.Empty>` is not used (#2935) by @atomiks
639
- - Fix stuck filtering with differing stringifiers (#3201) by @atomiks
640
- - Add `dialog` role to popup when input is inside (#3213) by @atomiks
641
-
642
- ### Context Menu
643
-
644
- - Add `open` state to `<ContextMenu.Trigger>` (#3195) by @atomiks
645
- - Fix ignored `anchor` prop on `<ContextMenu.Positioner>` (#3202) by @atomiks
646
-
647
- ### Dialog
648
-
649
- - **Breaking change:** Replace `dismissible` with `disablePointerDismissal`.<br />
650
- If you were using `dismissible={false}`, replace it with `disablePointerDismissal`.
651
- (#3190) by @mnajdova
652
- - Fix `initialFocus` as function being called on close (#2949) by @atomiks
653
- - Support detached triggers (#2974) by @michaldudak
654
- - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
655
- - Add `<Dialog.Viewport>` part and scrollable demos on docs (#2808) by @atomiks
656
-
657
- ### Field
658
-
659
- - **Breaking change:** Add `onSubmit` validation mode and make it the default over `onBlur`.<br />
660
- Fields that use non-`required` attribute validation no longer validate the control on blur. Instead, validation first occurs `onSubmit`, and afterwards revalidation occurs `onChange`.
661
- (#3013) by @mj12albert
662
- - Add `dirty` and `touched` props (#2950) by @mj12albert
663
- - New `<Field.Item>` part (#2810) by @mj12albert
664
- - Fix `validationMode="onChange"` not clearing custom error state (#3048) by @mj12albert
665
- - Fix external `onChange` validation mode errors (#3137) by @atomiks
666
-
667
- ### Form
668
-
669
- - **Breaking change:** The `onClearErrors` prop has been removed.<br />
670
- Errors from the `errors` prop are always cleared when the value changes.
671
- (#3136) by @mj12albert
672
- - Add `onSubmit` validation mode.<br />
673
- Additionally, `validationMode` can be set on `<Form>`.
674
- (#3013) by @mj12albert
675
- - Add `onFormSubmit` callback (#3131) by @mj12albert
676
-
677
- ### Menu
678
-
679
- - **Breaking change:** Support detached triggers.<br />
680
- `openOnHover`, `delay`, and `closeDelay` props have been moved from `<Menu.Root>` to `<Menu.Trigger>`.<br />
681
- Additionally, menus now must have at least one `<Menu.Trigger>` element.
682
- (#3170) by @michaldudak
683
- - Ignore disabled item on initial focusing (#2604) by @mnajdova
684
- - Fix stealing focus from dialogs on close (#2920) by @atomiks
685
- - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
686
-
687
- ### Navigation Menu
688
-
689
- - Fix nested popup dismiss actions (#2978) by @atomiks
690
- - Fix error on React 17 (#3204) by @atomiks
691
-
692
- ### Number Field
693
-
694
- - Granular change reasons (#3132) by @atomiks
695
-
696
- ### Popover
697
-
698
- - **Breaking change:** Support detached triggers and multiple triggers per popover.<br />
699
- `openOnHover`, `delay`, and `closeDelay` props have been moved from `<Popover.Root>` to `<Popover.Trigger>`.
700
- (#2336) by @michaldudak
701
- - Fix `initialFocus` as function being called on close (#2949) by @atomiks
702
- - Fix swiping or scrolling on nested popup dismissing popover on touch (#3011) by @atomiks
703
- - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
704
-
705
- ### Preview Card
706
-
707
- - **Breaking change:** Move delay props to trigger.<br />
708
- If you were using `delay` or `closeDelay` props, be sure to move them to from `<PreviewCard.Root>` to the `<PreviewCard.Trigger>` component.
709
- (#3182) by @atomiks
710
-
711
- ### Radio Group
712
-
713
- - **Breaking change:** Render root as `<span>` instead of `<button>`
714
- (#3205) by @mj12albert
715
-
716
- ### Scroll Area
717
-
718
- - **Breaking change:** Improve CSS vars performance.<br />
719
- 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`.
720
- (#3156) by @atomiks
721
-
722
- ### Select
723
-
724
- - **Breaking change:** Make the trigger native button by default.<br />
725
- The trigger now renders a `<button>` element, be sure to adjust your code if necessary.
726
- (#3177) by @mnajdova
727
- - Add `open` state type on `Select.Icon` interface (#2919) by @komkanit
728
- - Fix `onValueChange` type inference when `value` is unspecified (#2897) by @atomiks
729
- - Fix `required` form submission with multiple values (#2925) by @atomiks
730
- - Avoid re-rendering on popup height expansion (#2972) by @atomiks
731
- - Place `overflow: hidden` on `<body>` for overlay scrollbars by default. Avoids sticky elements shifting if `<body>` has an `overflow` style specified. (#3083) by @atomiks
732
- - Add `data-placeholder` attribute (#2737) by @seongminn
733
-
734
- ### Slider
735
-
736
- - **Breaking change:** Add `thumbCollisionBehavior` prop.<br />
737
- 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 is `push`).<br />
738
- The value `swap` was also added, which allows thumbs to be dragged past each other when they collide.<br />
739
- Lastly, the value `none` is the same as the previous behavior, where thumbs can't be dragged past one another.<br />
740
- Keyboard interactions always use `none` behavior.
741
- (#2856) by @atomiks
742
- - Granular change reasons (#3132) by @atomiks
743
-
744
- ### Switch
745
-
746
- - **Breaking change:** Render root as `<span>` instead of `<button>`
747
- (#3205) by @mj12albert
748
-
749
- ### Tabs
750
-
751
- - **Breaking change:** Fix selected/active state naming consistency.<br />
752
- - Renamed `[data-selected]` to `[data-active]` in `<Tabs.Tab>`
753
- - Removed `[data-highlighted]` (`:focus-visible` was already the recommendation in styles)
754
- - `selectedTabPosition`/`selectedTabSize` are now `activeTabPosition`/`activeTabSize` in `Tabs.Indicator.State`
755
- (#3024) by @atomiks
756
- - **Breaking change:** Change `activateOnFocus` to false.<br />
757
- If you need your Tabs to activate on focus, be sure to add `activateOnFocus` prop.
758
- (#3176) by @mnajdova
759
- - Fix Next.js 16 error from `Math.random` id generation (#3051) by @atomiks
760
- - Fix indicator sizing and offsets (#3214) by @atomiks
761
-
762
- ### Toast
763
-
764
- - Allow `React.ReactNode` for `title`/`description` properties (#2929) by @atomiks
765
- - Add ability to anchor to an element (#3096) by @atomiks
766
-
767
- ### Toolbar
768
-
769
- - **Breaking change:** The `cols` prop has been removed.<br />
770
- This prop was not supposed to be exposed.
771
- (#3133) by @mj12albert
772
-
773
- ### Tooltip
774
-
775
- - **Breaking change:** Support detached triggers.<br />
776
- `delay` and `closeDelay` props have been moved from `<Tooltip.Root>` to `<Tooltip.Trigger>`.
777
- (#3071) by @michaldudak
778
- - **Breaking change:** Change `hoverable` to `disableHoverablePopup`.<br />
779
- In case you need to disable the hoverable popup behavior, be sure to add the `disableHoverablePopup` prop.
780
- (#3178) by @mnajdova
781
- - Fix `data-instant` ending transition of same tooltip (#2962) by @atomiks
782
-
783
- 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
784
-
785
- ## v1.0.0-beta.4
786
-
787
- _Oct 1, 2025_
788
-
789
- ### General changes
790
-
791
- - **Breaking change:** Generic event details.
792
- The main exported type is now `BaseUIChangeEventDetails` (with a paired `BaseUIGenericEventDetails`), not `BaseUIEventDetails`.
793
- (#2796) by @atomiks
794
- - Update `disabled` prop of buttons when ref changes (#2756) by @chuganzy
795
- - Refine event details (#2698) by @atomiks
796
-
797
- ### Accordion
798
-
799
- - **Breaking change:** Use `useId` instead of composite index as fallback value.
800
- Accordion items must have an explicit `value` set in order to be initially open. Inferring the value by their DOM index is no longer supported.
801
- (#2664) by @mj12albert
802
- - **Breaking change:** Rename `openMultiple` prop to `multiple`
803
- (#2764) by @LukasTy
804
-
805
- ### Autocomplete
806
-
807
- - **Breaking change:** Rename `cols` to `grid` prop.
808
- Specify `grid={true}` instead of `cols={number}` - the columns are automatically inferred from `Autocomplete.Row`
809
- (#2683) by @atomiks
810
- - Fix duplicate `onOpenChange` calls and pass correct DOM `event`.
811
- (#2682) by @atomiks
812
- - Fix controlled input value updates (#2707) by @atomiks
813
- - Fix input focus on close when clicking trigger (#2723) by @atomiks
814
- - Add `alwaysSubmitOnEnter` prop and allow form submission on <kbd>Enter</kbd> if no item is highlighted by default (#2700) by @atomiks
815
- - Use `ReadonlyArray` type for `items` (#2819) by @atomiks
816
-
817
- ### Collapsible
818
-
819
- - Fix CollapsiblePanel type to use its own state (#2697) by @chuganzy
820
- - Respect user's CSS `display` property on panel (#2772) by @mj12albert
821
-
822
- ### Combobox
823
-
824
- - **Breaking change**: `onItemHighlighted` now has a `reason` property instead of `type` to be consistent with the `eventDetails` API. (#2796) by @atomiks
825
- - **Breaking change:** Rename `cols` to `grid` prop.
826
- Specify `grid={true}` instead of `cols={number}` - the columns are automatically inferred from `Combobox.Row`
827
- (#2683) by @atomiks
828
- - Fix duplicate `onOpenChange` calls and pass correct DOM `event`.
829
- (#2682) by @atomiks
830
- - Fix initial closed typeahead (#2665) by @atomiks
831
- - Support `autoHighlight` prop (#2668) by @atomiks
832
- - Set default input value based on `value` prop (#2680) by @atomiks
833
- - Fix controlled input value updates (#2707) by @atomiks
834
- - Fix input focus on close when clicking trigger. Fixes a jump to the bottom of the page in Safari (#2723) by @atomiks
835
- - Fix unexpected close with multiple selection and input inside popup (#2771) by @atomiks
836
- - Allow form submission on <kbd>Enter</kbd> if no item is highlighted by default (#2700) by @atomiks
837
- - Avoid refiltering with ending transition in multiple selection mode (#2681) by @atomiks
838
- - Support object values with `isItemEqualToValue` prop (#2704) by @atomiks
839
- - Use `ReadonlyArray` type for `items` (#2819) by @atomiks
840
- - Fix misleading `item-press` reason in `onInputValueChange` (#2830) by @atomiks
841
- - Clear single-select value on input clear (#2860) by @atomiks
842
- - Fix `focusout` of input not closing popup under certain conditions (#2864)
843
-
844
- ### Context Menu
845
-
846
- - Ensure submenus close when parents close (#2768) by @atomiks
847
- - Fix `onClick` firing twice on first click of item (#2849) by @atomiks
848
-
849
- ### Menu
850
-
851
- - Ensure submenus close when parents close (#2768) by @atomiks
852
- - Allow non-nested portals across differing popup trees (#2818) by @atomiks
853
-
854
- ### Menubar
855
-
856
- - Fix Menubar not disabling child Menus (#2736) by @aarongarciah
857
- - Ensure submenus close when parents close (#2768) by @atomiks
858
- - Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy
859
-
860
- ### Navigation Menu
861
-
862
- - Make link close on click configurable (#2740) by @atomiks
863
- - Fix focus returning to trigger without animations (#2779) by @atomiks
864
- - Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy
865
-
866
- ### Number Field
867
-
868
- - Fix stuck virtual cursor after mouse tap (#2720) by @atomiks
869
- - Improve parsing logic (#2725) by @atomiks
870
- - Align value changes with `Slider`. An `onValueCommitted` callback has been added. (#2726) by @atomiks
871
-
872
- ### Popover
873
-
874
- - Allow non-nested portals across differing popup trees (#2818) by @atomiks
875
-
876
- ### Scroll Area
877
-
878
- - Add overflow presence state attributes and CSS variables (#2478) by @atomiks
879
- - Fix RTL horizontal scrollbar on Safari (#2776) by @atomiks
880
- - Fix thumb size flicker (#2778) by @atomiks
881
-
882
- ### Select
883
-
884
- - **Breaking change:** Add `Select.List` component. It is now possible for `Select.ScrollArrow` to show when in fallback (`alignItemWithTrigger` deactivated). As a result, if you want the scroll arrows to be hidden in this mode like before, change the styles to default to `display: none` on `.ScrollArrow`, and `display: block` when `[data-side="none"]`. (#2596) by @atomiks
885
- - Block opening the popup when provided `readOnly` (#2717) by @seongminn
886
- - Add `open` state for `Select.Icon` and fix `ref` type (#2714) by @seongminn
887
- - Support object values with `isItemEqualToValue` prop (#2704) by @atomiks
888
- - Use `ReadonlyArray` type for `items` (#2819) by @atomiks
889
-
890
- ### Slider
891
-
892
- - **Breaking change:** `onValueChange` has `activeThumbIndex` as part of the `eventDetails` object as a second parameter, not third. (#2796) by @atomiks
893
- - **Breaking change:** Remove redundant hidden inputs.
894
- The `inputRef` prop is moved from `Root` to `Thumb`.
895
- (#2631) by @mj12albert
896
- - Fix pointer tracking bugs (#2688) by @mj12albert
897
- - Fix input attributes (#2728) by @mj12albert
898
- - Add `thumbAlignment` prop (#2540) by @mj12albert
899
-
900
- ### Switch
901
-
902
- - Fix duplicate `name` attribute (#2763) by @mj12albert
903
-
904
- ### Toast
905
-
906
- - **Breaking change:** Support variable height stacking.
907
- Toasts that have varying heights no longer force a `data-expanded` expanded 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](https://github.com/mui/base-ui/pull/2742/files#diff-e378460dafb74fe0c90ef960ad0ef1c38d68d74b63815520bb437f9041361917) for new styles, along with general improvements to stacking styles.
908
- (#2742) by @atomiks
909
- - Reduce stickiness of expanded state (#2770) by @atomiks
910
- - Ensure toast is frozen at its current visual transform while swiping (#2769) by @atomiks
911
-
912
- ### Toggle Group
913
-
914
- - **Breaking change:** Rename `toggleMultiple` prop to `multiple`.
915
- (#2764) by @LukasTy
916
-
917
- ### Toolbar
918
-
919
- - Fix `CompositeList` not updating item order on reordering (#2675) by @chuganzy
920
-
921
- ### useRender
922
-
923
- - Add div as a `defaultTagName` (#2692) by @mnajdova
924
-
925
- All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @chuganzy, @Copilot, @Janpot, @LukasTy, @martenbjork, @michaldudak, @mj12albert, @mnajdova, @oliviertassinari, @seongminn, @sukvvon, @vladmoroz
926
-
927
- ## v1.0.0-beta.3
928
-
929
- _Sep 3, 2025_
930
-
931
- ### General changes
932
-
933
- - **Breaking change:** Base UI event details.
934
- Custom event callbacks provide BaseUIEventDetails object as their second parameter.
935
- This object contains the source event, reason and methods to customize the behavior (where applicable).
936
- For example, `onOpenChange(open, event, reason)` becomes `onOpenChange(open, eventDetails)`, where `eventDetails` contains `event` and `reason` properties.
937
- ```diff
938
- -onOpenChange: (open, event, reason) => {
939
- +onOpenChange: (open, eventDetails) => {
940
- - if (reason === 'escape-key') {
941
- + if (eventDetails.reason === 'escape-key') {
942
- // ...
943
- }
944
- }
945
- ```
946
- (#2382) by @atomiks
947
-
948
- ### Alert Dialog
949
-
950
- - **Breaking change:** Support `initialFocus` and `finalFocus` functions.
951
- The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
952
- This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
953
- (#2536) by @atomiks
954
-
955
- ### Autocomplete
956
-
957
- - New Autocomplete component (#2105) by @atomiks
958
-
959
- ### Checkbox
960
-
961
- - Fix missing validity attributes when wrapped in `Field` (#2572) by @Copilot
962
-
963
- ### Combobox
964
-
965
- - New Combobox component (#2105) by @atomiks
966
-
967
- ### Context Menu
968
-
969
- - Fix default offsets when `align="center"` or `side` differs (#2601) by @atomiks
970
-
971
- ### Dialog
972
-
973
- - **Breaking change:** Support `initialFocus` and `finalFocus` functions.
974
- The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
975
- This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
976
- (#2536) by @atomiks
977
- - Restore focus to popup when focused element is removed (#2479) by @atomiks
978
-
979
- ### Field
980
-
981
- - Prevent defaultValue reset on focus for uncontrolled inputs (#2543) by @ingokpp
982
- - Allow `onValueChange` to fire when `defaultValue`/`value` are not set (#2600) by @atomiks
983
-
984
- ### Input
985
-
986
- - Allow `onValueChange` to fire when `defaultValue`/`value` are not set (#2600) by @atomiks
987
-
988
- ### Menu
989
-
990
- - **Breaking change:** Fix `closeParentOnEsc` default value.
991
- The default value of `closeParentOnEsc` in Menu.SubmenuRoot is now false.
992
- When the <kbd>Esc</kbd> key is pressed in a Submenu, the Submenu closes, and the focus correctly moves to the SubmenuTrigger.
993
- (#2493) by @seongminn
994
- - **Breaking change:** Support `initialFocus` and `finalFocus` functions.
995
- The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
996
- This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
997
- (#2536) by @atomiks
998
- - Fix menu not opening when inside context menu trigger (#2506) by @baptisteArno
999
- - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1000
- - Fix submenu events (#2483) by @atomiks
1001
- - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1002
-
1003
- ### Navigation Menu
1004
-
1005
- - **Breaking change:** Semantic element structure and `active` page prop.
1006
- `NavigationMenu.List` renders `<ul>` and `NavigationMenu.Item` renders `<li>` by default.
1007
- (#2526) by @atomiks
1008
- - Unshare `AbortController` instance (#2441) by @tomokinat
1009
- - Close on link click by default (#2535) by @atomiks
1010
-
1011
- ### Number Field
1012
-
1013
- - Fix duplicate `onValueChange` calls (#2591) by @atomiks
1014
-
1015
- ### Popover
1016
-
1017
- - **Breaking change:** Support `initialFocus` and `finalFocus` functions.
1018
- The `initialFocus` and `finalFocus` props can be functions that return DOM elements to focus.
1019
- This is a new feature for `finalFocus` and a breaking change for `initialFocus` as the element must be returned directly (not as a ref).
1020
- (#2536) by @atomiks
1021
- - Fix outside click after right clicking in popup (#2508) by @baptisteArno
1022
- - Fix unexpected close when nested inside two popovers (#2481) by @atomiks
1023
- - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1024
- - Restore focus to popup when focused element is removed (#2479) by @atomiks
1025
- - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1026
-
1027
- ### Preview Card
1028
-
1029
- - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1030
- - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1031
-
1032
- ### Radio Group
1033
-
1034
- - Return null in form data when no option selected (#2473) by @ingokpp
1035
-
1036
- ### Scroll Area
1037
-
1038
- - Prevent pointer events from sibling portals triggering hover (#2542) by @KenanYusuf
1039
-
1040
- ### Select
1041
-
1042
- - Fix stale `items` prop (#2397) by @atomiks
1043
- - Fix unexpected close when nested inside two popovers (#2481) by @atomiks
1044
- - Fix `onValueChange` type inference (#2372) by @atomiks
1045
- - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1046
- - Reset state when selected item is removed (#2577) by @atomiks
1047
- - Fix `data-highlighted` and DOM focus item desync (#2569) by @atomiks
1048
- - Fix item click with `defaultOpen` prop (#2570) by @atomiks
1049
- - Fix scroll arrows not propagating scroll fully to start/end of list (#2523) by @atomiks
1050
- - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1051
-
1052
- ### Slider
1053
-
1054
- - **Breaking change:** Instead of the thumb div, the `input type="range"` element receives focus. Focus styles that were targeting the thumb, should be updated.
1055
- For example `.Thumb:focus-visible` should be replaced with `.Thumb:has(:focus-visible)`.
1056
- The `tabIndex` prop is moved from Root to Thumb where it gets forwarded to the input.
1057
- The thumb's `render` prop no longer contains the third `inputProps` argument; the input element is instead merged with children.
1058
- (#2578) by @mj12albert
1059
- - Reduce bundle size (#2551) by @oliviertassinari
1060
- - Fix thumb `:focus-visible` with mixed keyboard and pointer modality (#2584) by @mj12albert
1061
- - Add `index` prop to `Slider.Thumb` (#2593) by @mj12albert
1062
-
1063
- ### Tabs
1064
-
1065
- - Fix tab size rounding (#2488) by @atomiks
1066
- - Fix highlight sync when focus is inside list (#2487) by @atomiks
1067
-
1068
- ### Tooltip
1069
-
1070
- - Fix `transform-origin` variable calculation when Positioner `sideOffset` is a function (#2511) by @atomiks
1071
- - Fix `limitShift` offset based on arrow size (#2571) by @atomiks
1072
-
1073
- ### useRender
1074
-
1075
- - Add support for data-\* attributes (#2524) by @Raghuboi
1076
- - Add `defaultTagName` parameter (#2527) by @atomiks
1077
-
1078
- 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
1079
-
1080
- ## v1.0.0-beta.2
1081
-
1082
- _Jul 30, 2025_
1083
-
1084
- ### General changes
1085
-
1086
- - Fix navigator checks and ensure safe platform retrieval (#2273) by @mo36924
1087
- - Prevent `Space` key default on keydown (#2295) by @atomiks
1088
- - Check for `performance` existence on server (#2316) by @atomiks
1089
-
1090
- ### Accordion
1091
-
1092
- - Destructure `render` prop (#2280) by @atomiks
1093
- - Fix keyboard interactions with elements in the panel (#2321) by @mj12albert
1094
- - Fix open transitions in Safari/Firefox (#2327) by @atomiks
1095
-
1096
- ### Alert Dialog
1097
-
1098
- - Support `ShadowRoot` containers (#2236) by @atomiks
1099
- - Add `forceRender` prop to `Backdrop` part (#2037) by @atomiks
1100
- - Improve outside press behavior with touch input (#2334) by @atomiks
1101
-
1102
- ### Checkbox
1103
-
1104
- - Fix focusing form controls with `inputRef` (#2252) by @mj12albert
1105
-
1106
- ### Collapsible
1107
-
1108
- - Destructure render prop (#2323) by @atomiks
1109
- - Fix open transitions in Safari/Firefox (#2327) by @atomiks
1110
-
1111
- ### Dialog
1112
-
1113
- - Support `ShadowRoot` containers (#2236) by @atomiks
1114
- - Add `forceRender` prop to `Backdrop` part (#2037) by @atomiks
1115
- - Improve outside press behavior with touch input (#2334) by @atomiks
1116
- - Use `click` event for outside press dismissal (#2275) by @atomiks
1117
-
1118
- ### Field
1119
-
1120
- - Deregister fields from `Form` when unmounting (#2231) by @mj12albert
1121
-
1122
- ### Form
1123
-
1124
- - Deregister fields from `Form` when unmounting (#2231) by @mj12albert
1125
-
1126
- ### Menu
1127
-
1128
- - Support `ShadowRoot` containers (#2236) by @atomiks
1129
- - Avoid double `useRenderElement` passes (#2256) by @atomiks
1130
- - Improve outside press behavior with touch input (#2334) by @atomiks
1131
- - Close submenus when focus is lost by shift-tabbing (#2290) by @michaldudak
1132
-
1133
- ### Menubar
1134
-
1135
- - Fix triggers role (#2317) by @atomiks
1136
-
1137
- ### Meter
1138
-
1139
- - Fix ARIA attributes and update docs (#2267) by @mj12albert
1140
-
1141
- ### Navigation Menu
1142
-
1143
- - **Breaking change:** Support inlined nesting.
1144
- Ensure the popup's `width` is set to `var(--popup-width)` unconditionally (without the media query) on the `.Popup` class.
1145
- (#2269) by @atomiks
1146
- - Avoid double `useRenderElement` passes (#2256) by @atomiks
1147
- - Add `useButton` integration to `Trigger` (#2296) by @atomiks
1148
- - Fix popup size transitions on iOS (#2387) by @atomiks
1149
-
1150
- ### Number Field
1151
-
1152
- - Remove `invalid` prop (#2315) by @atomiks
1153
- - Fix button disabled state only including root disabled state (#2268) by @mj12albert
1154
-
1155
- ### Popover
1156
-
1157
- - Support `ShadowRoot` containers (#2236) by @atomiks
1158
- - Remove ancestor nodes from inside elements for outside press detection (#2339) by @atomiks
1159
- - Improve outside press behavior with touch input (#2334) by @atomiks
1160
- - Use `click` event for outside press dismissal (#2275) by @atomiks
1161
-
1162
- ### Preview Card
1163
-
1164
- - Support `ShadowRoot` containers (#2236) by @atomiks
1165
-
1166
- ### Progress
1167
-
1168
- - Fix ARIA attributes and update docs (#2267) by @mj12albert
1169
-
1170
- ### Radio Group
1171
-
1172
- - Add aria-required attribute (#2227) by @cgatian
1173
- - Extend state with `FieldRoot.State` (#2251) by @mj12albert
1174
- - Fix focusing form controls with `inputRef` (#2252) by @mj12albert
1175
- - Avoid double `useRenderElement` passes (#2256) by @atomiks
1176
-
1177
- ### Scroll Area
1178
-
1179
- - Disable `user-select` on scrollbar and non-main button interactions (#2338) by @atomiks
1180
-
1181
- ### Select
1182
-
1183
- - Support `ShadowRoot` containers (#2236) by @atomiks
1184
- - Add `value` and `readOnly` to `Select.Trigger` state (#2237) by @atomiks
1185
- - Add `multiple` prop (#2173) by @atomiks
1186
- - Allow typeahead while open for `multiple` mode (#2274) by @atomiks
1187
- - Ensure positionerElement is available in document mouseup (#2276) by @atomiks
1188
- - Fix `alignItemWithTrigger` fallback scroll jump (#2241) by @atomiks
1189
- - Support conditional `multiple` prop in types (#2369) by @atomiks
1190
- - Fix multiple ARIA behavior on touch (#2333) by @atomiks
1191
- - Improve outside press behavior with touch input (#2334) by @atomiks
1192
-
1193
- ### Slider
1194
-
1195
- - Fix focusing form controls with `inputRef` (#2252) by @mj12albert
1196
-
1197
- ### Toast
1198
-
1199
- - Fix `promise` method timeout option handling (#2294) by @atomiks
1200
- - Make `Toast.Viewport` an announce container (#2246) by @atomiks
1201
-
1202
- ### Toggle
1203
-
1204
- - Avoid double `useRenderElement` passes (#2256) by @atomiks
1205
-
1206
- ### Toggle Group
1207
-
1208
- - Avoid double `useRenderElement` passes (#2256) by @atomiks
1209
-
1210
- ### Toolbar
1211
-
1212
- - Avoid double `useRenderElement` passes (#2256) by @atomiks
1213
-
1214
- ### Tooltip
1215
-
1216
- - Support `ShadowRoot` containers (#2236) by @atomiks
1217
- - Memoize leftover object in tooltip (#2250) by @sai6855
1218
- - Fix error when combining `defaultOpen` and `disabled` (#2374) by @atomiks
1219
-
1220
- All contributors of this release in alphabetical order: @aelfannir, @atomiks, @brijeshb42, @cgatian, @Janpot, @michaldudak, @mj12albert, @mo36924, @romgrk, @sai6855
1221
-
1222
- ## v1.0.0-beta.1
1223
-
1224
- _Jul 1, 2025_
1225
-
1226
- ### General changes
1227
-
1228
- - Make error messages consistent (#2049) by @michaldudak
1229
- - Do not overwrite event handler when `undefined` is passed explicitly (#2151) by @michaldudak
1230
-
1231
- ### Accordion
1232
-
1233
- - Allow content to resize naturally (#2043) by @atomiks
1234
- - Fix transition status mapping (#2169) by @atomiks
1235
- - Fix `aria-controls` reference (#2170) by @atomiks
1236
- - Fix test warning about mixed animation types (#2180) by @atomiks
1237
-
1238
- ### Checkbox
1239
-
1240
- - **Breaking change:** Support implicit `Field.Label`.
1241
- If `Field.Label` encloses Switch/Checkbox/Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
1242
- (#2036) by @mj12albert
1243
- - Refactor to `useRenderElement` (#2053) by @mj12albert
1244
- - Always set `id` on the `<input>` element (#2115) by @mj12albert
1245
-
1246
- ### Checkbox Group
1247
-
1248
- - Fix `onCheckedChange` not running when parent checkbox is present (#2155) by @mj12albert
1249
-
1250
- ### Collapsible
1251
-
1252
- - Allow content to resize naturally (#2043) by @atomiks
1253
- - Fix `aria-controls` reference (#2170) by @atomiks
1254
- - Fix test warning about mixed animation types (#2180) by @atomiks
1255
-
1256
- ### Context Menu
1257
-
1258
- - **Breaking change:** Add `SubmenuRoot` part.
1259
- Nested menus should be defined with `Menu.SubmenuRoot` instead of `Menu.Root` to to avoid ambiguity.
1260
- (#2042) by @atomiks
1261
- - Fix CheckboxItemIndicator export (#2009) by @aarongarciah
1262
-
1263
- ### Dialog
1264
-
1265
- - Fix popup prop merging (#2119) by @atomiks
1266
-
1267
- ### Field
1268
-
1269
- - **Breaking change:** Support implicit `Field.Label`.
1270
- If `Field.Label` encloses Switch/Checkbox/Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
1271
- (#2036) by @mj12albert
1272
- - Enable custom validation based on other form values (#1941) by @mj12albert
1273
- - Fix `onValueChange` `value` type (#2112) by @atomiks
1274
- - Fix `Field.Label` focusing trigger (#2118) by @atomiks
1275
- - Fix slider field label (#2154) by @mj12albert
1276
-
1277
- ### Fieldset
1278
-
1279
- - Refactor to `useRenderElement` (#2053) by @mj12albert
1280
-
1281
- ### Form
1282
-
1283
- - Enable custom validation based on other form values (#1941) by @mj12albert
1284
-
1285
- ### Input
1286
-
1287
- - Fix `onValueChange` `value` type (#2112) by @atomiks
1288
-
1289
- ### Menu
1290
-
1291
- - **Breaking change:** Add `SubmenuRoot` part.
1292
- Nested menus should be defined with `Menu.SubmenuRoot` instead of `Menu.Root` to to avoid ambiguity.
1293
- (#2042) by @atomiks
1294
- - Unset `role` from Trigger (#2047) by @atomiks
1295
- - Emit `close` event on `cancel-open` (#2067) by @atomiks
1296
- - Fix close toggle when rendering non-native button (#2071) by @atomiks
1297
- - Add `highlighted` to item `State` (#2079) by @atomiks
1298
- - Remove highlighted effect (#2162) by @atomiks
1299
- - Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
1300
- - Fix active index sync on hover (#2163) by @atomiks
1301
- - Fix focus returning to root when submenus have exit transitions (#2163) by @atomiks
1302
-
1303
- ### Menubar
1304
-
1305
- - Fix `closeOnClick: false` not working in nested menus (#2094) by @michaldudak
1306
-
1307
- ### Navigation Menu
1308
-
1309
- - Handle layout resize while open (#2070) by @atomiks
1310
- - Fix positioner height when opening menu using the keyboard arrows (#2060) by @juliomerisio
1311
-
1312
- ### Number Field
1313
-
1314
- - Ensure `onValueChange` is called with already-formatted parsed value (#1905) by @atomiks
1315
- - Fix revalidation on change (#2174) by @atomiks
1316
-
1317
- ### Popover
1318
-
1319
- - Fix close toggle when rendering non-native button (#2071) by @atomiks
1320
- - Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
1321
-
1322
- ### Radio Group
1323
-
1324
- - **Breaking change:** Support implicit `Field.Label`.
1325
- If `Field.Label` encloses Radio, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
1326
- (#2036) by @mj12albert
1327
- - Refactor to `useRenderElement` (#2053) by @mj12albert
1328
-
1329
- ### Scroll Area
1330
-
1331
- - Ignore `data-scrolling` during programmatic scroll (#1908) by @atomiks
1332
-
1333
- ### Select
1334
-
1335
- - **Breaking change:** Print raw value in `Select.Value`.
1336
- `<Select.Value>` now prints the raw value by default unless an `items` prop is specified on `Select.Root`.
1337
- See https://base-ui.com/react/components/select#formatting-the-value for more information.
1338
- (#2087) by @atomiks
1339
- - Performance: avoid re-renders (#1961) by @romgrk
1340
- - Fix close toggle when rendering non-native button (#2071) by @atomiks
1341
- - Fix `Field.Label` focusing trigger (#2118) by @atomiks
1342
- - Fix programmatic value changes and autofill handling (#2084) by @atomiks
1343
- - Add `highlighted` to item `State` (#2079) by @atomiks
1344
- - Cut out internal backdrop to allow interacting with triggers (#2141) by @michaldudak
1345
- - Pass `value` as state (#2153) by @atomiks
1346
- - Extend `FieldRoot.State` type (#2192) by @atomiks
1347
-
1348
- ### Slider
1349
-
1350
- - Use pointer capture when dragging (#2059) by @mj12albert
1351
- - Fix slider field label (#2154) by @mj12albert
1352
-
1353
- ### Switch
1354
-
1355
- - **Breaking change:** Support implicit `Field.Label`.
1356
- If `Field.Label` encloses Switch, the `htmlFor`/`id` attributes are no longer explicitly set to associate them.
1357
- (#2036) by @mj12albert
1358
-
1359
- ### Tabs
1360
-
1361
- - Fix indicator positioning when TabsList overflows (#2093) by @mj12albert
1362
- - Fix focus going out of sync when selected value is changed externally (#2107) by @atomiks
1363
- - Remove highlighted state (#2164) by @atomiks
1364
-
1365
- ### Toolbar
1366
-
1367
- - Set `disabled` attr on toolbar button when `focusableWhenDisabled={false}` (#2176) by @mj12albert
1368
-
1369
- ### useRender
1370
-
1371
- - Make useRender RSC-friendly (#2134) by @michaldudak
1372
-
1373
- All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @bernardobelchior, @brijeshb42, @Janpot, @juliomerisio, @lesha1201, @michaldudak, @mj12albert, @oliviertassinari, @romgrk
1374
-
1375
- ## v1.0.0-beta.0
1376
-
1377
- _May 29, 2025_
1378
-
1379
- ### General changes
1380
-
1381
- - Remove proptypes (#1760) by @michaldudak
1382
- - Unify component export patterns (#1478) by @michaldudak
1383
- - Default `tabIndex` to `0` on `<button>` parts (#1939) by @atomiks
1384
-
1385
- ### Accordion
1386
-
1387
- - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
1388
-
1389
- ### Alert Dialog
1390
-
1391
- - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
1392
- (#1782) by @atomiks
1393
- - Use basic scroll lock on iOS
1394
- (#1890) by @atomiks
1395
-
1396
- ### Checkbox
1397
-
1398
- - Set `aria-required`, use `useButton` (#1777) by @mj12albert
1399
-
1400
- ### Checkbox Group
1401
-
1402
- - **Breaking change:** Enable submitting checkbox group value as one field.
1403
- For parent checkboxes, use `value` instead of `name` on each `Checkbox.Root` part to link as the values.
1404
- (#1948) by @mj12albert
1405
- - Fix `validate` fn incorrectly running twice (#1959) by @mj12albert
1406
-
1407
- ### Context Menu
1408
-
1409
- - New `ContextMenu` component (#1665) by @atomiks
1410
-
1411
- ### Dialog
1412
-
1413
- - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
1414
- (#1782) by @atomiks
1415
- - Use basic scroll lock on iOS
1416
- (#1890) by @atomiks
1417
-
1418
- ### Field
1419
-
1420
- - **Breaking change:** Consolidate `Field.Error` `forceShow` into `match` prop.
1421
- Use `match={true}` (or implicit boolean) instead of `forceShow`.
1422
- (#1919) by @atomiks
1423
- - Improve `Label` logic that prevents text selection on double click (#1784) by @atomiks
1424
- - Fix validation inconsistency (#1779) by @atomiks
1425
- - Fix integration of Base UI components (#1755) by @atomiks
1426
- - Set `valueMissing` to false if only error and not dirtied (#1810) by @atomiks
1427
- - `validate` with latest value on blur (#1850) by @atomiks
1428
- - Revalidate only `required` on change (#1840) by @atomiks
1429
- - Run validate function after native validations (#1926) by @mj12albert
1430
- - Fix `validate` fn incorrectly running twice (#1959) by @mj12albert
1431
- - Integrate range sliders with Form and Field (#1929) by @mj12albert
1432
-
1433
- ### Form
1434
-
1435
- - Fix integration of Base UI components (#1755) by @atomiks
1436
- - Select inputs on focus (#1858) by @atomiks
1437
- - Exclude number formatting from form value (#1957) by @mj12albert
1438
- - Integrate range sliders with Form and Field (#1929) by @mj12albert
1439
-
1440
- ### Input
1441
-
1442
- - Fix `Input.Props` type (#1915) by @mj12albert
1443
- - Extend `Field.Control.State` (#1954) by @atomiks
1444
-
1445
- ### Menu
1446
-
1447
- - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
1448
- (#1782) by @atomiks
1449
- - Fix function dependency handling (#1787) by @atomiks
1450
- - Add missing `'use client'` to `RadioGroup` part (#1851) by @atomiks
1451
- - Ensure `null` items are removed from composite lists (#1847) by @atomiks
1452
- - Avoid `:focus-visible` style appearing (#1846) by @atomiks
1453
- - Better handle dynamic and non-string items (#1861) by @atomiks
1454
- - Add `collisionAvoidance` prop (#1849) by @atomiks
1455
- - Add `finalFocus` and `closeDelay` props (#1918) by @atomiks
1456
- - Use basic scroll lock on iOS
1457
- (#1890) by @atomiks
1458
-
1459
- ### Menubar
1460
-
1461
- - New `Menubar` component (#1684) by @michaldudak
1462
-
1463
- ### Navigation Menu
1464
-
1465
- - New `NavigationMenu` component (#1741) by @atomiks
1466
-
1467
- ### Number Field
1468
-
1469
- - `validate` with latest value on blur (#1850) by @atomiks
1470
- - Move scrubbing logic to `ScrubArea` component (#1859) by @atomiks
1471
- - Remove floating point errors when `snapOnStep` is disabled (#1857) by @atomiks
1472
- - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
1473
- - Exclude number formatting from form value (#1957) by @mj12albert
1474
-
1475
- ### Popover
1476
-
1477
- - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
1478
- (#1782) by @atomiks
1479
- - Fix function dependency handling (#1787) by @atomiks
1480
- - Avoid prop getters when merging props (#1852) by @atomiks
1481
- - Add `collisionAvoidance` prop (#1849) by @atomiks
1482
- - Fix nested `openOnHover` (#1938) by @atomiks
1483
- - Use basic scroll lock on iOS
1484
- (#1890) by @atomiks
1485
-
1486
- ### Preview Card
1487
-
1488
- - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
1489
- (#1782) by @atomiks
1490
- - Fix function dependency handling (#1787) by @atomiks
1491
- - Add `collisionAvoidance` prop (#1849) by @atomiks
1492
-
1493
- ### Radio Group
1494
-
1495
- - Fix composite focus of initially selected radio item (#1753) by @atomiks
1496
- - Add `inputRef` props (#1683) by @atomiks
1497
- - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
1498
-
1499
- ### Select
1500
-
1501
- - **Breaking change:** Move item anchoring prop to `Positioner`.
1502
- Use `<Select.Positioner alignItemWithTrigger={false}>` instead of `<Select.Root alignItemToTrigger={false}>` (note the `With` instead of `To`).
1503
- (#1713) by @atomiks
1504
- - **Breaking change:** Defer mounting until typeahead is needed.
1505
- The `placeholder` prop is now required. Previously, only SSR needed it to prevent a hydration flash, but client-side rendering now also requires it.
1506
- (#1906) by @atomiks
1507
- - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
1508
- (#1782) by @atomiks
1509
- - Fix function dependency handling (#1787) by @atomiks
1510
- - Add `inputRef` props (#1683) by @atomiks
1511
- - Refactor to `useRenderElement` (#1797) by @atomiks
1512
- - Ensure `null` items are removed from composite lists (#1847) by @atomiks
1513
- - Fix `id` prop forwarding to hidden input (#1862) by @atomiks
1514
- - Avoid `:focus-visible` style appearing (#1846) by @atomiks
1515
- - Fix `transitionStatus` mapping on `ItemIndicator` (#1925) by @atomiks
1516
- - Better handle dynamic and non-string items (#1861) by @atomiks
1517
- - Use `Select.ItemText` ref to grab default text content (#1943) by @atomiks
1518
- - Add `collisionAvoidance` prop (#1849) by @atomiks
1519
- - Use basic scroll lock on iOS
1520
- (#1890) by @atomiks
1521
-
1522
- ### Slider
1523
-
1524
- - **Breaking change:** Drop `inputId` prop from Thumb.
1525
- (#1914) by @mj12albert
1526
- - Position thumb based on value instead of pointer location when dragging (#1750) by @DarthSim
1527
- - Use `useRenderElement` (#1772) by @mj12albert
1528
- - Add `inputRef` props (#1683) by @atomiks
1529
- - Add `locale` prop (#1796) by @mj12albert
1530
- - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
1531
- - set `data-dragging` on touchstart and pointerdown (#1874) by @mj12albert
1532
- - Integrate range sliders with Form and Field (#1929) by @mj12albert
1533
-
1534
- ### Toast
1535
-
1536
- - **Breaking change:** Add `Portal` part.
1537
- Place `<Toast.Viewport>` inside of `<Toast.Portal>`.
1538
- (#1962) by @atomiks
1539
- - **Breaking change:** Avoid removing limited toasts from the DOM.
1540
- 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 }`.
1541
- (#1953) by @atomiks
1542
- - Fix swipe jump on iOS (#1785) by @atomiks
1543
-
1544
- ### Toggle
1545
-
1546
- - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
1547
-
1548
- ### Toolbar
1549
-
1550
- - Stop event propagation to allow composite components to be used within popups (#1871) by @atomiks
1551
-
1552
- ### Tooltip
1553
-
1554
- - **Breaking change:** Refine `OpenChangeReason`. `hover` is now `trigger-hover`; `click` is now `trigger-press`; `focus` is now `trigger-focus`.
1555
- (#1782) by @atomiks
1556
- - Fix function dependency handling (#1787) by @atomiks
1557
- - Avoid prop getters when merging props (#1852) by @atomiks
1558
- - Remove `trackCursorAxis` type from `Positioner` (#1895) by @atomiks
1559
- - Apply `pointer-events: none` to `Positioner` when not hoverable (#1917) by @atomiks
1560
- - Add `collisionAvoidance` prop (#1849) by @atomiks
1561
-
1562
- ### useRender
1563
-
1564
- - **Breaking change:** Performance/refactor: `useRender`. An object with a `renderElement` property is no longer returned; instead, the hook returns the element directly (`const element = useRender(...)`). The `refs` option was also renamed to `ref`.
1565
- (#1934) by @romgrk
1566
- - Skip most of useRenderElement logic when unnecessary (#1967) by @michaldudak
1567
-
1568
- All contributors of this release in alphabetical order: @aarongarciah, @atomiks, @brijeshb42, @DarthSim, @flaviendelangle, @Janpot, @JCQuintas, @michaldudak, @mj12albert, @oliviertassinari, @romgrk, @Yonava, @ZeeshanTamboli
1569
-
1570
- ## v1.0.0-alpha.8
1571
-
1572
- _Apr 17, 2025_
1573
-
1574
- ### Accordion
1575
-
1576
- - Recalculate panel dimensions on layout resize (#1704) @atomiks
1577
- - Rework animations and transitions (#1601) @mj12albert
1578
-
1579
- ### AlertDialog
1580
-
1581
- - **Breaking change:** Rename `data-has-nested-dialogs` to `data-nested-dialog-open` (#1686) @mj12albert
1582
- - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
1583
- - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
1584
- - Fix text selection & right-clicks (#1702) @mj12albert
1585
-
1586
- ### CheckboxGroup
1587
-
1588
- - Parent checkbox/nested demos (#1610) @atomiks
1589
-
1590
- ### Collapsible
1591
-
1592
- - Fix ForwardedRef type of CollapsiblePanel (#1595) @megos
1593
- - Recalculate panel dimensions on layout resize (#1704) @atomiks
1594
- - Rework animations and transitions (#1601) @mj12albert
1595
-
1596
- ### Dialog
1597
-
1598
- - **Breaking change:** Rename `data-has-nested-dialogs` to `data-nested-dialog-open` (#1686) @mj12albert
1599
- - **Breaking change:** Add new `trap-focus` value to `modal` prop.
1600
- Dialogs with `modal=false` no longer trap focus.
1601
- (#1571) @atomiks
1602
- - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
1603
- - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
1604
- - Fix text selection & right-clicks (#1702) @mj12albert
1605
- - Allow document to slide input into view on iOS when keyboard opens (#1735) @atomiks
1606
-
1607
- ### Field
1608
-
1609
- - Fix forwarding of `name` and `disabled` props (#1616) @atomiks
1610
-
1611
- ### Menu
1612
-
1613
- - Add missing item data attributes docs (#1691) @atomiks
1614
- - Fix `inert` prop compatibility in React <19 (#1618) @sebinsua
1615
- - Fix stuck highlight on submenu trigger when submenu opens with keyboard (#1698) @atomiks
1616
- - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
1617
- - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
1618
- - Fix text selection & right-clicks (#1702) @mj12albert
1619
-
1620
- ### Meter
1621
-
1622
- - New Meter component (#1435) @mj12albert
1623
-
1624
- ### NumberField
1625
-
1626
- - Correct percentage parse handling (#1676) @atomiks
1627
- - New `snapOnStep` prop (#1560) @atomiks
1628
-
1629
- ### Popover
1630
-
1631
- - **Breaking change:** Add new `trap-focus` value to `modal` prop (#1571) @atomiks
1632
- - Fix `inert` prop compatibility in React <19 (#1618) @sebinsua
1633
- - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
1634
- - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
1635
- - Fix text selection & right-clicks (#1702) @mj12albert
1636
-
1637
- ### Progress
1638
-
1639
- - **Breaking change:** Add `Progress.Label` and `locale` prop.
1640
- The `getAriaLabel` prop was removed as `Progress.Label` should be used to provide an accessible name.
1641
- (#1666) @mj12albert
1642
-
1643
- ### Radio
1644
-
1645
- - Fix value forwarding and null handling (#1697) @atomiks
1646
-
1647
- ### ScrollArea
1648
-
1649
- - **Breaking change:** Add `Content` part.
1650
- It is now required to include the `ScrollArea.Content` within `ScrollArea.Viewport` part when the content is horizontally scrollable.
1651
- (#1607) @atomiks
1652
- - Handle visibility change and nesting (#1598) @atomiks
1653
- - Correct thumb sizing with scrollbar margins (#1606) @atomiks
1654
-
1655
- ### Select
1656
-
1657
- - **Breaking change:** Improve item highlight performance.
1658
- The highlighted state is now removed. It's not possible to customize the `data-highlighted` attribute anymore.
1659
- (#1570) @atomiks
1660
- - Avoid double commit on value change (#1597) @atomiks
1661
- - Reset `selectedIndex` when set to `null` (#1596) @atomiks
1662
- - Add missing item data attributes docs (#1691) @atomiks
1663
- - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
1664
- - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
1665
- - Fix text selection & right-clicks (#1702) @mj12albert
1666
-
1667
- ### Slider
1668
-
1669
- - Correct thumb positioning when control has padding (#1661) @mj12albert
1670
- - Prevent range slider thumbs from being dragged past each other (#1612) @mj12albert
1671
- - Fix incorrect CSS position on vertical slider indicator (#1599) @ZeeshanTamboli
1672
- - Fix overlapping slider thumbs stuck at min or max (#1732) @mj12albert
1673
-
1674
- ### Toast
1675
-
1676
- - New Toast component (#1467) @atomiks
1677
-
1678
- ### Tooltip
1679
-
1680
- - Avoid re-rendering unrelated consumers (#1677) @atomiks
1681
- - Add `disabled` prop (#1682) @atomiks
1682
- - Fix `onOpenChange` types for `event`/`reason` passing (#1721) @atomiks
1683
- - Use consistent `inert` attr and map `[data-popup-open]` back to `open` (#1650) @atomiks
1684
- - Fix text selection & right-clicks (#1702) @mj12albert
1685
-
1686
- All contributors of this release in alphabetical order: @atomiks, @megos, @michaldudak, @mj12albert, @oliviertassinari, @sebinsua, @ZeeshanTamboli
1687
-
1688
- ## v1.0.0-alpha.7
1689
-
1690
- _Mar 20, 2025_
1691
-
1692
- ### Accordion
1693
-
1694
- - Fix `aria-labelledby` on accordion panel (#1544) @mj12albert
1695
-
1696
- ### AlertDialog
1697
-
1698
- - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
1699
- - Fix non-interactive button disabled state (#1473) @mj12albert
1700
- - `actionsRef` prop (#1236) @atomiks
1701
-
1702
- ### Avatar
1703
-
1704
- - Support cross origin in useImageLoadingStatus (#1433) @ISnackable
1705
- - Add missing Avatar export (#1428) @Gomah
1706
-
1707
- ### Collapsible
1708
-
1709
- - Update props destructuring to fix Trigger disabled state (#1469) @huijiewei
1710
-
1711
- ### Dialog
1712
-
1713
- - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
1714
- - Fix non-interactive button disabled state (#1473) @mj12albert
1715
- - `actionsRef` prop (#1236) @atomiks
1716
-
1717
- ### Field
1718
-
1719
- - Fix `FieldControl` [data-filled] not reacting to external value changes (#1565) @atomiks
1720
-
1721
- ### Menu
1722
-
1723
- - Ensure submenu triggers respond to clicks when `openOnHover=false` (#1583) @atomiks
1724
- - Ensure `stickIfOpen` is reset to `true` correctly (#1548) @atomiks
1725
- - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
1726
- - Reset `hoverEnabled` state on close (#1461) @atomiks
1727
- - Fix prop merging issues (#1445) @michaldudak
1728
- - Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
1729
- - `actionsRef` prop (#1236) @atomiks
1730
-
1731
- ### NumberField
1732
-
1733
- - Fix ScrubArea on Safari (#1584) @atomiks
1734
- - Fix `large/smallStep` getting stuck (#1578) @atomiks
1735
- - Fix parse of numbers with spaces as thousands separators (#1577) @michaldudak
1736
- - Prevent virtual cursor overlapping native one (#1491) @atomiks
1737
- - Fix disabled state on increment/decrement buttons (#1462) @mj12albert
1738
- - Correct virtual cursor rendering (#1484) @atomiks
1739
- - Add `locale` prop (#1488) @atomiks
1740
- - Improve virtual cursor perf (#1485) @atomiks
1741
-
1742
- ### Popover
1743
-
1744
- - Ensure `stickIfOpen` is reset to `true` correctly (#1548) @atomiks
1745
- - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
1746
- - Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
1747
- - Fix non-interactive button disabled state (#1473) @mj12albert
1748
- - `modal` prop (#1459) @atomiks
1749
- - `actionsRef` prop (#1236) @atomiks
1750
-
1751
- ### PreviewCard
1752
-
1753
- - Set `pointer-events: none` style on backdrops when hoverable (#1351) @atomiks
1754
- - `actionsRef` prop (#1236) @atomiks
1755
-
1756
- ### RadioGroup
1757
-
1758
- - Fix `Form`/`Field` validation integration (#1448) @atomiks
1759
- - Handle modifier keys (#1529) @mj12albert
1760
-
1761
- ### Select
1762
-
1763
- - Fix selection on outside press on Firefox with modal prop (#1573) @atomiks
1764
- - Improve `ScrollArrow` behavior (#1564) @atomiks
1765
- - Ensure switching controlled value to `null` updates `Select.Value` label (#1561) @atomiks
1766
- - Pass `value` as second argument to function children `Select.Value` (#1562) @atomiks
1767
- - Fix focus jump while hovering while navigating with keyboard (#1563) @atomiks
1768
- - Fix disabled state changing (#1526) @mj12albert
1769
- - `actionsRef` prop (#1236) @atomiks
1770
-
1771
- ### Slider
1772
-
1773
- - Fix thumb positioning when controlled value violates min/max/step (#1541) @mj12albert
1774
- - Warn when `min` is not less than `max` (#1475) @mj12albert
1775
- - Narrow the type of `value` in callbacks (#1241) @seloner
1776
-
1777
- ### Tabs
1778
-
1779
- - Fix keyboard navigation involving disabled Tabs (#1449) @mj12albert
1780
- - Handle modifier keys (#1529) @mj12albert
1781
-
1782
- ### Toolbar
1783
-
1784
- - Add Toolbar components (#1349) @mj12albert
1785
-
1786
- ### Tooltip
1787
-
1788
- - `actionsRef` prop (#1236) @atomiks
1789
- - Fix `Provider` `delay=0` not being respected (#1416) @atomiks
1790
-
1791
- ### useRender
1792
-
1793
- - Add public hook (#1418) @mnajdova
1794
- - Refine docs and APIs (#1551) @atomiks
1795
-
1796
- ### Docs
1797
-
1798
- - Fix CSS issues (#1585) @atomiks
1799
- - Clean up old experiments (#1572) @mj12albert
1800
- - Fix SEO site name description (#1520) @oliviertassinari
1801
- - Fix `actionsRef` propTypes (#1460) @atomiks
1802
- - Tooltip guidelines (#1356) @atomiks
1803
- - Update the release instructions (#1444) @michaldudak
1804
- - Mention Progress.Value in API reference (#1429) @aarongarciah
1805
- - Update release instructions (#1417) @michaldudak
1806
-
1807
- ### Core
1808
-
1809
- - [code-infra] Polish VS Code DX (#1238) @oliviertassinari
1810
- - [code-infra] Fix build:types not copying on some setups (#1482) @Janpot
1811
- - [Composite] Derive sorted map state (#1489) @atomiks
1812
- - Update release docs and scripts (#1245) @oliviertassinari
1813
- - Export namespaces consistently (#1472) @michaldudak
1814
- - Make `mergeReactProps` work with non-native event handlers (#1440) @michaldudak
1815
- - Remove babel-plugin-istanbul (#1409) @michaldudak
1816
- - Fix stylelint violations (#1422) @michaldudak
1817
- - Misc cleaning (#1579) @atomiks
1818
- - [mergeProps] Convert as a top level import and export publicly (#1535) @mnajdova
1819
- - [test] Fix wrong env skip (#1490) @atomiks
1820
- - [test] Fix PreviewCard test flake (#1487) @atomiks
1821
- - [test] Extract common popup tests (#1358) @michaldudak
1822
- - [test] Verify root exports (#1431) @michaldudak
1823
- - [test] Fix flaky browser tests (#1371) @atomiks
1824
- - [test] Update vitest to ^3 (#1453) @michaldudak
1825
- - [test] Skip flaky FieldRoot tests in real browsers (#1446) @michaldudak
1826
- - [useMergedRefs] Support ref cleanup functions (#1553) @atomiks
1827
- - [utils] Change order of args in `mergeReactProps` (#1533) @mnajdova
1828
-
1829
- ## v1.0.0-alpha.6
1830
-
1831
- _Feb 6, 2025_
1832
-
1833
- ### AlertDialog
1834
-
1835
- - `onOpenChangeComplete` prop (#1305) @atomiks
1836
- - Fix jump with `scroll-behavior` style (#1343) @atomiks
1837
-
1838
- ### Avatar
1839
-
1840
- - Add Avatar component (#1210) @acomanescu
1841
-
1842
- ### Checkbox
1843
-
1844
- - Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev
1845
-
1846
- ### Dialog
1847
-
1848
- - Remove `modal={open}` state (#1352) @atomiks
1849
- - Support multiple non-nested modal backdrops (#1327) @atomiks
1850
- - Fix missing `id`s on Title and Description (#1326) @mj12albert
1851
- - `onOpenChangeComplete` prop (#1305) @atomiks
1852
- - Fix jump with `scroll-behavior` style (#1343) @atomiks
1853
-
1854
- ### Field
1855
-
1856
- - Respect `validationMode` (#1053) @atomiks
1857
- - Add `filled` and `focused` style hooks (#1341) @atomiks
1858
-
1859
- ### Form
1860
-
1861
- - Fix focusing of invalid field controls on errors prop change (#1364) @atomiks
1862
-
1863
- ### Menu
1864
-
1865
- - Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev
1866
- - Support submenus with `openOnHover` prop (#1338) @atomiks
1867
- - Fix iPad detection when applying scroll lock (#1342) @mj12albert
1868
- - `onOpenChangeComplete` prop (#1305) @atomiks
1869
- - Fix jump with `scroll-behavior` style (#1343) @atomiks
1870
- - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
1871
- - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
1872
-
1873
- ### Popover
1874
-
1875
- - `onOpenChangeComplete` prop (#1305) @atomiks
1876
- - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
1877
- - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
1878
-
1879
- ### PreviewCard
1880
-
1881
- - `onOpenChangeComplete` prop (#1305) @atomiks
1882
- - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
1883
- - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
1884
-
1885
- ### Progress
1886
-
1887
- - Add `format` prop and `Value` component (#1355) @mj12albert
1888
-
1889
- ### Radio
1890
-
1891
- - Avoid applying `hidden` attr when `keepMounted=true` for indicators (#1329) @onehanddev
1892
-
1893
- ### Select
1894
-
1895
- - `onOpenChangeComplete` prop (#1305) @atomiks
1896
- - Fix jump with `scroll-behavior` style (#1343) @atomiks
1897
- - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
1898
- - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
1899
-
1900
- ### Slider
1901
-
1902
- - Fix thumb positioning (#1411) @mj12albert
1903
-
1904
- ### Tabs
1905
-
1906
- - Fix being able to activate a disabled tab (#1359) @michaldudak
1907
- - Fix tabs activating incorrectly on non-primary button clicks (#1318) @mj12albert
1908
-
1909
- ### Tooltip
1910
-
1911
- - `onOpenChangeComplete` prop (#1305) @atomiks
1912
- - Add `OffsetFunction` for `sideOffset` and `alignOffset` (#1223) @atomiks
1913
- - Ensure `keepMounted` is a private param on `Positioner` (#1410) @atomiks
1914
-
1915
- ## v1.0.0-alpha.5
1916
-
1917
- _Jan 10, 2025_
1918
-
1919
- ### AlertDialog
1920
-
1921
- - **Breaking change:** Require `Portal` part.
1922
- The AlertDialog must explicitly include the Portal part wrapping the Popup.
1923
- The `keepMounted` prop was removed from the Popup.
1924
- It's only present on the Portal part.
1925
- [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
1926
- - Don't call `onNestedDialogOpen` when unmounting a closed nested dialog [#1280](https://github.com/mui/base-ui/pull/1280) @mj12albert
1927
- - Fix the nesting of different dialogs [#1167](https://github.com/mui/base-ui/pull/1167) @mnajdova
1928
- - Remove `useFloating` call from the Popup [#1300](https://github.com/mui/base-ui/pull/1300) @michaldudak
1929
- - Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
1930
- - Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks
1931
-
1932
- ### Dialog
1933
-
1934
- - **Breaking change:** Require `Portal` part.
1935
- The Dialog must explicitly include the Portal part wrapping the Popup.
1936
- The `keepMounted` prop was removed from the Popup.
1937
- It's only present on the Portal part.
1938
- [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
1939
- - Don't call `onNestedDialogOpen` when unmounting a closed nested dialog [#1280](https://github.com/mui/base-ui/pull/1280) @mj12albert
1940
- - Fix the nesting of different dialogs [#1167](https://github.com/mui/base-ui/pull/1167) @mnajdova
1941
- - Remove `useFloating` call from the Popup [#1300](https://github.com/mui/base-ui/pull/1300) @michaldudak
1942
- - Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
1943
- - Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks
1944
-
1945
- ### Menu
1946
-
1947
- - **Breaking change:** Require `Portal` part.
1948
- The Menu must explicitly include the Portal part wrapping the Positioner.
1949
- The `keepMounted` prop was removed from the Positioner.
1950
- It's only present on the Portal part.
1951
- [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
1952
- - Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
1953
- - Fix `focusableWhenDisabled` components [#1313](https://github.com/mui/base-ui/pull/1313) @mj12albert
1954
- - Fix `openOnHover` issues [#1191](https://github.com/mui/base-ui/pull/1191) @atomiks
1955
- - Fix closing the menu when clicking on checkboxitem/radioitem [#1301](https://github.com/mui/base-ui/pull/1301) @michaldudak
1956
- - Fix Enter key preventDefault when rendering links [#1251](https://github.com/mui/base-ui/pull/1251) @mj12albert
1957
- - Handle pseudo-element bounds in mouseup detection [#1250](https://github.com/mui/base-ui/pull/1250) @atomiks
1958
- - Set `pointer-events` on `InternalBackdrop` based on `open` state [#1221](https://github.com/mui/base-ui/pull/1221) @atomiks
1959
- - Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks
1960
-
1961
- ### NumberField
1962
-
1963
- - Correctly handle quick touches [#1294](https://github.com/mui/base-ui/pull/1294) @atomiks
1964
-
1965
- ### Popover
1966
-
1967
- - **Breaking change:** Require `Portal` part.
1968
- The Popover must explicitly include the Portal part wrapping the Positioner.
1969
- The `keepMounted` prop was removed from the Positioner.
1970
- It's only present on the Portal part.
1971
- [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
1972
- - Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
1973
- - Fix PopoverTrigger and TooltipTrigger prop types [#1209](https://github.com/mui/base-ui/pull/1209) @mnajdova
1974
-
1975
- ### PreviewCard
1976
-
1977
- - **Breaking change:** Require `Portal` part.
1978
- The PreviewCard must explicitly include the Portal part wrapping the Positioner.
1979
- The `keepMounted` prop was removed from the Positioner.
1980
- It's only present on the Portal part.
1981
- [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
1982
- - Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
1983
- - Use `FloatingPortalLite` [#1278](https://github.com/mui/base-ui/pull/1278) @atomiks
1984
-
1985
- ### Progress
1986
-
1987
- - Set zero width when value is zero [#1204](https://github.com/mui/base-ui/pull/1204) @mj12albert
1988
-
1989
- ### ScrollArea
1990
-
1991
- - Differentiate `x`/`y` orientation `data-scrolling` [#1188](https://github.com/mui/base-ui/pull/1188) @atomiks
1992
- - Read `DirectionProvider` and use logical positioning CSS props [#1194](https://github.com/mui/base-ui/pull/1194) @mj12albert
1993
-
1994
- ### Select
1995
-
1996
- - **Breaking change:** Require `Portal` part.
1997
- The Select must explicitly include the Portal part wrapping the Positioner.
1998
- The `keepMounted` prop was removed from the Positioner.
1999
- It's only present on the Portal part.
2000
- [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2001
- - Allow `id` to be passed to trigger [#1174](https://github.com/mui/base-ui/pull/1174) @atomiks
2002
- - Fallback to standard positioning when pinch-zoomed in Safari [#1139](https://github.com/mui/base-ui/pull/1139) @atomiks
2003
- - Fix `focusableWhenDisabled` components [#1313](https://github.com/mui/base-ui/pull/1313) @mj12albert
2004
- - Fix highlight flash on Safari [#1233](https://github.com/mui/base-ui/pull/1233) @atomiks
2005
- - Handle pseudo-element bounds in mouseup detection [#1250](https://github.com/mui/base-ui/pull/1250) @atomiks
2006
- - Use internal backdrop for pointer modality [#1161](https://github.com/mui/base-ui/pull/1161) @atomiks
2007
-
2008
- ### Separator
2009
-
2010
- - Support vertical orientation [#1304](https://github.com/mui/base-ui/pull/1304) @mj12albert
2011
-
2012
- ### Slider
2013
-
2014
- - Ensure `onValueCommitted` is called with the same value as latest `onValueChange` [#1296](https://github.com/mui/base-ui/pull/1296) @mj12albert
2015
- - Replace internal map with `Composite` metadata [#1082](https://github.com/mui/base-ui/pull/1082) @mj12albert
2016
- - Set `position: relative` on range slider indicator [#1175](https://github.com/mui/base-ui/pull/1175) @mj12albert
2017
- - Use un-rounded values to position thumbs [#1219](https://github.com/mui/base-ui/pull/1219) @mj12albert
2018
-
2019
- ### Tabs
2020
-
2021
- - Expose width/height state in tabs indicator [#1288](https://github.com/mui/base-ui/pull/1288) @aarongarciah
2022
-
2023
- ### Tooltip
2024
-
2025
- - **Breaking change:** Require `Portal` part.
2026
- The Tooltip must explicitly include the Portal part wrapping the Positioner.
2027
- The `keepMounted` prop was removed from the Positioner.
2028
- It's only present on the Portal part.
2029
- [#1222](https://github.com/mui/base-ui/pull/1222) @atomiks
2030
- - Apply `aria-hidden` to `Arrow` parts [#1196](https://github.com/mui/base-ui/pull/1196) @atomiks
2031
- - Fix PopoverTrigger and TooltipTrigger prop types [#1209](https://github.com/mui/base-ui/pull/1209) @mnajdova
2032
- - Use `FloatingPortalLite` [#1278](https://github.com/mui/base-ui/pull/1278) @atomiks
2033
-
2034
- ## v1.0.0-alpha.4
2035
-
2036
- _Dec 17, 2024_
2037
-
2038
- Public alpha launch 🐣 Merry Xmas! 🎁
5
+ See [packages/css/CHANGELOG.md](packages/css/CHANGELOG.md) for CSS design system changes.