🚨 Breaking Changes
- Ship ESM-only, drop the CJS build - by @zernonia and Claude Opus 5.5 in #2909 (54efd)
- Base UI scroll lock and modality, no body pointer-events - by @zernonia and Claude Opus 5.5 in #2822 and #3070 (6fd91)
- Calendar:
- Color:
- Combobox:
- shared:
- v3:
- Normalize data-state to the open/closed and checked/unchecked axes - by @zernonia in #2914 (4a501)
- Data-state codemod, and change details on Dialog and Popover open - by @zernonia in #2915 (23790)
- UseDialog and usePopover composables, Tooltip/HoverCard change details, docs generator fix - by @zernonia in #2916 (445ea)
- UseTooltip and useHoverCard composables, Stepper data-state rename, codemod publishing - by @zernonia in #2917 (b4889)
🚀 Features
- Add per-component subpath exports - by @zernonia, @TheAlexLichter and Claude Opus 5.5 in #2996 (63e2d)
- Field:
- Listbox:
- Menu:
- Primitive:
- Switch:
- Tabs:
- elements:
- Listbox, Combobox, Autocomplete, Select, Tree, TagsInput, TagGroup, Editable - by @zernonia and Claude Opus 5.5 in #3080 and #3094 (75568)
- AlertDialog, Drawer, HoverCard, Tooltip, menus, NavigationMenu, Toast and arrows - by @zernonia and Claude Opus 5.5 in #3080 and #3095 (1bd8f)
- AspectRatio, Avatar, ConfigProvider, Field/Form, Pagination, Progress, RadioGroup, ScrollArea, Separator, Splitter, Stepper, ToggleGroup, Toolbar, VisuallyHidden - by @zernonia and Claude Opus 5.5 in #3080 and #3093 (9dac4)
- Calendar, RangeCalendar, date/time fields and pickers, Color families, NumberField, PinInput, Slider, Rating - by @zernonia and Claude Opus 5.5 in #3080 and #3096 (8751e)
- Generate a Custom Elements Manifest at build time - by @zernonia and Claude Opus 5.5 in #3150 (37791)
- shadow-dom:
- v3:
- Composable foundation — useControllableState, change details, PartSurface.attrs - by @zernonia in #2910 (b35ad)
- Headless composables for Toggle, ToggleGroup, Checkbox and RadioGroup - by @zernonia in #2919 (dc6cd)
- Add Colors headless composables - by @rastuhacode and Claude Opus 5.5 in #2932 (d36e7)
- UseListboxRoot composable, shared
bycomparator and list-selection model - by @zernonia and Claude Opus 5.5 in #2924 (c38ba) - Headless Accordion/Collapsible composables - by @rastuhacode and Claude Opus 5.5 in #2901 (57303)
- AlertDialog, Drawer, DropdownMenu, ContextMenu and Menubar composables - by @zernonia and Claude Opus 5.5 in #2723 and #3069 (ca32f)
- NumberField, PinInput, TagsInput, TagGroup, Editable, Slider and Rating composables - by @zernonia and Claude Opus 5.5 in #2723 and #3071 (8c817)
- Select composables and multiple selection (#2723, #2824) - by @zernonia and Claude Opus 5.5 in #3072, #2723 and #2824 (758d9)
- Tree, Toolbar, Pagination and Stepper composables - by @zernonia and Claude Opus 5.5 in #2723 and #3074 (e5725)
- Date and time field composables - by @zernonia and Claude Opus 5.5 in #2723 and #3073 (b968d)
- Splitter, ScrollArea, Avatar, Progress, Label, Separator and AspectRatio composables - by @zernonia and Claude Opus 5.5 in #2723 and #3075 (dfdff)
- NavigationMenu and Toast composables (#2723, #2825) - by @zernonia and Claude Opus 5.5 in #3078, #2723 and #2825 (afd12)
- Per-component subpath imports for the resolver and Nuxt module - by @zernonia and Claude Opus 5.5 in #2726 and #3079 (0348d)
- Detached triggers with createHandle() for Popover, Dialog and Menu - by @zernonia and Claude Opus 5.5 in #2826 and #3082 (aa2fc)
- CSS transition-aware exits - by @zernonia and Claude Opus 5.5 in #2827 and #3084 (17056)
- Full Shadow DOM support - by @zernonia and Claude Opus 5.5 in #2725 and #3083 (bf695)
- Promote remaining Alpha components to Stable - by @zernonia and Claude Opus 5.5 in #2789 and #3085 (0e0ad)
- Temporal API for the date components - by @zernonia, epr3 and Claude Opus 5.5 in #2183 and #3088 (7e501)
- Promote the Date family to Stable - by @zernonia and Claude Opus 5.5 in #2789 and #3091 (5568c)
- Consumer
idprops for disclosure, overlay and tabs parts - by @zernonia and Claude Opus 5.5 in #3092 (8ec4c) - Custom elements foundation - by @zernonia and Claude Opus 5.5 in #3080 and #3087 (2d0f3)
🐞 Bug Fixes
- Calendar:
- DismissableLayer:
- Field:
- Listbox:
- Menu:
- RovingFocus:
- Select:
- VisuallyHidden:
- bench:
- docs:
- Keep code spans and escape tags in generated API tables - by @zernonia and Claude Opus 5.5 in #3089 (56660)
- Declare autogen table regexes before top-level use - by @zernonia and Claude Opus 5.5 in #3090 (bd441)
- Keep
{{ }}literal on code lines with a hover-card component - by @zernonia and Claude Opus 5.5 in #3144 (d1a27)
- shadow-dom:
- shared:
- Release the scroll lock's hold on unmounted components - by @zernonia and Claude Opus 5.5 in #3099 (47400)
- Stop change details from retaining a detached DOM tree - by @zernonia and Claude Opus 5.5 in #3101 (41467)
- Headless composables follow ConfigProvider's dir; add dir to SplitterGroup - by @zernonia and Claude Opus 5.5 in #3149 (14c00)
- v3:
🏎 Performance
- Calendar:
- Calendar, DateField, Slider, NumberField:
- Checkbox, Tabs, Collapsible, Field:
- DismissableLayer:
- Listbox, Collection, RovingFocus:
- Listbox, Combobox:
- Popper, Menu, Dialog, Toast, NavigationMenu:
- Primitive:
- RovingFocus, Listbox, Tree, Toolbar, TagGroup, Menubar:
- Select:
- Teleport:
- shared: