v4.7.0 is a feature-heavy release with two new components, locale-aware links, and a batch of fixes across navigation, chat, forms, and content. It also includes a few user-visible module and docs improvements that make the package easier to use in real apps.
What's new
- Adds a new
Listboxcomponent for selectable lists with built-in search, virtualization, and rich item rendering. It is meant for cases where you want an always-visible list instead of the overlay behavior ofSelectMenu(#6307). - Adds a new
ProsePromptcomponent for showing pre-built AI prompts in docs, with one-click copy and direct IDE actions. Theactionsprop can expose copy, Cursor, and Windsurf actions from the prompt block (#6362). Linknow auto-localizes internal routes when@nuxtjs/i18nis installed. The same behavior flows through every component that accepts atoprop, so navigation menus, breadcrumbs, dropdowns, and command palettes can stay locale-aware without extra wiring (#5537).AuthFormnow exposes aseparatorslot, so you can replace the default separator between providers and form fields with custom content (#6305).CommandPaletteadds agroup-labelslot for custom group headers, andsearchDelayfor delaying search updates (#6329).EditorSuggestionMenunow exposes TipTap suggestion matching options. That lets you customize trigger matching behavior through asuggestionprop, including cases like allowing a:trigger after/or letters (#6234).Tablenow supports sticky headers and footers in virtualized mode by switching to a spacer-row approach (#6217).Textareanow exposes anautoResizemethod, so you can resize it directly without simulating input events (#6120).
Fixes
ChatMessagesno longer leaves the scroll-to-bottom indicator stuck on after messages are cleared, and streaming auto-scroll is more stable (#6239, #6297, #6357).ChatPromptno longer submits while IME composition is still active (#6280).Header,DashboardSidebar, andSidebarnow allow proper autofocus when their mobile menus open, which restores focus trapping behavior (#6266).Modal,Slideover,Drawer, andPopoverno longer emitclose:preventtwice on overlay clicks whendismissibleisfalse(#6226).ModalandSlideovernow drop the empty header wrapper when no title or description is provided (#6381).FieldGroupcontext no longer leaks into portal content such as modals, drawers, selects, popovers, tooltips, and menus (#6313).Linknow renders with a single root whencustomis used, sov-showand$elresolution work correctly (#6310).Selectnow supports theitem-alignedposition mode again (#6358).InputDateandInputTimenow give time segments more width, which fixes cramped layouts (#6339).InputTagsnow picks up field-group styling correctly insideFieldGroup(#6326).ProseImgnow respects markdown width attributes instead of forcing full width (#6350).ProsePrecan now read code from the DOM when thecodeprop is missing (#6333).ContentTocnow uses the actual links passed in for scrollspy behavior instead of hardcoded heading tags (#6282).PricingTablenow aligns header elements correctly and handles RTL mode (#6111, #6382).AccordionandTabsnow use stable item keys, which avoids remounts when items are reordered (#6380).Avatarfallback text no longer usesleading-none, improving its baseline alignment (#6383).FileUploadnow uses the form fieldcolorandhighlightvalues instead of raw props (#625?).
Other notable changes
- The module now transpiles
reka-uito prevent injection errors (#6286). - Default variant resolution was moved into template logic so components can use the right values in render-time conditions as well as classes (#6361).
- Inline style tag priority now uses a relative setting, which avoids pushing meta tags past crawlers’ limits (#6299).
@inertiajs/vue3support was expanded to cover both^2.0.7and^3.0.0(#6243).TypeScriptwas updated to v6 in development dependencies (#6267).
Contributors
@benjamincanac @J-Michalek @faizkhairi @Archetipo95 @nimonian @mrkaashee @tratteo @Ken-vdE @claylevering @ChronicStone @howwohmm @farnabaz @mateusznarowski @malik-jouda @harlan-zw @mikenewbon